@nypl/design-system-react-components 0.25.0 → 0.25.4
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 +142 -1
- package/README.md +98 -50
- package/dist/components/Accordion/Accordion.d.ts +14 -14
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +15 -14
- package/dist/components/Breadcrumbs/BreadcrumbsTypes.d.ts +6 -0
- package/dist/components/Button/Button.d.ts +13 -8
- package/dist/components/Button/ButtonTypes.d.ts +3 -1
- package/dist/components/Card/Card.d.ts +36 -52
- package/dist/components/Card/CardTypes.d.ts +2 -17
- package/dist/components/Checkbox/Checkbox.d.ts +17 -13
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +45 -0
- package/dist/components/CheckboxGroup/CheckboxGroupLayoutTypes.d.ts +4 -0
- package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +15 -0
- package/dist/components/DatePicker/DatePicker.d.ts +37 -35
- package/dist/components/Fieldset/Fieldset.d.ts +25 -0
- package/dist/components/Form/Form.d.ts +13 -8
- package/dist/components/Form/FormTypes.d.ts +2 -8
- package/dist/components/Grid/GridTypes.d.ts +9 -0
- package/dist/components/Grid/SimpleGrid.d.ts +14 -0
- package/dist/components/Heading/Heading.d.ts +4 -4
- package/dist/components/HelperErrorText/HelperErrorText.d.ts +17 -14
- package/dist/components/Hero/Hero.d.ts +19 -14
- package/dist/components/Hero/HeroTypes.d.ts +10 -5
- package/dist/components/HorizontalRule/HorizontalRule.d.ts +10 -9
- package/dist/components/Icons/Icon.d.ts +19 -14
- package/dist/components/Icons/IconSvgs.d.ts +11 -0
- package/dist/components/Icons/IconTypes.d.ts +89 -64
- package/dist/components/Image/Image.d.ts +19 -9
- package/dist/components/Image/ImageTypes.d.ts +20 -0
- package/dist/components/Label/Label.d.ts +5 -17
- package/dist/components/Link/Link.d.ts +12 -12
- package/dist/components/List/List.d.ts +19 -14
- package/dist/components/Notification/Notification.d.ts +37 -16
- package/dist/components/Pagination/Pagination.d.ts +16 -13
- package/dist/components/Pagination/Pagination.stories.d.ts +2 -0
- package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +29 -0
- package/dist/components/ProgressIndicator/ProgressIndicatorTypes.d.ts +8 -0
- package/dist/components/Radio/Radio.d.ts +2 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts +4 -2
- package/dist/components/SearchBar/SearchBar.d.ts +45 -27
- package/dist/components/Select/Select.d.ts +34 -35
- package/dist/components/Select/SelectTypes.d.ts +4 -0
- package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +18 -14
- package/dist/components/SkeletonLoader/SkeletonLoaderTypes.d.ts +2 -2
- package/dist/components/Slider/Slider.d.ts +57 -0
- package/dist/components/StatusBadge/StatusBadge.d.ts +8 -6
- package/dist/components/StatusBadge/StatusBadgeTypes.d.ts +5 -0
- package/dist/components/StyleGuide/ColorCard.d.ts +12 -0
- package/dist/components/Tabs/Tabs.d.ts +1 -1
- package/dist/components/Template/Template.d.ts +91 -0
- package/dist/components/Text/Text.d.ts +16 -0
- package/dist/components/Text/TextTypes.d.ts +6 -0
- package/dist/components/TextInput/TextInput.d.ts +44 -31
- package/dist/components/TextInput/TextInputTypes.d.ts +5 -0
- package/dist/components/VideoPlayer/VideoPlayer.d.ts +6 -8
- package/dist/components/VideoPlayer/VideoPlayerTypes.d.ts +2 -2
- package/dist/design-system-react-components.cjs.development.js +6473 -2630
- 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 +6463 -2631
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/hooks/tests/useCarouselStyles.test.d.ts +1 -0
- package/dist/hooks/useCarouselStyles.d.ts +16 -0
- package/dist/hooks/useNYPLTheme.d.ts +54 -0
- package/dist/hooks/useWindowSize.d.ts +10 -0
- package/dist/index.d.ts +19 -7
- package/dist/resources.scss +180 -170
- package/dist/styles.css +1 -1
- package/dist/theme/components/accordion.d.ts +25 -0
- package/dist/theme/components/breadcrumb.d.ts +90 -0
- package/dist/theme/components/button.d.ts +39 -15
- package/dist/theme/components/card.d.ts +168 -0
- package/dist/theme/components/checkbox.d.ts +12 -8
- package/dist/theme/components/checkboxGroup.d.ts +12 -0
- package/dist/theme/components/componentWrapper.d.ts +11 -0
- package/dist/theme/components/datePicker.d.ts +16 -0
- package/dist/theme/components/fieldset.d.ts +27 -0
- package/dist/theme/components/global.d.ts +65 -0
- package/dist/theme/components/globalMixins.d.ts +23 -0
- package/dist/theme/components/heading.d.ts +55 -20
- package/dist/theme/components/helperErrorText.d.ts +10 -0
- package/dist/theme/components/hero.d.ts +493 -0
- package/dist/theme/components/horizontalRule.d.ts +14 -0
- package/dist/theme/components/icon.d.ts +13 -0
- package/dist/theme/components/image.d.ts +31 -0
- package/dist/theme/components/label.d.ts +18 -0
- package/dist/theme/components/link.d.ts +49 -0
- package/dist/theme/components/list.d.ts +89 -0
- package/dist/theme/components/notification.d.ts +75 -0
- package/dist/theme/components/pagination.d.ts +19 -0
- package/dist/theme/components/progressIndicator.d.ts +50 -0
- package/dist/theme/components/radio.d.ts +8 -7
- package/dist/theme/components/radioGroup.d.ts +12 -0
- package/dist/theme/components/searchBar.d.ts +20 -0
- package/dist/theme/components/select.d.ts +67 -0
- package/dist/theme/components/skeletonLoader.d.ts +98 -0
- package/dist/theme/components/slider.d.ts +51 -0
- package/dist/theme/components/statusBadge.d.ts +25 -0
- package/dist/theme/components/tabs.d.ts +63 -12
- package/dist/theme/components/template.d.ts +105 -0
- package/dist/theme/components/text.d.ts +20 -0
- package/dist/theme/components/textInput.d.ts +112 -0
- package/dist/theme/components/videoPlayer.d.ts +40 -0
- package/dist/theme/foundations/breakpoints.d.ts +8 -8
- package/dist/theme/foundations/global.d.ts +8 -0
- package/dist/theme/foundations/radii.d.ts +5 -0
- package/dist/theme/foundations/shadows.d.ts +4 -0
- package/dist/theme/foundations/spacing.d.ts +16 -16
- package/dist/utils/utils.d.ts +6 -0
- package/package.json +72 -82
- package/src/__tests__/setup.ts +2 -2
- package/src/components/Accordion/Accordion.stories.mdx +223 -34
- package/src/components/Accordion/Accordion.test.tsx +135 -19
- package/src/components/Accordion/Accordion.tsx +81 -56
- package/src/components/Autosuggest/Autosuggest.stories.mdx +4 -4
- package/src/components/Autosuggest/Autosuggest.stories.tsx +3 -2
- package/src/components/Autosuggest/_Autosuggest.scss +5 -5
- package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +48 -50
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +54 -25
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +75 -73
- package/src/components/Breadcrumbs/BreadcrumbsTypes.tsx +6 -0
- package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +298 -0
- package/src/components/Button/Button.stories.mdx +45 -36
- package/src/components/Button/Button.test.tsx +37 -11
- package/src/components/Button/Button.tsx +22 -34
- package/src/components/Button/ButtonTypes.tsx +2 -0
- package/src/components/Button/__snapshots__/Button.test.tsx.snap +50 -8
- package/src/components/Card/Card.stories.mdx +314 -273
- package/src/components/Card/Card.test.tsx +157 -91
- package/src/components/Card/Card.tsx +195 -145
- package/src/components/Card/CardTypes.tsx +2 -19
- package/src/components/Card/__snapshots__/Card.test.tsx.snap +410 -0
- package/src/components/CardEdition/CardEdition.stories.tsx +26 -53
- package/src/components/CardEdition/CardEdition.test.tsx +23 -31
- package/src/components/CardEdition/_CardEdition.scss +22 -23
- package/src/components/Chakra/Box.stories.mdx +15 -16
- package/src/components/Chakra/Center.stories.mdx +56 -24
- package/src/components/Chakra/Grid.stories.mdx +92 -0
- package/src/components/Chakra/Stack.stories.mdx +38 -21
- package/src/components/Checkbox/Checkbox.stories.mdx +33 -11
- package/src/components/Checkbox/Checkbox.test.tsx +47 -2
- package/src/components/Checkbox/Checkbox.tsx +44 -41
- package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +92 -7
- package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +329 -0
- package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +372 -0
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +152 -0
- package/src/components/CheckboxGroup/CheckboxGroupLayoutTypes.tsx +4 -0
- package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +1326 -0
- package/src/components/ComponentWrapper/ComponentWrapper.tsx +63 -0
- package/src/components/DatePicker/DatePicker.stories.mdx +163 -62
- package/src/components/DatePicker/DatePicker.test.tsx +264 -64
- package/src/components/DatePicker/DatePicker.tsx +165 -134
- package/src/components/DatePicker/_DatePicker.scss +33 -66
- package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +818 -0
- package/src/components/Fieldset/Fieldset.stories.mdx +55 -0
- package/src/components/Fieldset/Fieldset.test.tsx +125 -0
- package/src/components/Fieldset/Fieldset.tsx +52 -0
- package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +68 -0
- package/src/components/Form/Form.stories.mdx +70 -27
- package/src/components/Form/Form.test.tsx +58 -45
- package/src/components/Form/Form.tsx +50 -21
- package/src/components/Form/FormTypes.tsx +3 -8
- package/src/components/Form/__snapshots__/Form.test.tsx.snap +24 -14
- package/src/components/Grid/GridTypes.tsx +9 -0
- package/src/components/Grid/SimpleGrid.stories.mdx +268 -0
- package/src/components/Grid/SimpleGrid.test.tsx +66 -0
- package/src/components/Grid/SimpleGrid.tsx +37 -0
- package/src/components/Grid/__snapshots__/SimpleGrid.test.tsx.snap +8 -0
- package/src/components/Heading/Heading.stories.mdx +3 -3
- package/src/components/Heading/Heading.tsx +12 -6
- package/src/components/HelperErrorText/HelperErrorText.stories.mdx +124 -0
- package/src/components/HelperErrorText/HelperErrorText.test.tsx +39 -44
- package/src/components/HelperErrorText/HelperErrorText.tsx +37 -39
- package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +25 -0
- package/src/components/Hero/Hero.stories.mdx +198 -121
- package/src/components/Hero/Hero.test.tsx +537 -107
- package/src/components/Hero/Hero.tsx +79 -92
- package/src/components/Hero/HeroTypes.tsx +18 -5
- package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +307 -0
- package/src/components/HorizontalRule/HorizontalRule.stories.mdx +8 -6
- package/src/components/HorizontalRule/HorizontalRule.test.tsx +33 -28
- package/src/components/HorizontalRule/HorizontalRule.tsx +27 -29
- package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +27 -9
- package/src/components/Icons/Icon.stories.mdx +94 -77
- package/src/components/Icons/Icon.test.tsx +48 -22
- package/src/components/Icons/Icon.tsx +78 -61
- package/src/components/Icons/IconSvgs.tsx +22 -0
- package/src/components/Icons/IconTypes.tsx +91 -64
- package/src/components/Image/Image.stories.mdx +220 -0
- package/src/components/Image/Image.test.tsx +131 -29
- package/src/components/Image/Image.tsx +84 -56
- package/src/components/Image/ImageTypes.ts +22 -0
- package/src/components/Image/__snapshots__/Image.test.tsx.snap +190 -0
- package/src/components/Input/Input.stories.tsx +23 -67
- package/src/components/Input/Input.test.tsx +4 -4
- package/src/components/Input/_Input.scss +23 -14
- package/src/components/Label/Label.stories.mdx +28 -7
- package/src/components/Label/Label.test.tsx +43 -12
- package/src/components/Label/Label.tsx +21 -34
- package/src/components/Label/__snapshots__/Label.test.tsx.snap +41 -0
- package/src/components/Link/Link.stories.mdx +41 -41
- package/src/components/Link/Link.test.tsx +33 -44
- package/src/components/Link/Link.tsx +117 -100
- package/src/components/List/List.stories.mdx +124 -51
- package/src/components/List/List.test.tsx +142 -63
- package/src/components/List/List.tsx +89 -93
- package/src/components/List/__snapshots__/List.test.tsx.snap +109 -0
- package/src/components/Modal/Modal.stories.mdx +3 -3
- package/src/components/Modal/_Modal.scss +2 -2
- package/src/components/Notification/Notification.stories.mdx +119 -111
- package/src/components/Notification/Notification.test.tsx +102 -126
- package/src/components/Notification/Notification.tsx +157 -161
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +159 -8
- package/src/components/Pagination/Pagination.stories.mdx +26 -27
- package/src/components/Pagination/Pagination.stories.tsx +11 -16
- package/src/components/Pagination/Pagination.test.tsx +276 -140
- package/src/components/Pagination/Pagination.tsx +174 -154
- package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +285 -0
- package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +292 -0
- package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +225 -0
- package/src/components/ProgressIndicator/ProgressIndicator.tsx +126 -0
- package/src/components/ProgressIndicator/ProgressIndicatorTypes.ts +8 -0
- package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +357 -0
- package/src/components/Radio/Radio.test.tsx +20 -4
- package/src/components/Radio/Radio.tsx +6 -3
- package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +3 -0
- package/src/components/RadioGroup/RadioGroup.stories.mdx +4 -5
- package/src/components/RadioGroup/RadioGroup.test.tsx +24 -1
- package/src/components/RadioGroup/RadioGroup.tsx +21 -29
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +42 -72
- package/src/components/SearchBar/SearchBar.Test.tsx +170 -16
- package/src/components/SearchBar/SearchBar.stories.mdx +294 -219
- package/src/components/SearchBar/SearchBar.tsx +161 -46
- package/src/components/Select/Select.stories.mdx +188 -170
- package/src/components/Select/Select.test.tsx +132 -375
- package/src/components/Select/Select.tsx +121 -165
- package/src/components/Select/SelectTypes.tsx +5 -0
- package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +33 -76
- package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +97 -177
- package/src/components/SkeletonLoader/SkeletonLoader.tsx +75 -70
- package/src/components/SkeletonLoader/SkeletonLoaderTypes.tsx +2 -2
- package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +739 -0
- package/src/components/Slider/Slider.stories.mdx +529 -0
- package/src/components/Slider/Slider.test.tsx +653 -0
- package/src/components/Slider/Slider.tsx +303 -0
- package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +1946 -0
- package/src/components/StatusBadge/StatusBadge.stories.mdx +91 -0
- package/src/components/StatusBadge/StatusBadge.test.tsx +35 -7
- package/src/components/StatusBadge/StatusBadge.tsx +24 -25
- package/src/components/StatusBadge/StatusBadgeTypes.tsx +5 -0
- package/src/components/StatusBadge/__snapshots__/StatusBadge.test.tsx.snap +28 -0
- package/src/components/StyleGuide/Bidirectionality.stories.mdx +17 -17
- package/src/components/StyleGuide/Breakpoints.stories.mdx +34 -10
- package/src/components/StyleGuide/Buttons.stories.mdx +102 -86
- package/src/components/StyleGuide/ColorCard.tsx +46 -0
- package/src/components/StyleGuide/Colors.stories.mdx +196 -0
- package/src/components/StyleGuide/DesignTokens.stories.mdx +170 -0
- package/src/components/StyleGuide/Forms.stories.mdx +9 -7
- package/src/components/StyleGuide/Iconography.stories.mdx +119 -127
- package/src/components/StyleGuide/Spacing.stories.mdx +31 -23
- package/src/components/StyleGuide/Typography.stories.mdx +202 -189
- package/src/components/StyleGuide/UIDocCard.tsx +1 -1
- package/src/components/Tabs/Tabs.stories.mdx +73 -11
- package/src/components/Tabs/Tabs.tsx +88 -67
- package/src/components/Template/Template.stories.mdx +572 -0
- package/src/components/Template/Template.test.tsx +124 -0
- package/src/components/Template/Template.tsx +226 -0
- package/src/components/Text/Text.stories.mdx +70 -0
- package/src/components/Text/Text.test.tsx +63 -0
- package/src/components/Text/Text.tsx +55 -0
- package/src/components/Text/TextTypes.tsx +6 -0
- package/src/components/Text/__snapshots__/Text.test.tsx.snap +33 -0
- package/src/components/TextInput/TextInput.stories.mdx +89 -90
- package/src/components/TextInput/TextInput.test.tsx +84 -85
- package/src/components/TextInput/TextInput.tsx +121 -95
- package/src/components/TextInput/TextInputTypes.tsx +8 -0
- package/src/components/VideoPlayer/VideoPlayer.stories.mdx +17 -4
- package/src/components/VideoPlayer/VideoPlayer.test.tsx +54 -53
- package/src/components/VideoPlayer/VideoPlayer.tsx +50 -51
- package/src/components/VideoPlayer/VideoPlayerTypes.tsx +2 -2
- package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +91 -0
- package/src/docs/Chakra.stories.mdx +246 -65
- package/src/docs/Intro.stories.mdx +18 -13
- package/src/hooks/tests/useCarouselStyles.test.ts +140 -0
- package/src/hooks/tests/useNYPLTheme.test.tsx +36 -0
- package/src/hooks/useCarouselStyles.ts +34 -0
- package/src/hooks/useNYPLTheme.ts +67 -0
- package/src/hooks/useWindowSize.ts +40 -0
- package/src/index.ts +39 -16
- package/src/resources.scss +5 -5
- package/src/styles/base/{_02-breakpoints.scss → _01-breakpoints.scss} +9 -10
- package/src/styles/base/{_03-mixins.scss → _02-mixins.scss} +16 -5
- package/src/styles/base/_03-base.scss +25 -0
- package/src/styles/base/{_05-focus.scss → _04-focus.scss} +0 -15
- package/src/styles/base/_place-holder.scss +14 -3
- package/src/styles/{03-space → space}/_space-inline.scss +14 -14
- package/src/styles/{03-space → space}/_space-inset.scss +10 -10
- package/src/styles/space/_space-stack.scss +116 -0
- package/src/styles.scss +13 -62
- package/src/theme/components/accordion.ts +30 -0
- package/src/theme/components/breadcrumb.ts +77 -0
- package/src/theme/components/button.ts +91 -71
- package/src/theme/components/card.ts +174 -0
- package/src/theme/components/checkbox.ts +22 -29
- package/src/theme/components/checkboxGroup.ts +8 -0
- package/src/theme/components/componentWrapper.ts +10 -0
- package/src/theme/components/datePicker.ts +17 -0
- package/src/theme/components/fieldset.ts +18 -0
- package/src/theme/components/global.ts +82 -0
- package/src/theme/components/globalMixins.ts +24 -0
- package/src/theme/components/heading.ts +25 -13
- package/src/theme/components/helperErrorText.ts +9 -0
- package/src/theme/components/hero.ts +240 -0
- package/src/theme/components/horizontalRule.ts +13 -0
- package/src/theme/components/icon.ts +79 -0
- package/src/theme/components/image.ts +116 -0
- package/src/theme/components/label.ts +10 -0
- package/src/theme/components/link.ts +51 -0
- package/src/theme/components/list.ts +73 -0
- package/src/theme/components/notification.ts +93 -0
- package/src/theme/components/pagination.ts +20 -0
- package/src/theme/components/progressIndicator.ts +62 -0
- package/src/theme/components/radio.ts +22 -33
- package/src/theme/components/radioGroup.ts +8 -0
- package/src/theme/components/searchBar.ts +21 -0
- package/src/theme/components/select.ts +53 -0
- package/src/theme/components/skeletonLoader.ts +107 -0
- package/src/theme/components/slider.ts +79 -0
- package/src/theme/components/statusBadge.ts +26 -0
- package/src/theme/components/tabs.ts +102 -69
- package/src/theme/components/template.ts +114 -0
- package/src/theme/components/text.ts +31 -0
- package/src/theme/components/textInput.ts +62 -0
- package/src/theme/components/videoPlayer.ts +49 -0
- package/src/theme/foundations/breakpoints.ts +8 -8
- package/src/theme/foundations/colors.ts +29 -13
- package/src/theme/foundations/global.ts +8 -0
- package/src/theme/foundations/radii.ts +6 -0
- package/src/theme/foundations/shadows.ts +5 -0
- package/src/theme/foundations/spacing.ts +24 -24
- package/src/theme/index.ts +74 -13
- package/src/utils/componentCategories.ts +12 -5
- package/src/utils/utils.ts +13 -0
- package/dist/components/Accordion/Accordion.stories.d.ts +0 -6
- package/dist/components/HelperErrorText/HelperErrorText.stories.d.ts +0 -16
- package/dist/components/Image/Image.stories.d.ts +0 -18
- package/dist/components/List/List.stories.d.ts +0 -7
- package/dist/components/StatusBadge/StatusBadge.stories.d.ts +0 -8
- package/dist/components/StyleGuide/Colors.stories.d.ts +0 -25
- package/dist/components/Template/Template.stories.d.ts +0 -30
- package/dist/theme/components/customRadioGroup.d.ts +0 -17
- package/src/components/Accordion/Accordion.stories.tsx +0 -66
- package/src/components/Accordion/_Accordion.scss +0 -81
- package/src/components/Breadcrumbs/_Breadcrumbs.scss +0 -97
- package/src/components/Button/_Button.scss +0 -56
- package/src/components/Card/_Card.scss +0 -308
- package/src/components/Form/_Form.scss +0 -67
- package/src/components/HelperErrorText/HelperErrorText.stories.tsx +0 -48
- package/src/components/HelperErrorText/_HelperErrorText.scss +0 -9
- package/src/components/Hero/_Hero.scss +0 -256
- package/src/components/HorizontalRule/_HorizontalRule.scss +0 -15
- package/src/components/Icons/_Icons.scss +0 -116
- package/src/components/Image/Image.stories.tsx +0 -54
- package/src/components/Image/_Image.scss +0 -38
- package/src/components/Label/_Label.scss +0 -22
- package/src/components/Link/_Link.scss +0 -73
- package/src/components/List/List.stories.tsx +0 -139
- package/src/components/List/_List.scss +0 -76
- package/src/components/Notification/_Notification.scss +0 -110
- package/src/components/Pagination/_Pagination.scss +0 -40
- package/src/components/SearchBar/_SearchBar.scss +0 -16
- package/src/components/Select/_Select.scss +0 -82
- package/src/components/SkeletonLoader/_SkeletonLoader.scss +0 -142
- package/src/components/StatusBadge/StatusBadge.stories.tsx +0 -34
- package/src/components/StatusBadge/_StatusBadge.scss +0 -23
- package/src/components/StyleGuide/Colors.stories.tsx +0 -289
- package/src/components/Template/Template.stories.tsx +0 -86
- package/src/components/Template/_Template.scss +0 -63
- package/src/components/TextInput/_TextInput.scss +0 -59
- package/src/components/VideoPlayer/_VideoPlayer.scss +0 -38
- package/src/styles/01-colors/_colors-brand.scss +0 -56
- package/src/styles/01-colors/_colors-utility.scss +0 -65
- package/src/styles/02-typography/_type-scale.css +0 -11
- package/src/styles/02-typography/_type-weight.css +0 -7
- package/src/styles/02-typography/_typefaces.css +0 -4
- package/src/styles/03-space/_space-stack.scss +0 -116
- package/src/styles/03-space/_space.css +0 -30
- package/src/styles/base/_04-base.scss +0 -19
- package/src/styles/base/_card-grid.scss +0 -78
- package/src/styles/base/_typography.scss +0 -11
- package/src/theme/components/customRadioGroup.ts +0 -18
|
@@ -63,7 +63,7 @@ describe("Checkbox", () => {
|
|
|
63
63
|
id="inputID"
|
|
64
64
|
labelText="Test Label"
|
|
65
65
|
helperText="This is the helper text."
|
|
66
|
-
|
|
66
|
+
invalidText="This is the error text :("
|
|
67
67
|
/>
|
|
68
68
|
);
|
|
69
69
|
expect(screen.getByText("This is the helper text.")).toBeVisible();
|
|
@@ -77,7 +77,7 @@ describe("Checkbox", () => {
|
|
|
77
77
|
labelText="Test Label"
|
|
78
78
|
isInvalid
|
|
79
79
|
helperText="This is the helper text."
|
|
80
|
-
|
|
80
|
+
invalidText="This is the error text :("
|
|
81
81
|
/>
|
|
82
82
|
);
|
|
83
83
|
expect(screen.getByText("This is the error text :(")).toBeVisible();
|
|
@@ -109,6 +109,22 @@ describe("Checkbox", () => {
|
|
|
109
109
|
expect(screen.getByRole("checkbox")).toHaveAttribute("checked");
|
|
110
110
|
});
|
|
111
111
|
|
|
112
|
+
it("Sets the 'indeterminate' state", () => {
|
|
113
|
+
const { container, rerender } = render(
|
|
114
|
+
<Checkbox id="inputID" labelText="Test Label" isChecked />
|
|
115
|
+
);
|
|
116
|
+
expect(
|
|
117
|
+
container.querySelector(".chakra-checkbox__control")
|
|
118
|
+
).not.toHaveAttribute("data-indeterminate");
|
|
119
|
+
|
|
120
|
+
rerender(
|
|
121
|
+
<Checkbox id="inputID" labelText="Test Label" isChecked isIndeterminate />
|
|
122
|
+
);
|
|
123
|
+
expect(
|
|
124
|
+
container.querySelector(".chakra-checkbox__control")
|
|
125
|
+
).toHaveAttribute("data-indeterminate");
|
|
126
|
+
});
|
|
127
|
+
|
|
112
128
|
it("Sets the 'disabled' attribute", () => {
|
|
113
129
|
render(
|
|
114
130
|
<Checkbox
|
|
@@ -139,10 +155,28 @@ describe("Checkbox", () => {
|
|
|
139
155
|
id="inputID-attributes"
|
|
140
156
|
labelText="onChange test"
|
|
141
157
|
showLabel={true}
|
|
158
|
+
invalidText="This is the error text!"
|
|
159
|
+
isInvalid
|
|
160
|
+
/>
|
|
161
|
+
);
|
|
162
|
+
expect(screen.getByRole("checkbox")).toHaveAttribute("aria-invalid");
|
|
163
|
+
expect(screen.getByText("This is the error text!")).toBeInTheDocument();
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
it("does not render the error text when 'isInvalid' is true but 'showHelperInvalidText' is false", () => {
|
|
167
|
+
render(
|
|
168
|
+
<Checkbox
|
|
169
|
+
id="inputID-attributes"
|
|
170
|
+
labelText="onChange test"
|
|
171
|
+
showLabel={true}
|
|
172
|
+
showHelperInvalidText={false}
|
|
142
173
|
isInvalid
|
|
143
174
|
/>
|
|
144
175
|
);
|
|
145
176
|
expect(screen.getByRole("checkbox")).toHaveAttribute("aria-invalid");
|
|
177
|
+
expect(
|
|
178
|
+
screen.queryByText("This is the error text!")
|
|
179
|
+
).not.toBeInTheDocument();
|
|
146
180
|
});
|
|
147
181
|
|
|
148
182
|
it("Changing the value calls the onChange handler", () => {
|
|
@@ -170,6 +204,16 @@ describe("Checkbox", () => {
|
|
|
170
204
|
<Checkbox id="checkbox-checked" labelText="Test Label" isChecked />
|
|
171
205
|
)
|
|
172
206
|
.toJSON();
|
|
207
|
+
const isIndeterminate = renderer
|
|
208
|
+
.create(
|
|
209
|
+
<Checkbox
|
|
210
|
+
id="checkbox-checked"
|
|
211
|
+
labelText="Test Label"
|
|
212
|
+
isChecked
|
|
213
|
+
isIndeterminate
|
|
214
|
+
/>
|
|
215
|
+
)
|
|
216
|
+
.toJSON();
|
|
173
217
|
const isRequired = renderer
|
|
174
218
|
.create(
|
|
175
219
|
<Checkbox id="checkbox-required" labelText="Test Label" isRequired />
|
|
@@ -188,6 +232,7 @@ describe("Checkbox", () => {
|
|
|
188
232
|
|
|
189
233
|
expect(primary).toMatchSnapshot();
|
|
190
234
|
expect(isChecked).toMatchSnapshot();
|
|
235
|
+
expect(isIndeterminate).toMatchSnapshot();
|
|
191
236
|
expect(isRequired).toMatchSnapshot();
|
|
192
237
|
expect(isInvalid).toMatchSnapshot();
|
|
193
238
|
expect(isDisabled).toMatchSnapshot();
|
|
@@ -11,36 +11,40 @@ import generateUUID from "../../helpers/generateUUID";
|
|
|
11
11
|
export interface CheckboxProps {
|
|
12
12
|
/** className you can add in addition to 'input' */
|
|
13
13
|
className?: string;
|
|
14
|
-
/** Optional string to populate the HelperErrorText for the error state
|
|
15
|
-
* when `isInvalid` is true.
|
|
16
|
-
*/
|
|
17
|
-
errorText?: string;
|
|
18
14
|
/** Optional string to populate the HelperErrorText for standard state */
|
|
19
15
|
helperText?: string;
|
|
20
16
|
/** ID that other components can cross reference for accessibility purposes */
|
|
21
17
|
id?: string;
|
|
22
|
-
/**
|
|
23
|
-
*
|
|
18
|
+
/** Optional string to populate the HelperErrorText for the error state
|
|
19
|
+
* when `isInvalid` is true. */
|
|
20
|
+
invalidText?: string;
|
|
21
|
+
/** When using the Checkbox as a "controlled" form element, you can specify
|
|
22
|
+
* the Checkbox's checked state using this prop.
|
|
24
23
|
* Learn more about controlled and uncontrolled form fields:
|
|
25
24
|
* https://goshakkk.name/controlled-vs-uncontrolled-inputs-react/ */
|
|
26
25
|
isChecked?: boolean;
|
|
27
26
|
/** Adds the 'disabled' and `aria-disabled` attributes to the input when true.
|
|
28
|
-
* This also makes the text italic and color scheme gray.
|
|
29
|
-
*/
|
|
27
|
+
* This also makes the text italic and color scheme gray. */
|
|
30
28
|
isDisabled?: boolean;
|
|
29
|
+
/** Adds the indeterminate state to the `Checkbox`. */
|
|
30
|
+
isIndeterminate?: boolean;
|
|
31
31
|
/** Adds the 'aria-invalid' attribute to the input when true. This also makes
|
|
32
|
-
* the color theme "NYPL error" red for the button and text.
|
|
33
|
-
*/
|
|
32
|
+
* the color theme "NYPL error" red for the button and text. */
|
|
34
33
|
isInvalid?: boolean;
|
|
35
34
|
/** Adds the 'required' attribute to the input when true. */
|
|
36
35
|
isRequired?: boolean;
|
|
37
|
-
/** The checkbox's label.
|
|
36
|
+
/** The checkbox's label. This will serve as the text content for a `<label>`
|
|
37
|
+
* element if `showlabel` is true, or an "aria-label" if `showLabel` is false. */
|
|
38
38
|
labelText: string;
|
|
39
|
-
/** The name prop indicates into which group of checkboxes this checkbox
|
|
39
|
+
/** The name prop indicates into which group of checkboxes this checkbox
|
|
40
|
+
* belongs. If none is specified, 'default' will be used */
|
|
40
41
|
name?: string;
|
|
41
42
|
/** The action to perform on the `<input>`'s onChange function */
|
|
42
43
|
onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
43
|
-
/** Offers the ability to
|
|
44
|
+
/** Offers the ability to hide the helper/invalid text. */
|
|
45
|
+
showHelperInvalidText?: boolean;
|
|
46
|
+
/** Offers the ability to show the checkbox's label onscreen or hide it.
|
|
47
|
+
* Refer to the `labelText` property for more information. */
|
|
44
48
|
showLabel?: boolean;
|
|
45
49
|
/** Populates the value of the input */
|
|
46
50
|
value?: string;
|
|
@@ -51,15 +55,17 @@ export const onChangeDefault = () => {
|
|
|
51
55
|
};
|
|
52
56
|
|
|
53
57
|
function CheckboxIcon(props) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
: "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";
|
|
58
|
+
// We don't need the `isIndeterminate` or `isChecked` props but it
|
|
59
|
+
// causes rendering issues on the SVG element, so we remove them
|
|
60
|
+
// before passing all the props to the `Icon` component.
|
|
61
|
+
const { isIndeterminate, isChecked, ...rest } = props;
|
|
59
62
|
|
|
60
63
|
return (
|
|
61
64
|
<Icon viewBox="0 0 24 24" {...rest}>
|
|
62
|
-
<path
|
|
65
|
+
<path
|
|
66
|
+
fill="currentColor"
|
|
67
|
+
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"
|
|
68
|
+
/>
|
|
63
69
|
</Icon>
|
|
64
70
|
);
|
|
65
71
|
}
|
|
@@ -68,64 +74,63 @@ const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(
|
|
|
68
74
|
(props, ref?) => {
|
|
69
75
|
const {
|
|
70
76
|
className,
|
|
71
|
-
|
|
77
|
+
invalidText,
|
|
72
78
|
helperText,
|
|
73
|
-
id,
|
|
79
|
+
id = generateUUID(),
|
|
74
80
|
isChecked,
|
|
75
81
|
isDisabled = false,
|
|
82
|
+
isIndeterminate = false,
|
|
76
83
|
isInvalid = false,
|
|
77
84
|
isRequired = false,
|
|
78
85
|
labelText,
|
|
79
86
|
name,
|
|
87
|
+
showHelperInvalidText = true,
|
|
80
88
|
showLabel = true,
|
|
81
89
|
value,
|
|
82
90
|
} = props;
|
|
83
|
-
|
|
84
91
|
const styles = useMultiStyleConfig("Checkbox", {});
|
|
85
|
-
const footnote = isInvalid ?
|
|
86
|
-
const
|
|
87
|
-
const checkboxID = id || generateUUID();
|
|
92
|
+
const footnote = isInvalid ? invalidText : helperText;
|
|
93
|
+
const ariaAttributes = {};
|
|
88
94
|
const onChange = props.onChange || onChangeDefault;
|
|
95
|
+
// Use Chakra's default indeterminate icon.
|
|
96
|
+
const icon = !isIndeterminate ? <CheckboxIcon /> : undefined;
|
|
89
97
|
|
|
90
98
|
if (!showLabel) {
|
|
91
|
-
|
|
99
|
+
ariaAttributes["aria-label"] =
|
|
92
100
|
labelText && footnote ? `${labelText} - ${footnote}` : labelText;
|
|
93
101
|
} else {
|
|
94
|
-
if (footnote)
|
|
102
|
+
if (footnote) ariaAttributes["aria-describedby"] = `${id}-helperText`;
|
|
95
103
|
}
|
|
96
104
|
|
|
97
105
|
return (
|
|
98
106
|
<>
|
|
99
107
|
<ChakraCheckbox
|
|
100
|
-
id={
|
|
108
|
+
id={id}
|
|
101
109
|
className={className}
|
|
102
110
|
name={name || "default"}
|
|
103
111
|
isDisabled={isDisabled}
|
|
104
112
|
isInvalid={isInvalid}
|
|
105
113
|
isRequired={isRequired}
|
|
114
|
+
isIndeterminate={isIndeterminate}
|
|
106
115
|
ref={ref}
|
|
107
116
|
value={value}
|
|
108
117
|
{...(isChecked !== undefined
|
|
109
118
|
? {
|
|
110
|
-
isChecked
|
|
111
|
-
onChange
|
|
119
|
+
isChecked,
|
|
120
|
+
onChange,
|
|
112
121
|
}
|
|
113
122
|
: {
|
|
114
123
|
defaultIsChecked: false,
|
|
115
124
|
})}
|
|
116
|
-
icon={
|
|
117
|
-
//iconColor="ui.focus"
|
|
125
|
+
icon={icon}
|
|
118
126
|
__css={styles}
|
|
119
|
-
{...
|
|
127
|
+
{...ariaAttributes}
|
|
120
128
|
>
|
|
121
129
|
{showLabel && labelText}
|
|
122
130
|
</ChakraCheckbox>
|
|
123
|
-
{footnote &&
|
|
124
|
-
<Box __css={styles.helper}
|
|
125
|
-
<HelperErrorText
|
|
126
|
-
isError={isInvalid}
|
|
127
|
-
id={`${checkboxID}-helperText`}
|
|
128
|
-
>
|
|
131
|
+
{footnote && showHelperInvalidText && (
|
|
132
|
+
<Box __css={styles.helper}>
|
|
133
|
+
<HelperErrorText isInvalid={isInvalid} id={`${id}-helperText`}>
|
|
129
134
|
{footnote}
|
|
130
135
|
</HelperErrorText>
|
|
131
136
|
</Box>
|
|
@@ -135,6 +140,4 @@ const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(
|
|
|
135
140
|
}
|
|
136
141
|
);
|
|
137
142
|
|
|
138
|
-
Checkbox.displayName = "Checkbox";
|
|
139
|
-
|
|
140
143
|
export default Checkbox;
|
|
@@ -45,7 +45,6 @@ exports[`Checkbox Renders the UI snapshot correctly 1`] = `
|
|
|
45
45
|
<svg
|
|
46
46
|
className="chakra-icon css-1vfv7ic"
|
|
47
47
|
focusable={false}
|
|
48
|
-
isChecked={false}
|
|
49
48
|
viewBox="0 0 24 24"
|
|
50
49
|
>
|
|
51
50
|
<path
|
|
@@ -67,6 +66,7 @@ exports[`Checkbox Renders the UI snapshot correctly 1`] = `
|
|
|
67
66
|
exports[`Checkbox Renders the UI snapshot correctly 2`] = `
|
|
68
67
|
<label
|
|
69
68
|
className="chakra-checkbox css-1uiwwan"
|
|
69
|
+
data-checked=""
|
|
70
70
|
onClick={[Function]}
|
|
71
71
|
>
|
|
72
72
|
<input
|
|
@@ -110,7 +110,6 @@ exports[`Checkbox Renders the UI snapshot correctly 2`] = `
|
|
|
110
110
|
<svg
|
|
111
111
|
className="chakra-icon css-oi1lnb"
|
|
112
112
|
focusable={false}
|
|
113
|
-
isChecked={true}
|
|
114
113
|
viewBox="0 0 24 24"
|
|
115
114
|
>
|
|
116
115
|
<path
|
|
@@ -131,6 +130,94 @@ exports[`Checkbox Renders the UI snapshot correctly 2`] = `
|
|
|
131
130
|
`;
|
|
132
131
|
|
|
133
132
|
exports[`Checkbox Renders the UI snapshot correctly 3`] = `
|
|
133
|
+
<label
|
|
134
|
+
className="chakra-checkbox css-1uiwwan"
|
|
135
|
+
data-checked=""
|
|
136
|
+
onClick={[Function]}
|
|
137
|
+
>
|
|
138
|
+
<input
|
|
139
|
+
aria-disabled={false}
|
|
140
|
+
aria-invalid={false}
|
|
141
|
+
checked={true}
|
|
142
|
+
className="chakra-checkbox__input"
|
|
143
|
+
disabled={false}
|
|
144
|
+
id="checkbox-checked"
|
|
145
|
+
name="default"
|
|
146
|
+
onBlur={[Function]}
|
|
147
|
+
onChange={[Function]}
|
|
148
|
+
onFocus={[Function]}
|
|
149
|
+
onKeyDown={[Function]}
|
|
150
|
+
onKeyUp={[Function]}
|
|
151
|
+
required={false}
|
|
152
|
+
style={
|
|
153
|
+
Object {
|
|
154
|
+
"border": "0px",
|
|
155
|
+
"clip": "rect(0px, 0px, 0px, 0px)",
|
|
156
|
+
"height": "1px",
|
|
157
|
+
"margin": "-1px",
|
|
158
|
+
"overflow": "hidden",
|
|
159
|
+
"padding": "0px",
|
|
160
|
+
"position": "absolute",
|
|
161
|
+
"whiteSpace": "nowrap",
|
|
162
|
+
"width": "1px",
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
type="checkbox"
|
|
166
|
+
/>
|
|
167
|
+
<span
|
|
168
|
+
aria-hidden={true}
|
|
169
|
+
className="chakra-checkbox__control css-dnty2r"
|
|
170
|
+
data-checked=""
|
|
171
|
+
data-indeterminate=""
|
|
172
|
+
onMouseDown={[Function]}
|
|
173
|
+
onMouseEnter={[Function]}
|
|
174
|
+
onMouseLeave={[Function]}
|
|
175
|
+
onMouseUp={[Function]}
|
|
176
|
+
>
|
|
177
|
+
<div
|
|
178
|
+
style={
|
|
179
|
+
Object {
|
|
180
|
+
"alignItems": "center",
|
|
181
|
+
"display": "flex",
|
|
182
|
+
"height": "100%",
|
|
183
|
+
"justifyContent": "center",
|
|
184
|
+
"transform": "none",
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
>
|
|
188
|
+
<svg
|
|
189
|
+
className="css-o8vbdw"
|
|
190
|
+
style={
|
|
191
|
+
Object {
|
|
192
|
+
"opacity": 1,
|
|
193
|
+
"stroke": "currentColor",
|
|
194
|
+
"strokeWidth": 4,
|
|
195
|
+
"transform": "none",
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
viewBox="0 0 24 24"
|
|
199
|
+
>
|
|
200
|
+
<line
|
|
201
|
+
x1="21"
|
|
202
|
+
x2="3"
|
|
203
|
+
y1="12"
|
|
204
|
+
y2="12"
|
|
205
|
+
/>
|
|
206
|
+
</svg>
|
|
207
|
+
</div>
|
|
208
|
+
</span>
|
|
209
|
+
<span
|
|
210
|
+
className="chakra-checkbox__label css-1oeb2oe"
|
|
211
|
+
data-checked=""
|
|
212
|
+
onMouseDown={[Function]}
|
|
213
|
+
onTouchStart={[Function]}
|
|
214
|
+
>
|
|
215
|
+
Test Label
|
|
216
|
+
</span>
|
|
217
|
+
</label>
|
|
218
|
+
`;
|
|
219
|
+
|
|
220
|
+
exports[`Checkbox Renders the UI snapshot correctly 4`] = `
|
|
134
221
|
<label
|
|
135
222
|
className="chakra-checkbox css-1uiwwan"
|
|
136
223
|
onClick={[Function]}
|
|
@@ -175,7 +262,6 @@ exports[`Checkbox Renders the UI snapshot correctly 3`] = `
|
|
|
175
262
|
<svg
|
|
176
263
|
className="chakra-icon css-1vfv7ic"
|
|
177
264
|
focusable={false}
|
|
178
|
-
isChecked={false}
|
|
179
265
|
viewBox="0 0 24 24"
|
|
180
266
|
>
|
|
181
267
|
<path
|
|
@@ -194,9 +280,10 @@ exports[`Checkbox Renders the UI snapshot correctly 3`] = `
|
|
|
194
280
|
</label>
|
|
195
281
|
`;
|
|
196
282
|
|
|
197
|
-
exports[`Checkbox Renders the UI snapshot correctly
|
|
283
|
+
exports[`Checkbox Renders the UI snapshot correctly 5`] = `
|
|
198
284
|
<label
|
|
199
285
|
className="chakra-checkbox css-1uiwwan"
|
|
286
|
+
data-invalid=""
|
|
200
287
|
onClick={[Function]}
|
|
201
288
|
>
|
|
202
289
|
<input
|
|
@@ -240,7 +327,6 @@ exports[`Checkbox Renders the UI snapshot correctly 4`] = `
|
|
|
240
327
|
<svg
|
|
241
328
|
className="chakra-icon css-1vfv7ic"
|
|
242
329
|
focusable={false}
|
|
243
|
-
isChecked={false}
|
|
244
330
|
viewBox="0 0 24 24"
|
|
245
331
|
>
|
|
246
332
|
<path
|
|
@@ -260,7 +346,7 @@ exports[`Checkbox Renders the UI snapshot correctly 4`] = `
|
|
|
260
346
|
</label>
|
|
261
347
|
`;
|
|
262
348
|
|
|
263
|
-
exports[`Checkbox Renders the UI snapshot correctly
|
|
349
|
+
exports[`Checkbox Renders the UI snapshot correctly 6`] = `
|
|
264
350
|
<label
|
|
265
351
|
className="chakra-checkbox css-1uiwwan"
|
|
266
352
|
data-disabled=""
|
|
@@ -307,7 +393,6 @@ exports[`Checkbox Renders the UI snapshot correctly 5`] = `
|
|
|
307
393
|
<svg
|
|
308
394
|
className="chakra-icon css-1vfv7ic"
|
|
309
395
|
focusable={false}
|
|
310
|
-
isChecked={false}
|
|
311
396
|
viewBox="0 0 24 24"
|
|
312
397
|
>
|
|
313
398
|
<path
|