@skbkontur/react-ui 0.0.0-a8f1c3e7a1 → 0.0.0-aa4659ca48
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 +217 -0
- package/README.md +7 -7
- package/cjs/components/Autocomplete/Autocomplete.d.ts +17 -26
- package/cjs/components/Autocomplete/Autocomplete.js +61 -56
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/ArrowLeftIcon.d.ts +1 -1
- package/cjs/components/Button/ArrowRightIcon.d.ts +1 -1
- package/cjs/components/Button/Button.d.ts +27 -14
- package/cjs/components/Button/Button.js +44 -20
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.mixins.d.ts +0 -1
- package/cjs/components/Button/Button.mixins.js +2 -9
- package/cjs/components/Button/Button.mixins.js.map +1 -1
- package/cjs/components/Button/Button.styles.d.ts +3 -3
- package/cjs/components/Button/Button.styles.js +48 -58
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Button/ButtonArrow.js +13 -14
- package/cjs/components/Button/ButtonArrow.js.map +1 -1
- package/cjs/components/Calendar/Calendar.d.ts +2 -0
- package/cjs/components/Calendar/Calendar.js +1 -0
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Center/Center.d.ts +2 -0
- package/cjs/components/Center/Center.js +1 -0
- package/cjs/components/Center/Center.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.d.ts +7 -16
- package/cjs/components/Checkbox/Checkbox.js +24 -54
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.styles.d.ts +0 -3
- package/cjs/components/Checkbox/Checkbox.styles.js +16 -43
- package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/components/Checkbox/CheckedIcon.d.ts +1 -1
- package/cjs/components/Checkbox/IndeterminateIcon.d.ts +1 -1
- package/cjs/components/ComboBox/ComboBox.d.ts +22 -3
- package/cjs/components/ComboBox/ComboBox.js +26 -1
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +15 -45
- package/cjs/components/CurrencyInput/CurrencyInput.js +17 -55
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +1 -1
- package/cjs/components/CurrencyInput/CursorHelper.js +5 -2
- package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
- package/cjs/components/CurrencyInput/constants.js +1 -2
- package/cjs/components/CurrencyInput/constants.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -28
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/DateInput/CalendarIcon.d.ts +1 -1
- package/cjs/components/DateInput/DateInput.d.ts +5 -2
- package/cjs/components/DateInput/DateInput.js +7 -25
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.js +1 -10
- package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +8 -35
- package/cjs/components/DatePicker/DatePicker.js +6 -60
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePicker.d.ts +34 -28
- package/cjs/components/DateRangePicker/DateRangePicker.js +24 -1
- package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePickerInput.js +2 -2
- package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
- package/cjs/components/Dropdown/Dropdown.js +2 -82
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
- package/cjs/components/DropdownMenu/DropdownMenu.js +3 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.js +1 -0
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FileUploader/UploadIcon.d.ts +1 -1
- package/cjs/components/FxInput/FxInput.d.ts +25 -21
- package/cjs/components/FxInput/FxInput.js +129 -68
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/FxInput/FxInputRestoreBtn.js +2 -3
- package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
- package/cjs/components/FxInput/MathFunctionIcon.d.ts +1 -1
- package/cjs/components/FxInput/UndoIcon.d.ts +1 -1
- package/cjs/components/Gapped/Gapped.d.ts +2 -15
- package/cjs/components/Gapped/Gapped.js +1 -25
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
- package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/GlobalLoader/useParams.d.ts +2 -2
- package/cjs/components/Group/Group.d.ts +4 -4
- package/cjs/components/Group/Group.js +80 -41
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Group/Group.styles.d.ts +1 -1
- package/cjs/components/Group/Group.styles.js +7 -7
- package/cjs/components/Group/Group.styles.js.map +1 -1
- package/cjs/components/Hint/Hint.d.ts +2 -0
- package/cjs/components/Hint/Hint.js +1 -0
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Input/Input.d.ts +33 -66
- package/cjs/components/Input/Input.js +31 -181
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.styles.d.ts +0 -7
- package/cjs/components/Input/Input.styles.js +14 -76
- package/cjs/components/Input/Input.styles.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -0
- package/cjs/components/Input/InputLayout/InputLayout.js +4 -2
- package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +4 -2
- package/cjs/components/Kebab/Kebab.js +9 -29
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Kebab/KebabIcon.d.ts +1 -1
- package/cjs/components/Link/Link.d.ts +12 -10
- package/cjs/components/Link/Link.js +11 -2
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Loader/Loader.d.ts +7 -36
- package/cjs/components/Loader/Loader.js +9 -59
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
- package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +107 -78
- package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
- package/cjs/components/MaskedInput/FixedIMaskInput.js +3 -2
- package/cjs/components/MaskedInput/FixedIMaskInput.js.map +1 -1
- package/cjs/components/MaskedInput/MaskedInput.d.ts +9 -0
- package/cjs/components/MaskedInput/MaskedInput.js +44 -9
- package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/components/MenuFooter/MenuFooter.d.ts +1 -1
- package/cjs/components/MenuFooter/MenuFooter.js +0 -1
- package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
- package/cjs/components/MenuHeader/MenuHeader.d.ts +1 -1
- package/cjs/components/MenuHeader/MenuHeader.js +0 -1
- package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +2 -17
- package/cjs/components/MenuItem/MenuItem.js +5 -34
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.styles.d.ts +1 -2
- package/cjs/components/MenuItem/MenuItem.styles.js +12 -17
- package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
- package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -1
- package/cjs/components/MiniModal/MiniModal.styles.js +4 -2
- package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
- package/cjs/components/MiniModal/MiniModalBody.js +10 -2
- package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
- package/cjs/components/Modal/Modal.d.ts +1 -1
- package/cjs/components/Modal/Modal.js +2 -18
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +8 -21
- package/cjs/components/Modal/Modal.styles.js +82 -168
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalBody.d.ts +2 -0
- package/cjs/components/Modal/ModalBody.js +2 -6
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Modal/ModalClose.js +1 -6
- package/cjs/components/Modal/ModalClose.js.map +1 -1
- package/cjs/components/Modal/ModalFooter.js +2 -5
- package/cjs/components/Modal/ModalFooter.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.d.ts +5 -0
- package/cjs/components/Modal/ModalHeader.js +9 -7
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/Paging/DotsIcon.d.ts +3 -0
- package/cjs/components/Paging/DotsIcon.js +13 -0
- package/cjs/components/Paging/DotsIcon.js.map +1 -0
- package/cjs/components/Paging/ForwardIcon.d.ts +4 -1
- package/cjs/components/Paging/ForwardIcon.js +13 -1
- package/cjs/components/Paging/ForwardIcon.js.map +1 -1
- package/cjs/components/Paging/NavigationHelper.js +5 -7
- package/cjs/components/Paging/NavigationHelper.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +14 -3
- package/cjs/components/Paging/Paging.js +116 -58
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/Paging.styles.d.ts +16 -1
- package/cjs/components/Paging/Paging.styles.js +123 -28
- package/cjs/components/Paging/Paging.styles.js.map +1 -1
- package/cjs/components/Paging/PagingHelper.d.ts +1 -1
- package/cjs/components/Paging/PagingHelper.js +18 -11
- package/cjs/components/Paging/PagingHelper.js.map +1 -1
- package/cjs/components/PasswordInput/ClosedIcon.d.ts +1 -1
- package/cjs/components/PasswordInput/OpenedIcon.d.ts +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +10 -18
- package/cjs/components/PasswordInput/PasswordInput.js +22 -46
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.d.ts +4 -1
- package/cjs/components/Radio/Radio.js +9 -10
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/Radio/Radio.styles.d.ts +0 -2
- package/cjs/components/Radio/Radio.styles.js +19 -31
- package/cjs/components/Radio/Radio.styles.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -1
- package/cjs/components/RadioGroup/RadioGroup.js +1 -15
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +0 -1
- package/cjs/components/RadioGroup/RadioGroup.styles.js +5 -10
- package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
- package/cjs/components/ResponsiveLayout/decorator.d.ts +4 -2
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +3 -14
- package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.js +3 -19
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -1
- package/cjs/components/ScrollContainer/ScrollContainer.styles.js +10 -20
- package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
- package/cjs/components/Select/ArrowDownIcon.d.ts +1 -1
- package/cjs/components/Select/Select.d.ts +4 -1
- package/cjs/components/Select/Select.js +10 -6
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePage.js +5 -12
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePage.styles.d.ts +2 -7
- package/cjs/components/SidePage/SidePage.styles.js +41 -74
- package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
- package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
- package/cjs/components/SidePage/SidePageBody.js +1 -0
- package/cjs/components/SidePage/SidePageBody.js.map +1 -1
- package/cjs/components/SidePage/SidePageCloseButton.js +3 -7
- package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
- package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
- package/cjs/components/SidePage/SidePageContainer.js +1 -0
- package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
- package/cjs/components/SidePage/SidePageFooter.js +1 -0
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +10 -7
- package/cjs/components/SidePage/SidePageHeader.js +31 -51
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/SingleToast/SingleToast.d.ts +17 -4
- package/cjs/components/SingleToast/SingleToast.js +28 -5
- package/cjs/components/SingleToast/SingleToast.js.map +1 -1
- package/cjs/components/Spinner/Spinner.d.ts +2 -18
- package/cjs/components/Spinner/Spinner.js +2 -33
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Spinner/Spinner.styles.js +10 -15
- package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
- package/cjs/components/Sticky/Sticky.d.ts +2 -13
- package/cjs/components/Sticky/Sticky.js +4 -30
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +6 -21
- package/cjs/components/Switcher/Switcher.js +8 -26
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Switcher/Switcher.styles.d.ts +1 -1
- package/cjs/components/Switcher/Switcher.styles.js +14 -17
- package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
- package/cjs/components/Tabs/Indicator.d.ts +2 -0
- package/cjs/components/Tabs/Indicator.js +1 -0
- package/cjs/components/Tabs/Indicator.js.map +1 -1
- package/cjs/components/Tabs/Tab.d.ts +2 -0
- package/cjs/components/Tabs/Tab.js +1 -0
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tabs.d.ts +2 -0
- package/cjs/components/Tabs/Tabs.js +1 -0
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +10 -47
- package/cjs/components/Textarea/Textarea.js +28 -66
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/Textarea.styles.js +3 -2
- package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.js +2 -13
- package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
- package/cjs/components/Toast/Toast.d.ts +30 -16
- package/cjs/components/Toast/Toast.js +57 -52
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/ToastView.d.ts +7 -15
- package/cjs/components/Toast/ToastView.js +19 -22
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toast/ToastView.styles.d.ts +4 -0
- package/cjs/components/Toast/ToastView.styles.js +43 -9
- package/cjs/components/Toast/ToastView.styles.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +4 -11
- package/cjs/components/Toggle/Toggle.js +4 -14
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Token/Token.d.ts +2 -0
- package/cjs/components/Token/Token.js +1 -0
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +9 -3
- package/cjs/components/TokenInput/TokenInput.js +74 -58
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +14 -10
- package/cjs/components/Tooltip/Tooltip.js +96 -19
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
- package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
- package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
- package/cjs/components/TooltipMenu/TooltipMenu.js +4 -2
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/components/__stories__/Form.js +95 -0
- package/cjs/components/__stories__/Form.js.map +1 -0
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +1 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +16 -7
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +27 -9
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
- package/cjs/internal/ClearCrossIcon/CrossIcon.d.ts +1 -1
- package/cjs/internal/CloseButtonIcon/CrossIcon.d.ts +1 -1
- package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
- package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
- package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/cjs/internal/CommonWrapper/types.d.ts +1 -1
- package/cjs/internal/CommonWrapper/types.js.map +1 -1
- package/cjs/internal/ComponentTable.js +2 -3
- package/cjs/internal/ComponentTable.js.map +1 -1
- package/cjs/internal/CustomComboBox/ArrowDownIcon.d.ts +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
- package/cjs/internal/CustomComboBox/ComboBoxView.js +48 -6
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +12 -6
- package/cjs/internal/CustomComboBox/CustomComboBox.js +12 -10
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +0 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +18 -24
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
- package/cjs/internal/DateSelect/DateSelect.js +2 -19
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +2 -2
- package/cjs/internal/FileUploaderControl/FileUploaderFile/DeleteIcon.d.ts +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/ErrorIcon.d.ts +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/OkIcon.d.ts +1 -1
- package/cjs/internal/FocusControlWrapper/FocusControlWrapper.stories.d.ts +3 -2
- package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
- package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
- package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +1 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -13
- package/cjs/internal/InputLikeText/InputLikeText.js +17 -111
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
- package/cjs/internal/InputLikeText/InputLikeText.styles.js +12 -4
- package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +235 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +10 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
- package/cjs/internal/Menu/Menu.d.ts +4 -3
- package/cjs/internal/Menu/Menu.js +4 -10
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/Menu/Menu.styles.d.ts +0 -2
- package/cjs/internal/Menu/Menu.styles.js +9 -23
- package/cjs/internal/Menu/Menu.styles.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
- package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
- package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +41 -61
- package/cjs/internal/Popup/Popup.js +58 -118
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/PopupPin.d.ts +16 -42
- package/cjs/internal/Popup/PopupPin.js +130 -224
- package/cjs/internal/Popup/PopupPin.js.map +1 -1
- package/cjs/internal/Popup/PopupPin.styles.d.ts +5 -1
- package/cjs/internal/Popup/PopupPin.styles.js +25 -3
- package/cjs/internal/Popup/PopupPin.styles.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
- package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/PopupMenu/validatePositions.js +5 -2
- package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
- package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
- package/cjs/internal/ResizeDetector/ResizeDetector.js +8 -1
- package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
- package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +1 -0
- package/cjs/internal/ResizeDetector/ResizeDetector.styles.js +7 -1
- package/cjs/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
- package/cjs/internal/SpinnerIcon/SpinnerIcon.d.ts +1 -2
- package/cjs/internal/SpinnerIcon/SpinnerIcon.js +1 -55
- package/cjs/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
- package/cjs/internal/ThemePlayground/HintPlayground.js +7 -4
- package/cjs/internal/ThemePlayground/HintPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.js +5 -1
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
- package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
- package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
- package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
- package/cjs/internal/ThemePlayground/helpers.d.ts +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
- package/cjs/internal/ZIndex/ZIndex.js +5 -1
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/icons2022/LoadingIcon.d.ts +1 -1
- package/cjs/internal/icons2022/LoadingIcon.js +0 -1
- package/cjs/internal/icons2022/LoadingIcon.js.map +1 -1
- package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
- package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
- package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
- package/cjs/internal/icons2022/iconSizer.d.ts +1 -1
- package/cjs/internal/themes/BasicTheme.d.ts +86 -57
- package/cjs/internal/themes/BasicTheme.js +144 -67
- package/cjs/internal/themes/BasicTheme.js.map +1 -1
- package/cjs/internal/themes/DarkTheme6_0.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme6_0.js +575 -0
- package/cjs/internal/themes/DarkTheme6_0.js.map +1 -0
- package/cjs/internal/themes/LightTheme6_0.d.ts +1 -0
- package/cjs/internal/themes/{LightTheme5_0.js → LightTheme6_0.js} +4 -4
- package/cjs/internal/themes/{LightTheme5_0.js.map → LightTheme6_0.js.map} +1 -1
- package/cjs/lib/blink.d.ts +15 -0
- package/cjs/lib/blink.js +65 -0
- package/cjs/lib/blink.js.map +1 -0
- package/cjs/lib/client.d.ts +0 -2
- package/cjs/lib/client.js +1 -3
- package/cjs/lib/client.js.map +1 -1
- package/cjs/lib/createPropsGetter.d.ts +1 -1
- package/cjs/lib/currentEnvironment.js +0 -1
- package/cjs/lib/currentEnvironment.js.map +1 -1
- package/cjs/lib/date/InternalDate.js +5 -4
- package/cjs/lib/date/InternalDate.js.map +1 -1
- package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
- package/cjs/lib/date/InternalDateGetter.js +2 -2
- package/cjs/lib/date/InternalDateGetter.js.map +1 -1
- package/cjs/lib/delay.mts +3 -0
- package/cjs/lib/dom/getDOMRect.d.ts +1 -1
- package/cjs/lib/dom/getScrollWidth.js +4 -2
- package/cjs/lib/dom/getScrollWidth.js.map +1 -1
- package/cjs/lib/events/MouseDrag.js +1 -7
- package/cjs/lib/events/MouseDrag.js.map +1 -1
- package/cjs/lib/events/keyboard/identifiers.js +2 -10
- package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -7
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +0 -5
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +1 -13
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/cjs/lib/forwardRefAndName.d.ts +1 -1
- package/cjs/lib/forwardRefAndName.js +0 -1
- package/cjs/lib/forwardRefAndName.js.map +1 -1
- package/cjs/lib/listenFocusOutside.js +3 -1
- package/cjs/lib/listenFocusOutside.js.map +1 -1
- package/cjs/lib/locale/decorators.d.ts +3 -2
- package/cjs/lib/needsPolyfillPlaceholder.js +1 -3
- package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -1
- package/cjs/lib/rootNode/getRootNode.js +2 -2
- package/cjs/lib/rootNode/getRootNode.js.map +1 -1
- package/cjs/lib/rootNode/rootNodeDecorator.d.ts +3 -2
- package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
- package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
- package/cjs/lib/size/SizeControlContext.d.ts +6 -0
- package/cjs/lib/size/SizeControlContext.js +16 -0
- package/cjs/lib/size/SizeControlContext.js.map +1 -0
- package/cjs/lib/size/SizeDecorator.d.ts +33 -0
- package/cjs/lib/size/SizeDecorator.js +41 -0
- package/cjs/lib/size/SizeDecorator.js.map +1 -0
- package/cjs/lib/size/constants.d.ts +2 -0
- package/cjs/lib/size/constants.js +3 -0
- package/cjs/lib/size/constants.js.map +1 -0
- package/cjs/lib/size/index.d.ts +1 -0
- package/cjs/lib/size/index.js +1 -0
- package/cjs/lib/size/index.js.map +1 -0
- package/cjs/lib/size/useSizeControl.d.ts +2 -0
- package/cjs/lib/size/useSizeControl.js +10 -0
- package/cjs/lib/size/useSizeControl.js.map +1 -0
- package/cjs/lib/styles/Mixins.js +1 -3
- package/cjs/lib/styles/Mixins.js.map +1 -1
- package/cjs/lib/theming/Emotion.d.ts +7 -7
- package/cjs/lib/theming/ThemeHelpers.js +1 -1
- package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
- package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
- package/cjs/lib/theming/ThemeVersions.js.map +1 -1
- package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -3
- package/cjs/lib/theming/themes/DarkTheme.js +3 -7
- package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
- package/cjs/lib/theming/themes/LightTheme.d.ts +1 -3
- package/cjs/lib/theming/themes/LightTheme.js +3 -7
- package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
- package/cjs/lib/typeGuards.js +1 -1
- package/cjs/lib/typeGuards.js.map +1 -1
- package/cjs/lib/utils.d.ts +20 -5
- package/cjs/lib/utils.js +39 -16
- package/cjs/lib/utils.js.map +1 -1
- package/cjs/lib/withClassWrapper.js +5 -2
- package/cjs/lib/withClassWrapper.js.map +1 -1
- package/cjs/test-setup.d.ts +1 -0
- package/cjs/vitest.config.d.ts +2 -0
- package/components/Autocomplete/Autocomplete/Autocomplete.js +49 -47
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +17 -26
- package/components/Button/ArrowLeftIcon.d.ts +1 -1
- package/components/Button/ArrowRightIcon.d.ts +1 -1
- package/components/Button/Button/Button.js +45 -27
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +27 -14
- package/components/Button/Button.mixins/Button.mixins.js +1 -4
- package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
- package/components/Button/Button.mixins.d.ts +0 -1
- package/components/Button/Button.styles/Button.styles.js +29 -29
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Button/Button.styles.d.ts +3 -3
- package/components/Button/ButtonArrow/ButtonArrow.js +1 -3
- package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/Calendar.d.ts +2 -0
- package/components/Center/Center/Center.js.map +1 -1
- package/components/Center/Center.d.ts +2 -0
- package/components/Checkbox/Checkbox/Checkbox.js +17 -43
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +7 -16
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +16 -25
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
- package/components/Checkbox/Checkbox.styles.d.ts +0 -3
- package/components/Checkbox/CheckedIcon.d.ts +1 -1
- package/components/Checkbox/IndeterminateIcon.d.ts +1 -1
- package/components/ComboBox/ComboBox/ComboBox.js +2 -1
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +22 -3
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +20 -61
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +15 -45
- package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +1 -1
- package/components/CurrencyInput/CursorHelper/CursorHelper.js +3 -1
- package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
- package/components/CurrencyInput/constants/constants.js +0 -1
- package/components/CurrencyInput/constants/constants.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/DateInput/CalendarIcon.d.ts +1 -1
- package/components/DateInput/DateInput/DateInput.js +14 -24
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +5 -2
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
- package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +1 -32
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +8 -35
- package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +14 -1
- package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.d.ts +34 -28
- package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +2 -2
- package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
- package/components/Dropdown/Dropdown/Dropdown.js +1 -47
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +2 -47
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +4 -3
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
- package/components/FileUploader/FileUploader/FileUploader.js +1 -0
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/UploadIcon.d.ts +1 -1
- package/components/FxInput/FxInput/FxInput.js +112 -72
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +25 -21
- package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js +2 -2
- package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
- package/components/FxInput/MathFunctionIcon.d.ts +1 -1
- package/components/FxInput/UndoIcon.d.ts +1 -1
- package/components/Gapped/Gapped/Gapped.js +1 -16
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/Gapped/Gapped.d.ts +2 -15
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
- package/components/GlobalLoader/useParams.d.ts +2 -2
- package/components/Group/Group/Group.js +68 -37
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.d.ts +4 -4
- package/components/Group/Group.styles/Group.styles.js +5 -5
- package/components/Group/Group.styles/Group.styles.js.map +1 -1
- package/components/Group/Group.styles.d.ts +1 -1
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +2 -0
- package/components/Input/Input/Input.js +42 -166
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +33 -66
- package/components/Input/Input.styles/Input.styles.js +15 -37
- package/components/Input/Input.styles/Input.styles.js.map +1 -1
- package/components/Input/Input.styles.d.ts +0 -7
- package/components/Input/InputLayout/InputLayout/InputLayout.js +5 -2
- package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
- package/components/Input/InputLayout/InputLayout.d.ts +1 -0
- package/components/Kebab/Kebab/Kebab.js +8 -26
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +4 -2
- package/components/Kebab/KebabIcon.d.ts +1 -1
- package/components/Link/Link/Link.js +5 -2
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +12 -10
- package/components/Loader/Loader/Loader.js +4 -37
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +7 -36
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js +81 -66
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js.map +1 -1
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
- package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js +3 -2
- package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput/MaskedInput.js +29 -7
- package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput.d.ts +9 -0
- package/components/MenuFooter/MenuFooter/MenuFooter.js +0 -2
- package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
- package/components/MenuFooter/MenuFooter.d.ts +1 -1
- package/components/MenuHeader/MenuHeader/MenuHeader.js +0 -2
- package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
- package/components/MenuHeader/MenuHeader.d.ts +1 -1
- package/components/MenuItem/MenuItem/MenuItem.js +3 -17
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +2 -17
- package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +12 -15
- package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
- package/components/MenuItem/MenuItem.styles.d.ts +1 -2
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +2 -2
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
- package/components/MiniModal/MiniModal.styles.d.ts +1 -1
- package/components/MiniModal/MiniModalBody/MiniModalBody.js +11 -5
- package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
- package/components/Modal/Modal/Modal.js +8 -16
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.d.ts +1 -1
- package/components/Modal/Modal.styles/Modal.styles.js +55 -95
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +8 -21
- package/components/Modal/ModalBody/ModalBody.js +1 -3
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Modal/ModalBody.d.ts +2 -0
- package/components/Modal/ModalClose/ModalClose.js +1 -3
- package/components/Modal/ModalClose/ModalClose.js.map +1 -1
- package/components/Modal/ModalFooter/ModalFooter.js +2 -4
- package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js +4 -4
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/Modal/ModalHeader.d.ts +5 -0
- package/components/Paging/DotsIcon/DotsIcon.js +14 -0
- package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
- package/components/Paging/DotsIcon/package.json +6 -0
- package/components/Paging/DotsIcon.d.ts +3 -0
- package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
- package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
- package/components/Paging/ForwardIcon.d.ts +4 -1
- package/components/Paging/NavigationHelper/NavigationHelper.js +4 -7
- package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
- package/components/Paging/Paging/Paging.js +89 -57
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +14 -3
- package/components/Paging/Paging.styles/Paging.styles.js +61 -16
- package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
- package/components/Paging/Paging.styles.d.ts +16 -1
- package/components/Paging/PagingHelper/PagingHelper.js +16 -8
- package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
- package/components/Paging/PagingHelper.d.ts +1 -1
- package/components/PasswordInput/ClosedIcon.d.ts +1 -1
- package/components/PasswordInput/OpenedIcon.d.ts +1 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +17 -37
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +10 -18
- package/components/Radio/Radio/Radio.js +10 -11
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +4 -1
- package/components/Radio/Radio.styles/Radio.styles.js +19 -25
- package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
- package/components/Radio/Radio.styles.d.ts +0 -2
- package/components/RadioGroup/RadioGroup/RadioGroup.js +18 -23
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +2 -1
- package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +5 -8
- package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
- package/components/RadioGroup/RadioGroup.styles.d.ts +0 -1
- package/components/ResponsiveLayout/decorator.d.ts +4 -2
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +2 -15
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +3 -14
- package/components/ScrollContainer/ScrollContainer.helpers.d.ts +1 -1
- package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +10 -13
- package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -1
- package/components/Select/ArrowDownIcon.d.ts +1 -1
- package/components/Select/Select/Select.js +14 -13
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +4 -1
- package/components/SidePage/SidePage/SidePage.js +6 -11
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.styles/SidePage.styles.js +27 -43
- package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
- package/components/SidePage/SidePage.styles.d.ts +2 -7
- package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
- package/components/SidePage/SidePageBody.d.ts +2 -0
- package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +1 -3
- package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
- package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
- package/components/SidePage/SidePageContainer.d.ts +2 -0
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageFooter.d.ts +2 -0
- package/components/SidePage/SidePageHeader/SidePageHeader.js +32 -65
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +10 -7
- package/components/SingleToast/SingleToast/SingleToast.js +23 -14
- package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
- package/components/SingleToast/SingleToast.d.ts +17 -4
- package/components/Spinner/Spinner/Spinner.js +1 -19
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +2 -18
- package/components/Spinner/Spinner.styles/Spinner.styles.js +2 -3
- package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
- package/components/Sticky/Sticky/Sticky.js +6 -21
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +2 -13
- package/components/Switcher/Switcher/Switcher.js +14 -22
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +6 -21
- package/components/Switcher/Switcher.styles/Switcher.styles.js +9 -11
- package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
- package/components/Switcher/Switcher.styles.d.ts +1 -1
- package/components/Tabs/Indicator/Indicator.js.map +1 -1
- package/components/Tabs/Indicator.d.ts +2 -0
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +2 -0
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +2 -0
- package/components/Textarea/Textarea/Textarea.js +26 -60
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +10 -47
- package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
- package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
- package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Toast/Toast/Toast.js +46 -41
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +30 -16
- package/components/Toast/ToastView/ToastView.js +20 -22
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.d.ts +7 -15
- package/components/Toast/ToastView.styles/ToastView.styles.js +17 -5
- package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
- package/components/Toast/ToastView.styles.d.ts +4 -0
- package/components/Toggle/Toggle/Toggle.js +11 -20
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +4 -11
- package/components/Token/Token/Token.js.map +1 -1
- package/components/Token/Token.d.ts +2 -0
- package/components/TokenInput/TokenInput/TokenInput.js +106 -88
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +9 -3
- package/components/Tooltip/Tooltip/Tooltip.js +96 -48
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +14 -10
- package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
- package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
- package/components/Tooltip/Tooltip.styles.d.ts +7 -1
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +4 -3
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
- package/components/__stories__/Form/Form.js +98 -0
- package/components/__stories__/Form/Form.js.map +1 -0
- package/components/__stories__/Form/package.json +6 -0
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +21 -7
- package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +14 -5
- package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
- package/internal/ClearCrossIcon/CrossIcon.d.ts +1 -1
- package/internal/CloseButtonIcon/CrossIcon.d.ts +1 -1
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
- package/internal/CommonWrapper/types/types.js.map +1 -1
- package/internal/CommonWrapper/types.d.ts +1 -1
- package/internal/ComponentTable/ComponentTable.js +0 -2
- package/internal/ComponentTable/ComponentTable.js.map +1 -1
- package/internal/CustomComboBox/ArrowDownIcon.d.ts +1 -1
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +0 -1
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +69 -40
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +18 -19
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +12 -6
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +18 -23
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +0 -1
- package/internal/DateSelect/DateSelect/DateSelect.js +2 -11
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.d.ts +0 -10
- package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +2 -2
- package/internal/FileUploaderControl/FileUploaderFile/DeleteIcon.d.ts +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/ErrorIcon.d.ts +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/OkIcon.d.ts +1 -1
- package/internal/FocusControlWrapper/FocusControlWrapper.stories.d.ts +3 -2
- package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
- package/internal/FocusTrap/FocusTrap.d.ts +2 -0
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +22 -115
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.d.ts +4 -13
- package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +7 -4
- package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +249 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/package.json +6 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js +8 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js.map +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/package.json +6 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
- package/internal/Menu/Menu/Menu.js +2 -5
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.d.ts +4 -3
- package/internal/Menu/Menu.styles/Menu.styles.js +9 -15
- package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
- package/internal/Menu/Menu.styles.d.ts +0 -2
- package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopup.d.ts +2 -0
- package/internal/Popup/Popup/Popup.js +29 -94
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +41 -61
- package/internal/Popup/PopupPin/PopupPin.js +115 -172
- package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
- package/internal/Popup/PopupPin.d.ts +16 -42
- package/internal/Popup/PopupPin.styles/PopupPin.styles.js +15 -3
- package/internal/Popup/PopupPin.styles/PopupPin.styles.js.map +1 -1
- package/internal/Popup/PopupPin.styles.d.ts +5 -1
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +2 -0
- package/internal/PopupMenu/validatePositions/validatePositions.js +3 -1
- package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer.d.ts +2 -3
- package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js +1 -1
- package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
- package/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
- package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js +4 -1
- package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js.map +1 -1
- package/internal/ResizeDetector/ResizeDetector.styles.d.ts +1 -0
- package/internal/SpinnerIcon/SpinnerIcon/SpinnerIcon.js +0 -41
- package/internal/SpinnerIcon/SpinnerIcon/SpinnerIcon.js.map +1 -1
- package/internal/SpinnerIcon/SpinnerIcon.d.ts +1 -2
- package/internal/ThemePlayground/HintPlayground/HintPlayground.js +10 -8
- package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +1 -1
- package/internal/ThemePlayground/Playground/Playground.js +8 -5
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
- package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
- package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
- package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
- package/internal/ThemePlayground/helpers.d.ts +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndex.d.ts +3 -3
- package/internal/icons2022/LoadingIcon/LoadingIcon.js +0 -1
- package/internal/icons2022/LoadingIcon/LoadingIcon.js.map +1 -1
- package/internal/icons2022/LoadingIcon.d.ts +1 -1
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
- package/internal/icons2022/iconSizer.d.ts +1 -1
- package/internal/themes/BasicTheme/BasicTheme.js +176 -103
- package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
- package/internal/themes/BasicTheme.d.ts +86 -57
- package/internal/themes/DarkTheme6_0/DarkTheme6_0.js +409 -0
- package/internal/themes/DarkTheme6_0/DarkTheme6_0.js.map +1 -0
- package/internal/themes/DarkTheme6_0/package.json +6 -0
- package/internal/themes/DarkTheme6_0.d.ts +1 -0
- package/internal/themes/{LightTheme5_0/LightTheme5_0.js → LightTheme6_0/LightTheme6_0.js} +5 -5
- package/internal/themes/{LightTheme5_0/LightTheme5_0.js.map → LightTheme6_0/LightTheme6_0.js.map} +1 -1
- package/internal/themes/LightTheme6_0/package.json +6 -0
- package/internal/themes/LightTheme6_0.d.ts +1 -0
- package/lib/blink/blink.js +63 -0
- package/lib/blink/blink.js.map +1 -0
- package/lib/blink/package.json +6 -0
- package/lib/blink.d.ts +15 -0
- package/lib/client/client.js +0 -2
- package/lib/client/client.js.map +1 -1
- package/lib/client.d.ts +0 -2
- package/lib/createPropsGetter.d.ts +1 -1
- package/lib/currentEnvironment/currentEnvironment.js +2 -3
- package/lib/currentEnvironment/currentEnvironment.js.map +1 -1
- package/lib/date/InternalDate/InternalDate.js +5 -4
- package/lib/date/InternalDate/InternalDate.js.map +1 -1
- package/lib/date/InternalDateGetter/InternalDateGetter.js +2 -2
- package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
- package/lib/date/InternalDateGetter.d.ts +1 -1
- package/lib/delay.d.mts +1 -0
- package/lib/delay.mts +3 -0
- package/lib/dom/getDOMRect.d.ts +1 -1
- package/lib/dom/getScrollWidth/getScrollWidth.js +3 -1
- package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
- package/lib/events/MouseDrag/MouseDrag.js +0 -7
- package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
- package/lib/events/keyboard/identifiers/identifiers.js +1 -10
- package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
- package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -7
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +1 -7
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +0 -5
- package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
- package/lib/forwardRefAndName.d.ts +1 -1
- package/lib/listenFocusOutside/listenFocusOutside.js +3 -1
- package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
- package/lib/locale/decorators.d.ts +3 -2
- package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +1 -2
- package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -1
- package/lib/rootNode/getRootNode/getRootNode.js +1 -1
- package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
- package/lib/rootNode/rootNodeDecorator.d.ts +3 -2
- package/lib/size/SizeControlContext/SizeControlContext.js +7 -0
- package/lib/size/SizeControlContext/SizeControlContext.js.map +1 -0
- package/lib/size/SizeControlContext/package.json +6 -0
- package/lib/size/SizeControlContext.d.ts +6 -0
- package/lib/size/SizeDecorator/SizeDecorator.js +41 -0
- package/lib/size/SizeDecorator/SizeDecorator.js.map +1 -0
- package/lib/size/SizeDecorator/package.json +6 -0
- package/lib/size/SizeDecorator.d.ts +33 -0
- package/lib/size/constants/constants.js +1 -0
- package/lib/size/constants/constants.js.map +1 -0
- package/lib/size/constants/package.json +6 -0
- package/lib/size/constants.d.ts +2 -0
- package/lib/size/index/index.js +1 -0
- package/lib/size/index/index.js.map +1 -0
- package/{internal/InternalMaskedInput → lib/size}/index/package.json +1 -1
- package/lib/size/index.d.ts +1 -0
- package/{internal/InternalMaskedInput → lib/size}/package.json +1 -1
- package/lib/size/useSizeControl/package.json +6 -0
- package/lib/size/useSizeControl/useSizeControl.js +7 -0
- package/lib/size/useSizeControl/useSizeControl.js.map +1 -0
- package/lib/size/useSizeControl.d.ts +2 -0
- package/lib/styles/Mixins/Mixins.js +1 -1
- package/lib/styles/Mixins/Mixins.js.map +1 -1
- package/lib/theming/Emotion.d.ts +7 -7
- package/lib/theming/ThemeHelpers/ThemeHelpers.js +1 -1
- package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
- package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
- package/lib/theming/ThemeVersions.d.ts +1 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -7
- package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/lib/theming/themes/DarkTheme.d.ts +1 -3
- package/lib/theming/themes/LightTheme/LightTheme.js +3 -7
- package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
- package/lib/theming/themes/LightTheme.d.ts +1 -3
- package/lib/typeGuards/typeGuards.js +1 -1
- package/lib/typeGuards/typeGuards.js.map +1 -1
- package/lib/utils/utils.js +32 -14
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +20 -5
- package/lib/withClassWrapper/withClassWrapper.js +3 -1
- package/lib/withClassWrapper/withClassWrapper.js.map +1 -1
- package/package.json +23 -39
- package/test-setup.d.ts +1 -0
- package/vitest.config.d.ts +2 -0
- package/cjs/components/Autocomplete/Autocomplete.md +0 -113
- package/cjs/components/Button/Button.md +0 -261
- package/cjs/components/Calendar/Calendar.md +0 -276
- package/cjs/components/Calendar/CalendarDay.md +0 -70
- package/cjs/components/Center/Center.md +0 -26
- package/cjs/components/Checkbox/Checkbox.md +0 -171
- package/cjs/components/ComboBox/ComboBox.md +0 -574
- package/cjs/components/CurrencyInput/CurrencyInput.md +0 -39
- package/cjs/components/CurrencyLabel/CurrencyLabel.md +0 -29
- package/cjs/components/DateInput/DateInput.md +0 -111
- package/cjs/components/DatePicker/DatePicker.md +0 -368
- package/cjs/components/Dropdown/Dropdown.md +0 -45
- package/cjs/components/DropdownMenu/DropdownMenu.md +0 -290
- package/cjs/components/FileUploader/FileUploader.md +0 -131
- package/cjs/components/FxInput/FxInput.md +0 -31
- package/cjs/components/Gapped/Gapped.md +0 -44
- package/cjs/components/GlobalLoader/GlobalLoader.md +0 -97
- package/cjs/components/Group/Group.md +0 -19
- package/cjs/components/Hint/Hint.md +0 -86
- package/cjs/components/Input/Input.md +0 -86
- package/cjs/components/Input/InputLayout/PolyfillPlaceholder.d.ts +0 -10
- package/cjs/components/Input/InputLayout/PolyfillPlaceholder.js +0 -46
- package/cjs/components/Input/InputLayout/PolyfillPlaceholder.js.map +0 -1
- package/cjs/components/Kebab/Kebab.md +0 -306
- package/cjs/components/Link/Link.md +0 -182
- package/cjs/components/Loader/Loader.md +0 -33
- package/cjs/components/MaskedInput/MaskedInput.md +0 -114
- package/cjs/components/MenuFooter/MenuFooter.md +0 -27
- package/cjs/components/MenuHeader/MenuHeader.md +0 -35
- package/cjs/components/MenuItem/MenuItem.md +0 -139
- package/cjs/components/MenuSeparator/MenuSeparator.md +0 -14
- package/cjs/components/MiniModal/MiniModal.md +0 -231
- package/cjs/components/Modal/Modal.md +0 -56
- package/cjs/components/Paging/Paging.md +0 -57
- package/cjs/components/PasswordInput/PasswordInput.md +0 -29
- package/cjs/components/Radio/Radio.md +0 -57
- package/cjs/components/RadioGroup/RadioGroup.md +0 -44
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
- package/cjs/components/ScrollContainer/ScrollContainer.md +0 -224
- package/cjs/components/Select/Select.md +0 -113
- package/cjs/components/SidePage/SidePage.md +0 -65
- package/cjs/components/SingleToast/SingleToast.md +0 -36
- package/cjs/components/Spinner/Spinner.md +0 -36
- package/cjs/components/Spinner/SpinnerFallbackAnimation.d.ts +0 -25
- package/cjs/components/Spinner/SpinnerFallbackAnimation.js +0 -197
- package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +0 -1
- package/cjs/components/Sticky/Sticky.md +0 -28
- package/cjs/components/Switcher/Switcher.md +0 -111
- package/cjs/components/Tabs/Tab.md +0 -73
- package/cjs/components/Tabs/Tabs.md +0 -54
- package/cjs/components/Textarea/Textarea.md +0 -58
- package/cjs/components/Toast/Toast.md +0 -69
- package/cjs/components/Toast/ToastStatic.d.ts +0 -10
- package/cjs/components/Toast/ToastStatic.js +0 -53
- package/cjs/components/Toast/ToastStatic.js.map +0 -1
- package/cjs/components/Toggle/Toggle.md +0 -110
- package/cjs/components/Token/Token.md +0 -48
- package/cjs/components/TokenInput/TokenInput.md +0 -277
- package/cjs/components/Tooltip/Tooltip.md +0 -322
- package/cjs/components/TooltipMenu/TooltipMenu.md +0 -241
- package/cjs/internal/DataTids/DATATIDS.md +0 -12
- package/cjs/internal/DataTids/DataTids.d.ts +0 -12
- package/cjs/internal/DataTids/DataTids.js +0 -50
- package/cjs/internal/DataTids/DataTids.js.map +0 -1
- package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
- package/cjs/internal/DataTids/DataTids.styles.js +0 -42
- package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
- package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
- package/cjs/internal/DataTids/componentsDataTids.js +0 -15
- package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
- package/cjs/internal/InputLikeText/HiddenInput.d.ts +0 -13
- package/cjs/internal/InputLikeText/HiddenInput.js +0 -43
- package/cjs/internal/InputLikeText/HiddenInput.js.map +0 -1
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.d.ts +0 -50
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js +0 -241
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +0 -1
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.d.ts +0 -6
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.js +0 -30
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.js.map +0 -1
- package/cjs/internal/InternalMaskedInput/index.d.ts +0 -1
- package/cjs/internal/InternalMaskedInput/index.js +0 -1
- package/cjs/internal/InternalMaskedInput/index.js.map +0 -1
- package/cjs/internal/ThemePlayground/Playground.md +0 -7
- package/cjs/internal/themes/BasicLightTheme.d.ts +0 -5
- package/cjs/internal/themes/BasicLightTheme.js +0 -6
- package/cjs/internal/themes/BasicLightTheme.js.map +0 -1
- package/cjs/internal/themes/DarkTheme5_0.d.ts +0 -1
- package/cjs/internal/themes/DarkTheme5_0.js +0 -570
- package/cjs/internal/themes/DarkTheme5_0.js.map +0 -1
- package/cjs/internal/themes/DarkTheme5_1.d.ts +0 -1
- package/cjs/internal/themes/DarkTheme5_1.js +0 -41
- package/cjs/internal/themes/DarkTheme5_1.js.map +0 -1
- package/cjs/internal/themes/DarkTheme5_2.d.ts +0 -1
- package/cjs/internal/themes/DarkTheme5_2.js +0 -29
- package/cjs/internal/themes/DarkTheme5_2.js.map +0 -1
- package/cjs/internal/themes/LightTheme5_0.d.ts +0 -1
- package/cjs/internal/themes/LightTheme5_1.d.ts +0 -1
- package/cjs/internal/themes/LightTheme5_1.js +0 -41
- package/cjs/internal/themes/LightTheme5_1.js.map +0 -1
- package/cjs/internal/themes/LightTheme5_2.d.ts +0 -1
- package/cjs/internal/themes/LightTheme5_2.js +0 -27
- package/cjs/internal/themes/LightTheme5_2.js.map +0 -1
- package/cjs/lib/SSRSafe.d.ts +0 -2
- package/cjs/lib/SSRSafe.js +0 -5
- package/cjs/lib/SSRSafe.js.map +0 -1
- package/cjs/lib/events/fixClickFocusIE.d.ts +0 -1
- package/cjs/lib/events/fixClickFocusIE.js +0 -20
- package/cjs/lib/events/fixClickFocusIE.js.map +0 -1
- package/cjs/lib/events/stopPropagation.d.ts +0 -1
- package/cjs/lib/events/stopPropagation.js +0 -7
- package/cjs/lib/events/stopPropagation.js.map +0 -1
- package/cjs/lib/events/tabListener.d.ts +0 -1
- package/cjs/lib/events/tabListener.js +0 -2
- package/cjs/lib/events/tabListener.js.map +0 -1
- package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
- package/cjs/lib/locale/LOCALECONTEXT.md +0 -222
- package/cjs/lib/theming/ThemeContext.md +0 -265
- package/components/Autocomplete/Autocomplete.md +0 -113
- package/components/Button/Button.md +0 -261
- package/components/Calendar/Calendar.md +0 -276
- package/components/Calendar/CalendarDay.md +0 -70
- package/components/Center/Center.md +0 -26
- package/components/Checkbox/Checkbox.md +0 -171
- package/components/ComboBox/ComboBox.md +0 -574
- package/components/CurrencyInput/CurrencyInput.md +0 -39
- package/components/CurrencyLabel/CurrencyLabel.md +0 -29
- package/components/DateInput/DateInput.md +0 -111
- package/components/DatePicker/DatePicker.md +0 -368
- package/components/Dropdown/Dropdown.md +0 -45
- package/components/DropdownMenu/DropdownMenu.md +0 -290
- package/components/FileUploader/FileUploader.md +0 -131
- package/components/FxInput/FxInput.md +0 -31
- package/components/Gapped/Gapped.md +0 -44
- package/components/GlobalLoader/GlobalLoader.md +0 -97
- package/components/Group/Group.md +0 -19
- package/components/Hint/Hint.md +0 -86
- package/components/Input/Input.md +0 -86
- package/components/Input/InputLayout/PolyfillPlaceholder/PolyfillPlaceholder.js +0 -29
- package/components/Input/InputLayout/PolyfillPlaceholder/PolyfillPlaceholder.js.map +0 -1
- package/components/Input/InputLayout/PolyfillPlaceholder/package.json +0 -6
- package/components/Input/InputLayout/PolyfillPlaceholder.d.ts +0 -10
- package/components/Kebab/Kebab.md +0 -306
- package/components/Link/Link.md +0 -182
- package/components/Loader/Loader.md +0 -33
- package/components/MaskedInput/MaskedInput.md +0 -114
- package/components/MenuFooter/MenuFooter.md +0 -27
- package/components/MenuHeader/MenuHeader.md +0 -35
- package/components/MenuItem/MenuItem.md +0 -139
- package/components/MenuSeparator/MenuSeparator.md +0 -14
- package/components/MiniModal/MiniModal.md +0 -231
- package/components/Modal/Modal.md +0 -56
- package/components/Paging/Paging.md +0 -57
- package/components/PasswordInput/PasswordInput.md +0 -29
- package/components/Radio/Radio.md +0 -57
- package/components/RadioGroup/RadioGroup.md +0 -44
- package/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
- package/components/ScrollContainer/ScrollContainer.md +0 -224
- package/components/Select/Select.md +0 -113
- package/components/SidePage/SidePage.md +0 -65
- package/components/SingleToast/SingleToast.md +0 -36
- package/components/Spinner/Spinner.md +0 -36
- package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +0 -146
- package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +0 -1
- package/components/Spinner/SpinnerFallbackAnimation/package.json +0 -6
- package/components/Spinner/SpinnerFallbackAnimation.d.ts +0 -25
- package/components/Sticky/Sticky.md +0 -28
- package/components/Switcher/Switcher.md +0 -111
- package/components/Tabs/Tab.md +0 -73
- package/components/Tabs/Tabs.md +0 -54
- package/components/Textarea/Textarea.md +0 -58
- package/components/Toast/Toast.md +0 -69
- package/components/Toast/ToastStatic/ToastStatic.js +0 -39
- package/components/Toast/ToastStatic/ToastStatic.js.map +0 -1
- package/components/Toast/ToastStatic/package.json +0 -6
- package/components/Toast/ToastStatic.d.ts +0 -10
- package/components/Toggle/Toggle.md +0 -110
- package/components/Token/Token.md +0 -48
- package/components/TokenInput/TokenInput.md +0 -277
- package/components/Tooltip/Tooltip.md +0 -322
- package/components/TooltipMenu/TooltipMenu.md +0 -241
- package/internal/DataTids/DATATIDS.md +0 -12
- package/internal/DataTids/DataTids/DataTids.js +0 -69
- package/internal/DataTids/DataTids/DataTids.js.map +0 -1
- package/internal/DataTids/DataTids/package.json +0 -6
- package/internal/DataTids/DataTids.d.ts +0 -12
- package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -20
- package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
- package/internal/DataTids/DataTids.styles/package.json +0 -6
- package/internal/DataTids/DataTids.styles.d.ts +0 -7
- package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -12
- package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
- package/internal/DataTids/componentsDataTids/package.json +0 -6
- package/internal/DataTids/componentsDataTids.d.ts +0 -5
- package/internal/InputLikeText/HiddenInput/HiddenInput.js +0 -42
- package/internal/InputLikeText/HiddenInput/HiddenInput.js.map +0 -1
- package/internal/InputLikeText/HiddenInput/package.json +0 -6
- package/internal/InputLikeText/HiddenInput.d.ts +0 -13
- package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js +0 -191
- package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +0 -1
- package/internal/InternalMaskedInput/InternalMaskedInput/package.json +0 -6
- package/internal/InternalMaskedInput/InternalMaskedInput.d.ts +0 -50
- package/internal/InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js +0 -14
- package/internal/InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js.map +0 -1
- package/internal/InternalMaskedInput/InternalMaskedInput.styles/package.json +0 -6
- package/internal/InternalMaskedInput/InternalMaskedInput.styles.d.ts +0 -6
- package/internal/InternalMaskedInput/index/index.js +0 -1
- package/internal/InternalMaskedInput/index/index.js.map +0 -1
- package/internal/InternalMaskedInput/index.d.ts +0 -1
- package/internal/ThemePlayground/Playground.md +0 -7
- package/internal/themes/BasicLightTheme/BasicLightTheme.js +0 -6
- package/internal/themes/BasicLightTheme/BasicLightTheme.js.map +0 -1
- package/internal/themes/BasicLightTheme/package.json +0 -6
- package/internal/themes/BasicLightTheme.d.ts +0 -5
- package/internal/themes/DarkTheme5_0/DarkTheme5_0.js +0 -409
- package/internal/themes/DarkTheme5_0/DarkTheme5_0.js.map +0 -1
- package/internal/themes/DarkTheme5_0/package.json +0 -6
- package/internal/themes/DarkTheme5_0.d.ts +0 -1
- package/internal/themes/DarkTheme5_1/DarkTheme5_1.js +0 -52
- package/internal/themes/DarkTheme5_1/DarkTheme5_1.js.map +0 -1
- package/internal/themes/DarkTheme5_1/package.json +0 -6
- package/internal/themes/DarkTheme5_1.d.ts +0 -1
- package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +0 -27
- package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +0 -1
- package/internal/themes/DarkTheme5_2/package.json +0 -6
- package/internal/themes/DarkTheme5_2.d.ts +0 -1
- package/internal/themes/LightTheme5_0/package.json +0 -6
- package/internal/themes/LightTheme5_0.d.ts +0 -1
- package/internal/themes/LightTheme5_1/LightTheme5_1.js +0 -52
- package/internal/themes/LightTheme5_1/LightTheme5_1.js.map +0 -1
- package/internal/themes/LightTheme5_1/package.json +0 -6
- package/internal/themes/LightTheme5_1.d.ts +0 -1
- package/internal/themes/LightTheme5_2/LightTheme5_2.js +0 -27
- package/internal/themes/LightTheme5_2/LightTheme5_2.js.map +0 -1
- package/internal/themes/LightTheme5_2/package.json +0 -6
- package/internal/themes/LightTheme5_2.d.ts +0 -1
- package/lib/SSRSafe/SSRSafe.js +0 -4
- package/lib/SSRSafe/SSRSafe.js.map +0 -1
- package/lib/SSRSafe/package.json +0 -6
- package/lib/SSRSafe.d.ts +0 -2
- package/lib/events/fixClickFocusIE/fixClickFocusIE.js +0 -18
- package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +0 -1
- package/lib/events/fixClickFocusIE/package.json +0 -6
- package/lib/events/fixClickFocusIE.d.ts +0 -1
- package/lib/events/stopPropagation/package.json +0 -6
- package/lib/events/stopPropagation/stopPropagation.js +0 -7
- package/lib/events/stopPropagation/stopPropagation.js.map +0 -1
- package/lib/events/stopPropagation.d.ts +0 -1
- package/lib/events/tabListener/package.json +0 -6
- package/lib/events/tabListener/tabListener.js +0 -2
- package/lib/events/tabListener/tabListener.js.map +0 -1
- package/lib/events/tabListener.d.ts +0 -1
- package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
- package/lib/locale/LOCALECONTEXT.md +0 -222
- package/lib/theming/ThemeContext.md +0 -265
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","isEqual","globalObject","PopupIds","isKeyArrowHorizontal","isKeyArrowLeft","isKeyArrowRight","isKeyArrowUp","isKeyArrowVertical","isKeyBackspace","isKeyComma","isKeyDelete","isKeyEnter","isKeyEscape","isShortcutSelectAll","LayoutEvents","Token","MenuItem","emptyHandler","getRandomID","ThemeContext","locale","CommonWrapper","cx","getRootNode","rootNode","createPropsGetter","getUid","TokenView","TokenInputLocaleHelper","styles","tokenInputReducer","TokenInputMenu","TextWidthHelper","TEMP_FAKE_FLAG","TokenInputType","DefaultState","inputValue","reservedInputValue","undefined","autocompleteItems","activeTokens","editingTokenIndex","inFocus","loading","preventBlur","inputValueWidth","inputValueHeight","TokenInputDataTids","root","tokenInputMenu","label","defaultToKey","item","toString","identity","defaultRenderToken","_ref","isActive","onClick","onDoubleClick","onRemove","disabled","size","createElement","key","TokenInput","_dec","_class","_TokenInput","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","_textareaId","rootId","input","tokensInputMenu","textHelper","wrapper","memoizedTokens","Map","hasValueInItems","items","value","includes","some","inputRef","node","tokensInputMenuRef","textHelperRef","wrapperRef","dispatch","action","cb","setState","prevState","handleInputFocus","event","type","getProps","onFocus","handleInputBlur","isBlurToMenu","handleOutsideBlur","_this$input","preventDefault","focus","requestAnimationFrame","_this$input2","payload","onBlur","_this$state","isEditingMode","finishTokenEdit","isTokenValueChanged","valueToString","selectItem","isInputChanged","checkForUnexpectedInput","menuRef","document","_this$tokensInputMenu","menu","getMenuRef","relatedTarget","activeElement","contains","handleWrapperMouseDown","_this$wrapper","target","isClickOnToken","handleWrapperMouseUp","handleCopy","isCursorVisible","_this$getProps","selectedItems","delimiters","tokens","map","token","indexOf","sort","index","clipboardData","setData","join","handleInputPaste","WithReference","paste","getData","_this$getProps2","valueToItem","onValueChange","delimiter","stopPropagation","trim","split","RegExp","filter","Boolean","newItems","tryGetItems","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","query","_this$getProps3","isSelectedItem","isEditingItem","autocompleteItemsUnique","editingItem","selectItemIndex","wrap","_callee$","_context","prev","next","props","getItems","hideMenuIfEmptyInputValue","sent","unshift","emit","highlightMenuItem","findIndex","toLowerCase","setTimeout","_this$menuRef","highlightItem","stop","_x","handleKeyDown","handleInputKeyDown","handleWrapperKeyDown","e","_this$input3","_this$input4","WithoutReference","newValue","handleAddItem","isRightmostTokenNotDisabled","isTokenDisabled","enter","up","down","blur","moveFocusToLastToken","selectionStart","getAvailableTokenIndex","itemNew","focusInput","_this$input5","selectInputText","setSelectionRange","_this$wrapper2","_this$getProps4","indexOfActiveToken","itemsNew","_this$input6","handleWrapperArrows","handleTokenEdit","activeItemIndex","newItemIndex","isLeftEdge","isRightEdge","shiftKey","handleWrapperArrowsWithoutShift","handleWrapperArrowsWithShift","_this$input7","handleValueChange","_this$getProps5","handleRemoveToken","_","filteredActiveTokens","handleTokenClick","ctrlKey","_this$getProps6","_this$state2","editedItem","splice","onUnexpectedInput","returnedValue","handleChangeInputValue","trimLeft","endsWith","trimRight","onInputValueChange","Combined","renderTokensStart","slice","renderToken","renderTokensEnd","_this$props$selectedI","_this$props","_this$props$renderTok","handleIconClick","handleTokenDoubleClick","renderedToken","set","renderAddButton","showAddItemHint","_this$locale","addButtonComment","addButtonTitle","comment","itemIndex","has","get","startIndex","isDirectionLeft","_this$getProps7","step","availableIndex","_inheritsLoose","_proto","prototype","getDelimiters","_this$props$delimiter","every","propsGetter","defaultProps","propsWithOldDelimiters","_extends","componentDidMount","_globalObject$documen","updateInputTextWidth","addEventListener","autoFocus","componentDidUpdate","prevProps","clear","isCursorVisibleForState","componentWillUnmount","_globalObject$documen2","removeEventListener","_this$input8","_this$input9","render","_this2","Consumer","theme","renderMain","getLabelSizeClassName","labelLarge","labelMedium","labelSmall","getInputSizeClassName","inputLarge","inputMedium","inputSmall","_cx","_cx2","_cx3","Error","_this$props2","maxMenuHeight","error","warning","renderNotFound","inputMode","renderTotalCount","totalCount","ariaDescribedby","ariaLabel","_this$getProps8","width","onMouseEnter","onMouseLeave","menuWidth","menuAlign","renderItem","_this$state3","showMenu","inputInlineStyles","height","caretColor","labelClassName","hovering","labelDisabled","labelFocused","inputClassName","inputDisabled","placeholder","inputNode","className","inputPlaceholderWrapper","hideCloseButton","id","textareaId","ref","style","spellCheck","onChange","onKeyDown","onPaste","rootNodeRef","setRootNode","onMouseDown","onMouseUp","htmlFor","text","popupMenuId","opened","anchorElementForCursor","anchorElementRoot","reservedInput","reset","parseFloat","getTextWidth","toFixed","getTextHeight","_createClass","_this$props$id","isInputValueChanged","_this$state4","_this$getProps9","PureComponent","__KONTUR_REACT_UI__","displayName","renderValue","toKey"],"sources":["TokenInput.tsx"],"sourcesContent":["import type {\n AriaAttributes,\n ChangeEvent,\n FocusEvent,\n FocusEventHandler,\n HTMLAttributes,\n KeyboardEvent,\n MouseEventHandler,\n ReactNode,\n} from 'react';\nimport React from 'react';\nimport isEqual from 'lodash.isequal';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { PopupIds } from '../../internal/Popup';\nimport {\n isKeyArrowHorizontal,\n isKeyArrowLeft,\n isKeyArrowRight,\n isKeyArrowUp,\n isKeyArrowVertical,\n isKeyBackspace,\n isKeyComma,\n isKeyDelete,\n isKeyEnter,\n isKeyEscape,\n isShortcutSelectAll,\n} from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { Menu } from '../../internal/Menu';\nimport type { TokenProps, TokenSize } from '../Token';\nimport { Token } from '../Token';\nimport type { MenuItemState } from '../MenuItem';\nimport { MenuItem } from '../MenuItem';\nimport type { AnyObject } from '../../lib/utils';\nimport { emptyHandler, getRandomID } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { locale } from '../../lib/locale/decorators';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { getUid } from '../../lib/uidUtils';\nimport { TokenView } from '../Token/TokenView';\n\nimport type { TokenInputLocale } from './locale';\nimport { TokenInputLocaleHelper } from './locale';\nimport { styles } from './TokenInput.styles';\nimport type { TokenInputAction } from './TokenInputReducer';\nimport { tokenInputReducer } from './TokenInputReducer';\nimport { TokenInputMenu } from './TokenInputMenu';\nimport { TextWidthHelper } from './TextWidthHelper';\n\nconst TEMP_FAKE_FLAG = 'TEMP_FAKE_FLAG';\n\nexport enum TokenInputType {\n WithReference,\n WithoutReference,\n Combined,\n}\n\nexport type TokenInputMenuAlign = 'left' | 'cursor';\n\nexport interface TokenInputProps<T>\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Задает выбранные токены, которые будут отображаться в поле ввода. */\n selectedItems?: T[];\n\n /** Задает функцию, которая вызывается при добавлении нового токена. */\n onValueChange?: (items: T[]) => void;\n\n /** Задает HTML-событие `onmouseenter`.\n * @ignore */\n onMouseEnter?: MouseEventHandler<HTMLDivElement>;\n\n /** Задает HTML-событие `onmouseleave`.\n * @ignore */\n onMouseLeave?: MouseEventHandler<HTMLDivElement>;\n\n /** Задает HTML-событие `onfocus`.\n * @ignore */\n onFocus?: FocusEventHandler<HTMLTextAreaElement>;\n\n /** Задает HTML-событие `onblur`.\n * @ignore */\n onBlur?: FocusEventHandler<HTMLTextAreaElement>;\n\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Задает размер контрола. */\n size?: TokenSize;\n\n /** Задает тип инпута.\n * Возможные значения:\n * `TokenInputType.WithReference` (можно выбирать токены только из предложенных, нельзя добавить новые).\n * `TokenInputType.WithoutReference` (можно добавлять токены, но нельзя выбирать).\n * `TokenInputType.Combined` (можно и выбирать, и добавлять). */\n type?: TokenInputType;\n\n /** Задает ширину выпадающего меню. Может быть 'auto', в пикселях, процентах (от ширины инпута) и других конкретных единицах.\n * Если menuAlign = 'cursor', то ширина выпадающего меню всегда будет равна 'auto' (по ширине текста). */\n menuWidth?: React.CSSProperties['width'];\n\n /** Задает выравнивание выпадающего меню. */\n menuAlign?: TokenInputMenuAlign;\n\n /** Задает функцию поиска элементов, должна возвращать Promise с массивом элементов. По умолчанию ожидаются строки.\n * Элементы могут быть любого типа. В таком случае необходимо определить свойства `renderItem`, `valueToString`. */\n getItems?: (query: string) => Promise<T[]>;\n\n /** Скрывает меню при пустом вводе. */\n hideMenuIfEmptyInputValue?: boolean;\n\n /** Задает функцию, которая отображает элемент списка. */\n renderItem?: (item: T, state: MenuItemState) => React.ReactNode | null;\n\n /** Задает функцию, которая отображает выбранное значение. */\n renderValue?: (item: T) => React.ReactNode;\n\n /** Задает функцию, которая возвращает строковое представление токена.\n * @default item => item */\n valueToString?: (item: T) => string;\n\n /** Задает функцию, которая отображает сообщение об общем количестве элементов.\n * `found` учитывает только компонент `MenuItem`. Им \"оборачиваются\" элементы, возвращаемые `getItems()`. */\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n\n /** Определяет общее количество элементов. Необходим для работы `renderTotalCount`. */\n totalCount?: number;\n\n /** Задает функцию, которая отображает заданное содержимое при пустом результате поиска. Не работает, если рендерится `AddButton`. */\n renderNotFound?: () => React.ReactNode;\n\n /** Преобразует значение в элемент списка. */\n valueToItem?: (item: string) => T;\n\n /** Определяет уникальный ключ по элементу. */\n toKey?: (item: T) => string | number | undefined;\n\n /** Задает текст, который отображается если не введено никакое значение. */\n placeholder?: string;\n\n /** Задает символы, которые разделяют введённый текст на токены. */\n delimiters?: string[];\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает ширину токен-инпута. */\n width?: string | number;\n\n /** Задает максимальную высоту выпадающего меню. */\n maxMenuHeight?: number | string;\n\n /** Задает функцию, которая отображает токен и предоставляет возможность кастомизации внешнего вида и поведения токена. */\n renderToken?: (item: T, props: Partial<TokenProps>) => ReactNode;\n\n /** Задает функцию, вызывающуюся при изменении текста в поле ввода. */\n onInputValueChange?: (value: string) => void;\n\n /** Задает функцию отрисовки кнопки добавления в выпадающем списке */\n renderAddButton?: (query?: string, onAddItem?: () => void) => ReactNode;\n\n /** Задает функцию для обработки ввода строки в инпут и последующую потерю фокуса компонентом.\n * Функция срабатывает с аргументом инпута строки\n *\n * Если при потере фокуса в выпадающем списке будет только один элемент и результат `valueToString` с этим элементом будет\n * совпадать со значением в текстовом поле, то сработает `onValueChange` со значением данного элемента\n *\n * Сама функция также может вернуть значение, неравное `undefined`, с которым будет вызван `onValueChange`.\n * При возвращаемом значении `null` будет выполнена очистка текущего значения инпута, а в режиме редактирования токен будет удален. */\n onUnexpectedInput?: (value: string) => void | null | undefined | T;\n\n /** Задает типы вводимых данных. */\n inputMode?: React.HTMLAttributes<HTMLTextAreaElement>['inputMode'];\n}\n\nexport interface TokenInputState<T> {\n autocompleteItems?: T[];\n activeTokens: T[];\n editingTokenIndex: number;\n clickedToken?: T;\n clickedTokenTimeout?: number;\n inFocus?: boolean;\n inputValue: string;\n reservedInputValue: string | undefined;\n inputValueWidth: number;\n inputValueHeight: number;\n preventBlur?: boolean;\n loading?: boolean;\n}\n\nexport const DefaultState = {\n inputValue: '',\n reservedInputValue: undefined,\n autocompleteItems: undefined,\n activeTokens: [],\n editingTokenIndex: -1,\n inFocus: false,\n loading: false,\n preventBlur: false,\n inputValueWidth: 2,\n inputValueHeight: 22,\n};\n\nexport const TokenInputDataTids = {\n root: 'TokenInput__root',\n tokenInputMenu: 'TokenInputMenu__root',\n label: 'TokenInput__label',\n} as const;\n\ntype DefaultProps<T> = Required<\n Pick<\n TokenInputProps<T>,\n | 'selectedItems'\n | 'delimiters'\n | 'renderItem'\n | 'renderValue'\n | 'valueToString'\n | 'valueToItem'\n | 'toKey'\n | 'onValueChange'\n | 'width'\n | 'onBlur'\n | 'onFocus'\n | 'onMouseEnter'\n | 'onMouseLeave'\n | 'menuWidth'\n | 'menuAlign'\n | 'size'\n >\n>;\n\nconst defaultToKey = <T extends AnyObject>(item: T): string => item.toString();\n// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-constraint\nconst identity = <T extends unknown>(item: T): T => item;\nconst defaultRenderToken = <T extends AnyObject>(\n item: T,\n { isActive, onClick, onDoubleClick, onRemove, disabled, size }: Partial<TokenProps>,\n) => (\n <Token\n key={item.toString()}\n isActive={isActive}\n onClick={onClick}\n onDoubleClick={onDoubleClick}\n onRemove={onRemove}\n disabled={disabled}\n size={size}\n >\n {item.toString()}\n </Token>\n);\n\n/**\n * Поле с токенами `TokenInput` — это поле ввода со списком подсказок.\n *\n * Поле с токенами используют для выбора нескольких значений из справочника и для добавления своих значений.\n */\n@rootNode\n@locale('TokenInput', TokenInputLocaleHelper)\nexport class TokenInput<T = string> extends React.PureComponent<TokenInputProps<T>, TokenInputState<T>> {\n public static __KONTUR_REACT_UI__ = 'TokenInput';\n public static displayName = 'TokenInput';\n\n public static defaultProps: DefaultProps<any> = {\n selectedItems: [],\n // TEMP_FAKE_FLAG помогает узнать, остались ли разделители дефолтными или пользователь передал их равными дефолтным.\n delimiters: [',', TEMP_FAKE_FLAG],\n renderItem: identity,\n renderValue: identity,\n valueToString: identity,\n valueToItem: (item: string) => item,\n toKey: defaultToKey,\n onValueChange: () => void 0,\n width: 250 as string | number,\n onBlur: emptyHandler,\n onFocus: emptyHandler,\n onMouseEnter: emptyHandler,\n onMouseLeave: emptyHandler,\n menuWidth: 'auto',\n menuAlign: 'cursor',\n size: 'small',\n };\n\n private getDelimiters(): string[] {\n const delimiters = this.props.delimiters ?? [];\n if (delimiters.every((delimiter) => delimiter !== TEMP_FAKE_FLAG)) {\n return delimiters;\n }\n return delimiters.filter((delimiter) => delimiter !== TEMP_FAKE_FLAG);\n }\n\n private getProps() {\n const propsGetter = createPropsGetter(TokenInput.defaultProps);\n const propsWithOldDelimiters = propsGetter.apply(this);\n return { ...propsWithOldDelimiters, delimiters: this.getDelimiters() };\n }\n\n private get textareaId() {\n return this.props.id ?? this._textareaId;\n }\n\n public state: TokenInputState<T> = DefaultState;\n\n private readonly _textareaId: string = getUid();\n private rootId = PopupIds.root + getRandomID();\n private readonly locale!: TokenInputLocale;\n private theme!: Theme;\n private input: HTMLTextAreaElement | null = null;\n private tokensInputMenu: TokenInputMenu<T> | null = null;\n private textHelper: TextWidthHelper | null = null;\n private wrapper: HTMLLabelElement | null = null;\n private setRootNode!: TSetRootNode;\n private memoizedTokens = new Map();\n\n public componentDidMount() {\n this.updateInputTextWidth();\n globalObject.document?.addEventListener('copy', this.handleCopy);\n if (this.props.autoFocus) {\n this.focusInput();\n }\n }\n\n public componentDidUpdate(prevProps: TokenInputProps<T> & DefaultProps<T>, prevState: TokenInputState<T>) {\n if (prevState.inputValue !== this.state.inputValue) {\n this.updateInputTextWidth();\n }\n if (prevState.activeTokens.length === 0 && this.state.activeTokens.length > 0) {\n this.dispatch({\n type: 'SET_AUTOCOMPLETE_ITEMS',\n payload: undefined,\n });\n }\n if (prevProps.selectedItems.length !== this.getProps().selectedItems.length) {\n LayoutEvents.emit();\n this.memoizedTokens.clear();\n }\n if (!this.isCursorVisibleForState(prevState) && this.isCursorVisible) {\n this.tryGetItems(this.isEditingMode ? '' : this.state.inputValue);\n }\n }\n\n public componentWillUnmount() {\n globalObject.document?.removeEventListener('copy', this.handleCopy);\n }\n\n /**\n * @public\n */\n public focus() {\n this.input?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.input?.blur();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getLabelSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.labelLarge(this.theme);\n case 'medium':\n return styles.labelMedium(this.theme);\n case 'small':\n default:\n return styles.labelSmall(this.theme);\n }\n }\n\n private getInputSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.inputLarge(this.theme);\n case 'medium':\n return styles.inputMedium(this.theme);\n case 'small':\n default:\n return styles.inputSmall(this.theme);\n }\n }\n\n private renderMain() {\n if (this.type !== TokenInputType.WithoutReference && !this.props.getItems) {\n throw Error('Missed getItems for type ' + this.type);\n }\n\n const {\n maxMenuHeight,\n error,\n warning,\n disabled,\n renderNotFound,\n hideMenuIfEmptyInputValue,\n inputMode,\n renderTotalCount,\n totalCount,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n } = this.props;\n\n const { selectedItems, width, onMouseEnter, onMouseLeave, menuWidth, menuAlign, renderItem } = this.getProps();\n\n const {\n activeTokens,\n inFocus,\n inputValueWidth,\n inputValueHeight,\n inputValue,\n reservedInputValue,\n autocompleteItems,\n loading,\n } = this.state;\n\n const showMenu =\n this.type !== TokenInputType.WithoutReference &&\n this.isCursorVisible &&\n activeTokens.length === 0 &&\n (inputValue !== '' || !hideMenuIfEmptyInputValue);\n\n const theme = this.theme;\n\n const inputInlineStyles: React.CSSProperties = {\n // вычисляем ширину чтобы input автоматически перенёсся на следующую строку при необходимости\n width: inputValueWidth,\n height: inputValueHeight,\n // в ie не работает, но альтернативный способ --- дать tabindex для label --- предположительно ещё сложнее\n caretColor: this.isCursorVisible ? undefined : 'transparent',\n };\n\n const labelClassName = cx(styles.label(theme), this.getLabelSizeClassName(), {\n [styles.hovering(this.theme)]: !inFocus && !disabled && !warning && !error,\n [styles.labelDisabled(theme)]: !!disabled,\n [styles.labelFocused(theme)]: !!inFocus,\n [styles.error(theme)]: !!error,\n [styles.warning(theme)]: !!warning,\n });\n const inputClassName = cx(styles.input(theme), this.getInputSizeClassName(), {\n [styles.inputDisabled(theme)]: !!disabled,\n });\n\n const placeholder = selectedItems.length === 0 && !inputValue ? this.props.placeholder : '';\n\n const inputNode = (\n <TokenView\n size={this.getProps().size}\n className={cx({\n // input растягивается на всю ширину чтобы placeholder не обрезался\n [styles.inputPlaceholderWrapper()]: Boolean(placeholder),\n })}\n hideCloseButton={Boolean(placeholder)}\n >\n <textarea\n id={this.textareaId}\n ref={this.inputRef}\n value={inputValue}\n style={inputInlineStyles}\n spellCheck={false}\n disabled={disabled}\n className={inputClassName}\n placeholder={placeholder}\n onFocus={this.handleInputFocus}\n onBlur={this.handleInputBlur}\n onChange={this.handleChangeInputValue}\n onKeyDown={this.handleKeyDown}\n onPaste={this.handleInputPaste}\n inputMode={inputMode}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n />\n </TokenView>\n );\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div data-tid={TokenInputDataTids.root} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>\n <label\n ref={this.wrapperRef}\n style={{ width }}\n className={labelClassName}\n onMouseDown={this.handleWrapperMouseDown}\n onMouseUp={this.handleWrapperMouseUp}\n htmlFor={this.textareaId}\n aria-controls={this.rootId}\n data-tid={TokenInputDataTids.label}\n >\n <TextWidthHelper\n ref={this.textHelperRef}\n text={inputValue}\n theme={this.theme}\n size={this.getProps().size}\n />\n {this.renderTokensStart()}\n {inputNode}\n {showMenu && (\n <TokenInputMenu\n popupMenuId={this.rootId}\n ref={this.tokensInputMenuRef}\n items={autocompleteItems}\n loading={loading}\n opened={showMenu}\n maxMenuHeight={maxMenuHeight}\n anchorElementForCursor={this.input}\n anchorElementRoot={this.wrapper}\n renderNotFound={renderNotFound}\n renderItem={renderItem}\n onValueChange={this.selectItem}\n renderAddButton={this.renderAddButton}\n menuWidth={menuWidth}\n menuAlign={menuAlign}\n renderTotalCount={renderTotalCount}\n totalCount={totalCount}\n size={this.getProps().size}\n />\n )}\n {this.renderTokensEnd()}\n {this.isEditingMode ? (\n <TokenView size={this.props.size}>\n <span className={styles.reservedInput(theme)}>{reservedInputValue}</span>\n </TokenView>\n ) : null}\n </label>\n </div>\n </CommonWrapper>\n );\n }\n\n /**\n * Сбрасывает введенное пользователем значение\n * @public\n */\n public reset() {\n this.dispatch({ type: 'RESET' });\n }\n\n private hasValueInItems = (items: T[], value: T) => {\n if (typeof value === 'string') {\n return items.includes(value);\n }\n // todo: как то не очень\n return items.some((item) => isEqual(item, value));\n };\n\n private get showAddItemHint() {\n const items = this.state.autocompleteItems;\n const value = this.getProps().valueToItem(this.state.inputValue);\n\n if (items && this.hasValueInItems(items, value)) {\n return false;\n }\n\n const selectedItems = this.getProps().selectedItems;\n if (selectedItems && this.hasValueInItems(selectedItems, value)) {\n return false;\n }\n\n if (this.type === TokenInputType.Combined && this.state.inputValue !== '') {\n return true;\n }\n }\n\n private get type() {\n return this.props.type ? this.props.type : TokenInputType.WithReference;\n }\n\n private get menuRef(): Menu | null {\n return this.tokensInputMenu && this.tokensInputMenu.getMenuRef();\n }\n\n private get isCursorVisible() {\n return this.isCursorVisibleForState(this.state);\n }\n\n private get isEditingMode() {\n return this.state.editingTokenIndex > -1;\n }\n\n private isCursorVisibleForState(state: TokenInputState<T>) {\n return state.inFocus && (state.inputValue !== '' || state.activeTokens.length === 0);\n }\n\n private inputRef = (node: HTMLTextAreaElement) => (this.input = node);\n private tokensInputMenuRef = (node: TokenInputMenu<T>) => (this.tokensInputMenu = node);\n private textHelperRef = (node: TextWidthHelper) => (this.textHelper = node);\n private wrapperRef = (node: HTMLLabelElement) => (this.wrapper = node);\n\n private dispatch = (action: TokenInputAction, cb?: () => void) => {\n this.setState((prevState) => tokenInputReducer(prevState, action), cb);\n };\n\n private updateInputTextWidth() {\n if (this.textHelper) {\n // в IE текст иногда не помещается в input\n // из-за округления, поэтому округляем явно\n const inputValueWidth = parseFloat(this.textHelper.getTextWidth().toFixed(2));\n const inputValueHeight = parseFloat(this.textHelper.getTextHeight().toFixed(2));\n\n this.dispatch({ type: 'SET_INPUT_VALUE_WIDTH', payload: inputValueWidth }, LayoutEvents.emit);\n this.dispatch({ type: 'SET_INPUT_VALUE_HEIGHT', payload: inputValueHeight }, LayoutEvents.emit);\n }\n }\n\n private handleInputFocus = (event: FocusEvent<HTMLTextAreaElement>) => {\n this.dispatch({ type: 'SET_FOCUS_IN' });\n this.getProps().onFocus(event);\n };\n\n private handleInputBlur = (event: FocusEvent<HTMLTextAreaElement>) => {\n const isBlurToMenu = this.isBlurToMenu(event);\n\n if (!isBlurToMenu) {\n this.handleOutsideBlur();\n }\n\n if (isBlurToMenu || this.state.preventBlur) {\n event.preventDefault();\n // первый focus нужен для предотвращения/уменьшения моргания в других браузерах\n this.input?.focus();\n // в firefox не работает без второго focus\n globalObject.requestAnimationFrame?.(() => this.input?.focus());\n this.dispatch({ type: 'SET_PREVENT_BLUR', payload: false });\n } else {\n this.dispatch({ type: 'BLUR' });\n this.getProps().onBlur(event);\n }\n };\n\n private handleOutsideBlur = () => {\n const { inputValue, autocompleteItems } = this.state;\n\n if (inputValue === '') {\n // если стерли содержимое токена в режиме редактирования, то удаляем токен\n if (this.isEditingMode) {\n this.finishTokenEdit();\n }\n return;\n }\n\n // если не изменилось значение токена при редактировании\n if (this.isEditingMode && !this.isTokenValueChanged) {\n this.finishTokenEdit();\n return;\n }\n\n // чекаем автокомплит на совпадение с введенным значением в инпут\n if (autocompleteItems && autocompleteItems.length === 1) {\n const item = autocompleteItems[0];\n\n if (this.getProps().valueToString(item) === inputValue) {\n this.isEditingMode ? this.finishTokenEdit() : this.selectItem(item);\n\n return;\n }\n }\n\n if (this.isInputChanged) {\n this.checkForUnexpectedInput();\n }\n };\n\n private get isInputChanged() {\n if (this.isEditingMode) {\n return this.isTokenValueChanged;\n }\n\n return this.isInputValueChanged;\n }\n\n private get isInputValueChanged() {\n const { inputValue } = this.state;\n\n return inputValue !== '';\n }\n\n private get isTokenValueChanged() {\n const { inputValue, editingTokenIndex } = this.state;\n const { valueToString, selectedItems } = this.getProps();\n\n if (this.isEditingMode) {\n return valueToString(selectedItems[editingTokenIndex]) !== inputValue;\n }\n\n return false;\n }\n\n private isBlurToMenu = (event: FocusEvent<HTMLElement>) => {\n if (this.menuRef && globalObject.document) {\n const menu = getRootNode(this.tokensInputMenu?.getMenuRef());\n const relatedTarget = event.relatedTarget || globalObject.document.activeElement;\n\n if (menu && menu.contains(relatedTarget)) {\n return true;\n }\n }\n return false;\n };\n\n private handleWrapperMouseDown = (event: React.MouseEvent<HTMLElement>) => {\n this.dispatch({ type: 'SET_PREVENT_BLUR', payload: true });\n const target = event.target as HTMLElement;\n const isClickOnToken = target && this.wrapper?.contains(target) && target !== this.wrapper && target !== this.input;\n if (!isClickOnToken) {\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' });\n }\n };\n\n private handleWrapperMouseUp = () => {\n this.dispatch({ type: 'SET_PREVENT_BLUR', payload: false });\n };\n\n private handleCopy = (event: any) => {\n if (!this.state.inFocus || this.state.activeTokens.length === 0 || this.isCursorVisible) {\n return;\n }\n event.preventDefault();\n const { selectedItems, valueToString, delimiters } = this.getProps();\n // упорядочивание токенов по индексу\n const tokens = this.state.activeTokens\n .map((token) => selectedItems.indexOf(token))\n .sort()\n .map((index) => selectedItems[index])\n .map((item) => valueToString(item));\n event.clipboardData.setData('text/plain', tokens.join(delimiters[0]));\n };\n\n private handleInputPaste = (event: React.ClipboardEvent<HTMLElement>) => {\n if (this.type === TokenInputType.WithReference || !event.clipboardData) {\n return;\n }\n const paste = event.clipboardData.getData('text');\n const { delimiters, selectedItems, valueToItem, onValueChange } = this.getProps();\n if (delimiters.some((delimiter) => paste.includes(delimiter))) {\n event.preventDefault();\n event.stopPropagation();\n const tokens = paste.trim().split(new RegExp(`[${delimiters.join('')}]+`));\n const items = tokens\n .filter(Boolean)\n .map((token) => valueToItem(token))\n .filter((item) => item && !this.hasValueInItems(selectedItems, item));\n const newItems = selectedItems.concat(items);\n onValueChange(newItems);\n\n this.dispatch({ type: 'SET_AUTOCOMPLETE_ITEMS', payload: undefined });\n this.tryGetItems();\n }\n };\n\n private tryGetItems = async (query = '') => {\n if (this.props.getItems && (this.state.inputValue !== '' || !this.props.hideMenuIfEmptyInputValue)) {\n this.dispatch({ type: 'SET_LOADING', payload: true });\n const autocompleteItems = await this.props.getItems(query);\n this.dispatch({ type: 'SET_LOADING', payload: false });\n\n const { selectedItems, valueToItem, valueToString } = this.getProps();\n const isSelectedItem = (item: T) => this.hasValueInItems(selectedItems, item);\n const isEditingItem = (item: T) => {\n const editingItem = selectedItems[this.state.editingTokenIndex];\n return !!editingItem && isEqual(item, editingItem);\n };\n\n const autocompleteItemsUnique = autocompleteItems.filter((item) => !isSelectedItem(item) || isEditingItem(item));\n\n if (this.isEditingMode) {\n const editingItem = selectedItems[this.state.editingTokenIndex];\n if (\n isEqual(editingItem, valueToItem(this.state.inputValue)) &&\n !this.hasValueInItems(autocompleteItemsUnique, editingItem)\n ) {\n autocompleteItemsUnique.unshift(editingItem);\n }\n }\n\n if (query === '' || this.state.inputValue !== '') {\n this.dispatch({ type: 'SET_AUTOCOMPLETE_ITEMS', payload: autocompleteItemsUnique }, () => {\n LayoutEvents.emit();\n this.highlightMenuItem();\n });\n }\n const selectItemIndex = autocompleteItemsUnique.findIndex(\n (item) => valueToString(item).toLowerCase() === this.state.inputValue.toLowerCase(),\n );\n setTimeout(() => this.menuRef?.highlightItem(selectItemIndex < 0 ? 0 : selectItemIndex), 0);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent<HTMLTextAreaElement>) => {\n if (this.isCursorVisible) {\n this.handleInputKeyDown(event);\n } else {\n this.handleWrapperKeyDown(event);\n }\n };\n\n private handleInputKeyDown = (e: KeyboardEvent<HTMLTextAreaElement>) => {\n e.stopPropagation();\n\n if (\n (this.type !== TokenInputType.WithReference &&\n this.getProps().delimiters.some((key) => key === e.key || (key === ',' && isKeyComma(e)))) ||\n (isKeyEnter(e) && this.type === TokenInputType.WithoutReference)\n ) {\n e.preventDefault();\n const newValue = this.state.inputValue;\n if (newValue !== '') {\n if (this.isEditingMode) {\n this.finishTokenEdit();\n } else {\n this.handleAddItem();\n }\n }\n }\n const isRightmostTokenNotDisabled = !this.isTokenDisabled(this.getProps().selectedItems.length - 1);\n switch (true) {\n case isKeyEnter(e):\n if (this.menuRef) {\n this.menuRef.enter(e);\n }\n // don't allow textarea\n // became multiline\n e.preventDefault();\n break;\n case isKeyArrowVertical(e):\n e.preventDefault();\n if (this.menuRef) {\n if (isKeyArrowUp(e)) {\n this.menuRef.up();\n } else {\n this.menuRef.down();\n }\n }\n break;\n case isKeyEscape(e):\n this.input?.blur();\n break;\n case isKeyBackspace(e):\n if (!this.isEditingMode && isRightmostTokenNotDisabled) {\n this.moveFocusToLastToken();\n }\n break;\n case isKeyArrowLeft(e):\n if (this.input?.selectionStart === 0) {\n const index = this.getAvailableTokenIndex(this.getProps().selectedItems.length);\n const itemNew = this.getProps().selectedItems[index];\n if (itemNew) {\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: [itemNew] });\n }\n }\n break;\n }\n };\n\n private moveFocusToLastToken() {\n const items = this.getProps().selectedItems;\n if (this.state.inputValue === '' && items && items.length > 0) {\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: items.slice(-1) });\n }\n }\n\n private focusInput = () => {\n globalObject.requestAnimationFrame?.(() => this.input?.focus());\n };\n\n private selectInputText = () => {\n if (this.input) {\n this.input.setSelectionRange(0, this.state.inputValue.length);\n }\n };\n\n private handleWrapperKeyDown = (e: KeyboardEvent<HTMLElement>) => {\n const { selectedItems, onValueChange } = this.getProps();\n switch (true) {\n case isKeyBackspace(e):\n case isKeyDelete(e): {\n const indexOfActiveToken = this.getProps().selectedItems.indexOf(\n this.state.activeTokens[this.state.activeTokens.length - 1],\n );\n if (!this.isEditingMode && !this.isTokenDisabled(indexOfActiveToken)) {\n const itemsNew = selectedItems.filter((item) => !this.hasValueInItems(this.state.activeTokens, item));\n onValueChange(itemsNew);\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' }, () => {\n LayoutEvents.emit();\n this.input?.focus();\n });\n }\n break;\n }\n case isKeyArrowHorizontal(e):\n this.handleWrapperArrows(e);\n break;\n case isKeyEscape(e):\n this.wrapper?.blur();\n break;\n case isKeyEnter(e):\n e.preventDefault();\n if (this.state.activeTokens.length === 1) {\n this.handleTokenEdit(this.state.activeTokens[0]);\n }\n break;\n case isShortcutSelectAll(e):\n e.preventDefault();\n this.dispatch({\n type: 'SET_ACTIVE_TOKENS',\n payload: selectedItems.filter((item) => !this.isTokenDisabled(selectedItems.indexOf(item))),\n });\n break;\n }\n };\n\n private handleWrapperArrows = (e: KeyboardEvent<HTMLElement>) => {\n e.preventDefault();\n const selectedItems = this.getProps().selectedItems;\n const activeTokens = this.state.activeTokens;\n const activeItemIndex = selectedItems.indexOf(activeTokens[0]);\n const newItemIndex = this.getAvailableTokenIndex(activeItemIndex, isKeyArrowLeft(e));\n const isLeftEdge = activeItemIndex === 0 && isKeyArrowLeft(e);\n const isRightEdge = newItemIndex === selectedItems.length && isKeyArrowRight(e);\n if (!e.shiftKey && activeTokens.length === 1) {\n this.handleWrapperArrowsWithoutShift(isLeftEdge, isRightEdge, newItemIndex);\n } else {\n this.handleWrapperArrowsWithShift(isLeftEdge, isRightEdge, newItemIndex);\n }\n };\n\n private handleWrapperArrowsWithoutShift = (isLeftEdge: boolean, isRightEdge: boolean, newItemIndex: number) => {\n if (isRightEdge) {\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' }, () => this.input?.focus());\n } else if (!isLeftEdge) {\n this.dispatch({\n type: 'SET_ACTIVE_TOKENS',\n payload: [this.getProps().selectedItems[newItemIndex]],\n });\n }\n };\n\n private handleWrapperArrowsWithShift = (isLeftEdge: boolean, isRightEdge: boolean, newItemIndex: number) => {\n if (!isLeftEdge && !isRightEdge) {\n const itemNew = this.getProps().selectedItems[newItemIndex];\n const itemsNew = [itemNew, ...this.state.activeTokens.filter((item) => !isEqual(item, itemNew))];\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: itemsNew });\n }\n };\n\n private handleValueChange = (items: T[]) => {\n this.getProps().onValueChange(items);\n };\n\n private handleAddItem = () => {\n const item = this.getProps().valueToItem(this.state.inputValue);\n if (item) {\n this.selectItem(item);\n }\n };\n\n private selectItem = (item: T) => {\n const { selectedItems, valueToString } = this.getProps();\n if (this.isEditingMode) {\n this.dispatch({ type: 'UPDATE_QUERY', payload: valueToString(item) }, this.finishTokenEdit);\n } else if (!this.hasValueInItems(selectedItems, item)) {\n this.handleValueChange(selectedItems.concat([item]));\n this.dispatch({ type: 'CLEAR_INPUT' });\n this.tryGetItems();\n }\n };\n\n private handleRemoveToken = (item: T) => {\n this.props.onValueChange?.(this.getProps().selectedItems.filter((_) => !isEqual(_, item)));\n const filteredActiveTokens = this.state.activeTokens.filter((_) => !isEqual(_, item));\n\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: filteredActiveTokens });\n if (filteredActiveTokens.length === 0) {\n this.focusInput();\n }\n\n this.tryGetItems();\n };\n\n private handleTokenClick = (event: React.MouseEvent<HTMLElement>, itemNew: T) => {\n const items = this.state.activeTokens;\n if (event.ctrlKey) {\n const newItems = this.hasValueInItems(this.state.activeTokens, itemNew)\n ? items.filter((item) => !isEqual(item, itemNew))\n : [...items, itemNew];\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: newItems });\n } else {\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: [itemNew] });\n }\n this.focusInput();\n };\n\n private handleTokenEdit = (itemNew: T) => {\n const { selectedItems, valueToString } = this.getProps();\n const editingTokenIndex = selectedItems.findIndex((item) => item === itemNew);\n this.dispatch({ type: 'SET_EDITING_TOKEN_INDEX', payload: editingTokenIndex });\n\n if (this.state.inputValue !== '') {\n if (this.state.reservedInputValue === undefined) {\n this.dispatch({ type: 'SET_TEMPORARY_QUERY', payload: this.state.inputValue });\n }\n }\n this.dispatch({ type: 'UPDATE_QUERY', payload: valueToString(itemNew) }, this.selectInputText);\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' });\n\n this.tryGetItems();\n };\n\n private finishTokenEdit = () => {\n const selectedItems = this.getProps().selectedItems;\n const { editingTokenIndex, inputValue, reservedInputValue } = this.state;\n const editedItem = this.getProps().valueToItem(inputValue);\n const newItems = selectedItems.concat([]);\n\n if (!this.hasValueInItems(selectedItems, editedItem)) {\n newItems.splice(editingTokenIndex, 1, ...(inputValue !== '' ? [editedItem] : []));\n this.handleValueChange(newItems);\n }\n\n this.dispatch({ type: 'REMOVE_EDITING_TOKEN_INDEX' });\n\n if (reservedInputValue) {\n this.dispatch({ type: 'UPDATE_QUERY', payload: reservedInputValue });\n this.dispatch({ type: 'REMOVE_TEMPORARY_QUERY' });\n } else {\n this.dispatch({ type: 'CLEAR_INPUT' });\n }\n\n if (newItems.length === selectedItems.length) {\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: [newItems[editingTokenIndex]] });\n }\n };\n\n private checkForUnexpectedInput = () => {\n const { inputValue } = this.state;\n const { onUnexpectedInput } = this.props;\n\n if (onUnexpectedInput) {\n // чекаем не возвращает ли что-нибудь обработчик\n const returnedValue = onUnexpectedInput(inputValue);\n\n if (returnedValue === undefined) {\n return;\n }\n\n if (returnedValue === null) {\n this.dispatch({ type: 'CLEAR_INPUT' }, () => {\n if (this.isEditingMode) {\n this.finishTokenEdit();\n }\n });\n\n return;\n }\n\n if (returnedValue) {\n this.selectItem(returnedValue);\n }\n }\n };\n\n private handleChangeInputValue = (event: ChangeEvent<HTMLTextAreaElement>) => {\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' });\n let query = event.target.value.trimLeft();\n\n if (query.endsWith(' ')) {\n query = query.trimRight() + ' ';\n }\n if (this.state.inputValue !== '' && query === '') {\n this.dispatch({ type: 'SET_AUTOCOMPLETE_ITEMS', payload: undefined });\n }\n this.dispatch({ type: 'UPDATE_QUERY', payload: query }, () => {\n this.tryGetItems(query);\n });\n if (this.props.onInputValueChange) {\n this.props.onInputValueChange(query);\n }\n };\n\n private highlightMenuItem = () => {\n if (\n this.menuRef &&\n this.state.autocompleteItems &&\n this.state.autocompleteItems.length > 0 &&\n this.type !== TokenInputType.Combined\n ) {\n this.menuRef.highlightItem(0);\n }\n };\n\n private renderTokensStart = () => {\n const { editingTokenIndex } = this.state;\n const selectedItems = this.getProps().selectedItems;\n const delimiter = editingTokenIndex >= 0 ? editingTokenIndex : selectedItems.length;\n return selectedItems.slice(0, delimiter).map(this.renderToken);\n };\n\n private renderTokensEnd = () => {\n if (this.state.editingTokenIndex >= 0) {\n return this.getProps()\n .selectedItems.slice(this.state.editingTokenIndex + 1)\n .map(this.renderToken);\n }\n };\n\n private renderToken = (item: T) => {\n const { renderToken = defaultRenderToken, disabled, size } = this.props;\n\n const isActive = this.state.activeTokens.includes(item);\n\n // TODO useCallback\n const handleIconClick: React.MouseEventHandler<HTMLElement> = (event) => {\n event.stopPropagation();\n if (!this.isEditingMode) {\n this.handleRemoveToken(item);\n }\n };\n\n // TODO useCallback\n const handleTokenClick: React.MouseEventHandler<HTMLDivElement> = (event) => {\n event.stopPropagation();\n if (!this.isEditingMode) {\n this.handleTokenClick(event, item);\n }\n };\n\n const handleTokenDoubleClick: React.MouseEventHandler<HTMLDivElement> = (event) => {\n event.stopPropagation();\n if (!this.isEditingMode && !disabled) {\n this.handleTokenEdit(item);\n }\n };\n\n const renderedToken = renderToken(item as T & AnyObject, {\n size,\n isActive,\n onClick: handleTokenClick,\n onDoubleClick: handleTokenDoubleClick,\n onRemove: handleIconClick,\n disabled,\n });\n\n this.memoizedTokens.set(this.props.selectedItems?.indexOf(item), renderedToken);\n return renderedToken;\n };\n\n private renderAddButton = (value = this.state.inputValue): React.ReactNode | undefined => {\n if (!this.showAddItemHint) {\n return;\n }\n\n if (this.props.renderAddButton) {\n return this.props.renderAddButton(value, this.handleAddItem);\n }\n\n const { addButtonComment, addButtonTitle } = this.locale;\n\n return (\n <MenuItem onClick={this.handleAddItem} comment={addButtonComment} key=\"renderAddButton\">\n {addButtonTitle} {value}\n </MenuItem>\n );\n };\n\n private isTokenDisabled = (itemIndex: number) => {\n let renderedToken;\n if (this.memoizedTokens.has(itemIndex)) {\n renderedToken = this.memoizedTokens.get(itemIndex);\n } else if (itemIndex < 0 || itemIndex > this.getProps().selectedItems.length - 1) {\n return false;\n } else {\n renderedToken = this.renderToken(this.getProps().selectedItems[itemIndex]) as React.ReactElement<\n TokenInputProps<unknown>\n >;\n }\n return renderedToken.props.disabled;\n };\n\n private getAvailableTokenIndex = (startIndex: number, isDirectionLeft = true) => {\n const { selectedItems } = this.getProps();\n const step = isDirectionLeft ? -1 : +1;\n let availableIndex = startIndex + step;\n\n while (this.isTokenDisabled(availableIndex)) {\n availableIndex += step;\n if (availableIndex === selectedItems.length) {\n return availableIndex;\n } else if (availableIndex === -1) {\n return startIndex;\n }\n }\n\n return availableIndex;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","lodashIsEqual","globalObject","logWarning","PopupIds","isKeyArrowHorizontal","isKeyArrowLeft","isKeyArrowRight","isKeyArrowUp","isKeyArrowVertical","isKeyBackspace","isKeyComma","isKeyDelete","isKeyEnter","isKeyEscape","isShortcutSelectAll","LayoutEvents","Token","MenuItem","emptyHandler","getRandomID","ThemeContext","locale","CommonWrapper","cx","getRootNode","rootNode","createPropsGetter","getUid","TokenView","withSize","TokenInputLocaleHelper","styles","tokenInputReducer","TokenInputMenu","TextWidthHelper","TEMP_FAKE_FLAG","TokenInputType","DefaultState","inputValue","reservedInputValue","undefined","autocompleteItems","activeTokens","editingTokenIndex","inFocus","loading","preventBlur","inputValueWidth","inputValueHeight","TokenInputDataTids","root","tokenInputMenu","label","defaultToKey","item","toString","identity","defaultRenderToken","_ref","isActive","onClick","onDoubleClick","onRemove","disabled","size","createElement","key","TokenInput","_dec","_class","_TokenInput","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","_textareaId","rootId","input","tokensInputMenu","textHelper","wrapper","memoizedTokens","Map","isEqual","itemA","itemB","_this$getProps","getProps","itemToId","hasValueInItems","items","value","_this$getProps2","valueToString","map","includes","some","inputRef","node","tokensInputMenuRef","textHelperRef","wrapperRef","dispatch","action","cb","setState","prevState","handleInputFocus","event","type","onFocus","handleInputBlur","isBlurToMenu","handleOutsideBlur","_this$input","preventDefault","focus","requestAnimationFrame","_this$input2","payload","onBlur","_this$state","isEditingMode","finishTokenEdit","isTokenValueChanged","selectItem","isInputChanged","checkForUnexpectedInput","menuRef","document","_this$tokensInputMenu","menu","getMenuRef","relatedTarget","activeElement","contains","handleWrapperMouseDown","_this$wrapper","target","isClickOnToken","handleWrapperMouseUp","handleCopy","isCursorVisible","_this$getProps3","selectedItems","delimiters","tokens","token","indexOf","sort","index","clipboardData","setData","join","handleInputPaste","WithReference","paste","getData","_this$getProps4","valueToItem","onValueChange","delimiter","stopPropagation","trim","split","RegExp","filter","Boolean","newItems","tryGetItems","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","query","_this$getProps5","isSelectedItem","isEditingItem","autocompleteItemsUnique","editingItem","selectItemIndex","wrap","_callee$","_context","prev","next","props","getItems","isInputValueChanged","hideMenuIfEmptyInputValue","sent","unshift","emit","highlightMenuItem","findIndex","toLowerCase","setTimeout","_this$menuRef","highlightItem","stop","_x","handleKeyDown","handleInputKeyDown","handleWrapperKeyDown","e","_this$state$autocompl","_this$state$autocompl2","_this$input3","_this$input4","WithoutReference","newValue","handleAddItem","isRightmostTokenNotDisabled","isTokenDisabled","canSetValueToInput","showAddItemHint","enter","up","down","blur","moveFocusToLastToken","selectionStart","getAvailableTokenIndex","itemNew","focusInput","_this$input5","selectInputText","setSelectionRange","_this$wrapper2","_this$getProps6","indexOfActiveToken","itemsNew","_this$input6","handleWrapperArrows","handleTokenEdit","activeItemIndex","newItemIndex","isLeftEdge","isRightEdge","shiftKey","handleWrapperArrowsWithoutShift","handleWrapperArrowsWithShift","_this$input7","handleValueChange","_this$getProps7","handleRemoveToken","_","filteredActiveTokens","handleTokenClick","ctrlKey","_this$getProps8","_autocompleteItems$fi","_this$getProps9","_this$state2","editedItem","find","splice","onUnexpectedInput","returnedValue","handleChangeInputValue","trimLeft","endsWith","trimRight","onInputValueChange","Combined","renderTokensStart","slice","renderToken","renderTokensEnd","_this$props$selectedI","_this$props","_this$props$renderTok","handleIconClick","handleTokenDoubleClick","renderedToken","set","renderAddButton","_this$locale","addButtonComment","addButtonTitle","comment","itemIndex","has","get","startIndex","isDirectionLeft","_this$getProps10","step","availableIndex","_inheritsLoose","_proto","prototype","getDelimiters","_this$props$delimiter","every","propsGetter","defaultProps","propsWithOldDelimiters","_extends","componentDidMount","_globalObject$documen","updateInputTextWidth","addEventListener","autoFocus","componentDidUpdate","prevProps","clear","isCursorVisibleForState","componentWillUnmount","_globalObject$documen2","removeEventListener","_this$input8","_this$input9","render","_this2","Consumer","theme","renderMain","getLabelSizeClassName","labelLarge","labelMedium","labelSmall","getInputSizeClassName","inputLarge","inputMedium","inputSmall","_cx","_cx2","_cx3","_this$props2","maxMenuHeight","error","warning","renderNotFound","inputMode","renderTotalCount","totalCount","ariaDescribedby","ariaLabel","_this$getProps11","width","onMouseEnter","onMouseLeave","menuWidth","menuAlign","renderItem","_this$state3","showMenu","inputInlineStyles","height","caretColor","labelClassName","hovering","labelDisabled","labelFocused","inputClassName","inputDisabled","placeholder","inputNode","className","inputPlaceholderWrapper","hideCloseButton","id","textareaId","ref","style","spellCheck","onChange","onKeyDown","onPaste","rootNodeRef","setRootNode","onMouseDown","onMouseUp","htmlFor","text","popupMenuId","opened","anchorElementForCursor","anchorElementRoot","reservedInput","reset","parseFloat","getTextWidth","toFixed","getTextHeight","_createClass","_this$props$id","_this$state4","_this$getProps12","PureComponent","__KONTUR_REACT_UI__","displayName","renderValue","toKey"],"sources":["TokenInput.tsx"],"sourcesContent":["import type {\n AriaAttributes,\n ChangeEvent,\n FocusEvent,\n FocusEventHandler,\n HTMLAttributes,\n KeyboardEvent,\n MouseEventHandler,\n ReactNode,\n} from 'react';\nimport React from 'react';\nimport lodashIsEqual from 'lodash.isequal';\nimport { globalObject } from '@skbkontur/global-object';\nimport logWarning from 'warning';\n\nimport { PopupIds } from '../../internal/Popup';\nimport {\n isKeyArrowHorizontal,\n isKeyArrowLeft,\n isKeyArrowRight,\n isKeyArrowUp,\n isKeyArrowVertical,\n isKeyBackspace,\n isKeyComma,\n isKeyDelete,\n isKeyEnter,\n isKeyEscape,\n isShortcutSelectAll,\n} from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { Menu } from '../../internal/Menu';\nimport type { TokenProps, TokenSize } from '../Token';\nimport { Token } from '../Token';\nimport type { MenuItemState } from '../MenuItem';\nimport { MenuItem } from '../MenuItem';\nimport type { AnyObject } from '../../lib/utils';\nimport { emptyHandler, getRandomID } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { locale } from '../../lib/locale/decorators';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { getUid } from '../../lib/uidUtils';\nimport { TokenView } from '../Token/TokenView';\nimport { withSize } from '../../lib/size/SizeDecorator';\nimport type { SizeProp } from '../../lib/types/props';\n\nimport type { TokenInputLocale } from './locale';\nimport { TokenInputLocaleHelper } from './locale';\nimport { styles } from './TokenInput.styles';\nimport type { TokenInputAction } from './TokenInputReducer';\nimport { tokenInputReducer } from './TokenInputReducer';\nimport { TokenInputMenu } from './TokenInputMenu';\nimport { TextWidthHelper } from './TextWidthHelper';\n\nconst TEMP_FAKE_FLAG = 'TEMP_FAKE_FLAG';\n\nexport enum TokenInputType {\n WithReference,\n WithoutReference,\n Combined,\n}\n\nexport type TokenInputMenuAlign = 'left' | 'cursor';\n\nexport interface TokenInputProps<T>\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Задает выбранные токены, которые будут отображаться в поле ввода. */\n selectedItems?: T[];\n\n /** Задает функцию, которая вызывается при добавлении нового токена. */\n onValueChange?: (items: T[]) => void;\n\n /** Задает HTML-событие `onmouseenter`.\n * @ignore */\n onMouseEnter?: MouseEventHandler<HTMLDivElement>;\n\n /** Задает HTML-событие `onmouseleave`.\n * @ignore */\n onMouseLeave?: MouseEventHandler<HTMLDivElement>;\n\n /** Задает HTML-событие `onfocus`.\n * @ignore */\n onFocus?: FocusEventHandler<HTMLTextAreaElement>;\n\n /** Задает HTML-событие `onblur`.\n * @ignore */\n onBlur?: FocusEventHandler<HTMLTextAreaElement>;\n\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Задает размер контрола. */\n size?: TokenSize;\n\n /** Задает тип инпута.\n * Возможные значения:\n * `TokenInputType.WithReference` (можно выбирать токены только из предложенных, нельзя добавить новые).\n * `TokenInputType.WithoutReference` (можно добавлять токены, но нельзя выбирать).\n * `TokenInputType.Combined` (можно и выбирать, и добавлять). */\n type?: TokenInputType;\n\n /** Задает ширину выпадающего меню. Может быть 'auto', в пикселях, процентах (от ширины инпута) и других конкретных единицах.\n * Если menuAlign = 'cursor', то ширина выпадающего меню всегда будет равна 'auto' (по ширине текста). */\n menuWidth?: React.CSSProperties['width'];\n\n /** Задает выравнивание выпадающего меню. */\n menuAlign?: TokenInputMenuAlign;\n\n /** Задает функцию поиска элементов, должна возвращать Promise с массивом элементов. По умолчанию ожидаются строки.\n * Элементы могут быть любого типа. В таком случае необходимо определить свойства `renderItem`, `valueToString`. */\n getItems?: (query: string) => Promise<T[]>;\n\n /** Скрывает меню при пустом вводе. */\n hideMenuIfEmptyInputValue?: boolean;\n\n /** Задает функцию, которая отображает элемент списка. */\n renderItem?: (item: T, state: MenuItemState) => React.ReactNode | null;\n\n /** Задает функцию, которая отображает выбранное значение. */\n renderValue?: (item: T) => React.ReactNode;\n\n /** Задает функцию, которая возвращает строковое представление токена.\n * @default item => item */\n valueToString?: (item: T) => string;\n\n /** Задает функцию, которая отображает сообщение об общем количестве элементов.\n * `found` учитывает только компонент `MenuItem`. Им \"оборачиваются\" элементы, возвращаемые `getItems()`. */\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n\n /** Определяет общее количество элементов. Необходим для работы `renderTotalCount`. */\n totalCount?: number;\n\n /** Задает функцию, которая отображает заданное содержимое при пустом результате поиска. Не работает, если рендерится `AddButton`. */\n renderNotFound?: () => React.ReactNode;\n\n /** Преобразует значение в элемент списка. */\n valueToItem?: (value: string) => T;\n\n /** @deprecated Используйте `itemToId` вместо `toKey`. */\n toKey?: (item: T) => string | number | undefined;\n\n /** Задает функцию сравнения полученных результатов с value. */\n itemToId?: (item: T) => string | number | undefined;\n\n /** Задает текст, который отображается если не введено никакое значение. */\n placeholder?: string;\n\n /** Задает символы, которые разделяют введённый текст на токены. */\n delimiters?: string[];\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает ширину токен-инпута. */\n width?: string | number;\n\n /** Задает максимальную высоту выпадающего меню. */\n maxMenuHeight?: number | string;\n\n /** Задает функцию, которая отображает токен и предоставляет возможность кастомизации внешнего вида и поведения токена. */\n renderToken?: (item: T, props: Partial<TokenProps>) => ReactNode;\n\n /** Задает функцию, вызывающуюся при изменении текста в поле ввода. */\n onInputValueChange?: (value: string) => void;\n\n /** Задает функцию отрисовки кнопки добавления в выпадающем списке */\n renderAddButton?: (query?: string, onAddItem?: () => void) => ReactNode;\n\n /** Задает функцию для обработки ввода строки в инпут и последующую потерю фокуса компонентом.\n * Функция срабатывает с аргументом инпута строки\n *\n * Если при потере фокуса в выпадающем списке будет только один элемент и результат `valueToString` с этим элементом будет\n * совпадать со значением в текстовом поле, то сработает `onValueChange` со значением данного элемента\n *\n * Сама функция также может вернуть значение, неравное `undefined`, с которым будет вызван `onValueChange`.\n * При возвращаемом значении `null` будет выполнена очистка текущего значения инпута, а в режиме редактирования токен будет удален. */\n onUnexpectedInput?: (value: string) => void | null | undefined | T;\n\n /** Задает типы вводимых данных. */\n inputMode?: React.HTMLAttributes<HTMLTextAreaElement>['inputMode'];\n}\n\nexport interface TokenInputState<T> {\n autocompleteItems?: T[];\n activeTokens: T[];\n editingTokenIndex: number;\n clickedToken?: T;\n clickedTokenTimeout?: number;\n inFocus?: boolean;\n inputValue: string;\n reservedInputValue: string | undefined;\n inputValueWidth: number;\n inputValueHeight: number;\n preventBlur?: boolean;\n loading?: boolean;\n}\n\nexport const DefaultState = {\n inputValue: '',\n reservedInputValue: undefined,\n autocompleteItems: undefined,\n activeTokens: [],\n editingTokenIndex: -1,\n inFocus: false,\n loading: false,\n preventBlur: false,\n inputValueWidth: 2,\n inputValueHeight: 22,\n};\n\nexport const TokenInputDataTids = {\n root: 'TokenInput__root',\n tokenInputMenu: 'TokenInputMenu__root',\n label: 'TokenInput__label',\n} as const;\n\ntype DefaultProps<T> = Required<\n Pick<\n TokenInputProps<T>,\n | 'selectedItems'\n | 'delimiters'\n | 'renderItem'\n | 'renderValue'\n | 'valueToString'\n | 'valueToItem'\n | 'toKey'\n | 'itemToId'\n | 'onValueChange'\n | 'width'\n | 'onBlur'\n | 'onFocus'\n | 'onMouseEnter'\n | 'onMouseLeave'\n | 'menuWidth'\n | 'menuAlign'\n >\n>;\n\nconst defaultToKey = <T extends AnyObject>(item: T): string => item.toString();\n// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-constraint\nconst identity = <T extends unknown>(item: T): T => item;\nconst defaultRenderToken = <T extends AnyObject>(\n item: T,\n { isActive, onClick, onDoubleClick, onRemove, disabled, size }: Partial<TokenProps>,\n) => (\n <Token\n key={item.toString()}\n isActive={isActive}\n onClick={onClick}\n onDoubleClick={onDoubleClick}\n onRemove={onRemove}\n disabled={disabled}\n size={size}\n >\n {item.toString()}\n </Token>\n);\n\n/**\n * Поле с токенами `TokenInput` — это поле ввода со списком подсказок.\n *\n * Поле с токенами используют для выбора нескольких значений из справочника и для добавления своих значений.\n */\n@rootNode\n@locale('TokenInput', TokenInputLocaleHelper)\n@withSize\nexport class TokenInput<T = string> extends React.PureComponent<TokenInputProps<T>, TokenInputState<T>> {\n public static __KONTUR_REACT_UI__ = 'TokenInput';\n public static displayName = 'TokenInput';\n\n public static defaultProps: DefaultProps<any> = {\n selectedItems: [],\n // TEMP_FAKE_FLAG помогает узнать, остались ли разделители дефолтными или пользователь передал их равными дефолтным.\n delimiters: [',', TEMP_FAKE_FLAG],\n renderItem: identity,\n renderValue: identity,\n valueToString: identity,\n valueToItem: (item: string) => item,\n toKey: defaultToKey,\n itemToId: defaultToKey,\n onValueChange: () => void 0,\n width: 250 as string | number,\n onBlur: emptyHandler,\n onFocus: emptyHandler,\n onMouseEnter: emptyHandler,\n onMouseLeave: emptyHandler,\n menuWidth: 'auto',\n menuAlign: 'cursor',\n };\n\n private getDelimiters(): string[] {\n const delimiters = this.props.delimiters ?? [];\n if (delimiters.every((delimiter) => delimiter !== TEMP_FAKE_FLAG)) {\n return delimiters;\n }\n return delimiters.filter((delimiter) => delimiter !== TEMP_FAKE_FLAG);\n }\n\n private getProps() {\n const propsGetter = createPropsGetter(TokenInput.defaultProps);\n const propsWithOldDelimiters = propsGetter.apply(this);\n return { ...propsWithOldDelimiters, delimiters: this.getDelimiters() };\n }\n\n private get textareaId() {\n return this.props.id ?? this._textareaId;\n }\n\n public state: TokenInputState<T> = DefaultState;\n\n private readonly _textareaId: string = getUid();\n private rootId = PopupIds.root + getRandomID();\n private readonly locale!: TokenInputLocale;\n private theme!: Theme;\n private size!: SizeProp;\n private input: HTMLTextAreaElement | null = null;\n private tokensInputMenu: TokenInputMenu<T> | null = null;\n private textHelper: TextWidthHelper | null = null;\n private wrapper: HTMLLabelElement | null = null;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private memoizedTokens = new Map();\n\n public componentDidMount() {\n this.updateInputTextWidth();\n globalObject.document?.addEventListener('copy', this.handleCopy);\n if (this.props.autoFocus) {\n this.focusInput();\n }\n }\n\n public componentDidUpdate(prevProps: TokenInputProps<T> & DefaultProps<T>, prevState: TokenInputState<T>) {\n if (prevState.inputValue !== this.state.inputValue) {\n this.updateInputTextWidth();\n }\n if (prevState.activeTokens.length === 0 && this.state.activeTokens.length > 0) {\n this.dispatch({\n type: 'SET_AUTOCOMPLETE_ITEMS',\n payload: undefined,\n });\n }\n if (prevProps.selectedItems.length !== this.getProps().selectedItems.length) {\n LayoutEvents.emit();\n this.memoizedTokens.clear();\n }\n if (!this.isCursorVisibleForState(prevState) && this.isCursorVisible) {\n this.tryGetItems(this.isEditingMode ? '' : this.state.inputValue);\n }\n }\n\n public componentWillUnmount() {\n globalObject.document?.removeEventListener('copy', this.handleCopy);\n }\n\n /**\n * @public\n */\n public focus() {\n this.input?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.input?.blur();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getLabelSizeClassName() {\n switch (this.size) {\n case 'large':\n return styles.labelLarge(this.theme);\n case 'medium':\n return styles.labelMedium(this.theme);\n case 'small':\n default:\n return styles.labelSmall(this.theme);\n }\n }\n\n private getInputSizeClassName() {\n switch (this.size) {\n case 'large':\n return styles.inputLarge(this.theme);\n case 'medium':\n return styles.inputMedium(this.theme);\n case 'small':\n default:\n return styles.inputSmall(this.theme);\n }\n }\n\n private renderMain() {\n if (this.type !== TokenInputType.WithoutReference && !this.props.getItems) {\n logWarning(false, `getItems is required for \"Combined\" and \"WithReference\" modes.`);\n }\n\n const {\n maxMenuHeight,\n error,\n warning,\n disabled,\n renderNotFound,\n hideMenuIfEmptyInputValue,\n inputMode,\n renderTotalCount,\n totalCount,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n } = this.props;\n\n const { selectedItems, width, onMouseEnter, onMouseLeave, menuWidth, menuAlign, renderItem } = this.getProps();\n\n const {\n activeTokens,\n inFocus,\n inputValueWidth,\n inputValueHeight,\n inputValue,\n reservedInputValue,\n autocompleteItems,\n loading,\n } = this.state;\n\n const showMenu =\n this.type !== TokenInputType.WithoutReference &&\n this.isCursorVisible &&\n activeTokens.length === 0 &&\n (this.isInputValueChanged || !hideMenuIfEmptyInputValue);\n\n const theme = this.theme;\n\n const inputInlineStyles: React.CSSProperties = {\n // вычисляем ширину чтобы input автоматически перенёсся на следующую строку при необходимости\n width: inputValueWidth,\n height: inputValueHeight,\n // в ie не работает, но альтернативный способ --- дать tabindex для label --- предположительно ещё сложнее\n caretColor: this.isCursorVisible ? undefined : 'transparent',\n };\n\n const labelClassName = cx(styles.label(theme), this.getLabelSizeClassName(), {\n [styles.hovering(this.theme)]: !inFocus && !disabled && !warning && !error,\n [styles.labelDisabled(theme)]: !!disabled,\n [styles.labelFocused(theme)]: !!inFocus,\n [styles.error(theme)]: !!error,\n [styles.warning(theme)]: !!warning,\n });\n const inputClassName = cx(styles.input(theme), this.getInputSizeClassName(), {\n [styles.inputDisabled(theme)]: !!disabled,\n });\n\n const placeholder = selectedItems.length === 0 && !inputValue ? this.props.placeholder : '';\n\n const inputNode = (\n <TokenView\n size={this.size}\n className={cx({\n // input растягивается на всю ширину чтобы placeholder не обрезался\n [styles.inputPlaceholderWrapper()]: Boolean(placeholder),\n })}\n hideCloseButton={Boolean(placeholder)}\n >\n <textarea\n id={this.textareaId}\n ref={this.inputRef}\n value={inputValue}\n style={inputInlineStyles}\n spellCheck={false}\n disabled={disabled}\n className={inputClassName}\n placeholder={placeholder}\n onFocus={this.handleInputFocus}\n onBlur={this.handleInputBlur}\n onChange={this.handleChangeInputValue}\n onKeyDown={this.handleKeyDown}\n onPaste={this.handleInputPaste}\n inputMode={inputMode}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n />\n </TokenView>\n );\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div data-tid={TokenInputDataTids.root} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>\n <label\n ref={this.wrapperRef}\n style={{ width }}\n className={labelClassName}\n onMouseDown={this.handleWrapperMouseDown}\n onMouseUp={this.handleWrapperMouseUp}\n htmlFor={this.textareaId}\n aria-controls={this.rootId}\n data-tid={TokenInputDataTids.label}\n >\n <TextWidthHelper ref={this.textHelperRef} text={inputValue} theme={this.theme} size={this.size} />\n {this.renderTokensStart()}\n {inputNode}\n {showMenu && (\n <TokenInputMenu\n popupMenuId={this.rootId}\n ref={this.tokensInputMenuRef}\n items={autocompleteItems}\n loading={loading}\n opened={showMenu}\n maxMenuHeight={maxMenuHeight}\n anchorElementForCursor={this.input}\n anchorElementRoot={this.wrapper}\n renderNotFound={renderNotFound}\n renderItem={renderItem}\n onValueChange={this.selectItem}\n renderAddButton={this.renderAddButton}\n menuWidth={menuWidth}\n menuAlign={menuAlign}\n renderTotalCount={renderTotalCount}\n totalCount={totalCount}\n size={this.size}\n />\n )}\n {this.renderTokensEnd()}\n {this.isEditingMode ? (\n <TokenView size={this.size}>\n <span className={styles.reservedInput(theme)}>{reservedInputValue}</span>\n </TokenView>\n ) : null}\n </label>\n </div>\n </CommonWrapper>\n );\n }\n\n /**\n * Сбрасывает введенное пользователем значение\n * @public\n */\n public reset() {\n this.dispatch({ type: 'RESET' });\n }\n\n private isEqual = (itemA: T, itemB: T) => {\n const { itemToId } = this.getProps();\n return lodashIsEqual(itemToId(itemA), itemToId(itemB));\n };\n\n private hasValueInItems = (items: T[], value: string | T) => {\n const { valueToString } = this.getProps();\n if (typeof value === 'string') {\n return items.map((item) => valueToString(item)).includes(value);\n }\n\n return items.some((item) => this.isEqual(item, value));\n };\n\n private get showAddItemHint() {\n const items = this.state.autocompleteItems;\n const value = this.getProps().valueToItem(this.state.inputValue);\n if (items && this.hasValueInItems(items, value)) {\n return false;\n }\n\n const selectedItems = this.getProps().selectedItems;\n if (selectedItems && this.hasValueInItems(selectedItems, value)) {\n return false;\n }\n\n if (this.type === TokenInputType.Combined && this.isInputValueChanged) {\n return true;\n }\n }\n\n private get type() {\n return this.props.type ? this.props.type : TokenInputType.WithReference;\n }\n\n private get menuRef(): Menu | null {\n return this.tokensInputMenu && this.tokensInputMenu.getMenuRef();\n }\n\n private get isCursorVisible() {\n return this.isCursorVisibleForState(this.state);\n }\n\n private get isEditingMode() {\n return this.state.editingTokenIndex > -1;\n }\n\n private isCursorVisibleForState(state: TokenInputState<T>) {\n return state.inFocus && (this.isInputValueChanged || state.activeTokens.length === 0);\n }\n\n private inputRef = (node: HTMLTextAreaElement) => (this.input = node);\n private tokensInputMenuRef = (node: TokenInputMenu<T>) => (this.tokensInputMenu = node);\n private textHelperRef = (node: TextWidthHelper) => (this.textHelper = node);\n private wrapperRef = (node: HTMLLabelElement) => (this.wrapper = node);\n\n private dispatch = (action: TokenInputAction, cb?: () => void) => {\n this.setState((prevState) => tokenInputReducer(prevState, action), cb);\n };\n\n private updateInputTextWidth() {\n if (this.textHelper) {\n // в IE текст иногда не помещается в input\n // из-за округления, поэтому округляем явно\n const inputValueWidth = parseFloat(this.textHelper.getTextWidth().toFixed(2));\n const inputValueHeight = parseFloat(this.textHelper.getTextHeight().toFixed(2));\n\n this.dispatch({ type: 'SET_INPUT_VALUE_WIDTH', payload: inputValueWidth }, LayoutEvents.emit);\n this.dispatch({ type: 'SET_INPUT_VALUE_HEIGHT', payload: inputValueHeight }, LayoutEvents.emit);\n }\n }\n\n private handleInputFocus = (event: FocusEvent<HTMLTextAreaElement>) => {\n this.dispatch({ type: 'SET_FOCUS_IN' });\n this.getProps().onFocus(event);\n };\n\n private handleInputBlur = (event: FocusEvent<HTMLTextAreaElement>) => {\n const isBlurToMenu = this.isBlurToMenu(event);\n\n if (!isBlurToMenu) {\n this.handleOutsideBlur();\n }\n\n if (isBlurToMenu || this.state.preventBlur) {\n event.preventDefault();\n // первый focus нужен для предотвращения/уменьшения моргания в других браузерах\n this.input?.focus();\n // в firefox не работает без второго focus\n globalObject.requestAnimationFrame?.(() => this.input?.focus());\n this.dispatch({ type: 'SET_PREVENT_BLUR', payload: false });\n } else {\n this.dispatch({ type: 'BLUR' });\n this.getProps().onBlur(event);\n }\n };\n\n private handleOutsideBlur = () => {\n const { inputValue, autocompleteItems } = this.state;\n\n if (inputValue === '') {\n // если стерли содержимое токена в режиме редактирования, то удаляем токен\n if (this.isEditingMode) {\n this.finishTokenEdit();\n }\n return;\n }\n\n // если не изменилось значение токена при редактировании\n if (this.isEditingMode && !this.isTokenValueChanged) {\n this.finishTokenEdit();\n return;\n }\n\n // чекаем автокомплит на совпадение с введенным значением в инпут\n if (autocompleteItems && autocompleteItems.length === 1) {\n const item = autocompleteItems[0];\n\n if (this.getProps().valueToString(item) === inputValue) {\n this.isEditingMode ? this.finishTokenEdit() : this.selectItem(item);\n\n return;\n }\n }\n\n if (this.isInputChanged) {\n this.checkForUnexpectedInput();\n }\n };\n\n private get isInputChanged() {\n if (this.isEditingMode) {\n return this.isTokenValueChanged;\n }\n\n return this.isInputValueChanged;\n }\n\n private get isInputValueChanged() {\n const { inputValue } = this.state;\n\n return inputValue !== '';\n }\n\n private get isTokenValueChanged() {\n const { inputValue, editingTokenIndex } = this.state;\n const { valueToString, selectedItems } = this.getProps();\n\n if (this.isEditingMode) {\n return valueToString(selectedItems[editingTokenIndex]) !== inputValue;\n }\n\n return false;\n }\n\n private isBlurToMenu = (event: FocusEvent<HTMLElement>) => {\n if (this.menuRef && globalObject.document) {\n const menu = getRootNode(this.tokensInputMenu?.getMenuRef());\n const relatedTarget = event.relatedTarget || globalObject.document.activeElement;\n\n if (menu && menu.contains(relatedTarget)) {\n return true;\n }\n }\n return false;\n };\n\n private handleWrapperMouseDown = (event: React.MouseEvent<HTMLElement>) => {\n this.dispatch({ type: 'SET_PREVENT_BLUR', payload: true });\n const target = event.target as HTMLElement;\n const isClickOnToken = target && this.wrapper?.contains(target) && target !== this.wrapper && target !== this.input;\n if (!isClickOnToken) {\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' });\n }\n };\n\n private handleWrapperMouseUp = () => {\n this.dispatch({ type: 'SET_PREVENT_BLUR', payload: false });\n };\n\n private handleCopy = (event: any) => {\n if (!this.state.inFocus || this.state.activeTokens.length === 0 || this.isCursorVisible) {\n return;\n }\n event.preventDefault();\n const { selectedItems, valueToString, delimiters } = this.getProps();\n // упорядочивание токенов по индексу\n const tokens = this.state.activeTokens\n .map((token) => selectedItems.indexOf(token))\n .sort()\n .map((index) => selectedItems[index])\n .map((item) => valueToString(item));\n event.clipboardData.setData('text/plain', tokens.join(delimiters[0]));\n };\n\n private handleInputPaste = (event: React.ClipboardEvent<HTMLElement>) => {\n if (this.type === TokenInputType.WithReference || !event.clipboardData) {\n return;\n }\n const paste = event.clipboardData.getData('text');\n const { delimiters, selectedItems, valueToItem, onValueChange } = this.getProps();\n if (delimiters.some((delimiter) => paste.includes(delimiter))) {\n event.preventDefault();\n event.stopPropagation();\n const tokens = paste.trim().split(new RegExp(`[${delimiters.join('')}]+`));\n const items = tokens\n .filter(Boolean)\n .map((token) => valueToItem(token))\n .filter((item) => item && !this.hasValueInItems(selectedItems, item));\n const newItems = selectedItems.concat(items);\n onValueChange(newItems);\n\n this.dispatch({ type: 'SET_AUTOCOMPLETE_ITEMS', payload: undefined });\n this.tryGetItems();\n }\n };\n\n private tryGetItems = async (query = '') => {\n if (this.props.getItems && (this.isInputValueChanged || !this.props.hideMenuIfEmptyInputValue)) {\n this.dispatch({ type: 'SET_LOADING', payload: true });\n const autocompleteItems = await this.props.getItems(query);\n this.dispatch({ type: 'SET_LOADING', payload: false });\n\n const { selectedItems, valueToItem, valueToString } = this.getProps();\n const isSelectedItem = (item: T) => this.hasValueInItems(selectedItems, item);\n const isEditingItem = (item: T) => {\n const editingItem = selectedItems[this.state.editingTokenIndex];\n return !!editingItem && this.isEqual(item, editingItem);\n };\n\n const autocompleteItemsUnique = autocompleteItems.filter((item) => !isSelectedItem(item) || isEditingItem(item));\n\n if (this.isEditingMode) {\n const editingItem = selectedItems[this.state.editingTokenIndex];\n if (\n this.isEqual(editingItem, valueToItem(this.state.inputValue)) &&\n !this.hasValueInItems(autocompleteItemsUnique, editingItem)\n ) {\n autocompleteItemsUnique.unshift(editingItem);\n }\n }\n\n if (query === '' || this.isInputValueChanged) {\n this.dispatch({ type: 'SET_AUTOCOMPLETE_ITEMS', payload: autocompleteItemsUnique }, () => {\n LayoutEvents.emit();\n this.highlightMenuItem();\n });\n }\n const selectItemIndex = autocompleteItemsUnique.findIndex(\n (item) => valueToString(item).toLowerCase() === this.state.inputValue.toLowerCase(),\n );\n setTimeout(() => this.menuRef?.highlightItem(selectItemIndex < 0 ? 0 : selectItemIndex), 0);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent<HTMLTextAreaElement>) => {\n if (this.isCursorVisible) {\n this.handleInputKeyDown(event);\n } else {\n this.handleWrapperKeyDown(event);\n }\n };\n\n private handleInputKeyDown = (e: KeyboardEvent<HTMLTextAreaElement>) => {\n e.stopPropagation();\n\n if (\n (this.type !== TokenInputType.WithReference &&\n this.getProps().delimiters.some((key) => key === e.key || (key === ',' && isKeyComma(e)))) ||\n (isKeyEnter(e) && this.type === TokenInputType.WithoutReference)\n ) {\n e.preventDefault();\n const newValue = this.state.inputValue;\n if (newValue !== '') {\n if (this.isEditingMode) {\n this.finishTokenEdit();\n } else {\n this.handleAddItem();\n }\n }\n }\n const isRightmostTokenNotDisabled = !this.isTokenDisabled(this.getProps().selectedItems.length - 1);\n const canSetValueToInput = this.showAddItemHint || (this.state.autocompleteItems?.length ?? 0) > 0;\n\n switch (true) {\n case isKeyEnter(e):\n if (canSetValueToInput && this.menuRef) {\n this.menuRef.enter(e);\n }\n // don't allow textarea\n // became multiline\n e.preventDefault();\n break;\n case isKeyArrowVertical(e):\n e.preventDefault();\n if (this.menuRef) {\n if (isKeyArrowUp(e)) {\n this.menuRef.up();\n } else {\n this.menuRef.down();\n }\n }\n break;\n case isKeyEscape(e):\n this.input?.blur();\n break;\n case isKeyBackspace(e):\n if (!this.isEditingMode && isRightmostTokenNotDisabled) {\n this.moveFocusToLastToken();\n }\n break;\n case isKeyArrowLeft(e):\n if (this.input?.selectionStart === 0) {\n const index = this.getAvailableTokenIndex(this.getProps().selectedItems.length);\n const itemNew = this.getProps().selectedItems[index];\n if (itemNew) {\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: [itemNew] });\n }\n }\n break;\n }\n };\n\n private moveFocusToLastToken() {\n const items = this.getProps().selectedItems;\n if (this.state.inputValue === '' && items && items.length > 0) {\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: items.slice(-1) });\n }\n }\n\n private focusInput = () => {\n globalObject.requestAnimationFrame?.(() => this.input?.focus());\n };\n\n private selectInputText = () => {\n if (this.input) {\n this.input.setSelectionRange(0, this.state.inputValue.length);\n }\n };\n\n private handleWrapperKeyDown = (e: KeyboardEvent<HTMLElement>) => {\n const { selectedItems, onValueChange } = this.getProps();\n switch (true) {\n case isKeyBackspace(e):\n case isKeyDelete(e): {\n const indexOfActiveToken = this.getProps().selectedItems.indexOf(\n this.state.activeTokens[this.state.activeTokens.length - 1],\n );\n if (!this.isEditingMode && !this.isTokenDisabled(indexOfActiveToken)) {\n const itemsNew = selectedItems.filter((item) => !this.hasValueInItems(this.state.activeTokens, item));\n onValueChange(itemsNew);\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' }, () => {\n LayoutEvents.emit();\n this.input?.focus();\n });\n }\n break;\n }\n case isKeyArrowHorizontal(e):\n this.handleWrapperArrows(e);\n break;\n case isKeyEscape(e):\n this.wrapper?.blur();\n break;\n case isKeyEnter(e):\n e.preventDefault();\n if (this.state.activeTokens.length === 1) {\n this.handleTokenEdit(this.state.activeTokens[0]);\n }\n break;\n case isShortcutSelectAll(e):\n e.preventDefault();\n this.dispatch({\n type: 'SET_ACTIVE_TOKENS',\n payload: selectedItems.filter((item) => !this.isTokenDisabled(selectedItems.indexOf(item))),\n });\n break;\n }\n };\n\n private handleWrapperArrows = (e: KeyboardEvent<HTMLElement>) => {\n e.preventDefault();\n const selectedItems = this.getProps().selectedItems;\n const activeTokens = this.state.activeTokens;\n const activeItemIndex = selectedItems.indexOf(activeTokens[0]);\n const newItemIndex = this.getAvailableTokenIndex(activeItemIndex, isKeyArrowLeft(e));\n const isLeftEdge = activeItemIndex === 0 && isKeyArrowLeft(e);\n const isRightEdge = newItemIndex === selectedItems.length && isKeyArrowRight(e);\n if (!e.shiftKey && activeTokens.length === 1) {\n this.handleWrapperArrowsWithoutShift(isLeftEdge, isRightEdge, newItemIndex);\n } else {\n this.handleWrapperArrowsWithShift(isLeftEdge, isRightEdge, newItemIndex);\n }\n };\n\n private handleWrapperArrowsWithoutShift = (isLeftEdge: boolean, isRightEdge: boolean, newItemIndex: number) => {\n if (isRightEdge) {\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' }, () => this.input?.focus());\n } else if (!isLeftEdge) {\n this.dispatch({\n type: 'SET_ACTIVE_TOKENS',\n payload: [this.getProps().selectedItems[newItemIndex]],\n });\n }\n };\n\n private handleWrapperArrowsWithShift = (isLeftEdge: boolean, isRightEdge: boolean, newItemIndex: number) => {\n if (!isLeftEdge && !isRightEdge) {\n const itemNew = this.getProps().selectedItems[newItemIndex];\n const itemsNew = [itemNew, ...this.state.activeTokens.filter((item) => !this.isEqual(item, itemNew))];\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: itemsNew });\n }\n };\n\n private handleValueChange = (items: T[]) => {\n this.getProps().onValueChange(items);\n };\n\n private handleAddItem = () => {\n const item = this.getProps().valueToItem(this.state.inputValue);\n if (item) {\n this.selectItem(item);\n }\n };\n\n private selectItem = (item: T) => {\n const { selectedItems, valueToString } = this.getProps();\n if (this.isEditingMode) {\n this.dispatch({ type: 'UPDATE_QUERY', payload: valueToString(item) }, this.finishTokenEdit);\n } else if (!this.hasValueInItems(selectedItems, item)) {\n this.handleValueChange(selectedItems.concat([item]));\n this.dispatch({ type: 'CLEAR_INPUT' });\n this.tryGetItems();\n }\n };\n\n private handleRemoveToken = (item: T) => {\n this.props.onValueChange?.(this.getProps().selectedItems.filter((_) => !this.isEqual(_, item)));\n const filteredActiveTokens = this.state.activeTokens.filter((_) => !this.isEqual(_, item));\n\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: filteredActiveTokens });\n if (filteredActiveTokens.length === 0) {\n this.focusInput();\n }\n\n this.tryGetItems();\n };\n\n private handleTokenClick = (event: React.MouseEvent<HTMLElement>, itemNew: T) => {\n const items = this.state.activeTokens;\n if (event.ctrlKey) {\n const newItems = this.hasValueInItems(this.state.activeTokens, itemNew)\n ? items.filter((item) => !this.isEqual(item, itemNew))\n : [...items, itemNew];\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: newItems });\n } else {\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: [itemNew] });\n }\n this.focusInput();\n };\n\n private handleTokenEdit = (itemNew: T) => {\n const { selectedItems, valueToString } = this.getProps();\n const editingTokenIndex = selectedItems.findIndex((item) => item === itemNew);\n this.dispatch({ type: 'SET_EDITING_TOKEN_INDEX', payload: editingTokenIndex });\n\n if (this.isInputValueChanged) {\n if (this.state.reservedInputValue === undefined) {\n this.dispatch({ type: 'SET_TEMPORARY_QUERY', payload: this.state.inputValue });\n }\n }\n this.dispatch({ type: 'UPDATE_QUERY', payload: valueToString(itemNew) }, this.selectInputText);\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' });\n\n this.tryGetItems();\n };\n\n private finishTokenEdit = () => {\n const { selectedItems, valueToString } = this.getProps();\n const { editingTokenIndex, inputValue, reservedInputValue, autocompleteItems } = this.state;\n\n const editedItem =\n autocompleteItems?.find((item) => valueToString(item) === inputValue) ?? this.getProps().valueToItem(inputValue);\n\n const newItems = selectedItems.concat([]);\n\n if (!this.hasValueInItems(selectedItems, editedItem)) {\n newItems.splice(editingTokenIndex, 1, ...(this.isInputValueChanged ? [editedItem] : []));\n this.handleValueChange(newItems);\n }\n\n this.dispatch({ type: 'REMOVE_EDITING_TOKEN_INDEX' });\n\n if (reservedInputValue) {\n this.dispatch({ type: 'UPDATE_QUERY', payload: reservedInputValue });\n this.dispatch({ type: 'REMOVE_TEMPORARY_QUERY' });\n } else {\n this.dispatch({ type: 'CLEAR_INPUT' });\n }\n\n if (newItems.length === selectedItems.length) {\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: [newItems[editingTokenIndex]] });\n }\n };\n\n private checkForUnexpectedInput = () => {\n const { inputValue } = this.state;\n const { onUnexpectedInput } = this.props;\n\n // чекаем не возвращает ли что-нибудь обработчик\n const returnedValue = onUnexpectedInput?.(inputValue);\n\n if (returnedValue === undefined) {\n if (this.type === TokenInputType.WithoutReference) {\n this.handleAddItem();\n }\n\n return;\n }\n\n if (returnedValue === null) {\n this.dispatch({ type: 'CLEAR_INPUT' }, () => {\n if (this.isEditingMode) {\n this.finishTokenEdit();\n }\n });\n\n return;\n }\n\n if (returnedValue) {\n this.selectItem(returnedValue);\n }\n };\n\n private handleChangeInputValue = (event: ChangeEvent<HTMLTextAreaElement>) => {\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' });\n let query = event.target.value.trimLeft();\n\n if (query.endsWith(' ')) {\n query = query.trimRight() + ' ';\n }\n if (this.isInputValueChanged && query === '') {\n this.dispatch({ type: 'SET_AUTOCOMPLETE_ITEMS', payload: undefined });\n }\n this.dispatch({ type: 'UPDATE_QUERY', payload: query }, () => {\n this.tryGetItems(query);\n });\n if (this.props.onInputValueChange) {\n this.props.onInputValueChange(query);\n }\n };\n\n private highlightMenuItem = () => {\n if (\n this.menuRef &&\n this.state.autocompleteItems &&\n this.state.autocompleteItems.length > 0 &&\n this.type !== TokenInputType.Combined\n ) {\n this.menuRef.highlightItem(0);\n }\n };\n\n private renderTokensStart = () => {\n const { editingTokenIndex } = this.state;\n const selectedItems = this.getProps().selectedItems;\n const delimiter = editingTokenIndex >= 0 ? editingTokenIndex : selectedItems.length;\n return selectedItems.slice(0, delimiter).map(this.renderToken);\n };\n\n private renderTokensEnd = () => {\n if (this.state.editingTokenIndex >= 0) {\n return this.getProps()\n .selectedItems.slice(this.state.editingTokenIndex + 1)\n .map(this.renderToken);\n }\n };\n\n private renderToken = (item: T) => {\n const { renderToken = defaultRenderToken, disabled } = this.props;\n\n const isActive = this.state.activeTokens.includes(item);\n\n // TODO useCallback\n const handleIconClick: React.MouseEventHandler<HTMLElement> = (event) => {\n event.stopPropagation();\n if (!this.isEditingMode) {\n this.handleRemoveToken(item);\n }\n };\n\n // TODO useCallback\n const handleTokenClick: React.MouseEventHandler<HTMLDivElement> = (event) => {\n event.stopPropagation();\n if (!this.isEditingMode) {\n this.handleTokenClick(event, item);\n }\n };\n\n const handleTokenDoubleClick: React.MouseEventHandler<HTMLDivElement> = (event) => {\n event.stopPropagation();\n if (!this.isEditingMode && !disabled) {\n this.handleTokenEdit(item);\n }\n };\n\n const renderedToken = renderToken(item as T & AnyObject, {\n size: this.size,\n isActive,\n onClick: handleTokenClick,\n onDoubleClick: handleTokenDoubleClick,\n onRemove: handleIconClick,\n disabled,\n });\n\n this.memoizedTokens.set(this.props.selectedItems?.indexOf(item), renderedToken);\n return renderedToken;\n };\n\n private renderAddButton = (value = this.state.inputValue): React.ReactNode | undefined => {\n if (!this.showAddItemHint) {\n return;\n }\n\n if (this.props.renderAddButton) {\n return this.props.renderAddButton(value, this.handleAddItem);\n }\n\n const { addButtonComment, addButtonTitle } = this.locale;\n\n return (\n <MenuItem onClick={this.handleAddItem} comment={addButtonComment} key=\"renderAddButton\">\n {addButtonTitle} {value}\n </MenuItem>\n );\n };\n\n private isTokenDisabled = (itemIndex: number) => {\n let renderedToken;\n if (this.memoizedTokens.has(itemIndex)) {\n renderedToken = this.memoizedTokens.get(itemIndex);\n } else if (itemIndex < 0 || itemIndex > this.getProps().selectedItems.length - 1) {\n return false;\n } else {\n renderedToken = this.renderToken(this.getProps().selectedItems[itemIndex]) as React.ReactElement<\n TokenInputProps<unknown>\n >;\n }\n return renderedToken.props.disabled;\n };\n\n private getAvailableTokenIndex = (startIndex: number, isDirectionLeft = true) => {\n const { selectedItems } = this.getProps();\n const step = isDirectionLeft ? -1 : +1;\n let availableIndex = startIndex + step;\n\n while (this.isTokenDisabled(availableIndex)) {\n availableIndex += step;\n if (availableIndex === selectedItems.length) {\n return availableIndex;\n } else if (availableIndex === -1) {\n return startIndex;\n }\n }\n\n return availableIndex;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@ import React from 'react';
|
|
|
3
3
|
import type { TokenProps, TokenSize } from '../Token';
|
|
4
4
|
import type { MenuItemState } from '../MenuItem';
|
|
5
5
|
import type { CommonProps } from '../../internal/CommonWrapper';
|
|
6
|
+
import type { TGetRootNode } from '../../lib/rootNode';
|
|
6
7
|
export declare enum TokenInputType {
|
|
7
8
|
WithReference = 0,
|
|
8
9
|
WithoutReference = 1,
|
|
@@ -61,9 +62,11 @@ export interface TokenInputProps<T> extends CommonProps, Pick<AriaAttributes, 'a
|
|
|
61
62
|
/** Задает функцию, которая отображает заданное содержимое при пустом результате поиска. Не работает, если рендерится `AddButton`. */
|
|
62
63
|
renderNotFound?: () => React.ReactNode;
|
|
63
64
|
/** Преобразует значение в элемент списка. */
|
|
64
|
-
valueToItem?: (
|
|
65
|
-
/**
|
|
65
|
+
valueToItem?: (value: string) => T;
|
|
66
|
+
/** @deprecated Используйте `itemToId` вместо `toKey`. */
|
|
66
67
|
toKey?: (item: T) => string | number | undefined;
|
|
68
|
+
/** Задает функцию сравнения полученных результатов с value. */
|
|
69
|
+
itemToId?: (item: T) => string | number | undefined;
|
|
67
70
|
/** Задает текст, который отображается если не введено никакое значение. */
|
|
68
71
|
placeholder?: string;
|
|
69
72
|
/** Задает символы, которые разделяют введённый текст на токены. */
|
|
@@ -127,7 +130,7 @@ export declare const TokenInputDataTids: {
|
|
|
127
130
|
readonly tokenInputMenu: "TokenInputMenu__root";
|
|
128
131
|
readonly label: "TokenInput__label";
|
|
129
132
|
};
|
|
130
|
-
type DefaultProps<T> = Required<Pick<TokenInputProps<T>, 'selectedItems' | 'delimiters' | 'renderItem' | 'renderValue' | 'valueToString' | 'valueToItem' | 'toKey' | 'onValueChange' | 'width' | 'onBlur' | 'onFocus' | 'onMouseEnter' | 'onMouseLeave' | 'menuWidth' | 'menuAlign'
|
|
133
|
+
type DefaultProps<T> = Required<Pick<TokenInputProps<T>, 'selectedItems' | 'delimiters' | 'renderItem' | 'renderValue' | 'valueToString' | 'valueToItem' | 'toKey' | 'itemToId' | 'onValueChange' | 'width' | 'onBlur' | 'onFocus' | 'onMouseEnter' | 'onMouseLeave' | 'menuWidth' | 'menuAlign'>>;
|
|
131
134
|
/**
|
|
132
135
|
* Поле с токенами `TokenInput` — это поле ввода со списком подсказок.
|
|
133
136
|
*
|
|
@@ -145,10 +148,12 @@ export declare class TokenInput<T = string> extends React.PureComponent<TokenInp
|
|
|
145
148
|
private rootId;
|
|
146
149
|
private readonly locale;
|
|
147
150
|
private theme;
|
|
151
|
+
private size;
|
|
148
152
|
private input;
|
|
149
153
|
private tokensInputMenu;
|
|
150
154
|
private textHelper;
|
|
151
155
|
private wrapper;
|
|
156
|
+
getRootNode: TGetRootNode;
|
|
152
157
|
private setRootNode;
|
|
153
158
|
private memoizedTokens;
|
|
154
159
|
componentDidMount(): void;
|
|
@@ -171,6 +176,7 @@ export declare class TokenInput<T = string> extends React.PureComponent<TokenInp
|
|
|
171
176
|
* @public
|
|
172
177
|
*/
|
|
173
178
|
reset(): void;
|
|
179
|
+
private isEqual;
|
|
174
180
|
private hasValueInItems;
|
|
175
181
|
private get showAddItemHint();
|
|
176
182
|
private get type();
|