@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
|
@@ -2,6 +2,7 @@ import * as React from "react";
|
|
|
2
2
|
import { render, screen } from "@testing-library/react";
|
|
3
3
|
import { axe } from "jest-axe";
|
|
4
4
|
import userEvent from "@testing-library/user-event";
|
|
5
|
+
import renderer from "react-test-renderer";
|
|
5
6
|
|
|
6
7
|
import DatePicker from "./DatePicker";
|
|
7
8
|
import { DatePickerTypes } from "./DatePickerTypes";
|
|
@@ -36,7 +37,7 @@ describe("DatePicker Accessibility", () => {
|
|
|
36
37
|
const { container } = render(
|
|
37
38
|
<DatePicker
|
|
38
39
|
labelText="Select the date range you want to visit NYPL"
|
|
39
|
-
|
|
40
|
+
isDateRange
|
|
40
41
|
/>
|
|
41
42
|
);
|
|
42
43
|
expect(await axe(container)).toHaveNoViolations();
|
|
@@ -195,7 +196,7 @@ describe("DatePicker", () => {
|
|
|
195
196
|
labelText="Select the date you want to visit NYPL"
|
|
196
197
|
helperText="Note that the Library may be closed on Sundays."
|
|
197
198
|
invalidText="Please select a valid date."
|
|
198
|
-
|
|
199
|
+
isInvalid
|
|
199
200
|
/>
|
|
200
201
|
);
|
|
201
202
|
// When errored, we expect only the error text to appear.
|
|
@@ -207,12 +208,45 @@ describe("DatePicker", () => {
|
|
|
207
208
|
).toBeInTheDocument();
|
|
208
209
|
});
|
|
209
210
|
|
|
211
|
+
it("should not render the helper text or invalid text when 'showHelperInvalidText' is false", () => {
|
|
212
|
+
const { rerender } = render(
|
|
213
|
+
<DatePicker
|
|
214
|
+
labelText="Select the date you want to visit NYPL"
|
|
215
|
+
helperText="Note that the Library may be closed on Sundays."
|
|
216
|
+
invalidText="Please select a valid date."
|
|
217
|
+
showHelperInvalidText={false}
|
|
218
|
+
/>
|
|
219
|
+
);
|
|
220
|
+
expect(
|
|
221
|
+
screen.queryByText("Note that the Library may be closed on Sundays.")
|
|
222
|
+
).not.toBeInTheDocument();
|
|
223
|
+
expect(
|
|
224
|
+
screen.queryByText("Please select a valid date.")
|
|
225
|
+
).not.toBeInTheDocument();
|
|
226
|
+
|
|
227
|
+
rerender(
|
|
228
|
+
<DatePicker
|
|
229
|
+
labelText="Select the date you want to visit NYPL"
|
|
230
|
+
helperText="Note that the Library may be closed on Sundays."
|
|
231
|
+
invalidText="Please select a valid date."
|
|
232
|
+
showHelperInvalidText={false}
|
|
233
|
+
isInvalid
|
|
234
|
+
/>
|
|
235
|
+
);
|
|
236
|
+
expect(
|
|
237
|
+
screen.queryByText("Note that the Library may be closed on Sundays.")
|
|
238
|
+
).not.toBeInTheDocument();
|
|
239
|
+
expect(
|
|
240
|
+
screen.queryByText("Please select a valid date.")
|
|
241
|
+
).not.toBeInTheDocument();
|
|
242
|
+
});
|
|
243
|
+
|
|
210
244
|
it("should render a disabled input field", () => {
|
|
211
245
|
render(
|
|
212
246
|
<DatePicker
|
|
213
247
|
labelText="Select the date you want to visit NYPL"
|
|
214
248
|
helperText="Note that the Library may be closed on Sundays."
|
|
215
|
-
|
|
249
|
+
isDisabled
|
|
216
250
|
/>
|
|
217
251
|
);
|
|
218
252
|
|
|
@@ -226,13 +260,45 @@ describe("DatePicker", () => {
|
|
|
226
260
|
<DatePicker
|
|
227
261
|
labelText="Select the date you want to visit NYPL"
|
|
228
262
|
helperText="Note that the Library may be closed on Sundays."
|
|
229
|
-
|
|
263
|
+
isRequired
|
|
230
264
|
/>
|
|
231
265
|
);
|
|
232
266
|
|
|
233
267
|
expect(screen.getByText(/required/i)).toBeInTheDocument();
|
|
234
268
|
});
|
|
235
269
|
|
|
270
|
+
it("should hide the Optional/Required text in the label with `showOptReqLabel`", () => {
|
|
271
|
+
const { rerender } = render(
|
|
272
|
+
<DatePicker labelText="Select the date you want to visit NYPL" />
|
|
273
|
+
);
|
|
274
|
+
expect(screen.getByText(/Optional/i)).toBeInTheDocument();
|
|
275
|
+
|
|
276
|
+
rerender(
|
|
277
|
+
<DatePicker
|
|
278
|
+
labelText="Select the date you want to visit NYPL"
|
|
279
|
+
showOptReqLabel={false}
|
|
280
|
+
/>
|
|
281
|
+
);
|
|
282
|
+
expect(screen.queryByText(/Optional/i)).not.toBeInTheDocument();
|
|
283
|
+
|
|
284
|
+
rerender(
|
|
285
|
+
<DatePicker
|
|
286
|
+
labelText="Select the date you want to visit NYPL"
|
|
287
|
+
isRequired
|
|
288
|
+
/>
|
|
289
|
+
);
|
|
290
|
+
expect(screen.getByText(/Required/i)).toBeInTheDocument();
|
|
291
|
+
|
|
292
|
+
rerender(
|
|
293
|
+
<DatePicker
|
|
294
|
+
labelText="Select the date you want to visit NYPL"
|
|
295
|
+
showOptReqLabel={false}
|
|
296
|
+
isRequired
|
|
297
|
+
/>
|
|
298
|
+
);
|
|
299
|
+
expect(screen.queryByText(/Required/i)).not.toBeInTheDocument();
|
|
300
|
+
});
|
|
301
|
+
|
|
236
302
|
it("should pass the value to the `onChange` function", () => {
|
|
237
303
|
let dateObject: any = {};
|
|
238
304
|
const onChange = (data) => {
|
|
@@ -242,8 +308,8 @@ describe("DatePicker", () => {
|
|
|
242
308
|
<DatePicker
|
|
243
309
|
labelText="Select the date you want to visit NYPL"
|
|
244
310
|
helperText="Note that the Library may be closed on Sundays."
|
|
245
|
-
required={true}
|
|
246
311
|
onChange={onChange}
|
|
312
|
+
isRequired
|
|
247
313
|
/>
|
|
248
314
|
);
|
|
249
315
|
|
|
@@ -299,17 +365,68 @@ describe("DatePicker", () => {
|
|
|
299
365
|
);
|
|
300
366
|
});
|
|
301
367
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
368
|
+
// Note: Have to add an initial date so that the snapshot tests always
|
|
369
|
+
// pass. Otherwise, it'll use the _current_ date which changes
|
|
370
|
+
// based on the day it is tested and is not what we want.
|
|
371
|
+
it.skip("renders the UI snapshot correctly", () => {
|
|
372
|
+
const basic = renderer
|
|
373
|
+
.create(
|
|
374
|
+
<DatePicker
|
|
375
|
+
id="basic"
|
|
376
|
+
labelText="Select the full date you want to visit NYPL"
|
|
377
|
+
initialDate="1/2/1988"
|
|
378
|
+
/>
|
|
379
|
+
)
|
|
380
|
+
.toJSON();
|
|
381
|
+
const withoutLabel = renderer
|
|
382
|
+
.create(
|
|
383
|
+
<DatePicker
|
|
384
|
+
id="no-label"
|
|
385
|
+
labelText="Select the date you want to visit NYPL"
|
|
386
|
+
initialDate="1/2/1988"
|
|
387
|
+
showLabel={false}
|
|
388
|
+
/>
|
|
389
|
+
)
|
|
390
|
+
.toJSON();
|
|
391
|
+
const withCustomFormat = renderer
|
|
392
|
+
.create(
|
|
393
|
+
<DatePicker
|
|
394
|
+
id="custom-format"
|
|
395
|
+
labelText="Select the date you want to visit NYPL"
|
|
396
|
+
dateFormat="yyyy/dd/MM"
|
|
397
|
+
initialDate="1/2/1988"
|
|
398
|
+
/>
|
|
399
|
+
)
|
|
400
|
+
.toJSON();
|
|
401
|
+
const invalid = renderer
|
|
402
|
+
.create(
|
|
403
|
+
<DatePicker
|
|
404
|
+
id="invalid"
|
|
405
|
+
labelText="Select the date you want to visit NYPL"
|
|
406
|
+
helperText="Note that the Library may be closed on Sundays."
|
|
407
|
+
invalidText="Please select a valid date."
|
|
408
|
+
initialDate="1/2/1988"
|
|
409
|
+
isInvalid
|
|
410
|
+
/>
|
|
411
|
+
)
|
|
412
|
+
.toJSON();
|
|
413
|
+
const disabled = renderer
|
|
414
|
+
.create(
|
|
415
|
+
<DatePicker
|
|
416
|
+
id="disabled"
|
|
417
|
+
labelText="Select the date you want to visit NYPL"
|
|
418
|
+
helperText="Note that the Library may be closed on Sundays."
|
|
419
|
+
invalidText="Please select a valid date."
|
|
420
|
+
initialDate="1/2/1988"
|
|
421
|
+
isDisabled
|
|
422
|
+
/>
|
|
423
|
+
)
|
|
424
|
+
.toJSON();
|
|
425
|
+
expect(basic).toMatchSnapshot();
|
|
426
|
+
expect(withoutLabel).toMatchSnapshot();
|
|
427
|
+
expect(withCustomFormat).toMatchSnapshot();
|
|
428
|
+
expect(invalid).toMatchSnapshot();
|
|
429
|
+
expect(disabled).toMatchSnapshot();
|
|
313
430
|
});
|
|
314
431
|
});
|
|
315
432
|
|
|
@@ -317,8 +434,8 @@ describe("DatePicker", () => {
|
|
|
317
434
|
it("should render the date range with two input fields", () => {
|
|
318
435
|
render(
|
|
319
436
|
<DatePicker
|
|
320
|
-
dateRange={true}
|
|
321
437
|
labelText="Select the date range you want to visit NYPL"
|
|
438
|
+
isDateRange
|
|
322
439
|
/>
|
|
323
440
|
);
|
|
324
441
|
const [year, month, day] = getTodaysValues();
|
|
@@ -337,7 +454,7 @@ describe("DatePicker", () => {
|
|
|
337
454
|
render(
|
|
338
455
|
<DatePicker
|
|
339
456
|
labelText="Select the full date you want to visit NYPL"
|
|
340
|
-
|
|
457
|
+
isDateRange
|
|
341
458
|
initialDate="1/2/1988"
|
|
342
459
|
initialDateTo="3/4/1990"
|
|
343
460
|
/>
|
|
@@ -352,12 +469,12 @@ describe("DatePicker", () => {
|
|
|
352
469
|
it("should render two input labels and three separate helper text", () => {
|
|
353
470
|
render(
|
|
354
471
|
<DatePicker
|
|
355
|
-
dateRange={true}
|
|
356
472
|
labelText="Select the date range you want to visit NYPL"
|
|
357
473
|
helperText="Note that the Library may be closed on Sundays."
|
|
358
474
|
helperTextFrom="Note for the 'from' field."
|
|
359
475
|
helperTextTo="Note for the 'to' field."
|
|
360
476
|
invalidText="Please select a valid date range."
|
|
477
|
+
isDateRange
|
|
361
478
|
/>
|
|
362
479
|
);
|
|
363
480
|
// There are two labels for each input.
|
|
@@ -375,95 +492,169 @@ describe("DatePicker", () => {
|
|
|
375
492
|
expect(screen.getByText(/Note for the 'to' field./i)).toBeInTheDocument();
|
|
376
493
|
});
|
|
377
494
|
|
|
378
|
-
it("should render based on
|
|
495
|
+
it("should render different states based on respective props", () => {
|
|
379
496
|
const { rerender } = render(
|
|
380
497
|
<DatePicker
|
|
381
|
-
dateRange={true}
|
|
382
498
|
labelText="Select the date range you want to visit NYPL"
|
|
383
499
|
helperText="Note that the Library may be closed on Sundays."
|
|
384
500
|
helperTextTo="Note for the 'to' field."
|
|
385
501
|
invalidText="Please select a valid date range."
|
|
386
|
-
|
|
502
|
+
isDateRange
|
|
503
|
+
isInvalid
|
|
387
504
|
/>
|
|
388
505
|
);
|
|
389
506
|
|
|
507
|
+
// The invalid text displays under each input field.
|
|
390
508
|
expect(
|
|
391
509
|
screen.getAllByText("Please select a valid date range.")
|
|
392
510
|
).toHaveLength(2);
|
|
393
511
|
|
|
394
512
|
rerender(
|
|
395
513
|
<DatePicker
|
|
396
|
-
dateRange={true}
|
|
397
514
|
labelText="Select the date range you want to visit NYPL"
|
|
398
515
|
helperText="Note that the Library may be closed on Sundays."
|
|
399
516
|
helperTextTo="Note for the 'to' field."
|
|
400
517
|
invalidText="Please select a valid date range."
|
|
401
|
-
|
|
518
|
+
isDisabled
|
|
519
|
+
isDateRange
|
|
402
520
|
/>
|
|
403
521
|
);
|
|
404
|
-
|
|
522
|
+
// Both input fields are disabled.
|
|
405
523
|
expect(screen.getByLabelText(/From/i)).toHaveAttribute("disabled");
|
|
406
524
|
expect(screen.getByLabelText(/To/i)).toHaveAttribute("disabled");
|
|
407
525
|
|
|
408
526
|
rerender(
|
|
409
527
|
<DatePicker
|
|
410
|
-
dateRange={true}
|
|
411
528
|
labelText="Select the date range you want to visit NYPL"
|
|
412
529
|
helperText="Note that the Library may be closed on Sundays."
|
|
413
530
|
helperTextTo="Note for the 'to' field."
|
|
414
531
|
invalidText="Please select a valid date range."
|
|
415
|
-
|
|
532
|
+
isRequired
|
|
533
|
+
isDateRange
|
|
416
534
|
/>
|
|
417
535
|
);
|
|
536
|
+
// Both input fields are required.
|
|
537
|
+
// The "Required" text is only displayed once in the `legend`.
|
|
538
|
+
expect(screen.getAllByText(/required/i)).toHaveLength(1);
|
|
539
|
+
expect(screen.getByLabelText(/From/i)).toHaveAttribute("required");
|
|
540
|
+
expect(screen.getByLabelText(/To/i)).toHaveAttribute("required");
|
|
541
|
+
});
|
|
418
542
|
|
|
419
|
-
|
|
543
|
+
// Note: Have to add initial dates so that the snapshot tests always
|
|
544
|
+
// pass. Otherwise, it'll use the _current_ date which changes
|
|
545
|
+
// based on the day it is tested and is not what we want.
|
|
546
|
+
it("renders the UI snapshot correctly", () => {
|
|
547
|
+
const basic = renderer
|
|
548
|
+
.create(
|
|
549
|
+
<DatePicker
|
|
550
|
+
id="basic"
|
|
551
|
+
labelText="Select the full date you want to visit NYPL"
|
|
552
|
+
initialDate="1/2/1988"
|
|
553
|
+
initialDateTo="2/2/1988"
|
|
554
|
+
isDateRange
|
|
555
|
+
/>
|
|
556
|
+
)
|
|
557
|
+
.toJSON();
|
|
558
|
+
const withoutLabel = renderer
|
|
559
|
+
.create(
|
|
560
|
+
<DatePicker
|
|
561
|
+
id="no-label"
|
|
562
|
+
labelText="Select the date you want to visit NYPL"
|
|
563
|
+
showLabel={false}
|
|
564
|
+
initialDate="1/2/1988"
|
|
565
|
+
initialDateTo="2/2/1988"
|
|
566
|
+
isDateRange
|
|
567
|
+
/>
|
|
568
|
+
)
|
|
569
|
+
.toJSON();
|
|
570
|
+
const withCustomFormat = renderer
|
|
571
|
+
.create(
|
|
572
|
+
<DatePicker
|
|
573
|
+
id="custom-format"
|
|
574
|
+
labelText="Select the date you want to visit NYPL"
|
|
575
|
+
dateFormat="yyyy/dd/MM"
|
|
576
|
+
initialDate="1/2/1988"
|
|
577
|
+
initialDateTo="2/2/1988"
|
|
578
|
+
isDateRange
|
|
579
|
+
/>
|
|
580
|
+
)
|
|
581
|
+
.toJSON();
|
|
582
|
+
const invalid = renderer
|
|
583
|
+
.create(
|
|
584
|
+
<DatePicker
|
|
585
|
+
id="invalid"
|
|
586
|
+
labelText="Select the date you want to visit NYPL"
|
|
587
|
+
helperText="Note that the Library may be closed on Sundays."
|
|
588
|
+
invalidText="Please select a valid date."
|
|
589
|
+
initialDate="1/2/1988"
|
|
590
|
+
initialDateTo="2/2/1988"
|
|
591
|
+
isInvalid
|
|
592
|
+
isDateRange
|
|
593
|
+
/>
|
|
594
|
+
)
|
|
595
|
+
.toJSON();
|
|
596
|
+
const disabled = renderer
|
|
597
|
+
.create(
|
|
598
|
+
<DatePicker
|
|
599
|
+
id="disabled"
|
|
600
|
+
labelText="Select the date you want to visit NYPL"
|
|
601
|
+
helperText="Note that the Library may be closed on Sundays."
|
|
602
|
+
invalidText="Please select a valid date."
|
|
603
|
+
initialDate="1/2/1988"
|
|
604
|
+
initialDateTo="2/2/1988"
|
|
605
|
+
isDisabled
|
|
606
|
+
isDateRange
|
|
607
|
+
/>
|
|
608
|
+
)
|
|
609
|
+
.toJSON();
|
|
610
|
+
expect(basic).toMatchSnapshot();
|
|
611
|
+
expect(withoutLabel).toMatchSnapshot();
|
|
612
|
+
expect(withCustomFormat).toMatchSnapshot();
|
|
613
|
+
expect(invalid).toMatchSnapshot();
|
|
614
|
+
expect(disabled).toMatchSnapshot();
|
|
420
615
|
});
|
|
421
616
|
|
|
422
|
-
/* // REVISIT THIS TEST
|
|
423
617
|
it("should select two new dates", () => {
|
|
424
618
|
render(
|
|
425
619
|
<DatePicker
|
|
426
|
-
|
|
620
|
+
initialDate="3/2/1988"
|
|
621
|
+
initialDateTo="3/28/1988"
|
|
622
|
+
isDateRange
|
|
427
623
|
labelText="Select the date range you want to visit NYPL"
|
|
428
624
|
/>
|
|
429
625
|
);
|
|
430
626
|
const fromInput = screen.getByLabelText(/From/i);
|
|
431
627
|
const toInput = screen.getByLabelText(/To/i);
|
|
432
|
-
const date = getTodaysDateDisplay();
|
|
433
628
|
|
|
434
|
-
expect(
|
|
629
|
+
expect(fromInput).toHaveValue("1988-03-02");
|
|
630
|
+
expect(toInput).toHaveValue("1988-03-28");
|
|
631
|
+
// expect(screen.getAllByDisplayValue(date)).toHaveLength(2);
|
|
435
632
|
|
|
436
633
|
// Let's select a new day.
|
|
437
634
|
userEvent.click(fromInput);
|
|
438
635
|
// The popup displays. Select a new day.
|
|
439
|
-
const newDateFrom =
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
todaysDate.getDate() > 28 ? 18 : todaysDate.getDate() + 5;
|
|
443
|
-
const newDateToSelect = str_pad(newDateFrom);
|
|
444
|
-
userEvent.click(screen.getAllByText(newDateFrom)[0]);
|
|
636
|
+
const newDateFrom = 5;
|
|
637
|
+
const newDateTo = 25;
|
|
638
|
+
userEvent.click(screen.getByText(newDateFrom));
|
|
445
639
|
|
|
446
|
-
// We selected a new day but kept everything else the same.
|
|
447
|
-
//
|
|
448
|
-
|
|
449
|
-
const newFromValue = `${date.slice(0, -2)}${newDateToSelect}`;
|
|
450
|
-
expect(screen.getByDisplayValue(newFromValue)).toBeInTheDocument();
|
|
640
|
+
// We selected a new day but kept everything else the same.
|
|
641
|
+
// Example: 2021-03-02 -> 5 is selected -> 2021-03-05
|
|
642
|
+
expect(screen.getByDisplayValue("1988-03-05")).toBeInTheDocument();
|
|
451
643
|
// The "To" input should only have the older value now.
|
|
452
|
-
expect(screen.getAllByDisplayValue(date)).toHaveLength(1);
|
|
644
|
+
// expect(screen.getAllByDisplayValue(date)).toHaveLength(1);
|
|
453
645
|
|
|
454
646
|
// Now select the "To" date.
|
|
455
647
|
userEvent.click(toInput);
|
|
456
648
|
// The popup displays.
|
|
457
649
|
userEvent.click(screen.getByText(newDateTo));
|
|
458
650
|
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
expect(screen.
|
|
651
|
+
expect(screen.getByDisplayValue("1988-03-25")).toBeInTheDocument();
|
|
652
|
+
// The original date values are no longer in display.
|
|
653
|
+
expect(screen.queryByDisplayValue("1988-03-02")).not.toBeInTheDocument();
|
|
654
|
+
expect(screen.queryByDisplayValue("1988-03-28")).not.toBeInTheDocument();
|
|
463
655
|
// The "From" date value wasn't affected by this!
|
|
464
|
-
expect(screen.getByDisplayValue(
|
|
656
|
+
expect(screen.getByDisplayValue("1988-03-05")).toBeInTheDocument();
|
|
465
657
|
});
|
|
466
|
-
*/
|
|
467
658
|
});
|
|
468
659
|
|
|
469
660
|
describe("Popup Calendar", () => {
|
|
@@ -496,11 +687,16 @@ describe("DatePicker", () => {
|
|
|
496
687
|
});
|
|
497
688
|
|
|
498
689
|
it("should select a new date from the calendar", () => {
|
|
499
|
-
render(
|
|
690
|
+
render(
|
|
691
|
+
<DatePicker
|
|
692
|
+
labelText="Select the date you want to visit NYPL"
|
|
693
|
+
initialDate="08/01/2021"
|
|
694
|
+
/>
|
|
695
|
+
);
|
|
500
696
|
const input = screen.getByLabelText(
|
|
501
697
|
/Select the date you want to visit NYPL/i
|
|
502
698
|
);
|
|
503
|
-
const date =
|
|
699
|
+
const date = "2021-08-01";
|
|
504
700
|
const midMonthDay = "15";
|
|
505
701
|
|
|
506
702
|
expect(screen.getByDisplayValue(date)).toBeInTheDocument();
|
|
@@ -518,19 +714,18 @@ describe("DatePicker", () => {
|
|
|
518
714
|
|
|
519
715
|
// Let's select a new month
|
|
520
716
|
userEvent.click(input);
|
|
521
|
-
// The popup displays.
|
|
717
|
+
// The popup displays. We are currently on 08/15/2021.
|
|
522
718
|
expect(
|
|
523
|
-
screen.getByText(monthArray[
|
|
719
|
+
screen.getByText(monthArray["7"], { exact: false })
|
|
524
720
|
).toBeInTheDocument();
|
|
525
721
|
userEvent.click(screen.getByLabelText("Next Month"));
|
|
526
722
|
userEvent.click(screen.getByLabelText("Next Month"));
|
|
527
723
|
|
|
528
724
|
// We are two months ahead but still selecting the midmonth day.
|
|
529
725
|
userEvent.click(screen.getByText(midMonthDay));
|
|
530
|
-
// So only the month should change accordingly.
|
|
531
|
-
// Date object is 0-index so we have to add 3.
|
|
726
|
+
// So only the month should change accordingly.
|
|
532
727
|
const newMonthValue = `${newDayValue.substr(0, 5)}${str_pad(
|
|
533
|
-
|
|
728
|
+
"10"
|
|
534
729
|
)}${newDayValue.substr(7)}`;
|
|
535
730
|
expect(screen.getByDisplayValue(newMonthValue)).toBeInTheDocument();
|
|
536
731
|
});
|
|
@@ -565,33 +760,38 @@ describe("DatePicker", () => {
|
|
|
565
760
|
render(
|
|
566
761
|
<DatePicker
|
|
567
762
|
dateType={DatePickerTypes.Month}
|
|
763
|
+
initialDate="4/1/1988"
|
|
568
764
|
labelText="Select the month you want to visit NYPL"
|
|
569
765
|
/>
|
|
570
766
|
);
|
|
571
767
|
const input = screen.getByLabelText(
|
|
572
768
|
/Select the month you want to visit NYPL/i
|
|
573
769
|
);
|
|
574
|
-
|
|
575
|
-
|
|
770
|
+
// In the "month" format.
|
|
771
|
+
const date = "04-1988";
|
|
772
|
+
// Let's select May as the new month.
|
|
773
|
+
let currentMonthSelected = monthArray[4];
|
|
576
774
|
let currentMonthSelectedDisplay = currentMonthSelected.slice(0, 3);
|
|
577
775
|
|
|
776
|
+
// We start off with April being displayed as "4-1988".
|
|
578
777
|
expect(screen.getByDisplayValue(date)).toBeInTheDocument();
|
|
579
778
|
expect(
|
|
580
779
|
screen.queryByText(currentMonthSelectedDisplay)
|
|
581
780
|
).not.toBeInTheDocument();
|
|
582
781
|
|
|
583
|
-
// Let's select a new day
|
|
782
|
+
// Let's select a new day by first clicking on the input to open
|
|
783
|
+
// the calendar popup.
|
|
584
784
|
userEvent.click(input);
|
|
585
|
-
// The popup displays.
|
|
586
785
|
|
|
786
|
+
// Now "May" appears as the next month in the calendar popup.
|
|
587
787
|
expect(screen.getByText(currentMonthSelectedDisplay)).toBeInTheDocument();
|
|
588
788
|
|
|
589
|
-
userEvent.click(screen.getByText(
|
|
789
|
+
userEvent.click(screen.getByText(currentMonthSelectedDisplay));
|
|
590
790
|
|
|
591
791
|
// We selected a new month but kept the year the same.
|
|
592
|
-
// Example:
|
|
792
|
+
// Example: 04-2021 -> "May" -> 05-2021
|
|
593
793
|
expect(
|
|
594
|
-
screen.getByDisplayValue(`
|
|
794
|
+
screen.getByDisplayValue(`05-${date.substr(3)}`)
|
|
595
795
|
).toBeInTheDocument();
|
|
596
796
|
});
|
|
597
797
|
|