@scottish-government/designsystem-react 0.12.1 → 1.0.0

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 (490) hide show
  1. package/.storybook/main.ts +6 -6
  2. package/.storybook/sgdsArgTypes.ts +107 -43
  3. package/CHANGELOG.md +49 -0
  4. package/LICENSE.txt +21 -0
  5. package/README.md +3 -0
  6. package/dist/common/AbstractNotificationBanner/AbstractNotificationBanner.d.ts +3 -2
  7. package/dist/common/AbstractNotificationBanner/AbstractNotificationBanner.jsx +8 -7
  8. package/dist/common/AbstractNotificationBanner/types.d.ts +13 -0
  9. package/dist/common/AbstractNotificationBanner/types.js +2 -0
  10. package/dist/common/ActionLink/ActionLink.d.ts +2 -1
  11. package/dist/common/ActionLink/types.d.ts +7 -0
  12. package/dist/common/ActionLink/types.js +2 -0
  13. package/dist/common/ConditionalWrapper/ConditionalWrapper.d.ts +2 -1
  14. package/dist/common/ConditionalWrapper/ConditionalWrapper.jsx +4 -2
  15. package/dist/common/ConditionalWrapper/types.d.ts +4 -0
  16. package/dist/common/ConditionalWrapper/types.js +2 -0
  17. package/dist/common/FileIcon/FileIcon.d.ts +2 -1
  18. package/dist/common/FileIcon/types.d.ts +6 -0
  19. package/dist/common/FileIcon/types.js +2 -0
  20. package/dist/common/HintText/HintText.d.ts +2 -1
  21. package/dist/common/HintText/HintText.jsx +3 -3
  22. package/dist/common/HintText/types.d.ts +4 -0
  23. package/dist/common/HintText/types.js +2 -0
  24. package/dist/common/Icon/Icon.d.ts +2 -1
  25. package/dist/common/Icon/Icon.jsx +3 -2
  26. package/dist/common/Icon/types.d.ts +8 -0
  27. package/dist/common/Icon/types.js +2 -0
  28. package/dist/common/ScreenReaderText/ScreenReaderText.d.ts +1 -1
  29. package/dist/common/WrapperTag/WrapperTag.d.ts +385 -1
  30. package/dist/common/WrapperTag/WrapperTag.jsx +5 -2
  31. package/dist/common/WrapperTag/types.d.ts +3 -0
  32. package/dist/common/WrapperTag/types.js +2 -0
  33. package/dist/components/Accordion/Accordion.d.ts +3 -2
  34. package/dist/components/Accordion/Accordion.jsx +12 -11
  35. package/dist/components/Accordion/types.d.ts +11 -0
  36. package/dist/components/Accordion/types.js +2 -0
  37. package/dist/components/AspectBox/AspectBox.d.ts +2 -1
  38. package/dist/components/AspectBox/AspectBox.jsx +3 -9
  39. package/dist/components/AspectBox/types.d.ts +3 -0
  40. package/dist/components/AspectBox/types.js +2 -0
  41. package/dist/components/BackToTop/BackToTop.d.ts +2 -1
  42. package/dist/components/BackToTop/BackToTop.jsx +4 -3
  43. package/dist/components/BackToTop/types.d.ts +3 -0
  44. package/dist/components/BackToTop/types.js +2 -0
  45. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +3 -2
  46. package/dist/components/Breadcrumbs/Breadcrumbs.jsx +6 -2
  47. package/dist/components/Breadcrumbs/types.d.ts +5 -0
  48. package/dist/components/Breadcrumbs/types.js +2 -0
  49. package/dist/components/Button/Button.d.ts +2 -1
  50. package/dist/components/Button/Button.jsx +4 -3
  51. package/dist/components/Button/ButtonGroup.d.ts +2 -1
  52. package/dist/components/Button/ButtonGroup.jsx +9 -4
  53. package/dist/components/Button/types.d.ts +20 -0
  54. package/dist/components/Button/types.js +2 -0
  55. package/dist/components/Card/Card.d.ts +34 -0
  56. package/dist/components/Card/Card.jsx +118 -0
  57. package/dist/components/Card/index.d.ts +1 -0
  58. package/dist/components/Card/index.js +8 -0
  59. package/dist/components/Card/types.d.ts +26 -0
  60. package/dist/components/Card/types.js +2 -0
  61. package/dist/components/CategoryItem/CategoryItem.d.ts +2 -1
  62. package/dist/components/CategoryItem/CategoryItem.jsx +8 -5
  63. package/dist/components/CategoryItem/types.d.ts +9 -0
  64. package/dist/components/CategoryItem/types.js +2 -0
  65. package/dist/components/CategoryList/CategoryList.d.ts +2 -1
  66. package/dist/components/CategoryList/CategoryList.jsx +3 -2
  67. package/dist/components/CategoryList/types.d.ts +5 -0
  68. package/dist/components/CategoryList/types.js +2 -0
  69. package/dist/components/Checkbox/Checkbox.d.ts +2 -1
  70. package/dist/components/Checkbox/Checkbox.jsx +4 -3
  71. package/dist/components/Checkbox/CheckboxGroup.d.ts +2 -1
  72. package/dist/components/Checkbox/CheckboxGroup.jsx +5 -4
  73. package/dist/components/Checkbox/types.d.ts +7 -0
  74. package/dist/components/Checkbox/types.js +2 -0
  75. package/dist/components/ConfirmationMessage/ConfirmationMessage.d.ts +2 -1
  76. package/dist/components/ConfirmationMessage/ConfirmationMessage.jsx +3 -2
  77. package/dist/components/ConfirmationMessage/types.d.ts +6 -0
  78. package/dist/components/ConfirmationMessage/types.js +2 -0
  79. package/dist/components/ContentsNav/ContentsNav.d.ts +3 -2
  80. package/dist/components/ContentsNav/ContentsNav.jsx +7 -5
  81. package/dist/components/ContentsNav/types.d.ts +9 -0
  82. package/dist/components/ContentsNav/types.js +2 -0
  83. package/dist/components/CookieBanner/CookieBanner.d.ts +3 -2
  84. package/dist/components/CookieBanner/CookieBanner.jsx +13 -3
  85. package/dist/components/DatePicker/DatePicker.d.ts +2 -1
  86. package/dist/components/DatePicker/DatePicker.jsx +7 -7
  87. package/dist/components/DatePicker/types.d.ts +18 -0
  88. package/dist/components/DatePicker/types.js +2 -0
  89. package/dist/components/Details/Details.d.ts +2 -1
  90. package/dist/components/Details/Details.jsx +6 -2
  91. package/dist/components/Details/types.d.ts +4 -0
  92. package/dist/components/Details/types.js +2 -0
  93. package/dist/components/ErrorMessage/ErrorMessage.d.ts +2 -1
  94. package/dist/components/ErrorMessage/ErrorMessage.jsx +6 -2
  95. package/dist/components/ErrorMessage/types.d.ts +3 -0
  96. package/dist/components/ErrorMessage/types.js +2 -0
  97. package/dist/components/ErrorSummary/ErrorSummary.d.ts +3 -2
  98. package/dist/components/ErrorSummary/ErrorSummary.jsx +6 -2
  99. package/dist/components/ErrorSummary/types.d.ts +8 -0
  100. package/dist/components/ErrorSummary/types.js +2 -0
  101. package/dist/components/FeatureHeader/FeatureHeader.d.ts +7 -5
  102. package/dist/components/FeatureHeader/FeatureHeader.jsx +87 -50
  103. package/dist/components/FeatureHeader/types.d.ts +12 -0
  104. package/dist/components/FeatureHeader/types.js +2 -0
  105. package/dist/components/FileDownload/FileDownload.d.ts +2 -1
  106. package/dist/components/FileDownload/FileDownload.jsx +4 -3
  107. package/dist/components/FileDownload/types.d.ts +10 -0
  108. package/dist/components/FileDownload/types.js +2 -0
  109. package/dist/components/HideThisPage/HideThisPage.d.ts +2 -1
  110. package/dist/components/HideThisPage/HideThisPage.jsx +5 -4
  111. package/dist/components/HideThisPage/types.d.ts +3 -0
  112. package/dist/components/HideThisPage/types.js +2 -0
  113. package/dist/components/InsetText/InsetText.d.ts +1 -1
  114. package/dist/components/InsetText/InsetText.jsx +6 -2
  115. package/dist/components/NotificationBanner/NotificationBanner.d.ts +3 -2
  116. package/dist/components/NotificationBanner/NotificationBanner.jsx +5 -4
  117. package/dist/components/NotificationPanel/NotificationPanel.d.ts +2 -1
  118. package/dist/components/NotificationPanel/NotificationPanel.jsx +3 -2
  119. package/dist/components/NotificationPanel/types.d.ts +6 -0
  120. package/dist/components/NotificationPanel/types.js +2 -0
  121. package/dist/components/NotificationTag/NotificationTag.d.ts +6 -0
  122. package/dist/components/NotificationTag/NotificationTag.jsx +20 -0
  123. package/dist/components/NotificationTag/index.d.ts +1 -0
  124. package/dist/components/NotificationTag/index.js +8 -0
  125. package/dist/components/NotificationTag/types.d.ts +5 -0
  126. package/dist/components/NotificationTag/types.js +2 -0
  127. package/dist/components/PageHeader/PageHeader.d.ts +2 -1
  128. package/dist/components/PageHeader/PageHeader.jsx +6 -2
  129. package/dist/components/PageHeader/types.d.ts +5 -0
  130. package/dist/components/PageHeader/types.js +2 -0
  131. package/dist/components/PageMetadata/PageMetadata.d.ts +3 -2
  132. package/dist/components/PageMetadata/PageMetadata.jsx +8 -4
  133. package/dist/components/PageMetadata/types.d.ts +6 -0
  134. package/dist/components/PageMetadata/types.js +2 -0
  135. package/dist/components/Pagination/Pagination.d.ts +3 -2
  136. package/dist/components/Pagination/Pagination.jsx +7 -5
  137. package/dist/components/Pagination/types.d.ts +18 -0
  138. package/dist/components/Pagination/types.js +2 -0
  139. package/dist/components/PhaseBanner/PhaseBanner.d.ts +2 -1
  140. package/dist/components/PhaseBanner/PhaseBanner.jsx +3 -2
  141. package/dist/components/PhaseBanner/types.d.ts +3 -0
  142. package/dist/components/PhaseBanner/types.js +2 -0
  143. package/dist/components/Question/Question.d.ts +2 -1
  144. package/dist/components/Question/Question.jsx +4 -3
  145. package/dist/components/Question/types.d.ts +9 -0
  146. package/dist/components/Question/types.js +2 -0
  147. package/dist/components/RadioButton/RadioButton.d.ts +2 -1
  148. package/dist/components/RadioButton/RadioButton.jsx +4 -3
  149. package/dist/components/RadioButton/RadioGroup.d.ts +2 -1
  150. package/dist/components/RadioButton/RadioGroup.jsx +3 -2
  151. package/dist/components/RadioButton/types.d.ts +10 -0
  152. package/dist/components/RadioButton/types.js +2 -0
  153. package/dist/components/SearchFacets/SearchFacets.d.ts +4 -3
  154. package/dist/components/SearchFacets/SearchFacets.jsx +3 -2
  155. package/dist/components/SearchFacets/types.d.ts +12 -0
  156. package/dist/components/SearchFacets/types.js +2 -0
  157. package/dist/components/SearchFilters/SearchFilters.d.ts +5 -4
  158. package/dist/components/SearchFilters/types.d.ts +12 -0
  159. package/dist/components/SearchFilters/types.js +2 -0
  160. package/dist/components/SearchResult/SearchResult.d.ts +8 -11
  161. package/dist/components/SearchResult/SearchResult.jsx +6 -7
  162. package/dist/components/SearchResult/types.d.ts +11 -0
  163. package/dist/components/SearchResult/types.js +2 -0
  164. package/dist/components/SearchSort/SearchSort.d.ts +2 -1
  165. package/dist/components/SearchSort/SearchSort.jsx +3 -2
  166. package/dist/components/SearchSort/types.d.ts +7 -0
  167. package/dist/components/SearchSort/types.js +2 -0
  168. package/dist/components/Select/Select.d.ts +2 -1
  169. package/dist/components/Select/Select.jsx +4 -3
  170. package/dist/components/Select/types.d.ts +6 -0
  171. package/dist/components/Select/types.js +2 -0
  172. package/dist/components/SequentialNavigation/SequentialNavigation.d.ts +4 -3
  173. package/dist/components/SequentialNavigation/SequentialNavigation.jsx +10 -6
  174. package/dist/components/SequentialNavigation/types.d.ts +10 -0
  175. package/dist/components/SequentialNavigation/types.js +2 -0
  176. package/dist/components/SideNavigation/SideNavigation.d.ts +4 -3
  177. package/dist/components/SideNavigation/SideNavigation.jsx +10 -7
  178. package/dist/components/SideNavigation/types.d.ts +13 -0
  179. package/dist/components/SideNavigation/types.js +2 -0
  180. package/dist/components/SiteFooter/SiteFooter.d.ts +6 -5
  181. package/dist/components/SiteFooter/SiteFooter.jsx +4 -3
  182. package/dist/components/SiteFooter/types.d.ts +16 -0
  183. package/dist/components/SiteFooter/types.js +2 -0
  184. package/dist/components/SiteHeader/SiteHeader.d.ts +6 -5
  185. package/dist/components/SiteHeader/SiteHeader.jsx +1 -1
  186. package/dist/components/SiteHeader/types.d.ts +20 -0
  187. package/dist/components/SiteHeader/types.js +2 -0
  188. package/dist/components/SiteNavigation/SiteNavigation.d.ts +3 -2
  189. package/dist/components/SiteNavigation/SiteNavigation.jsx +12 -4
  190. package/dist/components/SiteNavigation/types.d.ts +9 -0
  191. package/dist/components/SiteNavigation/types.js +2 -0
  192. package/dist/components/SiteSearch/SiteSearch.d.ts +2 -1
  193. package/dist/components/SiteSearch/SiteSearch.jsx +12 -11
  194. package/dist/components/SiteSearch/types.d.ts +17 -0
  195. package/dist/components/SiteSearch/types.js +2 -0
  196. package/dist/components/SkipLinks/SkipLinks.d.ts +3 -2
  197. package/dist/components/SkipLinks/SkipLinks.jsx +4 -4
  198. package/dist/components/SkipLinks/types.d.ts +8 -0
  199. package/dist/components/SkipLinks/types.js +2 -0
  200. package/dist/components/SummaryCard/SummaryCard.d.ts +4 -2
  201. package/dist/components/SummaryCard/SummaryCard.jsx +5 -4
  202. package/dist/components/SummaryCard/types.d.ts +5 -0
  203. package/dist/components/SummaryCard/types.js +2 -0
  204. package/dist/components/SummaryList/SummaryList.d.ts +6 -4
  205. package/dist/components/SummaryList/SummaryList.jsx +5 -4
  206. package/dist/components/SummaryList/types.d.ts +6 -0
  207. package/dist/components/SummaryList/types.js +2 -0
  208. package/dist/components/Table/Table.d.ts +2 -1
  209. package/dist/components/Table/Table.jsx +5 -4
  210. package/dist/components/Table/types.d.ts +6 -0
  211. package/dist/components/Table/types.js +2 -0
  212. package/dist/components/Tabs/Tabs.d.ts +3 -2
  213. package/dist/components/Tabs/Tabs.jsx +6 -5
  214. package/dist/components/Tabs/types.d.ts +16 -0
  215. package/dist/components/Tabs/types.js +2 -0
  216. package/dist/components/Tag/Tag.d.ts +2 -1
  217. package/dist/components/Tag/Tag.jsx +7 -3
  218. package/dist/components/Tag/types.d.ts +4 -0
  219. package/dist/components/Tag/types.js +2 -0
  220. package/dist/components/TaskList/TaskList.d.ts +4 -3
  221. package/dist/components/TaskList/TaskList.jsx +11 -8
  222. package/dist/components/TaskList/types.d.ts +17 -0
  223. package/dist/components/TaskList/types.js +2 -0
  224. package/dist/components/TextInput/TextInput.d.ts +2 -1
  225. package/dist/components/TextInput/TextInput.jsx +10 -9
  226. package/dist/components/TextInput/types.d.ts +11 -0
  227. package/dist/components/TextInput/types.js +2 -0
  228. package/dist/components/Textarea/Textarea.d.ts +2 -1
  229. package/dist/components/Textarea/Textarea.jsx +6 -5
  230. package/dist/components/WarningText/WarningText.d.ts +1 -1
  231. package/dist/components/WarningText/WarningText.jsx +6 -2
  232. package/dist/hooks/useTracking/useTracking.js +0 -1
  233. package/eslint.config.mjs +32 -0
  234. package/package.json +12 -5
  235. package/src/common/AbstractNotificationBanner/AbstractNotificationBanner.tsx +13 -10
  236. package/src/common/AbstractNotificationBanner/types.ts +15 -0
  237. package/src/common/ActionLink/ActionLink.tsx +3 -1
  238. package/src/common/ActionLink/types.ts +8 -0
  239. package/src/common/ConditionalWrapper/ConditionalWrapper.tsx +10 -2
  240. package/src/common/ConditionalWrapper/types.ts +4 -0
  241. package/src/common/FileIcon/FileIcon.tsx +2 -1
  242. package/src/common/FileIcon/types.ts +7 -0
  243. package/src/common/HintText/HintText.test.tsx +3 -15
  244. package/src/common/HintText/HintText.tsx +4 -4
  245. package/src/common/HintText/types.ts +4 -0
  246. package/src/common/Icon/Icon.tsx +5 -3
  247. package/src/common/Icon/types.ts +9 -0
  248. package/src/common/ScreenReaderText/ScreenReaderText.tsx +1 -1
  249. package/src/common/WrapperTag/WrapperTag.tsx +5 -3
  250. package/src/common/WrapperTag/types.ts +3 -0
  251. package/src/components/Accordion/Accordion.Item.stories.tsx +1 -5
  252. package/src/components/Accordion/Accordion.stories.tsx +5 -5
  253. package/src/components/Accordion/Accordion.test.tsx +11 -0
  254. package/src/components/Accordion/Accordion.tsx +15 -13
  255. package/src/components/Accordion/types.ts +13 -0
  256. package/src/components/AspectBox/AspectBox.stories.tsx +1 -2
  257. package/src/components/AspectBox/AspectBox.tsx +8 -14
  258. package/src/components/AspectBox/types.ts +3 -0
  259. package/src/components/BackToTop/BackToTop.test.tsx +21 -1
  260. package/src/components/BackToTop/BackToTop.tsx +6 -4
  261. package/src/components/BackToTop/types.ts +3 -0
  262. package/src/components/Breadcrumbs/Breadcrumbs.tsx +7 -4
  263. package/src/components/Breadcrumbs/types.ts +6 -0
  264. package/src/components/Button/Button.tsx +6 -4
  265. package/src/components/Button/ButtonGroup.stories.tsx +22 -0
  266. package/src/components/Button/ButtonGroup.test.tsx +21 -0
  267. package/src/components/Button/ButtonGroup.tsx +9 -4
  268. package/src/components/Button/types.ts +22 -0
  269. package/src/components/Card/Card.stories.tsx +446 -0
  270. package/src/components/Card/Card.test.tsx +282 -0
  271. package/src/components/Card/Card.tsx +208 -0
  272. package/src/components/Card/index.ts +1 -0
  273. package/src/components/Card/types.ts +30 -0
  274. package/src/components/CategoryItem/CategoryItem.tsx +10 -6
  275. package/src/components/CategoryItem/types.ts +10 -0
  276. package/src/components/CategoryList/CategoryList.tsx +7 -4
  277. package/src/components/CategoryList/types.ts +5 -0
  278. package/src/components/Checkbox/Checkbox.stories.tsx +3 -3
  279. package/src/components/Checkbox/Checkbox.test.tsx +30 -0
  280. package/src/components/Checkbox/Checkbox.tsx +8 -7
  281. package/src/components/Checkbox/CheckboxGroup.test.tsx +10 -0
  282. package/src/components/Checkbox/CheckboxGroup.tsx +7 -6
  283. package/src/components/Checkbox/types.ts +9 -0
  284. package/src/components/ConfirmationMessage/ConfirmationMessage.tsx +5 -3
  285. package/src/components/ConfirmationMessage/types.ts +7 -0
  286. package/src/components/ContentsNav/ContentsNav.stories.tsx +5 -1
  287. package/src/components/ContentsNav/ContentsNav.tsx +11 -7
  288. package/src/components/ContentsNav/types.ts +11 -0
  289. package/src/components/CookieBanner/CookieBanner.Buttons.stories.tsx +3 -3
  290. package/src/components/CookieBanner/CookieBanner.stories.tsx +6 -6
  291. package/src/components/CookieBanner/CookieBanner.test.tsx +24 -1
  292. package/src/components/CookieBanner/CookieBanner.tsx +16 -5
  293. package/src/components/DatePicker/DatePicker.test.tsx +52 -19
  294. package/src/components/DatePicker/DatePicker.tsx +8 -8
  295. package/src/components/DatePicker/types.ts +19 -0
  296. package/src/components/Details/Details.stories.tsx +1 -1
  297. package/src/components/Details/Details.tsx +6 -3
  298. package/src/components/Details/types.ts +4 -0
  299. package/src/components/ErrorMessage/ErrorMessage.tsx +6 -3
  300. package/src/components/ErrorMessage/types.ts +3 -0
  301. package/src/components/ErrorSummary/ErrorSummary.test.tsx +1 -1
  302. package/src/components/ErrorSummary/ErrorSummary.tsx +6 -4
  303. package/src/components/ErrorSummary/types.ts +11 -0
  304. package/src/components/FeatureHeader/FeatureHeader.stories.tsx +186 -23
  305. package/src/components/FeatureHeader/FeatureHeader.test.tsx +298 -0
  306. package/src/components/FeatureHeader/FeatureHeader.tsx +83 -58
  307. package/src/components/FeatureHeader/types.ts +13 -0
  308. package/src/components/FileDownload/FileDownload.test.tsx +1 -5
  309. package/src/components/FileDownload/FileDownload.tsx +6 -4
  310. package/src/components/FileDownload/types.ts +11 -0
  311. package/src/components/HideThisPage/HideThisPage.test.tsx +12 -1
  312. package/src/components/HideThisPage/HideThisPage.tsx +7 -5
  313. package/src/components/HideThisPage/types.ts +3 -0
  314. package/src/components/InsetText/InsetText.tsx +5 -3
  315. package/src/components/NotificationBanner/NotificationBanner.stories.tsx +2 -2
  316. package/src/components/NotificationBanner/NotificationBanner.test.tsx +10 -0
  317. package/src/components/NotificationBanner/NotificationBanner.tsx +8 -6
  318. package/src/components/NotificationPanel/NotificationPanel.tsx +5 -3
  319. package/src/components/NotificationPanel/types.ts +7 -0
  320. package/src/components/NotificationTag/NotificationTag.stories.tsx +68 -0
  321. package/src/components/NotificationTag/NotificationTag.test.tsx +70 -0
  322. package/src/components/NotificationTag/NotificationTag.tsx +32 -0
  323. package/src/components/NotificationTag/index.ts +1 -0
  324. package/src/components/NotificationTag/types.ts +5 -0
  325. package/src/components/PageHeader/PageHeader.tsx +6 -3
  326. package/src/components/PageHeader/types.ts +5 -0
  327. package/src/components/PageMetadata/PageMetadata.stories.tsx +1 -1
  328. package/src/components/PageMetadata/PageMetadata.tsx +10 -7
  329. package/src/components/PageMetadata/types.ts +7 -0
  330. package/src/components/Pagination/Pagination.test.tsx +20 -0
  331. package/src/components/Pagination/Pagination.tsx +12 -8
  332. package/src/components/Pagination/types.ts +20 -0
  333. package/src/components/PhaseBanner/PhaseBanner.stories.tsx +1 -4
  334. package/src/components/PhaseBanner/PhaseBanner.tsx +5 -3
  335. package/src/components/PhaseBanner/types.ts +3 -0
  336. package/src/components/Question/Question.tsx +6 -4
  337. package/src/components/Question/types.ts +9 -0
  338. package/src/components/RadioButton/RadioButton.test.tsx +30 -0
  339. package/src/components/RadioButton/RadioButton.tsx +8 -7
  340. package/src/components/RadioButton/RadioGroup.tsx +5 -3
  341. package/src/components/RadioButton/types.ts +12 -0
  342. package/src/components/SearchFacets/SearchFacets.Group.stories.tsx +2 -3
  343. package/src/components/SearchFacets/SearchFacets.stories.tsx +2 -2
  344. package/src/components/SearchFacets/SearchFacets.tsx +10 -8
  345. package/src/components/SearchFacets/types.ts +14 -0
  346. package/src/components/SearchFilters/SearchFilters.Panel.stories.tsx +18 -7
  347. package/src/components/SearchFilters/SearchFilters.stories.tsx +1 -1
  348. package/src/components/SearchFilters/SearchFilters.tsx +4 -3
  349. package/src/components/SearchFilters/types.ts +14 -0
  350. package/src/components/SearchResult/SearchResult.stories.tsx +23 -23
  351. package/src/components/SearchResult/SearchResult.test.tsx +5 -4
  352. package/src/components/SearchResult/SearchResult.tsx +15 -15
  353. package/src/components/SearchResult/types.ts +13 -0
  354. package/src/components/SearchSort/SearchSort.stories.tsx +2 -1
  355. package/src/components/SearchSort/SearchSort.tsx +5 -3
  356. package/src/components/SearchSort/types.ts +7 -0
  357. package/src/components/Select/Select.test.tsx +42 -0
  358. package/src/components/Select/Select.tsx +8 -6
  359. package/src/components/Select/types.ts +7 -0
  360. package/src/components/SequentialNavigation/SequentialNavigation.tsx +13 -10
  361. package/src/components/SequentialNavigation/types.ts +12 -0
  362. package/src/components/SideNavigation/SideNavigation.test.tsx +24 -0
  363. package/src/components/SideNavigation/SideNavigation.tsx +14 -10
  364. package/src/components/SideNavigation/types.ts +16 -0
  365. package/src/components/SiteFooter/SiteFooter.tsx +10 -8
  366. package/src/components/SiteFooter/types.ts +20 -0
  367. package/src/components/SiteHeader/SiteHeader.stories.tsx +4 -3
  368. package/src/components/SiteHeader/SiteHeader.test.tsx +29 -16
  369. package/src/components/SiteHeader/SiteHeader.tsx +10 -9
  370. package/src/components/SiteHeader/types.ts +22 -0
  371. package/src/components/SiteNavigation/SiteNavigation.test.tsx +16 -1
  372. package/src/components/SiteNavigation/SiteNavigation.tsx +13 -6
  373. package/src/components/SiteNavigation/types.ts +11 -0
  374. package/src/components/SiteSearch/SiteSearch.stories.tsx +4 -2
  375. package/src/components/SiteSearch/SiteSearch.test.tsx +22 -0
  376. package/src/components/SiteSearch/SiteSearch.tsx +15 -13
  377. package/src/components/SiteSearch/types.ts +19 -0
  378. package/src/components/SkipLinks/SkipLinks.stories.tsx +3 -3
  379. package/src/components/SkipLinks/SkipLinks.tsx +7 -7
  380. package/src/components/SkipLinks/types.ts +9 -0
  381. package/src/components/SummaryCard/SummaryCard.test.tsx +0 -11
  382. package/src/components/SummaryCard/SummaryCard.tsx +9 -6
  383. package/src/components/SummaryCard/types.ts +6 -0
  384. package/src/components/SummaryList/SummaryList.Item.stories.tsx +5 -5
  385. package/src/components/SummaryList/SummaryList.stories.tsx +1 -1
  386. package/src/components/SummaryList/SummaryList.test.tsx +1 -6
  387. package/src/components/SummaryList/SummaryList.tsx +11 -9
  388. package/src/components/SummaryList/types.ts +7 -0
  389. package/src/components/Table/Table.test.tsx +36 -0
  390. package/src/components/Table/Table.tsx +7 -5
  391. package/src/components/Table/types.ts +6 -0
  392. package/src/components/Tabs/Tabs.Item.stories.tsx +7 -7
  393. package/src/components/Tabs/Tabs.stories.tsx +3 -3
  394. package/src/components/Tabs/Tabs.test.tsx +14 -0
  395. package/src/components/Tabs/Tabs.tsx +12 -9
  396. package/src/components/Tabs/types.ts +19 -0
  397. package/src/components/Tag/Tag.tsx +7 -4
  398. package/src/components/Tag/types.ts +5 -0
  399. package/src/components/TaskList/TaskList.Group.stories.tsx +0 -5
  400. package/src/components/TaskList/TaskList.stories.tsx +0 -1
  401. package/src/components/TaskList/TaskList.tsx +17 -13
  402. package/src/components/TaskList/types.ts +20 -0
  403. package/src/components/TextInput/TextInput.test.tsx +53 -1
  404. package/src/components/TextInput/TextInput.tsx +17 -12
  405. package/src/components/TextInput/types.ts +12 -0
  406. package/src/components/Textarea/Textarea.test.tsx +53 -1
  407. package/src/components/Textarea/Textarea.tsx +10 -8
  408. package/src/components/WarningText/WarningText.tsx +5 -3
  409. package/src/hooks/useTracking/useTracking.test.tsx +5 -7
  410. package/src/hooks/useTracking/useTracking.ts +0 -1
  411. package/src/images/icons/arrow_upward.tsx +10 -10
  412. package/src/images/icons/calendar_today.tsx +10 -10
  413. package/src/images/icons/cancel.tsx +8 -8
  414. package/src/images/icons/check_circle.tsx +10 -10
  415. package/src/images/icons/chevron_left.tsx +10 -10
  416. package/src/images/icons/chevron_right.tsx +10 -10
  417. package/src/images/icons/close.tsx +10 -10
  418. package/src/images/icons/description.tsx +10 -10
  419. package/src/images/icons/double_chevron_left.tsx +8 -8
  420. package/src/images/icons/double_chevron_right.tsx +8 -8
  421. package/src/images/icons/error.tsx +10 -10
  422. package/src/images/icons/expand_less.tsx +10 -10
  423. package/src/images/icons/expand_more.tsx +10 -10
  424. package/src/images/icons/list.tsx +13 -13
  425. package/src/images/icons/menu.tsx +10 -10
  426. package/src/images/icons/priority_high.tsx +11 -11
  427. package/src/images/icons/search.tsx +10 -10
  428. package/src/shared-types.ts +40 -0
  429. package/static/images/illustration.svg +502 -0
  430. package/tsconfig.json +0 -3
  431. package/vite.config.ts +6 -1
  432. package/@types/common/AbstractNotificationBanner.d.ts +0 -17
  433. package/@types/common/ActionLink.d.ts +0 -8
  434. package/@types/common/ConditionalWrapper.d.ts +0 -6
  435. package/@types/common/FileIcon.d.ts +0 -7
  436. package/@types/common/HintText.d.ts +0 -6
  437. package/@types/common/Icon.d.ts +0 -9
  438. package/@types/common/ScreenReaderText.d.ts +0 -4
  439. package/@types/common/WrapperTag.d.ts +0 -5
  440. package/@types/components/Accordion.d.ts +0 -15
  441. package/@types/components/AspectBox.d.ts +0 -5
  442. package/@types/components/BackToTop.d.ts +0 -5
  443. package/@types/components/Breadcrumbs.d.ts +0 -11
  444. package/@types/components/Button.d.ts +0 -17
  445. package/@types/components/ButtonGroup.d.ts +0 -5
  446. package/@types/components/CategoryItem.d.ts +0 -10
  447. package/@types/components/CategoryList.d.ts +0 -7
  448. package/@types/components/Checkbox.d.ts +0 -11
  449. package/@types/components/ConfirmationMessage.d.ts +0 -7
  450. package/@types/components/ContentsNav.d.ts +0 -13
  451. package/@types/components/DatePicker.d.ts +0 -20
  452. package/@types/components/Details.d.ts +0 -6
  453. package/@types/components/ErrorMessage.d.ts +0 -5
  454. package/@types/components/ErrorSummary.d.ts +0 -12
  455. package/@types/components/FileDownload.d.ts +0 -11
  456. package/@types/components/HideThisPage.d.ts +0 -5
  457. package/@types/components/InsetText.d.ts +0 -5
  458. package/@types/components/Metadata.d.ts +0 -11
  459. package/@types/components/NotificationPanel.d.ts +0 -7
  460. package/@types/components/PageHeader.d.ts +0 -7
  461. package/@types/components/Pagination.d.ts +0 -22
  462. package/@types/components/PhaseBanner.d.ts +0 -5
  463. package/@types/components/Question.d.ts +0 -11
  464. package/@types/components/RadioButton.d.ts +0 -14
  465. package/@types/components/SearchFacets.d.ts +0 -18
  466. package/@types/components/SearchFilters.d.ts +0 -14
  467. package/@types/components/SearchResult.d.ts +0 -30
  468. package/@types/components/SearchSort.d.ts +0 -9
  469. package/@types/components/Select.d.ts +0 -7
  470. package/@types/components/SequentialNavigation.d.ts +0 -14
  471. package/@types/components/SideNavigation.d.ts +0 -18
  472. package/@types/components/SiteFooter.d.ts +0 -25
  473. package/@types/components/SiteHeader.d.ts +0 -20
  474. package/@types/components/SiteNavigation.d.ts +0 -13
  475. package/@types/components/SiteSearch.d.ts +0 -14
  476. package/@types/components/SkipLinks.d.ts +0 -13
  477. package/@types/components/SummaryCard.d.ts +0 -6
  478. package/@types/components/SummaryList.d.ts +0 -14
  479. package/@types/components/Table.d.ts +0 -8
  480. package/@types/components/Tabs.d.ts +0 -21
  481. package/@types/components/Tag.d.ts +0 -5
  482. package/@types/components/TaskList.d.ts +0 -22
  483. package/@types/components/TextInput.d.ts +0 -12
  484. package/@types/components/Textarea.d.ts +0 -4
  485. package/@types/components/WarningText.d.ts +0 -5
  486. package/@types/global.d.ts +0 -1
  487. package/@types/sgds.d.ts +0 -49
  488. package/dist/index.d.ts +0 -4
  489. package/dist/index.js +0 -40
  490. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1 @@
1
+ export { default } from './NotificationTag';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = void 0;
7
+ var NotificationTag_1 = require("./NotificationTag");
8
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(NotificationTag_1).default; } });
@@ -0,0 +1,5 @@
1
+ export interface NotificationTagProps extends React.AllHTMLAttributes<HTMLElement> {
2
+ description?: string;
3
+ isHidden?: boolean;
4
+ label?: string;
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,5 +1,6 @@
1
+ import { PageHeaderProps } from "./types";
1
2
  declare const PageHeader: {
2
- ({ children, className, label, title, titleId, ...props }: SGDS.Component.PageHeader): import("react").JSX.Element;
3
+ ({ children, className, label, title, titleId, ...props }: PageHeaderProps): import("react").JSX.Element;
3
4
  displayName: string;
4
5
  };
5
6
  export default PageHeader;
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const clsx_1 = __importDefault(require("clsx"));
3
7
  const PageHeader = ({ children, className, label, title, titleId, ...props }) => {
4
- return (<header className={[
8
+ return (<header className={(0, clsx_1.default)([
5
9
  'ds_page-header',
6
10
  className
7
- ].join(' ')} {...props}>
11
+ ])} {...props}>
8
12
  {label && <span className="ds_page-header__label ds_content-label">{label}</span>}
9
13
  <h1 id={titleId} className="ds_page-header__title">{title}</h1>
10
14
 
@@ -0,0 +1,5 @@
1
+ export interface PageHeaderProps extends React.AllHTMLAttributes<HTMLHeadingElement> {
2
+ label?: string;
3
+ title: string;
4
+ titleId?: string;
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,8 +1,9 @@
1
+ import { MetdataItemProps, MetadataProps } from "./types";
1
2
  declare const Metadata: {
2
- ({ children, className, isInline, ...props }: SGDS.Component.Metadata): import("react").JSX.Element;
3
+ ({ children, className, isInline, ...props }: MetadataProps): import("react").JSX.Element;
3
4
  displayName: string;
4
5
  Item: {
5
- ({ children, className, name, ...props }: SGDS.Component.Metadata.Item): import("react").JSX.Element;
6
+ ({ children, className, name, ...props }: MetdataItemProps): import("react").JSX.Element;
6
7
  displayName: string;
7
8
  };
8
9
  };
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const clsx_1 = __importDefault(require("clsx"));
3
7
  const MetadataItem = ({ children, className, name, ...props }) => {
4
- return (<div className={[
8
+ return (<div className={(0, clsx_1.default)([
5
9
  'ds_metadata__item',
6
10
  className
7
- ].join(' ')} {...props}>
11
+ ])} {...props}>
8
12
  <dt className="ds_metadata__key">{name}</dt>{' '}
9
13
  <dd className="ds_metadata__value">
10
14
  {children}{' '}
@@ -12,11 +16,11 @@ const MetadataItem = ({ children, className, name, ...props }) => {
12
16
  </div>);
13
17
  };
14
18
  const Metadata = ({ children, className, isInline, ...props }) => {
15
- return (<dl className={[
19
+ return (<dl className={(0, clsx_1.default)([
16
20
  'ds_metadata',
17
21
  isInline && 'ds_metadata--inline',
18
22
  className
19
- ].join(' ')} {...props}>
23
+ ])} {...props}>
20
24
  {children}
21
25
  </dl>);
22
26
  };
@@ -0,0 +1,6 @@
1
+ export interface MetdataItemProps extends React.AllHTMLAttributes<HTMLElement> {
2
+ name: string;
3
+ }
4
+ export interface MetadataProps extends React.AllHTMLAttributes<HTMLDListElement> {
5
+ isInline?: boolean;
6
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,7 +1,8 @@
1
- export declare const Page: ({ ariaLabel, children, className, href, isCurrent, linkComponent, onClick }: SGDS.Component.Pagination.Page) => import("react").JSX.Element;
1
+ import { PaginationPageProps, PaginationProps } from "./types";
2
+ export declare const Page: ({ ariaLabel, children, className, href, isCurrent, linkComponent, onClick }: PaginationPageProps) => import("react").JSX.Element;
2
3
  export declare const Ellipsis: () => import("react").JSX.Element;
3
4
  declare const Pagination: {
4
- ({ ariaLabel, className, onClick, padding, page, pattern, totalPages, linkComponent, ...props }: SGDS.Component.Pagination): import("react").JSX.Element;
5
+ ({ ariaLabel, className, onClick, padding, page, pattern, totalPages, linkComponent, ...props }: PaginationProps): import("react").JSX.Element;
5
6
  displayName: string;
6
7
  };
7
8
  export default Pagination;
@@ -5,18 +5,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Ellipsis = exports.Page = void 0;
7
7
  const Icon_1 = __importDefault(require("../../common/Icon"));
8
+ const clsx_1 = __importDefault(require("clsx"));
8
9
  const Page = ({ ariaLabel, children, className, href, isCurrent = false, linkComponent, onClick }) => {
9
10
  function handleClick(event) {
11
+ /* istanbul ignore else */
10
12
  if (typeof onClick === 'function') {
11
13
  onClick(event);
12
14
  }
13
15
  }
14
16
  function processChildren(children) {
15
- const classNames = [
17
+ const classNames = (0, clsx_1.default)([
16
18
  'ds_pagination__link',
17
19
  className,
18
- isCurrent ? 'ds_current' : undefined
19
- ].join(' ');
20
+ isCurrent && 'ds_current'
21
+ ]);
20
22
  const linkProps = {
21
23
  'aria-label': ariaLabel,
22
24
  href: href,
@@ -77,10 +79,10 @@ const Pagination = ({ ariaLabel = 'Pages', className, onClick, padding = 1, page
77
79
  if ((page + padding < totalPages - 1)) {
78
80
  includeLast = true;
79
81
  }
80
- return (<nav className={[
82
+ return (<nav className={(0, clsx_1.default)([
81
83
  'ds_pagination',
82
84
  className
83
- ].join(' ')} aria-label={ariaLabel} {...props}>
85
+ ])} aria-label={ariaLabel} {...props}>
84
86
  <ul className="ds_pagination__list">
85
87
  {page > 1 && (<exports.Page ariaLabel="Previous page" className="ds_pagination__link--text ds_pagination__link--icon" data-search="pagination-previous" href={pattern.replace('$1', String(page - 1))} onClick={onClick}>
86
88
  <Icon_1.default icon="ChevronLeft"/>
@@ -0,0 +1,18 @@
1
+ import { LinkComponent } from '../../shared-types';
2
+ export interface PaginationPageProps extends React.AllHTMLAttributes<HTMLElement> {
3
+ ariaLabel: React.AriaAttributes['aria-label'];
4
+ isCurrent?: boolean;
5
+ href: string;
6
+ linkComponent?: LinkComponent;
7
+ onClick?: React.EventHandler<React.FormEvent>;
8
+ }
9
+ export interface PaginationProps extends React.AllHTMLAttributes<HTMLElement> {
10
+ ariaLabel: React.AriaAttributes['aria-label'];
11
+ className?: string;
12
+ linkComponent?: LinkComponent;
13
+ onClick?: React.EventHandler<React.FormEvent>;
14
+ padding: number;
15
+ page: number;
16
+ pattern: string;
17
+ totalPages: number;
18
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,5 +1,6 @@
1
+ import { PhaseBannerProps } from "./types";
1
2
  declare const PhaseBanner: {
2
- ({ children, className, phaseName, ...props }: SGDS.Component.PhaseBanner): import("react").JSX.Element;
3
+ ({ children, className, phaseName, ...props }: PhaseBannerProps): import("react").JSX.Element;
3
4
  displayName: string;
4
5
  };
5
6
  export default PhaseBanner;
@@ -4,11 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Tag_1 = __importDefault(require("../Tag/Tag"));
7
+ const clsx_1 = __importDefault(require("clsx"));
7
8
  const PhaseBanner = ({ children, className, phaseName, ...props }) => {
8
- return (<div className={[
9
+ return (<div className={(0, clsx_1.default)([
9
10
  'ds_phase-banner',
10
11
  className
11
- ].join(' ')} {...props}>
12
+ ])} {...props}>
12
13
  <div className="ds_wrapper">
13
14
  <p className="ds_phase-banner__content">
14
15
  {phaseName && <Tag_1.default className="ds_phase-banner__tag">{phaseName}</Tag_1.default>}
@@ -0,0 +1,3 @@
1
+ export interface PhaseBannerProps extends React.AllHTMLAttributes<HTMLDivElement> {
2
+ phaseName: string;
3
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,5 +1,6 @@
1
+ import { QuestionProps } from './types';
1
2
  declare const Question: {
2
- ({ children, className, errorMessage, hasError, hintText, legend, tagName, ...props }: SGDS.Component.Question): import("react").JSX.Element;
3
+ ({ children, className, errorMessage, hasError, hintText, legend, tagName, ...props }: QuestionProps): import("react").JSX.Element;
3
4
  displayName: string;
4
5
  };
5
6
  export default Question;
@@ -6,14 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const ErrorMessage_1 = __importDefault(require("../ErrorMessage"));
7
7
  const HintText_1 = __importDefault(require("../../common/HintText"));
8
8
  const WrapperTag_1 = __importDefault(require("../../common/WrapperTag"));
9
+ const clsx_1 = __importDefault(require("clsx"));
9
10
  const Question = function ({ children, className, errorMessage, hasError, hintText, legend, tagName = 'div', ...props }) {
10
- return (<WrapperTag_1.default tagName={tagName} className={[
11
+ return (<WrapperTag_1.default tagName={tagName} className={(0, clsx_1.default)([
11
12
  'ds_question',
12
13
  hasError && 'ds_question--error',
13
14
  className
14
- ].join(' ')} {...props}>
15
+ ])} {...props}>
15
16
  {legend && <legend>{legend}</legend>}
16
- {hintText && <HintText_1.default text={hintText}/>}
17
+ {hintText && <HintText_1.default>{hintText}</HintText_1.default>}
17
18
  {hasError && errorMessage && <ErrorMessage_1.default>{errorMessage}</ErrorMessage_1.default>}
18
19
  {children}
19
20
  </WrapperTag_1.default>);
@@ -0,0 +1,9 @@
1
+ type QuestionTags = 'div' | 'fieldset';
2
+ export interface QuestionProps extends React.AllHTMLAttributes<HTMLElement> {
3
+ errorMessage?: string | React.ReactNode;
4
+ hasError?: boolean;
5
+ hintText?: string | React.ReactNode;
6
+ legend?: string;
7
+ tagName: QuestionTags;
8
+ }
9
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,5 +1,6 @@
1
+ import { RadioButtonProps } from './types';
1
2
  declare const RadioButton: {
2
- ({ checked, hintText, id, isSmall, label, name, onBlur, onChange }: SGDS.Component.RadioButton): import("react").JSX.Element;
3
+ ({ checked, hintText, id, isSmall, label, name, onBlur, onChange }: RadioButtonProps): import("react").JSX.Element;
3
4
  displayName: string;
4
5
  };
5
6
  export default RadioButton;
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = require("react");
7
7
  const HintText_1 = __importDefault(require("../../common/HintText"));
8
8
  const context_1 = require("../../utils/context");
9
+ const clsx_1 = __importDefault(require("clsx"));
9
10
  const RadioButton = ({ checked, hintText, id, isSmall, label, name, onBlur, onChange }) => {
10
11
  const hintTextId = `hint-text-${id}`;
11
12
  function handleBlur(event) {
@@ -20,13 +21,13 @@ const RadioButton = ({ checked, hintText, id, isSmall, label, name, onBlur, onCh
20
21
  }
21
22
  isSmall = isSmall || (0, react_1.useContext)(context_1.CheckboxRadioContext).isSmall;
22
23
  name = name || (0, react_1.useContext)(context_1.CheckboxRadioContext).name;
23
- return (<div className={[
24
+ return (<div className={(0, clsx_1.default)([
24
25
  'ds_radio',
25
26
  isSmall && 'ds_radio--small'
26
- ].join(' ')}>
27
+ ])}>
27
28
  <input aria-describedby={hintText ? hintTextId : undefined} className="ds_radio__input" defaultChecked={!!checked} id={id} name={name} onBlur={handleBlur} onChange={handleChange} type="radio"/>
28
29
  <label className="ds_radio__label" htmlFor={id}>{label}</label>
29
- {hintText && <HintText_1.default id={hintTextId} text={hintText}/>}
30
+ {hintText && <HintText_1.default id={hintTextId}>{hintText}</HintText_1.default>}
30
31
  </div>);
31
32
  };
32
33
  RadioButton.displayName = 'RadioButton';
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
+ import { RadioGroupProps } from './types';
2
3
  declare const RadioGroup: {
3
- ({ children, className, isInline, isSmall, name, ...props }: SGDS.Component.RadioButton.Group): React.JSX.Element;
4
+ ({ children, className, isInline, isSmall, name, ...props }: RadioGroupProps): React.JSX.Element;
4
5
  displayName: string;
5
6
  };
6
7
  export default RadioGroup;
@@ -5,13 +5,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
7
  const context_1 = require("../../utils/context");
8
+ const clsx_1 = __importDefault(require("clsx"));
8
9
  const RadioGroup = ({ children, className, isInline, isSmall, name = '', ...props }) => {
9
- return (<div className={[
10
+ return (<div className={(0, clsx_1.default)([
10
11
  'ds_radios',
11
12
  'ds_field-group',
12
13
  isInline && 'ds_field-group--inline',
13
14
  className
14
- ].join(' ')} {...props}>
15
+ ])} {...props}>
15
16
  <context_1.CheckboxRadioContext value={{ isSmall: !!isSmall, name }}>
16
17
  {children}
17
18
  </context_1.CheckboxRadioContext>
@@ -0,0 +1,10 @@
1
+ import { CheckboxRadioBase } from "../../shared-types";
2
+ export interface RadioGroupProps extends React.AllHTMLAttributes<HTMLElement> {
3
+ isInline?: boolean;
4
+ name?: string;
5
+ isSmall?: boolean;
6
+ }
7
+ export interface RadioButtonProps extends CheckboxRadioBase<HTMLInputElement> {
8
+ id: string;
9
+ name?: string;
10
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,13 +1,14 @@
1
1
  import React from 'react';
2
+ import { SearchFacetsGroupProps, SearchFacetsItemProps, SearchFacetsProps } from './types';
2
3
  declare const Facets: {
3
- ({ children, className, ...props }: SGDS.Component.SearchFacets): React.JSX.Element;
4
+ ({ children, className, ...props }: SearchFacetsProps): React.JSX.Element;
4
5
  displayName: string;
5
6
  Item: {
6
- ({ accessibleName, joinContent, onClick, title, ...props }: SGDS.Component.SearchFacets.Item): React.JSX.Element;
7
+ ({ accessibleName, joinContent, onClick, title, ...props }: SearchFacetsItemProps): React.JSX.Element;
7
8
  displayName: string;
8
9
  };
9
10
  Group: {
10
- ({ children, joinContent, title, ...props }: SGDS.Component.SearchFacets.Group): React.JSX.Element;
11
+ ({ children, joinContent, title, ...props }: SearchFacetsGroupProps): React.JSX.Element;
11
12
  displayName: string;
12
13
  };
13
14
  };
@@ -39,6 +39,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  const react_1 = __importStar(require("react"));
40
40
  const Icon_1 = __importDefault(require("../../common/Icon"));
41
41
  const icons_1 = require("../../../src/images/icons");
42
+ const clsx_1 = __importDefault(require("clsx"));
42
43
  const FacetsItem = ({ accessibleName, joinContent, onClick, title, ...props }) => {
43
44
  accessibleName = accessibleName ? accessibleName : title;
44
45
  return (<dd className="ds_facet-wrapper" {...props}>
@@ -78,10 +79,10 @@ const Facets = ({ children, className, ...props }) => {
78
79
  react_1.Children.forEach(children, child => {
79
80
  processChild(child);
80
81
  });
81
- return (<div className={[
82
+ return (<div className={(0, clsx_1.default)([
82
83
  "ds_facets",
83
84
  className
84
- ].join(' ')} {...props}>
85
+ ])} {...props}>
85
86
  <p className="visually-hidden">There {facetCount === 1 ? 'is' : 'are'} {facetCount} search {facetCount === 1 ? 'filter' : 'filters'} applied</p>
86
87
  <dl className="ds_facets__list">
87
88
  {children}
@@ -0,0 +1,12 @@
1
+ export interface SearchFacetsGroupProps extends React.AllHTMLAttributes<HTMLElement> {
2
+ joinContent?: string;
3
+ title: string;
4
+ }
5
+ export interface SearchFacetsItemProps extends React.AllHTMLAttributes<HTMLElement> {
6
+ accessibleName?: string;
7
+ joinContent?: string;
8
+ title: string;
9
+ }
10
+ export interface SearchFacetsProps extends React.AllHTMLAttributes<HTMLElement> {
11
+ headingId?: string;
12
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,15 +1,16 @@
1
+ import { SearchFiltersPanelProps, SearchFiltersCheckboxGroupProps, SearchFiltersProps } from "./types";
1
2
  export declare const FilterPanel: {
2
- ({ activeFilterCount, children, isScrollable, legend, heading, ...props }: SGDS.Component.SearchFilters.Panel): import("react").JSX.Element;
3
+ ({ activeFilterCount, children, isScrollable, legend, heading, ...props }: SearchFiltersPanelProps): import("react").JSX.Element;
3
4
  displayName: string;
4
5
  };
5
6
  declare const Filters: {
6
- ({ children, searchResultsContainerId, ...props }: SGDS.Component.SearchFilters): import("react").JSX.Element;
7
+ ({ children, searchResultsContainerId, ...props }: SearchFiltersProps): import("react").JSX.Element;
7
8
  Panel: {
8
- ({ activeFilterCount, children, isScrollable, legend, heading, ...props }: SGDS.Component.SearchFilters.Panel): import("react").JSX.Element;
9
+ ({ activeFilterCount, children, isScrollable, legend, heading, ...props }: SearchFiltersPanelProps): import("react").JSX.Element;
9
10
  displayName: string;
10
11
  };
11
12
  CheckboxGroup: {
12
- ({ children, ...props }: any): import("react").JSX.Element;
13
+ ({ children, ...props }: SearchFiltersCheckboxGroupProps): import("react").JSX.Element;
13
14
  displayName: string;
14
15
  };
15
16
  };
@@ -0,0 +1,12 @@
1
+ export interface SearchFiltersPanelProps extends React.AllHTMLAttributes<HTMLElement> {
2
+ activeFilterCount?: number;
3
+ heading: string | React.ReactNode;
4
+ isScrollable?: boolean;
5
+ legend: string;
6
+ }
7
+ export interface SearchFiltersCheckboxGroupProps {
8
+ children: React.ReactNode;
9
+ }
10
+ export interface SearchFiltersProps extends React.AllHTMLAttributes<HTMLElement> {
11
+ searchResultsContainerId?: string;
12
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,27 +1,24 @@
1
+ import { SearchResultContextProps, SearchResultProps } from './types';
1
2
  declare const SearchResult: {
2
- ({ children, href, isPromoted, linkComponent, promotedTitle, title, ...props }: SGDS.Component.SearchResult): import("react").JSX.Element;
3
+ ({ children, href, isPromoted, linkComponent, promotedTitle, title, ...props }: SearchResultProps): import("react").JSX.Element;
3
4
  Content: {
4
- ({ children }: SGDS.Component.SearchResult.Content): import("react").JSX.Element;
5
+ ({ children }: React.AllHTMLAttributes<HTMLElement>): import("react").JSX.Element;
5
6
  displayName: string;
6
7
  };
7
8
  Context: {
8
- ({ children, title }: SGDS.Component.SearchResult.Context): import("react").JSX.Element;
9
+ ({ children, title }: SearchResultContextProps): import("react").JSX.Element;
9
10
  displayName: string;
10
11
  };
11
12
  ContextItem: {
12
- ({ children }: SGDS.Component.SearchResult.ContextItem): import("react").JSX.Element;
13
+ ({ children }: React.AllHTMLAttributes<HTMLElement>): import("react").JSX.Element;
13
14
  displayName: string;
14
15
  };
15
16
  Media: {
16
- ({ children }: SGDS.Component.SearchResult.Media): import("react").JSX.Element;
17
+ ({ children }: React.AllHTMLAttributes<HTMLElement>): import("react").JSX.Element;
17
18
  displayName: string;
18
19
  };
19
- Meta: {
20
- ({ children }: SGDS.Component.SearchResult.Meta): import("react").JSX.Element;
21
- displayName: string;
22
- };
23
- MetaItem: {
24
- ({ children, className, name, ...props }: SGDS.Component.Metadata.Item): import("react").JSX.Element;
20
+ Metadata: {
21
+ ({ children }: React.AllHTMLAttributes<HTMLElement>): import("react").JSX.Element;
25
22
  displayName: string;
26
23
  };
27
24
  };
@@ -7,6 +7,7 @@ const react_1 = require("react");
7
7
  const ConditionalWrapper_1 = __importDefault(require("../../common/ConditionalWrapper"));
8
8
  const AspectBox_1 = __importDefault(require("../AspectBox"));
9
9
  const PageMetadata_1 = __importDefault(require("../PageMetadata"));
10
+ const clsx_1 = __importDefault(require("clsx"));
10
11
  const SearchResultLinkHrefContext = (0, react_1.createContext)('');
11
12
  const SearchResultContent = ({ children }) => {
12
13
  const otherChildren = [];
@@ -58,10 +59,10 @@ const SearchResultMeta = ({ children }) => {
58
59
  };
59
60
  const SearchResult = ({ children, href, isPromoted, linkComponent, promotedTitle = 'Recommended', title, ...props }) => {
60
61
  const LINK_CLASS = 'ds_search-result__link';
61
- return (<div className={[
62
+ return (<div className={(0, clsx_1.default)([
62
63
  'ds_search-result',
63
- isPromoted ? 'ds_search-result--promoted' : ''
64
- ].join(' ')} {...props}>
64
+ isPromoted && 'ds_search-result--promoted'
65
+ ])} {...props}>
65
66
  <ConditionalWrapper_1.default condition={!!isPromoted} wrapper={(children) => <div className="ds_search-result--promoted-content">
66
67
  <header className="ds_search-result--promoted-title">{promotedTitle}</header>
67
68
  {children}
@@ -82,12 +83,10 @@ SearchResult.Content = SearchResultContent;
82
83
  SearchResult.Context = SearchResultContext;
83
84
  SearchResult.ContextItem = SearchResultContextItem;
84
85
  SearchResult.Media = SearchResultMedia;
85
- SearchResult.Meta = SearchResultMeta;
86
- SearchResult.MetaItem = PageMetadata_1.default.Item;
86
+ SearchResult.Metadata = SearchResultMeta;
87
87
  SearchResultContent.displayName = 'SearchResult.Content';
88
88
  SearchResultContext.displayName = 'SearchResult.Context';
89
89
  SearchResultContextItem.displayName = 'SearchResult.ContextItem';
90
90
  SearchResultMedia.displayName = 'SearchResult.Media';
91
- SearchResultMeta.displayName = 'SearchResult.Meta';
92
- SearchResult.MetaItem.displayName = 'SearchResult.MetaItem';
91
+ SearchResultMeta.displayName = 'SearchResult.Metadata';
93
92
  exports.default = SearchResult;
@@ -0,0 +1,11 @@
1
+ import { LinkComponent } from "../../shared-types";
2
+ export interface SearchResultContextProps extends React.AllHTMLAttributes<HTMLDListElement> {
3
+ title: string;
4
+ }
5
+ export interface SearchResultProps extends React.AllHTMLAttributes<HTMLElement> {
6
+ href: string;
7
+ isPromoted?: boolean;
8
+ linkComponent?: LinkComponent;
9
+ promotedTitle?: string;
10
+ title: string;
11
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,6 +1,7 @@
1
1
  import { AllHTMLAttributes } from "react";
2
+ import { SearchSortProps } from "./types";
2
3
  declare const SearchSort: {
3
- ({ children, className, id, label, onApply, ...props }: SGDS.Component.SearchSort): import("react").JSX.Element;
4
+ ({ children, className, id, label, onApply, ...props }: SearchSortProps): import("react").JSX.Element;
4
5
  displayName: string;
5
6
  Option: {
6
7
  ({ children, value }: AllHTMLAttributes<HTMLOptionElement>): import("react").JSX.Element;
@@ -5,16 +5,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Button_1 = __importDefault(require("../Button"));
7
7
  const Select_1 = __importDefault(require("../Select"));
8
+ const clsx_1 = __importDefault(require("clsx"));
8
9
  const Option = ({ children, value }) => {
9
10
  return (<option value={value}>
10
11
  {children}
11
12
  </option>);
12
13
  };
13
14
  const SearchSort = ({ children, className, id = 'sort-by', label = 'Sort by', onApply, ...props }) => {
14
- return (<div className={[
15
+ return (<div className={(0, clsx_1.default)([
15
16
  'ds_sort-options',
16
17
  className
17
- ].join(' ')} {...props}>
18
+ ])} {...props}>
18
19
  <Select_1.default id={id} label={label}>
19
20
  {children}
20
21
  </Select_1.default>
@@ -0,0 +1,7 @@
1
+ export interface SearchSortProps extends React.AllHTMLAttributes<HTMLElement> {
2
+ children: React.ReactNode;
3
+ className?: string;
4
+ id?: string;
5
+ label?: string;
6
+ onApply?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,5 +1,6 @@
1
+ import { SelectProps } from './types';
1
2
  declare const Select: {
2
- ({ children, className, defaultValue, errorMessage, hasError, hintText, id, label, name, onBlur, onChange, placeholder, width, ...props }: SGDS.Component.Select): import("react").JSX.Element;
3
+ ({ children, className, defaultValue, errorMessage, hasError, hintText, id, label, name, onBlur, onChange, placeholder, width, ...props }: SelectProps): import("react").JSX.Element;
3
4
  displayName: string;
4
5
  };
5
6
  export default Select;
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const ErrorMessage_1 = __importDefault(require("../ErrorMessage"));
7
7
  const HintText_1 = __importDefault(require("../../common/HintText"));
8
+ const clsx_1 = __importDefault(require("clsx"));
8
9
  const Select = function ({ children, className, defaultValue, errorMessage, hasError, hintText, id, label, name, onBlur, onChange, placeholder, width, ...props }) {
9
10
  const errorMessageId = `error-message-${id}`;
10
11
  const hintTextId = `hint-text-${id}`;
@@ -29,14 +30,14 @@ const Select = function ({ children, className, defaultValue, errorMessage, hasE
29
30
  }
30
31
  return (<>
31
32
  <label className="ds_label" htmlFor={id}>{label}</label>
32
- {hintText && <HintText_1.default id={hintTextId} text={hintText}/>}
33
+ {hintText && <HintText_1.default id={hintTextId}>{hintText}</HintText_1.default>}
33
34
  {errorMessage && <ErrorMessage_1.default id={errorMessageId}>{errorMessage}</ErrorMessage_1.default>}
34
- <div className={[
35
+ <div className={(0, clsx_1.default)([
35
36
  "ds_select-wrapper",
36
37
  hasError && 'ds_input--error',
37
38
  width && `ds_input--${width}`,
38
39
  className
39
- ].join(' ')} {...props}>
40
+ ])} {...props}>
40
41
  <select aria-describedby={describedbys.join(' ')} aria-invalid={hasError} className="ds_select" defaultValue={defaultValue} id={id} name={name || id} onBlur={handleBlur} onChange={handleChange}>
41
42
  <option value="">{placeholder}</option>
42
43
  {children}