@skbkontur/react-ui 5.2.1 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/README.md +7 -7
- package/cjs/components/Autocomplete/Autocomplete.d.ts +6 -23
- package/cjs/components/Autocomplete/Autocomplete.js +49 -46
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.d.ts +2 -0
- package/cjs/components/Button/Button.js +29 -1
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.styles.d.ts +6 -0
- package/cjs/components/Button/Button.styles.js +107 -75
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Calendar/Calendar.d.ts +2 -0
- package/cjs/components/Calendar/Calendar.js +1 -0
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Center/Center.d.ts +2 -0
- package/cjs/components/Center/Center.js +1 -0
- package/cjs/components/Center/Center.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.d.ts +2 -12
- package/cjs/components/Checkbox/Checkbox.js +2 -14
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.d.ts +2 -0
- package/cjs/components/ComboBox/ComboBox.js +1 -0
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -24
- package/cjs/components/CurrencyInput/CurrencyInput.js +5 -28
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyInput/constants.js +1 -2
- package/cjs/components/CurrencyInput/constants.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -28
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/DateInput/DateInput.d.ts +2 -0
- package/cjs/components/DateInput/DateInput.js +1 -0
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +6 -33
- package/cjs/components/DatePicker/DatePicker.js +6 -60
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
- package/cjs/components/Dropdown/Dropdown.js +2 -82
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
- package/cjs/components/DropdownMenu/DropdownMenu.js +1 -0
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/FxInput/FxInput.d.ts +2 -5
- package/cjs/components/FxInput/FxInput.js +2 -7
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/Gapped/Gapped.d.ts +2 -15
- package/cjs/components/Gapped/Gapped.js +1 -24
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
- package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/Group/Group.d.ts +5 -4
- package/cjs/components/Group/Group.js +91 -40
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Group/Group.styles.d.ts +1 -0
- package/cjs/components/Group/Group.styles.js +12 -6
- package/cjs/components/Group/Group.styles.js.map +1 -1
- package/cjs/components/Hint/Hint.d.ts +2 -0
- package/cjs/components/Hint/Hint.js +1 -0
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Input/Input.d.ts +2 -0
- package/cjs/components/Input/Input.js +1 -0
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +2 -1
- package/cjs/components/Kebab/Kebab.js +2 -26
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.d.ts +2 -0
- package/cjs/components/Link/Link.js +1 -0
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Loader/Loader.d.ts +6 -36
- package/cjs/components/Loader/Loader.js +3 -57
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MaskedInput/MaskedInput.d.ts +1 -0
- package/cjs/components/MaskedInput/MaskedInput.js +17 -1
- package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +2 -12
- package/cjs/components/MenuItem/MenuItem.js +2 -22
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
- package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
- package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
- package/cjs/components/MiniModal/MiniModalBody.js +17 -2
- package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +1 -0
- package/cjs/components/Modal/Modal.styles.js +36 -28
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalBody.d.ts +2 -0
- package/cjs/components/Modal/ModalBody.js +1 -0
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.d.ts +5 -0
- package/cjs/components/Modal/ModalHeader.js +8 -1
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/Paging/DotsIcon.d.ts +3 -0
- package/cjs/components/Paging/DotsIcon.js +13 -0
- package/cjs/components/Paging/DotsIcon.js.map +1 -0
- package/cjs/components/Paging/ForwardIcon.d.ts +3 -0
- package/cjs/components/Paging/ForwardIcon.js +13 -1
- package/cjs/components/Paging/ForwardIcon.js.map +1 -1
- package/cjs/components/Paging/NavigationHelper.d.ts +3 -2
- package/cjs/components/Paging/NavigationHelper.js +8 -6
- package/cjs/components/Paging/NavigationHelper.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +13 -2
- package/cjs/components/Paging/Paging.js +120 -50
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/Paging.styles.d.ts +24 -1
- package/cjs/components/Paging/Paging.styles.js +151 -22
- package/cjs/components/Paging/Paging.styles.js.map +1 -1
- package/cjs/components/Paging/PagingHelper.d.ts +1 -1
- package/cjs/components/Paging/PagingHelper.js +18 -11
- package/cjs/components/Paging/PagingHelper.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +2 -7
- package/cjs/components/PasswordInput/PasswordInput.js +2 -11
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.d.ts +2 -0
- package/cjs/components/Radio/Radio.js +1 -0
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -0
- package/cjs/components/RadioGroup/RadioGroup.js +1 -0
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +2 -9
- package/cjs/components/ScrollContainer/ScrollContainer.js +2 -11
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +2 -0
- package/cjs/components/Select/Select.js +1 -0
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePage.styles.d.ts +3 -1
- package/cjs/components/SidePage/SidePage.styles.js +52 -38
- package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
- package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
- package/cjs/components/SidePage/SidePageBody.js +1 -0
- package/cjs/components/SidePage/SidePageBody.js.map +1 -1
- package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
- package/cjs/components/SidePage/SidePageContainer.js +1 -0
- package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
- package/cjs/components/SidePage/SidePageFooter.js +1 -0
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +12 -2
- package/cjs/components/SidePage/SidePageHeader.js +60 -19
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/Spinner/Spinner.d.ts +2 -18
- package/cjs/components/Spinner/Spinner.js +2 -32
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Sticky/Sticky.d.ts +2 -13
- package/cjs/components/Sticky/Sticky.js +2 -22
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +6 -21
- package/cjs/components/Switcher/Switcher.js +11 -20
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
- package/cjs/components/Switcher/Switcher.styles.js +17 -9
- package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
- package/cjs/components/Tabs/Indicator.d.ts +2 -0
- package/cjs/components/Tabs/Indicator.js +1 -0
- package/cjs/components/Tabs/Indicator.js.map +1 -1
- package/cjs/components/Tabs/Tab.d.ts +2 -0
- package/cjs/components/Tabs/Tab.js +1 -0
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tabs.d.ts +2 -0
- package/cjs/components/Tabs/Tabs.js +1 -0
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +2 -44
- package/cjs/components/Textarea/Textarea.js +2 -56
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.js +2 -13
- package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
- package/cjs/components/Toast/Toast.d.ts +2 -0
- package/cjs/components/Toast/Toast.js +1 -0
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/ToastView.d.ts +2 -14
- package/cjs/components/Toast/ToastView.js +3 -22
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +2 -10
- package/cjs/components/Toggle/Toggle.js +1 -11
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Token/Token.d.ts +2 -0
- package/cjs/components/Token/Token.js +1 -0
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
- package/cjs/components/TokenInput/TokenInput.js +1 -0
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +14 -9
- package/cjs/components/Tooltip/Tooltip.js +95 -13
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
- package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
- package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
- package/cjs/components/TooltipMenu/TooltipMenu.js +1 -0
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
- package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
- package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/cjs/internal/ComponentTable.js +2 -3
- package/cjs/internal/ComponentTable.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +2 -0
- package/cjs/internal/CustomComboBox/ComboBoxView.js +1 -0
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +2 -0
- package/cjs/internal/CustomComboBox/CustomComboBox.js +1 -0
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
- package/cjs/internal/DateSelect/DateSelect.js +1 -18
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
- package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
- package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.d.ts +2 -0
- package/cjs/internal/InputLikeText/InputLikeText.js +1 -0
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/Menu/Menu.d.ts +2 -0
- package/cjs/internal/Menu/Menu.js +1 -0
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
- package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
- package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +41 -59
- package/cjs/internal/Popup/Popup.js +36 -79
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/PopupPin.d.ts +23 -33
- package/cjs/internal/Popup/PopupPin.js +2 -35
- package/cjs/internal/Popup/PopupPin.js.map +1 -1
- package/cjs/internal/Popup/PopupPinNew.d.ts +31 -0
- package/cjs/internal/Popup/PopupPinNew.js +180 -0
- package/cjs/internal/Popup/PopupPinNew.js.map +1 -0
- package/cjs/internal/Popup/PopupPinNew.styles.d.ts +7 -0
- package/cjs/internal/Popup/PopupPinNew.styles.js +33 -0
- package/cjs/internal/Popup/PopupPinNew.styles.js.map +1 -0
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
- package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
- package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.js +1 -1
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
- package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
- package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
- package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
- package/cjs/internal/ZIndex/ZIndex.js +5 -1
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
- package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
- package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
- package/cjs/internal/themes/BasicTheme.d.ts +112 -20
- package/cjs/internal/themes/BasicTheme.js +149 -18
- package/cjs/internal/themes/BasicTheme.js.map +1 -1
- package/cjs/internal/themes/DarkTheme5_2.js +1 -1
- package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
- package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme5_3.js +13 -0
- package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
- package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
- package/cjs/internal/themes/LightTheme5_3.js +13 -0
- package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
- package/cjs/lib/delay.mts +3 -0
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +11 -1
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/cjs/lib/forwardRefAndName.d.ts +1 -1
- package/cjs/lib/forwardRefAndName.js +0 -1
- package/cjs/lib/forwardRefAndName.js.map +1 -1
- package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -1
- package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
- package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
- package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
- package/cjs/lib/theming/ThemeVersions.js.map +1 -1
- package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
- package/cjs/lib/theming/themes/DarkTheme.js +4 -2
- package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
- package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
- package/cjs/lib/theming/themes/LightTheme.js +4 -2
- package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
- package/cjs/lib/utils.d.ts +4 -0
- package/cjs/lib/utils.js +5 -1
- package/cjs/lib/utils.js.map +1 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js +49 -45
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +6 -23
- package/components/Button/Button/Button.js +26 -5
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +2 -0
- package/components/Button/Button.styles/Button.styles.js +78 -60
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Button/Button.styles.d.ts +6 -0
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/Calendar.d.ts +2 -0
- package/components/Center/Center/Center.js.map +1 -1
- package/components/Center/Center.d.ts +2 -0
- package/components/Checkbox/Checkbox/Checkbox.js +0 -11
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +2 -12
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +2 -0
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +12 -36
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +6 -24
- package/components/CurrencyInput/constants/constants.js +0 -1
- package/components/CurrencyInput/constants/constants.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +2 -0
- package/components/DatePicker/DatePicker/DatePicker.js +1 -32
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +6 -33
- package/components/Dropdown/Dropdown/Dropdown.js +1 -47
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +2 -47
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
- package/components/FxInput/FxInput/FxInput.js +1 -5
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +2 -5
- package/components/Gapped/Gapped/Gapped.js +1 -15
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/Gapped/Gapped.d.ts +2 -15
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
- package/components/Group/Group/Group.js +64 -28
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.d.ts +5 -4
- package/components/Group/Group.styles/Group.styles.js +9 -6
- package/components/Group/Group.styles/Group.styles.js.map +1 -1
- package/components/Group/Group.styles.d.ts +1 -0
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +2 -0
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +2 -0
- package/components/Kebab/Kebab/Kebab.js +2 -20
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +2 -1
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +2 -0
- package/components/Loader/Loader/Loader.js +0 -33
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +6 -36
- package/components/MaskedInput/MaskedInput/MaskedInput.js +14 -0
- package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput.d.ts +1 -0
- package/components/MenuItem/MenuItem/MenuItem.js +1 -12
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +2 -12
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
- package/components/MiniModal/MiniModal.styles.d.ts +1 -0
- package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
- package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
- package/components/Modal/Modal.styles/Modal.styles.js +31 -28
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +1 -0
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Modal/ModalBody.d.ts +2 -0
- package/components/Modal/ModalHeader/ModalHeader.js +3 -1
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/Modal/ModalHeader.d.ts +5 -0
- package/components/Paging/DotsIcon/DotsIcon.js +14 -0
- package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
- package/components/Paging/DotsIcon/package.json +6 -0
- package/components/Paging/DotsIcon.d.ts +3 -0
- package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
- package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
- package/components/Paging/ForwardIcon.d.ts +3 -0
- package/components/Paging/NavigationHelper/NavigationHelper.js +9 -8
- package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
- package/components/Paging/NavigationHelper.d.ts +3 -2
- package/components/Paging/Paging/Paging.js +96 -47
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +13 -2
- package/components/Paging/Paging.styles/Paging.styles.js +77 -16
- package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
- package/components/Paging/Paging.styles.d.ts +24 -1
- package/components/Paging/PagingHelper/PagingHelper.js +16 -8
- package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
- package/components/Paging/PagingHelper.d.ts +1 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -7
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +2 -7
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +2 -0
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +2 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +2 -9
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +2 -0
- package/components/SidePage/SidePage.styles/SidePage.styles.js +41 -35
- package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
- package/components/SidePage/SidePage.styles.d.ts +3 -1
- package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
- package/components/SidePage/SidePageBody.d.ts +2 -0
- package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
- package/components/SidePage/SidePageContainer.d.ts +2 -0
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageFooter.d.ts +2 -0
- package/components/SidePage/SidePageHeader/SidePageHeader.js +61 -39
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +12 -2
- package/components/Spinner/Spinner/Spinner.js +1 -18
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +2 -18
- package/components/Sticky/Sticky/Sticky.js +1 -13
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +2 -13
- package/components/Switcher/Switcher/Switcher.js +19 -16
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +6 -21
- package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
- package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
- package/components/Switcher/Switcher.styles.d.ts +1 -0
- package/components/Tabs/Indicator/Indicator.js.map +1 -1
- package/components/Tabs/Indicator.d.ts +2 -0
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +2 -0
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +2 -0
- package/components/Textarea/Textarea/Textarea.js +1 -44
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +2 -44
- package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +2 -0
- package/components/Toast/ToastView/ToastView.js +3 -17
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.d.ts +2 -14
- package/components/Toggle/Toggle/Toggle.js +1 -10
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +2 -10
- package/components/Token/Token/Token.js.map +1 -1
- package/components/Token/Token.d.ts +2 -0
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +2 -0
- package/components/Tooltip/Tooltip/Tooltip.js +67 -20
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +14 -9
- package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
- package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
- package/components/Tooltip/Tooltip.styles.d.ts +7 -1
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
- package/internal/ComponentTable/ComponentTable.js +0 -2
- package/internal/ComponentTable/ComponentTable.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +2 -0
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +2 -0
- package/internal/DateSelect/DateSelect/DateSelect.js +1 -10
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.d.ts +0 -10
- package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
- package/internal/FocusTrap/FocusTrap.d.ts +2 -0
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.d.ts +2 -0
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.d.ts +2 -0
- package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopup.d.ts +2 -0
- package/internal/Popup/Popup/Popup.js +14 -64
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +41 -59
- package/internal/Popup/PopupPin/PopupPin.js +1 -34
- package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
- package/internal/Popup/PopupPin.d.ts +23 -33
- package/internal/Popup/PopupPinNew/PopupPinNew.js +146 -0
- package/internal/Popup/PopupPinNew/PopupPinNew.js.map +1 -0
- package/internal/Popup/PopupPinNew/package.json +6 -0
- package/internal/Popup/PopupPinNew.d.ts +31 -0
- package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js +20 -0
- package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js.map +1 -0
- package/internal/Popup/PopupPinNew.styles/package.json +6 -0
- package/internal/Popup/PopupPinNew.styles.d.ts +7 -0
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +2 -0
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer.d.ts +2 -3
- package/internal/ThemePlayground/Playground/Playground.js +4 -3
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
- package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
- package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
- package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndex.d.ts +3 -3
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
- package/internal/themes/BasicTheme/BasicTheme.js +170 -26
- package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
- package/internal/themes/BasicTheme.d.ts +112 -20
- package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
- package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
- package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
- package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
- package/internal/themes/DarkTheme5_3/package.json +6 -0
- package/internal/themes/DarkTheme5_3.d.ts +1 -0
- package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
- package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
- package/internal/themes/LightTheme5_3/package.json +6 -0
- package/internal/themes/LightTheme5_3.d.ts +1 -0
- package/lib/delay.d.mts +1 -0
- package/lib/delay.mts +3 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +6 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
- package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
- package/lib/forwardRefAndName.d.ts +1 -1
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
- package/lib/rootNode/rootNodeDecorator.d.ts +2 -1
- package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
- package/lib/theming/ThemeVersions.d.ts +1 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/lib/theming/themes/DarkTheme.d.ts +1 -0
- package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
- package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
- package/lib/theming/themes/LightTheme.d.ts +1 -0
- package/lib/utils/utils.js +2 -0
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +4 -0
- package/package.json +10 -13
- package/cjs/lib/SSRSafe.d.ts +0 -2
- package/cjs/lib/SSRSafe.js +0 -5
- package/cjs/lib/SSRSafe.js.map +0 -1
- package/lib/SSRSafe/SSRSafe.js +0 -4
- package/lib/SSRSafe/SSRSafe.js.map +0 -1
- package/lib/SSRSafe/package.json +0 -6
- package/lib/SSRSafe.d.ts +0 -2
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { AriaAttributes } from 'react';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import type { CommonProps } from '../../internal/CommonWrapper';
|
|
4
|
+
import type { TGetRootNode } from '../../lib/rootNode';
|
|
4
5
|
import type { SizeProp } from '../../lib/types/props';
|
|
5
6
|
import { Tab } from './Tab';
|
|
6
7
|
type ValueBaseType = string;
|
|
@@ -44,6 +45,7 @@ export declare class Tabs<T extends string = string> extends React.Component<Tab
|
|
|
44
45
|
private tabs;
|
|
45
46
|
private tabUpdates;
|
|
46
47
|
private listeners;
|
|
48
|
+
getRootNode: TGetRootNode;
|
|
47
49
|
private setRootNode;
|
|
48
50
|
render(): JSX.Element;
|
|
49
51
|
private shiftFocus;
|
|
@@ -4,7 +4,6 @@ import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
|
4
4
|
var _excluded = ["width", "error", "warning", "size", "autoResize", "resize", "onCut", "onPaste", "maxRows", "onFocus", "selectAllOnFocus", "placeholder", "onValueChange", "showLengthCounter", "lengthCounter", "counterHelp", "extraRow", "disableAnimations", "disabled"];
|
|
5
5
|
var _class, _Textarea;
|
|
6
6
|
import React from 'react';
|
|
7
|
-
import PropTypes from 'prop-types';
|
|
8
7
|
import throttle from 'lodash.throttle';
|
|
9
8
|
import { globalObject } from '@skbkontur/global-object';
|
|
10
9
|
import { isKeyEnter } from "../../../lib/events/keyboard/identifiers";
|
|
@@ -387,49 +386,7 @@ export var Textarea = rootNode(_class = (_Textarea = /*#__PURE__*/function (_Rea
|
|
|
387
386
|
}
|
|
388
387
|
};
|
|
389
388
|
return Textarea;
|
|
390
|
-
}(React.Component), _Textarea.__KONTUR_REACT_UI__ = 'Textarea', _Textarea.displayName = 'Textarea', _Textarea.
|
|
391
|
-
error: PropTypes.bool,
|
|
392
|
-
warning: PropTypes.bool,
|
|
393
|
-
disabled: PropTypes.bool,
|
|
394
|
-
autoResize: PropTypes.bool,
|
|
395
|
-
extraRow: PropTypes.bool,
|
|
396
|
-
disableAnimations: PropTypes.bool,
|
|
397
|
-
maxRows: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
398
|
-
resize: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
399
|
-
width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
400
|
-
id: PropTypes.string,
|
|
401
|
-
name: PropTypes.string,
|
|
402
|
-
title: PropTypes.string,
|
|
403
|
-
spellCheck: PropTypes.bool,
|
|
404
|
-
role: PropTypes.string,
|
|
405
|
-
maxLength: PropTypes.number,
|
|
406
|
-
tabIndex: PropTypes.number,
|
|
407
|
-
rows: PropTypes.number,
|
|
408
|
-
placeholder: PropTypes.string,
|
|
409
|
-
value: PropTypes.string,
|
|
410
|
-
defaultValue: PropTypes.string,
|
|
411
|
-
onValueChange: PropTypes.func,
|
|
412
|
-
onMouseEnter: PropTypes.func,
|
|
413
|
-
onMouseLeave: PropTypes.func,
|
|
414
|
-
onMouseOver: PropTypes.func,
|
|
415
|
-
onMouseMove: PropTypes.func,
|
|
416
|
-
onMouseOut: PropTypes.func,
|
|
417
|
-
onMouseUp: PropTypes.func,
|
|
418
|
-
onMouseDown: PropTypes.func,
|
|
419
|
-
onClick: PropTypes.func,
|
|
420
|
-
onDoubleClick: PropTypes.func,
|
|
421
|
-
onKeyDown: PropTypes.func,
|
|
422
|
-
onKeyPress: PropTypes.func,
|
|
423
|
-
onKeyUp: PropTypes.func,
|
|
424
|
-
onInput: PropTypes.func,
|
|
425
|
-
onFocus: PropTypes.func,
|
|
426
|
-
onBlur: PropTypes.func,
|
|
427
|
-
onScroll: PropTypes.func,
|
|
428
|
-
onWheel: PropTypes.func,
|
|
429
|
-
onCut: PropTypes.func,
|
|
430
|
-
onPaste: PropTypes.func,
|
|
431
|
-
onCopy: PropTypes.func
|
|
432
|
-
}, _Textarea.defaultProps = {
|
|
389
|
+
}(React.Component), _Textarea.__KONTUR_REACT_UI__ = 'Textarea', _Textarea.displayName = 'Textarea', _Textarea.defaultProps = {
|
|
433
390
|
rows: 3,
|
|
434
391
|
maxRows: 15,
|
|
435
392
|
extraRow: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","PropTypes","throttle","globalObject","isKeyEnter","needsPolyfillPlaceholder","LayoutEvents","ThemeContext","RenderLayer","ResizeDetector","isIE11","isSafariWithTextareaBug","CommonWrapper","isTestEnv","cx","rootNode","createPropsGetter","getTextAreaHeight","styles","TextareaCounter","TextareaWithSafari17Workaround","DEFAULT_WIDTH","AUTORESIZE_THROTTLE_DEFAULT_WAIT","TextareaDataTids","root","counter","helpIcon","Textarea","_class","_Textarea","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","isCounterVisible","reflowCounter","reflow","selectAllId","textareaObserver","MutationObserver","setSelectionRange","start","end","_globalObject$documen","node","Error","document","activeElement","focus","selectAll","value","delaySelectAll","_globalObject$request","requestAnimationFrame","cancelDelayedSelectAll","cancelAnimationFrame","renderMain","props","_cx","_ref","_textareaProps$maxLen","_cx2","_props$width","width","error","warning","size","autoResize","resize","onCut","onPaste","maxRows","onFocus","selectAllOnFocus","placeholder","onValueChange","showLengthCounter","lengthCounter","counterHelp","extraRow","disableAnimations","disabled","textareaProps","_objectWithoutPropertiesLoose","_excluded","rootProps","style","textareaClassNames","getTextareaSizeClassName","textarea","theme","hovering","isAnimationsDisabled","textareaStyle","placeholderPolyfill","defaultValue","createElement","className","fakeTextarea","fakeProps","fake","readOnly","_extends","ref","refFake","help","maxLength","onCloseHelp","handleCloseCounterHelp","refCounter","Component","onFocusOutside","onClickOutside","active","getRootSizeClassName","onResize","undefined","onChange","handleChange","handleCut","handlePaste","handleFocus","onKeyDown","handleKeyDown","children","setState","e","toString","isBlockEnter","preventDefault","fieldIsEmpty","target","element","fakeNode","autoResizeHandler","_this$getProps","rows","_ref2","minRows","parseInt","height","exceededMaxHeight","overflowY","getAutoResizeThrottleWait","event","_inheritsLoose","_proto","prototype","rootLarge","rootMedium","rootSmall","textareaLarge","textareaMedium","textareaSmall","_temp","_ref3","componentDidMount","layoutEvents","addListener","observe","attributes","componentWillUnmount","remove","disconnect","componentDidUpdate","prevProps","cancel","_this$getProps2","render","_this2","Consumer","rootNodeRef","setRootNode","blur","__KONTUR_REACT_UI__","displayName","propTypes","bool","oneOfType","string","number","id","name","title","spellCheck","role","tabIndex","func","onMouseEnter","onMouseLeave","onMouseOver","onMouseMove","onMouseOut","onMouseUp","onMouseDown","onClick","onDoubleClick","onKeyPress","onKeyUp","onInput","onBlur","onScroll","onWheel","onCopy"],"sources":["Textarea.tsx"],"sourcesContent":["import type { AriaAttributes, ReactNode } from 'react';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport throttle from 'lodash.throttle';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { Nullable, Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ResizeDetector } from '../../internal/ResizeDetector';\nimport { isIE11, isSafariWithTextareaBug } from '../../lib/client';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\n\nimport { getTextAreaHeight } from './TextareaHelpers';\nimport { styles } from './Textarea.styles';\nimport type { TextareaCounterRef } from './TextareaCounter';\nimport { TextareaCounter } from './TextareaCounter';\nimport { TextareaWithSafari17Workaround } from './TextareaWithSafari17Workaround';\n\nconst DEFAULT_WIDTH = 250;\nconst AUTORESIZE_THROTTLE_DEFAULT_WAIT = 100;\n\nexport interface TextareaProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n {\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает размер компонента. */\n size?: SizeProp;\n\n /** Выполняет автоматический ресайз в зависимости от содержимого. */\n autoResize?: boolean;\n\n /** Задает высоту текстарии в виде числа строк видимых без скролла. */\n rows?: number;\n\n /** Задает максимальное число строк при автоматическом ресайзе. */\n maxRows?: string | number;\n\n /** Задает направления ресайза компонента.\n * Попадает в `style`. */\n resize?: React.CSSProperties['resize'];\n\n /** Задает ширину текстэрии. */\n width?: React.CSSProperties['width'];\n\n /** Задает функцию, которая вызывается при изменении `value`. */\n onValueChange?: (value: string) => void;\n\n /** Определяет, нужно ли выделять введенное значение при фокусе. Работает с типами text, password, tel, search, url. */\n selectAllOnFocus?: boolean;\n\n /** Определяет, нужно ли показывать счетчик символов. */\n showLengthCounter?: boolean;\n\n /** Задает допустимое количество символов в поле. Отображается в счетчике.\n * @default maxLength */\n lengthCounter?: number;\n\n /** Задает подсказку к счетчику символов.\n * По умолчанию - тултип с содержимым из пропа, если передан `ReactNode`.\n * Передав функцию, можно переопределить подсказку целиком, вместе с иконкой.\n * @example\n * ```\n * counterHelp={() => <Tooltip render={...}><HelpIcon /></Tooltip>}\n * ``` */\n counterHelp?: ReactNode | (() => ReactNode);\n\n /** Добавляет дополнительную свободную строку при авто-ресайзе.\n * @see https://guides.kontur.ru/components/textarea/#04 */\n extraRow?: boolean;\n\n /** Отключает анимацию при авто-ресайзе. Автоматически отключается когда в `extraRow` передан `false`. */\n disableAnimations?: boolean;\n }\n > {}\n\nexport interface TextareaState {\n needsPolyfillPlaceholder: boolean;\n isCounterVisible: boolean;\n}\n\nexport const TextareaDataTids = {\n root: 'Textarea__root',\n counter: 'TextareaCounter__root',\n helpIcon: 'TextareaCounter__helpIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<TextareaProps, 'rows' | 'maxRows' | 'extraRow' | 'disableAnimations' | 'size'>>;\n\n/**\n * Многострочное поле `Textarea` — это поле ввода, которое позволяет работать с несколькими строками текста.\n *\n * Принимает все атрибуты `React.TextareaHTMLAttributes<HTMLTextAreaElement>`.\n * Пропы **`className` и `style` игнорируются**.\n */\n@rootNode\nexport class Textarea extends React.Component<TextareaProps, TextareaState> {\n public static __KONTUR_REACT_UI__ = 'Textarea';\n public static displayName = 'Textarea';\n\n public static propTypes = {\n error: PropTypes.bool,\n warning: PropTypes.bool,\n disabled: PropTypes.bool,\n\n autoResize: PropTypes.bool,\n extraRow: PropTypes.bool,\n disableAnimations: PropTypes.bool,\n maxRows: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n resize: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n id: PropTypes.string,\n name: PropTypes.string,\n title: PropTypes.string,\n spellCheck: PropTypes.bool,\n role: PropTypes.string,\n maxLength: PropTypes.number,\n tabIndex: PropTypes.number,\n rows: PropTypes.number,\n placeholder: PropTypes.string,\n\n value: PropTypes.string,\n defaultValue: PropTypes.string,\n onValueChange: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onMouseMove: PropTypes.func,\n onMouseOut: PropTypes.func,\n\n onMouseUp: PropTypes.func,\n onMouseDown: PropTypes.func,\n onClick: PropTypes.func,\n onDoubleClick: PropTypes.func,\n\n onKeyDown: PropTypes.func,\n onKeyPress: PropTypes.func,\n onKeyUp: PropTypes.func,\n onInput: PropTypes.func,\n\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n\n onScroll: PropTypes.func,\n onWheel: PropTypes.func,\n\n onCut: PropTypes.func,\n onPaste: PropTypes.func,\n onCopy: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n rows: 3,\n maxRows: 15,\n extraRow: true,\n size: 'small',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Textarea.defaultProps);\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getTextareaSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.textareaLarge(this.theme);\n case 'medium':\n return styles.textareaMedium(this.theme);\n case 'small':\n default:\n return styles.textareaSmall(this.theme);\n }\n }\n\n public state = {\n needsPolyfillPlaceholder,\n isCounterVisible: false,\n };\n private reflowCounter = () => {\n if (this.counter) {\n this.counter.reflow();\n }\n };\n\n private theme!: Theme;\n private selectAllId: number | null = null;\n private node: Nullable<HTMLTextAreaElement>;\n private fakeNode: Nullable<HTMLTextAreaElement>;\n private counter: Nullable<TextareaCounterRef>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private textareaObserver = globalObject.MutationObserver\n ? new globalObject.MutationObserver(this.reflowCounter)\n : null;\n private setRootNode!: TSetRootNode;\n private getAutoResizeThrottleWait(props: TextareaProps = this.props): number {\n // NOTE: При отключении анимации остается эффект дергания при авто-ресайзе из-за троттлинга расчета высоты\n // Поэтому выставляем таймаут троттла в ноль. Подробности - https://github.com/skbkontur/retail-ui/issues/2120\n return this.isAnimationsDisabled(props) ? 0 : AUTORESIZE_THROTTLE_DEFAULT_WAIT;\n }\n private isAnimationsDisabled({ disableAnimations, extraRow }: TextareaProps = this.props): boolean {\n return disableAnimations || !extraRow;\n }\n\n public componentDidMount() {\n if (this.props.autoResize) {\n this.autoResize();\n this.layoutEvents = LayoutEvents.addListener(this.autoResize);\n }\n\n if (this.node && this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.observe(this.node, { attributes: true });\n }\n }\n\n public componentWillUnmount() {\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n if (this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.disconnect();\n }\n this.cancelDelayedSelectAll();\n }\n\n public componentDidUpdate(prevProps: TextareaProps) {\n if (this.getAutoResizeThrottleWait() !== this.getAutoResizeThrottleWait(prevProps)) {\n this.autoResize.cancel();\n this.autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n }\n const { rows, maxRows } = this.getProps();\n if (\n this.props.autoResize &&\n (rows !== prevProps.rows || maxRows !== prevProps.maxRows || this.props.value !== prevProps.value)\n ) {\n this.autoResize();\n }\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 /**\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 * @param {number} start\n * @param {number} end\n */\n public setSelectionRange = (start: number, end: number) => {\n if (!this.node) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (globalObject.document?.activeElement !== this.node) {\n this.focus();\n }\n\n this.node.setSelectionRange(start, end);\n };\n\n /**\n * @public\n */\n public selectAll = () => {\n if (this.node) {\n this.setSelectionRange(0, this.node.value.length);\n }\n };\n\n private delaySelectAll = (): number | null =>\n (this.selectAllId = globalObject.requestAnimationFrame?.(this.selectAll) ?? null);\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n globalObject.cancelAnimationFrame?.(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<TextareaProps>) => {\n const {\n width = DEFAULT_WIDTH,\n error,\n warning,\n size,\n autoResize,\n resize,\n onCut,\n onPaste,\n maxRows,\n onFocus,\n selectAllOnFocus,\n placeholder,\n onValueChange,\n showLengthCounter,\n lengthCounter,\n counterHelp,\n extraRow,\n disableAnimations,\n disabled,\n ...textareaProps\n } = props;\n\n const { isCounterVisible } = this.state;\n\n const rootProps = {\n style: {\n width,\n },\n };\n\n const textareaClassNames = cx(this.getTextareaSizeClassName(), {\n [styles.textarea(this.theme)]: true,\n [styles.hovering(this.theme)]: !error && !warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.error(this.theme)]: !!error,\n [styles.warning(this.theme)]: !!warning,\n [styles.disableAnimations()]: this.isAnimationsDisabled(),\n });\n\n const textareaStyle = {\n resize: autoResize ? 'none' : resize,\n };\n\n let placeholderPolyfill = null;\n\n if (this.state.needsPolyfillPlaceholder && !textareaProps.value && !textareaProps.defaultValue) {\n placeholderPolyfill = <span className={styles.placeholder()}>{placeholder}</span>;\n }\n\n let fakeTextarea = null;\n if (autoResize) {\n const fakeProps = {\n value: this.props.value,\n defaultValue: this.props.defaultValue,\n className: cx(textareaClassNames, styles.fake()),\n readOnly: true,\n };\n fakeTextarea = <textarea {...fakeProps} ref={this.refFake} />;\n }\n\n const counter = showLengthCounter && isCounterVisible && this.node && (\n <TextareaCounter\n textarea={this.node}\n size={this.getProps().size}\n help={counterHelp}\n value={textareaProps.value}\n length={textareaProps.maxLength ?? lengthCounter ?? 0}\n onCloseHelp={this.handleCloseCounterHelp}\n ref={this.refCounter}\n />\n );\n\n const Component = isSafariWithTextareaBug ? TextareaWithSafari17Workaround : 'textarea';\n\n return (\n <RenderLayer\n onFocusOutside={this.handleCloseCounterHelp}\n onClickOutside={this.handleCloseCounterHelp}\n active={this.state.isCounterVisible}\n >\n <label\n data-tid={TextareaDataTids.root}\n {...rootProps}\n className={cx(this.getRootSizeClassName(), {\n [styles.root()]: true,\n })}\n >\n {placeholderPolyfill}\n <ResizeDetector onResize={this.reflowCounter}>\n <Component\n {...textareaProps}\n className={textareaClassNames}\n style={textareaStyle}\n placeholder={!placeholderPolyfill ? placeholder : undefined}\n ref={this.ref}\n onChange={this.handleChange}\n onCut={this.handleCut}\n onPaste={this.handlePaste}\n onFocus={this.handleFocus}\n onKeyDown={this.handleKeyDown}\n disabled={disabled}\n >\n {this.props.children}\n </Component>\n </ResizeDetector>\n {fakeTextarea}\n {counter}\n </label>\n </RenderLayer>\n );\n };\n\n private handleCloseCounterHelp = () => this.setState({ isCounterVisible: false });\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n // Edge bug: textarea maxlength doesn't work after new line\n // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/18833616/\n const value = this.props.value !== undefined ? this.props.value.toString() : null;\n const isBlockEnter = isKeyEnter(e) && value !== null && value.length === this.props.maxLength;\n\n if (isBlockEnter) {\n e.preventDefault();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = e.target.value === '';\n\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(e.target.value);\n }\n\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onChange) {\n this.props.onChange(e);\n }\n\n this.reflowCounter();\n };\n\n private ref = (element: HTMLTextAreaElement) => {\n this.node = element;\n };\n\n private refFake = (element: HTMLTextAreaElement) => {\n this.fakeNode = element;\n };\n\n private refCounter = (ref: TextareaCounterRef | null) => {\n this.counter = ref;\n };\n\n private autoResizeHandler = () => {\n const fakeNode = this.fakeNode;\n if (!fakeNode) {\n return;\n }\n const node = this.node;\n if (!node) {\n return;\n }\n if (this.props.value === undefined) {\n fakeNode.value = node.value;\n }\n\n const { rows, maxRows } = this.getProps();\n if (rows === undefined || maxRows === undefined) {\n return;\n }\n\n const { height, exceededMaxHeight } =\n getTextAreaHeight({\n node: fakeNode,\n minRows: typeof rows === 'number' ? rows : parseInt(rows, 10),\n maxRows: typeof maxRows === 'number' ? maxRows : parseInt(maxRows, 10),\n extraRow: this.getProps().extraRow,\n }) || {};\n\n if (height === undefined || exceededMaxHeight === undefined) {\n return;\n }\n\n node.style.height = height + 'px';\n node.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n fakeNode.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n };\n\n private autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n\n private handleCut = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onCut) {\n this.props.onCut(event);\n }\n\n this.reflowCounter();\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onPaste) {\n this.props.onPaste(event);\n }\n\n this.reflowCounter();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n this.setState({ isCounterVisible: true });\n\n if (this.props.selectAllOnFocus) {\n // https://github.com/facebook/react/issues/7769\n this.node && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","throttle","globalObject","isKeyEnter","needsPolyfillPlaceholder","LayoutEvents","ThemeContext","RenderLayer","ResizeDetector","isIE11","isSafariWithTextareaBug","CommonWrapper","isTestEnv","cx","rootNode","createPropsGetter","getTextAreaHeight","styles","TextareaCounter","TextareaWithSafari17Workaround","DEFAULT_WIDTH","AUTORESIZE_THROTTLE_DEFAULT_WAIT","TextareaDataTids","root","counter","helpIcon","Textarea","_class","_Textarea","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","isCounterVisible","reflowCounter","reflow","selectAllId","textareaObserver","MutationObserver","setSelectionRange","start","end","_globalObject$documen","node","Error","document","activeElement","focus","selectAll","value","delaySelectAll","_globalObject$request","requestAnimationFrame","cancelDelayedSelectAll","cancelAnimationFrame","renderMain","props","_cx","_ref","_textareaProps$maxLen","_cx2","_props$width","width","error","warning","size","autoResize","resize","onCut","onPaste","maxRows","onFocus","selectAllOnFocus","placeholder","onValueChange","showLengthCounter","lengthCounter","counterHelp","extraRow","disableAnimations","disabled","textareaProps","_objectWithoutPropertiesLoose","_excluded","rootProps","style","textareaClassNames","getTextareaSizeClassName","textarea","theme","hovering","isAnimationsDisabled","textareaStyle","placeholderPolyfill","defaultValue","createElement","className","fakeTextarea","fakeProps","fake","readOnly","_extends","ref","refFake","help","maxLength","onCloseHelp","handleCloseCounterHelp","refCounter","Component","onFocusOutside","onClickOutside","active","getRootSizeClassName","onResize","undefined","onChange","handleChange","handleCut","handlePaste","handleFocus","onKeyDown","handleKeyDown","children","setState","e","toString","isBlockEnter","preventDefault","fieldIsEmpty","target","element","fakeNode","autoResizeHandler","_this$getProps","rows","_ref2","minRows","parseInt","height","exceededMaxHeight","overflowY","getAutoResizeThrottleWait","event","_inheritsLoose","_proto","prototype","rootLarge","rootMedium","rootSmall","textareaLarge","textareaMedium","textareaSmall","_temp","_ref3","componentDidMount","layoutEvents","addListener","observe","attributes","componentWillUnmount","remove","disconnect","componentDidUpdate","prevProps","cancel","_this$getProps2","render","_this2","Consumer","rootNodeRef","setRootNode","blur","__KONTUR_REACT_UI__","displayName"],"sources":["Textarea.tsx"],"sourcesContent":["import type { AriaAttributes, ReactNode } from 'react';\nimport React from 'react';\nimport throttle from 'lodash.throttle';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { Nullable, Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ResizeDetector } from '../../internal/ResizeDetector';\nimport { isIE11, isSafariWithTextareaBug } from '../../lib/client';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\n\nimport { getTextAreaHeight } from './TextareaHelpers';\nimport { styles } from './Textarea.styles';\nimport type { TextareaCounterRef } from './TextareaCounter';\nimport { TextareaCounter } from './TextareaCounter';\nimport { TextareaWithSafari17Workaround } from './TextareaWithSafari17Workaround';\n\nconst DEFAULT_WIDTH = 250;\nconst AUTORESIZE_THROTTLE_DEFAULT_WAIT = 100;\n\nexport interface TextareaProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n {\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает размер компонента. */\n size?: SizeProp;\n\n /** Выполняет автоматический ресайз в зависимости от содержимого. */\n autoResize?: boolean;\n\n /** Задает высоту текстарии в виде числа строк видимых без скролла. */\n rows?: number;\n\n /** Задает максимальное число строк при автоматическом ресайзе. */\n maxRows?: string | number;\n\n /** Задает направления ресайза компонента.\n * Попадает в `style`. */\n resize?: React.CSSProperties['resize'];\n\n /** Задает ширину текстэрии. */\n width?: React.CSSProperties['width'];\n\n /** Задает функцию, которая вызывается при изменении `value`. */\n onValueChange?: (value: string) => void;\n\n /** Определяет, нужно ли выделять введенное значение при фокусе. Работает с типами text, password, tel, search, url. */\n selectAllOnFocus?: boolean;\n\n /** Определяет, нужно ли показывать счетчик символов. */\n showLengthCounter?: boolean;\n\n /** Задает допустимое количество символов в поле. Отображается в счетчике.\n * @default maxLength */\n lengthCounter?: number;\n\n /** Задает подсказку к счетчику символов.\n * По умолчанию - тултип с содержимым из пропа, если передан `ReactNode`.\n * Передав функцию, можно переопределить подсказку целиком, вместе с иконкой.\n * @example\n * ```\n * counterHelp={() => <Tooltip render={...}><HelpIcon /></Tooltip>}\n * ``` */\n counterHelp?: ReactNode | (() => ReactNode);\n\n /** Добавляет дополнительную свободную строку при авто-ресайзе.\n * @see https://guides.kontur.ru/components/textarea/#04 */\n extraRow?: boolean;\n\n /** Отключает анимацию при авто-ресайзе. Автоматически отключается когда в `extraRow` передан `false`. */\n disableAnimations?: boolean;\n }\n > {}\n\nexport interface TextareaState {\n needsPolyfillPlaceholder: boolean;\n isCounterVisible: boolean;\n}\n\nexport const TextareaDataTids = {\n root: 'Textarea__root',\n counter: 'TextareaCounter__root',\n helpIcon: 'TextareaCounter__helpIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<TextareaProps, 'rows' | 'maxRows' | 'extraRow' | 'disableAnimations' | 'size'>>;\n\n/**\n * Многострочное поле `Textarea` — это поле ввода, которое позволяет работать с несколькими строками текста.\n *\n * Принимает все атрибуты `React.TextareaHTMLAttributes<HTMLTextAreaElement>`.\n * Пропы **`className` и `style` игнорируются**.\n */\n@rootNode\nexport class Textarea extends React.Component<TextareaProps, TextareaState> {\n public static __KONTUR_REACT_UI__ = 'Textarea';\n public static displayName = 'Textarea';\n\n public static defaultProps: DefaultProps = {\n rows: 3,\n maxRows: 15,\n extraRow: true,\n size: 'small',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Textarea.defaultProps);\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getTextareaSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.textareaLarge(this.theme);\n case 'medium':\n return styles.textareaMedium(this.theme);\n case 'small':\n default:\n return styles.textareaSmall(this.theme);\n }\n }\n\n public state = {\n needsPolyfillPlaceholder,\n isCounterVisible: false,\n };\n private reflowCounter = () => {\n if (this.counter) {\n this.counter.reflow();\n }\n };\n\n private theme!: Theme;\n private selectAllId: number | null = null;\n private node: Nullable<HTMLTextAreaElement>;\n private fakeNode: Nullable<HTMLTextAreaElement>;\n private counter: Nullable<TextareaCounterRef>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private textareaObserver = globalObject.MutationObserver\n ? new globalObject.MutationObserver(this.reflowCounter)\n : null;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private getAutoResizeThrottleWait(props: TextareaProps = this.props): number {\n // NOTE: При отключении анимации остается эффект дергания при авто-ресайзе из-за троттлинга расчета высоты\n // Поэтому выставляем таймаут троттла в ноль. Подробности - https://github.com/skbkontur/retail-ui/issues/2120\n return this.isAnimationsDisabled(props) ? 0 : AUTORESIZE_THROTTLE_DEFAULT_WAIT;\n }\n private isAnimationsDisabled({ disableAnimations, extraRow }: TextareaProps = this.props): boolean {\n return disableAnimations || !extraRow;\n }\n\n public componentDidMount() {\n if (this.props.autoResize) {\n this.autoResize();\n this.layoutEvents = LayoutEvents.addListener(this.autoResize);\n }\n\n if (this.node && this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.observe(this.node, { attributes: true });\n }\n }\n\n public componentWillUnmount() {\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n if (this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.disconnect();\n }\n this.cancelDelayedSelectAll();\n }\n\n public componentDidUpdate(prevProps: TextareaProps) {\n if (this.getAutoResizeThrottleWait() !== this.getAutoResizeThrottleWait(prevProps)) {\n this.autoResize.cancel();\n this.autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n }\n const { rows, maxRows } = this.getProps();\n if (\n this.props.autoResize &&\n (rows !== prevProps.rows || maxRows !== prevProps.maxRows || this.props.value !== prevProps.value)\n ) {\n this.autoResize();\n }\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 /**\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 * @param {number} start\n * @param {number} end\n */\n public setSelectionRange = (start: number, end: number) => {\n if (!this.node) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (globalObject.document?.activeElement !== this.node) {\n this.focus();\n }\n\n this.node.setSelectionRange(start, end);\n };\n\n /**\n * @public\n */\n public selectAll = () => {\n if (this.node) {\n this.setSelectionRange(0, this.node.value.length);\n }\n };\n\n private delaySelectAll = (): number | null =>\n (this.selectAllId = globalObject.requestAnimationFrame?.(this.selectAll) ?? null);\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n globalObject.cancelAnimationFrame?.(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<TextareaProps>) => {\n const {\n width = DEFAULT_WIDTH,\n error,\n warning,\n size,\n autoResize,\n resize,\n onCut,\n onPaste,\n maxRows,\n onFocus,\n selectAllOnFocus,\n placeholder,\n onValueChange,\n showLengthCounter,\n lengthCounter,\n counterHelp,\n extraRow,\n disableAnimations,\n disabled,\n ...textareaProps\n } = props;\n\n const { isCounterVisible } = this.state;\n\n const rootProps = {\n style: {\n width,\n },\n };\n\n const textareaClassNames = cx(this.getTextareaSizeClassName(), {\n [styles.textarea(this.theme)]: true,\n [styles.hovering(this.theme)]: !error && !warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.error(this.theme)]: !!error,\n [styles.warning(this.theme)]: !!warning,\n [styles.disableAnimations()]: this.isAnimationsDisabled(),\n });\n\n const textareaStyle = {\n resize: autoResize ? 'none' : resize,\n };\n\n let placeholderPolyfill = null;\n\n if (this.state.needsPolyfillPlaceholder && !textareaProps.value && !textareaProps.defaultValue) {\n placeholderPolyfill = <span className={styles.placeholder()}>{placeholder}</span>;\n }\n\n let fakeTextarea = null;\n if (autoResize) {\n const fakeProps = {\n value: this.props.value,\n defaultValue: this.props.defaultValue,\n className: cx(textareaClassNames, styles.fake()),\n readOnly: true,\n };\n fakeTextarea = <textarea {...fakeProps} ref={this.refFake} />;\n }\n\n const counter = showLengthCounter && isCounterVisible && this.node && (\n <TextareaCounter\n textarea={this.node}\n size={this.getProps().size}\n help={counterHelp}\n value={textareaProps.value}\n length={textareaProps.maxLength ?? lengthCounter ?? 0}\n onCloseHelp={this.handleCloseCounterHelp}\n ref={this.refCounter}\n />\n );\n\n const Component = isSafariWithTextareaBug ? TextareaWithSafari17Workaround : 'textarea';\n\n return (\n <RenderLayer\n onFocusOutside={this.handleCloseCounterHelp}\n onClickOutside={this.handleCloseCounterHelp}\n active={this.state.isCounterVisible}\n >\n <label\n data-tid={TextareaDataTids.root}\n {...rootProps}\n className={cx(this.getRootSizeClassName(), {\n [styles.root()]: true,\n })}\n >\n {placeholderPolyfill}\n <ResizeDetector onResize={this.reflowCounter}>\n <Component\n {...textareaProps}\n className={textareaClassNames}\n style={textareaStyle}\n placeholder={!placeholderPolyfill ? placeholder : undefined}\n ref={this.ref}\n onChange={this.handleChange}\n onCut={this.handleCut}\n onPaste={this.handlePaste}\n onFocus={this.handleFocus}\n onKeyDown={this.handleKeyDown}\n disabled={disabled}\n >\n {this.props.children}\n </Component>\n </ResizeDetector>\n {fakeTextarea}\n {counter}\n </label>\n </RenderLayer>\n );\n };\n\n private handleCloseCounterHelp = () => this.setState({ isCounterVisible: false });\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n // Edge bug: textarea maxlength doesn't work after new line\n // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/18833616/\n const value = this.props.value !== undefined ? this.props.value.toString() : null;\n const isBlockEnter = isKeyEnter(e) && value !== null && value.length === this.props.maxLength;\n\n if (isBlockEnter) {\n e.preventDefault();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = e.target.value === '';\n\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(e.target.value);\n }\n\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onChange) {\n this.props.onChange(e);\n }\n\n this.reflowCounter();\n };\n\n private ref = (element: HTMLTextAreaElement) => {\n this.node = element;\n };\n\n private refFake = (element: HTMLTextAreaElement) => {\n this.fakeNode = element;\n };\n\n private refCounter = (ref: TextareaCounterRef | null) => {\n this.counter = ref;\n };\n\n private autoResizeHandler = () => {\n const fakeNode = this.fakeNode;\n if (!fakeNode) {\n return;\n }\n const node = this.node;\n if (!node) {\n return;\n }\n if (this.props.value === undefined) {\n fakeNode.value = node.value;\n }\n\n const { rows, maxRows } = this.getProps();\n if (rows === undefined || maxRows === undefined) {\n return;\n }\n\n const { height, exceededMaxHeight } =\n getTextAreaHeight({\n node: fakeNode,\n minRows: typeof rows === 'number' ? rows : parseInt(rows, 10),\n maxRows: typeof maxRows === 'number' ? maxRows : parseInt(maxRows, 10),\n extraRow: this.getProps().extraRow,\n }) || {};\n\n if (height === undefined || exceededMaxHeight === undefined) {\n return;\n }\n\n node.style.height = height + 'px';\n node.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n fakeNode.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n };\n\n private autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n\n private handleCut = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onCut) {\n this.props.onCut(event);\n }\n\n this.reflowCounter();\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onPaste) {\n this.props.onPaste(event);\n }\n\n this.reflowCounter();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n this.setState({ isCounterVisible: true });\n\n if (this.props.selectAllOnFocus) {\n // https://github.com/facebook/react/issues/7769\n this.node && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n}\n"],"mappings":";AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,SAASC,YAAY,QAAQ,0BAA0B;;AAEvD,SAASC,UAAU,QAAQ,uCAAuC;AAClE,SAASC,wBAAwB,QAAQ,oCAAoC;AAC7E,OAAO,KAAKC,YAAY,MAAM,wBAAwB;;AAEtD,SAASC,YAAY,QAAQ,gCAAgC;;AAE7D,SAASC,WAAW,QAAQ,4BAA4B;AACxD,SAASC,cAAc,QAAQ,+BAA+B;AAC9D,SAASC,MAAM,EAAEC,uBAAuB,QAAQ,kBAAkB;;AAElE,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,SAAS,QAAQ,8BAA8B;AACxD,SAASC,EAAE,QAAQ,2BAA2B;;AAE9C,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,iBAAiB,QAAQ,6BAA6B;;;AAG/D,SAASC,iBAAiB,QAAQ,mBAAmB;AACrD,SAASC,MAAM,QAAQ,mBAAmB;;AAE1C,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,8BAA8B,QAAQ,kCAAkC;;AAEjF,IAAMC,aAAa,GAAG,GAAG;AACzB,IAAMC,gCAAgC,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwE5C,OAAO,IAAMC,gBAAgB,GAAG;EAC9BC,IAAI,EAAE,gBAAgB;EACtBC,OAAO,EAAE,uBAAuB;EAChCC,QAAQ,EAAE;AACZ,CAAU;;;;AAIV;AACA;AACA;AACA;AACA;AACA;AACA;AACaC,QAAQ,GADpBZ,QAAQ,CAAAa,MAAA,IAAAC,SAAA,0BAAAC,gBAAA,YAAAH,SAAA,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,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;IAaCU,QAAQ,GAAGzB,iBAAiB,CAACW,QAAQ,CAACe,YAAY,CAAC,CAAAX,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;IA0BpDY,KAAK,GAAG;MACbtC,wBAAwB,EAAxBA,wBAAwB;MACxBuC,gBAAgB,EAAE;IACpB,CAAC,CAAAb,KAAA;IACOc,aAAa,GAAG,YAAM;MAC5B,IAAId,KAAA,CAAKN,OAAO,EAAE;QAChBM,KAAA,CAAKN,OAAO,CAACqB,MAAM,CAAC,CAAC;MACvB;IACF,CAAC,CAAAf,KAAA;;;IAGOgB,WAAW,GAAkB,IAAI,CAAAhB,KAAA;;;;;IAKjCiB,gBAAgB,GAAG7C,YAAY,CAAC8C,gBAAgB;IACpD,IAAI9C,YAAY,CAAC8C,gBAAgB,CAAClB,KAAA,CAAKc,aAAa,CAAC;IACrD,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgFR;AACF;AACA;AACA;AACA,OAJEd,KAAA;IAKOmB,iBAAiB,GAAG,UAACC,KAAa,EAAEC,GAAW,EAAK,KAAAC,qBAAA;MACzD,IAAI,CAACtB,KAAA,CAAKuB,IAAI,EAAE;QACd,MAAM,IAAIC,KAAK,CAAC,oDAAoD,CAAC;MACvE;;MAEA,IAAI,EAAAF,qBAAA,GAAAlD,YAAY,CAACqD,QAAQ,qBAArBH,qBAAA,CAAuBI,aAAa,MAAK1B,KAAA,CAAKuB,IAAI,EAAE;QACtDvB,KAAA,CAAK2B,KAAK,CAAC,CAAC;MACd;;MAEA3B,KAAA,CAAKuB,IAAI,CAACJ,iBAAiB,CAACC,KAAK,EAAEC,GAAG,CAAC;IACzC,CAAC;;IAED;AACF;AACA,OAFErB,KAAA;IAGO4B,SAAS,GAAG,YAAM;MACvB,IAAI5B,KAAA,CAAKuB,IAAI,EAAE;QACbvB,KAAA,CAAKmB,iBAAiB,CAAC,CAAC,EAAEnB,KAAA,CAAKuB,IAAI,CAACM,KAAK,CAAC1B,MAAM,CAAC;MACnD;IACF,CAAC,CAAAH,KAAA;;IAEO8B,cAAc,GAAG,iBAAAC,qBAAA;QACtB/B,KAAA,CAAKgB,WAAW,IAAAe,qBAAA,GAAG3D,YAAY,CAAC4D,qBAAqB,oBAAlC5D,YAAY,CAAC4D,qBAAqB,CAAGhC,KAAA,CAAK4B,SAAS,CAAC,YAAAG,qBAAA,GAAI,IAAI,GAAC,CAAA/B,KAAA;;IAE3EiC,sBAAsB,GAAG,YAAY;MAC3C,IAAIjC,KAAA,CAAKgB,WAAW,EAAE;QACpB5C,YAAY,CAAC8D,oBAAoB,YAAjC9D,YAAY,CAAC8D,oBAAoB,CAAGlC,KAAA,CAAKgB,WAAW,CAAC;QACrDhB,KAAA,CAAKgB,WAAW,GAAG,IAAI;MACzB;IACF,CAAC,CAAAhB,KAAA;;IAEOmC,UAAU,GAAG,UAACC,KAA4C,EAAK,KAAAC,GAAA,EAAAC,IAAA,EAAAC,qBAAA,EAAAC,IAAA;MACrE,IAAAC,YAAA;;;;;;;;;;;;;;;;;;;;;QAqBIL,KAAK,CApBPM,KAAK,CAALA,KAAK,GAAAD,YAAA,cAAGnD,aAAa,GAAAmD,YAAA,CACrBE,KAAK,GAmBHP,KAAK,CAnBPO,KAAK,CACLC,OAAO,GAkBLR,KAAK,CAlBPQ,OAAO,CACPC,IAAI,GAiBFT,KAAK,CAjBPS,IAAI,CACJC,UAAU,GAgBRV,KAAK,CAhBPU,UAAU,CACVC,MAAM,GAeJX,KAAK,CAfPW,MAAM,CACNC,KAAK,GAcHZ,KAAK,CAdPY,KAAK,CACLC,OAAO,GAaLb,KAAK,CAbPa,OAAO,CACPC,OAAO,GAYLd,KAAK,CAZPc,OAAO,CACPC,OAAO,GAWLf,KAAK,CAXPe,OAAO,CACPC,gBAAgB,GAUdhB,KAAK,CAVPgB,gBAAgB,CAChBC,WAAW,GASTjB,KAAK,CATPiB,WAAW,CACXC,aAAa,GAQXlB,KAAK,CARPkB,aAAa,CACbC,iBAAiB,GAOfnB,KAAK,CAPPmB,iBAAiB,CACjBC,aAAa,GAMXpB,KAAK,CANPoB,aAAa,CACbC,WAAW,GAKTrB,KAAK,CALPqB,WAAW,CACXC,QAAQ,GAINtB,KAAK,CAJPsB,QAAQ,CACRC,iBAAiB,GAGfvB,KAAK,CAHPuB,iBAAiB,CACjBC,QAAQ,GAENxB,KAAK,CAFPwB,QAAQ,CACLC,aAAa,GAAAC,6BAAA,CACd1B,KAAK,EAAA2B,SAAA;;MAET,IAAQlD,gBAAgB,GAAKb,KAAA,CAAKY,KAAK,CAA/BC,gBAAgB;;MAExB,IAAMmD,SAAS,GAAG;QAChBC,KAAK,EAAE;UACLvB,KAAK,EAALA;QACF;MACF,CAAC;;MAED,IAAMwB,kBAAkB,GAAGnF,EAAE,CAACiB,KAAA,CAAKmE,wBAAwB,CAAC,CAAC,GAAA9B,GAAA,OAAAA,GAAA;MAC1DlD,MAAM,CAACiF,QAAQ,CAACpE,KAAA,CAAKqE,KAAK,CAAC,IAAG,IAAI,EAAAhC,GAAA;MAClClD,MAAM,CAACmF,QAAQ,CAACtE,KAAA,CAAKqE,KAAK,CAAC,IAAG,CAAC1B,KAAK,IAAI,CAACC,OAAO,EAAAP,GAAA;MAChDlD,MAAM,CAACyE,QAAQ,CAAC5D,KAAA,CAAKqE,KAAK,CAAC,IAAGT,QAAQ,EAAAvB,GAAA;MACtClD,MAAM,CAACwD,KAAK,CAAC3C,KAAA,CAAKqE,KAAK,CAAC,IAAG,CAAC,CAAC1B,KAAK,EAAAN,GAAA;MAClClD,MAAM,CAACyD,OAAO,CAAC5C,KAAA,CAAKqE,KAAK,CAAC,IAAG,CAAC,CAACzB,OAAO,EAAAP,GAAA;MACtClD,MAAM,CAACwE,iBAAiB,CAAC,CAAC,IAAG3D,KAAA,CAAKuE,oBAAoB,CAAC,CAAC,EAAAlC,GAAA;MAC1D,CAAC;;MAEF,IAAMmC,aAAa,GAAG;QACpBzB,MAAM,EAAED,UAAU,GAAG,MAAM,GAAGC;MAChC,CAAC;;MAED,IAAI0B,mBAAmB,GAAG,IAAI;;MAE9B,IAAIzE,KAAA,CAAKY,KAAK,CAACtC,wBAAwB,IAAI,CAACuF,aAAa,CAAChC,KAAK,IAAI,CAACgC,aAAa,CAACa,YAAY,EAAE;QAC9FD,mBAAmB,gBAAGvG,KAAA,CAAAyG,aAAA,WAAMC,SAAS,EAAEzF,MAAM,CAACkE,WAAW,CAAC,CAAE,IAAEA,WAAkB,CAAC;MACnF;;MAEA,IAAIwB,YAAY,GAAG,IAAI;MACvB,IAAI/B,UAAU,EAAE;QACd,IAAMgC,SAAS,GAAG;UAChBjD,KAAK,EAAE7B,KAAA,CAAKoC,KAAK,CAACP,KAAK;UACvB6C,YAAY,EAAE1E,KAAA,CAAKoC,KAAK,CAACsC,YAAY;UACrCE,SAAS,EAAE7F,EAAE,CAACmF,kBAAkB,EAAE/E,MAAM,CAAC4F,IAAI,CAAC,CAAC,CAAC;UAChDC,QAAQ,EAAE;QACZ,CAAC;QACDH,YAAY,gBAAG3G,KAAA,CAAAyG,aAAA,aAAAM,QAAA,KAAcH,SAAS,IAAEI,GAAG,EAAElF,KAAA,CAAKmF,OAAQ,GAAE,CAAC;MAC/D;;MAEA,IAAMzF,OAAO,GAAG6D,iBAAiB,IAAI1C,gBAAgB,IAAIb,KAAA,CAAKuB,IAAI;MAChErD,KAAA,CAAAyG,aAAA,CAACvF,eAAe;QACdgF,QAAQ,EAAEpE,KAAA,CAAKuB,IAAK;QACpBsB,IAAI,EAAE7C,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACmC,IAAK;QAC3BuC,IAAI,EAAE3B,WAAY;QAClB5B,KAAK,EAAEgC,aAAa,CAAChC,KAAM;QAC3B1B,MAAM,GAAAmC,IAAA,IAAAC,qBAAA,GAAEsB,aAAa,CAACwB,SAAS,YAAA9C,qBAAA,GAAIiB,aAAa,YAAAlB,IAAA,GAAI,CAAE;QACtDgD,WAAW,EAAEtF,KAAA,CAAKuF,sBAAuB;QACzCL,GAAG,EAAElF,KAAA,CAAKwF,UAAW;MACtB,CACF;;;MAED,IAAMC,SAAS,GAAG7G,uBAAuB,GAAGS,8BAA8B,GAAG,UAAU;;MAEvF;QACEnB,KAAA,CAAAyG,aAAA,CAAClG,WAAW;UACViH,cAAc,EAAE1F,KAAA,CAAKuF,sBAAuB;UAC5CI,cAAc,EAAE3F,KAAA,CAAKuF,sBAAuB;UAC5CK,MAAM,EAAE5F,KAAA,CAAKY,KAAK,CAACC,gBAAiB;;QAEpC3C,KAAA,CAAAyG,aAAA,UAAAM,QAAA;UACE,YAAUzF,gBAAgB,CAACC,IAAK;QAC5BuE,SAAS;UACbY,SAAS,EAAE7F,EAAE,CAACiB,KAAA,CAAK6F,oBAAoB,CAAC,CAAC,GAAArD,IAAA,OAAAA,IAAA;UACtCrD,MAAM,CAACM,IAAI,CAAC,CAAC,IAAG,IAAI,EAAA+C,IAAA;UACtB,CAAE;;QAEFiC,mBAAmB;QACpBvG,KAAA,CAAAyG,aAAA,CAACjG,cAAc,IAACoH,QAAQ,EAAE9F,KAAA,CAAKc,aAAc;QAC3C5C,KAAA,CAAAyG,aAAA,CAACc,SAAS,EAAAR,QAAA;QACJpB,aAAa;UACjBe,SAAS,EAAEV,kBAAmB;UAC9BD,KAAK,EAAEO,aAAc;UACrBnB,WAAW,EAAE,CAACoB,mBAAmB,GAAGpB,WAAW,GAAG0C,SAAU;UAC5Db,GAAG,EAAElF,KAAA,CAAKkF,GAAI;UACdc,QAAQ,EAAEhG,KAAA,CAAKiG,YAAa;UAC5BjD,KAAK,EAAEhD,KAAA,CAAKkG,SAAU;UACtBjD,OAAO,EAAEjD,KAAA,CAAKmG,WAAY;UAC1BhD,OAAO,EAAEnD,KAAA,CAAKoG,WAAY;UAC1BC,SAAS,EAAErG,KAAA,CAAKsG,aAAc;UAC9B1C,QAAQ,EAAEA,QAAS;;QAElB5D,KAAA,CAAKoC,KAAK,CAACmE;QACH;QACG,CAAC;QAChB1B,YAAY;QACZnF;QACI;QACI,CAAC;;IAElB,CAAC,CAAAM,KAAA;;IAEOuF,sBAAsB,GAAG,oBAAMvF,KAAA,CAAKwG,QAAQ,CAAC,EAAE3F,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC,GAAAb,KAAA;;IAEzEsG,aAAa,GAAG,UAACG,CAA2C,EAAK;MACvE;MACA;MACA,IAAM5E,KAAK,GAAG7B,KAAA,CAAKoC,KAAK,CAACP,KAAK,KAAKkE,SAAS,GAAG/F,KAAA,CAAKoC,KAAK,CAACP,KAAK,CAAC6E,QAAQ,CAAC,CAAC,GAAG,IAAI;MACjF,IAAMC,YAAY,GAAGtI,UAAU,CAACoI,CAAC,CAAC,IAAI5E,KAAK,KAAK,IAAI,IAAIA,KAAK,CAAC1B,MAAM,KAAKH,KAAA,CAAKoC,KAAK,CAACiD,SAAS;;MAE7F,IAAIsB,YAAY,EAAE;QAChBF,CAAC,CAACG,cAAc,CAAC,CAAC;MACpB;;MAEA,IAAI5G,KAAA,CAAKoC,KAAK,CAACiE,SAAS,EAAE;QACxBrG,KAAA,CAAKoC,KAAK,CAACiE,SAAS,CAACI,CAAC,CAAC;MACzB;IACF,CAAC,CAAAzG,KAAA;;IAEOiG,YAAY,GAAG,UAACQ,CAAyC,EAAK;MACpE,IAAInI,wBAAwB,EAAE;QAC5B,IAAMuI,YAAY,GAAGJ,CAAC,CAACK,MAAM,CAACjF,KAAK,KAAK,EAAE;;QAE1C,IAAI7B,KAAA,CAAKY,KAAK,CAACtC,wBAAwB,KAAKuI,YAAY,EAAE;UACxD7G,KAAA,CAAKwG,QAAQ,CAAC,EAAElI,wBAAwB,EAAEuI,YAAY,CAAC,CAAC,CAAC;QAC3D;MACF;;MAEA,IAAI7G,KAAA,CAAKoC,KAAK,CAACkB,aAAa,EAAE;QAC5BtD,KAAA,CAAKoC,KAAK,CAACkB,aAAa,CAACmD,CAAC,CAACK,MAAM,CAACjF,KAAK,CAAC;MAC1C;;MAEA,IAAI7B,KAAA,CAAKoC,KAAK,CAACU,UAAU,EAAE;QACzB9C,KAAA,CAAK8C,UAAU,CAAC,CAAC;MACnB;;MAEA,IAAI9C,KAAA,CAAKoC,KAAK,CAAC4D,QAAQ,EAAE;QACvBhG,KAAA,CAAKoC,KAAK,CAAC4D,QAAQ,CAACS,CAAC,CAAC;MACxB;;MAEAzG,KAAA,CAAKc,aAAa,CAAC,CAAC;IACtB,CAAC,CAAAd,KAAA;;IAEOkF,GAAG,GAAG,UAAC6B,OAA4B,EAAK;MAC9C/G,KAAA,CAAKuB,IAAI,GAAGwF,OAAO;IACrB,CAAC,CAAA/G,KAAA;;IAEOmF,OAAO,GAAG,UAAC4B,OAA4B,EAAK;MAClD/G,KAAA,CAAKgH,QAAQ,GAAGD,OAAO;IACzB,CAAC,CAAA/G,KAAA;;IAEOwF,UAAU,GAAG,UAACN,GAA8B,EAAK;MACvDlF,KAAA,CAAKN,OAAO,GAAGwF,GAAG;IACpB,CAAC,CAAAlF,KAAA;;IAEOiH,iBAAiB,GAAG,YAAM;MAChC,IAAMD,QAAQ,GAAGhH,KAAA,CAAKgH,QAAQ;MAC9B,IAAI,CAACA,QAAQ,EAAE;QACb;MACF;MACA,IAAMzF,IAAI,GAAGvB,KAAA,CAAKuB,IAAI;MACtB,IAAI,CAACA,IAAI,EAAE;QACT;MACF;MACA,IAAIvB,KAAA,CAAKoC,KAAK,CAACP,KAAK,KAAKkE,SAAS,EAAE;QAClCiB,QAAQ,CAACnF,KAAK,GAAGN,IAAI,CAACM,KAAK;MAC7B;;MAEA,IAAAqF,cAAA,GAA0BlH,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAAjCyG,IAAI,GAAAD,cAAA,CAAJC,IAAI,CAAEjE,OAAO,GAAAgE,cAAA,CAAPhE,OAAO;MACrB,IAAIiE,IAAI,KAAKpB,SAAS,IAAI7C,OAAO,KAAK6C,SAAS,EAAE;QAC/C;MACF;;MAEA,IAAAqB,KAAA;QACElI,iBAAiB,CAAC;UAChBqC,IAAI,EAAEyF,QAAQ;UACdK,OAAO,EAAE,OAAOF,IAAI,KAAK,QAAQ,GAAGA,IAAI,GAAGG,QAAQ,CAACH,IAAI,EAAE,EAAE,CAAC;UAC7DjE,OAAO,EAAE,OAAOA,OAAO,KAAK,QAAQ,GAAGA,OAAO,GAAGoE,QAAQ,CAACpE,OAAO,EAAE,EAAE,CAAC;UACtEQ,QAAQ,EAAE1D,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACgD;QAC5B,CAAC,CAAC,IAAI,CAAC,CAAC,CANF6D,MAAM,GAAAH,KAAA,CAANG,MAAM,CAAEC,iBAAiB,GAAAJ,KAAA,CAAjBI,iBAAiB;;MAQjC,IAAID,MAAM,KAAKxB,SAAS,IAAIyB,iBAAiB,KAAKzB,SAAS,EAAE;QAC3D;MACF;;MAEAxE,IAAI,CAAC0C,KAAK,CAACsD,MAAM,GAAGA,MAAM,GAAG,IAAI;MACjChG,IAAI,CAAC0C,KAAK,CAACwD,SAAS,GAAGD,iBAAiB,GAAG,QAAQ,GAAG,QAAQ;MAC9DR,QAAQ,CAAC/C,KAAK,CAACwD,SAAS,GAAGD,iBAAiB,GAAG,QAAQ,GAAG,QAAQ;IACpE,CAAC,CAAAxH,KAAA;;IAEO8C,UAAU,GAAG3E,QAAQ,CAAC6B,KAAA,CAAKiH,iBAAiB,EAAEjH,KAAA,CAAK0H,yBAAyB,CAAC,CAAC,CAAC,CAAA1H,KAAA;;IAE/EkG,SAAS,GAAG,UAACyB,KAAgD,EAAK;MACxE,IAAI3H,KAAA,CAAKoC,KAAK,CAACU,UAAU,EAAE;QACzB9C,KAAA,CAAK8C,UAAU,CAAC,CAAC;MACnB;;MAEA,IAAI9C,KAAA,CAAKoC,KAAK,CAACY,KAAK,EAAE;QACpBhD,KAAA,CAAKoC,KAAK,CAACY,KAAK,CAAC2E,KAAK,CAAC;MACzB;;MAEA3H,KAAA,CAAKc,aAAa,CAAC,CAAC;IACtB,CAAC,CAAAd,KAAA;;IAEOmG,WAAW,GAAG,UAACwB,KAAgD,EAAK;MAC1E,IAAI3H,KAAA,CAAKoC,KAAK,CAACU,UAAU,EAAE;QACzB9C,KAAA,CAAK8C,UAAU,CAAC,CAAC;MACnB;;MAEA,IAAI9C,KAAA,CAAKoC,KAAK,CAACa,OAAO,EAAE;QACtBjD,KAAA,CAAKoC,KAAK,CAACa,OAAO,CAAC0E,KAAK,CAAC;MAC3B;;MAEA3H,KAAA,CAAKc,aAAa,CAAC,CAAC;IACtB,CAAC,CAAAd,KAAA;;IAEOoG,WAAW,GAAG,UAACuB,KAA4C,EAAK;MACtE3H,KAAA,CAAKwG,QAAQ,CAAC,EAAE3F,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;;MAEzC,IAAIb,KAAA,CAAKoC,KAAK,CAACgB,gBAAgB,EAAE;QAC/B;QACApD,KAAA,CAAKuB,IAAI,IAAI,CAAC5C,MAAM,GAAGqB,KAAA,CAAK4B,SAAS,CAAC,CAAC,GAAG5B,KAAA,CAAK8B,cAAc,CAAC,CAAC;MACjE;;MAEA,IAAI9B,KAAA,CAAKoC,KAAK,CAACe,OAAO,EAAE;QACtBnD,KAAA,CAAKoC,KAAK,CAACe,OAAO,CAACwE,KAAK,CAAC;MAC3B;IACF,CAAC,QAAA3H,KAAA,EAAA4H,cAAA,CAAAhI,QAAA,EAAAG,gBAAA,MAAA8H,MAAA,GAAAjI,QAAA,CAAAkI,SAAA,CAAAD,MAAA,CA7YOhC,oBAAoB,GAA5B,SAAAA,qBAAA,EAA+B,CAC7B,QAAQ,IAAI,CAACnF,QAAQ,CAAC,CAAC,CAACmC,IAAI,GAC1B,KAAK,OAAO,CACV,OAAO1D,MAAM,CAAC4I,SAAS,CAAC,IAAI,CAAC1D,KAAK,CAAC,CACrC,KAAK,QAAQ,CACX,OAAOlF,MAAM,CAAC6I,UAAU,CAAC,IAAI,CAAC3D,KAAK,CAAC,CACtC,KAAK,OAAO,CACZ,QACE,OAAOlF,MAAM,CAAC8I,SAAS,CAAC,IAAI,CAAC5D,KAAK,CAAC,CACvC,CACF,CAAC,CAAAwD,MAAA,CAEO1D,wBAAwB,GAAhC,SAAAA,yBAAA,EAAmC,CACjC,QAAQ,IAAI,CAACzD,QAAQ,CAAC,CAAC,CAACmC,IAAI,GAC1B,KAAK,OAAO,CACV,OAAO1D,MAAM,CAAC+I,aAAa,CAAC,IAAI,CAAC7D,KAAK,CAAC,CACzC,KAAK,QAAQ,CACX,OAAOlF,MAAM,CAACgJ,cAAc,CAAC,IAAI,CAAC9D,KAAK,CAAC,CAC1C,KAAK,OAAO,CACZ,QACE,OAAOlF,MAAM,CAACiJ,aAAa,CAAC,IAAI,CAAC/D,KAAK,CAAC,CAC3C,CACF,CAAC,CAAAwD,MAAA,CAuBOH,yBAAyB,GAAjC,SAAAA,0BAAkCtF,KAAoB,EAAuB,KAA3CA,KAAoB,cAApBA,KAAoB,GAAG,IAAI,CAACA,KAAK,GACjE;IACA;IACA,OAAO,IAAI,CAACmC,oBAAoB,CAACnC,KAAK,CAAC,GAAG,CAAC,GAAG7C,gCAAgC,CAChF,CAAC,CAAAsI,MAAA,CACOtD,oBAAoB,GAA5B,SAAAA,qBAAA8D,KAAA,EAAmG,KAAAC,KAAA,GAAAD,KAAA,cAArB,IAAI,CAACjG,KAAK,GAAAiG,KAAA,CAAzD1E,iBAAiB,GAAA2E,KAAA,CAAjB3E,iBAAiB,CAAED,QAAQ,GAAA4E,KAAA,CAAR5E,QAAQ,CACxD,OAAOC,iBAAiB,IAAI,CAACD,QAAQ,CACvC,CAAC,CAAAmE,MAAA,CAEMU,iBAAiB,GAAxB,SAAAA,kBAAA,EAA2B,CACzB,IAAI,IAAI,CAACnG,KAAK,CAACU,UAAU,EAAE,CACzB,IAAI,CAACA,UAAU,CAAC,CAAC,CACjB,IAAI,CAAC0F,YAAY,GAAGjK,YAAY,CAACkK,WAAW,CAAC,IAAI,CAAC3F,UAAU,CAAC,CAC/D,CAEA,IAAI,IAAI,CAACvB,IAAI,IAAI,IAAI,CAACa,KAAK,CAACmB,iBAAiB,IAAI,IAAI,CAACtC,gBAAgB,EAAE,CACtE,IAAI,CAACA,gBAAgB,CAACyH,OAAO,CAAC,IAAI,CAACnH,IAAI,EAAE,EAAEoH,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAChE,CACF,CAAC,CAAAd,MAAA,CAEMe,oBAAoB,GAA3B,SAAAA,qBAAA,EAA8B,CAC5B,IAAI,IAAI,CAACJ,YAAY,EAAE,CACrB,IAAI,CAACA,YAAY,CAACK,MAAM,CAAC,CAAC,CAC5B,CACA,IAAI,IAAI,CAACzG,KAAK,CAACmB,iBAAiB,IAAI,IAAI,CAACtC,gBAAgB,EAAE,CACzD,IAAI,CAACA,gBAAgB,CAAC6H,UAAU,CAAC,CAAC,CACpC,CACA,IAAI,CAAC7G,sBAAsB,CAAC,CAAC,CAC/B,CAAC,CAAA4F,MAAA,CAEMkB,kBAAkB,GAAzB,SAAAA,mBAA0BC,SAAwB,EAAE,CAClD,IAAI,IAAI,CAACtB,yBAAyB,CAAC,CAAC,KAAK,IAAI,CAACA,yBAAyB,CAACsB,SAAS,CAAC,EAAE,CAClF,IAAI,CAAClG,UAAU,CAACmG,MAAM,CAAC,CAAC,CACxB,IAAI,CAACnG,UAAU,GAAG3E,QAAQ,CAAC,IAAI,CAAC8I,iBAAiB,EAAE,IAAI,CAACS,yBAAyB,CAAC,CAAC,CAAC,CACtF,CACA,IAAAwB,eAAA,GAA0B,IAAI,CAACxI,QAAQ,CAAC,CAAC,CAAjCyG,IAAI,GAAA+B,eAAA,CAAJ/B,IAAI,CAAEjE,OAAO,GAAAgG,eAAA,CAAPhG,OAAO,CACrB,IACE,IAAI,CAACd,KAAK,CAACU,UAAU,KACpBqE,IAAI,KAAK6B,SAAS,CAAC7B,IAAI,IAAIjE,OAAO,KAAK8F,SAAS,CAAC9F,OAAO,IAAI,IAAI,CAACd,KAAK,CAACP,KAAK,KAAKmH,SAAS,CAACnH,KAAK,CAAC,EAClG,CACA,IAAI,CAACiB,UAAU,CAAC,CAAC,CACnB,CACF,CAAC,CAAA+E,MAAA,CAEMsB,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACElL,KAAA,CAAAyG,aAAA,CAACnG,YAAY,CAAC6K,QAAQ,QACnB,UAAChF,KAAK,EAAK,CACV+E,MAAI,CAAC/E,KAAK,GAAGA,KAAK,CAClB,oBACEnG,KAAA,CAAAyG,aAAA,CAAC9F,aAAa,EAAAoG,QAAA,GAACqE,WAAW,EAAEF,MAAI,CAACG,WAAY,IAAKH,MAAI,CAAC1I,QAAQ,CAAC,CAAC,GAC9D0I,MAAI,CAACjH,UACO,CAAC,CAEpB,CACqB,CAAC,CAE5B,CAAC,CAED;AACF;AACA,KAFE,CAAA0F,MAAA,CAGOlG,KAAK,GAAZ,SAAAA,MAAA,EAAe,CACb,IAAI,IAAI,CAACJ,IAAI,EAAE,CACb,IAAI,CAACA,IAAI,CAACI,KAAK,CAAC,CAAC,CACnB,CACF,CAAC,CAED;AACF;AACA,KAFE,CAAAkG,MAAA,CAGO2B,IAAI,GAAX,SAAAA,KAAA,EAAc,CACZ,IAAI,IAAI,CAACjI,IAAI,EAAE,CACb,IAAI,CAACA,IAAI,CAACiI,IAAI,CAAC,CAAC,CAClB,CACF,CAAC,QAAA5J,QAAA,GAtI2B1B,KAAK,CAACuH,SAAS,GAAA3F,SAAA,CAC7B2J,mBAAmB,GAAG,UAAU,EAAA3J,SAAA,CAChC4J,WAAW,GAAG,UAAU,EAAA5J,SAAA,CAExBa,YAAY,GAAiB,EACzCwG,IAAI,EAAE,CAAC,EACPjE,OAAO,EAAE,EAAE,EACXQ,QAAQ,EAAE,IAAI,EACdb,IAAI,EAAE,OAAO,EACbc,iBAAiB,EAAE7E,SAAS,CAC9B,CAAC,EAAAgB,SAAA,MAAAD,MAAA","ignoreList":[]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { AriaAttributes, ReactNode } from 'react';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import PropTypes from 'prop-types';
|
|
4
3
|
import type { Override } from '../../typings/utility-types';
|
|
5
4
|
import type { CommonProps } from '../../internal/CommonWrapper';
|
|
5
|
+
import type { TGetRootNode } from '../../lib/rootNode';
|
|
6
6
|
import type { SizeProp } from '../../lib/types/props';
|
|
7
7
|
export interface TextareaProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps, Override<React.TextareaHTMLAttributes<HTMLTextAreaElement>, {
|
|
8
8
|
/** Переводит контрол в состояние валидации "ошибка". */
|
|
@@ -67,49 +67,6 @@ type DefaultProps = Required<Pick<TextareaProps, 'rows' | 'maxRows' | 'extraRow'
|
|
|
67
67
|
export declare class Textarea extends React.Component<TextareaProps, TextareaState> {
|
|
68
68
|
static __KONTUR_REACT_UI__: string;
|
|
69
69
|
static displayName: string;
|
|
70
|
-
static propTypes: {
|
|
71
|
-
error: PropTypes.Requireable<boolean>;
|
|
72
|
-
warning: PropTypes.Requireable<boolean>;
|
|
73
|
-
disabled: PropTypes.Requireable<boolean>;
|
|
74
|
-
autoResize: PropTypes.Requireable<boolean>;
|
|
75
|
-
extraRow: PropTypes.Requireable<boolean>;
|
|
76
|
-
disableAnimations: PropTypes.Requireable<boolean>;
|
|
77
|
-
maxRows: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
|
|
78
|
-
resize: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
|
|
79
|
-
width: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
|
|
80
|
-
id: PropTypes.Requireable<string>;
|
|
81
|
-
name: PropTypes.Requireable<string>;
|
|
82
|
-
title: PropTypes.Requireable<string>;
|
|
83
|
-
spellCheck: PropTypes.Requireable<boolean>;
|
|
84
|
-
role: PropTypes.Requireable<string>;
|
|
85
|
-
maxLength: PropTypes.Requireable<number>;
|
|
86
|
-
tabIndex: PropTypes.Requireable<number>;
|
|
87
|
-
rows: PropTypes.Requireable<number>;
|
|
88
|
-
placeholder: PropTypes.Requireable<string>;
|
|
89
|
-
value: PropTypes.Requireable<string>;
|
|
90
|
-
defaultValue: PropTypes.Requireable<string>;
|
|
91
|
-
onValueChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
92
|
-
onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
|
|
93
|
-
onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
|
|
94
|
-
onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
|
|
95
|
-
onMouseMove: PropTypes.Requireable<(...args: any[]) => any>;
|
|
96
|
-
onMouseOut: PropTypes.Requireable<(...args: any[]) => any>;
|
|
97
|
-
onMouseUp: PropTypes.Requireable<(...args: any[]) => any>;
|
|
98
|
-
onMouseDown: PropTypes.Requireable<(...args: any[]) => any>;
|
|
99
|
-
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
100
|
-
onDoubleClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
101
|
-
onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
|
|
102
|
-
onKeyPress: PropTypes.Requireable<(...args: any[]) => any>;
|
|
103
|
-
onKeyUp: PropTypes.Requireable<(...args: any[]) => any>;
|
|
104
|
-
onInput: PropTypes.Requireable<(...args: any[]) => any>;
|
|
105
|
-
onFocus: PropTypes.Requireable<(...args: any[]) => any>;
|
|
106
|
-
onBlur: PropTypes.Requireable<(...args: any[]) => any>;
|
|
107
|
-
onScroll: PropTypes.Requireable<(...args: any[]) => any>;
|
|
108
|
-
onWheel: PropTypes.Requireable<(...args: any[]) => any>;
|
|
109
|
-
onCut: PropTypes.Requireable<(...args: any[]) => any>;
|
|
110
|
-
onPaste: PropTypes.Requireable<(...args: any[]) => any>;
|
|
111
|
-
onCopy: PropTypes.Requireable<(...args: any[]) => any>;
|
|
112
|
-
};
|
|
113
70
|
static defaultProps: DefaultProps;
|
|
114
71
|
private getProps;
|
|
115
72
|
private getRootSizeClassName;
|
|
@@ -126,6 +83,7 @@ export declare class Textarea extends React.Component<TextareaProps, TextareaSta
|
|
|
126
83
|
private counter;
|
|
127
84
|
private layoutEvents;
|
|
128
85
|
private textareaObserver;
|
|
86
|
+
getRootNode: TGetRootNode;
|
|
129
87
|
private setRootNode;
|
|
130
88
|
private getAutoResizeThrottleWait;
|
|
131
89
|
private isAnimationsDisabled;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import React, { useContext, useCallback, useImperativeHandle, useState } from 'react';
|
|
2
|
-
import propTypes from 'prop-types';
|
|
3
|
-
import { globalObject } from '@skbkontur/global-object';
|
|
4
|
-
import { safePropTypesInstanceOf } from "../../../lib/SSRSafe";
|
|
5
2
|
import { forwardRefAndName } from "../../../lib/forwardRefAndName";
|
|
6
3
|
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
7
4
|
import { isFunction } from "../../../lib/utils";
|
|
@@ -87,11 +84,4 @@ export var TextareaCounter = forwardRefAndName('TextareaCounter', function (_ref
|
|
|
87
84
|
className: styles.counterHelp()
|
|
88
85
|
}, counterHelp)))
|
|
89
86
|
);
|
|
90
|
-
});
|
|
91
|
-
TextareaCounter.propTypes = {
|
|
92
|
-
length: propTypes.number.isRequired,
|
|
93
|
-
value: propTypes.oneOfType([propTypes.string, propTypes.number]),
|
|
94
|
-
help: propTypes.oneOfType([propTypes.node, propTypes.func]),
|
|
95
|
-
onCloseHelp: propTypes.func.isRequired,
|
|
96
|
-
textarea: safePropTypesInstanceOf(globalObject.HTMLTextAreaElement).isRequired
|
|
97
|
-
};
|
|
87
|
+
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useContext","useCallback","useImperativeHandle","useState","
|
|
1
|
+
{"version":3,"names":["React","useContext","useCallback","useImperativeHandle","useState","forwardRefAndName","ThemeContext","isFunction","Tooltip","cx","QuestionCircleIcon16Solid","TextareaDataTids","styles","handleHelpMouseDown","e","preventDefault","TextareaCounter","_ref","ref","_cx","length","value","help","onCloseHelp","textarea","size","theme","_useState","clientWidth","width","setWidth","_useState2","clientHeight","height","setHeight","reflow","renderTooltipContent","textareaValue","toString","counterValue","helpIconProps","onMouseDown","color","textareaCounterHelpIconColor","helpIcon","createElement","counterHelp","pos","trigger","render","onCloseClick","getCounterSizeClassName","counterLarge","counterMedium","counterSmall","counter","className","counterContainer","style","counterError"],"sources":["TextareaCounter.tsx"],"sourcesContent":["import type { SyntheticEvent } from 'react';\nimport React, { useContext, useCallback, useImperativeHandle, useState } from 'react';\n\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isFunction } from '../../lib/utils';\nimport { Tooltip } from '../Tooltip';\nimport { cx } from '../../lib/theming/Emotion';\nimport { QuestionCircleIcon16Solid } from '../../internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid';\nimport type { SizeProp } from '../../lib/types/props';\n\nimport type { TextareaProps } from './Textarea';\nimport { TextareaDataTids } from './Textarea';\nimport { styles } from './Textarea.styles';\n\nexport interface TextareaCounterProps {\n value: TextareaProps['value'];\n length: number;\n help: TextareaProps['counterHelp'];\n onCloseHelp: () => void;\n textarea: HTMLTextAreaElement;\n size: SizeProp;\n}\n\nexport interface TextareaCounterRef {\n reflow: () => void;\n}\n\nconst handleHelpMouseDown = (e: SyntheticEvent) => e.preventDefault();\n\nexport const TextareaCounter = forwardRefAndName<TextareaCounterRef, TextareaCounterProps>(\n 'TextareaCounter',\n ({ length, value, help, onCloseHelp, textarea, size }, ref) => {\n const theme = useContext(ThemeContext);\n const [width, setWidth] = useState(textarea.clientWidth);\n const [height, setHeight] = useState(textarea.clientHeight);\n const reflow = useCallback(() => {\n const { clientWidth, clientHeight } = textarea;\n setWidth(clientWidth);\n setHeight(clientHeight);\n }, [textarea]);\n useImperativeHandle(ref, () => ({ reflow }), [reflow]);\n const renderTooltipContent = useCallback(() => {\n if (typeof help === 'function') {\n return help();\n }\n return help;\n }, [help]);\n const textareaValue = value ? value.toString().length : 0;\n const counterValue = length - textareaValue;\n\n const helpIconProps = {\n onMouseDown: handleHelpMouseDown,\n color: theme.textareaCounterHelpIconColor,\n 'data-tid': TextareaDataTids.helpIcon,\n };\n const helpIcon = <QuestionCircleIcon16Solid {...helpIconProps} />;\n const counterHelp = isFunction(help) ? (\n help()\n ) : (\n <Tooltip pos={'right bottom'} trigger={'click'} render={renderTooltipContent} onCloseClick={onCloseHelp}>\n {helpIcon}\n </Tooltip>\n );\n\n const getCounterSizeClassName = () => {\n switch (size) {\n case 'large':\n return styles.counterLarge(theme);\n case 'medium':\n return styles.counterMedium(theme);\n case 'small':\n default:\n return styles.counterSmall(theme);\n }\n };\n\n return (\n <div data-tid={TextareaDataTids.counter} className={cx(styles.counterContainer(theme))} style={{ width, height }}>\n <span\n className={cx(getCounterSizeClassName(), styles.counter(theme), {\n [styles.counterError(theme)]: counterValue < 0,\n })}\n >\n {counterValue}\n {help && <span className={styles.counterHelp()}>{counterHelp}</span>}\n </span>\n </div>\n );\n },\n);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","CSSTransition","TransitionGroup","globalObject","ThemeFactory","ThemeContext","RenderContainer","CommonWrapper","isTestEnv","rootNode","styles","ToastView","ToastStatic","ToastDataTids","toastStatic","toastView","action","close","Toast","_class","_Toast","_React$Component","props","_this","call","rootRef","createRef","safelyCall","onClose","state","notification","setState","setRootRef","element","setRootNode","current","_clearTimer","_timeout","clearTimeout","_setTimer","_this$state$showTime","showTime","setTimeout","_refToast","_toast","id","showCloseIcon","_inheritsLoose","_proto","prototype","componentWillUnmount","render","_this2","createElement","Consumer","theme","create","Provider","value","_renderToast","push","onPush","_ref","_this$state","toastProps","onMouseEnter","onMouseLeave","children","key","classNames","enter","enterActive","exit","exitActive","timeout","nodeRef","_extends","rootNodeRef","ref","Component","__KONTUR_REACT_UI__","displayName","fn","_len","arguments","length","args","Array","_key","apply"],"sources":["Toast.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\n\nimport { styles } from './Toast.styles';\nimport type { ToastViewProps } from './ToastView';\nimport { ToastView } from './ToastView';\nimport { ToastStatic } from './ToastStatic';\n\nexport interface Action {\n label: string;\n handler: () => void;\n 'aria-label'?: string;\n}\n\nexport interface ToastState {\n notification: Nullable<React.ReactNode>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n showCloseIcon?: boolean;\n}\n\nexport interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Задает функцию, которая вызывается при возникновении тоста. */\n onPush?: (notification: string, action?: Action) => void;\n\n /** Задает функцию, которая вызывается при закрытии тоста. */\n onClose?: (notification: string, action?: Action) => void;\n\n /** Задает объект с переменными темы. Он будет объединён с темой из контекста. */\n theme?: ThemeIn;\n}\n\nexport type ToastPush = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n) => void;\n\nexport type ToastClose = () => void;\n\nexport const ToastDataTids = {\n toastStatic: 'StaticToast',\n toastView: 'ToastView__root',\n action: 'ToastView__action',\n close: 'ToastView__close',\n} as const;\n\n/**\n * `Toast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.\n * Результат может быть положительным, отрицательным или нейтральным.\n *\n * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.\n * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.\n *\n * Для статических тостов рекомендуется использовать компонент SingleToast - в нём исправлены эти проблемы.\n */\n@rootNode\nexport class Toast extends React.Component<ToastProps, ToastState> {\n public static __KONTUR_REACT_UI__ = 'Toast';\n public static displayName = 'Toast';\n\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n /** @deprecated use `push` method in ref or `SingleToast.push` */\n public static push: ToastPush = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n ) => {\n ToastStatic.push(notification, action, showTime, showCloseIcon);\n };\n\n /** @deprecated use `close` method in ref or `SingleToast.close` */\n public static close: ToastClose = () => {\n ToastStatic.close();\n };\n\n public _toast: Nullable<ToastView>;\n private _timeout: SafeTimer;\n private rootRef = React.createRef<HTMLElement>();\n\n constructor(props: ToastProps) {\n super(props);\n this.state = {\n notification: null,\n action: null,\n id: 0,\n showTime: null,\n showCloseIcon: false,\n };\n }\n\n public componentWillUnmount() {\n this._clearTimer();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <ThemeContext.Provider value={this.theme}>\n <RenderContainer>\n <TransitionGroup>{this._renderToast()}</TransitionGroup>\n </RenderContainer>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Показывает тост с `notification` в качестве сообщения.\n * Тост автоматически скрывается через 3 или 7 секунд,\n * в зависимости от наличия у него кнопки `action`.\n * Время показа можно задать вручную, передав `showTime`.\n *\n * @public\n * @param {React.ReactNode} notification\n * @param {Action} action `action` опциональный параметр формата `{ label: React.ReactNode, handler: function }`\n * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler\n * @param {number} showTime Время существования Toast в миллисекундах\n * @param {boolean} showCloseIcon Добавляет крестик для закрытия тоста. При указывании action в onPush крестик отображается всегда.\n */\n public push(notification: React.ReactNode, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) {\n if (this.state.notification) {\n this.close();\n }\n\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(({ id }) => ({ notification, action, id: id + 1, showTime, showCloseIcon }), this._setTimer);\n }\n\n /**\n * @public\n */\n public close = () => {\n safelyCall(this.props.onClose, this.state.notification, this.state.action);\n this.setState({ notification: null, action: null });\n };\n\n private _renderToast() {\n const { notification, action, id, showCloseIcon } = this.state;\n\n if (!notification) {\n return null;\n }\n\n const toastProps: ToastViewProps = {\n onMouseEnter: this._clearTimer,\n onMouseLeave: this._setTimer,\n onClose: this.close,\n children: notification,\n 'aria-label': this.props['aria-label'],\n action,\n showCloseIcon,\n };\n\n return (\n <CSSTransition\n key={id}\n classNames={{\n enter: styles.enter(),\n enterActive: styles.enterActive(),\n exit: styles.exit(),\n exitActive: styles.exitActive(),\n }}\n timeout={{\n enter: 200,\n exit: 150,\n }}\n enter={!isTestEnv}\n exit={!isTestEnv}\n nodeRef={this.rootRef}\n >\n <CommonWrapper rootNodeRef={this.setRootRef} {...this.props}>\n <ToastView ref={this._refToast} {...toastProps} />\n </CommonWrapper>\n </CSSTransition>\n );\n }\n\n private setRootRef = (element: Nullable<Element>) => {\n this.setRootNode(element);\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n this.rootRef.current = element;\n };\n\n private _clearTimer = () => {\n if (this._timeout) {\n globalObject.clearTimeout(this._timeout);\n this._timeout = null;\n }\n };\n\n private _setTimer = () => {\n this._clearTimer();\n\n let showTime = this.state.action ? 7000 : 3000;\n showTime = this.state.showTime ?? showTime;\n this._timeout = globalObject.setTimeout(this.close, showTime);\n };\n\n private _refToast = (element: ToastView) => {\n this._toast = element;\n };\n}\n\nfunction safelyCall(fn: Nullable<(a?: any) => any>, ...args: any[]) {\n if (fn) {\n fn(...args);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","CSSTransition","TransitionGroup","globalObject","ThemeFactory","ThemeContext","RenderContainer","CommonWrapper","isTestEnv","rootNode","styles","ToastView","ToastStatic","ToastDataTids","toastStatic","toastView","action","close","Toast","_class","_Toast","_React$Component","props","_this","call","rootRef","createRef","safelyCall","onClose","state","notification","setState","setRootRef","element","setRootNode","current","_clearTimer","_timeout","clearTimeout","_setTimer","_this$state$showTime","showTime","setTimeout","_refToast","_toast","id","showCloseIcon","_inheritsLoose","_proto","prototype","componentWillUnmount","render","_this2","createElement","Consumer","theme","create","Provider","value","_renderToast","push","onPush","_ref","_this$state","toastProps","onMouseEnter","onMouseLeave","children","key","classNames","enter","enterActive","exit","exitActive","timeout","nodeRef","_extends","rootNodeRef","ref","Component","__KONTUR_REACT_UI__","displayName","fn","_len","arguments","length","args","Array","_key","apply"],"sources":["Toast.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\n\nimport { styles } from './Toast.styles';\nimport type { ToastViewProps } from './ToastView';\nimport { ToastView } from './ToastView';\nimport { ToastStatic } from './ToastStatic';\n\nexport interface Action {\n label: string;\n handler: () => void;\n 'aria-label'?: string;\n}\n\nexport interface ToastState {\n notification: Nullable<React.ReactNode>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n showCloseIcon?: boolean;\n}\n\nexport interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Задает функцию, которая вызывается при возникновении тоста. */\n onPush?: (notification: string, action?: Action) => void;\n\n /** Задает функцию, которая вызывается при закрытии тоста. */\n onClose?: (notification: string, action?: Action) => void;\n\n /** Задает объект с переменными темы. Он будет объединён с темой из контекста. */\n theme?: ThemeIn;\n}\n\nexport type ToastPush = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n) => void;\n\nexport type ToastClose = () => void;\n\nexport const ToastDataTids = {\n toastStatic: 'StaticToast',\n toastView: 'ToastView__root',\n action: 'ToastView__action',\n close: 'ToastView__close',\n} as const;\n\n/**\n * `Toast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.\n * Результат может быть положительным, отрицательным или нейтральным.\n *\n * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.\n * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.\n *\n * Для статических тостов рекомендуется использовать компонент SingleToast - в нём исправлены эти проблемы.\n */\n@rootNode\nexport class Toast extends React.Component<ToastProps, ToastState> {\n public static __KONTUR_REACT_UI__ = 'Toast';\n public static displayName = 'Toast';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n /** @deprecated use `push` method in ref or `SingleToast.push` */\n public static push: ToastPush = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n ) => {\n ToastStatic.push(notification, action, showTime, showCloseIcon);\n };\n\n /** @deprecated use `close` method in ref or `SingleToast.close` */\n public static close: ToastClose = () => {\n ToastStatic.close();\n };\n\n public _toast: Nullable<ToastView>;\n private _timeout: SafeTimer;\n private rootRef = React.createRef<HTMLElement>();\n\n constructor(props: ToastProps) {\n super(props);\n this.state = {\n notification: null,\n action: null,\n id: 0,\n showTime: null,\n showCloseIcon: false,\n };\n }\n\n public componentWillUnmount() {\n this._clearTimer();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <ThemeContext.Provider value={this.theme}>\n <RenderContainer>\n <TransitionGroup>{this._renderToast()}</TransitionGroup>\n </RenderContainer>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Показывает тост с `notification` в качестве сообщения.\n * Тост автоматически скрывается через 3 или 7 секунд,\n * в зависимости от наличия у него кнопки `action`.\n * Время показа можно задать вручную, передав `showTime`.\n *\n * @public\n * @param {React.ReactNode} notification\n * @param {Action} action `action` опциональный параметр формата `{ label: React.ReactNode, handler: function }`\n * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler\n * @param {number} showTime Время существования Toast в миллисекундах\n * @param {boolean} showCloseIcon Добавляет крестик для закрытия тоста. При указывании action в onPush крестик отображается всегда.\n */\n public push(notification: React.ReactNode, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) {\n if (this.state.notification) {\n this.close();\n }\n\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(({ id }) => ({ notification, action, id: id + 1, showTime, showCloseIcon }), this._setTimer);\n }\n\n /**\n * @public\n */\n public close = () => {\n safelyCall(this.props.onClose, this.state.notification, this.state.action);\n this.setState({ notification: null, action: null });\n };\n\n private _renderToast() {\n const { notification, action, id, showCloseIcon } = this.state;\n\n if (!notification) {\n return null;\n }\n\n const toastProps: ToastViewProps = {\n onMouseEnter: this._clearTimer,\n onMouseLeave: this._setTimer,\n onClose: this.close,\n children: notification,\n 'aria-label': this.props['aria-label'],\n action,\n showCloseIcon,\n };\n\n return (\n <CSSTransition\n key={id}\n classNames={{\n enter: styles.enter(),\n enterActive: styles.enterActive(),\n exit: styles.exit(),\n exitActive: styles.exitActive(),\n }}\n timeout={{\n enter: 200,\n exit: 150,\n }}\n enter={!isTestEnv}\n exit={!isTestEnv}\n nodeRef={this.rootRef}\n >\n <CommonWrapper rootNodeRef={this.setRootRef} {...this.props}>\n <ToastView ref={this._refToast} {...toastProps} />\n </CommonWrapper>\n </CSSTransition>\n );\n }\n\n private setRootRef = (element: Nullable<Element>) => {\n this.setRootNode(element);\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n this.rootRef.current = element;\n };\n\n private _clearTimer = () => {\n if (this._timeout) {\n globalObject.clearTimeout(this._timeout);\n this._timeout = null;\n }\n };\n\n private _setTimer = () => {\n this._clearTimer();\n\n let showTime = this.state.action ? 7000 : 3000;\n showTime = this.state.showTime ?? showTime;\n this._timeout = globalObject.setTimeout(this.close, showTime);\n };\n\n private _refToast = (element: ToastView) => {\n this._toast = element;\n };\n}\n\nfunction safelyCall(fn: Nullable<(a?: any) => any>, ...args: any[]) {\n if (fn) {\n fn(...args);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@ import React from 'react';
|
|
|
3
3
|
import type { ThemeIn } from '../../lib/theming/Theme';
|
|
4
4
|
import type { Nullable } from '../../typings/utility-types';
|
|
5
5
|
import type { CommonProps } from '../../internal/CommonWrapper';
|
|
6
|
+
import type { TGetRootNode } from '../../lib/rootNode';
|
|
6
7
|
import { ToastView } from './ToastView';
|
|
7
8
|
export interface Action {
|
|
8
9
|
label: string;
|
|
@@ -44,6 +45,7 @@ export declare const ToastDataTids: {
|
|
|
44
45
|
export declare class Toast extends React.Component<ToastProps, ToastState> {
|
|
45
46
|
static __KONTUR_REACT_UI__: string;
|
|
46
47
|
static displayName: string;
|
|
48
|
+
getRootNode: TGetRootNode;
|
|
47
49
|
private setRootNode;
|
|
48
50
|
private theme;
|
|
49
51
|
/** @deprecated use `push` method in ref or `SingleToast.push` */
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
2
|
-
var _dec, _class
|
|
2
|
+
var _dec, _class;
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import { func, shape, string } from 'prop-types';
|
|
5
4
|
import { locale } from "../../../lib/locale/decorators";
|
|
6
5
|
import { ZIndex } from "../../../internal/ZIndex";
|
|
7
6
|
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
@@ -11,7 +10,7 @@ import { CloseButtonIcon } from "../../../internal/CloseButtonIcon/CloseButtonIc
|
|
|
11
10
|
import { styles } from "../ToastView.styles";
|
|
12
11
|
import { ToastDataTids } from "../Toast";
|
|
13
12
|
import { ToastLocaleHelper } from "../locale";
|
|
14
|
-
export var ToastView = (_dec = locale('Toast', ToastLocaleHelper), rootNode(_class = _dec(_class =
|
|
13
|
+
export var ToastView = (_dec = locale('Toast', ToastLocaleHelper), rootNode(_class = _dec(_class = /*#__PURE__*/function (_React$Component) {
|
|
15
14
|
function ToastView() {
|
|
16
15
|
var _this;
|
|
17
16
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
@@ -75,17 +74,4 @@ export var ToastView = (_dec = locale('Toast', ToastLocaleHelper), rootNode(_cla
|
|
|
75
74
|
});
|
|
76
75
|
};
|
|
77
76
|
return ToastView;
|
|
78
|
-
}(React.Component)
|
|
79
|
-
/**
|
|
80
|
-
* Adds action handling and close icon for toast
|
|
81
|
-
*/
|
|
82
|
-
action: shape({
|
|
83
|
-
label: string.isRequired,
|
|
84
|
-
handler: func.isRequired
|
|
85
|
-
}),
|
|
86
|
-
/**
|
|
87
|
-
* Toast content
|
|
88
|
-
*/
|
|
89
|
-
children: string.isRequired,
|
|
90
|
-
onClose: func
|
|
91
|
-
}, _ToastView)) || _class) || _class);
|
|
77
|
+
}(React.Component)) || _class) || _class);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","
|
|
1
|
+
{"version":3,"names":["React","locale","ZIndex","ThemeContext","CommonWrapper","rootNode","CloseButtonIcon","styles","ToastDataTids","ToastLocaleHelper","ToastView","_dec","_class","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","renderMain","_this$props","props","action","showCloseIcon","onClose","onMouseEnter","onMouseLeave","link","createElement","className","theme","onClick","handler","label","close","closeWrapper","closeButtonAriaLabel","size","parseInt","toastCloseSize","side","color","toastCloseColor","colorHover","toastCloseHoverColor","tabbable","priority","wrapper","toastView","root","ref","setRootNode","children","_inheritsLoose","_proto","prototype","render","_this2","Consumer","Component"],"sources":["ToastView.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\n\nimport { locale } from '../../lib/locale/decorators';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon';\n\nimport { styles } from './ToastView.styles';\nimport type { Action } from './Toast';\nimport { ToastDataTids } from './Toast';\nimport type { ToastLocale } from './locale';\nimport { ToastLocaleHelper } from './locale';\n\nexport interface ToastViewProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Задает контент тоста. */\n children?: React.ReactNode;\n /** Добавляет возможность действия и кнопку закрытия у тоста. */\n action?: Nullable<Action>;\n showCloseIcon?: boolean;\n onClose?: () => void;\n onMouseEnter?: () => void;\n onMouseLeave?: () => void;\n}\n\n@rootNode\n@locale('Toast', ToastLocaleHelper)\nexport class ToastView extends React.Component<ToastViewProps> {\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private readonly locale!: ToastLocale;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = () => {\n const { action, showCloseIcon, onClose, onMouseEnter, onMouseLeave } = this.props;\n\n const link = action ? (\n <button\n aria-label={action['aria-label']}\n data-tid={ToastDataTids.action}\n className={styles.link(this.theme)}\n onClick={action.handler}\n >\n {action.label}\n </button>\n ) : null;\n\n const close =\n action || showCloseIcon ? (\n <span className={styles.closeWrapper(this.theme)}>\n <CloseButtonIcon\n aria-label={this.locale.closeButtonAriaLabel}\n data-tid={ToastDataTids.close}\n onClick={onClose}\n size={parseInt(this.theme.toastCloseSize)}\n side={40}\n color={this.theme.toastCloseColor}\n colorHover={this.theme.toastCloseHoverColor}\n tabbable={false}\n />\n </span>\n ) : null;\n\n return (\n <CommonWrapper {...this.props}>\n <ZIndex priority=\"Toast\" className={styles.wrapper(this.theme)}>\n <div\n data-tid={ToastDataTids.toastView}\n className={styles.root(this.theme)}\n ref={this.setRootNode}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <span>{this.props.children}</span>\n {link}\n {close}\n </div>\n </ZIndex>\n </CommonWrapper>\n );\n };\n}\n"],"mappings":";AACA,OAAOA,KAAK,MAAM,OAAO;;AAEzB,SAASC,MAAM,QAAQ,6BAA6B;;AAEpD,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,YAAY,QAAQ,gCAAgC;;;AAG7D,SAASC,aAAa,QAAQ,8BAA8B;;AAE5D,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,eAAe,QAAQ,gDAAgD;;AAEhF,SAASC,MAAM,QAAQ,oBAAoB;;AAE3C,SAASC,aAAa,QAAQ,SAAS;;AAEvC,SAASC,iBAAiB,QAAQ,UAAU;;;;;;;;;;;;;AAa5C;;AAEaC,SAAS,IAAAC,IAAA,GADrBV,MAAM,CAAC,OAAO,EAAEQ,iBAAiB,CAAC,EADlCJ,QAAQ,CAAAO,MAAA,GAAAD,IAAA,CAAAC,MAAA,0BAAAC,gBAAA,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,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;;;;;;IAmBCU,UAAU,GAAG,YAAM;MACzB,IAAAC,WAAA,GAAuEX,KAAA,CAAKY,KAAK,CAAzEC,MAAM,GAAAF,WAAA,CAANE,MAAM,CAAEC,aAAa,GAAAH,WAAA,CAAbG,aAAa,CAAEC,OAAO,GAAAJ,WAAA,CAAPI,OAAO,CAAEC,YAAY,GAAAL,WAAA,CAAZK,YAAY,CAAEC,YAAY,GAAAN,WAAA,CAAZM,YAAY;;MAElE,IAAMC,IAAI,GAAGL,MAAM;MACjB3B,KAAA,CAAAiC,aAAA;QACE,cAAYN,MAAM,CAAC,YAAY,CAAE;QACjC,YAAUnB,aAAa,CAACmB,MAAO;QAC/BO,SAAS,EAAE3B,MAAM,CAACyB,IAAI,CAAClB,KAAA,CAAKqB,KAAK,CAAE;QACnCC,OAAO,EAAET,MAAM,CAACU,OAAQ;;MAEvBV,MAAM,CAACW;MACF,CAAC;MACP,IAAI;;MAER,IAAMC,KAAK;MACTZ,MAAM,IAAIC,aAAa;MACrB5B,KAAA,CAAAiC,aAAA,WAAMC,SAAS,EAAE3B,MAAM,CAACiC,YAAY,CAAC1B,KAAA,CAAKqB,KAAK,CAAE;MAC/CnC,KAAA,CAAAiC,aAAA,CAAC3B,eAAe;QACd,cAAYQ,KAAA,CAAKb,MAAM,CAACwC,oBAAqB;QAC7C,YAAUjC,aAAa,CAAC+B,KAAM;QAC9BH,OAAO,EAAEP,OAAQ;QACjBa,IAAI,EAAEC,QAAQ,CAAC7B,KAAA,CAAKqB,KAAK,CAACS,cAAc,CAAE;QAC1CC,IAAI,EAAE,EAAG;QACTC,KAAK,EAAEhC,KAAA,CAAKqB,KAAK,CAACY,eAAgB;QAClCC,UAAU,EAAElC,KAAA,CAAKqB,KAAK,CAACc,oBAAqB;QAC5CC,QAAQ,EAAE,KAAM;MACjB;MACG,CAAC;MACL,IAAI;;MAEV;QACElD,KAAA,CAAAiC,aAAA,CAAC7B,aAAa,EAAKU,KAAA,CAAKY,KAAK;QAC3B1B,KAAA,CAAAiC,aAAA,CAAC/B,MAAM,IAACiD,QAAQ,EAAC,OAAO,EAACjB,SAAS,EAAE3B,MAAM,CAAC6C,OAAO,CAACtC,KAAA,CAAKqB,KAAK,CAAE;QAC7DnC,KAAA,CAAAiC,aAAA;UACE,YAAUzB,aAAa,CAAC6C,SAAU;UAClCnB,SAAS,EAAE3B,MAAM,CAAC+C,IAAI,CAACxC,KAAA,CAAKqB,KAAK,CAAE;UACnCoB,GAAG,EAAEzC,KAAA,CAAK0C,WAAY;UACtB1B,YAAY,EAAEA,YAAa;UAC3BC,YAAY,EAAEA,YAAa;;QAE3B/B,KAAA,CAAAiC,aAAA,eAAOnB,KAAA,CAAKY,KAAK,CAAC+B,QAAe,CAAC;QACjCzB,IAAI;QACJO;QACE;QACC;QACK,CAAC;;IAEpB,CAAC,QAAAzB,KAAA,EAAA4C,cAAA,CAAAhD,SAAA,EAAAG,gBAAA,MAAA8C,MAAA,GAAAjD,SAAA,CAAAkD,SAAA,CAAAD,MAAA,CA1DME,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACE9D,KAAA,CAAAiC,aAAA,CAAC9B,YAAY,CAAC4D,QAAQ,QACnB,UAAC5B,KAAK,EAAK,CACV2B,MAAI,CAAC3B,KAAK,GAAGA,KAAK,CAClB,OAAO2B,MAAI,CAACtC,UAAU,CAAC,CAAC,CAC1B,CACqB,CAAC,CAE5B,CAAC,QAAAd,SAAA,GAf4BV,KAAK,CAACgE,SAAS,MAAApD,MAAA,KAAAA,MAAA","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@ import type { AriaAttributes } from 'react';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import type { Nullable } from '../../typings/utility-types';
|
|
4
4
|
import type { CommonProps } from '../../internal/CommonWrapper';
|
|
5
|
+
import type { TGetRootNode } from '../../lib/rootNode';
|
|
5
6
|
import type { Action } from './Toast';
|
|
6
7
|
export interface ToastViewProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {
|
|
7
8
|
/** Задает контент тоста. */
|
|
@@ -14,21 +15,8 @@ export interface ToastViewProps extends Pick<AriaAttributes, 'aria-label'>, Comm
|
|
|
14
15
|
onMouseLeave?: () => void;
|
|
15
16
|
}
|
|
16
17
|
export declare class ToastView extends React.Component<ToastViewProps> {
|
|
17
|
-
static propTypes: {
|
|
18
|
-
/**
|
|
19
|
-
* Adds action handling and close icon for toast
|
|
20
|
-
*/
|
|
21
|
-
action: import("prop-types").Requireable<import("prop-types").InferProps<{
|
|
22
|
-
label: import("prop-types").Validator<string>;
|
|
23
|
-
handler: import("prop-types").Validator<(...args: any[]) => any>;
|
|
24
|
-
}>>;
|
|
25
|
-
/**
|
|
26
|
-
* Toast content
|
|
27
|
-
*/
|
|
28
|
-
children: import("prop-types").Validator<string>;
|
|
29
|
-
onClose: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
30
|
-
};
|
|
31
18
|
private theme;
|
|
19
|
+
getRootNode: TGetRootNode;
|
|
32
20
|
private setRootNode;
|
|
33
21
|
private readonly locale;
|
|
34
22
|
render(): React.JSX.Element;
|