@nypl/design-system-react-components 1.0.1 → 1.0.2
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 +1428 -3
- package/README.md +391 -3
- package/dist/__tests__/fileMock.d.ts +4 -0
- package/dist/__tests__/setup.d.ts +2 -0
- package/{lib/stories/0-Welcome.stories.d.ts → dist/__tests__/utils/utils.test.d.ts} +1 -1
- package/dist/components/Accordion/Accordion.d.ts +21 -0
- package/dist/components/Autosuggest/Autosuggest.stories.d.ts +4 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +18 -0
- package/dist/components/Button/Button.d.ts +25 -0
- package/dist/components/ButtonGroup/ButtonGroup.d.ts +22 -0
- package/dist/components/Card/Card.d.ts +49 -0
- package/dist/components/Checkbox/Checkbox.d.ts +47 -0
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +49 -0
- package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +29 -0
- package/dist/components/DatePicker/DatePicker.d.ts +81 -0
- package/dist/components/Fieldset/Fieldset.d.ts +22 -0
- package/dist/components/Form/Form.d.ts +29 -0
- package/dist/components/Grid/SimpleGrid.d.ts +17 -0
- package/dist/components/Heading/Heading.d.ts +27 -0
- package/dist/components/HelperErrorText/HelperErrorText.d.ts +29 -0
- package/dist/components/Hero/Hero.d.ts +40 -0
- package/dist/components/HorizontalRule/HorizontalRule.d.ts +11 -0
- package/dist/components/Icons/Icon.d.ts +37 -0
- package/dist/components/Icons/IconSvgs.d.ts +33 -0
- package/dist/components/Image/Image.d.ts +61 -0
- package/dist/components/Label/Label.d.ts +20 -0
- package/dist/components/Link/Link.d.ts +20 -0
- package/dist/components/List/List.d.ts +35 -0
- package/dist/components/Logo/Logo.d.ts +26 -0
- package/dist/components/Logo/LogoSvgs.d.ts +46 -0
- package/dist/components/Modal/Modal.d.ts +33 -0
- package/dist/components/Notification/Notification.d.ts +50 -0
- package/dist/components/Pagination/Pagination.d.ts +27 -0
- package/dist/components/Placeholder/Placeholder.d.ts +10 -0
- package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +30 -0
- package/dist/components/Radio/Radio.d.ts +43 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts +51 -0
- package/dist/components/SearchBar/SearchBar.d.ts +61 -0
- package/dist/components/Select/Select.d.ts +57 -0
- package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +39 -0
- package/dist/components/SkipNavigation/SkipNavigation.d.ts +17 -0
- package/dist/components/Slider/Slider.d.ts +60 -0
- package/dist/components/StatusBadge/StatusBadge.d.ts +16 -0
- package/dist/components/StructuredContent/StructuredContent.d.ts +28 -0
- package/dist/components/StyleGuide/ColorCard.d.ts +12 -0
- package/dist/components/Table/Table.d.ts +29 -0
- package/dist/components/Tabs/Tabs.d.ts +26 -0
- package/dist/components/Template/Template.d.ts +126 -0
- package/dist/components/Text/Text.d.ts +16 -0
- package/dist/components/TextInput/TextInput.d.ts +78 -0
- package/dist/components/Toggle/Toggle.d.ts +42 -0
- package/dist/components/VideoPlayer/VideoPlayer.d.ts +38 -0
- package/dist/design-system-react-components.cjs.development.js +11305 -0
- package/dist/design-system-react-components.cjs.development.js.map +1 -0
- package/dist/design-system-react-components.cjs.production.min.js +2 -0
- package/dist/design-system-react-components.cjs.production.min.js.map +1 -0
- package/dist/design-system-react-components.esm.js +11150 -0
- package/dist/design-system-react-components.esm.js.map +1 -0
- package/dist/helpers/types.d.ts +1 -0
- package/dist/hooks/tests/useCarouselStyles.test.d.ts +1 -0
- package/dist/hooks/useCarouselStyles.d.ts +17 -0
- package/dist/hooks/useNYPLTheme.d.ts +66 -0
- package/dist/hooks/useWindowSize.d.ts +10 -0
- package/dist/index.d.ts +48 -0
- package/dist/index.js +8 -0
- package/dist/resources.scss +386 -0
- package/dist/styles.css +3 -0
- package/dist/theme/components/accordion.d.ts +20 -0
- package/dist/theme/components/breadcrumb.d.ts +105 -0
- package/dist/theme/components/button.d.ts +120 -0
- package/dist/theme/components/buttonGroup.d.ts +11 -0
- package/dist/theme/components/card.d.ts +381 -0
- package/dist/theme/components/checkbox.d.ts +95 -0
- package/dist/theme/components/checkboxGroup.d.ts +14 -0
- package/dist/theme/components/componentWrapper.d.ts +12 -0
- package/dist/theme/components/customTable.d.ts +136 -0
- package/dist/theme/components/datePicker.d.ts +16 -0
- package/dist/theme/components/fieldset.d.ts +20 -0
- package/dist/theme/components/global.d.ts +73 -0
- package/dist/theme/components/globalMixins.d.ts +23 -0
- package/dist/theme/components/heading.d.ts +160 -0
- package/dist/theme/components/helperErrorText.d.ts +12 -0
- package/dist/theme/components/hero.d.ts +499 -0
- package/dist/theme/components/horizontalRule.d.ts +15 -0
- package/dist/theme/components/icon.d.ts +47755 -0
- package/dist/theme/components/image.d.ts +590 -0
- package/dist/theme/components/label.d.ts +18 -0
- package/dist/theme/components/link.d.ts +62 -0
- package/dist/theme/components/list.d.ts +182 -0
- package/dist/theme/components/logo.d.ts +477 -0
- package/dist/theme/components/notification.d.ts +95 -0
- package/dist/theme/components/pagination.d.ts +16 -0
- package/dist/theme/components/progressIndicator.d.ts +52 -0
- package/dist/theme/components/radio.d.ts +99 -0
- package/dist/theme/components/radioGroup.d.ts +14 -0
- package/dist/theme/components/searchBar.d.ts +18 -0
- package/dist/theme/components/select.d.ts +87 -0
- package/dist/theme/components/skeletonLoader.d.ts +102 -0
- package/dist/theme/components/skipNavigation.d.ts +25 -0
- package/dist/theme/components/slider.d.ts +59 -0
- package/dist/theme/components/statusBadge.d.ts +25 -0
- package/dist/theme/components/structuredContent.d.ts +226 -0
- package/dist/theme/components/tabs.d.ts +136 -0
- package/dist/theme/components/template.d.ts +105 -0
- package/dist/theme/components/text.d.ts +26 -0
- package/dist/theme/components/textInput.d.ts +124 -0
- package/dist/theme/components/toggle.d.ts +92 -0
- package/dist/theme/components/videoPlayer.d.ts +40 -0
- package/dist/theme/foundations/breakpoints.d.ts +23 -0
- package/dist/theme/foundations/colors.d.ts +3 -0
- package/dist/theme/foundations/global.d.ts +58 -0
- package/dist/theme/foundations/radii.d.ts +6 -0
- package/dist/theme/foundations/shadows.d.ts +4 -0
- package/dist/theme/foundations/spacing.d.ts +82 -0
- package/dist/theme/foundations/typography.d.ts +8 -0
- package/dist/theme/index.d.ts +20 -0
- package/dist/theme/provider.d.ts +3 -0
- package/dist/theme/types.d.ts +1 -0
- package/dist/utils/componentCategories.d.ts +1 -0
- package/dist/utils/interfaces.d.ts +5 -0
- package/dist/utils/utils.d.ts +31 -0
- package/package.json +133 -20
- package/src/__tests__/fileMock.ts +6 -0
- package/src/__tests__/setup.ts +27 -0
- package/src/__tests__/utils/utils.test.ts +18 -0
- package/src/components/AccessibilityGuide/SkipNavigation.stories.mdx +42 -0
- package/src/components/Accordion/Accordion.stories.mdx +333 -0
- package/src/components/Accordion/Accordion.test.tsx +237 -0
- package/src/components/Accordion/Accordion.tsx +137 -0
- package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +734 -0
- package/src/components/Autosuggest/Autosuggest.stories.mdx +75 -0
- package/src/components/Autosuggest/Autosuggest.stories.tsx +211 -0
- package/src/components/Autosuggest/_Autosuggest.scss +51 -0
- package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +231 -0
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +144 -0
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +98 -0
- package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +695 -0
- package/src/components/Button/Button.stories.mdx +320 -0
- package/src/components/Button/Button.test.tsx +184 -0
- package/src/components/Button/Button.tsx +95 -0
- package/src/components/Button/__snapshots__/Button.test.tsx.snap +106 -0
- package/src/components/ButtonGroup/ButtonGroup.stories.mdx +178 -0
- package/src/components/ButtonGroup/ButtonGroup.test.tsx +141 -0
- package/src/components/ButtonGroup/ButtonGroup.tsx +100 -0
- package/src/components/ButtonGroup/__snapshots__/ButtonGroup.test.tsx.snap +117 -0
- package/src/components/Card/Card.stories.mdx +1041 -0
- package/src/components/Card/Card.test.tsx +388 -0
- package/src/components/Card/Card.tsx +346 -0
- package/src/components/Card/__snapshots__/Card.test.tsx.snap +568 -0
- package/src/components/Chakra/Box.stories.mdx +52 -0
- package/src/components/Chakra/Center.stories.mdx +96 -0
- package/src/components/Chakra/Flex.stories.mdx +111 -0
- package/src/components/Chakra/Grid.stories.mdx +89 -0
- package/src/components/Chakra/Stack.stories.mdx +109 -0
- package/src/components/Checkbox/Checkbox.stories.mdx +243 -0
- package/src/components/Checkbox/Checkbox.test.tsx +350 -0
- package/src/components/Checkbox/Checkbox.tsx +152 -0
- package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +661 -0
- package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +462 -0
- package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +492 -0
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +173 -0
- package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +1842 -0
- package/src/components/ComponentWrapper/ComponentWrapper.test.tsx +163 -0
- package/src/components/ComponentWrapper/ComponentWrapper.tsx +76 -0
- package/src/components/ComponentWrapper/__snapshots__/ComponentWrapper.test.tsx.snap +103 -0
- package/src/components/DatePicker/DatePicker.stories.mdx +452 -0
- package/src/components/DatePicker/DatePicker.test.tsx +940 -0
- package/src/components/DatePicker/DatePicker.tsx +450 -0
- package/src/components/DatePicker/_DatePicker.scss +100 -0
- package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +908 -0
- package/src/components/Fieldset/Fieldset.stories.mdx +96 -0
- package/src/components/Fieldset/Fieldset.test.tsx +155 -0
- package/src/components/Fieldset/Fieldset.tsx +55 -0
- package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +89 -0
- package/src/components/Form/Form.stories.mdx +426 -0
- package/src/components/Form/Form.test.tsx +234 -0
- package/src/components/Form/Form.tsx +124 -0
- package/src/components/Form/__snapshots__/Form.test.tsx.snap +115 -0
- package/src/components/Grid/SimpleGrid.stories.mdx +336 -0
- package/src/components/Grid/SimpleGrid.test.tsx +79 -0
- package/src/components/Grid/SimpleGrid.tsx +49 -0
- package/src/components/Grid/__snapshots__/SimpleGrid.test.tsx.snap +23 -0
- package/src/components/Heading/Heading.stories.mdx +187 -0
- package/src/components/Heading/Heading.test.tsx +171 -0
- package/src/components/Heading/Heading.tsx +104 -0
- package/src/components/Heading/__snapshots__/Heading.test.tsx.snap +90 -0
- package/src/components/HelperErrorText/HelperErrorText.stories.mdx +172 -0
- package/src/components/HelperErrorText/HelperErrorText.test.tsx +114 -0
- package/src/components/HelperErrorText/HelperErrorText.tsx +62 -0
- package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +93 -0
- package/src/components/Hero/Hero.stories.mdx +378 -0
- package/src/components/Hero/Hero.test.tsx +611 -0
- package/src/components/Hero/Hero.tsx +203 -0
- package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +379 -0
- package/src/components/HorizontalRule/HorizontalRule.stories.mdx +73 -0
- package/src/components/HorizontalRule/HorizontalRule.test.tsx +54 -0
- package/src/components/HorizontalRule/HorizontalRule.tsx +27 -0
- package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +44 -0
- package/src/components/Icons/Icon.stories.mdx +413 -0
- package/src/components/Icons/Icon.test.tsx +120 -0
- package/src/components/Icons/Icon.tsx +187 -0
- package/src/components/Icons/IconSvgs.tsx +64 -0
- package/src/components/Icons/__snapshots__/Icon.test.tsx.snap +129 -0
- package/src/components/Image/Image.stories.mdx +332 -0
- package/src/components/Image/Image.test.tsx +155 -0
- package/src/components/Image/Image.tsx +171 -0
- package/src/components/Image/__snapshots__/Image.test.tsx.snap +269 -0
- package/src/components/Label/Label.stories.mdx +100 -0
- package/src/components/Label/Label.test.tsx +116 -0
- package/src/components/Label/Label.tsx +55 -0
- package/src/components/Label/__snapshots__/Label.test.tsx.snap +45 -0
- package/src/components/Link/Link.stories.mdx +249 -0
- package/src/components/Link/Link.test.tsx +224 -0
- package/src/components/Link/Link.tsx +178 -0
- package/src/components/Link/__snapshots__/Link.test.tsx.snap +286 -0
- package/src/components/List/List.stories.mdx +393 -0
- package/src/components/List/List.test.tsx +265 -0
- package/src/components/List/List.tsx +156 -0
- package/src/components/List/__snapshots__/List.test.tsx.snap +213 -0
- package/src/components/Logo/Logo.stories.mdx +295 -0
- package/src/components/Logo/Logo.test.tsx +116 -0
- package/src/components/Logo/Logo.tsx +151 -0
- package/src/components/Logo/LogoSvgs.tsx +90 -0
- package/src/components/Logo/__snapshots__/Logo.test.tsx.snap +142 -0
- package/src/components/Modal/Modal.stories.mdx +294 -0
- package/src/components/Modal/Modal.test.tsx +157 -0
- package/src/components/Modal/Modal.tsx +154 -0
- package/src/components/Modal/__snapshots__/Modal.test.tsx.snap +25 -0
- package/src/components/Notification/Notification.stories.mdx +358 -0
- package/src/components/Notification/Notification.test.tsx +279 -0
- package/src/components/Notification/Notification.tsx +224 -0
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +525 -0
- package/src/components/Pagination/Pagination.stories.mdx +184 -0
- package/src/components/Pagination/Pagination.test.tsx +419 -0
- package/src/components/Pagination/Pagination.tsx +269 -0
- package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +544 -0
- package/src/components/Placeholder/Placeholder.tsx +19 -0
- package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +360 -0
- package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +298 -0
- package/src/components/ProgressIndicator/ProgressIndicator.tsx +132 -0
- package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +434 -0
- package/src/components/Radio/Radio.stories.mdx +216 -0
- package/src/components/Radio/Radio.test.tsx +247 -0
- package/src/components/Radio/Radio.tsx +119 -0
- package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +451 -0
- package/src/components/RadioGroup/RadioGroup.stories.mdx +479 -0
- package/src/components/RadioGroup/RadioGroup.test.tsx +471 -0
- package/src/components/RadioGroup/RadioGroup.tsx +171 -0
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +1550 -0
- package/src/components/SearchBar/SearchBar.stories.mdx +518 -0
- package/src/components/SearchBar/SearchBar.test.tsx +435 -0
- package/src/components/SearchBar/SearchBar.tsx +210 -0
- package/src/components/SearchBar/__snapshots__/SearchBar.test.tsx.snap +1049 -0
- package/src/components/Select/Select.stories.mdx +439 -0
- package/src/components/Select/Select.test.tsx +358 -0
- package/src/components/Select/Select.tsx +183 -0
- package/src/components/Select/__snapshots__/Select.test.tsx.snap +895 -0
- package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +142 -0
- package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +116 -0
- package/src/components/SkeletonLoader/SkeletonLoader.tsx +123 -0
- package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +898 -0
- package/src/components/SkipNavigation/SkipNavigation.stories.mdx +90 -0
- package/src/components/SkipNavigation/SkipNavigation.test.tsx +63 -0
- package/src/components/SkipNavigation/SkipNavigation.tsx +51 -0
- package/src/components/SkipNavigation/__snapshots__/SkipNavigation.test.tsx.snap +130 -0
- package/src/components/Slider/Slider.stories.mdx +628 -0
- package/src/components/Slider/Slider.test.tsx +736 -0
- package/src/components/Slider/Slider.tsx +322 -0
- package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +2186 -0
- package/src/components/StatusBadge/StatusBadge.stories.mdx +109 -0
- package/src/components/StatusBadge/StatusBadge.test.tsx +70 -0
- package/src/components/StatusBadge/StatusBadge.tsx +35 -0
- package/src/components/StatusBadge/__snapshots__/StatusBadge.test.tsx.snap +47 -0
- package/src/components/StructuredContent/StructuredContent.stories.mdx +567 -0
- package/src/components/StructuredContent/StructuredContent.test.tsx +435 -0
- package/src/components/StructuredContent/StructuredContent.tsx +139 -0
- package/src/components/StructuredContent/__snapshots__/StructuredContent.test.tsx.snap +368 -0
- package/src/components/StyleGuide/Bidirectionality.stories.mdx +206 -0
- package/src/components/StyleGuide/Breakpoints.stories.mdx +55 -0
- package/src/components/StyleGuide/Buttons.stories.mdx +194 -0
- package/src/components/StyleGuide/ColorCard.tsx +43 -0
- package/src/components/StyleGuide/Colors.stories.mdx +201 -0
- package/src/components/StyleGuide/DesignTokens.stories.mdx +193 -0
- package/src/components/StyleGuide/Forms.stories.mdx +94 -0
- package/src/components/StyleGuide/Iconography.stories.mdx +142 -0
- package/src/components/StyleGuide/Spacing.stories.mdx +116 -0
- package/src/components/StyleGuide/Typography.stories.mdx +419 -0
- package/src/components/Table/Table.stories.mdx +272 -0
- package/src/components/Table/Table.test.tsx +241 -0
- package/src/components/Table/Table.tsx +152 -0
- package/src/components/Table/__snapshots__/Table.test.tsx.snap +1703 -0
- package/src/components/Tabs/Tabs.stories.mdx +338 -0
- package/src/components/Tabs/Tabs.test.tsx +298 -0
- package/src/components/Tabs/Tabs.tsx +264 -0
- package/src/components/Tabs/__snapshots__/Tabs.test.tsx.snap +584 -0
- package/src/components/Template/Template.stories.mdx +695 -0
- package/src/components/Template/Template.test.tsx +309 -0
- package/src/components/Template/Template.tsx +326 -0
- package/src/components/Template/__snapshots__/Template.test.tsx.snap +342 -0
- package/src/components/Text/Text.stories.mdx +103 -0
- package/src/components/Text/Text.test.tsx +63 -0
- package/src/components/Text/Text.tsx +50 -0
- package/src/components/Text/__snapshots__/Text.test.tsx.snap +50 -0
- package/src/components/TextInput/TextInput.stories.mdx +268 -0
- package/src/components/TextInput/TextInput.test.tsx +451 -0
- package/src/components/TextInput/TextInput.tsx +240 -0
- package/src/components/TextInput/__snapshots__/TextInput.test.tsx.snap +274 -0
- package/src/components/Toggle/Toggle.stories.mdx +237 -0
- package/src/components/Toggle/Toggle.test.tsx +170 -0
- package/src/components/Toggle/Toggle.tsx +128 -0
- package/src/components/Toggle/__snapshots__/Toggle.test.tsx.snap +470 -0
- package/src/components/VideoPlayer/VideoPlayer.stories.mdx +212 -0
- package/src/components/VideoPlayer/VideoPlayer.test.tsx +308 -0
- package/src/components/VideoPlayer/VideoPlayer.tsx +188 -0
- package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +192 -0
- package/src/docs/Chakra.stories.mdx +563 -0
- package/src/docs/Welcome.stories.mdx +148 -0
- package/src/helpers/types.ts +1 -0
- package/src/hooks/tests/useCarouselStyles.test.ts +140 -0
- package/src/hooks/tests/useNYPLTheme.test.tsx +36 -0
- package/src/hooks/useCarouselStyles.stories.mdx +30 -0
- package/src/hooks/useCarouselStyles.ts +35 -0
- package/src/hooks/useNYPLTheme.stories.mdx +98 -0
- package/src/hooks/useNYPLTheme.ts +91 -0
- package/src/hooks/useWindowSize.stories.mdx +23 -0
- package/src/hooks/useWindowSize.ts +40 -0
- package/src/index.ts +136 -0
- package/src/resources.scss +6 -0
- package/src/styles/base/_01-breakpoints.scss +27 -0
- package/src/styles/base/_02-mixins.scss +103 -0
- package/src/styles/base/_place-holder.scss +33 -0
- package/src/styles/space/_space-inline.scss +79 -0
- package/src/styles/space/_space-inset.scss +57 -0
- package/src/styles/space/_space-stack.scss +116 -0
- package/src/styles.scss +23 -0
- package/src/theme/components/accordion.ts +25 -0
- package/src/theme/components/breadcrumb.ts +94 -0
- package/src/theme/components/button.ts +133 -0
- package/src/theme/components/buttonGroup.ts +10 -0
- package/src/theme/components/card.ts +237 -0
- package/src/theme/components/checkbox.ts +110 -0
- package/src/theme/components/checkboxGroup.ts +10 -0
- package/src/theme/components/componentWrapper.ts +14 -0
- package/src/theme/components/customTable.ts +77 -0
- package/src/theme/components/datePicker.ts +17 -0
- package/src/theme/components/fieldset.ts +23 -0
- package/src/theme/components/global.ts +91 -0
- package/src/theme/components/globalMixins.ts +24 -0
- package/src/theme/components/heading.ts +79 -0
- package/src/theme/components/helperErrorText.ts +14 -0
- package/src/theme/components/hero.ts +238 -0
- package/src/theme/components/horizontalRule.ts +17 -0
- package/src/theme/components/icon.ts +88 -0
- package/src/theme/components/image.ts +136 -0
- package/src/theme/components/label.ts +15 -0
- package/src/theme/components/link.ts +63 -0
- package/src/theme/components/list.ts +88 -0
- package/src/theme/components/logo.ts +58 -0
- package/src/theme/components/notification.ts +132 -0
- package/src/theme/components/pagination.ts +17 -0
- package/src/theme/components/progressIndicator.ts +67 -0
- package/src/theme/components/radio.ts +103 -0
- package/src/theme/components/radioGroup.ts +10 -0
- package/src/theme/components/searchBar.ts +19 -0
- package/src/theme/components/select.ts +72 -0
- package/src/theme/components/skeletonLoader.ts +113 -0
- package/src/theme/components/skipNavigation.ts +29 -0
- package/src/theme/components/slider.ts +95 -0
- package/src/theme/components/statusBadge.ts +26 -0
- package/src/theme/components/structuredContent.ts +149 -0
- package/src/theme/components/tabs.ts +109 -0
- package/src/theme/components/template.ts +114 -0
- package/src/theme/components/text.ts +38 -0
- package/src/theme/components/textInput.ts +65 -0
- package/src/theme/components/toggle.ts +109 -0
- package/src/theme/components/videoPlayer.ts +47 -0
- package/src/theme/foundations/breakpoints.ts +24 -0
- package/src/theme/foundations/colors.ts +212 -0
- package/src/theme/foundations/global.ts +43 -0
- package/src/theme/foundations/radii.ts +7 -0
- package/src/theme/foundations/shadows.ts +5 -0
- package/src/theme/foundations/spacing.ts +136 -0
- package/src/theme/foundations/typography.ts +107 -0
- package/src/theme/index.ts +131 -0
- package/src/theme/provider.tsx +9 -0
- package/src/theme/types.ts +1 -0
- package/src/utils/componentCategories.ts +152 -0
- package/src/utils/interfaces.ts +5 -0
- package/src/utils/utils.ts +84 -0
- package/lib/components/Button/Button.d.ts +0 -17
- package/lib/components/Button/Button.js +0 -42
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -6
- package/lib/stories/0-Welcome.stories.js +0 -19
- package/lib/stories/1-Button.stories.d.ts +0 -6
- package/lib/stories/1-Button.stories.js +0 -20
|
@@ -0,0 +1,628 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ArgsTable,
|
|
3
|
+
Canvas,
|
|
4
|
+
Description,
|
|
5
|
+
Meta,
|
|
6
|
+
Story,
|
|
7
|
+
} from "@storybook/addon-docs";
|
|
8
|
+
import { withDesign } from "storybook-addon-designs";
|
|
9
|
+
|
|
10
|
+
import Heading from "../Heading/Heading";
|
|
11
|
+
import SimpleGrid from "../Grid/SimpleGrid";
|
|
12
|
+
import Slider from "./Slider";
|
|
13
|
+
import { getCategory } from "../../utils/componentCategories";
|
|
14
|
+
import DSProvider from "../../theme/provider";
|
|
15
|
+
|
|
16
|
+
<Meta
|
|
17
|
+
title={getCategory("Slider")}
|
|
18
|
+
component={Slider}
|
|
19
|
+
decorators={[withDesign]}
|
|
20
|
+
parameters={{
|
|
21
|
+
design: {
|
|
22
|
+
type: "figma",
|
|
23
|
+
url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=36889%3A25871",
|
|
24
|
+
},
|
|
25
|
+
jest: ["Slider.test.tsx"],
|
|
26
|
+
}}
|
|
27
|
+
argTypes={{
|
|
28
|
+
className: { control: false },
|
|
29
|
+
defaultValue: {
|
|
30
|
+
control: false,
|
|
31
|
+
table: { defaultValue: { summary: 0 } },
|
|
32
|
+
},
|
|
33
|
+
id: { control: false },
|
|
34
|
+
isDisabled: {
|
|
35
|
+
table: { defaultValue: { summary: false } },
|
|
36
|
+
},
|
|
37
|
+
isInvalid: {
|
|
38
|
+
table: { defaultValue: { summary: false } },
|
|
39
|
+
},
|
|
40
|
+
isRequired: {
|
|
41
|
+
table: { defaultValue: { summary: false } },
|
|
42
|
+
},
|
|
43
|
+
max: {
|
|
44
|
+
table: { defaultValue: { summary: 100 } },
|
|
45
|
+
},
|
|
46
|
+
min: {
|
|
47
|
+
table: { defaultValue: { summary: 0 } },
|
|
48
|
+
},
|
|
49
|
+
name: { control: false },
|
|
50
|
+
onChange: { control: false },
|
|
51
|
+
showBoxes: {
|
|
52
|
+
table: { defaultValue: { summary: true } },
|
|
53
|
+
},
|
|
54
|
+
showHelperInvalidText: {
|
|
55
|
+
table: { defaultValue: { summary: true } },
|
|
56
|
+
},
|
|
57
|
+
showLabel: {
|
|
58
|
+
table: { defaultValue: { summary: true } },
|
|
59
|
+
},
|
|
60
|
+
showRequiredLabel: {
|
|
61
|
+
table: { defaultValue: { summary: true } },
|
|
62
|
+
},
|
|
63
|
+
showValues: {
|
|
64
|
+
table: { defaultValue: { summary: true } },
|
|
65
|
+
},
|
|
66
|
+
step: {
|
|
67
|
+
table: { defaultValue: { summary: 1 } },
|
|
68
|
+
},
|
|
69
|
+
}}
|
|
70
|
+
/>
|
|
71
|
+
|
|
72
|
+
# Slider
|
|
73
|
+
|
|
74
|
+
| Component Version | DS Version |
|
|
75
|
+
| ----------------- | ---------- |
|
|
76
|
+
| Added | `0.25.4` |
|
|
77
|
+
| Latest | `1.0.2` |
|
|
78
|
+
|
|
79
|
+
## Table of Contents
|
|
80
|
+
|
|
81
|
+
- [Overview](#overview)
|
|
82
|
+
- [Component Props](#component-props)
|
|
83
|
+
- [Accessibility](#accessibility)
|
|
84
|
+
- [RangeSlider](#rangeslider)
|
|
85
|
+
- [Examples](#examples)
|
|
86
|
+
- [Get Input Values](#get-input-values)
|
|
87
|
+
|
|
88
|
+
## Overview
|
|
89
|
+
|
|
90
|
+
<Description of={Slider} />
|
|
91
|
+
|
|
92
|
+
The text input component doubles as a display for the slider's current value.
|
|
93
|
+
For this type of component, the `value` prop must be a single number.
|
|
94
|
+
|
|
95
|
+
## Component Props
|
|
96
|
+
|
|
97
|
+
<Canvas withToolbar>
|
|
98
|
+
<Story
|
|
99
|
+
name="Slider with Controls"
|
|
100
|
+
args={{
|
|
101
|
+
className: undefined,
|
|
102
|
+
defaultValue: 50,
|
|
103
|
+
helperText: "Pass in a value from the min 0 to the max 100 values.",
|
|
104
|
+
id: "slider-id",
|
|
105
|
+
invalidText: "Oh no this is an error :(",
|
|
106
|
+
isDisabled: false,
|
|
107
|
+
isInvalid: false,
|
|
108
|
+
isRangeSlider: false,
|
|
109
|
+
isRequired: false,
|
|
110
|
+
labelText: "Slider label",
|
|
111
|
+
max: 100,
|
|
112
|
+
min: 0,
|
|
113
|
+
name: undefined,
|
|
114
|
+
onChange: undefined,
|
|
115
|
+
showBoxes: true,
|
|
116
|
+
showHelperInvalidText: true,
|
|
117
|
+
showLabel: true,
|
|
118
|
+
showRequiredLabel: true,
|
|
119
|
+
showValues: true,
|
|
120
|
+
step: 1,
|
|
121
|
+
}}
|
|
122
|
+
argTypes={{
|
|
123
|
+
isRangeSlider: {
|
|
124
|
+
control: false,
|
|
125
|
+
table: {
|
|
126
|
+
defaultValue: { summary: false },
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
}}
|
|
130
|
+
>
|
|
131
|
+
{(args) => <Slider {...args} />}
|
|
132
|
+
</Story>
|
|
133
|
+
</Canvas>
|
|
134
|
+
|
|
135
|
+
<ArgsTable story="Slider with Controls" />
|
|
136
|
+
|
|
137
|
+
## Accessibility
|
|
138
|
+
|
|
139
|
+
The `Slider` component is accessible via keyboard. In addition to the text fields,
|
|
140
|
+
a keyboard user can tab to the blue slider thumb and then with left and right
|
|
141
|
+
arrows increase or decrease the value. The color contrast between foreground
|
|
142
|
+
color and background color is 4.5:1. If text size is 200%, the button scales
|
|
143
|
+
with text so there is no overlap. Internally, a `Label` is associated with the
|
|
144
|
+
`<input>` element.
|
|
145
|
+
|
|
146
|
+
When `showLabel` is set to false, the `labelText` value will be set to the
|
|
147
|
+
main `<div>`'s `aria-label` attribute. This is the same `<div>` that contains the
|
|
148
|
+
`aria-valuemin`, `aria-valuemax`, `aria-orientation`, and `aria-valuenow`
|
|
149
|
+
attributes.
|
|
150
|
+
|
|
151
|
+
Resources:
|
|
152
|
+
|
|
153
|
+
- [W3C WAI-Aria Practices - Slider](https://www.w3.org/TR/wai-aria-practices-1.1/#slider)
|
|
154
|
+
- [W3C WAI-Aria Practices - Slider (Multi-Thumb)](https://www.w3.org/TR/wai-aria-practices-1.1/#slidertwothumb)
|
|
155
|
+
- [Chakra Slider](https://chakra-ui.com/docs/components/form/slider)
|
|
156
|
+
- [Chakra RangeSlider](https://chakra-ui.com/docs/components/form/range-slider)
|
|
157
|
+
|
|
158
|
+
### Slider Accessibility Implementation
|
|
159
|
+
|
|
160
|
+
Chakra's `Slider` component is accessible and, as recommended, we pass in an
|
|
161
|
+
`aria-label` to their `Slider` component. On top of that, the Reservoir Design
|
|
162
|
+
System (DS) `Slider` component's `<label>` points to the `<input>` element
|
|
163
|
+
which shows the current value. This `input` element also has its own
|
|
164
|
+
`aria-label`. When the input box is hidden, the `for` attribute in the `label`
|
|
165
|
+
element is removed.
|
|
166
|
+
|
|
167
|
+
Note that Chakra handles its single slider thumb aria attributes: `aria-valuemin`,
|
|
168
|
+
`aria-valuemax`, `aria-valuenow`, and `aria-orientation`.
|
|
169
|
+
|
|
170
|
+
## RangeSlider
|
|
171
|
+
|
|
172
|
+
Set `isRangeSlider` to `true` to create a range slider. The text input
|
|
173
|
+
components double as displays for the slider's current minimum and maximum
|
|
174
|
+
value. For this type of component, the `value` prop must be an array of two
|
|
175
|
+
numbers. This signifies the starting and ending values of the range slider.
|
|
176
|
+
|
|
177
|
+
<Canvas withToolbar>
|
|
178
|
+
<Story
|
|
179
|
+
name="RangeSlider with Controls"
|
|
180
|
+
args={{
|
|
181
|
+
className: undefined,
|
|
182
|
+
defaultValue: [25, 75],
|
|
183
|
+
helperText: "Pass in a value from the min 0 to the max 100 values.",
|
|
184
|
+
id: "slider-range-id",
|
|
185
|
+
invalidText: "Oh no this is an error :(",
|
|
186
|
+
isDisabled: false,
|
|
187
|
+
isInvalid: false,
|
|
188
|
+
isRangeSlider: true,
|
|
189
|
+
isRequired: false,
|
|
190
|
+
labelText: "Range Slider label",
|
|
191
|
+
max: 100,
|
|
192
|
+
min: 0,
|
|
193
|
+
name: undefined,
|
|
194
|
+
onChange: undefined,
|
|
195
|
+
showBoxes: true,
|
|
196
|
+
showHelperInvalidText: true,
|
|
197
|
+
showLabel: true,
|
|
198
|
+
showRequiredLabel: true,
|
|
199
|
+
showValues: true,
|
|
200
|
+
step: 1,
|
|
201
|
+
}}
|
|
202
|
+
argTypes={{
|
|
203
|
+
isRangeSlider: {
|
|
204
|
+
control: false,
|
|
205
|
+
table: {
|
|
206
|
+
defaultValue: { summary: false },
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
}}
|
|
210
|
+
>
|
|
211
|
+
{(args) => <Slider {...args} />}
|
|
212
|
+
</Story>
|
|
213
|
+
</Canvas>
|
|
214
|
+
|
|
215
|
+
### RangeSlider Accessibility Implementation
|
|
216
|
+
|
|
217
|
+
Chakra's `RangeSlider` component is accessible and, as recommended, we pass in
|
|
218
|
+
two `aria-label`s to their `RangeSlider` component. The syntax is different than
|
|
219
|
+
the expected standard string; the `RangeSlider` expect `aria-label` to be an array
|
|
220
|
+
of two strings. On top of this, the DS `Slider`'s `<label>` element, when in the
|
|
221
|
+
`isRangeSlider` state, points to the _first_ `<input>` element which shows the
|
|
222
|
+
current _start_ value. These two `input` elements also have their own `aria-label`s.
|
|
223
|
+
When the input boxes are hidden, the `for` attribute in the `label` element is removed.
|
|
224
|
+
|
|
225
|
+
Note that Chakra handles its two slider thumbs aria attributes: `aria-valuemin`,
|
|
226
|
+
`aria-valuemax`, `aria-valuenow`, and `aria-orientation`.
|
|
227
|
+
|
|
228
|
+
## Examples
|
|
229
|
+
|
|
230
|
+
### Single Slider States
|
|
231
|
+
|
|
232
|
+
<Canvas>
|
|
233
|
+
<DSProvider>
|
|
234
|
+
<Heading id="heading-single-default" level="four" text="Default State" />
|
|
235
|
+
<Slider
|
|
236
|
+
defaultValue={50}
|
|
237
|
+
helperText="Component helper text."
|
|
238
|
+
id="single-slider"
|
|
239
|
+
invalidText="Component error text :("
|
|
240
|
+
labelText="Label"
|
|
241
|
+
/>
|
|
242
|
+
</DSProvider>
|
|
243
|
+
</Canvas>
|
|
244
|
+
|
|
245
|
+
<Canvas>
|
|
246
|
+
<DSProvider>
|
|
247
|
+
<Heading id="heading-single-errored" level="four" text="Errored State" />
|
|
248
|
+
<Slider
|
|
249
|
+
defaultValue={50}
|
|
250
|
+
helperText="Component helper text."
|
|
251
|
+
id="errored-slider"
|
|
252
|
+
invalidText="Component error text :("
|
|
253
|
+
labelText="Label"
|
|
254
|
+
isInvalid
|
|
255
|
+
/>
|
|
256
|
+
</DSProvider>
|
|
257
|
+
</Canvas>
|
|
258
|
+
|
|
259
|
+
<Canvas>
|
|
260
|
+
<DSProvider>
|
|
261
|
+
<Heading id="heading-single-required" level="four" text="Required State" />
|
|
262
|
+
<Slider
|
|
263
|
+
defaultValue={50}
|
|
264
|
+
helperText="Component helper text."
|
|
265
|
+
id="required-slider"
|
|
266
|
+
invalidText="Component error text :("
|
|
267
|
+
labelText="Label"
|
|
268
|
+
isRequired
|
|
269
|
+
/>
|
|
270
|
+
</DSProvider>
|
|
271
|
+
</Canvas>
|
|
272
|
+
|
|
273
|
+
<Canvas>
|
|
274
|
+
<DSProvider>
|
|
275
|
+
<Heading id="heading-single-disabled" level="four" text="Disabled State" />
|
|
276
|
+
<Slider
|
|
277
|
+
defaultValue={50}
|
|
278
|
+
helperText="Component helper text."
|
|
279
|
+
id="disabled-slider"
|
|
280
|
+
invalidText="Component error text :("
|
|
281
|
+
labelText="Label"
|
|
282
|
+
isDisabled
|
|
283
|
+
/>
|
|
284
|
+
</DSProvider>
|
|
285
|
+
</Canvas>
|
|
286
|
+
|
|
287
|
+
### Range Slider States
|
|
288
|
+
|
|
289
|
+
To enable the Range Slider, set the `isRangeSlider` prop to true.
|
|
290
|
+
|
|
291
|
+
<Canvas>
|
|
292
|
+
<DSProvider>
|
|
293
|
+
<Heading id="heading-range-default" level="four" text="Default State" />
|
|
294
|
+
<Slider
|
|
295
|
+
defaultValue={[25, 75]}
|
|
296
|
+
helperText="Component helper text."
|
|
297
|
+
id="range-slider"
|
|
298
|
+
invalidText="Component error text :("
|
|
299
|
+
labelText="Label"
|
|
300
|
+
isRangeSlider
|
|
301
|
+
/>
|
|
302
|
+
</DSProvider>
|
|
303
|
+
</Canvas>
|
|
304
|
+
|
|
305
|
+
<Canvas>
|
|
306
|
+
<DSProvider>
|
|
307
|
+
<Heading id="heading-range-errored" level="four" text="Errored State" />
|
|
308
|
+
<SimpleGrid columns={1} gap="grid.l">
|
|
309
|
+
<Slider
|
|
310
|
+
defaultValue={[25, 75]}
|
|
311
|
+
helperText="Component helper text."
|
|
312
|
+
id="range-error-slider"
|
|
313
|
+
invalidText="Component error text :("
|
|
314
|
+
labelText="Label"
|
|
315
|
+
isRangeSlider
|
|
316
|
+
isInvalid
|
|
317
|
+
/>
|
|
318
|
+
<p>
|
|
319
|
+
Note: The slider does not allow the starting thumb to go past the ending
|
|
320
|
+
thumb. Likewise, it also does not allow the ending thumb to go below the
|
|
321
|
+
starting thumb. However, it's possible to set incorrect values directly
|
|
322
|
+
into both of the text inputs. For example, if you enter 80 in the first
|
|
323
|
+
text input box and 20 in the second input box, it will automatically go
|
|
324
|
+
into the invalid state. In the following example, the default values are
|
|
325
|
+
already set to 80 and 20 *just* to showcase this error.
|
|
326
|
+
</p>
|
|
327
|
+
<Slider
|
|
328
|
+
defaultValue={[80, 20]}
|
|
329
|
+
helperText="Component helper text."
|
|
330
|
+
id="range-error-slider2"
|
|
331
|
+
invalidText="Component error text :("
|
|
332
|
+
labelText="Label"
|
|
333
|
+
isRangeSlider
|
|
334
|
+
/>
|
|
335
|
+
</SimpleGrid>
|
|
336
|
+
</DSProvider>
|
|
337
|
+
</Canvas>
|
|
338
|
+
|
|
339
|
+
<Canvas>
|
|
340
|
+
<DSProvider>
|
|
341
|
+
<Heading id="heading-range-required" level="four" text="Required State" />
|
|
342
|
+
<Slider
|
|
343
|
+
defaultValue={[25, 75]}
|
|
344
|
+
helperText="Component helper text."
|
|
345
|
+
id="range-required-slider"
|
|
346
|
+
invalidText="Component error text :("
|
|
347
|
+
labelText="Label"
|
|
348
|
+
isRangeSlider
|
|
349
|
+
isRequired
|
|
350
|
+
/>
|
|
351
|
+
</DSProvider>
|
|
352
|
+
</Canvas>
|
|
353
|
+
|
|
354
|
+
<Canvas>
|
|
355
|
+
<DSProvider>
|
|
356
|
+
<Heading id="heading-range-disabled" level="four" text="Disabled State" />
|
|
357
|
+
<Slider
|
|
358
|
+
defaultValue={[25, 75]}
|
|
359
|
+
helperText="Component helper text."
|
|
360
|
+
id="single-disabled-slider"
|
|
361
|
+
invalidText="Component error text :("
|
|
362
|
+
labelText="Label"
|
|
363
|
+
isRangeSlider
|
|
364
|
+
isDisabled
|
|
365
|
+
/>
|
|
366
|
+
</DSProvider>
|
|
367
|
+
</Canvas>
|
|
368
|
+
|
|
369
|
+
### Single Slider Variants
|
|
370
|
+
|
|
371
|
+
In the following example, the min/max values and the current value text
|
|
372
|
+
input are hidden.
|
|
373
|
+
|
|
374
|
+
<Canvas>
|
|
375
|
+
<DSProvider>
|
|
376
|
+
<Heading
|
|
377
|
+
id="heading-single-labels"
|
|
378
|
+
level="four"
|
|
379
|
+
text="With and Without Component Labels"
|
|
380
|
+
/>
|
|
381
|
+
<SimpleGrid columns={1} gap="grid.xl">
|
|
382
|
+
<Slider
|
|
383
|
+
defaultValue={50}
|
|
384
|
+
helperText="Component helper text."
|
|
385
|
+
id="single-slider-variant-1"
|
|
386
|
+
labelText="Label"
|
|
387
|
+
showValues={false}
|
|
388
|
+
showBoxes={false}
|
|
389
|
+
/>
|
|
390
|
+
<Slider
|
|
391
|
+
defaultValue={50}
|
|
392
|
+
helperText="Component helper text."
|
|
393
|
+
id="single-slider-variant-2"
|
|
394
|
+
labelText="Label"
|
|
395
|
+
showValues={false}
|
|
396
|
+
showBoxes={false}
|
|
397
|
+
isRequired
|
|
398
|
+
/>
|
|
399
|
+
<Slider
|
|
400
|
+
defaultValue={50}
|
|
401
|
+
helperText="Component helper text."
|
|
402
|
+
id="single-slider-variant-3"
|
|
403
|
+
labelText="Label"
|
|
404
|
+
showValues={false}
|
|
405
|
+
showBoxes={false}
|
|
406
|
+
/>
|
|
407
|
+
<Slider
|
|
408
|
+
defaultValue={50}
|
|
409
|
+
helperText="Component helper text."
|
|
410
|
+
id="single-slider-variant-4"
|
|
411
|
+
labelText="Label"
|
|
412
|
+
showHelperInvalidText={false}
|
|
413
|
+
showValues={false}
|
|
414
|
+
showBoxes={false}
|
|
415
|
+
/>
|
|
416
|
+
<Slider
|
|
417
|
+
defaultValue={50}
|
|
418
|
+
helperText="Component helper text."
|
|
419
|
+
id="single-slider-variant-5"
|
|
420
|
+
labelText="Label"
|
|
421
|
+
showValues={false}
|
|
422
|
+
showBoxes={false}
|
|
423
|
+
showLabel={false}
|
|
424
|
+
/>
|
|
425
|
+
</SimpleGrid>
|
|
426
|
+
</DSProvider>
|
|
427
|
+
</Canvas>
|
|
428
|
+
|
|
429
|
+
For the following examples, all labels are hidden.
|
|
430
|
+
|
|
431
|
+
<Canvas>
|
|
432
|
+
<DSProvider>
|
|
433
|
+
<Heading
|
|
434
|
+
id="heading-single-labels-inputs"
|
|
435
|
+
level="four"
|
|
436
|
+
text="With and Without Internal Inputs and Labels"
|
|
437
|
+
/>
|
|
438
|
+
<SimpleGrid columns={1} gap="grid.xl">
|
|
439
|
+
<Slider
|
|
440
|
+
defaultValue={50}
|
|
441
|
+
helperText="Component helper text."
|
|
442
|
+
id="hidden-labels-1"
|
|
443
|
+
labelText="Label"
|
|
444
|
+
showHelperInvalidText={false}
|
|
445
|
+
showLabel={false}
|
|
446
|
+
/>
|
|
447
|
+
<Slider
|
|
448
|
+
defaultValue={50}
|
|
449
|
+
helperText="Component helper text."
|
|
450
|
+
id="hidden-labels-2"
|
|
451
|
+
labelText="Label"
|
|
452
|
+
showHelperInvalidText={false}
|
|
453
|
+
showLabel={false}
|
|
454
|
+
showBoxes={false}
|
|
455
|
+
/>
|
|
456
|
+
<Slider
|
|
457
|
+
defaultValue={50}
|
|
458
|
+
helperText="Component helper text."
|
|
459
|
+
id="hidden-labels-3"
|
|
460
|
+
labelText="Label"
|
|
461
|
+
showHelperInvalidText={false}
|
|
462
|
+
showLabel={false}
|
|
463
|
+
showValues={false}
|
|
464
|
+
/>
|
|
465
|
+
<Slider
|
|
466
|
+
defaultValue={50}
|
|
467
|
+
helperText="Component helper text."
|
|
468
|
+
id="hidden-labels-4"
|
|
469
|
+
labelText="Label"
|
|
470
|
+
showHelperInvalidText={false}
|
|
471
|
+
showLabel={false}
|
|
472
|
+
showValues={false}
|
|
473
|
+
showBoxes={false}
|
|
474
|
+
/>
|
|
475
|
+
</SimpleGrid>
|
|
476
|
+
</DSProvider>
|
|
477
|
+
</Canvas>
|
|
478
|
+
|
|
479
|
+
### Range Slider with Adjusted Handles
|
|
480
|
+
|
|
481
|
+
In the following examples, all the labels are hidden.
|
|
482
|
+
|
|
483
|
+
<Canvas>
|
|
484
|
+
<DSProvider>
|
|
485
|
+
<SimpleGrid columns={1} gap="grid.xl">
|
|
486
|
+
<Slider
|
|
487
|
+
defaultValue={[15, 75]}
|
|
488
|
+
helperText="Component helper text."
|
|
489
|
+
id="range-slider-1"
|
|
490
|
+
isRangeSlider
|
|
491
|
+
labelText="Label"
|
|
492
|
+
showHelperInvalidText={false}
|
|
493
|
+
showLabel={false}
|
|
494
|
+
/>
|
|
495
|
+
<Slider
|
|
496
|
+
defaultValue={[15, 75]}
|
|
497
|
+
helperText="Component helper text."
|
|
498
|
+
id="range-slider-1"
|
|
499
|
+
isRangeSlider
|
|
500
|
+
labelText="Label"
|
|
501
|
+
showBoxes={false}
|
|
502
|
+
showHelperInvalidText={false}
|
|
503
|
+
showLabel={false}
|
|
504
|
+
/>
|
|
505
|
+
<Slider
|
|
506
|
+
defaultValue={[15, 75]}
|
|
507
|
+
helperText="Component helper text."
|
|
508
|
+
id="range-slider-3"
|
|
509
|
+
isRangeSlider
|
|
510
|
+
labelText="Label"
|
|
511
|
+
showHelperInvalidText={false}
|
|
512
|
+
showLabel={false}
|
|
513
|
+
showValues={false}
|
|
514
|
+
/>
|
|
515
|
+
<Slider
|
|
516
|
+
defaultValue={[15, 75]}
|
|
517
|
+
helperText="Component helper text."
|
|
518
|
+
id="range-slider-4"
|
|
519
|
+
isRangeSlider
|
|
520
|
+
labelText="Label"
|
|
521
|
+
showBoxes={false}
|
|
522
|
+
showHelperInvalidText={false}
|
|
523
|
+
showLabel={false}
|
|
524
|
+
showValues={false}
|
|
525
|
+
/>
|
|
526
|
+
</SimpleGrid>
|
|
527
|
+
</DSProvider>
|
|
528
|
+
</Canvas>
|
|
529
|
+
|
|
530
|
+
## Get Input Values
|
|
531
|
+
|
|
532
|
+
Pass a callback function to the `onChange` prop to get the current number value
|
|
533
|
+
of the `Slider` component or an array of two numbers when it is a range slider.
|
|
534
|
+
Internally, the `Slider` component handles the state of the current selected
|
|
535
|
+
value or values. Once the value(s) is updated, the `onChange` callback will be
|
|
536
|
+
called and the values will be passed. If no `onChange` callback is provided,
|
|
537
|
+
you won't be able to get the updated value(s) of the `Slider` component.
|
|
538
|
+
|
|
539
|
+
### Single Slider Value
|
|
540
|
+
|
|
541
|
+
Open up the browser's developer console to see the value of the `Slider`
|
|
542
|
+
after updating it.
|
|
543
|
+
|
|
544
|
+
```tsx
|
|
545
|
+
// Typescript example:
|
|
546
|
+
function SliderExample() {
|
|
547
|
+
const onChange = (newValue: number) => {
|
|
548
|
+
console.log(`The single Slider updated value is: ${newValue}`);
|
|
549
|
+
};
|
|
550
|
+
return (
|
|
551
|
+
<Slider
|
|
552
|
+
helperText="Component helper text."
|
|
553
|
+
id="slider"
|
|
554
|
+
labelText="Label"
|
|
555
|
+
onChange={onChange}
|
|
556
|
+
/>
|
|
557
|
+
);
|
|
558
|
+
}
|
|
559
|
+
```
|
|
560
|
+
|
|
561
|
+
export function SliderExample() {
|
|
562
|
+
const onChange = (newValue) => {
|
|
563
|
+
console.log(`The single Slider updated value is: ${newValue}`);
|
|
564
|
+
};
|
|
565
|
+
return (
|
|
566
|
+
<Slider
|
|
567
|
+
helperText="Component helper text."
|
|
568
|
+
id="slider"
|
|
569
|
+
labelText="Label"
|
|
570
|
+
onChange={onChange}
|
|
571
|
+
/>
|
|
572
|
+
);
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
<Canvas>
|
|
576
|
+
<DSProvider>
|
|
577
|
+
<SliderExample />
|
|
578
|
+
</DSProvider>
|
|
579
|
+
</Canvas>
|
|
580
|
+
|
|
581
|
+
### Range Slider Values
|
|
582
|
+
|
|
583
|
+
Open up the browser's developer console to see the values of the `Slider`
|
|
584
|
+
after updating it in the `isRangeSlider` state.
|
|
585
|
+
|
|
586
|
+
```tsx
|
|
587
|
+
// Typescript example:
|
|
588
|
+
function RangeSliderExample() {
|
|
589
|
+
const onChange = (newValue: number[]) => {
|
|
590
|
+
const [start, end] = newValue;
|
|
591
|
+
console.log(`The Range Slider updated start value is: ${start}`);
|
|
592
|
+
console.log(`The Range Slider updated end value is: ${end}`);
|
|
593
|
+
};
|
|
594
|
+
return (
|
|
595
|
+
<Slider
|
|
596
|
+
helperText="Component helper text."
|
|
597
|
+
id="range-slider"
|
|
598
|
+
isRangeSlider
|
|
599
|
+
labelText="Label"
|
|
600
|
+
onChange={onChange}
|
|
601
|
+
/>
|
|
602
|
+
);
|
|
603
|
+
}
|
|
604
|
+
```
|
|
605
|
+
|
|
606
|
+
export function RangeSliderExample() {
|
|
607
|
+
const onChange = (newValue) => {
|
|
608
|
+
const [start, end] = newValue;
|
|
609
|
+
console.log(`The Range Slider updated start value is: ${start}`);
|
|
610
|
+
console.log(`The Range Slider updated end value is: ${end}`);
|
|
611
|
+
};
|
|
612
|
+
return (
|
|
613
|
+
<Slider
|
|
614
|
+
defaultValue={[15, 75]}
|
|
615
|
+
helperText="Component helper text."
|
|
616
|
+
id="range-slider"
|
|
617
|
+
isRangeSlider
|
|
618
|
+
labelText="Label"
|
|
619
|
+
onChange={onChange}
|
|
620
|
+
/>
|
|
621
|
+
);
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
<Canvas>
|
|
625
|
+
<DSProvider>
|
|
626
|
+
<RangeSliderExample />
|
|
627
|
+
</DSProvider>
|
|
628
|
+
</Canvas>
|