@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,5 +1,6 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.DateSelectDataTids = exports.DateSelect = void 0;var _extends2 = _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
|
+
var _globalObject = require("@skbkontur/global-object");
|
|
3
4
|
|
|
4
5
|
var _utils = require("../../lib/utils");
|
|
5
6
|
var _identifiers = require("../../lib/events/keyboard/identifiers");
|
|
@@ -20,6 +21,7 @@ var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
|
|
|
20
21
|
var _ArrowCollapseCVOpenIcon16Regular = require("../icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular");
|
|
21
22
|
var _ArrowCUpIcon16Regular = require("../icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular");
|
|
22
23
|
var _ArrowCDownIcon16Regular = require("../icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular");
|
|
24
|
+
var _isInstanceOf = require("../../lib/isInstanceOf");
|
|
23
25
|
|
|
24
26
|
var _DateSelect = require("./DateSelect.styles");var _dec, _class, _class2, _temp;function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}
|
|
25
27
|
|
|
@@ -115,8 +117,8 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
|
|
|
115
117
|
itemsContainer = null;_this.
|
|
116
118
|
|
|
117
119
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
+
|
|
121
|
+
|
|
120
122
|
yearStep = 3;_this.
|
|
121
123
|
touchStartY = null;_this.
|
|
122
124
|
|
|
@@ -274,12 +276,14 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
|
|
|
274
276
|
return;
|
|
275
277
|
}
|
|
276
278
|
if (_this.timeout) {
|
|
277
|
-
clearTimeout(_this.timeout);
|
|
279
|
+
_globalObject.globalObject.clearTimeout(_this.timeout);
|
|
278
280
|
}
|
|
279
|
-
_this.timeout = setTimeout(
|
|
281
|
+
_this.timeout = _globalObject.globalObject.setTimeout(
|
|
282
|
+
function () {return (
|
|
280
283
|
_this.setState({
|
|
281
|
-
nodeTop: (0, _getDOMRect.getDOMRect)(root).top }));}
|
|
284
|
+
nodeTop: (0, _getDOMRect.getDOMRect)(root).top }));},
|
|
282
285
|
|
|
286
|
+
0);
|
|
283
287
|
|
|
284
288
|
};_this.
|
|
285
289
|
|
|
@@ -439,27 +443,27 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
|
|
|
439
443
|
|
|
440
444
|
handleLongClickUp = function (event) {
|
|
441
445
|
event.preventDefault();
|
|
442
|
-
_this.longClickTimer =
|
|
443
|
-
_this.setPositionRepeatTimer =
|
|
446
|
+
_this.longClickTimer = _globalObject.globalObject.setTimeout(function () {
|
|
447
|
+
_this.setPositionRepeatTimer = _globalObject.globalObject.setInterval(function () {return _this.setPosition(_this.state.pos - itemHeight);}, 100);
|
|
444
448
|
}, 200);
|
|
445
449
|
};_this.
|
|
446
450
|
|
|
447
451
|
handleLongClickDown = function (event) {
|
|
448
452
|
event.preventDefault();
|
|
449
|
-
_this.longClickTimer =
|
|
450
|
-
_this.setPositionRepeatTimer =
|
|
453
|
+
_this.longClickTimer = _globalObject.globalObject.setTimeout(function () {
|
|
454
|
+
_this.setPositionRepeatTimer = _globalObject.globalObject.setInterval(function () {return _this.setPosition(_this.state.pos + itemHeight);}, 100);
|
|
451
455
|
}, 200);
|
|
452
456
|
};_this.
|
|
453
457
|
|
|
454
458
|
handleLongClickStop = function () {
|
|
455
|
-
clearTimeout(_this.longClickTimer);
|
|
456
|
-
clearTimeout(_this.setPositionRepeatTimer);
|
|
459
|
+
_globalObject.globalObject.clearTimeout(_this.longClickTimer);
|
|
460
|
+
_globalObject.globalObject.clearTimeout(_this.setPositionRepeatTimer);
|
|
457
461
|
};_this.
|
|
458
462
|
|
|
459
463
|
getAnchor = function () {return _this.root;};_this.
|
|
460
464
|
|
|
461
465
|
handleWheel = function (event) {
|
|
462
|
-
if (!(event
|
|
466
|
+
if (!(0, _isInstanceOf.isInstanceOf)(event, _globalObject.globalObject.WheelEvent)) {
|
|
463
467
|
return;
|
|
464
468
|
}
|
|
465
469
|
event.preventDefault();
|
|
@@ -476,7 +480,7 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
|
|
|
476
480
|
};_this.
|
|
477
481
|
|
|
478
482
|
handleTouchStart = function (event) {
|
|
479
|
-
if (!(event
|
|
483
|
+
if (!(0, _isInstanceOf.isInstanceOf)(event, _globalObject.globalObject.TouchEvent)) {
|
|
480
484
|
return;
|
|
481
485
|
}
|
|
482
486
|
|
|
@@ -484,12 +488,12 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
|
|
|
484
488
|
};_this.
|
|
485
489
|
|
|
486
490
|
handleTouchMove = function (event) {
|
|
487
|
-
if (!(event
|
|
491
|
+
if (!(0, _isInstanceOf.isInstanceOf)(event, _globalObject.globalObject.TouchEvent) || !(0, _globalObject.isBrowser)(_globalObject.globalObject)) {
|
|
488
492
|
return;
|
|
489
493
|
}
|
|
490
494
|
|
|
491
495
|
var clientY = event.changedTouches[0].clientY;
|
|
492
|
-
var pixelRatio =
|
|
496
|
+
var pixelRatio = _globalObject.globalObject.devicePixelRatio;
|
|
493
497
|
|
|
494
498
|
var deltaY = ((_this.touchStartY || 0) - clientY) / pixelRatio;
|
|
495
499
|
var pos = _this.state.pos + deltaY + deltaY / itemHeight;
|
|
@@ -525,7 +529,7 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
|
|
|
525
529
|
handleDown = function (event) {
|
|
526
530
|
event.preventDefault();
|
|
527
531
|
_this.setPosition(_this.state.pos + itemHeight * _this.yearStep);
|
|
528
|
-
};return _this;}var _proto = DateSelect.prototype;_proto.componentDidUpdate = function componentDidUpdate() {this.setNodeTop();};_proto.componentDidMount = function componentDidMount() {this.listener = LayoutEvents.addListener(this.setNodeTop);this.setNodeTop();
|
|
532
|
+
};return _this;}var _proto = DateSelect.prototype;_proto.componentDidUpdate = function componentDidUpdate() {this.setNodeTop();};_proto.componentDidMount = function componentDidMount() {this.listener = LayoutEvents.addListener(this.setNodeTop);this.setNodeTop();_globalObject.globalObject.addEventListener == null ? void 0 : _globalObject.globalObject.addEventListener('keydown', this.handleKey);};_proto.componentWillUnmount = function componentWillUnmount() {if (this.listener) {this.listener.remove();}if (this.timeout) {_globalObject.globalObject.clearTimeout(this.timeout);}if (this.longClickTimer) {_globalObject.globalObject.clearTimeout(this.longClickTimer);}if (this.setPositionRepeatTimer) {_globalObject.globalObject.clearTimeout(this.setPositionRepeatTimer);}_globalObject.globalObject.removeEventListener == null ? void 0 : _globalObject.globalObject.removeEventListener('keydown', this.handleKey);} /**
|
|
529
533
|
* @public
|
|
530
534
|
*/;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _cx, _cx2;if ((0, _ThemeHelpers.isTheme2022)(this.theme)) {return this.renderMain2022();}var disabled = this.props.disabled;var width = this.getProps().width;var isInteractiveElement = !disabled;var Tag = isInteractiveElement ? 'button' : 'span';var rootProps = { className: (0, _Emotion.cx)((_cx = {}, _cx[_DateSelect.styles.root(this.theme)] = true, _cx[_DateSelect.styles.disabled()] = Boolean(disabled), _cx)), style: { width: width }, ref: this.refRoot, onClick: this.open, 'aria-expanded': isInteractiveElement ? this.state.opened : undefined, 'aria-controls': !disabled ? this.menuId : undefined, 'aria-label': isInteractiveElement ? this.locale.selectChosenAriaLabel + " " + (this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel) + " " + this.getItem(0) : undefined };return /*#__PURE__*/_react.default.createElement(Tag, rootProps, /*#__PURE__*/_react.default.createElement("div", { "data-tid": DateSelectDataTids.caption, className: _DateSelect.styles.caption() }, this.getItem(0), /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)((_cx2 = {}, _cx2[_DateSelect.styles.arrow(this.theme)] = true, _cx2[_DateSelect.styles.arrowDisabled()] = Boolean(disabled), _cx2)) }, /*#__PURE__*/_react.default.createElement(_px.ArrowTriangleUpDownIcon, { size: 12 }))), this.state.opened && this.renderMenu(this.menuId));};_proto.renderMain2022 = function renderMain2022() {var disabled = this.props.disabled;var width = this.getProps().width;var isInteractiveElement = !disabled;var Tag = isInteractiveElement ? 'button' : 'span';var rootProps = { className: (0, _Emotion.cx)(_DateSelect.styles.root(this.theme), _DateSelect.styles.root2022(), disabled && _DateSelect.styles.disabled()), style: { width: width }, ref: this.refRoot, onClick: this.open, 'aria-expanded': isInteractiveElement ? this.state.opened : undefined, 'aria-label': isInteractiveElement ? this.locale.selectChosenAriaLabel + " " + (this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel) + " " + this.getItem(0) : undefined };return /*#__PURE__*/_react.default.createElement(Tag, rootProps, /*#__PURE__*/_react.default.createElement("div", { "data-tid": DateSelectDataTids.caption, className: _DateSelect.styles.caption() }, this.getItem(0)), isInteractiveElement && /*#__PURE__*/_react.default.createElement(_ArrowCollapseCVOpenIcon16Regular.ArrowCollapseCVOpenIcon16Regular, { className: (0, _Emotion.cx)(_DateSelect.globalClasses.arrow), color: "#ADADAD" }), this.state.opened && this.renderMenu(this.menuId));};_proto.disableItems = function disableItems(index) {var value = this.props.value + index;if ((0, _utils.isNonNullable)(this.props.maxValue) && (0, _utils.isNonNullable)(this.props.minValue)) {return value > this.props.maxValue || value < this.props.minValue;}if ((0, _utils.isNonNullable)(this.props.minValue)) {return value < this.props.minValue;}if ((0, _utils.isNonNullable)(this.props.maxValue)) {return value > this.props.maxValue;}};_proto.renderMenu = function renderMenu(id) {var _this3 = this,_cx3;var _this$state = this.state,top = _this$state.top,height = _this$state.height,nodeTop = _this$state.nodeTop;var shift = this.state.pos % itemHeight;if (shift < 0) {shift += itemHeight;}var from = (this.state.pos - shift + top) / itemHeight;var to = from + Math.ceil((height + shift) / itemHeight);var items = [];var _loop = function _loop(i) {var _cx4;var disableItems = _this3.disableItems(i) || false;var className = (0, _Emotion.cx)((_cx4 = {}, _cx4[_DateSelect.styles.menuItem(_this3.theme)] = true, _cx4[_DateSelect.styles.menuItemSelected(_this3.theme)] = i === 0, _cx4[_DateSelect.styles.menuItemActive(_this3.theme)] = i === _this3.state.current, _cx4[_DateSelect.styles.menuItemDisabled(_this3.theme)] = disableItems, _cx4));var clickHandler = { onMouseDown: preventDefault, onClick: _this3.handleItemClick(i) };items.push( /*#__PURE__*/_react.default.createElement("button", (0, _extends2.default)({ "aria-label": "\u0412\u044B\u0431\u0440\u0430\u0442\u044C " + (_this3.getProps().type === 'year' ? 'год' : 'месяц') + " " + _this3.getItem(i), "data-tid": DateSelectDataTids.menuItem, "data-prop-disabled": disableItems, key: i, className: className, onMouseEnter: function onMouseEnter() {return _this3.setState({ current: i });}, onMouseLeave: function onMouseLeave() {return _this3.setState({ current: null });} }, clickHandler), _this3.getItem(i)));};for (var i = from; i < to; ++i) {_loop(i);}var style = { top: top - 5, left: 0, right: 0 };var shiftStyle = { position: 'relative', top: -shift };var holderClass = (0, _Emotion.cx)((_cx3 = {}, _cx3[_DateSelect.styles.menuHolder(this.theme)] = true, _cx3[_DateSelect.styles.isTopCapped()] = this.state.topCapped, _cx3[_DateSelect.styles.isBotCapped()] = this.state.botCapped, _cx3));var dropdownOffset = -itemHeight;if (nodeTop < -top) {var overflowOffsetDelta = this.state.topCapped ? 6 : 17;dropdownOffset -= nodeTop + top - overflowOffsetDelta;}var iconUp = (0, _ThemeHelpers.isTheme2022)(this.theme) ? /*#__PURE__*/_react.default.createElement(_ArrowCUpIcon16Regular.ArrowCUpIcon16Regular, { color: "#ADADAD" }) : /*#__PURE__*/_react.default.createElement(_px.ArrowChevronUpIcon, null);var iconDown = (0, _ThemeHelpers.isTheme2022)(this.theme) ? /*#__PURE__*/_react.default.createElement(_ArrowCDownIcon16Regular.ArrowCDownIcon16Regular, { color: "#ADADAD" }) : /*#__PURE__*/_react.default.createElement(_px.ArrowChevronDownIcon, null);return /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.close, onFocusOutside: this.close, active: true }, /*#__PURE__*/_react.default.createElement(_DropdownContainer.DropdownContainer, { "data-tid": DateSelectDataTids.menu, id: id, getParent: this.getAnchor, offsetY: dropdownOffset, offsetX: -10 }, /*#__PURE__*/_react.default.createElement("div", { className: holderClass, style: style }, !this.state.topCapped && /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_DateSelect.styles.menu(this.theme), _DateSelect.styles.menuUp()), onClick: this.handleUp, onMouseDown: this.handleLongClickUp, onMouseUp: this.handleLongClickStop, onMouseLeave: this.handleLongClickStop, onTouchStart: this.handleLongClickUp, onTouchEnd: this.handleLongClickStop }, /*#__PURE__*/_react.default.createElement("span", null, iconUp)), /*#__PURE__*/_react.default.createElement("div", { className: _DateSelect.styles.itemsHolder(), style: { height: height } }, /*#__PURE__*/_react.default.createElement("div", { ref: this.refItemsContainer, style: shiftStyle }, items)), !this.state.botCapped && /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_DateSelect.styles.menu(this.theme), _DateSelect.styles.menuDown()), onClick: this.handleDown, onMouseDown: this.handleLongClickDown, onMouseUp: this.handleLongClickStop, onMouseLeave: this.handleLongClickStop, onTouchStart: this.handleLongClickDown, onTouchEnd: this.handleLongClickStop }, /*#__PURE__*/_react.default.createElement("span", null, iconDown)))));};_proto.getItem = function getItem(index) {
|
|
531
535
|
var value = this.props.value + index;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["DateSelect.tsx"],"names":["itemHeight","visibleYearsCount","itemsToMoveCount","monthsCount","defaultMinYear","defaultMaxYear","calculatePos","pos","minPos","maxPos","DateSelectDataTids","caption","menuItem","menu","DateSelect","DatePickerLocaleHelper","getProps","defaultProps","state","botCapped","current","height","opened","top","topCapped","nodeTop","Infinity","root","itemsContainer","longClickTimer","setPositionRepeatTimer","yearStep","touchStartY","open","props","disabled","setPosition","setState","close","menuId","refRoot","element","setNodeTop","timeout","clearTimeout","setTimeout","refItemsContainer","addEventListener","handleWheel","passive","removeEventListener","isMobile","handleTouchStart","handleTouchMove","handleLongClickUp","event","preventDefault","window","setInterval","handleLongClickDown","handleLongClickStop","getAnchor","WheelEvent","stopPropagation","deltaY","deltaMode","TouchEvent","targetTouches","clientY","changedTouches","pixelRatio","devicePixelRatio","handleItemClick","shift","value","onValueChange","handleKey","e","handleUp","handleDown","componentDidUpdate","componentDidMount","listener","LayoutEvents","addListener","componentWillUnmount","remove","render","theme","renderMain","renderMain2022","width","isInteractiveElement","Tag","rootProps","className","styles","Boolean","style","ref","onClick","undefined","locale","selectChosenAriaLabel","type","selectYearAriaLabel","selectMonthAriaLabel","getItem","arrow","arrowDisabled","renderMenu","root2022","globalClasses","disableItems","index","maxValue","minValue","id","from","to","Math","ceil","items","i","menuItemSelected","menuItemActive","menuItemDisabled","clickHandler","onMouseDown","push","left","right","shiftStyle","position","holderClass","menuHolder","isTopCapped","isBotCapped","dropdownOffset","overflowOffsetDelta","iconUp","iconDown","menuUp","itemsHolder","menuDown","months","getMinPos","getMaxPos","calculatedPos","React","PureComponent","__KONTUR_REACT_UI__","propTypes","PropTypes","bool","string","number","isRequired","oneOfType","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../../components/DatePicker/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../RenderLayer';\nimport { DropdownContainer } from '../DropdownContainer';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ArrowTriangleUpDownIcon, ArrowChevronDownIcon, ArrowChevronUpIcon } from '../icons/16px';\nimport { isMobile } from '../../lib/client';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ArrowCollapseCVOpenIcon16Regular } from '../icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular';\nimport { ArrowCUpIcon16Regular } from '../icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular';\nimport { ArrowCDownIcon16Regular } from '../icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular';\n\nimport { globalClasses, styles } from './DateSelect.styles';\n\nconst itemHeight = 24;\nconst visibleYearsCount = 11;\nconst itemsToMoveCount = -5;\nconst monthsCount = 12;\nconst defaultMinYear = 1900;\nconst defaultMaxYear = 2100;\n\nexport interface DateSelectProps {\n disabled?: boolean | null;\n onValueChange: (value: number) => void;\n type?: 'month' | 'year';\n value: number;\n width?: number | string;\n minValue?: number;\n maxValue?: number;\n}\n\nexport interface DateSelectState {\n botCapped: boolean;\n current: Nullable<number>;\n height: number;\n opened: boolean;\n pos: number;\n top: number;\n topCapped: boolean;\n nodeTop: number;\n}\n\nconst calculatePos = (pos: number, minPos: number, maxPos: number) => {\n if (maxPos <= pos) {\n return maxPos;\n }\n\n if (minPos >= pos) {\n return minPos;\n }\n\n return pos;\n};\n\nexport const DateSelectDataTids = {\n caption: 'DateSelect__caption',\n menuItem: 'DateSelect__menuItem',\n menu: 'DateSelect__menu',\n} as const;\n\ntype DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;\n\n@locale('Calendar', DatePickerLocaleHelper)\nexport class DateSelect extends React.PureComponent<DateSelectProps, DateSelectState> {\n public static __KONTUR_REACT_UI__ = 'DateSelect';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n\n type: PropTypes.string,\n\n value: PropTypes.number.isRequired,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onValueChange: PropTypes.func,\n\n minValue: PropTypes.number,\n\n maxValue: PropTypes.number,\n };\n\n public static defaultProps: DefaultProps = {\n type: 'year',\n width: 'auto',\n };\n\n private getProps = createPropsGetter(DateSelect.defaultProps);\n\n public state = {\n botCapped: false,\n current: 0,\n height: 0,\n opened: false,\n pos: 0,\n top: 0,\n topCapped: false,\n nodeTop: Infinity,\n };\n\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private root: HTMLElement | null = null;\n private itemsContainer: HTMLElement | null = null;\n private listener: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private timeout: NodeJS.Timeout | undefined;\n private longClickTimer = 0;\n private setPositionRepeatTimer = 0;\n private yearStep = 3;\n private touchStartY: Nullable<number> = null;\n\n public componentDidUpdate() {\n this.setNodeTop();\n }\n\n public componentDidMount() {\n this.listener = LayoutEvents.addListener(this.setNodeTop);\n this.setNodeTop();\n window.addEventListener('keydown', this.handleKey);\n }\n\n public componentWillUnmount() {\n if (this.listener) {\n this.listener.remove();\n }\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n if (this.longClickTimer) {\n clearTimeout(this.longClickTimer);\n }\n if (this.setPositionRepeatTimer) {\n clearTimeout(this.setPositionRepeatTimer);\n }\n window.removeEventListener('keydown', this.handleKey);\n }\n\n /**\n * @public\n */\n public open = () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.state.opened) {\n return;\n }\n\n this.setPosition(0);\n this.setState({\n opened: true,\n current: 0,\n });\n };\n\n /**\n * @public\n */\n public close = () => {\n if (!this.state.opened) {\n return;\n }\n\n this.setState({ opened: false });\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private menuId = DateSelectDataTids.menu + getRandomID();\n\n private renderMain() {\n if (isTheme2022(this.theme)) {\n return this.renderMain2022();\n }\n\n const { disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: cx({\n [styles.root(this.theme)]: true,\n [styles.disabled()]: Boolean(disabled),\n }),\n style: { width },\n ref: this.refRoot,\n onClick: this.open,\n 'aria-expanded': isInteractiveElement ? this.state.opened : undefined,\n 'aria-controls': !disabled ? this.menuId : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(0)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(0)}\n <div\n className={cx({\n [styles.arrow(this.theme)]: true,\n [styles.arrowDisabled()]: Boolean(disabled),\n })}\n >\n <ArrowTriangleUpDownIcon size={12} />\n </div>\n </div>\n {this.state.opened && this.renderMenu(this.menuId)}\n </Tag>\n );\n }\n\n private renderMain2022() {\n const { disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: cx(styles.root(this.theme), styles.root2022(), disabled && styles.disabled()),\n style: { width },\n ref: this.refRoot,\n onClick: this.open,\n 'aria-expanded': isInteractiveElement ? this.state.opened : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(0)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(0)}\n </div>\n {isInteractiveElement && (\n <ArrowCollapseCVOpenIcon16Regular className={cx(globalClasses.arrow)} color=\"#ADADAD\" />\n )}\n {this.state.opened && this.renderMenu(this.menuId)}\n </Tag>\n );\n }\n\n private refRoot = (element: HTMLElement | null) => {\n this.root = element;\n };\n\n private setNodeTop = () => {\n const root = this.root;\n if (!root) {\n return;\n }\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n this.timeout = setTimeout(() =>\n this.setState({\n nodeTop: getDOMRect(root).top,\n }),\n );\n };\n\n private disableItems(index: number) {\n const value = this.props.value + index;\n if (isNonNullable(this.props.maxValue) && isNonNullable(this.props.minValue)) {\n return value > this.props.maxValue || value < this.props.minValue;\n }\n\n if (isNonNullable(this.props.minValue)) {\n return value < this.props.minValue;\n }\n\n if (isNonNullable(this.props.maxValue)) {\n return value > this.props.maxValue;\n }\n }\n\n private renderMenu(id?: string): React.ReactNode {\n const { top, height, nodeTop } = this.state;\n\n let shift = this.state.pos % itemHeight;\n if (shift < 0) {\n shift += itemHeight;\n }\n\n const from = (this.state.pos - shift + top) / itemHeight;\n const to = from + Math.ceil((height + shift) / itemHeight);\n const items = [];\n\n for (let i = from; i < to; ++i) {\n const disableItems = this.disableItems(i) || false;\n const className = cx({\n [styles.menuItem(this.theme)]: true,\n [styles.menuItemSelected(this.theme)]: i === 0,\n [styles.menuItemActive(this.theme)]: i === this.state.current,\n [styles.menuItemDisabled(this.theme)]: disableItems,\n });\n const clickHandler = {\n onMouseDown: preventDefault,\n onClick: this.handleItemClick(i),\n };\n items.push(\n <button\n aria-label={`Выбрать ${this.getProps().type === 'year' ? 'год' : 'месяц'} ${this.getItem(i)}`}\n data-tid={DateSelectDataTids.menuItem}\n data-prop-disabled={disableItems}\n key={i}\n className={className}\n onMouseEnter={() => this.setState({ current: i })}\n onMouseLeave={() => this.setState({ current: null })}\n {...clickHandler}\n >\n {this.getItem(i)}\n </button>,\n );\n }\n const style: {\n left?: number | string;\n right?: number | string;\n top: number;\n width?: number | string;\n } = {\n top: top - 5,\n left: 0,\n right: 0,\n };\n\n const shiftStyle: React.CSSProperties = {\n position: 'relative',\n top: -shift,\n };\n\n const holderClass = cx({\n [styles.menuHolder(this.theme)]: true,\n [styles.isTopCapped()]: this.state.topCapped,\n [styles.isBotCapped()]: this.state.botCapped,\n });\n\n let dropdownOffset = -itemHeight;\n if (nodeTop < -top) {\n const overflowOffsetDelta = this.state.topCapped ? 6 : 17;\n dropdownOffset -= nodeTop + top - overflowOffsetDelta;\n }\n\n const iconUp = isTheme2022(this.theme) ? <ArrowCUpIcon16Regular color=\"#ADADAD\" /> : <ArrowChevronUpIcon />;\n const iconDown = isTheme2022(this.theme) ? <ArrowCDownIcon16Regular color=\"#ADADAD\" /> : <ArrowChevronDownIcon />;\n\n return (\n <RenderLayer onClickOutside={this.close} onFocusOutside={this.close} active>\n <DropdownContainer\n data-tid={DateSelectDataTids.menu}\n id={id}\n getParent={this.getAnchor}\n offsetY={dropdownOffset}\n offsetX={-10}\n >\n <div className={holderClass} style={style}>\n {!this.state.topCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuUp())}\n onClick={this.handleUp}\n onMouseDown={this.handleLongClickUp}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickUp}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>{iconUp}</span>\n </div>\n )}\n <div className={styles.itemsHolder()} style={{ height }}>\n <div ref={this.refItemsContainer} style={shiftStyle}>\n {items}\n </div>\n </div>\n {!this.state.botCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuDown())}\n onClick={this.handleDown}\n onMouseDown={this.handleLongClickDown}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickDown}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>{iconDown}</span>\n </div>\n )}\n </div>\n </DropdownContainer>\n </RenderLayer>\n );\n }\n\n private refItemsContainer = (element: HTMLElement | null) => {\n if (!this.itemsContainer && element) {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('wheel', this.handleWheel);\n }\n\n if (isMobile) {\n if (!this.itemsContainer && element) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.handleTouchMove);\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('touchstart', this.handleTouchStart);\n this.itemsContainer.removeEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n this.itemsContainer = element;\n };\n\n private handleLongClickUp = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = window.setTimeout(() => {\n this.setPositionRepeatTimer = window.setInterval(() => this.setPosition(this.state.pos - itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickDown = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = window.setTimeout(() => {\n this.setPositionRepeatTimer = window.setInterval(() => this.setPosition(this.state.pos + itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickStop = () => {\n clearTimeout(this.longClickTimer);\n clearTimeout(this.setPositionRepeatTimer);\n };\n\n private getAnchor = () => this.root;\n\n private handleWheel = (event: Event) => {\n if (!(event instanceof WheelEvent)) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n\n let deltaY = event.deltaY;\n if (event.deltaMode === 1) {\n deltaY *= itemHeight;\n } else if (event.deltaMode === 2) {\n deltaY *= itemHeight * 4;\n }\n const pos = this.state.pos + deltaY;\n this.setPosition(pos);\n };\n\n private handleTouchStart = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n this.touchStartY = event.targetTouches[0].clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n const pixelRatio = window.devicePixelRatio;\n\n const deltaY = ((this.touchStartY || 0) - clientY) / pixelRatio;\n const pos = this.state.pos + deltaY + deltaY / itemHeight;\n\n this.touchStartY = clientY;\n\n this.setPosition(pos);\n };\n\n private handleItemClick = (shift: number) => {\n return () => {\n const value = this.props.value + shift;\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n this.setState({ opened: false });\n };\n };\n\n private handleKey = (e: KeyboardEvent) => {\n if (this.state.opened && isKeyEscape(e)) {\n e.preventDefault();\n this.close();\n e.stopPropagation();\n }\n };\n\n private handleUp = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos - itemHeight * this.yearStep);\n };\n\n private handleDown = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos + itemHeight * this.yearStep);\n };\n\n private getItem(index: number) {\n const value = this.props.value + index;\n if (this.getProps().type === 'month') {\n return this.locale.months?.[value];\n }\n return value;\n }\n\n private setPosition(pos: number) {\n let top = itemsToMoveCount * itemHeight;\n let height = visibleYearsCount * itemHeight;\n if (this.getProps().type === 'month') {\n top = -this.props.value * itemHeight;\n height = monthsCount * itemHeight;\n }\n\n const minPos = this.getMinPos() - top;\n const maxPos = this.getMaxPos() - top - height + itemHeight;\n\n const calculatedPos = calculatePos(pos, minPos, maxPos);\n const topCapped = calculatedPos <= minPos;\n const botCapped = calculatedPos >= maxPos;\n\n this.setState({ pos: calculatedPos, top, height, topCapped, botCapped });\n }\n\n private getMinPos() {\n const type = this.getProps().type;\n if (type === 'month') {\n return -this.props.value * itemHeight;\n } else if (type === 'year') {\n return ((this.props.minValue || defaultMinYear) - this.props.value) * itemHeight;\n }\n return -Infinity; // Be defensive.\n }\n\n private getMaxPos() {\n const type = this.getProps().type;\n if (type === 'month') {\n return (visibleYearsCount - this.props.value) * itemHeight;\n } else if (type === 'year') {\n return ((this.props.maxValue || defaultMaxYear) - this.props.value) * itemHeight;\n }\n return Infinity; // Be defensive.\n }\n}\n\nfunction preventDefault(e: React.SyntheticEvent) {\n e.preventDefault();\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["DateSelect.tsx"],"names":["itemHeight","visibleYearsCount","itemsToMoveCount","monthsCount","defaultMinYear","defaultMaxYear","calculatePos","pos","minPos","maxPos","DateSelectDataTids","caption","menuItem","menu","DateSelect","DatePickerLocaleHelper","getProps","defaultProps","state","botCapped","current","height","opened","top","topCapped","nodeTop","Infinity","root","itemsContainer","yearStep","touchStartY","open","props","disabled","setPosition","setState","close","menuId","refRoot","element","setNodeTop","timeout","globalObject","clearTimeout","setTimeout","refItemsContainer","addEventListener","handleWheel","passive","removeEventListener","isMobile","handleTouchStart","handleTouchMove","handleLongClickUp","event","preventDefault","longClickTimer","setPositionRepeatTimer","setInterval","handleLongClickDown","handleLongClickStop","getAnchor","WheelEvent","stopPropagation","deltaY","deltaMode","TouchEvent","targetTouches","clientY","changedTouches","pixelRatio","devicePixelRatio","handleItemClick","shift","value","onValueChange","handleKey","e","handleUp","handleDown","componentDidUpdate","componentDidMount","listener","LayoutEvents","addListener","componentWillUnmount","remove","render","theme","renderMain","renderMain2022","width","isInteractiveElement","Tag","rootProps","className","styles","Boolean","style","ref","onClick","undefined","locale","selectChosenAriaLabel","type","selectYearAriaLabel","selectMonthAriaLabel","getItem","arrow","arrowDisabled","renderMenu","root2022","globalClasses","disableItems","index","maxValue","minValue","id","from","to","Math","ceil","items","i","menuItemSelected","menuItemActive","menuItemDisabled","clickHandler","onMouseDown","push","left","right","shiftStyle","position","holderClass","menuHolder","isTopCapped","isBotCapped","dropdownOffset","overflowOffsetDelta","iconUp","iconDown","menuUp","itemsHolder","menuDown","months","getMinPos","getMaxPos","calculatedPos","React","PureComponent","__KONTUR_REACT_UI__","propTypes","PropTypes","bool","string","number","isRequired","oneOfType","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject, isBrowser, SafeTimer } from '@skbkontur/global-object';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../../components/DatePicker/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../RenderLayer';\nimport { DropdownContainer } from '../DropdownContainer';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ArrowTriangleUpDownIcon, ArrowChevronDownIcon, ArrowChevronUpIcon } from '../icons/16px';\nimport { isMobile } from '../../lib/client';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ArrowCollapseCVOpenIcon16Regular } from '../icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular';\nimport { ArrowCUpIcon16Regular } from '../icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular';\nimport { ArrowCDownIcon16Regular } from '../icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { globalClasses, styles } from './DateSelect.styles';\n\nconst itemHeight = 24;\nconst visibleYearsCount = 11;\nconst itemsToMoveCount = -5;\nconst monthsCount = 12;\nconst defaultMinYear = 1900;\nconst defaultMaxYear = 2100;\n\nexport interface DateSelectProps {\n disabled?: boolean | null;\n onValueChange: (value: number) => void;\n type?: 'month' | 'year';\n value: number;\n width?: number | string;\n minValue?: number;\n maxValue?: number;\n}\n\nexport interface DateSelectState {\n botCapped: boolean;\n current: Nullable<number>;\n height: number;\n opened: boolean;\n pos: number;\n top: number;\n topCapped: boolean;\n nodeTop: number;\n}\n\nconst calculatePos = (pos: number, minPos: number, maxPos: number) => {\n if (maxPos <= pos) {\n return maxPos;\n }\n\n if (minPos >= pos) {\n return minPos;\n }\n\n return pos;\n};\n\nexport const DateSelectDataTids = {\n caption: 'DateSelect__caption',\n menuItem: 'DateSelect__menuItem',\n menu: 'DateSelect__menu',\n} as const;\n\ntype DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;\n\n@locale('Calendar', DatePickerLocaleHelper)\nexport class DateSelect extends React.PureComponent<DateSelectProps, DateSelectState> {\n public static __KONTUR_REACT_UI__ = 'DateSelect';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n\n type: PropTypes.string,\n\n value: PropTypes.number.isRequired,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onValueChange: PropTypes.func,\n\n minValue: PropTypes.number,\n\n maxValue: PropTypes.number,\n };\n\n public static defaultProps: DefaultProps = {\n type: 'year',\n width: 'auto',\n };\n\n private getProps = createPropsGetter(DateSelect.defaultProps);\n\n public state = {\n botCapped: false,\n current: 0,\n height: 0,\n opened: false,\n pos: 0,\n top: 0,\n topCapped: false,\n nodeTop: Infinity,\n };\n\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private root: HTMLElement | null = null;\n private itemsContainer: HTMLElement | null = null;\n private listener: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private timeout: SafeTimer;\n private longClickTimer: SafeTimer;\n private setPositionRepeatTimer: SafeTimer;\n private yearStep = 3;\n private touchStartY: Nullable<number> = null;\n\n public componentDidUpdate() {\n this.setNodeTop();\n }\n\n public componentDidMount() {\n this.listener = LayoutEvents.addListener(this.setNodeTop);\n this.setNodeTop();\n globalObject.addEventListener?.('keydown', this.handleKey);\n }\n\n public componentWillUnmount() {\n if (this.listener) {\n this.listener.remove();\n }\n if (this.timeout) {\n globalObject.clearTimeout(this.timeout);\n }\n if (this.longClickTimer) {\n globalObject.clearTimeout(this.longClickTimer);\n }\n if (this.setPositionRepeatTimer) {\n globalObject.clearTimeout(this.setPositionRepeatTimer);\n }\n globalObject.removeEventListener?.('keydown', this.handleKey);\n }\n\n /**\n * @public\n */\n public open = () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.state.opened) {\n return;\n }\n\n this.setPosition(0);\n this.setState({\n opened: true,\n current: 0,\n });\n };\n\n /**\n * @public\n */\n public close = () => {\n if (!this.state.opened) {\n return;\n }\n\n this.setState({ opened: false });\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private menuId = DateSelectDataTids.menu + getRandomID();\n\n private renderMain() {\n if (isTheme2022(this.theme)) {\n return this.renderMain2022();\n }\n\n const { disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: cx({\n [styles.root(this.theme)]: true,\n [styles.disabled()]: Boolean(disabled),\n }),\n style: { width },\n ref: this.refRoot,\n onClick: this.open,\n 'aria-expanded': isInteractiveElement ? this.state.opened : undefined,\n 'aria-controls': !disabled ? this.menuId : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(0)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(0)}\n <div\n className={cx({\n [styles.arrow(this.theme)]: true,\n [styles.arrowDisabled()]: Boolean(disabled),\n })}\n >\n <ArrowTriangleUpDownIcon size={12} />\n </div>\n </div>\n {this.state.opened && this.renderMenu(this.menuId)}\n </Tag>\n );\n }\n\n private renderMain2022() {\n const { disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: cx(styles.root(this.theme), styles.root2022(), disabled && styles.disabled()),\n style: { width },\n ref: this.refRoot,\n onClick: this.open,\n 'aria-expanded': isInteractiveElement ? this.state.opened : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(0)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(0)}\n </div>\n {isInteractiveElement && (\n <ArrowCollapseCVOpenIcon16Regular className={cx(globalClasses.arrow)} color=\"#ADADAD\" />\n )}\n {this.state.opened && this.renderMenu(this.menuId)}\n </Tag>\n );\n }\n\n private refRoot = (element: HTMLElement | null) => {\n this.root = element;\n };\n\n private setNodeTop = () => {\n const root = this.root;\n if (!root) {\n return;\n }\n if (this.timeout) {\n globalObject.clearTimeout(this.timeout);\n }\n this.timeout = globalObject.setTimeout(\n () =>\n this.setState({\n nodeTop: getDOMRect(root).top,\n }),\n 0,\n );\n };\n\n private disableItems(index: number) {\n const value = this.props.value + index;\n if (isNonNullable(this.props.maxValue) && isNonNullable(this.props.minValue)) {\n return value > this.props.maxValue || value < this.props.minValue;\n }\n\n if (isNonNullable(this.props.minValue)) {\n return value < this.props.minValue;\n }\n\n if (isNonNullable(this.props.maxValue)) {\n return value > this.props.maxValue;\n }\n }\n\n private renderMenu(id?: string): React.ReactNode {\n const { top, height, nodeTop } = this.state;\n\n let shift = this.state.pos % itemHeight;\n if (shift < 0) {\n shift += itemHeight;\n }\n\n const from = (this.state.pos - shift + top) / itemHeight;\n const to = from + Math.ceil((height + shift) / itemHeight);\n const items = [];\n\n for (let i = from; i < to; ++i) {\n const disableItems = this.disableItems(i) || false;\n const className = cx({\n [styles.menuItem(this.theme)]: true,\n [styles.menuItemSelected(this.theme)]: i === 0,\n [styles.menuItemActive(this.theme)]: i === this.state.current,\n [styles.menuItemDisabled(this.theme)]: disableItems,\n });\n const clickHandler = {\n onMouseDown: preventDefault,\n onClick: this.handleItemClick(i),\n };\n items.push(\n <button\n aria-label={`Выбрать ${this.getProps().type === 'year' ? 'год' : 'месяц'} ${this.getItem(i)}`}\n data-tid={DateSelectDataTids.menuItem}\n data-prop-disabled={disableItems}\n key={i}\n className={className}\n onMouseEnter={() => this.setState({ current: i })}\n onMouseLeave={() => this.setState({ current: null })}\n {...clickHandler}\n >\n {this.getItem(i)}\n </button>,\n );\n }\n const style: {\n left?: number | string;\n right?: number | string;\n top: number;\n width?: number | string;\n } = {\n top: top - 5,\n left: 0,\n right: 0,\n };\n\n const shiftStyle: React.CSSProperties = {\n position: 'relative',\n top: -shift,\n };\n\n const holderClass = cx({\n [styles.menuHolder(this.theme)]: true,\n [styles.isTopCapped()]: this.state.topCapped,\n [styles.isBotCapped()]: this.state.botCapped,\n });\n\n let dropdownOffset = -itemHeight;\n if (nodeTop < -top) {\n const overflowOffsetDelta = this.state.topCapped ? 6 : 17;\n dropdownOffset -= nodeTop + top - overflowOffsetDelta;\n }\n\n const iconUp = isTheme2022(this.theme) ? <ArrowCUpIcon16Regular color=\"#ADADAD\" /> : <ArrowChevronUpIcon />;\n const iconDown = isTheme2022(this.theme) ? <ArrowCDownIcon16Regular color=\"#ADADAD\" /> : <ArrowChevronDownIcon />;\n\n return (\n <RenderLayer onClickOutside={this.close} onFocusOutside={this.close} active>\n <DropdownContainer\n data-tid={DateSelectDataTids.menu}\n id={id}\n getParent={this.getAnchor}\n offsetY={dropdownOffset}\n offsetX={-10}\n >\n <div className={holderClass} style={style}>\n {!this.state.topCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuUp())}\n onClick={this.handleUp}\n onMouseDown={this.handleLongClickUp}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickUp}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>{iconUp}</span>\n </div>\n )}\n <div className={styles.itemsHolder()} style={{ height }}>\n <div ref={this.refItemsContainer} style={shiftStyle}>\n {items}\n </div>\n </div>\n {!this.state.botCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuDown())}\n onClick={this.handleDown}\n onMouseDown={this.handleLongClickDown}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickDown}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>{iconDown}</span>\n </div>\n )}\n </div>\n </DropdownContainer>\n </RenderLayer>\n );\n }\n\n private refItemsContainer = (element: HTMLElement | null) => {\n if (!this.itemsContainer && element) {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('wheel', this.handleWheel);\n }\n\n if (isMobile) {\n if (!this.itemsContainer && element) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.handleTouchMove);\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('touchstart', this.handleTouchStart);\n this.itemsContainer.removeEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n this.itemsContainer = element;\n };\n\n private handleLongClickUp = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = globalObject.setTimeout(() => {\n this.setPositionRepeatTimer = globalObject.setInterval(() => this.setPosition(this.state.pos - itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickDown = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = globalObject.setTimeout(() => {\n this.setPositionRepeatTimer = globalObject.setInterval(() => this.setPosition(this.state.pos + itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickStop = () => {\n globalObject.clearTimeout(this.longClickTimer);\n globalObject.clearTimeout(this.setPositionRepeatTimer);\n };\n\n private getAnchor = () => this.root;\n\n private handleWheel = (event: Event) => {\n if (!isInstanceOf(event, globalObject.WheelEvent)) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n\n let deltaY = event.deltaY;\n if (event.deltaMode === 1) {\n deltaY *= itemHeight;\n } else if (event.deltaMode === 2) {\n deltaY *= itemHeight * 4;\n }\n const pos = this.state.pos + deltaY;\n this.setPosition(pos);\n };\n\n private handleTouchStart = (event: Event) => {\n if (!isInstanceOf(event, globalObject.TouchEvent)) {\n return;\n }\n\n this.touchStartY = event.targetTouches[0].clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!isInstanceOf(event, globalObject.TouchEvent) || !isBrowser(globalObject)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n const pixelRatio = globalObject.devicePixelRatio;\n\n const deltaY = ((this.touchStartY || 0) - clientY) / pixelRatio;\n const pos = this.state.pos + deltaY + deltaY / itemHeight;\n\n this.touchStartY = clientY;\n\n this.setPosition(pos);\n };\n\n private handleItemClick = (shift: number) => {\n return () => {\n const value = this.props.value + shift;\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n this.setState({ opened: false });\n };\n };\n\n private handleKey = (e: KeyboardEvent) => {\n if (this.state.opened && isKeyEscape(e)) {\n e.preventDefault();\n this.close();\n e.stopPropagation();\n }\n };\n\n private handleUp = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos - itemHeight * this.yearStep);\n };\n\n private handleDown = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos + itemHeight * this.yearStep);\n };\n\n private getItem(index: number) {\n const value = this.props.value + index;\n if (this.getProps().type === 'month') {\n return this.locale.months?.[value];\n }\n return value;\n }\n\n private setPosition(pos: number) {\n let top = itemsToMoveCount * itemHeight;\n let height = visibleYearsCount * itemHeight;\n if (this.getProps().type === 'month') {\n top = -this.props.value * itemHeight;\n height = monthsCount * itemHeight;\n }\n\n const minPos = this.getMinPos() - top;\n const maxPos = this.getMaxPos() - top - height + itemHeight;\n\n const calculatedPos = calculatePos(pos, minPos, maxPos);\n const topCapped = calculatedPos <= minPos;\n const botCapped = calculatedPos >= maxPos;\n\n this.setState({ pos: calculatedPos, top, height, topCapped, botCapped });\n }\n\n private getMinPos() {\n const type = this.getProps().type;\n if (type === 'month') {\n return -this.props.value * itemHeight;\n } else if (type === 'year') {\n return ((this.props.minValue || defaultMinYear) - this.props.value) * itemHeight;\n }\n return -Infinity; // Be defensive.\n }\n\n private getMaxPos() {\n const type = this.getProps().type;\n if (type === 'month') {\n return (visibleYearsCount - this.props.value) * itemHeight;\n } else if (type === 'year') {\n return ((this.props.maxValue || defaultMaxYear) - this.props.value) * itemHeight;\n }\n return Infinity; // Be defensive.\n }\n}\n\nfunction preventDefault(e: React.SyntheticEvent) {\n e.preventDefault();\n}\n"]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.DropdownContainer = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
|
|
2
|
+
var _globalObject = require("@skbkontur/global-object");
|
|
2
3
|
|
|
4
|
+
var _isInstanceOf = require("../../lib/isInstanceOf");
|
|
3
5
|
var LayoutEvents = _interopRequireWildcard(require("../../lib/LayoutEvents"));
|
|
4
6
|
var _RenderContainer = require("../RenderContainer");
|
|
5
7
|
var _ZIndex = require("../ZIndex");
|
|
@@ -116,24 +118,20 @@ DropdownContainer = /*#__PURE__*/function (_React$PureComponent) {(0, _inheritsL
|
|
|
116
118
|
_this.dom = element;
|
|
117
119
|
};_this.
|
|
118
120
|
|
|
119
|
-
isElement = function (node) {
|
|
120
|
-
return node instanceof Element;
|
|
121
|
-
};_this.
|
|
122
|
-
|
|
123
121
|
position = function () {
|
|
124
122
|
var target = _this.props.getParent();
|
|
125
123
|
var dom = _this.dom;
|
|
126
124
|
|
|
127
|
-
if (target &&
|
|
125
|
+
if (target && (0, _isInstanceOf.isInstanceOf)(target, _globalObject.globalObject.Element) && dom && (0, _globalObject.isBrowser)(_globalObject.globalObject)) {
|
|
128
126
|
var targetRect = (0, _getDOMRect.getDOMRect)(target);
|
|
129
|
-
var
|
|
127
|
+
var _globalObject$documen = _globalObject.globalObject.document,body = _globalObject$documen.body,docEl = _globalObject$documen.documentElement;
|
|
130
128
|
|
|
131
129
|
if (!docEl) {
|
|
132
130
|
throw Error('There is no "documentElement" in "document"');
|
|
133
131
|
}
|
|
134
132
|
|
|
135
|
-
var scrollX =
|
|
136
|
-
var scrollY =
|
|
133
|
+
var scrollX = _globalObject.globalObject.pageXOffset || docEl.scrollLeft || 0;
|
|
134
|
+
var scrollY = _globalObject.globalObject.pageYOffset || docEl.scrollTop || 0;
|
|
137
135
|
|
|
138
136
|
var left = null;
|
|
139
137
|
var right = null;
|
|
@@ -174,7 +172,7 @@ DropdownContainer = /*#__PURE__*/function (_React$PureComponent) {(0, _inheritsL
|
|
|
174
172
|
};_this.
|
|
175
173
|
|
|
176
174
|
getHeight = function () {
|
|
177
|
-
if (!
|
|
175
|
+
if (!(0, _isInstanceOf.isInstanceOf)(_this.dom, _globalObject.globalObject.Element)) {
|
|
178
176
|
return 0;
|
|
179
177
|
}
|
|
180
178
|
var child = _this.dom.children.item(0);
|
|
@@ -191,7 +189,7 @@ DropdownContainer = /*#__PURE__*/function (_React$PureComponent) {(0, _inheritsL
|
|
|
191
189
|
var offsetX = _this.getProps().offsetX || 0;
|
|
192
190
|
var offsetY = _this.getProps().offsetY || 0;
|
|
193
191
|
var top = position.top,bottom = position.bottom,left = position.left,right = position.right;
|
|
194
|
-
if (
|
|
192
|
+
if ((0, _isInstanceOf.isInstanceOf)(target, _globalObject.globalObject.Element)) {
|
|
195
193
|
var targetHeight = (0, _getDOMRect.getDOMRect)(target).height;
|
|
196
194
|
return {
|
|
197
195
|
top: top !== null ? targetHeight + offsetY : null,
|
|
@@ -210,9 +208,12 @@ DropdownContainer = /*#__PURE__*/function (_React$PureComponent) {(0, _inheritsL
|
|
|
210
208
|
|
|
211
209
|
|
|
212
210
|
var getIsDocumentElementRoot = function getIsDocumentElementRoot() {
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
211
|
+
if (!(0, _globalObject.isBrowser)(_globalObject.globalObject)) {
|
|
212
|
+
return false;
|
|
213
|
+
}
|
|
214
|
+
var _globalObject$documen2 = _globalObject.globalObject.document,body = _globalObject$documen2.body,documentElement = _globalObject$documen2.documentElement;
|
|
215
|
+
var htmlPosition = _globalObject.globalObject.getComputedStyle(documentElement).position;
|
|
216
|
+
var bodyPosition = _globalObject.globalObject.getComputedStyle(body).position;
|
|
216
217
|
|
|
217
218
|
var hasLimitedHeightRoot = body.scrollHeight > body.clientHeight;
|
|
218
219
|
var hasStaticRoot = htmlPosition === 'static' && bodyPosition === 'static';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["DropdownContainer.tsx"],"names":["DropdownContainer","props","getProps","defaultProps","ZIndexRef","element","dom","isElement","node","Element","position","target","getParent","targetRect","document","body","docEl","documentElement","Error","scrollX","window","pageXOffset","scrollLeft","scrollY","pageYOffset","scrollTop","left","right","align","docWidth","offsetWidth","offsetX","offsetY","bottom","top","distanceToBottom","clientHeight","dropdownHeight","getHeight","state","isDocumentElementRoot","scrollHeight","menuPos","setState","minWidth","getMinWidth","disablePortal","convertToRelativePosition","child","children","item","height","width","targetHeight","getIsDocumentElementRoot","componentDidMount","layoutSub","LayoutEvents","addListener","componentWillUnmount","remove","render","style","undefined","maxWidth","hasFixedWidth","content","id","styles","alignRight","isIE11","React","PureComponent","__KONTUR_REACT_UI__","htmlPosition","getComputedStyle","bodyPosition","hasLimitedHeightRoot","hasStaticRoot"],"mappings":"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","sourcesContent":["import React, { HTMLAttributes } from 'react';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { RenderContainer } from '../RenderContainer';\nimport { ZIndex } from '../ZIndex';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isIE11 } from '../../lib/client';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { CommonProps } from '../CommonWrapper';\n\nimport { styles } from './DropdownContainer.styles';\nimport { getManualPosition, getTopAlignment } from './getManualPosition';\n\nexport interface DropdownContainerPosition {\n top: Nullable<number>;\n bottom: Nullable<number>;\n left: Nullable<number>;\n right: Nullable<number>;\n}\n\nexport interface DropdownContainerProps\n extends Pick<CommonProps, 'data-tid'>,\n Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n align?: 'left' | 'right';\n getParent: () => Nullable<Element>;\n children?: React.ReactNode;\n disablePortal?: boolean;\n offsetY?: number;\n offsetX?: number;\n hasFixedWidth?: boolean;\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n}\n\nexport interface DropdownContainerState {\n position: Nullable<DropdownContainerPosition>;\n minWidth: number;\n isDocumentElementRoot?: boolean;\n}\n\ntype DefaultProps = Required<Pick<DropdownContainerProps, 'align' | 'disablePortal' | 'offsetY' | 'offsetX'>>;\n\nexport class DropdownContainer extends React.PureComponent<DropdownContainerProps, DropdownContainerState> {\n public static __KONTUR_REACT_UI__ = 'DropdownContainer';\n\n public static defaultProps: DefaultProps = {\n align: 'left',\n disablePortal: false,\n offsetX: 0,\n offsetY: -1,\n };\n\n private getProps = createPropsGetter(DropdownContainer.defaultProps);\n\n private dom: Nullable<HTMLDivElement>;\n private layoutSub: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n\n constructor(props: DropdownContainerProps) {\n super(props);\n\n this.state = { position: null, minWidth: 0, isDocumentElementRoot: getIsDocumentElementRoot() };\n }\n\n public componentDidMount() {\n this.position();\n this.layoutSub = LayoutEvents.addListener(this.position);\n }\n\n public componentWillUnmount() {\n if (this.layoutSub) {\n this.layoutSub.remove();\n }\n }\n\n public render() {\n let style: React.CSSProperties = {\n position: 'absolute',\n top: '0',\n };\n if (this.state.position) {\n const { top, bottom, left, right } = this.state.position;\n style = {\n ...style,\n top: top !== null ? top : undefined,\n bottom: bottom !== null ? bottom : undefined,\n left: left !== null ? left : undefined,\n right: right !== null ? right : undefined,\n minWidth: this.state.minWidth,\n maxWidth: this.props.hasFixedWidth ? this.state.minWidth : undefined,\n };\n }\n\n const content = (\n <ZIndex\n data-tid={this.props['data-tid']}\n id={this.props.id}\n priority={'DropdownContainer'}\n wrapperRef={this.ZIndexRef}\n style={style}\n className={cx({\n [styles.alignRight()]: this.getProps().align === 'right' && !isIE11,\n })}\n >\n {this.props.children}\n </ZIndex>\n );\n\n return this.props.disablePortal ? content : <RenderContainer>{content}</RenderContainer>;\n }\n\n private ZIndexRef = (element: Nullable<HTMLDivElement>) => {\n this.dom = element;\n };\n\n private isElement = (node: Nullable<Element>): node is Element => {\n return node instanceof Element;\n };\n\n public position = () => {\n const target = this.props.getParent();\n const dom = this.dom;\n\n if (target && this.isElement(target) && dom) {\n const targetRect = getDOMRect(target);\n const { body, documentElement: docEl } = document;\n\n if (!docEl) {\n throw Error('There is no \"documentElement\" in \"document\"');\n }\n\n const scrollX = window.pageXOffset || docEl.scrollLeft || 0;\n const scrollY = window.pageYOffset || docEl.scrollTop || 0;\n\n let left = null;\n let right = null;\n\n if (this.getProps().align === 'right') {\n const docWidth = docEl.offsetWidth || 0;\n right = docWidth - (targetRect.right + scrollX) + this.getProps().offsetX;\n } else {\n left = targetRect.left + scrollX + this.getProps().offsetX;\n }\n\n const offsetY = this.getProps().offsetY || 0;\n let bottom = null;\n let top: number | null = targetRect.bottom + scrollY + offsetY;\n\n const distanceToBottom = docEl.clientHeight - targetRect.bottom;\n const dropdownHeight = this.getHeight();\n\n const clientHeight = this.state.isDocumentElementRoot ? docEl.clientHeight : body.scrollHeight;\n if (distanceToBottom < dropdownHeight && targetRect.top > dropdownHeight) {\n top = null;\n bottom = getTopAlignment({ clientHeight, offsetY, scrollY, target });\n }\n\n const position = {\n top,\n left,\n right,\n bottom,\n ...getManualPosition({ menuPos: this.props.menuPos, target, offsetY, clientHeight, scrollY }),\n };\n\n this.setState({\n minWidth: this.getMinWidth(),\n position: this.getProps().disablePortal ? this.convertToRelativePosition(position) : position,\n });\n }\n };\n\n private getHeight = () => {\n if (!this.isElement(this.dom)) {\n return 0;\n }\n const child = this.dom.children.item(0);\n return getDOMRect(child).height;\n };\n\n private getMinWidth = () => {\n const target = this.props.getParent();\n return getDOMRect(target).width;\n };\n\n private convertToRelativePosition = (position: DropdownContainerPosition): DropdownContainerPosition => {\n const target = this.props.getParent();\n const offsetX = this.getProps().offsetX || 0;\n const offsetY = this.getProps().offsetY || 0;\n const { top, bottom, left, right } = position;\n if (target && this.isElement(target)) {\n const targetHeight = getDOMRect(target).height;\n return {\n top: top !== null ? targetHeight + offsetY : null,\n bottom: bottom !== null ? targetHeight + offsetY : null,\n left: left !== null ? offsetX : null,\n right: right !== null ? offsetX : null,\n };\n }\n return {\n top: offsetY,\n bottom: null,\n left: offsetX,\n right: null,\n };\n };\n}\n\nconst getIsDocumentElementRoot = () => {\n const { body, documentElement } = document;\n const htmlPosition = getComputedStyle(documentElement).position;\n const bodyPosition = getComputedStyle(body).position;\n\n const hasLimitedHeightRoot = body.scrollHeight > body.clientHeight;\n const hasStaticRoot = htmlPosition === 'static' && bodyPosition === 'static';\n return hasLimitedHeightRoot || hasStaticRoot;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["DropdownContainer.tsx"],"names":["DropdownContainer","props","getProps","defaultProps","ZIndexRef","element","dom","position","target","getParent","globalObject","Element","targetRect","document","body","docEl","documentElement","Error","scrollX","pageXOffset","scrollLeft","scrollY","pageYOffset","scrollTop","left","right","align","docWidth","offsetWidth","offsetX","offsetY","bottom","top","distanceToBottom","clientHeight","dropdownHeight","getHeight","state","isDocumentElementRoot","scrollHeight","menuPos","setState","minWidth","getMinWidth","disablePortal","convertToRelativePosition","child","children","item","height","width","targetHeight","getIsDocumentElementRoot","componentDidMount","layoutSub","LayoutEvents","addListener","componentWillUnmount","remove","render","style","undefined","maxWidth","hasFixedWidth","content","id","styles","alignRight","isIE11","React","PureComponent","__KONTUR_REACT_UI__","htmlPosition","getComputedStyle","bodyPosition","hasLimitedHeightRoot","hasStaticRoot"],"mappings":"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","sourcesContent":["import React, { HTMLAttributes } from 'react';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { RenderContainer } from '../RenderContainer';\nimport { ZIndex } from '../ZIndex';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isIE11 } from '../../lib/client';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { CommonProps } from '../CommonWrapper';\n\nimport { styles } from './DropdownContainer.styles';\nimport { getManualPosition, getTopAlignment } from './getManualPosition';\n\nexport interface DropdownContainerPosition {\n top: Nullable<number>;\n bottom: Nullable<number>;\n left: Nullable<number>;\n right: Nullable<number>;\n}\n\nexport interface DropdownContainerProps\n extends Pick<CommonProps, 'data-tid'>,\n Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n align?: 'left' | 'right';\n getParent: () => Nullable<Element>;\n children?: React.ReactNode;\n disablePortal?: boolean;\n offsetY?: number;\n offsetX?: number;\n hasFixedWidth?: boolean;\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n}\n\nexport interface DropdownContainerState {\n position: Nullable<DropdownContainerPosition>;\n minWidth: number;\n isDocumentElementRoot?: boolean;\n}\n\ntype DefaultProps = Required<Pick<DropdownContainerProps, 'align' | 'disablePortal' | 'offsetY' | 'offsetX'>>;\n\nexport class DropdownContainer extends React.PureComponent<DropdownContainerProps, DropdownContainerState> {\n public static __KONTUR_REACT_UI__ = 'DropdownContainer';\n\n public static defaultProps: DefaultProps = {\n align: 'left',\n disablePortal: false,\n offsetX: 0,\n offsetY: -1,\n };\n\n private getProps = createPropsGetter(DropdownContainer.defaultProps);\n\n private dom: Nullable<HTMLDivElement>;\n private layoutSub: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n\n constructor(props: DropdownContainerProps) {\n super(props);\n\n this.state = { position: null, minWidth: 0, isDocumentElementRoot: getIsDocumentElementRoot() };\n }\n\n public componentDidMount() {\n this.position();\n this.layoutSub = LayoutEvents.addListener(this.position);\n }\n\n public componentWillUnmount() {\n if (this.layoutSub) {\n this.layoutSub.remove();\n }\n }\n\n public render() {\n let style: React.CSSProperties = {\n position: 'absolute',\n top: '0',\n };\n if (this.state.position) {\n const { top, bottom, left, right } = this.state.position;\n style = {\n ...style,\n top: top !== null ? top : undefined,\n bottom: bottom !== null ? bottom : undefined,\n left: left !== null ? left : undefined,\n right: right !== null ? right : undefined,\n minWidth: this.state.minWidth,\n maxWidth: this.props.hasFixedWidth ? this.state.minWidth : undefined,\n };\n }\n\n const content = (\n <ZIndex\n data-tid={this.props['data-tid']}\n id={this.props.id}\n priority={'DropdownContainer'}\n wrapperRef={this.ZIndexRef}\n style={style}\n className={cx({\n [styles.alignRight()]: this.getProps().align === 'right' && !isIE11,\n })}\n >\n {this.props.children}\n </ZIndex>\n );\n\n return this.props.disablePortal ? content : <RenderContainer>{content}</RenderContainer>;\n }\n\n private ZIndexRef = (element: Nullable<HTMLDivElement>) => {\n this.dom = element;\n };\n\n public position = () => {\n const target = this.props.getParent();\n const dom = this.dom;\n\n if (target && isInstanceOf(target, globalObject.Element) && dom && isBrowser(globalObject)) {\n const targetRect = getDOMRect(target);\n const { body, documentElement: docEl } = globalObject.document;\n\n if (!docEl) {\n throw Error('There is no \"documentElement\" in \"document\"');\n }\n\n const scrollX = globalObject.pageXOffset || docEl.scrollLeft || 0;\n const scrollY = globalObject.pageYOffset || docEl.scrollTop || 0;\n\n let left = null;\n let right = null;\n\n if (this.getProps().align === 'right') {\n const docWidth = docEl.offsetWidth || 0;\n right = docWidth - (targetRect.right + scrollX) + this.getProps().offsetX;\n } else {\n left = targetRect.left + scrollX + this.getProps().offsetX;\n }\n\n const offsetY = this.getProps().offsetY || 0;\n let bottom = null;\n let top: number | null = targetRect.bottom + scrollY + offsetY;\n\n const distanceToBottom = docEl.clientHeight - targetRect.bottom;\n const dropdownHeight = this.getHeight();\n\n const clientHeight = this.state.isDocumentElementRoot ? docEl.clientHeight : body.scrollHeight;\n if (distanceToBottom < dropdownHeight && targetRect.top > dropdownHeight) {\n top = null;\n bottom = getTopAlignment({ clientHeight, offsetY, scrollY, target });\n }\n\n const position = {\n top,\n left,\n right,\n bottom,\n ...getManualPosition({ menuPos: this.props.menuPos, target, offsetY, clientHeight, scrollY }),\n };\n\n this.setState({\n minWidth: this.getMinWidth(),\n position: this.getProps().disablePortal ? this.convertToRelativePosition(position) : position,\n });\n }\n };\n\n private getHeight = () => {\n if (!isInstanceOf(this.dom, globalObject.Element)) {\n return 0;\n }\n const child = this.dom.children.item(0);\n return getDOMRect(child).height;\n };\n\n private getMinWidth = () => {\n const target = this.props.getParent();\n return getDOMRect(target).width;\n };\n\n private convertToRelativePosition = (position: DropdownContainerPosition): DropdownContainerPosition => {\n const target = this.props.getParent();\n const offsetX = this.getProps().offsetX || 0;\n const offsetY = this.getProps().offsetY || 0;\n const { top, bottom, left, right } = position;\n if (isInstanceOf(target, globalObject.Element)) {\n const targetHeight = getDOMRect(target).height;\n return {\n top: top !== null ? targetHeight + offsetY : null,\n bottom: bottom !== null ? targetHeight + offsetY : null,\n left: left !== null ? offsetX : null,\n right: right !== null ? offsetX : null,\n };\n }\n return {\n top: offsetY,\n bottom: null,\n left: offsetX,\n right: null,\n };\n };\n}\n\nconst getIsDocumentElementRoot = () => {\n if (!isBrowser(globalObject)) {\n return false;\n }\n const { body, documentElement } = globalObject.document;\n const htmlPosition = globalObject.getComputedStyle(documentElement).position;\n const bodyPosition = globalObject.getComputedStyle(body).position;\n\n const hasLimitedHeightRoot = body.scrollHeight > body.clientHeight;\n const hasStaticRoot = htmlPosition === 'static' && bodyPosition === 'static';\n return hasLimitedHeightRoot || hasStaticRoot;\n};\n"]}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
"use strict";exports.__esModule = true;exports.getTopAlignment = exports.getManualPosition = void 0;var
|
|
1
|
+
"use strict";exports.__esModule = true;exports.getTopAlignment = exports.getManualPosition = void 0;var _globalObject = require("@skbkontur/global-object");
|
|
2
|
+
|
|
3
|
+
var _getDOMRect = require("../../lib/dom/getDOMRect");
|
|
2
4
|
|
|
3
5
|
|
|
4
6
|
|
|
@@ -24,18 +26,18 @@ var getTopAlignment = function getTopAlignment(_ref)
|
|
|
24
26
|
|
|
25
27
|
|
|
26
28
|
var getManualPosition = function getManualPosition(_ref2) {var menuPos = _ref2.menuPos,target = _ref2.target,offsetY = _ref2.offsetY,clientHeight = _ref2.clientHeight;
|
|
27
|
-
if (!menuPos) {
|
|
29
|
+
if (!menuPos || !(0, _globalObject.isBrowser)(_globalObject.globalObject)) {
|
|
28
30
|
return undefined;
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
if (menuPos === 'top') {
|
|
32
34
|
return {
|
|
33
35
|
top: null,
|
|
34
|
-
bottom: getTopAlignment({ clientHeight: clientHeight, offsetY: offsetY, scrollY: scrollY, target: target }) };
|
|
36
|
+
bottom: getTopAlignment({ clientHeight: clientHeight, offsetY: offsetY, scrollY: _globalObject.globalObject.scrollY, target: target }) };
|
|
35
37
|
|
|
36
38
|
}
|
|
37
39
|
|
|
38
40
|
if (menuPos === 'bottom') {
|
|
39
|
-
return { top: scrollY + (0, _getDOMRect.getDOMRect)(target).top + target.clientHeight + offsetY };
|
|
41
|
+
return { top: _globalObject.globalObject.scrollY + (0, _getDOMRect.getDOMRect)(target).top + target.clientHeight + offsetY };
|
|
40
42
|
}
|
|
41
43
|
};exports.getManualPosition = getManualPosition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["getManualPosition.ts"],"names":["getTopAlignment","clientHeight","offsetY","scrollY","target","top","getManualPosition","menuPos","undefined","bottom"],"mappings":"oGAAA;;;;AAIO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB;;;;;;;;;AASzB,KARJC,YAQI,QARJA,YAQI,CAPJC,OAOI,QAPJA,OAOI,CANJC,OAMI,QANJA,OAMI,CALJC,MAKI,QALJA,MAKI;AACJ,SAAOH,YAAY,GAAGC,OAAf,GAAyBC,OAAzB,GAAmC,4BAAWC,MAAX,EAAmBC,GAA7D;AACD,CAXM,C;;;;;;;;;;AAqBA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,QAAwE,KAArEC,OAAqE,SAArEA,OAAqE,CAA5DH,MAA4D,SAA5DA,MAA4D,CAApDF,OAAoD,SAApDA,OAAoD,CAA3CD,YAA2C,SAA3CA,YAA2C;AACvG,MAAI,CAACM,
|
|
1
|
+
{"version":3,"sources":["getManualPosition.ts"],"names":["getTopAlignment","clientHeight","offsetY","scrollY","target","top","getManualPosition","menuPos","globalObject","undefined","bottom"],"mappings":"oGAAA;;AAEA;;;;AAIO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB;;;;;;;;;AASzB,KARJC,YAQI,QARJA,YAQI,CAPJC,OAOI,QAPJA,OAOI,CANJC,OAMI,QANJA,OAMI,CALJC,MAKI,QALJA,MAKI;AACJ,SAAOH,YAAY,GAAGC,OAAf,GAAyBC,OAAzB,GAAmC,4BAAWC,MAAX,EAAmBC,GAA7D;AACD,CAXM,C;;;;;;;;;;AAqBA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,QAAwE,KAArEC,OAAqE,SAArEA,OAAqE,CAA5DH,MAA4D,SAA5DA,MAA4D,CAApDF,OAAoD,SAApDA,OAAoD,CAA3CD,YAA2C,SAA3CA,YAA2C;AACvG,MAAI,CAACM,OAAD,IAAY,CAAC,6BAAUC,0BAAV,CAAjB,EAA0C;AACxC,WAAOC,SAAP;AACD;;AAED,MAAIF,OAAO,KAAK,KAAhB,EAAuB;AACrB,WAAO;AACLF,MAAAA,GAAG,EAAE,IADA;AAELK,MAAAA,MAAM,EAAEV,eAAe,CAAC,EAAEC,YAAY,EAAZA,YAAF,EAAgBC,OAAO,EAAPA,OAAhB,EAAyBC,OAAO,EAAEK,2BAAaL,OAA/C,EAAwDC,MAAM,EAANA,MAAxD,EAAD,CAFlB,EAAP;;AAID;;AAED,MAAIG,OAAO,KAAK,QAAhB,EAA0B;AACxB,WAAO,EAAEF,GAAG,EAAEG,2BAAaL,OAAb,GAAuB,4BAAWC,MAAX,EAAmBC,GAA1C,GAAgDD,MAAM,CAACH,YAAvD,GAAsEC,OAA7E,EAAP;AACD;AACF,CAfM,C","sourcesContent":["import { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\n\nimport { DropdownContainerProps } from './DropdownContainer';\n\nexport const getTopAlignment = ({\n clientHeight,\n offsetY,\n scrollY,\n target,\n}: Required<Pick<DropdownContainerProps, 'offsetY'>> & {\n clientHeight: number;\n scrollY: number;\n target: Element;\n}) => {\n return clientHeight + offsetY - scrollY - getDOMRect(target).top;\n};\n\ninterface ManualPositionFuncArgs\n extends Required<Pick<DropdownContainerProps, 'offsetY'>>,\n Pick<DropdownContainerProps, 'menuPos'> {\n target: Element;\n clientHeight: number;\n scrollY: number;\n}\n\nexport const getManualPosition = ({ menuPos, target, offsetY, clientHeight }: ManualPositionFuncArgs) => {\n if (!menuPos || !isBrowser(globalObject)) {\n return undefined;\n }\n\n if (menuPos === 'top') {\n return {\n top: null,\n bottom: getTopAlignment({ clientHeight, offsetY, scrollY: globalObject.scrollY, target }),\n };\n }\n\n if (menuPos === 'bottom') {\n return { top: globalObject.scrollY + getDOMRect(target).top + target.clientHeight + offsetY };\n }\n};\n"]}
|
|
@@ -15,5 +15,5 @@ export declare const FileUploaderFileDataTids: {
|
|
|
15
15
|
readonly fileSize: "FileUploader__fileSize";
|
|
16
16
|
readonly fileIcon: "FileUploader__fileIcon";
|
|
17
17
|
};
|
|
18
|
-
export declare const FileUploaderFile: import("../../../lib/forwardRefAndName").ReactUIComponentWithRef<HTMLDivElement, FileUploaderFileProps>;
|
|
18
|
+
export declare const FileUploaderFile: import("../../../lib/forwardRefAndName").ReactUIComponentWithRef<HTMLDivElement, FileUploaderFileProps> & Record<never, never>;
|
|
19
19
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";exports.__esModule = true;exports.FileUploaderFileDataTids = exports.FileUploaderFile = void 0;var _react = _interopRequireWildcard(require("react"));
|
|
2
|
+
var _globalObject = require("@skbkontur/global-object");
|
|
2
3
|
|
|
3
4
|
var _forwardRefAndName = require("../../../lib/forwardRefAndName");
|
|
4
5
|
|
|
@@ -147,7 +148,7 @@ function (props, ref) {var _cx, _cx2;
|
|
|
147
148
|
var handleFocus = (0, _react.useCallback)(function () {
|
|
148
149
|
// focus event fires before keyDown eventlistener
|
|
149
150
|
// so we should check tabPressed in async way
|
|
150
|
-
requestAnimationFrame(function () {
|
|
151
|
+
_globalObject.globalObject.requestAnimationFrame == null ? void 0 : _globalObject.globalObject.requestAnimationFrame(function () {
|
|
151
152
|
if (_keyListener.keyListener.isTabPressed) {
|
|
152
153
|
setFocusedByTab(true);
|
|
153
154
|
}
|