@skbkontur/react-ui 0.0.0-66a28a30fb → 0.0.0-68e286f9fe
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 +98 -0
- package/README.md +1 -1
- package/cjs/components/Autocomplete/Autocomplete.d.ts +0 -22
- package/cjs/components/Autocomplete/Autocomplete.js +2 -40
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.styles.js +2 -1
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Calendar/CalendarDay.js +18 -2
- package/cjs/components/Calendar/CalendarDay.js.map +1 -1
- package/cjs/components/Calendar/DayCellView.js +7 -15
- package/cjs/components/Calendar/DayCellView.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.d.ts +0 -12
- package/cjs/components/Checkbox/Checkbox.js +1 -14
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.d.ts +7 -1
- package/cjs/components/ComboBox/ComboBox.js +8 -1
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.md +2 -2
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +1 -24
- package/cjs/components/CurrencyInput/CurrencyInput.js +2 -29
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -27
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/DateInput/DateInput.d.ts +1 -0
- package/cjs/components/DateInput/DateInput.js +37 -14
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.js +10 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +4 -33
- package/cjs/components/DatePicker/DatePicker.js +5 -60
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePicker.d.ts +3 -1
- package/cjs/components/DateRangePicker/DateRangePicker.js +61 -23
- package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
- package/cjs/components/DateRangePicker/DateRangePicker.styles.js +13 -18
- package/cjs/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePickerInput.js +4 -8
- package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
- package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +17 -17
- package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +0 -47
- package/cjs/components/Dropdown/Dropdown.js +2 -83
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.md +8 -8
- package/cjs/components/FileUploader/FileUploader.js +14 -2
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FxInput/FxInput.d.ts +1 -6
- package/cjs/components/FxInput/FxInput.js +1 -7
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/Gapped/Gapped.d.ts +0 -15
- package/cjs/components/Gapped/Gapped.js +1 -25
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/Group/Group.d.ts +3 -4
- package/cjs/components/Group/Group.js +90 -40
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Group/Group.md +4 -4
- package/cjs/components/Group/Group.styles.d.ts +1 -0
- package/cjs/components/Group/Group.styles.js +12 -6
- package/cjs/components/Group/Group.styles.js.map +1 -1
- package/cjs/components/Input/Input.md +4 -5
- package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -0
- package/cjs/components/Input/InputLayout/InputLayout.js +4 -2
- package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +0 -1
- package/cjs/components/Kebab/Kebab.js +1 -26
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Kebab/Kebab.md +32 -32
- package/cjs/components/Link/Link.js +5 -0
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.mixins.js +1 -2
- package/cjs/components/Link/Link.mixins.js.map +1 -1
- package/cjs/components/Link/Link.styles.js +3 -2
- package/cjs/components/Link/Link.styles.js.map +1 -1
- package/cjs/components/Loader/Loader.d.ts +4 -36
- package/cjs/components/Loader/Loader.js +3 -58
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +0 -12
- package/cjs/components/MenuItem/MenuItem.js +1 -22
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.md +6 -6
- package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
- package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
- package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
- package/cjs/components/MiniModal/MiniModalBody.js +17 -2
- package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +1 -1
- package/cjs/components/Modal/Modal.styles.js +6 -6
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalSeparator.js +1 -1
- package/cjs/components/Modal/ModalSeparator.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +0 -1
- package/cjs/components/Paging/Paging.js +2 -28
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +0 -7
- package/cjs/components/PasswordInput/PasswordInput.js +1 -11
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.d.ts +1 -0
- package/cjs/components/RadioGroup/RadioGroup.js +18 -1
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
- package/cjs/components/RadioGroup/RadioGroup.styles.js +10 -4
- package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +0 -9
- package/cjs/components/ScrollContainer/ScrollContainer.js +1 -11
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +3 -0
- package/cjs/components/Select/Select.js +4 -1
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.md +3 -3
- package/cjs/components/SidePage/SidePage.js +1 -1
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.js +4 -1
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/SingleToast/SingleToast.d.ts +3 -3
- package/cjs/components/SingleToast/SingleToast.js.map +1 -1
- package/cjs/components/Spinner/Spinner.d.ts +0 -18
- package/cjs/components/Spinner/Spinner.js +1 -32
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Sticky/Sticky.d.ts +3 -13
- package/cjs/components/Sticky/Sticky.js +12 -19
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +4 -21
- package/cjs/components/Switcher/Switcher.js +11 -21
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
- package/cjs/components/Switcher/Switcher.styles.js +17 -9
- package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +6 -45
- package/cjs/components/Textarea/Textarea.js +16 -58
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/Textarea.styles.js +2 -1
- package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.js +2 -13
- package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
- package/cjs/components/Toast/Toast.d.ts +8 -6
- package/cjs/components/Toast/Toast.js +18 -4
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/ToastStatic.d.ts +3 -2
- package/cjs/components/Toast/ToastStatic.js.map +1 -1
- package/cjs/components/Toast/ToastView.d.ts +1 -15
- package/cjs/components/Toast/ToastView.js +3 -23
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +0 -10
- package/cjs/components/Toggle/Toggle.js +1 -12
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Token/Token.md +0 -83
- package/cjs/components/TokenInput/TokenInput.d.ts +2 -2
- package/cjs/components/TokenInput/TokenInput.js +2 -1
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.md +2 -33
- package/cjs/components/TokenInput/TokenInputMenu.d.ts +12 -3
- package/cjs/components/TokenInput/TokenInputMenu.js +23 -1
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +2 -3
- package/cjs/components/Tooltip/Tooltip.js +7 -9
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.md +8 -8
- package/cjs/components/TooltipMenu/TooltipMenu.md +12 -12
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +16 -7
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +27 -9
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
- package/cjs/internal/ComponentTable.js +2 -3
- package/cjs/internal/ComponentTable.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +6 -2
- package/cjs/internal/CustomComboBox/ComboBoxView.js +37 -2
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
- package/cjs/internal/CustomComboBox/CustomComboBox.js +4 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
- package/cjs/internal/DateSelect/DateSelect.js +12 -18
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
- package/cjs/internal/InputLikeText/InputLikeText.styles.js +12 -4
- package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +36 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +233 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +10 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
- package/cjs/internal/Popup/Popup.d.ts +41 -60
- package/cjs/internal/Popup/Popup.js +27 -78
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/PopupPin.d.ts +23 -33
- package/cjs/internal/Popup/PopupPin.js +2 -35
- package/cjs/internal/Popup/PopupPin.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.d.ts +0 -3
- package/cjs/internal/RenderLayer/RenderLayer.js +2 -12
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.js +16 -16
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/SizesGroup.js +4 -4
- package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +1 -1
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/VariableValue.js +4 -4
- package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ZIndex/ZIndex.d.ts +1 -3
- package/cjs/internal/ZIndex/ZIndex.js +5 -2
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/themes/BasicTheme.d.ts +4 -0
- package/cjs/internal/themes/BasicTheme.js +6 -2
- package/cjs/internal/themes/BasicTheme.js.map +1 -1
- package/cjs/internal/themes/DarkTheme5_2.js +1 -1
- package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
- package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme5_3.js +13 -0
- package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
- package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
- package/cjs/internal/themes/LightTheme5_3.js +13 -0
- package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
- package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
- package/cjs/lib/date/InternalDateGetter.js +8 -1
- package/cjs/lib/date/InternalDateGetter.js.map +1 -1
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +11 -1
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/cjs/lib/forwardRefAndName.d.ts +1 -1
- package/cjs/lib/forwardRefAndName.js +0 -1
- package/cjs/lib/forwardRefAndName.js.map +1 -1
- package/cjs/lib/getMenuPositions.d.ts +21 -1
- package/cjs/lib/getMenuPositions.js +45 -8
- package/cjs/lib/getMenuPositions.js.map +1 -1
- package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
- package/cjs/lib/theming/ThemeVersions.js.map +1 -1
- package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
- package/cjs/lib/theming/themes/DarkTheme.js +4 -2
- package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
- package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
- package/cjs/lib/theming/themes/LightTheme.js +4 -2
- package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
- package/cjs/lib/utils.d.ts +4 -0
- package/cjs/lib/utils.js +5 -1
- package/cjs/lib/utils.js.map +1 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js +3 -23
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +0 -22
- package/components/Button/Button.styles/Button.styles.js +1 -1
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Calendar/CalendarDay/CalendarDay.js +9 -2
- package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
- package/components/Calendar/DayCellView/DayCellView.js +6 -10
- package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
- package/components/Checkbox/Checkbox/Checkbox.js +0 -11
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +0 -12
- package/components/ComboBox/ComboBox/ComboBox.js +2 -1
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +7 -1
- package/components/ComboBox/ComboBox.md +2 -2
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +9 -36
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +1 -24
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/DateInput/DateInput/DateInput.js +25 -16
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +1 -0
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
- package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +1 -32
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +4 -33
- package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +41 -22
- package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.d.ts +3 -1
- package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js +12 -15
- package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
- package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +5 -8
- package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
- package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +16 -15
- package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +1 -1
- package/components/Dropdown/Dropdown/Dropdown.js +1 -47
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +0 -47
- package/components/DropdownMenu/DropdownMenu.md +8 -8
- package/components/FileUploader/FileUploader/FileUploader.js +7 -2
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FxInput/FxInput/FxInput.js +1 -5
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +1 -6
- package/components/Gapped/Gapped/Gapped.js +1 -15
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/Gapped/Gapped.d.ts +0 -15
- package/components/Group/Group/Group.js +64 -28
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.d.ts +3 -4
- package/components/Group/Group.md +4 -4
- package/components/Group/Group.styles/Group.styles.js +9 -6
- package/components/Group/Group.styles/Group.styles.js.map +1 -1
- package/components/Group/Group.styles.d.ts +1 -0
- package/components/Input/Input.md +4 -5
- package/components/Input/InputLayout/InputLayout/InputLayout.js +5 -2
- package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
- package/components/Input/InputLayout/InputLayout.d.ts +1 -0
- package/components/Kebab/Kebab/Kebab.js +2 -20
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +0 -1
- package/components/Kebab/Kebab.md +32 -32
- package/components/Link/Link/Link.js +4 -0
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.mixins/Link.mixins.js +1 -1
- package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
- package/components/Link/Link.styles/Link.styles.js +1 -1
- package/components/Link/Link.styles/Link.styles.js.map +1 -1
- package/components/Loader/Loader/Loader.js +0 -33
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +4 -36
- package/components/MenuItem/MenuItem/MenuItem.js +1 -12
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +0 -12
- package/components/MenuItem/MenuItem.md +6 -6
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
- package/components/MiniModal/MiniModal.styles.d.ts +1 -0
- package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
- package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
- package/components/Modal/Modal.styles/Modal.styles.js +3 -3
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +1 -1
- package/components/Modal/ModalSeparator/ModalSeparator.js +1 -1
- package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
- package/components/Paging/Paging/Paging.js +1 -22
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +0 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -7
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +0 -7
- package/components/RadioGroup/RadioGroup/RadioGroup.js +23 -17
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +1 -0
- package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +7 -4
- package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
- package/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +0 -9
- package/components/Select/Select/Select.js +3 -2
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +3 -0
- package/components/Select/Select.md +3 -3
- package/components/SidePage/SidePage/SidePage.js +1 -1
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js +6 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
- package/components/SingleToast/SingleToast.d.ts +3 -3
- package/components/Spinner/Spinner/Spinner.js +1 -18
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +0 -18
- package/components/Sticky/Sticky/Sticky.js +10 -14
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +3 -13
- package/components/Switcher/Switcher/Switcher.js +19 -16
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +4 -21
- package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
- package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
- package/components/Switcher/Switcher.styles.d.ts +1 -0
- package/components/Textarea/Textarea/Textarea.js +12 -46
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +6 -45
- package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
- package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
- package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Toast/Toast/Toast.js +8 -10
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +8 -6
- package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
- package/components/Toast/ToastStatic.d.ts +3 -2
- package/components/Toast/ToastView/ToastView.js +3 -17
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.d.ts +1 -15
- package/components/Toggle/Toggle/Toggle.js +1 -10
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +0 -10
- package/components/Token/Token.md +0 -83
- package/components/TokenInput/TokenInput/TokenInput.js +2 -1
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +2 -2
- package/components/TokenInput/TokenInput.md +2 -33
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +16 -6
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/TokenInput/TokenInputMenu.d.ts +12 -3
- package/components/Tooltip/Tooltip/Tooltip.js +8 -7
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +2 -3
- package/components/Tooltip/Tooltip.md +8 -8
- package/components/TooltipMenu/TooltipMenu.md +12 -12
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +21 -7
- package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +14 -5
- package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
- package/internal/ComponentTable/ComponentTable.js +0 -2
- package/internal/ComponentTable/ComponentTable.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +59 -27
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +6 -2
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +2 -1
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
- package/internal/DateSelect/DateSelect/DateSelect.js +3 -10
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.d.ts +0 -10
- package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +7 -4
- package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +244 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/package.json +6 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +36 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js +8 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js.map +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/package.json +6 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
- package/internal/Popup/Popup/Popup.js +13 -66
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +41 -60
- package/internal/Popup/PopupPin/PopupPin.js +1 -34
- package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
- package/internal/Popup/PopupPin.d.ts +23 -33
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer.d.ts +0 -3
- package/internal/ThemePlayground/Playground/Playground.js +13 -13
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js +4 -4
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +2 -2
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
- package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -4
- package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndex.d.ts +1 -3
- package/internal/themes/BasicTheme/BasicTheme.js +4 -0
- package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
- package/internal/themes/BasicTheme.d.ts +4 -0
- package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
- package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
- package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
- package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
- package/internal/themes/DarkTheme5_3/package.json +6 -0
- package/internal/themes/DarkTheme5_3.d.ts +1 -0
- package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
- package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
- package/internal/themes/LightTheme5_3/package.json +6 -0
- package/internal/themes/LightTheme5_3.d.ts +1 -0
- package/lib/date/InternalDateGetter/InternalDateGetter.js +4 -1
- package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
- package/lib/date/InternalDateGetter.d.ts +1 -1
- package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +6 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
- package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
- package/lib/forwardRefAndName.d.ts +1 -1
- package/lib/getMenuPositions/getMenuPositions.js +33 -4
- package/lib/getMenuPositions/getMenuPositions.js.map +1 -1
- package/lib/getMenuPositions.d.ts +21 -1
- package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
- package/lib/theming/ThemeVersions.d.ts +1 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/lib/theming/themes/DarkTheme.d.ts +1 -0
- package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
- package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
- package/lib/theming/themes/LightTheme.d.ts +1 -0
- package/lib/utils/utils.js +2 -0
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +4 -0
- package/package.json +7 -11
- package/cjs/lib/SSRSafe.d.ts +0 -2
- package/cjs/lib/SSRSafe.js +0 -5
- package/cjs/lib/SSRSafe.js.map +0 -1
- package/lib/SSRSafe/SSRSafe.js +0 -4
- package/lib/SSRSafe/SSRSafe.js.map +0 -1
- package/lib/SSRSafe/package.json +0 -6
- package/lib/SSRSafe.d.ts +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PropTypes","React","Popup","LocaleContext","locale","InternalDateGetter","ArrowAUpIcon16Light","ThemeFactory","InternalDate","MAX_FULLDATE","MIN_FULLDATE","InternalDateOrder","InternalDateSeparator","InternalDateValidateCheck","DateInput","filterProps","CommonWrapper","isMobile","NativeDateInput","getRootNode","rootNode","isNonNullable","createPropsGetter","Calendar","ThemeContext","Button","getTodayDate","responsiveLayout","getMenuPositions","ZIndex","styles","DatePickerLocaleHelper","MobilePicker","INPUT_PASS_PROPS","autoFocus","disabled","warning","error","size","onKeyDown","MIN_WIDTH","DatePickerDataTids","root","input","label","pickerRoot","pickerTodayWrapper","DatePicker","_dec","_class","_DatePicker","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","canOpenPopup","state","opened","canUseMobileNativeDatePicker","today","focused","renderMain","props","picker","_this$getProps","minDate","maxDate","menuPos","menuAlign","isMobileLayout","createElement","value","parseValueToDate","onValueChange","enableTodayLink","isHoliday","onCloseRequest","handleMobileCloseRequest","renderDay","onMonthChange","Provider","months","dayCellChooseDateAriaLabel","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel","hasShadow","priority","priorities","PopupMenu","positions","anchorElement","getParent","margin","parseInt","theme","datePickerMenuOffsetY","className","calendarWrapper","onMouseDown","e","preventDefault","handleValueChange","renderTodayLink","style","getRootStyle","onMouseEnter","onMouseLeave","onMouseOver","_extends","id","ref","getInputRef","width","withIcon","onBlur","undefined","handleBlur","onFocus","handleFocus","onClick","openPickerPopup","handleKeyDown","minWidth","setState","close","handleSelect","blur","_inheritsLoose","_proto","prototype","componentDidMount","useMobileNativeDatePicker","focus","componentDidUpdate","prevProps","prevState","opts","withoutOpenDropdown","render","_this2","Consumer","create","calendarBottomSeparatorBorder","rootNodeRef","setRootNode","date","validate","checks","NotNull","Native","toString","withPad","_this3","_this$locale","order","separator","setComponents","getTodayComponents","withSeparator","todayAriaLabel","icon","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","bool","string","isRequired","oneOf","oneOfType","number","func","range","_range","_range$minDate","_range$maxDate","internalDate","DMY","Dot","setRangeStart","setRangeEnd","parseValue","Number","Limits","Range"],"sources":["DatePicker.tsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport type { HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport { Popup } from '../../internal/Popup';\nimport { LocaleContext } from '../../lib/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { InternalDateGetter } from '../../lib/date/InternalDateGetter';\nimport { ArrowAUpIcon16Light } from '../../internal/icons2022/ArrowAUpIcon/ArrowAUp16Light';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateOrder, InternalDateSeparator, InternalDateValidateCheck } from '../../lib/date/types';\nimport type { Nullable } from '../../typings/utility-types';\nimport { DateInput } from '../DateInput';\nimport { filterProps } from '../../lib/filterProps';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isMobile } from '../../lib/client';\nimport { NativeDateInput } from '../../internal/NativeDateInput';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { isNonNullable } from '../../lib/utils';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { CalendarDateShape, CalendarProps } from '../Calendar';\nimport { Calendar } from '../Calendar';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { Button } from '../Button';\nimport { getTodayDate } from '../Calendar/CalendarUtils';\nimport type { SizeProp } from '../../lib/types/props';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { ZIndex } from '../../internal/ZIndex';\n\nimport { styles } from './DatePicker.styles';\nimport type { DatePickerLocale } from './locale';\nimport { DatePickerLocaleHelper } from './locale';\nimport { MobilePicker } from './MobilePicker';\n\nconst INPUT_PASS_PROPS = {\n autoFocus: true,\n disabled: true,\n warning: true,\n error: true,\n size: true,\n onKeyDown: true,\n};\n\nexport const MIN_WIDTH = 120;\n\nexport interface DatePickerProps\n extends Pick<CalendarProps, 'isHoliday' | 'minDate' | 'maxDate' | 'renderDay' | 'onMonthChange'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n\n autoFocus?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Отображает кнопку \"Сегодня\" в календаре. */\n enableTodayLink?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Задает nекущую позицию выпадающего окна вручную. */\n menuPos?: 'top' | 'bottom';\n\n /** Задает выравнивание меню. */\n menuAlign?: 'left' | 'right';\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /** Задает значение автокомплита. */\n value?: string | null;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает ширину автокомплита. */\n width?: number | string;\n\n /** Задает функцию, которая вызывается при потере датапикером фокуса. */\n onBlur?: () => void;\n\n /** Задает функцию, вызывающуюся при изменении value.\n * @param value - строка в формате `dd.mm.yyyy`. */\n onValueChange: (value: string) => void;\n\n /** Задает функцию, которая вызывается при получении датапикером фокуса. */\n onFocus?: () => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onKeyDown?: (e: React.KeyboardEvent<any>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: (e: React.MouseEvent<any>) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (e: React.MouseEvent<any>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: (e: React.MouseEvent<any>) => void;\n\n /** Позволяет использовать на мобильных устройствах нативный календарь для выбора дат.\n * На iOS нативный календарь не умеет работать с minDate и maxDate. */\n useMobileNativeDatePicker?: boolean;\n}\n\nexport interface DatePickerState {\n opened: boolean;\n canUseMobileNativeDatePicker: boolean;\n today: CalendarDateShape;\n}\n\nexport const DatePickerDataTids = {\n root: 'DatePicker__root',\n input: 'DatePicker__input',\n label: 'DatePicker__label',\n pickerRoot: 'Picker__root',\n pickerTodayWrapper: 'Picker__todayWrapper',\n} as const;\n\ntype DefaultProps = Required<Pick<DatePickerProps, 'minDate' | 'maxDate'>>;\n\n/**\n * Поле `DatePicker` помогает вводить дату с клавиатуры или выбирать ее с помощью мыши.\n *\n * Используйте поле с датой, когда нужно ввести дату в формате ДД.ММ.ГГГГ.\n *\n * Поле с датой отличается от обычного поля ввода наличием иконки, маски и блока календаря.\n */\n@responsiveLayout\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DatePicker extends React.PureComponent<DatePickerProps, DatePickerState> {\n public static __KONTUR_REACT_UI__ = 'DatePicker';\n public static displayName = 'DatePicker';\n\n public static propTypes = {\n autoFocus: PropTypes.bool,\n\n disabled: PropTypes.bool,\n\n error: PropTypes.bool,\n\n /**\n * Максимальная дата в календаре.\n */\n maxDate: PropTypes.string.isRequired,\n\n menuPos: PropTypes.oneOf(['top', 'bottom']),\n\n menuAlign: PropTypes.oneOf(['left', 'right']),\n\n /**\n * Минимальная дата в календаре.\n */\n minDate: PropTypes.string.isRequired,\n\n /**\n * Строка формата `dd.mm.yyyy`\n */\n value: PropTypes.string,\n\n warning: PropTypes.bool,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onBlur: PropTypes.func,\n\n onValueChange: PropTypes.func.isRequired,\n\n onFocus: PropTypes.func,\n\n onKeyDown: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n\n onMouseLeave: PropTypes.func,\n\n onMouseOver: PropTypes.func,\n\n isHoliday: PropTypes.func,\n\n renderDay: PropTypes.func,\n\n onMonthChange: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n };\n\n private getProps = createPropsGetter(DatePicker.defaultProps);\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private canOpenPopup = true;\n\n public static validate = (value: Nullable<string>, range: { minDate?: string; maxDate?: string } = {}) => {\n if (!value) {\n return false;\n }\n\n const { minDate = MIN_FULLDATE, maxDate = MAX_FULLDATE } = range;\n const internalDate = new InternalDate({\n order: InternalDateOrder.DMY,\n separator: InternalDateSeparator.Dot,\n })\n .setRangeStart(new InternalDate({ value: minDate }))\n .setRangeEnd(new InternalDate({ value: maxDate }))\n .parseValue(value);\n\n return internalDate.validate({\n checks: [\n InternalDateValidateCheck.NotNull,\n InternalDateValidateCheck.Number,\n InternalDateValidateCheck.Native,\n InternalDateValidateCheck.Limits,\n InternalDateValidateCheck.Range,\n ],\n });\n };\n\n public state: DatePickerState = { opened: false, canUseMobileNativeDatePicker: false, today: getTodayDate() };\n\n private input: DateInput | null = null;\n private focused = false;\n private setRootNode!: TSetRootNode;\n private isMobileLayout!: boolean;\n\n public componentDidMount() {\n if (this.props.useMobileNativeDatePicker && isMobile) {\n this.setState({\n canUseMobileNativeDatePicker: true,\n });\n }\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate(prevProps: DatePickerProps, prevState: DatePickerState) {\n const { disabled } = this.props;\n const { opened } = this.state;\n if (disabled && opened) {\n this.close();\n }\n\n if (prevState.opened && !opened && this.isMobileLayout) {\n this.handleBlur();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.input) {\n this.input.blur();\n }\n this.handleBlur();\n }\n\n /**\n * @public\n */\n public focus(opts?: { withoutOpenDropdown?: boolean }) {\n if (this.props.disabled) {\n return;\n }\n\n if (opts?.withoutOpenDropdown) {\n this.canOpenPopup = false;\n }\n\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * Закрывает выпадашку выбора дня\n * @public\n */\n public close() {\n this.setState({ opened: false });\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ calendarBottomSeparatorBorder: 'none' }, theme)}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DatePickerProps>) => {\n let picker = null;\n\n const { minDate, maxDate, menuPos, menuAlign } = this.getProps();\n\n const isMobile = this.isMobileLayout;\n\n if (this.state.opened) {\n if (isMobile) {\n picker = (\n <MobilePicker\n value={this.props.value}\n minDate={this.parseValueToDate(minDate)}\n maxDate={this.parseValueToDate(maxDate)}\n onValueChange={this.props.onValueChange}\n enableTodayLink={this.props.enableTodayLink}\n isHoliday={this.props.isHoliday}\n onCloseRequest={this.handleMobileCloseRequest}\n renderDay={props.renderDay}\n onMonthChange={props.onMonthChange}\n />\n );\n } else {\n picker = (\n <LocaleContext.Provider\n value={{\n locale: {\n Calendar: {\n months: this.locale.months,\n dayCellChooseDateAriaLabel: this.locale.dayCellChooseDateAriaLabel,\n selectMonthAriaLabel: this.locale.selectMonthAriaLabel,\n selectYearAriaLabel: this.locale.selectYearAriaLabel,\n selectChosenAriaLabel: this.locale.selectChosenAriaLabel,\n },\n },\n }}\n >\n <Popup\n opened\n hasShadow\n priority={ZIndex.priorities.PopupMenu}\n positions={getMenuPositions(menuPos, menuAlign)}\n data-tid={DatePickerDataTids.root}\n anchorElement={this.getParent()}\n margin={parseInt(this.theme.datePickerMenuOffsetY)}\n >\n <div\n data-tid={DatePickerDataTids.pickerRoot}\n className={styles.calendarWrapper(this.theme)}\n onMouseDown={(e) => e.preventDefault()}\n >\n <Calendar\n maxDate={this.parseValueToDate(maxDate)}\n minDate={this.parseValueToDate(minDate)}\n onValueChange={this.handleValueChange}\n isHoliday={this.props.isHoliday}\n value={this.parseValueToDate(this.props.value)}\n renderDay={this.props.renderDay}\n onMonthChange={this.props.onMonthChange}\n />\n {this.props.enableTodayLink && this.renderTodayLink()}{' '}\n </div>\n </Popup>\n </LocaleContext.Provider>\n );\n }\n }\n return (\n <label\n className={styles.root()}\n style={this.getRootStyle()}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n data-tid={DatePickerDataTids.label}\n >\n <DateInput\n id={this.props.id}\n {...filterProps(props, INPUT_PASS_PROPS)}\n ref={this.getInputRef}\n value={this.props.value || ''}\n width=\"100%\"\n withIcon\n minDate={minDate}\n maxDate={maxDate}\n onBlur={isMobile ? undefined : this.handleBlur}\n onFocus={this.handleFocus}\n onValueChange={this.props.onValueChange}\n onClick={this.openPickerPopup}\n onKeyDown={this.handleKeyDown}\n data-tid={DatePickerDataTids.input}\n />\n {this.state.canUseMobileNativeDatePicker ? (\n <NativeDateInput\n onValueChange={this.props.onValueChange}\n value={this.props.value || ''}\n minDate={minDate}\n maxDate={maxDate}\n disabled={this.props.disabled}\n />\n ) : (\n picker\n )}\n </label>\n );\n };\n\n private parseValueToDate(value?: Nullable<string>): string | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n\n const date = new InternalDate({ value });\n if (date.validate({ checks: [InternalDateValidateCheck.NotNull, InternalDateValidateCheck.Native] })) {\n return date.toString({ withPad: true });\n }\n\n return undefined;\n }\n\n private renderTodayLink() {\n const { order, separator } = this.locale;\n const today = new InternalDate({ order, separator })\n .setComponents(InternalDateGetter.getTodayComponents())\n .toString({ withPad: true, withSeparator: true });\n\n return (\n <div style={{ margin: 8 }}>\n <Button\n aria-label={this.locale.todayAriaLabel}\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n width=\"100%\"\n onClick={() => {\n this.handleSelect(today);\n }}\n icon={<ArrowAUpIcon16Light />}\n >\n {this.locale.today}\n </Button>\n </div>\n );\n }\n\n public getParent = () => {\n return getRootNode(this);\n };\n\n private getRootStyle = () => {\n const { width } = this.props;\n return isNonNullable(width) ? { width } : { minWidth: MIN_WIDTH };\n };\n\n private getInputRef = (ref: DateInput | null) => {\n this.input = ref;\n };\n\n private openPickerPopup = () => {\n this.setState({ opened: true });\n };\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n\n if (!this.canOpenPopup) {\n this.canOpenPopup = true;\n } else {\n this.openPickerPopup();\n }\n\n this.focused = true;\n\n if (this.props.onFocus) {\n this.props.onFocus();\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent) => {\n if (!this.state.opened) {\n this.openPickerPopup();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n return;\n }\n\n this.focused = false;\n this.close();\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleValueChange = (value: string) => {\n this.handleSelect(value);\n this.blur();\n };\n\n private handleSelect = (value: string | null) => {\n if (!value) {\n return null;\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private handleMobileCloseRequest = () => {\n this.close();\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Popup","LocaleContext","locale","InternalDateGetter","ArrowAUpIcon16Light","ThemeFactory","InternalDate","MAX_FULLDATE","MIN_FULLDATE","InternalDateOrder","InternalDateSeparator","InternalDateValidateCheck","DateInput","filterProps","CommonWrapper","isMobile","NativeDateInput","getRootNode","rootNode","isNonNullable","createPropsGetter","Calendar","ThemeContext","Button","getTodayDate","responsiveLayout","getMenuPositions","ZIndex","styles","DatePickerLocaleHelper","MobilePicker","INPUT_PASS_PROPS","autoFocus","disabled","warning","error","size","onKeyDown","MIN_WIDTH","DatePickerDataTids","root","input","label","pickerRoot","pickerTodayWrapper","DatePicker","_dec","_class","_DatePicker","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","canOpenPopup","state","opened","canUseMobileNativeDatePicker","today","focused","renderMain","props","picker","_this$getProps","minDate","maxDate","menuPos","menuAlign","isMobileLayout","createElement","value","parseValueToDate","onValueChange","enableTodayLink","isHoliday","onCloseRequest","handleMobileCloseRequest","renderDay","onMonthChange","Provider","months","dayCellChooseDateAriaLabel","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel","hasShadow","priority","priorities","PopupMenu","positions","anchorElement","getParent","margin","parseInt","theme","datePickerMenuOffsetY","className","calendarWrapper","onMouseDown","e","preventDefault","handleValueChange","renderTodayLink","style","getRootStyle","onMouseEnter","onMouseLeave","onMouseOver","_extends","id","ref","getInputRef","width","withIcon","onBlur","undefined","handleBlur","onFocus","handleFocus","onClick","openPickerPopup","handleKeyDown","minWidth","setState","close","handleSelect","blur","_inheritsLoose","_proto","prototype","componentDidMount","useMobileNativeDatePicker","focus","componentDidUpdate","prevProps","prevState","opts","withoutOpenDropdown","render","_this2","Consumer","create","calendarBottomSeparatorBorder","rootNodeRef","setRootNode","date","validate","checks","NotNull","Native","toString","withPad","_this3","_this$locale","order","separator","setComponents","getTodayComponents","withSeparator","todayAriaLabel","icon","PureComponent","__KONTUR_REACT_UI__","displayName","range","_range","_range$minDate","_range$maxDate","internalDate","DMY","Dot","setRangeStart","setRangeEnd","parseValue","Number","Limits","Range"],"sources":["DatePicker.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport { Popup } from '../../internal/Popup';\nimport { LocaleContext } from '../../lib/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { InternalDateGetter } from '../../lib/date/InternalDateGetter';\nimport { ArrowAUpIcon16Light } from '../../internal/icons2022/ArrowAUpIcon/ArrowAUp16Light';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateOrder, InternalDateSeparator, InternalDateValidateCheck } from '../../lib/date/types';\nimport type { Nullable } from '../../typings/utility-types';\nimport { DateInput } from '../DateInput';\nimport { filterProps } from '../../lib/filterProps';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isMobile } from '../../lib/client';\nimport { NativeDateInput } from '../../internal/NativeDateInput';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { isNonNullable } from '../../lib/utils';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { CalendarDateShape, CalendarProps } from '../Calendar';\nimport { Calendar } from '../Calendar';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { Button } from '../Button';\nimport { getTodayDate } from '../Calendar/CalendarUtils';\nimport type { SizeProp } from '../../lib/types/props';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { ZIndex } from '../../internal/ZIndex';\n\nimport { styles } from './DatePicker.styles';\nimport type { DatePickerLocale } from './locale';\nimport { DatePickerLocaleHelper } from './locale';\nimport { MobilePicker } from './MobilePicker';\n\nconst INPUT_PASS_PROPS = {\n autoFocus: true,\n disabled: true,\n warning: true,\n error: true,\n size: true,\n onKeyDown: true,\n};\n\nexport const MIN_WIDTH = 120;\n\nexport interface DatePickerProps\n extends Pick<CalendarProps, 'isHoliday' | 'minDate' | 'maxDate' | 'renderDay' | 'onMonthChange'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n\n autoFocus?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Отображает кнопку \"Сегодня\" в календаре. */\n enableTodayLink?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Задает nекущую позицию выпадающего окна вручную. */\n menuPos?: 'top' | 'bottom';\n\n /** Задает выравнивание меню. */\n menuAlign?: 'left' | 'right';\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /**\n * Строка формата `dd.mm.yyyy`\n * Задает значение автокомплита.\n */\n value?: string | null;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает ширину автокомплита. */\n width?: number | string;\n\n /** Задает функцию, которая вызывается при потере датапикером фокуса. */\n onBlur?: () => void;\n\n /** Задает функцию, вызывающуюся при изменении value.\n * @param value - строка в формате `dd.mm.yyyy`. */\n onValueChange: (value: string) => void;\n\n /** Задает функцию, которая вызывается при получении датапикером фокуса. */\n onFocus?: () => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onKeyDown?: (e: React.KeyboardEvent<any>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: (e: React.MouseEvent<any>) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (e: React.MouseEvent<any>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: (e: React.MouseEvent<any>) => void;\n\n /** Позволяет использовать на мобильных устройствах нативный календарь для выбора дат.\n * На iOS нативный календарь не умеет работать с minDate и maxDate. */\n useMobileNativeDatePicker?: boolean;\n}\n\nexport interface DatePickerState {\n opened: boolean;\n canUseMobileNativeDatePicker: boolean;\n today: CalendarDateShape;\n}\n\nexport const DatePickerDataTids = {\n root: 'DatePicker__root',\n input: 'DatePicker__input',\n label: 'DatePicker__label',\n pickerRoot: 'Picker__root',\n pickerTodayWrapper: 'Picker__todayWrapper',\n} as const;\n\ntype DefaultProps = Required<Pick<DatePickerProps, 'minDate' | 'maxDate'>>;\n\n/**\n * Поле `DatePicker` помогает вводить дату с клавиатуры или выбирать ее с помощью мыши.\n *\n * Используйте поле с датой, когда нужно ввести дату в формате ДД.ММ.ГГГГ.\n *\n * Поле с датой отличается от обычного поля ввода наличием иконки, маски и блока календаря.\n */\n@responsiveLayout\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DatePicker extends React.PureComponent<DatePickerProps, DatePickerState> {\n public static __KONTUR_REACT_UI__ = 'DatePicker';\n public static displayName = 'DatePicker';\n\n public static defaultProps: DefaultProps = {\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n };\n\n private getProps = createPropsGetter(DatePicker.defaultProps);\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private canOpenPopup = true;\n\n public static validate = (value: Nullable<string>, range: { minDate?: string; maxDate?: string } = {}) => {\n if (!value) {\n return false;\n }\n\n const { minDate = MIN_FULLDATE, maxDate = MAX_FULLDATE } = range;\n const internalDate = new InternalDate({\n order: InternalDateOrder.DMY,\n separator: InternalDateSeparator.Dot,\n })\n .setRangeStart(new InternalDate({ value: minDate }))\n .setRangeEnd(new InternalDate({ value: maxDate }))\n .parseValue(value);\n\n return internalDate.validate({\n checks: [\n InternalDateValidateCheck.NotNull,\n InternalDateValidateCheck.Number,\n InternalDateValidateCheck.Native,\n InternalDateValidateCheck.Limits,\n InternalDateValidateCheck.Range,\n ],\n });\n };\n\n public state: DatePickerState = { opened: false, canUseMobileNativeDatePicker: false, today: getTodayDate() };\n\n private input: DateInput | null = null;\n private focused = false;\n private setRootNode!: TSetRootNode;\n private isMobileLayout!: boolean;\n\n public componentDidMount() {\n if (this.props.useMobileNativeDatePicker && isMobile) {\n this.setState({\n canUseMobileNativeDatePicker: true,\n });\n }\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate(prevProps: DatePickerProps, prevState: DatePickerState) {\n const { disabled } = this.props;\n const { opened } = this.state;\n if (disabled && opened) {\n this.close();\n }\n\n if (prevState.opened && !opened && this.isMobileLayout) {\n this.handleBlur();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.input) {\n this.input.blur();\n }\n this.handleBlur();\n }\n\n /**\n * @public\n */\n public focus(opts?: { withoutOpenDropdown?: boolean }) {\n if (this.props.disabled) {\n return;\n }\n\n if (opts?.withoutOpenDropdown) {\n this.canOpenPopup = false;\n }\n\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * Закрывает выпадашку выбора дня\n * @public\n */\n public close() {\n this.setState({ opened: false });\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ calendarBottomSeparatorBorder: 'none' }, theme)}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DatePickerProps>) => {\n let picker = null;\n\n const { minDate, maxDate, menuPos, menuAlign } = this.getProps();\n\n const isMobile = this.isMobileLayout;\n\n if (this.state.opened) {\n if (isMobile) {\n picker = (\n <MobilePicker\n value={this.props.value}\n minDate={this.parseValueToDate(minDate)}\n maxDate={this.parseValueToDate(maxDate)}\n onValueChange={this.props.onValueChange}\n enableTodayLink={this.props.enableTodayLink}\n isHoliday={this.props.isHoliday}\n onCloseRequest={this.handleMobileCloseRequest}\n renderDay={props.renderDay}\n onMonthChange={props.onMonthChange}\n />\n );\n } else {\n picker = (\n <LocaleContext.Provider\n value={{\n locale: {\n Calendar: {\n months: this.locale.months,\n dayCellChooseDateAriaLabel: this.locale.dayCellChooseDateAriaLabel,\n selectMonthAriaLabel: this.locale.selectMonthAriaLabel,\n selectYearAriaLabel: this.locale.selectYearAriaLabel,\n selectChosenAriaLabel: this.locale.selectChosenAriaLabel,\n },\n },\n }}\n >\n <Popup\n opened\n hasShadow\n priority={ZIndex.priorities.PopupMenu}\n positions={getMenuPositions(menuPos, menuAlign)}\n data-tid={DatePickerDataTids.root}\n anchorElement={this.getParent()}\n margin={parseInt(this.theme.datePickerMenuOffsetY)}\n >\n <div\n data-tid={DatePickerDataTids.pickerRoot}\n className={styles.calendarWrapper(this.theme)}\n onMouseDown={(e) => e.preventDefault()}\n >\n <Calendar\n maxDate={this.parseValueToDate(maxDate)}\n minDate={this.parseValueToDate(minDate)}\n onValueChange={this.handleValueChange}\n isHoliday={this.props.isHoliday}\n value={this.parseValueToDate(this.props.value)}\n renderDay={this.props.renderDay}\n onMonthChange={this.props.onMonthChange}\n />\n {this.props.enableTodayLink && this.renderTodayLink()}{' '}\n </div>\n </Popup>\n </LocaleContext.Provider>\n );\n }\n }\n return (\n <label\n className={styles.root()}\n style={this.getRootStyle()}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n data-tid={DatePickerDataTids.label}\n >\n <DateInput\n id={this.props.id}\n {...filterProps(props, INPUT_PASS_PROPS)}\n ref={this.getInputRef}\n value={this.props.value || ''}\n width=\"100%\"\n withIcon\n minDate={minDate}\n maxDate={maxDate}\n onBlur={isMobile ? undefined : this.handleBlur}\n onFocus={this.handleFocus}\n onValueChange={this.props.onValueChange}\n onClick={this.openPickerPopup}\n onKeyDown={this.handleKeyDown}\n data-tid={DatePickerDataTids.input}\n />\n {this.state.canUseMobileNativeDatePicker ? (\n <NativeDateInput\n onValueChange={this.props.onValueChange}\n value={this.props.value || ''}\n minDate={minDate}\n maxDate={maxDate}\n disabled={this.props.disabled}\n />\n ) : (\n picker\n )}\n </label>\n );\n };\n\n private parseValueToDate(value?: Nullable<string>): string | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n\n const date = new InternalDate({ value });\n if (date.validate({ checks: [InternalDateValidateCheck.NotNull, InternalDateValidateCheck.Native] })) {\n return date.toString({ withPad: true });\n }\n\n return undefined;\n }\n\n private renderTodayLink() {\n const { order, separator } = this.locale;\n const today = new InternalDate({ order, separator })\n .setComponents(InternalDateGetter.getTodayComponents())\n .toString({ withPad: true, withSeparator: true });\n\n return (\n <div style={{ margin: 8 }}>\n <Button\n aria-label={this.locale.todayAriaLabel}\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n width=\"100%\"\n onClick={() => {\n this.handleSelect(today);\n }}\n icon={<ArrowAUpIcon16Light />}\n >\n {this.locale.today}\n </Button>\n </div>\n );\n }\n\n public getParent = () => {\n return getRootNode(this);\n };\n\n private getRootStyle = () => {\n const { width } = this.props;\n return isNonNullable(width) ? { width } : { minWidth: MIN_WIDTH };\n };\n\n private getInputRef = (ref: DateInput | null) => {\n this.input = ref;\n };\n\n private openPickerPopup = () => {\n this.setState({ opened: true });\n };\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n\n if (!this.canOpenPopup) {\n this.canOpenPopup = true;\n } else {\n this.openPickerPopup();\n }\n\n this.focused = true;\n\n if (this.props.onFocus) {\n this.props.onFocus();\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent) => {\n if (!this.state.opened) {\n this.openPickerPopup();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n return;\n }\n\n this.focused = false;\n this.close();\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleValueChange = (value: string) => {\n this.handleSelect(value);\n this.blur();\n };\n\n private handleSelect = (value: string | null) => {\n if (!value) {\n return null;\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private handleMobileCloseRequest = () => {\n this.close();\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import PropTypes from 'prop-types';
|
|
2
1
|
import type { HTMLAttributes } from 'react';
|
|
3
2
|
import React from 'react';
|
|
4
3
|
import type { Nullable } from '../../typings/utility-types';
|
|
@@ -21,7 +20,10 @@ export interface DatePickerProps extends Pick<CalendarProps, 'isHoliday' | 'minD
|
|
|
21
20
|
menuAlign?: 'left' | 'right';
|
|
22
21
|
/** Задает размер контрола. */
|
|
23
22
|
size?: SizeProp;
|
|
24
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* Строка формата `dd.mm.yyyy`
|
|
25
|
+
* Задает значение автокомплита.
|
|
26
|
+
*/
|
|
25
27
|
value?: string | null;
|
|
26
28
|
/** Переводит контрол в состояние валидации "предупреждение". */
|
|
27
29
|
warning?: boolean;
|
|
@@ -69,37 +71,6 @@ type DefaultProps = Required<Pick<DatePickerProps, 'minDate' | 'maxDate'>>;
|
|
|
69
71
|
export declare class DatePicker extends React.PureComponent<DatePickerProps, DatePickerState> {
|
|
70
72
|
static __KONTUR_REACT_UI__: string;
|
|
71
73
|
static displayName: string;
|
|
72
|
-
static propTypes: {
|
|
73
|
-
autoFocus: PropTypes.Requireable<boolean>;
|
|
74
|
-
disabled: PropTypes.Requireable<boolean>;
|
|
75
|
-
error: PropTypes.Requireable<boolean>;
|
|
76
|
-
/**
|
|
77
|
-
* Максимальная дата в календаре.
|
|
78
|
-
*/
|
|
79
|
-
maxDate: PropTypes.Validator<string>;
|
|
80
|
-
menuPos: PropTypes.Requireable<string>;
|
|
81
|
-
menuAlign: PropTypes.Requireable<string>;
|
|
82
|
-
/**
|
|
83
|
-
* Минимальная дата в календаре.
|
|
84
|
-
*/
|
|
85
|
-
minDate: PropTypes.Validator<string>;
|
|
86
|
-
/**
|
|
87
|
-
* Строка формата `dd.mm.yyyy`
|
|
88
|
-
*/
|
|
89
|
-
value: PropTypes.Requireable<string>;
|
|
90
|
-
warning: PropTypes.Requireable<boolean>;
|
|
91
|
-
width: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
|
|
92
|
-
onBlur: PropTypes.Requireable<(...args: any[]) => any>;
|
|
93
|
-
onValueChange: PropTypes.Validator<(...args: any[]) => any>;
|
|
94
|
-
onFocus: PropTypes.Requireable<(...args: any[]) => any>;
|
|
95
|
-
onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
|
|
96
|
-
onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
|
|
97
|
-
onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
|
|
98
|
-
onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
|
|
99
|
-
isHoliday: PropTypes.Requireable<(...args: any[]) => any>;
|
|
100
|
-
renderDay: PropTypes.Requireable<(...args: any[]) => any>;
|
|
101
|
-
onMonthChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
102
|
-
};
|
|
103
74
|
static defaultProps: DefaultProps;
|
|
104
75
|
private getProps;
|
|
105
76
|
private theme;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
1
2
|
import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
|
|
2
3
|
var _templateObject, _templateObject2;
|
|
3
4
|
import React, { useImperativeHandle, useRef, useState, useLayoutEffect } from 'react';
|
|
@@ -40,8 +41,11 @@ export var DateRangePickerDataTids = {
|
|
|
40
41
|
startOptionalButton: 'DateRangePicker__startOptionalButton',
|
|
41
42
|
endOptionalButton: 'DateRangePicker__endOptionalButton',
|
|
42
43
|
mobileStart: 'DateRangePicker__mobileStart',
|
|
43
|
-
mobileEnd: 'DateRangePicker__mobileEnd'
|
|
44
|
+
mobileEnd: 'DateRangePicker__mobileEnd',
|
|
45
|
+
rangeStart: 'DateRangePicker__rangeStart',
|
|
46
|
+
rangeEnd: 'DateRangePicker__rangeEnd'
|
|
44
47
|
};
|
|
48
|
+
var DayDateAttribute = 'data-date-range-picker-day';
|
|
45
49
|
export var DateRangePicker = Object.assign({
|
|
46
50
|
Start: DateRangePickerStart,
|
|
47
51
|
End: DateRangePickerEnd,
|
|
@@ -259,7 +263,7 @@ export var DateRangePicker = Object.assign({
|
|
|
259
263
|
opened: true,
|
|
260
264
|
headerChildComponent: /*#__PURE__*/
|
|
261
265
|
React.createElement("div", {
|
|
262
|
-
className: cx(styles.
|
|
266
|
+
className: cx(styles.root(theme), styles.inputWrapperWidthFull())
|
|
263
267
|
}, /*#__PURE__*/
|
|
264
268
|
React.createElement(DateInput, {
|
|
265
269
|
withIcon: true,
|
|
@@ -317,7 +321,8 @@ export var DateRangePicker = Object.assign({
|
|
|
317
321
|
className: styles.calendarWrapper(theme),
|
|
318
322
|
onMouseDown: function onMouseDown(e) {
|
|
319
323
|
return e.preventDefault();
|
|
320
|
-
}
|
|
324
|
+
},
|
|
325
|
+
onMouseMove: handleCalendarRangeMouseMove
|
|
321
326
|
}, renderCalendar(theme), renderButtons()))
|
|
322
327
|
);
|
|
323
328
|
};
|
|
@@ -383,28 +388,40 @@ export var DateRangePicker = Object.assign({
|
|
|
383
388
|
React.createElement(ThemeContext.Provider, {
|
|
384
389
|
value: getDateRangePickerTheme(theme)
|
|
385
390
|
}, /*#__PURE__*/
|
|
391
|
+
React.createElement(DateRangePickerContext.Provider, {
|
|
392
|
+
value: dateRangePickerContextProps
|
|
393
|
+
}, /*#__PURE__*/
|
|
386
394
|
React.createElement(CommonWrapper, props, /*#__PURE__*/
|
|
387
395
|
React.createElement("div", {
|
|
388
|
-
className: styles.root(theme),
|
|
396
|
+
className: cx(styles.root(theme), styles.inputWrapperWidth(theme), css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n font-size: ", ";\n "])), getFontSize(theme, props.size))),
|
|
389
397
|
role: "group",
|
|
390
398
|
"aria-describedby": props['aria-describedby'],
|
|
391
399
|
"aria-label": props['aria-label'],
|
|
392
400
|
"aria-labelledby": props['aria-labelledby'],
|
|
393
401
|
"data-tid": DateRangePickerDataTids.root,
|
|
394
|
-
ref: dateRangePickerRef
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
}, /*#__PURE__*/
|
|
400
|
-
React.createElement("div", {
|
|
401
|
-
className: cx(styles.inputWrapper(), styles.inputWrapperWidth(theme), css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n font-size: ", ";\n "])), getFontSize(theme, props.size)))
|
|
402
|
-
}, props.children), props.useMobileNativeDatePicker && isMobile ? renderMobileNativeDateInput() : isCalendarOpen && (isMobile ? renderMobileCalendar(theme) : renderDesktopCalendar(theme))))))
|
|
402
|
+
ref: dateRangePickerRef,
|
|
403
|
+
style: {
|
|
404
|
+
width: props.width
|
|
405
|
+
}
|
|
406
|
+
}, props.children, props.useMobileNativeDatePicker && isMobile ? renderMobileNativeDateInput() : isCalendarOpen && (isMobile ? renderMobileCalendar(theme) : renderDesktopCalendar(theme))))))
|
|
403
407
|
);
|
|
404
408
|
})
|
|
405
409
|
);
|
|
410
|
+
|
|
411
|
+
// Use parent mousemove event instead each CalendarDay's mouseenter / mouseover
|
|
412
|
+
function handleCalendarRangeMouseMove(e) {
|
|
413
|
+
if (!startValue && !endValue) {
|
|
414
|
+
return;
|
|
415
|
+
}
|
|
416
|
+
var hoveredElement = e.target;
|
|
417
|
+
if (!hoveredElement.hasAttribute(DayDateAttribute) && hoveredDay === null) {
|
|
418
|
+
return;
|
|
419
|
+
}
|
|
420
|
+
var date = String(hoveredElement == null ? void 0 : hoveredElement.getAttribute(DayDateAttribute)) || null;
|
|
421
|
+
setHoveredDay(date);
|
|
422
|
+
}
|
|
406
423
|
function renderCalendarRange(props, t, renderDayFn) {
|
|
407
|
-
var _cx4;
|
|
424
|
+
var _extends2, _cx4;
|
|
408
425
|
var day = props.date;
|
|
409
426
|
var isDayFirst = startValue === day;
|
|
410
427
|
var isDayLast = endValue === day;
|
|
@@ -439,16 +456,18 @@ export var DateRangePicker = Object.assign({
|
|
|
439
456
|
hasRightRoundings = true;
|
|
440
457
|
}
|
|
441
458
|
}
|
|
459
|
+
var renderDayProps = _extends({}, props, (_extends2 = {}, _extends2[DayDateAttribute] = props.date, _extends2));
|
|
460
|
+
var dataTid = null;
|
|
461
|
+
if (isDayFirst) {
|
|
462
|
+
dataTid = DateRangePickerDataTids.rangeStart;
|
|
463
|
+
} else if (isDayLast) {
|
|
464
|
+
dataTid = DateRangePickerDataTids.rangeEnd;
|
|
465
|
+
}
|
|
442
466
|
return /*#__PURE__*/(
|
|
443
467
|
React.createElement("div", {
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
onMouseOut: function onMouseOut() {
|
|
448
|
-
return setHoveredDay(null);
|
|
449
|
-
},
|
|
450
|
-
className: cx(styles.rangeCalendarDay(), css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n background: ", ";\n border-top-left-radius: ", ";\n border-bottom-left-radius: ", ";\n border-top-right-radius: ", ";\n border-bottom-right-radius: ", ";\n "])), isDayInPeriod && t.rangeCalendarCellBg, hasLeftRoundings && t.calendarCellBorderRadius, hasLeftRoundings && t.calendarCellBorderRadius, hasRightRoundings && t.calendarCellBorderRadius, hasRightRoundings && t.calendarCellBorderRadius), (_cx4 = {}, _cx4[styles.rangeCalendarDayEnd(t)] = isDayFirst || isDayLast, _cx4[styles.rangeCalendarDayHoverInPeriod(t)] = isDayInPeriod, _cx4[styles.rangeCalendarDayInHoveredPeriod(t)] = isDayInHoveredPeriod, _cx4))
|
|
451
|
-
}, renderDayFn ? renderDayFn(props) : /*#__PURE__*/React.createElement(CalendarDay, props))
|
|
468
|
+
className: cx(styles.rangeCalendarDay(), css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n background: ", ";\n border-top-left-radius: ", ";\n border-bottom-left-radius: ", ";\n border-top-right-radius: ", ";\n border-bottom-right-radius: ", ";\n "])), isDayInPeriod && t.rangeCalendarCellBg, hasLeftRoundings && t.calendarCellBorderRadius, hasLeftRoundings && t.calendarCellBorderRadius, hasRightRoundings && t.calendarCellBorderRadius, hasRightRoundings && t.calendarCellBorderRadius), (_cx4 = {}, _cx4[styles.rangeCalendarDayEnd(t)] = isDayFirst || isDayLast, _cx4[styles.rangeCalendarDayHoverInPeriod(t)] = isDayInPeriod, _cx4[styles.rangeCalendarDayInHoveredPeriod(t)] = isDayInHoveredPeriod, _cx4)),
|
|
469
|
+
"data-tid": dataTid
|
|
470
|
+
}, renderDayFn ? renderDayFn(renderDayProps) : /*#__PURE__*/React.createElement(CalendarDay, renderDayProps))
|
|
452
471
|
);
|
|
453
472
|
}
|
|
454
473
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useImperativeHandle","useRef","useState","useLayoutEffect","MobilePopup","useLocaleForControl","css","cx","ThemeContext","CommonWrapper","Calendar","CalendarDay","Popup","DateInput","isBetween","isGreater","isGreaterOrEqual","isLess","isLessOrEqual","ZIndex","getRootNode","getMenuPositions","Button","useResponsiveLayout","InternalDate","InternalDateGetter","ArrowAUpIcon16Light","NativeDateInput","forwardRefAndName","LocaleContext","isIOS","getFontSize","styles","DateRangePickerSeparator","DateRangePickerContext","DateRangePickerEnd","DateRangePickerStart","getDateRangePickerTheme","getMobileDateRangePickerTheme","DateRangePickerLocaleHelper","validateDateRangePicker","getStateForValue","DateRangePickerDataTids","root","start","end","popup","calendar","todayButton","startOptionalButton","endOptionalButton","mobileStart","mobileEnd","DateRangePicker","Object","assign","Start","End","Separator","validate","props","ref","_useResponsiveLayout","isMobile","locale","_useState","startValue","setStartValue","_useState2","startOptional","setStartOptional","_useState3","startDisabled","setStartDisabled","_useState4","endValue","setEndValue","_useState5","endOptional","setEndOptional","_useState6","endDisabled","setEndDisabled","_useState7","minDate","setMinDate","_useState8","maxDate","setMaxDate","_useState9","hoveredDay","setHoveredDay","_useState10","showCalendar","setShowCalendar","_useState11","focusInput","setFocusInput","dateRangePickerRef","calendarRef","startRef","endRef","mobileStartRef","mobileEndRef","mobileNativeStartRef","mobileNativeEndRef","isCalendarOpen","updateDateRangeValues","value","currentValues","currentStart","currentEnd","updatedState","isOpen","focus","close","open","inputType","setEmpty","type","_calendarRef$current","scrollToMonth","current","setTimeout","_currentFieldRef$curr4","isStart","currentFieldRef","useMobileNativeDatePicker","_currentFieldRef$curr","_currentFieldRef$curr2","click","_currentFieldRef$curr3","dateRangePickerContextProps","size","renderCalendar","theme","widthAuto","_cx","createElement","Provider","months","dayCellChooseDateAriaLabel","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel","renderDay","dayProps","renderCalendarRange","onValueChange","onMonthChange","className","calendarWidthAuto","renderMobileCalendar","_cx2","_cx3","opened","headerChildComponent","inputWrapper","inputWrapperWidthFull","withIcon","width","inputVisuallyFocus","disabled","onFocus","onCloseRequest","footerChildComponent","renderButtons","renderDesktopCalendar","hasShadow","priority","priorities","PopupMenu","positions","menuPos","menuAlign","anchorElement","margin","parseInt","datePickerMenuOffsetY","calendarWrapper","onMouseDown","e","preventDefault","today","setComponents","getTodayComponents","toString","withPad","withSeparator","hasOptionalButtons","buttonWrap","Fragment","onClick","startDateEmpty","endDateEmpty","enableTodayLink","icon","todayAriaLabel","renderMobileNativeDateInput","Consumer","role","inputWrapperWidth","_templateObject","_taggedTemplateLiteralLoose","children","t","renderDayFn","_cx4","day","date","isDayFirst","isDayLast","isDayInPeriod","Boolean","hasHoveredDay","isDayInHoveredPeriod","hasLeftRoundings","hasRightRoundings","isDayBeforeFirstInPeriod","isDayAfterLastInPeriod","isDayHovered","onMouseOver","onMouseOut","rangeCalendarDay","_templateObject2","rangeCalendarCellBg","calendarCellBorderRadius","rangeCalendarDayEnd","rangeCalendarDayHoverInPeriod","rangeCalendarDayInHoveredPeriod"],"sources":["DateRangePicker.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState, useLayoutEffect, type AriaAttributes } from 'react';\n\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { useLocaleForControl } from '../../lib/locale/useLocaleForControl';\nimport { css, cx } from '../../lib/theming/Emotion';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { CalendarDayProps } from '../Calendar';\nimport { Calendar, CalendarDay } from '../Calendar';\nimport { Popup } from '../../internal/Popup';\nimport { DateInput } from '../DateInput';\nimport { isBetween, isGreater, isGreaterOrEqual, isLess, isLessOrEqual } from '../../lib/date/comparison';\nimport type { DatePickerProps } from '../DatePicker';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { getRootNode } from '../../lib/rootNode';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { Button } from '../Button';\nimport { useResponsiveLayout } from '../ResponsiveLayout';\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { InternalDateGetter } from '../../lib/date/InternalDateGetter';\nimport { ArrowAUpIcon16Light } from '../../internal/icons2022/ArrowAUpIcon/ArrowAUp16Light';\nimport { NativeDateInput } from '../../internal/NativeDateInput';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { LocaleContext } from '../../lib/locale';\nimport { isIOS } from '../../lib/client';\n\nimport { getFontSize, styles } from './DateRangePicker.styles';\nimport { DateRangePickerSeparator } from './DateRangePickerSeparator';\nimport type { DateRangePickerContextProps } from './DateRangePickerContext';\nimport { DateRangePickerContext } from './DateRangePickerContext';\nimport type { DateRangePickerInputType } from './DateRangePickerInput';\nimport { DateRangePickerEnd, DateRangePickerStart } from './DateRangePickerInput';\nimport { getDateRangePickerTheme, getMobileDateRangePickerTheme } from './DateRangePickerTheme';\nimport { DateRangePickerLocaleHelper } from './locale';\nimport { validateDateRangePicker } from './helpers/validateDateRangePicker';\nimport { getStateForValue } from './helpers/getStateForValue';\n\nexport const DateRangePickerDataTids = {\n root: 'DateRangePicker__root',\n start: 'DateRangePicker__start',\n end: 'DateRangePicker__end',\n popup: 'DateRangePicker__popup',\n calendar: 'DateRangePicker__calendar',\n todayButton: 'DateRangePicker__todayButton',\n startOptionalButton: 'DateRangePicker__startOptionalButton',\n endOptionalButton: 'DateRangePicker__endOptionalButton',\n mobileStart: 'DateRangePicker__mobileStart',\n mobileEnd: 'DateRangePicker__mobileEnd',\n} as const;\n\nexport interface DateRangePickerProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label' | 'aria-labelledby'>,\n Pick<\n DatePickerProps,\n 'size' | 'renderDay' | 'menuPos' | 'menuAlign' | 'useMobileNativeDatePicker' | 'enableTodayLink' | 'onMonthChange'\n > {\n /**\n * Элементы DateRangePicker:\n * `<DateRangePicker.Start />`\n * `<DateRangePicker.Separator />`\n * `<DateRangePicker.End />`\n */\n children: React.ReactNode;\n}\n\nexport const DateRangePicker = Object.assign(\n {\n Start: DateRangePickerStart,\n End: DateRangePickerEnd,\n Separator: DateRangePickerSeparator,\n validate: validateDateRangePicker,\n },\n forwardRefAndName('DateRangePicker', (props: DateRangePickerProps, ref) => {\n const { isMobile } = useResponsiveLayout();\n const locale = useLocaleForControl('DateRangePicker', DateRangePickerLocaleHelper);\n\n const [startValue, setStartValue] = useState<string>();\n const [startOptional, setStartOptional] = useState(false);\n const [startDisabled, setStartDisabled] = useState(false);\n\n const [endValue, setEndValue] = useState<string>();\n const [endOptional, setEndOptional] = useState(false);\n const [endDisabled, setEndDisabled] = useState(false);\n\n const [minDate, setMinDate] = useState('');\n const [maxDate, setMaxDate] = useState('');\n\n const [hoveredDay, setHoveredDay] = useState<string | null>(null);\n const [showCalendar, setShowCalendar] = useState<boolean>(false);\n const [focusInput, setFocusInput] = useState<DateRangePickerInputType | null>(null);\n\n const dateRangePickerRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<Calendar>(null);\n const startRef = useRef<DateInput>(null);\n const endRef = useRef<DateInput>(null);\n const mobileStartRef = useRef<DateInput>(null);\n const mobileEndRef = useRef<DateInput>(null);\n const mobileNativeStartRef = useRef<NativeDateInput>(null);\n const mobileNativeEndRef = useRef<NativeDateInput>(null);\n const isCalendarOpen = !startDisabled && !endDisabled && showCalendar;\n\n const updateDateRangeValues = (value = '') => {\n const currentValues = {\n currentStart: startValue,\n currentEnd: endValue,\n minDate,\n maxDate,\n };\n const updatedState = getStateForValue(focusInput, value, currentValues);\n\n setStartValue(updatedState.start);\n setEndValue(updatedState.end);\n\n if (updatedState.isOpen && updatedState.focus) {\n focus(updatedState.focus);\n }\n\n if (!updatedState.isOpen) {\n close();\n }\n };\n\n const open = (inputType: DateRangePickerInputType = 'start') => {\n setFocusInput(inputType);\n setShowCalendar(true);\n };\n\n const close = () => {\n setShowCalendar(false);\n setHoveredDay(null);\n };\n\n const focus = (inputType: DateRangePickerInputType = 'start') => {\n setFocusInput(inputType);\n };\n\n const setEmpty = (type: DateRangePickerInputType) => {\n switch (type) {\n case 'start':\n setStartValue('');\n focus('end');\n break;\n\n case 'end':\n setEndValue('');\n close();\n break;\n }\n };\n\n useImperativeHandle(\n ref,\n () => ({\n open,\n close,\n scrollToMonth: calendarRef.current?.scrollToMonth,\n getRootNode: () => dateRangePickerRef.current,\n }),\n [],\n );\n\n useLayoutEffect(() => {\n if (!focusInput) {\n return;\n }\n\n // fix DateInput flushSync warning in React 18\n setTimeout(() => {\n const isStart = focusInput === 'start';\n let currentFieldRef;\n\n // Mobile Native Picker\n if (isMobile && props.useMobileNativeDatePicker) {\n currentFieldRef = isStart ? mobileNativeStartRef : mobileNativeEndRef;\n if (isIOS) {\n currentFieldRef.current?.focus();\n } else {\n // Android open native datepicker only via click\n currentFieldRef.current?.click();\n }\n return;\n }\n\n // Mobile\n if (isMobile) {\n currentFieldRef = isStart ? mobileStartRef : mobileEndRef;\n currentFieldRef.current?.focus();\n return;\n }\n\n // Desktop\n currentFieldRef = isStart ? startRef : endRef;\n currentFieldRef.current?.focus();\n });\n }, [focusInput]);\n\n const dateRangePickerContextProps: DateRangePickerContextProps = {\n startValue,\n startOptional,\n startDisabled,\n endValue,\n endOptional,\n endDisabled,\n minDate,\n maxDate,\n size: props.size,\n setStartValue,\n setStartOptional,\n setStartDisabled,\n setEndValue,\n setEndOptional,\n setEndDisabled,\n setMinDate,\n setMaxDate,\n setFocusInput,\n open,\n close,\n dateRangePickerRef,\n startRef,\n endRef,\n };\n\n const renderCalendar = (theme: Theme, widthAuto = false) => (\n <LocaleContext.Provider\n value={{\n locale: {\n Calendar: {\n months: locale.months,\n dayCellChooseDateAriaLabel: locale.dayCellChooseDateAriaLabel,\n selectMonthAriaLabel: locale.selectMonthAriaLabel,\n selectYearAriaLabel: locale.selectYearAriaLabel,\n selectChosenAriaLabel: locale.selectChosenAriaLabel,\n },\n },\n }}\n >\n <Calendar\n value={focusInput === 'start' ? startValue : endValue}\n minDate={minDate}\n maxDate={maxDate}\n renderDay={(dayProps) => renderCalendarRange(dayProps, theme, props.renderDay)}\n onValueChange={(value) => updateDateRangeValues(value)}\n ref={calendarRef}\n onMonthChange={props.onMonthChange}\n className={cx({ [styles.calendarWidthAuto()]: widthAuto })}\n />\n </LocaleContext.Provider>\n );\n\n const renderMobileCalendar = (theme: Theme) => (\n <MobilePopup\n opened\n headerChildComponent={\n <div className={cx(styles.inputWrapper(), styles.inputWrapperWidthFull())}>\n <DateInput\n withIcon\n value={startValue}\n width=\"auto\"\n size=\"medium\"\n className={cx({ [styles.inputVisuallyFocus(theme)]: focusInput === 'start' })}\n disabled={startDisabled}\n onValueChange={setStartValue}\n onFocus={() => setFocusInput('start')}\n ref={mobileStartRef}\n data-tid={DateRangePickerDataTids.mobileStart}\n />\n <DateRangePicker.Separator />\n <DateInput\n withIcon\n value={endValue}\n width=\"auto\"\n size=\"medium\"\n className={cx({ [styles.inputVisuallyFocus(theme)]: focusInput === 'end' })}\n disabled={endDisabled}\n onValueChange={setEndValue}\n onFocus={() => setFocusInput('end')}\n ref={mobileEndRef}\n data-tid={DateRangePickerDataTids.mobileEnd}\n />\n </div>\n }\n onCloseRequest={() => close()}\n footerChildComponent={renderButtons()}\n >\n <ThemeContext.Provider value={getMobileDateRangePickerTheme(theme)}>\n {renderCalendar(theme, true)}\n </ThemeContext.Provider>\n </MobilePopup>\n );\n\n const renderDesktopCalendar = (theme: Theme) => (\n <Popup\n opened\n hasShadow\n priority={ZIndex.priorities.PopupMenu}\n positions={getMenuPositions(props.menuPos, props.menuAlign)}\n data-tid={DateRangePickerDataTids.root}\n anchorElement={getRootNode(dateRangePickerRef.current)}\n margin={parseInt(theme.datePickerMenuOffsetY)}\n >\n <div className={styles.calendarWrapper(theme)} onMouseDown={(e) => e.preventDefault()}>\n {renderCalendar(theme)}\n {renderButtons()}\n </div>\n </Popup>\n );\n\n const renderButtons = () => {\n const today = new InternalDate(locale)\n .setComponents(InternalDateGetter.getTodayComponents())\n .toString({ withPad: true, withSeparator: true });\n\n const hasOptionalButtons = startOptional || endOptional;\n return (\n <div className={cx(styles.buttonWrap())}>\n {hasOptionalButtons && (\n <>\n {focusInput === 'start' && startOptional && (\n <Button\n width=\"100%\"\n data-tid={DateRangePickerDataTids.startOptionalButton}\n onClick={() => setEmpty('start')}\n >\n {locale.startDateEmpty}\n </Button>\n )}\n {focusInput === 'end' && endOptional && (\n <Button\n width=\"100%\"\n data-tid={DateRangePickerDataTids.endOptionalButton}\n onClick={() => setEmpty('end')}\n >\n {locale.endDateEmpty}\n </Button>\n )}\n </>\n )}\n\n {props.enableTodayLink && (\n <Button\n icon={<ArrowAUpIcon16Light />}\n aria-label={locale.todayAriaLabel}\n data-tid={DateRangePickerDataTids.todayButton}\n onClick={() => updateDateRangeValues(today)}\n >\n {!hasOptionalButtons && locale.today}\n </Button>\n )}\n </div>\n );\n };\n\n const renderMobileNativeDateInput = () => (\n <>\n <NativeDateInput\n value={startValue}\n minDate={minDate}\n maxDate={maxDate}\n onValueChange={setStartValue}\n disabled={startDisabled}\n ref={mobileNativeStartRef}\n />\n <NativeDateInput\n value={endValue}\n minDate={minDate}\n maxDate={maxDate}\n onValueChange={setEndValue}\n disabled={endDisabled}\n ref={mobileNativeEndRef}\n />\n </>\n );\n\n return (\n <ThemeContext.Consumer>\n {(theme) => (\n <ThemeContext.Provider value={getDateRangePickerTheme(theme)}>\n <CommonWrapper {...props}>\n <div\n className={styles.root(theme)}\n role=\"group\"\n aria-describedby={props['aria-describedby']}\n aria-label={props['aria-label']}\n aria-labelledby={props['aria-labelledby']}\n data-tid={DateRangePickerDataTids.root}\n ref={dateRangePickerRef}\n >\n <DateRangePickerContext.Provider value={dateRangePickerContextProps}>\n <div\n className={cx(\n styles.inputWrapper(),\n styles.inputWrapperWidth(theme),\n css`\n font-size: ${getFontSize(theme, props.size)};\n `,\n )}\n >\n {props.children}\n </div>\n\n {props.useMobileNativeDatePicker && isMobile\n ? renderMobileNativeDateInput()\n : isCalendarOpen && (isMobile ? renderMobileCalendar(theme) : renderDesktopCalendar(theme))}\n </DateRangePickerContext.Provider>\n </div>\n </CommonWrapper>\n </ThemeContext.Provider>\n )}\n </ThemeContext.Consumer>\n );\n\n function renderCalendarRange(\n props: CalendarDayProps,\n t: Theme,\n renderDayFn: ((props: CalendarDayProps) => React.ReactElement) | undefined,\n ) {\n const day = props.date;\n\n const isDayFirst = startValue === day;\n const isDayLast = endValue === day;\n const isDayInPeriod = Boolean(startValue && endValue && isBetween(day, startValue, endValue));\n\n const hasHoveredDay = hoveredDay !== null;\n const isDayInHoveredPeriod =\n hasHoveredDay &&\n Boolean(\n (focusInput === 'start' && endValue && isBetween(day, hoveredDay, endValue)) ||\n (focusInput === 'end' && startValue && isBetween(day, startValue, hoveredDay)),\n );\n\n let hasLeftRoundings;\n let hasRightRoundings;\n\n if (hasHoveredDay) {\n const isDayBeforeFirstInPeriod = startValue ? isLess(hoveredDay, startValue) : endValue;\n const isDayAfterLastInPeriod = endValue ? isGreater(hoveredDay, endValue) : startValue;\n\n if (isDayFirst && (isGreaterOrEqual(hoveredDay, startValue) || focusInput === 'end')) {\n hasLeftRoundings = true;\n }\n\n if (isDayLast && (isLessOrEqual(hoveredDay, endValue) || focusInput === 'start')) {\n hasRightRoundings = true;\n }\n\n const isDayHovered = hoveredDay === day;\n if (isDayHovered) {\n if (isDayBeforeFirstInPeriod) {\n hasLeftRoundings = true;\n }\n\n if (isDayAfterLastInPeriod) {\n hasRightRoundings = true;\n }\n }\n } else {\n if (isDayFirst) {\n hasLeftRoundings = true;\n }\n\n if (isDayLast) {\n hasRightRoundings = true;\n }\n }\n\n return (\n <div\n onMouseOver={() => setHoveredDay(day)}\n onMouseOut={() => setHoveredDay(null)}\n className={cx(\n styles.rangeCalendarDay(),\n css`\n background: ${isDayInPeriod && t.rangeCalendarCellBg};\n border-top-left-radius: ${hasLeftRoundings && t.calendarCellBorderRadius};\n border-bottom-left-radius: ${hasLeftRoundings && t.calendarCellBorderRadius};\n border-top-right-radius: ${hasRightRoundings && t.calendarCellBorderRadius};\n border-bottom-right-radius: ${hasRightRoundings && t.calendarCellBorderRadius};\n `,\n {\n [styles.rangeCalendarDayEnd(t)]: isDayFirst || isDayLast,\n [styles.rangeCalendarDayHoverInPeriod(t)]: isDayInPeriod,\n [styles.rangeCalendarDayInHoveredPeriod(t)]: isDayInHoveredPeriod,\n },\n )}\n >\n {renderDayFn ? renderDayFn(props) : <CalendarDay {...props} />}\n </div>\n );\n }\n }),\n);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useImperativeHandle","useRef","useState","useLayoutEffect","MobilePopup","useLocaleForControl","css","cx","ThemeContext","CommonWrapper","Calendar","CalendarDay","Popup","DateInput","isBetween","isGreater","isGreaterOrEqual","isLess","isLessOrEqual","ZIndex","getRootNode","getMenuPositions","Button","useResponsiveLayout","InternalDate","InternalDateGetter","ArrowAUpIcon16Light","NativeDateInput","forwardRefAndName","LocaleContext","isIOS","getFontSize","styles","DateRangePickerSeparator","DateRangePickerContext","DateRangePickerEnd","DateRangePickerStart","getDateRangePickerTheme","getMobileDateRangePickerTheme","DateRangePickerLocaleHelper","validateDateRangePicker","getStateForValue","DateRangePickerDataTids","root","start","end","popup","calendar","todayButton","startOptionalButton","endOptionalButton","mobileStart","mobileEnd","rangeStart","rangeEnd","DayDateAttribute","DateRangePicker","Object","assign","Start","End","Separator","validate","props","ref","_useResponsiveLayout","isMobile","locale","_useState","startValue","setStartValue","_useState2","startOptional","setStartOptional","_useState3","startDisabled","setStartDisabled","_useState4","endValue","setEndValue","_useState5","endOptional","setEndOptional","_useState6","endDisabled","setEndDisabled","_useState7","minDate","setMinDate","_useState8","maxDate","setMaxDate","_useState9","hoveredDay","setHoveredDay","_useState10","showCalendar","setShowCalendar","_useState11","focusInput","setFocusInput","dateRangePickerRef","calendarRef","startRef","endRef","mobileStartRef","mobileEndRef","mobileNativeStartRef","mobileNativeEndRef","isCalendarOpen","updateDateRangeValues","value","currentValues","currentStart","currentEnd","updatedState","isOpen","focus","close","open","inputType","setEmpty","type","_calendarRef$current","scrollToMonth","current","setTimeout","_currentFieldRef$curr4","isStart","currentFieldRef","useMobileNativeDatePicker","_currentFieldRef$curr","_currentFieldRef$curr2","click","_currentFieldRef$curr3","dateRangePickerContextProps","size","renderCalendar","theme","widthAuto","_cx","createElement","Provider","months","dayCellChooseDateAriaLabel","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel","renderDay","dayProps","renderCalendarRange","onValueChange","onMonthChange","className","calendarWidthAuto","renderMobileCalendar","_cx2","_cx3","opened","headerChildComponent","inputWrapperWidthFull","withIcon","width","inputVisuallyFocus","disabled","onFocus","onCloseRequest","footerChildComponent","renderButtons","renderDesktopCalendar","hasShadow","priority","priorities","PopupMenu","positions","menuPos","menuAlign","anchorElement","margin","parseInt","datePickerMenuOffsetY","calendarWrapper","onMouseDown","e","preventDefault","onMouseMove","handleCalendarRangeMouseMove","today","setComponents","getTodayComponents","toString","withPad","withSeparator","hasOptionalButtons","buttonWrap","Fragment","onClick","startDateEmpty","endDateEmpty","enableTodayLink","icon","todayAriaLabel","renderMobileNativeDateInput","Consumer","inputWrapperWidth","_templateObject","_taggedTemplateLiteralLoose","role","style","children","hoveredElement","target","hasAttribute","date","String","getAttribute","t","renderDayFn","_extends2","_cx4","day","isDayFirst","isDayLast","isDayInPeriod","Boolean","hasHoveredDay","isDayInHoveredPeriod","hasLeftRoundings","hasRightRoundings","isDayBeforeFirstInPeriod","isDayAfterLastInPeriod","isDayHovered","renderDayProps","_extends","dataTid","rangeCalendarDay","_templateObject2","rangeCalendarCellBg","calendarCellBorderRadius","rangeCalendarDayEnd","rangeCalendarDayHoverInPeriod","rangeCalendarDayInHoveredPeriod"],"sources":["DateRangePicker.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState, useLayoutEffect, type AriaAttributes } from 'react';\n\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { useLocaleForControl } from '../../lib/locale/useLocaleForControl';\nimport { css, cx } from '../../lib/theming/Emotion';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { CalendarDayProps } from '../Calendar';\nimport { Calendar, CalendarDay } from '../Calendar';\nimport { Popup } from '../../internal/Popup';\nimport { DateInput } from '../DateInput';\nimport { isBetween, isGreater, isGreaterOrEqual, isLess, isLessOrEqual } from '../../lib/date/comparison';\nimport type { DatePickerProps } from '../DatePicker';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { getRootNode } from '../../lib/rootNode';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { Button } from '../Button';\nimport { useResponsiveLayout } from '../ResponsiveLayout';\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { InternalDateGetter } from '../../lib/date/InternalDateGetter';\nimport { ArrowAUpIcon16Light } from '../../internal/icons2022/ArrowAUpIcon/ArrowAUp16Light';\nimport { NativeDateInput } from '../../internal/NativeDateInput';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { LocaleContext } from '../../lib/locale';\nimport { isIOS } from '../../lib/client';\n\nimport { getFontSize, styles } from './DateRangePicker.styles';\nimport { DateRangePickerSeparator } from './DateRangePickerSeparator';\nimport type { DateRangePickerContextProps } from './DateRangePickerContext';\nimport { DateRangePickerContext } from './DateRangePickerContext';\nimport type { DateRangePickerInputType } from './DateRangePickerInput';\nimport { DateRangePickerEnd, DateRangePickerStart } from './DateRangePickerInput';\nimport { getDateRangePickerTheme, getMobileDateRangePickerTheme } from './DateRangePickerTheme';\nimport { DateRangePickerLocaleHelper } from './locale';\nimport { validateDateRangePicker } from './helpers/validateDateRangePicker';\nimport { getStateForValue } from './helpers/getStateForValue';\n\nexport const DateRangePickerDataTids = {\n root: 'DateRangePicker__root',\n start: 'DateRangePicker__start',\n end: 'DateRangePicker__end',\n popup: 'DateRangePicker__popup',\n calendar: 'DateRangePicker__calendar',\n todayButton: 'DateRangePicker__todayButton',\n startOptionalButton: 'DateRangePicker__startOptionalButton',\n endOptionalButton: 'DateRangePicker__endOptionalButton',\n mobileStart: 'DateRangePicker__mobileStart',\n mobileEnd: 'DateRangePicker__mobileEnd',\n rangeStart: 'DateRangePicker__rangeStart',\n rangeEnd: 'DateRangePicker__rangeEnd',\n} as const;\n\nconst DayDateAttribute = 'data-date-range-picker-day';\n\nexport interface DateRangePickerProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label' | 'aria-labelledby'>,\n Pick<\n DatePickerProps,\n | 'size'\n | 'width'\n | 'renderDay'\n | 'menuPos'\n | 'menuAlign'\n | 'useMobileNativeDatePicker'\n | 'enableTodayLink'\n | 'onMonthChange'\n > {\n /**\n * Элементы DateRangePicker:\n * `<DateRangePicker.Start />`\n * `<DateRangePicker.Separator />`\n * `<DateRangePicker.End />`\n */\n children: React.ReactNode;\n}\n\nexport const DateRangePicker = Object.assign(\n {\n Start: DateRangePickerStart,\n End: DateRangePickerEnd,\n Separator: DateRangePickerSeparator,\n validate: validateDateRangePicker,\n },\n forwardRefAndName('DateRangePicker', (props: DateRangePickerProps, ref) => {\n const { isMobile } = useResponsiveLayout();\n const locale = useLocaleForControl('DateRangePicker', DateRangePickerLocaleHelper);\n\n const [startValue, setStartValue] = useState<string>();\n const [startOptional, setStartOptional] = useState(false);\n const [startDisabled, setStartDisabled] = useState(false);\n\n const [endValue, setEndValue] = useState<string>();\n const [endOptional, setEndOptional] = useState(false);\n const [endDisabled, setEndDisabled] = useState(false);\n\n const [minDate, setMinDate] = useState('');\n const [maxDate, setMaxDate] = useState('');\n\n const [hoveredDay, setHoveredDay] = useState<string | null>(null);\n const [showCalendar, setShowCalendar] = useState<boolean>(false);\n const [focusInput, setFocusInput] = useState<DateRangePickerInputType | null>(null);\n\n const dateRangePickerRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<Calendar>(null);\n const startRef = useRef<DateInput>(null);\n const endRef = useRef<DateInput>(null);\n const mobileStartRef = useRef<DateInput>(null);\n const mobileEndRef = useRef<DateInput>(null);\n const mobileNativeStartRef = useRef<NativeDateInput>(null);\n const mobileNativeEndRef = useRef<NativeDateInput>(null);\n const isCalendarOpen = !startDisabled && !endDisabled && showCalendar;\n\n const updateDateRangeValues = (value = '') => {\n const currentValues = {\n currentStart: startValue,\n currentEnd: endValue,\n minDate,\n maxDate,\n };\n const updatedState = getStateForValue(focusInput, value, currentValues);\n\n setStartValue(updatedState.start);\n setEndValue(updatedState.end);\n\n if (updatedState.isOpen && updatedState.focus) {\n focus(updatedState.focus);\n }\n\n if (!updatedState.isOpen) {\n close();\n }\n };\n\n const open = (inputType: DateRangePickerInputType = 'start') => {\n setFocusInput(inputType);\n setShowCalendar(true);\n };\n\n const close = () => {\n setShowCalendar(false);\n setHoveredDay(null);\n };\n\n const focus = (inputType: DateRangePickerInputType = 'start') => {\n setFocusInput(inputType);\n };\n\n const setEmpty = (type: DateRangePickerInputType) => {\n switch (type) {\n case 'start':\n setStartValue('');\n focus('end');\n break;\n\n case 'end':\n setEndValue('');\n close();\n break;\n }\n };\n\n useImperativeHandle(\n ref,\n () => ({\n open,\n close,\n scrollToMonth: calendarRef.current?.scrollToMonth,\n getRootNode: () => dateRangePickerRef.current,\n }),\n [],\n );\n\n useLayoutEffect(() => {\n if (!focusInput) {\n return;\n }\n\n // fix DateInput flushSync warning in React 18\n setTimeout(() => {\n const isStart = focusInput === 'start';\n let currentFieldRef;\n\n // Mobile Native Picker\n if (isMobile && props.useMobileNativeDatePicker) {\n currentFieldRef = isStart ? mobileNativeStartRef : mobileNativeEndRef;\n if (isIOS) {\n currentFieldRef.current?.focus();\n } else {\n // Android open native datepicker only via click\n currentFieldRef.current?.click();\n }\n return;\n }\n\n // Mobile\n if (isMobile) {\n currentFieldRef = isStart ? mobileStartRef : mobileEndRef;\n currentFieldRef.current?.focus();\n return;\n }\n\n // Desktop\n currentFieldRef = isStart ? startRef : endRef;\n currentFieldRef.current?.focus();\n });\n }, [focusInput]);\n\n const dateRangePickerContextProps: DateRangePickerContextProps = {\n startValue,\n startOptional,\n startDisabled,\n endValue,\n endOptional,\n endDisabled,\n minDate,\n maxDate,\n size: props.size,\n setStartValue,\n setStartOptional,\n setStartDisabled,\n setEndValue,\n setEndOptional,\n setEndDisabled,\n setMinDate,\n setMaxDate,\n setFocusInput,\n open,\n close,\n dateRangePickerRef,\n startRef,\n endRef,\n };\n\n const renderCalendar = (theme: Theme, widthAuto = false) => (\n <LocaleContext.Provider\n value={{\n locale: {\n Calendar: {\n months: locale.months,\n dayCellChooseDateAriaLabel: locale.dayCellChooseDateAriaLabel,\n selectMonthAriaLabel: locale.selectMonthAriaLabel,\n selectYearAriaLabel: locale.selectYearAriaLabel,\n selectChosenAriaLabel: locale.selectChosenAriaLabel,\n },\n },\n }}\n >\n <Calendar\n value={focusInput === 'start' ? startValue : endValue}\n minDate={minDate}\n maxDate={maxDate}\n renderDay={(dayProps) => renderCalendarRange(dayProps, theme, props.renderDay)}\n onValueChange={(value) => updateDateRangeValues(value)}\n ref={calendarRef}\n onMonthChange={props.onMonthChange}\n className={cx({ [styles.calendarWidthAuto()]: widthAuto })}\n />\n </LocaleContext.Provider>\n );\n\n const renderMobileCalendar = (theme: Theme) => (\n <MobilePopup\n opened\n headerChildComponent={\n <div className={cx(styles.root(theme), styles.inputWrapperWidthFull())}>\n <DateInput\n withIcon\n value={startValue}\n width=\"auto\"\n size=\"medium\"\n className={cx({ [styles.inputVisuallyFocus(theme)]: focusInput === 'start' })}\n disabled={startDisabled}\n onValueChange={setStartValue}\n onFocus={() => setFocusInput('start')}\n ref={mobileStartRef}\n data-tid={DateRangePickerDataTids.mobileStart}\n />\n <DateRangePicker.Separator />\n <DateInput\n withIcon\n value={endValue}\n width=\"auto\"\n size=\"medium\"\n className={cx({ [styles.inputVisuallyFocus(theme)]: focusInput === 'end' })}\n disabled={endDisabled}\n onValueChange={setEndValue}\n onFocus={() => setFocusInput('end')}\n ref={mobileEndRef}\n data-tid={DateRangePickerDataTids.mobileEnd}\n />\n </div>\n }\n onCloseRequest={() => close()}\n footerChildComponent={renderButtons()}\n >\n <ThemeContext.Provider value={getMobileDateRangePickerTheme(theme)}>\n {renderCalendar(theme, true)}\n </ThemeContext.Provider>\n </MobilePopup>\n );\n\n const renderDesktopCalendar = (theme: Theme) => (\n <Popup\n opened\n hasShadow\n priority={ZIndex.priorities.PopupMenu}\n positions={getMenuPositions(props.menuPos, props.menuAlign)}\n data-tid={DateRangePickerDataTids.root}\n anchorElement={getRootNode(dateRangePickerRef.current)}\n margin={parseInt(theme.datePickerMenuOffsetY)}\n >\n <div\n className={styles.calendarWrapper(theme)}\n onMouseDown={(e) => e.preventDefault()}\n onMouseMove={handleCalendarRangeMouseMove}\n >\n {renderCalendar(theme)}\n {renderButtons()}\n </div>\n </Popup>\n );\n\n const renderButtons = () => {\n const today = new InternalDate(locale)\n .setComponents(InternalDateGetter.getTodayComponents())\n .toString({ withPad: true, withSeparator: true });\n\n const hasOptionalButtons = startOptional || endOptional;\n return (\n <div className={cx(styles.buttonWrap())}>\n {hasOptionalButtons && (\n <>\n {focusInput === 'start' && startOptional && (\n <Button\n width=\"100%\"\n data-tid={DateRangePickerDataTids.startOptionalButton}\n onClick={() => setEmpty('start')}\n >\n {locale.startDateEmpty}\n </Button>\n )}\n {focusInput === 'end' && endOptional && (\n <Button\n width=\"100%\"\n data-tid={DateRangePickerDataTids.endOptionalButton}\n onClick={() => setEmpty('end')}\n >\n {locale.endDateEmpty}\n </Button>\n )}\n </>\n )}\n\n {props.enableTodayLink && (\n <Button\n icon={<ArrowAUpIcon16Light />}\n aria-label={locale.todayAriaLabel}\n data-tid={DateRangePickerDataTids.todayButton}\n onClick={() => updateDateRangeValues(today)}\n >\n {!hasOptionalButtons && locale.today}\n </Button>\n )}\n </div>\n );\n };\n\n const renderMobileNativeDateInput = () => (\n <>\n <NativeDateInput\n value={startValue}\n minDate={minDate}\n maxDate={maxDate}\n onValueChange={setStartValue}\n disabled={startDisabled}\n ref={mobileNativeStartRef}\n />\n <NativeDateInput\n value={endValue}\n minDate={minDate}\n maxDate={maxDate}\n onValueChange={setEndValue}\n disabled={endDisabled}\n ref={mobileNativeEndRef}\n />\n </>\n );\n\n return (\n <ThemeContext.Consumer>\n {(theme) => (\n <ThemeContext.Provider value={getDateRangePickerTheme(theme)}>\n <DateRangePickerContext.Provider value={dateRangePickerContextProps}>\n <CommonWrapper {...props}>\n <div\n className={cx(\n styles.root(theme),\n styles.inputWrapperWidth(theme),\n css`\n font-size: ${getFontSize(theme, props.size)};\n `,\n )}\n role=\"group\"\n aria-describedby={props['aria-describedby']}\n aria-label={props['aria-label']}\n aria-labelledby={props['aria-labelledby']}\n data-tid={DateRangePickerDataTids.root}\n ref={dateRangePickerRef}\n style={{ width: props.width }}\n >\n {props.children}\n\n {props.useMobileNativeDatePicker && isMobile\n ? renderMobileNativeDateInput()\n : isCalendarOpen && (isMobile ? renderMobileCalendar(theme) : renderDesktopCalendar(theme))}\n </div>\n </CommonWrapper>\n </DateRangePickerContext.Provider>\n </ThemeContext.Provider>\n )}\n </ThemeContext.Consumer>\n );\n\n // Use parent mousemove event instead each CalendarDay's mouseenter / mouseover\n function handleCalendarRangeMouseMove(e: React.MouseEvent<HTMLDivElement, MouseEvent>) {\n if (!startValue && !endValue) {\n return;\n }\n\n const hoveredElement = e.target as HTMLElement;\n if (!hoveredElement.hasAttribute(DayDateAttribute) && hoveredDay === null) {\n return;\n }\n\n const date = String(hoveredElement?.getAttribute(DayDateAttribute)) || null;\n setHoveredDay(date);\n }\n\n function renderCalendarRange(\n props: CalendarDayProps,\n t: Theme,\n renderDayFn: ((props: CalendarDayProps) => React.ReactElement) | undefined,\n ) {\n const day = props.date;\n\n const isDayFirst = startValue === day;\n const isDayLast = endValue === day;\n const isDayInPeriod = Boolean(startValue && endValue && isBetween(day, startValue, endValue));\n\n const hasHoveredDay = hoveredDay !== null;\n const isDayInHoveredPeriod =\n hasHoveredDay &&\n Boolean(\n (focusInput === 'start' && endValue && isBetween(day, hoveredDay, endValue)) ||\n (focusInput === 'end' && startValue && isBetween(day, startValue, hoveredDay)),\n );\n\n let hasLeftRoundings;\n let hasRightRoundings;\n\n if (hasHoveredDay) {\n const isDayBeforeFirstInPeriod = startValue ? isLess(hoveredDay, startValue) : endValue;\n const isDayAfterLastInPeriod = endValue ? isGreater(hoveredDay, endValue) : startValue;\n\n if (isDayFirst && (isGreaterOrEqual(hoveredDay, startValue) || focusInput === 'end')) {\n hasLeftRoundings = true;\n }\n\n if (isDayLast && (isLessOrEqual(hoveredDay, endValue) || focusInput === 'start')) {\n hasRightRoundings = true;\n }\n\n const isDayHovered = hoveredDay === day;\n if (isDayHovered) {\n if (isDayBeforeFirstInPeriod) {\n hasLeftRoundings = true;\n }\n\n if (isDayAfterLastInPeriod) {\n hasRightRoundings = true;\n }\n }\n } else {\n if (isDayFirst) {\n hasLeftRoundings = true;\n }\n\n if (isDayLast) {\n hasRightRoundings = true;\n }\n }\n\n const renderDayProps = {\n ...props,\n [DayDateAttribute]: props.date,\n };\n\n let dataTid = null;\n if (isDayFirst) {\n dataTid = DateRangePickerDataTids.rangeStart;\n } else if (isDayLast) {\n dataTid = DateRangePickerDataTids.rangeEnd;\n }\n\n return (\n <div\n className={cx(\n styles.rangeCalendarDay(),\n css`\n background: ${isDayInPeriod && t.rangeCalendarCellBg};\n border-top-left-radius: ${hasLeftRoundings && t.calendarCellBorderRadius};\n border-bottom-left-radius: ${hasLeftRoundings && t.calendarCellBorderRadius};\n border-top-right-radius: ${hasRightRoundings && t.calendarCellBorderRadius};\n border-bottom-right-radius: ${hasRightRoundings && t.calendarCellBorderRadius};\n `,\n {\n [styles.rangeCalendarDayEnd(t)]: isDayFirst || isDayLast,\n [styles.rangeCalendarDayHoverInPeriod(t)]: isDayInPeriod,\n [styles.rangeCalendarDayInHoveredPeriod(t)]: isDayInHoveredPeriod,\n },\n )}\n data-tid={dataTid}\n >\n {renderDayFn ? renderDayFn(renderDayProps) : <CalendarDay {...renderDayProps} />}\n </div>\n );\n }\n }),\n);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,8 +14,10 @@ export declare const DateRangePickerDataTids: {
|
|
|
14
14
|
readonly endOptionalButton: "DateRangePicker__endOptionalButton";
|
|
15
15
|
readonly mobileStart: "DateRangePicker__mobileStart";
|
|
16
16
|
readonly mobileEnd: "DateRangePicker__mobileEnd";
|
|
17
|
+
readonly rangeStart: "DateRangePicker__rangeStart";
|
|
18
|
+
readonly rangeEnd: "DateRangePicker__rangeEnd";
|
|
17
19
|
};
|
|
18
|
-
export interface DateRangePickerProps extends CommonProps, Pick<AriaAttributes, 'aria-describedby' | 'aria-label' | 'aria-labelledby'>, Pick<DatePickerProps, 'size' | 'renderDay' | 'menuPos' | 'menuAlign' | 'useMobileNativeDatePicker' | 'enableTodayLink' | 'onMonthChange'> {
|
|
20
|
+
export interface DateRangePickerProps extends CommonProps, Pick<AriaAttributes, 'aria-describedby' | 'aria-label' | 'aria-labelledby'>, Pick<DatePickerProps, 'size' | 'width' | 'renderDay' | 'menuPos' | 'menuAlign' | 'useMobileNativeDatePicker' | 'enableTodayLink' | 'onMonthChange'> {
|
|
19
21
|
/**
|
|
20
22
|
* Элементы DateRangePicker:
|
|
21
23
|
* `<DateRangePicker.Start />`
|
|
@@ -1,43 +1,40 @@
|
|
|
1
1
|
import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
|
|
2
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11
|
|
2
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
|
|
3
3
|
import { css, memoizeStyle } from "../../../lib/theming/Emotion";
|
|
4
4
|
import { CalendarDataTids } from "../../Calendar";
|
|
5
5
|
export var styles = memoizeStyle({
|
|
6
6
|
root: function root(t) {
|
|
7
|
-
return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n display: inline-
|
|
8
|
-
},
|
|
9
|
-
inputWrapper: function inputWrapper() {
|
|
10
|
-
return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n align-items: center;\n\n & > * {\n flex: 1 1 50%;\n }\n "])));
|
|
7
|
+
return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n align-items: center;\n color: ", ";\n\n & > * {\n flex: 1 1 50%;\n }\n "])), t.textColorDefault);
|
|
11
8
|
},
|
|
12
9
|
inputWrapperWidth: function inputWrapperWidth(t) {
|
|
13
|
-
return css(
|
|
10
|
+
return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n min-width: ", "px;\n "])), parseInt(t.calendarCellWidth) * 7 + parseInt(t.calendarPaddingX) * 2);
|
|
14
11
|
},
|
|
15
12
|
inputWrapperWidthFull: function inputWrapperWidthFull() {
|
|
16
|
-
return css(
|
|
13
|
+
return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n width: 100%;\n "])));
|
|
17
14
|
},
|
|
18
15
|
inputVisuallyFocus: function inputVisuallyFocus(t) {
|
|
19
|
-
return css(
|
|
16
|
+
return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n box-shadow: ", ";\n "])), t.inputFocusShadow);
|
|
20
17
|
},
|
|
21
18
|
calendarWrapper: function calendarWrapper(t) {
|
|
22
|
-
return css(
|
|
19
|
+
return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n box-shadow: ", ";\n display: inline-block;\n font-size: 0;\n z-index: 1000;\n touch-action: none;\n "])), t.pickerShadow);
|
|
23
20
|
},
|
|
24
21
|
calendarWidthAuto: function calendarWidthAuto() {
|
|
25
|
-
return css(
|
|
22
|
+
return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n width: auto;\n "])));
|
|
26
23
|
},
|
|
27
24
|
rangeCalendarDay: function rangeCalendarDay() {
|
|
28
|
-
return css(
|
|
25
|
+
return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n width: 100%;\n height: 100%;\n "])));
|
|
29
26
|
},
|
|
30
27
|
rangeCalendarDayEnd: function rangeCalendarDayEnd(t) {
|
|
31
|
-
return css(
|
|
28
|
+
return css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n position: relative;\n\n &:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: ", ";\n border-radius: ", ";\n }\n\n [data-tid=", "] {\n color: ", ";\n\n @media (hover: hover) {\n &:hover {\n color: ", ";\n background: none;\n }\n }\n }\n "])), t.rangeCalendarCellEndBg, t.calendarCellBorderRadius, CalendarDataTids.dayCell, t.rangeCalendarCellEndColor, t.rangeCalendarCellEndColor);
|
|
32
29
|
},
|
|
33
30
|
rangeCalendarDayInHoveredPeriod: function rangeCalendarDayInHoveredPeriod(t) {
|
|
34
|
-
return css(
|
|
31
|
+
return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n background: ", ";\n "])), t.rangeCalendarCellBg);
|
|
35
32
|
},
|
|
36
33
|
rangeCalendarDayHoverInPeriod: function rangeCalendarDayHoverInPeriod(t) {
|
|
37
|
-
return css(
|
|
34
|
+
return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n @media (hover: hover) {\n &:hover [data-tid=", "] {\n background: ", ";\n }\n }\n "])), CalendarDataTids.dayCell, t.rangeCalendarCellHoverBg);
|
|
38
35
|
},
|
|
39
36
|
buttonWrap: function buttonWrap() {
|
|
40
|
-
return css(
|
|
37
|
+
return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n display: flex;\n margin: 8px;\n\n > * {\n flex-grow: 1;\n }\n\n > *:not(:first-child) {\n margin-left: 8px;\n }\n "])));
|
|
41
38
|
}
|
|
42
39
|
});
|
|
43
40
|
export function getFontSize(t, size) {
|