@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,8 +4,13 @@ import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
|
4
4
|
var _class, _class2, _temp;
|
|
5
5
|
|
|
6
6
|
import React from 'react';
|
|
7
|
+
import { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from "../../../lib/events/keyboard/identifiers";
|
|
8
|
+
import { MenuSeparator } from "../../../components/MenuSeparator";
|
|
9
|
+
import { ThemeFactory } from "../../../lib/theming/ThemeFactory";
|
|
10
|
+
import { getDOMRect } from "../../../lib/dom/getDOMRect";
|
|
11
|
+
import { isHTMLElement } from "../../../lib/SSRSafe";
|
|
7
12
|
import { responsiveLayout } from "../../../components/ResponsiveLayout/decorator";
|
|
8
|
-
import { isNonNullable } from "../../../lib/utils";
|
|
13
|
+
import { isNonNullable, isNullable } from "../../../lib/utils";
|
|
9
14
|
import { ScrollContainer } from "../../../components/ScrollContainer";
|
|
10
15
|
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
11
16
|
import { cx } from "../../../lib/theming/Emotion";
|
|
@@ -14,13 +19,14 @@ import { addIconPaddingIfPartOfMenu } from "../../InternalMenu/addIconPaddingIfP
|
|
|
14
19
|
import { isIE11 } from "../../../lib/client";
|
|
15
20
|
import { createPropsGetter } from "../../../lib/createPropsGetter";
|
|
16
21
|
import { isTheme2022 } from "../../../lib/theming/ThemeHelpers";
|
|
22
|
+
import { isIconPaddingEnabled } from "../../InternalMenu/isIconPaddingEnabled";
|
|
17
23
|
import { styles } from "../Menu.styles";
|
|
18
24
|
import { isActiveElement } from "../isActiveElement";
|
|
19
25
|
export var MenuDataTids = {
|
|
20
26
|
root: 'Menu__root'
|
|
21
27
|
};
|
|
22
|
-
export var Menu = responsiveLayout(_class = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$
|
|
23
|
-
_inheritsLoose(Menu, _React$
|
|
28
|
+
export var Menu = responsiveLayout(_class = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {
|
|
29
|
+
_inheritsLoose(Menu, _React$PureComponent);
|
|
24
30
|
|
|
25
31
|
function Menu() {
|
|
26
32
|
var _this;
|
|
@@ -29,23 +35,65 @@ export var Menu = responsiveLayout(_class = rootNode(_class = (_temp = _class2 =
|
|
|
29
35
|
args[_key] = arguments[_key];
|
|
30
36
|
}
|
|
31
37
|
|
|
32
|
-
_this = _React$
|
|
38
|
+
_this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;
|
|
33
39
|
_this.getProps = createPropsGetter(Menu.defaultProps);
|
|
34
40
|
_this.state = {
|
|
35
|
-
highlightedIndex: -1
|
|
41
|
+
highlightedIndex: -1,
|
|
42
|
+
maxHeight: _this.getProps().maxHeight || 'none',
|
|
43
|
+
scrollState: 'top'
|
|
36
44
|
};
|
|
37
45
|
_this.unmounted = false;
|
|
38
46
|
|
|
39
|
-
_this.
|
|
40
|
-
var
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
47
|
+
_this.focusOnRootElement = function () {
|
|
48
|
+
var rootNode = getRootNode(_assertThisInitialized(_this));
|
|
49
|
+
|
|
50
|
+
if (isHTMLElement(rootNode)) {
|
|
51
|
+
rootNode == null ? void 0 : rootNode.focus();
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
_this.renderHeader = function () {
|
|
56
|
+
var _cx;
|
|
57
|
+
|
|
58
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
59
|
+
className: cx((_cx = {}, _cx[styles.wrapper()] = true, _cx[styles.headerWrapper()] = true, _cx)),
|
|
60
|
+
ref: function ref(el) {
|
|
61
|
+
return _this.header = el;
|
|
46
62
|
}
|
|
63
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
64
|
+
className: styles.contentWrapper()
|
|
65
|
+
}, _this.props.header), /*#__PURE__*/React.createElement("div", {
|
|
66
|
+
className: styles.menuSeparatorWrapper(_this.theme)
|
|
67
|
+
}, _this.state.scrollState !== 'top' && _this.renderMenuSeparatorWithNoMargin()));
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
_this.renderFooter = function () {
|
|
71
|
+
var _cx2;
|
|
72
|
+
|
|
73
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
74
|
+
className: cx((_cx2 = {}, _cx2[styles.wrapper()] = true, _cx2[styles.footerWrapper()] = true, _cx2)),
|
|
75
|
+
ref: function ref(el) {
|
|
76
|
+
return _this.footer = el;
|
|
77
|
+
}
|
|
78
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
79
|
+
className: styles.menuSeparatorWrapper(_this.theme)
|
|
80
|
+
}, _this.state.scrollState !== 'bottom' && _this.renderMenuSeparatorWithNoMargin()), /*#__PURE__*/React.createElement("div", {
|
|
81
|
+
className: styles.contentWrapper()
|
|
82
|
+
}, _this.props.footer));
|
|
83
|
+
};
|
|
47
84
|
|
|
48
|
-
|
|
85
|
+
_this.renderMenuSeparatorWithNoMargin = function () {
|
|
86
|
+
return /*#__PURE__*/React.createElement(ThemeContext.Provider, {
|
|
87
|
+
value: ThemeFactory.create({
|
|
88
|
+
menuSeparatorMarginY: '0'
|
|
89
|
+
}, _this.theme)
|
|
90
|
+
}, /*#__PURE__*/React.createElement(MenuSeparator, null));
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
_this.getChildList = function () {
|
|
94
|
+
var enableIconPadding = isIconPaddingEnabled(_this.props.children, _this.props.preventIconsOffset);
|
|
95
|
+
return React.Children.map(_this.props.children, function (child, index) {
|
|
96
|
+
if (typeof child === 'string' || typeof child === 'number' || isNullable(child)) {
|
|
49
97
|
return child;
|
|
50
98
|
}
|
|
51
99
|
|
|
@@ -72,6 +120,48 @@ export var Menu = responsiveLayout(_class = rootNode(_class = (_temp = _class2 =
|
|
|
72
120
|
});
|
|
73
121
|
};
|
|
74
122
|
|
|
123
|
+
_this.setInitialSelection = function () {
|
|
124
|
+
for (var i = _this.getProps().initialSelectedItemIndex; i > -1; i--) {
|
|
125
|
+
_this.down();
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
_this.shouldRecalculateMaxHeight = function (prevProps) {
|
|
130
|
+
var _this$props = _this.props,
|
|
131
|
+
header = _this$props.header,
|
|
132
|
+
footer = _this$props.footer,
|
|
133
|
+
children = _this$props.children;
|
|
134
|
+
|
|
135
|
+
var maxHeight = _this.getProps().maxHeight;
|
|
136
|
+
|
|
137
|
+
var prevMaxHeight = prevProps.maxHeight;
|
|
138
|
+
var prevHeader = prevProps.header;
|
|
139
|
+
var prevFooter = prevProps.footer;
|
|
140
|
+
var prevChildrenCount = React.Children.count(prevProps.children);
|
|
141
|
+
return maxHeight !== prevMaxHeight || footer !== prevFooter || header !== prevHeader || React.Children.count(children) !== prevChildrenCount;
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
_this.calculateMaxHeight = function () {
|
|
145
|
+
var maxHeight = _this.getProps().maxHeight;
|
|
146
|
+
|
|
147
|
+
var parsedMaxHeight = maxHeight;
|
|
148
|
+
var rootNode = getRootNode(_assertThisInitialized(_this));
|
|
149
|
+
|
|
150
|
+
if (typeof maxHeight === 'string' && typeof window !== 'undefined' && rootNode) {
|
|
151
|
+
var rootElementMaxHeight = window.getComputedStyle(rootNode).maxHeight;
|
|
152
|
+
|
|
153
|
+
if (rootElementMaxHeight) {
|
|
154
|
+
parsedMaxHeight = parseFloat(rootElementMaxHeight);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
var calculatedMaxHeight = typeof parsedMaxHeight === 'number' ? parsedMaxHeight + (_this.header && getDOMRect(_this.header).height || 0) + (_this.footer && getDOMRect(_this.footer).height || 0) : maxHeight;
|
|
159
|
+
|
|
160
|
+
_this.setState({
|
|
161
|
+
maxHeight: calculatedMaxHeight || 'none'
|
|
162
|
+
});
|
|
163
|
+
};
|
|
164
|
+
|
|
75
165
|
_this.refScrollContainer = function (scrollContainer) {
|
|
76
166
|
_this.scrollContainer = scrollContainer;
|
|
77
167
|
};
|
|
@@ -111,6 +201,53 @@ export var Menu = responsiveLayout(_class = rootNode(_class = (_temp = _class2 =
|
|
|
111
201
|
});
|
|
112
202
|
};
|
|
113
203
|
|
|
204
|
+
_this.handleKeyDown = function (event) {
|
|
205
|
+
if (typeof _this.props.onKeyDown === 'function') {
|
|
206
|
+
_this.props.onKeyDown(event);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
if (event.defaultPrevented) {
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
if (isKeyArrowUp(event)) {
|
|
214
|
+
event.preventDefault();
|
|
215
|
+
|
|
216
|
+
_this.up();
|
|
217
|
+
} else if (isKeyArrowDown(event)) {
|
|
218
|
+
event.preventDefault();
|
|
219
|
+
|
|
220
|
+
_this.down();
|
|
221
|
+
} else if (isKeyEnter(event)) {
|
|
222
|
+
if (_this.highlighted && _this.highlighted.props.onClick) {
|
|
223
|
+
_this.highlighted.props.onClick(event);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
_this.getStyle = function (props) {
|
|
229
|
+
if (props.align === 'right') {
|
|
230
|
+
return {
|
|
231
|
+
maxWidth: props.width,
|
|
232
|
+
minWidth: props.width,
|
|
233
|
+
maxHeight: _this.state.maxHeight
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
return {
|
|
238
|
+
width: props.width,
|
|
239
|
+
maxHeight: _this.state.maxHeight
|
|
240
|
+
};
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
_this.handleScrollStateChange = function (scrollState) {
|
|
244
|
+
if (_this.state.scrollState !== scrollState) {
|
|
245
|
+
_this.setState({
|
|
246
|
+
scrollState: scrollState
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
};
|
|
250
|
+
|
|
114
251
|
return _this;
|
|
115
252
|
}
|
|
116
253
|
|
|
@@ -120,6 +257,27 @@ export var Menu = responsiveLayout(_class = rootNode(_class = (_temp = _class2 =
|
|
|
120
257
|
this.unmounted = true;
|
|
121
258
|
};
|
|
122
259
|
|
|
260
|
+
_proto.componentDidMount = function componentDidMount() {
|
|
261
|
+
this.setInitialSelection();
|
|
262
|
+
this.calculateMaxHeight();
|
|
263
|
+
};
|
|
264
|
+
|
|
265
|
+
_proto.componentDidUpdate = function componentDidUpdate(prevProps) {
|
|
266
|
+
if (this.shouldRecalculateMaxHeight(prevProps)) {
|
|
267
|
+
this.calculateMaxHeight();
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
if (prevProps.maxHeight !== this.getProps().maxHeight) {
|
|
271
|
+
this.setState({
|
|
272
|
+
maxHeight: this.props.maxHeight || 'none'
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
_proto.focus = function focus() {
|
|
278
|
+
this.focusOnRootElement();
|
|
279
|
+
};
|
|
280
|
+
|
|
123
281
|
_proto.render = function render() {
|
|
124
282
|
var _this2 = this;
|
|
125
283
|
|
|
@@ -176,7 +334,7 @@ export var Menu = responsiveLayout(_class = rootNode(_class = (_temp = _class2 =
|
|
|
176
334
|
};
|
|
177
335
|
|
|
178
336
|
_proto.renderMain = function renderMain() {
|
|
179
|
-
var
|
|
337
|
+
var _cx3, _cx4;
|
|
180
338
|
|
|
181
339
|
if (this.isEmpty()) {
|
|
182
340
|
return null;
|
|
@@ -188,25 +346,29 @@ export var Menu = responsiveLayout(_class = rootNode(_class = (_temp = _class2 =
|
|
|
188
346
|
preventWindowScroll = _this$getProps.preventWindowScroll;
|
|
189
347
|
|
|
190
348
|
var offsetY = isTheme2022(this.theme) ? {
|
|
191
|
-
top:
|
|
349
|
+
top: "" + this.theme.scrollContainerScrollBarOffsetY,
|
|
192
350
|
right: 0,
|
|
193
|
-
bottom:
|
|
351
|
+
bottom: "" + this.theme.scrollContainerScrollBarOffsetY
|
|
194
352
|
} : {};
|
|
195
353
|
var isMobile = this.isMobileLayout;
|
|
196
354
|
return /*#__PURE__*/React.createElement("div", {
|
|
197
355
|
"data-tid": MenuDataTids.root,
|
|
198
|
-
className: cx(getAlignRightClass(this.props), (
|
|
199
|
-
style: getStyle(this.props),
|
|
200
|
-
|
|
201
|
-
|
|
356
|
+
className: cx(getAlignRightClass(this.props), (_cx3 = {}, _cx3[styles.root(this.theme)] = true, _cx3[styles.mobileRoot(this.theme)] = isMobile, _cx3[styles.shadow(this.theme)] = hasShadow && !isMobile, _cx3)),
|
|
357
|
+
style: this.getStyle(this.props),
|
|
358
|
+
id: this.props.id,
|
|
359
|
+
onKeyDown: this.handleKeyDown,
|
|
360
|
+
ref: this.setRootNode,
|
|
361
|
+
tabIndex: 0
|
|
362
|
+
}, this.props.header && this.renderHeader(), /*#__PURE__*/React.createElement(ScrollContainer, {
|
|
202
363
|
ref: this.refScrollContainer,
|
|
203
364
|
maxHeight: maxHeight,
|
|
204
365
|
preventWindowScroll: preventWindowScroll,
|
|
366
|
+
onScrollStateChange: this.handleScrollStateChange,
|
|
205
367
|
disabled: this.props.disableScrollContainer,
|
|
206
368
|
offsetY: offsetY
|
|
207
369
|
}, /*#__PURE__*/React.createElement("div", {
|
|
208
|
-
className: cx((
|
|
209
|
-
}, this.getChildList())));
|
|
370
|
+
className: cx((_cx4 = {}, _cx4[styles.scrollContainer(this.theme)] = true, _cx4[styles.scrollContainerMobile(this.theme)] = isMobile, _cx4))
|
|
371
|
+
}, this.getChildList())), this.props.footer && this.renderFooter());
|
|
210
372
|
};
|
|
211
373
|
|
|
212
374
|
_proto.refHighlighted = function refHighlighted(originalRef, menuItem) {
|
|
@@ -234,7 +396,7 @@ export var Menu = responsiveLayout(_class = rootNode(_class = (_temp = _class2 =
|
|
|
234
396
|
}
|
|
235
397
|
|
|
236
398
|
if (this.props.onItemClick) {
|
|
237
|
-
this.props.onItemClick();
|
|
399
|
+
this.props.onItemClick(event);
|
|
238
400
|
}
|
|
239
401
|
|
|
240
402
|
return true;
|
|
@@ -263,6 +425,12 @@ export var Menu = responsiveLayout(_class = rootNode(_class = (_temp = _class2 =
|
|
|
263
425
|
var _loop = function _loop() {
|
|
264
426
|
index += step;
|
|
265
427
|
|
|
428
|
+
if (!_this3.getProps().cyclicSelection && (index < 0 || index > children.length)) {
|
|
429
|
+
return {
|
|
430
|
+
v: void 0
|
|
431
|
+
};
|
|
432
|
+
}
|
|
433
|
+
|
|
266
434
|
if (index < 0) {
|
|
267
435
|
index = children.length - 1;
|
|
268
436
|
} else if (index > children.length) {
|
|
@@ -311,12 +479,14 @@ export var Menu = responsiveLayout(_class = rootNode(_class = (_temp = _class2 =
|
|
|
311
479
|
};
|
|
312
480
|
|
|
313
481
|
return Menu;
|
|
314
|
-
}(React.
|
|
482
|
+
}(React.PureComponent), _class2.__KONTUR_REACT_UI__ = 'Menu', _class2.defaultProps = {
|
|
315
483
|
align: 'left',
|
|
316
484
|
width: 'auto',
|
|
317
485
|
maxHeight: 300,
|
|
318
486
|
hasShadow: true,
|
|
319
|
-
preventWindowScroll: true
|
|
487
|
+
preventWindowScroll: true,
|
|
488
|
+
cyclicSelection: true,
|
|
489
|
+
initialSelectedItemIndex: -1
|
|
320
490
|
}, _temp)) || _class) || _class;
|
|
321
491
|
|
|
322
492
|
function childrenToArray(children) {
|
|
@@ -328,26 +498,11 @@ function childrenToArray(children) {
|
|
|
328
498
|
return ret;
|
|
329
499
|
}
|
|
330
500
|
|
|
331
|
-
var getStyle = function getStyle(props) {
|
|
332
|
-
if (props.align === 'right') {
|
|
333
|
-
return {
|
|
334
|
-
maxWidth: props.width,
|
|
335
|
-
minWidth: props.width,
|
|
336
|
-
maxHeight: props.maxHeight
|
|
337
|
-
};
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
return {
|
|
341
|
-
width: props.width,
|
|
342
|
-
maxHeight: props.maxHeight
|
|
343
|
-
};
|
|
344
|
-
};
|
|
345
|
-
|
|
346
501
|
var getAlignRightClass = function getAlignRightClass(props) {
|
|
347
502
|
if (props.align === 'right') {
|
|
348
|
-
var
|
|
503
|
+
var _cx5;
|
|
349
504
|
|
|
350
|
-
return cx((
|
|
505
|
+
return cx((_cx5 = {}, _cx5[styles.alignRight()] = !isIE11, _cx5[styles.alignRightIE11()] = isIE11, _cx5[styles.alignRightIE11FixAutoWidth()] = isIE11 && props.width === 'auto', _cx5));
|
|
351
506
|
}
|
|
352
507
|
|
|
353
508
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Menu.tsx"],"names":["React","responsiveLayout","isNonNullable","ScrollContainer","ThemeContext","cx","getRootNode","rootNode","addIconPaddingIfPartOfMenu","isIE11","createPropsGetter","isTheme2022","styles","isActiveElement","MenuDataTids","root","Menu","getProps","defaultProps","state","highlightedIndex","unmounted","getChildList","enableIconPadding","Children","toArray","props","children","some","x","isValidElement","icon","map","child","index","modifiedChild","highlight","ref","refHighlighted","bind","cloneElement","onClick","select","onMouseEnter","onMouseLeave","unhighlight","refScrollContainer","scrollContainer","scrollToSelected","highlighted","HTMLElement","scrollTo","scrollToTop","scrollToBottom","setState","componentWillUnmount","render","theme","renderMain","up","move","down","enter","event","reset","hasHighlightedItem","highlightItem","isEmpty","hasShadow","maxHeight","preventWindowScroll","offsetY","top","right","bottom","isMobile","isMobileLayout","getAlignRightClass","rootMobile","shadow","getStyle","setRootNode","disableScrollContainer","scrollContainerMobile","originalRef","menuItem","shouldHandleHref","item","childrenToArray","href","target","window","open","location","onItemClick","step","activeElements","filter","length","indexOf","Component","__KONTUR_REACT_UI__","align","width","ret","forEach","push","maxWidth","minWidth","alignRight","alignRightIE11","alignRightIE11FixAutoWidth"],"mappings":"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","sourcesContent":["import React, { CSSProperties } from 'react';\n\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { isNonNullable } from '../../lib/utils';\nimport { ScrollContainer } from '../../components/ScrollContainer';\nimport { MenuItem, MenuItemProps } from '../../components/MenuItem';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { addIconPaddingIfPartOfMenu } from '../InternalMenu/addIconPaddingIfPartOfMenu';\nimport { isIE11 } from '../../lib/client';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles } from './Menu.styles';\nimport { isActiveElement } from './isActiveElement';\n\nexport interface MenuProps {\n children: React.ReactNode;\n hasShadow?: boolean;\n maxHeight?: number | string;\n onItemClick?: () => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n /**\n * Отключение кастомного скролла контейнера\n */\n disableScrollContainer?: boolean;\n align?: 'left' | 'right';\n}\n\nexport interface MenuState {\n highlightedIndex: number;\n}\n\nexport const MenuDataTids = {\n root: 'Menu__root',\n} as const;\n\ntype DefaultProps = Required<Pick<MenuProps, 'align' | 'width' | 'maxHeight' | 'hasShadow' | 'preventWindowScroll'>>;\n\n@responsiveLayout\n@rootNode\nexport class Menu extends React.Component<MenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'Menu';\n\n public static defaultProps: DefaultProps = {\n align: 'left',\n width: 'auto',\n maxHeight: 300,\n hasShadow: true,\n preventWindowScroll: true,\n };\n\n private getProps = createPropsGetter(Menu.defaultProps);\n\n public state = {\n highlightedIndex: -1,\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private isMobileLayout!: boolean;\n private highlighted: Nullable<MenuItem>;\n private unmounted = false;\n private setRootNode!: TSetRootNode;\n\n public componentWillUnmount() {\n this.unmounted = true;\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public up() {\n this.move(-1);\n }\n\n /**\n * @public\n */\n public down() {\n this.move(1);\n }\n\n /**\n * @public\n */\n public enter(event: React.SyntheticEvent<HTMLElement>) {\n return this.select(this.state.highlightedIndex, true, event);\n }\n\n /**\n * @public\n */\n public reset() {\n this.setState({ highlightedIndex: -1 });\n }\n\n /**\n * @public\n */\n public hasHighlightedItem() {\n return this.state.highlightedIndex !== -1;\n }\n\n public highlightItem(index: number) {\n this.highlight(index);\n }\n\n private renderMain() {\n if (this.isEmpty()) {\n return null;\n }\n const { hasShadow, maxHeight, preventWindowScroll } = this.getProps();\n\n const offsetY = isTheme2022(this.theme)\n ? {\n top: 4,\n right: 0,\n bottom: 4,\n }\n : {};\n\n const isMobile = this.isMobileLayout;\n return (\n <div\n data-tid={MenuDataTids.root}\n className={cx(getAlignRightClass(this.props), {\n [styles.root(this.theme)]: true,\n [styles.rootMobile(this.theme)]: isMobile,\n [styles.shadow(this.theme)]: hasShadow && !isMobile,\n })}\n style={getStyle(this.props)}\n ref={this.setRootNode}\n >\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={maxHeight}\n preventWindowScroll={preventWindowScroll}\n disabled={this.props.disableScrollContainer}\n offsetY={offsetY}\n >\n <div\n className={cx({\n [styles.scrollContainer(this.theme)]: true,\n [styles.scrollContainerMobile(this.theme)]: isMobile,\n })}\n >\n {this.getChildList()}\n </div>\n </ScrollContainer>\n </div>\n );\n }\n\n private getChildList = () => {\n const enableIconPadding = React.Children.toArray(this.props.children).some(\n (x) => React.isValidElement(x) && x.props.icon,\n );\n\n return React.Children.map(this.props.children, (child, index) => {\n if (!child) {\n return child;\n }\n\n if (typeof child === 'string' || typeof child === 'number') {\n return child;\n }\n\n const modifiedChild = addIconPaddingIfPartOfMenu(child, enableIconPadding);\n\n if (isActiveElement(modifiedChild)) {\n const highlight = this.state.highlightedIndex === index;\n\n let ref = modifiedChild.ref;\n if (highlight && typeof modifiedChild.ref !== 'string') {\n ref = this.refHighlighted.bind(this, modifiedChild.ref);\n }\n\n return React.cloneElement<MenuItemProps, MenuItem>(modifiedChild, {\n ref,\n state: highlight ? 'hover' : modifiedChild.props.state,\n onClick: this.select.bind(this, index, false),\n onMouseEnter: this.highlight.bind(this, index),\n onMouseLeave: this.unhighlight,\n });\n }\n\n return modifiedChild;\n });\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private refHighlighted(\n originalRef: ((menuItem: MenuItem | null) => any) | React.RefObject<MenuItem> | null | undefined,\n menuItem: MenuItem | null,\n ) {\n this.highlighted = menuItem;\n\n if (typeof originalRef === 'function') {\n originalRef(menuItem);\n }\n }\n\n private scrollToSelected = () => {\n if (this.scrollContainer && this.highlighted) {\n const rootNode = getRootNode(this.highlighted);\n // TODO: Remove this check once IF-647 is resolved\n if (rootNode instanceof HTMLElement) {\n this.scrollContainer.scrollTo(rootNode);\n }\n }\n };\n\n private scrollToTop = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToTop();\n }\n };\n\n private scrollToBottom = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToBottom();\n }\n };\n\n private select(index: number, shouldHandleHref: boolean, event: React.SyntheticEvent<HTMLElement>): boolean {\n const item = childrenToArray(this.props.children)[index];\n if (isActiveElement(item)) {\n if (shouldHandleHref && item.props.href) {\n if (item.props.target) {\n window.open(item.props.href, item.props.target);\n } else {\n location.href = item.props.href;\n }\n }\n if (item.props.onClick) {\n item.props.onClick(event);\n }\n if (this.props.onItemClick) {\n this.props.onItemClick();\n }\n return true;\n }\n return false;\n }\n\n private highlight = (index: number) => {\n this.setState({ highlightedIndex: index });\n };\n\n private unhighlight = () => {\n this.setState({ highlightedIndex: -1 });\n };\n\n private move(step: number) {\n if (this.unmounted) {\n // NOTE workaround, because `ComboBox` call `process.nextTick` in reducer\n return;\n }\n\n const children = childrenToArray(this.props.children);\n const activeElements = children.filter(isActiveElement);\n if (!activeElements.length) {\n return;\n }\n let index = this.state.highlightedIndex;\n do {\n index += step;\n if (index < 0) {\n index = children.length - 1;\n } else if (index > children.length) {\n index = 0;\n }\n\n const child = children[index];\n if (isActiveElement(child)) {\n this.setState({ highlightedIndex: index }, () => {\n switch (activeElements.indexOf(child)) {\n case 0:\n this.scrollToTop();\n break;\n case activeElements.length - 1:\n this.scrollToBottom();\n break;\n default:\n this.scrollToSelected();\n }\n });\n return;\n }\n } while (index !== this.state.highlightedIndex);\n }\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isNonNullable).length;\n }\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, (child) => {\n ret.push(child);\n });\n return ret;\n}\n\nconst getStyle = (props: MenuProps): CSSProperties => {\n if (props.align === 'right') {\n return {\n maxWidth: props.width,\n minWidth: props.width,\n maxHeight: props.maxHeight,\n };\n }\n\n return {\n width: props.width,\n maxHeight: props.maxHeight,\n };\n};\n\nconst getAlignRightClass = (props: MenuProps) => {\n if (props.align === 'right') {\n return cx({\n [styles.alignRight()]: !isIE11,\n [styles.alignRightIE11()]: isIE11,\n [styles.alignRightIE11FixAutoWidth()]: isIE11 && props.width === 'auto',\n });\n }\n\n return null;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["Menu.tsx"],"names":["React","isKeyArrowDown","isKeyArrowUp","isKeyEnter","MenuSeparator","ThemeFactory","getDOMRect","isHTMLElement","responsiveLayout","isNonNullable","isNullable","ScrollContainer","ThemeContext","cx","getRootNode","rootNode","addIconPaddingIfPartOfMenu","isIE11","createPropsGetter","isTheme2022","isIconPaddingEnabled","styles","isActiveElement","MenuDataTids","root","Menu","getProps","defaultProps","state","highlightedIndex","maxHeight","scrollState","unmounted","focusOnRootElement","focus","renderHeader","wrapper","headerWrapper","el","header","contentWrapper","props","menuSeparatorWrapper","theme","renderMenuSeparatorWithNoMargin","renderFooter","footerWrapper","footer","create","menuSeparatorMarginY","getChildList","enableIconPadding","children","preventIconsOffset","Children","map","child","index","modifiedChild","highlight","ref","refHighlighted","bind","cloneElement","onClick","select","onMouseEnter","onMouseLeave","unhighlight","setInitialSelection","i","initialSelectedItemIndex","down","shouldRecalculateMaxHeight","prevProps","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","count","calculateMaxHeight","parsedMaxHeight","window","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","height","setState","refScrollContainer","scrollContainer","scrollToSelected","highlighted","HTMLElement","scrollTo","scrollToTop","scrollToBottom","handleKeyDown","event","onKeyDown","defaultPrevented","preventDefault","up","getStyle","align","maxWidth","width","minWidth","handleScrollStateChange","componentWillUnmount","componentDidMount","componentDidUpdate","render","renderMain","move","enter","reset","hasHighlightedItem","highlightItem","isEmpty","hasShadow","preventWindowScroll","offsetY","top","scrollContainerScrollBarOffsetY","right","bottom","isMobile","isMobileLayout","getAlignRightClass","mobileRoot","shadow","id","setRootNode","disableScrollContainer","scrollContainerMobile","originalRef","menuItem","shouldHandleHref","item","childrenToArray","href","target","open","location","onItemClick","step","activeElements","filter","length","cyclicSelection","indexOf","PureComponent","__KONTUR_REACT_UI__","ret","forEach","push","alignRight","alignRightIE11","alignRightIE11FixAutoWidth"],"mappings":"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","sourcesContent":["import React, { CSSProperties, HTMLAttributes } from 'react';\n\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { isHTMLElement } from '../../lib/SSRSafe';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { isNonNullable, isNullable } from '../../lib/utils';\nimport { ScrollContainer, ScrollContainerScrollState } from '../../components/ScrollContainer';\nimport { MenuItem, MenuItemProps } from '../../components/MenuItem';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { addIconPaddingIfPartOfMenu } from '../InternalMenu/addIconPaddingIfPartOfMenu';\nimport { isIE11 } from '../../lib/client';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { isIconPaddingEnabled } from '../InternalMenu/isIconPaddingEnabled';\n\nimport { styles } from './Menu.styles';\nimport { isActiveElement } from './isActiveElement';\n\nexport interface MenuProps extends Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n children: React.ReactNode;\n hasShadow?: boolean;\n /**\n * Максимальная высота применяется только для скролл контейнера\n *\n * Высота `header` и `footer` в нее не включены\n */\n maxHeight?: number | string;\n onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n /**\n * Отключение кастомного скролла контейнера\n */\n disableScrollContainer?: boolean;\n align?: 'left' | 'right';\n /**\n * Предотвращает выравнивание текста всех пунктов меню относительно друг друга.\n * Так, если хотя бы у одного пункта меню есть иконка, текст в остальных пунктах меню будет выровнен относительно пункта меню с иконкой\n */\n preventIconsOffset?: boolean;\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n /**\n * Циклический перебор айтемов меню (по-дефолтну включен)\n */\n cyclicSelection?: boolean;\n initialSelectedItemIndex?: number;\n}\n\nexport interface MenuState {\n highlightedIndex: number;\n maxHeight: number | string;\n scrollState: ScrollContainerScrollState;\n}\n\nexport const MenuDataTids = {\n root: 'Menu__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n MenuProps,\n | 'align'\n | 'width'\n | 'maxHeight'\n | 'hasShadow'\n | 'preventWindowScroll'\n | 'cyclicSelection'\n | 'initialSelectedItemIndex'\n >\n>;\n\n@responsiveLayout\n@rootNode\nexport class Menu extends React.PureComponent<MenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'Menu';\n\n public static defaultProps: DefaultProps = {\n align: 'left',\n width: 'auto',\n maxHeight: 300,\n hasShadow: true,\n preventWindowScroll: true,\n cyclicSelection: true,\n initialSelectedItemIndex: -1,\n };\n\n private getProps = createPropsGetter(Menu.defaultProps);\n\n public state: MenuState = {\n highlightedIndex: -1,\n maxHeight: this.getProps().maxHeight || 'none',\n scrollState: 'top',\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private isMobileLayout!: boolean;\n private highlighted: Nullable<MenuItem>;\n private unmounted = false;\n private setRootNode!: TSetRootNode;\n private header: Nullable<HTMLDivElement>;\n private footer: Nullable<HTMLDivElement>;\n\n public componentWillUnmount() {\n this.unmounted = true;\n }\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\n }\n\n public componentDidUpdate(prevProps: MenuProps) {\n if (this.shouldRecalculateMaxHeight(prevProps)) {\n this.calculateMaxHeight();\n }\n\n if (prevProps.maxHeight !== this.getProps().maxHeight) {\n this.setState({\n maxHeight: this.props.maxHeight || 'none',\n });\n }\n }\n\n public focus() {\n this.focusOnRootElement();\n }\n\n private focusOnRootElement = (): void => {\n const rootNode = getRootNode(this);\n if (isHTMLElement(rootNode)) {\n rootNode?.focus();\n }\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public up() {\n this.move(-1);\n }\n\n /**\n * @public\n */\n public down() {\n this.move(1);\n }\n\n /**\n * @public\n */\n public enter(event: React.SyntheticEvent<HTMLElement>) {\n return this.select(this.state.highlightedIndex, true, event);\n }\n\n /**\n * @public\n */\n public reset() {\n this.setState({ highlightedIndex: -1 });\n }\n\n /**\n * @public\n */\n public hasHighlightedItem() {\n return this.state.highlightedIndex !== -1;\n }\n\n public highlightItem(index: number) {\n this.highlight(index);\n }\n\n private renderMain() {\n if (this.isEmpty()) {\n return null;\n }\n const { hasShadow, maxHeight, preventWindowScroll } = this.getProps();\n\n const offsetY = isTheme2022(this.theme)\n ? {\n top: `${this.theme.scrollContainerScrollBarOffsetY}`,\n right: 0,\n bottom: `${this.theme.scrollContainerScrollBarOffsetY}`,\n }\n : {};\n\n const isMobile = this.isMobileLayout;\n return (\n <div\n data-tid={MenuDataTids.root}\n className={cx(getAlignRightClass(this.props), {\n [styles.root(this.theme)]: true,\n [styles.mobileRoot(this.theme)]: isMobile,\n [styles.shadow(this.theme)]: hasShadow && !isMobile,\n })}\n style={this.getStyle(this.props)}\n id={this.props.id}\n onKeyDown={this.handleKeyDown}\n ref={this.setRootNode}\n tabIndex={0}\n >\n {this.props.header && this.renderHeader()}\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={maxHeight}\n preventWindowScroll={preventWindowScroll}\n onScrollStateChange={this.handleScrollStateChange}\n disabled={this.props.disableScrollContainer}\n offsetY={offsetY}\n >\n <div\n className={cx({\n [styles.scrollContainer(this.theme)]: true,\n [styles.scrollContainerMobile(this.theme)]: isMobile,\n })}\n >\n {this.getChildList()}\n </div>\n </ScrollContainer>\n {this.props.footer && this.renderFooter()}\n </div>\n );\n }\n\n private renderHeader = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.headerWrapper()]: true,\n })}\n ref={(el) => (this.header = el)}\n >\n <div className={styles.contentWrapper()}>{this.props.header}</div>\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'top' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n </div>\n );\n };\n\n private renderFooter = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.footerWrapper()]: true,\n })}\n ref={(el) => (this.footer = el)}\n >\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'bottom' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n <div className={styles.contentWrapper()}>{this.props.footer}</div>\n </div>\n );\n };\n\n private renderMenuSeparatorWithNoMargin = () => {\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ menuSeparatorMarginY: '0' }, this.theme)}>\n <MenuSeparator />\n </ThemeContext.Provider>\n );\n };\n\n private getChildList = () => {\n const enableIconPadding = isIconPaddingEnabled(this.props.children, this.props.preventIconsOffset);\n\n return React.Children.map(this.props.children, (child, index) => {\n if (typeof child === 'string' || typeof child === 'number' || isNullable(child)) {\n return child;\n }\n\n const modifiedChild = addIconPaddingIfPartOfMenu(child, enableIconPadding);\n\n if (isActiveElement(modifiedChild)) {\n const highlight = this.state.highlightedIndex === index;\n\n let ref = modifiedChild.ref;\n if (highlight && typeof modifiedChild.ref !== 'string') {\n ref = this.refHighlighted.bind(this, modifiedChild.ref);\n }\n\n return React.cloneElement<MenuItemProps, MenuItem>(modifiedChild, {\n ref,\n state: highlight ? 'hover' : modifiedChild.props.state,\n onClick: this.select.bind(this, index, false),\n onMouseEnter: this.highlight.bind(this, index),\n onMouseLeave: this.unhighlight,\n });\n }\n\n return modifiedChild;\n });\n };\n\n private setInitialSelection = () => {\n for (let i = this.getProps().initialSelectedItemIndex; i > -1; i--) {\n this.down();\n }\n };\n\n private shouldRecalculateMaxHeight = (prevProps: MenuProps): boolean => {\n const { header, footer, children } = this.props;\n const maxHeight = this.getProps().maxHeight;\n const prevMaxHeight = prevProps.maxHeight;\n const prevHeader = prevProps.header;\n const prevFooter = prevProps.footer;\n const prevChildrenCount = React.Children.count(prevProps.children);\n\n return (\n maxHeight !== prevMaxHeight ||\n footer !== prevFooter ||\n header !== prevHeader ||\n React.Children.count(children) !== prevChildrenCount\n );\n };\n\n private calculateMaxHeight = () => {\n const maxHeight = this.getProps().maxHeight;\n let parsedMaxHeight = maxHeight;\n const rootNode = getRootNode(this);\n\n if (typeof maxHeight === 'string' && typeof window !== 'undefined' && rootNode) {\n const rootElementMaxHeight = window.getComputedStyle(rootNode).maxHeight;\n\n if (rootElementMaxHeight) {\n parsedMaxHeight = parseFloat(rootElementMaxHeight);\n }\n }\n\n const calculatedMaxHeight =\n typeof parsedMaxHeight === 'number'\n ? parsedMaxHeight +\n ((this.header && getDOMRect(this.header).height) || 0) +\n ((this.footer && getDOMRect(this.footer).height) || 0)\n : maxHeight;\n\n this.setState({\n maxHeight: calculatedMaxHeight || 'none',\n });\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private refHighlighted(\n originalRef: ((menuItem: MenuItem | null) => any) | React.RefObject<MenuItem> | null | undefined,\n menuItem: MenuItem | null,\n ) {\n this.highlighted = menuItem;\n\n if (typeof originalRef === 'function') {\n originalRef(menuItem);\n }\n }\n\n private scrollToSelected = () => {\n if (this.scrollContainer && this.highlighted) {\n const rootNode = getRootNode(this.highlighted);\n // TODO: Remove this check once IF-647 is resolved\n if (rootNode instanceof HTMLElement) {\n this.scrollContainer.scrollTo(rootNode);\n }\n }\n };\n\n private scrollToTop = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToTop();\n }\n };\n\n private scrollToBottom = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToBottom();\n }\n };\n\n private select(index: number, shouldHandleHref: boolean, event: React.SyntheticEvent<HTMLElement>): boolean {\n const item = childrenToArray(this.props.children)[index];\n if (isActiveElement(item)) {\n if (shouldHandleHref && item.props.href) {\n if (item.props.target) {\n window.open(item.props.href, item.props.target);\n } else {\n location.href = item.props.href;\n }\n }\n if (item.props.onClick) {\n item.props.onClick(event);\n }\n if (this.props.onItemClick) {\n this.props.onItemClick(event);\n }\n return true;\n }\n return false;\n }\n\n private highlight = (index: number) => {\n this.setState({ highlightedIndex: index });\n };\n\n private unhighlight = () => {\n this.setState({ highlightedIndex: -1 });\n };\n\n private move(step: number) {\n if (this.unmounted) {\n // NOTE workaround, because `ComboBox` call `process.nextTick` in reducer\n return;\n }\n\n const children = childrenToArray(this.props.children);\n const activeElements = children.filter(isActiveElement);\n if (!activeElements.length) {\n return;\n }\n let index = this.state.highlightedIndex;\n do {\n index += step;\n\n if (!this.getProps().cyclicSelection && (index < 0 || index > children.length)) {\n return;\n }\n\n if (index < 0) {\n index = children.length - 1;\n } else if (index > children.length) {\n index = 0;\n }\n\n const child = children[index];\n if (isActiveElement(child)) {\n this.setState({ highlightedIndex: index }, () => {\n switch (activeElements.indexOf(child)) {\n case 0:\n this.scrollToTop();\n break;\n case activeElements.length - 1:\n this.scrollToBottom();\n break;\n default:\n this.scrollToSelected();\n }\n });\n return;\n }\n } while (index !== this.state.highlightedIndex);\n }\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isNonNullable).length;\n }\n\n private handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\n if (typeof this.props.onKeyDown === 'function') {\n this.props.onKeyDown(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (isKeyArrowUp(event)) {\n event.preventDefault();\n this.up();\n } else if (isKeyArrowDown(event)) {\n event.preventDefault();\n this.down();\n } else if (isKeyEnter(event)) {\n if (this.highlighted && this.highlighted.props.onClick) {\n this.highlighted.props.onClick(event);\n }\n }\n };\n\n private getStyle = (props: MenuProps): CSSProperties => {\n if (props.align === 'right') {\n return {\n maxWidth: props.width,\n minWidth: props.width,\n maxHeight: this.state.maxHeight,\n };\n }\n\n return {\n width: props.width,\n maxHeight: this.state.maxHeight,\n };\n };\n\n private handleScrollStateChange = (scrollState: ScrollContainerScrollState) => {\n if (this.state.scrollState !== scrollState) {\n this.setState({ scrollState });\n }\n };\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, (child) => {\n ret.push(child);\n });\n return ret;\n}\n\nconst getAlignRightClass = (props: MenuProps) => {\n if (props.align === 'right') {\n return cx({\n [styles.alignRight()]: !isIE11,\n [styles.alignRightIE11()]: isIE11,\n [styles.alignRightIE11FixAutoWidth()]: isIE11 && props.width === 'auto',\n });\n }\n\n return null;\n};\n"]}
|
package/internal/Menu/Menu.d.ts
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
1
|
+
import React, { HTMLAttributes } from 'react';
|
|
2
|
+
import { ScrollContainerScrollState } from '../../components/ScrollContainer';
|
|
3
|
+
export interface MenuProps extends Pick<HTMLAttributes<HTMLDivElement>, 'id'> {
|
|
3
4
|
children: React.ReactNode;
|
|
4
5
|
hasShadow?: boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Максимальная высота применяется только для скролл контейнера
|
|
8
|
+
*
|
|
9
|
+
* Высота `header` и `footer` в нее не включены
|
|
10
|
+
*/
|
|
5
11
|
maxHeight?: number | string;
|
|
6
|
-
onItemClick?: () => void;
|
|
12
|
+
onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;
|
|
7
13
|
width?: number | string;
|
|
8
14
|
preventWindowScroll?: boolean;
|
|
9
15
|
/**
|
|
@@ -11,28 +17,47 @@ export interface MenuProps {
|
|
|
11
17
|
*/
|
|
12
18
|
disableScrollContainer?: boolean;
|
|
13
19
|
align?: 'left' | 'right';
|
|
20
|
+
/**
|
|
21
|
+
* Предотвращает выравнивание текста всех пунктов меню относительно друг друга.
|
|
22
|
+
* Так, если хотя бы у одного пункта меню есть иконка, текст в остальных пунктах меню будет выровнен относительно пункта меню с иконкой
|
|
23
|
+
*/
|
|
24
|
+
preventIconsOffset?: boolean;
|
|
25
|
+
onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;
|
|
26
|
+
header?: React.ReactNode;
|
|
27
|
+
footer?: React.ReactNode;
|
|
28
|
+
/**
|
|
29
|
+
* Циклический перебор айтемов меню (по-дефолтну включен)
|
|
30
|
+
*/
|
|
31
|
+
cyclicSelection?: boolean;
|
|
32
|
+
initialSelectedItemIndex?: number;
|
|
14
33
|
}
|
|
15
34
|
export interface MenuState {
|
|
16
35
|
highlightedIndex: number;
|
|
36
|
+
maxHeight: number | string;
|
|
37
|
+
scrollState: ScrollContainerScrollState;
|
|
17
38
|
}
|
|
18
39
|
export declare const MenuDataTids: {
|
|
19
40
|
readonly root: "Menu__root";
|
|
20
41
|
};
|
|
21
|
-
declare type DefaultProps = Required<Pick<MenuProps, 'align' | 'width' | 'maxHeight' | 'hasShadow' | 'preventWindowScroll'>>;
|
|
22
|
-
export declare class Menu extends React.
|
|
42
|
+
declare type DefaultProps = Required<Pick<MenuProps, 'align' | 'width' | 'maxHeight' | 'hasShadow' | 'preventWindowScroll' | 'cyclicSelection' | 'initialSelectedItemIndex'>>;
|
|
43
|
+
export declare class Menu extends React.PureComponent<MenuProps, MenuState> {
|
|
23
44
|
static __KONTUR_REACT_UI__: string;
|
|
24
45
|
static defaultProps: DefaultProps;
|
|
25
46
|
private getProps;
|
|
26
|
-
state:
|
|
27
|
-
highlightedIndex: number;
|
|
28
|
-
};
|
|
47
|
+
state: MenuState;
|
|
29
48
|
private theme;
|
|
30
49
|
private scrollContainer;
|
|
31
50
|
private isMobileLayout;
|
|
32
51
|
private highlighted;
|
|
33
52
|
private unmounted;
|
|
34
53
|
private setRootNode;
|
|
54
|
+
private header;
|
|
55
|
+
private footer;
|
|
35
56
|
componentWillUnmount(): void;
|
|
57
|
+
componentDidMount(): void;
|
|
58
|
+
componentDidUpdate(prevProps: MenuProps): void;
|
|
59
|
+
focus(): void;
|
|
60
|
+
private focusOnRootElement;
|
|
36
61
|
render(): JSX.Element;
|
|
37
62
|
/**
|
|
38
63
|
* @public
|
|
@@ -56,7 +81,13 @@ export declare class Menu extends React.Component<MenuProps, MenuState> {
|
|
|
56
81
|
hasHighlightedItem(): boolean;
|
|
57
82
|
highlightItem(index: number): void;
|
|
58
83
|
private renderMain;
|
|
84
|
+
private renderHeader;
|
|
85
|
+
private renderFooter;
|
|
86
|
+
private renderMenuSeparatorWithNoMargin;
|
|
59
87
|
private getChildList;
|
|
88
|
+
private setInitialSelection;
|
|
89
|
+
private shouldRecalculateMaxHeight;
|
|
90
|
+
private calculateMaxHeight;
|
|
60
91
|
private refScrollContainer;
|
|
61
92
|
private refHighlighted;
|
|
62
93
|
private scrollToSelected;
|
|
@@ -67,5 +98,8 @@ export declare class Menu extends React.Component<MenuProps, MenuState> {
|
|
|
67
98
|
private unhighlight;
|
|
68
99
|
private move;
|
|
69
100
|
private isEmpty;
|
|
101
|
+
private handleKeyDown;
|
|
102
|
+
private getStyle;
|
|
103
|
+
private handleScrollStateChange;
|
|
70
104
|
}
|
|
71
105
|
export {};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
|
|
2
2
|
|
|
3
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
3
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
|
|
4
4
|
|
|
5
5
|
import { css, memoizeStyle } from "../../../lib/theming/Emotion";
|
|
6
6
|
export var styles = memoizeStyle({
|
|
7
7
|
root: function root(t) {
|
|
8
|
-
return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n background: ", ";\n border-radius: ", ";\n box-sizing: ", ";\n
|
|
8
|
+
return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n background: ", ";\n border-radius: ", ";\n box-sizing: ", ";\n outline: none;\n padding: ", " ", ";\n margin: ", " 0;\n "])), t.menuBgDefault, t.menuBorderRadius, t.menuBoxSizing, t.menuPaddingY, t.menuPaddingX, t.menuOffsetY);
|
|
9
9
|
},
|
|
10
|
-
|
|
10
|
+
mobileRoot: function mobileRoot(t) {
|
|
11
11
|
return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n border-radius: 0;\n margin: 0;\n padding: 0 ", ";\n "])), t.mobileMenuPaddingX);
|
|
12
12
|
},
|
|
13
13
|
alignRight: function alignRight() {
|
|
@@ -20,12 +20,27 @@ export var styles = memoizeStyle({
|
|
|
20
20
|
return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n box-sizing: border-box !important; // override root styles\n overflow: hidden !important; // override root styles\n "])));
|
|
21
21
|
},
|
|
22
22
|
scrollContainer: function scrollContainer(t) {
|
|
23
|
-
return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n padding: ", " 0;\n "])), t.
|
|
23
|
+
return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n padding: ", " 0;\n "])), t.menuScrollContainerContentWrapperPaddingY);
|
|
24
24
|
},
|
|
25
25
|
scrollContainerMobile: function scrollContainerMobile(t) {
|
|
26
|
-
return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n padding: ", " 0;\n "])), t.
|
|
26
|
+
return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n padding: ", " 0;\n "])), t.mobileMenuScrollContainerContentWrapperPaddingY);
|
|
27
27
|
},
|
|
28
28
|
shadow: function shadow(t) {
|
|
29
29
|
return css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n border: ", ";\n box-shadow: ", ";\n "])), t.menuBorder, t.menuShadow);
|
|
30
|
+
},
|
|
31
|
+
wrapper: function wrapper() {
|
|
32
|
+
return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n position: relative;\n z-index: 1;\n width: 100%;\n overflow: hidden;\n line-height: 18px;\n box-sizing: border-box;\n "])));
|
|
33
|
+
},
|
|
34
|
+
headerWrapper: function headerWrapper() {
|
|
35
|
+
return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n top: -5px;\n "])));
|
|
36
|
+
},
|
|
37
|
+
footerWrapper: function footerWrapper() {
|
|
38
|
+
return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n bottom: -5px;\n "])));
|
|
39
|
+
},
|
|
40
|
+
contentWrapper: function contentWrapper() {
|
|
41
|
+
return css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteralLoose(["\n padding: 6px 18px 7px 8px;\n "])));
|
|
42
|
+
},
|
|
43
|
+
menuSeparatorWrapper: function menuSeparatorWrapper(t) {
|
|
44
|
+
return css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteralLoose(["\n height: ", ";\n "])), t.menuSeparatorBorderWidth);
|
|
30
45
|
}
|
|
31
46
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Menu.styles.ts"],"names":["css","memoizeStyle","styles","root","t","menuBgDefault","menuBorderRadius","menuBoxSizing","menuPaddingX","menuOffsetY","
|
|
1
|
+
{"version":3,"sources":["Menu.styles.ts"],"names":["css","memoizeStyle","styles","root","t","menuBgDefault","menuBorderRadius","menuBoxSizing","menuPaddingY","menuPaddingX","menuOffsetY","mobileRoot","mobileMenuPaddingX","alignRight","alignRightIE11","alignRightIE11FixAutoWidth","scrollContainer","menuScrollContainerContentWrapperPaddingY","scrollContainerMobile","mobileMenuScrollContainerContentWrapperPaddingY","shadow","menuBorder","menuShadow","wrapper","headerWrapper","footerWrapper","contentWrapper","menuSeparatorWrapper","menuSeparatorBorderWidth"],"mappings":"gVAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,2BAAlC;;;AAGA,OAAO,IAAMC,MAAM,GAAGD,YAAY,CAAC;AACjCE,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,WAAOJ,GAAP;AACgBI,IAAAA,CAAC,CAACC,aADlB;AAEmBD,IAAAA,CAAC,CAACE,gBAFrB;AAGgBF,IAAAA,CAAC,CAACG,aAHlB;;AAKaH,IAAAA,CAAC,CAACI,YALf,EAK+BJ,CAAC,CAACK,YALjC;AAMYL,IAAAA,CAAC,CAACM,WANd;;AAQD,GAVgC;;AAYjCC,EAAAA,UAZiC,sBAYtBP,CAZsB,EAYZ;AACnB,WAAOJ,GAAP;;;AAGeI,IAAAA,CAAC,CAACQ,kBAHjB;;AAKD,GAlBgC;;AAoBjCC,EAAAA,UApBiC,wBAoBpB;AACX,WAAOb,GAAP;;;AAGD,GAxBgC;;AA0BjCc,EAAAA,cA1BiC,4BA0BhB;AACf,WAAOd,GAAP;;;;AAID,GA/BgC;;AAiCjCe,EAAAA,0BAjCiC,wCAiCJ;AAC3B,WAAOf,GAAP;;;;AAID,GAtCgC;;AAwCjCgB,EAAAA,eAxCiC,2BAwCjBZ,CAxCiB,EAwCP;AACxB,WAAOJ,GAAP;AACaI,IAAAA,CAAC,CAACa,yCADf;;AAGD,GA5CgC;;AA8CjCC,EAAAA,qBA9CiC,iCA8CXd,CA9CW,EA8CD;AAC9B,WAAOJ,GAAP;AACaI,IAAAA,CAAC,CAACe,+CADf;;AAGD,GAlDgC;;AAoDjCC,EAAAA,MApDiC,kBAoD1BhB,CApD0B,EAoDhB;AACf,WAAOJ,GAAP;AACYI,IAAAA,CAAC,CAACiB,UADd;AAEgBjB,IAAAA,CAAC,CAACkB,UAFlB;;AAID,GAzDgC;;AA2DjCC,EAAAA,OA3DiC,qBA2DvB;AACR,WAAOvB,GAAP;;;;;;;;AAQD,GApEgC;;AAsEjCwB,EAAAA,aAtEiC,2BAsEjB;AACd,WAAOxB,GAAP;;;AAGD,GA1EgC;;AA4EjCyB,EAAAA,aA5EiC,2BA4EjB;AACd,WAAOzB,GAAP;;;AAGD,GAhFgC;;AAkFjC0B,EAAAA,cAlFiC,4BAkFhB;AACf,WAAO1B,GAAP;;;AAGD,GAtFgC;;AAwFjC2B,EAAAA,oBAxFiC,gCAwFZvB,CAxFY,EAwFF;AAC7B,WAAOJ,GAAP;AACYI,IAAAA,CAAC,CAACwB,wBADd;;AAGD,GA5FgC,EAAD,CAA3B","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n background: ${t.menuBgDefault};\n border-radius: ${t.menuBorderRadius};\n box-sizing: ${t.menuBoxSizing};\n outline: none;\n padding: ${t.menuPaddingY} ${t.menuPaddingX};\n margin: ${t.menuOffsetY} 0;\n `;\n },\n\n mobileRoot(t: Theme) {\n return css`\n border-radius: 0;\n margin: 0;\n padding: 0 ${t.mobileMenuPaddingX};\n `;\n },\n\n alignRight() {\n return css`\n flex: 1 1 100%;\n `;\n },\n\n alignRightIE11() {\n return css`\n float: right;\n width: 100%;\n `;\n },\n\n alignRightIE11FixAutoWidth() {\n return css`\n box-sizing: border-box !important; // override root styles\n overflow: hidden !important; // override root styles\n `;\n },\n\n scrollContainer(t: Theme) {\n return css`\n padding: ${t.menuScrollContainerContentWrapperPaddingY} 0;\n `;\n },\n\n scrollContainerMobile(t: Theme) {\n return css`\n padding: ${t.mobileMenuScrollContainerContentWrapperPaddingY} 0;\n `;\n },\n\n shadow(t: Theme) {\n return css`\n border: ${t.menuBorder};\n box-shadow: ${t.menuShadow};\n `;\n },\n\n wrapper() {\n return css`\n position: relative;\n z-index: 1;\n width: 100%;\n overflow: hidden;\n line-height: 18px;\n box-sizing: border-box;\n `;\n },\n\n headerWrapper() {\n return css`\n top: -5px;\n `;\n },\n\n footerWrapper() {\n return css`\n bottom: -5px;\n `;\n },\n\n contentWrapper() {\n return css`\n padding: 6px 18px 7px 8px;\n `;\n },\n\n menuSeparatorWrapper(t: Theme) {\n return css`\n height: ${t.menuSeparatorBorderWidth};\n `;\n },\n});\n"]}
|