@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
|
@@ -1,55 +1,68 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
1
2
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
2
3
|
import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
|
|
3
4
|
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
5
|
+
|
|
6
|
+
var _class, _class2, _temp;
|
|
7
|
+
|
|
4
8
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
5
9
|
import React from 'react';
|
|
6
10
|
import normalizeWheel from 'normalize-wheel';
|
|
7
11
|
import throttle from 'lodash.throttle';
|
|
12
|
+
import shallowEqual from 'shallowequal';
|
|
13
|
+
import { InternalDate } from "../../../lib/date/InternalDate";
|
|
14
|
+
import { InternalDateTransformer } from "../../../lib/date/InternalDateTransformer";
|
|
15
|
+
import { rootNode } from "../../../lib/rootNode";
|
|
16
|
+
import { cx } from "../../../lib/theming/Emotion";
|
|
17
|
+
import { CommonWrapper } from "../../../internal/CommonWrapper";
|
|
8
18
|
import { MAX_DATE, MAX_MONTH, MAX_YEAR, MIN_DATE, MIN_MONTH, MIN_YEAR } from "../../../lib/date/constants";
|
|
9
19
|
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
10
20
|
import { animation } from "../../../lib/animation";
|
|
11
21
|
import { isMobile } from "../../../lib/client";
|
|
12
22
|
import { createPropsGetter } from "../../../lib/createPropsGetter";
|
|
13
23
|
import { themeConfig } from "../config";
|
|
14
|
-
import * as CalendarUtils from "../CalendarUtils";
|
|
15
24
|
import { MonthViewModel } from "../MonthViewModel";
|
|
16
25
|
import * as CalendarScrollEvents from "../CalendarScrollEvents";
|
|
17
26
|
import { Month } from "../Month";
|
|
18
27
|
import { styles } from "../Calendar.styles";
|
|
19
28
|
import { create, isGreater, isLess } from "../CalendarDateShape";
|
|
29
|
+
import * as CalendarUtils from "../CalendarUtils";
|
|
20
30
|
export var CalendarDataTids = {
|
|
21
|
-
root: '
|
|
31
|
+
root: 'Calendar__root',
|
|
22
32
|
month: 'MonthView__month',
|
|
23
33
|
headerMonth: 'MonthView__headerMonth',
|
|
24
34
|
headerYear: 'MonthView__headerYear'
|
|
25
35
|
};
|
|
36
|
+
export
|
|
37
|
+
/**
|
|
38
|
+
* Компонент календаря из [DatePicker](https://tech.skbkontur.ru/react-ui/#/Components/DatePicker)'а
|
|
39
|
+
*/
|
|
40
|
+
var Calendar = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
|
|
41
|
+
_inheritsLoose(Calendar, _React$Component);
|
|
26
42
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
43
|
+
Calendar.formatDate = function formatDate(date, month, year) {
|
|
44
|
+
return new InternalDate().setComponents({
|
|
45
|
+
date: date,
|
|
46
|
+
month: month,
|
|
47
|
+
year: year
|
|
48
|
+
}).toString({
|
|
49
|
+
withPad: true
|
|
50
|
+
});
|
|
33
51
|
};
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
export var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
37
|
-
_inheritsLoose(Calendar, _React$Component);
|
|
38
52
|
|
|
39
|
-
function Calendar(
|
|
40
|
-
var
|
|
53
|
+
function Calendar(_props) {
|
|
54
|
+
var _CalendarUtils$getMon, _this$props$initialYe;
|
|
41
55
|
|
|
42
56
|
var _this;
|
|
43
57
|
|
|
44
|
-
_this = _React$Component.call(this,
|
|
58
|
+
_this = _React$Component.call(this, _props) || this;
|
|
45
59
|
_this.getProps = createPropsGetter(Calendar.defaultProps);
|
|
46
60
|
_this.animation = animation();
|
|
47
61
|
_this.touchStartY = null;
|
|
48
62
|
|
|
49
63
|
_this.scrollToMonth = /*#__PURE__*/function () {
|
|
50
64
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(month, year) {
|
|
51
|
-
var
|
|
52
|
-
|
|
65
|
+
var minDate, maxDate, currentMonth, diffInMonths, maxMonthsToAdd, onEnd, isYearChanges, monthsToPrependCount, monthsToPrepend, monthsToAppendCount, monthsToAppend;
|
|
53
66
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
54
67
|
while (1) {
|
|
55
68
|
switch (_context.prev = _context.next) {
|
|
@@ -68,10 +81,11 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
|
68
81
|
});
|
|
69
82
|
|
|
70
83
|
case 4:
|
|
71
|
-
|
|
84
|
+
minDate = _this.getDateInNativeFormat(_this.getProps().minDate);
|
|
85
|
+
maxDate = _this.getDateInNativeFormat(_this.getProps().maxDate);
|
|
72
86
|
|
|
73
87
|
if (!(minDate && isGreater(minDate, create(32, month, year)))) {
|
|
74
|
-
_context.next =
|
|
88
|
+
_context.next = 9;
|
|
75
89
|
break;
|
|
76
90
|
}
|
|
77
91
|
|
|
@@ -79,9 +93,9 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
|
79
93
|
|
|
80
94
|
return _context.abrupt("return");
|
|
81
95
|
|
|
82
|
-
case
|
|
96
|
+
case 9:
|
|
83
97
|
if (!(maxDate && isLess(maxDate, create(0, month, year)))) {
|
|
84
|
-
_context.next =
|
|
98
|
+
_context.next = 12;
|
|
85
99
|
break;
|
|
86
100
|
}
|
|
87
101
|
|
|
@@ -89,12 +103,12 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
|
89
103
|
|
|
90
104
|
return _context.abrupt("return");
|
|
91
105
|
|
|
92
|
-
case
|
|
106
|
+
case 12:
|
|
93
107
|
currentMonth = _this.state.months[1];
|
|
94
108
|
diffInMonths = currentMonth.month + currentMonth.year * 12 - month - year * 12;
|
|
95
109
|
|
|
96
110
|
if (!(diffInMonths === 0)) {
|
|
97
|
-
_context.next =
|
|
111
|
+
_context.next = 17;
|
|
98
112
|
break;
|
|
99
113
|
}
|
|
100
114
|
|
|
@@ -102,11 +116,11 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
|
102
116
|
|
|
103
117
|
return _context.abrupt("return");
|
|
104
118
|
|
|
105
|
-
case
|
|
119
|
+
case 17:
|
|
106
120
|
maxMonthsToAdd = themeConfig(_this.theme).MAX_MONTHS_TO_APPEND_ON_SCROLL;
|
|
107
121
|
|
|
108
122
|
onEnd = function onEnd() {
|
|
109
|
-
|
|
123
|
+
_this.setState({
|
|
110
124
|
months: CalendarUtils.getMonths(month, year),
|
|
111
125
|
scrollPosition: 0
|
|
112
126
|
});
|
|
@@ -185,7 +199,7 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
|
185
199
|
});
|
|
186
200
|
}
|
|
187
201
|
|
|
188
|
-
case
|
|
202
|
+
case 22:
|
|
189
203
|
case "end":
|
|
190
204
|
return _context.stop();
|
|
191
205
|
}
|
|
@@ -204,10 +218,15 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
|
204
218
|
var wrapperStyle = {
|
|
205
219
|
height: themeConfig(_this.theme).WRAPPER_HEIGHT
|
|
206
220
|
};
|
|
207
|
-
|
|
221
|
+
|
|
222
|
+
var props = _this.getProps();
|
|
223
|
+
|
|
224
|
+
return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
|
|
225
|
+
rootNodeRef: _this.setRootNode
|
|
226
|
+
}, props), /*#__PURE__*/React.createElement("div", {
|
|
208
227
|
ref: _this.refRoot,
|
|
209
|
-
|
|
210
|
-
|
|
228
|
+
"data-tid": CalendarDataTids.root,
|
|
229
|
+
className: cx(styles.root(_this.theme))
|
|
211
230
|
}, /*#__PURE__*/React.createElement("div", {
|
|
212
231
|
style: wrapperStyle,
|
|
213
232
|
className: styles.wrapper()
|
|
@@ -217,7 +236,9 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
|
217
236
|
var top = _ref2[0],
|
|
218
237
|
month = _ref2[1];
|
|
219
238
|
return CalendarUtils.isMonthVisible(top, month, _this.theme);
|
|
220
|
-
}).map(_this.renderMonth, _assertThisInitialized(_this)))
|
|
239
|
+
}).map(_this.renderMonth, _assertThisInitialized(_this))), /*#__PURE__*/React.createElement("div", {
|
|
240
|
+
className: styles.separator(_this.theme)
|
|
241
|
+
})));
|
|
221
242
|
};
|
|
222
243
|
|
|
223
244
|
_this.refRoot = function (element) {
|
|
@@ -245,14 +266,39 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
|
245
266
|
_this.root = element;
|
|
246
267
|
};
|
|
247
268
|
|
|
269
|
+
_this.isHoliday = function (_ref3) {
|
|
270
|
+
var date = _ref3.date,
|
|
271
|
+
month = _ref3.month,
|
|
272
|
+
year = _ref3.year,
|
|
273
|
+
isWeekend = _ref3.isWeekend;
|
|
274
|
+
var dateString = InternalDateTransformer.dateToInternalString({
|
|
275
|
+
date: date,
|
|
276
|
+
month: month + 1,
|
|
277
|
+
year: year
|
|
278
|
+
});
|
|
279
|
+
return _this.getProps().isHoliday(dateString, isWeekend);
|
|
280
|
+
};
|
|
281
|
+
|
|
282
|
+
_this.handleDateChange = function (dateShape) {
|
|
283
|
+
var value = InternalDateTransformer.dateToInternalString({
|
|
284
|
+
date: dateShape.date,
|
|
285
|
+
month: dateShape.month + 1,
|
|
286
|
+
year: dateShape.year
|
|
287
|
+
});
|
|
288
|
+
|
|
289
|
+
if (_this.props.onValueChange) {
|
|
290
|
+
_this.props.onValueChange(value);
|
|
291
|
+
}
|
|
292
|
+
};
|
|
293
|
+
|
|
248
294
|
_this.handleMonthYearChange = function (month, year) {
|
|
249
295
|
_this.scrollToMonth(month, year);
|
|
250
296
|
};
|
|
251
297
|
|
|
252
298
|
_this.executeAnimations = function (pixelY) {
|
|
253
|
-
_this.setState(function (
|
|
254
|
-
var months =
|
|
255
|
-
scrollPosition =
|
|
299
|
+
_this.setState(function (_ref4) {
|
|
300
|
+
var months = _ref4.months,
|
|
301
|
+
scrollPosition = _ref4.scrollPosition;
|
|
256
302
|
var targetPosition = CalendarUtils.calculateScrollPosition(months, scrollPosition, pixelY, _this.theme).scrollPosition;
|
|
257
303
|
return {
|
|
258
304
|
scrollTarget: targetPosition
|
|
@@ -260,9 +306,8 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
|
260
306
|
}, _this.handleWheelEnd);
|
|
261
307
|
|
|
262
308
|
_this.animation.animate(pixelY, function (deltaY) {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
);
|
|
309
|
+
// FIXME: Typescript not resolving setState cb type
|
|
310
|
+
_this.setState(CalendarUtils.applyDelta(deltaY, _this.theme));
|
|
266
311
|
});
|
|
267
312
|
|
|
268
313
|
CalendarScrollEvents.emit();
|
|
@@ -331,9 +376,8 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
|
331
376
|
var amount = scrollTarget - targetPosition;
|
|
332
377
|
|
|
333
378
|
_this.animation.animate(amount, function (deltaY) {
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
);
|
|
379
|
+
// FIXME: Typescript not resolving setState cb type
|
|
380
|
+
_this.setState(CalendarUtils.applyDelta(deltaY, _this.theme));
|
|
337
381
|
});
|
|
338
382
|
});
|
|
339
383
|
}
|
|
@@ -346,8 +390,8 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
|
346
390
|
|
|
347
391
|
_this.scrollAmount = function (scrollAmmount, onEnd) {
|
|
348
392
|
return _this.animation.animate(scrollAmmount, function (deltaY) {
|
|
349
|
-
|
|
350
|
-
var scrollPosition =
|
|
393
|
+
_this.setState(function (_ref5) {
|
|
394
|
+
var scrollPosition = _ref5.scrollPosition;
|
|
351
395
|
return {
|
|
352
396
|
scrollPosition: scrollPosition + deltaY
|
|
353
397
|
};
|
|
@@ -355,22 +399,48 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
|
355
399
|
}, onEnd);
|
|
356
400
|
};
|
|
357
401
|
|
|
358
|
-
var
|
|
359
|
-
|
|
360
|
-
|
|
402
|
+
var _this$getProps = _this.getProps(),
|
|
403
|
+
_minDate = _this$getProps.minDate,
|
|
404
|
+
_maxDate = _this$getProps.maxDate,
|
|
405
|
+
_value = _this$getProps.value;
|
|
406
|
+
|
|
407
|
+
var minDateShape = _this.getDateInNativeFormat(_minDate);
|
|
408
|
+
|
|
409
|
+
var maxDateShape = _this.getDateInNativeFormat(_maxDate);
|
|
410
|
+
|
|
411
|
+
var _dateShape = _this.getDateInNativeFormat(_value);
|
|
412
|
+
|
|
413
|
+
var today = CalendarUtils.getTodayDate();
|
|
414
|
+
var initialDate = CalendarUtils.getInitialDate({
|
|
415
|
+
today: today,
|
|
416
|
+
date: _dateShape,
|
|
417
|
+
minDate: minDateShape,
|
|
418
|
+
maxDate: maxDateShape
|
|
419
|
+
});
|
|
420
|
+
var initialMonth = (_CalendarUtils$getMon = CalendarUtils.getMonthInNativeFormat(_this.props.initialMonth)) != null ? _CalendarUtils$getMon : initialDate.month;
|
|
421
|
+
var initialYear = (_this$props$initialYe = _this.props.initialYear) != null ? _this$props$initialYe : initialDate.year;
|
|
361
422
|
_this.state = {
|
|
362
423
|
scrollPosition: 0,
|
|
363
424
|
months: CalendarUtils.getMonths(initialMonth, initialYear),
|
|
364
425
|
today: today,
|
|
365
426
|
scrollDirection: 1,
|
|
366
|
-
scrollTarget: 0
|
|
367
|
-
touchStart: 0
|
|
427
|
+
scrollTarget: 0
|
|
368
428
|
};
|
|
369
429
|
return _this;
|
|
370
430
|
}
|
|
371
431
|
|
|
372
432
|
var _proto = Calendar.prototype;
|
|
373
433
|
|
|
434
|
+
_proto.componentDidUpdate = function componentDidUpdate(prevProps) {
|
|
435
|
+
var value = this.props.value;
|
|
436
|
+
|
|
437
|
+
if (value && !shallowEqual(value, prevProps.value)) {
|
|
438
|
+
var _date = new InternalDate().parseValue(value).getComponentsLikeNumber();
|
|
439
|
+
|
|
440
|
+
this.scrollToMonth(_date.month - 1, _date.year);
|
|
441
|
+
}
|
|
442
|
+
};
|
|
443
|
+
|
|
374
444
|
_proto.componentWillUnmount = function componentWillUnmount() {
|
|
375
445
|
if (this.animation.inProgress()) {
|
|
376
446
|
this.animation.cancel();
|
|
@@ -386,19 +456,17 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
|
386
456
|
});
|
|
387
457
|
}
|
|
388
458
|
/**
|
|
389
|
-
*
|
|
459
|
+
* Прокручивает календарь до переданной даты
|
|
390
460
|
* @public
|
|
391
461
|
*/
|
|
392
462
|
;
|
|
393
463
|
|
|
394
|
-
_proto.renderMonth = function renderMonth(
|
|
395
|
-
var top =
|
|
396
|
-
month =
|
|
397
|
-
|
|
398
|
-
var
|
|
399
|
-
|
|
400
|
-
maxDate = _this$getProps2.maxDate;
|
|
401
|
-
|
|
464
|
+
_proto.renderMonth = function renderMonth(_ref6) {
|
|
465
|
+
var top = _ref6[0],
|
|
466
|
+
month = _ref6[1];
|
|
467
|
+
var date = this.getDateInNativeFormat(this.props.value);
|
|
468
|
+
var minDate = this.getDateInNativeFormat(this.props.minDate);
|
|
469
|
+
var maxDate = this.getDateInNativeFormat(this.props.maxDate);
|
|
402
470
|
return /*#__PURE__*/React.createElement(Month, {
|
|
403
471
|
key: month.month + '-' + month.year,
|
|
404
472
|
top: top,
|
|
@@ -406,13 +474,17 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
|
406
474
|
maxDate: maxDate,
|
|
407
475
|
minDate: minDate,
|
|
408
476
|
today: this.state.today,
|
|
409
|
-
value:
|
|
410
|
-
onDateClick: this.
|
|
477
|
+
value: date,
|
|
478
|
+
onDateClick: this.handleDateChange,
|
|
411
479
|
onMonthYearChange: this.handleMonthYearChange,
|
|
412
|
-
isHoliday: this.
|
|
480
|
+
isHoliday: this.isHoliday
|
|
413
481
|
});
|
|
414
482
|
};
|
|
415
483
|
|
|
484
|
+
_proto.getDateInNativeFormat = function getDateInNativeFormat(date) {
|
|
485
|
+
return new InternalDate().parseValue(date).toNativeFormat();
|
|
486
|
+
};
|
|
487
|
+
|
|
416
488
|
_proto.getMonthPositions = function getMonthPositions() {
|
|
417
489
|
var _this$state2 = this.state,
|
|
418
490
|
scrollPosition = _this$state2.scrollPosition,
|
|
@@ -428,17 +500,10 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
|
428
500
|
};
|
|
429
501
|
|
|
430
502
|
return Calendar;
|
|
431
|
-
}(React.Component)
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
month: MIN_MONTH,
|
|
437
|
-
date: MIN_DATE
|
|
438
|
-
},
|
|
439
|
-
maxDate: {
|
|
440
|
-
year: MAX_YEAR,
|
|
441
|
-
month: MAX_MONTH,
|
|
442
|
-
date: MAX_DATE
|
|
503
|
+
}(React.Component), _class2.__KONTUR_REACT_UI__ = 'Calendar', _class2.defaultProps = {
|
|
504
|
+
minDate: _class2.formatDate(MIN_DATE, MIN_MONTH, MIN_YEAR),
|
|
505
|
+
maxDate: _class2.formatDate(MAX_DATE, MAX_MONTH, MAX_YEAR),
|
|
506
|
+
isHoliday: function isHoliday(_day, isWeekend) {
|
|
507
|
+
return isWeekend;
|
|
443
508
|
}
|
|
444
|
-
};
|
|
509
|
+
}, _temp)) || _class;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["Calendar.tsx"],"names":["React","normalizeWheel","throttle","shallowEqual","InternalDate","InternalDateTransformer","rootNode","cx","CommonWrapper","MAX_DATE","MAX_MONTH","MAX_YEAR","MIN_DATE","MIN_MONTH","MIN_YEAR","ThemeContext","animation","isMobile","createPropsGetter","themeConfig","MonthViewModel","CalendarScrollEvents","Month","styles","create","isGreater","isLess","CalendarUtils","CalendarDataTids","root","month","headerMonth","headerYear","Calendar","formatDate","date","year","setComponents","toString","withPad","props","getProps","defaultProps","touchStartY","scrollToMonth","inProgress","finish","Promise","r","setTimeout","minDate","getDateInNativeFormat","maxDate","currentMonth","state","months","diffInMonths","scrollTo","maxMonthsToAdd","theme","MAX_MONTHS_TO_APPEND_ON_SCROLL","onEnd","setState","getMonths","scrollPosition","isYearChanges","Math","abs","monthsToPrependCount","min","monthsToPrepend","Array","from","length","_","index","yearChanges","isFirstInYear","isLastInYear","concat","getMonthsHeight","targetPosition","getHeight","monthsToAppendCount","monthsToAppend","slice","renderMain","positions","getMonthPositions","wrapperStyle","height","WRAPPER_HEIGHT","setRootNode","refRoot","wrapper","map","x","i","filter","top","isMonthVisible","renderMonth","separator","element","addEventListener","handleTouchStart","throttledHandleTouchMove","handleWheel","passive","removeEventListener","isHoliday","isWeekend","dateString","dateToInternalString","handleDateChange","dateShape","value","onValueChange","handleMonthYearChange","executeAnimations","pixelY","calculateScrollPosition","scrollTarget","handleWheelEnd","animate","deltaY","applyDelta","emit","event","TouchEvent","clientY","targetTouches","handleTouchMove","changedTouches","WheelEvent","preventDefault","wheelEndTimeout","clearTimeout","window","scrollToNearestWeek","scrollDirection","trasholdHeight","MONTH_TITLE_OFFSET_HEIGHT","DAY_SIZE","amount","pos","scrollAmmount","scrollAmount","minDateShape","maxDateShape","today","getTodayDate","initialDate","getInitialDate","initialMonth","getMonthInNativeFormat","initialYear","componentDidUpdate","prevProps","parseValue","getComponentsLikeNumber","componentWillUnmount","cancel","render","toNativeFormat","position","push","Component","__KONTUR_REACT_UI__","_day"],"mappings":"0XAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,cAAP,MAA2B,iBAA3B;AACA,OAAOC,QAAP,MAAqB,iBAArB;AACA,OAAOC,YAAP,MAAyB,cAAzB;;AAEA,SAASC,YAAT,QAA6B,6BAA7B;AACA,SAASC,uBAAT,QAAwC,wCAAxC;AACA,SAASC,QAAT,QAAuC,oBAAvC;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAAsBC,aAAtB,QAA2C,8BAA3C;AACA,SAASC,QAAT,EAAmBC,SAAnB,EAA8BC,QAA9B,EAAwCC,QAAxC,EAAkDC,SAAlD,EAA6DC,QAA7D,QAA6E,0BAA7E;;;AAGA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,SAAT,QAA0B,qBAA1B;AACA,SAASC,QAAT,QAAyB,kBAAzB;AACA,SAASC,iBAAT,QAAkC,6BAAlC;;AAEA,SAASC,WAAT,QAA4B,UAA5B;AACA,SAASC,cAAT,QAA+B,kBAA/B;AACA,OAAO,KAAKC,oBAAZ,MAAsC,wBAAtC;AACA,SAASC,KAAT,QAAsB,SAAtB;AACA,SAASC,MAAT,QAAuB,mBAAvB;AACA,SAA4BC,MAA5B,EAAoCC,SAApC,EAA+CC,MAA/C,QAA6D,qBAA7D;AACA,OAAO,KAAKC,aAAZ,MAA+B,iBAA/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDA,OAAO,IAAMC,gBAAgB,GAAG;AAC9BC,EAAAA,IAAI,EAAE,gBADwB;AAE9BC,EAAAA,KAAK,EAAE,kBAFuB;AAG9BC,EAAAA,WAAW,EAAE,wBAHiB;AAI9BC,EAAAA,UAAU,EAAE,uBAJkB,EAAzB;;;;;;;;;AAaP,OAJA;AACA;AACA,GAEA,IAAaC,QAAb,GADC3B,QACD;AAGiB4B,EAAAA,UAHjB,GAGE,oBAA0BC,IAA1B,EAAwCL,KAAxC,EAAuDM,IAAvD,EAAqE;AACnE,WAAO,IAAIhC,YAAJ,GAAmBiC,aAAnB,CAAiC,EAAEF,IAAI,EAAJA,IAAF,EAAQL,KAAK,EAALA,KAAR,EAAeM,IAAI,EAAJA,IAAf,EAAjC,EAAwDE,QAAxD,CAAiE,EAAEC,OAAO,EAAE,IAAX,EAAjE,CAAP;AACD,GALH;;;;;;;;;;;;;;;;;AAsBE,oBAAYC,MAAZ,EAAkC;AAChC,wCAAMA,MAAN,UADgC,MAT1BC,QAS0B,GATfvB,iBAAiB,CAACe,QAAQ,CAACS,YAAV,CASF,OAJ1B1B,SAI0B,GAJdA,SAAS,EAIK,OAH1B2B,WAG0B,GAHM,IAGN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0D3BC,IAAAA,aA1D2B,iGA0DX,iBAAOd,KAAP,EAAsBM,IAAtB;AACjB,sBAAKpB,SAAL,CAAe6B,UAAf,EADiB;AAEnB,sBAAK7B,SAAL,CAAe8B,MAAf;AACA;AAHmB,yCAIb,IAAIC,OAAJ,CAAY,UAACC,CAAD,UAAOC,UAAU,CAACD,CAAD,CAAjB,EAAZ,CAJa;;;AAOfE,gBAAAA,OAPe,GAOL,MAAKC,qBAAL,CAA2B,MAAKV,QAAL,GAAgBS,OAA3C,CAPK;AAQfE,gBAAAA,OARe,GAQL,MAAKD,qBAAL,CAA2B,MAAKV,QAAL,GAAgBW,OAA3C,CARK;;AAUjBF,gBAAAA,OAAO,IAAIzB,SAAS,CAACyB,OAAD,EAAU1B,MAAM,CAAC,EAAD,EAAKM,KAAL,EAAYM,IAAZ,CAAhB,CAVH;AAWnB,sBAAKQ,aAAL,CAAmBM,OAAO,CAACpB,KAA3B,EAAkCoB,OAAO,CAACd,IAA1C,EAXmB;;;;AAejBgB,gBAAAA,OAAO,IAAI1B,MAAM,CAAC0B,OAAD,EAAU5B,MAAM,CAAC,CAAD,EAAIM,KAAJ,EAAWM,IAAX,CAAhB,CAfA;AAgBnB,sBAAKQ,aAAL,CAAmBQ,OAAO,CAACtB,KAA3B,EAAkCsB,OAAO,CAAChB,IAA1C,EAhBmB;;;;AAoBfiB,gBAAAA,YApBe,GAoBA,MAAKC,KAAL,CAAWC,MAAX,CAAkB,CAAlB,CApBA;AAqBfC,gBAAAA,YArBe,GAqBAH,YAAY,CAACvB,KAAb,GAAqBuB,YAAY,CAACjB,IAAb,GAAoB,EAAzC,GAA8CN,KAA9C,GAAsDM,IAAI,GAAG,EArB7D;;AAuBjBoB,gBAAAA,YAAY,KAAK,CAvBA;AAwBnB,sBAAKC,QAAL,CAAc,CAAd,EAxBmB;;;;AA4BfC,gBAAAA,cA5Be,GA4BEvC,WAAW,CAAC,MAAKwC,KAAN,CAAX,CAAwBC,8BA5B1B;;AA8BfC,gBAAAA,KA9Be,GA8BP,SAARA,KAAQ,GAAM;AAClB,wBAAKC,QAAL,CAAc;AACZP,oBAAAA,MAAM,EAAE5B,aAAa,CAACoC,SAAd,CAAwBjC,KAAxB,EAA+BM,IAA/B,CADI;AAEZ4B,oBAAAA,cAAc,EAAE,CAFJ,EAAd;;AAID,iBAnCoB;;AAqCfC,gBAAAA,aArCe,GAqCC,SAAhBA,aAAgB,CAACX,KAAD,EAA0B;AAC9C;AACEA,oBAAAA,KAAK,CAACC,MAAN,CAAa,CAAb,EAAgBnB,IAAhB,KAAyBA,IAAzB;AACA;AACA;AACA;AACA8B,oBAAAA,IAAI,CAACC,GAAL,CAASX,YAAT,IAAyB,CAL3B;;AAOD,iBA7CoB;;AA+CrB;AACA;AACA,oBAAIA,YAAY,GAAG,CAAnB,EAAsB;AACdY,kBAAAA,oBADc,GACSF,IAAI,CAACG,GAAL,CAASH,IAAI,CAACC,GAAL,CAASX,YAAT,IAAyB,CAAlC,EAAqCE,cAArC,CADT;AAEdY,kBAAAA,eAFc,GAEIC,KAAK,CAACC,IAAN,CAAW,EAAEC,MAAM,EAAEL,oBAAV,EAAX,EAA6C,UAACM,CAAD,EAAIC,KAAJ,EAAc;AACjF,2BAAOvD,cAAc,CAACI,MAAf,CAAsBM,KAAK,GAAG6C,KAA9B,EAAqCvC,IAArC,CAAP;AACD,mBAFuB,CAFJ;AAKpB,wBAAK0B,QAAL;AACE,4BAACR,KAAD,EAAW;AACT,wBAAMsB,WAAW,GAAGX,aAAa,CAACX,KAAD,CAAjC;AACA,wBAAIsB,WAAJ,EAAiB;AACf;AACA;AACAtB,sBAAAA,KAAK,CAACC,MAAN,CAAa,CAAb,EAAgBsB,aAAhB,GAAgC,IAAhC;AACA,0BAAIP,eAAe,CAACG,MAApB,EAA4B;AAC1B;AACAH,wBAAAA,eAAe,CAACA,eAAe,CAACG,MAAhB,GAAyB,CAA1B,CAAf,CAA4CK,YAA5C,GAA2D,IAA3D;AACD;AACF;AACD,2BAAO;AACLvB,sBAAAA,MAAM,EAAEe,eAAe,CAACS,MAAhB,CAAuBzB,KAAK,CAACC,MAA7B,CADH;AAELS,sBAAAA,cAAc,EAAE,CAACrC,aAAa,CAACqD,eAAd,CAA8BV,eAA9B,EAA+C,MAAKX,KAApD,CAFZ,EAAP;;AAID,mBAhBH;AAiBE,8BAAM;AACJ,wBAAMsB,cAAc,GAAG,MAAK3B,KAAL,CAAWC,MAAX,CAAkB,CAAlB,EAAqB2B,SAArB,CAA+B,MAAKvB,KAApC,CAAvB;AACA,0BAAKF,QAAL,CAAcwB,cAAd,EAA8BpB,KAA9B;AACD,mBApBH;;AAsBD;;AAED;AACA;AACA,oBAAIL,YAAY,GAAG,CAAnB,EAAsB;AACd2B,kBAAAA,mBADc,GACQjB,IAAI,CAACG,GAAL,CAASH,IAAI,CAACC,GAAL,CAASX,YAAT,CAAT,EAAiCE,cAAjC,CADR;AAEd0B,kBAAAA,cAFc,GAEGb,KAAK,CAACC,IAAN,CAAW,EAAEC,MAAM,EAAEU,mBAAV,EAAX,EAA4C,UAACT,CAAD,EAAIC,KAAJ,EAAc;AAC/E,2BAAOvD,cAAc,CAACI,MAAf,CAAsBM,KAAK,GAAG6C,KAAR,GAAgBQ,mBAAhB,GAAsC,CAA5D,EAA+D/C,IAA/D,CAAP;AACD,mBAFsB,CAFH;AAKpB,wBAAK0B,QAAL;AACE,4BAACR,KAAD,EAAW;AACT,wBAAIW,aAAa,CAACX,KAAD,CAAjB,EAA0B;AACxB;AACA;AACAA,sBAAAA,KAAK,CAACC,MAAN,CAAaD,KAAK,CAACC,MAAN,CAAakB,MAAb,GAAsB,CAAnC,EAAsCK,YAAtC,GAAqD,IAArD;AACA;AACA,0BAAIM,cAAc,CAAC,CAAD,CAAlB,EAAuB;AACrBA,wBAAAA,cAAc,CAAC,CAAD,CAAd,CAAkBP,aAAlB,GAAkC,IAAlC;AACD;AACF;AACD,2BAAO,EAAEtB,MAAM,EAAED,KAAK,CAACC,MAAN,CAAawB,MAAb,CAAoBK,cAApB,CAAV,EAAP;AACD,mBAZH;AAaE,8BAAM;AACJ,wBAAMH,cAAc,GAAG,CAAC,CAAD,GAAKtD,aAAa,CAACqD,eAAd,CAA8B,MAAK1B,KAAL,CAAWC,MAAX,CAAkB8B,KAAlB,CAAwB,CAAxB,EAA2B,CAAC,CAA5B,CAA9B,EAA8D,MAAK1B,KAAnE,CAA5B;AACA,0BAAKF,QAAL,CAAcwB,cAAd,EAA8BpB,KAA9B;AACD,mBAhBH;;AAkBD,iBAvGoB,yDA1DW;;;AAoK1ByB,IAAAA,UApK0B,GAoKb,YAAM;AACzB,UAAMC,SAAS,GAAG,MAAKC,iBAAL,EAAlB;AACA,UAAMC,YAAY,GAAG,EAAEC,MAAM,EAAEvE,WAAW,CAAC,MAAKwC,KAAN,CAAX,CAAwBgC,cAAlC,EAArB;;AAEA,UAAMnD,KAAK,GAAG,MAAKC,QAAL,EAAd;;AAEA;AACE,4BAAC,aAAD,aAAe,WAAW,EAAE,MAAKmD,WAAjC,IAAkDpD,KAAlD;AACE,qCAAK,GAAG,EAAE,MAAKqD,OAAf,EAAwB,YAAUjE,gBAAgB,CAACC,IAAnD,EAAyD,SAAS,EAAEtB,EAAE,CAACgB,MAAM,CAACM,IAAP,CAAY,MAAK8B,KAAjB,CAAD,CAAtE;AACE,qCAAK,KAAK,EAAE8B,YAAZ,EAA0B,SAAS,EAAElE,MAAM,CAACuE,OAAP,EAArC;AACG,cAAKxC,KAAL,CAAWC,MAAX;AACEwC,QAAAA,GADF,CACgC,UAACC,CAAD,EAAIC,CAAJ,UAAU,CAACV,SAAS,CAACU,CAAD,CAAV,EAAeD,CAAf,CAAV,EADhC;AAEEE,QAAAA,MAFF,CAES,sBAAEC,GAAF,YAAOrE,KAAP,mBAAkBH,aAAa,CAACyE,cAAd,CAA6BD,GAA7B,EAAkCrE,KAAlC,EAAyC,MAAK6B,KAA9C,CAAlB,EAFT;AAGEoC,QAAAA,GAHF,CAGM,MAAKM,WAHX,gCADH,CADF;;AAOE,qCAAK,SAAS,EAAE9E,MAAM,CAAC+E,SAAP,CAAiB,MAAK3C,KAAtB,CAAhB,GAPF,CADF,CADF;;;;AAaD,KAvLiC;;AAyL1BkC,IAAAA,OAzL0B,GAyLhB,UAACU,OAAD,EAAiC;AACjD,UAAI,CAAC,MAAK1E,IAAN,IAAc0E,OAAlB,EAA2B;AACzB,YAAItF,QAAJ,EAAc;AACZsF,UAAAA,OAAO,CAACC,gBAAR,CAAyB,YAAzB,EAAuC,MAAKC,gBAA5C;AACAF,UAAAA,OAAO,CAACC,gBAAR,CAAyB,WAAzB,EAAsC,MAAKE,wBAA3C;AACD,SAHD,MAGO;AACLH,UAAAA,OAAO,CAACC,gBAAR,CAAyB,OAAzB,EAAkC,MAAKG,WAAvC,EAAoD,EAAEC,OAAO,EAAE,KAAX,EAApD;AACD;AACF;AACD,UAAI,MAAK/E,IAAL,IAAa,CAAC0E,OAAlB,EAA2B;AACzB,YAAItF,QAAJ,EAAc;AACZ,gBAAKY,IAAL,CAAUgF,mBAAV,CAA8B,YAA9B,EAA4C,MAAKJ,gBAAjD;AACA,gBAAK5E,IAAL,CAAUgF,mBAAV,CAA8B,WAA9B,EAA2C,MAAKH,wBAAhD;AACD,SAHD,MAGO;AACL,gBAAK7E,IAAL,CAAUgF,mBAAV,CAA8B,OAA9B,EAAuC,MAAKF,WAA5C;AACD;AACF;AACD,YAAK9E,IAAL,GAAY0E,OAAZ;AACD,KA3MiC;;;;;;;;;;;;;;;;;;;;;;;AAkO1BO,IAAAA,SAlO0B,GAkOd,iBAAkF,KAA/E3E,IAA+E,SAA/EA,IAA+E,CAAzEL,KAAyE,SAAzEA,KAAyE,CAAlEM,IAAkE,SAAlEA,IAAkE,CAA5D2E,SAA4D,SAA5DA,SAA4D;AACpG,UAAMC,UAAU,GAAG3G,uBAAuB,CAAC4G,oBAAxB,CAA6C,EAAE9E,IAAI,EAAJA,IAAF,EAAQL,KAAK,EAAEA,KAAK,GAAG,CAAvB,EAA0BM,IAAI,EAAJA,IAA1B,EAA7C,CAAnB;;AAEA,aAAO,MAAKK,QAAL,GAAgBqE,SAAhB,CAA0BE,UAA1B,EAAsCD,SAAtC,CAAP;AACD,KAtOiC;;AAwO1BG,IAAAA,gBAxO0B,GAwOP,UAACC,SAAD,EAAkC;AAC3D,UAAMC,KAAK,GAAG/G,uBAAuB,CAAC4G,oBAAxB,CAA6C;AACzD9E,QAAAA,IAAI,EAAEgF,SAAS,CAAChF,IADyC;AAEzDL,QAAAA,KAAK,EAAEqF,SAAS,CAACrF,KAAV,GAAkB,CAFgC;AAGzDM,QAAAA,IAAI,EAAE+E,SAAS,CAAC/E,IAHyC,EAA7C,CAAd;;;AAMA,UAAI,MAAKI,KAAL,CAAW6E,aAAf,EAA8B;AAC5B,cAAK7E,KAAL,CAAW6E,aAAX,CAAyBD,KAAzB;AACD;AACF,KAlPiC;;;;;;;;;;;;;;;;;AAmQ1BE,IAAAA,qBAnQ0B,GAmQF,UAACxF,KAAD,EAAgBM,IAAhB,EAAiC;AAC/D,YAAKQ,aAAL,CAAmBd,KAAnB,EAA0BM,IAA1B;AACD,KArQiC;;AAuQ1BmF,IAAAA,iBAvQ0B,GAuQN,UAACC,MAAD,EAAoB;AAC9C,YAAK1D,QAAL,CAAc,iBAAgC,KAA7BP,MAA6B,SAA7BA,MAA6B,CAArBS,cAAqB,SAArBA,cAAqB;AAC5C,YAAMiB,cAAc,GAAGtD,aAAa,CAAC8F,uBAAd;AACrBlE,QAAAA,MADqB;AAErBS,QAAAA,cAFqB;AAGrBwD,QAAAA,MAHqB;AAIrB,cAAK7D,KAJgB;AAKrBK,QAAAA,cALF;AAMA,eAAO,EAAE0D,YAAY,EAAEzC,cAAhB,EAAP;AACD,OARD,EAQG,MAAK0C,cARR;;AAUA,YAAK3G,SAAL,CAAe4G,OAAf,CAAuBJ,MAAvB,EAA+B,UAACK,MAAD,EAAY;AACzC;AACA,cAAK/D,QAAL,CAAcnC,aAAa,CAACmG,UAAd,CAAyBD,MAAzB,EAAiC,MAAKlE,KAAtC,CAAd;AACD,OAHD;;AAKAtC,MAAAA,oBAAoB,CAAC0G,IAArB;AACD,KAxRiC;;AA0R1BtB,IAAAA,gBA1R0B,GA0RP,UAACuB,KAAD,EAAkB;AAC3C,UAAI,EAAEA,KAAK,YAAYC,UAAnB,CAAJ,EAAoC;AAClC;AACD;;AAED,UAAMC,OAAO,GAAGF,KAAK,CAACG,aAAN,CAAoB,CAApB,EAAuBD,OAAvC;AACA,YAAKvF,WAAL,GAAmBuF,OAAnB;AACD,KAjSiC;;AAmS1BE,IAAAA,eAnS0B,GAmSR,UAACJ,KAAD,EAAkB;AAC1C,UAAI,EAAEA,KAAK,YAAYC,UAAnB,CAAJ,EAAoC;AAClC;AACD;;AAED,UAAQC,OAAR,GAAoBF,KAAK,CAACK,cAAN,CAAqB,CAArB,CAApB,CAAQH,OAAR;;AAEA,UAAML,MAAM,GAAG,CAAC,MAAKlF,WAAL,IAAoB,CAArB,IAA0BuF,OAAzC;AACA,YAAKvF,WAAL,GAAmBuF,OAAnB;;AAEA,YAAKX,iBAAL,CAAuBM,MAAvB;AACD,KA9SiC;;AAgT1BnB,IAAAA,wBAhT0B,GAgTCxG,QAAQ,CAAC,MAAKkI,eAAN,EAAuB,EAAvB,CAhTT;;AAkT1BzB,IAAAA,WAlT0B,GAkTZ,UAACqB,KAAD,EAAkB;AACtC,UAAI,EAAEA,KAAK,YAAYM,UAAnB,CAAJ,EAAoC;AAClC;AACD;AACDN,MAAAA,KAAK,CAACO,cAAN;AACA,4BAAmBtI,cAAc,CAAC+H,KAAD,CAAjC,CAAQR,MAAR,mBAAQA,MAAR;;AAEA,YAAKD,iBAAL,CAAuBC,MAAvB;AACD,KA1TiC;;AA4T1BG,IAAAA,cA5T0B,GA4TT,YAAM;AAC7B,UAAI,MAAKa,eAAT,EAA0B;AACxBC,QAAAA,YAAY,CAAC,MAAKD,eAAN,CAAZ;AACD;AACD,YAAKA,eAAL,GAAuBE,MAAM,CAACzF,UAAP,CAAkB,MAAK0F,mBAAvB,EAA4C,GAA5C,CAAvB;AACD,KAjUiC;AAkU1BA,IAAAA,mBAlU0B,GAkUJ,YAAM;AAClC,wBAA0C,MAAKrF,KAA/C,CAAQoE,YAAR,eAAQA,YAAR,CAAsBkB,eAAtB,eAAsBA,eAAtB;;AAEA,UAAMC,cAAc,GAAG1H,WAAW,CAAC,MAAKwC,KAAN,CAAX,CAAwBmF,yBAAxB,GAAoD3H,WAAW,CAAC,MAAKwC,KAAN,CAAX,CAAwBoF,QAAnG;;AAEA,UAAIrB,YAAY,GAAGmB,cAAnB,EAAmC;AACjC,YAAI5D,cAAc,GAAG,CAArB;AACA,YAAI2D,eAAe,GAAG,CAAtB,EAAyB;AACvB3D,UAAAA,cAAc,GAAG4D,cAAjB;AACD;;AAED,cAAK/E,QAAL,CAAc,EAAE4D,YAAY,EAAEzC,cAAhB,EAAd,EAAgD,YAAM;AACpD,cAAM+D,MAAM,GAAGtB,YAAY,GAAGzC,cAA9B;AACA,gBAAKjE,SAAL,CAAe4G,OAAf,CAAuBoB,MAAvB,EAA+B,UAACnB,MAAD,EAAY;AACzC;AACA,kBAAK/D,QAAL,CAAcnC,aAAa,CAACmG,UAAd,CAAyBD,MAAzB,EAAiC,MAAKlE,KAAtC,CAAd;AACD,WAHD;AAID,SAND;AAOD;AACF,KArViC;;AAuV1BF,IAAAA,QAvV0B,GAuVf,UAACwF,GAAD,EAAcpF,KAAd,EAAqC;AACtD,UAAMqF,aAAa,GAAGD,GAAG,GAAG,MAAK3F,KAAL,CAAWU,cAAvC;AACA,aAAO,MAAKmF,YAAL,CAAkBD,aAAlB,EAAiCrF,KAAjC,CAAP;AACD,KA1ViC;;AA4V1BsF,IAAAA,YA5V0B,GA4VX,UAACD,aAAD,EAAwBrF,KAAxB,EAA+C;AACpE,aAAO,MAAK7C,SAAL,CAAe4G,OAAf;AACLsB,MAAAA,aADK;AAEL,gBAACrB,MAAD,EAAY;AACV,cAAK/D,QAAL,CAAc,sBAAGE,cAAH,SAAGA,cAAH,QAAyB;AACrCA,YAAAA,cAAc,EAAEA,cAAc,GAAG6D,MADI,EAAzB,EAAd;;AAGD,OANI;AAOLhE,MAAAA,KAPK,CAAP;;AASD,KAtWiC,CAGhC,qBAAoC,MAAKpB,QAAL,EAApC,CAAQS,QAAR,kBAAQA,OAAR,CAAiBE,QAAjB,kBAAiBA,OAAjB,CAA0BgE,MAA1B,kBAA0BA,KAA1B,CAEA,IAAMgC,YAAY,GAAG,MAAKjG,qBAAL,CAA2BD,QAA3B,CAArB,CACA,IAAMmG,YAAY,GAAG,MAAKlG,qBAAL,CAA2BC,QAA3B,CAArB,CACA,IAAM+D,UAAS,GAAG,MAAKhE,qBAAL,CAA2BiE,MAA3B,CAAlB,CAEA,IAAMkC,KAAK,GAAG3H,aAAa,CAAC4H,YAAd,EAAd,CACA,IAAMC,WAAW,GAAG7H,aAAa,CAAC8H,cAAd,CAA6B,EAC/CH,KAAK,EAALA,KAD+C,EAE/CnH,IAAI,EAAEgF,UAFyC,EAG/CjE,OAAO,EAAEkG,YAHsC,EAI/ChG,OAAO,EAAEiG,YAJsC,EAA7B,CAApB,CAOA,IAAMK,YAAY,4BAAG/H,aAAa,CAACgI,sBAAd,CAAqC,MAAKnH,KAAL,CAAWkH,YAAhD,CAAH,oCAAoEF,WAAW,CAAC1H,KAAlG,CACA,IAAM8H,WAAW,4BAAG,MAAKpH,KAAL,CAAWoH,WAAd,oCAA6BJ,WAAW,CAACpH,IAA1D,CAEA,MAAKkB,KAAL,GAAa,EACXU,cAAc,EAAE,CADL,EAEXT,MAAM,EAAE5B,aAAa,CAACoC,SAAd,CAAwB2F,YAAxB,EAAsCE,WAAtC,CAFG,EAGXN,KAAK,EAALA,KAHW,EAIXV,eAAe,EAAE,CAJN,EAKXlB,YAAY,EAAE,CALH,EAAb,CApBgC,aA2BjC,CAjDH,uCAmDSmC,kBAnDT,GAmDE,4BAA0BC,SAA1B,EAAoE,CAClE,IAAQ1C,KAAR,GAAkB,KAAK5E,KAAvB,CAAQ4E,KAAR,CACA,IAAIA,KAAK,IAAI,CAACjH,YAAY,CAACiH,KAAD,EAAQ0C,SAAS,CAAC1C,KAAlB,CAA1B,EAAoD,CAClD,IAAMjF,KAAI,GAAG,IAAI/B,YAAJ,GAAmB2J,UAAnB,CAA8B3C,KAA9B,EAAqC4C,uBAArC,EAAb,CACA,KAAKpH,aAAL,CAAmBT,KAAI,CAACL,KAAL,GAAa,CAAhC,EAAmCK,KAAI,CAACC,IAAxC,EACD,CACF,CAzDH,QA2DS6H,oBA3DT,GA2DE,gCAA8B,CAC5B,IAAI,KAAKjJ,SAAL,CAAe6B,UAAf,EAAJ,EAAiC,CAC/B,KAAK7B,SAAL,CAAekJ,MAAf,GACD,CACF,CA/DH,QAiESC,MAjET,GAiEE,kBAAgB,mBACd,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACxG,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,OAAO,MAAI,CAAC2B,UAAL,EAAP,CACD,CAJH,CADF,CAQD,CA1EH,CA4EE;AACF;AACA;AACA,KA/EA,QAmOUe,WAnOV,GAmOE,4BAA4D,KAAvCF,GAAuC,YAAlCrE,KAAkC,YAC1D,IAAMK,IAAI,GAAG,KAAKgB,qBAAL,CAA2B,KAAKX,KAAL,CAAW4E,KAAtC,CAAb,CACA,IAAMlE,OAAO,GAAG,KAAKC,qBAAL,CAA2B,KAAKX,KAAL,CAAWU,OAAtC,CAAhB,CACA,IAAME,OAAO,GAAG,KAAKD,qBAAL,CAA2B,KAAKX,KAAL,CAAWY,OAAtC,CAAhB,CAEA,oBACE,oBAAC,KAAD,IACE,GAAG,EAAEtB,KAAK,CAACA,KAAN,GAAc,GAAd,GAAoBA,KAAK,CAACM,IADjC,EAEE,GAAG,EAAE+D,GAFP,EAGE,KAAK,EAAErE,KAHT,EAIE,OAAO,EAAEsB,OAJX,EAKE,OAAO,EAAEF,OALX,EAME,KAAK,EAAE,KAAKI,KAAL,CAAWgG,KANpB,EAOE,KAAK,EAAEnH,IAPT,EAQE,WAAW,EAAE,KAAK+E,gBARpB,EASE,iBAAiB,EAAE,KAAKI,qBAT1B,EAUE,SAAS,EAAE,KAAKR,SAVlB,GADF,CAcD,CAtPH,QA0QU3D,qBA1QV,GA0QE,+BAA8BhB,IAA9B,EAAsD,CACpD,OAAO,IAAI/B,YAAJ,GAAmB2J,UAAnB,CAA8B5H,IAA9B,EAAoCiI,cAApC,EAAP,CACD,CA5QH,QA8QU5E,iBA9QV,GA8QE,6BAA4B,CAC1B,mBAAmC,KAAKlC,KAAxC,CAAQU,cAAR,gBAAQA,cAAR,CAAwBT,MAAxB,gBAAwBA,MAAxB,CAEA,IAAMgC,SAAS,GAAG,CAACvB,cAAc,GAAGT,MAAM,CAAC,CAAD,CAAN,CAAU2B,SAAV,CAAoB,KAAKvB,KAAzB,CAAlB,CAAlB,CACA,KAAK,IAAIsC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG1C,MAAM,CAACkB,MAA3B,EAAmCwB,CAAC,EAApC,EAAwC,CACtC,IAAMoE,QAAQ,GAAG9E,SAAS,CAACU,CAAC,GAAG,CAAL,CAAT,GAAmB1C,MAAM,CAAC0C,CAAC,GAAG,CAAL,CAAN,CAAcf,SAAd,CAAwB,KAAKvB,KAA7B,CAApC,CACA4B,SAAS,CAAC+E,IAAV,CAAeD,QAAf,EACD,CACD,OAAO9E,SAAP,CACD,CAvRH,mBAA8BvF,KAAK,CAACuK,SAApC,WACgBC,mBADhB,GACsC,UADtC,UAOgB9H,YAPhB,GAO6C,EACzCQ,OAAO,EAAEjB,OAAQ,CAACC,UAAT,CAAoBtB,QAApB,EAA8BC,SAA9B,EAAyCC,QAAzC,CADgC,EAEzCsC,OAAO,EAAEnB,OAAQ,CAACC,UAAT,CAAoBzB,QAApB,EAA8BC,SAA9B,EAAyCC,QAAzC,CAFgC,EAGzCmG,SAAS,EAAE,mBAAC2D,IAAD,EAAe1D,SAAf,UAAsCA,SAAtC,EAH8B,EAP7C","sourcesContent":["import React from 'react';\nimport normalizeWheel from 'normalize-wheel';\nimport throttle from 'lodash.throttle';\nimport shallowEqual from 'shallowequal';\n\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { InternalDateTransformer } from '../../lib/date/InternalDateTransformer';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { cx } from '../../lib/theming/Emotion';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { MAX_DATE, MAX_MONTH, MAX_YEAR, MIN_DATE, MIN_MONTH, MIN_YEAR } from '../../lib/date/constants';\nimport { Nullable, Range } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { animation } from '../../lib/animation';\nimport { isMobile } from '../../lib/client';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { themeConfig } from './config';\nimport { MonthViewModel } from './MonthViewModel';\nimport * as CalendarScrollEvents from './CalendarScrollEvents';\nimport { Month } from './Month';\nimport { styles } from './Calendar.styles';\nimport { CalendarDateShape, create, isGreater, isLess } from './CalendarDateShape';\nimport * as CalendarUtils from './CalendarUtils';\n\nexport interface CalendarProps extends CommonProps {\n /**\n * Вызывается при изменении `value`\n *\n * В аргументе хранится дата в формате `dd.mm.yyyy`\n */\n onValueChange?: (date: string) => void;\n /**\n * Задаёт текущую дату\n *\n * Дата задаётся в формате `dd.mm.yyyy`\n */\n value: Nullable<string>;\n /**\n * Задаёт максимальную возможную дату\n *\n * Дата задаётся в формате `dd.mm.yyyy`\n */\n maxDate?: string;\n /**\n * Задаёт минимальную возможную дату\n *\n * Дата задаётся в формате `dd.mm.yyyy`\n */\n minDate?: string;\n /**\n * Функция для определения праздничных дней\n * @default (_day, isWeekend) => isWeekend\n * @param {string} day - строка в формате `dd.mm.yyyy`\n * @param {boolean} isWeekend - флаг выходного (суббота или воскресенье)\n *\n * @returns {boolean} `true` для выходного или `false` для рабочего дня\n */\n isHoliday?: (day: string, isWeekend: boolean) => boolean;\n /**\n * Позволяет задать начальный месяц\n */\n initialMonth?: Range<1, 13>;\n /**\n * Позволяет задать начальный год\n */\n initialYear?: number;\n}\n\nexport interface CalendarState {\n scrollPosition: number;\n months: MonthViewModel[];\n today: CalendarDateShape;\n scrollDirection: number;\n scrollTarget: number;\n}\n\nexport const CalendarDataTids = {\n root: 'Calendar__root',\n month: 'MonthView__month',\n headerMonth: 'MonthView__headerMonth',\n headerYear: 'MonthView__headerYear',\n} as const;\n\ntype DefaultProps = Required<Pick<CalendarProps, 'minDate' | 'maxDate' | 'isHoliday'>>;\n\n/**\n * Компонент календаря из [DatePicker](https://tech.skbkontur.ru/react-ui/#/Components/DatePicker)'а\n */\n@rootNode\nexport class Calendar extends React.Component<CalendarProps, CalendarState> {\n public static __KONTUR_REACT_UI__ = 'Calendar';\n\n private static formatDate(date: number, month: number, year: number) {\n return new InternalDate().setComponents({ date, month, year }).toString({ withPad: true });\n }\n\n public static defaultProps: DefaultProps = {\n minDate: Calendar.formatDate(MIN_DATE, MIN_MONTH, MIN_YEAR),\n maxDate: Calendar.formatDate(MAX_DATE, MAX_MONTH, MAX_YEAR),\n isHoliday: (_day: string, isWeekend: boolean) => isWeekend,\n };\n\n private getProps = createPropsGetter(Calendar.defaultProps);\n\n private theme!: Theme;\n private wheelEndTimeout: Nullable<number>;\n private root: Nullable<HTMLElement>;\n private animation = animation();\n private touchStartY: Nullable<number> = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: CalendarProps) {\n super(props);\n\n const { minDate, maxDate, value } = this.getProps();\n\n const minDateShape = this.getDateInNativeFormat(minDate);\n const maxDateShape = this.getDateInNativeFormat(maxDate);\n const dateShape = this.getDateInNativeFormat(value);\n\n const today = CalendarUtils.getTodayDate();\n const initialDate = CalendarUtils.getInitialDate({\n today,\n date: dateShape,\n minDate: minDateShape,\n maxDate: maxDateShape,\n });\n\n const initialMonth = CalendarUtils.getMonthInNativeFormat(this.props.initialMonth) ?? initialDate.month;\n const initialYear = this.props.initialYear ?? initialDate.year;\n\n this.state = {\n scrollPosition: 0,\n months: CalendarUtils.getMonths(initialMonth, initialYear),\n today,\n scrollDirection: 1,\n scrollTarget: 0,\n };\n }\n\n public componentDidUpdate(prevProps: Readonly<CalendarProps>): void {\n const { value } = this.props;\n if (value && !shallowEqual(value, prevProps.value)) {\n const date = new InternalDate().parseValue(value).getComponentsLikeNumber();\n this.scrollToMonth(date.month - 1, date.year);\n }\n }\n\n public componentWillUnmount() {\n if (this.animation.inProgress()) {\n this.animation.cancel();\n }\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 /**\n * Прокручивает календарь до переданной даты\n * @public\n */\n public scrollToMonth = async (month: number, year: number) => {\n if (this.animation.inProgress()) {\n this.animation.finish();\n // FIXME: Dirty hack to await batched updates\n await new Promise((r) => setTimeout(r));\n }\n\n const minDate = this.getDateInNativeFormat(this.getProps().minDate);\n const maxDate = this.getDateInNativeFormat(this.getProps().maxDate);\n\n if (minDate && isGreater(minDate, create(32, month, year))) {\n this.scrollToMonth(minDate.month, minDate.year);\n return;\n }\n\n if (maxDate && isLess(maxDate, create(0, month, year))) {\n this.scrollToMonth(maxDate.month, maxDate.year);\n return;\n }\n\n const currentMonth = this.state.months[1];\n const diffInMonths = currentMonth.month + currentMonth.year * 12 - month - year * 12;\n\n if (diffInMonths === 0) {\n this.scrollTo(0);\n return;\n }\n\n const maxMonthsToAdd = themeConfig(this.theme).MAX_MONTHS_TO_APPEND_ON_SCROLL;\n\n const onEnd = () => {\n this.setState({\n months: CalendarUtils.getMonths(month, year),\n scrollPosition: 0,\n });\n };\n\n const isYearChanges = (state: CalendarState) => {\n return (\n state.months[1].year !== year &&\n // if diff in months is 2 or less,\n // either year is not changing either months already\n // have right isFirstInYear/isLastInYear flags\n Math.abs(diffInMonths) > 2\n );\n };\n\n // If scrolling upwards, prepend maximum maxMonthsToAdd months\n // and scroll to the first month\n if (diffInMonths > 0) {\n const monthsToPrependCount = Math.min(Math.abs(diffInMonths) - 1, maxMonthsToAdd);\n const monthsToPrepend = Array.from({ length: monthsToPrependCount }, (_, index) => {\n return MonthViewModel.create(month + index, year);\n });\n this.setState(\n (state) => {\n const yearChanges = isYearChanges(state);\n if (yearChanges) {\n // Mutating here can lead to some unexpected bugs\n // but we couldn't find any yet\n state.months[0].isFirstInYear = true;\n if (monthsToPrepend.length) {\n // Mutating item here is safe as it was just created\n monthsToPrepend[monthsToPrepend.length - 1].isLastInYear = true;\n }\n }\n return {\n months: monthsToPrepend.concat(state.months),\n scrollPosition: -CalendarUtils.getMonthsHeight(monthsToPrepend, this.theme),\n };\n },\n () => {\n const targetPosition = this.state.months[0].getHeight(this.theme);\n this.scrollTo(targetPosition, onEnd);\n },\n );\n }\n\n // If scrolling downwards, append maximum maxMonthsToAdd months\n // and scroll to the last but one month\n if (diffInMonths < 0) {\n const monthsToAppendCount = Math.min(Math.abs(diffInMonths), maxMonthsToAdd);\n const monthsToAppend = Array.from({ length: monthsToAppendCount }, (_, index) => {\n return MonthViewModel.create(month + index - monthsToAppendCount + 2, year);\n });\n this.setState(\n (state) => {\n if (isYearChanges(state)) {\n // Mutating here can lead to some unexpected bugs\n // but we couldn't find any yet\n state.months[state.months.length - 1].isLastInYear = true;\n // Mutating item here is safe as it was just created\n if (monthsToAppend[0]) {\n monthsToAppend[0].isFirstInYear = true;\n }\n }\n return { months: state.months.concat(monthsToAppend) };\n },\n () => {\n const targetPosition = -1 * CalendarUtils.getMonthsHeight(this.state.months.slice(1, -2), this.theme);\n this.scrollTo(targetPosition, onEnd);\n },\n );\n }\n };\n\n private renderMain = () => {\n const positions = this.getMonthPositions();\n const wrapperStyle = { height: themeConfig(this.theme).WRAPPER_HEIGHT };\n\n const props = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...props}>\n <div ref={this.refRoot} data-tid={CalendarDataTids.root} className={cx(styles.root(this.theme))}>\n <div style={wrapperStyle} className={styles.wrapper()}>\n {this.state.months\n .map<[number, MonthViewModel]>((x, i) => [positions[i], x])\n .filter(([top, month]) => CalendarUtils.isMonthVisible(top, month, this.theme))\n .map(this.renderMonth, this)}\n </div>\n <div className={styles.separator(this.theme)} />\n </div>\n </CommonWrapper>\n );\n };\n\n private refRoot = (element: HTMLElement | null) => {\n if (!this.root && element) {\n if (isMobile) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.throttledHandleTouchMove);\n } else {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n }\n if (this.root && !element) {\n if (isMobile) {\n this.root.removeEventListener('touchstart', this.handleTouchStart);\n this.root.removeEventListener('touchmove', this.throttledHandleTouchMove);\n } else {\n this.root.removeEventListener('wheel', this.handleWheel);\n }\n }\n this.root = element;\n };\n\n private renderMonth([top, month]: [number, MonthViewModel]) {\n const date = this.getDateInNativeFormat(this.props.value);\n const minDate = this.getDateInNativeFormat(this.props.minDate);\n const maxDate = this.getDateInNativeFormat(this.props.maxDate);\n\n return (\n <Month\n key={month.month + '-' + month.year}\n top={top}\n month={month}\n maxDate={maxDate}\n minDate={minDate}\n today={this.state.today}\n value={date}\n onDateClick={this.handleDateChange}\n onMonthYearChange={this.handleMonthYearChange}\n isHoliday={this.isHoliday}\n />\n );\n }\n\n private isHoliday = ({ date, month, year, isWeekend }: CalendarDateShape & { isWeekend: boolean }) => {\n const dateString = InternalDateTransformer.dateToInternalString({ date, month: month + 1, year });\n\n return this.getProps().isHoliday(dateString, isWeekend);\n };\n\n private handleDateChange = (dateShape: CalendarDateShape) => {\n const value = InternalDateTransformer.dateToInternalString({\n date: dateShape.date,\n month: dateShape.month + 1,\n year: dateShape.year,\n });\n\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private getDateInNativeFormat(date: Nullable<string>) {\n return new InternalDate().parseValue(date).toNativeFormat();\n }\n\n private getMonthPositions() {\n const { scrollPosition, months } = this.state;\n\n const positions = [scrollPosition - months[0].getHeight(this.theme)];\n for (let i = 1; i < months.length; i++) {\n const position = positions[i - 1] + months[i - 1].getHeight(this.theme);\n positions.push(position);\n }\n return positions;\n }\n\n private handleMonthYearChange = (month: number, year: number) => {\n this.scrollToMonth(month, year);\n };\n\n private executeAnimations = (pixelY: number) => {\n this.setState(({ months, scrollPosition }) => {\n const targetPosition = CalendarUtils.calculateScrollPosition(\n months,\n scrollPosition,\n pixelY,\n this.theme,\n ).scrollPosition;\n return { scrollTarget: targetPosition };\n }, this.handleWheelEnd);\n\n this.animation.animate(pixelY, (deltaY) => {\n // FIXME: Typescript not resolving setState cb type\n this.setState(CalendarUtils.applyDelta(deltaY, this.theme) as any);\n });\n\n CalendarScrollEvents.emit();\n };\n\n private handleTouchStart = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n const clientY = event.targetTouches[0].clientY;\n this.touchStartY = clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n\n const deltaY = (this.touchStartY || 0) - clientY;\n this.touchStartY = clientY;\n\n this.executeAnimations(deltaY);\n };\n\n private throttledHandleTouchMove = throttle(this.handleTouchMove, 10);\n\n private handleWheel = (event: Event) => {\n if (!(event instanceof WheelEvent)) {\n return;\n }\n event.preventDefault();\n const { pixelY } = normalizeWheel(event);\n\n this.executeAnimations(pixelY);\n };\n\n private handleWheelEnd = () => {\n if (this.wheelEndTimeout) {\n clearTimeout(this.wheelEndTimeout);\n }\n this.wheelEndTimeout = window.setTimeout(this.scrollToNearestWeek, 300);\n };\n private scrollToNearestWeek = () => {\n const { scrollTarget, scrollDirection } = this.state;\n\n const trasholdHeight = themeConfig(this.theme).MONTH_TITLE_OFFSET_HEIGHT + themeConfig(this.theme).DAY_SIZE;\n\n if (scrollTarget < trasholdHeight) {\n let targetPosition = 0;\n if (scrollDirection < 0) {\n targetPosition = trasholdHeight;\n }\n\n this.setState({ scrollTarget: targetPosition }, () => {\n const amount = scrollTarget - targetPosition;\n this.animation.animate(amount, (deltaY) => {\n // FIXME: Typescript not resolving setState cb type\n this.setState(CalendarUtils.applyDelta(deltaY, this.theme) as any);\n });\n });\n }\n };\n\n private scrollTo = (pos: number, onEnd?: () => void) => {\n const scrollAmmount = pos - this.state.scrollPosition;\n return this.scrollAmount(scrollAmmount, onEnd);\n };\n\n private scrollAmount = (scrollAmmount: number, onEnd?: () => void) => {\n return this.animation.animate(\n scrollAmmount,\n (deltaY) => {\n this.setState(({ scrollPosition }) => ({\n scrollPosition: scrollPosition + deltaY,\n }));\n },\n onEnd,\n );\n };\n}\n"]}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { CommonProps } from '../../internal/CommonWrapper';
|
|
3
|
+
import { Nullable, Range } from '../../typings/utility-types';
|
|
4
|
+
import { MonthViewModel } from './MonthViewModel';
|
|
5
|
+
import { CalendarDateShape } from './CalendarDateShape';
|
|
6
|
+
export interface CalendarProps extends CommonProps {
|
|
7
|
+
/**
|
|
8
|
+
* Вызывается при изменении `value`
|
|
9
|
+
*
|
|
10
|
+
* В аргументе хранится дата в формате `dd.mm.yyyy`
|
|
11
|
+
*/
|
|
12
|
+
onValueChange?: (date: string) => void;
|
|
13
|
+
/**
|
|
14
|
+
* Задаёт текущую дату
|
|
15
|
+
*
|
|
16
|
+
* Дата задаётся в формате `dd.mm.yyyy`
|
|
17
|
+
*/
|
|
18
|
+
value: Nullable<string>;
|
|
19
|
+
/**
|
|
20
|
+
* Задаёт максимальную возможную дату
|
|
21
|
+
*
|
|
22
|
+
* Дата задаётся в формате `dd.mm.yyyy`
|
|
23
|
+
*/
|
|
24
|
+
maxDate?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Задаёт минимальную возможную дату
|
|
27
|
+
*
|
|
28
|
+
* Дата задаётся в формате `dd.mm.yyyy`
|
|
29
|
+
*/
|
|
30
|
+
minDate?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Функция для определения праздничных дней
|
|
33
|
+
* @default (_day, isWeekend) => isWeekend
|
|
34
|
+
* @param {string} day - строка в формате `dd.mm.yyyy`
|
|
35
|
+
* @param {boolean} isWeekend - флаг выходного (суббота или воскресенье)
|
|
36
|
+
*
|
|
37
|
+
* @returns {boolean} `true` для выходного или `false` для рабочего дня
|
|
38
|
+
*/
|
|
39
|
+
isHoliday?: (day: string, isWeekend: boolean) => boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Позволяет задать начальный месяц
|
|
42
|
+
*/
|
|
43
|
+
initialMonth?: Range<1, 13>;
|
|
44
|
+
/**
|
|
45
|
+
* Позволяет задать начальный год
|
|
46
|
+
*/
|
|
47
|
+
initialYear?: number;
|
|
48
|
+
}
|
|
49
|
+
export interface CalendarState {
|
|
50
|
+
scrollPosition: number;
|
|
51
|
+
months: MonthViewModel[];
|
|
52
|
+
today: CalendarDateShape;
|
|
53
|
+
scrollDirection: number;
|
|
54
|
+
scrollTarget: number;
|
|
55
|
+
}
|
|
56
|
+
export declare const CalendarDataTids: {
|
|
57
|
+
readonly root: "Calendar__root";
|
|
58
|
+
readonly month: "MonthView__month";
|
|
59
|
+
readonly headerMonth: "MonthView__headerMonth";
|
|
60
|
+
readonly headerYear: "MonthView__headerYear";
|
|
61
|
+
};
|
|
62
|
+
declare type DefaultProps = Required<Pick<CalendarProps, 'minDate' | 'maxDate' | 'isHoliday'>>;
|
|
63
|
+
/**
|
|
64
|
+
* Компонент календаря из [DatePicker](https://tech.skbkontur.ru/react-ui/#/Components/DatePicker)'а
|
|
65
|
+
*/
|
|
66
|
+
export declare class Calendar extends React.Component<CalendarProps, CalendarState> {
|
|
67
|
+
static __KONTUR_REACT_UI__: string;
|
|
68
|
+
private static formatDate;
|
|
69
|
+
static defaultProps: DefaultProps;
|
|
70
|
+
private getProps;
|
|
71
|
+
private theme;
|
|
72
|
+
private wheelEndTimeout;
|
|
73
|
+
private root;
|
|
74
|
+
private animation;
|
|
75
|
+
private touchStartY;
|
|
76
|
+
private setRootNode;
|
|
77
|
+
constructor(props: CalendarProps);
|
|
78
|
+
componentDidUpdate(prevProps: Readonly<CalendarProps>): void;
|
|
79
|
+
componentWillUnmount(): void;
|
|
80
|
+
render(): JSX.Element;
|
|
81
|
+
/**
|
|
82
|
+
* Прокручивает календарь до переданной даты
|
|
83
|
+
* @public
|
|
84
|
+
*/
|
|
85
|
+
scrollToMonth: (month: number, year: number) => Promise<void>;
|
|
86
|
+
private renderMain;
|
|
87
|
+
private refRoot;
|
|
88
|
+
private renderMonth;
|
|
89
|
+
private isHoliday;
|
|
90
|
+
private handleDateChange;
|
|
91
|
+
private getDateInNativeFormat;
|
|
92
|
+
private getMonthPositions;
|
|
93
|
+
private handleMonthYearChange;
|
|
94
|
+
private executeAnimations;
|
|
95
|
+
private handleTouchStart;
|
|
96
|
+
private handleTouchMove;
|
|
97
|
+
private throttledHandleTouchMove;
|
|
98
|
+
private handleWheel;
|
|
99
|
+
private handleWheelEnd;
|
|
100
|
+
private scrollToNearestWeek;
|
|
101
|
+
private scrollTo;
|
|
102
|
+
private scrollAmount;
|
|
103
|
+
}
|
|
104
|
+
export {};
|