@amsterdam/design-system-react 0.14.1 → 0.15.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 (602) hide show
  1. package/dist/Accordion/Accordion.d.ts +35 -0
  2. package/dist/Accordion/Accordion.js +19 -0
  3. package/dist/Accordion/Accordion.test.d.ts +1 -0
  4. package/dist/Accordion/Accordion.test.js +24 -0
  5. package/dist/Accordion/AccordionContext.d.ts +12 -0
  6. package/dist/Accordion/AccordionContext.js +11 -0
  7. package/dist/Accordion/AccordionSection.d.ts +19 -0
  8. package/dist/Accordion/AccordionSection.js +22 -0
  9. package/dist/Accordion/AccordionSection.test.d.ts +1 -0
  10. package/dist/Accordion/AccordionSection.test.js +83 -0
  11. package/dist/Accordion/index.d.ts +3 -0
  12. package/dist/Accordion/index.js +1 -0
  13. package/dist/ActionGroup/ActionGroup.d.ts +9 -0
  14. package/dist/ActionGroup/ActionGroup.js +9 -0
  15. package/dist/ActionGroup/ActionGroup.test.d.ts +1 -0
  16. package/dist/ActionGroup/ActionGroup.test.js +29 -0
  17. package/dist/ActionGroup/index.d.ts +2 -0
  18. package/dist/ActionGroup/index.js +1 -0
  19. package/dist/Alert/Alert.d.ts +46 -0
  20. package/dist/Alert/Alert.js +22 -0
  21. package/dist/Alert/Alert.test.d.ts +1 -0
  22. package/dist/Alert/Alert.test.js +59 -0
  23. package/dist/Alert/index.d.ts +2 -0
  24. package/dist/Alert/index.js +1 -0
  25. package/dist/Avatar/Avatar.d.ts +24 -0
  26. package/dist/Avatar/Avatar.js +25 -0
  27. package/dist/Avatar/Avatar.test.d.ts +1 -0
  28. package/dist/Avatar/Avatar.test.js +58 -0
  29. package/dist/Avatar/index.d.ts +2 -0
  30. package/dist/Avatar/index.js +1 -0
  31. package/dist/Badge/Badge.d.ts +20 -0
  32. package/dist/Badge/Badge.js +10 -0
  33. package/dist/Badge/Badge.test.d.ts +1 -0
  34. package/dist/Badge/Badge.test.js +39 -0
  35. package/dist/Badge/index.d.ts +2 -0
  36. package/dist/Badge/index.js +1 -0
  37. package/dist/Blockquote/Blockquote.d.ts +15 -0
  38. package/dist/Blockquote/Blockquote.js +9 -0
  39. package/dist/Blockquote/Blockquote.test.d.ts +1 -0
  40. package/dist/Blockquote/Blockquote.test.js +43 -0
  41. package/dist/Blockquote/index.d.ts +2 -0
  42. package/dist/Blockquote/index.js +1 -0
  43. package/dist/Breadcrumb/Breadcrumb.d.ts +11 -0
  44. package/dist/Breadcrumb/Breadcrumb.js +11 -0
  45. package/dist/Breadcrumb/Breadcrumb.test.d.ts +1 -0
  46. package/dist/Breadcrumb/Breadcrumb.test.js +41 -0
  47. package/dist/Breadcrumb/BreadcrumbLink.d.ts +7 -0
  48. package/dist/Breadcrumb/BreadcrumbLink.js +9 -0
  49. package/dist/Breadcrumb/BreadcrumbLink.test.d.ts +1 -0
  50. package/dist/Breadcrumb/BreadcrumbLink.test.js +36 -0
  51. package/dist/Breadcrumb/index.d.ts +3 -0
  52. package/dist/Breadcrumb/index.js +1 -0
  53. package/dist/Breakout/Breakout.d.ts +15 -0
  54. package/dist/Breakout/Breakout.js +12 -0
  55. package/dist/Breakout/Breakout.test.d.ts +1 -0
  56. package/dist/Breakout/Breakout.test.js +66 -0
  57. package/dist/Breakout/BreakoutCell.d.ts +35 -0
  58. package/dist/Breakout/BreakoutCell.js +10 -0
  59. package/dist/Breakout/BreakoutCell.test.d.ts +1 -0
  60. package/dist/Breakout/BreakoutCell.test.js +120 -0
  61. package/dist/Breakout/breakoutCellClasses.d.ts +6 -0
  62. package/dist/Breakout/breakoutCellClasses.js +11 -0
  63. package/dist/Breakout/index.d.ts +3 -0
  64. package/dist/Breakout/index.js +1 -0
  65. package/dist/Button/Button.d.ts +31 -0
  66. package/dist/Button/Button.js +10 -0
  67. package/dist/Button/Button.test.d.ts +1 -0
  68. package/dist/Button/Button.test.js +103 -0
  69. package/dist/Button/index.d.ts +2 -0
  70. package/dist/Button/index.js +1 -0
  71. package/dist/Card/Card.d.ts +18 -0
  72. package/dist/Card/Card.js +12 -0
  73. package/dist/Card/Card.test.d.ts +1 -0
  74. package/dist/Card/Card.test.js +29 -0
  75. package/dist/Card/CardHeadingGroup.d.ts +15 -0
  76. package/dist/Card/CardHeadingGroup.js +10 -0
  77. package/dist/Card/CardHeadingGroup.test.d.ts +1 -0
  78. package/dist/Card/CardHeadingGroup.test.js +34 -0
  79. package/dist/Card/CardLink.d.ts +9 -0
  80. package/dist/Card/CardLink.js +9 -0
  81. package/dist/Card/CardLink.test.d.ts +1 -0
  82. package/dist/Card/CardLink.test.js +29 -0
  83. package/dist/Card/index.d.ts +4 -0
  84. package/dist/Card/index.js +1 -0
  85. package/dist/CharacterCount/CharacterCount.d.ts +17 -0
  86. package/dist/CharacterCount/CharacterCount.js +9 -0
  87. package/dist/CharacterCount/CharacterCount.test.d.ts +1 -0
  88. package/dist/CharacterCount/CharacterCount.test.js +34 -0
  89. package/dist/CharacterCount/index.d.ts +2 -0
  90. package/dist/CharacterCount/index.js +1 -0
  91. package/dist/Checkbox/Checkbox.d.ts +19 -0
  92. package/dist/Checkbox/Checkbox.js +24 -0
  93. package/dist/Checkbox/Checkbox.test.d.ts +1 -0
  94. package/dist/Checkbox/Checkbox.test.js +124 -0
  95. package/dist/Checkbox/index.d.ts +2 -0
  96. package/dist/Checkbox/index.js +1 -0
  97. package/dist/Column/Column.d.ts +56 -0
  98. package/dist/Column/Column.js +10 -0
  99. package/dist/Column/Column.test.d.ts +1 -0
  100. package/dist/Column/Column.test.js +57 -0
  101. package/dist/Column/index.d.ts +2 -0
  102. package/dist/Column/index.js +1 -0
  103. package/dist/DateInput/DateInput.d.ts +20 -0
  104. package/dist/DateInput/DateInput.js +10 -0
  105. package/dist/DateInput/DateInput.test.d.ts +1 -0
  106. package/dist/DateInput/DateInput.test.js +54 -0
  107. package/dist/DateInput/index.d.ts +2 -0
  108. package/dist/DateInput/index.js +1 -0
  109. package/dist/DescriptionList/DescriptionList.d.ts +30 -0
  110. package/dist/DescriptionList/DescriptionList.js +18 -0
  111. package/dist/DescriptionList/DescriptionList.test.d.ts +1 -0
  112. package/dist/DescriptionList/DescriptionList.test.js +39 -0
  113. package/dist/DescriptionList/DescriptionListDescription.d.ts +9 -0
  114. package/dist/DescriptionList/DescriptionListDescription.js +9 -0
  115. package/dist/DescriptionList/DescriptionListDescription.test.d.ts +1 -0
  116. package/dist/DescriptionList/DescriptionListDescription.test.js +29 -0
  117. package/dist/DescriptionList/DescriptionListSection.d.ts +9 -0
  118. package/dist/DescriptionList/DescriptionListSection.js +9 -0
  119. package/dist/DescriptionList/DescriptionListSection.test.d.ts +1 -0
  120. package/dist/DescriptionList/DescriptionListSection.test.js +29 -0
  121. package/dist/DescriptionList/DescriptionListTerm.d.ts +9 -0
  122. package/dist/DescriptionList/DescriptionListTerm.js +9 -0
  123. package/dist/DescriptionList/DescriptionListTerm.test.d.ts +1 -0
  124. package/dist/DescriptionList/DescriptionListTerm.test.js +29 -0
  125. package/dist/DescriptionList/index.d.ts +4 -0
  126. package/dist/DescriptionList/index.js +1 -0
  127. package/dist/Dialog/Dialog.d.ts +27 -0
  128. package/dist/Dialog/Dialog.js +17 -0
  129. package/dist/Dialog/Dialog.test.d.ts +1 -0
  130. package/dist/Dialog/Dialog.test.js +78 -0
  131. package/dist/Dialog/index.d.ts +2 -0
  132. package/dist/Dialog/index.js +1 -0
  133. package/dist/ErrorMessage/ErrorMessage.d.ts +19 -0
  134. package/dist/ErrorMessage/ErrorMessage.js +11 -0
  135. package/dist/ErrorMessage/ErrorMessage.test.d.ts +1 -0
  136. package/dist/ErrorMessage/ErrorMessage.test.js +49 -0
  137. package/dist/ErrorMessage/index.d.ts +2 -0
  138. package/dist/ErrorMessage/index.js +1 -0
  139. package/dist/Field/Field.d.ts +15 -0
  140. package/dist/Field/Field.js +9 -0
  141. package/dist/Field/Field.test.d.ts +1 -0
  142. package/dist/Field/Field.test.js +34 -0
  143. package/dist/Field/index.d.ts +2 -0
  144. package/dist/Field/index.js +1 -0
  145. package/dist/FieldSet/FieldSet.d.ts +23 -0
  146. package/dist/FieldSet/FieldSet.js +12 -0
  147. package/dist/FieldSet/FieldSet.test.d.ts +1 -0
  148. package/dist/FieldSet/FieldSet.test.js +59 -0
  149. package/dist/FieldSet/index.d.ts +2 -0
  150. package/dist/FieldSet/index.js +1 -0
  151. package/dist/Figure/Figure.d.ts +15 -0
  152. package/dist/Figure/Figure.js +11 -0
  153. package/dist/Figure/Figure.test.d.ts +1 -0
  154. package/dist/Figure/Figure.test.js +29 -0
  155. package/dist/Figure/FigureCaption.d.ts +15 -0
  156. package/dist/Figure/FigureCaption.js +9 -0
  157. package/dist/Figure/FigureCaption.test.d.ts +1 -0
  158. package/dist/Figure/FigureCaption.test.js +34 -0
  159. package/dist/Figure/index.d.ts +2 -0
  160. package/dist/Figure/index.js +1 -0
  161. package/dist/FileInput/FileInput.d.ts +7 -0
  162. package/dist/FileInput/FileInput.js +9 -0
  163. package/dist/FileInput/FileInput.test.d.ts +1 -0
  164. package/dist/FileInput/FileInput.test.js +29 -0
  165. package/dist/FileInput/index.d.ts +2 -0
  166. package/dist/FileInput/index.js +1 -0
  167. package/dist/FileList/FileList.d.ts +17 -0
  168. package/dist/FileList/FileList.js +13 -0
  169. package/dist/FileList/FileList.test.d.ts +1 -0
  170. package/dist/FileList/FileList.test.js +29 -0
  171. package/dist/FileList/FileListItem.d.ts +13 -0
  172. package/dist/FileList/FileListItem.js +14 -0
  173. package/dist/FileList/FileListItem.test.d.ts +1 -0
  174. package/dist/FileList/FileListItem.test.js +40 -0
  175. package/dist/FileList/index.d.ts +2 -0
  176. package/dist/FileList/index.js +1 -0
  177. package/dist/Footer/Footer.d.ts +19 -0
  178. package/dist/Footer/Footer.js +17 -0
  179. package/dist/Footer/Footer.test.d.ts +1 -0
  180. package/dist/Footer/Footer.test.js +29 -0
  181. package/dist/Footer/FooterMenu.d.ts +9 -0
  182. package/dist/Footer/FooterMenu.js +9 -0
  183. package/dist/Footer/FooterMenu.test.d.ts +1 -0
  184. package/dist/Footer/FooterMenu.test.js +31 -0
  185. package/dist/Footer/FooterMenuLink.d.ts +9 -0
  186. package/dist/Footer/FooterMenuLink.js +9 -0
  187. package/dist/Footer/FooterMenuLink.test.d.ts +1 -0
  188. package/dist/Footer/FooterMenuLink.test.js +29 -0
  189. package/dist/Footer/FooterSpotlight.d.ts +9 -0
  190. package/dist/Footer/FooterSpotlight.js +9 -0
  191. package/dist/Footer/FooterSpotlight.test.d.ts +1 -0
  192. package/dist/Footer/FooterSpotlight.test.js +29 -0
  193. package/dist/Footer/index.d.ts +5 -0
  194. package/dist/Footer/index.js +1 -0
  195. package/dist/Grid/Grid.d.ts +37 -0
  196. package/dist/Grid/Grid.js +13 -0
  197. package/dist/Grid/Grid.test.d.ts +1 -0
  198. package/dist/Grid/Grid.test.js +81 -0
  199. package/dist/Grid/GridCell.d.ts +25 -0
  200. package/dist/Grid/GridCell.js +11 -0
  201. package/dist/Grid/GridCell.test.d.ts +1 -0
  202. package/dist/Grid/GridCell.test.js +86 -0
  203. package/dist/Grid/gridCellClasses.d.ts +8 -0
  204. package/dist/Grid/gridCellClasses.js +18 -0
  205. package/dist/Grid/index.d.ts +3 -0
  206. package/dist/Grid/index.js +1 -0
  207. package/dist/Grid/paddingClasses.d.ts +2 -0
  208. package/dist/Grid/paddingClasses.js +13 -0
  209. package/dist/Header/Header.d.ts +49 -0
  210. package/dist/Header/Header.js +31 -0
  211. package/dist/Header/Header.test.d.ts +2 -0
  212. package/dist/Header/Header.test.js +121 -0
  213. package/dist/Header/HeaderGridCellNarrowWindowOnly.d.ts +2 -0
  214. package/dist/Header/HeaderGridCellNarrowWindowOnly.js +6 -0
  215. package/dist/Header/HeaderGridCellNarrowWindowOnly.test.d.ts +1 -0
  216. package/dist/Header/HeaderGridCellNarrowWindowOnly.test.js +34 -0
  217. package/dist/Header/HeaderMenuIcon.d.ts +2 -0
  218. package/dist/Header/HeaderMenuIcon.js +2 -0
  219. package/dist/Header/HeaderMenuLink.d.ts +9 -0
  220. package/dist/Header/HeaderMenuLink.js +5 -0
  221. package/dist/Header/HeaderMenuLink.test.d.ts +1 -0
  222. package/dist/Header/HeaderMenuLink.test.js +41 -0
  223. package/dist/Header/index.d.ts +3 -0
  224. package/dist/Header/index.js +1 -0
  225. package/dist/Header/matchMedia.mock.d.ts +0 -0
  226. package/dist/Header/matchMedia.mock.js +15 -0
  227. package/dist/Heading/Heading.d.ts +24 -0
  228. package/dist/Heading/Heading.js +15 -0
  229. package/dist/Heading/Heading.test.d.ts +1 -0
  230. package/dist/Heading/Heading.test.js +62 -0
  231. package/dist/Heading/getHeadingTag.d.ts +2 -0
  232. package/dist/Heading/getHeadingTag.js +13 -0
  233. package/dist/Heading/index.d.ts +2 -0
  234. package/dist/Heading/index.js +1 -0
  235. package/dist/Hint/Hint.d.ts +16 -0
  236. package/dist/Hint/Hint.js +21 -0
  237. package/dist/Hint/Hint.test.d.ts +1 -0
  238. package/dist/Hint/Hint.test.js +49 -0
  239. package/dist/Hint/index.d.ts +2 -0
  240. package/dist/Hint/index.js +1 -0
  241. package/dist/Icon/Icon.d.ts +30 -0
  242. package/dist/Icon/Icon.js +12 -0
  243. package/dist/Icon/Icon.test.d.ts +1 -0
  244. package/dist/Icon/Icon.test.js +52 -0
  245. package/dist/Icon/index.d.ts +2 -0
  246. package/dist/Icon/index.js +1 -0
  247. package/dist/IconButton/IconButton.d.ts +26 -0
  248. package/dist/IconButton/IconButton.js +11 -0
  249. package/dist/IconButton/IconButton.test.d.ts +1 -0
  250. package/dist/IconButton/IconButton.test.js +44 -0
  251. package/dist/IconButton/index.d.ts +2 -0
  252. package/dist/IconButton/index.js +1 -0
  253. package/dist/Image/Image.d.ts +18 -0
  254. package/dist/Image/Image.js +10 -0
  255. package/dist/Image/Image.test.d.ts +1 -0
  256. package/dist/Image/Image.test.js +39 -0
  257. package/dist/Image/generateAspectRatioClass.d.ts +1 -0
  258. package/dist/Image/generateAspectRatioClass.js +1 -0
  259. package/dist/Image/index.d.ts +3 -0
  260. package/dist/Image/index.js +2 -0
  261. package/dist/ImageSlider/ImageSlider.d.ts +49 -0
  262. package/dist/ImageSlider/ImageSlider.js +98 -0
  263. package/dist/ImageSlider/ImageSlider.test.d.ts +1 -0
  264. package/dist/ImageSlider/ImageSlider.test.js +66 -0
  265. package/dist/ImageSlider/ImageSliderContext.d.ts +13 -0
  266. package/dist/ImageSlider/ImageSliderContext.js +14 -0
  267. package/dist/ImageSlider/ImageSliderControls.d.ts +17 -0
  268. package/dist/ImageSlider/ImageSliderControls.js +17 -0
  269. package/dist/ImageSlider/ImageSliderControls.test.d.ts +1 -0
  270. package/dist/ImageSlider/ImageSliderControls.test.js +21 -0
  271. package/dist/ImageSlider/ImageSliderItem.d.ts +15 -0
  272. package/dist/ImageSlider/ImageSliderItem.js +15 -0
  273. package/dist/ImageSlider/ImageSliderItem.test.d.ts +1 -0
  274. package/dist/ImageSlider/ImageSliderItem.test.js +33 -0
  275. package/dist/ImageSlider/ImageSliderScroller.d.ts +9 -0
  276. package/dist/ImageSlider/ImageSliderScroller.js +9 -0
  277. package/dist/ImageSlider/ImageSliderScroller.test.d.ts +1 -0
  278. package/dist/ImageSlider/ImageSliderScroller.test.js +33 -0
  279. package/dist/ImageSlider/ImageSliderThumbnails.d.ts +14 -0
  280. package/dist/ImageSlider/ImageSliderThumbnails.js +32 -0
  281. package/dist/ImageSlider/ImageSliderThumbnails.test.d.ts +1 -0
  282. package/dist/ImageSlider/ImageSliderThumbnails.test.js +48 -0
  283. package/dist/ImageSlider/index.d.ts +3 -0
  284. package/dist/ImageSlider/index.js +1 -0
  285. package/dist/InvalidFormAlert/InvalidFormAlert.d.ts +68 -0
  286. package/dist/InvalidFormAlert/InvalidFormAlert.js +20 -0
  287. package/dist/InvalidFormAlert/InvalidFormAlert.test.d.ts +1 -0
  288. package/dist/InvalidFormAlert/InvalidFormAlert.test.js +104 -0
  289. package/dist/InvalidFormAlert/InvalidFormAlertWithErrors.d.ts +12 -0
  290. package/dist/InvalidFormAlert/InvalidFormAlertWithErrors.js +22 -0
  291. package/dist/InvalidFormAlert/index.d.ts +2 -0
  292. package/dist/InvalidFormAlert/index.js +1 -0
  293. package/dist/InvalidFormAlert/useAddErrorCountToDocumentTitle.d.ts +11 -0
  294. package/dist/InvalidFormAlert/useAddErrorCountToDocumentTitle.js +26 -0
  295. package/dist/Label/Label.d.ts +14 -0
  296. package/dist/Label/Label.js +13 -0
  297. package/dist/Label/Label.test.d.ts +1 -0
  298. package/dist/Label/Label.test.js +74 -0
  299. package/dist/Label/index.d.ts +1 -0
  300. package/dist/Label/index.js +1 -0
  301. package/dist/Link/Link.d.ts +19 -0
  302. package/dist/Link/Link.js +9 -0
  303. package/dist/Link/Link.test.d.ts +1 -0
  304. package/dist/Link/Link.test.js +46 -0
  305. package/dist/Link/index.d.ts +2 -0
  306. package/dist/Link/index.js +1 -0
  307. package/dist/LinkList/LinkList.d.ts +17 -0
  308. package/dist/LinkList/LinkList.js +14 -0
  309. package/dist/LinkList/LinkList.test.d.ts +1 -0
  310. package/dist/LinkList/LinkList.test.js +29 -0
  311. package/dist/LinkList/LinkListLink.d.ts +24 -0
  312. package/dist/LinkList/LinkListLink.js +14 -0
  313. package/dist/LinkList/LinkListLink.test.d.ts +1 -0
  314. package/dist/LinkList/LinkListLink.test.js +50 -0
  315. package/dist/LinkList/index.d.ts +3 -0
  316. package/dist/LinkList/index.js +1 -0
  317. package/dist/Logo/Logo.d.ts +11 -0
  318. package/dist/Logo/Logo.js +21 -0
  319. package/dist/Logo/Logo.test.d.ts +1 -0
  320. package/dist/Logo/Logo.test.js +30 -0
  321. package/dist/Logo/brand/LogoAmsterdam.d.ts +3 -0
  322. package/dist/Logo/brand/LogoAmsterdam.js +5 -0
  323. package/dist/Logo/brand/LogoGgdAmsterdam.d.ts +3 -0
  324. package/dist/Logo/brand/LogoGgdAmsterdam.js +5 -0
  325. package/dist/Logo/brand/LogoMuseumWeesp.d.ts +3 -0
  326. package/dist/Logo/brand/LogoMuseumWeesp.js +5 -0
  327. package/dist/Logo/brand/LogoStadsarchief.d.ts +3 -0
  328. package/dist/Logo/brand/LogoStadsarchief.js +5 -0
  329. package/dist/Logo/brand/LogoStadsbankVanLening.d.ts +3 -0
  330. package/dist/Logo/brand/LogoStadsbankVanLening.js +5 -0
  331. package/dist/Logo/brand/LogoVgaVerzekeringen.d.ts +3 -0
  332. package/dist/Logo/brand/LogoVgaVerzekeringen.js +5 -0
  333. package/dist/Logo/brand/index.d.ts +6 -0
  334. package/dist/Logo/brand/index.js +6 -0
  335. package/dist/Logo/index.d.ts +2 -0
  336. package/dist/Logo/index.js +1 -0
  337. package/dist/Mark/Mark.d.ts +9 -0
  338. package/dist/Mark/Mark.js +9 -0
  339. package/dist/Mark/Mark.test.d.ts +1 -0
  340. package/dist/Mark/Mark.test.js +29 -0
  341. package/dist/Mark/index.d.ts +2 -0
  342. package/dist/Mark/index.js +1 -0
  343. package/dist/MegaMenu/MegaMenu.d.ts +14 -0
  344. package/dist/MegaMenu/MegaMenu.js +12 -0
  345. package/dist/MegaMenu/MegaMenu.test.d.ts +1 -0
  346. package/dist/MegaMenu/MegaMenu.test.js +29 -0
  347. package/dist/MegaMenu/MegaMenuListCategory.d.ts +9 -0
  348. package/dist/MegaMenu/MegaMenuListCategory.js +9 -0
  349. package/dist/MegaMenu/MegaMenuListCategory.test.d.ts +1 -0
  350. package/dist/MegaMenu/MegaMenuListCategory.test.js +29 -0
  351. package/dist/MegaMenu/index.d.ts +3 -0
  352. package/dist/MegaMenu/index.js +1 -0
  353. package/dist/OrderedList/OrderedList.d.ts +27 -0
  354. package/dist/OrderedList/OrderedList.js +11 -0
  355. package/dist/OrderedList/OrderedList.test.d.ts +1 -0
  356. package/dist/OrderedList/OrderedList.test.js +51 -0
  357. package/dist/OrderedList/OrderedListItem.d.ts +9 -0
  358. package/dist/OrderedList/OrderedListItem.js +9 -0
  359. package/dist/OrderedList/OrderedListItem.test.d.ts +1 -0
  360. package/dist/OrderedList/OrderedListItem.test.js +28 -0
  361. package/dist/OrderedList/index.d.ts +3 -0
  362. package/dist/OrderedList/index.js +1 -0
  363. package/dist/Overlap/Overlap.d.ts +9 -0
  364. package/dist/Overlap/Overlap.js +9 -0
  365. package/dist/Overlap/Overlap.test.d.ts +1 -0
  366. package/dist/Overlap/Overlap.test.js +34 -0
  367. package/dist/Overlap/index.d.ts +2 -0
  368. package/dist/Overlap/index.js +1 -0
  369. package/dist/PageHeading/PageHeading.d.ts +15 -0
  370. package/dist/PageHeading/PageHeading.js +9 -0
  371. package/dist/PageHeading/PageHeading.test.d.ts +1 -0
  372. package/dist/PageHeading/PageHeading.test.js +37 -0
  373. package/dist/PageHeading/index.d.ts +2 -0
  374. package/dist/PageHeading/index.js +1 -0
  375. package/dist/PageMenu/PageMenu.d.ts +25 -0
  376. package/dist/PageMenu/PageMenu.js +12 -0
  377. package/dist/PageMenu/PageMenu.test.d.ts +1 -0
  378. package/dist/PageMenu/PageMenu.test.js +45 -0
  379. package/dist/PageMenu/PageMenuLink.d.ts +13 -0
  380. package/dist/PageMenu/PageMenuLink.js +10 -0
  381. package/dist/PageMenu/PageMenuLink.test.d.ts +1 -0
  382. package/dist/PageMenu/PageMenuLink.test.js +40 -0
  383. package/dist/PageMenu/index.d.ts +3 -0
  384. package/dist/PageMenu/index.js +1 -0
  385. package/dist/Pagination/LinkItem.d.ts +7 -0
  386. package/dist/Pagination/LinkItem.js +7 -0
  387. package/dist/Pagination/Pagination.d.ts +59 -0
  388. package/dist/Pagination/Pagination.js +23 -0
  389. package/dist/Pagination/Pagination.test.d.ts +1 -0
  390. package/dist/Pagination/Pagination.test.js +120 -0
  391. package/dist/Pagination/Spacer.d.ts +1 -0
  392. package/dist/Pagination/Spacer.js +2 -0
  393. package/dist/Pagination/getRange.d.ts +16 -0
  394. package/dist/Pagination/getRange.js +41 -0
  395. package/dist/Pagination/index.d.ts +2 -0
  396. package/dist/Pagination/index.js +1 -0
  397. package/dist/Paragraph/Paragraph.d.ts +20 -0
  398. package/dist/Paragraph/Paragraph.js +10 -0
  399. package/dist/Paragraph/Paragraph.test.d.ts +1 -0
  400. package/dist/Paragraph/Paragraph.test.js +58 -0
  401. package/dist/Paragraph/index.d.ts +2 -0
  402. package/dist/Paragraph/index.js +1 -0
  403. package/dist/PasswordInput/PasswordInput.d.ts +13 -0
  404. package/dist/PasswordInput/PasswordInput.js +9 -0
  405. package/dist/PasswordInput/PasswordInput.test.d.ts +1 -0
  406. package/dist/PasswordInput/PasswordInput.test.js +85 -0
  407. package/dist/PasswordInput/index.d.ts +2 -0
  408. package/dist/PasswordInput/index.js +1 -0
  409. package/dist/Radio/Radio.d.ts +19 -0
  410. package/dist/Radio/Radio.js +16 -0
  411. package/dist/Radio/Radio.test.d.ts +1 -0
  412. package/dist/Radio/Radio.test.js +121 -0
  413. package/dist/Radio/RadioIcon.d.ts +3 -0
  414. package/dist/Radio/RadioIcon.js +3 -0
  415. package/dist/Radio/index.d.ts +2 -0
  416. package/dist/Radio/index.js +1 -0
  417. package/dist/Row/Row.d.ts +66 -0
  418. package/dist/Row/Row.js +10 -0
  419. package/dist/Row/Row.test.d.ts +1 -0
  420. package/dist/Row/Row.test.js +62 -0
  421. package/dist/Row/index.d.ts +2 -0
  422. package/dist/Row/index.js +1 -0
  423. package/dist/Screen/Screen.d.ts +21 -0
  424. package/dist/Screen/Screen.js +9 -0
  425. package/dist/Screen/Screen.test.d.ts +1 -0
  426. package/dist/Screen/Screen.test.js +40 -0
  427. package/dist/Screen/index.d.ts +2 -0
  428. package/dist/Screen/index.js +1 -0
  429. package/dist/SearchField/SearchField.d.ts +292 -0
  430. package/dist/SearchField/SearchField.js +14 -0
  431. package/dist/SearchField/SearchField.test.d.ts +1 -0
  432. package/dist/SearchField/SearchField.test.js +47 -0
  433. package/dist/SearchField/SearchFieldButton.d.ts +8 -0
  434. package/dist/SearchField/SearchFieldButton.js +10 -0
  435. package/dist/SearchField/SearchFieldInput.d.ts +11 -0
  436. package/dist/SearchField/SearchFieldInput.js +12 -0
  437. package/dist/SearchField/SearchFieldInput.test.d.ts +1 -0
  438. package/dist/SearchField/SearchFieldInput.test.js +62 -0
  439. package/dist/SearchField/index.d.ts +2 -0
  440. package/dist/SearchField/index.js +1 -0
  441. package/dist/Select/Select.d.ts +22 -0
  442. package/dist/Select/Select.js +12 -0
  443. package/dist/Select/Select.test.d.ts +1 -0
  444. package/dist/Select/Select.test.js +70 -0
  445. package/dist/Select/SelectOption.d.ts +9 -0
  446. package/dist/Select/SelectOption.js +9 -0
  447. package/dist/Select/SelectOption.test.d.ts +1 -0
  448. package/dist/Select/SelectOption.test.js +41 -0
  449. package/dist/Select/SelectOptionGroup.d.ts +9 -0
  450. package/dist/Select/SelectOptionGroup.js +9 -0
  451. package/dist/Select/SelectOptionGroup.test.d.ts +1 -0
  452. package/dist/Select/SelectOptionGroup.test.js +41 -0
  453. package/dist/Select/index.d.ts +3 -0
  454. package/dist/Select/index.js +1 -0
  455. package/dist/SkipLink/SkipLink.d.ts +9 -0
  456. package/dist/SkipLink/SkipLink.js +9 -0
  457. package/dist/SkipLink/SkipLink.test.d.ts +1 -0
  458. package/dist/SkipLink/SkipLink.test.js +29 -0
  459. package/dist/SkipLink/index.d.ts +2 -0
  460. package/dist/SkipLink/index.js +1 -0
  461. package/dist/Spotlight/Spotlight.d.ts +22 -0
  462. package/dist/Spotlight/Spotlight.js +10 -0
  463. package/dist/Spotlight/Spotlight.test.d.ts +1 -0
  464. package/dist/Spotlight/Spotlight.test.js +40 -0
  465. package/dist/Spotlight/index.d.ts +2 -0
  466. package/dist/Spotlight/index.js +1 -0
  467. package/dist/Switch/Switch.d.ts +9 -0
  468. package/dist/Switch/Switch.js +12 -0
  469. package/dist/Switch/Switch.test.d.ts +1 -0
  470. package/dist/Switch/Switch.test.js +65 -0
  471. package/dist/Switch/index.d.ts +2 -0
  472. package/dist/Switch/index.js +1 -0
  473. package/dist/Table/Table.d.ts +31 -0
  474. package/dist/Table/Table.js +25 -0
  475. package/dist/Table/Table.test.d.ts +1 -0
  476. package/dist/Table/Table.test.js +29 -0
  477. package/dist/Table/TableBody.d.ts +9 -0
  478. package/dist/Table/TableBody.js +9 -0
  479. package/dist/Table/TableBody.test.d.ts +1 -0
  480. package/dist/Table/TableBody.test.js +30 -0
  481. package/dist/Table/TableCaption.d.ts +10 -0
  482. package/dist/Table/TableCaption.js +10 -0
  483. package/dist/Table/TableCaption.test.d.ts +1 -0
  484. package/dist/Table/TableCaption.test.js +41 -0
  485. package/dist/Table/TableCell.d.ts +9 -0
  486. package/dist/Table/TableCell.js +9 -0
  487. package/dist/Table/TableCell.test.d.ts +1 -0
  488. package/dist/Table/TableCell.test.js +32 -0
  489. package/dist/Table/TableFooter.d.ts +9 -0
  490. package/dist/Table/TableFooter.js +9 -0
  491. package/dist/Table/TableFooter.test.d.ts +1 -0
  492. package/dist/Table/TableFooter.test.js +30 -0
  493. package/dist/Table/TableHeader.d.ts +9 -0
  494. package/dist/Table/TableHeader.js +9 -0
  495. package/dist/Table/TableHeader.test.d.ts +1 -0
  496. package/dist/Table/TableHeader.test.js +30 -0
  497. package/dist/Table/TableHeaderCell.d.ts +9 -0
  498. package/dist/Table/TableHeaderCell.js +9 -0
  499. package/dist/Table/TableHeaderCell.test.d.ts +1 -0
  500. package/dist/Table/TableHeaderCell.test.js +38 -0
  501. package/dist/Table/TableRow.d.ts +9 -0
  502. package/dist/Table/TableRow.js +9 -0
  503. package/dist/Table/TableRow.test.d.ts +1 -0
  504. package/dist/Table/TableRow.test.js +31 -0
  505. package/dist/Table/index.d.ts +2 -0
  506. package/dist/Table/index.js +1 -0
  507. package/dist/TableOfContents/TableOfContents.d.ts +33 -0
  508. package/dist/TableOfContents/TableOfContents.js +18 -0
  509. package/dist/TableOfContents/TableOfContents.test.d.ts +1 -0
  510. package/dist/TableOfContents/TableOfContents.test.js +40 -0
  511. package/dist/TableOfContents/TableOfContentsLink.d.ts +13 -0
  512. package/dist/TableOfContents/TableOfContentsLink.js +9 -0
  513. package/dist/TableOfContents/TableOfContentsLink.test.d.ts +1 -0
  514. package/dist/TableOfContents/TableOfContentsLink.test.js +30 -0
  515. package/dist/TableOfContents/TableOfContentsList.d.ts +9 -0
  516. package/dist/TableOfContents/TableOfContentsList.js +11 -0
  517. package/dist/TableOfContents/TableOfContentsList.test.d.ts +1 -0
  518. package/dist/TableOfContents/TableOfContentsList.test.js +36 -0
  519. package/dist/TableOfContents/index.d.ts +4 -0
  520. package/dist/TableOfContents/index.js +1 -0
  521. package/dist/Tabs/Tabs.d.ts +31 -0
  522. package/dist/Tabs/Tabs.js +57 -0
  523. package/dist/Tabs/Tabs.test.d.ts +1 -0
  524. package/dist/Tabs/Tabs.test.js +85 -0
  525. package/dist/Tabs/TabsButton.d.ts +15 -0
  526. package/dist/Tabs/TabsButton.js +19 -0
  527. package/dist/Tabs/TabsButton.test.d.ts +1 -0
  528. package/dist/Tabs/TabsButton.test.js +43 -0
  529. package/dist/Tabs/TabsContext.d.ts +16 -0
  530. package/dist/Tabs/TabsContext.js +11 -0
  531. package/dist/Tabs/TabsList.d.ts +9 -0
  532. package/dist/Tabs/TabsList.js +20 -0
  533. package/dist/Tabs/TabsList.test.d.ts +1 -0
  534. package/dist/Tabs/TabsList.test.js +28 -0
  535. package/dist/Tabs/TabsPanel.d.ts +15 -0
  536. package/dist/Tabs/TabsPanel.js +16 -0
  537. package/dist/Tabs/TabsPanel.test.d.ts +1 -0
  538. package/dist/Tabs/TabsPanel.test.js +40 -0
  539. package/dist/Tabs/index.d.ts +5 -0
  540. package/dist/Tabs/index.js +1 -0
  541. package/dist/TextArea/TextArea.d.ts +17 -0
  542. package/dist/TextArea/TextArea.js +9 -0
  543. package/dist/TextArea/TextArea.test.d.ts +1 -0
  544. package/dist/TextArea/TextArea.test.js +101 -0
  545. package/dist/TextArea/index.d.ts +2 -0
  546. package/dist/TextArea/index.js +1 -0
  547. package/dist/TextInput/TextInput.d.ts +20 -0
  548. package/dist/TextInput/TextInput.js +10 -0
  549. package/dist/TextInput/TextInput.test.d.ts +1 -0
  550. package/dist/TextInput/TextInput.test.js +89 -0
  551. package/dist/TextInput/index.d.ts +2 -0
  552. package/dist/TextInput/index.js +1 -0
  553. package/dist/TimeInput/TimeInput.d.ts +13 -0
  554. package/dist/TimeInput/TimeInput.js +9 -0
  555. package/dist/TimeInput/TimeInput.test.d.ts +1 -0
  556. package/dist/TimeInput/TimeInput.test.js +47 -0
  557. package/dist/TimeInput/index.d.ts +2 -0
  558. package/dist/TimeInput/index.js +1 -0
  559. package/dist/TopTaskLink/TopTaskLink.d.ts +17 -0
  560. package/dist/TopTaskLink/TopTaskLink.js +9 -0
  561. package/dist/TopTaskLink/TopTaskLink.test.d.ts +1 -0
  562. package/dist/TopTaskLink/TopTaskLink.test.js +42 -0
  563. package/dist/TopTaskLink/index.d.ts +1 -0
  564. package/dist/TopTaskLink/index.js +1 -0
  565. package/dist/UnorderedList/UnorderedList.d.ts +27 -0
  566. package/dist/UnorderedList/UnorderedList.js +13 -0
  567. package/dist/UnorderedList/UnorderedList.test.d.ts +1 -0
  568. package/dist/UnorderedList/UnorderedList.test.js +51 -0
  569. package/dist/UnorderedList/UnorderedListItem.d.ts +9 -0
  570. package/dist/UnorderedList/UnorderedListItem.js +9 -0
  571. package/dist/UnorderedList/UnorderedListItem.test.d.ts +1 -0
  572. package/dist/UnorderedList/UnorderedListItem.test.js +28 -0
  573. package/dist/UnorderedList/index.d.ts +3 -0
  574. package/dist/UnorderedList/index.js +1 -0
  575. package/dist/common/accessibility.d.ts +5 -0
  576. package/dist/common/accessibility.js +13 -0
  577. package/dist/common/formatFileSize.d.ts +10 -0
  578. package/dist/common/formatFileSize.js +17 -0
  579. package/dist/common/formatFileSize.test.d.ts +1 -0
  580. package/dist/common/formatFileSize.test.js +18 -0
  581. package/dist/common/formatFileType.d.ts +10 -0
  582. package/dist/common/formatFileType.js +34 -0
  583. package/dist/common/formatFileType.test.d.ts +1 -0
  584. package/dist/common/formatFileType.test.js +23 -0
  585. package/dist/common/shortSize.d.ts +12 -0
  586. package/dist/common/shortSize.js +15 -0
  587. package/dist/common/types.d.ts +11 -0
  588. package/dist/common/types.js +9 -0
  589. package/dist/common/useIsAfterBreakpoint.d.ts +3 -0
  590. package/dist/common/useIsAfterBreakpoint.js +24 -0
  591. package/dist/common/useKeyboardFocus.d.ts +23 -0
  592. package/dist/common/useKeyboardFocus.js +56 -0
  593. package/dist/common/useKeyboardFocus.test.d.ts +1 -0
  594. package/dist/common/useKeyboardFocus.test.js +79 -0
  595. package/dist/index.cjs.js +1043 -1038
  596. package/dist/index.cjs.js.map +1 -1
  597. package/dist/index.d.ts +213 -189
  598. package/dist/index.esm.js +1043 -1039
  599. package/dist/index.esm.js.map +1 -1
  600. package/dist/index.js +66 -0
  601. package/dist/tsconfig.tsbuildinfo +1 -0
  602. package/package.json +20 -21
@@ -0,0 +1,101 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { render, screen } from '@testing-library/react';
3
+ import userEvent from '@testing-library/user-event';
4
+ import { createRef, useState } from 'react';
5
+ import { TextArea } from './TextArea';
6
+ import '@testing-library/jest-dom';
7
+ describe('Text area', () => {
8
+ it('renders', () => {
9
+ render(_jsx(TextArea, {}));
10
+ const component = screen.getByRole('textbox');
11
+ expect(component).toBeInTheDocument();
12
+ expect(component).toBeVisible();
13
+ });
14
+ it('renders a design system BEM class name', () => {
15
+ render(_jsx(TextArea, {}));
16
+ const component = screen.getByRole('textbox');
17
+ expect(component).toHaveClass('ams-text-area');
18
+ });
19
+ it('renders an additional class name', () => {
20
+ render(_jsx(TextArea, { className: "extra" }));
21
+ const component = screen.getByRole('textbox');
22
+ expect(component).toHaveClass('ams-text-area extra');
23
+ });
24
+ it('renders a textarea with horizontal resize', () => {
25
+ render(_jsx(TextArea, { resize: "horizontal" }));
26
+ const component = screen.getByRole('textbox');
27
+ expect(component).toHaveClass('ams-text-area ams-text-area--resize-horizontal');
28
+ });
29
+ it('renders a textarea with vertical resize', () => {
30
+ render(_jsx(TextArea, { resize: "vertical" }));
31
+ const component = screen.getByRole('textbox');
32
+ expect(component).toHaveClass('ams-text-area ams-text-area--resize-vertical');
33
+ });
34
+ it('renders a textarea with no resize', () => {
35
+ render(_jsx(TextArea, { resize: "none" }));
36
+ const component = screen.getByRole('textbox');
37
+ expect(component).toHaveClass('ams-text-area ams-text-area--resize-none');
38
+ });
39
+ it('renders a textarea with cols class when cols prop is provided', () => {
40
+ render(_jsx(TextArea, { cols: 10 }));
41
+ const component = screen.getByRole('textbox');
42
+ expect(component).toHaveClass('ams-text-area ams-text-area--cols');
43
+ });
44
+ it('can be controlled', async () => {
45
+ function ControlledComponent() {
46
+ const [value, setValue] = useState('Hello');
47
+ return _jsx(TextArea, { onChange: (e) => setValue(e.target.value), value: value });
48
+ }
49
+ render(_jsx(ControlledComponent, {}));
50
+ const componentText = screen.getByDisplayValue('Hello');
51
+ expect(componentText).toBeInTheDocument();
52
+ const component = screen.getByRole('textbox');
53
+ if (component) {
54
+ await userEvent.type(component, ', World!');
55
+ }
56
+ const newComponentText = screen.getByDisplayValue('Hello, World!');
57
+ expect(newComponentText).toBeInTheDocument();
58
+ });
59
+ it('should not update the value when disabled', async () => {
60
+ render(_jsx(TextArea, { defaultValue: "Hello", disabled: true }));
61
+ const component = screen.getByRole('textbox');
62
+ if (component) {
63
+ await userEvent.type(component, ', World!');
64
+ }
65
+ expect(component).toHaveValue('Hello');
66
+ });
67
+ it('supports ForwardRef in React', () => {
68
+ const ref = createRef();
69
+ render(_jsx(TextArea, { ref: ref }));
70
+ const component = screen.getByRole('textbox');
71
+ expect(ref.current).toBe(component);
72
+ });
73
+ it('renders bidirectional by default using `dir="auto"`', () => {
74
+ render(_jsx(TextArea, {}));
75
+ const component = screen.getByRole('textbox');
76
+ expect(component).toHaveAttribute('dir', 'auto');
77
+ });
78
+ it('renders left-to-right by using `dir="ltr"`', () => {
79
+ render(_jsx(TextArea, { dir: "ltr" }));
80
+ const component = screen.getByRole('textbox');
81
+ expect(component).toHaveAttribute('dir', 'ltr');
82
+ });
83
+ describe('Invalid state', () => {
84
+ it('is not invalid by default', () => {
85
+ render(_jsx(TextArea, {}));
86
+ const component = screen.getByRole('textbox');
87
+ expect(component).not.toBeInvalid();
88
+ });
89
+ it('can have an invalid state', () => {
90
+ render(_jsx(TextArea, { invalid: true }));
91
+ const component = screen.getByRole('textbox');
92
+ expect(component).toHaveAttribute('aria-invalid');
93
+ expect(component).toBeInvalid();
94
+ });
95
+ it('omits non-essential invalid attributes when not invalid', () => {
96
+ render(_jsx(TextArea, { invalid: false }));
97
+ const component = screen.getByRole('textbox');
98
+ expect(component).not.toHaveAttribute('aria-invalid');
99
+ });
100
+ });
101
+ });
@@ -0,0 +1,2 @@
1
+ export { TextArea } from './TextArea';
2
+ export type { TextAreaProps } from './TextArea';
@@ -0,0 +1 @@
1
+ export { TextArea } from './TextArea';
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
5
+ import type { InputHTMLAttributes } from 'react';
6
+ export declare const textInputTypes: readonly ["email", "tel", "text", "url"];
7
+ type TextInputType = (typeof textInputTypes)[number];
8
+ export type TextInputProps = {
9
+ /** Whether the value fails a validation rule. */
10
+ invalid?: boolean;
11
+ /** The kind of data that the user should provide. */
12
+ type?: TextInputType;
13
+ } & Omit<InputHTMLAttributes<HTMLInputElement>, 'aria-invalid'>;
14
+ export declare const TextInput: import("react").ForwardRefExoticComponent<{
15
+ /** Whether the value fails a validation rule. */
16
+ invalid?: boolean;
17
+ /** The kind of data that the user should provide. */
18
+ type?: TextInputType;
19
+ } & Omit<InputHTMLAttributes<HTMLInputElement>, "aria-invalid"> & import("react").RefAttributes<HTMLInputElement>>;
20
+ export {};
@@ -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
+ export const textInputTypes = ['email', 'tel', 'text', 'url'];
9
+ export const TextInput = forwardRef(({ className, dir, invalid, type = 'text', ...restProps }, ref) => (_jsx("input", { ...restProps, "aria-invalid": invalid || undefined, className: clsx('ams-text-input', className), dir: dir ?? 'auto', ref: ref, type: type })));
10
+ TextInput.displayName = 'TextInput';
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,89 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { render, screen } from '@testing-library/react';
3
+ import userEvent from '@testing-library/user-event';
4
+ import { createRef, useState } from 'react';
5
+ import { TextInput, textInputTypes } from './TextInput';
6
+ import '@testing-library/jest-dom';
7
+ describe('Text input', () => {
8
+ it('renders', () => {
9
+ render(_jsx(TextInput, {}));
10
+ const component = screen.getByRole('textbox');
11
+ expect(component).toBeInTheDocument();
12
+ expect(component).toBeVisible();
13
+ });
14
+ it('renders a design system BEM class name', () => {
15
+ render(_jsx(TextInput, {}));
16
+ const component = screen.getByRole('textbox');
17
+ expect(component).toHaveClass('ams-text-input');
18
+ });
19
+ it('renders an additional class name', () => {
20
+ render(_jsx(TextInput, { className: "extra" }));
21
+ const component = screen.getByRole('textbox');
22
+ expect(component).toHaveClass('extra');
23
+ expect(component).toHaveClass('ams-text-input');
24
+ });
25
+ it('should be working in a controlled state', async () => {
26
+ function ControlledComponent() {
27
+ const [value, setValue] = useState('Hello');
28
+ return _jsx(TextInput, { onChange: (e) => setValue(e.target.value), value: value });
29
+ }
30
+ render(_jsx(ControlledComponent, {}));
31
+ const componentText = screen.getByDisplayValue('Hello');
32
+ expect(componentText).toBeInTheDocument();
33
+ const component = screen.getByRole('textbox');
34
+ if (component) {
35
+ await userEvent.type(component, ', World!');
36
+ }
37
+ const newComponentText = screen.getByDisplayValue('Hello, World!');
38
+ expect(newComponentText).toBeInTheDocument();
39
+ });
40
+ it('should not update the value when disabled', async () => {
41
+ render(_jsx(TextInput, { defaultValue: "Hello", disabled: true }));
42
+ const component = screen.getByRole('textbox');
43
+ if (component) {
44
+ await userEvent.type(component, ', World!');
45
+ }
46
+ expect(component).toHaveValue('Hello');
47
+ });
48
+ it('supports ForwardRef in React', () => {
49
+ const ref = createRef();
50
+ render(_jsx(TextInput, { ref: ref }));
51
+ const component = screen.getByRole('textbox');
52
+ expect(ref.current).toBe(component);
53
+ });
54
+ it('renders bidirectional by default using `dir="auto"`', () => {
55
+ render(_jsx(TextInput, {}));
56
+ const component = screen.getByRole('textbox');
57
+ expect(component).toHaveAttribute('dir', 'auto');
58
+ });
59
+ it('renders left-to-right by using `dir="ltr"`', () => {
60
+ render(_jsx(TextInput, { dir: "ltr" }));
61
+ const component = screen.getByRole('textbox');
62
+ expect(component).toHaveAttribute('dir', 'ltr');
63
+ });
64
+ describe('Invalid state', () => {
65
+ it('is not invalid by default', () => {
66
+ render(_jsx(TextInput, {}));
67
+ const component = screen.getByRole('textbox');
68
+ expect(component).not.toBeInvalid();
69
+ });
70
+ it('can have an invalid state', () => {
71
+ render(_jsx(TextInput, { invalid: true }));
72
+ const component = screen.getByRole('textbox');
73
+ expect(component).toHaveAttribute('aria-invalid');
74
+ expect(component).toBeInvalid();
75
+ });
76
+ it('omits non-essential invalid attributes when not invalid', () => {
77
+ render(_jsx(TextInput, { invalid: false }));
78
+ const component = screen.getByRole('textbox');
79
+ expect(component).not.toHaveAttribute('aria-invalid');
80
+ });
81
+ });
82
+ describe('Type', () => {
83
+ textInputTypes.map((type) => it(`sets the ‘${type}’ type`, () => {
84
+ render(_jsx(TextInput, { type: type }));
85
+ const component = screen.getByRole('textbox');
86
+ expect(component).toHaveAttribute('type', type);
87
+ }));
88
+ });
89
+ });
@@ -0,0 +1,2 @@
1
+ export { TextInput } from './TextInput';
2
+ export type { TextInputProps } from './TextInput';
@@ -0,0 +1 @@
1
+ export { TextInput } from './TextInput';
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
5
+ import type { InputHTMLAttributes } from 'react';
6
+ export type TimeInputProps = {
7
+ /** Whether the value fails a validation rule. */
8
+ invalid?: boolean;
9
+ } & Omit<InputHTMLAttributes<HTMLInputElement>, 'aria-invalid' | 'type'>;
10
+ export declare const TimeInput: import("react").ForwardRefExoticComponent<{
11
+ /** Whether the value fails a validation rule. */
12
+ invalid?: boolean;
13
+ } & Omit<InputHTMLAttributes<HTMLInputElement>, "aria-invalid" | "type"> & import("react").RefAttributes<HTMLInputElement>>;
@@ -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 TimeInput = forwardRef(({ className, invalid, ...restProps }, ref) => (_jsx("input", { ...restProps, "aria-invalid": invalid || undefined, className: clsx('ams-time-input', className), ref: ref, type: "time" })));
9
+ TimeInput.displayName = 'TimeInput';
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,47 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { render } from '@testing-library/react';
3
+ import { createRef } from 'react';
4
+ import { TimeInput } from './TimeInput';
5
+ import '@testing-library/jest-dom';
6
+ describe('Time input', () => {
7
+ it('renders', () => {
8
+ const { container } = render(_jsx(TimeInput, {}));
9
+ const component = container.querySelector(':only-child');
10
+ expect(component).toBeInTheDocument();
11
+ expect(component).toBeVisible();
12
+ });
13
+ it('renders a design system BEM class name', () => {
14
+ const { container } = render(_jsx(TimeInput, {}));
15
+ const component = container.querySelector(':only-child');
16
+ expect(component).toHaveClass('ams-time-input');
17
+ });
18
+ it('renders an additional class name', () => {
19
+ const { container } = render(_jsx(TimeInput, { className: "extra" }));
20
+ const component = container.querySelector(':only-child');
21
+ expect(component).toHaveClass('ams-time-input extra');
22
+ });
23
+ it('supports ForwardRef in React', () => {
24
+ const ref = createRef();
25
+ const { container } = render(_jsx(TimeInput, { ref: ref }));
26
+ const component = container.querySelector(':only-child');
27
+ expect(ref.current).toBe(component);
28
+ });
29
+ describe('Invalid state', () => {
30
+ it('is not invalid by default', () => {
31
+ const { container } = render(_jsx(TimeInput, {}));
32
+ const component = container.querySelector(':only-child');
33
+ expect(component).not.toBeInvalid();
34
+ });
35
+ it('can have an invalid state', () => {
36
+ const { container } = render(_jsx(TimeInput, { invalid: true }));
37
+ const component = container.querySelector(':only-child');
38
+ expect(component).toHaveAttribute('aria-invalid');
39
+ expect(component).toBeInvalid();
40
+ });
41
+ it('omits non-essential invalid attributes when not invalid', () => {
42
+ const { container } = render(_jsx(TimeInput, { invalid: false }));
43
+ const component = container.querySelector(':only-child');
44
+ expect(component).not.toHaveAttribute('aria-invalid');
45
+ });
46
+ });
47
+ });
@@ -0,0 +1,2 @@
1
+ export { TimeInput } from './TimeInput';
2
+ export type { TimeInputProps } from './TimeInput';
@@ -0,0 +1 @@
1
+ export { TimeInput } from './TimeInput';
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
5
+ import type { AnchorHTMLAttributes } from 'react';
6
+ export type TopTaskLinkProps = {
7
+ /** The text content. */
8
+ description: string;
9
+ /** The title. */
10
+ label: string;
11
+ } & AnchorHTMLAttributes<HTMLAnchorElement>;
12
+ export declare const TopTaskLink: import("react").ForwardRefExoticComponent<{
13
+ /** The text content. */
14
+ description: string;
15
+ /** The title. */
16
+ label: string;
17
+ } & AnchorHTMLAttributes<HTMLAnchorElement> & import("react").RefAttributes<HTMLAnchorElement>>;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, 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 } from 'react';
8
+ export const TopTaskLink = forwardRef(({ className, description, label, ...restProps }, ref) => (_jsxs("a", { ...restProps, className: clsx('ams-top-task-link', className), ref: ref, children: [_jsx("span", { className: "ams-top-task-link__label", children: label }), _jsx("span", { className: "ams-visually-hidden", children: "," }), _jsx("span", { className: "ams-top-task-link__description", children: description })] })));
9
+ TopTaskLink.displayName = 'TopTaskLink';
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,42 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { render, screen } from '@testing-library/react';
3
+ import { createRef } from 'react';
4
+ import { TopTaskLink } from './TopTaskLink';
5
+ import '@testing-library/jest-dom';
6
+ describe('Top task link', () => {
7
+ it('renders a link role element', () => {
8
+ render(_jsx(TopTaskLink, { description: "Description", href: "/", label: "Label" }));
9
+ const link = screen.getByRole('link', {
10
+ name: 'Label , Description',
11
+ });
12
+ expect(link).toBeInTheDocument();
13
+ expect(link).toBeVisible();
14
+ });
15
+ it('renders a design system BEM class name', () => {
16
+ render(_jsx(TopTaskLink, { description: "Description", href: "/", label: "Label" }));
17
+ const link = screen.getByRole('link', {
18
+ name: 'Label , Description',
19
+ });
20
+ const label = screen.getByText('Label');
21
+ const description = screen.getByText('Description');
22
+ expect(link).toHaveClass('ams-top-task-link');
23
+ expect(label).toHaveClass('ams-top-task-link__label');
24
+ expect(description).toHaveClass('ams-top-task-link__description');
25
+ });
26
+ it('renders an additional class name', () => {
27
+ render(_jsx(TopTaskLink, { className: "extra", description: "Description", href: "/", label: "Label" }));
28
+ const link = screen.getByRole('link', {
29
+ name: 'Label , Description',
30
+ });
31
+ expect(link).toHaveClass('extra');
32
+ expect(link).toHaveClass('ams-top-task-link');
33
+ });
34
+ it('supports ForwardRef in React', () => {
35
+ const ref = createRef();
36
+ render(_jsx(TopTaskLink, { description: "Description", href: "/", label: "Label", ref: ref }));
37
+ const link = screen.getByRole('link', {
38
+ name: 'Label , Description',
39
+ });
40
+ expect(ref.current).toBe(link);
41
+ });
42
+ });
@@ -0,0 +1 @@
1
+ export { TopTaskLink } from './TopTaskLink';
@@ -0,0 +1 @@
1
+ export { TopTaskLink } from './TopTaskLink';
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
5
+ import type { HTMLAttributes, PropsWithChildren } from 'react';
6
+ export type UnorderedListProps = {
7
+ /** Changes the text colour for readability on a dark background. */
8
+ color?: 'inverse';
9
+ /** Whether the list items show a marker. */
10
+ markers?: boolean;
11
+ /** The size of the text. */
12
+ size?: 'small';
13
+ } & PropsWithChildren<HTMLAttributes<HTMLUListElement>>;
14
+ export declare const UnorderedList: import("react").ForwardRefExoticComponent<{
15
+ /** Changes the text colour for readability on a dark background. */
16
+ color?: "inverse";
17
+ /** Whether the list items show a marker. */
18
+ markers?: boolean;
19
+ /** The size of the text. */
20
+ size?: "small";
21
+ } & HTMLAttributes<HTMLUListElement> & {
22
+ children?: import("react").ReactNode | undefined;
23
+ } & import("react").RefAttributes<HTMLUListElement>> & {
24
+ Item: import("react").ForwardRefExoticComponent<import("react").LiHTMLAttributes<HTMLLIElement> & {
25
+ children?: import("react").ReactNode | undefined;
26
+ } & import("react").RefAttributes<HTMLLIElement>>;
27
+ };
@@ -0,0 +1,13 @@
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 { UnorderedListItem } from './UnorderedListItem';
9
+ const UnorderedListRoot = forwardRef(({ children, className, color, markers = true, size, ...restProps }, ref) => {
10
+ return (_jsx("ul", { className: clsx('ams-unordered-list', color && `ams-unordered-list--${color}`, !markers && 'ams-unordered-list--no-markers', size && `ams-unordered-list--${size}`, className), ref: ref, ...restProps, children: children }));
11
+ });
12
+ UnorderedListRoot.displayName = 'UnorderedList';
13
+ export const UnorderedList = Object.assign(UnorderedListRoot, { Item: UnorderedListItem });
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,51 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { render, screen } from '@testing-library/react';
3
+ import { createRef } from 'react';
4
+ import { UnorderedList } from './UnorderedList';
5
+ import '@testing-library/jest-dom';
6
+ describe('Unordered list', () => {
7
+ it('renders an HTML ul element', () => {
8
+ const { container } = render(_jsx(UnorderedList, {}));
9
+ const list = container.querySelector('ul:only-child');
10
+ expect(list).toBeInTheDocument();
11
+ });
12
+ it('renders a design system BEM class name', () => {
13
+ render(_jsx(UnorderedList, {}));
14
+ const component = screen.getByRole('list');
15
+ expect(component).toHaveClass('ams-unordered-list');
16
+ });
17
+ it('renders a no markers class', () => {
18
+ render(_jsx(UnorderedList, { markers: false }));
19
+ const component = screen.getByRole('list');
20
+ expect(component).toHaveClass('ams-unordered-list--no-markers');
21
+ });
22
+ it('renders the class name for inverse color', () => {
23
+ render(_jsx(UnorderedList, { color: "inverse" }));
24
+ const component = screen.getByRole('list');
25
+ expect(component).toHaveClass('ams-unordered-list--inverse');
26
+ });
27
+ it('renders an additional class name', () => {
28
+ render(_jsx(UnorderedList, { className: "extra" }));
29
+ const component = screen.getByRole('list');
30
+ expect(component).toHaveClass('ams-unordered-list extra');
31
+ });
32
+ it('renders its subcomponent', () => {
33
+ const listItems = ['Item 1', 'Item 2', 'Item 3'];
34
+ const { container } = render(_jsx(UnorderedList, { children: listItems.map((item, index) => (_jsx(UnorderedList.Item, { children: item }, index))) }));
35
+ const list = screen.getByRole('list');
36
+ const items = container.querySelectorAll('.ams-unordered-list__item');
37
+ expect(list).toBeInTheDocument();
38
+ expect(items.length).toBe(3);
39
+ });
40
+ it('renders the small size class', () => {
41
+ render(_jsx(UnorderedList, { size: "small" }));
42
+ const component = screen.getByRole('list');
43
+ expect(component).toHaveClass('ams-unordered-list--small');
44
+ });
45
+ it('supports ForwardRef in React', () => {
46
+ const ref = createRef();
47
+ render(_jsx(UnorderedList, { ref: ref }));
48
+ const component = screen.getByRole('list');
49
+ expect(ref.current).toBe(component);
50
+ });
51
+ });
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
5
+ import type { LiHTMLAttributes, PropsWithChildren } from 'react';
6
+ export type UnorderedListItemProps = PropsWithChildren<LiHTMLAttributes<HTMLLIElement>>;
7
+ export declare const UnorderedListItem: import("react").ForwardRefExoticComponent<LiHTMLAttributes<HTMLLIElement> & {
8
+ children?: import("react").ReactNode | undefined;
9
+ } & import("react").RefAttributes<HTMLLIElement>>;
@@ -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 UnorderedListItem = forwardRef(({ children, className, ...restProps }, ref) => (_jsx("li", { className: clsx('ams-unordered-list__item', className), ref: ref, ...restProps, children: children })));
9
+ UnorderedListItem.displayName = 'UnorderedList.Item';
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { render, screen } from '@testing-library/react';
3
+ import { createRef } from 'react';
4
+ import { UnorderedListItem } from './UnorderedListItem';
5
+ import '@testing-library/jest-dom';
6
+ describe('Ordered list item', () => {
7
+ it('renders', () => {
8
+ render(_jsx(UnorderedListItem, {}));
9
+ const component = screen.getByRole('listitem');
10
+ expect(component).toBeInTheDocument();
11
+ });
12
+ it('renders a design system BEM class name', () => {
13
+ render(_jsx(UnorderedListItem, {}));
14
+ const component = screen.getByRole('listitem');
15
+ expect(component).toHaveClass('ams-unordered-list__item');
16
+ });
17
+ it('renders an additional class name', () => {
18
+ render(_jsx(UnorderedListItem, { className: "extra" }));
19
+ const component = screen.getByRole('listitem');
20
+ expect(component).toHaveClass('ams-unordered-list__item extra');
21
+ });
22
+ it('supports ForwardRef in React', () => {
23
+ const ref = createRef();
24
+ render(_jsx(UnorderedListItem, { ref: ref }));
25
+ const component = screen.getByRole('listitem');
26
+ expect(ref.current).toBe(component);
27
+ });
28
+ });
@@ -0,0 +1,3 @@
1
+ export { UnorderedList } from './UnorderedList';
2
+ export type { UnorderedListProps } from './UnorderedList';
3
+ export type { UnorderedListItemProps } from './UnorderedListItem';
@@ -0,0 +1 @@
1
+ export { UnorderedList } from './UnorderedList';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
5
+ export declare const ariaRoleForTag: Record<string, string>;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
5
+ export const ariaRoleForTag = {
6
+ article: 'article',
7
+ aside: 'complementary',
8
+ footer: 'contentinfo',
9
+ header: 'banner',
10
+ main: 'main',
11
+ nav: 'navigation',
12
+ section: 'region',
13
+ };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
5
+ /**
6
+ * @param fileSize The size of the file in bytes.
7
+ * @param precision The number of significant digits in the output.
8
+ * @returns A human readable file size
9
+ */
10
+ export declare const formatFileSize: (fileSize: number, precision?: number) => string;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
5
+ /**
6
+ * @param fileSize The size of the file in bytes.
7
+ * @param precision The number of significant digits in the output.
8
+ * @returns A human readable file size
9
+ */
10
+ export const formatFileSize = (fileSize, precision = 3) => {
11
+ const UNITS = ['bytes', 'kB', 'MB', 'GB'];
12
+ if (fileSize === 0)
13
+ return '0 bytes';
14
+ const exponent = Math.floor(Math.log10(fileSize) / 3);
15
+ const size = (fileSize / Math.pow(1000, exponent)).toPrecision(precision);
16
+ return `${size} ${UNITS[exponent]}`;
17
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ import { formatFileSize } from './formatFileSize';
2
+ describe('formatFileSize', () => {
3
+ it('formats bytes correctly', () => {
4
+ expect(formatFileSize(500)).toBe('500 bytes');
5
+ });
6
+ it('formats kilobytes correctly', () => {
7
+ expect(formatFileSize(1024, 1)).toBe('1 kB');
8
+ expect(formatFileSize(2048, 1)).toBe('2 kB');
9
+ });
10
+ it('formats megabytes correctly', () => {
11
+ expect(formatFileSize(1048576, 1)).toBe('1 MB');
12
+ expect(formatFileSize(2097152, 1)).toBe('2 MB');
13
+ });
14
+ it('formats gigabytes correctly', () => {
15
+ expect(formatFileSize(1073741824, 1)).toBe('1 GB');
16
+ expect(formatFileSize(2147483648, 1)).toBe('2 GB');
17
+ });
18
+ });