@skbkontur/react-ui 5.2.1 → 5.3.1
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 +42 -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 +2 -1
- 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 +2 -2
- 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
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,48 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [5.3.1](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.3.0...@skbkontur/react-ui@5.3.1) (2025-09-01)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **select:** fix pass empty placeholder ([eb5b0ed](https://github.com/skbkontur/retail-ui/commit/eb5b0ed94c5133ab4a0a461ca656512583c292ff))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [5.3.0](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.2.1...@skbkontur/react-ui@5.3.0) (2025-08-25)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* **Autocomplete:** fix display with percentage menuWidth ([bf66bf3](https://github.com/skbkontur/retail-ui/commit/bf66bf36f9f3021693b6fba73a86e13df578f424))
|
|
23
|
+
* **Button:** backless buttons theme variables work ([4ea52a2](https://github.com/skbkontur/retail-ui/commit/4ea52a2139b8126ba7f1dfad99b6baf1e361d14d))
|
|
24
|
+
* **Button:** fix padding for Button with rightIcon ([0ef8416](https://github.com/skbkontur/retail-ui/commit/0ef8416b03068f92cdf2d53a042a6d08266eac4f))
|
|
25
|
+
* **MiniModal:** change fontSize and lineHeight at description section ([edbe400](https://github.com/skbkontur/retail-ui/commit/edbe4002e5872ba088336267ecf46ed5aab3a297))
|
|
26
|
+
* **Tooltip:** remove extra gap between Popup and pin ([f7e7533](https://github.com/skbkontur/retail-ui/commit/f7e75338ca72db382866a3aca22083dd05093a31))
|
|
27
|
+
* **react-ui:** make getRootNode public ([192b23b](https://github.com/skbkontur/retail-ui/commit/192b23b1374eb5460a151879ac1cf113a82f85ff))
|
|
28
|
+
* export PopupMenuCaptionProps type ([3283924](https://github.com/skbkontur/retail-ui/commit/3283924fe3839524ee446243cf71bb3b75a392b2))
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Features
|
|
32
|
+
|
|
33
|
+
* **Autocomplete:** change mask behaviour ([2ef8a58](https://github.com/skbkontur/retail-ui/commit/2ef8a586d1f24548ba907439de4624c220aa999d))
|
|
34
|
+
* **Group:** add Hint and Tooltip support ([8a0f130](https://github.com/skbkontur/retail-ui/commit/8a0f13013a667dc5097ae9d326f796f7b75500dc))
|
|
35
|
+
* mark that react 19 is not supported yet ([7a2dcc0](https://github.com/skbkontur/retail-ui/commit/7a2dcc0bdbf4e112c064abdf4c157768dcb49ce2))
|
|
36
|
+
* **Paging:** add `size` prop and adaptivity ([1011f0d](https://github.com/skbkontur/retail-ui/commit/1011f0d3dffce1f85a06a4d1c040367ddd3ff62a))
|
|
37
|
+
* **Paging:** show `⌥"` symbol in macOS ([1011f0d](https://github.com/skbkontur/retail-ui/commit/1011f0d3dffce1f85a06a4d1c040367ddd3ff62a))
|
|
38
|
+
* remove propTypes ([569e003](https://github.com/skbkontur/retail-ui/commit/569e00312319557883da6536622a393aee932e95))
|
|
39
|
+
* **SidePage, Modal:** unifiy headers behavior ([bc9e505](https://github.com/skbkontur/retail-ui/commit/bc9e505b58d5d4676f1f528144b777d312eede40))
|
|
40
|
+
* **SidePage:** fix SidePage header blinking ([bc9e505](https://github.com/skbkontur/retail-ui/commit/bc9e505b58d5d4676f1f528144b777d312eede40))
|
|
41
|
+
* **Switcher:** add `width` prop ([949ccb6](https://github.com/skbkontur/retail-ui/commit/949ccb6e9f1ada57f086e3ed58ba265ad9f84b85))
|
|
42
|
+
* **Tooltip:** add `size` prop ([f7e7533](https://github.com/skbkontur/retail-ui/commit/f7e75338ca72db382866a3aca22083dd05093a31))
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
6
48
|
# [5.2.1](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.2.0...@skbkontur/react-ui@5.2.1) (2025-07-24)
|
|
7
49
|
|
|
8
50
|
|
package/README.md
CHANGED
|
@@ -30,7 +30,7 @@ const MyApp = () => (
|
|
|
30
30
|
использовался метод findDomNode, который в StrictMode запрещён. Теперь получение DOM-ноды реализовано в библиотеке через
|
|
31
31
|
ref, из-за чего появились некоторые требования к компонентам, передаваемым в Hint, Tooltip, Popup или Tab:
|
|
32
32
|
|
|
33
|
-
- при передаче функциональных
|
|
33
|
+
- при передаче функциональных компонентов в react <= 18, они должны использовать `React.ForwardRef`:
|
|
34
34
|
|
|
35
35
|
```js static
|
|
36
36
|
import { Hint } from '@skbkontur/react-ui';
|
|
@@ -84,7 +84,7 @@ class CustomClassComponent extends React.Component {
|
|
|
84
84
|
return <div ref={this.rootNode}>children text</div>;
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
getRootNode() {
|
|
87
|
+
getRootNode = () => {
|
|
88
88
|
return this.rootNode.current;
|
|
89
89
|
}
|
|
90
90
|
}
|
|
@@ -104,15 +104,15 @@ export const WithClassChildren = () => (
|
|
|
104
104
|
|
|
105
105
|
## FAQ
|
|
106
106
|
|
|
107
|
-
###
|
|
107
|
+
### Выпадающие элементы и несколько React root
|
|
108
108
|
|
|
109
|
-
|
|
110
|
-
различных выпадашек, типа `Tooltip`, `Select`, `Modal` и других.
|
|
109
|
+
React позволяет создавать root внутри root, но контекст между ними не прокидывается. Это вызывает проблемы в работе
|
|
110
|
+
различных выпадашек, типа `Hint`, `Tooltip`, `Select`, `Modal` и других.
|
|
111
111
|
|
|
112
|
-
В версии `4.26.0` появился мехнизм, который решает большинство этих проблем. Если вложенный
|
|
112
|
+
В версии `4.26.0` появился мехнизм, который решает большинство этих проблем. Если вложенный root является виджетом,
|
|
113
113
|
то будет достаточно обновить библиотеку только в нём.
|
|
114
114
|
|
|
115
|
-
Однако, при удалении
|
|
115
|
+
Однако, при удалении HTML-элемента, который был root, его необходимо предварительно явно размонтировать:
|
|
116
116
|
|
|
117
117
|
```tsx static
|
|
118
118
|
React.useLayoutEffect(
|
|
@@ -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;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.AutocompleteIds = exports.AutocompleteDataTids = exports.Autocomplete = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
|
|
2
2
|
var _react = _interopRequireDefault(require("react"));
|
|
3
|
-
var
|
|
3
|
+
var _globalObject = require("@skbkontur/global-object");
|
|
4
4
|
|
|
5
5
|
var _MenuMessage = require("../../internal/MenuMessage");
|
|
6
6
|
var _decorators = require("../../lib/locale/decorators");
|
|
@@ -28,11 +28,15 @@ var _getDOMRect = require("../../lib/dom/getDOMRect");
|
|
|
28
28
|
var _Popup = require("../../internal/Popup");
|
|
29
29
|
var _getMenuPositions = require("../../lib/getMenuPositions");
|
|
30
30
|
var _ZIndex = require("../../internal/ZIndex");
|
|
31
|
+
var _MaskedInput = require("../MaskedInput");
|
|
32
|
+
|
|
33
|
+
var _ReactUIFeatureFlagsContext = require("../../lib/featureFlagsContext/ReactUIFeatureFlagsContext");
|
|
34
|
+
var _FeatureFlagsHelpers = require("../../lib/featureFlagsContext/FeatureFlagsHelpers");
|
|
31
35
|
|
|
32
36
|
var _Autocomplete2 = require("./Autocomplete.styles");
|
|
33
37
|
|
|
34
38
|
var _locale = require("./locale");
|
|
35
|
-
var _getAutocompleteTheme = require("./getAutocompleteTheme");var _excluded = ["onValueChange", "onKeyDown", "onFocus", "onBlur", "renderItem", "disablePortal", "hasShadow", "menuAlign", "menuMaxHeight", "preventWindowScroll", "source", "menuPos", "width", "mobileMenuHeaderText", "
|
|
39
|
+
var _getAutocompleteTheme = require("./getAutocompleteTheme");var _excluded = ["onValueChange", "onKeyDown", "onFocus", "onBlur", "renderItem", "disablePortal", "hasShadow", "menuAlign", "menuMaxHeight", "preventWindowScroll", "source", "menuPos", "width", "mobileMenuHeaderText", "type"];var _dec, _class, _Autocomplete;
|
|
36
40
|
|
|
37
41
|
function match(pattern, items) {
|
|
38
42
|
if (!pattern || !items) {
|
|
@@ -108,6 +112,7 @@ function renderItem(item) {
|
|
|
108
112
|
|
|
109
113
|
|
|
110
114
|
|
|
115
|
+
|
|
111
116
|
|
|
112
117
|
|
|
113
118
|
var AutocompleteDataTids = exports.AutocompleteDataTids = {
|
|
@@ -148,29 +153,6 @@ Autocomplete = exports.Autocomplete = (_dec = (0, _decorators.locale)('Autocompl
|
|
|
148
153
|
|
|
149
154
|
|
|
150
155
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
156
|
state = {
|
|
175
157
|
items: null,
|
|
176
158
|
selected: -1,
|
|
@@ -188,6 +170,7 @@ Autocomplete = exports.Autocomplete = (_dec = (0, _decorators.locale)('Autocompl
|
|
|
188
170
|
|
|
189
171
|
|
|
190
172
|
|
|
173
|
+
|
|
191
174
|
requestId = 0;_this.
|
|
192
175
|
|
|
193
176
|
getProps = (0, _createPropsGetter.createPropsGetter)(Autocomplete.defaultProps);_this.
|
|
@@ -222,6 +205,14 @@ Autocomplete = exports.Autocomplete = (_dec = (0, _decorators.locale)('Autocompl
|
|
|
222
205
|
|
|
223
206
|
|
|
224
207
|
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
|
|
225
216
|
|
|
226
217
|
|
|
227
218
|
|
|
@@ -253,12 +244,13 @@ Autocomplete = exports.Autocomplete = (_dec = (0, _decorators.locale)('Autocompl
|
|
|
253
244
|
|
|
254
245
|
|
|
255
246
|
|
|
256
|
-
props.onValueChange,onKeyDown = props.onKeyDown,onFocus = props.onFocus,onBlur = props.onBlur,_renderItem = props.renderItem,disablePortal = props.disablePortal,hasShadow = props.hasShadow,menuAlign = props.menuAlign,menuMaxHeight = props.menuMaxHeight,preventWindowScroll = props.preventWindowScroll,source = props.source,menuPos = props.menuPos,_props$width = props.width,width = _props$width === void 0 ? _this.theme.inputWidth : _props$width,mobileMenuHeaderText = props.mobileMenuHeaderText,
|
|
247
|
+
props.onValueChange,onKeyDown = props.onKeyDown,onFocus = props.onFocus,onBlur = props.onBlur,_renderItem = props.renderItem,disablePortal = props.disablePortal,hasShadow = props.hasShadow,menuAlign = props.menuAlign,menuMaxHeight = props.menuMaxHeight,preventWindowScroll = props.preventWindowScroll,source = props.source,menuPos = props.menuPos,_props$width = props.width,width = _props$width === void 0 ? _this.theme.inputWidth : _props$width,mobileMenuHeaderText = props.mobileMenuHeaderText,type = props.type,rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
257
248
|
|
|
258
249
|
var inputProps = (0, _extends2.default)({},
|
|
259
250
|
rest, {
|
|
260
251
|
width: '100%',
|
|
261
252
|
autoComplete: 'off',
|
|
253
|
+
'aria-controls': _this.menuId,
|
|
262
254
|
onValueChange: _this.handleValueChange,
|
|
263
255
|
onKeyDown: _this.handleKeyDown,
|
|
264
256
|
onFocus: _this.handleFocus,
|
|
@@ -273,9 +265,10 @@ Autocomplete = exports.Autocomplete = (_dec = (0, _decorators.locale)('Autocompl
|
|
|
273
265
|
_Autocomplete2.styles.noPortal()] = disablePortal, _cx)
|
|
274
266
|
),
|
|
275
267
|
style: { width: width },
|
|
276
|
-
ref: _this.refRootSpan },
|
|
268
|
+
ref: _this.refRootSpan },
|
|
269
|
+
|
|
270
|
+
_this.getInput(inputProps),
|
|
277
271
|
|
|
278
|
-
_react.default.createElement(_Input.Input, (0, _extends2.default)({ "aria-label": ariaLabel, "aria-controls": _this.menuId }, inputProps)),
|
|
279
272
|
isMobile ? _this.renderMobileMenu() : _this.renderMenu()
|
|
280
273
|
)
|
|
281
274
|
));
|
|
@@ -334,6 +327,20 @@ Autocomplete = exports.Autocomplete = (_dec = (0, _decorators.locale)('Autocompl
|
|
|
334
327
|
|
|
335
328
|
|
|
336
329
|
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
getInput = function (inputProps) {
|
|
333
|
+
return _this.featureFlags.autocompleteUseMaskedInput && _this.props.mask ? /*#__PURE__*/
|
|
334
|
+
_react.default.createElement(_MaskedInput.MaskedInput, (0, _extends2.default)({},
|
|
335
|
+
inputProps, {
|
|
336
|
+
type: (0, _MaskedInput.getSafeMaskInputType)(_this.props.type),
|
|
337
|
+
mask: _this.props.mask,
|
|
338
|
+
maskChar: _this.props.maskChar })
|
|
339
|
+
) : /*#__PURE__*/
|
|
340
|
+
|
|
341
|
+
_react.default.createElement(_Input.Input, (0, _extends2.default)({}, inputProps, { mask: _this.props.mask, maskChar: _this.props.maskChar }));
|
|
342
|
+
|
|
343
|
+
};_this.
|
|
337
344
|
|
|
338
345
|
renderMobileMenu = function () {var _this$mobilePopup;
|
|
339
346
|
var inputProps = {
|
|
@@ -343,7 +350,11 @@ Autocomplete = exports.Autocomplete = (_dec = (0, _decorators.locale)('Autocompl
|
|
|
343
350
|
onValueChange: _this.handleValueChange,
|
|
344
351
|
onKeyPress: _this.handleKeyPressMobile,
|
|
345
352
|
value: _this.props.value,
|
|
346
|
-
placeholder: _this.locale.enterValue
|
|
353
|
+
placeholder: _this.locale.enterValue,
|
|
354
|
+
type: _this.props.type,
|
|
355
|
+
inputMode: _this.props.inputMode,
|
|
356
|
+
'aria-label': _this.props['aria-label'],
|
|
357
|
+
'aria-controls': _this.menuId
|
|
347
358
|
};
|
|
348
359
|
|
|
349
360
|
var items = _this.state.items;
|
|
@@ -351,7 +362,7 @@ Autocomplete = exports.Autocomplete = (_dec = (0, _decorators.locale)('Autocompl
|
|
|
351
362
|
return /*#__PURE__*/(
|
|
352
363
|
_react.default.createElement(_MobilePopup.MobilePopup, {
|
|
353
364
|
id: _this.menuId,
|
|
354
|
-
headerChildComponent:
|
|
365
|
+
headerChildComponent: _this.getInput(inputProps),
|
|
355
366
|
caption: _this.props.mobileMenuHeaderText,
|
|
356
367
|
opened: _this.state.isMobileOpened,
|
|
357
368
|
onCloseRequest: _this.handleCloseMobile,
|
|
@@ -530,6 +541,11 @@ Autocomplete = exports.Autocomplete = (_dec = (0, _decorators.locale)('Autocompl
|
|
|
530
541
|
|
|
531
542
|
|
|
532
543
|
|
|
544
|
+
|
|
545
|
+
|
|
546
|
+
|
|
547
|
+
|
|
548
|
+
|
|
533
549
|
|
|
534
550
|
|
|
535
551
|
|
|
@@ -554,19 +570,6 @@ Autocomplete = exports.Autocomplete = (_dec = (0, _decorators.locale)('Autocompl
|
|
|
554
570
|
* @public
|
|
555
571
|
*/_proto.focus = function focus() {if (this.input) {this.input.focus();}} /**
|
|
556
572
|
* @public
|
|
557
|
-
*/;_proto.blur = function blur() {this.handleBlur();};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (prevProps.value !== this.props.value) {this.updateItems(this.props.value || '');}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = (0, _getAutocompleteTheme.getAutocompleteTheme)(theme);return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _this2.theme }, /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.getProps()), _this2.renderMain));});};_proto.renderHints = function renderHints() {var items = this.state.items;if (!this.props.value) {return /*#__PURE__*/_react.default.createElement(_MenuMessage.MenuMessage, null, this.locale.enterValue);}if ((items == null ? void 0 : items.length) === 0 && this.props.value) {return /*#__PURE__*/_react.default.createElement(_MenuMessage.MenuMessage, null, this.locale.notFound);}if ((0, _utils.isNullable)(items) && this.props.value) {return /*#__PURE__*/_react.default.createElement(_MenuMessage.MenuMessage, null, this.locale.updateValue);}return null;};_proto.renderMenu = function renderMenu() {var items = this.state.items;var _this$getProps = this.getProps(),menuPos = _this$getProps.menuPos,menuAlign = _this$getProps.menuAlign,menuMaxHeight = _this$getProps.menuMaxHeight,hasShadow = _this$getProps.hasShadow,menuWidth = _this$getProps.menuWidth,width = _this$getProps.width,preventWindowScroll = _this$getProps.preventWindowScroll,disablePortal = _this$getProps.disablePortal;var menuProps = { ref: this.refMenu, maxHeight: menuMaxHeight, hasShadow: false, hasMargin: false, width:
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
*/renderItem: _propTypes.default.func, /**
|
|
561
|
-
* Если передан массив, то совпадения ищутся по этому массиву.
|
|
562
|
-
*
|
|
563
|
-
* Если передается функция, то она должна возвращать thenable, который
|
|
564
|
-
* резолвится уже отфильтрованным массивом. Возвращенный thenable может
|
|
565
|
-
* иметь метод cancel, который будет вызван при отмене поиска (пользователь
|
|
566
|
-
* изменил строку поиска, автокомплит потерял фокус).
|
|
567
|
-
* ```
|
|
568
|
-
* function(pattern) {
|
|
569
|
-
* return service.findAll(pattern);
|
|
570
|
-
* }
|
|
571
|
-
* ```
|
|
572
|
-
*/source: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.func]) }, _Autocomplete.defaultProps = { renderItem: renderItem, size: 'small', disablePortal: false, hasShadow: true, menuMaxHeight: 300, preventWindowScroll: true }, _Autocomplete)) || _class) || _class) || _class);
|
|
573
|
+
*/;_proto.blur = function blur() {this.handleBlur();};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (prevProps.value !== this.props.value) {this.updateItems(this.props.value || '');}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ReactUIFeatureFlagsContext.ReactUIFeatureFlagsContext.Consumer, null, function (flags) {_this2.featureFlags = (0, _FeatureFlagsHelpers.getFullReactUIFlagsContext)(flags);return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = (0, _getAutocompleteTheme.getAutocompleteTheme)(theme);return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _this2.theme }, /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.getProps()), _this2.renderMain));});});};_proto.renderHints = function renderHints() {var items = this.state.items;if (!this.props.value) {return /*#__PURE__*/_react.default.createElement(_MenuMessage.MenuMessage, null, this.locale.enterValue);}if ((items == null ? void 0 : items.length) === 0 && this.props.value) {return /*#__PURE__*/_react.default.createElement(_MenuMessage.MenuMessage, null, this.locale.notFound);}if ((0, _utils.isNullable)(items) && this.props.value) {return /*#__PURE__*/_react.default.createElement(_MenuMessage.MenuMessage, null, this.locale.updateValue);}return null;};_proto.renderMenu = function renderMenu() {var items = this.state.items;var _this$getProps = this.getProps(),menuPos = _this$getProps.menuPos,menuAlign = _this$getProps.menuAlign,menuMaxHeight = _this$getProps.menuMaxHeight,hasShadow = _this$getProps.hasShadow,menuWidth = _this$getProps.menuWidth,width = _this$getProps.width,preventWindowScroll = _this$getProps.preventWindowScroll,disablePortal = _this$getProps.disablePortal;var calculatedMenuWidth = menuWidth ? '100%' : width && (0, _getDOMRect.getDOMRect)(this.rootSpan).width;var menuProps = { ref: this.refMenu, maxHeight: menuMaxHeight, hasShadow: false, hasMargin: false, width: calculatedMenuWidth, preventWindowScroll: preventWindowScroll };if (!items || items.length === 0) {return null;}return /*#__PURE__*/_react.default.createElement(_Popup.Popup, { opened: true, hasShadow: hasShadow, id: this.menuId, priority: _ZIndex.ZIndex.priorities.PopupMenu, "data-tid": AutocompleteDataTids.menu, anchorElement: this.getAnchor(), disablePortal: disablePortal, width: menuWidth, minWidth: menuWidth === undefined ? '100%' : undefined, positions: (0, _getMenuPositions.getMenuPositions)(menuPos, menuAlign), margin: parseInt(this.theme.menuOffsetY) - 1 }, /*#__PURE__*/_react.default.createElement(_Menu.Menu, menuProps, this.getItems()));};_proto.handleMenuItemClick = function handleMenuItemClick(i) {var _this3 = this;return function (event) {return _this3.handleItemClick(event, i);};};_proto.handleItemClick = function handleItemClick(event, index) {if (event.button) {return;}event.preventDefault();this.choose(index);};_proto.choose = function choose(index) {var _this4 = this;if (!this.state.items) {return;}var value = this.state.items[index];this.opened = false;this.setState({ selected: -1, items: null });this.fireChange(value); // NOTE: этот таймаут - костыль. Проблема в старом ReactInputMask, он сеттит пустой value при потере фокуса.
|
|
574
|
+
// Можно будет убрать после полного перехода на MaskedInput
|
|
575
|
+
_globalObject.globalObject.setTimeout(function () {_this4.blur();}, 0);};_proto.updateItems = function updateItems(value) {var _this5 = this;if (!this.opened) {return;}var pattern = value.trim();var source = this.props.source;if (!source) {return;}var promise;this.requestId += 1;var expectingId = this.requestId;if (typeof source === 'function') {promise = source(pattern);} else {promise = match(pattern, source);}promise.then(function (items) {if (_this5.opened && expectingId === _this5.requestId) {_this5.setState({ items: items, selected: -1 });}});};_proto.fireChange = function fireChange(value) {if (this.props.onValueChange) {this.props.onValueChange(value);}};return Autocomplete;}(_react.default.Component), _Autocomplete.__KONTUR_REACT_UI__ = 'Autocomplete', _Autocomplete.displayName = 'Autocomplete', _Autocomplete.defaultProps = { renderItem: renderItem, size: 'small', disablePortal: false, hasShadow: true, menuMaxHeight: 300, preventWindowScroll: true }, _Autocomplete)) || _class) || _class) || _class);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_MenuMessage","_decorators","_utils","_ThemeContext","_Emotion","_identifiers","_Input","_Menu","_MenuItem","_RenderLayer","_createPropsGetter","_fixClickFocusIE","_CommonWrapper","_MobilePopup","_decorator","_rootNode","_getDOMRect","_Popup","_getMenuPositions","_ZIndex","_Autocomplete2","_locale","_getAutocompleteTheme","_excluded","_dec","_class","_Autocomplete","match","pattern","items","Promise","resolve","lowerCasedPattern","toLowerCase","itemsMatchingPattern","filter","item","includes","renderItem","AutocompleteDataTids","exports","root","menu","AutocompleteIds","Autocomplete","locale","AutocompleteLocaleHelper","responsiveLayout","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","selected","focused","isMobileOpened","opened","input","menuId","getRandomID","requestId","getProps","createPropsGetter","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","_objectWithoutPropertiesLoose2","default","inputProps","_extends2","autoComplete","handleValueChange","handleKeyDown","handleFocus","ref","refInput","createElement","RenderLayer","onFocusOutside","handleBlur","onClickOutside","handleClickOutside","active","className","cx","styles","noPortal","style","refRootSpan","Input","renderMobileMenu","renderMenu","_this$mobilePopup","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","enterValue","MobilePopup","id","headerChildComponent","caption","onCloseRequest","handleCloseMobile","refMobilePopup","Menu","refMenu","onItemClick","mobilePopup","close","disableScrollContainer","maxHeight","getItems","renderHints","map","i","MenuItem","onClick","handleMenuItemClick","key","size","fireChange","setState","e","_this$mobilePopup2","event","blur","fixClickFocusIE","isKeyEscape","preventDefault","isKeyArrowUp","up","isKeyArrowDown","down","isKeyEnter","enter","getAnchor","getRootNode","el","span","rootSpan","_inheritsLoose2","_proto","prototype","focus","componentDidUpdate","prevProps","updateItems","render","_this2","ThemeContext","Consumer","getAutocompleteTheme","Provider","CommonWrapper","rootNodeRef","setRootNode","MenuMessage","notFound","isNullable","updateValue","_this$getProps","menuWidth","menuProps","hasMargin","getDOMRect","Popup","priority","ZIndex","priorities","PopupMenu","anchorElement","minWidth","undefined","positions","getMenuPositions","margin","parseInt","menuOffsetY","_this3","handleItemClick","index","button","choose","_this4","trim","promise","expectingId","then","React","Component","__KONTUR_REACT_UI__","displayName","propTypes","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":";AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;;AAEA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;;AAEA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;;AAEA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAT,OAAA;AACA,IAAAU,SAAA,GAAAV,OAAA;AACA,IAAAW,YAAA,GAAAX,OAAA;AACA,IAAAY,kBAAA,GAAAZ,OAAA;;AAEA,IAAAa,gBAAA,GAAAb,OAAA;;AAEA,IAAAc,cAAA,GAAAd,OAAA;AACA,IAAAe,YAAA,GAAAf,OAAA;AACA,IAAAgB,UAAA,GAAAhB,OAAA;;AAEA,IAAAiB,SAAA,GAAAjB,OAAA;AACA,IAAAkB,WAAA,GAAAlB,OAAA;;AAEA,IAAAmB,MAAA,GAAAnB,OAAA;AACA,IAAAoB,iBAAA,GAAApB,OAAA;AACA,IAAAqB,OAAA,GAAArB,OAAA;;AAEA,IAAAsB,cAAA,GAAAtB,OAAA;;AAEA,IAAAuB,OAAA,GAAAvB,OAAA;AACA,IAAAwB,qBAAA,GAAAxB,OAAA,2BAA8D,IAAAyB,SAAA,gOAAAC,IAAA,EAAAC,MAAA,EAAAC,aAAA;;AAE9D,SAASC,KAAKA,CAACC,OAAe,EAAEC,KAAe,EAAE;EAC/C,IAAI,CAACD,OAAO,IAAI,CAACC,KAAK,EAAE;IACtB,OAAOC,OAAO,CAACC,OAAO,CAAC,EAAE,CAAC;EAC5B;;EAEA,IAAMC,iBAAiB,GAAGJ,OAAO,CAACK,WAAW,CAAC,CAAC;EAC/C,IAAMC,oBAAoB,GAAGL,KAAK,CAACM,MAAM,CAAC,UAACC,IAAI,EAAK;IAClD,OAAOA,IAAI,CAACH,WAAW,CAAC,CAAC,CAACI,QAAQ,CAACL,iBAAiB,CAAC;EACvD,CAAC,CAAC;;EAEF,OAAOF,OAAO,CAACC,OAAO,CAACG,oBAAoB,CAAC;AAC9C;;AAEA,SAASI,UAAUA,CAACF,IAAS,EAAE;EAC7B,OAAOA,IAAI;AACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DO,IAAMG,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG;EAClCE,IAAI,EAAE,oBAAoB;EAC1BC,IAAI,EAAE;AACR,CAAU;;AAEH,IAAMC,eAAe,GAAAH,OAAA,CAAAG,eAAA,GAAG;EAC7BD,IAAI,EAAEH,oBAAoB,CAACG;AAC7B,CAAU;;;;;;;;;AASV;AACA;AACA;AACA;AACA;AACA,GALA;;;;AASaE,YAAY,GAAAJ,OAAA,CAAAI,YAAA,IAAApB,IAAA,GADxB,IAAAqB,kBAAM,EAAC,cAAc,EAAEC,gCAAwB,CAAC,MAFhDC,2BAAgB,EAAAtB,MAAA,OAChBuB,kBAAQ,EAAAvB,MAAA,GAAAD,IAAA,CAAAC,MAAA,IAAAC,aAAA,0BAAAuB,gBAAA,YAAAL,aAAA,OAAAM,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsCAU,KAAK,GAAsB;MAChC/B,KAAK,EAAE,IAAI;MACXgC,QAAQ,EAAE,CAAC,CAAC;MACZC,OAAO,EAAE,KAAK;MACdC,cAAc,EAAE;IAClB,CAAC,CAAAb,KAAA;;;;;IAKOc,MAAM,GAAG,KAAK,CAAAd,KAAA;IACde,KAAK,GAAoB,IAAI,CAAAf,KAAA;;IAE7BgB,MAAM,GAAGvB,eAAe,CAACD,IAAI,GAAG,IAAAyB,kBAAW,EAAC,CAAC,CAAAjB,KAAA;;;;IAI7CkB,SAAS,GAAG,CAAC,CAAAlB,KAAA;;IAEbmB,QAAQ,GAAG,IAAAC,oCAAiB,EAAC1B,YAAY,CAAC2B,YAAY,CAAC,CAAArB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyCxDsB,UAAU,GAAG,UAACC,KAAgD,EAAK,KAAAC,GAAA;MACxE,IAAQZ,OAAO,GAAKZ,KAAA,CAAKU,KAAK,CAAtBE,OAAO;;MAEf,IAAMa,QAAQ,GAAGzB,KAAA,CAAK0B,cAAc;;MAEpC;QACEC,aAAa;;;;;;;;;;;;;;;;QAgBXJ,KAAK,CAhBPI,aAAa,CACbC,SAAS,GAePL,KAAK,CAfPK,SAAS,CACTC,OAAO,GAcLN,KAAK,CAdPM,OAAO,CACPC,MAAM,GAaJP,KAAK,CAbPO,MAAM,CACMC,WAAW,GAYrBR,KAAK,CAZPnC,UAAU,CACV4C,aAAa,GAWXT,KAAK,CAXPS,aAAa,CACbC,SAAS,GAUPV,KAAK,CAVPU,SAAS,CACTC,SAAS,GASPX,KAAK,CATPW,SAAS,CACTC,aAAa,GAQXZ,KAAK,CARPY,aAAa,CACbC,mBAAmB,GAOjBb,KAAK,CAPPa,mBAAmB,CACnBC,MAAM,GAMJd,KAAK,CANPc,MAAM,CACNC,OAAO,GAKLf,KAAK,CALPe,OAAO,CAAAC,YAAA,GAKLhB,KAAK,CAJPiB,KAAK,CAALA,KAAK,GAAAD,YAAA,cAAGvC,KAAA,CAAKyC,KAAK,CAACC,UAAU,GAAAH,YAAA,CAC7BI,oBAAoB,GAGlBpB,KAAK,CAHPoB,oBAAoB,CACNC,SAAS,GAErBrB,KAAK,CAFP,YAAY,EACTsB,IAAI,OAAAC,8BAAA,CAAAC,OAAA,EACLxB,KAAK,EAAAlD,SAAA;;MAET,IAAM2E,UAAU,OAAAC,SAAA,CAAAF,OAAA;MACXF,IAAI;QACPL,KAAK,EAAE,MAAM;QACbU,YAAY,EAAE,KAAK;QACnBvB,aAAa,EAAE3B,KAAA,CAAKmD,iBAAiB;QACrCvB,SAAS,EAAE5B,KAAA,CAAKoD,aAAa;QAC7BvB,OAAO,EAAE7B,KAAA,CAAKqD,WAAW;QACzBC,GAAG,EAAEtD,KAAA,CAAKuD,QAAQ,GACnB;;;MAED;QACE7G,MAAA,CAAAqG,OAAA,CAAAS,aAAA,CAACjG,YAAA,CAAAkG,WAAW,IAACC,cAAc,EAAE1D,KAAA,CAAK2D,UAAW,EAACC,cAAc,EAAE5D,KAAA,CAAK6D,kBAAmB,EAACC,MAAM,EAAElD,OAAQ;QACrGlE,MAAA,CAAAqG,OAAA,CAAAS,aAAA;UACE,YAAUnE,oBAAoB,CAACE,IAAK;UACpCwE,SAAS,EAAE,IAAAC,WAAE,EAACC,qBAAM,CAAC1E,IAAI,CAACS,KAAA,CAAKyC,KAAK,CAAC,GAAAjB,GAAA,OAAAA,GAAA;UAClCyC,qBAAM,CAACC,QAAQ,CAAC,CAAC,IAAGlC,aAAa,EAAAR,GAAA;UACnC,CAAE;UACH2C,KAAK,EAAE,EAAE3B,KAAK,EAALA,KAAK,CAAC,CAAE;UACjBc,GAAG,EAAEtD,KAAA,CAAKoE,WAAY;;QAEtB1H,MAAA,CAAAqG,OAAA,CAAAS,aAAA,CAACpG,MAAA,CAAAiH,KAAK,MAAApB,SAAA,CAAAF,OAAA,IAAC,cAAYH,SAAU,EAAC,iBAAe5C,KAAA,CAAKgB,MAAO,IAAKgC,UAAU,CAAG,CAAC;QAC3EvB,QAAQ,GAAGzB,KAAA,CAAKsE,gBAAgB,CAAC,CAAC,GAAGtE,KAAA,CAAKuE,UAAU,CAAC;QAClD;QACK,CAAC;;IAElB,CAAC,CAAAvE,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuDOsE,gBAAgB,GAAG,YAAM,KAAAE,iBAAA;MAC/B,IAAMxB,UAAsB,GAAG;QAC7BE,YAAY,EAAE,KAAK;QACnBuB,SAAS,EAAE,IAAI;QACfjC,KAAK,EAAE,MAAM;QACbb,aAAa,EAAE3B,KAAA,CAAKmD,iBAAiB;QACrCuB,UAAU,EAAE1E,KAAA,CAAK2E,oBAAoB;QACrCC,KAAK,EAAE5E,KAAA,CAAKuB,KAAK,CAACqD,KAAK;QACvBC,WAAW,EAAE7E,KAAA,CAAKL,MAAM,CAACmF;MAC3B,CAAC;;MAED,IAAMnG,KAAK,GAAGqB,KAAA,CAAKU,KAAK,CAAC/B,KAAK;;MAE9B;QACEjC,MAAA,CAAAqG,OAAA,CAAAS,aAAA,CAAC7F,YAAA,CAAAoH,WAAW;UACVC,EAAE,EAAEhF,KAAA,CAAKgB,MAAO;UAChBiE,oBAAoB,eAAEvI,MAAA,CAAAqG,OAAA,CAAAS,aAAA,CAACpG,MAAA,CAAAiH,KAAK,EAAKrB,UAAa,CAAE;UAChDkC,OAAO,EAAElF,KAAA,CAAKuB,KAAK,CAACoB,oBAAqB;UACzC7B,MAAM,EAAEd,KAAA,CAAKU,KAAK,CAACG,cAAe;UAClCsE,cAAc,EAAEnF,KAAA,CAAKoF,iBAAkB;UACvC9B,GAAG,EAAEtD,KAAA,CAAKqF,cAAe;;QAEzB3I,MAAA,CAAAqG,OAAA,CAAAS,aAAA,CAACnG,KAAA,CAAAiI,IAAI,IAAChC,GAAG,EAAEtD,KAAA,CAAKuF,OAAQ,EAACC,WAAW,GAAAhB,iBAAA,GAAExE,KAAA,CAAKyF,WAAW,qBAAhBjB,iBAAA,CAAkBkB,KAAM,EAACC,sBAAsB,QAACC,SAAS,EAAE,MAAO;QACrGjH,KAAK,IAAIA,KAAK,CAACwB,MAAM,GAAG,CAAC,IAAIH,KAAA,CAAK6F,QAAQ,CAAC,CAAC;QAC5C7F,KAAA,CAAK8F,WAAW,CAAC;QACd;QACK,CAAC;;IAElB,CAAC,CAAA9F,KAAA;;IAEO6F,QAAQ,GAAG,YAAM;MACvB,IAAMlH,KAAK,GAAGqB,KAAA,CAAKU,KAAK,CAAC/B,KAAK;MAC9B,IAAM8C,QAAQ,GAAGzB,KAAA,CAAK0B,cAAc;;MAEpC,OAAO/C,KAAK;MACRA,KAAK,CAACoH,GAAG,CAAC,UAAC7G,IAAI,EAAE8G,CAAC,EAAK;QACrB;UACEtJ,MAAA,CAAAqG,OAAA,CAAAS,aAAA,CAAClG,SAAA,CAAA2I,QAAQ,IAACC,OAAO,EAAElG,KAAA,CAAKmG,mBAAmB,CAACH,CAAC,CAAE,EAACI,GAAG,EAAEJ,CAAE,EAACvE,QAAQ,EAAEA,QAAS,EAAC4E,IAAI,EAAErG,KAAA,CAAKuB,KAAK,CAAC8E,IAAK;UAC/FrG,KAAA,CAAKmB,QAAQ,CAAC,CAAC,CAAC/B,UAAU,CAACF,IAAI;UACxB,CAAC;;MAEf,CAAC,CAAC;MACF,IAAI;IACV,CAAC,CAAAc,KAAA;;IAEOmD,iBAAiB,GAAG,UAACyB,KAAa,EAAK;MAC7C5E,KAAA,CAAKc,MAAM,GAAG,IAAI;;MAElBd,KAAA,CAAKsG,UAAU,CAAC1B,KAAK,CAAC;IACxB,CAAC,CAAA5E,KAAA;;IAEOoF,iBAAiB,GAAG,YAAM;MAChCpF,KAAA,CAAKuG,QAAQ,CAAC;QACZ1F,cAAc,EAAE;MAClB,CAAC,CAAC;;MAEFb,KAAA,CAAK2D,UAAU,CAAC,CAAC;IACnB,CAAC,CAAA3D,KAAA;;IAEO2E,oBAAoB,GAAG,UAAC6B,CAAgB,EAAK;MACnD,IAAIA,CAAC,CAACJ,GAAG,KAAK,OAAO,EAAE,KAAAK,kBAAA;QACrB,CAAAA,kBAAA,GAAAzG,KAAA,CAAKyF,WAAW,aAAhBgB,kBAAA,CAAkBf,KAAK,CAAC,CAAC;MAC3B;IACF,CAAC,CAAA1F,KAAA;;IAEOqD,WAAW,GAAG,UAACqD,KAAyC,EAAK;MACnE,IAAI1G,KAAA,CAAK0B,cAAc,EAAE;QACvB1B,KAAA,CAAKuG,QAAQ,CAAC,EAAE1F,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;MACzC;;MAEA,IAAIb,KAAA,CAAKU,KAAK,CAACE,OAAO,EAAE;QACtB;MACF;;MAEAZ,KAAA,CAAKuG,QAAQ,CAAC,EAAE3F,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;;MAEhC,IAAIZ,KAAA,CAAKuB,KAAK,CAACM,OAAO,EAAE;QACtB7B,KAAA,CAAKuB,KAAK,CAACM,OAAO,CAAC6E,KAAK,CAAC;MAC3B;IACF,CAAC,CAAA1G,KAAA;;IAEO2D,UAAU,GAAG,YAAM;MACzB,IAAI,CAAC3D,KAAA,CAAKU,KAAK,CAACE,OAAO,EAAE;QACvB;MACF;;MAEAZ,KAAA,CAAKc,MAAM,GAAG,KAAK;MACnBd,KAAA,CAAKuG,QAAQ,CAAC,EAAE5H,KAAK,EAAE,IAAI,EAAEiC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;;MAE9C,IAAIZ,KAAA,CAAKe,KAAK,EAAE;QACdf,KAAA,CAAKe,KAAK,CAAC4F,IAAI,CAAC,CAAC;MACnB;;MAEA,IAAI3G,KAAA,CAAKuB,KAAK,CAACO,MAAM,EAAE;QACrB9B,KAAA,CAAKuB,KAAK,CAACO,MAAM,CAAC,CAAC;MACrB;IACF,CAAC,CAAA9B,KAAA;;IAEO6D,kBAAkB,GAAG,UAAC2C,CAAQ,EAAK;MACzC,IAAAI,gCAAe,EAACJ,CAAC,CAAC;MAClBxG,KAAA,CAAK2D,UAAU,CAAC,CAAC;IACnB,CAAC,CAAA3D,KAAA;;IAEOoD,aAAa,GAAG,UAACoD,CAAwC,EAAK;MACpE,IAAIxG,KAAA,CAAKuB,KAAK,CAACK,SAAS,EAAE;QACxB5B,KAAA,CAAKuB,KAAK,CAACK,SAAS,CAAC4E,CAAC,CAAC;MACzB;MACA,QAAQ,IAAI;QACV,KAAK,IAAAK,wBAAW,EAACL,CAAC,CAAC;UACjBA,CAAC,CAACM,cAAc,CAAC,CAAC;UAClB9G,KAAA,CAAKuG,QAAQ,CAAC,EAAE5H,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;UAC9B;QACF,KAAK,IAAAoI,yBAAY,EAACP,CAAC,CAAC;UAClBA,CAAC,CAACM,cAAc,CAAC,CAAC;UAClB,IAAI9G,KAAA,CAAKR,IAAI,EAAE;YACbQ,KAAA,CAAKR,IAAI,CAACwH,EAAE,CAAC,CAAC;UAChB;UACA;QACF,KAAK,IAAAC,2BAAc,EAACT,CAAC,CAAC;UACpBA,CAAC,CAACM,cAAc,CAAC,CAAC;UAClB,IAAI9G,KAAA,CAAKR,IAAI,EAAE;YACbQ,KAAA,CAAKR,IAAI,CAAC0H,IAAI,CAAC,CAAC;UAClB;UACA;QACF,KAAK,IAAAC,uBAAU,EAACX,CAAC,CAAC;UAChBA,CAAC,CAACM,cAAc,CAAC,CAAC,CAAC,CAAC;UACpB,IAAI9G,KAAA,CAAKR,IAAI,EAAE;YACbQ,KAAA,CAAKR,IAAI,CAAC4H,KAAK,CAACZ,CAAC,CAAC;UACpB;UACA;MACJ;IACF,CAAC,CAAAxG,KAAA;;;;;;IAMOqH,SAAS,GAAG,YAAM;MACxB,OAAO,IAAAC,qBAAW,EAAAtH,KAAK,CAAC;IAC1B,CAAC,CAAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8DOuD,QAAQ,GAAG,UAACgE,EAAgB,EAAK;MACvCvH,KAAA,CAAKe,KAAK,GAAGwG,EAAE;IACjB,CAAC,CAAAvH,KAAA;;IAEOuF,OAAO,GAAG,UAAC/F,IAAiB,EAAK;MACvCQ,KAAA,CAAKR,IAAI,GAAGA,IAAI;IAClB,CAAC,CAAAQ,KAAA;;IAEOoE,WAAW,GAAG,UAACoD,IAAqB,EAAK;MAC/CxH,KAAA,CAAKyH,QAAQ,GAAGD,IAAI;IACtB,CAAC,CAAAxH,KAAA;;IAEOqF,cAAc,GAAG,UAACI,WAA+B,EAAK;MAC5DzF,KAAA,CAAKyF,WAAW,GAAGA,WAAW;IAChC,CAAC,QAAAzF,KAAA,MAAA0H,eAAA,CAAA3E,OAAA,EAAArD,YAAA,EAAAK,gBAAA,MAAA4H,MAAA,GAAAjI,YAAA,CAAAkI,SAAA,EArWD;AACF;AACA,KAFED,MAAA,CAGOE,KAAK,GAAZ,SAAAA,MAAA,EAAe,CACb,IAAI,IAAI,CAAC9G,KAAK,EAAE,CACd,IAAI,CAACA,KAAK,CAAC8G,KAAK,CAAC,CAAC,CACpB,CACF,CAAC,CAED;AACF;AACA,KAFE,CAAAF,MAAA,CAGOhB,IAAI,GAAX,SAAAA,KAAA,EAAc,CACZ,IAAI,CAAChD,UAAU,CAAC,CAAC,CACnB,CAAC,CAAAgE,MAAA,CAEMG,kBAAkB,GAAzB,SAAAA,mBAA0BC,SAA4B,EAAE,CACtD,IAAIA,SAAS,CAACnD,KAAK,KAAK,IAAI,CAACrD,KAAK,CAACqD,KAAK,EAAE,CACxC,IAAI,CAACoD,WAAW,CAAC,IAAI,CAACzG,KAAK,CAACqD,KAAK,IAAI,EAAE,CAAC,CAC1C,CACF,CAAC,CAAA+C,MAAA,CAEMM,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACExL,MAAA,CAAAqG,OAAA,CAAAS,aAAA,CAACvG,aAAA,CAAAkL,YAAY,CAACC,QAAQ,QACnB,UAAC3F,KAAK,EAAK,CACVyF,MAAI,CAACzF,KAAK,GAAG,IAAA4F,0CAAoB,EAAC5F,KAAK,CAAC,CACxC,oBACE/F,MAAA,CAAAqG,OAAA,CAAAS,aAAA,CAACvG,aAAA,CAAAkL,YAAY,CAACG,QAAQ,IAAC1D,KAAK,EAAEsD,MAAI,CAACzF,KAAM,iBACvC/F,MAAA,CAAAqG,OAAA,CAAAS,aAAA,CAAC9F,cAAA,CAAA6K,aAAa,MAAAtF,SAAA,CAAAF,OAAA,IAACyF,WAAW,EAAEN,MAAI,CAACO,WAAY,IAAKP,MAAI,CAAC/G,QAAQ,CAAC,CAAC,GAC9D+G,MAAI,CAAC5G,UACO,CACM,CAAC,CAE5B,CACqB,CAAC,CAE5B,CAAC,CAAAqG,MAAA,CAoDO7B,WAAW,GAAnB,SAAAA,YAAA,EAAuC,CACrC,IAAMnH,KAAK,GAAG,IAAI,CAAC+B,KAAK,CAAC/B,KAAK,CAE9B,IAAI,CAAC,IAAI,CAAC4C,KAAK,CAACqD,KAAK,EAAE,CACrB,oBAAOlI,MAAA,CAAAqG,OAAA,CAAAS,aAAA,CAAC1G,YAAA,CAAA4L,WAAW,QAAE,IAAI,CAAC/I,MAAM,CAACmF,UAAwB,CAAC,CAC5D,CAEA,IAAI,CAAAnG,KAAK,oBAALA,KAAK,CAAEwB,MAAM,MAAK,CAAC,IAAI,IAAI,CAACoB,KAAK,CAACqD,KAAK,EAAE,CAC3C,oBAAOlI,MAAA,CAAAqG,OAAA,CAAAS,aAAA,CAAC1G,YAAA,CAAA4L,WAAW,QAAE,IAAI,CAAC/I,MAAM,CAACgJ,QAAsB,CAAC,CAC1D,CAEA,IAAI,IAAAC,iBAAU,EAACjK,KAAK,CAAC,IAAI,IAAI,CAAC4C,KAAK,CAACqD,KAAK,EAAE,CACzC,oBAAOlI,MAAA,CAAAqG,OAAA,CAAAS,aAAA,CAAC1G,YAAA,CAAA4L,WAAW,QAAE,IAAI,CAAC/I,MAAM,CAACkJ,WAAyB,CAAC,CAC7D,CAEA,OAAO,IAAI,CACb,CAAC,CAAAlB,MAAA,CAEOpD,UAAU,GAAlB,SAAAA,WAAA,EAAsC,CACpC,IAAM5F,KAAK,GAAG,IAAI,CAAC+B,KAAK,CAAC/B,KAAK,CAC9B,IAAAmK,cAAA,GACE,IAAI,CAAC3H,QAAQ,CAAC,CAAC,CADTmB,OAAO,GAAAwG,cAAA,CAAPxG,OAAO,CAAEJ,SAAS,GAAA4G,cAAA,CAAT5G,SAAS,CAAEC,aAAa,GAAA2G,cAAA,CAAb3G,aAAa,CAAEF,SAAS,GAAA6G,cAAA,CAAT7G,SAAS,CAAE8G,SAAS,GAAAD,cAAA,CAATC,SAAS,CAAEvG,KAAK,GAAAsG,cAAA,CAALtG,KAAK,CAAEJ,mBAAmB,GAAA0G,cAAA,CAAnB1G,mBAAmB,CAAEJ,aAAa,GAAA8G,cAAA,CAAb9G,aAAa,CAE1G,IAAMgH,SAAS,GAAG,EAChB1F,GAAG,EAAE,IAAI,CAACiC,OAAO,EACjBK,SAAS,EAAEzD,aAAa,EACxBF,SAAS,EAAE,KAAK,EAChBgH,SAAS,EAAE,KAAK,EAChBzG,KAAK,EAAEuG,SAAS,IAAKvG,KAAK,IAAI,IAAA0G,sBAAU,EAAC,IAAI,CAACzB,QAAQ,CAAC,CAACjF,KAAM,EAC9DJ,mBAAmB,EAAnBA,mBAAmB,CACrB,CAAC,CACD,IAAI,CAACzD,KAAK,IAAIA,KAAK,CAACwB,MAAM,KAAK,CAAC,EAAE,CAChC,OAAO,IAAI,CACb,CAEA,oBACEzD,MAAA,CAAAqG,OAAA,CAAAS,aAAA,CAACzF,MAAA,CAAAoL,KAAK,IACJrI,MAAM,QACNmB,SAAS,EAAEA,SAAU,EACrB+C,EAAE,EAAE,IAAI,CAAChE,MAAO,EAChBoI,QAAQ,EAAEC,cAAM,CAACC,UAAU,CAACC,SAAU,EACtC,YAAUlK,oBAAoB,CAACG,IAAK,EACpCgK,aAAa,EAAE,IAAI,CAACnC,SAAS,CAAC,CAAE,EAChCrF,aAAa,EAAEA,aAAc,EAC7BQ,KAAK,EAAEuG,SAAU,EACjBU,QAAQ,EAAEV,SAAS,KAAKW,SAAS,GAAG,MAAM,GAAGA,SAAU,EACvDC,SAAS,EAAE,IAAAC,kCAAgB,EAACtH,OAAO,EAAEJ,SAAS,CAAE,EAChD2H,MAAM,EAAEC,QAAQ,CAAC,IAAI,CAACrH,KAAK,CAACsH,WAAW,CAAC,GAAG,CAAE,iBAE7CrN,MAAA,CAAAqG,OAAA,CAAAS,aAAA,CAACnG,KAAA,CAAAiI,IAAI,EAAK0D,SAAS,EAAG,IAAI,CAACnD,QAAQ,CAAC,CAAQ,CACvC,CAAC,CAEZ,CAAC,CAAA8B,MAAA,CAuIOxB,mBAAmB,GAA3B,SAAAA,oBAA4BH,CAAS,EAAE,KAAAgE,MAAA,QACrC,OAAO,UAACtD,KAAwC,UAAKsD,MAAI,CAACC,eAAe,CAACvD,KAAK,EAAEV,CAAC,CAAC,GACrF,CAAC,CAAA2B,MAAA,CAMOsC,eAAe,GAAvB,SAAAA,gBAAwBvD,KAAwE,EAAEwD,KAAa,EAAE,CAC/G,IAAKxD,KAAK,CAAmCyD,MAAM,EAAE,CACnD,OACF,CAEAzD,KAAK,CAACI,cAAc,CAAC,CAAC,CACtB,IAAI,CAACsD,MAAM,CAACF,KAAK,CAAC,CACpB,CAAC,CAAAvC,MAAA,CAEOyC,MAAM,GAAd,SAAAA,OAAeF,KAAa,EAAE,CAC5B,IAAI,CAAC,IAAI,CAACxJ,KAAK,CAAC/B,KAAK,EAAE,CACrB,OACF,CAEA,IAAMiG,KAAK,GAAG,IAAI,CAAClE,KAAK,CAAC/B,KAAK,CAACuL,KAAK,CAAC,CACrC,IAAI,CAACpJ,MAAM,GAAG,KAAK,CACnB,IAAI,CAACyF,QAAQ,CAAC,EACZ5F,QAAQ,EAAE,CAAC,CAAC,EACZhC,KAAK,EAAE,IAAI,CACb,CAAC,CAAC,CAEF,IAAI,CAAC2H,UAAU,CAAC1B,KAAK,CAAC,CACtB,IAAI,CAAC+B,IAAI,CAAC,CAAC,CACb,CAAC,CAAAgB,MAAA,CAEOK,WAAW,GAAnB,SAAAA,YAAoBpD,KAAa,EAAE,KAAAyF,MAAA,QACjC,IAAI,CAAC,IAAI,CAACvJ,MAAM,EAAE,CAChB,OACF,CACA,IAAMpC,OAAO,GAAGkG,KAAK,CAAC0F,IAAI,CAAC,CAAC,CAC5B,IAAMjI,MAAM,GAAG,IAAI,CAACd,KAAK,CAACc,MAAM,CAEhC,IAAI,CAACA,MAAM,EAAE,CACX,OACF,CAEA,IAAIkI,OAAO,CACX,IAAI,CAACrJ,SAAS,IAAI,CAAC,CACnB,IAAMsJ,WAAW,GAAG,IAAI,CAACtJ,SAAS,CAClC,IAAI,OAAOmB,MAAM,KAAK,UAAU,EAAE,CAChCkI,OAAO,GAAGlI,MAAM,CAAC3D,OAAO,CAAC,CAC3B,CAAC,MAAM,CACL6L,OAAO,GAAG9L,KAAK,CAACC,OAAO,EAAE2D,MAAM,CAAC,CAClC,CACAkI,OAAO,CAACE,IAAI,CAAC,UAAC9L,KAAK,EAAK,CACtB,IAAI0L,MAAI,CAACvJ,MAAM,IAAI0J,WAAW,KAAKH,MAAI,CAACnJ,SAAS,EAAE,CACjDmJ,MAAI,CAAC9D,QAAQ,CAAC,EACZ5H,KAAK,EAALA,KAAK,EACLgC,QAAQ,EAAE,CAAC,CAAC,CACd,CAAC,CAAC,CACJ,CACF,CAAC,CAAC,CACJ,CAAC,CAAAgH,MAAA,CAEOrB,UAAU,GAAlB,SAAAA,WAAmB1B,KAAa,EAAE,CAChC,IAAI,IAAI,CAACrD,KAAK,CAACI,aAAa,EAAE,CAC5B,IAAI,CAACJ,KAAK,CAACI,aAAa,CAACiD,KAAK,CAAC,CACjC,CACF,CAAC,QAAAlF,YAAA,GA/Y+BgL,cAAK,CAACC,SAAS,GAAAnM,aAAA,CACjCoM,mBAAmB,GAAG,cAAc,EAAApM,aAAA,CACpCqM,WAAW,GAAG,cAAc,EAAArM,aAAA,CAE5BsM,SAAS,GAAG,EACxB;AACJ;AACA;AACA,KACI1L,UAAU,EAAE2L,kBAAS,CAACC,IAAI,EAE1B;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KACI3I,MAAM,EAAE0I,kBAAS,CAACE,SAAS,CAAC,CAACF,kBAAS,CAACG,KAAK,EAAEH,kBAAS,CAACC,IAAI,CAAC,CAAC,CAChE,CAAC,EAAAxM,aAAA,CAEa6C,YAAY,GAAiB,EACzCjC,UAAU,EAAVA,UAAU,EACViH,IAAI,EAAE,OAAO,EACbrE,aAAa,EAAE,KAAK,EACpBC,SAAS,EAAE,IAAI,EACfE,aAAa,EAAE,GAAG,EAClBC,mBAAmB,EAAE,IAAI,CAC3B,CAAC,EAAA5D,aAAA,MAAAD,MAAA,KAAAA,MAAA,KAAAA,MAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_MenuMessage","_decorators","_utils","_ThemeContext","_Emotion","_identifiers","_Input","_Menu","_MenuItem","_RenderLayer","_createPropsGetter","_fixClickFocusIE","_CommonWrapper","_MobilePopup","_decorator","_rootNode","_getDOMRect","_Popup","_getMenuPositions","_ZIndex","_MaskedInput","_ReactUIFeatureFlagsContext","_FeatureFlagsHelpers","_Autocomplete2","_locale","_getAutocompleteTheme","_excluded","_dec","_class","_Autocomplete","match","pattern","items","Promise","resolve","lowerCasedPattern","toLowerCase","itemsMatchingPattern","filter","item","includes","renderItem","AutocompleteDataTids","exports","root","menu","AutocompleteIds","Autocomplete","locale","AutocompleteLocaleHelper","responsiveLayout","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","selected","focused","isMobileOpened","opened","input","menuId","getRandomID","requestId","getProps","createPropsGetter","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","_objectWithoutPropertiesLoose2","default","inputProps","_extends2","autoComplete","handleValueChange","handleKeyDown","handleFocus","ref","refInput","createElement","RenderLayer","onFocusOutside","handleBlur","onClickOutside","handleClickOutside","active","className","cx","styles","noPortal","style","refRootSpan","getInput","renderMobileMenu","renderMenu","featureFlags","autocompleteUseMaskedInput","mask","MaskedInput","getSafeMaskInputType","maskChar","Input","_this$mobilePopup","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","enterValue","inputMode","MobilePopup","id","headerChildComponent","caption","onCloseRequest","handleCloseMobile","refMobilePopup","Menu","refMenu","onItemClick","mobilePopup","close","disableScrollContainer","maxHeight","getItems","renderHints","map","i","MenuItem","onClick","handleMenuItemClick","key","size","fireChange","setState","e","_this$mobilePopup2","event","blur","fixClickFocusIE","isKeyEscape","preventDefault","isKeyArrowUp","up","isKeyArrowDown","down","isKeyEnter","enter","getAnchor","getRootNode","el","span","rootSpan","_inheritsLoose2","_proto","prototype","focus","componentDidUpdate","prevProps","updateItems","render","_this2","ReactUIFeatureFlagsContext","Consumer","flags","getFullReactUIFlagsContext","ThemeContext","getAutocompleteTheme","Provider","CommonWrapper","rootNodeRef","setRootNode","MenuMessage","notFound","isNullable","updateValue","_this$getProps","menuWidth","calculatedMenuWidth","getDOMRect","menuProps","hasMargin","Popup","priority","ZIndex","priorities","PopupMenu","anchorElement","minWidth","undefined","positions","getMenuPositions","margin","parseInt","menuOffsetY","_this3","handleItemClick","index","button","choose","_this4","globalObject","setTimeout","_this5","trim","promise","expectingId","then","React","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":[]}
|
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import type { ButtonLinkAllowedValues } from '../../lib/types/button-link';
|
|
3
3
|
import type { ThemeIn } from '../../lib/theming/Theme';
|
|
4
4
|
import type { CommonProps } from '../../internal/CommonWrapper';
|
|
5
|
+
import type { TGetRootNode } from '../../lib/rootNode';
|
|
5
6
|
import type { SizeProp } from '../../lib/types/props';
|
|
6
7
|
import type { PolymorphicPropsWithoutRef } from '../../lib/types/polymorphic-component';
|
|
7
8
|
export type ButtonType = 'button' | 'submit' | 'reset';
|
|
@@ -83,6 +84,7 @@ export declare class Button<C extends ButtonLinkAllowedValues = typeof BUTTON_DE
|
|
|
83
84
|
};
|
|
84
85
|
private theme;
|
|
85
86
|
private node;
|
|
87
|
+
getRootNode: TGetRootNode;
|
|
86
88
|
private setRootNode;
|
|
87
89
|
componentDidMount(): void;
|
|
88
90
|
static getDerivedStateFromProps(props: ButtonProps): {
|
|
@@ -7,6 +7,7 @@ var _utils = require("../../lib/utils");
|
|
|
7
7
|
var _client = require("../../lib/client");
|
|
8
8
|
var _keyListener = require("../../lib/events/keyListener");
|
|
9
9
|
|
|
10
|
+
var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
|
|
10
11
|
var _ThemeContext = require("../../lib/theming/ThemeContext");
|
|
11
12
|
|
|
12
13
|
var _CommonWrapper = require("../../internal/CommonWrapper");
|
|
@@ -216,6 +217,7 @@ Button = exports.Button = (0, _rootNode.rootNode)(_class = (_Button = /*#__PURE_
|
|
|
216
217
|
|
|
217
218
|
|
|
218
219
|
|
|
220
|
+
|
|
219
221
|
|
|
220
222
|
|
|
221
223
|
renderMain = function (props) {var _cx, _cx4, _cx5;
|
|
@@ -435,6 +437,32 @@ Button = exports.Button = (0, _rootNode.rootNode)(_class = (_Button = /*#__PURE_
|
|
|
435
437
|
|
|
436
438
|
|
|
437
439
|
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
|
|
465
|
+
|
|
438
466
|
|
|
439
467
|
|
|
440
468
|
|
|
@@ -486,7 +514,7 @@ Button = exports.Button = (0, _rootNode.rootNode)(_class = (_Button = /*#__PURE_
|
|
|
486
514
|
* @public
|
|
487
515
|
*/;_proto.focus = function focus() {var _this$node;(_this$node = this.node) == null || _this$node.focus();} /**
|
|
488
516
|
* @public
|
|
489
|
-
*/;_proto.blur = function blur() {var _this$node2;(_this$node2 = this.node) == null || _this$node2.blur();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = _this2.props.theme ? _ThemeFactory.ThemeFactory.create(_this2.props.theme, theme) : theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.props), _this2.renderMain);});};_proto.getTabIndex = function getTabIndex(_ref2) {var disableFocus = _ref2.disableFocus,disabled = _ref2.disabled,_ref2$tabIndex = _ref2.tabIndex,tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;if (disableFocus || disabled) {return -1;}return tabIndex;};_proto.renderIcon2022 = function renderIcon2022(icon) {if (icon && (0, _utils.isKonturIcon)(icon)) {var _icon$props$size;var sizes = (0, _ButtonIcon.getButtonIconSizes)(this.theme);return /*#__PURE__*/_react.default.cloneElement(icon, { size: (_icon$props$size = icon.props.size) != null ? _icon$props$size : sizes[this.getProps().size] });}return icon;};_proto.getSizeClassName = function getSizeClassName() {var
|
|
517
|
+
*/;_proto.blur = function blur() {var _this$node2;(_this$node2 = this.node) == null || _this$node2.blur();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = _this2.props.theme ? _ThemeFactory.ThemeFactory.create(_this2.props.theme, theme) : theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.props), _this2.renderMain);});};_proto.getTabIndex = function getTabIndex(_ref2) {var disableFocus = _ref2.disableFocus,disabled = _ref2.disabled,_ref2$tabIndex = _ref2.tabIndex,tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;if (disableFocus || disabled) {return -1;}return tabIndex;};_proto.renderIcon2022 = function renderIcon2022(icon) {if (icon && (0, _utils.isKonturIcon)(icon)) {var _icon$props$size;var sizes = (0, _ButtonIcon.getButtonIconSizes)(this.theme);return /*#__PURE__*/_react.default.cloneElement(icon, { size: (_icon$props$size = icon.props.size) != null ? _icon$props$size : sizes[this.getProps().size] });}return icon;};_proto.getSizeClassName = function getSizeClassName() {var _this$getProps2 = this.getProps(),icon = _this$getProps2.icon,rightIcon = _this$getProps2.rightIcon,children = _this$getProps2.children,size = _this$getProps2.size;var isThemeGTE_5_3 = (0, _ThemeHelpers.isThemeGTE)(this.theme, '5.3');switch (size) {case 'large':{var _commonClasses, _themeSpecificClasses;var commonClasses = (_commonClasses = {}, _commonClasses[_Button2.styles.sizeLargeIE11(this.theme)] = _client.isIE11 || _client.isEdge, _commonClasses[_Button2.styles.sizeLargeWithIcon(this.theme)] = !!icon, _commonClasses[_Button2.styles.sizeLargeWithIconWithoutText(this.theme)] = !!icon && !children, _commonClasses);var themeSpecificClasses = (_themeSpecificClasses = {}, _themeSpecificClasses[_Button2.styles.sizeLargeWithRightIcon(this.theme)] = !!rightIcon, _themeSpecificClasses[_Button2.styles.sizeLargeWithIconWithoutText5_3(this.theme)] = (!!icon || !!rightIcon) && !children, _themeSpecificClasses);return (0, _Emotion.cx)(_Button2.styles.sizeLarge(this.theme), commonClasses, isThemeGTE_5_3 && themeSpecificClasses);}case 'medium':{var _commonClasses3, _themeSpecificClasses3;var _commonClasses2 = (_commonClasses3 = {}, _commonClasses3[_Button2.styles.sizeMediumIE11(this.theme)] = _client.isIE11 || _client.isEdge, _commonClasses3[_Button2.styles.sizeMediumWithIcon(this.theme)] = !!icon, _commonClasses3[_Button2.styles.sizeMediumWithIconWithoutText(this.theme)] = !!icon && !children, _commonClasses3);var _themeSpecificClasses2 = (_themeSpecificClasses3 = {}, _themeSpecificClasses3[_Button2.styles.sizeMediumWithRightIcon(this.theme)] = !!rightIcon, _themeSpecificClasses3[_Button2.styles.sizeMediumWithIconWithoutText5_3(this.theme)] = (!!icon || !!rightIcon) && !children, _themeSpecificClasses3);return (0, _Emotion.cx)(_Button2.styles.sizeMedium(this.theme), _commonClasses2, isThemeGTE_5_3 && _themeSpecificClasses2);}case 'small':default:{var _commonClasses5, _themeSpecificClasses5;var _commonClasses4 = (_commonClasses5 = {}, _commonClasses5[_Button2.styles.sizeSmallIE11(this.theme)] = _client.isIE11 || _client.isEdge, _commonClasses5[_Button2.styles.sizeSmallWithIcon(this.theme)] = !!icon, _commonClasses5[_Button2.styles.sizeSmallWithIconWithoutText(this.theme)] = !!icon && !children, _commonClasses5);var _themeSpecificClasses4 = (_themeSpecificClasses5 = {}, _themeSpecificClasses5[_Button2.styles.sizeSmallWithRightIcon(this.theme)] = !!rightIcon, _themeSpecificClasses5[_Button2.styles.sizeSmallWithIconWithoutText5_3(this.theme)] = (!!icon || !!rightIcon) && !children, _themeSpecificClasses5);return (0, _Emotion.cx)(_Button2.styles.sizeSmall(this.theme), _commonClasses4, isThemeGTE_5_3 && _themeSpecificClasses4);}}};_proto.getSizeWrapClassName = function getSizeWrapClassName() {switch (this.getProps().size) {case 'large':return _Button2.styles.wrapLarge(this.theme);case 'medium':return _Button2.styles.wrapMedium(this.theme);case 'small':default:return _Button2.styles.wrapSmall(this.theme);}};return Button;}(_react.default.Component), _Button.__KONTUR_REACT_UI__ = 'Button', _Button.displayName = 'Button', _Button.__BUTTON__ = true, _Button.defaultProps = { use: 'default', size: 'small', // By default the type attribute is 'submit'. IE8 will fire a click event
|
|
490
518
|
// on this button if somewhere on the page user presses Enter while some
|
|
491
519
|
// input is focused. So we set type to 'button' by default.
|
|
492
520
|
type: 'button', component: BUTTON_DEFAULT_COMPONENT }, _Button)) || _class;
|