@amsterdam/design-system-css 0.2.0 → 0.4.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 (130) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +2 -1
  4. package/dist/alert/alert.css +1 -1
  5. package/dist/alert/alert.css.map +1 -1
  6. package/dist/badge/badge.css +1 -0
  7. package/dist/badge/badge.css.map +1 -0
  8. package/dist/breadcrumb/breadcrumb.css +1 -1
  9. package/dist/breadcrumb/breadcrumb.css.map +1 -1
  10. package/dist/checkbox/checkbox.css +1 -1
  11. package/dist/checkbox/checkbox.css.map +1 -1
  12. package/dist/dialog/dialog.css +1 -1
  13. package/dist/dialog/dialog.css.map +1 -1
  14. package/dist/grid/grid.css +1 -1
  15. package/dist/grid/grid.css.map +1 -1
  16. package/dist/header/header.css +1 -0
  17. package/dist/header/header.css.map +1 -0
  18. package/dist/heading/heading.css +1 -1
  19. package/dist/heading/heading.css.map +1 -1
  20. package/dist/icon/icon.css +1 -1
  21. package/dist/icon/icon.css.map +1 -1
  22. package/dist/icon-button/icon-button.css +1 -0
  23. package/dist/icon-button/icon-button.css.map +1 -0
  24. package/dist/image/image.css +1 -1
  25. package/dist/image/image.css.map +1 -1
  26. package/dist/index.css +1 -1
  27. package/dist/index.css.map +1 -1
  28. package/dist/link-list/link-list.css +1 -0
  29. package/dist/link-list/link-list.css.map +1 -0
  30. package/dist/logo/logo.css +1 -1
  31. package/dist/logo/logo.css.map +1 -1
  32. package/dist/mark/mark.css +1 -0
  33. package/dist/mark/mark.css.map +1 -0
  34. package/dist/mega-menu/mega-menu.css +1 -0
  35. package/dist/mega-menu/mega-menu.css.map +1 -0
  36. package/dist/overlap/overlap.css +1 -0
  37. package/dist/overlap/overlap.css.map +1 -0
  38. package/dist/page-menu/page-menu.css +1 -1
  39. package/dist/page-menu/page-menu.css.map +1 -1
  40. package/dist/search-field/search-field.css +1 -0
  41. package/dist/search-field/search-field.css.map +1 -0
  42. package/dist/skip-link/skip-link.css +1 -0
  43. package/dist/skip-link/skip-link.css.map +1 -0
  44. package/dist/spotlight/spotlight.css +1 -0
  45. package/dist/spotlight/spotlight.css.map +1 -0
  46. package/dist/table/table.css +1 -0
  47. package/dist/table/table.css.map +1 -0
  48. package/dist/text-input/text-input.css +1 -0
  49. package/dist/text-input/text-input.css.map +1 -0
  50. package/dist/visually-hidden/visually-hidden.css +1 -1
  51. package/dist/visually-hidden/visually-hidden.css.map +1 -1
  52. package/documentation/coding-conventions.md +4 -2
  53. package/package.json +5 -5
  54. package/src/components/accordion/README.md +45 -38
  55. package/src/components/alert/README.md +15 -11
  56. package/src/components/alert/alert.scss +8 -38
  57. package/src/components/aspect-ratio/README.md +12 -12
  58. package/src/components/badge/README.md +10 -0
  59. package/src/components/badge/badge.scss +58 -0
  60. package/src/components/blockquote/README.md +8 -8
  61. package/src/components/breadcrumb/README.md +10 -7
  62. package/src/components/breadcrumb/breadcrumb.scss +6 -15
  63. package/src/components/button/README.md +17 -14
  64. package/src/components/card/README.md +18 -6
  65. package/src/components/checkbox/README.md +19 -18
  66. package/src/components/checkbox/checkbox.scss +3 -3
  67. package/src/components/dialog/README.md +9 -8
  68. package/src/components/dialog/dialog.scss +0 -17
  69. package/src/components/footer/README.md +11 -7
  70. package/src/components/form-label/README.md +5 -1
  71. package/src/components/grid/README.md +20 -0
  72. package/src/components/grid/grid.scss +44 -0
  73. package/src/components/header/README.md +14 -0
  74. package/src/components/header/header.scss +85 -0
  75. package/src/components/heading/README.md +14 -11
  76. package/src/components/heading/heading.scss +20 -0
  77. package/src/components/icon/README.md +19 -9
  78. package/src/components/icon/icon.scss +5 -18
  79. package/src/components/icon-button/README.md +14 -0
  80. package/src/components/icon-button/icon-button.scss +60 -0
  81. package/src/components/image/README.md +16 -12
  82. package/src/components/image/image.scss +4 -0
  83. package/src/components/index.scss +12 -2
  84. package/src/components/link/README.md +26 -24
  85. package/src/components/link-list/README.md +16 -0
  86. package/src/components/link-list/link-list.scss +80 -0
  87. package/src/components/logo/README.md +21 -20
  88. package/src/components/logo/logo.scss +1 -0
  89. package/src/components/mark/README.md +17 -0
  90. package/src/components/mark/mark.scss +8 -0
  91. package/src/components/mega-menu/README.md +1 -0
  92. package/src/components/mega-menu/mega-menu.scss +14 -0
  93. package/src/components/ordered-list/README.md +5 -5
  94. package/src/components/overlap/README.md +3 -0
  95. package/src/components/overlap/overlap.scss +12 -0
  96. package/src/components/page-heading/README.md +10 -9
  97. package/src/components/page-menu/README.md +10 -9
  98. package/src/components/page-menu/page-menu.scss +2 -18
  99. package/src/components/pagination/README.md +13 -10
  100. package/src/components/paragraph/README.md +16 -14
  101. package/src/components/screen/README.md +12 -12
  102. package/src/components/search-field/README.md +33 -0
  103. package/src/components/search-field/search-field.scss +73 -0
  104. package/src/components/skip-link/README.md +26 -0
  105. package/src/components/skip-link/skip-link.scss +28 -0
  106. package/src/components/spotlight/README.md +15 -0
  107. package/src/components/spotlight/spotlight.scss +36 -0
  108. package/src/components/switch/README.md +11 -9
  109. package/src/components/table/README.md +11 -0
  110. package/src/components/table/table.scss +36 -0
  111. package/src/components/text-input/README.md +14 -0
  112. package/src/components/text-input/text-input.scss +57 -0
  113. package/src/components/top-task-link/README.md +15 -14
  114. package/src/components/unordered-list/README.md +5 -5
  115. package/src/components/visually-hidden/README.md +3 -2
  116. package/src/components/visually-hidden/visually-hidden.scss +4 -6
  117. package/dist/grid/grid-cell.css +0 -1
  118. package/dist/grid/grid-cell.css.map +0 -1
  119. package/dist/highlight/highlight.css +0 -1
  120. package/dist/highlight/highlight.css.map +0 -1
  121. package/src/components/button/button-css.md +0 -12
  122. package/src/components/checkbox/checkbox-css.md +0 -3
  123. package/src/components/footer/footer-css.md +0 -11
  124. package/src/components/grid/README.grid-cell.md +0 -14
  125. package/src/components/grid/README.grid.md +0 -17
  126. package/src/components/grid/grid-cell.scss +0 -46
  127. package/src/components/heading/heading-css.md +0 -3
  128. package/src/components/highlight/README.md +0 -15
  129. package/src/components/highlight/highlight.scss +0 -36
  130. package/src/components/paragraph/paragraph-css.md +0 -3
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.2.0",
2
+ "version": "0.4.0",
3
3
  "author": "Community for NL Design System",
4
4
  "description": "CSS files for components for the City of Amsterdam based on the NL Design System architecture",
5
5
  "license": "EUPL-1.2",
@@ -19,11 +19,11 @@
19
19
  "clean": "rimraf dist/"
20
20
  },
21
21
  "devDependencies": {
22
- "@amsterdam/design-system-tokens": "0.2.0",
23
- "sass": "1.69.5"
22
+ "@amsterdam/design-system-tokens": "0.4.0",
23
+ "sass": "1.70.0"
24
24
  },
25
25
  "dependencies": {
26
- "@utrecht/components": "2.0.0"
26
+ "@utrecht/components": "3.0.0"
27
27
  },
28
- "gitHead": "de071558a849af9c0f7b1a442b255a1a42d78f2f"
28
+ "gitHead": "3bc9765e9de9553db5b643d2ed79735837d4d7b6"
29
29
  }
@@ -1,42 +1,49 @@
1
1
  # Accordion
2
2
 
3
- Het accordion component is een klikbare (verticaal gestapelde) lijst van koppen om bijbehorende inhoud te verbergen of te tonen. Met een accordion toon je inhoud op een progressieve manier aan gebruikers.
4
-
5
- ## Richtlijnen
6
-
7
- - Gebruik een accordion op een volle pagina met zowel essentiële als niet-essentiële inhoud. Door niet-essentiële inhoud te verbergen, komen gebruikers sneller bij de essentiële inhoud.
8
- - Gebruik een accordion niet om te veel essentiële inhoud op 1 pagina te voorkomen. Herschrijf de pagina compacter, verdeel de inhoud over meerdere pagina's of gebruik het (nog te maken) inhoudsopgave-component in plaats van een accordion voor dat doel. Verberg essentiële informatie niet in een accordion.
9
- - Een accordion bestaat uit meerdere accordionsecties. Gebruik minimaal 3 en maximaal 10 secties onder elkaar.
10
- - Het is belangrijk dat accordionsecties duidelijke koppen hebben, omdat de gebruiker de verborgen inhoud niet kan "scannen" om relevante informatie te vinden.
11
- - De inhoud verbergen heeft als nadeel dat "zoeken in pagina" geen resultaten oplevert voor de inhoud die verborgen is. Als je weet op welke zoekterm de gebruiker heeft gezocht om op de pagina met accordion te komen, dan kun je de secties die de zoekterm bevatten automatisch uitklappen.
12
- - De inhoud van de accordeon kan opmaak bevatten (bijvoorbeeld headings, lijsten, links en knoppen).
13
-
14
- Je kunt door een accordion navigeren met je toetsenbord:
15
-
16
- | key | element |
17
- | :------------------- | :--------------------------------------------------------------------------------------------------------------------------- |
18
- | Enter of Space | Open of sluit de accordionsectie die de focus heeft |
19
- | Tab | Ga naar het volgende element dat focus kan hebben |
20
- | Shift + Tab | Ga naar het volgende element dat focus kan hebben |
21
- | Pijltje naar beneden | Als een accordionsectie focus heeft: ga naar de volgende sectie. Als de laatste sectie focus heeft, ga naar de eerste sectie |
22
- | Pijltje omhoog | Als een accordionsectie focus heeft: ga naar de vorige sectie. Als de eerste sectie focus heeft, ga naar de laatste sectie |
23
- | Home | Als een accordionsectie focus heeft: ga naar de eerste sectie |
24
- | End | Als een accordionsectie focus heeft: ga naar de laatste sectie |
25
-
26
- ## Relevante WCAG eisen
27
-
28
- De WCAG eisen voor het Button component en het Heading component gelden ook voor de accordion header.
29
-
30
- Let extra op voor deze onderdelen:
31
-
32
- - [WCAG eis 1.3.1](https://www.w3.org/TR/WCAG21/#info-and-relationships): de _heading level_ van de accordionsecties is afhankelijk van waar in de pagina de accordion is geplaatst, dit kan per pagina verschillen.
33
- - [WCAG eis 1.3.6](https://www.w3.org/TR/WCAG21/#identify-purpose): gebruik `aria-controls` voor de button, en gebruik een `region` landmark voor de _expandable region_ (gebruik daarvoor het HTML-element `<section>`)
34
- - [WCAG eis 1.4.3](https://www.w3.org/TR/WCAG21/#contrast-minimum): contrast tussen tekst en achtergrond en tussen icoon en achtergrond is voldoende in alle varianten, alle interactieve statussen en alle mogelijke combinaties.
35
- - [WCAG eis 3.2.1](https://www.w3.org/TR/WCAG21/#on-focus): maak de accordion niet automatisch _expanded_ als de button focus krijgt.
36
- - [WCAG eis 2.1.3](https://www.w3.org/TR/WCAG21/#keyboard-no-exception): ondersteun ook de optionele toetsen: `Down Arrow`, `Up Arrow`, `Home` en `End`. `Space` moet de button activeren, niet de pagina scrollen (gebruik `keypressEvt.preventDefault()`).
37
- - [WCAG eis 2.4.6](https://www.w3.org/TR/WCAG21/#headings-and-labels): de tekst die zowel wordt gebruikt als heading en als label voor de button moet duidelijk zijn, omdat de inhoud niet altijd zichtbaar is.
38
- - [WCAG eis 2.4.10](https://www.w3.org/TR/WCAG21/#section-headings): accordions die onderdeel vormen van de lopende tekst moeten section headings gebruiken.
39
-
40
- ## Referenties
3
+ The accordion component is a clickable (vertically stacked) list of headings to hide or show associated content.
4
+ With an accordion, you offer content to users progressively.
5
+
6
+ ## Guidelines
7
+
8
+ - Use an accordion on a full page with essential and non-essential content.
9
+ - Hiding non-essential content helps users get to important content more quickly.
10
+ - Avoid using an accordion to avoid too much essential content on 1 page.
11
+ - Rewrite the page more compactly or divide the content over multiple pages instead of using the accordion in the first place.
12
+ - Don’t hide essential information in an accordion.
13
+ - An accordion consists of several accordion sections.
14
+ - Use a minimum of 3 and a maximum of 10 sections underneath each other.
15
+ - It is essential for accordion sections to have clear headings, as the user cannot "scan" the hidden content to find relevant information.
16
+ - Hiding the content has the disadvantage that "search in page" does not yield any hidden content results.
17
+ - If you know the search term the user used to get to the accordion page, you can automatically expand the sections that contain the search term.
18
+ - The accordion’s content may contain formatting (e.g. headings, lists, links and buttons).
19
+
20
+ You can navigate an accordion with your keyboard:
21
+
22
+ | key | element |
23
+ | :------------- | :-------------------------------------------------------------------------------------------------------------------- |
24
+ | Enter or Space | Open or close the accordion section that has the focus |
25
+ | Tab | Go to the next element that can have focus |
26
+ | Shift + Tab | Go to the next element that can have focus |
27
+ | Down arrow | If an accordion section has focus, go to the next section; if the last section has focus, go to the first section |
28
+ | Up arrow | If an accordion section has focus, go to the previous section; if the first section has focus, go to the last section |
29
+ | Home | If an accordion section has focus: go to the first section |
30
+ | End | If an accordion section has focus, go to the last section |
31
+
32
+ ## Relevant WCAG requirements
33
+
34
+ The WCAG requirements for the Button and Heading components also apply to the accordion header.
35
+
36
+ Pay extra attention to these parts:
37
+
38
+ - [WCAG requirement 1.3.1](https://www.w3.org/TR/WCAG21/#info-and-relationships): the heading level of the accordion sections depends on where in the page the accordion is placed, this may differ per page.
39
+ - [WCAG requirement 1.3.6](https://www.w3.org/TR/WCAG21/#identify-purpose): use `aria-controls` for the button, and use a `region` landmark for the expandable region (use the HTML element `<section>` for this)
40
+ - [WCAG requirement 1.4.3](https://www.w3.org/TR/WCAG21/#contrast-minimum): contrast between text and background and between icon and background is sufficient in all variants, all interactive statuses and all possible combinations.
41
+ - [WCAG requirement 3.2.1](https://www.w3.org/TR/WCAG21/#on-focus): do not automatically make the accordion expanded when the button gets focus.
42
+ - [WCAG requirement 2.1.3](https://www.w3.org/TR/WCAG21/#keyboard-no-exception): Support the optional keys: `Down Arrow`, `Up Arrow`, `Home` and `End`.
43
+ - `Space` should activate the button, not scroll the page (use `keypressEvt.preventDefault()`).
44
+ - [WCAG requirement 2.4.6](https://www.w3.org/TR/WCAG21/#headings-and-labels): The text used both as a heading and as a label for the button must be clear because the content is not always visible.
45
+ - [WCAG requirement 2.4.10](https://www.w3.org/TR/WCAG21/#section-headings): accordions that are part of the running text must use section headings.
46
+
47
+ ## References
41
48
 
42
49
  - [W3C - Accordion Pattern](https://www.w3.org/WAI/ARIA/apg/patterns/accordion/)
@@ -1,18 +1,22 @@
1
1
  # Alert
2
2
 
3
- Met een Alert breng je de gebruiker op de hoogte van een belangrijke of tijdgevoelige boodschap. De taak van de gebruiker wordt niet onderbroken.
3
+ An Alert informs the user of a significant or time-sensitive message without interrupting their task.
4
4
 
5
- ## Specificaties
5
+ ## Specifications
6
6
 
7
- ### Kleurdefinities
7
+ There are four types of notifications:
8
8
 
9
- - Geel: informatie
10
- - Rood: fout
11
- - Groen: goed
9
+ - **Warning** (orange) when action is needed to prevent damage.
10
+ - **Error** (red) indicates an error has occurred.
11
+ - **Confirmation** (green) to reassure that a process is complete.
12
+ - **Notification** (blue) to bring attention to a message.
12
13
 
13
- ## Richtlijnen
14
+ ## Guidelines
14
15
 
15
- - Standaard heeft het element geen sluiten knop. Optioneel kan deze toegevoegd worden.
16
- - Optioneel kan een icoon worden weggelaten. Een geel Alert heeft nooit een icoon.
17
- - Optioneel kan een titel worden weggelaten.
18
- - Aangeraden wordt om een Alert in ieder geval van een paragraaf text te voorzien en deze eventueel te ondersteunen met een link, opsomming of knop.
16
+ - Place an orange Alert directly below the Header for important and urgent information.
17
+ Examples: system outage or changes in the opening hours of a City Office.
18
+ - Ensure sufficient whitespace around the Alert.
19
+ The grid’s whitespace is a good reference place the Alert in its own cell.
20
+ - By default, the Alert cannot be closed.
21
+ This functionality can be added optionally.
22
+ - Optionally, the title can be omitted.
@@ -5,8 +5,8 @@
5
5
 
6
6
  .amsterdam-alert {
7
7
  align-items: flex-start;
8
- background-color: var(--amsterdam-alert-background-color);
9
- border: var(--amsterdam-alert-border);
8
+ border-style: var(--amsterdam-alert-border-style);
9
+ border-width: var(--amsterdam-alert-border-width);
10
10
  display: flex;
11
11
  flex-direction: row;
12
12
  gap: var(--amsterdam-alert-gap);
@@ -21,48 +21,18 @@
21
21
  flex: auto;
22
22
  }
23
23
 
24
- @mixin reset {
25
- -webkit-text-size-adjust: 100%;
26
- }
27
-
28
- .amsterdam-alert__title {
29
- color: var(--amsterdam-alert-title-color);
30
- font-family: var(--amsterdam-alert-title-font-family);
31
- font-size: var(--amsterdam-alert-title-spacious-font-size);
32
- font-weight: var(--amsterdam-alert-title-font-weight);
33
- line-height: var(--amsterdam-alert-title-spacious-line-height);
34
-
35
- .amsterdam-theme--compact & {
36
- font-size: var(--amsterdam-alert-title-compact-font-size);
37
- line-height: var(--amsterdam-alert-title-compact-line-height);
38
- }
39
-
40
- @include reset;
41
- }
42
-
43
24
  .amsterdam-alert--error {
44
- background-color: var(--amsterdam-alert-error-background-color);
45
25
  border-color: var(--amsterdam-alert-error-border-color);
46
26
  }
47
27
 
48
- .amsterdam-alert--success {
49
- background-color: var(--amsterdam-alert-success-background-color);
50
- border-color: var(--amsterdam-alert-success-border-color);
51
- }
52
-
53
- /* todo: move to action button component */
54
- .amsterdam-alert__close {
55
- background-color: var(--amsterdam-alert-close-background-color);
56
- border: 0;
57
- cursor: pointer;
58
- padding-block: 0;
59
- padding-inline: 0;
28
+ .amsterdam-alert--info {
29
+ border-color: var(--amsterdam-alert-info-border-color);
60
30
  }
61
31
 
62
- .amsterdam-alert__close svg {
63
- fill: var(--amsterdam-alert-close-fill);
32
+ .amsterdam-alert--success {
33
+ border-color: var(--amsterdam-alert-success-border-color);
64
34
  }
65
35
 
66
- .amsterdam-alert__close:hover svg {
67
- fill: var(--amsterdam-alert-close-hover-fill);
36
+ .amsterdam-alert--warning {
37
+ border-color: var(--amsterdam-alert-warning-border-color);
68
38
  }
@@ -1,18 +1,18 @@
1
1
  # Aspect Ratio
2
2
 
3
- Aspect Ratio (in het Nederlands: beeldverhouding) koppelt de hoogte van een element aan de breedte.
3
+ Aspect Ratio updates the height of an element with its width.
4
4
 
5
- Om de vormgeving consistent te houden gebruiken we een vaste set verhoudingen (breedte:hoogte):
5
+ These are the proportions we use:
6
6
 
7
- | _keyword_ | verhouding |
8
- | :-------- | ---------: |
9
- | `2x-wide` | 32:9 |
10
- | `x-wide` | 16:9 |
11
- | `wide` | 5:4 |
12
- | `square` | 1:1 |
13
- | `tall` | 4:5 |
14
- | `x-tall` | 9:16 |
7
+ | keyword | ratio |
8
+ | :-------- | ----: |
9
+ | `2x-wide` | 32:9 |
10
+ | `x-wide` | 16:9 |
11
+ | `wide` | 5:4 |
12
+ | `square` | 1:1 |
13
+ | `tall` | 4:5 |
14
+ | `x-tall` | 9:16 |
15
15
 
16
- ## Richtlijnen
16
+ ## Guidelines
17
17
 
18
- - Gebruik dit component om plaatjes, videos en andere elementen een vaste beeldverhouding te geven, zodat ze consistent schalen.
18
+ - Use this component to constrain images, videos and other elements to one of the available aspect ratios.
@@ -0,0 +1,10 @@
1
+ # Badge
2
+
3
+ A prominently coloured box containing 1 or 2 words.
4
+ Guides the user in taking a specific action or describes its surrounding content.
5
+
6
+ ## Design
7
+
8
+ The badge can contain a short text or a number.
9
+ The default background colour is dark green.
10
+ Suggestions on when to use the other colours will follow soon.
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright (c) 2024 Gemeente Amsterdam
4
+ */
5
+
6
+ .amsterdam-badge {
7
+ display: inline-block;
8
+ font-family: var(--amsterdam-badge-font-family);
9
+ font-size: var(--amsterdam-badge-spacious-font-size);
10
+ font-weight: var(--amsterdam-badge-font-weight);
11
+ line-height: var(--amsterdam-badge-spacious-line-height);
12
+ padding-inline: var(--amsterdam-badge-padding-inline);
13
+
14
+ .amsterdam-theme--compact & {
15
+ font-size: var(--amsterdam-badge-compact-font-size);
16
+ line-height: var(--amsterdam-badge-compact-line-height);
17
+ }
18
+ }
19
+
20
+ .amsterdam-badge--blue {
21
+ background-color: var(--amsterdam-badge-blue-background-color);
22
+ color: var(--amsterdam-badge-blue-color);
23
+ }
24
+
25
+ .amsterdam-badge--dark-blue {
26
+ background-color: var(--amsterdam-badge-dark-blue-background-color);
27
+ color: var(--amsterdam-badge-dark-blue-color);
28
+ }
29
+
30
+ .amsterdam-badge--dark-green {
31
+ background-color: var(--amsterdam-badge-dark-green-background-color);
32
+ color: var(--amsterdam-badge-dark-green-color);
33
+ }
34
+
35
+ .amsterdam-badge--green {
36
+ background-color: var(--amsterdam-badge-green-background-color);
37
+ color: var(--amsterdam-badge-green-color);
38
+ }
39
+
40
+ .amsterdam-badge--magenta {
41
+ background-color: var(--amsterdam-badge-magenta-background-color);
42
+ color: var(--amsterdam-badge-magenta-color);
43
+ }
44
+
45
+ .amsterdam-badge--orange {
46
+ background-color: var(--amsterdam-badge-orange-background-color);
47
+ color: var(--amsterdam-badge-orange-color);
48
+ }
49
+
50
+ .amsterdam-badge--purple {
51
+ background-color: var(--amsterdam-badge-purple-background-color);
52
+ color: var(--amsterdam-badge-purple-color);
53
+ }
54
+
55
+ .amsterdam-badge--yellow {
56
+ background-color: var(--amsterdam-badge-yellow-background-color);
57
+ color: var(--amsterdam-badge-yellow-color);
58
+ }
@@ -1,14 +1,14 @@
1
1
  # Blockquote
2
2
 
3
- De blockquote (in het Nederlands: citaat) wordt gebruikt om uitspraken te accentueren. Een citaat is anders vormgegeven dan de broodtekst, zodat deze opvalt.
3
+ We use blockquotes to emphasize citations.
4
+ A quote appears differently from the main text to make it stand out.
4
5
 
5
- Let op: dit component voegt automatisch aanhalingstekens aan de tekst toe, dat hoef je niet zelf te doen.
6
+ ## Guidelines
6
7
 
7
- ## Richtlijnen
8
+ - Quote someone’s literal written or oral text.
9
+ - A quote has a width of half or a whole column of text.
10
+ - The component adds the correct quotation marks.
8
11
 
9
- - Bij een citaat haal je letterlijk een schriftelijke of mondelinge tekst van iemand aan.
10
- - Een citaat heeft een breedte van een halve of hele tekstkolom.
12
+ ## Relevant WCAG requirements
11
13
 
12
- ## Relevante WCAG eisen
13
-
14
- - [WCAG 3.1.2](https://www.w3.org/WAI/WCAG21/Understanding/language-of-parts.html): wanneer het citaat in een andere taal is geschreven dan de pagina, dan moet het `lang` attribuut gebruikt worden om de taal duidelijk te maken.
14
+ - [WCAG 3.1.2](https://www.w3.org/WAI/WCAG21/Understanding/language-of-parts.html): if the citation is in a language other than that of the surrounding content, indicate so through the `lang` attribute.
@@ -1,15 +1,18 @@
1
1
  # Breadcrumb
2
2
 
3
- De breadcrumb (in het Nederlands: kruimelpad) is een secundair navigatiepatroon dat een gebruiker helpt de structuur tussen niveaus in de website tot de huidige pagina te begrijpen. Gebruikers kunnen het gebruiken om door de structuur te navigeren.
3
+ The breadcrumb is a secondary navigation pattern that helps a user understand the structure between levels in the website up to the current page.
4
+ Users can use it to navigate.
4
5
 
5
- ## Richtlijnen
6
+ ## Guidelines
6
7
 
7
- ### Zo gebruiken
8
+ ### Use like this
8
9
 
9
- Gebruik het kruimelpad alleen als het functioneel iets toevoegt voor de gebruiker en als de structuurstatisch’ is.
10
+ Only use the breadcrumb trail if it adds something functional for the user and the structure is static’.
10
11
 
11
- ### Dit vermijden
12
+ ### Avoid this
12
13
 
13
- Het kruimelpad wordt niet ingezet op een formulierpagina. Het leidt af van de taak van de gebruiker of kan per ongeluk als Progress Indicator gezien worden.
14
+ Do not display the breadcrumb trail on a form page.
15
+ It distracts the user from their task, or one can accidentally interpret it as a Progress Indicator.
14
16
 
15
- Het is een secundair navigatiepatroon. Het mag nooit de hoofdnavigatie vervangen.
17
+ It is a secondary navigation pattern.
18
+ It can’t replace the main navigation.
@@ -25,27 +25,22 @@
25
25
  .amsterdam-breadcrumb__list {
26
26
  break-after: avoid;
27
27
  break-inside: avoid;
28
- display: flex;
29
- flex-wrap: wrap;
30
- gap: 0.5rem;
31
- list-style: none;
32
28
 
33
29
  @include reset;
34
30
  }
35
31
 
36
32
  .amsterdam-breadcrumb__item {
37
- align-items: center;
38
- display: flex;
33
+ display: inline;
39
34
  }
40
35
 
41
36
  .amsterdam-breadcrumb__item:not(:last-child)::after {
42
- background-color: var(--amsterdam-breadcrumb-separator-background-color);
43
- clip-path: path("M 4.725,16 3.275,14.545 9.815,8 3.275,1.455 4.725,0 l 8,8 z");
37
+ background-image: var(--amsterdam-breadcrumb-separator-background-image);
38
+ background-repeat: no-repeat;
44
39
  content: "";
45
40
  display: inline-block;
46
- height: 1rem;
47
- margin-inline-start: 1rem;
48
- width: 1rem;
41
+ height: 1ex;
42
+ margin-inline: 0.5rem;
43
+ width: 1ex;
49
44
  }
50
45
 
51
46
  .amsterdam-breadcrumb__link {
@@ -55,10 +50,6 @@
55
50
  text-decoration-thickness: var(--amsterdam-breadcrumb-item-link-text-decoration-thickness);
56
51
  text-underline-offset: var(--amsterdam-breadcrumb-item-link-text-underline-offset);
57
52
 
58
- &::first-letter {
59
- text-transform: capitalize;
60
- }
61
-
62
53
  &:hover {
63
54
  color: var(--amsterdam-breadcrumb-item-link-hover-color);
64
55
  text-decoration-line: var(--amsterdam-breadcrumb-item-link-hover-text-decoration-line);
@@ -1,24 +1,27 @@
1
1
  # Button
2
2
 
3
- De button gebruik je zodat de gebruiker acties kan uit te voeren en de user interface kan bedienen.
3
+ Allows the user to perform actions and operate the user interface.
4
4
 
5
- ## Richtlijnen
5
+ ## Guidelines
6
6
 
7
- - Een label tekst die beschrijft wat de functie van de button is.
8
- - Een duidelijke constrasterende kleurstelling zodat deze goed te herkennen is en snel te lokaliseren valt.
9
- - Gebruik het juiste type button voor de daarbijhorende toepassing. Bijvoorbeeld een button binnen een formulier moet altijd het het type `submit` zijn.
10
- - Zorg dat een button ook met een keyboard te bedienen is.
7
+ - A label text that describes the function of the button.
8
+ - A clear contrasting colour scheme so that it is easy to recognize and quickly locate.
9
+ - Use the correct type of button for the corresponding application.
10
+ For example, a button within a form must always be of the type `submit`.
11
+ - Make sure one can operate a button through a keyboard.
11
12
 
12
- ## Relevante WCAG eisen
13
+ ## Relevant WCAG requirements
13
14
 
14
- - [WCAG eis 2.1.3](https://www.w3.org/TR/WCAG21/#keyboard-no-exception): je kan de button activeren met `Enter` of `Space`, en het is mogelijk met `Tab` de button te focussen. `Space` gebruiken heeft dan niet het effect dat de pagina scrollt.
15
- - [WCAG eis 2.4.6](https://www.w3.org/TR/WCAG21/#headings-and-labels): de label van de button moet duidelijk zijn
16
- - [WCAG eis 2.5.2](https://www.w3.org/TR/WCAG21/#pointer-cancellation):
17
- - gebruik niet de `mousedown` event om de button te activeren, gebruik liever de `click` event
18
- - `mousedown` mag alleen gebruikt worden als `mouseup` het effect weer ongedaan maakt, bijvoorbeeld een "_fast foward_" button om audio of video door te spoelen.
19
- - [WCAG eis 2.5.5](https://www.w3.org/TR/WCAG21/#target-size): de button moet groot genoeg zijn om aan te klikken, en kleine buttons moeten niet te dicht op een andere button staan.
15
+ - [WCAG requirement 2.1.3](https://www.w3.org/TR/WCAG21/#keyboard-no-exception):
16
+ You can activate the button with `Enter` or `Space`, and it is possible with ‘Tab’ the button to focus.
17
+ Using `Space` does not result in scrolling the page.
18
+ - [WCAG requirement 2.4.6](https://www.w3.org/TR/WCAG21/#headings-and-labels): the label of the button must be clear
19
+ - [WCAG requirement 2.5.2](https://www.w3.org/TR/WCAG21/#pointer-cancellation):
20
+ - do not use the `mousedown` event to activate the button, instead use the `click` event
21
+ - `mousedown` may only be used if `mouseup` undoes the effect, for example, a “fast forward” button to fast-forward audio or video.
22
+ - [WCAG requirement 2.5.5](https://www.w3.org/TR/WCAG21/#target-size): The button must be large enough to click, and small buttons should not be too close to another button.
20
23
 
21
- ## Referenties
24
+ ## References
22
25
 
23
26
  - [W3C - Focus Visible](https://www.w3.org/WAI/WCAG21/Understanding/focus-visible.html)
24
27
  - [W3C - Headings & labels](https://www.w3.org/TR/WCAG21/#headings-and-labels)
@@ -1,12 +1,24 @@
1
1
  # Card
2
2
 
3
- Gebruik een card op een overzichtspagina om te verwijzen naar een detailpagina, zoals een nieuwsbericht, een vacature of een zoekresultaat. De card bevat meestal de titel, introductie en afbeelding van de content. De link is verplicht.
3
+ Use a card on an overview page to link to an article page, such as a news article, a job vacancy, or a search result.
4
+ The card typically includes the title, introduction, and an image of the content.
5
+ The link is mandatory.
4
6
 
5
- ## Schermlezers
7
+ ## Guidelines
6
8
 
7
- Met een schermlezer kun je onder andere navigeren via headings en links in een document. De titel van een card is een link in een heading, zodat je van beide navigatiemanieren gebruik kunt maken. Een schermlezer leest eerst de titel op, daarna de rest van de inhoud.
9
+ - The title of a card is a link within a heading.
10
+ The same guidelines as for regular [links](?path=/docs/react_navigation-link--docs) and [headings](?path=/docs/react_text-heading--docs) apply here.
11
+ The link is active across the entire area of the card.
12
+ - A card needs more content than just a title.
13
+ Supplement this with textual and/or visual content.
14
+ - Place the text in a regular paragraph.
15
+ Only use the smallest text size for a tagline or date.
16
+ - This component may not be the best option if the content does not represent a detailed page.
17
+ For referencing a thematic page, use a [top task link](?path=/docs/react_navigation-top-task-link--docs).
18
+ You can also use a [regular link](?path=/docs/react_navigation-link--docs).
8
19
 
9
- ## Richtlijnen
20
+ ## Screen Readers
10
21
 
11
- - De titel van een card is een link in een heading. Hier gelden dezelfde richtlijnen voor als voor reguliere [links](https://amsterdam.github.io/design-system/?path=/docs/react_navigation-link--docs) en [headings](https://amsterdam.github.io/design-system/?path=/docs/react_text-heading--docs).
12
- - Een card heeft meer inhoud nodig dan alleen een titel. Vul dit aan met tekstuele en/of visuele inhoud. Als dit lastig is, kijk dan of een [top task link](https://amsterdam.github.io/design-system/?path=/docs/react_navigation-top-task-link--docs) of [reguliere link](https://amsterdam.github.io/design-system/?path=/docs/react_navigation-link--docs) beter past.
22
+ With a screen reader, you can navigate using headings and links in a document.
23
+ The title of a card is a link within a heading, allowing you to utilize both navigation methods.
24
+ A screen reader reads the title first, followed by the rest of the content.
@@ -1,27 +1,28 @@
1
1
  # Checkbox
2
2
 
3
- De checkbox (in het Nederlands: selectievakje) wordt gebruikt om gebruikers een selectie te laten maken. Hij wordt ook gebruikt om gebruikers te laten weten dat ze akkoord gaan met specifieke voorwaarden.
3
+ Allows users to make a selection or agree to terms.
4
4
 
5
- ## Richtlijnen
5
+ ## Guidelines
6
6
 
7
- - Selectievakjes worden gebruikt voor 1 of meerdere keuzes die elkaar niet uitsluiten.
8
- - Elk selectievakje werkt onafhankelijk van andere selectievakjes in een lijst op hetzelfde hiërarchische niveau. Het aanvinken van een extra vakje heeft geen invloed op andere selecties in die lijst.
9
- - Je kunt een selectievakje wel gebruiken voor een bulkselectie of –deselectie van een hele lijst met selectievakjes, maar dan moet duidelijk zijn dat het bulkselectievakje op een ander hiërarchisch niveau zit dan de lijst die volledig wordt geselecteerd of gedeselecteerd.
10
- - Een groep selectievakjes kan worden gebruikt om gegevens op een pagina, in een menu of binnen een component te filteren.
11
- - Een selectievakje kan een antwoord op een gesloten vraag zijn, als er meerdere antwoorden mogelijk zijn.
12
- - Een lijst van selectievakjes is verticaal gestapeld om leesbaarheid en bruikbaarheid te bevorderen.
13
- - Een lijst van selectievakjes moet in een `fieldset` zitten, met een `legend` die beschrijft waar de lijst over gaat. Als de selectievakjes bijvoorbeeld worden gebruikt om antwoord op een vraag te krijgen, dan is de `legend` de vraag.
7
+ - Checkboxes are used for one or multiple choices that do not exclude each other.
8
+ - Each checkbox operates independently of other checkboxes in a list at the same hierarchical level.
9
+ Checking an additional checkbox does not affect other selections in that list.
10
+ - You can use a checkbox for bulk selection or deselection of an entire list of checkboxes.
11
+ Still, it should be clear that the bulk selection checkbox is at a different hierarchical level than the list being fully selected or deselected.
12
+ - Use a group of checkboxes to filter data on a page, in a menu, or within a component.
13
+ - A checkbox can answer a closed question if multiple answers are possible.
14
+ - A list of checkboxes is vertically stacked to enhance readability and usability.
15
+ - A list of checkboxes should be in a `fieldset` with a `legend` describing what the list is about.
16
+ For example, if the checkboxes are used to get answers to a question, the `legend` is the question.
14
17
 
15
- ## Checkbox labels
18
+ ## Checkbox Labels
16
19
 
17
- Een label:
20
+ A label starts with a capital letter.
21
+ It does not have punctuation at the end if it is a single sentence, word, or fragment.
22
+ It is written in the first person when asking the user to agree to the terms and conditions.
18
23
 
19
- - ... begint met een hoofdletter
20
- - ... heeft geen interpunctie aan het einde als het een enkele zin, woord of fragment is.
21
- - ... is in de eerste persoon geschreven als het gaat om de vraag of de gebruiker akkoord gaat met de algemene voorwaarden
24
+ ## Relevant WCAG Requirements
22
25
 
23
- ## Relevante WCAG eisen
26
+ - [WCAG 1.3.5](https://www.w3.org/WAI/WCAG21/Understanding/identify-input-purpose.html): It is clear for both users and programmatically what the purpose of a form field is.
24
27
 
25
- - [WCAG 1.3.5](https://www.w3.org/WAI/WCAG21/Understanding/identify-input-purpose.html): het is zowel voor een gebruiker als programmatisch duidelijk wat het doel van een formulierveld is.
26
-
27
- Checkbox is een interactief element, hier gelden [de algemene eisen en richtlijnen voor interactieve elementen](https://amsterdam.github.io/design-system/?path=/docs/docs-designrichtlijnen-interactieve-elementen--docs) voor.
28
+ Checkbox is an interactive element; therefore, [the general requirements and guidelines for interactive elements](https://amsterdam.github.io/design-system/?path=/docs/docs-designrichtlijnen-interactieve-elementen--docs) apply.
@@ -53,9 +53,9 @@
53
53
 
54
54
  &:hover {
55
55
  color: var(--amsterdam-checkbox-hover-color);
56
- text-decoration: underline;
57
- text-decoration-thickness: 2px;
58
- text-underline-offset: 3px;
56
+ text-decoration-line: underline;
57
+ text-decoration-thickness: 0.125rem;
58
+ text-underline-offset: 0.375rem;
59
59
 
60
60
  .amsterdam-checkbox__checkmark::after {
61
61
  border-color: var(--amsterdam-checkbox-checkmark-hover-border-color);
@@ -1,19 +1,20 @@
1
1
  # Dialog
2
2
 
3
- A Dialog allows the user to focus on one task or a piece of information, by popping-up and blocking the page content until the modal task is completed, or until the user dismisses the action.
3
+ A Dialog allows the user to focus on one task or a piece of information by popping up and blocking the page content until the modal task is completed or until the user dismisses the action.
4
4
 
5
5
  ## Guidelines
6
6
 
7
- - Use Dialog sparingly, because it interrupts the user's workflow.
8
- - Use Dialog for short and non-frequent tasks. For common tasks consider using the main flow.
7
+ - Use dialogs sparingly because they interrupt the users workflow.
8
+ - Use a dialog for short and non-frequent tasks.
9
+ Consider using the main flow for regular tasks.
9
10
 
10
11
  ## Keyboard Support
11
12
 
12
- | key | function |
13
- | :---------- | :----------------------------------------------------------- |
14
- | Tab | Moves focus to next focusable element inside the dialog. |
15
- | Shift + Tab | Moves focus to previous focusable element inside the dialog. |
16
- | Escape | Closes the dialog. |
13
+ | key | function |
14
+ | :---------- | :--------------------------------------------------------------- |
15
+ | Tab | Moves focus to the next focusable element inside the dialog. |
16
+ | Shift + Tab | Moves focus to the previous focusable element inside the dialog. |
17
+ | Escape | Closes the dialog. |
17
18
 
18
19
  ## References
19
20