@skbkontur/react-ui 0.0.0-0dca6f33be → 0.0.0-0ffbe8b468
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 +188 -0
- package/cjs/components/Autocomplete/Autocomplete.d.ts +9 -3
- package/cjs/components/Autocomplete/Autocomplete.js +24 -7
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Autocomplete/Autocomplete.md +17 -0
- package/cjs/components/Button/Button.d.ts +9 -3
- package/cjs/components/Button/Button.js +27 -4
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.mixins.js +1 -1
- package/cjs/components/Button/Button.mixins.js.map +1 -1
- package/cjs/components/Button/Button.styles.d.ts +1 -0
- package/cjs/components/Button/Button.styles.js +68 -62
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Button/ButtonIcon.d.ts +3 -2
- package/cjs/components/Button/ButtonIcon.js +1 -0
- package/cjs/components/Button/ButtonIcon.js.map +1 -1
- package/cjs/components/Button/getInnerLinkTheme.js +9 -4
- package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
- package/cjs/components/Calendar/Calendar.d.ts +1 -0
- package/cjs/components/Calendar/Calendar.js +1 -0
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Calendar/Calendar.md +14 -3
- package/cjs/components/Calendar/Calendar.styles.js +1 -2
- package/cjs/components/Calendar/Calendar.styles.js.map +1 -1
- package/cjs/components/Calendar/DayCellView.js +9 -2
- package/cjs/components/Calendar/DayCellView.js.map +1 -1
- package/cjs/components/Calendar/DayCellView.styles.d.ts +1 -1
- package/cjs/components/Calendar/DayCellView.styles.js +4 -4
- package/cjs/components/Calendar/DayCellView.styles.js.map +1 -1
- package/cjs/components/Calendar/locale/locales/en.js +3 -1
- package/cjs/components/Calendar/locale/locales/en.js.map +1 -1
- package/cjs/components/Calendar/locale/locales/ru.js +3 -1
- package/cjs/components/Calendar/locale/locales/ru.js.map +1 -1
- package/cjs/components/Calendar/locale/types.d.ts +4 -0
- package/cjs/components/Checkbox/Checkbox.d.ts +15 -5
- package/cjs/components/Checkbox/Checkbox.js +73 -16
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.md +18 -0
- package/cjs/components/Checkbox/Checkbox.mixins.d.ts +2 -0
- package/cjs/components/Checkbox/Checkbox.mixins.js +37 -0
- package/cjs/components/Checkbox/Checkbox.mixins.js.map +1 -0
- package/cjs/components/Checkbox/Checkbox.styles.d.ts +6 -0
- package/cjs/components/Checkbox/Checkbox.styles.js +95 -34
- package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.d.ts +6 -8
- package/cjs/components/ComboBox/ComboBox.js +2 -1
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.md +51 -5
- package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +2 -0
- package/cjs/components/CurrencyInput/CurrencyHelper.js +21 -6
- package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +2 -2
- package/cjs/components/CurrencyInput/CurrencyInput.js +2 -0
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/DateInput/DateInput.d.ts +5 -1
- package/cjs/components/DateInput/DateInput.js +24 -8
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +2 -1
- package/cjs/components/DatePicker/DatePicker.js +13 -2
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.md +15 -0
- package/cjs/components/DatePicker/locale/locales/en.js +4 -1
- package/cjs/components/DatePicker/locale/locales/en.js.map +1 -1
- package/cjs/components/DatePicker/locale/locales/ru.js +4 -1
- package/cjs/components/DatePicker/locale/locales/ru.js.map +1 -1
- package/cjs/components/DatePicker/locale/types.d.ts +3 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +4 -7
- package/cjs/components/Dropdown/Dropdown.js +4 -3
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.md +33 -0
- package/cjs/components/Dropdown/getDropdownTheme.js +32 -1
- package/cjs/components/Dropdown/getDropdownTheme.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +2 -2
- package/cjs/components/DropdownMenu/DropdownMenu.js +6 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.md +28 -0
- package/cjs/components/DropdownMenu/getDropdownMenuTheme.js +5 -1
- package/cjs/components/DropdownMenu/getDropdownMenuTheme.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.d.ts +6 -2
- package/cjs/components/FileUploader/FileUploader.js +4 -0
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.styles.js +3 -2
- package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
- package/cjs/components/FxInput/FxInput.d.ts +4 -2
- package/cjs/components/FxInput/FxInput.js +6 -1
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/FxInput/FxInputRestoreBtn.d.ts +3 -2
- package/cjs/components/FxInput/FxInputRestoreBtn.js +7 -2
- package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.js +6 -2
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +2 -1
- package/cjs/components/GlobalLoader/GlobalLoaderView.js +6 -4
- package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
- package/cjs/components/Hint/Hint.js +2 -1
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Input/Input.d.ts +7 -7
- package/cjs/components/Input/Input.js +12 -7
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.styles.js +3 -2
- package/cjs/components/Input/Input.styles.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayout.d.ts +3 -2
- package/cjs/components/Input/InputLayout/InputLayout.js +4 -3
- package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutAside.js +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +5 -4
- 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/Kebab/Kebab.d.ts +3 -2
- package/cjs/components/Kebab/Kebab.js +8 -1
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Kebab/Kebab.md +28 -0
- package/cjs/components/Link/Link.d.ts +2 -2
- package/cjs/components/Link/Link.js +20 -4
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.mixins.d.ts +1 -2
- package/cjs/components/Link/Link.mixins.js +5 -16
- package/cjs/components/Link/Link.mixins.js.map +1 -1
- package/cjs/components/Link/Link.styles.d.ts +4 -0
- package/cjs/components/Link/Link.styles.js +96 -37
- package/cjs/components/Link/Link.styles.js.map +1 -1
- package/cjs/components/MenuFooter/MenuFooter.d.ts +30 -0
- package/cjs/components/MenuFooter/MenuFooter.js +83 -0
- package/cjs/components/MenuFooter/MenuFooter.js.map +1 -0
- package/cjs/components/MenuFooter/MenuFooter.md +27 -0
- package/cjs/components/MenuFooter/MenuFooter.mixins.d.ts +2 -0
- package/cjs/components/MenuFooter/MenuFooter.mixins.js +26 -0
- package/cjs/components/MenuFooter/MenuFooter.mixins.js.map +1 -0
- package/cjs/components/MenuFooter/MenuFooter.styles.d.ts +10 -0
- package/cjs/components/MenuFooter/MenuFooter.styles.js +65 -0
- package/cjs/components/MenuFooter/MenuFooter.styles.js.map +1 -0
- package/cjs/components/MenuFooter/index.d.ts +1 -0
- package/cjs/components/MenuFooter/index.js +1 -0
- package/cjs/components/MenuFooter/index.js.map +1 -0
- package/cjs/components/MenuHeader/MenuHeader.d.ts +8 -1
- package/cjs/components/MenuHeader/MenuHeader.js +35 -4
- package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
- package/cjs/components/MenuHeader/MenuHeader.md +12 -0
- package/cjs/components/MenuHeader/MenuHeader.mixins.d.ts +2 -0
- package/cjs/components/MenuHeader/MenuHeader.mixins.js +26 -0
- package/cjs/components/MenuHeader/MenuHeader.mixins.js.map +1 -0
- package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +6 -1
- package/cjs/components/MenuHeader/MenuHeader.styles.js +54 -12
- package/cjs/components/MenuHeader/MenuHeader.styles.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +14 -5
- package/cjs/components/MenuItem/MenuItem.js +61 -9
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.md +12 -0
- package/cjs/components/MenuItem/MenuItem.mixins.d.ts +3 -0
- package/cjs/components/MenuItem/MenuItem.mixins.js +42 -0
- package/cjs/components/MenuItem/MenuItem.mixins.js.map +1 -0
- package/cjs/components/MenuItem/MenuItem.styles.d.ts +9 -1
- package/cjs/components/MenuItem/MenuItem.styles.js +80 -27
- package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
- package/cjs/components/Modal/Modal.md +16 -0
- package/cjs/components/Modal/ModalClose.js +5 -1
- package/cjs/components/Modal/ModalClose.js.map +1 -1
- package/cjs/components/Modal/locale/index.d.ts +4 -0
- package/cjs/components/Modal/locale/index.js +11 -0
- package/cjs/components/Modal/locale/index.js.map +1 -0
- package/cjs/components/Modal/locale/locales/en.d.ts +2 -0
- package/cjs/components/Modal/locale/locales/en.js +4 -0
- package/cjs/components/Modal/locale/locales/en.js.map +1 -0
- package/cjs/components/Modal/locale/locales/ru.d.ts +2 -0
- package/cjs/components/Modal/locale/locales/ru.js +4 -0
- package/cjs/components/Modal/locale/locales/ru.js.map +1 -0
- package/cjs/components/Modal/locale/types.d.ts +3 -0
- package/cjs/components/Modal/locale/types.js +1 -0
- package/cjs/components/Modal/locale/types.js.map +1 -0
- package/cjs/components/Paging/Paging.js +1 -1
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/Paging.styles.js +2 -1
- package/cjs/components/Paging/Paging.styles.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +3 -2
- package/cjs/components/PasswordInput/PasswordInput.js +13 -4
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.md +19 -0
- package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +1 -0
- package/cjs/components/PasswordInput/PasswordInput.styles.js +11 -1
- package/cjs/components/PasswordInput/PasswordInput.styles.js.map +1 -1
- package/cjs/components/PasswordInput/locale/index.d.ts +4 -0
- package/cjs/components/PasswordInput/locale/index.js +11 -0
- package/cjs/components/PasswordInput/locale/index.js.map +1 -0
- package/cjs/components/PasswordInput/locale/locales/en.d.ts +2 -0
- package/cjs/components/PasswordInput/locale/locales/en.js +5 -0
- package/cjs/components/PasswordInput/locale/locales/en.js.map +1 -0
- package/cjs/components/PasswordInput/locale/locales/ru.d.ts +2 -0
- package/cjs/components/PasswordInput/locale/locales/ru.js +5 -0
- package/cjs/components/PasswordInput/locale/locales/ru.js.map +1 -0
- package/cjs/components/PasswordInput/locale/types.d.ts +4 -0
- package/cjs/components/PasswordInput/locale/types.js +1 -0
- package/cjs/components/PasswordInput/locale/types.js.map +1 -0
- package/cjs/components/Radio/Radio.d.ts +15 -3
- package/cjs/components/Radio/Radio.js +58 -6
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/Radio/Radio.md +18 -0
- package/cjs/components/Radio/Radio.mixins.d.ts +5 -0
- package/cjs/components/Radio/Radio.mixins.js +71 -0
- package/cjs/components/Radio/Radio.mixins.js.map +1 -0
- package/cjs/components/Radio/Radio.styles.d.ts +9 -0
- package/cjs/components/Radio/Radio.styles.js +93 -57
- package/cjs/components/Radio/Radio.styles.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +3 -2
- package/cjs/components/ScrollContainer/ScrollContainer.js +2 -1
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +12 -10
- package/cjs/components/Select/Select.js +30 -9
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.md +17 -0
- package/cjs/components/Select/Select.styles.js +3 -2
- package/cjs/components/Select/Select.styles.js.map +1 -1
- package/cjs/components/Select/selectTheme.js +4 -1
- package/cjs/components/Select/selectTheme.js.map +1 -1
- package/cjs/components/SidePage/SidePage.js +5 -1
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePage.md +16 -0
- package/cjs/components/SidePage/SidePageCloseButton.d.ts +1 -0
- package/cjs/components/SidePage/SidePageCloseButton.js +47 -0
- package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -0
- package/cjs/components/SidePage/SidePageHeader.d.ts +0 -4
- package/cjs/components/SidePage/SidePageHeader.js +7 -41
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/SidePage/locale/index.d.ts +4 -0
- package/cjs/components/SidePage/locale/index.js +11 -0
- package/cjs/components/SidePage/locale/index.js.map +1 -0
- package/cjs/components/SidePage/locale/locales/en.d.ts +2 -0
- package/cjs/components/SidePage/locale/locales/en.js +4 -0
- package/cjs/components/SidePage/locale/locales/en.js.map +1 -0
- package/cjs/components/SidePage/locale/locales/ru.d.ts +2 -0
- package/cjs/components/SidePage/locale/locales/ru.js +4 -0
- package/cjs/components/SidePage/locale/locales/ru.js.map +1 -0
- package/cjs/components/SidePage/locale/types.d.ts +3 -0
- package/cjs/components/SidePage/locale/types.js +1 -0
- package/cjs/components/SidePage/locale/types.js.map +1 -0
- package/cjs/components/Sticky/Sticky.js +10 -3
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +12 -7
- package/cjs/components/Switcher/Switcher.js +16 -5
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Tabs/Tab.d.ts +17 -36
- package/cjs/components/Tabs/Tab.js +24 -21
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tab.md +71 -0
- package/cjs/components/Tabs/Tab.styles.d.ts +9 -3
- package/cjs/components/Tabs/Tab.styles.js +106 -68
- package/cjs/components/Tabs/Tab.styles.js.map +1 -1
- package/cjs/components/Tabs/Tabs.d.ts +16 -15
- package/cjs/components/Tabs/Tabs.js +12 -4
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Tabs/Tabs.md +39 -22
- package/cjs/components/Tabs/Tabs.styles.d.ts +3 -1
- package/cjs/components/Tabs/Tabs.styles.js +23 -7
- package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
- package/cjs/components/Tabs/TabsContext.d.ts +2 -0
- package/cjs/components/Tabs/TabsContext.js +3 -0
- package/cjs/components/Tabs/TabsContext.js.map +1 -1
- package/cjs/components/Tabs/helpers.d.ts +6 -0
- package/cjs/components/Tabs/helpers.js +31 -0
- package/cjs/components/Tabs/helpers.js.map +1 -0
- package/cjs/components/Textarea/Textarea.d.ts +12 -3
- package/cjs/components/Textarea/Textarea.js +48 -7
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/Textarea.md +12 -0
- package/cjs/components/Textarea/Textarea.mixins.d.ts +3 -0
- package/cjs/components/Textarea/Textarea.mixins.js +22 -0
- package/cjs/components/Textarea/Textarea.mixins.js.map +1 -0
- package/cjs/components/Textarea/Textarea.styles.d.ts +10 -1
- package/cjs/components/Textarea/Textarea.styles.js +64 -23
- package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.d.ts +2 -0
- package/cjs/components/Textarea/TextareaCounter.js +17 -3
- package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
- package/cjs/components/Toast/Toast.d.ts +3 -2
- package/cjs/components/Toast/Toast.js +3 -1
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/ToastView.d.ts +6 -6
- package/cjs/components/Toast/ToastView.js +19 -6
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toast/ToastView.styles.js +5 -2
- package/cjs/components/Toast/ToastView.styles.js.map +1 -1
- package/cjs/components/Toast/locale/index.d.ts +4 -0
- package/cjs/components/Toast/locale/index.js +11 -0
- package/cjs/components/Toast/locale/index.js.map +1 -0
- package/cjs/components/Toast/locale/locales/en.d.ts +2 -0
- package/cjs/components/Toast/locale/locales/en.js +4 -0
- package/cjs/components/Toast/locale/locales/en.js.map +1 -0
- package/cjs/components/Toast/locale/locales/ru.d.ts +2 -0
- package/cjs/components/Toast/locale/locales/ru.js +4 -0
- package/cjs/components/Toast/locale/locales/ru.js.map +1 -0
- package/cjs/components/Toast/locale/types.d.ts +3 -0
- package/cjs/components/Toast/locale/types.js +1 -0
- package/cjs/components/Toast/locale/types.js.map +1 -0
- package/cjs/components/Toggle/Toggle.d.ts +16 -6
- package/cjs/components/Toggle/Toggle.js +112 -3
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Toggle/Toggle.md +18 -2
- package/cjs/components/Toggle/Toggle.mixins.d.ts +7 -0
- package/cjs/components/Toggle/Toggle.mixins.js +90 -0
- package/cjs/components/Toggle/Toggle.mixins.js.map +1 -0
- package/cjs/components/Toggle/Toggle.styles.d.ts +21 -1
- package/cjs/components/Toggle/Toggle.styles.js +172 -56
- package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
- package/cjs/components/Token/Token.d.ts +2 -5
- package/cjs/components/Token/Token.js +15 -8
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/Token/locale/index.d.ts +4 -0
- package/cjs/components/Token/locale/index.js +11 -0
- package/cjs/components/Token/locale/index.js.map +1 -0
- package/cjs/components/Token/locale/locales/en.d.ts +2 -0
- package/cjs/components/Token/locale/locales/en.js +4 -0
- package/cjs/components/Token/locale/locales/en.js.map +1 -0
- package/cjs/components/Token/locale/locales/ru.d.ts +2 -0
- package/cjs/components/Token/locale/locales/ru.js +4 -0
- package/cjs/components/Token/locale/locales/ru.js.map +1 -0
- package/cjs/components/Token/locale/types.d.ts +3 -0
- package/cjs/components/Token/locale/types.js +1 -0
- package/cjs/components/Token/locale/types.js.map +1 -0
- package/cjs/components/TokenInput/TokenInput.d.ts +3 -5
- package/cjs/components/TokenInput/TokenInput.js +11 -8
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.md +26 -35
- package/cjs/components/TokenInput/TokenInput.styles.js +2 -1
- package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
- package/cjs/components/TokenInput/TokenInputMenu.d.ts +7 -0
- package/cjs/components/TokenInput/TokenInputMenu.js +9 -1
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +2 -2
- package/cjs/components/TooltipMenu/TooltipMenu.js +10 -2
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.md +28 -0
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +1 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/CloseButtonIcon/CloseButtonIcon.d.ts +2 -2
- package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js +3 -0
- package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
- package/cjs/internal/CloseButtonIcon/CloseButtonIcon.styles.js +2 -1
- package/cjs/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +9 -3
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js +37 -2
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +14 -13
- package/cjs/internal/CustomComboBox/ComboBoxView.js +32 -34
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +10 -7
- package/cjs/internal/CustomComboBox/CustomComboBox.js +21 -12
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +2 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +4 -0
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.d.ts +2 -0
- package/cjs/internal/DateSelect/DateSelect.js +31 -2
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.styles.d.ts +3 -0
- package/cjs/internal/DateSelect/DateSelect.styles.js +26 -4
- package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
- package/cjs/internal/DateSelect/locale/index.d.ts +4 -0
- package/cjs/internal/DateSelect/locale/index.js +11 -0
- package/cjs/internal/DateSelect/locale/index.js.map +1 -0
- package/cjs/internal/DateSelect/locale/locales/en.d.ts +2 -0
- package/cjs/internal/DateSelect/locale/locales/en.js +6 -0
- package/cjs/internal/DateSelect/locale/locales/en.js.map +1 -0
- package/cjs/internal/DateSelect/locale/locales/ru.d.ts +2 -0
- package/cjs/internal/DateSelect/locale/locales/ru.js +6 -0
- package/cjs/internal/DateSelect/locale/locales/ru.js.map +1 -0
- package/cjs/internal/DateSelect/locale/types.d.ts +5 -0
- package/cjs/internal/DateSelect/locale/types.js +1 -0
- package/cjs/internal/DateSelect/locale/types.js.map +1 -0
- package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +3 -2
- package/cjs/internal/DropdownContainer/DropdownContainer.js +6 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -6
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +9 -7
- 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 +2 -2
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +1 -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/InputLikeText/InputLikeText.d.ts +1 -0
- package/cjs/internal/InputLikeText/InputLikeText.js +16 -4
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.d.ts +13 -4
- package/cjs/internal/InternalMenu/InternalMenu.js +15 -5
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +1 -0
- package/cjs/internal/InternalMenu/InternalMenu.styles.js +13 -7
- package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
- package/cjs/internal/InternalMenu/isIconPaddingEnabled.d.ts +2 -0
- package/cjs/internal/InternalMenu/isIconPaddingEnabled.js +9 -0
- package/cjs/internal/InternalMenu/isIconPaddingEnabled.js.map +1 -0
- package/cjs/internal/Menu/Menu.d.ts +42 -8
- package/cjs/internal/Menu/Menu.js +272 -78
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/Menu/Menu.styles.d.ts +6 -1
- package/cjs/internal/Menu/Menu.styles.js +42 -8
- package/cjs/internal/Menu/Menu.styles.js.map +1 -1
- package/cjs/internal/MenuMessage/MenuMessage.d.ts +2 -0
- package/cjs/internal/MenuMessage/MenuMessage.js +18 -3
- package/cjs/internal/MenuMessage/MenuMessage.js.map +1 -1
- package/cjs/internal/MenuMessage/MenuMessage.styles.d.ts +3 -0
- package/cjs/internal/MenuMessage/MenuMessage.styles.js +21 -6
- package/cjs/internal/MenuMessage/MenuMessage.styles.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -2
- package/cjs/internal/MobilePopup/MobilePopup.js +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +7 -2
- package/cjs/internal/Popup/Popup.js +13 -3
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +5 -2
- package/cjs/internal/PopupMenu/PopupMenu.js +33 -4
- package/cjs/internal/PopupMenu/PopupMenu.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/darkTheme.d.ts +1 -1
- package/cjs/internal/ThemePlayground/darkTheme.js +1 -1
- package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/themes/DarkTheme.d.ts +2 -0
- package/cjs/internal/themes/DarkTheme.js +11 -3
- package/cjs/internal/themes/DarkTheme.js.map +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +280 -19
- package/cjs/internal/themes/DefaultTheme.js +604 -94
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/internal/themes/Theme2022.d.ts +28 -4
- package/cjs/internal/themes/Theme2022.js +53 -19
- package/cjs/internal/themes/Theme2022.js.map +1 -1
- package/cjs/internal/themes/Theme2022Dark.d.ts +5 -7
- package/cjs/internal/themes/Theme2022Dark.js +8 -18
- package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
- package/cjs/lib/locale/types.d.ts +6 -0
- package/cjs/lib/locale/types.js +6 -0
- package/cjs/lib/locale/types.js.map +1 -1
- package/cjs/lib/rootNode/rootNodeDecorator.d.ts +5 -1
- package/cjs/lib/rootNode/rootNodeDecorator.js +7 -3
- package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
- package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -1
- package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js +7 -2
- package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -1
- 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/components/Autocomplete/Autocomplete/Autocomplete.js +18 -5
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +9 -3
- package/components/Autocomplete/Autocomplete.md +17 -0
- package/components/Button/Button/Button.js +17 -2
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +9 -3
- package/components/Button/Button.mixins/Button.mixins.js +1 -1
- package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
- package/components/Button/Button.styles/Button.styles.js +61 -58
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Button/Button.styles.d.ts +1 -0
- package/components/Button/ButtonIcon/ButtonIcon.js.map +1 -1
- package/components/Button/ButtonIcon.d.ts +3 -2
- package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +9 -4
- package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
- package/components/Calendar/Calendar/Calendar.js +1 -0
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/Calendar.d.ts +1 -0
- package/components/Calendar/Calendar.md +14 -3
- package/components/Calendar/Calendar.styles/Calendar.styles.js +1 -1
- package/components/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
- package/components/Calendar/DayCellView/DayCellView.js +7 -1
- package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
- package/components/Calendar/DayCellView.styles/DayCellView.styles.js +2 -2
- package/components/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
- package/components/Calendar/DayCellView.styles.d.ts +1 -1
- package/components/Calendar/locale/locales/en/en.js +2 -1
- package/components/Calendar/locale/locales/en/en.js.map +1 -1
- package/components/Calendar/locale/locales/ru/ru.js +2 -1
- package/components/Calendar/locale/locales/ru/ru.js.map +1 -1
- package/components/Calendar/locale/types.d.ts +4 -0
- package/components/Checkbox/Checkbox/Checkbox.js +62 -8
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +15 -5
- package/components/Checkbox/Checkbox.md +18 -0
- package/components/Checkbox/Checkbox.mixins/Checkbox.mixins.js +16 -0
- package/components/Checkbox/Checkbox.mixins/Checkbox.mixins.js.map +1 -0
- package/components/Checkbox/Checkbox.mixins/package.json +6 -0
- package/components/Checkbox/Checkbox.mixins.d.ts +2 -0
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +39 -25
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
- package/components/Checkbox/Checkbox.styles.d.ts +6 -0
- package/components/ComboBox/ComboBox/ComboBox.js +1 -0
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +6 -8
- package/components/ComboBox/ComboBox.md +51 -5
- package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +32 -4
- package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
- package/components/CurrencyInput/CurrencyHelper.d.ts +2 -0
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +1 -0
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +2 -2
- package/components/DateInput/DateInput/DateInput.js +26 -9
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +5 -1
- package/components/DatePicker/DatePicker/DatePicker.js +7 -1
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +2 -1
- package/components/DatePicker/DatePicker.md +15 -0
- package/components/DatePicker/locale/locales/en/en.js +4 -2
- package/components/DatePicker/locale/locales/en/en.js.map +1 -1
- package/components/DatePicker/locale/locales/ru/ru.js +4 -2
- package/components/DatePicker/locale/locales/ru/ru.js.map +1 -1
- package/components/DatePicker/locale/types.d.ts +3 -1
- package/components/Dropdown/Dropdown/Dropdown.js +3 -1
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +4 -7
- package/components/Dropdown/Dropdown.md +33 -0
- package/components/Dropdown/getDropdownTheme/getDropdownTheme.js +27 -1
- package/components/Dropdown/getDropdownTheme/getDropdownTheme.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +2 -0
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +2 -2
- package/components/DropdownMenu/DropdownMenu.md +28 -0
- package/components/DropdownMenu/getDropdownMenuTheme/getDropdownMenuTheme.js +5 -1
- package/components/DropdownMenu/getDropdownMenuTheme/getDropdownMenuTheme.js.map +1 -1
- package/components/FileUploader/FileUploader/FileUploader.js +4 -0
- 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 +1 -1
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
- package/components/FxInput/FxInput/FxInput.js +2 -1
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +4 -2
- package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js +4 -2
- package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
- package/components/FxInput/FxInputRestoreBtn.d.ts +3 -2
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +5 -1
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +6 -2
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.d.ts +2 -1
- package/components/Hint/Hint/Hint.js +2 -1
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Input/Input/Input.js +10 -2
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +7 -7
- package/components/Input/Input.styles/Input.styles.js +2 -2
- package/components/Input/Input.styles/Input.styles.js.map +1 -1
- package/components/Input/InputLayout/InputLayout/InputLayout.js +4 -2
- package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
- package/components/Input/InputLayout/InputLayout.d.ts +3 -2
- 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 +7 -5
- 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/Kebab/Kebab/Kebab.js +7 -3
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +3 -2
- package/components/Kebab/Kebab.md +28 -0
- package/components/Link/Link/Link.js +12 -6
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +2 -2
- package/components/Link/Link.mixins/Link.mixins.js +2 -5
- package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
- package/components/Link/Link.mixins.d.ts +1 -2
- package/components/Link/Link.styles/Link.styles.js +45 -21
- package/components/Link/Link.styles/Link.styles.js.map +1 -1
- package/components/Link/Link.styles.d.ts +4 -0
- package/components/MenuFooter/MenuFooter/MenuFooter.js +74 -0
- package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -0
- package/components/MenuFooter/MenuFooter/package.json +6 -0
- package/components/MenuFooter/MenuFooter.d.ts +30 -0
- package/components/MenuFooter/MenuFooter.md +27 -0
- package/components/MenuFooter/MenuFooter.mixins/MenuFooter.mixins.js +13 -0
- package/components/MenuFooter/MenuFooter.mixins/MenuFooter.mixins.js.map +1 -0
- package/components/MenuFooter/MenuFooter.mixins/package.json +6 -0
- package/components/MenuFooter/MenuFooter.mixins.d.ts +2 -0
- package/components/MenuFooter/MenuFooter.styles/MenuFooter.styles.js +29 -0
- package/components/MenuFooter/MenuFooter.styles/MenuFooter.styles.js.map +1 -0
- package/components/MenuFooter/MenuFooter.styles/package.json +6 -0
- package/components/MenuFooter/MenuFooter.styles.d.ts +10 -0
- package/components/MenuFooter/index/index.js +1 -0
- package/components/MenuFooter/index/index.js.map +1 -0
- package/components/MenuFooter/index/package.json +6 -0
- package/components/MenuFooter/index.d.ts +1 -0
- package/components/MenuFooter/package.json +6 -0
- package/components/MenuHeader/MenuHeader/MenuHeader.js +37 -2
- package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
- package/components/MenuHeader/MenuHeader.d.ts +8 -1
- package/components/MenuHeader/MenuHeader.md +12 -0
- package/components/MenuHeader/MenuHeader.mixins/MenuHeader.mixins.js +13 -0
- package/components/MenuHeader/MenuHeader.mixins/MenuHeader.mixins.js.map +1 -0
- package/components/MenuHeader/MenuHeader.mixins/package.json +6 -0
- package/components/MenuHeader/MenuHeader.mixins.d.ts +2 -0
- package/components/MenuHeader/MenuHeader.styles/MenuHeader.styles.js +20 -6
- package/components/MenuHeader/MenuHeader.styles/MenuHeader.styles.js.map +1 -1
- package/components/MenuHeader/MenuHeader.styles.d.ts +6 -1
- package/components/MenuItem/MenuItem/MenuItem.js +54 -8
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +14 -5
- package/components/MenuItem/MenuItem.md +12 -0
- package/components/MenuItem/MenuItem.mixins/MenuItem.mixins.js +24 -0
- package/components/MenuItem/MenuItem.mixins/MenuItem.mixins.js.map +1 -0
- package/components/MenuItem/MenuItem.mixins/package.json +6 -0
- package/components/MenuItem/MenuItem.mixins.d.ts +3 -0
- package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +39 -23
- package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
- package/components/MenuItem/MenuItem.styles.d.ts +9 -1
- package/components/Modal/Modal.md +16 -0
- package/components/Modal/ModalClose/ModalClose.js +4 -0
- package/components/Modal/ModalClose/ModalClose.js.map +1 -1
- package/components/Modal/locale/index/index.js +8 -0
- package/components/Modal/locale/index/index.js.map +1 -0
- package/components/Modal/locale/index/package.json +6 -0
- package/components/Modal/locale/index.d.ts +4 -0
- package/components/Modal/locale/locales/en/en.js +3 -0
- package/components/Modal/locale/locales/en/en.js.map +1 -0
- package/components/Modal/locale/locales/en/package.json +6 -0
- package/components/Modal/locale/locales/en.d.ts +2 -0
- package/components/Modal/locale/locales/ru/package.json +6 -0
- package/components/Modal/locale/locales/ru/ru.js +3 -0
- package/components/Modal/locale/locales/ru/ru.js.map +1 -0
- package/components/Modal/locale/locales/ru.d.ts +2 -0
- package/components/Modal/locale/package.json +6 -0
- package/components/Modal/locale/types/package.json +6 -0
- package/components/Modal/locale/types/types.js +1 -0
- package/components/Modal/locale/types/types.js.map +1 -0
- package/components/Modal/locale/types.d.ts +3 -0
- package/components/Paging/Paging/Paging.js +1 -1
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.styles/Paging.styles.js +1 -1
- package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +8 -4
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +3 -2
- package/components/PasswordInput/PasswordInput.md +19 -0
- package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js +4 -1
- package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js.map +1 -1
- package/components/PasswordInput/PasswordInput.styles.d.ts +1 -0
- package/components/PasswordInput/locale/index/index.js +8 -0
- package/components/PasswordInput/locale/index/index.js.map +1 -0
- package/components/PasswordInput/locale/index/package.json +6 -0
- package/components/PasswordInput/locale/index.d.ts +4 -0
- package/components/PasswordInput/locale/locales/en/en.js +4 -0
- package/components/PasswordInput/locale/locales/en/en.js.map +1 -0
- package/components/PasswordInput/locale/locales/en/package.json +6 -0
- package/components/PasswordInput/locale/locales/en.d.ts +2 -0
- package/components/PasswordInput/locale/locales/ru/package.json +6 -0
- package/components/PasswordInput/locale/locales/ru/ru.js +4 -0
- package/components/PasswordInput/locale/locales/ru/ru.js.map +1 -0
- package/components/PasswordInput/locale/locales/ru.d.ts +2 -0
- package/components/PasswordInput/locale/package.json +6 -0
- package/components/PasswordInput/locale/types/package.json +6 -0
- package/components/PasswordInput/locale/types/types.js +1 -0
- package/components/PasswordInput/locale/types/types.js.map +1 -0
- package/components/PasswordInput/locale/types.d.ts +4 -0
- package/components/Radio/Radio/Radio.js +54 -6
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +15 -3
- package/components/Radio/Radio.md +18 -0
- package/components/Radio/Radio.mixins/Radio.mixins.js +28 -0
- package/components/Radio/Radio.mixins/Radio.mixins.js.map +1 -0
- package/components/Radio/Radio.mixins/package.json +6 -0
- package/components/Radio/Radio.mixins.d.ts +5 -0
- package/components/Radio/Radio.styles/Radio.styles.js +44 -29
- package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
- package/components/Radio/Radio.styles.d.ts +9 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +3 -2
- package/components/Select/Select/Select.js +34 -9
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +12 -10
- package/components/Select/Select.md +17 -0
- package/components/Select/Select.styles/Select.styles.js +1 -1
- package/components/Select/Select.styles/Select.styles.js.map +1 -1
- package/components/Select/selectTheme/selectTheme.js +3 -1
- package/components/Select/selectTheme/selectTheme.js.map +1 -1
- package/components/SidePage/SidePage/SidePage.js +4 -4
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.md +16 -0
- package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +42 -0
- package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -0
- package/components/SidePage/SidePageCloseButton/package.json +6 -0
- package/components/SidePage/SidePageCloseButton.d.ts +1 -0
- package/components/SidePage/SidePageHeader/SidePageHeader.js +4 -38
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +0 -4
- package/components/SidePage/locale/index/index.js +8 -0
- package/components/SidePage/locale/index/index.js.map +1 -0
- package/components/SidePage/locale/index/package.json +6 -0
- package/components/SidePage/locale/index.d.ts +4 -0
- package/components/SidePage/locale/locales/en/en.js +3 -0
- package/components/SidePage/locale/locales/en/en.js.map +1 -0
- package/components/SidePage/locale/locales/en/package.json +6 -0
- package/components/SidePage/locale/locales/en.d.ts +2 -0
- package/components/SidePage/locale/locales/ru/package.json +6 -0
- package/components/SidePage/locale/locales/ru/ru.js +3 -0
- package/components/SidePage/locale/locales/ru/ru.js.map +1 -0
- package/components/SidePage/locale/locales/ru.d.ts +2 -0
- package/components/SidePage/locale/package.json +6 -0
- package/components/SidePage/locale/types/package.json +6 -0
- package/components/SidePage/locale/types/types.js +1 -0
- package/components/SidePage/locale/types/types.js.map +1 -0
- package/components/SidePage/locale/types.d.ts +3 -0
- package/components/Sticky/Sticky/Sticky.js +12 -3
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Switcher/Switcher/Switcher.js +9 -3
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +12 -7
- package/components/Tabs/Tab/Tab.js +12 -18
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +17 -36
- package/components/Tabs/Tab.md +71 -0
- package/components/Tabs/Tab.styles/Tab.styles.js +52 -23
- package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
- package/components/Tabs/Tab.styles.d.ts +9 -3
- package/components/Tabs/Tabs/Tabs.js +12 -6
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +16 -15
- package/components/Tabs/Tabs.md +39 -22
- package/components/Tabs/Tabs.styles/Tabs.styles.js +15 -4
- package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
- package/components/Tabs/Tabs.styles.d.ts +3 -1
- package/components/Tabs/TabsContext/TabsContext.js +1 -0
- package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
- package/components/Tabs/TabsContext.d.ts +2 -0
- package/components/Tabs/helpers/helpers.js +28 -0
- package/components/Tabs/helpers/helpers.js.map +1 -0
- package/components/Tabs/helpers/package.json +6 -0
- package/components/Tabs/helpers.d.ts +6 -0
- package/components/Textarea/Textarea/Textarea.js +39 -4
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +12 -3
- package/components/Textarea/Textarea.md +12 -0
- package/components/Textarea/Textarea.mixins/Textarea.mixins.js +14 -0
- package/components/Textarea/Textarea.mixins/Textarea.mixins.js.map +1 -0
- package/components/Textarea/Textarea.mixins/package.json +6 -0
- package/components/Textarea/Textarea.mixins.d.ts +3 -0
- package/components/Textarea/Textarea.styles/Textarea.styles.js +43 -15
- package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
- package/components/Textarea/Textarea.styles.d.ts +10 -1
- package/components/Textarea/TextareaCounter/TextareaCounter.js +19 -3
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Textarea/TextareaCounter.d.ts +2 -0
- package/components/Toast/Toast/Toast.js +1 -0
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +3 -2
- package/components/Toast/ToastView/ToastView.js +9 -4
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.d.ts +6 -6
- package/components/Toast/ToastView.styles/ToastView.styles.js +1 -1
- package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
- package/components/Toast/locale/index/index.js +8 -0
- package/components/Toast/locale/index/index.js.map +1 -0
- package/components/Toast/locale/index/package.json +6 -0
- package/components/Toast/locale/index.d.ts +4 -0
- package/components/Toast/locale/locales/en/en.js +3 -0
- package/components/Toast/locale/locales/en/en.js.map +1 -0
- package/components/Toast/locale/locales/en/package.json +6 -0
- package/components/Toast/locale/locales/en.d.ts +2 -0
- package/components/Toast/locale/locales/ru/package.json +6 -0
- package/components/Toast/locale/locales/ru/ru.js +3 -0
- package/components/Toast/locale/locales/ru/ru.js.map +1 -0
- package/components/Toast/locale/locales/ru.d.ts +2 -0
- package/components/Toast/locale/package.json +6 -0
- package/components/Toast/locale/types/package.json +6 -0
- package/components/Toast/locale/types/types.js +1 -0
- package/components/Toast/locale/types/types.js.map +1 -0
- package/components/Toast/locale/types.d.ts +3 -0
- package/components/Toggle/Toggle/Toggle.js +119 -10
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +16 -6
- package/components/Toggle/Toggle.md +18 -2
- package/components/Toggle/Toggle.mixins/Toggle.mixins.js +35 -0
- package/components/Toggle/Toggle.mixins/Toggle.mixins.js.map +1 -0
- package/components/Toggle/Toggle.mixins/package.json +6 -0
- package/components/Toggle/Toggle.mixins.d.ts +7 -0
- package/components/Toggle/Toggle.styles/Toggle.styles.js +85 -31
- package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
- package/components/Toggle/Toggle.styles.d.ts +21 -1
- package/components/Token/Token/Token.js +8 -3
- package/components/Token/Token/Token.js.map +1 -1
- package/components/Token/Token.d.ts +2 -5
- package/components/Token/locale/index/index.js +8 -0
- package/components/Token/locale/index/index.js.map +1 -0
- package/components/Token/locale/index/package.json +6 -0
- package/components/Token/locale/index.d.ts +4 -0
- package/components/Token/locale/locales/en/en.js +3 -0
- package/components/Token/locale/locales/en/en.js.map +1 -0
- package/components/Token/locale/locales/en/package.json +6 -0
- package/components/Token/locale/locales/en.d.ts +2 -0
- package/components/Token/locale/locales/ru/package.json +6 -0
- package/components/Token/locale/locales/ru/ru.js +3 -0
- package/components/Token/locale/locales/ru/ru.js.map +1 -0
- package/components/Token/locale/locales/ru.d.ts +2 -0
- package/components/Token/locale/package.json +6 -0
- package/components/Token/locale/types/package.json +6 -0
- package/components/Token/locale/types/types.js +1 -0
- package/components/Token/locale/types/types.js.map +1 -0
- package/components/Token/locale/types.d.ts +3 -0
- package/components/TokenInput/TokenInput/TokenInput.js +12 -4
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +3 -5
- package/components/TokenInput/TokenInput.md +26 -35
- package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
- package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +1 -0
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/TokenInput/TokenInputMenu.d.ts +7 -0
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +8 -2
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +2 -2
- package/components/TooltipMenu/TooltipMenu.md +28 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
- package/internal/CloseButtonIcon/CloseButtonIcon.d.ts +2 -2
- package/internal/CloseButtonIcon/CloseButtonIcon.styles/CloseButtonIcon.styles.js +1 -1
- package/internal/CloseButtonIcon/CloseButtonIcon.styles/CloseButtonIcon.styles.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +33 -10
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu.d.ts +9 -3
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +40 -40
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +14 -13
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +19 -10
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +10 -7
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +4 -0
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +2 -1
- package/internal/DateSelect/DateSelect/DateSelect.js +32 -16
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.d.ts +2 -0
- package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +6 -3
- package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
- package/internal/DateSelect/DateSelect.styles.d.ts +3 -0
- package/internal/DateSelect/locale/index/index.js +8 -0
- package/internal/DateSelect/locale/index/index.js.map +1 -0
- package/internal/DateSelect/locale/index/package.json +6 -0
- package/internal/DateSelect/locale/index.d.ts +4 -0
- package/internal/DateSelect/locale/locales/en/en.js +5 -0
- package/internal/DateSelect/locale/locales/en/en.js.map +1 -0
- package/internal/DateSelect/locale/locales/en/package.json +6 -0
- package/internal/DateSelect/locale/locales/en.d.ts +2 -0
- package/internal/DateSelect/locale/locales/ru/package.json +6 -0
- package/internal/DateSelect/locale/locales/ru/ru.js +5 -0
- package/internal/DateSelect/locale/locales/ru/ru.js.map +1 -0
- package/internal/DateSelect/locale/locales/ru.d.ts +2 -0
- package/internal/DateSelect/locale/package.json +6 -0
- package/internal/DateSelect/locale/types/package.json +6 -0
- package/internal/DateSelect/locale/types/types.js +1 -0
- package/internal/DateSelect/locale/types/types.js.map +1 -0
- package/internal/DateSelect/locale/types.d.ts +5 -0
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +2 -0
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
- package/internal/DropdownContainer/DropdownContainer.d.ts +3 -2
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +6 -5
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -6
- 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.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -2
- package/internal/FileUploaderControl/hooks/useFileUploaderSize/useFileUploaderSize.js.map +1 -1
- package/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +20 -8
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.d.ts +1 -0
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +11 -6
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/InternalMenu/InternalMenu.d.ts +13 -4
- package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +10 -7
- package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
- package/internal/InternalMenu/InternalMenu.styles.d.ts +1 -0
- package/internal/InternalMenu/isIconPaddingEnabled/isIconPaddingEnabled.js +6 -0
- package/internal/InternalMenu/isIconPaddingEnabled/isIconPaddingEnabled.js.map +1 -0
- package/internal/InternalMenu/isIconPaddingEnabled/package.json +6 -0
- package/internal/InternalMenu/isIconPaddingEnabled.d.ts +2 -0
- package/internal/Menu/Menu/Menu.js +197 -42
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.d.ts +42 -8
- package/internal/Menu/Menu.styles/Menu.styles.js +20 -5
- package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
- package/internal/Menu/Menu.styles.d.ts +6 -1
- package/internal/MenuMessage/MenuMessage/MenuMessage.js +19 -2
- package/internal/MenuMessage/MenuMessage/MenuMessage.js.map +1 -1
- package/internal/MenuMessage/MenuMessage.d.ts +2 -0
- package/internal/MenuMessage/MenuMessage.styles/MenuMessage.styles.js +11 -2
- package/internal/MenuMessage/MenuMessage.styles/MenuMessage.styles.js.map +1 -1
- package/internal/MenuMessage/MenuMessage.styles.d.ts +3 -0
- package/internal/MobilePopup/MobilePopup/MobilePopup.js +1 -0
- package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopup.d.ts +2 -2
- package/internal/Popup/Popup/Popup.js +9 -3
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +7 -2
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +28 -5
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +5 -2
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
- package/internal/ThemePlayground/SizesGroup.d.ts +2 -1
- package/internal/ThemePlayground/darkTheme/darkTheme.js +1 -1
- package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
- package/internal/ThemePlayground/darkTheme.d.ts +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/themes/DarkTheme/DarkTheme.js +13 -0
- package/internal/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/internal/themes/DarkTheme.d.ts +2 -0
- package/internal/themes/DefaultTheme/DefaultTheme.js +750 -106
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +280 -19
- package/internal/themes/Theme2022/Theme2022.js +79 -56
- package/internal/themes/Theme2022/Theme2022.js.map +1 -1
- package/internal/themes/Theme2022.d.ts +28 -4
- package/internal/themes/Theme2022Dark/Theme2022Dark.js +11 -26
- package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
- package/internal/themes/Theme2022Dark.d.ts +5 -7
- package/lib/locale/types/types.js.map +1 -1
- package/lib/locale/types.d.ts +6 -0
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +4 -3
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
- package/lib/rootNode/rootNodeDecorator.d.ts +5 -1
- package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js +2 -2
- package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js.map +1 -1
- package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -1
- 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/package.json +4 -3
|
@@ -4,10 +4,12 @@ import { Input, InputIconType } from '../../components/Input';
|
|
|
4
4
|
import { Menu } from '../Menu';
|
|
5
5
|
import { InputLikeText } from '../InputLikeText';
|
|
6
6
|
import { MenuItemState } from '../../components/MenuItem';
|
|
7
|
-
import { CommonProps } from '
|
|
7
|
+
import { CommonProps } from '../CommonWrapper';
|
|
8
8
|
import { DropdownContainerProps } from '../DropdownContainer';
|
|
9
|
+
import { ComboBoxExtendedItem } from '../../components/ComboBox';
|
|
10
|
+
import { SizeProp } from '../../lib/types/props';
|
|
9
11
|
import { ComboBoxRequestStatus } from './CustomComboBoxTypes';
|
|
10
|
-
export interface CustomComboBoxProps<T> extends Pick<DropdownContainerProps, 'menuPos'>, CommonProps {
|
|
12
|
+
export interface CustomComboBoxProps<T> extends Pick<DropdownContainerProps, 'menuPos'>, Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>, CommonProps {
|
|
11
13
|
align?: 'left' | 'center' | 'right';
|
|
12
14
|
autoFocus?: boolean;
|
|
13
15
|
borderless?: boolean;
|
|
@@ -33,25 +35,24 @@ export interface CustomComboBoxProps<T> extends Pick<DropdownContainerProps, 'me
|
|
|
33
35
|
onMouseLeave?: (e: React.MouseEvent) => void;
|
|
34
36
|
onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;
|
|
35
37
|
placeholder?: string;
|
|
36
|
-
size?:
|
|
38
|
+
size?: SizeProp;
|
|
37
39
|
totalCount?: number;
|
|
38
40
|
value?: Nullable<T>;
|
|
39
41
|
/**
|
|
40
42
|
* Cостояние валидации при предупреждении.
|
|
41
43
|
*/
|
|
42
44
|
warning?: boolean;
|
|
43
|
-
'aria-describedby'?: AriaAttributes['aria-describedby'];
|
|
44
45
|
width?: string | number;
|
|
45
46
|
maxMenuHeight?: number | string;
|
|
46
47
|
renderNotFound?: () => React.ReactNode;
|
|
47
48
|
renderTotalCount?: (found: number, total: number) => React.ReactNode;
|
|
48
49
|
renderItem: (item: T, state?: MenuItemState) => React.ReactNode;
|
|
49
|
-
itemWrapper?: (item
|
|
50
|
+
itemWrapper?: (item: T) => React.ComponentType<unknown>;
|
|
50
51
|
renderValue: (value: T) => React.ReactNode;
|
|
51
52
|
renderAddButton?: (query?: string) => React.ReactNode;
|
|
52
53
|
valueToString: (value: T) => string;
|
|
53
54
|
itemToValue: (item: T) => string | number;
|
|
54
|
-
getItems: (query: string) => Promise<T
|
|
55
|
+
getItems: (query: string) => Promise<Array<ComboBoxExtendedItem<T>>>;
|
|
55
56
|
inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];
|
|
56
57
|
}
|
|
57
58
|
export interface CustomComboBoxState<T> {
|
|
@@ -59,7 +60,7 @@ export interface CustomComboBoxState<T> {
|
|
|
59
60
|
loading: boolean;
|
|
60
61
|
opened: boolean;
|
|
61
62
|
textValue: string;
|
|
62
|
-
items: Nullable<T
|
|
63
|
+
items: Nullable<Array<ComboBoxExtendedItem<T>>>;
|
|
63
64
|
inputChanged: boolean;
|
|
64
65
|
focused: boolean;
|
|
65
66
|
repeatRequest: () => void;
|
|
@@ -77,6 +78,7 @@ export declare const DefaultState: {
|
|
|
77
78
|
textValue: string;
|
|
78
79
|
repeatRequest: () => undefined;
|
|
79
80
|
requestStatus: ComboBoxRequestStatus;
|
|
81
|
+
size: string;
|
|
80
82
|
};
|
|
81
83
|
export declare const CustomComboBoxDataTids: {
|
|
82
84
|
readonly comboBoxView: "ComboBoxView__root";
|
|
@@ -136,6 +138,7 @@ export declare class CustomComboBox<T> extends React.PureComponent<CustomComboBo
|
|
|
136
138
|
private getState;
|
|
137
139
|
private handleValueChange;
|
|
138
140
|
private handleFocus;
|
|
141
|
+
private handleMobileClose;
|
|
139
142
|
private handleClickOutside;
|
|
140
143
|
private handleBlur;
|
|
141
144
|
private handleInputBlur;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["CustomComboBoxReducer.tsx"],"names":["debounce","isEqual","isNonNullable","isKeyArrowUp","isKeyArrowVertical","isKeyEnter","isKeyEscape","LayoutEvents","DefaultState","ComboBoxRequestStatus","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","Failed","down","selectMenuItem","event","enter","moveMenuHighlight","direction","resetHighlightedMenuItem","combobox","hasHighlightedItem","reset","reflow","emit","selectInputText","inputKeyDown","onInputKeyDown","never","reducer","state","props","action","opened","inputChanged","editing","newState","searchOnFocus","e","effects","nextState","preventDefault","push","prevProps","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';\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: 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","isEqual","isNonNullable","isKeyArrowUp","isKeyArrowVertical","isKeyEnter","isKeyEscape","LayoutEvents","DefaultState","ComboBoxRequestStatus","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","Failed","down","selectMenuItem","event","enter","moveMenuHighlight","direction","resetHighlightedMenuItem","combobox","hasHighlightedItem","reset","reflow","emit","selectInputText","inputKeyDown","onInputKeyDown","never","reducer","state","props","action","opened","inputChanged","editing","newState","searchOnFocus","e","effects","nextState","preventDefault","push","prevProps","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 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 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,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Nullable } from '../../typings/utility-types';
|
|
3
|
+
import { ComboBoxExtendedItem } from '../../components/ComboBox';
|
|
3
4
|
import { CustomComboBox, CustomComboBoxProps, CustomComboBoxState } from './CustomComboBox';
|
|
4
5
|
export declare type CustomComboBoxAction<T> = {
|
|
5
6
|
type: 'ValueChange';
|
|
@@ -36,7 +37,7 @@ export declare type CustomComboBoxAction<T> = {
|
|
|
36
37
|
type: 'RequestItems';
|
|
37
38
|
} | {
|
|
38
39
|
type: 'ReceiveItems';
|
|
39
|
-
items: T
|
|
40
|
+
items: Array<ComboBoxExtendedItem<T>>;
|
|
40
41
|
} | {
|
|
41
42
|
type: 'RequestFailure';
|
|
42
43
|
repeatRequest: () => void;
|
|
@@ -5,7 +5,7 @@ var _dec, _class, _class2, _temp;
|
|
|
5
5
|
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
|
-
import { isNonNullable } from "../../../lib/utils";
|
|
8
|
+
import { getRandomID, isNonNullable } from "../../../lib/utils";
|
|
9
9
|
import { isKeyEscape } from "../../../lib/events/keyboard/identifiers";
|
|
10
10
|
import { DatePickerLocaleHelper } from "../../../components/DatePicker/locale";
|
|
11
11
|
import { locale } from "../../../lib/locale/decorators";
|
|
@@ -22,7 +22,7 @@ import { isTheme2022 } from "../../../lib/theming/ThemeHelpers";
|
|
|
22
22
|
import { ArrowCollapseCVOpenIcon16Regular } from "../../icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular";
|
|
23
23
|
import { ArrowCUpIcon16Regular } from "../../icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular";
|
|
24
24
|
import { ArrowCDownIcon16Regular } from "../../icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular";
|
|
25
|
-
import { styles } from "../DateSelect.styles";
|
|
25
|
+
import { globalClasses, styles } from "../DateSelect.styles";
|
|
26
26
|
var itemHeight = 24;
|
|
27
27
|
var visibleYearsCount = 11;
|
|
28
28
|
var itemsToMoveCount = -5;
|
|
@@ -44,7 +44,8 @@ var calculatePos = function calculatePos(pos, minPos, maxPos) {
|
|
|
44
44
|
|
|
45
45
|
export var DateSelectDataTids = {
|
|
46
46
|
caption: 'DateSelect__caption',
|
|
47
|
-
menuItem: 'DateSelect__menuItem'
|
|
47
|
+
menuItem: 'DateSelect__menuItem',
|
|
48
|
+
menu: 'DateSelect__menu'
|
|
48
49
|
};
|
|
49
50
|
export var DateSelect = (_dec = locale('Calendar', DatePickerLocaleHelper), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {
|
|
50
51
|
_inheritsLoose(DateSelect, _React$PureComponent);
|
|
@@ -102,6 +103,8 @@ export var DateSelect = (_dec = locale('Calendar', DatePickerLocaleHelper), _dec
|
|
|
102
103
|
});
|
|
103
104
|
};
|
|
104
105
|
|
|
106
|
+
_this.menuId = DateSelectDataTids.menu + getRandomID();
|
|
107
|
+
|
|
105
108
|
_this.refRoot = function (element) {
|
|
106
109
|
_this.root = element;
|
|
107
110
|
};
|
|
@@ -313,41 +316,51 @@ export var DateSelect = (_dec = locale('Calendar', DatePickerLocaleHelper), _dec
|
|
|
313
316
|
|
|
314
317
|
var disabled = this.props.disabled;
|
|
315
318
|
var width = this.getProps().width;
|
|
319
|
+
var isInteractiveElement = !disabled;
|
|
320
|
+
var Tag = isInteractiveElement ? 'button' : 'span';
|
|
316
321
|
var rootProps = {
|
|
317
322
|
className: cx((_cx = {}, _cx[styles.root(this.theme)] = true, _cx[styles.disabled()] = Boolean(disabled), _cx)),
|
|
318
323
|
style: {
|
|
319
324
|
width: width
|
|
320
325
|
},
|
|
321
|
-
ref: this.refRoot
|
|
326
|
+
ref: this.refRoot,
|
|
327
|
+
onClick: this.open,
|
|
328
|
+
'aria-expanded': isInteractiveElement ? this.state.opened : undefined,
|
|
329
|
+
'aria-controls': !disabled ? this.menuId : undefined,
|
|
330
|
+
'aria-label': isInteractiveElement ? this.locale.selectChosenAriaLabel + " " + (this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel) + " " + this.getItem(0) : undefined
|
|
322
331
|
};
|
|
323
|
-
return /*#__PURE__*/React.createElement(
|
|
332
|
+
return /*#__PURE__*/React.createElement(Tag, rootProps, /*#__PURE__*/React.createElement("div", {
|
|
324
333
|
"data-tid": DateSelectDataTids.caption,
|
|
325
|
-
className: styles.caption()
|
|
326
|
-
onClick: this.open
|
|
334
|
+
className: styles.caption()
|
|
327
335
|
}, this.getItem(0), /*#__PURE__*/React.createElement("div", {
|
|
328
336
|
className: cx((_cx2 = {}, _cx2[styles.arrow(this.theme)] = true, _cx2[styles.arrowDisabled()] = Boolean(disabled), _cx2))
|
|
329
337
|
}, /*#__PURE__*/React.createElement(ArrowTriangleUpDownIcon, {
|
|
330
338
|
size: 12
|
|
331
|
-
}))), this.state.opened && this.renderMenu());
|
|
339
|
+
}))), this.state.opened && this.renderMenu(this.menuId));
|
|
332
340
|
};
|
|
333
341
|
|
|
334
342
|
_proto.renderMain2022 = function renderMain2022() {
|
|
335
343
|
var disabled = this.props.disabled;
|
|
336
344
|
var width = this.getProps().width;
|
|
345
|
+
var isInteractiveElement = !disabled;
|
|
346
|
+
var Tag = isInteractiveElement ? 'button' : 'span';
|
|
337
347
|
var rootProps = {
|
|
338
348
|
className: cx(styles.root(this.theme), styles.root2022(), disabled && styles.disabled()),
|
|
339
349
|
style: {
|
|
340
350
|
width: width
|
|
341
351
|
},
|
|
342
352
|
ref: this.refRoot,
|
|
343
|
-
onClick: this.open
|
|
353
|
+
onClick: this.open,
|
|
354
|
+
'aria-expanded': isInteractiveElement ? this.state.opened : undefined,
|
|
355
|
+
'aria-label': isInteractiveElement ? this.locale.selectChosenAriaLabel + " " + (this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel) + " " + this.getItem(0) : undefined
|
|
344
356
|
};
|
|
345
|
-
return /*#__PURE__*/React.createElement(
|
|
357
|
+
return /*#__PURE__*/React.createElement(Tag, rootProps, /*#__PURE__*/React.createElement("div", {
|
|
346
358
|
"data-tid": DateSelectDataTids.caption,
|
|
347
359
|
className: styles.caption()
|
|
348
|
-
}, this.getItem(0)),
|
|
360
|
+
}, this.getItem(0)), isInteractiveElement && /*#__PURE__*/React.createElement(ArrowCollapseCVOpenIcon16Regular, {
|
|
361
|
+
className: cx(globalClasses.arrow),
|
|
349
362
|
color: "#ADADAD"
|
|
350
|
-
}), this.state.opened && this.renderMenu());
|
|
363
|
+
}), this.state.opened && this.renderMenu(this.menuId));
|
|
351
364
|
};
|
|
352
365
|
|
|
353
366
|
_proto.disableItems = function disableItems(index) {
|
|
@@ -366,7 +379,7 @@ export var DateSelect = (_dec = locale('Calendar', DatePickerLocaleHelper), _dec
|
|
|
366
379
|
}
|
|
367
380
|
};
|
|
368
381
|
|
|
369
|
-
_proto.renderMenu = function renderMenu() {
|
|
382
|
+
_proto.renderMenu = function renderMenu(id) {
|
|
370
383
|
var _this3 = this,
|
|
371
384
|
_cx3;
|
|
372
385
|
|
|
@@ -393,7 +406,8 @@ export var DateSelect = (_dec = locale('Calendar', DatePickerLocaleHelper), _dec
|
|
|
393
406
|
onMouseDown: preventDefault,
|
|
394
407
|
onClick: _this3.handleItemClick(i)
|
|
395
408
|
};
|
|
396
|
-
items.push( /*#__PURE__*/React.createElement("
|
|
409
|
+
items.push( /*#__PURE__*/React.createElement("button", _extends({
|
|
410
|
+
"aria-label": "\u0412\u044B\u0431\u0440\u0430\u0442\u044C " + (_this3.getProps().type === 'year' ? 'год' : 'месяц') + " " + _this3.getItem(i),
|
|
397
411
|
"data-tid": DateSelectDataTids.menuItem,
|
|
398
412
|
"data-prop-disabled": disableItems,
|
|
399
413
|
key: i,
|
|
@@ -442,7 +456,9 @@ export var DateSelect = (_dec = locale('Calendar', DatePickerLocaleHelper), _dec
|
|
|
442
456
|
onClickOutside: this.close,
|
|
443
457
|
onFocusOutside: this.close,
|
|
444
458
|
active: true
|
|
445
|
-
}, /*#__PURE__*/React.createElement(
|
|
459
|
+
}, /*#__PURE__*/React.createElement(DropdownContainer, {
|
|
460
|
+
"data-tid": DateSelectDataTids.menu,
|
|
461
|
+
id: id,
|
|
446
462
|
getParent: this.getAnchor,
|
|
447
463
|
offsetY: dropdownOffset,
|
|
448
464
|
offsetX: -10
|
|
@@ -473,7 +489,7 @@ export var DateSelect = (_dec = locale('Calendar', DatePickerLocaleHelper), _dec
|
|
|
473
489
|
onMouseLeave: this.handleLongClickStop,
|
|
474
490
|
onTouchStart: this.handleLongClickDown,
|
|
475
491
|
onTouchEnd: this.handleLongClickStop
|
|
476
|
-
}, /*#__PURE__*/React.createElement("span", null, iconDown)))))
|
|
492
|
+
}, /*#__PURE__*/React.createElement("span", null, iconDown)))));
|
|
477
493
|
};
|
|
478
494
|
|
|
479
495
|
_proto.getItem = function getItem(index) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["DateSelect.tsx"],"names":["React","PropTypes","isNonNullable","isKeyEscape","DatePickerLocaleHelper","locale","RenderLayer","DropdownContainer","LayoutEvents","ThemeContext","ArrowTriangleUpDownIcon","ArrowChevronDownIcon","ArrowChevronUpIcon","isMobile","cx","getDOMRect","createPropsGetter","isTheme2022","ArrowCollapseCVOpenIcon16Regular","ArrowCUpIcon16Regular","ArrowCDownIcon16Regular","styles","itemHeight","visibleYearsCount","itemsToMoveCount","monthsCount","defaultMinYear","defaultMaxYear","calculatePos","pos","minPos","maxPos","DateSelectDataTids","caption","menuItem","DateSelect","getProps","defaultProps","state","botCapped","current","height","opened","top","topCapped","nodeTop","Infinity","root","itemsContainer","longClickTimer","setPositionRepeatTimer","yearStep","touchStartY","open","props","disabled","setPosition","setState","close","refRoot","element","setNodeTop","timeout","clearTimeout","setTimeout","refItemsContainer","addEventListener","handleWheel","passive","removeEventListener","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","addListener","componentWillUnmount","remove","render","theme","renderMain","renderMain2022","width","rootProps","className","Boolean","style","ref","getItem","arrow","arrowDisabled","renderMenu","root2022","onClick","disableItems","index","maxValue","minValue","from","to","Math","ceil","items","i","menuItemSelected","menuItemActive","menuItemDisabled","clickHandler","onMouseDown","push","left","right","shiftStyle","position","holderClass","menuHolder","isTopCapped","isBotCapped","dropdownOffset","overflowOffsetDelta","iconUp","iconDown","menu","menuUp","itemsHolder","menuDown","type","months","getMinPos","getMaxPos","calculatedPos","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","string","number","isRequired","oneOfType","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { 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 { 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} 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 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 rootProps = {\n className: cx({\n [styles.root(this.theme)]: true,\n [styles.disabled()]: Boolean(disabled),\n }),\n style: { width },\n ref: this.refRoot,\n };\n return (\n <span {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()} onClick={this.open}>\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()}\n </span>\n );\n }\n\n private renderMain2022() {\n const { disabled } = this.props;\n const width = this.getProps().width;\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 };\n\n return (\n <span {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(0)}\n </div>\n {!disabled && <ArrowCollapseCVOpenIcon16Regular color=\"#ADADAD\" />}\n {this.state.opened && this.renderMenu()}\n </span>\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(): 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 <div\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 </div>,\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 <div>\n <DropdownContainer getParent={this.getAnchor} offsetY={dropdownOffset} offsetX={-10}>\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 </div>\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":["React","PropTypes","getRandomID","isNonNullable","isKeyEscape","DatePickerLocaleHelper","locale","RenderLayer","DropdownContainer","LayoutEvents","ThemeContext","ArrowTriangleUpDownIcon","ArrowChevronDownIcon","ArrowChevronUpIcon","isMobile","cx","getDOMRect","createPropsGetter","isTheme2022","ArrowCollapseCVOpenIcon16Regular","ArrowCUpIcon16Regular","ArrowCDownIcon16Regular","globalClasses","styles","itemHeight","visibleYearsCount","itemsToMoveCount","monthsCount","defaultMinYear","defaultMaxYear","calculatePos","pos","minPos","maxPos","DateSelectDataTids","caption","menuItem","menu","DateSelect","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","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","addListener","componentWillUnmount","remove","render","theme","renderMain","renderMain2022","width","isInteractiveElement","Tag","rootProps","className","Boolean","style","ref","onClick","undefined","selectChosenAriaLabel","type","selectYearAriaLabel","selectMonthAriaLabel","getItem","arrow","arrowDisabled","renderMenu","root2022","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","PureComponent","__KONTUR_REACT_UI__","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"]}
|
|
@@ -23,6 +23,7 @@ export interface DateSelectState {
|
|
|
23
23
|
export declare const DateSelectDataTids: {
|
|
24
24
|
readonly caption: "DateSelect__caption";
|
|
25
25
|
readonly menuItem: "DateSelect__menuItem";
|
|
26
|
+
readonly menu: "DateSelect__menu";
|
|
26
27
|
};
|
|
27
28
|
declare type DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;
|
|
28
29
|
export declare class DateSelect extends React.PureComponent<DateSelectProps, DateSelectState> {
|
|
@@ -70,6 +71,7 @@ export declare class DateSelect extends React.PureComponent<DateSelectProps, Dat
|
|
|
70
71
|
*/
|
|
71
72
|
close: () => void;
|
|
72
73
|
render(): JSX.Element;
|
|
74
|
+
private menuId;
|
|
73
75
|
private renderMain;
|
|
74
76
|
private renderMain2022;
|
|
75
77
|
private refRoot;
|
|
@@ -2,10 +2,13 @@ import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTempla
|
|
|
2
2
|
|
|
3
3
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
|
|
4
4
|
|
|
5
|
-
import { css, memoizeStyle } from "../../../lib/theming/Emotion";
|
|
5
|
+
import { css, memoizeStyle, prefix } from "../../../lib/theming/Emotion";
|
|
6
|
+
export var globalClasses = prefix('select')({
|
|
7
|
+
arrow: 'arrow'
|
|
8
|
+
});
|
|
6
9
|
export var styles = memoizeStyle({
|
|
7
10
|
root: function root(t) {
|
|
8
|
-
return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n color: ", ";\n cursor: pointer;\n display: inline-block;\n font
|
|
11
|
+
return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n color: ", ";\n cursor: pointer;\n display: inline-block;\n font: inherit;\n font-size: ", ";\n padding: 0px;\n padding-right: 2px;\n position: relative;\n text-align: left;\n touch-action: none;\n border: none;\n line-height: ", ";\n background-color: transparent;\n box-sizing: content-box;\n\n &:hover {\n color: ", ";\n }\n\n & .", " {\n transition: fill ", " ", ";\n }\n\n &:hover .", " {\n fill: ", " !important;\n }\n "])), t.dateSelectTextColorDefault, t.dateSelectFontSize, t.dateSelectLineHeight, t.dateSelectLinkColor, globalClasses.arrow, t.transitionDuration, t.transitionTimingFunction, globalClasses.arrow, t.dateSelectTextColorDefault);
|
|
9
12
|
},
|
|
10
13
|
root2022: function root2022() {
|
|
11
14
|
return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n justify-content: space-between;\n "])));
|
|
@@ -35,7 +38,7 @@ export var styles = memoizeStyle({
|
|
|
35
38
|
return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n overflow: hidden;\n position: relative;\n "])));
|
|
36
39
|
},
|
|
37
40
|
menuItem: function menuItem(t) {
|
|
38
|
-
return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n color: ", ";\n cursor: pointer;\n height: 24px;\n
|
|
41
|
+
return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n display: flex;\n color: ", ";\n cursor: pointer;\n height: 24px;\n padding: 0;\n padding-left: 10px;\n width: 100%;\n user-select: none;\n white-space: nowrap;\n touch-action: none;\n border: none;\n font: inherit;\n line-height: 24px;\n background-color: transparent;\n "])), t.dateSelectTextColorDefault);
|
|
39
42
|
},
|
|
40
43
|
menuItemSelected: function menuItemSelected(t) {
|
|
41
44
|
return css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n "])), t.dateSelectMenuItemBgSelected, t.dateSelectMenuItemFontSelected);
|