@skbkontur/react-ui 0.0.0-a25347e958 → 0.0.0-a2ba201dd3
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 +223 -0
- package/cjs/components/Autocomplete/Autocomplete.d.ts +3 -1
- package/cjs/components/Autocomplete/Autocomplete.js +3 -1
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.d.ts +13 -3
- package/cjs/components/Button/Button.js +26 -8
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.md +106 -30
- package/cjs/components/Button/Button.mixins.d.ts +1 -1
- package/cjs/components/Button/Button.mixins.js +3 -1
- package/cjs/components/Button/Button.mixins.js.map +1 -1
- package/cjs/components/Button/Button.styles.d.ts +1 -6
- package/cjs/components/Button/Button.styles.js +40 -54
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Button/ButtonArrow.js +1 -1
- package/cjs/components/Button/ButtonArrow.js.map +1 -1
- package/cjs/components/Button/ButtonIcon.d.ts +7 -5
- package/cjs/components/Button/ButtonIcon.js +37 -18
- package/cjs/components/Button/ButtonIcon.js.map +1 -1
- package/cjs/components/Button/ButtonIcon.styles.d.ts +16 -0
- package/cjs/components/Button/ButtonIcon.styles.js +89 -0
- package/cjs/components/Button/ButtonIcon.styles.js.map +1 -0
- package/cjs/components/Button/LoadingButtonIcon.d.ts +7 -0
- package/cjs/components/Button/LoadingButtonIcon.js +25 -0
- package/cjs/components/Button/LoadingButtonIcon.js.map +1 -0
- package/cjs/components/Button/getInnerLinkTheme.js +1 -0
- package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
- package/cjs/components/Calendar/Calendar.d.ts +1 -0
- package/cjs/components/Calendar/Calendar.js +10 -7
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Calendar/DayCellView.js +8 -5
- package/cjs/components/Calendar/DayCellView.js.map +1 -1
- package/cjs/components/Center/Center.d.ts +1 -0
- package/cjs/components/Center/Center.js +2 -1
- package/cjs/components/Center/Center.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.d.ts +7 -2
- package/cjs/components/Checkbox/Checkbox.js +14 -8
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.d.ts +3 -1
- package/cjs/components/ComboBox/ComboBox.js +3 -1
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.md +4 -5
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +1 -0
- package/cjs/components/CurrencyInput/CurrencyInput.js +5 -2
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +1 -0
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +1 -0
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/DateInput/DateFragmentsView.js +2 -1
- package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
- package/cjs/components/DateInput/DateInput.d.ts +3 -1
- package/cjs/components/DateInput/DateInput.js +5 -2
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/helpers/SelectionHelpers.js +11 -10
- package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +4 -2
- package/cjs/components/DatePicker/DatePicker.js +4 -2
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePicker/Picker.d.ts +1 -0
- package/cjs/components/DatePicker/Picker.js +2 -1
- package/cjs/components/DatePicker/Picker.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +4 -2
- package/cjs/components/Dropdown/Dropdown.js +3 -1
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/Dropdown/getDropdownTheme.js +21 -22
- package/cjs/components/Dropdown/getDropdownTheme.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -0
- package/cjs/components/DropdownMenu/DropdownMenu.js +2 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.d.ts +6 -2
- package/cjs/components/FileUploader/FileUploader.js +11 -6
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.styles.d.ts +1 -1
- package/cjs/components/FileUploader/FileUploader.styles.js +10 -2
- package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
- package/cjs/components/FxInput/FxInput.d.ts +1 -0
- package/cjs/components/FxInput/FxInput.js +3 -1
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/FxInput/FxInputRestoreBtn.js +1 -0
- package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
- package/cjs/components/Gapped/Gapped.d.ts +1 -0
- package/cjs/components/Gapped/Gapped.js +2 -1
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.d.ts +3 -2
- package/cjs/components/GlobalLoader/GlobalLoader.js +12 -14
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
- package/cjs/components/GlobalLoader/GlobalLoaderView.js +3 -5
- package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
- package/cjs/components/Group/Group.d.ts +1 -0
- package/cjs/components/Group/Group.js +3 -1
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Hint/Hint.d.ts +1 -0
- package/cjs/components/Hint/Hint.js +6 -4
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Input/Input.d.ts +29 -7
- package/cjs/components/Input/Input.js +50 -24
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.typings.d.ts +7 -0
- package/cjs/components/Input/Input.typings.js +1 -0
- package/cjs/components/Input/Input.typings.js.map +1 -0
- package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -1
- package/cjs/components/Input/InputLayout/InputLayout.styles.js +7 -2
- package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutAside.js +1 -7
- package/cjs/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -0
- package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
- package/cjs/components/Input/InputLayout/InputLayoutContext.js.map +1 -1
- package/cjs/components/Input/index.d.ts +1 -0
- package/cjs/components/Input/index.js +2 -1
- package/cjs/components/Input/index.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +3 -1
- package/cjs/components/Kebab/Kebab.js +4 -2
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.d.ts +7 -2
- package/cjs/components/Link/Link.js +28 -18
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.md +81 -7
- package/cjs/components/Link/Link.styles.d.ts +4 -1
- package/cjs/components/Link/Link.styles.js +42 -23
- package/cjs/components/Link/Link.styles.js.map +1 -1
- package/cjs/components/Link/LinkIcon.d.ts +6 -0
- package/cjs/components/Link/LinkIcon.js +29 -0
- package/cjs/components/Link/LinkIcon.js.map +1 -0
- package/cjs/components/Loader/Loader.d.ts +1 -0
- package/cjs/components/Loader/Loader.js +10 -8
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MaskedInput/MaskedInput.d.ts +24 -0
- package/cjs/components/MaskedInput/MaskedInput.js +78 -0
- package/cjs/components/MaskedInput/MaskedInput.js.map +1 -0
- package/cjs/components/MaskedInput/MaskedInput.md +21 -0
- package/cjs/components/MaskedInput/index.js.map +1 -0
- package/cjs/components/MenuFooter/MenuFooter.d.ts +7 -2
- package/cjs/components/MenuFooter/MenuFooter.js +5 -0
- package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
- package/cjs/components/MenuHeader/MenuHeader.d.ts +7 -2
- package/cjs/components/MenuHeader/MenuHeader.js +8 -1
- package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +31 -2
- package/cjs/components/MenuItem/MenuItem.js +139 -18
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.md +20 -6
- package/cjs/components/MenuSeparator/MenuSeparator.d.ts +1 -0
- package/cjs/components/MenuSeparator/MenuSeparator.js +2 -1
- package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
- package/cjs/components/MiniModal/MiniModal.d.ts +18 -0
- package/cjs/components/MiniModal/MiniModal.js +45 -0
- package/cjs/components/MiniModal/MiniModal.js.map +1 -0
- package/cjs/components/MiniModal/MiniModal.md +233 -0
- package/cjs/components/MiniModal/MiniModal.styles.d.ts +14 -0
- package/cjs/components/MiniModal/MiniModal.styles.js +87 -0
- package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -0
- package/cjs/components/MiniModal/MiniModalBody.d.ts +7 -0
- package/cjs/components/MiniModal/MiniModalBody.js +24 -0
- package/cjs/components/MiniModal/MiniModalBody.js.map +1 -0
- package/cjs/components/MiniModal/MiniModalFooter.d.ts +18 -0
- package/cjs/components/MiniModal/MiniModalFooter.js +60 -0
- package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -0
- package/cjs/components/MiniModal/MiniModalHeader.d.ts +17 -0
- package/cjs/components/MiniModal/MiniModalHeader.js +47 -0
- package/cjs/components/MiniModal/MiniModalHeader.js.map +1 -0
- package/cjs/components/MiniModal/MiniModalIndent.d.ts +6 -0
- package/cjs/components/MiniModal/MiniModalIndent.js +29 -0
- package/cjs/components/MiniModal/MiniModalIndent.js.map +1 -0
- package/cjs/components/MiniModal/getMiniModalTheme.d.ts +16 -0
- package/cjs/components/MiniModal/getMiniModalTheme.js +24 -0
- package/cjs/components/MiniModal/getMiniModalTheme.js.map +1 -0
- package/cjs/components/MiniModal/index.d.ts +5 -0
- package/cjs/components/MiniModal/index.js +5 -0
- package/cjs/components/MiniModal/index.js.map +1 -0
- package/cjs/components/Modal/Modal.d.ts +7 -0
- package/cjs/components/Modal/Modal.js +16 -1
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +5 -0
- package/cjs/components/Modal/Modal.styles.js +56 -39
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalBody.d.ts +1 -0
- package/cjs/components/Modal/ModalBody.js +2 -1
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Modal/ModalClose.d.ts +4 -0
- package/cjs/components/Modal/ModalClose.js +6 -2
- package/cjs/components/Modal/ModalClose.js.map +1 -1
- package/cjs/components/Modal/ModalFooter.d.ts +1 -0
- package/cjs/components/Modal/ModalFooter.js +1 -0
- package/cjs/components/Modal/ModalFooter.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.d.ts +1 -0
- package/cjs/components/Modal/ModalHeader.js +2 -1
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/Modal/ModalSeparator.d.ts +9 -0
- package/cjs/components/Modal/ModalSeparator.js +9 -1
- package/cjs/components/Modal/ModalSeparator.js.map +1 -1
- package/cjs/components/Modal/getModalTheme.d.ts +2 -2
- package/cjs/components/Modal/getModalTheme.js +6 -2
- package/cjs/components/Modal/getModalTheme.js.map +1 -1
- package/cjs/components/Paging/NavigationHelper.js +2 -1
- package/cjs/components/Paging/NavigationHelper.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +1 -0
- package/cjs/components/Paging/Paging.js +27 -21
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/Paging.styles.d.ts +0 -1
- package/cjs/components/Paging/Paging.styles.js +5 -10
- package/cjs/components/Paging/Paging.styles.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +1 -0
- package/cjs/components/PasswordInput/PasswordInput.js +6 -3
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.d.ts +7 -2
- package/cjs/components/Radio/Radio.js +8 -2
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.d.ts +1 -0
- package/cjs/components/RadioGroup/RadioGroup.js +2 -1
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -0
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +4 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +5 -6
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollBar.d.ts +4 -7
- package/cjs/components/ScrollContainer/ScrollBar.js +15 -45
- package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.constants.js +1 -2
- package/cjs/components/ScrollContainer/ScrollContainer.constants.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +19 -3
- package/cjs/components/ScrollContainer/ScrollContainer.js +103 -21
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.md +29 -2
- package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
- package/cjs/components/ScrollContainer/ScrollContainer.styles.js +8 -30
- package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
- package/cjs/components/Select/Item.d.ts +2 -0
- package/cjs/components/Select/Item.js +4 -2
- package/cjs/components/Select/Item.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +8 -3
- package/cjs/components/Select/Select.js +31 -10
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.md +12 -0
- package/cjs/components/SidePage/SidePage.d.ts +4 -1
- package/cjs/components/SidePage/SidePage.js +41 -5
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePageBody.d.ts +1 -0
- package/cjs/components/SidePage/SidePageBody.js +2 -1
- package/cjs/components/SidePage/SidePageBody.js.map +1 -1
- package/cjs/components/SidePage/SidePageCloseButton.d.ts +5 -1
- package/cjs/components/SidePage/SidePageCloseButton.js +6 -2
- package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
- package/cjs/components/SidePage/SidePageContainer.d.ts +1 -0
- package/cjs/components/SidePage/SidePageContainer.js +2 -1
- package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.d.ts +1 -0
- package/cjs/components/SidePage/SidePageFooter.js +2 -1
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +2 -0
- package/cjs/components/SidePage/SidePageHeader.js +10 -7
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/SingleToast/SingleToast.d.ts +13 -0
- package/cjs/components/SingleToast/SingleToast.js +23 -0
- package/cjs/components/SingleToast/SingleToast.js.map +1 -0
- package/cjs/components/SingleToast/SingleToast.md +35 -0
- package/cjs/components/SingleToast/index.d.ts +1 -0
- package/cjs/components/SingleToast/index.js +1 -0
- package/cjs/components/SingleToast/index.js.map +1 -0
- package/cjs/components/Spinner/Spinner.d.ts +2 -0
- package/cjs/components/Spinner/Spinner.js +17 -1
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Spinner/SpinnerFallbackAnimation.js +6 -2
- package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
- package/cjs/components/Sticky/Sticky.d.ts +1 -0
- package/cjs/components/Sticky/Sticky.js +9 -9
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +9 -4
- package/cjs/components/Switcher/Switcher.js +6 -1
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Tabs/Indicator.js +3 -1
- package/cjs/components/Tabs/Indicator.js.map +1 -1
- package/cjs/components/Tabs/Tab.d.ts +17 -32
- package/cjs/components/Tabs/Tab.js +15 -26
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tab.md +71 -0
- package/cjs/components/Tabs/Tab.styles.js.map +1 -1
- package/cjs/components/Tabs/Tabs.d.ts +14 -18
- package/cjs/components/Tabs/Tabs.js +7 -10
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Tabs/Tabs.md +7 -22
- package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
- package/cjs/components/Tabs/TabsContext.d.ts +3 -2
- package/cjs/components/Tabs/TabsContext.js +1 -0
- package/cjs/components/Tabs/TabsContext.js.map +1 -1
- package/cjs/components/Tabs/helpers.d.ts +5 -5
- package/cjs/components/Tabs/helpers.js +3 -2
- package/cjs/components/Tabs/helpers.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +8 -2
- package/cjs/components/Textarea/Textarea.js +44 -12
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.d.ts +4 -3
- package/cjs/components/Textarea/TextareaCounter.js +3 -1
- package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
- package/cjs/components/Textarea/TextareaHelpers.d.ts +1 -1
- package/cjs/components/Textarea/TextareaHelpers.js +7 -2
- package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
- package/cjs/components/Textarea/TextareaWithSafari17Workaround.d.ts +6 -0
- package/cjs/components/Textarea/TextareaWithSafari17Workaround.js +20 -0
- package/cjs/components/Textarea/TextareaWithSafari17Workaround.js.map +1 -0
- package/cjs/components/Toast/Toast.d.ts +11 -3
- package/cjs/components/Toast/Toast.js +29 -9
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/Toast.md +0 -105
- package/cjs/components/Toast/ToastStatic.js +4 -3
- package/cjs/components/Toast/ToastStatic.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +7 -2
- package/cjs/components/Toggle/Toggle.js +6 -1
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Token/Token.d.ts +1 -0
- package/cjs/components/Token/Token.js +3 -1
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +3 -0
- package/cjs/components/TokenInput/TokenInput.js +43 -9
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.md +71 -0
- package/cjs/components/TokenInput/TokenInputMenu.d.ts +1 -0
- package/cjs/components/TokenInput/TokenInputMenu.js +2 -1
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +7 -1
- package/cjs/components/Tooltip/Tooltip.js +16 -5
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.md +24 -0
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -0
- package/cjs/components/TooltipMenu/TooltipMenu.js +3 -1
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/hooks/useDrop.js +3 -2
- package/cjs/hooks/useDrop.js.map +1 -1
- package/cjs/index.d.ts +4 -0
- package/cjs/index.js +4 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js +6 -2
- package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
- package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +5 -26
- package/cjs/internal/CommonWrapper/CommonWrapper.js +7 -56
- package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/cjs/internal/CommonWrapper/extractCommonProps.d.ts +3 -0
- package/cjs/internal/CommonWrapper/extractCommonProps.js +34 -0
- package/cjs/internal/CommonWrapper/extractCommonProps.js.map +1 -0
- package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.d.ts +2 -0
- package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.js +12 -0
- package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.js.map +1 -0
- package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.d.ts +3 -0
- package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.js +23 -0
- package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.js.map +1 -0
- package/cjs/internal/CommonWrapper/index.d.ts +2 -0
- package/cjs/internal/CommonWrapper/index.js.map +1 -1
- package/cjs/internal/CommonWrapper/types.d.ts +25 -0
- package/cjs/internal/CommonWrapper/types.js +1 -0
- package/cjs/internal/CommonWrapper/types.js.map +1 -0
- package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +3 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js +3 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +7 -9
- package/cjs/internal/CustomComboBox/ComboBoxView.js +17 -34
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +6 -2
- package/cjs/internal/CustomComboBox/CustomComboBox.js +36 -9
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +1 -0
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +33 -3
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.d.ts +1 -0
- package/cjs/internal/DateSelect/DateSelect.js +22 -17
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +1 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.js +16 -14
- package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
- package/cjs/internal/DropdownContainer/getManualPosition.js +6 -4
- package/cjs/internal/DropdownContainer/getManualPosition.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -3
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +4 -3
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -2
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +2 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
- package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.js.map +1 -1
- package/cjs/internal/FocusTrap/FocusTrap.d.ts +1 -0
- package/cjs/internal/FocusTrap/FocusTrap.js +10 -6
- package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -0
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +20 -20
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +4 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -0
- package/cjs/internal/InputLikeText/InputLikeText.js +18 -16
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/{MaskedInput/MaskedInput.d.ts → InternalMaskedInput/InternalMaskedInput.d.ts} +9 -5
- package/cjs/internal/{MaskedInput/MaskedInput.js → InternalMaskedInput/InternalMaskedInput.js} +12 -8
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +1 -0
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.js.map +1 -0
- package/cjs/internal/InternalMaskedInput/index.d.ts +1 -0
- package/cjs/internal/InternalMaskedInput/index.js +1 -0
- package/cjs/internal/InternalMaskedInput/index.js.map +1 -0
- package/cjs/internal/InternalMenu/InternalMenu.d.ts +1 -0
- package/cjs/internal/InternalMenu/InternalMenu.js +9 -7
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/MaskedInputElement/MaskedInputElement.d.ts +14 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.d.ts +16 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.js +52 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.js.map +1 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.js +196 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.js.map +1 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js +29 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js.map +1 -0
- package/cjs/internal/MaskedInputElement/index.d.ts +1 -0
- package/cjs/internal/MaskedInputElement/index.js +1 -0
- package/cjs/internal/MaskedInputElement/index.js.map +1 -0
- package/cjs/internal/Menu/Menu.d.ts +7 -0
- package/cjs/internal/Menu/Menu.js +85 -16
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/Menu/MenuContext.d.ts +10 -0
- package/cjs/internal/Menu/MenuContext.js +16 -0
- package/cjs/internal/Menu/MenuContext.js.map +1 -0
- package/cjs/internal/Menu/MenuNavigation.d.ts +26 -0
- package/cjs/internal/Menu/MenuNavigation.js +107 -0
- package/cjs/internal/Menu/MenuNavigation.js.map +1 -0
- package/cjs/internal/Menu/isActiveElement.js +1 -1
- package/cjs/internal/Menu/isActiveElement.js.map +1 -1
- package/cjs/internal/MenuMessage/MenuMessage.d.ts +3 -3
- package/cjs/internal/MenuMessage/MenuMessage.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.d.ts +1 -0
- package/cjs/internal/MobilePopup/MobilePopup.js +2 -1
- package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +1 -0
- package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +2 -1
- package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
- package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +1 -0
- package/cjs/internal/NativeDateInput/NativeDateInput.js +3 -1
- package/cjs/internal/NativeDateInput/NativeDateInput.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +1 -0
- package/cjs/internal/Popup/Popup.js +14 -9
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/PopupHelper.js +9 -7
- package/cjs/internal/Popup/PopupHelper.js.map +1 -1
- package/cjs/internal/Popup/PopupPin.d.ts +1 -0
- package/cjs/internal/Popup/PopupPin.js +2 -1
- package/cjs/internal/Popup/PopupPin.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +1 -0
- package/cjs/internal/PopupMenu/PopupMenu.js +5 -3
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.d.ts +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.js +19 -22
- package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +3 -0
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +9 -3
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.d.ts +1 -0
- package/cjs/internal/RenderLayer/RenderLayer.js +6 -3
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
- package/cjs/internal/ResizeDetector/ResizeDetector.js +2 -1
- package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
- package/cjs/internal/ThemePlayground/SizesGroup.d.ts +2 -1
- package/cjs/internal/ThemePlayground/SizesGroup.js +1 -0
- package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
- package/cjs/internal/ThemePlayground/VariableValue.js +1 -0
- package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
- package/cjs/internal/ThemePlayground/constants.js +1 -0
- package/cjs/internal/ThemePlayground/constants.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.js +6 -4
- package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
- package/cjs/internal/ZIndex/ZIndex.d.ts +1 -0
- package/cjs/internal/ZIndex/ZIndex.js +3 -2
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/ZIndex/ZIndexStorage.js +2 -2
- package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
- package/cjs/internal/icons/16px/index.d.ts +19 -19
- package/cjs/internal/icons/20px/Icon.d.ts +1 -0
- package/cjs/internal/icons/20px/Icon.js +2 -1
- package/cjs/internal/icons/20px/Icon.js.map +1 -1
- package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/BaseIcon.d.ts +1 -1
- package/cjs/internal/icons2022/BaseIcon.js +3 -7
- package/cjs/internal/icons2022/BaseIcon.js.map +1 -1
- package/cjs/internal/icons2022/BaseIcon.styles.d.ts +3 -0
- package/cjs/internal/icons2022/BaseIcon.styles.js +14 -0
- package/cjs/internal/icons2022/BaseIcon.styles.js.map +1 -0
- package/cjs/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
- package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js +20 -0
- package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js.map +1 -0
- package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
- package/cjs/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
- package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
- package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
- package/cjs/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +70 -2
- package/cjs/internal/themes/DefaultTheme.js +135 -7
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/internal/themes/Theme2022.d.ts +18 -2
- package/cjs/internal/themes/Theme2022.js +41 -5
- package/cjs/internal/themes/Theme2022.js.map +1 -1
- package/cjs/internal/themes/Theme2022Dark.d.ts +4 -4
- package/cjs/internal/themes/Theme2022Dark.js +9 -5
- package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
- package/cjs/lib/LayoutEvents.js +5 -4
- package/cjs/lib/LayoutEvents.js.map +1 -1
- package/cjs/lib/ModalStack.js +2 -3
- package/cjs/lib/ModalStack.js.map +1 -1
- package/cjs/lib/SSRSafe.d.ts +1 -6
- package/cjs/lib/SSRSafe.js +4 -48
- package/cjs/lib/SSRSafe.js.map +1 -1
- package/cjs/lib/Upgrades.d.ts +1 -0
- package/cjs/lib/Upgrades.js +3 -1
- package/cjs/lib/Upgrades.js.map +1 -1
- package/cjs/lib/animation/index.js +6 -4
- package/cjs/lib/animation/index.js.map +1 -1
- package/cjs/lib/chars.d.ts +1 -1
- package/cjs/lib/chars.js +2 -2
- package/cjs/lib/chars.js.map +1 -1
- package/cjs/lib/client.d.ts +2 -7
- package/cjs/lib/client.js +9 -7
- package/cjs/lib/client.js.map +1 -1
- package/cjs/lib/dom/getScrollWidth.js +4 -4
- package/cjs/lib/dom/getScrollWidth.js.map +1 -1
- package/cjs/lib/dom/tabbableHelpers.d.ts +2 -1
- package/cjs/lib/dom/tabbableHelpers.js +8 -2
- package/cjs/lib/dom/tabbableHelpers.js.map +1 -1
- package/cjs/lib/events/MouseDrag.js +11 -11
- package/cjs/lib/events/MouseDrag.js.map +1 -1
- package/cjs/lib/events/fixClickFocusIE.js +6 -3
- package/cjs/lib/events/fixClickFocusIE.js.map +1 -1
- package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +5 -2
- package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
- package/cjs/lib/events/keyListener.js +9 -11
- package/cjs/lib/events/keyListener.js.map +1 -1
- package/cjs/lib/events/keyboard/identifiers.js +5 -2
- package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
- package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +223 -0
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +9 -0
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js +5 -0
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js.map +1 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +11 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +24 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
- package/cjs/lib/featureFlagsContext/index.d.ts +2 -0
- package/cjs/lib/featureFlagsContext/index.js +3 -0
- package/cjs/lib/featureFlagsContext/index.js.map +1 -0
- package/cjs/lib/forwardRefAndName.d.ts +1 -1
- package/cjs/lib/forwardRefAndName.js +4 -1
- package/cjs/lib/forwardRefAndName.js.map +1 -1
- package/cjs/lib/isInstanceOf.d.ts +1 -0
- package/cjs/lib/isInstanceOf.js +6 -0
- package/cjs/lib/isInstanceOf.js.map +1 -0
- package/cjs/lib/listenFocusOutside.js +15 -15
- package/cjs/lib/listenFocusOutside.js.map +1 -1
- package/cjs/lib/locale/LocaleContext.js +2 -1
- package/cjs/lib/locale/LocaleContext.js.map +1 -1
- package/cjs/lib/needsPolyfillPlaceholder.js +5 -3
- package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -1
- package/cjs/lib/net/fetch.js +24 -18
- package/cjs/lib/net/fetch.js.map +1 -1
- package/cjs/lib/rootNode/getRootNode.js +6 -6
- package/cjs/lib/rootNode/getRootNode.js.map +1 -1
- package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -0
- package/cjs/lib/rootNode/rootNodeDecorator.js +4 -1
- package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
- package/cjs/lib/styles/ColorFactory.js +13 -11
- package/cjs/lib/styles/ColorFactory.js.map +1 -1
- package/cjs/lib/styles/ColorHelpers.d.ts +1 -1
- package/cjs/lib/styles/ColorHelpers.js +3 -7
- package/cjs/lib/styles/ColorHelpers.js.map +1 -1
- package/cjs/lib/taskWithDelayAndMinimalDuration.js +5 -5
- package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/cjs/lib/theming/Emotion.js +4 -2
- package/cjs/lib/theming/Emotion.js.map +1 -1
- package/cjs/lib/theming/ThemeContext.js +2 -1
- package/cjs/lib/theming/ThemeContext.js.map +1 -1
- package/cjs/lib/toKebabCase.d.ts +1 -0
- package/cjs/lib/toKebabCase.js +10 -0
- package/cjs/lib/toKebabCase.js.map +1 -0
- package/cjs/lib/types/props.d.ts +1 -0
- package/cjs/lib/types/props.js +1 -0
- package/cjs/lib/types/props.js.map +1 -0
- package/cjs/lib/utils.d.ts +7 -0
- package/cjs/lib/utils.js +29 -7
- package/cjs/lib/utils.js.map +1 -1
- package/cjs/typings/global-react.d.ts +12 -0
- package/cjs/typings/global.d.ts +3 -4
- package/components/Autocomplete/Autocomplete/Autocomplete.js +1 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +3 -1
- package/components/Button/Button/Button.js +46 -33
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +13 -3
- package/components/Button/Button.md +106 -30
- package/components/Button/Button.mixins/Button.mixins.js +2 -2
- package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
- package/components/Button/Button.mixins.d.ts +1 -1
- package/components/Button/Button.styles/Button.styles.js +24 -41
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Button/Button.styles.d.ts +1 -6
- package/components/Button/ButtonArrow/ButtonArrow.js +1 -1
- package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
- package/components/Button/ButtonIcon/ButtonIcon.js +30 -19
- package/components/Button/ButtonIcon/ButtonIcon.js.map +1 -1
- package/components/Button/ButtonIcon.d.ts +7 -5
- package/components/Button/ButtonIcon.styles/ButtonIcon.styles.js +49 -0
- package/components/Button/ButtonIcon.styles/ButtonIcon.styles.js.map +1 -0
- package/components/Button/ButtonIcon.styles/package.json +6 -0
- package/components/Button/ButtonIcon.styles.d.ts +16 -0
- package/components/Button/LoadingButtonIcon/LoadingButtonIcon.js +23 -0
- package/components/Button/LoadingButtonIcon/LoadingButtonIcon.js.map +1 -0
- package/components/Button/LoadingButtonIcon/package.json +6 -0
- package/components/Button/LoadingButtonIcon.d.ts +7 -0
- package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +1 -0
- package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
- package/components/Calendar/Calendar/Calendar.js +9 -7
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/Calendar.d.ts +1 -0
- package/components/Calendar/DayCellView/DayCellView.js +9 -3
- package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
- package/components/Center/Center/Center.js +1 -1
- package/components/Center/Center/Center.js.map +1 -1
- package/components/Center/Center.d.ts +1 -0
- package/components/Checkbox/Checkbox/Checkbox.js +15 -6
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +7 -2
- package/components/ComboBox/ComboBox/ComboBox.js +1 -1
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +3 -1
- package/components/ComboBox/ComboBox.md +4 -5
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +4 -2
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +1 -0
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +1 -0
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel.d.ts +1 -0
- package/components/DateInput/DateFragmentsView/DateFragmentsView.js +4 -1
- package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
- package/components/DateInput/DateInput/DateInput.js +3 -2
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +3 -1
- package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +10 -10
- package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +2 -2
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +4 -2
- package/components/DatePicker/Picker/Picker.js +1 -1
- package/components/DatePicker/Picker/Picker.js.map +1 -1
- package/components/DatePicker/Picker.d.ts +1 -0
- package/components/Dropdown/Dropdown/Dropdown.js +1 -1
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +4 -2
- package/components/Dropdown/getDropdownTheme/getDropdownTheme.js +21 -22
- package/components/Dropdown/getDropdownTheme/getDropdownTheme.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -1
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +1 -0
- package/components/FileUploader/FileUploader/FileUploader.js +11 -6
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.d.ts +6 -2
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +2 -2
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
- package/components/FileUploader/FileUploader.styles.d.ts +1 -1
- package/components/FxInput/FxInput/FxInput.js +1 -1
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +1 -0
- package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
- package/components/Gapped/Gapped/Gapped.js +1 -1
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/Gapped/Gapped.d.ts +1 -0
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +31 -35
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader.d.ts +3 -2
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +2 -3
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
- package/components/Group/Group/Group.js +1 -1
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.d.ts +1 -0
- package/components/Hint/Hint/Hint.js +6 -6
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +1 -0
- package/components/Input/Input/Input.js +33 -17
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +29 -7
- package/components/Input/Input.typings/Input.typings.js +1 -0
- package/components/Input/Input.typings/Input.typings.js.map +1 -0
- package/components/Input/Input.typings/package.json +6 -0
- package/components/Input/Input.typings.d.ts +7 -0
- package/components/Input/InputLayout/InputLayout.d.ts +1 -1
- package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -1
- package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js +1 -2
- package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutContext/InputLayoutContext.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
- package/components/Input/index/index.js +2 -1
- package/components/Input/index/index.js.map +1 -1
- package/components/Input/index.d.ts +1 -0
- package/components/Kebab/Kebab/Kebab.js +3 -2
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +3 -1
- package/components/Link/Link/Link.js +21 -20
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +7 -2
- package/components/Link/Link.md +81 -7
- package/components/Link/Link.styles/Link.styles.js +32 -23
- package/components/Link/Link.styles/Link.styles.js.map +1 -1
- package/components/Link/Link.styles.d.ts +4 -1
- package/components/Link/LinkIcon/LinkIcon.js +19 -0
- package/components/Link/LinkIcon/LinkIcon.js.map +1 -0
- package/components/Link/LinkIcon/package.json +6 -0
- package/components/Link/LinkIcon.d.ts +6 -0
- package/components/Loader/Loader/Loader.js +10 -7
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +1 -0
- package/components/MaskedInput/MaskedInput/MaskedInput.js +62 -0
- package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -0
- package/{internal → components}/MaskedInput/MaskedInput/package.json +1 -1
- package/components/MaskedInput/MaskedInput.d.ts +24 -0
- package/components/MaskedInput/MaskedInput.md +21 -0
- package/components/MaskedInput/index/index.js.map +1 -0
- package/components/MaskedInput/index/package.json +6 -0
- package/components/MaskedInput/package.json +6 -0
- package/components/MenuFooter/MenuFooter/MenuFooter.js +5 -0
- package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
- package/components/MenuFooter/MenuFooter.d.ts +7 -2
- package/components/MenuHeader/MenuHeader/MenuHeader.js +8 -1
- package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
- package/components/MenuHeader/MenuHeader.d.ts +7 -2
- package/components/MenuItem/MenuItem/MenuItem.js +158 -21
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +31 -2
- package/components/MenuItem/MenuItem.md +20 -6
- package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +1 -0
- package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
- package/components/MenuSeparator/MenuSeparator.d.ts +1 -0
- package/components/MiniModal/MiniModal/MiniModal.js +37 -0
- package/components/MiniModal/MiniModal/MiniModal.js.map +1 -0
- package/components/MiniModal/MiniModal/package.json +6 -0
- package/components/MiniModal/MiniModal.d.ts +18 -0
- package/components/MiniModal/MiniModal.md +233 -0
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +41 -0
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -0
- package/components/MiniModal/MiniModal.styles/package.json +6 -0
- package/components/MiniModal/MiniModal.styles.d.ts +14 -0
- package/components/MiniModal/MiniModalBody/MiniModalBody.js +23 -0
- package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -0
- package/components/MiniModal/MiniModalBody/package.json +6 -0
- package/components/MiniModal/MiniModalBody.d.ts +7 -0
- package/components/MiniModal/MiniModalFooter/MiniModalFooter.js +35 -0
- package/components/MiniModal/MiniModalFooter/MiniModalFooter.js.map +1 -0
- package/components/MiniModal/MiniModalFooter/package.json +6 -0
- package/components/MiniModal/MiniModalFooter.d.ts +18 -0
- package/components/MiniModal/MiniModalHeader/MiniModalHeader.js +33 -0
- package/components/MiniModal/MiniModalHeader/MiniModalHeader.js.map +1 -0
- package/components/MiniModal/MiniModalHeader/package.json +6 -0
- package/components/MiniModal/MiniModalHeader.d.ts +17 -0
- package/components/MiniModal/MiniModalIndent/MiniModalIndent.js +27 -0
- package/components/MiniModal/MiniModalIndent/MiniModalIndent.js.map +1 -0
- package/components/MiniModal/MiniModalIndent/package.json +6 -0
- package/components/MiniModal/MiniModalIndent.d.ts +6 -0
- package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js +23 -0
- package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js.map +1 -0
- package/components/MiniModal/getMiniModalTheme/package.json +6 -0
- package/components/MiniModal/getMiniModalTheme.d.ts +16 -0
- package/components/MiniModal/index/index.js +5 -0
- package/components/MiniModal/index/index.js.map +1 -0
- package/{internal/MaskedInput → components/MiniModal}/index/package.json +1 -1
- package/components/MiniModal/index.d.ts +5 -0
- package/{internal/MaskedInput → components/MiniModal}/package.json +1 -1
- package/components/Modal/Modal/Modal.js +19 -14
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.d.ts +7 -0
- package/components/Modal/Modal.styles/Modal.styles.js +44 -37
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +5 -0
- package/components/Modal/ModalBody/ModalBody.js +1 -1
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Modal/ModalBody.d.ts +1 -0
- package/components/Modal/ModalClose/ModalClose.js +5 -2
- package/components/Modal/ModalClose/ModalClose.js.map +1 -1
- package/components/Modal/ModalClose.d.ts +4 -0
- package/components/Modal/ModalFooter/ModalFooter.js +1 -0
- package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
- package/components/Modal/ModalFooter.d.ts +1 -0
- package/components/Modal/ModalHeader/ModalHeader.js +2 -1
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/Modal/ModalHeader.d.ts +1 -0
- package/components/Modal/ModalSeparator/ModalSeparator.js +9 -1
- package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
- package/components/Modal/ModalSeparator.d.ts +9 -0
- package/components/Modal/getModalTheme/getModalTheme.js +8 -3
- package/components/Modal/getModalTheme/getModalTheme.js.map +1 -1
- package/components/Modal/getModalTheme.d.ts +2 -2
- package/components/Paging/NavigationHelper/NavigationHelper.js +2 -1
- package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
- package/components/Paging/Paging/Paging.js +28 -16
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +1 -0
- package/components/Paging/Paging.styles/Paging.styles.js +3 -6
- package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
- package/components/Paging/Paging.styles.d.ts +0 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +5 -3
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +1 -0
- package/components/Radio/Radio/Radio.js +7 -2
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +7 -2
- package/components/RadioGroup/RadioGroup/RadioGroup.js +1 -1
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +1 -0
- package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +3 -1
- package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -0
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +5 -6
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
- package/components/ScrollContainer/ScrollBar/ScrollBar.js +17 -50
- package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
- package/components/ScrollContainer/ScrollBar.d.ts +4 -7
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +110 -23
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +1 -2
- package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +19 -3
- package/components/ScrollContainer/ScrollContainer.md +29 -2
- package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +6 -18
- package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
- package/components/Select/Item/Item.js +5 -2
- package/components/Select/Item/Item.js.map +1 -1
- package/components/Select/Item.d.ts +2 -0
- package/components/Select/Select/Select.js +27 -18
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +8 -3
- package/components/Select/Select.md +12 -0
- package/components/SidePage/SidePage/SidePage.js +39 -13
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +4 -1
- package/components/SidePage/SidePageBody/SidePageBody.js +1 -1
- package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
- package/components/SidePage/SidePageBody.d.ts +1 -0
- package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +5 -2
- package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
- package/components/SidePage/SidePageCloseButton.d.ts +5 -1
- package/components/SidePage/SidePageContainer/SidePageContainer.js +1 -1
- package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
- package/components/SidePage/SidePageContainer.d.ts +1 -0
- package/components/SidePage/SidePageFooter/SidePageFooter.js +1 -1
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageFooter.d.ts +1 -0
- package/components/SidePage/SidePageHeader/SidePageHeader.js +7 -5
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +2 -0
- package/components/SingleToast/SingleToast/SingleToast.js +55 -0
- package/components/SingleToast/SingleToast/SingleToast.js.map +1 -0
- package/components/SingleToast/SingleToast/package.json +6 -0
- package/components/SingleToast/SingleToast.d.ts +13 -0
- package/components/SingleToast/SingleToast.md +35 -0
- package/components/SingleToast/index/index.js +1 -0
- package/components/SingleToast/index/index.js.map +1 -0
- package/components/SingleToast/index/package.json +6 -0
- package/components/SingleToast/index.d.ts +1 -0
- package/components/SingleToast/package.json +6 -0
- package/components/Spinner/Spinner/Spinner.js +11 -5
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +2 -0
- package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +5 -2
- package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
- package/components/Sticky/Sticky/Sticky.js +13 -9
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +1 -0
- package/components/Switcher/Switcher/Switcher.js +5 -1
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +9 -4
- package/components/Tabs/Indicator/Indicator.js +3 -1
- package/components/Tabs/Indicator/Indicator.js.map +1 -1
- package/components/Tabs/Tab/Tab.js +13 -16
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +17 -32
- package/components/Tabs/Tab.md +71 -0
- package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
- package/components/Tabs/Tabs/Tabs.js +5 -5
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +14 -18
- package/components/Tabs/Tabs.md +7 -22
- package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
- package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
- package/components/Tabs/TabsContext.d.ts +3 -2
- package/components/Tabs/helpers/helpers.js +3 -0
- package/components/Tabs/helpers/helpers.js.map +1 -1
- package/components/Tabs/helpers.d.ts +5 -5
- package/components/Textarea/Textarea/Textarea.js +38 -20
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +8 -2
- package/components/Textarea/TextareaCounter/TextareaCounter.js +2 -3
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Textarea/TextareaCounter.d.ts +4 -3
- package/components/Textarea/TextareaHelpers/TextareaHelpers.js +6 -1
- package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
- package/components/Textarea/TextareaHelpers.d.ts +1 -1
- package/components/Textarea/TextareaWithSafari17Workaround/TextareaWithSafari17Workaround.js +21 -0
- package/components/Textarea/TextareaWithSafari17Workaround/TextareaWithSafari17Workaround.js.map +1 -0
- package/components/Textarea/TextareaWithSafari17Workaround/package.json +6 -0
- package/components/Textarea/TextareaWithSafari17Workaround.d.ts +6 -0
- package/components/Toast/Toast/Toast.js +17 -8
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +11 -3
- package/components/Toast/Toast.md +0 -105
- package/components/Toast/ToastStatic/ToastStatic.js +4 -4
- package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
- package/components/Toggle/Toggle/Toggle.js +5 -1
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +7 -2
- package/components/Token/Token/Token.js +5 -4
- package/components/Token/Token/Token.js.map +1 -1
- package/components/Token/Token.d.ts +1 -0
- package/components/TokenInput/TokenInput/TokenInput.js +52 -12
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +3 -0
- package/components/TokenInput/TokenInput.md +71 -0
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +2 -1
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/TokenInput/TokenInputMenu.d.ts +1 -0
- package/components/Tooltip/Tooltip/Tooltip.js +11 -8
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +7 -1
- package/components/Tooltip/Tooltip.md +24 -0
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +1 -1
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +1 -0
- package/hooks/useDrop/useDrop.js +3 -2
- package/hooks/useDrop/useDrop.js.map +1 -1
- package/index.d.ts +4 -0
- package/index.js +4 -0
- package/index.js.map +1 -1
- package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js +5 -2
- package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +8 -38
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper.d.ts +5 -26
- package/internal/CommonWrapper/extractCommonProps/extractCommonProps.js +31 -0
- package/internal/CommonWrapper/extractCommonProps/extractCommonProps.js.map +1 -0
- package/internal/CommonWrapper/extractCommonProps/package.json +6 -0
- package/internal/CommonWrapper/extractCommonProps.d.ts +3 -0
- package/internal/CommonWrapper/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js +12 -0
- package/internal/CommonWrapper/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js.map +1 -0
- package/internal/CommonWrapper/getCommonVisualStateDataAttributes/package.json +6 -0
- package/internal/CommonWrapper/getCommonVisualStateDataAttributes.d.ts +2 -0
- package/internal/CommonWrapper/getVisualStateDataAttributes/getVisualStateDataAttributes.js +16 -0
- package/internal/CommonWrapper/getVisualStateDataAttributes/getVisualStateDataAttributes.js.map +1 -0
- package/internal/CommonWrapper/getVisualStateDataAttributes/package.json +6 -0
- package/internal/CommonWrapper/getVisualStateDataAttributes.d.ts +3 -0
- package/internal/CommonWrapper/index/index.js +2 -1
- package/internal/CommonWrapper/index/index.js.map +1 -1
- package/internal/CommonWrapper/index.d.ts +2 -0
- package/internal/CommonWrapper/types/package.json +6 -0
- package/internal/CommonWrapper/types/types.js +1 -0
- package/internal/CommonWrapper/types/types.js.map +1 -0
- package/internal/CommonWrapper/types.d.ts +25 -0
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +1 -1
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu.d.ts +3 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +22 -33
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +7 -9
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +22 -12
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +6 -2
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +31 -2
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +1 -0
- package/internal/DateSelect/DateSelect/DateSelect.js +21 -21
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.d.ts +1 -0
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +20 -17
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
- package/internal/DropdownContainer/DropdownContainer.d.ts +1 -1
- package/internal/DropdownContainer/getManualPosition/getManualPosition.js +4 -3
- package/internal/DropdownContainer/getManualPosition/getManualPosition.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +3 -2
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -3
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon/FileUploaderFileStatusIcon.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +1 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -2
- package/internal/FileUploaderControl/hooks/useFileUploaderSize/useFileUploaderSize.js.map +1 -1
- package/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
- package/internal/FocusTrap/FocusTrap/FocusTrap.js +10 -4
- package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
- package/internal/FocusTrap/FocusTrap.d.ts +1 -0
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +26 -26
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -0
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +4 -2
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +30 -20
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.d.ts +1 -0
- package/internal/{MaskedInput/MaskedInput/MaskedInput.js → InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js} +14 -9
- package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +1 -0
- package/internal/InternalMaskedInput/InternalMaskedInput/package.json +6 -0
- package/internal/{MaskedInput/MaskedInput.d.ts → InternalMaskedInput/InternalMaskedInput.d.ts} +9 -5
- package/{cjs/internal/MaskedInput/MaskedInput.styles.js.map → internal/InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js.map} +1 -1
- package/internal/InternalMaskedInput/InternalMaskedInput.styles/package.json +6 -0
- package/internal/InternalMaskedInput/InternalMaskedInput.styles.d.ts +6 -0
- package/internal/InternalMaskedInput/index/index.js +1 -0
- package/internal/InternalMaskedInput/index/index.js.map +1 -0
- package/internal/InternalMaskedInput/index/package.json +6 -0
- package/internal/InternalMaskedInput/index.d.ts +1 -0
- package/internal/InternalMaskedInput/package.json +6 -0
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +11 -10
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/InternalMenu/InternalMenu.d.ts +1 -0
- package/internal/MaskedInputElement/MaskedInputElement/MaskedInputElement.js +206 -0
- package/internal/MaskedInputElement/MaskedInputElement/MaskedInputElement.js.map +1 -0
- package/internal/MaskedInputElement/MaskedInputElement/package.json +6 -0
- package/internal/MaskedInputElement/MaskedInputElement.d.ts +14 -0
- package/internal/MaskedInputElement/MaskedInputElement.helpers/MaskedInputElement.helpers.js +43 -0
- package/internal/MaskedInputElement/MaskedInputElement.helpers/MaskedInputElement.helpers.js.map +1 -0
- package/internal/MaskedInputElement/MaskedInputElement.helpers/package.json +6 -0
- package/internal/MaskedInputElement/MaskedInputElement.helpers.d.ts +16 -0
- package/internal/MaskedInputElement/MaskedInputElement.styles/MaskedInputElement.styles.js +16 -0
- package/internal/MaskedInputElement/MaskedInputElement.styles/MaskedInputElement.styles.js.map +1 -0
- package/internal/MaskedInputElement/MaskedInputElement.styles/package.json +6 -0
- package/internal/MaskedInputElement/MaskedInputElement.styles.d.ts +6 -0
- package/internal/MaskedInputElement/index/index.js +1 -0
- package/internal/MaskedInputElement/index/index.js.map +1 -0
- package/internal/MaskedInputElement/index/package.json +6 -0
- package/internal/MaskedInputElement/index.d.ts +1 -0
- package/internal/MaskedInputElement/package.json +6 -0
- package/internal/Menu/Menu/Menu.js +145 -63
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.d.ts +7 -0
- package/internal/Menu/MenuContext/MenuContext.js +5 -0
- package/internal/Menu/MenuContext/MenuContext.js.map +1 -0
- package/internal/Menu/MenuContext/package.json +6 -0
- package/internal/Menu/MenuContext.d.ts +10 -0
- package/internal/Menu/MenuNavigation/MenuNavigation.js +123 -0
- package/internal/Menu/MenuNavigation/MenuNavigation.js.map +1 -0
- package/internal/Menu/MenuNavigation/package.json +6 -0
- package/internal/Menu/MenuNavigation.d.ts +26 -0
- package/internal/Menu/isActiveElement/isActiveElement.js +1 -1
- package/internal/Menu/isActiveElement/isActiveElement.js.map +1 -1
- package/internal/MenuMessage/MenuMessage/MenuMessage.js.map +1 -1
- package/internal/MenuMessage/MenuMessage.d.ts +3 -3
- package/internal/MobilePopup/MobilePopup/MobilePopup.js +2 -1
- package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopup.d.ts +1 -0
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +2 -1
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +1 -0
- package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js +2 -1
- package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js.map +1 -1
- package/internal/NativeDateInput/NativeDateInput.d.ts +1 -0
- package/internal/Popup/Popup/Popup.js +13 -14
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +1 -0
- package/internal/Popup/PopupHelper/PopupHelper.js +8 -5
- package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
- package/internal/Popup/PopupPin/PopupPin.js +1 -0
- package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
- package/internal/Popup/PopupPin.d.ts +1 -0
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +4 -3
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +1 -0
- package/internal/RenderContainer/RenderContainer/RenderContainer.js +27 -16
- package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/RenderContainer/RenderContainer.d.ts +1 -1
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +6 -4
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer.d.ts +3 -0
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +12 -6
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer.d.ts +1 -0
- package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js +2 -1
- package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
- package/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
- package/internal/ThemePlayground/SizesGroup.d.ts +2 -1
- package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
- package/internal/ThemePlayground/constants/constants.js +3 -0
- package/internal/ThemePlayground/constants/constants.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +5 -2
- package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js +3 -3
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndex.d.ts +1 -0
- package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +2 -2
- package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
- package/internal/icons/16px/index.d.ts +19 -19
- package/internal/icons/20px/Icon/Icon.js +1 -0
- package/internal/icons/20px/Icon/Icon.js.map +1 -1
- package/internal/icons/20px/Icon.d.ts +1 -0
- package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
- package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
- package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
- package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
- package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
- package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
- package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
- package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
- package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
- package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
- package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
- package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
- package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
- package/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
- package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
- package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
- package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
- package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
- package/internal/icons2022/BaseIcon/BaseIcon.js +3 -6
- package/internal/icons2022/BaseIcon/BaseIcon.js.map +1 -1
- package/internal/icons2022/BaseIcon.d.ts +1 -1
- package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js +11 -0
- package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js.map +1 -0
- package/internal/icons2022/BaseIcon.styles/package.json +6 -0
- package/internal/icons2022/BaseIcon.styles.d.ts +3 -0
- package/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
- package/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
- package/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
- package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
- package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
- package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
- package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
- package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
- package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
- package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js +18 -0
- package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js.map +1 -0
- package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/package.json +6 -0
- package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
- package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
- package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
- package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
- package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
- package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
- package/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
- package/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
- package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
- package/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
- package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
- package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
- package/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
- package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
- package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
- package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
- package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
- package/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
- package/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
- package/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
- package/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
- package/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js +177 -6
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +70 -2
- package/internal/themes/Theme2022/Theme2022.js +55 -3
- package/internal/themes/Theme2022/Theme2022.js.map +1 -1
- package/internal/themes/Theme2022.d.ts +18 -2
- package/internal/themes/Theme2022Dark/Theme2022Dark.js +13 -4
- package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
- package/internal/themes/Theme2022Dark.d.ts +4 -4
- package/lib/LayoutEvents/LayoutEvents.js +5 -4
- package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
- package/lib/ModalStack/ModalStack.js +2 -2
- package/lib/ModalStack/ModalStack.js.map +1 -1
- package/lib/SSRSafe/SSRSafe.js +3 -35
- package/lib/SSRSafe/SSRSafe.js.map +1 -1
- package/lib/SSRSafe.d.ts +1 -6
- package/lib/Upgrades/Upgrades.js +3 -1
- package/lib/Upgrades/Upgrades.js.map +1 -1
- package/lib/Upgrades.d.ts +1 -0
- package/lib/animation/index/index.js +6 -3
- package/lib/animation/index/index.js.map +1 -1
- package/lib/chars/chars.js +1 -1
- package/lib/chars/chars.js.map +1 -1
- package/lib/chars.d.ts +1 -1
- package/lib/client/client.js +9 -7
- package/lib/client/client.js.map +1 -1
- package/lib/client.d.ts +2 -7
- package/lib/dom/getScrollWidth/getScrollWidth.js +4 -5
- package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
- package/lib/dom/tabbableHelpers/tabbableHelpers.js +4 -2
- package/lib/dom/tabbableHelpers/tabbableHelpers.js.map +1 -1
- package/lib/dom/tabbableHelpers.d.ts +2 -1
- package/lib/events/MouseDrag/MouseDrag.js +15 -11
- package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
- package/lib/events/fixClickFocusIE/fixClickFocusIE.js +4 -2
- package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +1 -1
- package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +7 -2
- package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -1
- package/lib/events/keyListener/keyListener.js +9 -12
- package/lib/events/keyListener/keyListener.js.map +1 -1
- package/lib/events/keyboard/identifiers/identifiers.js +3 -1
- package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
- package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +223 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js +5 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js.map +1 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers/package.json +6 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +9 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +12 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/package.json +6 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +11 -0
- package/lib/featureFlagsContext/index/index.js +2 -0
- package/lib/featureFlagsContext/index/index.js.map +1 -0
- package/lib/featureFlagsContext/index/package.json +6 -0
- package/lib/featureFlagsContext/index.d.ts +2 -0
- package/lib/featureFlagsContext/package.json +6 -0
- package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
- package/lib/forwardRefAndName.d.ts +1 -1
- package/lib/isInstanceOf/isInstanceOf.js +3 -0
- package/lib/isInstanceOf/isInstanceOf.js.map +1 -0
- package/lib/isInstanceOf/package.json +6 -0
- package/lib/isInstanceOf.d.ts +1 -0
- package/lib/listenFocusOutside/listenFocusOutside.js +19 -10
- package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
- package/lib/locale/LocaleContext/LocaleContext.js +2 -1
- package/lib/locale/LocaleContext/LocaleContext.js.map +1 -1
- package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +4 -3
- package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -1
- package/lib/net/fetch/fetch.js +29 -21
- package/lib/net/fetch/fetch.js.map +1 -1
- package/lib/rootNode/getRootNode/getRootNode.js +6 -6
- package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +1 -1
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
- package/lib/rootNode/rootNodeDecorator.d.ts +2 -0
- package/lib/styles/ColorFactory/ColorFactory.js +13 -9
- package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
- package/lib/styles/ColorHelpers/ColorHelpers.js +3 -7
- package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
- package/lib/styles/ColorHelpers.d.ts +1 -1
- package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +5 -4
- package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/lib/theming/Emotion/Emotion.js +6 -1
- package/lib/theming/Emotion/Emotion.js.map +1 -1
- package/lib/theming/ThemeContext/ThemeContext.js +2 -1
- package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
- package/lib/toKebabCase/package.json +6 -0
- package/lib/toKebabCase/toKebabCase.js +7 -0
- package/lib/toKebabCase/toKebabCase.js.map +1 -0
- package/lib/toKebabCase.d.ts +1 -0
- package/lib/types/props/package.json +6 -0
- package/lib/types/props/props.js +1 -0
- package/lib/types/props/props.js.map +1 -0
- package/lib/types/props.d.ts +1 -0
- package/lib/utils/utils.js +31 -6
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +7 -0
- package/package.json +10 -10
- package/typings/global-react.d.ts +12 -0
- package/typings/global.d.ts +3 -4
- package/cjs/internal/MaskedInput/MaskedInput.js.map +0 -1
- package/cjs/internal/MaskedInput/index.js.map +0 -1
- package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +0 -1
- package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js.map +0 -1
- package/internal/MaskedInput/MaskedInput.styles/package.json +0 -6
- package/internal/MaskedInput/index/index.js.map +0 -1
- /package/cjs/{internal → components}/MaskedInput/index.d.ts +0 -0
- /package/cjs/{internal → components}/MaskedInput/index.js +0 -0
- /package/cjs/internal/{MaskedInput/MaskedInput.styles.d.ts → InternalMaskedInput/InternalMaskedInput.styles.d.ts} +0 -0
- /package/cjs/internal/{MaskedInput/MaskedInput.styles.js → InternalMaskedInput/InternalMaskedInput.styles.js} +0 -0
- /package/{internal/MaskedInput/MaskedInput.styles.d.ts → cjs/internal/MaskedInputElement/MaskedInputElement.styles.d.ts} +0 -0
- /package/{internal → components}/MaskedInput/index/index.js +0 -0
- /package/{internal → components}/MaskedInput/index.d.ts +0 -0
- /package/internal/{MaskedInput/MaskedInput.styles/MaskedInput.styles.js → InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js} +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.Effect = void 0;exports.reducer = reducer;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
2
2
|
var _lodash = _interopRequireDefault(require("lodash.debounce"));
|
|
3
3
|
var _lodash2 = _interopRequireDefault(require("lodash.isequal"));
|
|
4
|
+
var _globalObject = require("@skbkontur/global-object");
|
|
4
5
|
|
|
5
6
|
var _utils = require("../../lib/utils");
|
|
6
7
|
var _identifiers = require("../../lib/events/keyboard/identifiers");
|
|
@@ -63,6 +64,7 @@ var _CustomComboBoxTypes = require("./CustomComboBoxTypes");function _getRequire
|
|
|
63
64
|
|
|
64
65
|
|
|
65
66
|
|
|
67
|
+
|
|
66
68
|
|
|
67
69
|
|
|
68
70
|
var DEBOUNCE_DELAY = 300;
|
|
@@ -103,7 +105,6 @@ var Effect = {
|
|
|
103
105
|
};},
|
|
104
106
|
unexpectedInput: function unexpectedInput(textValue, items) {return function (dispatch, getState, getProps) {
|
|
105
107
|
var _getProps4 = getProps(),onUnexpectedInput = _getProps4.onUnexpectedInput,valueToString = _getProps4.valueToString;
|
|
106
|
-
|
|
107
108
|
if (Array.isArray(items) && items.length === 1) {
|
|
108
109
|
var singleItem = items[0];
|
|
109
110
|
var valueContent = getValueString(singleItem, valueToString);
|
|
@@ -162,12 +163,12 @@ var Effect = {
|
|
|
162
163
|
|
|
163
164
|
if (index >= 0) {
|
|
164
165
|
// @ts-expect-error: Use of private property.
|
|
165
|
-
requestAnimationFrame(function () {return menu && menu.scrollToSelected();});
|
|
166
|
+
_globalObject.globalObject.requestAnimationFrame == null ? void 0 : _globalObject.globalObject.requestAnimationFrame(function () {return menu && menu.scrollToSelected();});
|
|
166
167
|
return;
|
|
167
168
|
}
|
|
168
169
|
|
|
169
170
|
if (textValue !== valueString || requestStatus === _CustomComboBoxTypes.ComboBoxRequestStatus.Failed) {
|
|
170
|
-
requestAnimationFrame(function () {return menu && menu.down();});
|
|
171
|
+
_globalObject.globalObject.requestAnimationFrame == null ? void 0 : _globalObject.globalObject.requestAnimationFrame(function () {return menu && menu.down();});
|
|
171
172
|
}
|
|
172
173
|
},
|
|
173
174
|
selectMenuItem: function selectMenuItem(event) {return function (dispatch, getState, getProps, getInstance) {
|
|
@@ -262,6 +263,9 @@ action)
|
|
|
262
263
|
|
|
263
264
|
switch (true) {
|
|
264
265
|
case (0, _identifiers.isKeyEnter)(e):
|
|
266
|
+
if (!state.opened) {
|
|
267
|
+
break;
|
|
268
|
+
}
|
|
265
269
|
e.preventDefault();
|
|
266
270
|
effects.push(Effect.selectMenuItem(e));
|
|
267
271
|
break;
|
|
@@ -287,6 +291,32 @@ action)
|
|
|
287
291
|
return state;
|
|
288
292
|
}
|
|
289
293
|
|
|
294
|
+
if (action.fixValueChange) {
|
|
295
|
+
var nextTextValue = getValueString(props.value, props.valueToString);
|
|
296
|
+
|
|
297
|
+
if (!state.focused) {
|
|
298
|
+
return [
|
|
299
|
+
{
|
|
300
|
+
editing: false,
|
|
301
|
+
inputChanged: false,
|
|
302
|
+
textValue: nextTextValue },
|
|
303
|
+
|
|
304
|
+
[Effect.cancelRequest]];
|
|
305
|
+
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
if (state.focused && state.opened) {
|
|
309
|
+
return [(0, _extends2.default)({}, state, { textValue: nextTextValue }), [Effect.cancelRequest, Effect.search(nextTextValue)]];
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
if (state.focused) {
|
|
313
|
+
return (0, _extends2.default)({},
|
|
314
|
+
state, {
|
|
315
|
+
textValue: nextTextValue });
|
|
316
|
+
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
|
|
290
320
|
return {
|
|
291
321
|
opened: false,
|
|
292
322
|
textValue: state.editing ? state.textValue : getValueString(props.value, props.valueToString) };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["CustomComboBoxReducer.tsx"],"names":["DEBOUNCE_DELAY","getValueString","value","valueToString","Effect","search","query","dispatch","getState","getProps","getInstance","debouncedSearch","searchEffect","textValue","cancelRequest","cancel","cancelSearch","blur","onBlur","focus","onFocus","valueChange","onValueChange","unexpectedInput","items","onUnexpectedInput","Array","isArray","length","singleItem","valueContent","type","keepFocus","undefined","inputChange","onInputValueChange","returnedValue","inputFocus","input","highlightMenuItem","itemToValue","focused","requestStatus","menu","valueString","index","findIndex","x","highlightItem","requestAnimationFrame","scrollToSelected","ComboBoxRequestStatus","Failed","down","selectMenuItem","event","enter","moveMenuHighlight","direction","resetHighlightedMenuItem","combobox","hasHighlightedItem","reset","reflow","LayoutEvents","emit","selectInputText","inputKeyDown","onInputKeyDown","never","reducer","state","props","action","opened","inputChanged","editing","newState","searchOnFocus","e","effects","nextState","preventDefault","push","prevProps","DefaultState","loading","Pending","shouldResetMenuHighlight","Success","repeatRequest","Unknown"],"mappings":"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","sourcesContent":["import React from 'react';\nimport debounce from 'lodash.debounce';\nimport isEqual from 'lodash.isequal';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyArrowUp, isKeyArrowVertical, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { ComboBoxExtendedItem } from '../../components/ComboBox';\n\nimport { CustomComboBox, CustomComboBoxProps, CustomComboBoxState, DefaultState } from './CustomComboBox';\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\n\nexport type CustomComboBoxAction<T> =\n | { type: 'ValueChange'; value: T; keepFocus: boolean }\n | { type: 'TextChange'; value: string }\n | { type: 'KeyPress'; event: React.KeyboardEvent }\n | {\n type: 'DidUpdate';\n prevProps: CustomComboBoxProps<T>;\n prevState: CustomComboBoxState<T>;\n }\n | { type: 'Mount' }\n | { type: 'Focus' }\n | { type: 'InputClick' }\n | { type: 'Blur' }\n | { type: 'Reset' }\n | { type: 'Open' }\n | { type: 'Close' }\n | { type: 'Search'; query: string }\n | { type: 'RequestItems' }\n | { type: 'ReceiveItems'; items: Array<ComboBoxExtendedItem<T>> }\n | { type: 'RequestFailure'; repeatRequest: () => void }\n | { type: 'CancelRequest' };\n\nexport type CustomComboBoxEffect<T> = (\n dispatch: (action: CustomComboBoxAction<T>) => void,\n getState: () => CustomComboBoxState<T>,\n getProps: () => CustomComboBoxProps<T>,\n getInstance: () => CustomComboBox<T>,\n) => void;\n\ntype Effect = CustomComboBoxEffect<any>;\n\ninterface EffectFactory {\n search: (query: string) => Effect;\n debouncedSearch: Effect & {\n cancel(): void;\n flush(): void;\n };\n cancelRequest: Effect;\n blur: Effect;\n focus: Effect;\n\n valueChange: (value: any) => Effect;\n unexpectedInput: (textValue: string, items: Nullable<any[]>) => Effect;\n inputChange: Effect;\n inputFocus: Effect;\n highlightMenuItem: Effect;\n selectMenuItem: (event: React.KeyboardEvent<HTMLElement>) => Effect;\n inputKeyDown: (event: React.KeyboardEvent<HTMLElement>) => Effect;\n moveMenuHighlight: (direction: 'up' | 'down') => Effect;\n resetHighlightedMenuItem: Effect;\n reflow: Effect;\n selectInputText: Effect;\n}\n\nconst DEBOUNCE_DELAY = 300;\n\nconst getValueString = (value: any, valueToString: CustomComboBoxProps<any>['valueToString']) => {\n return isNonNullable(value) ? valueToString(value) : '';\n};\n\nexport const Effect: EffectFactory = {\n search: (query) => (dispatch, getState, getProps, getInstance) => {\n getInstance().search(query);\n },\n debouncedSearch: debounce((dispatch, getState, getProps, getInstance) => {\n const searchEffect = Effect.search(getState().textValue);\n searchEffect(dispatch, getState, getProps, getInstance);\n }, DEBOUNCE_DELAY),\n cancelRequest: (dispatch, getState, getProps, getInstance) => {\n Effect.debouncedSearch.cancel();\n getInstance().cancelSearch();\n },\n blur: (dispatch, getState, getProps) => {\n const { onBlur } = getProps();\n if (onBlur) {\n onBlur();\n }\n },\n focus: (dispatch, getState, getProps) => {\n const { onFocus } = getProps();\n if (onFocus) {\n onFocus();\n }\n },\n valueChange: (value) => (dispatch, getState, getProps) => {\n const { onValueChange } = getProps();\n if (onValueChange) {\n onValueChange(value);\n }\n },\n unexpectedInput: (textValue, items) => (dispatch, getState, getProps) => {\n const { onUnexpectedInput, valueToString } = getProps();\n\n if (Array.isArray(items) && items.length === 1) {\n const singleItem = items[0];\n const valueContent = getValueString(singleItem, valueToString);\n\n if (valueContent === textValue) {\n dispatch({ type: 'ValueChange', value: singleItem, keepFocus: false });\n return;\n }\n }\n\n if (onUnexpectedInput) {\n const value = onUnexpectedInput(textValue);\n if (value !== undefined) {\n dispatch({ type: 'ValueChange', value, keepFocus: false });\n }\n }\n },\n inputChange: (dispatch, getState, getProps) => {\n const { onInputValueChange } = getProps();\n const { textValue } = getState();\n if (onInputValueChange) {\n const returnedValue = onInputValueChange(textValue);\n if (typeof returnedValue === 'string' && returnedValue !== textValue) {\n dispatch({ type: 'TextChange', value: returnedValue });\n }\n }\n },\n inputFocus: (dispatch, getState, getProps, getInstance) => {\n const { input } = getInstance();\n\n if (!input) {\n return;\n }\n\n input.focus();\n },\n highlightMenuItem: (dispatch, getState, getProps, getInstance) => {\n const { value, itemToValue, valueToString } = getProps();\n const { items, focused, textValue, requestStatus } = getState();\n const { menu } = getInstance();\n const valueString = getValueString(value, valueToString);\n\n if (!menu) {\n return;\n }\n\n if (!focused) {\n return;\n }\n\n let index = -1;\n if (items && items.length && isNonNullable(value)) {\n index = items.findIndex((x) => itemToValue(x) === itemToValue(value));\n }\n menu.highlightItem(index);\n\n if (index >= 0) {\n // @ts-expect-error: Use of private property.\n requestAnimationFrame(() => menu && menu.scrollToSelected());\n return;\n }\n\n if (textValue !== valueString || requestStatus === ComboBoxRequestStatus.Failed) {\n requestAnimationFrame(() => menu && menu.down());\n }\n },\n selectMenuItem: (event) => (dispatch, getState, getProps, getInstance) => {\n const { menu } = getInstance();\n if (menu) {\n menu.enter(event);\n }\n },\n moveMenuHighlight: (direction) => (dispatch, getState, getProps, getInstance) => {\n const { menu } = getInstance();\n if (menu) {\n menu[direction]();\n }\n },\n resetHighlightedMenuItem: (dispatch, getState, getProps, getInstance) => {\n const combobox = getInstance();\n\n if (combobox.menu && combobox.menu.hasHighlightedItem()) {\n combobox.menu.reset();\n }\n },\n reflow: () => {\n LayoutEvents.emit();\n },\n selectInputText: (dispatch, getState, getProps, getInstance) => {\n const combobox = getInstance();\n combobox.selectInputText();\n },\n inputKeyDown: (event) => (dispatch, getState, getProps) => {\n const { onInputKeyDown } = getProps();\n if (onInputKeyDown) {\n onInputKeyDown(event);\n }\n },\n};\n\nconst never = () => null;\n\nexport function reducer<T>(\n state: CustomComboBoxState<T>,\n props: CustomComboBoxProps<T>,\n action: CustomComboBoxAction<T>,\n): Pick<CustomComboBoxState<T>, never> | [Pick<CustomComboBoxState<T>, never>, Array<CustomComboBoxEffect<T>>] {\n switch (action.type) {\n case 'ValueChange': {\n const { value, keepFocus } = action;\n const textValue = getValueString(value, props.valueToString);\n if (keepFocus) {\n return [\n {\n opened: false,\n inputChanged: false,\n editing: true,\n items: null,\n textValue,\n },\n [Effect.valueChange(value), Effect.cancelRequest, Effect.inputFocus],\n ];\n }\n return [\n {\n opened: false,\n inputChanged: false,\n editing: false,\n items: null,\n textValue,\n },\n [Effect.valueChange(value), Effect.cancelRequest],\n ];\n }\n case 'TextChange': {\n const newState = {\n inputChanged: true,\n textValue: action.value,\n };\n if (!action.value && !props.searchOnFocus) {\n return [\n {\n ...newState,\n opened: false,\n items: null,\n },\n [Effect.inputChange],\n ];\n }\n return [newState, [Effect.debouncedSearch, Effect.inputChange]];\n }\n case 'KeyPress': {\n const e = action.event as React.KeyboardEvent<HTMLElement>;\n const effects = [];\n let nextState = state;\n\n switch (true) {\n case isKeyEnter(e):\n e.preventDefault();\n effects.push(Effect.selectMenuItem(e));\n break;\n case isKeyArrowVertical(e):\n e.preventDefault();\n effects.push(Effect.moveMenuHighlight(isKeyArrowUp(e) ? 'up' : 'down'));\n if (!state.opened) {\n effects.push(Effect.search(state.textValue));\n }\n break;\n case isKeyEscape(e):\n nextState = {\n ...state,\n items: null,\n opened: false,\n };\n break;\n }\n return [nextState, [...effects, Effect.inputKeyDown(e)]];\n }\n case 'DidUpdate': {\n if (isEqual(props.value, action.prevProps.value)) {\n return state;\n }\n\n return {\n opened: false,\n textValue: state.editing ? state.textValue : getValueString(props.value, props.valueToString),\n };\n }\n case 'Mount': {\n return {\n textValue: getValueString(props.value, props.valueToString),\n };\n }\n case 'Focus': {\n const newState = {\n focused: true,\n editing: true,\n };\n if (!props.searchOnFocus) {\n return [newState, [Effect.focus]];\n }\n if (state.editing) {\n return [newState, [Effect.search(state.textValue), Effect.focus]];\n }\n return [newState, [Effect.search(''), Effect.focus, Effect.selectInputText]];\n }\n case 'InputClick': {\n const newState = {\n inputChanged: false,\n };\n if (!state.opened && props.searchOnFocus) {\n return [newState, [Effect.search('')]];\n }\n return state;\n }\n case 'Blur': {\n const { inputChanged, items } = state;\n if (!inputChanged) {\n return [\n {\n focused: false,\n opened: false,\n items: null,\n editing: false,\n },\n [Effect.blur, Effect.cancelRequest],\n ];\n }\n\n return [\n {\n focused: false,\n opened: false,\n items: null,\n },\n [Effect.blur, Effect.cancelRequest, Effect.unexpectedInput(state.textValue, items)],\n ];\n }\n case 'Reset': {\n return DefaultState;\n }\n case 'Open': {\n return { opened: true };\n }\n case 'Close': {\n return { opened: false, items: null };\n }\n case 'Search': {\n return [state, [Effect.search(action.query)]];\n }\n case 'RequestItems': {\n return {\n loading: true,\n opened: true,\n requestStatus: ComboBoxRequestStatus.Pending,\n };\n }\n case 'ReceiveItems': {\n const shouldResetMenuHighlight = state.textValue === '';\n return [\n {\n loading: false,\n opened: true,\n items: action.items,\n requestStatus: ComboBoxRequestStatus.Success,\n },\n [shouldResetMenuHighlight ? Effect.resetHighlightedMenuItem : Effect.highlightMenuItem, Effect.reflow],\n ];\n }\n case 'RequestFailure': {\n return [\n {\n loading: false,\n opened: true,\n items: null,\n requestStatus: ComboBoxRequestStatus.Failed,\n repeatRequest: action.repeatRequest,\n },\n [Effect.highlightMenuItem],\n ];\n }\n case 'CancelRequest': {\n return {\n loading: false,\n requestStatus: ComboBoxRequestStatus.Unknown,\n };\n }\n default: {\n never();\n }\n }\n return state;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["CustomComboBoxReducer.tsx"],"names":["DEBOUNCE_DELAY","getValueString","value","valueToString","Effect","search","query","dispatch","getState","getProps","getInstance","debouncedSearch","searchEffect","textValue","cancelRequest","cancel","cancelSearch","blur","onBlur","focus","onFocus","valueChange","onValueChange","unexpectedInput","items","onUnexpectedInput","Array","isArray","length","singleItem","valueContent","type","keepFocus","undefined","inputChange","onInputValueChange","returnedValue","inputFocus","input","highlightMenuItem","itemToValue","focused","requestStatus","menu","valueString","index","findIndex","x","highlightItem","globalObject","requestAnimationFrame","scrollToSelected","ComboBoxRequestStatus","Failed","down","selectMenuItem","event","enter","moveMenuHighlight","direction","resetHighlightedMenuItem","combobox","hasHighlightedItem","reset","reflow","LayoutEvents","emit","selectInputText","inputKeyDown","onInputKeyDown","never","reducer","state","props","action","opened","inputChanged","editing","newState","searchOnFocus","e","effects","nextState","preventDefault","push","prevProps","fixValueChange","nextTextValue","DefaultState","loading","Pending","shouldResetMenuHighlight","Success","repeatRequest","Unknown"],"mappings":"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","sourcesContent":["import React from 'react';\nimport debounce from 'lodash.debounce';\nimport isEqual from 'lodash.isequal';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyArrowUp, isKeyArrowVertical, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { ComboBoxExtendedItem } from '../../components/ComboBox';\n\nimport { CustomComboBox, CustomComboBoxProps, CustomComboBoxState, DefaultState } from './CustomComboBox';\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\n\nexport type CustomComboBoxAction<T> =\n | { type: 'ValueChange'; value: T; keepFocus: boolean }\n | { type: 'TextChange'; value: string }\n | { type: 'KeyPress'; event: React.KeyboardEvent }\n | {\n type: 'DidUpdate';\n prevProps: CustomComboBoxProps<T>;\n prevState: CustomComboBoxState<T>;\n fixValueChange: boolean | undefined;\n }\n | { type: 'Mount' }\n | { type: 'Focus' }\n | { type: 'InputClick' }\n | { type: 'Blur' }\n | { type: 'Reset' }\n | { type: 'Open' }\n | { type: 'Close' }\n | { type: 'Search'; query: string }\n | { type: 'RequestItems' }\n | { type: 'ReceiveItems'; items: Array<ComboBoxExtendedItem<T>> }\n | { type: 'RequestFailure'; repeatRequest: () => void }\n | { type: 'CancelRequest' };\n\nexport type CustomComboBoxEffect<T> = (\n dispatch: (action: CustomComboBoxAction<T>) => void,\n getState: () => CustomComboBoxState<T>,\n getProps: () => CustomComboBoxProps<T>,\n getInstance: () => CustomComboBox<T>,\n) => void;\n\ntype Effect = CustomComboBoxEffect<any>;\n\ninterface EffectFactory {\n search: (query: string) => Effect;\n debouncedSearch: Effect & {\n cancel(): void;\n flush(): void;\n };\n cancelRequest: Effect;\n blur: Effect;\n focus: Effect;\n\n valueChange: (value: any) => Effect;\n unexpectedInput: (textValue: string, items: Nullable<any[]>) => Effect;\n inputChange: Effect;\n inputFocus: Effect;\n highlightMenuItem: Effect;\n selectMenuItem: (event: React.KeyboardEvent<HTMLElement>) => Effect;\n inputKeyDown: (event: React.KeyboardEvent<HTMLElement>) => Effect;\n moveMenuHighlight: (direction: 'up' | 'down') => Effect;\n resetHighlightedMenuItem: Effect;\n reflow: Effect;\n selectInputText: Effect;\n}\n\nconst DEBOUNCE_DELAY = 300;\n\nconst getValueString = (value: any, valueToString: CustomComboBoxProps<any>['valueToString']) => {\n return isNonNullable(value) ? valueToString(value) : '';\n};\n\nexport const Effect: EffectFactory = {\n search: (query) => (dispatch, getState, getProps, getInstance) => {\n getInstance().search(query);\n },\n debouncedSearch: debounce((dispatch, getState, getProps, getInstance) => {\n const searchEffect = Effect.search(getState().textValue);\n searchEffect(dispatch, getState, getProps, getInstance);\n }, DEBOUNCE_DELAY),\n cancelRequest: (dispatch, getState, getProps, getInstance) => {\n Effect.debouncedSearch.cancel();\n getInstance().cancelSearch();\n },\n blur: (dispatch, getState, getProps) => {\n const { onBlur } = getProps();\n if (onBlur) {\n onBlur();\n }\n },\n focus: (dispatch, getState, getProps) => {\n const { onFocus } = getProps();\n if (onFocus) {\n onFocus();\n }\n },\n valueChange: (value) => (dispatch, getState, getProps) => {\n const { onValueChange } = getProps();\n if (onValueChange) {\n onValueChange(value);\n }\n },\n unexpectedInput: (textValue, items) => (dispatch, getState, getProps) => {\n const { onUnexpectedInput, valueToString } = getProps();\n if (Array.isArray(items) && items.length === 1) {\n const singleItem = items[0];\n const valueContent = getValueString(singleItem, valueToString);\n\n if (valueContent === textValue) {\n dispatch({ type: 'ValueChange', value: singleItem, keepFocus: false });\n return;\n }\n }\n\n if (onUnexpectedInput) {\n const value = onUnexpectedInput(textValue);\n if (value !== undefined) {\n dispatch({ type: 'ValueChange', value, keepFocus: false });\n }\n }\n },\n inputChange: (dispatch, getState, getProps) => {\n const { onInputValueChange } = getProps();\n const { textValue } = getState();\n if (onInputValueChange) {\n const returnedValue = onInputValueChange(textValue);\n if (typeof returnedValue === 'string' && returnedValue !== textValue) {\n dispatch({ type: 'TextChange', value: returnedValue });\n }\n }\n },\n inputFocus: (dispatch, getState, getProps, getInstance) => {\n const { input } = getInstance();\n\n if (!input) {\n return;\n }\n\n input.focus();\n },\n highlightMenuItem: (dispatch, getState, getProps, getInstance) => {\n const { value, itemToValue, valueToString } = getProps();\n const { items, focused, textValue, requestStatus } = getState();\n const { menu } = getInstance();\n const valueString = getValueString(value, valueToString);\n\n if (!menu) {\n return;\n }\n\n if (!focused) {\n return;\n }\n\n let index = -1;\n if (items && items.length && isNonNullable(value)) {\n index = items.findIndex((x) => itemToValue(x) === itemToValue(value));\n }\n menu.highlightItem(index);\n\n if (index >= 0) {\n // @ts-expect-error: Use of private property.\n globalObject.requestAnimationFrame?.(() => menu && menu.scrollToSelected());\n return;\n }\n\n if (textValue !== valueString || requestStatus === ComboBoxRequestStatus.Failed) {\n globalObject.requestAnimationFrame?.(() => menu && menu.down());\n }\n },\n selectMenuItem: (event) => (dispatch, getState, getProps, getInstance) => {\n const { menu } = getInstance();\n if (menu) {\n menu.enter(event);\n }\n },\n moveMenuHighlight: (direction) => (dispatch, getState, getProps, getInstance) => {\n const { menu } = getInstance();\n if (menu) {\n menu[direction]();\n }\n },\n resetHighlightedMenuItem: (dispatch, getState, getProps, getInstance) => {\n const combobox = getInstance();\n\n if (combobox.menu && combobox.menu.hasHighlightedItem()) {\n combobox.menu.reset();\n }\n },\n reflow: () => {\n LayoutEvents.emit();\n },\n selectInputText: (dispatch, getState, getProps, getInstance) => {\n const combobox = getInstance();\n combobox.selectInputText();\n },\n inputKeyDown: (event) => (dispatch, getState, getProps) => {\n const { onInputKeyDown } = getProps();\n if (onInputKeyDown) {\n onInputKeyDown(event);\n }\n },\n};\n\nconst never = () => null;\n\nexport function reducer<T>(\n state: CustomComboBoxState<T>,\n props: CustomComboBoxProps<T>,\n action: CustomComboBoxAction<T>,\n): Pick<CustomComboBoxState<T>, never> | [Pick<CustomComboBoxState<T>, never>, Array<CustomComboBoxEffect<T>>] {\n switch (action.type) {\n case 'ValueChange': {\n const { value, keepFocus } = action;\n const textValue = getValueString(value, props.valueToString);\n if (keepFocus) {\n return [\n {\n opened: false,\n inputChanged: false,\n editing: true,\n items: null,\n textValue,\n },\n [Effect.valueChange(value), Effect.cancelRequest, Effect.inputFocus],\n ];\n }\n return [\n {\n opened: false,\n inputChanged: false,\n editing: false,\n items: null,\n textValue,\n },\n [Effect.valueChange(value), Effect.cancelRequest],\n ];\n }\n case 'TextChange': {\n const newState = {\n inputChanged: true,\n textValue: action.value,\n };\n if (!action.value && !props.searchOnFocus) {\n return [\n {\n ...newState,\n opened: false,\n items: null,\n },\n [Effect.inputChange],\n ];\n }\n return [newState, [Effect.debouncedSearch, Effect.inputChange]];\n }\n case 'KeyPress': {\n const e = action.event as React.KeyboardEvent<HTMLElement>;\n const effects = [];\n let nextState = state;\n\n switch (true) {\n case isKeyEnter(e):\n if (!state.opened) {\n break;\n }\n e.preventDefault();\n effects.push(Effect.selectMenuItem(e));\n break;\n case isKeyArrowVertical(e):\n e.preventDefault();\n effects.push(Effect.moveMenuHighlight(isKeyArrowUp(e) ? 'up' : 'down'));\n if (!state.opened) {\n effects.push(Effect.search(state.textValue));\n }\n break;\n case isKeyEscape(e):\n nextState = {\n ...state,\n items: null,\n opened: false,\n };\n break;\n }\n return [nextState, [...effects, Effect.inputKeyDown(e)]];\n }\n case 'DidUpdate': {\n if (isEqual(props.value, action.prevProps.value)) {\n return state;\n }\n\n if (action.fixValueChange) {\n const nextTextValue = getValueString(props.value, props.valueToString);\n\n if (!state.focused) {\n return [\n {\n editing: false,\n inputChanged: false,\n textValue: nextTextValue,\n },\n [Effect.cancelRequest],\n ];\n }\n\n if (state.focused && state.opened) {\n return [{ ...state, textValue: nextTextValue }, [Effect.cancelRequest, Effect.search(nextTextValue)]];\n }\n\n if (state.focused) {\n return {\n ...state,\n textValue: nextTextValue,\n };\n }\n }\n\n return {\n opened: false,\n textValue: state.editing ? state.textValue : getValueString(props.value, props.valueToString),\n };\n }\n case 'Mount': {\n return {\n textValue: getValueString(props.value, props.valueToString),\n };\n }\n case 'Focus': {\n const newState = {\n focused: true,\n editing: true,\n };\n if (!props.searchOnFocus) {\n return [newState, [Effect.focus]];\n }\n if (state.editing) {\n return [newState, [Effect.search(state.textValue), Effect.focus]];\n }\n return [newState, [Effect.search(''), Effect.focus, Effect.selectInputText]];\n }\n case 'InputClick': {\n const newState = {\n inputChanged: false,\n };\n if (!state.opened && props.searchOnFocus) {\n return [newState, [Effect.search('')]];\n }\n return state;\n }\n case 'Blur': {\n const { inputChanged, items } = state;\n if (!inputChanged) {\n return [\n {\n focused: false,\n opened: false,\n items: null,\n editing: false,\n },\n [Effect.blur, Effect.cancelRequest],\n ];\n }\n\n return [\n {\n focused: false,\n opened: false,\n items: null,\n },\n [Effect.blur, Effect.cancelRequest, Effect.unexpectedInput(state.textValue, items)],\n ];\n }\n case 'Reset': {\n return DefaultState;\n }\n case 'Open': {\n return { opened: true };\n }\n case 'Close': {\n return { opened: false, items: null };\n }\n case 'Search': {\n return [state, [Effect.search(action.query)]];\n }\n case 'RequestItems': {\n return {\n loading: true,\n opened: true,\n requestStatus: ComboBoxRequestStatus.Pending,\n };\n }\n case 'ReceiveItems': {\n const shouldResetMenuHighlight = state.textValue === '';\n return [\n {\n loading: false,\n opened: true,\n items: action.items,\n requestStatus: ComboBoxRequestStatus.Success,\n },\n [shouldResetMenuHighlight ? Effect.resetHighlightedMenuItem : Effect.highlightMenuItem, Effect.reflow],\n ];\n }\n case 'RequestFailure': {\n return [\n {\n loading: false,\n opened: true,\n items: null,\n requestStatus: ComboBoxRequestStatus.Failed,\n repeatRequest: action.repeatRequest,\n },\n [Effect.highlightMenuItem],\n ];\n }\n case 'CancelRequest': {\n return {\n loading: false,\n requestStatus: ComboBoxRequestStatus.Unknown,\n };\n }\n default: {\n never();\n }\n }\n return state;\n}\n"]}
|
|
@@ -28,6 +28,7 @@ export declare const DateSelectDataTids: {
|
|
|
28
28
|
declare type DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;
|
|
29
29
|
export declare class DateSelect extends React.PureComponent<DateSelectProps, DateSelectState> {
|
|
30
30
|
static __KONTUR_REACT_UI__: string;
|
|
31
|
+
static displayName: string;
|
|
31
32
|
static propTypes: {
|
|
32
33
|
disabled: PropTypes.Requireable<boolean>;
|
|
33
34
|
type: PropTypes.Requireable<string>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.DateSelectDataTids = exports.DateSelect = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
|
|
2
2
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
3
|
+
var _globalObject = require("@skbkontur/global-object");
|
|
3
4
|
|
|
4
5
|
var _utils = require("../../lib/utils");
|
|
5
6
|
var _identifiers = require("../../lib/events/keyboard/identifiers");
|
|
@@ -20,6 +21,7 @@ var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
|
|
|
20
21
|
var _ArrowCollapseCVOpenIcon16Regular = require("../icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular");
|
|
21
22
|
var _ArrowCUpIcon16Regular = require("../icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular");
|
|
22
23
|
var _ArrowCDownIcon16Regular = require("../icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular");
|
|
24
|
+
var _isInstanceOf = require("../../lib/isInstanceOf");
|
|
23
25
|
|
|
24
26
|
var _DateSelect = require("./DateSelect.styles");var _dec, _class, _class2, _temp;function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}
|
|
25
27
|
|
|
@@ -94,6 +96,7 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
|
|
|
94
96
|
|
|
95
97
|
|
|
96
98
|
|
|
99
|
+
|
|
97
100
|
|
|
98
101
|
|
|
99
102
|
getProps = (0, _createPropsGetter.createPropsGetter)(DateSelect.defaultProps);_this.
|
|
@@ -115,8 +118,8 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
|
|
|
115
118
|
itemsContainer = null;_this.
|
|
116
119
|
|
|
117
120
|
|
|
118
|
-
|
|
119
|
-
|
|
121
|
+
|
|
122
|
+
|
|
120
123
|
yearStep = 3;_this.
|
|
121
124
|
touchStartY = null;_this.
|
|
122
125
|
|
|
@@ -274,12 +277,14 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
|
|
|
274
277
|
return;
|
|
275
278
|
}
|
|
276
279
|
if (_this.timeout) {
|
|
277
|
-
clearTimeout(_this.timeout);
|
|
280
|
+
_globalObject.globalObject.clearTimeout(_this.timeout);
|
|
278
281
|
}
|
|
279
|
-
_this.timeout = setTimeout(
|
|
282
|
+
_this.timeout = _globalObject.globalObject.setTimeout(
|
|
283
|
+
function () {return (
|
|
280
284
|
_this.setState({
|
|
281
|
-
nodeTop: (0, _getDOMRect.getDOMRect)(root).top }));}
|
|
285
|
+
nodeTop: (0, _getDOMRect.getDOMRect)(root).top }));},
|
|
282
286
|
|
|
287
|
+
0);
|
|
283
288
|
|
|
284
289
|
};_this.
|
|
285
290
|
|
|
@@ -439,27 +444,27 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
|
|
|
439
444
|
|
|
440
445
|
handleLongClickUp = function (event) {
|
|
441
446
|
event.preventDefault();
|
|
442
|
-
_this.longClickTimer =
|
|
443
|
-
_this.setPositionRepeatTimer =
|
|
447
|
+
_this.longClickTimer = _globalObject.globalObject.setTimeout(function () {
|
|
448
|
+
_this.setPositionRepeatTimer = _globalObject.globalObject.setInterval(function () {return _this.setPosition(_this.state.pos - itemHeight);}, 100);
|
|
444
449
|
}, 200);
|
|
445
450
|
};_this.
|
|
446
451
|
|
|
447
452
|
handleLongClickDown = function (event) {
|
|
448
453
|
event.preventDefault();
|
|
449
|
-
_this.longClickTimer =
|
|
450
|
-
_this.setPositionRepeatTimer =
|
|
454
|
+
_this.longClickTimer = _globalObject.globalObject.setTimeout(function () {
|
|
455
|
+
_this.setPositionRepeatTimer = _globalObject.globalObject.setInterval(function () {return _this.setPosition(_this.state.pos + itemHeight);}, 100);
|
|
451
456
|
}, 200);
|
|
452
457
|
};_this.
|
|
453
458
|
|
|
454
459
|
handleLongClickStop = function () {
|
|
455
|
-
clearTimeout(_this.longClickTimer);
|
|
456
|
-
clearTimeout(_this.setPositionRepeatTimer);
|
|
460
|
+
_globalObject.globalObject.clearTimeout(_this.longClickTimer);
|
|
461
|
+
_globalObject.globalObject.clearTimeout(_this.setPositionRepeatTimer);
|
|
457
462
|
};_this.
|
|
458
463
|
|
|
459
464
|
getAnchor = function () {return _this.root;};_this.
|
|
460
465
|
|
|
461
466
|
handleWheel = function (event) {
|
|
462
|
-
if (!(event
|
|
467
|
+
if (!(0, _isInstanceOf.isInstanceOf)(event, _globalObject.globalObject.WheelEvent)) {
|
|
463
468
|
return;
|
|
464
469
|
}
|
|
465
470
|
event.preventDefault();
|
|
@@ -476,7 +481,7 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
|
|
|
476
481
|
};_this.
|
|
477
482
|
|
|
478
483
|
handleTouchStart = function (event) {
|
|
479
|
-
if (!(event
|
|
484
|
+
if (!(0, _isInstanceOf.isInstanceOf)(event, _globalObject.globalObject.TouchEvent)) {
|
|
480
485
|
return;
|
|
481
486
|
}
|
|
482
487
|
|
|
@@ -484,12 +489,12 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
|
|
|
484
489
|
};_this.
|
|
485
490
|
|
|
486
491
|
handleTouchMove = function (event) {
|
|
487
|
-
if (!(event
|
|
492
|
+
if (!(0, _isInstanceOf.isInstanceOf)(event, _globalObject.globalObject.TouchEvent) || !(0, _globalObject.isBrowser)(_globalObject.globalObject)) {
|
|
488
493
|
return;
|
|
489
494
|
}
|
|
490
495
|
|
|
491
496
|
var clientY = event.changedTouches[0].clientY;
|
|
492
|
-
var pixelRatio =
|
|
497
|
+
var pixelRatio = _globalObject.globalObject.devicePixelRatio;
|
|
493
498
|
|
|
494
499
|
var deltaY = ((_this.touchStartY || 0) - clientY) / pixelRatio;
|
|
495
500
|
var pos = _this.state.pos + deltaY + deltaY / itemHeight;
|
|
@@ -525,7 +530,7 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
|
|
|
525
530
|
handleDown = function (event) {
|
|
526
531
|
event.preventDefault();
|
|
527
532
|
_this.setPosition(_this.state.pos + itemHeight * _this.yearStep);
|
|
528
|
-
};return _this;}var _proto = DateSelect.prototype;_proto.componentDidUpdate = function componentDidUpdate() {this.setNodeTop();};_proto.componentDidMount = function componentDidMount() {this.listener = LayoutEvents.addListener(this.setNodeTop);this.setNodeTop();
|
|
533
|
+
};return _this;}var _proto = DateSelect.prototype;_proto.componentDidUpdate = function componentDidUpdate() {this.setNodeTop();};_proto.componentDidMount = function componentDidMount() {this.listener = LayoutEvents.addListener(this.setNodeTop);this.setNodeTop();_globalObject.globalObject.addEventListener == null ? void 0 : _globalObject.globalObject.addEventListener('keydown', this.handleKey);};_proto.componentWillUnmount = function componentWillUnmount() {if (this.listener) {this.listener.remove();}if (this.timeout) {_globalObject.globalObject.clearTimeout(this.timeout);}if (this.longClickTimer) {_globalObject.globalObject.clearTimeout(this.longClickTimer);}if (this.setPositionRepeatTimer) {_globalObject.globalObject.clearTimeout(this.setPositionRepeatTimer);}_globalObject.globalObject.removeEventListener == null ? void 0 : _globalObject.globalObject.removeEventListener('keydown', this.handleKey);} /**
|
|
529
534
|
* @public
|
|
530
535
|
*/;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _cx, _cx2;if ((0, _ThemeHelpers.isTheme2022)(this.theme)) {return this.renderMain2022();}var disabled = this.props.disabled;var width = this.getProps().width;var isInteractiveElement = !disabled;var Tag = isInteractiveElement ? 'button' : 'span';var rootProps = { className: (0, _Emotion.cx)((_cx = {}, _cx[_DateSelect.styles.root(this.theme)] = true, _cx[_DateSelect.styles.disabled()] = Boolean(disabled), _cx)), style: { width: width }, ref: this.refRoot, onClick: this.open, 'aria-expanded': isInteractiveElement ? this.state.opened : undefined, 'aria-controls': !disabled ? this.menuId : undefined, 'aria-label': isInteractiveElement ? this.locale.selectChosenAriaLabel + " " + (this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel) + " " + this.getItem(0) : undefined };return /*#__PURE__*/_react.default.createElement(Tag, rootProps, /*#__PURE__*/_react.default.createElement("div", { "data-tid": DateSelectDataTids.caption, className: _DateSelect.styles.caption() }, this.getItem(0), /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)((_cx2 = {}, _cx2[_DateSelect.styles.arrow(this.theme)] = true, _cx2[_DateSelect.styles.arrowDisabled()] = Boolean(disabled), _cx2)) }, /*#__PURE__*/_react.default.createElement(_px.ArrowTriangleUpDownIcon, { size: 12 }))), this.state.opened && this.renderMenu(this.menuId));};_proto.renderMain2022 = function renderMain2022() {var disabled = this.props.disabled;var width = this.getProps().width;var isInteractiveElement = !disabled;var Tag = isInteractiveElement ? 'button' : 'span';var rootProps = { className: (0, _Emotion.cx)(_DateSelect.styles.root(this.theme), _DateSelect.styles.root2022(), disabled && _DateSelect.styles.disabled()), style: { width: width }, ref: this.refRoot, onClick: this.open, 'aria-expanded': isInteractiveElement ? this.state.opened : undefined, 'aria-label': isInteractiveElement ? this.locale.selectChosenAriaLabel + " " + (this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel) + " " + this.getItem(0) : undefined };return /*#__PURE__*/_react.default.createElement(Tag, rootProps, /*#__PURE__*/_react.default.createElement("div", { "data-tid": DateSelectDataTids.caption, className: _DateSelect.styles.caption() }, this.getItem(0)), isInteractiveElement && /*#__PURE__*/_react.default.createElement(_ArrowCollapseCVOpenIcon16Regular.ArrowCollapseCVOpenIcon16Regular, { className: (0, _Emotion.cx)(_DateSelect.globalClasses.arrow), color: "#ADADAD" }), this.state.opened && this.renderMenu(this.menuId));};_proto.disableItems = function disableItems(index) {var value = this.props.value + index;if ((0, _utils.isNonNullable)(this.props.maxValue) && (0, _utils.isNonNullable)(this.props.minValue)) {return value > this.props.maxValue || value < this.props.minValue;}if ((0, _utils.isNonNullable)(this.props.minValue)) {return value < this.props.minValue;}if ((0, _utils.isNonNullable)(this.props.maxValue)) {return value > this.props.maxValue;}};_proto.renderMenu = function renderMenu(id) {var _this3 = this,_cx3;var _this$state = this.state,top = _this$state.top,height = _this$state.height,nodeTop = _this$state.nodeTop;var shift = this.state.pos % itemHeight;if (shift < 0) {shift += itemHeight;}var from = (this.state.pos - shift + top) / itemHeight;var to = from + Math.ceil((height + shift) / itemHeight);var items = [];var _loop = function _loop(i) {var _cx4;var disableItems = _this3.disableItems(i) || false;var className = (0, _Emotion.cx)((_cx4 = {}, _cx4[_DateSelect.styles.menuItem(_this3.theme)] = true, _cx4[_DateSelect.styles.menuItemSelected(_this3.theme)] = i === 0, _cx4[_DateSelect.styles.menuItemActive(_this3.theme)] = i === _this3.state.current, _cx4[_DateSelect.styles.menuItemDisabled(_this3.theme)] = disableItems, _cx4));var clickHandler = { onMouseDown: preventDefault, onClick: _this3.handleItemClick(i) };items.push( /*#__PURE__*/_react.default.createElement("button", (0, _extends2.default)({ "aria-label": "\u0412\u044B\u0431\u0440\u0430\u0442\u044C " + (_this3.getProps().type === 'year' ? 'год' : 'месяц') + " " + _this3.getItem(i), "data-tid": DateSelectDataTids.menuItem, "data-prop-disabled": disableItems, key: i, className: className, onMouseEnter: function onMouseEnter() {return _this3.setState({ current: i });}, onMouseLeave: function onMouseLeave() {return _this3.setState({ current: null });} }, clickHandler), _this3.getItem(i)));};for (var i = from; i < to; ++i) {_loop(i);}var style = { top: top - 5, left: 0, right: 0 };var shiftStyle = { position: 'relative', top: -shift };var holderClass = (0, _Emotion.cx)((_cx3 = {}, _cx3[_DateSelect.styles.menuHolder(this.theme)] = true, _cx3[_DateSelect.styles.isTopCapped()] = this.state.topCapped, _cx3[_DateSelect.styles.isBotCapped()] = this.state.botCapped, _cx3));var dropdownOffset = -itemHeight;if (nodeTop < -top) {var overflowOffsetDelta = this.state.topCapped ? 6 : 17;dropdownOffset -= nodeTop + top - overflowOffsetDelta;}var iconUp = (0, _ThemeHelpers.isTheme2022)(this.theme) ? /*#__PURE__*/_react.default.createElement(_ArrowCUpIcon16Regular.ArrowCUpIcon16Regular, { color: "#ADADAD" }) : /*#__PURE__*/_react.default.createElement(_px.ArrowChevronUpIcon, null);var iconDown = (0, _ThemeHelpers.isTheme2022)(this.theme) ? /*#__PURE__*/_react.default.createElement(_ArrowCDownIcon16Regular.ArrowCDownIcon16Regular, { color: "#ADADAD" }) : /*#__PURE__*/_react.default.createElement(_px.ArrowChevronDownIcon, null);return /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.close, onFocusOutside: this.close, active: true }, /*#__PURE__*/_react.default.createElement(_DropdownContainer.DropdownContainer, { "data-tid": DateSelectDataTids.menu, id: id, getParent: this.getAnchor, offsetY: dropdownOffset, offsetX: -10 }, /*#__PURE__*/_react.default.createElement("div", { className: holderClass, style: style }, !this.state.topCapped && /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_DateSelect.styles.menu(this.theme), _DateSelect.styles.menuUp()), onClick: this.handleUp, onMouseDown: this.handleLongClickUp, onMouseUp: this.handleLongClickStop, onMouseLeave: this.handleLongClickStop, onTouchStart: this.handleLongClickUp, onTouchEnd: this.handleLongClickStop }, /*#__PURE__*/_react.default.createElement("span", null, iconUp)), /*#__PURE__*/_react.default.createElement("div", { className: _DateSelect.styles.itemsHolder(), style: { height: height } }, /*#__PURE__*/_react.default.createElement("div", { ref: this.refItemsContainer, style: shiftStyle }, items)), !this.state.botCapped && /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_DateSelect.styles.menu(this.theme), _DateSelect.styles.menuDown()), onClick: this.handleDown, onMouseDown: this.handleLongClickDown, onMouseUp: this.handleLongClickStop, onMouseLeave: this.handleLongClickStop, onTouchStart: this.handleLongClickDown, onTouchEnd: this.handleLongClickStop }, /*#__PURE__*/_react.default.createElement("span", null, iconDown)))));};_proto.getItem = function getItem(index) {
|
|
531
536
|
var value = this.props.value + index;
|
|
@@ -571,7 +576,7 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
|
|
|
571
576
|
return ((this.props.maxValue || defaultMaxYear) - this.props.value) * itemHeight;
|
|
572
577
|
}
|
|
573
578
|
return Infinity; // Be defensive.
|
|
574
|
-
};return DateSelect;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'DateSelect', _class2.propTypes = { disabled: _propTypes.default.bool, type: _propTypes.default.string, value: _propTypes.default.number.isRequired, width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), onValueChange: _propTypes.default.func, minValue: _propTypes.default.number, maxValue: _propTypes.default.number }, _class2.defaultProps = { type: 'year', width: 'auto' }, _temp)) || _class);exports.DateSelect = DateSelect;
|
|
579
|
+
};return DateSelect;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'DateSelect', _class2.displayName = 'DateSelect', _class2.propTypes = { disabled: _propTypes.default.bool, type: _propTypes.default.string, value: _propTypes.default.number.isRequired, width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), onValueChange: _propTypes.default.func, minValue: _propTypes.default.number, maxValue: _propTypes.default.number }, _class2.defaultProps = { type: 'year', width: 'auto' }, _temp)) || _class);exports.DateSelect = DateSelect;
|
|
575
580
|
|
|
576
581
|
|
|
577
582
|
function preventDefault(e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["DateSelect.tsx"],"names":["itemHeight","visibleYearsCount","itemsToMoveCount","monthsCount","defaultMinYear","defaultMaxYear","calculatePos","pos","minPos","maxPos","DateSelectDataTids","caption","menuItem","menu","DateSelect","DatePickerLocaleHelper","getProps","defaultProps","state","botCapped","current","height","opened","top","topCapped","nodeTop","Infinity","root","itemsContainer","longClickTimer","setPositionRepeatTimer","yearStep","touchStartY","open","props","disabled","setPosition","setState","close","menuId","refRoot","element","setNodeTop","timeout","clearTimeout","setTimeout","refItemsContainer","addEventListener","handleWheel","passive","removeEventListener","isMobile","handleTouchStart","handleTouchMove","handleLongClickUp","event","preventDefault","window","setInterval","handleLongClickDown","handleLongClickStop","getAnchor","WheelEvent","stopPropagation","deltaY","deltaMode","TouchEvent","targetTouches","clientY","changedTouches","pixelRatio","devicePixelRatio","handleItemClick","shift","value","onValueChange","handleKey","e","handleUp","handleDown","componentDidUpdate","componentDidMount","listener","LayoutEvents","addListener","componentWillUnmount","remove","render","theme","renderMain","renderMain2022","width","isInteractiveElement","Tag","rootProps","className","styles","Boolean","style","ref","onClick","undefined","locale","selectChosenAriaLabel","type","selectYearAriaLabel","selectMonthAriaLabel","getItem","arrow","arrowDisabled","renderMenu","root2022","globalClasses","disableItems","index","maxValue","minValue","id","from","to","Math","ceil","items","i","menuItemSelected","menuItemActive","menuItemDisabled","clickHandler","onMouseDown","push","left","right","shiftStyle","position","holderClass","menuHolder","isTopCapped","isBotCapped","dropdownOffset","overflowOffsetDelta","iconUp","iconDown","menuUp","itemsHolder","menuDown","months","getMinPos","getMaxPos","calculatedPos","React","PureComponent","__KONTUR_REACT_UI__","propTypes","PropTypes","bool","string","number","isRequired","oneOfType","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../../components/DatePicker/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../RenderLayer';\nimport { DropdownContainer } from '../DropdownContainer';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ArrowTriangleUpDownIcon, ArrowChevronDownIcon, ArrowChevronUpIcon } from '../icons/16px';\nimport { isMobile } from '../../lib/client';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ArrowCollapseCVOpenIcon16Regular } from '../icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular';\nimport { ArrowCUpIcon16Regular } from '../icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular';\nimport { ArrowCDownIcon16Regular } from '../icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular';\n\nimport { globalClasses, styles } from './DateSelect.styles';\n\nconst itemHeight = 24;\nconst visibleYearsCount = 11;\nconst itemsToMoveCount = -5;\nconst monthsCount = 12;\nconst defaultMinYear = 1900;\nconst defaultMaxYear = 2100;\n\nexport interface DateSelectProps {\n disabled?: boolean | null;\n onValueChange: (value: number) => void;\n type?: 'month' | 'year';\n value: number;\n width?: number | string;\n minValue?: number;\n maxValue?: number;\n}\n\nexport interface DateSelectState {\n botCapped: boolean;\n current: Nullable<number>;\n height: number;\n opened: boolean;\n pos: number;\n top: number;\n topCapped: boolean;\n nodeTop: number;\n}\n\nconst calculatePos = (pos: number, minPos: number, maxPos: number) => {\n if (maxPos <= pos) {\n return maxPos;\n }\n\n if (minPos >= pos) {\n return minPos;\n }\n\n return pos;\n};\n\nexport const DateSelectDataTids = {\n caption: 'DateSelect__caption',\n menuItem: 'DateSelect__menuItem',\n menu: 'DateSelect__menu',\n} as const;\n\ntype DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;\n\n@locale('Calendar', DatePickerLocaleHelper)\nexport class DateSelect extends React.PureComponent<DateSelectProps, DateSelectState> {\n public static __KONTUR_REACT_UI__ = 'DateSelect';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n\n type: PropTypes.string,\n\n value: PropTypes.number.isRequired,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onValueChange: PropTypes.func,\n\n minValue: PropTypes.number,\n\n maxValue: PropTypes.number,\n };\n\n public static defaultProps: DefaultProps = {\n type: 'year',\n width: 'auto',\n };\n\n private getProps = createPropsGetter(DateSelect.defaultProps);\n\n public state = {\n botCapped: false,\n current: 0,\n height: 0,\n opened: false,\n pos: 0,\n top: 0,\n topCapped: false,\n nodeTop: Infinity,\n };\n\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private root: HTMLElement | null = null;\n private itemsContainer: HTMLElement | null = null;\n private listener: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private timeout: NodeJS.Timeout | undefined;\n private longClickTimer = 0;\n private setPositionRepeatTimer = 0;\n private yearStep = 3;\n private touchStartY: Nullable<number> = null;\n\n public componentDidUpdate() {\n this.setNodeTop();\n }\n\n public componentDidMount() {\n this.listener = LayoutEvents.addListener(this.setNodeTop);\n this.setNodeTop();\n window.addEventListener('keydown', this.handleKey);\n }\n\n public componentWillUnmount() {\n if (this.listener) {\n this.listener.remove();\n }\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n if (this.longClickTimer) {\n clearTimeout(this.longClickTimer);\n }\n if (this.setPositionRepeatTimer) {\n clearTimeout(this.setPositionRepeatTimer);\n }\n window.removeEventListener('keydown', this.handleKey);\n }\n\n /**\n * @public\n */\n public open = () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.state.opened) {\n return;\n }\n\n this.setPosition(0);\n this.setState({\n opened: true,\n current: 0,\n });\n };\n\n /**\n * @public\n */\n public close = () => {\n if (!this.state.opened) {\n return;\n }\n\n this.setState({ opened: false });\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private menuId = DateSelectDataTids.menu + getRandomID();\n\n private renderMain() {\n if (isTheme2022(this.theme)) {\n return this.renderMain2022();\n }\n\n const { disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: cx({\n [styles.root(this.theme)]: true,\n [styles.disabled()]: Boolean(disabled),\n }),\n style: { width },\n ref: this.refRoot,\n onClick: this.open,\n 'aria-expanded': isInteractiveElement ? this.state.opened : undefined,\n 'aria-controls': !disabled ? this.menuId : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(0)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(0)}\n <div\n className={cx({\n [styles.arrow(this.theme)]: true,\n [styles.arrowDisabled()]: Boolean(disabled),\n })}\n >\n <ArrowTriangleUpDownIcon size={12} />\n </div>\n </div>\n {this.state.opened && this.renderMenu(this.menuId)}\n </Tag>\n );\n }\n\n private renderMain2022() {\n const { disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: cx(styles.root(this.theme), styles.root2022(), disabled && styles.disabled()),\n style: { width },\n ref: this.refRoot,\n onClick: this.open,\n 'aria-expanded': isInteractiveElement ? this.state.opened : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(0)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(0)}\n </div>\n {isInteractiveElement && (\n <ArrowCollapseCVOpenIcon16Regular className={cx(globalClasses.arrow)} color=\"#ADADAD\" />\n )}\n {this.state.opened && this.renderMenu(this.menuId)}\n </Tag>\n );\n }\n\n private refRoot = (element: HTMLElement | null) => {\n this.root = element;\n };\n\n private setNodeTop = () => {\n const root = this.root;\n if (!root) {\n return;\n }\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n this.timeout = setTimeout(() =>\n this.setState({\n nodeTop: getDOMRect(root).top,\n }),\n );\n };\n\n private disableItems(index: number) {\n const value = this.props.value + index;\n if (isNonNullable(this.props.maxValue) && isNonNullable(this.props.minValue)) {\n return value > this.props.maxValue || value < this.props.minValue;\n }\n\n if (isNonNullable(this.props.minValue)) {\n return value < this.props.minValue;\n }\n\n if (isNonNullable(this.props.maxValue)) {\n return value > this.props.maxValue;\n }\n }\n\n private renderMenu(id?: string): React.ReactNode {\n const { top, height, nodeTop } = this.state;\n\n let shift = this.state.pos % itemHeight;\n if (shift < 0) {\n shift += itemHeight;\n }\n\n const from = (this.state.pos - shift + top) / itemHeight;\n const to = from + Math.ceil((height + shift) / itemHeight);\n const items = [];\n\n for (let i = from; i < to; ++i) {\n const disableItems = this.disableItems(i) || false;\n const className = cx({\n [styles.menuItem(this.theme)]: true,\n [styles.menuItemSelected(this.theme)]: i === 0,\n [styles.menuItemActive(this.theme)]: i === this.state.current,\n [styles.menuItemDisabled(this.theme)]: disableItems,\n });\n const clickHandler = {\n onMouseDown: preventDefault,\n onClick: this.handleItemClick(i),\n };\n items.push(\n <button\n aria-label={`Выбрать ${this.getProps().type === 'year' ? 'год' : 'месяц'} ${this.getItem(i)}`}\n data-tid={DateSelectDataTids.menuItem}\n data-prop-disabled={disableItems}\n key={i}\n className={className}\n onMouseEnter={() => this.setState({ current: i })}\n onMouseLeave={() => this.setState({ current: null })}\n {...clickHandler}\n >\n {this.getItem(i)}\n </button>,\n );\n }\n const style: {\n left?: number | string;\n right?: number | string;\n top: number;\n width?: number | string;\n } = {\n top: top - 5,\n left: 0,\n right: 0,\n };\n\n const shiftStyle: React.CSSProperties = {\n position: 'relative',\n top: -shift,\n };\n\n const holderClass = cx({\n [styles.menuHolder(this.theme)]: true,\n [styles.isTopCapped()]: this.state.topCapped,\n [styles.isBotCapped()]: this.state.botCapped,\n });\n\n let dropdownOffset = -itemHeight;\n if (nodeTop < -top) {\n const overflowOffsetDelta = this.state.topCapped ? 6 : 17;\n dropdownOffset -= nodeTop + top - overflowOffsetDelta;\n }\n\n const iconUp = isTheme2022(this.theme) ? <ArrowCUpIcon16Regular color=\"#ADADAD\" /> : <ArrowChevronUpIcon />;\n const iconDown = isTheme2022(this.theme) ? <ArrowCDownIcon16Regular color=\"#ADADAD\" /> : <ArrowChevronDownIcon />;\n\n return (\n <RenderLayer onClickOutside={this.close} onFocusOutside={this.close} active>\n <DropdownContainer\n data-tid={DateSelectDataTids.menu}\n id={id}\n getParent={this.getAnchor}\n offsetY={dropdownOffset}\n offsetX={-10}\n >\n <div className={holderClass} style={style}>\n {!this.state.topCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuUp())}\n onClick={this.handleUp}\n onMouseDown={this.handleLongClickUp}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickUp}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>{iconUp}</span>\n </div>\n )}\n <div className={styles.itemsHolder()} style={{ height }}>\n <div ref={this.refItemsContainer} style={shiftStyle}>\n {items}\n </div>\n </div>\n {!this.state.botCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuDown())}\n onClick={this.handleDown}\n onMouseDown={this.handleLongClickDown}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickDown}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>{iconDown}</span>\n </div>\n )}\n </div>\n </DropdownContainer>\n </RenderLayer>\n );\n }\n\n private refItemsContainer = (element: HTMLElement | null) => {\n if (!this.itemsContainer && element) {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('wheel', this.handleWheel);\n }\n\n if (isMobile) {\n if (!this.itemsContainer && element) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.handleTouchMove);\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('touchstart', this.handleTouchStart);\n this.itemsContainer.removeEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n this.itemsContainer = element;\n };\n\n private handleLongClickUp = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = window.setTimeout(() => {\n this.setPositionRepeatTimer = window.setInterval(() => this.setPosition(this.state.pos - itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickDown = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = window.setTimeout(() => {\n this.setPositionRepeatTimer = window.setInterval(() => this.setPosition(this.state.pos + itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickStop = () => {\n clearTimeout(this.longClickTimer);\n clearTimeout(this.setPositionRepeatTimer);\n };\n\n private getAnchor = () => this.root;\n\n private handleWheel = (event: Event) => {\n if (!(event instanceof WheelEvent)) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n\n let deltaY = event.deltaY;\n if (event.deltaMode === 1) {\n deltaY *= itemHeight;\n } else if (event.deltaMode === 2) {\n deltaY *= itemHeight * 4;\n }\n const pos = this.state.pos + deltaY;\n this.setPosition(pos);\n };\n\n private handleTouchStart = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n this.touchStartY = event.targetTouches[0].clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n const pixelRatio = window.devicePixelRatio;\n\n const deltaY = ((this.touchStartY || 0) - clientY) / pixelRatio;\n const pos = this.state.pos + deltaY + deltaY / itemHeight;\n\n this.touchStartY = clientY;\n\n this.setPosition(pos);\n };\n\n private handleItemClick = (shift: number) => {\n return () => {\n const value = this.props.value + shift;\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n this.setState({ opened: false });\n };\n };\n\n private handleKey = (e: KeyboardEvent) => {\n if (this.state.opened && isKeyEscape(e)) {\n e.preventDefault();\n this.close();\n e.stopPropagation();\n }\n };\n\n private handleUp = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos - itemHeight * this.yearStep);\n };\n\n private handleDown = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos + itemHeight * this.yearStep);\n };\n\n private getItem(index: number) {\n const value = this.props.value + index;\n if (this.getProps().type === 'month') {\n return this.locale.months?.[value];\n }\n return value;\n }\n\n private setPosition(pos: number) {\n let top = itemsToMoveCount * itemHeight;\n let height = visibleYearsCount * itemHeight;\n if (this.getProps().type === 'month') {\n top = -this.props.value * itemHeight;\n height = monthsCount * itemHeight;\n }\n\n const minPos = this.getMinPos() - top;\n const maxPos = this.getMaxPos() - top - height + itemHeight;\n\n const calculatedPos = calculatePos(pos, minPos, maxPos);\n const topCapped = calculatedPos <= minPos;\n const botCapped = calculatedPos >= maxPos;\n\n this.setState({ pos: calculatedPos, top, height, topCapped, botCapped });\n }\n\n private getMinPos() {\n const type = this.getProps().type;\n if (type === 'month') {\n return -this.props.value * itemHeight;\n } else if (type === 'year') {\n return ((this.props.minValue || defaultMinYear) - this.props.value) * itemHeight;\n }\n return -Infinity; // Be defensive.\n }\n\n private getMaxPos() {\n const type = this.getProps().type;\n if (type === 'month') {\n return (visibleYearsCount - this.props.value) * itemHeight;\n } else if (type === 'year') {\n return ((this.props.maxValue || defaultMaxYear) - this.props.value) * itemHeight;\n }\n return Infinity; // Be defensive.\n }\n}\n\nfunction preventDefault(e: React.SyntheticEvent) {\n e.preventDefault();\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["DateSelect.tsx"],"names":["itemHeight","visibleYearsCount","itemsToMoveCount","monthsCount","defaultMinYear","defaultMaxYear","calculatePos","pos","minPos","maxPos","DateSelectDataTids","caption","menuItem","menu","DateSelect","DatePickerLocaleHelper","getProps","defaultProps","state","botCapped","current","height","opened","top","topCapped","nodeTop","Infinity","root","itemsContainer","yearStep","touchStartY","open","props","disabled","setPosition","setState","close","menuId","refRoot","element","setNodeTop","timeout","globalObject","clearTimeout","setTimeout","refItemsContainer","addEventListener","handleWheel","passive","removeEventListener","isMobile","handleTouchStart","handleTouchMove","handleLongClickUp","event","preventDefault","longClickTimer","setPositionRepeatTimer","setInterval","handleLongClickDown","handleLongClickStop","getAnchor","WheelEvent","stopPropagation","deltaY","deltaMode","TouchEvent","targetTouches","clientY","changedTouches","pixelRatio","devicePixelRatio","handleItemClick","shift","value","onValueChange","handleKey","e","handleUp","handleDown","componentDidUpdate","componentDidMount","listener","LayoutEvents","addListener","componentWillUnmount","remove","render","theme","renderMain","renderMain2022","width","isInteractiveElement","Tag","rootProps","className","styles","Boolean","style","ref","onClick","undefined","locale","selectChosenAriaLabel","type","selectYearAriaLabel","selectMonthAriaLabel","getItem","arrow","arrowDisabled","renderMenu","root2022","globalClasses","disableItems","index","maxValue","minValue","id","from","to","Math","ceil","items","i","menuItemSelected","menuItemActive","menuItemDisabled","clickHandler","onMouseDown","push","left","right","shiftStyle","position","holderClass","menuHolder","isTopCapped","isBotCapped","dropdownOffset","overflowOffsetDelta","iconUp","iconDown","menuUp","itemsHolder","menuDown","months","getMinPos","getMaxPos","calculatedPos","React","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","bool","string","number","isRequired","oneOfType","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject, isBrowser, SafeTimer } from '@skbkontur/global-object';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../../components/DatePicker/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../RenderLayer';\nimport { DropdownContainer } from '../DropdownContainer';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ArrowTriangleUpDownIcon, ArrowChevronDownIcon, ArrowChevronUpIcon } from '../icons/16px';\nimport { isMobile } from '../../lib/client';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ArrowCollapseCVOpenIcon16Regular } from '../icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular';\nimport { ArrowCUpIcon16Regular } from '../icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular';\nimport { ArrowCDownIcon16Regular } from '../icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { globalClasses, styles } from './DateSelect.styles';\n\nconst itemHeight = 24;\nconst visibleYearsCount = 11;\nconst itemsToMoveCount = -5;\nconst monthsCount = 12;\nconst defaultMinYear = 1900;\nconst defaultMaxYear = 2100;\n\nexport interface DateSelectProps {\n disabled?: boolean | null;\n onValueChange: (value: number) => void;\n type?: 'month' | 'year';\n value: number;\n width?: number | string;\n minValue?: number;\n maxValue?: number;\n}\n\nexport interface DateSelectState {\n botCapped: boolean;\n current: Nullable<number>;\n height: number;\n opened: boolean;\n pos: number;\n top: number;\n topCapped: boolean;\n nodeTop: number;\n}\n\nconst calculatePos = (pos: number, minPos: number, maxPos: number) => {\n if (maxPos <= pos) {\n return maxPos;\n }\n\n if (minPos >= pos) {\n return minPos;\n }\n\n return pos;\n};\n\nexport const DateSelectDataTids = {\n caption: 'DateSelect__caption',\n menuItem: 'DateSelect__menuItem',\n menu: 'DateSelect__menu',\n} as const;\n\ntype DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;\n\n@locale('Calendar', DatePickerLocaleHelper)\nexport class DateSelect extends React.PureComponent<DateSelectProps, DateSelectState> {\n public static __KONTUR_REACT_UI__ = 'DateSelect';\n public static displayName = 'DateSelect';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n\n type: PropTypes.string,\n\n value: PropTypes.number.isRequired,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onValueChange: PropTypes.func,\n\n minValue: PropTypes.number,\n\n maxValue: PropTypes.number,\n };\n\n public static defaultProps: DefaultProps = {\n type: 'year',\n width: 'auto',\n };\n\n private getProps = createPropsGetter(DateSelect.defaultProps);\n\n public state = {\n botCapped: false,\n current: 0,\n height: 0,\n opened: false,\n pos: 0,\n top: 0,\n topCapped: false,\n nodeTop: Infinity,\n };\n\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private root: HTMLElement | null = null;\n private itemsContainer: HTMLElement | null = null;\n private listener: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private timeout: SafeTimer;\n private longClickTimer: SafeTimer;\n private setPositionRepeatTimer: SafeTimer;\n private yearStep = 3;\n private touchStartY: Nullable<number> = null;\n\n public componentDidUpdate() {\n this.setNodeTop();\n }\n\n public componentDidMount() {\n this.listener = LayoutEvents.addListener(this.setNodeTop);\n this.setNodeTop();\n globalObject.addEventListener?.('keydown', this.handleKey);\n }\n\n public componentWillUnmount() {\n if (this.listener) {\n this.listener.remove();\n }\n if (this.timeout) {\n globalObject.clearTimeout(this.timeout);\n }\n if (this.longClickTimer) {\n globalObject.clearTimeout(this.longClickTimer);\n }\n if (this.setPositionRepeatTimer) {\n globalObject.clearTimeout(this.setPositionRepeatTimer);\n }\n globalObject.removeEventListener?.('keydown', this.handleKey);\n }\n\n /**\n * @public\n */\n public open = () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.state.opened) {\n return;\n }\n\n this.setPosition(0);\n this.setState({\n opened: true,\n current: 0,\n });\n };\n\n /**\n * @public\n */\n public close = () => {\n if (!this.state.opened) {\n return;\n }\n\n this.setState({ opened: false });\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private menuId = DateSelectDataTids.menu + getRandomID();\n\n private renderMain() {\n if (isTheme2022(this.theme)) {\n return this.renderMain2022();\n }\n\n const { disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: cx({\n [styles.root(this.theme)]: true,\n [styles.disabled()]: Boolean(disabled),\n }),\n style: { width },\n ref: this.refRoot,\n onClick: this.open,\n 'aria-expanded': isInteractiveElement ? this.state.opened : undefined,\n 'aria-controls': !disabled ? this.menuId : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(0)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(0)}\n <div\n className={cx({\n [styles.arrow(this.theme)]: true,\n [styles.arrowDisabled()]: Boolean(disabled),\n })}\n >\n <ArrowTriangleUpDownIcon size={12} />\n </div>\n </div>\n {this.state.opened && this.renderMenu(this.menuId)}\n </Tag>\n );\n }\n\n private renderMain2022() {\n const { disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: cx(styles.root(this.theme), styles.root2022(), disabled && styles.disabled()),\n style: { width },\n ref: this.refRoot,\n onClick: this.open,\n 'aria-expanded': isInteractiveElement ? this.state.opened : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(0)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(0)}\n </div>\n {isInteractiveElement && (\n <ArrowCollapseCVOpenIcon16Regular className={cx(globalClasses.arrow)} color=\"#ADADAD\" />\n )}\n {this.state.opened && this.renderMenu(this.menuId)}\n </Tag>\n );\n }\n\n private refRoot = (element: HTMLElement | null) => {\n this.root = element;\n };\n\n private setNodeTop = () => {\n const root = this.root;\n if (!root) {\n return;\n }\n if (this.timeout) {\n globalObject.clearTimeout(this.timeout);\n }\n this.timeout = globalObject.setTimeout(\n () =>\n this.setState({\n nodeTop: getDOMRect(root).top,\n }),\n 0,\n );\n };\n\n private disableItems(index: number) {\n const value = this.props.value + index;\n if (isNonNullable(this.props.maxValue) && isNonNullable(this.props.minValue)) {\n return value > this.props.maxValue || value < this.props.minValue;\n }\n\n if (isNonNullable(this.props.minValue)) {\n return value < this.props.minValue;\n }\n\n if (isNonNullable(this.props.maxValue)) {\n return value > this.props.maxValue;\n }\n }\n\n private renderMenu(id?: string): React.ReactNode {\n const { top, height, nodeTop } = this.state;\n\n let shift = this.state.pos % itemHeight;\n if (shift < 0) {\n shift += itemHeight;\n }\n\n const from = (this.state.pos - shift + top) / itemHeight;\n const to = from + Math.ceil((height + shift) / itemHeight);\n const items = [];\n\n for (let i = from; i < to; ++i) {\n const disableItems = this.disableItems(i) || false;\n const className = cx({\n [styles.menuItem(this.theme)]: true,\n [styles.menuItemSelected(this.theme)]: i === 0,\n [styles.menuItemActive(this.theme)]: i === this.state.current,\n [styles.menuItemDisabled(this.theme)]: disableItems,\n });\n const clickHandler = {\n onMouseDown: preventDefault,\n onClick: this.handleItemClick(i),\n };\n items.push(\n <button\n aria-label={`Выбрать ${this.getProps().type === 'year' ? 'год' : 'месяц'} ${this.getItem(i)}`}\n data-tid={DateSelectDataTids.menuItem}\n data-prop-disabled={disableItems}\n key={i}\n className={className}\n onMouseEnter={() => this.setState({ current: i })}\n onMouseLeave={() => this.setState({ current: null })}\n {...clickHandler}\n >\n {this.getItem(i)}\n </button>,\n );\n }\n const style: {\n left?: number | string;\n right?: number | string;\n top: number;\n width?: number | string;\n } = {\n top: top - 5,\n left: 0,\n right: 0,\n };\n\n const shiftStyle: React.CSSProperties = {\n position: 'relative',\n top: -shift,\n };\n\n const holderClass = cx({\n [styles.menuHolder(this.theme)]: true,\n [styles.isTopCapped()]: this.state.topCapped,\n [styles.isBotCapped()]: this.state.botCapped,\n });\n\n let dropdownOffset = -itemHeight;\n if (nodeTop < -top) {\n const overflowOffsetDelta = this.state.topCapped ? 6 : 17;\n dropdownOffset -= nodeTop + top - overflowOffsetDelta;\n }\n\n const iconUp = isTheme2022(this.theme) ? <ArrowCUpIcon16Regular color=\"#ADADAD\" /> : <ArrowChevronUpIcon />;\n const iconDown = isTheme2022(this.theme) ? <ArrowCDownIcon16Regular color=\"#ADADAD\" /> : <ArrowChevronDownIcon />;\n\n return (\n <RenderLayer onClickOutside={this.close} onFocusOutside={this.close} active>\n <DropdownContainer\n data-tid={DateSelectDataTids.menu}\n id={id}\n getParent={this.getAnchor}\n offsetY={dropdownOffset}\n offsetX={-10}\n >\n <div className={holderClass} style={style}>\n {!this.state.topCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuUp())}\n onClick={this.handleUp}\n onMouseDown={this.handleLongClickUp}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickUp}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>{iconUp}</span>\n </div>\n )}\n <div className={styles.itemsHolder()} style={{ height }}>\n <div ref={this.refItemsContainer} style={shiftStyle}>\n {items}\n </div>\n </div>\n {!this.state.botCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuDown())}\n onClick={this.handleDown}\n onMouseDown={this.handleLongClickDown}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickDown}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>{iconDown}</span>\n </div>\n )}\n </div>\n </DropdownContainer>\n </RenderLayer>\n );\n }\n\n private refItemsContainer = (element: HTMLElement | null) => {\n if (!this.itemsContainer && element) {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('wheel', this.handleWheel);\n }\n\n if (isMobile) {\n if (!this.itemsContainer && element) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.handleTouchMove);\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('touchstart', this.handleTouchStart);\n this.itemsContainer.removeEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n this.itemsContainer = element;\n };\n\n private handleLongClickUp = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = globalObject.setTimeout(() => {\n this.setPositionRepeatTimer = globalObject.setInterval(() => this.setPosition(this.state.pos - itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickDown = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = globalObject.setTimeout(() => {\n this.setPositionRepeatTimer = globalObject.setInterval(() => this.setPosition(this.state.pos + itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickStop = () => {\n globalObject.clearTimeout(this.longClickTimer);\n globalObject.clearTimeout(this.setPositionRepeatTimer);\n };\n\n private getAnchor = () => this.root;\n\n private handleWheel = (event: Event) => {\n if (!isInstanceOf(event, globalObject.WheelEvent)) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n\n let deltaY = event.deltaY;\n if (event.deltaMode === 1) {\n deltaY *= itemHeight;\n } else if (event.deltaMode === 2) {\n deltaY *= itemHeight * 4;\n }\n const pos = this.state.pos + deltaY;\n this.setPosition(pos);\n };\n\n private handleTouchStart = (event: Event) => {\n if (!isInstanceOf(event, globalObject.TouchEvent)) {\n return;\n }\n\n this.touchStartY = event.targetTouches[0].clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!isInstanceOf(event, globalObject.TouchEvent) || !isBrowser(globalObject)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n const pixelRatio = globalObject.devicePixelRatio;\n\n const deltaY = ((this.touchStartY || 0) - clientY) / pixelRatio;\n const pos = this.state.pos + deltaY + deltaY / itemHeight;\n\n this.touchStartY = clientY;\n\n this.setPosition(pos);\n };\n\n private handleItemClick = (shift: number) => {\n return () => {\n const value = this.props.value + shift;\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n this.setState({ opened: false });\n };\n };\n\n private handleKey = (e: KeyboardEvent) => {\n if (this.state.opened && isKeyEscape(e)) {\n e.preventDefault();\n this.close();\n e.stopPropagation();\n }\n };\n\n private handleUp = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos - itemHeight * this.yearStep);\n };\n\n private handleDown = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos + itemHeight * this.yearStep);\n };\n\n private getItem(index: number) {\n const value = this.props.value + index;\n if (this.getProps().type === 'month') {\n return this.locale.months?.[value];\n }\n return value;\n }\n\n private setPosition(pos: number) {\n let top = itemsToMoveCount * itemHeight;\n let height = visibleYearsCount * itemHeight;\n if (this.getProps().type === 'month') {\n top = -this.props.value * itemHeight;\n height = monthsCount * itemHeight;\n }\n\n const minPos = this.getMinPos() - top;\n const maxPos = this.getMaxPos() - top - height + itemHeight;\n\n const calculatedPos = calculatePos(pos, minPos, maxPos);\n const topCapped = calculatedPos <= minPos;\n const botCapped = calculatedPos >= maxPos;\n\n this.setState({ pos: calculatedPos, top, height, topCapped, botCapped });\n }\n\n private getMinPos() {\n const type = this.getProps().type;\n if (type === 'month') {\n return -this.props.value * itemHeight;\n } else if (type === 'year') {\n return ((this.props.minValue || defaultMinYear) - this.props.value) * itemHeight;\n }\n return -Infinity; // Be defensive.\n }\n\n private getMaxPos() {\n const type = this.getProps().type;\n if (type === 'month') {\n return (visibleYearsCount - this.props.value) * itemHeight;\n } else if (type === 'year') {\n return ((this.props.maxValue || defaultMaxYear) - this.props.value) * itemHeight;\n }\n return Infinity; // Be defensive.\n }\n}\n\nfunction preventDefault(e: React.SyntheticEvent) {\n e.preventDefault();\n}\n"]}
|
|
@@ -28,6 +28,7 @@ export interface DropdownContainerState {
|
|
|
28
28
|
declare type DefaultProps = Required<Pick<DropdownContainerProps, 'align' | 'disablePortal' | 'offsetY' | 'offsetX'>>;
|
|
29
29
|
export declare class DropdownContainer extends React.PureComponent<DropdownContainerProps, DropdownContainerState> {
|
|
30
30
|
static __KONTUR_REACT_UI__: string;
|
|
31
|
+
static displayName: string;
|
|
31
32
|
static defaultProps: DefaultProps;
|
|
32
33
|
private getProps;
|
|
33
34
|
private dom;
|
|
@@ -37,7 +38,6 @@ export declare class DropdownContainer extends React.PureComponent<DropdownConta
|
|
|
37
38
|
componentWillUnmount(): void;
|
|
38
39
|
render(): JSX.Element;
|
|
39
40
|
private ZIndexRef;
|
|
40
|
-
private isElement;
|
|
41
41
|
position: () => void;
|
|
42
42
|
private getHeight;
|
|
43
43
|
private getMinWidth;
|