@skbkontur/react-ui 0.0.0-5188be76c1 → 0.0.0-53ccdcbfcc
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +164 -16
- package/cjs/components/Button/Button.d.ts +1 -0
- package/cjs/components/Button/Button.js +18 -6
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.md +68 -0
- package/cjs/components/Button/Button.mixins.d.ts +6 -6
- package/cjs/components/Button/Button.mixins.js +54 -53
- package/cjs/components/Button/Button.mixins.js.map +1 -1
- package/cjs/components/Button/Button.styles.d.ts +2 -1
- package/cjs/components/Button/Button.styles.js +200 -161
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Button/ButtonArrow.js +1 -1
- package/cjs/components/Button/ButtonArrow.js.map +1 -1
- package/cjs/components/Button/ButtonIcon.js +1 -4
- package/cjs/components/Button/ButtonIcon.js.map +1 -1
- package/cjs/components/Button/getInnerLinkTheme.js +1 -0
- package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
- package/cjs/components/Calendar/Calendar.js +8 -6
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.js +8 -7
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Clickable/ArrowLeftIcon.d.ts +3 -0
- package/cjs/components/Clickable/ArrowLeftIcon.js +15 -0
- package/cjs/components/Clickable/ArrowLeftIcon.js.map +1 -0
- package/cjs/components/Clickable/ArrowRightIcon.d.ts +3 -0
- package/cjs/components/Clickable/ArrowRightIcon.js +15 -0
- package/cjs/components/Clickable/ArrowRightIcon.js.map +1 -0
- package/cjs/components/Clickable/Clickable.d.ts +95 -0
- package/cjs/components/Clickable/Clickable.js +248 -0
- package/cjs/components/Clickable/Clickable.js.map +1 -0
- package/cjs/components/Clickable/Clickable.md +210 -0
- package/cjs/components/Clickable/Clickable.styles.d.ts +11 -0
- package/cjs/components/Clickable/Clickable.styles.js +31 -0
- package/cjs/components/Clickable/Clickable.styles.js.map +1 -0
- package/cjs/components/Clickable/ClickableButton.d.ts +5 -0
- package/cjs/components/Clickable/ClickableButton.js +43 -0
- package/cjs/components/Clickable/ClickableButton.js.map +1 -0
- package/cjs/components/Clickable/ClickableButton.mixins.d.ts +30 -0
- package/cjs/components/Clickable/ClickableButton.mixins.js +134 -0
- package/cjs/components/Clickable/ClickableButton.mixins.js.map +1 -0
- package/cjs/components/Clickable/ClickableButton.styles.d.ts +63 -0
- package/cjs/components/Clickable/ClickableButton.styles.js +604 -0
- package/cjs/components/Clickable/ClickableButton.styles.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonArrow.d.ts +4 -0
- package/cjs/components/Clickable/ClickableButtonArrow.js +32 -0
- package/cjs/components/Clickable/ClickableButtonArrow.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonArrow.styles.d.ts +8 -0
- package/cjs/components/Clickable/ClickableButtonArrow.styles.js +40 -0
- package/cjs/components/Clickable/ClickableButtonArrow.styles.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonCaption.d.ts +2 -0
- package/cjs/components/Clickable/ClickableButtonCaption.js +57 -0
- package/cjs/components/Clickable/ClickableButtonCaption.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonCaption.styles.d.ts +5 -0
- package/cjs/components/Clickable/ClickableButtonCaption.styles.js +23 -0
- package/cjs/components/Clickable/ClickableButtonCaption.styles.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonIcon.d.ts +7 -0
- package/cjs/components/Clickable/ClickableButtonIcon.js +64 -0
- package/cjs/components/Clickable/ClickableButtonIcon.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonIcon.styles.d.ts +19 -0
- package/cjs/components/Clickable/ClickableButtonIcon.styles.js +108 -0
- package/cjs/components/Clickable/ClickableButtonIcon.styles.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonLoadingIcon.d.ts +6 -0
- package/cjs/components/Clickable/ClickableButtonLoadingIcon.js +19 -0
- package/cjs/components/Clickable/ClickableButtonLoadingIcon.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonLoadingIcon.styles.d.ts +3 -0
- package/cjs/components/Clickable/ClickableButtonLoadingIcon.styles.js +17 -0
- package/cjs/components/Clickable/ClickableButtonLoadingIcon.styles.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonOutline.d.ts +4 -0
- package/cjs/components/Clickable/ClickableButtonOutline.js +36 -0
- package/cjs/components/Clickable/ClickableButtonOutline.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonOutline.styles.d.ts +6 -0
- package/cjs/components/Clickable/ClickableButtonOutline.styles.js +25 -0
- package/cjs/components/Clickable/ClickableButtonOutline.styles.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonWrapper.d.ts +3 -0
- package/cjs/components/Clickable/ClickableButtonWrapper.js +27 -0
- package/cjs/components/Clickable/ClickableButtonWrapper.js.map +1 -0
- package/cjs/components/Clickable/ClickableButtonWrapper.styles.d.ts +7 -0
- package/cjs/components/Clickable/ClickableButtonWrapper.styles.js +27 -0
- package/cjs/components/Clickable/ClickableButtonWrapper.styles.js.map +1 -0
- package/cjs/components/Clickable/ClickableLink.d.ts +5 -0
- package/cjs/components/Clickable/ClickableLink.js +28 -0
- package/cjs/components/Clickable/ClickableLink.js.map +1 -0
- package/cjs/components/Clickable/ClickableLink.styles.d.ts +21 -0
- package/cjs/components/Clickable/ClickableLink.styles.js +134 -0
- package/cjs/components/Clickable/ClickableLink.styles.js.map +1 -0
- package/cjs/components/Clickable/ClickableLinkChild.d.ts +7 -0
- package/cjs/components/Clickable/ClickableLinkChild.js +40 -0
- package/cjs/components/Clickable/ClickableLinkChild.js.map +1 -0
- package/cjs/components/Clickable/ClickableLinkChild.styles.d.ts +7 -0
- package/cjs/components/Clickable/ClickableLinkChild.styles.js +42 -0
- package/cjs/components/Clickable/ClickableLinkChild.styles.js.map +1 -0
- package/cjs/components/Clickable/ClickableLinkIcon.d.ts +7 -0
- package/cjs/components/Clickable/ClickableLinkIcon.js +30 -0
- package/cjs/components/Clickable/ClickableLinkIcon.js.map +1 -0
- package/cjs/components/Clickable/ClickableLinkIcon.styles.d.ts +6 -0
- package/cjs/components/Clickable/ClickableLinkIcon.styles.js +20 -0
- package/cjs/components/Clickable/ClickableLinkIcon.styles.js.map +1 -0
- package/cjs/components/Clickable/index.d.ts +1 -0
- package/cjs/components/Clickable/index.js +1 -0
- package/cjs/components/Clickable/index.js.map +1 -0
- package/cjs/components/Clickable/utils.d.ts +6 -0
- package/cjs/components/Clickable/utils.js +47 -0
- package/cjs/components/Clickable/utils.js.map +1 -0
- package/cjs/components/CurrencyInput/CurrencyInput.js +3 -1
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/DateInput/DateFragmentsView.js +2 -1
- package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
- package/cjs/components/DateInput/DateInput.js +2 -1
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/helpers/SelectionHelpers.js +11 -10
- package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
- package/cjs/components/Dropdown/getDropdownTheme.js +21 -22
- package/cjs/components/Dropdown/getDropdownTheme.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.js +5 -5
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.styles.d.ts +1 -1
- package/cjs/components/FileUploader/FileUploader.styles.js +10 -2
- package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.d.ts +1 -2
- package/cjs/components/GlobalLoader/GlobalLoader.js +11 -16
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
- package/cjs/components/GlobalLoader/GlobalLoaderView.js +3 -5
- package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
- package/cjs/components/Group/Group.js +7 -5
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Group/Group.md +24 -0
- package/cjs/components/Hint/Hint.js +5 -5
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Input/Input.d.ts +22 -5
- package/cjs/components/Input/Input.js +43 -22
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.typings.d.ts +7 -0
- package/cjs/components/Input/Input.typings.js +1 -0
- package/cjs/components/Input/Input.typings.js.map +1 -0
- package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -1
- package/cjs/components/Input/InputLayout/InputLayout.styles.js +7 -2
- package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutAside.js +1 -7
- package/cjs/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
- package/cjs/components/Input/index.d.ts +1 -0
- package/cjs/components/Input/index.js +2 -1
- package/cjs/components/Input/index.js.map +1 -1
- package/cjs/components/Kebab/Kebab.js +3 -2
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.js +11 -7
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.md +69 -0
- package/cjs/components/Link/Link.styles.d.ts +1 -0
- package/cjs/components/Link/Link.styles.js +30 -22
- package/cjs/components/Link/Link.styles.js.map +1 -1
- package/cjs/components/Loader/Loader.js +8 -7
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MaskedInput/MaskedInput.d.ts +24 -0
- package/cjs/components/MaskedInput/MaskedInput.js +78 -0
- package/cjs/components/MaskedInput/MaskedInput.js.map +1 -0
- package/cjs/components/MaskedInput/MaskedInput.md +21 -0
- package/cjs/components/MaskedInput/index.js.map +1 -0
- package/cjs/components/MenuHeader/MenuHeader.js +3 -1
- package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +21 -0
- package/cjs/components/MenuItem/MenuItem.js +113 -15
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.md +20 -6
- package/cjs/components/MiniModal/MiniModal.d.ts +18 -0
- package/cjs/components/MiniModal/MiniModal.js +47 -0
- package/cjs/components/MiniModal/MiniModal.js.map +1 -0
- package/cjs/components/MiniModal/MiniModal.md +233 -0
- package/cjs/components/MiniModal/MiniModal.styles.d.ts +14 -0
- package/cjs/components/MiniModal/MiniModal.styles.js +87 -0
- package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -0
- package/cjs/components/MiniModal/MiniModalBody.d.ts +7 -0
- package/cjs/components/MiniModal/MiniModalBody.js +24 -0
- package/cjs/components/MiniModal/MiniModalBody.js.map +1 -0
- package/cjs/components/MiniModal/MiniModalFooter.d.ts +18 -0
- package/cjs/components/MiniModal/MiniModalFooter.js +60 -0
- package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -0
- package/cjs/components/MiniModal/MiniModalHeader.d.ts +17 -0
- package/cjs/components/MiniModal/MiniModalHeader.js +47 -0
- package/cjs/components/MiniModal/MiniModalHeader.js.map +1 -0
- package/cjs/components/MiniModal/MiniModalIndent.d.ts +6 -0
- package/cjs/components/MiniModal/MiniModalIndent.js +29 -0
- package/cjs/components/MiniModal/MiniModalIndent.js.map +1 -0
- package/cjs/components/MiniModal/getMiniModalTheme.d.ts +16 -0
- package/cjs/components/MiniModal/getMiniModalTheme.js +24 -0
- package/cjs/components/MiniModal/getMiniModalTheme.js.map +1 -0
- package/cjs/components/MiniModal/index.d.ts +5 -0
- package/cjs/components/MiniModal/index.js +5 -0
- package/cjs/components/MiniModal/index.js.map +1 -0
- package/cjs/components/Modal/Modal.d.ts +6 -0
- package/cjs/components/Modal/Modal.js +15 -1
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +5 -0
- package/cjs/components/Modal/Modal.styles.js +56 -39
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalClose.js +2 -1
- package/cjs/components/Modal/ModalClose.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.js +1 -1
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/Modal/ModalSeparator.d.ts +5 -0
- package/cjs/components/Modal/ModalSeparator.js +5 -0
- package/cjs/components/Modal/ModalSeparator.js.map +1 -1
- package/cjs/components/Modal/getModalTheme.d.ts +2 -2
- package/cjs/components/Modal/getModalTheme.js +6 -2
- package/cjs/components/Modal/getModalTheme.js.map +1 -1
- package/cjs/components/Paging/NavigationHelper.js +2 -1
- package/cjs/components/Paging/NavigationHelper.js.map +1 -1
- package/cjs/components/Paging/Paging.js +16 -14
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/Paging.styles.d.ts +0 -1
- package/cjs/components/Paging/Paging.styles.js +3 -9
- package/cjs/components/Paging/Paging.styles.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +4 -2
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.js +2 -1
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +5 -6
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollBar.d.ts +4 -7
- package/cjs/components/ScrollContainer/ScrollBar.js +15 -45
- package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.constants.js +1 -2
- package/cjs/components/ScrollContainer/ScrollContainer.constants.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +18 -3
- package/cjs/components/ScrollContainer/ScrollContainer.js +102 -21
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.md +29 -2
- package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
- package/cjs/components/ScrollContainer/ScrollContainer.styles.js +8 -30
- package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
- package/cjs/components/Select/Item.d.ts +1 -0
- package/cjs/components/Select/Item.js +2 -1
- package/cjs/components/Select/Item.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +2 -0
- package/cjs/components/Select/Select.js +25 -8
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.md +12 -0
- package/cjs/components/SidePage/SidePage.d.ts +3 -1
- package/cjs/components/SidePage/SidePage.js +36 -5
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePageCloseButton.js +2 -1
- package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +1 -0
- package/cjs/components/SidePage/SidePageHeader.js +8 -6
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/SingleToast/SingleToast.d.ts +11 -0
- package/cjs/components/SingleToast/SingleToast.js +20 -0
- package/cjs/components/SingleToast/SingleToast.js.map +1 -0
- package/cjs/components/SingleToast/SingleToast.md +35 -0
- package/cjs/components/SingleToast/index.d.ts +1 -0
- package/cjs/components/SingleToast/index.js +1 -0
- package/cjs/components/SingleToast/index.js.map +1 -0
- package/cjs/components/Spinner/Spinner.d.ts +1 -0
- package/cjs/components/Spinner/Spinner.js +16 -1
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Spinner/SpinnerFallbackAnimation.js +6 -2
- package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
- package/cjs/components/Sticky/Sticky.js +5 -10
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +1 -1
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Tabs/Indicator.js +3 -1
- package/cjs/components/Tabs/Indicator.js.map +1 -1
- package/cjs/components/Tabs/Tab.js +2 -1
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tabs.js +3 -1
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +1 -0
- package/cjs/components/Textarea/Textarea.js +38 -11
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.d.ts +1 -1
- package/cjs/components/Textarea/TextareaCounter.js +2 -1
- package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
- package/cjs/components/Textarea/TextareaHelpers.d.ts +1 -1
- package/cjs/components/Textarea/TextareaHelpers.js +7 -2
- package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
- package/cjs/components/Textarea/TextareaWithSafari17Workaround.d.ts +6 -0
- package/cjs/components/Textarea/TextareaWithSafari17Workaround.js +20 -0
- package/cjs/components/Textarea/TextareaWithSafari17Workaround.js.map +1 -0
- package/cjs/components/Toast/Toast.d.ts +10 -3
- package/cjs/components/Toast/Toast.js +26 -8
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/Toast.md +0 -105
- package/cjs/components/Toast/ToastStatic.js +4 -3
- package/cjs/components/Toast/ToastStatic.js.map +1 -1
- package/cjs/components/Token/Token.js +1 -6
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
- package/cjs/components/TokenInput/TokenInput.js +42 -9
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.md +71 -0
- package/cjs/components/Tooltip/Tooltip.d.ts +6 -1
- package/cjs/components/Tooltip/Tooltip.js +15 -5
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.md +24 -0
- package/cjs/hooks/useDrop.js +3 -2
- package/cjs/hooks/useDrop.js.map +1 -1
- package/cjs/index.d.ts +5 -0
- package/cjs/index.js +5 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js +2 -1
- package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
- package/cjs/internal/ComponentCombinator.d.ts +7 -8
- package/cjs/internal/ComponentCombinator.js +2 -5
- package/cjs/internal/ComponentCombinator.js.map +1 -1
- package/cjs/internal/ComponentTable.d.ts +7 -19
- package/cjs/internal/ComponentTable.js +50 -77
- package/cjs/internal/ComponentTable.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.js +4 -3
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +3 -2
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.js +20 -16
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +0 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.js +14 -13
- package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
- package/cjs/internal/DropdownContainer/getManualPosition.js +6 -4
- package/cjs/internal/DropdownContainer/getManualPosition.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +2 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/cjs/internal/FocusTrap/FocusTrap.js +8 -6
- package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +19 -20
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +3 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.js +17 -16
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/{MaskedInput/MaskedInput.d.ts → InternalMaskedInput/InternalMaskedInput.d.ts} +8 -5
- package/cjs/internal/{MaskedInput/MaskedInput.js → InternalMaskedInput/InternalMaskedInput.js} +11 -8
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +1 -0
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.js.map +1 -0
- package/cjs/internal/InternalMaskedInput/index.d.ts +1 -0
- package/cjs/internal/InternalMaskedInput/index.js +1 -0
- package/cjs/internal/InternalMaskedInput/index.js.map +1 -0
- package/cjs/internal/InternalMenu/InternalMenu.js +8 -7
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/MaskedInputElement/MaskedInputElement.d.ts +14 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.d.ts +16 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.js +52 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.js.map +1 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.js +196 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.js.map +1 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js +29 -0
- package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js.map +1 -0
- package/cjs/internal/MaskedInputElement/index.d.ts +1 -0
- package/cjs/internal/MaskedInputElement/index.js +1 -0
- package/cjs/internal/MaskedInputElement/index.js.map +1 -0
- package/cjs/internal/Menu/Menu.d.ts +6 -0
- package/cjs/internal/Menu/Menu.js +84 -16
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/Menu/MenuContext.d.ts +10 -0
- package/cjs/internal/Menu/MenuContext.js +16 -0
- package/cjs/internal/Menu/MenuContext.js.map +1 -0
- package/cjs/internal/Menu/MenuNavigation.d.ts +26 -0
- package/cjs/internal/Menu/MenuNavigation.js +107 -0
- package/cjs/internal/Menu/MenuNavigation.js.map +1 -0
- package/cjs/internal/Menu/isActiveElement.js +1 -1
- package/cjs/internal/Menu/isActiveElement.js.map +1 -1
- package/cjs/internal/MenuMessage/MenuMessage.d.ts +1 -1
- package/cjs/internal/Popup/Popup.js +12 -8
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/PopupHelper.js +9 -7
- package/cjs/internal/Popup/PopupHelper.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.js +3 -2
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.d.ts +0 -1
- package/cjs/internal/RenderContainer/RenderContainer.js +18 -22
- package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.js +5 -3
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ThemePlayground/VariableValue.js +1 -0
- package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
- package/cjs/internal/ThemePlayground/constants.js +1 -0
- package/cjs/internal/ThemePlayground/constants.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.js +6 -4
- package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
- package/cjs/internal/ZIndex/ZIndex.js +2 -2
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/ZIndex/ZIndexStorage.js +2 -2
- package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
- package/cjs/internal/icons/16px/index.d.ts +19 -19
- package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/BaseIcon.d.ts +1 -1
- package/cjs/internal/icons2022/BaseIcon.js +3 -7
- package/cjs/internal/icons2022/BaseIcon.js.map +1 -1
- package/cjs/internal/icons2022/BaseIcon.styles.d.ts +3 -0
- package/cjs/internal/icons2022/BaseIcon.styles.js +14 -0
- package/cjs/internal/icons2022/BaseIcon.styles.js.map +1 -0
- package/cjs/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
- package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js +20 -0
- package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js.map +1 -0
- package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
- package/cjs/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
- package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
- package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
- package/cjs/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +67 -2
- package/cjs/internal/themes/DefaultTheme.js +134 -7
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/internal/themes/Theme2022.d.ts +22 -7
- package/cjs/internal/themes/Theme2022.js +40 -11
- package/cjs/internal/themes/Theme2022.js.map +1 -1
- package/cjs/internal/themes/Theme2022Dark.d.ts +5 -9
- package/cjs/internal/themes/Theme2022Dark.js +10 -10
- package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
- package/cjs/lib/LayoutEvents.js +5 -4
- package/cjs/lib/LayoutEvents.js.map +1 -1
- package/cjs/lib/ModalStack.js +2 -3
- package/cjs/lib/ModalStack.js.map +1 -1
- package/cjs/lib/SSRSafe.d.ts +1 -6
- package/cjs/lib/SSRSafe.js +4 -48
- package/cjs/lib/SSRSafe.js.map +1 -1
- package/cjs/lib/Upgrades.d.ts +1 -0
- package/cjs/lib/Upgrades.js +3 -1
- package/cjs/lib/Upgrades.js.map +1 -1
- package/cjs/lib/animation/index.js +6 -4
- package/cjs/lib/animation/index.js.map +1 -1
- package/cjs/lib/chars.d.ts +1 -1
- package/cjs/lib/chars.js +2 -2
- package/cjs/lib/chars.js.map +1 -1
- package/cjs/lib/client.d.ts +2 -7
- package/cjs/lib/client.js +9 -7
- package/cjs/lib/client.js.map +1 -1
- package/cjs/lib/dom/getScrollWidth.js +4 -4
- package/cjs/lib/dom/getScrollWidth.js.map +1 -1
- package/cjs/lib/dom/tabbableHelpers.d.ts +2 -1
- package/cjs/lib/dom/tabbableHelpers.js +8 -2
- package/cjs/lib/dom/tabbableHelpers.js.map +1 -1
- package/cjs/lib/events/MouseDrag.js +11 -11
- package/cjs/lib/events/MouseDrag.js.map +1 -1
- package/cjs/lib/events/fixClickFocusIE.js +6 -3
- package/cjs/lib/events/fixClickFocusIE.js.map +1 -1
- package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +5 -2
- package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
- package/cjs/lib/events/keyListener.js +9 -11
- package/cjs/lib/events/keyListener.js.map +1 -1
- package/cjs/lib/events/keyboard/identifiers.js +5 -2
- package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
- package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +185 -0
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +8 -0
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js +5 -0
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js.map +1 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +10 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +20 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
- package/cjs/lib/featureFlagsContext/index.d.ts +2 -0
- package/cjs/lib/featureFlagsContext/index.js +3 -0
- package/cjs/lib/featureFlagsContext/index.js.map +1 -0
- package/cjs/lib/forwardRefAndName.d.ts +1 -1
- package/cjs/lib/forwardRefAndName.js +4 -1
- package/cjs/lib/forwardRefAndName.js.map +1 -1
- package/cjs/lib/isInstanceOf.d.ts +1 -0
- package/cjs/lib/isInstanceOf.js +6 -0
- package/cjs/lib/isInstanceOf.js.map +1 -0
- package/cjs/lib/listenFocusOutside.js +15 -15
- package/cjs/lib/listenFocusOutside.js.map +1 -1
- package/cjs/lib/needsPolyfillPlaceholder.js +5 -3
- package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -1
- package/cjs/lib/net/fetch.js +24 -18
- package/cjs/lib/net/fetch.js.map +1 -1
- package/cjs/lib/rootNode/getRootNode.js +6 -6
- package/cjs/lib/rootNode/getRootNode.js.map +1 -1
- package/cjs/lib/styles/ColorFactory.js +13 -11
- package/cjs/lib/styles/ColorFactory.js.map +1 -1
- package/cjs/lib/styles/ColorHelpers.d.ts +1 -1
- package/cjs/lib/styles/ColorHelpers.js +3 -7
- package/cjs/lib/styles/ColorHelpers.js.map +1 -1
- package/cjs/lib/taskWithDelayAndMinimalDuration.js +5 -5
- package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/cjs/lib/theming/Emotion.js +4 -2
- package/cjs/lib/theming/Emotion.js.map +1 -1
- package/cjs/lib/utils.d.ts +7 -0
- package/cjs/lib/utils.js +29 -7
- package/cjs/lib/utils.js.map +1 -1
- package/cjs/typings/global.d.ts +3 -4
- package/cjs/typings/react-ref.d.ts +29 -0
- package/cjs/typings/utility-types.d.ts +2 -0
- package/components/Button/Button/Button.js +16 -3
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +1 -0
- package/components/Button/Button.md +68 -0
- package/components/Button/Button.mixins/Button.mixins.js +58 -13
- package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
- package/components/Button/Button.mixins.d.ts +6 -6
- package/components/Button/Button.styles/Button.styles.js +210 -24
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Button/Button.styles.d.ts +2 -1
- package/components/Button/ButtonArrow/ButtonArrow.js +1 -1
- package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
- package/components/Button/ButtonIcon/ButtonIcon.js +2 -4
- package/components/Button/ButtonIcon/ButtonIcon.js.map +1 -1
- package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +1 -0
- package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
- package/components/Calendar/Calendar/Calendar.js +8 -6
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Checkbox/Checkbox/Checkbox.js +10 -5
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Clickable/ArrowLeftIcon/ArrowLeftIcon.js +17 -0
- package/components/Clickable/ArrowLeftIcon/ArrowLeftIcon.js.map +1 -0
- package/components/Clickable/ArrowLeftIcon/package.json +6 -0
- package/components/Clickable/ArrowLeftIcon.d.ts +3 -0
- package/components/Clickable/ArrowRightIcon/ArrowRightIcon.js +17 -0
- package/components/Clickable/ArrowRightIcon/ArrowRightIcon.js.map +1 -0
- package/components/Clickable/ArrowRightIcon/package.json +6 -0
- package/components/Clickable/ArrowRightIcon.d.ts +3 -0
- package/components/Clickable/Clickable/Clickable.js +165 -0
- package/components/Clickable/Clickable/Clickable.js.map +1 -0
- package/components/Clickable/Clickable/package.json +6 -0
- package/components/Clickable/Clickable.d.ts +95 -0
- package/components/Clickable/Clickable.md +210 -0
- package/components/Clickable/Clickable.styles/Clickable.styles.js +13 -0
- package/components/Clickable/Clickable.styles/Clickable.styles.js.map +1 -0
- package/components/Clickable/Clickable.styles/package.json +6 -0
- package/components/Clickable/Clickable.styles.d.ts +11 -0
- package/components/Clickable/ClickableButton/ClickableButton.js +31 -0
- package/components/Clickable/ClickableButton/ClickableButton.js.map +1 -0
- package/components/Clickable/ClickableButton/package.json +6 -0
- package/components/Clickable/ClickableButton.d.ts +5 -0
- package/components/Clickable/ClickableButton.mixins/ClickableButton.mixins.js +81 -0
- package/components/Clickable/ClickableButton.mixins/ClickableButton.mixins.js.map +1 -0
- package/components/Clickable/ClickableButton.mixins/package.json +6 -0
- package/components/Clickable/ClickableButton.mixins.d.ts +30 -0
- package/components/Clickable/ClickableButton.styles/ClickableButton.styles.js +313 -0
- package/components/Clickable/ClickableButton.styles/ClickableButton.styles.js.map +1 -0
- package/components/Clickable/ClickableButton.styles/package.json +6 -0
- package/components/Clickable/ClickableButton.styles.d.ts +63 -0
- package/components/Clickable/ClickableButtonArrow/ClickableButtonArrow.js +21 -0
- package/components/Clickable/ClickableButtonArrow/ClickableButtonArrow.js.map +1 -0
- package/components/Clickable/ClickableButtonArrow/package.json +6 -0
- package/components/Clickable/ClickableButtonArrow.d.ts +4 -0
- package/components/Clickable/ClickableButtonArrow.styles/ClickableButtonArrow.styles.js +22 -0
- package/components/Clickable/ClickableButtonArrow.styles/ClickableButtonArrow.styles.js.map +1 -0
- package/components/Clickable/ClickableButtonArrow.styles/package.json +6 -0
- package/components/Clickable/ClickableButtonArrow.styles.d.ts +8 -0
- package/components/Clickable/ClickableButtonCaption/ClickableButtonCaption.js +37 -0
- package/components/Clickable/ClickableButtonCaption/ClickableButtonCaption.js.map +1 -0
- package/components/Clickable/ClickableButtonCaption/package.json +6 -0
- package/components/Clickable/ClickableButtonCaption.d.ts +2 -0
- package/components/Clickable/ClickableButtonCaption.styles/ClickableButtonCaption.styles.js +16 -0
- package/components/Clickable/ClickableButtonCaption.styles/ClickableButtonCaption.styles.js.map +1 -0
- package/components/Clickable/ClickableButtonCaption.styles/package.json +6 -0
- package/components/Clickable/ClickableButtonCaption.styles.d.ts +5 -0
- package/components/Clickable/ClickableButtonIcon/ClickableButtonIcon.js +51 -0
- package/components/Clickable/ClickableButtonIcon/ClickableButtonIcon.js.map +1 -0
- package/components/Clickable/ClickableButtonIcon/package.json +6 -0
- package/components/Clickable/ClickableButtonIcon.d.ts +7 -0
- package/components/Clickable/ClickableButtonIcon.styles/ClickableButtonIcon.styles.js +58 -0
- package/components/Clickable/ClickableButtonIcon.styles/ClickableButtonIcon.styles.js.map +1 -0
- package/components/Clickable/ClickableButtonIcon.styles/package.json +6 -0
- package/components/Clickable/ClickableButtonIcon.styles.d.ts +19 -0
- package/components/Clickable/ClickableButtonLoadingIcon/ClickableButtonLoadingIcon.js +18 -0
- package/components/Clickable/ClickableButtonLoadingIcon/ClickableButtonLoadingIcon.js.map +1 -0
- package/components/Clickable/ClickableButtonLoadingIcon/package.json +6 -0
- package/components/Clickable/ClickableButtonLoadingIcon.d.ts +6 -0
- package/components/Clickable/ClickableButtonLoadingIcon.styles/ClickableButtonLoadingIcon.styles.js +10 -0
- package/components/Clickable/ClickableButtonLoadingIcon.styles/ClickableButtonLoadingIcon.styles.js.map +1 -0
- package/components/Clickable/ClickableButtonLoadingIcon.styles/package.json +6 -0
- package/components/Clickable/ClickableButtonLoadingIcon.styles.d.ts +3 -0
- package/components/Clickable/ClickableButtonOutline/ClickableButtonOutline.js +22 -0
- package/components/Clickable/ClickableButtonOutline/ClickableButtonOutline.js.map +1 -0
- package/components/Clickable/ClickableButtonOutline/package.json +6 -0
- package/components/Clickable/ClickableButtonOutline.d.ts +4 -0
- package/components/Clickable/ClickableButtonOutline.styles/ClickableButtonOutline.styles.js +16 -0
- package/components/Clickable/ClickableButtonOutline.styles/ClickableButtonOutline.styles.js.map +1 -0
- package/components/Clickable/ClickableButtonOutline.styles/package.json +6 -0
- package/components/Clickable/ClickableButtonOutline.styles.d.ts +6 -0
- package/components/Clickable/ClickableButtonWrapper/ClickableButtonWrapper.js +18 -0
- package/components/Clickable/ClickableButtonWrapper/ClickableButtonWrapper.js.map +1 -0
- package/components/Clickable/ClickableButtonWrapper/package.json +6 -0
- package/components/Clickable/ClickableButtonWrapper.d.ts +3 -0
- package/components/Clickable/ClickableButtonWrapper.styles/ClickableButtonWrapper.styles.js +19 -0
- package/components/Clickable/ClickableButtonWrapper.styles/ClickableButtonWrapper.styles.js.map +1 -0
- package/components/Clickable/ClickableButtonWrapper.styles/package.json +6 -0
- package/components/Clickable/ClickableButtonWrapper.styles.d.ts +7 -0
- package/components/Clickable/ClickableLink/ClickableLink.js +24 -0
- package/components/Clickable/ClickableLink/ClickableLink.js.map +1 -0
- package/components/Clickable/ClickableLink/package.json +6 -0
- package/components/Clickable/ClickableLink.d.ts +5 -0
- package/components/Clickable/ClickableLink.styles/ClickableLink.styles.js +52 -0
- package/components/Clickable/ClickableLink.styles/ClickableLink.styles.js.map +1 -0
- package/components/Clickable/ClickableLink.styles/package.json +6 -0
- package/components/Clickable/ClickableLink.styles.d.ts +21 -0
- package/components/Clickable/ClickableLinkChild/ClickableLinkChild.js +20 -0
- package/components/Clickable/ClickableLinkChild/ClickableLinkChild.js.map +1 -0
- package/components/Clickable/ClickableLinkChild/package.json +6 -0
- package/components/Clickable/ClickableLinkChild.d.ts +7 -0
- package/components/Clickable/ClickableLinkChild.styles/ClickableLinkChild.styles.js +24 -0
- package/components/Clickable/ClickableLinkChild.styles/ClickableLinkChild.styles.js.map +1 -0
- package/components/Clickable/ClickableLinkChild.styles/package.json +6 -0
- package/components/Clickable/ClickableLinkChild.styles.d.ts +7 -0
- package/components/Clickable/ClickableLinkIcon/ClickableLinkIcon.js +21 -0
- package/components/Clickable/ClickableLinkIcon/ClickableLinkIcon.js.map +1 -0
- package/components/Clickable/ClickableLinkIcon/package.json +6 -0
- package/components/Clickable/ClickableLinkIcon.d.ts +7 -0
- package/components/Clickable/ClickableLinkIcon.styles/ClickableLinkIcon.styles.js +16 -0
- package/components/Clickable/ClickableLinkIcon.styles/ClickableLinkIcon.styles.js.map +1 -0
- package/components/Clickable/ClickableLinkIcon.styles/package.json +6 -0
- package/components/Clickable/ClickableLinkIcon.styles.d.ts +6 -0
- package/components/Clickable/index/index.js +1 -0
- package/components/Clickable/index/index.js.map +1 -0
- package/{internal/MaskedInput → components/Clickable}/index/package.json +1 -1
- package/components/Clickable/index.d.ts +1 -0
- package/{internal/MaskedInput → components/Clickable}/package.json +1 -1
- package/components/Clickable/utils/package.json +6 -0
- package/components/Clickable/utils/utils.js +44 -0
- package/components/Clickable/utils/utils.js.map +1 -0
- package/components/Clickable/utils.d.ts +6 -0
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +3 -1
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/DateInput/DateFragmentsView/DateFragmentsView.js +4 -1
- package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
- package/components/DateInput/DateInput/DateInput.js +2 -1
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +10 -10
- package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
- package/components/Dropdown/getDropdownTheme/getDropdownTheme.js +21 -22
- package/components/Dropdown/getDropdownTheme/getDropdownTheme.js.map +1 -1
- package/components/FileUploader/FileUploader/FileUploader.js +5 -5
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +2 -2
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
- package/components/FileUploader/FileUploader.styles.d.ts +1 -1
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +30 -34
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader.d.ts +1 -2
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +2 -3
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
- package/components/Group/Group/Group.js +9 -10
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.md +24 -0
- package/components/Hint/Hint/Hint.js +6 -7
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Input/Input/Input.js +28 -16
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +22 -5
- package/components/Input/Input.typings/Input.typings.js +1 -0
- package/components/Input/Input.typings/Input.typings.js.map +1 -0
- package/components/Input/Input.typings/package.json +6 -0
- package/components/Input/Input.typings.d.ts +7 -0
- package/components/Input/InputLayout/InputLayout.d.ts +1 -1
- package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -1
- package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js +1 -2
- package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js.map +1 -1
- package/components/Input/index/index.js +2 -1
- package/components/Input/index/index.js.map +1 -1
- package/components/Input/index.d.ts +1 -0
- package/components/Kebab/Kebab/Kebab.js +3 -2
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Link/Link/Link.js +5 -4
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.md +69 -0
- package/components/Link/Link.styles/Link.styles.js +25 -22
- package/components/Link/Link.styles/Link.styles.js.map +1 -1
- package/components/Link/Link.styles.d.ts +1 -0
- package/components/Loader/Loader/Loader.js +9 -6
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/MaskedInput/MaskedInput/MaskedInput.js +62 -0
- package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -0
- package/{internal → components}/MaskedInput/MaskedInput/package.json +1 -1
- package/components/MaskedInput/MaskedInput.d.ts +24 -0
- package/components/MaskedInput/MaskedInput.md +21 -0
- package/components/MaskedInput/index/index.js.map +1 -0
- package/components/MaskedInput/index/package.json +6 -0
- package/components/MaskedInput/package.json +6 -0
- package/components/MenuHeader/MenuHeader/MenuHeader.js +3 -1
- package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
- package/components/MenuItem/MenuItem/MenuItem.js +129 -19
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +21 -0
- package/components/MenuItem/MenuItem.md +20 -6
- package/components/MiniModal/MiniModal/MiniModal.js +38 -0
- package/components/MiniModal/MiniModal/MiniModal.js.map +1 -0
- package/components/MiniModal/MiniModal/package.json +6 -0
- package/components/MiniModal/MiniModal.d.ts +18 -0
- package/components/MiniModal/MiniModal.md +233 -0
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +41 -0
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -0
- package/components/MiniModal/MiniModal.styles/package.json +6 -0
- package/components/MiniModal/MiniModal.styles.d.ts +14 -0
- package/components/MiniModal/MiniModalBody/MiniModalBody.js +23 -0
- package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -0
- package/components/MiniModal/MiniModalBody/package.json +6 -0
- package/components/MiniModal/MiniModalBody.d.ts +7 -0
- package/components/MiniModal/MiniModalFooter/MiniModalFooter.js +35 -0
- package/components/MiniModal/MiniModalFooter/MiniModalFooter.js.map +1 -0
- package/components/MiniModal/MiniModalFooter/package.json +6 -0
- package/components/MiniModal/MiniModalFooter.d.ts +18 -0
- package/components/MiniModal/MiniModalHeader/MiniModalHeader.js +33 -0
- package/components/MiniModal/MiniModalHeader/MiniModalHeader.js.map +1 -0
- package/components/MiniModal/MiniModalHeader/package.json +6 -0
- package/components/MiniModal/MiniModalHeader.d.ts +17 -0
- package/components/MiniModal/MiniModalIndent/MiniModalIndent.js +27 -0
- package/components/MiniModal/MiniModalIndent/MiniModalIndent.js.map +1 -0
- package/components/MiniModal/MiniModalIndent/package.json +6 -0
- package/components/MiniModal/MiniModalIndent.d.ts +6 -0
- package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js +23 -0
- package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js.map +1 -0
- package/components/MiniModal/getMiniModalTheme/package.json +6 -0
- package/components/MiniModal/getMiniModalTheme.d.ts +16 -0
- package/components/MiniModal/index/index.js +5 -0
- package/components/MiniModal/index/index.js.map +1 -0
- package/components/MiniModal/index/package.json +6 -0
- package/components/MiniModal/index.d.ts +5 -0
- package/components/MiniModal/package.json +6 -0
- package/components/Modal/Modal/Modal.js +18 -14
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.d.ts +6 -0
- package/components/Modal/Modal.styles/Modal.styles.js +44 -37
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +5 -0
- package/components/Modal/ModalClose/ModalClose.js +2 -1
- package/components/Modal/ModalClose/ModalClose.js.map +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/Modal/ModalSeparator/ModalSeparator.js +6 -0
- package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
- package/components/Modal/ModalSeparator.d.ts +5 -0
- package/components/Modal/getModalTheme/getModalTheme.js +8 -3
- package/components/Modal/getModalTheme/getModalTheme.js.map +1 -1
- package/components/Modal/getModalTheme.d.ts +2 -2
- package/components/Paging/NavigationHelper/NavigationHelper.js +2 -1
- package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
- package/components/Paging/Paging/Paging.js +16 -10
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.styles/Paging.styles.js +2 -5
- package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
- package/components/Paging/Paging.styles.d.ts +0 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +4 -2
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/Radio/Radio/Radio.js +2 -1
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +5 -6
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
- package/components/ScrollContainer/ScrollBar/ScrollBar.js +17 -50
- package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
- package/components/ScrollContainer/ScrollBar.d.ts +4 -7
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +109 -22
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +1 -2
- package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +18 -3
- package/components/ScrollContainer/ScrollContainer.md +29 -2
- package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +6 -18
- package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
- package/components/Select/Item/Item.js +3 -1
- package/components/Select/Item/Item.js.map +1 -1
- package/components/Select/Item.d.ts +1 -0
- package/components/Select/Select/Select.js +23 -16
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +2 -0
- package/components/Select/Select.md +12 -0
- package/components/SidePage/SidePage/SidePage.js +34 -9
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +3 -1
- package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +2 -1
- package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js +6 -4
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +1 -0
- package/components/SingleToast/SingleToast/SingleToast.js +53 -0
- package/components/SingleToast/SingleToast/SingleToast.js.map +1 -0
- package/components/SingleToast/SingleToast/package.json +6 -0
- package/components/SingleToast/SingleToast.d.ts +11 -0
- package/components/SingleToast/SingleToast.md +35 -0
- package/components/SingleToast/index/index.js +1 -0
- package/components/SingleToast/index/index.js.map +1 -0
- package/components/SingleToast/index/package.json +6 -0
- package/components/SingleToast/index.d.ts +1 -0
- package/components/SingleToast/package.json +6 -0
- package/components/Spinner/Spinner/Spinner.js +10 -4
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +1 -0
- package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +5 -2
- package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
- package/components/Sticky/Sticky/Sticky.js +5 -6
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +1 -1
- package/components/Tabs/Indicator/Indicator.js +3 -1
- package/components/Tabs/Indicator/Indicator.js.map +1 -1
- package/components/Tabs/Tab/Tab.js +2 -1
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tabs/Tabs.js +3 -1
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Textarea/Textarea/Textarea.js +33 -19
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +1 -0
- package/components/Textarea/TextareaCounter/TextareaCounter.js +2 -3
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Textarea/TextareaCounter.d.ts +1 -1
- package/components/Textarea/TextareaHelpers/TextareaHelpers.js +6 -1
- package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
- package/components/Textarea/TextareaHelpers.d.ts +1 -1
- package/components/Textarea/TextareaWithSafari17Workaround/TextareaWithSafari17Workaround.js +21 -0
- package/components/Textarea/TextareaWithSafari17Workaround/TextareaWithSafari17Workaround.js.map +1 -0
- package/components/Textarea/TextareaWithSafari17Workaround/package.json +6 -0
- package/components/Textarea/TextareaWithSafari17Workaround.d.ts +6 -0
- package/components/Toast/Toast/Toast.js +16 -7
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +10 -3
- package/components/Toast/Toast.md +0 -105
- package/components/Toast/ToastStatic/ToastStatic.js +4 -4
- package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
- package/components/Token/Token/Token.js +4 -3
- package/components/Token/Token/Token.js.map +1 -1
- package/components/TokenInput/TokenInput/TokenInput.js +51 -11
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +2 -0
- package/components/TokenInput/TokenInput.md +71 -0
- package/components/Tooltip/Tooltip/Tooltip.js +10 -7
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +6 -1
- package/components/Tooltip/Tooltip.md +24 -0
- package/hooks/useDrop/useDrop.js +3 -2
- package/hooks/useDrop/useDrop.js.map +1 -1
- package/index.d.ts +5 -0
- package/index.js +5 -0
- package/index.js.map +1 -1
- package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js +2 -1
- package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
- package/internal/ComponentCombinator/ComponentCombinator.js +4 -8
- package/internal/ComponentCombinator/ComponentCombinator.js.map +1 -1
- package/internal/ComponentCombinator.d.ts +7 -8
- package/internal/ComponentTable/ComponentTable.js +66 -103
- package/internal/ComponentTable/ComponentTable.js.map +1 -1
- package/internal/ComponentTable.d.ts +7 -19
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +4 -3
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +3 -2
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
- package/internal/DateSelect/DateSelect/DateSelect.js +20 -20
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +19 -17
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
- package/internal/DropdownContainer/DropdownContainer.d.ts +0 -1
- package/internal/DropdownContainer/getManualPosition/getManualPosition.js +4 -3
- package/internal/DropdownContainer/getManualPosition/getManualPosition.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +2 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -1
- package/internal/FocusTrap/FocusTrap/FocusTrap.js +9 -3
- package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +25 -26
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +3 -1
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +29 -19
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/{MaskedInput/MaskedInput/MaskedInput.js → InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js} +13 -9
- package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +1 -0
- package/internal/InternalMaskedInput/InternalMaskedInput/package.json +6 -0
- package/internal/{MaskedInput/MaskedInput.d.ts → InternalMaskedInput/InternalMaskedInput.d.ts} +8 -5
- package/{cjs/internal/MaskedInput/MaskedInput.styles.js.map → internal/InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js.map} +1 -1
- package/internal/InternalMaskedInput/InternalMaskedInput.styles/package.json +6 -0
- package/internal/InternalMaskedInput/InternalMaskedInput.styles.d.ts +6 -0
- package/internal/InternalMaskedInput/index/index.js +1 -0
- package/internal/InternalMaskedInput/index/index.js.map +1 -0
- package/internal/InternalMaskedInput/index/package.json +6 -0
- package/internal/InternalMaskedInput/index.d.ts +1 -0
- package/internal/InternalMaskedInput/package.json +6 -0
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +10 -9
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/MaskedInputElement/MaskedInputElement/MaskedInputElement.js +206 -0
- package/internal/MaskedInputElement/MaskedInputElement/MaskedInputElement.js.map +1 -0
- package/internal/MaskedInputElement/MaskedInputElement/package.json +6 -0
- package/internal/MaskedInputElement/MaskedInputElement.d.ts +14 -0
- package/internal/MaskedInputElement/MaskedInputElement.helpers/MaskedInputElement.helpers.js +43 -0
- package/internal/MaskedInputElement/MaskedInputElement.helpers/MaskedInputElement.helpers.js.map +1 -0
- package/internal/MaskedInputElement/MaskedInputElement.helpers/package.json +6 -0
- package/internal/MaskedInputElement/MaskedInputElement.helpers.d.ts +16 -0
- package/internal/MaskedInputElement/MaskedInputElement.styles/MaskedInputElement.styles.js +16 -0
- package/internal/MaskedInputElement/MaskedInputElement.styles/MaskedInputElement.styles.js.map +1 -0
- package/internal/MaskedInputElement/MaskedInputElement.styles/package.json +6 -0
- package/internal/MaskedInputElement/MaskedInputElement.styles.d.ts +6 -0
- package/internal/MaskedInputElement/index/index.js +1 -0
- package/internal/MaskedInputElement/index/index.js.map +1 -0
- package/internal/MaskedInputElement/index/package.json +6 -0
- package/internal/MaskedInputElement/index.d.ts +1 -0
- package/internal/MaskedInputElement/package.json +6 -0
- package/internal/Menu/Menu/Menu.js +144 -62
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.d.ts +6 -0
- package/internal/Menu/MenuContext/MenuContext.js +5 -0
- package/internal/Menu/MenuContext/MenuContext.js.map +1 -0
- package/internal/Menu/MenuContext/package.json +6 -0
- package/internal/Menu/MenuContext.d.ts +10 -0
- package/internal/Menu/MenuNavigation/MenuNavigation.js +123 -0
- package/internal/Menu/MenuNavigation/MenuNavigation.js.map +1 -0
- package/internal/Menu/MenuNavigation/package.json +6 -0
- package/internal/Menu/MenuNavigation.d.ts +26 -0
- package/internal/Menu/isActiveElement/isActiveElement.js +1 -1
- package/internal/Menu/isActiveElement/isActiveElement.js.map +1 -1
- package/internal/MenuMessage/MenuMessage.d.ts +1 -1
- package/internal/Popup/Popup/Popup.js +12 -13
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/PopupHelper/PopupHelper.js +8 -5
- package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -2
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/RenderContainer/RenderContainer/RenderContainer.js +26 -16
- package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/RenderContainer/RenderContainer.d.ts +0 -1
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +11 -5
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
- package/internal/ThemePlayground/constants/constants.js +3 -0
- package/internal/ThemePlayground/constants/constants.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +5 -2
- package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js +2 -2
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +2 -2
- package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
- package/internal/icons/16px/index.d.ts +19 -19
- package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
- package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
- package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
- package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
- package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
- package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
- package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
- package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
- package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
- package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
- package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
- package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
- package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
- package/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
- package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
- package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
- package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
- package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
- package/internal/icons2022/BaseIcon/BaseIcon.js +3 -6
- package/internal/icons2022/BaseIcon/BaseIcon.js.map +1 -1
- package/internal/icons2022/BaseIcon.d.ts +1 -1
- package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js +11 -0
- package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js.map +1 -0
- package/internal/icons2022/BaseIcon.styles/package.json +6 -0
- package/internal/icons2022/BaseIcon.styles.d.ts +3 -0
- package/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
- package/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
- package/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
- package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
- package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
- package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
- package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
- package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
- package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
- package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js +18 -0
- package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js.map +1 -0
- package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/package.json +6 -0
- package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
- package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
- package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
- package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
- package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
- package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
- package/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
- package/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
- package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
- package/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
- package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
- package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
- package/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
- package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
- package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
- package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
- package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
- package/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
- package/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
- package/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
- package/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
- package/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js +178 -6
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +67 -2
- package/internal/themes/Theme2022/Theme2022.js +62 -15
- package/internal/themes/Theme2022/Theme2022.js.map +1 -1
- package/internal/themes/Theme2022.d.ts +22 -7
- package/internal/themes/Theme2022Dark/Theme2022Dark.js +18 -13
- package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
- package/internal/themes/Theme2022Dark.d.ts +5 -9
- package/lib/LayoutEvents/LayoutEvents.js +5 -4
- package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
- package/lib/ModalStack/ModalStack.js +2 -2
- package/lib/ModalStack/ModalStack.js.map +1 -1
- package/lib/SSRSafe/SSRSafe.js +3 -35
- package/lib/SSRSafe/SSRSafe.js.map +1 -1
- package/lib/SSRSafe.d.ts +1 -6
- package/lib/Upgrades/Upgrades.js +3 -1
- package/lib/Upgrades/Upgrades.js.map +1 -1
- package/lib/Upgrades.d.ts +1 -0
- package/lib/animation/index/index.js +6 -3
- package/lib/animation/index/index.js.map +1 -1
- package/lib/chars/chars.js +1 -1
- package/lib/chars/chars.js.map +1 -1
- package/lib/chars.d.ts +1 -1
- package/lib/client/client.js +9 -7
- package/lib/client/client.js.map +1 -1
- package/lib/client.d.ts +2 -7
- package/lib/dom/getScrollWidth/getScrollWidth.js +4 -5
- package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
- package/lib/dom/tabbableHelpers/tabbableHelpers.js +4 -2
- package/lib/dom/tabbableHelpers/tabbableHelpers.js.map +1 -1
- package/lib/dom/tabbableHelpers.d.ts +2 -1
- package/lib/events/MouseDrag/MouseDrag.js +15 -11
- package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
- package/lib/events/fixClickFocusIE/fixClickFocusIE.js +4 -2
- package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +1 -1
- package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +7 -2
- package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -1
- package/lib/events/keyListener/keyListener.js +9 -12
- package/lib/events/keyListener/keyListener.js.map +1 -1
- package/lib/events/keyboard/identifiers/identifiers.js +3 -1
- package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
- package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +185 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js +5 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js.map +1 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers/package.json +6 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +8 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +10 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/package.json +6 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +10 -0
- package/lib/featureFlagsContext/index/index.js +2 -0
- package/lib/featureFlagsContext/index/index.js.map +1 -0
- package/lib/featureFlagsContext/index/package.json +6 -0
- package/lib/featureFlagsContext/index.d.ts +2 -0
- package/lib/featureFlagsContext/package.json +6 -0
- package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
- package/lib/forwardRefAndName.d.ts +1 -1
- package/lib/isInstanceOf/isInstanceOf.js +3 -0
- package/lib/isInstanceOf/isInstanceOf.js.map +1 -0
- package/lib/isInstanceOf/package.json +6 -0
- package/lib/isInstanceOf.d.ts +1 -0
- package/lib/listenFocusOutside/listenFocusOutside.js +19 -10
- package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
- package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +4 -3
- package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -1
- package/lib/net/fetch/fetch.js +29 -21
- package/lib/net/fetch/fetch.js.map +1 -1
- package/lib/rootNode/getRootNode/getRootNode.js +6 -6
- package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
- package/lib/styles/ColorFactory/ColorFactory.js +13 -9
- package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
- package/lib/styles/ColorHelpers/ColorHelpers.js +3 -7
- package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
- package/lib/styles/ColorHelpers.d.ts +1 -1
- package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +5 -4
- package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/lib/theming/Emotion/Emotion.js +6 -1
- package/lib/theming/Emotion/Emotion.js.map +1 -1
- package/lib/utils/utils.js +31 -6
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +7 -0
- package/package.json +4 -4
- package/typings/global.d.ts +3 -4
- package/typings/react-ref.d.ts +29 -0
- package/typings/utility-types.d.ts +2 -0
- package/cjs/internal/MaskedInput/MaskedInput.js.map +0 -1
- package/cjs/internal/MaskedInput/index.js.map +0 -1
- package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +0 -1
- package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js.map +0 -1
- package/internal/MaskedInput/MaskedInput.styles/package.json +0 -6
- package/internal/MaskedInput/index/index.js.map +0 -1
- /package/cjs/{internal → components}/MaskedInput/index.d.ts +0 -0
- /package/cjs/{internal → components}/MaskedInput/index.js +0 -0
- /package/cjs/internal/{MaskedInput/MaskedInput.styles.d.ts → InternalMaskedInput/InternalMaskedInput.styles.d.ts} +0 -0
- /package/cjs/internal/{MaskedInput/MaskedInput.styles.js → InternalMaskedInput/InternalMaskedInput.styles.js} +0 -0
- /package/{internal/MaskedInput/MaskedInput.styles.d.ts → cjs/internal/MaskedInputElement/MaskedInputElement.styles.d.ts} +0 -0
- /package/{internal → components}/MaskedInput/index/index.js +0 -0
- /package/{internal → components}/MaskedInput/index.d.ts +0 -0
- /package/internal/{MaskedInput/MaskedInput.styles/MaskedInput.styles.js → InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Paging.tsx"],"names":["React","func","number","isKeyArrowLeft","isKeyArrowRight","isKeyEnter","locale","keyListener","emptyHandler","isIE11","ThemeContext","ArrowChevronRightIcon","CommonWrapper","cx","rootNode","createPropsGetter","isTheme2022","styles","NavigationHelper","getItems","PagingLocaleHelper","PagingDefaultComponent","ForwardIcon","IGNORE_EVENT_TAGS","PagingDataTids","root","dots","forwardLink","pageLinkWrapper","pageLink","Paging","getProps","defaultProps","state","focusedByTab","focusedItem","keyboardControl","useGlobalListener","addedGlobalListener","container","renderItem","item","index","focused","getFocusedItem","key","renderDots","disabled","isItemDisabled","renderForwardLink","active","props","activePage","renderPageLink","theme","dotsDisabled","classes","pageLinkFocused","pageLinkDisabled","forwardLinkFocused","forwardLinkDisabled","Component","component","forward","forwardIcon","parseInt","pagingForwardIconSize","marginLeft","goForward","caption","pageNumber","pageLinkCurrent","pageLinkCurrentDisabled","handleClick","goToPage","handleMouseDownPageLink","renderNavigationHint","withoutNavigationHint","canGoBackward","canGoForward","pageLinkHint","transparent","getKeyName","pageLinkHintPlaceHolder","handleMouseDown","setState","setTimeout","focus","handleKeyDown","e","shiftKey","target","isArrowLeft","isArrowRight","Element","includes","tagName","toLowerCase","isContentEditable","checkKeyPressed","goBackward","moveFocusLeft","moveFocusRight","executeItemAction","handleFocus","requestAnimationFrame","isTabPressed","handleBlur","pagesCount","concat","isItemFocusable","moveFocus","step","items","findIndex","x","length","onPageChange","addGlobalListener","document","addEventListener","removeGlobalListener","removeEventListener","refContainer","element","isForward","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","shouldBeVisibleWithLessThanTwoPages","renderMain","dataTid","setRootNode","paging","pagingDisabled","undefined","map","PureComponent","__KONTUR_REACT_UI__","propTypes","isRequired"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { func, number } from 'prop-types';\n\nimport { isKeyArrowLeft, isKeyArrowRight, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { locale } from '../../lib/locale/decorators';\nimport { Nullable } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { emptyHandler } from '../../lib/utils';\nimport { isIE11 } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ArrowChevronRightIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles } from './Paging.styles';\nimport * as NavigationHelper from './NavigationHelper';\nimport { getItems } from './PagingHelper';\nimport { PagingLocale, PagingLocaleHelper } from './locale';\nimport { PagingDefaultComponent } from './PagingDefaultComponent';\nimport { ForwardIcon } from './ForwardIcon';\n\nconst IGNORE_EVENT_TAGS = ['input', 'textarea'];\n\nexport interface ItemComponentProps {\n active: boolean;\n children?: React.ReactNode;\n className: string;\n onClick: () => void;\n pageNumber: number | 'forward';\n tabIndex: number;\n}\n\nexport interface PagingProps extends CommonProps {\n activePage: number;\n /**\n * Компонент обертки по умолчанию\n * @default <span />\n */\n component?: React.ComponentType<ItemComponentProps>;\n onPageChange: (pageNumber: number) => void;\n pagesCount: number;\n disabled?: boolean;\n /**\n * Отключает навигационные подсказки.\n * По-умолчанию подсказки появляются, когда доступно управление с клавиатуры\n * (либо элемент в фокусе, либо globalListeners === true)\n */\n withoutNavigationHint?: boolean;\n caption?: string;\n /**\n * Глобальный слушатель **keyDown**, для навигации клавишами без фокуса на компоненте.\n * Если на странице используется несколько элементов\n * **Paging** с useGlobalListener === true, то обработчик keyDown будет вызываться\n * на каждом из них. Такие случаи лучше обрабатывать отдельно.\n */\n useGlobalListener?: boolean;\n /**\n * Определяет, нужно ли показывать `Paging` когда страница всего одна.\n *\n * Этот проп будет удалён в 5-ой версии библиотеки,\n * так как поведение со скрытием `Paging`'а станет поведением по умолчанию.\n *\n * @default false\n */\n shouldBeVisibleWithLessThanTwoPages?: boolean;\n}\n\nexport interface PagingState {\n focusedByTab: boolean;\n focusedItem: Nullable<ItemType>;\n keyboardControl: boolean;\n}\n\nexport type ItemType = number | '.' | 'forward';\n\nexport const PagingDataTids = {\n root: 'Paging__root',\n dots: 'Paging__dots',\n forwardLink: 'Paging__forwardLink',\n pageLinkWrapper: 'Paging__pageLinkWrapper',\n pageLink: 'Paging__pageLink',\n} as const;\n\ntype DefaultProps = Required<\n Pick<PagingProps, 'component' | 'shouldBeVisibleWithLessThanTwoPages' | 'useGlobalListener' | 'data-tid'>\n>;\n\n@rootNode\n@locale('Paging', PagingLocaleHelper)\nexport class Paging extends React.PureComponent<PagingProps, PagingState> {\n public static __KONTUR_REACT_UI__ = 'Paging';\n\n public static defaultProps: DefaultProps = {\n component: PagingDefaultComponent,\n shouldBeVisibleWithLessThanTwoPages: true,\n useGlobalListener: false,\n 'data-tid': PagingDataTids.root,\n };\n\n private getProps = createPropsGetter(Paging.defaultProps);\n\n public static propTypes = {};\n private setRootNode!: TSetRootNode;\n\n public static isForward(pageNumber: number | 'forward'): boolean /* %checks */ {\n return pageNumber === 'forward';\n }\n\n public state: PagingState = {\n focusedByTab: false,\n focusedItem: null,\n keyboardControl: this.getProps().useGlobalListener,\n };\n\n private theme!: Theme;\n private readonly locale!: PagingLocale;\n private addedGlobalListener = false;\n private container: HTMLSpanElement | null = null;\n\n public componentDidMount() {\n const useGlobalListener = this.getProps().useGlobalListener;\n if (useGlobalListener) {\n this.addGlobalListener();\n }\n }\n\n public componentDidUpdate(prevProps: PagingProps) {\n const useGlobalListener = this.getProps().useGlobalListener;\n if (!prevProps.useGlobalListener && useGlobalListener) {\n this.addGlobalListener();\n }\n\n if (prevProps.useGlobalListener && !useGlobalListener) {\n this.removeGlobalListener();\n }\n\n if (prevProps.useGlobalListener !== useGlobalListener) {\n this.setState({\n keyboardControl: useGlobalListener,\n });\n }\n }\n\n public componentWillUnmount() {\n this.removeGlobalListener();\n }\n\n public render() {\n if (this.props.pagesCount < 2 && !this.getProps().shouldBeVisibleWithLessThanTwoPages) {\n return null;\n }\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { 'data-tid': dataTid, useGlobalListener } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span\n tabIndex={this.props.disabled ? -1 : 0}\n data-tid={dataTid}\n className={cx({ [styles.paging(this.theme)]: true, [styles.pagingDisabled()]: this.props.disabled })}\n onKeyDown={useGlobalListener ? undefined : this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onMouseDown={this.handleMouseDown}\n ref={this.refContainer}\n >\n {this.getItems().map(this.renderItem)}\n </span>\n </CommonWrapper>\n );\n }\n\n private renderItem = (item: ItemType, index: number) => {\n const focused = this.getFocusedItem() === item;\n switch (item) {\n case '.': {\n const key = `dots${index < 5 ? 'Left' : 'Right'}`;\n return this.renderDots(key);\n }\n case 'forward': {\n const disabled = this.isItemDisabled(item);\n return this.renderForwardLink(disabled, focused);\n }\n default: {\n const active = this.props.activePage === item;\n return this.renderPageLink(item, active, focused);\n }\n }\n };\n\n private renderDots = (key: string) => {\n return (\n <span\n data-tid={PagingDataTids.dots}\n key={key}\n className={cx({ [styles.dots(this.theme)]: true, [styles.dotsDisabled(this.theme)]: this.props.disabled })}\n >\n {'...'}\n </span>\n );\n };\n\n private renderForwardLink = (disabled: boolean, focused: boolean): JSX.Element => {\n const classes = isTheme2022(this.theme)\n ? cx(\n styles.pageLink(this.theme),\n styles.forwardLink(this.theme),\n focused && styles.pageLinkFocused(this.theme),\n (disabled || this.props.disabled) && styles.pageLinkDisabled(this.theme),\n )\n : cx({\n [styles.forwardLink(this.theme)]: true,\n [styles.forwardLinkFocused()]: focused,\n [styles.forwardLinkDisabled(this.theme)]: disabled || this.props.disabled,\n });\n const Component = this.getProps().component;\n const { forward } = this.locale;\n\n const forwardIcon = isTheme2022(this.theme) ? (\n <ForwardIcon size={parseInt(this.theme.pagingForwardIconSize)} style={{ marginLeft: 4 }} />\n ) : (\n <span className={styles.forwardIcon(this.theme)}>\n <ArrowChevronRightIcon size={this.theme.pagingForwardIconSize} />\n </span>\n );\n\n return (\n <Component\n key={'forward'}\n data-tid={PagingDataTids.forwardLink}\n active={false}\n className={classes}\n onClick={disabled ? emptyHandler : this.goForward}\n tabIndex={-1}\n pageNumber={'forward' as const}\n >\n {this.props.caption || forward}\n {forwardIcon}\n </Component>\n );\n };\n\n private renderPageLink = (pageNumber: number, active: boolean, focused: boolean): JSX.Element => {\n const classes = cx({\n [styles.pageLink(this.theme)]: true,\n [styles.pageLinkFocused(this.theme)]: focused,\n [styles.pageLinkDisabled(this.theme)]: this.props.disabled,\n [styles.pageLinkCurrent(this.theme)]: active,\n [styles.pageLinkCurrentDisabled(this.theme)]: active && this.props.disabled,\n });\n const Component = this.getProps().component;\n const handleClick = () => this.goToPage(pageNumber);\n\n return (\n <span\n data-tid={PagingDataTids.pageLinkWrapper}\n key={pageNumber}\n className={styles.pageLinkWrapper()}\n onMouseDown={this.handleMouseDownPageLink}\n >\n <Component\n data-tid={PagingDataTids.pageLink}\n active={active}\n className={classes}\n onClick={handleClick}\n tabIndex={-1}\n pageNumber={pageNumber}\n >\n {pageNumber}\n </Component>\n {active && this.renderNavigationHint()}\n </span>\n );\n };\n\n private renderNavigationHint = () => {\n if (this.props.withoutNavigationHint) {\n return null;\n }\n\n const { keyboardControl } = this.state;\n const canGoBackward = this.canGoBackward();\n const canGoForward = this.canGoForward();\n\n if (keyboardControl && (canGoBackward || canGoForward)) {\n return (\n <span className={styles.pageLinkHint(this.theme)}>\n <span className={canGoBackward ? '' : styles.transparent()}>{'←'}</span>\n <span>{NavigationHelper.getKeyName()}</span>\n <span className={canGoForward ? '' : styles.transparent()}>{'→'}</span>\n </span>\n );\n }\n\n return <div className={styles.pageLinkHintPlaceHolder(this.theme)} />;\n };\n\n private handleMouseDown = () => {\n this.setState({ focusedByTab: false, focusedItem: null });\n };\n\n private handleMouseDownPageLink = () => {\n if (isIE11) {\n // Клик по span внутри контейнера с tabindex=\"0\" переносит фокус именно на этот span.\n // Поэтому горячие клавиши работают пока span существует на странице.\n setTimeout(() => this.container && this.container.focus(), 0);\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent | React.KeyboardEvent<HTMLElement>) => {\n if (e.shiftKey) {\n return;\n }\n\n const target = e.target;\n\n const isArrowLeft = isKeyArrowLeft(e);\n const isArrowRight = isKeyArrowRight(e);\n\n if (\n target instanceof Element &&\n (IGNORE_EVENT_TAGS.includes(target.tagName.toLowerCase()) || (target as HTMLElement).isContentEditable)\n ) {\n return;\n }\n\n if (NavigationHelper.checkKeyPressed(e) && isArrowLeft) {\n this.setState({ focusedItem: null }, this.goBackward);\n return;\n }\n if (NavigationHelper.checkKeyPressed(e) && isArrowRight) {\n this.setState({ focusedItem: null }, this.goForward);\n return;\n }\n\n if (this.container && this.container === e.target) {\n if (isArrowLeft) {\n this.setState({ focusedByTab: true }, this.moveFocusLeft);\n return;\n }\n if (isArrowRight) {\n this.setState({ focusedByTab: true }, this.moveFocusRight);\n return;\n }\n if (isKeyEnter(e)) {\n this.executeItemAction(this.getFocusedItem());\n return;\n }\n }\n };\n\n private handleFocus = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ keyboardControl: true });\n\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n keyboardControl: this.getProps().useGlobalListener || false,\n });\n };\n\n private getItems = (): ItemType[] => {\n return getItems(this.props.activePage, this.props.pagesCount).concat('forward');\n };\n\n private getFocusedItem = (): Nullable<ItemType> => {\n if (!this.state.focusedByTab) {\n return null;\n }\n\n const { focusedItem } = this.state;\n if (focusedItem && this.getItems().includes(focusedItem) && this.isItemFocusable(focusedItem)) {\n return focusedItem;\n }\n\n return this.props.activePage;\n };\n\n private isItemFocusable = (item: ItemType) => {\n return !this.isItemDisabled(item);\n };\n\n private isItemDisabled = (item: ItemType) => {\n switch (item) {\n case '.':\n return true;\n case 'forward':\n return !this.canGoForward();\n default:\n return false;\n }\n };\n\n private executeItemAction = (item: Nullable<ItemType>) => {\n if (item === 'forward') {\n this.goForward();\n }\n if (typeof item === 'number') {\n this.goToPage(item);\n }\n };\n\n private moveFocusLeft = () => {\n this.moveFocus(-1);\n };\n\n private moveFocusRight = () => {\n this.moveFocus(1);\n };\n\n private moveFocus = (step: number) => {\n const focusedItem = this.getFocusedItem();\n const items = this.getItems();\n let index = items.findIndex((x) => x === focusedItem);\n do {\n index = (index + step + items.length) % items.length;\n } while (!this.isItemFocusable(items[index]));\n this.setState({ focusedItem: items[index] });\n };\n\n private canGoBackward = (): boolean => {\n return this.props.activePage > 1;\n };\n\n private canGoForward = (): boolean => {\n return this.props.activePage < this.props.pagesCount;\n };\n\n private goBackward = () => {\n this.goToPage(this.props.activePage - 1);\n };\n\n private goForward = () => {\n this.goToPage(this.props.activePage + 1);\n };\n\n private goToPage = (pageNumber: number) => {\n if (pageNumber >= 1 && pageNumber !== this.props.activePage && pageNumber <= this.props.pagesCount) {\n this.props.onPageChange(pageNumber);\n }\n };\n\n private addGlobalListener = () => {\n if (this.addedGlobalListener) {\n return;\n }\n\n document.addEventListener('keydown', this.handleKeyDown);\n this.addedGlobalListener = true;\n };\n\n private removeGlobalListener = () => {\n if (this.addedGlobalListener) {\n document.removeEventListener('keydown', this.handleKeyDown);\n\n this.addedGlobalListener = false;\n }\n };\n\n private refContainer = (element: HTMLSpanElement | null) => {\n this.container = element;\n };\n}\n\nPaging.propTypes = {\n /**\n * Current active page\n */\n activePage: number.isRequired,\n\n /**\n * React component that would be used for rendering items\n *\n * Usefull for router integration\n */\n component: func,\n\n /**\n * Total page count\n */\n pagesCount: number.isRequired,\n\n /**\n * Calls when page has been changed\n */\n onPageChange: func.isRequired,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["Paging.tsx"],"names":["React","func","number","globalObject","isInstanceOf","isKeyArrowLeft","isKeyArrowRight","isKeyEnter","locale","keyListener","emptyHandler","isIE11","ThemeContext","ArrowChevronRightIcon","CommonWrapper","cx","rootNode","createPropsGetter","isTheme2022","styles","NavigationHelper","getItems","PagingLocaleHelper","PagingDefaultComponent","ForwardIcon","IGNORE_EVENT_TAGS","PagingDataTids","root","dots","forwardLink","pageLinkWrapper","pageLink","Paging","getProps","defaultProps","state","focusedByTab","focusedItem","keyboardControl","useGlobalListener","addedGlobalListener","container","renderItem","item","index","focused","getFocusedItem","key","renderDots","disabled","isItemDisabled","renderForwardLink","active","props","activePage","renderPageLink","theme","dotsDisabled","classes","pageLinkFocused","pageLinkDisabled","forwardLinkFocused","forwardLinkDisabled","Component","component","forward","forwardIcon","parseInt","pagingForwardIconSize","marginLeft","goForward","caption","pageNumber","pageLinkCurrent","pageLinkCurrentDisabled","handleClick","goToPage","handleMouseDownPageLink","renderNavigationHint","withoutNavigationHint","canGoBackward","canGoForward","hint","transparent","getKeyName","pageLinkHint","handleMouseDown","setState","setTimeout","focus","handleKeyDown","e","shiftKey","target","isArrowLeft","isArrowRight","Element","includes","tagName","toLowerCase","isContentEditable","checkKeyPressed","goBackward","moveFocusLeft","moveFocusRight","executeItemAction","handleFocus","requestAnimationFrame","isTabPressed","handleBlur","pagesCount","concat","isItemFocusable","moveFocus","step","items","findIndex","x","length","onPageChange","addGlobalListener","document","addEventListener","removeGlobalListener","removeEventListener","refContainer","element","isForward","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","shouldBeVisibleWithLessThanTwoPages","renderMain","dataTid","setRootNode","paging","pagingDisabled","undefined","map","PureComponent","__KONTUR_REACT_UI__","propTypes","isRequired"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { func, number } from 'prop-types';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { isKeyArrowLeft, isKeyArrowRight, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { locale } from '../../lib/locale/decorators';\nimport { Nullable } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { emptyHandler } from '../../lib/utils';\nimport { isIE11 } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ArrowChevronRightIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles } from './Paging.styles';\nimport * as NavigationHelper from './NavigationHelper';\nimport { getItems } from './PagingHelper';\nimport { PagingLocale, PagingLocaleHelper } from './locale';\nimport { PagingDefaultComponent } from './PagingDefaultComponent';\nimport { ForwardIcon } from './ForwardIcon';\n\nconst IGNORE_EVENT_TAGS = ['input', 'textarea'];\n\nexport interface ItemComponentProps {\n active: boolean;\n children?: React.ReactNode;\n className: string;\n onClick: () => void;\n pageNumber: number | 'forward';\n tabIndex: number;\n}\n\nexport interface PagingProps extends CommonProps {\n activePage: number;\n /**\n * Компонент обертки по умолчанию\n * @default <span />\n */\n component?: React.ComponentType<ItemComponentProps>;\n onPageChange: (pageNumber: number) => void;\n pagesCount: number;\n disabled?: boolean;\n /**\n * Отключает навигационные подсказки.\n * По-умолчанию подсказки появляются, когда доступно управление с клавиатуры\n * (либо элемент в фокусе, либо globalListeners === true)\n */\n withoutNavigationHint?: boolean;\n caption?: string;\n /**\n * Глобальный слушатель **keyDown**, для навигации клавишами без фокуса на компоненте.\n * Если на странице используется несколько элементов\n * **Paging** с useGlobalListener === true, то обработчик keyDown будет вызываться\n * на каждом из них. Такие случаи лучше обрабатывать отдельно.\n */\n useGlobalListener?: boolean;\n /**\n * Определяет, нужно ли показывать `Paging` когда страница всего одна.\n *\n * Этот проп будет удалён в 5-ой версии библиотеки,\n * так как поведение со скрытием `Paging`'а станет поведением по умолчанию.\n *\n * @default false\n */\n shouldBeVisibleWithLessThanTwoPages?: boolean;\n}\n\nexport interface PagingState {\n focusedByTab: boolean;\n focusedItem: Nullable<ItemType>;\n keyboardControl: boolean;\n}\n\nexport type ItemType = number | '.' | 'forward';\n\nexport const PagingDataTids = {\n root: 'Paging__root',\n dots: 'Paging__dots',\n forwardLink: 'Paging__forwardLink',\n pageLinkWrapper: 'Paging__pageLinkWrapper',\n pageLink: 'Paging__pageLink',\n} as const;\n\ntype DefaultProps = Required<\n Pick<PagingProps, 'component' | 'shouldBeVisibleWithLessThanTwoPages' | 'useGlobalListener' | 'data-tid'>\n>;\n\n@rootNode\n@locale('Paging', PagingLocaleHelper)\nexport class Paging extends React.PureComponent<PagingProps, PagingState> {\n public static __KONTUR_REACT_UI__ = 'Paging';\n\n public static defaultProps: DefaultProps = {\n component: PagingDefaultComponent,\n shouldBeVisibleWithLessThanTwoPages: true,\n useGlobalListener: false,\n 'data-tid': PagingDataTids.root,\n };\n\n private getProps = createPropsGetter(Paging.defaultProps);\n\n public static propTypes = {};\n private setRootNode!: TSetRootNode;\n\n public static isForward(pageNumber: number | 'forward'): boolean /* %checks */ {\n return pageNumber === 'forward';\n }\n\n public state: PagingState = {\n focusedByTab: false,\n focusedItem: null,\n keyboardControl: this.getProps().useGlobalListener,\n };\n\n private theme!: Theme;\n private readonly locale!: PagingLocale;\n private addedGlobalListener = false;\n private container: HTMLSpanElement | null = null;\n\n public componentDidMount() {\n const useGlobalListener = this.getProps().useGlobalListener;\n if (useGlobalListener) {\n this.addGlobalListener();\n }\n }\n\n public componentDidUpdate(prevProps: PagingProps) {\n const useGlobalListener = this.getProps().useGlobalListener;\n if (!prevProps.useGlobalListener && useGlobalListener) {\n this.addGlobalListener();\n }\n\n if (prevProps.useGlobalListener && !useGlobalListener) {\n this.removeGlobalListener();\n }\n\n if (prevProps.useGlobalListener !== useGlobalListener) {\n this.setState({\n keyboardControl: useGlobalListener,\n });\n }\n }\n\n public componentWillUnmount() {\n this.removeGlobalListener();\n }\n\n public render() {\n if (this.props.pagesCount < 2 && !this.getProps().shouldBeVisibleWithLessThanTwoPages) {\n return null;\n }\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { 'data-tid': dataTid, useGlobalListener } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span\n tabIndex={this.props.disabled ? -1 : 0}\n data-tid={dataTid}\n className={cx({ [styles.paging(this.theme)]: true, [styles.pagingDisabled()]: this.props.disabled })}\n onKeyDown={useGlobalListener ? undefined : this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onMouseDown={this.handleMouseDown}\n ref={this.refContainer}\n >\n {this.getItems().map(this.renderItem)}\n </span>\n </CommonWrapper>\n );\n }\n\n private renderItem = (item: ItemType, index: number) => {\n const focused = this.getFocusedItem() === item;\n switch (item) {\n case '.': {\n const key = `dots${index < 5 ? 'Left' : 'Right'}`;\n return this.renderDots(key);\n }\n case 'forward': {\n const disabled = this.isItemDisabled(item);\n return this.renderForwardLink(disabled, focused);\n }\n default: {\n const active = this.props.activePage === item;\n return this.renderPageLink(item, active, focused);\n }\n }\n };\n\n private renderDots = (key: string) => {\n return (\n <span\n data-tid={PagingDataTids.dots}\n key={key}\n className={cx({ [styles.dots(this.theme)]: true, [styles.dotsDisabled(this.theme)]: this.props.disabled })}\n >\n {'...'}\n </span>\n );\n };\n\n private renderForwardLink = (disabled: boolean, focused: boolean): JSX.Element => {\n const classes = isTheme2022(this.theme)\n ? cx(\n styles.pageLink(this.theme),\n styles.forwardLink(this.theme),\n focused && styles.pageLinkFocused(this.theme),\n (disabled || this.props.disabled) && styles.pageLinkDisabled(this.theme),\n )\n : cx({\n [styles.forwardLink(this.theme)]: true,\n [styles.forwardLinkFocused()]: focused,\n [styles.forwardLinkDisabled(this.theme)]: disabled || this.props.disabled,\n });\n const Component = this.getProps().component;\n const { forward } = this.locale;\n\n const forwardIcon = isTheme2022(this.theme) ? (\n <ForwardIcon size={parseInt(this.theme.pagingForwardIconSize)} style={{ marginLeft: 4 }} />\n ) : (\n <span className={styles.forwardIcon(this.theme)}>\n <ArrowChevronRightIcon size={this.theme.pagingForwardIconSize} />\n </span>\n );\n\n return (\n <Component\n key={'forward'}\n data-tid={PagingDataTids.forwardLink}\n active={false}\n className={classes}\n onClick={disabled ? emptyHandler : this.goForward}\n tabIndex={-1}\n pageNumber={'forward' as const}\n >\n {this.props.caption || forward}\n {forwardIcon}\n </Component>\n );\n };\n\n private renderPageLink = (pageNumber: number, active: boolean, focused: boolean): JSX.Element => {\n const classes = cx({\n [styles.pageLink(this.theme)]: true,\n [styles.pageLinkFocused(this.theme)]: focused,\n [styles.pageLinkDisabled(this.theme)]: this.props.disabled,\n [styles.pageLinkCurrent(this.theme)]: active,\n [styles.pageLinkCurrentDisabled(this.theme)]: active && this.props.disabled,\n });\n const Component = this.getProps().component;\n const handleClick = () => this.goToPage(pageNumber);\n\n return (\n <span\n data-tid={PagingDataTids.pageLinkWrapper}\n key={pageNumber}\n className={styles.pageLinkWrapper()}\n onMouseDown={this.handleMouseDownPageLink}\n >\n <Component\n data-tid={PagingDataTids.pageLink}\n active={active}\n className={classes}\n onClick={handleClick}\n tabIndex={-1}\n pageNumber={pageNumber}\n >\n {pageNumber}\n </Component>\n {active && this.renderNavigationHint()}\n </span>\n );\n };\n\n private renderNavigationHint = () => {\n if (this.props.withoutNavigationHint) {\n return null;\n }\n\n const { keyboardControl } = this.state;\n const canGoBackward = this.canGoBackward();\n const canGoForward = this.canGoForward();\n\n let hint = null;\n if (keyboardControl && (canGoBackward || canGoForward)) {\n hint = (\n <>\n <span className={canGoBackward ? '' : styles.transparent()}>{'←'}</span>\n <span>{NavigationHelper.getKeyName()}</span>\n <span className={canGoForward ? '' : styles.transparent()}>{'→'}</span>\n </>\n );\n }\n return <div className={styles.pageLinkHint(this.theme)}>{hint}</div>;\n };\n\n private handleMouseDown = () => {\n this.setState({ focusedByTab: false, focusedItem: null });\n };\n\n private handleMouseDownPageLink = () => {\n if (isIE11) {\n // Клик по span внутри контейнера с tabindex=\"0\" переносит фокус именно на этот span.\n // Поэтому горячие клавиши работают пока span существует на странице.\n globalObject.setTimeout(() => this.container && this.container.focus(), 0);\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent | React.KeyboardEvent<HTMLElement>) => {\n if (e.shiftKey) {\n return;\n }\n\n const target = e.target;\n\n const isArrowLeft = isKeyArrowLeft(e);\n const isArrowRight = isKeyArrowRight(e);\n\n if (\n isInstanceOf(target, globalObject.Element) &&\n (IGNORE_EVENT_TAGS.includes(target.tagName.toLowerCase()) || (target as HTMLElement).isContentEditable)\n ) {\n return;\n }\n\n if (NavigationHelper.checkKeyPressed(e) && isArrowLeft) {\n this.setState({ focusedItem: null }, this.goBackward);\n return;\n }\n if (NavigationHelper.checkKeyPressed(e) && isArrowRight) {\n this.setState({ focusedItem: null }, this.goForward);\n return;\n }\n\n if (this.container && this.container === e.target) {\n if (isArrowLeft) {\n this.setState({ focusedByTab: true }, this.moveFocusLeft);\n return;\n }\n if (isArrowRight) {\n this.setState({ focusedByTab: true }, this.moveFocusRight);\n return;\n }\n if (isKeyEnter(e)) {\n this.executeItemAction(this.getFocusedItem());\n return;\n }\n }\n };\n\n private handleFocus = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ keyboardControl: true });\n\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n keyboardControl: this.getProps().useGlobalListener || false,\n });\n };\n\n private getItems = (): ItemType[] => {\n return getItems(this.props.activePage, this.props.pagesCount).concat('forward');\n };\n\n private getFocusedItem = (): Nullable<ItemType> => {\n if (!this.state.focusedByTab) {\n return null;\n }\n\n const { focusedItem } = this.state;\n if (focusedItem && this.getItems().includes(focusedItem) && this.isItemFocusable(focusedItem)) {\n return focusedItem;\n }\n\n return this.props.activePage;\n };\n\n private isItemFocusable = (item: ItemType) => {\n return !this.isItemDisabled(item);\n };\n\n private isItemDisabled = (item: ItemType) => {\n switch (item) {\n case '.':\n return true;\n case 'forward':\n return !this.canGoForward();\n default:\n return false;\n }\n };\n\n private executeItemAction = (item: Nullable<ItemType>) => {\n if (item === 'forward') {\n this.goForward();\n }\n if (typeof item === 'number') {\n this.goToPage(item);\n }\n };\n\n private moveFocusLeft = () => {\n this.moveFocus(-1);\n };\n\n private moveFocusRight = () => {\n this.moveFocus(1);\n };\n\n private moveFocus = (step: number) => {\n const focusedItem = this.getFocusedItem();\n const items = this.getItems();\n let index = items.findIndex((x) => x === focusedItem);\n do {\n index = (index + step + items.length) % items.length;\n } while (!this.isItemFocusable(items[index]));\n this.setState({ focusedItem: items[index] });\n };\n\n private canGoBackward = (): boolean => {\n return this.props.activePage > 1;\n };\n\n private canGoForward = (): boolean => {\n return this.props.activePage < this.props.pagesCount;\n };\n\n private goBackward = () => {\n this.goToPage(this.props.activePage - 1);\n };\n\n private goForward = () => {\n this.goToPage(this.props.activePage + 1);\n };\n\n private goToPage = (pageNumber: number) => {\n if (pageNumber >= 1 && pageNumber !== this.props.activePage && pageNumber <= this.props.pagesCount) {\n this.props.onPageChange(pageNumber);\n }\n };\n\n private addGlobalListener = () => {\n if (this.addedGlobalListener) {\n return;\n }\n\n globalObject.document?.addEventListener('keydown', this.handleKeyDown);\n this.addedGlobalListener = true;\n };\n\n private removeGlobalListener = () => {\n if (this.addedGlobalListener) {\n globalObject.document?.removeEventListener('keydown', this.handleKeyDown);\n\n this.addedGlobalListener = false;\n }\n };\n\n private refContainer = (element: HTMLSpanElement | null) => {\n this.container = element;\n };\n}\n\nPaging.propTypes = {\n /**\n * Current active page\n */\n activePage: number.isRequired,\n\n /**\n * React component that would be used for rendering items\n *\n * Usefull for router integration\n */\n component: func,\n\n /**\n * Total page count\n */\n pagesCount: number.isRequired,\n\n /**\n * Calls when page has been changed\n */\n onPageChange: func.isRequired,\n};\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
|
|
2
2
|
|
|
3
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16
|
|
3
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16;
|
|
4
4
|
|
|
5
5
|
import { css, memoizeStyle } from "../../../lib/theming/Emotion";
|
|
6
6
|
export var styles = memoizeStyle({
|
|
@@ -49,10 +49,7 @@ export var styles = memoizeStyle({
|
|
|
49
49
|
transparent: function transparent() {
|
|
50
50
|
return css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["\n color: transparent;\n "])));
|
|
51
51
|
},
|
|
52
|
-
pageLinkHintPlaceHolder: function pageLinkHintPlaceHolder(t) {
|
|
53
|
-
return css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteralLoose(["\n height: ", ";\n line-height: ", ";\n "])), t.pagingPageLinkHintLineHeight, t.pagingPageLinkHintLineHeight);
|
|
54
|
-
},
|
|
55
52
|
pageLinkHint: function pageLinkHint(t) {
|
|
56
|
-
return css(
|
|
53
|
+
return css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteralLoose(["\n display: inline-block;\n margin: ", ";\n font-size: ", ";\n height: ", ";\n line-height: ", ";\n color: ", ";\n "])), t.pagingPageLinkHintMargin, t.pagingPageLinkHintFontSize, t.pagingPageLinkHintLineHeight, t.pagingPageLinkHintLineHeight, t.pagingPageLinkHintColor);
|
|
57
54
|
}
|
|
58
55
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Paging.styles.ts"],"names":["css","memoizeStyle","styles","paging","t","pagingFontSize","pagingLineHeight","pagingDisabled","dots","pagingDotsColor","pagingDotsPadding","dotsDisabled","pagingDotsDisabledColor","forwardLink","pagingForwardLinkColor","pagingPageForwardLinkMarginTop","pagingPageForwardLinkMarginLeft","pagingPageForwardLinkPaddingRight","forwardLinkFocused","forwardIcon","pagingForwardIconMarginTop","forwardLinkDisabled","pagingForwardLinkDisabledColor","pageLinkWrapper","pageLink","pagingPageLinkBorderRadius","pagingPageLinkMargin","pagingPageLinkMinWidth","pagingPageLinkPaddingY","pagingPageLinkPaddingX","pagingPageLinkBoxSizing","pagingPageLinkHoverBg","pageLinkDisabled","linkDisabledColor","pageLinkCurrent","pagingPageLinkActiveBg","pagingPageLinkActiveColor","pageLinkCurrentDisabled","pagingPageLinkDisabledActiveBg","pageLinkFocused","borderColorFocus","transparent","
|
|
1
|
+
{"version":3,"sources":["Paging.styles.ts"],"names":["css","memoizeStyle","styles","paging","t","pagingFontSize","pagingLineHeight","pagingDisabled","dots","pagingDotsColor","pagingDotsPadding","dotsDisabled","pagingDotsDisabledColor","forwardLink","pagingForwardLinkColor","pagingPageForwardLinkMarginTop","pagingPageForwardLinkMarginLeft","pagingPageForwardLinkPaddingRight","forwardLinkFocused","forwardIcon","pagingForwardIconMarginTop","forwardLinkDisabled","pagingForwardLinkDisabledColor","pageLinkWrapper","pageLink","pagingPageLinkBorderRadius","pagingPageLinkMargin","pagingPageLinkMinWidth","pagingPageLinkPaddingY","pagingPageLinkPaddingX","pagingPageLinkBoxSizing","pagingPageLinkHoverBg","pageLinkDisabled","linkDisabledColor","pageLinkCurrent","pagingPageLinkActiveBg","pagingPageLinkActiveColor","pageLinkCurrentDisabled","pagingPageLinkDisabledActiveBg","pageLinkFocused","borderColorFocus","transparent","pageLinkHint","pagingPageLinkHintMargin","pagingPageLinkHintFontSize","pagingPageLinkHintLineHeight","pagingPageLinkHintColor"],"mappings":"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","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n paging(t: Theme) {\n return css`\n user-select: none;\n outline: 0;\n font-size: ${t.pagingFontSize};\n line-height: ${t.pagingLineHeight};\n display: inline-block;\n `;\n },\n\n pagingDisabled() {\n return css`\n pointer-events: none;\n `;\n },\n\n dots(t: Theme) {\n return css`\n color: ${t.pagingDotsColor};\n display: inline-block;\n padding: ${t.pagingDotsPadding};\n `;\n },\n\n dotsDisabled(t: Theme) {\n return css`\n color: ${t.pagingDotsDisabledColor};\n `;\n },\n\n forwardLink(t: Theme) {\n return css`\n color: ${t.pagingForwardLinkColor};\n cursor: pointer;\n display: inline-block;\n margin-top: ${t.pagingPageForwardLinkMarginTop};\n margin-left: ${t.pagingPageForwardLinkMarginLeft};\n outline: none;\n padding-right: ${t.pagingPageForwardLinkPaddingRight};\n position: relative;\n text-decoration: none;\n user-select: none;\n vertical-align: top;\n `;\n },\n\n forwardLinkFocused() {\n return css`\n text-decoration: underline;\n `;\n },\n\n forwardIcon(t: Theme) {\n return css`\n vertical-align: -2px;\n position: absolute;\n margin-top: ${t.pagingForwardIconMarginTop};\n right: 0;\n `;\n },\n\n forwardLinkDisabled(t: Theme) {\n return css`\n color: ${t.pagingForwardLinkDisabledColor};\n cursor: default;\n `;\n },\n\n pageLinkWrapper() {\n return css`\n display: inline-flex;\n flex-flow: column nowrap;\n text-align: center;\n user-select: none;\n vertical-align: top;\n `;\n },\n\n pageLink(t: Theme) {\n return css`\n box-sizing: content-box;\n border-radius: ${t.pagingPageLinkBorderRadius};\n color: ${t.pagingForwardLinkColor};\n cursor: pointer;\n display: block;\n margin: ${t.pagingPageLinkMargin};\n outline: none;\n min-width: ${t.pagingPageLinkMinWidth};\n padding: ${t.pagingPageLinkPaddingY} ${t.pagingPageLinkPaddingX} ${t.pagingPageLinkPaddingY};\n text-decoration: none;\n box-sizing: ${t.pagingPageLinkBoxSizing};\n\n &:hover {\n background: ${t.pagingPageLinkHoverBg};\n }\n `;\n },\n\n pageLinkDisabled(t: Theme) {\n return css`\n color: ${t.linkDisabledColor};\n pointer-events: none;\n `;\n },\n\n pageLinkCurrent(t: Theme) {\n return css`\n cursor: default;\n background: ${t.pagingPageLinkActiveBg} !important; // override hover styles\n color: ${t.pagingPageLinkActiveColor};\n `;\n },\n\n pageLinkCurrentDisabled(t: Theme) {\n return css`\n background: ${t.pagingPageLinkDisabledActiveBg} !important;\n color: ${t.linkDisabledColor};\n `;\n },\n\n pageLinkFocused(t: Theme) {\n return css`\n ${`\n box-shadow: 0 0 0 2px ${t.borderColorFocus};\n `}\n `;\n },\n\n transparent() {\n return css`\n color: transparent;\n `;\n },\n\n pageLinkHint(t: Theme) {\n return css`\n display: inline-block;\n margin: ${t.pagingPageLinkHintMargin};\n font-size: ${t.pagingPageLinkHintFontSize};\n height: ${t.pagingPageLinkHintLineHeight};\n line-height: ${t.pagingPageLinkHintLineHeight};\n color: ${t.pagingPageLinkHintColor};\n `;\n },\n});\n"]}
|
|
@@ -11,6 +11,7 @@ var _dec, _class, _class2, _temp; // TODO: Enable this rule in functional compon
|
|
|
11
11
|
|
|
12
12
|
import React from 'react';
|
|
13
13
|
import PropTypes from 'prop-types';
|
|
14
|
+
import { globalObject, isBrowser } from '@skbkontur/global-object';
|
|
14
15
|
import { locale } from "../../../lib/locale/decorators";
|
|
15
16
|
import { RenderLayer } from "../../../internal/RenderLayer";
|
|
16
17
|
import { isNonNullable } from "../../../lib/utils";
|
|
@@ -135,6 +136,7 @@ var PasswordInput = (_dec = locale('PasswordInput', PasswordInputLocaleHelper),
|
|
|
135
136
|
}), /*#__PURE__*/React.createElement("span", {
|
|
136
137
|
className: cx(styles.toggleVisibility(_this.theme), _this.getEyeWrapperClassname())
|
|
137
138
|
}, !_this.props.disabled && /*#__PURE__*/React.createElement("button", {
|
|
139
|
+
type: "button",
|
|
138
140
|
"aria-label": _this.state.visible ? _this.locale.eyeClosedAriaLabel : _this.locale.eyeOpenedAriaLabel,
|
|
139
141
|
onClick: _this.handleToggleVisibility,
|
|
140
142
|
className: styles.icon(),
|
|
@@ -191,10 +193,10 @@ var PasswordInput = (_dec = locale('PasswordInput', PasswordInputLocaleHelper),
|
|
|
191
193
|
} // @ts-expect-error: IE-specific API.
|
|
192
194
|
|
|
193
195
|
|
|
194
|
-
if (isIE11 && !
|
|
196
|
+
if (isIE11 && isBrowser(globalObject) && !globalObject.document.msCapsLockWarningOff) {
|
|
195
197
|
// @ts-expect-error: Read the comment above.
|
|
196
198
|
// turns off default ie capslock warning
|
|
197
|
-
|
|
199
|
+
globalObject.document.msCapsLockWarningOff = true;
|
|
198
200
|
}
|
|
199
201
|
};
|
|
200
202
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PasswordInput.tsx"],"names":["React","PropTypes","locale","RenderLayer","isNonNullable","isKeyCapsLock","KeyboardEventCodes","Codes","Input","isIE11","CommonWrapper","ThemeContext","cx","rootNode","createPropsGetter","isTheme2022","styles","PasswordInputIcon","PasswordInputLocaleHelper","PasswordInputDataTids","root","capsLockDetector","eyeIcon","PasswordInput","getProps","defaultProps","state","visible","capsLockEnabled","focus","input","blur","handleBlur","handleKeyPress","e","props","onKeyPress","detectCapsLock","getModifierState","CapsLock","setState","handleKeydown","onKeyDown","handleToggleVisibility","prevState","handleFocus","renderEye","iconWrapper","toggleVisibility","theme","getEyeWrapperClassname","disabled","eyeClosedAriaLabel","eyeOpenedAriaLabel","icon","size","refInput","element","hideSymbols","renderMain","rest","inputProps","rightIcon","componentDidMount","window","document","msCapsLockWarningOff","getDerivedStateFromProps","render","setRootNode","eyeWrapperLarge","eyeWrapperMedium","eyeWrapperSmall","PureComponent","__KONTUR_REACT_UI__","propTypes","bool"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyCapsLock } from '../../lib/events/keyboard/identifiers';\nimport { KeyboardEventCodes as Codes } from '../../lib/events/keyboard/KeyboardEventCodes';\nimport { Input, InputProps } from '../Input';\nimport { Nullable } from '../../typings/utility-types';\nimport { isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles } from './PasswordInput.styles';\nimport { PasswordInputIcon } from './PasswordInputIcon';\nimport { PasswordInputLocale, PasswordInputLocaleHelper } from './locale';\n\nexport interface PasswordInputProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps, InputProps {\n detectCapsLock?: boolean;\n}\n\nexport interface PasswordInputState {\n visible: boolean;\n capsLockEnabled?: boolean | null;\n}\n\nexport const PasswordInputDataTids = {\n root: 'PasswordInput',\n capsLockDetector: 'PasswordInputCapsLockDetector',\n eyeIcon: 'PasswordInputEyeIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<PasswordInputProps, 'size'>>;\n\n/**\n * Компонент для ввода пароля\n */\n@rootNode\n@locale('PasswordInput', PasswordInputLocaleHelper)\nexport class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {\n public static __KONTUR_REACT_UI__ = 'PasswordInput';\n\n public static propTypes = {\n /**\n * Включает CapsLock детектор\n */\n detectCapsLock: PropTypes.bool,\n };\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n };\n\n private getProps = createPropsGetter(PasswordInput.defaultProps);\n\n public state: PasswordInputState = {\n visible: false,\n capsLockEnabled: false,\n };\n\n private theme!: Theme;\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n private readonly locale!: PasswordInputLocale;\n\n public componentDidMount() {\n if (this.props.detectCapsLock) {\n this.setState({ capsLockEnabled: null });\n }\n\n // @ts-expect-error: IE-specific API.\n if (isIE11 && !window.document.msCapsLockWarningOff) {\n // @ts-expect-error: Read the comment above.\n // turns off default ie capslock warning\n window.document.msCapsLockWarningOff = true;\n }\n }\n\n public static getDerivedStateFromProps(props: PasswordInputProps, state: PasswordInputState) {\n if (props.disabled) {\n return { visible: false };\n }\n\n return state;\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n this.handleBlur();\n };\n\n private handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { onKeyPress, detectCapsLock } = this.props;\n\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n const capsLockEnabled = e.getModifierState(Codes.CapsLock);\n\n this.setState({ capsLockEnabled });\n };\n\n private handleKeydown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const {\n props: { detectCapsLock, onKeyDown },\n state: { capsLockEnabled },\n } = this;\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n if (isKeyCapsLock(e) && isNonNullable(capsLockEnabled)) {\n this.setState({ capsLockEnabled: !capsLockEnabled });\n }\n };\n\n private handleToggleVisibility = () => {\n this.setState((prevState) => ({ visible: !prevState.visible }), this.handleFocus);\n };\n\n private handleFocus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n private handleBlur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private getEyeWrapperClassname() {\n switch (this.getProps().size) {\n case 'large':\n return styles.eyeWrapperLarge(this.theme);\n case 'medium':\n return styles.eyeWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.eyeWrapperSmall(this.theme);\n }\n }\n\n private renderEye = () => {\n const { capsLockEnabled } = this.state;\n\n return (\n <span className={styles.iconWrapper()}>\n {capsLockEnabled && (\n <span className={styles.capsLockDetector()} data-tid={PasswordInputDataTids.capsLockDetector} />\n )}\n <span className={cx(styles.toggleVisibility(this.theme), this.getEyeWrapperClassname())}>\n {!this.props.disabled && (\n <button\n aria-label={this.state.visible ? this.locale.eyeClosedAriaLabel : this.locale.eyeOpenedAriaLabel}\n onClick={this.handleToggleVisibility}\n className={styles.icon()}\n data-tid={PasswordInputDataTids.eyeIcon}\n >\n <PasswordInputIcon\n size={this.props.size}\n visible={this.state.visible}\n isTheme2022={isTheme2022(this.theme)}\n />\n </button>\n )}\n </span>\n </span>\n );\n };\n\n private refInput = (element: Input) => {\n this.input = element;\n };\n\n private hideSymbols = () => {\n this.setState({ visible: false });\n };\n\n private renderMain = (props: CommonWrapperRestProps<PasswordInputProps>) => {\n const { detectCapsLock, ...rest } = props;\n const inputProps = {\n ...rest,\n onKeyDown: this.handleKeydown,\n onKeyPress: this.handleKeyPress,\n rightIcon: this.renderEye(),\n };\n\n return (\n <RenderLayer onFocusOutside={this.hideSymbols} onClickOutside={this.hideSymbols}>\n <div data-tid={PasswordInputDataTids.root} className={styles.root()}>\n <Input ref={this.refInput} type={this.state.visible ? 'text' : 'password'} {...inputProps} />\n </div>\n </RenderLayer>\n );\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["PasswordInput.tsx"],"names":["React","PropTypes","globalObject","isBrowser","locale","RenderLayer","isNonNullable","isKeyCapsLock","KeyboardEventCodes","Codes","Input","isIE11","CommonWrapper","ThemeContext","cx","rootNode","createPropsGetter","isTheme2022","styles","PasswordInputIcon","PasswordInputLocaleHelper","PasswordInputDataTids","root","capsLockDetector","eyeIcon","PasswordInput","getProps","defaultProps","state","visible","capsLockEnabled","focus","input","blur","handleBlur","handleKeyPress","e","props","onKeyPress","detectCapsLock","getModifierState","CapsLock","setState","handleKeydown","onKeyDown","handleToggleVisibility","prevState","handleFocus","renderEye","iconWrapper","toggleVisibility","theme","getEyeWrapperClassname","disabled","eyeClosedAriaLabel","eyeOpenedAriaLabel","icon","size","refInput","element","hideSymbols","renderMain","rest","inputProps","rightIcon","componentDidMount","document","msCapsLockWarningOff","getDerivedStateFromProps","render","setRootNode","eyeWrapperLarge","eyeWrapperMedium","eyeWrapperSmall","PureComponent","__KONTUR_REACT_UI__","propTypes","bool"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyCapsLock } from '../../lib/events/keyboard/identifiers';\nimport { KeyboardEventCodes as Codes } from '../../lib/events/keyboard/KeyboardEventCodes';\nimport { Input, InputProps } from '../Input';\nimport { Nullable } from '../../typings/utility-types';\nimport { isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles } from './PasswordInput.styles';\nimport { PasswordInputIcon } from './PasswordInputIcon';\nimport { PasswordInputLocale, PasswordInputLocaleHelper } from './locale';\n\nexport interface PasswordInputProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps, InputProps {\n detectCapsLock?: boolean;\n}\n\nexport interface PasswordInputState {\n visible: boolean;\n capsLockEnabled?: boolean | null;\n}\n\nexport const PasswordInputDataTids = {\n root: 'PasswordInput',\n capsLockDetector: 'PasswordInputCapsLockDetector',\n eyeIcon: 'PasswordInputEyeIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<PasswordInputProps, 'size'>>;\n\n/**\n * Компонент для ввода пароля\n */\n@rootNode\n@locale('PasswordInput', PasswordInputLocaleHelper)\nexport class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {\n public static __KONTUR_REACT_UI__ = 'PasswordInput';\n\n public static propTypes = {\n /**\n * Включает CapsLock детектор\n */\n detectCapsLock: PropTypes.bool,\n };\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n };\n\n private getProps = createPropsGetter(PasswordInput.defaultProps);\n\n public state: PasswordInputState = {\n visible: false,\n capsLockEnabled: false,\n };\n\n private theme!: Theme;\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n private readonly locale!: PasswordInputLocale;\n\n public componentDidMount() {\n if (this.props.detectCapsLock) {\n this.setState({ capsLockEnabled: null });\n }\n\n // @ts-expect-error: IE-specific API.\n if (isIE11 && isBrowser(globalObject) && !globalObject.document.msCapsLockWarningOff) {\n // @ts-expect-error: Read the comment above.\n // turns off default ie capslock warning\n globalObject.document.msCapsLockWarningOff = true;\n }\n }\n\n public static getDerivedStateFromProps(props: PasswordInputProps, state: PasswordInputState) {\n if (props.disabled) {\n return { visible: false };\n }\n\n return state;\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n this.handleBlur();\n };\n\n private handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { onKeyPress, detectCapsLock } = this.props;\n\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n const capsLockEnabled = e.getModifierState(Codes.CapsLock);\n\n this.setState({ capsLockEnabled });\n };\n\n private handleKeydown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const {\n props: { detectCapsLock, onKeyDown },\n state: { capsLockEnabled },\n } = this;\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n if (isKeyCapsLock(e) && isNonNullable(capsLockEnabled)) {\n this.setState({ capsLockEnabled: !capsLockEnabled });\n }\n };\n\n private handleToggleVisibility = () => {\n this.setState((prevState) => ({ visible: !prevState.visible }), this.handleFocus);\n };\n\n private handleFocus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n private handleBlur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private getEyeWrapperClassname() {\n switch (this.getProps().size) {\n case 'large':\n return styles.eyeWrapperLarge(this.theme);\n case 'medium':\n return styles.eyeWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.eyeWrapperSmall(this.theme);\n }\n }\n\n private renderEye = () => {\n const { capsLockEnabled } = this.state;\n\n return (\n <span className={styles.iconWrapper()}>\n {capsLockEnabled && (\n <span className={styles.capsLockDetector()} data-tid={PasswordInputDataTids.capsLockDetector} />\n )}\n <span className={cx(styles.toggleVisibility(this.theme), this.getEyeWrapperClassname())}>\n {!this.props.disabled && (\n <button\n type=\"button\"\n aria-label={this.state.visible ? this.locale.eyeClosedAriaLabel : this.locale.eyeOpenedAriaLabel}\n onClick={this.handleToggleVisibility}\n className={styles.icon()}\n data-tid={PasswordInputDataTids.eyeIcon}\n >\n <PasswordInputIcon\n size={this.props.size}\n visible={this.state.visible}\n isTheme2022={isTheme2022(this.theme)}\n />\n </button>\n )}\n </span>\n </span>\n );\n };\n\n private refInput = (element: Input) => {\n this.input = element;\n };\n\n private hideSymbols = () => {\n this.setState({ visible: false });\n };\n\n private renderMain = (props: CommonWrapperRestProps<PasswordInputProps>) => {\n const { detectCapsLock, ...rest } = props;\n const inputProps = {\n ...rest,\n onKeyDown: this.handleKeydown,\n onKeyPress: this.handleKeyPress,\n rightIcon: this.renderEye(),\n };\n\n return (\n <RenderLayer onFocusOutside={this.hideSymbols} onClickOutside={this.hideSymbols}>\n <div data-tid={PasswordInputDataTids.root} className={styles.root()}>\n <Input ref={this.refInput} type={this.state.visible ? 'text' : 'password'} {...inputProps} />\n </div>\n </RenderLayer>\n );\n };\n}\n"]}
|
|
@@ -9,6 +9,7 @@ var _class, _class2, _temp; // TODO: Enable this rule in functional components.
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
import React from 'react';
|
|
12
|
+
import { globalObject } from '@skbkontur/global-object';
|
|
12
13
|
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
13
14
|
import { CommonWrapper } from "../../../internal/CommonWrapper";
|
|
14
15
|
import { cx } from "../../../lib/theming/Emotion";
|
|
@@ -142,7 +143,7 @@ var Radio = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$C
|
|
|
142
143
|
if (!_this.context.disabled) {
|
|
143
144
|
// focus event fires before keyDown eventlistener
|
|
144
145
|
// so we should check tabPressed in async way
|
|
145
|
-
requestAnimationFrame(function () {
|
|
146
|
+
globalObject.requestAnimationFrame == null ? void 0 : globalObject.requestAnimationFrame(function () {
|
|
146
147
|
if (keyListener.isArrowPressed || keyListener.isTabPressed) {
|
|
147
148
|
_this.setState({
|
|
148
149
|
focusedByKeyboard: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Radio.tsx"],"names":["React","ThemeContext","CommonWrapper","cx","keyListener","rootNode","fixFirefoxModifiedClickOnLabel","isEdge","isIE11","RadioGroupContext","createPropsGetter","styles","globalClasses","RadioDataTids","root","Radio","state","focusedByKeyboard","getProps","defaultProps","context","inputEl","createRef","renderMain","props","disabled","warning","error","size","focused","onMouseOver","onMouseEnter","onMouseLeave","onValueChange","rest","radioProps","className","circle","theme","getCircleSizeClassName","checked","getCheckedSizeClassName","focus","checkedDisabled","value","inputProps","type","input","tabIndex","ref","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","labelProps","getRootSizeClassName","rootChecked","rootIE11","handleMouseOver","handleMouseEnter","handleMouseLeave","onClick","_isInRadioGroup","activeItem","name","suppressHydrationWarning","placeholder","children","renderCaption","Boolean","e","onSelect","requestAnimationFrame","isArrowPressed","isTabPressed","setState","rootLarge","rootMedium","rootSmall","circleLarge","circleMedium","circleSmall","checkedLarge","checkedMedium","checkedSmall","render","setRootNode","current","blur","captionClassNames","caption","captionDisabled","captionIE11","Component","__KONTUR_REACT_UI__","contextType"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { AriaAttributes } from 'react';\n\nimport { Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { RadioGroupContext, RadioGroupContextType } from '../RadioGroup/RadioGroupContext';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles, globalClasses } from './Radio.styles';\n\n/**\n * @deprecated use SizeProp\n */\nexport type RadioSize = SizeProp;\n\nexport interface RadioProps<T>\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /**\n * Размер\n */\n size?: SizeProp;\n /**\n * Состояние фокуса.\n */\n focused?: boolean;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: T) => void;\n /**\n * HTML-событие `onmouseenter`\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `onmouseover`\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-атрибут `value`.\n */\n value: T;\n }\n > {}\n\nexport interface RadioState {\n focusedByKeyboard: boolean;\n}\n\nexport const RadioDataTids = {\n root: 'Radio__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioProps<any>, 'focused' | 'size'>>;\n\n/**\n * Радио-кнопки используются, когда может быть выбран только один вариант из нескольких.\n */\n@rootNode\nexport class Radio<T> extends React.Component<RadioProps<T>, RadioState> {\n public static __KONTUR_REACT_UI__ = 'Radio';\n\n public state = {\n focusedByKeyboard: false,\n };\n\n public static defaultProps: DefaultProps = {\n focused: false,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Radio.defaultProps);\n\n public static contextType = RadioGroupContext;\n public context: RadioGroupContextType<T> = this.context;\n\n private inputEl = React.createRef<HTMLInputElement>();\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getCircleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.circleLarge(this.theme);\n case 'medium':\n return styles.circleMedium(this.theme);\n case 'small':\n default:\n return styles.circleSmall(this.theme);\n }\n }\n\n private getCheckedSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.checkedLarge(this.theme);\n case 'medium':\n return styles.checkedMedium(this.theme);\n case 'small':\n default:\n return styles.checkedSmall(this.theme);\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.inputEl.current?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.inputEl.current?.blur();\n }\n\n public renderMain = (props: CommonWrapperRestProps<RadioProps<T>>) => {\n const {\n disabled = this.context.disabled,\n warning = this.context.warning,\n error = this.context.error,\n size,\n focused,\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n onValueChange,\n ...rest\n } = props;\n\n const radioProps = {\n className: cx({\n [styles.circle(this.theme)]: true,\n [this.getCircleSizeClassName()]: true,\n [styles.checked(this.theme)]: this.props.checked,\n [this.getCheckedSizeClassName()]: this.props.checked,\n [styles.focus(this.theme)]: this.getProps().focused || this.state.focusedByKeyboard,\n [styles.error(this.theme)]: error,\n [styles.warning(this.theme)]: warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.checkedDisabled(this.theme)]: this.props.checked && disabled,\n [globalClasses.circle]: true,\n }),\n };\n\n let value: string | number | undefined;\n if (typeof this.props.value === 'string' || typeof this.props.value === 'number') {\n value = this.props.value;\n }\n\n const inputProps = {\n ...rest,\n type: 'radio',\n className: styles.input(),\n disabled,\n tabIndex: this.props.tabIndex,\n value,\n ref: this.inputEl,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n };\n\n const labelProps = {\n className: cx(styles.root(this.theme), this.getRootSizeClassName(), {\n [styles.rootChecked(this.theme)]: this.props.checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n }),\n onMouseOver: this.handleMouseOver,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n onClick: fixFirefoxModifiedClickOnLabel(this.inputEl),\n };\n\n if (this._isInRadioGroup()) {\n const checked = this.props.value === this.context.activeItem;\n inputProps.checked = checked;\n inputProps.name = this.context.name;\n inputProps.suppressHydrationWarning = true;\n labelProps.className = cx(styles.root(this.theme), this.getRootSizeClassName(), {\n [styles.rootChecked(this.theme)]: checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n });\n radioProps.className = cx(radioProps.className, {\n [styles.checked(this.theme)]: checked,\n [this.getCheckedSizeClassName()]: checked,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n });\n }\n\n return (\n <label data-tid={RadioDataTids.root} {...labelProps}>\n <input {...inputProps} />\n <span {...radioProps}>\n <span className={styles.placeholder()} />\n </span>\n {this.props.children && this.renderCaption()}\n </label>\n );\n };\n\n private _isInRadioGroup = () => Boolean(this.context.name);\n\n private renderCaption() {\n const captionClassNames = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionDisabled(this.theme)]: !!(this.props.disabled || this.context.disabled),\n [styles.captionIE11()]: isIE11 || isEdge,\n });\n\n return <div className={captionClassNames}>{this.props.children}</div>;\n }\n\n private handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n this.props.onValueChange?.(this.props.value);\n\n if (this._isInRadioGroup()) {\n this.context.onSelect(this.props.value);\n }\n\n this.props.onChange?.(e);\n };\n\n private handleMouseOver: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseOver?.(e);\n };\n\n private handleMouseEnter: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseEnter?.(e);\n };\n\n private handleMouseLeave: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseLeave?.(e);\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.context.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isArrowPressed || keyListener.isTabPressed) {\n this.setState({ focusedByKeyboard: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.props.onBlur?.(e);\n this.setState({ focusedByKeyboard: false });\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Radio.tsx"],"names":["React","globalObject","ThemeContext","CommonWrapper","cx","keyListener","rootNode","fixFirefoxModifiedClickOnLabel","isEdge","isIE11","RadioGroupContext","createPropsGetter","styles","globalClasses","RadioDataTids","root","Radio","state","focusedByKeyboard","getProps","defaultProps","context","inputEl","createRef","renderMain","props","disabled","warning","error","size","focused","onMouseOver","onMouseEnter","onMouseLeave","onValueChange","rest","radioProps","className","circle","theme","getCircleSizeClassName","checked","getCheckedSizeClassName","focus","checkedDisabled","value","inputProps","type","input","tabIndex","ref","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","labelProps","getRootSizeClassName","rootChecked","rootIE11","handleMouseOver","handleMouseEnter","handleMouseLeave","onClick","_isInRadioGroup","activeItem","name","suppressHydrationWarning","placeholder","children","renderCaption","Boolean","e","onSelect","requestAnimationFrame","isArrowPressed","isTabPressed","setState","rootLarge","rootMedium","rootSmall","circleLarge","circleMedium","circleSmall","checkedLarge","checkedMedium","checkedSmall","render","setRootNode","current","blur","captionClassNames","caption","captionDisabled","captionIE11","Component","__KONTUR_REACT_UI__","contextType"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { AriaAttributes } from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { RadioGroupContext, RadioGroupContextType } from '../RadioGroup/RadioGroupContext';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles, globalClasses } from './Radio.styles';\n\n/**\n * @deprecated use SizeProp\n */\nexport type RadioSize = SizeProp;\n\nexport interface RadioProps<T>\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /**\n * Размер\n */\n size?: SizeProp;\n /**\n * Состояние фокуса.\n */\n focused?: boolean;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: T) => void;\n /**\n * HTML-событие `onmouseenter`\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `onmouseover`\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-атрибут `value`.\n */\n value: T;\n }\n > {}\n\nexport interface RadioState {\n focusedByKeyboard: boolean;\n}\n\nexport const RadioDataTids = {\n root: 'Radio__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioProps<any>, 'focused' | 'size'>>;\n\n/**\n * Радио-кнопки используются, когда может быть выбран только один вариант из нескольких.\n */\n@rootNode\nexport class Radio<T> extends React.Component<RadioProps<T>, RadioState> {\n public static __KONTUR_REACT_UI__ = 'Radio';\n\n public state = {\n focusedByKeyboard: false,\n };\n\n public static defaultProps: DefaultProps = {\n focused: false,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Radio.defaultProps);\n\n public static contextType = RadioGroupContext;\n public context: RadioGroupContextType<T> = this.context;\n\n private inputEl = React.createRef<HTMLInputElement>();\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getCircleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.circleLarge(this.theme);\n case 'medium':\n return styles.circleMedium(this.theme);\n case 'small':\n default:\n return styles.circleSmall(this.theme);\n }\n }\n\n private getCheckedSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.checkedLarge(this.theme);\n case 'medium':\n return styles.checkedMedium(this.theme);\n case 'small':\n default:\n return styles.checkedSmall(this.theme);\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.inputEl.current?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.inputEl.current?.blur();\n }\n\n public renderMain = (props: CommonWrapperRestProps<RadioProps<T>>) => {\n const {\n disabled = this.context.disabled,\n warning = this.context.warning,\n error = this.context.error,\n size,\n focused,\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n onValueChange,\n ...rest\n } = props;\n\n const radioProps = {\n className: cx({\n [styles.circle(this.theme)]: true,\n [this.getCircleSizeClassName()]: true,\n [styles.checked(this.theme)]: this.props.checked,\n [this.getCheckedSizeClassName()]: this.props.checked,\n [styles.focus(this.theme)]: this.getProps().focused || this.state.focusedByKeyboard,\n [styles.error(this.theme)]: error,\n [styles.warning(this.theme)]: warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.checkedDisabled(this.theme)]: this.props.checked && disabled,\n [globalClasses.circle]: true,\n }),\n };\n\n let value: string | number | undefined;\n if (typeof this.props.value === 'string' || typeof this.props.value === 'number') {\n value = this.props.value;\n }\n\n const inputProps = {\n ...rest,\n type: 'radio',\n className: styles.input(),\n disabled,\n tabIndex: this.props.tabIndex,\n value,\n ref: this.inputEl,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n };\n\n const labelProps = {\n className: cx(styles.root(this.theme), this.getRootSizeClassName(), {\n [styles.rootChecked(this.theme)]: this.props.checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n }),\n onMouseOver: this.handleMouseOver,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n onClick: fixFirefoxModifiedClickOnLabel(this.inputEl),\n };\n\n if (this._isInRadioGroup()) {\n const checked = this.props.value === this.context.activeItem;\n inputProps.checked = checked;\n inputProps.name = this.context.name;\n inputProps.suppressHydrationWarning = true;\n labelProps.className = cx(styles.root(this.theme), this.getRootSizeClassName(), {\n [styles.rootChecked(this.theme)]: checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n });\n radioProps.className = cx(radioProps.className, {\n [styles.checked(this.theme)]: checked,\n [this.getCheckedSizeClassName()]: checked,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n });\n }\n\n return (\n <label data-tid={RadioDataTids.root} {...labelProps}>\n <input {...inputProps} />\n <span {...radioProps}>\n <span className={styles.placeholder()} />\n </span>\n {this.props.children && this.renderCaption()}\n </label>\n );\n };\n\n private _isInRadioGroup = () => Boolean(this.context.name);\n\n private renderCaption() {\n const captionClassNames = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionDisabled(this.theme)]: !!(this.props.disabled || this.context.disabled),\n [styles.captionIE11()]: isIE11 || isEdge,\n });\n\n return <div className={captionClassNames}>{this.props.children}</div>;\n }\n\n private handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n this.props.onValueChange?.(this.props.value);\n\n if (this._isInRadioGroup()) {\n this.context.onSelect(this.props.value);\n }\n\n this.props.onChange?.(e);\n };\n\n private handleMouseOver: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseOver?.(e);\n };\n\n private handleMouseEnter: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseEnter?.(e);\n };\n\n private handleMouseLeave: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseLeave?.(e);\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.context.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isArrowPressed || keyListener.isTabPressed) {\n this.setState({ focusedByKeyboard: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.props.onBlur?.(e);\n this.setState({ focusedByKeyboard: false });\n };\n}\n"]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import {
|
|
3
|
-
import { canUseDOM } from "../../../lib/client";
|
|
2
|
+
import { globalObject } from '@skbkontur/global-object';
|
|
4
3
|
export var eventListenersMap = new Map();
|
|
5
4
|
export function addResponsiveLayoutListener(mediaQuery, callback) {
|
|
6
5
|
if (eventListenersMap.has(mediaQuery)) {
|
|
@@ -27,7 +26,7 @@ function addCallbackToMQListener(mediaQuery, callback) {
|
|
|
27
26
|
}
|
|
28
27
|
|
|
29
28
|
function createMQListener(mediaQuery, callback) {
|
|
30
|
-
var mql =
|
|
29
|
+
var mql = globalObject.matchMedia == null ? void 0 : globalObject.matchMedia(mediaQuery);
|
|
31
30
|
|
|
32
31
|
if (mql) {
|
|
33
32
|
var newMediaQueryInfo = {
|
|
@@ -74,14 +73,14 @@ function removeCallbackFromMQListener(mediaQuery, callback) {
|
|
|
74
73
|
export function checkMatches(mediaQuery) {
|
|
75
74
|
var _eventListener$mql$ma;
|
|
76
75
|
|
|
77
|
-
if (!
|
|
76
|
+
if (!globalObject.matchMedia) {
|
|
78
77
|
return false;
|
|
79
78
|
}
|
|
80
79
|
|
|
81
80
|
if (!eventListenersMap.has(mediaQuery)) {
|
|
82
|
-
var
|
|
81
|
+
var _globalObject$matchMe;
|
|
83
82
|
|
|
84
|
-
return !!((
|
|
83
|
+
return !!((_globalObject$matchMe = globalObject.matchMedia(mediaQuery)) != null && _globalObject$matchMe.matches);
|
|
85
84
|
}
|
|
86
85
|
|
|
87
86
|
var eventListener = eventListenersMap.get(mediaQuery);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ResponsiveLayoutEvents.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["ResponsiveLayoutEvents.ts"],"names":["globalObject","eventListenersMap","Map","addResponsiveLayoutListener","mediaQuery","callback","has","addCallbackToMQListener","createMQListener","remove","removeCallbackFromMQListener","eventListener","get","set","listeners","mql","matchMedia","newMediaQueryInfo","addEventListener","changeCallback","addListener","newListeners","filter","listener","length","removeEventListener","removeListener","checkMatches","matches","e","media","forEach"],"mappings":"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","sourcesContent":["import { globalObject } from '@skbkontur/global-object';\n\ninterface mediaQueryData {\n mql: MediaQueryList;\n listeners: Array<(e: MediaQueryListEvent) => void>;\n}\n\nexport interface listenerToken {\n remove: () => void;\n}\n\nexport const eventListenersMap = new Map<string, mediaQueryData>();\n\nexport function addResponsiveLayoutListener(\n mediaQuery: string,\n callback: (e: MediaQueryListEvent) => void,\n): listenerToken {\n if (eventListenersMap.has(mediaQuery)) {\n addCallbackToMQListener(mediaQuery, callback);\n } else {\n createMQListener(mediaQuery, callback);\n }\n\n return {\n remove() {\n removeCallbackFromMQListener(mediaQuery, callback);\n },\n };\n}\n\nfunction addCallbackToMQListener(mediaQuery: string, callback: (e: MediaQueryListEvent) => void) {\n const eventListener = eventListenersMap.get(mediaQuery);\n\n if (eventListener) {\n eventListenersMap.set(mediaQuery, {\n ...eventListener,\n listeners: [...eventListener.listeners, callback],\n });\n }\n}\n\nfunction createMQListener(mediaQuery: string, callback: (e: MediaQueryListEvent) => void) {\n const mql = globalObject.matchMedia?.(mediaQuery);\n if (mql) {\n const newMediaQueryInfo: mediaQueryData = { mql, listeners: [callback] };\n\n eventListenersMap.set(mediaQuery, newMediaQueryInfo);\n if (mql.addEventListener) {\n mql.addEventListener('change', changeCallback);\n } else {\n mql.addListener(changeCallback);\n }\n }\n}\n\nfunction removeCallbackFromMQListener(mediaQuery: string, callback: (e: MediaQueryListEvent) => void) {\n if (eventListenersMap.has(mediaQuery)) {\n const eventListener = eventListenersMap.get(mediaQuery);\n\n if (eventListener) {\n const newListeners = eventListener.listeners.filter((listener) => listener !== callback);\n\n if (newListeners.length === 0) {\n if (eventListener.mql.removeEventListener) {\n eventListener.mql.removeEventListener('change', changeCallback);\n } else {\n eventListener.mql.removeListener(changeCallback);\n }\n eventListenersMap.delete(mediaQuery);\n return;\n }\n\n eventListenersMap.set(mediaQuery, {\n ...eventListener,\n listeners: [...newListeners],\n });\n }\n }\n}\n\nexport function checkMatches(mediaQuery: string) {\n if (!globalObject.matchMedia) {\n return false;\n }\n\n if (!eventListenersMap.has(mediaQuery)) {\n return !!globalObject.matchMedia(mediaQuery)?.matches;\n }\n\n const eventListener = eventListenersMap.get(mediaQuery);\n return eventListener?.mql.matches ?? false;\n}\n\nfunction changeCallback(e: MediaQueryListEvent) {\n const eventListener = eventListenersMap.get(e.media);\n\n if (eventListener) {\n eventListener.listeners.forEach((listener) => {\n listener(e);\n });\n }\n}\n"]}
|