@skbkontur/react-ui 0.0.0-5188be76c1 → 0.0.0-53ccdcbfcc
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 +164 -16
- package/cjs/components/Button/Button.d.ts +1 -0
- package/cjs/components/Button/Button.js +18 -6
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.md +68 -0
- package/cjs/components/Button/Button.mixins.d.ts +6 -6
- package/cjs/components/Button/Button.mixins.js +54 -53
- package/cjs/components/Button/Button.mixins.js.map +1 -1
- package/cjs/components/Button/Button.styles.d.ts +2 -1
- package/cjs/components/Button/Button.styles.js +200 -161
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Button/ButtonArrow.js +1 -1
- package/cjs/components/Button/ButtonArrow.js.map +1 -1
- package/cjs/components/Button/ButtonIcon.js +1 -4
- package/cjs/components/Button/ButtonIcon.js.map +1 -1
- package/cjs/components/Button/getInnerLinkTheme.js +1 -0
- package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
- package/cjs/components/Calendar/Calendar.js +8 -6
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.js +8 -7
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Clickable/ArrowLeftIcon.d.ts +3 -0
- package/cjs/components/Clickable/ArrowLeftIcon.js +15 -0
- package/cjs/components/Clickable/ArrowLeftIcon.js.map +1 -0
- package/cjs/components/Clickable/ArrowRightIcon.d.ts +3 -0
- package/cjs/components/Clickable/ArrowRightIcon.js +15 -0
- package/cjs/components/Clickable/ArrowRightIcon.js.map +1 -0
- package/cjs/components/Clickable/Clickable.d.ts +95 -0
- package/cjs/components/Clickable/Clickable.js +248 -0
- package/cjs/components/Clickable/Clickable.js.map +1 -0
- package/cjs/components/Clickable/Clickable.md +210 -0
- package/cjs/components/Clickable/Clickable.styles.d.ts +11 -0
- package/cjs/components/Clickable/Clickable.styles.js +31 -0
- package/cjs/components/Clickable/Clickable.styles.js.map +1 -0
- package/cjs/components/Clickable/ClickableButton.d.ts +5 -0
- package/cjs/components/Clickable/ClickableButton.js +43 -0
- package/cjs/components/Clickable/ClickableButton.js.map +1 -0
- package/cjs/components/Clickable/ClickableButton.mixins.d.ts +30 -0
- package/cjs/components/Clickable/ClickableButton.mixins.js +134 -0
- package/cjs/components/Clickable/ClickableButton.mixins.js.map +1 -0
- package/cjs/components/Clickable/ClickableButton.styles.d.ts +63 -0
- package/cjs/components/Clickable/ClickableButton.styles.js +604 -0
- package/cjs/components/Clickable/ClickableButton.styles.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonArrow.d.ts +4 -0
- package/cjs/components/Clickable/ClickableButtonArrow.js +32 -0
- package/cjs/components/Clickable/ClickableButtonArrow.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonArrow.styles.d.ts +8 -0
- package/cjs/components/Clickable/ClickableButtonArrow.styles.js +40 -0
- package/cjs/components/Clickable/ClickableButtonArrow.styles.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonCaption.d.ts +2 -0
- package/cjs/components/Clickable/ClickableButtonCaption.js +57 -0
- package/cjs/components/Clickable/ClickableButtonCaption.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonCaption.styles.d.ts +5 -0
- package/cjs/components/Clickable/ClickableButtonCaption.styles.js +23 -0
- package/cjs/components/Clickable/ClickableButtonCaption.styles.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonIcon.d.ts +7 -0
- package/cjs/components/Clickable/ClickableButtonIcon.js +64 -0
- package/cjs/components/Clickable/ClickableButtonIcon.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonIcon.styles.d.ts +19 -0
- package/cjs/components/Clickable/ClickableButtonIcon.styles.js +108 -0
- package/cjs/components/Clickable/ClickableButtonIcon.styles.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonLoadingIcon.d.ts +6 -0
- package/cjs/components/Clickable/ClickableButtonLoadingIcon.js +19 -0
- package/cjs/components/Clickable/ClickableButtonLoadingIcon.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonLoadingIcon.styles.d.ts +3 -0
- package/cjs/components/Clickable/ClickableButtonLoadingIcon.styles.js +17 -0
- package/cjs/components/Clickable/ClickableButtonLoadingIcon.styles.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonOutline.d.ts +4 -0
- package/cjs/components/Clickable/ClickableButtonOutline.js +36 -0
- package/cjs/components/Clickable/ClickableButtonOutline.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonOutline.styles.d.ts +6 -0
- package/cjs/components/Clickable/ClickableButtonOutline.styles.js +25 -0
- package/cjs/components/Clickable/ClickableButtonOutline.styles.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonWrapper.d.ts +3 -0
- package/cjs/components/Clickable/ClickableButtonWrapper.js +27 -0
- package/cjs/components/Clickable/ClickableButtonWrapper.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonWrapper.styles.d.ts +7 -0
- package/cjs/components/Clickable/ClickableButtonWrapper.styles.js +27 -0
- package/cjs/components/Clickable/ClickableButtonWrapper.styles.js.map +1 -0
- package/cjs/components/Clickable/ClickableLink.d.ts +5 -0
- package/cjs/components/Clickable/ClickableLink.js +28 -0
- package/cjs/components/Clickable/ClickableLink.js.map +1 -0
- package/cjs/components/Clickable/ClickableLink.styles.d.ts +21 -0
- package/cjs/components/Clickable/ClickableLink.styles.js +134 -0
- package/cjs/components/Clickable/ClickableLink.styles.js.map +1 -0
- package/cjs/components/Clickable/ClickableLinkChild.d.ts +7 -0
- package/cjs/components/Clickable/ClickableLinkChild.js +40 -0
- package/cjs/components/Clickable/ClickableLinkChild.js.map +1 -0
- package/cjs/components/Clickable/ClickableLinkChild.styles.d.ts +7 -0
- package/cjs/components/Clickable/ClickableLinkChild.styles.js +42 -0
- package/cjs/components/Clickable/ClickableLinkChild.styles.js.map +1 -0
- package/cjs/components/Clickable/ClickableLinkIcon.d.ts +7 -0
- package/cjs/components/Clickable/ClickableLinkIcon.js +30 -0
- package/cjs/components/Clickable/ClickableLinkIcon.js.map +1 -0
- package/cjs/components/Clickable/ClickableLinkIcon.styles.d.ts +6 -0
- package/cjs/components/Clickable/ClickableLinkIcon.styles.js +20 -0
- package/cjs/components/Clickable/ClickableLinkIcon.styles.js.map +1 -0
- package/cjs/components/Clickable/index.d.ts +1 -0
- package/cjs/components/Clickable/index.js +1 -0
- package/cjs/components/Clickable/index.js.map +1 -0
- package/cjs/components/Clickable/utils.d.ts +6 -0
- package/cjs/components/Clickable/utils.js +47 -0
- package/cjs/components/Clickable/utils.js.map +1 -0
- package/cjs/components/CurrencyInput/CurrencyInput.js +3 -1
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/DateInput/DateFragmentsView.js +2 -1
- package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
- package/cjs/components/DateInput/DateInput.js +2 -1
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/helpers/SelectionHelpers.js +11 -10
- package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
- package/cjs/components/Dropdown/getDropdownTheme.js +21 -22
- package/cjs/components/Dropdown/getDropdownTheme.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.js +5 -5
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.styles.d.ts +1 -1
- package/cjs/components/FileUploader/FileUploader.styles.js +10 -2
- package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.d.ts +1 -2
- package/cjs/components/GlobalLoader/GlobalLoader.js +11 -16
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
- package/cjs/components/GlobalLoader/GlobalLoaderView.js +3 -5
- package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
- package/cjs/components/Group/Group.js +7 -5
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Group/Group.md +24 -0
- package/cjs/components/Hint/Hint.js +5 -5
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Input/Input.d.ts +22 -5
- package/cjs/components/Input/Input.js +43 -22
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.typings.d.ts +7 -0
- package/cjs/components/Input/Input.typings.js +1 -0
- package/cjs/components/Input/Input.typings.js.map +1 -0
- package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -1
- package/cjs/components/Input/InputLayout/InputLayout.styles.js +7 -2
- package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutAside.js +1 -7
- package/cjs/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
- package/cjs/components/Input/index.d.ts +1 -0
- package/cjs/components/Input/index.js +2 -1
- package/cjs/components/Input/index.js.map +1 -1
- package/cjs/components/Kebab/Kebab.js +3 -2
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.js +11 -7
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.md +69 -0
- package/cjs/components/Link/Link.styles.d.ts +1 -0
- package/cjs/components/Link/Link.styles.js +30 -22
- package/cjs/components/Link/Link.styles.js.map +1 -1
- package/cjs/components/Loader/Loader.js +8 -7
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MaskedInput/MaskedInput.d.ts +24 -0
- package/cjs/components/MaskedInput/MaskedInput.js +78 -0
- package/cjs/components/MaskedInput/MaskedInput.js.map +1 -0
- package/cjs/components/MaskedInput/MaskedInput.md +21 -0
- package/cjs/components/MaskedInput/index.js.map +1 -0
- package/cjs/components/MenuHeader/MenuHeader.js +3 -1
- package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +21 -0
- package/cjs/components/MenuItem/MenuItem.js +113 -15
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.md +20 -6
- package/cjs/components/MiniModal/MiniModal.d.ts +18 -0
- package/cjs/components/MiniModal/MiniModal.js +47 -0
- package/cjs/components/MiniModal/MiniModal.js.map +1 -0
- package/cjs/components/MiniModal/MiniModal.md +233 -0
- package/cjs/components/MiniModal/MiniModal.styles.d.ts +14 -0
- package/cjs/components/MiniModal/MiniModal.styles.js +87 -0
- package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -0
- package/cjs/components/MiniModal/MiniModalBody.d.ts +7 -0
- package/cjs/components/MiniModal/MiniModalBody.js +24 -0
- package/cjs/components/MiniModal/MiniModalBody.js.map +1 -0
- package/cjs/components/MiniModal/MiniModalFooter.d.ts +18 -0
- package/cjs/components/MiniModal/MiniModalFooter.js +60 -0
- package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -0
- package/cjs/components/MiniModal/MiniModalHeader.d.ts +17 -0
- package/cjs/components/MiniModal/MiniModalHeader.js +47 -0
- package/cjs/components/MiniModal/MiniModalHeader.js.map +1 -0
- package/cjs/components/MiniModal/MiniModalIndent.d.ts +6 -0
- package/cjs/components/MiniModal/MiniModalIndent.js +29 -0
- package/cjs/components/MiniModal/MiniModalIndent.js.map +1 -0
- package/cjs/components/MiniModal/getMiniModalTheme.d.ts +16 -0
- package/cjs/components/MiniModal/getMiniModalTheme.js +24 -0
- package/cjs/components/MiniModal/getMiniModalTheme.js.map +1 -0
- package/cjs/components/MiniModal/index.d.ts +5 -0
- package/cjs/components/MiniModal/index.js +5 -0
- package/cjs/components/MiniModal/index.js.map +1 -0
- package/cjs/components/Modal/Modal.d.ts +6 -0
- package/cjs/components/Modal/Modal.js +15 -1
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +5 -0
- package/cjs/components/Modal/Modal.styles.js +56 -39
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalClose.js +2 -1
- package/cjs/components/Modal/ModalClose.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.js +1 -1
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/Modal/ModalSeparator.d.ts +5 -0
- package/cjs/components/Modal/ModalSeparator.js +5 -0
- package/cjs/components/Modal/ModalSeparator.js.map +1 -1
- package/cjs/components/Modal/getModalTheme.d.ts +2 -2
- package/cjs/components/Modal/getModalTheme.js +6 -2
- package/cjs/components/Modal/getModalTheme.js.map +1 -1
- package/cjs/components/Paging/NavigationHelper.js +2 -1
- package/cjs/components/Paging/NavigationHelper.js.map +1 -1
- package/cjs/components/Paging/Paging.js +16 -14
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/Paging.styles.d.ts +0 -1
- package/cjs/components/Paging/Paging.styles.js +3 -9
- package/cjs/components/Paging/Paging.styles.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +4 -2
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.js +2 -1
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +5 -6
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollBar.d.ts +4 -7
- package/cjs/components/ScrollContainer/ScrollBar.js +15 -45
- package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.constants.js +1 -2
- package/cjs/components/ScrollContainer/ScrollContainer.constants.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +18 -3
- package/cjs/components/ScrollContainer/ScrollContainer.js +102 -21
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.md +29 -2
- package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
- package/cjs/components/ScrollContainer/ScrollContainer.styles.js +8 -30
- package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
- package/cjs/components/Select/Item.d.ts +1 -0
- package/cjs/components/Select/Item.js +2 -1
- package/cjs/components/Select/Item.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +2 -0
- package/cjs/components/Select/Select.js +25 -8
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.md +12 -0
- package/cjs/components/SidePage/SidePage.d.ts +3 -1
- package/cjs/components/SidePage/SidePage.js +36 -5
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePageCloseButton.js +2 -1
- package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +1 -0
- package/cjs/components/SidePage/SidePageHeader.js +8 -6
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/SingleToast/SingleToast.d.ts +11 -0
- package/cjs/components/SingleToast/SingleToast.js +20 -0
- package/cjs/components/SingleToast/SingleToast.js.map +1 -0
- package/cjs/components/SingleToast/SingleToast.md +35 -0
- package/cjs/components/SingleToast/index.d.ts +1 -0
- package/cjs/components/SingleToast/index.js +1 -0
- package/cjs/components/SingleToast/index.js.map +1 -0
- package/cjs/components/Spinner/Spinner.d.ts +1 -0
- package/cjs/components/Spinner/Spinner.js +16 -1
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Spinner/SpinnerFallbackAnimation.js +6 -2
- package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
- package/cjs/components/Sticky/Sticky.js +5 -10
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +1 -1
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Tabs/Indicator.js +3 -1
- package/cjs/components/Tabs/Indicator.js.map +1 -1
- package/cjs/components/Tabs/Tab.js +2 -1
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tabs.js +3 -1
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +1 -0
- package/cjs/components/Textarea/Textarea.js +38 -11
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.d.ts +1 -1
- package/cjs/components/Textarea/TextareaCounter.js +2 -1
- package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
- package/cjs/components/Textarea/TextareaHelpers.d.ts +1 -1
- package/cjs/components/Textarea/TextareaHelpers.js +7 -2
- package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
- package/cjs/components/Textarea/TextareaWithSafari17Workaround.d.ts +6 -0
- package/cjs/components/Textarea/TextareaWithSafari17Workaround.js +20 -0
- package/cjs/components/Textarea/TextareaWithSafari17Workaround.js.map +1 -0
- package/cjs/components/Toast/Toast.d.ts +10 -3
- package/cjs/components/Toast/Toast.js +26 -8
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/Toast.md +0 -105
- package/cjs/components/Toast/ToastStatic.js +4 -3
- package/cjs/components/Toast/ToastStatic.js.map +1 -1
- package/cjs/components/Token/Token.js +1 -6
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
- package/cjs/components/TokenInput/TokenInput.js +42 -9
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.md +71 -0
- package/cjs/components/Tooltip/Tooltip.d.ts +6 -1
- package/cjs/components/Tooltip/Tooltip.js +15 -5
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.md +24 -0
- package/cjs/hooks/useDrop.js +3 -2
- package/cjs/hooks/useDrop.js.map +1 -1
- package/cjs/index.d.ts +5 -0
- package/cjs/index.js +5 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js +2 -1
- package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
- package/cjs/internal/ComponentCombinator.d.ts +7 -8
- package/cjs/internal/ComponentCombinator.js +2 -5
- package/cjs/internal/ComponentCombinator.js.map +1 -1
- package/cjs/internal/ComponentTable.d.ts +7 -19
- package/cjs/internal/ComponentTable.js +50 -77
- package/cjs/internal/ComponentTable.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.js +4 -3
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +3 -2
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.js +20 -16
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +0 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.js +14 -13
- package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
- package/cjs/internal/DropdownContainer/getManualPosition.js +6 -4
- package/cjs/internal/DropdownContainer/getManualPosition.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +2 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/cjs/internal/FocusTrap/FocusTrap.js +8 -6
- package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +19 -20
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +3 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.js +17 -16
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/{MaskedInput/MaskedInput.d.ts → InternalMaskedInput/InternalMaskedInput.d.ts} +8 -5
- package/cjs/internal/{MaskedInput/MaskedInput.js → InternalMaskedInput/InternalMaskedInput.js} +11 -8
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +1 -0
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.js.map +1 -0
- package/cjs/internal/InternalMaskedInput/index.d.ts +1 -0
- package/cjs/internal/InternalMaskedInput/index.js +1 -0
- package/cjs/internal/InternalMaskedInput/index.js.map +1 -0
- package/cjs/internal/InternalMenu/InternalMenu.js +8 -7
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/MaskedInputElement/MaskedInputElement.d.ts +14 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.d.ts +16 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.js +52 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.js.map +1 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.js +196 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.js.map +1 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js +29 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js.map +1 -0
- package/cjs/internal/MaskedInputElement/index.d.ts +1 -0
- package/cjs/internal/MaskedInputElement/index.js +1 -0
- package/cjs/internal/MaskedInputElement/index.js.map +1 -0
- package/cjs/internal/Menu/Menu.d.ts +6 -0
- package/cjs/internal/Menu/Menu.js +84 -16
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/Menu/MenuContext.d.ts +10 -0
- package/cjs/internal/Menu/MenuContext.js +16 -0
- package/cjs/internal/Menu/MenuContext.js.map +1 -0
- package/cjs/internal/Menu/MenuNavigation.d.ts +26 -0
- package/cjs/internal/Menu/MenuNavigation.js +107 -0
- package/cjs/internal/Menu/MenuNavigation.js.map +1 -0
- package/cjs/internal/Menu/isActiveElement.js +1 -1
- package/cjs/internal/Menu/isActiveElement.js.map +1 -1
- package/cjs/internal/MenuMessage/MenuMessage.d.ts +1 -1
- package/cjs/internal/Popup/Popup.js +12 -8
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/PopupHelper.js +9 -7
- package/cjs/internal/Popup/PopupHelper.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.js +3 -2
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.d.ts +0 -1
- package/cjs/internal/RenderContainer/RenderContainer.js +18 -22
- package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.js +5 -3
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ThemePlayground/VariableValue.js +1 -0
- package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
- package/cjs/internal/ThemePlayground/constants.js +1 -0
- package/cjs/internal/ThemePlayground/constants.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.js +6 -4
- package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
- package/cjs/internal/ZIndex/ZIndex.js +2 -2
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/ZIndex/ZIndexStorage.js +2 -2
- package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
- package/cjs/internal/icons/16px/index.d.ts +19 -19
- package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/BaseIcon.d.ts +1 -1
- package/cjs/internal/icons2022/BaseIcon.js +3 -7
- package/cjs/internal/icons2022/BaseIcon.js.map +1 -1
- package/cjs/internal/icons2022/BaseIcon.styles.d.ts +3 -0
- package/cjs/internal/icons2022/BaseIcon.styles.js +14 -0
- package/cjs/internal/icons2022/BaseIcon.styles.js.map +1 -0
- package/cjs/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
- package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js +20 -0
- package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js.map +1 -0
- package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
- package/cjs/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
- package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
- package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
- package/cjs/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +67 -2
- package/cjs/internal/themes/DefaultTheme.js +134 -7
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/internal/themes/Theme2022.d.ts +22 -7
- package/cjs/internal/themes/Theme2022.js +40 -11
- package/cjs/internal/themes/Theme2022.js.map +1 -1
- package/cjs/internal/themes/Theme2022Dark.d.ts +5 -9
- package/cjs/internal/themes/Theme2022Dark.js +10 -10
- package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
- package/cjs/lib/LayoutEvents.js +5 -4
- package/cjs/lib/LayoutEvents.js.map +1 -1
- package/cjs/lib/ModalStack.js +2 -3
- package/cjs/lib/ModalStack.js.map +1 -1
- package/cjs/lib/SSRSafe.d.ts +1 -6
- package/cjs/lib/SSRSafe.js +4 -48
- package/cjs/lib/SSRSafe.js.map +1 -1
- package/cjs/lib/Upgrades.d.ts +1 -0
- package/cjs/lib/Upgrades.js +3 -1
- package/cjs/lib/Upgrades.js.map +1 -1
- package/cjs/lib/animation/index.js +6 -4
- package/cjs/lib/animation/index.js.map +1 -1
- package/cjs/lib/chars.d.ts +1 -1
- package/cjs/lib/chars.js +2 -2
- package/cjs/lib/chars.js.map +1 -1
- package/cjs/lib/client.d.ts +2 -7
- package/cjs/lib/client.js +9 -7
- package/cjs/lib/client.js.map +1 -1
- package/cjs/lib/dom/getScrollWidth.js +4 -4
- package/cjs/lib/dom/getScrollWidth.js.map +1 -1
- package/cjs/lib/dom/tabbableHelpers.d.ts +2 -1
- package/cjs/lib/dom/tabbableHelpers.js +8 -2
- package/cjs/lib/dom/tabbableHelpers.js.map +1 -1
- package/cjs/lib/events/MouseDrag.js +11 -11
- package/cjs/lib/events/MouseDrag.js.map +1 -1
- package/cjs/lib/events/fixClickFocusIE.js +6 -3
- package/cjs/lib/events/fixClickFocusIE.js.map +1 -1
- package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +5 -2
- package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
- package/cjs/lib/events/keyListener.js +9 -11
- package/cjs/lib/events/keyListener.js.map +1 -1
- package/cjs/lib/events/keyboard/identifiers.js +5 -2
- package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
- package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +185 -0
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +8 -0
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js +5 -0
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js.map +1 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +10 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +20 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
- package/cjs/lib/featureFlagsContext/index.d.ts +2 -0
- package/cjs/lib/featureFlagsContext/index.js +3 -0
- package/cjs/lib/featureFlagsContext/index.js.map +1 -0
- package/cjs/lib/forwardRefAndName.d.ts +1 -1
- package/cjs/lib/forwardRefAndName.js +4 -1
- package/cjs/lib/forwardRefAndName.js.map +1 -1
- package/cjs/lib/isInstanceOf.d.ts +1 -0
- package/cjs/lib/isInstanceOf.js +6 -0
- package/cjs/lib/isInstanceOf.js.map +1 -0
- package/cjs/lib/listenFocusOutside.js +15 -15
- package/cjs/lib/listenFocusOutside.js.map +1 -1
- package/cjs/lib/needsPolyfillPlaceholder.js +5 -3
- package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -1
- package/cjs/lib/net/fetch.js +24 -18
- package/cjs/lib/net/fetch.js.map +1 -1
- package/cjs/lib/rootNode/getRootNode.js +6 -6
- package/cjs/lib/rootNode/getRootNode.js.map +1 -1
- package/cjs/lib/styles/ColorFactory.js +13 -11
- package/cjs/lib/styles/ColorFactory.js.map +1 -1
- package/cjs/lib/styles/ColorHelpers.d.ts +1 -1
- package/cjs/lib/styles/ColorHelpers.js +3 -7
- package/cjs/lib/styles/ColorHelpers.js.map +1 -1
- package/cjs/lib/taskWithDelayAndMinimalDuration.js +5 -5
- package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/cjs/lib/theming/Emotion.js +4 -2
- package/cjs/lib/theming/Emotion.js.map +1 -1
- package/cjs/lib/utils.d.ts +7 -0
- package/cjs/lib/utils.js +29 -7
- package/cjs/lib/utils.js.map +1 -1
- package/cjs/typings/global.d.ts +3 -4
- package/cjs/typings/react-ref.d.ts +29 -0
- package/cjs/typings/utility-types.d.ts +2 -0
- package/components/Button/Button/Button.js +16 -3
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +1 -0
- package/components/Button/Button.md +68 -0
- package/components/Button/Button.mixins/Button.mixins.js +58 -13
- package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
- package/components/Button/Button.mixins.d.ts +6 -6
- package/components/Button/Button.styles/Button.styles.js +210 -24
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Button/Button.styles.d.ts +2 -1
- package/components/Button/ButtonArrow/ButtonArrow.js +1 -1
- package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
- package/components/Button/ButtonIcon/ButtonIcon.js +2 -4
- package/components/Button/ButtonIcon/ButtonIcon.js.map +1 -1
- package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +1 -0
- package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
- package/components/Calendar/Calendar/Calendar.js +8 -6
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Checkbox/Checkbox/Checkbox.js +10 -5
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Clickable/ArrowLeftIcon/ArrowLeftIcon.js +17 -0
- package/components/Clickable/ArrowLeftIcon/ArrowLeftIcon.js.map +1 -0
- package/components/Clickable/ArrowLeftIcon/package.json +6 -0
- package/components/Clickable/ArrowLeftIcon.d.ts +3 -0
- package/components/Clickable/ArrowRightIcon/ArrowRightIcon.js +17 -0
- package/components/Clickable/ArrowRightIcon/ArrowRightIcon.js.map +1 -0
- package/components/Clickable/ArrowRightIcon/package.json +6 -0
- package/components/Clickable/ArrowRightIcon.d.ts +3 -0
- package/components/Clickable/Clickable/Clickable.js +165 -0
- package/components/Clickable/Clickable/Clickable.js.map +1 -0
- package/components/Clickable/Clickable/package.json +6 -0
- package/components/Clickable/Clickable.d.ts +95 -0
- package/components/Clickable/Clickable.md +210 -0
- package/components/Clickable/Clickable.styles/Clickable.styles.js +13 -0
- package/components/Clickable/Clickable.styles/Clickable.styles.js.map +1 -0
- package/components/Clickable/Clickable.styles/package.json +6 -0
- package/components/Clickable/Clickable.styles.d.ts +11 -0
- package/components/Clickable/ClickableButton/ClickableButton.js +31 -0
- package/components/Clickable/ClickableButton/ClickableButton.js.map +1 -0
- package/components/Clickable/ClickableButton/package.json +6 -0
- package/components/Clickable/ClickableButton.d.ts +5 -0
- package/components/Clickable/ClickableButton.mixins/ClickableButton.mixins.js +81 -0
- package/components/Clickable/ClickableButton.mixins/ClickableButton.mixins.js.map +1 -0
- package/components/Clickable/ClickableButton.mixins/package.json +6 -0
- package/components/Clickable/ClickableButton.mixins.d.ts +30 -0
- package/components/Clickable/ClickableButton.styles/ClickableButton.styles.js +313 -0
- package/components/Clickable/ClickableButton.styles/ClickableButton.styles.js.map +1 -0
- package/components/Clickable/ClickableButton.styles/package.json +6 -0
- package/components/Clickable/ClickableButton.styles.d.ts +63 -0
- package/components/Clickable/ClickableButtonArrow/ClickableButtonArrow.js +21 -0
- package/components/Clickable/ClickableButtonArrow/ClickableButtonArrow.js.map +1 -0
- package/components/Clickable/ClickableButtonArrow/package.json +6 -0
- package/components/Clickable/ClickableButtonArrow.d.ts +4 -0
- package/components/Clickable/ClickableButtonArrow.styles/ClickableButtonArrow.styles.js +22 -0
- package/components/Clickable/ClickableButtonArrow.styles/ClickableButtonArrow.styles.js.map +1 -0
- package/components/Clickable/ClickableButtonArrow.styles/package.json +6 -0
- package/components/Clickable/ClickableButtonArrow.styles.d.ts +8 -0
- package/components/Clickable/ClickableButtonCaption/ClickableButtonCaption.js +37 -0
- package/components/Clickable/ClickableButtonCaption/ClickableButtonCaption.js.map +1 -0
- package/components/Clickable/ClickableButtonCaption/package.json +6 -0
- package/components/Clickable/ClickableButtonCaption.d.ts +2 -0
- package/components/Clickable/ClickableButtonCaption.styles/ClickableButtonCaption.styles.js +16 -0
- package/components/Clickable/ClickableButtonCaption.styles/ClickableButtonCaption.styles.js.map +1 -0
- package/components/Clickable/ClickableButtonCaption.styles/package.json +6 -0
- package/components/Clickable/ClickableButtonCaption.styles.d.ts +5 -0
- package/components/Clickable/ClickableButtonIcon/ClickableButtonIcon.js +51 -0
- package/components/Clickable/ClickableButtonIcon/ClickableButtonIcon.js.map +1 -0
- package/components/Clickable/ClickableButtonIcon/package.json +6 -0
- package/components/Clickable/ClickableButtonIcon.d.ts +7 -0
- package/components/Clickable/ClickableButtonIcon.styles/ClickableButtonIcon.styles.js +58 -0
- package/components/Clickable/ClickableButtonIcon.styles/ClickableButtonIcon.styles.js.map +1 -0
- package/components/Clickable/ClickableButtonIcon.styles/package.json +6 -0
- package/components/Clickable/ClickableButtonIcon.styles.d.ts +19 -0
- package/components/Clickable/ClickableButtonLoadingIcon/ClickableButtonLoadingIcon.js +18 -0
- package/components/Clickable/ClickableButtonLoadingIcon/ClickableButtonLoadingIcon.js.map +1 -0
- package/components/Clickable/ClickableButtonLoadingIcon/package.json +6 -0
- package/components/Clickable/ClickableButtonLoadingIcon.d.ts +6 -0
- package/components/Clickable/ClickableButtonLoadingIcon.styles/ClickableButtonLoadingIcon.styles.js +10 -0
- package/components/Clickable/ClickableButtonLoadingIcon.styles/ClickableButtonLoadingIcon.styles.js.map +1 -0
- package/components/Clickable/ClickableButtonLoadingIcon.styles/package.json +6 -0
- package/components/Clickable/ClickableButtonLoadingIcon.styles.d.ts +3 -0
- package/components/Clickable/ClickableButtonOutline/ClickableButtonOutline.js +22 -0
- package/components/Clickable/ClickableButtonOutline/ClickableButtonOutline.js.map +1 -0
- package/components/Clickable/ClickableButtonOutline/package.json +6 -0
- package/components/Clickable/ClickableButtonOutline.d.ts +4 -0
- package/components/Clickable/ClickableButtonOutline.styles/ClickableButtonOutline.styles.js +16 -0
- package/components/Clickable/ClickableButtonOutline.styles/ClickableButtonOutline.styles.js.map +1 -0
- package/components/Clickable/ClickableButtonOutline.styles/package.json +6 -0
- package/components/Clickable/ClickableButtonOutline.styles.d.ts +6 -0
- package/components/Clickable/ClickableButtonWrapper/ClickableButtonWrapper.js +18 -0
- package/components/Clickable/ClickableButtonWrapper/ClickableButtonWrapper.js.map +1 -0
- package/components/Clickable/ClickableButtonWrapper/package.json +6 -0
- package/components/Clickable/ClickableButtonWrapper.d.ts +3 -0
- package/components/Clickable/ClickableButtonWrapper.styles/ClickableButtonWrapper.styles.js +19 -0
- package/components/Clickable/ClickableButtonWrapper.styles/ClickableButtonWrapper.styles.js.map +1 -0
- package/components/Clickable/ClickableButtonWrapper.styles/package.json +6 -0
- package/components/Clickable/ClickableButtonWrapper.styles.d.ts +7 -0
- package/components/Clickable/ClickableLink/ClickableLink.js +24 -0
- package/components/Clickable/ClickableLink/ClickableLink.js.map +1 -0
- package/components/Clickable/ClickableLink/package.json +6 -0
- package/components/Clickable/ClickableLink.d.ts +5 -0
- package/components/Clickable/ClickableLink.styles/ClickableLink.styles.js +52 -0
- package/components/Clickable/ClickableLink.styles/ClickableLink.styles.js.map +1 -0
- package/components/Clickable/ClickableLink.styles/package.json +6 -0
- package/components/Clickable/ClickableLink.styles.d.ts +21 -0
- package/components/Clickable/ClickableLinkChild/ClickableLinkChild.js +20 -0
- package/components/Clickable/ClickableLinkChild/ClickableLinkChild.js.map +1 -0
- package/components/Clickable/ClickableLinkChild/package.json +6 -0
- package/components/Clickable/ClickableLinkChild.d.ts +7 -0
- package/components/Clickable/ClickableLinkChild.styles/ClickableLinkChild.styles.js +24 -0
- package/components/Clickable/ClickableLinkChild.styles/ClickableLinkChild.styles.js.map +1 -0
- package/components/Clickable/ClickableLinkChild.styles/package.json +6 -0
- package/components/Clickable/ClickableLinkChild.styles.d.ts +7 -0
- package/components/Clickable/ClickableLinkIcon/ClickableLinkIcon.js +21 -0
- package/components/Clickable/ClickableLinkIcon/ClickableLinkIcon.js.map +1 -0
- package/components/Clickable/ClickableLinkIcon/package.json +6 -0
- package/components/Clickable/ClickableLinkIcon.d.ts +7 -0
- package/components/Clickable/ClickableLinkIcon.styles/ClickableLinkIcon.styles.js +16 -0
- package/components/Clickable/ClickableLinkIcon.styles/ClickableLinkIcon.styles.js.map +1 -0
- package/components/Clickable/ClickableLinkIcon.styles/package.json +6 -0
- package/components/Clickable/ClickableLinkIcon.styles.d.ts +6 -0
- package/components/Clickable/index/index.js +1 -0
- package/components/Clickable/index/index.js.map +1 -0
- package/{internal/MaskedInput → components/Clickable}/index/package.json +1 -1
- package/components/Clickable/index.d.ts +1 -0
- package/{internal/MaskedInput → components/Clickable}/package.json +1 -1
- package/components/Clickable/utils/package.json +6 -0
- package/components/Clickable/utils/utils.js +44 -0
- package/components/Clickable/utils/utils.js.map +1 -0
- package/components/Clickable/utils.d.ts +6 -0
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +3 -1
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/DateInput/DateFragmentsView/DateFragmentsView.js +4 -1
- package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
- package/components/DateInput/DateInput/DateInput.js +2 -1
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +10 -10
- package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
- package/components/Dropdown/getDropdownTheme/getDropdownTheme.js +21 -22
- package/components/Dropdown/getDropdownTheme/getDropdownTheme.js.map +1 -1
- package/components/FileUploader/FileUploader/FileUploader.js +5 -5
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +2 -2
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
- package/components/FileUploader/FileUploader.styles.d.ts +1 -1
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +30 -34
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader.d.ts +1 -2
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +2 -3
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
- package/components/Group/Group/Group.js +9 -10
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.md +24 -0
- package/components/Hint/Hint/Hint.js +6 -7
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Input/Input/Input.js +28 -16
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +22 -5
- package/components/Input/Input.typings/Input.typings.js +1 -0
- package/components/Input/Input.typings/Input.typings.js.map +1 -0
- package/components/Input/Input.typings/package.json +6 -0
- package/components/Input/Input.typings.d.ts +7 -0
- package/components/Input/InputLayout/InputLayout.d.ts +1 -1
- package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -1
- package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js +1 -2
- package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js.map +1 -1
- package/components/Input/index/index.js +2 -1
- package/components/Input/index/index.js.map +1 -1
- package/components/Input/index.d.ts +1 -0
- package/components/Kebab/Kebab/Kebab.js +3 -2
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Link/Link/Link.js +5 -4
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.md +69 -0
- package/components/Link/Link.styles/Link.styles.js +25 -22
- package/components/Link/Link.styles/Link.styles.js.map +1 -1
- package/components/Link/Link.styles.d.ts +1 -0
- package/components/Loader/Loader/Loader.js +9 -6
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/MaskedInput/MaskedInput/MaskedInput.js +62 -0
- package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -0
- package/{internal → components}/MaskedInput/MaskedInput/package.json +1 -1
- package/components/MaskedInput/MaskedInput.d.ts +24 -0
- package/components/MaskedInput/MaskedInput.md +21 -0
- package/components/MaskedInput/index/index.js.map +1 -0
- package/components/MaskedInput/index/package.json +6 -0
- package/components/MaskedInput/package.json +6 -0
- package/components/MenuHeader/MenuHeader/MenuHeader.js +3 -1
- package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
- package/components/MenuItem/MenuItem/MenuItem.js +129 -19
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +21 -0
- package/components/MenuItem/MenuItem.md +20 -6
- package/components/MiniModal/MiniModal/MiniModal.js +38 -0
- package/components/MiniModal/MiniModal/MiniModal.js.map +1 -0
- package/components/MiniModal/MiniModal/package.json +6 -0
- package/components/MiniModal/MiniModal.d.ts +18 -0
- package/components/MiniModal/MiniModal.md +233 -0
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +41 -0
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -0
- package/components/MiniModal/MiniModal.styles/package.json +6 -0
- package/components/MiniModal/MiniModal.styles.d.ts +14 -0
- package/components/MiniModal/MiniModalBody/MiniModalBody.js +23 -0
- package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -0
- package/components/MiniModal/MiniModalBody/package.json +6 -0
- package/components/MiniModal/MiniModalBody.d.ts +7 -0
- package/components/MiniModal/MiniModalFooter/MiniModalFooter.js +35 -0
- package/components/MiniModal/MiniModalFooter/MiniModalFooter.js.map +1 -0
- package/components/MiniModal/MiniModalFooter/package.json +6 -0
- package/components/MiniModal/MiniModalFooter.d.ts +18 -0
- package/components/MiniModal/MiniModalHeader/MiniModalHeader.js +33 -0
- package/components/MiniModal/MiniModalHeader/MiniModalHeader.js.map +1 -0
- package/components/MiniModal/MiniModalHeader/package.json +6 -0
- package/components/MiniModal/MiniModalHeader.d.ts +17 -0
- package/components/MiniModal/MiniModalIndent/MiniModalIndent.js +27 -0
- package/components/MiniModal/MiniModalIndent/MiniModalIndent.js.map +1 -0
- package/components/MiniModal/MiniModalIndent/package.json +6 -0
- package/components/MiniModal/MiniModalIndent.d.ts +6 -0
- package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js +23 -0
- package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js.map +1 -0
- package/components/MiniModal/getMiniModalTheme/package.json +6 -0
- package/components/MiniModal/getMiniModalTheme.d.ts +16 -0
- package/components/MiniModal/index/index.js +5 -0
- package/components/MiniModal/index/index.js.map +1 -0
- package/components/MiniModal/index/package.json +6 -0
- package/components/MiniModal/index.d.ts +5 -0
- package/components/MiniModal/package.json +6 -0
- package/components/Modal/Modal/Modal.js +18 -14
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.d.ts +6 -0
- package/components/Modal/Modal.styles/Modal.styles.js +44 -37
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +5 -0
- package/components/Modal/ModalClose/ModalClose.js +2 -1
- package/components/Modal/ModalClose/ModalClose.js.map +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/Modal/ModalSeparator/ModalSeparator.js +6 -0
- package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
- package/components/Modal/ModalSeparator.d.ts +5 -0
- package/components/Modal/getModalTheme/getModalTheme.js +8 -3
- package/components/Modal/getModalTheme/getModalTheme.js.map +1 -1
- package/components/Modal/getModalTheme.d.ts +2 -2
- package/components/Paging/NavigationHelper/NavigationHelper.js +2 -1
- package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
- package/components/Paging/Paging/Paging.js +16 -10
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.styles/Paging.styles.js +2 -5
- package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
- package/components/Paging/Paging.styles.d.ts +0 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +4 -2
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/Radio/Radio/Radio.js +2 -1
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +5 -6
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
- package/components/ScrollContainer/ScrollBar/ScrollBar.js +17 -50
- package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
- package/components/ScrollContainer/ScrollBar.d.ts +4 -7
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +109 -22
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +1 -2
- package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +18 -3
- package/components/ScrollContainer/ScrollContainer.md +29 -2
- package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +6 -18
- package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
- package/components/Select/Item/Item.js +3 -1
- package/components/Select/Item/Item.js.map +1 -1
- package/components/Select/Item.d.ts +1 -0
- package/components/Select/Select/Select.js +23 -16
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +2 -0
- package/components/Select/Select.md +12 -0
- package/components/SidePage/SidePage/SidePage.js +34 -9
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +3 -1
- package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +2 -1
- package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js +6 -4
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +1 -0
- package/components/SingleToast/SingleToast/SingleToast.js +53 -0
- package/components/SingleToast/SingleToast/SingleToast.js.map +1 -0
- package/components/SingleToast/SingleToast/package.json +6 -0
- package/components/SingleToast/SingleToast.d.ts +11 -0
- package/components/SingleToast/SingleToast.md +35 -0
- package/components/SingleToast/index/index.js +1 -0
- package/components/SingleToast/index/index.js.map +1 -0
- package/components/SingleToast/index/package.json +6 -0
- package/components/SingleToast/index.d.ts +1 -0
- package/components/SingleToast/package.json +6 -0
- package/components/Spinner/Spinner/Spinner.js +10 -4
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +1 -0
- package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +5 -2
- package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
- package/components/Sticky/Sticky/Sticky.js +5 -6
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +1 -1
- package/components/Tabs/Indicator/Indicator.js +3 -1
- package/components/Tabs/Indicator/Indicator.js.map +1 -1
- package/components/Tabs/Tab/Tab.js +2 -1
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tabs/Tabs.js +3 -1
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Textarea/Textarea/Textarea.js +33 -19
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +1 -0
- package/components/Textarea/TextareaCounter/TextareaCounter.js +2 -3
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Textarea/TextareaCounter.d.ts +1 -1
- package/components/Textarea/TextareaHelpers/TextareaHelpers.js +6 -1
- package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
- package/components/Textarea/TextareaHelpers.d.ts +1 -1
- package/components/Textarea/TextareaWithSafari17Workaround/TextareaWithSafari17Workaround.js +21 -0
- package/components/Textarea/TextareaWithSafari17Workaround/TextareaWithSafari17Workaround.js.map +1 -0
- package/components/Textarea/TextareaWithSafari17Workaround/package.json +6 -0
- package/components/Textarea/TextareaWithSafari17Workaround.d.ts +6 -0
- package/components/Toast/Toast/Toast.js +16 -7
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +10 -3
- package/components/Toast/Toast.md +0 -105
- package/components/Toast/ToastStatic/ToastStatic.js +4 -4
- package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
- package/components/Token/Token/Token.js +4 -3
- package/components/Token/Token/Token.js.map +1 -1
- package/components/TokenInput/TokenInput/TokenInput.js +51 -11
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +2 -0
- package/components/TokenInput/TokenInput.md +71 -0
- package/components/Tooltip/Tooltip/Tooltip.js +10 -7
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +6 -1
- package/components/Tooltip/Tooltip.md +24 -0
- package/hooks/useDrop/useDrop.js +3 -2
- package/hooks/useDrop/useDrop.js.map +1 -1
- package/index.d.ts +5 -0
- package/index.js +5 -0
- package/index.js.map +1 -1
- package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js +2 -1
- package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
- package/internal/ComponentCombinator/ComponentCombinator.js +4 -8
- package/internal/ComponentCombinator/ComponentCombinator.js.map +1 -1
- package/internal/ComponentCombinator.d.ts +7 -8
- package/internal/ComponentTable/ComponentTable.js +66 -103
- package/internal/ComponentTable/ComponentTable.js.map +1 -1
- package/internal/ComponentTable.d.ts +7 -19
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +4 -3
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +3 -2
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
- package/internal/DateSelect/DateSelect/DateSelect.js +20 -20
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +19 -17
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
- package/internal/DropdownContainer/DropdownContainer.d.ts +0 -1
- package/internal/DropdownContainer/getManualPosition/getManualPosition.js +4 -3
- package/internal/DropdownContainer/getManualPosition/getManualPosition.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +2 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -1
- package/internal/FocusTrap/FocusTrap/FocusTrap.js +9 -3
- package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +25 -26
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +3 -1
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +29 -19
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/{MaskedInput/MaskedInput/MaskedInput.js → InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js} +13 -9
- package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +1 -0
- package/internal/InternalMaskedInput/InternalMaskedInput/package.json +6 -0
- package/internal/{MaskedInput/MaskedInput.d.ts → InternalMaskedInput/InternalMaskedInput.d.ts} +8 -5
- package/{cjs/internal/MaskedInput/MaskedInput.styles.js.map → internal/InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js.map} +1 -1
- package/internal/InternalMaskedInput/InternalMaskedInput.styles/package.json +6 -0
- package/internal/InternalMaskedInput/InternalMaskedInput.styles.d.ts +6 -0
- package/internal/InternalMaskedInput/index/index.js +1 -0
- package/internal/InternalMaskedInput/index/index.js.map +1 -0
- package/internal/InternalMaskedInput/index/package.json +6 -0
- package/internal/InternalMaskedInput/index.d.ts +1 -0
- package/internal/InternalMaskedInput/package.json +6 -0
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +10 -9
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/MaskedInputElement/MaskedInputElement/MaskedInputElement.js +206 -0
- package/internal/MaskedInputElement/MaskedInputElement/MaskedInputElement.js.map +1 -0
- package/internal/MaskedInputElement/MaskedInputElement/package.json +6 -0
- package/internal/MaskedInputElement/MaskedInputElement.d.ts +14 -0
- package/internal/MaskedInputElement/MaskedInputElement.helpers/MaskedInputElement.helpers.js +43 -0
- package/internal/MaskedInputElement/MaskedInputElement.helpers/MaskedInputElement.helpers.js.map +1 -0
- package/internal/MaskedInputElement/MaskedInputElement.helpers/package.json +6 -0
- package/internal/MaskedInputElement/MaskedInputElement.helpers.d.ts +16 -0
- package/internal/MaskedInputElement/MaskedInputElement.styles/MaskedInputElement.styles.js +16 -0
- package/internal/MaskedInputElement/MaskedInputElement.styles/MaskedInputElement.styles.js.map +1 -0
- package/internal/MaskedInputElement/MaskedInputElement.styles/package.json +6 -0
- package/internal/MaskedInputElement/MaskedInputElement.styles.d.ts +6 -0
- package/internal/MaskedInputElement/index/index.js +1 -0
- package/internal/MaskedInputElement/index/index.js.map +1 -0
- package/internal/MaskedInputElement/index/package.json +6 -0
- package/internal/MaskedInputElement/index.d.ts +1 -0
- package/internal/MaskedInputElement/package.json +6 -0
- package/internal/Menu/Menu/Menu.js +144 -62
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.d.ts +6 -0
- package/internal/Menu/MenuContext/MenuContext.js +5 -0
- package/internal/Menu/MenuContext/MenuContext.js.map +1 -0
- package/internal/Menu/MenuContext/package.json +6 -0
- package/internal/Menu/MenuContext.d.ts +10 -0
- package/internal/Menu/MenuNavigation/MenuNavigation.js +123 -0
- package/internal/Menu/MenuNavigation/MenuNavigation.js.map +1 -0
- package/internal/Menu/MenuNavigation/package.json +6 -0
- package/internal/Menu/MenuNavigation.d.ts +26 -0
- package/internal/Menu/isActiveElement/isActiveElement.js +1 -1
- package/internal/Menu/isActiveElement/isActiveElement.js.map +1 -1
- package/internal/MenuMessage/MenuMessage.d.ts +1 -1
- package/internal/Popup/Popup/Popup.js +12 -13
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/PopupHelper/PopupHelper.js +8 -5
- package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -2
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/RenderContainer/RenderContainer/RenderContainer.js +26 -16
- package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/RenderContainer/RenderContainer.d.ts +0 -1
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +11 -5
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
- package/internal/ThemePlayground/constants/constants.js +3 -0
- package/internal/ThemePlayground/constants/constants.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +5 -2
- package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js +2 -2
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +2 -2
- package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
- package/internal/icons/16px/index.d.ts +19 -19
- package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
- package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
- package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
- package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
- package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
- package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
- package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
- package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
- package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
- package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
- package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
- package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
- package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
- package/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
- package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
- package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
- package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
- package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
- package/internal/icons2022/BaseIcon/BaseIcon.js +3 -6
- package/internal/icons2022/BaseIcon/BaseIcon.js.map +1 -1
- package/internal/icons2022/BaseIcon.d.ts +1 -1
- package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js +11 -0
- package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js.map +1 -0
- package/internal/icons2022/BaseIcon.styles/package.json +6 -0
- package/internal/icons2022/BaseIcon.styles.d.ts +3 -0
- package/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
- package/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
- package/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
- package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
- package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
- package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
- package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
- package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
- package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
- package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js +18 -0
- package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js.map +1 -0
- package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/package.json +6 -0
- package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
- package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
- package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
- package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
- package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
- package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
- package/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
- package/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
- package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
- package/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
- package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
- package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
- package/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
- package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
- package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
- package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
- package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
- package/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
- package/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
- package/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
- package/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
- package/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js +178 -6
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +67 -2
- package/internal/themes/Theme2022/Theme2022.js +62 -15
- package/internal/themes/Theme2022/Theme2022.js.map +1 -1
- package/internal/themes/Theme2022.d.ts +22 -7
- package/internal/themes/Theme2022Dark/Theme2022Dark.js +18 -13
- package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
- package/internal/themes/Theme2022Dark.d.ts +5 -9
- package/lib/LayoutEvents/LayoutEvents.js +5 -4
- package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
- package/lib/ModalStack/ModalStack.js +2 -2
- package/lib/ModalStack/ModalStack.js.map +1 -1
- package/lib/SSRSafe/SSRSafe.js +3 -35
- package/lib/SSRSafe/SSRSafe.js.map +1 -1
- package/lib/SSRSafe.d.ts +1 -6
- package/lib/Upgrades/Upgrades.js +3 -1
- package/lib/Upgrades/Upgrades.js.map +1 -1
- package/lib/Upgrades.d.ts +1 -0
- package/lib/animation/index/index.js +6 -3
- package/lib/animation/index/index.js.map +1 -1
- package/lib/chars/chars.js +1 -1
- package/lib/chars/chars.js.map +1 -1
- package/lib/chars.d.ts +1 -1
- package/lib/client/client.js +9 -7
- package/lib/client/client.js.map +1 -1
- package/lib/client.d.ts +2 -7
- package/lib/dom/getScrollWidth/getScrollWidth.js +4 -5
- package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
- package/lib/dom/tabbableHelpers/tabbableHelpers.js +4 -2
- package/lib/dom/tabbableHelpers/tabbableHelpers.js.map +1 -1
- package/lib/dom/tabbableHelpers.d.ts +2 -1
- package/lib/events/MouseDrag/MouseDrag.js +15 -11
- package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
- package/lib/events/fixClickFocusIE/fixClickFocusIE.js +4 -2
- package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +1 -1
- package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +7 -2
- package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -1
- package/lib/events/keyListener/keyListener.js +9 -12
- package/lib/events/keyListener/keyListener.js.map +1 -1
- package/lib/events/keyboard/identifiers/identifiers.js +3 -1
- package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
- package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +185 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js +5 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js.map +1 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers/package.json +6 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +8 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +10 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/package.json +6 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +10 -0
- package/lib/featureFlagsContext/index/index.js +2 -0
- package/lib/featureFlagsContext/index/index.js.map +1 -0
- package/lib/featureFlagsContext/index/package.json +6 -0
- package/lib/featureFlagsContext/index.d.ts +2 -0
- package/lib/featureFlagsContext/package.json +6 -0
- package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
- package/lib/forwardRefAndName.d.ts +1 -1
- package/lib/isInstanceOf/isInstanceOf.js +3 -0
- package/lib/isInstanceOf/isInstanceOf.js.map +1 -0
- package/lib/isInstanceOf/package.json +6 -0
- package/lib/isInstanceOf.d.ts +1 -0
- package/lib/listenFocusOutside/listenFocusOutside.js +19 -10
- package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
- package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +4 -3
- package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -1
- package/lib/net/fetch/fetch.js +29 -21
- package/lib/net/fetch/fetch.js.map +1 -1
- package/lib/rootNode/getRootNode/getRootNode.js +6 -6
- package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
- package/lib/styles/ColorFactory/ColorFactory.js +13 -9
- package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
- package/lib/styles/ColorHelpers/ColorHelpers.js +3 -7
- package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
- package/lib/styles/ColorHelpers.d.ts +1 -1
- package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +5 -4
- package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/lib/theming/Emotion/Emotion.js +6 -1
- package/lib/theming/Emotion/Emotion.js.map +1 -1
- package/lib/utils/utils.js +31 -6
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +7 -0
- package/package.json +4 -4
- package/typings/global.d.ts +3 -4
- package/typings/react-ref.d.ts +29 -0
- package/typings/utility-types.d.ts +2 -0
- package/cjs/internal/MaskedInput/MaskedInput.js.map +0 -1
- package/cjs/internal/MaskedInput/index.js.map +0 -1
- package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +0 -1
- package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js.map +0 -1
- package/internal/MaskedInput/MaskedInput.styles/package.json +0 -6
- package/internal/MaskedInput/index/index.js.map +0 -1
- /package/cjs/{internal → components}/MaskedInput/index.d.ts +0 -0
- /package/cjs/{internal → components}/MaskedInput/index.js +0 -0
- /package/cjs/internal/{MaskedInput/MaskedInput.styles.d.ts → InternalMaskedInput/InternalMaskedInput.styles.d.ts} +0 -0
- /package/cjs/internal/{MaskedInput/MaskedInput.styles.js → InternalMaskedInput/InternalMaskedInput.styles.js} +0 -0
- /package/{internal/MaskedInput/MaskedInput.styles.d.ts → cjs/internal/MaskedInputElement/MaskedInputElement.styles.d.ts} +0 -0
- /package/{internal → components}/MaskedInput/index/index.js +0 -0
- /package/{internal → components}/MaskedInput/index.d.ts +0 -0
- /package/internal/{MaskedInput/MaskedInput.styles/MaskedInput.styles.js → InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Menu.tsx"],"names":["MenuDataTids","root","Menu","responsiveLayout","rootNode","getProps","defaultProps","state","highlightedIndex","maxHeight","scrollState","unmounted","focusOnRootElement","focus","renderHeader","styles","wrapper","headerWrapper","el","header","contentWrapper","props","menuSeparatorWrapper","theme","renderMenuSeparatorWithNoMargin","renderFooter","footerWrapper","footer","ThemeFactory","create","menuSeparatorMarginY","getChildList","enableIconPadding","children","preventIconsOffset","React","Children","map","child","index","modifiedChild","highlight","ref","refHighlighted","bind","cloneElement","onClick","select","onMouseEnter","onMouseLeave","unhighlight","setInitialSelection","i","initialSelectedItemIndex","down","shouldRecalculateMaxHeight","prevProps","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","count","calculateMaxHeight","parsedMaxHeight","window","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","height","setState","refScrollContainer","scrollContainer","scrollToSelected","highlighted","HTMLElement","scrollTo","scrollToTop","scrollToBottom","handleKeyDown","event","onKeyDown","defaultPrevented","preventDefault","up","getStyle","align","maxWidth","width","minWidth","handleScrollStateChange","componentWillUnmount","componentDidMount","componentDidUpdate","render","renderMain","move","enter","reset","hasHighlightedItem","highlightItem","isEmpty","hasShadow","preventWindowScroll","offsetY","top","scrollContainerScrollBarOffsetY","right","bottom","isMobile","isMobileLayout","getAlignRightClass","mobileRoot","shadow","id","setRootNode","disableScrollContainer","scrollContainerMobile","originalRef","menuItem","shouldHandleHref","item","childrenToArray","href","target","open","location","onItemClick","step","activeElements","filter","isActiveElement","length","cyclicSelection","indexOf","isNonNullable","PureComponent","__KONTUR_REACT_UI__","ret","forEach","push","alignRight","isIE11","alignRightIE11","alignRightIE11FixAutoWidth"],"mappings":"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","sourcesContent":["import React, { CSSProperties, HTMLAttributes } from 'react';\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 { isHTMLElement } from '../../lib/SSRSafe';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { isNonNullable, isNullable } from '../../lib/utils';\nimport { ScrollContainer, ScrollContainerScrollState } from '../../components/ScrollContainer';\nimport { MenuItem, MenuItemProps } from '../../components/MenuItem';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { addIconPaddingIfPartOfMenu } from '../InternalMenu/addIconPaddingIfPartOfMenu';\nimport { isIE11 } from '../../lib/client';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { isIconPaddingEnabled } from '../InternalMenu/isIconPaddingEnabled';\n\nimport { styles } from './Menu.styles';\nimport { isActiveElement } from './isActiveElement';\n\nexport interface MenuProps extends Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n children: React.ReactNode;\n hasShadow?: 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;\n maxHeight: number | string;\n scrollState: ScrollContainerScrollState;\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 | 'maxHeight'\n | 'hasShadow'\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\n public static defaultProps: DefaultProps = {\n align: 'left',\n width: 'auto',\n maxHeight: 300,\n hasShadow: 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 };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private isMobileLayout!: boolean;\n private highlighted: Nullable<MenuItem>;\n private unmounted = false;\n private setRootNode!: TSetRootNode;\n private header: Nullable<HTMLDivElement>;\n private footer: Nullable<HTMLDivElement>;\n\n public componentWillUnmount() {\n this.unmounted = true;\n }\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\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 (isHTMLElement(rootNode)) {\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 return this.select(this.state.highlightedIndex, true, event);\n }\n\n /**\n * @public\n */\n public reset() {\n this.setState({ highlightedIndex: -1 });\n }\n\n /**\n * @public\n */\n public hasHighlightedItem() {\n return this.state.highlightedIndex !== -1;\n }\n\n public highlightItem(index: number) {\n this.highlight(index);\n }\n\n private renderMain() {\n if (this.isEmpty()) {\n return null;\n }\n const { hasShadow, maxHeight, preventWindowScroll } = this.getProps();\n\n const offsetY = isTheme2022(this.theme)\n ? {\n top: `${this.theme.scrollContainerScrollBarOffsetY}`,\n right: 0,\n bottom: `${this.theme.scrollContainerScrollBarOffsetY}`,\n }\n : {};\n\n const isMobile = this.isMobileLayout;\n return (\n <div\n data-tid={MenuDataTids.root}\n className={cx(getAlignRightClass(this.props), {\n [styles.root(this.theme)]: true,\n [styles.mobileRoot(this.theme)]: isMobile,\n [styles.shadow(this.theme)]: hasShadow && !isMobile,\n })}\n style={this.getStyle(this.props)}\n id={this.props.id}\n onKeyDown={this.handleKeyDown}\n ref={this.setRootNode}\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 >\n {this.getChildList()}\n </div>\n </ScrollContainer>\n {this.props.footer && this.renderFooter()}\n </div>\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 getChildList = () => {\n const enableIconPadding = isIconPaddingEnabled(this.props.children, this.props.preventIconsOffset);\n\n return React.Children.map(this.props.children, (child, index) => {\n if (typeof child === 'string' || typeof child === 'number' || isNullable(child)) {\n return child;\n }\n\n const modifiedChild = addIconPaddingIfPartOfMenu(child, enableIconPadding);\n\n if (isActiveElement(modifiedChild)) {\n const highlight = this.state.highlightedIndex === index;\n\n let ref = modifiedChild.ref;\n if (highlight && typeof modifiedChild.ref !== 'string') {\n ref = this.refHighlighted.bind(this, modifiedChild.ref);\n }\n\n return React.cloneElement<MenuItemProps, MenuItem>(modifiedChild, {\n ref,\n state: highlight ? 'hover' : modifiedChild.props.state,\n onClick: this.select.bind(this, index, false),\n onMouseEnter: this.highlight.bind(this, index),\n onMouseLeave: this.unhighlight,\n });\n }\n\n return modifiedChild;\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' && typeof window !== 'undefined' && rootNode) {\n const rootElementMaxHeight = window.getComputedStyle(rootNode).maxHeight;\n\n if (rootElementMaxHeight) {\n parsedMaxHeight = parseFloat(rootElementMaxHeight);\n }\n }\n\n const calculatedMaxHeight =\n typeof parsedMaxHeight === 'number'\n ? parsedMaxHeight +\n ((this.header && 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 refHighlighted(\n originalRef: ((menuItem: MenuItem | null) => any) | React.RefObject<MenuItem> | null | undefined,\n menuItem: MenuItem | null,\n ) {\n this.highlighted = menuItem;\n\n if (typeof originalRef === 'function') {\n originalRef(menuItem);\n }\n }\n\n private scrollToSelected = () => {\n if (this.scrollContainer && this.highlighted) {\n const rootNode = getRootNode(this.highlighted);\n // TODO: Remove this check once IF-647 is resolved\n if (rootNode instanceof 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 select(index: number, shouldHandleHref: boolean, event: React.SyntheticEvent<HTMLElement>): boolean {\n const item = childrenToArray(this.props.children)[index];\n if (isActiveElement(item)) {\n if (shouldHandleHref && item.props.href) {\n if (item.props.target) {\n window.open(item.props.href, item.props.target);\n } else {\n location.href = item.props.href;\n }\n }\n if (item.props.onClick) {\n item.props.onClick(event);\n }\n if (this.props.onItemClick) {\n this.props.onItemClick(event);\n }\n return true;\n }\n return false;\n }\n\n private highlight = (index: number) => {\n this.setState({ highlightedIndex: index });\n };\n\n private unhighlight = () => {\n this.setState({ highlightedIndex: -1 });\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\n const children = childrenToArray(this.props.children);\n const activeElements = children.filter(isActiveElement);\n if (!activeElements.length) {\n return;\n }\n let index = this.state.highlightedIndex;\n do {\n index += step;\n\n if (!this.getProps().cyclicSelection && (index < 0 || index > children.length)) {\n return;\n }\n\n if (index < 0) {\n index = children.length - 1;\n } else if (index > children.length) {\n index = 0;\n }\n\n const child = children[index];\n if (isActiveElement(child)) {\n this.setState({ highlightedIndex: index }, () => {\n switch (activeElements.indexOf(child)) {\n case 0:\n this.scrollToTop();\n break;\n case activeElements.length - 1:\n this.scrollToBottom();\n break;\n default:\n this.scrollToSelected();\n }\n });\n return;\n }\n } while (index !== this.state.highlightedIndex);\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 if (this.highlighted && this.highlighted.props.onClick) {\n this.highlighted.props.onClick(event);\n }\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\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"]}
|
|
1
|
+
{"version":3,"sources":["Menu.tsx"],"names":["MenuDataTids","root","Menu","responsiveLayout","rootNode","getProps","defaultProps","state","highlightedIndex","maxHeight","scrollState","enableIconPadding","unmounted","contentRef","React","createRef","menuNavigation","MenuNavigation","MenuItemDataTids","content","focusOnRootElement","globalObject","HTMLElement","focus","renderHeader","styles","wrapper","headerWrapper","el","header","contentWrapper","props","menuSeparatorWrapper","theme","renderMenuSeparatorWithNoMargin","renderFooter","footerWrapper","footer","ThemeFactory","create","menuSeparatorMarginY","getChildList","menuItemsAtAnyLevel","children","preventIconsOffset","Children","map","child","index","modifiedChild","highlight","ref","refHighlighted","bind","cloneElement","onClick","select","onMouseEnter","onMouseLeave","unhighlight","setInitialSelection","i","initialSelectedItemIndex","down","shouldRecalculateMaxHeight","prevProps","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","count","calculateMaxHeight","parsedMaxHeight","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","height","setState","refScrollContainer","scrollContainer","scrollToSelected","highlightedItem","highlighted","scrollTo","scrollToTop","scrollToBottom","scroll","nextIndex","items","length","handleKeyDown","event","onKeyDown","defaultPrevented","preventDefault","up","getStyle","align","maxWidth","width","minWidth","handleScrollStateChange","setEnableIconPadding","isIconPaddingEnabled","componentWillUnmount","componentDidMount","componentDidUpdate","render","flags","renderMain","move","enter","navigate","reset","hasHighlightedItem","highlightItem","highlightByIndex","isEmpty","hasShadow","preventWindowScroll","offsetY","top","scrollContainerScrollBarOffsetY","right","bottom","isMobile","isMobileLayout","getAlignRightClass","mobileRoot","shadow","id","setRootNode","disableScrollContainer","scrollContainerMobile","navigation","onItemClick","originalRef","menuItem","shouldHandleHref","item","childrenToArray","href","target","open","location","step","cyclicSelection","activeElements","filter","isActiveElement","indexOf","isNonNullable","PureComponent","__KONTUR_REACT_UI__","ret","forEach","push","alignRight","isIE11","alignRightIE11","alignRightIE11FixAutoWidth"],"mappings":"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","sourcesContent":["import React, { CSSProperties, HTMLAttributes } 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, isNullable } from '../../lib/utils';\nimport { ScrollContainer, ScrollContainerScrollState } from '../../components/ScrollContainer';\nimport { MenuItem, MenuItemDataTids, MenuItemProps } from '../../components/MenuItem';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { addIconPaddingIfPartOfMenu } from '../InternalMenu/addIconPaddingIfPartOfMenu';\nimport { isIE11 } from '../../lib/client';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { isIconPaddingEnabled } from '../InternalMenu/isIconPaddingEnabled';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\n\nimport { styles } from './Menu.styles';\nimport { isActiveElement } from './isActiveElement';\nimport { MenuNavigation } from './MenuNavigation';\nimport { MenuContext } from './MenuContext';\n\nexport interface MenuProps extends Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n children: React.ReactNode;\n hasShadow?: 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;\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 | 'maxHeight'\n | 'hasShadow'\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\n public static defaultProps: DefaultProps = {\n align: 'left',\n width: 'auto',\n maxHeight: 300,\n hasShadow: 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 highlighted: Nullable<MenuItem>;\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 private menuItemsAtAnyLevel?: boolean;\n\n public componentWillUnmount() {\n this.unmounted = true;\n }\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\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 <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.menuItemsAtAnyLevel = getFullReactUIFlagsContext(flags).menuItemsAtAnyLevel;\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.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 if (this.menuItemsAtAnyLevel) {\n this.menuNavigation.highlightedItem?.navigate();\n return this.menuNavigation.select(event);\n }\n return this.select(this.state.highlightedIndex, true, event);\n }\n\n /**\n * @public\n */\n public reset() {\n if (this.menuItemsAtAnyLevel) {\n this.menuNavigation.reset();\n } else {\n this.setState({ highlightedIndex: -1 });\n }\n }\n\n /**\n * @public\n */\n public hasHighlightedItem() {\n if (this.menuItemsAtAnyLevel) {\n return !!this.menuNavigation.highlightedItem;\n }\n return this.state.highlightedIndex !== -1;\n }\n\n public highlightItem(index: number) {\n if (this.menuItemsAtAnyLevel) {\n this.menuNavigation.highlightByIndex(index);\n } else {\n this.highlight(index);\n }\n }\n\n private renderMain() {\n if (this.isEmpty()) {\n return null;\n }\n const { hasShadow, maxHeight, preventWindowScroll } = this.getProps();\n\n const offsetY = isTheme2022(this.theme)\n ? {\n top: `${this.theme.scrollContainerScrollBarOffsetY}`,\n right: 0,\n bottom: `${this.theme.scrollContainerScrollBarOffsetY}`,\n }\n : {};\n\n const isMobile = this.isMobileLayout;\n return (\n <div\n data-tid={MenuDataTids.root}\n className={cx(getAlignRightClass(this.props), {\n [styles.root(this.theme)]: true,\n [styles.mobileRoot(this.theme)]: isMobile,\n [styles.shadow(this.theme)]: hasShadow && !isMobile,\n })}\n style={this.getStyle(this.props)}\n id={this.props.id}\n onKeyDown={this.handleKeyDown}\n ref={this.setRootNode}\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.getChildList()}\n </MenuContext.Provider>\n </div>\n </ScrollContainer>\n {this.props.footer && this.renderFooter()}\n </div>\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 getChildList = () => {\n if (this.menuItemsAtAnyLevel) {\n return this.props.children;\n }\n const enableIconPadding = isIconPaddingEnabled(this.props.children, this.props.preventIconsOffset);\n\n return React.Children.map(this.props.children, (child, index) => {\n if (typeof child === 'string' || typeof child === 'number' || isNullable(child)) {\n return child;\n }\n\n const modifiedChild = addIconPaddingIfPartOfMenu(child, enableIconPadding);\n\n if (isActiveElement(modifiedChild)) {\n const highlight = this.state.highlightedIndex === index;\n\n let ref = modifiedChild.ref;\n if (highlight && typeof modifiedChild.ref !== 'string') {\n ref = this.refHighlighted.bind(this, modifiedChild.ref);\n }\n\n return React.cloneElement<MenuItemProps, MenuItem>(modifiedChild, {\n ref,\n state: highlight ? 'hover' : modifiedChild.props.state,\n onClick: this.select.bind(this, index, false),\n onMouseEnter: this.highlight.bind(this, index),\n onMouseLeave: this.unhighlight,\n });\n }\n\n return modifiedChild;\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 refHighlighted(\n originalRef: ((menuItem: MenuItem | null) => any) | React.RefObject<MenuItem> | null | undefined,\n menuItem: MenuItem | null,\n ) {\n this.highlighted = menuItem;\n\n if (typeof originalRef === 'function') {\n originalRef(menuItem);\n }\n }\n\n private scrollToSelected = () => {\n const highlightedItem = this.menuItemsAtAnyLevel ? this.menuNavigation.highlightedItem : this.highlighted;\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 select(index: number, shouldHandleHref: boolean, event: React.SyntheticEvent<HTMLElement>): boolean {\n const item = childrenToArray(this.props.children)[index];\n if (isActiveElement(item) && isBrowser(globalObject)) {\n if (shouldHandleHref && item.props.href) {\n if (item.props.target) {\n globalObject.open(item.props.href, item.props.target);\n } else {\n globalObject.location.href = item.props.href;\n }\n }\n if (item.props.onClick) {\n item.props.onClick(event);\n }\n if (this.props.onItemClick) {\n this.props.onItemClick(event);\n }\n return true;\n }\n return false;\n }\n\n private highlight = (index: number) => {\n this.setState({ highlightedIndex: index });\n };\n\n private unhighlight = () => {\n this.setState({ highlightedIndex: -1 });\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 if (this.menuItemsAtAnyLevel) {\n const nextIndex = this.menuNavigation.move(step, this.getProps().cyclicSelection);\n this.scroll(nextIndex);\n } else {\n const children = childrenToArray(this.props.children);\n const activeElements = children.filter(isActiveElement);\n if (!activeElements.length) {\n return;\n }\n let index = this.state.highlightedIndex;\n do {\n index += step;\n\n if (!this.getProps().cyclicSelection && (index < 0 || index > children.length)) {\n return;\n }\n\n if (index < 0) {\n index = children.length - 1;\n } else if (index > children.length) {\n index = 0;\n }\n\n const child = children[index];\n if (isActiveElement(child)) {\n this.setState({ highlightedIndex: index }, () => {\n switch (activeElements.indexOf(child)) {\n case 0:\n this.scrollToTop();\n break;\n case activeElements.length - 1:\n this.scrollToBottom();\n break;\n default:\n this.scrollToSelected();\n }\n });\n return;\n }\n } while (index !== this.state.highlightedIndex);\n }\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 if (this.menuItemsAtAnyLevel) {\n this.menuNavigation.select(event);\n } else if (this.highlighted && this.highlighted.props.onClick) {\n this.highlighted.props.onClick(event);\n }\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"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { MenuItem } from '../../components/MenuItem';
|
|
3
|
+
import { MenuNavigation } from './MenuNavigation';
|
|
4
|
+
export interface MenuContextType {
|
|
5
|
+
navigation: MenuNavigation<MenuItem> | null;
|
|
6
|
+
enableIconPadding: boolean;
|
|
7
|
+
setEnableIconPadding?: (isIconPaddingEnabled: boolean) => void;
|
|
8
|
+
onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const MenuContext: React.Context<MenuContextType>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.MenuContext = void 0;var _react = _interopRequireDefault(require("react"));
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
var MenuContext = /*#__PURE__*/_react.default.createContext({
|
|
15
|
+
navigation: null,
|
|
16
|
+
enableIconPadding: false });exports.MenuContext = MenuContext;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["MenuContext.ts"],"names":["MenuContext","React","createContext","navigation","enableIconPadding"],"mappings":"yJAAA;;;;;;;;;;;;;AAaO,IAAMA,WAAW,gBAAGC,eAAMC,aAAN,CAAqC;AAC9DC,EAAAA,UAAU,EAAE,IADkD;AAE9DC,EAAAA,iBAAiB,EAAE,KAF2C,EAArC,CAApB,C","sourcesContent":["import React from 'react';\n\nimport { MenuItem } from '../../components/MenuItem';\n\nimport { MenuNavigation } from './MenuNavigation';\n\nexport interface MenuContextType {\n navigation: MenuNavigation<MenuItem> | null;\n enableIconPadding: boolean;\n setEnableIconPadding?: (isIconPaddingEnabled: boolean) => void;\n onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n}\n\nexport const MenuContext = React.createContext<MenuContextType>({\n navigation: null,\n enableIconPadding: false,\n});\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React, { RefObject } from 'react';
|
|
2
|
+
interface Highlightable {
|
|
3
|
+
highlight(): void;
|
|
4
|
+
unhighlight(): void;
|
|
5
|
+
select(...args: unknown[]): void;
|
|
6
|
+
isEnabled(): boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare class MenuNavigation<T extends Highlightable> {
|
|
9
|
+
private readonly root;
|
|
10
|
+
private readonly itemsContentDataTid;
|
|
11
|
+
private tagsAndItems;
|
|
12
|
+
highlightedItem: T | null;
|
|
13
|
+
items: T[];
|
|
14
|
+
constructor(root: RefObject<HTMLDivElement> | null, itemsContentDataTid: string);
|
|
15
|
+
private update;
|
|
16
|
+
add(tag: Element, item: T): void;
|
|
17
|
+
remove(tag: HTMLElement): void;
|
|
18
|
+
move(step: number, isCyclic: boolean): number;
|
|
19
|
+
highlight(item: T | null): void;
|
|
20
|
+
highlightByIndex(index: number): void;
|
|
21
|
+
unhighlight(): void;
|
|
22
|
+
select(event: React.SyntheticEvent<HTMLElement>): boolean;
|
|
23
|
+
reset(): void;
|
|
24
|
+
private getEnabledItems;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";exports.__esModule = true;exports.MenuNavigation = void 0;var
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
MenuNavigation = /*#__PURE__*/function () {
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
function MenuNavigation(root, itemsContentDataTid) {var _this = this;this.tagsAndItems = new WeakMap();this.highlightedItem = null;this.items = [];this.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
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
|
+
getEnabledItems = function () {
|
|
106
|
+
return _this.items.filter(function (item) {return item.isEnabled();});
|
|
107
|
+
};this.root = root;this.itemsContentDataTid = itemsContentDataTid;}var _proto = MenuNavigation.prototype;_proto.update = function update() {var _this$root,_this2 = this;if ((_this$root = this.root) != null && _this$root.current) {var menuItems = Array.from(this.root.current.querySelectorAll("span[data-tid=\"" + this.itemsContentDataTid + "\"]"));this.items = menuItems.map(function (item) {return _this2.tagsAndItems.get(item);}).filter(function (item) {return item !== undefined;});}};_proto.add = function add(tag, item) {var _this$root2;this.tagsAndItems.set(tag, item);if ((_this$root2 = this.root) != null && _this$root2.current) {this.update();} else {this.items.push(item);}};_proto.remove = function remove(tag) {this.tagsAndItems.delete(tag);this.update();};_proto.move = function move(step, isCyclic) {var enabledItems = this.getEnabledItems();var currentIndex = this.highlightedItem ? enabledItems.indexOf(this.highlightedItem) : -1;var minIndex = 0;var maxIndex = enabledItems.length - 1;var nextIndex = currentIndex + step;if (nextIndex < minIndex) {nextIndex = isCyclic ? maxIndex : minIndex;}if (nextIndex > maxIndex) {nextIndex = isCyclic ? minIndex : maxIndex;}var nextItem = enabledItems[nextIndex];this.highlight(nextItem);return nextIndex;};_proto.highlight = function highlight(item) {var _this3 = this;var enabledItems = this.getEnabledItems();enabledItems.forEach(function (_item) {if (item === _item) {_item.highlight();_this3.highlightedItem = item;} else {_item.unhighlight();}});};_proto.highlightByIndex = function highlightByIndex(index) {var _this4 = this;this.items.forEach(function (_item, i) {if (index === i && _item.isEnabled()) {_item.highlight();_this4.highlightedItem = _item;} else {_item.unhighlight();}});};_proto.unhighlight = function unhighlight() {var _this$highlightedItem;(_this$highlightedItem = this.highlightedItem) == null ? void 0 : _this$highlightedItem.unhighlight();this.highlightedItem = null;};_proto.select = function select(event) {if (this.highlightedItem) {this.highlightedItem.select(event);return true;}return false;};_proto.reset = function reset() {this.highlight(null);this.highlightedItem = null;};return MenuNavigation;}();exports.MenuNavigation = MenuNavigation;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["MenuNavigation.tsx"],"names":["MenuNavigation","root","itemsContentDataTid","tagsAndItems","WeakMap","highlightedItem","items","getEnabledItems","filter","item","isEnabled","update","current","menuItems","Array","from","querySelectorAll","map","get","undefined","add","tag","set","push","remove","delete","move","step","isCyclic","enabledItems","currentIndex","indexOf","minIndex","maxIndex","length","nextIndex","nextItem","highlight","forEach","_item","unhighlight","highlightByIndex","index","i","select","event","reset"],"mappings":"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","sourcesContent":["import React, { RefObject } from 'react';\n\ninterface Highlightable {\n highlight(): void;\n unhighlight(): void;\n select(...args: unknown[]): void;\n isEnabled(): boolean;\n}\n\nexport class MenuNavigation<T extends Highlightable> {\n private readonly root: RefObject<HTMLDivElement> | null;\n private readonly itemsContentDataTid: string;\n private tagsAndItems: WeakMap<Element, T> = new WeakMap();\n\n public highlightedItem: T | null = null;\n public items: T[] = [];\n\n constructor(root: RefObject<HTMLDivElement> | null, itemsContentDataTid: string) {\n this.root = root;\n this.itemsContentDataTid = itemsContentDataTid;\n }\n\n private update() {\n if (this.root?.current) {\n const menuItems = Array.from(this.root.current.querySelectorAll(`span[data-tid=\"${this.itemsContentDataTid}\"]`));\n this.items = menuItems.map((item) => this.tagsAndItems.get(item)).filter((item): item is T => item !== undefined);\n }\n }\n\n public add(tag: Element, item: T) {\n this.tagsAndItems.set(tag, item);\n if (this.root?.current) {\n this.update();\n } else {\n this.items.push(item);\n }\n }\n\n public remove(tag: HTMLElement) {\n this.tagsAndItems.delete(tag);\n this.update();\n }\n\n public move(step: number, isCyclic: boolean) {\n const enabledItems = this.getEnabledItems();\n const currentIndex = this.highlightedItem ? enabledItems.indexOf(this.highlightedItem) : -1;\n const minIndex = 0;\n const maxIndex = enabledItems.length - 1;\n let nextIndex = currentIndex + step;\n if (nextIndex < minIndex) {\n nextIndex = isCyclic ? maxIndex : minIndex;\n }\n if (nextIndex > maxIndex) {\n nextIndex = isCyclic ? minIndex : maxIndex;\n }\n\n const nextItem = enabledItems[nextIndex];\n\n this.highlight(nextItem);\n\n return nextIndex;\n }\n\n public highlight(item: T | null) {\n const enabledItems = this.getEnabledItems();\n enabledItems.forEach((_item) => {\n if (item === _item) {\n _item.highlight();\n this.highlightedItem = item;\n } else {\n _item.unhighlight();\n }\n });\n }\n\n public highlightByIndex(index: number) {\n this.items.forEach((_item, i) => {\n if (index === i && _item.isEnabled()) {\n _item.highlight();\n this.highlightedItem = _item;\n } else {\n _item.unhighlight();\n }\n });\n }\n\n public unhighlight() {\n this.highlightedItem?.unhighlight();\n this.highlightedItem = null;\n }\n\n public select(event: React.SyntheticEvent<HTMLElement>) {\n if (this.highlightedItem) {\n this.highlightedItem.select(event);\n return true;\n }\n return false;\n }\n\n public reset() {\n this.highlight(null);\n this.highlightedItem = null;\n }\n\n private getEnabledItems = () => {\n return this.items.filter((item) => item.isEnabled());\n };\n}\n"]}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
var _MenuItem = require("../../components/MenuItem");
|
|
4
4
|
|
|
5
5
|
function isActiveElement(element) {
|
|
6
|
-
return (0, _MenuItem.isMenuItem)(element) && !element.props.disabled;
|
|
6
|
+
return (0, _MenuItem.isMenuItem)(element) && !element.props.disabled && !element.props.isNotSelectable;
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["isActiveElement.tsx"],"names":["isActiveElement","element","props","disabled"],"mappings":";;AAEA;;AAEO,SAASA,eAAT,CAAyBC,OAAzB,EAAmG;AACxG,SAAO,0BAAWA,OAAX,KAAuB,CAACA,OAAO,CAACC,KAAR,CAAcC,
|
|
1
|
+
{"version":3,"sources":["isActiveElement.tsx"],"names":["isActiveElement","element","props","disabled","isNotSelectable"],"mappings":";;AAEA;;AAEO,SAASA,eAAT,CAAyBC,OAAzB,EAAmG;AACxG,SAAO,0BAAWA,OAAX,KAAuB,CAACA,OAAO,CAACC,KAAR,CAAcC,QAAtC,IAAkD,CAACF,OAAO,CAACC,KAAR,CAAcE,eAAxE;AACD","sourcesContent":["import React from 'react';\n\nimport { MenuItem, MenuItemProps, isMenuItem } from '../../components/MenuItem';\n\nexport function isActiveElement(element: any): element is React.ComponentElement<MenuItemProps, MenuItem> {\n return isMenuItem(element) && !element.props.disabled && !element.props.isNotSelectable;\n}\n"]}
|
|
@@ -9,4 +9,4 @@ export interface MenuMessageProps extends CommonProps {
|
|
|
9
9
|
export declare const MenuMessageDataTids: {
|
|
10
10
|
readonly root: "MenuMessage__root";
|
|
11
11
|
};
|
|
12
|
-
export declare const MenuMessage: import("../../lib/forwardRefAndName").ReactUIComponentWithRef<HTMLOrSVGElement, MenuMessageProps>;
|
|
12
|
+
export declare const MenuMessage: import("../../lib/forwardRefAndName").ReactUIComponentWithRef<HTMLOrSVGElement, MenuMessageProps> & Record<never, never>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.PopupPositions = exports.PopupIds = exports.PopupDataTids = exports.Popup = exports.DefaultPosition = exports.DUMMY_LOCATION = void 0;var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
|
|
2
2
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
3
3
|
var _reactTransitionGroup = require("react-transition-group");
|
|
4
|
-
var _raf = _interopRequireDefault(require("raf"));
|
|
5
4
|
var _warning = _interopRequireDefault(require("warning"));
|
|
5
|
+
var _globalObject = require("@skbkontur/global-object");
|
|
6
6
|
|
|
7
7
|
var _getDOMRect = require("../../lib/dom/getDOMRect");
|
|
8
8
|
|
|
@@ -24,6 +24,7 @@ var _rootNode = require("../../lib/rootNode");
|
|
|
24
24
|
var _callChildRef = require("../../lib/callChildRef/callChildRef");
|
|
25
25
|
var _InstanceWithAnchorElement = require("../../lib/InstanceWithAnchorElement");
|
|
26
26
|
var _createPropsGetter = require("../../lib/createPropsGetter");
|
|
27
|
+
var _isInstanceOf = require("../../lib/isInstanceOf");
|
|
27
28
|
|
|
28
29
|
var _PopupPin = require("./PopupPin");
|
|
29
30
|
var _PopupHelper = require("./PopupHelper");
|
|
@@ -585,22 +586,22 @@ Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNode)(_class
|
|
|
585
586
|
}
|
|
586
587
|
};return _this;}var _proto = Popup.prototype;_proto.componentDidMount = function componentDidMount() {this.updateLocation();this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);if (!this.hasAnchorElementListeners) {this.addEventListeners(this.anchorElement);}};Popup.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {/**
|
|
587
588
|
* Delaying updateLocation to ensure it happens after props update
|
|
588
|
-
*/if (props.opened) {if (!state.location) {return { location: DUMMY_LOCATION };}} else if (state.location) {return { location: DUMMY_LOCATION };}return state;};_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {var hadNoLocation = prevState.location === DUMMY_LOCATION;var hasLocation = this.state.location !== DUMMY_LOCATION;var wasClosed = prevProps.opened && !this.props.opened;if (this.isMobileLayout && prevState.location === null && this.state.location === null) {this.setState({ location: DUMMY_LOCATION });}if (this.props.opened && hadNoLocation && hasLocation && this.props.onOpen) {this.props.onOpen();}if (wasClosed && !hasLocation && this.props.onClose) {this.props.onClose();}if (this.props.opened) {this.delayUpdateLocation();}};_proto.componentWillUnmount = function componentWillUnmount() {this.cancelDelayedUpdateLocation();if (this.hasAnchorElementListeners) {this.removeEventListeners(this.anchorElement);}if (this.layoutEventsToken) {this.layoutEventsToken.remove();this.layoutEventsToken = null;}if (this.state.location && this.props.onClose) {this.props.onClose();}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMobile = function renderMobile() {var opened = this.props.opened;var children = this.renderChildren();return children ? /*#__PURE__*/_react.default.createElement(_MobilePopup.MobilePopup, { opened: opened, withoutRenderContainer: true, onCloseRequest: this.props.mobileOnCloseRequest }, this.content(children)) : null;};_proto.renderMain = function renderMain() {var _this3 = this;var location = this.state.location;var anchorElement = this.props.anchorElement;var useWrapper = this.getProps().useWrapper;var anchor = null;if ((0,
|
|
589
|
+
*/if (props.opened) {if (!state.location) {return { location: DUMMY_LOCATION };}} else if (state.location) {return { location: DUMMY_LOCATION };}return state;};_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {var hadNoLocation = prevState.location === DUMMY_LOCATION;var hasLocation = this.state.location !== DUMMY_LOCATION;var wasClosed = prevProps.opened && !this.props.opened;if (this.isMobileLayout && prevState.location === null && this.state.location === null) {this.setState({ location: DUMMY_LOCATION });}if (this.props.opened && hadNoLocation && hasLocation && this.props.onOpen) {this.props.onOpen();}if (wasClosed && !hasLocation && this.props.onClose) {this.props.onClose();}if (this.props.opened) {this.delayUpdateLocation();}};_proto.componentWillUnmount = function componentWillUnmount() {this.cancelDelayedUpdateLocation();if (this.hasAnchorElementListeners) {this.removeEventListeners(this.anchorElement);}if (this.layoutEventsToken) {this.layoutEventsToken.remove();this.layoutEventsToken = null;}if (this.state.location && this.props.onClose) {this.props.onClose();}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMobile = function renderMobile() {var opened = this.props.opened;var children = this.renderChildren();return children ? /*#__PURE__*/_react.default.createElement(_MobilePopup.MobilePopup, { opened: opened, withoutRenderContainer: true, onCloseRequest: this.props.mobileOnCloseRequest }, this.content(children)) : null;};_proto.renderMain = function renderMain() {var _this3 = this;var location = this.state.location;var anchorElement = this.props.anchorElement;var useWrapper = this.getProps().useWrapper;var anchor = null;if ((0, _isInstanceOf.isInstanceOf)(anchorElement, _globalObject.globalObject.Element)) {this.updateAnchorElement(anchorElement);} else if ( /*#__PURE__*/_react.default.isValidElement(anchorElement)) {anchor = useWrapper ? /*#__PURE__*/_react.default.createElement("span", null, anchorElement) : anchorElement;} else {anchor = /*#__PURE__*/_react.default.createElement("span", null, anchorElement);}var anchorWithRef = anchor && /*#__PURE__*/_react.default.isValidElement(anchor) && (0, _utils.isRefableElement)(anchor) ? /*#__PURE__*/_react.default.cloneElement(anchor, { ref: function ref(instance) {var _anchor;_this3.updateAnchorElement(instance);var originalRef = (_anchor = anchor) == null ? void 0 : _anchor.ref;originalRef && (0, _callChildRef.callChildRef)(originalRef, instance);} }) : null; // we need to get anchor's DOM node
|
|
589
590
|
// so we either set our own ref on it via cloning
|
|
590
591
|
// or relay on findDOMNode (inside getRootNode)
|
|
591
592
|
// which should be called within updateAnchorElement
|
|
592
593
|
// in the case when the anchor is not refable
|
|
593
|
-
var canGetAnchorNode = !!anchorWithRef || (0,
|
|
594
|
+
var canGetAnchorNode = !!anchorWithRef || (0, _isInstanceOf.isInstanceOf)(anchorElement, _globalObject.globalObject.Element);return /*#__PURE__*/_react.default.createElement(_RenderContainer.RenderContainer, { anchor: anchorWithRef || anchor, ref: canGetAnchorNode ? null : this.updateAnchorElement }, this.isMobileLayout && !this.props.withoutMobile ? this.renderMobile() : location && this.renderContent(location));};_proto.addEventListeners = function addEventListeners(element) {if (element && (0, _isInstanceOf.isInstanceOf)(element, _globalObject.globalObject.Element)) {// @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657
|
|
594
595
|
element.addEventListener('mouseenter', this.handleMouseEnter); // @ts-expect-error: See the comment above
|
|
595
596
|
element.addEventListener('mouseleave', this.handleMouseLeave); // @ts-expect-error: See the comment above
|
|
596
|
-
element.addEventListener('click', this.handleClick);element.addEventListener('focusin', this.handleFocus);element.addEventListener('focusout', this.handleBlur);this.hasAnchorElementListeners = true;}};_proto.removeEventListeners = function removeEventListeners(element) {if (element && (0,
|
|
597
|
+
element.addEventListener('click', this.handleClick);element.addEventListener('focusin', this.handleFocus);element.addEventListener('focusout', this.handleBlur);this.hasAnchorElementListeners = true;}};_proto.removeEventListeners = function removeEventListeners(element) {if (element && (0, _isInstanceOf.isInstanceOf)(element, _globalObject.globalObject.Element)) {// @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657
|
|
597
598
|
element.removeEventListener('mouseenter', this.handleMouseEnter); // @ts-expect-error: See the comment above
|
|
598
599
|
element.removeEventListener('mouseleave', this.handleMouseLeave); // @ts-expect-error: See the comment above
|
|
599
600
|
element.removeEventListener('click', this.handleClick);element.removeEventListener('focusin', this.handleFocus);element.removeEventListener('focusout', this.handleBlur);this.hasAnchorElementListeners = false;}};_proto.renderContent = function renderContent(location) {var _this4 = this;var _this$props = this.props,maxWidth = _this$props.maxWidth,opened = _this$props.opened;var _this$getProps = this.getProps(),hasShadow = _this$getProps.hasShadow,disableAnimations = _this$getProps.disableAnimations,ignoreHover = _this$getProps.ignoreHover;var children = this.renderChildren();var _PopupHelper$getPosit = _PopupHelper.PopupHelper.getPositionObject(location.position),direction = _PopupHelper$getPosit.direction;var rootStyle = (0, _extends3.default)({}, location.coordinates, { maxWidth: maxWidth });var shouldFallbackShadow = _client.isIE11 || _client.isEdge || _client.isSafari;return /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.Transition, { timeout: TRANSITION_TIMEOUT, appear: !disableAnimations, in: Boolean(opened && children), mountOnEnter: true, unmountOnExit: true, enter: !disableAnimations, exit: !disableAnimations, onExited: this.resetLocation, nodeRef: this.refForTransition }, function (state) {var _this4$props$id, _extends2, _ref;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends3.default)({}, _this4.props, { rootNodeRef: _this4.setRootNode }), /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { id: (_this4$props$id = _this4.props.id) != null ? _this4$props$id : _this4.rootId, "data-tid": PopupDataTids.root, wrapperRef: _this4.refPopupElement, priority: 'Popup', className: (0, _Emotion.cx)((0, _extends3.default)((_extends2 = {}, _extends2[_Popup.styles.popup(_this4.theme)] = true, _extends2[_Popup.styles.shadow(_this4.theme)] = hasShadow && !shouldFallbackShadow, _extends2[_Popup.styles.shadowFallback(_this4.theme)] = hasShadow && shouldFallbackShadow, _extends2[_Popup.styles.popupIgnoreHover()] = ignoreHover, _extends2), disableAnimations ? {} : (_ref = {}, _ref[_Popup.styles["transition-enter-" + direction](_this4.theme)] = true, _ref[_Popup.styles.transitionEnter()] = state === 'entering', _ref[_Popup.styles.transitionEnterActive()] = state === 'entered', _ref[_Popup.styles.transitionExit()] = state === 'exiting', _ref))), style: rootStyle, onMouseEnter: _this4.handleMouseEnter, onMouseLeave: _this4.handleMouseLeave }, _this4.content(children), (!_this4.isMobileLayout || _this4.props.withoutMobile) && _this4.renderPin(location.position)));});};_proto.renderChildren = function renderChildren() {return (0, _utils.isFunction)(this.props.children) ? this.props.children() : this.props.children;};_proto.renderPin = function renderPin(positionName) {/**
|
|
600
601
|
* Box-shadow does not appear under the pin. Borders are used instead.
|
|
601
602
|
* In non-ie browsers drop-shadow filter is used. It is applying
|
|
602
603
|
* shadow to the pin too.
|
|
603
|
-
*/var isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;var pinBorder = _client.isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;var _this$props2 = this.props,pinSize = _this$props2.pinSize,backgroundColor = _this$props2.backgroundColor,borderColor = _this$props2.borderColor;var _this$getProps2 = this.getProps(),hasShadow = _this$getProps2.hasShadow,hasPin = _this$getProps2.hasPin;var position = _PopupHelper.PopupHelper.getPositionObject(positionName);return hasPin && /*#__PURE__*/_react.default.createElement(_PopupPin.PopupPin, { popupElement: this.lastPopupElement, popupPosition: positionName, size: pinSize || parseInt(this.theme.popupPinSize), offset: this.getPinOffset(position.align), borderWidth: hasShadow ? 1 : 0, backgroundColor: backgroundColor || this.theme.popupBackground, borderColor: borderColor || pinBorder });};_proto.delayUpdateLocation = function delayUpdateLocation() {this.cancelDelayedUpdateLocation();this.locationUpdateId =
|
|
604
|
+
*/var isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;var pinBorder = _client.isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;var _this$props2 = this.props,pinSize = _this$props2.pinSize,backgroundColor = _this$props2.backgroundColor,borderColor = _this$props2.borderColor;var _this$getProps2 = this.getProps(),hasShadow = _this$getProps2.hasShadow,hasPin = _this$getProps2.hasPin;var position = _PopupHelper.PopupHelper.getPositionObject(positionName);return hasPin && /*#__PURE__*/_react.default.createElement(_PopupPin.PopupPin, { popupElement: this.lastPopupElement, popupPosition: positionName, size: pinSize || parseInt(this.theme.popupPinSize), offset: this.getPinOffset(position.align), borderWidth: hasShadow ? 1 : 0, backgroundColor: backgroundColor || this.theme.popupBackground, borderColor: borderColor || pinBorder });};_proto.delayUpdateLocation = function delayUpdateLocation() {this.cancelDelayedUpdateLocation();this.locationUpdateId = _globalObject.globalObject.requestAnimationFrame == null ? void 0 : _globalObject.globalObject.requestAnimationFrame(this.updateLocation);};_proto.cancelDelayedUpdateLocation = function cancelDelayedUpdateLocation() {if (this.locationUpdateId) {_globalObject.globalObject.cancelAnimationFrame == null ? void 0 : _globalObject.globalObject.cancelAnimationFrame(this.locationUpdateId);this.locationUpdateId = null;}};_proto.locationEquals = function locationEquals(x, y) {if (x === y) {return true;}if ((0, _utils.isNullable)(x) || (0, _utils.isNullable)(y)) {return false;}if (!_client.isIE11 && !_client.isEdge) {return x.coordinates.left === y.coordinates.left && x.coordinates.top === y.coordinates.top && x.position === y.position;}
|
|
604
605
|
|
|
605
606
|
// Для ie/edge обновляем позицию только при разнице минимум в 1. Иначе есть вероятность
|
|
606
607
|
// уйти в бесконечный ререндер
|
|
@@ -616,9 +617,12 @@ Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNode)(_class
|
|
|
616
617
|
var _this$props3 = this.props,positions = _this$props3.positions,tryPreserveFirstRenderedPosition = _this$props3.tryPreserveFirstRenderedPosition;
|
|
617
618
|
var anchorElement = this.anchorElement;
|
|
618
619
|
|
|
619
|
-
(0, _warning.default)(
|
|
620
|
+
(0, _warning.default)(
|
|
621
|
+
anchorElement && (0, _isInstanceOf.isInstanceOf)(anchorElement, _globalObject.globalObject.Element),
|
|
622
|
+
'Anchor element is not defined or not instance of Element');
|
|
620
623
|
|
|
621
|
-
|
|
624
|
+
|
|
625
|
+
if (!(anchorElement && (0, _isInstanceOf.isInstanceOf)(anchorElement, _globalObject.globalObject.Element))) {
|
|
622
626
|
return location;
|
|
623
627
|
}
|
|
624
628
|
|
|
@@ -754,7 +758,7 @@ Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNode)(_class
|
|
|
754
758
|
|
|
755
759
|
};return Popup;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'Popup', _class2.propTypes = { /**
|
|
756
760
|
* Ссылка (ref) на элемент или React компонент, для которого рисуется попап
|
|
757
|
-
*/anchorElement: _propTypes.default.oneOfType([(0, _SSRSafe.safePropTypesInstanceOf)(
|
|
761
|
+
*/anchorElement: _propTypes.default.oneOfType([(0, _SSRSafe.safePropTypesInstanceOf)(_globalObject.globalObject.HTMLElement), _propTypes.default.node]).isRequired, /**
|
|
758
762
|
* Фон попапа и пина
|
|
759
763
|
*/backgroundColor: _propTypes.default.string, children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]), /**
|
|
760
764
|
* Показывать ли пин
|