@nypl/design-system-react-components 0.25.13 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +85 -0
- package/README.md +10 -10
- package/dist/components/Accordion/Accordion.d.ts +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +1 -1
- package/dist/components/Button/Button.d.ts +2 -2
- package/dist/components/Card/Card.d.ts +11 -9
- package/dist/components/Checkbox/Checkbox.d.ts +2 -2
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +5 -4
- package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts +5 -6
- package/dist/components/Fieldset/Fieldset.d.ts +5 -6
- package/dist/components/Form/Form.d.ts +6 -6
- package/dist/components/Grid/GridTypes.d.ts +7 -7
- package/dist/components/Grid/SimpleGrid.d.ts +1 -1
- package/dist/components/Heading/Heading.d.ts +1 -1
- package/dist/components/HelperErrorText/HelperErrorText.d.ts +9 -8
- package/dist/components/Hero/Hero.d.ts +2 -1
- package/dist/components/HorizontalRule/HorizontalRule.d.ts +2 -10
- package/dist/components/Icons/Icon.d.ts +2 -1
- package/dist/components/Image/Image.d.ts +2 -2
- package/dist/components/Label/Label.d.ts +7 -4
- package/dist/components/Link/Link.d.ts +1 -1
- package/dist/components/List/List.d.ts +11 -11
- package/dist/components/List/ListTypes.d.ts +1 -1
- package/dist/components/Logo/Logo.d.ts +2 -1
- package/dist/components/Logo/LogoSvgs.d.ts +2 -0
- package/dist/components/Logo/LogoTypes.d.ts +2 -0
- package/dist/components/Modal/Modal.d.ts +28 -8
- package/dist/components/Notification/Notification.d.ts +4 -4
- package/dist/components/Pagination/Pagination.d.ts +2 -2
- package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +3 -3
- package/dist/components/Radio/Radio.d.ts +4 -6
- package/dist/components/RadioGroup/RadioGroup.d.ts +12 -6
- package/dist/components/SearchBar/SearchBar.d.ts +4 -4
- package/dist/components/Select/Select.d.ts +10 -6
- package/dist/components/Select/SelectTypes.d.ts +4 -0
- package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +4 -3
- package/dist/components/Slider/Slider.d.ts +6 -4
- package/dist/components/StatusBadge/StatusBadge.d.ts +5 -1
- package/dist/components/StructuredContent/StructuredContent.d.ts +2 -2
- package/dist/components/Table/Table.d.ts +1 -1
- package/dist/components/Tabs/Tabs.d.ts +4 -3
- package/dist/components/Template/Template.d.ts +4 -3
- package/dist/components/Text/Text.d.ts +1 -1
- package/dist/components/TextInput/TextInput.d.ts +5 -5
- package/dist/components/Toggle/Toggle.d.ts +3 -4
- package/dist/components/VideoPlayer/VideoPlayer.d.ts +2 -1
- package/dist/design-system-react-components.cjs.development.js +1767 -1180
- package/dist/design-system-react-components.cjs.development.js.map +1 -1
- package/dist/design-system-react-components.cjs.production.min.js +1 -1
- package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
- package/dist/design-system-react-components.esm.js +1774 -1188
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/hooks/useCarouselStyles.d.ts +3 -2
- package/dist/hooks/useNYPLTheme.d.ts +12 -0
- package/dist/index.d.ts +5 -2
- package/dist/styles.css +1 -1
- package/dist/theme/components/button.d.ts +10 -2
- package/dist/theme/components/card.d.ts +42 -22
- package/dist/theme/components/checkbox.d.ts +5 -4
- package/dist/theme/components/checkboxGroup.d.ts +1 -1
- package/dist/theme/components/componentWrapper.d.ts +2 -2
- package/dist/theme/components/customTable.d.ts +84 -1
- package/dist/theme/components/fieldset.d.ts +4 -14
- package/dist/theme/components/global.d.ts +23 -17
- package/dist/theme/components/heading.d.ts +53 -0
- package/dist/theme/components/helperErrorText.d.ts +1 -0
- package/dist/theme/components/hero.d.ts +20 -14
- package/dist/theme/components/label.d.ts +9 -10
- package/dist/theme/components/list.d.ts +99 -9
- package/dist/theme/components/radio.d.ts +6 -4
- package/dist/theme/components/radioGroup.d.ts +1 -1
- package/dist/theme/components/select.d.ts +28 -5
- package/dist/theme/components/skeletonLoader.d.ts +2 -2
- package/dist/theme/components/slider.d.ts +6 -3
- package/dist/theme/components/structuredContent.d.ts +197 -0
- package/dist/theme/components/textInput.d.ts +18 -6
- package/dist/theme/components/toggle.d.ts +7 -4
- package/dist/theme/foundations/global.d.ts +2 -0
- package/dist/theme/foundations/radii.d.ts +1 -0
- package/dist/theme/foundations/spacing.d.ts +46 -43
- package/package.json +17 -19
- package/src/components/Accordion/Accordion.stories.mdx +9 -9
- package/src/components/Accordion/Accordion.test.tsx +21 -0
- package/src/components/Accordion/Accordion.tsx +13 -9
- package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +276 -27
- package/src/components/Autosuggest/Autosuggest.stories.mdx +4 -3
- package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +21 -5
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +52 -31
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +8 -7
- package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +211 -12
- package/src/components/Button/Button.stories.mdx +87 -23
- package/src/components/Button/Button.test.tsx +25 -0
- package/src/components/Button/Button.tsx +18 -7
- package/src/components/Button/__snapshots__/Button.test.tsx.snap +27 -7
- package/src/components/Card/Card.stories.mdx +287 -194
- package/src/components/Card/Card.test.tsx +102 -0
- package/src/components/Card/Card.tsx +73 -32
- package/src/components/Card/__snapshots__/Card.test.tsx.snap +196 -36
- package/src/components/Chakra/Grid.stories.mdx +4 -4
- package/src/components/Checkbox/Checkbox.stories.mdx +62 -10
- package/src/components/Checkbox/Checkbox.test.tsx +32 -9
- package/src/components/Checkbox/Checkbox.tsx +20 -15
- package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +134 -7
- package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +65 -17
- package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +137 -81
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +31 -21
- package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +332 -97
- package/src/components/ComponentWrapper/ComponentWrapper.test.tsx +12 -0
- package/src/components/ComponentWrapper/ComponentWrapper.tsx +39 -41
- package/src/components/ComponentWrapper/__snapshots__/ComponentWrapper.test.tsx.snap +47 -34
- package/src/components/DatePicker/DatePicker.stories.mdx +63 -27
- package/src/components/DatePicker/DatePicker.test.tsx +89 -13
- package/src/components/DatePicker/DatePicker.tsx +62 -56
- package/src/components/DatePicker/_DatePicker.scss +71 -13
- package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +250 -206
- package/src/components/Fieldset/Fieldset.stories.mdx +33 -3
- package/src/components/Fieldset/Fieldset.test.tsx +58 -28
- package/src/components/Fieldset/Fieldset.tsx +35 -30
- package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +40 -19
- package/src/components/Form/Form.stories.mdx +72 -39
- package/src/components/Form/Form.test.tsx +58 -15
- package/src/components/Form/Form.tsx +89 -67
- package/src/components/Form/__snapshots__/Form.test.tsx.snap +83 -5
- package/src/components/Grid/GridTypes.tsx +7 -7
- package/src/components/Grid/SimpleGrid.stories.mdx +34 -6
- package/src/components/Grid/SimpleGrid.test.tsx +9 -0
- package/src/components/Grid/SimpleGrid.tsx +29 -20
- package/src/components/Grid/__snapshots__/SimpleGrid.test.tsx.snap +16 -1
- package/src/components/Heading/Heading.stories.mdx +36 -3
- package/src/components/Heading/Heading.test.tsx +10 -0
- package/src/components/Heading/Heading.tsx +56 -50
- package/src/components/Heading/__snapshots__/Heading.test.tsx.snap +26 -7
- package/src/components/HelperErrorText/HelperErrorText.stories.mdx +64 -42
- package/src/components/HelperErrorText/HelperErrorText.test.tsx +15 -0
- package/src/components/HelperErrorText/HelperErrorText.tsx +40 -35
- package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +35 -4
- package/src/components/Hero/Hero.stories.mdx +125 -95
- package/src/components/Hero/Hero.test.tsx +33 -0
- package/src/components/Hero/Hero.tsx +135 -126
- package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +89 -17
- package/src/components/HorizontalRule/HorizontalRule.stories.mdx +26 -4
- package/src/components/HorizontalRule/HorizontalRule.test.tsx +9 -19
- package/src/components/HorizontalRule/HorizontalRule.tsx +9 -26
- package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +18 -5
- package/src/components/Icons/Icon.stories.mdx +31 -6
- package/src/components/Icons/Icon.test.tsx +38 -0
- package/src/components/Icons/Icon.tsx +93 -76
- package/src/components/Icons/__snapshots__/Icon.test.tsx.snap +129 -0
- package/src/components/Image/Image.stories.mdx +29 -5
- package/src/components/Image/Image.test.tsx +8 -0
- package/src/components/Image/Image.tsx +38 -26
- package/src/components/Image/__snapshots__/Image.test.tsx.snap +24 -8
- package/src/components/Label/Label.stories.mdx +42 -20
- package/src/components/Label/Label.test.tsx +42 -17
- package/src/components/Label/Label.tsx +22 -13
- package/src/components/Label/__snapshots__/Label.test.tsx.snap +19 -15
- package/src/components/Link/Link.stories.mdx +25 -15
- package/src/components/Link/Link.test.tsx +21 -22
- package/src/components/Link/Link.tsx +8 -8
- package/src/components/Link/__snapshots__/Link.test.tsx.snap +37 -11
- package/src/components/List/List.stories.mdx +75 -40
- package/src/components/List/List.test.tsx +67 -19
- package/src/components/List/List.tsx +38 -25
- package/src/components/List/ListTypes.tsx +1 -1
- package/src/components/List/__snapshots__/List.test.tsx.snap +110 -8
- package/src/components/Logo/Logo.stories.mdx +30 -6
- package/src/components/Logo/Logo.test.tsx +17 -0
- package/src/components/Logo/Logo.tsx +18 -6
- package/src/components/Logo/LogoSvgs.tsx +4 -0
- package/src/components/Logo/LogoTypes.tsx +2 -0
- package/src/components/Logo/__snapshots__/Logo.test.tsx.snap +73 -2
- package/src/components/Modal/Modal.stories.mdx +256 -136
- package/src/components/Modal/Modal.test.tsx +151 -9
- package/src/components/Modal/Modal.tsx +140 -20
- package/src/components/Modal/__snapshots__/Modal.test.tsx.snap +25 -0
- package/src/components/Notification/Notification.stories.mdx +25 -1
- package/src/components/Notification/Notification.test.tsx +23 -0
- package/src/components/Notification/Notification.tsx +46 -44
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +158 -29
- package/src/components/Pagination/Pagination.stories.mdx +25 -6
- package/src/components/Pagination/Pagination.test.tsx +25 -0
- package/src/components/Pagination/Pagination.tsx +6 -6
- package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +244 -27
- package/src/components/Placeholder/Placeholder.tsx +3 -1
- package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +76 -10
- package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +81 -11
- package/src/components/ProgressIndicator/ProgressIndicator.tsx +17 -9
- package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +101 -14
- package/src/components/Radio/Radio.stories.mdx +64 -12
- package/src/components/Radio/Radio.test.tsx +28 -8
- package/src/components/Radio/Radio.tsx +66 -63
- package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +103 -6
- package/src/components/RadioGroup/RadioGroup.stories.mdx +224 -89
- package/src/components/RadioGroup/RadioGroup.test.tsx +122 -62
- package/src/components/RadioGroup/RadioGroup.tsx +106 -100
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +1236 -1020
- package/src/components/SearchBar/SearchBar.stories.mdx +101 -36
- package/src/components/SearchBar/{SearchBar.Test.tsx → SearchBar.test.tsx} +46 -4
- package/src/components/SearchBar/SearchBar.tsx +17 -8
- package/src/components/SearchBar/__snapshots__/SearchBar.test.tsx.snap +1039 -0
- package/src/components/Select/Select.stories.mdx +128 -49
- package/src/components/Select/Select.test.tsx +63 -16
- package/src/components/Select/Select.tsx +131 -92
- package/src/components/Select/SelectTypes.tsx +5 -0
- package/src/components/Select/__snapshots__/Select.test.tsx.snap +765 -425
- package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +42 -10
- package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +8 -0
- package/src/components/SkeletonLoader/SkeletonLoader.tsx +76 -72
- package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +169 -10
- package/src/components/Slider/Slider.stories.mdx +91 -42
- package/src/components/Slider/Slider.test.tsx +65 -17
- package/src/components/Slider/Slider.tsx +26 -19
- package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +403 -226
- package/src/components/StatusBadge/StatusBadge.stories.mdx +19 -1
- package/src/components/StatusBadge/StatusBadge.test.tsx +16 -0
- package/src/components/StatusBadge/StatusBadge.tsx +25 -20
- package/src/components/StatusBadge/__snapshots__/StatusBadge.test.tsx.snap +22 -3
- package/src/components/StructuredContent/StructuredContent.stories.mdx +131 -12
- package/src/components/StructuredContent/StructuredContent.test.tsx +34 -0
- package/src/components/StructuredContent/StructuredContent.tsx +80 -75
- package/src/components/StructuredContent/__snapshots__/StructuredContent.test.tsx.snap +102 -17
- package/src/components/StyleGuide/Bidirectionality.stories.mdx +5 -5
- package/src/components/StyleGuide/Breakpoints.stories.mdx +6 -6
- package/src/components/StyleGuide/Buttons.stories.mdx +2 -12
- package/src/components/StyleGuide/ColorCard.tsx +1 -1
- package/src/components/StyleGuide/Colors.stories.mdx +1 -2
- package/src/components/StyleGuide/DesignTokens.stories.mdx +56 -26
- package/src/components/StyleGuide/Forms.stories.mdx +27 -12
- package/src/components/StyleGuide/Iconography.stories.mdx +2 -12
- package/src/components/StyleGuide/Spacing.stories.mdx +80 -41
- package/src/components/StyleGuide/Typography.stories.mdx +30 -21
- package/src/components/Table/Table.stories.mdx +38 -11
- package/src/components/Table/Table.test.tsx +15 -0
- package/src/components/Table/Table.tsx +7 -7
- package/src/components/Table/__snapshots__/Table.test.tsx.snap +408 -5
- package/src/components/Tabs/Tabs.stories.mdx +52 -3
- package/src/components/Tabs/Tabs.test.tsx +16 -0
- package/src/components/Tabs/Tabs.tsx +10 -6
- package/src/components/Tabs/__snapshots__/Tabs.test.tsx.snap +394 -5
- package/src/components/Template/Template.stories.mdx +47 -43
- package/src/components/Template/Template.test.tsx +33 -0
- package/src/components/Template/Template.tsx +65 -60
- package/src/components/Template/__snapshots__/Template.test.tsx.snap +191 -20
- package/src/components/Text/Text.stories.mdx +20 -1
- package/src/components/Text/Text.test.tsx +12 -0
- package/src/components/Text/Text.tsx +6 -4
- package/src/components/Text/__snapshots__/Text.test.tsx.snap +21 -4
- package/src/components/TextInput/TextInput.stories.mdx +65 -19
- package/src/components/TextInput/TextInput.test.tsx +42 -28
- package/src/components/TextInput/TextInput.tsx +121 -113
- package/src/components/TextInput/__snapshots__/TextInput.test.tsx.snap +96 -73
- package/src/components/Toggle/Toggle.stories.mdx +80 -22
- package/src/components/Toggle/Toggle.test.tsx +27 -9
- package/src/components/Toggle/Toggle.tsx +22 -18
- package/src/components/Toggle/__snapshots__/Toggle.test.tsx.snap +128 -5
- package/src/components/VideoPlayer/VideoPlayer.stories.mdx +52 -4
- package/src/components/VideoPlayer/VideoPlayer.test.tsx +23 -0
- package/src/components/VideoPlayer/VideoPlayer.tsx +133 -126
- package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +81 -39
- package/src/docs/Chakra.stories.mdx +50 -9
- package/src/docs/Welcome.stories.mdx +160 -41
- package/src/hooks/useCarouselStyles.stories.mdx +22 -2
- package/src/hooks/useCarouselStyles.ts +3 -2
- package/src/hooks/useNYPLTheme.stories.mdx +101 -0
- package/src/hooks/useNYPLTheme.ts +30 -6
- package/src/hooks/useWindowSize.stories.mdx +23 -0
- package/src/index.ts +5 -2
- package/src/styles/base/_place-holder.scss +1 -1
- package/src/styles.scss +0 -1
- package/src/theme/components/button.ts +15 -7
- package/src/theme/components/card.ts +30 -19
- package/src/theme/components/checkbox.ts +10 -8
- package/src/theme/components/checkboxGroup.ts +1 -1
- package/src/theme/components/componentWrapper.ts +2 -2
- package/src/theme/components/customTable.ts +39 -31
- package/src/theme/components/fieldset.ts +1 -2
- package/src/theme/components/global.ts +25 -20
- package/src/theme/components/heading.ts +1 -1
- package/src/theme/components/helperErrorText.ts +1 -0
- package/src/theme/components/hero.ts +13 -15
- package/src/theme/components/label.ts +4 -3
- package/src/theme/components/list.ts +73 -66
- package/src/theme/components/notification.ts +2 -2
- package/src/theme/components/radio.ts +9 -9
- package/src/theme/components/radioGroup.ts +1 -1
- package/src/theme/components/select.ts +31 -22
- package/src/theme/components/skeletonLoader.ts +3 -3
- package/src/theme/components/slider.ts +8 -7
- package/src/theme/components/statusBadge.ts +2 -2
- package/src/theme/components/structuredContent.ts +66 -1
- package/src/theme/components/tabs.ts +2 -2
- package/src/theme/components/template.ts +9 -9
- package/src/theme/components/textInput.ts +13 -12
- package/src/theme/components/toggle.ts +17 -10
- package/src/theme/components/videoPlayer.ts +1 -1
- package/src/theme/foundations/colors.ts +1 -1
- package/src/theme/foundations/radii.ts +1 -0
- package/src/theme/foundations/spacing.ts +70 -22
- package/src/theme/foundations/typography.ts +2 -2
- package/src/utils/componentCategories.ts +1 -2
- package/dist/components/SearchBar/SearchBar.Test.d.ts +0 -1
- package/dist/helpers/generateUUID.d.ts +0 -1
- package/src/components/Modal/_Modal.scss +0 -18
- package/src/helpers/generateUUID.tsx +0 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
2
|
+
chakra,
|
|
3
3
|
Checkbox as ChakraCheckbox,
|
|
4
4
|
Icon,
|
|
5
5
|
useMultiStyleConfig,
|
|
@@ -9,15 +9,13 @@ import * as React from "react";
|
|
|
9
9
|
import HelperErrorText, {
|
|
10
10
|
HelperErrorTextType,
|
|
11
11
|
} from "../HelperErrorText/HelperErrorText";
|
|
12
|
-
import generateUUID from "../../helpers/generateUUID";
|
|
13
|
-
|
|
14
12
|
export interface CheckboxProps {
|
|
15
13
|
/** className you can add in addition to 'input' */
|
|
16
14
|
className?: string;
|
|
17
15
|
/** Optional string to populate the HelperErrorText for standard state */
|
|
18
16
|
helperText?: HelperErrorTextType;
|
|
19
17
|
/** ID that other components can cross reference for accessibility purposes */
|
|
20
|
-
id
|
|
18
|
+
id: string;
|
|
21
19
|
/** Optional string to populate the HelperErrorText for the error state
|
|
22
20
|
* when `isInvalid` is true. */
|
|
23
21
|
invalidText?: HelperErrorTextType;
|
|
@@ -73,13 +71,13 @@ function CheckboxIcon(props) {
|
|
|
73
71
|
);
|
|
74
72
|
}
|
|
75
73
|
|
|
76
|
-
const Checkbox =
|
|
77
|
-
(props, ref?) => {
|
|
74
|
+
export const Checkbox = chakra(
|
|
75
|
+
React.forwardRef<HTMLInputElement, CheckboxProps>((props, ref?) => {
|
|
78
76
|
const {
|
|
79
77
|
className,
|
|
80
78
|
invalidText,
|
|
81
79
|
helperText,
|
|
82
|
-
id
|
|
80
|
+
id,
|
|
83
81
|
isChecked,
|
|
84
82
|
isDisabled = false,
|
|
85
83
|
isIndeterminate = false,
|
|
@@ -90,6 +88,7 @@ const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(
|
|
|
90
88
|
showHelperInvalidText = true,
|
|
91
89
|
showLabel = true,
|
|
92
90
|
value,
|
|
91
|
+
...rest
|
|
93
92
|
} = props;
|
|
94
93
|
const styles = useMultiStyleConfig("Checkbox", {});
|
|
95
94
|
const footnote: HelperErrorTextType = isInvalid ? invalidText : helperText;
|
|
@@ -98,6 +97,12 @@ const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(
|
|
|
98
97
|
// Use Chakra's default indeterminate icon.
|
|
99
98
|
const icon = !isIndeterminate ? <CheckboxIcon /> : undefined;
|
|
100
99
|
|
|
100
|
+
if (!id) {
|
|
101
|
+
console.warn(
|
|
102
|
+
"NYPL Reservoir Checkbox: This component's required `id` prop was not passed."
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
|
|
101
106
|
if (!showLabel) {
|
|
102
107
|
if (typeof labelText !== "string") {
|
|
103
108
|
console.warn(
|
|
@@ -134,21 +139,21 @@ const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(
|
|
|
134
139
|
alignItems="flex-start"
|
|
135
140
|
__css={styles}
|
|
136
141
|
{...ariaAttributes}
|
|
142
|
+
{...rest}
|
|
137
143
|
>
|
|
138
144
|
{showLabel && labelText}
|
|
139
145
|
</ChakraCheckbox>
|
|
140
146
|
{footnote && showHelperInvalidText && (
|
|
141
|
-
<
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
</Box>
|
|
147
|
+
<HelperErrorText
|
|
148
|
+
additionalStyles={styles.helperErrorText}
|
|
149
|
+
id={`${id}-helperText`}
|
|
150
|
+
isInvalid={isInvalid}
|
|
151
|
+
text={footnote}
|
|
152
|
+
/>
|
|
148
153
|
)}
|
|
149
154
|
</>
|
|
150
155
|
);
|
|
151
|
-
}
|
|
156
|
+
})
|
|
152
157
|
);
|
|
153
158
|
|
|
154
159
|
export default Checkbox;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`Checkbox Renders the UI snapshot correctly 1`] = `
|
|
4
4
|
<label
|
|
5
|
-
className="chakra-checkbox css-
|
|
5
|
+
className="chakra-checkbox css-scawxr"
|
|
6
6
|
onClick={[Function]}
|
|
7
7
|
>
|
|
8
8
|
<input
|
|
@@ -65,7 +65,7 @@ exports[`Checkbox Renders the UI snapshot correctly 1`] = `
|
|
|
65
65
|
|
|
66
66
|
exports[`Checkbox Renders the UI snapshot correctly 2`] = `
|
|
67
67
|
<label
|
|
68
|
-
className="chakra-checkbox css-
|
|
68
|
+
className="chakra-checkbox css-scawxr"
|
|
69
69
|
data-checked=""
|
|
70
70
|
onClick={[Function]}
|
|
71
71
|
>
|
|
@@ -131,7 +131,7 @@ exports[`Checkbox Renders the UI snapshot correctly 2`] = `
|
|
|
131
131
|
|
|
132
132
|
exports[`Checkbox Renders the UI snapshot correctly 3`] = `
|
|
133
133
|
<label
|
|
134
|
-
className="chakra-checkbox css-
|
|
134
|
+
className="chakra-checkbox css-scawxr"
|
|
135
135
|
data-checked=""
|
|
136
136
|
onClick={[Function]}
|
|
137
137
|
>
|
|
@@ -219,7 +219,7 @@ exports[`Checkbox Renders the UI snapshot correctly 3`] = `
|
|
|
219
219
|
|
|
220
220
|
exports[`Checkbox Renders the UI snapshot correctly 4`] = `
|
|
221
221
|
<label
|
|
222
|
-
className="chakra-checkbox css-
|
|
222
|
+
className="chakra-checkbox css-scawxr"
|
|
223
223
|
onClick={[Function]}
|
|
224
224
|
>
|
|
225
225
|
<input
|
|
@@ -282,7 +282,7 @@ exports[`Checkbox Renders the UI snapshot correctly 4`] = `
|
|
|
282
282
|
|
|
283
283
|
exports[`Checkbox Renders the UI snapshot correctly 5`] = `
|
|
284
284
|
<label
|
|
285
|
-
className="chakra-checkbox css-
|
|
285
|
+
className="chakra-checkbox css-scawxr"
|
|
286
286
|
data-invalid=""
|
|
287
287
|
onClick={[Function]}
|
|
288
288
|
>
|
|
@@ -348,7 +348,7 @@ exports[`Checkbox Renders the UI snapshot correctly 5`] = `
|
|
|
348
348
|
|
|
349
349
|
exports[`Checkbox Renders the UI snapshot correctly 6`] = `
|
|
350
350
|
<label
|
|
351
|
-
className="chakra-checkbox css-
|
|
351
|
+
className="chakra-checkbox css-scawxr"
|
|
352
352
|
data-disabled=""
|
|
353
353
|
onClick={[Function]}
|
|
354
354
|
>
|
|
@@ -414,7 +414,7 @@ exports[`Checkbox Renders the UI snapshot correctly 6`] = `
|
|
|
414
414
|
|
|
415
415
|
exports[`Checkbox Renders the UI snapshot correctly 7`] = `
|
|
416
416
|
<label
|
|
417
|
-
className="chakra-checkbox css-
|
|
417
|
+
className="chakra-checkbox css-scawxr"
|
|
418
418
|
onClick={[Function]}
|
|
419
419
|
>
|
|
420
420
|
<input
|
|
@@ -487,3 +487,130 @@ exports[`Checkbox Renders the UI snapshot correctly 7`] = `
|
|
|
487
487
|
</span>
|
|
488
488
|
</label>
|
|
489
489
|
`;
|
|
490
|
+
|
|
491
|
+
exports[`Checkbox Renders the UI snapshot correctly 8`] = `
|
|
492
|
+
<label
|
|
493
|
+
className="chakra-checkbox css-wkfjn4"
|
|
494
|
+
onClick={[Function]}
|
|
495
|
+
>
|
|
496
|
+
<input
|
|
497
|
+
aria-disabled={false}
|
|
498
|
+
aria-invalid={false}
|
|
499
|
+
checked={false}
|
|
500
|
+
className="chakra-checkbox__input"
|
|
501
|
+
disabled={false}
|
|
502
|
+
id="checkbox-chakra"
|
|
503
|
+
name="default"
|
|
504
|
+
onBlur={[Function]}
|
|
505
|
+
onChange={[Function]}
|
|
506
|
+
onFocus={[Function]}
|
|
507
|
+
onKeyDown={[Function]}
|
|
508
|
+
onKeyUp={[Function]}
|
|
509
|
+
required={false}
|
|
510
|
+
style={
|
|
511
|
+
Object {
|
|
512
|
+
"border": "0px",
|
|
513
|
+
"clip": "rect(0px, 0px, 0px, 0px)",
|
|
514
|
+
"height": "1px",
|
|
515
|
+
"margin": "-1px",
|
|
516
|
+
"overflow": "hidden",
|
|
517
|
+
"padding": "0px",
|
|
518
|
+
"position": "absolute",
|
|
519
|
+
"whiteSpace": "nowrap",
|
|
520
|
+
"width": "1px",
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
type="checkbox"
|
|
524
|
+
/>
|
|
525
|
+
<span
|
|
526
|
+
aria-hidden={true}
|
|
527
|
+
className="chakra-checkbox__control css-dnty2r"
|
|
528
|
+
onMouseDown={[Function]}
|
|
529
|
+
onMouseEnter={[Function]}
|
|
530
|
+
onMouseLeave={[Function]}
|
|
531
|
+
onMouseUp={[Function]}
|
|
532
|
+
>
|
|
533
|
+
<svg
|
|
534
|
+
className="chakra-icon css-1vfv7ic"
|
|
535
|
+
focusable={false}
|
|
536
|
+
viewBox="0 0 24 24"
|
|
537
|
+
>
|
|
538
|
+
<path
|
|
539
|
+
d="M8.795 15.875l-4.17-4.17-1.42 1.41 5.59 5.59 12-12-1.41-1.41-10.59 10.58z"
|
|
540
|
+
fill="currentColor"
|
|
541
|
+
/>
|
|
542
|
+
</svg>
|
|
543
|
+
</span>
|
|
544
|
+
<span
|
|
545
|
+
className="chakra-checkbox__label css-1oeb2oe"
|
|
546
|
+
onMouseDown={[Function]}
|
|
547
|
+
onTouchStart={[Function]}
|
|
548
|
+
>
|
|
549
|
+
Test Label
|
|
550
|
+
</span>
|
|
551
|
+
</label>
|
|
552
|
+
`;
|
|
553
|
+
|
|
554
|
+
exports[`Checkbox Renders the UI snapshot correctly 9`] = `
|
|
555
|
+
<label
|
|
556
|
+
className="chakra-checkbox css-scawxr"
|
|
557
|
+
data-testid="testid"
|
|
558
|
+
onClick={[Function]}
|
|
559
|
+
>
|
|
560
|
+
<input
|
|
561
|
+
aria-disabled={false}
|
|
562
|
+
aria-invalid={false}
|
|
563
|
+
checked={false}
|
|
564
|
+
className="chakra-checkbox__input"
|
|
565
|
+
disabled={false}
|
|
566
|
+
id="checkbox-props"
|
|
567
|
+
name="default"
|
|
568
|
+
onBlur={[Function]}
|
|
569
|
+
onChange={[Function]}
|
|
570
|
+
onFocus={[Function]}
|
|
571
|
+
onKeyDown={[Function]}
|
|
572
|
+
onKeyUp={[Function]}
|
|
573
|
+
required={false}
|
|
574
|
+
style={
|
|
575
|
+
Object {
|
|
576
|
+
"border": "0px",
|
|
577
|
+
"clip": "rect(0px, 0px, 0px, 0px)",
|
|
578
|
+
"height": "1px",
|
|
579
|
+
"margin": "-1px",
|
|
580
|
+
"overflow": "hidden",
|
|
581
|
+
"padding": "0px",
|
|
582
|
+
"position": "absolute",
|
|
583
|
+
"whiteSpace": "nowrap",
|
|
584
|
+
"width": "1px",
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
type="checkbox"
|
|
588
|
+
/>
|
|
589
|
+
<span
|
|
590
|
+
aria-hidden={true}
|
|
591
|
+
className="chakra-checkbox__control css-dnty2r"
|
|
592
|
+
onMouseDown={[Function]}
|
|
593
|
+
onMouseEnter={[Function]}
|
|
594
|
+
onMouseLeave={[Function]}
|
|
595
|
+
onMouseUp={[Function]}
|
|
596
|
+
>
|
|
597
|
+
<svg
|
|
598
|
+
className="chakra-icon css-1vfv7ic"
|
|
599
|
+
focusable={false}
|
|
600
|
+
viewBox="0 0 24 24"
|
|
601
|
+
>
|
|
602
|
+
<path
|
|
603
|
+
d="M8.795 15.875l-4.17-4.17-1.42 1.41 5.59 5.59 12-12-1.41-1.41-10.59 10.58z"
|
|
604
|
+
fill="currentColor"
|
|
605
|
+
/>
|
|
606
|
+
</svg>
|
|
607
|
+
</span>
|
|
608
|
+
<span
|
|
609
|
+
className="chakra-checkbox__label css-1oeb2oe"
|
|
610
|
+
onMouseDown={[Function]}
|
|
611
|
+
onTouchStart={[Function]}
|
|
612
|
+
>
|
|
613
|
+
Test Label
|
|
614
|
+
</span>
|
|
615
|
+
</label>
|
|
616
|
+
`;
|
|
@@ -52,9 +52,6 @@ export const enumValues = getStorybookEnumValues(LayoutTypes, "LayoutTypes");
|
|
|
52
52
|
},
|
|
53
53
|
name: { control: false },
|
|
54
54
|
onChange: { control: false },
|
|
55
|
-
optReqFlag: {
|
|
56
|
-
table: { defaultValue: { summary: true } },
|
|
57
|
-
},
|
|
58
55
|
ref: { table: { disable: true } },
|
|
59
56
|
showHelperInvalidText: {
|
|
60
57
|
table: { defaultValue: { summary: true } },
|
|
@@ -62,6 +59,9 @@ export const enumValues = getStorybookEnumValues(LayoutTypes, "LayoutTypes");
|
|
|
62
59
|
showLabel: {
|
|
63
60
|
table: { defaultValue: { summary: true } },
|
|
64
61
|
},
|
|
62
|
+
showRequiredLabel: {
|
|
63
|
+
table: { defaultValue: { summary: true } },
|
|
64
|
+
},
|
|
65
65
|
}}
|
|
66
66
|
/>
|
|
67
67
|
|
|
@@ -70,10 +70,27 @@ export const enumValues = getStorybookEnumValues(LayoutTypes, "LayoutTypes");
|
|
|
70
70
|
| Component Version | DS Version |
|
|
71
71
|
| ----------------- | ---------- |
|
|
72
72
|
| Added | `0.25.1` |
|
|
73
|
-
| Latest | `0.
|
|
73
|
+
| Latest | `0.26.0` |
|
|
74
|
+
|
|
75
|
+
## Table of Contents
|
|
76
|
+
|
|
77
|
+
- [Overview](#overview)
|
|
78
|
+
- [Component Props](#component-props)
|
|
79
|
+
- [Accessibility](#accessibility)
|
|
80
|
+
- [Layout Patterns](#layout-patterns)
|
|
81
|
+
- [Errored](#errored)
|
|
82
|
+
- [Required](#required)
|
|
83
|
+
- [Disabled](#disabled)
|
|
84
|
+
- [With JSX Element labels](#with-jsx-element-labels)
|
|
85
|
+
- [Indeterminate Example](#indeterminate-example)
|
|
86
|
+
- [Getting Checkbox Input Values](#getting-checkbox-input-values)
|
|
87
|
+
|
|
88
|
+
## Overview
|
|
74
89
|
|
|
75
90
|
<Description of={CheckboxGroup} />
|
|
76
91
|
|
|
92
|
+
## Component Props
|
|
93
|
+
|
|
77
94
|
<Canvas withToolbar>
|
|
78
95
|
<Story
|
|
79
96
|
name="CheckboxGroup"
|
|
@@ -90,9 +107,9 @@ export const enumValues = getStorybookEnumValues(LayoutTypes, "LayoutTypes");
|
|
|
90
107
|
layout: "LayoutTypes.Column",
|
|
91
108
|
name: "checkbox-story",
|
|
92
109
|
onChange: undefined,
|
|
93
|
-
optReqFlag: true,
|
|
94
110
|
showHelperInvalidText: true,
|
|
95
111
|
showLabel: true,
|
|
112
|
+
showRequiredLabel: true,
|
|
96
113
|
}}
|
|
97
114
|
>
|
|
98
115
|
{(args) => (
|
|
@@ -108,6 +125,16 @@ export const enumValues = getStorybookEnumValues(LayoutTypes, "LayoutTypes");
|
|
|
108
125
|
|
|
109
126
|
<ArgsTable story="CheckboxGroup" />
|
|
110
127
|
|
|
128
|
+
## Accessibility
|
|
129
|
+
|
|
130
|
+
The `CheckboxGroup` renders a group of `Checkbox` components that are wrapped in
|
|
131
|
+
a `<fieldset>` element. The `<fieldset>` element renders a `<legend>` element that
|
|
132
|
+
can be visually hidden through the `showLabel` prop.
|
|
133
|
+
|
|
134
|
+
Resources:
|
|
135
|
+
|
|
136
|
+
- [Chakra UI Checkbox](https://chakra-ui.com/docs/components/form/checkbox)
|
|
137
|
+
|
|
111
138
|
## Layout Patterns
|
|
112
139
|
|
|
113
140
|
Use the `layout` prop to set the `Checkbox` buttons to display in a column or in
|
|
@@ -116,9 +143,9 @@ a row.
|
|
|
116
143
|
<Canvas>
|
|
117
144
|
<DSProvider>
|
|
118
145
|
<CheckboxGroup
|
|
146
|
+
id="column"
|
|
119
147
|
labelText="Column (default)"
|
|
120
148
|
name="column-example"
|
|
121
|
-
optReqFlag={false}
|
|
122
149
|
>
|
|
123
150
|
<Checkbox value="2" labelText="Checkbox 2" />
|
|
124
151
|
<Checkbox value="3" labelText="Checkbox 3" />
|
|
@@ -127,10 +154,10 @@ a row.
|
|
|
127
154
|
</CheckboxGroup>
|
|
128
155
|
<br />
|
|
129
156
|
<CheckboxGroup
|
|
157
|
+
id="row"
|
|
130
158
|
labelText="Row"
|
|
131
159
|
name="row-example"
|
|
132
160
|
layout={LayoutTypes.Row}
|
|
133
|
-
optReqFlag={false}
|
|
134
161
|
>
|
|
135
162
|
<Checkbox value="2" labelText="Checkbox 2" />
|
|
136
163
|
<Checkbox value="3" labelText="Checkbox 3" />
|
|
@@ -145,11 +172,30 @@ a row.
|
|
|
145
172
|
<Canvas>
|
|
146
173
|
<DSProvider>
|
|
147
174
|
<CheckboxGroup
|
|
148
|
-
|
|
149
|
-
name="errored-example"
|
|
150
|
-
optReqFlag={false}
|
|
175
|
+
id="errored"
|
|
151
176
|
invalidText="Error message for the full group."
|
|
152
177
|
isInvalid
|
|
178
|
+
labelText="Errored Checkbox Group"
|
|
179
|
+
name="errored-example"
|
|
180
|
+
>
|
|
181
|
+
<Checkbox value="2" labelText="Checkbox 2" />
|
|
182
|
+
<Checkbox value="3" labelText="Checkbox 3" />
|
|
183
|
+
<Checkbox value="4" labelText="Checkbox 4" />
|
|
184
|
+
<Checkbox value="5" labelText="Checkbox 5" />
|
|
185
|
+
</CheckboxGroup>
|
|
186
|
+
</DSProvider>
|
|
187
|
+
</Canvas>
|
|
188
|
+
|
|
189
|
+
## Required
|
|
190
|
+
|
|
191
|
+
<Canvas>
|
|
192
|
+
<DSProvider>
|
|
193
|
+
<CheckboxGroup
|
|
194
|
+
id="required"
|
|
195
|
+
isRequired
|
|
196
|
+
labelText="Required Checkbox Group"
|
|
197
|
+
name="required-example"
|
|
198
|
+
helperText="The reason for being required."
|
|
153
199
|
>
|
|
154
200
|
<Checkbox value="2" labelText="Checkbox 2" />
|
|
155
201
|
<Checkbox value="3" labelText="Checkbox 3" />
|
|
@@ -164,11 +210,11 @@ a row.
|
|
|
164
210
|
<Canvas>
|
|
165
211
|
<DSProvider>
|
|
166
212
|
<CheckboxGroup
|
|
213
|
+
id="disabled"
|
|
214
|
+
isDisabled
|
|
167
215
|
labelText="Disabled Checkbox Group"
|
|
168
216
|
name="disabled-example"
|
|
169
|
-
optReqFlag={false}
|
|
170
217
|
helperText="The reason for being disabled."
|
|
171
|
-
isDisabled
|
|
172
218
|
>
|
|
173
219
|
<Checkbox value="2" labelText="Checkbox 2" />
|
|
174
220
|
<Checkbox value="3" labelText="Checkbox 3" />
|
|
@@ -191,10 +237,10 @@ order to make this work, pass in the `isFullWidth` prop.
|
|
|
191
237
|
<Canvas>
|
|
192
238
|
<DSProvider>
|
|
193
239
|
<CheckboxGroup
|
|
240
|
+
id="full-width"
|
|
241
|
+
isFullWidth
|
|
194
242
|
labelText="Checkbox Group"
|
|
195
243
|
name="checkbox-example"
|
|
196
|
-
optReqFlag={false}
|
|
197
|
-
isFullWidth
|
|
198
244
|
>
|
|
199
245
|
<Checkbox
|
|
200
246
|
labelText={
|
|
@@ -250,8 +296,8 @@ children are checked, the parent will be in the "checked" state.
|
|
|
250
296
|
The following working example can be used in your application to keep track of
|
|
251
297
|
the checked and indeterminate states - taken and modified from Chakra's
|
|
252
298
|
[Checkbox](https://chakra-ui.com/docs/form/checkbox#indeterminate) documentation.
|
|
253
|
-
Note that this example is specifically using
|
|
254
|
-
`CheckboxGroup` components.
|
|
299
|
+
Note that this example is specifically using Reservoir Design System (DS)
|
|
300
|
+
`Checkbox` and `CheckboxGroup` components.
|
|
255
301
|
|
|
256
302
|
```tsx
|
|
257
303
|
export function IndeterminateExample() {
|
|
@@ -260,6 +306,7 @@ export function IndeterminateExample() {
|
|
|
260
306
|
const isIndeterminate = checkedItems.some(Boolean) && !allChecked;
|
|
261
307
|
return (
|
|
262
308
|
<CheckboxGroup
|
|
309
|
+
id="indeterminate"
|
|
263
310
|
labelText="Indeterminate Example"
|
|
264
311
|
name="indeterminate-example"
|
|
265
312
|
>
|
|
@@ -290,6 +337,7 @@ export function IndeterminateExample() {
|
|
|
290
337
|
const isIndeterminate = checkedItems.some(Boolean) && !allChecked;
|
|
291
338
|
return (
|
|
292
339
|
<CheckboxGroup
|
|
340
|
+
id="indeterminate"
|
|
293
341
|
labelText="Indeterminate Example"
|
|
294
342
|
name="indeterminate-example"
|
|
295
343
|
>
|
|
@@ -319,7 +367,7 @@ export function IndeterminateExample() {
|
|
|
319
367
|
</DSProvider>
|
|
320
368
|
</Canvas>
|
|
321
369
|
|
|
322
|
-
## Getting Checkbox
|
|
370
|
+
## Getting Checkbox Input Values
|
|
323
371
|
|
|
324
372
|
### Controlled Component using `name`, `defaultValue`, and `onChange` props
|
|
325
373
|
|