@skbkontur/react-ui 0.0.0-b4292e4d5b → 0.0.0-b821a2f064
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 +130 -0
- package/cjs/components/Autocomplete/Autocomplete.d.ts +2 -1
- package/cjs/components/Autocomplete/Autocomplete.js +1 -0
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.d.ts +7 -2
- package/cjs/components/Button/Button.js +21 -4
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.md +68 -0
- package/cjs/components/Button/Button.mixins.js +1 -1
- 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 +11 -3
- 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.d.ts +3 -2
- package/cjs/components/Button/ButtonIcon.js +2 -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 +7 -6
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.d.ts +6 -2
- package/cjs/components/Checkbox/Checkbox.js +12 -7
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.d.ts +2 -1
- package/cjs/components/ComboBox/ComboBox.js +1 -0
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.js +2 -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.d.ts +2 -1
- package/cjs/components/DateInput/DateInput.js +15 -6
- 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/DatePicker/DatePicker.d.ts +2 -1
- package/cjs/components/DatePicker/DatePicker.js +1 -0
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +3 -2
- package/cjs/components/Dropdown/Dropdown.js +1 -0
- package/cjs/components/Dropdown/Dropdown.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.d.ts +6 -2
- package/cjs/components/FileUploader/FileUploader.js +9 -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/FxInput/FxInput.js +1 -0
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/FxInput/FxInputRestoreBtn.js +1 -0
- package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.d.ts +1 -2
- package/cjs/components/GlobalLoader/GlobalLoader.js +10 -15
- 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/Hint/Hint.js +5 -4
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Input/Input.d.ts +6 -2
- package/cjs/components/Input/Input.js +16 -10
- package/cjs/components/Input/Input.js.map +1 -1
- 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/InputLayout/InputLayoutAsideIcon.js +1 -0
- package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
- package/cjs/components/Input/InputLayout/InputLayoutContext.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +2 -1
- package/cjs/components/Kebab/Kebab.js +2 -1
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.d.ts +6 -1
- package/cjs/components/Link/Link.js +19 -8
- 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/MenuFooter/MenuFooter.d.ts +6 -2
- package/cjs/components/MenuFooter/MenuFooter.js +4 -0
- package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
- package/cjs/components/MenuHeader/MenuHeader.d.ts +6 -2
- package/cjs/components/MenuHeader/MenuHeader.js +4 -0
- package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +6 -2
- package/cjs/components/MenuItem/MenuItem.js +6 -1
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- 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 -15
- 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 +5 -10
- 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.d.ts +6 -2
- package/cjs/components/Radio/Radio.js +6 -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 +14 -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 +19 -3
- package/cjs/components/ScrollContainer/ScrollContainer.js +94 -20
- 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/Select.d.ts +5 -3
- package/cjs/components/Select/Select.js +10 -7
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePage.js +12 -3
- 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/SpinnerFallbackAnimation.js +6 -2
- package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
- package/cjs/components/Sticky/Sticky.js +7 -7
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +7 -3
- package/cjs/components/Switcher/Switcher.js +4 -0
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Tabs/Indicator.js +2 -1
- package/cjs/components/Tabs/Indicator.js.map +1 -1
- package/cjs/components/Tabs/Tab.d.ts +16 -32
- package/cjs/components/Tabs/Tab.js +8 -25
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tab.md +71 -0
- package/cjs/components/Tabs/Tab.styles.js.map +1 -1
- package/cjs/components/Tabs/Tabs.d.ts +13 -18
- package/cjs/components/Tabs/Tabs.js +4 -9
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Tabs/Tabs.md +7 -22
- package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
- package/cjs/components/Tabs/TabsContext.d.ts +3 -2
- package/cjs/components/Tabs/TabsContext.js +1 -0
- package/cjs/components/Tabs/TabsContext.js.map +1 -1
- package/cjs/components/Tabs/helpers.d.ts +5 -5
- package/cjs/components/Tabs/helpers.js +3 -2
- package/cjs/components/Tabs/helpers.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +6 -2
- package/cjs/components/Textarea/Textarea.js +23 -9
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.d.ts +4 -3
- package/cjs/components/Textarea/TextareaCounter.js +3 -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/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/Toggle/Toggle.d.ts +6 -2
- package/cjs/components/Toggle/Toggle.js +4 -0
- package/cjs/components/Toggle/Toggle.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/Tooltip/Tooltip.js +5 -5
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/hooks/useDrop.js +3 -2
- package/cjs/hooks/useDrop.js.map +1 -1
- package/cjs/index.d.ts +4 -0
- package/cjs/index.js +4 -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/CustomComboBox/ComboBoxMenu.d.ts +2 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js +1 -0
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +6 -9
- package/cjs/internal/CustomComboBox/ComboBoxView.js +16 -34
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
- package/cjs/internal/CustomComboBox/CustomComboBox.js +13 -8
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +6 -2
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.js +19 -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 +13 -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 +3 -3
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +4 -3
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -2
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
- package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.js.map +1 -1
- package/cjs/internal/FocusTrap/FocusTrap.js +6 -5
- 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 +2 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.js +16 -16
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.js +7 -7
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/Menu/Menu.js +6 -6
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/MenuMessage/MenuMessage.d.ts +3 -3
- package/cjs/internal/MenuMessage/MenuMessage.js.map +1 -1
- package/cjs/internal/Popup/Popup.js +11 -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.js +12 -12
- 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 +3 -2
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ThemePlayground/SizesGroup.d.ts +2 -1
- package/cjs/internal/ThemePlayground/SizesGroup.js +1 -0
- package/cjs/internal/ThemePlayground/SizesGroup.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 +46 -2
- package/cjs/internal/themes/DefaultTheme.js +102 -6
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/internal/themes/Theme2022.d.ts +4 -3
- package/cjs/internal/themes/Theme2022.js +14 -6
- package/cjs/internal/themes/Theme2022.js.map +1 -1
- package/cjs/internal/themes/Theme2022Dark.d.ts +5 -4
- package/cjs/internal/themes/Theme2022Dark.js +10 -5
- 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 +1 -7
- package/cjs/lib/client.js +6 -6
- 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 +7 -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 +5 -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 +4 -2
- package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
- package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +50 -0
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +4 -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 +6 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +12 -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/listenFocusOutside.js +14 -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 +5 -6
- package/cjs/lib/rootNode/getRootNode.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/types/props.d.ts +1 -0
- package/cjs/lib/types/props.js +1 -0
- package/cjs/lib/types/props.js.map +1 -0
- package/cjs/lib/utils.js +4 -5
- package/cjs/lib/utils.js.map +1 -1
- package/cjs/typings/global.d.ts +3 -4
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +2 -1
- package/components/Button/Button/Button.js +11 -3
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +7 -2
- package/components/Button/Button.md +68 -0
- package/components/Button/Button.mixins/Button.mixins.js +1 -1
- package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
- package/components/Button/Button.styles/Button.styles.js +6 -2
- 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/ButtonIcon.d.ts +3 -2
- package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +1 -0
- package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
- package/components/Calendar/Calendar/Calendar.js +7 -6
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Checkbox/Checkbox/Checkbox.js +14 -5
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +6 -2
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +2 -1
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +2 -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 +23 -9
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +2 -1
- package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +10 -10
- package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +2 -1
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +3 -2
- package/components/Dropdown/getDropdownTheme/getDropdownTheme.js +21 -22
- package/components/Dropdown/getDropdownTheme/getDropdownTheme.js.map +1 -1
- package/components/FileUploader/FileUploader/FileUploader.js +9 -5
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.d.ts +6 -2
- 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/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +25 -29
- 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/Hint/Hint/Hint.js +5 -5
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Input/Input/Input.js +18 -11
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +6 -2
- 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/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutContext/InputLayoutContext.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
- package/components/Kebab/Kebab/Kebab.js +2 -1
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +2 -1
- package/components/Link/Link/Link.js +8 -6
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +6 -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/MenuFooter/MenuFooter/MenuFooter.js +4 -0
- package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
- package/components/MenuFooter/MenuFooter.d.ts +6 -2
- package/components/MenuHeader/MenuHeader/MenuHeader.js +4 -0
- package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
- package/components/MenuHeader/MenuHeader.d.ts +6 -2
- package/components/MenuItem/MenuItem/MenuItem.js +7 -2
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +6 -2
- 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 -11
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.styles/Paging.styles.js +3 -6
- 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 +6 -1
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +6 -2
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +5 -6
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
- package/components/ScrollContainer/ScrollBar/ScrollBar.js +16 -50
- package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
- package/components/ScrollContainer/ScrollBar.d.ts +4 -7
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +98 -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 +19 -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/Select/Select.js +9 -8
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +5 -3
- package/components/SidePage/SidePage/SidePage.js +8 -7
- package/components/SidePage/SidePage/SidePage.js.map +1 -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/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +5 -2
- package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
- package/components/Sticky/Sticky/Sticky.js +10 -6
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Switcher/Switcher/Switcher.js +4 -0
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +7 -3
- package/components/Tabs/Indicator/Indicator.js +2 -1
- package/components/Tabs/Indicator/Indicator.js.map +1 -1
- package/components/Tabs/Tab/Tab.js +7 -14
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +16 -32
- package/components/Tabs/Tab.md +71 -0
- package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
- package/components/Tabs/Tabs/Tabs.js +3 -4
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +13 -18
- package/components/Tabs/Tabs.md +7 -22
- package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
- package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
- package/components/Tabs/TabsContext.d.ts +3 -2
- package/components/Tabs/helpers/helpers.js +3 -0
- package/components/Tabs/helpers/helpers.js.map +1 -1
- package/components/Tabs/helpers.d.ts +5 -5
- package/components/Textarea/Textarea/Textarea.js +25 -13
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +6 -2
- package/components/Textarea/TextareaCounter/TextareaCounter.js +2 -3
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Textarea/TextareaCounter.d.ts +4 -3
- 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/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/Toggle/Toggle/Toggle.js +4 -0
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +6 -2
- 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/Tooltip/Tooltip/Tooltip.js +5 -5
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/hooks/useDrop/useDrop.js +3 -2
- package/hooks/useDrop/useDrop.js.map +1 -1
- package/index.d.ts +4 -0
- package/index.js +4 -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/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +21 -32
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +6 -9
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +11 -6
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +7 -2
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
- package/internal/DateSelect/DateSelect/DateSelect.js +19 -20
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +18 -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 +3 -2
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -3
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon/FileUploaderFileStatusIcon.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -2
- package/internal/FileUploaderControl/hooks/useFileUploaderSize/useFileUploaderSize.js.map +1 -1
- package/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
- package/internal/FocusTrap/FocusTrap/FocusTrap.js +8 -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 +2 -1
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +28 -19
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +9 -9
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/Menu/Menu/Menu.js +8 -8
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/MenuMessage/MenuMessage/MenuMessage.js.map +1 -1
- package/internal/MenuMessage/MenuMessage.d.ts +3 -3
- package/internal/Popup/Popup/Popup.js +11 -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 +17 -10
- package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +10 -5
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
- package/internal/ThemePlayground/SizesGroup.d.ts +2 -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 +146 -6
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +46 -2
- package/internal/themes/Theme2022/Theme2022.js +18 -4
- package/internal/themes/Theme2022/Theme2022.js.map +1 -1
- package/internal/themes/Theme2022.d.ts +4 -3
- package/internal/themes/Theme2022Dark/Theme2022Dark.js +14 -4
- package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
- package/internal/themes/Theme2022Dark.d.ts +5 -4
- 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 +7 -6
- package/lib/client/client.js.map +1 -1
- package/lib/client.d.ts +1 -7
- package/lib/dom/getScrollWidth/getScrollWidth.js +4 -5
- package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
- package/lib/dom/tabbableHelpers/tabbableHelpers.js +3 -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 +3 -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 +2 -1
- package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
- package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +50 -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 +4 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +6 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/package.json +6 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +6 -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/listenFocusOutside/listenFocusOutside.js +18 -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 +5 -6
- package/lib/rootNode/getRootNode/getRootNode.js.map +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/types/props/package.json +6 -0
- package/lib/types/props/props.js +1 -0
- package/lib/types/props/props.js.map +1 -0
- package/lib/types/props.d.ts +1 -0
- package/lib/utils/utils.js +4 -5
- package/lib/utils/utils.js.map +1 -1
- package/package.json +4 -4
- package/typings/global.d.ts +3 -4
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SizeProp } from '../../lib/types/props';
|
|
2
|
+
import { TextareaProps } from './Textarea';
|
|
2
3
|
export interface TextareaCounterProps {
|
|
3
4
|
value: TextareaProps['value'];
|
|
4
5
|
length: number;
|
|
5
6
|
help: TextareaProps['counterHelp'];
|
|
6
7
|
onCloseHelp: () => void;
|
|
7
8
|
textarea: HTMLTextAreaElement;
|
|
8
|
-
size:
|
|
9
|
+
size: SizeProp;
|
|
9
10
|
}
|
|
10
11
|
export interface TextareaCounterRef {
|
|
11
12
|
reflow: () => void;
|
|
12
13
|
}
|
|
13
|
-
export declare const TextareaCounter: import("../../lib/forwardRefAndName").ReactUIComponentWithRef<TextareaCounterRef, TextareaCounterProps>;
|
|
14
|
+
export declare const TextareaCounter: import("../../lib/forwardRefAndName").ReactUIComponentWithRef<TextareaCounterRef, TextareaCounterProps> & Record<never, never>;
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
import { globalObject, isBrowser } from '@skbkontur/global-object';
|
|
1
2
|
export function getTextAreaHeight(params) {
|
|
3
|
+
if (!isBrowser(globalObject)) {
|
|
4
|
+
return null;
|
|
5
|
+
}
|
|
6
|
+
|
|
2
7
|
var node = params.node,
|
|
3
8
|
minRows = params.minRows,
|
|
4
9
|
maxRows = params.maxRows,
|
|
5
10
|
extraRow = params.extraRow;
|
|
6
|
-
var style = getComputedStyle(node);
|
|
11
|
+
var style = globalObject.getComputedStyle(node);
|
|
7
12
|
var borderTop = style.borderTopWidth ? parseInt(style.borderTopWidth, 10) : 0;
|
|
8
13
|
var borderBottom = style.borderBottomWidth ? parseInt(style.borderBottomWidth, 10) : 0;
|
|
9
14
|
var lineHeight = style.lineHeight ? parseInt(style.lineHeight, 10) : 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["TextareaHelpers.tsx"],"names":["getTextAreaHeight","params","node","minRows","maxRows","extraRow","style","getComputedStyle","borderTop","borderTopWidth","parseInt","borderBottom","borderBottomWidth","lineHeight","paddingTop","paddingBottom","minHeight","maxHeight","extraRowHeight","expectedHeight","scrollHeight","height","Math","min","max","exceededMaxHeight"],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"sources":["TextareaHelpers.tsx"],"names":["globalObject","isBrowser","getTextAreaHeight","params","node","minRows","maxRows","extraRow","style","getComputedStyle","borderTop","borderTopWidth","parseInt","borderBottom","borderBottomWidth","lineHeight","paddingTop","paddingBottom","minHeight","maxHeight","extraRowHeight","expectedHeight","scrollHeight","height","Math","min","max","exceededMaxHeight"],"mappings":"AAAA,SAASA,YAAT,EAAuBC,SAAvB,QAAwC,0BAAxC;;AAEA,OAAO,SAASC,iBAAT,CAA2BC,MAA3B,EAA4D;AACjE,MAAI,CAACF,SAAS,CAACD,YAAD,CAAd,EAA8B;AAC5B,WAAO,IAAP;AACD;AACD,MAAQI,IAAR,GAA6CD,MAA7C,CAAQC,IAAR,CAAcC,OAAd,GAA6CF,MAA7C,CAAcE,OAAd,CAAuBC,OAAvB,GAA6CH,MAA7C,CAAuBG,OAAvB,CAAgCC,QAAhC,GAA6CJ,MAA7C,CAAgCI,QAAhC;AACA,MAAMC,KAAK,GAAGR,YAAY,CAACS,gBAAb,CAA8BL,IAA9B,CAAd;AACA,MAAMM,SAAS,GAAGF,KAAK,CAACG,cAAN,GAAuBC,QAAQ,CAACJ,KAAK,CAACG,cAAP,EAAuB,EAAvB,CAA/B,GAA4D,CAA9E;AACA,MAAME,YAAY,GAAGL,KAAK,CAACM,iBAAN,GAA0BF,QAAQ,CAACJ,KAAK,CAACM,iBAAP,EAA0B,EAA1B,CAAlC,GAAkE,CAAvF;AACA,MAAMC,UAAU,GAAGP,KAAK,CAACO,UAAN,GAAmBH,QAAQ,CAACJ,KAAK,CAACO,UAAP,EAAmB,EAAnB,CAA3B,GAAoD,CAAvE;AACA,MAAMC,UAAU,GAAGR,KAAK,CAACQ,UAAN,GAAmBJ,QAAQ,CAACJ,KAAK,CAACQ,UAAP,EAAmB,EAAnB,CAA3B,GAAoD,CAAvE;AACA,MAAMC,aAAa,GAAGT,KAAK,CAACS,aAAN,GAAsBL,QAAQ,CAACJ,KAAK,CAACS,aAAP,EAAsB,EAAtB,CAA9B,GAA0D,CAAhF;AACA,MAAMC,SAAS,GAAGR,SAAS,GAAGG,YAAZ,GAA2BG,UAA3B,GAAwCC,aAAxC,GAAwDF,UAAU,GAAGV,OAAvF;AACA,MAAMc,SAAS,GAAGT,SAAS,GAAGG,YAAZ,GAA2BG,UAA3B,GAAwCC,aAAxC,GAAwDF,UAAU,GAAGT,OAAvF;AACA,MAAMc,cAAc,GAAGb,QAAQ,GAAGQ,UAAH,GAAgB,CAA/C;AACA,MAAMM,cAAc,GAAGjB,IAAI,CAACkB,YAAL,GAAoBZ,SAApB,GAAgCG,YAAhC,GAA+CO,cAAtE;AACA,SAAO;AACLG,IAAAA,MAAM,EAAEC,IAAI,CAACC,GAAL,CAASD,IAAI,CAACE,GAAL,CAASL,cAAT,EAAyBH,SAAzB,CAAT,EAA8CC,SAA9C,CADH;AAELQ,IAAAA,iBAAiB,EAAEN,cAAc,GAAGF,SAAS,GAAGC,cAF3C,EAAP;;AAID","sourcesContent":["import { globalObject, isBrowser } from '@skbkontur/global-object';\n\nexport function getTextAreaHeight(params: GetTextAreaHeightParams) {\n if (!isBrowser(globalObject)) {\n return null;\n }\n const { node, minRows, maxRows, extraRow } = params;\n const style = globalObject.getComputedStyle(node);\n const borderTop = style.borderTopWidth ? parseInt(style.borderTopWidth, 10) : 0;\n const borderBottom = style.borderBottomWidth ? parseInt(style.borderBottomWidth, 10) : 0;\n const lineHeight = style.lineHeight ? parseInt(style.lineHeight, 10) : 0;\n const paddingTop = style.paddingTop ? parseInt(style.paddingTop, 10) : 0;\n const paddingBottom = style.paddingBottom ? parseInt(style.paddingBottom, 10) : 0;\n const minHeight = borderTop + borderBottom + paddingTop + paddingBottom + lineHeight * minRows;\n const maxHeight = borderTop + borderBottom + paddingTop + paddingBottom + lineHeight * maxRows;\n const extraRowHeight = extraRow ? lineHeight : 0;\n const expectedHeight = node.scrollHeight + borderTop + borderBottom + extraRowHeight;\n return {\n height: Math.min(Math.max(expectedHeight, minHeight), maxHeight),\n exceededMaxHeight: expectedHeight > maxHeight + extraRowHeight,\n };\n}\n\ninterface GetTextAreaHeightParams {\n node: HTMLTextAreaElement;\n minRows: number;\n maxRows: number;\n extraRow: boolean;\n}\n"]}
|
|
@@ -5,6 +5,9 @@ var _class, _class2, _temp;
|
|
|
5
5
|
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import { CSSTransition, TransitionGroup } from 'react-transition-group';
|
|
8
|
+
import { globalObject } from '@skbkontur/global-object';
|
|
9
|
+
import { ThemeFactory } from "../../../lib/theming/ThemeFactory";
|
|
10
|
+
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
8
11
|
import { RenderContainer } from "../../../internal/RenderContainer";
|
|
9
12
|
import { CommonWrapper } from "../../../internal/CommonWrapper";
|
|
10
13
|
import { isTestEnv } from "../../../lib/currentEnvironment";
|
|
@@ -22,10 +25,10 @@ export var ToastDataTids = {
|
|
|
22
25
|
* Показывает уведомления.
|
|
23
26
|
*
|
|
24
27
|
* Доступен статический метод: `Toast.push(notification, action?, showTime?)`.
|
|
25
|
-
* Однако, при его использовании не работает
|
|
26
|
-
*
|
|
28
|
+
* Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.
|
|
29
|
+
*
|
|
30
|
+
* Для статических тостов <u>рекомендуется</u> использовать компонент [SingleToast](https://tech.skbkontur.ru/react-ui/#/Components/SingleToast) - в нём исправлены эти проблемы.
|
|
27
31
|
*
|
|
28
|
-
* Рекомендуется использовать Toast через `ref` (см. примеры).
|
|
29
32
|
*/
|
|
30
33
|
|
|
31
34
|
export var Toast = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
|
|
@@ -43,7 +46,6 @@ export var Toast = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_
|
|
|
43
46
|
var _this;
|
|
44
47
|
|
|
45
48
|
_this = _React$Component.call(this, props) || this;
|
|
46
|
-
_this._timeout = null;
|
|
47
49
|
_this.rootRef = /*#__PURE__*/React.createRef();
|
|
48
50
|
|
|
49
51
|
_this.close = function () {
|
|
@@ -64,7 +66,7 @@ export var Toast = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_
|
|
|
64
66
|
|
|
65
67
|
_this._clearTimer = function () {
|
|
66
68
|
if (_this._timeout) {
|
|
67
|
-
clearTimeout(_this._timeout);
|
|
69
|
+
globalObject.clearTimeout(_this._timeout);
|
|
68
70
|
_this._timeout = null;
|
|
69
71
|
}
|
|
70
72
|
};
|
|
@@ -76,7 +78,7 @@ export var Toast = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_
|
|
|
76
78
|
|
|
77
79
|
var showTime = _this.state.action ? 7000 : 3000;
|
|
78
80
|
showTime = (_this$state$showTime = _this.state.showTime) != null ? _this$state$showTime : showTime;
|
|
79
|
-
_this._timeout =
|
|
81
|
+
_this._timeout = globalObject.setTimeout(_this.close, showTime);
|
|
80
82
|
};
|
|
81
83
|
|
|
82
84
|
_this._refToast = function (element) {
|
|
@@ -99,7 +101,14 @@ export var Toast = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_
|
|
|
99
101
|
};
|
|
100
102
|
|
|
101
103
|
_proto.render = function render() {
|
|
102
|
-
|
|
104
|
+
var _this2 = this;
|
|
105
|
+
|
|
106
|
+
return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
|
|
107
|
+
_this2.theme = _this2.props.theme ? ThemeFactory.create(_this2.props.theme, theme) : theme;
|
|
108
|
+
return /*#__PURE__*/React.createElement(ThemeContext.Provider, {
|
|
109
|
+
value: _this2.theme
|
|
110
|
+
}, /*#__PURE__*/React.createElement(RenderContainer, null, /*#__PURE__*/React.createElement(TransitionGroup, null, _this2._renderToast())));
|
|
111
|
+
});
|
|
103
112
|
}
|
|
104
113
|
/**
|
|
105
114
|
* Показывает тост с `notification` в качестве сообщения.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Toast.tsx"],"names":["React","CSSTransition","TransitionGroup","RenderContainer","CommonWrapper","isTestEnv","rootNode","styles","ToastView","ToastStatic","ToastDataTids","toastStatic","toastView","action","close","Toast","push","notification","showTime","props","_timeout","rootRef","createRef","safelyCall","onClose","state","setState","setRootRef","element","setRootNode","current","_clearTimer","clearTimeout","_setTimer","window","setTimeout","_refToast","_toast","id","componentWillUnmount","render","_renderToast","onPush","toastProps","onMouseEnter","onMouseLeave","children","enter","enterActive","exit","exitActive","Component","__KONTUR_REACT_UI__","fn","args"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\n\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { Nullable } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Toast.styles';\nimport { ToastView, ToastViewProps } from './ToastView';\nimport { ToastStatic } from './ToastStatic';\n\nexport interface Action {\n label: string;\n handler: () => void;\n 'aria-label'?: string;\n}\n\nexport interface ToastState {\n notification: Nullable<string>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n}\n\nexport interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n onPush?: (notification: string, action?: Action) => void;\n onClose?: (notification: string, action?: Action) => void;\n}\n\nexport const ToastDataTids = {\n toastStatic: 'StaticToast',\n toastView: 'ToastView__root',\n action: 'ToastView__action',\n close: 'ToastView__close',\n} as const;\n\n/**\n * Показывает уведомления.\n *\n * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.\n * Однако, при его использовании не работает кастомизация и могут быть проблемы\n * с перекрытием уведомления другими элементами страницы.\n *\n * Рекомендуется использовать Toast через `ref` (см. примеры).\n */\n@rootNode\nexport class Toast extends React.Component<ToastProps, ToastState> {\n public static __KONTUR_REACT_UI__ = 'Toast';\n private setRootNode!: TSetRootNode;\n\n public static push(notification: string, action?: Nullable<Action>, showTime?: number) {\n ToastStatic.push(notification, action, showTime);\n }\n\n public static close() {\n ToastStatic.close();\n }\n\n public _toast: Nullable<ToastView>;\n private _timeout: Nullable<number> = null;\n private rootRef = React.createRef<HTMLElement>();\n\n constructor(props: ToastProps) {\n super(props);\n this.state = {\n notification: null,\n action: null,\n id: 0,\n showTime: null,\n };\n }\n\n public componentWillUnmount() {\n this._clearTimer();\n }\n\n public render() {\n return (\n <RenderContainer>\n <TransitionGroup>{this._renderToast()}</TransitionGroup>\n </RenderContainer>\n );\n }\n\n /**\n * Показывает тост с `notification` в качестве сообщения.\n * Тост автоматически скрывается через 3 или 7 секунд,\n * в зависимости от наличия у него кнопки `action`.\n * Время показа можно задать вручную, передав `showTime`.\n *\n * @public\n * @param {string} notification\n * @param {Action} action `action` опциональный параметр формата `{ label: string, handler: function }`\n * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler\n * @param {number} showTime Время существования Toast в миллисекундах\n */\n public push(notification: string, action?: Nullable<Action>, showTime?: number) {\n if (this.state.notification) {\n this.close();\n }\n\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(({ id }) => ({ notification, action, id: id + 1, showTime }), this._setTimer);\n }\n\n /**\n * @public\n */\n public close = () => {\n safelyCall(this.props.onClose, this.state.notification, this.state.action);\n this.setState({ notification: null, action: null });\n };\n\n private _renderToast() {\n const { notification, action, id } = this.state;\n\n if (!notification) {\n return null;\n }\n\n const toastProps: ToastViewProps = {\n onMouseEnter: this._clearTimer,\n onMouseLeave: this._setTimer,\n onClose: this.close,\n children: notification,\n 'aria-label': this.props['aria-label'],\n action,\n };\n\n return (\n <CSSTransition\n key={id}\n classNames={{\n enter: styles.enter(),\n enterActive: styles.enterActive(),\n exit: styles.exit(),\n exitActive: styles.exitActive(),\n }}\n timeout={{\n enter: 200,\n exit: 150,\n }}\n enter={!isTestEnv}\n exit={!isTestEnv}\n nodeRef={this.rootRef}\n >\n <CommonWrapper rootNodeRef={this.setRootRef} {...this.props}>\n <ToastView ref={this._refToast} {...toastProps} />\n </CommonWrapper>\n </CSSTransition>\n );\n }\n\n private setRootRef = (element: Nullable<Element>) => {\n this.setRootNode(element);\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n this.rootRef.current = element;\n };\n\n private _clearTimer = () => {\n if (this._timeout) {\n clearTimeout(this._timeout);\n this._timeout = null;\n }\n };\n\n private _setTimer = () => {\n this._clearTimer();\n\n let showTime = this.state.action ? 7000 : 3000;\n showTime = this.state.showTime ?? showTime;\n\n this._timeout = window.setTimeout(this.close, showTime);\n };\n\n private _refToast = (element: ToastView) => {\n this._toast = element;\n };\n}\n\nfunction safelyCall(fn: Nullable<(a?: any) => any>, ...args: any[]) {\n if (fn) {\n fn(...args);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Toast.tsx"],"names":["React","CSSTransition","TransitionGroup","globalObject","ThemeFactory","ThemeContext","RenderContainer","CommonWrapper","isTestEnv","rootNode","styles","ToastView","ToastStatic","ToastDataTids","toastStatic","toastView","action","close","Toast","push","notification","showTime","props","rootRef","createRef","safelyCall","onClose","state","setState","setRootRef","element","setRootNode","current","_clearTimer","_timeout","clearTimeout","_setTimer","setTimeout","_refToast","_toast","id","componentWillUnmount","render","theme","create","_renderToast","onPush","toastProps","onMouseEnter","onMouseLeave","children","enter","enterActive","exit","exitActive","Component","__KONTUR_REACT_UI__","fn","args"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport { globalObject, SafeTimer } from '@skbkontur/global-object';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { Nullable } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Toast.styles';\nimport { ToastView, ToastViewProps } from './ToastView';\nimport { ToastStatic } from './ToastStatic';\n\nexport interface Action {\n label: string;\n handler: () => void;\n 'aria-label'?: string;\n}\n\nexport interface ToastState {\n notification: Nullable<string>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n}\n\nexport interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n onPush?: (notification: string, action?: Action) => void;\n onClose?: (notification: string, action?: Action) => void;\n /**\n * Обычный объект с переменными темы.\n * Он будет объединён с темой из контекста.\n */\n theme?: ThemeIn;\n}\n\nexport const ToastDataTids = {\n toastStatic: 'StaticToast',\n toastView: 'ToastView__root',\n action: 'ToastView__action',\n close: 'ToastView__close',\n} as const;\n\n/**\n * Показывает уведомления.\n *\n * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.\n * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.\n *\n * Для статических тостов <u>рекомендуется</u> использовать компонент [SingleToast](https://tech.skbkontur.ru/react-ui/#/Components/SingleToast) - в нём исправлены эти проблемы.\n *\n */\n@rootNode\nexport class Toast extends React.Component<ToastProps, ToastState> {\n public static __KONTUR_REACT_UI__ = 'Toast';\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n public static push(notification: string, action?: Nullable<Action>, showTime?: number) {\n ToastStatic.push(notification, action, showTime);\n }\n\n public static close() {\n ToastStatic.close();\n }\n\n public _toast: Nullable<ToastView>;\n private _timeout: SafeTimer;\n private rootRef = React.createRef<HTMLElement>();\n\n constructor(props: ToastProps) {\n super(props);\n this.state = {\n notification: null,\n action: null,\n id: 0,\n showTime: null,\n };\n }\n\n public componentWillUnmount() {\n this._clearTimer();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <ThemeContext.Provider value={this.theme}>\n <RenderContainer>\n <TransitionGroup>{this._renderToast()}</TransitionGroup>\n </RenderContainer>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Показывает тост с `notification` в качестве сообщения.\n * Тост автоматически скрывается через 3 или 7 секунд,\n * в зависимости от наличия у него кнопки `action`.\n * Время показа можно задать вручную, передав `showTime`.\n *\n * @public\n * @param {string} notification\n * @param {Action} action `action` опциональный параметр формата `{ label: string, handler: function }`\n * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler\n * @param {number} showTime Время существования Toast в миллисекундах\n */\n public push(notification: string, action?: Nullable<Action>, showTime?: number) {\n if (this.state.notification) {\n this.close();\n }\n\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(({ id }) => ({ notification, action, id: id + 1, showTime }), this._setTimer);\n }\n\n /**\n * @public\n */\n public close = () => {\n safelyCall(this.props.onClose, this.state.notification, this.state.action);\n this.setState({ notification: null, action: null });\n };\n\n private _renderToast() {\n const { notification, action, id } = this.state;\n\n if (!notification) {\n return null;\n }\n\n const toastProps: ToastViewProps = {\n onMouseEnter: this._clearTimer,\n onMouseLeave: this._setTimer,\n onClose: this.close,\n children: notification,\n 'aria-label': this.props['aria-label'],\n action,\n };\n\n return (\n <CSSTransition\n key={id}\n classNames={{\n enter: styles.enter(),\n enterActive: styles.enterActive(),\n exit: styles.exit(),\n exitActive: styles.exitActive(),\n }}\n timeout={{\n enter: 200,\n exit: 150,\n }}\n enter={!isTestEnv}\n exit={!isTestEnv}\n nodeRef={this.rootRef}\n >\n <CommonWrapper rootNodeRef={this.setRootRef} {...this.props}>\n <ToastView ref={this._refToast} {...toastProps} />\n </CommonWrapper>\n </CSSTransition>\n );\n }\n\n private setRootRef = (element: Nullable<Element>) => {\n this.setRootNode(element);\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n this.rootRef.current = element;\n };\n\n private _clearTimer = () => {\n if (this._timeout) {\n globalObject.clearTimeout(this._timeout);\n this._timeout = null;\n }\n };\n\n private _setTimer = () => {\n this._clearTimer();\n\n let showTime = this.state.action ? 7000 : 3000;\n showTime = this.state.showTime ?? showTime;\n this._timeout = globalObject.setTimeout(this.close, showTime);\n };\n\n private _refToast = (element: ToastView) => {\n this._toast = element;\n };\n}\n\nfunction safelyCall(fn: Nullable<(a?: any) => any>, ...args: any[]) {\n if (fn) {\n fn(...args);\n }\n}\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { AriaAttributes } from 'react';
|
|
2
|
+
import { ThemeIn } from '../../lib/theming/Theme';
|
|
2
3
|
import { Nullable } from '../../typings/utility-types';
|
|
3
4
|
import { CommonProps } from '../../internal/CommonWrapper';
|
|
4
5
|
import { ToastView } from './ToastView';
|
|
@@ -16,6 +17,11 @@ export interface ToastState {
|
|
|
16
17
|
export interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {
|
|
17
18
|
onPush?: (notification: string, action?: Action) => void;
|
|
18
19
|
onClose?: (notification: string, action?: Action) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Обычный объект с переменными темы.
|
|
22
|
+
* Он будет объединён с темой из контекста.
|
|
23
|
+
*/
|
|
24
|
+
theme?: ThemeIn;
|
|
19
25
|
}
|
|
20
26
|
export declare const ToastDataTids: {
|
|
21
27
|
readonly toastStatic: "StaticToast";
|
|
@@ -27,14 +33,15 @@ export declare const ToastDataTids: {
|
|
|
27
33
|
* Показывает уведомления.
|
|
28
34
|
*
|
|
29
35
|
* Доступен статический метод: `Toast.push(notification, action?, showTime?)`.
|
|
30
|
-
* Однако, при его использовании не работает
|
|
31
|
-
*
|
|
36
|
+
* Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.
|
|
37
|
+
*
|
|
38
|
+
* Для статических тостов <u>рекомендуется</u> использовать компонент [SingleToast](https://tech.skbkontur.ru/react-ui/#/Components/SingleToast) - в нём исправлены эти проблемы.
|
|
32
39
|
*
|
|
33
|
-
* Рекомендуется использовать Toast через `ref` (см. примеры).
|
|
34
40
|
*/
|
|
35
41
|
export declare class Toast extends React.Component<ToastProps, ToastState> {
|
|
36
42
|
static __KONTUR_REACT_UI__: string;
|
|
37
43
|
private setRootNode;
|
|
44
|
+
private theme;
|
|
38
45
|
static push(notification: string, action?: Nullable<Action>, showTime?: number): void;
|
|
39
46
|
static close(): void;
|
|
40
47
|
_toast: Nullable<ToastView>;
|
|
@@ -67,108 +67,3 @@ class Toaster extends React.Component {
|
|
|
67
67
|
|
|
68
68
|
<Toaster />;
|
|
69
69
|
```
|
|
70
|
-
|
|
71
|
-
### SuperToast
|
|
72
|
-
|
|
73
|
-
Вы можете объединить удобство статических методов и кастамизируемость классического способа через `ref`.
|
|
74
|
-
Для этого можно добавить обёртку, которая позволяет Toast работать по примеру GlobalLoader.
|
|
75
|
-
|
|
76
|
-
Т.е. кастомный Toast можно добавить в единственном месте в проекте, а статические методы будут всегда использовать последний отрендеренный экземпляр Toast:
|
|
77
|
-
|
|
78
|
-
Также в обёртке можно изменить логику появления всплывашки, по рекомендации Гайдов:
|
|
79
|
-
https://guides.kontur.ru/components/toast/#08
|
|
80
|
-
```static
|
|
81
|
-
«Всегда показывается только 1 тост. Перед появлением следующего тоста, текущий скрывается, даже если время его показа еще не истекло»
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
Для этого немного изменим метод `SuperToast.close` с помощью специального метода `ReactDOM.flushSync`.
|
|
85
|
-
|
|
86
|
-
Итоговый вариант:
|
|
87
|
-
```js static
|
|
88
|
-
const SuperToast = (props) => <Toast ref={SuperToast.ref} {...props} />;
|
|
89
|
-
SuperToast.ref = React.createRef();
|
|
90
|
-
SuperToast.push = (...args) => {
|
|
91
|
-
SuperToast.close();
|
|
92
|
-
SuperToast.ref.current && SuperToast.ref.current.push(...args);
|
|
93
|
-
};
|
|
94
|
-
SuperToast.close = () => {
|
|
95
|
-
ReactDOM.flushSync(() => {
|
|
96
|
-
SuperToast.ref.current && SuperToast.ref.current.close();
|
|
97
|
-
});
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
Версия на typescript:
|
|
104
|
-
```typescript static
|
|
105
|
-
class SuperToast extends React.Component<ToastProps> {
|
|
106
|
-
public static ref = React.createRef<Toast>();
|
|
107
|
-
public static push: typeof Toast.push = (...args) => {
|
|
108
|
-
SuperToast.close();
|
|
109
|
-
SuperToast.ref.current?.push(...args);
|
|
110
|
-
};
|
|
111
|
-
public static close: typeof Toast.close = () => {
|
|
112
|
-
ReactDOM.flushSync(() => SuperToast.ref.current?.close());
|
|
113
|
-
};
|
|
114
|
-
render = () => {
|
|
115
|
-
return <Toast ref={SuperToast.ref} {...this.props} />;
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
```jsx harmony
|
|
122
|
-
import { Button, Toast, ThemeContext, ThemeFactory, THEME_2022 } from '@skbkontur/react-ui';
|
|
123
|
-
import ReactDOM from 'react-dom';
|
|
124
|
-
|
|
125
|
-
const SuperToast = (props) => <Toast ref={SuperToast.ref} {...props} />;
|
|
126
|
-
SuperToast.ref = React.createRef();
|
|
127
|
-
SuperToast.push = (...args) => {
|
|
128
|
-
SuperToast.close();
|
|
129
|
-
SuperToast.ref.current && SuperToast.ref.current.push(...args);
|
|
130
|
-
};
|
|
131
|
-
SuperToast.close = () => {
|
|
132
|
-
ReactDOM.flushSync(() => {
|
|
133
|
-
SuperToast.ref.current && SuperToast.ref.current.close();
|
|
134
|
-
});
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
const RedToast = () => (
|
|
138
|
-
<ThemeContext.Consumer>
|
|
139
|
-
{(theme) => {
|
|
140
|
-
return <ThemeContext.Provider
|
|
141
|
-
value={ThemeFactory.create(
|
|
142
|
-
{
|
|
143
|
-
toastBg: "rgba(210, 15, 0, 0.76)",
|
|
144
|
-
toastLinkBgActive: "rgba(210, 15, 0, 0.76)"
|
|
145
|
-
},
|
|
146
|
-
theme
|
|
147
|
-
)}
|
|
148
|
-
>
|
|
149
|
-
<SuperToast />
|
|
150
|
-
</ThemeContext.Provider>
|
|
151
|
-
}}
|
|
152
|
-
</ThemeContext.Consumer>
|
|
153
|
-
);
|
|
154
|
-
|
|
155
|
-
const rand = () => "Пример красного тоста №" + Math.round(Math.random() * 100).toString();
|
|
156
|
-
|
|
157
|
-
const push = () => {
|
|
158
|
-
SuperToast.push(rand(), {
|
|
159
|
-
label: "Cancel",
|
|
160
|
-
handler: () => SuperToast.push("Canceled")
|
|
161
|
-
});
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
<div>
|
|
165
|
-
<RedToast />
|
|
166
|
-
<span />
|
|
167
|
-
<span />
|
|
168
|
-
<span />
|
|
169
|
-
<Button onClick={push}>
|
|
170
|
-
Show super red toast
|
|
171
|
-
</Button>
|
|
172
|
-
</div>
|
|
173
|
-
;
|
|
174
|
-
```
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import ReactDOM from 'react-dom';
|
|
3
|
+
import { globalObject } from '@skbkontur/global-object';
|
|
3
4
|
import { Toast, ToastDataTids } from "../Toast";
|
|
4
5
|
export var ToastStatic = function ToastStatic() {};
|
|
5
6
|
|
|
6
7
|
ToastStatic.push = function (notification, action, showTime) {
|
|
7
|
-
if (!ToastStatic.node) {
|
|
8
|
-
ToastStatic.node = document.createElement('div');
|
|
9
|
-
var
|
|
10
|
-
body = _document.body;
|
|
8
|
+
if (!ToastStatic.node && globalObject.document) {
|
|
9
|
+
ToastStatic.node = globalObject.document.createElement('div');
|
|
10
|
+
var body = globalObject.document.body;
|
|
11
11
|
|
|
12
12
|
if (!body) {
|
|
13
13
|
throw Error('There is no "body" element in "document"');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ToastStatic.tsx"],"names":["React","ReactDOM","Toast","ToastDataTids","ToastStatic","push","notification","action","showTime","node","document","createElement","body","Error","appendChild","render","toastStatic","el","instance","_push","close"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,QAAP,MAAqB,WAArB;;;;AAIA,SAASC,KAAT,EAAwBC,aAAxB,QAA6C,SAA7C;;AAEA,WAAaC,WAAb,6BAAaA,W;AACGC,I,GAAO,UAACC,YAAD,EAAuBC,MAAvB,EAAkDC,QAAlD,EAAwE;AAC3F,MAAI,CAACJ,WAAW,CAACK,
|
|
1
|
+
{"version":3,"sources":["ToastStatic.tsx"],"names":["React","ReactDOM","globalObject","Toast","ToastDataTids","ToastStatic","push","notification","action","showTime","node","document","createElement","body","Error","appendChild","render","toastStatic","el","instance","_push","close"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,QAAP,MAAqB,WAArB;AACA,SAASC,YAAT,QAA6B,0BAA7B;;;;AAIA,SAASC,KAAT,EAAwBC,aAAxB,QAA6C,SAA7C;;AAEA,WAAaC,WAAb,6BAAaA,W;AACGC,I,GAAO,UAACC,YAAD,EAAuBC,MAAvB,EAAkDC,QAAlD,EAAwE;AAC3F,MAAI,CAACJ,WAAW,CAACK,IAAb,IAAqBR,YAAY,CAACS,QAAtC,EAAgD;AAC9CN,IAAAA,WAAW,CAACK,IAAZ,GAAmBR,YAAY,CAACS,QAAb,CAAsBC,aAAtB,CAAoC,KAApC,CAAnB;AACA,QAAQC,IAAR,GAAiBX,YAAY,CAACS,QAA9B,CAAQE,IAAR;AACA,QAAI,CAACA,IAAL,EAAW;AACT,YAAMC,KAAK,CAAC,0CAAD,CAAX;AACD;AACDD,IAAAA,IAAI,CAACE,WAAL,CAAiBV,WAAW,CAACK,IAA7B;;AAEAT,IAAAA,QAAQ,CAACe,MAAT;AACE,wBAAC,KAAD,IAAO,YAAUZ,aAAa,CAACa,WAA/B,EAA4C,GAAG,EAAE,aAACC,EAAD,UAASb,WAAW,CAACc,QAAZ,GAAuBD,EAAhC,EAAjD,GADF;AAEEb,IAAAA,WAAW,CAACK,IAFd;AAGE,wBAAML,WAAW,CAACe,KAAZ,CAAkBb,YAAlB,EAAgCC,MAAhC,EAAwCC,QAAxC,CAAN,EAHF;;AAKD,GAbD,MAaO;AACLJ,IAAAA,WAAW,CAACe,KAAZ,CAAkBb,YAAlB,EAAgCC,MAAhC,EAAwCC,QAAxC;AACD;AACF,C,CAlBUJ,W;;AAoBGe,K,GAAQ,UAACb,YAAD,EAAuBC,MAAvB,EAAkDC,QAAlD,EAAwE;AAC5F,MAAIJ,WAAW,CAACc,QAAhB,EAA0B;AACxBd,IAAAA,WAAW,CAACc,QAAZ,CAAqBb,IAArB,CAA0BC,YAA1B,EAAwCC,MAAxC,EAAgDC,QAAhD;AACD;AACF,C,CAxBUJ,W;;AA0BGgB,K,GAAQ,YAAM;AAC1B,MAAIhB,WAAW,CAACc,QAAhB,EAA0B;AACxBd,IAAAA,WAAW,CAACc,QAAZ,CAAqBE,KAArB;AACD;AACF,C,CA9BUhB,W;;;AAiCIc,Q,GAA4B,I","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Nullable } from '../../typings/utility-types';\n\nimport { Toast, Action, ToastDataTids } from './Toast';\n\nexport class ToastStatic {\n public static push = (notification: string, action?: Nullable<Action>, showTime?: number) => {\n if (!ToastStatic.node && globalObject.document) {\n ToastStatic.node = globalObject.document.createElement('div');\n const { body } = globalObject.document;\n if (!body) {\n throw Error('There is no \"body\" element in \"document\"');\n }\n body.appendChild(ToastStatic.node);\n\n ReactDOM.render(\n <Toast data-tid={ToastDataTids.toastStatic} ref={(el) => (ToastStatic.instance = el)} />,\n ToastStatic.node,\n () => ToastStatic._push(notification, action, showTime),\n );\n } else {\n ToastStatic._push(notification, action, showTime);\n }\n };\n\n public static _push = (notification: string, action?: Nullable<Action>, showTime?: number) => {\n if (ToastStatic.instance) {\n ToastStatic.instance.push(notification, action, showTime);\n }\n };\n\n public static close = () => {\n if (ToastStatic.instance) {\n ToastStatic.instance.close();\n }\n };\n\n private static node: HTMLDivElement;\n private static instance: Nullable<Toast> = null;\n}\n"]}
|
|
@@ -15,6 +15,10 @@ import { createPropsGetter } from "../../../lib/createPropsGetter";
|
|
|
15
15
|
import { isTestEnv } from "../../../lib/currentEnvironment";
|
|
16
16
|
import { isTheme2022 } from "../../../lib/theming/ThemeHelpers";
|
|
17
17
|
import { styles, globalClasses } from "../Toggle.styles";
|
|
18
|
+
/**
|
|
19
|
+
* @deprecated use SizeProp
|
|
20
|
+
*/
|
|
21
|
+
|
|
18
22
|
var colorWarningShown = false;
|
|
19
23
|
export var ToggleDataTids = {
|
|
20
24
|
root: 'Toggle__root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Toggle.tsx"],"names":["React","PropTypes","warning","keyListener","ThemeContext","CommonWrapper","cx","rootNode","createPropsGetter","isTestEnv","isTheme2022","styles","globalClasses","colorWarningShown","ToggleDataTids","root","Toggle","props","getProps","defaultProps","input","focus","isTabPressed","inputRef","element","handleChange","event","onValueChange","target","checked","isUncontrolled","setState","onChange","handleFocus","onFocus","focusByTab","handleBlur","onBlur","state","defaultChecked","componentDidMount","autoFocus","render","theme","renderMain","getContainerSizeClassName","size","containerLarge","containerMedium","containerSmall","getHandleSizeClassName","handleLarge","handleMedium","handleSmall","getButtonSizeClassName","buttonLarge","buttonMedium","buttonSmall","getRootSizeClassName","rootLarge","rootMedium","rootSmall","getInputSizeClassName","inputLarge","inputMedium","inputSmall","getActiveHandleSizeClassName","activeHandleLarge","activeHandleMedium","activeHandleSmall","getCaptionSizeClassName","captionLarge","captionMedium","captionSmall","children","error","color","id","ariaDescribedby","ariaLabel","loading","captionPosition","disableAnimations","disabled","containerClassNames","container","containerDisabled","containerLoading","labelClassNames","rootLeft","disableAnimation","caption","captionClass","captionLeft","disabledCaption","setRootNode","button","buttonRight","isWarning","isError","focused","input2022","backgroundColor","boxShadow","undefined","activeBackground","background","activeBackgroundLoading","disabledBackground","handle","handleDisabled","Component","__KONTUR_REACT_UI__","propTypes","bool","func"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\n\nimport { keyListener } from '../../lib/events/keyListener';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles, globalClasses } from './Toggle.styles';\n\nexport type ToggleSize = 'small' | 'medium' | 'large';\n\nlet colorWarningShown = false;\n\nexport interface ToggleProps extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>, CommonProps {\n children?: React.ReactNode;\n /**\n * Положение `children` относительно переключателя.\n * @default 'right'\n */\n captionPosition?: 'left' | 'right';\n /**\n * Состояние `тогла`, если `true` - `тогл` будет включён, иначе выключен.\n * @default false\n */\n checked?: boolean;\n /**\n * Делает `тогл` включенным по умолчанию.\n */\n defaultChecked?: boolean;\n /**\n * Отключает `тогл`.\n */\n disabled?: boolean;\n /**\n * Событие вызывающееся, когда значение `тогла` меняется, передаёт текущее значение тогла в переданную функцию.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * Событие вызывающееся при клике на `тогл`.\n */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n /**\n * Состояние валидации при предупреждении.\n * @default false\n */\n warning?: boolean;\n /**\n * Состояние валидации при ошибке.\n * @default false\n */\n error?: boolean;\n /**\n * Добавляет стили для состояния `loading` и отключает `тогл`.\n */\n loading?: boolean;\n /**\n * Если true, выставляет фокус на `тогле` после загрузки страницы.\n */\n autoFocus?: boolean;\n /** Размер */\n size?: ToggleSize;\n /**\n * Событие вызывающееся, когда `тогл` получает фокус.\n */\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * Событие вызывающееся, когда `тогл` теряет фокус.\n */\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * @deprecated используйте переменную темы `toggleBgChecked` вместо этого пропа.\n */\n color?: React.CSSProperties['color'];\n /**\n * HTML-атрибут `id` для передачи во внутренний `<input />`.\n */\n id?: string;\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n}\n\nexport interface ToggleState {\n checked?: boolean;\n focusByTab?: boolean;\n}\n\nexport const ToggleDataTids = {\n root: 'Toggle__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<ToggleProps, 'disabled' | 'loading' | 'captionPosition' | 'disableAnimations' | 'size'>\n>;\n\n/**\n * _Примечание:_ под тоглом понимается полный компонент т.е. надпись + переключатель, а не просто переключатель.\n */\n@rootNode\nexport class Toggle extends React.Component<ToggleProps, ToggleState> {\n public static __KONTUR_REACT_UI__ = 'Toggle';\n\n public static propTypes = {\n checked: PropTypes.bool,\n defaultChecked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n loading: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n color: (props: ToggleProps) => {\n if (props.color && !colorWarningShown) {\n warning(false, `[Toggle]: prop 'color' is deprecated. Please, use theme variable 'toggleBgChecked' instead. `);\n colorWarningShown = true;\n }\n },\n };\n\n public static defaultProps: DefaultProps = {\n disabled: false,\n loading: false,\n captionPosition: 'right',\n disableAnimations: isTestEnv,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Toggle.defaultProps);\n\n private theme!: Theme;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: ToggleProps) {\n super(props);\n\n this.state = {\n focusByTab: false,\n checked: props.defaultChecked,\n };\n }\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n keyListener.isTabPressed = true;\n this.input.focus();\n }\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getContainerSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.containerLarge(this.theme);\n case 'medium':\n return styles.containerMedium(this.theme);\n case 'small':\n default:\n return styles.containerSmall(this.theme);\n }\n }\n\n private getHandleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.handleLarge(this.theme);\n case 'medium':\n return styles.handleMedium(this.theme);\n case 'small':\n default:\n return styles.handleSmall(this.theme);\n }\n }\n\n private getButtonSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.buttonLarge(this.theme);\n case 'medium':\n return styles.buttonMedium(this.theme);\n case 'small':\n default:\n return styles.buttonSmall(this.theme);\n }\n }\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 getInputSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.inputLarge(this.theme);\n case 'medium':\n return styles.inputMedium(this.theme);\n case 'small':\n default:\n return styles.inputSmall(this.theme);\n }\n }\n\n private getActiveHandleSizeClassName() {\n if (isTheme2022(this.theme)) {\n return '';\n }\n switch (this.getProps().size) {\n case 'large':\n return styles.activeHandleLarge(this.theme);\n case 'medium':\n return styles.activeHandleMedium(this.theme);\n case 'small':\n default:\n return styles.activeHandleSmall(this.theme);\n }\n }\n\n private getCaptionSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.captionLarge(this.theme);\n case 'medium':\n return styles.captionMedium(this.theme);\n case 'small':\n default:\n return styles.captionSmall(this.theme);\n }\n }\n\n private renderMain() {\n const {\n children,\n warning,\n error,\n color,\n id,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n } = this.props;\n const { loading, captionPosition, disableAnimations } = this.getProps();\n const disabled = this.getProps().disabled || loading;\n const checked = this.isUncontrolled() ? this.state.checked : this.props.checked;\n\n const containerClassNames = cx(this.getContainerSizeClassName(), {\n [styles.container(this.theme)]: true,\n [styles.containerDisabled(this.theme)]: !!disabled,\n [globalClasses.container]: true,\n [globalClasses.containerDisabled]: !!disabled,\n [globalClasses.containerLoading]: loading,\n });\n\n const labelClassNames = cx(this.getRootSizeClassName(), this.getActiveHandleSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootLeft()]: captionPosition === 'left',\n [styles.disabled()]: !!disabled,\n [globalClasses.disabled]: !!disabled,\n [styles.disableAnimation()]: disableAnimations,\n });\n\n let caption = null;\n if (children) {\n const captionClass = cx(this.getCaptionSizeClassName(), {\n [styles.caption(this.theme)]: true,\n [styles.captionLeft(this.theme)]: captionPosition === 'left',\n [styles.disabledCaption(this.theme)]: !!disabled,\n });\n caption = <span className={captionClass}>{children}</span>;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <label data-tid={ToggleDataTids.root} className={labelClassNames}>\n <div\n className={cx(this.getButtonSizeClassName(), {\n [styles.button(this.theme)]: true,\n [styles.buttonRight()]: captionPosition === 'left',\n [styles.isWarning(this.theme)]: !!warning,\n [styles.isError(this.theme)]: !!error,\n [styles.focused(this.theme)]: !disabled && !!this.state.focusByTab,\n })}\n >\n <input\n type=\"checkbox\"\n checked={checked}\n onChange={this.handleChange}\n className={cx(this.getInputSizeClassName(), isTheme2022(this.theme) && styles.input2022(this.theme), {\n [styles.input(this.theme)]: true,\n })}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.inputRef}\n disabled={disabled}\n id={id}\n role=\"switch\"\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n />\n <div\n className={containerClassNames}\n style={\n checked && color && !disabled\n ? {\n backgroundColor: color,\n boxShadow: `inset 0 0 0 1px ${color}`,\n }\n : undefined\n }\n >\n {!isTheme2022(this.theme) && (\n <div\n className={cx(styles.activeBackground(), globalClasses.background, {\n [styles.activeBackgroundLoading(this.theme)]: loading,\n [styles.disabledBackground(this.theme)]: disabled,\n })}\n style={\n checked && color && !disabled\n ? {\n backgroundColor: color,\n boxShadow: `inset 0 0 0 1px ${color}`,\n }\n : undefined\n }\n />\n )}\n </div>\n <div\n className={cx(this.getHandleSizeClassName(), globalClasses.handle, {\n [styles.handle(this.theme)]: true,\n [styles.handleDisabled(this.theme)]: disabled,\n })}\n />\n </div>\n {caption}\n </label>\n </CommonWrapper>\n );\n }\n\n private inputRef = (element: HTMLInputElement) => {\n this.input = element;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.checked);\n }\n\n if (this.isUncontrolled()) {\n this.setState({\n checked: event.target.checked,\n });\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n\n if (keyListener.isTabPressed) {\n this.setState({ focusByTab: true });\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n this.setState({\n focusByTab: false,\n });\n };\n\n private isUncontrolled() {\n return this.props.checked === undefined;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Toggle.tsx"],"names":["React","PropTypes","warning","keyListener","ThemeContext","CommonWrapper","cx","rootNode","createPropsGetter","isTestEnv","isTheme2022","styles","globalClasses","colorWarningShown","ToggleDataTids","root","Toggle","props","getProps","defaultProps","input","focus","isTabPressed","inputRef","element","handleChange","event","onValueChange","target","checked","isUncontrolled","setState","onChange","handleFocus","onFocus","focusByTab","handleBlur","onBlur","state","defaultChecked","componentDidMount","autoFocus","render","theme","renderMain","getContainerSizeClassName","size","containerLarge","containerMedium","containerSmall","getHandleSizeClassName","handleLarge","handleMedium","handleSmall","getButtonSizeClassName","buttonLarge","buttonMedium","buttonSmall","getRootSizeClassName","rootLarge","rootMedium","rootSmall","getInputSizeClassName","inputLarge","inputMedium","inputSmall","getActiveHandleSizeClassName","activeHandleLarge","activeHandleMedium","activeHandleSmall","getCaptionSizeClassName","captionLarge","captionMedium","captionSmall","children","error","color","id","ariaDescribedby","ariaLabel","loading","captionPosition","disableAnimations","disabled","containerClassNames","container","containerDisabled","containerLoading","labelClassNames","rootLeft","disableAnimation","caption","captionClass","captionLeft","disabledCaption","setRootNode","button","buttonRight","isWarning","isError","focused","input2022","backgroundColor","boxShadow","undefined","activeBackground","background","activeBackgroundLoading","disabledBackground","handle","handleDisabled","Component","__KONTUR_REACT_UI__","propTypes","bool","func"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\n\nimport { keyListener } from '../../lib/events/keyListener';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles, globalClasses } from './Toggle.styles';\n\n/**\n * @deprecated use SizeProp\n */\nexport type ToggleSize = SizeProp;\n\nlet colorWarningShown = false;\n\nexport interface ToggleProps extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>, CommonProps {\n children?: React.ReactNode;\n /**\n * Положение `children` относительно переключателя.\n * @default 'right'\n */\n captionPosition?: 'left' | 'right';\n /**\n * Состояние `тогла`, если `true` - `тогл` будет включён, иначе выключен.\n * @default false\n */\n checked?: boolean;\n /**\n * Делает `тогл` включенным по умолчанию.\n */\n defaultChecked?: boolean;\n /**\n * Отключает `тогл`.\n */\n disabled?: boolean;\n /**\n * Событие вызывающееся, когда значение `тогла` меняется, передаёт текущее значение тогла в переданную функцию.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * Событие вызывающееся при клике на `тогл`.\n */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n /**\n * Состояние валидации при предупреждении.\n * @default false\n */\n warning?: boolean;\n /**\n * Состояние валидации при ошибке.\n * @default false\n */\n error?: boolean;\n /**\n * Добавляет стили для состояния `loading` и отключает `тогл`.\n */\n loading?: boolean;\n /**\n * Если true, выставляет фокус на `тогле` после загрузки страницы.\n */\n autoFocus?: boolean;\n /** Размер */\n size?: SizeProp;\n /**\n * Событие вызывающееся, когда `тогл` получает фокус.\n */\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * Событие вызывающееся, когда `тогл` теряет фокус.\n */\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * @deprecated используйте переменную темы `toggleBgChecked` вместо этого пропа.\n */\n color?: React.CSSProperties['color'];\n /**\n * HTML-атрибут `id` для передачи во внутренний `<input />`.\n */\n id?: string;\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n}\n\nexport interface ToggleState {\n checked?: boolean;\n focusByTab?: boolean;\n}\n\nexport const ToggleDataTids = {\n root: 'Toggle__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<ToggleProps, 'disabled' | 'loading' | 'captionPosition' | 'disableAnimations' | 'size'>\n>;\n\n/**\n * _Примечание:_ под тоглом понимается полный компонент т.е. надпись + переключатель, а не просто переключатель.\n */\n@rootNode\nexport class Toggle extends React.Component<ToggleProps, ToggleState> {\n public static __KONTUR_REACT_UI__ = 'Toggle';\n\n public static propTypes = {\n checked: PropTypes.bool,\n defaultChecked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n loading: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n color: (props: ToggleProps) => {\n if (props.color && !colorWarningShown) {\n warning(false, `[Toggle]: prop 'color' is deprecated. Please, use theme variable 'toggleBgChecked' instead. `);\n colorWarningShown = true;\n }\n },\n };\n\n public static defaultProps: DefaultProps = {\n disabled: false,\n loading: false,\n captionPosition: 'right',\n disableAnimations: isTestEnv,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Toggle.defaultProps);\n\n private theme!: Theme;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: ToggleProps) {\n super(props);\n\n this.state = {\n focusByTab: false,\n checked: props.defaultChecked,\n };\n }\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n keyListener.isTabPressed = true;\n this.input.focus();\n }\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getContainerSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.containerLarge(this.theme);\n case 'medium':\n return styles.containerMedium(this.theme);\n case 'small':\n default:\n return styles.containerSmall(this.theme);\n }\n }\n\n private getHandleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.handleLarge(this.theme);\n case 'medium':\n return styles.handleMedium(this.theme);\n case 'small':\n default:\n return styles.handleSmall(this.theme);\n }\n }\n\n private getButtonSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.buttonLarge(this.theme);\n case 'medium':\n return styles.buttonMedium(this.theme);\n case 'small':\n default:\n return styles.buttonSmall(this.theme);\n }\n }\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 getInputSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.inputLarge(this.theme);\n case 'medium':\n return styles.inputMedium(this.theme);\n case 'small':\n default:\n return styles.inputSmall(this.theme);\n }\n }\n\n private getActiveHandleSizeClassName() {\n if (isTheme2022(this.theme)) {\n return '';\n }\n switch (this.getProps().size) {\n case 'large':\n return styles.activeHandleLarge(this.theme);\n case 'medium':\n return styles.activeHandleMedium(this.theme);\n case 'small':\n default:\n return styles.activeHandleSmall(this.theme);\n }\n }\n\n private getCaptionSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.captionLarge(this.theme);\n case 'medium':\n return styles.captionMedium(this.theme);\n case 'small':\n default:\n return styles.captionSmall(this.theme);\n }\n }\n\n private renderMain() {\n const {\n children,\n warning,\n error,\n color,\n id,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n } = this.props;\n const { loading, captionPosition, disableAnimations } = this.getProps();\n const disabled = this.getProps().disabled || loading;\n const checked = this.isUncontrolled() ? this.state.checked : this.props.checked;\n\n const containerClassNames = cx(this.getContainerSizeClassName(), {\n [styles.container(this.theme)]: true,\n [styles.containerDisabled(this.theme)]: !!disabled,\n [globalClasses.container]: true,\n [globalClasses.containerDisabled]: !!disabled,\n [globalClasses.containerLoading]: loading,\n });\n\n const labelClassNames = cx(this.getRootSizeClassName(), this.getActiveHandleSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootLeft()]: captionPosition === 'left',\n [styles.disabled()]: !!disabled,\n [globalClasses.disabled]: !!disabled,\n [styles.disableAnimation()]: disableAnimations,\n });\n\n let caption = null;\n if (children) {\n const captionClass = cx(this.getCaptionSizeClassName(), {\n [styles.caption(this.theme)]: true,\n [styles.captionLeft(this.theme)]: captionPosition === 'left',\n [styles.disabledCaption(this.theme)]: !!disabled,\n });\n caption = <span className={captionClass}>{children}</span>;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <label data-tid={ToggleDataTids.root} className={labelClassNames}>\n <div\n className={cx(this.getButtonSizeClassName(), {\n [styles.button(this.theme)]: true,\n [styles.buttonRight()]: captionPosition === 'left',\n [styles.isWarning(this.theme)]: !!warning,\n [styles.isError(this.theme)]: !!error,\n [styles.focused(this.theme)]: !disabled && !!this.state.focusByTab,\n })}\n >\n <input\n type=\"checkbox\"\n checked={checked}\n onChange={this.handleChange}\n className={cx(this.getInputSizeClassName(), isTheme2022(this.theme) && styles.input2022(this.theme), {\n [styles.input(this.theme)]: true,\n })}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.inputRef}\n disabled={disabled}\n id={id}\n role=\"switch\"\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n />\n <div\n className={containerClassNames}\n style={\n checked && color && !disabled\n ? {\n backgroundColor: color,\n boxShadow: `inset 0 0 0 1px ${color}`,\n }\n : undefined\n }\n >\n {!isTheme2022(this.theme) && (\n <div\n className={cx(styles.activeBackground(), globalClasses.background, {\n [styles.activeBackgroundLoading(this.theme)]: loading,\n [styles.disabledBackground(this.theme)]: disabled,\n })}\n style={\n checked && color && !disabled\n ? {\n backgroundColor: color,\n boxShadow: `inset 0 0 0 1px ${color}`,\n }\n : undefined\n }\n />\n )}\n </div>\n <div\n className={cx(this.getHandleSizeClassName(), globalClasses.handle, {\n [styles.handle(this.theme)]: true,\n [styles.handleDisabled(this.theme)]: disabled,\n })}\n />\n </div>\n {caption}\n </label>\n </CommonWrapper>\n );\n }\n\n private inputRef = (element: HTMLInputElement) => {\n this.input = element;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.checked);\n }\n\n if (this.isUncontrolled()) {\n this.setState({\n checked: event.target.checked,\n });\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n\n if (keyListener.isTabPressed) {\n this.setState({ focusByTab: true });\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n this.setState({\n focusByTab: false,\n });\n };\n\n private isUncontrolled() {\n return this.props.checked === undefined;\n }\n}\n"]}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import React, { AriaAttributes } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { CommonProps } from '../../internal/CommonWrapper';
|
|
4
|
-
|
|
4
|
+
import { SizeProp } from '../../lib/types/props';
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated use SizeProp
|
|
7
|
+
*/
|
|
8
|
+
export declare type ToggleSize = SizeProp;
|
|
5
9
|
export interface ToggleProps extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>, CommonProps {
|
|
6
10
|
children?: React.ReactNode;
|
|
7
11
|
/**
|
|
@@ -49,7 +53,7 @@ export interface ToggleProps extends Pick<AriaAttributes, 'aria-label' | 'aria-d
|
|
|
49
53
|
*/
|
|
50
54
|
autoFocus?: boolean;
|
|
51
55
|
/** Размер */
|
|
52
|
-
size?:
|
|
56
|
+
size?: SizeProp;
|
|
53
57
|
/**
|
|
54
58
|
* Событие вызывающееся, когда `тогл` получает фокус.
|
|
55
59
|
*/
|