@skbkontur/react-ui 4.14.2 → 4.15.1-fix-flushsync-warning
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -5
- package/cjs/components/Button/Button.d.ts +2 -6
- package/cjs/components/Button/Button.js +14 -5
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.styles.js +2 -1
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Button/getInnerLinkTheme.js +0 -3
- package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
- package/cjs/components/Calendar/Calendar.d.ts +104 -0
- package/cjs/components/Calendar/Calendar.js +475 -0
- package/cjs/components/Calendar/Calendar.js.map +1 -0
- package/cjs/components/Calendar/Calendar.md +147 -0
- package/cjs/{internal → components}/Calendar/Calendar.styles.d.ts +1 -0
- package/cjs/components/Calendar/Calendar.styles.js +33 -0
- package/cjs/components/Calendar/Calendar.styles.js.map +1 -0
- package/{internal → cjs/components}/Calendar/CalendarUtils.d.ts +19 -2
- package/cjs/components/Calendar/CalendarUtils.js +117 -0
- package/cjs/components/Calendar/CalendarUtils.js.map +1 -0
- package/cjs/components/Calendar/Month.js.map +1 -0
- package/cjs/{internal → components}/Calendar/MonthView.d.ts +1 -1
- package/cjs/{internal → components}/Calendar/MonthView.js +1 -1
- package/cjs/{internal → components}/Calendar/MonthView.js.map +1 -1
- package/cjs/components/Calendar/locale/index.d.ts +4 -0
- package/cjs/components/Calendar/locale/index.js +11 -0
- package/cjs/components/Calendar/locale/index.js.map +1 -0
- package/cjs/components/Calendar/locale/locales/en.d.ts +2 -0
- package/cjs/components/Calendar/locale/locales/en.js +16 -0
- package/cjs/components/Calendar/locale/locales/en.js.map +1 -0
- package/cjs/components/Calendar/locale/locales/ru.d.ts +2 -0
- package/cjs/components/Calendar/locale/locales/ru.js +16 -0
- package/cjs/components/Calendar/locale/locales/ru.js.map +1 -0
- package/cjs/components/Calendar/locale/types.d.ts +3 -0
- package/cjs/components/Calendar/locale/types.js +1 -0
- package/cjs/components/Calendar/locale/types.js.map +1 -0
- package/cjs/components/DatePicker/DatePicker.d.ts +16 -17
- package/cjs/components/DatePicker/DatePicker.js +107 -57
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.styles.d.ts +3 -0
- package/cjs/components/DatePicker/DatePicker.styles.js +36 -1
- package/cjs/components/DatePicker/DatePicker.styles.js.map +1 -1
- package/cjs/components/DatePicker/DatePickerHelpers.d.ts +1 -1
- package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
- package/cjs/components/DatePicker/Picker.d.ts +8 -9
- package/cjs/components/DatePicker/Picker.js +32 -41
- package/cjs/components/DatePicker/Picker.js.map +1 -1
- package/cjs/components/DatePicker/locale/locales/en.js +3 -15
- package/cjs/components/DatePicker/locale/locales/en.js.map +1 -1
- package/cjs/components/DatePicker/locale/locales/ru.js +3 -15
- package/cjs/components/DatePicker/locale/locales/ru.js.map +1 -1
- package/cjs/components/DatePicker/locale/types.d.ts +2 -2
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js +2 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.d.ts +1 -0
- package/cjs/components/FileUploader/FileUploader.js +3 -1
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +4 -1
- package/cjs/components/Kebab/Kebab.js +9 -3
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.js +4 -2
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.mixins.d.ts +1 -2
- package/cjs/components/Link/Link.mixins.js +4 -16
- package/cjs/components/Link/Link.mixins.js.map +1 -1
- package/cjs/components/Link/Link.styles.d.ts +2 -0
- package/cjs/components/Link/Link.styles.js +56 -38
- package/cjs/components/Link/Link.styles.js.map +1 -1
- package/cjs/components/Loader/Loader.js +1 -3
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/Modal/Modal.d.ts +3 -3
- package/cjs/components/Modal/Modal.js +19 -2
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +0 -2
- package/cjs/components/Modal/Modal.styles.js +25 -36
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalBody.js +0 -2
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Modal/ModalFooter.js +3 -6
- package/cjs/components/Modal/ModalFooter.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.js +2 -7
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +4 -6
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/cjs/components/ScrollContainer/ScrollContainer.js +9 -1
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/SidePage/SidePage.d.ts +3 -3
- package/cjs/components/SidePage/SidePage.js +8 -1
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/Spinner/Spinner.md +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +4 -2
- package/cjs/components/Switcher/Switcher.js +13 -3
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Toast/Toast.md +16 -12
- package/cjs/components/TokenInput/TokenInput.d.ts +44 -1
- package/cjs/components/TokenInput/TokenInput.js +42 -0
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.md +100 -0
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +1 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.js +25 -13
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.js +3 -3
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.js +4 -1
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/NativeDateInput/utils.d.ts +1 -1
- package/cjs/internal/NativeDateInput/utils.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +8 -0
- package/cjs/internal/PopupMenu/PopupMenu.js +23 -3
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ZIndex/ZIndexStorage.d.ts +0 -5
- package/cjs/internal/ZIndex/ZIndexStorage.js +1 -6
- package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
- package/cjs/internal/icons/SpinnerIcon.styles.js +2 -1
- package/cjs/internal/icons/SpinnerIcon.styles.js.map +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +4 -15
- package/cjs/internal/themes/DefaultTheme.js +15 -48
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/internal/themes/Theme2022.d.ts +0 -3
- package/cjs/internal/themes/Theme2022.js +2 -11
- package/cjs/internal/themes/Theme2022.js.map +1 -1
- package/cjs/lib/date/InternalDate.d.ts +1 -1
- package/cjs/lib/date/InternalDate.js +1 -1
- package/cjs/lib/date/InternalDate.js.map +1 -1
- package/cjs/lib/locale/decorators.js +0 -3
- package/cjs/lib/locale/decorators.js.map +1 -1
- package/cjs/lib/locale/types.d.ts +2 -0
- package/cjs/lib/locale/types.js +2 -0
- package/cjs/lib/locale/types.js.map +1 -1
- package/cjs/typings/html.d.ts +1 -1
- package/cjs/typings/utility-types.d.ts +6 -0
- package/components/Button/Button/Button.js +13 -4
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +2 -6
- package/components/Button/Button.styles/Button.styles.js +1 -1
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +0 -3
- package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
- package/{internal → components}/Calendar/Calendar/Calendar.js +136 -71
- package/components/Calendar/Calendar/Calendar.js.map +1 -0
- package/{internal → components}/Calendar/Calendar/package.json +1 -1
- package/components/Calendar/Calendar.d.ts +104 -0
- package/components/Calendar/Calendar.md +147 -0
- package/components/Calendar/Calendar.styles/Calendar.styles.js +17 -0
- package/components/Calendar/Calendar.styles/Calendar.styles.js.map +1 -0
- package/{internal → components}/Calendar/Calendar.styles/package.json +1 -1
- package/{internal → components}/Calendar/Calendar.styles.d.ts +1 -0
- package/{internal → components}/Calendar/CalendarDateShape/package.json +1 -1
- package/{internal → components}/Calendar/CalendarScrollEvents/package.json +1 -1
- package/{internal → components}/Calendar/CalendarUtils/CalendarUtils.js +34 -0
- package/components/Calendar/CalendarUtils/CalendarUtils.js.map +1 -0
- package/{internal → components}/Calendar/CalendarUtils/package.json +1 -1
- package/{cjs/internal → components}/Calendar/CalendarUtils.d.ts +19 -2
- package/{internal → components}/Calendar/DayCellView/package.json +1 -1
- package/{internal → components}/Calendar/DayCellView.styles/package.json +1 -1
- package/{internal → components}/Calendar/DayCellViewModel/package.json +1 -1
- package/components/Calendar/Month/Month.js.map +1 -0
- package/{internal → components}/Calendar/Month/package.json +1 -1
- package/{internal → components}/Calendar/MonthView/MonthView.js +1 -1
- package/components/Calendar/MonthView/MonthView.js.map +1 -0
- package/{internal → components}/Calendar/MonthView/package.json +1 -1
- package/{internal → components}/Calendar/MonthView.d.ts +1 -1
- package/{internal → components}/Calendar/MonthView.styles/package.json +1 -1
- package/{internal → components}/Calendar/MonthViewModel/package.json +1 -1
- package/{internal → components}/Calendar/config/package.json +1 -1
- package/{internal → components}/Calendar/index/package.json +1 -1
- package/components/Calendar/locale/index/index.js +8 -0
- package/components/Calendar/locale/index/index.js.map +1 -0
- package/components/Calendar/locale/index/package.json +6 -0
- package/components/Calendar/locale/index.d.ts +4 -0
- package/components/Calendar/locale/locales/en/en.js +3 -0
- package/components/Calendar/locale/locales/en/en.js.map +1 -0
- package/components/Calendar/locale/locales/en/package.json +6 -0
- package/components/Calendar/locale/locales/en.d.ts +2 -0
- package/components/Calendar/locale/locales/ru/package.json +6 -0
- package/components/Calendar/locale/locales/ru/ru.js +3 -0
- package/components/Calendar/locale/locales/ru/ru.js.map +1 -0
- package/components/Calendar/locale/locales/ru.d.ts +2 -0
- package/components/Calendar/locale/package.json +6 -0
- package/components/Calendar/locale/types/package.json +6 -0
- package/components/Calendar/locale/types/types.js +1 -0
- package/components/Calendar/locale/types/types.js.map +1 -0
- package/components/Calendar/locale/types.d.ts +3 -0
- package/{internal → components}/Calendar/package.json +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +112 -62
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +16 -17
- package/components/DatePicker/DatePicker.styles/DatePicker.styles.js +7 -1
- package/components/DatePicker/DatePicker.styles/DatePicker.styles.js.map +1 -1
- package/components/DatePicker/DatePicker.styles.d.ts +3 -0
- package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
- package/components/DatePicker/DatePickerHelpers.d.ts +1 -1
- package/components/DatePicker/Picker/Picker.js +50 -66
- package/components/DatePicker/Picker/Picker.js.map +1 -1
- package/components/DatePicker/Picker.d.ts +8 -9
- package/components/DatePicker/locale/locales/en/en.js +3 -3
- package/components/DatePicker/locale/locales/en/en.js.map +1 -1
- package/components/DatePicker/locale/locales/ru/ru.js +3 -3
- package/components/DatePicker/locale/locales/ru/ru.js.map +1 -1
- package/components/DatePicker/locale/types.d.ts +2 -2
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +2 -1
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +1 -1
- package/components/FileUploader/FileUploader/FileUploader.js +3 -1
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.d.ts +1 -0
- package/components/Kebab/Kebab/Kebab.js +6 -1
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +4 -1
- package/components/Link/Link/Link.js +4 -4
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.mixins/Link.mixins.js +2 -5
- package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
- package/components/Link/Link.mixins.d.ts +1 -2
- package/components/Link/Link.styles/Link.styles.js +28 -21
- package/components/Link/Link.styles/Link.styles.js.map +1 -1
- package/components/Link/Link.styles.d.ts +2 -0
- package/components/Loader/Loader/Loader.js +0 -2
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Modal/Modal/Modal.js +28 -11
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.d.ts +3 -3
- package/components/Modal/Modal.styles/Modal.styles.js +24 -30
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +0 -2
- package/components/Modal/ModalBody/ModalBody.js +0 -2
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Modal/ModalFooter/ModalFooter.js +3 -7
- package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js +3 -7
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +6 -5
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +12 -4
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/components/SidePage/SidePage/SidePage.js +9 -3
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +3 -3
- package/components/Spinner/Spinner.md +1 -1
- package/components/Switcher/Switcher/Switcher.js +8 -2
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +4 -2
- package/components/Toast/Toast.md +16 -12
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +44 -1
- package/components/TokenInput/TokenInput.md +100 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +33 -14
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/DateSelect/DateSelect/DateSelect.js +4 -2
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +5 -2
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/NativeDateInput/utils/utils.js.map +1 -1
- package/internal/NativeDateInput/utils.d.ts +1 -1
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +13 -2
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +8 -0
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +1 -6
- package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
- package/internal/ZIndex/ZIndexStorage.d.ts +0 -5
- package/internal/icons/SpinnerIcon.styles/SpinnerIcon.styles.js +1 -1
- package/internal/icons/SpinnerIcon.styles/SpinnerIcon.styles.js.map +1 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js +25 -80
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +4 -15
- package/internal/themes/Theme2022/Theme2022.js +6 -21
- package/internal/themes/Theme2022/Theme2022.js.map +1 -1
- package/internal/themes/Theme2022.d.ts +0 -3
- package/lib/date/InternalDate/InternalDate.js +1 -1
- package/lib/date/InternalDate/InternalDate.js.map +1 -1
- package/lib/date/InternalDate.d.ts +1 -1
- package/lib/locale/decorators/decorators.js.map +1 -1
- package/lib/locale/types/types.js.map +1 -1
- package/lib/locale/types.d.ts +2 -0
- package/package.json +2 -5
- package/typings/html.d.ts +1 -1
- package/typings/utility-types.d.ts +6 -0
- package/cjs/components/DatePicker/Picker.styles.d.ts +0 -5
- package/cjs/components/DatePicker/Picker.styles.js +0 -39
- package/cjs/components/DatePicker/Picker.styles.js.map +0 -1
- package/cjs/internal/Calendar/Calendar.d.ts +0 -63
- package/cjs/internal/Calendar/Calendar.js +0 -387
- package/cjs/internal/Calendar/Calendar.js.map +0 -1
- package/cjs/internal/Calendar/Calendar.styles.js +0 -23
- package/cjs/internal/Calendar/Calendar.styles.js.map +0 -1
- package/cjs/internal/Calendar/CalendarUtils.js +0 -71
- package/cjs/internal/Calendar/CalendarUtils.js.map +0 -1
- package/cjs/internal/Calendar/Month.js.map +0 -1
- package/components/DatePicker/Picker.styles/Picker.styles.js +0 -13
- package/components/DatePicker/Picker.styles/Picker.styles.js.map +0 -1
- package/components/DatePicker/Picker.styles/package.json +0 -6
- package/components/DatePicker/Picker.styles.d.ts +0 -5
- package/internal/Calendar/Calendar/Calendar.js.map +0 -1
- package/internal/Calendar/Calendar.d.ts +0 -63
- package/internal/Calendar/Calendar.styles/Calendar.styles.js +0 -14
- package/internal/Calendar/Calendar.styles/Calendar.styles.js.map +0 -1
- package/internal/Calendar/CalendarUtils/CalendarUtils.js.map +0 -1
- package/internal/Calendar/Month/Month.js.map +0 -1
- package/internal/Calendar/MonthView/MonthView.js.map +0 -1
- /package/cjs/{internal → components}/Calendar/CalendarDateShape.d.ts +0 -0
- /package/cjs/{internal → components}/Calendar/CalendarDateShape.js +0 -0
- /package/cjs/{internal → components}/Calendar/CalendarDateShape.js.map +0 -0
- /package/cjs/{internal → components}/Calendar/CalendarScrollEvents.d.ts +0 -0
- /package/cjs/{internal → components}/Calendar/CalendarScrollEvents.js +0 -0
- /package/cjs/{internal → components}/Calendar/CalendarScrollEvents.js.map +0 -0
- /package/cjs/{internal → components}/Calendar/DayCellView.d.ts +0 -0
- /package/cjs/{internal → components}/Calendar/DayCellView.js +0 -0
- /package/cjs/{internal → components}/Calendar/DayCellView.js.map +0 -0
- /package/cjs/{internal → components}/Calendar/DayCellView.styles.d.ts +0 -0
- /package/cjs/{internal → components}/Calendar/DayCellView.styles.js +0 -0
- /package/cjs/{internal → components}/Calendar/DayCellView.styles.js.map +0 -0
- /package/cjs/{internal → components}/Calendar/DayCellViewModel.d.ts +0 -0
- /package/cjs/{internal → components}/Calendar/DayCellViewModel.js +0 -0
- /package/cjs/{internal → components}/Calendar/DayCellViewModel.js.map +0 -0
- /package/cjs/{internal → components}/Calendar/Month.d.ts +0 -0
- /package/cjs/{internal → components}/Calendar/Month.js +0 -0
- /package/cjs/{internal → components}/Calendar/MonthView.styles.d.ts +0 -0
- /package/cjs/{internal → components}/Calendar/MonthView.styles.js +0 -0
- /package/cjs/{internal → components}/Calendar/MonthView.styles.js.map +0 -0
- /package/cjs/{internal → components}/Calendar/MonthViewModel.d.ts +0 -0
- /package/cjs/{internal → components}/Calendar/MonthViewModel.js +0 -0
- /package/cjs/{internal → components}/Calendar/MonthViewModel.js.map +0 -0
- /package/cjs/{internal → components}/Calendar/config.d.ts +0 -0
- /package/cjs/{internal → components}/Calendar/config.js +0 -0
- /package/cjs/{internal → components}/Calendar/config.js.map +0 -0
- /package/cjs/{internal → components}/Calendar/index.d.ts +0 -0
- /package/cjs/{internal → components}/Calendar/index.js +0 -0
- /package/cjs/{internal → components}/Calendar/index.js.map +0 -0
- /package/{internal → components}/Calendar/CalendarDateShape/CalendarDateShape.js +0 -0
- /package/{internal → components}/Calendar/CalendarDateShape/CalendarDateShape.js.map +0 -0
- /package/{internal → components}/Calendar/CalendarDateShape.d.ts +0 -0
- /package/{internal → components}/Calendar/CalendarScrollEvents/CalendarScrollEvents.js +0 -0
- /package/{internal → components}/Calendar/CalendarScrollEvents/CalendarScrollEvents.js.map +0 -0
- /package/{internal → components}/Calendar/CalendarScrollEvents.d.ts +0 -0
- /package/{internal → components}/Calendar/DayCellView/DayCellView.js +0 -0
- /package/{internal → components}/Calendar/DayCellView/DayCellView.js.map +0 -0
- /package/{internal → components}/Calendar/DayCellView.d.ts +0 -0
- /package/{internal → components}/Calendar/DayCellView.styles/DayCellView.styles.js +0 -0
- /package/{internal → components}/Calendar/DayCellView.styles/DayCellView.styles.js.map +0 -0
- /package/{internal → components}/Calendar/DayCellView.styles.d.ts +0 -0
- /package/{internal → components}/Calendar/DayCellViewModel/DayCellViewModel.js +0 -0
- /package/{internal → components}/Calendar/DayCellViewModel/DayCellViewModel.js.map +0 -0
- /package/{internal → components}/Calendar/DayCellViewModel.d.ts +0 -0
- /package/{internal → components}/Calendar/Month/Month.js +0 -0
- /package/{internal → components}/Calendar/Month.d.ts +0 -0
- /package/{internal → components}/Calendar/MonthView.styles/MonthView.styles.js +0 -0
- /package/{internal → components}/Calendar/MonthView.styles/MonthView.styles.js.map +0 -0
- /package/{internal → components}/Calendar/MonthView.styles.d.ts +0 -0
- /package/{internal → components}/Calendar/MonthViewModel/MonthViewModel.js +0 -0
- /package/{internal → components}/Calendar/MonthViewModel/MonthViewModel.js.map +0 -0
- /package/{internal → components}/Calendar/MonthViewModel.d.ts +0 -0
- /package/{internal → components}/Calendar/config/config.js +0 -0
- /package/{internal → components}/Calendar/config/config.js.map +0 -0
- /package/{internal → components}/Calendar/config.d.ts +0 -0
- /package/{internal → components}/Calendar/index/index.js +0 -0
- /package/{internal → components}/Calendar/index/index.js.map +0 -0
- /package/{internal → components}/Calendar/index.d.ts +0 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
Календарь с заданной датой
|
|
4
|
+
|
|
5
|
+
```jsx harmony
|
|
6
|
+
const [date, setDate] = React.useState("01.11.2021");
|
|
7
|
+
|
|
8
|
+
<Calendar
|
|
9
|
+
value={date}
|
|
10
|
+
onValueChange={setDate}
|
|
11
|
+
/>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Вне зависимости от того, какая дата выбрана в календаре в данный момент - можно изменить отображение начального года и месяца с помощью пропов `initialMonth` и `initialYear`
|
|
15
|
+
|
|
16
|
+
```jsx harmony
|
|
17
|
+
import { Checkbox } from '@skbkontur/react-ui';
|
|
18
|
+
|
|
19
|
+
const [date, setDate] = React.useState("11.12.2021");
|
|
20
|
+
const initialMonth = 7;
|
|
21
|
+
const initialYear = 2000;
|
|
22
|
+
|
|
23
|
+
<div style={{ display: 'flex' }}>
|
|
24
|
+
<Calendar
|
|
25
|
+
value={date}
|
|
26
|
+
onValueChange={setDate}
|
|
27
|
+
initialMonth={initialMonth}
|
|
28
|
+
initialYear={initialYear}
|
|
29
|
+
/>
|
|
30
|
+
<div style={{ fontSize: '16px' }}>
|
|
31
|
+
<p>Выбранная дата: {date}</p>
|
|
32
|
+
<p>Начальный месяц: {initialMonth}</p>
|
|
33
|
+
<p>Начальный год: {initialYear}</p>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### `isHoliday`
|
|
39
|
+
|
|
40
|
+
В компонент можно передать функцию `isHoliday`, которая будет получать день строкой формата `dd.mm.yyyy` и флаг `isWeekend`, и должна вернуть `true` для выходного и `false` для рабочего дня.
|
|
41
|
+
|
|
42
|
+
```jsx harmony
|
|
43
|
+
import * as DatePickerHelpers from '../DatePicker/DatePickerHelpers';
|
|
44
|
+
|
|
45
|
+
const [date, setDate] = React.useState();
|
|
46
|
+
|
|
47
|
+
const createRandomHolidays = () => {
|
|
48
|
+
const holidays = new Array(10);
|
|
49
|
+
const today = new Date();
|
|
50
|
+
|
|
51
|
+
for (let index = 0; index < holidays.length; index++) {
|
|
52
|
+
const day = new Date(today.setDate(today.getDate() + 1 + index).valueOf());
|
|
53
|
+
|
|
54
|
+
const holiday = {
|
|
55
|
+
date: day.getDate(),
|
|
56
|
+
month: day.getMonth(),
|
|
57
|
+
year: day.getFullYear(),
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
holidays[index] = DatePickerHelpers.formatDate(holiday);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return holidays;
|
|
64
|
+
};
|
|
65
|
+
const holidays = createRandomHolidays();
|
|
66
|
+
|
|
67
|
+
const isHoliday = (day, isWeekend) => {
|
|
68
|
+
const today = new Date();
|
|
69
|
+
const holiday = {
|
|
70
|
+
date: today.getDate(),
|
|
71
|
+
month: today.getMonth(),
|
|
72
|
+
year: today.getFullYear(),
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
if (holidays.includes(day)) {
|
|
76
|
+
return !isWeekend;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return isWeekend;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
<Calendar isHoliday={isHoliday} value={date} onValueChange={setDate} />;
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
Календарю можно задать кастомную высоту с помощью переменной темы `calendarWrapperHeight`
|
|
87
|
+
- Базовая высота календаря - `330px`
|
|
88
|
+
- Максимальная высота календаря - `450px`
|
|
89
|
+
```jsx harmony
|
|
90
|
+
import { ThemeContext } from '@skbkontur/react-ui/lib/theming/ThemeContext';
|
|
91
|
+
import { ThemeFactory } from '@skbkontur/react-ui/lib/theming/ThemeFactory';
|
|
92
|
+
|
|
93
|
+
const [date, setDate] = React.useState("01.11.2021");
|
|
94
|
+
const theme = React.useContext(ThemeContext);
|
|
95
|
+
|
|
96
|
+
<ThemeContext.Provider
|
|
97
|
+
value={ThemeFactory.create({ calendarWrapperHeight: '450px' }, theme)}
|
|
98
|
+
>
|
|
99
|
+
<Calendar
|
|
100
|
+
value={date}
|
|
101
|
+
onValueChange={setDate}
|
|
102
|
+
/>
|
|
103
|
+
</ThemeContext.Provider>
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
#### Локали по умолчанию
|
|
108
|
+
|
|
109
|
+
```typescript static
|
|
110
|
+
interface CalendarLocale {
|
|
111
|
+
months?: string[];
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
const ru_RU = {
|
|
115
|
+
months: [
|
|
116
|
+
'Январь',
|
|
117
|
+
'Февраль',
|
|
118
|
+
'Март',
|
|
119
|
+
'Апрель',
|
|
120
|
+
'Май',
|
|
121
|
+
'Июнь',
|
|
122
|
+
'Июль',
|
|
123
|
+
'Август',
|
|
124
|
+
'Сентябрь',
|
|
125
|
+
'Октябрь',
|
|
126
|
+
'Ноябрь',
|
|
127
|
+
'Декабрь',
|
|
128
|
+
]
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
const en_GB = {
|
|
132
|
+
months: [
|
|
133
|
+
'January',
|
|
134
|
+
'February',
|
|
135
|
+
'March',
|
|
136
|
+
'April',
|
|
137
|
+
'May',
|
|
138
|
+
'June',
|
|
139
|
+
'July',
|
|
140
|
+
'August',
|
|
141
|
+
'September',
|
|
142
|
+
'October',
|
|
143
|
+
'November',
|
|
144
|
+
'December',
|
|
145
|
+
]
|
|
146
|
+
};
|
|
147
|
+
```
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");var _templateObject, _templateObject2, _templateObject3;
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var styles = (0, _Emotion.memoizeStyle)({
|
|
5
|
+
root: function root(t) {
|
|
6
|
+
var width = parseInt(t.calendarCellSize) * 7;
|
|
7
|
+
return (0, _Emotion.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n background: ", ";\n box-sizing: content-box;\n border-radius: ", ";\n color: ", ";\n display: block;\n padding: 0 ", ";\n width: ", "px;\n touch-action: none;\n "])),
|
|
8
|
+
|
|
9
|
+
t.calendarBg,
|
|
10
|
+
|
|
11
|
+
t.pickerBorderRadius,
|
|
12
|
+
t.textColorDefault,
|
|
13
|
+
|
|
14
|
+
t.calendarPaddingX,
|
|
15
|
+
width);
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
},
|
|
19
|
+
|
|
20
|
+
wrapper: function wrapper() {
|
|
21
|
+
return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n font-size: 14px;\n position: relative;\n overflow: hidden;\n "])));
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
},
|
|
27
|
+
|
|
28
|
+
separator: function separator(t) {
|
|
29
|
+
return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n border-bottom: ", ";\n margin: 0 ", ";\n "])),
|
|
30
|
+
t.calendarBottomSeparatorBorder,
|
|
31
|
+
t.calendarMonthTitleMarginX);
|
|
32
|
+
|
|
33
|
+
} });exports.styles = styles;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["Calendar.styles.ts"],"names":["styles","root","t","width","parseInt","calendarCellSize","css","calendarBg","pickerBorderRadius","textColorDefault","calendarPaddingX","wrapper","separator","calendarBottomSeparatorBorder","calendarMonthTitleMarginX"],"mappings":"4QAAA,oD;;;AAGO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,QAAMC,KAAK,GAAGC,QAAQ,CAACF,CAAC,CAACG,gBAAH,CAAR,GAA+B,CAA7C;AACA,eAAOC,YAAP;;AAEgBJ,IAAAA,CAAC,CAACK,UAFlB;;AAImBL,IAAAA,CAAC,CAACM,kBAJrB;AAKWN,IAAAA,CAAC,CAACO,gBALb;;AAOeP,IAAAA,CAAC,CAACQ,gBAPjB;AAQWP,IAAAA,KARX;;;AAWD,GAdgC;;AAgBjCQ,EAAAA,OAhBiC,qBAgBvB;AACR,eAAOL,YAAP;;;;;AAKD,GAtBgC;;AAwBjCM,EAAAA,SAxBiC,qBAwBvBV,CAxBuB,EAwBb;AAClB,eAAOI,YAAP;AACmBJ,IAAAA,CAAC,CAACW,6BADrB;AAEcX,IAAAA,CAAC,CAACY,yBAFhB;;AAID,GA7BgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n const width = parseInt(t.calendarCellSize) * 7;\n return css`\n display: inline-block;\n background: ${t.calendarBg};\n box-sizing: content-box;\n border-radius: ${t.pickerBorderRadius};\n color: ${t.textColorDefault};\n display: block;\n padding: 0 ${t.calendarPaddingX};\n width: ${width}px;\n touch-action: none;\n `;\n },\n\n wrapper() {\n return css`\n font-size: 14px;\n position: relative;\n overflow: hidden;\n `;\n },\n\n separator(t: Theme) {\n return css`\n border-bottom: ${t.calendarBottomSeparatorBorder};\n margin: 0 ${t.calendarMonthTitleMarginX};\n `;\n },\n});\n"]}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
+
import { Nullable } from '../../typings/utility-types';
|
|
1
2
|
import { Theme } from '../../lib/theming/Theme';
|
|
2
3
|
import { MonthViewModel } from './MonthViewModel';
|
|
3
|
-
import {
|
|
4
|
+
import { CalendarState } from './Calendar';
|
|
5
|
+
import { CalendarDateShape } from './CalendarDateShape';
|
|
4
6
|
export declare const calculateScrollPosition: (months: MonthViewModel[], scrollPosition: number, deltaY: number, theme: Theme) => {
|
|
5
7
|
scrollPosition: number;
|
|
6
8
|
months: MonthViewModel[];
|
|
7
9
|
scrollDirection: number;
|
|
8
10
|
};
|
|
9
|
-
export declare const applyDelta: (deltaY: number, theme: Theme) => ({ scrollPosition, months }: Readonly<CalendarState>, { minDate, maxDate }:
|
|
11
|
+
export declare const applyDelta: (deltaY: number, theme: Theme) => ({ scrollPosition, months }: Readonly<CalendarState>, { minDate, maxDate }: {
|
|
12
|
+
minDate: CalendarDateShape;
|
|
13
|
+
maxDate: CalendarDateShape;
|
|
14
|
+
}) => {
|
|
10
15
|
scrollPosition: number;
|
|
11
16
|
months: MonthViewModel[];
|
|
12
17
|
scrollDirection: number;
|
|
@@ -17,3 +22,15 @@ export declare const applyDelta: (deltaY: number, theme: Theme) => ({ scrollPosi
|
|
|
17
22
|
export declare const isMonthVisible: (top: number, month: MonthViewModel, theme: Theme) => boolean;
|
|
18
23
|
export declare const getMonthsHeight: (months: MonthViewModel[], theme: Theme) => number;
|
|
19
24
|
export declare const getMonths: (month: number, year: number) => MonthViewModel[];
|
|
25
|
+
export declare const getMonthInNativeFormat: (initialMonth: number | undefined) => number | undefined;
|
|
26
|
+
export declare const getInitialDate: ({ today, date, minDate, maxDate, }: {
|
|
27
|
+
today: CalendarDateShape;
|
|
28
|
+
date?: Nullable<CalendarDateShape>;
|
|
29
|
+
minDate?: Nullable<CalendarDateShape>;
|
|
30
|
+
maxDate?: Nullable<CalendarDateShape>;
|
|
31
|
+
}) => CalendarDateShape;
|
|
32
|
+
export declare const getTodayDate: () => {
|
|
33
|
+
date: number;
|
|
34
|
+
month: number;
|
|
35
|
+
year: number;
|
|
36
|
+
};
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";exports.__esModule = true;exports.isMonthVisible = exports.getTodayDate = exports.getMonthsHeight = exports.getMonths = exports.getMonthInNativeFormat = exports.getInitialDate = exports.calculateScrollPosition = exports.applyDelta = void 0;
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _config = require("./config");
|
|
5
|
+
var _MonthViewModel = require("./MonthViewModel");
|
|
6
|
+
|
|
7
|
+
var _CalendarDateShape = require("./CalendarDateShape");
|
|
8
|
+
|
|
9
|
+
var calculateScrollPosition = function calculateScrollPosition(
|
|
10
|
+
months,
|
|
11
|
+
scrollPosition,
|
|
12
|
+
deltaY,
|
|
13
|
+
theme)
|
|
14
|
+
{
|
|
15
|
+
var scrollDirection = deltaY > 0 ? 1 : -1;
|
|
16
|
+
|
|
17
|
+
var nextScrollPosition = scrollPosition - deltaY;
|
|
18
|
+
var nextMonths = months;
|
|
19
|
+
|
|
20
|
+
var firstMonth = months[0];
|
|
21
|
+
if (scrollDirection < 0 && nextScrollPosition >= firstMonth.getHeight(theme)) {
|
|
22
|
+
do {
|
|
23
|
+
nextScrollPosition -= nextMonths[0].getHeight(theme);
|
|
24
|
+
nextMonths = getMonths(firstMonth.month, firstMonth.year);
|
|
25
|
+
} while (nextScrollPosition >= nextMonths[0].getHeight(theme));
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
var lastMonth = months[months.length - 1];
|
|
29
|
+
if (scrollDirection > 0 && nextScrollPosition < 0) {
|
|
30
|
+
do {
|
|
31
|
+
nextScrollPosition += nextMonths[1].getHeight(theme);
|
|
32
|
+
nextMonths = getMonths(lastMonth.month, lastMonth.year);
|
|
33
|
+
} while (nextScrollPosition < 0);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return {
|
|
37
|
+
scrollPosition: nextScrollPosition,
|
|
38
|
+
months: nextMonths,
|
|
39
|
+
scrollDirection: scrollDirection };
|
|
40
|
+
|
|
41
|
+
};exports.calculateScrollPosition = calculateScrollPosition;
|
|
42
|
+
|
|
43
|
+
var applyDelta = function applyDelta(deltaY, theme) {
|
|
44
|
+
return function (_ref, _ref2)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
{var scrollPosition = _ref.scrollPosition,months = _ref.months;var minDate = _ref2.minDate,maxDate = _ref2.maxDate;
|
|
48
|
+
var scrollDirection = deltaY > 0 ? 1 : -1;
|
|
49
|
+
var isMinDateExceeded =
|
|
50
|
+
minDate && scrollDirection < 0 && minDate.year * 12 + minDate.month > months[0].year * 12 + months[0].month;
|
|
51
|
+
|
|
52
|
+
var isMaxDateExceeded =
|
|
53
|
+
maxDate && scrollDirection > 0 && maxDate.year * 12 + maxDate.month < months[1].year * 12 + months[1].month;
|
|
54
|
+
|
|
55
|
+
if (isMinDateExceeded) {
|
|
56
|
+
return { scrollPosition: 0, scrollDirection: scrollDirection };
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (isMaxDateExceeded) {
|
|
60
|
+
return { scrollPosition: months[2].getHeight(theme), scrollDirection: scrollDirection };
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return calculateScrollPosition(months, scrollPosition, deltaY, theme);
|
|
64
|
+
};
|
|
65
|
+
};exports.applyDelta = applyDelta;
|
|
66
|
+
|
|
67
|
+
var isMonthVisible = function isMonthVisible(top, month, theme) {
|
|
68
|
+
return top < (0, _config.themeConfig)(theme).WRAPPER_HEIGHT && top > -month.getHeight(theme);
|
|
69
|
+
};exports.isMonthVisible = isMonthVisible;
|
|
70
|
+
|
|
71
|
+
var getMonthsHeight = function getMonthsHeight(months, theme) {return (
|
|
72
|
+
months.reduce(function (a, b) {return a + b.getHeight(theme);}, 0));};exports.getMonthsHeight = getMonthsHeight;
|
|
73
|
+
|
|
74
|
+
var getMonths = function getMonths(month, year) {
|
|
75
|
+
return [-1, 0, 1].map(function (x) {return _MonthViewModel.MonthViewModel.create(month + x, year);});
|
|
76
|
+
};exports.getMonths = getMonths;
|
|
77
|
+
|
|
78
|
+
var getMonthInNativeFormat = function getMonthInNativeFormat(initialMonth) {
|
|
79
|
+
if (initialMonth) {
|
|
80
|
+
return initialMonth - 1;
|
|
81
|
+
}
|
|
82
|
+
};exports.getMonthInNativeFormat = getMonthInNativeFormat;
|
|
83
|
+
|
|
84
|
+
var getInitialDate = function getInitialDate(_ref3)
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
{var today = _ref3.today,date = _ref3.date,minDate = _ref3.minDate,maxDate = _ref3.maxDate;
|
|
95
|
+
if (date) {
|
|
96
|
+
return date;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (minDate && (0, _CalendarDateShape.isLess)(today, minDate)) {
|
|
100
|
+
return minDate;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (maxDate && (0, _CalendarDateShape.isGreater)(today, maxDate)) {
|
|
104
|
+
return maxDate;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return today;
|
|
108
|
+
};exports.getInitialDate = getInitialDate;
|
|
109
|
+
|
|
110
|
+
var getTodayDate = function getTodayDate() {
|
|
111
|
+
var date = new Date();
|
|
112
|
+
return {
|
|
113
|
+
date: date.getDate(),
|
|
114
|
+
month: date.getMonth(),
|
|
115
|
+
year: date.getFullYear() };
|
|
116
|
+
|
|
117
|
+
};exports.getTodayDate = getTodayDate;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["CalendarUtils.ts"],"names":["calculateScrollPosition","months","scrollPosition","deltaY","theme","scrollDirection","nextScrollPosition","nextMonths","firstMonth","getHeight","getMonths","month","year","lastMonth","length","applyDelta","minDate","maxDate","isMinDateExceeded","isMaxDateExceeded","isMonthVisible","top","WRAPPER_HEIGHT","getMonthsHeight","reduce","a","b","map","x","MonthViewModel","create","getMonthInNativeFormat","initialMonth","getInitialDate","today","date","getTodayDate","Date","getDate","getMonth","getFullYear"],"mappings":"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","sourcesContent":["import { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\n\nimport { themeConfig } from './config';\nimport { MonthViewModel } from './MonthViewModel';\nimport { CalendarState } from './Calendar';\nimport { CalendarDateShape, isGreater, isLess } from './CalendarDateShape';\n\nexport const calculateScrollPosition = (\n months: MonthViewModel[],\n scrollPosition: number,\n deltaY: number,\n theme: Theme,\n) => {\n const scrollDirection = deltaY > 0 ? 1 : -1;\n\n let nextScrollPosition = scrollPosition - deltaY;\n let nextMonths = months;\n\n const firstMonth = months[0];\n if (scrollDirection < 0 && nextScrollPosition >= firstMonth.getHeight(theme)) {\n do {\n nextScrollPosition -= nextMonths[0].getHeight(theme);\n nextMonths = getMonths(firstMonth.month, firstMonth.year);\n } while (nextScrollPosition >= nextMonths[0].getHeight(theme));\n }\n\n const lastMonth = months[months.length - 1];\n if (scrollDirection > 0 && nextScrollPosition < 0) {\n do {\n nextScrollPosition += nextMonths[1].getHeight(theme);\n nextMonths = getMonths(lastMonth.month, lastMonth.year);\n } while (nextScrollPosition < 0);\n }\n\n return {\n scrollPosition: nextScrollPosition,\n months: nextMonths,\n scrollDirection,\n };\n};\n\nexport const applyDelta = (deltaY: number, theme: Theme) => {\n return (\n { scrollPosition, months }: Readonly<CalendarState>,\n { minDate, maxDate }: { minDate: CalendarDateShape; maxDate: CalendarDateShape },\n ) => {\n const scrollDirection = deltaY > 0 ? 1 : -1;\n const isMinDateExceeded =\n minDate && scrollDirection < 0 && minDate.year * 12 + minDate.month > months[0].year * 12 + months[0].month;\n\n const isMaxDateExceeded =\n maxDate && scrollDirection > 0 && maxDate.year * 12 + maxDate.month < months[1].year * 12 + months[1].month;\n\n if (isMinDateExceeded) {\n return { scrollPosition: 0, scrollDirection };\n }\n\n if (isMaxDateExceeded) {\n return { scrollPosition: months[2].getHeight(theme), scrollDirection };\n }\n\n return calculateScrollPosition(months, scrollPosition, deltaY, theme);\n };\n};\n\nexport const isMonthVisible = (top: number, month: MonthViewModel, theme: Theme) => {\n return top < themeConfig(theme).WRAPPER_HEIGHT && top > -month.getHeight(theme);\n};\n\nexport const getMonthsHeight = (months: MonthViewModel[], theme: Theme) =>\n months.reduce((a, b) => a + b.getHeight(theme), 0);\n\nexport const getMonths = (month: number, year: number): MonthViewModel[] => {\n return [-1, 0, 1].map((x) => MonthViewModel.create(month + x, year));\n};\n\nexport const getMonthInNativeFormat = (initialMonth: number | undefined) => {\n if (initialMonth) {\n return initialMonth - 1;\n }\n};\n\nexport const getInitialDate = ({\n today,\n date,\n minDate,\n maxDate,\n}: {\n today: CalendarDateShape;\n date?: Nullable<CalendarDateShape>;\n minDate?: Nullable<CalendarDateShape>;\n maxDate?: Nullable<CalendarDateShape>;\n}) => {\n if (date) {\n return date;\n }\n\n if (minDate && isLess(today, minDate)) {\n return minDate;\n }\n\n if (maxDate && isGreater(today, maxDate)) {\n return maxDate;\n }\n\n return today;\n};\n\nexport const getTodayDate = () => {\n const date = new Date();\n return {\n date: date.getDate(),\n month: date.getMonth(),\n year: date.getFullYear(),\n };\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["Month.tsx"],"names":["Month","monthSelect","yearSelect","closeSelects","close","monthRef","yearRef","handleMonthSelect","month","props","onMonthYearChange","year","handleYearSelect","shouldComponentUpdate","nextProps","top","CDS","isEqual","value","today","minDate","maxDate","componentDidMount","CalendarScrollEvents","addListener","render","theme","renderMain","offset","getHeight","isFirstInYear","isLastInYear","renderCells","days","onDateClick","isHoliday","React","Component","MonthDayGrid","getProps","defaultProps","styles","monthDayGrid","width","DAY_SIZE","display","map","day","isWeekend","date"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DateSelect } from '../../internal/DateSelect';\nimport { Nullable } from '../../typings/utility-types';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { themeConfig } from './config';\nimport * as CDS from './CalendarDateShape';\nimport { MonthViewModel } from './MonthViewModel';\nimport { DayCellViewModel } from './DayCellViewModel';\nimport { MonthView } from './MonthView';\nimport { DayCellView } from './DayCellView';\nimport * as CalendarScrollEvents from './CalendarScrollEvents';\nimport { styles } from './MonthView.styles';\n\ninterface MonthProps {\n top: number;\n month: MonthViewModel;\n maxDate?: CDS.CalendarDateShape;\n minDate?: CDS.CalendarDateShape;\n today?: CDS.CalendarDateShape;\n value?: Nullable<CDS.CalendarDateShape>;\n onDateClick?: (date: CDS.CalendarDateShape) => void;\n onMonthYearChange: (month: number, year: number) => void;\n isHoliday?: (day: CDS.CalendarDateShape & { isWeekend: boolean }) => boolean;\n}\n\ntype DefaultProps = Required<Pick<MonthDayGridProps, 'isHoliday'>>;\n\nexport class Month extends React.Component<MonthProps> {\n private theme!: Theme;\n\n private monthSelect: DateSelect | null = null;\n private yearSelect: DateSelect | null = null;\n\n public shouldComponentUpdate(nextProps: MonthProps) {\n if (this.props.top !== nextProps.top) {\n return true;\n }\n if (!CDS.isEqual(nextProps.value, this.props.value)) {\n return true;\n }\n if (!CDS.isEqual(nextProps.today, this.props.today)) {\n return true;\n }\n if (!CDS.isEqual(nextProps.minDate, this.props.minDate)) {\n return true;\n }\n if (!CDS.isEqual(nextProps.maxDate, this.props.maxDate)) {\n return true;\n }\n return this.props.month !== nextProps.month;\n }\n\n public componentDidMount() {\n CalendarScrollEvents.addListener(this.closeSelects);\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const { month, maxDate, minDate, top } = this.props;\n return (\n <MonthView\n firstDayOffset={month.offset}\n height={month.getHeight(this.theme)}\n isFirstInYear={month.isFirstInYear}\n isLastInYear={month.isLastInYear}\n maxDate={maxDate}\n minDate={minDate}\n month={month.month}\n top={top}\n year={month.year}\n onMonthSelect={this.handleMonthSelect}\n onYearSelect={this.handleYearSelect}\n monthSelectRef={this.monthRef}\n yearSelectRef={this.yearRef}\n >\n {this.renderCells()}\n </MonthView>\n );\n }\n\n private renderCells() {\n return (\n <MonthDayGrid\n days={this.props.month.days}\n offset={this.props.month.offset}\n minDate={this.props.minDate}\n maxDate={this.props.maxDate}\n today={this.props.today}\n value={this.props.value}\n onDateClick={this.props.onDateClick}\n isHoliday={this.props.isHoliday}\n />\n );\n }\n\n private closeSelects = () => {\n if (this.monthSelect) {\n this.monthSelect.close();\n }\n if (this.yearSelect) {\n this.yearSelect.close();\n }\n };\n\n private monthRef = (monthSelect: DateSelect | null) => {\n this.monthSelect = monthSelect;\n };\n\n private yearRef = (yearSelect: DateSelect | null) => {\n this.yearSelect = yearSelect;\n };\n\n private handleMonthSelect = (month: number) => {\n this.props.onMonthYearChange(month, this.props.month.year);\n };\n\n private handleYearSelect = (year: number) => {\n this.props.onMonthYearChange(this.props.month.month, year);\n };\n}\n\ninterface MonthDayGridProps {\n days: DayCellViewModel[];\n offset: number;\n minDate?: CDS.CalendarDateShape;\n maxDate?: CDS.CalendarDateShape;\n today?: CDS.CalendarDateShape;\n value?: Nullable<CDS.CalendarDateShape>;\n onDateClick?: (x0: CDS.CalendarDateShape) => void;\n isHoliday?: (day: CDS.CalendarDateShape & { isWeekend: boolean }) => boolean;\n}\n\nclass MonthDayGrid extends React.Component<MonthDayGridProps> {\n private theme!: Theme;\n\n public static defaultProps: DefaultProps = {\n isHoliday: (day: CDS.CalendarDateShape & { isWeekend: boolean }) => day.isWeekend,\n };\n\n private getProps = createPropsGetter(MonthDayGrid.defaultProps);\n\n public shouldComponentUpdate(nextProps: MonthDayGridProps) {\n if (!CDS.isEqual(nextProps.value, this.props.value)) {\n return true;\n }\n if (!CDS.isEqual(nextProps.today, this.props.today)) {\n return true;\n }\n if (!CDS.isEqual(nextProps.minDate, this.props.minDate)) {\n return true;\n }\n if (!CDS.isEqual(nextProps.maxDate, this.props.maxDate)) {\n return true;\n }\n return this.props.days !== nextProps.days;\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n return (\n <div className={styles.monthDayGrid(this.theme)}>\n <div\n style={{\n width: this.props.offset * themeConfig(this.theme).DAY_SIZE,\n display: 'inline-block',\n }}\n />\n {this.props.days.map((day) => {\n const isWeekend = this.getProps().isHoliday(day);\n\n return (\n <DayCellView\n date={day}\n key={`${day.date}.${day.month}.${day.year}`}\n minDate={this.props.minDate}\n maxDate={this.props.maxDate}\n today={this.props.today}\n value={this.props.value}\n isWeekend={isWeekend}\n onDateClick={this.props.onDateClick}\n />\n );\n })}\n </div>\n );\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";exports.__esModule = true;exports.MonthView = MonthView;var _react = _interopRequireWildcard(require("react"));
|
|
2
2
|
|
|
3
|
-
var _DateSelect = require("
|
|
3
|
+
var _DateSelect = require("../../internal/DateSelect");
|
|
4
4
|
var _ThemeContext = require("../../lib/theming/ThemeContext");
|
|
5
5
|
var ColorFunctions = _interopRequireWildcard(require("../../lib/styles/ColorFunctions"));
|
|
6
6
|
var _Emotion = require("../../lib/theming/Emotion");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MonthView.tsx"],"names":["MonthView","props","theme","ThemeContext","children","height","isFirstInYear","isLastInYear","maxDate","minDate","month","top","year","onMonthSelect","onYearSelect","monthSelectRef","yearSelectRef","isTopNegative","isHeaderSticky","headerTop","Math","min","MONTH_TITLE_HEIGHT","alpha","borderBottomColor","ColorFunctions","fade","calendarMonthTitleBorderBottomColor","isYearVisible","yearTop","monthSelectDisabled","yearSelectDisabled","getMinMonth","value","i","CDS","isGreaterOrEqual","date","getMaxMonth","max","isLessOrEqual","CalendarDataTids","styles","header","headerSticky","monthTitle","headerMonth","undefined","headerYear"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\n\nimport { DateSelect } from '
|
|
1
|
+
{"version":3,"sources":["MonthView.tsx"],"names":["MonthView","props","theme","ThemeContext","children","height","isFirstInYear","isLastInYear","maxDate","minDate","month","top","year","onMonthSelect","onYearSelect","monthSelectRef","yearSelectRef","isTopNegative","isHeaderSticky","headerTop","Math","min","MONTH_TITLE_HEIGHT","alpha","borderBottomColor","ColorFunctions","fade","calendarMonthTitleBorderBottomColor","isYearVisible","yearTop","monthSelectDisabled","yearSelectDisabled","getMinMonth","value","i","CDS","isGreaterOrEqual","date","getMaxMonth","max","isLessOrEqual","CalendarDataTids","styles","header","headerSticky","monthTitle","headerMonth","undefined","headerYear"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\n\nimport { DateSelect } from '../../internal/DateSelect';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport * as ColorFunctions from '../../lib/styles/ColorFunctions';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './MonthView.styles';\nimport { themeConfig } from './config';\nimport * as CDS from './CalendarDateShape';\nimport { CalendarDataTids } from './Calendar';\n\ninterface MonthViewProps {\n children: React.ReactNode;\n firstDayOffset: number;\n height: number;\n isFirstInYear?: boolean;\n isLastInYear?: boolean;\n maxDate?: CDS.CalendarDateShape;\n minDate?: CDS.CalendarDateShape;\n month: number;\n top: number;\n year: number;\n onMonthSelect: (month: number) => void;\n onYearSelect: (month: number) => void;\n monthSelectRef: (select: DateSelect | null) => void;\n yearSelectRef: (select: DateSelect | null) => void;\n}\n\nexport function MonthView(props: MonthViewProps) {\n const theme = useContext(ThemeContext);\n\n const {\n children,\n height,\n isFirstInYear,\n isLastInYear,\n maxDate,\n minDate,\n month,\n top,\n year,\n onMonthSelect,\n onYearSelect,\n monthSelectRef,\n yearSelectRef,\n } = props;\n\n const isTopNegative = top <= 0;\n const isHeaderSticky = isTopNegative && height >= -top;\n const headerTop = isHeaderSticky ? Math.min(-top, height - themeConfig(theme).MONTH_TITLE_HEIGHT) : 0;\n const alpha = isHeaderSticky ? (height + top - themeConfig(theme).MONTH_TITLE_HEIGHT) / 10 : 1;\n const borderBottomColor = ColorFunctions.fade(theme.calendarMonthTitleBorderBottomColor, alpha);\n const isYearVisible = isFirstInYear || isHeaderSticky;\n const yearTop = isHeaderSticky && !isLastInYear ? -headerTop - top : 0;\n const monthSelectDisabled = top > 40 || headerTop < 0 || headerTop >= height - themeConfig(theme).MONTH_TITLE_HEIGHT;\n const yearSelectDisabled = top > 40 || (isLastInYear && top < -height + themeConfig(theme).MONTH_TITLE_HEIGHT);\n\n const getMinMonth = (value: number) => {\n let min = 0;\n for (let i = 0; i < 12; ++i) {\n if (minDate && CDS.isGreaterOrEqual({ date: 31, month: i, year: value }, minDate)) {\n min = i;\n break;\n }\n }\n return min;\n };\n\n const getMaxMonth = (value: number) => {\n let max = 11;\n for (let i = 11; i >= 0; --i) {\n if (maxDate && CDS.isLessOrEqual({ date: 1, month: i, year: value }, maxDate)) {\n max = i;\n break;\n }\n }\n return max;\n };\n\n return (\n <div data-tid={CalendarDataTids.month} className={styles.month(theme)} style={{ top }} key={month + '-' + year}>\n <div\n style={{ top: headerTop }}\n className={cx({\n [styles.header()]: true,\n [styles.headerSticky(theme)]: isHeaderSticky,\n })}\n >\n <div style={{ borderBottomColor }} className={styles.monthTitle(theme)}>\n <div data-tid={CalendarDataTids.headerMonth} className={styles.headerMonth(theme)}>\n <DateSelect\n disabled={monthSelectDisabled}\n width={85}\n type=\"month\"\n value={month}\n onValueChange={onMonthSelect}\n ref={!monthSelectDisabled ? monthSelectRef : undefined}\n minValue={getMinMonth(year)}\n maxValue={getMaxMonth(year)}\n />\n </div>\n {isYearVisible && (\n <div data-tid={CalendarDataTids.headerYear} className={styles.headerYear(theme)} style={{ top: yearTop }}>\n <DateSelect\n disabled={yearSelectDisabled}\n width={50}\n type=\"year\"\n value={year}\n minValue={minDate ? minDate.year : undefined}\n maxValue={maxDate ? maxDate.year : undefined}\n onValueChange={onYearSelect}\n ref={!yearSelectDisabled ? yearSelectRef : undefined}\n />\n </div>\n )}\n </div>\n </div>\n {children}\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";exports.__esModule = true;var _exportNames = { CalendarLocaleHelper: true };exports.CalendarLocaleHelper = void 0;var _LocaleHelper = require("../../../lib/locale/LocaleHelper");
|
|
2
|
+
|
|
3
|
+
var _en = require("./locales/en");
|
|
4
|
+
var _ru = require("./locales/ru");
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _types = require("./types");Object.keys(_types).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;if (key in exports && exports[key] === _types[key]) return;exports[key] = _types[key];});
|
|
8
|
+
|
|
9
|
+
var CalendarLocaleHelper = new _LocaleHelper.LocaleHelper({
|
|
10
|
+
ru_RU: _ru.componentsLocales,
|
|
11
|
+
en_GB: _en.componentsLocales });exports.CalendarLocaleHelper = CalendarLocaleHelper;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["CalendarLocaleHelper","LocaleHelper","ru_RU","en_GB"],"mappings":"+HAAA;;AAEA;AACA;;;AAGA;;AAEO,IAAMA,oBAAoB,GAAG,IAAIC,0BAAJ,CAAiC;AACnEC,EAAAA,KAAK,EAALA,qBADmE;AAEnEC,EAAAA,KAAK,EAALA,qBAFmE,EAAjC,CAA7B,C","sourcesContent":["import { LocaleHelper } from '../../../lib/locale/LocaleHelper';\n\nimport { componentsLocales as en_GB } from './locales/en';\nimport { componentsLocales as ru_RU } from './locales/ru';\nimport { CalendarLocale } from './types';\n\nexport * from './types';\n\nexport const CalendarLocaleHelper = new LocaleHelper<CalendarLocale>({\n ru_RU,\n en_GB,\n});\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";exports.__esModule = true;exports.componentsLocales = void 0;
|
|
2
|
+
|
|
3
|
+
var componentsLocales = {
|
|
4
|
+
months: [
|
|
5
|
+
'January',
|
|
6
|
+
'February',
|
|
7
|
+
'March',
|
|
8
|
+
'April',
|
|
9
|
+
'May',
|
|
10
|
+
'June',
|
|
11
|
+
'July',
|
|
12
|
+
'August',
|
|
13
|
+
'September',
|
|
14
|
+
'October',
|
|
15
|
+
'November',
|
|
16
|
+
'December'] };exports.componentsLocales = componentsLocales;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["en.ts"],"names":["componentsLocales","months"],"mappings":";;AAEO,IAAMA,iBAAiC,GAAG;AAC/CC,EAAAA,MAAM,EAAE;AACN,WADM;AAEN,YAFM;AAGN,SAHM;AAIN,SAJM;AAKN,OALM;AAMN,QANM;AAON,QAPM;AAQN,UARM;AASN,aATM;AAUN,WAVM;AAWN,YAXM;AAYN,YAZM,CADuC,EAA1C,C","sourcesContent":["import { CalendarLocale } from '../types';\n\nexport const componentsLocales: CalendarLocale = {\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n};\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";exports.__esModule = true;exports.componentsLocales = void 0;
|
|
2
|
+
|
|
3
|
+
var componentsLocales = {
|
|
4
|
+
months: [
|
|
5
|
+
'Январь',
|
|
6
|
+
'Февраль',
|
|
7
|
+
'Март',
|
|
8
|
+
'Апрель',
|
|
9
|
+
'Май',
|
|
10
|
+
'Июнь',
|
|
11
|
+
'Июль',
|
|
12
|
+
'Август',
|
|
13
|
+
'Сентябрь',
|
|
14
|
+
'Октябрь',
|
|
15
|
+
'Ноябрь',
|
|
16
|
+
'Декабрь'] };exports.componentsLocales = componentsLocales;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ru.ts"],"names":["componentsLocales","months"],"mappings":";;AAEO,IAAMA,iBAAiC,GAAG;AAC/CC,EAAAA,MAAM,EAAE;AACN,UADM;AAEN,WAFM;AAGN,QAHM;AAIN,UAJM;AAKN,OALM;AAMN,QANM;AAON,QAPM;AAQN,UARM;AASN,YATM;AAUN,WAVM;AAWN,UAXM;AAYN,WAZM,CADuC,EAA1C,C","sourcesContent":["import { CalendarLocale } from '../types';\n\nexport const componentsLocales: CalendarLocale = {\n months: [\n 'Январь',\n 'Февраль',\n 'Март',\n 'Апрель',\n 'Май',\n 'Июнь',\n 'Июль',\n 'Август',\n 'Сентябрь',\n 'Октябрь',\n 'Ноябрь',\n 'Декабрь',\n ],\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.__esModule = true;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
|
|
@@ -3,17 +3,19 @@ import React from 'react';
|
|
|
3
3
|
import { Nullable } from '../../typings/utility-types';
|
|
4
4
|
import { DropdownContainerProps } from '../../internal/DropdownContainer';
|
|
5
5
|
import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
|
|
6
|
+
import { CalendarDateShape, CalendarProps } from '../Calendar';
|
|
6
7
|
export declare const MIN_WIDTH = 120;
|
|
7
|
-
export interface DatePickerProps extends Pick<DropdownContainerProps, 'menuPos'>, CommonProps {
|
|
8
|
+
export interface DatePickerProps extends Pick<DropdownContainerProps, 'menuPos'>, Pick<CalendarProps, 'isHoliday' | 'minDate' | 'maxDate'>, CommonProps {
|
|
8
9
|
autoFocus?: boolean;
|
|
9
10
|
disabled?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Отвечает за отображение кнопки "Сегодня".
|
|
13
|
+
*/
|
|
10
14
|
enableTodayLink?: boolean;
|
|
11
15
|
/**
|
|
12
16
|
* Состояние валидации при ошибке.
|
|
13
17
|
*/
|
|
14
18
|
error?: boolean;
|
|
15
|
-
minDate?: string;
|
|
16
|
-
maxDate?: string;
|
|
17
19
|
menuAlign?: 'left' | 'right';
|
|
18
20
|
size?: 'small' | 'medium' | 'large';
|
|
19
21
|
value?: string | null;
|
|
@@ -40,26 +42,20 @@ export interface DatePickerProps extends Pick<DropdownContainerProps, 'menuPos'>
|
|
|
40
42
|
* - На iOS нативный календарь не умеет работать с minDate и maxDate
|
|
41
43
|
*/
|
|
42
44
|
useMobileNativeDatePicker?: boolean;
|
|
43
|
-
/**
|
|
44
|
-
* Функция для определения праздничных дней
|
|
45
|
-
* @default (_day, isWeekend) => isWeekend
|
|
46
|
-
* @param {string} day - строка в формате `dd.mm.yyyy`
|
|
47
|
-
* @param {boolean} isWeekend - флаг выходного (суббота или воскресенье)
|
|
48
|
-
*
|
|
49
|
-
* @returns {boolean} `true` для выходного или `false` для рабочего дня
|
|
50
|
-
*/
|
|
51
|
-
isHoliday?: (day: string, isWeekend: boolean) => boolean;
|
|
52
45
|
}
|
|
53
46
|
export interface DatePickerState {
|
|
54
47
|
opened: boolean;
|
|
55
48
|
canUseMobileNativeDatePicker: boolean;
|
|
49
|
+
today: CalendarDateShape;
|
|
56
50
|
}
|
|
57
51
|
export declare const DatePickerDataTids: {
|
|
58
52
|
readonly root: "DatePicker__root";
|
|
53
|
+
readonly input: "DatePicker__input";
|
|
54
|
+
readonly label: "DatePicker__label";
|
|
59
55
|
readonly pickerRoot: "Picker__root";
|
|
60
56
|
readonly pickerTodayWrapper: "Picker__todayWrapper";
|
|
61
57
|
};
|
|
62
|
-
declare type DefaultProps = Required<Pick<DatePickerProps, 'minDate' | 'maxDate'
|
|
58
|
+
declare type DefaultProps = Required<Pick<DatePickerProps, 'minDate' | 'maxDate'>>;
|
|
63
59
|
export declare class DatePicker extends React.PureComponent<DatePickerProps, DatePickerState> {
|
|
64
60
|
static __KONTUR_REACT_UI__: string;
|
|
65
61
|
static propTypes: {
|
|
@@ -92,11 +88,13 @@ export declare class DatePicker extends React.PureComponent<DatePickerProps, Dat
|
|
|
92
88
|
onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
|
|
93
89
|
onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
|
|
94
90
|
onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
|
|
95
|
-
isHoliday: PropTypes.
|
|
91
|
+
isHoliday: PropTypes.Requireable<(...args: any[]) => any>;
|
|
96
92
|
};
|
|
97
93
|
static defaultProps: DefaultProps;
|
|
98
94
|
private getProps;
|
|
99
95
|
private theme;
|
|
96
|
+
private calendar;
|
|
97
|
+
private readonly locale;
|
|
100
98
|
static validate: (value: Nullable<string>, range?: {
|
|
101
99
|
minDate?: string | undefined;
|
|
102
100
|
maxDate?: string | undefined;
|
|
@@ -122,14 +120,15 @@ export declare class DatePicker extends React.PureComponent<DatePickerProps, Dat
|
|
|
122
120
|
close(): void;
|
|
123
121
|
render(): JSX.Element;
|
|
124
122
|
renderMain: (props: CommonWrapperRestProps<DatePickerProps>) => JSX.Element;
|
|
123
|
+
private parseValueToDate;
|
|
124
|
+
private renderTodayLink;
|
|
125
|
+
private handleSelectToday;
|
|
125
126
|
getParent: () => Nullable<Element>;
|
|
126
127
|
private getRootStyle;
|
|
127
128
|
private getInputRef;
|
|
128
|
-
private parseValueToDate;
|
|
129
129
|
private handleFocus;
|
|
130
130
|
private handleBlur;
|
|
131
|
-
private
|
|
131
|
+
private handleValueChange;
|
|
132
132
|
private handleSelect;
|
|
133
|
-
private isHoliday;
|
|
134
133
|
}
|
|
135
134
|
export {};
|