
### className
- type: string
- description: Specifies a CSS class name to be appended to the component’s root element.
- internal
### customInput
- type: ReactNode
- description: Override a field with a custom input element. If you only need to pass custom props to the `<Input/>`, then use `inputProps` instead.
### inputProps
- type: Partial<InputProps>
- description: Allows you to pass default Input component properties
### inputRef
- type: null | (instance: HTMLInputElement | null) => void | RefObject<HTMLInputElement>
- description: Ref to the underlying `<input>` DOM element. Accepts callback and object refs.
Use for input masking libraries. Memoize callback refs to avoid reattaching.
### locale
- type: "th" | "tr" | "id" | "no" | "en" | "en-US" | "en-GB" | "en-AU" | "en-CA" | "ar" | "bg" | "ca" | "zh" | "zh-TW" | "zh-HK" | "zh-MO" | "cs" | "da" | "nl" | "fi" | "fr" | "fr-CA" | "fr-CH" | "fr-BE" | "de" | "de-CH" | "de-AT" | "el" | "he" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "ms" | "nb" | "nn" | "pl" | "pt-BR" | "pt" | "ro" | "ru" | "sk" | "sl" | "es" | "es-419" | "es-AR" | "es-MX" | "es-US" | "sv" | "tl" | "uk" | "vi"
- description: Specify date picker instance locale
### dateStyle
- type: "medium" | "short" | "long"
- description: Sets date format of locale
- default: 'short'
### disabled
- type: boolean
- description: Specify whether a field should be disabled or not
- default: false
### inputDataHook
- type: string
- description: Applies a data-hook HTML attribute for date picker input
### calendarDataHook
- type: string
- description: Applies a data-hook HTML attribute for date picker calendar view
### placeholderText
- type: string
- description: Defines a placeholder of the field
### rtl
- type: boolean
- description: Specify whether RTL mode is enabled or not. When true, the keyboard navigation will be changed, meaning pressing on the right arrow will navigate to the previous day, and pressing on the left arrow will navigate to the next day.
- default: false
### value
- type: Date
- description: Defines the selected date
### initialOpen
- type: boolean
- description: Specify whether the calendar will be initially visible or not
### status
- type: "loading" | "error" | "warning"
- description: Controls the status of a field
### statusMessage
- type: ReactNode
- description: Defines the status message to be displayed on status icon hover. If not given or empty, the tooltip won’t be shown.
### width
- type: string | number
- description: Sets the width of picker input in pixels or percentage
- default: '150px'
### zIndex
- type: number
- description: Set a desired z-index for date picker popover
### popoverProps
- type: PopoverCommonProps
- description: Allows you to pass popover properties. The default placement value depends on the rtl prop - would be 'top-start' when rtl=false and 'top-end' in case of rtl=true.
### firstDayOfWeek
- type: 0 | 1 | 2 | 3 | 4 | 5 | 6
- description: Specify the starting day of a week, allowing only from 0 to 6 (Sunday to Saturday). The default value is 1 which means Monday.
### size
- type: "small" | "medium" | "large"
- description: Specifies the size of the input
### readOnly
- type: boolean
- description: Specify whether date picker input is readOnly or not
### clearButton
- type: boolean
- description: Display a clear button (x) on a non-empty field
### onClear
- type: MouseEventHandler
- description: Displays clear button (X) on a non-empty input and calls callback with no arguments
### disableKeyboardType
- type: boolean
- description: Disable typing the in the input. When true, choosing a date is possible only by picking from the calendar. Default: false.
- default: false
### validate
- type: boolean
- description: Enables internal input validation
### onValidate
- type: ({ validationType, format, value, }: { format?: string | undefined; validationType: "outOfBoundsError" | "formatError" | "valid"; value: string; }) => void
- description: Defines a callback function which is called on cases when date is validated.
- {validationType: 'outOfBoundsError' | 'formatError' | 'valid', format: string, value: string }
- `validationType` - type 'formatError' is set when validated date is in the wrong date format
                   - type 'outOfBoundsError' is set when 'excludePastDates' is true and date input is before today
                   - type 'valid' is set when entered date is valid
- `format` - is set to valid date format
- `value` - is set to current input value
### clearButtonTooltipContent
- type: ReactNode
- description: When provided, hover will display a tooltip
### clearButtonAriaLabel
- type: string
- description: Aria label for the clear button
### clearButtonTooltipProps
- type: TooltipCommonProps
- description: Tooltip props
### onOpen
- type: () => void
- description: Defines a callback function which is called when date picker is opened.
### renderFooter
- type: () => ReactNode
- description: Function which renders a provided node at the bottom of the Calendar.
### calendarProps
- type: { size?: "small" | "medium" | undefined; }
- description: Defines the size of calendar opened
### dataHook
- type: string
- description: Applies as data-hook HTML attribute that can be used in the tests
### onChange
- type: (date: Date) => void
- description: Provides a callback function when day in selected in the calendar
### autoFocus
- type: boolean
- description: Focus selected day automatically when component mounts or updates
- default: true
### onKeyDown
- type: (event: KeyboardEvent<Element>) => void
- description: Provides a callback function when any key is clicked in the calendar
### onClose
- type: () => void
- description: Defines a callback function that is  called whenever a user presses escape, clicks outside of the element or a date is selected and `shouldCloseOnSelect` is set. Receives an event as a first argument.
### numOfMonths
- type: 1 | 2
- description: Allows to display multiple months at once. Currently it shows 1 or 2 months only.
- default: 1
### onMonthChange
- type: (monthStart: Date) => void
- description: Defines a callback function that is called with the date of the first day of the month whenever the user selects a month in the calendar
### excludePastDates
- type: boolean
- description: Specify whether past dates should be selectable or not
- default: false
### filterDate
- type: (date: Date) => boolean
- description: ##### Specify selectable dates:
 * `param` {Date} `date` - a date to check
 * `return` {boolean} - true if `date` should be selectable, false otherwise
### selectionMode
- type: "day" | "range"
- description: Whether the user should be able to select a date range, or just a single day
- default: 'day'
### showYearDropdown
- type: boolean
- description: Displays a selectable yearDropdown
- default: false
### showMonthDropdown
- type: boolean
- description: Displays a selectable monthDropdown
- default: false
### shouldCloseOnSelect
- type: boolean
- description: Specify whether the calendar closes on day selection
- default: true
### dateIndication
- type: FC<dateIndicationProps>
- description: ##### Add an indication under a specific date.
   Function returns the indication node of a specific date or null if this day doesn't have an indication.
- `param` {date: Date, isSelected: boolean }
- `date` - a date
- `isSelected` - whether this date is the selected date
- `return` {React.node} - the indication node of a specific date or null if this day doesn't have an indication.
### today
- type: Date
- description: Sets today's date. The today indication is added automatically according to the user timezone but in some cases, we need the ability to add the today indication based on the business timezone.
### containFocus
- type: boolean
- description: Whether focus should be contained within the calendar
### leftArrowAriaLabel
- type: string
- description: Defines a string value that labels the left arrow in calendar header
### leftArrowAriaLabelledBy
- type: string
- description: Identifies the element that labels the left arrow in calendar header
### rightArrowAriaLabel
- type: string
- description: Defines a string value that labels the right arrow in calendar header
### rightArrowAriaLabelledBy
- type: string
- description: Identifies the element that labels the right arrow in calendar header
### monthDropdownAriaLabel
- type: string
- description: Defines a string value that labels the months dropdown in calendar header
### monthDropdownAriaLabelledBy
- type: string
- description: Identifies the element that labels the months dropdown in calendar header
### yearDropdownAriaLabel
- type: string
- description: Defines a string value that labels the years dropdown in calendar header
### yearDropdownAriaLabelledBy
- type: string
- description: Identifies the element that labels the years dropdown in calendar header

