@skbkontur/react-ui 5.2.1 → 5.3.0
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 +31 -0
- package/README.md +7 -7
- package/cjs/components/Autocomplete/Autocomplete.d.ts +6 -23
- package/cjs/components/Autocomplete/Autocomplete.js +49 -46
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.d.ts +2 -0
- package/cjs/components/Button/Button.js +29 -1
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.styles.d.ts +6 -0
- package/cjs/components/Button/Button.styles.js +107 -75
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Calendar/Calendar.d.ts +2 -0
- package/cjs/components/Calendar/Calendar.js +1 -0
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Center/Center.d.ts +2 -0
- package/cjs/components/Center/Center.js +1 -0
- package/cjs/components/Center/Center.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.d.ts +2 -12
- package/cjs/components/Checkbox/Checkbox.js +2 -14
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.d.ts +2 -0
- package/cjs/components/ComboBox/ComboBox.js +1 -0
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -24
- package/cjs/components/CurrencyInput/CurrencyInput.js +5 -28
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyInput/constants.js +1 -2
- package/cjs/components/CurrencyInput/constants.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -28
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/DateInput/DateInput.d.ts +2 -0
- package/cjs/components/DateInput/DateInput.js +1 -0
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +6 -33
- package/cjs/components/DatePicker/DatePicker.js +6 -60
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
- package/cjs/components/Dropdown/Dropdown.js +2 -82
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
- package/cjs/components/DropdownMenu/DropdownMenu.js +1 -0
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/FxInput/FxInput.d.ts +2 -5
- package/cjs/components/FxInput/FxInput.js +2 -7
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/Gapped/Gapped.d.ts +2 -15
- package/cjs/components/Gapped/Gapped.js +1 -24
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
- package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/Group/Group.d.ts +5 -4
- package/cjs/components/Group/Group.js +91 -40
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Group/Group.styles.d.ts +1 -0
- package/cjs/components/Group/Group.styles.js +12 -6
- package/cjs/components/Group/Group.styles.js.map +1 -1
- package/cjs/components/Hint/Hint.d.ts +2 -0
- package/cjs/components/Hint/Hint.js +1 -0
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Input/Input.d.ts +2 -0
- package/cjs/components/Input/Input.js +1 -0
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +2 -1
- package/cjs/components/Kebab/Kebab.js +2 -26
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.d.ts +2 -0
- package/cjs/components/Link/Link.js +1 -0
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Loader/Loader.d.ts +6 -36
- package/cjs/components/Loader/Loader.js +3 -57
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MaskedInput/MaskedInput.d.ts +1 -0
- package/cjs/components/MaskedInput/MaskedInput.js +17 -1
- package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +2 -12
- package/cjs/components/MenuItem/MenuItem.js +2 -22
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
- package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
- package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
- package/cjs/components/MiniModal/MiniModalBody.js +17 -2
- package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +1 -0
- package/cjs/components/Modal/Modal.styles.js +36 -28
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalBody.d.ts +2 -0
- package/cjs/components/Modal/ModalBody.js +1 -0
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.d.ts +5 -0
- package/cjs/components/Modal/ModalHeader.js +8 -1
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/Paging/DotsIcon.d.ts +3 -0
- package/cjs/components/Paging/DotsIcon.js +13 -0
- package/cjs/components/Paging/DotsIcon.js.map +1 -0
- package/cjs/components/Paging/ForwardIcon.d.ts +3 -0
- package/cjs/components/Paging/ForwardIcon.js +13 -1
- package/cjs/components/Paging/ForwardIcon.js.map +1 -1
- package/cjs/components/Paging/NavigationHelper.d.ts +3 -2
- package/cjs/components/Paging/NavigationHelper.js +8 -6
- package/cjs/components/Paging/NavigationHelper.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +13 -2
- package/cjs/components/Paging/Paging.js +120 -50
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/Paging.styles.d.ts +24 -1
- package/cjs/components/Paging/Paging.styles.js +151 -22
- package/cjs/components/Paging/Paging.styles.js.map +1 -1
- package/cjs/components/Paging/PagingHelper.d.ts +1 -1
- package/cjs/components/Paging/PagingHelper.js +18 -11
- package/cjs/components/Paging/PagingHelper.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +2 -7
- package/cjs/components/PasswordInput/PasswordInput.js +2 -11
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.d.ts +2 -0
- package/cjs/components/Radio/Radio.js +1 -0
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -0
- package/cjs/components/RadioGroup/RadioGroup.js +1 -0
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +2 -9
- package/cjs/components/ScrollContainer/ScrollContainer.js +2 -11
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +2 -0
- package/cjs/components/Select/Select.js +1 -0
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePage.styles.d.ts +3 -1
- package/cjs/components/SidePage/SidePage.styles.js +52 -38
- package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
- package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
- package/cjs/components/SidePage/SidePageBody.js +1 -0
- package/cjs/components/SidePage/SidePageBody.js.map +1 -1
- package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
- package/cjs/components/SidePage/SidePageContainer.js +1 -0
- package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
- package/cjs/components/SidePage/SidePageFooter.js +1 -0
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +12 -2
- package/cjs/components/SidePage/SidePageHeader.js +60 -19
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/Spinner/Spinner.d.ts +2 -18
- package/cjs/components/Spinner/Spinner.js +2 -32
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Sticky/Sticky.d.ts +2 -13
- package/cjs/components/Sticky/Sticky.js +2 -22
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +6 -21
- package/cjs/components/Switcher/Switcher.js +11 -20
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
- package/cjs/components/Switcher/Switcher.styles.js +17 -9
- package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
- package/cjs/components/Tabs/Indicator.d.ts +2 -0
- package/cjs/components/Tabs/Indicator.js +1 -0
- package/cjs/components/Tabs/Indicator.js.map +1 -1
- package/cjs/components/Tabs/Tab.d.ts +2 -0
- package/cjs/components/Tabs/Tab.js +1 -0
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tabs.d.ts +2 -0
- package/cjs/components/Tabs/Tabs.js +1 -0
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +2 -44
- package/cjs/components/Textarea/Textarea.js +2 -56
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.js +2 -13
- package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
- package/cjs/components/Toast/Toast.d.ts +2 -0
- package/cjs/components/Toast/Toast.js +1 -0
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/ToastView.d.ts +2 -14
- package/cjs/components/Toast/ToastView.js +3 -22
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +2 -10
- package/cjs/components/Toggle/Toggle.js +1 -11
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Token/Token.d.ts +2 -0
- package/cjs/components/Token/Token.js +1 -0
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
- package/cjs/components/TokenInput/TokenInput.js +1 -0
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +14 -9
- package/cjs/components/Tooltip/Tooltip.js +95 -13
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
- package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
- package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
- package/cjs/components/TooltipMenu/TooltipMenu.js +1 -0
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
- package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
- package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/cjs/internal/ComponentTable.js +2 -3
- package/cjs/internal/ComponentTable.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +2 -0
- package/cjs/internal/CustomComboBox/ComboBoxView.js +1 -0
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +2 -0
- package/cjs/internal/CustomComboBox/CustomComboBox.js +1 -0
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
- package/cjs/internal/DateSelect/DateSelect.js +1 -18
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
- package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
- package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.d.ts +2 -0
- package/cjs/internal/InputLikeText/InputLikeText.js +1 -0
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/Menu/Menu.d.ts +2 -0
- package/cjs/internal/Menu/Menu.js +1 -0
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
- package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
- package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +41 -59
- package/cjs/internal/Popup/Popup.js +36 -79
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/PopupPin.d.ts +23 -33
- package/cjs/internal/Popup/PopupPin.js +2 -35
- package/cjs/internal/Popup/PopupPin.js.map +1 -1
- package/cjs/internal/Popup/PopupPinNew.d.ts +31 -0
- package/cjs/internal/Popup/PopupPinNew.js +180 -0
- package/cjs/internal/Popup/PopupPinNew.js.map +1 -0
- package/cjs/internal/Popup/PopupPinNew.styles.d.ts +7 -0
- package/cjs/internal/Popup/PopupPinNew.styles.js +33 -0
- package/cjs/internal/Popup/PopupPinNew.styles.js.map +1 -0
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
- package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
- package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.js +1 -1
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
- package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
- package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
- package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
- package/cjs/internal/ZIndex/ZIndex.js +5 -1
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
- package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
- package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
- package/cjs/internal/themes/BasicTheme.d.ts +112 -20
- package/cjs/internal/themes/BasicTheme.js +149 -18
- package/cjs/internal/themes/BasicTheme.js.map +1 -1
- package/cjs/internal/themes/DarkTheme5_2.js +1 -1
- package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
- package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme5_3.js +13 -0
- package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
- package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
- package/cjs/internal/themes/LightTheme5_3.js +13 -0
- package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
- package/cjs/lib/delay.mts +3 -0
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +11 -1
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/cjs/lib/forwardRefAndName.d.ts +1 -1
- package/cjs/lib/forwardRefAndName.js +0 -1
- package/cjs/lib/forwardRefAndName.js.map +1 -1
- package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -1
- package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
- package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
- package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
- package/cjs/lib/theming/ThemeVersions.js.map +1 -1
- package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
- package/cjs/lib/theming/themes/DarkTheme.js +4 -2
- package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
- package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
- package/cjs/lib/theming/themes/LightTheme.js +4 -2
- package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
- package/cjs/lib/utils.d.ts +4 -0
- package/cjs/lib/utils.js +5 -1
- package/cjs/lib/utils.js.map +1 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js +49 -45
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +6 -23
- package/components/Button/Button/Button.js +26 -5
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +2 -0
- package/components/Button/Button.styles/Button.styles.js +78 -60
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Button/Button.styles.d.ts +6 -0
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/Calendar.d.ts +2 -0
- package/components/Center/Center/Center.js.map +1 -1
- package/components/Center/Center.d.ts +2 -0
- package/components/Checkbox/Checkbox/Checkbox.js +0 -11
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +2 -12
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +2 -0
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +12 -36
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +6 -24
- package/components/CurrencyInput/constants/constants.js +0 -1
- package/components/CurrencyInput/constants/constants.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +2 -0
- package/components/DatePicker/DatePicker/DatePicker.js +1 -32
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +6 -33
- package/components/Dropdown/Dropdown/Dropdown.js +1 -47
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +2 -47
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
- package/components/FxInput/FxInput/FxInput.js +1 -5
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +2 -5
- package/components/Gapped/Gapped/Gapped.js +1 -15
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/Gapped/Gapped.d.ts +2 -15
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
- package/components/Group/Group/Group.js +64 -28
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.d.ts +5 -4
- package/components/Group/Group.styles/Group.styles.js +9 -6
- package/components/Group/Group.styles/Group.styles.js.map +1 -1
- package/components/Group/Group.styles.d.ts +1 -0
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +2 -0
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +2 -0
- package/components/Kebab/Kebab/Kebab.js +2 -20
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +2 -1
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +2 -0
- package/components/Loader/Loader/Loader.js +0 -33
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +6 -36
- package/components/MaskedInput/MaskedInput/MaskedInput.js +14 -0
- package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput.d.ts +1 -0
- package/components/MenuItem/MenuItem/MenuItem.js +1 -12
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +2 -12
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
- package/components/MiniModal/MiniModal.styles.d.ts +1 -0
- package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
- package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
- package/components/Modal/Modal.styles/Modal.styles.js +31 -28
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +1 -0
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Modal/ModalBody.d.ts +2 -0
- package/components/Modal/ModalHeader/ModalHeader.js +3 -1
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/Modal/ModalHeader.d.ts +5 -0
- package/components/Paging/DotsIcon/DotsIcon.js +14 -0
- package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
- package/components/Paging/DotsIcon/package.json +6 -0
- package/components/Paging/DotsIcon.d.ts +3 -0
- package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
- package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
- package/components/Paging/ForwardIcon.d.ts +3 -0
- package/components/Paging/NavigationHelper/NavigationHelper.js +9 -8
- package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
- package/components/Paging/NavigationHelper.d.ts +3 -2
- package/components/Paging/Paging/Paging.js +96 -47
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +13 -2
- package/components/Paging/Paging.styles/Paging.styles.js +77 -16
- package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
- package/components/Paging/Paging.styles.d.ts +24 -1
- package/components/Paging/PagingHelper/PagingHelper.js +16 -8
- package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
- package/components/Paging/PagingHelper.d.ts +1 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -7
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +2 -7
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +2 -0
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +2 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +2 -9
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +2 -0
- package/components/SidePage/SidePage.styles/SidePage.styles.js +41 -35
- package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
- package/components/SidePage/SidePage.styles.d.ts +3 -1
- package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
- package/components/SidePage/SidePageBody.d.ts +2 -0
- package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
- package/components/SidePage/SidePageContainer.d.ts +2 -0
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageFooter.d.ts +2 -0
- package/components/SidePage/SidePageHeader/SidePageHeader.js +61 -39
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +12 -2
- package/components/Spinner/Spinner/Spinner.js +1 -18
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +2 -18
- package/components/Sticky/Sticky/Sticky.js +1 -13
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +2 -13
- package/components/Switcher/Switcher/Switcher.js +19 -16
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +6 -21
- package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
- package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
- package/components/Switcher/Switcher.styles.d.ts +1 -0
- package/components/Tabs/Indicator/Indicator.js.map +1 -1
- package/components/Tabs/Indicator.d.ts +2 -0
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +2 -0
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +2 -0
- package/components/Textarea/Textarea/Textarea.js +1 -44
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +2 -44
- package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +2 -0
- package/components/Toast/ToastView/ToastView.js +3 -17
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.d.ts +2 -14
- package/components/Toggle/Toggle/Toggle.js +1 -10
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +2 -10
- package/components/Token/Token/Token.js.map +1 -1
- package/components/Token/Token.d.ts +2 -0
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +2 -0
- package/components/Tooltip/Tooltip/Tooltip.js +67 -20
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +14 -9
- package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
- package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
- package/components/Tooltip/Tooltip.styles.d.ts +7 -1
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
- package/internal/ComponentTable/ComponentTable.js +0 -2
- package/internal/ComponentTable/ComponentTable.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +2 -0
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +2 -0
- package/internal/DateSelect/DateSelect/DateSelect.js +1 -10
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.d.ts +0 -10
- package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
- package/internal/FocusTrap/FocusTrap.d.ts +2 -0
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.d.ts +2 -0
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.d.ts +2 -0
- package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopup.d.ts +2 -0
- package/internal/Popup/Popup/Popup.js +14 -64
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +41 -59
- package/internal/Popup/PopupPin/PopupPin.js +1 -34
- package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
- package/internal/Popup/PopupPin.d.ts +23 -33
- package/internal/Popup/PopupPinNew/PopupPinNew.js +146 -0
- package/internal/Popup/PopupPinNew/PopupPinNew.js.map +1 -0
- package/internal/Popup/PopupPinNew/package.json +6 -0
- package/internal/Popup/PopupPinNew.d.ts +31 -0
- package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js +20 -0
- package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js.map +1 -0
- package/internal/Popup/PopupPinNew.styles/package.json +6 -0
- package/internal/Popup/PopupPinNew.styles.d.ts +7 -0
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +2 -0
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer.d.ts +2 -3
- package/internal/ThemePlayground/Playground/Playground.js +4 -3
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
- package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
- package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
- package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndex.d.ts +3 -3
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
- package/internal/themes/BasicTheme/BasicTheme.js +170 -26
- package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
- package/internal/themes/BasicTheme.d.ts +112 -20
- package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
- package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
- package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
- package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
- package/internal/themes/DarkTheme5_3/package.json +6 -0
- package/internal/themes/DarkTheme5_3.d.ts +1 -0
- package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
- package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
- package/internal/themes/LightTheme5_3/package.json +6 -0
- package/internal/themes/LightTheme5_3.d.ts +1 -0
- package/lib/delay.d.mts +1 -0
- package/lib/delay.mts +3 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +6 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
- package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
- package/lib/forwardRefAndName.d.ts +1 -1
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
- package/lib/rootNode/rootNodeDecorator.d.ts +2 -1
- package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
- package/lib/theming/ThemeVersions.d.ts +1 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/lib/theming/themes/DarkTheme.d.ts +1 -0
- package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
- package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
- package/lib/theming/themes/LightTheme.d.ts +1 -0
- package/lib/utils/utils.js +2 -0
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +4 -0
- package/package.json +10 -13
- package/cjs/lib/SSRSafe.d.ts +0 -2
- package/cjs/lib/SSRSafe.js +0 -5
- package/cjs/lib/SSRSafe.js.map +0 -1
- package/lib/SSRSafe/SSRSafe.js +0 -4
- package/lib/SSRSafe/SSRSafe.js.map +0 -1
- package/lib/SSRSafe/package.json +0 -6
- package/lib/SSRSafe.d.ts +0 -2
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
3
|
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
4
|
-
var _excluded = ["onValueChange", "onKeyDown", "onFocus", "onBlur", "renderItem", "disablePortal", "hasShadow", "menuAlign", "menuMaxHeight", "preventWindowScroll", "source", "menuPos", "width", "mobileMenuHeaderText", "
|
|
4
|
+
var _excluded = ["onValueChange", "onKeyDown", "onFocus", "onBlur", "renderItem", "disablePortal", "hasShadow", "menuAlign", "menuMaxHeight", "preventWindowScroll", "source", "menuPos", "width", "mobileMenuHeaderText", "type"];
|
|
5
5
|
var _dec, _class, _Autocomplete;
|
|
6
6
|
import React from 'react';
|
|
7
|
-
import
|
|
7
|
+
import { globalObject } from '@skbkontur/global-object';
|
|
8
8
|
import { MenuMessage } from "../../../internal/MenuMessage";
|
|
9
9
|
import { locale } from "../../../lib/locale/decorators";
|
|
10
10
|
import { getRandomID, isNullable } from "../../../lib/utils";
|
|
@@ -25,6 +25,9 @@ import { getDOMRect } from "../../../lib/dom/getDOMRect";
|
|
|
25
25
|
import { Popup } from "../../../internal/Popup";
|
|
26
26
|
import { getMenuPositions } from "../../../lib/getMenuPositions";
|
|
27
27
|
import { ZIndex } from "../../../internal/ZIndex";
|
|
28
|
+
import { getSafeMaskInputType, MaskedInput } from "../../MaskedInput";
|
|
29
|
+
import { ReactUIFeatureFlagsContext } from "../../../lib/featureFlagsContext/ReactUIFeatureFlagsContext";
|
|
30
|
+
import { getFullReactUIFlagsContext } from "../../../lib/featureFlagsContext/FeatureFlagsHelpers";
|
|
28
31
|
import { styles } from "../Autocomplete.styles";
|
|
29
32
|
import { AutocompleteLocaleHelper } from "../locale";
|
|
30
33
|
import { getAutocompleteTheme } from "../getAutocompleteTheme";
|
|
@@ -92,11 +95,12 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
|
|
|
92
95
|
_props$width = props.width,
|
|
93
96
|
width = _props$width === void 0 ? _this.theme.inputWidth : _props$width,
|
|
94
97
|
mobileMenuHeaderText = props.mobileMenuHeaderText,
|
|
95
|
-
|
|
98
|
+
type = props.type,
|
|
96
99
|
rest = _objectWithoutPropertiesLoose(props, _excluded);
|
|
97
100
|
var inputProps = _extends({}, rest, {
|
|
98
101
|
width: '100%',
|
|
99
102
|
autoComplete: 'off',
|
|
103
|
+
'aria-controls': _this.menuId,
|
|
100
104
|
onValueChange: _this.handleValueChange,
|
|
101
105
|
onKeyDown: _this.handleKeyDown,
|
|
102
106
|
onFocus: _this.handleFocus,
|
|
@@ -115,14 +119,22 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
|
|
|
115
119
|
width: width
|
|
116
120
|
},
|
|
117
121
|
ref: _this.refRootSpan
|
|
118
|
-
},
|
|
119
|
-
|
|
120
|
-
React.createElement(Input, _extends({
|
|
121
|
-
"aria-label": ariaLabel,
|
|
122
|
-
"aria-controls": _this.menuId
|
|
123
|
-
}, inputProps)), isMobile ? _this.renderMobileMenu() : _this.renderMenu()))
|
|
122
|
+
}, _this.getInput(inputProps), isMobile ? _this.renderMobileMenu() : _this.renderMenu()))
|
|
124
123
|
);
|
|
125
124
|
};
|
|
125
|
+
_this.getInput = function (inputProps) {
|
|
126
|
+
return _this.featureFlags.autocompleteUseMaskedInput && _this.props.mask ? /*#__PURE__*/
|
|
127
|
+
React.createElement(MaskedInput, _extends({}, inputProps, {
|
|
128
|
+
type: getSafeMaskInputType(_this.props.type),
|
|
129
|
+
mask: _this.props.mask,
|
|
130
|
+
maskChar: _this.props.maskChar
|
|
131
|
+
})) : /*#__PURE__*/
|
|
132
|
+
|
|
133
|
+
React.createElement(Input, _extends({}, inputProps, {
|
|
134
|
+
mask: _this.props.mask,
|
|
135
|
+
maskChar: _this.props.maskChar
|
|
136
|
+
}));
|
|
137
|
+
};
|
|
126
138
|
_this.renderMobileMenu = function () {
|
|
127
139
|
var _this$mobilePopup;
|
|
128
140
|
var inputProps = {
|
|
@@ -132,13 +144,17 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
|
|
|
132
144
|
onValueChange: _this.handleValueChange,
|
|
133
145
|
onKeyPress: _this.handleKeyPressMobile,
|
|
134
146
|
value: _this.props.value,
|
|
135
|
-
placeholder: _this.locale.enterValue
|
|
147
|
+
placeholder: _this.locale.enterValue,
|
|
148
|
+
type: _this.props.type,
|
|
149
|
+
inputMode: _this.props.inputMode,
|
|
150
|
+
'aria-label': _this.props['aria-label'],
|
|
151
|
+
'aria-controls': _this.menuId
|
|
136
152
|
};
|
|
137
153
|
var items = _this.state.items;
|
|
138
154
|
return /*#__PURE__*/(
|
|
139
155
|
React.createElement(MobilePopup, {
|
|
140
156
|
id: _this.menuId,
|
|
141
|
-
headerChildComponent:
|
|
157
|
+
headerChildComponent: _this.getInput(inputProps),
|
|
142
158
|
caption: _this.props.mobileMenuHeaderText,
|
|
143
159
|
opened: _this.state.isMobileOpened,
|
|
144
160
|
onCloseRequest: _this.handleCloseMobile,
|
|
@@ -288,13 +304,16 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
|
|
|
288
304
|
};
|
|
289
305
|
_proto.render = function render() {
|
|
290
306
|
var _this2 = this;
|
|
291
|
-
return /*#__PURE__*/React.createElement(
|
|
292
|
-
_this2.
|
|
293
|
-
return /*#__PURE__*/React.createElement(ThemeContext.
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
307
|
+
return /*#__PURE__*/React.createElement(ReactUIFeatureFlagsContext.Consumer, null, function (flags) {
|
|
308
|
+
_this2.featureFlags = getFullReactUIFlagsContext(flags);
|
|
309
|
+
return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
|
|
310
|
+
_this2.theme = getAutocompleteTheme(theme);
|
|
311
|
+
return /*#__PURE__*/React.createElement(ThemeContext.Provider, {
|
|
312
|
+
value: _this2.theme
|
|
313
|
+
}, /*#__PURE__*/React.createElement(CommonWrapper, _extends({
|
|
314
|
+
rootNodeRef: _this2.setRootNode
|
|
315
|
+
}, _this2.getProps()), _this2.renderMain));
|
|
316
|
+
});
|
|
298
317
|
});
|
|
299
318
|
};
|
|
300
319
|
_proto.renderHints = function renderHints() {
|
|
@@ -321,12 +340,13 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
|
|
|
321
340
|
width = _this$getProps.width,
|
|
322
341
|
preventWindowScroll = _this$getProps.preventWindowScroll,
|
|
323
342
|
disablePortal = _this$getProps.disablePortal;
|
|
343
|
+
var calculatedMenuWidth = menuWidth ? '100%' : width && getDOMRect(this.rootSpan).width;
|
|
324
344
|
var menuProps = {
|
|
325
345
|
ref: this.refMenu,
|
|
326
346
|
maxHeight: menuMaxHeight,
|
|
327
347
|
hasShadow: false,
|
|
328
348
|
hasMargin: false,
|
|
329
|
-
width:
|
|
349
|
+
width: calculatedMenuWidth,
|
|
330
350
|
preventWindowScroll: preventWindowScroll
|
|
331
351
|
};
|
|
332
352
|
if (!items || items.length === 0) {
|
|
@@ -360,6 +380,7 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
|
|
|
360
380
|
this.choose(index);
|
|
361
381
|
};
|
|
362
382
|
_proto.choose = function choose(index) {
|
|
383
|
+
var _this4 = this;
|
|
363
384
|
if (!this.state.items) {
|
|
364
385
|
return;
|
|
365
386
|
}
|
|
@@ -369,11 +390,14 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
|
|
|
369
390
|
selected: -1,
|
|
370
391
|
items: null
|
|
371
392
|
});
|
|
372
|
-
this.fireChange(value);
|
|
373
|
-
|
|
393
|
+
this.fireChange(value); // NOTE: этот таймаут - костыль. Проблема в старом ReactInputMask, он сеттит пустой value при потере фокуса.
|
|
394
|
+
// Можно будет убрать после полного перехода на MaskedInput
|
|
395
|
+
globalObject.setTimeout(function () {
|
|
396
|
+
_this4.blur();
|
|
397
|
+
}, 0);
|
|
374
398
|
};
|
|
375
399
|
_proto.updateItems = function updateItems(value) {
|
|
376
|
-
var
|
|
400
|
+
var _this5 = this;
|
|
377
401
|
if (!this.opened) {
|
|
378
402
|
return;
|
|
379
403
|
}
|
|
@@ -391,8 +415,8 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
|
|
|
391
415
|
promise = match(pattern, source);
|
|
392
416
|
}
|
|
393
417
|
promise.then(function (items) {
|
|
394
|
-
if (
|
|
395
|
-
|
|
418
|
+
if (_this5.opened && expectingId === _this5.requestId) {
|
|
419
|
+
_this5.setState({
|
|
396
420
|
items: items,
|
|
397
421
|
selected: -1
|
|
398
422
|
});
|
|
@@ -405,27 +429,7 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
|
|
|
405
429
|
}
|
|
406
430
|
};
|
|
407
431
|
return Autocomplete;
|
|
408
|
-
}(React.Component), _Autocomplete.__KONTUR_REACT_UI__ = 'Autocomplete', _Autocomplete.displayName = 'Autocomplete', _Autocomplete.
|
|
409
|
-
/**
|
|
410
|
-
* Функция для отрисовки элемента в выпадающем списке. Единственный аргумент
|
|
411
|
-
* — *item*.
|
|
412
|
-
*/
|
|
413
|
-
renderItem: PropTypes.func,
|
|
414
|
-
/**
|
|
415
|
-
* Если передан массив, то совпадения ищутся по этому массиву.
|
|
416
|
-
*
|
|
417
|
-
* Если передается функция, то она должна возвращать thenable, который
|
|
418
|
-
* резолвится уже отфильтрованным массивом. Возвращенный thenable может
|
|
419
|
-
* иметь метод cancel, который будет вызван при отмене поиска (пользователь
|
|
420
|
-
* изменил строку поиска, автокомплит потерял фокус).
|
|
421
|
-
* ```
|
|
422
|
-
* function(pattern) {
|
|
423
|
-
* return service.findAll(pattern);
|
|
424
|
-
* }
|
|
425
|
-
* ```
|
|
426
|
-
*/
|
|
427
|
-
source: PropTypes.oneOfType([PropTypes.array, PropTypes.func])
|
|
428
|
-
}, _Autocomplete.defaultProps = {
|
|
432
|
+
}(React.Component), _Autocomplete.__KONTUR_REACT_UI__ = 'Autocomplete', _Autocomplete.displayName = 'Autocomplete', _Autocomplete.defaultProps = {
|
|
429
433
|
renderItem: renderItem,
|
|
430
434
|
size: 'small',
|
|
431
435
|
disablePortal: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","PropTypes","MenuMessage","locale","getRandomID","isNullable","ThemeContext","cx","isKeyArrowDown","isKeyArrowUp","isKeyEnter","isKeyEscape","Input","Menu","MenuItem","RenderLayer","createPropsGetter","fixClickFocusIE","CommonWrapper","MobilePopup","responsiveLayout","getRootNode","rootNode","getDOMRect","Popup","getMenuPositions","ZIndex","styles","AutocompleteLocaleHelper","getAutocompleteTheme","match","pattern","items","Promise","resolve","lowerCasedPattern","toLowerCase","itemsMatchingPattern","filter","item","includes","renderItem","AutocompleteDataTids","root","menu","AutocompleteIds","Autocomplete","_dec","_class","_Autocomplete","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","selected","focused","isMobileOpened","opened","input","menuId","requestId","getProps","defaultProps","renderMain","props","_cx","isMobile","isMobileLayout","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","menuPos","_props$width","width","theme","inputWidth","mobileMenuHeaderText","ariaLabel","rest","_objectWithoutPropertiesLoose","_excluded","inputProps","_extends","autoComplete","handleValueChange","handleKeyDown","handleFocus","ref","refInput","createElement","onFocusOutside","handleBlur","onClickOutside","handleClickOutside","active","className","noPortal","style","refRootSpan","renderMobileMenu","renderMenu","_this$mobilePopup","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","enterValue","id","headerChildComponent","caption","onCloseRequest","handleCloseMobile","refMobilePopup","refMenu","onItemClick","mobilePopup","close","disableScrollContainer","maxHeight","getItems","renderHints","map","i","onClick","handleMenuItemClick","key","size","fireChange","setState","e","_this$mobilePopup2","event","blur","preventDefault","up","down","enter","getAnchor","el","span","rootSpan","_inheritsLoose","_proto","prototype","focus","componentDidUpdate","prevProps","updateItems","render","_this2","Consumer","Provider","rootNodeRef","setRootNode","notFound","updateValue","_this$getProps","menuWidth","menuProps","hasMargin","priority","priorities","PopupMenu","anchorElement","minWidth","undefined","positions","margin","parseInt","menuOffsetY","_this3","handleItemClick","index","button","choose","_this4","trim","promise","expectingId","then","Component","__KONTUR_REACT_UI__","displayName","propTypes","func","oneOfType","array"],"sources":["Autocomplete.tsx"],"sourcesContent":["import type { AriaAttributes, KeyboardEvent } from 'react';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { MenuMessage } from '../../internal/MenuMessage';\nimport { locale } from '../../lib/locale/decorators';\nimport { getRandomID, isNullable } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport type { InputProps } from '../Input';\nimport { Input } from '../Input';\nimport { Menu } from '../../internal/Menu';\nimport { MenuItem } from '../MenuItem';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { Nullable, Override } from '../../typings/utility-types';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport type { SizeProp } from '../../lib/types/props';\nimport { Popup } from '../../internal/Popup';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { ZIndex } from '../../internal/ZIndex';\n\nimport { styles } from './Autocomplete.styles';\nimport type { AutocompleteLocale } from './locale';\nimport { AutocompleteLocaleHelper } from './locale';\nimport { getAutocompleteTheme } from './getAutocompleteTheme';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n const lowerCasedPattern = pattern.toLowerCase();\n const itemsMatchingPattern = items.filter((item) => {\n return item.toLowerCase().includes(lowerCasedPattern);\n });\n\n return Promise.resolve(itemsMatchingPattern);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-label'>,\n Override<\n InputProps,\n {\n /** Задает функцию, которая отрисовывает элементы меню. */\n renderItem?: (item: string) => React.ReactNode;\n\n /** Задает промис, который резолвит элементы меню. */\n source?: string[] | ((patter: string) => Promise<string[]>);\n\n /** Отключает использование портала. */\n disablePortal?: boolean;\n\n /** Определяет, нужно ли показывать тень у выпадающего меню. */\n hasShadow?: boolean;\n\n /** Задает выравнивание выпадающего меню. */\n menuAlign?: 'left' | 'right';\n\n /** Задает максимальную высоту выпадающего меню. */\n menuMaxHeight?: number | string;\n\n /** Задает ширину выпадающего меню. */\n menuWidth?: number | string;\n\n /** Отключает скролл окна, когда меню открыто. */\n preventWindowScroll?: boolean;\n\n /** Задает функцию, которая вызывается при изменении value. */\n onValueChange: (value: string) => void;\n\n /** Задает функцию, которая вызывается при потере автокомплитом фокуса. */\n onBlur?: () => void;\n\n /** Задаёт размер инпута. */\n size?: SizeProp;\n\n /** Задает значение автокомплита. */\n value: string;\n\n /** Задает текст заголовка выпадающего меню в мобильной версии. */\n mobileMenuHeaderText?: string;\n }\n > {\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n isMobileOpened: boolean;\n}\n\nexport const AutocompleteDataTids = {\n root: 'Autocomplete__root',\n menu: 'Autocomplete__menu',\n} as const;\n\nexport const AutocompleteIds = {\n menu: AutocompleteDataTids.menu,\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n AutocompleteProps,\n 'renderItem' | 'size' | 'disablePortal' | 'hasShadow' | 'menuMaxHeight' | 'preventWindowScroll'\n >\n>;\n\n/**\n * `Autocomplete` — стандартный инпут с подсказками.\n *\n * Подсказки определяются в пропе `source`.\n * Все свойства передаются во внутренний `Input`.\n */\n@responsiveLayout\n@rootNode\n@locale('Autocomplete', AutocompleteLocaleHelper)\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n public static displayName = 'Autocomplete';\n\n public static propTypes = {\n /**\n * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент\n * — *item*.\n */\n renderItem: PropTypes.func,\n\n /**\n * Если передан массив, то совпадения ищутся по этому массиву.\n *\n * Если передается функция, то она должна возвращать thenable, который\n * резолвится уже отфильтрованным массивом. Возвращенный thenable может\n * иметь метод cancel, который будет вызван при отмене поиска (пользователь\n * изменил строку поиска, автокомплит потерял фокус).\n * ```\n * function(pattern) {\n * return service.findAll(pattern);\n * }\n * ```\n */\n source: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n };\n\n public static defaultProps: DefaultProps = {\n renderItem,\n size: 'small',\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n isMobileOpened: false,\n };\n\n private theme!: Theme;\n private readonly locale!: AutocompleteLocale;\n private isMobileLayout!: boolean;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private menuId = AutocompleteIds.menu + getRandomID();\n private rootSpan: Nullable<HTMLSpanElement>;\n private mobilePopup: Nullable<MobilePopup>;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getAutocompleteTheme(theme);\n return (\n <ThemeContext.Provider value={this.theme}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>) => {\n const { focused } = this.state;\n\n const isMobile = this.isMobileLayout;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n menuPos,\n width = this.theme.inputWidth,\n mobileMenuHeaderText,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n autoComplete: 'off',\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span\n data-tid={AutocompleteDataTids.root}\n className={cx(styles.root(this.theme), {\n [styles.noPortal()]: disablePortal,\n })}\n style={{ width }}\n ref={this.refRootSpan}\n >\n <Input aria-label={ariaLabel} aria-controls={this.menuId} {...inputProps} />\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderHints(): React.ReactNode {\n const items = this.state.items;\n\n if (!this.props.value) {\n return <MenuMessage>{this.locale.enterValue}</MenuMessage>;\n }\n\n if (items?.length === 0 && this.props.value) {\n return <MenuMessage>{this.locale.notFound}</MenuMessage>;\n }\n\n if (isNullable(items) && this.props.value) {\n return <MenuMessage>{this.locale.updateValue}</MenuMessage>;\n }\n\n return null;\n }\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const { menuPos, menuAlign, menuMaxHeight, hasShadow, menuWidth, width, preventWindowScroll, disablePortal } =\n this.getProps();\n const menuProps = {\n ref: this.refMenu,\n maxHeight: menuMaxHeight,\n hasShadow: false,\n hasMargin: false,\n width: menuWidth || (width && getDOMRect(this.rootSpan).width),\n preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <Popup\n opened\n hasShadow={hasShadow}\n id={this.menuId}\n priority={ZIndex.priorities.PopupMenu}\n data-tid={AutocompleteDataTids.menu}\n anchorElement={this.getAnchor()}\n disablePortal={disablePortal}\n width={menuWidth}\n minWidth={menuWidth === undefined ? '100%' : undefined}\n positions={getMenuPositions(menuPos, menuAlign)}\n margin={parseInt(this.theme.menuOffsetY) - 1}\n >\n <Menu {...menuProps}>{this.getItems()}</Menu>\n </Popup>\n );\n }\n\n private renderMobileMenu = () => {\n const inputProps: InputProps = {\n autoComplete: 'off',\n autoFocus: true,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyPress: this.handleKeyPressMobile,\n value: this.props.value,\n placeholder: this.locale.enterValue,\n };\n\n const items = this.state.items;\n\n return (\n <MobilePopup\n id={this.menuId}\n headerChildComponent={<Input {...inputProps} />}\n caption={this.props.mobileMenuHeaderText}\n opened={this.state.isMobileOpened}\n onCloseRequest={this.handleCloseMobile}\n ref={this.refMobilePopup}\n >\n <Menu ref={this.refMenu} onItemClick={this.mobilePopup?.close} disableScrollContainer maxHeight={'auto'}>\n {items && items.length > 0 && this.getItems()}\n {this.renderHints()}\n </Menu>\n </MobilePopup>\n );\n };\n\n private getItems = () => {\n const items = this.state.items;\n const isMobile = this.isMobileLayout;\n\n return items\n ? items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i} isMobile={isMobile} size={this.props.size}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })\n : null;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n this.handleBlur();\n };\n\n private handleKeyPressMobile = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n this.mobilePopup?.close();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.isMobileLayout) {\n this.setState({ isMobileOpened: true });\n }\n\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return getRootNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n this.blur();\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n this.requestId += 1;\n const expectingId = this.requestId;\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then((items) => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n\n private refMobilePopup = (mobilePopup: MobilePopup | null) => {\n this.mobilePopup = mobilePopup;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","globalObject","MenuMessage","locale","getRandomID","isNullable","ThemeContext","cx","isKeyArrowDown","isKeyArrowUp","isKeyEnter","isKeyEscape","Input","Menu","MenuItem","RenderLayer","createPropsGetter","fixClickFocusIE","CommonWrapper","MobilePopup","responsiveLayout","getRootNode","rootNode","getDOMRect","Popup","getMenuPositions","ZIndex","getSafeMaskInputType","MaskedInput","ReactUIFeatureFlagsContext","getFullReactUIFlagsContext","styles","AutocompleteLocaleHelper","getAutocompleteTheme","match","pattern","items","Promise","resolve","lowerCasedPattern","toLowerCase","itemsMatchingPattern","filter","item","includes","renderItem","AutocompleteDataTids","root","menu","AutocompleteIds","Autocomplete","_dec","_class","_Autocomplete","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","selected","focused","isMobileOpened","opened","input","menuId","requestId","getProps","defaultProps","renderMain","props","_cx","isMobile","isMobileLayout","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","menuPos","_props$width","width","theme","inputWidth","mobileMenuHeaderText","type","rest","_objectWithoutPropertiesLoose","_excluded","inputProps","_extends","autoComplete","handleValueChange","handleKeyDown","handleFocus","ref","refInput","createElement","onFocusOutside","handleBlur","onClickOutside","handleClickOutside","active","className","noPortal","style","refRootSpan","getInput","renderMobileMenu","renderMenu","featureFlags","autocompleteUseMaskedInput","mask","maskChar","_this$mobilePopup","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","enterValue","inputMode","id","headerChildComponent","caption","onCloseRequest","handleCloseMobile","refMobilePopup","refMenu","onItemClick","mobilePopup","close","disableScrollContainer","maxHeight","getItems","renderHints","map","i","onClick","handleMenuItemClick","key","size","fireChange","setState","e","_this$mobilePopup2","event","blur","preventDefault","up","down","enter","getAnchor","el","span","rootSpan","_inheritsLoose","_proto","prototype","focus","componentDidUpdate","prevProps","updateItems","render","_this2","Consumer","flags","Provider","rootNodeRef","setRootNode","notFound","updateValue","_this$getProps","menuWidth","calculatedMenuWidth","menuProps","hasMargin","priority","priorities","PopupMenu","anchorElement","minWidth","undefined","positions","margin","parseInt","menuOffsetY","_this3","handleItemClick","index","button","choose","_this4","setTimeout","_this5","trim","promise","expectingId","then","Component","__KONTUR_REACT_UI__","displayName"],"sources":["Autocomplete.tsx"],"sourcesContent":["import type { AriaAttributes, KeyboardEvent } from 'react';\nimport React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { MenuMessage } from '../../internal/MenuMessage';\nimport { locale } from '../../lib/locale/decorators';\nimport { getRandomID, isNullable } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport type { InputProps } from '../Input';\nimport { Input } from '../Input';\nimport { Menu } from '../../internal/Menu';\nimport { MenuItem } from '../MenuItem';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { Nullable, Override } from '../../typings/utility-types';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport type { SizeProp } from '../../lib/types/props';\nimport { Popup } from '../../internal/Popup';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { getSafeMaskInputType, MaskedInput, type MaskedProps } from '../MaskedInput';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext/ReactUIFeatureFlagsContext';\nimport { ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext/ReactUIFeatureFlagsContext';\nimport { getFullReactUIFlagsContext } from '../../lib/featureFlagsContext/FeatureFlagsHelpers';\n\nimport { styles } from './Autocomplete.styles';\nimport type { AutocompleteLocale } from './locale';\nimport { AutocompleteLocaleHelper } from './locale';\nimport { getAutocompleteTheme } from './getAutocompleteTheme';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n const lowerCasedPattern = pattern.toLowerCase();\n const itemsMatchingPattern = items.filter((item) => {\n return item.toLowerCase().includes(lowerCasedPattern);\n });\n\n return Promise.resolve(itemsMatchingPattern);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-label'>,\n Pick<Partial<MaskedProps>, 'alwaysShowMask' | 'mask' | 'maskChar'>,\n Override<\n Omit<InputProps, 'alwaysShowMask' | 'mask' | 'maskChar'>,\n {\n /** Задает функцию, которая отрисовывает элементы меню. */\n renderItem?: (item: string) => React.ReactNode;\n\n /** Задает промис, который резолвит элементы меню. */\n source?: string[] | ((patter: string) => Promise<string[]>);\n\n /** Отключает использование портала. */\n disablePortal?: boolean;\n\n /** Определяет, нужно ли показывать тень у выпадающего меню. */\n hasShadow?: boolean;\n\n /** Задает выравнивание выпадающего меню. */\n menuAlign?: 'left' | 'right';\n\n /** Задает максимальную высоту выпадающего меню. */\n menuMaxHeight?: number | string;\n\n /** Задает ширину выпадающего меню. */\n menuWidth?: number | string;\n\n /** Отключает скролл окна, когда меню открыто. */\n preventWindowScroll?: boolean;\n\n /** Задает функцию, которая вызывается при изменении value. */\n onValueChange: (value: string) => void;\n\n /** Задает функцию, которая вызывается при потере автокомплитом фокуса. */\n onBlur?: () => void;\n\n /** Задаёт размер инпута. */\n size?: SizeProp;\n\n /** Задает значение автокомплита. */\n value: string;\n\n /** Задает текст заголовка выпадающего меню в мобильной версии. */\n mobileMenuHeaderText?: string;\n }\n > {\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n isMobileOpened: boolean;\n}\n\nexport const AutocompleteDataTids = {\n root: 'Autocomplete__root',\n menu: 'Autocomplete__menu',\n} as const;\n\nexport const AutocompleteIds = {\n menu: AutocompleteDataTids.menu,\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n AutocompleteProps,\n 'renderItem' | 'size' | 'disablePortal' | 'hasShadow' | 'menuMaxHeight' | 'preventWindowScroll'\n >\n>;\n\n/**\n * `Autocomplete` — стандартный инпут с подсказками.\n *\n * Подсказки определяются в пропе `source`.\n * Все свойства передаются во внутренний `Input`.\n */\n@responsiveLayout\n@rootNode\n@locale('Autocomplete', AutocompleteLocaleHelper)\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n public static displayName = 'Autocomplete';\n\n public static defaultProps: DefaultProps = {\n renderItem,\n size: 'small',\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n isMobileOpened: false,\n };\n\n private theme!: Theme;\n private readonly locale!: AutocompleteLocale;\n private isMobileLayout!: boolean;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private menuId = AutocompleteIds.menu + getRandomID();\n private rootSpan: Nullable<HTMLSpanElement>;\n private mobilePopup: Nullable<MobilePopup>;\n private featureFlags!: ReactUIFeatureFlags;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\n }\n }\n\n public render() {\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getAutocompleteTheme(theme);\n return (\n <ThemeContext.Provider value={this.theme}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>) => {\n const { focused } = this.state;\n\n const isMobile = this.isMobileLayout;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n menuPos,\n width = this.theme.inputWidth,\n mobileMenuHeaderText,\n type,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n autoComplete: 'off',\n 'aria-controls': this.menuId,\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span\n data-tid={AutocompleteDataTids.root}\n className={cx(styles.root(this.theme), {\n [styles.noPortal()]: disablePortal,\n })}\n style={{ width }}\n ref={this.refRootSpan}\n >\n {this.getInput(inputProps)}\n\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderHints(): React.ReactNode {\n const items = this.state.items;\n\n if (!this.props.value) {\n return <MenuMessage>{this.locale.enterValue}</MenuMessage>;\n }\n\n if (items?.length === 0 && this.props.value) {\n return <MenuMessage>{this.locale.notFound}</MenuMessage>;\n }\n\n if (isNullable(items) && this.props.value) {\n return <MenuMessage>{this.locale.updateValue}</MenuMessage>;\n }\n\n return null;\n }\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const { menuPos, menuAlign, menuMaxHeight, hasShadow, menuWidth, width, preventWindowScroll, disablePortal } =\n this.getProps();\n const calculatedMenuWidth = menuWidth ? '100%' : width && getDOMRect(this.rootSpan).width;\n const menuProps = {\n ref: this.refMenu,\n maxHeight: menuMaxHeight,\n hasShadow: false,\n hasMargin: false,\n width: calculatedMenuWidth,\n preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <Popup\n opened\n hasShadow={hasShadow}\n id={this.menuId}\n priority={ZIndex.priorities.PopupMenu}\n data-tid={AutocompleteDataTids.menu}\n anchorElement={this.getAnchor()}\n disablePortal={disablePortal}\n width={menuWidth}\n minWidth={menuWidth === undefined ? '100%' : undefined}\n positions={getMenuPositions(menuPos, menuAlign)}\n margin={parseInt(this.theme.menuOffsetY) - 1}\n >\n <Menu {...menuProps}>{this.getItems()}</Menu>\n </Popup>\n );\n }\n\n private getInput = (inputProps: InputProps) => {\n return this.featureFlags.autocompleteUseMaskedInput && this.props.mask ? (\n <MaskedInput\n {...inputProps}\n type={getSafeMaskInputType(this.props.type)}\n mask={this.props.mask}\n maskChar={this.props.maskChar}\n />\n ) : (\n <Input {...inputProps} mask={this.props.mask} maskChar={this.props.maskChar} />\n );\n };\n\n private renderMobileMenu = () => {\n const inputProps: InputProps = {\n autoComplete: 'off',\n autoFocus: true,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyPress: this.handleKeyPressMobile,\n value: this.props.value,\n placeholder: this.locale.enterValue,\n type: this.props.type,\n inputMode: this.props.inputMode,\n 'aria-label': this.props['aria-label'],\n 'aria-controls': this.menuId,\n };\n\n const items = this.state.items;\n\n return (\n <MobilePopup\n id={this.menuId}\n headerChildComponent={this.getInput(inputProps)}\n caption={this.props.mobileMenuHeaderText}\n opened={this.state.isMobileOpened}\n onCloseRequest={this.handleCloseMobile}\n ref={this.refMobilePopup}\n >\n <Menu ref={this.refMenu} onItemClick={this.mobilePopup?.close} disableScrollContainer maxHeight={'auto'}>\n {items && items.length > 0 && this.getItems()}\n {this.renderHints()}\n </Menu>\n </MobilePopup>\n );\n };\n\n private getItems = () => {\n const items = this.state.items;\n const isMobile = this.isMobileLayout;\n\n return items\n ? items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i} isMobile={isMobile} size={this.props.size}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })\n : null;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n this.handleBlur();\n };\n\n private handleKeyPressMobile = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n this.mobilePopup?.close();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.isMobileLayout) {\n this.setState({ isMobileOpened: true });\n }\n\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return getRootNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n\n // NOTE: этот таймаут - костыль. Проблема в старом ReactInputMask, он сеттит пустой value при потере фокуса.\n // Можно будет убрать после полного перехода на MaskedInput\n globalObject.setTimeout(() => {\n this.blur();\n }, 0);\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n this.requestId += 1;\n const expectingId = this.requestId;\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then((items) => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n\n private refMobilePopup = (mobilePopup: MobilePopup | null) => {\n this.mobilePopup = mobilePopup;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { AriaAttributes } from 'react';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import PropTypes from 'prop-types';
|
|
4
3
|
import type { InputProps } from '../Input';
|
|
5
4
|
import type { Nullable, Override } from '../../typings/utility-types';
|
|
6
5
|
import type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
|
|
6
|
+
import type { TGetRootNode } from '../../lib/rootNode';
|
|
7
7
|
import type { SizeProp } from '../../lib/types/props';
|
|
8
|
-
|
|
8
|
+
import { type MaskedProps } from '../MaskedInput';
|
|
9
|
+
export interface AutocompleteProps extends CommonProps, Pick<AriaAttributes, 'aria-label'>, Pick<Partial<MaskedProps>, 'alwaysShowMask' | 'mask' | 'maskChar'>, Override<Omit<InputProps, 'alwaysShowMask' | 'mask' | 'maskChar'>, {
|
|
9
10
|
/** Задает функцию, которая отрисовывает элементы меню. */
|
|
10
11
|
renderItem?: (item: string) => React.ReactNode;
|
|
11
12
|
/** Задает промис, который резолвит элементы меню. */
|
|
@@ -61,27 +62,6 @@ type DefaultProps = Required<Pick<AutocompleteProps, 'renderItem' | 'size' | 'di
|
|
|
61
62
|
export declare class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {
|
|
62
63
|
static __KONTUR_REACT_UI__: string;
|
|
63
64
|
static displayName: string;
|
|
64
|
-
static propTypes: {
|
|
65
|
-
/**
|
|
66
|
-
* Функция для отрисовки элемента в выпадающем списке. Единственный аргумент
|
|
67
|
-
* — *item*.
|
|
68
|
-
*/
|
|
69
|
-
renderItem: PropTypes.Requireable<(...args: any[]) => any>;
|
|
70
|
-
/**
|
|
71
|
-
* Если передан массив, то совпадения ищутся по этому массиву.
|
|
72
|
-
*
|
|
73
|
-
* Если передается функция, то она должна возвращать thenable, который
|
|
74
|
-
* резолвится уже отфильтрованным массивом. Возвращенный thenable может
|
|
75
|
-
* иметь метод cancel, который будет вызван при отмене поиска (пользователь
|
|
76
|
-
* изменил строку поиска, автокомплит потерял фокус).
|
|
77
|
-
* ```
|
|
78
|
-
* function(pattern) {
|
|
79
|
-
* return service.findAll(pattern);
|
|
80
|
-
* }
|
|
81
|
-
* ```
|
|
82
|
-
*/
|
|
83
|
-
source: PropTypes.Requireable<NonNullable<any[] | ((...args: any[]) => any) | null | undefined>>;
|
|
84
|
-
};
|
|
85
65
|
static defaultProps: DefaultProps;
|
|
86
66
|
state: AutocompleteState;
|
|
87
67
|
private theme;
|
|
@@ -93,8 +73,10 @@ export declare class Autocomplete extends React.Component<AutocompleteProps, Aut
|
|
|
93
73
|
private menuId;
|
|
94
74
|
private rootSpan;
|
|
95
75
|
private mobilePopup;
|
|
76
|
+
private featureFlags;
|
|
96
77
|
private requestId;
|
|
97
78
|
private getProps;
|
|
79
|
+
getRootNode: TGetRootNode;
|
|
98
80
|
private setRootNode;
|
|
99
81
|
/**
|
|
100
82
|
* @public
|
|
@@ -109,6 +91,7 @@ export declare class Autocomplete extends React.Component<AutocompleteProps, Aut
|
|
|
109
91
|
renderMain: (props: CommonWrapperRestProps<AutocompleteProps>) => React.JSX.Element;
|
|
110
92
|
private renderHints;
|
|
111
93
|
private renderMenu;
|
|
94
|
+
private getInput;
|
|
112
95
|
private renderMobileMenu;
|
|
113
96
|
private getItems;
|
|
114
97
|
private handleValueChange;
|
|
@@ -9,6 +9,7 @@ import { globalObject } from '@skbkontur/global-object';
|
|
|
9
9
|
import { isKonturIcon } from "../../../lib/utils";
|
|
10
10
|
import { isIE11, isEdge, isSafari } from "../../../lib/client";
|
|
11
11
|
import { keyListener } from "../../../lib/events/keyListener";
|
|
12
|
+
import { isThemeGTE } from "../../../lib/theming/ThemeHelpers";
|
|
12
13
|
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
13
14
|
import { CommonWrapper } from "../../../internal/CommonWrapper";
|
|
14
15
|
import { cx } from "../../../lib/theming/Emotion";
|
|
@@ -269,15 +270,35 @@ export var Button = rootNode(_class = (_Button = /*#__PURE__*/function (_React$C
|
|
|
269
270
|
return icon;
|
|
270
271
|
};
|
|
271
272
|
_proto.getSizeClassName = function getSizeClassName() {
|
|
272
|
-
var
|
|
273
|
-
|
|
273
|
+
var _this$getProps2 = this.getProps(),
|
|
274
|
+
icon = _this$getProps2.icon,
|
|
275
|
+
rightIcon = _this$getProps2.rightIcon,
|
|
276
|
+
children = _this$getProps2.children,
|
|
277
|
+
size = _this$getProps2.size;
|
|
278
|
+
var isThemeGTE_5_3 = isThemeGTE(this.theme, '5.3');
|
|
279
|
+
switch (size) {
|
|
274
280
|
case 'large':
|
|
275
|
-
|
|
281
|
+
{
|
|
282
|
+
var _commonClasses, _themeSpecificClasses;
|
|
283
|
+
var commonClasses = (_commonClasses = {}, _commonClasses[styles.sizeLargeIE11(this.theme)] = isIE11 || isEdge, _commonClasses[styles.sizeLargeWithIcon(this.theme)] = !!icon, _commonClasses[styles.sizeLargeWithIconWithoutText(this.theme)] = !!icon && !children, _commonClasses);
|
|
284
|
+
var themeSpecificClasses = (_themeSpecificClasses = {}, _themeSpecificClasses[styles.sizeLargeWithRightIcon(this.theme)] = !!rightIcon, _themeSpecificClasses[styles.sizeLargeWithIconWithoutText5_3(this.theme)] = (!!icon || !!rightIcon) && !children, _themeSpecificClasses);
|
|
285
|
+
return cx(styles.sizeLarge(this.theme), commonClasses, isThemeGTE_5_3 && themeSpecificClasses);
|
|
286
|
+
}
|
|
276
287
|
case 'medium':
|
|
277
|
-
|
|
288
|
+
{
|
|
289
|
+
var _commonClasses3, _themeSpecificClasses3;
|
|
290
|
+
var _commonClasses2 = (_commonClasses3 = {}, _commonClasses3[styles.sizeMediumIE11(this.theme)] = isIE11 || isEdge, _commonClasses3[styles.sizeMediumWithIcon(this.theme)] = !!icon, _commonClasses3[styles.sizeMediumWithIconWithoutText(this.theme)] = !!icon && !children, _commonClasses3);
|
|
291
|
+
var _themeSpecificClasses2 = (_themeSpecificClasses3 = {}, _themeSpecificClasses3[styles.sizeMediumWithRightIcon(this.theme)] = !!rightIcon, _themeSpecificClasses3[styles.sizeMediumWithIconWithoutText5_3(this.theme)] = (!!icon || !!rightIcon) && !children, _themeSpecificClasses3);
|
|
292
|
+
return cx(styles.sizeMedium(this.theme), _commonClasses2, isThemeGTE_5_3 && _themeSpecificClasses2);
|
|
293
|
+
}
|
|
278
294
|
case 'small':
|
|
279
295
|
default:
|
|
280
|
-
|
|
296
|
+
{
|
|
297
|
+
var _commonClasses5, _themeSpecificClasses5;
|
|
298
|
+
var _commonClasses4 = (_commonClasses5 = {}, _commonClasses5[styles.sizeSmallIE11(this.theme)] = isIE11 || isEdge, _commonClasses5[styles.sizeSmallWithIcon(this.theme)] = !!icon, _commonClasses5[styles.sizeSmallWithIconWithoutText(this.theme)] = !!icon && !children, _commonClasses5);
|
|
299
|
+
var _themeSpecificClasses4 = (_themeSpecificClasses5 = {}, _themeSpecificClasses5[styles.sizeSmallWithRightIcon(this.theme)] = !!rightIcon, _themeSpecificClasses5[styles.sizeSmallWithIconWithoutText5_3(this.theme)] = (!!icon || !!rightIcon) && !children, _themeSpecificClasses5);
|
|
300
|
+
return cx(styles.sizeSmall(this.theme), _commonClasses4, isThemeGTE_5_3 && _themeSpecificClasses4);
|
|
301
|
+
}
|
|
281
302
|
}
|
|
282
303
|
};
|
|
283
304
|
_proto.getSizeWrapClassName = function getSizeWrapClassName() {
|