@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","globalObject","ThemeContext","CommonWrapper","cx","keyListener","rootNode","fixFirefoxModifiedClickOnLabel","isEdge","isIE11","RadioGroupContext","createPropsGetter","FocusControlWrapper","styles","globalClasses","RadioDataTids","root","Radio","_class","_Radio","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","focusedByKeyboard","getProps","defaultProps","context","inputEl","createRef","renderMain","props","_cx","_cx2","_props$disabled","disabled","_props$warning","warning","_props$error","error","size","focused","onMouseOver","onMouseEnter","onMouseLeave","onValueChange","rest","_objectWithoutPropertiesLoose","_excluded","radioProps","className","circle","theme","getCircleSizeClassName","checked","getCheckedSizeClassName","focus","checkedDisabled","value","inputProps","_extends","type","input","tabIndex","ref","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","labelProps","getRootSizeClassName","rootChecked","rootIE11","handleMouseOver","handleMouseEnter","handleMouseLeave","onClick","_isInRadioGroup","_cx3","_cx4","activeItem","name","suppressHydrationWarning","createElement","onBlurWhenDisabled","resetFocus","placeholder","children","renderCaption","Boolean","e","onSelect","requestAnimationFrame","isArrowPressed","isTabPressed","setState","_inheritsLoose","_proto","prototype","rootLarge","rootMedium","rootSmall","circleLarge","circleMedium","circleSmall","checkedLarge","checkedMedium","checkedSmall","render","_this2","Consumer","rootNodeRef","setRootNode","_this$inputEl$current","current","blur","_this$inputEl$current2","_cx5","captionClassNames","caption","captionDisabled","captionIE11","Component","__KONTUR_REACT_UI__","displayName","contextType"],"sources":["Radio.tsx"],"sourcesContent":["import React, { AriaAttributes } from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { RadioGroupContext, RadioGroupContextType } from '../RadioGroup/RadioGroupContext';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { styles, globalClasses } from './Radio.styles';\n\nexport interface RadioProps<T>\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /**\n * Размер\n */\n size?: SizeProp;\n /**\n * Состояние фокуса.\n */\n focused?: boolean;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: T) => void;\n /**\n * HTML-событие `onmouseenter`\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `onmouseover`\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-атрибут `value`.\n */\n value: T;\n }\n > {}\n\nexport interface RadioState {\n focusedByKeyboard: boolean;\n}\n\nexport const RadioDataTids = {\n root: 'Radio__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioProps<any>, 'focused' | 'size'>>;\n\n/**\n * Радио-кнопки используются, когда может быть выбран только один вариант из нескольких.\n */\n@rootNode\nexport class Radio<T> extends React.Component<RadioProps<T>, RadioState> {\n public static __KONTUR_REACT_UI__ = 'Radio';\n public static displayName = 'Radio';\n\n public state = {\n focusedByKeyboard: false,\n };\n\n public static defaultProps: DefaultProps = {\n focused: false,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Radio.defaultProps);\n\n public static contextType = RadioGroupContext;\n public context: RadioGroupContextType<T> = this.context;\n\n private inputEl = React.createRef<HTMLInputElement>();\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getCircleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.circleLarge(this.theme);\n case 'medium':\n return styles.circleMedium(this.theme);\n case 'small':\n default:\n return styles.circleSmall(this.theme);\n }\n }\n\n private getCheckedSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.checkedLarge(this.theme);\n case 'medium':\n return styles.checkedMedium(this.theme);\n case 'small':\n default:\n return styles.checkedSmall(this.theme);\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.inputEl.current?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.inputEl.current?.blur();\n }\n\n public renderMain = (props: CommonWrapperRestProps<RadioProps<T>>) => {\n const {\n disabled = this.context.disabled,\n warning = this.context.warning,\n error = this.context.error,\n size,\n focused,\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n onValueChange,\n ...rest\n } = props;\n\n const radioProps = {\n className: cx({\n [styles.circle(this.theme)]: true,\n [this.getCircleSizeClassName()]: true,\n [styles.checked(this.theme)]: this.props.checked,\n [this.getCheckedSizeClassName()]: this.props.checked,\n [styles.focus(this.theme)]: this.getProps().focused || this.state.focusedByKeyboard,\n [styles.error(this.theme)]: error,\n [styles.warning(this.theme)]: warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.checkedDisabled(this.theme)]: this.props.checked && disabled,\n [globalClasses.circle]: true,\n }),\n };\n\n let value: string | number | undefined;\n if (typeof this.props.value === 'string' || typeof this.props.value === 'number') {\n value = this.props.value;\n }\n\n const inputProps = {\n ...rest,\n type: 'radio',\n className: styles.input(),\n disabled,\n tabIndex: this.props.tabIndex,\n value,\n ref: this.inputEl,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n };\n\n const labelProps = {\n className: cx(styles.root(this.theme), this.getRootSizeClassName(), {\n [styles.rootChecked(this.theme)]: this.props.checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n }),\n onMouseOver: this.handleMouseOver,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n onClick: fixFirefoxModifiedClickOnLabel(this.inputEl),\n };\n\n if (this._isInRadioGroup()) {\n const checked = this.props.value === this.context.activeItem;\n inputProps.checked = checked;\n inputProps.name = this.context.name;\n inputProps.suppressHydrationWarning = true;\n labelProps.className = cx(styles.root(this.theme), this.getRootSizeClassName(), {\n [styles.rootChecked(this.theme)]: checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n });\n radioProps.className = cx(radioProps.className, {\n [styles.checked(this.theme)]: checked,\n [this.getCheckedSizeClassName()]: checked,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n });\n }\n\n return (\n <label data-tid={RadioDataTids.root} {...labelProps}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input {...inputProps} />\n </FocusControlWrapper>\n <span {...radioProps}>\n <span className={styles.placeholder()} />\n </span>\n {this.props.children && this.renderCaption()}\n </label>\n );\n };\n\n private _isInRadioGroup = () => Boolean(this.context.name);\n\n private renderCaption() {\n const captionClassNames = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionDisabled(this.theme)]: !!(this.props.disabled || this.context.disabled),\n [styles.captionIE11()]: isIE11 || isEdge,\n });\n\n return <div className={captionClassNames}>{this.props.children}</div>;\n }\n\n private handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n this.props.onValueChange?.(this.props.value);\n\n if (this._isInRadioGroup()) {\n this.context.onSelect(this.props.value);\n }\n\n this.props.onChange?.(e);\n };\n\n private handleMouseOver: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseOver?.(e);\n };\n\n private handleMouseEnter: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseEnter?.(e);\n };\n\n private handleMouseLeave: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseLeave?.(e);\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.context.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isArrowPressed || keyListener.isTabPressed) {\n this.setState({ focusedByKeyboard: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private resetFocus = () => this.setState({ focusedByKeyboard: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(e);\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","globalObject","ThemeContext","CommonWrapper","cx","keyListener","rootNode","fixFirefoxModifiedClickOnLabel","isEdge","isIE11","RadioGroupContext","createPropsGetter","FocusControlWrapper","styles","globalClasses","RadioDataTids","root","Radio","_class","_Radio","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","focusedByKeyboard","getProps","defaultProps","context","inputEl","createRef","renderMain","props","_cx","_cx2","_props$disabled","disabled","_props$warning","warning","_props$error","error","size","focused","onMouseOver","onMouseEnter","onMouseLeave","onValueChange","rest","_objectWithoutPropertiesLoose","_excluded","radioProps","className","circle","theme","getCircleSizeClassName","checked","getCheckedSizeClassName","focus","checkedDisabled","value","inputProps","_extends","type","input","tabIndex","ref","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","labelProps","getRootSizeClassName","rootChecked","rootIE11","handleMouseOver","handleMouseEnter","handleMouseLeave","onClick","_isInRadioGroup","_cx3","_cx4","activeItem","name","suppressHydrationWarning","createElement","onBlurWhenDisabled","resetFocus","placeholder","children","renderCaption","Boolean","e","onSelect","requestAnimationFrame","isArrowPressed","isTabPressed","setState","_inheritsLoose","_proto","prototype","rootLarge","rootMedium","rootSmall","circleLarge","circleMedium","circleSmall","checkedLarge","checkedMedium","checkedSmall","render","_this2","Consumer","rootNodeRef","setRootNode","_this$inputEl$current","current","blur","_this$inputEl$current2","_cx5","captionClassNames","caption","captionDisabled","captionIE11","Component","__KONTUR_REACT_UI__","displayName","contextType"],"sources":["Radio.tsx"],"sourcesContent":["import React, { AriaAttributes } from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { RadioGroupContext, RadioGroupContextType } from '../RadioGroup/RadioGroupContext';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { styles, globalClasses } from './Radio.styles';\n\nexport interface RadioProps<T>\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает размер. */\n size?: SizeProp;\n\n /** Задает состояние фокуса. */\n focused?: boolean;\n\n /** Задает функцию, которая вызывается при изменении value. */\n onValueChange?: (value: T) => void;\n\n /** Задает HTML-событие `onmouseenter`.\n * @ignore */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Задает HTML-событие `onmouseleave`.\n * @ignore */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Задает HTML-событие `onmouseover`.\n * @ignore */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Устанавливает значение. */\n value: T;\n }\n > {}\n\nexport interface RadioState {\n focusedByKeyboard: boolean;\n}\n\nexport const RadioDataTids = {\n root: 'Radio__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioProps<any>, 'focused' | 'size'>>;\n\n/**\n * Радио-кнопки `Radio` используются, когда может быть выбран только один вариант из нескольких.\n */\n@rootNode\nexport class Radio<T> extends React.Component<RadioProps<T>, RadioState> {\n public static __KONTUR_REACT_UI__ = 'Radio';\n public static displayName = 'Radio';\n\n public state = {\n focusedByKeyboard: false,\n };\n\n public static defaultProps: DefaultProps = {\n focused: false,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Radio.defaultProps);\n\n public static contextType = RadioGroupContext;\n public context: RadioGroupContextType<T> = this.context;\n\n private inputEl = React.createRef<HTMLInputElement>();\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getCircleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.circleLarge(this.theme);\n case 'medium':\n return styles.circleMedium(this.theme);\n case 'small':\n default:\n return styles.circleSmall(this.theme);\n }\n }\n\n private getCheckedSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.checkedLarge(this.theme);\n case 'medium':\n return styles.checkedMedium(this.theme);\n case 'small':\n default:\n return styles.checkedSmall(this.theme);\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.inputEl.current?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.inputEl.current?.blur();\n }\n\n public renderMain = (props: CommonWrapperRestProps<RadioProps<T>>) => {\n const {\n disabled = this.context.disabled,\n warning = this.context.warning,\n error = this.context.error,\n size,\n focused,\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n onValueChange,\n ...rest\n } = props;\n\n const radioProps = {\n className: cx({\n [styles.circle(this.theme)]: true,\n [this.getCircleSizeClassName()]: true,\n [styles.checked(this.theme)]: this.props.checked,\n [this.getCheckedSizeClassName()]: this.props.checked,\n [styles.focus(this.theme)]: this.getProps().focused || this.state.focusedByKeyboard,\n [styles.error(this.theme)]: error,\n [styles.warning(this.theme)]: warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.checkedDisabled(this.theme)]: this.props.checked && disabled,\n [globalClasses.circle]: true,\n }),\n };\n\n let value: string | number | undefined;\n if (typeof this.props.value === 'string' || typeof this.props.value === 'number') {\n value = this.props.value;\n }\n\n const inputProps = {\n ...rest,\n type: 'radio',\n className: styles.input(),\n disabled,\n tabIndex: this.props.tabIndex,\n value,\n ref: this.inputEl,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n };\n\n const labelProps = {\n className: cx(styles.root(this.theme), this.getRootSizeClassName(), {\n [styles.rootChecked(this.theme)]: this.props.checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n }),\n onMouseOver: this.handleMouseOver,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n onClick: fixFirefoxModifiedClickOnLabel(this.inputEl),\n };\n\n if (this._isInRadioGroup()) {\n const checked = this.props.value === this.context.activeItem;\n inputProps.checked = checked;\n inputProps.name = this.context.name;\n inputProps.suppressHydrationWarning = true;\n labelProps.className = cx(styles.root(this.theme), this.getRootSizeClassName(), {\n [styles.rootChecked(this.theme)]: checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n });\n radioProps.className = cx(radioProps.className, {\n [styles.checked(this.theme)]: checked,\n [this.getCheckedSizeClassName()]: checked,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n });\n }\n\n return (\n <label data-tid={RadioDataTids.root} {...labelProps}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input {...inputProps} />\n </FocusControlWrapper>\n <span {...radioProps}>\n <span className={styles.placeholder()} />\n </span>\n {this.props.children && this.renderCaption()}\n </label>\n );\n };\n\n private _isInRadioGroup = () => Boolean(this.context.name);\n\n private renderCaption() {\n const captionClassNames = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionDisabled(this.theme)]: !!(this.props.disabled || this.context.disabled),\n [styles.captionIE11()]: isIE11 || isEdge,\n });\n\n return <div className={captionClassNames}>{this.props.children}</div>;\n }\n\n private handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n this.props.onValueChange?.(this.props.value);\n\n if (this._isInRadioGroup()) {\n this.context.onSelect(this.props.value);\n }\n\n this.props.onChange?.(e);\n };\n\n private handleMouseOver: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseOver?.(e);\n };\n\n private handleMouseEnter: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseEnter?.(e);\n };\n\n private handleMouseLeave: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseLeave?.(e);\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.context.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isArrowPressed || keyListener.isTabPressed) {\n this.setState({ focusedByKeyboard: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private resetFocus = () => this.setState({ focusedByKeyboard: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(e);\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,41 +4,26 @@ import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrappe
|
|
|
4
4
|
import { RadioGroupContextType } from '../RadioGroup/RadioGroupContext';
|
|
5
5
|
import { SizeProp } from '../../lib/types/props';
|
|
6
6
|
export interface RadioProps<T> extends Pick<AriaAttributes, 'aria-label'>, CommonProps, Override<React.InputHTMLAttributes<HTMLInputElement>, {
|
|
7
|
-
/**
|
|
8
|
-
* Состояние валидации при ошибке.
|
|
9
|
-
*/
|
|
7
|
+
/** Переводит контрол в состояние валидации "ошибка". */
|
|
10
8
|
error?: boolean;
|
|
11
|
-
/**
|
|
12
|
-
* Состояние валидации при предупреждении.
|
|
13
|
-
*/
|
|
9
|
+
/** Переводит контрол в состояние валидации "предупреждение". */
|
|
14
10
|
warning?: boolean;
|
|
15
|
-
/**
|
|
16
|
-
* Размер
|
|
17
|
-
*/
|
|
11
|
+
/** Задает размер. */
|
|
18
12
|
size?: SizeProp;
|
|
19
|
-
/**
|
|
20
|
-
* Состояние фокуса.
|
|
21
|
-
*/
|
|
13
|
+
/** Задает состояние фокуса. */
|
|
22
14
|
focused?: boolean;
|
|
23
|
-
/**
|
|
24
|
-
* Функция, вызываемая при изменении `value`.
|
|
25
|
-
*/
|
|
15
|
+
/** Задает функцию, которая вызывается при изменении value. */
|
|
26
16
|
onValueChange?: (value: T) => void;
|
|
27
|
-
/**
|
|
28
|
-
*
|
|
29
|
-
*/
|
|
17
|
+
/** Задает HTML-событие `onmouseenter`.
|
|
18
|
+
* @ignore */
|
|
30
19
|
onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;
|
|
31
|
-
/**
|
|
32
|
-
*
|
|
33
|
-
*/
|
|
20
|
+
/** Задает HTML-событие `onmouseleave`.
|
|
21
|
+
* @ignore */
|
|
34
22
|
onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;
|
|
35
|
-
/**
|
|
36
|
-
*
|
|
37
|
-
*/
|
|
23
|
+
/** Задает HTML-событие `onmouseover`.
|
|
24
|
+
* @ignore */
|
|
38
25
|
onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;
|
|
39
|
-
/**
|
|
40
|
-
* HTML-атрибут `value`.
|
|
41
|
-
*/
|
|
26
|
+
/** Устанавливает значение. */
|
|
42
27
|
value: T;
|
|
43
28
|
}> {
|
|
44
29
|
}
|
|
@@ -50,7 +35,7 @@ export declare const RadioDataTids: {
|
|
|
50
35
|
};
|
|
51
36
|
type DefaultProps = Required<Pick<RadioProps<any>, 'focused' | 'size'>>;
|
|
52
37
|
/**
|
|
53
|
-
* Радио-кнопки используются, когда может быть выбран только один вариант из нескольких.
|
|
38
|
+
* Радио-кнопки `Radio` используются, когда может быть выбран только один вариант из нескольких.
|
|
54
39
|
*/
|
|
55
40
|
export declare class Radio<T> extends React.Component<RadioProps<T>, RadioState> {
|
|
56
41
|
static __KONTUR_REACT_UI__: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
### Виды радио-кнопок
|
|
2
2
|
|
|
3
3
|
```jsx harmony
|
|
4
4
|
import { Gapped, Radio, RadioGroup } from '@skbkontur/react-ui';
|
|
@@ -29,6 +29,7 @@ const [chosen, setChosen] = React.useState(null);
|
|
|
29
29
|
</RadioGroup>
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
+
### Состояния
|
|
32
33
|
Радио-кнопки могут иметь сразу несколько состояний.
|
|
33
34
|
|
|
34
35
|
```jsx harmony
|
|
@@ -37,7 +38,7 @@ const [chosen, setChosen] = React.useState(null);
|
|
|
37
38
|
</Radio>
|
|
38
39
|
```
|
|
39
40
|
|
|
40
|
-
|
|
41
|
+
### Размер
|
|
41
42
|
|
|
42
43
|
```jsx harmony
|
|
43
44
|
import { Gapped } from '@skbkontur/react-ui';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as RadioStories from './Radio.docs.stories.tsx';
|
|
2
|
+
import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
|
|
3
|
+
import { Meta } from '../../../.storybook/Meta';
|
|
4
|
+
|
|
5
|
+
<Meta of={RadioStories} />
|
|
6
|
+
|
|
7
|
+
# Radio
|
|
8
|
+
|
|
9
|
+
[Компонент в Контур.Гайдах](https://guides.kontur.ru/components/selection-elements/radio/)
|
|
10
|
+
|
|
11
|
+
[Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=203%3A2669)
|
|
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} />
|
|
@@ -20,13 +20,12 @@ export var RadioGroupDataTids = {
|
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
|
+
* Группа радиокнопок `RadioGroup` используется для выбора одного значения из нескольких, когда вариантов выбора немного — 2–5.
|
|
23
24
|
*
|
|
24
|
-
* `children` может содержать любую разметку с компонентами Radio,
|
|
25
|
-
*
|
|
26
|
-
* Каждому компоненту Radio нужно указать параметр `value`, такого же типа
|
|
27
|
-
* как и параметр `value` самой радиогруппы.
|
|
25
|
+
* `children` может содержать любую разметку с компонентами Radio, если не передан параметр `items`.
|
|
26
|
+
* Каждому компоненту Radio нужно указать параметр `value`, такого же типа, как и параметр `value` самой радиогруппы.
|
|
28
27
|
*
|
|
29
|
-
* Значения активного элемента сравниваются по строгому равенству
|
|
28
|
+
* Значения активного элемента сравниваются по строгому равенству `===`.
|
|
30
29
|
*/
|
|
31
30
|
export var RadioGroup = rootNode(_class = (_RadioGroup = /*#__PURE__*/function (_React$Component) {
|
|
32
31
|
function RadioGroup(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","invariant","getRandomID","isNonNullable","Radio","createPropsGetter","FocusTrap","CommonWrapper","cx","rootNode","getVisualStateDataAttributes","styles","Prevent","RadioGroupContext","RadioGroupDataTids","root","RadioGroup","_class","_RadioGroup","_React$Component","props","_this","call","name","getProps","defaultProps","getRadioGroupContextValue","activeItem","getValue","onSelect","handleSelect","getName","disabled","error","warning","isControlled","value","state","setState","onValueChange","renderRadio","itemValue","data","index","_cx","itemProps","key","getKeyByItem","className","item","itemFirst","itemInline","inline","createElement","_extends","role","renderItem","toKey","undefined","ref","element","node","defaultValue","_inheritsLoose","_proto","prototype","render","_this$props","width","onMouseLeave","onMouseOver","onMouseEnter","onBlur","ariaDescribedby","style","handlers","rootNodeRef","setRootNode","Provider","renderChildren","focus","radio","querySelector","_this$props2","items","children","mapItems","Component","__KONTUR_REACT_UI__","displayName","_value","fn","result","_iterator","_createForOfIteratorHelperLoose","_step","done","entry","_normalizeEntry","normalizeEntry","push","Array","isArray"],"sources":["RadioGroup.tsx"],"sourcesContent":["import React, { AriaAttributes } from 'react';\nimport invariant from 'invariant';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { Radio } from '../Radio';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { FocusTrap } from '../../internal/FocusTrap';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './RadioGroup.styles';\nimport { Prevent } from './Prevent';\nimport { RadioGroupContext, RadioGroupContextType } from './RadioGroupContext';\n\nexport interface RadioGroupProps<T = string | number> extends CommonProps {\n /**\n * Значение по умолчанию. Должно быть одним из значений дочерних радиокнопок\n * или значений из параметра `items`\n */\n defaultValue?: T;\n /**\n * Значение радиогруппы. Должно быть одним из значений радиокнопок.\n * Если не указано, то компонент будет работать, как неконтролируемый\n */\n value?: T;\n /**\n * Может быть использовано, если не передан параметр `children`\n *\n * Массив параметров радиокнопок. Может быть типа `Array<Value>` или\n * `Array<[Value, Data]>`, где тип `Value` — значение радиокнопки, а `Data`\n * — значение которое будет использовано вторым параметром в `renderItem`.\n * Если тип `items: Array<Value>`, то он будет приведен к типу\n * `Array<[Value, Value]>`\n */\n items?: T[] | Array<[T, React.ReactNode]>;\n /**\n * Аттрибут name для вложенных радиокнопок. Если не указан, то сгенерируется\n * случайное имя\n */\n name?: string;\n\n /**\n * Метод получения уникального ключа по элементу\n * @param item\n */\n toKey?: (item: T) => string | number;\n /**\n * Дизейблит все радиокнопки\n */\n disabled?: boolean;\n /**\n * Переводит все радиокнопки в состояние валидации: предупреждение.\n */\n warning?: boolean;\n /**\n * Переводит все радиокнопки в состояние валидации: ошибка.\n */\n error?: boolean;\n /**\n * Выравнивает элементы в строку. Не работает с `children`\n */\n inline?: boolean;\n /**\n * Ширина радиогруппы. Не работает с `children`\n */\n width?: React.CSSProperties['width'];\n /**\n * Метод отрисовки контента радиокнопки. Не работает с `children`.\n *\n * Принимает два аргумента: `(value: Value, data: Data) => React.Node`\n */\n renderItem?: (itemValue: T, data: React.ReactNode) => React.ReactNode;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n /** Вызывается при изменении `value` */\n onValueChange?: (value: T) => void;\n onBlur?: (event: FocusEvent) => void;\n onMouseLeave?: () => any;\n onMouseOver?: () => any;\n onMouseEnter?: () => any;\n}\n\nexport interface RadioGroupState<T> {\n activeItem?: T;\n}\n\nexport const RadioGroupDataTids = {\n root: 'RadioGroup__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioGroupProps<unknown>, 'renderItem'>>;\n\n/**\n *\n * `children` может содержать любую разметку с компонентами Radio,\n * если не передан параметр `items`.\n * Каждому компоненту Radio нужно указать параметр `value`, такого же типа\n * как и параметр `value` самой радиогруппы.\n *\n * Значения активного элемента сравниваются по строгому равенству `===`\n */\n@rootNode\nexport class RadioGroup<T> extends React.Component<RadioGroupProps<T>, RadioGroupState<T>> {\n public static __KONTUR_REACT_UI__ = 'RadioGroup';\n public static displayName = 'RadioGroup';\n\n public static defaultProps: DefaultProps = {\n renderItem,\n };\n\n public static Prevent = Prevent;\n\n private node: Nullable<HTMLSpanElement>;\n private name = getRandomID();\n private getProps = createPropsGetter(RadioGroup.defaultProps);\n private setRootNode!: TSetRootNode;\n\n constructor(props: RadioGroupProps<T>) {\n super(props);\n\n this.state = {\n activeItem: this.props.defaultValue,\n };\n }\n\n private getRadioGroupContextValue = (): RadioGroupContextType<T> => {\n return {\n activeItem: this.getValue(),\n onSelect: this.handleSelect,\n name: this.getName(),\n disabled: this.props.disabled,\n error: this.props.error,\n warning: this.props.warning,\n };\n };\n\n public render() {\n const {\n width,\n onMouseLeave,\n onMouseOver,\n onMouseEnter,\n onBlur,\n 'aria-describedby': ariaDescribedby,\n disabled,\n } = this.props;\n const style = {\n width: width ?? 'auto',\n };\n const handlers = {\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n };\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props} {...getVisualStateDataAttributes({ disabled })}>\n <FocusTrap onBlur={onBlur}>\n <span\n data-tid={RadioGroupDataTids.root}\n ref={this.ref}\n style={style}\n className={styles.root()}\n role=\"radiogroup\"\n {...handlers}\n aria-describedby={ariaDescribedby}\n >\n <RadioGroupContext.Provider value={this.getRadioGroupContextValue()}>\n {this.renderChildren()}\n </RadioGroupContext.Provider>\n </span>\n </FocusTrap>\n </CommonWrapper>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n const node = this.node;\n if (!node) {\n return;\n }\n\n let radio = node.querySelector('input[type=\"radio\"]:checked') as Nullable<HTMLInputElement>;\n\n // If no checked radios, try get first radio\n if (!radio || radio.disabled) {\n radio = node.querySelector('input[type=\"radio\"]:not([disabled])') as Nullable<HTMLInputElement>;\n }\n\n if (radio) {\n radio.focus();\n }\n }\n\n private getValue = () => (this.isControlled() ? this.props.value : this.state.activeItem);\n\n private getName = () => this.props.name || this.name;\n\n private isControlled = () => isNonNullable(this.props.value);\n\n private handleSelect = (value: T) => {\n if (!this.isControlled()) {\n this.setState({ activeItem: value });\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private renderChildren() {\n const { items, children } = this.props;\n invariant((!items && children) || (items && !children), 'Either items or children must be passed, not both');\n return items ? mapItems<T>(this.renderRadio, items) : children;\n }\n\n private renderRadio = (itemValue: T, data: React.ReactNode, index: number): JSX.Element => {\n const itemProps = {\n key: this.getKeyByItem(itemValue),\n className: cx({\n [styles.item()]: true,\n [styles.itemFirst()]: index === 0,\n [styles.itemInline()]: !!this.props.inline,\n }),\n };\n\n return (\n <span {...itemProps} role=\"presentation\">\n <Radio value={itemValue}>{this.getProps().renderItem(itemValue, data)}</Radio>\n </span>\n );\n };\n\n private getKeyByItem = (itemValue: T) => {\n if (this.props.toKey) {\n return this.props.toKey(itemValue);\n }\n return typeof itemValue === 'string' || typeof itemValue === 'number' ? itemValue : undefined;\n };\n\n private ref = (element: HTMLSpanElement) => {\n this.node = element;\n };\n}\n\nfunction renderItem<T>(_value: T, data: React.ReactNode) {\n return data;\n}\n\nfunction mapItems<T>(\n fn: (value: T, data: React.ReactNode, index: number) => React.ReactNode,\n items: T[] | Array<[T, React.ReactNode]>,\n) {\n const result: React.ReactNode[] = [];\n let index = 0;\n for (const entry of items) {\n const [value, data] = normalizeEntry<T>(entry);\n result.push(fn(value, data, index));\n ++index;\n }\n return result;\n}\n\nfunction normalizeEntry<T>(entry: T | [T, React.ReactNode]): [T, React.ReactNode] {\n if (!Array.isArray(entry)) {\n return [entry, entry as unknown as React.ReactNode];\n }\n return entry;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","invariant","getRandomID","isNonNullable","Radio","createPropsGetter","FocusTrap","CommonWrapper","cx","rootNode","getVisualStateDataAttributes","styles","Prevent","RadioGroupContext","RadioGroupDataTids","root","RadioGroup","_class","_RadioGroup","_React$Component","props","_this","call","name","getProps","defaultProps","getRadioGroupContextValue","activeItem","getValue","onSelect","handleSelect","getName","disabled","error","warning","isControlled","value","state","setState","onValueChange","renderRadio","itemValue","data","index","_cx","itemProps","key","getKeyByItem","className","item","itemFirst","itemInline","inline","createElement","_extends","role","renderItem","toKey","undefined","ref","element","node","defaultValue","_inheritsLoose","_proto","prototype","render","_this$props","width","onMouseLeave","onMouseOver","onMouseEnter","onBlur","ariaDescribedby","style","handlers","rootNodeRef","setRootNode","Provider","renderChildren","focus","radio","querySelector","_this$props2","items","children","mapItems","Component","__KONTUR_REACT_UI__","displayName","_value","fn","result","_iterator","_createForOfIteratorHelperLoose","_step","done","entry","_normalizeEntry","normalizeEntry","push","Array","isArray"],"sources":["RadioGroup.tsx"],"sourcesContent":["import React, { AriaAttributes } from 'react';\nimport invariant from 'invariant';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { Radio } from '../Radio';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { FocusTrap } from '../../internal/FocusTrap';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './RadioGroup.styles';\nimport { Prevent } from './Prevent';\nimport { RadioGroupContext, RadioGroupContextType } from './RadioGroupContext';\n\nexport interface RadioGroupProps<T = string | number> extends CommonProps {\n /** Задает значение по умолчанию. Должно быть одним из значений дочерних радиокнопок или значений из параметра `items`. */\n defaultValue?: T;\n\n /** Задает значение радиогруппы. Должно быть одним из значений радиокнопок.\n * Если не указано, то компонент будет работать, как неконтролируемый. */\n value?: T;\n\n /** Задает массив параметров радиокнопок. Может быть типа `Array<Value>` или `Array<[Value, Data]>`,\n * где тип `Value` — значение радиокнопки, а `Data` — значение которое будет использовано вторым параметром в `renderItem`.\n * Тип `Array<Value>` будет приведен к типу `Array<[Value, Value]>`.\n * Может быть использовано, если не передан параметр `children`. */\n items?: T[] | Array<[T, React.ReactNode]>;\n\n /** Устанавливает аттрибут name для вложенных радиокнопок. Если не указан, то сгенерируется случайное имя. */\n name?: string;\n\n /** Получает уникальный ключ по элементу\n * @param item - элемент, по которуму нужно получить ключ. */\n toKey?: (item: T) => string | number;\n\n /** Делает все радиокнопки недоступными. */\n disabled?: boolean;\n\n /** Переводит все радиокнопки в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Переводит все радиокнопки в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Выравнивает элементы items в строку. Не работает с children. */\n inline?: boolean;\n\n /** Задает ширину радиогруппы. Не работает с `children`. */\n width?: React.CSSProperties['width'];\n\n /** Задает функцию, которая отображает контент радиокнопки. Не работает с `children`.\n * @param {Value} itemValue - значение радиокнопки.\n * @param {Data} data - значение для отрисовки радиокнопки. */\n renderItem?: (itemValue: T, data: React.ReactNode) => React.ReactNode;\n\n /** @ignore */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n\n /** Задает функцию, которая вызывается при изменении значения радиогруппы (value). */\n onValueChange?: (value: T) => void;\n\n /** Задает функцию, которая вызывается при потере радиогруппой фокуса. */\n onBlur?: (event: FocusEvent) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: () => any;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: () => any;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: () => any;\n}\n\nexport interface RadioGroupState<T> {\n activeItem?: T;\n}\n\nexport const RadioGroupDataTids = {\n root: 'RadioGroup__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioGroupProps<unknown>, 'renderItem'>>;\n\n/**\n * Группа радиокнопок `RadioGroup` используется для выбора одного значения из нескольких, когда вариантов выбора немного — 2–5.\n *\n * `children` может содержать любую разметку с компонентами Radio, если не передан параметр `items`.\n * Каждому компоненту Radio нужно указать параметр `value`, такого же типа, как и параметр `value` самой радиогруппы.\n *\n * Значения активного элемента сравниваются по строгому равенству `===`.\n */\n@rootNode\nexport class RadioGroup<T> extends React.Component<RadioGroupProps<T>, RadioGroupState<T>> {\n public static __KONTUR_REACT_UI__ = 'RadioGroup';\n public static displayName = 'RadioGroup';\n\n public static defaultProps: DefaultProps = {\n renderItem,\n };\n\n public static Prevent = Prevent;\n\n private node: Nullable<HTMLSpanElement>;\n private name = getRandomID();\n private getProps = createPropsGetter(RadioGroup.defaultProps);\n private setRootNode!: TSetRootNode;\n\n constructor(props: RadioGroupProps<T>) {\n super(props);\n\n this.state = {\n activeItem: this.props.defaultValue,\n };\n }\n\n private getRadioGroupContextValue = (): RadioGroupContextType<T> => {\n return {\n activeItem: this.getValue(),\n onSelect: this.handleSelect,\n name: this.getName(),\n disabled: this.props.disabled,\n error: this.props.error,\n warning: this.props.warning,\n };\n };\n\n public render() {\n const {\n width,\n onMouseLeave,\n onMouseOver,\n onMouseEnter,\n onBlur,\n 'aria-describedby': ariaDescribedby,\n disabled,\n } = this.props;\n const style = {\n width: width ?? 'auto',\n };\n const handlers = {\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n };\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props} {...getVisualStateDataAttributes({ disabled })}>\n <FocusTrap onBlur={onBlur}>\n <span\n data-tid={RadioGroupDataTids.root}\n ref={this.ref}\n style={style}\n className={styles.root()}\n role=\"radiogroup\"\n {...handlers}\n aria-describedby={ariaDescribedby}\n >\n <RadioGroupContext.Provider value={this.getRadioGroupContextValue()}>\n {this.renderChildren()}\n </RadioGroupContext.Provider>\n </span>\n </FocusTrap>\n </CommonWrapper>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n const node = this.node;\n if (!node) {\n return;\n }\n\n let radio = node.querySelector('input[type=\"radio\"]:checked') as Nullable<HTMLInputElement>;\n\n // If no checked radios, try get first radio\n if (!radio || radio.disabled) {\n radio = node.querySelector('input[type=\"radio\"]:not([disabled])') as Nullable<HTMLInputElement>;\n }\n\n if (radio) {\n radio.focus();\n }\n }\n\n private getValue = () => (this.isControlled() ? this.props.value : this.state.activeItem);\n\n private getName = () => this.props.name || this.name;\n\n private isControlled = () => isNonNullable(this.props.value);\n\n private handleSelect = (value: T) => {\n if (!this.isControlled()) {\n this.setState({ activeItem: value });\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private renderChildren() {\n const { items, children } = this.props;\n invariant((!items && children) || (items && !children), 'Either items or children must be passed, not both');\n return items ? mapItems<T>(this.renderRadio, items) : children;\n }\n\n private renderRadio = (itemValue: T, data: React.ReactNode, index: number): JSX.Element => {\n const itemProps = {\n key: this.getKeyByItem(itemValue),\n className: cx({\n [styles.item()]: true,\n [styles.itemFirst()]: index === 0,\n [styles.itemInline()]: !!this.props.inline,\n }),\n };\n\n return (\n <span {...itemProps} role=\"presentation\">\n <Radio value={itemValue}>{this.getProps().renderItem(itemValue, data)}</Radio>\n </span>\n );\n };\n\n private getKeyByItem = (itemValue: T) => {\n if (this.props.toKey) {\n return this.props.toKey(itemValue);\n }\n return typeof itemValue === 'string' || typeof itemValue === 'number' ? itemValue : undefined;\n };\n\n private ref = (element: HTMLSpanElement) => {\n this.node = element;\n };\n}\n\nfunction renderItem<T>(_value: T, data: React.ReactNode) {\n return data;\n}\n\nfunction mapItems<T>(\n fn: (value: T, data: React.ReactNode, index: number) => React.ReactNode,\n items: T[] | Array<[T, React.ReactNode]>,\n) {\n const result: React.ReactNode[] = [];\n let index = 0;\n for (const entry of items) {\n const [value, data] = normalizeEntry<T>(entry);\n result.push(fn(value, data, index));\n ++index;\n }\n return result;\n}\n\nfunction normalizeEntry<T>(entry: T | [T, React.ReactNode]): [T, React.ReactNode] {\n if (!Array.isArray(entry)) {\n return [entry, entry as unknown as React.ReactNode];\n }\n return entry;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,71 +2,46 @@ import React, { AriaAttributes } from 'react';
|
|
|
2
2
|
import { CommonProps } from '../../internal/CommonWrapper';
|
|
3
3
|
import { Prevent } from './Prevent';
|
|
4
4
|
export interface RadioGroupProps<T = string | number> extends CommonProps {
|
|
5
|
-
/**
|
|
6
|
-
* Значение по умолчанию. Должно быть одним из значений дочерних радиокнопок
|
|
7
|
-
* или значений из параметра `items`
|
|
8
|
-
*/
|
|
5
|
+
/** Задает значение по умолчанию. Должно быть одним из значений дочерних радиокнопок или значений из параметра `items`. */
|
|
9
6
|
defaultValue?: T;
|
|
10
|
-
/**
|
|
11
|
-
*
|
|
12
|
-
* Если не указано, то компонент будет работать, как неконтролируемый
|
|
13
|
-
*/
|
|
7
|
+
/** Задает значение радиогруппы. Должно быть одним из значений радиокнопок.
|
|
8
|
+
* Если не указано, то компонент будет работать, как неконтролируемый. */
|
|
14
9
|
value?: T;
|
|
15
|
-
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* `Array<[Value, Data]>`, где тип `Value` — значение радиокнопки, а `Data`
|
|
20
|
-
* — значение которое будет использовано вторым параметром в `renderItem`.
|
|
21
|
-
* Если тип `items: Array<Value>`, то он будет приведен к типу
|
|
22
|
-
* `Array<[Value, Value]>`
|
|
23
|
-
*/
|
|
10
|
+
/** Задает массив параметров радиокнопок. Может быть типа `Array<Value>` или `Array<[Value, Data]>`,
|
|
11
|
+
* где тип `Value` — значение радиокнопки, а `Data` — значение которое будет использовано вторым параметром в `renderItem`.
|
|
12
|
+
* Тип `Array<Value>` будет приведен к типу `Array<[Value, Value]>`.
|
|
13
|
+
* Может быть использовано, если не передан параметр `children`. */
|
|
24
14
|
items?: T[] | Array<[T, React.ReactNode]>;
|
|
25
|
-
/**
|
|
26
|
-
* Аттрибут name для вложенных радиокнопок. Если не указан, то сгенерируется
|
|
27
|
-
* случайное имя
|
|
28
|
-
*/
|
|
15
|
+
/** Устанавливает аттрибут name для вложенных радиокнопок. Если не указан, то сгенерируется случайное имя. */
|
|
29
16
|
name?: string;
|
|
30
|
-
/**
|
|
31
|
-
*
|
|
32
|
-
* @param item
|
|
33
|
-
*/
|
|
17
|
+
/** Получает уникальный ключ по элементу
|
|
18
|
+
* @param item - элемент, по которуму нужно получить ключ. */
|
|
34
19
|
toKey?: (item: T) => string | number;
|
|
35
|
-
/**
|
|
36
|
-
* Дизейблит все радиокнопки
|
|
37
|
-
*/
|
|
20
|
+
/** Делает все радиокнопки недоступными. */
|
|
38
21
|
disabled?: boolean;
|
|
39
|
-
/**
|
|
40
|
-
* Переводит все радиокнопки в состояние валидации: предупреждение.
|
|
41
|
-
*/
|
|
22
|
+
/** Переводит все радиокнопки в состояние валидации "предупреждение". */
|
|
42
23
|
warning?: boolean;
|
|
43
|
-
/**
|
|
44
|
-
* Переводит все радиокнопки в состояние валидации: ошибка.
|
|
45
|
-
*/
|
|
24
|
+
/** Переводит все радиокнопки в состояние валидации "ошибка". */
|
|
46
25
|
error?: boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Выравнивает элементы в строку. Не работает с `children`
|
|
49
|
-
*/
|
|
26
|
+
/** Выравнивает элементы items в строку. Не работает с children. */
|
|
50
27
|
inline?: boolean;
|
|
51
|
-
/**
|
|
52
|
-
* Ширина радиогруппы. Не работает с `children`
|
|
53
|
-
*/
|
|
28
|
+
/** Задает ширину радиогруппы. Не работает с `children`. */
|
|
54
29
|
width?: React.CSSProperties['width'];
|
|
55
|
-
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
* Принимает два аргумента: `(value: Value, data: Data) => React.Node`
|
|
59
|
-
*/
|
|
30
|
+
/** Задает функцию, которая отображает контент радиокнопки. Не работает с `children`.
|
|
31
|
+
* @param {Value} itemValue - значение радиокнопки.
|
|
32
|
+
* @param {Data} data - значение для отрисовки радиокнопки. */
|
|
60
33
|
renderItem?: (itemValue: T, data: React.ReactNode) => React.ReactNode;
|
|
61
|
-
/**
|
|
62
|
-
* Атрибут для указания id элемента(-ов), описывающих его
|
|
63
|
-
*/
|
|
34
|
+
/** @ignore */
|
|
64
35
|
'aria-describedby'?: AriaAttributes['aria-describedby'];
|
|
65
|
-
/**
|
|
36
|
+
/** Задает функцию, которая вызывается при изменении значения радиогруппы (value). */
|
|
66
37
|
onValueChange?: (value: T) => void;
|
|
38
|
+
/** Задает функцию, которая вызывается при потере радиогруппой фокуса. */
|
|
67
39
|
onBlur?: (event: FocusEvent) => void;
|
|
40
|
+
/** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */
|
|
68
41
|
onMouseLeave?: () => any;
|
|
42
|
+
/** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */
|
|
69
43
|
onMouseOver?: () => any;
|
|
44
|
+
/** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */
|
|
70
45
|
onMouseEnter?: () => any;
|
|
71
46
|
}
|
|
72
47
|
export interface RadioGroupState<T> {
|
|
@@ -77,13 +52,12 @@ export declare const RadioGroupDataTids: {
|
|
|
77
52
|
};
|
|
78
53
|
type DefaultProps = Required<Pick<RadioGroupProps<unknown>, 'renderItem'>>;
|
|
79
54
|
/**
|
|
55
|
+
* Группа радиокнопок `RadioGroup` используется для выбора одного значения из нескольких, когда вариантов выбора немного — 2–5.
|
|
80
56
|
*
|
|
81
|
-
* `children` может содержать любую разметку с компонентами Radio,
|
|
82
|
-
*
|
|
83
|
-
* Каждому компоненту Radio нужно указать параметр `value`, такого же типа
|
|
84
|
-
* как и параметр `value` самой радиогруппы.
|
|
57
|
+
* `children` может содержать любую разметку с компонентами Radio, если не передан параметр `items`.
|
|
58
|
+
* Каждому компоненту Radio нужно указать параметр `value`, такого же типа, как и параметр `value` самой радиогруппы.
|
|
85
59
|
*
|
|
86
|
-
* Значения активного элемента сравниваются по строгому равенству
|
|
60
|
+
* Значения активного элемента сравниваются по строгому равенству `===`.
|
|
87
61
|
*/
|
|
88
62
|
export declare class RadioGroup<T> extends React.Component<RadioGroupProps<T>, RadioGroupState<T>> {
|
|
89
63
|
static __KONTUR_REACT_UI__: string;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as RadioGroupStories from './RadioGroup.docs.stories.tsx';
|
|
2
|
+
import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
|
|
3
|
+
import { Meta } from '../../../.storybook/Meta';
|
|
4
|
+
|
|
5
|
+
<Meta of={RadioGroupStories} />
|
|
6
|
+
|
|
7
|
+
# RadioGroup
|
|
8
|
+
|
|
9
|
+
[Компонент в Контур.Гайдах](https://guides.kontur.ru/components/selection-elements/radio/)
|
|
10
|
+
|
|
11
|
+
[Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=203%3A2669)
|
|
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} />
|
|
@@ -4,9 +4,8 @@ import { CommonWrapper } from "../../../internal/CommonWrapper";
|
|
|
4
4
|
import { useResponsiveLayout } from "../useResponsiveLayout";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* Компонент для определения текущего лэйаута.
|
|
7
|
+
* Компонент `ResponsiveLayout` для определения текущего лэйаута.
|
|
8
8
|
*/
|
|
9
|
-
|
|
10
9
|
export function ResponsiveLayout(props) {
|
|
11
10
|
var _props$children, _props$children2;
|
|
12
11
|
var layoutFlags = useResponsiveLayout({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","isFunction","CommonWrapper","useResponsiveLayout","ResponsiveLayout","props","_props$children","_props$children2","layoutFlags","customMediaQueries","onLayoutChange","createElement","children","__KONTUR_REACT_UI__","displayName"],"sources":["ResponsiveLayout.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\n\nimport { isFunction } from '../../lib/utils';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\n\nimport { EmptyObject, MediaQueriesType, ResponsiveLayoutFlags } from './types';\nimport { useResponsiveLayout } from './useResponsiveLayout';\n\ninterface ResponsiveLayoutProps<T extends MediaQueriesType = EmptyObject> {\n onLayoutChange?: (layout: ResponsiveLayoutFlags<T>) => void;\n children?: React.ReactNode | ((currentLayout: ResponsiveLayoutFlags<T>) => React.ReactNode);\n customMediaQueries?: T;\n}\n\n/**\n * Компонент для определения текущего лэйаута.\n */\
|
|
1
|
+
{"version":3,"names":["React","useEffect","isFunction","CommonWrapper","useResponsiveLayout","ResponsiveLayout","props","_props$children","_props$children2","layoutFlags","customMediaQueries","onLayoutChange","createElement","children","__KONTUR_REACT_UI__","displayName"],"sources":["ResponsiveLayout.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\n\nimport { isFunction } from '../../lib/utils';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\n\nimport { EmptyObject, MediaQueriesType, ResponsiveLayoutFlags } from './types';\nimport { useResponsiveLayout } from './useResponsiveLayout';\n\ninterface ResponsiveLayoutProps<T extends MediaQueriesType = EmptyObject> {\n /** Задает функцию, которая вызывается при изменении лейаута. */\n onLayoutChange?: (layout: ResponsiveLayoutFlags<T>) => void;\n\n /** @ignore */\n children?: React.ReactNode | ((currentLayout: ResponsiveLayoutFlags<T>) => React.ReactNode);\n\n /** Позволяет кастомизировать возвращаемые флаги. */\n customMediaQueries?: T;\n}\n\n/**\n * Компонент `ResponsiveLayout` для определения текущего лэйаута.\n */\nexport function ResponsiveLayout<T extends MediaQueriesType = EmptyObject>(props: ResponsiveLayoutProps<T>) {\n const layoutFlags = useResponsiveLayout<T>({ customMediaQueries: props.customMediaQueries });\n\n useEffect(() => {\n if (props.onLayoutChange) {\n props.onLayoutChange(layoutFlags);\n }\n }, [layoutFlags]);\n\n return (\n <CommonWrapper {...props}>\n {isFunction(props.children) ? props.children(layoutFlags) ?? null : props.children ?? null}\n </CommonWrapper>\n );\n}\n\nResponsiveLayout.__KONTUR_REACT_UI__ = 'ResponsiveLayout';\nResponsiveLayout.displayName = 'ResponsiveLayout';\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;;AAExC,SAASC,UAAU,QAAQ,iBAAiB;AAC5C,SAASC,aAAa,QAAQ,8BAA8B;;;AAG5D,SAASC,mBAAmB,QAAQ,uBAAuB;;;;;;;;;;;;;AAa3D;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAA2CC,KAA+B,EAAE,KAAAC,eAAA,EAAAC,gBAAA;EAC1G,IAAMC,WAAW,GAAGL,mBAAmB,CAAI,EAAEM,kBAAkB,EAAEJ,KAAK,CAACI,kBAAkB,CAAC,CAAC,CAAC;;EAE5FT,SAAS,CAAC,YAAM;IACd,IAAIK,KAAK,CAACK,cAAc,EAAE;MACxBL,KAAK,CAACK,cAAc,CAACF,WAAW,CAAC;IACnC;EACF,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;;EAEjB;IACET,KAAA,CAAAY,aAAA,CAACT,aAAa,EAAKG,KAAK;IACrBJ,UAAU,CAACI,KAAK,CAACO,QAAQ,CAAC,IAAAN,eAAA,GAAGD,KAAK,CAACO,QAAQ,CAACJ,WAAW,CAAC,YAAAF,eAAA,GAAI,IAAI,IAAAC,gBAAA,GAAGF,KAAK,CAACO,QAAQ,YAAAL,gBAAA,GAAI;IACzE,CAAC;;AAEpB;;AAEAH,gBAAgB,CAACS,mBAAmB,GAAG,kBAAkB;AACzDT,gBAAgB,CAACU,WAAW,GAAG,kBAAkB","ignoreList":[]}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { EmptyObject, MediaQueriesType, ResponsiveLayoutFlags } from './types';
|
|
3
3
|
interface ResponsiveLayoutProps<T extends MediaQueriesType = EmptyObject> {
|
|
4
|
+
/** Задает функцию, которая вызывается при изменении лейаута. */
|
|
4
5
|
onLayoutChange?: (layout: ResponsiveLayoutFlags<T>) => void;
|
|
6
|
+
/** @ignore */
|
|
5
7
|
children?: React.ReactNode | ((currentLayout: ResponsiveLayoutFlags<T>) => React.ReactNode);
|
|
8
|
+
/** Позволяет кастомизировать возвращаемые флаги. */
|
|
6
9
|
customMediaQueries?: T;
|
|
7
10
|
}
|
|
8
11
|
/**
|
|
9
|
-
* Компонент для определения текущего лэйаута.
|
|
12
|
+
* Компонент `ResponsiveLayout` для определения текущего лэйаута.
|
|
10
13
|
*/
|
|
11
14
|
export declare function ResponsiveLayout<T extends MediaQueriesType = EmptyObject>(props: ResponsiveLayoutProps<T>): React.JSX.Element;
|
|
12
15
|
export declare namespace ResponsiveLayout {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
### Вспомогательный интерфейс
|
|
1
2
|
```ts static
|
|
2
3
|
interface ResponsiveLayoutFlags {
|
|
3
4
|
isMobile: boolean;
|
|
4
5
|
}
|
|
5
6
|
```
|
|
6
7
|
|
|
7
|
-
Компонент ожидает в себя функцию, в которую аргументом передается объект с флагом лэйаута.
|
|
8
|
+
### Компонент ожидает в себя функцию, в которую аргументом передается объект с флагом лэйаута.
|
|
8
9
|
|
|
9
10
|
```jsx static
|
|
10
11
|
import { ResponsiveLayout } from '@skbkontur/react-ui';
|
|
@@ -24,7 +25,7 @@ class SomeComponent {
|
|
|
24
25
|
}
|
|
25
26
|
```
|
|
26
27
|
|
|
27
|
-
Также существует проп `onLayoutChange`, который вызывает переданный в него коллбэк при изменении лэйаута. Аргументом передается объект с флагом.
|
|
28
|
+
### Также существует проп `onLayoutChange`, который вызывает переданный в него коллбэк при изменении лэйаута. Аргументом передается объект с флагом.
|
|
28
29
|
|
|
29
30
|
```jsx static
|
|
30
31
|
import { ResponsiveLayout } from '@skbkontur/react-ui';
|
|
@@ -40,7 +41,7 @@ class SomeComponent {
|
|
|
40
41
|
}
|
|
41
42
|
```
|
|
42
43
|
|
|
43
|
-
В компонент можно передать проп `customMediaQueries: MediaQueriesType`, который позволяет кастомизировать возвращаемые флаги:
|
|
44
|
+
### В компонент можно передать проп `customMediaQueries: MediaQueriesType`, который позволяет кастомизировать возвращаемые флаги:
|
|
44
45
|
```ts static
|
|
45
46
|
type MediaQueriesType = Record<string, string>;
|
|
46
47
|
```
|