@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 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FxInput.tsx"],"names":["FxInputDataTids","root","FxInput","rootNode","input","getProps","defaultProps","renderMain","props","type","onRestore","auto","refInput","rest","inputProps","align","button","leftIcon","size","borderless","disabled","
|
|
1
|
+
{"version":3,"sources":["FxInput.tsx"],"names":["FxInputDataTids","root","FxInput","rootNode","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","React","Component","__KONTUR_REACT_UI__","propTypes","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"]}
|
|
@@ -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 {};
|
|
@@ -3,7 +3,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
3
3
|
|
|
4
4
|
var _utils = require("../../lib/utils");
|
|
5
5
|
var _CommonWrapper = require("../../internal/CommonWrapper");
|
|
6
|
-
var _rootNode = require("../../lib/rootNode");
|
|
6
|
+
var _rootNode = require("../../lib/rootNode");
|
|
7
|
+
var _createPropsGetter = require("../../lib/createPropsGetter");var _class, _class2, _temp;
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
|
|
@@ -31,14 +32,17 @@ var _rootNode = require("../../lib/rootNode");var _class, _class2, _temp;
|
|
|
31
32
|
|
|
32
33
|
var GappedDataTids = {
|
|
33
34
|
vertical: 'Gapped__vertical',
|
|
34
|
-
horizontal: 'Gapped__horizontal' };
|
|
35
|
+
horizontal: 'Gapped__horizontal' };exports.GappedDataTids = GappedDataTids;
|
|
36
|
+
|
|
37
|
+
|
|
35
38
|
|
|
36
39
|
|
|
37
40
|
/**
|
|
38
41
|
* Контейнер, расстояние между элементами в котором равно `gap`.
|
|
39
|
-
*/
|
|
42
|
+
*/var
|
|
43
|
+
|
|
44
|
+
Gapped = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Gapped, _React$Component);function Gapped() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
|
|
40
45
|
|
|
41
|
-
Gapped = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Gapped, _React$Component);function Gapped() {return _React$Component.apply(this, arguments) || this;}var _proto = Gapped.prototype;_proto.
|
|
42
46
|
|
|
43
47
|
|
|
44
48
|
|
|
@@ -65,11 +69,12 @@ Gapped = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functi
|
|
|
65
69
|
|
|
66
70
|
|
|
67
71
|
|
|
72
|
+
getProps = (0, _createPropsGetter.createPropsGetter)(Gapped.defaultProps);return _this;}var _proto = Gapped.prototype;_proto.
|
|
68
73
|
|
|
69
74
|
render = function render() {
|
|
70
75
|
return /*#__PURE__*/(
|
|
71
76
|
_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props),
|
|
72
|
-
this.
|
|
77
|
+
this.getProps().vertical ? this.renderVertical() : this.renderHorizontal()));
|
|
73
78
|
|
|
74
79
|
|
|
75
80
|
};_proto.
|
|
@@ -103,7 +108,8 @@ Gapped = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functi
|
|
|
103
108
|
};_proto.
|
|
104
109
|
|
|
105
110
|
renderHorizontal = function renderHorizontal() {
|
|
106
|
-
var _this$props = this.props,children = _this$props.children,verticalAlign = _this$props.verticalAlign
|
|
111
|
+
var _this$props = this.props,children = _this$props.children,verticalAlign = _this$props.verticalAlign;
|
|
112
|
+
var wrap = this.getProps().wrap;
|
|
107
113
|
var gap = this.getGapValue();
|
|
108
114
|
var itemStyle = (0, _extends2.default)({
|
|
109
115
|
display: 'inline-block',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Gapped.tsx"],"names":["GappedDataTids","vertical","horizontal","Gapped","rootNode","render","setRootNode","props","renderVertical","renderHorizontal","getGapValue","propsGap","gap","subsequentItemStyle","paddingTop","children","React","Children","toArray","filter","filterChildren","map","child","index","style","undefined","verticalAlign","wrap","itemStyle","display","marginLeft","marginTop","rootStyle","contStyle","whiteSpace","Boolean","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","number","bool","oneOf"
|
|
1
|
+
{"version":3,"sources":["Gapped.tsx"],"names":["GappedDataTids","vertical","horizontal","Gapped","rootNode","getProps","defaultProps","render","setRootNode","props","renderVertical","renderHorizontal","getGapValue","propsGap","gap","subsequentItemStyle","paddingTop","children","React","Children","toArray","filter","filterChildren","map","child","index","style","undefined","verticalAlign","wrap","itemStyle","display","marginLeft","marginTop","rootStyle","contStyle","whiteSpace","Boolean","Component","__KONTUR_REACT_UI__","propTypes","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"]}
|
|
@@ -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;
|
|
@@ -5,6 +5,7 @@ var _lodash = _interopRequireDefault(require("lodash.debounce"));
|
|
|
5
5
|
var _currentEnvironment = require("../../lib/currentEnvironment");
|
|
6
6
|
var _CommonWrapper = require("../../internal/CommonWrapper");
|
|
7
7
|
var _rootNode = require("../../lib/rootNode");
|
|
8
|
+
var _createPropsGetter = require("../../lib/createPropsGetter");
|
|
8
9
|
|
|
9
10
|
var _GlobalLoaderView = require("./GlobalLoaderView");var _class, _class2, _temp;
|
|
10
11
|
|
|
@@ -63,6 +64,8 @@ var _GlobalLoaderView = require("./GlobalLoaderView");var _class, _class2, _temp
|
|
|
63
64
|
|
|
64
65
|
|
|
65
66
|
|
|
67
|
+
var GlobalLoaderDataTids = {
|
|
68
|
+
root: 'GlobalLoader' };exports.GlobalLoaderDataTids = GlobalLoaderDataTids;
|
|
66
69
|
|
|
67
70
|
|
|
68
71
|
|
|
@@ -70,10 +73,6 @@ var _GlobalLoaderView = require("./GlobalLoaderView");var _class, _class2, _temp
|
|
|
70
73
|
|
|
71
74
|
|
|
72
75
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
var GlobalLoaderDataTids = {
|
|
76
|
-
root: 'GlobalLoader' };exports.GlobalLoaderDataTids = GlobalLoaderDataTids;
|
|
77
76
|
|
|
78
77
|
|
|
79
78
|
var currentGlobalLoader;var
|
|
@@ -100,10 +99,14 @@ GlobalLoader = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/
|
|
|
100
99
|
|
|
101
100
|
|
|
102
101
|
|
|
102
|
+
|
|
103
103
|
|
|
104
104
|
|
|
105
105
|
function GlobalLoader(props) {var _currentGlobalLoader;var _this;
|
|
106
|
-
_this = _React$Component.call(this, props) || this;_this.startTask = (0, _lodash.default)(function () {_this.setState({ visible: true });_this.props.onStart == null ? void 0 : _this.props.onStart();}, _this.
|
|
106
|
+
_this = _React$Component.call(this, props) || this;_this.getProps = (0, _createPropsGetter.createPropsGetter)(GlobalLoader.defaultProps);_this.startTask = (0, _lodash.default)(function () {_this.setState({ visible: true });_this.props.onStart == null ? void 0 : _this.props.onStart();}, _this.getProps().delayBeforeShow);_this.stopTask = (0, _lodash.default)(function () {_this.setState({ visible: false, successAnimationInProgress: false, started: false });_this.props.onDone == null ? void 0 : _this.props.onDone();}, _this.getProps().delayBeforeHide);_this.
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
107
110
|
|
|
108
111
|
|
|
109
112
|
|
|
@@ -216,14 +219,15 @@ GlobalLoader = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/
|
|
|
216
219
|
|
|
217
220
|
|
|
218
221
|
setActive = function () {
|
|
222
|
+
var _this$getProps = _this.getProps(),delayBeforeHide = _this$getProps.delayBeforeHide,rejected = _this$getProps.rejected;
|
|
219
223
|
_this.startTask.cancel();
|
|
220
224
|
if (_this.state.successAnimationInProgress) {
|
|
221
225
|
_this.successAnimationInProgressTimeout = setTimeout(function () {
|
|
222
226
|
_this.setActive();
|
|
223
|
-
},
|
|
227
|
+
}, delayBeforeHide);
|
|
224
228
|
} else {
|
|
225
229
|
_this.setState({ visible: false, done: false, rejected: false, accept: false, started: true });
|
|
226
|
-
if (
|
|
230
|
+
if (rejected) {
|
|
227
231
|
_this.setReject(true);
|
|
228
232
|
} else {
|
|
229
233
|
_this.stopTask.cancel();
|
|
@@ -239,7 +243,7 @@ GlobalLoader = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/
|
|
|
239
243
|
};_this.
|
|
240
244
|
|
|
241
245
|
setReject = function (reject) {
|
|
242
|
-
if (!_this.state.visible && (_this.state.started || _this.
|
|
246
|
+
if (!_this.state.visible && (_this.state.started || _this.getProps().active)) {
|
|
243
247
|
_this.setState({ visible: true });
|
|
244
248
|
}
|
|
245
249
|
_this.startTask.cancel();
|
|
@@ -263,7 +267,7 @@ GlobalLoader = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/
|
|
|
263
267
|
_this.setState({
|
|
264
268
|
dead: true });
|
|
265
269
|
|
|
266
|
-
};_this.state = { started: false, visible: false, done: false, rejected: false, accept: false, dead: false, successAnimationInProgress: false, expectedResponseTime: _this.
|
|
270
|
+
};_this.state = { started: false, visible: false, done: false, rejected: false, accept: false, dead: false, successAnimationInProgress: false, expectedResponseTime: _this.getProps().expectedResponseTime };_this.successAnimationInProgressTimeout = null;(_currentGlobalLoader = currentGlobalLoader) == null ? void 0 : _currentGlobalLoader.kill();currentGlobalLoader = (0, _assertThisInitialized2.default)(_this);return _this;}var _proto = GlobalLoader.prototype;_proto.componentDidMount = function componentDidMount() {var _this$getProps2 = this.getProps(),active = _this$getProps2.active,rejected = _this$getProps2.rejected;if (active) {this.setActive();}if (rejected) {this.setReject(true);}};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {var _this$getProps3 = this.getProps(),expectedResponseTime = _this$getProps3.expectedResponseTime,rejected = _this$getProps3.rejected,active = _this$getProps3.active;if (expectedResponseTime !== prevProps.expectedResponseTime) {this.setState({ expectedResponseTime: expectedResponseTime });}if (rejected !== prevProps.rejected) {this.setReject(!!rejected);}if (active !== prevProps.active) {if (active) {this.setActive();} else {this.setDone();}}};_proto.componentWillUnmount = function componentWillUnmount() {this.successAnimationInProgressTimeout && clearTimeout(this.successAnimationInProgressTimeout);};_proto.render = function render() {var status = 'standard';if (this.state.done) {status = 'success';} else if (this.state.rejected) {status = 'error';} else if (this.state.accept) {status = 'accept';}var _this$getProps4 = this.getProps(),delayBeforeHide = _this$getProps4.delayBeforeHide,disableAnimations = _this$getProps4.disableAnimations;return !this.state.dead && this.state.visible && /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_GlobalLoaderView.GlobalLoaderView, { expectedResponseTime: this.state.expectedResponseTime, delayBeforeHide: delayBeforeHide, status: status, "data-tid": GlobalLoaderDataTids.root, disableAnimations: disableAnimations }));} /**
|
|
267
271
|
* Запускает анимацию лоадера <br />
|
|
268
272
|
* Равносильно установке пропа `active = true`
|
|
269
273
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["GlobalLoader.tsx"],"names":["GlobalLoaderDataTids","root","currentGlobalLoader","GlobalLoader","rootNode","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","React","Component","defaultProps","isTestEnv","start"],"mappings":"udAAA;AACA;;;AAGA;AACA;AACA;;AAEA,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEO,IAAMA,oBAAoB,GAAG;AAClCC,EAAAA,IAAI,EAAE,cAD4B,EAA7B,C;;;AAIP,IAAIC,mBAAJ,C;;;AAGaC,Y,OADZC,kB;;;;;;;;;;;;;;;;;;;;;;;AAwBC,wBAAYC,KAAZ,EAA+C;AAC7C,wCAAMA,KAAN,UAD6C,MAnB9BC,SAmB8B,GAnBlB,qBAAS,YAAM,CAC1C,MAAKC,QAAL,CAAc,EAAEC,OAAO,EAAE,IAAX,EAAd,EACA,MAAKH,KAAL,CAAWI,OAAX,0BAAKJ,KAAL,CAAWI,OAAX,GACD,CAH4B,EAG1B,MAAKJ,KAAL,CAAWK,eAHe,CAmBkB,OAd9BC,QAc8B,GAdnB,qBAAS,YAAM,CACzC,MAAKJ,QAAL,CAAc,EAAEC,OAAO,EAAE,KAAX,EAAkBI,0BAA0B,EAAE,KAA9C,EAAqDC,OAAO,EAAE,KAA9D,EAAd,EACA,MAAKR,KAAL,CAAWS,MAAX,0BAAKT,KAAL,CAAWS,MAAX,GACD,CAH2B,EAGzB,MAAKT,KAAL,CAAWU,eAHc,CAcmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiHxCC,IAAAA,SAjHwC,GAiH5B,YAAM;AACvB,YAAKV,SAAL,CAAeW,MAAf;AACA,UAAI,MAAKC,KAAL,CAAWN,0BAAf,EAA2C;AACzC,cAAKO,iCAAL,GAAyCC,UAAU,CAAC,YAAM;AACxD,gBAAKJ,SAAL;AACD,SAFkD,EAEhD,MAAKX,KAAL,CAAWU,eAFqC,CAAnD;AAGD,OAJD,MAIO;AACL,cAAKR,QAAL,CAAc,EAAEC,OAAO,EAAE,KAAX,EAAkBa,IAAI,EAAE,KAAxB,EAA+BC,QAAQ,EAAE,KAAzC,EAAgDC,MAAM,EAAE,KAAxD,EAA+DV,OAAO,EAAE,IAAxE,EAAd;AACA,YAAI,MAAKR,KAAL,CAAWiB,QAAf,EAAyB;AACvB,gBAAKE,SAAL,CAAe,IAAf;AACD,SAFD,MAEO;AACL,gBAAKb,QAAL,CAAcM,MAAd;AACA,gBAAKX,SAAL;AACD;AACF;AACF,KAhI8C;;AAkIxCmB,IAAAA,OAlIwC,GAkI9B,YAAM;AACrB,YAAKlB,QAAL,CAAc,EAAEc,IAAI,EAAE,IAAR,EAAcT,0BAA0B,EAAE,IAA1C,EAAd;AACA,YAAKN,SAAL,CAAeW,MAAf;AACA,YAAKN,QAAL;AACD,KAtI8C;;AAwIxCa,IAAAA,SAxIwC,GAwI5B,UAACE,MAAD,EAAqB;AACtC,UAAI,CAAC,MAAKR,KAAL,CAAWV,OAAZ,KAAwB,MAAKU,KAAL,CAAWL,OAAX,IAAsB,MAAKR,KAAL,CAAWsB,MAAzD,CAAJ,EAAsE;AACpE,cAAKpB,QAAL,CAAc,EAAEC,OAAO,EAAE,IAAX,EAAd;AACD;AACD,YAAKF,SAAL,CAAeW,MAAf;AACA,YAAKN,QAAL,CAAcM,MAAd;AACA,UAAIS,MAAJ,EAAY;AACV,cAAKrB,KAAL,CAAWuB,QAAX,0BAAKvB,KAAL,CAAWuB,QAAX;AACD,OAFD,MAEO,IAAI,MAAKV,KAAL,CAAWI,QAAf,EAAyB;AAC9B,cAAKf,QAAL,CAAc,EAAEgB,MAAM,EAAE,IAAV,EAAd;AACA,cAAKlB,KAAL,CAAWwB,QAAX,0BAAKxB,KAAL,CAAWwB,QAAX;AACD;AACD,YAAKtB,QAAL,CAAc,EAAEe,QAAQ,EAAEI,MAAZ,EAAd;AACD,KArJ8C;;;;;;AA2JxCI,IAAAA,IA3JwC,GA2JjC,YAAM;AAClB,YAAKnB,QAAL,CAAcM,MAAd;AACA,YAAKX,SAAL,CAAeW,MAAf;AACA,YAAKV,QAAL,CAAc;AACZwB,QAAAA,IAAI,EAAE,IADM,EAAd;;AAGD,KAjK8C,CAE7C,MAAKb,KAAL,GAAa,EACXL,OAAO,EAAE,KADE,EAEXL,OAAO,EAAE,KAFE,EAGXa,IAAI,EAAE,KAHK,EAIXC,QAAQ,EAAE,KAJC,EAKXC,MAAM,EAAE,KALG,EAMXQ,IAAI,EAAE,KANK,EAOXnB,0BAA0B,EAAE,KAPjB,EAQXoB,oBAAoB,EAAE,MAAK3B,KAAL,CAAW2B,oBARtB,EAAb,CAUA,MAAKb,iCAAL,GAAyC,IAAzC,CACA,wBAAAjB,mBAAmB,SAAnB,iCAAqB4B,IAArB,GACA5B,mBAAmB,8CAAnB,CAd6C,aAe9C,C,2CACD+B,iB,GAAA,6BAAoB,CAClB,IAAI,KAAK5B,KAAL,CAAWsB,MAAf,EAAuB,CACrB,KAAKX,SAAL,GACD,CACD,IAAI,KAAKX,KAAL,CAAWiB,QAAf,EAAyB,CACvB,KAAKE,SAAL,CAAe,IAAf,EACD,CACF,C,QAEDU,kB,GAAA,4BAAmBC,SAAnB,EAA2D,CACzD,IAAI,KAAK9B,KAAL,CAAW2B,oBAAX,KAAoCG,SAAS,CAACH,oBAAlD,EAAwE,CACtE,KAAKzB,QAAL,CAAc,EAAEyB,oBAAoB,EAAE,KAAK3B,KAAL,CAAW2B,oBAAnC,EAAd,EACD,CACD,IAAI,KAAK3B,KAAL,CAAWiB,QAAX,KAAwBa,SAAS,CAACb,QAAtC,EAAgD,CAC9C,KAAKE,SAAL,CAAe,CAAC,CAAC,KAAKnB,KAAL,CAAWiB,QAA5B,EACD,CACD,IAAI,KAAKjB,KAAL,CAAWsB,MAAX,KAAsBQ,SAAS,CAACR,MAApC,EAA4C,CAC1C,IAAI,KAAKtB,KAAL,CAAWsB,MAAf,EAAuB,CACrB,KAAKX,SAAL,GACD,CAFD,MAEO,CACL,KAAKS,OAAL,GACD,CACF,CACF,C,QAEDW,oB,GAAA,gCAAuB,CACrB,KAAKjB,iCAAL,IAA0CkB,YAAY,CAAC,KAAKlB,iCAAN,CAAtD,CACD,C,QAEMmB,M,GAAP,kBAAgB,CACd,IAAIC,MAAuC,GAAG,UAA9C,CACA,IAAI,KAAKrB,KAAL,CAAWG,IAAf,EAAqB,CACnBkB,MAAM,GAAG,SAAT,CACD,CAFD,MAEO,IAAI,KAAKrB,KAAL,CAAWI,QAAf,EAAyB,CAC9BiB,MAAM,GAAG,OAAT,CACD,CAFM,MAEA,IAAI,KAAKrB,KAAL,CAAWK,MAAf,EAAuB,CAC5BgB,MAAM,GAAG,QAAT,CACD,CACD,OACE,CAAC,KAAKrB,KAAL,CAAWa,IAAZ,IACA,KAAKb,KAAL,CAAWV,OADX,iBAEE,6BAAC,4BAAD,2BAAe,WAAW,EAAE,KAAKgC,WAAjC,IAAkD,KAAKnC,KAAvD,gBACE,6BAAC,kCAAD,IACE,oBAAoB,EAAE,KAAKa,KAAL,CAAWc,oBADnC,EAEE,eAAe,EAAE,KAAK3B,KAAL,CAAWU,eAF9B,EAGE,MAAM,EAAEwB,MAHV,EAIE,YAAUvC,oBAAoB,CAACC,IAJjC,EAKE,iBAAiB,EAAE,KAAKI,KAAL,CAAWoC,iBALhC,GADF,CAHJ,CAcD,C,CAED;AACF;AACA;AACA;AACA;AACA,K,QA4ESC,0B,GAAP,oCAAkCV,oBAAlC,EAAgE,CAC9D,KAAKzB,QAAL,CAAc,EAAEyB,oBAAoB,EAApBA,oBAAF,EAAd,EACD,C,uBAhL+BW,eAAMC,S,WAcxBC,Y,GAA6B,EACzCb,oBAAoB,EAAE,IADmB,EAEzCtB,eAAe,EAAE,IAFwB,EAGzCK,eAAe,EAAE,IAHwB,EAIzCO,QAAQ,EAAE,KAJ+B,EAKzCK,MAAM,EAAE,KALiC,EAMzCc,iBAAiB,EAAEK,6BANsB,E,UAqF7BC,K,GAAQ,UAACf,oBAAD,EAAmC,CACvD9B,mBAAmB,CAACc,SAApB,GACA,IAAI,OAAOgB,oBAAP,KAAgC,QAApC,EAA8C,CAC5C9B,mBAAmB,CAACwC,0BAApB,CAA+CV,oBAA/C,EACD,CACF,C,UAQaX,I,GAAO,YAAM,CACzBnB,mBAAmB,CAACuB,OAApB,GACD,C,UAQaC,M,GAAS,YAAM,CAC3BxB,mBAAmB,CAACsB,SAApB,CAA8B,IAA9B,EACD,C,UAQaD,M,GAAS,YAAM,CAC3BrB,mBAAmB,CAACsB,SAApB,CAA8B,KAA9B,EACD,C","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":["GlobalLoaderDataTids","root","currentGlobalLoader","GlobalLoader","rootNode","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","React","Component","isTestEnv","start"],"mappings":"udAAA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDO,IAAMA,oBAAoB,GAAG;AAClCC,EAAAA,IAAI,EAAE,cAD4B,EAA7B,C;;;;;;;;;;AAWP,IAAIC,mBAAJ,C;;;AAGaC,Y,OADZC,kB;;;;;;;;;;;;;;;;;;;;;;;;AAyBC,wBAAYC,KAAZ,EAAsC;AACpC,wCAAMA,KAAN,UADoC,MArB9BC,QAqB8B,GArBnB,0CAAkBH,YAAY,CAACI,YAA/B,CAqBmB,OAnBrBC,SAmBqB,GAnBT,qBAAS,YAAM,CAC1C,MAAKC,QAAL,CAAc,EAAEC,OAAO,EAAE,IAAX,EAAd,EACA,MAAKL,KAAL,CAAWM,OAAX,0BAAKN,KAAL,CAAWM,OAAX,GACD,CAH4B,EAG1B,MAAKL,QAAL,GAAgBM,eAHU,CAmBS,OAdrBC,QAcqB,GAdV,qBAAS,YAAM,CACzC,MAAKJ,QAAL,CAAc,EAAEC,OAAO,EAAE,KAAX,EAAkBI,0BAA0B,EAAE,KAA9C,EAAqDC,OAAO,EAAE,KAA9D,EAAd,EACA,MAAKV,KAAL,CAAWW,MAAX,0BAAKX,KAAL,CAAWW,MAAX,GACD,CAH2B,EAGzB,MAAKV,QAAL,GAAgBW,eAHS,CAcU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoH/BC,IAAAA,SApH+B,GAoHnB,YAAM;AACvB,2BAAsC,MAAKZ,QAAL,EAAtC,CAAQW,eAAR,kBAAQA,eAAR,CAAyBE,QAAzB,kBAAyBA,QAAzB;AACA,YAAKX,SAAL,CAAeY,MAAf;AACA,UAAI,MAAKC,KAAL,CAAWP,0BAAf,EAA2C;AACzC,cAAKQ,iCAAL,GAAyCC,UAAU,CAAC,YAAM;AACxD,gBAAKL,SAAL;AACD,SAFkD,EAEhDD,eAFgD,CAAnD;AAGD,OAJD,MAIO;AACL,cAAKR,QAAL,CAAc,EAAEC,OAAO,EAAE,KAAX,EAAkBc,IAAI,EAAE,KAAxB,EAA+BL,QAAQ,EAAE,KAAzC,EAAgDM,MAAM,EAAE,KAAxD,EAA+DV,OAAO,EAAE,IAAxE,EAAd;AACA,YAAII,QAAJ,EAAc;AACZ,gBAAKO,SAAL,CAAe,IAAf;AACD,SAFD,MAEO;AACL,gBAAKb,QAAL,CAAcO,MAAd;AACA,gBAAKZ,SAAL;AACD;AACF;AACF,KApIqC;;AAsI/BmB,IAAAA,OAtI+B,GAsIrB,YAAM;AACrB,YAAKlB,QAAL,CAAc,EAAEe,IAAI,EAAE,IAAR,EAAcV,0BAA0B,EAAE,IAA1C,EAAd;AACA,YAAKN,SAAL,CAAeY,MAAf;AACA,YAAKP,QAAL;AACD,KA1IqC;;AA4I/Ba,IAAAA,SA5I+B,GA4InB,UAACE,MAAD,EAAqB;AACtC,UAAI,CAAC,MAAKP,KAAL,CAAWX,OAAZ,KAAwB,MAAKW,KAAL,CAAWN,OAAX,IAAsB,MAAKT,QAAL,GAAgBuB,MAA9D,CAAJ,EAA2E;AACzE,cAAKpB,QAAL,CAAc,EAAEC,OAAO,EAAE,IAAX,EAAd;AACD;AACD,YAAKF,SAAL,CAAeY,MAAf;AACA,YAAKP,QAAL,CAAcO,MAAd;AACA,UAAIQ,MAAJ,EAAY;AACV,cAAKvB,KAAL,CAAWyB,QAAX,0BAAKzB,KAAL,CAAWyB,QAAX;AACD,OAFD,MAEO,IAAI,MAAKT,KAAL,CAAWF,QAAf,EAAyB;AAC9B,cAAKV,QAAL,CAAc,EAAEgB,MAAM,EAAE,IAAV,EAAd;AACA,cAAKpB,KAAL,CAAW0B,QAAX,0BAAK1B,KAAL,CAAW0B,QAAX;AACD;AACD,YAAKtB,QAAL,CAAc,EAAEU,QAAQ,EAAES,MAAZ,EAAd;AACD,KAzJqC;;;;;;AA+J/BI,IAAAA,IA/J+B,GA+JxB,YAAM;AAClB,YAAKnB,QAAL,CAAcO,MAAd;AACA,YAAKZ,SAAL,CAAeY,MAAf;AACA,YAAKX,QAAL,CAAc;AACZwB,QAAAA,IAAI,EAAE,IADM,EAAd;;AAGD,KArKqC,CAEpC,MAAKZ,KAAL,GAAa,EACXN,OAAO,EAAE,KADE,EAEXL,OAAO,EAAE,KAFE,EAGXc,IAAI,EAAE,KAHK,EAIXL,QAAQ,EAAE,KAJC,EAKXM,MAAM,EAAE,KALG,EAMXQ,IAAI,EAAE,KANK,EAOXnB,0BAA0B,EAAE,KAPjB,EAQXoB,oBAAoB,EAAE,MAAK5B,QAAL,GAAgB4B,oBAR3B,EAAb,CAUA,MAAKZ,iCAAL,GAAyC,IAAzC,CACA,wBAAApB,mBAAmB,SAAnB,iCAAqB8B,IAArB,GACA9B,mBAAmB,8CAAnB,CAdoC,aAerC,C,2CACDiC,iB,GAAA,6BAAoB,CAClB,sBAA6B,KAAK7B,QAAL,EAA7B,CAAQuB,MAAR,mBAAQA,MAAR,CAAgBV,QAAhB,mBAAgBA,QAAhB,CACA,IAAIU,MAAJ,EAAY,CACV,KAAKX,SAAL,GACD,CACD,IAAIC,QAAJ,EAAc,CACZ,KAAKO,SAAL,CAAe,IAAf,EACD,CACF,C,QAEDU,kB,GAAA,4BAAmBC,SAAnB,EAA2D,CACzD,sBAAmD,KAAK/B,QAAL,EAAnD,CAAQ4B,oBAAR,mBAAQA,oBAAR,CAA8Bf,QAA9B,mBAA8BA,QAA9B,CAAwCU,MAAxC,mBAAwCA,MAAxC,CACA,IAAIK,oBAAoB,KAAKG,SAAS,CAACH,oBAAvC,EAA6D,CAC3D,KAAKzB,QAAL,CAAc,EAAEyB,oBAAoB,EAApBA,oBAAF,EAAd,EACD,CACD,IAAIf,QAAQ,KAAKkB,SAAS,CAAClB,QAA3B,EAAqC,CACnC,KAAKO,SAAL,CAAe,CAAC,CAACP,QAAjB,EACD,CACD,IAAIU,MAAM,KAAKQ,SAAS,CAACR,MAAzB,EAAiC,CAC/B,IAAIA,MAAJ,EAAY,CACV,KAAKX,SAAL,GACD,CAFD,MAEO,CACL,KAAKS,OAAL,GACD,CACF,CACF,C,QAEDW,oB,GAAA,gCAAuB,CACrB,KAAKhB,iCAAL,IAA0CiB,YAAY,CAAC,KAAKjB,iCAAN,CAAtD,CACD,C,QAEMkB,M,GAAP,kBAAgB,CACd,IAAIC,MAAuC,GAAG,UAA9C,CACA,IAAI,KAAKpB,KAAL,CAAWG,IAAf,EAAqB,CACnBiB,MAAM,GAAG,SAAT,CACD,CAFD,MAEO,IAAI,KAAKpB,KAAL,CAAWF,QAAf,EAAyB,CAC9BsB,MAAM,GAAG,OAAT,CACD,CAFM,MAEA,IAAI,KAAKpB,KAAL,CAAWI,MAAf,EAAuB,CAC5BgB,MAAM,GAAG,QAAT,CACD,CACD,sBAA+C,KAAKnC,QAAL,EAA/C,CAAQW,eAAR,mBAAQA,eAAR,CAAyByB,iBAAzB,mBAAyBA,iBAAzB,CACA,OACE,CAAC,KAAKrB,KAAL,CAAWY,IAAZ,IACA,KAAKZ,KAAL,CAAWX,OADX,iBAEE,6BAAC,4BAAD,2BAAe,WAAW,EAAE,KAAKiC,WAAjC,IAAkD,KAAKtC,KAAvD,gBACE,6BAAC,kCAAD,IACE,oBAAoB,EAAE,KAAKgB,KAAL,CAAWa,oBADnC,EAEE,eAAe,EAAEjB,eAFnB,EAGE,MAAM,EAAEwB,MAHV,EAIE,YAAUzC,oBAAoB,CAACC,IAJjC,EAKE,iBAAiB,EAAEyC,iBALrB,GADF,CAHJ,CAcD,C,CAED;AACF;AACA;AACA;AACA;AACA,K,QA6ESE,0B,GAAP,oCAAkCV,oBAAlC,EAAgE,CAC9D,KAAKzB,QAAL,CAAc,EAAEyB,oBAAoB,EAApBA,oBAAF,EAAd,EACD,C,uBArL+BW,eAAMC,S,WAexBvC,Y,GAA6B,EACzC2B,oBAAoB,EAAE,IADmB,EAEzCtB,eAAe,EAAE,IAFwB,EAGzCK,eAAe,EAAE,IAHwB,EAIzCE,QAAQ,EAAE,KAJ+B,EAKzCU,MAAM,EAAE,KALiC,EAMzCa,iBAAiB,EAAEK,6BANsB,E,UAwF7BC,K,GAAQ,UAACd,oBAAD,EAAmC,CACvDhC,mBAAmB,CAACgB,SAApB,GACA,IAAI,OAAOgB,oBAAP,KAAgC,QAApC,EAA8C,CAC5ChC,mBAAmB,CAAC0C,0BAApB,CAA+CV,oBAA/C,EACD,CACF,C,UAQaV,I,GAAO,YAAM,CACzBtB,mBAAmB,CAACyB,OAApB,GACD,C,UAQaC,M,GAAS,YAAM,CAC3B1B,mBAAmB,CAACwB,SAApB,CAA8B,IAA9B,EACD,C,UAQaD,M,GAAS,YAAM,CAC3BvB,mBAAmB,CAACwB,SAApB,CAA8B,KAA9B,EACD,C","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"]}
|
|
@@ -35,7 +35,7 @@ export interface HintProps extends CommonProps {
|
|
|
35
35
|
*
|
|
36
36
|
* **Допустимые значения**: `"top"`, `"right"`, `"bottom"`, `"left"`, `"top left"`, `"top center"`, `"top right"`, `"right top"`, `"right middle"`, `"right bottom"`, `"bottom left"`, `"bottom center"`, `"bottom right"`, `"left top"`, `"left middle"`, `"left bottom"`.
|
|
37
37
|
*/
|
|
38
|
-
pos
|
|
38
|
+
pos?: 'top' | 'right' | 'bottom' | 'left' | PopupPositionsType;
|
|
39
39
|
/**
|
|
40
40
|
* Текст подсказки.
|
|
41
41
|
*/
|
|
@@ -43,31 +43,26 @@ export interface HintProps extends CommonProps {
|
|
|
43
43
|
/**
|
|
44
44
|
* Отключает анимацию.
|
|
45
45
|
*/
|
|
46
|
-
disableAnimations
|
|
46
|
+
disableAnimations?: boolean;
|
|
47
47
|
/**
|
|
48
48
|
* Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.
|
|
49
49
|
*
|
|
50
50
|
* _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.
|
|
51
51
|
*/
|
|
52
|
-
useWrapper
|
|
52
|
+
useWrapper?: boolean;
|
|
53
53
|
}
|
|
54
54
|
export interface HintState {
|
|
55
55
|
opened: boolean;
|
|
56
56
|
}
|
|
57
|
+
declare type DefaultProps = Required<Pick<HintProps, 'pos' | 'manual' | 'opened' | 'maxWidth' | 'disableAnimations' | 'useWrapper'>>;
|
|
57
58
|
/**
|
|
58
59
|
* Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.
|
|
59
60
|
*/
|
|
60
61
|
export declare class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {
|
|
61
62
|
static __KONTUR_REACT_UI__: string;
|
|
62
63
|
private isMobileLayout;
|
|
63
|
-
static defaultProps:
|
|
64
|
-
|
|
65
|
-
manual: boolean;
|
|
66
|
-
opened: boolean;
|
|
67
|
-
maxWidth: number;
|
|
68
|
-
disableAnimations: boolean;
|
|
69
|
-
useWrapper: boolean;
|
|
70
|
-
};
|
|
64
|
+
static defaultProps: DefaultProps;
|
|
65
|
+
private getProps;
|
|
71
66
|
state: HintState;
|
|
72
67
|
private timer;
|
|
73
68
|
private theme;
|
|
@@ -86,3 +81,4 @@ export declare class Hint extends React.PureComponent<HintProps, HintState> impl
|
|
|
86
81
|
private close;
|
|
87
82
|
private open;
|
|
88
83
|
}
|
|
84
|
+
export {};
|
|
@@ -12,6 +12,7 @@ var _Emotion = require("../../lib/theming/Emotion");
|
|
|
12
12
|
var _decorator = require("../ResponsiveLayout/decorator");
|
|
13
13
|
var _rootNode = require("../../lib/rootNode");
|
|
14
14
|
|
|
15
|
+
var _createPropsGetter = require("../../lib/createPropsGetter");
|
|
15
16
|
|
|
16
17
|
var _Hint = require("./Hint.styles");var _class, _class2, _temp;
|
|
17
18
|
|
|
@@ -84,6 +85,10 @@ var Positions = [
|
|
|
84
85
|
'right bottom'];
|
|
85
86
|
|
|
86
87
|
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
87
92
|
/**
|
|
88
93
|
* Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.
|
|
89
94
|
*/var
|
|
@@ -103,8 +108,10 @@ Hint = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNode)(_class
|
|
|
103
108
|
|
|
104
109
|
|
|
105
110
|
|
|
111
|
+
getProps = (0, _createPropsGetter.createPropsGetter)(Hint.defaultProps);_this.
|
|
112
|
+
|
|
106
113
|
state = {
|
|
107
|
-
opened: _this.
|
|
114
|
+
opened: _this.getProps().manual ? !!_this.getProps().opened : false };_this.
|
|
108
115
|
|
|
109
116
|
|
|
110
117
|
timer = null;_this.
|
|
@@ -192,6 +199,9 @@ Hint = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNode)(_class
|
|
|
192
199
|
|
|
193
200
|
|
|
194
201
|
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
|
|
195
205
|
|
|
196
206
|
|
|
197
207
|
|
|
@@ -219,11 +229,11 @@ Hint = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNode)(_class
|
|
|
219
229
|
|
|
220
230
|
|
|
221
231
|
getPositions = function () {
|
|
222
|
-
return Positions.filter(function (x) {return x.startsWith(_this.
|
|
232
|
+
return Positions.filter(function (x) {return x.startsWith(_this.getProps().pos);});
|
|
223
233
|
};_this.
|
|
224
234
|
|
|
225
235
|
handleMouseEnter = function (e) {
|
|
226
|
-
if (!_this.
|
|
236
|
+
if (!_this.getProps().manual && !_this.timer) {
|
|
227
237
|
_this.timer = window.setTimeout(_this.open, 400);
|
|
228
238
|
}
|
|
229
239
|
|
|
@@ -233,7 +243,7 @@ Hint = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNode)(_class
|
|
|
233
243
|
};_this.
|
|
234
244
|
|
|
235
245
|
handleMouseLeave = function (e) {
|
|
236
|
-
if (!_this.
|
|
246
|
+
if (!_this.getProps().manual && _this.timer) {
|
|
237
247
|
clearTimeout(_this.timer);
|
|
238
248
|
_this.timer = null;
|
|
239
249
|
_this.setState({ opened: false });
|
|
@@ -250,4 +260,4 @@ Hint = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNode)(_class
|
|
|
250
260
|
|
|
251
261
|
open = function () {
|
|
252
262
|
_this.setState({ opened: true });
|
|
253
|
-
};return _this;}var _proto = Hint.prototype;_proto.componentDidUpdate = function componentDidUpdate(prevProps) {
|
|
263
|
+
};return _this;}var _proto = Hint.prototype;_proto.componentDidUpdate = function componentDidUpdate(prevProps) {var _this$getProps = this.getProps(),opened = _this$getProps.opened,manual = _this$getProps.manual;if (!manual) {return;}if (this.timer) {clearTimeout(this.timer);this.timer = null;}if (opened !== prevProps.opened) {this.setState({ opened: !!opened });}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.timer) {clearTimeout(this.timer);this.timer = null;}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ popupPinOffset: theme.hintPinOffset, popupMargin: theme.hintMargin, popupBorder: theme.hintBorder, popupBorderRadius: theme.hintBorderRadius }, _this2.theme) }, _this2.isMobileLayout ? _this2.renderMobile() : _this2.renderMain());});};_proto.renderMobile = function renderMobile() {var manual = this.getProps().manual;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, /*#__PURE__*/_react.default.createElement(_Popup.Popup, { opened: this.state.opened, anchorElement: this.props.children, positions: [], onClick: !manual ? this.open : undefined, mobileOnCloseRequest: !manual ? this.close : undefined }, this.renderContent()));};_proto.renderMain = function renderMain() {var _this$getProps2 = this.getProps(),disableAnimations = _this$getProps2.disableAnimations,useWrapper = _this$getProps2.useWrapper;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_Popup.Popup, { hasPin: true, opened: this.state.opened, anchorElement: this.props.children, positions: this.getPositions(), backgroundColor: this.theme.hintBgColor, borderColor: HINT_BORDER_COLOR, disableAnimations: disableAnimations, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, useWrapper: useWrapper, ref: this.popupRef }, this.renderContent()));};_proto.renderContent = function renderContent() {var _cx;if (!this.props.text) {return null;}var _this$getProps3 = this.getProps(),maxWidth = _this$getProps3.maxWidth,pos = _this$getProps3.pos;var className = (0, _Emotion.cx)((_cx = {}, _cx[_Hint.styles.content(this.theme)] = true, _cx[_Hint.styles.contentCenter(this.theme)] = pos === 'top' || pos === 'bottom', _cx[_Hint.styles.mobileContent(this.theme)] = this.isMobileLayout, _cx));return /*#__PURE__*/_react.default.createElement("div", { className: className, style: { maxWidth: this.isMobileLayout ? '100%' : maxWidth } }, this.props.text);};return Hint;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'Hint', _class2.defaultProps = { pos: 'top', manual: false, opened: false, maxWidth: 200, disableAnimations: _currentEnvironment.isTestEnv, useWrapper: false }, _temp)) || _class) || _class;exports.Hint = Hint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Hint.tsx"],"names":["HINT_BORDER_COLOR","Positions","Hint","responsiveLayout","rootNode","state","opened","props","manual","timer","popupRef","React","createRef","getAnchorElement","current","anchorElement","getPositions","filter","x","startsWith","pos","handleMouseEnter","e","window","setTimeout","open","onMouseEnter","handleMouseLeave","clearTimeout","setState","onMouseLeave","close","componentDidUpdate","prevProps","componentWillUnmount","render","theme","ThemeFactory","create","popupPinOffset","hintPinOffset","popupMargin","hintMargin","popupBorder","hintBorder","popupBorderRadius","hintBorderRadius","isMobileLayout","renderMobile","renderMain","children","undefined","renderContent","setRootNode","hintBgColor","disableAnimations","useWrapper","text","maxWidth","className","styles","content","contentCenter","mobileContent","PureComponent","__KONTUR_REACT_UI__","defaultProps","isTestEnv"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Popup, PopupPositionsType } from '../../internal/Popup';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\n\nimport { styles } from './Hint.styles';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Переводит отображение подсказки в _\"ручной режим\"_.\n *\n * В _\"ручном режиме\"_ подсказку можно активировать только задав значение пропу `opened`.\n */\n manual?: boolean;\n /**\n * Задаёт максимальную ширину подсказки.\n */\n maxWidth?: React.CSSProperties['maxWidth'];\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: (event: MouseEventType) => void;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: (event: MouseEventType) => void;\n /**\n * Если `true` - подсказка будет открыта.\n *\n * _Примечание_: работает только при `manual=true`.\n */\n opened?: boolean;\n /**\n * Расположение подсказки относительно текста.\n *\n * **Допустимые значения**: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`, `\"top left\"`, `\"top center\"`, `\"top right\"`, `\"right top\"`, `\"right middle\"`, `\"right bottom\"`, `\"bottom left\"`, `\"bottom center\"`, `\"bottom right\"`, `\"left top\"`, `\"left middle\"`, `\"left bottom\"`.\n */\n pos: 'top' | 'right' | 'bottom' | 'left' | PopupPositionsType;\n /**\n * Текст подсказки.\n */\n text: React.ReactNode;\n /**\n * Отключает анимацию.\n */\n disableAnimations: boolean;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n}\n\nconst Positions: PopupPositionsType[] = [\n 'top center',\n 'top left',\n 'top right',\n 'bottom center',\n 'bottom left',\n 'bottom right',\n 'left middle',\n 'left top',\n 'left bottom',\n 'right middle',\n 'right top',\n 'right bottom',\n];\n\n/**\n * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.\n */\n@responsiveLayout\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Hint';\n\n private isMobileLayout!: boolean;\n\n public static defaultProps = {\n pos: 'top',\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n public state: HintState = {\n opened: this.props.manual ? !!this.props.opened : false,\n };\n\n private timer: Nullable<number> = null;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public componentDidUpdate(prevProps: HintProps) {\n if (!this.props.manual) {\n return;\n }\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n if (this.props.opened !== prevProps.opened) {\n this.setState({ opened: !!this.props.opened });\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.hintPinOffset,\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.isMobileLayout ? this.renderMobile() : this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMobile() {\n return (\n <CommonWrapper {...this.props}>\n <Popup\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={[]}\n onClick={!this.props.manual ? this.open : undefined}\n mobileOnCloseRequest={!this.props.manual ? this.close : undefined}\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public renderMain() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n disableAnimations={this.props.disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={this.props.useWrapper}\n ref={this.popupRef}\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public getAnchorElement = (): Nullable<HTMLElement> => {\n return this.popupRef.current?.anchorElement;\n };\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { pos, maxWidth } = this.props;\n const className = cx({\n [styles.content(this.theme)]: true,\n [styles.contentCenter(this.theme)]: pos === 'top' || pos === 'bottom',\n [styles.mobileContent(this.theme)]: this.isMobileLayout,\n });\n return (\n <div className={className} style={{ maxWidth: this.isMobileLayout ? '100%' : maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPositionsType[] => {\n return Positions.filter((x) => x.startsWith(this.props.pos));\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.props.manual && !this.timer) {\n this.timer = window.setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.props.manual && this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private close = () => {\n this.setState({ opened: false });\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Hint.tsx"],"names":["HINT_BORDER_COLOR","Positions","Hint","responsiveLayout","rootNode","getProps","defaultProps","state","opened","manual","timer","popupRef","React","createRef","getAnchorElement","current","anchorElement","getPositions","filter","x","startsWith","pos","handleMouseEnter","e","window","setTimeout","open","props","onMouseEnter","handleMouseLeave","clearTimeout","setState","onMouseLeave","close","componentDidUpdate","prevProps","componentWillUnmount","render","theme","ThemeFactory","create","popupPinOffset","hintPinOffset","popupMargin","hintMargin","popupBorder","hintBorder","popupBorderRadius","hintBorderRadius","isMobileLayout","renderMobile","renderMain","children","undefined","renderContent","disableAnimations","useWrapper","setRootNode","hintBgColor","text","maxWidth","className","styles","content","contentCenter","mobileContent","PureComponent","__KONTUR_REACT_UI__","isTestEnv"],"mappings":"kUAAA;;AAEA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,qC;;AAEA,IAAMA,iBAAiB,GAAG,aAA1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDA,IAAMC,SAA+B,GAAG;AACtC,YADsC;AAEtC,UAFsC;AAGtC,WAHsC;AAItC,eAJsC;AAKtC,aALsC;AAMtC,cANsC;AAOtC,aAPsC;AAQtC,UARsC;AAStC,aATsC;AAUtC,cAVsC;AAWtC,WAXsC;AAYtC,cAZsC,CAAxC;;;;;;;AAmBA;AACA;AACA,G;;;AAGaC,I,OAFZC,2B,eACAC,kB;;;;;;;;;;;;;;AAeSC,IAAAA,Q,GAAW,0CAAkBH,IAAI,CAACI,YAAvB,C;;AAEZC,IAAAA,K,GAAmB;AACxBC,MAAAA,MAAM,EAAE,MAAKH,QAAL,GAAgBI,MAAhB,GAAyB,CAAC,CAAC,MAAKJ,QAAL,GAAgBG,MAA3C,GAAoD,KADpC,E;;;AAIlBE,IAAAA,K,GAA0B,I;;;;AAI1BC,IAAAA,Q,gBAAWC,eAAMC,SAAN,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwFZC,IAAAA,gB,GAAmB,YAA6B;AACrD,sCAAO,MAAKH,QAAL,CAAcI,OAArB,qBAAO,sBAAuBC,aAA9B;AACD,K;;;;;;;;;;;;;;;;;;;;AAoBOC,IAAAA,Y,GAAe,YAA4B;AACjD,aAAOhB,SAAS,CAACiB,MAAV,CAAiB,UAACC,CAAD,UAAOA,CAAC,CAACC,UAAF,CAAa,MAAKf,QAAL,GAAgBgB,GAA7B,CAAP,EAAjB,CAAP;AACD,K;;AAEOC,IAAAA,gB,GAAmB,UAACC,CAAD,EAAuB;AAChD,UAAI,CAAC,MAAKlB,QAAL,GAAgBI,MAAjB,IAA2B,CAAC,MAAKC,KAArC,EAA4C;AAC1C,cAAKA,KAAL,GAAac,MAAM,CAACC,UAAP,CAAkB,MAAKC,IAAvB,EAA6B,GAA7B,CAAb;AACD;;AAED,UAAI,MAAKC,KAAL,CAAWC,YAAf,EAA6B;AAC3B,cAAKD,KAAL,CAAWC,YAAX,CAAwBL,CAAxB;AACD;AACF,K;;AAEOM,IAAAA,gB,GAAmB,UAACN,CAAD,EAAuB;AAChD,UAAI,CAAC,MAAKlB,QAAL,GAAgBI,MAAjB,IAA2B,MAAKC,KAApC,EAA2C;AACzCoB,QAAAA,YAAY,CAAC,MAAKpB,KAAN,CAAZ;AACA,cAAKA,KAAL,GAAa,IAAb;AACA,cAAKqB,QAAL,CAAc,EAAEvB,MAAM,EAAE,KAAV,EAAd;AACD;;AAED,UAAI,MAAKmB,KAAL,CAAWK,YAAf,EAA6B;AAC3B,cAAKL,KAAL,CAAWK,YAAX,CAAwBT,CAAxB;AACD;AACF,K;;AAEOU,IAAAA,K,GAAQ,YAAM;AACpB,YAAKF,QAAL,CAAc,EAAEvB,MAAM,EAAE,KAAV,EAAd;AACD,K;;AAEOkB,IAAAA,I,GAAO,YAAM;AACnB,YAAKK,QAAL,CAAc,EAAEvB,MAAM,EAAE,IAAV,EAAd;AACD,K,kDA5IM0B,kB,GAAP,4BAA0BC,SAA1B,EAAgD,CAC9C,qBAA2B,KAAK9B,QAAL,EAA3B,CAAQG,MAAR,kBAAQA,MAAR,CAAgBC,MAAhB,kBAAgBA,MAAhB,CACA,IAAI,CAACA,MAAL,EAAa,CACX,OACD,CACD,IAAI,KAAKC,KAAT,EAAgB,CACdoB,YAAY,CAAC,KAAKpB,KAAN,CAAZ,CACA,KAAKA,KAAL,GAAa,IAAb,CACD,CACD,IAAIF,MAAM,KAAK2B,SAAS,CAAC3B,MAAzB,EAAiC,CAC/B,KAAKuB,QAAL,CAAc,EAAEvB,MAAM,EAAE,CAAC,CAACA,MAAZ,EAAd,EACD,CACF,C,QAEM4B,oB,GAAP,gCAA8B,CAC5B,IAAI,KAAK1B,KAAT,EAAgB,CACdoB,YAAY,CAAC,KAAKpB,KAAN,CAAZ,CACA,KAAKA,KAAL,GAAa,IAAb,CACD,CACF,C,QAEM2B,M,GAAP,kBAAgB,mBACd,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAACC,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,oBACE,6BAAC,0BAAD,CAAc,QAAd,IACE,KAAK,EAAEC,2BAAaC,MAAb,CACL,EACEC,cAAc,EAAEH,KAAK,CAACI,aADxB,EAEEC,WAAW,EAAEL,KAAK,CAACM,UAFrB,EAGEC,WAAW,EAAEP,KAAK,CAACQ,UAHrB,EAIEC,iBAAiB,EAAET,KAAK,CAACU,gBAJ3B,EADK,EAOL,MAAI,CAACV,KAPA,CADT,IAWG,MAAI,CAACW,cAAL,GAAsB,MAAI,CAACC,YAAL,EAAtB,GAA4C,MAAI,CAACC,UAAL,EAX/C,CADF,CAeD,CAlBH,CADF,CAsBD,C,QAEMD,Y,GAAP,wBAAsB,CACpB,IAAMzC,MAAM,GAAG,KAAKJ,QAAL,GAAgBI,MAA/B,CACA,oBACE,6BAAC,4BAAD,EAAmB,KAAKkB,KAAxB,eACE,6BAAC,YAAD,IACE,MAAM,EAAE,KAAKpB,KAAL,CAAWC,MADrB,EAEE,aAAa,EAAE,KAAKmB,KAAL,CAAWyB,QAF5B,EAGE,SAAS,EAAE,EAHb,EAIE,OAAO,EAAE,CAAC3C,MAAD,GAAU,KAAKiB,IAAf,GAAsB2B,SAJjC,EAKE,oBAAoB,EAAE,CAAC5C,MAAD,GAAU,KAAKwB,KAAf,GAAuBoB,SAL/C,IAOG,KAAKC,aAAL,EAPH,CADF,CADF,CAaD,C,QAEMH,U,GAAP,sBAAoB,CAClB,sBAA0C,KAAK9C,QAAL,EAA1C,CAAQkD,iBAAR,mBAAQA,iBAAR,CAA2BC,UAA3B,mBAA2BA,UAA3B,CACA,oBACE,6BAAC,4BAAD,2BAAe,WAAW,EAAE,KAAKC,WAAjC,IAAkD,KAAK9B,KAAvD,gBACE,6BAAC,YAAD,IACE,MAAM,MADR,EAEE,MAAM,EAAE,KAAKpB,KAAL,CAAWC,MAFrB,EAGE,aAAa,EAAE,KAAKmB,KAAL,CAAWyB,QAH5B,EAIE,SAAS,EAAE,KAAKnC,YAAL,EAJb,EAKE,eAAe,EAAE,KAAKqB,KAAL,CAAWoB,WAL9B,EAME,WAAW,EAAE1D,iBANf,EAOE,iBAAiB,EAAEuD,iBAPrB,EAQE,YAAY,EAAE,KAAKjC,gBARrB,EASE,YAAY,EAAE,KAAKO,gBATrB,EAUE,UAAU,EAAE2B,UAVd,EAWE,GAAG,EAAE,KAAK7C,QAXZ,IAaG,KAAK2C,aAAL,EAbH,CADF,CADF,CAmBD,C,QAMOA,a,GAAR,yBAAwB,SACtB,IAAI,CAAC,KAAK3B,KAAL,CAAWgC,IAAhB,EAAsB,CACpB,OAAO,IAAP,CACD,CAED,sBAA0B,KAAKtD,QAAL,EAA1B,CAAQuD,QAAR,mBAAQA,QAAR,CAAkBvC,GAAlB,mBAAkBA,GAAlB,CACA,IAAMwC,SAAS,GAAG,gCACfC,aAAOC,OAAP,CAAe,KAAKzB,KAApB,CADe,IACc,IADd,MAEfwB,aAAOE,aAAP,CAAqB,KAAK1B,KAA1B,CAFe,IAEoBjB,GAAG,KAAK,KAAR,IAAiBA,GAAG,KAAK,QAF7C,MAGfyC,aAAOG,aAAP,CAAqB,KAAK3B,KAA1B,CAHe,IAGoB,KAAKW,cAHzB,OAAlB,CAKA,oBACE,sCAAK,SAAS,EAAEY,SAAhB,EAA2B,KAAK,EAAE,EAAED,QAAQ,EAAE,KAAKX,cAAL,GAAsB,MAAtB,GAA+BW,QAA3C,EAAlC,IACG,KAAKjC,KAAL,CAAWgC,IADd,CADF,CAKD,C,eApIuB/C,eAAMsD,a,WAChBC,mB,GAAsB,M,UAItB7D,Y,GAA6B,EACzCe,GAAG,EAAE,KADoC,EAEzCZ,MAAM,EAAE,KAFiC,EAGzCD,MAAM,EAAE,KAHiC,EAIzCoD,QAAQ,EAAE,GAJ+B,EAKzCL,iBAAiB,EAAEa,6BALsB,EAMzCZ,UAAU,EAAE,KAN6B,E","sourcesContent":["import React from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Popup, PopupPositionsType } from '../../internal/Popup';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Hint.styles';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Переводит отображение подсказки в _\"ручной режим\"_.\n *\n * В _\"ручном режиме\"_ подсказку можно активировать только задав значение пропу `opened`.\n */\n manual?: boolean;\n /**\n * Задаёт максимальную ширину подсказки.\n */\n maxWidth?: React.CSSProperties['maxWidth'];\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: (event: MouseEventType) => void;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: (event: MouseEventType) => void;\n /**\n * Если `true` - подсказка будет открыта.\n *\n * _Примечание_: работает только при `manual=true`.\n */\n opened?: boolean;\n /**\n * Расположение подсказки относительно текста.\n *\n * **Допустимые значения**: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`, `\"top left\"`, `\"top center\"`, `\"top right\"`, `\"right top\"`, `\"right middle\"`, `\"right bottom\"`, `\"bottom left\"`, `\"bottom center\"`, `\"bottom right\"`, `\"left top\"`, `\"left middle\"`, `\"left bottom\"`.\n */\n pos?: 'top' | 'right' | 'bottom' | 'left' | PopupPositionsType;\n /**\n * Текст подсказки.\n */\n text: React.ReactNode;\n /**\n * Отключает анимацию.\n */\n disableAnimations?: boolean;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n}\n\nconst Positions: PopupPositionsType[] = [\n 'top center',\n 'top left',\n 'top right',\n 'bottom center',\n 'bottom left',\n 'bottom right',\n 'left middle',\n 'left top',\n 'left bottom',\n 'right middle',\n 'right top',\n 'right bottom',\n];\n\ntype DefaultProps = Required<\n Pick<HintProps, 'pos' | 'manual' | 'opened' | 'maxWidth' | 'disableAnimations' | 'useWrapper'>\n>;\n\n/**\n * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.\n */\n@responsiveLayout\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Hint';\n\n private isMobileLayout!: boolean;\n\n public static defaultProps: DefaultProps = {\n pos: 'top',\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n private getProps = createPropsGetter(Hint.defaultProps);\n\n public state: HintState = {\n opened: this.getProps().manual ? !!this.getProps().opened : false,\n };\n\n private timer: Nullable<number> = null;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public componentDidUpdate(prevProps: HintProps) {\n const { opened, manual } = this.getProps();\n if (!manual) {\n return;\n }\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n if (opened !== prevProps.opened) {\n this.setState({ opened: !!opened });\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.hintPinOffset,\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.isMobileLayout ? this.renderMobile() : this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMobile() {\n const manual = this.getProps().manual;\n return (\n <CommonWrapper {...this.props}>\n <Popup\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={[]}\n onClick={!manual ? this.open : undefined}\n mobileOnCloseRequest={!manual ? this.close : undefined}\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public renderMain() {\n const { disableAnimations, useWrapper } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n disableAnimations={disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={useWrapper}\n ref={this.popupRef}\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public getAnchorElement = (): Nullable<HTMLElement> => {\n return this.popupRef.current?.anchorElement;\n };\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { maxWidth, pos } = this.getProps();\n const className = cx({\n [styles.content(this.theme)]: true,\n [styles.contentCenter(this.theme)]: pos === 'top' || pos === 'bottom',\n [styles.mobileContent(this.theme)]: this.isMobileLayout,\n });\n return (\n <div className={className} style={{ maxWidth: this.isMobileLayout ? '100%' : maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPositionsType[] => {\n return Positions.filter((x) => x.startsWith(this.getProps().pos));\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.getProps().manual && !this.timer) {\n this.timer = window.setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.getProps().manual && this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private close = () => {\n this.setState({ opened: false });\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"]}
|
|
@@ -88,15 +88,15 @@ export interface InputState {
|
|
|
88
88
|
export declare const InputDataTids: {
|
|
89
89
|
readonly root: "Input__root";
|
|
90
90
|
};
|
|
91
|
+
declare type DefaultProps = Required<Pick<InputProps, 'size'>>;
|
|
91
92
|
/**
|
|
92
93
|
* Интерфейс пропсов наследуется от `React.InputHTMLAttributes<HTMLInputElement>`.
|
|
93
94
|
* Все пропсы кроме перечисленных, `className` и `style` передаются в `<input>`
|
|
94
95
|
*/
|
|
95
96
|
export declare class Input extends React.Component<InputProps, InputState> {
|
|
96
97
|
static __KONTUR_REACT_UI__: string;
|
|
97
|
-
static defaultProps:
|
|
98
|
-
|
|
99
|
-
};
|
|
98
|
+
static defaultProps: DefaultProps;
|
|
99
|
+
private getProps;
|
|
100
100
|
state: InputState;
|
|
101
101
|
private selectAllId;
|
|
102
102
|
private theme;
|
|
@@ -154,3 +154,4 @@ export declare class Input extends React.Component<InputProps, InputState> {
|
|
|
154
154
|
private renderPrefix;
|
|
155
155
|
private renderSuffix;
|
|
156
156
|
}
|
|
157
|
+
export {};
|