@skbkontur/react-ui 4.2.2 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/cjs/components/Autocomplete/Autocomplete.d.ts +9 -17
- package/cjs/components/Autocomplete/Autocomplete.js +10 -6
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.d.ts +4 -5
- package/cjs/components/Button/Button.js +8 -3
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.mixins.js +1 -1
- package/cjs/components/Button/Button.mixins.js.map +1 -1
- package/cjs/components/Button/Button.styles.js +18 -18
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Center/Center.d.ts +4 -3
- package/cjs/components/Center/Center.js +9 -3
- package/cjs/components/Center/Center.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.d.ts +8 -13
- package/cjs/components/ComboBox/ComboBox.js +12 -2
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -9
- package/cjs/components/CurrencyInput/CurrencyInput.js +15 -6
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +3 -9
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +15 -15
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/DateInput/DateInput.d.ts +8 -11
- package/cjs/components/DateInput/DateInput.js +11 -3
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +6 -8
- package/cjs/components/DatePicker/DatePicker.js +12 -6
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +5 -5
- package/cjs/components/DropdownMenu/DropdownMenu.js +9 -3
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/FxInput/FxInput.d.ts +6 -6
- package/cjs/components/FxInput/FxInput.js +13 -10
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/Gapped/Gapped.d.ts +7 -8
- package/cjs/components/Gapped/Gapped.js +12 -6
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.d.ts +7 -14
- package/cjs/components/GlobalLoader/GlobalLoader.js +13 -9
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/Hint/Hint.d.ts +7 -11
- package/cjs/components/Hint/Hint.js +15 -5
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Input/Input.d.ts +4 -3
- package/cjs/components/Input/Input.js +7 -4
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +7 -11
- package/cjs/components/Kebab/Kebab.js +14 -5
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.d.ts +4 -4
- package/cjs/components/Link/Link.js +11 -4
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Loader/Loader.d.ts +7 -4
- package/cjs/components/Loader/Loader.js +14 -4
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/Modal/Modal.d.ts +4 -3
- package/cjs/components/Modal/Modal.js +8 -3
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +6 -9
- package/cjs/components/Paging/Paging.js +15 -5
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/PagingDefaultComponent.d.ts +1 -1
- package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +4 -3
- package/cjs/components/PasswordInput/PasswordInput.js +8 -3
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.d.ts +4 -3
- package/cjs/components/Radio/Radio.js +8 -3
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -4
- package/cjs/components/RadioGroup/RadioGroup.js +4 -2
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +6 -7
- package/cjs/components/ScrollContainer/ScrollContainer.js +11 -5
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +3 -12
- package/cjs/components/Select/Select.js +6 -1
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.styles.js +4 -4
- package/cjs/components/Select/Select.styles.js.map +1 -1
- package/cjs/components/SidePage/SidePage.d.ts +5 -6
- package/cjs/components/SidePage/SidePage.js +8 -1
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/Spinner/Spinner.d.ts +4 -2
- package/cjs/components/Spinner/Spinner.js +9 -3
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Sticky/Sticky.d.ts +5 -4
- package/cjs/components/Sticky/Sticky.js +9 -2
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Tabs/Tab.d.ts +4 -4
- package/cjs/components/Tabs/Tab.js +11 -13
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tabs.d.ts +4 -4
- package/cjs/components/Tabs/Tabs.js +12 -3
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +8 -10
- package/cjs/components/Textarea/Textarea.js +10 -6
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +5 -6
- package/cjs/components/Toggle/Toggle.js +10 -4
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +19 -16
- package/cjs/components/TokenInput/TokenInput.js +75 -57
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +10 -14
- package/cjs/components/Tooltip/Tooltip.js +23 -12
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +5 -4
- package/cjs/components/TooltipMenu/TooltipMenu.js +11 -5
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/internal/BGRuler.d.ts +13 -15
- package/cjs/internal/BGRuler.js +16 -8
- package/cjs/internal/BGRuler.js.map +1 -1
- package/cjs/internal/Calendar/Calendar.d.ts +4 -13
- package/cjs/internal/Calendar/Calendar.js +10 -5
- package/cjs/internal/Calendar/Calendar.js.map +1 -1
- package/cjs/internal/Calendar/DayCellView.styles.js +1 -1
- package/cjs/internal/Calendar/DayCellView.styles.js.map +1 -1
- package/cjs/internal/Calendar/Month.js +16 -11
- package/cjs/internal/Calendar/Month.js.map +1 -1
- package/cjs/internal/ComponentCombinator.d.ts +6 -8
- package/cjs/internal/ComponentCombinator.js +6 -2
- package/cjs/internal/ComponentCombinator.js.map +1 -1
- package/cjs/internal/ComponentTable.d.ts +5 -6
- package/cjs/internal/ComponentTable.js +11 -2
- package/cjs/internal/ComponentTable.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +4 -4
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js +7 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +4 -12
- package/cjs/internal/CustomComboBox/ComboBoxView.js +18 -10
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.d.ts +4 -6
- package/cjs/internal/DateSelect/DateSelect.js +15 -9
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +3 -6
- package/cjs/internal/DropdownContainer/DropdownContainer.js +8 -5
- package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -3
- package/cjs/internal/InputLikeText/InputLikeText.js +7 -2
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.d.ts +3 -9
- package/cjs/internal/InternalMenu/InternalMenu.js +16 -6
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/MaskedInput/MaskedInput.d.ts +4 -2
- package/cjs/internal/MaskedInput/MaskedInput.js +7 -2
- package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/internal/Menu/Menu.d.ts +4 -7
- package/cjs/internal/Menu/Menu.js +7 -1
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +10 -16
- package/cjs/internal/Popup/Popup.js +21 -7
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +8 -11
- package/cjs/internal/PopupMenu/PopupMenu.js +8 -1
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.d.ts +4 -3
- package/cjs/internal/RenderLayer/RenderLayer.js +8 -2
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ThemePlayground/VariableValue.d.ts +5 -4
- package/cjs/internal/ThemePlayground/VariableValue.js +6 -1
- package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
- package/cjs/internal/ZIndex/ZIndex.d.ts +7 -11
- package/cjs/internal/ZIndex/ZIndex.js +10 -3
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/lib/createPropsGetter.d.ts +2 -1
- package/cjs/lib/createPropsGetter.js +2 -0
- package/cjs/lib/createPropsGetter.js.map +1 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js +22 -12
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +9 -17
- package/components/Button/Button/Button.js +11 -5
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +4 -5
- package/components/Button/Button.mixins/Button.mixins.js +1 -1
- package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
- package/components/Button/Button.styles/Button.styles.js +18 -18
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Center/Center/Center.js +7 -5
- package/components/Center/Center/Center.js.map +1 -1
- package/components/Center/Center.d.ts +4 -3
- package/components/ComboBox/ComboBox/ComboBox.js +3 -1
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +8 -13
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +21 -18
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +6 -9
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +21 -15
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel.d.ts +3 -9
- package/components/DateInput/DateInput/DateInput.js +17 -4
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +8 -11
- package/components/DatePicker/DatePicker/DatePicker.js +12 -9
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +6 -8
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +8 -2
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +5 -5
- package/components/FxInput/FxInput/FxInput.js +11 -9
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +6 -6
- package/components/Gapped/Gapped/Gapped.js +17 -8
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/Gapped/Gapped.d.ts +7 -8
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +35 -16
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader.d.ts +7 -14
- package/components/Hint/Hint/Hint.js +30 -18
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +7 -11
- package/components/Input/Input/Input.js +9 -7
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +4 -3
- package/components/Kebab/Kebab/Kebab.js +19 -8
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +7 -11
- package/components/Link/Link/Link.js +9 -6
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +4 -4
- package/components/Loader/Loader/Loader.js +22 -17
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +7 -4
- package/components/Modal/Modal/Modal.js +3 -1
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.d.ts +4 -3
- package/components/Paging/Paging/Paging.js +24 -14
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +6 -9
- package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -1
- package/components/Paging/PagingDefaultComponent.d.ts +1 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +7 -5
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +4 -3
- package/components/Radio/Radio/Radio.js +7 -5
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +4 -3
- package/components/RadioGroup/RadioGroup/RadioGroup.js +10 -10
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +2 -4
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +10 -6
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +6 -7
- package/components/Select/Select/Select.js +4 -3
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +3 -12
- package/components/Select/Select.styles/Select.styles.js +4 -4
- package/components/Select/Select.styles/Select.styles.js.map +1 -1
- package/components/SidePage/SidePage/SidePage.js +14 -9
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +5 -6
- package/components/Spinner/Spinner/Spinner.js +7 -5
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +4 -2
- package/components/Sticky/Sticky/Sticky.js +7 -4
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +5 -4
- package/components/Tabs/Tab/Tab.js +15 -7
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +4 -4
- package/components/Tabs/Tabs/Tabs.js +10 -8
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +4 -4
- package/components/Textarea/Textarea/Textarea.js +19 -14
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +8 -10
- package/components/Toggle/Toggle/Toggle.js +12 -7
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +5 -6
- package/components/TokenInput/TokenInput/TokenInput.js +107 -77
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +19 -16
- package/components/Tooltip/Tooltip/Tooltip.js +51 -30
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +10 -14
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +15 -13
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +5 -4
- package/internal/BGRuler/BGRuler.js +11 -6
- package/internal/BGRuler/BGRuler.js.map +1 -1
- package/internal/BGRuler.d.ts +13 -15
- package/internal/Calendar/Calendar/Calendar.js +11 -5
- package/internal/Calendar/Calendar/Calendar.js.map +1 -1
- package/internal/Calendar/Calendar.d.ts +4 -13
- package/internal/Calendar/DayCellView.styles/DayCellView.styles.js +1 -1
- package/internal/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
- package/internal/Calendar/Month/Month.js +20 -11
- package/internal/Calendar/Month/Month.js.map +1 -1
- package/internal/ComponentCombinator/ComponentCombinator.js +8 -5
- package/internal/ComponentCombinator/ComponentCombinator.js.map +1 -1
- package/internal/ComponentCombinator.d.ts +6 -8
- package/internal/ComponentTable/ComponentTable.js +16 -4
- package/internal/ComponentTable/ComponentTable.js.map +1 -1
- package/internal/ComponentTable.d.ts +5 -6
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +4 -2
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu.d.ts +4 -4
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +21 -10
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +4 -12
- package/internal/DateSelect/DateSelect/DateSelect.js +14 -11
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.d.ts +4 -6
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +6 -10
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
- package/internal/DropdownContainer/DropdownContainer.d.ts +3 -6
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +4 -2
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.d.ts +4 -3
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +21 -10
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/InternalMenu/InternalMenu.d.ts +3 -9
- package/internal/MaskedInput/MaskedInput/MaskedInput.js +3 -1
- package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/internal/MaskedInput/MaskedInput.d.ts +4 -2
- package/internal/Menu/Menu/Menu.js +10 -3
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.d.ts +4 -7
- package/internal/Popup/Popup/Popup.js +32 -23
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +10 -16
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +12 -4
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +8 -11
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +8 -4
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer.d.ts +4 -3
- package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -2
- package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
- package/internal/ThemePlayground/VariableValue.d.ts +5 -4
- package/internal/ZIndex/ZIndex/ZIndex.js +15 -13
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndex.d.ts +7 -11
- package/lib/createPropsGetter/createPropsGetter.js.map +1 -1
- package/lib/createPropsGetter.d.ts +2 -1
- package/package.json +2 -2
|
@@ -7,6 +7,7 @@ import React from 'react';
|
|
|
7
7
|
import { listen as listenFocusOutside, containsTargetOrRenderContainer } from "../../../lib/listenFocusOutside";
|
|
8
8
|
import { CommonWrapper } from "../../CommonWrapper";
|
|
9
9
|
import { getRootNode, rootNode } from "../../../lib/rootNode";
|
|
10
|
+
import { createPropsGetter } from "../../../lib/createPropsGetter";
|
|
10
11
|
export var RenderLayer = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
|
|
11
12
|
_inheritsLoose(RenderLayer, _React$Component);
|
|
12
13
|
|
|
@@ -18,6 +19,7 @@ export var RenderLayer = rootNode(_class = (_temp = _class2 = /*#__PURE__*/funct
|
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
|
|
22
|
+
_this.getProps = createPropsGetter(RenderLayer.defaultProps);
|
|
21
23
|
_this.focusOutsideListenerToken = null;
|
|
22
24
|
|
|
23
25
|
_this.handleFocusOutside = function (event) {
|
|
@@ -46,23 +48,25 @@ export var RenderLayer = rootNode(_class = (_temp = _class2 = /*#__PURE__*/funct
|
|
|
46
48
|
var _proto = RenderLayer.prototype;
|
|
47
49
|
|
|
48
50
|
_proto.componentDidMount = function componentDidMount() {
|
|
49
|
-
if (this.
|
|
51
|
+
if (this.getProps().active) {
|
|
50
52
|
this.attachListeners();
|
|
51
53
|
}
|
|
52
54
|
};
|
|
53
55
|
|
|
54
56
|
_proto.componentDidUpdate = function componentDidUpdate(prevProps) {
|
|
55
|
-
|
|
57
|
+
var active = this.getProps().active;
|
|
58
|
+
|
|
59
|
+
if (!prevProps.active && active) {
|
|
56
60
|
this.attachListeners();
|
|
57
61
|
}
|
|
58
62
|
|
|
59
|
-
if (prevProps.active && !
|
|
63
|
+
if (prevProps.active && !active) {
|
|
60
64
|
this.detachListeners();
|
|
61
65
|
}
|
|
62
66
|
};
|
|
63
67
|
|
|
64
68
|
_proto.componentWillUnmount = function componentWillUnmount() {
|
|
65
|
-
if (this.
|
|
69
|
+
if (this.getProps().active) {
|
|
66
70
|
this.detachListeners();
|
|
67
71
|
}
|
|
68
72
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["RenderLayer.tsx"],"names":["React","listen","listenFocusOutside","containsTargetOrRenderContainer","CommonWrapper","getRootNode","rootNode","RenderLayer","focusOutsideListenerToken","handleFocusOutside","event","props","onFocusOutside","handleNativeDocClick","target","srcElement","node","getAnchorNode","Element","onClickOutside","componentDidMount","active","attachListeners","componentDidUpdate","prevProps","detachListeners","componentWillUnmount","render","setRootNode","Children","only","children","getAnchorElement","window","addEventListener","document","documentElement","remove","removeEventListener","Component","__KONTUR_REACT_UI__","propTypes","propName","componentName","Error"
|
|
1
|
+
{"version":3,"sources":["RenderLayer.tsx"],"names":["React","listen","listenFocusOutside","containsTargetOrRenderContainer","CommonWrapper","getRootNode","rootNode","createPropsGetter","RenderLayer","getProps","defaultProps","focusOutsideListenerToken","handleFocusOutside","event","props","onFocusOutside","handleNativeDocClick","target","srcElement","node","getAnchorNode","Element","onClickOutside","componentDidMount","active","attachListeners","componentDidUpdate","prevProps","detachListeners","componentWillUnmount","render","setRootNode","Children","only","children","getAnchorElement","window","addEventListener","document","documentElement","remove","removeEventListener","Component","__KONTUR_REACT_UI__","propTypes","propName","componentName","Error"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { listen as listenFocusOutside, containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { Nullable } from '../../typings/utility-types';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nexport interface RenderLayerProps extends CommonProps {\n children: JSX.Element;\n onClickOutside?: (e: Event) => void;\n onFocusOutside?: (e: Event) => void;\n active?: boolean;\n getAnchorElement?: () => Nullable<HTMLElement>;\n}\n\ntype DefaultProps = Required<Pick<RenderLayerProps, 'active'>>;\n\n@rootNode\nexport class RenderLayer extends React.Component<RenderLayerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderLayer';\n\n public static propTypes = {\n active(props: RenderLayerProps, propName: keyof RenderLayerProps, componentName: string) {\n const { active, onClickOutside, onFocusOutside } = props;\n if (active && !(onClickOutside || onFocusOutside)) {\n return new Error(\n `[${componentName}]: using the component without either 'onClickOutside' or 'onFocusOutside' callback is pointless.`,\n );\n }\n },\n };\n\n public static defaultProps: DefaultProps = {\n active: true,\n };\n\n private getProps = createPropsGetter(RenderLayer.defaultProps);\n\n private focusOutsideListenerToken: {\n remove: () => void;\n } | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.getProps().active) {\n this.attachListeners();\n }\n }\n\n public componentDidUpdate(prevProps: RenderLayerProps) {\n const active = this.getProps().active;\n if (!prevProps.active && active) {\n this.attachListeners();\n }\n if (prevProps.active && !active) {\n this.detachListeners();\n }\n }\n\n public componentWillUnmount() {\n if (this.getProps().active) {\n this.detachListeners();\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {React.Children.only(this.props.children)}\n </CommonWrapper>\n );\n }\n\n private getAnchorNode(): Nullable<HTMLElement> {\n const { getAnchorElement } = this.props;\n return getAnchorElement ? getAnchorElement() : getRootNode(this);\n }\n\n private attachListeners() {\n const node = this.getAnchorNode();\n if (!node) {\n return;\n }\n\n this.focusOutsideListenerToken = listenFocusOutside(() => [node], this.handleFocusOutside);\n window.addEventListener('blur', this.handleFocusOutside);\n document.addEventListener(\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private detachListeners() {\n if (this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken.remove();\n this.focusOutsideListenerToken = null;\n }\n\n window.removeEventListener('blur', this.handleFocusOutside);\n document.removeEventListener(\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private handleFocusOutside = (event: Event) => {\n if (this.props.onFocusOutside) {\n this.props.onFocusOutside(event);\n }\n };\n\n private handleNativeDocClick = (event: Event) => {\n const target = event.target || event.srcElement;\n const node = this.getAnchorNode();\n\n if (!node || (target instanceof Element && containsTargetOrRenderContainer(target)(node))) {\n return;\n }\n\n if (this.props.onClickOutside) {\n this.props.onClickOutside(event);\n }\n };\n}\n"]}
|
|
@@ -8,14 +8,14 @@ export interface RenderLayerProps extends CommonProps {
|
|
|
8
8
|
active?: boolean;
|
|
9
9
|
getAnchorElement?: () => Nullable<HTMLElement>;
|
|
10
10
|
}
|
|
11
|
+
declare type DefaultProps = Required<Pick<RenderLayerProps, 'active'>>;
|
|
11
12
|
export declare class RenderLayer extends React.Component<RenderLayerProps> {
|
|
12
13
|
static __KONTUR_REACT_UI__: string;
|
|
13
14
|
static propTypes: {
|
|
14
15
|
active(props: RenderLayerProps, propName: keyof RenderLayerProps, componentName: string): Error | undefined;
|
|
15
16
|
};
|
|
16
|
-
static defaultProps:
|
|
17
|
-
|
|
18
|
-
};
|
|
17
|
+
static defaultProps: DefaultProps;
|
|
18
|
+
private getProps;
|
|
19
19
|
private focusOutsideListenerToken;
|
|
20
20
|
private setRootNode;
|
|
21
21
|
componentDidMount(): void;
|
|
@@ -28,3 +28,4 @@ export declare class RenderLayer extends React.Component<RenderLayerProps> {
|
|
|
28
28
|
private handleFocusOutside;
|
|
29
29
|
private handleNativeDocClick;
|
|
30
30
|
}
|
|
31
|
+
export {};
|
|
@@ -10,6 +10,7 @@ import { Link } from "../../../components/Link";
|
|
|
10
10
|
import { Hint } from "../../../components/Hint";
|
|
11
11
|
import { isFunction } from "../../../lib/utils";
|
|
12
12
|
import { cx } from "../../../lib/theming/Emotion";
|
|
13
|
+
import { createPropsGetter } from "../../../lib/createPropsGetter";
|
|
13
14
|
import { styles } from "../Playground.styles";
|
|
14
15
|
var emitter = new EventEmitter();
|
|
15
16
|
export var VariableValue = /*#__PURE__*/function (_React$Component) {
|
|
@@ -23,6 +24,7 @@ export var VariableValue = /*#__PURE__*/function (_React$Component) {
|
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
|
|
27
|
+
_this.getProps = createPropsGetter(VariableValue.defaultProps);
|
|
26
28
|
_this.state = {
|
|
27
29
|
value: _this.props.value,
|
|
28
30
|
editing: false
|
|
@@ -134,8 +136,8 @@ export var VariableValue = /*#__PURE__*/function (_React$Component) {
|
|
|
134
136
|
var _this$props2 = this.props,
|
|
135
137
|
variable = _this$props2.variable,
|
|
136
138
|
theme = _this$props2.theme,
|
|
137
|
-
baseVariables = _this$props2.baseVariables
|
|
138
|
-
|
|
139
|
+
baseVariables = _this$props2.baseVariables;
|
|
140
|
+
var deprecated = this.getProps().deprecated;
|
|
139
141
|
return /*#__PURE__*/React.createElement("div", {
|
|
140
142
|
className: styles.variable(theme),
|
|
141
143
|
ref: this.rootRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["VariableValue.tsx"],"names":["React","EditIcon","DeleteIcon","EventEmitter","isColor","Input","Gapped","Link","Hint","isFunction","cx","styles","emitter","VariableValue","state","value","props","editing","subscription","rootElement","debounceTimeout","debounceInterval","undefined","renderBaseVariableLink","baseVariables","baseVariableRoot","colorIcon","baseLinkWrapper","textAlign","map","v","emitClickEvent","handleEditLinkClick","renderInputWrapper","renderInput","renderRollbackIcon","rootRef","instance","background","setState","rollbackToBaseVariable","variable","emit","handleChange","window","setInterval","debounceHandler","onChange","clearInterval","handleBlur","emitterEventHandler","name","focus","render","theme","deprecated","variableName","length","componentDidMount","addListener","remove","removeListener","componentDidUpdate","prevProps","componentWillUnmount","isColorExtended","isError","linkRoot","Component","defaultProps","BaseVariableLink","baseVariable","getColorValue","color","colorValue","style","Option"],"mappings":"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","sourcesContent":["import React from 'react';\nimport EditIcon from '@skbkontur/react-icons/Edit';\nimport DeleteIcon from '@skbkontur/react-icons/Delete';\nimport EventEmitter from 'eventemitter3';\n\nimport { isColor } from '../../lib/styles/ColorHelpers';\nimport { Input } from '../../components/Input';\nimport { Gapped } from '../../components/Gapped';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Link } from '../../components/Link';\nimport { Hint } from '../../components/Hint';\nimport { isFunction } from '../../lib/utils';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Playground.styles';\n\nconst emitter = new EventEmitter();\n\nexport interface VariableValueProps {\n onChange: (variable: keyof Theme, value: string) => void;\n value: string;\n isError: boolean;\n variable: string;\n theme: Theme;\n baseVariables: Array<keyof Theme>;\n deprecated: boolean;\n}\n\nexport interface VariableValueState {\n value: string;\n editing: boolean;\n}\n\nexport class VariableValue extends React.Component<VariableValueProps, VariableValueState> {\n public static defaultProps = {\n deprecated: false,\n };\n public state = {\n value: this.props.value,\n editing: false,\n };\n private subscription: { remove: () => void } | null = null;\n private rootElement: HTMLElement | null = null;\n private readonly debounceTimeout = 500;\n private debounceInterval: number | undefined = undefined;\n\n public render() {\n const { variable, theme, baseVariables, deprecated } = this.props;\n return (\n <div className={styles.variable(theme)} ref={this.rootRef} tabIndex={0}>\n <div\n className={cx(styles.variableName(theme), { [styles.deprecated()]: deprecated })}\n title={variable}\n >{`${variable}: `}</div>\n {baseVariables.length > 0 && !this.state.editing ? this.renderBaseVariableLink() : this.renderInputWrapper()}\n </div>\n );\n }\n\n public componentDidMount(): void {\n if (!this.subscription) {\n emitter.addListener('clicked', this.emitterEventHandler);\n this.subscription = {\n remove: () => {\n emitter.removeListener('clicked', this.emitterEventHandler);\n },\n };\n }\n }\n\n public componentDidUpdate(prevProps: VariableValueProps) {\n if (prevProps.value !== this.props.value) {\n this.setState({ value: this.props.value });\n }\n }\n\n public componentWillUnmount(): void {\n if (this.subscription) {\n this.subscription.remove();\n }\n if (this.debounceInterval !== undefined) {\n clearInterval(this.debounceInterval);\n }\n }\n\n private renderBaseVariableLink = () => {\n const baseVariables = this.props.baseVariables;\n return (\n <div className={styles.baseVariableRoot()}>\n {this.colorIcon()}\n <div className={styles.baseLinkWrapper()}>\n <Gapped>\n <div style={{ textAlign: 'right' }}>\n <Gapped vertical>\n {baseVariables.map((v) => (\n <BaseVariableLink key={v} baseVariable={v} emitClickEvent={this.emitClickEvent} />\n ))}\n </Gapped>\n </div>\n <Hint text={'Изменить значение'}>\n <Link icon={<EditIcon />} onClick={this.handleEditLinkClick} />\n </Hint>\n </Gapped>\n </div>\n </div>\n );\n };\n\n private renderInputWrapper = () => {\n return this.state.editing ? (\n <Gapped>\n {this.renderInput()}\n {this.renderRollbackIcon()}\n </Gapped>\n ) : (\n this.renderInput()\n );\n };\n\n private renderInput() {\n return (\n <Input\n leftIcon={isColorExtended(this.state.value) && this.colorIcon()}\n value={this.state.value}\n onValueChange={this.handleChange}\n onBlur={this.handleBlur}\n align={'right'}\n width={this.state.editing ? 225 : 250}\n error={this.props.isError}\n />\n );\n }\n\n private renderRollbackIcon() {\n return (\n <Hint text={'Вернуться к базовой переменной'}>\n <div className={styles.linkRoot()}>\n <Link icon={<DeleteIcon />} onClick={this.rollbackToBaseVariable} />\n </div>\n </Hint>\n );\n }\n\n private rootRef = (instance: HTMLElement | null) => {\n this.rootElement = instance;\n };\n\n private colorIcon = () => {\n return <div className={styles.colorIcon()} style={{ background: this.state.value }} />;\n };\n\n private handleEditLinkClick = () => {\n this.setState({\n editing: true,\n });\n };\n\n private rollbackToBaseVariable = () => {\n this.setState({\n editing: false,\n value: this.props.value,\n });\n };\n\n private emitClickEvent = (variable: string | number) => {\n emitter.emit('clicked', variable);\n };\n\n private handleChange = (value: string) => {\n this.setState({\n value,\n });\n\n if (this.debounceInterval === undefined) {\n this.debounceInterval = window.setInterval(this.debounceHandler, this.debounceTimeout);\n }\n };\n\n private debounceHandler = () => {\n const { variable, onChange } = this.props;\n\n onChange(variable as keyof Theme, this.state.value);\n clearInterval(this.debounceInterval);\n this.debounceInterval = undefined;\n };\n\n private handleBlur = () => {\n this.setState({\n editing: false,\n });\n };\n\n private emitterEventHandler = (name: keyof Theme) => {\n if (name === this.props.variable && this.rootElement) {\n this.rootElement.focus();\n }\n };\n}\n\ninterface BaseVariableLinkProps {\n baseVariable: string | number;\n emitClickEvent: (baseVariable: string | number) => void;\n}\nclass BaseVariableLink extends React.Component<BaseVariableLinkProps> {\n public render() {\n return <Link onClick={this.emitClickEvent}>{this.props.baseVariable}</Link>;\n }\n private emitClickEvent = () => {\n this.props.emitClickEvent(this.props.baseVariable);\n };\n}\n\ntype Color = string | (() => string);\n\nconst getColorValue = (color: Color) => {\n if (isFunction(color)) {\n return color();\n }\n\n return color;\n};\n\nfunction isColorExtended(color: Color) {\n const colorValue = getColorValue(color);\n\n const style = new Option().style;\n style.color = colorValue;\n\n if (colorValue) {\n return isColor(colorValue) || style.color === colorValue;\n }\n\n return false;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["VariableValue.tsx"],"names":["React","EditIcon","DeleteIcon","EventEmitter","isColor","Input","Gapped","Link","Hint","isFunction","cx","createPropsGetter","styles","emitter","VariableValue","getProps","defaultProps","state","value","props","editing","subscription","rootElement","debounceTimeout","debounceInterval","undefined","renderBaseVariableLink","baseVariables","baseVariableRoot","colorIcon","baseLinkWrapper","textAlign","map","v","emitClickEvent","handleEditLinkClick","renderInputWrapper","renderInput","renderRollbackIcon","rootRef","instance","background","setState","rollbackToBaseVariable","variable","emit","handleChange","window","setInterval","debounceHandler","onChange","clearInterval","handleBlur","emitterEventHandler","name","focus","render","theme","deprecated","variableName","length","componentDidMount","addListener","remove","removeListener","componentDidUpdate","prevProps","componentWillUnmount","isColorExtended","isError","linkRoot","Component","BaseVariableLink","baseVariable","getColorValue","color","colorValue","style","Option"],"mappings":"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","sourcesContent":["import React from 'react';\nimport EditIcon from '@skbkontur/react-icons/Edit';\nimport DeleteIcon from '@skbkontur/react-icons/Delete';\nimport EventEmitter from 'eventemitter3';\n\nimport { isColor } from '../../lib/styles/ColorHelpers';\nimport { Input } from '../../components/Input';\nimport { Gapped } from '../../components/Gapped';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Link } from '../../components/Link';\nimport { Hint } from '../../components/Hint';\nimport { isFunction } from '../../lib/utils';\nimport { cx } from '../../lib/theming/Emotion';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Playground.styles';\n\nconst emitter = new EventEmitter();\n\nexport interface VariableValueProps {\n onChange: (variable: keyof Theme, value: string) => void;\n value: string;\n isError: boolean;\n variable: string;\n theme: Theme;\n baseVariables: Array<keyof Theme>;\n deprecated?: boolean;\n}\n\nexport interface VariableValueState {\n value: string;\n editing: boolean;\n}\n\ntype DefaultProps = Required<Pick<VariableValueProps, 'deprecated'>>;\n\nexport class VariableValue extends React.Component<VariableValueProps, VariableValueState> {\n public static defaultProps: DefaultProps = {\n deprecated: false,\n };\n private getProps = createPropsGetter(VariableValue.defaultProps);\n public state = {\n value: this.props.value,\n editing: false,\n };\n private subscription: { remove: () => void } | null = null;\n private rootElement: HTMLElement | null = null;\n private readonly debounceTimeout = 500;\n private debounceInterval: number | undefined = undefined;\n\n public render() {\n const { variable, theme, baseVariables } = this.props;\n const deprecated = this.getProps().deprecated;\n return (\n <div className={styles.variable(theme)} ref={this.rootRef} tabIndex={0}>\n <div\n className={cx(styles.variableName(theme), { [styles.deprecated()]: deprecated })}\n title={variable}\n >{`${variable}: `}</div>\n {baseVariables.length > 0 && !this.state.editing ? this.renderBaseVariableLink() : this.renderInputWrapper()}\n </div>\n );\n }\n\n public componentDidMount(): void {\n if (!this.subscription) {\n emitter.addListener('clicked', this.emitterEventHandler);\n this.subscription = {\n remove: () => {\n emitter.removeListener('clicked', this.emitterEventHandler);\n },\n };\n }\n }\n\n public componentDidUpdate(prevProps: VariableValueProps) {\n if (prevProps.value !== this.props.value) {\n this.setState({ value: this.props.value });\n }\n }\n\n public componentWillUnmount(): void {\n if (this.subscription) {\n this.subscription.remove();\n }\n if (this.debounceInterval !== undefined) {\n clearInterval(this.debounceInterval);\n }\n }\n\n private renderBaseVariableLink = () => {\n const baseVariables = this.props.baseVariables;\n return (\n <div className={styles.baseVariableRoot()}>\n {this.colorIcon()}\n <div className={styles.baseLinkWrapper()}>\n <Gapped>\n <div style={{ textAlign: 'right' }}>\n <Gapped vertical>\n {baseVariables.map((v) => (\n <BaseVariableLink key={v} baseVariable={v} emitClickEvent={this.emitClickEvent} />\n ))}\n </Gapped>\n </div>\n <Hint text={'Изменить значение'}>\n <Link icon={<EditIcon />} onClick={this.handleEditLinkClick} />\n </Hint>\n </Gapped>\n </div>\n </div>\n );\n };\n\n private renderInputWrapper = () => {\n return this.state.editing ? (\n <Gapped>\n {this.renderInput()}\n {this.renderRollbackIcon()}\n </Gapped>\n ) : (\n this.renderInput()\n );\n };\n\n private renderInput() {\n return (\n <Input\n leftIcon={isColorExtended(this.state.value) && this.colorIcon()}\n value={this.state.value}\n onValueChange={this.handleChange}\n onBlur={this.handleBlur}\n align={'right'}\n width={this.state.editing ? 225 : 250}\n error={this.props.isError}\n />\n );\n }\n\n private renderRollbackIcon() {\n return (\n <Hint text={'Вернуться к базовой переменной'}>\n <div className={styles.linkRoot()}>\n <Link icon={<DeleteIcon />} onClick={this.rollbackToBaseVariable} />\n </div>\n </Hint>\n );\n }\n\n private rootRef = (instance: HTMLElement | null) => {\n this.rootElement = instance;\n };\n\n private colorIcon = () => {\n return <div className={styles.colorIcon()} style={{ background: this.state.value }} />;\n };\n\n private handleEditLinkClick = () => {\n this.setState({\n editing: true,\n });\n };\n\n private rollbackToBaseVariable = () => {\n this.setState({\n editing: false,\n value: this.props.value,\n });\n };\n\n private emitClickEvent = (variable: string | number) => {\n emitter.emit('clicked', variable);\n };\n\n private handleChange = (value: string) => {\n this.setState({\n value,\n });\n\n if (this.debounceInterval === undefined) {\n this.debounceInterval = window.setInterval(this.debounceHandler, this.debounceTimeout);\n }\n };\n\n private debounceHandler = () => {\n const { variable, onChange } = this.props;\n\n onChange(variable as keyof Theme, this.state.value);\n clearInterval(this.debounceInterval);\n this.debounceInterval = undefined;\n };\n\n private handleBlur = () => {\n this.setState({\n editing: false,\n });\n };\n\n private emitterEventHandler = (name: keyof Theme) => {\n if (name === this.props.variable && this.rootElement) {\n this.rootElement.focus();\n }\n };\n}\n\ninterface BaseVariableLinkProps {\n baseVariable: string | number;\n emitClickEvent: (baseVariable: string | number) => void;\n}\nclass BaseVariableLink extends React.Component<BaseVariableLinkProps> {\n public render() {\n return <Link onClick={this.emitClickEvent}>{this.props.baseVariable}</Link>;\n }\n private emitClickEvent = () => {\n this.props.emitClickEvent(this.props.baseVariable);\n };\n}\n\ntype Color = string | (() => string);\n\nconst getColorValue = (color: Color) => {\n if (isFunction(color)) {\n return color();\n }\n\n return color;\n};\n\nfunction isColorExtended(color: Color) {\n const colorValue = getColorValue(color);\n\n const style = new Option().style;\n style.color = colorValue;\n\n if (colorValue) {\n return isColor(colorValue) || style.color === colorValue;\n }\n\n return false;\n}\n"]}
|
|
@@ -7,16 +7,16 @@ export interface VariableValueProps {
|
|
|
7
7
|
variable: string;
|
|
8
8
|
theme: Theme;
|
|
9
9
|
baseVariables: Array<keyof Theme>;
|
|
10
|
-
deprecated
|
|
10
|
+
deprecated?: boolean;
|
|
11
11
|
}
|
|
12
12
|
export interface VariableValueState {
|
|
13
13
|
value: string;
|
|
14
14
|
editing: boolean;
|
|
15
15
|
}
|
|
16
|
+
declare type DefaultProps = Required<Pick<VariableValueProps, 'deprecated'>>;
|
|
16
17
|
export declare class VariableValue extends React.Component<VariableValueProps, VariableValueState> {
|
|
17
|
-
static defaultProps:
|
|
18
|
-
|
|
19
|
-
};
|
|
18
|
+
static defaultProps: DefaultProps;
|
|
19
|
+
private getProps;
|
|
20
20
|
state: {
|
|
21
21
|
value: string;
|
|
22
22
|
editing: boolean;
|
|
@@ -43,3 +43,4 @@ export declare class VariableValue extends React.Component<VariableValueProps, V
|
|
|
43
43
|
private handleBlur;
|
|
44
44
|
private emitterEventHandler;
|
|
45
45
|
}
|
|
46
|
+
export {};
|
|
@@ -9,6 +9,7 @@ import React from 'react';
|
|
|
9
9
|
import { callChildRef } from "../../../lib/callChildRef/callChildRef";
|
|
10
10
|
import { rootNode } from "../../../lib/rootNode";
|
|
11
11
|
import { isBrowser } from "../../../lib/client";
|
|
12
|
+
import { createPropsGetter } from "../../../lib/createPropsGetter";
|
|
12
13
|
import { incrementZIndex, removeZIndex, upperBorder } from "../ZIndexStorage";
|
|
13
14
|
var ZIndexContext = /*#__PURE__*/React.createContext({
|
|
14
15
|
parentLayerZIndex: 0,
|
|
@@ -22,6 +23,7 @@ export var ZIndex = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
|
|
|
22
23
|
var _this;
|
|
23
24
|
|
|
24
25
|
_this = _React$Component.call(this, props) || this;
|
|
26
|
+
_this.getProps = createPropsGetter(ZIndex.defaultProps);
|
|
25
27
|
_this.zIndex = 0;
|
|
26
28
|
|
|
27
29
|
_this.wrapperRef = function (element) {
|
|
@@ -32,7 +34,7 @@ export var ZIndex = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
|
|
|
32
34
|
wrapperRef && callChildRef(wrapperRef, element);
|
|
33
35
|
};
|
|
34
36
|
|
|
35
|
-
_this.zIndex = incrementZIndex(
|
|
37
|
+
_this.zIndex = incrementZIndex(_this.getProps().priority, _this.getProps().delta);
|
|
36
38
|
return _this;
|
|
37
39
|
}
|
|
38
40
|
|
|
@@ -45,16 +47,16 @@ export var ZIndex = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
|
|
|
45
47
|
_proto.render = function render() {
|
|
46
48
|
var _this2 = this;
|
|
47
49
|
|
|
48
|
-
var _this$
|
|
49
|
-
style = _this$
|
|
50
|
-
children = _this$
|
|
51
|
-
delta = _this$
|
|
52
|
-
priority = _this$
|
|
53
|
-
applyZIndex = _this$
|
|
54
|
-
coverChildren = _this$
|
|
55
|
-
createStackingContext = _this$
|
|
56
|
-
wrapperRef = _this$
|
|
57
|
-
props = _objectWithoutPropertiesLoose(_this$
|
|
50
|
+
var _this$getProps = this.getProps(),
|
|
51
|
+
style = _this$getProps.style,
|
|
52
|
+
children = _this$getProps.children,
|
|
53
|
+
delta = _this$getProps.delta,
|
|
54
|
+
priority = _this$getProps.priority,
|
|
55
|
+
applyZIndex = _this$getProps.applyZIndex,
|
|
56
|
+
coverChildren = _this$getProps.coverChildren,
|
|
57
|
+
createStackingContext = _this$getProps.createStackingContext,
|
|
58
|
+
wrapperRef = _this$getProps.wrapperRef,
|
|
59
|
+
props = _objectWithoutPropertiesLoose(_this$getProps, _excluded);
|
|
58
60
|
|
|
59
61
|
var wrapperStyle = {};
|
|
60
62
|
return /*#__PURE__*/React.createElement(ZIndexContext.Consumer, null, function (_ref) {
|
|
@@ -114,11 +116,11 @@ export var ZIndex = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
|
|
|
114
116
|
createStackingContext: false
|
|
115
117
|
}, _class2.propTypes = {
|
|
116
118
|
delta: function delta(props) {
|
|
117
|
-
if (props.delta <= 0) {
|
|
119
|
+
if ((props.delta || _class2.defaultProps.delta) <= 0) {
|
|
118
120
|
return new Error("[ZIndex]: Prop 'delta' must be greater than 0, received " + props.delta);
|
|
119
121
|
}
|
|
120
122
|
|
|
121
|
-
if (Math.trunc(props.delta) !== props.delta) {
|
|
123
|
+
if (Math.trunc(props.delta || _class2.defaultProps.delta) !== props.delta) {
|
|
122
124
|
return new Error("[ZIndex]: Prop 'delta' must be integer, received " + props.delta);
|
|
123
125
|
}
|
|
124
126
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ZIndex.tsx"],"names":["React","callChildRef","rootNode","isBrowser","incrementZIndex","removeZIndex","upperBorder","ZIndexContext","createContext","parentLayerZIndex","maxZIndex","Infinity","displayName","ZIndex","props","zIndex","wrapperRef","element","setRootNode","priority","delta","componentWillUnmount","render","style","children","applyZIndex","coverChildren","createStackingContext","wrapperStyle","zIndexContexValue","newZIndex","calcZIndex","Number","isFinite","document","body","isolation","transform","allowedValuesIntervalLength","scale","Math","ceil","Component","__KONTUR_REACT_UI__","
|
|
1
|
+
{"version":3,"sources":["ZIndex.tsx"],"names":["React","callChildRef","rootNode","isBrowser","createPropsGetter","incrementZIndex","removeZIndex","upperBorder","ZIndexContext","createContext","parentLayerZIndex","maxZIndex","Infinity","displayName","ZIndex","props","getProps","defaultProps","zIndex","wrapperRef","element","setRootNode","priority","delta","componentWillUnmount","render","style","children","applyZIndex","coverChildren","createStackingContext","wrapperStyle","zIndexContexValue","newZIndex","calcZIndex","Number","isFinite","document","body","isolation","transform","allowedValuesIntervalLength","scale","Math","ceil","Component","__KONTUR_REACT_UI__","propTypes","Error","trunc"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isBrowser } from '../../lib/client';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { incrementZIndex, removeZIndex, upperBorder, LayerComponentName } from './ZIndexStorage';\n\nconst ZIndexContext = React.createContext({ parentLayerZIndex: 0, maxZIndex: Infinity });\n\nZIndexContext.displayName = 'ZIndexContext';\n\nexport interface ZIndexProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Приращение к z-index\n */\n delta?: number;\n priority?: number | LayerComponentName;\n style?: React.CSSProperties;\n createStackingContext?: boolean;\n coverChildren?: boolean;\n applyZIndex?: boolean;\n className?: string;\n wrapperRef?: React.Ref<HTMLDivElement> | undefined | null;\n}\n\ntype DefaultProps = Required<\n Pick<ZIndexProps, 'delta' | 'priority' | 'style' | 'applyZIndex' | 'coverChildren' | 'createStackingContext'>\n>;\n\n@rootNode\nexport class ZIndex extends React.Component<ZIndexProps> {\n public static __KONTUR_REACT_UI__ = 'ZIndex';\n\n public static defaultProps: DefaultProps = {\n delta: 10,\n priority: 0,\n style: {},\n applyZIndex: true,\n coverChildren: false,\n createStackingContext: false,\n };\n\n private getProps = createPropsGetter(ZIndex.defaultProps);\n\n public static propTypes = {\n delta(props: ZIndexProps) {\n if ((props.delta || ZIndex.defaultProps.delta) <= 0) {\n return new Error(`[ZIndex]: Prop 'delta' must be greater than 0, received ${props.delta}`);\n }\n if (Math.trunc(props.delta || ZIndex.defaultProps.delta) !== props.delta) {\n return new Error(`[ZIndex]: Prop 'delta' must be integer, received ${props.delta}`);\n }\n },\n };\n\n private zIndex = 0;\n\n private setRootNode!: TSetRootNode;\n\n constructor(props: ZIndexProps) {\n super(props);\n this.zIndex = incrementZIndex(this.getProps().priority, this.getProps().delta);\n }\n\n public componentWillUnmount() {\n removeZIndex(this.zIndex);\n }\n\n public render() {\n const {\n style,\n children,\n delta,\n priority,\n applyZIndex,\n coverChildren,\n createStackingContext,\n wrapperRef,\n ...props\n } = this.getProps();\n\n const wrapperStyle: React.CSSProperties = {};\n\n return (\n <ZIndexContext.Consumer>\n {({ parentLayerZIndex, maxZIndex }) => {\n let zIndexContexValue = { parentLayerZIndex, maxZIndex };\n\n if (applyZIndex) {\n const newZIndex = this.calcZIndex(parentLayerZIndex, maxZIndex);\n wrapperStyle.zIndex = newZIndex;\n\n zIndexContexValue = coverChildren\n ? { parentLayerZIndex, maxZIndex: newZIndex }\n : { parentLayerZIndex: newZIndex, maxZIndex: Number.isFinite(maxZIndex) ? newZIndex : Infinity };\n\n if (createStackingContext) {\n isBrowser && 'isolation' in document.body.style\n ? (wrapperStyle.isolation = 'isolate')\n : (wrapperStyle.transform = 'rotate(0)');\n }\n }\n\n return (\n <ZIndexContext.Provider value={zIndexContexValue}>\n <div style={{ ...style, ...wrapperStyle }} ref={this.wrapperRef} {...props}>\n {children}\n </div>\n </ZIndexContext.Provider>\n );\n }}\n </ZIndexContext.Consumer>\n );\n }\n\n private wrapperRef = (element: HTMLDivElement | null) => {\n const { wrapperRef } = this.props;\n this.setRootNode(element);\n wrapperRef && callChildRef(wrapperRef, element);\n };\n\n private calcZIndex(parentLayerZIndex: number, maxZIndex: number) {\n let newZIndex = this.zIndex;\n\n if (Number.isFinite(maxZIndex)) {\n const allowedValuesIntervalLength = maxZIndex - parentLayerZIndex;\n const scale = upperBorder / allowedValuesIntervalLength;\n newZIndex = Math.ceil(newZIndex / scale);\n }\n\n newZIndex += parentLayerZIndex;\n\n return newZIndex;\n }\n}\n"]}
|
|
@@ -4,25 +4,20 @@ export interface ZIndexProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
4
4
|
/**
|
|
5
5
|
* Приращение к z-index
|
|
6
6
|
*/
|
|
7
|
-
delta
|
|
8
|
-
priority
|
|
9
|
-
style
|
|
7
|
+
delta?: number;
|
|
8
|
+
priority?: number | LayerComponentName;
|
|
9
|
+
style?: React.CSSProperties;
|
|
10
10
|
createStackingContext?: boolean;
|
|
11
11
|
coverChildren?: boolean;
|
|
12
12
|
applyZIndex?: boolean;
|
|
13
13
|
className?: string;
|
|
14
14
|
wrapperRef?: React.Ref<HTMLDivElement> | undefined | null;
|
|
15
15
|
}
|
|
16
|
+
declare type DefaultProps = Required<Pick<ZIndexProps, 'delta' | 'priority' | 'style' | 'applyZIndex' | 'coverChildren' | 'createStackingContext'>>;
|
|
16
17
|
export declare class ZIndex extends React.Component<ZIndexProps> {
|
|
17
18
|
static __KONTUR_REACT_UI__: string;
|
|
18
|
-
static defaultProps:
|
|
19
|
-
|
|
20
|
-
priority: number;
|
|
21
|
-
style: {};
|
|
22
|
-
applyZIndex: boolean;
|
|
23
|
-
coverChildren: boolean;
|
|
24
|
-
createStackingContext: boolean;
|
|
25
|
-
};
|
|
19
|
+
static defaultProps: DefaultProps;
|
|
20
|
+
private getProps;
|
|
26
21
|
static propTypes: {
|
|
27
22
|
delta(props: ZIndexProps): Error | undefined;
|
|
28
23
|
};
|
|
@@ -34,3 +29,4 @@ export declare class ZIndex extends React.Component<ZIndexProps> {
|
|
|
34
29
|
private wrapperRef;
|
|
35
30
|
private calcZIndex;
|
|
36
31
|
}
|
|
32
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["createPropsGetter.ts"],"names":["createPropsGetter","defaultProps","props"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["createPropsGetter.ts"],"names":["createPropsGetter","defaultProps","props"],"mappings":";;;;AAIA,OAAO,SAASA,iBAAT,CAA0CC,YAA1C,EAA4D;AACjE,SAAO,YAAoD;AACzD,WAAO,KAAKC,KAAZ;AACD,GAFD;AAGD","sourcesContent":["import React from 'react';\n\nexport type DefaultizedProps<P, DP> = P & DP;\n\nexport function createPropsGetter<DP extends {}>(defaultProps: DP) {\n return function <P, T extends React.Component<P>>(this: T) {\n return this.props as DefaultizedProps<T['props'], DP>;\n };\n}\n"]}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare
|
|
2
|
+
export declare type DefaultizedProps<P, DP> = P & DP;
|
|
3
|
+
export declare function createPropsGetter<DP extends {}>(defaultProps: DP): <P, T extends React.Component<P, {}, any>>(this: T) => DefaultizedProps<T["props"], DP>;
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skbkontur/react-ui",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0",
|
|
4
4
|
"description": "UI Components",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "index.js",
|
|
7
7
|
"sideEffects": false,
|
|
8
|
-
"homepage": "https://tech.skbkontur.ru/react-ui/4.
|
|
8
|
+
"homepage": "https://tech.skbkontur.ru/react-ui/4.3.0/",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
11
|
"url": "git@github.com:skbkontur/retail-ui.git"
|