Datepicker

Angular Bootstrap 5 Datepicker

Date picker is a plugin that adds the function of selecting time without the necessity of using custom JavaScript code.

Note: Read the API tab to find all available options and advanced customization


Basic example

The datepicker allows users to enter a date either through text input, or by choosing a date from the calendar. Date pickers can be embedded into dialogs on mobile and text field dropdowns on desktop.

        
            
            <mdb-form-control>
              <input
                mdbInput
                [mdbDatepicker]="datepicker"
                type="text"
                class="form-control"
                id="exampleDatepicker"
              />
              <label mdbLabel for="exampleDatepicker" class="form-label">Select a date</label>
              <mdb-datepicker-toggle [mdbDatepicker]="datepicker"></mdb-datepicker-toggle>
              <mdb-datepicker #datepicker></mdb-datepicker>
            </mdb-form-control>
          
        
    

Inline version

Use the [inline]="true" attribute to initialize and set the default date for an inline datepicker inside a block element.

        
            
            <mdb-form-control>
              <input
                mdbInput
                [mdbDatepicker]="datepicker"
                type="text"
                class="form-control"
                id="exampleDatepicker"
              />
              <label mdbLabel for="exampleDatepicker" class="form-label">Select a date</label>
              <mdb-datepicker-toggle [mdbDatepicker]="datepicker"></mdb-datepicker-toggle>
              <mdb-datepicker [inline]="true" #datepicker></mdb-datepicker>
            </mdb-form-control>
          
        
    

Translations

The picker can be customized to add support for internationalization. Modify the component options to add translations.

        
            
            <mdb-form-control>
              <input
                mdbInput
                [mdbDatepicker]="datepicker"
                type="text"
                class="form-control"
                id="exampleDatepicker"
              />
              <label mdbLabel for="exampleDatepicker" class="form-label">Select a date</label>
              <mdb-datepicker-toggle [mdbDatepicker]="datepicker"></mdb-datepicker-toggle>
              <mdb-datepicker [options]="translationOptions" #datepicker></mdb-datepicker>
            </mdb-form-control>
          
        
    
        
            
            import { Component } from '@angular/core';
            import { MdbDatepickerOptions } from 'mdb-angular-ui-kit/datepicker';

            @Component({
              selector: 'app-root',
              templateUrl: './app.component.html',
            })
            export class AppComponent {
              translationOptions: MdbDatepickerOptions = {
                title: 'Datum auswählen',
                monthsFull: [
                  'Januar',
                  'Februar',
                  'März',
                  'April',
                  'Mai',
                  'Juni',
                  'Juli',
                  'August',
                  'September',
                  'Oktober',
                  'November',
                  'Dezember',
                ],
                monthsShort: [
                  'Jan',
                  'Feb',
                  'Mär',
                  'Apr',
                  'Mai',
                  'Jun',
                  'Jul',
                  'Aug',
                  'Sep',
                  'Okt',
                  'Nov',
                  'Dez',
                ],
                weekdaysFull: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
                weekdaysShort: ['Son', 'Mon', 'Die', 'Mit', 'Don', 'Fre', 'Sam'],
                weekdaysNarrow: ['S', 'M', 'D', 'M', 'D', 'F', 'S'],
                okBtnText: 'Ok',
                clearBtnText: 'Klar',
                cancelBtnText: 'Schließen',
              };
            }
          
        
    

Formats

Use format input to display date in a human-friendly format.

        
            
            <mdb-form-control>
              <input
                mdbInput
                [mdbDatepicker]="datepicker"
                type="text"
                class="form-control"
                id="exampleDatepicker"
              />
              <label mdbLabel for="exampleDatepicker" class="form-label">Select a date</label>
              <mdb-datepicker-toggle [mdbDatepicker]="datepicker"></mdb-datepicker-toggle>
              <mdb-datepicker #datepicker [format]="'dd, mmm, yyyy'"></mdb-datepicker>
            </mdb-form-control>
          
        
    

Formatting rules

The following rules can be used to format any date:

Rule Description Result
d Date of the month 1 – 31
dd Date of the month with a leading zero 01 – 31
ddd Day of the week in short form Sun – Sat
dddd Day of the week in full form Sunday – Saturday
m Month of the year 1 – 12
mm Month of the year with a leading zero 01 – 12
mmm Month name in short form Jan – Dec
mmmm Month name in full form January – December
yy Year in short form * 00 – 99
yyyy Year in full form 2000 – 2999

Date limits

Set the minimum and maximum selectable dates with the minDate and maxDate inputs.

        
            
            <mdb-form-control>
              <input
                mdbInput
                [mdbDatepicker]="datepicker"
                type="text"
                class="form-control"
                id="exampleDatepicker"
              />
              <label mdbLabel for="exampleDatepicker" class="form-label">Select a date</label>
              <mdb-datepicker-toggle [mdbDatepicker]="datepicker"></mdb-datepicker-toggle>
              <mdb-datepicker [minDate]="minDate" [maxDate]="maxDate" #datepicker></mdb-datepicker>
            </mdb-form-control>
          
        
    
        
            
            import { Component } from '@angular/core';

            @Component({
              selector: 'app-root',
              templateUrl: './app.component.html',
            })
            export class AppComponent {
              minDate = new Date(2020, 5, 10);
              maxDate = new Date(2022, 5, 20);
            }
          
        
    

Disable past

Use the minDate input to disallow past date selection.

        
            
            <mdb-form-control>
              <input
                mdbInput
                [mdbDatepicker]="datepicker"
                type="text"
                class="form-control"
                id="exampleDatepicker"
              />
              <label mdbLabel for="exampleDatepicker" class="form-label">Select a date</label>
              <mdb-datepicker-toggle [mdbDatepicker]="datepicker"></mdb-datepicker-toggle>
              <mdb-datepicker #datepicker [minDate]="pastDates"></mdb-datepicker>
            </mdb-form-control>
            
        
    
        
            
            import { Component, OnInit } from '@angular/core';

            @Component({
              selector: 'app-root',
              templateUrl: './app.component.html',
            })
            export class AppComponent implements OnInit {
              pastDates = new Date(new Date().setHours(0, 0, 0, 0));

              ngOnInit(): void {
                this.pastDates.setDate(this.pastDates.getDate() - 1);
              }
            }
            
        
    

Disable future

Use the maxDate input to disallow future date selection.

        
            
            <mdb-form-control>
              <input
                mdbInput
                [mdbDatepicker]="datepicker"
                type="text"
                class="form-control"
                id="exampleDatepicker"
              />
              <label mdbLabel for="exampleDatepicker" class="form-label">Select a date</label>
              <mdb-datepicker-toggle [mdbDatepicker]="datepicker"></mdb-datepicker-toggle>
              <mdb-datepicker #datepicker [maxDate]="futureDates"></mdb-datepicker>
            </mdb-form-control>
            
        
    
        
            
            import { Component, OnInit } from '@angular/core';

            @Component({
              selector: 'app-root',
              templateUrl: './app.component.html',
            })
            export class AppComponent implements OnInit {
              futureDates = new Date(new Date().setHours(0, 0, 0, 0));

              ngOnInit(): void {
                this.futureDates.setDate(this.futureDates.getDate() + 1);
              }
            }
            
        
    

Disabled dates

The filter input accept function in which you can specify conditions for date filtering. A result of true indicates that the date should be valid and a result of false indicates that it should be disabled. In the following example all saturdays and sundays will be disabled.

        
            
            <mdb-form-control>
              <input
                mdbInput
                [mdbDatepicker]="datepicker"
                type="text"
                class="form-control"
                id="exampleDatepicker"
              />
              <label mdbLabel for="exampleDatepicker" class="form-label">Select a date</label>
              <mdb-datepicker-toggle [mdbDatepicker]="datepicker"></mdb-datepicker-toggle>
              <mdb-datepicker [filter]="filterFunction" #datepicker></mdb-datepicker>
            </mdb-form-control>
          
        
    
        
            
            import { Component } from '@angular/core';

            @Component({
              selector: 'app-root',
              templateUrl: './app.component.html',
            })
            export class AppComponent {
              filterFunction(date: Date): boolean {
                const isSaturday = date.getDay() === 6;
                const isSunday = date.getDay() === 0;

                if (isSaturday || isSunday) {
                  return false;
                }

                return true;
              }
            }
          
        
    

Input toggle

Add (click)="datepicker.open()" method to the input element to enable toggling on input click. It is also possible to remove the toggle button.

        
            
            <mdb-form-control>
              <input
                mdbInput
                [mdbDatepicker]="datepicker"
                type="text"
                class="form-control"
                id="exampleDatepicker"
                (click)="datepicker.open()"
              />
              <label mdbLabel for="exampleDatepicker" class="form-label">Select a date</label>
              <mdb-datepicker #datepicker="mdbDatepicker"></mdb-datepicker>
            </mdb-form-control>
          
        
    

Custom toggle icon

Icon input

You can set your custom toggle icon with [icon] input.

        
            
          <mdb-form-control>
            <input
              mdbInput
              [mdbDatepicker]="datepicker"
              type="text"
              class="form-control"
              id="exampleDatepicker"
            />
            <label mdbLabel for="exampleDatepicker" class="form-label">Select a date</label>
            <mdb-datepicker-toggle [icon]="'fas fa-calendar'" [mdbDatepicker]="datepicker"></mdb-datepicker-toggle>
            <mdb-datepicker #datepicker></mdb-datepicker>
          </mdb-form-control>
          
        
    

Icon template

If you want to use more complex toggle icon syntax you can do it by placing HTML code inside ng-template with mdbDatepickerToggleIcon directive.

        
            
          <mdb-form-control>
            <input
              mdbInput
              [mdbDatepicker]="datepicker"
              type="text"
              class="form-control"
              id="exampleDatepicker"
            />
            <label mdbLabel for="exampleDatepicker" class="form-label">Select a date</label>
            <mdb-datepicker-toggle [mdbDatepicker]="datepicker"
              ><ng-template mdbDatepickerToggleIcon
                ><i class="fa-angular fab datepicker-icon"></i></ng-template
            ></mdb-datepicker-toggle>
            <mdb-datepicker #datepicker></mdb-datepicker>
          </mdb-form-control>
          
        
    

Close without confirmation

With [confirmDateOnSelect] set to true datepicker will close automatically after date selection

        
            
            <mdb-form-control>
              <input
                mdbInput
                [mdbDatepicker]="datepicker"
                type="text"
                class="form-control"
                id="exampleDatepicker"
              />
              <label mdbLabel for="exampleDatepicker" class="form-label">Select a date</label>
              <mdb-datepicker-toggle [mdbDatepicker]="datepicker"></mdb-datepicker-toggle>
              <mdb-datepicker [confirmDateOnSelect]="true" #datepicker></mdb-datepicker>
            </mdb-form-control>
          
        
    

Remove Action Buttons

You can use [removeCancelBtn], [removeClearBtn] and [removeOkBtn] inputs to remove action buttons that you don't need in your datepicker modal.

        
            
           <mdb-form-control>
             <input
               mdbInput
               [mdbDatepicker]="datepicker"
               type="text"
               class="form-control"
               id="exampleDatepicker"
             />
             <label mdbLabel for="exampleDatepicker" class="form-label">Select a date</label>
             <mdb-datepicker-toggle [mdbDatepicker]="datepicker"></mdb-datepicker-toggle>
             <mdb-datepicker [removeClearBtn]="true" #datepicker></mdb-datepicker>
           </mdb-form-control>
         
        
    

Custom header content

You can customize the content of the header by using the mdbDatepickerHeader directive. Simply pass HTML code inside ng-template with directive.

        
            
            <mdb-form-control>
              <input
                mdbInput
                [mdbDatepicker]="datepicker"
                type="text"
                class="form-control"
                id="exampleDatepicker"
              />
              <label mdbLabel for="exampleDatepicker" class="form-label">Select a date</label>
              <mdb-datepicker-toggle [mdbDatepicker]="datepicker"></mdb-datepicker-toggle>
              <mdb-datepicker #datepicker>
                <ng-template mdbDatepickerHeader>
                  <div class="datepicker-header">
                    <div class="datepicker-title">
                      <span class="datepicker-title-text">Choose date</span>
                    </div>
                    <div class="datepicker-date">
                      <span class="datepicker-date-text"
                        >{{ datepicker.activeDay }}/{{
                          datepicker.activeMonth + 1
                        }}/{{ datepicker.activeYear }}</span
                      >
                    </div>
                  </div></ng-template
                >
              </mdb-datepicker>
            </mdb-form-control>
          
        
    

Validation

Use mdbValidate directive to enable validation styles and mdb-error and mdb-success components to display validation messages.

Note: This example uses MDB Angular Validation. Remember to import MdbValidationModule and ReactiveFormsModule to enable reactive forms validation in Angular.

Please provide a valid date
Looks good!
        
            
            <form [formGroup]="validationForm" (ngSubmit)="onSubmit()" #form="ngForm">
              <mdb-form-control>
                <input
                  mdbInput
                  mdbValidate
                  [mdbTimepicker]="datepicker"
                  formControlName="inputDate"
                  type="text"
                  class="form-control"
                  id="datepicker"
                  [ngClass]="{
                    'mb-3': form.submitted
                  }"
                />
                <label mdbLabel for="datepicker" class="form-label">Select a date</label>
                <mdb-error *ngIf="inputTime?.invalid && (inputTime?.dirty || inputTime?.touched)"
                  >Please provide a valid date</mdb-error
                >
                <mdb-success *ngIf="inputTime?.valid && (inputTime?.dirty || inputTime?.touched)"
                  >Looks good!</mdb-success
                >
                <mdb-datepicker-toggle
                  [mdbDatepicker]="datepicker"
                ></mdb-datepicker-toggle>
                <mdb-datepicker #datepicker></mdb-datepicker>
              </mdb-form-control>
              <button class="btn btn-primary btn-sm mt-3" type="submit">Submit</button>
            </form>
              
        
    
        
            
              import { Component } from '@angular/core';
              import { AbstractControl, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';

              @Component({
                selector: 'app-root',
                templateUrl: './app.component.html',
              })
              
              export class AppComponent {
                validationForm = new UntypedFormGroup({
                  inputDate: new UntypedFormControl(null, {
                    validators: Validators.required,
                    updateOn: 'submit',
                  }),
                });

                get inputDate(): AbstractControl {
                  return this.validationForm.get('inputDate');
                }
              
                onSubmit(): void {
                  this.validationForm.markAllAsTouched();
                }
              }
              
        
    

Accessibility

We added proper aria attributes to the datepicker controls to make the component accessible. It's possible to change the values of those attributes by modifying the component options:

        
            
            okBtnLabel: 'Confirm selection',
            clearBtnLabel: 'Clear selection',
            cancelBtnLabel: 'Cancel selection',
            nextMonthLabel: 'Next month',
            prevMonthLabel: 'Previous month',
            nextYearLabel: 'Next year',
            prevYearLabel: 'Previous year',
            nextMultiYearLabel: 'Next 24 years',
            prevMultiYearLabel: 'Previous 24 years',
            switchToMultiYearViewLabel: 'Choose year and month',
            switchToDayViewLabel: 'Choose date',
          
        
    

Datepicker - API


Import

        
            
          import { MdbDatepickerModule } from 'mdb-angular-ui-kit/datepicker';
          …
          @NgModule ({
            ...
            imports: [MdbDatepickerModule],
            ...
          })
        
        
    

Inputs

MdbDatepickerComponent

Name Type Default Description
confirmDateOnSelect boolean false Closes datepicker modal when the date is selected
disabled boolean false

Defines whether component is disabled

filter Function (date: Date) => boolean Disables dates that meet the specified condition
format string 'dd/mm/yyyy' Changes date format displayed in input
inline boolean false Changes datepicker display mode to inline (dropdown)
maxDate Date - Changes max available date
minDate Date - Changes min available date
options any MdbDatepickerOptions Defines datepicker's options
removeCancelBtn boolean false Removes Cancel button from datepicker modal
removeClearBtn boolean false Removes Cancel button from datepicker modal
removeOkBtn boolean false Removes Ok button from datepicker modal
startDate Date - Changes default date to which datepicker will navigate
startDay number 0 Changes default start day (0 for Sunday, 1 for Monday...)
startView string 'days' Changes default datepicker view (days/years/months)

MdbDatepickerToggleComponent

Name Type Default Description
disabled boolean false

Defines whether component is disabled

icon string 'far fa-clock'

Allows to set custom icon

mdbDatepicker MdbDatepickerComponent -

Input for attaching datepicker component


Outputs

Name Type Description
opened EventEmitter<void> This event fires immediately when the datepicker is opened.
closed EventEmitter<void> This event fires immediately when the datepicker is closed.
dateChanged EventEmitter<Date> This event fires immediately when the new date is selected.
        
            
              <mdb-form-control>
                <input
                  mdbInput
                  [mdbDatepicker]="datepicker"
                  type="text"
                  class="form-control"
                  id="exampleDatepicker"
                />
                <label mdbLabel for="exampleDatepicker" class="form-label">Select a date</label>
                <mdb-datepicker-toggle [mdbDatepicker]="datepicker"></mdb-datepicker-toggle>
                <mdb-datepicker
                #datepicker
                (opened)="onDatepickerOpen()"
                (closed)="onDatepickerClose()"
                (dateChanged)="onDatepickerDateChange($event)"
              ></mdb-datepicker>
              </mdb-form-control>
            
        
    
        
            
              import { Component } from '@angular/core';

              @Component({
                selector: 'app-root',
                templateUrl: './app.component.html',
              })
              export class AppComponent {
                onDatepickerOpen(): void {
                  console.log('datepicker open');
                }

                onDatepickerDateChange(event: Date): void {
                  console.log('datepicker date change', event);
                }
              }
            
        
    

Methods

Name Description Example
open Manually opens a datepicker datepicker.open()
close Manually closes a datepicker datepicker.close()
        
            
              <mdb-form-control>
                <input
                  mdbInput
                  [mdbDatepicker]="datepicker"
                  type="text"
                  class="form-control"
                  id="exampleDatepicker"
                />
                <label mdbLabel for="exampleDatepicker" class="form-label">Select a date</label>
                <mdb-datepicker-toggle [mdbDatepicker]="datepicker"></mdb-datepicker-toggle>
                <mdb-datepicker #datepicker></mdb-datepicker>
              </mdb-form-control>
              <button class="btn btn-primary" (click)="openDatepicker(); $event.stopPropagation()">Open datepicker</button>
            
        
    
        
            
              import { Component, ViewChild } from '@angular/core';
              import { MdbDatepickerComponent } from 'mdb-angular-ui-kit/datepicker';

              @Component({
                selector: 'app-root',
                templateUrl: './app.component.html',
              })
              export class AppComponent {
                @ViewChild('datepicker', { static: true }) datepicker!: MdbDatepickerComponent;

                openDatepicker(): void {
                  this.datepicker.open();
                }
              }
            
        
    

Advanced types

MdbDatepickerOptions

Name Type Default Description
cancelBtnLabel string 'Cancel selection' Changes cancel button aria label
cancelBtnText string 'Cancel' Changes cancel button text
clearBtnLabel string 'Clear selection' Changes clear button aria label
clearBtnText string 'Clear' Changes clear button text
monthsFull Array [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', ] Changes array of months full names
monthsShort Array ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] Changes array of months short names
nextMonthLabel string 'Next month' Changes next button aria label in days view
nextMultiYearLabel string 'Next 24 years' Changes next button aria label in years view
nextYearLabel string 'Next year' Changes next button aria label in months view
okBtnLabel string 'Confirm selection' Changes ok button aria label
okBtnText string 'Ok' Changes ok button text
prevMonthLabel string 'Previous month' Changes previous button aria label in days view
prevMultiYearLabel string 'Previous 24 years' Changes previous button aria label in years view
prevYearLabel string 'Previous year' Changes previous button aria label in months view
switchToDayViewLabel string 'Choose date' Changes view change button aria label in months/years view
switchToMultiYearViewLabel string 'Choose year and month' Changes view change button aria label in days view
title string 'Select date' Changes datepicker title
weekdaysFull Array ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'] Changes array of weekdays full names
weekdaysNarrow Array ['S', 'M', 'T', 'W', 'T', 'F', 'S'] Changes array of weekdays narrow names
weekdaysShort Array ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] Changes array of weekdays short names

CSS variables

As part of MDB’s evolving CSS variables approach, datepicker now use local CSS variables for enhanced real-time customization. Values for the CSS variables are set via Sass, so Sass customization is still supported, too.

Datepicker CSS variables are in different classes which belong to this component. To make it easier to use them, you can find below all of the used CSS variables.

        
            
        // :root
        --#{$prefix}datepicker-backdrop-background-color: #{$datepicker-backdrop-background-color};
        --#{$prefix}datepicker-zindex: #{$datepicker-zindex};
        --#{$prefix}datepicker-container-zindex: #{$datepicker-container-zindex};
        --#{$prefix}datepicker-toggle-right: #{$datepicker-toggle-right};
        --#{$prefix}datepicker-toggle-top: #{$datepicker-toggle-top};
        --#{$prefix}datepicker-toggle-focus-color: #{$datepicker-toggle-focus-color};

        // .datepicker-dropdown-container
        --#{$prefix}datepicker-dropdown-container-width: #{$datepicker-dropdown-container-width};
        --#{$prefix}datepicker-dropdown-container-height: #{$datepicker-dropdown-container-height};
        --#{$prefix}datepicker-dropdown-container-background-color: #{$datepicker-dropdown-container-background-color};
        --#{$prefix}datepicker-dropdown-container-border-radius: #{$datepicker-dropdown-container-border-radius};
        --#{$prefix}datepicker-dropdown-container-box-shadow: #{$datepicker-dropdown-container-box-shadow};
      
        // .datepicker-modal-container {
        --#{$prefix}datepicker-modal-container-transform: #{$datepicker-modal-container-transform};
        --#{$prefix}datepicker-modal-container-width: #{$datepicker-modal-container-width};
        --#{$prefix}datepicker-modal-container-height: #{$datepicker-modal-container-height};
        --#{$prefix}datepicker-modal-container-background-color: #{$datepicker-modal-container-background-color};
        --#{$prefix}datepicker-modal-container-border-radius: #{$datepicker-modal-container-border-radius};
        --#{$prefix}datepicker-modal-container-box-shadow: #{$datepicker-modal-container-box-shadow};
        --#{$prefix}datepicker-modal-container-date-media-margin-top: #{$datepicker-modal-container-date-media-margin-top};
        --#{$prefix}datepicker-modal-container-day-cell-media-width: #{$datepicker-modal-container-day-cell-media-width};
        --#{$prefix}datepicker-modal-container-day-cell-media-height: #{$datepicker-modal-container-day-cell-media-height};
        --#{$prefix}datepicker-modal-container-media-width: #{$datepicker-modal-container-media-width};
        --#{$prefix}datepicker-modal-container-media-height: #{$datepicker-modal-container-media-height};
        --#{$prefix}datepicker-header-border-radius-landscape: #{$datepicker-header-border-radius-landscape};
        --#{$prefix}datepicker-header-height: #{$datepicker-header-height};
        --#{$prefix}datepicker-header-padding-x: #{$datepicker-header-padding-x};
        --#{$prefix}datepicker-header-background-color: #{$datepicker-header-background-color};
        --#{$prefix}datepicker-header-border-radius: #{$datepicker-header-border-radius};
        --#{$prefix}datepicker-title-height: #{$datepicker-title-height};
        --#{$prefix}datepicker-title-text-font-size: #{$datepicker-title-text-font-size};
        --#{$prefix}datepicker-title-text-font-weight: #{$datepicker-title-text-font-weight};
        --#{$prefix}datepicker-title-text-letter-spacing: #{$datepicker-title-text-letter-spacing};
        --#{$prefix}datepicker-title-text-color: #{$datepicker-title-text-color};
        --#{$prefix}datepicker-date-height: #{$datepicker-date-height};
        --#{$prefix}datepicker-date-text-font-size: #{$datepicker-date-text-font-size};
        --#{$prefix}datepicker-date-text-font-weight: #{$datepicker-date-text-font-weight};
        --#{$prefix}datepicker-date-text-color: #{$datepicker-date-text-color};
        --#{$prefix}datepicker-footer-height: #{$datepicker-footer-height};
        --#{$prefix}datepicker-footer-padding-x: #{$datepicker-footer-padding-x};
        --#{$prefix}datepicker-footer-btn-background-color: #{$datepicker-footer-btn-background-color};
        --#{$prefix}datepicker-footer-btn-color: #{$datepicker-footer-btn-color};
        --#{$prefix}datepicker-footer-btn-padding-x: #{$datepicker-footer-btn-padding-x};
        --#{$prefix}datepicker-footer-btn-font-size: #{$datepicker-footer-btn-font-size};
        --#{$prefix}datepicker-footer-btn-font-weight: #{$datepicker-footer-btn-font-weight};
        --#{$prefix}datepicker-footer-btn-height: #{$datepicker-footer-btn-height};
        --#{$prefix}datepicker-footer-btn-line-height: #{$datepicker-footer-btn-line-height};
        --#{$prefix}datepicker-footer-btn-letter-spacing: #{$datepicker-footer-btn-letter-spacing};
        --#{$prefix}datepicker-footer-btn-border-radius: #{$datepicker-footer-btn-border-radius};
        --#{$prefix}datepicker-footer-btn-margin-bottom: #{$datepicker-footer-btn-margin-bottom};
        --#{$prefix}datepicker-footer-btn-state-background-color: #{$datepicker-footer-btn-state-background-color};
      
        // .datepicker-main
        --#{$prefix}datepicker-date-controls-padding-top: #{$datepicker-date-controls-padding-top};
        --#{$prefix}datepicker-date-controls-padding-x: #{$datepicker-date-controls-padding-x};
        --#{$prefix}datepicker-date-controls-color: #{$datepicker-date-controls-color};
        --#{$prefix}datepicker-view-change-button-padding: #{$datepicker-view-change-button-padding};
        --#{$prefix}datepicker-view-change-button-color: #{$datepicker-view-change-button-color};
        --#{$prefix}datepicker-view-change-button-font-weight: #{$datepicker-view-change-button-font-weight};
        --#{$prefix}datepicker-view-change-button-font-size: #{$datepicker-view-change-button-font-size};
        --#{$prefix}datepicker-view-change-button-border-radius: #{$datepicker-view-change-button-border-radius};
        --#{$prefix}datepicker-view-change-button-state-background-color: #{$datepicker-view-change-button-state-background-color};
        --#{$prefix}datepicker-view-change-button-after-border-width: #{$datepicker-view-change-button-after-border-width};
        --#{$prefix}datepicker-view-change-button-after-margin-left: #{$datepicker-view-change-button-after-margin-left};
        --#{$prefix}datepicker-arrow-controls-margin-top: #{$datepicker-arrow-controls-margin-top};
        --#{$prefix}datepicker-previous-button-width: #{$datepicker-previous-button-width};
        --#{$prefix}datepicker-previous-button-height: #{$datepicker-previous-button-height};
        --#{$prefix}datepicker-previous-button-line-height: #{$datepicker-previous-button-line-height};
        --#{$prefix}datepicker-previous-button-color: #{$datepicker-previous-button-color};
        --#{$prefix}datepicker-previous-button-margin-right: #{$datepicker-previous-button-margin-right};
        --#{$prefix}datepicker-previous-button-state-background-color: #{$datepicker-previous-button-state-background-color};
        --#{$prefix}datepicker-previous-button-state-border-radius: #{$datepicker-previous-button-state-border-radius};
        --#{$prefix}datepicker-previous-button-after-margin: #{$datepicker-previous-button-after-margin};
        --#{$prefix}datepicker-previous-button-after-border-width: #{$datepicker-previous-button-after-border-width};
        --#{$prefix}datepicker-previous-button-after-transform: #{$datepicker-previous-button-after-transform};
        --#{$prefix}datepicker-next-button-width: #{$datepicker-next-button-width};
        --#{$prefix}datepicker-next-button-height: #{$datepicker-next-button-height};
        --#{$prefix}datepicker-next-button-line-height: #{$datepicker-next-button-line-height};
        --#{$prefix}datepicker-next-button-color: #{$datepicker-next-button-color};
        --#{$prefix}datepicker-next-button-margin-background-color: #{$datepicker-next-button-margin-background-color};
        --#{$prefix}datepicker-next-button-state-border-radius: #{$datepicker-next-button-state-border-radius};
        --#{$prefix}datepicker-next-button-after-margin: #{$datepicker-next-button-after-margin};
        --#{$prefix}datepicker-next-button-after-border-width: #{$datepicker-next-button-after-border-width};
        --#{$prefix}datepicker-next-button-after-transform: #{$datepicker-next-button-after-transform};
        --#{$prefix}datepicker-view-padding-x: #{$datepicker-view-padding-x};
        --#{$prefix}datepicker-table-width: #{$datepicker-table-width};
        --#{$prefix}datepicker-day-heading-width: #{$datepicker-day-heading-width};
        --#{$prefix}datepicker-day-heading-height: #{$datepicker-day-heading-height};
        --#{$prefix}datepicker-day-heading-font-size: #{$datepicker-day-heading-font-size};
        --#{$prefix}datepicker-day-heading-font-weight: #{$datepicker-day-heading-font-weight};
        --#{$prefix}datepicker-cell-disabled-color: #{$datepicker-cell-disabled-color};
        --#{$prefix}datepicker-cell-hover-background-color: #{$datepicker-cell-hover-background-color};
        --#{$prefix}datepicker-cell-selected-background-color: #{$datepicker-cell-selected-background-color};
        --#{$prefix}datepicker-cell-selected-color: #{$datepicker-cell-selected-color};
        --#{$prefix}datepicker-cell-focused-background-color: #{$datepicker-cell-focused-background-color};
        --#{$prefix}datepicker-cell-focused-selected-background-color: #{$datepicker-cell-focused-selected-background-color};
        --#{$prefix}datepicker-cell-border-width: #{$datepicker-cell-border-width};
        --#{$prefix}datepicker-cell-border-color: #{$datepicker-cell-border-color};
        --#{$prefix}datepicker-small-cell-width: #{$datepicker-small-cell-width};
        --#{$prefix}datepicker-small-cell-height: #{$datepicker-small-cell-height};
        --#{$prefix}datepicker-small-cell-content-width: #{$datepicker-small-cell-content-width};
        --#{$prefix}datepicker-small-cell-content-height: #{$datepicker-small-cell-content-height};
        --#{$prefix}datepicker-small-cell-content-line-height: #{$datepicker-small-cell-content-line-height};
        --#{$prefix}datepicker-small-cell-content-border-radius: #{$datepicker-small-cell-content-border-radius};
        --#{$prefix}datepicker-small-cell-content-font-size: #{$datepicker-small-cell-content-font-size};
        --#{$prefix}datepicker-large-cell-width: #{$datepicker-large-cell-width};
        --#{$prefix}datepicker-large-cell-height: #{$datepicker-large-cell-height};
        --#{$prefix}datepicker-large-cell-content-width: #{$datepicker-large-cell-content-width};
        --#{$prefix}datepicker-large-cell-content-height: #{$datepicker-large-cell-content-height};
        --#{$prefix}datepicker-large-cell-content-line-height: #{$datepicker-large-cell-content-line-height};
        --#{$prefix}datepicker-large-cell-content-padding-y: #{$datepicker-large-cell-content-padding-y};
        --#{$prefix}datepicker-large-cell-content-padding-x: #{$datepicker-large-cell-content-padding-x};
        --#{$prefix}datepicker-large-cell-content-border-radius: #{$datepicker-large-cell-content-border-radius};
        
        
    

SCSS variables

        
            
        $datepicker-zindex: 1065;
        $datepicker-container-zindex: 1066;

        $datepicker-toggle-right: -10px;
        $datepicker-toggle-top: 50%;
        $datepicker-toggle-focus-color: $primary;

        $datepicker-backdrop-background-color: rgba(0, 0, 0, 0.4);

        $datepicker-dropdown-container-width: 328px;
        $datepicker-dropdown-container-height: 380px;
        $datepicker-dropdown-container-background-color: $white;
        $datepicker-dropdown-container-border-radius: 0.5rem;
        $datepicker-dropdown-container-box-shadow: $box-shadow-4;

        $datepicker-modal-container-transform: translate(-50%, -50%);
        $datepicker-modal-container-width: 328px;
        $datepicker-modal-container-height: 512px;
        $datepicker-modal-container-background-color: $white;
        $datepicker-modal-container-border-radius: 0.6rem 0.6rem 0.5rem 0.5rem;
        $datepicker-modal-container-box-shadow: $datepicker-dropdown-container-box-shadow;
        $datepicker-modal-container-date-media-margin-top: 100px;
        $datepicker-modal-container-day-cell-media-width: 32px;
        $datepicker-modal-container-day-cell-media-height: $datepicker-modal-container-day-cell-media-width;
        $datepicker-modal-container-media-width: 475px;
        $datepicker-modal-container-media-height: 360px;

        $datepicker-header-height: 120px;
        $datepicker-header-padding-x: 24px;
        $datepicker-header-background-color: $primary;
        $datepicker-header-border-radius: 0.5rem 0.5rem 0 0;
        $datepicker-header-border-radius-landscape: 0.5rem 0 0 0.5rem;

        $datepicker-title-height: 32px;
        $datepicker-title-text-font-size: 10px;
        $datepicker-title-text-font-weight: 400;
        $datepicker-title-text-letter-spacing: 1.7px;
        $datepicker-title-text-color: $white;

        $datepicker-date-height: 72px;
        $datepicker-date-text-font-size: 34px;
        $datepicker-date-text-font-weight: 400;
        $datepicker-date-text-color: $white;

        $datepicker-date-controls-padding-top: 10px;
        $datepicker-date-controls-padding-x: 12px;

        $datepicker-date-controls-color: rgba(0, 0, 0, 0.64);

        $datepicker-view-change-button-padding: 10px;
        $datepicker-view-change-button-color: #666;
        $datepicker-view-change-button-font-weight: 500;
        $datepicker-view-change-button-font-size: 0.9rem;
        $datepicker-view-change-button-border-radius: 10px;
        $datepicker-view-change-button-state-background-color: #eee;
        $datepicker-view-change-button-after-border-width: 5px;
        $datepicker-view-change-button-after-margin-left: 5px;

        $datepicker-arrow-controls-margin-top: 10px;

        $datepicker-previous-button-width: 40px;
        $datepicker-previous-button-height: $datepicker-previous-button-width;
        $datepicker-previous-button-line-height: $datepicker-previous-button-height;
        $datepicker-previous-button-color: rgba(0, 0, 0, 0.64);
        $datepicker-previous-button-margin-right: 24px;
        $datepicker-previous-button-state-background-color: #eee;
        $datepicker-previous-button-state-border-radius: 50%;

        $datepicker-previous-button-after-margin: 15.5px;
        $datepicker-previous-button-after-border-width: 2px;
        $datepicker-previous-button-after-transform: translateX(2px) rotate(-45deg);

        $datepicker-next-button-width: 40px;
        $datepicker-next-button-height: $datepicker-next-button-width;
        $datepicker-next-button-line-height: $datepicker-next-button-height;
        $datepicker-next-button-color: rgba(0, 0, 0, 0.64);
        $datepicker-next-button-margin-background-color: #eee;
        $datepicker-next-button-state-border-radius: 50%;

        $datepicker-next-button-after-margin: 15.5px;
        $datepicker-next-button-after-border-width: 2px;
        $datepicker-next-button-after-transform: translateX(-2px) rotate(45deg);

        $datepicker-view-padding-x: 12px;
        $datepicker-table-width: 304px;

        $datepicker-day-heading-width: 40px;
        $datepicker-day-heading-height: $datepicker-day-heading-width;
        $datepicker-day-heading-font-size: 12px;
        $datepicker-day-heading-font-weight: 400;

        $datepicker-cell-disabled-color: #ccc;
        $datepicker-cell-hover-background-color: #d3d3d3;
        $datepicker-cell-selected-background-color: $primary;
        $datepicker-cell-selected-color: $white;
        $datepicker-cell-focused-background-color: #eee;
        $datepicker-cell-focused-selected-background-color: $primary;
        $datepicker-cell-border-width: 1px;
        $datepicker-cell-border-color: $black;

        $datepicker-small-cell-width: 40px;
        $datepicker-small-cell-height: $datepicker-small-cell-width;

        $datepicker-small-cell-content-width: 36px;
        $datepicker-small-cell-content-height: $datepicker-small-cell-content-width;
        $datepicker-small-cell-content-line-height: $datepicker-small-cell-content-height;
        $datepicker-small-cell-content-border-radius: 50%;
        $datepicker-small-cell-content-font-size: 13px;

        $datepicker-large-cell-width: 76px;
        $datepicker-large-cell-height: 42px;

        $datepicker-large-cell-content-width: 72px;
        $datepicker-large-cell-content-height: 40px;
        $datepicker-large-cell-content-line-height: $datepicker-large-cell-content-height;
        $datepicker-large-cell-content-padding-y: 1px;
        $datepicker-large-cell-content-padding-x: 2px;
        $datepicker-large-cell-content-border-radius: 999px;

        $datepicker-footer-height: 56px;
        $datepicker-footer-padding-x: $datepicker-view-padding-x;

        $datepicker-footer-btn-background-color: $white;
        $datepicker-footer-btn-color: $primary;
        $datepicker-footer-btn-padding-x: 10px;
        $datepicker-footer-btn-font-size: 0.8rem;
        $datepicker-footer-btn-font-weight: 500;
        $datepicker-footer-btn-height: 40px;
        $datepicker-footer-btn-line-height: $datepicker-footer-btn-height;
        $datepicker-footer-btn-letter-spacing: 0.1rem;
        $datepicker-footer-btn-border-radius: 10px;
        $datepicker-footer-btn-margin-bottom: 10px;
        $datepicker-footer-btn-state-background-color: #eee;