@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.
Files changed (337) hide show
  1. package/CHANGELOG.md +131 -1
  2. package/README.md +10 -10
  3. package/dist/components/Accordion/Accordion.d.ts +6 -4
  4. package/dist/components/Accordion/AccordionTypes.d.ts +5 -0
  5. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +4 -4
  6. package/dist/components/Breadcrumbs/BreadcrumbsTypes.d.ts +1 -1
  7. package/dist/components/Button/Button.d.ts +2 -2
  8. package/dist/components/Card/Card.d.ts +22 -29
  9. package/dist/components/Checkbox/Checkbox.d.ts +3 -3
  10. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +9 -6
  11. package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +1 -1
  12. package/dist/components/DatePicker/DatePicker.d.ts +5 -6
  13. package/dist/components/Fieldset/Fieldset.d.ts +5 -6
  14. package/dist/components/Form/Form.d.ts +6 -6
  15. package/dist/components/Grid/GridTypes.d.ts +7 -7
  16. package/dist/components/Grid/SimpleGrid.d.ts +1 -1
  17. package/dist/components/Heading/Heading.d.ts +5 -5
  18. package/dist/components/Heading/HeadingTypes.d.ts +1 -1
  19. package/dist/components/HelperErrorText/HelperErrorText.d.ts +9 -8
  20. package/dist/components/Hero/Hero.d.ts +9 -5
  21. package/dist/components/HorizontalRule/HorizontalRule.d.ts +2 -10
  22. package/dist/components/Icons/Icon.d.ts +2 -1
  23. package/dist/components/Icons/IconTypes.d.ts +1 -0
  24. package/dist/components/Image/Image.d.ts +27 -9
  25. package/dist/components/Image/ImageTypes.d.ts +4 -4
  26. package/dist/components/Label/Label.d.ts +7 -4
  27. package/dist/components/Link/Link.d.ts +1 -1
  28. package/dist/components/List/List.d.ts +11 -11
  29. package/dist/components/List/ListTypes.d.ts +1 -1
  30. package/dist/components/Logo/Logo.d.ts +2 -1
  31. package/dist/components/Logo/LogoSvgs.d.ts +2 -0
  32. package/dist/components/Logo/LogoTypes.d.ts +4 -2
  33. package/dist/components/Notification/Notification.d.ts +7 -7
  34. package/dist/components/Pagination/Pagination.d.ts +2 -2
  35. package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +3 -3
  36. package/dist/components/Radio/Radio.d.ts +5 -7
  37. package/dist/components/RadioGroup/RadioGroup.d.ts +16 -8
  38. package/dist/components/SearchBar/SearchBar.d.ts +4 -4
  39. package/dist/components/Select/Select.d.ts +12 -8
  40. package/dist/components/Select/SelectTypes.d.ts +4 -0
  41. package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +8 -6
  42. package/dist/components/SkeletonLoader/SkeletonLoaderTypes.d.ts +0 -4
  43. package/dist/components/Slider/Slider.d.ts +6 -4
  44. package/dist/components/StatusBadge/StatusBadge.d.ts +5 -1
  45. package/dist/components/StructuredContent/StructuredContent.d.ts +10 -23
  46. package/dist/components/Table/Table.d.ts +1 -1
  47. package/dist/components/Tabs/Tabs.d.ts +7 -6
  48. package/dist/components/Template/Template.d.ts +17 -8
  49. package/dist/components/Text/Text.d.ts +4 -4
  50. package/dist/components/Text/TextTypes.d.ts +1 -1
  51. package/dist/components/TextInput/TextInput.d.ts +7 -7
  52. package/dist/components/Toggle/Toggle.d.ts +8 -10
  53. package/dist/components/Toggle/{ToggleSizes.d.ts → ToggleTypes.d.ts} +1 -1
  54. package/dist/components/VideoPlayer/VideoPlayer.d.ts +2 -1
  55. package/dist/design-system-react-components.cjs.development.js +2075 -1468
  56. package/dist/design-system-react-components.cjs.development.js.map +1 -1
  57. package/dist/design-system-react-components.cjs.production.min.js +1 -1
  58. package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
  59. package/dist/design-system-react-components.esm.js +2086 -1483
  60. package/dist/design-system-react-components.esm.js.map +1 -1
  61. package/dist/helpers/enums.d.ts +4 -0
  62. package/dist/hooks/useCarouselStyles.d.ts +3 -2
  63. package/dist/hooks/useNYPLTheme.d.ts +12 -0
  64. package/dist/index.d.ts +11 -9
  65. package/dist/styles.css +1 -1
  66. package/dist/theme/components/accordion.d.ts +7 -12
  67. package/dist/theme/components/breadcrumb.d.ts +3 -0
  68. package/dist/theme/components/button.d.ts +10 -2
  69. package/dist/theme/components/card.d.ts +44 -24
  70. package/dist/theme/components/checkbox.d.ts +6 -4
  71. package/dist/theme/components/checkboxGroup.d.ts +4 -2
  72. package/dist/theme/components/componentWrapper.d.ts +2 -2
  73. package/dist/theme/components/customTable.d.ts +84 -1
  74. package/dist/theme/components/fieldset.d.ts +4 -14
  75. package/dist/theme/components/global.d.ts +25 -18
  76. package/dist/theme/components/heading.d.ts +53 -0
  77. package/dist/theme/components/helperErrorText.d.ts +1 -0
  78. package/dist/theme/components/hero.d.ts +21 -15
  79. package/dist/theme/components/image.d.ts +1 -1
  80. package/dist/theme/components/label.d.ts +9 -10
  81. package/dist/theme/components/list.d.ts +99 -9
  82. package/dist/theme/components/notification.d.ts +4 -4
  83. package/dist/theme/components/pagination.d.ts +2 -5
  84. package/dist/theme/components/radio.d.ts +7 -4
  85. package/dist/theme/components/radioGroup.d.ts +4 -2
  86. package/dist/theme/components/select.d.ts +37 -5
  87. package/dist/theme/components/skeletonLoader.d.ts +2 -2
  88. package/dist/theme/components/slider.d.ts +6 -3
  89. package/dist/theme/components/structuredContent.d.ts +197 -0
  90. package/dist/theme/components/textInput.d.ts +18 -6
  91. package/dist/theme/components/toggle.d.ts +20 -5
  92. package/dist/theme/foundations/global.d.ts +2 -0
  93. package/dist/theme/foundations/radii.d.ts +1 -0
  94. package/dist/theme/foundations/spacing.d.ts +46 -43
  95. package/package.json +5 -6
  96. package/src/components/AccessibilityGuide/SkipNavigation.stories.mdx +34 -0
  97. package/src/components/Accordion/Accordion.stories.mdx +150 -66
  98. package/src/components/Accordion/Accordion.test.tsx +65 -17
  99. package/src/components/Accordion/Accordion.tsx +61 -27
  100. package/src/components/Accordion/AccordionTypes.tsx +5 -0
  101. package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +505 -14
  102. package/src/components/Autosuggest/Autosuggest.stories.mdx +4 -3
  103. package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +37 -19
  104. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +57 -36
  105. package/src/components/Breadcrumbs/Breadcrumbs.tsx +14 -13
  106. package/src/components/Breadcrumbs/BreadcrumbsTypes.tsx +1 -1
  107. package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +211 -12
  108. package/src/components/Button/Button.stories.mdx +87 -23
  109. package/src/components/Button/Button.test.tsx +25 -0
  110. package/src/components/Button/Button.tsx +18 -7
  111. package/src/components/Button/__snapshots__/Button.test.tsx.snap +27 -7
  112. package/src/components/Card/Card.stories.mdx +493 -329
  113. package/src/components/Card/Card.test.tsx +138 -18
  114. package/src/components/Card/Card.tsx +151 -85
  115. package/src/components/Card/__snapshots__/Card.test.tsx.snap +221 -101
  116. package/src/components/Chakra/Center.stories.mdx +2 -2
  117. package/src/components/Chakra/Grid.stories.mdx +4 -4
  118. package/src/components/Checkbox/Checkbox.stories.mdx +73 -9
  119. package/src/components/Checkbox/Checkbox.test.tsx +89 -10
  120. package/src/components/Checkbox/Checkbox.tsx +26 -16
  121. package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +209 -6
  122. package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +135 -23
  123. package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +216 -90
  124. package/src/components/CheckboxGroup/CheckboxGroup.tsx +39 -26
  125. package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +493 -89
  126. package/src/components/ComponentWrapper/ComponentWrapper.test.tsx +12 -0
  127. package/src/components/ComponentWrapper/ComponentWrapper.tsx +39 -41
  128. package/src/components/ComponentWrapper/__snapshots__/ComponentWrapper.test.tsx.snap +47 -34
  129. package/src/components/DatePicker/DatePicker.stories.mdx +63 -27
  130. package/src/components/DatePicker/DatePicker.test.tsx +94 -15
  131. package/src/components/DatePicker/DatePicker.tsx +67 -58
  132. package/src/components/DatePicker/_DatePicker.scss +71 -13
  133. package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +250 -206
  134. package/src/components/Fieldset/Fieldset.stories.mdx +33 -3
  135. package/src/components/Fieldset/Fieldset.test.tsx +58 -28
  136. package/src/components/Fieldset/Fieldset.tsx +35 -30
  137. package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +40 -19
  138. package/src/components/Form/Form.stories.mdx +118 -47
  139. package/src/components/Form/Form.test.tsx +59 -16
  140. package/src/components/Form/Form.tsx +89 -65
  141. package/src/components/Form/__snapshots__/Form.test.tsx.snap +83 -5
  142. package/src/components/Grid/GridTypes.tsx +7 -7
  143. package/src/components/Grid/SimpleGrid.stories.mdx +87 -41
  144. package/src/components/Grid/SimpleGrid.test.tsx +24 -9
  145. package/src/components/Grid/SimpleGrid.tsx +29 -20
  146. package/src/components/Grid/__snapshots__/SimpleGrid.test.tsx.snap +16 -1
  147. package/src/components/Heading/Heading.stories.mdx +56 -25
  148. package/src/components/Heading/Heading.test.tsx +17 -7
  149. package/src/components/Heading/Heading.tsx +60 -58
  150. package/src/components/Heading/HeadingTypes.tsx +1 -1
  151. package/src/components/Heading/__snapshots__/Heading.test.tsx.snap +27 -8
  152. package/src/components/HelperErrorText/HelperErrorText.stories.mdx +64 -42
  153. package/src/components/HelperErrorText/HelperErrorText.test.tsx +15 -0
  154. package/src/components/HelperErrorText/HelperErrorText.tsx +40 -35
  155. package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +35 -4
  156. package/src/components/Hero/Hero.stories.mdx +143 -113
  157. package/src/components/Hero/Hero.test.tsx +146 -58
  158. package/src/components/Hero/Hero.tsx +144 -112
  159. package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +89 -17
  160. package/src/components/HorizontalRule/HorizontalRule.stories.mdx +26 -4
  161. package/src/components/HorizontalRule/HorizontalRule.test.tsx +9 -17
  162. package/src/components/HorizontalRule/HorizontalRule.tsx +9 -25
  163. package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +18 -5
  164. package/src/components/Icons/Icon.stories.mdx +80 -23
  165. package/src/components/Icons/Icon.test.tsx +51 -2
  166. package/src/components/Icons/Icon.tsx +93 -71
  167. package/src/components/Icons/IconTypes.tsx +1 -0
  168. package/src/components/Icons/__snapshots__/Icon.test.tsx.snap +129 -0
  169. package/src/components/Image/Image.stories.mdx +160 -71
  170. package/src/components/Image/Image.test.tsx +40 -48
  171. package/src/components/Image/Image.tsx +80 -48
  172. package/src/components/Image/ImageTypes.ts +4 -4
  173. package/src/components/Image/__snapshots__/Image.test.tsx.snap +84 -21
  174. package/src/components/Label/Label.stories.mdx +42 -20
  175. package/src/components/Label/Label.test.tsx +42 -17
  176. package/src/components/Label/Label.tsx +22 -13
  177. package/src/components/Label/__snapshots__/Label.test.tsx.snap +19 -15
  178. package/src/components/Link/Link.stories.mdx +25 -1
  179. package/src/components/Link/Link.test.tsx +21 -0
  180. package/src/components/Link/Link.tsx +16 -9
  181. package/src/components/Link/__snapshots__/Link.test.tsx.snap +37 -11
  182. package/src/components/List/List.stories.mdx +75 -40
  183. package/src/components/List/List.test.tsx +73 -22
  184. package/src/components/List/List.tsx +44 -28
  185. package/src/components/List/ListTypes.tsx +1 -1
  186. package/src/components/List/__snapshots__/List.test.tsx.snap +110 -8
  187. package/src/components/Logo/Logo.stories.mdx +40 -16
  188. package/src/components/Logo/Logo.test.tsx +29 -2
  189. package/src/components/Logo/Logo.tsx +28 -11
  190. package/src/components/Logo/LogoSvgs.tsx +4 -0
  191. package/src/components/Logo/LogoTypes.tsx +3 -1
  192. package/src/components/Logo/__snapshots__/Logo.test.tsx.snap +73 -2
  193. package/src/components/Modal/Modal.stories.mdx +13 -0
  194. package/src/components/Notification/Notification.stories.mdx +29 -5
  195. package/src/components/Notification/Notification.test.tsx +23 -0
  196. package/src/components/Notification/Notification.tsx +53 -51
  197. package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +158 -29
  198. package/src/components/Pagination/Pagination.stories.mdx +27 -6
  199. package/src/components/Pagination/Pagination.test.tsx +55 -2
  200. package/src/components/Pagination/Pagination.tsx +12 -9
  201. package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +244 -27
  202. package/src/components/Placeholder/Placeholder.tsx +3 -1
  203. package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +76 -10
  204. package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +87 -13
  205. package/src/components/ProgressIndicator/ProgressIndicator.tsx +20 -10
  206. package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +101 -14
  207. package/src/components/Radio/Radio.stories.mdx +75 -11
  208. package/src/components/Radio/Radio.test.tsx +83 -9
  209. package/src/components/Radio/Radio.tsx +70 -62
  210. package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +163 -5
  211. package/src/components/RadioGroup/RadioGroup.stories.mdx +293 -94
  212. package/src/components/RadioGroup/RadioGroup.test.tsx +193 -68
  213. package/src/components/RadioGroup/RadioGroup.tsx +110 -101
  214. package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +1258 -902
  215. package/src/components/SearchBar/SearchBar.stories.mdx +101 -36
  216. package/src/components/SearchBar/{SearchBar.Test.tsx → SearchBar.test.tsx} +46 -4
  217. package/src/components/SearchBar/SearchBar.tsx +20 -11
  218. package/src/components/SearchBar/__snapshots__/SearchBar.test.tsx.snap +1039 -0
  219. package/src/components/Select/Select.stories.mdx +151 -62
  220. package/src/components/Select/Select.test.tsx +56 -44
  221. package/src/components/Select/Select.tsx +125 -104
  222. package/src/components/Select/SelectTypes.tsx +5 -0
  223. package/src/components/Select/__snapshots__/Select.test.tsx.snap +749 -409
  224. package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +53 -23
  225. package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +14 -8
  226. package/src/components/SkeletonLoader/SkeletonLoader.tsx +80 -78
  227. package/src/components/SkeletonLoader/SkeletonLoaderTypes.tsx +0 -5
  228. package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +169 -10
  229. package/src/components/Slider/Slider.stories.mdx +123 -41
  230. package/src/components/Slider/Slider.test.tsx +65 -17
  231. package/src/components/Slider/Slider.tsx +30 -23
  232. package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +403 -226
  233. package/src/components/StatusBadge/StatusBadge.stories.mdx +19 -1
  234. package/src/components/StatusBadge/StatusBadge.test.tsx +19 -1
  235. package/src/components/StatusBadge/StatusBadge.tsx +25 -20
  236. package/src/components/StatusBadge/__snapshots__/StatusBadge.test.tsx.snap +22 -3
  237. package/src/components/StructuredContent/StructuredContent.stories.mdx +229 -61
  238. package/src/components/StructuredContent/StructuredContent.test.tsx +162 -101
  239. package/src/components/StructuredContent/StructuredContent.tsx +98 -103
  240. package/src/components/StructuredContent/__snapshots__/StructuredContent.test.tsx.snap +102 -17
  241. package/src/components/StyleGuide/Bidirectionality.stories.mdx +5 -5
  242. package/src/components/StyleGuide/Breakpoints.stories.mdx +6 -6
  243. package/src/components/StyleGuide/Buttons.stories.mdx +2 -12
  244. package/src/components/StyleGuide/ColorCard.tsx +4 -4
  245. package/src/components/StyleGuide/Colors.stories.mdx +1 -2
  246. package/src/components/StyleGuide/DesignTokens.stories.mdx +56 -26
  247. package/src/components/StyleGuide/Forms.stories.mdx +27 -12
  248. package/src/components/StyleGuide/Iconography.stories.mdx +2 -12
  249. package/src/components/StyleGuide/Spacing.stories.mdx +80 -41
  250. package/src/components/StyleGuide/Typography.stories.mdx +47 -33
  251. package/src/components/Table/Table.stories.mdx +38 -11
  252. package/src/components/Table/Table.test.tsx +16 -1
  253. package/src/components/Table/Table.tsx +10 -8
  254. package/src/components/Table/__snapshots__/Table.test.tsx.snap +408 -5
  255. package/src/components/Tabs/Tabs.stories.mdx +59 -10
  256. package/src/components/Tabs/Tabs.test.tsx +29 -11
  257. package/src/components/Tabs/Tabs.tsx +28 -21
  258. package/src/components/Tabs/__snapshots__/Tabs.test.tsx.snap +394 -5
  259. package/src/components/Template/Template.stories.mdx +73 -32
  260. package/src/components/Template/Template.test.tsx +68 -5
  261. package/src/components/Template/Template.tsx +89 -71
  262. package/src/components/Template/__snapshots__/Template.test.tsx.snap +195 -22
  263. package/src/components/Text/Text.stories.mdx +32 -15
  264. package/src/components/Text/Text.test.tsx +14 -11
  265. package/src/components/Text/Text.tsx +13 -16
  266. package/src/components/Text/TextTypes.tsx +1 -1
  267. package/src/components/Text/__snapshots__/Text.test.tsx.snap +21 -4
  268. package/src/components/TextInput/TextInput.stories.mdx +73 -27
  269. package/src/components/TextInput/TextInput.test.tsx +65 -50
  270. package/src/components/TextInput/TextInput.tsx +123 -115
  271. package/src/components/TextInput/__snapshots__/TextInput.test.tsx.snap +96 -73
  272. package/src/components/Toggle/Toggle.stories.mdx +74 -26
  273. package/src/components/Toggle/Toggle.test.tsx +41 -10
  274. package/src/components/Toggle/Toggle.tsx +29 -26
  275. package/src/components/Toggle/{ToggleSizes.tsx → ToggleTypes.tsx} +1 -1
  276. package/src/components/Toggle/__snapshots__/Toggle.test.tsx.snap +191 -4
  277. package/src/components/VideoPlayer/VideoPlayer.stories.mdx +52 -4
  278. package/src/components/VideoPlayer/VideoPlayer.test.tsx +41 -6
  279. package/src/components/VideoPlayer/VideoPlayer.tsx +134 -120
  280. package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +81 -39
  281. package/src/docs/Chakra.stories.mdx +50 -9
  282. package/src/docs/Welcome.stories.mdx +168 -0
  283. package/src/{components/Card/CardTypes.tsx → helpers/enums.ts} +2 -2
  284. package/src/hooks/tests/useNYPLTheme.test.tsx +1 -1
  285. package/src/hooks/useCarouselStyles.stories.mdx +30 -0
  286. package/src/hooks/useCarouselStyles.ts +3 -2
  287. package/src/hooks/useNYPLTheme.stories.mdx +101 -0
  288. package/src/hooks/useNYPLTheme.ts +31 -7
  289. package/src/hooks/useWindowSize.stories.mdx +23 -0
  290. package/src/index.ts +11 -15
  291. package/src/styles/base/_place-holder.scss +1 -1
  292. package/src/theme/components/accordion.ts +7 -12
  293. package/src/theme/components/breadcrumb.ts +3 -0
  294. package/src/theme/components/button.ts +15 -7
  295. package/src/theme/components/card.ts +56 -36
  296. package/src/theme/components/checkbox.ts +10 -8
  297. package/src/theme/components/checkboxGroup.ts +4 -2
  298. package/src/theme/components/componentWrapper.ts +2 -2
  299. package/src/theme/components/customTable.ts +39 -31
  300. package/src/theme/components/fieldset.ts +1 -2
  301. package/src/theme/components/global.ts +29 -23
  302. package/src/theme/components/heading.ts +1 -1
  303. package/src/theme/components/helperErrorText.ts +1 -0
  304. package/src/theme/components/hero.ts +14 -16
  305. package/src/theme/components/icon.ts +5 -2
  306. package/src/theme/components/image.ts +1 -1
  307. package/src/theme/components/label.ts +4 -3
  308. package/src/theme/components/list.ts +73 -66
  309. package/src/theme/components/notification.ts +7 -7
  310. package/src/theme/components/pagination.ts +2 -5
  311. package/src/theme/components/progressIndicator.ts +3 -3
  312. package/src/theme/components/radio.ts +9 -9
  313. package/src/theme/components/radioGroup.ts +4 -2
  314. package/src/theme/components/select.ts +35 -16
  315. package/src/theme/components/skeletonLoader.ts +3 -3
  316. package/src/theme/components/slider.ts +8 -7
  317. package/src/theme/components/statusBadge.ts +2 -2
  318. package/src/theme/components/structuredContent.ts +66 -1
  319. package/src/theme/components/tabs.ts +2 -2
  320. package/src/theme/components/template.ts +9 -9
  321. package/src/theme/components/textInput.ts +13 -12
  322. package/src/theme/components/toggle.ts +43 -13
  323. package/src/theme/components/videoPlayer.ts +1 -1
  324. package/src/theme/foundations/colors.ts +1 -1
  325. package/src/theme/foundations/radii.ts +1 -0
  326. package/src/theme/foundations/spacing.ts +70 -22
  327. package/src/theme/foundations/typography.ts +2 -2
  328. package/src/utils/componentCategories.ts +28 -21
  329. package/dist/components/Card/CardTypes.d.ts +0 -4
  330. package/dist/components/CheckboxGroup/CheckboxGroupLayoutTypes.d.ts +0 -4
  331. package/dist/components/RadioGroup/RadioGroupLayoutTypes.d.ts +0 -4
  332. package/dist/components/SearchBar/SearchBar.Test.d.ts +0 -1
  333. package/dist/helpers/generateUUID.d.ts +0 -1
  334. package/src/components/CheckboxGroup/CheckboxGroupLayoutTypes.tsx +0 -4
  335. package/src/components/RadioGroup/RadioGroupLayoutTypes.tsx +0 -4
  336. package/src/docs/Intro.stories.mdx +0 -53
  337. 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.25.9` |
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 on a page. The component requires the `embedCode` prop or both the `videoType` and `videoId` props. The component will not function properly if you try to set all of them.
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 enter the full video URL as the `videoId` value.
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 the video rendering. Ultimately, the `aspectRatio` prop should be set to match the aspect ratio of the video that is being rendered. The default aspect ratio is `16:9`.
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 requires either the `embedCode` prop or both the `videoType` and `videoId` props."
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
- "VideoPlayer also requires the `videoType` prop. You have only set the `videoId` prop."
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
- "VideoPlayer also requires the `videoId` prop. You have only set the `videoType` prop."
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 can accept the `embedCode` prop or the `videoType` and `videoId` props. You have set both."
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 can accept the `embedCode` prop or the `videoType` and `videoId` props. You have set both."
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 can accept the `embedCode` prop or the `videoType` and `videoId` props. You have set both."
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 default function VideoPlayer(
44
- props: React.PropsWithChildren<VideoPlayerProps>
45
- ) {
46
- const {
47
- aspectRatio,
48
- className,
49
- descriptionText,
50
- embedCode,
51
- headingText,
52
- helperText,
53
- id = generateUUID(),
54
- iframeTitle,
55
- showHelperInvalidText = true,
56
- videoId,
57
- videoType,
58
- } = props;
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
- const iframeTitleFinal =
61
- videoType === VideoPlayerTypes.Vimeo
62
- ? iframeTitle || "Vimeo video player"
63
- : iframeTitle || "YouTube video player";
59
+ const iframeTitleFinal =
60
+ videoType === VideoPlayerTypes.Vimeo
61
+ ? iframeTitle || "Vimeo video player"
62
+ : iframeTitle || "YouTube video player";
64
63
 
65
- const videoSrc =
66
- videoType === VideoPlayerTypes.Vimeo
67
- ? `https://player.vimeo.com/video/${videoId}?autoplay=0&loop=0`
68
- : `https://www.youtube.com/embed/${videoId}?disablekb=1&autoplay=0&fs=1&modestbranding=0`;
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
- const iFrameTitleEmbedCode = iframeTitle ? `${iframeTitle}` : `Video player`;
69
+ const iFrameTitleEmbedCode = iframeTitle
70
+ ? `${iframeTitle}`
71
+ : `Video player`;
71
72
 
72
- const embedCodeFinal =
73
- embedCode && embedCode.includes("<iframe") && !embedCode.includes("title=")
74
- ? embedCode.replace(
75
- `<iframe `,
76
- `<iframe title="${iFrameTitleEmbedCode}" `
77
- )
78
- : embedCode;
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
- const errorMessage =
81
- "<strong>Error:</strong> This video player has not been configured properly. Please contact the site administrator.";
83
+ const errorMessage =
84
+ "<strong>Error:</strong> This video player has not been configured " +
85
+ "properly. Please contact the site administrator.";
82
86
 
83
- let isInvalid = false;
84
- if (!embedCodeFinal && !videoType && !videoId) {
85
- console.warn(
86
- "VideoPlayer requires either the `embedCode` prop or both the `videoType` and `videoId` props."
87
- );
88
- isInvalid = true;
89
- } else if (!embedCodeFinal && !videoType) {
90
- console.warn(
91
- "VideoPlayer also requires the `videoType` prop. You have only set the `videoId` prop."
92
- );
93
- isInvalid = true;
94
- } else if (!embedCodeFinal && !videoId) {
95
- console.warn(
96
- "VideoPlayer also requires the `videoId` prop. You have only set the `videoType` prop."
97
- );
98
- isInvalid = true;
99
- } else if (embedCodeFinal && (videoType || videoId)) {
100
- console.warn(
101
- "VideoPlayer can accept the `embedCode` prop or the `videoType` and `videoId` props. You have set both."
102
- );
103
- isInvalid = true;
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
- if (
107
- videoId &&
108
- (videoId.includes("://") ||
109
- videoId.includes("http") ||
110
- videoId.includes(".") ||
111
- videoId.includes("youtube") ||
112
- videoId.includes("vimeo"))
113
- ) {
114
- console.warn("The VideoPlayer `videoId` prop is not configured properly.");
115
- isInvalid = true;
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
- if (
119
- embedCodeFinal &&
120
- ((!embedCodeFinal.includes("vimeo.com") &&
121
- !embedCodeFinal.includes("youtube.com")) ||
122
- !embedCodeFinal.includes("<iframe") ||
123
- !embedCodeFinal.includes("</iframe"))
124
- ) {
125
- console.warn(
126
- "The VideoPlayer `embedCode` prop is not configured properly."
127
- );
128
- isInvalid = true;
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
- const variant = isInvalid
132
- ? "invalid"
133
- : getVariant(aspectRatio, VideoPlayerAspectRatios);
134
- const styles = useMultiStyleConfig("VideoPlayer", { variant });
141
+ const variant = isInvalid
142
+ ? "invalid"
143
+ : getVariant(aspectRatio, VideoPlayerAspectRatios);
144
+ const styles = useMultiStyleConfig("VideoPlayer", { variant });
135
145
 
136
- const embedElement = embedCodeFinal ? (
137
- <span dangerouslySetInnerHTML={{ __html: embedCodeFinal }} />
138
- ) : (
139
- <Box
140
- as="iframe"
141
- src={videoSrc}
142
- title={iframeTitleFinal}
143
- frameBorder="0"
144
- allow="accelerometer; autoplay; clipboard-write; encrypted-media; fullscreen; gyroscope; picture-in-picture"
145
- allowFullScreen
146
- __css={styles.iframe}
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
- return (
151
- <Box
152
- className={className}
153
- data-testid="video-player-component"
154
- id={id}
155
- __css={styles}
156
- >
157
- {isInvalid ? (
158
- <span dangerouslySetInnerHTML={{ __html: errorMessage }} />
159
- ) : (
160
- <ComponentWrapper
161
- headingText={headingText ? headingText : null}
162
- descriptionText={descriptionText ? descriptionText : null}
163
- helperText={helperText && showHelperInvalidText ? helperText : null}
164
- id={`${id}-componentWrapper`}
165
- >
166
- <Box __css={styles.inside}>{embedElement}</Box>
167
- </ComponentWrapper>
168
- )}
169
- </Box>
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-0"
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-0"
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-0"
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-0"
35
+ className="css-1xdhyk6"
36
36
  >
37
37
  <h2
38
- className="chakra-heading css-0"
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-0"
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
- className="css-0"
62
- >
63
- <div
64
- aria-atomic={true}
65
- aria-live="off"
66
- className=" css-0"
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
- data-isinvalid={false}
73
- id="video-player-with-text-componentWrapper-helperText"
74
- />
75
- </div>
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-0"
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-0"
83
+ className="css-1xdhyk6"
88
84
  >
89
85
  <h2
90
- className="chakra-heading css-0"
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-0"
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
- className="css-0"
113
- >
114
- <div
115
- aria-atomic={true}
116
- aria-live="off"
117
- className=" css-0"
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
- data-isinvalid={false}
124
- id="video-player-with-text-componentWrapper-helperText"
125
- />
126
- </div>
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-0"
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
+ `;