@amsterdam/design-system-css 0.1.6 → 0.1.8

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 (148) hide show
  1. package/dist/accordion/accordion.css +1 -1
  2. package/dist/accordion/accordion.css.map +1 -1
  3. package/dist/alert/alert.css +1 -0
  4. package/dist/alert/alert.css.map +1 -0
  5. package/dist/aspect-ratio/aspect-ratio.css +1 -30
  6. package/dist/aspect-ratio/aspect-ratio.css.map +1 -1
  7. package/dist/blockquote/blockquote.css +1 -1
  8. package/dist/blockquote/blockquote.css.map +1 -1
  9. package/dist/breadcrumb/breadcrumb.css +1 -1
  10. package/dist/breadcrumb/breadcrumb.css.map +1 -1
  11. package/dist/button/button.css +1 -1
  12. package/dist/button/button.css.map +1 -1
  13. package/dist/card/card.css +1 -56
  14. package/dist/card/card.css.map +1 -1
  15. package/dist/checkbox/checkbox.css +1 -1
  16. package/dist/checkbox/checkbox.css.map +1 -1
  17. package/dist/footer/footer.css +1 -1
  18. package/dist/footer/footer.css.map +1 -1
  19. package/dist/form-label/form-label.css +1 -1
  20. package/dist/form-label/form-label.css.map +1 -1
  21. package/dist/grid/grid-cell.css +1 -1
  22. package/dist/grid/grid-cell.css.map +1 -1
  23. package/dist/grid/grid.css +1 -0
  24. package/dist/grid/grid.css.map +1 -0
  25. package/dist/heading/heading.css +1 -1
  26. package/dist/heading/heading.css.map +1 -1
  27. package/dist/highlight/highlight.css +1 -0
  28. package/dist/highlight/highlight.css.map +1 -0
  29. package/dist/icon/icon.css +1 -1
  30. package/dist/icon/icon.css.map +1 -1
  31. package/dist/image/image.css +1 -0
  32. package/dist/image/image.css.map +1 -0
  33. package/dist/index.css +1 -1
  34. package/dist/index.css.map +1 -1
  35. package/dist/link/link.css +1 -1
  36. package/dist/link/link.css.map +1 -1
  37. package/dist/ordered-list/ordered-list.css +1 -1
  38. package/dist/ordered-list/ordered-list.css.map +1 -1
  39. package/dist/page-heading/page-heading.css +1 -1
  40. package/dist/page-heading/page-heading.css.map +1 -1
  41. package/dist/page-menu/page-menu.css +1 -1
  42. package/dist/page-menu/page-menu.css.map +1 -1
  43. package/dist/pagination/pagination.css +1 -0
  44. package/dist/pagination/pagination.css.map +1 -0
  45. package/dist/paragraph/paragraph.css +1 -1
  46. package/dist/paragraph/paragraph.css.map +1 -1
  47. package/dist/screen/screen.css +1 -0
  48. package/dist/screen/screen.css.map +1 -0
  49. package/dist/switch/switch.css +1 -59
  50. package/dist/switch/switch.css.map +1 -1
  51. package/dist/top-task-link/top-task-link.css +1 -1
  52. package/dist/top-task-link/top-task-link.css.map +1 -1
  53. package/dist/unordered-list/unordered-list.css +1 -1
  54. package/dist/unordered-list/unordered-list.css.map +1 -1
  55. package/documentation/coding-conventions.md +35 -0
  56. package/package.json +5 -5
  57. package/src/accordion/README.md +1 -1
  58. package/src/accordion/accordion.scss +7 -1
  59. package/src/alert/README.md +18 -0
  60. package/src/alert/alert.scss +69 -0
  61. package/src/aspect-ratio/README.md +18 -0
  62. package/src/aspect-ratio/aspect-ratio.scss +33 -0
  63. package/src/blockquote/blockquote.scss +3 -3
  64. package/src/breadcrumb/breadcrumb.scss +4 -4
  65. package/src/button/button.scss +10 -13
  66. package/src/card/README.md +12 -0
  67. package/src/card/card.scss +56 -0
  68. package/src/checkbox/README.md +1 -1
  69. package/src/checkbox/checkbox.scss +8 -2
  70. package/src/footer/footer.scss +0 -19
  71. package/src/form-label/README.md +1 -1
  72. package/src/form-label/form-label.scss +7 -1
  73. package/src/grid/README.grid-cell.md +14 -0
  74. package/src/grid/README.grid.md +17 -0
  75. package/src/grid/grid-cell.scss +31 -3
  76. package/src/grid/grid.scss +65 -0
  77. package/src/heading/heading.scss +5 -4
  78. package/src/highlight/README.md +15 -0
  79. package/src/highlight/highlight.scss +36 -0
  80. package/src/icon/icon.scss +10 -10
  81. package/src/image/README.md +18 -0
  82. package/src/image/image.scss +16 -0
  83. package/src/index.scss +18 -4
  84. package/src/link/link.scss +28 -36
  85. package/src/ordered-list/README.md +1 -1
  86. package/src/ordered-list/ordered-list.scss +1 -1
  87. package/src/page-heading/README.md +1 -1
  88. package/src/page-heading/page-heading.scss +2 -1
  89. package/src/page-menu/page-menu.scss +2 -2
  90. package/src/pagination/README.md +16 -0
  91. package/src/pagination/pagination.scss +75 -0
  92. package/src/paragraph/paragraph.scss +3 -3
  93. package/src/screen/README.md +20 -0
  94. package/src/screen/screen.scss +22 -0
  95. package/src/switch/README.md +20 -0
  96. package/src/switch/switch.scss +59 -0
  97. package/src/top-task-link/README.md +13 -8
  98. package/src/top-task-link/top-task-link.scss +2 -2
  99. package/src/unordered-list/README.md +1 -1
  100. package/src/unordered-list/unordered-list.scss +1 -1
  101. package/src/visually-hidden/README.md +2 -2
  102. package/utils/breakpoint.scss +14 -3
  103. package/dist/buttons/button/button.css +0 -729
  104. package/dist/buttons/button/button.css.map +0 -1
  105. package/dist/containers/accordion/accordion.css +0 -69
  106. package/dist/containers/accordion/accordion.css.map +0 -1
  107. package/dist/containers/footer/footer.css +0 -35
  108. package/dist/containers/footer/footer.css.map +0 -1
  109. package/dist/containers/visually-hidden/visually-hidden.css +0 -18
  110. package/dist/containers/visually-hidden/visually-hidden.css.map +0 -1
  111. package/dist/forms/checkbox/checkbox.css +0 -170
  112. package/dist/forms/checkbox/checkbox.css.map +0 -1
  113. package/dist/forms/form-label/form-label.css +0 -26
  114. package/dist/forms/form-label/form-label.css.map +0 -1
  115. package/dist/grid/page-grid.css +0 -1
  116. package/dist/grid/page-grid.css.map +0 -1
  117. package/dist/hero/hero.css +0 -1
  118. package/dist/hero/hero.css.map +0 -1
  119. package/dist/layout/grid-cell/grid-cell.css +0 -88
  120. package/dist/layout/grid-cell/grid-cell.css.map +0 -1
  121. package/dist/layout/page-grid/page-grid.css +0 -26
  122. package/dist/layout/page-grid/page-grid.css.map +0 -1
  123. package/dist/media/icon/icon.css +0 -122
  124. package/dist/media/icon/icon.css.map +0 -1
  125. package/dist/navigation/breadcrumb/breadcrumb.css +0 -67
  126. package/dist/navigation/breadcrumb/breadcrumb.css.map +0 -1
  127. package/dist/navigation/link/link.css +0 -111
  128. package/dist/navigation/link/link.css.map +0 -1
  129. package/dist/navigation/page-menu/page-menu.css +0 -83
  130. package/dist/navigation/page-menu/page-menu.css.map +0 -1
  131. package/dist/navigation/top-task-link/top-task-link.css +0 -59
  132. package/dist/navigation/top-task-link/top-task-link.css.map +0 -1
  133. package/dist/testula/testula.css +0 -9
  134. package/dist/testula/testula.css.map +0 -1
  135. package/dist/text/blockquote/blockquote.css +0 -43
  136. package/dist/text/blockquote/blockquote.css.map +0 -1
  137. package/dist/text/heading/heading.css +0 -67
  138. package/dist/text/heading/heading.css.map +0 -1
  139. package/dist/text/ordered-list/ordered-list.css +0 -54
  140. package/dist/text/ordered-list/ordered-list.css.map +0 -1
  141. package/dist/text/page-heading/page-heading.css +0 -34
  142. package/dist/text/page-heading/page-heading.css.map +0 -1
  143. package/dist/text/paragraph/paragraph.css +0 -53
  144. package/dist/text/paragraph/paragraph.css.map +0 -1
  145. package/dist/text/unordered-list/unordered-list.css +0 -54
  146. package/dist/text/unordered-list/unordered-list.css.map +0 -1
  147. package/src/grid/README.md +0 -11
  148. package/src/grid/page-grid.scss +0 -19
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.6",
2
+ "version": "0.1.8",
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.1.5",
23
- "sass": "1.68.0"
22
+ "@amsterdam/design-system-tokens": "0.1.7",
23
+ "sass": "1.69.5"
24
24
  },
25
25
  "dependencies": {
26
- "@utrecht/components": "1.0.0-alpha.536"
26
+ "@utrecht/components": "2.0.0"
27
27
  },
28
- "gitHead": "58764d2cd6d59d20fd0e3215f32461c6c580df1b"
28
+ "gitHead": "703538926459edf62102d1fe7b6bd15ab511865d"
29
29
  }
@@ -14,7 +14,7 @@ Het accordion component is een klikbare (verticaal gestapelde) lijst van koppen
14
14
  Je kunt door een accordion navigeren met je toetsenbord:
15
15
 
16
16
  | key | element |
17
- | -------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
17
+ | :------------------- | :--------------------------------------------------------------------------------------------------------------------------- |
18
18
  | Enter of Space | Open of sluit de accordionsectie die de focus heeft |
19
19
  | Tab | Ga naar het volgende element dat focus kan hebben |
20
20
  | Shift + Tab | Ga naar het volgende element dat focus kan hebben |
@@ -11,6 +11,10 @@
11
11
  margin-inline: 0;
12
12
  }
13
13
 
14
+ @mixin reset {
15
+ -webkit-text-size-adjust: 100%;
16
+ }
17
+
14
18
  .amsterdam-accordion__button {
15
19
  background-color: transparent;
16
20
  border: 0;
@@ -26,7 +30,7 @@
26
30
  padding-inline: 1rem;
27
31
  width: 100%;
28
32
 
29
- @media screen and (width > $amsterdam-breakpoint) {
33
+ @media screen and (min-width: $amsterdam-breakpoint-typography) {
30
34
  font-size: var(--amsterdam-accordion-button-wide-font-size);
31
35
  }
32
36
 
@@ -46,6 +50,8 @@
46
50
  transition: none;
47
51
  }
48
52
  }
53
+
54
+ @include reset;
49
55
  }
50
56
 
51
57
  .amsterdam-accordion__button[aria-expanded="true"] svg {
@@ -0,0 +1,18 @@
1
+ # Alert
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.
4
+
5
+ ## Specificaties
6
+
7
+ ### Kleurdefinities
8
+
9
+ - Geel: informatie
10
+ - Rood: fout
11
+ - Groen: goed
12
+
13
+ ## Richtlijnen
14
+
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.
@@ -0,0 +1,69 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright (c) 2023 Gemeente Amsterdam
4
+ */
5
+
6
+ @import "../../utils/breakpoint";
7
+
8
+ .amsterdam-alert {
9
+ align-items: flex-start;
10
+ background-color: var(--amsterdam-alert-background-color);
11
+ border: var(--amsterdam-alert-border);
12
+ display: flex;
13
+ flex-direction: row;
14
+ gap: var(--amsterdam-alert-gap);
15
+ justify-content: space-between;
16
+ padding-block-end: var(--amsterdam-alert-padding-block-end);
17
+ padding-block-start: var(--amsterdam-alert-padding-block-start);
18
+ padding-inline-end: var(--amsterdam-alert-padding-inline-end);
19
+ padding-inline-start: var(--amsterdam-alert-padding-inline-start);
20
+ }
21
+
22
+ .amsterdam-alert__content {
23
+ flex: auto;
24
+ }
25
+
26
+ @mixin reset {
27
+ -webkit-text-size-adjust: 100%;
28
+ }
29
+
30
+ .amsterdam-alert__title {
31
+ color: var(--amsterdam-alert-title-color);
32
+ font-family: var(--amsterdam-alert-title-font-family);
33
+ font-size: var(--amsterdam-alert-title-narrow-font-size);
34
+ font-weight: var(--amsterdam-alert-title-font-weight);
35
+ line-height: var(--amsterdam-alert-title-line-height);
36
+
37
+ @media screen and (min-width: $amsterdam-breakpoint-typography) {
38
+ font-size: var(--amsterdam-alert-title-wide-font-size);
39
+ }
40
+
41
+ @include reset;
42
+ }
43
+
44
+ .amsterdam-alert--error {
45
+ background-color: var(--amsterdam-alert-error-background-color);
46
+ border-color: var(--amsterdam-alert-error-border-color);
47
+ }
48
+
49
+ .amsterdam-alert--success {
50
+ background-color: var(--amsterdam-alert-success-background-color);
51
+ border-color: var(--amsterdam-alert-success-border-color);
52
+ }
53
+
54
+ /* todo: move to action button component */
55
+ .amsterdam-alert__close {
56
+ background-color: var(--amsterdam-alert-close-background-color);
57
+ border: 0;
58
+ cursor: pointer;
59
+ padding-block: 0;
60
+ padding-inline: 0;
61
+ }
62
+
63
+ .amsterdam-alert__close svg {
64
+ fill: var(--amsterdam-alert-close-fill);
65
+ }
66
+
67
+ .amsterdam-alert__close:hover svg {
68
+ fill: var(--amsterdam-alert-close-hover-fill);
69
+ }
@@ -0,0 +1,18 @@
1
+ # Aspect Ratio
2
+
3
+ Aspect Ratio (in het Nederlands: beeldverhouding) koppelt de hoogte van een element aan de breedte.
4
+
5
+ Om de vormgeving consistent te houden gebruiken we een vaste set verhoudingen (breedte:hoogte):
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 |
15
+
16
+ ## Richtlijnen
17
+
18
+ - Gebruik dit component om plaatjes, videos en andere elementen een vaste beeldverhouding te geven, zodat ze consistent schalen.
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright (c) 2023 Gemeente Amsterdam
4
+ */
5
+
6
+ .amsterdam-aspect-ratio {
7
+ overflow: hidden;
8
+ position: relative;
9
+ }
10
+
11
+ .amsterdam-aspect-ratio--x-tall {
12
+ aspect-ratio: var(--amsterdam-aspect-ratio-x-tall);
13
+ }
14
+
15
+ .amsterdam-aspect-ratio--tall {
16
+ aspect-ratio: var(--amsterdam-aspect-ratio-tall);
17
+ }
18
+
19
+ .amsterdam-aspect-ratio--square {
20
+ aspect-ratio: var(--amsterdam-aspect-ratio-square);
21
+ }
22
+
23
+ .amsterdam-aspect-ratio--wide {
24
+ aspect-ratio: var(--amsterdam-aspect-ratio-wide);
25
+ }
26
+
27
+ .amsterdam-aspect-ratio--x-wide {
28
+ aspect-ratio: var(--amsterdam-aspect-ratio-x-wide);
29
+ }
30
+
31
+ .amsterdam-aspect-ratio--2x-wide {
32
+ aspect-ratio: var(--amsterdam-aspect-ratio-2x-wide);
33
+ }
@@ -7,13 +7,13 @@
7
7
 
8
8
  @mixin reset {
9
9
  box-sizing: border-box;
10
- break-after: avoid;
11
- break-inside: avoid;
12
10
  margin-block: 0;
13
11
  margin-inline: 0;
12
+ -webkit-text-size-adjust: 100%;
14
13
  }
15
14
 
16
15
  .amsterdam-blockquote {
16
+ break-inside: avoid;
17
17
  color: var(--amsterdam-blockquote-color);
18
18
  font-family: var(--amsterdam-blockquote-font-family);
19
19
  font-size: var(--amsterdam-blockquote-narrow-font-size);
@@ -29,7 +29,7 @@
29
29
  content: close-quote;
30
30
  }
31
31
 
32
- @media screen and (width > $amsterdam-breakpoint) {
32
+ @media screen and (min-width: $amsterdam-breakpoint-typography) {
33
33
  font-size: var(--amsterdam-blockquote-wide-font-size);
34
34
  }
35
35
 
@@ -9,14 +9,16 @@
9
9
  box-sizing: border-box;
10
10
  margin-block: 0;
11
11
  padding-inline: 0;
12
+ -webkit-text-size-adjust: 100%;
12
13
  }
13
14
 
14
15
  .amsterdam-breadcrumb {
15
16
  font-family: var(--amsterdam-breadcrumb-font-family, inherit);
16
17
  font-size: var(--amsterdam-breadcrumb-narrow-font-size);
18
+ font-weight: var(--amsterdam-breadcrumb-font-weight);
17
19
  line-height: var(--amsterdam-breadcrumb-line-height);
18
20
 
19
- @media screen and (width > $amsterdam-breakpoint) {
21
+ @media screen and (min-width: $amsterdam-breakpoint-typography) {
20
22
  font-size: var(--amsterdam-breadcrumb-wide-font-size);
21
23
  }
22
24
  }
@@ -57,9 +59,7 @@
57
59
  text-transform: capitalize;
58
60
  }
59
61
 
60
- &:focus,
61
- &:hover,
62
- &:active {
62
+ &:hover {
63
63
  color: var(--amsterdam-breadcrumb-item-link-hover-color);
64
64
  text-decoration: underline;
65
65
  text-decoration-thickness: 2px;
@@ -6,12 +6,18 @@
6
6
  @import "../../node_modules/@utrecht/components/button/css";
7
7
  @import "../../utils/breakpoint";
8
8
 
9
+ @mixin reset {
10
+ -webkit-text-size-adjust: 100%;
11
+ }
12
+
9
13
  .amsterdam-button {
10
14
  font-size: var(--amsterdam-button-narrow-font-size);
11
15
 
12
- @media screen and (width > $amsterdam-breakpoint) {
16
+ @media screen and (min-width: $amsterdam-breakpoint-typography) {
13
17
  font-size: var(--amsterdam-button-wide-font-size);
14
18
  }
19
+
20
+ @include reset;
15
21
  }
16
22
 
17
23
  .amsterdam-button--secondary {
@@ -27,16 +33,7 @@
27
33
  }
28
34
  }
29
35
 
30
- // Specificity hack to be able to style secondary button focus state
31
- // This isn't currently possible with the Utrecht component
32
- // We should really pull this component in our own repo...
33
- .amsterdam-button--secondary.amsterdam-button--secondary {
34
- &:focus {
35
- color: var(--amsterdam-button-secondary-focus-color);
36
- }
37
- }
38
-
39
- .amsterdam-button--secondary:focus:not(:disabled, [aria-disabled="true"]) {
36
+ .amsterdam-button--secondary:focus:not(:hover, [aria-disabled="true"]) {
40
37
  box-shadow: var(--amsterdam-button-secondary-focus-box-shadow);
41
38
  }
42
39
 
@@ -46,6 +43,6 @@
46
43
  }
47
44
  }
48
45
 
49
- .amsterdam-button--tertiary:focus:not(:disabled, [aria-disabled="true"]) {
50
- box-shadow: var(--amsterdam-button-tertiary-focus-box-shadow);
46
+ .amsterdam-button--tertiary:focus:not(:hover, [aria-disabled="true"]) {
47
+ box-shadow: none;
51
48
  }
@@ -0,0 +1,12 @@
1
+ # Card
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.
4
+
5
+ ## Schermlezers
6
+
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.
8
+
9
+ ## Richtlijnen
10
+
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.
@@ -0,0 +1,56 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright (c) 2023 Gemeente Amsterdam
4
+ */
5
+
6
+ .amsterdam-card {
7
+ display: grid;
8
+ gap: 0.5rem;
9
+ outline-offset: var(--amsterdam-card-outline-offset);
10
+ position: relative;
11
+ touch-action: manipulation;
12
+
13
+ /* Set native outline on card if card has focus visible within */
14
+ &:has(:focus-visible) {
15
+ outline-color: -webkit-focus-ring-color;
16
+ outline-style: auto;
17
+ outline-width: 1px;
18
+ }
19
+
20
+ /*
21
+ Remove link focus outline only if :has is supported,
22
+ which means the outline on the whole card is set
23
+ */
24
+ &:has(:focus-visible) a:focus {
25
+ outline: none;
26
+ }
27
+
28
+ /*
29
+ This trick, together with position: relative on the outer wrapper, makes the whole card clickable.
30
+ Taken from https://inclusive-components.design/cards/
31
+ */
32
+ a::after {
33
+ content: "";
34
+ display: block;
35
+ inset: 0;
36
+ position: absolute;
37
+ }
38
+ }
39
+
40
+ .amsterdam-card__heading-group {
41
+ display: flex;
42
+ flex-direction: column-reverse;
43
+ gap: 0.5rem;
44
+ }
45
+
46
+ .amsterdam-card__link {
47
+ color: var(--amsterdam-card-link-color);
48
+ text-decoration: none;
49
+ text-decoration-thickness: 2px;
50
+ text-underline-offset: 3px;
51
+
52
+ &:hover {
53
+ color: var(--amsterdam-card-link-hover-color);
54
+ text-decoration: underline;
55
+ }
56
+ }
@@ -24,4 +24,4 @@ Een label:
24
24
 
25
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
26
 
27
- <!-- TODO: Checkbox is an interactive element, reference the general interactive elements docs when they're merged -->
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.
@@ -34,11 +34,15 @@
34
34
  width: 100%;
35
35
  }
36
36
 
37
- @media screen and (width > $amsterdam-breakpoint) {
37
+ @media screen and (min-width: $amsterdam-breakpoint-typography) {
38
38
  height: calc(var(--amsterdam-checkbox-checkmark-wide-size) * var(--amsterdam-checkbox-checkmark-multiplier));
39
39
  }
40
40
  }
41
41
 
42
+ @mixin reset {
43
+ -webkit-text-size-adjust: 100%;
44
+ }
45
+
42
46
  .amsterdam-checkbox__label {
43
47
  color: var(--amsterdam-checkbox-color);
44
48
  cursor: pointer;
@@ -61,9 +65,11 @@
61
65
  }
62
66
  }
63
67
 
64
- @media screen and (width > $amsterdam-breakpoint) {
68
+ @media screen and (min-width: $amsterdam-breakpoint-typography) {
65
69
  font-size: var(--amsterdam-checkbox-wide-font-size);
66
70
  }
71
+
72
+ @include reset;
67
73
  }
68
74
 
69
75
  // Default checked
@@ -7,23 +7,4 @@
7
7
 
8
8
  .amsterdam-footer__top {
9
9
  background-color: var(--amsterdam-footer-top-background-color);
10
- padding-block: 2.5rem;
11
- padding-inline: 2rem; /* TODO: For now I've set a padding here, this should eventually be handled by PageGrid */
12
- }
13
-
14
- @media screen and (width > $amsterdam-breakpoint) {
15
- .amsterdam-footer__top {
16
- grid-template-columns: repeat(var(--amsterdam-page-grid-column-count-wide), 1fr);
17
- }
18
- }
19
-
20
- .amsterdam-footer__column {
21
- display: flex;
22
- flex-direction: column;
23
- gap: 2.5rem;
24
- }
25
-
26
- .amsterdam-footer__bottom {
27
- padding-block: 0.5rem;
28
- padding-inline: 2rem; /* TODO: For now I've set a padding here, this should eventually be handled by PageGrid */
29
10
  }
@@ -1,3 +1,3 @@
1
- # Form label
1
+ # Form Label
2
2
 
3
3
  Een label element gebruik je om een formulierelement te beschrijven. Koppel een formulierelement (zoals een `input` of `textarea`) altijd aan een label.
@@ -5,6 +5,10 @@
5
5
 
6
6
  @import "../../utils/breakpoint";
7
7
 
8
+ @mixin reset {
9
+ -webkit-text-size-adjust: 100%;
10
+ }
11
+
8
12
  .amsterdam-form-label {
9
13
  color: var(--amsterdam-form-label-color);
10
14
  font-family: var(--amsterdam-form-label-font-family);
@@ -12,7 +16,9 @@
12
16
  font-weight: var(--amsterdam-form-label-font-weight);
13
17
  line-height: var(--amsterdam-form-label-line-height);
14
18
 
15
- @media screen and (width > $amsterdam-breakpoint) {
19
+ @media screen and (min-width: $amsterdam-breakpoint-typography) {
16
20
  font-size: var(--amsterdam-form-label-wide-font-size);
17
21
  }
22
+
23
+ @include reset;
18
24
  }
@@ -0,0 +1,14 @@
1
+ # Grid cell
2
+
3
+ Beslaat een aantal kolommen in een [Grid](?path=/docs/react_layout-grid--docs).
4
+
5
+ ## Gebruik
6
+
7
+ Verdeel hiermee een grid in cellen.
8
+ Geef aan hoeveel kolommen van het grid de cel beslaat.
9
+ Dat aantal kan variëren voor smalle, middelbrede of brede schermen.
10
+ In elke cel plaats je vervolgens de gewenste inhoud.
11
+
12
+ ## Ontwerp
13
+
14
+ De [ontwerpkeuzes](?path=/docs/docs-designrichtlijnen-grid--docs) staan beschreven onder de designrichtlijnen.
@@ -0,0 +1,17 @@
1
+ # Grid
2
+
3
+ Levert een tweedimensionaal raster waarop alle elementen van een pagina uitgelijnd worden.
4
+
5
+ ## Gebruik
6
+
7
+ Elke pagina moet het grid gebruiken als basis voor de layout, dus direct binnen [Screen](?path=/docs/layout-screen--docs).
8
+
9
+ Een [Footer](?path=/docs/react_containers-footer--docs) en een [Highlight](?path=/docs/react_containers-highlight--docs) zijn iets breder dan het grid.
10
+ Daarom wordt in HTML vóór deze componenten een instantie van Grid afgesloten en erbinnen een nieuwe geopend.
11
+
12
+ Meerdere instanties van dit component zijn dus mogelijk op een pagina.
13
+ Visueel moeten ze wel allemaal op elkaar aansluiten.
14
+
15
+ ## Ontwerp
16
+
17
+ De [ontwerpkeuzes](?path=/docs/docs-designrichtlijnen-grid--docs) staan beschreven onder de designrichtlijnen.
@@ -5,14 +5,42 @@
5
5
 
6
6
  @import "../../utils/breakpoint";
7
7
 
8
- @media screen and (width > $amsterdam-breakpoint) {
8
+ .amsterdam-grid-cell--full-width {
9
+ grid-column: 1 / -1;
10
+ }
11
+
12
+ // The order of the following declaration blocks ensures the intended specificity.
13
+
14
+ @for $i from 1 through 12 {
15
+ .amsterdam-grid-cell--span-#{$i} {
16
+ grid-column-end: span $i;
17
+ }
18
+
19
+ .amsterdam-grid-cell--start-#{$i} {
20
+ grid-column-start: $i;
21
+ }
22
+ }
23
+
24
+ @media screen and (min-width: $amsterdam-breakpoint-medium) {
9
25
  @for $i from 1 through 12 {
10
- .amsterdam-grid-column-start-#{$i} {
26
+ .amsterdam-grid-cell--span-#{$i}-medium {
27
+ grid-column-end: span $i;
28
+ }
29
+
30
+ .amsterdam-grid-cell--start-#{$i}-medium {
11
31
  grid-column-start: $i;
12
32
  }
33
+ }
34
+ }
13
35
 
14
- .amsterdam-grid-column-span-#{$i} {
36
+ @media screen and (min-width: $amsterdam-breakpoint-wide) {
37
+ @for $i from 1 through 12 {
38
+ .amsterdam-grid-cell--span-#{$i}-wide {
15
39
  grid-column-end: span $i;
16
40
  }
41
+
42
+ .amsterdam-grid-cell--start-#{$i}-wide {
43
+ grid-column-start: $i;
44
+ }
17
45
  }
18
46
  }
@@ -0,0 +1,65 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright (c) 2023 Gemeente Amsterdam
4
+ */
5
+
6
+ @import "../../utils/breakpoint";
7
+
8
+ .amsterdam-grid {
9
+ --amsterdam-grid-gap: var(--amsterdam-grid-density-low-gap);
10
+ --amsterdam-grid-padding-inline: var(--amsterdam-grid-density-low-padding-inline);
11
+
12
+ display: grid;
13
+ gap: var(--amsterdam-grid-gap);
14
+ grid-template-columns: repeat(var(--amsterdam-grid-column-count), 1fr);
15
+ padding-inline: var(--amsterdam-grid-padding-inline);
16
+
17
+ @media screen and (min-width: $amsterdam-breakpoint-medium) {
18
+ grid-template-columns: repeat(var(--amsterdam-grid-medium-column-count), 1fr);
19
+ }
20
+
21
+ @media screen and (min-width: $amsterdam-breakpoint-wide) {
22
+ grid-template-columns: repeat(var(--amsterdam-grid-wide-column-count), 1fr);
23
+ }
24
+ }
25
+
26
+ .amsterdam-grid--density-high {
27
+ --amsterdam-grid-gap: var(--amsterdam-grid-density-high-gap);
28
+ --amsterdam-grid-padding-inline: var(--amsterdam-grid-density-high-padding-inline);
29
+ }
30
+
31
+ .amsterdam-grid--padding-bottom--small {
32
+ padding-block-end: calc(var(--amsterdam-grid-gap) / 2);
33
+ }
34
+
35
+ .amsterdam-grid--padding-bottom--medium {
36
+ padding-block-end: var(--amsterdam-grid-gap);
37
+ }
38
+
39
+ .amsterdam-grid--padding-bottom--large {
40
+ padding-block-end: calc(var(--amsterdam-grid-gap) * 2);
41
+ }
42
+
43
+ .amsterdam-grid--padding-top--small {
44
+ padding-block-start: calc(var(--amsterdam-grid-gap) / 2);
45
+ }
46
+
47
+ .amsterdam-grid--padding-top--medium {
48
+ padding-block-start: var(--amsterdam-grid-gap);
49
+ }
50
+
51
+ .amsterdam-grid--padding-top--large {
52
+ padding-block-start: calc(var(--amsterdam-grid-gap) * 2);
53
+ }
54
+
55
+ .amsterdam-grid--padding-vertical--small {
56
+ padding-block: calc(var(--amsterdam-grid-gap) / 2);
57
+ }
58
+
59
+ .amsterdam-grid--padding-vertical--medium {
60
+ padding-block: var(--amsterdam-grid-gap);
61
+ }
62
+
63
+ .amsterdam-grid--padding-vertical--large {
64
+ padding-block: calc(var(--amsterdam-grid-gap) * 2);
65
+ }
@@ -8,6 +8,7 @@
8
8
  @mixin reset {
9
9
  box-sizing: border-box;
10
10
  margin-block: 0;
11
+ -webkit-text-size-adjust: 100%;
11
12
  }
12
13
 
13
14
  .amsterdam-heading {
@@ -24,7 +25,7 @@
24
25
  font-size: var(--amsterdam-heading-1-narrow-font-size);
25
26
  line-height: var(--amsterdam-heading-1-line-height);
26
27
 
27
- @media screen and (width > $amsterdam-breakpoint) {
28
+ @media screen and (min-width: $amsterdam-breakpoint-typography) {
28
29
  font-size: var(--amsterdam-heading-1-wide-font-size);
29
30
  }
30
31
  }
@@ -33,7 +34,7 @@
33
34
  font-size: var(--amsterdam-heading-2-narrow-font-size);
34
35
  line-height: var(--amsterdam-heading-2-line-height);
35
36
 
36
- @media screen and (width > $amsterdam-breakpoint) {
37
+ @media screen and (min-width: $amsterdam-breakpoint-typography) {
37
38
  font-size: var(--amsterdam-heading-2-wide-font-size);
38
39
  }
39
40
  }
@@ -42,7 +43,7 @@
42
43
  font-size: var(--amsterdam-heading-3-narrow-font-size);
43
44
  line-height: var(--amsterdam-heading-3-line-height);
44
45
 
45
- @media screen and (width > $amsterdam-breakpoint) {
46
+ @media screen and (min-width: $amsterdam-breakpoint-typography) {
46
47
  font-size: var(--amsterdam-heading-3-wide-font-size);
47
48
  }
48
49
  }
@@ -51,7 +52,7 @@
51
52
  font-size: var(--amsterdam-heading-4-narrow-font-size);
52
53
  line-height: var(--amsterdam-heading-4-line-height);
53
54
 
54
- @media screen and (width > $amsterdam-breakpoint) {
55
+ @media screen and (min-width: $amsterdam-breakpoint-typography) {
55
56
  font-size: var(--amsterdam-heading-4-wide-font-size);
56
57
  }
57
58
  }
@@ -0,0 +1,15 @@
1
+ # Highlight
2
+
3
+ Benadrukt een sectie op een pagina middels een opvallende achtergrondkleur.
4
+
5
+ ## Richtlijnen
6
+
7
+ Raadpleeg [dit overzicht op Stijlweb](https://amsterdam.nl/stijlweb/basiselementen/kleuren/#PagCls_15671872) om na te gaan of je zwarte of witte tekst kunt gebruiken op de achtergrondkleur van je keuze.
8
+
9
+ ## Relevante WCAG eisen
10
+
11
+ - [WCAG 1.4.3](https://www.w3.org/TR/WCAG21/#contrast-minimum): Large-scale text and images of large-scale text have a contrast ratio of at least 3:1;
12
+
13
+ ## Referenties
14
+
15
+ - [Color and contrast accessibility](https://web.dev/articles/color-and-contrast-accessibility)