@skbkontur/react-ui 3.9.4 → 3.10.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 +21 -0
- package/README.md +57 -0
- package/cjs/components/Autocomplete/Autocomplete.d.ts +1 -0
- package/cjs/components/Autocomplete/Autocomplete.js +11 -5
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.d.ts +1 -0
- package/cjs/components/Button/Button.js +7 -3
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Center/Center.d.ts +1 -0
- package/cjs/components/Center/Center.js +10 -3
- package/cjs/components/Center/Center.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.d.ts +3 -2
- package/cjs/components/Checkbox/Checkbox.js +10 -4
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.d.ts +2 -0
- package/cjs/components/ComboBox/ComboBox.js +100 -70
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +3 -3
- package/cjs/components/CurrencyInput/CurrencyInput.js +7 -4
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/DateInput/DateInput.d.ts +1 -0
- package/cjs/components/DateInput/DateInput.js +6 -3
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +4 -2
- package/cjs/components/DatePicker/DatePicker.js +17 -7
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +1 -0
- package/cjs/components/Dropdown/Dropdown.js +11 -4
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -0
- package/cjs/components/DropdownMenu/DropdownMenu.js +7 -4
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/FxInput/FxInput.d.ts +1 -0
- package/cjs/components/FxInput/FxInput.js +9 -2
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/Gapped/Gapped.d.ts +1 -0
- package/cjs/components/Gapped/Gapped.js +8 -5
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/Group/Group.d.ts +1 -0
- package/cjs/components/Group/Group.js +10 -7
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Hint/Hint.d.ts +3 -2
- package/cjs/components/Hint/Hint.js +7 -4
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Input/Input.d.ts +4 -1
- package/cjs/components/Input/Input.js +13 -5
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +1 -0
- package/cjs/components/Kebab/Kebab.js +8 -5
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.d.ts +1 -0
- package/cjs/components/Link/Link.js +11 -3
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Loader/Loader.d.ts +1 -0
- package/cjs/components/Loader/Loader.js +9 -6
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +1 -0
- package/cjs/components/MenuItem/MenuItem.js +13 -7
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/Modal/Modal.js +1 -1
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/ModalBody.d.ts +1 -0
- package/cjs/components/Modal/ModalBody.js +9 -6
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +2 -2
- package/cjs/components/Paging/Paging.js +6 -5
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +3 -2
- package/cjs/components/PasswordInput/PasswordInput.js +13 -6
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.d.ts +5 -10
- package/cjs/components/Radio/Radio.js +11 -10
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -16
- package/cjs/components/RadioGroup/RadioGroup.js +16 -19
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroupContext.d.ts +10 -0
- package/cjs/components/RadioGroup/RadioGroupContext.js +21 -0
- package/cjs/components/RadioGroup/RadioGroupContext.js.map +1 -0
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/cjs/components/ScrollContainer/ScrollContainer.js +8 -5
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +1 -0
- package/cjs/components/Select/Select.js +6 -4
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePage.d.ts +1 -0
- package/cjs/components/SidePage/SidePage.js +4 -1
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePageBody.d.ts +1 -0
- package/cjs/components/SidePage/SidePageBody.js +9 -6
- package/cjs/components/SidePage/SidePageBody.js.map +1 -1
- package/cjs/components/SidePage/SidePageContainer.d.ts +1 -0
- package/cjs/components/SidePage/SidePageContainer.js +9 -6
- package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.d.ts +1 -2
- package/cjs/components/SidePage/SidePageFooter.js +11 -12
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +1 -0
- package/cjs/components/SidePage/SidePageHeader.js +6 -3
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/Spinner/Spinner.d.ts +1 -0
- package/cjs/components/Spinner/Spinner.js +8 -5
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Sticky/Sticky.d.ts +1 -0
- package/cjs/components/Sticky/Sticky.js +8 -5
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +1 -0
- package/cjs/components/Switcher/Switcher.js +6 -3
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Tabs/Indicator.d.ts +1 -0
- package/cjs/components/Tabs/Indicator.js +16 -15
- package/cjs/components/Tabs/Indicator.js.map +1 -1
- package/cjs/components/Tabs/Tab.d.ts +2 -1
- package/cjs/components/Tabs/Tab.js +13 -9
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tabs.d.ts +1 -0
- package/cjs/components/Tabs/Tabs.js +9 -9
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +1 -0
- package/cjs/components/Textarea/Textarea.js +12 -5
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Toast/Toast.d.ts +3 -0
- package/cjs/components/Toast/Toast.js +15 -4
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/ToastView.d.ts +1 -0
- package/cjs/components/Toast/ToastView.js +8 -5
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +1 -0
- package/cjs/components/Toggle/Toggle.js +9 -6
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Token/Token.d.ts +1 -0
- package/cjs/components/Token/Token.js +7 -4
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +1 -0
- package/cjs/components/TokenInput/TokenInput.js +11 -8
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +3 -1
- package/cjs/components/Tooltip/Tooltip.js +16 -5
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -0
- package/cjs/components/TooltipMenu/TooltipMenu.js +8 -5
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +9 -1
- package/cjs/internal/CommonWrapper/CommonWrapper.js +38 -15
- package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js +3 -2
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +4 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js +15 -5
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
- package/cjs/internal/CustomComboBox/CustomComboBox.js +8 -5
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.d.ts +2 -2
- package/cjs/internal/DateSelect/DateSelect.js +3 -3
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
- package/cjs/internal/DropdownContainer/DropdownContainer.js +8 -13
- package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
- package/cjs/internal/FocusTrap/FocusTrap.d.ts +1 -0
- package/cjs/internal/FocusTrap/FocusTrap.js +12 -9
- package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +12 -4
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -0
- package/cjs/internal/InputLikeText/InputLikeText.js +10 -3
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.d.ts +2 -3
- package/cjs/internal/InternalMenu/InternalMenu.js +16 -22
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/MaskedInput/MaskedInput.d.ts +2 -2
- package/cjs/internal/MaskedInput/MaskedInput.js +3 -3
- package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/internal/Menu/Menu.d.ts +1 -0
- package/cjs/internal/Menu/Menu.js +9 -6
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +4 -4
- package/cjs/internal/Popup/Popup.js +50 -27
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +1 -0
- package/cjs/internal/PopupMenu/PopupMenu.js +7 -4
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.d.ts +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
- package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -3
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.d.ts +3 -1
- package/cjs/internal/RenderLayer/RenderLayer.js +13 -7
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +1 -1
- package/cjs/internal/ThemeShowcase/ThemeShowcase.js +20 -19
- package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/cjs/internal/ZIndex/ZIndex.d.ts +2 -0
- package/cjs/internal/ZIndex/ZIndex.js +45 -34
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/icons/16px/index.d.ts +17 -16
- package/cjs/internal/icons/16px/index.js +108 -51
- package/cjs/internal/icons/16px/index.js.map +1 -1
- package/cjs/lib/callChildRef/callChildRef.d.ts +3 -0
- package/cjs/lib/callChildRef/callChildRef.js +19 -0
- package/cjs/lib/callChildRef/callChildRef.js.map +1 -0
- package/cjs/lib/rootNode/getRootNode.d.ts +3 -0
- package/cjs/lib/rootNode/getRootNode.js +27 -0
- package/cjs/lib/rootNode/getRootNode.js.map +1 -0
- package/cjs/lib/rootNode/index.d.ts +2 -0
- package/cjs/lib/rootNode/index.js +2 -0
- package/cjs/lib/rootNode/index.js.map +1 -0
- package/cjs/lib/rootNode/rootNodeDecorator.d.ts +33 -0
- package/cjs/lib/rootNode/rootNodeDecorator.js +31 -0
- package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -0
- package/cjs/lib/theming/Emotion.js +1 -0
- package/cjs/lib/theming/Emotion.js.map +1 -1
- package/cjs/lib/utils.d.ts +3 -0
- package/cjs/lib/utils.js +15 -2
- package/cjs/lib/utils.js.map +1 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js +19 -16
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +1 -0
- package/components/Button/Button/Button.js +15 -12
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +1 -0
- package/components/Center/Center/Center.js +14 -9
- package/components/Center/Center/Center.js.map +1 -1
- package/components/Center/Center.d.ts +1 -0
- package/components/Checkbox/Checkbox/Checkbox.js +16 -10
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +3 -2
- package/components/ComboBox/ComboBox/ComboBox.js +38 -32
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +2 -0
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +29 -27
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +3 -3
- package/components/DateInput/DateInput/DateInput.js +7 -3
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +1 -0
- package/components/DatePicker/DatePicker/DatePicker.js +29 -22
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +4 -2
- package/components/Dropdown/Dropdown/Dropdown.js +15 -13
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +1 -0
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +15 -9
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +1 -0
- package/components/FxInput/FxInput/FxInput.js +13 -9
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +1 -0
- package/components/Gapped/Gapped/Gapped.js +15 -11
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/Gapped/Gapped.d.ts +1 -0
- package/components/Group/Group/Group.js +22 -9
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.d.ts +1 -0
- package/components/Hint/Hint/Hint.js +18 -12
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +3 -2
- package/components/Input/Input/Input.js +21 -14
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +4 -1
- package/components/Kebab/Kebab/Kebab.js +12 -7
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +1 -0
- package/components/Link/Link/Link.js +15 -11
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +1 -0
- package/components/Loader/Loader/Loader.js +16 -11
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +1 -0
- package/components/MenuItem/MenuItem/MenuItem.js +21 -14
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +1 -0
- package/components/Modal/Modal/Modal.js +1 -1
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/ModalBody/ModalBody.js +16 -10
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Modal/ModalBody.d.ts +1 -0
- package/components/Paging/Paging/Paging.js +17 -14
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +2 -2
- package/components/PasswordInput/PasswordInput/PasswordInput.js +18 -14
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +3 -2
- package/components/Radio/Radio/Radio.js +17 -19
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +5 -10
- package/components/RadioGroup/RadioGroup/RadioGroup.js +35 -38
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +2 -16
- package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js +12 -0
- package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js.map +1 -0
- package/components/RadioGroup/RadioGroupContext/package.json +6 -0
- package/components/RadioGroup/RadioGroupContext.d.ts +10 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +13 -8
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/components/Select/Select/Select.js +8 -5
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +1 -0
- package/components/SidePage/SidePage/SidePage.js +6 -3
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +1 -0
- package/components/SidePage/SidePageBody/SidePageBody.js +16 -10
- package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
- package/components/SidePage/SidePageBody.d.ts +1 -0
- package/components/SidePage/SidePageContainer/SidePageContainer.js +16 -9
- package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
- package/components/SidePage/SidePageContainer.d.ts +1 -0
- package/components/SidePage/SidePageFooter/SidePageFooter.js +22 -19
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageFooter.d.ts +1 -2
- package/components/SidePage/SidePageHeader/SidePageHeader.js +15 -10
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +1 -0
- package/components/Spinner/Spinner/Spinner.js +8 -3
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +1 -0
- package/components/Sticky/Sticky/Sticky.js +13 -8
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +1 -0
- package/components/Switcher/Switcher/Switcher.js +11 -6
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +1 -0
- package/components/Tabs/Indicator/Indicator.js +16 -14
- package/components/Tabs/Indicator/Indicator.js.map +1 -1
- package/components/Tabs/Indicator.d.ts +1 -0
- package/components/Tabs/Tab/Tab.js +31 -34
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +2 -1
- package/components/Tabs/Tabs/Tabs.js +20 -20
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +1 -0
- package/components/Textarea/Textarea/Textarea.js +21 -17
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +1 -0
- package/components/Toast/Toast/Toast.js +29 -14
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +3 -0
- package/components/Toast/ToastView/ToastView.js +10 -5
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.d.ts +1 -0
- package/components/Toggle/Toggle/Toggle.js +16 -11
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +1 -0
- package/components/Token/Token/Token.js +11 -4
- package/components/Token/Token/Token.js.map +1 -1
- package/components/Token/Token.d.ts +1 -0
- package/components/TokenInput/TokenInput/TokenInput.js +12 -6
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +1 -0
- package/components/Tooltip/Tooltip/Tooltip.js +24 -15
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +3 -1
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +23 -17
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +1 -0
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +37 -10
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper.d.ts +9 -1
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +5 -3
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +23 -13
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +4 -1
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +12 -4
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
- package/internal/DateSelect/DateSelect/DateSelect.js +5 -5
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.d.ts +2 -2
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +11 -15
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
- package/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
- package/internal/FocusTrap/FocusTrap/FocusTrap.js +17 -9
- package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
- package/internal/FocusTrap/FocusTrap.d.ts +1 -0
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +13 -7
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +11 -6
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.d.ts +1 -0
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +24 -25
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/InternalMenu/InternalMenu.d.ts +2 -3
- package/internal/MaskedInput/MaskedInput/MaskedInput.js +7 -7
- package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/internal/MaskedInput/MaskedInput.d.ts +2 -2
- package/internal/Menu/Menu/Menu.js +11 -8
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.d.ts +1 -0
- package/internal/Popup/Popup/Popup.js +79 -68
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +4 -4
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +12 -7
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +1 -0
- package/internal/RenderContainer/RenderContainer/RenderContainer.js +3 -1
- package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/RenderContainer/RenderContainer.d.ts +1 -1
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +20 -18
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer.d.ts +3 -1
- package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +35 -43
- package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/internal/ThemeShowcase/ThemeShowcase.d.ts +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js +20 -8
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndex.d.ts +2 -0
- package/internal/icons/16px/index/index.js +83 -51
- package/internal/icons/16px/index/index.js.map +1 -1
- package/internal/icons/16px/index.d.ts +17 -16
- package/lib/callChildRef/callChildRef/callChildRef.js +14 -0
- package/lib/callChildRef/callChildRef/callChildRef.js.map +1 -0
- package/lib/callChildRef/callChildRef/package.json +6 -0
- package/lib/callChildRef/callChildRef.d.ts +3 -0
- package/lib/rootNode/getRootNode/getRootNode.js +25 -0
- package/lib/rootNode/getRootNode/getRootNode.js.map +1 -0
- package/lib/rootNode/getRootNode/package.json +6 -0
- package/lib/rootNode/getRootNode.d.ts +3 -0
- package/lib/rootNode/index/index.js +2 -0
- package/lib/rootNode/index/index.js.map +1 -0
- package/lib/rootNode/index/package.json +6 -0
- package/lib/rootNode/index.d.ts +2 -0
- package/lib/rootNode/package.json +6 -0
- package/lib/rootNode/rootNodeDecorator/package.json +6 -0
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +37 -0
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -0
- package/lib/rootNode/rootNodeDecorator.d.ts +33 -0
- package/lib/theming/Emotion/Emotion.js +1 -0
- package/lib/theming/Emotion/Emotion.js.map +1 -1
- package/lib/utils/utils.js +11 -1
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +3 -0
- package/package.json +8 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Center.tsx"],"names":["React","CommonWrapper","cx","styles","Center","renderMain","props","align","rest","root","rootAlignLeft","rootAlignRight","spring","container","children","render","Component","__KONTUR_REACT_UI__","defaultProps"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["Center.tsx"],"names":["React","CommonWrapper","cx","rootNode","styles","Center","setRootNode","renderMain","props","align","rest","root","rootAlignLeft","rootAlignRight","spring","container","children","render","Component","__KONTUR_REACT_UI__","defaultProps"],"mappings":"+PAAA,OAAOA,KAAP,MAAkB,OAAlB;;;AAGA,SAAsBC,aAAtB,QAAmE,8BAAnE;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,QAAT,QAAuC,oBAAvC;;AAEA,SAASC,MAAT,QAAuB,iBAAvB;;;;;;;;;;;;;;;;;;;;;;AAsBA,OAJA;AACA;AACA,GAEA,IAAaC,MAAb,GADCF,QACD;;;;AAMUG,IAAAA,WANV;;;;;;;;;AAeUC,IAAAA,UAfV,GAeuB,UAACC,KAAD,EAAgD;AAC3DC,MAAAA,KAD2D,GACxCD,KADwC,CAC3DC,KAD2D,CACjDC,IADiD,iCACxCF,KADwC;;AAGnE;AACE;AACME,QAAAA,IADN;AAEE,UAAA,SAAS,EAAER,EAAE;AACVE,UAAAA,MAAM,CAACO,IAAP,EADU,IACM,IADN;AAEVP,UAAAA,MAAM,CAACQ,aAAP,EAFU,IAEeH,KAAK,KAAK,MAFzB;AAGVL,UAAAA,MAAM,CAACS,cAAP,EAHU,IAGgBJ,KAAK,KAAK,OAH1B,OAFf;;;AAQE,sCAAM,SAAS,EAAEL,MAAM,CAACU,MAAP,EAAjB,GARF;AASE,sCAAM,SAAS,EAAEV,MAAM,CAACW,SAAP,EAAjB,IAAsC,MAAKP,KAAL,CAAWQ,QAAjD,CATF,CADF;;;AAaD,KA/BH,oDAQSC,MART,GAQE,kBAAgB,CACd,oBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,KAAKX,WAAjC,IAAkD,KAAKE,KAAvD,GACG,KAAKD,UADR,CADF,CAKD,CAdH,iBAA4BP,KAAK,CAACkB,SAAlC,WACgBC,mBADhB,GACsC,QADtC,UAGgBC,YAHhB,GAG+B,EAC3BX,KAAK,EAAE,QADoB,EAH/B","sourcesContent":["import React from 'react';\n\nimport { Override } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Center.styles';\n\nexport type HorizontalAlign = 'left' | 'center' | 'right';\n\nexport interface CenterProps\n extends CommonProps,\n Override<\n React.HTMLAttributes<HTMLDivElement>,\n {\n /**\n * Определяет, как контент будет выровнен по горизонтали.\n *\n * **Допустимые значения**: `\"left\"`, `\"center\"`, `\"right\"`.\n */\n align?: HorizontalAlign;\n }\n > {}\n\n/**\n * Контейнер, который центрирует элементы внутри себя.\n */\n@rootNode\nexport class Center extends React.Component<CenterProps> {\n public static __KONTUR_REACT_UI__ = 'Center';\n\n public static defaultProps = {\n align: 'center',\n };\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n private renderMain = (props: CommonWrapperRestProps<CenterProps>) => {\n const { align, ...rest } = props;\n\n return (\n <div\n {...rest}\n className={cx({\n [styles.root()]: true,\n [styles.rootAlignLeft()]: align === 'left',\n [styles.rootAlignRight()]: align === 'right',\n })}\n >\n <span className={styles.spring()} />\n <span className={styles.container()}>{this.props.children}</span>\n </div>\n );\n };\n}\n"]}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
3
|
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
4
|
+
|
|
5
|
+
var _class, _class2, _temp;
|
|
6
|
+
|
|
4
7
|
import React from 'react';
|
|
5
8
|
import PropTypes from 'prop-types';
|
|
6
9
|
import { keyListener } from "../../../lib/events/keyListener";
|
|
@@ -9,10 +12,11 @@ import { OkIcon, SquareIcon } from "../../../internal/icons/16px";
|
|
|
9
12
|
import { isEdge, isFirefox, isIE11 } from "../../../lib/client";
|
|
10
13
|
import { CommonWrapper } from "../../../internal/CommonWrapper";
|
|
11
14
|
import { cx } from "../../../lib/theming/Emotion";
|
|
15
|
+
import { rootNode } from "../../../lib/rootNode";
|
|
12
16
|
import { fixFirefoxModifiedClickOnLabel } from "../../../lib/events/fixFirefoxModifiedClickOnLabel";
|
|
13
17
|
import { styles, globalClasses } from "../Checkbox.styles";
|
|
14
|
-
export var Checkbox = /*#__PURE__*/function (_React$
|
|
15
|
-
_inheritsLoose(Checkbox, _React$
|
|
18
|
+
export var Checkbox = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {
|
|
19
|
+
_inheritsLoose(Checkbox, _React$PureComponent);
|
|
16
20
|
|
|
17
21
|
function Checkbox() {
|
|
18
22
|
var _this;
|
|
@@ -21,7 +25,7 @@ export var Checkbox = /*#__PURE__*/function (_React$Component) {
|
|
|
21
25
|
args[_key] = arguments[_key];
|
|
22
26
|
}
|
|
23
27
|
|
|
24
|
-
_this = _React$
|
|
28
|
+
_this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;
|
|
25
29
|
_this.state = {
|
|
26
30
|
focusedByTab: false,
|
|
27
31
|
indeterminate: _this.props.initialIndeterminate || false
|
|
@@ -35,6 +39,8 @@ export var Checkbox = /*#__PURE__*/function (_React$Component) {
|
|
|
35
39
|
}
|
|
36
40
|
};
|
|
37
41
|
|
|
42
|
+
_this.setRootNode = void 0;
|
|
43
|
+
|
|
38
44
|
_this.setIndeterminate = function () {
|
|
39
45
|
_this.setState({
|
|
40
46
|
indeterminate: true
|
|
@@ -171,8 +177,8 @@ export var Checkbox = /*#__PURE__*/function (_React$Component) {
|
|
|
171
177
|
|
|
172
178
|
var _proto = Checkbox.prototype;
|
|
173
179
|
|
|
174
|
-
_proto.
|
|
175
|
-
if (
|
|
180
|
+
_proto.componentDidUpdate = function componentDidUpdate(prevProps) {
|
|
181
|
+
if (prevProps.checked !== this.props.checked) {
|
|
176
182
|
this.resetIndeterminate();
|
|
177
183
|
}
|
|
178
184
|
};
|
|
@@ -182,7 +188,9 @@ export var Checkbox = /*#__PURE__*/function (_React$Component) {
|
|
|
182
188
|
|
|
183
189
|
return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
|
|
184
190
|
_this2.theme = theme;
|
|
185
|
-
return /*#__PURE__*/React.createElement(CommonWrapper,
|
|
191
|
+
return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
|
|
192
|
+
rootNodeRef: _this2.setRootNode
|
|
193
|
+
}, _this2.props), _this2.renderMain);
|
|
186
194
|
});
|
|
187
195
|
}
|
|
188
196
|
/**
|
|
@@ -215,9 +223,7 @@ export var Checkbox = /*#__PURE__*/function (_React$Component) {
|
|
|
215
223
|
;
|
|
216
224
|
|
|
217
225
|
return Checkbox;
|
|
218
|
-
}(React.
|
|
219
|
-
Checkbox.__KONTUR_REACT_UI__ = 'Checkbox';
|
|
220
|
-
Checkbox.propTypes = {
|
|
226
|
+
}(React.PureComponent), _class2.__KONTUR_REACT_UI__ = 'Checkbox', _class2.propTypes = {
|
|
221
227
|
checked: PropTypes.bool,
|
|
222
228
|
disabled: PropTypes.bool,
|
|
223
229
|
error: PropTypes.bool,
|
|
@@ -227,4 +233,4 @@ Checkbox.propTypes = {
|
|
|
227
233
|
onMouseEnter: PropTypes.func,
|
|
228
234
|
onMouseLeave: PropTypes.func,
|
|
229
235
|
onMouseOver: PropTypes.func
|
|
230
|
-
};
|
|
236
|
+
}, _temp)) || _class;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Checkbox.tsx"],"names":["React","PropTypes","keyListener","ThemeContext","OkIcon","SquareIcon","isEdge","isFirefox","isIE11","CommonWrapper","cx","fixFirefoxModifiedClickOnLabel","styles","globalClasses","Checkbox","state","focusedByTab","indeterminate","props","initialIndeterminate","theme","input","createRef","componentDidMount","current","setIndeterminate","setState","resetIndeterminate","renderMain","error","warning","onMouseEnter","onMouseLeave","onMouseOver","onValueChange","type","rest","isIndeterminate","rootClass","root","rootFallback","rootChecked","checked","disabled","Boolean","inputProps","className","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","caption","children","captionClass","captionIE11","iconClass","iconUnchecked","iconFixBaseline","box","boxChecked","boxDisabled","boxFocus","boxError","boxWarning","e","requestAnimationFrame","isTabPressed","event","currentTarget","undefined","UNSAFE_componentWillReceiveProps","nextProps","render","focus","blur","Component","__KONTUR_REACT_UI__","propTypes","bool","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { OkIcon, SquareIcon } from '../../internal/icons/16px';\nimport { isEdge, isFirefox, isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\n\nimport { styles, globalClasses } from './Checkbox.styles';\n\nexport interface CheckboxProps\n extends CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Контент `label`\n */\n children?: React.ReactNode;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n /**\n * [Неопределённое состояние](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate) чекбокса из HTML.\n */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n}\n\nexport class Checkbox extends React.Component<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n\n public static propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n onBlur: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n };\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n };\n\n private theme!: Theme;\n private input = React.createRef<HTMLInputElement>();\n\n public componentDidMount = () => {\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n public UNSAFE_componentWillReceiveProps(nextProps: CheckboxProps) {\n if (nextProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Программная установка фокуса чекбоксу.\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программное снятие фокуса с чекбокса.\n * @public\n */\n public blur() {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = () => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = () => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n type,\n initialIndeterminate,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const rootClass = cx({\n [styles.root(this.theme)]: true,\n [styles.rootFallback()]: isIE11 || isEdge,\n [styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionIE11()]: isIE11 || isEdge,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const iconClass = cx({\n [styles.iconUnchecked()]: !props.checked && !isIndeterminate,\n [styles.iconFixBaseline()]: isFirefox || isIE11 || isEdge,\n });\n\n const box = (\n <span\n className={cx(styles.box(this.theme), globalClasses.box, {\n [styles.boxChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.boxDisabled(this.theme)]: props.disabled,\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxError(this.theme)]: props.error,\n [styles.boxWarning(this.theme)]: props.warning,\n })}\n >\n {(isIndeterminate && <SquareIcon className={iconClass} />) || <OkIcon className={iconClass} />}\n </span>\n );\n\n return (\n <label\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={fixFirefoxModifiedClickOnLabel(this.input)}\n >\n <input {...inputProps} />\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.props.onBlur?.(e);\n this.setState({ focusedByTab: false });\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n // support IE11's and old Edge's special behavior\n // https://github.com/jquery/jquery/issues/1698\n if (this.state.indeterminate && (isIE11 || isEdge)) {\n this.resetIndeterminate();\n // simulate correct behavior only if onValueChange is used\n // because we cant simulate real native onChange event\n if (this.props.onValueChange && this.input.current) {\n const checked = !this.input.current.checked;\n\n if (this.props.checked === undefined) {\n // in case of uncontrolled mode\n this.input.current.checked = checked;\n }\n\n this.props.onValueChange(checked);\n }\n }\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Checkbox.tsx"],"names":["React","PropTypes","keyListener","ThemeContext","OkIcon","SquareIcon","isEdge","isFirefox","isIE11","CommonWrapper","cx","rootNode","fixFirefoxModifiedClickOnLabel","styles","globalClasses","Checkbox","state","focusedByTab","indeterminate","props","initialIndeterminate","theme","input","createRef","componentDidMount","current","setRootNode","setIndeterminate","setState","resetIndeterminate","renderMain","error","warning","onMouseEnter","onMouseLeave","onMouseOver","onValueChange","type","rest","isIndeterminate","rootClass","root","rootFallback","rootChecked","checked","disabled","Boolean","inputProps","className","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","caption","children","captionClass","captionIE11","iconClass","iconUnchecked","iconFixBaseline","box","boxChecked","boxDisabled","boxFocus","boxError","boxWarning","e","requestAnimationFrame","isTabPressed","event","currentTarget","undefined","componentDidUpdate","prevProps","render","focus","blur","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { OkIcon, SquareIcon } from '../../internal/icons/16px';\nimport { isEdge, isFirefox, isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\n\nimport { styles, globalClasses } from './Checkbox.styles';\n\nexport interface CheckboxProps\n extends CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Контент `label`\n */\n children?: React.ReactNode;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n /**\n * [Неопределённое состояние](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate) чекбокса из HTML.\n */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n}\n@rootNode\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n\n public static propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n onBlur: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n };\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n };\n\n private theme!: Theme;\n private input = React.createRef<HTMLInputElement>();\n\n public componentDidMount = () => {\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\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.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Программная установка фокуса чекбоксу.\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программное снятие фокуса с чекбокса.\n * @public\n */\n public blur() {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = () => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = () => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n type,\n initialIndeterminate,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const rootClass = cx({\n [styles.root(this.theme)]: true,\n [styles.rootFallback()]: isIE11 || isEdge,\n [styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionIE11()]: isIE11 || isEdge,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const iconClass = cx({\n [styles.iconUnchecked()]: !props.checked && !isIndeterminate,\n [styles.iconFixBaseline()]: isFirefox || isIE11 || isEdge,\n });\n\n const box = (\n <span\n className={cx(styles.box(this.theme), globalClasses.box, {\n [styles.boxChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.boxDisabled(this.theme)]: props.disabled,\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxError(this.theme)]: props.error,\n [styles.boxWarning(this.theme)]: props.warning,\n })}\n >\n {(isIndeterminate && <SquareIcon className={iconClass} />) || <OkIcon className={iconClass} />}\n </span>\n );\n\n return (\n <label\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={fixFirefoxModifiedClickOnLabel(this.input)}\n >\n <input {...inputProps} />\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.props.onBlur?.(e);\n this.setState({ focusedByTab: false });\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n // support IE11's and old Edge's special behavior\n // https://github.com/jquery/jquery/issues/1698\n if (this.state.indeterminate && (isIE11 || isEdge)) {\n this.resetIndeterminate();\n // simulate correct behavior only if onValueChange is used\n // because we cant simulate real native onChange event\n if (this.props.onValueChange && this.input.current) {\n const checked = !this.input.current.checked;\n\n if (this.props.checked === undefined) {\n // in case of uncontrolled mode\n this.input.current.checked = checked;\n }\n\n this.props.onValueChange(checked);\n }\n }\n };\n}\n"]}
|
|
@@ -45,7 +45,7 @@ export interface CheckboxState {
|
|
|
45
45
|
focusedByTab: boolean;
|
|
46
46
|
indeterminate: boolean;
|
|
47
47
|
}
|
|
48
|
-
export declare class Checkbox extends React.
|
|
48
|
+
export declare class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {
|
|
49
49
|
static __KONTUR_REACT_UI__: string;
|
|
50
50
|
static propTypes: {
|
|
51
51
|
checked: PropTypes.Requireable<boolean>;
|
|
@@ -65,7 +65,8 @@ export declare class Checkbox extends React.Component<CheckboxProps, CheckboxSta
|
|
|
65
65
|
private theme;
|
|
66
66
|
private input;
|
|
67
67
|
componentDidMount: () => void;
|
|
68
|
-
|
|
68
|
+
private setRootNode;
|
|
69
|
+
componentDidUpdate(prevProps: CheckboxProps): void;
|
|
69
70
|
render(): JSX.Element;
|
|
70
71
|
/**
|
|
71
72
|
* Программная установка фокуса чекбоксу.
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
3
|
+
|
|
4
|
+
var _class, _class2, _temp;
|
|
5
|
+
|
|
3
6
|
import React from 'react';
|
|
4
7
|
import { CustomComboBox } from "../../../internal/CustomComboBox";
|
|
5
|
-
|
|
8
|
+
import { rootNode } from "../../../lib/rootNode";
|
|
9
|
+
export var ComboBox = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
|
|
6
10
|
_inheritsLoose(ComboBox, _React$Component);
|
|
7
11
|
|
|
8
12
|
function ComboBox() {
|
|
@@ -14,13 +18,21 @@ export var ComboBox = /*#__PURE__*/function (_React$Component) {
|
|
|
14
18
|
|
|
15
19
|
_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
|
|
16
20
|
_this.comboboxElement = null;
|
|
21
|
+
_this.setRootNode = void 0;
|
|
22
|
+
|
|
23
|
+
_this.customComboBoxRef = function (element) {
|
|
24
|
+
_this.setRootNode(element);
|
|
25
|
+
|
|
26
|
+
_this.comboboxElement = element;
|
|
27
|
+
};
|
|
28
|
+
|
|
17
29
|
return _this;
|
|
18
30
|
}
|
|
19
31
|
|
|
20
32
|
var _proto = ComboBox.prototype;
|
|
21
33
|
/**
|
|
22
|
-
|
|
23
|
-
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
24
36
|
|
|
25
37
|
_proto.focus = function focus() {
|
|
26
38
|
if (this.comboboxElement) {
|
|
@@ -28,8 +40,8 @@ export var ComboBox = /*#__PURE__*/function (_React$Component) {
|
|
|
28
40
|
}
|
|
29
41
|
}
|
|
30
42
|
/**
|
|
31
|
-
|
|
32
|
-
|
|
43
|
+
* @public
|
|
44
|
+
*/
|
|
33
45
|
;
|
|
34
46
|
|
|
35
47
|
_proto.blur = function blur() {
|
|
@@ -38,12 +50,12 @@ export var ComboBox = /*#__PURE__*/function (_React$Component) {
|
|
|
38
50
|
}
|
|
39
51
|
}
|
|
40
52
|
/**
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
53
|
+
* Открывает выпадающий список и запускает поиск элементов
|
|
54
|
+
*
|
|
55
|
+
* @public
|
|
56
|
+
* @param {string} [query] Текст поиска. По умолчанию берется
|
|
57
|
+
* текст из инпута или результат `valueToString(value)`
|
|
58
|
+
*/
|
|
47
59
|
;
|
|
48
60
|
|
|
49
61
|
_proto.search = function search(query) {
|
|
@@ -52,8 +64,8 @@ export var ComboBox = /*#__PURE__*/function (_React$Component) {
|
|
|
52
64
|
}
|
|
53
65
|
}
|
|
54
66
|
/**
|
|
55
|
-
|
|
56
|
-
|
|
67
|
+
* @public
|
|
68
|
+
*/
|
|
57
69
|
;
|
|
58
70
|
|
|
59
71
|
_proto.cancelSearch = function cancelSearch() {
|
|
@@ -62,8 +74,8 @@ export var ComboBox = /*#__PURE__*/function (_React$Component) {
|
|
|
62
74
|
}
|
|
63
75
|
}
|
|
64
76
|
/**
|
|
65
|
-
|
|
66
|
-
|
|
77
|
+
* @public Открывает выпадающий список
|
|
78
|
+
*/
|
|
67
79
|
;
|
|
68
80
|
|
|
69
81
|
_proto.open = function open() {
|
|
@@ -72,8 +84,8 @@ export var ComboBox = /*#__PURE__*/function (_React$Component) {
|
|
|
72
84
|
}
|
|
73
85
|
}
|
|
74
86
|
/**
|
|
75
|
-
|
|
76
|
-
|
|
87
|
+
* @public Закрывает выпадающий список
|
|
88
|
+
*/
|
|
77
89
|
;
|
|
78
90
|
|
|
79
91
|
_proto.close = function close() {
|
|
@@ -82,9 +94,9 @@ export var ComboBox = /*#__PURE__*/function (_React$Component) {
|
|
|
82
94
|
}
|
|
83
95
|
}
|
|
84
96
|
/**
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
97
|
+
* Выделяет текст внутри input
|
|
98
|
+
* @public
|
|
99
|
+
*/
|
|
88
100
|
;
|
|
89
101
|
|
|
90
102
|
_proto.selectInputText = function selectInputText() {
|
|
@@ -93,9 +105,9 @@ export var ComboBox = /*#__PURE__*/function (_React$Component) {
|
|
|
93
105
|
}
|
|
94
106
|
}
|
|
95
107
|
/**
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
108
|
+
* Сбрасывает введенное пользователем значение
|
|
109
|
+
* @public
|
|
110
|
+
*/
|
|
99
111
|
;
|
|
100
112
|
|
|
101
113
|
_proto.reset = function reset() {
|
|
@@ -105,19 +117,13 @@ export var ComboBox = /*#__PURE__*/function (_React$Component) {
|
|
|
105
117
|
};
|
|
106
118
|
|
|
107
119
|
_proto.render = function render() {
|
|
108
|
-
var _this2 = this;
|
|
109
|
-
|
|
110
120
|
return /*#__PURE__*/React.createElement(CustomComboBox, _extends({}, this.props, {
|
|
111
|
-
ref:
|
|
112
|
-
return _this2.comboboxElement = element;
|
|
113
|
-
}
|
|
121
|
+
ref: this.customComboBoxRef
|
|
114
122
|
}));
|
|
115
123
|
};
|
|
116
124
|
|
|
117
125
|
return ComboBox;
|
|
118
|
-
}(React.Component)
|
|
119
|
-
ComboBox.__KONTUR_REACT_UI__ = 'ComboBox';
|
|
120
|
-
ComboBox.defaultProps = {
|
|
126
|
+
}(React.Component), _class2.__KONTUR_REACT_UI__ = 'ComboBox', _class2.defaultProps = {
|
|
121
127
|
itemToValue: function itemToValue(item) {
|
|
122
128
|
return item.value;
|
|
123
129
|
},
|
|
@@ -133,4 +139,4 @@ ComboBox.defaultProps = {
|
|
|
133
139
|
menuAlign: 'left',
|
|
134
140
|
searchOnFocus: true,
|
|
135
141
|
drawArrow: true
|
|
136
|
-
};
|
|
142
|
+
}, _temp)) || _class;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ComboBox.tsx"],"names":["React","CustomComboBox","ComboBox","comboboxElement","focus","blur","search","query","cancelSearch","open","close","selectInputText","reset","render","props","
|
|
1
|
+
{"version":3,"sources":["ComboBox.tsx"],"names":["React","CustomComboBox","rootNode","ComboBox","comboboxElement","setRootNode","customComboBoxRef","element","focus","blur","search","query","cancelSearch","open","close","selectInputText","reset","render","props","Component","__KONTUR_REACT_UI__","defaultProps","itemToValue","item","value","valueToString","label","renderValue","renderItem","menuAlign","searchOnFocus","drawArrow"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { CustomComboBox } from '../../internal/CustomComboBox';\nimport { Nullable } from '../../typings/utility-types';\nimport { MenuItemState } from '../MenuItem';\nimport { InputIconType } from '../Input';\nimport { CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nexport interface ComboBoxProps<T> extends CommonProps {\n align?: 'left' | 'center' | 'right';\n /**\n * Вызывает функцию поиска `getItems` при фокусе и очистке поля ввода\n * @default true\n */\n searchOnFocus?: boolean;\n /**\n * Рисует справа иконку в виде стрелки\n * @default true\n */\n drawArrow?: boolean;\n\n autoFocus?: boolean;\n\n borderless?: boolean;\n\n /**\n * Не использовать Portal для рендеринга меню.\n * См. https://github.com/skbkontur/retail-ui/issues/15\n * @default false\n */\n disablePortal?: boolean;\n\n disabled?: boolean;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n\n leftIcon?: InputIconType;\n\n rightIcon?: InputIconType;\n\n /**\n * Функция поиска элементов, должна возвращать Promise с массивом элементов.\n * По умолчанию ожидаются объекты с типом `{ value: string, label: string }`.\n *\n * Элементы могут быть любого типа. В этом случае необходимо определить\n * свойства `itemToValue`, `renderValue`, `renderItem`, `valueToString`\n */\n getItems: (query: string) => Promise<T[]>;\n\n /**\n * Необходим для сравнения полученных результатов с `value`\n * @default item => item.label\n */\n itemToValue: (item: T) => string | number;\n\n maxLength?: number;\n\n menuAlign?: 'left' | 'right';\n\n onBlur?: () => void;\n\n /** Вызывается при изменении `value` */\n onValueChange?: (value: T) => void;\n\n onFocus?: () => void;\n\n /**\n * Вызывается при изменении текста в поле ввода,\n * если результатом функции будет строка,\n * то она станет следующим состояним полем ввода\n */\n onInputValueChange?: (value: string) => Nullable<string> | void;\n\n /**\n * Функция для обработки ситуации, когда была введена\n * строка в инпут и был потерян фокус с элемента.\n *\n * Если при потере фокуса в выпадающем списке будет только один\n * элемент и результат `renderValue` с этим элементом будет\n * совпадать со значение в текстовом поле, то\n * сработает onValueChange со значением данного элемента\n *\n * Сама функция также может вернуть значение,\n * неравное `undefined`,\n * с которым будет вызван onValueChange.\n */\n onUnexpectedInput?: (value: string) => void | null | T;\n\n placeholder?: string;\n\n /**\n * Функция отрисовки элементов результата поиска.\n * Не применяется если элемент является функцией или React-элементом\n * @default item => item.label\n */\n renderItem: (item: T, state?: MenuItemState) => React.ReactNode;\n\n /**\n * Функция для отрисовки сообщения о пустом результате поиска\n * Если есть renderAddButton - не работает\n */\n renderNotFound?: () => React.ReactNode;\n\n /**\n * Функция отображающая сообщение об общем количестве элементов.\n * `found` учитывает только компонент `MenuItem`. Им \"оборачиваются\" элементы, возвращаемые `getItems()`.\n */\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n\n /**\n * Функция отрисовки выбранного значения\n * @default item => item.label\n */\n renderValue: (item: T) => React.ReactNode;\n\n /**\n * Функция отрисовки кнопки добавления в выпадающем списке\n */\n renderAddButton?: (query?: string) => React.ReactNode;\n\n /**\n * Общее количество элементов.\n * Необходим для работы `renderTotalCount`\n */\n totalCount?: number;\n\n /**\n * Выбранное значение\n * Ожидается, что `value` того же типа что и элементы в массиве,\n * возвращаемом в `getItems`\n */\n value?: Nullable<T>;\n\n /**\n * Необходим для преобразования `value` в строку при фокусировке\n * @default item => item.label\n */\n valueToString: (item: T) => string;\n\n size?: 'small' | 'medium' | 'large';\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n\n width?: string | number;\n\n maxMenuHeight?: number | string;\n\n onMouseEnter?: (e: React.MouseEvent) => void;\n\n onMouseOver?: (e: React.MouseEvent) => void;\n\n onMouseLeave?: (e: React.MouseEvent) => void;\n\n onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n}\n\nexport interface ComboBoxItem {\n value: string;\n label: string;\n}\n\n@rootNode\nexport class ComboBox<T = ComboBoxItem> extends React.Component<ComboBoxProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBox';\n\n public static defaultProps = {\n itemToValue: (item: ComboBoxItem) => item.value,\n valueToString: (item: ComboBoxItem) => item.label,\n renderValue: (item: ComboBoxItem) => item.label,\n renderItem: (item: ComboBoxItem) => item.label,\n menuAlign: 'left',\n searchOnFocus: true,\n drawArrow: true,\n };\n\n private comboboxElement: Nullable<CustomComboBox<T>> = null;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.comboboxElement) {\n this.comboboxElement.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.comboboxElement) {\n this.comboboxElement.blur();\n }\n }\n\n /**\n * Открывает выпадающий список и запускает поиск элементов\n *\n * @public\n * @param {string} [query] Текст поиска. По умолчанию берется\n * текст из инпута или результат `valueToString(value)`\n */\n public search(query?: string) {\n if (this.comboboxElement) {\n this.comboboxElement.search(query);\n }\n }\n\n /**\n * @public\n */\n public cancelSearch() {\n if (this.comboboxElement) {\n this.comboboxElement.cancelSearch();\n }\n }\n\n /**\n * @public Открывает выпадающий список\n */\n public open() {\n if (this.comboboxElement) {\n this.comboboxElement.open();\n }\n }\n\n /**\n * @public Закрывает выпадающий список\n */\n public close() {\n if (this.comboboxElement) {\n this.comboboxElement.close();\n }\n }\n\n /**\n * Выделяет текст внутри input\n * @public\n */\n public selectInputText() {\n if (this.comboboxElement) {\n this.comboboxElement.selectInputText();\n }\n }\n\n /**\n * Сбрасывает введенное пользователем значение\n * @public\n */\n public reset() {\n if (this.comboboxElement) {\n this.comboboxElement.reset();\n }\n }\n\n public render() {\n return <CustomComboBox {...this.props} ref={this.customComboBoxRef} />;\n }\n\n private customComboBoxRef = (element: Nullable<CustomComboBox<T>>) => {\n this.setRootNode(element);\n this.comboboxElement = element;\n };\n}\n"]}
|
|
@@ -140,6 +140,7 @@ export declare class ComboBox<T = ComboBoxItem> extends React.Component<ComboBox
|
|
|
140
140
|
drawArrow: boolean;
|
|
141
141
|
};
|
|
142
142
|
private comboboxElement;
|
|
143
|
+
private setRootNode;
|
|
143
144
|
/**
|
|
144
145
|
* @public
|
|
145
146
|
*/
|
|
@@ -179,4 +180,5 @@ export declare class ComboBox<T = ComboBoxItem> extends React.Component<ComboBox
|
|
|
179
180
|
*/
|
|
180
181
|
reset(): void;
|
|
181
182
|
render(): JSX.Element;
|
|
183
|
+
private customComboBoxRef;
|
|
182
184
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
4
|
+
|
|
5
|
+
var _class, _class2, _temp;
|
|
6
|
+
|
|
4
7
|
import React from 'react';
|
|
5
8
|
import PropTypes from 'prop-types';
|
|
6
9
|
import warning from 'warning';
|
|
@@ -8,22 +11,23 @@ import debounce from 'lodash.debounce';
|
|
|
8
11
|
import { isIE11 } from "../../../lib/client";
|
|
9
12
|
import { Input } from "../../Input";
|
|
10
13
|
import { CommonWrapper } from "../../../internal/CommonWrapper";
|
|
14
|
+
import { rootNode } from "../../../lib/rootNode";
|
|
11
15
|
import { MAX_SAFE_DIGITS } from "../constants";
|
|
12
16
|
import { SelectionHelper } from "../SelectionHelper";
|
|
13
17
|
import { CurrencyHelper } from "../CurrencyHelper";
|
|
14
18
|
import { CurrencyInputHelper } from "../CurrencyInputHelper";
|
|
15
19
|
import { CURRENCY_INPUT_ACTIONS, extractAction } from "../CurrencyInputKeyboardActions";
|
|
20
|
+
export
|
|
16
21
|
/**
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
_inheritsLoose(CurrencyInput, _React$Component);
|
|
22
|
+
* Поле для денежных сумм (и других числовых значений).
|
|
23
|
+
* Принимает любые свойства `Input`.
|
|
24
|
+
*
|
|
25
|
+
* Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).
|
|
26
|
+
* <br/>
|
|
27
|
+
* Если `fractionDigits=15`, то в целой части допускается **0**.
|
|
28
|
+
*/
|
|
29
|
+
var CurrencyInput = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {
|
|
30
|
+
_inheritsLoose(CurrencyInput, _React$PureComponent);
|
|
27
31
|
|
|
28
32
|
function CurrencyInput() {
|
|
29
33
|
var _this;
|
|
@@ -32,12 +36,13 @@ export var CurrencyInput = /*#__PURE__*/function (_React$Component) {
|
|
|
32
36
|
args[_key] = arguments[_key];
|
|
33
37
|
}
|
|
34
38
|
|
|
35
|
-
_this = _React$
|
|
39
|
+
_this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;
|
|
36
40
|
_this.state = _extends({}, _this.getState(_this.props.value, _this.props.fractionDigits, _this.props.hideTrailingZeros), {
|
|
37
41
|
focused: false
|
|
38
42
|
});
|
|
39
43
|
_this.input = void 0;
|
|
40
44
|
_this.tempSelectionForOnChange = SelectionHelper.fromPosition(0);
|
|
45
|
+
_this.setRootNode = void 0;
|
|
41
46
|
|
|
42
47
|
_this.renderMain = function (props) {
|
|
43
48
|
var fractionDigits = props.fractionDigits,
|
|
@@ -420,18 +425,16 @@ export var CurrencyInput = /*#__PURE__*/function (_React$Component) {
|
|
|
420
425
|
warning((integerDigits || 0) + (fractionDigits || 0) <= MAX_SAFE_DIGITS, "[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds " + MAX_SAFE_DIGITS + "." + "\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15");
|
|
421
426
|
};
|
|
422
427
|
|
|
423
|
-
_proto.
|
|
424
|
-
var
|
|
425
|
-
|
|
426
|
-
|
|
428
|
+
_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {
|
|
429
|
+
var _this$props2 = this.props,
|
|
430
|
+
value = _this$props2.value,
|
|
431
|
+
fractionDigits = _this$props2.fractionDigits,
|
|
432
|
+
hideTrailingZeros = _this$props2.hideTrailingZeros;
|
|
427
433
|
|
|
428
|
-
if (value !== CurrencyHelper.parse(
|
|
429
|
-
|
|
430
|
-
this.setState(state);
|
|
434
|
+
if (value !== CurrencyHelper.parse(prevState.formatted) || prevProps.fractionDigits !== fractionDigits) {
|
|
435
|
+
this.setState(this.getState(value, fractionDigits, hideTrailingZeros));
|
|
431
436
|
}
|
|
432
|
-
};
|
|
433
437
|
|
|
434
|
-
_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {
|
|
435
438
|
if (this.state.focused && this.input) {
|
|
436
439
|
var _this$state$selection = this.state.selection,
|
|
437
440
|
start = _this$state$selection.start,
|
|
@@ -445,7 +448,9 @@ export var CurrencyInput = /*#__PURE__*/function (_React$Component) {
|
|
|
445
448
|
};
|
|
446
449
|
|
|
447
450
|
_proto.render = function render() {
|
|
448
|
-
return /*#__PURE__*/React.createElement(CommonWrapper,
|
|
451
|
+
return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
|
|
452
|
+
rootNodeRef: this.setRootNode
|
|
453
|
+
}, this.props), this.renderMain);
|
|
449
454
|
};
|
|
450
455
|
|
|
451
456
|
_proto.getState = function getState(value, fractionDigits, hideTrailingZeros) {
|
|
@@ -468,9 +473,7 @@ export var CurrencyInput = /*#__PURE__*/function (_React$Component) {
|
|
|
468
473
|
;
|
|
469
474
|
|
|
470
475
|
return CurrencyInput;
|
|
471
|
-
}(React.
|
|
472
|
-
CurrencyInput.__KONTUR_REACT_UI__ = 'CurrencyInput';
|
|
473
|
-
CurrencyInput.propTypes = {
|
|
476
|
+
}(React.PureComponent), _class2.__KONTUR_REACT_UI__ = 'CurrencyInput', _class2.propTypes = {
|
|
474
477
|
align: PropTypes.oneOf(['left', 'center', 'right']),
|
|
475
478
|
autoFocus: PropTypes.bool,
|
|
476
479
|
borderless: PropTypes.bool,
|
|
@@ -492,14 +495,13 @@ CurrencyInput.propTypes = {
|
|
|
492
495
|
onMouseLeave: PropTypes.func,
|
|
493
496
|
onMouseOver: PropTypes.func,
|
|
494
497
|
onSubmit: PropTypes.func
|
|
495
|
-
}
|
|
496
|
-
CurrencyInput.defaultProps = {
|
|
498
|
+
}, _class2.defaultProps = {
|
|
497
499
|
align: 'right',
|
|
498
500
|
fractionDigits: 2,
|
|
499
501
|
hideTrailingZeros: false,
|
|
500
502
|
value: null,
|
|
501
503
|
inputMode: 'decimal'
|
|
502
|
-
};
|
|
504
|
+
}, _temp)) || _class;
|
|
503
505
|
|
|
504
506
|
function getInputSelectionFromEvent(input) {
|
|
505
507
|
if (!(input instanceof HTMLInputElement)) {
|