@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
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as PasswordInputStories from './PasswordInput.docs.stories.tsx';
|
|
2
|
+
import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
|
|
3
|
+
import { Meta } from '../../../.storybook/Meta';
|
|
4
|
+
|
|
5
|
+
<Meta of={PasswordInputStories} />
|
|
6
|
+
|
|
7
|
+
# PasswordInput
|
|
8
|
+
|
|
9
|
+
[Компонент в Контур.Гайдах](https://guides.kontur.ru/components/input-fields/password/)
|
|
10
|
+
|
|
11
|
+
[Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=203%3A1602)
|
|
12
|
+
|
|
13
|
+
<Description />
|
|
14
|
+
|
|
15
|
+
## Базовый пример
|
|
16
|
+
|
|
17
|
+
<Primary />
|
|
18
|
+
|
|
19
|
+
## Пропы
|
|
20
|
+
|
|
21
|
+
<details>
|
|
22
|
+
<summary>Открыть таблицу с пропами</summary>
|
|
23
|
+
<ArgTypes />
|
|
24
|
+
</details>
|
|
25
|
+
|
|
26
|
+
## Примеры использования
|
|
27
|
+
|
|
28
|
+
<Stories title="" includePrimary={false} />
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
@@ -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;
|
|
@@ -51,13 +51,6 @@ var _Radio2 = require("./Radio.styles");var _excluded = ["disabled", "warning",
|
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
54
|
|
|
62
55
|
|
|
63
56
|
|
|
@@ -73,7 +66,7 @@ var RadioDataTids = exports.RadioDataTids = {
|
|
|
73
66
|
|
|
74
67
|
|
|
75
68
|
/**
|
|
76
|
-
* Радио-кнопки используются, когда может быть выбран только один вариант из нескольких.
|
|
69
|
+
* Радио-кнопки `Radio` используются, когда может быть выбран только один вариант из нескольких.
|
|
77
70
|
*/var
|
|
78
71
|
|
|
79
72
|
Radio = exports.Radio = (0, _rootNode.rootNode)(_class = (_Radio = /*#__PURE__*/function (_React$Component) {function Radio() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_ThemeContext","_CommonWrapper","_Emotion","_keyListener","_rootNode","_fixFirefoxModifiedClickOnLabel","_client","_RadioGroupContext","_createPropsGetter","_FocusControlWrapper","_Radio2","_excluded","_class","_Radio","RadioDataTids","exports","root","Radio","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","focusedByKeyboard","getProps","createPropsGetter","defaultProps","context","inputEl","React","createRef","renderMain","props","_cx","_cx2","_props$disabled","disabled","_props$warning","warning","_props$error","error","size","focused","onMouseOver","onMouseEnter","onMouseLeave","onValueChange","rest","_objectWithoutPropertiesLoose2","default","radioProps","className","cx","styles","circle","theme","getCircleSizeClassName","checked","getCheckedSizeClassName","focus","checkedDisabled","globalClasses","value","inputProps","_extends2","type","input","tabIndex","ref","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","labelProps","getRootSizeClassName","rootChecked","rootIE11","isIE11","isEdge","handleMouseOver","handleMouseEnter","handleMouseLeave","onClick","fixFirefoxModifiedClickOnLabel","_isInRadioGroup","_cx3","_cx4","activeItem","name","suppressHydrationWarning","createElement","FocusControlWrapper","onBlurWhenDisabled","resetFocus","placeholder","children","renderCaption","Boolean","e","onSelect","globalObject","requestAnimationFrame","keyListener","isArrowPressed","isTabPressed","setState","_inheritsLoose2","_proto","prototype","rootLarge","rootMedium","rootSmall","circleLarge","circleMedium","circleSmall","checkedLarge","checkedMedium","checkedSmall","render","_this2","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","_this$inputEl$current","current","blur","_this$inputEl$current2","_cx5","captionClassNames","caption","captionDisabled","captionIE11","Component","__KONTUR_REACT_UI__","displayName","contextType","RadioGroupContext"],"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":"+dAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;;;AAGA,IAAAE,aAAA,GAAAF,OAAA;;AAEA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,+BAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,kBAAA,GAAAT,OAAA;AACA,IAAAU,kBAAA,GAAAV,OAAA;;AAEA,IAAAW,oBAAA,GAAAX,OAAA;;AAEA,IAAAY,OAAA,GAAAZ,OAAA,mBAAuD,IAAAa,SAAA,2HAAAC,MAAA,EAAAC,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDhD,IAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG;EAC3BE,IAAI,EAAE;AACR,CAAU;;;;AAIV;AACA;AACA,GAFA;;AAIaC,KAAK,GAAAF,OAAA,CAAAE,KAAA,OADjBC,kBAAQ,EAAAN,MAAA,IAAAC,MAAA,0BAAAM,gBAAA,YAAAF,MAAA,OAAAG,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;IAKAU,KAAK,GAAG;MACbC,iBAAiB,EAAE;IACrB,CAAC,CAAAX,KAAA;;;;;;;IAOOY,QAAQ,GAAG,IAAAC,oCAAiB,EAAChB,KAAK,CAACiB,YAAY,CAAC,CAAAd,KAAA;;;IAGjDe,OAAO,GAA6Bf,KAAA,CAAKe,OAAO,CAAAf,KAAA;;IAE/CgB,OAAO,gBAAGC,cAAK,CAACC,SAAS,CAAmB,CAAC,CAAAlB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsE9CmB,UAAU,GAAG,UAACC,KAA4C,EAAK,KAAAC,GAAA,EAAAC,IAAA;MACpE,IAAAC,eAAA;;;;;;;;;;;QAWIH,KAAK,CAVPI,QAAQ,CAARA,QAAQ,GAAAD,eAAA,cAAGvB,KAAA,CAAKe,OAAO,CAACS,QAAQ,GAAAD,eAAA,CAAAE,cAAA,GAU9BL,KAAK,CATPM,OAAO,CAAPA,OAAO,GAAAD,cAAA,cAAGzB,KAAA,CAAKe,OAAO,CAACW,OAAO,GAAAD,cAAA,CAAAE,YAAA,GAS5BP,KAAK,CARPQ,KAAK,CAALA,KAAK,GAAAD,YAAA,cAAG3B,KAAA,CAAKe,OAAO,CAACa,KAAK,GAAAD,YAAA,CAC1BE,IAAI,GAOFT,KAAK,CAPPS,IAAI,CACJC,OAAO,GAMLV,KAAK,CANPU,OAAO,CACPC,WAAW,GAKTX,KAAK,CALPW,WAAW,CACXC,YAAY,GAIVZ,KAAK,CAJPY,YAAY,CACZC,YAAY,GAGVb,KAAK,CAHPa,YAAY,CACZC,aAAa,GAEXd,KAAK,CAFPc,aAAa,CACVC,IAAI,OAAAC,8BAAA,CAAAC,OAAA,EACLjB,KAAK,EAAA7B,SAAA;;MAET,IAAM+C,UAAU,GAAG;QACjBC,SAAS,EAAE,IAAAC,WAAE,GAAAnB,GAAA,OAAAA,GAAA;QACVoB,cAAM,CAACC,MAAM,CAAC1C,KAAA,CAAK2C,KAAK,CAAC,IAAG,IAAI,EAAAtB,GAAA;QAChCrB,KAAA,CAAK4C,sBAAsB,CAAC,CAAC,IAAG,IAAI,EAAAvB,GAAA;QACpCoB,cAAM,CAACI,OAAO,CAAC7C,KAAA,CAAK2C,KAAK,CAAC,IAAG3C,KAAA,CAAKoB,KAAK,CAACyB,OAAO,EAAAxB,GAAA;QAC/CrB,KAAA,CAAK8C,uBAAuB,CAAC,CAAC,IAAG9C,KAAA,CAAKoB,KAAK,CAACyB,OAAO,EAAAxB,GAAA;QACnDoB,cAAM,CAACM,KAAK,CAAC/C,KAAA,CAAK2C,KAAK,CAAC,IAAG3C,KAAA,CAAKY,QAAQ,CAAC,CAAC,CAACkB,OAAO,IAAI9B,KAAA,CAAKU,KAAK,CAACC,iBAAiB,EAAAU,GAAA;QAClFoB,cAAM,CAACb,KAAK,CAAC5B,KAAA,CAAK2C,KAAK,CAAC,IAAGf,KAAK,EAAAP,GAAA;QAChCoB,cAAM,CAACf,OAAO,CAAC1B,KAAA,CAAK2C,KAAK,CAAC,IAAGjB,OAAO,EAAAL,GAAA;QACpCoB,cAAM,CAACjB,QAAQ,CAACxB,KAAA,CAAK2C,KAAK,CAAC,IAAGnB,QAAQ,EAAAH,GAAA;QACtCoB,cAAM,CAACO,eAAe,CAAChD,KAAA,CAAK2C,KAAK,CAAC,IAAG3C,KAAA,CAAKoB,KAAK,CAACyB,OAAO,IAAIrB,QAAQ,EAAAH,GAAA;QACnE4B,qBAAa,CAACP,MAAM,IAAG,IAAI,EAAArB,GAAA;QAC7B;MACH,CAAC;;MAED,IAAI6B,KAAkC;MACtC,IAAI,OAAOlD,KAAA,CAAKoB,KAAK,CAAC8B,KAAK,KAAK,QAAQ,IAAI,OAAOlD,KAAA,CAAKoB,KAAK,CAAC8B,KAAK,KAAK,QAAQ,EAAE;QAChFA,KAAK,GAAGlD,KAAA,CAAKoB,KAAK,CAAC8B,KAAK;MAC1B;;MAEA,IAAMC,UAAU,OAAAC,SAAA,CAAAf,OAAA;MACXF,IAAI;QACPkB,IAAI,EAAE,OAAO;QACbd,SAAS,EAAEE,cAAM,CAACa,KAAK,CAAC,CAAC;QACzB9B,QAAQ,EAARA,QAAQ;QACR+B,QAAQ,EAAEvD,KAAA,CAAKoB,KAAK,CAACmC,QAAQ;QAC7BL,KAAK,EAALA,KAAK;QACLM,GAAG,EAAExD,KAAA,CAAKgB,OAAO;QACjByC,QAAQ,EAAEzD,KAAA,CAAK0D,YAAY;QAC3BC,OAAO,EAAE3D,KAAA,CAAK4D,WAAW;QACzBC,MAAM,EAAE7D,KAAA,CAAK8D,UAAU,GACxB;;;MAED,IAAMC,UAAU,GAAG;QACjBxB,SAAS,EAAE,IAAAC,WAAE,EAACC,cAAM,CAAC7C,IAAI,CAACI,KAAA,CAAK2C,KAAK,CAAC,EAAE3C,KAAA,CAAKgE,oBAAoB,CAAC,CAAC,GAAA1C,IAAA,OAAAA,IAAA;QAC/DmB,cAAM,CAACwB,WAAW,CAACjE,KAAA,CAAK2C,KAAK,CAAC,IAAG3C,KAAA,CAAKoB,KAAK,CAACyB,OAAO,EAAAvB,IAAA;QACnDmB,cAAM,CAACyB,QAAQ,CAAC,CAAC,IAAGC,cAAM,IAAIC,cAAM,EAAA9C,IAAA;QACtC,CAAC;QACFS,WAAW,EAAE/B,KAAA,CAAKqE,eAAe;QACjCrC,YAAY,EAAEhC,KAAA,CAAKsE,gBAAgB;QACnCrC,YAAY,EAAEjC,KAAA,CAAKuE,gBAAgB;QACnCC,OAAO,EAAE,IAAAC,8DAA8B,EAACzE,KAAA,CAAKgB,OAAO;MACtD,CAAC;;MAED,IAAIhB,KAAA,CAAK0E,eAAe,CAAC,CAAC,EAAE,KAAAC,IAAA,EAAAC,IAAA;QAC1B,IAAM/B,OAAO,GAAG7C,KAAA,CAAKoB,KAAK,CAAC8B,KAAK,KAAKlD,KAAA,CAAKe,OAAO,CAAC8D,UAAU;QAC5D1B,UAAU,CAACN,OAAO,GAAGA,OAAO;QAC5BM,UAAU,CAAC2B,IAAI,GAAG9E,KAAA,CAAKe,OAAO,CAAC+D,IAAI;QACnC3B,UAAU,CAAC4B,wBAAwB,GAAG,IAAI;QAC1ChB,UAAU,CAACxB,SAAS,GAAG,IAAAC,WAAE,EAACC,cAAM,CAAC7C,IAAI,CAACI,KAAA,CAAK2C,KAAK,CAAC,EAAE3C,KAAA,CAAKgE,oBAAoB,CAAC,CAAC,GAAAW,IAAA,OAAAA,IAAA;QAC3ElC,cAAM,CAACwB,WAAW,CAACjE,KAAA,CAAK2C,KAAK,CAAC,IAAGE,OAAO,EAAA8B,IAAA;QACxClC,cAAM,CAACyB,QAAQ,CAAC,CAAC,IAAGC,cAAM,IAAIC,cAAM,EAAAO,IAAA;QACtC,CAAC;QACFrC,UAAU,CAACC,SAAS,GAAG,IAAAC,WAAE,EAACF,UAAU,CAACC,SAAS,GAAAqC,IAAA,OAAAA,IAAA;QAC3CnC,cAAM,CAACI,OAAO,CAAC7C,KAAA,CAAK2C,KAAK,CAAC,IAAGE,OAAO,EAAA+B,IAAA;QACpC5E,KAAA,CAAK8C,uBAAuB,CAAC,CAAC,IAAGD,OAAO,EAAA+B,IAAA;QACxCnC,cAAM,CAACO,eAAe,CAAChD,KAAA,CAAK2C,KAAK,CAAC,IAAGE,OAAO,IAAIrB,QAAQ,EAAAoD,IAAA;QAC1D,CAAC;MACJ;;MAEA;QACEpG,MAAA,CAAA6D,OAAA,CAAA2C,aAAA,cAAA5B,SAAA,CAAAf,OAAA,IAAO,YAAU3C,aAAa,CAACE,IAAK,IAAKmE,UAAU;QACjDvF,MAAA,CAAA6D,OAAA,CAAA2C,aAAA,CAAC3F,oBAAA,CAAA4F,mBAAmB,IAACC,kBAAkB,EAAElF,KAAA,CAAKmF,UAAW;QACvD3G,MAAA,CAAA6D,OAAA,CAAA2C,aAAA,UAAW7B,UAAa;QACL,CAAC;QACtB3E,MAAA,CAAA6D,OAAA,CAAA2C,aAAA,SAAU1C,UAAU;QAClB9D,MAAA,CAAA6D,OAAA,CAAA2C,aAAA,WAAMzC,SAAS,EAAEE,cAAM,CAAC2C,WAAW,CAAC,CAAE,EAAE;QACpC,CAAC;QACNpF,KAAA,CAAKoB,KAAK,CAACiE,QAAQ,IAAIrF,KAAA,CAAKsF,aAAa,CAAC;QACtC,CAAC;;IAEZ,CAAC,CAAAtF,KAAA;;IAEO0E,eAAe,GAAG,oBAAMa,OAAO,CAACvF,KAAA,CAAKe,OAAO,CAAC+D,IAAI,CAAC,GAAA9E,KAAA;;;;;;;;;;;;IAYlD0D,YAAY,GAA+C,UAAC8B,CAAC,EAAK;MACxExF,KAAA,CAAKoB,KAAK,CAACc,aAAa,YAAxBlC,KAAA,CAAKoB,KAAK,CAACc,aAAa,CAAGlC,KAAA,CAAKoB,KAAK,CAAC8B,KAAK,CAAC;;MAE5C,IAAIlD,KAAA,CAAK0E,eAAe,CAAC,CAAC,EAAE;QAC1B1E,KAAA,CAAKe,OAAO,CAAC0E,QAAQ,CAACzF,KAAA,CAAKoB,KAAK,CAAC8B,KAAK,CAAC;MACzC;;MAEAlD,KAAA,CAAKoB,KAAK,CAACqC,QAAQ,YAAnBzD,KAAA,CAAKoB,KAAK,CAACqC,QAAQ,CAAG+B,CAAC,CAAC;IAC1B,CAAC,CAAAxF,KAAA;;IAEOqE,eAAe,GAA8C,UAACmB,CAAC,EAAK;MAC1ExF,KAAA,CAAKoB,KAAK,CAACW,WAAW,YAAtB/B,KAAA,CAAKoB,KAAK,CAACW,WAAW,CAAGyD,CAAC,CAAC;IAC7B,CAAC,CAAAxF,KAAA;;IAEOsE,gBAAgB,GAA8C,UAACkB,CAAC,EAAK;MAC3ExF,KAAA,CAAKoB,KAAK,CAACY,YAAY,YAAvBhC,KAAA,CAAKoB,KAAK,CAACY,YAAY,CAAGwD,CAAC,CAAC;IAC9B,CAAC,CAAAxF,KAAA;;IAEOuE,gBAAgB,GAA8C,UAACiB,CAAC,EAAK;MAC3ExF,KAAA,CAAKoB,KAAK,CAACa,YAAY,YAAvBjC,KAAA,CAAKoB,KAAK,CAACa,YAAY,CAAGuD,CAAC,CAAC;IAC9B,CAAC,CAAAxF,KAAA;;IAEO4D,WAAW,GAAG,UAAC4B,CAAwB,EAAK;MAClD,IAAI,CAACxF,KAAA,CAAKe,OAAO,CAACS,QAAQ,EAAE;QAC1B;QACA;QACAkE,0BAAY,CAACC,qBAAqB,YAAlCD,0BAAY,CAACC,qBAAqB,CAAG,YAAM;UACzC,IAAIC,wBAAW,CAACC,cAAc,IAAID,wBAAW,CAACE,YAAY,EAAE;YAC1D9F,KAAA,CAAK+F,QAAQ,CAAC,EAAEpF,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;UAC5C;QACF,CAAC,CAAC;;QAEF,IAAIX,KAAA,CAAKoB,KAAK,CAACuC,OAAO,EAAE;UACtB3D,KAAA,CAAKoB,KAAK,CAACuC,OAAO,CAAC6B,CAAC,CAAC;QACvB;MACF;IACF,CAAC,CAAAxF,KAAA;;IAEOmF,UAAU,GAAG,oBAAMnF,KAAA,CAAK+F,QAAQ,CAAC,EAAEpF,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,GAAAX,KAAA;;IAE9D8D,UAAU,GAAG,UAAC0B,CAAqC,EAAK;MAC9DxF,KAAA,CAAKmF,UAAU,CAAC,CAAC;MACjBnF,KAAA,CAAKoB,KAAK,CAACyC,MAAM,YAAjB7D,KAAA,CAAKoB,KAAK,CAACyC,MAAM,CAAG2B,CAAC,CAAC;IACxB,CAAC,QAAAxF,KAAA,MAAAgG,eAAA,CAAA3D,OAAA,EAAAxC,KAAA,EAAAE,gBAAA,MAAAkG,MAAA,GAAApG,KAAA,CAAAqG,SAAA,CAAAD,MAAA,CAhNOjC,oBAAoB,GAA5B,SAAAA,qBAAA,EAA+B,CAC7B,QAAQ,IAAI,CAACpD,QAAQ,CAAC,CAAC,CAACiB,IAAI,GAC1B,KAAK,OAAO,CACV,OAAOY,cAAM,CAAC0D,SAAS,CAAC,IAAI,CAACxD,KAAK,CAAC,CACrC,KAAK,QAAQ,CACX,OAAOF,cAAM,CAAC2D,UAAU,CAAC,IAAI,CAACzD,KAAK,CAAC,CACtC,KAAK,OAAO,CACZ,QACE,OAAOF,cAAM,CAAC4D,SAAS,CAAC,IAAI,CAAC1D,KAAK,CAAC,CACvC,CACF,CAAC,CAAAsD,MAAA,CAEOrD,sBAAsB,GAA9B,SAAAA,uBAAA,EAAiC,CAC/B,QAAQ,IAAI,CAAChC,QAAQ,CAAC,CAAC,CAACiB,IAAI,GAC1B,KAAK,OAAO,CACV,OAAOY,cAAM,CAAC6D,WAAW,CAAC,IAAI,CAAC3D,KAAK,CAAC,CACvC,KAAK,QAAQ,CACX,OAAOF,cAAM,CAAC8D,YAAY,CAAC,IAAI,CAAC5D,KAAK,CAAC,CACxC,KAAK,OAAO,CACZ,QACE,OAAOF,cAAM,CAAC+D,WAAW,CAAC,IAAI,CAAC7D,KAAK,CAAC,CACzC,CACF,CAAC,CAAAsD,MAAA,CAEOnD,uBAAuB,GAA/B,SAAAA,wBAAA,EAAkC,CAChC,QAAQ,IAAI,CAAClC,QAAQ,CAAC,CAAC,CAACiB,IAAI,GAC1B,KAAK,OAAO,CACV,OAAOY,cAAM,CAACgE,YAAY,CAAC,IAAI,CAAC9D,KAAK,CAAC,CACxC,KAAK,QAAQ,CACX,OAAOF,cAAM,CAACiE,aAAa,CAAC,IAAI,CAAC/D,KAAK,CAAC,CACzC,KAAK,OAAO,CACZ,QACE,OAAOF,cAAM,CAACkE,YAAY,CAAC,IAAI,CAAChE,KAAK,CAAC,CAC1C,CACF,CAAC,CAAAsD,MAAA,CAEMW,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACErI,MAAA,CAAA6D,OAAA,CAAA2C,aAAA,CAACpG,aAAA,CAAAkI,YAAY,CAACC,QAAQ,QACnB,UAACpE,KAAK,EAAK,CACVkE,MAAI,CAAClE,KAAK,GAAGA,KAAK,CAClB,oBACEnE,MAAA,CAAA6D,OAAA,CAAA2C,aAAA,CAACnG,cAAA,CAAAmI,aAAa,MAAA5D,SAAA,CAAAf,OAAA,IAAC4E,WAAW,EAAEJ,MAAI,CAACK,WAAY,IAAKL,MAAI,CAACjG,QAAQ,CAAC,CAAC,GAC9DiG,MAAI,CAAC1F,UACO,CAAC,CAEpB,CACqB,CAAC,CAE5B,CAAC,CAED;AACF;AACA,KAFE,CAAA8E,MAAA,CAGOlD,KAAK,GAAZ,SAAAA,MAAA,EAAe,KAAAoE,qBAAA,CACbvB,wBAAW,CAACE,YAAY,GAAG,IAAI,CAC/B,CAAAqB,qBAAA,OAAI,CAACnG,OAAO,CAACoG,OAAO,aAApBD,qBAAA,CAAsBpE,KAAK,CAAC,CAAC,CAC/B,CAAC,CAED;AACF;AACA,KAFE,CAAAkD,MAAA,CAGOoB,IAAI,GAAX,SAAAA,KAAA,EAAc,KAAAC,sBAAA,CACZ,CAAAA,sBAAA,OAAI,CAACtG,OAAO,CAACoG,OAAO,aAApBE,sBAAA,CAAsBD,IAAI,CAAC,CAAC,CAC9B,CAAC,CAAApB,MAAA,CA2FOX,aAAa,GAArB,SAAAA,cAAA,EAAwB,KAAAiC,IAAA,CACtB,IAAMC,iBAAiB,GAAG,IAAAhF,WAAE,GAAA+E,IAAA,OAAAA,IAAA,CACzB9E,cAAM,CAACgF,OAAO,CAAC,IAAI,CAAC9E,KAAK,CAAC,IAAG,IAAI,EAAA4E,IAAA,CACjC9E,cAAM,CAACiF,eAAe,CAAC,IAAI,CAAC/E,KAAK,CAAC,IAAG,CAAC,EAAE,IAAI,CAACvB,KAAK,CAACI,QAAQ,IAAI,IAAI,CAACT,OAAO,CAACS,QAAQ,CAAC,EAAA+F,IAAA,CACrF9E,cAAM,CAACkF,WAAW,CAAC,CAAC,IAAGxD,cAAM,IAAIC,cAAM,EAAAmD,IAAA,CACzC,CAAC,CAEF,oBAAO/I,MAAA,CAAA6D,OAAA,CAAA2C,aAAA,UAAKzC,SAAS,EAAEiF,iBAAkB,IAAE,IAAI,CAACpG,KAAK,CAACiE,QAAc,CAAC,CACvE,CAAC,QAAAxF,KAAA,GAzL2BoB,cAAK,CAAC2G,SAAS,GAAAnI,MAAA,CAC7BoI,mBAAmB,GAAG,OAAO,EAAApI,MAAA,CAC7BqI,WAAW,GAAG,OAAO,EAAArI,MAAA,CAMrBqB,YAAY,GAAiB,EACzCgB,OAAO,EAAE,KAAK,EACdD,IAAI,EAAE,OAAO,CACf,CAAC,EAAApC,MAAA,CAIasI,WAAW,GAAGC,oCAAiB,EAAAvI,MAAA,MAAAD,MAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_ThemeContext","_CommonWrapper","_Emotion","_keyListener","_rootNode","_fixFirefoxModifiedClickOnLabel","_client","_RadioGroupContext","_createPropsGetter","_FocusControlWrapper","_Radio2","_excluded","_class","_Radio","RadioDataTids","exports","root","Radio","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","focusedByKeyboard","getProps","createPropsGetter","defaultProps","context","inputEl","React","createRef","renderMain","props","_cx","_cx2","_props$disabled","disabled","_props$warning","warning","_props$error","error","size","focused","onMouseOver","onMouseEnter","onMouseLeave","onValueChange","rest","_objectWithoutPropertiesLoose2","default","radioProps","className","cx","styles","circle","theme","getCircleSizeClassName","checked","getCheckedSizeClassName","focus","checkedDisabled","globalClasses","value","inputProps","_extends2","type","input","tabIndex","ref","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","labelProps","getRootSizeClassName","rootChecked","rootIE11","isIE11","isEdge","handleMouseOver","handleMouseEnter","handleMouseLeave","onClick","fixFirefoxModifiedClickOnLabel","_isInRadioGroup","_cx3","_cx4","activeItem","name","suppressHydrationWarning","createElement","FocusControlWrapper","onBlurWhenDisabled","resetFocus","placeholder","children","renderCaption","Boolean","e","onSelect","globalObject","requestAnimationFrame","keyListener","isArrowPressed","isTabPressed","setState","_inheritsLoose2","_proto","prototype","rootLarge","rootMedium","rootSmall","circleLarge","circleMedium","circleSmall","checkedLarge","checkedMedium","checkedSmall","render","_this2","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","_this$inputEl$current","current","blur","_this$inputEl$current2","_cx5","captionClassNames","caption","captionDisabled","captionIE11","Component","__KONTUR_REACT_UI__","displayName","contextType","RadioGroupContext"],"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":[]}
|
|
@@ -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} />
|
|
@@ -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;
|
|
@@ -68,16 +68,6 @@ var _RadioGroupContext = require("./RadioGroupContext");var _class, _RadioGroup;
|
|
|
68
68
|
|
|
69
69
|
|
|
70
70
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
71
|
|
|
82
72
|
|
|
83
73
|
|
|
@@ -96,13 +86,12 @@ var RadioGroupDataTids = exports.RadioGroupDataTids = {
|
|
|
96
86
|
|
|
97
87
|
|
|
98
88
|
/**
|
|
89
|
+
* Группа радиокнопок `RadioGroup` используется для выбора одного значения из нескольких, когда вариантов выбора немного — 2–5.
|
|
99
90
|
*
|
|
100
|
-
* `children` может содержать любую разметку с компонентами Radio,
|
|
101
|
-
*
|
|
102
|
-
* Каждому компоненту Radio нужно указать параметр `value`, такого же типа
|
|
103
|
-
* как и параметр `value` самой радиогруппы.
|
|
91
|
+
* `children` может содержать любую разметку с компонентами Radio, если не передан параметр `items`.
|
|
92
|
+
* Каждому компоненту Radio нужно указать параметр `value`, такого же типа, как и параметр `value` самой радиогруппы.
|
|
104
93
|
*
|
|
105
|
-
* Значения активного элемента сравниваются по строгому равенству
|
|
94
|
+
* Значения активного элемента сравниваются по строгому равенству `===`.
|
|
106
95
|
*/var
|
|
107
96
|
|
|
108
97
|
RadioGroup = exports.RadioGroup = (0, _rootNode.rootNode)(_class = (_RadioGroup = /*#__PURE__*/function (_React$Component) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_invariant","_utils","_Radio","_createPropsGetter","_FocusTrap","_CommonWrapper","_Emotion","_rootNode","_getVisualStateDataAttributes","_RadioGroup2","_Prevent","_RadioGroupContext","_class","_RadioGroup","RadioGroupDataTids","exports","root","RadioGroup","rootNode","_React$Component","props","_this","call","name","getRandomID","getProps","createPropsGetter","defaultProps","getRadioGroupContextValue","activeItem","getValue","onSelect","handleSelect","getName","disabled","error","warning","isControlled","value","state","isNonNullable","setState","onValueChange","renderRadio","itemValue","data","index","_cx","itemProps","key","getKeyByItem","className","cx","styles","item","itemFirst","itemInline","inline","default","createElement","_extends2","role","Radio","renderItem","toKey","undefined","ref","element","node","defaultValue","_inheritsLoose2","_proto","prototype","render","_this$props","width","onMouseLeave","onMouseOver","onMouseEnter","onBlur","ariaDescribedby","style","handlers","CommonWrapper","rootNodeRef","setRootNode","getVisualStateDataAttributes","FocusTrap","RadioGroupContext","Provider","renderChildren","focus","radio","querySelector","_this$props2","items","children","invariant","mapItems","React","Component","__KONTUR_REACT_UI__","displayName","Prevent","_value","fn","result","_iterator","_createForOfIteratorHelperLoose2","_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","_interopRequireDefault","require","_invariant","_utils","_Radio","_createPropsGetter","_FocusTrap","_CommonWrapper","_Emotion","_rootNode","_getVisualStateDataAttributes","_RadioGroup2","_Prevent","_RadioGroupContext","_class","_RadioGroup","RadioGroupDataTids","exports","root","RadioGroup","rootNode","_React$Component","props","_this","call","name","getRandomID","getProps","createPropsGetter","defaultProps","getRadioGroupContextValue","activeItem","getValue","onSelect","handleSelect","getName","disabled","error","warning","isControlled","value","state","isNonNullable","setState","onValueChange","renderRadio","itemValue","data","index","_cx","itemProps","key","getKeyByItem","className","cx","styles","item","itemFirst","itemInline","inline","default","createElement","_extends2","role","Radio","renderItem","toKey","undefined","ref","element","node","defaultValue","_inheritsLoose2","_proto","prototype","render","_this$props","width","onMouseLeave","onMouseOver","onMouseEnter","onBlur","ariaDescribedby","style","handlers","CommonWrapper","rootNodeRef","setRootNode","getVisualStateDataAttributes","FocusTrap","RadioGroupContext","Provider","renderChildren","focus","radio","querySelector","_this$props2","items","children","invariant","mapItems","React","Component","__KONTUR_REACT_UI__","displayName","Prevent","_value","fn","result","_iterator","_createForOfIteratorHelperLoose2","_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":"6eAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;;AAEA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;;AAEA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,6BAAA,GAAAT,OAAA;;AAEA,IAAAU,YAAA,GAAAV,OAAA;AACA,IAAAW,QAAA,GAAAX,OAAA;AACA,IAAAY,kBAAA,GAAAZ,OAAA,wBAA+E,IAAAa,MAAA,EAAAC,WAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkExE,IAAMC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG;EAChCE,IAAI,EAAE;AACR,CAAU;;;;AAIV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAPA;;AASaC,UAAU,GAAAF,OAAA,CAAAE,UAAA,OADtBC,kBAAQ,EAAAN,MAAA,IAAAC,WAAA,0BAAAM,gBAAA;;;;;;;;;;;;;;;EAgBP,SAAAF,WAAYG,KAAyB,EAAE,KAAAC,KAAA;IACrCA,KAAA,GAAAF,gBAAA,CAAAG,IAAA,OAAMF,KAAK,CAAC,SAACC,KAAA,CALPE,IAAI,GAAG,IAAAC,kBAAW,EAAC,CAAC,CAAAH,KAAA,CACpBI,QAAQ,GAAG,IAAAC,oCAAiB,EAACT,UAAU,CAACU,YAAY,CAAC,CAAAN,KAAA;;;;;;;IAWrDO,yBAAyB,GAAG,YAAgC;MAClE,OAAO;QACLC,UAAU,EAAER,KAAA,CAAKS,QAAQ,CAAC,CAAC;QAC3BC,QAAQ,EAAEV,KAAA,CAAKW,YAAY;QAC3BT,IAAI,EAAEF,KAAA,CAAKY,OAAO,CAAC,CAAC;QACpBC,QAAQ,EAAEb,KAAA,CAAKD,KAAK,CAACc,QAAQ;QAC7BC,KAAK,EAAEd,KAAA,CAAKD,KAAK,CAACe,KAAK;QACvBC,OAAO,EAAEf,KAAA,CAAKD,KAAK,CAACgB;MACtB,CAAC;IACH,CAAC,CAAAf,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+DOS,QAAQ,GAAG,oBAAOT,KAAA,CAAKgB,YAAY,CAAC,CAAC,GAAGhB,KAAA,CAAKD,KAAK,CAACkB,KAAK,GAAGjB,KAAA,CAAKkB,KAAK,CAACV,UAAU,EAAC,CAAAR,KAAA;;IAEjFY,OAAO,GAAG,oBAAMZ,KAAA,CAAKD,KAAK,CAACG,IAAI,IAAIF,KAAA,CAAKE,IAAI,GAAAF,KAAA;;IAE5CgB,YAAY,GAAG,oBAAM,IAAAG,oBAAa,EAACnB,KAAA,CAAKD,KAAK,CAACkB,KAAK,CAAC,GAAAjB,KAAA;;IAEpDW,YAAY,GAAG,UAACM,KAAQ,EAAK;MACnC,IAAI,CAACjB,KAAA,CAAKgB,YAAY,CAAC,CAAC,EAAE;QACxBhB,KAAA,CAAKoB,QAAQ,CAAC,EAAEZ,UAAU,EAAES,KAAK,CAAC,CAAC,CAAC;MACtC;MACA,IAAIjB,KAAA,CAAKD,KAAK,CAACsB,aAAa,EAAE;QAC5BrB,KAAA,CAAKD,KAAK,CAACsB,aAAa,CAACJ,KAAK,CAAC;MACjC;IACF,CAAC,CAAAjB,KAAA;;;;;;;;IAQOsB,WAAW,GAAG,UAACC,SAAY,EAAEC,IAAqB,EAAEC,KAAa,EAAkB,KAAAC,GAAA;MACzF,IAAMC,SAAS,GAAG;QAChBC,GAAG,EAAE5B,KAAA,CAAK6B,YAAY,CAACN,SAAS,CAAC;QACjCO,SAAS,EAAE,IAAAC,WAAE,GAAAL,GAAA,OAAAA,GAAA;QACVM,mBAAM,CAACC,IAAI,CAAC,CAAC,IAAG,IAAI,EAAAP,GAAA;QACpBM,mBAAM,CAACE,SAAS,CAAC,CAAC,IAAGT,KAAK,KAAK,CAAC,EAAAC,GAAA;QAChCM,mBAAM,CAACG,UAAU,CAAC,CAAC,IAAG,CAAC,CAACnC,KAAA,CAAKD,KAAK,CAACqC,MAAM,EAAAV,GAAA;QAC3C;MACH,CAAC;;MAED;QACElD,MAAA,CAAA6D,OAAA,CAAAC,aAAA,aAAAC,SAAA,CAAAF,OAAA,MAAUV,SAAS,IAAEa,IAAI,EAAC,cAAc;QACtChE,MAAA,CAAA6D,OAAA,CAAAC,aAAA,CAACzD,MAAA,CAAA4D,KAAK,IAACxB,KAAK,EAAEM,SAAU,IAAEvB,KAAA,CAAKI,QAAQ,CAAC,CAAC,CAACsC,UAAU,CAACnB,SAAS,EAAEC,IAAI,CAAS;QACzE,CAAC;;IAEX,CAAC,CAAAxB,KAAA;;IAEO6B,YAAY,GAAG,UAACN,SAAY,EAAK;MACvC,IAAIvB,KAAA,CAAKD,KAAK,CAAC4C,KAAK,EAAE;QACpB,OAAO3C,KAAA,CAAKD,KAAK,CAAC4C,KAAK,CAACpB,SAAS,CAAC;MACpC;MACA,OAAO,OAAOA,SAAS,KAAK,QAAQ,IAAI,OAAOA,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAGqB,SAAS;IAC/F,CAAC,CAAA5C,KAAA;;IAEO6C,GAAG,GAAG,UAACC,OAAwB,EAAK;MAC1C9C,KAAA,CAAK+C,IAAI,GAAGD,OAAO;IACrB,CAAC,CA5HC9C,KAAA,CAAKkB,KAAK,GAAG,EACXV,UAAU,EAAER,KAAA,CAAKD,KAAK,CAACiD,YAAY,CACrC,CAAC,CAAC,OAAAhD,KAAA,CACJ,CAAC,IAAAiD,eAAA,CAAAZ,OAAA,EAAAzC,UAAA,EAAAE,gBAAA,MAAAoD,MAAA,GAAAtD,UAAA,CAAAuD,SAAA,CAAAD,MAAA,CAaME,MAAM,GAAb,SAAAA,OAAA,EAAgB,CACd,IAAAC,WAAA,GAQI,IAAI,CAACtD,KAAK,CAPZuD,KAAK,GAAAD,WAAA,CAALC,KAAK,CACLC,YAAY,GAAAF,WAAA,CAAZE,YAAY,CACZC,WAAW,GAAAH,WAAA,CAAXG,WAAW,CACXC,YAAY,GAAAJ,WAAA,CAAZI,YAAY,CACZC,MAAM,GAAAL,WAAA,CAANK,MAAM,CACcC,eAAe,GAAAN,WAAA,CAAnC,kBAAkB,EAClBxC,QAAQ,GAAAwC,WAAA,CAARxC,QAAQ,CAEV,IAAM+C,KAAK,GAAG,EACZN,KAAK,EAAEA,KAAK,WAALA,KAAK,GAAI,MAAM,CACxB,CAAC,CACD,IAAMO,QAAQ,GAAG,EACfL,WAAW,EAAXA,WAAW,EACXC,YAAY,EAAZA,YAAY,EACZF,YAAY,EAAZA,YAAY,CACd,CAAC,CAED,oBACE/E,MAAA,CAAA6D,OAAA,CAAAC,aAAA,CAACtD,cAAA,CAAA8E,aAAa,MAAAvB,SAAA,CAAAF,OAAA,IAAC0B,WAAW,EAAE,IAAI,CAACC,WAAY,IAAK,IAAI,CAACjE,KAAK,EAAM,IAAAkE,0DAA4B,EAAC,EAAEpD,QAAQ,EAARA,QAAQ,CAAC,CAAC,CAAC,gBAC1GrC,MAAA,CAAA6D,OAAA,CAAAC,aAAA,CAACvD,UAAA,CAAAmF,SAAS,IAACR,MAAM,EAAEA,MAAO,iBACxBlF,MAAA,CAAA6D,OAAA,CAAAC,aAAA,aAAAC,SAAA,CAAAF,OAAA,IACE,YAAU5C,kBAAkB,CAACE,IAAK,EAClCkD,GAAG,EAAE,IAAI,CAACA,GAAI,EACde,KAAK,EAAEA,KAAM,EACb9B,SAAS,EAAEE,mBAAM,CAACrC,IAAI,CAAC,CAAE,EACzB6C,IAAI,EAAC,YAAY,IACbqB,QAAQ,IACZ,oBAAkBF,eAAgB,kBAElCnF,MAAA,CAAA6D,OAAA,CAAAC,aAAA,CAAChD,kBAAA,CAAA6E,iBAAiB,CAACC,QAAQ,IAACnD,KAAK,EAAE,IAAI,CAACV,yBAAyB,CAAC,CAAE,IACjE,IAAI,CAAC8D,cAAc,CAAC,CACK,CACxB,CACG,CACE,CAAC,CAEpB,CAAC,CAED;AACF;AACA,KAFE,CAAAnB,MAAA,CAGOoB,KAAK,GAAZ,SAAAA,MAAA,EAAe,CACb,IAAMvB,IAAI,GAAG,IAAI,CAACA,IAAI,CACtB,IAAI,CAACA,IAAI,EAAE,CACT,OACF,CAEA,IAAIwB,KAAK,GAAGxB,IAAI,CAACyB,aAAa,CAAC,6BAA6B,CAA+B,CAAC,CAE5F;IACA,IAAI,CAACD,KAAK,IAAIA,KAAK,CAAC1D,QAAQ,EAAE,CAC5B0D,KAAK,GAAGxB,IAAI,CAACyB,aAAa,CAAC,qCAAqC,CAA+B,CACjG,CAEA,IAAID,KAAK,EAAE,CACTA,KAAK,CAACD,KAAK,CAAC,CAAC,CACf,CACF,CAAC,CAAApB,MAAA,CAiBOmB,cAAc,GAAtB,SAAAA,eAAA,EAAyB,CACvB,IAAAI,YAAA,GAA4B,IAAI,CAAC1E,KAAK,CAA9B2E,KAAK,GAAAD,YAAA,CAALC,KAAK,CAAEC,QAAQ,GAAAF,YAAA,CAARE,QAAQ,CACvB,IAAAC,kBAAS,EAAE,CAACF,KAAK,IAAIC,QAAQ,IAAMD,KAAK,IAAI,CAACC,QAAS,EAAE,mDAAmD,CAAC,CAC5G,OAAOD,KAAK,GAAGG,QAAQ,CAAI,IAAI,CAACvD,WAAW,EAAEoD,KAAK,CAAC,GAAGC,QAAQ,CAChE,CAAC,QAAA/E,UAAA,GAlHgCkF,cAAK,CAACC,SAAS,GAAAvF,WAAA,CAClCwF,mBAAmB,GAAG,YAAY,EAAAxF,WAAA,CAClCyF,WAAW,GAAG,YAAY,EAAAzF,WAAA,CAE1Bc,YAAY,GAAiB,EACzCoC,UAAU,EAAVA,UAAU,CACZ,CAAC,EAAAlD,WAAA,CAEa0F,OAAO,GAAGA,gBAAO,EAAA1F,WAAA,MAAAD,MAAA,CAyIjC,SAASmD,UAAUA,CAAIyC,MAAS,EAAE3D,IAAqB,EAAE;EACvD,OAAOA,IAAI;AACb;;AAEA,SAASqD,QAAQA;AACfO,EAAuE;AACvEV,KAAwC;AACxC;EACA,IAAMW,MAAyB,GAAG,EAAE;EACpC,IAAI5D,KAAK,GAAG,CAAC;EACb,SAAA6D,SAAA,OAAAC,gCAAA,CAAAlD,OAAA,EAAoBqC,KAAK,GAAAc,KAAA,IAAAA,KAAA,GAAAF,SAAA,IAAAG,IAAA,GAAE,KAAhBC,KAAK,GAAAF,KAAA,CAAAvE,KAAA;IACd,IAAA0E,eAAA,GAAsBC,cAAc,CAAIF,KAAK,CAAC,CAAvCzE,KAAK,GAAA0E,eAAA,IAAEnE,IAAI,GAAAmE,eAAA;IAClBN,MAAM,CAACQ,IAAI,CAACT,EAAE,CAACnE,KAAK,EAAEO,IAAI,EAAEC,KAAK,CAAC,CAAC;IACnC,EAAEA,KAAK;EACT;EACA,OAAO4D,MAAM;AACf;;AAEA,SAASO,cAAcA,CAAIF,KAA+B,EAAwB;EAChF,IAAI,CAACI,KAAK,CAACC,OAAO,CAACL,KAAK,CAAC,EAAE;IACzB,OAAO,CAACA,KAAK,EAAEA,KAAK,CAA+B;EACrD;EACA,OAAOA,KAAK;AACd","ignoreList":[]}
|
|
@@ -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} />
|
|
@@ -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 {
|
|
@@ -12,10 +12,14 @@ var _useResponsiveLayout = require("./useResponsiveLayout");
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
15
20
|
/**
|
|
16
|
-
* Компонент для определения текущего лэйаута.
|
|
21
|
+
* Компонент `ResponsiveLayout` для определения текущего лэйаута.
|
|
17
22
|
*/
|
|
18
|
-
|
|
19
23
|
function ResponsiveLayout(props) {var _props$children, _props$children2;
|
|
20
24
|
var layoutFlags = (0, _useResponsiveLayout.useResponsiveLayout)({ customMediaQueries: props.customMediaQueries });
|
|
21
25
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_utils","_CommonWrapper","_useResponsiveLayout","ResponsiveLayout","props","_props$children","_props$children2","layoutFlags","useResponsiveLayout","customMediaQueries","useEffect","onLayoutChange","default","createElement","CommonWrapper","isFunction","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","_interopRequireWildcard","require","_utils","_CommonWrapper","_useResponsiveLayout","ResponsiveLayout","props","_props$children","_props$children2","layoutFlags","useResponsiveLayout","customMediaQueries","useEffect","onLayoutChange","default","createElement","CommonWrapper","isFunction","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":"kLAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;;;AAGA,IAAAG,oBAAA,GAAAH,OAAA;;;;;;;;;;;;;AAaA;AACA;AACA;AACO,SAASI,gBAAgBA,CAA2CC,KAA+B,EAAE,KAAAC,eAAA,EAAAC,gBAAA;EAC1G,IAAMC,WAAW,GAAG,IAAAC,wCAAmB,EAAI,EAAEC,kBAAkB,EAAEL,KAAK,CAACK,kBAAkB,CAAC,CAAC,CAAC;;EAE5F,IAAAC,gBAAS,EAAC,YAAM;IACd,IAAIN,KAAK,CAACO,cAAc,EAAE;MACxBP,KAAK,CAACO,cAAc,CAACJ,WAAW,CAAC;IACnC;EACF,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;;EAEjB;IACEV,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACZ,cAAA,CAAAa,aAAa,EAAKV,KAAK;IACrB,IAAAW,iBAAU,EAACX,KAAK,CAACY,QAAQ,CAAC,IAAAX,eAAA,GAAGD,KAAK,CAACY,QAAQ,CAACT,WAAW,CAAC,YAAAF,eAAA,GAAI,IAAI,IAAAC,gBAAA,GAAGF,KAAK,CAACY,QAAQ,YAAAV,gBAAA,GAAI;IACzE,CAAC;;AAEpB;;AAEAH,gBAAgB,CAACc,mBAAmB,GAAG,kBAAkB;AACzDd,gBAAgB,CAACe,WAAW,GAAG,kBAAkB","ignoreList":[]}
|