@skbkontur/react-ui 0.0.0-a8f1c3e7a1 → 0.0.0-ab4ec97409
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 +50 -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 +11 -1
- package/cjs/components/ComboBox/ComboBox.js +21 -1
- 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 +9 -0
- package/cjs/components/MaskedInput/MaskedInput.js +40 -3
- 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 +101 -17
- 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 +5 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js +27 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +9 -2
- package/cjs/internal/CustomComboBox/CustomComboBox.js +23 -10
- 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/DarkTheme5_4.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme5_4.js +10 -0
- package/cjs/internal/themes/DarkTheme5_4.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/internal/themes/LightTheme5_4.d.ts +1 -0
- package/cjs/internal/themes/LightTheme5_4.js +10 -0
- package/cjs/internal/themes/LightTheme5_4.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 +2 -0
- package/cjs/lib/theming/themes/DarkTheme.js +6 -2
- package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
- package/cjs/lib/theming/themes/LightTheme.d.ts +2 -0
- package/cjs/lib/theming/themes/LightTheme.js +6 -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 +8 -0
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +11 -1
- 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 +25 -1
- package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput.d.ts +9 -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 +74 -24
- 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 +35 -12
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +5 -1
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +17 -8
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +9 -2
- 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/DarkTheme5_4/DarkTheme5_4.js +15 -0
- package/internal/themes/DarkTheme5_4/DarkTheme5_4.js.map +1 -0
- package/internal/themes/DarkTheme5_4/package.json +6 -0
- package/internal/themes/DarkTheme5_4.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/internal/themes/LightTheme5_4/LightTheme5_4.js +15 -0
- package/internal/themes/LightTheme5_4/LightTheme5_4.js.map +1 -0
- package/internal/themes/LightTheme5_4/package.json +6 -0
- package/internal/themes/LightTheme5_4.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 +5 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/lib/theming/themes/DarkTheme.d.ts +2 -0
- package/lib/theming/themes/LightTheme/LightTheme.js +5 -1
- package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
- package/lib/theming/themes/LightTheme.d.ts +2 -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 +8 -16
- package/cjs/components/Autocomplete/Autocomplete.md +0 -113
- package/cjs/components/Button/Button.md +0 -261
- package/cjs/components/Calendar/Calendar.md +0 -276
- package/cjs/components/Calendar/CalendarDay.md +0 -70
- package/cjs/components/Center/Center.md +0 -26
- package/cjs/components/Checkbox/Checkbox.md +0 -171
- package/cjs/components/ComboBox/ComboBox.md +0 -574
- package/cjs/components/CurrencyInput/CurrencyInput.md +0 -39
- package/cjs/components/CurrencyLabel/CurrencyLabel.md +0 -29
- package/cjs/components/DateInput/DateInput.md +0 -111
- package/cjs/components/DatePicker/DatePicker.md +0 -368
- package/cjs/components/Dropdown/Dropdown.md +0 -45
- package/cjs/components/DropdownMenu/DropdownMenu.md +0 -290
- package/cjs/components/FileUploader/FileUploader.md +0 -131
- package/cjs/components/FxInput/FxInput.md +0 -31
- package/cjs/components/Gapped/Gapped.md +0 -44
- package/cjs/components/GlobalLoader/GlobalLoader.md +0 -97
- package/cjs/components/Group/Group.md +0 -19
- package/cjs/components/Hint/Hint.md +0 -86
- package/cjs/components/Input/Input.md +0 -86
- package/cjs/components/Kebab/Kebab.md +0 -306
- package/cjs/components/Link/Link.md +0 -182
- package/cjs/components/Loader/Loader.md +0 -33
- package/cjs/components/MaskedInput/MaskedInput.md +0 -114
- package/cjs/components/MenuFooter/MenuFooter.md +0 -27
- package/cjs/components/MenuHeader/MenuHeader.md +0 -35
- package/cjs/components/MenuItem/MenuItem.md +0 -139
- package/cjs/components/MenuSeparator/MenuSeparator.md +0 -14
- package/cjs/components/MiniModal/MiniModal.md +0 -231
- package/cjs/components/Modal/Modal.md +0 -56
- package/cjs/components/Paging/Paging.md +0 -57
- package/cjs/components/PasswordInput/PasswordInput.md +0 -29
- package/cjs/components/Radio/Radio.md +0 -57
- package/cjs/components/RadioGroup/RadioGroup.md +0 -44
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
- package/cjs/components/ScrollContainer/ScrollContainer.md +0 -224
- package/cjs/components/Select/Select.md +0 -113
- package/cjs/components/SidePage/SidePage.md +0 -65
- package/cjs/components/SingleToast/SingleToast.md +0 -36
- package/cjs/components/Spinner/Spinner.md +0 -36
- package/cjs/components/Sticky/Sticky.md +0 -28
- package/cjs/components/Switcher/Switcher.md +0 -111
- package/cjs/components/Tabs/Tab.md +0 -73
- package/cjs/components/Tabs/Tabs.md +0 -54
- package/cjs/components/Textarea/Textarea.md +0 -58
- package/cjs/components/Toast/Toast.md +0 -69
- package/cjs/components/Toggle/Toggle.md +0 -110
- package/cjs/components/Token/Token.md +0 -48
- package/cjs/components/TokenInput/TokenInput.md +0 -277
- package/cjs/components/Tooltip/Tooltip.md +0 -322
- package/cjs/components/TooltipMenu/TooltipMenu.md +0 -241
- package/cjs/internal/DataTids/DATATIDS.md +0 -12
- package/cjs/internal/DataTids/DataTids.d.ts +0 -12
- package/cjs/internal/DataTids/DataTids.js +0 -50
- package/cjs/internal/DataTids/DataTids.js.map +0 -1
- package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
- package/cjs/internal/DataTids/DataTids.styles.js +0 -42
- package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
- package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
- package/cjs/internal/DataTids/componentsDataTids.js +0 -15
- package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
- package/cjs/internal/ThemePlayground/Playground.md +0 -7
- package/cjs/lib/SSRSafe.d.ts +0 -2
- package/cjs/lib/SSRSafe.js +0 -5
- package/cjs/lib/SSRSafe.js.map +0 -1
- package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
- package/cjs/lib/locale/LOCALECONTEXT.md +0 -222
- package/cjs/lib/theming/ThemeContext.md +0 -265
- package/components/Autocomplete/Autocomplete.md +0 -113
- package/components/Button/Button.md +0 -261
- package/components/Calendar/Calendar.md +0 -276
- package/components/Calendar/CalendarDay.md +0 -70
- package/components/Center/Center.md +0 -26
- package/components/Checkbox/Checkbox.md +0 -171
- package/components/ComboBox/ComboBox.md +0 -574
- package/components/CurrencyInput/CurrencyInput.md +0 -39
- package/components/CurrencyLabel/CurrencyLabel.md +0 -29
- package/components/DateInput/DateInput.md +0 -111
- package/components/DatePicker/DatePicker.md +0 -368
- package/components/Dropdown/Dropdown.md +0 -45
- package/components/DropdownMenu/DropdownMenu.md +0 -290
- package/components/FileUploader/FileUploader.md +0 -131
- package/components/FxInput/FxInput.md +0 -31
- package/components/Gapped/Gapped.md +0 -44
- package/components/GlobalLoader/GlobalLoader.md +0 -97
- package/components/Group/Group.md +0 -19
- package/components/Hint/Hint.md +0 -86
- package/components/Input/Input.md +0 -86
- package/components/Kebab/Kebab.md +0 -306
- package/components/Link/Link.md +0 -182
- package/components/Loader/Loader.md +0 -33
- package/components/MaskedInput/MaskedInput.md +0 -114
- package/components/MenuFooter/MenuFooter.md +0 -27
- package/components/MenuHeader/MenuHeader.md +0 -35
- package/components/MenuItem/MenuItem.md +0 -139
- package/components/MenuSeparator/MenuSeparator.md +0 -14
- package/components/MiniModal/MiniModal.md +0 -231
- package/components/Modal/Modal.md +0 -56
- package/components/Paging/Paging.md +0 -57
- package/components/PasswordInput/PasswordInput.md +0 -29
- package/components/Radio/Radio.md +0 -57
- package/components/RadioGroup/RadioGroup.md +0 -44
- package/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
- package/components/ScrollContainer/ScrollContainer.md +0 -224
- package/components/Select/Select.md +0 -113
- package/components/SidePage/SidePage.md +0 -65
- package/components/SingleToast/SingleToast.md +0 -36
- package/components/Spinner/Spinner.md +0 -36
- package/components/Sticky/Sticky.md +0 -28
- package/components/Switcher/Switcher.md +0 -111
- package/components/Tabs/Tab.md +0 -73
- package/components/Tabs/Tabs.md +0 -54
- package/components/Textarea/Textarea.md +0 -58
- package/components/Toast/Toast.md +0 -69
- package/components/Toggle/Toggle.md +0 -110
- package/components/Token/Token.md +0 -48
- package/components/TokenInput/TokenInput.md +0 -277
- package/components/Tooltip/Tooltip.md +0 -322
- package/components/TooltipMenu/TooltipMenu.md +0 -241
- package/internal/DataTids/DATATIDS.md +0 -12
- package/internal/DataTids/DataTids/DataTids.js +0 -69
- package/internal/DataTids/DataTids/DataTids.js.map +0 -1
- package/internal/DataTids/DataTids/package.json +0 -6
- package/internal/DataTids/DataTids.d.ts +0 -12
- package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -20
- package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
- package/internal/DataTids/DataTids.styles/package.json +0 -6
- package/internal/DataTids/DataTids.styles.d.ts +0 -7
- package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -12
- package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
- package/internal/DataTids/componentsDataTids/package.json +0 -6
- package/internal/DataTids/componentsDataTids.d.ts +0 -5
- package/internal/ThemePlayground/Playground.md +0 -7
- 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/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
- package/lib/locale/LOCALECONTEXT.md +0 -222
- package/lib/theming/ThemeContext.md +0 -265
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ReactDOM","globalObject","CancelationError","taskWithDelay","fixClickFocusIE","CommonWrapper","responsiveLayout","rootNode","ReactUIFeatureFlagsContext","getFullReactUIFlagsContext","ComboBoxRequestStatus","reducer","ComboBoxView","DELAY_BEFORE_SHOW_LOADER","LOADER_SHOW_TIME","DefaultState","inputChanged","editing","items","loading","opened","focused","textValue","repeatRequest","undefined","requestStatus","Unknown","size","CustomComboBox","_class","_CustomComboBox","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","requestId","cancelationToken","canOpenPopup","cancelLoaderDelay","focus","opts","props","disabled","withoutOpenDropdown","input","inputLikeText","selectInputText","selectAll","blur","handleBlur","dispatch","action","sync","updateState","effects","nextState","setState","stateAndEffect","_ref","forEach","handleEffect","version","search","flushSync","effect","getState","getProps","handleValueChange","value","type","keepFocus","isMobileLayout","handleFocus","searchOnFocus","handleMobileClose","handleInputBlur","handleClickOutside","e","close","setTimeout","handleInputClick","_inheritsLoose","_proto","prototype","_search","_asyncToGenerator","_regeneratorRuntime","mark","_callee","query","_this2","getItems","cancelPromise","expectingId","wrap","_callee$","_context","prev","next","Promise","_","reject","loaderShowDelay","resolve","cancelLoader","race","sent","t0","code","finish","stop","_x","cancelSearch","open","render","_this3","viewProps","align","borderless","disablePortal","error","drawArrow","menuPos","menuAlign","placeholder","totalCount","showClearIcon","warning","id","width","maxLength","maxMenuHeight","leftIcon","rightIcon","inputMode","onValueChange","onClickOutside","onFocus","onMobileClose","onFocusOutside","onInputBlur","onInputValueChange","onInputFocus","onInputClick","onClearCrossClick","onInputKeyDown","event","persist","onMouseEnter","onMouseOver","onMouseLeave","renderItem","renderNotFound","itemWrapper","renderValue","renderTotalCount","renderAddButton","refInput","refMenu","menu","refInputLikeText","createElement","Consumer","flags","featureFlags","_extends","ref","setRootNode","componentDidMount","autoFocus","componentDidUpdate","prevProps","prevState","fixValueChange","comboBoxAllowValueChangeInEditingState","reset","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["CustomComboBox.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { Nullable } from '../../typings/utility-types';\nimport type { InputIconType, Input, ShowClearIcon } from '../../components/Input';\nimport type { Menu } from '../Menu';\nimport type { InputLikeText } from '../InputLikeText';\nimport type { MenuItemState } from '../../components/MenuItem';\nimport { CancelationError, taskWithDelay } from '../../lib/utils';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport type { CommonProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport type { ComboBoxExtendedItem } from '../../components/ComboBox';\nimport type { SizeProp } from '../../lib/types/props';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { ReactUIFeatureFlagsContext, getFullReactUIFlagsContext } from '../../lib/featureFlagsContext';\n\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport type { CustomComboBoxAction, CustomComboBoxEffect } from './CustomComboBoxReducer';\nimport { reducer } from './CustomComboBoxReducer';\nimport { ComboBoxView } from './ComboBoxView';\n\nexport * from './tids';\n\nexport interface CustomComboBoxProps<T>\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n align?: 'left' | 'center' | 'right';\n autoFocus?: boolean;\n borderless?: boolean;\n disablePortal?: boolean;\n disabled?: boolean;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n maxLength?: number;\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n menuAlign?: 'left' | 'right';\n drawArrow?: boolean;\n leftIcon?: InputIconType;\n rightIcon?: InputIconType;\n searchOnFocus?: boolean;\n onValueChange?: (value: T) => void;\n onInputValueChange?: (value: string) => Nullable<string> | void;\n onUnexpectedInput?: (value: string) => void | null | T;\n onFocus?: () => void;\n onBlur?: () => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n placeholder?: string;\n size?: SizeProp;\n totalCount?: number;\n value?: Nullable<T>;\n showClearIcon?: ShowClearIcon;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: string | number;\n maxMenuHeight?: number | string;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderItem: (item: T, state?: MenuItemState) => React.ReactNode;\n itemWrapper?: (item: T) => React.ComponentType;\n renderValue: (value: T) => React.ReactNode;\n renderAddButton?: (query?: string) => React.ReactNode;\n valueToString: (value: T) => string;\n itemToValue: (item: T) => string | number;\n getItems: (query: string) => Promise<Array<ComboBoxExtendedItem<T>>>;\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n}\n\nexport interface CustomComboBoxState<T> {\n editing: boolean;\n loading: boolean;\n opened: boolean;\n textValue: string;\n items: Nullable<Array<ComboBoxExtendedItem<T>>>;\n inputChanged: boolean;\n focused: boolean;\n repeatRequest: () => void;\n requestStatus: ComboBoxRequestStatus;\n}\n\nexport const DELAY_BEFORE_SHOW_LOADER = 300;\nexport const LOADER_SHOW_TIME = 1000;\n\nexport const DefaultState = {\n inputChanged: false,\n editing: false,\n items: null,\n loading: false,\n opened: false,\n focused: false,\n textValue: '',\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n size: 'small',\n};\n\n@responsiveLayout\n@rootNode\nexport class CustomComboBox<T> extends React.PureComponent<CustomComboBoxProps<T>, CustomComboBoxState<T>> {\n public static __KONTUR_REACT_UI__ = 'CustomComboBox';\n public static displayName = 'CustomComboBox';\n\n public state: CustomComboBoxState<T> = DefaultState;\n public input: Nullable<Input>;\n public menu: Nullable<Menu>;\n public inputLikeText: Nullable<InputLikeText>;\n public requestId = 0;\n public loaderShowDelay: Nullable<Promise<void>>;\n private focused = false;\n private cancelationToken: Nullable<(reason?: Error) => void> = null;\n private isMobileLayout!: boolean;\n private featureFlags!: ReactUIFeatureFlags;\n private canOpenPopup = true;\n\n private reducer = reducer;\n public cancelLoaderDelay: () => void = () => null;\n\n /**\n * @public\n */\n public focus = (opts?: { withoutOpenDropdown?: boolean }) => {\n if (this.props.disabled) {\n return;\n }\n\n if (opts?.withoutOpenDropdown) {\n this.canOpenPopup = false;\n }\n\n if (this.input) {\n this.input.focus();\n } else if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n };\n\n /**\n * @public\n */\n public selectInputText = () => {\n if (this.props.disabled) {\n return;\n }\n if (this.input) {\n this.input.selectAll();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.handleBlur();\n };\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public async search(query: string = this.state.textValue) {\n const { getItems } = this.props;\n\n const cancelPromise: Promise<never> = new Promise((_, reject) => (this.cancelationToken = reject));\n this.requestId += 1;\n const expectingId = this.requestId;\n\n if (!this.loaderShowDelay) {\n this.loaderShowDelay = new Promise<void>((resolve) => {\n const cancelLoader = taskWithDelay(() => {\n this.dispatch({ type: 'RequestItems' });\n globalObject.setTimeout(resolve, LOADER_SHOW_TIME);\n }, DELAY_BEFORE_SHOW_LOADER);\n\n cancelPromise.catch(() => cancelLoader());\n\n this.cancelLoaderDelay = () => {\n cancelLoader();\n resolve();\n };\n });\n }\n\n try {\n const items = await Promise.race([getItems(query), cancelPromise]);\n if (this.state.loading) {\n await Promise.race([this.loaderShowDelay, cancelPromise]);\n }\n if (expectingId === this.requestId) {\n this.dispatch({\n type: 'ReceiveItems',\n items,\n });\n }\n } catch (error) {\n if (error && error.code === 'CancelationError') {\n this.dispatch({ type: 'CancelRequest' });\n } else if (expectingId === this.requestId) {\n this.dispatch({\n type: 'RequestFailure',\n repeatRequest: () => {\n this.search(query);\n if (this.input) {\n this.input.focus();\n }\n },\n });\n }\n } finally {\n if (expectingId === this.requestId) {\n if (!this.state.loading) {\n this.cancelLoaderDelay();\n }\n this.cancelationToken = null;\n this.loaderShowDelay = null;\n }\n }\n }\n\n /**\n * @public\n */\n public cancelSearch() {\n if (this.cancelationToken) {\n this.cancelationToken(new CancelationError());\n }\n }\n\n /**\n * @public\n */\n public open() {\n this.dispatch({ type: 'Open' });\n }\n\n /**\n * @public\n */\n public close() {\n this.dispatch({ type: 'Close' });\n }\n\n public render() {\n const viewProps = {\n align: this.props.align,\n borderless: this.props.borderless,\n disabled: this.props.disabled,\n disablePortal: this.props.disablePortal,\n editing: this.state.editing,\n error: this.props.error,\n items: this.state.items,\n loading: this.state.loading,\n opened: this.state.opened,\n drawArrow: this.props.drawArrow,\n menuPos: this.props.menuPos,\n menuAlign: this.props.menuAlign,\n placeholder: this.props.placeholder,\n size: this.props.size,\n textValue: this.state.textValue,\n totalCount: this.props.totalCount,\n value: this.props.value,\n showClearIcon: this.props.showClearIcon,\n warning: this.props.warning,\n 'aria-describedby': this.props['aria-describedby'],\n 'aria-label': this.props['aria-label'],\n id: this.props.id,\n width: this.props.width,\n maxLength: this.props.maxLength,\n maxMenuHeight: this.props.maxMenuHeight,\n leftIcon: this.props.leftIcon,\n rightIcon: this.props.rightIcon,\n inputMode: this.props.inputMode,\n\n onValueChange: this.handleValueChange,\n onClickOutside: this.handleClickOutside,\n onFocus: this.handleFocus,\n onMobileClose: this.handleMobileClose,\n onFocusOutside: this.handleBlur,\n onInputBlur: this.handleInputBlur,\n onInputValueChange: (value: string) => this.dispatch({ type: 'TextChange', value }),\n onInputFocus: this.handleFocus,\n onInputClick: this.handleInputClick,\n onClearCrossClick: () => this.dispatch({ type: 'ClearCrossClick' }),\n onInputKeyDown: (event: React.KeyboardEvent) => {\n event.persist();\n this.dispatch({ type: 'KeyPress', event });\n },\n onMouseEnter: this.props.onMouseEnter,\n onMouseOver: this.props.onMouseOver,\n onMouseLeave: this.props.onMouseLeave,\n renderItem: this.props.renderItem,\n renderNotFound: this.props.renderNotFound,\n itemWrapper: this.props.itemWrapper,\n renderValue: this.props.renderValue,\n renderTotalCount: this.props.renderTotalCount,\n renderAddButton: this.props.renderAddButton,\n repeatRequest: this.state.repeatRequest,\n requestStatus: this.state.requestStatus,\n\n refInput: (input: Nullable<Input>) => {\n this.input = input;\n },\n refMenu: (menu: Nullable<Menu>) => {\n this.menu = menu;\n },\n refInputLikeText: (inputLikeText: Nullable<InputLikeText>) => {\n this.inputLikeText = inputLikeText;\n },\n };\n\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <CommonWrapper {...this.props}>\n <ComboBoxView {...viewProps} size={this.props.size} ref={this.setRootNode} />\n </CommonWrapper>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n public componentDidMount() {\n this.dispatch({ type: 'Mount' }, false);\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate(prevProps: CustomComboBoxProps<T>, prevState: CustomComboBoxState<T>) {\n if (prevState.editing && !this.state.editing) {\n this.handleBlur();\n }\n this.dispatch(\n {\n type: 'DidUpdate',\n prevProps,\n prevState,\n fixValueChange: this.featureFlags.comboBoxAllowValueChangeInEditingState,\n },\n false,\n );\n }\n\n /**\n * @public\n */\n public reset() {\n this.dispatch({ type: 'Reset' });\n }\n\n private dispatch = (action: CustomComboBoxAction<T>, sync = true) => {\n const updateState = (action: CustomComboBoxAction<T>) => {\n let effects: Array<CustomComboBoxEffect<T>>;\n let nextState: Pick<CustomComboBoxState<T>, never>;\n\n this.setState(\n (state) => {\n const stateAndEffect = this.reducer(state, this.props, action);\n [nextState, effects] = stateAndEffect instanceof Array ? stateAndEffect : [stateAndEffect, []];\n return nextState;\n },\n () => {\n effects.forEach(this.handleEffect);\n },\n );\n };\n\n // Auto-batching React@18 creates problems that are fixed with flushSync\n // https://github.com/skbkontur/retail-ui/pull/3144#issuecomment-1535235366\n if (sync && React.version.search('18') === 0) {\n ReactDOM.flushSync(() => updateState(action));\n } else {\n updateState(action);\n }\n };\n\n private handleEffect = (effect: CustomComboBoxEffect<T>) => {\n effect(this.dispatch, this.getState, this.getProps, () => this);\n };\n\n private getProps = () => this.props;\n\n private getState = () => this.state;\n\n private handleValueChange = (value: T) => {\n this.dispatch({\n type: 'ValueChange',\n value,\n keepFocus: !this.isMobileLayout,\n });\n };\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n\n this.focused = true;\n this.dispatch({ type: 'Focus', searchOnFocus: this.canOpenPopup && this.props.searchOnFocus });\n\n if (!this.canOpenPopup) {\n this.canOpenPopup = true;\n }\n };\n\n private handleMobileClose = () => {\n this.handleInputBlur();\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n if (this.state.opened) {\n this.close();\n }\n return;\n }\n\n this.focused = false;\n // workaround for the similar bug with focusout\n // in Firefox, Chrome and IE\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1363964\n globalObject.setTimeout(() => {\n this.dispatch({ type: 'Blur' });\n }, 0);\n };\n\n private handleInputBlur = () => {\n // If menu opened, RenderLayer is active and\n // it would call handleFocusOutside\n // In that way handleBlur would be called\n\n if (this.state.opened && !this.isMobileLayout) {\n return;\n }\n this.handleBlur();\n };\n\n private handleInputClick = () => {\n if (!this.cancelationToken) {\n this.dispatch({ type: 'InputClick' });\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","ReactDOM","globalObject","CancelationError","taskWithDelay","fixClickFocusIE","CommonWrapper","responsiveLayout","rootNode","ReactUIFeatureFlagsContext","getFullReactUIFlagsContext","ComboBoxRequestStatus","reducer","ComboBoxView","DELAY_BEFORE_SHOW_LOADER","LOADER_SHOW_TIME","DefaultState","inputChanged","editing","items","loading","opened","focused","textValue","repeatRequest","undefined","requestStatus","Unknown","size","CustomComboBox","_class","_CustomComboBox","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","requestId","cancelationToken","canOpenPopup","cancelLoaderDelay","focus","opts","props","disabled","withoutOpenDropdown","input","inputLikeText","selectInputText","selectAll","blur","handleBlur","changeValue","value","dispatch","type","keepFocus","isMobileLayout","action","sync","updateState","effects","nextState","setState","stateAndEffect","_ref","forEach","handleEffect","version","search","flushSync","effect","getState","getProps","handleFocus","searchOnFocus","handleMobileClose","handleInputBlur","handleClickOutside","e","close","setTimeout","handleInputClick","_inheritsLoose","_proto","prototype","_search","_asyncToGenerator","_regeneratorRuntime","mark","_callee","query","_this2","getItems","cancelPromise","expectingId","wrap","_callee$","_context","prev","next","Promise","_","reject","loaderShowDelay","resolve","cancelLoader","race","sent","t0","code","finish","stop","_x","cancelSearch","open","render","_this3","viewProps","align","borderless","disablePortal","error","drawArrow","menuPos","menuAlign","placeholder","totalCount","showClearIcon","warning","id","width","maxLength","maxMenuHeight","leftIcon","rightIcon","inputMode","mask","maskChar","formatChars","maskOnBeforePaste","onPaste","onValueChange","onClickOutside","onFocus","onMobileClose","onFocusOutside","onInputBlur","onInputValueChange","onInputFocus","onInputClick","onClearCrossClick","onInputKeyDown","event","persist","onMouseEnter","onMouseOver","onMouseLeave","renderItem","renderNotFound","itemWrapper","renderValue","renderTotalCount","renderAddButton","refInput","refMenu","menu","refInputLikeText","createElement","Consumer","flags","featureFlags","_extends","ref","setRootNode","componentDidMount","autoFocus","componentDidUpdate","prevProps","prevState","fixValueChange","comboBoxAllowValueChangeInEditingState","reset","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["CustomComboBox.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { Nullable } from '../../typings/utility-types';\nimport type { InputIconType, Input, ShowClearIcon } from '../../components/Input';\nimport type { Menu } from '../Menu';\nimport type { InputLikeText } from '../InputLikeText';\nimport type { MenuItemState } from '../../components/MenuItem';\nimport { CancelationError, taskWithDelay } from '../../lib/utils';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport type { CommonProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport type { ComboBoxExtendedItem } from '../../components/ComboBox';\nimport type { SizeProp } from '../../lib/types/props';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { ReactUIFeatureFlagsContext, getFullReactUIFlagsContext } from '../../lib/featureFlagsContext';\nimport type { MaskedInputOnBeforePasteValue, MaskedInputProps } from '../../components/MaskedInput';\n\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport type { CustomComboBoxAction, CustomComboBoxEffect } from './CustomComboBoxReducer';\nimport { reducer } from './CustomComboBoxReducer';\nimport { ComboBoxView } from './ComboBoxView';\n\nexport * from './tids';\n\nexport interface CustomComboBoxProps<T>\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Pick<HTMLAttributes<HTMLInputElement>, 'onPaste'>,\n CommonProps,\n Partial<Pick<MaskedInputProps, 'mask' | 'maskChar' | 'formatChars'>> {\n align?: 'left' | 'center' | 'right';\n autoFocus?: boolean;\n borderless?: boolean;\n disablePortal?: boolean;\n disabled?: boolean;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n maxLength?: number;\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n menuAlign?: 'left' | 'right';\n drawArrow?: boolean;\n leftIcon?: InputIconType;\n rightIcon?: InputIconType;\n searchOnFocus?: boolean;\n onValueChange?: (value: T) => void;\n onInputValueChange?: (value: string) => Nullable<string> | void;\n onUnexpectedInput?: (value: string) => void | null | T;\n onFocus?: () => void;\n onBlur?: () => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n placeholder?: string;\n size?: SizeProp;\n totalCount?: number;\n value?: Nullable<T>;\n showClearIcon?: ShowClearIcon;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: string | number;\n maxMenuHeight?: number | string;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderItem: (item: T, state?: MenuItemState) => React.ReactNode;\n itemWrapper?: (item: T) => React.ComponentType;\n renderValue: (value: T) => React.ReactNode;\n renderAddButton?: (query?: string) => React.ReactNode;\n valueToString: (value: T) => string;\n itemToValue: (item: T) => string | number;\n getItems: (query: string) => Promise<Array<ComboBoxExtendedItem<T>>>;\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n maskOnBeforePaste?: MaskedInputOnBeforePasteValue;\n}\n\nexport interface CustomComboBoxState<T> {\n editing: boolean;\n loading: boolean;\n opened: boolean;\n textValue: string;\n items: Nullable<Array<ComboBoxExtendedItem<T>>>;\n inputChanged: boolean;\n focused: boolean;\n repeatRequest: () => void;\n requestStatus: ComboBoxRequestStatus;\n}\n\nexport const DELAY_BEFORE_SHOW_LOADER = 300;\nexport const LOADER_SHOW_TIME = 1000;\n\nexport const DefaultState = {\n inputChanged: false,\n editing: false,\n items: null,\n loading: false,\n opened: false,\n focused: false,\n textValue: '',\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n size: 'small',\n};\n\n@responsiveLayout\n@rootNode\nexport class CustomComboBox<T> extends React.PureComponent<CustomComboBoxProps<T>, CustomComboBoxState<T>> {\n public static __KONTUR_REACT_UI__ = 'CustomComboBox';\n public static displayName = 'CustomComboBox';\n\n public state: CustomComboBoxState<T> = DefaultState;\n public input: Nullable<Input>;\n public menu: Nullable<Menu>;\n public inputLikeText: Nullable<InputLikeText>;\n public requestId = 0;\n public loaderShowDelay: Nullable<Promise<void>>;\n private focused = false;\n private cancelationToken: Nullable<(reason?: Error) => void> = null;\n private isMobileLayout!: boolean;\n private featureFlags!: ReactUIFeatureFlags;\n private canOpenPopup = true;\n\n private reducer = reducer;\n public cancelLoaderDelay: () => void = () => null;\n\n /**\n * @public\n */\n public focus = (opts?: { withoutOpenDropdown?: boolean }) => {\n if (this.props.disabled) {\n return;\n }\n\n if (opts?.withoutOpenDropdown) {\n this.canOpenPopup = false;\n }\n\n if (this.input) {\n this.input.focus();\n } else if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n };\n\n /**\n * @public\n */\n public selectInputText = () => {\n if (this.props.disabled) {\n return;\n }\n if (this.input) {\n this.input.selectAll();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.handleBlur();\n };\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public async search(query: string = this.state.textValue) {\n const { getItems } = this.props;\n\n const cancelPromise: Promise<never> = new Promise((_, reject) => (this.cancelationToken = reject));\n this.requestId += 1;\n const expectingId = this.requestId;\n\n if (!this.loaderShowDelay) {\n this.loaderShowDelay = new Promise<void>((resolve) => {\n const cancelLoader = taskWithDelay(() => {\n this.dispatch({ type: 'RequestItems' });\n globalObject.setTimeout(resolve, LOADER_SHOW_TIME);\n }, DELAY_BEFORE_SHOW_LOADER);\n\n cancelPromise.catch(() => cancelLoader());\n\n this.cancelLoaderDelay = () => {\n cancelLoader();\n resolve();\n };\n });\n }\n\n try {\n const items = await Promise.race([getItems(query), cancelPromise]);\n if (this.state.loading) {\n await Promise.race([this.loaderShowDelay, cancelPromise]);\n }\n if (expectingId === this.requestId) {\n this.dispatch({\n type: 'ReceiveItems',\n items,\n });\n }\n } catch (error) {\n if (error && error.code === 'CancelationError') {\n this.dispatch({ type: 'CancelRequest' });\n } else if (expectingId === this.requestId) {\n this.dispatch({\n type: 'RequestFailure',\n repeatRequest: () => {\n this.search(query);\n if (this.input) {\n this.input.focus();\n }\n },\n });\n }\n } finally {\n if (expectingId === this.requestId) {\n if (!this.state.loading) {\n this.cancelLoaderDelay();\n }\n this.cancelationToken = null;\n this.loaderShowDelay = null;\n }\n }\n }\n\n /**\n * @public\n */\n public cancelSearch() {\n if (this.cancelationToken) {\n this.cancelationToken(new CancelationError());\n }\n }\n\n /**\n * @public\n */\n public open() {\n this.dispatch({ type: 'Open' });\n }\n\n /**\n * @public\n */\n public close() {\n this.dispatch({ type: 'Close' });\n }\n\n public render() {\n const viewProps = {\n align: this.props.align,\n borderless: this.props.borderless,\n disabled: this.props.disabled,\n disablePortal: this.props.disablePortal,\n editing: this.state.editing,\n error: this.props.error,\n items: this.state.items,\n loading: this.state.loading,\n opened: this.state.opened,\n drawArrow: this.props.drawArrow,\n menuPos: this.props.menuPos,\n menuAlign: this.props.menuAlign,\n placeholder: this.props.placeholder,\n size: this.props.size,\n textValue: this.state.textValue,\n totalCount: this.props.totalCount,\n value: this.props.value,\n showClearIcon: this.props.showClearIcon,\n warning: this.props.warning,\n 'aria-describedby': this.props['aria-describedby'],\n 'aria-label': this.props['aria-label'],\n id: this.props.id,\n width: this.props.width,\n maxLength: this.props.maxLength,\n maxMenuHeight: this.props.maxMenuHeight,\n leftIcon: this.props.leftIcon,\n rightIcon: this.props.rightIcon,\n inputMode: this.props.inputMode,\n mask: this.props.mask,\n maskChar: this.props.maskChar,\n formatChars: this.props.formatChars,\n maskOnBeforePaste: this.props.maskOnBeforePaste,\n onPaste: this.props.onPaste,\n\n onValueChange: this.changeValue,\n onClickOutside: this.handleClickOutside,\n onFocus: this.handleFocus,\n onMobileClose: this.handleMobileClose,\n onFocusOutside: this.handleBlur,\n onInputBlur: this.handleInputBlur,\n onInputValueChange: (value: string) => this.dispatch({ type: 'TextChange', value }),\n onInputFocus: this.handleFocus,\n onInputClick: this.handleInputClick,\n onClearCrossClick: () => this.dispatch({ type: 'ClearCrossClick' }),\n onInputKeyDown: (event: React.KeyboardEvent) => {\n event.persist();\n this.dispatch({ type: 'KeyPress', event });\n },\n onMouseEnter: this.props.onMouseEnter,\n onMouseOver: this.props.onMouseOver,\n onMouseLeave: this.props.onMouseLeave,\n renderItem: this.props.renderItem,\n renderNotFound: this.props.renderNotFound,\n itemWrapper: this.props.itemWrapper,\n renderValue: this.props.renderValue,\n renderTotalCount: this.props.renderTotalCount,\n renderAddButton: this.props.renderAddButton,\n repeatRequest: this.state.repeatRequest,\n requestStatus: this.state.requestStatus,\n\n refInput: (input: Nullable<Input>) => {\n this.input = input;\n },\n refMenu: (menu: Nullable<Menu>) => {\n this.menu = menu;\n },\n refInputLikeText: (inputLikeText: Nullable<InputLikeText>) => {\n this.inputLikeText = inputLikeText;\n },\n };\n\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <CommonWrapper {...this.props}>\n <ComboBoxView {...viewProps} size={this.props.size} ref={this.setRootNode} />\n </CommonWrapper>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n public componentDidMount() {\n this.dispatch({ type: 'Mount' }, false);\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate(prevProps: CustomComboBoxProps<T>, prevState: CustomComboBoxState<T>) {\n if (prevState.editing && !this.state.editing) {\n this.handleBlur();\n }\n this.dispatch(\n {\n type: 'DidUpdate',\n prevProps,\n prevState,\n fixValueChange: this.featureFlags.comboBoxAllowValueChangeInEditingState,\n },\n false,\n );\n }\n\n /**\n * @public\n */\n public reset() {\n this.dispatch({ type: 'Reset' });\n }\n\n /**\n * @public\n */\n public changeValue = (value: T) => {\n this.dispatch({\n type: 'ValueChange',\n value,\n keepFocus: !this.isMobileLayout,\n });\n };\n\n private dispatch = (action: CustomComboBoxAction<T>, sync = true) => {\n const updateState = (action: CustomComboBoxAction<T>) => {\n let effects: Array<CustomComboBoxEffect<T>>;\n let nextState: Pick<CustomComboBoxState<T>, never>;\n\n this.setState(\n (state) => {\n const stateAndEffect = this.reducer(state, this.props, action);\n [nextState, effects] = stateAndEffect instanceof Array ? stateAndEffect : [stateAndEffect, []];\n return nextState;\n },\n () => {\n effects.forEach(this.handleEffect);\n },\n );\n };\n\n // Auto-batching React@18 creates problems that are fixed with flushSync\n // https://github.com/skbkontur/retail-ui/pull/3144#issuecomment-1535235366\n if (sync && React.version.search('18') === 0) {\n ReactDOM.flushSync(() => updateState(action));\n } else {\n updateState(action);\n }\n };\n\n private handleEffect = (effect: CustomComboBoxEffect<T>) => {\n effect(this.dispatch, this.getState, this.getProps, () => this);\n };\n\n private getProps = () => this.props;\n\n private getState = () => this.state;\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n\n this.focused = true;\n this.dispatch({ type: 'Focus', searchOnFocus: this.canOpenPopup && this.props.searchOnFocus });\n\n if (!this.canOpenPopup) {\n this.canOpenPopup = true;\n }\n };\n\n private handleMobileClose = () => {\n this.handleInputBlur();\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n if (this.state.opened) {\n this.close();\n }\n return;\n }\n\n this.focused = false;\n // workaround for the similar bug with focusout\n // in Firefox, Chrome and IE\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1363964\n globalObject.setTimeout(() => {\n this.dispatch({ type: 'Blur' });\n }, 0);\n };\n\n private handleInputBlur = () => {\n // If menu opened, RenderLayer is active and\n // it would call handleFocusOutside\n // In that way handleBlur would be called\n\n if (this.state.opened && !this.isMobileLayout) {\n return;\n }\n this.handleBlur();\n };\n\n private handleInputClick = () => {\n if (!this.cancelationToken) {\n this.dispatch({ type: 'InputClick' });\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,11 +6,13 @@ import type { Menu } from '../Menu';
|
|
|
6
6
|
import type { InputLikeText } from '../InputLikeText';
|
|
7
7
|
import type { MenuItemState } from '../../components/MenuItem';
|
|
8
8
|
import type { CommonProps } from '../CommonWrapper';
|
|
9
|
+
import type { TGetRootNode } from '../../lib/rootNode';
|
|
9
10
|
import type { ComboBoxExtendedItem } from '../../components/ComboBox';
|
|
10
11
|
import type { SizeProp } from '../../lib/types/props';
|
|
12
|
+
import type { MaskedInputOnBeforePasteValue, MaskedInputProps } from '../../components/MaskedInput';
|
|
11
13
|
import { ComboBoxRequestStatus } from './CustomComboBoxTypes';
|
|
12
14
|
export * from './tids';
|
|
13
|
-
export interface CustomComboBoxProps<T> extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>, Pick<HTMLAttributes<HTMLElement>, 'id'>, CommonProps {
|
|
15
|
+
export interface CustomComboBoxProps<T> extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>, Pick<HTMLAttributes<HTMLElement>, 'id'>, Pick<HTMLAttributes<HTMLInputElement>, 'onPaste'>, CommonProps, Partial<Pick<MaskedInputProps, 'mask' | 'maskChar' | 'formatChars'>> {
|
|
14
16
|
align?: 'left' | 'center' | 'right';
|
|
15
17
|
autoFocus?: boolean;
|
|
16
18
|
borderless?: boolean;
|
|
@@ -60,6 +62,7 @@ export interface CustomComboBoxProps<T> extends Pick<AriaAttributes, 'aria-descr
|
|
|
60
62
|
itemToValue: (item: T) => string | number;
|
|
61
63
|
getItems: (query: string) => Promise<Array<ComboBoxExtendedItem<T>>>;
|
|
62
64
|
inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];
|
|
65
|
+
maskOnBeforePaste?: MaskedInputOnBeforePasteValue;
|
|
63
66
|
}
|
|
64
67
|
export interface CustomComboBoxState<T> {
|
|
65
68
|
editing: boolean;
|
|
@@ -116,6 +119,7 @@ export declare class CustomComboBox<T> extends React.PureComponent<CustomComboBo
|
|
|
116
119
|
* @public
|
|
117
120
|
*/
|
|
118
121
|
blur: () => void;
|
|
122
|
+
getRootNode: TGetRootNode;
|
|
119
123
|
private setRootNode;
|
|
120
124
|
/**
|
|
121
125
|
* @public
|
|
@@ -140,11 +144,14 @@ export declare class CustomComboBox<T> extends React.PureComponent<CustomComboBo
|
|
|
140
144
|
* @public
|
|
141
145
|
*/
|
|
142
146
|
reset(): void;
|
|
147
|
+
/**
|
|
148
|
+
* @public
|
|
149
|
+
*/
|
|
150
|
+
changeValue: (value: T) => void;
|
|
143
151
|
private dispatch;
|
|
144
152
|
private handleEffect;
|
|
145
153
|
private getProps;
|
|
146
154
|
private getState;
|
|
147
|
-
private handleValueChange;
|
|
148
155
|
private handleFocus;
|
|
149
156
|
private handleMobileClose;
|
|
150
157
|
private handleClickOutside;
|
|
@@ -2,7 +2,6 @@ import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
|
2
2
|
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
3
3
|
var _dec, _class, _DateSelect;
|
|
4
4
|
import React, { createRef } from 'react';
|
|
5
|
-
import PropTypes from 'prop-types';
|
|
6
5
|
import { responsiveLayout } from "../../../components/ResponsiveLayout/decorator";
|
|
7
6
|
import { getRandomID, isNonNullable } from "../../../lib/utils";
|
|
8
7
|
import { DatePickerLocaleHelper } from "../../../components/DatePicker/locale";
|
|
@@ -160,15 +159,7 @@ export var DateSelect = (_dec = locale('Calendar', DatePickerLocaleHelper), resp
|
|
|
160
159
|
return this.getProps().type === 'year';
|
|
161
160
|
}
|
|
162
161
|
}]);
|
|
163
|
-
}(React.PureComponent), _DateSelect.__KONTUR_REACT_UI__ = 'DateSelect', _DateSelect.displayName = 'DateSelect', _DateSelect.
|
|
164
|
-
disabled: PropTypes.bool,
|
|
165
|
-
type: PropTypes.string,
|
|
166
|
-
value: PropTypes.number.isRequired,
|
|
167
|
-
width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
168
|
-
onValueChange: PropTypes.func,
|
|
169
|
-
minValue: PropTypes.number,
|
|
170
|
-
maxValue: PropTypes.number
|
|
171
|
-
}, _DateSelect.defaultProps = {
|
|
162
|
+
}(React.PureComponent), _DateSelect.__KONTUR_REACT_UI__ = 'DateSelect', _DateSelect.displayName = 'DateSelect', _DateSelect.defaultProps = {
|
|
172
163
|
type: 'year',
|
|
173
164
|
width: 'auto'
|
|
174
165
|
}, _DateSelect)) || _class) || _class);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createRef","PropTypes","responsiveLayout","getRandomID","isNonNullable","DatePickerLocaleHelper","locale","ThemeContext","cx","createPropsGetter","Select","MenuItem","ArrowCollapseCVOpenIcon16Regular","globalClasses","styles","defaultMinMonth","defaultMaxMonth","defaultMinYear","defaultMaxYear","months","range","years","start","end","Array","fill","map","_","index","DateSelectDataTids","caption","menuItem","menu","DATE_SELECT_POSITIONS","DateSelect","_dec","_class","_DateSelect","_React$PureComponent","_this","_len","arguments","length","args","_key","call","apply","concat","getProps","defaultProps","selectRef","menuId","renderButton","params","_this$props","props","value","disabled","width","isInteractiveElement","Tag","rootProps","className","root","theme","style","onClick","undefined","opened","selectChosenAriaLabel","type","selectYearAriaLabel","selectMonthAriaLabel","getItem","createElement","arrow","color","getItems","_this$getProps","onValueChange","options","isYearType","option","isSelected","isOptionDisabled","scrollIntoView","state","key","_this$locale$months","_inheritsLoose","_proto","prototype","render","_this2","Consumer","renderMain","close","_this$selectRef$curre","current","_this$getProps2","btnBorderRadiusSmall","menuItemBorderRadius","use","ref","_renderButton","menuPos","positions","renderValue","items","menuOffset","parseInt","menuPaddingX","menuItemPaddingXSmall","_this$getProps3","minValue","maxValue","_createClass","get","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","bool","string","number","isRequired","oneOfType","func"],"sources":["DateSelect.tsx"],"sourcesContent":["import React, { createRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport type { DatePickerLocale } from '../../components/DatePicker/locale';\nimport { DatePickerLocaleHelper } from '../../components/DatePicker/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { ButtonParams } from '../../components/Select';\nimport { Select } from '../../components/Select';\nimport { MenuItem } from '../../components/MenuItem';\nimport { ArrowCollapseCVOpenIcon16Regular } from '../icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular';\nimport type { PopupPositionsType } from '../../internal/Popup/types';\n\nimport { globalClasses, styles } from './DateSelect.styles';\n\nconst defaultMinMonth = 0;\nconst defaultMaxMonth = 11;\nconst defaultMinYear = 1900;\nconst defaultMaxYear = 2099;\nconst months = range(defaultMinMonth, defaultMaxMonth);\nconst years = range(defaultMinYear, defaultMaxYear);\n\nfunction range(start: number, end: number) {\n return Array(end - start + 1)\n .fill(null)\n .map((_, index) => start + index);\n}\n\nexport interface DateSelectProps {\n disabled?: boolean;\n onValueChange: (value: number) => void;\n type?: 'month' | 'year';\n value: number;\n width?: number | string;\n minValue?: number;\n maxValue?: number;\n}\n\nexport const DateSelectDataTids = {\n caption: 'DateSelect__caption',\n menuItem: 'DateSelect__menuItem',\n menu: 'DateSelect__menu',\n} as const;\n\ntype DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;\n\nconst DATE_SELECT_POSITIONS: PopupPositionsType[] = [\n 'middle left',\n 'middle right',\n 'bottom left',\n 'top left',\n 'bottom right',\n 'top right',\n];\n\n@responsiveLayout\n@locale('Calendar', DatePickerLocaleHelper)\nexport class DateSelect extends React.PureComponent<DateSelectProps> {\n public static __KONTUR_REACT_UI__ = 'DateSelect';\n public static displayName = 'DateSelect';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n\n type: PropTypes.string,\n\n value: PropTypes.number.isRequired,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onValueChange: PropTypes.func,\n\n minValue: PropTypes.number,\n\n maxValue: PropTypes.number,\n };\n\n public static defaultProps: DefaultProps = {\n type: 'year',\n width: 'auto',\n };\n\n private getProps = createPropsGetter(DateSelect.defaultProps);\n\n private get isYearType() {\n return this.getProps().type === 'year';\n }\n\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private readonly selectRef = createRef<Select<number, number>>();\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private menuId = DateSelectDataTids.menu + getRandomID();\n\n private renderButton = (params: ButtonParams) => {\n const { value, disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: cx(styles.root(this.theme), disabled && styles.disabled()),\n style: { width },\n onClick: disabled ? undefined : params.onClick,\n 'aria-expanded': isInteractiveElement ? params.opened : undefined,\n 'aria-controls': !disabled ? this.menuId : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(value)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(value)}\n </div>\n {isInteractiveElement && (\n <ArrowCollapseCVOpenIcon16Regular className={cx(globalClasses.arrow)} color=\"#ADADAD\" />\n )}\n </Tag>\n );\n };\n\n public close() {\n this.selectRef.current?.close();\n }\n\n private renderMain() {\n const { value, disabled, onValueChange } = this.getProps();\n const theme = {\n btnBorderRadiusSmall: this.theme.menuItemBorderRadius,\n };\n\n return (\n <Select\n use=\"text\"\n value={value}\n ref={this.selectRef}\n theme={theme}\n disabled={disabled}\n _renderButton={this.renderButton}\n menuPos=\"middle\"\n positions={DATE_SELECT_POSITIONS}\n renderValue={this.getItem}\n items={this.getItems()}\n menuOffset={parseInt(this.theme.menuPaddingX) + parseInt(this.theme.menuItemPaddingXSmall)}\n onValueChange={onValueChange}\n aria-label={`${this.locale.selectChosenAriaLabel} ${\n this.isYearType ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(value)}`}\n />\n );\n }\n\n private isOptionDisabled(option: number) {\n const { minValue, maxValue } = this.getProps();\n\n if (isNonNullable(maxValue) && isNonNullable(minValue)) {\n return option > maxValue || option < minValue;\n }\n\n if (isNonNullable(minValue)) {\n return option < minValue;\n }\n\n if (isNonNullable(maxValue)) {\n return option > maxValue;\n }\n }\n\n private getItems = () => {\n const { value, onValueChange } = this.getProps();\n const options = this.isYearType ? years : months;\n\n return options.map((option) => {\n const isSelected = option === value;\n const isOptionDisabled = this.isOptionDisabled(option);\n\n return (\n <MenuItem\n scrollIntoView={isSelected}\n disabled={isOptionDisabled}\n state={isSelected ? 'selected' : null}\n onClick={() => onValueChange(option)}\n aria-label={`Выбрать ${this.isYearType ? 'год' : 'месяц'} ${this.getItem(option)}`}\n data-tid={DateSelectDataTids.menuItem}\n data-prop-disabled={isOptionDisabled}\n key={option}\n >\n {this.getItem(option)}\n </MenuItem>\n );\n });\n };\n\n private getItem = (value: number) => {\n if (this.isYearType) {\n return value;\n }\n\n return this.locale.months?.[value];\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","createRef","responsiveLayout","getRandomID","isNonNullable","DatePickerLocaleHelper","locale","ThemeContext","cx","createPropsGetter","Select","MenuItem","ArrowCollapseCVOpenIcon16Regular","globalClasses","styles","defaultMinMonth","defaultMaxMonth","defaultMinYear","defaultMaxYear","months","range","years","start","end","Array","fill","map","_","index","DateSelectDataTids","caption","menuItem","menu","DATE_SELECT_POSITIONS","DateSelect","_dec","_class","_DateSelect","_React$PureComponent","_this","_len","arguments","length","args","_key","call","apply","concat","getProps","defaultProps","selectRef","menuId","renderButton","params","_this$props","props","value","disabled","width","isInteractiveElement","Tag","rootProps","className","root","theme","style","onClick","undefined","opened","selectChosenAriaLabel","type","selectYearAriaLabel","selectMonthAriaLabel","getItem","createElement","arrow","color","getItems","_this$getProps","onValueChange","options","isYearType","option","isSelected","isOptionDisabled","scrollIntoView","state","key","_this$locale$months","_inheritsLoose","_proto","prototype","render","_this2","Consumer","renderMain","close","_this$selectRef$curre","current","_this$getProps2","btnBorderRadiusSmall","menuItemBorderRadius","use","ref","_renderButton","menuPos","positions","renderValue","items","menuOffset","parseInt","menuPaddingX","menuItemPaddingXSmall","_this$getProps3","minValue","maxValue","_createClass","get","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["DateSelect.tsx"],"sourcesContent":["import React, { createRef } from 'react';\n\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport type { DatePickerLocale } from '../../components/DatePicker/locale';\nimport { DatePickerLocaleHelper } from '../../components/DatePicker/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { ButtonParams } from '../../components/Select';\nimport { Select } from '../../components/Select';\nimport { MenuItem } from '../../components/MenuItem';\nimport { ArrowCollapseCVOpenIcon16Regular } from '../icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular';\nimport type { PopupPositionsType } from '../../internal/Popup/types';\n\nimport { globalClasses, styles } from './DateSelect.styles';\n\nconst defaultMinMonth = 0;\nconst defaultMaxMonth = 11;\nconst defaultMinYear = 1900;\nconst defaultMaxYear = 2099;\nconst months = range(defaultMinMonth, defaultMaxMonth);\nconst years = range(defaultMinYear, defaultMaxYear);\n\nfunction range(start: number, end: number) {\n return Array(end - start + 1)\n .fill(null)\n .map((_, index) => start + index);\n}\n\nexport interface DateSelectProps {\n disabled?: boolean;\n onValueChange: (value: number) => void;\n type?: 'month' | 'year';\n value: number;\n width?: number | string;\n minValue?: number;\n maxValue?: number;\n}\n\nexport const DateSelectDataTids = {\n caption: 'DateSelect__caption',\n menuItem: 'DateSelect__menuItem',\n menu: 'DateSelect__menu',\n} as const;\n\ntype DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;\n\nconst DATE_SELECT_POSITIONS: PopupPositionsType[] = [\n 'middle left',\n 'middle right',\n 'bottom left',\n 'top left',\n 'bottom right',\n 'top right',\n];\n\n@responsiveLayout\n@locale('Calendar', DatePickerLocaleHelper)\nexport class DateSelect extends React.PureComponent<DateSelectProps> {\n public static __KONTUR_REACT_UI__ = 'DateSelect';\n public static displayName = 'DateSelect';\n\n public static defaultProps: DefaultProps = {\n type: 'year',\n width: 'auto',\n };\n\n private getProps = createPropsGetter(DateSelect.defaultProps);\n\n private get isYearType() {\n return this.getProps().type === 'year';\n }\n\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private readonly selectRef = createRef<Select<number, number>>();\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private menuId = DateSelectDataTids.menu + getRandomID();\n\n private renderButton = (params: ButtonParams) => {\n const { value, disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: cx(styles.root(this.theme), disabled && styles.disabled()),\n style: { width },\n onClick: disabled ? undefined : params.onClick,\n 'aria-expanded': isInteractiveElement ? params.opened : undefined,\n 'aria-controls': !disabled ? this.menuId : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(value)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(value)}\n </div>\n {isInteractiveElement && (\n <ArrowCollapseCVOpenIcon16Regular className={cx(globalClasses.arrow)} color=\"#ADADAD\" />\n )}\n </Tag>\n );\n };\n\n public close() {\n this.selectRef.current?.close();\n }\n\n private renderMain() {\n const { value, disabled, onValueChange } = this.getProps();\n const theme = {\n btnBorderRadiusSmall: this.theme.menuItemBorderRadius,\n };\n\n return (\n <Select\n use=\"text\"\n value={value}\n ref={this.selectRef}\n theme={theme}\n disabled={disabled}\n _renderButton={this.renderButton}\n menuPos=\"middle\"\n positions={DATE_SELECT_POSITIONS}\n renderValue={this.getItem}\n items={this.getItems()}\n menuOffset={parseInt(this.theme.menuPaddingX) + parseInt(this.theme.menuItemPaddingXSmall)}\n onValueChange={onValueChange}\n aria-label={`${this.locale.selectChosenAriaLabel} ${\n this.isYearType ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(value)}`}\n />\n );\n }\n\n private isOptionDisabled(option: number) {\n const { minValue, maxValue } = this.getProps();\n\n if (isNonNullable(maxValue) && isNonNullable(minValue)) {\n return option > maxValue || option < minValue;\n }\n\n if (isNonNullable(minValue)) {\n return option < minValue;\n }\n\n if (isNonNullable(maxValue)) {\n return option > maxValue;\n }\n }\n\n private getItems = () => {\n const { value, onValueChange } = this.getProps();\n const options = this.isYearType ? years : months;\n\n return options.map((option) => {\n const isSelected = option === value;\n const isOptionDisabled = this.isOptionDisabled(option);\n\n return (\n <MenuItem\n scrollIntoView={isSelected}\n disabled={isOptionDisabled}\n state={isSelected ? 'selected' : null}\n onClick={() => onValueChange(option)}\n aria-label={`Выбрать ${this.isYearType ? 'год' : 'месяц'} ${this.getItem(option)}`}\n data-tid={DateSelectDataTids.menuItem}\n data-prop-disabled={isOptionDisabled}\n key={option}\n >\n {this.getItem(option)}\n </MenuItem>\n );\n });\n };\n\n private getItem = (value: number) => {\n if (this.isYearType) {\n return value;\n }\n\n return this.locale.months?.[value];\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
2
|
export interface DateSelectProps {
|
|
4
3
|
disabled?: boolean;
|
|
5
4
|
onValueChange: (value: number) => void;
|
|
@@ -18,15 +17,6 @@ type DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;
|
|
|
18
17
|
export declare class DateSelect extends React.PureComponent<DateSelectProps> {
|
|
19
18
|
static __KONTUR_REACT_UI__: string;
|
|
20
19
|
static displayName: string;
|
|
21
|
-
static propTypes: {
|
|
22
|
-
disabled: PropTypes.Requireable<boolean>;
|
|
23
|
-
type: PropTypes.Requireable<string>;
|
|
24
|
-
value: PropTypes.Validator<number>;
|
|
25
|
-
width: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
|
|
26
|
-
onValueChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
27
|
-
minValue: PropTypes.Requireable<number>;
|
|
28
|
-
maxValue: PropTypes.Requireable<number>;
|
|
29
|
-
};
|
|
30
20
|
static defaultProps: DefaultProps;
|
|
31
21
|
private getProps;
|
|
32
22
|
private get isYearType();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","globalObject","CommonWrapper","listen","listenFocusOutside","containsTargetOrRenderContainer","getRootNode","rootNode","isInstanceOf","FocusTrap","_class","_FocusTrap","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","focusOutsideListenerToken","onClickOutside","e","props","onBlur","detachListeners","attachListeners","_globalObject$documen","document","addEventListener","documentElement","handleNativeDocClick","event","target","srcElement","node","Element","_inheritsLoose","_proto","prototype","componentWillUnmount","render","_this2","_this$props","children","createElement","_extends","rootNodeRef","setRootNode","cloneElement","Children","only","onFocus","_children$props","_globalObject$documen2","remove","removeEventListener","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["FocusTrap.tsx"],"sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { listen as listenFocusOutside, containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nexport interface FocusTrapProps extends CommonProps {\n children: React.ReactElement<any>;\n onBlur?: (event: FocusEvent) => void;\n}\n\n@rootNode\nexport class FocusTrap extends React.PureComponent<FocusTrapProps> {\n public static __KONTUR_REACT_UI__ = 'FocusTrap';\n public static displayName = 'FocusTrap';\n\n private setRootNode!: TSetRootNode;\n\n private focusOutsideListenerToken: {\n remove: () => void;\n } | null = null;\n\n public componentWillUnmount() {\n if (this.focusOutsideListenerToken) {\n this.detachListeners();\n }\n }\n\n public render() {\n const { children, onBlur } = this.props;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {React.cloneElement(React.Children.only(children), {\n onFocus: (...args: any[]) => {\n if (onBlur) {\n this.attachListeners();\n }\n if (children.props && children.props.onFocus) {\n children.props.onFocus(...args);\n }\n },\n })}\n </CommonWrapper>\n );\n }\n\n private onClickOutside = (e: Event) => {\n if (this.props.onBlur) {\n this.props.onBlur(e as FocusEvent);\n }\n this.detachListeners();\n };\n\n private attachListeners = () => {\n const rootNode = getRootNode(this);\n if (!this.focusOutsideListenerToken && rootNode) {\n this.focusOutsideListenerToken = listenFocusOutside([rootNode], this.onClickOutside);\n\n globalObject.document?.addEventListener(\n 'ontouchstart' in globalObject.document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n };\n\n private detachListeners() {\n if (this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken.remove();\n this.focusOutsideListenerToken = null;\n\n globalObject.document?.removeEventListener(\n 'ontouchstart' in globalObject.document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n }\n\n private handleNativeDocClick = (event: Event) => {\n const target = event.target || event.srcElement;\n const node = getRootNode(this);\n\n if (node && isInstanceOf(target, globalObject.Element) && containsTargetOrRenderContainer(target)(node)) {\n return;\n }\n\n this.onClickOutside(event);\n };\n}\n"],"mappings":"uJAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,QAAQ,0BAA0B;;;AAGvD,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,MAAM,IAAIC,kBAAkB,EAAEC,+BAA+B,QAAQ,8BAA8B;;AAE5G,SAASC,WAAW,EAAEC,QAAQ,QAAQ,oBAAoB;AAC1D,SAASC,YAAY,QAAQ,wBAAwB;;;;;;;AAOrD;AACaC,SAAS,GADrBF,QAAQ,CAAAG,MAAA,IAAAC,UAAA,0BAAAC,oBAAA,YAAAH,UAAA,OAAAI,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,oBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,oBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA
|
|
1
|
+
{"version":3,"names":["React","globalObject","CommonWrapper","listen","listenFocusOutside","containsTargetOrRenderContainer","getRootNode","rootNode","isInstanceOf","FocusTrap","_class","_FocusTrap","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","focusOutsideListenerToken","onClickOutside","e","props","onBlur","detachListeners","attachListeners","_globalObject$documen","document","addEventListener","documentElement","handleNativeDocClick","event","target","srcElement","node","Element","_inheritsLoose","_proto","prototype","componentWillUnmount","render","_this2","_this$props","children","createElement","_extends","rootNodeRef","setRootNode","cloneElement","Children","only","onFocus","_children$props","_globalObject$documen2","remove","removeEventListener","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["FocusTrap.tsx"],"sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { listen as listenFocusOutside, containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nexport interface FocusTrapProps extends CommonProps {\n children: React.ReactElement<any>;\n onBlur?: (event: FocusEvent) => void;\n}\n\n@rootNode\nexport class FocusTrap extends React.PureComponent<FocusTrapProps> {\n public static __KONTUR_REACT_UI__ = 'FocusTrap';\n public static displayName = 'FocusTrap';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n private focusOutsideListenerToken: {\n remove: () => void;\n } | null = null;\n\n public componentWillUnmount() {\n if (this.focusOutsideListenerToken) {\n this.detachListeners();\n }\n }\n\n public render() {\n const { children, onBlur } = this.props;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {React.cloneElement(React.Children.only(children), {\n onFocus: (...args: any[]) => {\n if (onBlur) {\n this.attachListeners();\n }\n if (children.props && children.props.onFocus) {\n children.props.onFocus(...args);\n }\n },\n })}\n </CommonWrapper>\n );\n }\n\n private onClickOutside = (e: Event) => {\n if (this.props.onBlur) {\n this.props.onBlur(e as FocusEvent);\n }\n this.detachListeners();\n };\n\n private attachListeners = () => {\n const rootNode = getRootNode(this);\n if (!this.focusOutsideListenerToken && rootNode) {\n this.focusOutsideListenerToken = listenFocusOutside([rootNode], this.onClickOutside);\n\n globalObject.document?.addEventListener(\n 'ontouchstart' in globalObject.document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n };\n\n private detachListeners() {\n if (this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken.remove();\n this.focusOutsideListenerToken = null;\n\n globalObject.document?.removeEventListener(\n 'ontouchstart' in globalObject.document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n }\n\n private handleNativeDocClick = (event: Event) => {\n const target = event.target || event.srcElement;\n const node = getRootNode(this);\n\n if (node && isInstanceOf(target, globalObject.Element) && containsTargetOrRenderContainer(target)(node)) {\n return;\n }\n\n this.onClickOutside(event);\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { CommonProps } from '../../internal/CommonWrapper';
|
|
3
|
+
import type { TGetRootNode } from '../../lib/rootNode';
|
|
3
4
|
export interface FocusTrapProps extends CommonProps {
|
|
4
5
|
children: React.ReactElement<any>;
|
|
5
6
|
onBlur?: (event: FocusEvent) => void;
|
|
@@ -7,6 +8,7 @@ export interface FocusTrapProps extends CommonProps {
|
|
|
7
8
|
export declare class FocusTrap extends React.PureComponent<FocusTrapProps> {
|
|
8
9
|
static __KONTUR_REACT_UI__: string;
|
|
9
10
|
static displayName: string;
|
|
11
|
+
getRootNode: TGetRootNode;
|
|
10
12
|
private setRootNode;
|
|
11
13
|
private focusOutsideListenerToken;
|
|
12
14
|
componentWillUnmount(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","globalObject","getRootNode","rootNode","isInstanceOf","CommonWrapper","IgnoreLayerClick","_React$Component","apply","arguments","_inheritsLoose","_proto","prototype","render","child","Children","only","props","children","active","createElement","IgnoreLayerClickWrapper","Component","_class","_IgnoreLayerClickWrapper","_React$Component2","_this","_len","length","args","Array","_key","call","concat","element","handleMouseDown","event","stopPropagation","_proto2","componentDidMount","Element","addEventListener","componentWillUnmount","removeEventListener","_extends","rootNodeRef","setRootNode","__KONTUR_REACT_UI__","displayName"],"sources":["IgnoreLayerClick.tsx"],"sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { CommonWrapper } from '../CommonWrapper';\n\nexport interface IgnoreLayerClickProps {\n children: React.ReactNode;\n active: boolean;\n}\n\nexport class IgnoreLayerClick extends React.Component<IgnoreLayerClickProps> {\n public render() {\n const child = React.Children.only(this.props.children);\n return this.props.active ? <IgnoreLayerClickWrapper>{child}</IgnoreLayerClickWrapper> : child;\n }\n}\n\ninterface WrapperProps {\n children: React.ReactNode;\n}\n\n// NOTE Используется только в команде Контур.Бухгалтерия\n@rootNode\nclass IgnoreLayerClickWrapper extends React.Component<WrapperProps> {\n public static __KONTUR_REACT_UI__ = 'IgnoreLayerClick';\n public static displayName = 'IgnoreLayerClick';\n\n private element: Element | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n const element = getRootNode(this);\n if (isInstanceOf(element, globalObject.Element)) {\n element.addEventListener('mousedown', this.handleMouseDown);\n this.element = element;\n }\n }\n\n public componentWillUnmount() {\n if (this.element) {\n this.element.removeEventListener('mousedown', this.handleMouseDown);\n this.element = null;\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {React.Children.only(this.props.children)}\n </CommonWrapper>\n );\n }\n\n private handleMouseDown = (event: Event) => {\n event.stopPropagation();\n };\n}\n"],"mappings":"qKAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,QAAQ,0BAA0B;;;AAGvD,SAASC,WAAW,EAAEC,QAAQ,QAAQ,oBAAoB;AAC1D,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,aAAa,QAAQ,kBAAkB;;;;;;;AAOhD,WAAaC,gBAAgB,0BAAAC,gBAAA,YAAAD,iBAAA,UAAAC,gBAAA,CAAAC,KAAA,OAAAC,SAAA,WAAAC,cAAA,CAAAJ,gBAAA,EAAAC,gBAAA,MAAAI,MAAA,GAAAL,gBAAA,CAAAM,SAAA,CAAAD,MAAA;EACpBE,MAAM,GAAb,SAAAA,OAAA,EAAgB;IACd,IAAMC,KAAK,GAAGd,KAAK,CAACe,QAAQ,CAACC,IAAI,CAAC,IAAI,CAACC,KAAK,CAACC,QAAQ,CAAC;IACtD,OAAO,IAAI,CAACD,KAAK,CAACE,MAAM,gBAAGnB,KAAA,CAAAoB,aAAA,CAACC,uBAAuB,QAAEP,KAA+B,CAAC,GAAGA,KAAK;EAC/F,CAAC,QAAAR,gBAAA,GAJmCN,KAAK,CAACsB,SAAS;;;;;;;AAWrD;AAAA;AAEMD,uBAAuB,GAD5BlB,QAAQ,CAAAoB,MAAA,IAAAC,wBAAA,0BAAAC,iBAAA,YAAAJ,wBAAA,OAAAK,KAAA,UAAAC,IAAA,GAAAlB,SAAA,CAAAmB,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAH,IAAA,GAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAtB,SAAA,CAAAsB,IAAA,GAAAL,KAAA,GAAAD,iBAAA,CAAAO,IAAA,CAAAxB,KAAA,CAAAiB,iBAAA,SAAAQ,MAAA,CAAAJ,IAAA,WAAAH,KAAA;;;;IAKCQ,OAAO,GAAmB,IAAI,CAAAR,KAAA
|
|
1
|
+
{"version":3,"names":["React","globalObject","getRootNode","rootNode","isInstanceOf","CommonWrapper","IgnoreLayerClick","_React$Component","apply","arguments","_inheritsLoose","_proto","prototype","render","child","Children","only","props","children","active","createElement","IgnoreLayerClickWrapper","Component","_class","_IgnoreLayerClickWrapper","_React$Component2","_this","_len","length","args","Array","_key","call","concat","element","handleMouseDown","event","stopPropagation","_proto2","componentDidMount","Element","addEventListener","componentWillUnmount","removeEventListener","_extends","rootNodeRef","setRootNode","__KONTUR_REACT_UI__","displayName"],"sources":["IgnoreLayerClick.tsx"],"sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { CommonWrapper } from '../CommonWrapper';\n\nexport interface IgnoreLayerClickProps {\n children: React.ReactNode;\n active: boolean;\n}\n\nexport class IgnoreLayerClick extends React.Component<IgnoreLayerClickProps> {\n public render() {\n const child = React.Children.only(this.props.children);\n return this.props.active ? <IgnoreLayerClickWrapper>{child}</IgnoreLayerClickWrapper> : child;\n }\n}\n\ninterface WrapperProps {\n children: React.ReactNode;\n}\n\n// NOTE Используется только в команде Контур.Бухгалтерия\n@rootNode\nclass IgnoreLayerClickWrapper extends React.Component<WrapperProps> {\n public static __KONTUR_REACT_UI__ = 'IgnoreLayerClick';\n public static displayName = 'IgnoreLayerClick';\n\n private element: Element | null = null;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n const element = getRootNode(this);\n if (isInstanceOf(element, globalObject.Element)) {\n element.addEventListener('mousedown', this.handleMouseDown);\n this.element = element;\n }\n }\n\n public componentWillUnmount() {\n if (this.element) {\n this.element.removeEventListener('mousedown', this.handleMouseDown);\n this.element = null;\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {React.Children.only(this.props.children)}\n </CommonWrapper>\n );\n }\n\n private handleMouseDown = (event: Event) => {\n event.stopPropagation();\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ReactDOM","debounce","globalObject","isNonNullable","isKeyTab","isShortcutPaste","MouseDrag","isEdge","isIE11","isMobile","removeAllSelections","selectNodeContents","calculateClearCrossShowedState","InputDataTids","styles","jsInputStyles","ThemeContext","CommonWrapper","cx","findRenderContainer","rootNode","createPropsGetter","InputLayoutAside","InputLayoutContext","InputLayoutContextDefault","isInstanceOf","FocusControlWrapper","ClearCrossIcon","HiddenInput","InputLikeTextDataTids","root","input","nativeInput","InputLikeText","_class","_InputLikeText","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","getClearCrossShowed","_ref","focused","hovered","props","disabled","showClearIcon","notEmptyValue","Boolean","children","state","blinking","clearCrossShowed","node","hiddenInput","lastSelectedInnerNode","frozen","frozenBlur","dragging","selectNodeContentsDebounced","selectInnerNode","start","end","document","body","focusTimeout","clearInterval","setTimeout","focus","renderMain","_cx","_cx2","_cx3","innerRef","tabIndex","placeholder","align","borderless","width","size","error","warning","onValueChange","prefix","suffix","leftIcon","rightIcon","value","onMouseDragStart","onMouseDragEnd","takeContentWidth","ariaDescribedby","ariaLabel","ariaLabelledby","onClearCrossClick","rest","_objectWithoutPropertiesLoose","_excluded","_this$state","getRightIcon","createElement","clearCross","onFocus","event","stopPropagation","onClick","leftSide","icon","text","side","rightSide","className","theme","getSizeClassName","hovering","blink","focusFallback","warningFallback","errorFallback","hideBlinkingCursor","wrapperClass","wrapper","userSelectContain","context","Object","assign","onBlurWhenDisabled","resetFocus","_extends","style","textAlign","handleFocus","onMouseEnter","handleHover","onMouseLeave","handleUnhover","onBlur","handleBlur","ref","onKeyDown","handleKeyDown","onMouseDown","handleMouseDown","role","Provider","type","absolute","inputFocus","inputDisabled","renderPlaceholder","nodeRef","hiddenInputRef","_this$props","hasValue","_cx4","placeholderDisabled","placeholderFocus","handleDocumentMouseDown","e","target","Node","contains","defrost","handleDocumentKeyDown","_this2","handleMouseDragStart","_globalObject$documen","documentElement","classList","add","userSelectNone","handleMouseDragEnd","_globalObject$documen2","remove","_this$node","setAttribute","version","search","flushSync","setState","cancel","_this$node2","removeAttribute","_this$node3","el","_cx5","_cx6","_cx7","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","_inheritsLoose","_proto","prototype","blur","_this3","blinkTimeout","getNode","componentDidMount","_globalObject$documen3","_globalObject$documen4","listen","addEventListener","componentWillUnmount","_globalObject$documen5","_globalObject$documen6","clearTimeout","stop","removeEventListener","render","_this4","Consumer","rootNodeRef","setRootNode","Component","__KONTUR_REACT_UI__","displayName"],"sources":["InputLikeText.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash.debounce';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyTab, isShortcutPaste } from '../../lib/events/keyboard/identifiers';\nimport type { MouseDragEventHandler } from '../../lib/events/MouseDrag';\nimport { MouseDrag } from '../../lib/events/MouseDrag';\nimport { isEdge, isIE11, isMobile } from '../../lib/client';\nimport { removeAllSelections, selectNodeContents } from '../../lib/dom/selectionHelpers';\nimport type { InputProps, InputState } from '../../components/Input';\nimport { calculateClearCrossShowedState, InputDataTids } from '../../components/Input';\nimport { styles as jsInputStyles } from '../../components/Input/Input.styles';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps, CommonWrapperRestProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { findRenderContainer } from '../../lib/listenFocusOutside';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { InputLayoutAside } from '../../components/Input/InputLayout/InputLayoutAside';\nimport { InputLayoutContext, InputLayoutContextDefault } from '../../components/Input/InputLayout/InputLayoutContext';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { FocusControlWrapper } from '../FocusControlWrapper';\nimport { ClearCrossIcon } from '../ClearCrossIcon/ClearCrossIcon';\n\nimport { HiddenInput } from './HiddenInput';\nimport { styles } from './InputLikeText.styles';\n\nexport interface InputLikeTextProps extends CommonProps, InputProps {\n children?: React.ReactNode;\n innerRef?: (el: HTMLElement | null) => void;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n onMouseDragStart?: MouseDragEventHandler;\n onMouseDragEnd?: MouseDragEventHandler;\n takeContentWidth?: boolean;\n onClearCrossClick?: () => void;\n}\n\nexport type InputLikeTextState = Omit<InputState, 'needsPolyfillPlaceholder' | 'hovered'>;\n\nexport const InputLikeTextDataTids = {\n root: 'InputLikeText__root',\n input: 'InputLikeText__input',\n nativeInput: 'InputLikeText__nativeInput',\n} as const;\n\ntype DefaultProps = Required<Pick<InputLikeTextProps, 'size' | 'showClearIcon'>>;\n\n@rootNode\nexport class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {\n public static __KONTUR_REACT_UI__ = 'InputLikeText';\n public static displayName = 'InputLikeText';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n showClearIcon: 'never',\n };\n\n private getProps = createPropsGetter(InputLikeText.defaultProps);\n\n private getClearCrossShowed = ({ focused, hovered }: { focused?: boolean; hovered?: boolean }): boolean => {\n if (this.props.disabled) {\n return false;\n }\n return calculateClearCrossShowedState({\n showClearIcon: this.getProps().showClearIcon,\n notEmptyValue: Boolean(this.props.children),\n focused,\n hovered,\n });\n };\n\n public state = {\n blinking: false,\n focused: false,\n clearCrossShowed: this.getClearCrossShowed({\n focused: false,\n }),\n };\n\n private theme!: Theme;\n private node: HTMLElement | null = null;\n private hiddenInput: HTMLInputElement | null = null;\n private lastSelectedInnerNode: [HTMLElement, number, number] | null = null;\n private frozen = false;\n private frozenBlur = false;\n private dragging = false;\n private focusTimeout: SafeTimer;\n private blinkTimeout: SafeTimer;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.props.disabled) {\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = globalObject.setTimeout(() => this.setState({ blinking: false }), 150);\n });\n }\n\n public getNode(): HTMLElement | null {\n return this.node;\n }\n\n // Async call required for Firefox\n private selectNodeContentsDebounced = debounce(selectNodeContents, 0);\n\n public selectInnerNode = (node: HTMLElement | null, start = 0, end = 1) => {\n if (this.dragging || !node) {\n return;\n }\n if (isIE11 && globalObject.document && findRenderContainer(node, globalObject.document.body)) {\n // Code below causes Popup to close after triggering the focus event on the body in IE11\n return;\n }\n this.frozen = true;\n this.frozenBlur = true;\n\n this.lastSelectedInnerNode = [node, start, end];\n this.selectNodeContentsDebounced(node, start, end);\n\n if (this.focusTimeout) {\n globalObject.clearInterval(this.focusTimeout);\n }\n this.focusTimeout = globalObject.setTimeout(() => (isIE11 || isEdge) && this.node && this.node.focus(), 0);\n };\n\n public componentDidMount() {\n if (this.node) {\n MouseDrag.listen(this.node).onMouseDragStart(this.handleMouseDragStart).onMouseDragEnd(this.handleMouseDragEnd);\n }\n globalObject.document?.addEventListener('mousedown', this.handleDocumentMouseDown);\n globalObject.document?.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n globalObject.clearTimeout(this.blinkTimeout);\n }\n MouseDrag.stop(this.node);\n globalObject.document?.removeEventListener('mousedown', this.handleDocumentMouseDown);\n globalObject.document?.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<InputLikeTextProps>) => {\n const {\n innerRef,\n tabIndex,\n placeholder,\n align,\n borderless,\n width,\n size,\n error,\n warning,\n onValueChange,\n disabled,\n prefix,\n suffix,\n leftIcon,\n rightIcon,\n value,\n onMouseDragStart,\n onMouseDragEnd,\n takeContentWidth,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n showClearIcon,\n onClearCrossClick,\n ...rest\n } = props;\n\n const { focused, blinking } = this.state;\n const getRightIcon = () => {\n return this.state.clearCrossShowed ? (\n <ClearCrossIcon\n data-tid={InputDataTids.clearCross}\n size={size}\n onFocus={(event) => event.stopPropagation()}\n onClick={onClearCrossClick}\n />\n ) : (\n rightIcon\n );\n };\n const leftSide = <InputLayoutAside icon={leftIcon} text={prefix} side=\"left\" />;\n const rightSide = <InputLayoutAside icon={getRightIcon()} text={suffix} side=\"right\" />;\n\n const className = cx(styles.root(), jsInputStyles.root(this.theme), this.getSizeClassName(), {\n [jsInputStyles.disabled(this.theme)]: !!disabled,\n [jsInputStyles.borderless()]: !!borderless,\n [jsInputStyles.focus(this.theme)]: focused,\n [jsInputStyles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [jsInputStyles.blink(this.theme)]: blinking,\n [jsInputStyles.warning(this.theme)]: !!warning,\n [jsInputStyles.error(this.theme)]: !!error,\n [jsInputStyles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [jsInputStyles.warningFallback(this.theme)]: !!warning && (isIE11 || isEdge),\n [jsInputStyles.errorFallback(this.theme)]: !!error && (isIE11 || isEdge),\n [jsInputStyles.hideBlinkingCursor()]: isMobile,\n });\n\n const wrapperClass = cx(jsInputStyles.wrapper(), {\n [styles.userSelectContain()]: focused,\n });\n\n const context = InputLayoutContextDefault;\n Object.assign(context, { disabled, focused, size });\n\n return (\n <FocusControlWrapper disabled={disabled} onBlurWhenDisabled={this.resetFocus}>\n <span\n data-tid={InputLikeTextDataTids.root}\n {...rest}\n className={className}\n style={{ width, textAlign: align }}\n tabIndex={disabled ? -1 : 0}\n onFocus={this.handleFocus}\n onMouseEnter={this.handleHover}\n onMouseLeave={this.handleUnhover}\n onBlur={this.handleBlur}\n ref={this.innerRef}\n onKeyDown={this.handleKeyDown}\n onMouseDown={this.handleMouseDown}\n role=\"textbox\"\n aria-disabled={disabled}\n aria-describedby={ariaDescribedby}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n >\n <InputLayoutContext.Provider value={context}>\n <input type=\"hidden\" data-tid={InputLikeTextDataTids.nativeInput} value={value} disabled={disabled} />\n {leftSide}\n <span className={wrapperClass}>\n <span\n data-tid={InputLikeTextDataTids.input}\n className={cx(jsInputStyles.input(this.theme), {\n [styles.absolute()]: !takeContentWidth,\n [jsInputStyles.inputFocus(this.theme)]: focused,\n [jsInputStyles.inputDisabled(this.theme)]: disabled,\n })}\n >\n {this.props.children}\n </span>\n {this.renderPlaceholder()}\n </span>\n {rightSide}\n {isIE11 && focused && <HiddenInput nodeRef={this.hiddenInputRef} />}\n </InputLayoutContext.Provider>\n </span>\n </FocusControlWrapper>\n );\n };\n\n private renderPlaceholder = (): JSX.Element | null => {\n const { children, placeholder, disabled } = this.props;\n const { focused } = this.state;\n const hasValue = isNonNullable(children) && children !== '';\n\n if (!hasValue && placeholder) {\n return (\n <span\n className={cx(jsInputStyles.placeholder(this.theme), {\n [jsInputStyles.placeholderDisabled(this.theme)]: disabled,\n [jsInputStyles.placeholderFocus(this.theme)]: focused,\n })}\n >\n {placeholder}\n </span>\n );\n }\n return null;\n };\n\n private handleDocumentMouseDown = (e: MouseEvent) => {\n if (this.state.focused && this.node && isInstanceOf(e.target, globalObject.Node) && !this.node.contains(e.target)) {\n this.defrost();\n }\n };\n\n private handleDocumentKeyDown = (e: KeyboardEvent) => {\n if (this.state.focused && isKeyTab(e)) {\n this.defrost();\n }\n };\n\n private handleMouseDown = () => {\n this.frozen = true;\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.props.disabled) {\n return;\n }\n\n if (isIE11 && isShortcutPaste(e) && this.hiddenInput) {\n this.frozen = true;\n globalObject.setTimeout(() => {\n if (this.lastSelectedInnerNode) {\n this.selectInnerNode(...this.lastSelectedInnerNode);\n }\n if (this.node) {\n this.node.focus();\n }\n }, 0);\n\n this.hiddenInput.focus();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e as React.KeyboardEvent<HTMLInputElement>);\n }\n };\n\n private handleMouseDragStart: MouseDragEventHandler = (e) => {\n this.dragging = true;\n globalObject.document?.documentElement.classList.add(styles.userSelectNone());\n\n if (this.props.onMouseDragStart) {\n this.props.onMouseDragStart(e);\n }\n };\n\n private handleMouseDragEnd: MouseDragEventHandler = (e) => {\n // Дожидаемся onMouseUp\n globalObject.setTimeout(() => {\n this.dragging = false;\n\n if (this.props.onMouseDragEnd) {\n this.props.onMouseDragEnd(e);\n }\n }, 0);\n\n globalObject.document?.documentElement.classList.remove(styles.userSelectNone());\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n if (isMobile) {\n this.node?.setAttribute('contenteditable', 'true');\n }\n\n if (this.props.disabled) {\n if (isIE11 && globalObject.document) {\n selectNodeContents(globalObject.document.body, 0, 0);\n }\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozen) {\n this.frozen = false;\n if (this.state.focused) {\n return;\n }\n }\n\n // Auto-batching React@18 creates problems that are fixed with flushSync\n // https://github.com/skbkontur/retail-ui/pull/3144#issuecomment-1535235366\n if (React.version.search('18') === 0) {\n ReactDOM.flushSync(() => this.setState({ focused: true }));\n } else {\n this.setState({ focused: true });\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => {\n this.selectNodeContentsDebounced.cancel();\n if (isMobile) {\n this.node?.removeAttribute('contenteditable');\n }\n if ((isIE11 || isEdge) && this.frozenBlur) {\n this.frozenBlur = false;\n }\n removeAllSelections();\n this.setState({ focused: false });\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.selectNodeContentsDebounced.cancel();\n if (isMobile) {\n this.node?.removeAttribute('contenteditable');\n }\n\n if (this.props.disabled) {\n e.stopPropagation();\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozenBlur) {\n this.frozenBlur = false;\n return;\n }\n if ((isIE11 || isEdge) && this.frozen) {\n return;\n }\n\n removeAllSelections();\n this.setState({ focused: false });\n\n this.props.onBlur?.(e);\n };\n\n private handleHover = () => {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: true }) });\n };\n\n private handleUnhover = () => {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: false }) });\n };\n\n private hiddenInputRef = (el: HTMLInputElement | null) => {\n this.hiddenInput = el;\n };\n\n private innerRef = (el: HTMLElement | null) => {\n if (this.props.innerRef) {\n this.props.innerRef(el);\n }\n this.node = el;\n };\n\n private defrost = (): void => {\n this.frozen = false;\n this.frozenBlur = false;\n };\n\n private getSizeClassName = () => {\n switch (this.getProps().size) {\n case 'large':\n return cx({\n [jsInputStyles.sizeLarge(this.theme)]: true,\n [jsInputStyles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return cx({\n [jsInputStyles.sizeMedium(this.theme)]: true,\n [jsInputStyles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return cx({\n [jsInputStyles.sizeSmall(this.theme)]: true,\n [jsInputStyles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","ReactDOM","debounce","globalObject","isNonNullable","isKeyTab","isShortcutPaste","MouseDrag","isEdge","isIE11","isMobile","removeAllSelections","selectNodeContents","calculateClearCrossShowedState","InputDataTids","styles","jsInputStyles","ThemeContext","CommonWrapper","cx","findRenderContainer","rootNode","createPropsGetter","InputLayoutAside","InputLayoutContext","InputLayoutContextDefault","isInstanceOf","FocusControlWrapper","ClearCrossIcon","HiddenInput","InputLikeTextDataTids","root","input","nativeInput","InputLikeText","_class","_InputLikeText","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","getClearCrossShowed","_ref","focused","hovered","props","disabled","showClearIcon","notEmptyValue","Boolean","children","state","blinking","clearCrossShowed","node","hiddenInput","lastSelectedInnerNode","frozen","frozenBlur","dragging","selectNodeContentsDebounced","selectInnerNode","start","end","document","body","focusTimeout","clearInterval","setTimeout","focus","renderMain","_cx","_cx2","_cx3","innerRef","tabIndex","placeholder","align","borderless","width","size","error","warning","onValueChange","prefix","suffix","leftIcon","rightIcon","value","onMouseDragStart","onMouseDragEnd","takeContentWidth","ariaDescribedby","ariaLabel","ariaLabelledby","onClearCrossClick","rest","_objectWithoutPropertiesLoose","_excluded","_this$state","getRightIcon","createElement","clearCross","onFocus","event","stopPropagation","onClick","leftSide","icon","text","side","rightSide","className","theme","getSizeClassName","hovering","blink","focusFallback","warningFallback","errorFallback","hideBlinkingCursor","wrapperClass","wrapper","userSelectContain","context","Object","assign","onBlurWhenDisabled","resetFocus","_extends","style","textAlign","handleFocus","onMouseEnter","handleHover","onMouseLeave","handleUnhover","onBlur","handleBlur","ref","onKeyDown","handleKeyDown","onMouseDown","handleMouseDown","role","Provider","type","absolute","inputFocus","inputDisabled","renderPlaceholder","nodeRef","hiddenInputRef","_this$props","hasValue","_cx4","placeholderDisabled","placeholderFocus","handleDocumentMouseDown","e","target","Node","contains","defrost","handleDocumentKeyDown","_this2","handleMouseDragStart","_globalObject$documen","documentElement","classList","add","userSelectNone","handleMouseDragEnd","_globalObject$documen2","remove","_this$node","setAttribute","version","search","flushSync","setState","cancel","_this$node2","removeAttribute","_this$node3","el","_cx5","_cx6","_cx7","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","_inheritsLoose","_proto","prototype","blur","_this3","blinkTimeout","getNode","componentDidMount","_globalObject$documen3","_globalObject$documen4","listen","addEventListener","componentWillUnmount","_globalObject$documen5","_globalObject$documen6","clearTimeout","stop","removeEventListener","render","_this4","Consumer","rootNodeRef","setRootNode","Component","__KONTUR_REACT_UI__","displayName"],"sources":["InputLikeText.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash.debounce';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyTab, isShortcutPaste } from '../../lib/events/keyboard/identifiers';\nimport type { MouseDragEventHandler } from '../../lib/events/MouseDrag';\nimport { MouseDrag } from '../../lib/events/MouseDrag';\nimport { isEdge, isIE11, isMobile } from '../../lib/client';\nimport { removeAllSelections, selectNodeContents } from '../../lib/dom/selectionHelpers';\nimport type { InputProps, InputState } from '../../components/Input';\nimport { calculateClearCrossShowedState, InputDataTids } from '../../components/Input';\nimport { styles as jsInputStyles } from '../../components/Input/Input.styles';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps, CommonWrapperRestProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { findRenderContainer } from '../../lib/listenFocusOutside';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { InputLayoutAside } from '../../components/Input/InputLayout/InputLayoutAside';\nimport { InputLayoutContext, InputLayoutContextDefault } from '../../components/Input/InputLayout/InputLayoutContext';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { FocusControlWrapper } from '../FocusControlWrapper';\nimport { ClearCrossIcon } from '../ClearCrossIcon/ClearCrossIcon';\n\nimport { HiddenInput } from './HiddenInput';\nimport { styles } from './InputLikeText.styles';\n\nexport interface InputLikeTextProps extends CommonProps, InputProps {\n children?: React.ReactNode;\n innerRef?: (el: HTMLElement | null) => void;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n onMouseDragStart?: MouseDragEventHandler;\n onMouseDragEnd?: MouseDragEventHandler;\n takeContentWidth?: boolean;\n onClearCrossClick?: () => void;\n}\n\nexport type InputLikeTextState = Omit<InputState, 'needsPolyfillPlaceholder' | 'hovered'>;\n\nexport const InputLikeTextDataTids = {\n root: 'InputLikeText__root',\n input: 'InputLikeText__input',\n nativeInput: 'InputLikeText__nativeInput',\n} as const;\n\ntype DefaultProps = Required<Pick<InputLikeTextProps, 'size' | 'showClearIcon'>>;\n\n@rootNode\nexport class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {\n public static __KONTUR_REACT_UI__ = 'InputLikeText';\n public static displayName = 'InputLikeText';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n showClearIcon: 'never',\n };\n\n private getProps = createPropsGetter(InputLikeText.defaultProps);\n\n private getClearCrossShowed = ({ focused, hovered }: { focused?: boolean; hovered?: boolean }): boolean => {\n if (this.props.disabled) {\n return false;\n }\n return calculateClearCrossShowedState({\n showClearIcon: this.getProps().showClearIcon,\n notEmptyValue: Boolean(this.props.children),\n focused,\n hovered,\n });\n };\n\n public state = {\n blinking: false,\n focused: false,\n clearCrossShowed: this.getClearCrossShowed({\n focused: false,\n }),\n };\n\n private theme!: Theme;\n private node: HTMLElement | null = null;\n private hiddenInput: HTMLInputElement | null = null;\n private lastSelectedInnerNode: [HTMLElement, number, number] | null = null;\n private frozen = false;\n private frozenBlur = false;\n private dragging = false;\n private focusTimeout: SafeTimer;\n private blinkTimeout: SafeTimer;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.props.disabled) {\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = globalObject.setTimeout(() => this.setState({ blinking: false }), 150);\n });\n }\n\n public getNode(): HTMLElement | null {\n return this.node;\n }\n\n // Async call required for Firefox\n private selectNodeContentsDebounced = debounce(selectNodeContents, 0);\n\n public selectInnerNode = (node: HTMLElement | null, start = 0, end = 1) => {\n if (this.dragging || !node) {\n return;\n }\n if (isIE11 && globalObject.document && findRenderContainer(node, globalObject.document.body)) {\n // Code below causes Popup to close after triggering the focus event on the body in IE11\n return;\n }\n this.frozen = true;\n this.frozenBlur = true;\n\n this.lastSelectedInnerNode = [node, start, end];\n this.selectNodeContentsDebounced(node, start, end);\n\n if (this.focusTimeout) {\n globalObject.clearInterval(this.focusTimeout);\n }\n this.focusTimeout = globalObject.setTimeout(() => (isIE11 || isEdge) && this.node && this.node.focus(), 0);\n };\n\n public componentDidMount() {\n if (this.node) {\n MouseDrag.listen(this.node).onMouseDragStart(this.handleMouseDragStart).onMouseDragEnd(this.handleMouseDragEnd);\n }\n globalObject.document?.addEventListener('mousedown', this.handleDocumentMouseDown);\n globalObject.document?.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n globalObject.clearTimeout(this.blinkTimeout);\n }\n MouseDrag.stop(this.node);\n globalObject.document?.removeEventListener('mousedown', this.handleDocumentMouseDown);\n globalObject.document?.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<InputLikeTextProps>) => {\n const {\n innerRef,\n tabIndex,\n placeholder,\n align,\n borderless,\n width,\n size,\n error,\n warning,\n onValueChange,\n disabled,\n prefix,\n suffix,\n leftIcon,\n rightIcon,\n value,\n onMouseDragStart,\n onMouseDragEnd,\n takeContentWidth,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n showClearIcon,\n onClearCrossClick,\n ...rest\n } = props;\n\n const { focused, blinking } = this.state;\n const getRightIcon = () => {\n return this.state.clearCrossShowed ? (\n <ClearCrossIcon\n data-tid={InputDataTids.clearCross}\n size={size}\n onFocus={(event) => event.stopPropagation()}\n onClick={onClearCrossClick}\n />\n ) : (\n rightIcon\n );\n };\n const leftSide = <InputLayoutAside icon={leftIcon} text={prefix} side=\"left\" />;\n const rightSide = <InputLayoutAside icon={getRightIcon()} text={suffix} side=\"right\" />;\n\n const className = cx(styles.root(), jsInputStyles.root(this.theme), this.getSizeClassName(), {\n [jsInputStyles.disabled(this.theme)]: !!disabled,\n [jsInputStyles.borderless()]: !!borderless,\n [jsInputStyles.focus(this.theme)]: focused,\n [jsInputStyles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [jsInputStyles.blink(this.theme)]: blinking,\n [jsInputStyles.warning(this.theme)]: !!warning,\n [jsInputStyles.error(this.theme)]: !!error,\n [jsInputStyles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [jsInputStyles.warningFallback(this.theme)]: !!warning && (isIE11 || isEdge),\n [jsInputStyles.errorFallback(this.theme)]: !!error && (isIE11 || isEdge),\n [jsInputStyles.hideBlinkingCursor()]: isMobile,\n });\n\n const wrapperClass = cx(jsInputStyles.wrapper(), {\n [styles.userSelectContain()]: focused,\n });\n\n const context = InputLayoutContextDefault;\n Object.assign(context, { disabled, focused, size });\n\n return (\n <FocusControlWrapper disabled={disabled} onBlurWhenDisabled={this.resetFocus}>\n <span\n data-tid={InputLikeTextDataTids.root}\n {...rest}\n className={className}\n style={{ width, textAlign: align }}\n tabIndex={disabled ? -1 : 0}\n onFocus={this.handleFocus}\n onMouseEnter={this.handleHover}\n onMouseLeave={this.handleUnhover}\n onBlur={this.handleBlur}\n ref={this.innerRef}\n onKeyDown={this.handleKeyDown}\n onMouseDown={this.handleMouseDown}\n role=\"textbox\"\n aria-disabled={disabled}\n aria-describedby={ariaDescribedby}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n >\n <InputLayoutContext.Provider value={context}>\n <input type=\"hidden\" data-tid={InputLikeTextDataTids.nativeInput} value={value} disabled={disabled} />\n {leftSide}\n <span className={wrapperClass}>\n <span\n data-tid={InputLikeTextDataTids.input}\n className={cx(jsInputStyles.input(this.theme), {\n [styles.absolute()]: !takeContentWidth,\n [jsInputStyles.inputFocus(this.theme)]: focused,\n [jsInputStyles.inputDisabled(this.theme)]: disabled,\n })}\n >\n {this.props.children}\n </span>\n {this.renderPlaceholder()}\n </span>\n {rightSide}\n {isIE11 && focused && <HiddenInput nodeRef={this.hiddenInputRef} />}\n </InputLayoutContext.Provider>\n </span>\n </FocusControlWrapper>\n );\n };\n\n private renderPlaceholder = (): JSX.Element | null => {\n const { children, placeholder, disabled } = this.props;\n const { focused } = this.state;\n const hasValue = isNonNullable(children) && children !== '';\n\n if (!hasValue && placeholder) {\n return (\n <span\n className={cx(jsInputStyles.placeholder(this.theme), {\n [jsInputStyles.placeholderDisabled(this.theme)]: disabled,\n [jsInputStyles.placeholderFocus(this.theme)]: focused,\n })}\n >\n {placeholder}\n </span>\n );\n }\n return null;\n };\n\n private handleDocumentMouseDown = (e: MouseEvent) => {\n if (this.state.focused && this.node && isInstanceOf(e.target, globalObject.Node) && !this.node.contains(e.target)) {\n this.defrost();\n }\n };\n\n private handleDocumentKeyDown = (e: KeyboardEvent) => {\n if (this.state.focused && isKeyTab(e)) {\n this.defrost();\n }\n };\n\n private handleMouseDown = () => {\n this.frozen = true;\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.props.disabled) {\n return;\n }\n\n if (isIE11 && isShortcutPaste(e) && this.hiddenInput) {\n this.frozen = true;\n globalObject.setTimeout(() => {\n if (this.lastSelectedInnerNode) {\n this.selectInnerNode(...this.lastSelectedInnerNode);\n }\n if (this.node) {\n this.node.focus();\n }\n }, 0);\n\n this.hiddenInput.focus();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e as React.KeyboardEvent<HTMLInputElement>);\n }\n };\n\n private handleMouseDragStart: MouseDragEventHandler = (e) => {\n this.dragging = true;\n globalObject.document?.documentElement.classList.add(styles.userSelectNone());\n\n if (this.props.onMouseDragStart) {\n this.props.onMouseDragStart(e);\n }\n };\n\n private handleMouseDragEnd: MouseDragEventHandler = (e) => {\n // Дожидаемся onMouseUp\n globalObject.setTimeout(() => {\n this.dragging = false;\n\n if (this.props.onMouseDragEnd) {\n this.props.onMouseDragEnd(e);\n }\n }, 0);\n\n globalObject.document?.documentElement.classList.remove(styles.userSelectNone());\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n if (isMobile) {\n this.node?.setAttribute('contenteditable', 'true');\n }\n\n if (this.props.disabled) {\n if (isIE11 && globalObject.document) {\n selectNodeContents(globalObject.document.body, 0, 0);\n }\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozen) {\n this.frozen = false;\n if (this.state.focused) {\n return;\n }\n }\n\n // Auto-batching React@18 creates problems that are fixed with flushSync\n // https://github.com/skbkontur/retail-ui/pull/3144#issuecomment-1535235366\n if (React.version.search('18') === 0) {\n ReactDOM.flushSync(() => this.setState({ focused: true }));\n } else {\n this.setState({ focused: true });\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => {\n this.selectNodeContentsDebounced.cancel();\n if (isMobile) {\n this.node?.removeAttribute('contenteditable');\n }\n if ((isIE11 || isEdge) && this.frozenBlur) {\n this.frozenBlur = false;\n }\n removeAllSelections();\n this.setState({ focused: false });\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.selectNodeContentsDebounced.cancel();\n if (isMobile) {\n this.node?.removeAttribute('contenteditable');\n }\n\n if (this.props.disabled) {\n e.stopPropagation();\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozenBlur) {\n this.frozenBlur = false;\n return;\n }\n if ((isIE11 || isEdge) && this.frozen) {\n return;\n }\n\n removeAllSelections();\n this.setState({ focused: false });\n\n this.props.onBlur?.(e);\n };\n\n private handleHover = () => {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: true }) });\n };\n\n private handleUnhover = () => {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: false }) });\n };\n\n private hiddenInputRef = (el: HTMLInputElement | null) => {\n this.hiddenInput = el;\n };\n\n private innerRef = (el: HTMLElement | null) => {\n if (this.props.innerRef) {\n this.props.innerRef(el);\n }\n this.node = el;\n };\n\n private defrost = (): void => {\n this.frozen = false;\n this.frozenBlur = false;\n };\n\n private getSizeClassName = () => {\n switch (this.getProps().size) {\n case 'large':\n return cx({\n [jsInputStyles.sizeLarge(this.theme)]: true,\n [jsInputStyles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return cx({\n [jsInputStyles.sizeMedium(this.theme)]: true,\n [jsInputStyles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return cx({\n [jsInputStyles.sizeSmall(this.theme)]: true,\n [jsInputStyles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
|