@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,22 +1,20 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
1
|
import {
|
|
3
|
-
|
|
2
|
+
chakra,
|
|
4
3
|
Radio as ChakraRadio,
|
|
5
4
|
useMultiStyleConfig,
|
|
6
5
|
} from "@chakra-ui/react";
|
|
6
|
+
import * as React from "react";
|
|
7
7
|
|
|
8
8
|
import HelperErrorText, {
|
|
9
9
|
HelperErrorTextType,
|
|
10
10
|
} from "../HelperErrorText/HelperErrorText";
|
|
11
|
-
import generateUUID from "../../helpers/generateUUID";
|
|
12
|
-
|
|
13
11
|
export interface RadioProps {
|
|
14
12
|
/** Additional class name. */
|
|
15
13
|
className?: string;
|
|
16
14
|
/** Optional string to populate the HelperErrorText for the standard state. */
|
|
17
15
|
helperText?: HelperErrorTextType;
|
|
18
16
|
/** ID that other components can cross reference for accessibility purposes */
|
|
19
|
-
id
|
|
17
|
+
id: string;
|
|
20
18
|
/** Optional string to populate the HelperErrorText for the error state
|
|
21
19
|
* when `isInvalid` is true.
|
|
22
20
|
*/
|
|
@@ -26,12 +24,10 @@ export interface RadioProps {
|
|
|
26
24
|
* Learn more about controlled and uncontrolled form fields: https://goshakkk.name/controlled-vs-uncontrolled-inputs-react/ */
|
|
27
25
|
isChecked?: boolean;
|
|
28
26
|
/** Adds the 'disabled' and `aria-disabled` attributes to the input when true.
|
|
29
|
-
* This also makes the text italic and color scheme gray.
|
|
30
|
-
*/
|
|
27
|
+
* This also makes the text italic and color scheme gray. */
|
|
31
28
|
isDisabled?: boolean;
|
|
32
29
|
/** Adds the 'aria-invalid' attribute to the input when true. This also makes
|
|
33
|
-
* the color theme "NYPL error" red for the button and text.
|
|
34
|
-
*/
|
|
30
|
+
* the color theme "NYPL error" red for the button and text. */
|
|
35
31
|
isInvalid?: boolean;
|
|
36
32
|
/** Adds the 'required' attribute to the input when true. */
|
|
37
33
|
isRequired?: boolean;
|
|
@@ -52,71 +48,78 @@ export interface RadioProps {
|
|
|
52
48
|
value?: string;
|
|
53
49
|
}
|
|
54
50
|
|
|
55
|
-
const Radio =
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
51
|
+
export const Radio = chakra(
|
|
52
|
+
React.forwardRef<HTMLInputElement, RadioProps>((props, ref?) => {
|
|
53
|
+
const {
|
|
54
|
+
className,
|
|
55
|
+
helperText,
|
|
56
|
+
id,
|
|
57
|
+
invalidText,
|
|
58
|
+
isChecked,
|
|
59
|
+
isDisabled = false,
|
|
60
|
+
isInvalid = false,
|
|
61
|
+
isRequired = false,
|
|
62
|
+
labelText,
|
|
63
|
+
name,
|
|
64
|
+
onChange,
|
|
65
|
+
showHelperInvalidText = true,
|
|
66
|
+
showLabel = true,
|
|
67
|
+
value,
|
|
68
|
+
...rest
|
|
69
|
+
} = props;
|
|
70
|
+
const styles = useMultiStyleConfig("Radio", {});
|
|
71
|
+
const footnote = isInvalid ? invalidText : helperText;
|
|
72
|
+
const attributes = {};
|
|
75
73
|
|
|
76
|
-
|
|
77
|
-
if (typeof labelText !== "string") {
|
|
74
|
+
if (!id) {
|
|
78
75
|
console.warn(
|
|
79
|
-
"NYPL Reservoir Radio:
|
|
76
|
+
"NYPL Reservoir Radio: This component's required `id` prop was not passed."
|
|
80
77
|
);
|
|
81
78
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
79
|
+
|
|
80
|
+
if (!showLabel) {
|
|
81
|
+
if (typeof labelText !== "string") {
|
|
82
|
+
console.warn(
|
|
83
|
+
"NYPL Reservoir Radio: `labelText` must be a string when `showLabel` is false."
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
attributes["aria-label"] =
|
|
87
|
+
labelText && footnote ? `${labelText} - ${footnote}` : labelText;
|
|
88
|
+
} else if (footnote) {
|
|
86
89
|
attributes["aria-describedby"] = `${id}-helperText`;
|
|
87
90
|
}
|
|
88
|
-
}
|
|
89
91
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
92
|
+
return (
|
|
93
|
+
<>
|
|
94
|
+
<ChakraRadio
|
|
95
|
+
className={className}
|
|
96
|
+
id={id}
|
|
97
|
+
isChecked={isChecked}
|
|
98
|
+
isDisabled={isDisabled}
|
|
99
|
+
isInvalid={isInvalid}
|
|
100
|
+
isRequired={isRequired}
|
|
101
|
+
name={name}
|
|
102
|
+
onChange={onChange}
|
|
103
|
+
value={value}
|
|
104
|
+
ref={ref}
|
|
105
|
+
alignItems="flex-start"
|
|
106
|
+
__css={styles}
|
|
107
|
+
{...attributes}
|
|
108
|
+
{...rest}
|
|
109
|
+
>
|
|
110
|
+
{showLabel && labelText}
|
|
111
|
+
</ChakraRadio>
|
|
112
|
+
{footnote && showHelperInvalidText && (
|
|
111
113
|
<HelperErrorText
|
|
114
|
+
additionalStyles={styles.helperErrorText}
|
|
112
115
|
id={`${id}-helperText`}
|
|
113
116
|
isInvalid={isInvalid}
|
|
114
117
|
text={footnote}
|
|
115
118
|
/>
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
)
|
|
120
|
-
|
|
119
|
+
)}
|
|
120
|
+
</>
|
|
121
|
+
);
|
|
122
|
+
})
|
|
123
|
+
);
|
|
121
124
|
|
|
122
125
|
export default Radio;
|
|
@@ -32,7 +32,7 @@ exports[`Radio Button renders the UI snapshot correctly 1`] = `
|
|
|
32
32
|
/>
|
|
33
33
|
<span
|
|
34
34
|
aria-hidden={true}
|
|
35
|
-
className="css-
|
|
35
|
+
className="css-14wybg9"
|
|
36
36
|
onMouseDown={[Function]}
|
|
37
37
|
onMouseEnter={[Function]}
|
|
38
38
|
onMouseLeave={[Function]}
|
|
@@ -81,7 +81,7 @@ exports[`Radio Button renders the UI snapshot correctly 2`] = `
|
|
|
81
81
|
/>
|
|
82
82
|
<span
|
|
83
83
|
aria-hidden={true}
|
|
84
|
-
className="css-
|
|
84
|
+
className="css-14wybg9"
|
|
85
85
|
data-checked=""
|
|
86
86
|
onMouseDown={[Function]}
|
|
87
87
|
onMouseEnter={[Function]}
|
|
@@ -132,7 +132,7 @@ exports[`Radio Button renders the UI snapshot correctly 3`] = `
|
|
|
132
132
|
/>
|
|
133
133
|
<span
|
|
134
134
|
aria-hidden={true}
|
|
135
|
-
className="css-
|
|
135
|
+
className="css-14wybg9"
|
|
136
136
|
onMouseDown={[Function]}
|
|
137
137
|
onMouseEnter={[Function]}
|
|
138
138
|
onMouseLeave={[Function]}
|
|
@@ -182,7 +182,7 @@ exports[`Radio Button renders the UI snapshot correctly 4`] = `
|
|
|
182
182
|
/>
|
|
183
183
|
<span
|
|
184
184
|
aria-hidden={true}
|
|
185
|
-
className="css-
|
|
185
|
+
className="css-14wybg9"
|
|
186
186
|
data-invalid=""
|
|
187
187
|
onMouseDown={[Function]}
|
|
188
188
|
onMouseEnter={[Function]}
|
|
@@ -234,7 +234,7 @@ exports[`Radio Button renders the UI snapshot correctly 5`] = `
|
|
|
234
234
|
/>
|
|
235
235
|
<span
|
|
236
236
|
aria-hidden={true}
|
|
237
|
-
className="css-
|
|
237
|
+
className="css-14wybg9"
|
|
238
238
|
data-disabled=""
|
|
239
239
|
onMouseDown={[Function]}
|
|
240
240
|
onMouseEnter={[Function]}
|
|
@@ -285,7 +285,7 @@ exports[`Radio Button renders the UI snapshot correctly 6`] = `
|
|
|
285
285
|
/>
|
|
286
286
|
<span
|
|
287
287
|
aria-hidden={true}
|
|
288
|
-
className="css-
|
|
288
|
+
className="css-14wybg9"
|
|
289
289
|
onMouseDown={[Function]}
|
|
290
290
|
onMouseEnter={[Function]}
|
|
291
291
|
onMouseLeave={[Function]}
|
|
@@ -312,3 +312,100 @@ exports[`Radio Button renders the UI snapshot correctly 6`] = `
|
|
|
312
312
|
</span>
|
|
313
313
|
</label>
|
|
314
314
|
`;
|
|
315
|
+
|
|
316
|
+
exports[`Radio Button renders the UI snapshot correctly 7`] = `
|
|
317
|
+
<label
|
|
318
|
+
className="chakra-radio css-13p0l12"
|
|
319
|
+
>
|
|
320
|
+
<input
|
|
321
|
+
checked={false}
|
|
322
|
+
className="chakra-radio__input"
|
|
323
|
+
disabled={false}
|
|
324
|
+
id="chakra"
|
|
325
|
+
onBlur={[Function]}
|
|
326
|
+
onChange={[Function]}
|
|
327
|
+
onFocus={[Function]}
|
|
328
|
+
onKeyDown={[Function]}
|
|
329
|
+
onKeyUp={[Function]}
|
|
330
|
+
required={false}
|
|
331
|
+
style={
|
|
332
|
+
Object {
|
|
333
|
+
"border": "0px",
|
|
334
|
+
"clip": "rect(0px, 0px, 0px, 0px)",
|
|
335
|
+
"height": "1px",
|
|
336
|
+
"margin": "-1px",
|
|
337
|
+
"overflow": "hidden",
|
|
338
|
+
"padding": "0px",
|
|
339
|
+
"position": "absolute",
|
|
340
|
+
"whiteSpace": "nowrap",
|
|
341
|
+
"width": "1px",
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
type="radio"
|
|
345
|
+
/>
|
|
346
|
+
<span
|
|
347
|
+
aria-hidden={true}
|
|
348
|
+
className="css-1dwi2jm"
|
|
349
|
+
onMouseDown={[Function]}
|
|
350
|
+
onMouseEnter={[Function]}
|
|
351
|
+
onMouseLeave={[Function]}
|
|
352
|
+
onMouseUp={[Function]}
|
|
353
|
+
/>
|
|
354
|
+
<span
|
|
355
|
+
className="chakra-radio__label css-1y8kf23"
|
|
356
|
+
onMouseDown={[Function]}
|
|
357
|
+
onTouchStart={[Function]}
|
|
358
|
+
>
|
|
359
|
+
Test Label
|
|
360
|
+
</span>
|
|
361
|
+
</label>
|
|
362
|
+
`;
|
|
363
|
+
|
|
364
|
+
exports[`Radio Button renders the UI snapshot correctly 8`] = `
|
|
365
|
+
<label
|
|
366
|
+
className="chakra-radio css-13p0l12"
|
|
367
|
+
>
|
|
368
|
+
<input
|
|
369
|
+
checked={false}
|
|
370
|
+
className="chakra-radio__input"
|
|
371
|
+
disabled={false}
|
|
372
|
+
id="props"
|
|
373
|
+
onBlur={[Function]}
|
|
374
|
+
onChange={[Function]}
|
|
375
|
+
onFocus={[Function]}
|
|
376
|
+
onKeyDown={[Function]}
|
|
377
|
+
onKeyUp={[Function]}
|
|
378
|
+
required={false}
|
|
379
|
+
style={
|
|
380
|
+
Object {
|
|
381
|
+
"border": "0px",
|
|
382
|
+
"clip": "rect(0px, 0px, 0px, 0px)",
|
|
383
|
+
"height": "1px",
|
|
384
|
+
"margin": "-1px",
|
|
385
|
+
"overflow": "hidden",
|
|
386
|
+
"padding": "0px",
|
|
387
|
+
"position": "absolute",
|
|
388
|
+
"whiteSpace": "nowrap",
|
|
389
|
+
"width": "1px",
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
type="radio"
|
|
393
|
+
/>
|
|
394
|
+
<span
|
|
395
|
+
aria-hidden={true}
|
|
396
|
+
className="css-14wybg9"
|
|
397
|
+
data-testid="props"
|
|
398
|
+
onMouseDown={[Function]}
|
|
399
|
+
onMouseEnter={[Function]}
|
|
400
|
+
onMouseLeave={[Function]}
|
|
401
|
+
onMouseUp={[Function]}
|
|
402
|
+
/>
|
|
403
|
+
<span
|
|
404
|
+
className="chakra-radio__label css-1y8kf23"
|
|
405
|
+
onMouseDown={[Function]}
|
|
406
|
+
onTouchStart={[Function]}
|
|
407
|
+
>
|
|
408
|
+
Test Label
|
|
409
|
+
</span>
|
|
410
|
+
</label>
|
|
411
|
+
`;
|