@skbkontur/react-ui 0.0.0-95a1dbe516 → 0.0.0-9ab4f802f3
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 +120 -0
- package/README.md +41 -13
- package/cjs/components/Autocomplete/Autocomplete.js +12 -6
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Autocomplete/Autocomplete.md +76 -3
- package/cjs/components/Autocomplete/Autocomplete.styles.d.ts +1 -0
- package/cjs/components/Autocomplete/Autocomplete.styles.js +7 -1
- package/cjs/components/Autocomplete/Autocomplete.styles.js.map +1 -1
- package/cjs/components/Button/Button.js +2 -2
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.md +38 -11
- package/cjs/components/Calendar/Calendar.d.ts +28 -5
- package/cjs/components/Calendar/Calendar.js +80 -36
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Calendar/Calendar.md +82 -1
- package/cjs/components/Calendar/Calendar.styles.js +1 -1
- package/cjs/components/Calendar/Calendar.styles.js.map +1 -1
- package/cjs/components/Calendar/CalendarContext.d.ts +12 -0
- package/cjs/components/Calendar/CalendarContext.js +16 -0
- package/cjs/components/Calendar/CalendarContext.js.map +1 -0
- package/cjs/components/Calendar/CalendarDateShape.d.ts +4 -2
- package/cjs/components/Calendar/CalendarDateShape.js +13 -3
- package/cjs/components/Calendar/CalendarDateShape.js.map +1 -1
- package/cjs/components/Calendar/CalendarDay.d.ts +12 -0
- package/cjs/components/Calendar/CalendarDay.js +79 -0
- package/cjs/components/Calendar/CalendarDay.js.map +1 -0
- package/cjs/components/Calendar/CalendarDay.md +70 -0
- package/cjs/components/Calendar/CalendarUtils.d.ts +2 -1
- package/cjs/components/Calendar/CalendarUtils.js +4 -6
- package/cjs/components/Calendar/CalendarUtils.js.map +1 -1
- package/cjs/components/Calendar/DayCellView.d.ts +4 -12
- package/cjs/components/Calendar/DayCellView.js +20 -42
- package/cjs/components/Calendar/DayCellView.js.map +1 -1
- package/cjs/components/Calendar/DayCellView.styles.d.ts +2 -5
- package/cjs/components/Calendar/DayCellView.styles.js +37 -43
- package/cjs/components/Calendar/DayCellView.styles.js.map +1 -1
- package/cjs/components/Calendar/Month.d.ts +0 -10
- package/cjs/components/Calendar/Month.js +36 -88
- package/cjs/components/Calendar/Month.js.map +1 -1
- package/cjs/components/Calendar/MonthView.d.ts +3 -2
- package/cjs/components/Calendar/MonthView.js +47 -37
- package/cjs/components/Calendar/MonthView.js.map +1 -1
- package/cjs/components/Calendar/MonthView.styles.d.ts +3 -0
- package/cjs/components/Calendar/MonthView.styles.js +45 -7
- package/cjs/components/Calendar/MonthView.styles.js.map +1 -1
- package/cjs/components/Calendar/MonthViewModel.js +24 -6
- package/cjs/components/Calendar/MonthViewModel.js.map +1 -1
- package/cjs/components/Calendar/config.js +12 -6
- package/cjs/components/Calendar/config.js.map +1 -1
- package/cjs/components/Calendar/index.d.ts +1 -0
- package/cjs/components/Calendar/index.js +2 -1
- package/cjs/components/Calendar/index.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.js +1 -1
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/DateInput/DateFragmentsView.js +1 -1
- package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
- package/cjs/components/DateInput/DateInput.js +1 -1
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +4 -1
- package/cjs/components/DatePicker/DatePicker.js +72 -45
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.md +29 -1
- package/cjs/components/DatePicker/DatePickerHelpers.js +2 -1
- package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
- package/cjs/components/DatePicker/MobilePicker.d.ts +10 -0
- package/cjs/components/DatePicker/MobilePicker.js +118 -0
- package/cjs/components/DatePicker/MobilePicker.js.map +1 -0
- package/cjs/components/DatePicker/MobilePicker.styles.d.ts +3 -0
- package/cjs/components/DatePicker/MobilePicker.styles.js +8 -0
- package/cjs/components/DatePicker/MobilePicker.styles.js.map +1 -0
- package/cjs/components/DatePicker/Picker.js +1 -1
- package/cjs/components/DatePicker/Picker.js.map +1 -1
- package/cjs/components/DatePicker/getMobilePickerTheme.d.ts +2 -0
- package/cjs/components/DatePicker/getMobilePickerTheme.js +19 -0
- package/cjs/components/DatePicker/getMobilePickerTheme.js.map +1 -0
- package/cjs/components/Dropdown/Dropdown.js +1 -1
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.md +39 -0
- package/cjs/components/FileUploader/FileUploader.d.ts +2 -0
- package/cjs/components/FileUploader/FileUploader.js +32 -9
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.md +29 -0
- package/cjs/components/FxInput/FxInput.js +1 -1
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/Group/Group.js +1 -1
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Hint/Hint.d.ts +4 -3
- package/cjs/components/Hint/Hint.js +9 -8
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Input/Input.js +1 -1
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.styles.d.ts +1 -1
- package/cjs/components/Input/Input.styles.js +3 -2
- package/cjs/components/Input/Input.styles.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayout.styles.d.ts +1 -1
- package/cjs/components/Input/InputLayout/InputLayout.styles.js +3 -2
- package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
- package/cjs/components/Kebab/Kebab.js +6 -1
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.js +3 -2
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Loader/Loader.js +1 -1
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.js +2 -2
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MiniModal/MiniModal.js +1 -1
- package/cjs/components/MiniModal/MiniModal.js.map +1 -1
- package/cjs/components/Modal/Modal.js +1 -1
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/ModalBody.js +1 -1
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Paging/Paging.js +8 -3
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.js +1 -1
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.js +10 -1
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollBar.js +1 -1
- package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/cjs/components/ScrollContainer/ScrollContainer.js +6 -0
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/Select/Select.js +6 -3
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePage.js +1 -1
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePageBody.js +1 -1
- package/cjs/components/SidePage/SidePageBody.js.map +1 -1
- package/cjs/components/SidePage/SidePageContainer.js +1 -1
- package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.js +1 -1
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.js +1 -1
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/Spinner/Spinner.js +1 -1
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Switcher/Switcher.js +1 -1
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Tabs/Indicator.js +1 -1
- package/cjs/components/Tabs/Indicator.js.map +1 -1
- package/cjs/components/Tabs/Tab.js +2 -2
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tabs.js +1 -1
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Textarea/Textarea.js +1 -1
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Toast/Toast.js +1 -1
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/ToastView.js +1 -1
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toggle/Toggle.js +1 -1
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Token/Token.js +2 -1
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.js +1 -1
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInputMenu.js +2 -2
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +10 -5
- package/cjs/components/Tooltip/Tooltip.js +59 -20
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.js +4 -4
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/hooks/useDrop.d.ts +1 -1
- package/cjs/hooks/useDrop.js.map +1 -1
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +2 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/CommonWrapper/CommonWrapper.js +2 -2
- package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/cjs/internal/CommonWrapper/{extractCommonProps.d.ts → utils/extractCommonProps.d.ts} +2 -2
- package/cjs/internal/CommonWrapper/utils/extractCommonProps.js.map +1 -0
- package/cjs/internal/CommonWrapper/{getCommonVisualStateDataAttributes.js → utils/getCommonVisualStateDataAttributes.js} +3 -4
- package/cjs/internal/CommonWrapper/utils/getCommonVisualStateDataAttributes.js.map +1 -0
- package/cjs/internal/CommonWrapper/{getVisualStateDataAttributes.d.ts → utils/getVisualStateDataAttributes.d.ts} +1 -1
- package/cjs/internal/CommonWrapper/{getVisualStateDataAttributes.js → utils/getVisualStateDataAttributes.js} +3 -3
- package/cjs/internal/CommonWrapper/utils/getVisualStateDataAttributes.js.map +1 -0
- package/cjs/internal/CommonWrapper/utils/tryGetBoolean.d.ts +1 -0
- package/cjs/internal/CommonWrapper/utils/tryGetBoolean.js +1 -0
- package/cjs/internal/CommonWrapper/utils/tryGetBoolean.js.map +1 -0
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js +2 -3
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js +3 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.d.ts +2 -0
- package/cjs/internal/DateSelect/DateSelect.js +51 -4
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.styles.d.ts +1 -0
- package/cjs/internal/DateSelect/DateSelect.styles.js +15 -1
- package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
- package/cjs/internal/DateSelect/locale/locales/en.js +2 -1
- package/cjs/internal/DateSelect/locale/locales/en.js.map +1 -1
- package/cjs/internal/DateSelect/locale/locales/ru.js +2 -1
- package/cjs/internal/DateSelect/locale/locales/ru.js.map +1 -1
- package/cjs/internal/DateSelect/locale/types.d.ts +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +5 -2
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +16 -3
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +4 -2
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +3 -2
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.js +2 -2
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js +1 -1
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.js +2 -2
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/Menu/Menu.js +2 -2
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.d.ts +4 -0
- package/cjs/internal/MobilePopup/MobilePopup.js +7 -1
- package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +7 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +32 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +4 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +15 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +1 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/index.d.ts +1 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/index.js +1 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/index.js.map +1 -0
- package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +1 -1
- package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
- package/cjs/internal/NativeDateInput/utils.js +3 -2
- package/cjs/internal/NativeDateInput/utils.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +15 -4
- package/cjs/internal/Popup/Popup.js +67 -4
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.js +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.d.ts +3 -0
- package/cjs/internal/RenderContainer/RenderContainer.js +34 -24
- package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +8 -4
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.js +5 -1
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.js +1 -1
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +9 -6
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/constants.js +2 -1
- package/cjs/internal/ThemePlayground/constants.js.map +1 -1
- package/cjs/internal/ThemeShowcase/ThemeShowcase.js +1 -1
- package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ZIndex/ZIndex.d.ts +7 -3
- package/cjs/internal/ZIndex/ZIndex.js +41 -3
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/themes/DarkTheme.d.ts +2 -0
- package/cjs/internal/themes/DarkTheme.js +6 -1
- package/cjs/internal/themes/DarkTheme.js.map +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +18 -0
- package/cjs/internal/themes/DefaultTheme.js +32 -4
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/lib/date/InternalDate.d.ts +2 -0
- package/cjs/lib/date/InternalDate.js +8 -1
- package/cjs/lib/date/InternalDate.js.map +1 -1
- package/cjs/lib/date/InternalDateTransformer.d.ts +3 -0
- package/cjs/lib/date/InternalDateTransformer.js +23 -0
- package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
- package/cjs/lib/date/InternalDateValidator.js +2 -1
- package/cjs/lib/date/InternalDateValidator.js.map +1 -1
- package/cjs/lib/date/comparison.d.ts +6 -0
- package/cjs/lib/date/comparison.js +44 -0
- package/cjs/lib/date/comparison.js.map +1 -0
- package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +24 -0
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +3 -1
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/cjs/lib/listenFocusOutside.js +4 -2
- package/cjs/lib/listenFocusOutside.js.map +1 -1
- package/cjs/lib/locale/constants.d.ts +3 -0
- package/cjs/lib/locale/constants.js +6 -2
- package/cjs/lib/locale/constants.js.map +1 -1
- package/cjs/lib/taskWithDelayAndMinimalDuration.js +1 -0
- package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/cjs/lib/theming/Emotion.d.ts +7 -1
- package/cjs/lib/theming/Emotion.js +6 -3
- package/cjs/lib/theming/Emotion.js.map +1 -1
- package/cjs/lib/theming/ThemeContext.d.ts +0 -2
- package/cjs/lib/theming/ThemeContext.js +1 -3
- package/cjs/lib/theming/ThemeContext.js.map +1 -1
- package/cjs/lib/theming/ThemeContext.md +3 -1
- package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.d.ts +30 -0
- package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.js +50 -0
- package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.js.map +1 -0
- package/cjs/lib/theming/themes/Theme2022Update2024.d.ts +46 -0
- package/cjs/lib/theming/themes/Theme2022Update2024.js +75 -0
- package/cjs/lib/theming/themes/Theme2022Update2024.js.map +1 -0
- package/cjs/lib/widgets/StylesContainer.d.ts +13 -0
- package/cjs/lib/widgets/StylesContainer.js +70 -0
- package/cjs/lib/widgets/StylesContainer.js.map +1 -0
- package/cjs/lib/widgets/index.d.ts +1 -0
- package/cjs/lib/widgets/index.js +1 -0
- package/cjs/lib/widgets/index.js.map +1 -0
- package/components/Autocomplete/Autocomplete/Autocomplete.js +11 -5
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.md +76 -3
- package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js +4 -1
- package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js.map +1 -1
- package/components/Autocomplete/Autocomplete.styles.d.ts +1 -0
- package/components/Button/Button/Button.js +3 -3
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.md +38 -11
- package/components/Calendar/Calendar/Calendar.js +83 -66
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/Calendar.d.ts +28 -5
- package/components/Calendar/Calendar.md +82 -1
- package/components/Calendar/Calendar.styles/Calendar.styles.js +1 -1
- package/components/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
- package/components/Calendar/CalendarContext/CalendarContext.js +2 -0
- package/components/Calendar/CalendarContext/CalendarContext.js.map +1 -0
- package/components/Calendar/CalendarContext/package.json +6 -0
- package/components/Calendar/CalendarContext.d.ts +12 -0
- package/components/Calendar/CalendarDateShape/CalendarDateShape.js +23 -1
- package/components/Calendar/CalendarDateShape/CalendarDateShape.js.map +1 -1
- package/components/Calendar/CalendarDateShape.d.ts +4 -2
- package/components/Calendar/CalendarDay/CalendarDay.js +64 -0
- package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -0
- package/components/Calendar/CalendarDay/package.json +6 -0
- package/components/Calendar/CalendarDay.d.ts +12 -0
- package/components/Calendar/CalendarDay.md +70 -0
- package/components/Calendar/CalendarUtils/CalendarUtils.js +5 -4
- package/components/Calendar/CalendarUtils/CalendarUtils.js.map +1 -1
- package/components/Calendar/CalendarUtils.d.ts +2 -1
- package/components/Calendar/DayCellView/DayCellView.js +33 -46
- package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
- package/components/Calendar/DayCellView.d.ts +4 -12
- package/components/Calendar/DayCellView.styles/DayCellView.styles.js +10 -14
- package/components/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
- package/components/Calendar/DayCellView.styles.d.ts +2 -5
- package/components/Calendar/Month/Month.js +50 -84
- package/components/Calendar/Month/Month.js.map +1 -1
- package/components/Calendar/Month.d.ts +0 -10
- package/components/Calendar/MonthView/MonthView.js +50 -45
- package/components/Calendar/MonthView/MonthView.js.map +1 -1
- package/components/Calendar/MonthView.d.ts +3 -2
- package/components/Calendar/MonthView.styles/MonthView.styles.js +20 -6
- package/components/Calendar/MonthView.styles/MonthView.styles.js.map +1 -1
- package/components/Calendar/MonthView.styles.d.ts +3 -0
- package/components/Calendar/MonthViewModel/MonthViewModel.js +9 -6
- package/components/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
- package/components/Calendar/config/config.js +6 -4
- package/components/Calendar/config/config.js.map +1 -1
- package/components/Calendar/index/index.js +2 -1
- package/components/Calendar/index/index.js.map +1 -1
- package/components/Calendar/index.d.ts +1 -0
- package/components/Checkbox/Checkbox/Checkbox.js +2 -2
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/DateInput/DateFragmentsView/DateFragmentsView.js +2 -2
- package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
- package/components/DateInput/DateInput/DateInput.js +2 -2
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +62 -41
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +4 -1
- package/components/DatePicker/DatePicker.md +29 -1
- package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js +2 -1
- package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
- package/components/DatePicker/MobilePicker/MobilePicker.js +91 -0
- package/components/DatePicker/MobilePicker/MobilePicker.js.map +1 -0
- package/components/DatePicker/MobilePicker/package.json +6 -0
- package/components/DatePicker/MobilePicker.d.ts +10 -0
- package/components/DatePicker/MobilePicker.styles/MobilePicker.styles.js +10 -0
- package/components/DatePicker/MobilePicker.styles/MobilePicker.styles.js.map +1 -0
- package/components/DatePicker/MobilePicker.styles/package.json +6 -0
- package/components/DatePicker/MobilePicker.styles.d.ts +3 -0
- package/components/DatePicker/Picker/Picker.js +3 -3
- package/components/DatePicker/Picker/Picker.js.map +1 -1
- package/components/DatePicker/getMobilePickerTheme/getMobilePickerTheme.js +14 -0
- package/components/DatePicker/getMobilePickerTheme/getMobilePickerTheme.js.map +1 -0
- package/components/DatePicker/getMobilePickerTheme/package.json +6 -0
- package/components/DatePicker/getMobilePickerTheme.d.ts +2 -0
- package/components/Dropdown/Dropdown/Dropdown.js +3 -3
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +3 -3
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.md +39 -0
- package/components/FileUploader/FileUploader/FileUploader.js +30 -8
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.d.ts +2 -0
- package/components/FileUploader/FileUploader.md +29 -0
- package/components/FxInput/FxInput/FxInput.js +2 -2
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/Group/Group/Group.js +2 -2
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Hint/Hint/Hint.js +53 -48
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +4 -3
- package/components/Input/Input/Input.js +3 -3
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.styles/Input.styles.js +2 -2
- package/components/Input/Input.styles/Input.styles.js.map +1 -1
- package/components/Input/Input.styles.d.ts +1 -1
- package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -2
- package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
- package/components/Input/InputLayout/InputLayout.styles.d.ts +1 -1
- package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js +1 -1
- package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
- package/components/Kebab/Kebab/Kebab.js +7 -4
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Link/Link/Link.js +6 -3
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Loader/Loader/Loader.js +2 -2
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/MenuItem/MenuItem/MenuItem.js +3 -3
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MiniModal/MiniModal/MiniModal.js +2 -2
- package/components/MiniModal/MiniModal/MiniModal.js.map +1 -1
- package/components/Modal/Modal/Modal.js +3 -3
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/ModalBody/ModalBody.js +3 -3
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Paging/Paging/Paging.js +10 -6
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +2 -2
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/Radio/Radio/Radio.js +2 -2
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/RadioGroup/RadioGroup/RadioGroup.js +8 -4
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/ScrollContainer/ScrollBar/ScrollBar.js +2 -2
- package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +5 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/components/Select/Select/Select.js +6 -5
- package/components/Select/Select/Select.js.map +1 -1
- package/components/SidePage/SidePage/SidePage.js +2 -2
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePageBody/SidePageBody.js +2 -2
- package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
- package/components/SidePage/SidePageContainer/SidePageContainer.js +2 -2
- package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
- package/components/SidePage/SidePageFooter/SidePageFooter.js +2 -2
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js +2 -2
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/Spinner/Spinner/Spinner.js +2 -2
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Switcher/Switcher/Switcher.js +3 -3
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Tabs/Indicator/Indicator.js +2 -2
- package/components/Tabs/Indicator/Indicator.js.map +1 -1
- package/components/Tabs/Tab/Tab.js +3 -3
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tabs/Tabs.js +2 -2
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Textarea/Textarea/Textarea.js +2 -2
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Toast/Toast/Toast.js +3 -3
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/ToastView/ToastView.js +2 -2
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toggle/Toggle/Toggle.js +2 -2
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Token/Token/Token.js +6 -3
- package/components/Token/Token/Token.js.map +1 -1
- package/components/TokenInput/TokenInput/TokenInput.js +2 -2
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +3 -3
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/Tooltip/Tooltip/Tooltip.js +67 -46
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +10 -5
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +3 -3
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/hooks/useDrop/useDrop.js.map +1 -1
- package/hooks/useDrop.d.ts +1 -1
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +2 -2
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CommonWrapper/utils/extractCommonProps/extractCommonProps.js.map +1 -0
- package/internal/CommonWrapper/{extractCommonProps → utils/extractCommonProps}/package.json +1 -1
- package/internal/CommonWrapper/{extractCommonProps.d.ts → utils/extractCommonProps.d.ts} +2 -2
- package/internal/CommonWrapper/{getCommonVisualStateDataAttributes → utils/getCommonVisualStateDataAttributes}/getCommonVisualStateDataAttributes.js +1 -5
- package/internal/CommonWrapper/utils/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js.map +1 -0
- package/internal/CommonWrapper/{getCommonVisualStateDataAttributes → utils/getCommonVisualStateDataAttributes}/package.json +1 -1
- package/internal/CommonWrapper/{getVisualStateDataAttributes → utils/getVisualStateDataAttributes}/getVisualStateDataAttributes.js +3 -3
- package/internal/CommonWrapper/utils/getVisualStateDataAttributes/getVisualStateDataAttributes.js.map +1 -0
- package/internal/CommonWrapper/{getVisualStateDataAttributes → utils/getVisualStateDataAttributes}/package.json +1 -1
- package/internal/CommonWrapper/{getVisualStateDataAttributes.d.ts → utils/getVisualStateDataAttributes.d.ts} +1 -1
- package/internal/CommonWrapper/utils/tryGetBoolean/package.json +6 -0
- package/internal/CommonWrapper/utils/tryGetBoolean/tryGetBoolean.js +3 -0
- package/internal/CommonWrapper/utils/tryGetBoolean/tryGetBoolean.js.map +1 -0
- package/internal/CommonWrapper/utils/tryGetBoolean.d.ts +1 -0
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +3 -3
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +5 -3
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/DateSelect/DateSelect/DateSelect.js +59 -6
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.d.ts +2 -0
- package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +4 -1
- package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
- package/internal/DateSelect/DateSelect.styles.d.ts +1 -0
- package/internal/DateSelect/locale/locales/en/en.js +2 -1
- package/internal/DateSelect/locale/locales/en/en.js.map +1 -1
- package/internal/DateSelect/locale/locales/ru/ru.js +2 -1
- package/internal/DateSelect/locale/locales/ru/ru.js.map +1 -1
- package/internal/DateSelect/locale/types.d.ts +1 -0
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +12 -3
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +5 -2
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +4 -2
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +4 -2
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +3 -3
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js +2 -2
- package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +3 -3
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/Menu/Menu/Menu.js +3 -3
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/MobilePopup/MobilePopup/MobilePopup.js +4 -3
- package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopup.d.ts +4 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js +37 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js.map +1 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/package.json +6 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +7 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js +11 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js.map +1 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/package.json +6 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +4 -0
- package/internal/MobilePopup/MobilePopupFooter/index/index.js +1 -0
- package/internal/MobilePopup/MobilePopupFooter/index/index.js.map +1 -0
- package/internal/MobilePopup/MobilePopupFooter/index/package.json +6 -0
- package/internal/MobilePopup/MobilePopupFooter/index.d.ts +1 -0
- package/internal/MobilePopup/MobilePopupFooter/package.json +6 -0
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +2 -2
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
- package/internal/NativeDateInput/utils/utils.js +2 -1
- package/internal/NativeDateInput/utils/utils.js.map +1 -1
- package/internal/Popup/Popup/Popup.js +53 -10
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +15 -4
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -3
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/RenderContainer/RenderContainer/RenderContainer.js +19 -12
- package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/RenderContainer/RenderContainer.d.ts +3 -0
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +11 -5
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +2 -2
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/ThemePlayground/Playground/Playground.js +2 -2
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +10 -7
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
- package/internal/ThemePlayground/constants/constants.js +3 -0
- package/internal/ThemePlayground/constants/constants.js.map +1 -1
- package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +2 -2
- package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js +55 -7
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndex.d.ts +7 -3
- package/internal/themes/DarkTheme/DarkTheme.js +2 -0
- package/internal/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/internal/themes/DarkTheme.d.ts +2 -0
- package/internal/themes/DefaultTheme/DefaultTheme.js +32 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +18 -0
- package/lib/date/InternalDate/InternalDate.js +7 -1
- package/lib/date/InternalDate/InternalDate.js.map +1 -1
- package/lib/date/InternalDate.d.ts +2 -0
- package/lib/date/InternalDateTransformer/InternalDateTransformer.js +30 -0
- package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
- package/lib/date/InternalDateTransformer.d.ts +3 -0
- package/lib/date/InternalDateValidator/InternalDateValidator.js +6 -1
- package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
- package/lib/date/comparison/comparison.js +45 -0
- package/lib/date/comparison/comparison.js.map +1 -0
- package/lib/date/comparison/package.json +6 -0
- package/lib/date/comparison.d.ts +6 -0
- package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +24 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +2 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
- package/lib/listenFocusOutside/listenFocusOutside.js +3 -2
- package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
- package/lib/locale/constants/constants.js +4 -1
- package/lib/locale/constants/constants.js.map +1 -1
- package/lib/locale/constants.d.ts +3 -0
- package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +2 -0
- package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/lib/theming/Emotion/Emotion.js +12 -3
- package/lib/theming/Emotion/Emotion.js.map +1 -1
- package/lib/theming/Emotion.d.ts +7 -1
- package/lib/theming/ThemeContext/ThemeContext.js +0 -2
- package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
- package/lib/theming/ThemeContext.d.ts +0 -2
- package/lib/theming/ThemeContext.md +3 -1
- package/lib/theming/themes/Theme2022DarkUpdate2024/Theme2022DarkUpdate2024.js +33 -0
- package/lib/theming/themes/Theme2022DarkUpdate2024/Theme2022DarkUpdate2024.js.map +1 -0
- package/lib/theming/themes/Theme2022DarkUpdate2024/package.json +6 -0
- package/lib/theming/themes/Theme2022DarkUpdate2024.d.ts +30 -0
- package/lib/theming/themes/Theme2022Update2024/Theme2022Update2024.js +50 -0
- package/lib/theming/themes/Theme2022Update2024/Theme2022Update2024.js.map +1 -0
- package/lib/theming/themes/Theme2022Update2024/package.json +6 -0
- package/lib/theming/themes/Theme2022Update2024.d.ts +46 -0
- package/lib/widgets/StylesContainer/StylesContainer.js +65 -0
- package/lib/widgets/StylesContainer/StylesContainer.js.map +1 -0
- package/lib/widgets/StylesContainer/package.json +6 -0
- package/lib/widgets/StylesContainer.d.ts +13 -0
- package/lib/widgets/index/index.js +1 -0
- package/lib/widgets/index/index.js.map +1 -0
- package/lib/widgets/index/package.json +6 -0
- package/lib/widgets/index.d.ts +1 -0
- package/lib/widgets/package.json +6 -0
- package/package.json +3 -2
- package/cjs/internal/CommonWrapper/extractCommonProps.js.map +0 -1
- package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.js.map +0 -1
- package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.js.map +0 -1
- package/cjs/lib/theming/StyleContainer.d.ts +0 -4
- package/cjs/lib/theming/StyleContainer.js +0 -21
- package/cjs/lib/theming/StyleContainer.js.map +0 -1
- package/internal/CommonWrapper/extractCommonProps/extractCommonProps.js.map +0 -1
- package/internal/CommonWrapper/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js.map +0 -1
- package/internal/CommonWrapper/getVisualStateDataAttributes/getVisualStateDataAttributes.js.map +0 -1
- package/lib/theming/StyleContainer/StyleContainer.js +0 -21
- package/lib/theming/StyleContainer/StyleContainer.js.map +0 -1
- package/lib/theming/StyleContainer/package.json +0 -6
- package/lib/theming/StyleContainer.d.ts +0 -4
- /package/cjs/internal/CommonWrapper/{extractCommonProps.js → utils/extractCommonProps.js} +0 -0
- /package/cjs/internal/CommonWrapper/{getCommonVisualStateDataAttributes.d.ts → utils/getCommonVisualStateDataAttributes.d.ts} +0 -0
- /package/internal/CommonWrapper/{extractCommonProps → utils/extractCommonProps}/extractCommonProps.js +0 -0
- /package/internal/CommonWrapper/{getCommonVisualStateDataAttributes.d.ts → utils/getCommonVisualStateDataAttributes.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MonthViewModel.ts"],"names":["memo","themeConfig","DayCellViewModel","getCurrentYear","month","year","Math","ceil","floor","getCurrentMonth","MonthViewModel","getHeight","theme","
|
|
1
|
+
{"version":3,"sources":["MonthViewModel.ts"],"names":["memo","getMonthInHumanFormat","themeConfig","DayCellViewModel","getCurrentYear","month","year","Math","ceil","floor","getCurrentMonth","MonthViewModel","getHeight","theme","DAY_HEIGHT","MONTH_TITLE_OFFSET_HEIGHT","MONTH_BOTTOM_MARGIN","CALENDAR_GRID_ROW_SPACING","getMonthHeight","daysCount","offset","currentYear","currentMonth","getMonthsDays","getMonthOffset","isLastInYear","isFirstInYear","days","Array","from","length","_","i","isWeekend","create","dayHeight","titleHeight","marginBottom","rowSpacing","weeks","Date","getDate","day","getDay"],"mappings":"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","sourcesContent":["import { memo } from '../../lib/memo';\nimport { Theme } from '../../lib/theming/Theme';\n\nimport { getMonthInHumanFormat } from './CalendarUtils';\nimport { themeConfig } from './config';\nimport { DayCellViewModel } from './DayCellViewModel';\n\nconst getCurrentYear = (month: number, year: number) => {\n if (month < 0) {\n return year - Math.ceil(-month / 12);\n }\n\n if (month > 11) {\n return year + Math.floor(month / 12);\n }\n\n return year;\n};\n\nconst getCurrentMonth = (month: number) => {\n if (month < 0) {\n return 12 + (month % 12);\n }\n\n if (month > 11) {\n return month % 12;\n }\n\n return month;\n};\n\nexport class MonthViewModel {\n public static create = memo((month: number, year: number): MonthViewModel => new MonthViewModel(month, year));\n\n public readonly daysCount: number;\n\n public readonly offset: number;\n\n public readonly month: number;\n\n public readonly year: number;\n\n public readonly days: DayCellViewModel[];\n\n // FIXME: shouldbe readonly\n public isLastInYear: boolean;\n\n // FIXME: shouldbe readonly\n public isFirstInYear: boolean;\n\n public getHeight(theme: Theme): number {\n const { DAY_HEIGHT, MONTH_TITLE_OFFSET_HEIGHT, MONTH_BOTTOM_MARGIN, CALENDAR_GRID_ROW_SPACING } =\n themeConfig(theme);\n return getMonthHeight(\n this.daysCount,\n this.offset,\n DAY_HEIGHT,\n MONTH_TITLE_OFFSET_HEIGHT,\n MONTH_BOTTOM_MARGIN,\n CALENDAR_GRID_ROW_SPACING,\n );\n }\n\n private constructor(month: number, year: number) {\n const currentYear = getCurrentYear(month, year);\n const currentMonth = getCurrentMonth(month);\n\n const daysCount = getMonthsDays(currentMonth, currentYear);\n const offset = getMonthOffset(currentMonth, currentYear);\n this.daysCount = daysCount;\n this.offset = offset;\n this.month = currentMonth;\n this.year = currentYear;\n this.isLastInYear = currentMonth === 11;\n this.isFirstInYear = currentMonth === 0;\n this.days = Array.from({ length: daysCount }, (_, i) => {\n const isWeekend = (i + getMonthOffset(currentMonth, currentYear)) % 7 >= 5;\n return DayCellViewModel.create(i + 1, currentMonth, currentYear, isWeekend);\n });\n }\n}\n\nconst getMonthHeight = memo(\n (\n daysCount: number,\n offset: number,\n dayHeight: number,\n titleHeight: number,\n marginBottom: number,\n rowSpacing: number,\n ) => {\n const weeks = Math.ceil((daysCount + offset) / 7);\n return weeks * dayHeight + titleHeight + marginBottom + rowSpacing * 2 + rowSpacing * (weeks - 1);\n },\n);\nconst getMonthsDays = memo((month: number, year: number) => new Date(year, getMonthInHumanFormat(month), 0).getDate());\n\nconst getMonthOffset = memo((month: number, year: number) => {\n const day = new Date(year, month, 1).getDay() - 1;\n if (day === -1) {\n return 6;\n }\n return day;\n});\n"]}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { memo } from "../../../lib/memo";
|
|
2
|
-
var getConfig = memo(function (monthTitleLineHeight, monthTitlePaddingTop, monthTitlePaddingBottom, monthTitleMarginBottom,
|
|
2
|
+
var getConfig = memo(function (monthTitleLineHeight, monthTitlePaddingTop, monthTitlePaddingBottom, monthTitleMarginBottom, cellWidth, cellHeight, wrapperHeight, monthMarginBottom, maxMonthsToAppendOnScroll, calendarGridRowSpacing) {
|
|
3
3
|
var monthTitleHeight = parseInt(monthTitleLineHeight) + parseInt(monthTitlePaddingTop) + parseInt(monthTitlePaddingBottom);
|
|
4
4
|
return {
|
|
5
|
-
|
|
5
|
+
DAY_WIDTH: parseInt(cellWidth),
|
|
6
|
+
DAY_HEIGHT: parseInt(cellHeight),
|
|
6
7
|
MONTH_TITLE_HEIGHT: monthTitleHeight,
|
|
7
8
|
MONTH_TITLE_OFFSET_HEIGHT: monthTitleHeight + parseInt(monthTitleMarginBottom) + 1,
|
|
8
9
|
// + 1px separator line
|
|
9
10
|
WRAPPER_HEIGHT: parseInt(wrapperHeight),
|
|
10
11
|
MONTH_BOTTOM_MARGIN: parseInt(monthMarginBottom),
|
|
11
|
-
MAX_MONTHS_TO_APPEND_ON_SCROLL: parseInt(maxMonthsToAppendOnScroll)
|
|
12
|
+
MAX_MONTHS_TO_APPEND_ON_SCROLL: parseInt(maxMonthsToAppendOnScroll),
|
|
13
|
+
CALENDAR_GRID_ROW_SPACING: parseInt(calendarGridRowSpacing)
|
|
12
14
|
};
|
|
13
15
|
});
|
|
14
16
|
export var themeConfig = function themeConfig(t) {
|
|
15
|
-
return getConfig(t.calendarMonthTitleLineHeight, t.calendarMonthTitlePaddingTop, t.calendarMonthTitlePaddingBottom, t.calendarMonthTitleMarginBottom, t.
|
|
17
|
+
return getConfig(t.calendarMonthTitleLineHeight, t.calendarMonthTitlePaddingTop, t.calendarMonthTitlePaddingBottom, t.calendarMonthTitleMarginBottom, t.calendarCellWidth, t.calendarCellHeight, t.calendarWrapperHeight, t.calendarMonthMarginBottom, t.calendarMaxMonthsToAppendOnScroll, t.calendarGridRowSpacing);
|
|
16
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["config.ts"],"names":["memo","getConfig","monthTitleLineHeight","monthTitlePaddingTop","monthTitlePaddingBottom","monthTitleMarginBottom","
|
|
1
|
+
{"version":3,"sources":["config.ts"],"names":["memo","getConfig","monthTitleLineHeight","monthTitlePaddingTop","monthTitlePaddingBottom","monthTitleMarginBottom","cellWidth","cellHeight","wrapperHeight","monthMarginBottom","maxMonthsToAppendOnScroll","calendarGridRowSpacing","monthTitleHeight","parseInt","DAY_WIDTH","DAY_HEIGHT","MONTH_TITLE_HEIGHT","MONTH_TITLE_OFFSET_HEIGHT","WRAPPER_HEIGHT","MONTH_BOTTOM_MARGIN","MAX_MONTHS_TO_APPEND_ON_SCROLL","CALENDAR_GRID_ROW_SPACING","themeConfig","t","calendarMonthTitleLineHeight","calendarMonthTitlePaddingTop","calendarMonthTitlePaddingBottom","calendarMonthTitleMarginBottom","calendarCellWidth","calendarCellHeight","calendarWrapperHeight","calendarMonthMarginBottom","calendarMaxMonthsToAppendOnScroll"],"mappings":";AACA,SAASA,IAAT,QAAqB,gBAArB;;AAEA,IAAMC,SAAS,GAAGD,IAAI;AACpB;AACEE,oBADF;AAEEC,oBAFF;AAGEC,uBAHF;AAIEC,sBAJF;AAKEC,SALF;AAMEC,UANF;AAOEC,aAPF;AAQEC,iBARF;AASEC,yBATF;AAUEC,sBAVF;AAWK;AACH,MAAMC,gBAAgB;AACpBC,EAAAA,QAAQ,CAACX,oBAAD,CAAR,GAAiCW,QAAQ,CAACV,oBAAD,CAAzC,GAAkEU,QAAQ,CAACT,uBAAD,CAD5E;AAEA,SAAO;AACLU,IAAAA,SAAS,EAAED,QAAQ,CAACP,SAAD,CADd;AAELS,IAAAA,UAAU,EAAEF,QAAQ,CAACN,UAAD,CAFf;AAGLS,IAAAA,kBAAkB,EAAEJ,gBAHf;AAILK,IAAAA,yBAAyB,EAAEL,gBAAgB,GAAGC,QAAQ,CAACR,sBAAD,CAA3B,GAAsD,CAJ5E,EAI+E;AACpFa,IAAAA,cAAc,EAAEL,QAAQ,CAACL,aAAD,CALnB;AAMLW,IAAAA,mBAAmB,EAAEN,QAAQ,CAACJ,iBAAD,CANxB;AAOLW,IAAAA,8BAA8B,EAAEP,QAAQ,CAACH,yBAAD,CAPnC;AAQLW,IAAAA,yBAAyB,EAAER,QAAQ,CAACF,sBAAD,CAR9B,EAAP;;AAUD,CAzBmB,CAAtB;;;AA4BA,OAAO,IAAMW,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD;AACzBtB,IAAAA,SAAS;AACPsB,IAAAA,CAAC,CAACC,4BADK;AAEPD,IAAAA,CAAC,CAACE,4BAFK;AAGPF,IAAAA,CAAC,CAACG,+BAHK;AAIPH,IAAAA,CAAC,CAACI,8BAJK;AAKPJ,IAAAA,CAAC,CAACK,iBALK;AAMPL,IAAAA,CAAC,CAACM,kBANK;AAOPN,IAAAA,CAAC,CAACO,qBAPK;AAQPP,IAAAA,CAAC,CAACQ,yBARK;AASPR,IAAAA,CAAC,CAACS,iCATK;AAUPT,IAAAA,CAAC,CAACZ,sBAVK,CADgB,GAApB","sourcesContent":["import { Theme } from '../../lib/theming/Theme';\nimport { memo } from '../../lib/memo';\n\nconst getConfig = memo(\n (\n monthTitleLineHeight: string,\n monthTitlePaddingTop: string,\n monthTitlePaddingBottom: string,\n monthTitleMarginBottom: string,\n cellWidth: string,\n cellHeight: string,\n wrapperHeight: string,\n monthMarginBottom: string,\n maxMonthsToAppendOnScroll: string,\n calendarGridRowSpacing: string,\n ) => {\n const monthTitleHeight =\n parseInt(monthTitleLineHeight) + parseInt(monthTitlePaddingTop) + parseInt(monthTitlePaddingBottom);\n return {\n DAY_WIDTH: parseInt(cellWidth),\n DAY_HEIGHT: parseInt(cellHeight),\n MONTH_TITLE_HEIGHT: monthTitleHeight,\n MONTH_TITLE_OFFSET_HEIGHT: monthTitleHeight + parseInt(monthTitleMarginBottom) + 1, // + 1px separator line\n WRAPPER_HEIGHT: parseInt(wrapperHeight),\n MONTH_BOTTOM_MARGIN: parseInt(monthMarginBottom),\n MAX_MONTHS_TO_APPEND_ON_SCROLL: parseInt(maxMonthsToAppendOnScroll),\n CALENDAR_GRID_ROW_SPACING: parseInt(calendarGridRowSpacing),\n };\n },\n);\n\nexport const themeConfig = (t: Theme) =>\n getConfig(\n t.calendarMonthTitleLineHeight,\n t.calendarMonthTitlePaddingTop,\n t.calendarMonthTitlePaddingBottom,\n t.calendarMonthTitleMarginBottom,\n t.calendarCellWidth,\n t.calendarCellHeight,\n t.calendarWrapperHeight,\n t.calendarMonthMarginBottom,\n t.calendarMaxMonthsToAppendOnScroll,\n t.calendarGridRowSpacing,\n );\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,YAAd;AACA,cAAc,qBAAd","sourcesContent":["export * from './Calendar';\nexport * from './CalendarDateShape';\n"]}
|
|
1
|
+
{"version":3,"sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,YAAd;AACA,cAAc,qBAAd;AACA,cAAc,eAAd","sourcesContent":["export * from './Calendar';\nexport * from './CalendarDateShape';\nexport * from './CalendarDay';\n"]}
|
|
@@ -21,7 +21,7 @@ import { fixFirefoxModifiedClickOnLabel } from "../../../lib/events/fixFirefoxMo
|
|
|
21
21
|
import { isTheme2022 } from "../../../lib/theming/ThemeHelpers";
|
|
22
22
|
import { createPropsGetter } from "../../../lib/createPropsGetter";
|
|
23
23
|
import { FocusControlWrapper } from "../../../internal/FocusControlWrapper";
|
|
24
|
-
import {
|
|
24
|
+
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
25
25
|
import { getStyles, globalClasses } from "../Checkbox.styles";
|
|
26
26
|
import { CheckedIcon } from "../CheckedIcon";
|
|
27
27
|
import { IndeterminateIcon } from "../IndeterminateIcon";
|
|
@@ -314,7 +314,7 @@ export var Checkbox = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function
|
|
|
314
314
|
|
|
315
315
|
return /*#__PURE__*/React.createElement(EmotionConsumer, null, function (emotion) {
|
|
316
316
|
_this2.emotion = emotion;
|
|
317
|
-
return /*#__PURE__*/React.createElement(
|
|
317
|
+
return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
|
|
318
318
|
_this2.theme = theme;
|
|
319
319
|
return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
|
|
320
320
|
rootNodeRef: _this2.setRootNode
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Checkbox.tsx"],"names":["React","PropTypes","globalObject","keyListener","OkIcon","SquareIcon","isEdge","isIE11","CommonWrapper","EmotionConsumer","rootNode","fixFirefoxModifiedClickOnLabel","isTheme2022","createPropsGetter","FocusControlWrapper","ThemeConsumer","getStyles","globalClasses","CheckedIcon","IndeterminateIcon","CheckboxDataTids","root","Checkbox","getProps","defaultProps","state","focusedByTab","indeterminate","props","initialIndeterminate","isShiftPressed","input","createRef","handleShiftPress","e","key","setState","handleShiftRelease","componentDidMount","current","document","addEventListener","componentWillUnmount","removeEventListener","setIndeterminate","resetIndeterminate","renderMain","error","warning","size","onMouseEnter","onMouseLeave","onMouseOver","onValueChange","type","ariaDescribedby","ariaLabel","rest","isIndeterminate","_isTheme2022","theme","styles","emotion","iconClass","cx","icon","iconFixPosition","checked","iconUnchecked","iconSize","parseInt","getCheckboxBoxSize","IconCheck","IconSquare","rootClass","getRootSizeClassName","rootFallback","rootChecked","rootDisableTextSelect","disabled","Boolean","inputProps","className","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","caption","children","captionClass","captionIE11","box","getBoxWrapperSizeClassName","boxWrapper","boxChecked","boxFocus","boxError","boxWarning","boxDisabled","resetFocus","requestAnimationFrame","isTabPressed","event","currentTarget","undefined","rootLarge","rootMedium","rootSmall","boxWrapperLarge","boxWrapperMedium","boxWrapperSmall","checkboxBoxSizeLarge","checkboxBoxSizeMedium","checkboxBoxSizeSmall","componentDidUpdate","prevProps","render","setRootNode","focus","blur","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","bool","func"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject } from '@skbkontur/global-object';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { OkIcon, SquareIcon } from '../../internal/icons/16px';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\nimport { ThemeConsumer } from '../../lib/theming/ThemeContext';\n\nimport { getStyles, globalClasses } from './Checkbox.styles';\nimport { CheckedIcon } from './CheckedIcon';\nimport { IndeterminateIcon } from './IndeterminateIcon';\n\n/**\n * @deprecated use SizeProp\n */\nexport type CheckboxSize = SizeProp;\n\nexport interface CheckboxProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Контент `label`\n */\n children?: React.ReactNode;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Размер */\n size?: SizeProp;\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n /**\n * [Неопределённое состояние](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate) чекбокса из HTML.\n */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n isShiftPressed: boolean;\n}\n\nexport const CheckboxDataTids = {\n root: 'Checkbox__root',\n} as const;\n\ntype DefaultProps = Required<Pick<CheckboxProps, 'size'>>;\n\n@rootNode\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n public static displayName = 'Checkbox';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n };\n\n private getProps = createPropsGetter(Checkbox.defaultProps);\n\n private getRootSizeClassName() {\n const styles = getStyles(this.emotion);\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getBoxWrapperSizeClassName() {\n const styles = getStyles(this.emotion);\n switch (this.getProps().size) {\n case 'large':\n return styles.boxWrapperLarge(this.theme);\n case 'medium':\n return styles.boxWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.boxWrapperSmall(this.theme);\n }\n }\n\n private getCheckboxBoxSize() {\n switch (this.getProps().size) {\n case 'large':\n return this.theme.checkboxBoxSizeLarge;\n case 'medium':\n return this.theme.checkboxBoxSizeMedium;\n case 'small':\n default:\n return this.theme.checkboxBoxSizeSmall;\n }\n }\n\n public static propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n onBlur: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n };\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n isShiftPressed: false,\n };\n\n private theme!: Theme;\n private emotion!: Emotion;\n private input = React.createRef<HTMLInputElement>();\n\n private handleShiftPress = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState(() => ({\n isShiftPressed: true,\n }));\n }\n };\n\n private handleShiftRelease = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState({\n isShiftPressed: false,\n });\n }\n };\n\n public componentDidMount = () => {\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n\n globalObject.document?.addEventListener('keydown', this.handleShiftPress);\n globalObject.document?.addEventListener('keyup', this.handleShiftRelease);\n };\n\n public componentWillUnmount = () => {\n globalObject.document?.removeEventListener('keydown', this.handleShiftPress);\n globalObject.document?.removeEventListener('keyup', this.handleShiftRelease);\n };\n\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render() {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeConsumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeConsumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n /**\n * Программная установка фокуса чекбоксу.\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программное снятие фокуса с чекбокса.\n * @public\n */\n public blur() {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = () => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = () => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n size,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n type,\n initialIndeterminate,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const _isTheme2022 = isTheme2022(this.theme);\n const styles = getStyles(this.emotion);\n const iconClass = this.emotion.cx(\n styles.icon(),\n !_isTheme2022 && styles.iconFixPosition(),\n !props.checked && !isIndeterminate && styles.iconUnchecked(),\n );\n\n const iconSize = parseInt(this.getCheckboxBoxSize());\n const IconCheck = _isTheme2022 ? (\n <span className={iconClass}>\n <CheckedIcon size={iconSize} />\n </span>\n ) : (\n <OkIcon className={iconClass} />\n );\n const IconSquare = _isTheme2022 ? (\n <span className={iconClass}>\n <IndeterminateIcon size={iconSize} />\n </span>\n ) : (\n <SquareIcon className={iconClass} />\n );\n\n const rootClass = this.emotion.cx(this.getRootSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootFallback()]: isIE11 || isEdge,\n [styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.rootDisableTextSelect()]: this.state.isShiftPressed,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = this.emotion.cx({\n [styles.caption(this.theme)]: true,\n [styles.captionIE11()]: isIE11 || isEdge,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const box = (\n <div\n className={this.emotion.cx(this.getBoxWrapperSizeClassName(), {\n [styles.boxWrapper(this.theme)]: true,\n })}\n >\n <div\n className={this.emotion.cx(styles.box(this.theme), globalClasses.box, {\n [styles.boxChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxError(this.theme)]: props.error,\n [styles.boxWarning(this.theme)]: props.warning,\n [styles.boxDisabled(this.theme)]: props.disabled,\n })}\n >\n {(isIndeterminate && IconSquare) || IconCheck}\n </div>\n </div>\n );\n\n return (\n <label\n data-tid={CheckboxDataTids.root}\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={fixFirefoxModifiedClickOnLabel(this.input)}\n >\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input {...inputProps} aria-label={ariaLabel} aria-describedby={ariaDescribedby} />\n </FocusControlWrapper>\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private resetFocus = () => this.setState({ focusedByTab: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(e);\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n // support IE11's and old Edge's special behavior\n // https://github.com/jquery/jquery/issues/1698\n if (this.state.indeterminate && (isIE11 || isEdge)) {\n this.resetIndeterminate();\n // simulate correct behavior only if onValueChange is used\n // because we cant simulate real native onChange event\n if (this.props.onValueChange && this.input.current) {\n const checked = !this.input.current.checked;\n\n if (this.props.checked === undefined) {\n // in case of uncontrolled mode\n this.input.current.checked = checked;\n }\n\n this.props.onValueChange(checked);\n }\n }\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Checkbox.tsx"],"names":["React","PropTypes","globalObject","keyListener","OkIcon","SquareIcon","isEdge","isIE11","CommonWrapper","EmotionConsumer","rootNode","fixFirefoxModifiedClickOnLabel","isTheme2022","createPropsGetter","FocusControlWrapper","ThemeContext","getStyles","globalClasses","CheckedIcon","IndeterminateIcon","CheckboxDataTids","root","Checkbox","getProps","defaultProps","state","focusedByTab","indeterminate","props","initialIndeterminate","isShiftPressed","input","createRef","handleShiftPress","e","key","setState","handleShiftRelease","componentDidMount","current","document","addEventListener","componentWillUnmount","removeEventListener","setIndeterminate","resetIndeterminate","renderMain","error","warning","size","onMouseEnter","onMouseLeave","onMouseOver","onValueChange","type","ariaDescribedby","ariaLabel","rest","isIndeterminate","_isTheme2022","theme","styles","emotion","iconClass","cx","icon","iconFixPosition","checked","iconUnchecked","iconSize","parseInt","getCheckboxBoxSize","IconCheck","IconSquare","rootClass","getRootSizeClassName","rootFallback","rootChecked","rootDisableTextSelect","disabled","Boolean","inputProps","className","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","caption","children","captionClass","captionIE11","box","getBoxWrapperSizeClassName","boxWrapper","boxChecked","boxFocus","boxError","boxWarning","boxDisabled","resetFocus","requestAnimationFrame","isTabPressed","event","currentTarget","undefined","rootLarge","rootMedium","rootSmall","boxWrapperLarge","boxWrapperMedium","boxWrapperSmall","checkboxBoxSizeLarge","checkboxBoxSizeMedium","checkboxBoxSizeSmall","componentDidUpdate","prevProps","render","setRootNode","focus","blur","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","bool","func"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject } from '@skbkontur/global-object';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { OkIcon, SquareIcon } from '../../internal/icons/16px';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { getStyles, globalClasses } from './Checkbox.styles';\nimport { CheckedIcon } from './CheckedIcon';\nimport { IndeterminateIcon } from './IndeterminateIcon';\n\n/**\n * @deprecated use SizeProp\n */\nexport type CheckboxSize = SizeProp;\n\nexport interface CheckboxProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Контент `label`\n */\n children?: React.ReactNode;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Размер */\n size?: SizeProp;\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n /**\n * [Неопределённое состояние](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate) чекбокса из HTML.\n */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n isShiftPressed: boolean;\n}\n\nexport const CheckboxDataTids = {\n root: 'Checkbox__root',\n} as const;\n\ntype DefaultProps = Required<Pick<CheckboxProps, 'size'>>;\n\n@rootNode\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n public static displayName = 'Checkbox';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n };\n\n private getProps = createPropsGetter(Checkbox.defaultProps);\n\n private getRootSizeClassName() {\n const styles = getStyles(this.emotion);\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getBoxWrapperSizeClassName() {\n const styles = getStyles(this.emotion);\n switch (this.getProps().size) {\n case 'large':\n return styles.boxWrapperLarge(this.theme);\n case 'medium':\n return styles.boxWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.boxWrapperSmall(this.theme);\n }\n }\n\n private getCheckboxBoxSize() {\n switch (this.getProps().size) {\n case 'large':\n return this.theme.checkboxBoxSizeLarge;\n case 'medium':\n return this.theme.checkboxBoxSizeMedium;\n case 'small':\n default:\n return this.theme.checkboxBoxSizeSmall;\n }\n }\n\n public static propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n onBlur: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n };\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n isShiftPressed: false,\n };\n\n private theme!: Theme;\n private emotion!: Emotion;\n private input = React.createRef<HTMLInputElement>();\n\n private handleShiftPress = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState(() => ({\n isShiftPressed: true,\n }));\n }\n };\n\n private handleShiftRelease = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState({\n isShiftPressed: false,\n });\n }\n };\n\n public componentDidMount = () => {\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n\n globalObject.document?.addEventListener('keydown', this.handleShiftPress);\n globalObject.document?.addEventListener('keyup', this.handleShiftRelease);\n };\n\n public componentWillUnmount = () => {\n globalObject.document?.removeEventListener('keydown', this.handleShiftPress);\n globalObject.document?.removeEventListener('keyup', this.handleShiftRelease);\n };\n\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render() {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n /**\n * Программная установка фокуса чекбоксу.\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программное снятие фокуса с чекбокса.\n * @public\n */\n public blur() {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = () => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = () => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n size,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n type,\n initialIndeterminate,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const _isTheme2022 = isTheme2022(this.theme);\n const styles = getStyles(this.emotion);\n const iconClass = this.emotion.cx(\n styles.icon(),\n !_isTheme2022 && styles.iconFixPosition(),\n !props.checked && !isIndeterminate && styles.iconUnchecked(),\n );\n\n const iconSize = parseInt(this.getCheckboxBoxSize());\n const IconCheck = _isTheme2022 ? (\n <span className={iconClass}>\n <CheckedIcon size={iconSize} />\n </span>\n ) : (\n <OkIcon className={iconClass} />\n );\n const IconSquare = _isTheme2022 ? (\n <span className={iconClass}>\n <IndeterminateIcon size={iconSize} />\n </span>\n ) : (\n <SquareIcon className={iconClass} />\n );\n\n const rootClass = this.emotion.cx(this.getRootSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootFallback()]: isIE11 || isEdge,\n [styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.rootDisableTextSelect()]: this.state.isShiftPressed,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = this.emotion.cx({\n [styles.caption(this.theme)]: true,\n [styles.captionIE11()]: isIE11 || isEdge,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const box = (\n <div\n className={this.emotion.cx(this.getBoxWrapperSizeClassName(), {\n [styles.boxWrapper(this.theme)]: true,\n })}\n >\n <div\n className={this.emotion.cx(styles.box(this.theme), globalClasses.box, {\n [styles.boxChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxError(this.theme)]: props.error,\n [styles.boxWarning(this.theme)]: props.warning,\n [styles.boxDisabled(this.theme)]: props.disabled,\n })}\n >\n {(isIndeterminate && IconSquare) || IconCheck}\n </div>\n </div>\n );\n\n return (\n <label\n data-tid={CheckboxDataTids.root}\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={fixFirefoxModifiedClickOnLabel(this.input)}\n >\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input {...inputProps} aria-label={ariaLabel} aria-describedby={ariaDescribedby} />\n </FocusControlWrapper>\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private resetFocus = () => this.setState({ focusedByTab: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(e);\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n // support IE11's and old Edge's special behavior\n // https://github.com/jquery/jquery/issues/1698\n if (this.state.indeterminate && (isIE11 || isEdge)) {\n this.resetIndeterminate();\n // simulate correct behavior only if onValueChange is used\n // because we cant simulate real native onChange event\n if (this.props.onValueChange && this.input.current) {\n const checked = !this.input.current.checked;\n\n if (this.props.checked === undefined) {\n // in case of uncontrolled mode\n this.input.current.checked = checked;\n }\n\n this.props.onValueChange(checked);\n }\n }\n };\n}\n"]}
|
|
@@ -6,7 +6,7 @@ import { InternalDateValidator } from "../../../lib/date/InternalDateValidator";
|
|
|
6
6
|
import { InternalDateComponentType } from "../../../lib/date/types";
|
|
7
7
|
import { EmotionConsumer } from "../../../lib/theming/Emotion";
|
|
8
8
|
import { isTheme2022 } from "../../../lib/theming/ThemeHelpers";
|
|
9
|
-
import {
|
|
9
|
+
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
10
10
|
import { getStyles } from "../DateFragmentsView.styles";
|
|
11
11
|
export var DateFragmentsView = /*#__PURE__*/function (_React$Component) {
|
|
12
12
|
_inheritsLoose(DateFragmentsView, _React$Component);
|
|
@@ -51,7 +51,7 @@ export var DateFragmentsView = /*#__PURE__*/function (_React$Component) {
|
|
|
51
51
|
|
|
52
52
|
return /*#__PURE__*/React.createElement(EmotionConsumer, null, function (emotion) {
|
|
53
53
|
_this2.emotion = emotion;
|
|
54
|
-
return /*#__PURE__*/React.createElement(
|
|
54
|
+
return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
|
|
55
55
|
_this2.theme = theme;
|
|
56
56
|
return _this2.renderMain();
|
|
57
57
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["DateFragmentsView.tsx"],"names":["React","globalObject","MaskCharLowLine","InternalDateValidator","InternalDateComponentType","EmotionConsumer","isTheme2022","
|
|
1
|
+
{"version":3,"sources":["DateFragmentsView.tsx"],"names":["React","globalObject","MaskCharLowLine","InternalDateValidator","InternalDateComponentType","EmotionConsumer","isTheme2022","ThemeContext","getStyles","DateFragmentsView","rootNode","isFragment","el","fragments","Array","from","querySelectorAll","some","fragment","contains","getRootNode","rootRef","render","emotion","theme","renderMain","_isTheme2022","styles","cx","root","selected","selectedFor22Themes","props","map","index","type","Separator","renderSeparator","renderDateComponent","separatorClassName","mask","delimiterFilled","value","inputMode","onSelectDateComponent","length","valueWithPad","getValueMask","valueMask","lengthMask","testParseToNumber","Math","max","toString","handleMouseUp","e","document","activeElement","currentTarget","fill","_","i","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { MaskCharLowLine } from '../../internal/MaskCharLowLine';\nimport { InternalDateValidator } from '../../lib/date/InternalDateValidator';\nimport { InternalDateComponentType, InternalDateFragment } from '../../lib/date/types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { getStyles } from './DateFragmentsView.styles';\n\ninterface DateFragmentViewProps {\n selected: InternalDateComponentType | null;\n fragments: InternalDateFragment[];\n inputMode: boolean;\n onSelectDateComponent: (type: InternalDateComponentType, e: React.MouseEvent<HTMLSpanElement>) => void;\n}\n\nexport class DateFragmentsView extends React.Component<DateFragmentViewProps> {\n private theme!: Theme;\n private emotion!: Emotion;\n private rootNode: HTMLSpanElement | null = null;\n\n public isFragment = (el: HTMLElement | EventTarget): boolean => {\n if (this.rootNode) {\n // NOTE: NodeList doesn't support method 'forEach' in IE11\n const fragments: HTMLSpanElement[] = Array.from(this.rootNode.querySelectorAll('[data-fragment]'));\n return fragments.some((fragment) => fragment === el || fragment.contains(el as HTMLSpanElement));\n }\n return false;\n };\n\n public getRootNode = () => this.rootNode;\n\n public render() {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n private renderMain() {\n const _isTheme2022 = isTheme2022(this.theme);\n const styles = getStyles(this.emotion);\n\n return (\n <span\n ref={this.rootRef}\n className={this.emotion.cx({\n [styles.root()]: true,\n [styles.selected(this.theme)]: !_isTheme2022,\n [styles.selectedFor22Themes(this.theme)]: _isTheme2022,\n })}\n >\n {this.props.fragments.map((fragment, index) =>\n fragment.type === InternalDateComponentType.Separator\n ? this.renderSeparator(fragment, index)\n : this.renderDateComponent(fragment, index),\n )}\n </span>\n );\n }\n\n private renderSeparator(fragment: InternalDateFragment, index: number): JSX.Element {\n const styles = getStyles(this.emotion);\n const separatorClassName = this.emotion.cx({\n [styles.mask(this.theme)]: true,\n [styles.delimiterFilled()]: this.props.fragments[index + 1].value !== null,\n });\n\n return (\n <span key={index} className={separatorClassName}>\n {fragment.value}\n </span>\n );\n }\n\n private renderDateComponent(fragment: InternalDateFragment, index: number): JSX.Element {\n const { inputMode, onSelectDateComponent, selected } = this.props;\n const { type, value, length, valueWithPad } = fragment;\n\n const getValueMask = () => {\n if (value === null || (selected === type && inputMode)) {\n return value;\n }\n\n return valueWithPad || value;\n };\n\n const valueMask = getValueMask();\n\n const lengthMask = InternalDateValidator.testParseToNumber(valueMask)\n ? Math.max(length - valueMask.toString().length, 0)\n : length;\n\n const handleMouseUp = (e: React.MouseEvent<HTMLSpanElement>) => {\n if (globalObject.document?.activeElement?.contains(e.currentTarget)) {\n onSelectDateComponent(type, e);\n }\n };\n const styles = getStyles(this.emotion);\n\n return (\n <span key={index} data-fragment=\"\" onMouseUp={handleMouseUp}>\n {valueMask}\n <span data-tid=\"DateFragmentsView__placeholder\" className={styles.mask(this.theme)}>\n {Array(lengthMask)\n .fill('')\n .map((_, i) => (\n <MaskCharLowLine key={i} />\n ))}\n </span>\n </span>\n );\n }\n\n private rootRef = (el: HTMLSpanElement | null) => {\n this.rootNode = el;\n };\n}\n"]}
|
|
@@ -18,7 +18,7 @@ import { rootNode } from "../../../lib/rootNode";
|
|
|
18
18
|
import { createPropsGetter } from "../../../lib/createPropsGetter";
|
|
19
19
|
import { isTheme2022 } from "../../../lib/theming/ThemeHelpers";
|
|
20
20
|
import { FocusControlWrapper } from "../../../internal/FocusControlWrapper";
|
|
21
|
-
import {
|
|
21
|
+
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
22
22
|
import { EmotionConsumer } from "../../../lib/theming/Emotion";
|
|
23
23
|
import { CalendarIcon as CalendarIcon2022 } from "../CalendarIcon";
|
|
24
24
|
import { DateFragmentsView } from "../DateFragmentsView";
|
|
@@ -453,7 +453,7 @@ export var DateInput = (_dec = locale('DatePicker', DatePickerLocaleHelper), roo
|
|
|
453
453
|
|
|
454
454
|
return /*#__PURE__*/React.createElement(EmotionConsumer, null, function (emotion) {
|
|
455
455
|
_this2.emotion = emotion;
|
|
456
|
-
return /*#__PURE__*/React.createElement(
|
|
456
|
+
return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
|
|
457
457
|
_this2.theme = theme;
|
|
458
458
|
return _this2.renderMain();
|
|
459
459
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["DateInput.tsx"],"names":["React","ReactDOM","globalObject","ConditionalHandler","LENGTH_FULLDATE","MAX_FULLDATE","MIN_FULLDATE","InternalDateComponentType","DatePickerLocaleHelper","InputLikeText","locale","CalendarIcon","CommonWrapper","rootNode","createPropsGetter","isTheme2022","FocusControlWrapper","ThemeConsumer","EmotionConsumer","CalendarIcon2022","DateFragmentsView","getStyles","Actions","extractAction","InternalDateMediator","DateInputDataTids","icon","DateInput","props","getProps","defaultProps","iDateMediator","inputLikeText","dateFragmentsView","isMouseDown","isMouseFocus","ignoringDelimiter","blurEvent","conditionalHandler","add","MoveSelectionLeft","shiftSelection","MoveSelectionRight","Separator","pressDelimiter","MoveSelectionFirst","selectDateComponent","getLeftmostType","MoveSelectionLast","getRightmostType","Increment","shiftDateComponent","Decrement","Digit","e","inputValue","ClearSelection","clearSelected","ClearOneChar","clearOneChar","FullSelection","fullSelection","WrongInput","blink","build","selectNode","type","state","selected","getRootNode","All","selectInnerNode","index","getTypesOrder","indexOf","renderIcon","withIcon","disabled","size","styles","emotion","theme","iconStyles","cx","iconSmall","iconMedium","iconLarge","iconDisabled","handleFocus","setState","prevState","focused","onFocus","resetFocus","updateValue","inputMode","handleBlur","onBlur","restored","restore","persist","handleMouseDownCapture","isFragment","target","preventDefault","handleSelectDateComponent","isEmpty","handleMouseDragStart","dragged","handleMouseDragEnd","selection","getSelection","toString","length","handleKeyDown","onKeyDown","handlePaste","pasted","clipboardData","getData","trim","validateString","paste","handleDoubleClick","inputLikeTextRef","el","dateFragmentsViewRef","sync","valueFormatted","getString","update","emitChange","version","search","flushSync","updateFromProps","value","get","getInternalString","onValueChange","clear","nextType","isNull","deleteOneCharRight","step","changed","getShiftedType","event","inputKey","key","componentDidUpdate","prevProps","minDate","maxDate","isChangedLocale","componentDidMount","autoFocus","focus","blur","render","renderMain","showValue","Boolean","width","setRootNode","error","warning","onClick","valueVisible","getFragments","Component","__KONTUR_REACT_UI__","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { ConditionalHandler } from '../../lib/ConditionalHandler';\nimport { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateComponentType } from '../../lib/date/types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../DatePicker/locale';\nimport { InputLikeText } from '../../internal/InputLikeText';\nimport { locale } from '../../lib/locale/decorators';\nimport { CalendarIcon } from '../../internal/icons/16px';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\nimport { ThemeConsumer } from '../../lib/theming/ThemeContext';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\n\nimport { CalendarIcon as CalendarIcon2022 } from './CalendarIcon';\nimport { DateFragmentsView } from './DateFragmentsView';\nimport { getStyles } from './DateInput.styles';\nimport { Actions, extractAction } from './helpers/DateInputKeyboardActions';\nimport { InternalDateMediator } from './helpers/InternalDateMediator';\n\nexport interface DateInputState {\n selected: InternalDateComponentType | null;\n valueFormatted: string;\n inputMode: boolean;\n focused: boolean;\n dragged: boolean;\n}\n\nexport const DateInputDataTids = {\n icon: 'DateInput__icon',\n} as const;\n\nexport interface DateInputProps extends CommonProps {\n autoFocus?: boolean;\n value?: string;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n disabled?: boolean;\n /**\n * Минимальная дата.\n * @default '01.01.1900'\n */\n minDate?: string;\n /**\n * Максимальная дата\n * @default '31.12.2099'\n */\n maxDate?: string;\n /**\n * Ширина поля\n * @default 125\n */\n width?: string | number;\n withIcon?: boolean;\n /**\n * Размер поля\n * @default 'small'\n */\n size?: SizeProp;\n onBlur?: (x0: React.FocusEvent<HTMLElement>) => void;\n onClick?: (x0: React.MouseEvent<HTMLElement>) => void;\n onFocus?: (x0: React.FocusEvent<HTMLElement>) => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange?: (value: string) => void;\n onKeyDown?: (x0: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ntype DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'size' | 'width'>>;\n\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateInput extends React.Component<DateInputProps, DateInputState> {\n public static __KONTUR_REACT_UI__ = 'DateInput';\n public static displayName = 'DateInput';\n\n public static defaultProps: DefaultProps = {\n value: '',\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n size: 'small',\n width: 125,\n };\n\n private getProps = createPropsGetter(DateInput.defaultProps);\n\n private iDateMediator: InternalDateMediator = new InternalDateMediator();\n private inputLikeText: InputLikeText | null = null;\n private dateFragmentsView: DateFragmentsView | null = null;\n private isMouseDown = false;\n private isMouseFocus = false;\n private ignoringDelimiter = false;\n private locale!: DatePickerLocale;\n private blurEvent: React.FocusEvent<HTMLElement> | null = null;\n private theme!: Theme;\n private emotion!: Emotion;\n private setRootNode!: TSetRootNode;\n private conditionalHandler = new ConditionalHandler<Actions, [React.KeyboardEvent<HTMLElement>]>()\n .add(Actions.MoveSelectionLeft, () => this.shiftSelection(-1))\n .add(Actions.MoveSelectionRight, () => this.shiftSelection(1))\n .add(Actions.Separator, () => this.pressDelimiter())\n .add(Actions.MoveSelectionFirst, () => this.selectDateComponent(this.iDateMediator.getLeftmostType()))\n .add(Actions.MoveSelectionLast, () => this.selectDateComponent(this.iDateMediator.getRightmostType()))\n .add(Actions.Increment, () => this.shiftDateComponent(1))\n .add(Actions.Decrement, () => this.shiftDateComponent(-1))\n .add(Actions.Digit, (e) => this.inputValue(e))\n .add(Actions.ClearSelection, () => this.clearSelected())\n .add(Actions.ClearOneChar, () => this.clearOneChar())\n .add(Actions.FullSelection, () => this.fullSelection())\n .add(Actions.WrongInput, () => this.blink())\n .build();\n\n constructor(props: DateInputProps) {\n super(props);\n\n this.state = {\n valueFormatted: '',\n selected: null,\n inputMode: false,\n focused: false,\n dragged: false,\n };\n }\n\n public componentDidUpdate(prevProps: DateInputProps) {\n const { value, minDate, maxDate } = this.getProps();\n if (\n prevProps.value !== value ||\n prevProps.minDate !== minDate ||\n prevProps.maxDate !== maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps(false);\n }\n this.selectNode();\n }\n\n public selectNode = () => {\n const type = this.state.selected;\n const dateFragmentsView = this.dateFragmentsView && this.dateFragmentsView.getRootNode();\n if (type === null || !this.inputLikeText || !dateFragmentsView) {\n return;\n }\n if (type === InternalDateComponentType.All) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, 0, 5);\n return;\n }\n const index = this.iDateMediator.getTypesOrder().indexOf(type);\n if (index > -1) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, index * 2, index * 2 + 1);\n }\n };\n\n public componentDidMount(): void {\n this.updateFromProps(false);\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public blur() {\n if (this.inputLikeText) {\n this.inputLikeText.blur();\n }\n }\n\n public focus() {\n if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n }\n\n public blink() {\n if (this.inputLikeText) {\n this.inputLikeText.blink();\n }\n }\n\n public render() {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeConsumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeConsumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n private renderMain() {\n const { focused, selected, inputMode, valueFormatted } = this.state;\n const showValue = Boolean(focused || valueFormatted);\n const { width, size } = this.getProps();\n const styles = getStyles(this.emotion);\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <InputLikeText\n width={width}\n ref={this.inputLikeTextRef}\n size={size}\n disabled={this.props.disabled}\n error={this.props.error}\n warning={this.props.warning}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.props.onClick}\n onKeyDown={this.handleKeyDown}\n onMouseDownCapture={this.handleMouseDownCapture}\n onPaste={this.handlePaste}\n rightIcon={this.renderIcon()}\n onDoubleClickCapture={this.handleDoubleClick}\n onMouseDragStart={this.handleMouseDragStart}\n onMouseDragEnd={this.handleMouseDragEnd}\n value={this.iDateMediator.getInternalString()}\n inputMode={'numeric'}\n takeContentWidth\n >\n <span className={this.emotion.cx(styles.value(), { [styles.valueVisible()]: showValue })}>\n <DateFragmentsView\n ref={this.dateFragmentsViewRef}\n fragments={this.iDateMediator.getFragments()}\n onSelectDateComponent={this.handleSelectDateComponent}\n selected={selected}\n inputMode={inputMode}\n />\n </span>\n </InputLikeText>\n </FocusControlWrapper>\n </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, disabled = false } = this.props;\n const size = this.getProps().size;\n const styles = getStyles(this.emotion);\n if (withIcon) {\n const theme = this.theme;\n const icon = isTheme2022(theme) ? <CalendarIcon2022 size={size} /> : <CalendarIcon />;\n const iconStyles = this.emotion.cx({\n [styles.icon(theme)]: true,\n [styles.iconSmall(theme)]: size === 'small',\n [styles.iconMedium(theme)]: size === 'medium',\n [styles.iconLarge(theme)]: size === 'large',\n [styles.iconDisabled(theme)]: disabled,\n });\n return (\n <span className={iconStyles} data-tid={DateInputDataTids.icon}>\n {icon}\n </span>\n );\n }\n return null;\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n this.setState((prevState) => ({\n focused: true,\n selected: this.isMouseDown && !prevState.focused ? prevState.selected : this.iDateMediator.getLeftmostType(),\n }));\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => this.updateValue({ focused: false, selected: null, inputMode: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.resetFocus();\n\n if (this.props.onBlur) {\n const restored = this.iDateMediator.restore();\n if (restored) {\n e.persist();\n this.blurEvent = e;\n } else {\n this.props.onBlur(e);\n }\n }\n };\n\n private handleMouseDownCapture = (e: React.MouseEvent<HTMLSpanElement>) => {\n const isFragment = this.dateFragmentsView ? this.dateFragmentsView.isFragment(e.target) : false;\n if (this.state.focused && !isFragment) {\n e.preventDefault();\n }\n this.isMouseFocus = !this.state.focused;\n this.isMouseDown = isFragment;\n };\n\n private handleSelectDateComponent = (type: InternalDateComponentType) => {\n if (!(this.isMouseFocus && this.iDateMediator.isEmpty())) {\n this.selectDateComponent(type);\n }\n this.isMouseFocus = false;\n this.isMouseDown = false;\n };\n\n private handleMouseDragStart = () => {\n this.setState({ dragged: true, selected: null });\n };\n\n private handleMouseDragEnd = () => {\n const selection = globalObject.getSelection?.();\n if (\n selection &&\n selection.toString().length === LENGTH_FULLDATE &&\n this.state.selected !== InternalDateComponentType.All\n ) {\n this.selectDateComponent(InternalDateComponentType.All);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.conditionalHandler(extractAction(e), e)) {\n e.preventDefault();\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handlePaste = (e: React.ClipboardEvent<HTMLElement>) => {\n const pasted = e && e.clipboardData.getData('text').trim();\n if (pasted && this.iDateMediator.validateString(pasted)) {\n this.iDateMediator.paste(pasted);\n this.updateValue();\n }\n };\n\n private handleDoubleClick = () => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private inputLikeTextRef = (el: InputLikeText | null) => {\n this.inputLikeText = el;\n };\n\n private dateFragmentsViewRef = (el: DateFragmentsView | null) => {\n this.dateFragmentsView = el;\n };\n\n private selectDateComponent = (selected: InternalDateComponentType | null): void => {\n this.setState({ selected, inputMode: false });\n };\n\n private updateValue = (state: Partial<DateInputState> = {}, sync = true): void => {\n const valueFormatted = this.iDateMediator.getString();\n\n const update = () => this.setState({ ...state, valueFormatted } as DateInputState, this.emitChange);\n\n if (sync && React.version.search('18') === 0) {\n ReactDOM.flushSync(update);\n } else {\n update();\n }\n };\n\n private updateFromProps = (sync: boolean): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue({}, sync);\n };\n\n private fullSelection = (): void => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private pressDelimiter = (): void => {\n const value = this.iDateMediator.get(this.state.selected);\n if (value !== null && value !== '') {\n if (!this.ignoringDelimiter) {\n this.shiftSelection(1);\n }\n this.ignoringDelimiter = false;\n }\n };\n\n private emitChange = (): void => {\n const value = this.iDateMediator.getInternalString();\n if (this.props.value === value) {\n return;\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\n }\n };\n\n private clearSelected = (): void => {\n const selected = this.state.selected === null ? this.iDateMediator.getLeftmostType() : this.state.selected;\n this.iDateMediator.clear(selected);\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private clearOneChar = (): void => {\n const { selected, inputMode } = this.state;\n const nextType = selected === null ? this.iDateMediator.getRightmostType() : selected;\n if (this.iDateMediator.isNull(nextType)) {\n this.shiftSelection(-1);\n return;\n }\n if (selected === InternalDateComponentType.All) {\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.updateValue({ selected: this.iDateMediator.getLeftmostType() });\n return;\n }\n this.iDateMediator.deleteOneCharRight(nextType, inputMode);\n this.updateValue({\n inputMode: this.iDateMediator.get(nextType) !== null,\n selected: nextType,\n });\n };\n\n private shiftDateComponent = (step: number): void => {\n const { selected } = this.state;\n const changed = this.iDateMediator.shiftDateComponent(selected, step);\n if (!changed) {\n this.blink();\n return;\n }\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private shiftSelection = (step: number): void => {\n const selected = this.iDateMediator.getShiftedType(this.state.selected, step);\n if (selected !== this.state.selected) {\n this.setState({ selected, inputMode: false });\n }\n };\n\n private inputValue = (event: React.KeyboardEvent<HTMLElement>): void => {\n let selected = this.state.selected;\n if (selected === InternalDateComponentType.All) {\n selected = this.iDateMediator.getLeftmostType();\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.setState({ selected });\n }\n const { inputMode, changed } = this.iDateMediator.inputKey(event.key, selected, this.state.inputMode);\n if (!changed) {\n this.blink();\n return;\n }\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["DateInput.tsx"],"names":["React","ReactDOM","globalObject","ConditionalHandler","LENGTH_FULLDATE","MAX_FULLDATE","MIN_FULLDATE","InternalDateComponentType","DatePickerLocaleHelper","InputLikeText","locale","CalendarIcon","CommonWrapper","rootNode","createPropsGetter","isTheme2022","FocusControlWrapper","ThemeContext","EmotionConsumer","CalendarIcon2022","DateFragmentsView","getStyles","Actions","extractAction","InternalDateMediator","DateInputDataTids","icon","DateInput","props","getProps","defaultProps","iDateMediator","inputLikeText","dateFragmentsView","isMouseDown","isMouseFocus","ignoringDelimiter","blurEvent","conditionalHandler","add","MoveSelectionLeft","shiftSelection","MoveSelectionRight","Separator","pressDelimiter","MoveSelectionFirst","selectDateComponent","getLeftmostType","MoveSelectionLast","getRightmostType","Increment","shiftDateComponent","Decrement","Digit","e","inputValue","ClearSelection","clearSelected","ClearOneChar","clearOneChar","FullSelection","fullSelection","WrongInput","blink","build","selectNode","type","state","selected","getRootNode","All","selectInnerNode","index","getTypesOrder","indexOf","renderIcon","withIcon","disabled","size","styles","emotion","theme","iconStyles","cx","iconSmall","iconMedium","iconLarge","iconDisabled","handleFocus","setState","prevState","focused","onFocus","resetFocus","updateValue","inputMode","handleBlur","onBlur","restored","restore","persist","handleMouseDownCapture","isFragment","target","preventDefault","handleSelectDateComponent","isEmpty","handleMouseDragStart","dragged","handleMouseDragEnd","selection","getSelection","toString","length","handleKeyDown","onKeyDown","handlePaste","pasted","clipboardData","getData","trim","validateString","paste","handleDoubleClick","inputLikeTextRef","el","dateFragmentsViewRef","sync","valueFormatted","getString","update","emitChange","version","search","flushSync","updateFromProps","value","get","getInternalString","onValueChange","clear","nextType","isNull","deleteOneCharRight","step","changed","getShiftedType","event","inputKey","key","componentDidUpdate","prevProps","minDate","maxDate","isChangedLocale","componentDidMount","autoFocus","focus","blur","render","renderMain","showValue","Boolean","width","setRootNode","error","warning","onClick","valueVisible","getFragments","Component","__KONTUR_REACT_UI__","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { ConditionalHandler } from '../../lib/ConditionalHandler';\nimport { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateComponentType } from '../../lib/date/types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../DatePicker/locale';\nimport { InputLikeText } from '../../internal/InputLikeText';\nimport { locale } from '../../lib/locale/decorators';\nimport { CalendarIcon } from '../../internal/icons/16px';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\n\nimport { CalendarIcon as CalendarIcon2022 } from './CalendarIcon';\nimport { DateFragmentsView } from './DateFragmentsView';\nimport { getStyles } from './DateInput.styles';\nimport { Actions, extractAction } from './helpers/DateInputKeyboardActions';\nimport { InternalDateMediator } from './helpers/InternalDateMediator';\n\nexport interface DateInputState {\n selected: InternalDateComponentType | null;\n valueFormatted: string;\n inputMode: boolean;\n focused: boolean;\n dragged: boolean;\n}\n\nexport const DateInputDataTids = {\n icon: 'DateInput__icon',\n} as const;\n\nexport interface DateInputProps extends CommonProps {\n autoFocus?: boolean;\n value?: string;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n disabled?: boolean;\n /**\n * Минимальная дата.\n * @default '01.01.1900'\n */\n minDate?: string;\n /**\n * Максимальная дата\n * @default '31.12.2099'\n */\n maxDate?: string;\n /**\n * Ширина поля\n * @default 125\n */\n width?: string | number;\n withIcon?: boolean;\n /**\n * Размер поля\n * @default 'small'\n */\n size?: SizeProp;\n onBlur?: (x0: React.FocusEvent<HTMLElement>) => void;\n onClick?: (x0: React.MouseEvent<HTMLElement>) => void;\n onFocus?: (x0: React.FocusEvent<HTMLElement>) => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange?: (value: string) => void;\n onKeyDown?: (x0: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ntype DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'size' | 'width'>>;\n\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateInput extends React.Component<DateInputProps, DateInputState> {\n public static __KONTUR_REACT_UI__ = 'DateInput';\n public static displayName = 'DateInput';\n\n public static defaultProps: DefaultProps = {\n value: '',\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n size: 'small',\n width: 125,\n };\n\n private getProps = createPropsGetter(DateInput.defaultProps);\n\n private iDateMediator: InternalDateMediator = new InternalDateMediator();\n private inputLikeText: InputLikeText | null = null;\n private dateFragmentsView: DateFragmentsView | null = null;\n private isMouseDown = false;\n private isMouseFocus = false;\n private ignoringDelimiter = false;\n private locale!: DatePickerLocale;\n private blurEvent: React.FocusEvent<HTMLElement> | null = null;\n private theme!: Theme;\n private emotion!: Emotion;\n private setRootNode!: TSetRootNode;\n private conditionalHandler = new ConditionalHandler<Actions, [React.KeyboardEvent<HTMLElement>]>()\n .add(Actions.MoveSelectionLeft, () => this.shiftSelection(-1))\n .add(Actions.MoveSelectionRight, () => this.shiftSelection(1))\n .add(Actions.Separator, () => this.pressDelimiter())\n .add(Actions.MoveSelectionFirst, () => this.selectDateComponent(this.iDateMediator.getLeftmostType()))\n .add(Actions.MoveSelectionLast, () => this.selectDateComponent(this.iDateMediator.getRightmostType()))\n .add(Actions.Increment, () => this.shiftDateComponent(1))\n .add(Actions.Decrement, () => this.shiftDateComponent(-1))\n .add(Actions.Digit, (e) => this.inputValue(e))\n .add(Actions.ClearSelection, () => this.clearSelected())\n .add(Actions.ClearOneChar, () => this.clearOneChar())\n .add(Actions.FullSelection, () => this.fullSelection())\n .add(Actions.WrongInput, () => this.blink())\n .build();\n\n constructor(props: DateInputProps) {\n super(props);\n\n this.state = {\n valueFormatted: '',\n selected: null,\n inputMode: false,\n focused: false,\n dragged: false,\n };\n }\n\n public componentDidUpdate(prevProps: DateInputProps) {\n const { value, minDate, maxDate } = this.getProps();\n if (\n prevProps.value !== value ||\n prevProps.minDate !== minDate ||\n prevProps.maxDate !== maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps(false);\n }\n this.selectNode();\n }\n\n public selectNode = () => {\n const type = this.state.selected;\n const dateFragmentsView = this.dateFragmentsView && this.dateFragmentsView.getRootNode();\n if (type === null || !this.inputLikeText || !dateFragmentsView) {\n return;\n }\n if (type === InternalDateComponentType.All) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, 0, 5);\n return;\n }\n const index = this.iDateMediator.getTypesOrder().indexOf(type);\n if (index > -1) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, index * 2, index * 2 + 1);\n }\n };\n\n public componentDidMount(): void {\n this.updateFromProps(false);\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public blur() {\n if (this.inputLikeText) {\n this.inputLikeText.blur();\n }\n }\n\n public focus() {\n if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n }\n\n public blink() {\n if (this.inputLikeText) {\n this.inputLikeText.blink();\n }\n }\n\n public render() {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n private renderMain() {\n const { focused, selected, inputMode, valueFormatted } = this.state;\n const showValue = Boolean(focused || valueFormatted);\n const { width, size } = this.getProps();\n const styles = getStyles(this.emotion);\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <InputLikeText\n width={width}\n ref={this.inputLikeTextRef}\n size={size}\n disabled={this.props.disabled}\n error={this.props.error}\n warning={this.props.warning}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.props.onClick}\n onKeyDown={this.handleKeyDown}\n onMouseDownCapture={this.handleMouseDownCapture}\n onPaste={this.handlePaste}\n rightIcon={this.renderIcon()}\n onDoubleClickCapture={this.handleDoubleClick}\n onMouseDragStart={this.handleMouseDragStart}\n onMouseDragEnd={this.handleMouseDragEnd}\n value={this.iDateMediator.getInternalString()}\n inputMode={'numeric'}\n takeContentWidth\n >\n <span className={this.emotion.cx(styles.value(), { [styles.valueVisible()]: showValue })}>\n <DateFragmentsView\n ref={this.dateFragmentsViewRef}\n fragments={this.iDateMediator.getFragments()}\n onSelectDateComponent={this.handleSelectDateComponent}\n selected={selected}\n inputMode={inputMode}\n />\n </span>\n </InputLikeText>\n </FocusControlWrapper>\n </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, disabled = false } = this.props;\n const size = this.getProps().size;\n const styles = getStyles(this.emotion);\n if (withIcon) {\n const theme = this.theme;\n const icon = isTheme2022(theme) ? <CalendarIcon2022 size={size} /> : <CalendarIcon />;\n const iconStyles = this.emotion.cx({\n [styles.icon(theme)]: true,\n [styles.iconSmall(theme)]: size === 'small',\n [styles.iconMedium(theme)]: size === 'medium',\n [styles.iconLarge(theme)]: size === 'large',\n [styles.iconDisabled(theme)]: disabled,\n });\n return (\n <span className={iconStyles} data-tid={DateInputDataTids.icon}>\n {icon}\n </span>\n );\n }\n return null;\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n this.setState((prevState) => ({\n focused: true,\n selected: this.isMouseDown && !prevState.focused ? prevState.selected : this.iDateMediator.getLeftmostType(),\n }));\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => this.updateValue({ focused: false, selected: null, inputMode: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.resetFocus();\n\n if (this.props.onBlur) {\n const restored = this.iDateMediator.restore();\n if (restored) {\n e.persist();\n this.blurEvent = e;\n } else {\n this.props.onBlur(e);\n }\n }\n };\n\n private handleMouseDownCapture = (e: React.MouseEvent<HTMLSpanElement>) => {\n const isFragment = this.dateFragmentsView ? this.dateFragmentsView.isFragment(e.target) : false;\n if (this.state.focused && !isFragment) {\n e.preventDefault();\n }\n this.isMouseFocus = !this.state.focused;\n this.isMouseDown = isFragment;\n };\n\n private handleSelectDateComponent = (type: InternalDateComponentType) => {\n if (!(this.isMouseFocus && this.iDateMediator.isEmpty())) {\n this.selectDateComponent(type);\n }\n this.isMouseFocus = false;\n this.isMouseDown = false;\n };\n\n private handleMouseDragStart = () => {\n this.setState({ dragged: true, selected: null });\n };\n\n private handleMouseDragEnd = () => {\n const selection = globalObject.getSelection?.();\n if (\n selection &&\n selection.toString().length === LENGTH_FULLDATE &&\n this.state.selected !== InternalDateComponentType.All\n ) {\n this.selectDateComponent(InternalDateComponentType.All);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.conditionalHandler(extractAction(e), e)) {\n e.preventDefault();\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handlePaste = (e: React.ClipboardEvent<HTMLElement>) => {\n const pasted = e && e.clipboardData.getData('text').trim();\n if (pasted && this.iDateMediator.validateString(pasted)) {\n this.iDateMediator.paste(pasted);\n this.updateValue();\n }\n };\n\n private handleDoubleClick = () => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private inputLikeTextRef = (el: InputLikeText | null) => {\n this.inputLikeText = el;\n };\n\n private dateFragmentsViewRef = (el: DateFragmentsView | null) => {\n this.dateFragmentsView = el;\n };\n\n private selectDateComponent = (selected: InternalDateComponentType | null): void => {\n this.setState({ selected, inputMode: false });\n };\n\n private updateValue = (state: Partial<DateInputState> = {}, sync = true): void => {\n const valueFormatted = this.iDateMediator.getString();\n\n const update = () => this.setState({ ...state, valueFormatted } as DateInputState, this.emitChange);\n\n if (sync && React.version.search('18') === 0) {\n ReactDOM.flushSync(update);\n } else {\n update();\n }\n };\n\n private updateFromProps = (sync: boolean): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue({}, sync);\n };\n\n private fullSelection = (): void => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private pressDelimiter = (): void => {\n const value = this.iDateMediator.get(this.state.selected);\n if (value !== null && value !== '') {\n if (!this.ignoringDelimiter) {\n this.shiftSelection(1);\n }\n this.ignoringDelimiter = false;\n }\n };\n\n private emitChange = (): void => {\n const value = this.iDateMediator.getInternalString();\n if (this.props.value === value) {\n return;\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\n }\n };\n\n private clearSelected = (): void => {\n const selected = this.state.selected === null ? this.iDateMediator.getLeftmostType() : this.state.selected;\n this.iDateMediator.clear(selected);\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private clearOneChar = (): void => {\n const { selected, inputMode } = this.state;\n const nextType = selected === null ? this.iDateMediator.getRightmostType() : selected;\n if (this.iDateMediator.isNull(nextType)) {\n this.shiftSelection(-1);\n return;\n }\n if (selected === InternalDateComponentType.All) {\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.updateValue({ selected: this.iDateMediator.getLeftmostType() });\n return;\n }\n this.iDateMediator.deleteOneCharRight(nextType, inputMode);\n this.updateValue({\n inputMode: this.iDateMediator.get(nextType) !== null,\n selected: nextType,\n });\n };\n\n private shiftDateComponent = (step: number): void => {\n const { selected } = this.state;\n const changed = this.iDateMediator.shiftDateComponent(selected, step);\n if (!changed) {\n this.blink();\n return;\n }\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private shiftSelection = (step: number): void => {\n const selected = this.iDateMediator.getShiftedType(this.state.selected, step);\n if (selected !== this.state.selected) {\n this.setState({ selected, inputMode: false });\n }\n };\n\n private inputValue = (event: React.KeyboardEvent<HTMLElement>): void => {\n let selected = this.state.selected;\n if (selected === InternalDateComponentType.All) {\n selected = this.iDateMediator.getLeftmostType();\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.setState({ selected });\n }\n const { inputMode, changed } = this.iDateMediator.inputKey(event.key, selected, this.state.inputMode);\n if (!changed) {\n this.blink();\n return;\n }\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"]}
|