@skbkontur/react-ui 3.10.0-fileuploader.1 → 3.11.0-select-right
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 +68 -0
- package/LICENSE +21 -21
- 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/Autocomplete/Autocomplete.md +7 -7
- package/cjs/components/Button/Button.d.ts +5 -1
- package/cjs/components/Button/Button.js +17 -5
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.styles.d.ts +1 -0
- package/cjs/components/Button/Button.styles.js +38 -28
- package/cjs/components/Button/Button.styles.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 -3
- package/cjs/components/Checkbox/Checkbox.js +31 -22
- 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 +4 -3
- package/cjs/components/CurrencyInput/CurrencyInput.js +35 -4
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.md +24 -24
- package/cjs/components/CurrencyLabel/CurrencyLabel.md +23 -23
- 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/DateInput/DateInput.md +106 -106
- 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/DatePicker/DatePicker.md +307 -307
- 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 +3 -2
- 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/FxInput/FxInput.md +16 -16
- package/cjs/components/Gapped/Gapped.d.ts +2 -0
- package/cjs/components/Gapped/Gapped.js +22 -14
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/Gapped/Gapped.md +43 -43
- 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/Group/Group.md +18 -18
- package/cjs/components/Hint/Hint.d.ts +5 -3
- package/cjs/components/Hint/Hint.js +7 -20
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Input/Input.d.ts +8 -1
- package/cjs/components/Input/Input.js +22 -5
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.md +13 -13
- package/cjs/components/Kebab/Kebab.d.ts +3 -2
- 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 +11 -7
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +2 -1
- package/cjs/components/MenuItem/MenuItem.js +11 -8
- 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/Paging/Paging.md +43 -43
- 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/PasswordInput/PasswordInput.md +9 -9
- package/cjs/components/Radio/Radio.d.ts +5 -10
- package/cjs/components/Radio/Radio.js +15 -11
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.d.ts +11 -26
- package/cjs/components/RadioGroup/RadioGroup.js +25 -29
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.md +43 -43
- 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/ScrollBar.js +4 -2
- package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/cjs/components/ScrollContainer/ScrollContainer.js +10 -6
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +1 -0
- package/cjs/components/ScrollContainer/ScrollContainer.styles.js +12 -8
- package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +1 -0
- package/cjs/components/Select/Select.js +9 -5
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePage.d.ts +3 -0
- package/cjs/components/SidePage/SidePage.js +20 -2
- 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 +9 -0
- package/cjs/components/Spinner/Spinner.js +29 -8
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Spinner/Spinner.md +1 -0
- package/cjs/components/Spinner/Spinner.styles.d.ts +2 -1
- package/cjs/components/Spinner/Spinner.styles.js +13 -10
- package/cjs/components/Spinner/Spinner.styles.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/Switcher/Switcher.styles.js +4 -2
- package/cjs/components/Switcher/Switcher.styles.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/Tabs/Tabs.md +36 -36
- 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/Textarea/Textarea.md +25 -25
- 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/Token/Token.md +112 -112
- 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/TokenInput/TokenInput.md +79 -79
- package/cjs/components/Tooltip/Tooltip.d.ts +11 -22
- package/cjs/components/Tooltip/Tooltip.js +28 -30
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +3 -2
- package/cjs/components/TooltipMenu/TooltipMenu.js +8 -5
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +2 -2
- package/cjs/index.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 +14 -11
- package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.styles.d.ts +3 -0
- package/cjs/internal/DropdownContainer/DropdownContainer.styles.js +9 -0
- package/cjs/internal/DropdownContainer/DropdownContainer.styles.js.map +1 -0
- 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 +3 -0
- package/cjs/internal/Menu/Menu.js +33 -6
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/Menu/Menu.styles.d.ts +3 -0
- package/cjs/internal/Menu/Menu.styles.js +22 -3
- package/cjs/internal/Menu/Menu.styles.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +9 -8
- package/cjs/internal/Popup/Popup.js +64 -48
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/PopupHelper.d.ts +2 -2
- package/cjs/internal/Popup/PopupHelper.js.map +1 -1
- package/cjs/internal/Popup/types.d.ts +1 -0
- package/cjs/{components/FileUploader/locale → internal/Popup}/types.js +0 -0
- package/cjs/{components/FileUploader/locale → internal/Popup}/types.js.map +0 -0
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -3
- package/cjs/internal/PopupMenu/PopupMenu.js +23 -6
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
- package/cjs/internal/PopupMenu/validatePositions.js +2 -4
- package/cjs/internal/PopupMenu/validatePositions.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/ThemePlayground/Playground.d.ts +0 -1
- package/cjs/internal/ThemePlayground/Playground.js +1 -11
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/darkTheme.d.ts +0 -15
- package/cjs/internal/ThemePlayground/darkTheme.js +1 -25
- package/cjs/internal/ThemePlayground/darkTheme.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/ThemeShowcase/ThemeShowcase.md +13 -13
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +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 -19
- package/cjs/internal/icons/16px/index.js +105 -84
- package/cjs/internal/icons/16px/index.js.map +1 -1
- package/cjs/internal/icons/SpinnerIcon.d.ts +4 -1
- package/cjs/internal/icons/SpinnerIcon.js +5 -2
- package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +0 -23
- package/cjs/internal/themes/DefaultTheme.js +1 -64
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/lib/ModalStack.js +16 -17
- package/cjs/lib/ModalStack.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/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
- package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +20 -0
- package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -0
- package/cjs/lib/getDisplayName.d.ts +3 -0
- package/cjs/lib/getDisplayName.js +9 -0
- package/cjs/lib/getDisplayName.js.map +1 -0
- package/cjs/lib/locale/types.d.ts +0 -2
- package/cjs/lib/locale/types.js +0 -2
- package/cjs/lib/locale/types.js.map +1 -1
- 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/AnimationKeyframes.js +1 -1
- package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
- package/cjs/lib/theming/Emotion.js +1 -0
- package/cjs/lib/theming/Emotion.js.map +1 -1
- package/cjs/lib/theming/useTheme.d.ts +1 -0
- package/cjs/lib/theming/useTheme.js +7 -0
- package/cjs/lib/theming/useTheme.js.map +1 -0
- package/cjs/lib/utils.d.ts +35 -1
- package/cjs/lib/utils.js +77 -22
- package/cjs/lib/utils.js.map +1 -1
- package/cjs/lib/withClassWrapper.d.ts +71 -0
- package/cjs/lib/withClassWrapper.js +59 -0
- package/cjs/lib/withClassWrapper.js.map +1 -0
- package/cjs/typings/html-props.d.ts +123 -0
- 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/Autocomplete/Autocomplete.md +7 -7
- package/components/Button/Button/Button.js +24 -15
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +5 -1
- package/components/Button/Button.styles/Button.styles.js +31 -28
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Button/Button.styles.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 +34 -30
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +3 -3
- 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 +62 -27
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +4 -3
- package/components/CurrencyInput/CurrencyInput.md +24 -24
- package/components/CurrencyLabel/CurrencyLabel.md +23 -23
- 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/DateInput/DateInput.md +106 -106
- 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/DatePicker/DatePicker.md +307 -307
- 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 +3 -2
- 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/FxInput/FxInput.md +16 -16
- package/components/Gapped/Gapped/Gapped.js +24 -21
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/Gapped/Gapped.d.ts +2 -0
- package/components/Gapped/Gapped.md +43 -43
- 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/Group/Group.md +18 -18
- package/components/Hint/Hint/Hint.js +18 -12
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +5 -3
- package/components/Input/Input/Input.js +29 -14
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +8 -1
- package/components/Input/Input.md +13 -13
- package/components/Kebab/Kebab/Kebab.js +12 -7
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +3 -2
- 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 +19 -13
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +1 -0
- package/components/MenuItem/MenuItem/MenuItem.js +19 -17
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +2 -1
- 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/Paging/Paging.md +43 -43
- 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/PasswordInput/PasswordInput.md +9 -9
- package/components/Radio/Radio/Radio.js +21 -20
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +5 -10
- package/components/RadioGroup/RadioGroup/RadioGroup.js +36 -29
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +11 -26
- package/components/RadioGroup/RadioGroup.md +43 -43
- 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/ScrollBar/ScrollBar.js +6 -2
- package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +15 -9
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +11 -8
- package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.styles.d.ts +1 -0
- package/components/Select/Select/Select.js +16 -7
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +1 -0
- package/components/SidePage/SidePage/SidePage.js +27 -3
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +3 -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 +14 -6
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +9 -0
- package/components/Spinner/Spinner.md +1 -0
- package/components/Spinner/Spinner.styles/Spinner.styles.js +12 -9
- package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
- package/components/Spinner/Spinner.styles.d.ts +2 -1
- 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/Switcher/Switcher.styles/Switcher.styles.js +3 -1
- package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
- 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/Tabs/Tabs.md +36 -36
- 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/Textarea/Textarea.md +25 -25
- 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/Token/Token.md +112 -112
- 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/TokenInput/TokenInput.md +79 -79
- package/components/Tooltip/Tooltip/Tooltip.js +26 -17
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +11 -22
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +23 -17
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +3 -2
- package/index.d.ts +1 -1
- package/index.js +2 -2
- package/index.js.map +1 -1
- 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 +17 -16
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
- package/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
- package/internal/DropdownContainer/DropdownContainer.styles/DropdownContainer.styles.js +10 -0
- package/internal/DropdownContainer/DropdownContainer.styles/DropdownContainer.styles.js.map +1 -0
- package/internal/DropdownContainer/DropdownContainer.styles/package.json +6 -0
- package/internal/DropdownContainer/DropdownContainer.styles.d.ts +3 -0
- 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 +24 -12
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.d.ts +3 -0
- package/internal/Menu/Menu.styles/Menu.styles.js +12 -3
- package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
- package/internal/Menu/Menu.styles.d.ts +3 -0
- package/internal/Popup/Popup/Popup.js +85 -68
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +9 -8
- package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
- package/internal/Popup/PopupHelper.d.ts +2 -2
- package/{components/FileUploader/locale → internal/Popup}/types/package.json +1 -1
- package/{components/FileUploader/locale → internal/Popup}/types/types.js +0 -0
- package/{components/FileUploader/locale → internal/Popup}/types/types.js.map +0 -0
- package/internal/Popup/types.d.ts +1 -0
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +15 -10
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +4 -3
- package/internal/PopupMenu/validatePositions/validatePositions.js +2 -2
- package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
- package/internal/PopupMenu/validatePositions.d.ts +2 -2
- 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/ThemePlayground/Playground/Playground.js +1 -11
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/Playground.d.ts +0 -1
- package/internal/ThemePlayground/darkTheme/darkTheme.js +1 -26
- package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
- package/internal/ThemePlayground/darkTheme.d.ts +0 -15
- 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/ThemeShowcase/ThemeShowcase.md +13 -13
- package/internal/ThemeShowcase/VariablesCollector.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 -78
- package/internal/icons/16px/index/index.js.map +1 -1
- package/internal/icons/16px/index.d.ts +17 -19
- package/internal/icons/SpinnerIcon/SpinnerIcon.js +5 -2
- package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
- package/internal/icons/SpinnerIcon.d.ts +4 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js +0 -67
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +0 -23
- package/lib/ModalStack/ModalStack.js +9 -13
- package/lib/ModalStack/ModalStack.js.map +1 -1
- 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/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +19 -0
- package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -0
- package/lib/events/fixFirefoxModifiedClickOnLabel/package.json +6 -0
- package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
- package/lib/getDisplayName/getDisplayName.js +3 -0
- package/lib/getDisplayName/getDisplayName.js.map +1 -0
- package/lib/getDisplayName/package.json +6 -0
- package/lib/getDisplayName.d.ts +3 -0
- package/lib/locale/types/types.js.map +1 -1
- package/lib/locale/types.d.ts +0 -2
- 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/{components/FileUploader → lib/rootNode}/index/package.json +1 -1
- package/lib/rootNode/index.d.ts +2 -0
- package/{components/FileUploader → lib/rootNode}/package.json +1 -1
- 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/AnimationKeyframes/AnimationKeyframes.js +1 -1
- package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
- package/lib/theming/Emotion/Emotion.js +1 -0
- package/lib/theming/Emotion/Emotion.js.map +1 -1
- package/lib/theming/useTheme/package.json +6 -0
- package/lib/theming/useTheme/useTheme.js +5 -0
- package/lib/theming/useTheme/useTheme.js.map +1 -0
- package/lib/theming/useTheme.d.ts +1 -0
- package/lib/utils/utils.js +77 -19
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +35 -1
- package/lib/withClassWrapper/package.json +6 -0
- package/lib/withClassWrapper/withClassWrapper.js +70 -0
- package/lib/withClassWrapper/withClassWrapper.js.map +1 -0
- package/lib/withClassWrapper.d.ts +71 -0
- package/package.json +13 -5
- package/typings/html-props.d.ts +123 -0
- package/cjs/components/FileUploader/FileUploader.d.ts +0 -31
- package/cjs/components/FileUploader/FileUploader.js +0 -270
- package/cjs/components/FileUploader/FileUploader.js.map +0 -1
- package/cjs/components/FileUploader/FileUploader.md +0 -67
- package/cjs/components/FileUploader/FileUploader.styles.d.ts +0 -19
- package/cjs/components/FileUploader/FileUploader.styles.js +0 -159
- package/cjs/components/FileUploader/FileUploader.styles.js.map +0 -1
- package/cjs/components/FileUploader/index.d.ts +0 -4
- package/cjs/components/FileUploader/index.js +0 -4
- package/cjs/components/FileUploader/index.js.map +0 -1
- package/cjs/components/FileUploader/locale/index.d.ts +0 -4
- package/cjs/components/FileUploader/locale/index.js +0 -11
- package/cjs/components/FileUploader/locale/index.js.map +0 -1
- package/cjs/components/FileUploader/locale/locales/en.d.ts +0 -2
- package/cjs/components/FileUploader/locale/locales/en.js +0 -7
- package/cjs/components/FileUploader/locale/locales/en.js.map +0 -1
- package/cjs/components/FileUploader/locale/locales/ru.d.ts +0 -2
- package/cjs/components/FileUploader/locale/locales/ru.js +0 -7
- package/cjs/components/FileUploader/locale/locales/ru.js.map +0 -1
- package/cjs/components/FileUploader/locale/types.d.ts +0 -6
- package/cjs/hooks/useDrop.d.ts +0 -11
- package/cjs/hooks/useDrop.js +0 -75
- package/cjs/hooks/useDrop.js.map +0 -1
- package/cjs/hooks/useMemoObject.d.ts +0 -1
- package/cjs/hooks/useMemoObject.js +0 -5
- package/cjs/hooks/useMemoObject.js.map +0 -1
- package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +0 -11
- package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js +0 -15
- package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js.map +0 -1
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +0 -14
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +0 -107
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +0 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +0 -10
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +0 -187
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +0 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +0 -11
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js +0 -66
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js.map +0 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +0 -4
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +0 -24
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +0 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +0 -4
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js +0 -17
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js.map +0 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +0 -7
- package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js +0 -16
- package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js.map +0 -1
- package/cjs/internal/FileUploaderControl/fileUtils.d.ts +0 -18
- package/cjs/internal/FileUploaderControl/fileUtils.js +0 -55
- package/cjs/internal/FileUploaderControl/fileUtils.js.map +0 -1
- package/cjs/internal/FileUploaderControl/hooks/useControlLocale.d.ts +0 -1
- package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js +0 -4
- package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js.map +0 -1
- package/cjs/internal/FileUploaderControl/hooks/useUpload.d.ts +0 -3
- package/cjs/internal/FileUploaderControl/hooks/useUpload.js +0 -51
- package/cjs/internal/FileUploaderControl/hooks/useUpload.js.map +0 -1
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +0 -3
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +0 -18
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +0 -1
- package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
- package/cjs/internal/PopupMenu/PopupMenuPositions.js +0 -15
- package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +0 -1
- package/cjs/internal/TextWidthHelper/TextWidthHelper.d.ts +0 -15
- package/cjs/internal/TextWidthHelper/TextWidthHelper.js +0 -34
- package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +0 -1
- package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +0 -4
- package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js +0 -23
- package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js.map +0 -1
- package/cjs/lib/guidUtils.d.ts +0 -1
- package/cjs/lib/guidUtils.js +0 -5
- package/cjs/lib/guidUtils.js.map +0 -1
- package/cjs/lib/locale/useLocaleForControl.d.ts +0 -3
- package/cjs/lib/locale/useLocaleForControl.js +0 -14
- package/cjs/lib/locale/useLocaleForControl.js.map +0 -1
- package/cjs/lib/stringUtils.d.ts +0 -1
- package/cjs/lib/stringUtils.js +0 -13
- package/cjs/lib/stringUtils.js.map +0 -1
- package/components/FileUploader/FileUploader/FileUploader.js +0 -277
- package/components/FileUploader/FileUploader/FileUploader.js.map +0 -1
- package/components/FileUploader/FileUploader/package.json +0 -6
- package/components/FileUploader/FileUploader.d.ts +0 -31
- package/components/FileUploader/FileUploader.md +0 -67
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +0 -56
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +0 -1
- package/components/FileUploader/FileUploader.styles/package.json +0 -6
- package/components/FileUploader/FileUploader.styles.d.ts +0 -19
- package/components/FileUploader/index/index.js +0 -3
- package/components/FileUploader/index/index.js.map +0 -1
- package/components/FileUploader/index.d.ts +0 -4
- package/components/FileUploader/locale/index/index.js +0 -8
- package/components/FileUploader/locale/index/index.js.map +0 -1
- package/components/FileUploader/locale/index/package.json +0 -6
- package/components/FileUploader/locale/index.d.ts +0 -4
- package/components/FileUploader/locale/locales/en/en.js +0 -6
- package/components/FileUploader/locale/locales/en/en.js.map +0 -1
- package/components/FileUploader/locale/locales/en/package.json +0 -6
- package/components/FileUploader/locale/locales/en.d.ts +0 -2
- package/components/FileUploader/locale/locales/ru/package.json +0 -6
- package/components/FileUploader/locale/locales/ru/ru.js +0 -6
- package/components/FileUploader/locale/locales/ru/ru.js.map +0 -1
- package/components/FileUploader/locale/locales/ru.d.ts +0 -2
- package/components/FileUploader/locale/package.json +0 -6
- package/components/FileUploader/locale/types.d.ts +0 -6
- package/hooks/useDrop/package.json +0 -6
- package/hooks/useDrop/useDrop.js +0 -57
- package/hooks/useDrop/useDrop.js.map +0 -1
- package/hooks/useDrop.d.ts +0 -11
- package/hooks/useMemoObject/package.json +0 -6
- package/hooks/useMemoObject/useMemoObject.js +0 -6
- package/hooks/useMemoObject/useMemoObject.js.map +0 -1
- package/hooks/useMemoObject.d.ts +0 -1
- package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js +0 -2
- package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js.map +0 -1
- package/internal/FileUploaderControl/FileUploaderControlContext/package.json +0 -6
- package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +0 -11
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +0 -79
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +0 -1
- package/internal/FileUploaderControl/FileUploaderControlProvider/package.json +0 -6
- package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +0 -14
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +0 -176
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +0 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/package.json +0 -6
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +0 -10
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js +0 -32
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js.map +0 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/package.json +0 -6
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +0 -11
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +0 -23
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +0 -1
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/package.json +0 -6
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +0 -4
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js +0 -11
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js.map +0 -1
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/package.json +0 -6
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +0 -4
- package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js +0 -18
- package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js.map +0 -1
- package/internal/FileUploaderControl/FileUploaderFileValidationResult/package.json +0 -6
- package/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +0 -7
- package/internal/FileUploaderControl/fileUtils/fileUtils.js +0 -85
- package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +0 -1
- package/internal/FileUploaderControl/fileUtils/package.json +0 -6
- package/internal/FileUploaderControl/fileUtils.d.ts +0 -18
- package/internal/FileUploaderControl/hooks/useControlLocale/package.json +0 -6
- package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js +0 -5
- package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js.map +0 -1
- package/internal/FileUploaderControl/hooks/useControlLocale.d.ts +0 -1
- package/internal/FileUploaderControl/hooks/useUpload/package.json +0 -6
- package/internal/FileUploaderControl/hooks/useUpload/useUpload.js +0 -56
- package/internal/FileUploaderControl/hooks/useUpload/useUpload.js.map +0 -1
- package/internal/FileUploaderControl/hooks/useUpload.d.ts +0 -3
- package/internal/FileUploaderControl/withFileUploaderControlProvider/package.json +0 -6
- package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +0 -16
- package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +0 -1
- package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +0 -3
- package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js +0 -1
- package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +0 -1
- package/internal/PopupMenu/PopupMenuPositions/package.json +0 -6
- package/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
- package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +0 -49
- package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +0 -1
- package/internal/TextWidthHelper/TextWidthHelper/package.json +0 -6
- package/internal/TextWidthHelper/TextWidthHelper.d.ts +0 -15
- package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js +0 -14
- package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js.map +0 -1
- package/internal/TextWidthHelper/TextWidthHelper.styles/package.json +0 -6
- package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +0 -4
- package/lib/guidUtils/guidUtils.js +0 -4
- package/lib/guidUtils/guidUtils.js.map +0 -1
- package/lib/guidUtils/package.json +0 -6
- package/lib/guidUtils.d.ts +0 -1
- package/lib/locale/useLocaleForControl/package.json +0 -6
- package/lib/locale/useLocaleForControl/useLocaleForControl.js +0 -12
- package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +0 -1
- package/lib/locale/useLocaleForControl.d.ts +0 -3
- package/lib/stringUtils/package.json +0 -6
- package/lib/stringUtils/stringUtils.js +0 -12
- package/lib/stringUtils/stringUtils.js.map +0 -1
- package/lib/stringUtils.d.ts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Paging.tsx"],"names":["React","func","number","isKeyArrowLeft","isKeyArrowRight","isKeyEnter","locale","keyListener","emptyHandler","isIE11","ThemeContext","ArrowChevronRightIcon","CommonWrapper","cx","styles","NavigationHelper","getItems","PagingLocaleHelper","IGNORE_EVENT_TAGS","Paging","state","focusedByTab","focusedItem","keyboardControl","props","useGlobalListener","theme","addedGlobalListener","container","renderItem","item","index","focused","getFocusedItem","key","renderDots","disabled","isItemDisabled","renderForwardLink","active","activePage","renderPageLink","dots","classes","forwardLink","forwardLinkFocused","Component","component","caption","forward","goForward","forwardIcon","pagingForwardIconSize","pageNumber","pageLink","pageLinkFocused","handleClick","goToPage","pageLinkWrapper","handleMouseDownPageLink","renderNavigationHint","withoutNavigationHint","canGoBackward","canGoForward","pageLinkHint","transparent","getKeyName","pageLinkHintPlaceHolder","handleMouseDown","setState","setTimeout","focus","handleKeyDown","e","shiftKey","target","isArrowLeft","isArrowRight","Element","includes","tagName","toLowerCase","isContentEditable","checkKeyPressed","goBackward","moveFocusLeft","moveFocusRight","executeItemAction","handleFocus","requestAnimationFrame","isTabPressed","handleBlur","pagesCount","concat","isItemFocusable","moveFocus","step","items","findIndex","x","length","onPageChange","addGlobalListener","document","addEventListener","removeGlobalListener","removeEventListener","refContainer","element","isForward","componentDidMount","UNSAFE_componentWillReceiveProps","nextProps","componentDidUpdate","prevProps","componentWillUnmount","render","renderMain","paging","undefined","map","__KONTUR_REACT_UI__","defaultProps","className","onClick","children","propTypes","isRequired"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { func, number } from 'prop-types';\n\nimport { isKeyArrowLeft, isKeyArrowRight, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { locale } from '../../lib/locale/decorators';\nimport { Nullable } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { emptyHandler } from '../../lib/utils';\nimport { isIE11 } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ArrowChevronRightIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Paging.styles';\nimport * as NavigationHelper from './NavigationHelper';\nimport { getItems } from './PagingHelper';\nimport { PagingLocale, PagingLocaleHelper } from './locale';\n\nconst IGNORE_EVENT_TAGS = ['input', 'textarea'];\n\ninterface ItemComponentProps {\n active: boolean;\n children?: React.ReactNode;\n className: string;\n onClick: () => void;\n pageNumber: number | 'forward';\n tabIndex: number;\n}\n\nexport interface PagingProps extends CommonProps {\n activePage: number;\n /**\n * Компонент обертки по умолчанию\n * @default <span />\n */\n component: React.ComponentType<ItemComponentProps>;\n onPageChange: (pageNumber: number) => void;\n pagesCount: number;\n disabled?: boolean;\n /**\n * Отключает навигационные подсказки.\n * По-умолчанию подсказки появляются, когда доступно управление с клавиатуры\n * (либо элемент в фокусе, либо globalListeners === true)\n */\n withoutNavigationHint?: boolean;\n caption?: string;\n /**\n * Глобальный слушатель **keyDown**, для навигации клавишами без фокуса на компоненте.\n * Если на странице используется несколько элементов\n * **Paging** с useGlobalListener === true, то обработчик keyDown будет вызываться\n * на каждом из них. Такие случаи лучше обрабатывать отдельно.\n */\n useGlobalListener: boolean;\n}\n\nexport interface PagingState {\n focusedByTab: boolean;\n focusedItem: Nullable<ItemType>;\n keyboardControl: boolean;\n}\n\nexport type ItemType = number | '.' | 'forward';\n\n@locale('Paging', PagingLocaleHelper)\nexport class Paging extends React.Component<PagingProps, PagingState> {\n public static __KONTUR_REACT_UI__ = 'Paging';\n\n public static defaultProps = {\n component: ({ className, onClick, children }: any) => (\n <span className={className} onClick={onClick}>\n {children}\n </span>\n ),\n useGlobalListener: false,\n ['data-tid']: 'Paging__root',\n };\n\n public static propTypes = {};\n\n public static isForward(pageNumber: number | 'forward'): boolean /* %checks */ {\n return pageNumber === 'forward';\n }\n\n public state: PagingState = {\n focusedByTab: false,\n focusedItem: null,\n keyboardControl: this.props.useGlobalListener,\n };\n\n private theme!: Theme;\n private readonly locale!: PagingLocale;\n private addedGlobalListener = false;\n private container: HTMLSpanElement | null = null;\n\n public componentDidMount() {\n const { useGlobalListener } = this.props;\n if (useGlobalListener) {\n this.addGlobalListener();\n }\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: PagingProps) {\n if (this.props.useGlobalListener !== nextProps.useGlobalListener) {\n this.setState({\n keyboardControl: nextProps.useGlobalListener,\n });\n }\n }\n\n public componentDidUpdate(prevProps: PagingProps) {\n if (!prevProps.useGlobalListener && this.props.useGlobalListener) {\n this.addGlobalListener();\n }\n\n if (prevProps.useGlobalListener && !this.props.useGlobalListener) {\n this.removeGlobalListener();\n }\n }\n\n public componentWillUnmount() {\n this.removeGlobalListener();\n }\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 return (\n <CommonWrapper {...this.props}>\n <span\n tabIndex={0}\n data-tid={this.props['data-tid']}\n className={styles.paging(this.theme)}\n onKeyDown={this.props.useGlobalListener ? undefined : this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onMouseDown={this.handleMouseDown}\n ref={this.refContainer}\n >\n {this.getItems().map(this.renderItem)}\n </span>\n </CommonWrapper>\n );\n }\n\n private renderItem = (item: ItemType, index: number) => {\n const focused = this.getFocusedItem() === item;\n switch (item) {\n case '.': {\n const key = `dots${index < 5 ? 'Left' : 'Right'}`;\n return this.renderDots(key);\n }\n case 'forward': {\n const disabled = this.isItemDisabled(item);\n return this.renderForwardLink(disabled, focused);\n }\n default: {\n const active = this.props.activePage === item;\n return this.renderPageLink(item, active, focused);\n }\n }\n };\n\n private renderDots = (key: string) => {\n return (\n <span data-tid=\"Paging__dots\" key={key} className={styles.dots(this.theme)}>\n {'...'}\n </span>\n );\n };\n\n private renderForwardLink = (disabled: boolean, focused: boolean): JSX.Element => {\n const classes = cx({\n [styles.forwardLink(this.theme)]: true,\n [styles.forwardLinkFocused()]: focused,\n [styles.disabled(this.theme)]: disabled,\n });\n const { component: Component, caption } = this.props;\n const { forward } = this.locale;\n\n return (\n <Component\n key={'forward'}\n data-tid=\"Paging__forwardLink\"\n active={false}\n className={classes}\n onClick={disabled ? emptyHandler : this.goForward}\n tabIndex={-1}\n pageNumber={'forward' as const}\n >\n {caption || forward}\n <span className={styles.forwardIcon(this.theme)}>\n <ArrowChevronRightIcon size={this.theme.pagingForwardIconSize} />\n </span>\n </Component>\n );\n };\n\n private renderPageLink = (pageNumber: number, active: boolean, focused: boolean): JSX.Element => {\n const classes = cx({\n [styles.pageLink(this.theme)]: true,\n [styles.pageLinkFocused(this.theme)]: focused,\n [styles.active(this.theme)]: active,\n });\n const Component = this.props.component;\n const handleClick = () => this.goToPage(pageNumber);\n\n return (\n <span\n data-tid=\"Paging__pageLinkWrapper\"\n key={pageNumber}\n className={styles.pageLinkWrapper()}\n onMouseDown={this.handleMouseDownPageLink}\n >\n <Component\n data-tid=\"Paging__pageLink\"\n active={active}\n className={classes}\n onClick={handleClick}\n tabIndex={-1}\n pageNumber={pageNumber}\n >\n {pageNumber}\n </Component>\n {active && this.renderNavigationHint()}\n </span>\n );\n };\n\n private renderNavigationHint = () => {\n if (this.props.withoutNavigationHint) {\n return null;\n }\n\n const { keyboardControl } = this.state;\n const canGoBackward = this.canGoBackward();\n const canGoForward = this.canGoForward();\n\n if (keyboardControl && (canGoBackward || canGoForward)) {\n return (\n <span className={styles.pageLinkHint(this.theme)}>\n <span className={canGoBackward ? '' : styles.transparent()}>{'←'}</span>\n <span>{NavigationHelper.getKeyName()}</span>\n <span className={canGoForward ? '' : styles.transparent()}>{'→'}</span>\n </span>\n );\n }\n\n return <div className={styles.pageLinkHintPlaceHolder(this.theme)} />;\n };\n\n private handleMouseDown = () => {\n this.setState({ focusedByTab: false, focusedItem: null });\n };\n\n private handleMouseDownPageLink = () => {\n if (isIE11) {\n // Клик по span внутри контейнера с tabindex=\"0\" переносит фокус именно на этот span.\n // Поэтому горячие клавиши работают пока span существует на странице.\n setTimeout(() => this.container && this.container.focus(), 0);\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent | React.KeyboardEvent<HTMLElement>) => {\n if (e.shiftKey) {\n return;\n }\n\n const target = e.target;\n\n const isArrowLeft = isKeyArrowLeft(e);\n const isArrowRight = isKeyArrowRight(e);\n\n if (\n target instanceof Element &&\n (IGNORE_EVENT_TAGS.includes(target.tagName.toLowerCase()) || (target as HTMLElement).isContentEditable)\n ) {\n return;\n }\n\n if (NavigationHelper.checkKeyPressed(e) && isArrowLeft) {\n this.setState({ focusedItem: null }, this.goBackward);\n return;\n }\n if (NavigationHelper.checkKeyPressed(e) && isArrowRight) {\n this.setState({ focusedItem: null }, this.goForward);\n return;\n }\n\n if (this.container && this.container === e.target) {\n if (isArrowLeft) {\n this.setState({ focusedByTab: true }, this.moveFocusLeft);\n return;\n }\n if (isArrowRight) {\n this.setState({ focusedByTab: true }, this.moveFocusRight);\n return;\n }\n if (isKeyEnter(e)) {\n this.executeItemAction(this.getFocusedItem());\n return;\n }\n }\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ keyboardControl: true });\n\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\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n keyboardControl: this.props.useGlobalListener || false,\n });\n };\n\n private getItems = (): ItemType[] => {\n return getItems(this.props.activePage, this.props.pagesCount).concat('forward');\n };\n\n private getFocusedItem = (): Nullable<ItemType> => {\n if (!this.state.focusedByTab) {\n return null;\n }\n\n const { focusedItem } = this.state;\n if (focusedItem && this.getItems().includes(focusedItem) && this.isItemFocusable(focusedItem)) {\n return focusedItem;\n }\n\n return this.props.activePage;\n };\n\n private isItemFocusable = (item: ItemType) => {\n return !this.isItemDisabled(item);\n };\n\n private isItemDisabled = (item: ItemType) => {\n switch (item) {\n case '.':\n return true;\n case 'forward':\n return !this.canGoForward();\n default:\n return false;\n }\n };\n\n private executeItemAction = (item: Nullable<ItemType>) => {\n if (item === 'forward') {\n this.goForward();\n }\n if (typeof item === 'number') {\n this.goToPage(item);\n }\n };\n\n private moveFocusLeft = () => {\n this.moveFocus(-1);\n };\n\n private moveFocusRight = () => {\n this.moveFocus(1);\n };\n\n private moveFocus = (step: number) => {\n const focusedItem = this.getFocusedItem();\n const items = this.getItems();\n let index = items.findIndex((x) => x === focusedItem);\n do {\n index = (index + step + items.length) % items.length;\n } while (!this.isItemFocusable(items[index]));\n this.setState({ focusedItem: items[index] });\n };\n\n private canGoBackward = (): boolean => {\n return this.props.activePage > 1;\n };\n\n private canGoForward = (): boolean => {\n return this.props.activePage < this.props.pagesCount;\n };\n\n private goBackward = () => {\n this.goToPage(this.props.activePage - 1);\n };\n\n private goForward = () => {\n this.goToPage(this.props.activePage + 1);\n };\n\n private goToPage = (pageNumber: number) => {\n if (1 <= pageNumber && pageNumber !== this.props.activePage && pageNumber <= this.props.pagesCount) {\n this.props.onPageChange(pageNumber);\n }\n };\n\n private addGlobalListener = () => {\n if (this.addedGlobalListener) {\n return;\n }\n\n document.addEventListener('keydown', this.handleKeyDown);\n this.addedGlobalListener = true;\n };\n\n private removeGlobalListener = () => {\n if (this.addedGlobalListener) {\n document.removeEventListener('keydown', this.handleKeyDown);\n\n this.addedGlobalListener = false;\n }\n };\n\n private refContainer = (element: HTMLSpanElement | null) => {\n this.container = element;\n };\n}\n\nPaging.propTypes = {\n /**\n * Current active page\n */\n activePage: number.isRequired,\n\n /**\n * React component that would be used for rendering items\n *\n * Usefull for router integration\n */\n component: func,\n\n /**\n * Total page count\n */\n pagesCount: number.isRequired,\n\n /**\n * Calls when page has been changed\n */\n onPageChange: func.isRequired,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["Paging.tsx"],"names":["React","func","number","isKeyArrowLeft","isKeyArrowRight","isKeyEnter","locale","keyListener","emptyHandler","isIE11","ThemeContext","ArrowChevronRightIcon","CommonWrapper","cx","rootNode","styles","NavigationHelper","getItems","PagingLocaleHelper","IGNORE_EVENT_TAGS","Paging","setRootNode","state","focusedByTab","focusedItem","keyboardControl","props","useGlobalListener","theme","addedGlobalListener","container","renderItem","item","index","focused","getFocusedItem","key","renderDots","disabled","isItemDisabled","renderForwardLink","active","activePage","renderPageLink","dots","classes","forwardLink","forwardLinkFocused","Component","component","caption","forward","goForward","forwardIcon","pagingForwardIconSize","pageNumber","pageLink","pageLinkFocused","handleClick","goToPage","pageLinkWrapper","handleMouseDownPageLink","renderNavigationHint","withoutNavigationHint","canGoBackward","canGoForward","pageLinkHint","transparent","getKeyName","pageLinkHintPlaceHolder","handleMouseDown","setState","setTimeout","focus","handleKeyDown","e","shiftKey","target","isArrowLeft","isArrowRight","Element","includes","tagName","toLowerCase","isContentEditable","checkKeyPressed","goBackward","moveFocusLeft","moveFocusRight","executeItemAction","handleFocus","requestAnimationFrame","isTabPressed","handleBlur","pagesCount","concat","isItemFocusable","moveFocus","step","items","findIndex","x","length","onPageChange","addGlobalListener","document","addEventListener","removeGlobalListener","removeEventListener","refContainer","element","isForward","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","renderMain","paging","undefined","map","PureComponent","__KONTUR_REACT_UI__","defaultProps","className","onClick","children","propTypes","isRequired"],"mappings":"uLAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,EAAeC,MAAf,QAA6B,YAA7B;;AAEA,SAASC,cAAT,EAAyBC,eAAzB,EAA0CC,UAA1C,QAA4D,uCAA5D;AACA,SAASC,MAAT,QAAuB,6BAAvB;;AAEA,SAASC,WAAT,QAA4B,8BAA5B;AACA,SAASC,YAAT,QAA6B,iBAA7B;AACA,SAASC,MAAT,QAAuB,kBAAvB;AACA,SAASC,YAAT,QAA6B,gCAA7B;;AAEA,SAASC,qBAAT,QAAsC,2BAAtC;AACA,SAASC,aAAT,QAA2C,8BAA3C;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,QAAT,QAAuC,oBAAvC;;AAEA,SAASC,MAAT,QAAuB,iBAAvB;AACA,OAAO,KAAKC,gBAAZ,MAAkC,oBAAlC;AACA,SAASC,QAAT,QAAyB,gBAAzB;AACA,SAAuBC,kBAAvB,QAAiD,UAAjD;;AAEA,IAAMC,iBAAiB,GAAG,CAAC,OAAD,EAAU,UAAV,CAA1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,WAAaC,MAAb,WADCd,MAAM,CAAC,QAAD,EAAWY,kBAAX,CACP,EAFCJ,QAED;;;;;;;;;;;;;;AAcUO,IAAAA,WAdV;;;;;;AAoBSC,IAAAA,KApBT,GAoB8B;AAC1BC,MAAAA,YAAY,EAAE,KADY;AAE1BC,MAAAA,WAAW,EAAE,IAFa;AAG1BC,MAAAA,eAAe,EAAE,MAAKC,KAAL,CAAWC,iBAHF,EApB9B;;;AA0BUC,IAAAA,KA1BV;AA2BmBtB,IAAAA,MA3BnB;AA4BUuB,IAAAA,mBA5BV,GA4BgC,KA5BhC;AA6BUC,IAAAA,SA7BV,GA6B8C,IA7B9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwFUC,IAAAA,UAxFV,GAwFuB,UAACC,IAAD,EAAiBC,KAAjB,EAAmC;AACtD,UAAMC,OAAO,GAAG,MAAKC,cAAL,OAA0BH,IAA1C;AACA,cAAQA,IAAR;AACE,aAAK,GAAL,CAAU;AACR,gBAAMI,GAAG,aAAUH,KAAK,GAAG,CAAR,GAAY,MAAZ,GAAqB,OAA/B,CAAT;AACA,mBAAO,MAAKI,UAAL,CAAgBD,GAAhB,CAAP;AACD;AACD,aAAK,SAAL,CAAgB;AACd,gBAAME,QAAQ,GAAG,MAAKC,cAAL,CAAoBP,IAApB,CAAjB;AACA,mBAAO,MAAKQ,iBAAL,CAAuBF,QAAvB,EAAiCJ,OAAjC,CAAP;AACD;AACD,gBAAS;AACP,gBAAMO,MAAM,GAAG,MAAKf,KAAL,CAAWgB,UAAX,KAA0BV,IAAzC;AACA,mBAAO,MAAKW,cAAL,CAAoBX,IAApB,EAA0BS,MAA1B,EAAkCP,OAAlC,CAAP;AACD,WAZH;;AAcD,KAxGH;;AA0GUG,IAAAA,UA1GV,GA0GuB,UAACD,GAAD,EAAiB;AACpC;AACE,sCAAM,YAAS,cAAf,EAA8B,GAAG,EAAEA,GAAnC,EAAwC,SAAS,EAAErB,MAAM,CAAC6B,IAAP,CAAY,MAAKhB,KAAjB,CAAnD;AACG,aADH,CADF;;;AAKD,KAhHH;;AAkHUY,IAAAA,iBAlHV,GAkH8B,UAACF,QAAD,EAAoBJ,OAApB,EAAsD;AAChF,UAAMW,OAAO,GAAGhC,EAAE;AACfE,MAAAA,MAAM,CAAC+B,WAAP,CAAmB,MAAKlB,KAAxB,CADe,IACkB,IADlB;AAEfb,MAAAA,MAAM,CAACgC,kBAAP,EAFe,IAEeb,OAFf;AAGfnB,MAAAA,MAAM,CAACuB,QAAP,CAAgB,MAAKV,KAArB,CAHe,IAGeU,QAHf,OAAlB,CADgF;;AAMtC,YAAKZ,KANiC,CAM7DsB,SAN6D,eAMxEC,SANwE,CAMlDC,OANkD,eAMlDA,OANkD;AAOxEC,MAAAA,OAPwE,GAO5D,MAAK7C,MAPuD,CAOxE6C,OAPwE;;AAShF;AACE,4BAAC,SAAD;AACE,UAAA,GAAG,EAAE,SADP;AAEE,sBAAS,qBAFX;AAGE,UAAA,MAAM,EAAE,KAHV;AAIE,UAAA,SAAS,EAAEN,OAJb;AAKE,UAAA,OAAO,EAAEP,QAAQ,GAAG9B,YAAH,GAAkB,MAAK4C,SAL1C;AAME,UAAA,QAAQ,EAAE,CAAC,CANb;AAOE,UAAA,UAAU,EAAE,SAPd;;AASGF,QAAAA,OAAO,IAAIC,OATd;AAUE,sCAAM,SAAS,EAAEpC,MAAM,CAACsC,WAAP,CAAmB,MAAKzB,KAAxB,CAAjB;AACE,4BAAC,qBAAD,IAAuB,IAAI,EAAE,MAAKA,KAAL,CAAW0B,qBAAxC,GADF,CAVF,CADF;;;;AAgBD,KA3IH;;AA6IUX,IAAAA,cA7IV,GA6I2B,UAACY,UAAD,EAAqBd,MAArB,EAAsCP,OAAtC,EAAwE;AAC/F,UAAMW,OAAO,GAAGhC,EAAE;AACfE,MAAAA,MAAM,CAACyC,QAAP,CAAgB,MAAK5B,KAArB,CADe,IACe,IADf;AAEfb,MAAAA,MAAM,CAAC0C,eAAP,CAAuB,MAAK7B,KAA5B,CAFe,IAEsBM,OAFtB;AAGfnB,MAAAA,MAAM,CAAC0B,MAAP,CAAc,MAAKb,KAAnB,CAHe,IAGaa,MAHb,QAAlB;;AAKA,UAAMO,SAAS,GAAG,MAAKtB,KAAL,CAAWuB,SAA7B;AACA,UAAMS,WAAW,GAAG,SAAdA,WAAc,WAAM,MAAKC,QAAL,CAAcJ,UAAd,CAAN,EAApB;;AAEA;AACE;AACE,sBAAS,yBADX;AAEE,UAAA,GAAG,EAAEA,UAFP;AAGE,UAAA,SAAS,EAAExC,MAAM,CAAC6C,eAAP,EAHb;AAIE,UAAA,WAAW,EAAE,MAAKC,uBAJpB;;AAME,4BAAC,SAAD;AACE,sBAAS,kBADX;AAEE,UAAA,MAAM,EAAEpB,MAFV;AAGE,UAAA,SAAS,EAAEI,OAHb;AAIE,UAAA,OAAO,EAAEa,WAJX;AAKE,UAAA,QAAQ,EAAE,CAAC,CALb;AAME,UAAA,UAAU,EAAEH,UANd;;AAQGA,QAAAA,UARH,CANF;;AAgBGd,QAAAA,MAAM,IAAI,MAAKqB,oBAAL,EAhBb,CADF;;;AAoBD,KA1KH;;AA4KUA,IAAAA,oBA5KV,GA4KiC,YAAM;AACnC,UAAI,MAAKpC,KAAL,CAAWqC,qBAAf,EAAsC;AACpC,eAAO,IAAP;AACD,OAHkC;;AAK3BtC,MAAAA,eAL2B,GAKP,MAAKH,KALE,CAK3BG,eAL2B;AAMnC,UAAMuC,aAAa,GAAG,MAAKA,aAAL,EAAtB;AACA,UAAMC,YAAY,GAAG,MAAKA,YAAL,EAArB;;AAEA,UAAIxC,eAAe,KAAKuC,aAAa,IAAIC,YAAtB,CAAnB,EAAwD;AACtD;AACE,wCAAM,SAAS,EAAElD,MAAM,CAACmD,YAAP,CAAoB,MAAKtC,KAAzB,CAAjB;AACE,wCAAM,SAAS,EAAEoC,aAAa,GAAG,EAAH,GAAQjD,MAAM,CAACoD,WAAP,EAAtC,IAA6D,GAA7D,CADF;AAEE,4CAAOnD,gBAAgB,CAACoD,UAAjB,EAAP,CAFF;AAGE,wCAAM,SAAS,EAAEH,YAAY,GAAG,EAAH,GAAQlD,MAAM,CAACoD,WAAP,EAArC,IAA4D,GAA5D,CAHF,CADF;;;AAOD;;AAED,0BAAO,6BAAK,SAAS,EAAEpD,MAAM,CAACsD,uBAAP,CAA+B,MAAKzC,KAApC,CAAhB,GAAP;AACD,KAhMH;;AAkMU0C,IAAAA,eAlMV,GAkM4B,YAAM;AAC9B,YAAKC,QAAL,CAAc,EAAEhD,YAAY,EAAE,KAAhB,EAAuBC,WAAW,EAAE,IAApC,EAAd;AACD,KApMH;;AAsMUqC,IAAAA,uBAtMV,GAsMoC,YAAM;AACtC,UAAIpD,MAAJ,EAAY;AACV;AACA;AACA+D,QAAAA,UAAU,CAAC,oBAAM,MAAK1C,SAAL,IAAkB,MAAKA,SAAL,CAAe2C,KAAf,EAAxB,EAAD,EAAiD,CAAjD,CAAV;AACD;AACF,KA5MH;;AA8MUC,IAAAA,aA9MV,GA8M0B,UAACC,CAAD,EAAyD;AAC/E,UAAIA,CAAC,CAACC,QAAN,EAAgB;AACd;AACD;;AAED,UAAMC,MAAM,GAAGF,CAAC,CAACE,MAAjB;;AAEA,UAAMC,WAAW,GAAG3E,cAAc,CAACwE,CAAD,CAAlC;AACA,UAAMI,YAAY,GAAG3E,eAAe,CAACuE,CAAD,CAApC;;AAEA;AACEE,MAAAA,MAAM,YAAYG,OAAlB;AACC7D,MAAAA,iBAAiB,CAAC8D,QAAlB,CAA2BJ,MAAM,CAACK,OAAP,CAAeC,WAAf,EAA3B,KAA6DN,MAAD,CAAwBO,iBADrF,CADF;AAGE;AACA;AACD;;AAED,UAAIpE,gBAAgB,CAACqE,eAAjB,CAAiCV,CAAjC,KAAuCG,WAA3C,EAAwD;AACtD,cAAKP,QAAL,CAAc,EAAE/C,WAAW,EAAE,IAAf,EAAd,EAAqC,MAAK8D,UAA1C;AACA;AACD;AACD,UAAItE,gBAAgB,CAACqE,eAAjB,CAAiCV,CAAjC,KAAuCI,YAA3C,EAAyD;AACvD,cAAKR,QAAL,CAAc,EAAE/C,WAAW,EAAE,IAAf,EAAd,EAAqC,MAAK4B,SAA1C;AACA;AACD;;AAED,UAAI,MAAKtB,SAAL,IAAkB,MAAKA,SAAL,KAAmB6C,CAAC,CAACE,MAA3C,EAAmD;AACjD,YAAIC,WAAJ,EAAiB;AACf,gBAAKP,QAAL,CAAc,EAAEhD,YAAY,EAAE,IAAhB,EAAd,EAAsC,MAAKgE,aAA3C;AACA;AACD;AACD,YAAIR,YAAJ,EAAkB;AAChB,gBAAKR,QAAL,CAAc,EAAEhD,YAAY,EAAE,IAAhB,EAAd,EAAsC,MAAKiE,cAA3C;AACA;AACD;AACD,YAAInF,UAAU,CAACsE,CAAD,CAAd,EAAmB;AACjB,gBAAKc,iBAAL,CAAuB,MAAKtD,cAAL,EAAvB;AACA;AACD;AACF;AACF,KAtPH;;AAwPUuD,IAAAA,WAxPV,GAwPwB,UAACf,CAAD,EAAsC;AAC1D,UAAI,MAAKjD,KAAL,CAAWY,QAAf,EAAyB;AACvB;AACD;;AAED,YAAKiC,QAAL,CAAc,EAAE9C,eAAe,EAAE,IAAnB,EAAd;;AAEA;AACA;AACAkE,MAAAA,qBAAqB,CAAC,YAAM;AAC1B,YAAIpF,WAAW,CAACqF,YAAhB,EAA8B;AAC5B,gBAAKrB,QAAL,CAAc,EAAEhD,YAAY,EAAE,IAAhB,EAAd;AACD;AACF,OAJoB,CAArB;AAKD,KAtQH;;AAwQUsE,IAAAA,UAxQV,GAwQuB,YAAM;AACzB,YAAKtB,QAAL,CAAc;AACZhD,QAAAA,YAAY,EAAE,KADF;AAEZE,QAAAA,eAAe,EAAE,MAAKC,KAAL,CAAWC,iBAAX,IAAgC,KAFrC,EAAd;;AAID,KA7QH;;AA+QUV,IAAAA,QA/QV,GA+QqB,YAAkB;AACnC,aAAOA,QAAQ,CAAC,MAAKS,KAAL,CAAWgB,UAAZ,EAAwB,MAAKhB,KAAL,CAAWoE,UAAnC,CAAR,CAAuDC,MAAvD,CAA8D,SAA9D,CAAP;AACD,KAjRH;;AAmRU5D,IAAAA,cAnRV,GAmR2B,YAA0B;AACjD,UAAI,CAAC,MAAKb,KAAL,CAAWC,YAAhB,EAA8B;AAC5B,eAAO,IAAP;AACD,OAHgD;;AAKzCC,MAAAA,WALyC,GAKzB,MAAKF,KALoB,CAKzCE,WALyC;AAMjD,UAAIA,WAAW,IAAI,MAAKP,QAAL,GAAgBgE,QAAhB,CAAyBzD,WAAzB,CAAf,IAAwD,MAAKwE,eAAL,CAAqBxE,WAArB,CAA5D,EAA+F;AAC7F,eAAOA,WAAP;AACD;;AAED,aAAO,MAAKE,KAAL,CAAWgB,UAAlB;AACD,KA9RH;;AAgSUsD,IAAAA,eAhSV,GAgS4B,UAAChE,IAAD,EAAoB;AAC5C,aAAO,CAAC,MAAKO,cAAL,CAAoBP,IAApB,CAAR;AACD,KAlSH;;AAoSUO,IAAAA,cApSV,GAoS2B,UAACP,IAAD,EAAoB;AAC3C,cAAQA,IAAR;AACE,aAAK,GAAL;AACE,iBAAO,IAAP;AACF,aAAK,SAAL;AACE,iBAAO,CAAC,MAAKiC,YAAL,EAAR;AACF;AACE,iBAAO,KAAP,CANJ;;AAQD,KA7SH;;AA+SUwB,IAAAA,iBA/SV,GA+S8B,UAACzD,IAAD,EAA8B;AACxD,UAAIA,IAAI,KAAK,SAAb,EAAwB;AACtB,cAAKoB,SAAL;AACD;AACD,UAAI,OAAOpB,IAAP,KAAgB,QAApB,EAA8B;AAC5B,cAAK2B,QAAL,CAAc3B,IAAd;AACD;AACF,KAtTH;;AAwTUuD,IAAAA,aAxTV,GAwT0B,YAAM;AAC5B,YAAKU,SAAL,CAAe,CAAC,CAAhB;AACD,KA1TH;;AA4TUT,IAAAA,cA5TV,GA4T2B,YAAM;AAC7B,YAAKS,SAAL,CAAe,CAAf;AACD,KA9TH;;AAgUUA,IAAAA,SAhUV,GAgUsB,UAACC,IAAD,EAAkB;AACpC,UAAM1E,WAAW,GAAG,MAAKW,cAAL,EAApB;AACA,UAAMgE,KAAK,GAAG,MAAKlF,QAAL,EAAd;AACA,UAAIgB,KAAK,GAAGkE,KAAK,CAACC,SAAN,CAAgB,UAACC,CAAD,UAAOA,CAAC,KAAK7E,WAAb,EAAhB,CAAZ;AACA,SAAG;AACDS,QAAAA,KAAK,GAAG,CAACA,KAAK,GAAGiE,IAAR,GAAeC,KAAK,CAACG,MAAtB,IAAgCH,KAAK,CAACG,MAA9C;AACD,OAFD,QAES,CAAC,MAAKN,eAAL,CAAqBG,KAAK,CAAClE,KAAD,CAA1B,CAFV;AAGA,YAAKsC,QAAL,CAAc,EAAE/C,WAAW,EAAE2E,KAAK,CAAClE,KAAD,CAApB,EAAd;AACD,KAxUH;;AA0UU+B,IAAAA,aA1UV,GA0U0B,YAAe;AACrC,aAAO,MAAKtC,KAAL,CAAWgB,UAAX,GAAwB,CAA/B;AACD,KA5UH;;AA8UUuB,IAAAA,YA9UV,GA8UyB,YAAe;AACpC,aAAO,MAAKvC,KAAL,CAAWgB,UAAX,GAAwB,MAAKhB,KAAL,CAAWoE,UAA1C;AACD,KAhVH;;AAkVUR,IAAAA,UAlVV,GAkVuB,YAAM;AACzB,YAAK3B,QAAL,CAAc,MAAKjC,KAAL,CAAWgB,UAAX,GAAwB,CAAtC;AACD,KApVH;;AAsVUU,IAAAA,SAtVV,GAsVsB,YAAM;AACxB,YAAKO,QAAL,CAAc,MAAKjC,KAAL,CAAWgB,UAAX,GAAwB,CAAtC;AACD,KAxVH;;AA0VUiB,IAAAA,QA1VV,GA0VqB,UAACJ,UAAD,EAAwB;AACzC,UAAI,KAAKA,UAAL,IAAmBA,UAAU,KAAK,MAAK7B,KAAL,CAAWgB,UAA7C,IAA2Da,UAAU,IAAI,MAAK7B,KAAL,CAAWoE,UAAxF,EAAoG;AAClG,cAAKpE,KAAL,CAAW6E,YAAX,CAAwBhD,UAAxB;AACD;AACF,KA9VH;;AAgWUiD,IAAAA,iBAhWV,GAgW8B,YAAM;AAChC,UAAI,MAAK3E,mBAAT,EAA8B;AAC5B;AACD;;AAED4E,MAAAA,QAAQ,CAACC,gBAAT,CAA0B,SAA1B,EAAqC,MAAKhC,aAA1C;AACA,YAAK7C,mBAAL,GAA2B,IAA3B;AACD,KAvWH;;AAyWU8E,IAAAA,oBAzWV,GAyWiC,YAAM;AACnC,UAAI,MAAK9E,mBAAT,EAA8B;AAC5B4E,QAAAA,QAAQ,CAACG,mBAAT,CAA6B,SAA7B,EAAwC,MAAKlC,aAA7C;;AAEA,cAAK7C,mBAAL,GAA2B,KAA3B;AACD;AACF,KA/WH;;AAiXUgF,IAAAA,YAjXV,GAiXyB,UAACC,OAAD,EAAqC;AAC1D,YAAKhF,SAAL,GAAiBgF,OAAjB;AACD,KAnXH,sBAgBgBC,SAhBhB,GAgBE,mBAAwBxD,UAAxB,EAAiE,aAAc,CAC7E,OAAOA,UAAU,KAAK,SAAtB,CACD,CAlBH,sCA+BSyD,iBA/BT,GA+BE,6BAA2B,KACjBrF,iBADiB,GACK,KAAKD,KADV,CACjBC,iBADiB,CAEzB,IAAIA,iBAAJ,EAAuB,CACrB,KAAK6E,iBAAL,GACD,CACF,CApCH,QAsCSS,kBAtCT,GAsCE,4BAA0BC,SAA1B,EAAkD,CAChD,IAAI,CAACA,SAAS,CAACvF,iBAAX,IAAgC,KAAKD,KAAL,CAAWC,iBAA/C,EAAkE,CAChE,KAAK6E,iBAAL,GACD,CAED,IAAIU,SAAS,CAACvF,iBAAV,IAA+B,CAAC,KAAKD,KAAL,CAAWC,iBAA/C,EAAkE,CAChE,KAAKgF,oBAAL,GACD,CAED,IAAIO,SAAS,CAACvF,iBAAV,KAAgC,KAAKD,KAAL,CAAWC,iBAA/C,EAAkE,CAChE,KAAK4C,QAAL,CAAc,EACZ9C,eAAe,EAAE,KAAKC,KAAL,CAAWC,iBADhB,EAAd,EAGD,CACF,CApDH,QAsDSwF,oBAtDT,GAsDE,gCAA8B,CAC5B,KAAKR,oBAAL,GACD,CAxDH,QA0DSS,MA1DT,GA0DE,kBAAgB,mBACd,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACxF,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,OAAO,MAAI,CAACyF,UAAL,EAAP,CACD,CAJH,CADF,CAQD,CAnEH,QAqEUA,UArEV,GAqEE,sBAAqB,CACnB,oBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,KAAKhG,WAAjC,IAAkD,KAAKK,KAAvD,gBACE,8BACE,QAAQ,EAAE,CADZ,EAEE,YAAU,KAAKA,KAAL,CAAW,UAAX,CAFZ,EAGE,SAAS,EAAEX,MAAM,CAACuG,MAAP,CAAc,KAAK1F,KAAnB,CAHb,EAIE,SAAS,EAAE,KAAKF,KAAL,CAAWC,iBAAX,GAA+B4F,SAA/B,GAA2C,KAAK7C,aAJ7D,EAKE,OAAO,EAAE,KAAKgB,WALhB,EAME,MAAM,EAAE,KAAKG,UANf,EAOE,WAAW,EAAE,KAAKvB,eAPpB,EAQE,GAAG,EAAE,KAAKuC,YARZ,IAUG,KAAK5F,QAAL,GAAgBuG,GAAhB,CAAoB,KAAKzF,UAAzB,CAVH,CADF,CADF,CAgBD,CAtFH,iBAA4B/B,KAAK,CAACyH,aAAlC,WACgBC,mBADhB,GACsC,QADtC,UAGgBC,YAHhB,6BAII1E,SAAS,EAAE,8BAAG2E,SAAH,QAAGA,SAAH,CAAcC,OAAd,QAAcA,OAAd,CAAuBC,QAAvB,QAAuBA,QAAvB,qBACT,8BAAM,SAAS,EAAEF,SAAjB,EAA4B,OAAO,EAAEC,OAArC,IACGC,QADH,CADS,EAJf,EASInG,iBAAiB,EAAE,KATvB,yBAUK,UAVL,IAUkB,cAVlB,iCAagBoG,SAbhB,GAa4B,EAb5B;;;AAsXA3G,MAAM,CAAC2G,SAAP,GAAmB;AACjB;AACF;AACA;AACErF,EAAAA,UAAU,EAAExC,MAAM,CAAC8H,UAJF;;AAMjB;AACF;AACA;AACA;AACA;AACE/E,EAAAA,SAAS,EAAEhD,IAXM;;AAajB;AACF;AACA;AACE6F,EAAAA,UAAU,EAAE5F,MAAM,CAAC8H,UAhBF;;AAkBjB;AACF;AACA;AACEzB,EAAAA,YAAY,EAAEtG,IAAI,CAAC+H,UArBF,EAAnB","sourcesContent":["import React from 'react';\nimport { func, number } from 'prop-types';\n\nimport { isKeyArrowLeft, isKeyArrowRight, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { locale } from '../../lib/locale/decorators';\nimport { Nullable } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { emptyHandler } from '../../lib/utils';\nimport { isIE11 } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ArrowChevronRightIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Paging.styles';\nimport * as NavigationHelper from './NavigationHelper';\nimport { getItems } from './PagingHelper';\nimport { PagingLocale, PagingLocaleHelper } from './locale';\n\nconst IGNORE_EVENT_TAGS = ['input', 'textarea'];\n\ninterface ItemComponentProps {\n active: boolean;\n children?: React.ReactNode;\n className: string;\n onClick: () => void;\n pageNumber: number | 'forward';\n tabIndex: number;\n}\n\nexport interface PagingProps extends CommonProps {\n activePage: number;\n /**\n * Компонент обертки по умолчанию\n * @default <span />\n */\n component: React.ComponentType<ItemComponentProps>;\n onPageChange: (pageNumber: number) => void;\n pagesCount: number;\n disabled?: boolean;\n /**\n * Отключает навигационные подсказки.\n * По-умолчанию подсказки появляются, когда доступно управление с клавиатуры\n * (либо элемент в фокусе, либо globalListeners === true)\n */\n withoutNavigationHint?: boolean;\n caption?: string;\n /**\n * Глобальный слушатель **keyDown**, для навигации клавишами без фокуса на компоненте.\n * Если на странице используется несколько элементов\n * **Paging** с useGlobalListener === true, то обработчик keyDown будет вызываться\n * на каждом из них. Такие случаи лучше обрабатывать отдельно.\n */\n useGlobalListener: boolean;\n}\n\nexport interface PagingState {\n focusedByTab: boolean;\n focusedItem: Nullable<ItemType>;\n keyboardControl: boolean;\n}\n\nexport type ItemType = number | '.' | 'forward';\n\n@rootNode\n@locale('Paging', PagingLocaleHelper)\nexport class Paging extends React.PureComponent<PagingProps, PagingState> {\n public static __KONTUR_REACT_UI__ = 'Paging';\n\n public static defaultProps = {\n component: ({ className, onClick, children }: any) => (\n <span className={className} onClick={onClick}>\n {children}\n </span>\n ),\n useGlobalListener: false,\n ['data-tid']: 'Paging__root',\n };\n\n public static propTypes = {};\n private setRootNode!: TSetRootNode;\n\n public static isForward(pageNumber: number | 'forward'): boolean /* %checks */ {\n return pageNumber === 'forward';\n }\n\n public state: PagingState = {\n focusedByTab: false,\n focusedItem: null,\n keyboardControl: this.props.useGlobalListener,\n };\n\n private theme!: Theme;\n private readonly locale!: PagingLocale;\n private addedGlobalListener = false;\n private container: HTMLSpanElement | null = null;\n\n public componentDidMount() {\n const { useGlobalListener } = this.props;\n if (useGlobalListener) {\n this.addGlobalListener();\n }\n }\n\n public componentDidUpdate(prevProps: PagingProps) {\n if (!prevProps.useGlobalListener && this.props.useGlobalListener) {\n this.addGlobalListener();\n }\n\n if (prevProps.useGlobalListener && !this.props.useGlobalListener) {\n this.removeGlobalListener();\n }\n\n if (prevProps.useGlobalListener !== this.props.useGlobalListener) {\n this.setState({\n keyboardControl: this.props.useGlobalListener,\n });\n }\n }\n\n public componentWillUnmount() {\n this.removeGlobalListener();\n }\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 return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span\n tabIndex={0}\n data-tid={this.props['data-tid']}\n className={styles.paging(this.theme)}\n onKeyDown={this.props.useGlobalListener ? undefined : this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onMouseDown={this.handleMouseDown}\n ref={this.refContainer}\n >\n {this.getItems().map(this.renderItem)}\n </span>\n </CommonWrapper>\n );\n }\n\n private renderItem = (item: ItemType, index: number) => {\n const focused = this.getFocusedItem() === item;\n switch (item) {\n case '.': {\n const key = `dots${index < 5 ? 'Left' : 'Right'}`;\n return this.renderDots(key);\n }\n case 'forward': {\n const disabled = this.isItemDisabled(item);\n return this.renderForwardLink(disabled, focused);\n }\n default: {\n const active = this.props.activePage === item;\n return this.renderPageLink(item, active, focused);\n }\n }\n };\n\n private renderDots = (key: string) => {\n return (\n <span data-tid=\"Paging__dots\" key={key} className={styles.dots(this.theme)}>\n {'...'}\n </span>\n );\n };\n\n private renderForwardLink = (disabled: boolean, focused: boolean): JSX.Element => {\n const classes = cx({\n [styles.forwardLink(this.theme)]: true,\n [styles.forwardLinkFocused()]: focused,\n [styles.disabled(this.theme)]: disabled,\n });\n const { component: Component, caption } = this.props;\n const { forward } = this.locale;\n\n return (\n <Component\n key={'forward'}\n data-tid=\"Paging__forwardLink\"\n active={false}\n className={classes}\n onClick={disabled ? emptyHandler : this.goForward}\n tabIndex={-1}\n pageNumber={'forward' as const}\n >\n {caption || forward}\n <span className={styles.forwardIcon(this.theme)}>\n <ArrowChevronRightIcon size={this.theme.pagingForwardIconSize} />\n </span>\n </Component>\n );\n };\n\n private renderPageLink = (pageNumber: number, active: boolean, focused: boolean): JSX.Element => {\n const classes = cx({\n [styles.pageLink(this.theme)]: true,\n [styles.pageLinkFocused(this.theme)]: focused,\n [styles.active(this.theme)]: active,\n });\n const Component = this.props.component;\n const handleClick = () => this.goToPage(pageNumber);\n\n return (\n <span\n data-tid=\"Paging__pageLinkWrapper\"\n key={pageNumber}\n className={styles.pageLinkWrapper()}\n onMouseDown={this.handleMouseDownPageLink}\n >\n <Component\n data-tid=\"Paging__pageLink\"\n active={active}\n className={classes}\n onClick={handleClick}\n tabIndex={-1}\n pageNumber={pageNumber}\n >\n {pageNumber}\n </Component>\n {active && this.renderNavigationHint()}\n </span>\n );\n };\n\n private renderNavigationHint = () => {\n if (this.props.withoutNavigationHint) {\n return null;\n }\n\n const { keyboardControl } = this.state;\n const canGoBackward = this.canGoBackward();\n const canGoForward = this.canGoForward();\n\n if (keyboardControl && (canGoBackward || canGoForward)) {\n return (\n <span className={styles.pageLinkHint(this.theme)}>\n <span className={canGoBackward ? '' : styles.transparent()}>{'←'}</span>\n <span>{NavigationHelper.getKeyName()}</span>\n <span className={canGoForward ? '' : styles.transparent()}>{'→'}</span>\n </span>\n );\n }\n\n return <div className={styles.pageLinkHintPlaceHolder(this.theme)} />;\n };\n\n private handleMouseDown = () => {\n this.setState({ focusedByTab: false, focusedItem: null });\n };\n\n private handleMouseDownPageLink = () => {\n if (isIE11) {\n // Клик по span внутри контейнера с tabindex=\"0\" переносит фокус именно на этот span.\n // Поэтому горячие клавиши работают пока span существует на странице.\n setTimeout(() => this.container && this.container.focus(), 0);\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent | React.KeyboardEvent<HTMLElement>) => {\n if (e.shiftKey) {\n return;\n }\n\n const target = e.target;\n\n const isArrowLeft = isKeyArrowLeft(e);\n const isArrowRight = isKeyArrowRight(e);\n\n if (\n target instanceof Element &&\n (IGNORE_EVENT_TAGS.includes(target.tagName.toLowerCase()) || (target as HTMLElement).isContentEditable)\n ) {\n return;\n }\n\n if (NavigationHelper.checkKeyPressed(e) && isArrowLeft) {\n this.setState({ focusedItem: null }, this.goBackward);\n return;\n }\n if (NavigationHelper.checkKeyPressed(e) && isArrowRight) {\n this.setState({ focusedItem: null }, this.goForward);\n return;\n }\n\n if (this.container && this.container === e.target) {\n if (isArrowLeft) {\n this.setState({ focusedByTab: true }, this.moveFocusLeft);\n return;\n }\n if (isArrowRight) {\n this.setState({ focusedByTab: true }, this.moveFocusRight);\n return;\n }\n if (isKeyEnter(e)) {\n this.executeItemAction(this.getFocusedItem());\n return;\n }\n }\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ keyboardControl: true });\n\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\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n keyboardControl: this.props.useGlobalListener || false,\n });\n };\n\n private getItems = (): ItemType[] => {\n return getItems(this.props.activePage, this.props.pagesCount).concat('forward');\n };\n\n private getFocusedItem = (): Nullable<ItemType> => {\n if (!this.state.focusedByTab) {\n return null;\n }\n\n const { focusedItem } = this.state;\n if (focusedItem && this.getItems().includes(focusedItem) && this.isItemFocusable(focusedItem)) {\n return focusedItem;\n }\n\n return this.props.activePage;\n };\n\n private isItemFocusable = (item: ItemType) => {\n return !this.isItemDisabled(item);\n };\n\n private isItemDisabled = (item: ItemType) => {\n switch (item) {\n case '.':\n return true;\n case 'forward':\n return !this.canGoForward();\n default:\n return false;\n }\n };\n\n private executeItemAction = (item: Nullable<ItemType>) => {\n if (item === 'forward') {\n this.goForward();\n }\n if (typeof item === 'number') {\n this.goToPage(item);\n }\n };\n\n private moveFocusLeft = () => {\n this.moveFocus(-1);\n };\n\n private moveFocusRight = () => {\n this.moveFocus(1);\n };\n\n private moveFocus = (step: number) => {\n const focusedItem = this.getFocusedItem();\n const items = this.getItems();\n let index = items.findIndex((x) => x === focusedItem);\n do {\n index = (index + step + items.length) % items.length;\n } while (!this.isItemFocusable(items[index]));\n this.setState({ focusedItem: items[index] });\n };\n\n private canGoBackward = (): boolean => {\n return this.props.activePage > 1;\n };\n\n private canGoForward = (): boolean => {\n return this.props.activePage < this.props.pagesCount;\n };\n\n private goBackward = () => {\n this.goToPage(this.props.activePage - 1);\n };\n\n private goForward = () => {\n this.goToPage(this.props.activePage + 1);\n };\n\n private goToPage = (pageNumber: number) => {\n if (1 <= pageNumber && pageNumber !== this.props.activePage && pageNumber <= this.props.pagesCount) {\n this.props.onPageChange(pageNumber);\n }\n };\n\n private addGlobalListener = () => {\n if (this.addedGlobalListener) {\n return;\n }\n\n document.addEventListener('keydown', this.handleKeyDown);\n this.addedGlobalListener = true;\n };\n\n private removeGlobalListener = () => {\n if (this.addedGlobalListener) {\n document.removeEventListener('keydown', this.handleKeyDown);\n\n this.addedGlobalListener = false;\n }\n };\n\n private refContainer = (element: HTMLSpanElement | null) => {\n this.container = element;\n };\n}\n\nPaging.propTypes = {\n /**\n * Current active page\n */\n activePage: number.isRequired,\n\n /**\n * React component that would be used for rendering items\n *\n * Usefull for router integration\n */\n component: func,\n\n /**\n * Total page count\n */\n pagesCount: number.isRequired,\n\n /**\n * Calls when page has been changed\n */\n onPageChange: func.isRequired,\n};\n"]}
|
|
@@ -40,7 +40,7 @@ export interface PagingState {
|
|
|
40
40
|
keyboardControl: boolean;
|
|
41
41
|
}
|
|
42
42
|
export declare type ItemType = number | '.' | 'forward';
|
|
43
|
-
export declare class Paging extends React.
|
|
43
|
+
export declare class Paging extends React.PureComponent<PagingProps, PagingState> {
|
|
44
44
|
static __KONTUR_REACT_UI__: string;
|
|
45
45
|
static defaultProps: {
|
|
46
46
|
component: ({ className, onClick, children }: any) => JSX.Element;
|
|
@@ -48,6 +48,7 @@ export declare class Paging extends React.Component<PagingProps, PagingState> {
|
|
|
48
48
|
"data-tid": string;
|
|
49
49
|
};
|
|
50
50
|
static propTypes: {};
|
|
51
|
+
private setRootNode;
|
|
51
52
|
static isForward(pageNumber: number | 'forward'): boolean;
|
|
52
53
|
state: PagingState;
|
|
53
54
|
private theme;
|
|
@@ -55,7 +56,6 @@ export declare class Paging extends React.Component<PagingProps, PagingState> {
|
|
|
55
56
|
private addedGlobalListener;
|
|
56
57
|
private container;
|
|
57
58
|
componentDidMount(): void;
|
|
58
|
-
UNSAFE_componentWillReceiveProps(nextProps: PagingProps): void;
|
|
59
59
|
componentDidUpdate(prevProps: PagingProps): void;
|
|
60
60
|
componentWillUnmount(): void;
|
|
61
61
|
render(): JSX.Element;
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
Управление с клавиатуры работает в двух вариантах:
|
|
2
|
-
|
|
3
|
-
- **useGlobalListener === true** слушатель keydown событий на document, если на стринице несколько компонентов Paging,
|
|
4
|
-
обработчик будет срабатывать на каждом
|
|
5
|
-
- **useGlobalListener === false** обработка нажатия клавиш будет работать только когда компонент в фокусе.
|
|
6
|
-
|
|
7
|
-
Навигационные подсказки появляются когда доступно управление с клавиатуры и `withoutNavigationHint != true`
|
|
8
|
-
|
|
9
|
-
```jsx harmony
|
|
10
|
-
class Paginator3000 extends React.Component {
|
|
11
|
-
constructor() {
|
|
12
|
-
super();
|
|
13
|
-
this.state = { active: 1 };
|
|
14
|
-
this._handlePageChange = this._handlePageChange.bind(this);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
render() {
|
|
18
|
-
return <Paging activePage={this.state.active} onPageChange={this._handlePageChange} pagesCount={12} />;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
_handlePageChange(pageNumber) {
|
|
22
|
-
this.setState({ active: pageNumber });
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
<Paginator3000 />;
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
#### Локали по умолчанию
|
|
30
|
-
|
|
31
|
-
```typescript static
|
|
32
|
-
interface PagingLocale {
|
|
33
|
-
forward?: string;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const ru_RU = {
|
|
37
|
-
forward: 'Дальше',
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
const en_GB = {
|
|
41
|
-
forward: 'Forward',
|
|
42
|
-
};
|
|
43
|
-
```
|
|
1
|
+
Управление с клавиатуры работает в двух вариантах:
|
|
2
|
+
|
|
3
|
+
- **useGlobalListener === true** слушатель keydown событий на document, если на стринице несколько компонентов Paging,
|
|
4
|
+
обработчик будет срабатывать на каждом
|
|
5
|
+
- **useGlobalListener === false** обработка нажатия клавиш будет работать только когда компонент в фокусе.
|
|
6
|
+
|
|
7
|
+
Навигационные подсказки появляются когда доступно управление с клавиатуры и `withoutNavigationHint != true`
|
|
8
|
+
|
|
9
|
+
```jsx harmony
|
|
10
|
+
class Paginator3000 extends React.Component {
|
|
11
|
+
constructor() {
|
|
12
|
+
super();
|
|
13
|
+
this.state = { active: 1 };
|
|
14
|
+
this._handlePageChange = this._handlePageChange.bind(this);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
render() {
|
|
18
|
+
return <Paging activePage={this.state.active} onPageChange={this._handlePageChange} pagesCount={12} />;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
_handlePageChange(pageNumber) {
|
|
22
|
+
this.setState({ active: pageNumber });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
<Paginator3000 />;
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
#### Локали по умолчанию
|
|
30
|
+
|
|
31
|
+
```typescript static
|
|
32
|
+
interface PagingLocale {
|
|
33
|
+
forward?: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const ru_RU = {
|
|
37
|
+
forward: 'Дальше',
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const en_GB = {
|
|
41
|
+
forward: 'Forward',
|
|
42
|
+
};
|
|
43
|
+
```
|
|
@@ -2,6 +2,9 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
3
|
import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
|
|
4
4
|
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
5
|
+
|
|
6
|
+
var _class, _class2, _temp;
|
|
7
|
+
|
|
5
8
|
import React from 'react';
|
|
6
9
|
import PropTypes from 'prop-types';
|
|
7
10
|
import { isKeyCapsLock } from "../../../lib/events/keyboard/identifiers";
|
|
@@ -12,13 +15,14 @@ import { isIE11 } from "../../../lib/client";
|
|
|
12
15
|
import { CommonWrapper } from "../../../internal/CommonWrapper";
|
|
13
16
|
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
14
17
|
import { cx } from "../../../lib/theming/Emotion";
|
|
18
|
+
import { rootNode } from "../../../lib/rootNode";
|
|
15
19
|
import { styles } from "../PasswordInput.styles";
|
|
20
|
+
export
|
|
16
21
|
/**
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
_inheritsLoose(PasswordInput, _React$Component);
|
|
22
|
+
* Компонент для ввода пароля
|
|
23
|
+
*/
|
|
24
|
+
var PasswordInput = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {
|
|
25
|
+
_inheritsLoose(PasswordInput, _React$PureComponent);
|
|
22
26
|
|
|
23
27
|
function PasswordInput() {
|
|
24
28
|
var _this;
|
|
@@ -27,13 +31,14 @@ export var PasswordInput = /*#__PURE__*/function (_React$Component) {
|
|
|
27
31
|
args[_key] = arguments[_key];
|
|
28
32
|
}
|
|
29
33
|
|
|
30
|
-
_this = _React$
|
|
34
|
+
_this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;
|
|
31
35
|
_this.state = {
|
|
32
36
|
visible: false,
|
|
33
37
|
capsLockEnabled: false
|
|
34
38
|
};
|
|
35
39
|
_this.theme = void 0;
|
|
36
40
|
_this.input = void 0;
|
|
41
|
+
_this.setRootNode = void 0;
|
|
37
42
|
|
|
38
43
|
_this.focus = function () {
|
|
39
44
|
if (_this.input) {
|
|
@@ -152,7 +157,7 @@ export var PasswordInput = /*#__PURE__*/function (_React$Component) {
|
|
|
152
157
|
|
|
153
158
|
var _proto = PasswordInput.prototype;
|
|
154
159
|
|
|
155
|
-
_proto.
|
|
160
|
+
_proto.componentDidMount = function componentDidMount() {
|
|
156
161
|
if (this.props.detectCapsLock) {
|
|
157
162
|
this.setState({
|
|
158
163
|
capsLockEnabled: null
|
|
@@ -172,7 +177,9 @@ export var PasswordInput = /*#__PURE__*/function (_React$Component) {
|
|
|
172
177
|
|
|
173
178
|
return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
|
|
174
179
|
_this2.theme = theme;
|
|
175
|
-
return /*#__PURE__*/React.createElement(CommonWrapper,
|
|
180
|
+
return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
|
|
181
|
+
rootNodeRef: _this2.setRootNode
|
|
182
|
+
}, _this2.props), _this2.renderMain);
|
|
176
183
|
});
|
|
177
184
|
}
|
|
178
185
|
/**
|
|
@@ -199,14 +206,11 @@ export var PasswordInput = /*#__PURE__*/function (_React$Component) {
|
|
|
199
206
|
};
|
|
200
207
|
|
|
201
208
|
return PasswordInput;
|
|
202
|
-
}(React.
|
|
203
|
-
PasswordInput.__KONTUR_REACT_UI__ = 'PasswordInput';
|
|
204
|
-
PasswordInput.propTypes = {
|
|
209
|
+
}(React.PureComponent), _class2.__KONTUR_REACT_UI__ = 'PasswordInput', _class2.propTypes = {
|
|
205
210
|
/**
|
|
206
211
|
* Включает CapsLock детектор
|
|
207
212
|
*/
|
|
208
213
|
detectCapsLock: PropTypes.bool
|
|
209
|
-
}
|
|
210
|
-
PasswordInput.defaultProps = {
|
|
214
|
+
}, _class2.defaultProps = {
|
|
211
215
|
size: 'small'
|
|
212
|
-
};
|
|
216
|
+
}, _temp)) || _class;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PasswordInput.tsx"],"names":["React","PropTypes","isKeyCapsLock","KeyboardEventCodes","Codes","Input","EyeClosedIcon","EyeOpenedIcon","isIE11","CommonWrapper","ThemeContext","cx","styles","PasswordInput","state","visible","capsLockEnabled","theme","input","focus","blur","handleBlur","handleKeyPress","e","props","onKeyPress","detectCapsLock","getModifierState","CapsLock","setState","handleKeydown","onKeyDown","handleToggleVisibility","prevState","handleFocus","renderEye","iconWrapper","capsLockDetector","toggleVisibility","getEyeWrapperClassname","refInput","element","renderMain","rest","inputProps","rightIcon","root","UNSAFE_componentWillMount","window","document","msCapsLockWarningOff","render","right","size","eyeWrapperLarge","eyeWrapperMedium","eyeWrapperSmall","Component","__KONTUR_REACT_UI__","propTypes","bool","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isKeyCapsLock } from '../../lib/events/keyboard/identifiers';\nimport { KeyboardEventCodes as Codes } from '../../lib/events/keyboard/KeyboardEventCodes';\nimport { Input, InputProps } from '../Input';\nimport { Nullable } from '../../typings/utility-types';\nimport { EyeClosedIcon, EyeOpenedIcon } from '../../internal/icons/16px';\nimport { isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './PasswordInput.styles';\n\nexport interface PasswordInputProps extends CommonProps, InputProps {\n detectCapsLock?: boolean;\n}\n\nexport interface PasswordInputState {\n visible: boolean;\n capsLockEnabled?: boolean | null;\n}\n\n/**\n * Компонент для ввода пароля\n */\nexport class PasswordInput extends React.Component<PasswordInputProps, PasswordInputState> {\n public static __KONTUR_REACT_UI__ = 'PasswordInput';\n\n public static propTypes = {\n /**\n * Включает CapsLock детектор\n */\n detectCapsLock: PropTypes.bool,\n };\n\n public static defaultProps = {\n size: 'small',\n };\n\n public state: PasswordInputState = {\n visible: false,\n capsLockEnabled: false,\n };\n\n private theme!: Theme;\n\n private input: Nullable<Input>;\n\n public UNSAFE_componentWillMount() {\n if (this.props.detectCapsLock) {\n this.setState({ capsLockEnabled: null });\n }\n\n // @ts-ignore\n if (isIE11 && !window.document.msCapsLockWarningOff) {\n // turns off default ie capslock warning\n // @ts-ignore\n window.document.msCapsLockWarningOff = true;\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 * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n this.handleBlur();\n };\n\n private handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { onKeyPress, detectCapsLock } = this.props;\n\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n const capsLockEnabled = e.getModifierState(Codes.CapsLock);\n\n this.setState({ capsLockEnabled });\n };\n\n private handleKeydown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const {\n props: { detectCapsLock, onKeyDown },\n state: { capsLockEnabled },\n } = this;\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n if (isKeyCapsLock(e) && capsLockEnabled != null) {\n this.setState({ capsLockEnabled: !capsLockEnabled });\n }\n };\n\n private handleToggleVisibility = () => {\n this.setState((prevState) => ({ visible: !prevState.visible }), this.handleFocus);\n };\n\n private handleFocus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n private handleBlur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private getEyeWrapperClassname(right = false) {\n switch (this.props.size) {\n case 'large':\n return styles.eyeWrapperLarge(this.theme);\n case 'medium':\n return styles.eyeWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.eyeWrapperSmall(this.theme);\n }\n }\n\n private renderEye = () => {\n const { capsLockEnabled } = this.state;\n\n return (\n <span className={styles.iconWrapper()}>\n {capsLockEnabled && <span className={styles.capsLockDetector()} data-tid=\"PasswordInputCapsLockDetector\" />}\n <span\n data-tid=\"PasswordInputEyeIcon\"\n className={cx(styles.toggleVisibility(), this.getEyeWrapperClassname())}\n onClick={this.handleToggleVisibility}\n >\n {this.state.visible ? <EyeClosedIcon size={14} /> : <EyeOpenedIcon size={14} />}\n </span>\n </span>\n );\n };\n\n private refInput = (element: Input) => {\n this.input = element;\n };\n\n private renderMain = (props: CommonWrapperRestProps<PasswordInputProps>) => {\n const { detectCapsLock, ...rest } = props;\n const inputProps = {\n ...rest,\n onKeyDown: this.handleKeydown,\n onKeyPress: this.handleKeyPress,\n rightIcon: this.renderEye(),\n };\n return (\n <div className={styles.root()}>\n <Input ref={this.refInput} type={this.state.visible ? 'text' : 'password'} {...inputProps} />\n </div>\n );\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["PasswordInput.tsx"],"names":["React","PropTypes","isKeyCapsLock","KeyboardEventCodes","Codes","Input","EyeClosedIcon","EyeOpenedIcon","isIE11","CommonWrapper","ThemeContext","cx","rootNode","styles","PasswordInput","state","visible","capsLockEnabled","theme","input","setRootNode","focus","blur","handleBlur","handleKeyPress","e","props","onKeyPress","detectCapsLock","getModifierState","CapsLock","setState","handleKeydown","onKeyDown","handleToggleVisibility","prevState","handleFocus","renderEye","iconWrapper","capsLockDetector","toggleVisibility","getEyeWrapperClassname","refInput","element","renderMain","rest","inputProps","rightIcon","root","componentDidMount","window","document","msCapsLockWarningOff","render","right","size","eyeWrapperLarge","eyeWrapperMedium","eyeWrapperSmall","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isKeyCapsLock } from '../../lib/events/keyboard/identifiers';\nimport { KeyboardEventCodes as Codes } from '../../lib/events/keyboard/KeyboardEventCodes';\nimport { Input, InputProps } from '../Input';\nimport { Nullable } from '../../typings/utility-types';\nimport { EyeClosedIcon, EyeOpenedIcon } from '../../internal/icons/16px';\nimport { isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './PasswordInput.styles';\n\nexport interface PasswordInputProps extends CommonProps, InputProps {\n detectCapsLock?: boolean;\n}\n\nexport interface PasswordInputState {\n visible: boolean;\n capsLockEnabled?: boolean | null;\n}\n\n/**\n * Компонент для ввода пароля\n */\n@rootNode\nexport class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {\n public static __KONTUR_REACT_UI__ = 'PasswordInput';\n\n public static propTypes = {\n /**\n * Включает CapsLock детектор\n */\n detectCapsLock: PropTypes.bool,\n };\n\n public static defaultProps = {\n size: 'small',\n };\n\n public state: PasswordInputState = {\n visible: false,\n capsLockEnabled: false,\n };\n\n private theme!: Theme;\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.detectCapsLock) {\n this.setState({ capsLockEnabled: null });\n }\n\n // @ts-ignore\n if (isIE11 && !window.document.msCapsLockWarningOff) {\n // turns off default ie capslock warning\n // @ts-ignore\n window.document.msCapsLockWarningOff = true;\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 * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n this.handleBlur();\n };\n\n private handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { onKeyPress, detectCapsLock } = this.props;\n\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n const capsLockEnabled = e.getModifierState(Codes.CapsLock);\n\n this.setState({ capsLockEnabled });\n };\n\n private handleKeydown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const {\n props: { detectCapsLock, onKeyDown },\n state: { capsLockEnabled },\n } = this;\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n if (isKeyCapsLock(e) && capsLockEnabled != null) {\n this.setState({ capsLockEnabled: !capsLockEnabled });\n }\n };\n\n private handleToggleVisibility = () => {\n this.setState((prevState) => ({ visible: !prevState.visible }), this.handleFocus);\n };\n\n private handleFocus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n private handleBlur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private getEyeWrapperClassname(right = false) {\n switch (this.props.size) {\n case 'large':\n return styles.eyeWrapperLarge(this.theme);\n case 'medium':\n return styles.eyeWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.eyeWrapperSmall(this.theme);\n }\n }\n\n private renderEye = () => {\n const { capsLockEnabled } = this.state;\n\n return (\n <span className={styles.iconWrapper()}>\n {capsLockEnabled && <span className={styles.capsLockDetector()} data-tid=\"PasswordInputCapsLockDetector\" />}\n <span\n data-tid=\"PasswordInputEyeIcon\"\n className={cx(styles.toggleVisibility(), this.getEyeWrapperClassname())}\n onClick={this.handleToggleVisibility}\n >\n {this.state.visible ? <EyeClosedIcon size={14} /> : <EyeOpenedIcon size={14} />}\n </span>\n </span>\n );\n };\n\n private refInput = (element: Input) => {\n this.input = element;\n };\n\n private renderMain = (props: CommonWrapperRestProps<PasswordInputProps>) => {\n const { detectCapsLock, ...rest } = props;\n const inputProps = {\n ...rest,\n onKeyDown: this.handleKeydown,\n onKeyPress: this.handleKeyPress,\n rightIcon: this.renderEye(),\n };\n return (\n <div className={styles.root()}>\n <Input ref={this.refInput} type={this.state.visible ? 'text' : 'password'} {...inputProps} />\n </div>\n );\n };\n}\n"]}
|
|
@@ -12,7 +12,7 @@ export interface PasswordInputState {
|
|
|
12
12
|
/**
|
|
13
13
|
* Компонент для ввода пароля
|
|
14
14
|
*/
|
|
15
|
-
export declare class PasswordInput extends React.
|
|
15
|
+
export declare class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {
|
|
16
16
|
static __KONTUR_REACT_UI__: string;
|
|
17
17
|
static propTypes: {
|
|
18
18
|
/**
|
|
@@ -26,7 +26,8 @@ export declare class PasswordInput extends React.Component<PasswordInputProps, P
|
|
|
26
26
|
state: PasswordInputState;
|
|
27
27
|
private theme;
|
|
28
28
|
private input;
|
|
29
|
-
|
|
29
|
+
private setRootNode;
|
|
30
|
+
componentDidMount(): void;
|
|
30
31
|
render(): JSX.Element;
|
|
31
32
|
/**
|
|
32
33
|
* @public
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
```jsx harmony
|
|
2
|
-
<PasswordInput />
|
|
3
|
-
```
|
|
4
|
-
|
|
5
|
-
Пример с отслеживанием нажатия CapsLock:
|
|
6
|
-
|
|
7
|
-
```jsx harmony
|
|
8
|
-
<PasswordInput detectCapsLock />
|
|
9
|
-
```
|
|
1
|
+
```jsx harmony
|
|
2
|
+
<PasswordInput />
|
|
3
|
+
```
|
|
4
|
+
|
|
5
|
+
Пример с отслеживанием нажатия CapsLock:
|
|
6
|
+
|
|
7
|
+
```jsx harmony
|
|
8
|
+
<PasswordInput detectCapsLock />
|
|
9
|
+
```
|
|
@@ -1,18 +1,23 @@
|
|
|
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
|
-
import PropTypes from 'prop-types';
|
|
6
8
|
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
7
9
|
import { CommonWrapper } from "../../../internal/CommonWrapper";
|
|
8
10
|
import { cx } from "../../../lib/theming/Emotion";
|
|
9
11
|
import { keyListener } from "../../../lib/events/keyListener";
|
|
12
|
+
import { rootNode } from "../../../lib/rootNode";
|
|
13
|
+
import { fixFirefoxModifiedClickOnLabel } from "../../../lib/events/fixFirefoxModifiedClickOnLabel";
|
|
14
|
+
import { RadioGroupContext } from "../../RadioGroup/RadioGroupContext";
|
|
10
15
|
import { styles, globalClasses } from "../Radio.styles";
|
|
16
|
+
export
|
|
11
17
|
/**
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export var Radio = /*#__PURE__*/function (_React$Component) {
|
|
18
|
+
* Радио-кнопки используются, когда может быть выбран только один вариант из нескольких.
|
|
19
|
+
*/
|
|
20
|
+
var Radio = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
|
|
16
21
|
_inheritsLoose(Radio, _React$Component);
|
|
17
22
|
|
|
18
23
|
function Radio() {
|
|
@@ -26,8 +31,10 @@ export var Radio = /*#__PURE__*/function (_React$Component) {
|
|
|
26
31
|
_this.state = {
|
|
27
32
|
focusedByKeyboard: false
|
|
28
33
|
};
|
|
29
|
-
_this.
|
|
34
|
+
_this.context = _this.context;
|
|
30
35
|
_this.inputEl = /*#__PURE__*/React.createRef();
|
|
36
|
+
_this.setRootNode = void 0;
|
|
37
|
+
_this.theme = void 0;
|
|
31
38
|
|
|
32
39
|
_this.renderMain = function (props) {
|
|
33
40
|
var _cx;
|
|
@@ -70,7 +77,8 @@ export var Radio = /*#__PURE__*/function (_React$Component) {
|
|
|
70
77
|
className: cx(styles.root(_this.theme), _this.props.checked && styles.rootChecked(_this.theme)),
|
|
71
78
|
onMouseOver: _this.handleMouseOver,
|
|
72
79
|
onMouseEnter: _this.handleMouseEnter,
|
|
73
|
-
onMouseLeave: _this.handleMouseLeave
|
|
80
|
+
onMouseLeave: _this.handleMouseLeave,
|
|
81
|
+
onClick: fixFirefoxModifiedClickOnLabel(_this.inputEl)
|
|
74
82
|
};
|
|
75
83
|
|
|
76
84
|
if (_this._isInRadioGroup()) {
|
|
@@ -80,6 +88,7 @@ export var Radio = /*#__PURE__*/function (_React$Component) {
|
|
|
80
88
|
inputProps.checked = checked;
|
|
81
89
|
inputProps.name = _this.context.name;
|
|
82
90
|
inputProps.suppressHydrationWarning = true;
|
|
91
|
+
labelProps.className = cx(styles.root(_this.theme), checked && styles.rootChecked(_this.theme));
|
|
83
92
|
radioProps.className = cx(radioProps.className, (_cx2 = {}, _cx2[styles.checked(_this.theme)] = checked, _cx2[styles.checkedDisabled(_this.theme)] = checked && disabled, _cx2));
|
|
84
93
|
}
|
|
85
94
|
|
|
@@ -150,7 +159,9 @@ export var Radio = /*#__PURE__*/function (_React$Component) {
|
|
|
150
159
|
|
|
151
160
|
return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
|
|
152
161
|
_this2.theme = theme;
|
|
153
|
-
return /*#__PURE__*/React.createElement(CommonWrapper,
|
|
162
|
+
return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
|
|
163
|
+
rootNodeRef: _this2.setRootNode
|
|
164
|
+
}, _this2.props), _this2.renderMain);
|
|
154
165
|
});
|
|
155
166
|
}
|
|
156
167
|
/**
|
|
@@ -185,16 +196,6 @@ export var Radio = /*#__PURE__*/function (_React$Component) {
|
|
|
185
196
|
};
|
|
186
197
|
|
|
187
198
|
return Radio;
|
|
188
|
-
}(React.Component)
|
|
189
|
-
Radio.__KONTUR_REACT_UI__ = 'Radio';
|
|
190
|
-
Radio.contextTypes = {
|
|
191
|
-
activeItem: PropTypes.any,
|
|
192
|
-
onSelect: PropTypes.func,
|
|
193
|
-
name: PropTypes.string,
|
|
194
|
-
disabled: PropTypes.bool,
|
|
195
|
-
error: PropTypes.bool,
|
|
196
|
-
warning: PropTypes.bool
|
|
197
|
-
};
|
|
198
|
-
Radio.defaultProps = {
|
|
199
|
+
}(React.Component), _class2.__KONTUR_REACT_UI__ = 'Radio', _class2.defaultProps = {
|
|
199
200
|
focused: false
|
|
200
|
-
};
|
|
201
|
+
}, _class2.contextType = RadioGroupContext, _temp)) || _class;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Radio.tsx"],"names":["React","PropTypes","ThemeContext","CommonWrapper","cx","keyListener","styles","globalClasses","Radio","state","focusedByKeyboard","theme","inputEl","createRef","renderMain","props","disabled","context","warning","error","focused","onMouseOver","onMouseEnter","onMouseLeave","onValueChange","rest","radioProps","className","radio","checked","focus","checkedDisabled","value","inputProps","type","input","tabIndex","ref","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","labelProps","root","rootChecked","handleMouseOver","handleMouseEnter","handleMouseLeave","_isInRadioGroup","activeItem","name","suppressHydrationWarning","placeholder","children","renderLabel","Boolean","e","onSelect","requestAnimationFrame","isArrowPressed","isTabPressed","setState","render","current","blur","labelClassNames","label","labelDisabled","Component","__KONTUR_REACT_UI__","contextTypes","any","func","string","bool","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\n\nimport { styles, globalClasses } from './Radio.styles';\n\nexport interface RadioProps<T>\n extends CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n /**\n * Состояние фокуса.\n */\n focused?: boolean;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: T) => void;\n /**\n * HTML-событие `onmouseenter`\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `onmouseover`\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-атрибут `value`.\n */\n value: T;\n }\n > {}\n\nexport interface RadioState {\n focusedByKeyboard: boolean;\n}\n\n/**\n * Радио-кнопки используются, когда может быть выбран только один вариант из нескольких.\n */\nexport class Radio<T> extends React.Component<RadioProps<T>, RadioState> {\n public static __KONTUR_REACT_UI__ = 'Radio';\n\n public state = {\n focusedByKeyboard: false,\n };\n\n public static contextTypes = {\n activeItem: PropTypes.any,\n onSelect: PropTypes.func,\n name: PropTypes.string,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n warning: PropTypes.bool,\n };\n\n public static defaultProps = {\n focused: false,\n };\n\n private theme!: Theme;\n private inputEl = React.createRef<HTMLInputElement>();\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 * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.inputEl.current?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.inputEl.current?.blur();\n }\n\n public renderMain = (props: CommonWrapperRestProps<RadioProps<T>>) => {\n const {\n disabled = this.context.disabled,\n warning = this.context.warning,\n error = this.context.error,\n focused,\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n onValueChange,\n ...rest\n } = props;\n\n const radioProps = {\n className: cx({\n [styles.radio(this.theme)]: true,\n [styles.checked(this.theme)]: this.props.checked,\n [styles.focus(this.theme)]: this.props.focused || this.state.focusedByKeyboard,\n [styles.error(this.theme)]: error,\n [styles.warning(this.theme)]: warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.checkedDisabled(this.theme)]: this.props.checked && disabled,\n [globalClasses.radio]: true,\n }),\n };\n\n let value: string | number | undefined;\n if (typeof this.props.value === 'string' || typeof this.props.value === 'number') {\n value = this.props.value;\n }\n\n const inputProps = {\n ...rest,\n type: 'radio',\n className: styles.input(),\n disabled,\n tabIndex: this.props.tabIndex,\n value,\n ref: this.inputEl,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n };\n\n const labelProps = {\n className: cx(styles.root(this.theme), this.props.checked && styles.rootChecked(this.theme)),\n onMouseOver: this.handleMouseOver,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n };\n\n if (this._isInRadioGroup()) {\n const checked = this.props.value === this.context.activeItem;\n inputProps.checked = checked;\n inputProps.name = this.context.name;\n inputProps.suppressHydrationWarning = true;\n radioProps.className = cx(radioProps.className, {\n [styles.checked(this.theme)]: checked,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n });\n }\n\n return (\n <label {...labelProps}>\n <input {...inputProps} />\n <span {...radioProps}>\n <span className={styles.placeholder()} />\n </span>\n {this.props.children && this.renderLabel()}\n </label>\n );\n };\n\n private _isInRadioGroup = () => Boolean(this.context.name);\n\n private renderLabel() {\n const labelClassNames = cx({\n [styles.label(this.theme)]: true,\n [styles.labelDisabled()]: !!(this.props.disabled || this.context.disabled),\n });\n\n return <div className={labelClassNames}>{this.props.children}</div>;\n }\n\n private handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n this.props.onValueChange?.(this.props.value);\n\n if (this._isInRadioGroup()) {\n this.context.onSelect(this.props.value);\n }\n\n this.props.onChange?.(e);\n };\n\n private handleMouseOver: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseOver?.(e);\n };\n\n private handleMouseEnter: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseEnter?.(e);\n };\n\n private handleMouseLeave: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseLeave?.(e);\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.context.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isArrowPressed || keyListener.isTabPressed) {\n this.setState({ focusedByKeyboard: 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({ focusedByKeyboard: false });\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Radio.tsx"],"names":["React","ThemeContext","CommonWrapper","cx","keyListener","rootNode","fixFirefoxModifiedClickOnLabel","RadioGroupContext","styles","globalClasses","Radio","state","focusedByKeyboard","context","inputEl","createRef","setRootNode","theme","renderMain","props","disabled","warning","error","focused","onMouseOver","onMouseEnter","onMouseLeave","onValueChange","rest","radioProps","className","radio","checked","focus","checkedDisabled","value","inputProps","type","input","tabIndex","ref","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","labelProps","root","rootChecked","handleMouseOver","handleMouseEnter","handleMouseLeave","onClick","_isInRadioGroup","activeItem","name","suppressHydrationWarning","placeholder","children","renderLabel","Boolean","e","onSelect","requestAnimationFrame","isArrowPressed","isTabPressed","setState","render","current","blur","labelClassNames","label","labelDisabled","Component","__KONTUR_REACT_UI__","defaultProps","contextType"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { RadioGroupContext, RadioGroupContextType } from '../RadioGroup/RadioGroupContext';\n\nimport { styles, globalClasses } from './Radio.styles';\n\nexport interface RadioProps<T>\n extends CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n /**\n * Состояние фокуса.\n */\n focused?: boolean;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: T) => void;\n /**\n * HTML-событие `onmouseenter`\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `onmouseover`\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-атрибут `value`.\n */\n value: T;\n }\n > {}\n\nexport interface RadioState {\n focusedByKeyboard: boolean;\n}\n\n/**\n * Радио-кнопки используются, когда может быть выбран только один вариант из нескольких.\n */\n@rootNode\nexport class Radio<T> extends React.Component<RadioProps<T>, RadioState> {\n public static __KONTUR_REACT_UI__ = 'Radio';\n\n public state = {\n focusedByKeyboard: false,\n };\n\n public static defaultProps = {\n focused: false,\n };\n\n public static contextType = RadioGroupContext;\n public context: RadioGroupContextType<T> = this.context;\n\n private inputEl = React.createRef<HTMLInputElement>();\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\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 * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.inputEl.current?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.inputEl.current?.blur();\n }\n\n public renderMain = (props: CommonWrapperRestProps<RadioProps<T>>) => {\n const {\n disabled = this.context.disabled,\n warning = this.context.warning,\n error = this.context.error,\n focused,\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n onValueChange,\n ...rest\n } = props;\n\n const radioProps = {\n className: cx({\n [styles.radio(this.theme)]: true,\n [styles.checked(this.theme)]: this.props.checked,\n [styles.focus(this.theme)]: this.props.focused || this.state.focusedByKeyboard,\n [styles.error(this.theme)]: error,\n [styles.warning(this.theme)]: warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.checkedDisabled(this.theme)]: this.props.checked && disabled,\n [globalClasses.radio]: true,\n }),\n };\n\n let value: string | number | undefined;\n if (typeof this.props.value === 'string' || typeof this.props.value === 'number') {\n value = this.props.value;\n }\n\n const inputProps = {\n ...rest,\n type: 'radio',\n className: styles.input(),\n disabled,\n tabIndex: this.props.tabIndex,\n value,\n ref: this.inputEl,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n };\n\n const labelProps = {\n className: cx(styles.root(this.theme), this.props.checked && styles.rootChecked(this.theme)),\n onMouseOver: this.handleMouseOver,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n onClick: fixFirefoxModifiedClickOnLabel(this.inputEl),\n };\n\n if (this._isInRadioGroup()) {\n const checked = this.props.value === this.context.activeItem;\n inputProps.checked = checked;\n inputProps.name = this.context.name;\n inputProps.suppressHydrationWarning = true;\n labelProps.className = cx(styles.root(this.theme), checked && styles.rootChecked(this.theme));\n radioProps.className = cx(radioProps.className, {\n [styles.checked(this.theme)]: checked,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n });\n }\n\n return (\n <label {...labelProps}>\n <input {...inputProps} />\n <span {...radioProps}>\n <span className={styles.placeholder()} />\n </span>\n {this.props.children && this.renderLabel()}\n </label>\n );\n };\n\n private _isInRadioGroup = () => Boolean(this.context.name);\n\n private renderLabel() {\n const labelClassNames = cx({\n [styles.label(this.theme)]: true,\n [styles.labelDisabled()]: !!(this.props.disabled || this.context.disabled),\n });\n\n return <div className={labelClassNames}>{this.props.children}</div>;\n }\n\n private handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n this.props.onValueChange?.(this.props.value);\n\n if (this._isInRadioGroup()) {\n this.context.onSelect(this.props.value);\n }\n\n this.props.onChange?.(e);\n };\n\n private handleMouseOver: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseOver?.(e);\n };\n\n private handleMouseEnter: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseEnter?.(e);\n };\n\n private handleMouseLeave: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseLeave?.(e);\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.context.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isArrowPressed || keyListener.isTabPressed) {\n this.setState({ focusedByKeyboard: 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({ focusedByKeyboard: false });\n };\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
2
|
import { Override } from '../../typings/utility-types';
|
|
4
3
|
import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
|
|
4
|
+
import { RadioGroupContextType } from '../RadioGroup/RadioGroupContext';
|
|
5
5
|
export interface RadioProps<T> extends CommonProps, Override<React.InputHTMLAttributes<HTMLInputElement>, {
|
|
6
6
|
/**
|
|
7
7
|
* Cостояние валидации при ошибке.
|
|
@@ -48,19 +48,14 @@ export declare class Radio<T> extends React.Component<RadioProps<T>, RadioState>
|
|
|
48
48
|
state: {
|
|
49
49
|
focusedByKeyboard: boolean;
|
|
50
50
|
};
|
|
51
|
-
static contextTypes: {
|
|
52
|
-
activeItem: PropTypes.Requireable<any>;
|
|
53
|
-
onSelect: PropTypes.Requireable<(...args: any[]) => any>;
|
|
54
|
-
name: PropTypes.Requireable<string>;
|
|
55
|
-
disabled: PropTypes.Requireable<boolean>;
|
|
56
|
-
error: PropTypes.Requireable<boolean>;
|
|
57
|
-
warning: PropTypes.Requireable<boolean>;
|
|
58
|
-
};
|
|
59
51
|
static defaultProps: {
|
|
60
52
|
focused: boolean;
|
|
61
53
|
};
|
|
62
|
-
|
|
54
|
+
static contextType: React.Context<RadioGroupContextType<any>>;
|
|
55
|
+
context: RadioGroupContextType<T>;
|
|
63
56
|
private inputEl;
|
|
57
|
+
private setRootNode;
|
|
58
|
+
private theme;
|
|
64
59
|
render(): JSX.Element;
|
|
65
60
|
/**
|
|
66
61
|
* @public
|