@nypl/design-system-react-components 0.25.0 → 0.25.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (392) hide show
  1. package/CHANGELOG.md +142 -1
  2. package/README.md +98 -50
  3. package/dist/components/Accordion/Accordion.d.ts +14 -14
  4. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +15 -14
  5. package/dist/components/Breadcrumbs/BreadcrumbsTypes.d.ts +6 -0
  6. package/dist/components/Button/Button.d.ts +13 -8
  7. package/dist/components/Button/ButtonTypes.d.ts +3 -1
  8. package/dist/components/Card/Card.d.ts +36 -52
  9. package/dist/components/Card/CardTypes.d.ts +2 -17
  10. package/dist/components/Checkbox/Checkbox.d.ts +17 -13
  11. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +45 -0
  12. package/dist/components/CheckboxGroup/CheckboxGroupLayoutTypes.d.ts +4 -0
  13. package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +15 -0
  14. package/dist/components/DatePicker/DatePicker.d.ts +37 -35
  15. package/dist/components/Fieldset/Fieldset.d.ts +25 -0
  16. package/dist/components/Form/Form.d.ts +13 -8
  17. package/dist/components/Form/FormTypes.d.ts +2 -8
  18. package/dist/components/Grid/GridTypes.d.ts +9 -0
  19. package/dist/components/Grid/SimpleGrid.d.ts +14 -0
  20. package/dist/components/Heading/Heading.d.ts +4 -4
  21. package/dist/components/HelperErrorText/HelperErrorText.d.ts +17 -14
  22. package/dist/components/Hero/Hero.d.ts +19 -14
  23. package/dist/components/Hero/HeroTypes.d.ts +10 -5
  24. package/dist/components/HorizontalRule/HorizontalRule.d.ts +10 -9
  25. package/dist/components/Icons/Icon.d.ts +19 -14
  26. package/dist/components/Icons/IconSvgs.d.ts +11 -0
  27. package/dist/components/Icons/IconTypes.d.ts +89 -64
  28. package/dist/components/Image/Image.d.ts +19 -9
  29. package/dist/components/Image/ImageTypes.d.ts +20 -0
  30. package/dist/components/Label/Label.d.ts +5 -17
  31. package/dist/components/Link/Link.d.ts +12 -12
  32. package/dist/components/List/List.d.ts +19 -14
  33. package/dist/components/Notification/Notification.d.ts +37 -16
  34. package/dist/components/Pagination/Pagination.d.ts +16 -13
  35. package/dist/components/Pagination/Pagination.stories.d.ts +2 -0
  36. package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +29 -0
  37. package/dist/components/ProgressIndicator/ProgressIndicatorTypes.d.ts +8 -0
  38. package/dist/components/Radio/Radio.d.ts +2 -0
  39. package/dist/components/RadioGroup/RadioGroup.d.ts +4 -2
  40. package/dist/components/SearchBar/SearchBar.d.ts +45 -27
  41. package/dist/components/Select/Select.d.ts +34 -35
  42. package/dist/components/Select/SelectTypes.d.ts +4 -0
  43. package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +18 -14
  44. package/dist/components/SkeletonLoader/SkeletonLoaderTypes.d.ts +2 -2
  45. package/dist/components/Slider/Slider.d.ts +57 -0
  46. package/dist/components/StatusBadge/StatusBadge.d.ts +8 -6
  47. package/dist/components/StatusBadge/StatusBadgeTypes.d.ts +5 -0
  48. package/dist/components/StyleGuide/ColorCard.d.ts +12 -0
  49. package/dist/components/Tabs/Tabs.d.ts +1 -1
  50. package/dist/components/Template/Template.d.ts +91 -0
  51. package/dist/components/Text/Text.d.ts +16 -0
  52. package/dist/components/Text/TextTypes.d.ts +6 -0
  53. package/dist/components/TextInput/TextInput.d.ts +44 -31
  54. package/dist/components/TextInput/TextInputTypes.d.ts +5 -0
  55. package/dist/components/VideoPlayer/VideoPlayer.d.ts +6 -8
  56. package/dist/components/VideoPlayer/VideoPlayerTypes.d.ts +2 -2
  57. package/dist/design-system-react-components.cjs.development.js +6473 -2630
  58. package/dist/design-system-react-components.cjs.development.js.map +1 -1
  59. package/dist/design-system-react-components.cjs.production.min.js +1 -1
  60. package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
  61. package/dist/design-system-react-components.esm.js +6463 -2631
  62. package/dist/design-system-react-components.esm.js.map +1 -1
  63. package/dist/hooks/tests/useCarouselStyles.test.d.ts +1 -0
  64. package/dist/hooks/useCarouselStyles.d.ts +16 -0
  65. package/dist/hooks/useNYPLTheme.d.ts +54 -0
  66. package/dist/hooks/useWindowSize.d.ts +10 -0
  67. package/dist/index.d.ts +19 -7
  68. package/dist/resources.scss +180 -170
  69. package/dist/styles.css +1 -1
  70. package/dist/theme/components/accordion.d.ts +25 -0
  71. package/dist/theme/components/breadcrumb.d.ts +90 -0
  72. package/dist/theme/components/button.d.ts +39 -15
  73. package/dist/theme/components/card.d.ts +168 -0
  74. package/dist/theme/components/checkbox.d.ts +12 -8
  75. package/dist/theme/components/checkboxGroup.d.ts +12 -0
  76. package/dist/theme/components/componentWrapper.d.ts +11 -0
  77. package/dist/theme/components/datePicker.d.ts +16 -0
  78. package/dist/theme/components/fieldset.d.ts +27 -0
  79. package/dist/theme/components/global.d.ts +65 -0
  80. package/dist/theme/components/globalMixins.d.ts +23 -0
  81. package/dist/theme/components/heading.d.ts +55 -20
  82. package/dist/theme/components/helperErrorText.d.ts +10 -0
  83. package/dist/theme/components/hero.d.ts +493 -0
  84. package/dist/theme/components/horizontalRule.d.ts +14 -0
  85. package/dist/theme/components/icon.d.ts +13 -0
  86. package/dist/theme/components/image.d.ts +31 -0
  87. package/dist/theme/components/label.d.ts +18 -0
  88. package/dist/theme/components/link.d.ts +49 -0
  89. package/dist/theme/components/list.d.ts +89 -0
  90. package/dist/theme/components/notification.d.ts +75 -0
  91. package/dist/theme/components/pagination.d.ts +19 -0
  92. package/dist/theme/components/progressIndicator.d.ts +50 -0
  93. package/dist/theme/components/radio.d.ts +8 -7
  94. package/dist/theme/components/radioGroup.d.ts +12 -0
  95. package/dist/theme/components/searchBar.d.ts +20 -0
  96. package/dist/theme/components/select.d.ts +67 -0
  97. package/dist/theme/components/skeletonLoader.d.ts +98 -0
  98. package/dist/theme/components/slider.d.ts +51 -0
  99. package/dist/theme/components/statusBadge.d.ts +25 -0
  100. package/dist/theme/components/tabs.d.ts +63 -12
  101. package/dist/theme/components/template.d.ts +105 -0
  102. package/dist/theme/components/text.d.ts +20 -0
  103. package/dist/theme/components/textInput.d.ts +112 -0
  104. package/dist/theme/components/videoPlayer.d.ts +40 -0
  105. package/dist/theme/foundations/breakpoints.d.ts +8 -8
  106. package/dist/theme/foundations/global.d.ts +8 -0
  107. package/dist/theme/foundations/radii.d.ts +5 -0
  108. package/dist/theme/foundations/shadows.d.ts +4 -0
  109. package/dist/theme/foundations/spacing.d.ts +16 -16
  110. package/dist/utils/utils.d.ts +6 -0
  111. package/package.json +72 -82
  112. package/src/__tests__/setup.ts +2 -2
  113. package/src/components/Accordion/Accordion.stories.mdx +223 -34
  114. package/src/components/Accordion/Accordion.test.tsx +135 -19
  115. package/src/components/Accordion/Accordion.tsx +81 -56
  116. package/src/components/Autosuggest/Autosuggest.stories.mdx +4 -4
  117. package/src/components/Autosuggest/Autosuggest.stories.tsx +3 -2
  118. package/src/components/Autosuggest/_Autosuggest.scss +5 -5
  119. package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +48 -50
  120. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +54 -25
  121. package/src/components/Breadcrumbs/Breadcrumbs.tsx +75 -73
  122. package/src/components/Breadcrumbs/BreadcrumbsTypes.tsx +6 -0
  123. package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +298 -0
  124. package/src/components/Button/Button.stories.mdx +45 -36
  125. package/src/components/Button/Button.test.tsx +37 -11
  126. package/src/components/Button/Button.tsx +22 -34
  127. package/src/components/Button/ButtonTypes.tsx +2 -0
  128. package/src/components/Button/__snapshots__/Button.test.tsx.snap +50 -8
  129. package/src/components/Card/Card.stories.mdx +314 -273
  130. package/src/components/Card/Card.test.tsx +157 -91
  131. package/src/components/Card/Card.tsx +195 -145
  132. package/src/components/Card/CardTypes.tsx +2 -19
  133. package/src/components/Card/__snapshots__/Card.test.tsx.snap +410 -0
  134. package/src/components/CardEdition/CardEdition.stories.tsx +26 -53
  135. package/src/components/CardEdition/CardEdition.test.tsx +23 -31
  136. package/src/components/CardEdition/_CardEdition.scss +22 -23
  137. package/src/components/Chakra/Box.stories.mdx +15 -16
  138. package/src/components/Chakra/Center.stories.mdx +56 -24
  139. package/src/components/Chakra/Grid.stories.mdx +92 -0
  140. package/src/components/Chakra/Stack.stories.mdx +38 -21
  141. package/src/components/Checkbox/Checkbox.stories.mdx +33 -11
  142. package/src/components/Checkbox/Checkbox.test.tsx +47 -2
  143. package/src/components/Checkbox/Checkbox.tsx +44 -41
  144. package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +92 -7
  145. package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +329 -0
  146. package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +372 -0
  147. package/src/components/CheckboxGroup/CheckboxGroup.tsx +152 -0
  148. package/src/components/CheckboxGroup/CheckboxGroupLayoutTypes.tsx +4 -0
  149. package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +1326 -0
  150. package/src/components/ComponentWrapper/ComponentWrapper.tsx +63 -0
  151. package/src/components/DatePicker/DatePicker.stories.mdx +163 -62
  152. package/src/components/DatePicker/DatePicker.test.tsx +264 -64
  153. package/src/components/DatePicker/DatePicker.tsx +165 -134
  154. package/src/components/DatePicker/_DatePicker.scss +33 -66
  155. package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +818 -0
  156. package/src/components/Fieldset/Fieldset.stories.mdx +55 -0
  157. package/src/components/Fieldset/Fieldset.test.tsx +125 -0
  158. package/src/components/Fieldset/Fieldset.tsx +52 -0
  159. package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +68 -0
  160. package/src/components/Form/Form.stories.mdx +70 -27
  161. package/src/components/Form/Form.test.tsx +58 -45
  162. package/src/components/Form/Form.tsx +50 -21
  163. package/src/components/Form/FormTypes.tsx +3 -8
  164. package/src/components/Form/__snapshots__/Form.test.tsx.snap +24 -14
  165. package/src/components/Grid/GridTypes.tsx +9 -0
  166. package/src/components/Grid/SimpleGrid.stories.mdx +268 -0
  167. package/src/components/Grid/SimpleGrid.test.tsx +66 -0
  168. package/src/components/Grid/SimpleGrid.tsx +37 -0
  169. package/src/components/Grid/__snapshots__/SimpleGrid.test.tsx.snap +8 -0
  170. package/src/components/Heading/Heading.stories.mdx +3 -3
  171. package/src/components/Heading/Heading.tsx +12 -6
  172. package/src/components/HelperErrorText/HelperErrorText.stories.mdx +124 -0
  173. package/src/components/HelperErrorText/HelperErrorText.test.tsx +39 -44
  174. package/src/components/HelperErrorText/HelperErrorText.tsx +37 -39
  175. package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +25 -0
  176. package/src/components/Hero/Hero.stories.mdx +198 -121
  177. package/src/components/Hero/Hero.test.tsx +537 -107
  178. package/src/components/Hero/Hero.tsx +79 -92
  179. package/src/components/Hero/HeroTypes.tsx +18 -5
  180. package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +307 -0
  181. package/src/components/HorizontalRule/HorizontalRule.stories.mdx +8 -6
  182. package/src/components/HorizontalRule/HorizontalRule.test.tsx +33 -28
  183. package/src/components/HorizontalRule/HorizontalRule.tsx +27 -29
  184. package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +27 -9
  185. package/src/components/Icons/Icon.stories.mdx +94 -77
  186. package/src/components/Icons/Icon.test.tsx +48 -22
  187. package/src/components/Icons/Icon.tsx +78 -61
  188. package/src/components/Icons/IconSvgs.tsx +22 -0
  189. package/src/components/Icons/IconTypes.tsx +91 -64
  190. package/src/components/Image/Image.stories.mdx +220 -0
  191. package/src/components/Image/Image.test.tsx +131 -29
  192. package/src/components/Image/Image.tsx +84 -56
  193. package/src/components/Image/ImageTypes.ts +22 -0
  194. package/src/components/Image/__snapshots__/Image.test.tsx.snap +190 -0
  195. package/src/components/Input/Input.stories.tsx +23 -67
  196. package/src/components/Input/Input.test.tsx +4 -4
  197. package/src/components/Input/_Input.scss +23 -14
  198. package/src/components/Label/Label.stories.mdx +28 -7
  199. package/src/components/Label/Label.test.tsx +43 -12
  200. package/src/components/Label/Label.tsx +21 -34
  201. package/src/components/Label/__snapshots__/Label.test.tsx.snap +41 -0
  202. package/src/components/Link/Link.stories.mdx +41 -41
  203. package/src/components/Link/Link.test.tsx +33 -44
  204. package/src/components/Link/Link.tsx +117 -100
  205. package/src/components/List/List.stories.mdx +124 -51
  206. package/src/components/List/List.test.tsx +142 -63
  207. package/src/components/List/List.tsx +89 -93
  208. package/src/components/List/__snapshots__/List.test.tsx.snap +109 -0
  209. package/src/components/Modal/Modal.stories.mdx +3 -3
  210. package/src/components/Modal/_Modal.scss +2 -2
  211. package/src/components/Notification/Notification.stories.mdx +119 -111
  212. package/src/components/Notification/Notification.test.tsx +102 -126
  213. package/src/components/Notification/Notification.tsx +157 -161
  214. package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +159 -8
  215. package/src/components/Pagination/Pagination.stories.mdx +26 -27
  216. package/src/components/Pagination/Pagination.stories.tsx +11 -16
  217. package/src/components/Pagination/Pagination.test.tsx +276 -140
  218. package/src/components/Pagination/Pagination.tsx +174 -154
  219. package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +285 -0
  220. package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +292 -0
  221. package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +225 -0
  222. package/src/components/ProgressIndicator/ProgressIndicator.tsx +126 -0
  223. package/src/components/ProgressIndicator/ProgressIndicatorTypes.ts +8 -0
  224. package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +357 -0
  225. package/src/components/Radio/Radio.test.tsx +20 -4
  226. package/src/components/Radio/Radio.tsx +6 -3
  227. package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +3 -0
  228. package/src/components/RadioGroup/RadioGroup.stories.mdx +4 -5
  229. package/src/components/RadioGroup/RadioGroup.test.tsx +24 -1
  230. package/src/components/RadioGroup/RadioGroup.tsx +21 -29
  231. package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +42 -72
  232. package/src/components/SearchBar/SearchBar.Test.tsx +170 -16
  233. package/src/components/SearchBar/SearchBar.stories.mdx +294 -219
  234. package/src/components/SearchBar/SearchBar.tsx +161 -46
  235. package/src/components/Select/Select.stories.mdx +188 -170
  236. package/src/components/Select/Select.test.tsx +132 -375
  237. package/src/components/Select/Select.tsx +121 -165
  238. package/src/components/Select/SelectTypes.tsx +5 -0
  239. package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +33 -76
  240. package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +97 -177
  241. package/src/components/SkeletonLoader/SkeletonLoader.tsx +75 -70
  242. package/src/components/SkeletonLoader/SkeletonLoaderTypes.tsx +2 -2
  243. package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +739 -0
  244. package/src/components/Slider/Slider.stories.mdx +529 -0
  245. package/src/components/Slider/Slider.test.tsx +653 -0
  246. package/src/components/Slider/Slider.tsx +303 -0
  247. package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +1946 -0
  248. package/src/components/StatusBadge/StatusBadge.stories.mdx +91 -0
  249. package/src/components/StatusBadge/StatusBadge.test.tsx +35 -7
  250. package/src/components/StatusBadge/StatusBadge.tsx +24 -25
  251. package/src/components/StatusBadge/StatusBadgeTypes.tsx +5 -0
  252. package/src/components/StatusBadge/__snapshots__/StatusBadge.test.tsx.snap +28 -0
  253. package/src/components/StyleGuide/Bidirectionality.stories.mdx +17 -17
  254. package/src/components/StyleGuide/Breakpoints.stories.mdx +34 -10
  255. package/src/components/StyleGuide/Buttons.stories.mdx +102 -86
  256. package/src/components/StyleGuide/ColorCard.tsx +46 -0
  257. package/src/components/StyleGuide/Colors.stories.mdx +196 -0
  258. package/src/components/StyleGuide/DesignTokens.stories.mdx +170 -0
  259. package/src/components/StyleGuide/Forms.stories.mdx +9 -7
  260. package/src/components/StyleGuide/Iconography.stories.mdx +119 -127
  261. package/src/components/StyleGuide/Spacing.stories.mdx +31 -23
  262. package/src/components/StyleGuide/Typography.stories.mdx +202 -189
  263. package/src/components/StyleGuide/UIDocCard.tsx +1 -1
  264. package/src/components/Tabs/Tabs.stories.mdx +73 -11
  265. package/src/components/Tabs/Tabs.tsx +88 -67
  266. package/src/components/Template/Template.stories.mdx +572 -0
  267. package/src/components/Template/Template.test.tsx +124 -0
  268. package/src/components/Template/Template.tsx +226 -0
  269. package/src/components/Text/Text.stories.mdx +70 -0
  270. package/src/components/Text/Text.test.tsx +63 -0
  271. package/src/components/Text/Text.tsx +55 -0
  272. package/src/components/Text/TextTypes.tsx +6 -0
  273. package/src/components/Text/__snapshots__/Text.test.tsx.snap +33 -0
  274. package/src/components/TextInput/TextInput.stories.mdx +89 -90
  275. package/src/components/TextInput/TextInput.test.tsx +84 -85
  276. package/src/components/TextInput/TextInput.tsx +121 -95
  277. package/src/components/TextInput/TextInputTypes.tsx +8 -0
  278. package/src/components/VideoPlayer/VideoPlayer.stories.mdx +17 -4
  279. package/src/components/VideoPlayer/VideoPlayer.test.tsx +54 -53
  280. package/src/components/VideoPlayer/VideoPlayer.tsx +50 -51
  281. package/src/components/VideoPlayer/VideoPlayerTypes.tsx +2 -2
  282. package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +91 -0
  283. package/src/docs/Chakra.stories.mdx +246 -65
  284. package/src/docs/Intro.stories.mdx +18 -13
  285. package/src/hooks/tests/useCarouselStyles.test.ts +140 -0
  286. package/src/hooks/tests/useNYPLTheme.test.tsx +36 -0
  287. package/src/hooks/useCarouselStyles.ts +34 -0
  288. package/src/hooks/useNYPLTheme.ts +67 -0
  289. package/src/hooks/useWindowSize.ts +40 -0
  290. package/src/index.ts +39 -16
  291. package/src/resources.scss +5 -5
  292. package/src/styles/base/{_02-breakpoints.scss → _01-breakpoints.scss} +9 -10
  293. package/src/styles/base/{_03-mixins.scss → _02-mixins.scss} +16 -5
  294. package/src/styles/base/_03-base.scss +25 -0
  295. package/src/styles/base/{_05-focus.scss → _04-focus.scss} +0 -15
  296. package/src/styles/base/_place-holder.scss +14 -3
  297. package/src/styles/{03-space → space}/_space-inline.scss +14 -14
  298. package/src/styles/{03-space → space}/_space-inset.scss +10 -10
  299. package/src/styles/space/_space-stack.scss +116 -0
  300. package/src/styles.scss +13 -62
  301. package/src/theme/components/accordion.ts +30 -0
  302. package/src/theme/components/breadcrumb.ts +77 -0
  303. package/src/theme/components/button.ts +91 -71
  304. package/src/theme/components/card.ts +174 -0
  305. package/src/theme/components/checkbox.ts +22 -29
  306. package/src/theme/components/checkboxGroup.ts +8 -0
  307. package/src/theme/components/componentWrapper.ts +10 -0
  308. package/src/theme/components/datePicker.ts +17 -0
  309. package/src/theme/components/fieldset.ts +18 -0
  310. package/src/theme/components/global.ts +82 -0
  311. package/src/theme/components/globalMixins.ts +24 -0
  312. package/src/theme/components/heading.ts +25 -13
  313. package/src/theme/components/helperErrorText.ts +9 -0
  314. package/src/theme/components/hero.ts +240 -0
  315. package/src/theme/components/horizontalRule.ts +13 -0
  316. package/src/theme/components/icon.ts +79 -0
  317. package/src/theme/components/image.ts +116 -0
  318. package/src/theme/components/label.ts +10 -0
  319. package/src/theme/components/link.ts +51 -0
  320. package/src/theme/components/list.ts +73 -0
  321. package/src/theme/components/notification.ts +93 -0
  322. package/src/theme/components/pagination.ts +20 -0
  323. package/src/theme/components/progressIndicator.ts +62 -0
  324. package/src/theme/components/radio.ts +22 -33
  325. package/src/theme/components/radioGroup.ts +8 -0
  326. package/src/theme/components/searchBar.ts +21 -0
  327. package/src/theme/components/select.ts +53 -0
  328. package/src/theme/components/skeletonLoader.ts +107 -0
  329. package/src/theme/components/slider.ts +79 -0
  330. package/src/theme/components/statusBadge.ts +26 -0
  331. package/src/theme/components/tabs.ts +102 -69
  332. package/src/theme/components/template.ts +114 -0
  333. package/src/theme/components/text.ts +31 -0
  334. package/src/theme/components/textInput.ts +62 -0
  335. package/src/theme/components/videoPlayer.ts +49 -0
  336. package/src/theme/foundations/breakpoints.ts +8 -8
  337. package/src/theme/foundations/colors.ts +29 -13
  338. package/src/theme/foundations/global.ts +8 -0
  339. package/src/theme/foundations/radii.ts +6 -0
  340. package/src/theme/foundations/shadows.ts +5 -0
  341. package/src/theme/foundations/spacing.ts +24 -24
  342. package/src/theme/index.ts +74 -13
  343. package/src/utils/componentCategories.ts +12 -5
  344. package/src/utils/utils.ts +13 -0
  345. package/dist/components/Accordion/Accordion.stories.d.ts +0 -6
  346. package/dist/components/HelperErrorText/HelperErrorText.stories.d.ts +0 -16
  347. package/dist/components/Image/Image.stories.d.ts +0 -18
  348. package/dist/components/List/List.stories.d.ts +0 -7
  349. package/dist/components/StatusBadge/StatusBadge.stories.d.ts +0 -8
  350. package/dist/components/StyleGuide/Colors.stories.d.ts +0 -25
  351. package/dist/components/Template/Template.stories.d.ts +0 -30
  352. package/dist/theme/components/customRadioGroup.d.ts +0 -17
  353. package/src/components/Accordion/Accordion.stories.tsx +0 -66
  354. package/src/components/Accordion/_Accordion.scss +0 -81
  355. package/src/components/Breadcrumbs/_Breadcrumbs.scss +0 -97
  356. package/src/components/Button/_Button.scss +0 -56
  357. package/src/components/Card/_Card.scss +0 -308
  358. package/src/components/Form/_Form.scss +0 -67
  359. package/src/components/HelperErrorText/HelperErrorText.stories.tsx +0 -48
  360. package/src/components/HelperErrorText/_HelperErrorText.scss +0 -9
  361. package/src/components/Hero/_Hero.scss +0 -256
  362. package/src/components/HorizontalRule/_HorizontalRule.scss +0 -15
  363. package/src/components/Icons/_Icons.scss +0 -116
  364. package/src/components/Image/Image.stories.tsx +0 -54
  365. package/src/components/Image/_Image.scss +0 -38
  366. package/src/components/Label/_Label.scss +0 -22
  367. package/src/components/Link/_Link.scss +0 -73
  368. package/src/components/List/List.stories.tsx +0 -139
  369. package/src/components/List/_List.scss +0 -76
  370. package/src/components/Notification/_Notification.scss +0 -110
  371. package/src/components/Pagination/_Pagination.scss +0 -40
  372. package/src/components/SearchBar/_SearchBar.scss +0 -16
  373. package/src/components/Select/_Select.scss +0 -82
  374. package/src/components/SkeletonLoader/_SkeletonLoader.scss +0 -142
  375. package/src/components/StatusBadge/StatusBadge.stories.tsx +0 -34
  376. package/src/components/StatusBadge/_StatusBadge.scss +0 -23
  377. package/src/components/StyleGuide/Colors.stories.tsx +0 -289
  378. package/src/components/Template/Template.stories.tsx +0 -86
  379. package/src/components/Template/_Template.scss +0 -63
  380. package/src/components/TextInput/_TextInput.scss +0 -59
  381. package/src/components/VideoPlayer/_VideoPlayer.scss +0 -38
  382. package/src/styles/01-colors/_colors-brand.scss +0 -56
  383. package/src/styles/01-colors/_colors-utility.scss +0 -65
  384. package/src/styles/02-typography/_type-scale.css +0 -11
  385. package/src/styles/02-typography/_type-weight.css +0 -7
  386. package/src/styles/02-typography/_typefaces.css +0 -4
  387. package/src/styles/03-space/_space-stack.scss +0 -116
  388. package/src/styles/03-space/_space.css +0 -30
  389. package/src/styles/base/_04-base.scss +0 -19
  390. package/src/styles/base/_card-grid.scss +0 -78
  391. package/src/styles/base/_typography.scss +0 -11
  392. package/src/theme/components/customRadioGroup.ts +0 -18
@@ -1,50 +1,49 @@
1
1
  import React from "react";
2
+ import { SelectTypes } from "./SelectTypes";
2
3
  export interface SelectProps {
3
- /** DEPRECATED - When passed, will populate the aria-label on the select */
4
- ariaLabel?: string;
5
- /** Additional attributes passed to the <select> tag */
6
- attributes?: {
7
- [key: string]: any;
8
- };
9
- /** BlockName for use with BEM. See how to work with modifiers and BEM here: http://getbem.com/introduction/ */
10
- blockName?: string;
11
- /** ClassName you can add in addition to 'select' */
4
+ /** A class name for the `div` parent element. */
12
5
  className?: string;
13
- children?: React.ReactNode;
14
- /** When true, disables the select */
15
- disabled?: boolean;
16
- /** Helper for modifiers array; adds 'errored' styling */
17
- errored?: boolean;
18
- /** Populates the HelperErrorText for error state */
19
- invalidText?: string;
20
- /** DEPRECATED - ID of associated HelperText */
21
- helperTextId?: string;
22
- /** Populates the HelperErrorText for standard state */
6
+ /** Optional string to populate the `HelperErrorText` for the standard state. */
23
7
  helperText?: string;
24
8
  /** ID that other components can cross reference for accessibility purposes */
25
9
  id?: string;
26
- /** DEPRECATED - Attribute indicating that an option with a non-empty string value must be selected */
10
+ /** Optional string to populate the `HelperErrorText` for the error state
11
+ * when `isInvalid` is true. */
12
+ invalidText?: string;
13
+ /** Adds the `disabled` and `aria-disabled` attributes to the select when true */
14
+ isDisabled?: boolean;
15
+ /** Adds the `aria-invalid` attribute to the select when true. This also makes
16
+ * the color theme "NYPL error" red for the select and text. */
17
+ isInvalid?: boolean;
18
+ /** Adds the `required` and `aria-required` attributes to the input when true. */
27
19
  isRequired?: boolean;
28
- /** DEPRECATED - ID of associated label */
29
- labelId?: string;
30
- /** Provides text for a `Label` component if `showLabel` is set to `true`; populates a `aria-label` attribute on the select input if `showLabel` is set to `false`. */
20
+ /** Provides text for a `Label` component if `showLabel` is set to `true`;
21
+ * populates an `aria-label` attribute on the select input if `showLabel` is
22
+ * set to `false`. */
31
23
  labelText: string;
32
- /** Modifiers array for use with BEM. See how to work with modifiers and BEM here: http://getbem.com/introduction/ */
33
- modifiers?: string[];
34
- /** The name of the select element to use in form submission */
24
+ /** Used to reference the select element in forms. */
35
25
  name: string;
36
- /** Passes select's current value to the React state handler */
37
- onBlur?: (event: React.FormEvent) => void;
38
- /** Passes selects' current value to the React state handler */
26
+ /** The callback function to get the selected value.
27
+ * Should be passed along with `value` for controlled components. */
39
28
  onChange?: (event: React.FormEvent) => void;
40
- /** Will add `aria-required: true` and native HTML `required` attribute to the select input */
41
- required?: boolean;
42
- /** The value of the selected option */
43
- selectedOption?: string;
44
- /** Offers the ability to show the label onscreen or hide it. Refer to the `labelText` property for more information. */
29
+ /** Offers the ability to hide the helper/invalid text. */
30
+ showHelperInvalidText?: boolean;
31
+ /** Offers the ability to show the select's label onscreen or hide it. Refer
32
+ * to the `labelText` property for more information. */
45
33
  showLabel?: boolean;
46
34
  /** Whether or not to display the "Required"/"Optional" text in the label text. */
47
35
  showOptReqLabel?: boolean;
36
+ /** The variant to display. */
37
+ type?: SelectTypes;
38
+ /** The value of the selected option.
39
+ * Should be passed along with `onChange` for controlled components. */
40
+ value?: string;
48
41
  }
49
- declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLSelectElement>>;
42
+ /**
43
+ * Component that renders Chakra's `Select` component along with an accessible
44
+ * `Label` and optional `HelperErrorText` component.
45
+ */
46
+ declare const Select: React.ForwardRefExoticComponent<SelectProps & {
47
+ children?: React.ReactNode;
48
+ } & React.RefAttributes<HTMLSelectElement>>;
50
49
  export default Select;
@@ -0,0 +1,4 @@
1
+ export declare enum SelectTypes {
2
+ Default = "default",
3
+ SearchBar = "searchbar"
4
+ }
@@ -1,29 +1,33 @@
1
1
  import * as React from "react";
2
2
  import { SkeletonLoaderImageRatios, SkeletonLoaderLayouts } from "./SkeletonLoaderTypes";
3
3
  export interface SkeletonLoaderProps {
4
- /** Optional boolean value to control visibility of border around skeleton loader */
4
+ /** Optional boolean value to control visibility of border around skeleton loader. */
5
5
  border?: boolean;
6
- /** ClassName you can add in addition to `skeleton-loader` */
6
+ /** Additional class name for the Skeleton component. */
7
7
  className?: string;
8
- /** Optional numeric value to control the number of lines for content placeholder; default value is `3` */
8
+ /** Optional numeric value to control the number of lines for content placeholder; default value is `3`. */
9
9
  contentSize?: number;
10
- /** Optional numeric value to control the number of lines for heading placeholder; default value is `1` */
10
+ /** Optional numeric value to control the number of lines for heading placeholder; default value is `1`. */
11
11
  headingSize?: number;
12
- /** Optional value to control the aspect ratio of the image placeholder; default value is `square` */
12
+ /** Optional value to control the aspect ratio of the image placeholder; default value is `square`. */
13
13
  imageAspectRatio?: SkeletonLoaderImageRatios;
14
- /** Optional value to control the position of the image placeholder; default value is `vertical` */
14
+ /** Optional value to control the position of the image placeholder; default value is `column`. */
15
15
  layout?: SkeletonLoaderLayouts;
16
- /** Modifiers array for use with BEM. See how to work with modifiers and BEM here: http://getbem.com/introduction/ */
17
- modifiers?: string[];
18
- /** Optional boolean value to control visibility of button placeholder */
16
+ /** Optional boolean value to control visibility of button placeholder. */
19
17
  showButton?: boolean;
20
- /** Optional boolean value to control visibility of content placeholder */
18
+ /** Optional boolean value to control visibility of content placeholder. */
21
19
  showContent?: boolean;
22
- /** Optional boolean value to control visibility of image placeholder */
23
- showImage?: boolean;
24
- /** Optional boolean value to control visibility of heading placeholder */
20
+ /** Optional boolean value to control visibility of heading placeholder. */
25
21
  showHeading?: boolean;
26
- /** Optional width value. This value should be entered with the same formatting as a CSS width attribute (ex. `50%`, `640px`, `20rem`). If omitted, the skeleton loader will have a default width of 100%. */
22
+ /** Optional boolean value to control visibility of image placeholder. */
23
+ showImage?: boolean;
24
+ /** Optional width value. This value should be entered with the same
25
+ * formatting as a CSS width attribute (ex. `50%`, `640px`, `20rem`).
26
+ * If omitted, the skeleton loader will have a default width of 100%. */
27
27
  width?: string;
28
28
  }
29
+ /**
30
+ * The `SkeletonLoader` component renders a placeholder to be used while
31
+ * dynamic content is loading.
32
+ */
29
33
  export default function SkeletonLoader(props: React.PropsWithChildren<SkeletonLoaderProps>): JSX.Element;
@@ -1,6 +1,6 @@
1
1
  export declare enum SkeletonLoaderLayouts {
2
- Horizontal = "horizontal",
3
- Vertical = "vertical"
2
+ Row = "row",
3
+ Column = "column"
4
4
  }
5
5
  export declare enum SkeletonLoaderImageRatios {
6
6
  Landscape = "landscape",
@@ -0,0 +1,57 @@
1
+ import * as React from "react";
2
+ export interface SliderProps {
3
+ /** Additional class name for the Slider component. */
4
+ className?: string;
5
+ /** The initial value for the single `Slider` or an array of two number
6
+ * values for the `isRangeSlider` case.
7
+ */
8
+ defaultValue?: number | number[];
9
+ /** Optional string to populate the HelperErrorText for standard state */
10
+ helperText?: string;
11
+ /** ID that other components can cross reference for accessibility purposes. */
12
+ id?: string;
13
+ /** Optional string to populate the `HelperErrorText` for the error state
14
+ * when `isInvalid` is true. */
15
+ invalidText?: string;
16
+ /** Adds the 'disabled' state to the slider and text input(s) when true. */
17
+ isDisabled?: boolean;
18
+ /** Adds the 'invalid' state to the slider and text input(s) when true. */
19
+ isInvalid?: boolean;
20
+ /** Offers the ability to render a slider with one value or
21
+ * a range slider with two values. */
22
+ isRangeSlider?: boolean;
23
+ /** Adds the 'required' attribute to the input(s) when true. */
24
+ isRequired?: boolean;
25
+ /** The `Slider`'s label. In the default single slider, this will be linked to
26
+ * the only `TextInput` component. In the range slider, this will be linked to
27
+ * the first `TextInput` component. If `showLabel` is false, then this value
28
+ * will be set in the `Slider`'s `aria-label` attribute. */
29
+ labelText: string;
30
+ /** Maximum value allowed. */
31
+ max?: number;
32
+ /** Minimum value allowed. */
33
+ min?: number;
34
+ /** The name prop indicates into which form this component belongs to. */
35
+ name?: string;
36
+ /** Callback function that gets the value(s) selected. */
37
+ onChange?: (val: number | number[]) => void;
38
+ /** Whether or not to display the "Required"/"Optional" text in the label text. */
39
+ optReqFlag?: boolean;
40
+ /** Offers the ability to hide the `TextInput` boxes. */
41
+ showBoxes?: boolean;
42
+ /** Offers the ability to hide the helper/invalid text. */
43
+ showHelperInvalidText?: boolean;
44
+ /** Offers the ability to show the label onscreen or hide it. Refer
45
+ * to the `labelText` property for more information. */
46
+ showLabel?: boolean;
47
+ /** Offers the ability to hide the static min/max values. */
48
+ showValues?: boolean;
49
+ /** The amount to increase or decrease when using the slider thumb(s). */
50
+ step?: number;
51
+ }
52
+ /**
53
+ * The `Slider` component renders a singular value slider or a range slider
54
+ * with a min and max value. The value(s) can be updated through the slider
55
+ * thumb(s) or through the text input(s) elements.
56
+ */
57
+ export default function Slider(props: React.PropsWithChildren<SliderProps>): JSX.Element;
@@ -1,10 +1,12 @@
1
1
  import * as React from "react";
2
+ import { StatusBadgeTypes } from "./StatusBadgeTypes";
2
3
  export interface StatusBadgeProps {
3
- /** BlockName for use with BEM. See how to work with blockNames and BEM here: http://getbem.com/introduction/ */
4
- blockName?: string;
5
- /** ClassName that appears in addition to "status-badge" */
4
+ /** Additional class for the component */
6
5
  className?: string;
7
- /** Level of badge **/
8
- level?: "low" | "medium" | "high";
6
+ /** ID that other components can cross reference for accessibility purposes */
7
+ id?: string;
8
+ /** Level of the status badge through StatusBadgeTypes. */
9
+ level?: StatusBadgeTypes;
9
10
  }
10
- export default function StatusBadge(props: React.PropsWithChildren<StatusBadgeProps>): JSX.Element;
11
+ declare function StatusBadge(props: React.PropsWithChildren<StatusBadgeProps>): JSX.Element;
12
+ export default StatusBadge;
@@ -0,0 +1,5 @@
1
+ export declare enum StatusBadgeTypes {
2
+ Low = "low",
3
+ Medium = "medium",
4
+ High = "high"
5
+ }
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ export interface ColorCardProps {
3
+ /** backgroundColor of the color card */
4
+ backgroundColor: string;
5
+ /** name of the CSS var */
6
+ colorName: string;
7
+ }
8
+ /**
9
+ * ColorCard
10
+ * Component only used for Storybook.
11
+ */
12
+ export default function ColorCard(props: React.PropsWithChildren<ColorCardProps>): JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { TabList, Tab, TabPanels, TabPanel } from "@chakra-ui/react";
2
+ import { Tab, TabList, TabPanels, TabPanel } from "@chakra-ui/react";
3
3
  export interface TabsContentDataProps {
4
4
  label: string;
5
5
  content: string | React.ReactNode;
@@ -0,0 +1,91 @@
1
+ import * as React from "react";
2
+ export interface TemplateProps {
3
+ }
4
+ export interface TemplateSidebarProps {
5
+ /** Renders the `TemplateContentSidebar` component either on the left or
6
+ * right side of the `TemplateContentPrimary` component. */
7
+ sidebar?: "none" | "left" | "right";
8
+ }
9
+ export interface TemplateContentProps extends TemplateSidebarProps {
10
+ }
11
+ export interface TemplateAppContainerProps extends TemplateSidebarProps {
12
+ /** DOM that will be rendered in the `TemplateBreakout` component section. */
13
+ breakout?: React.ReactElement;
14
+ /** DOM that will be rendered in the `TemplateContentPrimary` component section. */
15
+ contentPrimary?: React.ReactElement;
16
+ /** DOM that will be rendered in the `TemplateContentSidebar` component section. */
17
+ contentSidebar?: React.ReactElement;
18
+ /** DOM that will be rendered in the `TemplateContentTop` component section. */
19
+ contentTop?: React.ReactElement;
20
+ /** DOM that will be rendered in the `TemplateFooter` component section. */
21
+ footer?: React.ReactElement;
22
+ /** DOM that will be rendered in the `TemplateHeader` component section. */
23
+ header?: React.ReactElement;
24
+ }
25
+ /**
26
+ * The main top-level parent component that wraps all template-related
27
+ * components. For backwards compatibility, this renders a `nypl-ds` CSS class.
28
+ */
29
+ declare const Template: (props: React.PropsWithChildren<TemplateProps>) => JSX.Element;
30
+ /**
31
+ * This optional component should be the first child of the `Template`
32
+ * component. This is rendered as an HTML `<header>` element.
33
+ */
34
+ declare const TemplateHeader: (props: React.PropsWithChildren<TemplateProps>) => JSX.Element;
35
+ /**
36
+ * This optional component should be used inside the `TemplateHeader` component.
37
+ * This is meant to render its children from edge to edge and is most useful
38
+ * for the `Breadcrumbs` and `Hero` components, and other banner-like components.
39
+ */
40
+ declare const TemplateBreakout: (props: React.PropsWithChildren<TemplateProps>) => JSX.Element;
41
+ /**
42
+ * This component is most useful to render content on the page. This renders an
43
+ * HTML `<main>` element and takes a `sidebar` prop with optional "left" or
44
+ * "right" values. This will set the correct styling needed for the
45
+ * `TemplateContentPrimary` and `TemplateContentSidebar` components. Note that
46
+ * `TemplateContentPrimary` and `TemplateContentSidebar` must be ordered
47
+ * correctly as children elements for the appropriate styles to take effect.
48
+ */
49
+ declare const TemplateContent: (props: React.PropsWithChildren<TemplateContentProps>) => JSX.Element;
50
+ /**
51
+ * This optional component must be used inside the `TemplateContent` component.
52
+ * This renders content in the main width of the container and will always render
53
+ * above the primary component and the sidebar component (if any).
54
+ */
55
+ declare const TemplateContentTop: (props: React.PropsWithChildren<TemplateProps>) => JSX.Element;
56
+ /**
57
+ * This component is used to render content in a column when there must be a
58
+ * sidebar component on either its left or right side. It must go inside the
59
+ * `TemplateContent` component. An optional `sidebar` prop value of "left" or
60
+ * "right" can be passed to render the correct CSS styles. If the `sidebar`
61
+ * prop is used in the `TemplateContent` component, there is no need to pass
62
+ * the `sidebar` prop to this component -- `TemplateContent` will handle it.
63
+ */
64
+ declare const TemplateContentPrimary: (props: React.PropsWithChildren<TemplateContentProps>) => JSX.Element;
65
+ /**
66
+ * This component is used to render content in a sidebar column. It must go
67
+ * inside the `TemplateContent` component and must be paired with the
68
+ * `TemplateContentPrimary` component. If this is a left sidebar, it needs to be
69
+ * rendered before the `TemplateContentPrimary` component. If this is a right
70
+ * sidebar, it needs to be rendered after the `TemplateContentPrimary` component.
71
+ * An optional `sidebar` prop value of "left" or "right" can be passed to render
72
+ * the correct CSS styles. If the `sidebar` prop is used in the `TemplateContent`
73
+ * component, there is no need to pass the `sidebar` prop to this component --
74
+ * `TemplateContent` will handle it.
75
+ */
76
+ declare const TemplateContentSidebar: (props: React.PropsWithChildren<TemplateContentProps>) => JSX.Element;
77
+ /**
78
+ * This optional component should be the last child of the `Template`
79
+ * component. This is rendered as an HTML `<footer>` element and spans the full
80
+ * width of the page.
81
+ */
82
+ declare const TemplateFooter: (props: React.PropsWithChildren<TemplateProps>) => JSX.Element;
83
+ /**
84
+ * This single component can be used instead of all the individual template
85
+ * components. Instead of importing and rendering the needed "template"
86
+ * components, each section is passed as a prop to the section where it should
87
+ * be rendered. For example, if you want to render content in the
88
+ * `TemplateContentPrimary` section, then pass it as a prop to `contentPrimary`.
89
+ */
90
+ declare const TemplateAppContainer: (props: React.PropsWithChildren<TemplateAppContainerProps>) => JSX.Element;
91
+ export { TemplateAppContainer, Template, TemplateHeader, TemplateBreakout, TemplateContent, TemplateContentTop, TemplateContentPrimary, TemplateContentSidebar, TemplateFooter, };
@@ -0,0 +1,16 @@
1
+ import * as React from "react";
2
+ import { TextDisplaySizes } from "./TextTypes";
3
+ export interface TextProps {
4
+ /** Additional class name to render in the `Text` component. */
5
+ className?: string;
6
+ /** Optional prop used to show bolded text */
7
+ isBold?: boolean;
8
+ /** Optional prop used to show itlicized text */
9
+ isItalic?: boolean;
10
+ /** Optional prop used to remove default spacing */
11
+ noSpace?: boolean;
12
+ /** Optional prop to control the text styling */
13
+ displaySize?: TextDisplaySizes;
14
+ }
15
+ declare function Text(props: React.PropsWithChildren<TextProps>): JSX.Element;
16
+ export default Text;
@@ -0,0 +1,6 @@
1
+ export declare enum TextDisplaySizes {
2
+ Default = "default",
3
+ Caption = "caption",
4
+ Tag = "tag",
5
+ Mini = "mini"
6
+ }
@@ -1,52 +1,65 @@
1
1
  import * as React from "react";
2
- import { TextInputTypes } from "./TextInputTypes";
2
+ import { TextInputTypes, TextInputVariants } from "./TextInputTypes";
3
3
  export interface InputProps {
4
- /** Additional attributes to pass to the `<input>` tag */
4
+ /** Optionally pass in additional Chakra-based styles. */
5
+ additionalStyles?: {
6
+ [key: string]: any;
7
+ };
8
+ /** Additional attributes to pass to the `<input>` or `<textarea>` element */
5
9
  attributes?: {
6
10
  [key: string]: any;
7
11
  };
8
- /** HTML Input types as defined by MDN: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input */
9
- type?: TextInputTypes;
10
- /** Will add 'aria-required: true' to input */
11
- required?: boolean;
12
+ /** A class name for the TextInput parent div. */
13
+ className?: string;
14
+ /** The starting value of the input field. */
15
+ defaultValue?: string;
16
+ /** Populates the HelperErrorText for the standard state */
17
+ helperText?: string;
18
+ /** ID that other components can cross reference for accessibility purposes */
19
+ id?: string;
20
+ /** Populates the HelperErrorText for the error state */
21
+ invalidText?: string;
22
+ /** Adds the `disabled` and `aria-disabled` prop to the input when true */
23
+ isDisabled?: boolean;
24
+ /** Adds errored styling to the input/textarea and helper text elements */
25
+ isInvalid?: boolean;
26
+ /** Will add `required` and `aria-required` props to the input/textarea elements */
27
+ isRequired?: boolean;
12
28
  /** Provides text for a `Label` component if `showLabel` is set to true;
13
- * populates a `aria-label` sttribute if `showLabel` is set to false. */
29
+ * populates an `aria-label` attribute if `showLabel` is set to false. */
14
30
  labelText: string;
31
+ /** Used to reference the input element in forms. */
32
+ name?: string;
33
+ /** The action to perform on the `input`/`textarea`'s onChange function */
34
+ onChange?: (event: React.ChangeEvent<HTMLInputElement> | React.ChangeEvent<HTMLTextAreaElement>) => void;
35
+ /** Populates the placeholder for the input/textarea elements */
36
+ placeholder?: string;
37
+ /** Offers the ability to hide the helper/invalid text. */
38
+ showHelperInvalidText?: boolean;
15
39
  /** Offers the ability to show the label onscreen or hide it. Refer to the
16
40
  * `labelText` property for more information. */
17
41
  showLabel?: boolean;
18
42
  /** Offers the ability to show the "Required"/"Optional" label onscreen or
19
43
  * hide it. True by default. */
20
44
  showOptReqLabel?: boolean;
21
- /** Populates the HelperErrorText for standard state */
22
- helperText?: string;
23
- /** Populates the HelperErrorText for error state */
24
- invalidText?: string;
25
- /** Populates the placeholder of the input */
26
- placeholder?: string;
27
- /** Populates the value of the input */
45
+ /** The amount to increase or decrease when using the number type. */
46
+ step?: number;
47
+ /** HTML Input types as defined by MDN: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input */
48
+ type?: TextInputTypes;
49
+ /** Populates the value of the input/textarea elements */
28
50
  value?: string;
29
- /** className you can add in addition to 'textinput' */
30
- className?: string;
31
- /** ID that other components can cross reference for accessibility purposes */
32
- id?: string;
33
- /** Helper for modifiers array; adds 'errored' styling */
34
- errored?: boolean;
35
- /** Adds the 'disabled' prop to the input when true */
36
- disabled?: boolean;
37
- /** Modifiers array for use with BEM. See how to work with modifiers and BEM
38
- * here: http://getbem.com/introduction/ */
39
- modifiers?: string[];
40
- /** The action to perform on the `<input>`'s onChange function */
41
- onChange?: (event: React.ChangeEvent<HTMLInputElement> | React.ChangeEvent<HTMLTextAreaElement>) => void;
51
+ /** The variant to display. */
52
+ variantType?: TextInputVariants;
42
53
  }
43
- /** The type used for `ref`s. We want to extend both `input` and `textarea`
54
+ /**
55
+ * The type used for `ref`s. We want to extend both `input` and `textarea`
44
56
  * since both are available to create through `TextInput`.
45
57
  */
46
58
  export declare type TextInputRefType = HTMLInputElement & HTMLTextAreaElement;
47
- /** Renders either an `input` element with a specified type or a `textarea`
48
- * element. All types will render an accessible Label component and an optional
49
- * HelperErrorText component.
59
+ /**
60
+ * Renders either an `input` element with a specified type or a `textarea`
61
+ * element. All types will render an accessible `Label` component and an
62
+ * optional `HelperErrorText` component.
50
63
  */
51
64
  declare const TextInput: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<TextInputRefType>>;
52
65
  export default TextInput;
@@ -18,3 +18,8 @@ export declare enum TextInputFormats {
18
18
  textarea = "",
19
19
  url = "https://domain.com"
20
20
  }
21
+ export declare enum TextInputVariants {
22
+ Default = "default",
23
+ SearchBar = "searchBar",
24
+ SearchBarSelect = "searchBarSelect"
25
+ }
@@ -3,22 +3,20 @@ import { VideoPlayerAspectRatios, VideoPlayerTypes } from "./VideoPlayerTypes";
3
3
  export interface VideoPlayerProps {
4
4
  /** Optional aspect ratio prop to control the sizing of the video player; if omitted, the video player defaults to `sixteen-by-nine` */
5
5
  aspectRatio?: VideoPlayerAspectRatios;
6
- /** Optional additional attributes passed to the video player iframe */
7
- attributes?: {
8
- [key: string]: any;
9
- };
10
6
  /** Optional className you can add in addition to `video-player` */
11
7
  className?: string;
12
8
  /** Optional string to set the text for a video description */
13
9
  descriptionText?: string;
10
+ /** Optional string to set the text for a `Heading` component */
11
+ headingText?: string;
14
12
  /** Optional string to set the text for a `HelperErrorText` component */
15
13
  helperText?: string;
14
+ /** ID that other components can cross reference for accessibility purposes */
15
+ id?: string;
16
16
  /** Optional title to be added to the `<iframe>` element for improved accessibility; this title should describe in a few words the content of the video; if omitted, a generic title will be added */
17
17
  iframeTitle?: string;
18
- /** Modifiers array for use with BEM. See how to work with modifiers and BEM here: http://getbem.com/introduction/ */
19
- modifiers?: string[];
20
- /** Optional string to set the text for a `Heading` component */
21
- headingText?: string;
18
+ /** Offers the ability to hide the helper/invalid text. */
19
+ showHelperInvalidText?: boolean;
22
20
  /** Required YouTube or Vimeo video ID. This value can be pulled from a video's YouTube or Vimeo URL. */
23
21
  videoId: string;
24
22
  /** Required. Used to specify which video service is being used. */
@@ -3,7 +3,7 @@ export declare enum VideoPlayerTypes {
3
3
  YouTube = "youtube"
4
4
  }
5
5
  export declare enum VideoPlayerAspectRatios {
6
- FourByThree = "four-by-three",
7
- SixteenByNine = "sixteen-by-nine",
6
+ FourByThree = "fourByThree",
7
+ SixteenByNine = "sixteenByNine",
8
8
  Square = "square"
9
9
  }