@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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
3
|
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
4
|
-
var _excluded = ["type", "onRestore", "auto", "refInput"];
|
|
4
|
+
var _excluded = ["type", "onRestore", "auto", "refInput", "value", "width"];
|
|
5
5
|
|
|
6
6
|
var _class, _class2, _temp;
|
|
7
7
|
|
|
@@ -18,9 +18,9 @@ import { rootNode } from "../../../lib/rootNode";
|
|
|
18
18
|
export var FxInputDataTids = {
|
|
19
19
|
root: 'FxInput__root'
|
|
20
20
|
};
|
|
21
|
+
export
|
|
21
22
|
/** Принимает все свойства `Input`'a */
|
|
22
|
-
|
|
23
|
-
export var FxInput = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
|
|
23
|
+
var FxInput = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
|
|
24
24
|
_inheritsLoose(FxInput, _React$Component);
|
|
25
25
|
|
|
26
26
|
function FxInput() {
|
|
@@ -39,6 +39,8 @@ export var FxInput = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function
|
|
|
39
39
|
onRestore = props.onRestore,
|
|
40
40
|
auto = props.auto,
|
|
41
41
|
refInput = props.refInput,
|
|
42
|
+
value = props.value,
|
|
43
|
+
width = props.width,
|
|
42
44
|
rest = _objectWithoutPropertiesLoose(props, _excluded);
|
|
43
45
|
|
|
44
46
|
var inputProps = {
|
|
@@ -60,17 +62,17 @@ export var FxInput = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function
|
|
|
60
62
|
|
|
61
63
|
return /*#__PURE__*/React.createElement(Group, {
|
|
62
64
|
"data-tid": FxInputDataTids.root,
|
|
63
|
-
width:
|
|
64
|
-
}, button,
|
|
65
|
+
width: width
|
|
66
|
+
}, button, type === 'currency' ? /*#__PURE__*/React.createElement(CurrencyInput, _extends({}, inputProps, rest, {
|
|
65
67
|
width: '100%',
|
|
66
68
|
ref: _this.refInput,
|
|
67
|
-
value:
|
|
69
|
+
value: value,
|
|
68
70
|
onValueChange: _this.props.onValueChange
|
|
69
71
|
})) : /*#__PURE__*/React.createElement(Input, _extends({}, inputProps, rest, {
|
|
70
72
|
width: '100%',
|
|
71
73
|
ref: _this.refInput,
|
|
72
|
-
type:
|
|
73
|
-
value:
|
|
74
|
+
type: type,
|
|
75
|
+
value: value,
|
|
74
76
|
onValueChange: _this.props.onValueChange
|
|
75
77
|
})));
|
|
76
78
|
};
|
|
@@ -103,7 +105,7 @@ export var FxInput = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function
|
|
|
103
105
|
_proto.render = function render() {
|
|
104
106
|
return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
|
|
105
107
|
rootNodeRef: this.setRootNode
|
|
106
|
-
}, this.
|
|
108
|
+
}, this.getProps()), this.renderMain);
|
|
107
109
|
};
|
|
108
110
|
|
|
109
111
|
return FxInput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FxInput.tsx"],"names":["React","PropTypes","Button","Group","Input","CurrencyInput","createPropsGetter","FunctionIcon","UndoIcon","CommonWrapper","rootNode","FxInputDataTids","root","FxInput","input","getProps","defaultProps","renderMain","props","type","onRestore","auto","refInput","rest","inputProps","align","button","leftIcon","size","borderless","disabled","
|
|
1
|
+
{"version":3,"sources":["FxInput.tsx"],"names":["React","PropTypes","Button","Group","Input","CurrencyInput","createPropsGetter","FunctionIcon","UndoIcon","CommonWrapper","rootNode","FxInputDataTids","root","FxInput","input","getProps","defaultProps","renderMain","props","type","onRestore","auto","refInput","value","width","rest","inputProps","align","button","leftIcon","size","borderless","disabled","onValueChange","focus","blur","element","render","setRootNode","Component","__KONTUR_REACT_UI__","propTypes","bool","string"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Button } from '../Button';\nimport { Group } from '../Group';\nimport { Input, InputProps } from '../Input';\nimport { CurrencyInput, CurrencyInputProps } from '../CurrencyInput';\nimport { createPropsGetter, DefaultizedProps } from '../../lib/createPropsGetter';\nimport { Override } from '../../typings/utility-types';\nimport { FunctionIcon, UndoIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nexport interface FxInputProps\n extends CommonProps,\n Override<\n CurrencyInputProps,\n {\n /** Авто-режим */\n auto?: boolean;\n /** Тип инпута */\n type?: 'currency' | InputProps['type'];\n /** onRestore */\n onRestore?: () => void;\n /** onValueChange */\n onValueChange: CurrencyInputProps['onValueChange'] | InputProps['onValueChange'];\n /** Значение */\n value?: React.ReactText;\n /** ref Input'а */\n refInput?: (element: CurrencyInput | Input | null) => void;\n /** Убрать лишние нули после запятой */\n hideTrailingZeros?: boolean;\n }\n > {}\n\nexport const FxInputDataTids = {\n root: 'FxInput__root',\n} as const;\n\ntype DefaultProps = Required<Pick<FxInputProps, 'width' | 'type' | 'value'>>;\ntype DefaultizedFxInputProps = DefaultizedProps<FxInputProps, DefaultProps>;\n\n/** Принимает все свойства `Input`'a */\n@rootNode\nexport class FxInput extends React.Component<FxInputProps> {\n public static __KONTUR_REACT_UI__ = 'FxInput';\n\n public static propTypes = {\n auto: PropTypes.bool,\n type: PropTypes.string,\n };\n\n public static defaultProps: DefaultProps = {\n width: 250,\n type: 'text',\n value: '',\n };\n\n private input: Input | CurrencyInput | null = null;\n\n private getProps = createPropsGetter(FxInput.defaultProps);\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DefaultizedFxInputProps>) => {\n const { type, onRestore, auto, refInput, value, width, ...rest } = props;\n const inputProps: Partial<CurrencyInputProps> = {\n align: 'right',\n };\n\n let button = null;\n\n if (auto) {\n inputProps.leftIcon = <FunctionIcon />;\n } else {\n button = (\n <Button\n size={this.props.size}\n narrow\n onClick={this.props.onRestore}\n borderless={this.props.borderless}\n disabled={this.props.disabled}\n >\n <UndoIcon />\n </Button>\n );\n }\n\n return (\n <Group data-tid={FxInputDataTids.root} width={width}>\n {button}\n {type === 'currency' ? (\n <CurrencyInput\n {...inputProps}\n {...rest}\n width={'100%'}\n ref={this.refInput}\n value={value as CurrencyInputProps['value']}\n onValueChange={this.props.onValueChange as CurrencyInputProps['onValueChange']}\n />\n ) : (\n <Input\n {...inputProps}\n {...rest}\n width={'100%'}\n ref={this.refInput}\n type={type}\n value={value as InputProps['value']}\n onValueChange={this.props.onValueChange as InputProps['onValueChange']}\n />\n )}\n </Group>\n );\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private refInput = (element: Input | CurrencyInput | null) => {\n this.input = element;\n\n if (this.props.refInput) {\n this.props.refInput(this.input);\n }\n };\n}\n"]}
|
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { Input, InputProps } from '../Input';
|
|
4
4
|
import { CurrencyInput, CurrencyInputProps } from '../CurrencyInput';
|
|
5
|
+
import { DefaultizedProps } from '../../lib/createPropsGetter';
|
|
5
6
|
import { Override } from '../../typings/utility-types';
|
|
6
7
|
import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
|
|
7
8
|
export interface FxInputProps extends CommonProps, Override<CurrencyInputProps, {
|
|
@@ -24,6 +25,8 @@ export interface FxInputProps extends CommonProps, Override<CurrencyInputProps,
|
|
|
24
25
|
export declare const FxInputDataTids: {
|
|
25
26
|
readonly root: "FxInput__root";
|
|
26
27
|
};
|
|
28
|
+
declare type DefaultProps = Required<Pick<FxInputProps, 'width' | 'type' | 'value'>>;
|
|
29
|
+
declare type DefaultizedFxInputProps = DefaultizedProps<FxInputProps, DefaultProps>;
|
|
27
30
|
/** Принимает все свойства `Input`'a */
|
|
28
31
|
export declare class FxInput extends React.Component<FxInputProps> {
|
|
29
32
|
static __KONTUR_REACT_UI__: string;
|
|
@@ -31,16 +34,12 @@ export declare class FxInput extends React.Component<FxInputProps> {
|
|
|
31
34
|
auto: PropTypes.Requireable<boolean>;
|
|
32
35
|
type: PropTypes.Requireable<string>;
|
|
33
36
|
};
|
|
34
|
-
static defaultProps:
|
|
35
|
-
width: number;
|
|
36
|
-
type: string;
|
|
37
|
-
value: string;
|
|
38
|
-
};
|
|
37
|
+
static defaultProps: DefaultProps;
|
|
39
38
|
private input;
|
|
40
39
|
private getProps;
|
|
41
40
|
private setRootNode;
|
|
42
41
|
render(): JSX.Element;
|
|
43
|
-
renderMain: (props: CommonWrapperRestProps<
|
|
42
|
+
renderMain: (props: CommonWrapperRestProps<DefaultizedFxInputProps>) => JSX.Element;
|
|
44
43
|
/**
|
|
45
44
|
* @public
|
|
46
45
|
*/
|
|
@@ -51,3 +50,4 @@ export declare class FxInput extends React.Component<FxInputProps> {
|
|
|
51
50
|
blur: () => void;
|
|
52
51
|
private refInput;
|
|
53
52
|
}
|
|
53
|
+
export {};
|
|
@@ -8,19 +8,28 @@ import PropTypes from 'prop-types';
|
|
|
8
8
|
import { isNonNullable } from "../../../lib/utils";
|
|
9
9
|
import { CommonWrapper } from "../../../internal/CommonWrapper";
|
|
10
10
|
import { rootNode } from "../../../lib/rootNode";
|
|
11
|
+
import { createPropsGetter } from "../../../lib/createPropsGetter";
|
|
11
12
|
export var GappedDataTids = {
|
|
12
13
|
vertical: 'Gapped__vertical',
|
|
13
14
|
horizontal: 'Gapped__horizontal'
|
|
14
15
|
};
|
|
16
|
+
export
|
|
15
17
|
/**
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
export var Gapped = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
|
|
18
|
+
* Контейнер, расстояние между элементами в котором равно `gap`.
|
|
19
|
+
*/
|
|
20
|
+
var Gapped = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
|
|
20
21
|
_inheritsLoose(Gapped, _React$Component);
|
|
21
22
|
|
|
22
23
|
function Gapped() {
|
|
23
|
-
|
|
24
|
+
var _this;
|
|
25
|
+
|
|
26
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
27
|
+
args[_key] = arguments[_key];
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
|
|
31
|
+
_this.getProps = createPropsGetter(Gapped.defaultProps);
|
|
32
|
+
return _this;
|
|
24
33
|
}
|
|
25
34
|
|
|
26
35
|
var _proto = Gapped.prototype;
|
|
@@ -28,7 +37,7 @@ export var Gapped = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
|
|
|
28
37
|
_proto.render = function render() {
|
|
29
38
|
return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
|
|
30
39
|
rootNodeRef: this.setRootNode
|
|
31
|
-
}, this.props), this.
|
|
40
|
+
}, this.props), this.getProps().vertical ? this.renderVertical() : this.renderHorizontal());
|
|
32
41
|
};
|
|
33
42
|
|
|
34
43
|
_proto.getGapValue = function getGapValue() {
|
|
@@ -61,8 +70,8 @@ export var Gapped = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
|
|
|
61
70
|
_proto.renderHorizontal = function renderHorizontal() {
|
|
62
71
|
var _this$props = this.props,
|
|
63
72
|
children = _this$props.children,
|
|
64
|
-
verticalAlign = _this$props.verticalAlign
|
|
65
|
-
|
|
73
|
+
verticalAlign = _this$props.verticalAlign;
|
|
74
|
+
var wrap = this.getProps().wrap;
|
|
66
75
|
var gap = this.getGapValue();
|
|
67
76
|
|
|
68
77
|
var itemStyle = _extends({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Gapped.tsx"],"names":["React","PropTypes","isNonNullable","CommonWrapper","rootNode","GappedDataTids","vertical","horizontal","Gapped","render","setRootNode","props","renderVertical","renderHorizontal","getGapValue","propsGap","gap","subsequentItemStyle","paddingTop","children","Children","toArray","filter","filterChildren","map","child","index","style","undefined","verticalAlign","wrap","itemStyle","display","marginLeft","marginTop","rootStyle","contStyle","whiteSpace","Boolean","Component","__KONTUR_REACT_UI__","propTypes","number","bool","oneOf"
|
|
1
|
+
{"version":3,"sources":["Gapped.tsx"],"names":["React","PropTypes","isNonNullable","CommonWrapper","rootNode","createPropsGetter","GappedDataTids","vertical","horizontal","Gapped","getProps","defaultProps","render","setRootNode","props","renderVertical","renderHorizontal","getGapValue","propsGap","gap","subsequentItemStyle","paddingTop","children","Children","toArray","filter","filterChildren","map","child","index","style","undefined","verticalAlign","wrap","itemStyle","display","marginLeft","marginTop","rootStyle","contStyle","whiteSpace","Boolean","Component","__KONTUR_REACT_UI__","propTypes","number","bool","oneOf"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nexport interface GappedProps extends CommonProps {\n /**\n * Расстояние между элементами в пикселях\n * @default 8\n */\n gap?: number;\n /**\n * Вертикальное выравнивание\n * @default \"baseline\"\n */\n verticalAlign?: 'top' | 'middle' | 'baseline' | 'bottom';\n /**\n * Расположение элементов по вертикали\n * @default false\n */\n vertical?: boolean;\n /**\n * Перенос элементов на новую строку при горизонтальном расположении\n * @default false\n */\n wrap?: boolean;\n children: React.ReactNode;\n}\n\nexport const GappedDataTids = {\n vertical: 'Gapped__vertical',\n horizontal: 'Gapped__horizontal',\n} as const;\n\ntype DefaultProps = Required<Pick<GappedProps, 'wrap' | 'vertical' | 'verticalAlign'>>;\n\n/**\n * Контейнер, расстояние между элементами в котором равно `gap`.\n */\n@rootNode\nexport class Gapped extends React.Component<GappedProps> {\n public static __KONTUR_REACT_UI__ = 'Gapped';\n\n public static propTypes = {\n /**\n * Расстояние между элементами.\n */\n gap: PropTypes.number,\n\n /**\n * Располагать элементы вертикально.\n */\n vertical: PropTypes.bool,\n\n /**\n * Вертикальное выравнивание элементов.\n */\n verticalAlign: PropTypes.oneOf(['top', 'middle', 'baseline', 'bottom']),\n };\n\n private setRootNode!: TSetRootNode;\n\n public static defaultProps: DefaultProps = {\n wrap: false,\n vertical: false,\n verticalAlign: 'baseline',\n };\n\n private getProps = createPropsGetter(Gapped.defaultProps);\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.getProps().vertical ? this.renderVertical() : this.renderHorizontal()}\n </CommonWrapper>\n );\n }\n\n private getGapValue() {\n // DEPRECATED remove in 4.0\n const { gap: propsGap } = this.props;\n if (isNonNullable(propsGap)) {\n return propsGap;\n }\n\n return 8;\n }\n\n private renderVertical() {\n const subsequentItemStyle: React.CSSProperties = {\n paddingTop: this.getGapValue(),\n };\n const children = React.Children.toArray(this.props.children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const style = index === 0 ? undefined : subsequentItemStyle;\n return (\n <div style={style} key={index}>\n {child}\n </div>\n );\n });\n\n return <div data-tid={GappedDataTids.vertical}>{children}</div>;\n }\n\n private renderHorizontal() {\n const { children, verticalAlign } = this.props;\n const wrap = this.getProps().wrap;\n const gap = this.getGapValue();\n const itemStyle: React.CSSProperties = {\n display: 'inline-block',\n verticalAlign,\n ...(wrap ? { marginLeft: gap, marginTop: gap } : {}),\n };\n const rootStyle: React.CSSProperties = wrap ? { paddingTop: 1 } : {};\n const contStyle: React.CSSProperties = wrap ? { marginTop: -gap - 1, marginLeft: -gap } : { whiteSpace: 'nowrap' };\n\n return (\n <div data-tid={GappedDataTids.horizontal} style={rootStyle}>\n <div style={contStyle}>\n {React.Children.toArray(children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const marginLeft = index === 0 ? undefined : gap;\n return (\n <span key={index} style={{ marginLeft, ...itemStyle }}>\n {child}\n </span>\n );\n })}\n </div>\n </div>\n );\n }\n\n private filterChildren(child: React.ReactNode): boolean {\n return Boolean(child) || typeof child === 'number';\n }\n}\n"]}
|
|
@@ -11,23 +11,24 @@ export interface GappedProps extends CommonProps {
|
|
|
11
11
|
* Вертикальное выравнивание
|
|
12
12
|
* @default "baseline"
|
|
13
13
|
*/
|
|
14
|
-
verticalAlign
|
|
14
|
+
verticalAlign?: 'top' | 'middle' | 'baseline' | 'bottom';
|
|
15
15
|
/**
|
|
16
16
|
* Расположение элементов по вертикали
|
|
17
17
|
* @default false
|
|
18
18
|
*/
|
|
19
|
-
vertical
|
|
19
|
+
vertical?: boolean;
|
|
20
20
|
/**
|
|
21
21
|
* Перенос элементов на новую строку при горизонтальном расположении
|
|
22
22
|
* @default false
|
|
23
23
|
*/
|
|
24
|
-
wrap
|
|
24
|
+
wrap?: boolean;
|
|
25
25
|
children: React.ReactNode;
|
|
26
26
|
}
|
|
27
27
|
export declare const GappedDataTids: {
|
|
28
28
|
readonly vertical: "Gapped__vertical";
|
|
29
29
|
readonly horizontal: "Gapped__horizontal";
|
|
30
30
|
};
|
|
31
|
+
declare type DefaultProps = Required<Pick<GappedProps, 'wrap' | 'vertical' | 'verticalAlign'>>;
|
|
31
32
|
/**
|
|
32
33
|
* Контейнер, расстояние между элементами в котором равно `gap`.
|
|
33
34
|
*/
|
|
@@ -48,14 +49,12 @@ export declare class Gapped extends React.Component<GappedProps> {
|
|
|
48
49
|
verticalAlign: PropTypes.Requireable<string>;
|
|
49
50
|
};
|
|
50
51
|
private setRootNode;
|
|
51
|
-
static defaultProps:
|
|
52
|
-
|
|
53
|
-
vertical: boolean;
|
|
54
|
-
verticalAlign: string;
|
|
55
|
-
};
|
|
52
|
+
static defaultProps: DefaultProps;
|
|
53
|
+
private getProps;
|
|
56
54
|
render(): JSX.Element;
|
|
57
55
|
private getGapValue;
|
|
58
56
|
private renderVertical;
|
|
59
57
|
private renderHorizontal;
|
|
60
58
|
private filterChildren;
|
|
61
59
|
}
|
|
60
|
+
export {};
|
|
@@ -9,6 +9,7 @@ import debounce from 'lodash.debounce';
|
|
|
9
9
|
import { isTestEnv } from "../../../lib/currentEnvironment";
|
|
10
10
|
import { CommonWrapper } from "../../../internal/CommonWrapper";
|
|
11
11
|
import { rootNode } from "../../../lib/rootNode";
|
|
12
|
+
import { createPropsGetter } from "../../../lib/createPropsGetter";
|
|
12
13
|
import { GlobalLoaderView } from "../GlobalLoaderView";
|
|
13
14
|
export var GlobalLoaderDataTids = {
|
|
14
15
|
root: 'GlobalLoader'
|
|
@@ -23,13 +24,14 @@ export var GlobalLoader = rootNode(_class = (_temp = _class2 = /*#__PURE__*/func
|
|
|
23
24
|
var _this;
|
|
24
25
|
|
|
25
26
|
_this = _React$Component.call(this, props) || this;
|
|
27
|
+
_this.getProps = createPropsGetter(GlobalLoader.defaultProps);
|
|
26
28
|
_this.startTask = debounce(function () {
|
|
27
29
|
_this.setState({
|
|
28
30
|
visible: true
|
|
29
31
|
});
|
|
30
32
|
|
|
31
33
|
_this.props.onStart == null ? void 0 : _this.props.onStart();
|
|
32
|
-
}, _this.
|
|
34
|
+
}, _this.getProps().delayBeforeShow);
|
|
33
35
|
_this.stopTask = debounce(function () {
|
|
34
36
|
_this.setState({
|
|
35
37
|
visible: false,
|
|
@@ -38,15 +40,19 @@ export var GlobalLoader = rootNode(_class = (_temp = _class2 = /*#__PURE__*/func
|
|
|
38
40
|
});
|
|
39
41
|
|
|
40
42
|
_this.props.onDone == null ? void 0 : _this.props.onDone();
|
|
41
|
-
}, _this.
|
|
43
|
+
}, _this.getProps().delayBeforeHide);
|
|
42
44
|
|
|
43
45
|
_this.setActive = function () {
|
|
46
|
+
var _this$getProps = _this.getProps(),
|
|
47
|
+
delayBeforeHide = _this$getProps.delayBeforeHide,
|
|
48
|
+
rejected = _this$getProps.rejected;
|
|
49
|
+
|
|
44
50
|
_this.startTask.cancel();
|
|
45
51
|
|
|
46
52
|
if (_this.state.successAnimationInProgress) {
|
|
47
53
|
_this.successAnimationInProgressTimeout = setTimeout(function () {
|
|
48
54
|
_this.setActive();
|
|
49
|
-
},
|
|
55
|
+
}, delayBeforeHide);
|
|
50
56
|
} else {
|
|
51
57
|
_this.setState({
|
|
52
58
|
visible: false,
|
|
@@ -56,7 +62,7 @@ export var GlobalLoader = rootNode(_class = (_temp = _class2 = /*#__PURE__*/func
|
|
|
56
62
|
started: true
|
|
57
63
|
});
|
|
58
64
|
|
|
59
|
-
if (
|
|
65
|
+
if (rejected) {
|
|
60
66
|
_this.setReject(true);
|
|
61
67
|
} else {
|
|
62
68
|
_this.stopTask.cancel();
|
|
@@ -78,7 +84,7 @@ export var GlobalLoader = rootNode(_class = (_temp = _class2 = /*#__PURE__*/func
|
|
|
78
84
|
};
|
|
79
85
|
|
|
80
86
|
_this.setReject = function (reject) {
|
|
81
|
-
if (!_this.state.visible && (_this.state.started || _this.
|
|
87
|
+
if (!_this.state.visible && (_this.state.started || _this.getProps().active)) {
|
|
82
88
|
_this.setState({
|
|
83
89
|
visible: true
|
|
84
90
|
});
|
|
@@ -121,7 +127,7 @@ export var GlobalLoader = rootNode(_class = (_temp = _class2 = /*#__PURE__*/func
|
|
|
121
127
|
accept: false,
|
|
122
128
|
dead: false,
|
|
123
129
|
successAnimationInProgress: false,
|
|
124
|
-
expectedResponseTime: _this.
|
|
130
|
+
expectedResponseTime: _this.getProps().expectedResponseTime
|
|
125
131
|
};
|
|
126
132
|
_this.successAnimationInProgressTimeout = null;
|
|
127
133
|
(_currentGlobalLoader = currentGlobalLoader) == null ? void 0 : _currentGlobalLoader.kill();
|
|
@@ -132,28 +138,37 @@ export var GlobalLoader = rootNode(_class = (_temp = _class2 = /*#__PURE__*/func
|
|
|
132
138
|
var _proto = GlobalLoader.prototype;
|
|
133
139
|
|
|
134
140
|
_proto.componentDidMount = function componentDidMount() {
|
|
135
|
-
|
|
141
|
+
var _this$getProps2 = this.getProps(),
|
|
142
|
+
active = _this$getProps2.active,
|
|
143
|
+
rejected = _this$getProps2.rejected;
|
|
144
|
+
|
|
145
|
+
if (active) {
|
|
136
146
|
this.setActive();
|
|
137
147
|
}
|
|
138
148
|
|
|
139
|
-
if (
|
|
149
|
+
if (rejected) {
|
|
140
150
|
this.setReject(true);
|
|
141
151
|
}
|
|
142
152
|
};
|
|
143
153
|
|
|
144
154
|
_proto.componentDidUpdate = function componentDidUpdate(prevProps) {
|
|
145
|
-
|
|
155
|
+
var _this$getProps3 = this.getProps(),
|
|
156
|
+
expectedResponseTime = _this$getProps3.expectedResponseTime,
|
|
157
|
+
rejected = _this$getProps3.rejected,
|
|
158
|
+
active = _this$getProps3.active;
|
|
159
|
+
|
|
160
|
+
if (expectedResponseTime !== prevProps.expectedResponseTime) {
|
|
146
161
|
this.setState({
|
|
147
|
-
expectedResponseTime:
|
|
162
|
+
expectedResponseTime: expectedResponseTime
|
|
148
163
|
});
|
|
149
164
|
}
|
|
150
165
|
|
|
151
|
-
if (
|
|
152
|
-
this.setReject(!!
|
|
166
|
+
if (rejected !== prevProps.rejected) {
|
|
167
|
+
this.setReject(!!rejected);
|
|
153
168
|
}
|
|
154
169
|
|
|
155
|
-
if (
|
|
156
|
-
if (
|
|
170
|
+
if (active !== prevProps.active) {
|
|
171
|
+
if (active) {
|
|
157
172
|
this.setActive();
|
|
158
173
|
} else {
|
|
159
174
|
this.setDone();
|
|
@@ -176,14 +191,18 @@ export var GlobalLoader = rootNode(_class = (_temp = _class2 = /*#__PURE__*/func
|
|
|
176
191
|
status = 'accept';
|
|
177
192
|
}
|
|
178
193
|
|
|
194
|
+
var _this$getProps4 = this.getProps(),
|
|
195
|
+
delayBeforeHide = _this$getProps4.delayBeforeHide,
|
|
196
|
+
disableAnimations = _this$getProps4.disableAnimations;
|
|
197
|
+
|
|
179
198
|
return !this.state.dead && this.state.visible && /*#__PURE__*/React.createElement(CommonWrapper, _extends({
|
|
180
199
|
rootNodeRef: this.setRootNode
|
|
181
200
|
}, this.props), /*#__PURE__*/React.createElement(GlobalLoaderView, {
|
|
182
201
|
expectedResponseTime: this.state.expectedResponseTime,
|
|
183
|
-
delayBeforeHide:
|
|
202
|
+
delayBeforeHide: delayBeforeHide,
|
|
184
203
|
status: status,
|
|
185
204
|
"data-tid": GlobalLoaderDataTids.root,
|
|
186
|
-
disableAnimations:
|
|
205
|
+
disableAnimations: disableAnimations
|
|
187
206
|
}));
|
|
188
207
|
}
|
|
189
208
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["GlobalLoader.tsx"],"names":["React","debounce","isTestEnv","CommonWrapper","rootNode","GlobalLoaderView","GlobalLoaderDataTids","root","currentGlobalLoader","GlobalLoader","props","startTask","setState","visible","onStart","delayBeforeShow","stopTask","successAnimationInProgress","started","onDone","delayBeforeHide","setActive","cancel","state","successAnimationInProgressTimeout","setTimeout","done","rejected","accept","setReject","setDone","reject","active","onReject","onAccept","kill","dead","expectedResponseTime","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","clearTimeout","render","status","setRootNode","disableAnimations","updateExpectedResponseTime","Component","defaultProps","start"],"mappings":"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","sourcesContent":["import React from 'react';\nimport debounce from 'lodash.debounce';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { GlobalLoaderView, GlobalLoaderViewProps } from './GlobalLoaderView';\n\nexport interface GlobalLoaderProps extends Partial<DefaultProps> {\n /**\n * Время(ms) до появления лоадера\n */\n delayBeforeShow?: number;\n /**\n * Время(ms) до исчезновения лоадера\n */\n delayBeforeHide?: number;\n /**\n * Ожидаемое время(ms) ответа сервера\n */\n expectedResponseTime: number;\n /**\n * Анимация лоадера в виде спиннера\n */\n rejected?: boolean;\n /**\n * Показывать лоадер\n */\n active?: boolean;\n /**\n * Не показывать анимацию\n */\n disableAnimations: boolean;\n /**\n * Коллбек, вызывающийся после появления лоадера\n */\n onStart?(): void;\n /**\n * Коллбек, вызывающийся после исчезновения лоадера\n */\n onDone?(): void;\n /**\n * Коллбек, вызывающийся после вызова `GlobalLoader.reject()`.\n * Или после установки пропа `rejected = true`\n */\n onReject?(): void;\n /**\n * Коллбек, вызывающийся после вызова `GlobalLoader.accept()`.\n * Или после установки пропа `rejected = false`\n */\n onAccept?(): void;\n}\nexport interface GlobalLoaderState {\n visible: boolean;\n done: boolean;\n rejected: boolean;\n accept: boolean;\n dead: boolean;\n successAnimationInProgress: boolean;\n expectedResponseTime: number;\n started: boolean;\n}\ninterface DefaultProps {\n expectedResponseTime: number;\n delayBeforeShow: number;\n delayBeforeHide: number;\n rejected: boolean;\n active: boolean;\n disableAnimations: boolean;\n}\nexport type GlobalLoaderComponentProps = GlobalLoaderProps & DefaultProps;\n\nexport const GlobalLoaderDataTids = {\n root: 'GlobalLoader',\n} as const;\n\nlet currentGlobalLoader: GlobalLoader;\n\n@rootNode\nexport class GlobalLoader extends React.Component<GlobalLoaderComponentProps, GlobalLoaderState> {\n private successAnimationInProgressTimeout: Nullable<NodeJS.Timeout>;\n private setRootNode!: TSetRootNode;\n\n private readonly startTask = debounce(() => {\n this.setState({ visible: true });\n this.props.onStart?.();\n }, this.props.delayBeforeShow);\n\n private readonly stopTask = debounce(() => {\n this.setState({ visible: false, successAnimationInProgress: false, started: false });\n this.props.onDone?.();\n }, this.props.delayBeforeHide);\n\n public static defaultProps: DefaultProps = {\n expectedResponseTime: 1000,\n delayBeforeShow: 1000,\n delayBeforeHide: 1000,\n rejected: false,\n active: false,\n disableAnimations: isTestEnv,\n };\n\n constructor(props: GlobalLoaderComponentProps) {\n super(props);\n this.state = {\n started: false,\n visible: false,\n done: false,\n rejected: false,\n accept: false,\n dead: false,\n successAnimationInProgress: false,\n expectedResponseTime: this.props.expectedResponseTime,\n };\n this.successAnimationInProgressTimeout = null;\n currentGlobalLoader?.kill();\n currentGlobalLoader = this;\n }\n componentDidMount() {\n if (this.props.active) {\n this.setActive();\n }\n if (this.props.rejected) {\n this.setReject(true);\n }\n }\n\n componentDidUpdate(prevProps: Readonly<GlobalLoaderProps>) {\n if (this.props.expectedResponseTime !== prevProps.expectedResponseTime) {\n this.setState({ expectedResponseTime: this.props.expectedResponseTime });\n }\n if (this.props.rejected !== prevProps.rejected) {\n this.setReject(!!this.props.rejected);\n }\n if (this.props.active !== prevProps.active) {\n if (this.props.active) {\n this.setActive();\n } else {\n this.setDone();\n }\n }\n }\n\n componentWillUnmount() {\n this.successAnimationInProgressTimeout && clearTimeout(this.successAnimationInProgressTimeout);\n }\n\n public render() {\n let status: GlobalLoaderViewProps['status'] = 'standard';\n if (this.state.done) {\n status = 'success';\n } else if (this.state.rejected) {\n status = 'error';\n } else if (this.state.accept) {\n status = 'accept';\n }\n return (\n !this.state.dead &&\n this.state.visible && (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <GlobalLoaderView\n expectedResponseTime={this.state.expectedResponseTime}\n delayBeforeHide={this.props.delayBeforeHide}\n status={status}\n data-tid={GlobalLoaderDataTids.root}\n disableAnimations={this.props.disableAnimations}\n />\n </CommonWrapper>\n )\n );\n }\n\n /**\n * Запускает анимацию лоадера <br />\n * Равносильно установке пропа `active = true`\n *\n * @public\n */\n public static start = (expectedResponseTime?: number) => {\n currentGlobalLoader.setActive();\n if (typeof expectedResponseTime === 'number') {\n currentGlobalLoader.updateExpectedResponseTime(expectedResponseTime);\n }\n };\n\n /**\n * Показывает анимацию успешного завершения загрузки <br />\n * Равносильно установке пропа `active = false`\n *\n * @public\n */\n public static done = () => {\n currentGlobalLoader.setDone();\n };\n\n /**\n * Переключает анимацию лоадера в состояние спиннера <br />\n * Равносильно установке пропа `rejected = true`\n *\n * @public\n */\n public static reject = () => {\n currentGlobalLoader.setReject(true);\n };\n\n /**\n * Возвращает лоадер из состояния спиннера в обычное и продолжает анимацию с того места, на котором она была прерван <br />\n * Равносильно установке пропа `rejected = false`\n *\n * @public\n */\n public static accept = () => {\n currentGlobalLoader.setReject(false);\n };\n\n public setActive = () => {\n this.startTask.cancel();\n if (this.state.successAnimationInProgress) {\n this.successAnimationInProgressTimeout = setTimeout(() => {\n this.setActive();\n }, this.props.delayBeforeHide);\n } else {\n this.setState({ visible: false, done: false, rejected: false, accept: false, started: true });\n if (this.props.rejected) {\n this.setReject(true);\n } else {\n this.stopTask.cancel();\n this.startTask();\n }\n }\n };\n\n public setDone = () => {\n this.setState({ done: true, successAnimationInProgress: true });\n this.startTask.cancel();\n this.stopTask();\n };\n\n public setReject = (reject: boolean) => {\n if (!this.state.visible && (this.state.started || this.props.active)) {\n this.setState({ visible: true });\n }\n this.startTask.cancel();\n this.stopTask.cancel();\n if (reject) {\n this.props.onReject?.();\n } else if (this.state.rejected) {\n this.setState({ accept: true });\n this.props.onAccept?.();\n }\n this.setState({ rejected: reject });\n };\n\n public updateExpectedResponseTime(expectedResponseTime: number) {\n this.setState({ expectedResponseTime });\n }\n\n public kill = () => {\n this.stopTask.cancel();\n this.startTask.cancel();\n this.setState({\n dead: true,\n });\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["GlobalLoader.tsx"],"names":["React","debounce","isTestEnv","CommonWrapper","rootNode","createPropsGetter","GlobalLoaderView","GlobalLoaderDataTids","root","currentGlobalLoader","GlobalLoader","props","getProps","defaultProps","startTask","setState","visible","onStart","delayBeforeShow","stopTask","successAnimationInProgress","started","onDone","delayBeforeHide","setActive","rejected","cancel","state","successAnimationInProgressTimeout","setTimeout","done","accept","setReject","setDone","reject","active","onReject","onAccept","kill","dead","expectedResponseTime","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","clearTimeout","render","status","disableAnimations","setRootNode","updateExpectedResponseTime","Component","start"],"mappings":"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","sourcesContent":["import React from 'react';\nimport debounce from 'lodash.debounce';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { GlobalLoaderView, GlobalLoaderViewProps } from './GlobalLoaderView';\n\nexport interface GlobalLoaderProps {\n /**\n * Время(ms) до появления лоадера\n */\n delayBeforeShow?: number;\n /**\n * Время(ms) до исчезновения лоадера\n */\n delayBeforeHide?: number;\n /**\n * Ожидаемое время(ms) ответа сервера\n */\n expectedResponseTime?: number;\n /**\n * Анимация лоадера в виде спиннера\n */\n rejected?: boolean;\n /**\n * Показывать лоадер\n */\n active?: boolean;\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n /**\n * Коллбек, вызывающийся после появления лоадера\n */\n onStart?(): void;\n /**\n * Коллбек, вызывающийся после исчезновения лоадера\n */\n onDone?(): void;\n /**\n * Коллбек, вызывающийся после вызова `GlobalLoader.reject()`.\n * Или после установки пропа `rejected = true`\n */\n onReject?(): void;\n /**\n * Коллбек, вызывающийся после вызова `GlobalLoader.accept()`.\n * Или после установки пропа `rejected = false`\n */\n onAccept?(): void;\n}\nexport interface GlobalLoaderState {\n visible: boolean;\n done: boolean;\n rejected: boolean;\n accept: boolean;\n dead: boolean;\n successAnimationInProgress: boolean;\n expectedResponseTime: number;\n started: boolean;\n}\n\nexport const GlobalLoaderDataTids = {\n root: 'GlobalLoader',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n GlobalLoaderProps,\n 'expectedResponseTime' | 'delayBeforeShow' | 'delayBeforeHide' | 'rejected' | 'active' | 'disableAnimations'\n >\n>;\n\nlet currentGlobalLoader: GlobalLoader;\n\n@rootNode\nexport class GlobalLoader extends React.Component<GlobalLoaderProps, GlobalLoaderState> {\n private successAnimationInProgressTimeout: Nullable<NodeJS.Timeout>;\n private setRootNode!: TSetRootNode;\n private getProps = createPropsGetter(GlobalLoader.defaultProps);\n\n private readonly startTask = debounce(() => {\n this.setState({ visible: true });\n this.props.onStart?.();\n }, this.getProps().delayBeforeShow);\n\n private readonly stopTask = debounce(() => {\n this.setState({ visible: false, successAnimationInProgress: false, started: false });\n this.props.onDone?.();\n }, this.getProps().delayBeforeHide);\n\n public static defaultProps: DefaultProps = {\n expectedResponseTime: 1000,\n delayBeforeShow: 1000,\n delayBeforeHide: 1000,\n rejected: false,\n active: false,\n disableAnimations: isTestEnv,\n };\n\n constructor(props: GlobalLoaderProps) {\n super(props);\n this.state = {\n started: false,\n visible: false,\n done: false,\n rejected: false,\n accept: false,\n dead: false,\n successAnimationInProgress: false,\n expectedResponseTime: this.getProps().expectedResponseTime,\n };\n this.successAnimationInProgressTimeout = null;\n currentGlobalLoader?.kill();\n currentGlobalLoader = this;\n }\n componentDidMount() {\n const { active, rejected } = this.getProps();\n if (active) {\n this.setActive();\n }\n if (rejected) {\n this.setReject(true);\n }\n }\n\n componentDidUpdate(prevProps: Readonly<GlobalLoaderProps>) {\n const { expectedResponseTime, rejected, active } = this.getProps();\n if (expectedResponseTime !== prevProps.expectedResponseTime) {\n this.setState({ expectedResponseTime });\n }\n if (rejected !== prevProps.rejected) {\n this.setReject(!!rejected);\n }\n if (active !== prevProps.active) {\n if (active) {\n this.setActive();\n } else {\n this.setDone();\n }\n }\n }\n\n componentWillUnmount() {\n this.successAnimationInProgressTimeout && clearTimeout(this.successAnimationInProgressTimeout);\n }\n\n public render() {\n let status: GlobalLoaderViewProps['status'] = 'standard';\n if (this.state.done) {\n status = 'success';\n } else if (this.state.rejected) {\n status = 'error';\n } else if (this.state.accept) {\n status = 'accept';\n }\n const { delayBeforeHide, disableAnimations } = this.getProps();\n return (\n !this.state.dead &&\n this.state.visible && (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <GlobalLoaderView\n expectedResponseTime={this.state.expectedResponseTime}\n delayBeforeHide={delayBeforeHide}\n status={status}\n data-tid={GlobalLoaderDataTids.root}\n disableAnimations={disableAnimations}\n />\n </CommonWrapper>\n )\n );\n }\n\n /**\n * Запускает анимацию лоадера <br />\n * Равносильно установке пропа `active = true`\n *\n * @public\n */\n public static start = (expectedResponseTime?: number) => {\n currentGlobalLoader.setActive();\n if (typeof expectedResponseTime === 'number') {\n currentGlobalLoader.updateExpectedResponseTime(expectedResponseTime);\n }\n };\n\n /**\n * Показывает анимацию успешного завершения загрузки <br />\n * Равносильно установке пропа `active = false`\n *\n * @public\n */\n public static done = () => {\n currentGlobalLoader.setDone();\n };\n\n /**\n * Переключает анимацию лоадера в состояние спиннера <br />\n * Равносильно установке пропа `rejected = true`\n *\n * @public\n */\n public static reject = () => {\n currentGlobalLoader.setReject(true);\n };\n\n /**\n * Возвращает лоадер из состояния спиннера в обычное и продолжает анимацию с того места, на котором она была прерван <br />\n * Равносильно установке пропа `rejected = false`\n *\n * @public\n */\n public static accept = () => {\n currentGlobalLoader.setReject(false);\n };\n\n public setActive = () => {\n const { delayBeforeHide, rejected } = this.getProps();\n this.startTask.cancel();\n if (this.state.successAnimationInProgress) {\n this.successAnimationInProgressTimeout = setTimeout(() => {\n this.setActive();\n }, delayBeforeHide);\n } else {\n this.setState({ visible: false, done: false, rejected: false, accept: false, started: true });\n if (rejected) {\n this.setReject(true);\n } else {\n this.stopTask.cancel();\n this.startTask();\n }\n }\n };\n\n public setDone = () => {\n this.setState({ done: true, successAnimationInProgress: true });\n this.startTask.cancel();\n this.stopTask();\n };\n\n public setReject = (reject: boolean) => {\n if (!this.state.visible && (this.state.started || this.getProps().active)) {\n this.setState({ visible: true });\n }\n this.startTask.cancel();\n this.stopTask.cancel();\n if (reject) {\n this.props.onReject?.();\n } else if (this.state.rejected) {\n this.setState({ accept: true });\n this.props.onAccept?.();\n }\n this.setState({ rejected: reject });\n };\n\n public updateExpectedResponseTime(expectedResponseTime: number) {\n this.setState({ expectedResponseTime });\n }\n\n public kill = () => {\n this.stopTask.cancel();\n this.startTask.cancel();\n this.setState({\n dead: true,\n });\n };\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export interface GlobalLoaderProps
|
|
2
|
+
export interface GlobalLoaderProps {
|
|
3
3
|
/**
|
|
4
4
|
* Время(ms) до появления лоадера
|
|
5
5
|
*/
|
|
@@ -11,7 +11,7 @@ export interface GlobalLoaderProps extends Partial<DefaultProps> {
|
|
|
11
11
|
/**
|
|
12
12
|
* Ожидаемое время(ms) ответа сервера
|
|
13
13
|
*/
|
|
14
|
-
expectedResponseTime
|
|
14
|
+
expectedResponseTime?: number;
|
|
15
15
|
/**
|
|
16
16
|
* Анимация лоадера в виде спиннера
|
|
17
17
|
*/
|
|
@@ -23,7 +23,7 @@ export interface GlobalLoaderProps extends Partial<DefaultProps> {
|
|
|
23
23
|
/**
|
|
24
24
|
* Не показывать анимацию
|
|
25
25
|
*/
|
|
26
|
-
disableAnimations
|
|
26
|
+
disableAnimations?: boolean;
|
|
27
27
|
/**
|
|
28
28
|
* Коллбек, вызывающийся после появления лоадера
|
|
29
29
|
*/
|
|
@@ -53,25 +53,18 @@ export interface GlobalLoaderState {
|
|
|
53
53
|
expectedResponseTime: number;
|
|
54
54
|
started: boolean;
|
|
55
55
|
}
|
|
56
|
-
interface DefaultProps {
|
|
57
|
-
expectedResponseTime: number;
|
|
58
|
-
delayBeforeShow: number;
|
|
59
|
-
delayBeforeHide: number;
|
|
60
|
-
rejected: boolean;
|
|
61
|
-
active: boolean;
|
|
62
|
-
disableAnimations: boolean;
|
|
63
|
-
}
|
|
64
|
-
export declare type GlobalLoaderComponentProps = GlobalLoaderProps & DefaultProps;
|
|
65
56
|
export declare const GlobalLoaderDataTids: {
|
|
66
57
|
readonly root: "GlobalLoader";
|
|
67
58
|
};
|
|
68
|
-
|
|
59
|
+
declare type DefaultProps = Required<Pick<GlobalLoaderProps, 'expectedResponseTime' | 'delayBeforeShow' | 'delayBeforeHide' | 'rejected' | 'active' | 'disableAnimations'>>;
|
|
60
|
+
export declare class GlobalLoader extends React.Component<GlobalLoaderProps, GlobalLoaderState> {
|
|
69
61
|
private successAnimationInProgressTimeout;
|
|
70
62
|
private setRootNode;
|
|
63
|
+
private getProps;
|
|
71
64
|
private readonly startTask;
|
|
72
65
|
private readonly stopTask;
|
|
73
66
|
static defaultProps: DefaultProps;
|
|
74
|
-
constructor(props:
|
|
67
|
+
constructor(props: GlobalLoaderProps);
|
|
75
68
|
componentDidMount(): void;
|
|
76
69
|
componentDidUpdate(prevProps: Readonly<GlobalLoaderProps>): void;
|
|
77
70
|
componentWillUnmount(): void;
|