@skbkontur/react-ui 3.10.0-fileuploader.1 → 3.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +68 -0
- package/README.md +57 -0
- package/cjs/components/Autocomplete/Autocomplete.d.ts +1 -0
- package/cjs/components/Autocomplete/Autocomplete.js +11 -5
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.d.ts +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/DateInput/DateInput.d.ts +1 -0
- package/cjs/components/DateInput/DateInput.js +6 -3
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +4 -2
- package/cjs/components/DatePicker/DatePicker.js +17 -7
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +1 -0
- package/cjs/components/Dropdown/Dropdown.js +11 -4
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +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/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/Group/Group.d.ts +1 -0
- package/cjs/components/Group/Group.js +10 -7
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Hint/Hint.d.ts +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/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/PasswordInput/PasswordInput.d.ts +3 -2
- package/cjs/components/PasswordInput/PasswordInput.js +13 -6
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.d.ts +5 -10
- package/cjs/components/Radio/Radio.js +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/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 +8 -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/Textarea/Textarea.d.ts +1 -0
- package/cjs/components/Textarea/Textarea.js +12 -5
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Toast/Toast.d.ts +3 -0
- package/cjs/components/Toast/Toast.js +15 -4
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/ToastView.d.ts +1 -0
- package/cjs/components/Toast/ToastView.js +8 -5
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +1 -0
- package/cjs/components/Toggle/Toggle.js +9 -6
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Token/Token.d.ts +1 -0
- package/cjs/components/Token/Token.js +7 -4
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +1 -0
- package/cjs/components/TokenInput/TokenInput.js +11 -8
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +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 +8 -13
- package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
- package/cjs/internal/FocusTrap/FocusTrap.d.ts +1 -0
- package/cjs/internal/FocusTrap/FocusTrap.js +12 -9
- package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +12 -4
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -0
- package/cjs/internal/InputLikeText/InputLikeText.js +10 -3
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.d.ts +2 -3
- package/cjs/internal/InternalMenu/InternalMenu.js +16 -22
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/MaskedInput/MaskedInput.d.ts +2 -2
- package/cjs/internal/MaskedInput/MaskedInput.js +3 -3
- package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/internal/Menu/Menu.d.ts +1 -0
- package/cjs/internal/Menu/Menu.js +9 -6
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +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/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/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/DateInput/DateInput/DateInput.js +7 -3
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +1 -0
- package/components/DatePicker/DatePicker/DatePicker.js +29 -22
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +4 -2
- package/components/Dropdown/Dropdown/Dropdown.js +15 -13
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +1 -0
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +15 -9
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +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/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/Group/Group/Group.js +22 -9
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.d.ts +1 -0
- package/components/Hint/Hint/Hint.js +18 -12
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +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/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/PasswordInput/PasswordInput/PasswordInput.js +18 -14
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +3 -2
- package/components/Radio/Radio/Radio.js +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/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 +14 -6
- 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/Textarea/Textarea/Textarea.js +21 -17
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +1 -0
- package/components/Toast/Toast/Toast.js +29 -14
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +3 -0
- package/components/Toast/ToastView/ToastView.js +10 -5
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.d.ts +1 -0
- package/components/Toggle/Toggle/Toggle.js +16 -11
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +1 -0
- package/components/Token/Token/Token.js +11 -4
- package/components/Token/Token/Token.js.map +1 -1
- package/components/Token/Token.d.ts +1 -0
- package/components/TokenInput/TokenInput/TokenInput.js +12 -6
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +1 -0
- package/components/Tooltip/Tooltip/Tooltip.js +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 +11 -15
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
- package/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
- package/internal/FocusTrap/FocusTrap/FocusTrap.js +17 -9
- package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
- package/internal/FocusTrap/FocusTrap.d.ts +1 -0
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +13 -7
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +11 -6
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.d.ts +1 -0
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +24 -25
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/InternalMenu/InternalMenu.d.ts +2 -3
- package/internal/MaskedInput/MaskedInput/MaskedInput.js +7 -7
- package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/internal/MaskedInput/MaskedInput.d.ts +2 -2
- package/internal/Menu/Menu/Menu.js +11 -8
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.d.ts +1 -0
- package/internal/Popup/Popup/Popup.js +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/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 +14 -3
- 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":["SidePageHeader.tsx"],"names":["React","Sticky","CrossIcon","isFunction","ThemeContext","CommonWrapper","cx","keyListener","styles","SidePageContext","SidePageHeader","context","state","isReadyToFix","focusedByTab","theme","wrapper","lastRegularHeight","componentDidMount","window","addEventListener","update","setHasHeader","componentWillUnmount","removeEventListener","updateReadyToFix","renderHeader","fixed","header","headerFixed","renderClose","title","titleFixed","props","children","stickyOffset","parseInt","sidePageHeaderStickyOffset","wrapperClose","requestClose","close","closeFocus","handleFocus","handleBlur","wrapperScrolledUp","getBoundingClientRect","top","regularHeight","fixedHeaderHeight","setState","wrapperRef","el","requestAnimationFrame","isTabPressed","render","renderMain","headerWrapper","height","sidePageHeaderFixedLineHeight","sidePageHeaderFixedPaddingY","Component","__KONTUR_REACT_UI__","contextType"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["SidePageHeader.tsx"],"names":["React","Sticky","CrossIcon","isFunction","ThemeContext","CommonWrapper","cx","keyListener","rootNode","styles","SidePageContext","SidePageHeader","context","state","isReadyToFix","focusedByTab","theme","wrapper","lastRegularHeight","setRootNode","componentDidMount","window","addEventListener","update","setHasHeader","componentWillUnmount","removeEventListener","updateReadyToFix","renderHeader","fixed","header","headerFixed","renderClose","title","titleFixed","props","children","stickyOffset","parseInt","sidePageHeaderStickyOffset","wrapperClose","requestClose","close","closeFocus","handleFocus","handleBlur","wrapperScrolledUp","getBoundingClientRect","top","regularHeight","fixedHeaderHeight","setState","wrapperRef","el","requestAnimationFrame","isTabPressed","render","renderMain","headerWrapper","height","sidePageHeaderFixedLineHeight","sidePageHeaderFixedPaddingY","Component","__KONTUR_REACT_UI__","contextType"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { Sticky } from '../Sticky';\nimport { CrossIcon } from '../../internal/icons/CrossIcon';\nimport { isFunction } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './SidePage.styles';\nimport { SidePageContext, SidePageContextType } from './SidePageContext';\n\nexport interface SidePageHeaderProps extends CommonProps {\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n}\n\nexport interface SidePageHeaderState {\n isReadyToFix: boolean;\n focusedByTab: boolean;\n}\n\n/**\n * Шапка сайдпейджа\n *\n * @visibleName SidePage.Header\n */\n@rootNode\nexport class SidePageHeader extends React.Component<SidePageHeaderProps, SidePageHeaderState> {\n public static __KONTUR_REACT_UI__ = 'SidePageHeader';\n\n public static contextType = SidePageContext;\n public context: SidePageContextType = this.context;\n\n public state = {\n isReadyToFix: false,\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private wrapper: HTMLElement | null = null;\n private lastRegularHeight = 0;\n private setRootNode!: TSetRootNode;\n\n public get regularHeight(): number {\n const { isReadyToFix } = this.state;\n if (!this.wrapper) {\n return 0;\n }\n if (!isReadyToFix) {\n this.lastRegularHeight = this.wrapper.getBoundingClientRect().height;\n }\n return this.lastRegularHeight;\n }\n\n public get fixedHeaderHeight(): number {\n const { theme } = this;\n return parseInt(theme.sidePageHeaderFixedLineHeight) + parseInt(theme.sidePageHeaderFixedPaddingY) * 2;\n }\n\n public componentDidMount = () => {\n window.addEventListener('scroll', this.update, true);\n this.context.setHasHeader?.();\n };\n\n public componentWillUnmount = () => {\n window.removeEventListener('scroll', this.update, true);\n this.context.setHasHeader?.(false);\n };\n\n public update = () => {\n this.updateReadyToFix();\n };\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { isReadyToFix } = this.state;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div ref={this.wrapperRef} className={styles.headerWrapper()}>\n {isReadyToFix ? <Sticky side=\"top\">{this.renderHeader}</Sticky> : this.renderHeader()}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderHeader = (fixed = false) => {\n return (\n <div className={cx(styles.header(this.theme), { [styles.headerFixed(this.theme)]: fixed })}>\n {this.renderClose(fixed)}\n <div className={cx(styles.title(this.theme), { [styles.titleFixed()]: fixed })}>\n {isFunction(this.props.children) ? this.props.children(fixed) : this.props.children}\n </div>\n </div>\n );\n };\n\n private renderClose = (fixed: boolean) => {\n const stickyOffset = parseInt(this.theme.sidePageHeaderStickyOffset);\n\n return (\n <div className={cx(styles.wrapperClose(this.theme), fixed && styles.fixed(this.theme))}>\n <Sticky side=\"top\" offset={stickyOffset}>\n <SidePageContext.Consumer>\n {({ requestClose }) => (\n <button\n className={cx(styles.close(this.theme), {\n [styles.closeFocus(this.theme)]: this.state.focusedByTab,\n })}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onClick={requestClose}\n data-tid=\"SidePage__close\"\n tabIndex={0}\n >\n <CrossIcon />\n </button>\n )}\n </SidePageContext.Consumer>\n </Sticky>\n </div>\n );\n };\n\n private updateReadyToFix = () => {\n if (this.wrapper) {\n const wrapperScrolledUp = this.wrapper.getBoundingClientRect().top;\n const isReadyToFix = this.regularHeight + wrapperScrolledUp <= this.fixedHeaderHeight;\n this.setState((state) => (state.isReadyToFix !== isReadyToFix ? { ...state, isReadyToFix } : state));\n }\n };\n\n private wrapperRef = (el: HTMLElement | null) => {\n this.wrapper = el;\n };\n\n private handleFocus = () => {\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n };\n\n private handleBlur = () => {\n this.setState({ focusedByTab: false });\n };\n}\n"]}
|
|
@@ -24,6 +24,7 @@ export declare class SidePageHeader extends React.Component<SidePageHeaderProps,
|
|
|
24
24
|
private theme;
|
|
25
25
|
private wrapper;
|
|
26
26
|
private lastRegularHeight;
|
|
27
|
+
private setRootNode;
|
|
27
28
|
get regularHeight(): number;
|
|
28
29
|
get fixedHeaderHeight(): number;
|
|
29
30
|
componentDidMount: () => void;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
1
2
|
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
2
3
|
|
|
3
4
|
var _dec, _class, _class2, _temp;
|
|
@@ -9,6 +10,7 @@ import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
|
9
10
|
import { SpinnerIcon } from "../../../internal/icons/SpinnerIcon";
|
|
10
11
|
import { CommonWrapper } from "../../../internal/CommonWrapper";
|
|
11
12
|
import { cx } from "../../../lib/theming/Emotion";
|
|
13
|
+
import { rootNode } from "../../../lib/rootNode";
|
|
12
14
|
import { styles } from "../Spinner.styles";
|
|
13
15
|
import { SpinnerLocaleHelper } from "../locale";
|
|
14
16
|
var types = {
|
|
@@ -20,7 +22,7 @@ export
|
|
|
20
22
|
/**
|
|
21
23
|
* DRAFT - инлайн-лоадер
|
|
22
24
|
*/
|
|
23
|
-
var Spinner = (_dec = locale('Spinner', SpinnerLocaleHelper), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
|
|
25
|
+
var Spinner = (_dec = locale('Spinner', SpinnerLocaleHelper), rootNode(_class = _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
|
|
24
26
|
_inheritsLoose(Spinner, _React$Component);
|
|
25
27
|
|
|
26
28
|
function Spinner(props) {
|
|
@@ -29,13 +31,17 @@ var Spinner = (_dec = locale('Spinner', SpinnerLocaleHelper), _dec(_class = (_te
|
|
|
29
31
|
_this = _React$Component.call(this, props) || this;
|
|
30
32
|
_this.theme = void 0;
|
|
31
33
|
_this.locale = void 0;
|
|
34
|
+
_this.setRootNode = void 0;
|
|
32
35
|
|
|
33
36
|
_this.renderSpinner = function (type, dimmed) {
|
|
34
|
-
var
|
|
37
|
+
var _cx;
|
|
38
|
+
|
|
35
39
|
return /*#__PURE__*/React.createElement(SpinnerIcon, {
|
|
36
40
|
size: type,
|
|
37
|
-
className:
|
|
38
|
-
dimmed: dimmed
|
|
41
|
+
className: cx((_cx = {}, _cx[styles.circle(_this.theme)] = !dimmed && !_this.props.color, _cx[styles.circleDimmedColor(_this.theme)] = dimmed, _cx[styles.circleWithoutColorAnimation(_this.theme)] = dimmed || !!_this.props.color, _cx)),
|
|
42
|
+
dimmed: dimmed,
|
|
43
|
+
width: _this.props.width,
|
|
44
|
+
color: _this.props.color
|
|
39
45
|
});
|
|
40
46
|
};
|
|
41
47
|
|
|
@@ -65,7 +71,9 @@ var Spinner = (_dec = locale('Spinner', SpinnerLocaleHelper), _dec(_class = (_te
|
|
|
65
71
|
_this$props$caption = _this$props.caption,
|
|
66
72
|
caption = _this$props$caption === void 0 ? this.locale.loading : _this$props$caption,
|
|
67
73
|
dimmed = _this$props.dimmed;
|
|
68
|
-
return /*#__PURE__*/React.createElement(CommonWrapper,
|
|
74
|
+
return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
|
|
75
|
+
rootNodeRef: this.setRootNode
|
|
76
|
+
}, this.props), /*#__PURE__*/React.createElement("div", {
|
|
69
77
|
className: styles.spinner()
|
|
70
78
|
}, /*#__PURE__*/React.createElement("span", {
|
|
71
79
|
className: styles.inner()
|
|
@@ -92,4 +100,4 @@ var Spinner = (_dec = locale('Spinner', SpinnerLocaleHelper), _dec(_class = (_te
|
|
|
92
100
|
type: PropTypes.oneOf(Object.keys(types))
|
|
93
101
|
}, _class2.defaultProps = {
|
|
94
102
|
type: 'normal'
|
|
95
|
-
}, _class2.Types = types, _temp)) || _class);
|
|
103
|
+
}, _class2.Types = types, _temp)) || _class) || _class);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Spinner.tsx"],"names":["React","PropTypes","locale","ThemeContext","SpinnerIcon","CommonWrapper","cx","styles","SpinnerLocaleHelper","types","big","mini","normal","Spinner","props","theme","renderSpinner","type","dimmed","
|
|
1
|
+
{"version":3,"sources":["Spinner.tsx"],"names":["React","PropTypes","locale","ThemeContext","SpinnerIcon","CommonWrapper","cx","rootNode","styles","SpinnerLocaleHelper","types","big","mini","normal","Spinner","props","theme","setRootNode","renderSpinner","type","dimmed","circle","color","circleDimmedColor","circleWithoutColorAnimation","width","renderCaption","caption","captionColor","render","renderMain","loading","spinner","inner","Component","__KONTUR_REACT_UI__","propTypes","node","bool","oneOf","Object","keys","defaultProps","Types"],"mappings":"iKAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;;AAEA,SAASC,MAAT,QAAuB,6BAAvB;;AAEA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,WAAT,QAA4B,kCAA5B;AACA,SAAsBC,aAAtB,QAA2C,8BAA3C;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,QAAT,QAAuC,oBAAvC;;AAEA,SAASC,MAAT,QAAuB,kBAAvB;AACA,SAAwBC,mBAAxB,QAAmD,UAAnD;;AAEA,IAAMC,KAAuC,GAAG;AAC9CC,EAAAA,GAAG,EAAE,KADyC;AAE9CC,EAAAA,IAAI,EAAE,MAFwC;AAG9CC,EAAAA,MAAM,EAAE,QAHsC,EAAhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,OANA;AACA;AACA,GAIA,IAAaC,OAAb,WADCZ,MAAM,CAAC,SAAD,EAAYO,mBAAZ,CACP,EAFCF,QAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCE,mBAAYQ,KAAZ,EAAiC;AAC/B,wCAAMA,KAAN,UAD+B,MAJzBC,KAIyB,gBAHhBd,MAGgB,gBAFzBe,WAEyB;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BzBC,IAAAA,aA5ByB,GA4BT,UAACC,IAAD,EAAoBC,MAApB,EAAyC;AAC/D;AACE,4BAAC,WAAD;AACE,UAAA,IAAI,EAAED,IADR;AAEE,UAAA,SAAS,EAAEb,EAAE;AACVE,UAAAA,MAAM,CAACa,MAAP,CAAc,MAAKL,KAAnB,CADU,IACkB,CAACI,MAAD,IAAW,CAAC,MAAKL,KAAL,CAAWO,KADzC;AAEVd,UAAAA,MAAM,CAACe,iBAAP,CAAyB,MAAKP,KAA9B,CAFU,IAE6BI,MAF7B;AAGVZ,UAAAA,MAAM,CAACgB,2BAAP,CAAmC,MAAKR,KAAxC,CAHU,IAGuCI,MAAM,IAAI,CAAC,CAAC,MAAKL,KAAL,CAAWO,KAH9D,OAFf;;AAOE,UAAA,MAAM,EAAEF,MAPV;AAQE,UAAA,KAAK,EAAE,MAAKL,KAAL,CAAWU,KARpB;AASE,UAAA,KAAK,EAAE,MAAKV,KAAL,CAAWO,KATpB,GADF;;;AAaD,KA1CgC;;AA4CzBI,IAAAA,aA5CyB,GA4CT,UAACP,IAAD,EAAoBQ,OAApB;AACtB,sCAAM,SAAS,EAAErB,EAAE,CAACE,MAAM,CAACW,IAAD,CAAN,CAAa,MAAKH,KAAlB,CAAD,EAA2BR,MAAM,CAACoB,YAAP,CAAoB,MAAKZ,KAAzB,CAA3B,CAAnB,IAAiFW,OAAjF,CADsB,GA5CS,cAEhC,CAlCH,sCAoCSE,MApCT,GAoCE,kBAAgB,mBACd,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACb,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,OAAO,MAAI,CAACc,UAAL,EAAP,CACD,CAJH,CADF,CAQD,CA7CH,QA+CUA,UA/CV,GA+CE,sBAAqB,mBACqC,KAAKf,KAD1C,CACXI,IADW,eACXA,IADW,mCACLQ,OADK,CACLA,OADK,oCACK,KAAKzB,MAAL,CAAY6B,OADjB,uBAC0BX,MAD1B,eAC0BA,MAD1B,CAGnB,oBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,KAAKH,WAAjC,IAAkD,KAAKF,KAAvD,gBACE,6BAAK,SAAS,EAAEP,MAAM,CAACwB,OAAP,EAAhB,iBACE,8BAAM,SAAS,EAAExB,MAAM,CAACyB,KAAP,EAAjB,IAAkC,KAAKf,aAAL,CAAmBC,IAAnB,EAAyBC,MAAzB,CAAlC,CADF,EAEGO,OAAO,IAAI,KAAKD,aAAL,CAAmBP,IAAnB,EAAyBQ,OAAzB,CAFd,CADF,CADF,CAQD,CA1DH,kBAA6B3B,KAAK,CAACkC,SAAnC,WACgBC,mBADhB,GACsC,SADtC,UAGgBC,SAHhB,GAG4B,EACxB;AACJ;AACA;AACA;AACA,KACIT,OAAO,EAAE1B,SAAS,CAACoC,IANK,EAQxBjB,MAAM,EAAEnB,SAAS,CAACqC,IARM,EAUxB;AACJ;AACA;AACA;AACA;AACA;AACA,KACInB,IAAI,EAAElB,SAAS,CAACsC,KAAV,CAAgBC,MAAM,CAACC,IAAP,CAAY/B,KAAZ,CAAhB,CAjBkB,EAH5B,UAuBgBgC,YAvBhB,GAuB6C,EACzCvB,IAAI,EAAE,QADmC,EAvB7C,UA2BgBwB,KA3BhB,GA2BsCjC,KA3BtC","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { locale } from '../../lib/locale/decorators';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { SpinnerIcon } from '../../internal/icons/SpinnerIcon';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Spinner.styles';\nimport { SpinnerLocale, SpinnerLocaleHelper } from './locale';\n\nconst types: Record<SpinnerType, SpinnerType> = {\n big: 'big',\n mini: 'mini',\n normal: 'normal',\n};\n\nexport type SpinnerType = 'mini' | 'normal' | 'big';\n\nexport interface SpinnerProps extends CommonProps {\n caption?: React.ReactNode;\n dimmed?: boolean;\n /**\n * Тип спиннера\n * @default normal\n */\n type: SpinnerType;\n /**\n * Толщина спиннера\n */\n width?: number;\n /**\n * Цвет спиннера\n */\n color?: React.CSSProperties['color'];\n}\n\n/**\n * DRAFT - инлайн-лоадер\n */\n\n@rootNode\n@locale('Spinner', SpinnerLocaleHelper)\nexport class Spinner extends React.Component<SpinnerProps> {\n public static __KONTUR_REACT_UI__ = 'Spinner';\n\n public static propTypes = {\n /**\n * Текст рядом с мини-лоадером.\n *\n * 'Загрузка' - значение по-умолчанию\n */\n caption: PropTypes.node,\n\n dimmed: PropTypes.bool,\n\n /**\n * Тип спиннера: mini, normal, big\n *\n * Значение по-умолчанию - normal\n *\n * Spinner.types - все доступные типы\n */\n type: PropTypes.oneOf(Object.keys(types)),\n };\n\n public static defaultProps: SpinnerProps = {\n type: 'normal',\n };\n\n public static Types: typeof types = types;\n private theme!: Theme;\n private readonly locale!: SpinnerLocale;\n private setRootNode!: TSetRootNode;\n\n constructor(props: SpinnerProps) {\n super(props);\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 const { type, caption = this.locale.loading, dimmed } = this.props;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div className={styles.spinner()}>\n <span className={styles.inner()}>{this.renderSpinner(type, dimmed)}</span>\n {caption && this.renderCaption(type, caption)}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderSpinner = (type: SpinnerType, dimmed?: boolean) => {\n return (\n <SpinnerIcon\n size={type}\n className={cx({\n [styles.circle(this.theme)]: !dimmed && !this.props.color,\n [styles.circleDimmedColor(this.theme)]: dimmed,\n [styles.circleWithoutColorAnimation(this.theme)]: dimmed || !!this.props.color,\n })}\n dimmed={dimmed}\n width={this.props.width}\n color={this.props.color}\n />\n );\n };\n\n private renderCaption = (type: SpinnerType, caption: React.ReactNode) => (\n <span className={cx(styles[type](this.theme), styles.captionColor(this.theme))}>{caption}</span>\n );\n}\n"]}
|
|
@@ -11,6 +11,14 @@ export interface SpinnerProps extends CommonProps {
|
|
|
11
11
|
* @default normal
|
|
12
12
|
*/
|
|
13
13
|
type: SpinnerType;
|
|
14
|
+
/**
|
|
15
|
+
* Толщина спиннера
|
|
16
|
+
*/
|
|
17
|
+
width?: number;
|
|
18
|
+
/**
|
|
19
|
+
* Цвет спиннера
|
|
20
|
+
*/
|
|
21
|
+
color?: React.CSSProperties['color'];
|
|
14
22
|
}
|
|
15
23
|
/**
|
|
16
24
|
* DRAFT - инлайн-лоадер
|
|
@@ -38,6 +46,7 @@ export declare class Spinner extends React.Component<SpinnerProps> {
|
|
|
38
46
|
static Types: typeof types;
|
|
39
47
|
private theme;
|
|
40
48
|
private readonly locale;
|
|
49
|
+
private setRootNode;
|
|
41
50
|
constructor(props: SpinnerProps);
|
|
42
51
|
render(): JSX.Element;
|
|
43
52
|
private renderMain;
|
|
@@ -14,6 +14,7 @@ const reactNodeCaption = (
|
|
|
14
14
|
<Spinner type="mini" caption="mini" />
|
|
15
15
|
<Spinner type="mini" dimmed caption="mini dimmed" />
|
|
16
16
|
<Spinner type="big" caption={reactNodeCaption} />
|
|
17
|
+
<Spinner type="big" caption="custom" width={8} color={'#538A1B'}/>
|
|
17
18
|
</Gapped>;
|
|
18
19
|
```
|
|
19
20
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
|
|
2
2
|
|
|
3
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
3
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
|
4
4
|
|
|
5
5
|
import { css, memoizeStyle } from "../../../lib/theming/Emotion";
|
|
6
6
|
import { AnimationKeyframes } from "../../../lib/theming/AnimationKeyframes";
|
|
@@ -9,25 +9,28 @@ export var styles = memoizeStyle({
|
|
|
9
9
|
circle: function circle(t) {
|
|
10
10
|
return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n stroke: ", ";\n\n ", "\n "])), t.spinnerColor, !isIE11 && "\n animation: " + AnimationKeyframes.spinnerCircleOffset(t) + " 1s cubic-bezier(0.5, 0.2, 0.5, 0.8) infinite,\n " + AnimationKeyframes.spinnerCircleLength(t) + " 2s cubic-bezier(0.36, 0.14, 0.38, 0.69) infinite,\n " + AnimationKeyframes.spinnerCircleRotate(t) + " 2s linear infinite,\n " + AnimationKeyframes.spinnerColor(t) + " 6s ease-in-out infinite;\n ");
|
|
11
11
|
},
|
|
12
|
-
|
|
13
|
-
return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n stroke: ", ";\n
|
|
12
|
+
circleDimmedColor: function circleDimmedColor(t) {
|
|
13
|
+
return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n stroke: ", ";\n "])), t.spinnerDimmedColor);
|
|
14
|
+
},
|
|
15
|
+
circleWithoutColorAnimation: function circleWithoutColorAnimation(t) {
|
|
16
|
+
return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n ", "\n "])), !isIE11 && "\n animation: " + AnimationKeyframes.spinnerCircleOffset(t) + " 1s cubic-bezier(0.5, 0.2, 0.5, 0.8) infinite,\n " + AnimationKeyframes.spinnerCircleLength(t) + " 2s cubic-bezier(0.36, 0.14, 0.38, 0.69) infinite,\n " + AnimationKeyframes.spinnerCircleRotate(t) + " 2s linear infinite;\n ");
|
|
14
17
|
},
|
|
15
18
|
captionColor: function captionColor(t) {
|
|
16
|
-
return css(
|
|
19
|
+
return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n color: ", ";\n "])), t.spinnerCaptionColor);
|
|
17
20
|
},
|
|
18
21
|
mini: function mini(t) {
|
|
19
|
-
return css(
|
|
22
|
+
return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n margin-left: ", ";\n font-size: ", ";\n line-height: ", ";\n "])), t.spinnerCaptionGapSmall, t.spinnerFontSizeSmall, t.spinnerLineHeightSmall);
|
|
20
23
|
},
|
|
21
24
|
normal: function normal(t) {
|
|
22
|
-
return css(
|
|
25
|
+
return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n display: block;\n font-size: ", ";\n line-height: ", ";\n margin-top: ", ";\n "])), t.spinnerFontSizeMedium, t.spinnerLineHeightMedium, t.spinnerCaptionGapMedium);
|
|
23
26
|
},
|
|
24
27
|
big: function big(t) {
|
|
25
|
-
return css(
|
|
28
|
+
return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n display: block;\n font-size: ", ";\n line-height: ", ";\n margin-top: ", ";\n "])), t.spinnerFontSizeLarge, t.spinnerLineHeightLarge, t.spinnerCaptionGapLarge);
|
|
26
29
|
},
|
|
27
30
|
spinner: function spinner() {
|
|
28
|
-
return css(
|
|
31
|
+
return css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n display: inline-block;\n text-align: center;\n "])));
|
|
29
32
|
},
|
|
30
33
|
inner: function inner() {
|
|
31
|
-
return css(
|
|
34
|
+
return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n display: inline-block;\n "])));
|
|
32
35
|
}
|
|
33
36
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Spinner.styles.ts"],"names":["css","memoizeStyle","AnimationKeyframes","isIE11","styles","circle","t","spinnerColor","spinnerCircleOffset","spinnerCircleLength","spinnerCircleRotate","
|
|
1
|
+
{"version":3,"sources":["Spinner.styles.ts"],"names":["css","memoizeStyle","AnimationKeyframes","isIE11","styles","circle","t","spinnerColor","spinnerCircleOffset","spinnerCircleLength","spinnerCircleRotate","circleDimmedColor","spinnerDimmedColor","circleWithoutColorAnimation","captionColor","spinnerCaptionColor","mini","spinnerCaptionGapSmall","spinnerFontSizeSmall","spinnerLineHeightSmall","normal","spinnerFontSizeMedium","spinnerLineHeightMedium","spinnerCaptionGapMedium","big","spinnerFontSizeLarge","spinnerLineHeightLarge","spinnerCaptionGapLarge","spinner","inner"],"mappings":"oQAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,2BAAlC;;AAEA,SAASC,kBAAT,QAAmC,sCAAnC;AACA,SAASC,MAAT,QAAuB,kBAAvB;;AAEA,OAAO,IAAMC,MAAM,GAAGH,YAAY,CAAC;AACjCI,EAAAA,MADiC,kBAC1BC,CAD0B,EAChB;AACf,WAAON,GAAP;AACYM,IAAAA,CAAC,CAACC,YADd;;AAGI,KAACJ,MAAD;;AAEeD,IAAAA,kBAAkB,CAACM,mBAAnB,CAAuCF,CAAvC,CAFf;AAGMJ,IAAAA,kBAAkB,CAACO,mBAAnB,CAAuCH,CAAvC,CAHN;AAIMJ,IAAAA,kBAAkB,CAACQ,mBAAnB,CAAuCJ,CAAvC,CAJN;AAKMJ,IAAAA,kBAAkB,CAACK,YAAnB,CAAgCD,CAAhC,CALN,wCAHJ;;;AAWD,GAbgC;AAcjCK,EAAAA,iBAdiC,6BAcfL,CAde,EAcL;AAC1B,WAAON,GAAP;AACYM,IAAAA,CAAC,CAACM,kBADd;;AAGD,GAlBgC;AAmBjCC,EAAAA,2BAnBiC,uCAmBLP,CAnBK,EAmBK;AACpC,WAAON,GAAP;AACI,KAACG,MAAD;;AAEeD,IAAAA,kBAAkB,CAACM,mBAAnB,CAAuCF,CAAvC,CAFf;AAGIJ,IAAAA,kBAAkB,CAACO,mBAAnB,CAAuCH,CAAvC,CAHJ;AAIIJ,IAAAA,kBAAkB,CAACQ,mBAAnB,CAAuCJ,CAAvC,CAJJ,mCADJ;;;AAQD,GA5BgC;;AA8BjCQ,EAAAA,YA9BiC,wBA8BpBR,CA9BoB,EA8BV;AACrB,WAAON,GAAP;AACWM,IAAAA,CAAC,CAACS,mBADb;;AAGD,GAlCgC;;AAoCjCC,EAAAA,IApCiC,gBAoC5BV,CApC4B,EAoClB;AACb,WAAON,GAAP;AACiBM,IAAAA,CAAC,CAACW,sBADnB;AAEeX,IAAAA,CAAC,CAACY,oBAFjB;AAGiBZ,IAAAA,CAAC,CAACa,sBAHnB;;AAKD,GA1CgC;;AA4CjCC,EAAAA,MA5CiC,kBA4C1Bd,CA5C0B,EA4ChB;AACf,WAAON,GAAP;;AAEeM,IAAAA,CAAC,CAACe,qBAFjB;AAGiBf,IAAAA,CAAC,CAACgB,uBAHnB;AAIgBhB,IAAAA,CAAC,CAACiB,uBAJlB;;AAMD,GAnDgC;;AAqDjCC,EAAAA,GArDiC,eAqD7BlB,CArD6B,EAqDnB;AACZ,WAAON,GAAP;;AAEeM,IAAAA,CAAC,CAACmB,oBAFjB;AAGiBnB,IAAAA,CAAC,CAACoB,sBAHnB;AAIgBpB,IAAAA,CAAC,CAACqB,sBAJlB;;AAMD,GA5DgC;;AA8DjCC,EAAAA,OA9DiC,qBA8DvB;AACR,WAAO5B,GAAP;;;;AAID,GAnEgC;;AAqEjC6B,EAAAA,KArEiC,mBAqEzB;AACN,WAAO7B,GAAP;;;AAGD,GAzEgC,EAAD,CAA3B","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { AnimationKeyframes } from '../../lib/theming/AnimationKeyframes';\nimport { isIE11 } from '../../lib/client';\n\nexport const styles = memoizeStyle({\n circle(t: Theme) {\n return css`\n stroke: ${t.spinnerColor};\n\n ${!isIE11 &&\n `\n animation: ${AnimationKeyframes.spinnerCircleOffset(t)} 1s cubic-bezier(0.5, 0.2, 0.5, 0.8) infinite,\n ${AnimationKeyframes.spinnerCircleLength(t)} 2s cubic-bezier(0.36, 0.14, 0.38, 0.69) infinite,\n ${AnimationKeyframes.spinnerCircleRotate(t)} 2s linear infinite,\n ${AnimationKeyframes.spinnerColor(t)} 6s ease-in-out infinite;\n `}\n `;\n },\n circleDimmedColor(t: Theme) {\n return css`\n stroke: ${t.spinnerDimmedColor};\n `;\n },\n circleWithoutColorAnimation(t: Theme) {\n return css`\n ${!isIE11 &&\n `\n animation: ${AnimationKeyframes.spinnerCircleOffset(t)} 1s cubic-bezier(0.5, 0.2, 0.5, 0.8) infinite,\n ${AnimationKeyframes.spinnerCircleLength(t)} 2s cubic-bezier(0.36, 0.14, 0.38, 0.69) infinite,\n ${AnimationKeyframes.spinnerCircleRotate(t)} 2s linear infinite;\n `}\n `;\n },\n\n captionColor(t: Theme) {\n return css`\n color: ${t.spinnerCaptionColor};\n `;\n },\n\n mini(t: Theme) {\n return css`\n margin-left: ${t.spinnerCaptionGapSmall};\n font-size: ${t.spinnerFontSizeSmall};\n line-height: ${t.spinnerLineHeightSmall};\n `;\n },\n\n normal(t: Theme) {\n return css`\n display: block;\n font-size: ${t.spinnerFontSizeMedium};\n line-height: ${t.spinnerLineHeightMedium};\n margin-top: ${t.spinnerCaptionGapMedium};\n `;\n },\n\n big(t: Theme) {\n return css`\n display: block;\n font-size: ${t.spinnerFontSizeLarge};\n line-height: ${t.spinnerLineHeightLarge};\n margin-top: ${t.spinnerCaptionGapLarge};\n `;\n },\n\n spinner() {\n return css`\n display: inline-block;\n text-align: center;\n `;\n },\n\n inner() {\n return css`\n display: inline-block;\n `;\n },\n});\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Theme } from '../../lib/theming/Theme';
|
|
2
2
|
export declare const styles: {
|
|
3
3
|
circle(t: Theme): string;
|
|
4
|
-
|
|
4
|
+
circleDimmedColor(t: Theme): string;
|
|
5
|
+
circleWithoutColorAnimation(t: Theme): string;
|
|
5
6
|
captionColor(t: Theme): string;
|
|
6
7
|
mini(t: Theme): string;
|
|
7
8
|
normal(t: Theme): string;
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
1
2
|
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
3
|
+
|
|
4
|
+
var _class, _class2, _temp;
|
|
5
|
+
|
|
2
6
|
import React from 'react';
|
|
3
7
|
import PropTypes from 'prop-types';
|
|
4
8
|
import shallowEqual from 'shallowequal';
|
|
@@ -7,9 +11,10 @@ import { isFunction } from "../../../lib/utils";
|
|
|
7
11
|
import { ZIndex } from "../../../internal/ZIndex";
|
|
8
12
|
import { CommonWrapper } from "../../../internal/CommonWrapper";
|
|
9
13
|
import { cx } from "../../../lib/theming/Emotion";
|
|
14
|
+
import { rootNode } from "../../../lib/rootNode";
|
|
10
15
|
import { styles } from "../Sticky.styles";
|
|
11
16
|
var MAX_REFLOW_RETRIES = 5;
|
|
12
|
-
export var Sticky = /*#__PURE__*/function (_React$Component) {
|
|
17
|
+
export var Sticky = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
|
|
13
18
|
_inheritsLoose(Sticky, _React$Component);
|
|
14
19
|
|
|
15
20
|
function Sticky() {
|
|
@@ -32,6 +37,7 @@ export var Sticky = /*#__PURE__*/function (_React$Component) {
|
|
|
32
37
|
remove: null
|
|
33
38
|
};
|
|
34
39
|
_this.reflowCounter = 0;
|
|
40
|
+
_this.setRootNode = void 0;
|
|
35
41
|
|
|
36
42
|
_this.refWrapper = function (ref) {
|
|
37
43
|
return _this.wrapper = ref;
|
|
@@ -173,7 +179,9 @@ export var Sticky = /*#__PURE__*/function (_React$Component) {
|
|
|
173
179
|
children = children(fixed);
|
|
174
180
|
}
|
|
175
181
|
|
|
176
|
-
return /*#__PURE__*/React.createElement(CommonWrapper,
|
|
182
|
+
return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
|
|
183
|
+
rootNodeRef: this.setRootNode
|
|
184
|
+
}, this.props), /*#__PURE__*/React.createElement("div", {
|
|
177
185
|
ref: this.refWrapper,
|
|
178
186
|
className: styles.wrapper()
|
|
179
187
|
}, /*#__PURE__*/React.createElement(ZIndex, {
|
|
@@ -193,9 +201,7 @@ export var Sticky = /*#__PURE__*/function (_React$Component) {
|
|
|
193
201
|
};
|
|
194
202
|
|
|
195
203
|
return Sticky;
|
|
196
|
-
}(React.Component)
|
|
197
|
-
Sticky.__KONTUR_REACT_UI__ = 'Sticky';
|
|
198
|
-
Sticky.propTypes = {
|
|
204
|
+
}(React.Component), _class2.__KONTUR_REACT_UI__ = 'Sticky', _class2.propTypes = {
|
|
199
205
|
children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
|
|
200
206
|
|
|
201
207
|
/**
|
|
@@ -208,7 +214,6 @@ Sticky.propTypes = {
|
|
|
208
214
|
*/
|
|
209
215
|
offset: PropTypes.number,
|
|
210
216
|
side: PropTypes.oneOf(['top', 'bottom']).isRequired
|
|
211
|
-
}
|
|
212
|
-
Sticky.defaultProps = {
|
|
217
|
+
}, _class2.defaultProps = {
|
|
213
218
|
offset: 0
|
|
214
|
-
};
|
|
219
|
+
}, _temp)) || _class;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Sticky.tsx"],"names":["React","PropTypes","shallowEqual","LayoutEvents","isFunction","ZIndex","CommonWrapper","cx","styles","MAX_REFLOW_RETRIES","Sticky","state","fixed","deltaHeight","stopped","relativeTop","wrapper","inner","layoutSubscription","remove","reflowCounter","refWrapper","ref","refInner","reflow","document","documentElement","Error","windowHeight","window","innerHeight","clientHeight","getBoundingClientRect","top","bottom","left","width","height","props","offset","getStop","side","prevFixed","prevHeight","setState","stop","stopRect","outerHeight","componentDidMount","addListener","componentWillUnmount","componentDidUpdate","prevProps","prevState","emit","render","children","innerStyle","container","Component","__KONTUR_REACT_UI__","propTypes","oneOfType","node","func","number","oneOf","isRequired","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport shallowEqual from 'shallowequal';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { isFunction } from '../../lib/utils';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Sticky.styles';\n\nconst MAX_REFLOW_RETRIES = 5;\n\nexport interface StickyProps extends CommonProps {\n side: 'top' | 'bottom';\n /**\n * Отступ в пикселях от края экрана, на сколько сдвигается элемент в залипшем состоянии\n * @default 0\n */\n offset: number;\n getStop?: () => Nullable<HTMLElement>;\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n}\n\nexport interface StickyState {\n fixed: boolean;\n deltaHeight: number;\n height?: number;\n width?: number;\n left?: number;\n stopped: boolean;\n relativeTop: number;\n}\n\nexport class Sticky extends React.Component<StickyProps, StickyState> {\n public static __KONTUR_REACT_UI__ = 'Sticky';\n\n public static propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Функция, которая возвращает DOM-элемент, который нельзя пересекать.\n */\n getStop: PropTypes.func,\n\n /**\n * Отступ от границы в пикселях\n */\n offset: PropTypes.number,\n\n side: PropTypes.oneOf(['top', 'bottom']).isRequired,\n };\n\n public static defaultProps = { offset: 0 };\n\n public state: StickyState = {\n fixed: false,\n deltaHeight: 0,\n stopped: false,\n relativeTop: 0,\n };\n\n private wrapper: Nullable<HTMLElement>;\n private inner: Nullable<HTMLElement>;\n private layoutSubscription: { remove: Nullable<() => void> } = { remove: null };\n private reflowCounter = 0;\n\n public componentDidMount() {\n this.reflow();\n\n this.layoutSubscription = LayoutEvents.addListener(this.reflow);\n }\n\n public componentWillUnmount() {\n if (this.layoutSubscription.remove) {\n this.layoutSubscription.remove();\n }\n }\n\n public componentDidUpdate(prevProps: StickyProps, prevState: StickyState) {\n if (!shallowEqual(prevProps, this.props) || !shallowEqual(prevState, this.state)) {\n if (this.reflowCounter < MAX_REFLOW_RETRIES) {\n LayoutEvents.emit();\n this.reflowCounter += 1;\n return;\n }\n }\n this.reflowCounter = 0;\n }\n\n public render() {\n let { children } = this.props;\n const { side, offset } = this.props;\n const { fixed, stopped, relativeTop, deltaHeight, width, height, left } = this.state;\n const innerStyle: React.CSSProperties = {};\n\n if (fixed) {\n if (stopped) {\n innerStyle.top = relativeTop;\n innerStyle[side === 'top' ? 'marginTop' : 'marginBottom'] = deltaHeight;\n } else {\n innerStyle.width = width;\n innerStyle[side] = offset;\n innerStyle.left = left;\n }\n }\n\n if (isFunction(children)) {\n children = children(fixed);\n }\n\n return (\n <CommonWrapper {...this.props}>\n <div ref={this.refWrapper} className={styles.wrapper()}>\n <ZIndex\n priority=\"Sticky\"\n applyZIndex={fixed}\n className={cx(styles.inner(), {\n [styles.fixed()]: fixed && !stopped,\n [styles.stopped()]: stopped,\n })}\n style={innerStyle}\n wrapperRef={this.refInner}\n >\n <div className={styles.container()}>{children}</div>\n </ZIndex>\n {fixed && !stopped ? <div style={{ width, height }} /> : null}\n </div>\n </CommonWrapper>\n );\n }\n\n private refWrapper = (ref: Nullable<HTMLElement>) => (this.wrapper = ref);\n\n private refInner = (ref: Nullable<HTMLElement>) => (this.inner = ref);\n\n private reflow = () => {\n const { documentElement } = document;\n\n if (!documentElement) {\n throw Error('There is no \"documentElement\" in document');\n }\n\n const windowHeight = window.innerHeight || documentElement.clientHeight;\n if (!this.wrapper || !this.inner) {\n return;\n }\n const { top, bottom, left } = this.wrapper.getBoundingClientRect();\n const { width, height } = this.inner.getBoundingClientRect();\n const { offset, getStop, side } = this.props;\n const { fixed: prevFixed, height: prevHeight = height } = this.state;\n const fixed = side === 'top' ? top < offset : bottom > windowHeight - offset;\n\n this.setState({ fixed, left });\n\n if (fixed && !prevFixed) {\n this.setState({ width, height });\n }\n\n if (fixed) {\n const stop = getStop && getStop();\n if (stop) {\n const deltaHeight = prevHeight - height;\n const stopRect = stop.getBoundingClientRect();\n const outerHeight = height + offset;\n let stopped = false;\n let relativeTop = 0;\n\n if (side === 'top') {\n stopped = stopRect.top - outerHeight < 0;\n relativeTop = stopRect.top - prevHeight - top;\n } else {\n stopped = stopRect.bottom + outerHeight > windowHeight;\n relativeTop = stopRect.bottom - top;\n }\n\n this.setState({ relativeTop, deltaHeight, stopped });\n }\n }\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Sticky.tsx"],"names":["React","PropTypes","shallowEqual","LayoutEvents","isFunction","ZIndex","CommonWrapper","cx","rootNode","styles","MAX_REFLOW_RETRIES","Sticky","state","fixed","deltaHeight","stopped","relativeTop","wrapper","inner","layoutSubscription","remove","reflowCounter","setRootNode","refWrapper","ref","refInner","reflow","document","documentElement","Error","windowHeight","window","innerHeight","clientHeight","getBoundingClientRect","top","bottom","left","width","height","props","offset","getStop","side","prevFixed","prevHeight","setState","stop","stopRect","outerHeight","componentDidMount","addListener","componentWillUnmount","componentDidUpdate","prevProps","prevState","emit","render","children","innerStyle","container","Component","__KONTUR_REACT_UI__","propTypes","oneOfType","node","func","number","oneOf","isRequired","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport shallowEqual from 'shallowequal';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { isFunction } from '../../lib/utils';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Sticky.styles';\n\nconst MAX_REFLOW_RETRIES = 5;\n\nexport interface StickyProps extends CommonProps {\n side: 'top' | 'bottom';\n /**\n * Отступ в пикселях от края экрана, на сколько сдвигается элемент в залипшем состоянии\n * @default 0\n */\n offset: number;\n getStop?: () => Nullable<HTMLElement>;\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n}\n\nexport interface StickyState {\n fixed: boolean;\n deltaHeight: number;\n height?: number;\n width?: number;\n left?: number;\n stopped: boolean;\n relativeTop: number;\n}\n\n@rootNode\nexport class Sticky extends React.Component<StickyProps, StickyState> {\n public static __KONTUR_REACT_UI__ = 'Sticky';\n\n public static propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Функция, которая возвращает DOM-элемент, который нельзя пересекать.\n */\n getStop: PropTypes.func,\n\n /**\n * Отступ от границы в пикселях\n */\n offset: PropTypes.number,\n\n side: PropTypes.oneOf(['top', 'bottom']).isRequired,\n };\n\n public static defaultProps = { offset: 0 };\n\n public state: StickyState = {\n fixed: false,\n deltaHeight: 0,\n stopped: false,\n relativeTop: 0,\n };\n\n private wrapper: Nullable<HTMLElement>;\n private inner: Nullable<HTMLElement>;\n private layoutSubscription: { remove: Nullable<() => void> } = { remove: null };\n private reflowCounter = 0;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n this.reflow();\n\n this.layoutSubscription = LayoutEvents.addListener(this.reflow);\n }\n\n public componentWillUnmount() {\n if (this.layoutSubscription.remove) {\n this.layoutSubscription.remove();\n }\n }\n\n public componentDidUpdate(prevProps: StickyProps, prevState: StickyState) {\n if (!shallowEqual(prevProps, this.props) || !shallowEqual(prevState, this.state)) {\n if (this.reflowCounter < MAX_REFLOW_RETRIES) {\n LayoutEvents.emit();\n this.reflowCounter += 1;\n return;\n }\n }\n this.reflowCounter = 0;\n }\n\n public render() {\n let { children } = this.props;\n const { side, offset } = this.props;\n const { fixed, stopped, relativeTop, deltaHeight, width, height, left } = this.state;\n const innerStyle: React.CSSProperties = {};\n\n if (fixed) {\n if (stopped) {\n innerStyle.top = relativeTop;\n innerStyle[side === 'top' ? 'marginTop' : 'marginBottom'] = deltaHeight;\n } else {\n innerStyle.width = width;\n innerStyle[side] = offset;\n innerStyle.left = left;\n }\n }\n\n if (isFunction(children)) {\n children = children(fixed);\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div ref={this.refWrapper} className={styles.wrapper()}>\n <ZIndex\n priority=\"Sticky\"\n applyZIndex={fixed}\n className={cx(styles.inner(), {\n [styles.fixed()]: fixed && !stopped,\n [styles.stopped()]: stopped,\n })}\n style={innerStyle}\n wrapperRef={this.refInner}\n >\n <div className={styles.container()}>{children}</div>\n </ZIndex>\n {fixed && !stopped ? <div style={{ width, height }} /> : null}\n </div>\n </CommonWrapper>\n );\n }\n\n private refWrapper = (ref: Nullable<HTMLElement>) => (this.wrapper = ref);\n\n private refInner = (ref: Nullable<HTMLElement>) => (this.inner = ref);\n\n private reflow = () => {\n const { documentElement } = document;\n\n if (!documentElement) {\n throw Error('There is no \"documentElement\" in document');\n }\n\n const windowHeight = window.innerHeight || documentElement.clientHeight;\n if (!this.wrapper || !this.inner) {\n return;\n }\n const { top, bottom, left } = this.wrapper.getBoundingClientRect();\n const { width, height } = this.inner.getBoundingClientRect();\n const { offset, getStop, side } = this.props;\n const { fixed: prevFixed, height: prevHeight = height } = this.state;\n const fixed = side === 'top' ? top < offset : bottom > windowHeight - offset;\n\n this.setState({ fixed, left });\n\n if (fixed && !prevFixed) {\n this.setState({ width, height });\n }\n\n if (fixed) {\n const stop = getStop && getStop();\n if (stop) {\n const deltaHeight = prevHeight - height;\n const stopRect = stop.getBoundingClientRect();\n const outerHeight = height + offset;\n let stopped = false;\n let relativeTop = 0;\n\n if (side === 'top') {\n stopped = stopRect.top - outerHeight < 0;\n relativeTop = stopRect.top - prevHeight - top;\n } else {\n stopped = stopRect.bottom + outerHeight > windowHeight;\n relativeTop = stopRect.bottom - top;\n }\n\n this.setState({ relativeTop, deltaHeight, stopped });\n }\n }\n };\n}\n"]}
|
|
@@ -43,6 +43,7 @@ export declare class Sticky extends React.Component<StickyProps, StickyState> {
|
|
|
43
43
|
private inner;
|
|
44
44
|
private layoutSubscription;
|
|
45
45
|
private reflowCounter;
|
|
46
|
+
private setRootNode;
|
|
46
47
|
componentDidMount(): void;
|
|
47
48
|
componentWillUnmount(): void;
|
|
48
49
|
componentDidUpdate(prevProps: StickyProps, prevState: StickyState): void;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
3
|
+
|
|
4
|
+
var _class, _class2, _temp;
|
|
5
|
+
|
|
3
6
|
import React from 'react';
|
|
4
7
|
import PropTypes from 'prop-types';
|
|
5
8
|
import { isKeyArrowHorizontal, isKeyArrowLeft, isKeyEnter } from "../../../lib/events/keyboard/identifiers";
|
|
@@ -8,9 +11,10 @@ import { Button } from "../../Button";
|
|
|
8
11
|
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
9
12
|
import { CommonWrapper } from "../../../internal/CommonWrapper";
|
|
10
13
|
import { cx } from "../../../lib/theming/Emotion";
|
|
14
|
+
import { rootNode } from "../../../lib/rootNode";
|
|
11
15
|
import { styles } from "../Switcher.styles";
|
|
12
16
|
import { getSwitcherTheme } from "../switcherTheme";
|
|
13
|
-
export var Switcher = /*#__PURE__*/function (_React$Component) {
|
|
17
|
+
export var Switcher = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
|
|
14
18
|
_inheritsLoose(Switcher, _React$Component);
|
|
15
19
|
|
|
16
20
|
function Switcher() {
|
|
@@ -25,6 +29,7 @@ export var Switcher = /*#__PURE__*/function (_React$Component) {
|
|
|
25
29
|
focusedIndex: null
|
|
26
30
|
};
|
|
27
31
|
_this.theme = void 0;
|
|
32
|
+
_this.setRootNode = void 0;
|
|
28
33
|
|
|
29
34
|
_this.selectItem = function (value) {
|
|
30
35
|
if (_this.props.onValueChange) {
|
|
@@ -182,7 +187,9 @@ export var Switcher = /*#__PURE__*/function (_React$Component) {
|
|
|
182
187
|
className: styles.input()
|
|
183
188
|
};
|
|
184
189
|
var lableClassName = cx(styles.label(this.theme), this.getLabelSizeClassName());
|
|
185
|
-
return /*#__PURE__*/React.createElement(CommonWrapper,
|
|
190
|
+
return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
|
|
191
|
+
rootNodeRef: this.setRootNode
|
|
192
|
+
}, this.props), /*#__PURE__*/React.createElement("div", null, this.props.label ? /*#__PURE__*/React.createElement("div", {
|
|
186
193
|
className: lableClassName
|
|
187
194
|
}, this.props.label) : null, /*#__PURE__*/React.createElement("div", {
|
|
188
195
|
className: styles.wrap()
|
|
@@ -192,9 +199,7 @@ export var Switcher = /*#__PURE__*/function (_React$Component) {
|
|
|
192
199
|
};
|
|
193
200
|
|
|
194
201
|
return Switcher;
|
|
195
|
-
}(React.Component)
|
|
196
|
-
Switcher.__KONTUR_REACT_UI__ = 'Switcher';
|
|
197
|
-
Switcher.propTypes = {
|
|
202
|
+
}(React.Component), _class2.__KONTUR_REACT_UI__ = 'Switcher', _class2.propTypes = {
|
|
198
203
|
error: PropTypes.bool,
|
|
199
204
|
disabled: PropTypes.bool,
|
|
200
205
|
items: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.arrayOf(PropTypes.shape({
|
|
@@ -204,4 +209,4 @@ Switcher.propTypes = {
|
|
|
204
209
|
label: PropTypes.string,
|
|
205
210
|
value: PropTypes.string,
|
|
206
211
|
onValueChange: PropTypes.func
|
|
207
|
-
};
|
|
212
|
+
}, _temp)) || _class;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Switcher.tsx"],"names":["React","PropTypes","isKeyArrowHorizontal","isKeyArrowLeft","isKeyEnter","Group","Button","ThemeContext","CommonWrapper","cx","styles","getSwitcherTheme","Switcher","state","focusedIndex","theme","selectItem","value","props","onValueChange","_extractPropsFromItem","item","label","_extractValuesFromItems","items","map","move","step","selectedIndex","length","_focus","index","setState","handleKey","e","preventDefault","_handleFocus","currentIndex","indexOf","_handleBlur","_renderItems","i","buttonProps","checked","visuallyFocused","onClick","disableFocus","size","disabled","getLabelSizeClassName","labelLarge","labelMedium","labelSmall","render","renderMain","listClassName","error","inputProps","type","onKeyDown","onFocus","onBlur","className","input","lableClassName","wrap","Component","__KONTUR_REACT_UI__","propTypes","bool","oneOfType","arrayOf","string","shape","isRequired","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isKeyArrowHorizontal, isKeyArrowLeft, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { Group } from '../Group';\nimport { Button, ButtonSize } from '../Button';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Switcher.styles';\nimport { getSwitcherTheme } from './switcherTheme';\n\nexport type SwitcherSize = ButtonSize;\n\nexport interface SwitcherProps extends CommonProps {\n /**\n * Список строк или список элементов типа `{ label: string, value: string }`\n */\n items: Array<string | SwitcherItem>;\n\n value?: string;\n\n onValueChange?: (value: string) => void;\n\n label?: string;\n\n error?: boolean;\n\n /** Размер */\n size?: SwitcherSize;\n\n disabled?: boolean;\n}\n\nexport interface SwitcherState {\n focusedIndex: Nullable<number>;\n}\n\ninterface SwitcherItem {\n label: string;\n value: string;\n}\n\nexport class Switcher extends React.Component<SwitcherProps, SwitcherState> {\n public static __KONTUR_REACT_UI__ = 'Switcher';\n\n public static propTypes = {\n error: PropTypes.bool,\n disabled: PropTypes.bool,\n items: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n }),\n ),\n ]).isRequired,\n label: PropTypes.string,\n value: PropTypes.string,\n onValueChange: PropTypes.func,\n };\n\n public state: SwitcherState = {\n focusedIndex: null,\n };\n\n private theme!: Theme;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getSwitcherTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const listClassName = cx({\n [styles.error(this.theme)]: !!this.props.error,\n });\n\n const inputProps = {\n type: 'checkbox',\n onKeyDown: this.handleKey,\n onFocus: this._handleFocus,\n onBlur: this._handleBlur,\n className: styles.input(),\n };\n\n const lableClassName = cx(styles.label(this.theme), this.getLabelSizeClassName());\n\n return (\n <CommonWrapper {...this.props}>\n <div>\n {this.props.label ? <div className={lableClassName}>{this.props.label}</div> : null}\n <div className={styles.wrap()}>\n <input {...inputProps} />\n <div className={listClassName}>\n <Group>{this._renderItems()}</Group>\n </div>\n </div>\n </div>\n </CommonWrapper>\n );\n }\n\n private selectItem = (value: string) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private _extractPropsFromItem = (item: string | SwitcherItem): SwitcherItem => {\n return typeof item === 'object' ? item : { label: item, value: item };\n };\n\n private _extractValuesFromItems = (): string[] => {\n return this.props.items.map((item) => {\n const { value } = this._extractPropsFromItem(item);\n return value;\n });\n };\n\n private move = (step: number) => {\n let selectedIndex = this.state.focusedIndex;\n\n if (typeof selectedIndex !== 'number') {\n return;\n }\n\n const items = this._extractValuesFromItems();\n\n selectedIndex += step;\n\n if (selectedIndex < 0) {\n selectedIndex = items.length - 1;\n } else if (selectedIndex >= items.length) {\n selectedIndex = 0;\n }\n\n this._focus(selectedIndex);\n };\n\n private _focus = (index: number) => {\n this.setState({ focusedIndex: index });\n };\n\n private handleKey = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const focusedIndex = this.state.focusedIndex;\n if (typeof focusedIndex !== 'number') {\n return;\n }\n\n if (isKeyEnter(e)) {\n if (this.props.onValueChange) {\n const { value } = this._extractPropsFromItem(this.props.items[focusedIndex]);\n this.selectItem(value);\n }\n return;\n }\n\n if (isKeyArrowHorizontal(e)) {\n e.preventDefault();\n this.move(isKeyArrowLeft(e) ? -1 : 1);\n }\n };\n\n private _handleFocus = () => {\n const { value } = this.props;\n\n const items = this._extractValuesFromItems();\n const currentIndex = [...items].indexOf(value as string);\n const index = currentIndex > -1 ? currentIndex : 0;\n\n this.setState({ focusedIndex: index });\n };\n\n private _handleBlur = () => {\n this.setState({ focusedIndex: null });\n };\n\n private _renderItems = () => {\n return this.props.items.map((item, i) => {\n const { label, value } = this._extractPropsFromItem(item);\n const buttonProps = {\n checked: this.props.value === value,\n visuallyFocused: this.state.focusedIndex === i,\n onClick: () => {\n this.selectItem(value);\n },\n disableFocus: true,\n size: this.props.size,\n disabled: this.props.disabled,\n };\n return (\n <Button key={value} {...buttonProps}>\n {label}\n </Button>\n );\n });\n };\n\n private getLabelSizeClassName = (): string => {\n switch (this.props.size) {\n case 'large':\n return styles.labelLarge(this.theme);\n case 'medium':\n return styles.labelMedium(this.theme);\n case 'small':\n default:\n return styles.labelSmall(this.theme);\n }\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Switcher.tsx"],"names":["React","PropTypes","isKeyArrowHorizontal","isKeyArrowLeft","isKeyEnter","Group","Button","ThemeContext","CommonWrapper","cx","rootNode","styles","getSwitcherTheme","Switcher","state","focusedIndex","theme","setRootNode","selectItem","value","props","onValueChange","_extractPropsFromItem","item","label","_extractValuesFromItems","items","map","move","step","selectedIndex","length","_focus","index","setState","handleKey","e","preventDefault","_handleFocus","currentIndex","indexOf","_handleBlur","_renderItems","i","buttonProps","checked","visuallyFocused","onClick","disableFocus","size","disabled","getLabelSizeClassName","labelLarge","labelMedium","labelSmall","render","renderMain","listClassName","error","inputProps","type","onKeyDown","onFocus","onBlur","className","input","lableClassName","wrap","Component","__KONTUR_REACT_UI__","propTypes","bool","oneOfType","arrayOf","string","shape","isRequired","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isKeyArrowHorizontal, isKeyArrowLeft, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { Group } from '../Group';\nimport { Button, ButtonSize } from '../Button';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Switcher.styles';\nimport { getSwitcherTheme } from './switcherTheme';\n\nexport type SwitcherSize = ButtonSize;\n\nexport interface SwitcherProps extends CommonProps {\n /**\n * Список строк или список элементов типа `{ label: string, value: string }`\n */\n items: Array<string | SwitcherItem>;\n\n value?: string;\n\n onValueChange?: (value: string) => void;\n\n label?: string;\n\n error?: boolean;\n\n /** Размер */\n size?: SwitcherSize;\n\n disabled?: boolean;\n}\n\nexport interface SwitcherState {\n focusedIndex: Nullable<number>;\n}\n\ninterface SwitcherItem {\n label: string;\n value: string;\n}\n\n@rootNode\nexport class Switcher extends React.Component<SwitcherProps, SwitcherState> {\n public static __KONTUR_REACT_UI__ = 'Switcher';\n\n public static propTypes = {\n error: PropTypes.bool,\n disabled: PropTypes.bool,\n items: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n }),\n ),\n ]).isRequired,\n label: PropTypes.string,\n value: PropTypes.string,\n onValueChange: PropTypes.func,\n };\n\n public state: SwitcherState = {\n focusedIndex: null,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getSwitcherTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const listClassName = cx({\n [styles.error(this.theme)]: !!this.props.error,\n });\n\n const inputProps = {\n type: 'checkbox',\n onKeyDown: this.handleKey,\n onFocus: this._handleFocus,\n onBlur: this._handleBlur,\n className: styles.input(),\n };\n\n const lableClassName = cx(styles.label(this.theme), this.getLabelSizeClassName());\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div>\n {this.props.label ? <div className={lableClassName}>{this.props.label}</div> : null}\n <div className={styles.wrap()}>\n <input {...inputProps} />\n <div className={listClassName}>\n <Group>{this._renderItems()}</Group>\n </div>\n </div>\n </div>\n </CommonWrapper>\n );\n }\n\n private selectItem = (value: string) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private _extractPropsFromItem = (item: string | SwitcherItem): SwitcherItem => {\n return typeof item === 'object' ? item : { label: item, value: item };\n };\n\n private _extractValuesFromItems = (): string[] => {\n return this.props.items.map((item) => {\n const { value } = this._extractPropsFromItem(item);\n return value;\n });\n };\n\n private move = (step: number) => {\n let selectedIndex = this.state.focusedIndex;\n\n if (typeof selectedIndex !== 'number') {\n return;\n }\n\n const items = this._extractValuesFromItems();\n\n selectedIndex += step;\n\n if (selectedIndex < 0) {\n selectedIndex = items.length - 1;\n } else if (selectedIndex >= items.length) {\n selectedIndex = 0;\n }\n\n this._focus(selectedIndex);\n };\n\n private _focus = (index: number) => {\n this.setState({ focusedIndex: index });\n };\n\n private handleKey = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const focusedIndex = this.state.focusedIndex;\n if (typeof focusedIndex !== 'number') {\n return;\n }\n\n if (isKeyEnter(e)) {\n if (this.props.onValueChange) {\n const { value } = this._extractPropsFromItem(this.props.items[focusedIndex]);\n this.selectItem(value);\n }\n return;\n }\n\n if (isKeyArrowHorizontal(e)) {\n e.preventDefault();\n this.move(isKeyArrowLeft(e) ? -1 : 1);\n }\n };\n\n private _handleFocus = () => {\n const { value } = this.props;\n\n const items = this._extractValuesFromItems();\n const currentIndex = [...items].indexOf(value as string);\n const index = currentIndex > -1 ? currentIndex : 0;\n\n this.setState({ focusedIndex: index });\n };\n\n private _handleBlur = () => {\n this.setState({ focusedIndex: null });\n };\n\n private _renderItems = () => {\n return this.props.items.map((item, i) => {\n const { label, value } = this._extractPropsFromItem(item);\n const buttonProps = {\n checked: this.props.value === value,\n visuallyFocused: this.state.focusedIndex === i,\n onClick: () => {\n this.selectItem(value);\n },\n disableFocus: true,\n size: this.props.size,\n disabled: this.props.disabled,\n };\n return (\n <Button key={value} {...buttonProps}>\n {label}\n </Button>\n );\n });\n };\n\n private getLabelSizeClassName = (): string => {\n switch (this.props.size) {\n case 'large':\n return styles.labelLarge(this.theme);\n case 'medium':\n return styles.labelMedium(this.theme);\n case 'small':\n default:\n return styles.labelSmall(this.theme);\n }\n };\n}\n"]}
|
|
@@ -23,6 +23,8 @@ export var styles = memoizeStyle({
|
|
|
23
23
|
return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n margin-right: ", ";\n font-size: ", ";\n line-height: ", ";\n "])), t.switcherLabelGapLarge, t.switcherLabelFontSizeLarge, t.switcherLabelLineHeightLarge);
|
|
24
24
|
},
|
|
25
25
|
error: function error(t) {
|
|
26
|
-
|
|
26
|
+
var insideWidth = parseInt(t.btnBorderWidth);
|
|
27
|
+
var outsideWidth = parseInt(t.switcherOutlineWidth) - insideWidth + "px";
|
|
28
|
+
return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n border-radius: 2px;\n box-shadow: inset 0 0 0 ", "px ", ", 0 0 0 ", " ", ";\n "])), insideWidth, t.borderColorError, outsideWidth, t.borderColorError);
|
|
27
29
|
}
|
|
28
30
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Switcher.styles.ts"],"names":["css","memoizeStyle","styles","wrap","input","label","t","switcherTextColor","labelSmall","switcherLabelGapSmall","switcherLabelFontSizeSmall","switcherLabelLineHeightSmall","labelMedium","switcherLabelGapMedium","switcherLabelFontSizeMedium","switcherLabelLineHeightMedium","labelLarge","switcherLabelGapLarge","switcherLabelFontSizeLarge","switcherLabelLineHeightLarge","error","switcherOutlineWidth","borderColorError"],"mappings":"gOAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,2BAAlC;;;AAGA,OAAO,IAAMC,MAAM,GAAGD,YAAY,CAAC;AACjCE,EAAAA,IADiC,kBAC1B;AACL,WAAOH,GAAP;;;;AAID,GANgC;;AAQjCI,EAAAA,KARiC,mBAQzB;AACN,WAAOJ,GAAP;;;;;;AAMD,GAfgC;;AAiBjCK,EAAAA,KAjBiC,iBAiB3BC,CAjB2B,EAiBjB;AACd,WAAON,GAAP;AACWM,IAAAA,CAAC,CAACC,iBADb;;;;AAKD,GAvBgC;;AAyBjCC,EAAAA,UAzBiC,sBAyBtBF,CAzBsB,EAyBZ;AACnB,WAAON,GAAP;AACkBM,IAAAA,CAAC,CAACG,qBADpB;AAEeH,IAAAA,CAAC,CAACI,0BAFjB;AAGiBJ,IAAAA,CAAC,CAACK,4BAHnB;;AAKD,GA/BgC;;AAiCjCC,EAAAA,WAjCiC,uBAiCrBN,CAjCqB,EAiCX;AACpB,WAAON,GAAP;AACkBM,IAAAA,CAAC,CAACO,sBADpB;AAEeP,IAAAA,CAAC,CAACQ,2BAFjB;AAGiBR,IAAAA,CAAC,CAACS,6BAHnB;;AAKD,GAvCgC;;AAyCjCC,EAAAA,UAzCiC,sBAyCtBV,CAzCsB,EAyCZ;AACnB,WAAON,GAAP;AACkBM,IAAAA,CAAC,CAACW,qBADpB;AAEeX,IAAAA,CAAC,CAACY,0BAFjB;AAGiBZ,IAAAA,CAAC,CAACa,4BAHnB;;AAKD,GA/CgC;;AAiDjCC,EAAAA,KAjDiC,iBAiD3Bd,CAjD2B,EAiDjB;AACd,
|
|
1
|
+
{"version":3,"sources":["Switcher.styles.ts"],"names":["css","memoizeStyle","styles","wrap","input","label","t","switcherTextColor","labelSmall","switcherLabelGapSmall","switcherLabelFontSizeSmall","switcherLabelLineHeightSmall","labelMedium","switcherLabelGapMedium","switcherLabelFontSizeMedium","switcherLabelLineHeightMedium","labelLarge","switcherLabelGapLarge","switcherLabelFontSizeLarge","switcherLabelLineHeightLarge","error","insideWidth","parseInt","btnBorderWidth","outsideWidth","switcherOutlineWidth","borderColorError"],"mappings":"gOAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,2BAAlC;;;AAGA,OAAO,IAAMC,MAAM,GAAGD,YAAY,CAAC;AACjCE,EAAAA,IADiC,kBAC1B;AACL,WAAOH,GAAP;;;;AAID,GANgC;;AAQjCI,EAAAA,KARiC,mBAQzB;AACN,WAAOJ,GAAP;;;;;;AAMD,GAfgC;;AAiBjCK,EAAAA,KAjBiC,iBAiB3BC,CAjB2B,EAiBjB;AACd,WAAON,GAAP;AACWM,IAAAA,CAAC,CAACC,iBADb;;;;AAKD,GAvBgC;;AAyBjCC,EAAAA,UAzBiC,sBAyBtBF,CAzBsB,EAyBZ;AACnB,WAAON,GAAP;AACkBM,IAAAA,CAAC,CAACG,qBADpB;AAEeH,IAAAA,CAAC,CAACI,0BAFjB;AAGiBJ,IAAAA,CAAC,CAACK,4BAHnB;;AAKD,GA/BgC;;AAiCjCC,EAAAA,WAjCiC,uBAiCrBN,CAjCqB,EAiCX;AACpB,WAAON,GAAP;AACkBM,IAAAA,CAAC,CAACO,sBADpB;AAEeP,IAAAA,CAAC,CAACQ,2BAFjB;AAGiBR,IAAAA,CAAC,CAACS,6BAHnB;;AAKD,GAvCgC;;AAyCjCC,EAAAA,UAzCiC,sBAyCtBV,CAzCsB,EAyCZ;AACnB,WAAON,GAAP;AACkBM,IAAAA,CAAC,CAACW,qBADpB;AAEeX,IAAAA,CAAC,CAACY,0BAFjB;AAGiBZ,IAAAA,CAAC,CAACa,4BAHnB;;AAKD,GA/CgC;;AAiDjCC,EAAAA,KAjDiC,iBAiD3Bd,CAjD2B,EAiDjB;AACd,QAAMe,WAAW,GAAGC,QAAQ,CAAChB,CAAC,CAACiB,cAAH,CAA5B;AACA,QAAMC,YAAY,GAAMF,QAAQ,CAAChB,CAAC,CAACmB,oBAAH,CAAR,GAAmCJ,WAAzC,OAAlB;AACA,WAAOrB,GAAP;;AAE4BqB,IAAAA,WAF5B,EAE6Cf,CAAC,CAACoB,gBAF/C,EAE0EF,YAF1E,EAE0FlB,CAAC,CAACoB,gBAF5F;;AAID,GAxDgC,EAAD,CAA3B","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n wrap() {\n return css`\n display: inline-block;\n vertical-align: middle;\n `;\n },\n\n input() {\n return css`\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n `;\n },\n\n label(t: Theme) {\n return css`\n color: ${t.switcherTextColor};\n vertical-align: middle;\n display: inline-block;\n `;\n },\n\n labelSmall(t: Theme) {\n return css`\n margin-right: ${t.switcherLabelGapSmall};\n font-size: ${t.switcherLabelFontSizeSmall};\n line-height: ${t.switcherLabelLineHeightSmall};\n `;\n },\n\n labelMedium(t: Theme) {\n return css`\n margin-right: ${t.switcherLabelGapMedium};\n font-size: ${t.switcherLabelFontSizeMedium};\n line-height: ${t.switcherLabelLineHeightMedium};\n `;\n },\n\n labelLarge(t: Theme) {\n return css`\n margin-right: ${t.switcherLabelGapLarge};\n font-size: ${t.switcherLabelFontSizeLarge};\n line-height: ${t.switcherLabelLineHeightLarge};\n `;\n },\n\n error(t: Theme) {\n const insideWidth = parseInt(t.btnBorderWidth);\n const outsideWidth = `${parseInt(t.switcherOutlineWidth) - insideWidth}px`;\n return css`\n border-radius: 2px;\n box-shadow: inset 0 0 0 ${insideWidth}px ${t.borderColorError}, 0 0 0 ${outsideWidth} ${t.borderColorError};\n `;\n },\n});\n"]}
|