UNPKG

@wix/design-system

Version:

@wix/design-system

84 lines 4.83 kB
import React, { MouseEvent, KeyboardEvent } from 'react'; import PropTypes from 'prop-types'; import DayPicker, { DayModifiers, DayPickerProps, Modifier } from 'react-day-picker'; import localeUtilsFactory, { WeekdayNumber } from '../../common/LocaleUtils/LocaleUtils'; import { WixStyleReactEnvironmentContext } from '../../WixStyleReactEnvironmentProvider/context'; import { BaseCalendarProps } from './BaseCalendar.types'; type DefaultedProps<Base, DefaultPropsKeys extends keyof Base> = Omit<Base, DefaultPropsKeys> & Required<Pick<Base, DefaultPropsKeys>>; type DefaultPropKeys = 'className' | 'filterDate' | 'dateIndication' | 'shouldCloseOnSelect' | 'onClose' | 'autoFocus' | 'excludePastDates' | 'selectionMode' | 'numOfMonths' | 'size' | 'allowSelectingOutsideDays'; type DefaultedBaseCalendarProps = DefaultedProps<BaseCalendarProps, DefaultPropKeys>; export default class BaseCalendar extends React.PureComponent<DefaultedBaseCalendarProps> { static displayName: string; static defaultProps: { className: string; filterDate: () => boolean; dateIndication: () => null; shouldCloseOnSelect: boolean; onClose: () => void; autoFocus: boolean; excludePastDates: boolean; selectionMode: string; numOfMonths: number; size: string; allowSelectingOutsideDays: boolean; }; static propTypes: { dataHook: PropTypes.Requireable<string>; autoFocus: PropTypes.Requireable<boolean>; numOfMonths: PropTypes.Requireable<number>; firstDayOfWeek: PropTypes.Requireable<number>; className: PropTypes.Requireable<string>; onChange: PropTypes.Validator<(...args: any[]) => any>; onClose: PropTypes.Requireable<(...args: any[]) => any>; onKeyDown: PropTypes.Requireable<(...args: any[]) => any>; excludePastDates: PropTypes.Requireable<boolean>; filterDate: PropTypes.Requireable<(...args: any[]) => any>; value: PropTypes.Requireable<NonNullable<Date | PropTypes.InferProps<{ from: PropTypes.Requireable<Date>; to: PropTypes.Requireable<Date>; }> | null | undefined>>; selectionMode: PropTypes.Requireable<string>; shouldCloseOnSelect: PropTypes.Requireable<boolean>; locale: PropTypes.Requireable<NonNullable<"th" | "tr" | "ms" | "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" | "nb" | "nn" | "pl" | "pt-BR" | "pt" | "ro" | "ru" | "sk" | "sl" | "es" | "es-419" | "es-AR" | "es-MX" | "es-US" | "sv" | "tl" | "uk" | "vi" | null | undefined>>; rtl: PropTypes.Requireable<boolean>; dateIndication: PropTypes.Requireable<(...args: any[]) => any>; today: PropTypes.Requireable<Date>; displayedMonth: PropTypes.Validator<Date>; onDisplayedViewChange: PropTypes.Validator<(...args: any[]) => any>; captionElement: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>; modifiers: PropTypes.Requireable<object>; allowSelectingOutsideDays: PropTypes.Requireable<boolean>; }; /** Return a value in which all string-dates are parsed into Date objects */ static parseValue: (value: BaseCalendarProps["value"]) => Date | { from?: Date; to?: Date; }; static nextDay: (date: Date | number | string) => Date; static prevDay: (date: Date | number | string) => Date; context: React.ContextType<typeof WixStyleReactEnvironmentContext>; dayPickerRef?: DayPicker | null; _renderDay: (day: Date, modifiers: any) => React.JSX.Element; _handleDayClick: (value: Date, modifiers?: DayModifiers | {}, event?: MouseEvent | null) => void; _getSelectedDays(value?: Date | { from?: Date; to?: Date; }): Modifier; _preventActionEventDefault: (event?: KeyboardEvent | MouseEvent | null) => void; _createWeekdayElement: (localeUtils: ReturnType<typeof localeUtilsFactory>) => ({ className, weekday, }: { className: string; weekday: WeekdayNumber; }) => React.JSX.Element; _createDayPickerProps: () => DayPickerProps; _getDayPicker(): DayPicker; _handleKeyDown: (event: KeyboardEvent) => void; _toggleFirstDayTabIndex: (tabIndex: number) => void; _focusSelectedDay: () => void; _handleDayKeyDown: (_value: Date, _modifiers: DayModifiers, event?: KeyboardEvent<HTMLDivElement> | null) => void; _getLocale(): string; componentDidMount(): void; componentDidUpdate(prevProps: DefaultedBaseCalendarProps): void; render(): React.JSX.Element; } export {}; //# sourceMappingURL=BaseCalendar.d.ts.map