@amsterdam/design-system-react 0.15.0 → 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 (566) hide show
  1. package/README.md +1 -1
  2. package/dist/Accordion/Accordion.d.ts +3 -0
  3. package/dist/Accordion/Accordion.js +7 -1
  4. package/dist/Accordion/Accordion.test.d.ts +4 -0
  5. package/dist/Accordion/Accordion.test.js +23 -3
  6. package/dist/Accordion/AccordionSection.test.d.ts +4 -0
  7. package/dist/Accordion/AccordionSection.test.js +5 -1
  8. package/dist/Accordion/index.d.ts +4 -0
  9. package/dist/Accordion/index.js +4 -0
  10. package/dist/ActionGroup/ActionGroup.d.ts +3 -0
  11. package/dist/ActionGroup/ActionGroup.js +3 -0
  12. package/dist/ActionGroup/ActionGroup.test.d.ts +4 -0
  13. package/dist/ActionGroup/ActionGroup.test.js +5 -1
  14. package/dist/ActionGroup/index.d.ts +4 -0
  15. package/dist/ActionGroup/index.js +4 -0
  16. package/dist/Alert/Alert.d.ts +3 -0
  17. package/dist/Alert/Alert.js +8 -5
  18. package/dist/Alert/Alert.test.d.ts +4 -0
  19. package/dist/Alert/Alert.test.js +5 -1
  20. package/dist/Alert/index.d.ts +4 -0
  21. package/dist/Alert/index.js +4 -0
  22. package/dist/Avatar/Avatar.d.ts +3 -0
  23. package/dist/Avatar/Avatar.js +5 -2
  24. package/dist/Avatar/Avatar.test.d.ts +4 -0
  25. package/dist/Avatar/Avatar.test.js +5 -1
  26. package/dist/Avatar/index.d.ts +4 -0
  27. package/dist/Avatar/index.js +4 -0
  28. package/dist/Badge/Badge.d.ts +3 -0
  29. package/dist/Badge/Badge.js +3 -0
  30. package/dist/Badge/Badge.test.d.ts +4 -0
  31. package/dist/Badge/Badge.test.js +5 -1
  32. package/dist/Badge/index.d.ts +4 -0
  33. package/dist/Badge/index.js +4 -0
  34. package/dist/Blockquote/Blockquote.d.ts +3 -0
  35. package/dist/Blockquote/Blockquote.js +3 -0
  36. package/dist/Blockquote/Blockquote.test.d.ts +4 -0
  37. package/dist/Blockquote/Blockquote.test.js +7 -4
  38. package/dist/Blockquote/index.d.ts +4 -0
  39. package/dist/Blockquote/index.js +4 -0
  40. package/dist/Breadcrumb/Breadcrumb.d.ts +3 -0
  41. package/dist/Breadcrumb/Breadcrumb.js +3 -0
  42. package/dist/Breadcrumb/Breadcrumb.test.d.ts +4 -0
  43. package/dist/Breadcrumb/Breadcrumb.test.js +5 -1
  44. package/dist/Breadcrumb/BreadcrumbLink.test.d.ts +4 -0
  45. package/dist/Breadcrumb/BreadcrumbLink.test.js +5 -1
  46. package/dist/Breadcrumb/index.d.ts +4 -0
  47. package/dist/Breadcrumb/index.js +4 -0
  48. package/dist/Breakout/Breakout.d.ts +3 -0
  49. package/dist/Breakout/Breakout.js +3 -0
  50. package/dist/Breakout/Breakout.test.d.ts +4 -0
  51. package/dist/Breakout/Breakout.test.js +15 -19
  52. package/dist/Breakout/BreakoutCell.d.ts +3 -1
  53. package/dist/Breakout/BreakoutCell.js +1 -0
  54. package/dist/Breakout/BreakoutCell.test.d.ts +4 -0
  55. package/dist/Breakout/BreakoutCell.test.js +24 -16
  56. package/dist/Breakout/index.d.ts +4 -0
  57. package/dist/Breakout/index.js +4 -0
  58. package/dist/Button/Button.d.ts +3 -0
  59. package/dist/Button/Button.js +3 -0
  60. package/dist/Button/Button.test.d.ts +4 -0
  61. package/dist/Button/Button.test.js +12 -1
  62. package/dist/Button/index.d.ts +4 -0
  63. package/dist/Button/index.js +4 -0
  64. package/dist/Card/Card.d.ts +13 -0
  65. package/dist/Card/Card.js +11 -1
  66. package/dist/Card/Card.test.d.ts +4 -0
  67. package/dist/Card/Card.test.js +5 -1
  68. package/dist/Card/CardHeading.d.ts +11 -0
  69. package/dist/Card/CardHeading.js +10 -0
  70. package/dist/Card/CardHeading.test.d.ts +5 -0
  71. package/dist/Card/CardHeading.test.js +38 -0
  72. package/dist/Card/CardHeadingGroup.test.d.ts +4 -0
  73. package/dist/Card/CardHeadingGroup.test.js +5 -1
  74. package/dist/Card/CardImage.d.ts +7 -0
  75. package/dist/Card/CardImage.js +10 -0
  76. package/dist/Card/CardImage.test.d.ts +5 -0
  77. package/dist/{Footer/FooterSpotlight.test.js → Card/CardImage.test.js} +13 -9
  78. package/dist/Card/CardLink.test.d.ts +4 -0
  79. package/dist/Card/CardLink.test.js +5 -1
  80. package/dist/Card/index.d.ts +4 -0
  81. package/dist/Card/index.js +4 -0
  82. package/dist/CharacterCount/CharacterCount.d.ts +3 -0
  83. package/dist/CharacterCount/CharacterCount.js +3 -0
  84. package/dist/CharacterCount/CharacterCount.test.d.ts +4 -0
  85. package/dist/CharacterCount/CharacterCount.test.js +5 -1
  86. package/dist/CharacterCount/index.d.ts +4 -0
  87. package/dist/CharacterCount/index.js +4 -0
  88. package/dist/Checkbox/Checkbox.d.ts +9 -2
  89. package/dist/Checkbox/Checkbox.js +6 -2
  90. package/dist/Checkbox/Checkbox.test.d.ts +4 -0
  91. package/dist/Checkbox/Checkbox.test.js +12 -3
  92. package/dist/Checkbox/CheckboxIcon.d.ts +7 -0
  93. package/dist/Checkbox/CheckboxIcon.js +3 -0
  94. package/dist/Checkbox/index.d.ts +4 -0
  95. package/dist/Checkbox/index.js +4 -0
  96. package/dist/Column/Column.d.ts +7 -3
  97. package/dist/Column/Column.js +5 -1
  98. package/dist/Column/Column.test.d.ts +4 -0
  99. package/dist/Column/Column.test.js +14 -12
  100. package/dist/Column/index.d.ts +4 -0
  101. package/dist/Column/index.js +4 -0
  102. package/dist/DateInput/DateInput.d.ts +3 -0
  103. package/dist/DateInput/DateInput.js +3 -0
  104. package/dist/DateInput/DateInput.test.d.ts +4 -0
  105. package/dist/DateInput/DateInput.test.js +5 -1
  106. package/dist/DateInput/index.d.ts +4 -0
  107. package/dist/DateInput/index.js +4 -0
  108. package/dist/DescriptionList/DescriptionList.d.ts +3 -0
  109. package/dist/DescriptionList/DescriptionList.js +3 -0
  110. package/dist/DescriptionList/DescriptionList.test.d.ts +4 -0
  111. package/dist/DescriptionList/DescriptionList.test.js +5 -1
  112. package/dist/DescriptionList/DescriptionListDescription.test.d.ts +4 -0
  113. package/dist/DescriptionList/DescriptionListDescription.test.js +5 -1
  114. package/dist/DescriptionList/DescriptionListSection.test.d.ts +4 -0
  115. package/dist/DescriptionList/DescriptionListSection.test.js +5 -1
  116. package/dist/DescriptionList/DescriptionListTerm.test.d.ts +4 -0
  117. package/dist/DescriptionList/DescriptionListTerm.test.js +5 -1
  118. package/dist/DescriptionList/index.d.ts +4 -0
  119. package/dist/DescriptionList/index.js +4 -0
  120. package/dist/Dialog/Dialog.d.ts +3 -0
  121. package/dist/Dialog/Dialog.js +3 -0
  122. package/dist/Dialog/Dialog.test.d.ts +4 -0
  123. package/dist/Dialog/Dialog.test.js +5 -1
  124. package/dist/Dialog/index.d.ts +4 -0
  125. package/dist/Dialog/index.js +4 -0
  126. package/dist/ErrorMessage/ErrorMessage.d.ts +3 -0
  127. package/dist/ErrorMessage/ErrorMessage.js +5 -2
  128. package/dist/ErrorMessage/ErrorMessage.test.d.ts +4 -0
  129. package/dist/ErrorMessage/ErrorMessage.test.js +5 -1
  130. package/dist/ErrorMessage/index.d.ts +4 -0
  131. package/dist/ErrorMessage/index.js +4 -0
  132. package/dist/Field/Field.d.ts +3 -0
  133. package/dist/Field/Field.js +3 -0
  134. package/dist/Field/Field.test.d.ts +4 -0
  135. package/dist/Field/Field.test.js +5 -1
  136. package/dist/Field/index.d.ts +4 -0
  137. package/dist/Field/index.js +4 -0
  138. package/dist/FieldSet/FieldSet.d.ts +3 -0
  139. package/dist/FieldSet/FieldSet.js +3 -0
  140. package/dist/FieldSet/FieldSet.test.d.ts +4 -0
  141. package/dist/FieldSet/FieldSet.test.js +5 -1
  142. package/dist/FieldSet/index.d.ts +4 -0
  143. package/dist/FieldSet/index.js +4 -0
  144. package/dist/Figure/Figure.d.ts +3 -0
  145. package/dist/Figure/Figure.js +3 -0
  146. package/dist/Figure/Figure.test.d.ts +4 -0
  147. package/dist/Figure/Figure.test.js +5 -1
  148. package/dist/Figure/FigureCaption.test.d.ts +4 -0
  149. package/dist/Figure/FigureCaption.test.js +5 -1
  150. package/dist/Figure/index.d.ts +4 -0
  151. package/dist/Figure/index.js +4 -0
  152. package/dist/FileInput/FileInput.d.ts +3 -0
  153. package/dist/FileInput/FileInput.js +3 -0
  154. package/dist/FileInput/FileInput.test.d.ts +4 -0
  155. package/dist/FileInput/FileInput.test.js +5 -1
  156. package/dist/FileInput/index.d.ts +4 -0
  157. package/dist/FileInput/index.js +4 -0
  158. package/dist/FileList/FileList.d.ts +3 -0
  159. package/dist/FileList/FileList.js +3 -0
  160. package/dist/FileList/FileList.test.d.ts +4 -0
  161. package/dist/FileList/FileList.test.js +5 -1
  162. package/dist/FileList/FileListItem.test.d.ts +4 -0
  163. package/dist/FileList/FileListItem.test.js +5 -1
  164. package/dist/FileList/index.d.ts +4 -0
  165. package/dist/FileList/index.js +4 -0
  166. package/dist/Grid/Grid.d.ts +11 -5
  167. package/dist/Grid/Grid.js +5 -0
  168. package/dist/Grid/Grid.test.d.ts +4 -0
  169. package/dist/Grid/Grid.test.js +17 -29
  170. package/dist/Grid/GridCell.test.d.ts +4 -0
  171. package/dist/Grid/GridCell.test.js +6 -8
  172. package/dist/Grid/index.d.ts +4 -0
  173. package/dist/Grid/index.js +4 -0
  174. package/dist/Grid/paddingClasses.d.ts +6 -2
  175. package/dist/Grid/paddingClasses.js +4 -0
  176. package/dist/Heading/Heading.d.ts +3 -1
  177. package/dist/Heading/Heading.js +7 -0
  178. package/dist/Heading/Heading.test.d.ts +4 -0
  179. package/dist/Heading/Heading.test.js +21 -11
  180. package/dist/Heading/getHeadingTag.d.ts +4 -0
  181. package/dist/Heading/getHeadingTag.js +4 -0
  182. package/dist/Heading/index.d.ts +4 -0
  183. package/dist/Heading/index.js +4 -0
  184. package/dist/Hint/Hint.test.d.ts +4 -0
  185. package/dist/Hint/Hint.test.js +5 -1
  186. package/dist/Hint/index.d.ts +4 -0
  187. package/dist/Hint/index.js +4 -0
  188. package/dist/Icon/Icon.d.ts +5 -3
  189. package/dist/Icon/Icon.js +8 -0
  190. package/dist/Icon/Icon.test.d.ts +4 -0
  191. package/dist/Icon/Icon.test.js +15 -12
  192. package/dist/Icon/index.d.ts +4 -0
  193. package/dist/Icon/index.js +4 -0
  194. package/dist/IconButton/IconButton.d.ts +5 -2
  195. package/dist/IconButton/IconButton.js +4 -1
  196. package/dist/IconButton/IconButton.test.d.ts +4 -0
  197. package/dist/IconButton/IconButton.test.js +5 -1
  198. package/dist/IconButton/index.d.ts +4 -0
  199. package/dist/IconButton/index.js +4 -0
  200. package/dist/Image/Image.d.ts +7 -8
  201. package/dist/Image/Image.js +3 -0
  202. package/dist/Image/Image.test.d.ts +4 -0
  203. package/dist/Image/Image.test.js +5 -1
  204. package/dist/Image/generateAspectRatioClass.d.ts +4 -0
  205. package/dist/Image/generateAspectRatioClass.js +4 -0
  206. package/dist/Image/index.d.ts +4 -0
  207. package/dist/Image/index.js +4 -0
  208. package/dist/ImageSlider/ImageSlider.d.ts +3 -0
  209. package/dist/ImageSlider/ImageSlider.js +3 -0
  210. package/dist/ImageSlider/ImageSlider.test.d.ts +4 -0
  211. package/dist/ImageSlider/ImageSlider.test.js +5 -1
  212. package/dist/ImageSlider/ImageSliderControls.js +3 -3
  213. package/dist/ImageSlider/ImageSliderControls.test.d.ts +4 -0
  214. package/dist/ImageSlider/ImageSliderControls.test.js +4 -0
  215. package/dist/ImageSlider/ImageSliderItem.test.d.ts +4 -0
  216. package/dist/ImageSlider/ImageSliderItem.test.js +5 -1
  217. package/dist/ImageSlider/ImageSliderScroller.test.d.ts +4 -0
  218. package/dist/ImageSlider/ImageSliderScroller.test.js +5 -1
  219. package/dist/ImageSlider/ImageSliderThumbnails.js +1 -1
  220. package/dist/ImageSlider/ImageSliderThumbnails.test.d.ts +4 -0
  221. package/dist/ImageSlider/ImageSliderThumbnails.test.js +5 -1
  222. package/dist/ImageSlider/index.d.ts +4 -0
  223. package/dist/ImageSlider/index.js +4 -0
  224. package/dist/InvalidFormAlert/InvalidFormAlert.d.ts +3 -0
  225. package/dist/InvalidFormAlert/InvalidFormAlert.js +3 -0
  226. package/dist/InvalidFormAlert/InvalidFormAlert.test.d.ts +4 -0
  227. package/dist/InvalidFormAlert/InvalidFormAlert.test.js +5 -1
  228. package/dist/InvalidFormAlert/index.d.ts +4 -0
  229. package/dist/InvalidFormAlert/index.js +4 -0
  230. package/dist/InvalidFormAlert/useAddErrorCountToDocumentTitle.d.ts +4 -0
  231. package/dist/InvalidFormAlert/useAddErrorCountToDocumentTitle.js +4 -0
  232. package/dist/Label/Label.d.ts +3 -1
  233. package/dist/Label/Label.js +7 -0
  234. package/dist/Label/Label.test.d.ts +4 -0
  235. package/dist/Label/Label.test.js +7 -4
  236. package/dist/Label/index.d.ts +4 -0
  237. package/dist/Label/index.js +4 -0
  238. package/dist/Link/Link.d.ts +3 -6
  239. package/dist/Link/Link.js +4 -1
  240. package/dist/Link/Link.test.d.ts +4 -0
  241. package/dist/Link/Link.test.js +26 -29
  242. package/dist/Link/index.d.ts +4 -0
  243. package/dist/Link/index.js +4 -0
  244. package/dist/LinkList/LinkList.d.ts +3 -0
  245. package/dist/LinkList/LinkList.js +3 -0
  246. package/dist/LinkList/LinkList.test.d.ts +4 -0
  247. package/dist/LinkList/LinkList.test.js +5 -1
  248. package/dist/LinkList/LinkListLink.js +2 -2
  249. package/dist/LinkList/LinkListLink.test.d.ts +4 -0
  250. package/dist/LinkList/LinkListLink.test.js +5 -1
  251. package/dist/LinkList/index.d.ts +4 -0
  252. package/dist/LinkList/index.js +4 -0
  253. package/dist/Logo/Logo.d.ts +3 -0
  254. package/dist/Logo/Logo.js +3 -0
  255. package/dist/Logo/Logo.test.d.ts +4 -0
  256. package/dist/Logo/Logo.test.js +6 -3
  257. package/dist/Logo/brand/LogoAmsterdam.d.ts +4 -0
  258. package/dist/Logo/brand/LogoAmsterdam.js +4 -0
  259. package/dist/Logo/brand/LogoGgdAmsterdam.d.ts +4 -0
  260. package/dist/Logo/brand/LogoGgdAmsterdam.js +4 -0
  261. package/dist/Logo/brand/LogoMuseumWeesp.d.ts +4 -0
  262. package/dist/Logo/brand/LogoMuseumWeesp.js +4 -0
  263. package/dist/Logo/brand/LogoStadsarchief.d.ts +4 -0
  264. package/dist/Logo/brand/LogoStadsarchief.js +4 -0
  265. package/dist/Logo/brand/LogoStadsbankVanLening.d.ts +4 -0
  266. package/dist/Logo/brand/LogoStadsbankVanLening.js +4 -0
  267. package/dist/Logo/brand/LogoVgaVerzekeringen.d.ts +4 -0
  268. package/dist/Logo/brand/LogoVgaVerzekeringen.js +4 -0
  269. package/dist/Logo/brand/index.d.ts +4 -0
  270. package/dist/Logo/brand/index.js +4 -0
  271. package/dist/Logo/index.d.ts +4 -0
  272. package/dist/Logo/index.js +4 -0
  273. package/dist/Mark/Mark.d.ts +3 -0
  274. package/dist/Mark/Mark.js +3 -0
  275. package/dist/Mark/Mark.test.d.ts +4 -0
  276. package/dist/Mark/Mark.test.js +5 -1
  277. package/dist/Mark/index.d.ts +4 -0
  278. package/dist/Mark/index.js +4 -0
  279. package/dist/OrderedList/OrderedList.d.ts +3 -0
  280. package/dist/OrderedList/OrderedList.js +3 -0
  281. package/dist/OrderedList/OrderedList.test.d.ts +4 -0
  282. package/dist/OrderedList/OrderedList.test.js +5 -1
  283. package/dist/OrderedList/OrderedListItem.test.d.ts +4 -0
  284. package/dist/OrderedList/OrderedListItem.test.js +5 -1
  285. package/dist/OrderedList/index.d.ts +4 -0
  286. package/dist/OrderedList/index.js +4 -0
  287. package/dist/Overlap/Overlap.d.ts +3 -0
  288. package/dist/Overlap/Overlap.js +3 -0
  289. package/dist/Overlap/Overlap.test.d.ts +4 -0
  290. package/dist/Overlap/Overlap.test.js +5 -1
  291. package/dist/Overlap/index.d.ts +4 -0
  292. package/dist/Overlap/index.js +4 -0
  293. package/dist/Page/Page.d.ts +12 -0
  294. package/dist/Page/Page.js +12 -0
  295. package/dist/Page/Page.test.d.ts +5 -0
  296. package/dist/{MegaMenu/MegaMenu.test.js → Page/Page.test.js} +13 -9
  297. package/dist/Page/index.d.ts +6 -0
  298. package/dist/Page/index.js +5 -0
  299. package/dist/{Footer/Footer.d.ts → PageFooter/PageFooter.d.ts} +5 -2
  300. package/dist/PageFooter/PageFooter.js +20 -0
  301. package/dist/PageFooter/PageFooter.test.d.ts +5 -0
  302. package/dist/{Footer/Footer.test.js → PageFooter/PageFooter.test.js} +13 -9
  303. package/dist/{Footer/FooterMenu.d.ts → PageFooter/PageFooterMenu.d.ts} +2 -2
  304. package/dist/PageFooter/PageFooterMenu.js +9 -0
  305. package/dist/PageFooter/PageFooterMenu.test.d.ts +5 -0
  306. package/dist/{Footer/FooterMenu.test.js → PageFooter/PageFooterMenu.test.js} +13 -9
  307. package/dist/{Footer/FooterMenuLink.d.ts → PageFooter/PageFooterMenuLink.d.ts} +2 -2
  308. package/dist/PageFooter/PageFooterMenuLink.js +9 -0
  309. package/dist/PageFooter/PageFooterMenuLink.test.d.ts +5 -0
  310. package/dist/{Footer/FooterMenuLink.test.js → PageFooter/PageFooterMenuLink.test.js} +13 -9
  311. package/dist/{Footer/FooterSpotlight.d.ts → PageFooter/PageFooterSpotlight.d.ts} +2 -2
  312. package/dist/PageFooter/PageFooterSpotlight.js +9 -0
  313. package/dist/PageFooter/PageFooterSpotlight.test.d.ts +5 -0
  314. package/dist/{MegaMenu/MegaMenuListCategory.test.js → PageFooter/PageFooterSpotlight.test.js} +13 -9
  315. package/dist/PageFooter/index.d.ts +9 -0
  316. package/dist/PageFooter/index.js +5 -0
  317. package/dist/{Header/Header.d.ts → PageHeader/PageHeader.d.ts} +13 -6
  318. package/dist/PageHeader/PageHeader.js +35 -0
  319. package/dist/{Header/Header.test.d.ts → PageHeader/PageHeader.test.d.ts} +4 -0
  320. package/dist/{Header/Header.test.js → PageHeader/PageHeader.test.js} +47 -38
  321. package/dist/PageHeader/PageHeaderGridCellNarrowWindowOnly.d.ts +6 -0
  322. package/dist/PageHeader/PageHeaderGridCellNarrowWindowOnly.js +10 -0
  323. package/dist/PageHeader/PageHeaderGridCellNarrowWindowOnly.test.d.ts +5 -0
  324. package/dist/{Header/HeaderGridCellNarrowWindowOnly.test.js → PageHeader/PageHeaderGridCellNarrowWindowOnly.test.js} +14 -10
  325. package/dist/PageHeader/PageHeaderMenuIcon.d.ts +6 -0
  326. package/dist/PageHeader/PageHeaderMenuIcon.js +2 -0
  327. package/dist/{Header/HeaderMenuLink.d.ts → PageHeader/PageHeaderMenuLink.d.ts} +6 -2
  328. package/dist/PageHeader/PageHeaderMenuLink.js +9 -0
  329. package/dist/PageHeader/PageHeaderMenuLink.test.d.ts +5 -0
  330. package/dist/{Header/HeaderMenuLink.test.js → PageHeader/PageHeaderMenuLink.test.js} +17 -13
  331. package/dist/PageHeader/index.d.ts +7 -0
  332. package/dist/PageHeader/index.js +5 -0
  333. package/dist/PageHeader/matchMedia.mock.d.ts +4 -0
  334. package/dist/{Header → PageHeader}/matchMedia.mock.js +4 -0
  335. package/dist/PageHeading/PageHeading.d.ts +3 -0
  336. package/dist/PageHeading/PageHeading.js +3 -0
  337. package/dist/PageHeading/PageHeading.test.d.ts +4 -0
  338. package/dist/PageHeading/PageHeading.test.js +6 -3
  339. package/dist/PageHeading/index.d.ts +4 -0
  340. package/dist/PageHeading/index.js +4 -0
  341. package/dist/Pagination/LinkItem.d.ts +4 -0
  342. package/dist/Pagination/Pagination.d.ts +3 -0
  343. package/dist/Pagination/Pagination.js +5 -2
  344. package/dist/Pagination/Pagination.test.d.ts +4 -0
  345. package/dist/Pagination/Pagination.test.js +5 -1
  346. package/dist/Pagination/Spacer.d.ts +4 -0
  347. package/dist/Pagination/Spacer.js +4 -0
  348. package/dist/Pagination/getRange.d.ts +4 -0
  349. package/dist/Pagination/getRange.js +4 -0
  350. package/dist/Pagination/index.d.ts +4 -0
  351. package/dist/Pagination/index.js +4 -0
  352. package/dist/Paragraph/Paragraph.d.ts +3 -1
  353. package/dist/Paragraph/Paragraph.js +7 -0
  354. package/dist/Paragraph/Paragraph.test.d.ts +4 -0
  355. package/dist/Paragraph/Paragraph.test.js +5 -1
  356. package/dist/Paragraph/index.d.ts +4 -0
  357. package/dist/Paragraph/index.js +4 -0
  358. package/dist/PasswordInput/PasswordInput.d.ts +3 -0
  359. package/dist/PasswordInput/PasswordInput.js +3 -0
  360. package/dist/PasswordInput/PasswordInput.test.d.ts +4 -0
  361. package/dist/PasswordInput/PasswordInput.test.js +5 -1
  362. package/dist/PasswordInput/index.d.ts +4 -0
  363. package/dist/PasswordInput/index.js +4 -0
  364. package/dist/Radio/Radio.d.ts +3 -0
  365. package/dist/Radio/Radio.js +3 -0
  366. package/dist/Radio/Radio.test.d.ts +4 -0
  367. package/dist/Radio/Radio.test.js +7 -3
  368. package/dist/Radio/RadioIcon.d.ts +4 -0
  369. package/dist/Radio/RadioIcon.js +1 -1
  370. package/dist/Radio/index.d.ts +4 -0
  371. package/dist/Radio/index.js +4 -0
  372. package/dist/Row/Row.d.ts +7 -3
  373. package/dist/Row/Row.js +5 -1
  374. package/dist/Row/Row.test.d.ts +4 -0
  375. package/dist/Row/Row.test.js +14 -12
  376. package/dist/Row/index.d.ts +4 -0
  377. package/dist/Row/index.js +4 -0
  378. package/dist/SearchField/SearchField.d.ts +5 -0
  379. package/dist/SearchField/SearchField.js +3 -0
  380. package/dist/SearchField/SearchField.test.d.ts +4 -0
  381. package/dist/SearchField/SearchField.test.js +6 -3
  382. package/dist/SearchField/SearchFieldInput.test.d.ts +4 -0
  383. package/dist/SearchField/SearchFieldInput.test.js +6 -3
  384. package/dist/SearchField/index.d.ts +4 -0
  385. package/dist/SearchField/index.js +4 -0
  386. package/dist/Select/Select.d.ts +3 -0
  387. package/dist/Select/Select.js +3 -0
  388. package/dist/Select/Select.test.d.ts +4 -0
  389. package/dist/Select/Select.test.js +5 -1
  390. package/dist/Select/SelectOption.test.d.ts +4 -0
  391. package/dist/Select/SelectOption.test.js +5 -1
  392. package/dist/Select/SelectOptionGroup.test.d.ts +4 -0
  393. package/dist/Select/SelectOptionGroup.test.js +5 -1
  394. package/dist/Select/index.d.ts +4 -0
  395. package/dist/Select/index.js +4 -0
  396. package/dist/SkipLink/SkipLink.d.ts +3 -0
  397. package/dist/SkipLink/SkipLink.js +3 -0
  398. package/dist/SkipLink/SkipLink.test.d.ts +4 -0
  399. package/dist/SkipLink/SkipLink.test.js +5 -1
  400. package/dist/SkipLink/index.d.ts +4 -0
  401. package/dist/SkipLink/index.js +4 -0
  402. package/dist/Spotlight/Spotlight.d.ts +7 -2
  403. package/dist/Spotlight/Spotlight.js +4 -0
  404. package/dist/Spotlight/Spotlight.test.d.ts +4 -0
  405. package/dist/Spotlight/Spotlight.test.js +15 -9
  406. package/dist/Spotlight/index.d.ts +4 -0
  407. package/dist/Spotlight/index.js +4 -0
  408. package/dist/StandaloneLink/StandaloneLink.d.ts +20 -0
  409. package/dist/StandaloneLink/StandaloneLink.js +13 -0
  410. package/dist/StandaloneLink/StandaloneLink.test.d.ts +5 -0
  411. package/dist/StandaloneLink/StandaloneLink.test.js +44 -0
  412. package/dist/StandaloneLink/index.d.ts +6 -0
  413. package/dist/StandaloneLink/index.js +5 -0
  414. package/dist/Switch/Switch.d.ts +3 -0
  415. package/dist/Switch/Switch.js +3 -0
  416. package/dist/Switch/Switch.test.d.ts +4 -0
  417. package/dist/Switch/Switch.test.js +5 -1
  418. package/dist/Switch/index.d.ts +4 -0
  419. package/dist/Switch/index.js +4 -0
  420. package/dist/Table/Table.d.ts +3 -0
  421. package/dist/Table/Table.js +3 -0
  422. package/dist/Table/Table.test.d.ts +4 -0
  423. package/dist/Table/Table.test.js +5 -1
  424. package/dist/Table/TableBody.test.d.ts +4 -0
  425. package/dist/Table/TableBody.test.js +5 -1
  426. package/dist/Table/TableCaption.d.ts +1 -2
  427. package/dist/Table/TableCaption.js +4 -0
  428. package/dist/Table/TableCaption.test.d.ts +4 -0
  429. package/dist/Table/TableCaption.test.js +5 -1
  430. package/dist/Table/TableCell.test.d.ts +4 -0
  431. package/dist/Table/TableCell.test.js +5 -1
  432. package/dist/Table/TableFooter.test.d.ts +4 -0
  433. package/dist/Table/TableFooter.test.js +5 -1
  434. package/dist/Table/TableHeader.test.d.ts +4 -0
  435. package/dist/Table/TableHeader.test.js +5 -1
  436. package/dist/Table/TableHeaderCell.test.d.ts +4 -0
  437. package/dist/Table/TableHeaderCell.test.js +5 -1
  438. package/dist/Table/TableRow.test.d.ts +4 -0
  439. package/dist/Table/TableRow.test.js +5 -1
  440. package/dist/Table/index.d.ts +4 -0
  441. package/dist/Table/index.js +4 -0
  442. package/dist/TableOfContents/TableOfContents.d.ts +3 -0
  443. package/dist/TableOfContents/TableOfContents.js +3 -0
  444. package/dist/TableOfContents/TableOfContents.test.d.ts +4 -0
  445. package/dist/TableOfContents/TableOfContents.test.js +5 -1
  446. package/dist/TableOfContents/TableOfContentsLink.test.d.ts +4 -0
  447. package/dist/TableOfContents/TableOfContentsLink.test.js +5 -1
  448. package/dist/TableOfContents/TableOfContentsList.test.d.ts +4 -0
  449. package/dist/TableOfContents/TableOfContentsList.test.js +5 -1
  450. package/dist/TableOfContents/index.d.ts +4 -0
  451. package/dist/TableOfContents/index.js +4 -0
  452. package/dist/Tabs/Tabs.d.ts +9 -6
  453. package/dist/Tabs/Tabs.js +9 -6
  454. package/dist/Tabs/Tabs.test.d.ts +4 -0
  455. package/dist/Tabs/Tabs.test.js +25 -6
  456. package/dist/Tabs/TabsButton.d.ts +4 -4
  457. package/dist/Tabs/TabsButton.js +7 -4
  458. package/dist/Tabs/TabsButton.test.d.ts +4 -0
  459. package/dist/Tabs/TabsButton.test.js +24 -10
  460. package/dist/Tabs/TabsContext.d.ts +2 -7
  461. package/dist/Tabs/TabsContext.js +0 -1
  462. package/dist/Tabs/TabsList.js +1 -1
  463. package/dist/Tabs/TabsList.test.d.ts +4 -0
  464. package/dist/Tabs/TabsList.test.js +5 -1
  465. package/dist/Tabs/TabsPanel.d.ts +4 -4
  466. package/dist/Tabs/TabsPanel.js +4 -4
  467. package/dist/Tabs/TabsPanel.test.d.ts +4 -0
  468. package/dist/Tabs/TabsPanel.test.js +14 -12
  469. package/dist/Tabs/index.d.ts +4 -0
  470. package/dist/Tabs/index.js +4 -0
  471. package/dist/TextArea/TextArea.d.ts +3 -0
  472. package/dist/TextArea/TextArea.js +3 -0
  473. package/dist/TextArea/TextArea.test.d.ts +4 -0
  474. package/dist/TextArea/TextArea.test.js +5 -1
  475. package/dist/TextArea/index.d.ts +4 -0
  476. package/dist/TextArea/index.js +4 -0
  477. package/dist/TextInput/TextInput.d.ts +3 -0
  478. package/dist/TextInput/TextInput.js +3 -0
  479. package/dist/TextInput/TextInput.test.d.ts +4 -0
  480. package/dist/TextInput/TextInput.test.js +6 -3
  481. package/dist/TextInput/index.d.ts +4 -0
  482. package/dist/TextInput/index.js +4 -0
  483. package/dist/TimeInput/TimeInput.d.ts +3 -0
  484. package/dist/TimeInput/TimeInput.js +3 -0
  485. package/dist/TimeInput/TimeInput.test.d.ts +4 -0
  486. package/dist/TimeInput/TimeInput.test.js +5 -1
  487. package/dist/TimeInput/index.d.ts +4 -0
  488. package/dist/TimeInput/index.js +4 -0
  489. package/dist/UnorderedList/UnorderedList.d.ts +3 -0
  490. package/dist/UnorderedList/UnorderedList.js +3 -0
  491. package/dist/UnorderedList/UnorderedList.test.d.ts +4 -0
  492. package/dist/UnorderedList/UnorderedList.test.js +5 -1
  493. package/dist/UnorderedList/UnorderedListItem.test.d.ts +4 -0
  494. package/dist/UnorderedList/UnorderedListItem.test.js +5 -1
  495. package/dist/UnorderedList/index.d.ts +4 -0
  496. package/dist/UnorderedList/index.js +4 -0
  497. package/dist/common/accessibility.d.ts +9 -1
  498. package/dist/common/formatFileSize.test.d.ts +4 -0
  499. package/dist/common/formatFileSize.test.js +4 -0
  500. package/dist/common/formatFileType.test.d.ts +4 -0
  501. package/dist/common/formatFileType.test.js +4 -0
  502. package/dist/common/types.d.ts +4 -0
  503. package/dist/common/types.js +4 -0
  504. package/dist/common/useIsAfterBreakpoint.d.ts +4 -0
  505. package/dist/common/useIsAfterBreakpoint.js +4 -0
  506. package/dist/common/useKeyboardFocus.test.d.ts +4 -0
  507. package/dist/common/useKeyboardFocus.test.js +4 -0
  508. package/dist/index.cjs.js +1307 -1105
  509. package/dist/index.cjs.js.map +1 -1
  510. package/dist/index.d.ts +358 -197
  511. package/dist/index.esm.js +1306 -1102
  512. package/dist/index.esm.js.map +1 -1
  513. package/dist/index.js +4 -6
  514. package/dist/tsconfig.tsbuildinfo +1 -1
  515. package/package.json +15 -15
  516. package/dist/Footer/Footer.js +0 -17
  517. package/dist/Footer/Footer.test.d.ts +0 -1
  518. package/dist/Footer/FooterMenu.js +0 -9
  519. package/dist/Footer/FooterMenu.test.d.ts +0 -1
  520. package/dist/Footer/FooterMenuLink.js +0 -9
  521. package/dist/Footer/FooterMenuLink.test.d.ts +0 -1
  522. package/dist/Footer/FooterSpotlight.js +0 -9
  523. package/dist/Footer/FooterSpotlight.test.d.ts +0 -1
  524. package/dist/Footer/index.d.ts +0 -5
  525. package/dist/Footer/index.js +0 -1
  526. package/dist/Header/Header.js +0 -31
  527. package/dist/Header/HeaderGridCellNarrowWindowOnly.d.ts +0 -2
  528. package/dist/Header/HeaderGridCellNarrowWindowOnly.js +0 -6
  529. package/dist/Header/HeaderGridCellNarrowWindowOnly.test.d.ts +0 -1
  530. package/dist/Header/HeaderMenuIcon.d.ts +0 -2
  531. package/dist/Header/HeaderMenuIcon.js +0 -2
  532. package/dist/Header/HeaderMenuLink.js +0 -5
  533. package/dist/Header/HeaderMenuLink.test.d.ts +0 -1
  534. package/dist/Header/index.d.ts +0 -3
  535. package/dist/Header/index.js +0 -1
  536. package/dist/Header/matchMedia.mock.d.ts +0 -0
  537. package/dist/MegaMenu/MegaMenu.d.ts +0 -14
  538. package/dist/MegaMenu/MegaMenu.js +0 -12
  539. package/dist/MegaMenu/MegaMenu.test.d.ts +0 -1
  540. package/dist/MegaMenu/MegaMenuListCategory.d.ts +0 -9
  541. package/dist/MegaMenu/MegaMenuListCategory.js +0 -9
  542. package/dist/MegaMenu/MegaMenuListCategory.test.d.ts +0 -1
  543. package/dist/MegaMenu/index.d.ts +0 -3
  544. package/dist/MegaMenu/index.js +0 -1
  545. package/dist/PageMenu/PageMenu.d.ts +0 -25
  546. package/dist/PageMenu/PageMenu.js +0 -12
  547. package/dist/PageMenu/PageMenu.test.d.ts +0 -1
  548. package/dist/PageMenu/PageMenu.test.js +0 -45
  549. package/dist/PageMenu/PageMenuLink.d.ts +0 -13
  550. package/dist/PageMenu/PageMenuLink.js +0 -10
  551. package/dist/PageMenu/PageMenuLink.test.d.ts +0 -1
  552. package/dist/PageMenu/PageMenuLink.test.js +0 -40
  553. package/dist/PageMenu/index.d.ts +0 -3
  554. package/dist/PageMenu/index.js +0 -1
  555. package/dist/Screen/Screen.d.ts +0 -21
  556. package/dist/Screen/Screen.js +0 -9
  557. package/dist/Screen/Screen.test.d.ts +0 -1
  558. package/dist/Screen/Screen.test.js +0 -40
  559. package/dist/Screen/index.d.ts +0 -2
  560. package/dist/Screen/index.js +0 -1
  561. package/dist/TopTaskLink/TopTaskLink.d.ts +0 -17
  562. package/dist/TopTaskLink/TopTaskLink.js +0 -9
  563. package/dist/TopTaskLink/TopTaskLink.test.d.ts +0 -1
  564. package/dist/TopTaskLink/TopTaskLink.test.js +0 -42
  565. package/dist/TopTaskLink/index.d.ts +0 -1
  566. package/dist/TopTaskLink/index.js +0 -1
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
5
+ export { PageFooter } from './PageFooter';
@@ -2,38 +2,45 @@
2
2
  * @license EUPL-1.2+
3
3
  * Copyright Gemeente Amsterdam
4
4
  */
5
- import type { HTMLAttributes, ReactNode } from 'react';
5
+ import type { AnchorHTMLAttributes, ComponentType, HTMLAttributes, ReactNode } from 'react';
6
6
  import type { LogoBrand } from '../Logo';
7
- export type HeaderProps = {
7
+ export type PageHeaderProps = {
8
8
  /** The name of the application. */
9
9
  brandName?: string;
10
10
  /** The name of the brand for which to display the logo. */
11
11
  logoBrand?: LogoBrand;
12
12
  /** The url for the link on the logo. */
13
13
  logoLink?: string;
14
+ /** The React component to use for the logo link. */
15
+ logoLinkComponent?: ComponentType<AnchorHTMLAttributes<HTMLAnchorElement>>;
14
16
  /** The accessible text for the link on the logo. */
15
17
  logoLinkTitle?: string;
16
18
  /** The text for the menu button. */
17
19
  menuButtonText?: string;
18
- /** A slot for the menu items. Use Header.MenuLink here. */
20
+ /** A slot for the menu items. Use PageHeader.MenuLink here. */
19
21
  menuItems?: ReactNode;
20
22
  /** The accessible label for the navigation section. */
21
23
  navigationLabel?: string;
22
24
  /** Whether the menu button is visible on wide screens. */
23
25
  noMenuButtonOnWideWindow?: boolean;
24
26
  } & HTMLAttributes<HTMLElement>;
25
- export declare const Header: import("react").ForwardRefExoticComponent<{
27
+ /**
28
+ * @see {@link https://designsystem.amsterdam/?path=/docs/components-containers-page-header--docs Page Header docs at Amsterdam Design System}
29
+ */
30
+ export declare const PageHeader: import("react").ForwardRefExoticComponent<{
26
31
  /** The name of the application. */
27
32
  brandName?: string;
28
33
  /** The name of the brand for which to display the logo. */
29
34
  logoBrand?: LogoBrand;
30
35
  /** The url for the link on the logo. */
31
36
  logoLink?: string;
37
+ /** The React component to use for the logo link. */
38
+ logoLinkComponent?: ComponentType<AnchorHTMLAttributes<HTMLAnchorElement>>;
32
39
  /** The accessible text for the link on the logo. */
33
40
  logoLinkTitle?: string;
34
41
  /** The text for the menu button. */
35
42
  menuButtonText?: string;
36
- /** A slot for the menu items. Use Header.MenuLink here. */
43
+ /** A slot for the menu items. Use PageHeader.MenuLink here. */
37
44
  menuItems?: ReactNode;
38
45
  /** The accessible label for the navigation section. */
39
46
  navigationLabel?: string;
@@ -43,7 +50,7 @@ export declare const Header: import("react").ForwardRefExoticComponent<{
43
50
  GridCellNarrowWindowOnly: import("react").ForwardRefExoticComponent<import("..").GridCellProps & import("react").RefAttributes<HTMLElement>>;
44
51
  MenuLink: import("react").ForwardRefExoticComponent<{
45
52
  fixed?: boolean;
46
- } & import("react").AnchorHTMLAttributes<HTMLAnchorElement> & {
53
+ } & AnchorHTMLAttributes<HTMLAnchorElement> & {
47
54
  children?: ReactNode | undefined;
48
55
  } & import("react").RefAttributes<HTMLAnchorElement>>;
49
56
  };
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * @license EUPL-1.2+
4
+ * Copyright Gemeente Amsterdam
5
+ */
6
+ import clsx from 'clsx';
7
+ import { forwardRef, useEffect, useState } from 'react';
8
+ import { Icon } from '../Icon';
9
+ import { Logo } from '../Logo';
10
+ import { PageHeaderGridCellNarrowWindowOnly } from './PageHeaderGridCellNarrowWindowOnly';
11
+ import { PageHeaderMenuIcon } from './PageHeaderMenuIcon';
12
+ import { PageHeaderMenuLink } from './PageHeaderMenuLink';
13
+ import useIsAfterBreakpoint from '../common/useIsAfterBreakpoint';
14
+ const LogoLinkContent = ({ brandName, logoBrand }) => (_jsxs(_Fragment, { children: [_jsx("span", { className: clsx(logoBrand === 'amsterdam' && Boolean(brandName) && 'ams-page-header__logo-container'), children: _jsx(Logo, { brand: logoBrand }) }), brandName && (_jsx("span", { "aria-hidden": "true", className: "ams-page-header__brand-name", children: brandName }))] }));
15
+ const PageHeaderRoot = forwardRef(({ brandName, children, className, logoBrand = 'amsterdam', logoLink = '/', logoLinkComponent = (props) => _jsx("a", { ...props }), logoLinkTitle = 'Ga naar de homepage', menuButtonText = 'Menu', menuItems, navigationLabel = 'Hoofdnavigatie', noMenuButtonOnWideWindow, ...restProps }, ref) => {
16
+ const [open, setOpen] = useState(false);
17
+ const Link = logoLinkComponent;
18
+ const hasMegaMenu = Boolean(children);
19
+ const isWideWindow = hasMegaMenu && useIsAfterBreakpoint('wide');
20
+ useEffect(() => {
21
+ // Close the menu when the menu button disappears
22
+ if (noMenuButtonOnWideWindow && isWideWindow) {
23
+ setOpen(false);
24
+ }
25
+ }, [isWideWindow]);
26
+ return (_jsxs("header", { ...restProps, className: clsx('ams-page-header', className), ref: ref, children: [_jsxs(Link, { className: "ams-page-header__logo-link", href: logoLink, children: [_jsx("span", { className: "ams-visually-hidden", children: logoLinkTitle }), _jsx(LogoLinkContent, { brandName: brandName, logoBrand: logoBrand })] }), (hasMegaMenu || menuItems) && (_jsxs("nav", { "aria-labelledby": "primary-navigation", className: "ams-page-header__navigation", children: [_jsx("h2", { className: "ams-visually-hidden", id: "primary-navigation", children: navigationLabel }), _jsx("div", { className: "ams-page-header__logo-link ams-page-header__logo-link--hidden", children: _jsx(LogoLinkContent, { brandName: brandName, logoBrand: logoBrand }) }), _jsxs("ul", { className: "ams-page-header__menu", children: [menuItems, hasMegaMenu && (_jsx("li", { className: clsx(noMenuButtonOnWideWindow && 'ams-page-header__mega-menu-button-item--hide-on-wide-window'), children: _jsxs("button", { "aria-controls": "ams-page-header-mega-menu", "aria-expanded": open, className: "ams-page-header__mega-menu-button", onClick: () => setOpen(!open), type: "button", children: [_jsx("span", { className: "ams-page-header__mega-menu-button-label", children: menuButtonText }), _jsx("span", { "aria-hidden": "true", className: "ams-page-header__mega-menu-button-hidden-label", children: menuButtonText }), _jsx(Icon, { svg: _jsx(PageHeaderMenuIcon, { className: clsx('ams-page-header__menu-icon', open && 'ams-page-header__menu-icon--open') }) })] }) }))] }), hasMegaMenu && (_jsx("div", { className: clsx('ams-page-header__mega-menu', !open && 'ams-page-header__mega-menu--closed'), id: "ams-page-header-mega-menu", children: children }))] }))] }));
27
+ });
28
+ PageHeaderRoot.displayName = 'PageHeader';
29
+ /**
30
+ * @see {@link https://designsystem.amsterdam/?path=/docs/components-containers-page-header--docs Page Header docs at Amsterdam Design System}
31
+ */
32
+ export const PageHeader = Object.assign(PageHeaderRoot, {
33
+ GridCellNarrowWindowOnly: PageHeaderGridCellNarrowWindowOnly,
34
+ MenuLink: PageHeaderMenuLink,
35
+ });
@@ -1,2 +1,6 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
1
5
  import './matchMedia.mock';
2
6
  import '@testing-library/jest-dom';
@@ -1,83 +1,86 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * @license EUPL-1.2+
4
+ * Copyright Gemeente Amsterdam
5
+ */
2
6
  import { render, screen } from '@testing-library/react';
3
7
  import userEvent from '@testing-library/user-event';
4
8
  import { createRef } from 'react';
5
- import './matchMedia.mock'; // Must be imported before Header
6
- import { Header } from './Header';
9
+ import './matchMedia.mock'; // Must be imported before PageHeader
10
+ import { PageHeader } from './PageHeader';
7
11
  import '@testing-library/jest-dom';
8
- describe('Header', () => {
12
+ describe('Page Header', () => {
9
13
  it('renders', () => {
10
- render(_jsx(Header, {}));
14
+ render(_jsx(PageHeader, {}));
11
15
  const component = screen.getByRole('banner');
12
16
  expect(component).toBeInTheDocument();
13
17
  expect(component).toBeVisible();
14
18
  });
15
19
  it('renders a design system BEM class name', () => {
16
- render(_jsx(Header, {}));
20
+ render(_jsx(PageHeader, {}));
17
21
  const component = screen.getByRole('banner');
18
- expect(component).toHaveClass('ams-header');
22
+ expect(component).toHaveClass('ams-page-header');
19
23
  });
20
- it('renders an additional class name', () => {
21
- render(_jsx(Header, { className: "extra" }));
24
+ it('renders an extra class name', () => {
25
+ render(_jsx(PageHeader, { className: "extra" }));
22
26
  const component = screen.getByRole('banner');
23
- expect(component).toHaveClass('extra');
24
- expect(component).toHaveClass('ams-header');
27
+ expect(component).toHaveClass('ams-page-header extra');
25
28
  });
26
29
  it('supports ForwardRef in React', () => {
27
30
  const ref = createRef();
28
- render(_jsx(Header, { ref: ref }));
31
+ render(_jsx(PageHeader, { ref: ref }));
29
32
  const component = screen.getByRole('banner');
30
33
  expect(ref.current).toBe(component);
31
34
  });
32
35
  it('renders a logo link', () => {
33
- render(_jsx(Header, {}));
36
+ render(_jsx(PageHeader, {}));
34
37
  const component = screen.getByRole('link');
35
- expect(component).toHaveClass('ams-header__logo-link');
38
+ expect(component).toHaveClass('ams-page-header__logo-link');
36
39
  });
37
40
  it('renders a different brand logo', () => {
38
- const { container } = render(_jsx(Header, { logoBrand: "ggd-amsterdam" }));
41
+ const { container } = render(_jsx(PageHeader, { logoBrand: "ggd-amsterdam" }));
39
42
  const component = container.querySelector('.ams-logo__text-secondary');
40
43
  expect(component).toBeInTheDocument();
41
44
  });
42
45
  it('renders a custom logo link', () => {
43
- render(_jsx(Header, { logoLink: "/home" }));
46
+ render(_jsx(PageHeader, { logoLink: "/home" }));
44
47
  const logoLink = screen.getByRole('link');
45
48
  expect(logoLink).toHaveAttribute('href', '/home');
46
49
  });
47
50
  it('renders a custom logo link title', () => {
48
- render(_jsx(Header, { logoLinkTitle: "Go to homepage" }));
51
+ render(_jsx(PageHeader, { logoLinkTitle: "Go to homepage" }));
49
52
  const logoLinkTitle = screen.getByRole('link', { name: 'Go to homepage' });
50
53
  expect(logoLinkTitle).toBeInTheDocument();
51
54
  });
52
55
  it('renders an application name', () => {
53
- render(_jsx(Header, { brandName: "Application name" }));
56
+ render(_jsx(PageHeader, { brandName: "Application name" }));
54
57
  const brandName = screen.getByText('Application name');
55
58
  expect(brandName).toBeInTheDocument();
56
59
  });
57
60
  it('renders the correct class for the responsive logo', () => {
58
- const { container } = render(_jsx(Header, { brandName: "Application name" }));
59
- const logoContainer = container.querySelector('.ams-header__logo-container');
61
+ const { container } = render(_jsx(PageHeader, { brandName: "Application name" }));
62
+ const logoContainer = container.querySelector('.ams-page-header__logo-container');
60
63
  expect(logoContainer).toBeInTheDocument();
61
64
  });
62
65
  it('renders a nav section', () => {
63
- render(_jsx(Header, { children: "Test" }));
66
+ render(_jsx(PageHeader, { children: "Test" }));
64
67
  const component = screen.getByRole('navigation');
65
- expect(component).toHaveClass('ams-header__navigation');
68
+ expect(component).toHaveClass('ams-page-header__navigation');
66
69
  });
67
70
  it('renders a nav section with a custom label', () => {
68
- render(_jsx(Header, { navigationLabel: "Custom Navigation", children: "Test" }));
71
+ render(_jsx(PageHeader, { navigationLabel: "Custom Navigation", children: "Test" }));
69
72
  const component = screen.getByRole('navigation', { name: 'Custom Navigation' });
70
73
  expect(component).toBeInTheDocument();
71
74
  });
72
75
  it('renders a menu', () => {
73
- render(_jsx(Header, { menuItems: _jsx(Header.MenuLink, { children: "Menu Item" }) }));
76
+ render(_jsx(PageHeader, { menuItems: _jsx(PageHeader.MenuLink, { children: "Menu Item" }) }));
74
77
  const component = screen.getByRole('list');
75
- expect(component).toHaveClass('ams-header__menu');
78
+ expect(component).toHaveClass('ams-page-header__menu');
76
79
  });
77
80
  it('renders menu items', () => {
78
- render(_jsx(Header, { menuItems: [
79
- _jsx(Header.MenuLink, { href: "/", children: "Menu Item 1" }, 1),
80
- _jsx(Header.MenuLink, { href: "/", children: "Menu Item 2" }, 2),
81
+ render(_jsx(PageHeader, { menuItems: [
82
+ _jsx(PageHeader.MenuLink, { href: "/", children: "Menu Item 1" }, 1),
83
+ _jsx(PageHeader.MenuLink, { href: "/", children: "Menu Item 2" }, 2),
81
84
  ] }));
82
85
  const item1 = screen.getByRole('link', { name: 'Menu Item 1' });
83
86
  const item2 = screen.getByRole('link', { name: 'Menu Item 2' });
@@ -85,37 +88,43 @@ describe('Header', () => {
85
88
  expect(item2).toBeInTheDocument();
86
89
  });
87
90
  it('renders a menu button', () => {
88
- render(_jsx(Header, { children: "Test" }));
91
+ render(_jsx(PageHeader, { children: "Test" }));
89
92
  const component = screen.getByRole('button', { name: 'Menu' });
90
- expect(component).toHaveClass('ams-header__mega-menu-button');
93
+ expect(component).toHaveClass('ams-page-header__mega-menu-button');
91
94
  });
92
95
  it('renders a menu button icon', () => {
93
- const { container } = render(_jsx(Header, { children: "Test" }));
94
- const component = container.querySelector('.ams-header__menu-icon');
96
+ const { container } = render(_jsx(PageHeader, { children: "Test" }));
97
+ const component = container.querySelector('.ams-page-header__menu-icon');
95
98
  expect(component).toBeInTheDocument();
96
99
  });
97
100
  it('renders a custom menu button text', () => {
98
- render(_jsx(Header, { menuButtonText: "Custom button text", children: "Test" }));
101
+ render(_jsx(PageHeader, { menuButtonText: "Custom button text", children: "Test" }));
99
102
  const component = screen.getByRole('button', { name: 'Custom button text' });
100
103
  expect(component).toBeInTheDocument();
101
104
  });
102
105
  it('renders the correct class when noMenuButtonOnWideWindow is true', () => {
103
- render(_jsx(Header, { noMenuButtonOnWideWindow: true, children: "Test" }));
106
+ render(_jsx(PageHeader, { noMenuButtonOnWideWindow: true, children: "Test" }));
104
107
  const component = screen.getByRole('listitem');
105
- expect(component).toHaveClass('ams-header__mega-menu-button-item--hide-on-wide-window');
108
+ expect(component).toHaveClass('ams-page-header__mega-menu-button-item--hide-on-wide-window');
106
109
  });
107
110
  it('opens and closes the mega menu', async () => {
108
111
  const user = userEvent.setup();
109
- const { container } = render(_jsx(Header, { children: "Test" }));
110
- const closedMegaMenu = container.querySelector('.ams-header__mega-menu--closed');
112
+ const { container } = render(_jsx(PageHeader, { children: "Test" }));
113
+ const closedMegaMenu = container.querySelector('.ams-page-header__mega-menu--closed');
111
114
  expect(closedMegaMenu).toBeInTheDocument();
112
115
  const menuButton = screen.getByRole('button', { name: 'Menu' });
113
116
  await user.click(menuButton);
114
- const openMegaMenu = container.querySelector('.ams-header__mega-menu');
117
+ const openMegaMenu = container.querySelector('.ams-page-header__mega-menu');
115
118
  expect(openMegaMenu).toBeInTheDocument();
116
- expect(openMegaMenu).not.toHaveClass('ams-header__mega-menu--closed');
119
+ expect(openMegaMenu).not.toHaveClass('ams-page-header__mega-menu--closed');
117
120
  });
118
121
  it.skip('it closes the mega menu when it is open and the screen width passes the breakpoint', () => {
119
122
  // TODO: Add this test
120
123
  });
124
+ it('renders a custom logo link component', () => {
125
+ const CustomLink = (props) => _jsx("a", { "data-test": true, ...props });
126
+ render(_jsx(PageHeader, { logoLinkComponent: CustomLink }));
127
+ const customLink = screen.getByRole('link', { name: 'Ga naar de homepage' });
128
+ expect(customLink).toHaveAttribute('data-test');
129
+ });
121
130
  });
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
5
+ import { GridCellProps } from '../Grid';
6
+ export declare const PageHeaderGridCellNarrowWindowOnly: import("react").ForwardRefExoticComponent<GridCellProps & import("react").RefAttributes<HTMLElement>>;
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * @license EUPL-1.2+
4
+ * Copyright Gemeente Amsterdam
5
+ */
6
+ import clsx from 'clsx';
7
+ import { forwardRef } from 'react';
8
+ import { Grid } from '../Grid';
9
+ export const PageHeaderGridCellNarrowWindowOnly = forwardRef(({ children, className, ...restProps }, ref) => (_jsx(Grid.Cell, { ...restProps, className: clsx('ams-page-header__grid-cell-narrow-window-only', className), ref: ref, children: children })));
10
+ PageHeaderGridCellNarrowWindowOnly.displayName = 'PageHeader.GridCellNarrowWindowOnly';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
5
+ import '@testing-library/jest-dom';
@@ -1,33 +1,37 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * @license EUPL-1.2+
4
+ * Copyright Gemeente Amsterdam
5
+ */
2
6
  import { render } from '@testing-library/react';
3
7
  import { createRef } from 'react';
4
- import { HeaderGridCellNarrowWindowOnly } from './HeaderGridCellNarrowWindowOnly';
8
+ import { PageHeaderGridCellNarrowWindowOnly } from './PageHeaderGridCellNarrowWindowOnly';
5
9
  import '@testing-library/jest-dom';
6
- describe('Header narrow screen only grid cell', () => {
10
+ describe('Page Header Grid Cell Narrow Window Only', () => {
7
11
  it('renders', () => {
8
- const { container } = render(_jsx(HeaderGridCellNarrowWindowOnly, {}));
12
+ const { container } = render(_jsx(PageHeaderGridCellNarrowWindowOnly, {}));
9
13
  const component = container.querySelector(':only-child');
10
14
  expect(component).toBeInTheDocument();
11
15
  expect(component).toBeVisible();
12
16
  });
13
17
  it('renders a Grid.Cell', () => {
14
- const { container } = render(_jsx(HeaderGridCellNarrowWindowOnly, {}));
18
+ const { container } = render(_jsx(PageHeaderGridCellNarrowWindowOnly, {}));
15
19
  const component = container.querySelector(':only-child');
16
20
  expect(component).toHaveClass('ams-grid__cell');
17
21
  });
18
22
  it('renders a design system BEM class name', () => {
19
- const { container } = render(_jsx(HeaderGridCellNarrowWindowOnly, {}));
23
+ const { container } = render(_jsx(PageHeaderGridCellNarrowWindowOnly, {}));
20
24
  const component = container.querySelector(':only-child');
21
- expect(component).toHaveClass('ams-header__grid-cell-narrow-window-only');
25
+ expect(component).toHaveClass('ams-page-header__grid-cell-narrow-window-only');
22
26
  });
23
- it('renders an additional class name', () => {
24
- const { container } = render(_jsx(HeaderGridCellNarrowWindowOnly, { className: "extra" }));
27
+ it('renders an extra class name', () => {
28
+ const { container } = render(_jsx(PageHeaderGridCellNarrowWindowOnly, { className: "extra" }));
25
29
  const component = container.querySelector(':only-child');
26
- expect(component).toHaveClass('ams-header__grid-cell-narrow-window-only extra');
30
+ expect(component).toHaveClass('ams-page-header__grid-cell-narrow-window-only extra');
27
31
  });
28
32
  it('supports ForwardRef in React', () => {
29
33
  const ref = createRef();
30
- const { container } = render(_jsx(HeaderGridCellNarrowWindowOnly, { ref: ref }));
34
+ const { container } = render(_jsx(PageHeaderGridCellNarrowWindowOnly, { ref: ref }));
31
35
  const component = container.querySelector(':only-child');
32
36
  expect(ref.current).toBe(component);
33
37
  });
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
5
+ import type { SVGProps } from 'react';
6
+ export declare const PageHeaderMenuIcon: (props: SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const PageHeaderMenuIcon = (props) => (_jsxs("svg", { "aria-hidden": "true", focusable: "false", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("line", { className: "ams-page-header__menu-icon-top", x1: "0", x2: "100%", y1: "50%", y2: "50%" }), _jsx("line", { className: "ams-page-header__menu-icon-middle", x1: "0", x2: "100%", y1: "50%", y2: "50%" }), _jsx("line", { className: "ams-page-header__menu-icon-bottom", x1: "0", x2: "100%", y1: "50%", y2: "50%" })] }));
@@ -1,8 +1,12 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
1
5
  import { AnchorHTMLAttributes, PropsWithChildren } from 'react';
2
- export type HeaderMenuLinkProps = {
6
+ export type PageHeaderMenuLinkProps = {
3
7
  fixed?: boolean;
4
8
  } & PropsWithChildren<AnchorHTMLAttributes<HTMLAnchorElement>>;
5
- export declare const HeaderMenuLink: import("react").ForwardRefExoticComponent<{
9
+ export declare const PageHeaderMenuLink: import("react").ForwardRefExoticComponent<{
6
10
  fixed?: boolean;
7
11
  } & AnchorHTMLAttributes<HTMLAnchorElement> & {
8
12
  children?: import("react").ReactNode | undefined;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * @license EUPL-1.2+
4
+ * Copyright Gemeente Amsterdam
5
+ */
6
+ import clsx from 'clsx';
7
+ import { forwardRef } from 'react';
8
+ export const PageHeaderMenuLink = forwardRef(({ children, className, fixed, ...restProps }, ref) => (_jsx("li", { className: clsx('ams-page-header__menu-item', fixed && 'ams-page-header__menu-item--fixed'), children: _jsx("a", { ...restProps, className: clsx('ams-page-header__menu-link', className), ref: ref, children: children }) })));
9
+ PageHeaderMenuLink.displayName = 'PageHeader.MenuLink';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
5
+ import '@testing-library/jest-dom';
@@ -1,40 +1,44 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * @license EUPL-1.2+
4
+ * Copyright Gemeente Amsterdam
5
+ */
2
6
  import { render, screen } from '@testing-library/react';
3
7
  import { createRef } from 'react';
4
- import { HeaderMenuLink } from './HeaderMenuLink';
8
+ import { PageHeaderMenuLink } from './PageHeaderMenuLink';
5
9
  import '@testing-library/jest-dom';
6
- describe('Header menu link', () => {
10
+ describe('Page Header Menu Link', () => {
7
11
  it('renders', () => {
8
- render(_jsx(HeaderMenuLink, { href: "/" }));
12
+ render(_jsx(PageHeaderMenuLink, { href: "/" }));
9
13
  const component = screen.getByRole('listitem');
10
14
  expect(component).toBeInTheDocument();
11
15
  expect(component).toBeVisible();
12
16
  });
13
17
  it('renders a design system BEM class name', () => {
14
- render(_jsx(HeaderMenuLink, { href: "/" }));
18
+ render(_jsx(PageHeaderMenuLink, { href: "/" }));
15
19
  const item = screen.getByRole('listitem');
16
- expect(item).toHaveClass('ams-header__menu-item');
20
+ expect(item).toHaveClass('ams-page-header__menu-item');
17
21
  const link = screen.getByRole('link');
18
- expect(link).toHaveClass('ams-header__menu-link');
22
+ expect(link).toHaveClass('ams-page-header__menu-link');
19
23
  });
20
- it('renders an additional class name', () => {
21
- render(_jsx(HeaderMenuLink, { className: "extra", href: "/" }));
24
+ it('renders an extra class name', () => {
25
+ render(_jsx(PageHeaderMenuLink, { className: "extra", href: "/" }));
22
26
  const component = screen.getByRole('link');
23
- expect(component).toHaveClass('ams-header__menu-link extra');
27
+ expect(component).toHaveClass('ams-page-header__menu-link extra');
24
28
  });
25
29
  it('renders the href attribute', () => {
26
- render(_jsx(HeaderMenuLink, { href: "/" }));
30
+ render(_jsx(PageHeaderMenuLink, { href: "/" }));
27
31
  const component = screen.getByRole('link');
28
32
  expect(component).toHaveAttribute('href', '/');
29
33
  });
30
34
  it('renders the ‘fixed’ prop classname', () => {
31
- render(_jsx(HeaderMenuLink, { fixed: true, href: "/" }));
35
+ render(_jsx(PageHeaderMenuLink, { fixed: true, href: "/" }));
32
36
  const component = screen.getByRole('listitem');
33
- expect(component).toHaveClass('ams-header__menu-item--fixed');
37
+ expect(component).toHaveClass('ams-page-header__menu-item--fixed');
34
38
  });
35
39
  it('supports ForwardRef in React', () => {
36
40
  const ref = createRef();
37
- render(_jsx(HeaderMenuLink, { href: "/", ref: ref }));
41
+ render(_jsx(PageHeaderMenuLink, { href: "/", ref: ref }));
38
42
  const component = screen.getByRole('link');
39
43
  expect(ref.current).toBe(component);
40
44
  });
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
5
+ export { PageHeader } from './PageHeader';
6
+ export type { PageHeaderProps } from './PageHeader';
7
+ export type { PageHeaderMenuLinkProps } from './PageHeaderMenuLink';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
5
+ export { PageHeader } from './PageHeader';
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * @license EUPL-1.2+
4
+ * Copyright Gemeente Amsterdam
5
+ */
2
6
  // Sourced from https://jestjs.io/docs/29.4/manual-mocks#mocking-methods-which-are-not-implemented-in-jsdom
3
7
  Object.defineProperty(window, 'matchMedia', {
4
8
  value: jest.fn().mockImplementation((query) => ({
@@ -7,6 +7,9 @@ export type PageHeadingProps = {
7
7
  /** Changes the text colour for readability on a dark background. */
8
8
  color?: 'inverse';
9
9
  } & PropsWithChildren<HTMLAttributes<HTMLHeadingElement>>;
10
+ /**
11
+ * @see {@link https://designsystem.amsterdam/?path=/docs/components-text-page-heading--docs Page Heading docs at Amsterdam Design System}
12
+ */
10
13
  export declare const PageHeading: import("react").ForwardRefExoticComponent<{
11
14
  /** Changes the text colour for readability on a dark background. */
12
15
  color?: "inverse";
@@ -5,5 +5,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
5
5
  */
6
6
  import clsx from 'clsx';
7
7
  import { forwardRef } from 'react';
8
+ /**
9
+ * @see {@link https://designsystem.amsterdam/?path=/docs/components-text-page-heading--docs Page Heading docs at Amsterdam Design System}
10
+ */
8
11
  export const PageHeading = forwardRef(({ children, className, color, ...restProps }, ref) => (_jsx("h1", { ...restProps, className: clsx('ams-page-heading', color && `ams-page-heading--${color}`, className), ref: ref, children: children })));
9
12
  PageHeading.displayName = 'PageHeading';
@@ -1 +1,5 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
1
5
  import '@testing-library/jest-dom';
@@ -1,4 +1,8 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * @license EUPL-1.2+
4
+ * Copyright Gemeente Amsterdam
5
+ */
2
6
  import { render, screen } from '@testing-library/react';
3
7
  import { createRef } from 'react';
4
8
  import { PageHeading } from './PageHeading';
@@ -17,11 +21,10 @@ describe('Page heading', () => {
17
21
  const component = container.querySelector(':only-child');
18
22
  expect(component).toHaveClass('ams-page-heading');
19
23
  });
20
- it('renders an additional class name', () => {
24
+ it('renders an extra class name', () => {
21
25
  const { container } = render(_jsx(PageHeading, { className: "extra" }));
22
26
  const component = container.querySelector(':only-child');
23
- expect(component).toHaveClass('extra');
24
- expect(component).toHaveClass('ams-page-heading');
27
+ expect(component).toHaveClass('ams-page-heading extra');
25
28
  });
26
29
  it('renders the class name for inverse color', () => {
27
30
  render(_jsx(PageHeading, { color: "inverse", children: "Titel" }));
@@ -1,2 +1,6 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
1
5
  export { PageHeading } from './PageHeading';
2
6
  export type { PageHeadingProps } from './PageHeading';
@@ -1 +1,5 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
1
5
  export { PageHeading } from './PageHeading';
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
1
5
  import { PaginationProps } from './Pagination';
2
6
  type LinkItemProps = Pick<PaginationProps, 'linkComponent' | 'linkTemplate'> & {
3
7
  currentPage: PaginationProps['page'];
@@ -30,6 +30,9 @@ export type PaginationProps = {
30
30
  */
31
31
  visuallyHiddenLabelId?: string;
32
32
  } & HTMLAttributes<HTMLElement>;
33
+ /**
34
+ * @see {@link https://designsystem.amsterdam/?path=/docs/components-navigation-pagination--docs Pagination docs at Amsterdam Design System}
35
+ */
33
36
  export declare const Pagination: import("react").ForwardRefExoticComponent<{
34
37
  /** The React component to use for the links. */
35
38
  linkComponent?: ComponentType<AnchorHTMLAttributes<HTMLAnchorElement>>;
@@ -3,13 +3,16 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  * @license EUPL-1.2+
4
4
  * Copyright Gemeente Amsterdam
5
5
  */
6
- import { ChevronLeftIcon, ChevronRightIcon } from '@amsterdam/design-system-react-icons';
6
+ import { ChevronBackwardIcon, ChevronForwardIcon } from '@amsterdam/design-system-react-icons';
7
7
  import clsx from 'clsx';
8
8
  import { forwardRef } from 'react';
9
9
  import { LinkItem } from './LinkItem';
10
10
  import { Spacer } from './Spacer';
11
11
  import { getRange } from './getRange';
12
12
  import { Icon } from '../Icon/Icon';
13
+ /**
14
+ * @see {@link https://designsystem.amsterdam/?path=/docs/components-navigation-pagination--docs Pagination docs at Amsterdam Design System}
15
+ */
13
16
  export const Pagination = forwardRef(({ className, linkComponent = (props) => _jsx("a", { ...props }), linkTemplate, maxVisiblePages = 7, nextLabel = 'volgende', nextVisuallyHiddenLabel = 'Volgende pagina', page = 1, previousLabel = 'vorige', previousVisuallyHiddenLabel = 'Vorige pagina', totalPages, visuallyHiddenLabel = 'Paginering', visuallyHiddenLabelId = 'ams-pagination-a11y-label', ...restProps }, ref) => {
14
17
  // Don't show pagination if you only have one page
15
18
  if (totalPages <= 1) {
@@ -18,6 +21,6 @@ export const Pagination = forwardRef(({ className, linkComponent = (props) => _j
18
21
  const Link = linkComponent;
19
22
  // Get array of page numbers and / or spacers
20
23
  const range = getRange(page, totalPages, maxVisiblePages);
21
- return (_jsxs("nav", { ...restProps, "aria-labelledby": visuallyHiddenLabelId, className: clsx('ams-pagination', className), ref: ref, children: [_jsx("span", { className: "ams-visually-hidden", id: visuallyHiddenLabelId, children: visuallyHiddenLabel }), page !== 1 && (_jsxs(Link, { className: "ams-pagination__link", href: linkTemplate(page - 1), rel: "prev", children: [_jsx(Icon, { svg: ChevronLeftIcon }), _jsx("span", { className: "ams-visually-hidden", children: previousVisuallyHiddenLabel }), _jsx("span", { "aria-hidden": true, children: previousLabel })] })), _jsx("ol", { className: "ams-pagination__list", children: range.map((pageNumberOrSpacer) => typeof pageNumberOrSpacer === 'number' ? (_jsx(LinkItem, { currentPage: page, linkComponent: linkComponent, linkTemplate: linkTemplate, pageNumber: pageNumberOrSpacer }, pageNumberOrSpacer)) : (_jsx(Spacer, {}, pageNumberOrSpacer))) }), page !== totalPages && (_jsxs(Link, { className: "ams-pagination__link", href: linkTemplate(page + 1), rel: "next", children: [_jsx("span", { className: "ams-visually-hidden", children: nextVisuallyHiddenLabel }), _jsx("span", { "aria-hidden": true, children: nextLabel }), _jsx(Icon, { svg: ChevronRightIcon })] }))] }));
24
+ return (_jsxs("nav", { ...restProps, "aria-labelledby": visuallyHiddenLabelId, className: clsx('ams-pagination', className), ref: ref, children: [_jsx("span", { className: "ams-visually-hidden", id: visuallyHiddenLabelId, children: visuallyHiddenLabel }), page !== 1 && (_jsxs(Link, { className: "ams-pagination__link", href: linkTemplate(page - 1), rel: "prev", children: [_jsx(Icon, { svg: ChevronBackwardIcon }), _jsx("span", { className: "ams-visually-hidden", children: previousVisuallyHiddenLabel }), _jsx("span", { "aria-hidden": true, children: previousLabel })] })), _jsx("ol", { className: "ams-pagination__list", children: range.map((pageNumberOrSpacer) => typeof pageNumberOrSpacer === 'number' ? (_jsx(LinkItem, { currentPage: page, linkComponent: linkComponent, linkTemplate: linkTemplate, pageNumber: pageNumberOrSpacer }, pageNumberOrSpacer)) : (_jsx(Spacer, {}, pageNumberOrSpacer))) }), page !== totalPages && (_jsxs(Link, { className: "ams-pagination__link", href: linkTemplate(page + 1), rel: "next", children: [_jsx("span", { className: "ams-visually-hidden", children: nextVisuallyHiddenLabel }), _jsx("span", { "aria-hidden": true, children: nextLabel }), _jsx(Icon, { svg: ChevronForwardIcon })] }))] }));
22
25
  });
23
26
  Pagination.displayName = 'Pagination';
@@ -1 +1,5 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
1
5
  import '@testing-library/jest-dom';