@amsterdam/design-system-react 2.0.2 → 2.2.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 (302) hide show
  1. package/dist/Accordion/Accordion.d.ts +3 -3
  2. package/dist/Accordion/AccordionSection.d.ts +5 -5
  3. package/dist/Avatar/Avatar.d.ts +2 -2
  4. package/dist/Badge/Badge.d.ts +4 -4
  5. package/dist/Blockquote/Blockquote.d.ts +5 -5
  6. package/dist/Breakout/BreakoutCell.d.ts +2 -2
  7. package/dist/Button/Button.d.ts +7 -5
  8. package/dist/Button/Button.js +1 -0
  9. package/dist/Card/Card.d.ts +8 -8
  10. package/dist/Card/CardHeading.d.ts +3 -3
  11. package/dist/Card/CardHeadingGroup.d.ts +5 -5
  12. package/dist/Card/CardImage.d.ts +2 -2
  13. package/dist/Checkbox/Checkbox.d.ts +5 -5
  14. package/dist/Column/Column.d.ts +5 -5
  15. package/dist/DateInput/DateInput.d.ts +4 -4
  16. package/dist/DescriptionList/DescriptionList.d.ts +5 -5
  17. package/dist/Dialog/Dialog.d.ts +6 -7
  18. package/dist/Field/Field.d.ts +5 -5
  19. package/dist/FieldSet/FieldSet.d.ts +31 -10
  20. package/dist/FieldSet/FieldSet.js +4 -3
  21. package/dist/Figure/Figure.d.ts +3 -3
  22. package/dist/Figure/FigureCaption.d.ts +5 -5
  23. package/dist/FileList/FileList.d.ts +2 -2
  24. package/dist/FileList/FileListItem.d.ts +4 -4
  25. package/dist/Grid/Grid.d.ts +2 -2
  26. package/dist/Grid/GridCell.d.ts +2 -2
  27. package/dist/Heading/Heading.d.ts +10 -11
  28. package/dist/Heading/Heading.js +1 -0
  29. package/dist/Hint/Hint.d.ts +1 -0
  30. package/dist/Hint/Hint.js +2 -2
  31. package/dist/Icon/Icon.d.ts +0 -4
  32. package/dist/IconButton/IconButton.d.ts +4 -2
  33. package/dist/IconButton/IconButton.js +1 -0
  34. package/dist/Image/Image.d.ts +5 -5
  35. package/dist/Image/Image.js +1 -1
  36. package/dist/ImageSlider/ImageSlider.d.ts +4 -4
  37. package/dist/ImageSlider/ImageSliderItem.d.ts +5 -5
  38. package/dist/ImageSlider/ImageSliderThumbnails.d.ts +5 -5
  39. package/dist/InvalidFormAlert/InvalidFormAlertWithErrors.d.ts +2 -2
  40. package/dist/Label/Label.d.ts +25 -6
  41. package/dist/Label/Label.js +3 -2
  42. package/dist/Link/Link.d.ts +4 -4
  43. package/dist/LinkList/LinkList.d.ts +1 -1
  44. package/dist/LinkList/LinkListLink.d.ts +9 -4
  45. package/dist/LinkList/LinkListLink.js +2 -0
  46. package/dist/Logo/Logo.d.ts +2 -2
  47. package/dist/Menu/Menu.d.ts +31 -10
  48. package/dist/Menu/Menu.js +6 -1
  49. package/dist/Menu/MenuLink.d.ts +10 -4
  50. package/dist/OrderedList/OrderedList.d.ts +5 -5
  51. package/dist/Page/Page.d.ts +6 -2
  52. package/dist/Page/Page.js +1 -1
  53. package/dist/PageHeader/PageHeader.d.ts +8 -7
  54. package/dist/PageHeader/PageHeaderGridCellNarrowWindowOnly.d.ts +1 -1
  55. package/dist/PageHeader/PageHeaderGridCellNarrowWindowOnly.js +0 -4
  56. package/dist/PageHeader/PageHeaderMenuIcon.js +1 -1
  57. package/dist/PageHeader/PageHeaderMenuLink.d.ts +13 -6
  58. package/dist/PageHeader/PageHeaderMenuLink.js +3 -6
  59. package/dist/PageHeading/PageHeading.d.ts +5 -5
  60. package/dist/Pagination/LinkItem.d.ts +3 -3
  61. package/dist/Pagination/Pagination.d.ts +4 -4
  62. package/dist/Paragraph/Paragraph.d.ts +5 -9
  63. package/dist/PasswordInput/PasswordInput.d.ts +4 -4
  64. package/dist/Radio/Radio.d.ts +5 -5
  65. package/dist/Row/Row.d.ts +5 -5
  66. package/dist/SearchField/SearchField.d.ts +2 -2
  67. package/dist/SearchField/SearchFieldButton.js +1 -1
  68. package/dist/SearchField/SearchFieldInput.d.ts +2 -2
  69. package/dist/Select/Select.d.ts +5 -5
  70. package/dist/Spotlight/Spotlight.d.ts +6 -6
  71. package/dist/Spotlight/Spotlight.js +0 -4
  72. package/dist/StandaloneLink/StandaloneLink.d.ts +4 -4
  73. package/dist/Table/TableCaption.d.ts +0 -4
  74. package/dist/TableOfContents/TableOfContents.d.ts +7 -7
  75. package/dist/TableOfContents/TableOfContentsLink.d.ts +4 -4
  76. package/dist/Tabs/Tabs.d.ts +11 -11
  77. package/dist/Tabs/TabsButton.d.ts +5 -5
  78. package/dist/Tabs/TabsPanel.d.ts +5 -5
  79. package/dist/TextArea/TextArea.d.ts +12 -6
  80. package/dist/TextInput/TextInput.d.ts +4 -4
  81. package/dist/TimeInput/TimeInput.d.ts +4 -4
  82. package/dist/UnorderedList/UnorderedList.d.ts +5 -5
  83. package/dist/common/useIsAfterBreakpoint.d.ts +4 -0
  84. package/dist/common/useIsAfterBreakpoint.js +4 -4
  85. package/dist/index.cjs.js +62 -44
  86. package/dist/index.cjs.js.map +1 -1
  87. package/dist/index.d.ts +293 -218
  88. package/dist/index.esm.js +62 -44
  89. package/dist/index.esm.js.map +1 -1
  90. package/dist/tsconfig.build.tsbuildinfo +1 -0
  91. package/package.json +21 -20
  92. package/dist/Accordion/Accordion.test.d.ts +0 -5
  93. package/dist/Accordion/Accordion.test.js +0 -44
  94. package/dist/Accordion/AccordionSection.test.d.ts +0 -5
  95. package/dist/Accordion/AccordionSection.test.js +0 -100
  96. package/dist/ActionGroup/ActionGroup.test.d.ts +0 -5
  97. package/dist/ActionGroup/ActionGroup.test.js +0 -33
  98. package/dist/Alert/Alert.test.d.ts +0 -5
  99. package/dist/Alert/Alert.test.js +0 -74
  100. package/dist/Avatar/Avatar.test.d.ts +0 -5
  101. package/dist/Avatar/Avatar.test.js +0 -63
  102. package/dist/Badge/Badge.test.d.ts +0 -5
  103. package/dist/Badge/Badge.test.js +0 -43
  104. package/dist/Blockquote/Blockquote.test.d.ts +0 -5
  105. package/dist/Blockquote/Blockquote.test.js +0 -46
  106. package/dist/Breadcrumb/Breadcrumb.test.d.ts +0 -5
  107. package/dist/Breadcrumb/Breadcrumb.test.js +0 -45
  108. package/dist/Breadcrumb/BreadcrumbLink.test.d.ts +0 -5
  109. package/dist/Breadcrumb/BreadcrumbLink.test.js +0 -40
  110. package/dist/Breakout/Breakout.test.d.ts +0 -5
  111. package/dist/Breakout/Breakout.test.js +0 -62
  112. package/dist/Breakout/BreakoutCell.test.d.ts +0 -5
  113. package/dist/Breakout/BreakoutCell.test.js +0 -128
  114. package/dist/Button/Button.test.d.ts +0 -5
  115. package/dist/Button/Button.test.js +0 -114
  116. package/dist/CallToActionLink/CallToActionLink.test.d.ts +0 -5
  117. package/dist/CallToActionLink/CallToActionLink.test.js +0 -33
  118. package/dist/Card/Card.test.d.ts +0 -5
  119. package/dist/Card/Card.test.js +0 -33
  120. package/dist/Card/CardHeading.test.d.ts +0 -5
  121. package/dist/Card/CardHeading.test.js +0 -38
  122. package/dist/Card/CardHeadingGroup.test.d.ts +0 -5
  123. package/dist/Card/CardHeadingGroup.test.js +0 -38
  124. package/dist/Card/CardImage.test.d.ts +0 -5
  125. package/dist/Card/CardImage.test.js +0 -33
  126. package/dist/Card/CardLink.test.d.ts +0 -5
  127. package/dist/Card/CardLink.test.js +0 -33
  128. package/dist/CharacterCount/CharacterCount.test.d.ts +0 -5
  129. package/dist/CharacterCount/CharacterCount.test.js +0 -38
  130. package/dist/Checkbox/Checkbox.test.d.ts +0 -5
  131. package/dist/Checkbox/Checkbox.test.js +0 -142
  132. package/dist/Column/Column.test.d.ts +0 -5
  133. package/dist/Column/Column.test.js +0 -59
  134. package/dist/DateInput/DateInput.test.d.ts +0 -5
  135. package/dist/DateInput/DateInput.test.js +0 -58
  136. package/dist/DescriptionList/DescriptionList.test.d.ts +0 -5
  137. package/dist/DescriptionList/DescriptionList.test.js +0 -43
  138. package/dist/DescriptionList/DescriptionListDescription.test.d.ts +0 -5
  139. package/dist/DescriptionList/DescriptionListDescription.test.js +0 -33
  140. package/dist/DescriptionList/DescriptionListSection.test.d.ts +0 -5
  141. package/dist/DescriptionList/DescriptionListSection.test.js +0 -33
  142. package/dist/DescriptionList/DescriptionListTerm.test.d.ts +0 -5
  143. package/dist/DescriptionList/DescriptionListTerm.test.js +0 -33
  144. package/dist/Dialog/Dialog.test.d.ts +0 -5
  145. package/dist/Dialog/Dialog.test.js +0 -82
  146. package/dist/ErrorMessage/ErrorMessage.test.d.ts +0 -5
  147. package/dist/ErrorMessage/ErrorMessage.test.js +0 -53
  148. package/dist/Field/Field.test.d.ts +0 -5
  149. package/dist/Field/Field.test.js +0 -38
  150. package/dist/FieldSet/FieldSet.test.d.ts +0 -5
  151. package/dist/FieldSet/FieldSet.test.js +0 -63
  152. package/dist/Figure/Figure.test.d.ts +0 -5
  153. package/dist/Figure/Figure.test.js +0 -33
  154. package/dist/Figure/FigureCaption.test.d.ts +0 -5
  155. package/dist/Figure/FigureCaption.test.js +0 -38
  156. package/dist/FileInput/FileInput.test.d.ts +0 -5
  157. package/dist/FileInput/FileInput.test.js +0 -33
  158. package/dist/FileList/FileList.test.d.ts +0 -5
  159. package/dist/FileList/FileList.test.js +0 -33
  160. package/dist/FileList/FileListItem.test.d.ts +0 -5
  161. package/dist/FileList/FileListItem.test.js +0 -44
  162. package/dist/Grid/Grid.test.d.ts +0 -5
  163. package/dist/Grid/Grid.test.js +0 -69
  164. package/dist/Grid/GridCell.test.d.ts +0 -5
  165. package/dist/Grid/GridCell.test.js +0 -84
  166. package/dist/Heading/Heading.test.d.ts +0 -5
  167. package/dist/Heading/Heading.test.js +0 -70
  168. package/dist/Hint/Hint.test.d.ts +0 -5
  169. package/dist/Hint/Hint.test.js +0 -53
  170. package/dist/Icon/Icon.test.d.ts +0 -5
  171. package/dist/Icon/Icon.test.js +0 -60
  172. package/dist/IconButton/IconButton.test.d.ts +0 -5
  173. package/dist/IconButton/IconButton.test.js +0 -48
  174. package/dist/Image/Image.test.d.ts +0 -5
  175. package/dist/Image/Image.test.js +0 -43
  176. package/dist/ImageSlider/ImageSlider.test.d.ts +0 -5
  177. package/dist/ImageSlider/ImageSlider.test.js +0 -70
  178. package/dist/ImageSlider/ImageSliderControls.test.d.ts +0 -5
  179. package/dist/ImageSlider/ImageSliderControls.test.js +0 -25
  180. package/dist/ImageSlider/ImageSliderItem.test.d.ts +0 -5
  181. package/dist/ImageSlider/ImageSliderItem.test.js +0 -37
  182. package/dist/ImageSlider/ImageSliderScroller.test.d.ts +0 -5
  183. package/dist/ImageSlider/ImageSliderScroller.test.js +0 -37
  184. package/dist/ImageSlider/ImageSliderThumbnails.test.d.ts +0 -5
  185. package/dist/ImageSlider/ImageSliderThumbnails.test.js +0 -52
  186. package/dist/InvalidFormAlert/InvalidFormAlert.test.d.ts +0 -5
  187. package/dist/InvalidFormAlert/InvalidFormAlert.test.js +0 -108
  188. package/dist/Label/Label.test.d.ts +0 -5
  189. package/dist/Label/Label.test.js +0 -77
  190. package/dist/Link/Link.test.d.ts +0 -5
  191. package/dist/Link/Link.test.js +0 -43
  192. package/dist/LinkList/LinkList.test.d.ts +0 -5
  193. package/dist/LinkList/LinkList.test.js +0 -33
  194. package/dist/LinkList/LinkListLink.test.d.ts +0 -5
  195. package/dist/LinkList/LinkListLink.test.js +0 -54
  196. package/dist/Logo/Logo.test.d.ts +0 -5
  197. package/dist/Logo/Logo.test.js +0 -33
  198. package/dist/Mark/Mark.test.d.ts +0 -5
  199. package/dist/Mark/Mark.test.js +0 -33
  200. package/dist/Menu/Menu.test.d.ts +0 -5
  201. package/dist/Menu/Menu.test.js +0 -38
  202. package/dist/Menu/MenuLink.test.d.ts +0 -5
  203. package/dist/Menu/MenuLink.test.js +0 -56
  204. package/dist/OrderedList/OrderedList.test.d.ts +0 -5
  205. package/dist/OrderedList/OrderedList.test.js +0 -55
  206. package/dist/OrderedList/OrderedListItem.test.d.ts +0 -5
  207. package/dist/OrderedList/OrderedListItem.test.js +0 -32
  208. package/dist/Overlap/Overlap.test.d.ts +0 -5
  209. package/dist/Overlap/Overlap.test.js +0 -38
  210. package/dist/Page/Page.test.d.ts +0 -5
  211. package/dist/Page/Page.test.js +0 -33
  212. package/dist/PageFooter/PageFooter.test.d.ts +0 -5
  213. package/dist/PageFooter/PageFooter.test.js +0 -33
  214. package/dist/PageFooter/PageFooterMenu.test.d.ts +0 -5
  215. package/dist/PageFooter/PageFooterMenu.test.js +0 -35
  216. package/dist/PageFooter/PageFooterMenuLink.test.d.ts +0 -5
  217. package/dist/PageFooter/PageFooterMenuLink.test.js +0 -33
  218. package/dist/PageFooter/PageFooterSpotlight.test.d.ts +0 -5
  219. package/dist/PageFooter/PageFooterSpotlight.test.js +0 -33
  220. package/dist/PageHeader/PageHeader.test.d.ts +0 -6
  221. package/dist/PageHeader/PageHeader.test.js +0 -135
  222. package/dist/PageHeader/PageHeaderGridCellNarrowWindowOnly.test.d.ts +0 -5
  223. package/dist/PageHeader/PageHeaderGridCellNarrowWindowOnly.test.js +0 -38
  224. package/dist/PageHeader/PageHeaderMenuLink.test.d.ts +0 -5
  225. package/dist/PageHeader/PageHeaderMenuLink.test.js +0 -45
  226. package/dist/PageHeading/PageHeading.test.d.ts +0 -5
  227. package/dist/PageHeading/PageHeading.test.js +0 -40
  228. package/dist/Pagination/Pagination.test.d.ts +0 -5
  229. package/dist/Pagination/Pagination.test.js +0 -137
  230. package/dist/Paragraph/Paragraph.test.d.ts +0 -5
  231. package/dist/Paragraph/Paragraph.test.js +0 -62
  232. package/dist/PasswordInput/PasswordInput.test.d.ts +0 -5
  233. package/dist/PasswordInput/PasswordInput.test.js +0 -89
  234. package/dist/Radio/Radio.test.d.ts +0 -5
  235. package/dist/Radio/Radio.test.js +0 -134
  236. package/dist/Row/Row.test.d.ts +0 -5
  237. package/dist/Row/Row.test.js +0 -64
  238. package/dist/SearchField/SearchField.test.d.ts +0 -5
  239. package/dist/SearchField/SearchField.test.js +0 -50
  240. package/dist/SearchField/SearchFieldInput.test.d.ts +0 -5
  241. package/dist/SearchField/SearchFieldInput.test.js +0 -65
  242. package/dist/Select/Select.test.d.ts +0 -5
  243. package/dist/Select/Select.test.js +0 -74
  244. package/dist/Select/SelectOption.test.d.ts +0 -5
  245. package/dist/Select/SelectOption.test.js +0 -45
  246. package/dist/Select/SelectOptionGroup.test.d.ts +0 -5
  247. package/dist/Select/SelectOptionGroup.test.js +0 -45
  248. package/dist/SkipLink/SkipLink.test.d.ts +0 -5
  249. package/dist/SkipLink/SkipLink.test.js +0 -33
  250. package/dist/Spotlight/Spotlight.test.d.ts +0 -5
  251. package/dist/Spotlight/Spotlight.test.js +0 -46
  252. package/dist/StandaloneLink/StandaloneLink.test.d.ts +0 -5
  253. package/dist/StandaloneLink/StandaloneLink.test.js +0 -46
  254. package/dist/Switch/Switch.test.d.ts +0 -5
  255. package/dist/Switch/Switch.test.js +0 -69
  256. package/dist/Table/Table.test.d.ts +0 -5
  257. package/dist/Table/Table.test.js +0 -33
  258. package/dist/Table/TableBody.test.d.ts +0 -5
  259. package/dist/Table/TableBody.test.js +0 -34
  260. package/dist/Table/TableCaption.test.d.ts +0 -5
  261. package/dist/Table/TableCaption.test.js +0 -45
  262. package/dist/Table/TableCell.test.d.ts +0 -5
  263. package/dist/Table/TableCell.test.js +0 -36
  264. package/dist/Table/TableFooter.test.d.ts +0 -5
  265. package/dist/Table/TableFooter.test.js +0 -34
  266. package/dist/Table/TableHeader.test.d.ts +0 -5
  267. package/dist/Table/TableHeader.test.js +0 -34
  268. package/dist/Table/TableHeaderCell.test.d.ts +0 -5
  269. package/dist/Table/TableHeaderCell.test.js +0 -42
  270. package/dist/Table/TableRow.test.d.ts +0 -5
  271. package/dist/Table/TableRow.test.js +0 -35
  272. package/dist/TableOfContents/TableOfContents.test.d.ts +0 -5
  273. package/dist/TableOfContents/TableOfContents.test.js +0 -44
  274. package/dist/TableOfContents/TableOfContentsLink.test.d.ts +0 -5
  275. package/dist/TableOfContents/TableOfContentsLink.test.js +0 -34
  276. package/dist/TableOfContents/TableOfContentsList.test.d.ts +0 -5
  277. package/dist/TableOfContents/TableOfContentsList.test.js +0 -40
  278. package/dist/Tabs/Tabs.test.d.ts +0 -5
  279. package/dist/Tabs/Tabs.test.js +0 -104
  280. package/dist/Tabs/TabsButton.test.d.ts +0 -5
  281. package/dist/Tabs/TabsButton.test.js +0 -57
  282. package/dist/Tabs/TabsList.test.d.ts +0 -5
  283. package/dist/Tabs/TabsList.test.js +0 -32
  284. package/dist/Tabs/TabsPanel.test.d.ts +0 -5
  285. package/dist/Tabs/TabsPanel.test.js +0 -42
  286. package/dist/TextArea/TextArea.test.d.ts +0 -5
  287. package/dist/TextArea/TextArea.test.js +0 -105
  288. package/dist/TextInput/TextInput.test.d.ts +0 -5
  289. package/dist/TextInput/TextInput.test.js +0 -92
  290. package/dist/TimeInput/TimeInput.test.d.ts +0 -5
  291. package/dist/TimeInput/TimeInput.test.js +0 -51
  292. package/dist/UnorderedList/UnorderedList.test.d.ts +0 -5
  293. package/dist/UnorderedList/UnorderedList.test.js +0 -55
  294. package/dist/UnorderedList/UnorderedListItem.test.d.ts +0 -5
  295. package/dist/UnorderedList/UnorderedListItem.test.js +0 -32
  296. package/dist/common/formatFileSize.test.d.ts +0 -5
  297. package/dist/common/formatFileSize.test.js +0 -22
  298. package/dist/common/formatFileType.test.d.ts +0 -5
  299. package/dist/common/formatFileType.test.js +0 -27
  300. package/dist/common/useKeyboardFocus.test.d.ts +0 -5
  301. package/dist/common/useKeyboardFocus.test.js +0 -79
  302. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,5 +0,0 @@
1
- /**
2
- * @license EUPL-1.2+
3
- * Copyright Gemeente Amsterdam
4
- */
5
- import '@testing-library/jest-dom';
@@ -1,33 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * @license EUPL-1.2+
4
- * Copyright Gemeente Amsterdam
5
- */
6
- import { render } from '@testing-library/react';
7
- import { createRef } from 'react';
8
- import { PageFooter } from './PageFooter';
9
- import '@testing-library/jest-dom';
10
- describe('Page Footer Spotlight', () => {
11
- it('renders', () => {
12
- const { container } = render(_jsx(PageFooter.Spotlight, {}));
13
- const component = container.querySelector(':only-child');
14
- expect(component).toBeInTheDocument();
15
- expect(component).toBeVisible();
16
- });
17
- it('renders a design system BEM class name', () => {
18
- const { container } = render(_jsx(PageFooter.Spotlight, {}));
19
- const component = container.querySelector(':only-child');
20
- expect(component).toHaveClass('ams-page-footer__spotlight');
21
- });
22
- it('renders an extra class name', () => {
23
- const { container } = render(_jsx(PageFooter.Spotlight, { className: "extra" }));
24
- const component = container.querySelector(':only-child');
25
- expect(component).toHaveClass('ams-page-footer__spotlight extra');
26
- });
27
- it('supports ForwardRef in React', () => {
28
- const ref = createRef();
29
- const { container } = render(_jsx(PageFooter.Spotlight, { ref: ref }));
30
- const component = container.querySelector(':only-child');
31
- expect(ref.current).toBe(component);
32
- });
33
- });
@@ -1,6 +0,0 @@
1
- /**
2
- * @license EUPL-1.2+
3
- * Copyright Gemeente Amsterdam
4
- */
5
- import './matchMedia.mock';
6
- import '@testing-library/jest-dom';
@@ -1,135 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * @license EUPL-1.2+
4
- * Copyright Gemeente Amsterdam
5
- */
6
- import { render, screen } from '@testing-library/react';
7
- import userEvent from '@testing-library/user-event';
8
- import { createRef } from 'react';
9
- import './matchMedia.mock'; // Must be imported before PageHeader
10
- import { PageHeader } from './PageHeader';
11
- import '@testing-library/jest-dom';
12
- describe('Page Header', () => {
13
- it('renders', () => {
14
- render(_jsx(PageHeader, {}));
15
- const component = screen.getByRole('banner');
16
- expect(component).toBeInTheDocument();
17
- expect(component).toBeVisible();
18
- });
19
- it('renders a design system BEM class name', () => {
20
- render(_jsx(PageHeader, {}));
21
- const component = screen.getByRole('banner');
22
- expect(component).toHaveClass('ams-page-header');
23
- });
24
- it('renders an extra class name', () => {
25
- render(_jsx(PageHeader, { className: "extra" }));
26
- const component = screen.getByRole('banner');
27
- expect(component).toHaveClass('ams-page-header extra');
28
- });
29
- it('supports ForwardRef in React', () => {
30
- const ref = createRef();
31
- render(_jsx(PageHeader, { ref: ref }));
32
- const component = screen.getByRole('banner');
33
- expect(ref.current).toBe(component);
34
- });
35
- it('renders a logo link', () => {
36
- render(_jsx(PageHeader, {}));
37
- const component = screen.getByRole('link');
38
- expect(component).toHaveClass('ams-page-header__logo-link');
39
- });
40
- it('renders a different brand logo', () => {
41
- const { container } = render(_jsx(PageHeader, { logoBrand: "ggd-amsterdam" }));
42
- const component = container.querySelector('.ams-logo__text-secondary');
43
- expect(component).toBeInTheDocument();
44
- });
45
- it('renders a custom logo link', () => {
46
- render(_jsx(PageHeader, { logoLink: "/home" }));
47
- const logoLink = screen.getByRole('link');
48
- expect(logoLink).toHaveAttribute('href', '/home');
49
- });
50
- it('renders a custom logo link title', () => {
51
- render(_jsx(PageHeader, { logoLinkTitle: "Go to homepage" }));
52
- const logoLinkTitle = screen.getByRole('link', { name: 'Gemeente Amsterdam logo Go to homepage' });
53
- expect(logoLinkTitle).toBeInTheDocument();
54
- });
55
- it('renders a custom accessible name for the logo', () => {
56
- render(_jsx(PageHeader, { logoAccessibleName: "Custom accessible name" }));
57
- const logoLinkTitle = screen.getByRole('link', { name: 'Custom accessible name Ga naar de homepage' });
58
- expect(logoLinkTitle).toBeInTheDocument();
59
- });
60
- it('renders an application name', () => {
61
- render(_jsx(PageHeader, { brandName: "Application name" }));
62
- const brandName = screen.getByText('Application name');
63
- expect(brandName).toBeInTheDocument();
64
- });
65
- it('renders the correct class for the responsive logo', () => {
66
- const { container } = render(_jsx(PageHeader, { brandName: "Application name" }));
67
- const logoContainer = container.querySelector('.ams-page-header__logo-container');
68
- expect(logoContainer).toBeInTheDocument();
69
- });
70
- it('renders a nav section', () => {
71
- render(_jsx(PageHeader, { children: "Test" }));
72
- const component = screen.getByRole('navigation');
73
- expect(component).toHaveClass('ams-page-header__navigation');
74
- });
75
- it('renders a nav section with a custom label', () => {
76
- render(_jsx(PageHeader, { navigationLabel: "Custom Navigation", children: "Test" }));
77
- const component = screen.getByRole('navigation', { name: 'Custom Navigation' });
78
- expect(component).toBeInTheDocument();
79
- });
80
- it('renders a menu', () => {
81
- render(_jsx(PageHeader, { menuItems: _jsx(PageHeader.MenuLink, { children: "Menu Item" }) }));
82
- const component = screen.getByRole('list');
83
- expect(component).toHaveClass('ams-page-header__menu');
84
- });
85
- it('renders menu items', () => {
86
- render(_jsx(PageHeader, { menuItems: [
87
- _jsx(PageHeader.MenuLink, { href: "/", children: "Menu Item 1" }, 1),
88
- _jsx(PageHeader.MenuLink, { href: "/", children: "Menu Item 2" }, 2),
89
- ] }));
90
- const item1 = screen.getByRole('link', { name: 'Menu Item 1' });
91
- const item2 = screen.getByRole('link', { name: 'Menu Item 2' });
92
- expect(item1).toBeInTheDocument();
93
- expect(item2).toBeInTheDocument();
94
- });
95
- it('renders a menu button', () => {
96
- render(_jsx(PageHeader, { children: "Test" }));
97
- const component = screen.getByRole('button', { name: 'Menu' });
98
- expect(component).toHaveClass('ams-page-header__mega-menu-button');
99
- });
100
- it('renders a menu button icon', () => {
101
- const { container } = render(_jsx(PageHeader, { children: "Test" }));
102
- const component = container.querySelector('.ams-page-header__menu-icon');
103
- expect(component).toBeInTheDocument();
104
- });
105
- it('renders a custom menu button text', () => {
106
- render(_jsx(PageHeader, { menuButtonText: "Custom button text", children: "Test" }));
107
- const component = screen.getByRole('button', { name: 'Custom button text' });
108
- expect(component).toBeInTheDocument();
109
- });
110
- it('renders the correct class when noMenuButtonOnWideWindow is true', () => {
111
- render(_jsx(PageHeader, { noMenuButtonOnWideWindow: true, children: "Test" }));
112
- const component = screen.getByRole('listitem');
113
- expect(component).toHaveClass('ams-page-header__mega-menu-button-item--hide-on-wide-window');
114
- });
115
- it('opens and closes the mega menu', async () => {
116
- const user = userEvent.setup();
117
- const { container } = render(_jsx(PageHeader, { children: "Test" }));
118
- const closedMegaMenu = container.querySelector('.ams-page-header__mega-menu--closed');
119
- expect(closedMegaMenu).toBeInTheDocument();
120
- const menuButton = screen.getByRole('button', { name: 'Menu' });
121
- await user.click(menuButton);
122
- const openMegaMenu = container.querySelector('.ams-page-header__mega-menu');
123
- expect(openMegaMenu).toBeInTheDocument();
124
- expect(openMegaMenu).not.toHaveClass('ams-page-header__mega-menu--closed');
125
- });
126
- it.skip('closes the mega menu when it is open and the screen width passes the breakpoint', () => {
127
- // TODO: Add this test
128
- });
129
- it('renders a custom logo link component', () => {
130
- const CustomLink = (props) => _jsx("a", { "data-test": true, ...props });
131
- render(_jsx(PageHeader, { logoLinkComponent: CustomLink }));
132
- const customLink = screen.getByRole('link', { name: 'Gemeente Amsterdam logo Ga naar de homepage' });
133
- expect(customLink).toHaveAttribute('data-test');
134
- });
135
- });
@@ -1,5 +0,0 @@
1
- /**
2
- * @license EUPL-1.2+
3
- * Copyright Gemeente Amsterdam
4
- */
5
- import '@testing-library/jest-dom';
@@ -1,38 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * @license EUPL-1.2+
4
- * Copyright Gemeente Amsterdam
5
- */
6
- import { render } from '@testing-library/react';
7
- import { createRef } from 'react';
8
- import { PageHeaderGridCellNarrowWindowOnly } from './PageHeaderGridCellNarrowWindowOnly';
9
- import '@testing-library/jest-dom';
10
- describe('Page Header Grid Cell Narrow Window Only', () => {
11
- it('renders', () => {
12
- const { container } = render(_jsx(PageHeaderGridCellNarrowWindowOnly, {}));
13
- const component = container.querySelector(':only-child');
14
- expect(component).toBeInTheDocument();
15
- expect(component).toBeVisible();
16
- });
17
- it('renders a Grid.Cell', () => {
18
- const { container } = render(_jsx(PageHeaderGridCellNarrowWindowOnly, {}));
19
- const component = container.querySelector(':only-child');
20
- expect(component).toHaveClass('ams-grid__cell');
21
- });
22
- it('renders a design system BEM class name', () => {
23
- const { container } = render(_jsx(PageHeaderGridCellNarrowWindowOnly, {}));
24
- const component = container.querySelector(':only-child');
25
- expect(component).toHaveClass('ams-page-header__grid-cell-narrow-window-only');
26
- });
27
- it('renders an extra class name', () => {
28
- const { container } = render(_jsx(PageHeaderGridCellNarrowWindowOnly, { className: "extra" }));
29
- const component = container.querySelector(':only-child');
30
- expect(component).toHaveClass('ams-page-header__grid-cell-narrow-window-only extra');
31
- });
32
- it('supports ForwardRef in React', () => {
33
- const ref = createRef();
34
- const { container } = render(_jsx(PageHeaderGridCellNarrowWindowOnly, { ref: ref }));
35
- const component = container.querySelector(':only-child');
36
- expect(ref.current).toBe(component);
37
- });
38
- });
@@ -1,5 +0,0 @@
1
- /**
2
- * @license EUPL-1.2+
3
- * Copyright Gemeente Amsterdam
4
- */
5
- import '@testing-library/jest-dom';
@@ -1,45 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * @license EUPL-1.2+
4
- * Copyright Gemeente Amsterdam
5
- */
6
- import { render, screen } from '@testing-library/react';
7
- import { createRef } from 'react';
8
- import { PageHeaderMenuLink } from './PageHeaderMenuLink';
9
- import '@testing-library/jest-dom';
10
- describe('Page Header Menu Link', () => {
11
- it('renders', () => {
12
- render(_jsx(PageHeaderMenuLink, { href: "/" }));
13
- const component = screen.getByRole('listitem');
14
- expect(component).toBeInTheDocument();
15
- expect(component).toBeVisible();
16
- });
17
- it('renders a design system BEM class name', () => {
18
- render(_jsx(PageHeaderMenuLink, { href: "/" }));
19
- const item = screen.getByRole('listitem');
20
- expect(item).toHaveClass('ams-page-header__menu-item');
21
- const link = screen.getByRole('link');
22
- expect(link).toHaveClass('ams-page-header__menu-link');
23
- });
24
- it('renders an extra class name', () => {
25
- render(_jsx(PageHeaderMenuLink, { className: "extra", href: "/" }));
26
- const component = screen.getByRole('link');
27
- expect(component).toHaveClass('ams-page-header__menu-link extra');
28
- });
29
- it('renders the href attribute', () => {
30
- render(_jsx(PageHeaderMenuLink, { href: "/" }));
31
- const component = screen.getByRole('link');
32
- expect(component).toHaveAttribute('href', '/');
33
- });
34
- it('renders the ‘fixed’ prop classname', () => {
35
- render(_jsx(PageHeaderMenuLink, { fixed: true, href: "/" }));
36
- const component = screen.getByRole('listitem');
37
- expect(component).toHaveClass('ams-page-header__menu-item--fixed');
38
- });
39
- it('supports ForwardRef in React', () => {
40
- const ref = createRef();
41
- render(_jsx(PageHeaderMenuLink, { href: "/", ref: ref }));
42
- const component = screen.getByRole('link');
43
- expect(ref.current).toBe(component);
44
- });
45
- });
@@ -1,5 +0,0 @@
1
- /**
2
- * @license EUPL-1.2+
3
- * Copyright Gemeente Amsterdam
4
- */
5
- import '@testing-library/jest-dom';
@@ -1,40 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * @license EUPL-1.2+
4
- * Copyright Gemeente Amsterdam
5
- */
6
- import { render, screen } from '@testing-library/react';
7
- import { createRef } from 'react';
8
- import { PageHeading } from './PageHeading';
9
- import '@testing-library/jest-dom';
10
- describe('Page heading', () => {
11
- it('renders a heading role element', () => {
12
- render(_jsx(PageHeading, { children: "Breaking news" }));
13
- const pageHeading = screen.getByRole('heading', {
14
- name: 'Breaking news',
15
- });
16
- expect(pageHeading).toBeInTheDocument();
17
- expect(pageHeading).toBeVisible();
18
- });
19
- it('renders a design system BEM class name', () => {
20
- const { container } = render(_jsx(PageHeading, {}));
21
- const component = container.querySelector(':only-child');
22
- expect(component).toHaveClass('ams-page-heading');
23
- });
24
- it('renders an extra class name', () => {
25
- const { container } = render(_jsx(PageHeading, { className: "extra" }));
26
- const component = container.querySelector(':only-child');
27
- expect(component).toHaveClass('ams-page-heading extra');
28
- });
29
- it('renders the class name for inverse color', () => {
30
- render(_jsx(PageHeading, { color: "inverse", children: "Titel" }));
31
- const pageHeading = screen.getByRole('heading', { name: 'Titel' });
32
- expect(pageHeading).toHaveClass('ams-page-heading--inverse');
33
- });
34
- it('supports ForwardRef in React', () => {
35
- const ref = createRef();
36
- const { container } = render(_jsx(PageHeading, { ref: ref }));
37
- const component = container.querySelector(':only-child');
38
- expect(ref.current).toBe(component);
39
- });
40
- });
@@ -1,5 +0,0 @@
1
- /**
2
- * @license EUPL-1.2+
3
- * Copyright Gemeente Amsterdam
4
- */
5
- import '@testing-library/jest-dom';
@@ -1,137 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { render, screen } from '@testing-library/react';
3
- import { createRef } from 'react';
4
- import { Pagination } from './Pagination';
5
- import '@testing-library/jest-dom';
6
- describe('Pagination', () => {
7
- const linkTemplate = (page) => `#?pagina=${page}`;
8
- it('renders', () => {
9
- render(_jsx(Pagination, { linkTemplate: linkTemplate, totalPages: 10 }));
10
- const component = screen.getByRole('navigation', { name: 'Paginering' });
11
- expect(component).toBeInTheDocument();
12
- expect(component).toBeVisible();
13
- });
14
- it('renders a design system BEM class name', () => {
15
- render(_jsx(Pagination, { linkTemplate: linkTemplate, totalPages: 10 }));
16
- const component = screen.getByRole('navigation', { name: 'Paginering' });
17
- expect(component).toHaveClass('ams-pagination');
18
- });
19
- it('renders an extra class name', () => {
20
- render(_jsx(Pagination, { className: "extra", linkTemplate: linkTemplate, totalPages: 10 }));
21
- const component = screen.getByRole('navigation', { name: 'Paginering' });
22
- expect(component).toHaveClass('ams-pagination extra');
23
- });
24
- it('should render all the pages when totalPages <= maxVisiblePages', () => {
25
- render(_jsx(Pagination, { linkTemplate: linkTemplate, maxVisiblePages: 6, totalPages: 6 }));
26
- const listItem = screen.getAllByRole('listitem', { hidden: true });
27
- const range = ['1', '2', '3', '4', '5', '6'];
28
- range.forEach((item, index) => {
29
- expect(listItem[index]).toHaveTextContent(item);
30
- });
31
- });
32
- it('should render the pages including one (last) spacer in the correct location when totalPages > maxVisiblePages', () => {
33
- render(_jsx(Pagination, { linkTemplate: linkTemplate, maxVisiblePages: 7, page: 1, totalPages: 10 }));
34
- const listItem = screen.getAllByRole('listitem', { hidden: true });
35
- const range = ['1', '2', '3', '4', '5', '…', '10'];
36
- range.forEach((item, index) => {
37
- expect(listItem[index]).toHaveTextContent(item);
38
- });
39
- });
40
- it('should render the pages including the two spacers in the correct location when totalPages > maxVisiblePages and current page > 4', () => {
41
- render(_jsx(Pagination, { linkTemplate: linkTemplate, maxVisiblePages: 7, page: 6, totalPages: 10 }));
42
- const listItem = screen.getAllByRole('listitem', { hidden: true });
43
- const range = ['1', '…', '5', '6', '7', '…', '10'];
44
- range.forEach((item, index) => {
45
- expect(listItem[index]).toHaveTextContent(item);
46
- });
47
- });
48
- it('should render the pages including one (first) spacer in the correct location when totalPages > maxVisiblePages and page > maxVisiblePages', () => {
49
- render(_jsx(Pagination, { linkTemplate: linkTemplate, maxVisiblePages: 7, page: 7, totalPages: 10 }));
50
- const listItem = screen.getAllByRole('listitem', { hidden: true });
51
- const range = ['1', '…', '6', '7', '8', '9', '10'];
52
- range.forEach((item, index) => {
53
- expect(listItem[index]).toHaveTextContent(item);
54
- });
55
- });
56
- it('should set aria-current to true on the current page', () => {
57
- render(_jsx(Pagination, { linkTemplate: linkTemplate, page: 4, totalPages: 10 }));
58
- const currentPageLink = screen.getByRole('link', { name: 'Pagina 4' });
59
- expect(currentPageLink).toHaveAttribute('aria-current', 'page');
60
- });
61
- it('should set the correct href on the links', () => {
62
- render(_jsx(Pagination, { linkTemplate: linkTemplate, page: 4, totalPages: 10 }));
63
- const previousPageLink = screen.getByRole('link', { name: 'Vorige pagina' });
64
- const currentPageLink = screen.getByRole('link', { name: 'Pagina 4' });
65
- const nextPageLink = screen.getByRole('link', { name: 'Volgende pagina' });
66
- expect(previousPageLink).toHaveAttribute('href', '#?pagina=3');
67
- expect(currentPageLink).toHaveAttribute('href', '#?pagina=4');
68
- expect(nextPageLink).toHaveAttribute('href', '#?pagina=5');
69
- });
70
- it('sets a custom id for the accessible label - deprecated', () => {
71
- render(_jsx(Pagination, { linkTemplate: linkTemplate, totalPages: 10, visuallyHiddenLabelId: "custom-id" }));
72
- const component = screen.getByRole('navigation', { name: 'Paginering' });
73
- expect(component).toHaveAttribute('aria-labelledby', 'custom-id');
74
- });
75
- it('sets a custom id for the accessible name', () => {
76
- render(_jsx(Pagination, { accessibleNameId: "custom-id", linkTemplate: linkTemplate, totalPages: 10 }));
77
- const component = screen.getByRole('navigation', { name: 'Paginering' });
78
- expect(component).toHaveAttribute('aria-labelledby', 'custom-id');
79
- });
80
- it('should not render when totalPages is 1 or less', () => {
81
- render(_jsx(Pagination, { linkTemplate: linkTemplate, totalPages: 1 }));
82
- expect(screen.queryByRole('navigation')).not.toBeInTheDocument();
83
- });
84
- it('should not show the previous link on the first page', () => {
85
- render(_jsx(Pagination, { linkTemplate: linkTemplate, page: 1, totalPages: 10 }));
86
- expect(screen.queryByRole('link', { name: 'Vorige pagina' })).not.toBeInTheDocument();
87
- });
88
- it('should not show the next link on the last page', () => {
89
- render(_jsx(Pagination, { linkTemplate: linkTemplate, page: 10, totalPages: 10 }));
90
- expect(screen.queryByRole('link', { name: 'Volgende pagina' })).not.toBeInTheDocument();
91
- });
92
- it('renders custom labels for the ‘previous’ and ‘next’ links', () => {
93
- render(_jsx(Pagination, { linkTemplate: linkTemplate, nextLabel: "next", page: 4, previousLabel: "previous", totalPages: 10 }));
94
- const previousLink = screen.getByRole('link', { name: 'Vorige pagina' });
95
- const nextLink = screen.getByRole('link', { name: 'Volgende pagina' });
96
- expect(previousLink).toHaveTextContent('previous');
97
- expect(previousLink).toHaveAttribute('rel', 'prev');
98
- expect(nextLink).toHaveTextContent('next');
99
- expect(nextLink).toHaveAttribute('rel', 'next');
100
- });
101
- it('renders an accessible label for the navigation - deprecated', () => {
102
- render(_jsx(Pagination, { linkTemplate: linkTemplate, totalPages: 10, visuallyHiddenLabel: "Pagination" }));
103
- const component = screen.getByRole('navigation', { name: 'Pagination' });
104
- expect(component).toBeInTheDocument();
105
- });
106
- it('renders an accessible name for the navigation', () => {
107
- render(_jsx(Pagination, { accessibleName: "Pagination", linkTemplate: linkTemplate, totalPages: 10 }));
108
- const component = screen.getByRole('navigation', { name: 'Pagination' });
109
- expect(component).toBeInTheDocument();
110
- });
111
- it('renders accessible labels for the ‘previous’ and ‘next’ links - deprecated', () => {
112
- render(_jsx(Pagination, { linkTemplate: linkTemplate, nextVisuallyHiddenLabel: "Next page", page: 4, previousVisuallyHiddenLabel: "Previous page", totalPages: 10 }));
113
- const previousLink = screen.getByRole('link', { name: 'Previous page' });
114
- const nextLink = screen.getByRole('link', { name: 'Next page' });
115
- expect(previousLink).toBeInTheDocument();
116
- expect(nextLink).toBeInTheDocument();
117
- });
118
- it('renders accessible names for the ‘previous’ and ‘next’ links', () => {
119
- render(_jsx(Pagination, { linkTemplate: linkTemplate, nextAccessibleName: "Next page", page: 4, previousAccessibleName: "Previous page", totalPages: 10 }));
120
- const previousLink = screen.getByRole('link', { name: 'Previous page' });
121
- const nextLink = screen.getByRole('link', { name: 'Next page' });
122
- expect(previousLink).toBeInTheDocument();
123
- expect(nextLink).toBeInTheDocument();
124
- });
125
- it('renders a custom link component', () => {
126
- const CustomLink = (props) => _jsx("a", { "data-test": true, ...props });
127
- render(_jsx(Pagination, { linkComponent: CustomLink, linkTemplate: linkTemplate, totalPages: 10 }));
128
- const customLink = screen.getByRole('link', { name: 'Pagina 1' });
129
- expect(customLink).toHaveAttribute('data-test');
130
- });
131
- it('supports ForwardRef in React', () => {
132
- const ref = createRef();
133
- render(_jsx(Pagination, { linkTemplate: linkTemplate, ref: ref, totalPages: 10 }));
134
- const component = screen.getByRole('navigation', { name: 'Paginering' });
135
- expect(ref.current).toBe(component);
136
- });
137
- });
@@ -1,5 +0,0 @@
1
- /**
2
- * @license EUPL-1.2+
3
- * Copyright Gemeente Amsterdam
4
- */
5
- import '@testing-library/jest-dom';
@@ -1,62 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- /**
3
- * @license EUPL-1.2+
4
- * Copyright Gemeente Amsterdam
5
- */
6
- import { render, screen } from '@testing-library/react';
7
- import { createRef } from 'react';
8
- import { Paragraph } from './Paragraph';
9
- import '@testing-library/jest-dom';
10
- describe('Paragraph', () => {
11
- it('renders an HTML p element', () => {
12
- const { container } = render(_jsx(Paragraph, {}));
13
- const paragraph = container.querySelector('p:only-child');
14
- expect(paragraph).toBeInTheDocument();
15
- });
16
- it('renders a block element', () => {
17
- const { container } = render(_jsx(Paragraph, {}));
18
- const paragraph = container.querySelector(':only-child');
19
- expect(paragraph).toHaveStyle({ display: 'block' });
20
- });
21
- it('renders a design system BEM class name', () => {
22
- const { container } = render(_jsx(Paragraph, {}));
23
- const paragraph = container.querySelector(':only-child');
24
- expect(paragraph).toHaveClass('ams-paragraph');
25
- });
26
- it('renders rich text content', () => {
27
- const { container } = render(_jsxs(Paragraph, { children: ["Hello, ", _jsx("strong", { children: "world" })] }));
28
- const paragraph = container.querySelector(':only-child');
29
- const richText = paragraph?.querySelector('strong');
30
- expect(richText).toBeInTheDocument();
31
- });
32
- it('is a default paragraph without specifying props', () => {
33
- const { container } = render(_jsx(Paragraph, {}));
34
- const paragraph = container.querySelector(':only-child');
35
- expect(paragraph).not.toHaveClass('ams-paragraph--large');
36
- expect(paragraph).not.toHaveClass('ams-paragraph--small');
37
- });
38
- it('renders the right size classes', () => {
39
- render(_jsxs(_Fragment, { children: [_jsx(Paragraph, { size: "small", children: "Small paragraph" }), _jsx(Paragraph, { size: "large", children: "Large paragraph" })] }));
40
- const smallParagraph = screen.getByText('Small paragraph');
41
- const largeParagraph = screen.getByText('Large paragraph');
42
- expect(smallParagraph).toHaveClass('ams-paragraph--small');
43
- expect(largeParagraph).toHaveClass('ams-paragraph--large');
44
- });
45
- it('renders the class name for inverse color', () => {
46
- render(_jsx(Paragraph, { color: "inverse", children: "Paragraph" }));
47
- const paragraph = screen.getByText('Paragraph');
48
- expect(paragraph).toHaveClass('ams-paragraph--inverse');
49
- });
50
- it('renders an extra class name', () => {
51
- const { container } = render(_jsx(Paragraph, { className: "intro" }));
52
- const paragraph = container.querySelector(':only-child');
53
- expect(paragraph).toHaveClass('intro');
54
- expect(paragraph).toHaveClass('ams-paragraph');
55
- });
56
- it('supports ForwardRef in React', () => {
57
- const ref = createRef();
58
- const { container } = render(_jsx(Paragraph, { ref: ref }));
59
- const paragraph = container.querySelector(':only-child');
60
- expect(ref.current).toBe(paragraph);
61
- });
62
- });
@@ -1,5 +0,0 @@
1
- /**
2
- * @license EUPL-1.2+
3
- * Copyright Gemeente Amsterdam
4
- */
5
- import '@testing-library/jest-dom';
@@ -1,89 +0,0 @@
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 { render, screen } from '@testing-library/react';
7
- import userEvent from '@testing-library/user-event';
8
- import { createRef, useState } from 'react';
9
- import { Label } from '../Label';
10
- import { PasswordInput } from './PasswordInput';
11
- import '@testing-library/jest-dom';
12
- describe('Password input', () => {
13
- it('renders', () => {
14
- const { container } = render(_jsx(PasswordInput, {}));
15
- const component = container.querySelector(':only-child');
16
- expect(component).toBeInTheDocument();
17
- expect(component).toBeVisible();
18
- });
19
- it('renders a design system BEM class name', () => {
20
- const { container } = render(_jsx(PasswordInput, {}));
21
- const component = container.querySelector(':only-child');
22
- expect(component).toHaveClass('ams-password-input');
23
- });
24
- it('renders an extra class name', () => {
25
- const { container } = render(_jsx(PasswordInput, { className: "extra" }));
26
- const component = container.querySelector(':only-child');
27
- expect(component).toHaveClass('ams-password-input extra');
28
- });
29
- it('renders two attributes for privacy', () => {
30
- const { container } = render(_jsx(PasswordInput, {}));
31
- const component = container.querySelector(':only-child');
32
- expect(component).toHaveAttribute('autocorrect', 'off');
33
- expect(component).toHaveAttribute('spellcheck', 'false');
34
- });
35
- it('should be working in a controlled state', async () => {
36
- function ControlledComponent() {
37
- const [value, setValue] = useState('Hello');
38
- return _jsx(PasswordInput, { onChange: (e) => setValue(e.target.value), value: value });
39
- }
40
- const { container } = render(_jsx(ControlledComponent, {}));
41
- const componentText = screen.getByDisplayValue('Hello');
42
- expect(componentText).toBeInTheDocument();
43
- const component = container.querySelector(':only-child');
44
- if (component) {
45
- await userEvent.type(component, ', World!');
46
- }
47
- const newComponentText = screen.getByDisplayValue('Hello, World!');
48
- expect(newComponentText).toBeInTheDocument();
49
- });
50
- it('should not update the value when disabled', async () => {
51
- const { container } = render(_jsx(PasswordInput, { defaultValue: "Hello", disabled: true }));
52
- const component = container.querySelector(':only-child');
53
- if (component) {
54
- await userEvent.type(component, ', World!');
55
- }
56
- expect(component).toHaveValue('Hello');
57
- });
58
- it('supports ForwardRef in React', () => {
59
- const ref = createRef();
60
- const { container } = render(_jsx(PasswordInput, { ref: ref }));
61
- const component = container.querySelector(':only-child');
62
- expect(ref.current).toBe(component);
63
- });
64
- describe('Invalid state', () => {
65
- it('is not invalid by default', () => {
66
- const { container } = render(_jsx(PasswordInput, {}));
67
- const component = container.querySelector(':only-child');
68
- expect(component).not.toBeInvalid();
69
- });
70
- it('can have an invalid state', () => {
71
- const { container } = render(_jsx(PasswordInput, { invalid: true }));
72
- const component = container.querySelector(':only-child');
73
- expect(component).toHaveAttribute('aria-invalid');
74
- expect(component).toBeInvalid();
75
- });
76
- it('omits non-essential invalid attributes when not invalid', () => {
77
- const { container } = render(_jsx(PasswordInput, { invalid: false }));
78
- const component = container.querySelector(':only-child');
79
- expect(component).not.toHaveAttribute('aria-invalid');
80
- });
81
- });
82
- describe('Type', () => {
83
- it('sets the ‘password’ type', () => {
84
- render(_jsxs(_Fragment, { children: [_jsx(Label, { htmlFor: "password-field", children: "Password" }), _jsx(PasswordInput, { id: "password-field" })] }));
85
- const component = screen.getByLabelText(/password/i);
86
- expect(component).toHaveAttribute('type', 'password');
87
- });
88
- });
89
- });
@@ -1,5 +0,0 @@
1
- /**
2
- * @license EUPL-1.2+
3
- * Copyright Gemeente Amsterdam
4
- */
5
- import '@testing-library/jest-dom';