@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
|
@@ -9,12 +9,12 @@ export declare enum TokenInputType {
|
|
|
9
9
|
}
|
|
10
10
|
export declare type TokenInputMenuAlign = 'left' | 'cursor';
|
|
11
11
|
export interface TokenInputProps<T> extends CommonProps {
|
|
12
|
-
selectedItems
|
|
13
|
-
onValueChange
|
|
14
|
-
onMouseEnter
|
|
15
|
-
onMouseLeave
|
|
16
|
-
onFocus
|
|
17
|
-
onBlur
|
|
12
|
+
selectedItems?: T[];
|
|
13
|
+
onValueChange?: (items: T[]) => void;
|
|
14
|
+
onMouseEnter?: MouseEventHandler<HTMLDivElement>;
|
|
15
|
+
onMouseLeave?: MouseEventHandler<HTMLDivElement>;
|
|
16
|
+
onFocus?: FocusEventHandler<HTMLTextAreaElement>;
|
|
17
|
+
onBlur?: FocusEventHandler<HTMLTextAreaElement>;
|
|
18
18
|
autoFocus?: boolean;
|
|
19
19
|
type?: TokenInputType;
|
|
20
20
|
/**
|
|
@@ -25,8 +25,8 @@ export interface TokenInputProps<T> extends CommonProps {
|
|
|
25
25
|
* Если menuAlign = 'cursor', то ширина выпадающего меню всегда будет равна 'auto'
|
|
26
26
|
* (по ширине текста)
|
|
27
27
|
*/
|
|
28
|
-
menuWidth
|
|
29
|
-
menuAlign
|
|
28
|
+
menuWidth?: React.CSSProperties['width'];
|
|
29
|
+
menuAlign?: TokenInputMenuAlign;
|
|
30
30
|
/**
|
|
31
31
|
* Функция поиска элементов, должна возвращать Promise с массивом элементов.
|
|
32
32
|
* По умолчанию ожидаются строки.
|
|
@@ -36,13 +36,13 @@ export interface TokenInputProps<T> extends CommonProps {
|
|
|
36
36
|
*/
|
|
37
37
|
getItems?: (query: string) => Promise<T[]>;
|
|
38
38
|
hideMenuIfEmptyInputValue?: boolean;
|
|
39
|
-
renderItem
|
|
40
|
-
renderValue
|
|
39
|
+
renderItem?: (item: T, state: MenuItemState) => React.ReactNode | null;
|
|
40
|
+
renderValue?: (item: T) => React.ReactNode;
|
|
41
41
|
/**
|
|
42
42
|
* Функция должна возвращать строковое представление токена
|
|
43
43
|
* @default item => item
|
|
44
44
|
*/
|
|
45
|
-
valueToString
|
|
45
|
+
valueToString?: (item: T) => string;
|
|
46
46
|
/**
|
|
47
47
|
* Функция отображающая сообщение об общем количестве элементов.
|
|
48
48
|
* `found` учитывает только компонент `MenuItem`. Им "оборачиваются" элементы, возвращаемые `getItems()`.
|
|
@@ -54,10 +54,10 @@ export interface TokenInputProps<T> extends CommonProps {
|
|
|
54
54
|
*/
|
|
55
55
|
totalCount?: number;
|
|
56
56
|
renderNotFound?: () => React.ReactNode;
|
|
57
|
-
valueToItem
|
|
58
|
-
toKey
|
|
57
|
+
valueToItem?: (item: string) => T;
|
|
58
|
+
toKey?: (item: T) => string | number | undefined;
|
|
59
59
|
placeholder?: string;
|
|
60
|
-
delimiters
|
|
60
|
+
delimiters?: string[];
|
|
61
61
|
/**
|
|
62
62
|
* Состояние валидации при ошибке.
|
|
63
63
|
*/
|
|
@@ -128,9 +128,11 @@ export declare const TokenInputDataTids: {
|
|
|
128
128
|
readonly root: "TokenInput__root";
|
|
129
129
|
readonly tokenInputMenu: "TokenInputMenu__root";
|
|
130
130
|
};
|
|
131
|
+
declare type DefaultProps<T> = Required<Pick<TokenInputProps<T>, 'selectedItems' | 'delimiters' | 'renderItem' | 'renderValue' | 'valueToString' | 'valueToItem' | 'toKey' | 'onValueChange' | 'width' | 'onBlur' | 'onFocus' | 'onMouseEnter' | 'onMouseLeave' | 'menuWidth' | 'menuAlign'>>;
|
|
131
132
|
export declare class TokenInput<T = string> extends React.PureComponent<TokenInputProps<T>, TokenInputState<T>> {
|
|
132
133
|
static __KONTUR_REACT_UI__: string;
|
|
133
|
-
static defaultProps:
|
|
134
|
+
static defaultProps: DefaultProps<any>;
|
|
135
|
+
private getProps;
|
|
134
136
|
state: TokenInputState<T>;
|
|
135
137
|
private readonly locale;
|
|
136
138
|
private theme;
|
|
@@ -140,7 +142,7 @@ export declare class TokenInput<T = string> extends React.PureComponent<TokenInp
|
|
|
140
142
|
private wrapper;
|
|
141
143
|
private setRootNode;
|
|
142
144
|
componentDidMount(): void;
|
|
143
|
-
componentDidUpdate(prevProps: TokenInputProps<T>, prevState: TokenInputState<T>): void;
|
|
145
|
+
componentDidUpdate(prevProps: TokenInputProps<T> & DefaultProps<T>, prevState: TokenInputState<T>): void;
|
|
144
146
|
componentWillUnmount(): void;
|
|
145
147
|
/**
|
|
146
148
|
* @public
|
|
@@ -206,3 +208,4 @@ export declare class TokenInput<T = string> extends React.PureComponent<TokenInp
|
|
|
206
208
|
private renderToken;
|
|
207
209
|
private renderAddButton;
|
|
208
210
|
}
|
|
211
|
+
export {};
|
|
@@ -26,6 +26,7 @@ var _MenuItem = require("../MenuItem/MenuItem");
|
|
|
26
26
|
var _CommonWrapper = require("../../internal/CommonWrapper");
|
|
27
27
|
var _Emotion = require("../../lib/theming/Emotion");
|
|
28
28
|
var _rootNode = require("../../lib/rootNode");
|
|
29
|
+
var _createPropsGetter = require("../../lib/createPropsGetter");
|
|
29
30
|
|
|
30
31
|
var _locale = require("./locale");
|
|
31
32
|
var _TokenInput = require("./TokenInput.styles");
|
|
@@ -146,7 +147,6 @@ TokenInputType;exports.TokenInputType = TokenInputType;(function (TokenInputType
|
|
|
146
147
|
|
|
147
148
|
|
|
148
149
|
|
|
149
|
-
|
|
150
150
|
|
|
151
151
|
|
|
152
152
|
var DefaultState = {
|
|
@@ -167,6 +167,27 @@ var TokenInputDataTids = {
|
|
|
167
167
|
tokenInputMenu: 'TokenInputMenu__root' };exports.TokenInputDataTids = TokenInputDataTids;
|
|
168
168
|
|
|
169
169
|
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
|
|
170
191
|
var defaultToKey = function defaultToKey(item) {return item.toString();};
|
|
171
192
|
var identity = function identity(item) {return item;};
|
|
172
193
|
var defaultRenderToken = function defaultRenderToken(
|
|
@@ -208,6 +229,8 @@ TokenInput = (_dec = (0, _decorators.locale)('TokenInput', _locale.TokenInputLoc
|
|
|
208
229
|
|
|
209
230
|
|
|
210
231
|
|
|
232
|
+
getProps = (0, _createPropsGetter.createPropsGetter)(TokenInput.defaultProps);_this.
|
|
233
|
+
|
|
211
234
|
state = DefaultState;_this.
|
|
212
235
|
|
|
213
236
|
|
|
@@ -397,11 +420,6 @@ TokenInput = (_dec = (0, _decorators.locale)('TokenInput', _locale.TokenInputLoc
|
|
|
397
420
|
|
|
398
421
|
|
|
399
422
|
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
423
|
|
|
406
424
|
|
|
407
425
|
|
|
@@ -477,9 +495,7 @@ TokenInput = (_dec = (0, _decorators.locale)('TokenInput', _locale.TokenInputLoc
|
|
|
477
495
|
|
|
478
496
|
handleInputFocus = function (event) {
|
|
479
497
|
_this.dispatch({ type: 'SET_FOCUS_IN' });
|
|
480
|
-
|
|
481
|
-
_this.props.onFocus(event);
|
|
482
|
-
}
|
|
498
|
+
_this.getProps().onFocus(event);
|
|
483
499
|
};_this.
|
|
484
500
|
|
|
485
501
|
handleInputBlur = function (event) {
|
|
@@ -498,13 +514,12 @@ TokenInput = (_dec = (0, _decorators.locale)('TokenInput', _locale.TokenInputLoc
|
|
|
498
514
|
_this.dispatch({ type: 'SET_PREVENT_BLUR', payload: false });
|
|
499
515
|
} else {
|
|
500
516
|
_this.dispatch({ type: 'BLUR' });
|
|
501
|
-
_this.
|
|
517
|
+
_this.getProps().onBlur(event);
|
|
502
518
|
}
|
|
503
519
|
};_this.
|
|
504
520
|
|
|
505
521
|
handleOutsideBlur = function () {
|
|
506
522
|
var _this$state = _this.state,inputValue = _this$state.inputValue,autocompleteItems = _this$state.autocompleteItems;
|
|
507
|
-
var valueToString = _this.props.valueToString;
|
|
508
523
|
|
|
509
524
|
if (inputValue === '') {
|
|
510
525
|
// если стерли содержимое токена в режиме редактирования, то удаляем токен
|
|
@@ -524,7 +539,7 @@ TokenInput = (_dec = (0, _decorators.locale)('TokenInput', _locale.TokenInputLoc
|
|
|
524
539
|
if (autocompleteItems && autocompleteItems.length === 1) {
|
|
525
540
|
var _item = autocompleteItems[0];
|
|
526
541
|
|
|
527
|
-
if (valueToString(_item) === inputValue) {
|
|
542
|
+
if (_this.getProps().valueToString(_item) === inputValue) {
|
|
528
543
|
_this.isEditingMode ? _this.finishTokenEdit() : _this.selectItem(_item);
|
|
529
544
|
|
|
530
545
|
return;
|
|
@@ -592,14 +607,14 @@ TokenInput = (_dec = (0, _decorators.locale)('TokenInput', _locale.TokenInputLoc
|
|
|
592
607
|
return;
|
|
593
608
|
}
|
|
594
609
|
event.preventDefault();
|
|
595
|
-
|
|
610
|
+
var _this$getProps = _this.getProps(),selectedItems = _this$getProps.selectedItems,valueToString = _this$getProps.valueToString,delimiters = _this$getProps.delimiters;
|
|
596
611
|
// упорядочивание токенов по индексу
|
|
597
612
|
var tokens = _this.state.activeTokens.
|
|
598
|
-
map(function (token) {return
|
|
613
|
+
map(function (token) {return selectedItems.indexOf(token);}).
|
|
599
614
|
sort().
|
|
600
|
-
map(function (index) {return
|
|
601
|
-
map(function (item) {return
|
|
602
|
-
event.clipboardData.setData('text/plain', tokens.join(
|
|
615
|
+
map(function (index) {return selectedItems[index];}).
|
|
616
|
+
map(function (item) {return valueToString(item);});
|
|
617
|
+
event.clipboardData.setData('text/plain', tokens.join(delimiters[0]));
|
|
603
618
|
};_this.
|
|
604
619
|
|
|
605
620
|
handleInputPaste = function (event) {
|
|
@@ -607,7 +622,7 @@ TokenInput = (_dec = (0, _decorators.locale)('TokenInput', _locale.TokenInputLoc
|
|
|
607
622
|
return;
|
|
608
623
|
}
|
|
609
624
|
var paste = event.clipboardData.getData('text');
|
|
610
|
-
var delimiters = _this.
|
|
625
|
+
var _this$getProps2 = _this.getProps(),delimiters = _this$getProps2.delimiters,selectedItems = _this$getProps2.selectedItems,valueToItem = _this$getProps2.valueToItem,onValueChange = _this$getProps2.onValueChange;
|
|
611
626
|
if (delimiters.some(function (delimiter) {return paste.includes(delimiter);})) {
|
|
612
627
|
event.preventDefault();
|
|
613
628
|
event.stopPropagation();
|
|
@@ -616,34 +631,35 @@ TokenInput = (_dec = (0, _decorators.locale)('TokenInput', _locale.TokenInputLoc
|
|
|
616
631
|
}
|
|
617
632
|
var tokens = paste.split(delimiters[0]);
|
|
618
633
|
var _items = tokens.
|
|
619
|
-
map(function (token) {return
|
|
620
|
-
filter(function (item) {return !_this.hasValueInItems(
|
|
621
|
-
var newItems =
|
|
622
|
-
|
|
634
|
+
map(function (token) {return valueToItem(token);}).
|
|
635
|
+
filter(function (item) {return !_this.hasValueInItems(selectedItems, item);});
|
|
636
|
+
var newItems = selectedItems.concat(_items);
|
|
637
|
+
onValueChange(newItems);
|
|
623
638
|
|
|
624
639
|
_this.dispatch({ type: 'SET_AUTOCOMPLETE_ITEMS', payload: undefined });
|
|
625
640
|
_this.tryGetItems();
|
|
626
641
|
}
|
|
627
642
|
};_this.
|
|
628
643
|
|
|
629
|
-
tryGetItems = /*#__PURE__*/function () {var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(query) {var autocompleteItems, isSelectedItem, isEditingItem, autocompleteItemsUnique, editingItem, selectItemIndex;return _regenerator.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:if (query === void 0) {query = '';}if (!(
|
|
630
|
-
_this.props.getItems && (_this.state.inputValue !== '' || !_this.props.hideMenuIfEmptyInputValue))) {_context.next =
|
|
644
|
+
tryGetItems = /*#__PURE__*/function () {var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(query) {var autocompleteItems, _this$getProps3, selectedItems, valueToItem, valueToString, isSelectedItem, isEditingItem, autocompleteItemsUnique, editingItem, selectItemIndex;return _regenerator.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:if (query === void 0) {query = '';}if (!(
|
|
645
|
+
_this.props.getItems && (_this.state.inputValue !== '' || !_this.props.hideMenuIfEmptyInputValue))) {_context.next = 15;break;}
|
|
631
646
|
_this.dispatch({ type: 'SET_LOADING', payload: true });_context.next = 5;return (
|
|
632
647
|
_this.props.getItems(query));case 5:autocompleteItems = _context.sent;
|
|
633
|
-
_this.dispatch({ type: 'SET_LOADING', payload: false });
|
|
648
|
+
_this.dispatch({ type: 'SET_LOADING', payload: false });_this$getProps3 =
|
|
634
649
|
|
|
635
|
-
|
|
650
|
+
_this.getProps(), selectedItems = _this$getProps3.selectedItems, valueToItem = _this$getProps3.valueToItem, valueToString = _this$getProps3.valueToString;
|
|
651
|
+
isSelectedItem = function isSelectedItem(item) {return _this.hasValueInItems(selectedItems, item);};
|
|
636
652
|
isEditingItem = function isEditingItem(item) {
|
|
637
|
-
var editingItem =
|
|
653
|
+
var editingItem = selectedItems[_this.state.editingTokenIndex];
|
|
638
654
|
return !!editingItem && (0, _lodash.default)(item, editingItem);
|
|
639
655
|
};
|
|
640
656
|
|
|
641
657
|
autocompleteItemsUnique = autocompleteItems.filter(function (item) {return !isSelectedItem(item) || isEditingItem(item);});
|
|
642
658
|
|
|
643
659
|
if (_this.isEditingMode) {
|
|
644
|
-
editingItem =
|
|
660
|
+
editingItem = selectedItems[_this.state.editingTokenIndex];
|
|
645
661
|
if (
|
|
646
|
-
(0, _lodash.default)(editingItem,
|
|
662
|
+
(0, _lodash.default)(editingItem, valueToItem(_this.state.inputValue)) &&
|
|
647
663
|
!_this.hasValueInItems(autocompleteItemsUnique, editingItem))
|
|
648
664
|
{
|
|
649
665
|
autocompleteItemsUnique.unshift(editingItem);
|
|
@@ -657,11 +673,11 @@ TokenInput = (_dec = (0, _decorators.locale)('TokenInput', _locale.TokenInputLoc
|
|
|
657
673
|
});
|
|
658
674
|
}
|
|
659
675
|
selectItemIndex = autocompleteItemsUnique.findIndex(
|
|
660
|
-
function (item) {return
|
|
676
|
+
function (item) {return valueToString(item).toLowerCase() === _this.state.inputValue.toLowerCase();});
|
|
661
677
|
|
|
662
678
|
if (_this.menuRef) {
|
|
663
679
|
_this.menuRef.highlightItem(selectItemIndex < 0 ? 0 : selectItemIndex);
|
|
664
|
-
}case
|
|
680
|
+
}case 15:case "end":return _context.stop();}}}, _callee);}));return function (_x) {return _ref2.apply(this, arguments);};}();_this.
|
|
665
681
|
|
|
666
682
|
|
|
667
683
|
|
|
@@ -678,7 +694,7 @@ TokenInput = (_dec = (0, _decorators.locale)('TokenInput', _locale.TokenInputLoc
|
|
|
678
694
|
|
|
679
695
|
if (
|
|
680
696
|
_this.type !== TokenInputType.WithReference &&
|
|
681
|
-
_this.
|
|
697
|
+
_this.getProps().delimiters.some(function (key) {return key === e.key || key === ',' && (0, _identifiers.isKeyComma)(e);}) ||
|
|
682
698
|
(0, _identifiers.isKeyEnter)(e) && _this.type === TokenInputType.WithoutReference)
|
|
683
699
|
{
|
|
684
700
|
e.preventDefault();
|
|
@@ -745,14 +761,13 @@ TokenInput = (_dec = (0, _decorators.locale)('TokenInput', _locale.TokenInputLoc
|
|
|
745
761
|
};_this.
|
|
746
762
|
|
|
747
763
|
handleWrapperKeyDown = function (e) {var _this$wrapper2;
|
|
764
|
+
var _this$getProps4 = _this.getProps(),selectedItems = _this$getProps4.selectedItems,onValueChange = _this$getProps4.onValueChange;
|
|
748
765
|
switch (true) {
|
|
749
766
|
case (0, _identifiers.isKeyBackspace)(e):
|
|
750
767
|
case (0, _identifiers.isKeyDelete)(e):{
|
|
751
768
|
if (!_this.isEditingMode) {
|
|
752
|
-
var itemsNew = _this.
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
_this.props.onValueChange(itemsNew);
|
|
769
|
+
var itemsNew = selectedItems.filter(function (item) {return !_this.hasValueInItems(_this.state.activeTokens, item);});
|
|
770
|
+
onValueChange(itemsNew);
|
|
756
771
|
_this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' }, function () {var _this$input6;
|
|
757
772
|
LayoutEvents.emit();
|
|
758
773
|
(_this$input6 = _this.input) == null ? void 0 : _this$input6.focus();
|
|
@@ -776,7 +791,7 @@ TokenInput = (_dec = (0, _decorators.locale)('TokenInput', _locale.TokenInputLoc
|
|
|
776
791
|
e.preventDefault();
|
|
777
792
|
_this.dispatch({
|
|
778
793
|
type: 'SET_ACTIVE_TOKENS',
|
|
779
|
-
payload:
|
|
794
|
+
payload: selectedItems });
|
|
780
795
|
|
|
781
796
|
break;}
|
|
782
797
|
|
|
@@ -784,11 +799,12 @@ TokenInput = (_dec = (0, _decorators.locale)('TokenInput', _locale.TokenInputLoc
|
|
|
784
799
|
|
|
785
800
|
handleWrapperArrows = function (e) {
|
|
786
801
|
e.preventDefault();
|
|
802
|
+
var selectedItems = _this.getProps().selectedItems;
|
|
787
803
|
var activeTokens = _this.state.activeTokens;
|
|
788
|
-
var activeItemIndex =
|
|
804
|
+
var activeItemIndex = selectedItems.indexOf(activeTokens[0]);
|
|
789
805
|
var newItemIndex = activeItemIndex + ((0, _identifiers.isKeyArrowLeft)(e) ? -1 : +1);
|
|
790
806
|
var isLeftEdge = activeItemIndex === 0 && (0, _identifiers.isKeyArrowLeft)(e);
|
|
791
|
-
var isRightEdge = activeItemIndex ===
|
|
807
|
+
var isRightEdge = activeItemIndex === selectedItems.length - 1 && (0, _identifiers.isKeyArrowRight)(e);
|
|
792
808
|
if (!e.shiftKey && activeTokens.length === 1) {
|
|
793
809
|
_this.handleWrapperArrowsWithoutShift(isLeftEdge, isRightEdge, newItemIndex);
|
|
794
810
|
} else {
|
|
@@ -802,35 +818,34 @@ TokenInput = (_dec = (0, _decorators.locale)('TokenInput', _locale.TokenInputLoc
|
|
|
802
818
|
} else if (!isLeftEdge) {
|
|
803
819
|
_this.dispatch({
|
|
804
820
|
type: 'SET_ACTIVE_TOKENS',
|
|
805
|
-
payload: [_this.
|
|
821
|
+
payload: [_this.getProps().selectedItems[newItemIndex]] });
|
|
806
822
|
|
|
807
823
|
}
|
|
808
824
|
};_this.
|
|
809
825
|
|
|
810
826
|
handleWrapperArrowsWithShift = function (isLeftEdge, isRightEdge, newItemIndex) {
|
|
811
827
|
if (!isLeftEdge && !isRightEdge) {
|
|
812
|
-
var itemNew = _this.
|
|
828
|
+
var itemNew = _this.getProps().selectedItems[newItemIndex];
|
|
813
829
|
var itemsNew = [itemNew].concat(_this.state.activeTokens.filter(function (item) {return !(0, _lodash.default)(item, itemNew);}));
|
|
814
830
|
_this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: itemsNew });
|
|
815
831
|
}
|
|
816
832
|
};_this.
|
|
817
833
|
|
|
818
834
|
handleValueChange = function (items) {
|
|
819
|
-
_this.
|
|
835
|
+
_this.getProps().onValueChange(items);
|
|
820
836
|
};_this.
|
|
821
837
|
|
|
822
838
|
handleAddItem = function () {
|
|
823
|
-
var item = _this.
|
|
839
|
+
var item = _this.getProps().valueToItem(_this.state.inputValue);
|
|
824
840
|
if (item) {
|
|
825
841
|
_this.selectItem(item);
|
|
826
842
|
}
|
|
827
843
|
};_this.
|
|
828
844
|
|
|
829
845
|
selectItem = function (item) {
|
|
830
|
-
var selectedItems = _this.
|
|
831
|
-
|
|
846
|
+
var _this$getProps5 = _this.getProps(),selectedItems = _this$getProps5.selectedItems,valueToString = _this$getProps5.valueToString;
|
|
832
847
|
if (_this.isEditingMode) {
|
|
833
|
-
_this.dispatch({ type: 'UPDATE_QUERY', payload:
|
|
848
|
+
_this.dispatch({ type: 'UPDATE_QUERY', payload: valueToString(item) }, _this.finishTokenEdit);
|
|
834
849
|
} else if (!_this.hasValueInItems(selectedItems, item)) {
|
|
835
850
|
_this.handleValueChange(selectedItems.concat([item]));
|
|
836
851
|
_this.dispatch({ type: 'CLEAR_INPUT' });
|
|
@@ -839,7 +854,7 @@ TokenInput = (_dec = (0, _decorators.locale)('TokenInput', _locale.TokenInputLoc
|
|
|
839
854
|
};_this.
|
|
840
855
|
|
|
841
856
|
handleRemoveToken = function (item) {
|
|
842
|
-
_this.props.onValueChange
|
|
857
|
+
_this.props.onValueChange == null ? void 0 : _this.props.onValueChange(_this.getProps().selectedItems.filter(function (_) {return !(0, _lodash.default)(_, item);}));
|
|
843
858
|
var filteredActiveTokens = _this.state.activeTokens.filter(function (_) {return !(0, _lodash.default)(_, item);});
|
|
844
859
|
|
|
845
860
|
_this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: filteredActiveTokens });
|
|
@@ -864,7 +879,8 @@ TokenInput = (_dec = (0, _decorators.locale)('TokenInput', _locale.TokenInputLoc
|
|
|
864
879
|
};_this.
|
|
865
880
|
|
|
866
881
|
handleTokenEdit = function (itemNew) {
|
|
867
|
-
var
|
|
882
|
+
var _this$getProps6 = _this.getProps(),selectedItems = _this$getProps6.selectedItems,valueToString = _this$getProps6.valueToString;
|
|
883
|
+
var editingTokenIndex = selectedItems.findIndex(function (item) {return item === itemNew;});
|
|
868
884
|
_this.dispatch({ type: 'SET_EDITING_TOKEN_INDEX', payload: editingTokenIndex });
|
|
869
885
|
|
|
870
886
|
if (_this.state.inputValue !== '') {
|
|
@@ -872,16 +888,16 @@ TokenInput = (_dec = (0, _decorators.locale)('TokenInput', _locale.TokenInputLoc
|
|
|
872
888
|
_this.dispatch({ type: 'SET_TEMPORARY_QUERY', payload: _this.state.inputValue });
|
|
873
889
|
}
|
|
874
890
|
}
|
|
875
|
-
_this.dispatch({ type: 'UPDATE_QUERY', payload:
|
|
891
|
+
_this.dispatch({ type: 'UPDATE_QUERY', payload: valueToString(itemNew) }, _this.selectInputText);
|
|
876
892
|
_this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' });
|
|
877
893
|
|
|
878
894
|
_this.tryGetItems();
|
|
879
895
|
};_this.
|
|
880
896
|
|
|
881
897
|
finishTokenEdit = function () {
|
|
898
|
+
var selectedItems = _this.getProps().selectedItems;
|
|
882
899
|
var _this$state2 = _this.state,editingTokenIndex = _this$state2.editingTokenIndex,inputValue = _this$state2.inputValue,reservedInputValue = _this$state2.reservedInputValue;
|
|
883
|
-
var
|
|
884
|
-
var editedItem = valueToItem(inputValue);
|
|
900
|
+
var editedItem = _this.getProps().valueToItem(inputValue);
|
|
885
901
|
var newItems = selectedItems.concat([]);
|
|
886
902
|
|
|
887
903
|
if (!_this.hasValueInItems(selectedItems, editedItem)) {
|
|
@@ -962,19 +978,21 @@ TokenInput = (_dec = (0, _decorators.locale)('TokenInput', _locale.TokenInputLoc
|
|
|
962
978
|
|
|
963
979
|
renderTokensStart = function () {
|
|
964
980
|
var editingTokenIndex = _this.state.editingTokenIndex;
|
|
965
|
-
var selectedItems = _this.
|
|
981
|
+
var selectedItems = _this.getProps().selectedItems;
|
|
966
982
|
var delimiter = editingTokenIndex >= 0 ? editingTokenIndex : selectedItems.length;
|
|
967
983
|
return selectedItems.slice(0, delimiter).map(_this.renderToken);
|
|
968
984
|
};_this.
|
|
969
985
|
|
|
970
986
|
renderTokensEnd = function () {
|
|
971
987
|
if (_this.state.editingTokenIndex >= 0) {
|
|
972
|
-
return _this.
|
|
988
|
+
return _this.getProps().
|
|
989
|
+
selectedItems.slice(_this.state.editingTokenIndex + 1).
|
|
990
|
+
map(_this.renderToken);
|
|
973
991
|
}
|
|
974
992
|
};_this.
|
|
975
993
|
|
|
976
994
|
renderToken = function (item) {
|
|
977
|
-
var _this$
|
|
995
|
+
var _this$props = _this.props,_this$props$renderTok = _this$props.renderToken,renderToken = _this$props$renderTok === void 0 ? defaultRenderToken : _this$props$renderTok,disabled = _this$props.disabled;
|
|
978
996
|
|
|
979
997
|
var isActive = _this.state.activeTokens.includes(item);
|
|
980
998
|
|
|
@@ -1026,11 +1044,11 @@ TokenInput = (_dec = (0, _decorators.locale)('TokenInput', _locale.TokenInputLoc
|
|
|
1026
1044
|
addButtonTitle, " ", value));
|
|
1027
1045
|
|
|
1028
1046
|
|
|
1029
|
-
};return _this;}var _proto = TokenInput.prototype;_proto.componentDidMount = function componentDidMount() {this.updateInputTextWidth();document.addEventListener('copy', this.handleCopy);if (this.props.autoFocus) {this.focusInput();}};_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {if (prevState.inputValue !== this.state.inputValue) {this.updateInputTextWidth();}if (prevState.activeTokens.length === 0 && this.state.activeTokens.length > 0) {this.dispatch({ type: 'SET_AUTOCOMPLETE_ITEMS', payload: undefined });}if (prevProps.selectedItems.length !== this.
|
|
1047
|
+
};return _this;}var _proto = TokenInput.prototype;_proto.componentDidMount = function componentDidMount() {this.updateInputTextWidth();document.addEventListener('copy', this.handleCopy);if (this.props.autoFocus) {this.focusInput();}};_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {if (prevState.inputValue !== this.state.inputValue) {this.updateInputTextWidth();}if (prevState.activeTokens.length === 0 && this.state.activeTokens.length > 0) {this.dispatch({ type: 'SET_AUTOCOMPLETE_ITEMS', payload: undefined });}if (prevProps.selectedItems.length !== this.getProps().selectedItems.length) {LayoutEvents.emit();}if (!this.isCursorVisibleForState(prevState) && this.isCursorVisible) {this.tryGetItems(this.isEditingMode ? '' : this.state.inputValue);}};_proto.componentWillUnmount = function componentWillUnmount() {document.removeEventListener('copy', this.handleCopy);} /**
|
|
1030
1048
|
* @public
|
|
1031
1049
|
*/;_proto.focus = function focus() {var _this$input8;(_this$input8 = this.input) == null ? void 0 : _this$input8.focus();} /**
|
|
1032
1050
|
* @public
|
|
1033
|
-
*/;_proto.blur = function blur() {var _this$input9;(_this$input9 = this.input) == null ? void 0 : _this$input9.blur();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _cx, _cx2, _cx3;if (this.type !== TokenInputType.WithoutReference && !this.props.getItems) {throw Error('Missed getItems for type ' + this.type);}var _this$
|
|
1051
|
+
*/;_proto.blur = function blur() {var _this$input9;(_this$input9 = this.input) == null ? void 0 : _this$input9.blur();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _cx, _cx2, _cx3;if (this.type !== TokenInputType.WithoutReference && !this.props.getItems) {throw Error('Missed getItems for type ' + this.type);}var _this$props2 = this.props,maxMenuHeight = _this$props2.maxMenuHeight,error = _this$props2.error,warning = _this$props2.warning,disabled = _this$props2.disabled,placeholder = _this$props2.placeholder,renderNotFound = _this$props2.renderNotFound,hideMenuIfEmptyInputValue = _this$props2.hideMenuIfEmptyInputValue,inputMode = _this$props2.inputMode,renderTotalCount = _this$props2.renderTotalCount,totalCount = _this$props2.totalCount;var _this$getProps7 = this.getProps(),selectedItems = _this$getProps7.selectedItems,width = _this$getProps7.width,onMouseEnter = _this$getProps7.onMouseEnter,onMouseLeave = _this$getProps7.onMouseLeave,menuWidth = _this$getProps7.menuWidth,menuAlign = _this$getProps7.menuAlign,renderItem = _this$getProps7.renderItem;var _this$state3 = this.state,activeTokens = _this$state3.activeTokens,inFocus = _this$state3.inFocus,inputValueWidth = _this$state3.inputValueWidth,inputValue = _this$state3.inputValue,reservedInputValue = _this$state3.reservedInputValue,autocompleteItems = _this$state3.autocompleteItems,loading = _this$state3.loading,inputValueHeight = _this$state3.inputValueHeight;var showMenu = this.type !== TokenInputType.WithoutReference && this.isCursorVisible && activeTokens.length === 0 && (inputValue !== '' || !hideMenuIfEmptyInputValue);var theme = this.theme;var lineHeight = parseInt(theme.tokenInputLineHeight, 10) || 0;var inputInlineStyles = { // вычисляем ширину чтобы input автоматически перенёсся на следующую строку при необходимости
|
|
1034
1052
|
width: inputValueWidth, height: Math.max(lineHeight, inputValueHeight), // input растягивается на всю ширину чтобы placeholder не обрезался
|
|
1035
1053
|
flex: selectedItems && selectedItems.length === 0 ? 1 : undefined, // в ie не работает, но альтернативный способ --- дать tabindex для label --- предположительно ещё сложнее
|
|
1036
1054
|
caretColor: this.isCursorVisible ? undefined : 'transparent' };var labelClassName = (0, _Emotion.cx)(_TokenInput.styles.label(theme), (_cx = {}, _cx[_TokenInput.styles.labelDisabled(theme)] = !!disabled, _cx[_TokenInput.styles.labelFocused(theme)] = !!inFocus, _cx[_TokenInput.styles.error(theme)] = !!error, _cx[_TokenInput.styles.warning(theme)] = !!warning, _cx));var inputClassName = (0, _Emotion.cx)(_TokenInput.styles.input(theme), (_cx2 = {}, _cx2[_TokenInput.styles.inputDisabled(theme)] = !!disabled, _cx2[_TokenInput.styles.inputEditing(theme)] = this.isEditingMode, _cx2));return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("div", { "data-tid": TokenInputDataTids.root, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave }, /*#__PURE__*/_react.default.createElement("label", { ref: this.wrapperRef, style: { width: width }, className: labelClassName, onMouseDown: this.handleWrapperMouseDown, onMouseUp: this.handleWrapperMouseUp }, /*#__PURE__*/_react.default.createElement(_TextWidthHelper.TextWidthHelper, { ref: this.textHelperRef, classHelp: (0, _Emotion.cx)(_TokenInput.styles.helperText(theme), (_cx3 = {}, _cx3[_TokenInput.styles.helperTextEditing(theme)] = this.isEditingMode, _cx3)), text: inputValue, theme: this.theme }), this.renderTokensStart(), /*#__PURE__*/_react.default.createElement("textarea", { ref: this.inputRef, value: inputValue, style: inputInlineStyles, spellCheck: false, disabled: disabled, className: inputClassName, placeholder: selectedItems.length > 0 ? undefined : placeholder, onFocus: this.handleInputFocus, onBlur: this.handleInputBlur, onChange: this.handleChangeInputValue, onKeyDown: this.handleKeyDown, onPaste: this.handleInputPaste, inputMode: inputMode }), showMenu && /*#__PURE__*/_react.default.createElement(_TokenInputMenu.TokenInputMenu, { ref: this.tokensInputMenuRef, items: autocompleteItems, loading: loading, opened: showMenu, maxMenuHeight: maxMenuHeight, anchorElement: menuAlign === 'cursor' ? this.input : this.wrapper, renderNotFound: renderNotFound, renderItem: renderItem, onValueChange: this.selectItem, renderAddButton: this.renderAddButton, menuWidth: menuWidth, menuAlign: menuAlign, renderTotalCount: renderTotalCount, totalCount: totalCount }), this.renderTokensEnd(), this.isEditingMode ? /*#__PURE__*/_react.default.createElement("span", { className: _TokenInput.styles.reservedInput(theme) }, reservedInputValue) : null)));} /**
|
|
@@ -1038,4 +1056,4 @@ TokenInput = (_dec = (0, _decorators.locale)('TokenInput', _locale.TokenInputLoc
|
|
|
1038
1056
|
* @public
|
|
1039
1057
|
*/;_proto.reset = function reset() {this.dispatch({ type: 'RESET' });};_proto.isCursorVisibleForState = function isCursorVisibleForState(state) {return state.inFocus && (state.inputValue !== '' || state.activeTokens.length === 0);};_proto.updateInputTextWidth = function updateInputTextWidth() {if (this.textHelper) {// в IE текст иногда не помещается в input
|
|
1040
1058
|
// из-за округления, поэтому округляем явно
|
|
1041
|
-
var inputValueWidth = parseFloat(this.textHelper.getTextWidth().toFixed(2));var inputValueHeight = parseFloat(this.textHelper.getTextHeight().toFixed(2));this.dispatch({ type: 'SET_INPUT_VALUE_WIDTH', payload: inputValueWidth }, LayoutEvents.emit);this.dispatch({ type: 'SET_INPUT_VALUE_HEIGHT', payload: inputValueHeight }, LayoutEvents.emit);}};_proto.moveFocusToLastToken = function moveFocusToLastToken() {var items = this.
|
|
1059
|
+
var inputValueWidth = parseFloat(this.textHelper.getTextWidth().toFixed(2));var inputValueHeight = parseFloat(this.textHelper.getTextHeight().toFixed(2));this.dispatch({ type: 'SET_INPUT_VALUE_WIDTH', payload: inputValueWidth }, LayoutEvents.emit);this.dispatch({ type: 'SET_INPUT_VALUE_HEIGHT', payload: inputValueHeight }, LayoutEvents.emit);}};_proto.moveFocusToLastToken = function moveFocusToLastToken() {var items = this.getProps().selectedItems;if (this.state.inputValue === '' && items && items.length > 0) {this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: items.slice(-1) });}};(0, _createClass2.default)(TokenInput, [{ key: "showAddItemHint", get: function get() {var items = this.state.autocompleteItems;var value = this.getProps().valueToItem(this.state.inputValue);if (items && this.hasValueInItems(items, value)) {return false;}var selectedItems = this.getProps().selectedItems;if (selectedItems && this.hasValueInItems(selectedItems, value)) {return false;}if (this.type === TokenInputType.Combined && this.state.inputValue !== '') {return true;}} }, { key: "type", get: function get() {return this.props.type ? this.props.type : TokenInputType.WithReference;} }, { key: "menuRef", get: function get() {return this.tokensInputMenu && this.tokensInputMenu.getMenuRef();} }, { key: "isCursorVisible", get: function get() {return this.isCursorVisibleForState(this.state);} }, { key: "isEditingMode", get: function get() {return this.state.editingTokenIndex > -1;} }, { key: "isInputChanged", get: function get() {if (this.isEditingMode) {return this.isTokenValueChanged;}return this.isInputValueChanged;} }, { key: "isInputValueChanged", get: function get() {var inputValue = this.state.inputValue;return inputValue !== '';} }, { key: "isTokenValueChanged", get: function get() {var _this$state4 = this.state,inputValue = _this$state4.inputValue,editingTokenIndex = _this$state4.editingTokenIndex;var _this$getProps8 = this.getProps(),valueToString = _this$getProps8.valueToString,selectedItems = _this$getProps8.selectedItems;if (this.isEditingMode) {return valueToString(selectedItems[editingTokenIndex]) !== inputValue;}return false;} }]);return TokenInput;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'TokenInput', _class2.defaultProps = { selectedItems: [], delimiters: [',', ' '], renderItem: identity, renderValue: identity, valueToString: identity, valueToItem: function valueToItem(item) {return item;}, toKey: defaultToKey, onValueChange: function onValueChange() {return void 0;}, width: 250, onBlur: _utils.emptyHandler, onFocus: _utils.emptyHandler, onMouseEnter: _utils.emptyHandler, onMouseLeave: _utils.emptyHandler, menuWidth: 'auto', menuAlign: 'cursor' }, _temp)) || _class) || _class);exports.TokenInput = TokenInput;
|