@skbkontur/react-ui 0.0.0-dad43298ae → 0.0.0-db9f11da2a
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 +280 -0
- package/README.md +7 -7
- package/cjs/components/Autocomplete/Autocomplete.d.ts +18 -26
- package/cjs/components/Autocomplete/Autocomplete.js +64 -46
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.d.ts +4 -1
- package/cjs/components/Button/Button.js +47 -17
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.styles.d.ts +6 -0
- package/cjs/components/Button/Button.styles.js +109 -76
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Button/ButtonArrow.js +13 -14
- package/cjs/components/Button/ButtonArrow.js.map +1 -1
- package/cjs/components/Calendar/Calendar.d.ts +2 -0
- package/cjs/components/Calendar/Calendar.js +1 -0
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Calendar/CalendarDay.js +18 -2
- package/cjs/components/Calendar/CalendarDay.js.map +1 -1
- package/cjs/components/Calendar/DayCellView.js +7 -15
- package/cjs/components/Calendar/DayCellView.js.map +1 -1
- package/cjs/components/Center/Center.d.ts +2 -0
- package/cjs/components/Center/Center.js +1 -0
- package/cjs/components/Center/Center.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.d.ts +4 -16
- package/cjs/components/Checkbox/Checkbox.js +16 -32
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.d.ts +22 -3
- package/cjs/components/ComboBox/ComboBox.js +26 -1
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -24
- package/cjs/components/CurrencyInput/CurrencyInput.js +6 -25
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyInput/constants.js +1 -2
- package/cjs/components/CurrencyInput/constants.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -28
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/DateInput/DateInput.d.ts +6 -1
- package/cjs/components/DateInput/DateInput.js +45 -17
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.js +10 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +6 -33
- package/cjs/components/DatePicker/DatePicker.js +6 -60
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePicker.d.ts +3 -1
- package/cjs/components/DateRangePicker/DateRangePicker.js +61 -23
- package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
- package/cjs/components/DateRangePicker/DateRangePicker.styles.js +13 -18
- package/cjs/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePickerInput.js +4 -8
- package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
- package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +17 -17
- package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
- package/cjs/components/Dropdown/Dropdown.js +2 -82
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
- package/cjs/components/DropdownMenu/DropdownMenu.js +1 -0
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.js +15 -2
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FxInput/FxInput.d.ts +13 -8
- package/cjs/components/FxInput/FxInput.js +137 -60
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/FxInput/FxInputRestoreBtn.js +2 -3
- package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
- package/cjs/components/Gapped/Gapped.d.ts +2 -15
- package/cjs/components/Gapped/Gapped.js +1 -24
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
- package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/Group/Group.d.ts +5 -4
- package/cjs/components/Group/Group.js +91 -40
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Group/Group.styles.d.ts +1 -0
- package/cjs/components/Group/Group.styles.js +12 -6
- package/cjs/components/Group/Group.styles.js.map +1 -1
- package/cjs/components/Hint/Hint.d.ts +2 -0
- package/cjs/components/Hint/Hint.js +1 -0
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Input/Input.d.ts +6 -5
- package/cjs/components/Input/Input.js +17 -47
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.styles.d.ts +0 -1
- package/cjs/components/Input/Input.styles.js +8 -19
- package/cjs/components/Input/Input.styles.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -0
- package/cjs/components/Input/InputLayout/InputLayout.js +4 -2
- package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +4 -2
- package/cjs/components/Kebab/Kebab.js +9 -29
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.d.ts +2 -0
- package/cjs/components/Link/Link.js +15 -1
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.mixins.js +1 -2
- package/cjs/components/Link/Link.mixins.js.map +1 -1
- package/cjs/components/Link/Link.styles.js +3 -2
- package/cjs/components/Link/Link.styles.js.map +1 -1
- package/cjs/components/Loader/Loader.d.ts +7 -36
- package/cjs/components/Loader/Loader.js +6 -56
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
- package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +107 -78
- package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
- package/cjs/components/MaskedInput/FixedIMaskInput.js +3 -2
- package/cjs/components/MaskedInput/FixedIMaskInput.js.map +1 -1
- package/cjs/components/MaskedInput/MaskedInput.d.ts +9 -0
- package/cjs/components/MaskedInput/MaskedInput.js +43 -4
- package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +2 -12
- package/cjs/components/MenuItem/MenuItem.js +2 -22
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
- package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
- package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
- package/cjs/components/MiniModal/MiniModalBody.js +17 -2
- package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +2 -1
- package/cjs/components/Modal/Modal.styles.js +40 -32
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalBody.d.ts +2 -0
- package/cjs/components/Modal/ModalBody.js +1 -0
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.d.ts +5 -0
- package/cjs/components/Modal/ModalHeader.js +8 -1
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/Modal/ModalSeparator.js +1 -1
- package/cjs/components/Modal/ModalSeparator.js.map +1 -1
- package/cjs/components/Paging/DotsIcon.d.ts +3 -0
- package/cjs/components/Paging/DotsIcon.js +13 -0
- package/cjs/components/Paging/DotsIcon.js.map +1 -0
- package/cjs/components/Paging/ForwardIcon.d.ts +3 -0
- package/cjs/components/Paging/ForwardIcon.js +13 -1
- package/cjs/components/Paging/ForwardIcon.js.map +1 -1
- package/cjs/components/Paging/NavigationHelper.d.ts +3 -2
- package/cjs/components/Paging/NavigationHelper.js +8 -6
- package/cjs/components/Paging/NavigationHelper.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +13 -2
- package/cjs/components/Paging/Paging.js +120 -50
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/Paging.styles.d.ts +24 -1
- package/cjs/components/Paging/Paging.styles.js +151 -22
- package/cjs/components/Paging/Paging.styles.js.map +1 -1
- package/cjs/components/Paging/PagingHelper.d.ts +1 -1
- package/cjs/components/Paging/PagingHelper.js +18 -11
- package/cjs/components/Paging/PagingHelper.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +5 -12
- package/cjs/components/PasswordInput/PasswordInput.js +21 -32
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.d.ts +4 -1
- package/cjs/components/Radio/Radio.js +7 -4
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.d.ts +3 -0
- package/cjs/components/RadioGroup/RadioGroup.js +19 -1
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
- package/cjs/components/RadioGroup/RadioGroup.styles.js +10 -4
- package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +2 -9
- package/cjs/components/ScrollContainer/ScrollContainer.js +2 -11
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +7 -1
- package/cjs/components/Select/Select.js +13 -6
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePage.js +4 -2
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePage.styles.d.ts +3 -1
- package/cjs/components/SidePage/SidePage.styles.js +52 -38
- package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
- package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
- package/cjs/components/SidePage/SidePageBody.js +1 -0
- package/cjs/components/SidePage/SidePageBody.js.map +1 -1
- package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
- package/cjs/components/SidePage/SidePageContainer.js +1 -0
- package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
- package/cjs/components/SidePage/SidePageFooter.js +1 -0
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +12 -2
- package/cjs/components/SidePage/SidePageHeader.js +63 -19
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/SingleToast/SingleToast.d.ts +33 -3
- package/cjs/components/SingleToast/SingleToast.js +58 -3
- package/cjs/components/SingleToast/SingleToast.js.map +1 -1
- package/cjs/components/Spinner/Spinner.d.ts +2 -18
- package/cjs/components/Spinner/Spinner.js +2 -32
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Sticky/Sticky.d.ts +5 -13
- package/cjs/components/Sticky/Sticky.js +12 -18
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +6 -21
- package/cjs/components/Switcher/Switcher.js +11 -20
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
- package/cjs/components/Switcher/Switcher.styles.js +17 -9
- package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
- package/cjs/components/Tabs/Indicator.d.ts +2 -0
- package/cjs/components/Tabs/Indicator.js +1 -0
- package/cjs/components/Tabs/Indicator.js.map +1 -1
- package/cjs/components/Tabs/Tab.d.ts +2 -0
- package/cjs/components/Tabs/Tab.js +1 -0
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tabs.d.ts +2 -0
- package/cjs/components/Tabs/Tabs.js +1 -0
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +10 -46
- package/cjs/components/Textarea/Textarea.js +23 -60
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/Textarea.styles.js +3 -2
- package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.js +2 -13
- package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
- package/cjs/components/Toast/Toast.d.ts +62 -13
- package/cjs/components/Toast/Toast.js +119 -12
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/ToastStatic.d.ts +3 -2
- package/cjs/components/Toast/ToastStatic.js.map +1 -1
- package/cjs/components/Toast/ToastView.d.ts +8 -16
- package/cjs/components/Toast/ToastView.js +19 -22
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toast/ToastView.styles.d.ts +4 -0
- package/cjs/components/Toast/ToastView.styles.js +43 -9
- package/cjs/components/Toast/ToastView.styles.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +4 -11
- package/cjs/components/Toggle/Toggle.js +4 -14
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Token/Token.d.ts +2 -0
- package/cjs/components/Token/Token.js +1 -0
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +8 -3
- package/cjs/components/TokenInput/TokenInput.js +44 -30
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInputMenu.d.ts +12 -3
- package/cjs/components/TokenInput/TokenInputMenu.js +23 -1
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +14 -8
- package/cjs/components/Tooltip/Tooltip.js +102 -17
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
- package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
- package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
- package/cjs/components/TooltipMenu/TooltipMenu.js +1 -0
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +1 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +16 -7
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +27 -9
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
- package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
- package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
- package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/cjs/internal/ComponentTable.js +2 -3
- package/cjs/internal/ComponentTable.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
- package/cjs/internal/CustomComboBox/ComboBoxView.js +50 -7
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +11 -4
- package/cjs/internal/CustomComboBox/CustomComboBox.js +20 -5
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
- package/cjs/internal/CustomComboBox/getComboBoxTheme.js +10 -7
- package/cjs/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
- package/cjs/internal/DateSelect/DateSelect.js +13 -19
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
- package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
- package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -3
- package/cjs/internal/InputLikeText/InputLikeText.js +13 -14
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
- package/cjs/internal/InputLikeText/InputLikeText.styles.js +12 -4
- package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +235 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +10 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
- package/cjs/internal/Menu/Menu.d.ts +2 -0
- package/cjs/internal/Menu/Menu.js +1 -0
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
- package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
- package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +43 -60
- package/cjs/internal/Popup/Popup.js +41 -81
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/PopupPin.d.ts +23 -33
- package/cjs/internal/Popup/PopupPin.js +2 -35
- package/cjs/internal/Popup/PopupPin.js.map +1 -1
- package/cjs/internal/Popup/PopupPinNew.d.ts +31 -0
- package/cjs/internal/Popup/PopupPinNew.js +180 -0
- package/cjs/internal/Popup/PopupPinNew.js.map +1 -0
- package/cjs/internal/Popup/PopupPinNew.styles.d.ts +7 -0
- package/cjs/internal/Popup/PopupPinNew.styles.js +33 -0
- package/cjs/internal/Popup/PopupPinNew.styles.js.map +1 -0
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
- package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
- package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.js +20 -16
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
- package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
- package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
- package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
- package/cjs/internal/ThemePlayground/SizesGroup.js +4 -4
- package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +1 -1
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/VariableValue.js +4 -4
- package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
- package/cjs/internal/ZIndex/ZIndex.js +5 -1
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
- package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
- package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
- package/cjs/internal/themes/BasicTheme.d.ts +125 -20
- package/cjs/internal/themes/BasicTheme.js +172 -25
- package/cjs/internal/themes/BasicTheme.js.map +1 -1
- package/cjs/internal/themes/DarkTheme5_2.js +1 -1
- package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
- package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme5_3.js +13 -0
- package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
- package/cjs/internal/themes/DarkTheme5_4.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme5_4.js +18 -0
- package/cjs/internal/themes/DarkTheme5_4.js.map +1 -0
- package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
- package/cjs/internal/themes/LightTheme5_3.js +13 -0
- package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
- package/cjs/internal/themes/LightTheme5_4.d.ts +1 -0
- package/cjs/internal/themes/LightTheme5_4.js +18 -0
- package/cjs/internal/themes/LightTheme5_4.js.map +1 -0
- package/cjs/internal/themes/consts.d.ts +8 -0
- package/cjs/internal/themes/consts.js +8 -0
- package/cjs/internal/themes/consts.js.map +1 -0
- package/cjs/lib/__stories__/Blink.creevey.mts +90 -0
- package/cjs/lib/blink.d.ts +15 -0
- package/cjs/lib/blink.js +65 -0
- package/cjs/lib/blink.js.map +1 -0
- package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
- package/cjs/lib/date/InternalDateGetter.js +8 -1
- package/cjs/lib/date/InternalDateGetter.js.map +1 -1
- package/cjs/lib/delay.mts +3 -0
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +11 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +11 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +23 -1
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/cjs/lib/forwardRefAndName.d.ts +1 -1
- package/cjs/lib/forwardRefAndName.js +0 -1
- package/cjs/lib/forwardRefAndName.js.map +1 -1
- package/cjs/lib/getMenuPositions.d.ts +21 -1
- package/cjs/lib/getMenuPositions.js +45 -8
- package/cjs/lib/getMenuPositions.js.map +1 -1
- package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -1
- package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
- package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
- package/cjs/lib/size/SizeControlContext.d.ts +6 -0
- package/cjs/lib/size/SizeControlContext.js +16 -0
- package/cjs/lib/size/SizeControlContext.js.map +1 -0
- package/cjs/lib/size/SizeDecorator.d.ts +33 -0
- package/cjs/lib/size/SizeDecorator.js +41 -0
- package/cjs/lib/size/SizeDecorator.js.map +1 -0
- package/cjs/lib/size/constants.d.ts +2 -0
- package/cjs/lib/size/constants.js +3 -0
- package/cjs/lib/size/constants.js.map +1 -0
- package/cjs/lib/size/index.d.ts +1 -0
- package/cjs/lib/size/index.js +1 -0
- package/cjs/lib/size/index.js.map +1 -0
- package/cjs/lib/size/useSizeControl.d.ts +2 -0
- package/cjs/lib/size/useSizeControl.js +10 -0
- package/cjs/lib/size/useSizeControl.js.map +1 -0
- package/cjs/lib/theming/ThemeHelpers.d.ts +1 -1
- package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
- package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
- package/cjs/lib/theming/ThemeVersions.js.map +1 -1
- package/cjs/lib/theming/themes/DarkTheme.d.ts +2 -0
- package/cjs/lib/theming/themes/DarkTheme.js +6 -2
- package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
- package/cjs/lib/theming/themes/LightTheme.d.ts +2 -0
- package/cjs/lib/theming/themes/LightTheme.js +6 -2
- package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
- package/cjs/lib/utils.d.ts +18 -1
- package/cjs/lib/utils.js +40 -4
- package/cjs/lib/utils.js.map +1 -1
- package/cjs/test-setup.d.ts +1 -0
- package/cjs/vitest.config.d.ts +2 -0
- package/components/Autocomplete/Autocomplete/Autocomplete.js +63 -51
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +18 -26
- package/components/Button/Button/Button.js +45 -24
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +4 -1
- package/components/Button/Button.styles/Button.styles.js +79 -61
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Button/Button.styles.d.ts +6 -0
- package/components/Button/ButtonArrow/ButtonArrow.js +1 -3
- package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/Calendar.d.ts +2 -0
- package/components/Calendar/CalendarDay/CalendarDay.js +9 -2
- package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
- package/components/Calendar/DayCellView/DayCellView.js +6 -10
- package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
- package/components/Center/Center/Center.js.map +1 -1
- package/components/Center/Center.d.ts +2 -0
- package/components/Checkbox/Checkbox/Checkbox.js +12 -24
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +4 -16
- package/components/ComboBox/ComboBox/ComboBox.js +2 -1
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +22 -3
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +13 -36
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +6 -24
- package/components/CurrencyInput/constants/constants.js +0 -1
- package/components/CurrencyInput/constants/constants.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/DateInput/DateInput/DateInput.js +34 -24
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +6 -1
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
- package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +1 -32
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +6 -33
- package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +41 -22
- package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.d.ts +3 -1
- package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js +12 -15
- package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
- package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +5 -8
- package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
- package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +16 -15
- package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +1 -1
- package/components/Dropdown/Dropdown/Dropdown.js +1 -47
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +2 -47
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
- package/components/FileUploader/FileUploader/FileUploader.js +8 -2
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FxInput/FxInput/FxInput.js +122 -70
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +13 -8
- package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js +2 -2
- package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
- package/components/Gapped/Gapped/Gapped.js +1 -15
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/Gapped/Gapped.d.ts +2 -15
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
- package/components/Group/Group/Group.js +64 -28
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.d.ts +5 -4
- package/components/Group/Group.styles/Group.styles.js +9 -6
- package/components/Group/Group.styles/Group.styles.js.map +1 -1
- package/components/Group/Group.styles.d.ts +1 -0
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +2 -0
- package/components/Input/Input/Input.js +23 -52
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +6 -5
- package/components/Input/Input.styles/Input.styles.js +9 -13
- package/components/Input/Input.styles/Input.styles.js.map +1 -1
- package/components/Input/Input.styles.d.ts +0 -1
- package/components/Input/InputLayout/InputLayout/InputLayout.js +5 -2
- package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
- package/components/Input/InputLayout/InputLayout.d.ts +1 -0
- package/components/Kebab/Kebab/Kebab.js +8 -26
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +4 -2
- package/components/Link/Link/Link.js +8 -1
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +2 -0
- package/components/Link/Link.mixins/Link.mixins.js +1 -1
- package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
- package/components/Link/Link.styles/Link.styles.js +1 -1
- package/components/Link/Link.styles/Link.styles.js.map +1 -1
- package/components/Loader/Loader/Loader.js +2 -34
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +7 -36
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js +81 -66
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js.map +1 -1
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
- package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js +3 -2
- package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput/MaskedInput.js +28 -2
- package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput.d.ts +9 -0
- package/components/MenuItem/MenuItem/MenuItem.js +1 -12
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +2 -12
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
- package/components/MiniModal/MiniModal.styles.d.ts +1 -0
- package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
- package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
- package/components/Modal/Modal.styles/Modal.styles.js +32 -29
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +2 -1
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Modal/ModalBody.d.ts +2 -0
- package/components/Modal/ModalHeader/ModalHeader.js +3 -1
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/Modal/ModalHeader.d.ts +5 -0
- package/components/Modal/ModalSeparator/ModalSeparator.js +1 -1
- package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
- package/components/Paging/DotsIcon/DotsIcon.js +14 -0
- package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
- package/components/Paging/DotsIcon/package.json +6 -0
- package/components/Paging/DotsIcon.d.ts +3 -0
- package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
- package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
- package/components/Paging/ForwardIcon.d.ts +3 -0
- package/components/Paging/NavigationHelper/NavigationHelper.js +9 -8
- package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
- package/components/Paging/NavigationHelper.d.ts +3 -2
- package/components/Paging/Paging/Paging.js +96 -47
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +13 -2
- package/components/Paging/Paging.styles/Paging.styles.js +77 -16
- package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
- package/components/Paging/Paging.styles.d.ts +24 -1
- package/components/Paging/PagingHelper/PagingHelper.js +16 -8
- package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
- package/components/Paging/PagingHelper.d.ts +1 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +13 -25
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +5 -12
- package/components/Radio/Radio/Radio.js +7 -7
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +4 -1
- package/components/RadioGroup/RadioGroup/RadioGroup.js +23 -17
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +3 -0
- package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +7 -4
- package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
- package/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +2 -9
- package/components/Select/Select/Select.js +17 -15
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +7 -1
- package/components/SidePage/SidePage/SidePage.js +3 -3
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.styles/SidePage.styles.js +41 -35
- package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
- package/components/SidePage/SidePage.styles.d.ts +3 -1
- package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
- package/components/SidePage/SidePageBody.d.ts +2 -0
- package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
- package/components/SidePage/SidePageContainer.d.ts +2 -0
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageFooter.d.ts +2 -0
- package/components/SidePage/SidePageHeader/SidePageHeader.js +62 -35
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +12 -2
- package/components/SingleToast/SingleToast/SingleToast.js +37 -12
- package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
- package/components/SingleToast/SingleToast.d.ts +33 -3
- package/components/Spinner/Spinner/Spinner.js +1 -18
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +2 -18
- package/components/Sticky/Sticky/Sticky.js +10 -14
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +5 -13
- package/components/Switcher/Switcher/Switcher.js +19 -16
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +6 -21
- package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
- package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
- package/components/Switcher/Switcher.styles.d.ts +1 -0
- package/components/Tabs/Indicator/Indicator.js.map +1 -1
- package/components/Tabs/Indicator.d.ts +2 -0
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +2 -0
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +2 -0
- package/components/Textarea/Textarea/Textarea.js +19 -52
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +10 -46
- package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
- package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
- package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Toast/Toast/Toast.js +93 -32
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +62 -13
- package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
- package/components/Toast/ToastStatic.d.ts +3 -2
- package/components/Toast/ToastView/ToastView.js +20 -22
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.d.ts +8 -16
- package/components/Toast/ToastView.styles/ToastView.styles.js +17 -5
- package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
- package/components/Toast/ToastView.styles.d.ts +4 -0
- package/components/Toggle/Toggle/Toggle.js +11 -20
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +4 -11
- package/components/Token/Token/Token.js.map +1 -1
- package/components/Token/Token.d.ts +2 -0
- package/components/TokenInput/TokenInput/TokenInput.js +49 -43
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +8 -3
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +16 -6
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/TokenInput/TokenInputMenu.d.ts +12 -3
- package/components/Tooltip/Tooltip/Tooltip.js +77 -26
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +14 -8
- package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
- package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
- package/components/Tooltip/Tooltip.styles.d.ts +7 -1
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +21 -7
- package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +14 -5
- package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
- package/internal/ComponentTable/ComponentTable.js +0 -2
- package/internal/ComponentTable/ComponentTable.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +72 -41
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +13 -7
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +11 -4
- package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js +5 -3
- package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js.map +1 -1
- package/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
- package/internal/DateSelect/DateSelect/DateSelect.js +4 -11
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.d.ts +0 -10
- package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
- package/internal/FocusTrap/FocusTrap.d.ts +2 -0
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +17 -28
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.d.ts +4 -3
- package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +7 -4
- package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +249 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/package.json +6 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js +8 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js.map +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/package.json +6 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.d.ts +2 -0
- package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopup.d.ts +2 -0
- package/internal/Popup/Popup/Popup.js +23 -69
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +43 -60
- package/internal/Popup/PopupPin/PopupPin.js +1 -34
- package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
- package/internal/Popup/PopupPin.d.ts +23 -33
- package/internal/Popup/PopupPinNew/PopupPinNew.js +146 -0
- package/internal/Popup/PopupPinNew/PopupPinNew.js.map +1 -0
- package/internal/Popup/PopupPinNew/package.json +6 -0
- package/internal/Popup/PopupPinNew.d.ts +31 -0
- package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js +20 -0
- package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js.map +1 -0
- package/internal/Popup/PopupPinNew.styles/package.json +6 -0
- package/internal/Popup/PopupPinNew.styles.d.ts +7 -0
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +2 -0
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer.d.ts +2 -3
- package/internal/ThemePlayground/Playground/Playground.js +21 -18
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
- package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
- package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
- package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js +4 -4
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +2 -2
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
- package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -4
- package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndex.d.ts +3 -3
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
- package/internal/themes/BasicTheme/BasicTheme.js +185 -30
- package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
- package/internal/themes/BasicTheme.d.ts +125 -20
- package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
- package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
- package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
- package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
- package/internal/themes/DarkTheme5_3/package.json +6 -0
- package/internal/themes/DarkTheme5_3.d.ts +1 -0
- package/internal/themes/DarkTheme5_4/DarkTheme5_4.js +17 -0
- package/internal/themes/DarkTheme5_4/DarkTheme5_4.js.map +1 -0
- package/internal/themes/DarkTheme5_4/package.json +6 -0
- package/internal/themes/DarkTheme5_4.d.ts +1 -0
- package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
- package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
- package/internal/themes/LightTheme5_3/package.json +6 -0
- package/internal/themes/LightTheme5_3.d.ts +1 -0
- package/internal/themes/LightTheme5_4/LightTheme5_4.js +17 -0
- package/internal/themes/LightTheme5_4/LightTheme5_4.js.map +1 -0
- package/internal/themes/LightTheme5_4/package.json +6 -0
- package/internal/themes/LightTheme5_4.d.ts +1 -0
- package/internal/themes/consts/consts.js +9 -0
- package/internal/themes/consts/consts.js.map +1 -0
- package/internal/themes/consts/package.json +6 -0
- package/internal/themes/consts.d.ts +8 -0
- package/lib/__stories__/Blink.creevey.mts +90 -0
- package/lib/blink/blink.js +63 -0
- package/lib/blink/blink.js.map +1 -0
- package/lib/blink/package.json +6 -0
- package/lib/blink.d.ts +15 -0
- package/lib/date/InternalDateGetter/InternalDateGetter.js +4 -1
- package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
- package/lib/date/InternalDateGetter.d.ts +1 -1
- package/lib/delay.d.mts +1 -0
- package/lib/delay.mts +3 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +11 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +12 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +11 -0
- package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
- package/lib/forwardRefAndName.d.ts +1 -1
- package/lib/getMenuPositions/getMenuPositions.js +33 -4
- package/lib/getMenuPositions/getMenuPositions.js.map +1 -1
- package/lib/getMenuPositions.d.ts +21 -1
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
- package/lib/rootNode/rootNodeDecorator.d.ts +2 -1
- package/lib/size/SizeControlContext/SizeControlContext.js +7 -0
- package/lib/size/SizeControlContext/SizeControlContext.js.map +1 -0
- package/lib/size/SizeControlContext/package.json +6 -0
- package/lib/size/SizeControlContext.d.ts +6 -0
- package/lib/size/SizeDecorator/SizeDecorator.js +41 -0
- package/lib/size/SizeDecorator/SizeDecorator.js.map +1 -0
- package/lib/size/SizeDecorator/package.json +6 -0
- package/lib/size/SizeDecorator.d.ts +33 -0
- package/lib/size/constants/constants.js +1 -0
- package/lib/size/constants/constants.js.map +1 -0
- package/lib/size/constants/package.json +6 -0
- package/lib/size/constants.d.ts +2 -0
- package/lib/size/index/index.js +1 -0
- package/lib/size/index/index.js.map +1 -0
- package/lib/size/index/package.json +6 -0
- package/lib/size/index.d.ts +1 -0
- package/lib/size/package.json +6 -0
- package/lib/size/useSizeControl/package.json +6 -0
- package/lib/size/useSizeControl/useSizeControl.js +7 -0
- package/lib/size/useSizeControl/useSizeControl.js.map +1 -0
- package/lib/size/useSizeControl.d.ts +2 -0
- package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
- package/lib/theming/ThemeHelpers.d.ts +1 -1
- package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
- package/lib/theming/ThemeVersions.d.ts +1 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js +5 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/lib/theming/themes/DarkTheme.d.ts +2 -0
- package/lib/theming/themes/LightTheme/LightTheme.js +5 -1
- package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
- package/lib/theming/themes/LightTheme.d.ts +2 -0
- package/lib/utils/utils.js +33 -2
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +18 -1
- package/package.json +19 -36
- package/test-setup.d.ts +1 -0
- package/vitest.config.d.ts +2 -0
- package/cjs/components/Autocomplete/Autocomplete.md +0 -113
- package/cjs/components/Button/Button.md +0 -261
- package/cjs/components/Calendar/Calendar.md +0 -276
- package/cjs/components/Calendar/CalendarDay.md +0 -70
- package/cjs/components/Center/Center.md +0 -26
- package/cjs/components/Checkbox/Checkbox.md +0 -171
- package/cjs/components/ComboBox/ComboBox.md +0 -574
- package/cjs/components/CurrencyInput/CurrencyInput.md +0 -39
- package/cjs/components/CurrencyLabel/CurrencyLabel.md +0 -29
- package/cjs/components/DateInput/DateInput.md +0 -111
- package/cjs/components/DatePicker/DatePicker.md +0 -368
- package/cjs/components/Dropdown/Dropdown.md +0 -45
- package/cjs/components/DropdownMenu/DropdownMenu.md +0 -290
- package/cjs/components/FileUploader/FileUploader.md +0 -131
- package/cjs/components/FxInput/FxInput.md +0 -31
- package/cjs/components/Gapped/Gapped.md +0 -44
- package/cjs/components/GlobalLoader/GlobalLoader.md +0 -97
- package/cjs/components/Group/Group.md +0 -19
- package/cjs/components/Hint/Hint.md +0 -86
- package/cjs/components/Input/Input.md +0 -87
- package/cjs/components/Kebab/Kebab.md +0 -306
- package/cjs/components/Link/Link.md +0 -182
- package/cjs/components/Loader/Loader.md +0 -33
- package/cjs/components/MaskedInput/MaskedInput.md +0 -114
- package/cjs/components/MenuFooter/MenuFooter.md +0 -27
- package/cjs/components/MenuHeader/MenuHeader.md +0 -35
- package/cjs/components/MenuItem/MenuItem.md +0 -139
- package/cjs/components/MenuSeparator/MenuSeparator.md +0 -14
- package/cjs/components/MiniModal/MiniModal.md +0 -231
- package/cjs/components/Modal/Modal.md +0 -56
- package/cjs/components/Paging/Paging.md +0 -57
- package/cjs/components/PasswordInput/PasswordInput.md +0 -29
- package/cjs/components/Radio/Radio.md +0 -57
- package/cjs/components/RadioGroup/RadioGroup.md +0 -44
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
- package/cjs/components/ScrollContainer/ScrollContainer.md +0 -224
- package/cjs/components/Select/Select.md +0 -113
- package/cjs/components/SidePage/SidePage.md +0 -65
- package/cjs/components/SingleToast/SingleToast.md +0 -36
- package/cjs/components/Spinner/Spinner.md +0 -36
- package/cjs/components/Sticky/Sticky.md +0 -28
- package/cjs/components/Switcher/Switcher.md +0 -111
- package/cjs/components/Tabs/Tab.md +0 -73
- package/cjs/components/Tabs/Tabs.md +0 -54
- package/cjs/components/Textarea/Textarea.md +0 -58
- package/cjs/components/Toast/Toast.md +0 -69
- package/cjs/components/Toggle/Toggle.md +0 -110
- package/cjs/components/Token/Token.md +0 -131
- package/cjs/components/TokenInput/TokenInput.md +0 -308
- package/cjs/components/Tooltip/Tooltip.md +0 -322
- package/cjs/components/TooltipMenu/TooltipMenu.md +0 -241
- package/cjs/internal/DataTids/DATATIDS.md +0 -12
- package/cjs/internal/DataTids/DataTids.d.ts +0 -12
- package/cjs/internal/DataTids/DataTids.js +0 -50
- package/cjs/internal/DataTids/DataTids.js.map +0 -1
- package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
- package/cjs/internal/DataTids/DataTids.styles.js +0 -42
- package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
- package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
- package/cjs/internal/DataTids/componentsDataTids.js +0 -15
- package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
- package/cjs/internal/ThemePlayground/Playground.md +0 -7
- package/cjs/lib/SSRSafe.d.ts +0 -2
- package/cjs/lib/SSRSafe.js +0 -5
- package/cjs/lib/SSRSafe.js.map +0 -1
- package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
- package/cjs/lib/locale/LOCALECONTEXT.md +0 -222
- package/cjs/lib/theming/ThemeContext.md +0 -265
- package/components/Autocomplete/Autocomplete.md +0 -113
- package/components/Button/Button.md +0 -261
- package/components/Calendar/Calendar.md +0 -276
- package/components/Calendar/CalendarDay.md +0 -70
- package/components/Center/Center.md +0 -26
- package/components/Checkbox/Checkbox.md +0 -171
- package/components/ComboBox/ComboBox.md +0 -574
- package/components/CurrencyInput/CurrencyInput.md +0 -39
- package/components/CurrencyLabel/CurrencyLabel.md +0 -29
- package/components/DateInput/DateInput.md +0 -111
- package/components/DatePicker/DatePicker.md +0 -368
- package/components/Dropdown/Dropdown.md +0 -45
- package/components/DropdownMenu/DropdownMenu.md +0 -290
- package/components/FileUploader/FileUploader.md +0 -131
- package/components/FxInput/FxInput.md +0 -31
- package/components/Gapped/Gapped.md +0 -44
- package/components/GlobalLoader/GlobalLoader.md +0 -97
- package/components/Group/Group.md +0 -19
- package/components/Hint/Hint.md +0 -86
- package/components/Input/Input.md +0 -87
- package/components/Kebab/Kebab.md +0 -306
- package/components/Link/Link.md +0 -182
- package/components/Loader/Loader.md +0 -33
- package/components/MaskedInput/MaskedInput.md +0 -114
- package/components/MenuFooter/MenuFooter.md +0 -27
- package/components/MenuHeader/MenuHeader.md +0 -35
- package/components/MenuItem/MenuItem.md +0 -139
- package/components/MenuSeparator/MenuSeparator.md +0 -14
- package/components/MiniModal/MiniModal.md +0 -231
- package/components/Modal/Modal.md +0 -56
- package/components/Paging/Paging.md +0 -57
- package/components/PasswordInput/PasswordInput.md +0 -29
- package/components/Radio/Radio.md +0 -57
- package/components/RadioGroup/RadioGroup.md +0 -44
- package/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
- package/components/ScrollContainer/ScrollContainer.md +0 -224
- package/components/Select/Select.md +0 -113
- package/components/SidePage/SidePage.md +0 -65
- package/components/SingleToast/SingleToast.md +0 -36
- package/components/Spinner/Spinner.md +0 -36
- package/components/Sticky/Sticky.md +0 -28
- package/components/Switcher/Switcher.md +0 -111
- package/components/Tabs/Tab.md +0 -73
- package/components/Tabs/Tabs.md +0 -54
- package/components/Textarea/Textarea.md +0 -58
- package/components/Toast/Toast.md +0 -69
- package/components/Toggle/Toggle.md +0 -110
- package/components/Token/Token.md +0 -131
- package/components/TokenInput/TokenInput.md +0 -308
- package/components/Tooltip/Tooltip.md +0 -322
- package/components/TooltipMenu/TooltipMenu.md +0 -241
- package/internal/DataTids/DATATIDS.md +0 -12
- package/internal/DataTids/DataTids/DataTids.js +0 -69
- package/internal/DataTids/DataTids/DataTids.js.map +0 -1
- package/internal/DataTids/DataTids/package.json +0 -6
- package/internal/DataTids/DataTids.d.ts +0 -12
- package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -20
- package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
- package/internal/DataTids/DataTids.styles/package.json +0 -6
- package/internal/DataTids/DataTids.styles.d.ts +0 -7
- package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -12
- package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
- package/internal/DataTids/componentsDataTids/package.json +0 -6
- package/internal/DataTids/componentsDataTids.d.ts +0 -5
- package/internal/ThemePlayground/Playground.md +0 -7
- package/lib/SSRSafe/SSRSafe.js +0 -4
- package/lib/SSRSafe/SSRSafe.js.map +0 -1
- package/lib/SSRSafe/package.json +0 -6
- package/lib/SSRSafe.d.ts +0 -2
- package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
- package/lib/locale/LOCALECONTEXT.md +0 -222
- package/lib/theming/ThemeContext.md +0 -265
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.InternalTextareaWithLayout = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _InputLayout = require("../../components/Input/InputLayout/InputLayout");
|
|
5
|
+
var _Textarea = require("../../components/Textarea");
|
|
6
|
+
|
|
7
|
+
var _Textarea2 = require("../../components/Textarea/Textarea.styles");
|
|
8
|
+
var _Emotion = require("../../lib/theming/Emotion");
|
|
9
|
+
var _ThemeContext = require("../../lib/theming/ThemeContext");
|
|
10
|
+
var _ThemeFactory = require("../../lib/theming/ThemeFactory");
|
|
11
|
+
var _rootNode = require("../../lib/rootNode");
|
|
12
|
+
|
|
13
|
+
var _Input = require("../../components/Input/Input.styles");
|
|
14
|
+
var _createPropsGetter = require("../../lib/createPropsGetter");
|
|
15
|
+
var _currentEnvironment = require("../../lib/currentEnvironment");
|
|
16
|
+
var _Input2 = require("../../components/Input");
|
|
17
|
+
var _ClearCrossIcon = require("../ClearCrossIcon/ClearCrossIcon");
|
|
18
|
+
|
|
19
|
+
var _InternalTextareaWithLayout2 = require("./InternalTextareaWithLayout.styles");var _excluded = ["leftIcon", "rightIcon", "borderless"];var _class, _InternalTextareaWithLayout;var
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
InternalTextareaWithLayout = exports.InternalTextareaWithLayout = (0, _rootNode.rootNode)(_class = (_InternalTextareaWithLayout = /*#__PURE__*/function (_React$Component) {function InternalTextareaWithLayout() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
wrappedComponentRef = /*#__PURE__*/_react.default.createRef();_this.
|
|
38
|
+
|
|
39
|
+
getProps = (0, _createPropsGetter.createPropsGetter)(_Textarea.Textarea.defaultProps);_this.
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
getClearCrossShowed = function (_ref) {var focused = _ref.focused,hovered = _ref.hovered;
|
|
49
|
+
if (_this.props.disabled) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
return (0, _Input2.calculateClearCrossShowedState)({
|
|
53
|
+
showClearIcon: _this.getProps().showClearIcon || 'never',
|
|
54
|
+
notEmptyValue: Boolean(_this.props.value),
|
|
55
|
+
focused: focused,
|
|
56
|
+
hovered: hovered
|
|
57
|
+
});
|
|
58
|
+
};_this.
|
|
59
|
+
|
|
60
|
+
state = {
|
|
61
|
+
focused: false,
|
|
62
|
+
hovered: false,
|
|
63
|
+
clearCrossShowed: _this.getClearCrossShowed({ focused: false })
|
|
64
|
+
};_this.
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
handleClearInput = function () {
|
|
115
|
+
if (_this.wrappedComponentRef.current) {
|
|
116
|
+
_this.wrappedComponentRef.current.clear();
|
|
117
|
+
|
|
118
|
+
if (!_this.state.focused) {
|
|
119
|
+
_this.wrappedComponentRef.current.focus();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if (_this.props.onValueChange) {
|
|
124
|
+
_this.props.onValueChange('');
|
|
125
|
+
}
|
|
126
|
+
};_this.
|
|
127
|
+
|
|
128
|
+
getRightIcon = function () {
|
|
129
|
+
var _this$props = _this.props,size = _this$props.size,rightIcon = _this$props.rightIcon;
|
|
130
|
+
|
|
131
|
+
return _this.state.clearCrossShowed ? /*#__PURE__*/
|
|
132
|
+
_react.default.createElement(_ClearCrossIcon.ClearCrossIcon, { "data-tid": _Input2.InputDataTids.clearCross, size: size, onClick: _this.handleClearInput }) :
|
|
133
|
+
|
|
134
|
+
rightIcon;
|
|
135
|
+
|
|
136
|
+
};_this.
|
|
137
|
+
|
|
138
|
+
handleMouseEnter = function () {
|
|
139
|
+
_this.setState({ clearCrossShowed: _this.getClearCrossShowed({ focused: _this.state.focused, hovered: true }) });
|
|
140
|
+
};_this.
|
|
141
|
+
|
|
142
|
+
handleMouseOut = function () {
|
|
143
|
+
_this.setState({ clearCrossShowed: _this.getClearCrossShowed({ focused: _this.state.focused, hovered: false }) });
|
|
144
|
+
};_this.
|
|
145
|
+
|
|
146
|
+
renderLayout = function () {var _cx;
|
|
147
|
+
var labelProps = {
|
|
148
|
+
className: (0, _Emotion.cx)(
|
|
149
|
+
_InternalTextareaWithLayout2.styles.contentWrapper(),
|
|
150
|
+
_Textarea2.styles.textarea(_this.theme),
|
|
151
|
+
_this.getTextareaSizeClassName(),
|
|
152
|
+
_this.getRootSizeClassName(), (_cx = {}, _cx[
|
|
153
|
+
|
|
154
|
+
_Input.styles.focus(_this.theme)] = _this.state.focused && !_this.props.warning && !_this.props.error, _cx[
|
|
155
|
+
_Input.styles.borderless()] = _this.props.borderless && !_this.state.focused, _cx[
|
|
156
|
+
_Textarea2.styles.disabled(_this.theme)] = _this.props.disabled, _cx[
|
|
157
|
+
_Textarea2.styles.warning(_this.theme)] = _this.props.warning, _cx[
|
|
158
|
+
_Textarea2.styles.error(_this.theme)] = _this.props.error, _cx)
|
|
159
|
+
|
|
160
|
+
),
|
|
161
|
+
style: { width: _this.props.width || _Textarea.DEFAULT_WIDTH, minWidth: '0', position: 'relative' },
|
|
162
|
+
onMouseEnter: _this.handleMouseEnter,
|
|
163
|
+
onMouseLeave: _this.handleMouseOut,
|
|
164
|
+
onClick: _this.handleLayoutClick
|
|
165
|
+
};
|
|
166
|
+
return /*#__PURE__*/(
|
|
167
|
+
_react.default.createElement(_InputLayout.InputLayout, {
|
|
168
|
+
leftIcon: _this.props.leftIcon,
|
|
169
|
+
rightIcon: _this.getRightIcon(),
|
|
170
|
+
labelProps: labelProps,
|
|
171
|
+
context: { disabled: _this.props.disabled, focused: _this.state.focused, size: _this.getProps().size },
|
|
172
|
+
tag: "span" },
|
|
173
|
+
|
|
174
|
+
_this.renderTextarea()
|
|
175
|
+
));
|
|
176
|
+
|
|
177
|
+
};_this.
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
renderTextarea = function () {
|
|
200
|
+
var _this$props2 = _this.props,leftIcon = _this$props2.leftIcon,rightIcon = _this$props2.rightIcon,borderless = _this$props2.borderless,textareaProps = (0, _objectWithoutPropertiesLoose2.default)(_this$props2, _excluded);
|
|
201
|
+
return /*#__PURE__*/(
|
|
202
|
+
_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _this.preparedTheme }, /*#__PURE__*/
|
|
203
|
+
_react.default.createElement(_Textarea.Textarea, (0, _extends2.default)({},
|
|
204
|
+
_currentEnvironment.isTestEnv ? { spellCheck: false } : {},
|
|
205
|
+
textareaProps, {
|
|
206
|
+
width: '100%',
|
|
207
|
+
ref: _this.wrappedComponentRef,
|
|
208
|
+
onFocus: _this.handleFocus,
|
|
209
|
+
onBlur: _this.handleBlur })
|
|
210
|
+
)
|
|
211
|
+
));
|
|
212
|
+
|
|
213
|
+
};_this.
|
|
214
|
+
|
|
215
|
+
handleLayoutClick = function () {var _this$wrappedComponen;
|
|
216
|
+
(_this$wrappedComponen = _this.wrappedComponentRef.current) == null || _this$wrappedComponen.focus();
|
|
217
|
+
};_this.
|
|
218
|
+
handleBlur = function (event) {var _getRootNode;
|
|
219
|
+
if ((_getRootNode = (0, _rootNode.getRootNode)(_this)) != null && _getRootNode.contains(event.relatedTarget)) {
|
|
220
|
+
_this.setState({ focused: false });
|
|
221
|
+
} else {
|
|
222
|
+
_this.setState({
|
|
223
|
+
focused: false,
|
|
224
|
+
clearCrossShowed: _this.getClearCrossShowed({ focused: false, hovered: _this.state.hovered })
|
|
225
|
+
});
|
|
226
|
+
_this.props.onBlur == null || _this.props.onBlur(event);
|
|
227
|
+
}
|
|
228
|
+
};_this.
|
|
229
|
+
handleFocus = function (event) {
|
|
230
|
+
_this.setState({
|
|
231
|
+
focused: true,
|
|
232
|
+
clearCrossShowed: _this.getClearCrossShowed({ focused: true, hovered: _this.state.hovered })
|
|
233
|
+
});
|
|
234
|
+
_this.props.onFocus == null || _this.props.onFocus(event);
|
|
235
|
+
};return _this;}(0, _inheritsLoose2.default)(InternalTextareaWithLayout, _React$Component);var _proto = InternalTextareaWithLayout.prototype;_proto.componentDidUpdate = function componentDidUpdate(prevProps) {var _this$state = this.state,focused = _this$state.focused,hovered = _this$state.hovered;if (Boolean(prevProps.value) !== Boolean(this.props.value)) {this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused: focused, hovered: hovered }) });}};_proto.focus = function focus() {var _this$wrappedComponen2;(_this$wrappedComponen2 = this.wrappedComponentRef.current) == null || _this$wrappedComponen2.focus();};_proto.blur = function blur() {var _this$wrappedComponen3;(_this$wrappedComponen3 = this.wrappedComponentRef.current) == null || _this$wrappedComponen3.blur();};_proto.setSelectionRange = function setSelectionRange(start, end) {var _this$wrappedComponen4;(_this$wrappedComponen4 = this.wrappedComponentRef.current) == null || _this$wrappedComponen4.setSelectionRange(start, end);};_proto.selectAll = function selectAll() {var _this$wrappedComponen5;(_this$wrappedComponen5 = this.wrappedComponentRef.current) == null || _this$wrappedComponen5.selectAll();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement("span", { "data-tid": 'InternalTextareaWithLayout' }, _this2.renderLayout());});};_proto.getTextareaSizeClassName = function getTextareaSizeClassName() {switch (this.getProps().size) {case 'large':return _Textarea2.styles.textareaLarge(this.theme);case 'medium':return _Textarea2.styles.textareaMedium(this.theme);case 'small':default:return _Textarea2.styles.textareaSmall(this.theme);}};_proto.getRootSizeClassName = function getRootSizeClassName() {switch (this.getProps().size) {case 'large':return _Textarea2.styles.rootLarge(this.theme);case 'medium':return _Textarea2.styles.rootMedium(this.theme);case 'small':default:return _Textarea2.styles.rootSmall(this.theme);}};return (0, _createClass2.default)(InternalTextareaWithLayout, [{ key: "preparedTheme", get: function get() {return _ThemeFactory.ThemeFactory.create({ textareaWidth: 'auto', textareaBorderWidth: '0px', textareaPaddingXSmall: '0px', textareaPaddingXMedium: '0px', textareaPaddingXLarge: '0px', textareaPaddingYSmall: '0px', textareaPaddingYMedium: '0px', textareaPaddingYLarge: '0px', textareaOutlineWidth: '0px', textareaShadow: 'none', textareaDisabledBg: 'transparent', textareaBg: 'transparent' }, this.theme);} }]);}(_react.default.Component), _InternalTextareaWithLayout.__KONTUR_REACT_UI__ = 'InternalTextareaWithLayout', _InternalTextareaWithLayout)) || _class;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_InputLayout","_Textarea","_Textarea2","_Emotion","_ThemeContext","_ThemeFactory","_rootNode","_Input","_createPropsGetter","_currentEnvironment","_Input2","_ClearCrossIcon","_InternalTextareaWithLayout2","_excluded","_class","_InternalTextareaWithLayout","InternalTextareaWithLayout","exports","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","wrappedComponentRef","React","createRef","getProps","createPropsGetter","Textarea","defaultProps","getClearCrossShowed","_ref","focused","hovered","props","disabled","calculateClearCrossShowedState","showClearIcon","notEmptyValue","Boolean","value","state","clearCrossShowed","handleClearInput","current","clear","focus","onValueChange","getRightIcon","_this$props","size","rightIcon","default","createElement","ClearCrossIcon","InputDataTids","clearCross","onClick","handleMouseEnter","setState","handleMouseOut","renderLayout","_cx","labelProps","className","cx","styles","contentWrapper","textareaStyles","textarea","theme","getTextareaSizeClassName","getRootSizeClassName","inputStyles","warning","error","borderless","style","width","DEFAULT_WIDTH","minWidth","position","onMouseEnter","onMouseLeave","handleLayoutClick","InputLayout","leftIcon","context","tag","renderTextarea","_this$props2","textareaProps","_objectWithoutPropertiesLoose2","ThemeContext","Provider","preparedTheme","_extends2","isTestEnv","spellCheck","ref","onFocus","handleFocus","onBlur","handleBlur","_this$wrappedComponen","event","_getRootNode","getRootNode","contains","relatedTarget","_inheritsLoose2","_proto","prototype","componentDidUpdate","prevProps","_this$state","_this$wrappedComponen2","blur","_this$wrappedComponen3","setSelectionRange","start","end","_this$wrappedComponen4","selectAll","_this$wrappedComponen5","render","_this2","Consumer","textareaLarge","textareaMedium","textareaSmall","rootLarge","rootMedium","rootSmall","_createClass2","key","get","ThemeFactory","create","textareaWidth","textareaBorderWidth","textareaPaddingXSmall","textareaPaddingXMedium","textareaPaddingXLarge","textareaPaddingYSmall","textareaPaddingYMedium","textareaPaddingYLarge","textareaOutlineWidth","textareaShadow","textareaDisabledBg","textareaBg","Component","__KONTUR_REACT_UI__"],"sources":["InternalTextareaWithLayout.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { InputProps } from '../../components/Input';\nimport { InputLayout } from '../../components/Input/InputLayout/InputLayout';\nimport { DEFAULT_WIDTH, Textarea } from '../../components/Textarea';\nimport type { TextareaProps } from '../../components/Textarea';\nimport { styles as textareaStyles } from '../../components/Textarea/Textarea.styles';\nimport { cx } from '../../lib/theming/Emotion';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { styles as inputStyles } from '../../components/Input/Input.styles';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { calculateClearCrossShowedState, InputDataTids } from '../../components/Input';\nimport { ClearCrossIcon } from '../ClearCrossIcon/ClearCrossIcon';\n\nimport { styles } from './InternalTextareaWithLayout.styles';\n\ninterface InternalTextareaWithLayoutProps\n extends TextareaProps,\n Pick<InputProps, 'leftIcon' | 'rightIcon' | 'align' | 'borderless' | 'showClearIcon'> {}\n\ninterface InternalTextareaWithLayoutState {\n focused: boolean;\n hovered: boolean;\n clearCrossShowed: boolean;\n}\n\n@rootNode\nexport class InternalTextareaWithLayout extends React.Component<\n InternalTextareaWithLayoutProps,\n InternalTextareaWithLayoutState\n> {\n public static __KONTUR_REACT_UI__ = 'InternalTextareaWithLayout';\n private wrappedComponentRef = React.createRef<Textarea>();\n private theme!: Theme;\n private getProps = createPropsGetter(Textarea.defaultProps);\n\n public componentDidUpdate(prevProps: Readonly<InternalTextareaWithLayoutProps>) {\n const { focused, hovered } = this.state;\n if (Boolean(prevProps.value) !== Boolean(this.props.value)) {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused, hovered }) });\n }\n }\n\n private getClearCrossShowed = ({ focused, hovered }: { focused?: boolean; hovered?: boolean }): boolean => {\n if (this.props.disabled) {\n return false;\n }\n return calculateClearCrossShowedState({\n showClearIcon: this.getProps().showClearIcon || 'never',\n notEmptyValue: Boolean(this.props.value),\n focused,\n hovered,\n });\n };\n\n public state: InternalTextareaWithLayoutState = {\n focused: false,\n hovered: false,\n clearCrossShowed: this.getClearCrossShowed({ focused: false }),\n };\n\n public focus() {\n this.wrappedComponentRef.current?.focus();\n }\n public blur() {\n this.wrappedComponentRef.current?.blur();\n }\n public setSelectionRange(start: number, end: number) {\n this.wrappedComponentRef.current?.setSelectionRange(start, end);\n }\n public selectAll() {\n this.wrappedComponentRef.current?.selectAll();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <span data-tid={'InternalTextareaWithLayout'}>{this.renderLayout()}</span>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getTextareaSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return textareaStyles.textareaLarge(this.theme);\n case 'medium':\n return textareaStyles.textareaMedium(this.theme);\n case 'small':\n default:\n return textareaStyles.textareaSmall(this.theme);\n }\n }\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return textareaStyles.rootLarge(this.theme);\n case 'medium':\n return textareaStyles.rootMedium(this.theme);\n case 'small':\n default:\n return textareaStyles.rootSmall(this.theme);\n }\n }\n\n private handleClearInput = () => {\n if (this.wrappedComponentRef.current) {\n this.wrappedComponentRef.current.clear();\n\n if (!this.state.focused) {\n this.wrappedComponentRef.current.focus();\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange('');\n }\n };\n\n private getRightIcon = () => {\n const { size, rightIcon } = this.props;\n\n return this.state.clearCrossShowed ? (\n <ClearCrossIcon data-tid={InputDataTids.clearCross} size={size} onClick={this.handleClearInput} />\n ) : (\n rightIcon\n );\n };\n\n private handleMouseEnter = () => {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: true }) });\n };\n\n private handleMouseOut = () => {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: false }) });\n };\n\n private renderLayout = () => {\n const labelProps = {\n className: cx(\n styles.contentWrapper(),\n textareaStyles.textarea(this.theme),\n this.getTextareaSizeClassName(),\n this.getRootSizeClassName(),\n {\n [inputStyles.focus(this.theme)]: this.state.focused && !this.props.warning && !this.props.error,\n [inputStyles.borderless()]: this.props.borderless && !this.state.focused,\n [textareaStyles.disabled(this.theme)]: this.props.disabled,\n [textareaStyles.warning(this.theme)]: this.props.warning,\n [textareaStyles.error(this.theme)]: this.props.error,\n },\n ),\n style: { width: this.props.width || DEFAULT_WIDTH, minWidth: '0', position: 'relative' as const },\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseOut,\n onClick: this.handleLayoutClick,\n };\n return (\n <InputLayout\n leftIcon={this.props.leftIcon}\n rightIcon={this.getRightIcon()}\n labelProps={labelProps}\n context={{ disabled: this.props.disabled, focused: this.state.focused, size: this.getProps().size }}\n tag=\"span\"\n >\n {this.renderTextarea()}\n </InputLayout>\n );\n };\n\n private get preparedTheme(): Theme {\n return ThemeFactory.create(\n {\n textareaWidth: 'auto',\n textareaBorderWidth: '0px',\n textareaPaddingXSmall: '0px',\n textareaPaddingXMedium: '0px',\n textareaPaddingXLarge: '0px',\n textareaPaddingYSmall: '0px',\n textareaPaddingYMedium: '0px',\n textareaPaddingYLarge: '0px',\n textareaOutlineWidth: '0px',\n textareaShadow: 'none',\n textareaDisabledBg: 'transparent',\n textareaBg: 'transparent',\n },\n this.theme,\n );\n }\n\n private renderTextarea = () => {\n const { leftIcon, rightIcon, borderless, ...textareaProps } = this.props;\n return (\n <ThemeContext.Provider value={this.preparedTheme}>\n <Textarea\n {...(isTestEnv ? { spellCheck: false } : {})}\n {...textareaProps}\n width={'100%'}\n ref={this.wrappedComponentRef}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n </ThemeContext.Provider>\n );\n };\n\n private handleLayoutClick = () => {\n this.wrappedComponentRef.current?.focus();\n };\n private handleBlur = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n if (getRootNode(this)?.contains(event.relatedTarget)) {\n this.setState({ focused: false });\n } else {\n this.setState({\n focused: false,\n clearCrossShowed: this.getClearCrossShowed({ focused: false, hovered: this.state.hovered }),\n });\n this.props.onBlur?.(event);\n }\n };\n private handleFocus = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n this.setState({\n focused: true,\n clearCrossShowed: this.getClearCrossShowed({ focused: true, hovered: this.state.hovered }),\n });\n this.props.onFocus?.(event);\n };\n}\n"],"mappings":"sjBAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;;;AAGA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;;AAEA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;;AAEA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,kBAAA,GAAAT,OAAA;AACA,IAAAU,mBAAA,GAAAV,OAAA;AACA,IAAAW,OAAA,GAAAX,OAAA;AACA,IAAAY,eAAA,GAAAZ,OAAA;;AAEA,IAAAa,4BAAA,GAAAb,OAAA,wCAA6D,IAAAc,SAAA,+CAAAC,MAAA,EAAAC,2BAAA;;;;;;;;;;;;;AAahDC,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA,OADtCE,kBAAQ,EAAAJ,MAAA,IAAAC,2BAAA,0BAAAI,gBAAA,YAAAH,2BAAA,OAAAI,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;IAMCU,mBAAmB,gBAAGC,cAAK,CAACC,SAAS,CAAW,CAAC,CAAAZ,KAAA;;IAEjDa,QAAQ,GAAG,IAAAC,oCAAiB,EAACC,kBAAQ,CAACC,YAAY,CAAC,CAAAhB,KAAA;;;;;;;;;IASnDiB,mBAAmB,GAAG,UAAAC,IAAA,EAA6E,KAA1EC,OAAO,GAAAD,IAAA,CAAPC,OAAO,CAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;MAC/C,IAAIpB,KAAA,CAAKqB,KAAK,CAACC,QAAQ,EAAE;QACvB,OAAO,KAAK;MACd;MACA,OAAO,IAAAC,sCAA8B,EAAC;QACpCC,aAAa,EAAExB,KAAA,CAAKa,QAAQ,CAAC,CAAC,CAACW,aAAa,IAAI,OAAO;QACvDC,aAAa,EAAEC,OAAO,CAAC1B,KAAA,CAAKqB,KAAK,CAACM,KAAK,CAAC;QACxCR,OAAO,EAAPA,OAAO;QACPC,OAAO,EAAPA;MACF,CAAC,CAAC;IACJ,CAAC,CAAApB,KAAA;;IAEM4B,KAAK,GAAoC;MAC9CT,OAAO,EAAE,KAAK;MACdC,OAAO,EAAE,KAAK;MACdS,gBAAgB,EAAE7B,KAAA,CAAKiB,mBAAmB,CAAC,EAAEE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC,CAAAnB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkDO8B,gBAAgB,GAAG,YAAM;MAC/B,IAAI9B,KAAA,CAAKU,mBAAmB,CAACqB,OAAO,EAAE;QACpC/B,KAAA,CAAKU,mBAAmB,CAACqB,OAAO,CAACC,KAAK,CAAC,CAAC;;QAExC,IAAI,CAAChC,KAAA,CAAK4B,KAAK,CAACT,OAAO,EAAE;UACvBnB,KAAA,CAAKU,mBAAmB,CAACqB,OAAO,CAACE,KAAK,CAAC,CAAC;QAC1C;MACF;;MAEA,IAAIjC,KAAA,CAAKqB,KAAK,CAACa,aAAa,EAAE;QAC5BlC,KAAA,CAAKqB,KAAK,CAACa,aAAa,CAAC,EAAE,CAAC;MAC9B;IACF,CAAC,CAAAlC,KAAA;;IAEOmC,YAAY,GAAG,YAAM;MAC3B,IAAAC,WAAA,GAA4BpC,KAAA,CAAKqB,KAAK,CAA9BgB,IAAI,GAAAD,WAAA,CAAJC,IAAI,CAAEC,SAAS,GAAAF,WAAA,CAATE,SAAS;;MAEvB,OAAOtC,KAAA,CAAK4B,KAAK,CAACC,gBAAgB;MAChCpD,MAAA,CAAA8D,OAAA,CAAAC,aAAA,CAACjD,eAAA,CAAAkD,cAAc,IAAC,YAAUC,qBAAa,CAACC,UAAW,EAACN,IAAI,EAAEA,IAAK,EAACO,OAAO,EAAE5C,KAAA,CAAK8B,gBAAiB,EAAE,CAAC;;MAElGQ,SACD;;IACH,CAAC,CAAAtC,KAAA;;IAEO6C,gBAAgB,GAAG,YAAM;MAC/B7C,KAAA,CAAK8C,QAAQ,CAAC,EAAEjB,gBAAgB,EAAE7B,KAAA,CAAKiB,mBAAmB,CAAC,EAAEE,OAAO,EAAEnB,KAAA,CAAK4B,KAAK,CAACT,OAAO,EAAEC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/G,CAAC,CAAApB,KAAA;;IAEO+C,cAAc,GAAG,YAAM;MAC7B/C,KAAA,CAAK8C,QAAQ,CAAC,EAAEjB,gBAAgB,EAAE7B,KAAA,CAAKiB,mBAAmB,CAAC,EAAEE,OAAO,EAAEnB,KAAA,CAAK4B,KAAK,CAACT,OAAO,EAAEC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChH,CAAC,CAAApB,KAAA;;IAEOgD,YAAY,GAAG,YAAM,KAAAC,GAAA;MAC3B,IAAMC,UAAU,GAAG;QACjBC,SAAS,EAAE,IAAAC,WAAE;UACXC,mCAAM,CAACC,cAAc,CAAC,CAAC;UACvBC,iBAAc,CAACC,QAAQ,CAACxD,KAAA,CAAKyD,KAAK,CAAC;UACnCzD,KAAA,CAAK0D,wBAAwB,CAAC,CAAC;UAC/B1D,KAAA,CAAK2D,oBAAoB,CAAC,CAAC,GAAAV,GAAA,OAAAA,GAAA;;UAExBW,aAAW,CAAC3B,KAAK,CAACjC,KAAA,CAAKyD,KAAK,CAAC,IAAGzD,KAAA,CAAK4B,KAAK,CAACT,OAAO,IAAI,CAACnB,KAAA,CAAKqB,KAAK,CAACwC,OAAO,IAAI,CAAC7D,KAAA,CAAKqB,KAAK,CAACyC,KAAK,EAAAb,GAAA;UAC9FW,aAAW,CAACG,UAAU,CAAC,CAAC,IAAG/D,KAAA,CAAKqB,KAAK,CAAC0C,UAAU,IAAI,CAAC/D,KAAA,CAAK4B,KAAK,CAACT,OAAO,EAAA8B,GAAA;UACvEM,iBAAc,CAACjC,QAAQ,CAACtB,KAAA,CAAKyD,KAAK,CAAC,IAAGzD,KAAA,CAAKqB,KAAK,CAACC,QAAQ,EAAA2B,GAAA;UACzDM,iBAAc,CAACM,OAAO,CAAC7D,KAAA,CAAKyD,KAAK,CAAC,IAAGzD,KAAA,CAAKqB,KAAK,CAACwC,OAAO,EAAAZ,GAAA;UACvDM,iBAAc,CAACO,KAAK,CAAC9D,KAAA,CAAKyD,KAAK,CAAC,IAAGzD,KAAA,CAAKqB,KAAK,CAACyC,KAAK,EAAAb,GAAA;;QAExD,CAAC;QACDe,KAAK,EAAE,EAAEC,KAAK,EAAEjE,KAAA,CAAKqB,KAAK,CAAC4C,KAAK,IAAIC,uBAAa,EAAEC,QAAQ,EAAE,GAAG,EAAEC,QAAQ,EAAE,UAAmB,CAAC,CAAC;QACjGC,YAAY,EAAErE,KAAA,CAAK6C,gBAAgB;QACnCyB,YAAY,EAAEtE,KAAA,CAAK+C,cAAc;QACjCH,OAAO,EAAE5C,KAAA,CAAKuE;MAChB,CAAC;MACD;QACE9F,MAAA,CAAA8D,OAAA,CAAAC,aAAA,CAAC5D,YAAA,CAAA4F,WAAW;UACVC,QAAQ,EAAEzE,KAAA,CAAKqB,KAAK,CAACoD,QAAS;UAC9BnC,SAAS,EAAEtC,KAAA,CAAKmC,YAAY,CAAC,CAAE;UAC/Be,UAAU,EAAEA,UAAW;UACvBwB,OAAO,EAAE,EAAEpD,QAAQ,EAAEtB,KAAA,CAAKqB,KAAK,CAACC,QAAQ,EAAEH,OAAO,EAAEnB,KAAA,CAAK4B,KAAK,CAACT,OAAO,EAAEkB,IAAI,EAAErC,KAAA,CAAKa,QAAQ,CAAC,CAAC,CAACwB,IAAI,CAAC,CAAE;UACpGsC,GAAG,EAAC,MAAM;;QAET3E,KAAA,CAAK4E,cAAc,CAAC;QACV,CAAC;;IAElB,CAAC,CAAA5E,KAAA;;;;;;;;;;;;;;;;;;;;;;IAsBO4E,cAAc,GAAG,YAAM;MAC7B,IAAAC,YAAA,GAA8D7E,KAAA,CAAKqB,KAAK,CAAhEoD,QAAQ,GAAAI,YAAA,CAARJ,QAAQ,CAAEnC,SAAS,GAAAuC,YAAA,CAATvC,SAAS,CAAEyB,UAAU,GAAAc,YAAA,CAAVd,UAAU,CAAKe,aAAa,OAAAC,8BAAA,CAAAxC,OAAA,EAAAsC,YAAA,EAAApF,SAAA;MACzD;QACEhB,MAAA,CAAA8D,OAAA,CAAAC,aAAA,CAACxD,aAAA,CAAAgG,YAAY,CAACC,QAAQ,IAACtD,KAAK,EAAE3B,KAAA,CAAKkF,aAAc;QAC/CzG,MAAA,CAAA8D,OAAA,CAAAC,aAAA,CAAC3D,SAAA,CAAAkC,QAAQ,MAAAoE,SAAA,CAAA5C,OAAA;QACF6C,6BAAS,GAAG,EAAEC,UAAU,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;QACvCP,aAAa;UACjBb,KAAK,EAAE,MAAO;UACdqB,GAAG,EAAEtF,KAAA,CAAKU,mBAAoB;UAC9B6E,OAAO,EAAEvF,KAAA,CAAKwF,WAAY;UAC1BC,MAAM,EAAEzF,KAAA,CAAK0F,UAAW;QACzB;QACoB,CAAC;;IAE5B,CAAC,CAAA1F,KAAA;;IAEOuE,iBAAiB,GAAG,YAAM,KAAAoB,qBAAA;MAChC,CAAAA,qBAAA,GAAA3F,KAAA,CAAKU,mBAAmB,CAACqB,OAAO,aAAhC4D,qBAAA,CAAkC1D,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAAjC,KAAA;IACO0F,UAAU,GAAG,UAACE,KAA4C,EAAK,KAAAC,YAAA;MACrE,KAAAA,YAAA,GAAI,IAAAC,qBAAW,EAAA9F,KAAK,CAAC,aAAjB6F,YAAA,CAAmBE,QAAQ,CAACH,KAAK,CAACI,aAAa,CAAC,EAAE;QACpDhG,KAAA,CAAK8C,QAAQ,CAAC,EAAE3B,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;MACnC,CAAC,MAAM;QACLnB,KAAA,CAAK8C,QAAQ,CAAC;UACZ3B,OAAO,EAAE,KAAK;UACdU,gBAAgB,EAAE7B,KAAA,CAAKiB,mBAAmB,CAAC,EAAEE,OAAO,EAAE,KAAK,EAAEC,OAAO,EAAEpB,KAAA,CAAK4B,KAAK,CAACR,OAAO,CAAC,CAAC;QAC5F,CAAC,CAAC;QACFpB,KAAA,CAAKqB,KAAK,CAACoE,MAAM,YAAjBzF,KAAA,CAAKqB,KAAK,CAACoE,MAAM,CAAGG,KAAK,CAAC;MAC5B;IACF,CAAC,CAAA5F,KAAA;IACOwF,WAAW,GAAG,UAACI,KAA4C,EAAK;MACtE5F,KAAA,CAAK8C,QAAQ,CAAC;QACZ3B,OAAO,EAAE,IAAI;QACbU,gBAAgB,EAAE7B,KAAA,CAAKiB,mBAAmB,CAAC,EAAEE,OAAO,EAAE,IAAI,EAAEC,OAAO,EAAEpB,KAAA,CAAK4B,KAAK,CAACR,OAAO,CAAC,CAAC;MAC3F,CAAC,CAAC;MACFpB,KAAA,CAAKqB,KAAK,CAACkE,OAAO,YAAlBvF,KAAA,CAAKqB,KAAK,CAACkE,OAAO,CAAGK,KAAK,CAAC;IAC7B,CAAC,QAAA5F,KAAA,MAAAiG,eAAA,CAAA1D,OAAA,EAAA3C,0BAAA,EAAAG,gBAAA,MAAAmG,MAAA,GAAAtG,0BAAA,CAAAuG,SAAA,CAAAD,MAAA,CAlMME,kBAAkB,GAAzB,SAAAA,mBAA0BC,SAAoD,EAAE,CAC9E,IAAAC,WAAA,GAA6B,IAAI,CAAC1E,KAAK,CAA/BT,OAAO,GAAAmF,WAAA,CAAPnF,OAAO,CAAEC,OAAO,GAAAkF,WAAA,CAAPlF,OAAO,CACxB,IAAIM,OAAO,CAAC2E,SAAS,CAAC1E,KAAK,CAAC,KAAKD,OAAO,CAAC,IAAI,CAACL,KAAK,CAACM,KAAK,CAAC,EAAE,CAC1D,IAAI,CAACmB,QAAQ,CAAC,EAAEjB,gBAAgB,EAAE,IAAI,CAACZ,mBAAmB,CAAC,EAAEE,OAAO,EAAPA,OAAO,EAAEC,OAAO,EAAPA,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACrF,CACF,CAAC,CAAA8E,MAAA,CAoBMjE,KAAK,GAAZ,SAAAA,MAAA,EAAe,KAAAsE,sBAAA,CACb,CAAAA,sBAAA,OAAI,CAAC7F,mBAAmB,CAACqB,OAAO,aAAhCwE,sBAAA,CAAkCtE,KAAK,CAAC,CAAC,CAC3C,CAAC,CAAAiE,MAAA,CACMM,IAAI,GAAX,SAAAA,KAAA,EAAc,KAAAC,sBAAA,CACZ,CAAAA,sBAAA,OAAI,CAAC/F,mBAAmB,CAACqB,OAAO,aAAhC0E,sBAAA,CAAkCD,IAAI,CAAC,CAAC,CAC1C,CAAC,CAAAN,MAAA,CACMQ,iBAAiB,GAAxB,SAAAA,kBAAyBC,KAAa,EAAEC,GAAW,EAAE,KAAAC,sBAAA,CACnD,CAAAA,sBAAA,OAAI,CAACnG,mBAAmB,CAACqB,OAAO,aAAhC8E,sBAAA,CAAkCH,iBAAiB,CAACC,KAAK,EAAEC,GAAG,CAAC,CACjE,CAAC,CAAAV,MAAA,CACMY,SAAS,GAAhB,SAAAA,UAAA,EAAmB,KAAAC,sBAAA,CACjB,CAAAA,sBAAA,OAAI,CAACrG,mBAAmB,CAACqB,OAAO,aAAhCgF,sBAAA,CAAkCD,SAAS,CAAC,CAAC,CAC/C,CAAC,CAAAZ,MAAA,CAEMc,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACExI,MAAA,CAAA8D,OAAA,CAAAC,aAAA,CAACxD,aAAA,CAAAgG,YAAY,CAACkC,QAAQ,QACnB,UAACzD,KAAK,EAAK,CACVwD,MAAI,CAACxD,KAAK,GAAGA,KAAK,CAClB,oBAAOhF,MAAA,CAAA8D,OAAA,CAAAC,aAAA,WAAM,YAAU,4BAA6B,IAAEyE,MAAI,CAACjE,YAAY,CAAC,CAAQ,CAAC,CACnF,CACqB,CAAC,CAE5B,CAAC,CAAAkD,MAAA,CAEOxC,wBAAwB,GAAhC,SAAAA,yBAAA,EAAmC,CACjC,QAAQ,IAAI,CAAC7C,QAAQ,CAAC,CAAC,CAACwB,IAAI,GAC1B,KAAK,OAAO,CACV,OAAOkB,iBAAc,CAAC4D,aAAa,CAAC,IAAI,CAAC1D,KAAK,CAAC,CACjD,KAAK,QAAQ,CACX,OAAOF,iBAAc,CAAC6D,cAAc,CAAC,IAAI,CAAC3D,KAAK,CAAC,CAClD,KAAK,OAAO,CACZ,QACE,OAAOF,iBAAc,CAAC8D,aAAa,CAAC,IAAI,CAAC5D,KAAK,CAAC,CACnD,CACF,CAAC,CAAAyC,MAAA,CAEOvC,oBAAoB,GAA5B,SAAAA,qBAAA,EAA+B,CAC7B,QAAQ,IAAI,CAAC9C,QAAQ,CAAC,CAAC,CAACwB,IAAI,GAC1B,KAAK,OAAO,CACV,OAAOkB,iBAAc,CAAC+D,SAAS,CAAC,IAAI,CAAC7D,KAAK,CAAC,CAC7C,KAAK,QAAQ,CACX,OAAOF,iBAAc,CAACgE,UAAU,CAAC,IAAI,CAAC9D,KAAK,CAAC,CAC9C,KAAK,OAAO,CACZ,QACE,OAAOF,iBAAc,CAACiE,SAAS,CAAC,IAAI,CAAC/D,KAAK,CAAC,CAC/C,CACF,CAAC,YAAAgE,aAAA,CAAAlF,OAAA,EAAA3C,0BAAA,KAAA8H,GAAA,mBAAAC,GAAA,EAmED,SAAAA,IAAA,EAAmC,CACjC,OAAOC,0BAAY,CAACC,MAAM,CACxB,EACEC,aAAa,EAAE,MAAM,EACrBC,mBAAmB,EAAE,KAAK,EAC1BC,qBAAqB,EAAE,KAAK,EAC5BC,sBAAsB,EAAE,KAAK,EAC7BC,qBAAqB,EAAE,KAAK,EAC5BC,qBAAqB,EAAE,KAAK,EAC5BC,sBAAsB,EAAE,KAAK,EAC7BC,qBAAqB,EAAE,KAAK,EAC5BC,oBAAoB,EAAE,KAAK,EAC3BC,cAAc,EAAE,MAAM,EACtBC,kBAAkB,EAAE,aAAa,EACjCC,UAAU,EAAE,aAAa,CAC3B,CAAC,EACD,IAAI,CAAChF,KACP,CAAC,CACH,CAAC,OArK6C9C,cAAK,CAAC+H,SAAS,GAAA/I,2BAAA,CAI/CgJ,mBAAmB,GAAG,4BAA4B,EAAAhJ,2BAAA,MAAAD,MAAA","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");var _templateObject;
|
|
2
|
+
|
|
3
|
+
var styles = exports.styles = (0, _Emotion.memoizeStyle)({
|
|
4
|
+
contentWrapper: function contentWrapper() {
|
|
5
|
+
return (0, _Emotion.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-flex;\n align-items: flex-start;\n "])));
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
}
|
|
10
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_Emotion","require","_templateObject","styles","exports","memoizeStyle","contentWrapper","css","_taggedTemplateLiteralLoose2","default"],"sources":["InternalTextareaWithLayout.styles.ts"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nexport const styles = memoizeStyle({\n contentWrapper() {\n return css`\n display: inline-flex;\n align-items: flex-start;\n `;\n },\n});\n"],"mappings":"oRAAA,IAAAA,QAAA,GAAAC,OAAA,8BAA8D,IAAAC,eAAA;;AAEvD,IAAMC,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAE,qBAAY,EAAC;EACjCC,cAAc,WAAAA,eAAA,EAAG;IACf,WAAOC,YAAG,EAAAL,eAAA,KAAAA,eAAA,OAAAM,4BAAA,CAAAC,OAAA;;;;EAIZ;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { HTMLAttributes } from 'react';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import type { ScrollContainerScrollState } from '../../components/ScrollContainer';
|
|
4
|
+
import type { TGetRootNode } from '../../lib/rootNode';
|
|
4
5
|
import type { CommonProps } from '../CommonWrapper';
|
|
5
6
|
export interface MenuProps extends CommonProps, Pick<HTMLAttributes<HTMLDivElement>, 'id'> {
|
|
6
7
|
children: React.ReactNode;
|
|
@@ -53,6 +54,7 @@ export declare class Menu extends React.PureComponent<MenuProps, MenuState> {
|
|
|
53
54
|
private scrollContainer;
|
|
54
55
|
private isMobileLayout;
|
|
55
56
|
private unmounted;
|
|
57
|
+
getRootNode: TGetRootNode;
|
|
56
58
|
private setRootNode;
|
|
57
59
|
private header;
|
|
58
60
|
private footer;
|
|
@@ -117,6 +117,7 @@ Menu = exports.Menu = (0, _decorator.responsiveLayout)(_class = (0, _rootNode2.r
|
|
|
117
117
|
|
|
118
118
|
|
|
119
119
|
|
|
120
|
+
|
|
120
121
|
contentRef = /*#__PURE__*/_react.default.createRef();_this.
|
|
121
122
|
menuNavigation = new _MenuNavigation.MenuNavigation(_this.contentRef, _MenuItem.MenuItemDataTids.content);_this.
|
|
122
123
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_identifiers","_MenuSeparator","_ThemeFactory","_getDOMRect","_decorator","_utils","_ScrollContainer","_MenuItem","_ThemeContext","_Emotion","_rootNode2","_client","_createPropsGetter","_isInstanceOf","_CommonWrapper","_Menu2","_MenuNavigation","_MenuContext","_class","_Menu","MenuDataTids","exports","root","Menu","responsiveLayout","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","highlightedIndex","maxHeight","scrollState","enableIconPadding","unmounted","contentRef","React","createRef","menuNavigation","MenuNavigation","MenuItemDataTids","content","focusOnRootElement","getRootNode","isInstanceOf","globalObject","HTMLElement","focus","renderHeader","_cx","default","createElement","className","cx","styles","wrapper","headerWrapper","ref","el","header","contentWrapper","props","menuSeparatorWrapper","theme","renderMenuSeparatorWithNoMargin","renderFooter","_cx2","footerWrapper","footer","ThemeContext","Provider","value","ThemeFactory","create","menuSeparatorMarginY","MenuSeparator","setInitialSelection","i","initialSelectedItemIndex","down","shouldRecalculateMaxHeight","prevProps","_this$props","children","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","Children","count","calculateMaxHeight","parsedMaxHeight","isBrowser","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","getDOMRect","height","setState","refScrollContainer","scrollContainer","scrollToSelected","highlightedItem","scrollTo","scrollToTop","scrollToBottom","scroll","nextIndex","items","handleKeyDown","event","onKeyDown","defaultPrevented","isKeyArrowUp","preventDefault","up","isKeyArrowDown","isKeyEnter","select","getStyle","align","maxWidth","width","minWidth","handleScrollStateChange","setEnableIconPadding","isIconPaddingEnabled","preventIconsOffset","_inheritsLoose2","_proto","prototype","componentWillUnmount","componentDidMount","componentDidUpdate","render","_this2","Consumer","renderMain","move","enter","_this$menuNavigation$","navigate","reset","hasHighlightedItem","highlightItem","index","highlightByIndex","_cx3","_cx4","isEmpty","_this$getProps","hasMargin","preventWindowScroll","offsetY","top","scrollContainerScrollBarOffsetY","right","bottom","isMobile","isMobileLayout","CommonWrapper","_extends2","rootNodeRef","setRootNode","getAlignRightClass","mobileRoot","shadow","style","id","tabIndex","ScrollContainer","onScrollStateChange","disabled","disableScrollContainer","scrollContainerMobile","MenuContext","navigation","onItemClick","step","cyclicSelection","childrenToArray","filter","isNonNullable","PureComponent","__KONTUR_REACT_UI__","displayName","ret","forEach","child","push","_cx5","alignRight","isIE11","alignRightIE11","alignRightIE11FixAutoWidth"],"sources":["Menu.tsx"],"sourcesContent":["import type { CSSProperties, HTMLAttributes } from 'react';\nimport React from 'react';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { isNonNullable } from '../../lib/utils';\nimport type { ScrollContainerScrollState } from '../../components/ScrollContainer';\nimport { ScrollContainer } from '../../components/ScrollContainer';\nimport type { MenuItem } from '../../components/MenuItem';\nimport { MenuItemDataTids } from '../../components/MenuItem';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { isIE11 } from '../../lib/client';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport type { CommonProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\n\nimport { styles } from './Menu.styles';\nimport { MenuNavigation } from './MenuNavigation';\nimport { MenuContext } from './MenuContext';\n\nexport interface MenuProps extends CommonProps, Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n children: React.ReactNode;\n hasMargin?: boolean;\n /**\n * Максимальная высота применяется только для скролл контейнера\n *\n * Высота `header` и `footer` в нее не включены\n */\n maxHeight?: number | string;\n onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n /**\n * Отключение кастомного скролла контейнера\n */\n disableScrollContainer?: boolean;\n align?: 'left' | 'right';\n /**\n * Предотвращает выравнивание текста всех пунктов меню относительно друг друга.\n * Так, если хотя бы у одного пункта меню есть иконка, текст в остальных пунктах меню будет выровнен относительно пункта меню с иконкой\n */\n preventIconsOffset?: boolean;\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n /**\n * Циклический перебор айтемов меню (по-дефолтну включен)\n */\n cyclicSelection?: boolean;\n initialSelectedItemIndex?: number;\n}\n\nexport interface MenuState {\n highlightedIndex: number; // TODO unused variable, remove in next major release\n maxHeight: number | string;\n scrollState: ScrollContainerScrollState;\n enableIconPadding: boolean;\n}\n\nexport const MenuDataTids = {\n root: 'Menu__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n MenuProps,\n | 'align'\n | 'width'\n | 'hasMargin'\n | 'maxHeight'\n | 'preventWindowScroll'\n | 'cyclicSelection'\n | 'initialSelectedItemIndex'\n >\n>;\n\n@responsiveLayout\n@rootNode\nexport class Menu extends React.PureComponent<MenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'Menu';\n public static displayName = 'Menu';\n\n public static defaultProps: DefaultProps = {\n align: 'left',\n width: 'auto',\n maxHeight: 300,\n hasMargin: true,\n preventWindowScroll: true,\n cyclicSelection: true,\n initialSelectedItemIndex: -1,\n };\n\n private getProps = createPropsGetter(Menu.defaultProps);\n\n public state: MenuState = {\n highlightedIndex: -1,\n maxHeight: this.getProps().maxHeight || 'none',\n scrollState: 'top',\n enableIconPadding: false,\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private isMobileLayout!: boolean;\n private unmounted = false;\n private setRootNode!: TSetRootNode;\n private header: Nullable<HTMLDivElement>;\n private footer: Nullable<HTMLDivElement>;\n private contentRef = React.createRef<HTMLDivElement>();\n private menuNavigation: MenuNavigation<MenuItem> = new MenuNavigation(this.contentRef, MenuItemDataTids.content);\n\n public componentWillUnmount() {\n this.unmounted = true;\n }\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\n this.unmounted = false;\n }\n\n public componentDidUpdate(prevProps: MenuProps) {\n if (this.shouldRecalculateMaxHeight(prevProps)) {\n this.calculateMaxHeight();\n }\n\n if (prevProps.maxHeight !== this.getProps().maxHeight) {\n this.setState({\n maxHeight: this.props.maxHeight || 'none',\n });\n }\n }\n\n public focus() {\n this.focusOnRootElement();\n }\n\n private focusOnRootElement = (): void => {\n const rootNode = getRootNode(this);\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n rootNode?.focus();\n }\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 /**\n * @public\n */\n public up() {\n this.move(-1);\n }\n\n /**\n * @public\n */\n public down() {\n this.move(1);\n }\n\n /**\n * @public\n */\n public enter(event: React.SyntheticEvent<HTMLElement>) {\n this.menuNavigation.highlightedItem?.navigate();\n return this.menuNavigation.select(event);\n }\n\n /**\n * @public\n */\n public reset() {\n this.menuNavigation.reset();\n }\n\n /**\n * @public\n */\n public hasHighlightedItem() {\n return !!this.menuNavigation.highlightedItem;\n }\n\n public highlightItem(index: number) {\n this.menuNavigation.highlightByIndex(index);\n }\n\n private renderMain() {\n if (this.isEmpty()) {\n return null;\n }\n const { hasMargin, maxHeight, preventWindowScroll } = this.getProps();\n\n const offsetY = {\n top: `${this.theme.scrollContainerScrollBarOffsetY}`,\n right: 0,\n bottom: `${this.theme.scrollContainerScrollBarOffsetY}`,\n };\n\n const isMobile = this.isMobileLayout;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={MenuDataTids.root}\n className={cx(getAlignRightClass(this.props), {\n [styles.root(this.theme)]: true,\n [styles.hasMargin(this.theme)]: hasMargin,\n [styles.mobileRoot(this.theme)]: isMobile,\n [styles.shadow(this.theme)]: !isMobile,\n })}\n style={this.getStyle(this.props)}\n id={this.props.id}\n onKeyDown={this.handleKeyDown}\n tabIndex={0}\n >\n {this.props.header && this.renderHeader()}\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={maxHeight}\n preventWindowScroll={preventWindowScroll}\n onScrollStateChange={this.handleScrollStateChange}\n disabled={this.props.disableScrollContainer}\n offsetY={offsetY}\n >\n <div\n className={cx({\n [styles.scrollContainer(this.theme)]: true,\n [styles.scrollContainerMobile(this.theme)]: isMobile,\n })}\n ref={this.contentRef}\n >\n <MenuContext.Provider\n value={{\n navigation: this.menuNavigation,\n onItemClick: this.props.onItemClick,\n enableIconPadding: this.state.enableIconPadding,\n setEnableIconPadding: this.setEnableIconPadding,\n }}\n >\n {this.props.children}\n </MenuContext.Provider>\n </div>\n </ScrollContainer>\n {this.props.footer && this.renderFooter()}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderHeader = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.headerWrapper()]: true,\n })}\n ref={(el) => (this.header = el)}\n >\n <div className={styles.contentWrapper()}>{this.props.header}</div>\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'top' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n </div>\n );\n };\n\n private renderFooter = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.footerWrapper()]: true,\n })}\n ref={(el) => (this.footer = el)}\n >\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'bottom' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n <div className={styles.contentWrapper()}>{this.props.footer}</div>\n </div>\n );\n };\n\n private renderMenuSeparatorWithNoMargin = () => {\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ menuSeparatorMarginY: '0' }, this.theme)}>\n <MenuSeparator />\n </ThemeContext.Provider>\n );\n };\n\n private setInitialSelection = () => {\n for (let i = this.getProps().initialSelectedItemIndex; i > -1; i--) {\n this.down();\n }\n };\n\n private shouldRecalculateMaxHeight = (prevProps: MenuProps): boolean => {\n const { header, footer, children } = this.props;\n const maxHeight = this.getProps().maxHeight;\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.getProps().maxHeight;\n let parsedMaxHeight = maxHeight;\n const rootNode = getRootNode(this);\n\n if (typeof maxHeight === 'string' && isBrowser(globalObject) && rootNode) {\n const rootElementMaxHeight = globalObject.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 && getDOMRect(this.header).height) || 0) +\n ((this.footer && getDOMRect(this.footer).height) || 0)\n : maxHeight;\n\n this.setState({\n maxHeight: calculatedMaxHeight || 'none',\n });\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private scrollToSelected = () => {\n const highlightedItem = this.menuNavigation.highlightedItem;\n if (this.scrollContainer && highlightedItem) {\n const rootNode = getRootNode(highlightedItem);\n // TODO: Remove this check once IF-647 is resolved\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n this.scrollContainer.scrollTo(rootNode);\n }\n }\n };\n\n private scrollToTop = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToTop();\n }\n };\n\n private scrollToBottom = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToBottom();\n }\n };\n\n private scroll = (nextIndex: number) => {\n switch (nextIndex) {\n case 0:\n this.scrollToTop?.();\n break;\n case this.menuNavigation.items.length - 1:\n this.scrollToBottom?.();\n break;\n default:\n this.scrollToSelected?.();\n }\n };\n\n private move(step: number) {\n if (this.unmounted) {\n // NOTE workaround, because `ComboBox` call `process.nextTick` in reducer\n return;\n }\n const nextIndex = this.menuNavigation.move(step, this.getProps().cyclicSelection);\n this.scroll(nextIndex);\n }\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isNonNullable).length;\n }\n\n private handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\n if (typeof this.props.onKeyDown === 'function') {\n this.props.onKeyDown(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (isKeyArrowUp(event)) {\n event.preventDefault();\n this.up();\n } else if (isKeyArrowDown(event)) {\n event.preventDefault();\n this.down();\n } else if (isKeyEnter(event)) {\n this.menuNavigation.select(event);\n }\n };\n\n private getStyle = (props: MenuProps): CSSProperties => {\n if (props.align === 'right') {\n return {\n maxWidth: props.width,\n minWidth: props.width,\n maxHeight: this.state.maxHeight,\n };\n }\n\n return {\n width: props.width,\n maxHeight: this.state.maxHeight,\n };\n };\n\n private handleScrollStateChange = (scrollState: ScrollContainerScrollState) => {\n if (this.state.scrollState !== scrollState) {\n this.setState({ scrollState });\n }\n };\n\n private setEnableIconPadding = (isIconPaddingEnabled: boolean) => {\n !this.getProps().preventIconsOffset && this.setState({ enableIconPadding: isIconPaddingEnabled });\n };\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\nconst getAlignRightClass = (props: MenuProps) => {\n if (props.align === 'right') {\n return cx({\n [styles.alignRight()]: !isIE11,\n [styles.alignRightIE11()]: isIE11,\n [styles.alignRightIE11FixAutoWidth()]: isIE11 && props.width === 'auto',\n });\n }\n\n return null;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_identifiers","_MenuSeparator","_ThemeFactory","_getDOMRect","_decorator","_utils","_ScrollContainer","_MenuItem","_ThemeContext","_Emotion","_rootNode2","_client","_createPropsGetter","_isInstanceOf","_CommonWrapper","_Menu2","_MenuNavigation","_MenuContext","_class","_Menu","MenuDataTids","exports","root","Menu","responsiveLayout","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","highlightedIndex","maxHeight","scrollState","enableIconPadding","unmounted","contentRef","React","createRef","menuNavigation","MenuNavigation","MenuItemDataTids","content","focusOnRootElement","getRootNode","isInstanceOf","globalObject","HTMLElement","focus","renderHeader","_cx","default","createElement","className","cx","styles","wrapper","headerWrapper","ref","el","header","contentWrapper","props","menuSeparatorWrapper","theme","renderMenuSeparatorWithNoMargin","renderFooter","_cx2","footerWrapper","footer","ThemeContext","Provider","value","ThemeFactory","create","menuSeparatorMarginY","MenuSeparator","setInitialSelection","i","initialSelectedItemIndex","down","shouldRecalculateMaxHeight","prevProps","_this$props","children","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","Children","count","calculateMaxHeight","parsedMaxHeight","isBrowser","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","getDOMRect","height","setState","refScrollContainer","scrollContainer","scrollToSelected","highlightedItem","scrollTo","scrollToTop","scrollToBottom","scroll","nextIndex","items","handleKeyDown","event","onKeyDown","defaultPrevented","isKeyArrowUp","preventDefault","up","isKeyArrowDown","isKeyEnter","select","getStyle","align","maxWidth","width","minWidth","handleScrollStateChange","setEnableIconPadding","isIconPaddingEnabled","preventIconsOffset","_inheritsLoose2","_proto","prototype","componentWillUnmount","componentDidMount","componentDidUpdate","render","_this2","Consumer","renderMain","move","enter","_this$menuNavigation$","navigate","reset","hasHighlightedItem","highlightItem","index","highlightByIndex","_cx3","_cx4","isEmpty","_this$getProps","hasMargin","preventWindowScroll","offsetY","top","scrollContainerScrollBarOffsetY","right","bottom","isMobile","isMobileLayout","CommonWrapper","_extends2","rootNodeRef","setRootNode","getAlignRightClass","mobileRoot","shadow","style","id","tabIndex","ScrollContainer","onScrollStateChange","disabled","disableScrollContainer","scrollContainerMobile","MenuContext","navigation","onItemClick","step","cyclicSelection","childrenToArray","filter","isNonNullable","PureComponent","__KONTUR_REACT_UI__","displayName","ret","forEach","child","push","_cx5","alignRight","isIE11","alignRightIE11","alignRightIE11FixAutoWidth"],"sources":["Menu.tsx"],"sourcesContent":["import type { CSSProperties, HTMLAttributes } from 'react';\nimport React from 'react';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { isNonNullable } from '../../lib/utils';\nimport type { ScrollContainerScrollState } from '../../components/ScrollContainer';\nimport { ScrollContainer } from '../../components/ScrollContainer';\nimport type { MenuItem } from '../../components/MenuItem';\nimport { MenuItemDataTids } from '../../components/MenuItem';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { isIE11 } from '../../lib/client';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport type { CommonProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\n\nimport { styles } from './Menu.styles';\nimport { MenuNavigation } from './MenuNavigation';\nimport { MenuContext } from './MenuContext';\n\nexport interface MenuProps extends CommonProps, Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n children: React.ReactNode;\n hasMargin?: boolean;\n /**\n * Максимальная высота применяется только для скролл контейнера\n *\n * Высота `header` и `footer` в нее не включены\n */\n maxHeight?: number | string;\n onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n /**\n * Отключение кастомного скролла контейнера\n */\n disableScrollContainer?: boolean;\n align?: 'left' | 'right';\n /**\n * Предотвращает выравнивание текста всех пунктов меню относительно друг друга.\n * Так, если хотя бы у одного пункта меню есть иконка, текст в остальных пунктах меню будет выровнен относительно пункта меню с иконкой\n */\n preventIconsOffset?: boolean;\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n /**\n * Циклический перебор айтемов меню (по-дефолтну включен)\n */\n cyclicSelection?: boolean;\n initialSelectedItemIndex?: number;\n}\n\nexport interface MenuState {\n highlightedIndex: number; // TODO unused variable, remove in next major release\n maxHeight: number | string;\n scrollState: ScrollContainerScrollState;\n enableIconPadding: boolean;\n}\n\nexport const MenuDataTids = {\n root: 'Menu__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n MenuProps,\n | 'align'\n | 'width'\n | 'hasMargin'\n | 'maxHeight'\n | 'preventWindowScroll'\n | 'cyclicSelection'\n | 'initialSelectedItemIndex'\n >\n>;\n\n@responsiveLayout\n@rootNode\nexport class Menu extends React.PureComponent<MenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'Menu';\n public static displayName = 'Menu';\n\n public static defaultProps: DefaultProps = {\n align: 'left',\n width: 'auto',\n maxHeight: 300,\n hasMargin: true,\n preventWindowScroll: true,\n cyclicSelection: true,\n initialSelectedItemIndex: -1,\n };\n\n private getProps = createPropsGetter(Menu.defaultProps);\n\n public state: MenuState = {\n highlightedIndex: -1,\n maxHeight: this.getProps().maxHeight || 'none',\n scrollState: 'top',\n enableIconPadding: false,\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private isMobileLayout!: boolean;\n private unmounted = false;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private header: Nullable<HTMLDivElement>;\n private footer: Nullable<HTMLDivElement>;\n private contentRef = React.createRef<HTMLDivElement>();\n private menuNavigation: MenuNavigation<MenuItem> = new MenuNavigation(this.contentRef, MenuItemDataTids.content);\n\n public componentWillUnmount() {\n this.unmounted = true;\n }\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\n this.unmounted = false;\n }\n\n public componentDidUpdate(prevProps: MenuProps) {\n if (this.shouldRecalculateMaxHeight(prevProps)) {\n this.calculateMaxHeight();\n }\n\n if (prevProps.maxHeight !== this.getProps().maxHeight) {\n this.setState({\n maxHeight: this.props.maxHeight || 'none',\n });\n }\n }\n\n public focus() {\n this.focusOnRootElement();\n }\n\n private focusOnRootElement = (): void => {\n const rootNode = getRootNode(this);\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n rootNode?.focus();\n }\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 /**\n * @public\n */\n public up() {\n this.move(-1);\n }\n\n /**\n * @public\n */\n public down() {\n this.move(1);\n }\n\n /**\n * @public\n */\n public enter(event: React.SyntheticEvent<HTMLElement>) {\n this.menuNavigation.highlightedItem?.navigate();\n return this.menuNavigation.select(event);\n }\n\n /**\n * @public\n */\n public reset() {\n this.menuNavigation.reset();\n }\n\n /**\n * @public\n */\n public hasHighlightedItem() {\n return !!this.menuNavigation.highlightedItem;\n }\n\n public highlightItem(index: number) {\n this.menuNavigation.highlightByIndex(index);\n }\n\n private renderMain() {\n if (this.isEmpty()) {\n return null;\n }\n const { hasMargin, maxHeight, preventWindowScroll } = this.getProps();\n\n const offsetY = {\n top: `${this.theme.scrollContainerScrollBarOffsetY}`,\n right: 0,\n bottom: `${this.theme.scrollContainerScrollBarOffsetY}`,\n };\n\n const isMobile = this.isMobileLayout;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={MenuDataTids.root}\n className={cx(getAlignRightClass(this.props), {\n [styles.root(this.theme)]: true,\n [styles.hasMargin(this.theme)]: hasMargin,\n [styles.mobileRoot(this.theme)]: isMobile,\n [styles.shadow(this.theme)]: !isMobile,\n })}\n style={this.getStyle(this.props)}\n id={this.props.id}\n onKeyDown={this.handleKeyDown}\n tabIndex={0}\n >\n {this.props.header && this.renderHeader()}\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={maxHeight}\n preventWindowScroll={preventWindowScroll}\n onScrollStateChange={this.handleScrollStateChange}\n disabled={this.props.disableScrollContainer}\n offsetY={offsetY}\n >\n <div\n className={cx({\n [styles.scrollContainer(this.theme)]: true,\n [styles.scrollContainerMobile(this.theme)]: isMobile,\n })}\n ref={this.contentRef}\n >\n <MenuContext.Provider\n value={{\n navigation: this.menuNavigation,\n onItemClick: this.props.onItemClick,\n enableIconPadding: this.state.enableIconPadding,\n setEnableIconPadding: this.setEnableIconPadding,\n }}\n >\n {this.props.children}\n </MenuContext.Provider>\n </div>\n </ScrollContainer>\n {this.props.footer && this.renderFooter()}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderHeader = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.headerWrapper()]: true,\n })}\n ref={(el) => (this.header = el)}\n >\n <div className={styles.contentWrapper()}>{this.props.header}</div>\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'top' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n </div>\n );\n };\n\n private renderFooter = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.footerWrapper()]: true,\n })}\n ref={(el) => (this.footer = el)}\n >\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'bottom' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n <div className={styles.contentWrapper()}>{this.props.footer}</div>\n </div>\n );\n };\n\n private renderMenuSeparatorWithNoMargin = () => {\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ menuSeparatorMarginY: '0' }, this.theme)}>\n <MenuSeparator />\n </ThemeContext.Provider>\n );\n };\n\n private setInitialSelection = () => {\n for (let i = this.getProps().initialSelectedItemIndex; i > -1; i--) {\n this.down();\n }\n };\n\n private shouldRecalculateMaxHeight = (prevProps: MenuProps): boolean => {\n const { header, footer, children } = this.props;\n const maxHeight = this.getProps().maxHeight;\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.getProps().maxHeight;\n let parsedMaxHeight = maxHeight;\n const rootNode = getRootNode(this);\n\n if (typeof maxHeight === 'string' && isBrowser(globalObject) && rootNode) {\n const rootElementMaxHeight = globalObject.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 && getDOMRect(this.header).height) || 0) +\n ((this.footer && getDOMRect(this.footer).height) || 0)\n : maxHeight;\n\n this.setState({\n maxHeight: calculatedMaxHeight || 'none',\n });\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private scrollToSelected = () => {\n const highlightedItem = this.menuNavigation.highlightedItem;\n if (this.scrollContainer && highlightedItem) {\n const rootNode = getRootNode(highlightedItem);\n // TODO: Remove this check once IF-647 is resolved\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n this.scrollContainer.scrollTo(rootNode);\n }\n }\n };\n\n private scrollToTop = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToTop();\n }\n };\n\n private scrollToBottom = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToBottom();\n }\n };\n\n private scroll = (nextIndex: number) => {\n switch (nextIndex) {\n case 0:\n this.scrollToTop?.();\n break;\n case this.menuNavigation.items.length - 1:\n this.scrollToBottom?.();\n break;\n default:\n this.scrollToSelected?.();\n }\n };\n\n private move(step: number) {\n if (this.unmounted) {\n // NOTE workaround, because `ComboBox` call `process.nextTick` in reducer\n return;\n }\n const nextIndex = this.menuNavigation.move(step, this.getProps().cyclicSelection);\n this.scroll(nextIndex);\n }\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isNonNullable).length;\n }\n\n private handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\n if (typeof this.props.onKeyDown === 'function') {\n this.props.onKeyDown(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (isKeyArrowUp(event)) {\n event.preventDefault();\n this.up();\n } else if (isKeyArrowDown(event)) {\n event.preventDefault();\n this.down();\n } else if (isKeyEnter(event)) {\n this.menuNavigation.select(event);\n }\n };\n\n private getStyle = (props: MenuProps): CSSProperties => {\n if (props.align === 'right') {\n return {\n maxWidth: props.width,\n minWidth: props.width,\n maxHeight: this.state.maxHeight,\n };\n }\n\n return {\n width: props.width,\n maxHeight: this.state.maxHeight,\n };\n };\n\n private handleScrollStateChange = (scrollState: ScrollContainerScrollState) => {\n if (this.state.scrollState !== scrollState) {\n this.setState({ scrollState });\n }\n };\n\n private setEnableIconPadding = (isIconPaddingEnabled: boolean) => {\n !this.getProps().preventIconsOffset && this.setState({ enableIconPadding: isIconPaddingEnabled });\n };\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\nconst getAlignRightClass = (props: MenuProps) => {\n if (props.align === 'right') {\n return cx({\n [styles.alignRight()]: !isIE11,\n [styles.alignRightIE11()]: isIE11,\n [styles.alignRightIE11FixAutoWidth()]: isIE11 && props.width === 'auto',\n });\n }\n\n return null;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { HTMLAttributes } from 'react';
|
|
2
2
|
import React from 'react';
|
|
3
|
+
import type { TGetRootNode } from '../../lib/rootNode';
|
|
3
4
|
interface MobilePopupProps extends Pick<HTMLAttributes<HTMLDivElement>, 'id'> {
|
|
4
5
|
/**
|
|
5
6
|
* Функция, вызываемая при закрытии всплывающего окна
|
|
@@ -40,6 +41,7 @@ export declare class MobilePopup extends React.Component<MobilePopupProps> {
|
|
|
40
41
|
static displayName: string;
|
|
41
42
|
static readonly defaultRootNode: null;
|
|
42
43
|
private theme;
|
|
44
|
+
getRootNode: TGetRootNode;
|
|
43
45
|
private setRootNode;
|
|
44
46
|
render(): React.JSX.Element;
|
|
45
47
|
renderMain(): React.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactTransitionGroup","_ThemeContext","_RenderContainer","_HideBodyVerticalScroll","_ZIndex","_RenderLayer","_rootNode","_MobilePopup2","_MobilePopupHeader","_MobilePopupFooter","_class","_MobilePopup","MobilePopupDataTids","exports","root","container","MobilePopup","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","close","props","onCloseRequest","_inheritsLoose2","default","_proto","prototype","render","_this2","createElement","ThemeContext","Consumer","theme","renderMain","content","ZIndex","id","className","jsStyles","zIndex","priority","Transition","in","opened","onExited","onClose","mountOnEnter","unmountOnExit","timeout","wrapper","RenderLayer","onClickOutside","ref","setRootNode","MobilePopupHeader","caption","headerChildComponent","children","MobilePopupFooter","footerChildComponent","onClick","bottomIndent","bg","HideBodyVerticalScroll","withoutRenderContainer","RenderContainer","React","Component","__KONTUR_REACT_UI__","displayName","defaultRootNode"],"sources":["MobilePopup.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport React from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { RenderContainer } from '../RenderContainer';\nimport { HideBodyVerticalScroll } from '../HideBodyVerticalScroll';\nimport { ZIndex } from '../ZIndex';\nimport { RenderLayer } from '../RenderLayer';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\n\nimport { jsStyles } from './MobilePopup.styles';\nimport { MobilePopupHeader } from './MobilePopupHeader';\nimport { MobilePopupFooter } from './MobilePopupFooter';\n\ninterface MobilePopupProps extends Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n /**\n * Функция, вызываемая при закрытии всплывающего окна\n */\n onClose?: () => void;\n /**\n * Заголовок всплывающего окна, располагается в шапке\n */\n caption?: string;\n /**\n * Шапка всплывающего окна\n */\n headerChildComponent?: React.ReactNode;\n /**\n * Подвал всплывающего окна\n */\n footerChildComponent?: React.ReactNode;\n /**\n * Позволяет получить контент всплывающего окна без обёртки в виде `RenderContainer`\n */\n withoutRenderContainer?: boolean;\n /**\n * Функция, вызываемая при клике по вуали\n */\n onCloseRequest?: () => void;\n /**\n * Позволяет контролировать текущее состояние всплывающего окна\n */\n opened: boolean;\n children?: React.ReactNode;\n}\n\nexport const MobilePopupDataTids = {\n root: 'MobilePopup__root',\n container: 'MobilePopup__container',\n} as const;\n\n@rootNode\nexport class MobilePopup extends React.Component<MobilePopupProps> {\n public static __KONTUR_REACT_UI__ = 'MobileMenuHeader';\n public static displayName = 'MobileMenuHeader';\n\n // see #2873 and #2895\n public static readonly defaultRootNode = null;\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\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 public renderMain() {\n const content = (\n <ZIndex id={this.props.id} className={jsStyles.zIndex()} priority={'MobilePopup'}>\n <Transition in={this.props.opened} onExited={this.props.onClose} mountOnEnter unmountOnExit timeout={0}>\n <div className={jsStyles.wrapper()}>\n <RenderLayer onClickOutside={this.close}>\n <div\n ref={this.setRootNode}\n data-tid={MobilePopupDataTids.container}\n className={jsStyles.container(this.theme)}\n >\n <div data-tid={MobilePopupDataTids.root} className={jsStyles.root(this.theme)}>\n <MobilePopupHeader caption={this.props.caption}>{this.props.headerChildComponent}</MobilePopupHeader>\n <div className={jsStyles.content(this.theme)}>{this.props.children}</div>\n <MobilePopupFooter>{this.props.footerChildComponent}</MobilePopupFooter>\n </div>\n <div onClick={this.close} className={jsStyles.bottomIndent()} />\n </div>\n </RenderLayer>\n <div className={jsStyles.bg()} />\n <HideBodyVerticalScroll />\n </div>\n </Transition>\n </ZIndex>\n );\n\n if (this.props.withoutRenderContainer) {\n return content;\n }\n\n return <RenderContainer>{content}</RenderContainer>;\n }\n\n public close = () => {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n };\n}\n"],"mappings":";AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;;;AAGA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,uBAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;;AAEA,IAAAO,SAAA,GAAAP,OAAA;;AAEA,IAAAQ,aAAA,GAAAR,OAAA;AACA,IAAAS,kBAAA,GAAAT,OAAA;AACA,IAAAU,kBAAA,GAAAV,OAAA,wBAAwD,IAAAW,MAAA,EAAAC,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCjD,IAAMC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAG;EACjCE,IAAI,EAAE,mBAAmB;EACzBC,SAAS,EAAE;AACb,CAAU,CAAC;;;AAGEC,WAAW,GAAAH,OAAA,CAAAG,WAAA,OADvBC,kBAAQ,EAAAP,MAAA,IAAAC,YAAA,0BAAAO,gBAAA,YAAAF,YAAA,OAAAG,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactTransitionGroup","_ThemeContext","_RenderContainer","_HideBodyVerticalScroll","_ZIndex","_RenderLayer","_rootNode","_MobilePopup2","_MobilePopupHeader","_MobilePopupFooter","_class","_MobilePopup","MobilePopupDataTids","exports","root","container","MobilePopup","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","close","props","onCloseRequest","_inheritsLoose2","default","_proto","prototype","render","_this2","createElement","ThemeContext","Consumer","theme","renderMain","content","ZIndex","id","className","jsStyles","zIndex","priority","Transition","in","opened","onExited","onClose","mountOnEnter","unmountOnExit","timeout","wrapper","RenderLayer","onClickOutside","ref","setRootNode","MobilePopupHeader","caption","headerChildComponent","children","MobilePopupFooter","footerChildComponent","onClick","bottomIndent","bg","HideBodyVerticalScroll","withoutRenderContainer","RenderContainer","React","Component","__KONTUR_REACT_UI__","displayName","defaultRootNode"],"sources":["MobilePopup.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport React from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { RenderContainer } from '../RenderContainer';\nimport { HideBodyVerticalScroll } from '../HideBodyVerticalScroll';\nimport { ZIndex } from '../ZIndex';\nimport { RenderLayer } from '../RenderLayer';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\n\nimport { jsStyles } from './MobilePopup.styles';\nimport { MobilePopupHeader } from './MobilePopupHeader';\nimport { MobilePopupFooter } from './MobilePopupFooter';\n\ninterface MobilePopupProps extends Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n /**\n * Функция, вызываемая при закрытии всплывающего окна\n */\n onClose?: () => void;\n /**\n * Заголовок всплывающего окна, располагается в шапке\n */\n caption?: string;\n /**\n * Шапка всплывающего окна\n */\n headerChildComponent?: React.ReactNode;\n /**\n * Подвал всплывающего окна\n */\n footerChildComponent?: React.ReactNode;\n /**\n * Позволяет получить контент всплывающего окна без обёртки в виде `RenderContainer`\n */\n withoutRenderContainer?: boolean;\n /**\n * Функция, вызываемая при клике по вуали\n */\n onCloseRequest?: () => void;\n /**\n * Позволяет контролировать текущее состояние всплывающего окна\n */\n opened: boolean;\n children?: React.ReactNode;\n}\n\nexport const MobilePopupDataTids = {\n root: 'MobilePopup__root',\n container: 'MobilePopup__container',\n} as const;\n\n@rootNode\nexport class MobilePopup extends React.Component<MobilePopupProps> {\n public static __KONTUR_REACT_UI__ = 'MobileMenuHeader';\n public static displayName = 'MobileMenuHeader';\n\n // see #2873 and #2895\n public static readonly defaultRootNode = null;\n\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\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 public renderMain() {\n const content = (\n <ZIndex id={this.props.id} className={jsStyles.zIndex()} priority={'MobilePopup'}>\n <Transition in={this.props.opened} onExited={this.props.onClose} mountOnEnter unmountOnExit timeout={0}>\n <div className={jsStyles.wrapper()}>\n <RenderLayer onClickOutside={this.close}>\n <div\n ref={this.setRootNode}\n data-tid={MobilePopupDataTids.container}\n className={jsStyles.container(this.theme)}\n >\n <div data-tid={MobilePopupDataTids.root} className={jsStyles.root(this.theme)}>\n <MobilePopupHeader caption={this.props.caption}>{this.props.headerChildComponent}</MobilePopupHeader>\n <div className={jsStyles.content(this.theme)}>{this.props.children}</div>\n <MobilePopupFooter>{this.props.footerChildComponent}</MobilePopupFooter>\n </div>\n <div onClick={this.close} className={jsStyles.bottomIndent()} />\n </div>\n </RenderLayer>\n <div className={jsStyles.bg()} />\n <HideBodyVerticalScroll />\n </div>\n </Transition>\n </ZIndex>\n );\n\n if (this.props.withoutRenderContainer) {\n return content;\n }\n\n return <RenderContainer>{content}</RenderContainer>;\n }\n\n public close = () => {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
|