@skbkontur/react-ui 5.0.12 → 5.1.0-next.1
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/cjs/components/Autocomplete/Autocomplete.d.ts +16 -17
- package/cjs/components/Autocomplete/Autocomplete.js +13 -2
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Autocomplete/Autocomplete.md +9 -7
- package/cjs/components/Autocomplete/__docs__/Autocomplete.mdx +26 -0
- package/cjs/components/Autocomplete/locale/types.js +1 -1
- package/cjs/components/Button/Button.d.ts +20 -62
- package/cjs/components/Button/Button.js +0 -42
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.md +40 -26
- package/cjs/components/Button/__docs__/Button.mdx +28 -0
- package/cjs/components/Calendar/Calendar.d.ts +22 -45
- package/cjs/components/Calendar/Calendar.js +1 -15
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Calendar/Calendar.md +12 -12
- package/cjs/components/Calendar/CalendarDay.d.ts +7 -0
- package/cjs/components/Calendar/CalendarDay.js +11 -0
- package/cjs/components/Calendar/CalendarDay.js.map +1 -1
- package/cjs/components/Calendar/CalendarDay.md +32 -32
- package/cjs/components/Calendar/__docs__/Calendar.mdx +28 -0
- package/cjs/components/Calendar/__docs__/CalendarDay.mdx +24 -0
- package/cjs/components/Calendar/locale/types.js +1 -1
- package/cjs/components/Center/Center.d.ts +4 -6
- package/cjs/components/Center/Center.js +3 -5
- package/cjs/components/Center/Center.js.map +1 -1
- package/cjs/components/Center/Center.md +1 -1
- package/cjs/components/Center/__docs__/Center.mdx +24 -0
- package/cjs/components/Checkbox/Checkbox.d.ts +20 -28
- package/cjs/components/Checkbox/Checkbox.js +7 -6
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.md +6 -5
- package/cjs/components/Checkbox/__docs__/Checkbox.mdx +28 -0
- package/cjs/components/ComboBox/ComboBox.d.ts +67 -86
- package/cjs/components/ComboBox/ComboBox.js +12 -28
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.md +41 -40
- package/cjs/components/ComboBox/__docs__/ComboBox.mdx +28 -0
- package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +4 -0
- package/cjs/components/CurrencyInput/CurrencyHelper.js +7 -0
- package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +12 -12
- package/cjs/components/CurrencyInput/CurrencyInput.js +8 -2
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.md +3 -1
- package/cjs/components/CurrencyInput/CurrencyInputHelper.d.ts +3 -0
- package/cjs/components/CurrencyInput/CurrencyInputHelper.js +5 -0
- package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
- package/cjs/components/CurrencyInput/__docs__/CurrencyInput.mdx +28 -0
- package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +8 -5
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +6 -0
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.md +5 -5
- package/cjs/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +24 -0
- package/cjs/components/DateInput/DateInput.d.ts +21 -29
- package/cjs/components/DateInput/DateInput.js +14 -2
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/DateInput.md +7 -2
- package/cjs/components/DateInput/__docs__/DateInput.mdx +26 -0
- package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js +1 -1
- package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +33 -23
- package/cjs/components/DatePicker/DatePicker.js +53 -4
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.md +2 -2
- package/cjs/components/DatePicker/__docs__/DatePicker.mdx +28 -0
- package/cjs/components/DatePicker/locale/types.js +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +25 -30
- package/cjs/components/Dropdown/Dropdown.js +8 -1
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.md +2 -1
- package/cjs/components/Dropdown/__docs__/Dropdown.mdx +28 -0
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.md +12 -10
- package/cjs/components/DropdownMenu/__docs__/DropdownMenu.mdx +28 -0
- package/cjs/components/FileUploader/FileUploader.d.ts +16 -20
- package/cjs/components/FileUploader/FileUploader.js +5 -3
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.md +9 -9
- package/cjs/components/FileUploader/__docs__/FileUploader.mdx +28 -0
- package/cjs/components/FileUploader/locale/types.js +1 -1
- package/cjs/components/FxInput/FxInput.d.ts +15 -9
- package/cjs/components/FxInput/FxInput.js +14 -1
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/FxInput/FxInput.md +2 -0
- package/cjs/components/FxInput/__docs__/FxInput.mdx +28 -0
- package/cjs/components/Gapped/Gapped.d.ts +6 -17
- package/cjs/components/Gapped/Gapped.js +1 -8
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/Gapped/Gapped.md +3 -2
- package/cjs/components/Gapped/__docs__/Gapped.mdx +24 -0
- package/cjs/components/GlobalLoader/GlobalLoader.d.ts +22 -32
- package/cjs/components/GlobalLoader/GlobalLoader.js +14 -14
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.md +4 -5
- package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +4 -0
- package/cjs/components/GlobalLoader/GlobalLoaderView.js +7 -0
- package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
- package/cjs/components/GlobalLoader/__docs__/GlobalLoader.mdx +28 -0
- package/cjs/components/Group/Group.d.ts +6 -0
- package/cjs/components/Group/Group.js +7 -1
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Group/Group.md +1 -0
- package/cjs/components/Group/__docs__/Group.mdx +24 -0
- package/cjs/components/Hint/Hint.d.ts +18 -40
- package/cjs/components/Hint/Hint.js +4 -16
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Hint/Hint.md +9 -8
- package/cjs/components/Hint/__docs__/Hint.mdx +29 -0
- package/cjs/components/Input/Input.d.ts +46 -68
- package/cjs/components/Input/Input.js +10 -9
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.md +11 -2
- package/cjs/components/Input/Input.typings.js +1 -1
- package/cjs/components/Input/__docs__/Input.mdx +28 -0
- package/cjs/components/Kebab/Kebab.d.ts +12 -16
- package/cjs/components/Kebab/Kebab.js +4 -2
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Kebab/Kebab.md +9 -9
- package/cjs/components/Kebab/__docs__/Kebab.mdx +28 -0
- package/cjs/components/Link/Link.d.ts +13 -37
- package/cjs/components/Link/Link.js +0 -13
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.md +12 -11
- package/cjs/components/Link/__docs__/Link.mdx +28 -0
- package/cjs/components/Loader/Loader.d.ts +13 -25
- package/cjs/components/Loader/Loader.js +2 -8
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/Loader/Loader.md +1 -0
- package/cjs/components/Loader/__docs__/Loader.mdx +26 -0
- package/cjs/components/MaskedInput/MaskedInput.d.ts +13 -33
- package/cjs/components/MaskedInput/MaskedInput.js +0 -13
- package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/components/MaskedInput/MaskedInput.md +7 -5
- package/cjs/components/MaskedInput/__docs__/MaskedInput.mdx +28 -0
- package/cjs/components/MenuFooter/MenuFooter.d.ts +6 -4
- package/cjs/components/MenuFooter/MenuFooter.js +7 -3
- package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
- package/cjs/components/MenuFooter/MenuFooter.md +2 -2
- package/cjs/components/MenuFooter/__docs__/MenuFooter.mdx +24 -0
- package/cjs/components/MenuHeader/MenuHeader.d.ts +6 -4
- package/cjs/components/MenuHeader/MenuHeader.js +7 -3
- package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
- package/cjs/components/MenuHeader/MenuHeader.md +2 -2
- package/cjs/components/MenuHeader/__docs__/MenuHeader.mdx +24 -0
- package/cjs/components/MenuItem/MenuItem.d.ts +22 -55
- package/cjs/components/MenuItem/MenuItem.js +1 -18
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.md +34 -30
- package/cjs/components/MenuItem/__docs__/MenuItem.mdx +24 -0
- package/cjs/components/MenuSeparator/MenuSeparator.d.ts +2 -2
- package/cjs/components/MenuSeparator/MenuSeparator.js +3 -2
- package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
- package/cjs/components/MenuSeparator/MenuSeparator.md +1 -1
- package/cjs/components/MenuSeparator/__docs__/MenuSeparator.mdx +24 -0
- package/cjs/components/MiniModal/MiniModal.d.ts +6 -0
- package/cjs/components/MiniModal/MiniModal.js +6 -0
- package/cjs/components/MiniModal/MiniModal.js.map +1 -1
- package/cjs/components/MiniModal/MiniModal.md +1 -3
- package/cjs/components/MiniModal/MiniModalFooter.d.ts +2 -7
- package/cjs/components/MiniModal/MiniModalFooter.js +0 -5
- package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -1
- package/cjs/components/MiniModal/MiniModalHeader.d.ts +2 -5
- package/cjs/components/MiniModal/MiniModalHeader.js +0 -3
- package/cjs/components/MiniModal/MiniModalHeader.js.map +1 -1
- package/cjs/components/MiniModal/__docs__/MiniModal.mdx +28 -0
- package/cjs/components/MiniModal/__docs__/MiniModalBody.mdx +17 -0
- package/cjs/components/MiniModal/__docs__/MiniModalFooter.mdx +17 -0
- package/cjs/components/MiniModal/__docs__/MiniModalHeader.mdx +18 -0
- package/cjs/components/MiniModal/__docs__/MiniModalIndent.mdx +11 -0
- package/cjs/components/MiniModal/getMiniModalTheme.d.ts +1 -1
- package/cjs/components/Modal/Modal.d.ts +12 -33
- package/cjs/components/Modal/Modal.js +4 -24
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.md +3 -1
- package/cjs/components/Modal/Modal.styles.d.ts +4 -1
- package/cjs/components/Modal/Modal.styles.js +68 -31
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalBody.d.ts +2 -4
- package/cjs/components/Modal/ModalBody.js +1 -3
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Modal/ModalClose.js +7 -2
- package/cjs/components/Modal/ModalClose.js.map +1 -1
- package/cjs/components/Modal/ModalContext.d.ts +2 -0
- package/cjs/components/Modal/ModalContext.js +3 -0
- package/cjs/components/Modal/ModalContext.js.map +1 -1
- package/cjs/components/Modal/ModalFooter.d.ts +5 -15
- package/cjs/components/Modal/ModalFooter.js +0 -7
- package/cjs/components/Modal/ModalFooter.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.d.ts +3 -1
- package/cjs/components/Modal/ModalHeader.js +4 -1
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/Modal/ModalSeparator.d.ts +1 -0
- package/cjs/components/Modal/ModalSeparator.js +1 -0
- package/cjs/components/Modal/ModalSeparator.js.map +1 -1
- package/cjs/components/Modal/__creevey__/Modal.creevey.mts +15 -1
- package/cjs/components/Modal/__docs__/Modal.mdx +28 -0
- package/cjs/components/Modal/__docs__/ModalBody.mdx +15 -0
- package/cjs/components/Modal/__docs__/ModalFooter.mdx +15 -0
- package/cjs/components/Modal/__docs__/ModalHeader.mdx +15 -0
- package/cjs/components/Modal/__docs__/ModalSeparator.mdx +15 -0
- package/cjs/components/Modal/locale/types.js +1 -1
- package/cjs/components/Paging/Paging.d.ts +20 -15
- package/cjs/components/Paging/Paging.js +17 -1
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/Paging.md +3 -2
- package/cjs/components/Paging/PagingDefaultComponent.d.ts +2 -0
- package/cjs/components/Paging/PagingDefaultComponent.js +3 -0
- package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -1
- package/cjs/components/Paging/__docs__/Paging.mdx +28 -0
- package/cjs/components/Paging/locale/types.js +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +10 -3
- package/cjs/components/PasswordInput/PasswordInput.js +35 -9
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.md +3 -2
- package/cjs/components/PasswordInput/__docs__/PasswordInput.mdx +28 -0
- package/cjs/components/PasswordInput/locale/types.js +1 -1
- package/cjs/components/Radio/Radio.d.ts +13 -28
- package/cjs/components/Radio/Radio.js +1 -8
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/Radio/Radio.md +3 -2
- package/cjs/components/Radio/__docs__/Radio.mdx +28 -0
- package/cjs/components/RadioGroup/RadioGroup.d.ts +28 -54
- package/cjs/components/RadioGroup/RadioGroup.js +4 -15
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.md +1 -0
- package/cjs/components/RadioGroup/__docs__/RadioGroup.mdx +28 -0
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +6 -2
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +4 -3
- package/cjs/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +97 -0
- package/cjs/components/ResponsiveLayout/types.js +1 -1
- package/cjs/components/ScrollContainer/ScrollBar.d.ts +7 -0
- package/cjs/components/ScrollContainer/ScrollBar.js +13 -0
- package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +23 -29
- package/cjs/components/ScrollContainer/ScrollContainer.js +8 -1
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.md +5 -3
- package/cjs/components/ScrollContainer/__docs__/ScrollContainer.mdx +24 -0
- package/cjs/components/Select/Item.d.ts +2 -0
- package/cjs/components/Select/Item.js +3 -0
- package/cjs/components/Select/Item.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +54 -38
- package/cjs/components/Select/Select.js +57 -1
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.md +7 -6
- package/cjs/components/Select/__docs__/Select.mdx +28 -0
- package/cjs/components/Select/locale/types.js +1 -1
- package/cjs/components/SidePage/SidePage.d.ts +17 -38
- package/cjs/components/SidePage/SidePage.js +15 -28
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePage.md +2 -1
- package/cjs/components/SidePage/SidePage.styles.d.ts +8 -1
- package/cjs/components/SidePage/SidePage.styles.js +83 -26
- package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
- package/cjs/components/SidePage/SidePageCloseButton.d.ts +6 -1
- package/cjs/components/SidePage/SidePageCloseButton.js +14 -2
- package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.d.ts +4 -9
- package/cjs/components/SidePage/SidePageFooter.js +0 -2
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +2 -1
- package/cjs/components/SidePage/SidePageHeader.js +14 -7
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/SidePage/__creevey__/SidePage.creevey.mts +103 -1
- package/cjs/components/SidePage/__docs__/SidePage.mdx +28 -0
- package/cjs/components/SidePage/__docs__/SidePageBody.mdx +15 -0
- package/cjs/components/SidePage/__docs__/SidePageContainer.mdx +15 -0
- package/cjs/components/SidePage/__docs__/SidePageFooter.mdx +15 -0
- package/cjs/components/SidePage/__docs__/SidePageHeader.mdx +15 -0
- package/cjs/components/SidePage/locale/types.js +1 -1
- package/cjs/components/SingleToast/SingleToast.d.ts +5 -1
- package/cjs/components/SingleToast/SingleToast.js +5 -1
- package/cjs/components/SingleToast/SingleToast.js.map +1 -1
- package/cjs/components/SingleToast/SingleToast.md +2 -1
- package/cjs/components/SingleToast/__docs__/SingleToast.mdx +28 -0
- package/cjs/components/Spinner/Spinner.d.ts +15 -20
- package/cjs/components/Spinner/Spinner.js +6 -7
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Spinner/Spinner.md +2 -1
- package/cjs/components/Spinner/__docs__/Spinner.mdx +28 -0
- package/cjs/components/Sticky/Sticky.d.ts +9 -4
- package/cjs/components/Sticky/Sticky.js +9 -1
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Sticky/Sticky.md +1 -0
- package/cjs/components/Sticky/__docs__/Sticky.mdx +24 -0
- package/cjs/components/Switcher/Switcher.d.ts +18 -7
- package/cjs/components/Switcher/Switcher.js +14 -3
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Switcher/Switcher.md +6 -2
- package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
- package/cjs/components/Switcher/Switcher.styles.js +20 -1
- package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
- package/cjs/components/Switcher/__docs__/Switcher.mdx +28 -0
- package/cjs/components/Tabs/Tab.d.ts +12 -31
- package/cjs/components/Tabs/Tab.js +1 -20
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tab.md +2 -0
- package/cjs/components/Tabs/Tabs.d.ts +14 -25
- package/cjs/components/Tabs/Tabs.js +6 -17
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Tabs/Tabs.md +3 -2
- package/cjs/components/Tabs/__docs__/Tab.mdx +28 -0
- package/cjs/components/Tabs/__docs__/Tabs.mdx +28 -0
- package/cjs/components/Textarea/Textarea.d.ts +26 -52
- package/cjs/components/Textarea/Textarea.js +3 -23
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/Textarea.md +4 -2
- package/cjs/components/Textarea/__docs__/Textarea.mdx +28 -0
- package/cjs/components/Toast/Toast.d.ts +12 -9
- package/cjs/components/Toast/Toast.js +13 -5
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/Toast.md +4 -4
- package/cjs/components/Toast/ToastStatic.d.ts +2 -2
- package/cjs/components/Toast/ToastStatic.js +15 -5
- package/cjs/components/Toast/ToastStatic.js.map +1 -1
- package/cjs/components/Toast/ToastView.d.ts +3 -6
- package/cjs/components/Toast/ToastView.js +3 -5
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toast/ToastView.styles.js +4 -4
- package/cjs/components/Toast/ToastView.styles.js.map +1 -1
- package/cjs/components/Toast/__creevey__/Toast.creevey.mts +23 -0
- package/cjs/components/Toast/__docs__/Toast.mdx +28 -0
- package/cjs/components/Toast/locale/types.js +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +25 -48
- package/cjs/components/Toggle/Toggle.js +4 -12
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Toggle/Toggle.md +9 -9
- package/cjs/components/Toggle/__docs__/Toggle.mdx +28 -0
- package/cjs/components/Token/Token.d.ts +17 -9
- package/cjs/components/Token/Token.js +9 -1
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/Token/Token.md +86 -3
- package/cjs/components/Token/TokenView.d.ts +3 -0
- package/cjs/components/Token/TokenView.js +3 -0
- package/cjs/components/Token/TokenView.js.map +1 -1
- package/cjs/components/Token/__docs__/Token.mdx +28 -0
- package/cjs/components/Token/locale/types.js +1 -1
- package/cjs/components/TokenInput/TextWidthHelper.d.ts +3 -0
- package/cjs/components/TokenInput/TextWidthHelper.js +5 -0
- package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +54 -97
- package/cjs/components/TokenInput/TokenInput.js +7 -18
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.md +12 -10
- package/cjs/components/TokenInput/TokenInputMenu.d.ts +5 -5
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/TokenInput/__docs__/TokenInput.mdx +28 -0
- package/cjs/components/TokenInput/locale/types.js +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +28 -68
- package/cjs/components/Tooltip/Tooltip.js +9 -63
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.md +5 -0
- package/cjs/components/Tooltip/__docs__/Tooltip.mdx +28 -0
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +13 -28
- package/cjs/components/TooltipMenu/TooltipMenu.js +1 -16
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.md +13 -10
- package/cjs/components/TooltipMenu/__docs__/TooltipMenu.mdx +24 -0
- package/cjs/index.d.ts +1 -2
- package/cjs/index.js +1 -2
- package/cjs/index.js.map +1 -1
- package/cjs/internal/CommonWrapper/types.js +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +4 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.js +12 -2
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +1 -0
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
- package/cjs/internal/CustomComboBox/locale/types.js +1 -1
- package/cjs/internal/DateSelect/locale/types.js +1 -1
- package/cjs/internal/FileUploaderControl/fileUtils.js +1 -1
- package/cjs/internal/FileUploaderControl/fileUtils.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.js +12 -11
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/Popup/types.js +1 -1
- package/cjs/internal/RenderContainer/RenderContainerTypes.js +1 -1
- package/cjs/internal/ThemePlayground/Playground.styles.js +2 -1
- package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
- package/cjs/internal/ThemePlayground/__creevey__/Theme5_0.creevey.mts +36 -0
- package/cjs/internal/ThemePlayground/__creevey__/Theme5_0.stories.d.ts +4 -0
- package/cjs/internal/ThemePlayground/constants.js +1 -1
- package/cjs/internal/ThemePlayground/constants.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.js +0 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
- package/cjs/internal/themes/BasicLightTheme.d.ts +5 -1198
- package/cjs/internal/themes/BasicLightTheme.js +2 -2512
- package/cjs/internal/themes/BasicLightTheme.js.map +1 -1
- package/cjs/internal/themes/BasicTheme.d.ts +1217 -0
- package/cjs/internal/themes/BasicTheme.js +2536 -0
- package/cjs/internal/themes/BasicTheme.js.map +1 -0
- package/cjs/internal/themes/DarkTheme5_0.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme5_0.js +556 -0
- package/cjs/internal/themes/DarkTheme5_0.js.map +1 -0
- package/cjs/internal/themes/DarkTheme5_1.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme5_1.js +41 -0
- package/cjs/internal/themes/DarkTheme5_1.js.map +1 -0
- package/cjs/internal/themes/LightTheme5_0.d.ts +1 -0
- package/cjs/internal/themes/LightTheme5_0.js +9 -0
- package/cjs/internal/themes/LightTheme5_0.js.map +1 -0
- package/cjs/internal/themes/LightTheme5_1.d.ts +1 -0
- package/cjs/internal/themes/LightTheme5_1.js +41 -0
- package/cjs/internal/themes/LightTheme5_1.js.map +1 -0
- package/cjs/lib/ModalStack.d.ts +1 -0
- package/cjs/lib/ModalStack.js +6 -4
- package/cjs/lib/ModalStack.js.map +1 -1
- package/cjs/lib/date/types.js +6 -6
- package/cjs/lib/date/types.js.map +1 -1
- package/cjs/lib/events/MouseDrag.js +1 -1
- package/cjs/lib/events/MouseDrag.js.map +1 -1
- package/cjs/lib/events/keyboard/KeyboardEventCodes.js +1 -1
- package/cjs/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
- package/cjs/lib/locale/types.js +1 -1
- package/cjs/lib/locale/types.js.map +1 -1
- package/cjs/lib/theming/Theme.d.ts +4 -3
- package/cjs/lib/theming/Theme.js +1 -1
- package/cjs/lib/theming/Theme.js.map +1 -1
- package/cjs/lib/theming/ThemeContext.d.ts +1 -1
- package/cjs/lib/theming/ThemeContext.js +2 -2
- package/cjs/lib/theming/ThemeContext.js.map +1 -1
- package/cjs/lib/theming/ThemeFactory.d.ts +9 -0
- package/cjs/lib/theming/ThemeFactory.js +28 -9
- package/cjs/lib/theming/ThemeFactory.js.map +1 -1
- package/cjs/lib/theming/ThemeHelpers.d.ts +55 -8
- package/cjs/lib/theming/ThemeHelpers.js +94 -22
- package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
- package/cjs/lib/theming/ThemeVersions.d.ts +25 -0
- package/cjs/lib/theming/ThemeVersions.js +58 -0
- package/cjs/lib/theming/ThemeVersions.js.map +1 -0
- package/cjs/lib/theming/themes/DarkTheme.d.ts +3 -1
- package/cjs/lib/theming/themes/DarkTheme.js +6 -4
- package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
- package/cjs/lib/theming/themes/LightTheme.d.ts +3 -1
- package/cjs/lib/theming/themes/LightTheme.js +6 -4
- package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
- package/cjs/lib/theming/themes/LightThemeMobile.d.ts +1 -1
- package/cjs/lib/theming/useTheme.d.ts +1 -1
- package/cjs/lib/types/button-link.js +1 -1
- package/cjs/lib/types/polymorphic-component.js +1 -1
- package/cjs/lib/types/props.js +1 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js +3 -2
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +16 -17
- package/components/Autocomplete/Autocomplete.md +9 -7
- package/components/Autocomplete/__docs__/Autocomplete.mdx +26 -0
- package/components/Autocomplete/locale/types/types.js +0 -1
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +20 -62
- package/components/Button/Button.md +40 -26
- package/components/Button/__docs__/Button.mdx +28 -0
- package/components/Calendar/Calendar/Calendar.js +1 -1
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/Calendar.d.ts +22 -45
- package/components/Calendar/Calendar.md +12 -12
- package/components/Calendar/CalendarDay/CalendarDay.js +2 -0
- package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
- package/components/Calendar/CalendarDay.d.ts +7 -0
- package/components/Calendar/CalendarDay.md +32 -32
- package/components/Calendar/__docs__/Calendar.mdx +28 -0
- package/components/Calendar/__docs__/CalendarDay.mdx +24 -0
- package/components/Calendar/locale/types/types.js +0 -1
- package/components/Center/Center/Center.js +3 -1
- package/components/Center/Center/Center.js.map +1 -1
- package/components/Center/Center.d.ts +4 -6
- package/components/Center/Center.md +1 -1
- package/components/Center/__docs__/Center.mdx +24 -0
- package/components/Checkbox/Checkbox/Checkbox.js +7 -0
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +20 -28
- package/components/Checkbox/Checkbox.md +6 -5
- package/components/Checkbox/__docs__/Checkbox.mdx +28 -0
- package/components/ComboBox/ComboBox/ComboBox.js +13 -2
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +67 -86
- package/components/ComboBox/ComboBox.md +41 -40
- package/components/ComboBox/__docs__/ComboBox.mdx +28 -0
- package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
- package/components/CurrencyInput/CurrencyHelper.d.ts +4 -0
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +5 -2
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +12 -12
- package/components/CurrencyInput/CurrencyInput.md +3 -1
- package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
- package/components/CurrencyInput/CurrencyInputHelper.d.ts +3 -0
- package/components/CurrencyInput/__docs__/CurrencyInput.mdx +28 -0
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +4 -0
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel.d.ts +8 -5
- package/components/CurrencyLabel/CurrencyLabel.md +5 -5
- package/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +24 -0
- package/components/DateInput/DateInput/DateInput.js +8 -1
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +21 -29
- package/components/DateInput/DateInput.md +7 -2
- package/components/DateInput/__docs__/DateInput.mdx +26 -0
- package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js +3 -3
- package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +33 -5
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +33 -23
- package/components/DatePicker/DatePicker.md +2 -2
- package/components/DatePicker/__docs__/DatePicker.mdx +28 -0
- package/components/DatePicker/locale/types/types.js +0 -1
- package/components/Dropdown/Dropdown/Dropdown.js +7 -1
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +25 -30
- package/components/Dropdown/Dropdown.md +2 -1
- package/components/Dropdown/__docs__/Dropdown.mdx +28 -0
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -1
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +1 -1
- package/components/DropdownMenu/DropdownMenu.md +12 -10
- package/components/DropdownMenu/__docs__/DropdownMenu.mdx +28 -0
- package/components/FileUploader/FileUploader/FileUploader.js +6 -0
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.d.ts +16 -20
- package/components/FileUploader/FileUploader.md +9 -9
- package/components/FileUploader/__docs__/FileUploader.mdx +28 -0
- package/components/FileUploader/locale/types/types.js +0 -1
- package/components/FxInput/FxInput/FxInput.js +7 -1
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +15 -9
- package/components/FxInput/FxInput.md +2 -0
- package/components/FxInput/__docs__/FxInput.mdx +28 -0
- package/components/Gapped/Gapped/Gapped.js +1 -1
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/Gapped/Gapped.d.ts +6 -17
- package/components/Gapped/Gapped.md +3 -2
- package/components/Gapped/__docs__/Gapped.mdx +24 -0
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +13 -0
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader.d.ts +22 -32
- package/components/GlobalLoader/GlobalLoader.md +4 -5
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.d.ts +4 -0
- package/components/GlobalLoader/__docs__/GlobalLoader.mdx +28 -0
- package/components/Group/Group/Group.js +6 -0
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.d.ts +6 -0
- package/components/Group/Group.md +1 -0
- package/components/Group/__docs__/Group.mdx +24 -0
- package/components/Hint/Hint/Hint.js +4 -1
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +18 -40
- package/components/Hint/Hint.md +9 -8
- package/components/Hint/__docs__/Hint.mdx +29 -0
- package/components/Input/Input/Input.js +10 -1
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +46 -68
- package/components/Input/Input.md +11 -2
- package/components/Input/Input.typings/Input.typings.js +0 -1
- package/components/Input/__docs__/Input.mdx +28 -0
- package/components/Kebab/Kebab/Kebab.js +4 -0
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +12 -16
- package/components/Kebab/Kebab.md +9 -9
- package/components/Kebab/__docs__/Kebab.mdx +28 -0
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +13 -37
- package/components/Link/Link.md +12 -11
- package/components/Link/__docs__/Link.mdx +28 -0
- package/components/Loader/Loader/Loader.js +2 -2
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +13 -25
- package/components/Loader/Loader.md +1 -0
- package/components/Loader/__docs__/Loader.mdx +26 -0
- package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput.d.ts +13 -33
- package/components/MaskedInput/MaskedInput.md +7 -5
- package/components/MaskedInput/__docs__/MaskedInput.mdx +28 -0
- package/components/MenuFooter/MenuFooter/MenuFooter.js +3 -3
- package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
- package/components/MenuFooter/MenuFooter.d.ts +6 -4
- package/components/MenuFooter/MenuFooter.md +2 -2
- package/components/MenuFooter/__docs__/MenuFooter.mdx +24 -0
- package/components/MenuHeader/MenuHeader/MenuHeader.js +3 -3
- package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
- package/components/MenuHeader/MenuHeader.d.ts +6 -4
- package/components/MenuHeader/MenuHeader.md +2 -2
- package/components/MenuHeader/__docs__/MenuHeader.mdx +24 -0
- package/components/MenuItem/MenuItem/MenuItem.js +1 -2
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +22 -55
- package/components/MenuItem/MenuItem.md +34 -30
- package/components/MenuItem/__docs__/MenuItem.mdx +24 -0
- package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +3 -2
- package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
- package/components/MenuSeparator/MenuSeparator.d.ts +2 -2
- package/components/MenuSeparator/MenuSeparator.md +1 -1
- package/components/MenuSeparator/__docs__/MenuSeparator.mdx +24 -0
- package/components/MiniModal/MiniModal/MiniModal.js +7 -0
- package/components/MiniModal/MiniModal/MiniModal.js.map +1 -1
- package/components/MiniModal/MiniModal.d.ts +6 -0
- package/components/MiniModal/MiniModal.md +1 -3
- package/components/MiniModal/MiniModalFooter/MiniModalFooter.js.map +1 -1
- package/components/MiniModal/MiniModalFooter.d.ts +2 -7
- package/components/MiniModal/MiniModalHeader/MiniModalHeader.js.map +1 -1
- package/components/MiniModal/MiniModalHeader.d.ts +2 -5
- package/components/MiniModal/__docs__/MiniModal.mdx +28 -0
- package/components/MiniModal/__docs__/MiniModalBody.mdx +17 -0
- package/components/MiniModal/__docs__/MiniModalFooter.mdx +17 -0
- package/components/MiniModal/__docs__/MiniModalHeader.mdx +18 -0
- package/components/MiniModal/__docs__/MiniModalIndent.mdx +11 -0
- package/components/MiniModal/getMiniModalTheme.d.ts +1 -1
- package/components/Modal/Modal/Modal.js +4 -9
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.d.ts +12 -33
- package/components/Modal/Modal.md +3 -1
- package/components/Modal/Modal.styles/Modal.styles.js +40 -31
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +4 -1
- package/components/Modal/ModalBody/ModalBody.js +1 -1
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Modal/ModalBody.d.ts +2 -4
- package/components/Modal/ModalClose/ModalClose.js +3 -1
- package/components/Modal/ModalClose/ModalClose.js.map +1 -1
- package/components/Modal/ModalContext/ModalContext.js.map +1 -1
- package/components/Modal/ModalContext.d.ts +2 -0
- package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
- package/components/Modal/ModalFooter.d.ts +5 -15
- package/components/Modal/ModalHeader/ModalHeader.js +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/Modal/ModalHeader.d.ts +3 -1
- package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
- package/components/Modal/ModalSeparator.d.ts +1 -0
- package/components/Modal/__creevey__/Modal.creevey.mts +15 -1
- package/components/Modal/__docs__/Modal.mdx +28 -0
- package/components/Modal/__docs__/ModalBody.mdx +15 -0
- package/components/Modal/__docs__/ModalFooter.mdx +15 -0
- package/components/Modal/__docs__/ModalHeader.mdx +15 -0
- package/components/Modal/__docs__/ModalSeparator.mdx +15 -0
- package/components/Modal/locale/types/types.js +0 -1
- package/components/Paging/Paging/Paging.js +4 -0
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +20 -15
- package/components/Paging/Paging.md +3 -2
- package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -1
- package/components/Paging/PagingDefaultComponent.d.ts +2 -0
- package/components/Paging/__docs__/Paging.mdx +28 -0
- package/components/Paging/locale/types/types.js +0 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +32 -10
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +10 -3
- package/components/PasswordInput/PasswordInput.md +3 -2
- package/components/PasswordInput/__docs__/PasswordInput.mdx +28 -0
- package/components/PasswordInput/locale/types/types.js +0 -1
- package/components/Radio/Radio/Radio.js +1 -1
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +13 -28
- package/components/Radio/Radio.md +3 -2
- package/components/Radio/__docs__/Radio.mdx +28 -0
- package/components/RadioGroup/RadioGroup/RadioGroup.js +4 -5
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +28 -54
- package/components/RadioGroup/RadioGroup.md +1 -0
- package/components/RadioGroup/__docs__/RadioGroup.mdx +28 -0
- package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +1 -2
- package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -1
- package/components/ResponsiveLayout/ResponsiveLayout.md +4 -3
- package/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +97 -0
- package/components/ResponsiveLayout/types/types.js +0 -1
- package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
- package/components/ScrollContainer/ScrollBar.d.ts +7 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +4 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +23 -29
- package/components/ScrollContainer/ScrollContainer.md +5 -3
- package/components/ScrollContainer/__docs__/ScrollContainer.mdx +24 -0
- package/components/Select/Item/Item.js.map +1 -1
- package/components/Select/Item.d.ts +2 -0
- package/components/Select/Select/Select.js +11 -0
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +54 -38
- package/components/Select/Select.md +7 -6
- package/components/Select/__docs__/Select.mdx +28 -0
- package/components/Select/locale/types/types.js +0 -1
- package/components/SidePage/SidePage/SidePage.js +28 -16
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +17 -38
- package/components/SidePage/SidePage.md +2 -1
- package/components/SidePage/SidePage.styles/SidePage.styles.js +48 -26
- package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
- package/components/SidePage/SidePage.styles.d.ts +8 -1
- package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +6 -2
- package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
- package/components/SidePage/SidePageCloseButton.d.ts +6 -1
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageFooter.d.ts +4 -9
- package/components/SidePage/SidePageHeader/SidePageHeader.js +13 -5
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +2 -1
- package/components/SidePage/__creevey__/SidePage.creevey.mts +103 -1
- package/components/SidePage/__docs__/SidePage.mdx +28 -0
- package/components/SidePage/__docs__/SidePageBody.mdx +15 -0
- package/components/SidePage/__docs__/SidePageContainer.mdx +15 -0
- package/components/SidePage/__docs__/SidePageFooter.mdx +15 -0
- package/components/SidePage/__docs__/SidePageHeader.mdx +15 -0
- package/components/SidePage/locale/types/types.js +0 -1
- package/components/SingleToast/SingleToast/SingleToast.js +5 -1
- package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
- package/components/SingleToast/SingleToast.d.ts +5 -1
- package/components/SingleToast/SingleToast.md +2 -1
- package/components/SingleToast/__docs__/SingleToast.mdx +28 -0
- package/components/Spinner/Spinner/Spinner.js +6 -2
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +15 -20
- package/components/Spinner/Spinner.md +2 -1
- package/components/Spinner/__docs__/Spinner.mdx +28 -0
- package/components/Sticky/Sticky/Sticky.js +5 -0
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +9 -4
- package/components/Sticky/Sticky.md +1 -0
- package/components/Sticky/__docs__/Sticky.mdx +24 -0
- package/components/Switcher/Switcher/Switcher.js +16 -6
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +18 -7
- package/components/Switcher/Switcher.md +6 -2
- package/components/Switcher/Switcher.styles/Switcher.styles.js +4 -1
- package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
- package/components/Switcher/Switcher.styles.d.ts +1 -0
- package/components/Switcher/__docs__/Switcher.mdx +28 -0
- package/components/Tabs/Tab/Tab.js +1 -1
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +12 -31
- package/components/Tabs/Tab.md +2 -0
- package/components/Tabs/Tabs/Tabs.js +6 -1
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +14 -25
- package/components/Tabs/Tabs.md +3 -2
- package/components/Tabs/__docs__/Tab.mdx +28 -0
- package/components/Tabs/__docs__/Tabs.mdx +28 -0
- package/components/Textarea/Textarea/Textarea.js +3 -4
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +26 -52
- package/components/Textarea/Textarea.md +4 -2
- package/components/Textarea/__docs__/Textarea.mdx +28 -0
- package/components/Toast/Toast/Toast.js +17 -12
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +12 -9
- package/components/Toast/Toast.md +4 -4
- package/components/Toast/ToastStatic/ToastStatic.js +5 -5
- package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
- package/components/Toast/ToastStatic.d.ts +2 -2
- package/components/Toast/ToastView/ToastView.js +2 -1
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.d.ts +3 -6
- package/components/Toast/ToastView.styles/ToastView.styles.js +2 -2
- package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
- package/components/Toast/__creevey__/Toast.creevey.mts +23 -0
- package/components/Toast/__docs__/Toast.mdx +28 -0
- package/components/Toast/locale/types/types.js +0 -1
- package/components/Toggle/Toggle/Toggle.js +4 -1
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +25 -48
- package/components/Toggle/Toggle.md +9 -9
- package/components/Toggle/__docs__/Toggle.mdx +28 -0
- package/components/Token/Token/Token.js +6 -0
- package/components/Token/Token/Token.js.map +1 -1
- package/components/Token/Token.d.ts +17 -9
- package/components/Token/Token.md +86 -3
- package/components/Token/TokenView/TokenView.js.map +1 -1
- package/components/Token/TokenView.d.ts +3 -0
- package/components/Token/__docs__/Token.mdx +28 -0
- package/components/Token/locale/types/types.js +0 -1
- package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
- package/components/TokenInput/TextWidthHelper.d.ts +3 -0
- package/components/TokenInput/TokenInput/TokenInput.js +9 -3
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +54 -97
- package/components/TokenInput/TokenInput.md +12 -10
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/TokenInput/TokenInputMenu.d.ts +5 -5
- package/components/TokenInput/__docs__/TokenInput.mdx +28 -0
- package/components/TokenInput/locale/types/types.js +0 -1
- package/components/Tooltip/Tooltip/Tooltip.js +9 -0
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +28 -68
- package/components/Tooltip/Tooltip.md +5 -0
- package/components/Tooltip/__docs__/Tooltip.mdx +28 -0
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +1 -1
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +13 -28
- package/components/TooltipMenu/TooltipMenu.md +13 -10
- package/components/TooltipMenu/__docs__/TooltipMenu.mdx +24 -0
- package/index.d.ts +1 -2
- package/index.js +1 -2
- package/index.js.map +1 -1
- package/internal/CommonWrapper/index/index.js +1 -2
- package/internal/CommonWrapper/index/index.js.map +1 -1
- package/internal/CommonWrapper/types/types.js +0 -1
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +10 -2
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +4 -1
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +1 -0
- package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js +3 -3
- package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js.map +1 -1
- package/internal/CustomComboBox/locale/types/types.js +0 -1
- package/internal/DateSelect/locale/types/types.js +0 -1
- package/internal/FileUploaderControl/fileUtils/fileUtils.js +3 -3
- package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +12 -6
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/Popup/types/types.js +0 -1
- package/internal/RenderContainer/RenderContainerTypes/RenderContainerTypes.js +0 -1
- package/internal/ThemePlayground/Playground.styles/Playground.styles.js +1 -1
- package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
- package/internal/ThemePlayground/__creevey__/Theme5_0.creevey.d.mts +1 -0
- package/internal/ThemePlayground/__creevey__/Theme5_0.creevey.mts +36 -0
- package/internal/ThemePlayground/__creevey__/Theme5_0.stories.d.ts +4 -0
- package/internal/ThemePlayground/constants/constants.js +3 -3
- package/internal/ThemePlayground/constants/constants.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/index/index.js +1 -2
- package/internal/ZIndex/index/index.js.map +1 -1
- package/internal/themes/BasicLightTheme/BasicLightTheme.js +5 -3338
- package/internal/themes/BasicLightTheme/BasicLightTheme.js.map +1 -1
- package/internal/themes/BasicLightTheme.d.ts +5 -1198
- package/internal/themes/BasicTheme/BasicTheme.js +3360 -0
- package/internal/themes/BasicTheme/BasicTheme.js.map +1 -0
- package/internal/themes/BasicTheme/package.json +6 -0
- package/internal/themes/BasicTheme.d.ts +1217 -0
- package/internal/themes/DarkTheme5_0/DarkTheme5_0.js +409 -0
- package/internal/themes/DarkTheme5_0/DarkTheme5_0.js.map +1 -0
- package/internal/themes/DarkTheme5_0/package.json +6 -0
- package/internal/themes/DarkTheme5_0.d.ts +1 -0
- package/internal/themes/DarkTheme5_1/DarkTheme5_1.js +52 -0
- package/internal/themes/DarkTheme5_1/DarkTheme5_1.js.map +1 -0
- package/internal/themes/DarkTheme5_1/package.json +6 -0
- package/internal/themes/DarkTheme5_1.d.ts +1 -0
- package/internal/themes/LightTheme5_0/LightTheme5_0.js +14 -0
- package/internal/themes/LightTheme5_0/LightTheme5_0.js.map +1 -0
- package/internal/themes/LightTheme5_0/package.json +6 -0
- package/internal/themes/LightTheme5_0.d.ts +1 -0
- package/internal/themes/LightTheme5_1/LightTheme5_1.js +52 -0
- package/internal/themes/LightTheme5_1/LightTheme5_1.js.map +1 -0
- package/internal/themes/LightTheme5_1/package.json +6 -0
- package/internal/themes/LightTheme5_1.d.ts +1 -0
- package/lib/ModalStack/ModalStack.js +8 -8
- package/lib/ModalStack/ModalStack.js.map +1 -1
- package/lib/ModalStack.d.ts +1 -0
- package/lib/date/types/types.js +18 -18
- package/lib/date/types/types.js.map +1 -1
- package/lib/events/MouseDrag/MouseDrag.js +3 -3
- package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
- package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js +3 -3
- package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js.map +1 -1
- package/lib/locale/types/types.js +3 -3
- package/lib/locale/types/types.js.map +1 -1
- package/lib/theming/Theme/Theme.js +2 -1
- package/lib/theming/Theme/Theme.js.map +1 -1
- package/lib/theming/Theme.d.ts +4 -3
- package/lib/theming/ThemeContext/ThemeContext.js +2 -2
- package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
- package/lib/theming/ThemeContext.d.ts +1 -1
- package/lib/theming/ThemeFactory/ThemeFactory.js +21 -7
- package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
- package/lib/theming/ThemeFactory.d.ts +9 -0
- package/lib/theming/ThemeHelpers/ThemeHelpers.js +85 -18
- package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
- package/lib/theming/ThemeHelpers.d.ts +55 -8
- package/lib/theming/ThemeVersions/ThemeVersions.js +50 -0
- package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -0
- package/lib/theming/ThemeVersions/package.json +6 -0
- package/lib/theming/ThemeVersions.d.ts +25 -0
- package/lib/theming/themes/DarkTheme/DarkTheme.js +5 -4
- package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/lib/theming/themes/DarkTheme.d.ts +3 -1
- package/lib/theming/themes/LightTheme/LightTheme.js +5 -4
- package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
- package/lib/theming/themes/LightTheme.d.ts +3 -1
- package/lib/theming/themes/LightThemeMobile.d.ts +1 -1
- package/lib/theming/useTheme.d.ts +1 -1
- package/lib/types/button-link/button-link.js +0 -1
- package/lib/types/polymorphic-component/polymorphic-component.js +0 -1
- package/lib/types/props/props.js +0 -1
- package/package.json +9 -5
- package/cjs/internal/themes/BasicDarkTheme.d.ts +0 -289
- package/cjs/internal/themes/BasicDarkTheme.js +0 -597
- package/cjs/internal/themes/BasicDarkTheme.js.map +0 -1
- package/cjs/lib/theming/themes/DarkTheme2022_0.d.ts +0 -1
- package/cjs/lib/theming/themes/DarkTheme2022_0.js +0 -5
- package/cjs/lib/theming/themes/DarkTheme2022_0.js.map +0 -1
- package/cjs/lib/theming/themes/LightTheme2022_0.d.ts +0 -1
- package/cjs/lib/theming/themes/LightTheme2022_0.js +0 -5
- package/cjs/lib/theming/themes/LightTheme2022_0.js.map +0 -1
- package/internal/themes/BasicDarkTheme/BasicDarkTheme.js +0 -641
- package/internal/themes/BasicDarkTheme/BasicDarkTheme.js.map +0 -1
- package/internal/themes/BasicDarkTheme/package.json +0 -6
- package/internal/themes/BasicDarkTheme.d.ts +0 -289
- package/lib/theming/themes/DarkTheme2022_0/DarkTheme2022_0.js +0 -3
- package/lib/theming/themes/DarkTheme2022_0/DarkTheme2022_0.js.map +0 -1
- package/lib/theming/themes/DarkTheme2022_0/package.json +0 -6
- package/lib/theming/themes/DarkTheme2022_0.d.ts +0 -1
- package/lib/theming/themes/LightTheme2022_0/LightTheme2022_0.js +0 -3
- package/lib/theming/themes/LightTheme2022_0/LightTheme2022_0.js.map +0 -1
- package/lib/theming/themes/LightTheme2022_0/package.json +0 -6
- package/lib/theming/themes/LightTheme2022_0.d.ts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","PropTypes","isElement","globalObject","isKonturIcon","isKeyArrowVertical","isKeyEnter","isKeySpace","someKeys","LayoutEvents","keyListener","PopupMenu","ThemeContext","isTestEnv","ThemeFactory","CommonWrapper","cx","rootNode","createPropsGetter","getVisualStateDataAttributes","styles","KebabIcon","KebabDataTids","caption","Kebab","_class","_Kebab","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","focusedByTab","anchor","listener","remove","undefined","renderCaption","captionProps","_this$getProps","disabled","size","handleCaptionKeyDown","event","openMenu","handleCaptionClick","toggleMenu","createElement","role","tabIndex","onClick","onKeyDown","onFocus","handleFocus","onBlur","handleBlur","className","kebab","theme","kebabSmall","kebabMedium","kebabLarge","opened","focused","props","renderIcon","e","preventDefault","handleChangeMenuState","isOpened","restoreFocus","setState","requestAnimationFrame","isTabPressed","_inheritsLoose","_proto","prototype","componentDidMount","addListener","componentWillUnmount","render","_this2","Consumer","Provider","value","create","popupMargin","kebabMargin","renderMain","_this$getProps2","positions","disableAnimations","onOpen","onClose","_extends","rootNodeRef","setRootNode","id","popupHasPin","preventIconsOffset","onChangeMenuState","menuMaxHeight","popupMenuId","children","_this$getProps3","_this$getProps3$icon","icon","_icon$props$size","_icon$props$color","sizes","small","parseInt","kebabIconSizeSmall","medium","kebabIconSizeMedium","large","kebabIconSizeLarge","cloneElement","color","kebabIconColor","Component","__KONTUR_REACT_UI__","displayName","propTypes","node","bool","oneOfType","string","number","func"],"sources":["Kebab.tsx"],"sourcesContent":["import React, { AriaAttributes, ReactElement, HTMLAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { isElement } from 'react-is';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isKonturIcon } from '../../lib/utils';\nimport { isKeyArrowVertical, isKeyEnter, isKeySpace, someKeys } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { PopupMenu, PopupMenuCaptionProps, PopupMenuProps } from '../../internal/PopupMenu';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './Kebab.styles';\nimport { KebabIcon } from './KebabIcon';\n\nexport interface KebabProps\n extends Pick<AriaAttributes, 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'>,\n CommonProps {\n disabled?: boolean;\n size?: SizeProp;\n /**\n * Список позиций доступных для расположения выпадашки.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions?: PopupPositionsType[];\n menuMaxHeight?: number | string;\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n /**\n * Кастомная иконка\n */\n icon?: React.ReactNode;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n}\n\nexport const KebabDataTids = {\n caption: 'Kebab__caption',\n} as const;\n\nexport interface KebabState {\n anchor: Nullable<HTMLElement>;\n focusedByTab: boolean;\n}\n\ntype DefaultProps = Required<Pick<KebabProps, 'onOpen' | 'onClose' | 'positions' | 'size' | 'disableAnimations'>>;\n\n@rootNode\nexport class Kebab extends React.Component<KebabProps, KebabState> {\n public static __KONTUR_REACT_UI__ = 'Kebab';\n public static displayName = 'Kebab';\n\n public static propTypes = {};\n\n public static defaultProps: DefaultProps = {\n onOpen: () => undefined,\n onClose: () => undefined,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n size: 'small',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Kebab.defaultProps);\n\n public state: KebabState = {\n focusedByTab: false,\n anchor: null,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private listener: {\n remove: () => void;\n } = {\n remove: () => undefined,\n };\n\n public componentDidMount() {\n /** addListener'у нужен колбэк в аргумент */\n this.listener = LayoutEvents.addListener(() => undefined);\n }\n\n public componentWillUnmount() {\n this.listener.remove();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupMargin: theme.kebabMargin,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { disabled } = this.props;\n const { positions, disableAnimations, onOpen, onClose } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props} {...getVisualStateDataAttributes({ disabled })}>\n <PopupMenu\n id={this.props.id}\n popupHasPin={false}\n preventIconsOffset={this.props.preventIconsOffset}\n positions={positions}\n onChangeMenuState={this.handleChangeMenuState}\n caption={this.renderCaption}\n disableAnimations={disableAnimations}\n menuMaxHeight={this.props.menuMaxHeight}\n onOpen={onOpen}\n onClose={onClose}\n popupMenuId={this.props.popupMenuId}\n aria-label={this.props['aria-label']}\n >\n {!disabled && this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n private renderCaption = (captionProps: PopupMenuCaptionProps) => {\n const { disabled, size } = this.getProps();\n const handleCaptionKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled) {\n this.handleCaptionKeyDown(event, captionProps.openMenu);\n }\n };\n\n const handleCaptionClick = () => {\n if (!disabled) {\n captionProps.toggleMenu();\n }\n };\n\n return (\n <span\n role=\"button\"\n data-tid={KebabDataTids.caption}\n tabIndex={disabled ? -1 : 0}\n onClick={handleCaptionClick}\n onKeyDown={handleCaptionKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className={cx(\n styles.kebab(this.theme),\n size === 'small' && styles.kebabSmall(this.theme),\n size === 'medium' && styles.kebabMedium(this.theme),\n size === 'large' && styles.kebabLarge(this.theme),\n captionProps.opened && styles.opened(this.theme),\n disabled && styles.disabled(),\n this.state.focusedByTab && styles.focused(this.theme),\n )}\n aria-describedby={this.props['aria-describedby']}\n >\n {this.renderIcon()}\n </span>\n );\n };\n\n private handleCaptionKeyDown = (\n e: React.KeyboardEvent<HTMLDivElement>,\n openMenu: PopupMenuCaptionProps['openMenu'],\n ) => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n openMenu(true);\n }\n };\n\n private handleChangeMenuState = (isOpened: boolean, restoreFocus: boolean): void => {\n this.setState({\n focusedByTab: !isOpened && restoreFocus,\n });\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n });\n };\n\n private renderIcon() {\n const { size, icon = <KebabIcon /> } = this.getProps();\n\n if (isElement(icon) && isKonturIcon(icon as ReactElement)) {\n const sizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.kebabIconSizeSmall),\n medium: parseInt(this.theme.kebabIconSizeMedium),\n large: parseInt(this.theme.kebabIconSizeLarge),\n };\n\n return React.cloneElement(icon as ReactElement, {\n size: icon.props.size ?? sizes[size],\n color: icon.props.color ?? this.theme.kebabIconColor,\n });\n }\n\n return icon;\n }\n}\n\nKebab.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n menuMaxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Размер кебаба small 14px | large 20px\n */\n size: PropTypes.string,\n\n /**\n * Коллбек, вызывающийся перед закрытием кебаба\n */\n onClose: PropTypes.func,\n\n /**\n * Коллбек, вызывающийся перед открытием кебаба\n */\n onOpen: PropTypes.func,\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","PropTypes","isElement","globalObject","isKonturIcon","isKeyArrowVertical","isKeyEnter","isKeySpace","someKeys","LayoutEvents","keyListener","PopupMenu","ThemeContext","isTestEnv","ThemeFactory","CommonWrapper","cx","rootNode","createPropsGetter","getVisualStateDataAttributes","styles","KebabIcon","KebabDataTids","caption","Kebab","_class","_Kebab","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","focusedByTab","anchor","listener","remove","undefined","renderCaption","captionProps","_this$getProps","disabled","size","handleCaptionKeyDown","event","openMenu","handleCaptionClick","toggleMenu","createElement","role","tabIndex","onClick","onKeyDown","onFocus","handleFocus","onBlur","handleBlur","className","kebab","theme","kebabSmall","kebabMedium","kebabLarge","opened","focused","props","renderIcon","e","preventDefault","handleChangeMenuState","isOpened","restoreFocus","setState","requestAnimationFrame","isTabPressed","_inheritsLoose","_proto","prototype","componentDidMount","addListener","componentWillUnmount","render","_this2","Consumer","Provider","value","create","popupMargin","kebabMargin","renderMain","_this$getProps2","positions","disableAnimations","onOpen","onClose","_extends","rootNodeRef","setRootNode","id","popupHasPin","preventIconsOffset","onChangeMenuState","menuMaxHeight","popupMenuId","children","_this$getProps3","_this$getProps3$icon","icon","_icon$props$size","_icon$props$color","sizes","small","parseInt","kebabIconSizeSmall","medium","kebabIconSizeMedium","large","kebabIconSizeLarge","cloneElement","color","kebabIconColor","Component","__KONTUR_REACT_UI__","displayName","propTypes","node","bool","oneOfType","string","number","func"],"sources":["Kebab.tsx"],"sourcesContent":["import React, { AriaAttributes, ReactElement, HTMLAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { isElement } from 'react-is';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isKonturIcon } from '../../lib/utils';\nimport { isKeyArrowVertical, isKeyEnter, isKeySpace, someKeys } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { PopupMenu, PopupMenuCaptionProps, PopupMenuProps } from '../../internal/PopupMenu';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './Kebab.styles';\nimport { KebabIcon } from './KebabIcon';\n\nexport interface KebabProps\n extends Pick<AriaAttributes, 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'>,\n CommonProps {\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /** Определяет список позиций, доступных для расположения выпадашки относительно `kebab`.\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n * @default ['bottom left', 'bottom right', 'top left', 'top right']. */\n positions?: PopupPositionsType[];\n positions2?: string;\n\n /** Задает максимальную высоту меню. */\n menuMaxHeight?: number | string;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Добавляет иконку слева. */\n icon?: React.ReactNode;\n\n /** @ignore */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n}\n\nexport const KebabDataTids = {\n caption: 'Kebab__caption',\n} as const;\n\nexport interface KebabState {\n anchor: Nullable<HTMLElement>;\n focusedByTab: boolean;\n}\n\ntype DefaultProps = Required<Pick<KebabProps, 'onOpen' | 'onClose' | 'positions' | 'size' | 'disableAnimations'>>;\n\n/**\n * Кебаб-меню `Kebab` содержит действия с объектом.\n */\n@rootNode\nexport class Kebab extends React.Component<KebabProps, KebabState> {\n public static __KONTUR_REACT_UI__ = 'Kebab';\n public static displayName = 'Kebab';\n\n public static propTypes = {};\n\n public static defaultProps: DefaultProps = {\n onOpen: () => undefined,\n onClose: () => undefined,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n size: 'small',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Kebab.defaultProps);\n\n public state: KebabState = {\n focusedByTab: false,\n anchor: null,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private listener: {\n remove: () => void;\n } = {\n remove: () => undefined,\n };\n\n public componentDidMount() {\n /** addListener'у нужен колбэк в аргумент */\n this.listener = LayoutEvents.addListener(() => undefined);\n }\n\n public componentWillUnmount() {\n this.listener.remove();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupMargin: theme.kebabMargin,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { disabled } = this.props;\n const { positions, disableAnimations, onOpen, onClose } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props} {...getVisualStateDataAttributes({ disabled })}>\n <PopupMenu\n id={this.props.id}\n popupHasPin={false}\n preventIconsOffset={this.props.preventIconsOffset}\n positions={positions}\n onChangeMenuState={this.handleChangeMenuState}\n caption={this.renderCaption}\n disableAnimations={disableAnimations}\n menuMaxHeight={this.props.menuMaxHeight}\n onOpen={onOpen}\n onClose={onClose}\n popupMenuId={this.props.popupMenuId}\n aria-label={this.props['aria-label']}\n >\n {!disabled && this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n private renderCaption = (captionProps: PopupMenuCaptionProps) => {\n const { disabled, size } = this.getProps();\n const handleCaptionKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled) {\n this.handleCaptionKeyDown(event, captionProps.openMenu);\n }\n };\n\n const handleCaptionClick = () => {\n if (!disabled) {\n captionProps.toggleMenu();\n }\n };\n\n return (\n <span\n role=\"button\"\n data-tid={KebabDataTids.caption}\n tabIndex={disabled ? -1 : 0}\n onClick={handleCaptionClick}\n onKeyDown={handleCaptionKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className={cx(\n styles.kebab(this.theme),\n size === 'small' && styles.kebabSmall(this.theme),\n size === 'medium' && styles.kebabMedium(this.theme),\n size === 'large' && styles.kebabLarge(this.theme),\n captionProps.opened && styles.opened(this.theme),\n disabled && styles.disabled(),\n this.state.focusedByTab && styles.focused(this.theme),\n )}\n aria-describedby={this.props['aria-describedby']}\n >\n {this.renderIcon()}\n </span>\n );\n };\n\n private handleCaptionKeyDown = (\n e: React.KeyboardEvent<HTMLDivElement>,\n openMenu: PopupMenuCaptionProps['openMenu'],\n ) => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n openMenu(true);\n }\n };\n\n private handleChangeMenuState = (isOpened: boolean, restoreFocus: boolean): void => {\n this.setState({\n focusedByTab: !isOpened && restoreFocus,\n });\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n });\n };\n\n private renderIcon() {\n const { size, icon = <KebabIcon /> } = this.getProps();\n\n if (isElement(icon) && isKonturIcon(icon as ReactElement)) {\n const sizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.kebabIconSizeSmall),\n medium: parseInt(this.theme.kebabIconSizeMedium),\n large: parseInt(this.theme.kebabIconSizeLarge),\n };\n\n return React.cloneElement(icon as ReactElement, {\n size: icon.props.size ?? sizes[size],\n color: icon.props.color ?? this.theme.kebabIconColor,\n });\n }\n\n return icon;\n }\n}\n\nKebab.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n menuMaxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Размер кебаба small 14px | large 20px\n */\n size: PropTypes.string,\n\n /**\n * Коллбек, вызывающийся перед закрытием кебаба\n */\n onClose: PropTypes.func,\n\n /**\n * Коллбек, вызывающийся перед открытием кебаба\n */\n onOpen: PropTypes.func,\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,29 +5,22 @@ import { PopupPositionsType } from '../../internal/Popup';
|
|
|
5
5
|
import { CommonProps } from '../../internal/CommonWrapper';
|
|
6
6
|
import { SizeProp } from '../../lib/types/props';
|
|
7
7
|
export interface KebabProps extends Pick<AriaAttributes, 'aria-label'>, Pick<HTMLAttributes<HTMLElement>, 'id'>, Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'>, CommonProps {
|
|
8
|
+
/** Делает компонент недоступным. */
|
|
8
9
|
disabled?: boolean;
|
|
10
|
+
/** Задает размер контрола. */
|
|
9
11
|
size?: SizeProp;
|
|
10
|
-
/**
|
|
11
|
-
* Список позиций доступных для расположения выпадашки.
|
|
12
|
-
*
|
|
12
|
+
/** Определяет список позиций, доступных для расположения выпадашки относительно `kebab`.
|
|
13
13
|
* Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.
|
|
14
|
-
*
|
|
15
|
-
* **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`
|
|
16
|
-
* @default ['bottom left', 'bottom right', 'top left', 'top right']
|
|
17
|
-
*/
|
|
14
|
+
* @default ['bottom left', 'bottom right', 'top left', 'top right']. */
|
|
18
15
|
positions?: PopupPositionsType[];
|
|
16
|
+
positions2?: string;
|
|
17
|
+
/** Задает максимальную высоту меню. */
|
|
19
18
|
menuMaxHeight?: number | string;
|
|
20
|
-
/**
|
|
21
|
-
* Не показывать анимацию
|
|
22
|
-
*/
|
|
19
|
+
/** Отключает анимацию. */
|
|
23
20
|
disableAnimations?: boolean;
|
|
24
|
-
/**
|
|
25
|
-
* Кастомная иконка
|
|
26
|
-
*/
|
|
21
|
+
/** Добавляет иконку слева. */
|
|
27
22
|
icon?: React.ReactNode;
|
|
28
|
-
/**
|
|
29
|
-
* Атрибут для указания id элемента(-ов), описывающих его
|
|
30
|
-
*/
|
|
23
|
+
/** @ignore */
|
|
31
24
|
'aria-describedby'?: AriaAttributes['aria-describedby'];
|
|
32
25
|
}
|
|
33
26
|
export declare const KebabDataTids: {
|
|
@@ -38,6 +31,9 @@ export interface KebabState {
|
|
|
38
31
|
focusedByTab: boolean;
|
|
39
32
|
}
|
|
40
33
|
type DefaultProps = Required<Pick<KebabProps, 'onOpen' | 'onClose' | 'positions' | 'size' | 'disableAnimations'>>;
|
|
34
|
+
/**
|
|
35
|
+
* Кебаб-меню `Kebab` содержит действия с объектом.
|
|
36
|
+
*/
|
|
41
37
|
export declare class Kebab extends React.Component<KebabProps, KebabState> {
|
|
42
38
|
static __KONTUR_REACT_UI__: string;
|
|
43
39
|
static displayName: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Базовый пример
|
|
1
|
+
### Базовый пример
|
|
2
2
|
|
|
3
3
|
```jsx harmony
|
|
4
4
|
import EditIcon from '@skbkontur/react-icons/Edit';
|
|
@@ -44,7 +44,7 @@ let Card = ({ name, post }) => (
|
|
|
44
44
|
</Gapped>;
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
### Размер
|
|
48
48
|
|
|
49
49
|
```jsx harmony
|
|
50
50
|
import EditIcon from '@skbkontur/react-icons/Edit';
|
|
@@ -84,7 +84,7 @@ let Card = ({ title, size }) => (
|
|
|
84
84
|
</Gapped>
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
Кебаб-меню с выпадашкой
|
|
87
|
+
### Кебаб-меню с выпадашкой слева
|
|
88
88
|
|
|
89
89
|
```jsx harmony
|
|
90
90
|
import EditIcon from '@skbkontur/react-icons/Edit';
|
|
@@ -121,7 +121,7 @@ let Card = ({ title }) => (
|
|
|
121
121
|
<Card title="С выпадашкой слева" />
|
|
122
122
|
```
|
|
123
123
|
|
|
124
|
-
|
|
124
|
+
### Кастомное действие при открытии
|
|
125
125
|
|
|
126
126
|
```jsx harmony
|
|
127
127
|
import EditIcon from '@skbkontur/react-icons/Edit';
|
|
@@ -160,7 +160,7 @@ let Card = ({ title }) => (
|
|
|
160
160
|
<Card title="С кастомным действием" />
|
|
161
161
|
```
|
|
162
162
|
|
|
163
|
-
|
|
163
|
+
### Иконка и автовыравнивание
|
|
164
164
|
|
|
165
165
|
```jsx harmony
|
|
166
166
|
import { Button, MenuHeader, MenuItem, MenuSeparator, Kebab } from '@skbkontur/react-ui';
|
|
@@ -174,7 +174,7 @@ import OkIcon from '@skbkontur/react-icons/Ok';
|
|
|
174
174
|
</Kebab>;
|
|
175
175
|
```
|
|
176
176
|
|
|
177
|
-
|
|
177
|
+
### Иконка и отключенное автовыравнивание
|
|
178
178
|
|
|
179
179
|
```jsx harmony
|
|
180
180
|
import { Button, MenuHeader, MenuItem, MenuSeparator, Kebab } from '@skbkontur/react-ui';
|
|
@@ -188,7 +188,7 @@ import OkIcon from '@skbkontur/react-icons/Ok';
|
|
|
188
188
|
</Kebab>
|
|
189
189
|
```
|
|
190
190
|
|
|
191
|
-
Отключенное
|
|
191
|
+
### Отключенное кебаб-меню
|
|
192
192
|
|
|
193
193
|
```jsx harmony
|
|
194
194
|
import EditIcon from '@skbkontur/react-icons/Edit';
|
|
@@ -224,7 +224,7 @@ let Card = ({ title }) => (
|
|
|
224
224
|
<Card title="Не нажимается :(" />
|
|
225
225
|
```
|
|
226
226
|
|
|
227
|
-
|
|
227
|
+
### Отключенная анимация
|
|
228
228
|
|
|
229
229
|
```jsx harmony
|
|
230
230
|
import EditIcon from '@skbkontur/react-icons/Edit';
|
|
@@ -260,7 +260,7 @@ let Card = ({ title }) => (
|
|
|
260
260
|
<Card title="Без анимации" />
|
|
261
261
|
```
|
|
262
262
|
|
|
263
|
-
|
|
263
|
+
### Высота
|
|
264
264
|
|
|
265
265
|
```jsx harmony
|
|
266
266
|
import EditIcon from '@skbkontur/react-icons/Edit';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as KebabStories from './Kebab.docs.stories.tsx';
|
|
2
|
+
import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
|
|
3
|
+
import { Meta } from '../../../.storybook/Meta';
|
|
4
|
+
|
|
5
|
+
<Meta of={KebabStories} />
|
|
6
|
+
|
|
7
|
+
# Kebab
|
|
8
|
+
|
|
9
|
+
[Компонент в Контур.Гайдах](https://guides.kontur.ru/components/actions/kebab-menu/)
|
|
10
|
+
|
|
11
|
+
[Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=230%3A2540)
|
|
12
|
+
|
|
13
|
+
<Description />
|
|
14
|
+
|
|
15
|
+
## Базовый пример
|
|
16
|
+
|
|
17
|
+
<Primary />
|
|
18
|
+
|
|
19
|
+
## Пропы
|
|
20
|
+
|
|
21
|
+
<details>
|
|
22
|
+
<summary>Открыть таблицу с пропами</summary>
|
|
23
|
+
<ArgTypes />
|
|
24
|
+
</details>
|
|
25
|
+
|
|
26
|
+
## Примеры использования
|
|
27
|
+
|
|
28
|
+
<Stories title="" includePrimary={false} />
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","globalObject","resetButton","keyListener","ThemeContext","isExternalLink","CommonWrapper","cx","rootNode","createPropsGetter","ThemeFactory","getVisualStateDataAttributes","styles","LinkIcon","LINK_DEFAULT_COMPONENT","LinkDataTids","root","Link","_class","_Link","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","focusedByTab","getTabIndex","_ref","nonInteractive","_ref$tabIndex","tabIndex","getRel","isAnchorProps","props","_this$props","rel","href","undefined","renderMain","_cx","disabled","icon","rightIcon","use","loading","_button","_buttonOpened","Root","component","_props$focused","focused","error","warning","theme","rest","_objectWithoutPropertiesLoose","_excluded","arrow","createElement","className","isFocused","leftIconElement","position","rightIconElement","hasBothIcons","getUseStyles","danger","success","grayed","getUseLineFocusStyles","lineFocus","lineFocusDanger","lineFocusSuccess","lineFocusGrayed","rootProps","_extends","focus","useGrayedFocus","button","buttonOpened","onClick","handleClick","onFocus","handleFocus","onBlur","handleBlur","children","requestAnimationFrame","isTabPressed","setState","event","_this$props2","_inheritsLoose","_proto","prototype","render","_this2","Consumer","create","rootNodeRef","setRootNode","Component","__KONTUR_REACT_UI__","displayName"],"sources":["Link.tsx"],"sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ButtonLinkAllowedValues } from '../../lib/types/button-link';\nimport { resetButton } from '../../lib/styles/Mixins';\nimport { PolymorphicPropsWithoutRef } from '../../lib/types/polymorphic-component';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isExternalLink } from '../../lib/utils';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter, DefaultizedProps } from '../../lib/createPropsGetter';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './Link.styles';\nimport { LinkIcon } from './LinkIcon';\n\nexport interface LinkInnerProps extends CommonProps {\n /**\n * Отключенное состояние.\n */\n disabled?: boolean;\n /**\n * Добавляет ссылке иконку слева.\n */\n icon?: React.ReactElement;\n /**\n * Добавляет ссылке иконку справа.\n */\n rightIcon?: React.ReactElement;\n /**\n * Тема ссылки.\n */\n use?: 'default' | 'success' | 'danger' | 'grayed';\n /**\n * @ignore\n */\n _button?: boolean;\n /**\n * @ignore\n */\n _buttonOpened?: boolean;\n /**\n * HTML-атрибут `tabindex`.\n */\n tabIndex?: number;\n /**\n * Переводит ссылку в состояние загрузки.\n */\n loading?: boolean;\n /**\n * Обычный объект с переменными темы.\n * Он будет объединён с темой из контекста.\n */\n theme?: ThemeIn;\n /**\n * @ignore\n */\n focused?: boolean;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n}\n\nconst LINK_DEFAULT_COMPONENT = 'a';\n\nexport type LinkProps<C extends ButtonLinkAllowedValues = typeof LINK_DEFAULT_COMPONENT> = PolymorphicPropsWithoutRef<\n LinkInnerProps,\n C\n>;\nexport interface LinkState {\n focusedByTab: boolean;\n}\n\nexport const LinkDataTids = {\n root: 'Link__root',\n} as const;\n\ntype DefaultProps = Required<Pick<LinkProps<ButtonLinkAllowedValues>, 'use' | 'component'>>;\ntype DefaultizedLinkProps = DefaultizedProps<LinkProps<ButtonLinkAllowedValues>, DefaultProps>;\n\n/**\n * Элемент ссылки из HTML.\n */\n@rootNode\nexport class Link<C extends ButtonLinkAllowedValues = typeof LINK_DEFAULT_COMPONENT> extends React.Component<\n LinkProps<C>,\n LinkState\n> {\n public static __KONTUR_REACT_UI__ = 'Link';\n public static displayName = 'Link';\n\n public static defaultProps: DefaultProps = {\n use: 'default',\n component: LINK_DEFAULT_COMPONENT,\n };\n\n private getProps = createPropsGetter(Link.defaultProps);\n\n public state: LinkState = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render(): JSX.Element {\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 <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getTabIndex = ({\n nonInteractive,\n tabIndex = 0,\n }: {\n nonInteractive: boolean | undefined;\n tabIndex: number | undefined;\n }) => {\n return nonInteractive ? -1 : tabIndex;\n };\n\n private getRel = () => {\n if (isAnchorProps(this.props)) {\n const { rel, href } = this.props;\n if (!rel && href) {\n return `noopener${isExternalLink(href) ? ' noreferrer' : ''}`;\n }\n return rel;\n }\n\n return undefined;\n };\n\n private renderMain = (props: CommonWrapperRestProps<DefaultizedLinkProps>) => {\n const {\n disabled,\n icon,\n rightIcon,\n use,\n loading,\n _button,\n _buttonOpened,\n component: Root,\n focused = false,\n error,\n warning,\n tabIndex,\n theme,\n ...rest\n } = props;\n\n let arrow = null;\n if (_button) {\n arrow = <span className={styles.arrow()} />;\n }\n\n const isFocused = !disabled && (this.state.focusedByTab || focused);\n\n const leftIconElement = icon && <LinkIcon icon={icon} loading={loading} position=\"left\" />;\n const rightIconElement = rightIcon && (\n <LinkIcon hasBothIcons={!!icon && !!rightIcon} icon={rightIcon} loading={loading} position=\"right\" />\n );\n const nonInteractive = disabled || loading;\n const getUseStyles = () => {\n switch (use) {\n case 'default':\n return styles.default(this.theme);\n case 'danger':\n return styles.danger(this.theme);\n case 'success':\n return styles.success(this.theme);\n case 'grayed':\n return styles.grayed(this.theme);\n }\n };\n const getUseLineFocusStyles = () => {\n switch (use) {\n case 'default':\n return styles.lineFocus(this.theme);\n case 'danger':\n return styles.lineFocusDanger(this.theme);\n case 'success':\n return styles.lineFocusSuccess(this.theme);\n case 'grayed':\n return styles.lineFocusGrayed(this.theme);\n }\n };\n const rootProps = {\n ...rest,\n className: cx({\n [styles.root(this.theme)]: true,\n [resetButton()]: Root === 'button',\n [styles.focus(this.theme)]: isFocused,\n [styles.disabled(this.theme)]: disabled || loading,\n [getUseStyles()]: true,\n [styles.useGrayedFocus(this.theme)]: use === 'grayed' && focused,\n [styles.button(this.theme)]: !!_button,\n [styles.buttonOpened(this.theme)]: !!_buttonOpened,\n [styles.warning(this.theme)]: warning,\n [styles.error(this.theme)]: error,\n [getUseLineFocusStyles()]: isFocused,\n }),\n onClick: this.handleClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n tabIndex: this.getTabIndex({ nonInteractive, tabIndex }),\n rel: this.getRel(),\n };\n\n return (\n <Root data-tid={LinkDataTids.root} {...rootProps} {...getVisualStateDataAttributes({ disabled })}>\n {leftIconElement}\n {this.props.children}\n {rightIconElement}\n {arrow}\n </Root>\n );\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({ focusedByTab: false });\n };\n\n private handleClick = (event: React.MouseEvent) => {\n const { onClick, disabled, loading } = this.props;\n\n if (onClick && !disabled && !loading) {\n onClick(event);\n }\n };\n}\n\nconst isAnchorProps = (props: LinkProps<any>): props is LinkProps<'a'> => {\n return props.component === 'a';\n};\n"],"mappings":"uZAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,QAAQ,0BAA0B;;;AAGvD,SAASC,WAAW,QAAQ,yBAAyB;;AAErD,SAASC,WAAW,QAAQ,8BAA8B;;AAE1D,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,SAASC,cAAc,QAAQ,iBAAiB;AAChD,SAAsBC,aAAa,QAAgC,8BAA8B;AACjG,SAASC,EAAE,QAAQ,2BAA2B;AAC9C,SAASC,QAAQ,QAAsB,oBAAoB;AAC3D,SAASC,iBAAiB,QAA0B,6BAA6B;AACjF,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,SAASC,4BAA4B,QAAQ,iEAAiE;;AAE9G,SAASC,MAAM,QAAQ,eAAe;AACtC,SAASC,QAAQ,QAAQ,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDrC,IAAMC,sBAAsB,GAAG,GAAG;;;;;;;;;;AAUlC,OAAO,IAAMC,YAAY,GAAG;EAC1BC,IAAI,EAAE;AACR,CAAU;;;;;AAKV;AACA;AACA;AACA;AACaC,IAAI,GADhBT,QAAQ,CAAAU,MAAA,IAAAC,KAAA,0BAAAC,gBAAA,YAAAH,KAAA,OAAAI,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;IAaCU,QAAQ,GAAGtB,iBAAiB,CAACQ,IAAI,CAACe,YAAY,CAAC,CAAAX,KAAA;;IAEhDY,KAAK,GAAc;MACxBC,YAAY,EAAE;IAChB,CAAC,CAAAb,KAAA;;;;;;;;;;;;;;;;;;;;IAoBOc,WAAW,GAAG,UAAAC,IAAA;;;;;;IAMhB,KALJC,cAAc,GAAAD,IAAA,CAAdC,cAAc,CAAAC,aAAA,GAAAF,IAAA,CACdG,QAAQ,CAARA,QAAQ,GAAAD,aAAA,cAAG,CAAC,GAAAA,aAAA;MAKZ,OAAOD,cAAc,GAAG,CAAC,CAAC,GAAGE,QAAQ;IACvC,CAAC,CAAAlB,KAAA;;IAEOmB,MAAM,GAAG,YAAM;MACrB,IAAIC,aAAa,CAACpB,KAAA,CAAKqB,KAAK,CAAC,EAAE;QAC7B,IAAAC,WAAA,GAAsBtB,KAAA,CAAKqB,KAAK,CAAxBE,GAAG,GAAAD,WAAA,CAAHC,GAAG,CAAEC,IAAI,GAAAF,WAAA,CAAJE,IAAI;QACjB,IAAI,CAACD,GAAG,IAAIC,IAAI,EAAE;UAChB,qBAAkBxC,cAAc,CAACwC,IAAI,CAAC,GAAG,aAAa,GAAG,EAAE;QAC7D;QACA,OAAOD,GAAG;MACZ;;MAEA,OAAOE,SAAS;IAClB,CAAC,CAAAzB,KAAA;;IAEO0B,UAAU,GAAG,UAACL,KAAmD,EAAK,KAAAM,GAAA;MAC5E;QACEC,QAAQ;;;;;;;;;;;;;;QAcNP,KAAK,CAdPO,QAAQ,CACRC,IAAI,GAaFR,KAAK,CAbPQ,IAAI,CACJC,SAAS,GAYPT,KAAK,CAZPS,SAAS,CACTC,GAAG,GAWDV,KAAK,CAXPU,GAAG,CACHC,OAAO,GAULX,KAAK,CAVPW,OAAO,CACPC,OAAO,GASLZ,KAAK,CATPY,OAAO,CACPC,aAAa,GAQXb,KAAK,CARPa,aAAa,CACFC,IAAI,GAObd,KAAK,CAPPe,SAAS,CAAAC,cAAA,GAOPhB,KAAK,CANPiB,OAAO,CAAPA,OAAO,GAAAD,cAAA,cAAG,KAAK,GAAAA,cAAA,CACfE,KAAK,GAKHlB,KAAK,CALPkB,KAAK,CACLC,OAAO,GAILnB,KAAK,CAJPmB,OAAO,CACPtB,QAAQ,GAGNG,KAAK,CAHPH,QAAQ,CACRuB,KAAK,GAEHpB,KAAK,CAFPoB,KAAK,CACFC,IAAI,GAAAC,6BAAA,CACLtB,KAAK,EAAAuB,SAAA;;MAET,IAAIC,KAAK,GAAG,IAAI;MAChB,IAAIZ,OAAO,EAAE;QACXY,KAAK,gBAAGlE,KAAA,CAAAmE,aAAA,WAAMC,SAAS,EAAExD,MAAM,CAACsD,KAAK,CAAC,CAAE,EAAE,CAAC;MAC7C;;MAEA,IAAMG,SAAS,GAAG,CAACpB,QAAQ,KAAK5B,KAAA,CAAKY,KAAK,CAACC,YAAY,IAAIyB,OAAO,CAAC;;MAEnE,IAAMW,eAAe,GAAGpB,IAAI,iBAAIlD,KAAA,CAAAmE,aAAA,CAACtD,QAAQ,IAACqC,IAAI,EAAEA,IAAK,EAACG,OAAO,EAAEA,OAAQ,EAACkB,QAAQ,EAAC,MAAM,EAAE,CAAC;MAC1F,IAAMC,gBAAgB,GAAGrB,SAAS;MAChCnD,KAAA,CAAAmE,aAAA,CAACtD,QAAQ,IAAC4D,YAAY,EAAE,CAAC,CAACvB,IAAI,IAAI,CAAC,CAACC,SAAU,EAACD,IAAI,EAAEC,SAAU,EAACE,OAAO,EAAEA,OAAQ,EAACkB,QAAQ,EAAC,OAAO,EAAE,CACrG;;MACD,IAAMlC,cAAc,GAAGY,QAAQ,IAAII,OAAO;MAC1C,IAAMqB,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAS;QACzB,QAAQtB,GAAG;UACT,KAAK,SAAS;YACZ,OAAOxC,MAAM,WAAQ,CAACS,KAAA,CAAKyC,KAAK,CAAC;UACnC,KAAK,QAAQ;YACX,OAAOlD,MAAM,CAAC+D,MAAM,CAACtD,KAAA,CAAKyC,KAAK,CAAC;UAClC,KAAK,SAAS;YACZ,OAAOlD,MAAM,CAACgE,OAAO,CAACvD,KAAA,CAAKyC,KAAK,CAAC;UACnC,KAAK,QAAQ;YACX,OAAOlD,MAAM,CAACiE,MAAM,CAACxD,KAAA,CAAKyC,KAAK,CAAC;QACpC;MACF,CAAC;MACD,IAAMgB,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAA,EAAS;QAClC,QAAQ1B,GAAG;UACT,KAAK,SAAS;YACZ,OAAOxC,MAAM,CAACmE,SAAS,CAAC1D,KAAA,CAAKyC,KAAK,CAAC;UACrC,KAAK,QAAQ;YACX,OAAOlD,MAAM,CAACoE,eAAe,CAAC3D,KAAA,CAAKyC,KAAK,CAAC;UAC3C,KAAK,SAAS;YACZ,OAAOlD,MAAM,CAACqE,gBAAgB,CAAC5D,KAAA,CAAKyC,KAAK,CAAC;UAC5C,KAAK,QAAQ;YACX,OAAOlD,MAAM,CAACsE,eAAe,CAAC7D,KAAA,CAAKyC,KAAK,CAAC;QAC7C;MACF,CAAC;MACD,IAAMqB,SAAS,GAAAC,QAAA;MACVrB,IAAI;QACPK,SAAS,EAAE7D,EAAE,EAAAyC,GAAA,OAAAA,GAAA;QACVpC,MAAM,CAACI,IAAI,CAACK,KAAA,CAAKyC,KAAK,CAAC,IAAG,IAAI,EAAAd,GAAA;QAC9B9C,WAAW,CAAC,CAAC,IAAGsD,IAAI,KAAK,QAAQ,EAAAR,GAAA;QACjCpC,MAAM,CAACyE,KAAK,CAAChE,KAAA,CAAKyC,KAAK,CAAC,IAAGO,SAAS,EAAArB,GAAA;QACpCpC,MAAM,CAACqC,QAAQ,CAAC5B,KAAA,CAAKyC,KAAK,CAAC,IAAGb,QAAQ,IAAII,OAAO,EAAAL,GAAA;QACjD0B,YAAY,CAAC,CAAC,IAAG,IAAI,EAAA1B,GAAA;QACrBpC,MAAM,CAAC0E,cAAc,CAACjE,KAAA,CAAKyC,KAAK,CAAC,IAAGV,GAAG,KAAK,QAAQ,IAAIO,OAAO,EAAAX,GAAA;QAC/DpC,MAAM,CAAC2E,MAAM,CAAClE,KAAA,CAAKyC,KAAK,CAAC,IAAG,CAAC,CAACR,OAAO,EAAAN,GAAA;QACrCpC,MAAM,CAAC4E,YAAY,CAACnE,KAAA,CAAKyC,KAAK,CAAC,IAAG,CAAC,CAACP,aAAa,EAAAP,GAAA;QACjDpC,MAAM,CAACiD,OAAO,CAACxC,KAAA,CAAKyC,KAAK,CAAC,IAAGD,OAAO,EAAAb,GAAA;QACpCpC,MAAM,CAACgD,KAAK,CAACvC,KAAA,CAAKyC,KAAK,CAAC,IAAGF,KAAK,EAAAZ,GAAA;QAChC8B,qBAAqB,CAAC,CAAC,IAAGT,SAAS,EAAArB,GAAA;QACrC,CAAC;QACFyC,OAAO,EAAEpE,KAAA,CAAKqE,WAAW;QACzBC,OAAO,EAAEtE,KAAA,CAAKuE,WAAW;QACzBC,MAAM,EAAExE,KAAA,CAAKyE,UAAU;QACvBvD,QAAQ,EAAElB,KAAA,CAAKc,WAAW,CAAC,EAAEE,cAAc,EAAdA,cAAc,EAAEE,QAAQ,EAARA,QAAQ,CAAC,CAAC,CAAC;QACxDK,GAAG,EAAEvB,KAAA,CAAKmB,MAAM,CAAC,CAAC,GACnB;;;MAED;QACExC,KAAA,CAAAmE,aAAA,CAACX,IAAI,EAAA4B,QAAA,GAAC,YAAUrE,YAAY,CAACC,IAAK,IAAKmE,SAAS,EAAMxE,4BAA4B,CAAC,EAAEsC,QAAQ,EAARA,QAAQ,CAAC,CAAC,CAAC;QAC7FqB,eAAe;QACfjD,KAAA,CAAKqB,KAAK,CAACqD,QAAQ;QACnBvB,gBAAgB;QAChBN;QACG,CAAC;;IAEX,CAAC,CAAA7C,KAAA;;IAEOuE,WAAW,GAAG,YAAM;MAC1B,IAAI,CAACvE,KAAA,CAAKqB,KAAK,CAACO,QAAQ,EAAE;QACxB;QACA;QACAhD,YAAY,CAAC+F,qBAAqB,YAAlC/F,YAAY,CAAC+F,qBAAqB,CAAG,YAAM;UACzC,IAAI7F,WAAW,CAAC8F,YAAY,EAAE;YAC5B5E,KAAA,CAAK6E,QAAQ,CAAC,EAAEhE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;UACvC;QACF,CAAC,CAAC;MACJ;IACF,CAAC,CAAAb,KAAA;;IAEOyE,UAAU,GAAG,YAAM;MACzBzE,KAAA,CAAK6E,QAAQ,CAAC,EAAEhE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;IACxC,CAAC,CAAAb,KAAA;;IAEOqE,WAAW,GAAG,UAACS,KAAuB,EAAK;MACjD,IAAAC,YAAA,GAAuC/E,KAAA,CAAKqB,KAAK,CAAzC+C,OAAO,GAAAW,YAAA,CAAPX,OAAO,CAAExC,QAAQ,GAAAmD,YAAA,CAARnD,QAAQ,CAAEI,OAAO,GAAA+C,YAAA,CAAP/C,OAAO;;MAElC,IAAIoC,OAAO,IAAI,CAACxC,QAAQ,IAAI,CAACI,OAAO,EAAE;QACpCoC,OAAO,CAACU,KAAK,CAAC;MAChB;IACF,CAAC,QAAA9E,KAAA,EAAAgF,cAAA,CAAApF,IAAA,EAAAG,gBAAA,MAAAkF,MAAA,GAAArF,IAAA,CAAAsF,SAAA,CAAAD,MAAA,CAjJME,MAAM,GAAb,SAAAA,OAAA,EAA6B,KAAAC,MAAA,QAC3B,oBACEzG,KAAA,CAAAmE,aAAA,CAAC/D,YAAY,CAACsG,QAAQ,QACnB,UAAC5C,KAAK,EAAK,CACV2C,MAAI,CAAC3C,KAAK,GAAG2C,MAAI,CAAC/D,KAAK,CAACoB,KAAK,GAAGpD,YAAY,CAACiG,MAAM,CAACF,MAAI,CAAC/D,KAAK,CAACoB,KAAK,EAAWA,KAAK,CAAC,GAAGA,KAAK,CAC7F,oBACE9D,KAAA,CAAAmE,aAAA,CAAC7D,aAAa,EAAA8E,QAAA,GAACwB,WAAW,EAAEH,MAAI,CAACI,WAAY,IAAKJ,MAAI,CAAC1E,QAAQ,CAAC,CAAC,GAC9D0E,MAAI,CAAC1D,UACO,CAAC,CAEpB,CACqB,CAAC,CAE5B,CAAC,QAAA9B,IAAA,GAlC0FjB,KAAK,CAAC8G,SAAS,GAAA3F,KAAA,CAI5F4F,mBAAmB,GAAG,MAAM,EAAA5F,KAAA,CAC5B6F,WAAW,GAAG,MAAM,EAAA7F,KAAA,CAEpBa,YAAY,GAAiB,EACzCoB,GAAG,EAAE,SAAS,EACdK,SAAS,EAAE3C,sBAAsB,CACnC,CAAC,EAAAK,KAAA,MAAAD,MAAA;;;AA+JH,IAAMuB,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAAqB,EAA8B;EACxE,OAAOA,KAAK,CAACe,SAAS,KAAK,GAAG;AAChC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","globalObject","resetButton","keyListener","ThemeContext","isExternalLink","CommonWrapper","cx","rootNode","createPropsGetter","ThemeFactory","getVisualStateDataAttributes","styles","LinkIcon","LINK_DEFAULT_COMPONENT","LinkDataTids","root","Link","_class","_Link","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","focusedByTab","getTabIndex","_ref","nonInteractive","_ref$tabIndex","tabIndex","getRel","isAnchorProps","props","_this$props","rel","href","undefined","renderMain","_cx","disabled","icon","rightIcon","use","loading","_button","_buttonOpened","Root","component","_props$focused","focused","error","warning","theme","rest","_objectWithoutPropertiesLoose","_excluded","arrow","createElement","className","isFocused","leftIconElement","position","rightIconElement","hasBothIcons","getUseStyles","danger","success","grayed","getUseLineFocusStyles","lineFocus","lineFocusDanger","lineFocusSuccess","lineFocusGrayed","rootProps","_extends","focus","useGrayedFocus","button","buttonOpened","onClick","handleClick","onFocus","handleFocus","onBlur","handleBlur","children","requestAnimationFrame","isTabPressed","setState","event","_this$props2","_inheritsLoose","_proto","prototype","render","_this2","Consumer","create","rootNodeRef","setRootNode","Component","__KONTUR_REACT_UI__","displayName"],"sources":["Link.tsx"],"sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ButtonLinkAllowedValues } from '../../lib/types/button-link';\nimport { resetButton } from '../../lib/styles/Mixins';\nimport { PolymorphicPropsWithoutRef } from '../../lib/types/polymorphic-component';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isExternalLink } from '../../lib/utils';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter, DefaultizedProps } from '../../lib/createPropsGetter';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './Link.styles';\nimport { LinkIcon } from './LinkIcon';\n\nexport interface LinkInnerProps extends CommonProps {\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Добавляет иконку слева. */\n icon?: React.ReactElement;\n\n /** Добавляет иконку справа. */\n rightIcon?: React.ReactElement;\n\n /** Задает тему ссылки. */\n use?: 'default' | 'success' | 'danger' | 'grayed';\n\n /** @ignore */\n _button?: boolean;\n\n /** @ignore */\n _buttonOpened?: boolean;\n\n /** Задает HTML-атрибут `tabindex`. */\n tabIndex?: number;\n\n /** Переводит кнопку в состояние загрузки. */\n loading?: boolean;\n\n /** Задает объект с переменными темы. Он будет объединён с темой из контекста. */\n theme?: ThemeIn;\n\n /** Задает состояние фокуса.\n * @ignore */\n focused?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n}\n\nconst LINK_DEFAULT_COMPONENT = 'a';\n\nexport type LinkProps<C extends ButtonLinkAllowedValues = typeof LINK_DEFAULT_COMPONENT> = PolymorphicPropsWithoutRef<\n LinkInnerProps,\n C\n>;\nexport interface LinkState {\n focusedByTab: boolean;\n}\n\nexport const LinkDataTids = {\n root: 'Link__root',\n} as const;\n\ntype DefaultProps = Required<Pick<LinkProps<ButtonLinkAllowedValues>, 'use' | 'component'>>;\ntype DefaultizedLinkProps = DefaultizedProps<LinkProps<ButtonLinkAllowedValues>, DefaultProps>;\n\n/**\n * Элемент ссылки из HTML.\n */\n@rootNode\nexport class Link<C extends ButtonLinkAllowedValues = typeof LINK_DEFAULT_COMPONENT> extends React.Component<\n LinkProps<C>,\n LinkState\n> {\n public static __KONTUR_REACT_UI__ = 'Link';\n public static displayName = 'Link';\n\n public static defaultProps: DefaultProps = {\n use: 'default',\n component: LINK_DEFAULT_COMPONENT,\n };\n\n private getProps = createPropsGetter(Link.defaultProps);\n\n public state: LinkState = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render(): JSX.Element {\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 <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getTabIndex = ({\n nonInteractive,\n tabIndex = 0,\n }: {\n nonInteractive: boolean | undefined;\n tabIndex: number | undefined;\n }) => {\n return nonInteractive ? -1 : tabIndex;\n };\n\n private getRel = () => {\n if (isAnchorProps(this.props)) {\n const { rel, href } = this.props;\n if (!rel && href) {\n return `noopener${isExternalLink(href) ? ' noreferrer' : ''}`;\n }\n return rel;\n }\n\n return undefined;\n };\n\n private renderMain = (props: CommonWrapperRestProps<DefaultizedLinkProps>) => {\n const {\n disabled,\n icon,\n rightIcon,\n use,\n loading,\n _button,\n _buttonOpened,\n component: Root,\n focused = false,\n error,\n warning,\n tabIndex,\n theme,\n ...rest\n } = props;\n\n let arrow = null;\n if (_button) {\n arrow = <span className={styles.arrow()} />;\n }\n\n const isFocused = !disabled && (this.state.focusedByTab || focused);\n\n const leftIconElement = icon && <LinkIcon icon={icon} loading={loading} position=\"left\" />;\n const rightIconElement = rightIcon && (\n <LinkIcon hasBothIcons={!!icon && !!rightIcon} icon={rightIcon} loading={loading} position=\"right\" />\n );\n const nonInteractive = disabled || loading;\n const getUseStyles = () => {\n switch (use) {\n case 'default':\n return styles.default(this.theme);\n case 'danger':\n return styles.danger(this.theme);\n case 'success':\n return styles.success(this.theme);\n case 'grayed':\n return styles.grayed(this.theme);\n }\n };\n const getUseLineFocusStyles = () => {\n switch (use) {\n case 'default':\n return styles.lineFocus(this.theme);\n case 'danger':\n return styles.lineFocusDanger(this.theme);\n case 'success':\n return styles.lineFocusSuccess(this.theme);\n case 'grayed':\n return styles.lineFocusGrayed(this.theme);\n }\n };\n const rootProps = {\n ...rest,\n className: cx({\n [styles.root(this.theme)]: true,\n [resetButton()]: Root === 'button',\n [styles.focus(this.theme)]: isFocused,\n [styles.disabled(this.theme)]: disabled || loading,\n [getUseStyles()]: true,\n [styles.useGrayedFocus(this.theme)]: use === 'grayed' && focused,\n [styles.button(this.theme)]: !!_button,\n [styles.buttonOpened(this.theme)]: !!_buttonOpened,\n [styles.warning(this.theme)]: warning,\n [styles.error(this.theme)]: error,\n [getUseLineFocusStyles()]: isFocused,\n }),\n onClick: this.handleClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n tabIndex: this.getTabIndex({ nonInteractive, tabIndex }),\n rel: this.getRel(),\n };\n\n return (\n <Root data-tid={LinkDataTids.root} {...rootProps} {...getVisualStateDataAttributes({ disabled })}>\n {leftIconElement}\n {this.props.children}\n {rightIconElement}\n {arrow}\n </Root>\n );\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({ focusedByTab: false });\n };\n\n private handleClick = (event: React.MouseEvent) => {\n const { onClick, disabled, loading } = this.props;\n\n if (onClick && !disabled && !loading) {\n onClick(event);\n }\n };\n}\n\nconst isAnchorProps = (props: LinkProps<any>): props is LinkProps<'a'> => {\n return props.component === 'a';\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,54 +4,30 @@ import { PolymorphicPropsWithoutRef } from '../../lib/types/polymorphic-componen
|
|
|
4
4
|
import { ThemeIn } from '../../lib/theming/Theme';
|
|
5
5
|
import { CommonProps } from '../../internal/CommonWrapper';
|
|
6
6
|
export interface LinkInnerProps extends CommonProps {
|
|
7
|
-
/**
|
|
8
|
-
* Отключенное состояние.
|
|
9
|
-
*/
|
|
7
|
+
/** Делает компонент недоступным. */
|
|
10
8
|
disabled?: boolean;
|
|
11
|
-
/**
|
|
12
|
-
* Добавляет ссылке иконку слева.
|
|
13
|
-
*/
|
|
9
|
+
/** Добавляет иконку слева. */
|
|
14
10
|
icon?: React.ReactElement;
|
|
15
|
-
/**
|
|
16
|
-
* Добавляет ссылке иконку справа.
|
|
17
|
-
*/
|
|
11
|
+
/** Добавляет иконку справа. */
|
|
18
12
|
rightIcon?: React.ReactElement;
|
|
19
|
-
/**
|
|
20
|
-
* Тема ссылки.
|
|
21
|
-
*/
|
|
13
|
+
/** Задает тему ссылки. */
|
|
22
14
|
use?: 'default' | 'success' | 'danger' | 'grayed';
|
|
23
|
-
/**
|
|
24
|
-
* @ignore
|
|
25
|
-
*/
|
|
15
|
+
/** @ignore */
|
|
26
16
|
_button?: boolean;
|
|
27
|
-
/**
|
|
28
|
-
* @ignore
|
|
29
|
-
*/
|
|
17
|
+
/** @ignore */
|
|
30
18
|
_buttonOpened?: boolean;
|
|
31
|
-
/**
|
|
32
|
-
* HTML-атрибут `tabindex`.
|
|
33
|
-
*/
|
|
19
|
+
/** Задает HTML-атрибут `tabindex`. */
|
|
34
20
|
tabIndex?: number;
|
|
35
|
-
/**
|
|
36
|
-
* Переводит ссылку в состояние загрузки.
|
|
37
|
-
*/
|
|
21
|
+
/** Переводит кнопку в состояние загрузки. */
|
|
38
22
|
loading?: boolean;
|
|
39
|
-
/**
|
|
40
|
-
* Обычный объект с переменными темы.
|
|
41
|
-
* Он будет объединён с темой из контекста.
|
|
42
|
-
*/
|
|
23
|
+
/** Задает объект с переменными темы. Он будет объединён с темой из контекста. */
|
|
43
24
|
theme?: ThemeIn;
|
|
44
|
-
/**
|
|
45
|
-
* @ignore
|
|
46
|
-
*/
|
|
25
|
+
/** Задает состояние фокуса.
|
|
26
|
+
* @ignore */
|
|
47
27
|
focused?: boolean;
|
|
48
|
-
/**
|
|
49
|
-
* Состояние валидации при ошибке.
|
|
50
|
-
*/
|
|
28
|
+
/** Переводит контрол в состояние валидации "ошибка". */
|
|
51
29
|
error?: boolean;
|
|
52
|
-
/**
|
|
53
|
-
* Состояние валидации при предупреждении.
|
|
54
|
-
*/
|
|
30
|
+
/** Переводит контрол в состояние валидации "предупреждение". */
|
|
55
31
|
warning?: boolean;
|
|
56
32
|
}
|
|
57
33
|
declare const LINK_DEFAULT_COMPONENT = "a";
|
package/components/Link/Link.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
### Базовый пример
|
|
2
2
|
|
|
3
3
|
```jsx harmony
|
|
4
4
|
<Link href="https://kontur.ru" target="_blank">Обычная ссылка</Link>
|
|
5
5
|
```
|
|
6
6
|
|
|
7
|
+
### Корневой элемент
|
|
7
8
|
Cсылка может рендерить кнопку в качестве корневого элемента, c помощью пропа `component`. Cсылка принимает все пропы переданного в `component` компонента.
|
|
8
|
-
|
|
9
9
|
Рекомендуется к использованию вместо кнопки с `use=link`, если нужна кнопка с визуалом ссылки.
|
|
10
10
|
|
|
11
11
|
```jsx harmony
|
|
@@ -14,7 +14,8 @@ import { Link } from '@skbkontur/react-ui';
|
|
|
14
14
|
<Link component='button'>Кнопка, но выглядит как ссылка</Link>
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
### Проп `component`
|
|
18
|
+
С помощью пропа `component`, ссылка может рендерить компонент `Link` из `react router` в качестве корневого элемента.
|
|
18
19
|
|
|
19
20
|
```jsx static
|
|
20
21
|
import { Link } from '@skbkontur/react-ui';
|
|
@@ -25,7 +26,7 @@ import { Link as RouterLink, BrowserRouter } from 'react-router-dom';
|
|
|
25
26
|
</BrowserRouter>
|
|
26
27
|
```
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
### Стили и disabled
|
|
29
30
|
|
|
30
31
|
```jsx harmony
|
|
31
32
|
import { Gapped } from '@skbkontur/react-ui';
|
|
@@ -39,7 +40,7 @@ import { Gapped } from '@skbkontur/react-ui';
|
|
|
39
40
|
</Gapped>;
|
|
40
41
|
```
|
|
41
42
|
|
|
42
|
-
|
|
43
|
+
### Иконка
|
|
43
44
|
|
|
44
45
|
```jsx harmony
|
|
45
46
|
import { Gapped } from '@skbkontur/react-ui';
|
|
@@ -52,7 +53,7 @@ import { CheckAIcon16Light } from '@skbkontur/icons/CheckAIcon16Light';
|
|
|
52
53
|
</Gapped>
|
|
53
54
|
```
|
|
54
55
|
|
|
55
|
-
|
|
56
|
+
### Ссылки, ведущие на внешние ресурсы
|
|
56
57
|
|
|
57
58
|
_Примечание_:
|
|
58
59
|
|
|
@@ -73,7 +74,7 @@ import { Gapped } from '@skbkontur/react-ui';
|
|
|
73
74
|
</Gapped>
|
|
74
75
|
```
|
|
75
76
|
|
|
76
|
-
|
|
77
|
+
### Состояние загрузки
|
|
77
78
|
|
|
78
79
|
**Поведение**: если у ссылки есть иконка, она заменяется на спиннер, когда иконки две заменяется только левая.
|
|
79
80
|
|
|
@@ -94,7 +95,7 @@ const [isLoading, setIsLoading] = React.useState(false);
|
|
|
94
95
|
</Gapped>
|
|
95
96
|
```
|
|
96
97
|
|
|
97
|
-
|
|
98
|
+
### Кастомное действие при нажатии
|
|
98
99
|
|
|
99
100
|
```jsx harmony
|
|
100
101
|
import { Toast } from '@skbkontur/react-ui';
|
|
@@ -102,7 +103,7 @@ import { Toast } from '@skbkontur/react-ui';
|
|
|
102
103
|
<Link onClick={() => Toast.push("Ты нажал на ссылку!")}>Ссылка с кастомным действием</Link>
|
|
103
104
|
```
|
|
104
105
|
|
|
105
|
-
|
|
106
|
+
### Проп `theme`
|
|
106
107
|
|
|
107
108
|
```jsx harmony
|
|
108
109
|
import { Link, Gapped } from '@skbkontur/react-ui';
|
|
@@ -114,7 +115,7 @@ import { Link, Gapped } from '@skbkontur/react-ui';
|
|
|
114
115
|
```
|
|
115
116
|
|
|
116
117
|
|
|
117
|
-
|
|
118
|
+
### Кастомизация ссылки
|
|
118
119
|
|
|
119
120
|
```jsx harmony
|
|
120
121
|
import { Toast, Button } from "@skbkontur/react-ui";
|
|
@@ -153,7 +154,7 @@ const tdStyle = {
|
|
|
153
154
|
padding: '8px',
|
|
154
155
|
};
|
|
155
156
|
|
|
156
|
-
const renderExampleRow = (title, styles
|
|
157
|
+
const renderExampleRow = (title, styles) => {
|
|
157
158
|
return (
|
|
158
159
|
<tr>
|
|
159
160
|
<td style={tdStyle}>{title}</td>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as LinkStories from './Link.docs.stories.tsx';
|
|
2
|
+
import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
|
|
3
|
+
import { Meta } from '../../../.storybook/Meta';
|
|
4
|
+
|
|
5
|
+
<Meta of={LinkStories} />
|
|
6
|
+
|
|
7
|
+
# Link
|
|
8
|
+
|
|
9
|
+
[Компонент в Контур.Гайдах](https://guides.kontur.ru/components/actions/hyperlink/)
|
|
10
|
+
|
|
11
|
+
[Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI?type=design&node-id=953%3A23703&mode=design&t=os7wLLJCaKzU1UFM-1)
|
|
12
|
+
|
|
13
|
+
<Description />
|
|
14
|
+
|
|
15
|
+
## Базовый пример
|
|
16
|
+
|
|
17
|
+
<Primary />
|
|
18
|
+
|
|
19
|
+
## Пропы
|
|
20
|
+
|
|
21
|
+
<details>
|
|
22
|
+
<summary>Открыть таблицу с пропами</summary>
|
|
23
|
+
<ArgTypes />
|
|
24
|
+
</details>
|
|
25
|
+
|
|
26
|
+
## Примеры использования
|
|
27
|
+
|
|
28
|
+
<Stories title="" includePrimary={false} />
|
|
@@ -25,9 +25,9 @@ export var LoaderDataTids = {
|
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
|
-
* Компонент `Loader` принимает внутрь себя контент, поверх которого в активном состоянии `Loader`'а будет отрисован
|
|
28
|
+
* Компонент `Loader` принимает внутрь себя контент, поверх которого в активном состоянии `Loader`'а будет отрисован спиннер.
|
|
29
29
|
*
|
|
30
|
-
* Если вам нужен только сам спиннер без
|
|
30
|
+
* Если вам нужен только сам спиннер без дополнительного функционала - используйте компонент Spinner.
|
|
31
31
|
*/
|
|
32
32
|
export var Loader = rootNode(_class = (_Loader = /*#__PURE__*/function (_React$Component) {
|
|
33
33
|
function Loader(props) {
|