@skbkontur/react-ui 3.9.4 → 3.10.0-fileuploader.3
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 +21 -0
- package/README.md +57 -0
- package/cjs/components/Autocomplete/Autocomplete.d.ts +113 -112
- package/cjs/components/Autocomplete/Autocomplete.js +11 -5
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Autocomplete/index.d.ts +1 -1
- package/cjs/components/Button/Button.d.ts +161 -160
- package/cjs/components/Button/Button.js +9 -4
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.mixins.d.ts +6 -6
- package/cjs/components/Button/Button.styles.d.ts +68 -67
- package/cjs/components/Button/Button.styles.js +38 -28
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Button/Corners.d.ts +6 -6
- package/cjs/components/Button/index.d.ts +1 -1
- package/cjs/components/Center/Center.d.ts +25 -24
- package/cjs/components/Center/Center.js +10 -3
- package/cjs/components/Center/Center.js.map +1 -1
- package/cjs/components/Center/Center.styles.d.ts +7 -7
- package/cjs/components/Center/index.d.ts +1 -1
- package/cjs/components/Checkbox/Checkbox.d.ts +96 -95
- package/cjs/components/Checkbox/Checkbox.js +10 -4
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.styles.d.ts +22 -22
- package/cjs/components/Checkbox/index.d.ts +1 -1
- package/cjs/components/ComboBox/ComboBox.d.ts +184 -182
- package/cjs/components/ComboBox/ComboBox.js +100 -70
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/ComboBox/index.d.ts +1 -1
- package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +106 -106
- package/cjs/components/CurrencyInput/CurrencyInput.js +7 -4
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
- package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
- package/cjs/components/CurrencyInput/CursorHelper.d.ts +10 -10
- package/cjs/components/CurrencyInput/SelectionHelper.d.ts +11 -11
- package/cjs/components/CurrencyInput/constants.d.ts +2 -2
- package/cjs/components/CurrencyInput/index.d.ts +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
- package/cjs/components/CurrencyLabel/index.d.ts +1 -1
- package/cjs/components/DateInput/DateFragmentsView.d.ts +20 -20
- package/cjs/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
- package/cjs/components/DateInput/DateInput.d.ts +107 -106
- package/cjs/components/DateInput/DateInput.js +6 -3
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/DateInput.styles.d.ts +10 -10
- package/cjs/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
- package/cjs/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
- package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
- package/cjs/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
- package/cjs/components/DateInput/helpers/inputNumber.d.ts +5 -5
- package/cjs/components/DateInput/index.d.ts +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +134 -132
- package/cjs/components/DatePicker/DatePicker.js +17 -7
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.styles.d.ts +3 -3
- package/cjs/components/DatePicker/DatePickerHelpers.d.ts +2 -2
- package/cjs/components/DatePicker/Picker.d.ts +33 -33
- package/cjs/components/DatePicker/Picker.styles.d.ts +5 -5
- package/cjs/components/DatePicker/index.d.ts +1 -1
- package/cjs/components/DatePicker/locale/index.d.ts +4 -4
- package/cjs/components/DatePicker/locale/locales/en.d.ts +2 -2
- package/cjs/components/DatePicker/locale/locales/ru.d.ts +2 -2
- package/cjs/components/DatePicker/locale/types.d.ts +5 -5
- package/cjs/components/Dropdown/Dropdown.d.ts +124 -123
- package/cjs/components/Dropdown/Dropdown.js +11 -4
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/Dropdown/index.d.ts +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +65 -64
- package/cjs/components/DropdownMenu/DropdownMenu.js +7 -4
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/DropdownMenu/index.d.ts +1 -1
- package/cjs/components/FileUploader/FileUploader.d.ts +42 -0
- package/cjs/components/FileUploader/FileUploader.js +283 -0
- package/cjs/components/FileUploader/FileUploader.js.map +1 -0
- package/cjs/components/FileUploader/FileUploader.md +67 -0
- package/cjs/components/FileUploader/FileUploader.styles.d.ts +21 -0
- package/cjs/components/FileUploader/FileUploader.styles.js +167 -0
- package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -0
- package/cjs/components/FileUploader/index.d.ts +4 -0
- package/cjs/components/FileUploader/index.js +4 -0
- package/cjs/components/FileUploader/index.js.map +1 -0
- package/cjs/components/FileUploader/locale/index.d.ts +4 -0
- package/cjs/components/FileUploader/locale/index.js +11 -0
- package/cjs/components/FileUploader/locale/index.js.map +1 -0
- package/cjs/components/FileUploader/locale/locales/en.d.ts +2 -0
- package/cjs/components/FileUploader/locale/locales/en.js +7 -0
- package/cjs/components/FileUploader/locale/locales/en.js.map +1 -0
- package/cjs/components/FileUploader/locale/locales/ru.d.ts +2 -0
- package/cjs/components/FileUploader/locale/locales/ru.js +7 -0
- package/cjs/components/FileUploader/locale/locales/ru.js.map +1 -0
- package/cjs/components/FileUploader/locale/types.d.ts +6 -0
- package/cjs/components/FileUploader/locale/types.js +1 -0
- package/cjs/components/FileUploader/locale/types.js.map +1 -0
- package/cjs/components/FxInput/FxInput.d.ts +50 -49
- package/cjs/components/FxInput/FxInput.js +9 -2
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/FxInput/index.d.ts +1 -1
- package/cjs/components/Gapped/Gapped.d.ts +58 -57
- package/cjs/components/Gapped/Gapped.js +8 -5
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/Gapped/index.d.ts +1 -1
- package/cjs/components/Group/Group.d.ts +14 -13
- package/cjs/components/Group/Group.js +10 -7
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Group/Group.styles.d.ts +8 -8
- package/cjs/components/Group/index.d.ts +1 -1
- package/cjs/components/Hint/Hint.d.ts +81 -79
- package/cjs/components/Hint/Hint.js +7 -20
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Hint/Hint.styles.d.ts +5 -5
- package/cjs/components/Hint/index.d.ts +1 -1
- package/cjs/components/Input/Input.d.ts +157 -154
- package/cjs/components/Input/Input.js +13 -5
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.styles.d.ts +42 -42
- package/cjs/components/Input/index.d.ts +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +71 -70
- package/cjs/components/Kebab/Kebab.js +8 -5
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Kebab/Kebab.styles.d.ts +12 -12
- package/cjs/components/Kebab/index.d.ts +1 -1
- package/cjs/components/Link/Link.d.ts +72 -71
- package/cjs/components/Link/Link.js +11 -3
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.mixins.d.ts +3 -3
- package/cjs/components/Link/Link.styles.d.ts +15 -15
- package/cjs/components/Link/index.d.ts +1 -1
- package/cjs/components/Loader/Loader.d.ts +100 -99
- package/cjs/components/Loader/Loader.js +9 -6
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/Loader/Loader.styles.d.ts +8 -8
- package/cjs/components/Loader/index.d.ts +1 -1
- package/cjs/components/MenuHeader/MenuHeader.d.ts +20 -20
- package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
- package/cjs/components/MenuHeader/index.d.ts +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +94 -93
- package/cjs/components/MenuItem/MenuItem.js +11 -8
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.styles.d.ts +13 -13
- package/cjs/components/MenuItem/index.d.ts +1 -1
- package/cjs/components/MenuSeparator/MenuSeparator.d.ts +12 -12
- package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
- package/cjs/components/MenuSeparator/index.d.ts +1 -1
- package/cjs/components/Modal/Modal.d.ts +87 -87
- package/cjs/components/Modal/Modal.js +1 -1
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +26 -26
- package/cjs/components/Modal/ModalBody.d.ts +21 -20
- package/cjs/components/Modal/ModalBody.js +9 -6
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Modal/ModalClose.d.ts +2 -2
- package/cjs/components/Modal/ModalContext.d.ts +15 -15
- package/cjs/components/Modal/ModalFooter.d.ts +21 -21
- package/cjs/components/Modal/ModalHeader.d.ts +17 -17
- package/cjs/components/Modal/index.d.ts +4 -4
- package/cjs/components/Paging/NavigationHelper.d.ts +7 -7
- package/cjs/components/Paging/Paging.d.ts +90 -90
- package/cjs/components/Paging/Paging.js +6 -5
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/Paging.styles.d.ts +16 -16
- package/cjs/components/Paging/PagingHelper.d.ts +2 -2
- package/cjs/components/Paging/index.d.ts +1 -1
- package/cjs/components/Paging/locale/index.d.ts +4 -4
- package/cjs/components/Paging/locale/locales/en.d.ts +2 -2
- package/cjs/components/Paging/locale/locales/ru.d.ts +2 -2
- package/cjs/components/Paging/locale/types.d.ts +3 -3
- package/cjs/components/PasswordInput/PasswordInput.d.ts +49 -48
- package/cjs/components/PasswordInput/PasswordInput.js +13 -6
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
- package/cjs/components/PasswordInput/index.d.ts +1 -1
- package/cjs/components/Radio/Radio.d.ts +77 -82
- package/cjs/components/Radio/Radio.js +11 -10
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/Radio/Radio.styles.d.ts +19 -19
- package/cjs/components/Radio/index.d.ts +1 -1
- package/cjs/components/RadioGroup/Prevent.d.ts +8 -8
- package/cjs/components/RadioGroup/RadioGroup.d.ts +117 -131
- package/cjs/components/RadioGroup/RadioGroup.js +16 -19
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
- package/cjs/components/RadioGroup/RadioGroupContext.d.ts +10 -0
- package/cjs/components/RadioGroup/RadioGroupContext.js +21 -0
- package/cjs/components/RadioGroup/RadioGroupContext.js.map +1 -0
- package/cjs/components/RadioGroup/index.d.ts +1 -1
- package/cjs/components/ScrollContainer/ScrollBar.d.ts +37 -37
- package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +84 -83
- package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
- package/cjs/components/ScrollContainer/ScrollContainer.js +8 -5
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +16 -16
- package/cjs/components/ScrollContainer/index.d.ts +1 -1
- package/cjs/components/Select/Item.d.ts +7 -7
- package/cjs/components/Select/Select.d.ts +179 -178
- package/cjs/components/Select/Select.js +6 -4
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.styles.d.ts +17 -17
- package/cjs/components/Select/index.d.ts +1 -1
- package/cjs/components/Select/locale/index.d.ts +4 -4
- package/cjs/components/Select/locale/locales/en.d.ts +2 -2
- package/cjs/components/Select/locale/locales/ru.d.ts +2 -2
- package/cjs/components/Select/locale/types.d.ts +4 -4
- package/cjs/components/Select/selectTheme.d.ts +3 -3
- package/cjs/components/SidePage/SidePage.d.ts +105 -104
- package/cjs/components/SidePage/SidePage.js +4 -1
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePage.styles.d.ts +37 -37
- package/cjs/components/SidePage/SidePageBody.d.ts +19 -18
- package/cjs/components/SidePage/SidePageBody.js +9 -6
- package/cjs/components/SidePage/SidePageBody.js.map +1 -1
- package/cjs/components/SidePage/SidePageContainer.d.ts +15 -14
- package/cjs/components/SidePage/SidePageContainer.js +9 -6
- package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
- package/cjs/components/SidePage/SidePageContext.d.ts +15 -15
- package/cjs/components/SidePage/SidePageFooter.d.ts +36 -37
- package/cjs/components/SidePage/SidePageFooter.js +11 -12
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +41 -40
- package/cjs/components/SidePage/SidePageHeader.js +6 -3
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/SidePage/index.d.ts +5 -5
- package/cjs/components/Spinner/Spinner.d.ts +56 -47
- package/cjs/components/Spinner/Spinner.js +29 -8
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Spinner/Spinner.md +1 -0
- package/cjs/components/Spinner/Spinner.styles.d.ts +12 -11
- package/cjs/components/Spinner/Spinner.styles.js +13 -10
- package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
- package/cjs/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
- package/cjs/components/Spinner/index.d.ts +1 -1
- package/cjs/components/Spinner/locale/index.d.ts +4 -4
- package/cjs/components/Spinner/locale/locales/en.d.ts +2 -2
- package/cjs/components/Spinner/locale/locales/ru.d.ts +2 -2
- package/cjs/components/Spinner/locale/types.d.ts +4 -4
- package/cjs/components/Sticky/Sticky.d.ts +54 -53
- package/cjs/components/Sticky/Sticky.js +8 -5
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Sticky/Sticky.styles.d.ts +7 -7
- package/cjs/components/Sticky/index.d.ts +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +56 -55
- package/cjs/components/Switcher/Switcher.js +6 -3
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Switcher/Switcher.styles.d.ts +10 -10
- package/cjs/components/Switcher/Switcher.styles.js +4 -2
- package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
- package/cjs/components/Switcher/index.d.ts +1 -1
- package/cjs/components/Switcher/switcherTheme.d.ts +2 -2
- package/cjs/components/Tabs/Indicator.d.ts +28 -27
- package/cjs/components/Tabs/Indicator.js +16 -15
- package/cjs/components/Tabs/Indicator.js.map +1 -1
- package/cjs/components/Tabs/Indicator.styles.d.ts +8 -8
- package/cjs/components/Tabs/Tab.d.ts +121 -120
- package/cjs/components/Tabs/Tab.js +13 -9
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tab.styles.d.ts +27 -27
- package/cjs/components/Tabs/Tabs.d.ts +62 -61
- package/cjs/components/Tabs/Tabs.js +9 -9
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Tabs/Tabs.styles.d.ts +5 -5
- package/cjs/components/Tabs/TabsContext.d.ts +14 -14
- package/cjs/components/Tabs/index.d.ts +2 -2
- package/cjs/components/Textarea/Textarea.d.ts +185 -184
- package/cjs/components/Textarea/Textarea.js +12 -5
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/Textarea.styles.d.ts +15 -15
- package/cjs/components/Textarea/TextareaCounter.d.ts +13 -13
- package/cjs/components/Textarea/TextareaHelpers.d.ts +11 -11
- package/cjs/components/Textarea/index.d.ts +1 -1
- package/cjs/components/Toast/Toast.d.ts +58 -55
- package/cjs/components/Toast/Toast.js +15 -4
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/Toast.styles.d.ts +6 -6
- package/cjs/components/Toast/ToastStatic.d.ts +8 -8
- package/cjs/components/Toast/ToastView.d.ts +38 -37
- package/cjs/components/Toast/ToastView.js +8 -5
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toast/ToastView.styles.d.ts +8 -8
- package/cjs/components/Toast/index.d.ts +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +107 -106
- package/cjs/components/Toggle/Toggle.js +9 -6
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Toggle/Toggle.styles.d.ts +30 -30
- package/cjs/components/Toggle/index.d.ts +1 -1
- package/cjs/components/Token/Token.d.ts +36 -35
- package/cjs/components/Token/Token.js +7 -4
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/Token/Token.styles.d.ts +29 -29
- package/cjs/components/Token/index.d.ts +1 -1
- package/cjs/components/TokenInput/TextWidthHelper.d.ts +18 -18
- package/cjs/components/TokenInput/TokenInput.d.ts +194 -193
- package/cjs/components/TokenInput/TokenInput.js +11 -8
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.styles.d.ts +15 -15
- package/cjs/components/TokenInput/TokenInputMenu.d.ts +18 -18
- package/cjs/components/TokenInput/TokenInputReducer.d.ts +25 -25
- package/cjs/components/TokenInput/index.d.ts +1 -1
- package/cjs/components/TokenInput/locale/index.d.ts +4 -4
- package/cjs/components/TokenInput/locale/locales/en.d.ts +2 -2
- package/cjs/components/TokenInput/locale/locales/ru.d.ts +2 -2
- package/cjs/components/TokenInput/locale/types.d.ts +4 -4
- package/cjs/components/Tooltip/Tooltip.d.ts +160 -171
- package/cjs/components/Tooltip/Tooltip.js +28 -30
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.styles.d.ts +5 -5
- package/cjs/components/Tooltip/index.d.ts +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +65 -64
- package/cjs/components/TooltipMenu/TooltipMenu.js +8 -5
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/components/TooltipMenu/index.d.ts +1 -1
- package/cjs/hooks/useDrop.d.ts +11 -0
- package/cjs/hooks/useDrop.js +75 -0
- package/cjs/hooks/useDrop.js.map +1 -0
- package/cjs/hooks/useEffectWithoutInitCall.d.ts +2 -0
- package/cjs/hooks/useEffectWithoutInitCall.js +13 -0
- package/cjs/hooks/useEffectWithoutInitCall.js.map +1 -0
- package/cjs/hooks/useMemoObject.d.ts +1 -0
- package/cjs/hooks/useMemoObject.js +5 -0
- package/cjs/hooks/useMemoObject.js.map +1 -0
- package/cjs/index.d.ts +50 -48
- package/cjs/index.js +3 -1
- package/cjs/index.js.map +1 -1
- package/cjs/internal/BGRuler.d.ts +30 -30
- package/cjs/internal/Calendar/Calendar.d.ts +66 -66
- package/cjs/internal/Calendar/Calendar.styles.d.ts +5 -5
- package/cjs/internal/Calendar/CalendarDateShape.d.ts +14 -14
- package/cjs/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
- package/cjs/internal/Calendar/CalendarUtils.d.ts +19 -19
- package/cjs/internal/Calendar/DayCellView.d.ts +13 -13
- package/cjs/internal/Calendar/DayCellView.styles.d.ts +7 -7
- package/cjs/internal/Calendar/DayCellViewModel.d.ts +8 -8
- package/cjs/internal/Calendar/Month.d.ts +33 -33
- package/cjs/internal/Calendar/MonthView.d.ts +21 -21
- package/cjs/internal/Calendar/MonthView.styles.d.ts +9 -9
- package/cjs/internal/Calendar/MonthViewModel.d.ts +14 -14
- package/cjs/internal/Calendar/config.d.ts +9 -9
- package/cjs/internal/Calendar/index.d.ts +2 -2
- package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +31 -23
- package/cjs/internal/CommonWrapper/CommonWrapper.js +38 -15
- package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/cjs/internal/CommonWrapper/index.d.ts +1 -1
- package/cjs/internal/ComponentCombinator.d.ts +25 -25
- package/cjs/internal/ComponentTable.d.ts +21 -21
- package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +31 -31
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js +3 -2
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +90 -87
- package/cjs/internal/CustomComboBox/ComboBoxView.js +15 -5
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +136 -135
- package/cjs/internal/CustomComboBox/CustomComboBox.js +8 -5
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
- package/cjs/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
- package/cjs/internal/CustomComboBox/index.d.ts +2 -2
- package/cjs/internal/CustomComboBox/locale/index.d.ts +4 -4
- package/cjs/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
- package/cjs/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
- package/cjs/internal/CustomComboBox/locale/types.d.ts +5 -5
- package/cjs/internal/DateSelect/DateSelect.d.ts +93 -93
- package/cjs/internal/DateSelect/DateSelect.js +3 -3
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.styles.d.ts +19 -19
- package/cjs/internal/DateSelect/index.d.ts +1 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +43 -46
- package/cjs/internal/DropdownContainer/DropdownContainer.js +8 -13
- package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
- package/cjs/internal/DropdownContainer/index.d.ts +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +12 -0
- package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js +16 -0
- package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js.map +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +106 -0
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +12 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +188 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js +68 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js.map +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +10 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +30 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +5 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js +22 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js +16 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js.map +1 -0
- package/cjs/internal/FileUploaderControl/fileUtils.d.ts +14 -0
- package/cjs/internal/FileUploaderControl/fileUtils.js +26 -0
- package/cjs/internal/FileUploaderControl/fileUtils.js.map +1 -0
- package/cjs/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
- package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js +4 -0
- package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js.map +1 -0
- package/cjs/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
- package/cjs/internal/FileUploaderControl/hooks/useUpload.js +51 -0
- package/cjs/internal/FileUploaderControl/hooks/useUpload.js.map +1 -0
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +19 -0
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -0
- package/cjs/internal/FocusTrap/FocusTrap.d.ts +17 -16
- package/cjs/internal/FocusTrap/FocusTrap.js +12 -9
- package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
- package/cjs/internal/FocusTrap/index.d.ts +1 -1
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
- package/cjs/internal/HideBodyVerticalScroll/index.d.ts +1 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +12 -4
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/cjs/internal/IgnoreLayerClick/index.d.ts +1 -1
- package/cjs/internal/InputLikeText/HiddenInput.d.ts +13 -13
- package/cjs/internal/InputLikeText/InputLikeText.d.ts +73 -72
- package/cjs/internal/InputLikeText/InputLikeText.js +10 -3
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
- package/cjs/internal/InputLikeText/index.d.ts +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.d.ts +63 -64
- package/cjs/internal/InternalMenu/InternalMenu.js +16 -22
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
- package/cjs/internal/InternalMenu/index.d.ts +1 -1
- package/cjs/internal/InternalMenu/isActiveElement.d.ts +3 -3
- package/cjs/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
- package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
- package/cjs/internal/MaskCharLowLine/index.d.ts +1 -1
- package/cjs/internal/MaskedInput/MaskedInput.d.ts +40 -40
- package/cjs/internal/MaskedInput/MaskedInput.js +3 -3
- package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
- package/cjs/internal/MaskedInput/index.d.ts +1 -1
- package/cjs/internal/Menu/Menu.d.ts +63 -62
- package/cjs/internal/Menu/Menu.js +9 -6
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/Menu/Menu.styles.d.ts +6 -6
- package/cjs/internal/Menu/index.d.ts +1 -1
- package/cjs/internal/Menu/isActiveElement.d.ts +3 -3
- package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
- package/cjs/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
- package/cjs/internal/NativeDateInput/index.d.ts +1 -1
- package/cjs/internal/NativeDateInput/utils.d.ts +7 -7
- package/cjs/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
- package/cjs/internal/Popup/Popup.d.ts +162 -161
- package/cjs/internal/Popup/Popup.js +61 -49
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/Popup.styles.d.ts +16 -16
- package/cjs/internal/Popup/PopupHelper.d.ts +26 -26
- package/cjs/internal/Popup/PopupHelper.js.map +1 -1
- package/cjs/internal/Popup/PopupPin.d.ts +56 -56
- package/cjs/internal/Popup/PopupPin.styles.d.ts +3 -3
- package/cjs/internal/Popup/index.d.ts +1 -1
- package/cjs/internal/Popup/types.d.ts +1 -0
- package/cjs/internal/Popup/types.js +1 -0
- package/cjs/internal/Popup/types.js.map +1 -0
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +85 -84
- package/cjs/internal/PopupMenu/PopupMenu.js +23 -6
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
- package/cjs/internal/PopupMenu/index.d.ts +1 -1
- package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
- package/cjs/internal/PopupMenu/validatePositions.js +2 -4
- package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.d.ts +16 -16
- package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
- package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +11 -11
- package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +13 -13
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -3
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderContainer/index.d.ts +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.d.ts +29 -27
- package/cjs/internal/RenderLayer/RenderLayer.js +13 -7
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/RenderLayer/index.d.ts +1 -1
- package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
- package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
- package/cjs/internal/ResizeDetector/index.d.ts +1 -1
- package/cjs/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
- package/cjs/internal/TextWidthHelper/TextWidthHelper.js +34 -0
- package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -0
- package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
- package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js +23 -0
- package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js.map +1 -0
- package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
- package/cjs/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
- package/cjs/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
- package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
- package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
- package/cjs/internal/ThemePlayground/HintPlayground.d.ts +6 -6
- package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
- package/cjs/internal/ThemePlayground/Playground.d.ts +32 -31
- package/cjs/internal/ThemePlayground/Playground.js +11 -1
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.styles.d.ts +23 -23
- package/cjs/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
- package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
- package/cjs/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
- package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +51 -51
- package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
- package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
- package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
- package/cjs/internal/ThemePlayground/VariableValue.d.ts +45 -45
- package/cjs/internal/ThemePlayground/constants.d.ts +18 -18
- package/cjs/internal/ThemePlayground/darkTheme.d.ts +270 -255
- package/cjs/internal/ThemePlayground/darkTheme.js +25 -1
- package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
- package/cjs/internal/ThemePlayground/helpers.d.ts +2 -2
- package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
- package/cjs/internal/ThemeShowcase/ThemeShowcase.js +20 -19
- package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
- package/cjs/internal/ZIndex/ZIndex.d.ts +36 -34
- package/cjs/internal/ZIndex/ZIndex.js +45 -34
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/ZIndex/ZIndexStorage.d.ts +18 -18
- package/cjs/internal/ZIndex/index.d.ts +1 -1
- package/cjs/internal/icons/16px/icon.styles.d.ts +4 -4
- package/cjs/internal/icons/16px/index.d.ts +25 -21
- package/cjs/internal/icons/16px/index.js +151 -52
- package/cjs/internal/icons/16px/index.js.map +1 -1
- package/cjs/internal/icons/20px/Icon.d.ts +30 -30
- package/cjs/internal/icons/20px/icon.styles.d.ts +4 -4
- package/cjs/internal/icons/20px/index.d.ts +2 -2
- package/cjs/internal/icons/20px/svg.d.ts +14 -14
- package/cjs/internal/icons/CloudIcon.d.ts +1 -1
- package/cjs/internal/icons/CrossIcon.d.ts +1 -1
- package/cjs/internal/icons/SpinnerIcon.d.ts +26 -23
- package/cjs/internal/icons/SpinnerIcon.js +5 -2
- package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
- package/cjs/internal/icons/SpinnerIcon.styles.d.ts +4 -4
- package/cjs/internal/themes/DefaultTheme.d.ts +789 -766
- package/cjs/internal/themes/DefaultTheme.js +64 -1
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/internal/themes/FlatTheme.d.ts +132 -132
- package/cjs/internal/themes/Theme8px.d.ts +271 -271
- package/cjs/lib/ConditionalHandler.d.ts +11 -11
- package/cjs/lib/LayoutEvents.d.ts +4 -4
- package/cjs/lib/ModalStack.d.ts +14 -14
- package/cjs/lib/ModalStack.js +16 -17
- package/cjs/lib/ModalStack.js.map +1 -1
- package/cjs/lib/SSRSafe.d.ts +4 -4
- package/cjs/lib/Supports.d.ts +1 -1
- package/cjs/lib/Upgrades.d.ts +6 -6
- package/cjs/lib/animation/index.d.ts +6 -6
- package/cjs/lib/animation/presets.d.ts +18 -18
- package/cjs/lib/animation/stepper.d.ts +1 -1
- package/cjs/lib/callChildRef/callChildRef.d.ts +3 -0
- package/cjs/lib/callChildRef/callChildRef.js +19 -0
- package/cjs/lib/callChildRef/callChildRef.js.map +1 -0
- package/cjs/lib/client.d.ts +16 -16
- package/cjs/lib/createPropsGetter.d.ts +2 -2
- package/cjs/lib/currentEnvironment.d.ts +3 -3
- package/cjs/lib/date/InternalDate.d.ts +58 -58
- package/cjs/lib/date/InternalDateCalculator.d.ts +6 -6
- package/cjs/lib/date/InternalDateGetter.d.ts +15 -15
- package/cjs/lib/date/InternalDateSetter.d.ts +6 -6
- package/cjs/lib/date/InternalDateTransformer.d.ts +12 -12
- package/cjs/lib/date/InternalDateValidator.d.ts +12 -12
- package/cjs/lib/date/constants.d.ts +28 -28
- package/cjs/lib/date/localeSets.d.ts +5 -5
- package/cjs/lib/date/types.d.ts +90 -90
- package/cjs/lib/dom/getScrollWidth.d.ts +1 -1
- package/cjs/lib/dom/tabbableHelpers.d.ts +16 -16
- package/cjs/lib/events/MouseDrag.d.ts +58 -58
- package/cjs/lib/events/fixClickFocusIE.d.ts +1 -1
- package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
- package/cjs/lib/events/keyListener.d.ts +7 -7
- package/cjs/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
- package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
- package/cjs/lib/events/keyboard/extractCode.d.ts +3 -3
- package/cjs/lib/events/keyboard/identifiers.d.ts +48 -48
- package/cjs/lib/events/stopPropagation.d.ts +1 -1
- package/cjs/lib/events/tabListener.d.ts +1 -1
- package/cjs/lib/extractKeyboardAction.d.ts +13 -13
- package/cjs/lib/filterProps.d.ts +12 -12
- package/cjs/lib/forwardRefAndName.d.ts +5 -5
- package/cjs/lib/getDisplayName.d.ts +3 -3
- package/cjs/lib/listenFocusOutside.d.ts +8 -8
- package/cjs/lib/locale/LocaleContext.d.ts +7 -7
- package/cjs/lib/locale/LocaleHelper.d.ts +9 -9
- package/cjs/lib/locale/constants.d.ts +2 -2
- package/cjs/lib/locale/decorators.d.ts +36 -36
- package/cjs/lib/locale/index.d.ts +3 -3
- package/cjs/lib/locale/types.d.ts +21 -19
- package/cjs/lib/locale/types.js +2 -0
- package/cjs/lib/locale/types.js.map +1 -1
- package/cjs/lib/locale/useLocaleForControl.d.ts +3 -0
- package/cjs/lib/locale/useLocaleForControl.js +14 -0
- package/cjs/lib/locale/useLocaleForControl.js.map +1 -0
- package/cjs/lib/memo.d.ts +1 -1
- package/cjs/lib/net/fetch.d.ts +13 -13
- package/cjs/lib/polyfillPlaceholder.d.ts +1 -1
- package/cjs/lib/reactGetTextContent.d.ts +2 -2
- package/cjs/lib/rootNode/getRootNode.d.ts +3 -0
- package/cjs/lib/rootNode/getRootNode.js +27 -0
- package/cjs/lib/rootNode/getRootNode.js.map +1 -0
- package/cjs/lib/rootNode/index.d.ts +2 -0
- package/cjs/lib/rootNode/index.js +2 -0
- package/cjs/lib/rootNode/index.js.map +1 -0
- package/cjs/lib/rootNode/rootNodeDecorator.d.ts +33 -0
- package/cjs/lib/rootNode/rootNodeDecorator.js +31 -0
- package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -0
- package/cjs/lib/stringUtils.d.ts +1 -0
- package/cjs/lib/stringUtils.js +13 -0
- package/cjs/lib/stringUtils.js.map +1 -0
- package/cjs/lib/styles/ColorFactory.d.ts +11 -11
- package/cjs/lib/styles/ColorFunctions.d.ts +11 -11
- package/cjs/lib/styles/ColorHelpers.d.ts +20 -20
- package/cjs/lib/styles/ColorKeywords.d.ts +150 -150
- package/cjs/lib/styles/ColorObject.d.ts +52 -52
- package/cjs/lib/styles/DimensionFunctions.d.ts +1 -1
- package/cjs/lib/styles/HoldSelectionColor.d.ts +1 -1
- package/cjs/lib/styles/Mixins.d.ts +2 -2
- package/cjs/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
- package/cjs/lib/theming/AnimationKeyframes.d.ts +9 -9
- package/cjs/lib/theming/AnimationKeyframes.js +1 -1
- package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
- package/cjs/lib/theming/Emotion.d.ts +15 -15
- package/cjs/lib/theming/Emotion.js +1 -0
- package/cjs/lib/theming/Emotion.js.map +1 -1
- package/cjs/lib/theming/Theme.d.ts +3 -3
- package/cjs/lib/theming/ThemeContext.d.ts +2 -2
- package/cjs/lib/theming/ThemeFactory.d.ts +8 -8
- package/cjs/lib/theming/ThemeHelpers.d.ts +11 -11
- package/cjs/lib/theming/themes/DefaultTheme.d.ts +1 -1
- package/cjs/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
- package/cjs/lib/theming/themes/FlatTheme.d.ts +1 -1
- package/cjs/lib/theming/themes/FlatThemeOld.d.ts +1 -1
- package/cjs/lib/theming/useTheme.d.ts +1 -0
- package/cjs/lib/theming/useTheme.js +7 -0
- package/cjs/lib/theming/useTheme.js.map +1 -0
- package/cjs/lib/uidUtils.d.ts +1 -0
- package/cjs/lib/uidUtils.js +5 -0
- package/cjs/lib/uidUtils.js.map +1 -0
- package/cjs/lib/utils.d.ts +64 -28
- package/cjs/lib/utils.js +95 -4
- package/cjs/lib/utils.js.map +1 -1
- package/cjs/lib/withClassWrapper.d.ts +71 -71
- package/cjs/typings/html-props.d.ts +123 -0
- package/components/Autocomplete/Autocomplete/Autocomplete.js +19 -16
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +113 -112
- package/components/Autocomplete/index.d.ts +1 -1
- package/components/Button/Button/Button.js +14 -15
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +161 -160
- package/components/Button/Button.mixins.d.ts +6 -6
- package/components/Button/Button.styles/Button.styles.js +31 -28
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Button/Button.styles.d.ts +68 -67
- package/components/Button/Corners.d.ts +6 -6
- package/components/Button/index.d.ts +1 -1
- package/components/Center/Center/Center.js +14 -9
- package/components/Center/Center/Center.js.map +1 -1
- package/components/Center/Center.d.ts +25 -24
- package/components/Center/Center.styles.d.ts +7 -7
- package/components/Center/index.d.ts +1 -1
- package/components/Checkbox/Checkbox/Checkbox.js +16 -10
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +96 -95
- package/components/Checkbox/Checkbox.styles.d.ts +22 -22
- package/components/Checkbox/index.d.ts +1 -1
- package/components/ComboBox/ComboBox/ComboBox.js +38 -32
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +184 -182
- package/components/ComboBox/index.d.ts +1 -1
- package/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +29 -27
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +106 -106
- package/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
- package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
- package/components/CurrencyInput/CursorHelper.d.ts +10 -10
- package/components/CurrencyInput/SelectionHelper.d.ts +11 -11
- package/components/CurrencyInput/constants.d.ts +2 -2
- package/components/CurrencyInput/index.d.ts +1 -1
- package/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
- package/components/CurrencyLabel/index.d.ts +1 -1
- package/components/DateInput/DateFragmentsView.d.ts +20 -20
- package/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
- package/components/DateInput/DateInput/DateInput.js +7 -3
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +107 -106
- package/components/DateInput/DateInput.styles.d.ts +10 -10
- package/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
- package/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
- package/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
- package/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
- package/components/DateInput/helpers/inputNumber.d.ts +5 -5
- package/components/DateInput/index.d.ts +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +29 -22
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +134 -132
- package/components/DatePicker/DatePicker.styles.d.ts +3 -3
- package/components/DatePicker/DatePickerHelpers.d.ts +2 -2
- package/components/DatePicker/Picker.d.ts +33 -33
- package/components/DatePicker/Picker.styles.d.ts +5 -5
- package/components/DatePicker/index.d.ts +1 -1
- package/components/DatePicker/locale/index.d.ts +4 -4
- package/components/DatePicker/locale/locales/en.d.ts +2 -2
- package/components/DatePicker/locale/locales/ru.d.ts +2 -2
- package/components/DatePicker/locale/types.d.ts +5 -5
- package/components/Dropdown/Dropdown/Dropdown.js +15 -13
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +124 -123
- package/components/Dropdown/index.d.ts +1 -1
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +15 -9
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +65 -64
- package/components/DropdownMenu/index.d.ts +1 -1
- package/components/FileUploader/FileUploader/FileUploader.js +270 -0
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -0
- package/components/FileUploader/FileUploader/package.json +6 -0
- package/components/FileUploader/FileUploader.d.ts +42 -0
- package/components/FileUploader/FileUploader.md +67 -0
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +62 -0
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -0
- package/components/FileUploader/FileUploader.styles/package.json +6 -0
- package/components/FileUploader/FileUploader.styles.d.ts +21 -0
- package/components/FileUploader/index/index.js +3 -0
- package/components/FileUploader/index/index.js.map +1 -0
- package/components/FileUploader/index/package.json +6 -0
- package/components/FileUploader/index.d.ts +4 -0
- package/components/FileUploader/locale/index/index.js +8 -0
- package/components/FileUploader/locale/index/index.js.map +1 -0
- package/components/FileUploader/locale/index/package.json +6 -0
- package/components/FileUploader/locale/index.d.ts +4 -0
- package/components/FileUploader/locale/locales/en/en.js +6 -0
- package/components/FileUploader/locale/locales/en/en.js.map +1 -0
- package/components/FileUploader/locale/locales/en/package.json +6 -0
- package/components/FileUploader/locale/locales/en.d.ts +2 -0
- package/components/FileUploader/locale/locales/ru/package.json +6 -0
- package/components/FileUploader/locale/locales/ru/ru.js +6 -0
- package/components/FileUploader/locale/locales/ru/ru.js.map +1 -0
- package/components/FileUploader/locale/locales/ru.d.ts +2 -0
- package/components/FileUploader/locale/package.json +6 -0
- package/components/FileUploader/locale/types/package.json +6 -0
- package/components/FileUploader/locale/types/types.js +0 -0
- package/components/FileUploader/locale/types/types.js.map +1 -0
- package/components/FileUploader/locale/types.d.ts +6 -0
- package/components/FileUploader/package.json +6 -0
- package/components/FxInput/FxInput/FxInput.js +13 -9
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +50 -49
- package/components/FxInput/index.d.ts +1 -1
- package/components/Gapped/Gapped/Gapped.js +15 -11
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/Gapped/Gapped.d.ts +58 -57
- package/components/Gapped/index.d.ts +1 -1
- package/components/Group/Group/Group.js +22 -9
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.d.ts +14 -13
- package/components/Group/Group.styles.d.ts +8 -8
- package/components/Group/index.d.ts +1 -1
- package/components/Hint/Hint/Hint.js +18 -12
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +81 -79
- package/components/Hint/Hint.styles.d.ts +5 -5
- package/components/Hint/index.d.ts +1 -1
- package/components/Input/Input/Input.js +21 -14
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +157 -154
- package/components/Input/Input.styles.d.ts +42 -42
- package/components/Input/index.d.ts +1 -1
- package/components/Kebab/Kebab/Kebab.js +12 -7
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +71 -70
- package/components/Kebab/Kebab.styles.d.ts +12 -12
- package/components/Kebab/index.d.ts +1 -1
- package/components/Link/Link/Link.js +15 -11
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +72 -71
- package/components/Link/Link.mixins.d.ts +3 -3
- package/components/Link/Link.styles.d.ts +15 -15
- package/components/Link/index.d.ts +1 -1
- package/components/Loader/Loader/Loader.js +16 -11
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +100 -99
- package/components/Loader/Loader.styles.d.ts +8 -8
- package/components/Loader/index.d.ts +1 -1
- package/components/MenuHeader/MenuHeader.d.ts +20 -20
- package/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
- package/components/MenuHeader/index.d.ts +1 -1
- package/components/MenuItem/MenuItem/MenuItem.js +19 -17
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +94 -93
- package/components/MenuItem/MenuItem.styles.d.ts +13 -13
- package/components/MenuItem/index.d.ts +1 -1
- package/components/MenuSeparator/MenuSeparator.d.ts +12 -12
- package/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
- package/components/MenuSeparator/index.d.ts +1 -1
- package/components/Modal/Modal/Modal.js +1 -1
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.d.ts +87 -87
- package/components/Modal/Modal.styles.d.ts +26 -26
- package/components/Modal/ModalBody/ModalBody.js +16 -10
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Modal/ModalBody.d.ts +21 -20
- package/components/Modal/ModalClose.d.ts +2 -2
- package/components/Modal/ModalContext.d.ts +15 -15
- package/components/Modal/ModalFooter.d.ts +21 -21
- package/components/Modal/ModalHeader.d.ts +17 -17
- package/components/Modal/index.d.ts +4 -4
- package/components/Paging/NavigationHelper.d.ts +7 -7
- package/components/Paging/Paging/Paging.js +17 -14
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +90 -90
- package/components/Paging/Paging.styles.d.ts +16 -16
- package/components/Paging/PagingHelper.d.ts +2 -2
- package/components/Paging/index.d.ts +1 -1
- package/components/Paging/locale/index.d.ts +4 -4
- package/components/Paging/locale/locales/en.d.ts +2 -2
- package/components/Paging/locale/locales/ru.d.ts +2 -2
- package/components/Paging/locale/types.d.ts +3 -3
- package/components/PasswordInput/PasswordInput/PasswordInput.js +18 -14
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +49 -48
- package/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
- package/components/PasswordInput/index.d.ts +1 -1
- package/components/Radio/Radio/Radio.js +17 -19
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +77 -82
- package/components/Radio/Radio.styles.d.ts +19 -19
- package/components/Radio/index.d.ts +1 -1
- package/components/RadioGroup/Prevent.d.ts +8 -8
- package/components/RadioGroup/RadioGroup/RadioGroup.js +35 -38
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +117 -131
- package/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
- package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js +12 -0
- package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js.map +1 -0
- package/components/RadioGroup/RadioGroupContext/package.json +6 -0
- package/components/RadioGroup/RadioGroupContext.d.ts +10 -0
- package/components/RadioGroup/index.d.ts +1 -1
- package/components/ScrollContainer/ScrollBar.d.ts +37 -37
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +13 -8
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
- package/components/ScrollContainer/ScrollContainer.d.ts +84 -83
- package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
- package/components/ScrollContainer/ScrollContainer.styles.d.ts +16 -16
- package/components/ScrollContainer/index.d.ts +1 -1
- package/components/Select/Item.d.ts +7 -7
- package/components/Select/Select/Select.js +8 -5
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +179 -178
- package/components/Select/Select.styles.d.ts +17 -17
- package/components/Select/index.d.ts +1 -1
- package/components/Select/locale/index.d.ts +4 -4
- package/components/Select/locale/locales/en.d.ts +2 -2
- package/components/Select/locale/locales/ru.d.ts +2 -2
- package/components/Select/locale/types.d.ts +4 -4
- package/components/Select/selectTheme.d.ts +3 -3
- package/components/SidePage/SidePage/SidePage.js +6 -3
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +105 -104
- package/components/SidePage/SidePage.styles.d.ts +37 -37
- package/components/SidePage/SidePageBody/SidePageBody.js +16 -10
- package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
- package/components/SidePage/SidePageBody.d.ts +19 -18
- package/components/SidePage/SidePageContainer/SidePageContainer.js +16 -9
- package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
- package/components/SidePage/SidePageContainer.d.ts +15 -14
- package/components/SidePage/SidePageContext.d.ts +15 -15
- package/components/SidePage/SidePageFooter/SidePageFooter.js +22 -19
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageFooter.d.ts +36 -37
- package/components/SidePage/SidePageHeader/SidePageHeader.js +15 -10
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +41 -40
- package/components/SidePage/index.d.ts +5 -5
- package/components/Spinner/Spinner/Spinner.js +14 -6
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +56 -47
- package/components/Spinner/Spinner.md +1 -0
- package/components/Spinner/Spinner.styles/Spinner.styles.js +12 -9
- package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
- package/components/Spinner/Spinner.styles.d.ts +12 -11
- package/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
- package/components/Spinner/index.d.ts +1 -1
- package/components/Spinner/locale/index.d.ts +4 -4
- package/components/Spinner/locale/locales/en.d.ts +2 -2
- package/components/Spinner/locale/locales/ru.d.ts +2 -2
- package/components/Spinner/locale/types.d.ts +4 -4
- package/components/Sticky/Sticky/Sticky.js +13 -8
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +54 -53
- package/components/Sticky/Sticky.styles.d.ts +7 -7
- package/components/Sticky/index.d.ts +1 -1
- package/components/Switcher/Switcher/Switcher.js +11 -6
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +56 -55
- package/components/Switcher/Switcher.styles/Switcher.styles.js +3 -1
- package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
- package/components/Switcher/Switcher.styles.d.ts +10 -10
- package/components/Switcher/index.d.ts +1 -1
- package/components/Switcher/switcherTheme.d.ts +2 -2
- package/components/Tabs/Indicator/Indicator.js +16 -14
- package/components/Tabs/Indicator/Indicator.js.map +1 -1
- package/components/Tabs/Indicator.d.ts +28 -27
- package/components/Tabs/Indicator.styles.d.ts +8 -8
- package/components/Tabs/Tab/Tab.js +31 -34
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +121 -120
- package/components/Tabs/Tab.styles.d.ts +27 -27
- package/components/Tabs/Tabs/Tabs.js +20 -20
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +62 -61
- package/components/Tabs/Tabs.styles.d.ts +5 -5
- package/components/Tabs/TabsContext.d.ts +14 -14
- package/components/Tabs/index.d.ts +2 -2
- package/components/Textarea/Textarea/Textarea.js +21 -17
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +185 -184
- package/components/Textarea/Textarea.styles.d.ts +15 -15
- package/components/Textarea/TextareaCounter.d.ts +13 -13
- package/components/Textarea/TextareaHelpers.d.ts +11 -11
- package/components/Textarea/index.d.ts +1 -1
- package/components/Toast/Toast/Toast.js +29 -14
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +58 -55
- package/components/Toast/Toast.styles.d.ts +6 -6
- package/components/Toast/ToastStatic.d.ts +8 -8
- package/components/Toast/ToastView/ToastView.js +10 -5
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.d.ts +38 -37
- package/components/Toast/ToastView.styles.d.ts +8 -8
- package/components/Toast/index.d.ts +1 -1
- package/components/Toggle/Toggle/Toggle.js +16 -11
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +107 -106
- package/components/Toggle/Toggle.styles.d.ts +30 -30
- package/components/Toggle/index.d.ts +1 -1
- package/components/Token/Token/Token.js +11 -4
- package/components/Token/Token/Token.js.map +1 -1
- package/components/Token/Token.d.ts +36 -35
- package/components/Token/Token.styles.d.ts +29 -29
- package/components/Token/index.d.ts +1 -1
- package/components/TokenInput/TextWidthHelper.d.ts +18 -18
- package/components/TokenInput/TokenInput/TokenInput.js +12 -6
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +194 -193
- package/components/TokenInput/TokenInput.styles.d.ts +15 -15
- package/components/TokenInput/TokenInputMenu.d.ts +18 -18
- package/components/TokenInput/TokenInputReducer.d.ts +25 -25
- package/components/TokenInput/index.d.ts +1 -1
- package/components/TokenInput/locale/index.d.ts +4 -4
- package/components/TokenInput/locale/locales/en.d.ts +2 -2
- package/components/TokenInput/locale/locales/ru.d.ts +2 -2
- package/components/TokenInput/locale/types.d.ts +4 -4
- package/components/Tooltip/Tooltip/Tooltip.js +26 -17
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +160 -171
- package/components/Tooltip/Tooltip.styles.d.ts +5 -5
- package/components/Tooltip/index.d.ts +1 -1
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +23 -17
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +65 -64
- package/components/TooltipMenu/index.d.ts +1 -1
- package/hooks/useDrop/package.json +6 -0
- package/hooks/useDrop/useDrop.js +57 -0
- package/hooks/useDrop/useDrop.js.map +1 -0
- package/hooks/useDrop.d.ts +11 -0
- package/hooks/useEffectWithoutInitCall/package.json +6 -0
- package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js +11 -0
- package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js.map +1 -0
- package/hooks/useEffectWithoutInitCall.d.ts +2 -0
- package/hooks/useMemoObject/package.json +6 -0
- package/hooks/useMemoObject/useMemoObject.js +6 -0
- package/hooks/useMemoObject/useMemoObject.js.map +1 -0
- package/hooks/useMemoObject.d.ts +1 -0
- package/index.d.ts +50 -48
- package/index.js +3 -1
- package/index.js.map +1 -1
- package/internal/BGRuler.d.ts +30 -30
- package/internal/Calendar/Calendar.d.ts +66 -66
- package/internal/Calendar/Calendar.styles.d.ts +5 -5
- package/internal/Calendar/CalendarDateShape.d.ts +14 -14
- package/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
- package/internal/Calendar/CalendarUtils.d.ts +19 -19
- package/internal/Calendar/DayCellView.d.ts +13 -13
- package/internal/Calendar/DayCellView.styles.d.ts +7 -7
- package/internal/Calendar/DayCellViewModel.d.ts +8 -8
- package/internal/Calendar/Month.d.ts +33 -33
- package/internal/Calendar/MonthView.d.ts +21 -21
- package/internal/Calendar/MonthView.styles.d.ts +9 -9
- package/internal/Calendar/MonthViewModel.d.ts +14 -14
- package/internal/Calendar/config.d.ts +9 -9
- package/internal/Calendar/index.d.ts +2 -2
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +37 -10
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper.d.ts +31 -23
- package/internal/CommonWrapper/index.d.ts +1 -1
- package/internal/ComponentCombinator.d.ts +25 -25
- package/internal/ComponentTable.d.ts +21 -21
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +5 -3
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu.d.ts +31 -31
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +23 -13
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +90 -87
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +12 -4
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +136 -135
- package/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
- package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
- package/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
- package/internal/CustomComboBox/index.d.ts +2 -2
- package/internal/CustomComboBox/locale/index.d.ts +4 -4
- package/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
- package/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
- package/internal/CustomComboBox/locale/types.d.ts +5 -5
- package/internal/DateSelect/DateSelect/DateSelect.js +5 -5
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.d.ts +93 -93
- package/internal/DateSelect/DateSelect.styles.d.ts +19 -19
- package/internal/DateSelect/index.d.ts +1 -1
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +11 -15
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
- package/internal/DropdownContainer/DropdownContainer.d.ts +43 -46
- package/internal/DropdownContainer/index.d.ts +1 -1
- package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js +2 -0
- package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderControlContext/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +12 -0
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +85 -0
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderControlProvider/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +179 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +12 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js +32 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +27 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +10 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js +14 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +5 -0
- package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js +18 -0
- package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderFileValidationResult/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
- package/internal/FileUploaderControl/fileUtils/fileUtils.js +19 -0
- package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +1 -0
- package/internal/FileUploaderControl/fileUtils/package.json +6 -0
- package/internal/FileUploaderControl/fileUtils.d.ts +14 -0
- package/internal/FileUploaderControl/hooks/useControlLocale/package.json +6 -0
- package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js +5 -0
- package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js.map +1 -0
- package/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
- package/internal/FileUploaderControl/hooks/useUpload/package.json +6 -0
- package/internal/FileUploaderControl/hooks/useUpload/useUpload.js +56 -0
- package/internal/FileUploaderControl/hooks/useUpload/useUpload.js.map +1 -0
- package/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
- package/internal/FileUploaderControl/withFileUploaderControlProvider/package.json +6 -0
- package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +16 -0
- package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -0
- package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
- package/internal/FocusTrap/FocusTrap/FocusTrap.js +17 -9
- package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
- package/internal/FocusTrap/FocusTrap.d.ts +17 -16
- package/internal/FocusTrap/index.d.ts +1 -1
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
- package/internal/HideBodyVerticalScroll/index.d.ts +1 -1
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +13 -7
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
- package/internal/IgnoreLayerClick/index.d.ts +1 -1
- package/internal/InputLikeText/HiddenInput.d.ts +13 -13
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +11 -6
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.d.ts +73 -72
- package/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
- package/internal/InputLikeText/index.d.ts +1 -1
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +24 -25
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/InternalMenu/InternalMenu.d.ts +63 -64
- package/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
- package/internal/InternalMenu/index.d.ts +1 -1
- package/internal/InternalMenu/isActiveElement.d.ts +3 -3
- package/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
- package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
- package/internal/MaskCharLowLine/index.d.ts +1 -1
- package/internal/MaskedInput/MaskedInput/MaskedInput.js +7 -7
- package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/internal/MaskedInput/MaskedInput.d.ts +40 -40
- package/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
- package/internal/MaskedInput/index.d.ts +1 -1
- package/internal/Menu/Menu/Menu.js +11 -8
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.d.ts +63 -62
- package/internal/Menu/Menu.styles.d.ts +6 -6
- package/internal/Menu/index.d.ts +1 -1
- package/internal/Menu/isActiveElement.d.ts +3 -3
- package/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
- package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
- package/internal/NativeDateInput/index.d.ts +1 -1
- package/internal/NativeDateInput/utils.d.ts +7 -7
- package/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
- package/internal/Popup/Popup/Popup.js +82 -70
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +162 -161
- package/internal/Popup/Popup.styles.d.ts +16 -16
- package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
- package/internal/Popup/PopupHelper.d.ts +26 -26
- package/internal/Popup/PopupPin.d.ts +56 -56
- package/internal/Popup/PopupPin.styles.d.ts +3 -3
- package/internal/Popup/index.d.ts +1 -1
- package/internal/Popup/types/package.json +6 -0
- package/internal/Popup/types/types.js +0 -0
- package/internal/Popup/types/types.js.map +1 -0
- package/internal/Popup/types.d.ts +1 -0
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +15 -10
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +85 -84
- package/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
- package/internal/PopupMenu/index.d.ts +1 -1
- package/internal/PopupMenu/validatePositions/validatePositions.js +2 -2
- package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
- package/internal/PopupMenu/validatePositions.d.ts +2 -2
- package/internal/RenderContainer/RenderContainer/RenderContainer.js +3 -1
- package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/RenderContainer/RenderContainer.d.ts +16 -16
- package/internal/RenderContainer/RenderContainerTypes.d.ts +11 -11
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer.d.ts +13 -13
- package/internal/RenderContainer/index.d.ts +1 -1
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +20 -18
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer.d.ts +29 -27
- package/internal/RenderLayer/index.d.ts +1 -1
- package/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
- package/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
- package/internal/ResizeDetector/index.d.ts +1 -1
- package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +51 -0
- package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +1 -0
- package/internal/TextWidthHelper/TextWidthHelper/package.json +6 -0
- package/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
- package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js +14 -0
- package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js.map +1 -0
- package/internal/TextWidthHelper/TextWidthHelper.styles/package.json +6 -0
- package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
- package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
- package/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
- package/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
- package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
- package/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
- package/internal/ThemePlayground/HintPlayground.d.ts +6 -6
- package/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
- package/internal/ThemePlayground/Playground/Playground.js +11 -1
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/Playground.d.ts +32 -31
- package/internal/ThemePlayground/Playground.styles.d.ts +23 -23
- package/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
- package/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
- package/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
- package/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
- package/internal/ThemePlayground/ThemeContextPlayground.d.ts +51 -51
- package/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
- package/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
- package/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
- package/internal/ThemePlayground/VariableValue.d.ts +45 -45
- package/internal/ThemePlayground/constants.d.ts +18 -18
- package/internal/ThemePlayground/darkTheme/darkTheme.js +26 -1
- package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
- package/internal/ThemePlayground/darkTheme.d.ts +270 -255
- package/internal/ThemePlayground/helpers.d.ts +2 -2
- package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +35 -43
- package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
- package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
- package/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
- package/internal/ZIndex/ZIndex/ZIndex.js +20 -8
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndex.d.ts +36 -34
- package/internal/ZIndex/ZIndexStorage.d.ts +18 -18
- package/internal/ZIndex/index.d.ts +1 -1
- package/internal/icons/16px/icon.styles.d.ts +4 -4
- package/internal/icons/16px/index/index.js +125 -51
- package/internal/icons/16px/index/index.js.map +1 -1
- package/internal/icons/16px/index.d.ts +25 -21
- package/internal/icons/20px/Icon.d.ts +30 -30
- package/internal/icons/20px/icon.styles.d.ts +4 -4
- package/internal/icons/20px/index.d.ts +2 -2
- package/internal/icons/20px/svg.d.ts +14 -14
- package/internal/icons/CloudIcon.d.ts +1 -1
- package/internal/icons/CrossIcon.d.ts +1 -1
- package/internal/icons/SpinnerIcon/SpinnerIcon.js +5 -2
- package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
- package/internal/icons/SpinnerIcon.d.ts +26 -23
- package/internal/icons/SpinnerIcon.styles.d.ts +4 -4
- package/internal/themes/DefaultTheme/DefaultTheme.js +67 -0
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +789 -766
- package/internal/themes/FlatTheme.d.ts +132 -132
- package/internal/themes/Theme8px.d.ts +271 -271
- package/lib/ConditionalHandler.d.ts +11 -11
- package/lib/LayoutEvents.d.ts +4 -4
- package/lib/ModalStack/ModalStack.js +9 -13
- package/lib/ModalStack/ModalStack.js.map +1 -1
- package/lib/ModalStack.d.ts +14 -14
- package/lib/SSRSafe.d.ts +4 -4
- package/lib/Supports.d.ts +1 -1
- package/lib/Upgrades.d.ts +6 -6
- package/lib/animation/index.d.ts +6 -6
- package/lib/animation/presets.d.ts +18 -18
- package/lib/animation/stepper.d.ts +1 -1
- package/lib/callChildRef/callChildRef/callChildRef.js +14 -0
- package/lib/callChildRef/callChildRef/callChildRef.js.map +1 -0
- package/lib/callChildRef/callChildRef/package.json +6 -0
- package/lib/callChildRef/callChildRef.d.ts +3 -0
- package/lib/client.d.ts +16 -16
- package/lib/createPropsGetter.d.ts +2 -2
- package/lib/currentEnvironment.d.ts +3 -3
- package/lib/date/InternalDate.d.ts +58 -58
- package/lib/date/InternalDateCalculator.d.ts +6 -6
- package/lib/date/InternalDateGetter.d.ts +15 -15
- package/lib/date/InternalDateSetter.d.ts +6 -6
- package/lib/date/InternalDateTransformer.d.ts +12 -12
- package/lib/date/InternalDateValidator.d.ts +12 -12
- package/lib/date/constants.d.ts +28 -28
- package/lib/date/localeSets.d.ts +5 -5
- package/lib/date/types.d.ts +90 -90
- package/lib/dom/getScrollWidth.d.ts +1 -1
- package/lib/dom/tabbableHelpers.d.ts +16 -16
- package/lib/events/MouseDrag.d.ts +58 -58
- package/lib/events/fixClickFocusIE.d.ts +1 -1
- package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
- package/lib/events/keyListener.d.ts +7 -7
- package/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
- package/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
- package/lib/events/keyboard/extractCode.d.ts +3 -3
- package/lib/events/keyboard/identifiers.d.ts +48 -48
- package/lib/events/stopPropagation.d.ts +1 -1
- package/lib/events/tabListener.d.ts +1 -1
- package/lib/extractKeyboardAction.d.ts +13 -13
- package/lib/filterProps.d.ts +12 -12
- package/lib/forwardRefAndName.d.ts +5 -5
- package/lib/getDisplayName.d.ts +3 -3
- package/lib/listenFocusOutside.d.ts +8 -8
- package/lib/locale/LocaleContext.d.ts +7 -7
- package/lib/locale/LocaleHelper.d.ts +9 -9
- package/lib/locale/constants.d.ts +2 -2
- package/lib/locale/decorators.d.ts +36 -36
- package/lib/locale/index.d.ts +3 -3
- package/lib/locale/types/types.js.map +1 -1
- package/lib/locale/types.d.ts +21 -19
- package/lib/locale/useLocaleForControl/package.json +6 -0
- package/lib/locale/useLocaleForControl/useLocaleForControl.js +12 -0
- package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +1 -0
- package/lib/locale/useLocaleForControl.d.ts +3 -0
- package/lib/memo.d.ts +1 -1
- package/lib/net/fetch.d.ts +13 -13
- package/lib/polyfillPlaceholder.d.ts +1 -1
- package/lib/reactGetTextContent.d.ts +2 -2
- package/lib/rootNode/getRootNode/getRootNode.js +25 -0
- package/lib/rootNode/getRootNode/getRootNode.js.map +1 -0
- package/lib/rootNode/getRootNode/package.json +6 -0
- package/lib/rootNode/getRootNode.d.ts +3 -0
- package/lib/rootNode/index/index.js +2 -0
- package/lib/rootNode/index/index.js.map +1 -0
- package/lib/rootNode/index/package.json +6 -0
- package/lib/rootNode/index.d.ts +2 -0
- package/lib/rootNode/package.json +6 -0
- package/lib/rootNode/rootNodeDecorator/package.json +6 -0
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +37 -0
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -0
- package/lib/rootNode/rootNodeDecorator.d.ts +33 -0
- package/lib/stringUtils/package.json +6 -0
- package/lib/stringUtils/stringUtils.js +12 -0
- package/lib/stringUtils/stringUtils.js.map +1 -0
- package/lib/stringUtils.d.ts +1 -0
- package/lib/styles/ColorFactory.d.ts +11 -11
- package/lib/styles/ColorFunctions.d.ts +11 -11
- package/lib/styles/ColorHelpers.d.ts +20 -20
- package/lib/styles/ColorKeywords.d.ts +150 -150
- package/lib/styles/ColorObject.d.ts +52 -52
- package/lib/styles/DimensionFunctions.d.ts +1 -1
- package/lib/styles/HoldSelectionColor.d.ts +1 -1
- package/lib/styles/Mixins.d.ts +2 -2
- package/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
- package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +1 -1
- package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
- package/lib/theming/AnimationKeyframes.d.ts +9 -9
- package/lib/theming/Emotion/Emotion.js +1 -0
- package/lib/theming/Emotion/Emotion.js.map +1 -1
- package/lib/theming/Emotion.d.ts +15 -15
- package/lib/theming/Theme.d.ts +3 -3
- package/lib/theming/ThemeContext.d.ts +2 -2
- package/lib/theming/ThemeFactory.d.ts +8 -8
- package/lib/theming/ThemeHelpers.d.ts +11 -11
- package/lib/theming/themes/DefaultTheme.d.ts +1 -1
- package/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
- package/lib/theming/themes/FlatTheme.d.ts +1 -1
- package/lib/theming/themes/FlatThemeOld.d.ts +1 -1
- package/lib/theming/useTheme/package.json +6 -0
- package/lib/theming/useTheme/useTheme.js +5 -0
- package/lib/theming/useTheme/useTheme.js.map +1 -0
- package/lib/theming/useTheme.d.ts +1 -0
- package/lib/uidUtils/package.json +6 -0
- package/lib/uidUtils/uidUtils.js +4 -0
- package/lib/uidUtils/uidUtils.js.map +1 -0
- package/lib/uidUtils.d.ts +1 -0
- package/lib/utils/utils.js +95 -1
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +64 -28
- package/lib/withClassWrapper.d.ts +71 -71
- package/package.json +11 -5
- package/typings/html-props.d.ts +123 -0
- package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
- package/cjs/internal/PopupMenu/PopupMenuPositions.js +0 -15
- package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +0 -1
- package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js +0 -1
- package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +0 -1
- package/internal/PopupMenu/PopupMenuPositions/package.json +0 -6
- package/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["InputLikeText.tsx"],"names":["React","isNonNullable","isKeyTab","isShortcutPaste","MouseDrag","isEdge","isIE11","isMobile","removeAllSelections","selectNodeContents","styles","jsInputStyles","ThemeContext","CommonWrapper","cx","findRenderContainer","HiddenInput","InputLikeText","state","blinking","focused","theme","node","hiddenInput","lastSelectedInnerNode","frozen","frozenBlur","dragging","focusTimeout","blinkTimeout","selectInnerNode","start","end","document","body","setTimeout","clearInterval","window","focus","renderMain","props","innerRef","tabIndex","placeholder","align","borderless","width","size","error","warning","onValueChange","disabled","prefix","suffix","leftIcon","rightIcon","value","onMouseDragStart","onMouseDragEnd","takeContentWidth","rest","leftSide","renderLeftSide","rightSide","renderRightSide","className","root","getSizeClassName","blink","focusFallback","warningFallback","errorFallback","hideBlinkingCursor","wrapperClass","wrapper","userSelectContain","textAlign","undefined","handleFocus","handleBlur","handleKeyDown","handleMouseDown","input","absolute","inputFocus","inputDisabled","children","renderPlaceholder","hiddenInputRef","renderLeftIcon","renderIcon","getIconClassname","renderRightIcon","icon","iconNode","Function","useDefaultColor","iconDisabled","renderPrefix","prefixDisabled","renderSuffix","suffixDisabled","sideContainer","rightContainer","hasValue","placeholderDisabled","placeholderFocus","handleDocumentMouseDown","e","target","Node","contains","defrost","handleDocumentKeyDown","onKeyDown","handleMouseDragStart","documentElement","classList","add","userSelectNone","handleMouseDragEnd","remove","setAttribute","setState","onFocus","removeAttribute","stopPropagation","onBlur","el","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","blur","getNode","componentDidMount","listen","addEventListener","componentWillUnmount","clearTimeout","stop","removeEventListener","render","right","rightIconLarge","leftIconLarge","rightIconMedium","leftIconMedium","rightIconSmall","leftIconSmall","Component","__KONTUR_REACT_UI__","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyTab, isShortcutPaste } from '../../lib/events/keyboard/identifiers';\nimport { MouseDrag, MouseDragEventHandler } from '../../lib/events/MouseDrag';\nimport { isEdge, isIE11, isMobile } from '../../lib/client';\nimport { Nullable } from '../../typings/utility-types';\nimport { removeAllSelections, selectNodeContents } from '../../components/DateInput/helpers/SelectionHelpers';\nimport { InputProps, InputIconType, InputState } from '../../components/Input';\nimport { styles as jsInputStyles } from '../../components/Input/Input.styles';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { findRenderContainer } from '../../lib/listenFocusOutside';\n\nimport { styles } from './InputLikeText.styles';\nimport { HiddenInput } from './HiddenInput';\n\nexport interface InputLikeTextProps extends CommonProps, InputProps {\n children?: React.ReactNode;\n innerRef?: (el: HTMLElement | null) => void;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n onMouseDragStart?: MouseDragEventHandler;\n onMouseDragEnd?: MouseDragEventHandler;\n takeContentWidth?: boolean;\n}\n\nexport type InputLikeTextState = Omit<InputState, 'polyfillPlaceholder'>;\n\nexport class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {\n public static __KONTUR_REACT_UI__ = 'InputLikeText';\n\n public static defaultProps = { size: 'small' };\n\n public state = { blinking: false, focused: false };\n\n private theme!: Theme;\n private node: HTMLElement | null = null;\n private hiddenInput: HTMLInputElement | null = null;\n private lastSelectedInnerNode: [HTMLElement, number, number] | null = null;\n private frozen = false;\n private frozenBlur = false;\n private dragging = false;\n private focusTimeout: Nullable<number>;\n private blinkTimeout: Nullable<number>;\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.props.disabled) {\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = window.setTimeout(() => this.setState({ blinking: false }), 150);\n });\n }\n\n public getNode(): HTMLElement | null {\n return this.node;\n }\n\n public selectInnerNode = (node: HTMLElement | null, start = 0, end = 1) => {\n if (this.dragging || !node) {\n return;\n }\n if (isIE11 && findRenderContainer(node, document.body)) {\n // Code below causes Popup to close after triggering the focus event on the body in IE11\n return;\n }\n this.frozen = true;\n this.frozenBlur = true;\n\n this.lastSelectedInnerNode = [node, start, end];\n setTimeout(() => selectNodeContents(node, start, end), 0);\n if (this.focusTimeout) {\n clearInterval(this.focusTimeout);\n }\n this.focusTimeout = window.setTimeout(() => (isIE11 || isEdge) && this.node && this.node.focus(), 0);\n };\n\n public componentDidMount() {\n if (this.node) {\n MouseDrag.listen(this.node).onMouseDragStart(this.handleMouseDragStart).onMouseDragEnd(this.handleMouseDragEnd);\n }\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n clearTimeout(this.blinkTimeout);\n }\n MouseDrag.stop(this.node);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<InputLikeTextProps>) => {\n const {\n innerRef,\n tabIndex,\n placeholder,\n align,\n borderless,\n width,\n size,\n error,\n warning,\n onValueChange,\n disabled,\n prefix,\n suffix,\n leftIcon,\n rightIcon,\n value,\n onMouseDragStart,\n onMouseDragEnd,\n takeContentWidth,\n ...rest\n } = props;\n\n const { focused, blinking } = this.state;\n\n const leftSide = this.renderLeftSide();\n const rightSide = this.renderRightSide();\n\n const className = cx(styles.root(), jsInputStyles.root(this.theme), this.getSizeClassName(), {\n [jsInputStyles.disabled(this.theme)]: !!disabled,\n [jsInputStyles.borderless()]: !!borderless,\n [jsInputStyles.focus(this.theme)]: focused,\n [jsInputStyles.blink(this.theme)]: blinking,\n [jsInputStyles.warning(this.theme)]: !!warning,\n [jsInputStyles.error(this.theme)]: !!error,\n [jsInputStyles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [jsInputStyles.warningFallback(this.theme)]: !!warning && (isIE11 || isEdge),\n [jsInputStyles.errorFallback(this.theme)]: !!error && (isIE11 || isEdge),\n [jsInputStyles.hideBlinkingCursor()]: isMobile,\n });\n\n const wrapperClass = cx(jsInputStyles.wrapper(), {\n [styles.userSelectContain()]: focused,\n });\n\n return (\n <span\n {...rest}\n className={className}\n style={{ width, textAlign: align }}\n tabIndex={disabled ? undefined : 0}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.innerRef}\n onKeyDown={this.handleKeyDown}\n onMouseDown={this.handleMouseDown}\n >\n <input type=\"hidden\" value={value} />\n {leftSide}\n <span className={wrapperClass}>\n <span\n data-tid=\"InputLikeText__input\"\n className={cx(jsInputStyles.input(this.theme), {\n [styles.absolute()]: !takeContentWidth,\n [jsInputStyles.inputFocus(this.theme)]: focused,\n [jsInputStyles.inputDisabled(this.theme)]: disabled,\n })}\n >\n {this.props.children}\n </span>\n {this.renderPlaceholder()}\n </span>\n {rightSide}\n {isIE11 && focused && <HiddenInput nodeRef={this.hiddenInputRef} />}\n </span>\n );\n };\n\n private getIconClassname(right = false) {\n switch (this.props.size) {\n case 'large':\n return right ? jsInputStyles.rightIconLarge(this.theme) : jsInputStyles.leftIconLarge(this.theme);\n case 'medium':\n return right ? jsInputStyles.rightIconMedium(this.theme) : jsInputStyles.leftIconMedium(this.theme);\n case 'small':\n default:\n return right ? jsInputStyles.rightIconSmall(this.theme) : jsInputStyles.leftIconSmall(this.theme);\n }\n }\n\n private renderLeftIcon = () => {\n return this.renderIcon(this.props.leftIcon, this.getIconClassname());\n };\n\n private renderRightIcon = () => {\n return this.renderIcon(this.props.rightIcon, this.getIconClassname(true));\n };\n\n private renderIcon = (icon: InputIconType, className: string): JSX.Element | null => {\n if (!icon) {\n return null;\n }\n\n const { disabled } = this.props;\n const iconNode = icon instanceof Function ? icon() : icon;\n\n return (\n <span\n className={cx(jsInputStyles.icon(), className, jsInputStyles.useDefaultColor(this.theme), {\n [jsInputStyles.iconDisabled()]: disabled,\n })}\n >\n {iconNode}\n </span>\n );\n };\n\n private renderPrefix = (): JSX.Element | null => {\n const { prefix, disabled } = this.props;\n\n if (!prefix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.prefix(this.theme), { [jsInputStyles.prefixDisabled(this.theme)]: disabled })}>\n {prefix}\n </span>\n );\n };\n\n private renderSuffix = (): JSX.Element | null => {\n const { suffix, disabled } = this.props;\n\n if (!suffix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.suffix(this.theme), { [jsInputStyles.suffixDisabled(this.theme)]: disabled })}>\n {suffix}\n </span>\n );\n };\n\n private renderLeftSide = (): JSX.Element | null => {\n const leftIcon = this.renderLeftIcon();\n const prefix = this.renderPrefix();\n\n if (!leftIcon && !prefix) {\n return null;\n }\n\n return (\n <span className={jsInputStyles.sideContainer()}>\n {leftIcon}\n {prefix}\n </span>\n );\n };\n\n private renderRightSide = (): JSX.Element | null => {\n const rightIcon = this.renderRightIcon();\n const suffix = this.renderSuffix();\n\n if (!rightIcon && !suffix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.sideContainer(), jsInputStyles.rightContainer())}>\n {rightIcon}\n {suffix}\n </span>\n );\n };\n\n private renderPlaceholder = (): JSX.Element | null => {\n const { children, placeholder, disabled } = this.props;\n const { focused } = this.state;\n const hasValue = isNonNullable(children) && children !== '';\n\n if (!hasValue && placeholder) {\n return (\n <span\n className={cx(jsInputStyles.placeholder(this.theme), {\n [jsInputStyles.placeholderDisabled(this.theme)]: disabled,\n [jsInputStyles.placeholderFocus(this.theme)]: focused,\n })}\n >\n {placeholder}\n </span>\n );\n }\n return null;\n };\n\n private handleDocumentMouseDown = (e: MouseEvent) => {\n if (this.state.focused && this.node && e.target instanceof Node && !this.node.contains(e.target)) {\n this.defrost();\n }\n };\n\n private handleDocumentKeyDown = (e: KeyboardEvent) => {\n if (this.state.focused && isKeyTab(e)) {\n this.defrost();\n }\n };\n\n private handleMouseDown = (e: React.MouseEvent<HTMLElement>) => {\n this.frozen = true;\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.props.disabled) {\n return;\n }\n\n if (isIE11 && isShortcutPaste(e) && this.hiddenInput) {\n this.frozen = true;\n setTimeout(() => {\n if (this.lastSelectedInnerNode) {\n this.selectInnerNode(...this.lastSelectedInnerNode);\n }\n if (this.node) {\n this.node.focus();\n }\n }, 0);\n\n this.hiddenInput.focus();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e as React.KeyboardEvent<HTMLInputElement>);\n }\n };\n\n private handleMouseDragStart: MouseDragEventHandler = (e) => {\n this.dragging = true;\n document.documentElement.classList.add(styles.userSelectNone());\n\n if (this.props.onMouseDragStart) {\n this.props.onMouseDragStart(e);\n }\n };\n\n private handleMouseDragEnd: MouseDragEventHandler = (e) => {\n // Дожидаемся onMouseUp\n setTimeout(() => {\n this.dragging = false;\n\n if (this.props.onMouseDragEnd) {\n this.props.onMouseDragEnd(e);\n }\n }, 0);\n\n document.documentElement.classList.remove(styles.userSelectNone());\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n if (isMobile) {\n e.target.setAttribute('contenteditable', 'true');\n }\n\n if (this.props.disabled) {\n if (isIE11) {\n selectNodeContents(document.body, 0, 0);\n }\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozen) {\n this.frozen = false;\n if (this.state.focused) {\n return;\n }\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n if (isMobile) {\n e.target.removeAttribute('contenteditable');\n }\n\n if (this.props.disabled) {\n e.stopPropagation();\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozenBlur) {\n this.frozenBlur = false;\n return;\n }\n if ((isIE11 || isEdge) && this.frozen) {\n return;\n }\n\n removeAllSelections();\n\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(e);\n }\n };\n\n private hiddenInputRef = (el: HTMLInputElement | null) => {\n this.hiddenInput = el;\n };\n\n private innerRef = (el: HTMLElement | null) => {\n if (this.props.innerRef) {\n this.props.innerRef(el);\n }\n this.node = el;\n };\n\n private defrost = (): void => {\n this.frozen = false;\n this.frozenBlur = false;\n };\n\n private getSizeClassName = () => {\n switch (this.props.size) {\n case 'large':\n return cx({\n [jsInputStyles.sizeLarge(this.theme)]: true,\n [jsInputStyles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return cx({\n [jsInputStyles.sizeMedium(this.theme)]: true,\n [jsInputStyles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return cx({\n [jsInputStyles.sizeSmall(this.theme)]: true,\n [jsInputStyles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["InputLikeText.tsx"],"names":["React","isNonNullable","isKeyTab","isShortcutPaste","MouseDrag","isEdge","isIE11","isMobile","removeAllSelections","selectNodeContents","styles","jsInputStyles","ThemeContext","CommonWrapper","cx","findRenderContainer","rootNode","HiddenInput","InputLikeText","state","blinking","focused","theme","node","hiddenInput","lastSelectedInnerNode","frozen","frozenBlur","dragging","focusTimeout","blinkTimeout","setRootNode","selectInnerNode","start","end","document","body","setTimeout","clearInterval","window","focus","renderMain","props","innerRef","tabIndex","placeholder","align","borderless","width","size","error","warning","onValueChange","disabled","prefix","suffix","leftIcon","rightIcon","value","onMouseDragStart","onMouseDragEnd","takeContentWidth","rest","leftSide","renderLeftSide","rightSide","renderRightSide","className","root","getSizeClassName","blink","focusFallback","warningFallback","errorFallback","hideBlinkingCursor","wrapperClass","wrapper","userSelectContain","textAlign","undefined","handleFocus","handleBlur","handleKeyDown","handleMouseDown","input","absolute","inputFocus","inputDisabled","children","renderPlaceholder","hiddenInputRef","renderLeftIcon","renderIcon","getIconClassname","renderRightIcon","icon","iconNode","Function","useDefaultColor","iconDisabled","renderPrefix","prefixDisabled","renderSuffix","suffixDisabled","sideContainer","rightContainer","hasValue","placeholderDisabled","placeholderFocus","handleDocumentMouseDown","e","target","Node","contains","defrost","handleDocumentKeyDown","onKeyDown","handleMouseDragStart","documentElement","classList","add","userSelectNone","handleMouseDragEnd","remove","setAttribute","setState","onFocus","removeAttribute","stopPropagation","onBlur","el","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","blur","getNode","componentDidMount","listen","addEventListener","componentWillUnmount","clearTimeout","stop","removeEventListener","render","right","rightIconLarge","leftIconLarge","rightIconMedium","leftIconMedium","rightIconSmall","leftIconSmall","Component","__KONTUR_REACT_UI__","defaultProps"],"mappings":"+PAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAASC,aAAT,QAA8B,iBAA9B;AACA,SAASC,QAAT,EAAmBC,eAAnB,QAA0C,uCAA1C;AACA,SAASC,SAAT,QAAiD,4BAAjD;AACA,SAASC,MAAT,EAAiBC,MAAjB,EAAyBC,QAAzB,QAAyC,kBAAzC;;AAEA,SAASC,mBAAT,EAA8BC,kBAA9B,QAAwD,qDAAxD;;AAEA,SAASC,MAAM,IAAIC,aAAnB,QAAwC,qCAAxC;AACA,SAASC,YAAT,QAA6B,gCAA7B;;AAEA,SAAsBC,aAAtB,QAAmE,kBAAnE;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,mBAAT,QAAoC,8BAApC;AACA,SAAuBC,QAAvB,QAAuC,oBAAvC;;AAEA,SAASN,MAAT,QAAuB,wBAAvB;AACA,SAASO,WAAT,QAA4B,eAA5B;;;;;;;;;;;;;;;AAeA,WAAaC,aAAb,GADCF,QACD;;;;;AAKSG,IAAAA,KALT,GAKiB,EAAEC,QAAQ,EAAE,KAAZ,EAAmBC,OAAO,EAAE,KAA5B,EALjB;;AAOUC,IAAAA,KAPV;AAQUC,IAAAA,IARV,GAQqC,IARrC;AASUC,IAAAA,WATV,GASiD,IATjD;AAUUC,IAAAA,qBAVV,GAUwE,IAVxE;AAWUC,IAAAA,MAXV,GAWmB,KAXnB;AAYUC,IAAAA,UAZV,GAYuB,KAZvB;AAaUC,IAAAA,QAbV,GAaqB,KAbrB;AAcUC,IAAAA,YAdV;AAeUC,IAAAA,YAfV;AAgBUC,IAAAA,WAhBV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDSC,IAAAA,eApDT,GAoD2B,UAACT,IAAD,EAA2BU,KAA3B,EAAsCC,GAAtC,EAAkD,KAAvBD,KAAuB,cAAvBA,KAAuB,GAAf,CAAe,MAAZC,GAAY,cAAZA,GAAY,GAAN,CAAM;AACzE,UAAI,MAAKN,QAAL,IAAiB,CAACL,IAAtB,EAA4B;AAC1B;AACD;AACD,UAAIjB,MAAM,IAAIS,mBAAmB,CAACQ,IAAD,EAAOY,QAAQ,CAACC,IAAhB,CAAjC,EAAwD;AACtD;AACA;AACD;AACD,YAAKV,MAAL,GAAc,IAAd;AACA,YAAKC,UAAL,GAAkB,IAAlB;;AAEA,YAAKF,qBAAL,GAA6B,CAACF,IAAD,EAAOU,KAAP,EAAcC,GAAd,CAA7B;AACAG,MAAAA,UAAU,CAAC,oBAAM5B,kBAAkB,CAACc,IAAD,EAAOU,KAAP,EAAcC,GAAd,CAAxB,EAAD,EAA6C,CAA7C,CAAV;AACA,UAAI,MAAKL,YAAT,EAAuB;AACrBS,QAAAA,aAAa,CAAC,MAAKT,YAAN,CAAb;AACD;AACD,YAAKA,YAAL,GAAoBU,MAAM,CAACF,UAAP,CAAkB,oBAAM,CAAC/B,MAAM,IAAID,MAAX,KAAsB,MAAKkB,IAA3B,IAAmC,MAAKA,IAAL,CAAUiB,KAAV,EAAzC,EAAlB,EAA8E,CAA9E,CAApB;AACD,KArEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuGUC,IAAAA,UAvGV,GAuGuB,UAACC,KAAD,EAAuD;;AAExEC,MAAAA,QAFwE;;;;;;;;;;;;;;;;;;;;AAsBtED,MAAAA,KAtBsE,CAExEC,QAFwE,CAGxEC,QAHwE,GAsBtEF,KAtBsE,CAGxEE,QAHwE,CAIxEC,WAJwE,GAsBtEH,KAtBsE,CAIxEG,WAJwE,CAKxEC,KALwE,GAsBtEJ,KAtBsE,CAKxEI,KALwE,CAMxEC,UANwE,GAsBtEL,KAtBsE,CAMxEK,UANwE,CAOxEC,KAPwE,GAsBtEN,KAtBsE,CAOxEM,KAPwE,CAQxEC,IARwE,GAsBtEP,KAtBsE,CAQxEO,IARwE,CASxEC,KATwE,GAsBtER,KAtBsE,CASxEQ,KATwE,CAUxEC,OAVwE,GAsBtET,KAtBsE,CAUxES,OAVwE,CAWxEC,aAXwE,GAsBtEV,KAtBsE,CAWxEU,aAXwE,CAYxEC,QAZwE,GAsBtEX,KAtBsE,CAYxEW,QAZwE,CAaxEC,MAbwE,GAsBtEZ,KAtBsE,CAaxEY,MAbwE,CAcxEC,MAdwE,GAsBtEb,KAtBsE,CAcxEa,MAdwE,CAexEC,QAfwE,GAsBtEd,KAtBsE,CAexEc,QAfwE,CAgBxEC,SAhBwE,GAsBtEf,KAtBsE,CAgBxEe,SAhBwE,CAiBxEC,KAjBwE,GAsBtEhB,KAtBsE,CAiBxEgB,KAjBwE,CAkBxEC,gBAlBwE,GAsBtEjB,KAtBsE,CAkBxEiB,gBAlBwE,CAmBxEC,cAnBwE,GAsBtElB,KAtBsE,CAmBxEkB,cAnBwE,CAoBxEC,gBApBwE,GAsBtEnB,KAtBsE,CAoBxEmB,gBApBwE,CAqBrEC,IArBqE,iCAsBtEpB,KAtBsE;;AAwB5C,YAAKvB,KAxBuC,CAwBlEE,OAxBkE,eAwBlEA,OAxBkE,CAwBzDD,QAxByD,eAwBzDA,QAxByD;;AA0B1E,UAAM2C,QAAQ,GAAG,MAAKC,cAAL,EAAjB;AACA,UAAMC,SAAS,GAAG,MAAKC,eAAL,EAAlB;;AAEA,UAAMC,SAAS,GAAGrD,EAAE,CAACJ,MAAM,CAAC0D,IAAP,EAAD,EAAgBzD,aAAa,CAACyD,IAAd,CAAmB,MAAK9C,KAAxB,CAAhB,EAAgD,MAAK+C,gBAAL,EAAhD;AACjB1D,MAAAA,aAAa,CAAC0C,QAAd,CAAuB,MAAK/B,KAA5B,CADiB,IACoB,CAAC,CAAC+B,QADtB;AAEjB1C,MAAAA,aAAa,CAACoC,UAAd,EAFiB,IAEY,CAAC,CAACA,UAFd;AAGjBpC,MAAAA,aAAa,CAAC6B,KAAd,CAAoB,MAAKlB,KAAzB,CAHiB,IAGiBD,OAHjB;AAIjBV,MAAAA,aAAa,CAAC2D,KAAd,CAAoB,MAAKhD,KAAzB,CAJiB,IAIiBF,QAJjB;AAKjBT,MAAAA,aAAa,CAACwC,OAAd,CAAsB,MAAK7B,KAA3B,CALiB,IAKmB,CAAC,CAAC6B,OALrB;AAMjBxC,MAAAA,aAAa,CAACuC,KAAd,CAAoB,MAAK5B,KAAzB,CANiB,IAMiB,CAAC,CAAC4B,KANnB;AAOjBvC,MAAAA,aAAa,CAAC4D,aAAd,CAA4B,MAAKjD,KAAjC,CAPiB,IAOyBD,OAAO,KAAKf,MAAM,IAAID,MAAf,CAPhC;AAQjBM,MAAAA,aAAa,CAAC6D,eAAd,CAA8B,MAAKlD,KAAnC,CARiB,IAQ2B,CAAC,CAAC6B,OAAF,KAAc7C,MAAM,IAAID,MAAxB,CAR3B;AASjBM,MAAAA,aAAa,CAAC8D,aAAd,CAA4B,MAAKnD,KAAjC,CATiB,IASyB,CAAC,CAAC4B,KAAF,KAAY5C,MAAM,IAAID,MAAtB,CATzB;AAUjBM,MAAAA,aAAa,CAAC+D,kBAAd,EAViB,IAUoBnE,QAVpB,OAApB;;;AAaA,UAAMoE,YAAY,GAAG7D,EAAE,CAACH,aAAa,CAACiE,OAAd,EAAD;AACpBlE,MAAAA,MAAM,CAACmE,iBAAP,EADoB,IACSxD,OADT,QAAvB;;;AAIA;AACE;AACMyC,QAAAA,IADN;AAEE,UAAA,SAAS,EAAEK,SAFb;AAGE,UAAA,KAAK,EAAE,EAAEnB,KAAK,EAALA,KAAF,EAAS8B,SAAS,EAAEhC,KAApB,EAHT;AAIE,UAAA,QAAQ,EAAEO,QAAQ,GAAG0B,SAAH,GAAe,CAJnC;AAKE,UAAA,OAAO,EAAE,MAAKC,WALhB;AAME,UAAA,MAAM,EAAE,MAAKC,UANf;AAOE,UAAA,GAAG,EAAE,MAAKtC,QAPZ;AAQE,UAAA,SAAS,EAAE,MAAKuC,aARlB;AASE,UAAA,WAAW,EAAE,MAAKC,eATpB;;AAWE,uCAAO,IAAI,EAAC,QAAZ,EAAqB,KAAK,EAAEzB,KAA5B,GAXF;AAYGK,QAAAA,QAZH;AAaE,sCAAM,SAAS,EAAEY,YAAjB;AACE;AACE,sBAAS,sBADX;AAEE,UAAA,SAAS,EAAE7D,EAAE,CAACH,aAAa,CAACyE,KAAd,CAAoB,MAAK9D,KAAzB,CAAD;AACVZ,UAAAA,MAAM,CAAC2E,QAAP,EADU,IACU,CAACxB,gBADX;AAEVlD,UAAAA,aAAa,CAAC2E,UAAd,CAAyB,MAAKhE,KAA9B,CAFU,IAE6BD,OAF7B;AAGVV,UAAAA,aAAa,CAAC4E,aAAd,CAA4B,MAAKjE,KAAjC,CAHU,IAGgC+B,QAHhC,QAFf;;;AAQG,cAAKX,KAAL,CAAW8C,QARd,CADF;;AAWG,cAAKC,iBAAL,EAXH,CAbF;;AA0BGxB,QAAAA,SA1BH;AA2BG3D,QAAAA,MAAM,IAAIe,OAAV,iBAAqB,oBAAC,WAAD,IAAa,OAAO,EAAE,MAAKqE,cAA3B,GA3BxB,CADF;;;AA+BD,KApLH;;;;;;;;;;;;;;AAkMUC,IAAAA,cAlMV,GAkM2B,YAAM;AAC7B,aAAO,MAAKC,UAAL,CAAgB,MAAKlD,KAAL,CAAWc,QAA3B,EAAqC,MAAKqC,gBAAL,EAArC,CAAP;AACD,KApMH;;AAsMUC,IAAAA,eAtMV,GAsM4B,YAAM;AAC9B,aAAO,MAAKF,UAAL,CAAgB,MAAKlD,KAAL,CAAWe,SAA3B,EAAsC,MAAKoC,gBAAL,CAAsB,IAAtB,CAAtC,CAAP;AACD,KAxMH;;AA0MUD,IAAAA,UA1MV,GA0MuB,UAACG,IAAD,EAAsB5B,SAAtB,EAAgE;AACnF,UAAI,CAAC4B,IAAL,EAAW;AACT,eAAO,IAAP;AACD,OAHkF;;AAK3E1C,MAAAA,QAL2E,GAK9D,MAAKX,KALyD,CAK3EW,QAL2E;AAMnF,UAAM2C,QAAQ,GAAGD,IAAI,YAAYE,QAAhB,GAA2BF,IAAI,EAA/B,GAAoCA,IAArD;;AAEA;AACE;AACE,UAAA,SAAS,EAAEjF,EAAE,CAACH,aAAa,CAACoF,IAAd,EAAD,EAAuB5B,SAAvB,EAAkCxD,aAAa,CAACuF,eAAd,CAA8B,MAAK5E,KAAnC,CAAlC;AACVX,UAAAA,aAAa,CAACwF,YAAd,EADU,IACqB9C,QADrB,QADf;;;AAKG2C,QAAAA,QALH,CADF;;;AASD,KA3NH;;AA6NUI,IAAAA,YA7NV,GA6NyB,YAA0B;AAClB,YAAK1D,KADa,CACvCY,MADuC,eACvCA,MADuC,CAC/BD,QAD+B,eAC/BA,QAD+B;;AAG/C,UAAI,CAACC,MAAL,EAAa;AACX,eAAO,IAAP;AACD;;AAED;AACE,sCAAM,SAAS,EAAExC,EAAE,CAACH,aAAa,CAAC2C,MAAd,CAAqB,MAAKhC,KAA1B,CAAD,mBAAsCX,aAAa,CAAC0F,cAAd,CAA6B,MAAK/E,KAAlC,CAAtC,IAAiF+B,QAAjF,QAAnB;AACGC,QAAAA,MADH,CADF;;;AAKD,KAzOH;;AA2OUgD,IAAAA,YA3OV,GA2OyB,YAA0B;AAClB,YAAK5D,KADa,CACvCa,MADuC,gBACvCA,MADuC,CAC/BF,QAD+B,gBAC/BA,QAD+B;;AAG/C,UAAI,CAACE,MAAL,EAAa;AACX,eAAO,IAAP;AACD;;AAED;AACE,sCAAM,SAAS,EAAEzC,EAAE,CAACH,aAAa,CAAC4C,MAAd,CAAqB,MAAKjC,KAA1B,CAAD,mBAAsCX,aAAa,CAAC4F,cAAd,CAA6B,MAAKjF,KAAlC,CAAtC,IAAiF+B,QAAjF,QAAnB;AACGE,QAAAA,MADH,CADF;;;AAKD,KAvPH;;AAyPUS,IAAAA,cAzPV,GAyP2B,YAA0B;AACjD,UAAMR,QAAQ,GAAG,MAAKmC,cAAL,EAAjB;AACA,UAAMrC,MAAM,GAAG,MAAK8C,YAAL,EAAf;;AAEA,UAAI,CAAC5C,QAAD,IAAa,CAACF,MAAlB,EAA0B;AACxB,eAAO,IAAP;AACD;;AAED;AACE,sCAAM,SAAS,EAAE3C,aAAa,CAAC6F,aAAd,EAAjB;AACGhD,QAAAA,QADH;AAEGF,QAAAA,MAFH,CADF;;;AAMD,KAvQH;;AAyQUY,IAAAA,eAzQV,GAyQ4B,YAA0B;AAClD,UAAMT,SAAS,GAAG,MAAKqC,eAAL,EAAlB;AACA,UAAMvC,MAAM,GAAG,MAAK+C,YAAL,EAAf;;AAEA,UAAI,CAAC7C,SAAD,IAAc,CAACF,MAAnB,EAA2B;AACzB,eAAO,IAAP;AACD;;AAED;AACE,sCAAM,SAAS,EAAEzC,EAAE,CAACH,aAAa,CAAC6F,aAAd,EAAD,EAAgC7F,aAAa,CAAC8F,cAAd,EAAhC,CAAnB;AACGhD,QAAAA,SADH;AAEGF,QAAAA,MAFH,CADF;;;AAMD,KAvRH;;AAyRUkC,IAAAA,iBAzRV,GAyR8B,YAA0B;AACR,YAAK/C,KADG,CAC5C8C,QAD4C,gBAC5CA,QAD4C,CAClC3C,WADkC,gBAClCA,WADkC,CACrBQ,QADqB,gBACrBA,QADqB;AAE5ChC,MAAAA,OAF4C,GAEhC,MAAKF,KAF2B,CAE5CE,OAF4C;AAGpD,UAAMqF,QAAQ,GAAGzG,aAAa,CAACuF,QAAD,CAAb,IAA2BA,QAAQ,KAAK,EAAzD;;AAEA,UAAI,CAACkB,QAAD,IAAa7D,WAAjB,EAA8B;AAC5B;AACE;AACE,YAAA,SAAS,EAAE/B,EAAE,CAACH,aAAa,CAACkC,WAAd,CAA0B,MAAKvB,KAA/B,CAAD;AACVX,YAAAA,aAAa,CAACgG,mBAAd,CAAkC,MAAKrF,KAAvC,CADU,IACsC+B,QADtC;AAEV1C,YAAAA,aAAa,CAACiG,gBAAd,CAA+B,MAAKtF,KAApC,CAFU,IAEmCD,OAFnC,QADf;;;AAMGwB,UAAAA,WANH,CADF;;;AAUD;AACD,aAAO,IAAP;AACD,KA3SH;;AA6SUgE,IAAAA,uBA7SV,GA6SoC,UAACC,CAAD,EAAmB;AACnD,UAAI,MAAK3F,KAAL,CAAWE,OAAX,IAAsB,MAAKE,IAA3B,IAAmCuF,CAAC,CAACC,MAAF,YAAoBC,IAAvD,IAA+D,CAAC,MAAKzF,IAAL,CAAU0F,QAAV,CAAmBH,CAAC,CAACC,MAArB,CAApE,EAAkG;AAChG,cAAKG,OAAL;AACD;AACF,KAjTH;;AAmTUC,IAAAA,qBAnTV,GAmTkC,UAACL,CAAD,EAAsB;AACpD,UAAI,MAAK3F,KAAL,CAAWE,OAAX,IAAsBnB,QAAQ,CAAC4G,CAAD,CAAlC,EAAuC;AACrC,cAAKI,OAAL;AACD;AACF,KAvTH;;AAyTU/B,IAAAA,eAzTV,GAyT4B,UAAC2B,CAAD,EAAsC;AAC9D,YAAKpF,MAAL,GAAc,IAAd;AACD,KA3TH;;AA6TUwD,IAAAA,aA7TV,GA6T0B,UAAC4B,CAAD,EAAyC;AAC/D,UAAI,MAAKpE,KAAL,CAAWW,QAAf,EAAyB;AACvB;AACD;;AAED,UAAI/C,MAAM,IAAIH,eAAe,CAAC2G,CAAD,CAAzB,IAAgC,MAAKtF,WAAzC,EAAsD;AACpD,cAAKE,MAAL,GAAc,IAAd;AACAW,QAAAA,UAAU,CAAC,YAAM;AACf,cAAI,MAAKZ,qBAAT,EAAgC;AAC9B,6BAAKO,eAAL,eAAwB,MAAKP,qBAA7B;AACD;AACD,cAAI,MAAKF,IAAT,EAAe;AACb,kBAAKA,IAAL,CAAUiB,KAAV;AACD;AACF,SAPS,EAOP,CAPO,CAAV;;AASA,cAAKhB,WAAL,CAAiBgB,KAAjB;AACD;;AAED,UAAI,MAAKE,KAAL,CAAW0E,SAAf,EAA0B;AACxB,cAAK1E,KAAL,CAAW0E,SAAX,CAAqBN,CAArB;AACD;AACF,KAnVH;;AAqVUO,IAAAA,oBArVV,GAqVwD,UAACP,CAAD,EAAO;AAC3D,YAAKlF,QAAL,GAAgB,IAAhB;AACAO,MAAAA,QAAQ,CAACmF,eAAT,CAAyBC,SAAzB,CAAmCC,GAAnC,CAAuC9G,MAAM,CAAC+G,cAAP,EAAvC;;AAEA,UAAI,MAAK/E,KAAL,CAAWiB,gBAAf,EAAiC;AAC/B,cAAKjB,KAAL,CAAWiB,gBAAX,CAA4BmD,CAA5B;AACD;AACF,KA5VH;;AA8VUY,IAAAA,kBA9VV,GA8VsD,UAACZ,CAAD,EAAO;AACzD;AACAzE,MAAAA,UAAU,CAAC,YAAM;AACf,cAAKT,QAAL,GAAgB,KAAhB;;AAEA,YAAI,MAAKc,KAAL,CAAWkB,cAAf,EAA+B;AAC7B,gBAAKlB,KAAL,CAAWkB,cAAX,CAA0BkD,CAA1B;AACD;AACF,OANS,EAMP,CANO,CAAV;;AAQA3E,MAAAA,QAAQ,CAACmF,eAAT,CAAyBC,SAAzB,CAAmCI,MAAnC,CAA0CjH,MAAM,CAAC+G,cAAP,EAA1C;AACD,KAzWH;;AA2WUzC,IAAAA,WA3WV,GA2WwB,UAAC8B,CAAD,EAAsC;AAC1D,UAAIvG,QAAJ,EAAc;AACZuG,QAAAA,CAAC,CAACC,MAAF,CAASa,YAAT,CAAsB,iBAAtB,EAAyC,MAAzC;AACD;;AAED,UAAI,MAAKlF,KAAL,CAAWW,QAAf,EAAyB;AACvB,YAAI/C,MAAJ,EAAY;AACVG,UAAAA,kBAAkB,CAAC0B,QAAQ,CAACC,IAAV,EAAgB,CAAhB,EAAmB,CAAnB,CAAlB;AACD;AACD;AACD;;AAED,UAAI,CAAC9B,MAAM,IAAID,MAAX,KAAsB,MAAKqB,MAA/B,EAAuC;AACrC,cAAKA,MAAL,GAAc,KAAd;AACA,YAAI,MAAKP,KAAL,CAAWE,OAAf,EAAwB;AACtB;AACD;AACF;;AAED,YAAKwG,QAAL,CAAc,EAAExG,OAAO,EAAE,IAAX,EAAd;;AAEA,UAAI,MAAKqB,KAAL,CAAWoF,OAAf,EAAwB;AACtB,cAAKpF,KAAL,CAAWoF,OAAX,CAAmBhB,CAAnB;AACD;AACF,KAnYH;;AAqYU7B,IAAAA,UArYV,GAqYuB,UAAC6B,CAAD,EAAsC;AACzD,UAAIvG,QAAJ,EAAc;AACZuG,QAAAA,CAAC,CAACC,MAAF,CAASgB,eAAT,CAAyB,iBAAzB;AACD;;AAED,UAAI,MAAKrF,KAAL,CAAWW,QAAf,EAAyB;AACvByD,QAAAA,CAAC,CAACkB,eAAF;AACA;AACD;;AAED,UAAI,CAAC1H,MAAM,IAAID,MAAX,KAAsB,MAAKsB,UAA/B,EAA2C;AACzC,cAAKA,UAAL,GAAkB,KAAlB;AACA;AACD;AACD,UAAI,CAACrB,MAAM,IAAID,MAAX,KAAsB,MAAKqB,MAA/B,EAAuC;AACrC;AACD;;AAEDlB,MAAAA,mBAAmB;;AAEnB,YAAKqH,QAAL,CAAc,EAAExG,OAAO,EAAE,KAAX,EAAd;;AAEA,UAAI,MAAKqB,KAAL,CAAWuF,MAAf,EAAuB;AACrB,cAAKvF,KAAL,CAAWuF,MAAX,CAAkBnB,CAAlB;AACD;AACF,KA9ZH;;AAgaUpB,IAAAA,cAhaV,GAga2B,UAACwC,EAAD,EAAiC;AACxD,YAAK1G,WAAL,GAAmB0G,EAAnB;AACD,KAlaH;;AAoaUvF,IAAAA,QApaV,GAoaqB,UAACuF,EAAD,EAA4B;AAC7C,UAAI,MAAKxF,KAAL,CAAWC,QAAf,EAAyB;AACvB,cAAKD,KAAL,CAAWC,QAAX,CAAoBuF,EAApB;AACD;AACD,YAAK3G,IAAL,GAAY2G,EAAZ;AACD,KAzaH;;AA2aUhB,IAAAA,OA3aV,GA2aoB,YAAY;AAC5B,YAAKxF,MAAL,GAAc,KAAd;AACA,YAAKC,UAAL,GAAkB,KAAlB;AACD,KA9aH;;AAgbU0C,IAAAA,gBAhbV,GAgb6B,YAAM;AAC/B,cAAQ,MAAK3B,KAAL,CAAWO,IAAnB;AACE,aAAK,OAAL;AACE,iBAAOnC,EAAE;AACNH,UAAAA,aAAa,CAACwH,SAAd,CAAwB,MAAK7G,KAA7B,CADM,IACgC,IADhC;AAENX,UAAAA,aAAa,CAACyH,iBAAd,CAAgC,MAAK9G,KAArC,CAFM,IAEwChB,MAAM,IAAID,MAFlD,QAAT;;AAIF,aAAK,QAAL;AACE,iBAAOS,EAAE;AACNH,UAAAA,aAAa,CAAC0H,UAAd,CAAyB,MAAK/G,KAA9B,CADM,IACiC,IADjC;AAENX,UAAAA,aAAa,CAAC2H,kBAAd,CAAiC,MAAKhH,KAAtC,CAFM,IAEyChB,MAAM,IAAID,MAFnD,QAAT;;AAIF,aAAK,OAAL;AACA;AACE,iBAAOS,EAAE;AACNH,UAAAA,aAAa,CAAC4H,SAAd,CAAwB,MAAKjH,KAA7B,CADM,IACgC,IADhC;AAENX,UAAAA,aAAa,CAAC6H,iBAAd,CAAgC,MAAKlH,KAArC,CAFM,IAEwChB,MAAM,IAAID,MAFlD,SAAT,CAbJ;;;AAkBD,KAncH,qDAkBE;AACF;AACA,KApBA,OAqBSmC,KArBT,GAqBE,iBAAe,CACb,IAAI,KAAKjB,IAAT,EAAe,CACb,KAAKA,IAAL,CAAUiB,KAAV,GACD,CACF,CAzBH,CA2BE;AACF;AACA,KA7BA,QA8BSiG,IA9BT,GA8BE,gBAAc,CACZ,IAAI,KAAKlH,IAAT,EAAe,CACb,KAAKA,IAAL,CAAUkH,IAAV,GACD,CACF,CAlCH,CAoCE;AACF;AACA,KAtCA,QAuCSnE,KAvCT,GAuCE,iBAAe,mBACb,IAAI,KAAK5B,KAAL,CAAWW,QAAf,EAAyB,CACvB,OACD,CACD,KAAKwE,QAAL,CAAc,EAAEzG,QAAQ,EAAE,IAAZ,EAAd,EAAkC,YAAM,CACtC,MAAI,CAACU,YAAL,GAAoBS,MAAM,CAACF,UAAP,CAAkB,oBAAM,MAAI,CAACwF,QAAL,CAAc,EAAEzG,QAAQ,EAAE,KAAZ,EAAd,CAAN,EAAlB,EAA4D,GAA5D,CAApB,CACD,CAFD,EAGD,CA9CH,QAgDSsH,OAhDT,GAgDE,mBAAqC,CACnC,OAAO,KAAKnH,IAAZ,CACD,CAlDH,QAuESoH,iBAvET,GAuEE,6BAA2B,CACzB,IAAI,KAAKpH,IAAT,EAAe,CACbnB,SAAS,CAACwI,MAAV,CAAiB,KAAKrH,IAAtB,EAA4BoC,gBAA5B,CAA6C,KAAK0D,oBAAlD,EAAwEzD,cAAxE,CAAuF,KAAK8D,kBAA5F,EACD,CACDvF,QAAQ,CAAC0G,gBAAT,CAA0B,WAA1B,EAAuC,KAAKhC,uBAA5C,EACA1E,QAAQ,CAAC0G,gBAAT,CAA0B,SAA1B,EAAqC,KAAK1B,qBAA1C,EACD,CA7EH,QA+ES2B,oBA/ET,GA+EE,gCAA8B,CAC5B,IAAI,KAAKhH,YAAT,EAAuB,CACrBiH,YAAY,CAAC,KAAKjH,YAAN,CAAZ,CACD,CACD1B,SAAS,CAAC4I,IAAV,CAAe,KAAKzH,IAApB,EACAY,QAAQ,CAAC8G,mBAAT,CAA6B,WAA7B,EAA0C,KAAKpC,uBAA/C,EACA1E,QAAQ,CAAC8G,mBAAT,CAA6B,SAA7B,EAAwC,KAAK9B,qBAA7C,EACD,CAtFH,QAwFS+B,MAxFT,GAwFE,kBAAgB,mBACd,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAAC5H,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,oBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,MAAI,CAACS,WAAjC,IAAkD,MAAI,CAACW,KAAvD,GACG,MAAI,CAACD,UADR,CADF,CAKD,CARH,CADF,CAYD,CArGH,QAsLUoD,gBAtLV,GAsLE,0BAAyBsD,KAAzB,EAAwC,KAAfA,KAAe,cAAfA,KAAe,GAAP,KAAO,EACtC,QAAQ,KAAKzG,KAAL,CAAWO,IAAnB,GACE,KAAK,OAAL,CACE,OAAOkG,KAAK,GAAGxI,aAAa,CAACyI,cAAd,CAA6B,KAAK9H,KAAlC,CAAH,GAA8CX,aAAa,CAAC0I,aAAd,CAA4B,KAAK/H,KAAjC,CAA1D,CACF,KAAK,QAAL,CACE,OAAO6H,KAAK,GAAGxI,aAAa,CAAC2I,eAAd,CAA8B,KAAKhI,KAAnC,CAAH,GAA+CX,aAAa,CAAC4I,cAAd,CAA6B,KAAKjI,KAAlC,CAA3D,CACF,KAAK,OAAL,CACA,QACE,OAAO6H,KAAK,GAAGxI,aAAa,CAAC6I,cAAd,CAA6B,KAAKlI,KAAlC,CAAH,GAA8CX,aAAa,CAAC8I,aAAd,CAA4B,KAAKnI,KAAjC,CAA1D,CAPJ,CASD,CAhMH,wBAAmCtB,KAAK,CAAC0J,SAAzC,WACgBC,mBADhB,GACsC,eADtC,UAGgBC,YAHhB,GAG+B,EAAE3G,IAAI,EAAE,OAAR,EAH/B","sourcesContent":["import React from 'react';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyTab, isShortcutPaste } from '../../lib/events/keyboard/identifiers';\nimport { MouseDrag, MouseDragEventHandler } from '../../lib/events/MouseDrag';\nimport { isEdge, isIE11, isMobile } from '../../lib/client';\nimport { Nullable } from '../../typings/utility-types';\nimport { removeAllSelections, selectNodeContents } from '../../components/DateInput/helpers/SelectionHelpers';\nimport { InputProps, InputIconType, InputState } from '../../components/Input';\nimport { styles as jsInputStyles } from '../../components/Input/Input.styles';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { findRenderContainer } from '../../lib/listenFocusOutside';\nimport { TSetRootNode, rootNode } from '../../lib/rootNode';\n\nimport { styles } from './InputLikeText.styles';\nimport { HiddenInput } from './HiddenInput';\n\nexport interface InputLikeTextProps extends CommonProps, InputProps {\n children?: React.ReactNode;\n innerRef?: (el: HTMLElement | null) => void;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n onMouseDragStart?: MouseDragEventHandler;\n onMouseDragEnd?: MouseDragEventHandler;\n takeContentWidth?: boolean;\n}\n\nexport type InputLikeTextState = Omit<InputState, 'polyfillPlaceholder'>;\n\n@rootNode\nexport class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {\n public static __KONTUR_REACT_UI__ = 'InputLikeText';\n\n public static defaultProps = { size: 'small' };\n\n public state = { blinking: false, focused: false };\n\n private theme!: Theme;\n private node: HTMLElement | null = null;\n private hiddenInput: HTMLInputElement | null = null;\n private lastSelectedInnerNode: [HTMLElement, number, number] | null = null;\n private frozen = false;\n private frozenBlur = false;\n private dragging = false;\n private focusTimeout: Nullable<number>;\n private blinkTimeout: Nullable<number>;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.props.disabled) {\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = window.setTimeout(() => this.setState({ blinking: false }), 150);\n });\n }\n\n public getNode(): HTMLElement | null {\n return this.node;\n }\n\n public selectInnerNode = (node: HTMLElement | null, start = 0, end = 1) => {\n if (this.dragging || !node) {\n return;\n }\n if (isIE11 && findRenderContainer(node, document.body)) {\n // Code below causes Popup to close after triggering the focus event on the body in IE11\n return;\n }\n this.frozen = true;\n this.frozenBlur = true;\n\n this.lastSelectedInnerNode = [node, start, end];\n setTimeout(() => selectNodeContents(node, start, end), 0);\n if (this.focusTimeout) {\n clearInterval(this.focusTimeout);\n }\n this.focusTimeout = window.setTimeout(() => (isIE11 || isEdge) && this.node && this.node.focus(), 0);\n };\n\n public componentDidMount() {\n if (this.node) {\n MouseDrag.listen(this.node).onMouseDragStart(this.handleMouseDragStart).onMouseDragEnd(this.handleMouseDragEnd);\n }\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n clearTimeout(this.blinkTimeout);\n }\n MouseDrag.stop(this.node);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<InputLikeTextProps>) => {\n const {\n innerRef,\n tabIndex,\n placeholder,\n align,\n borderless,\n width,\n size,\n error,\n warning,\n onValueChange,\n disabled,\n prefix,\n suffix,\n leftIcon,\n rightIcon,\n value,\n onMouseDragStart,\n onMouseDragEnd,\n takeContentWidth,\n ...rest\n } = props;\n\n const { focused, blinking } = this.state;\n\n const leftSide = this.renderLeftSide();\n const rightSide = this.renderRightSide();\n\n const className = cx(styles.root(), jsInputStyles.root(this.theme), this.getSizeClassName(), {\n [jsInputStyles.disabled(this.theme)]: !!disabled,\n [jsInputStyles.borderless()]: !!borderless,\n [jsInputStyles.focus(this.theme)]: focused,\n [jsInputStyles.blink(this.theme)]: blinking,\n [jsInputStyles.warning(this.theme)]: !!warning,\n [jsInputStyles.error(this.theme)]: !!error,\n [jsInputStyles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [jsInputStyles.warningFallback(this.theme)]: !!warning && (isIE11 || isEdge),\n [jsInputStyles.errorFallback(this.theme)]: !!error && (isIE11 || isEdge),\n [jsInputStyles.hideBlinkingCursor()]: isMobile,\n });\n\n const wrapperClass = cx(jsInputStyles.wrapper(), {\n [styles.userSelectContain()]: focused,\n });\n\n return (\n <span\n {...rest}\n className={className}\n style={{ width, textAlign: align }}\n tabIndex={disabled ? undefined : 0}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.innerRef}\n onKeyDown={this.handleKeyDown}\n onMouseDown={this.handleMouseDown}\n >\n <input type=\"hidden\" value={value} />\n {leftSide}\n <span className={wrapperClass}>\n <span\n data-tid=\"InputLikeText__input\"\n className={cx(jsInputStyles.input(this.theme), {\n [styles.absolute()]: !takeContentWidth,\n [jsInputStyles.inputFocus(this.theme)]: focused,\n [jsInputStyles.inputDisabled(this.theme)]: disabled,\n })}\n >\n {this.props.children}\n </span>\n {this.renderPlaceholder()}\n </span>\n {rightSide}\n {isIE11 && focused && <HiddenInput nodeRef={this.hiddenInputRef} />}\n </span>\n );\n };\n\n private getIconClassname(right = false) {\n switch (this.props.size) {\n case 'large':\n return right ? jsInputStyles.rightIconLarge(this.theme) : jsInputStyles.leftIconLarge(this.theme);\n case 'medium':\n return right ? jsInputStyles.rightIconMedium(this.theme) : jsInputStyles.leftIconMedium(this.theme);\n case 'small':\n default:\n return right ? jsInputStyles.rightIconSmall(this.theme) : jsInputStyles.leftIconSmall(this.theme);\n }\n }\n\n private renderLeftIcon = () => {\n return this.renderIcon(this.props.leftIcon, this.getIconClassname());\n };\n\n private renderRightIcon = () => {\n return this.renderIcon(this.props.rightIcon, this.getIconClassname(true));\n };\n\n private renderIcon = (icon: InputIconType, className: string): JSX.Element | null => {\n if (!icon) {\n return null;\n }\n\n const { disabled } = this.props;\n const iconNode = icon instanceof Function ? icon() : icon;\n\n return (\n <span\n className={cx(jsInputStyles.icon(), className, jsInputStyles.useDefaultColor(this.theme), {\n [jsInputStyles.iconDisabled()]: disabled,\n })}\n >\n {iconNode}\n </span>\n );\n };\n\n private renderPrefix = (): JSX.Element | null => {\n const { prefix, disabled } = this.props;\n\n if (!prefix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.prefix(this.theme), { [jsInputStyles.prefixDisabled(this.theme)]: disabled })}>\n {prefix}\n </span>\n );\n };\n\n private renderSuffix = (): JSX.Element | null => {\n const { suffix, disabled } = this.props;\n\n if (!suffix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.suffix(this.theme), { [jsInputStyles.suffixDisabled(this.theme)]: disabled })}>\n {suffix}\n </span>\n );\n };\n\n private renderLeftSide = (): JSX.Element | null => {\n const leftIcon = this.renderLeftIcon();\n const prefix = this.renderPrefix();\n\n if (!leftIcon && !prefix) {\n return null;\n }\n\n return (\n <span className={jsInputStyles.sideContainer()}>\n {leftIcon}\n {prefix}\n </span>\n );\n };\n\n private renderRightSide = (): JSX.Element | null => {\n const rightIcon = this.renderRightIcon();\n const suffix = this.renderSuffix();\n\n if (!rightIcon && !suffix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.sideContainer(), jsInputStyles.rightContainer())}>\n {rightIcon}\n {suffix}\n </span>\n );\n };\n\n private renderPlaceholder = (): JSX.Element | null => {\n const { children, placeholder, disabled } = this.props;\n const { focused } = this.state;\n const hasValue = isNonNullable(children) && children !== '';\n\n if (!hasValue && placeholder) {\n return (\n <span\n className={cx(jsInputStyles.placeholder(this.theme), {\n [jsInputStyles.placeholderDisabled(this.theme)]: disabled,\n [jsInputStyles.placeholderFocus(this.theme)]: focused,\n })}\n >\n {placeholder}\n </span>\n );\n }\n return null;\n };\n\n private handleDocumentMouseDown = (e: MouseEvent) => {\n if (this.state.focused && this.node && e.target instanceof Node && !this.node.contains(e.target)) {\n this.defrost();\n }\n };\n\n private handleDocumentKeyDown = (e: KeyboardEvent) => {\n if (this.state.focused && isKeyTab(e)) {\n this.defrost();\n }\n };\n\n private handleMouseDown = (e: React.MouseEvent<HTMLElement>) => {\n this.frozen = true;\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.props.disabled) {\n return;\n }\n\n if (isIE11 && isShortcutPaste(e) && this.hiddenInput) {\n this.frozen = true;\n setTimeout(() => {\n if (this.lastSelectedInnerNode) {\n this.selectInnerNode(...this.lastSelectedInnerNode);\n }\n if (this.node) {\n this.node.focus();\n }\n }, 0);\n\n this.hiddenInput.focus();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e as React.KeyboardEvent<HTMLInputElement>);\n }\n };\n\n private handleMouseDragStart: MouseDragEventHandler = (e) => {\n this.dragging = true;\n document.documentElement.classList.add(styles.userSelectNone());\n\n if (this.props.onMouseDragStart) {\n this.props.onMouseDragStart(e);\n }\n };\n\n private handleMouseDragEnd: MouseDragEventHandler = (e) => {\n // Дожидаемся onMouseUp\n setTimeout(() => {\n this.dragging = false;\n\n if (this.props.onMouseDragEnd) {\n this.props.onMouseDragEnd(e);\n }\n }, 0);\n\n document.documentElement.classList.remove(styles.userSelectNone());\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n if (isMobile) {\n e.target.setAttribute('contenteditable', 'true');\n }\n\n if (this.props.disabled) {\n if (isIE11) {\n selectNodeContents(document.body, 0, 0);\n }\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozen) {\n this.frozen = false;\n if (this.state.focused) {\n return;\n }\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n if (isMobile) {\n e.target.removeAttribute('contenteditable');\n }\n\n if (this.props.disabled) {\n e.stopPropagation();\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozenBlur) {\n this.frozenBlur = false;\n return;\n }\n if ((isIE11 || isEdge) && this.frozen) {\n return;\n }\n\n removeAllSelections();\n\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(e);\n }\n };\n\n private hiddenInputRef = (el: HTMLInputElement | null) => {\n this.hiddenInput = el;\n };\n\n private innerRef = (el: HTMLElement | null) => {\n if (this.props.innerRef) {\n this.props.innerRef(el);\n }\n this.node = el;\n };\n\n private defrost = (): void => {\n this.frozen = false;\n this.frozenBlur = false;\n };\n\n private getSizeClassName = () => {\n switch (this.props.size) {\n case 'large':\n return cx({\n [jsInputStyles.sizeLarge(this.theme)]: true,\n [jsInputStyles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return cx({\n [jsInputStyles.sizeMedium(this.theme)]: true,\n [jsInputStyles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return cx({\n [jsInputStyles.sizeSmall(this.theme)]: true,\n [jsInputStyles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n };\n}\n"]}
|
|
@@ -1,72 +1,73 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { MouseDragEventHandler } from '../../lib/events/MouseDrag';
|
|
3
|
-
import { InputProps, InputState } from '../../components/Input';
|
|
4
|
-
import { CommonProps } from '../CommonWrapper';
|
|
5
|
-
export interface InputLikeTextProps extends CommonProps, InputProps {
|
|
6
|
-
children?: React.ReactNode;
|
|
7
|
-
innerRef?: (el: HTMLElement | null) => void;
|
|
8
|
-
onFocus?: React.FocusEventHandler<HTMLElement>;
|
|
9
|
-
onBlur?: React.FocusEventHandler<HTMLElement>;
|
|
10
|
-
onMouseDragStart?: MouseDragEventHandler;
|
|
11
|
-
onMouseDragEnd?: MouseDragEventHandler;
|
|
12
|
-
takeContentWidth?: boolean;
|
|
13
|
-
}
|
|
14
|
-
export declare type InputLikeTextState = Omit<InputState, 'polyfillPlaceholder'>;
|
|
15
|
-
export declare class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {
|
|
16
|
-
static __KONTUR_REACT_UI__: string;
|
|
17
|
-
static defaultProps: {
|
|
18
|
-
size: string;
|
|
19
|
-
};
|
|
20
|
-
state: {
|
|
21
|
-
blinking: boolean;
|
|
22
|
-
focused: boolean;
|
|
23
|
-
};
|
|
24
|
-
private theme;
|
|
25
|
-
private node;
|
|
26
|
-
private hiddenInput;
|
|
27
|
-
private lastSelectedInnerNode;
|
|
28
|
-
private frozen;
|
|
29
|
-
private frozenBlur;
|
|
30
|
-
private dragging;
|
|
31
|
-
private focusTimeout;
|
|
32
|
-
private blinkTimeout;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
private
|
|
52
|
-
private
|
|
53
|
-
private
|
|
54
|
-
private
|
|
55
|
-
private
|
|
56
|
-
private
|
|
57
|
-
private
|
|
58
|
-
private
|
|
59
|
-
private
|
|
60
|
-
private
|
|
61
|
-
private
|
|
62
|
-
private
|
|
63
|
-
private
|
|
64
|
-
private
|
|
65
|
-
private
|
|
66
|
-
private
|
|
67
|
-
private
|
|
68
|
-
private
|
|
69
|
-
private
|
|
70
|
-
private
|
|
71
|
-
private
|
|
72
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { MouseDragEventHandler } from '../../lib/events/MouseDrag';
|
|
3
|
+
import { InputProps, InputState } from '../../components/Input';
|
|
4
|
+
import { CommonProps } from '../CommonWrapper';
|
|
5
|
+
export interface InputLikeTextProps extends CommonProps, InputProps {
|
|
6
|
+
children?: React.ReactNode;
|
|
7
|
+
innerRef?: (el: HTMLElement | null) => void;
|
|
8
|
+
onFocus?: React.FocusEventHandler<HTMLElement>;
|
|
9
|
+
onBlur?: React.FocusEventHandler<HTMLElement>;
|
|
10
|
+
onMouseDragStart?: MouseDragEventHandler;
|
|
11
|
+
onMouseDragEnd?: MouseDragEventHandler;
|
|
12
|
+
takeContentWidth?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare type InputLikeTextState = Omit<InputState, 'polyfillPlaceholder'>;
|
|
15
|
+
export declare class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {
|
|
16
|
+
static __KONTUR_REACT_UI__: string;
|
|
17
|
+
static defaultProps: {
|
|
18
|
+
size: string;
|
|
19
|
+
};
|
|
20
|
+
state: {
|
|
21
|
+
blinking: boolean;
|
|
22
|
+
focused: boolean;
|
|
23
|
+
};
|
|
24
|
+
private theme;
|
|
25
|
+
private node;
|
|
26
|
+
private hiddenInput;
|
|
27
|
+
private lastSelectedInnerNode;
|
|
28
|
+
private frozen;
|
|
29
|
+
private frozenBlur;
|
|
30
|
+
private dragging;
|
|
31
|
+
private focusTimeout;
|
|
32
|
+
private blinkTimeout;
|
|
33
|
+
private setRootNode;
|
|
34
|
+
/**
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
focus(): void;
|
|
38
|
+
/**
|
|
39
|
+
* @public
|
|
40
|
+
*/
|
|
41
|
+
blur(): void;
|
|
42
|
+
/**
|
|
43
|
+
* @public
|
|
44
|
+
*/
|
|
45
|
+
blink(): void;
|
|
46
|
+
getNode(): HTMLElement | null;
|
|
47
|
+
selectInnerNode: (node: HTMLElement | null, start?: number, end?: number) => void;
|
|
48
|
+
componentDidMount(): void;
|
|
49
|
+
componentWillUnmount(): void;
|
|
50
|
+
render(): JSX.Element;
|
|
51
|
+
private renderMain;
|
|
52
|
+
private getIconClassname;
|
|
53
|
+
private renderLeftIcon;
|
|
54
|
+
private renderRightIcon;
|
|
55
|
+
private renderIcon;
|
|
56
|
+
private renderPrefix;
|
|
57
|
+
private renderSuffix;
|
|
58
|
+
private renderLeftSide;
|
|
59
|
+
private renderRightSide;
|
|
60
|
+
private renderPlaceholder;
|
|
61
|
+
private handleDocumentMouseDown;
|
|
62
|
+
private handleDocumentKeyDown;
|
|
63
|
+
private handleMouseDown;
|
|
64
|
+
private handleKeyDown;
|
|
65
|
+
private handleMouseDragStart;
|
|
66
|
+
private handleMouseDragEnd;
|
|
67
|
+
private handleFocus;
|
|
68
|
+
private handleBlur;
|
|
69
|
+
private hiddenInputRef;
|
|
70
|
+
private innerRef;
|
|
71
|
+
private defrost;
|
|
72
|
+
private getSizeClassName;
|
|
73
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export declare const styles: {
|
|
2
|
-
root(): string;
|
|
3
|
-
absolute(): string;
|
|
4
|
-
userSelectContain(): string;
|
|
5
|
-
userSelectNone(): string;
|
|
6
|
-
rightSide(): string;
|
|
7
|
-
};
|
|
1
|
+
export declare const styles: {
|
|
2
|
+
root(): string;
|
|
3
|
+
absolute(): string;
|
|
4
|
+
userSelectContain(): string;
|
|
5
|
+
userSelectNone(): string;
|
|
6
|
+
rightSide(): string;
|
|
7
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './InputLikeText';
|
|
1
|
+
export * from './InputLikeText';
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
|
|
1
2
|
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
3
|
+
|
|
4
|
+
var _class, _class2, _temp;
|
|
5
|
+
|
|
2
6
|
import React from 'react';
|
|
3
|
-
import ReactDOM from 'react-dom';
|
|
4
7
|
import { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from "../../../lib/events/keyboard/identifiers";
|
|
5
8
|
import { ScrollContainer } from "../../../components/ScrollContainer";
|
|
6
9
|
import { isMenuItem } from "../../../components/MenuItem";
|
|
@@ -8,10 +11,11 @@ import { isMenuHeader } from "../../../components/MenuHeader";
|
|
|
8
11
|
import { createPropsGetter } from "../../../lib/createPropsGetter";
|
|
9
12
|
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
10
13
|
import { cx } from "../../../lib/theming/Emotion";
|
|
14
|
+
import { getRootNode, rootNode } from "../../../lib/rootNode";
|
|
11
15
|
import { styles } from "../InternalMenu.styles";
|
|
12
16
|
import { isActiveElement } from "../isActiveElement";
|
|
13
|
-
export var InternalMenu = /*#__PURE__*/function (_React$
|
|
14
|
-
_inheritsLoose(InternalMenu, _React$
|
|
17
|
+
export var InternalMenu = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {
|
|
18
|
+
_inheritsLoose(InternalMenu, _React$PureComponent);
|
|
15
19
|
|
|
16
20
|
function InternalMenu() {
|
|
17
21
|
var _this;
|
|
@@ -20,7 +24,7 @@ export var InternalMenu = /*#__PURE__*/function (_React$Component) {
|
|
|
20
24
|
args[_key] = arguments[_key];
|
|
21
25
|
}
|
|
22
26
|
|
|
23
|
-
_this = _React$
|
|
27
|
+
_this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;
|
|
24
28
|
_this.state = {
|
|
25
29
|
highlightedIndex: -1,
|
|
26
30
|
maxHeight: _this.props.maxHeight || 'none',
|
|
@@ -29,7 +33,7 @@ export var InternalMenu = /*#__PURE__*/function (_React$Component) {
|
|
|
29
33
|
_this.theme = void 0;
|
|
30
34
|
_this.scrollContainer = void 0;
|
|
31
35
|
_this.highlighted = void 0;
|
|
32
|
-
_this.
|
|
36
|
+
_this.setRootNode = void 0;
|
|
33
37
|
_this.header = void 0;
|
|
34
38
|
_this.footer = void 0;
|
|
35
39
|
_this.getProps = createPropsGetter(InternalMenu.defaultProps);
|
|
@@ -57,9 +61,9 @@ export var InternalMenu = /*#__PURE__*/function (_React$Component) {
|
|
|
57
61
|
};
|
|
58
62
|
|
|
59
63
|
_this.focusOnRootElement = function () {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
64
|
+
var _getRootNode;
|
|
65
|
+
|
|
66
|
+
(_getRootNode = getRootNode(_assertThisInitialized(_this))) == null ? void 0 : _getRootNode.focus();
|
|
63
67
|
};
|
|
64
68
|
|
|
65
69
|
_this.shouldRecalculateMaxHeight = function (prevProps) {
|
|
@@ -78,9 +82,10 @@ export var InternalMenu = /*#__PURE__*/function (_React$Component) {
|
|
|
78
82
|
_this.calculateMaxHeight = function () {
|
|
79
83
|
var maxHeight = _this.props.maxHeight;
|
|
80
84
|
var parsedMaxHeight = maxHeight;
|
|
85
|
+
var rootNode = getRootNode(_assertThisInitialized(_this));
|
|
81
86
|
|
|
82
|
-
if (typeof maxHeight === 'string' && typeof window !== 'undefined' &&
|
|
83
|
-
var rootElementMaxHeight = window.getComputedStyle(
|
|
87
|
+
if (typeof maxHeight === 'string' && typeof window !== 'undefined' && rootNode) {
|
|
88
|
+
var rootElementMaxHeight = window.getComputedStyle(rootNode).maxHeight;
|
|
84
89
|
|
|
85
90
|
if (rootElementMaxHeight) {
|
|
86
91
|
parsedMaxHeight = parseFloat(rootElementMaxHeight);
|
|
@@ -106,18 +111,18 @@ export var InternalMenu = /*#__PURE__*/function (_React$Component) {
|
|
|
106
111
|
|
|
107
112
|
_this.scrollToSelected = function () {
|
|
108
113
|
if (_this.scrollContainer && _this.highlighted) {
|
|
109
|
-
_this.scrollContainer.scrollTo(
|
|
114
|
+
_this.scrollContainer.scrollTo(getRootNode(_this.highlighted));
|
|
110
115
|
}
|
|
111
116
|
};
|
|
112
117
|
|
|
113
118
|
_this.highlightItem = function (index) {
|
|
119
|
+
var _getRootNode2;
|
|
120
|
+
|
|
114
121
|
_this.setState({
|
|
115
122
|
highlightedIndex: index
|
|
116
123
|
});
|
|
117
124
|
|
|
118
|
-
|
|
119
|
-
_this.rootElement.focus();
|
|
120
|
-
}
|
|
125
|
+
(_getRootNode2 = getRootNode(_assertThisInitialized(_this))) == null ? void 0 : _getRootNode2.focus();
|
|
121
126
|
};
|
|
122
127
|
|
|
123
128
|
_this.unhighlight = function () {
|
|
@@ -180,12 +185,10 @@ export var InternalMenu = /*#__PURE__*/function (_React$Component) {
|
|
|
180
185
|
if (this.shouldRecalculateMaxHeight(prevProps)) {
|
|
181
186
|
this.calculateMaxHeight();
|
|
182
187
|
}
|
|
183
|
-
};
|
|
184
188
|
|
|
185
|
-
|
|
186
|
-
if (nextProps.maxHeight !== this.props.maxHeight) {
|
|
189
|
+
if (prevProps.maxHeight !== this.props.maxHeight) {
|
|
187
190
|
this.setState({
|
|
188
|
-
maxHeight:
|
|
191
|
+
maxHeight: this.props.maxHeight || 'none'
|
|
189
192
|
});
|
|
190
193
|
}
|
|
191
194
|
};
|
|
@@ -222,9 +225,7 @@ export var InternalMenu = /*#__PURE__*/function (_React$Component) {
|
|
|
222
225
|
maxHeight: this.state.maxHeight
|
|
223
226
|
},
|
|
224
227
|
onKeyDown: this.handleKeyDown,
|
|
225
|
-
ref:
|
|
226
|
-
_this3.rootElement = element;
|
|
227
|
-
},
|
|
228
|
+
ref: this.setRootNode,
|
|
228
229
|
tabIndex: 0
|
|
229
230
|
}, this.props.header ? this.renderHeader() : null, /*#__PURE__*/React.createElement(ScrollContainer, {
|
|
230
231
|
ref: this.refScrollContainer,
|
|
@@ -365,16 +366,14 @@ export var InternalMenu = /*#__PURE__*/function (_React$Component) {
|
|
|
365
366
|
};
|
|
366
367
|
|
|
367
368
|
return InternalMenu;
|
|
368
|
-
}(React.
|
|
369
|
-
InternalMenu.__KONTUR_REACT_UI__ = 'InternalMenu';
|
|
370
|
-
InternalMenu.defaultProps = {
|
|
369
|
+
}(React.PureComponent), _class2.__KONTUR_REACT_UI__ = 'InternalMenu', _class2.defaultProps = {
|
|
371
370
|
width: 'auto',
|
|
372
371
|
maxHeight: 300,
|
|
373
372
|
hasShadow: true,
|
|
374
373
|
preventWindowScroll: true,
|
|
375
374
|
cyclicSelection: true,
|
|
376
375
|
initialSelectedItemIndex: -1
|
|
377
|
-
};
|
|
376
|
+
}, _temp)) || _class;
|
|
378
377
|
|
|
379
378
|
function isExist(value) {
|
|
380
379
|
return value !== null && value !== undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["InternalMenu.tsx"],"names":["React","ReactDOM","isKeyArrowDown","isKeyArrowUp","isKeyEnter","ScrollContainer","isMenuItem","isMenuHeader","createPropsGetter","ThemeContext","cx","styles","isActiveElement","InternalMenu","state","highlightedIndex","maxHeight","props","scrollState","theme","scrollContainer","highlighted","rootElement","header","footer","getProps","defaultProps","renderHeader","el","fixedHeader","renderFooter","fixedFooter","focusOnRootElement","focus","shouldRecalculateMaxHeight","prevProps","children","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","Children","count","calculateMaxHeight","parsedMaxHeight","window","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","getBoundingClientRect","height","setState","setInitialSelection","i","initialSelectedItemIndex","moveDown","refScrollContainer","scrollToSelected","scrollTo","findDOMNode","highlightItem","index","unhighlight","moveUp","move","handleKeyDown","e","onKeyDown","defaultPrevented","preventDefault","onClick","handleScrollStateChange","componentDidMount","componentDidUpdate","prevState","UNSAFE_componentWillReceiveProps","nextProps","render","renderMain","enableIconPadding","toArray","some","x","isValidElement","icon","isEmpty","root","shadow","hasShadow","width","element","preventWindowScroll","map","child","type","cloneElement","_enableIconPadding","highlight","ref","originalRef","menuItem","refHighlighted","select","bind","onMouseEnter","event","onMouseLeave","current","shouldHandleHref","item","childrenToArray","href","target","open","location","onItemClick","step","cyclicSelection","length","filter","isExist","Component","__KONTUR_REACT_UI__","value","undefined","ret","forEach","push"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { ScrollContainer, ScrollContainerScrollState } from '../../components/ScrollContainer';\nimport { isMenuItem, MenuItem, MenuItemProps } from '../../components/MenuItem';\nimport { isMenuHeader } from '../../components/MenuHeader';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './InternalMenu.styles';\nimport { isActiveElement } from './isActiveElement';\n\ninterface MenuProps {\n children?: React.ReactNode;\n hasShadow?: boolean;\n maxHeight?: number | string;\n onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n // Циклический перебор айтемов меню (по-дефолтну включен)\n cyclicSelection?: boolean;\n initialSelectedItemIndex?: number;\n}\n\ninterface MenuState {\n highlightedIndex: number;\n maxHeight: number | string;\n scrollState: ScrollContainerScrollState;\n}\n\nexport class InternalMenu extends React.Component<MenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'InternalMenu';\n\n public static defaultProps = {\n width: 'auto',\n maxHeight: 300,\n hasShadow: true,\n preventWindowScroll: true,\n cyclicSelection: true,\n initialSelectedItemIndex: -1,\n };\n\n public state: MenuState = {\n highlightedIndex: -1,\n maxHeight: this.props.maxHeight || 'none',\n scrollState: 'top',\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private highlighted: Nullable<MenuItem>;\n private rootElement: Nullable<HTMLDivElement>;\n private header: Nullable<HTMLDivElement>;\n private footer: Nullable<HTMLDivElement>;\n private getProps = createPropsGetter(InternalMenu.defaultProps);\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\n }\n\n public componentDidUpdate(prevProps: MenuProps, prevState: MenuState) {\n if (this.shouldRecalculateMaxHeight(prevProps)) {\n this.calculateMaxHeight();\n }\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: MenuProps) {\n if (nextProps.maxHeight !== this.props.maxHeight) {\n this.setState({\n maxHeight: nextProps.maxHeight || 'none',\n });\n }\n }\n\n public focus() {\n this.focusOnRootElement();\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 renderMain() {\n const enableIconPadding = React.Children.toArray(this.props.children).some(\n (x) => React.isValidElement(x) && x.props.icon,\n );\n\n if (this.isEmpty()) {\n return null;\n }\n\n return (\n <div\n className={cx({\n [styles.root(this.theme)]: true,\n [styles.shadow(this.theme)]: this.props.hasShadow,\n })}\n style={{\n width: this.props.width,\n maxHeight: this.state.maxHeight,\n }}\n onKeyDown={this.handleKeyDown}\n ref={(element) => {\n this.rootElement = element;\n }}\n tabIndex={0}\n >\n {this.props.header ? this.renderHeader() : null}\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={this.props.maxHeight}\n preventWindowScroll={this.props.preventWindowScroll}\n onScrollStateChange={this.handleScrollStateChange}\n >\n {React.Children.map(this.props.children, (child, index) => {\n if (typeof child === 'string' || typeof child === 'number' || child == null) {\n return child;\n }\n if (React.isValidElement(child) && typeof child.type === 'string') {\n return child;\n }\n\n if (enableIconPadding && (isMenuItem(child) || isMenuHeader(child))) {\n child = React.cloneElement(child, {\n _enableIconPadding: true,\n });\n }\n\n if (isActiveElement(child)) {\n const highlight = this.state.highlightedIndex === index;\n\n let ref = child.ref;\n const originalRef = ref;\n if (highlight) {\n ref = (menuItem) => this.refHighlighted(originalRef, menuItem);\n }\n\n return React.cloneElement<MenuItemProps, MenuItem>(child, {\n ref,\n state: highlight ? 'hover' : child.props.state,\n onClick: this.select.bind(this, index, false),\n onMouseEnter: (event) => {\n this.highlightItem(index);\n if (isMenuItem(child) && child.props.onMouseEnter) {\n child.props.onMouseEnter(event);\n }\n },\n onMouseLeave: (event) => {\n this.unhighlight();\n if (isMenuItem(child) && child.props.onMouseLeave) {\n child.props.onMouseLeave(event);\n }\n },\n });\n }\n\n return child;\n })}\n </ScrollContainer>\n {this.props.footer ? this.renderFooter() : null}\n </div>\n );\n }\n\n private renderHeader = () => {\n return (\n <div\n ref={(el) => (this.header = el)}\n className={cx({\n [styles.header()]: true,\n [styles.fixedHeader()]: this.state.scrollState !== 'top',\n })}\n >\n {this.props.header}\n </div>\n );\n };\n\n private renderFooter = () => {\n return (\n <div\n ref={(el) => (this.footer = el)}\n className={cx({\n [styles.footer()]: true,\n [styles.fixedFooter()]: this.state.scrollState !== 'bottom',\n })}\n >\n {this.props.footer}\n </div>\n );\n };\n\n private focusOnRootElement = (): void => {\n if (this.rootElement) {\n this.rootElement.focus();\n }\n };\n\n private shouldRecalculateMaxHeight = (prevProps: MenuProps): boolean => {\n const { maxHeight, header, footer, children } = this.props;\n const prevMaxHeight = prevProps.maxHeight;\n const prevHeader = prevProps.header;\n const prevFooter = prevProps.footer;\n const prevChildrenCount = React.Children.count(prevProps.children);\n\n return (\n maxHeight !== prevMaxHeight ||\n footer !== prevFooter ||\n header !== prevHeader ||\n React.Children.count(children) !== prevChildrenCount\n );\n };\n\n private calculateMaxHeight = () => {\n const { maxHeight } = this.props;\n let parsedMaxHeight = maxHeight;\n\n if (typeof maxHeight === 'string' && typeof window !== 'undefined' && this.rootElement) {\n const rootElementMaxHeight = window.getComputedStyle(this.rootElement).maxHeight;\n\n if (rootElementMaxHeight) {\n parsedMaxHeight = parseFloat(rootElementMaxHeight);\n }\n }\n\n const calculatedMaxHeight =\n typeof parsedMaxHeight === 'number'\n ? parsedMaxHeight +\n ((this.header && this.header.getBoundingClientRect().height) || 0) +\n ((this.footer && this.footer.getBoundingClientRect().height) || 0)\n : maxHeight;\n\n this.setState({\n maxHeight: calculatedMaxHeight || 'none',\n });\n };\n\n private setInitialSelection = () => {\n for (let i = this.getProps().initialSelectedItemIndex; i > -1; i--) {\n this.moveDown();\n }\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private refHighlighted(\n originalRef: string | ((instance: MenuItem | null) => void) | React.RefObject<MenuItem> | null | undefined,\n menuItem: MenuItem | null,\n ) {\n this.highlighted = menuItem;\n\n if (!originalRef || typeof originalRef === 'string') {\n return;\n }\n\n if (typeof originalRef === 'function') {\n originalRef(menuItem);\n } else if (typeof originalRef === 'object') {\n // @ts-ignore see issue https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065\n originalRef.current = menuItem;\n }\n }\n\n private scrollToSelected = () => {\n if (this.scrollContainer && this.highlighted) {\n this.scrollContainer.scrollTo(ReactDOM.findDOMNode(this.highlighted) as HTMLElement);\n }\n };\n\n private select(index: number, shouldHandleHref: boolean, event: React.SyntheticEvent<HTMLElement>): boolean {\n const item = childrenToArray(this.props.children)[index];\n\n if (isActiveElement(item)) {\n if (shouldHandleHref && item.props.href) {\n if (item.props.target) {\n window.open(item.props.href, item.props.target);\n } else {\n location.href = item.props.href;\n }\n }\n if (item.props.onClick) {\n item.props.onClick(event as React.MouseEvent<HTMLElement>);\n }\n if (this.props.onItemClick) {\n this.props.onItemClick(event);\n }\n return true;\n }\n return false;\n }\n\n private highlightItem = (index: number): void => {\n this.setState({ highlightedIndex: index });\n if (this.rootElement) {\n this.rootElement.focus();\n }\n };\n\n private unhighlight = () => {\n this.setState({ highlightedIndex: -1 });\n };\n\n private move(step: number) {\n this.setState((state, props) => {\n const children = childrenToArray(props.children);\n if (!children.some(isActiveElement)) {\n return null;\n }\n let index = state.highlightedIndex;\n do {\n index += step;\n if (!props.cyclicSelection && (index < 0 || index > children.length)) {\n return null;\n }\n\n if (index < 0) {\n index = children.length - 1;\n } else if (index > children.length) {\n index = 0;\n }\n\n const child = children[index];\n if (isActiveElement(child)) {\n return { highlightedIndex: index };\n }\n } while (index !== state.highlightedIndex);\n return null;\n }, this.scrollToSelected);\n }\n\n private moveUp = () => {\n this.move(-1);\n };\n\n private moveDown = () => {\n this.move(1);\n };\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isExist).length;\n }\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>): void => {\n if (typeof this.props.onKeyDown === 'function') {\n this.props.onKeyDown(e);\n }\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (isKeyArrowUp(e)) {\n e.preventDefault();\n this.moveUp();\n } else if (isKeyArrowDown(e)) {\n e.preventDefault();\n this.moveDown();\n } else if (isKeyEnter(e)) {\n if (this.highlighted && this.highlighted.props.onClick) {\n this.highlighted.props.onClick(e);\n }\n }\n };\n\n private handleScrollStateChange = (scrollState: ScrollContainerScrollState) => {\n if (this.state.scrollState !== scrollState) {\n this.setState({ scrollState });\n }\n };\n}\n\nfunction isExist(value: any): value is any {\n return value !== null && value !== undefined;\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, (child) => {\n ret.push(child);\n });\n return ret;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["InternalMenu.tsx"],"names":["React","isKeyArrowDown","isKeyArrowUp","isKeyEnter","ScrollContainer","isMenuItem","isMenuHeader","createPropsGetter","ThemeContext","cx","getRootNode","rootNode","styles","isActiveElement","InternalMenu","state","highlightedIndex","maxHeight","props","scrollState","theme","scrollContainer","highlighted","setRootNode","header","footer","getProps","defaultProps","renderHeader","el","fixedHeader","renderFooter","fixedFooter","focusOnRootElement","focus","shouldRecalculateMaxHeight","prevProps","children","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","Children","count","calculateMaxHeight","parsedMaxHeight","window","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","getBoundingClientRect","height","setState","setInitialSelection","i","initialSelectedItemIndex","moveDown","refScrollContainer","scrollToSelected","scrollTo","highlightItem","index","unhighlight","moveUp","move","handleKeyDown","e","onKeyDown","defaultPrevented","preventDefault","onClick","handleScrollStateChange","componentDidMount","componentDidUpdate","prevState","render","renderMain","enableIconPadding","toArray","some","x","isValidElement","icon","isEmpty","root","shadow","hasShadow","width","preventWindowScroll","map","child","type","cloneElement","_enableIconPadding","highlight","ref","originalRef","menuItem","refHighlighted","select","bind","onMouseEnter","event","onMouseLeave","current","shouldHandleHref","item","childrenToArray","href","target","open","location","onItemClick","step","cyclicSelection","length","filter","isExist","PureComponent","__KONTUR_REACT_UI__","value","undefined","ret","forEach","push"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { ScrollContainer, ScrollContainerScrollState } from '../../components/ScrollContainer';\nimport { isMenuItem, MenuItem, MenuItemProps } from '../../components/MenuItem';\nimport { isMenuHeader } from '../../components/MenuHeader';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './InternalMenu.styles';\nimport { isActiveElement } from './isActiveElement';\n\ninterface MenuProps {\n children?: React.ReactNode;\n hasShadow?: boolean;\n maxHeight?: number | string;\n onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n // Циклический перебор айтемов меню (по-дефолтну включен)\n cyclicSelection?: boolean;\n initialSelectedItemIndex?: number;\n}\n\ninterface MenuState {\n highlightedIndex: number;\n maxHeight: number | string;\n scrollState: ScrollContainerScrollState;\n}\n\n@rootNode\nexport class InternalMenu extends React.PureComponent<MenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'InternalMenu';\n\n public static defaultProps = {\n width: 'auto',\n maxHeight: 300,\n hasShadow: true,\n preventWindowScroll: true,\n cyclicSelection: true,\n initialSelectedItemIndex: -1,\n };\n\n public state: MenuState = {\n highlightedIndex: -1,\n maxHeight: this.props.maxHeight || 'none',\n scrollState: 'top',\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private highlighted: Nullable<MenuItem>;\n private setRootNode!: TSetRootNode;\n private header: Nullable<HTMLDivElement>;\n private footer: Nullable<HTMLDivElement>;\n private getProps = createPropsGetter(InternalMenu.defaultProps);\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\n }\n\n public componentDidUpdate(prevProps: MenuProps, prevState: MenuState) {\n if (this.shouldRecalculateMaxHeight(prevProps)) {\n this.calculateMaxHeight();\n }\n\n if (prevProps.maxHeight !== this.props.maxHeight) {\n this.setState({\n maxHeight: this.props.maxHeight || 'none',\n });\n }\n }\n\n public focus() {\n this.focusOnRootElement();\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 renderMain() {\n const enableIconPadding = React.Children.toArray(this.props.children).some(\n (x) => React.isValidElement(x) && x.props.icon,\n );\n\n if (this.isEmpty()) {\n return null;\n }\n\n return (\n <div\n className={cx({\n [styles.root(this.theme)]: true,\n [styles.shadow(this.theme)]: this.props.hasShadow,\n })}\n style={{\n width: this.props.width,\n maxHeight: this.state.maxHeight,\n }}\n onKeyDown={this.handleKeyDown}\n ref={this.setRootNode}\n tabIndex={0}\n >\n {this.props.header ? this.renderHeader() : null}\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={this.props.maxHeight}\n preventWindowScroll={this.props.preventWindowScroll}\n onScrollStateChange={this.handleScrollStateChange}\n >\n {React.Children.map(this.props.children, (child, index) => {\n if (typeof child === 'string' || typeof child === 'number' || child == null) {\n return child;\n }\n if (React.isValidElement(child) && typeof child.type === 'string') {\n return child;\n }\n\n if (enableIconPadding && (isMenuItem(child) || isMenuHeader(child))) {\n child = React.cloneElement(child, {\n _enableIconPadding: true,\n });\n }\n\n if (isActiveElement(child)) {\n const highlight = this.state.highlightedIndex === index;\n\n let ref = child.ref;\n const originalRef = ref;\n if (highlight) {\n ref = (menuItem) => this.refHighlighted(originalRef, menuItem);\n }\n\n return React.cloneElement<MenuItemProps, MenuItem>(child, {\n ref,\n state: highlight ? 'hover' : child.props.state,\n onClick: this.select.bind(this, index, false),\n onMouseEnter: (event) => {\n this.highlightItem(index);\n if (isMenuItem(child) && child.props.onMouseEnter) {\n child.props.onMouseEnter(event);\n }\n },\n onMouseLeave: (event) => {\n this.unhighlight();\n if (isMenuItem(child) && child.props.onMouseLeave) {\n child.props.onMouseLeave(event);\n }\n },\n });\n }\n\n return child;\n })}\n </ScrollContainer>\n {this.props.footer ? this.renderFooter() : null}\n </div>\n );\n }\n\n private renderHeader = () => {\n return (\n <div\n ref={(el) => (this.header = el)}\n className={cx({\n [styles.header()]: true,\n [styles.fixedHeader()]: this.state.scrollState !== 'top',\n })}\n >\n {this.props.header}\n </div>\n );\n };\n\n private renderFooter = () => {\n return (\n <div\n ref={(el) => (this.footer = el)}\n className={cx({\n [styles.footer()]: true,\n [styles.fixedFooter()]: this.state.scrollState !== 'bottom',\n })}\n >\n {this.props.footer}\n </div>\n );\n };\n\n private focusOnRootElement = (): void => {\n getRootNode(this)?.focus();\n };\n\n private shouldRecalculateMaxHeight = (prevProps: MenuProps): boolean => {\n const { maxHeight, header, footer, children } = this.props;\n const prevMaxHeight = prevProps.maxHeight;\n const prevHeader = prevProps.header;\n const prevFooter = prevProps.footer;\n const prevChildrenCount = React.Children.count(prevProps.children);\n\n return (\n maxHeight !== prevMaxHeight ||\n footer !== prevFooter ||\n header !== prevHeader ||\n React.Children.count(children) !== prevChildrenCount\n );\n };\n\n private calculateMaxHeight = () => {\n const { maxHeight } = this.props;\n let parsedMaxHeight = maxHeight;\n const rootNode = getRootNode(this);\n\n if (typeof maxHeight === 'string' && typeof window !== 'undefined' && rootNode) {\n const rootElementMaxHeight = window.getComputedStyle(rootNode).maxHeight;\n\n if (rootElementMaxHeight) {\n parsedMaxHeight = parseFloat(rootElementMaxHeight);\n }\n }\n\n const calculatedMaxHeight =\n typeof parsedMaxHeight === 'number'\n ? parsedMaxHeight +\n ((this.header && this.header.getBoundingClientRect().height) || 0) +\n ((this.footer && this.footer.getBoundingClientRect().height) || 0)\n : maxHeight;\n\n this.setState({\n maxHeight: calculatedMaxHeight || 'none',\n });\n };\n\n private setInitialSelection = () => {\n for (let i = this.getProps().initialSelectedItemIndex; i > -1; i--) {\n this.moveDown();\n }\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private refHighlighted(\n originalRef: string | ((instance: MenuItem | null) => void) | React.RefObject<MenuItem> | null | undefined,\n menuItem: MenuItem | null,\n ) {\n this.highlighted = menuItem;\n\n if (!originalRef || typeof originalRef === 'string') {\n return;\n }\n\n if (typeof originalRef === 'function') {\n originalRef(menuItem);\n } else if (typeof originalRef === 'object') {\n // @ts-ignore see issue https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065\n originalRef.current = menuItem;\n }\n }\n\n private scrollToSelected = () => {\n if (this.scrollContainer && this.highlighted) {\n this.scrollContainer.scrollTo(getRootNode(this.highlighted));\n }\n };\n\n private select(index: number, shouldHandleHref: boolean, event: React.SyntheticEvent<HTMLElement>): boolean {\n const item = childrenToArray(this.props.children)[index];\n\n if (isActiveElement(item)) {\n if (shouldHandleHref && item.props.href) {\n if (item.props.target) {\n window.open(item.props.href, item.props.target);\n } else {\n location.href = item.props.href;\n }\n }\n if (item.props.onClick) {\n item.props.onClick(event as React.MouseEvent<HTMLElement>);\n }\n if (this.props.onItemClick) {\n this.props.onItemClick(event);\n }\n return true;\n }\n return false;\n }\n\n private highlightItem = (index: number): void => {\n this.setState({ highlightedIndex: index });\n getRootNode(this)?.focus();\n };\n\n private unhighlight = () => {\n this.setState({ highlightedIndex: -1 });\n };\n\n private move(step: number) {\n this.setState((state, props) => {\n const children = childrenToArray(props.children);\n if (!children.some(isActiveElement)) {\n return null;\n }\n let index = state.highlightedIndex;\n do {\n index += step;\n if (!props.cyclicSelection && (index < 0 || index > children.length)) {\n return null;\n }\n\n if (index < 0) {\n index = children.length - 1;\n } else if (index > children.length) {\n index = 0;\n }\n\n const child = children[index];\n if (isActiveElement(child)) {\n return { highlightedIndex: index };\n }\n } while (index !== state.highlightedIndex);\n return null;\n }, this.scrollToSelected);\n }\n\n private moveUp = () => {\n this.move(-1);\n };\n\n private moveDown = () => {\n this.move(1);\n };\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isExist).length;\n }\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>): void => {\n if (typeof this.props.onKeyDown === 'function') {\n this.props.onKeyDown(e);\n }\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (isKeyArrowUp(e)) {\n e.preventDefault();\n this.moveUp();\n } else if (isKeyArrowDown(e)) {\n e.preventDefault();\n this.moveDown();\n } else if (isKeyEnter(e)) {\n if (this.highlighted && this.highlighted.props.onClick) {\n this.highlighted.props.onClick(e);\n }\n }\n };\n\n private handleScrollStateChange = (scrollState: ScrollContainerScrollState) => {\n if (this.state.scrollState !== scrollState) {\n this.setState({ scrollState });\n }\n };\n}\n\nfunction isExist(value: any): value is any {\n return value !== null && value !== undefined;\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, (child) => {\n ret.push(child);\n });\n return ret;\n}\n"]}
|