@nypl/design-system-react-components 0.25.12 → 0.26.1
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 +131 -1
- package/README.md +10 -10
- package/dist/components/Accordion/Accordion.d.ts +6 -4
- package/dist/components/Accordion/AccordionTypes.d.ts +5 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +4 -4
- package/dist/components/Breadcrumbs/BreadcrumbsTypes.d.ts +1 -1
- package/dist/components/Button/Button.d.ts +2 -2
- package/dist/components/Card/Card.d.ts +22 -29
- package/dist/components/Checkbox/Checkbox.d.ts +3 -3
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +9 -6
- package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts +5 -6
- package/dist/components/Fieldset/Fieldset.d.ts +5 -6
- package/dist/components/Form/Form.d.ts +6 -6
- package/dist/components/Grid/GridTypes.d.ts +7 -7
- package/dist/components/Grid/SimpleGrid.d.ts +1 -1
- package/dist/components/Heading/Heading.d.ts +5 -5
- package/dist/components/Heading/HeadingTypes.d.ts +1 -1
- package/dist/components/HelperErrorText/HelperErrorText.d.ts +9 -8
- package/dist/components/Hero/Hero.d.ts +9 -5
- package/dist/components/HorizontalRule/HorizontalRule.d.ts +2 -10
- package/dist/components/Icons/Icon.d.ts +2 -1
- package/dist/components/Icons/IconTypes.d.ts +1 -0
- package/dist/components/Image/Image.d.ts +27 -9
- package/dist/components/Image/ImageTypes.d.ts +4 -4
- package/dist/components/Label/Label.d.ts +7 -4
- package/dist/components/Link/Link.d.ts +1 -1
- package/dist/components/List/List.d.ts +11 -11
- package/dist/components/List/ListTypes.d.ts +1 -1
- package/dist/components/Logo/Logo.d.ts +2 -1
- package/dist/components/Logo/LogoSvgs.d.ts +2 -0
- package/dist/components/Logo/LogoTypes.d.ts +4 -2
- package/dist/components/Notification/Notification.d.ts +7 -7
- package/dist/components/Pagination/Pagination.d.ts +2 -2
- package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +3 -3
- package/dist/components/Radio/Radio.d.ts +5 -7
- package/dist/components/RadioGroup/RadioGroup.d.ts +16 -8
- package/dist/components/SearchBar/SearchBar.d.ts +4 -4
- package/dist/components/Select/Select.d.ts +12 -8
- package/dist/components/Select/SelectTypes.d.ts +4 -0
- package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +8 -6
- package/dist/components/SkeletonLoader/SkeletonLoaderTypes.d.ts +0 -4
- package/dist/components/Slider/Slider.d.ts +6 -4
- package/dist/components/StatusBadge/StatusBadge.d.ts +5 -1
- package/dist/components/StructuredContent/StructuredContent.d.ts +10 -23
- package/dist/components/Table/Table.d.ts +1 -1
- package/dist/components/Tabs/Tabs.d.ts +7 -6
- package/dist/components/Template/Template.d.ts +17 -8
- package/dist/components/Text/Text.d.ts +4 -4
- package/dist/components/Text/TextTypes.d.ts +1 -1
- package/dist/components/TextInput/TextInput.d.ts +7 -7
- package/dist/components/Toggle/Toggle.d.ts +8 -10
- package/dist/components/Toggle/{ToggleSizes.d.ts → ToggleTypes.d.ts} +1 -1
- package/dist/components/VideoPlayer/VideoPlayer.d.ts +2 -1
- package/dist/design-system-react-components.cjs.development.js +2075 -1468
- 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 +2086 -1483
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/helpers/enums.d.ts +4 -0
- package/dist/hooks/useCarouselStyles.d.ts +3 -2
- package/dist/hooks/useNYPLTheme.d.ts +12 -0
- package/dist/index.d.ts +11 -9
- package/dist/styles.css +1 -1
- package/dist/theme/components/accordion.d.ts +7 -12
- package/dist/theme/components/breadcrumb.d.ts +3 -0
- package/dist/theme/components/button.d.ts +10 -2
- package/dist/theme/components/card.d.ts +44 -24
- package/dist/theme/components/checkbox.d.ts +6 -4
- package/dist/theme/components/checkboxGroup.d.ts +4 -2
- package/dist/theme/components/componentWrapper.d.ts +2 -2
- package/dist/theme/components/customTable.d.ts +84 -1
- package/dist/theme/components/fieldset.d.ts +4 -14
- package/dist/theme/components/global.d.ts +25 -18
- package/dist/theme/components/heading.d.ts +53 -0
- package/dist/theme/components/helperErrorText.d.ts +1 -0
- package/dist/theme/components/hero.d.ts +21 -15
- package/dist/theme/components/image.d.ts +1 -1
- package/dist/theme/components/label.d.ts +9 -10
- package/dist/theme/components/list.d.ts +99 -9
- package/dist/theme/components/notification.d.ts +4 -4
- package/dist/theme/components/pagination.d.ts +2 -5
- package/dist/theme/components/radio.d.ts +7 -4
- package/dist/theme/components/radioGroup.d.ts +4 -2
- package/dist/theme/components/select.d.ts +37 -5
- package/dist/theme/components/skeletonLoader.d.ts +2 -2
- package/dist/theme/components/slider.d.ts +6 -3
- package/dist/theme/components/structuredContent.d.ts +197 -0
- package/dist/theme/components/textInput.d.ts +18 -6
- package/dist/theme/components/toggle.d.ts +20 -5
- package/dist/theme/foundations/global.d.ts +2 -0
- package/dist/theme/foundations/radii.d.ts +1 -0
- package/dist/theme/foundations/spacing.d.ts +46 -43
- package/package.json +5 -6
- package/src/components/AccessibilityGuide/SkipNavigation.stories.mdx +34 -0
- package/src/components/Accordion/Accordion.stories.mdx +150 -66
- package/src/components/Accordion/Accordion.test.tsx +65 -17
- package/src/components/Accordion/Accordion.tsx +61 -27
- package/src/components/Accordion/AccordionTypes.tsx +5 -0
- package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +505 -14
- package/src/components/Autosuggest/Autosuggest.stories.mdx +4 -3
- package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +37 -19
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +57 -36
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +14 -13
- package/src/components/Breadcrumbs/BreadcrumbsTypes.tsx +1 -1
- package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +211 -12
- package/src/components/Button/Button.stories.mdx +87 -23
- package/src/components/Button/Button.test.tsx +25 -0
- package/src/components/Button/Button.tsx +18 -7
- package/src/components/Button/__snapshots__/Button.test.tsx.snap +27 -7
- package/src/components/Card/Card.stories.mdx +493 -329
- package/src/components/Card/Card.test.tsx +138 -18
- package/src/components/Card/Card.tsx +151 -85
- package/src/components/Card/__snapshots__/Card.test.tsx.snap +221 -101
- package/src/components/Chakra/Center.stories.mdx +2 -2
- package/src/components/Chakra/Grid.stories.mdx +4 -4
- package/src/components/Checkbox/Checkbox.stories.mdx +73 -9
- package/src/components/Checkbox/Checkbox.test.tsx +89 -10
- package/src/components/Checkbox/Checkbox.tsx +26 -16
- package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +209 -6
- package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +135 -23
- package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +216 -90
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +39 -26
- package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +493 -89
- package/src/components/ComponentWrapper/ComponentWrapper.test.tsx +12 -0
- package/src/components/ComponentWrapper/ComponentWrapper.tsx +39 -41
- package/src/components/ComponentWrapper/__snapshots__/ComponentWrapper.test.tsx.snap +47 -34
- package/src/components/DatePicker/DatePicker.stories.mdx +63 -27
- package/src/components/DatePicker/DatePicker.test.tsx +94 -15
- package/src/components/DatePicker/DatePicker.tsx +67 -58
- package/src/components/DatePicker/_DatePicker.scss +71 -13
- package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +250 -206
- package/src/components/Fieldset/Fieldset.stories.mdx +33 -3
- package/src/components/Fieldset/Fieldset.test.tsx +58 -28
- package/src/components/Fieldset/Fieldset.tsx +35 -30
- package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +40 -19
- package/src/components/Form/Form.stories.mdx +118 -47
- package/src/components/Form/Form.test.tsx +59 -16
- package/src/components/Form/Form.tsx +89 -65
- package/src/components/Form/__snapshots__/Form.test.tsx.snap +83 -5
- package/src/components/Grid/GridTypes.tsx +7 -7
- package/src/components/Grid/SimpleGrid.stories.mdx +87 -41
- package/src/components/Grid/SimpleGrid.test.tsx +24 -9
- package/src/components/Grid/SimpleGrid.tsx +29 -20
- package/src/components/Grid/__snapshots__/SimpleGrid.test.tsx.snap +16 -1
- package/src/components/Heading/Heading.stories.mdx +56 -25
- package/src/components/Heading/Heading.test.tsx +17 -7
- package/src/components/Heading/Heading.tsx +60 -58
- package/src/components/Heading/HeadingTypes.tsx +1 -1
- package/src/components/Heading/__snapshots__/Heading.test.tsx.snap +27 -8
- package/src/components/HelperErrorText/HelperErrorText.stories.mdx +64 -42
- package/src/components/HelperErrorText/HelperErrorText.test.tsx +15 -0
- package/src/components/HelperErrorText/HelperErrorText.tsx +40 -35
- package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +35 -4
- package/src/components/Hero/Hero.stories.mdx +143 -113
- package/src/components/Hero/Hero.test.tsx +146 -58
- package/src/components/Hero/Hero.tsx +144 -112
- package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +89 -17
- package/src/components/HorizontalRule/HorizontalRule.stories.mdx +26 -4
- package/src/components/HorizontalRule/HorizontalRule.test.tsx +9 -17
- package/src/components/HorizontalRule/HorizontalRule.tsx +9 -25
- package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +18 -5
- package/src/components/Icons/Icon.stories.mdx +80 -23
- package/src/components/Icons/Icon.test.tsx +51 -2
- package/src/components/Icons/Icon.tsx +93 -71
- package/src/components/Icons/IconTypes.tsx +1 -0
- package/src/components/Icons/__snapshots__/Icon.test.tsx.snap +129 -0
- package/src/components/Image/Image.stories.mdx +160 -71
- package/src/components/Image/Image.test.tsx +40 -48
- package/src/components/Image/Image.tsx +80 -48
- package/src/components/Image/ImageTypes.ts +4 -4
- package/src/components/Image/__snapshots__/Image.test.tsx.snap +84 -21
- package/src/components/Label/Label.stories.mdx +42 -20
- package/src/components/Label/Label.test.tsx +42 -17
- package/src/components/Label/Label.tsx +22 -13
- package/src/components/Label/__snapshots__/Label.test.tsx.snap +19 -15
- package/src/components/Link/Link.stories.mdx +25 -1
- package/src/components/Link/Link.test.tsx +21 -0
- package/src/components/Link/Link.tsx +16 -9
- package/src/components/Link/__snapshots__/Link.test.tsx.snap +37 -11
- package/src/components/List/List.stories.mdx +75 -40
- package/src/components/List/List.test.tsx +73 -22
- package/src/components/List/List.tsx +44 -28
- package/src/components/List/ListTypes.tsx +1 -1
- package/src/components/List/__snapshots__/List.test.tsx.snap +110 -8
- package/src/components/Logo/Logo.stories.mdx +40 -16
- package/src/components/Logo/Logo.test.tsx +29 -2
- package/src/components/Logo/Logo.tsx +28 -11
- package/src/components/Logo/LogoSvgs.tsx +4 -0
- package/src/components/Logo/LogoTypes.tsx +3 -1
- package/src/components/Logo/__snapshots__/Logo.test.tsx.snap +73 -2
- package/src/components/Modal/Modal.stories.mdx +13 -0
- package/src/components/Notification/Notification.stories.mdx +29 -5
- package/src/components/Notification/Notification.test.tsx +23 -0
- package/src/components/Notification/Notification.tsx +53 -51
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +158 -29
- package/src/components/Pagination/Pagination.stories.mdx +27 -6
- package/src/components/Pagination/Pagination.test.tsx +55 -2
- package/src/components/Pagination/Pagination.tsx +12 -9
- package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +244 -27
- package/src/components/Placeholder/Placeholder.tsx +3 -1
- package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +76 -10
- package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +87 -13
- package/src/components/ProgressIndicator/ProgressIndicator.tsx +20 -10
- package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +101 -14
- package/src/components/Radio/Radio.stories.mdx +75 -11
- package/src/components/Radio/Radio.test.tsx +83 -9
- package/src/components/Radio/Radio.tsx +70 -62
- package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +163 -5
- package/src/components/RadioGroup/RadioGroup.stories.mdx +293 -94
- package/src/components/RadioGroup/RadioGroup.test.tsx +193 -68
- package/src/components/RadioGroup/RadioGroup.tsx +110 -101
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +1258 -902
- package/src/components/SearchBar/SearchBar.stories.mdx +101 -36
- package/src/components/SearchBar/{SearchBar.Test.tsx → SearchBar.test.tsx} +46 -4
- package/src/components/SearchBar/SearchBar.tsx +20 -11
- package/src/components/SearchBar/__snapshots__/SearchBar.test.tsx.snap +1039 -0
- package/src/components/Select/Select.stories.mdx +151 -62
- package/src/components/Select/Select.test.tsx +56 -44
- package/src/components/Select/Select.tsx +125 -104
- package/src/components/Select/SelectTypes.tsx +5 -0
- package/src/components/Select/__snapshots__/Select.test.tsx.snap +749 -409
- package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +53 -23
- package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +14 -8
- package/src/components/SkeletonLoader/SkeletonLoader.tsx +80 -78
- package/src/components/SkeletonLoader/SkeletonLoaderTypes.tsx +0 -5
- package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +169 -10
- package/src/components/Slider/Slider.stories.mdx +123 -41
- package/src/components/Slider/Slider.test.tsx +65 -17
- package/src/components/Slider/Slider.tsx +30 -23
- package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +403 -226
- package/src/components/StatusBadge/StatusBadge.stories.mdx +19 -1
- package/src/components/StatusBadge/StatusBadge.test.tsx +19 -1
- package/src/components/StatusBadge/StatusBadge.tsx +25 -20
- package/src/components/StatusBadge/__snapshots__/StatusBadge.test.tsx.snap +22 -3
- package/src/components/StructuredContent/StructuredContent.stories.mdx +229 -61
- package/src/components/StructuredContent/StructuredContent.test.tsx +162 -101
- package/src/components/StructuredContent/StructuredContent.tsx +98 -103
- package/src/components/StructuredContent/__snapshots__/StructuredContent.test.tsx.snap +102 -17
- package/src/components/StyleGuide/Bidirectionality.stories.mdx +5 -5
- package/src/components/StyleGuide/Breakpoints.stories.mdx +6 -6
- package/src/components/StyleGuide/Buttons.stories.mdx +2 -12
- package/src/components/StyleGuide/ColorCard.tsx +4 -4
- package/src/components/StyleGuide/Colors.stories.mdx +1 -2
- package/src/components/StyleGuide/DesignTokens.stories.mdx +56 -26
- package/src/components/StyleGuide/Forms.stories.mdx +27 -12
- package/src/components/StyleGuide/Iconography.stories.mdx +2 -12
- package/src/components/StyleGuide/Spacing.stories.mdx +80 -41
- package/src/components/StyleGuide/Typography.stories.mdx +47 -33
- package/src/components/Table/Table.stories.mdx +38 -11
- package/src/components/Table/Table.test.tsx +16 -1
- package/src/components/Table/Table.tsx +10 -8
- package/src/components/Table/__snapshots__/Table.test.tsx.snap +408 -5
- package/src/components/Tabs/Tabs.stories.mdx +59 -10
- package/src/components/Tabs/Tabs.test.tsx +29 -11
- package/src/components/Tabs/Tabs.tsx +28 -21
- package/src/components/Tabs/__snapshots__/Tabs.test.tsx.snap +394 -5
- package/src/components/Template/Template.stories.mdx +73 -32
- package/src/components/Template/Template.test.tsx +68 -5
- package/src/components/Template/Template.tsx +89 -71
- package/src/components/Template/__snapshots__/Template.test.tsx.snap +195 -22
- package/src/components/Text/Text.stories.mdx +32 -15
- package/src/components/Text/Text.test.tsx +14 -11
- package/src/components/Text/Text.tsx +13 -16
- package/src/components/Text/TextTypes.tsx +1 -1
- package/src/components/Text/__snapshots__/Text.test.tsx.snap +21 -4
- package/src/components/TextInput/TextInput.stories.mdx +73 -27
- package/src/components/TextInput/TextInput.test.tsx +65 -50
- package/src/components/TextInput/TextInput.tsx +123 -115
- package/src/components/TextInput/__snapshots__/TextInput.test.tsx.snap +96 -73
- package/src/components/Toggle/Toggle.stories.mdx +74 -26
- package/src/components/Toggle/Toggle.test.tsx +41 -10
- package/src/components/Toggle/Toggle.tsx +29 -26
- package/src/components/Toggle/{ToggleSizes.tsx → ToggleTypes.tsx} +1 -1
- package/src/components/Toggle/__snapshots__/Toggle.test.tsx.snap +191 -4
- package/src/components/VideoPlayer/VideoPlayer.stories.mdx +52 -4
- package/src/components/VideoPlayer/VideoPlayer.test.tsx +41 -6
- package/src/components/VideoPlayer/VideoPlayer.tsx +134 -120
- package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +81 -39
- package/src/docs/Chakra.stories.mdx +50 -9
- package/src/docs/Welcome.stories.mdx +168 -0
- package/src/{components/Card/CardTypes.tsx → helpers/enums.ts} +2 -2
- package/src/hooks/tests/useNYPLTheme.test.tsx +1 -1
- package/src/hooks/useCarouselStyles.stories.mdx +30 -0
- package/src/hooks/useCarouselStyles.ts +3 -2
- package/src/hooks/useNYPLTheme.stories.mdx +101 -0
- package/src/hooks/useNYPLTheme.ts +31 -7
- package/src/hooks/useWindowSize.stories.mdx +23 -0
- package/src/index.ts +11 -15
- package/src/styles/base/_place-holder.scss +1 -1
- package/src/theme/components/accordion.ts +7 -12
- package/src/theme/components/breadcrumb.ts +3 -0
- package/src/theme/components/button.ts +15 -7
- package/src/theme/components/card.ts +56 -36
- package/src/theme/components/checkbox.ts +10 -8
- package/src/theme/components/checkboxGroup.ts +4 -2
- package/src/theme/components/componentWrapper.ts +2 -2
- package/src/theme/components/customTable.ts +39 -31
- package/src/theme/components/fieldset.ts +1 -2
- package/src/theme/components/global.ts +29 -23
- package/src/theme/components/heading.ts +1 -1
- package/src/theme/components/helperErrorText.ts +1 -0
- package/src/theme/components/hero.ts +14 -16
- package/src/theme/components/icon.ts +5 -2
- package/src/theme/components/image.ts +1 -1
- package/src/theme/components/label.ts +4 -3
- package/src/theme/components/list.ts +73 -66
- package/src/theme/components/notification.ts +7 -7
- package/src/theme/components/pagination.ts +2 -5
- package/src/theme/components/progressIndicator.ts +3 -3
- package/src/theme/components/radio.ts +9 -9
- package/src/theme/components/radioGroup.ts +4 -2
- package/src/theme/components/select.ts +35 -16
- package/src/theme/components/skeletonLoader.ts +3 -3
- package/src/theme/components/slider.ts +8 -7
- package/src/theme/components/statusBadge.ts +2 -2
- package/src/theme/components/structuredContent.ts +66 -1
- package/src/theme/components/tabs.ts +2 -2
- package/src/theme/components/template.ts +9 -9
- package/src/theme/components/textInput.ts +13 -12
- package/src/theme/components/toggle.ts +43 -13
- package/src/theme/components/videoPlayer.ts +1 -1
- package/src/theme/foundations/colors.ts +1 -1
- package/src/theme/foundations/radii.ts +1 -0
- package/src/theme/foundations/spacing.ts +70 -22
- package/src/theme/foundations/typography.ts +2 -2
- package/src/utils/componentCategories.ts +28 -21
- package/dist/components/Card/CardTypes.d.ts +0 -4
- package/dist/components/CheckboxGroup/CheckboxGroupLayoutTypes.d.ts +0 -4
- package/dist/components/RadioGroup/RadioGroupLayoutTypes.d.ts +0 -4
- package/dist/components/SearchBar/SearchBar.Test.d.ts +0 -1
- package/dist/helpers/generateUUID.d.ts +0 -1
- package/src/components/CheckboxGroup/CheckboxGroupLayoutTypes.tsx +0 -4
- package/src/components/RadioGroup/RadioGroupLayoutTypes.tsx +0 -4
- package/src/docs/Intro.stories.mdx +0 -53
- package/src/helpers/generateUUID.tsx +0 -5
|
@@ -59,15 +59,36 @@ export const typesEnumValues = getStorybookEnumValues(
|
|
|
59
59
|
| Component Version | DS Version |
|
|
60
60
|
| ----------------- | ---------- |
|
|
61
61
|
| Added | `0.23.2` |
|
|
62
|
-
| Latest | `0.
|
|
62
|
+
| Latest | `0.26.0` |
|
|
63
|
+
|
|
64
|
+
## Table of Contents
|
|
65
|
+
|
|
66
|
+
- [Overview](#overview)
|
|
67
|
+
- [Component Props](#component-props)
|
|
68
|
+
- [Accessibility](#accessibility)
|
|
69
|
+
- [Extracting Video IDs](#extracting-video-ids)
|
|
70
|
+
- [Example Embed Code Snippets](#example-embed-code-snippets)
|
|
71
|
+
- [Errored](#errored)
|
|
72
|
+
- [HTML in Helper Text](#html-in-helper-text)
|
|
73
|
+
|
|
74
|
+
## Overview
|
|
63
75
|
|
|
64
76
|
<Description of={VideoPlayer} />
|
|
65
77
|
|
|
66
|
-
The `VideoPlayer` component is used to embed a `Vimeo` or `YouTube` video player
|
|
78
|
+
The `VideoPlayer` component is used to embed a `Vimeo` or `YouTube` video player
|
|
79
|
+
on a page. The component requires the `embedCode` prop or both the `videoType`
|
|
80
|
+
and `videoId` props. The component will not function properly if you try to set
|
|
81
|
+
all of them.
|
|
67
82
|
|
|
68
|
-
You can extract the videoId from the video's URL. **IMPORTANT:** Do not try to
|
|
83
|
+
You can extract the videoId from the video's URL. **IMPORTANT:** Do not try to
|
|
84
|
+
enter the full video URL as the `videoId` value.
|
|
69
85
|
|
|
70
|
-
The `aspectRatio` prop is used to control the sizing of the space allotted for
|
|
86
|
+
The `aspectRatio` prop is used to control the sizing of the space allotted for
|
|
87
|
+
the video rendering. Ultimately, the `aspectRatio` prop should be set to match
|
|
88
|
+
the aspect ratio of the video that is being rendered. The default aspect ratio
|
|
89
|
+
is `16:9`.
|
|
90
|
+
|
|
91
|
+
## Component Props
|
|
71
92
|
|
|
72
93
|
<Canvas withToolbar>
|
|
73
94
|
<Story
|
|
@@ -104,6 +125,33 @@ The `aspectRatio` prop is used to control the sizing of the space allotted for t
|
|
|
104
125
|
**Example Vimeo IDs:** `474719268`, `491405018`, `493795778` (square)<br />
|
|
105
126
|
**Example YouTube IDs:** `PfqgDG1qrKg`, `roi5V8ppi7Y`, `nm-dD2tx6bk`
|
|
106
127
|
|
|
128
|
+
## Accessibility
|
|
129
|
+
|
|
130
|
+
The `VideoPlayer` component renders an `iframe` element with either a Vimeo or
|
|
131
|
+
YouTube video. `iframe`s can be accessible if a `title` attribute is provided.
|
|
132
|
+
When passing in a video type and a video `id`, make sure to pass a title. Otherwise,
|
|
133
|
+
the title must already be provided in the embed code value that is passed to the
|
|
134
|
+
`embedCode` prop. A default one is provided but a custom one is recommended.
|
|
135
|
+
|
|
136
|
+
Not all the Vimeo or YouTube videos passed to the `VideoPlayer` component will
|
|
137
|
+
be owned by The New York Public Library. Because these videos are hosted on a
|
|
138
|
+
third-party platform, we cannot guarantee that the video will be accessible.
|
|
139
|
+
Besides setting the `title` in the embedded `iframe`, there are _some_ ways we
|
|
140
|
+
can reduce accessibility issues.
|
|
141
|
+
|
|
142
|
+
- Never use autoplay on videos; a user must click the play button to start the
|
|
143
|
+
video.
|
|
144
|
+
- Always show all the video player's controls for the user to interact with
|
|
145
|
+
the video.
|
|
146
|
+
- Keep the full screen option available.
|
|
147
|
+
|
|
148
|
+
Resources:
|
|
149
|
+
|
|
150
|
+
- [W3C Making Audio and Video Media Accessible](https://www.w3.org/WAI/media/av/)
|
|
151
|
+
- [WebAIM Creating Accessible Frames and Iframes](https://webaim.org/techniques/frames/)
|
|
152
|
+
- [MDN iframe: The Inline Frame element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe)
|
|
153
|
+
- [Deque University Be Sure to Provide Titles for Iframes](https://dequeuniversity.com/tips/provide-iframe-titles)
|
|
154
|
+
|
|
107
155
|
## Extracting Video IDs
|
|
108
156
|
|
|
109
157
|
### Vimeo
|
|
@@ -181,17 +181,20 @@ describe("VideoPlayer", () => {
|
|
|
181
181
|
|
|
182
182
|
render(<VideoPlayer />);
|
|
183
183
|
expect(warn).toHaveBeenCalledWith(
|
|
184
|
-
"VideoPlayer
|
|
184
|
+
"NYPL Reservoir VideoPlayer: Pass in either the `embedCode` prop or " +
|
|
185
|
+
"both the `videoType` and `videoId` props; none were passed."
|
|
185
186
|
);
|
|
186
187
|
|
|
187
188
|
render(<VideoPlayer videoId="http://vimeo.com/474719268" />);
|
|
188
189
|
expect(warn).toHaveBeenCalledWith(
|
|
189
|
-
"
|
|
190
|
+
"NYPL Reservoir VideoPlayer: The `videoType` prop is also required. " +
|
|
191
|
+
"Only the `videoId` prop was set."
|
|
190
192
|
);
|
|
191
193
|
|
|
192
194
|
render(<VideoPlayer videoType={VideoPlayerTypes.Vimeo} />);
|
|
193
195
|
expect(warn).toHaveBeenCalledWith(
|
|
194
|
-
"
|
|
196
|
+
"NYPL Reservoir VideoPlayer: The `videoId` prop is also required. " +
|
|
197
|
+
"Only the `videoType` prop was set."
|
|
195
198
|
);
|
|
196
199
|
|
|
197
200
|
render(
|
|
@@ -202,7 +205,8 @@ describe("VideoPlayer", () => {
|
|
|
202
205
|
/>
|
|
203
206
|
);
|
|
204
207
|
expect(warn).toHaveBeenCalledWith(
|
|
205
|
-
"VideoPlayer
|
|
208
|
+
"NYPL Reservoir VideoPlayer: Pass in either the `embedCode` prop or " +
|
|
209
|
+
"both the `videoType` and `videoId` props; all were set."
|
|
206
210
|
);
|
|
207
211
|
|
|
208
212
|
render(
|
|
@@ -212,7 +216,8 @@ describe("VideoPlayer", () => {
|
|
|
212
216
|
/>
|
|
213
217
|
);
|
|
214
218
|
expect(warn).toHaveBeenCalledWith(
|
|
215
|
-
"VideoPlayer
|
|
219
|
+
"NYPL Reservoir VideoPlayer: Pass in either the `embedCode` prop or " +
|
|
220
|
+
"both the `videoType` and `videoId` props; all were set."
|
|
216
221
|
);
|
|
217
222
|
|
|
218
223
|
render(
|
|
@@ -222,7 +227,14 @@ describe("VideoPlayer", () => {
|
|
|
222
227
|
/>
|
|
223
228
|
);
|
|
224
229
|
expect(warn).toHaveBeenCalledWith(
|
|
225
|
-
"VideoPlayer
|
|
230
|
+
"NYPL Reservoir VideoPlayer: Pass in either the `embedCode` prop or " +
|
|
231
|
+
"both the `videoType` and `videoId` props; all were set."
|
|
232
|
+
);
|
|
233
|
+
|
|
234
|
+
const embedCode = `<iframe src="https://player./video/421404144?h=5467db7edd"></iframe>`;
|
|
235
|
+
render(<VideoPlayer embedCode={embedCode} />);
|
|
236
|
+
expect(warn).toHaveBeenCalledWith(
|
|
237
|
+
"NYPL Reservoir VideoPlayer: The `embedCode` prop is not configured properly."
|
|
226
238
|
);
|
|
227
239
|
});
|
|
228
240
|
});
|
|
@@ -269,10 +281,33 @@ describe("VideoPlayer", () => {
|
|
|
269
281
|
/>
|
|
270
282
|
)
|
|
271
283
|
.toJSON();
|
|
284
|
+
const withChakraProps = renderer
|
|
285
|
+
.create(
|
|
286
|
+
<VideoPlayer
|
|
287
|
+
id="chakra"
|
|
288
|
+
videoId="474719268"
|
|
289
|
+
videoType={VideoPlayerTypes.Vimeo}
|
|
290
|
+
p="20px"
|
|
291
|
+
color="ui.error.primary"
|
|
292
|
+
/>
|
|
293
|
+
)
|
|
294
|
+
.toJSON();
|
|
295
|
+
const withOtherProps = renderer
|
|
296
|
+
.create(
|
|
297
|
+
<VideoPlayer
|
|
298
|
+
id="props"
|
|
299
|
+
videoId="474719268"
|
|
300
|
+
videoType={VideoPlayerTypes.Vimeo}
|
|
301
|
+
data-testid="props"
|
|
302
|
+
/>
|
|
303
|
+
)
|
|
304
|
+
.toJSON();
|
|
272
305
|
|
|
273
306
|
expect(videoPlayerWithoutText).toMatchSnapshot();
|
|
274
307
|
expect(videoPlayerWithText).toMatchSnapshot();
|
|
275
308
|
expect(videoPlayerUsingEmbedCode).toMatchSnapshot();
|
|
276
309
|
expect(videoPlayerError).toMatchSnapshot();
|
|
310
|
+
expect(withChakraProps).toMatchSnapshot();
|
|
311
|
+
expect(withOtherProps).toMatchSnapshot();
|
|
277
312
|
});
|
|
278
313
|
});
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { Box, useMultiStyleConfig } from "@chakra-ui/react";
|
|
1
|
+
import { Box, chakra, useMultiStyleConfig } from "@chakra-ui/react";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
|
|
4
4
|
import ComponentWrapper from "../ComponentWrapper/ComponentWrapper";
|
|
5
5
|
import { HelperErrorTextType } from "../HelperErrorText/HelperErrorText";
|
|
6
6
|
import { VideoPlayerAspectRatios, VideoPlayerTypes } from "./VideoPlayerTypes";
|
|
7
|
-
import generateUUID from "../../helpers/generateUUID";
|
|
8
7
|
import { getVariant } from "../../utils/utils";
|
|
9
8
|
|
|
10
9
|
export interface VideoPlayerProps {
|
|
@@ -40,132 +39,147 @@ export interface VideoPlayerProps {
|
|
|
40
39
|
videoType?: VideoPlayerTypes;
|
|
41
40
|
}
|
|
42
41
|
|
|
43
|
-
export
|
|
44
|
-
props: React.PropsWithChildren<VideoPlayerProps>
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
42
|
+
export const VideoPlayer = chakra(
|
|
43
|
+
(props: React.PropsWithChildren<VideoPlayerProps>) => {
|
|
44
|
+
const {
|
|
45
|
+
aspectRatio,
|
|
46
|
+
className,
|
|
47
|
+
descriptionText,
|
|
48
|
+
embedCode,
|
|
49
|
+
headingText,
|
|
50
|
+
helperText,
|
|
51
|
+
id,
|
|
52
|
+
iframeTitle,
|
|
53
|
+
showHelperInvalidText = true,
|
|
54
|
+
videoId,
|
|
55
|
+
videoType,
|
|
56
|
+
...rest
|
|
57
|
+
} = props;
|
|
59
58
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
59
|
+
const iframeTitleFinal =
|
|
60
|
+
videoType === VideoPlayerTypes.Vimeo
|
|
61
|
+
? iframeTitle || "Vimeo video player"
|
|
62
|
+
: iframeTitle || "YouTube video player";
|
|
64
63
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
64
|
+
const videoSrc =
|
|
65
|
+
videoType === VideoPlayerTypes.Vimeo
|
|
66
|
+
? `https://player.vimeo.com/video/${videoId}?autoplay=0&loop=0`
|
|
67
|
+
: `https://www.youtube.com/embed/${videoId}?disablekb=1&autoplay=0&fs=1&modestbranding=0`;
|
|
69
68
|
|
|
70
|
-
|
|
69
|
+
const iFrameTitleEmbedCode = iframeTitle
|
|
70
|
+
? `${iframeTitle}`
|
|
71
|
+
: `Video player`;
|
|
71
72
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
73
|
+
const embedCodeFinal =
|
|
74
|
+
embedCode &&
|
|
75
|
+
embedCode.includes("<iframe") &&
|
|
76
|
+
!embedCode.includes("title=")
|
|
77
|
+
? embedCode.replace(
|
|
78
|
+
`<iframe `,
|
|
79
|
+
`<iframe title="${iFrameTitleEmbedCode}" `
|
|
80
|
+
)
|
|
81
|
+
: embedCode;
|
|
79
82
|
|
|
80
|
-
|
|
81
|
-
|
|
83
|
+
const errorMessage =
|
|
84
|
+
"<strong>Error:</strong> This video player has not been configured " +
|
|
85
|
+
"properly. Please contact the site administrator.";
|
|
82
86
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
)
|
|
103
|
-
|
|
104
|
-
|
|
87
|
+
let isInvalid = false;
|
|
88
|
+
if (!embedCodeFinal && !videoType && !videoId) {
|
|
89
|
+
console.warn(
|
|
90
|
+
"NYPL Reservoir VideoPlayer: Pass in either the `embedCode` prop or " +
|
|
91
|
+
"both the `videoType` and `videoId` props; none were passed."
|
|
92
|
+
);
|
|
93
|
+
isInvalid = true;
|
|
94
|
+
} else if (!embedCodeFinal && !videoType) {
|
|
95
|
+
console.warn(
|
|
96
|
+
"NYPL Reservoir VideoPlayer: The `videoType` prop is also required. " +
|
|
97
|
+
"Only the `videoId` prop was set."
|
|
98
|
+
);
|
|
99
|
+
isInvalid = true;
|
|
100
|
+
} else if (!embedCodeFinal && !videoId) {
|
|
101
|
+
console.warn(
|
|
102
|
+
"NYPL Reservoir VideoPlayer: The `videoId` prop is also required. " +
|
|
103
|
+
"Only the `videoType` prop was set."
|
|
104
|
+
);
|
|
105
|
+
isInvalid = true;
|
|
106
|
+
} else if (embedCodeFinal && (videoType || videoId)) {
|
|
107
|
+
console.warn(
|
|
108
|
+
"NYPL Reservoir VideoPlayer: Pass in either the `embedCode` prop or " +
|
|
109
|
+
"both the `videoType` and `videoId` props; all were set."
|
|
110
|
+
);
|
|
111
|
+
isInvalid = true;
|
|
112
|
+
}
|
|
105
113
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
114
|
+
if (
|
|
115
|
+
videoId &&
|
|
116
|
+
(videoId.includes("://") ||
|
|
117
|
+
videoId.includes("http") ||
|
|
118
|
+
videoId.includes(".") ||
|
|
119
|
+
videoId.includes("youtube") ||
|
|
120
|
+
videoId.includes("vimeo"))
|
|
121
|
+
) {
|
|
122
|
+
console.warn(
|
|
123
|
+
"NYPL Reservoir VideoPlayer: The `videoId` prop is not configured properly."
|
|
124
|
+
);
|
|
125
|
+
isInvalid = true;
|
|
126
|
+
}
|
|
117
127
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
128
|
+
if (
|
|
129
|
+
embedCodeFinal &&
|
|
130
|
+
((!embedCodeFinal.includes("vimeo.com") &&
|
|
131
|
+
!embedCodeFinal.includes("youtube.com")) ||
|
|
132
|
+
!embedCodeFinal.includes("<iframe") ||
|
|
133
|
+
!embedCodeFinal.includes("</iframe"))
|
|
134
|
+
) {
|
|
135
|
+
console.warn(
|
|
136
|
+
"NYPL Reservoir VideoPlayer: The `embedCode` prop is not configured properly."
|
|
137
|
+
);
|
|
138
|
+
isInvalid = true;
|
|
139
|
+
}
|
|
130
140
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
141
|
+
const variant = isInvalid
|
|
142
|
+
? "invalid"
|
|
143
|
+
: getVariant(aspectRatio, VideoPlayerAspectRatios);
|
|
144
|
+
const styles = useMultiStyleConfig("VideoPlayer", { variant });
|
|
135
145
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
146
|
+
const embedElement = embedCodeFinal ? (
|
|
147
|
+
<span dangerouslySetInnerHTML={{ __html: embedCodeFinal }} />
|
|
148
|
+
) : (
|
|
149
|
+
<Box
|
|
150
|
+
as="iframe"
|
|
151
|
+
src={videoSrc}
|
|
152
|
+
title={iframeTitleFinal}
|
|
153
|
+
frameBorder="0"
|
|
154
|
+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; fullscreen; gyroscope; picture-in-picture"
|
|
155
|
+
allowFullScreen
|
|
156
|
+
__css={styles.iframe}
|
|
157
|
+
/>
|
|
158
|
+
);
|
|
149
159
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
160
|
+
return (
|
|
161
|
+
<Box
|
|
162
|
+
className={className}
|
|
163
|
+
data-testid="video-player-component"
|
|
164
|
+
id={id}
|
|
165
|
+
__css={styles}
|
|
166
|
+
{...rest}
|
|
167
|
+
>
|
|
168
|
+
{isInvalid ? (
|
|
169
|
+
<span dangerouslySetInnerHTML={{ __html: errorMessage }} />
|
|
170
|
+
) : (
|
|
171
|
+
<ComponentWrapper
|
|
172
|
+
headingText={headingText ? headingText : null}
|
|
173
|
+
descriptionText={descriptionText ? descriptionText : null}
|
|
174
|
+
helperText={helperText && showHelperInvalidText ? helperText : null}
|
|
175
|
+
id={`${id}-componentWrapper`}
|
|
176
|
+
>
|
|
177
|
+
<Box __css={styles.inside}>{embedElement}</Box>
|
|
178
|
+
</ComponentWrapper>
|
|
179
|
+
)}
|
|
180
|
+
</Box>
|
|
181
|
+
);
|
|
182
|
+
}
|
|
183
|
+
);
|
|
184
|
+
|
|
185
|
+
export default VideoPlayer;
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`VideoPlayer renders the UI snapshot correctly 1`] = `
|
|
4
4
|
<div
|
|
5
|
-
className="css-
|
|
5
|
+
className="css-1xdhyk6"
|
|
6
6
|
data-testid="video-player-component"
|
|
7
7
|
id="video-player-without-text"
|
|
8
8
|
>
|
|
9
9
|
<div
|
|
10
|
-
className="css-
|
|
10
|
+
className="css-1xdhyk6"
|
|
11
11
|
>
|
|
12
12
|
<div
|
|
13
13
|
className="css-0"
|
|
@@ -27,21 +27,21 @@ exports[`VideoPlayer renders the UI snapshot correctly 1`] = `
|
|
|
27
27
|
|
|
28
28
|
exports[`VideoPlayer renders the UI snapshot correctly 2`] = `
|
|
29
29
|
<div
|
|
30
|
-
className="css-
|
|
30
|
+
className="css-1xdhyk6"
|
|
31
31
|
data-testid="video-player-component"
|
|
32
32
|
id="video-player-with-text"
|
|
33
33
|
>
|
|
34
34
|
<div
|
|
35
|
-
className="css-
|
|
35
|
+
className="css-1xdhyk6"
|
|
36
36
|
>
|
|
37
37
|
<h2
|
|
38
|
-
className="chakra-heading css-
|
|
38
|
+
className="chakra-heading css-1xdhyk6"
|
|
39
39
|
id="video-player-with-text-componentWrapper-heading"
|
|
40
40
|
>
|
|
41
41
|
VideoPlayer Heading
|
|
42
42
|
</h2>
|
|
43
43
|
<p
|
|
44
|
-
className="chakra-text css-
|
|
44
|
+
className="chakra-text css-1xdhyk6"
|
|
45
45
|
>
|
|
46
46
|
VideoPlayer description
|
|
47
47
|
</p>
|
|
@@ -58,42 +58,38 @@ exports[`VideoPlayer renders the UI snapshot correctly 2`] = `
|
|
|
58
58
|
/>
|
|
59
59
|
</div>
|
|
60
60
|
<div
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
dangerouslySetInnerHTML={
|
|
68
|
-
Object {
|
|
69
|
-
"__html": "VideoPlayer helper test.",
|
|
70
|
-
}
|
|
61
|
+
aria-atomic={true}
|
|
62
|
+
aria-live="off"
|
|
63
|
+
className="css-1xdhyk6"
|
|
64
|
+
dangerouslySetInnerHTML={
|
|
65
|
+
Object {
|
|
66
|
+
"__html": "VideoPlayer helper test.",
|
|
71
67
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
68
|
+
}
|
|
69
|
+
data-isinvalid={false}
|
|
70
|
+
id="video-player-with-text-componentWrapper-helperText"
|
|
71
|
+
/>
|
|
76
72
|
</div>
|
|
77
73
|
</div>
|
|
78
74
|
`;
|
|
79
75
|
|
|
80
76
|
exports[`VideoPlayer renders the UI snapshot correctly 3`] = `
|
|
81
77
|
<div
|
|
82
|
-
className="css-
|
|
78
|
+
className="css-1xdhyk6"
|
|
83
79
|
data-testid="video-player-component"
|
|
84
80
|
id="video-player-with-text"
|
|
85
81
|
>
|
|
86
82
|
<div
|
|
87
|
-
className="css-
|
|
83
|
+
className="css-1xdhyk6"
|
|
88
84
|
>
|
|
89
85
|
<h2
|
|
90
|
-
className="chakra-heading css-
|
|
86
|
+
className="chakra-heading css-1xdhyk6"
|
|
91
87
|
id="video-player-with-text-componentWrapper-heading"
|
|
92
88
|
>
|
|
93
89
|
VideoPlayer Heading
|
|
94
90
|
</h2>
|
|
95
91
|
<p
|
|
96
|
-
className="chakra-text css-
|
|
92
|
+
className="chakra-text css-1xdhyk6"
|
|
97
93
|
>
|
|
98
94
|
VideoPlayer description
|
|
99
95
|
</p>
|
|
@@ -109,28 +105,24 @@ exports[`VideoPlayer renders the UI snapshot correctly 3`] = `
|
|
|
109
105
|
/>
|
|
110
106
|
</div>
|
|
111
107
|
<div
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
dangerouslySetInnerHTML={
|
|
119
|
-
Object {
|
|
120
|
-
"__html": "VideoPlayer helper test.",
|
|
121
|
-
}
|
|
108
|
+
aria-atomic={true}
|
|
109
|
+
aria-live="off"
|
|
110
|
+
className="css-1xdhyk6"
|
|
111
|
+
dangerouslySetInnerHTML={
|
|
112
|
+
Object {
|
|
113
|
+
"__html": "VideoPlayer helper test.",
|
|
122
114
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
115
|
+
}
|
|
116
|
+
data-isinvalid={false}
|
|
117
|
+
id="video-player-with-text-componentWrapper-helperText"
|
|
118
|
+
/>
|
|
127
119
|
</div>
|
|
128
120
|
</div>
|
|
129
121
|
`;
|
|
130
122
|
|
|
131
123
|
exports[`VideoPlayer renders the UI snapshot correctly 4`] = `
|
|
132
124
|
<div
|
|
133
|
-
className="css-
|
|
125
|
+
className="css-1xdhyk6"
|
|
134
126
|
data-testid="video-player-component"
|
|
135
127
|
id="video-player-error"
|
|
136
128
|
>
|
|
@@ -143,3 +135,53 @@ exports[`VideoPlayer renders the UI snapshot correctly 4`] = `
|
|
|
143
135
|
/>
|
|
144
136
|
</div>
|
|
145
137
|
`;
|
|
138
|
+
|
|
139
|
+
exports[`VideoPlayer renders the UI snapshot correctly 5`] = `
|
|
140
|
+
<div
|
|
141
|
+
className="css-kle7zy"
|
|
142
|
+
data-testid="video-player-component"
|
|
143
|
+
id="chakra"
|
|
144
|
+
>
|
|
145
|
+
<div
|
|
146
|
+
className="css-1xdhyk6"
|
|
147
|
+
>
|
|
148
|
+
<div
|
|
149
|
+
className="css-0"
|
|
150
|
+
>
|
|
151
|
+
<iframe
|
|
152
|
+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; fullscreen; gyroscope; picture-in-picture"
|
|
153
|
+
allowFullScreen={true}
|
|
154
|
+
className="css-0"
|
|
155
|
+
frameBorder="0"
|
|
156
|
+
src="https://player.vimeo.com/video/474719268?autoplay=0&loop=0"
|
|
157
|
+
title="Vimeo video player"
|
|
158
|
+
/>
|
|
159
|
+
</div>
|
|
160
|
+
</div>
|
|
161
|
+
</div>
|
|
162
|
+
`;
|
|
163
|
+
|
|
164
|
+
exports[`VideoPlayer renders the UI snapshot correctly 6`] = `
|
|
165
|
+
<div
|
|
166
|
+
className="css-1xdhyk6"
|
|
167
|
+
data-testid="props"
|
|
168
|
+
id="props"
|
|
169
|
+
>
|
|
170
|
+
<div
|
|
171
|
+
className="css-1xdhyk6"
|
|
172
|
+
>
|
|
173
|
+
<div
|
|
174
|
+
className="css-0"
|
|
175
|
+
>
|
|
176
|
+
<iframe
|
|
177
|
+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; fullscreen; gyroscope; picture-in-picture"
|
|
178
|
+
allowFullScreen={true}
|
|
179
|
+
className="css-0"
|
|
180
|
+
frameBorder="0"
|
|
181
|
+
src="https://player.vimeo.com/video/474719268?autoplay=0&loop=0"
|
|
182
|
+
title="Vimeo video player"
|
|
183
|
+
/>
|
|
184
|
+
</div>
|
|
185
|
+
</div>
|
|
186
|
+
</div>
|
|
187
|
+
`;
|