@amsterdam/design-system-css 0.14.1 → 0.16.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 (223) hide show
  1. package/CHANGELOG.md +91 -0
  2. package/README.md +3 -1
  3. package/dist/accordion/accordion.css +1 -1
  4. package/dist/accordion/accordion.css.map +1 -1
  5. package/dist/action-group/action-group.css +1 -1
  6. package/dist/action-group/action-group.css.map +1 -1
  7. package/dist/alert/alert.css +1 -1
  8. package/dist/alert/alert.css.map +1 -1
  9. package/dist/aspect-ratio/aspect-ratio.css +1 -1
  10. package/dist/aspect-ratio/aspect-ratio.css.map +1 -1
  11. package/dist/avatar/avatar.css +1 -1
  12. package/dist/avatar/avatar.css.map +1 -1
  13. package/dist/badge/badge.css +1 -1
  14. package/dist/badge/badge.css.map +1 -1
  15. package/dist/blockquote/blockquote.css +1 -1
  16. package/dist/blockquote/blockquote.css.map +1 -1
  17. package/dist/breadcrumb/breadcrumb.css +1 -1
  18. package/dist/breadcrumb/breadcrumb.css.map +1 -1
  19. package/dist/breakout/breakout.css +1 -1
  20. package/dist/breakout/breakout.css.map +1 -1
  21. package/dist/button/button.css +1 -1
  22. package/dist/button/button.css.map +1 -1
  23. package/dist/card/card.css +1 -1
  24. package/dist/card/card.css.map +1 -1
  25. package/dist/character-count/character-count.css +1 -1
  26. package/dist/character-count/character-count.css.map +1 -1
  27. package/dist/checkbox/checkbox.css +1 -1
  28. package/dist/checkbox/checkbox.css.map +1 -1
  29. package/dist/column/column.css +1 -1
  30. package/dist/column/column.css.map +1 -1
  31. package/dist/date-input/date-input.css +1 -1
  32. package/dist/date-input/date-input.css.map +1 -1
  33. package/dist/description-list/description-list.css +1 -1
  34. package/dist/description-list/description-list.css.map +1 -1
  35. package/dist/dialog/dialog.css +1 -1
  36. package/dist/dialog/dialog.css.map +1 -1
  37. package/dist/error-message/error-message.css +1 -1
  38. package/dist/error-message/error-message.css.map +1 -1
  39. package/dist/field-set/field-set.css +1 -1
  40. package/dist/field-set/field-set.css.map +1 -1
  41. package/dist/figure/figure.css +1 -1
  42. package/dist/figure/figure.css.map +1 -1
  43. package/dist/file-input/file-input.css +1 -1
  44. package/dist/file-input/file-input.css.map +1 -1
  45. package/dist/file-list/file-list.css +1 -1
  46. package/dist/file-list/file-list.css.map +1 -1
  47. package/dist/gap/gap.css +1 -1
  48. package/dist/gap/gap.css.map +1 -1
  49. package/dist/grid/grid.css +1 -1
  50. package/dist/grid/grid.css.map +1 -1
  51. package/dist/heading/heading.css +1 -1
  52. package/dist/heading/heading.css.map +1 -1
  53. package/dist/icon/icon.css +1 -1
  54. package/dist/icon/icon.css.map +1 -1
  55. package/dist/icon-button/icon-button.css +1 -1
  56. package/dist/icon-button/icon-button.css.map +1 -1
  57. package/dist/image-slider/image-slider.css +1 -1
  58. package/dist/image-slider/image-slider.css.map +1 -1
  59. package/dist/index.css +1 -1
  60. package/dist/index.css.map +1 -1
  61. package/dist/invalid-form-alert/invalid-form-alert.css +1 -0
  62. package/dist/invalid-form-alert/invalid-form-alert.css.map +1 -0
  63. package/dist/label/label.css +1 -1
  64. package/dist/label/label.css.map +1 -1
  65. package/dist/link/link.css +1 -1
  66. package/dist/link/link.css.map +1 -1
  67. package/dist/link-list/link-list.css +1 -1
  68. package/dist/link-list/link-list.css.map +1 -1
  69. package/dist/margin/margin.css +1 -1
  70. package/dist/margin/margin.css.map +1 -1
  71. package/dist/ordered-list/ordered-list.css +1 -1
  72. package/dist/ordered-list/ordered-list.css.map +1 -1
  73. package/dist/page/page.css +1 -0
  74. package/dist/page/page.css.map +1 -0
  75. package/dist/page-footer/page-footer.css +1 -0
  76. package/dist/page-footer/page-footer.css.map +1 -0
  77. package/dist/page-header/page-header.css +1 -0
  78. package/dist/page-header/page-header.css.map +1 -0
  79. package/dist/page-heading/page-heading.css +1 -1
  80. package/dist/page-heading/page-heading.css.map +1 -1
  81. package/dist/pagination/pagination.css +1 -1
  82. package/dist/pagination/pagination.css.map +1 -1
  83. package/dist/paragraph/paragraph.css +1 -1
  84. package/dist/paragraph/paragraph.css.map +1 -1
  85. package/dist/password-input/password-input.css +1 -1
  86. package/dist/password-input/password-input.css.map +1 -1
  87. package/dist/radio/radio.css +1 -1
  88. package/dist/radio/radio.css.map +1 -1
  89. package/dist/row/row.css +1 -1
  90. package/dist/row/row.css.map +1 -1
  91. package/dist/search-field/search-field.css +1 -1
  92. package/dist/search-field/search-field.css.map +1 -1
  93. package/dist/select/select.css +1 -1
  94. package/dist/select/select.css.map +1 -1
  95. package/dist/spotlight/spotlight.css +1 -1
  96. package/dist/spotlight/spotlight.css.map +1 -1
  97. package/dist/standalone-link/standalone-link.css +1 -0
  98. package/dist/standalone-link/standalone-link.css.map +1 -0
  99. package/dist/switch/switch.css +1 -1
  100. package/dist/switch/switch.css.map +1 -1
  101. package/dist/table-of-contents/table-of-contents.css +1 -1
  102. package/dist/table-of-contents/table-of-contents.css.map +1 -1
  103. package/dist/tabs/tabs.css +1 -1
  104. package/dist/tabs/tabs.css.map +1 -1
  105. package/dist/text-area/text-area.css +1 -1
  106. package/dist/text-area/text-area.css.map +1 -1
  107. package/dist/text-input/text-input.css +1 -1
  108. package/dist/text-input/text-input.css.map +1 -1
  109. package/dist/time-input/time-input.css +1 -1
  110. package/dist/time-input/time-input.css.map +1 -1
  111. package/dist/unordered-list/unordered-list.css +1 -1
  112. package/dist/unordered-list/unordered-list.css.map +1 -1
  113. package/dist/visually-hidden/visually-hidden.css +1 -1
  114. package/dist/visually-hidden/visually-hidden.css.map +1 -1
  115. package/package.json +4 -4
  116. package/src/common/hyphenation.scss +3 -3
  117. package/src/components/accordion/accordion.scss +6 -6
  118. package/src/components/action-group/README.md +1 -1
  119. package/src/components/action-group/action-group.scss +1 -1
  120. package/src/components/alert/README.md +13 -15
  121. package/src/components/alert/alert.scss +29 -14
  122. package/src/components/aspect-ratio/README.md +8 -8
  123. package/src/components/aspect-ratio/aspect-ratio.scss +6 -3
  124. package/src/components/avatar/README.md +5 -4
  125. package/src/components/avatar/avatar.scss +8 -46
  126. package/src/components/badge/README.md +7 -6
  127. package/src/components/badge/badge.scss +13 -40
  128. package/src/components/blockquote/blockquote.scss +1 -1
  129. package/src/components/breadcrumb/breadcrumb.scss +2 -0
  130. package/src/components/breakout/breakout.scss +23 -23
  131. package/src/components/button/README.md +1 -1
  132. package/src/components/button/button.scss +4 -1
  133. package/src/components/card/README.md +15 -14
  134. package/src/components/card/card.scss +24 -19
  135. package/src/components/character-count/character-count.scss +2 -0
  136. package/src/components/checkbox/checkbox.scss +6 -7
  137. package/src/components/column/column.scss +9 -8
  138. package/src/components/date-input/date-input.scss +3 -4
  139. package/src/components/description-list/description-list.scss +12 -10
  140. package/src/components/dialog/README.md +3 -5
  141. package/src/components/dialog/dialog.scss +38 -5
  142. package/src/components/error-message/error-message.scss +2 -0
  143. package/src/components/field-set/field-set.scss +8 -7
  144. package/src/components/figure/figure.scss +3 -1
  145. package/src/components/file-input/file-input.scss +2 -2
  146. package/src/components/file-list/file-list.scss +2 -1
  147. package/src/components/gap/README.md +13 -9
  148. package/src/components/gap/gap.scss +8 -12
  149. package/src/components/grid/README.md +9 -8
  150. package/src/components/grid/_mixins.scss +27 -25
  151. package/src/components/grid/grid.scss +19 -19
  152. package/src/components/heading/README.md +7 -7
  153. package/src/components/heading/heading.scss +20 -19
  154. package/src/components/icon/README.md +5 -5
  155. package/src/components/icon/icon.scss +41 -27
  156. package/src/components/icon-button/icon-button.scss +16 -15
  157. package/src/components/image-slider/README.md +1 -1
  158. package/src/components/image-slider/image-slider.scss +11 -3
  159. package/src/components/index.scss +5 -7
  160. package/src/components/{form-error-list → invalid-form-alert}/README.md +9 -9
  161. package/src/components/{form-error-list/form-error-list.scss → invalid-form-alert/invalid-form-alert.scss} +4 -4
  162. package/src/components/label/label.scss +1 -0
  163. package/src/components/link/README.md +9 -11
  164. package/src/components/link/link.scss +13 -46
  165. package/src/components/link-list/link-list.scss +7 -8
  166. package/src/components/logo/README.md +1 -1
  167. package/src/components/margin/README.md +16 -10
  168. package/src/components/margin/margin.scss +6 -8
  169. package/src/components/ordered-list/ordered-list.scss +3 -1
  170. package/src/components/page/README.md +23 -0
  171. package/src/components/page/page.scss +12 -0
  172. package/src/components/{footer → page-footer}/README.md +7 -4
  173. package/src/components/page-footer/page-footer.scss +56 -0
  174. package/src/components/{header → page-header}/README.md +6 -5
  175. package/src/components/page-header/page-header.scss +237 -0
  176. package/src/components/page-heading/README.md +1 -1
  177. package/src/components/page-heading/page-heading.scss +2 -1
  178. package/src/components/pagination/pagination.scss +23 -34
  179. package/src/components/paragraph/paragraph.scss +3 -1
  180. package/src/components/password-input/password-input.scss +2 -3
  181. package/src/components/radio/radio.scss +4 -5
  182. package/src/components/row/row.scss +9 -9
  183. package/src/components/search-field/search-field.scss +2 -3
  184. package/src/components/select/select.scss +2 -2
  185. package/src/components/skip-link/README.md +3 -3
  186. package/src/components/spotlight/README.md +5 -3
  187. package/src/components/spotlight/spotlight.scss +6 -10
  188. package/src/components/standalone-link/README.md +11 -0
  189. package/src/components/standalone-link/standalone-link.scss +53 -0
  190. package/src/components/switch/switch.scss +2 -2
  191. package/src/components/table-of-contents/table-of-contents.scss +2 -0
  192. package/src/components/tabs/README.md +1 -1
  193. package/src/components/tabs/tabs.scss +6 -3
  194. package/src/components/text-area/text-area.scss +1 -2
  195. package/src/components/text-input/text-input.scss +2 -3
  196. package/src/components/time-input/time-input.scss +3 -4
  197. package/src/components/unordered-list/unordered-list.scss +3 -1
  198. package/src/components/visually-hidden/visually-hidden.scss +1 -0
  199. package/dist/footer/footer.css +0 -1
  200. package/dist/footer/footer.css.map +0 -1
  201. package/dist/form-error-list/form-error-list.css +0 -1
  202. package/dist/form-error-list/form-error-list.css.map +0 -1
  203. package/dist/header/header.css +0 -1
  204. package/dist/header/header.css.map +0 -1
  205. package/dist/mega-menu/mega-menu.css +0 -1
  206. package/dist/mega-menu/mega-menu.css.map +0 -1
  207. package/dist/page-menu/page-menu.css +0 -1
  208. package/dist/page-menu/page-menu.css.map +0 -1
  209. package/dist/screen/screen.css +0 -1
  210. package/dist/screen/screen.css.map +0 -1
  211. package/dist/top-task-link/top-task-link.css +0 -1
  212. package/dist/top-task-link/top-task-link.css.map +0 -1
  213. package/src/common/size.scss +0 -14
  214. package/src/components/footer/footer.scss +0 -8
  215. package/src/components/header/header.scss +0 -216
  216. package/src/components/mega-menu/README.md +0 -3
  217. package/src/components/mega-menu/mega-menu.scss +0 -16
  218. package/src/components/page-menu/README.md +0 -24
  219. package/src/components/page-menu/page-menu.scss +0 -67
  220. package/src/components/screen/README.md +0 -23
  221. package/src/components/screen/screen.scss +0 -23
  222. package/src/components/top-task-link/README.md +0 -27
  223. package/src/components/top-task-link/top-task-link.scss +0 -45
@@ -8,7 +8,7 @@
8
8
  @mixin reset-input {
9
9
  -webkit-appearance: none; // Reset appearance for Safari < 15.4
10
10
  appearance: none; // Reset native appearance, this causes issues on iOS and Android devices
11
- border: 0;
11
+ border: none;
12
12
  border-radius: 0; // Reset rounded borders on iOS devices
13
13
  margin-block: 0;
14
14
  }
@@ -45,7 +45,7 @@
45
45
  background-color: var(--ams-password-input-disabled-background-color);
46
46
  box-shadow: var(--ams-password-input-disabled-box-shadow);
47
47
  color: var(--ams-password-input-disabled-color);
48
- cursor: not-allowed;
48
+ cursor: var(--ams-password-input-disabled-cursor);
49
49
  }
50
50
 
51
51
  .ams-password-input:invalid,
@@ -53,7 +53,6 @@
53
53
  box-shadow: var(--ams-password-input-invalid-box-shadow);
54
54
 
55
55
  &:hover {
56
- // TODO: this should be the (currently non-existent) dark red hover color
57
56
  box-shadow: var(--ams-password-input-invalid-hover-box-shadow);
58
57
  }
59
58
  }
@@ -5,6 +5,7 @@
5
5
 
6
6
  @use "../../common/input-label-focus" as *;
7
7
  @use "../../common/hide-input" as *;
8
+ @use "../../common/hyphenation" as *;
8
9
  @use "../../common/text-rendering" as *;
9
10
 
10
11
  .ams-radio__input {
@@ -15,7 +16,7 @@
15
16
  // Default
16
17
  .ams-radio__label {
17
18
  color: var(--ams-radio-color);
18
- cursor: pointer;
19
+ cursor: var(--ams-radio-cursor);
19
20
  display: inline-flex;
20
21
  font-family: var(--ams-radio-font-family);
21
22
  font-size: var(--ams-radio-font-size);
@@ -26,6 +27,7 @@
26
27
  text-decoration-thickness: var(--ams-radio-text-decoration-thickness);
27
28
  text-underline-offset: var(--ams-radio-text-underline-offset);
28
29
 
30
+ @include hyphenation;
29
31
  @include text-rendering;
30
32
  }
31
33
 
@@ -92,7 +94,7 @@
92
94
  // Disabled
93
95
  .ams-radio__input:disabled + .ams-radio__label {
94
96
  color: var(--ams-radio-disabled-color);
95
- cursor: not-allowed;
97
+ cursor: var(--ams-radio-disabled-cursor);
96
98
 
97
99
  .ams-radio__circle {
98
100
  stroke: var(--ams-radio-circle-disabled-stroke);
@@ -130,17 +132,14 @@
130
132
  // Invalid hover
131
133
  .ams-radio__input[aria-invalid="true"] + .ams-radio__label:hover {
132
134
  .ams-radio__circle {
133
- // TODO: this should be the (currently non-existent) dark red hover color
134
135
  stroke: var(--ams-radio-circle-invalid-hover-stroke);
135
136
  }
136
137
 
137
138
  .ams-radio__hover-indicator {
138
- // TODO: this should be the (currently non-existent) dark red hover color
139
139
  stroke: var(--ams-radio-hover-indicator-invalid-hover-stroke);
140
140
  }
141
141
 
142
142
  .ams-radio__checked-indicator {
143
- // TODO: this should be the (currently non-existent) dark red hover color
144
143
  fill: var(--ams-radio-checked-indicator-invalid-hover-fill);
145
144
  }
146
145
  }
@@ -3,22 +3,22 @@
3
3
  * Copyright Gemeente Amsterdam
4
4
  */
5
5
 
6
- @use "../../common/size" as *;
7
-
8
6
  .ams-row {
9
7
  display: flex;
10
- flex-direction: row;
11
- gap: var(--ams-row-gap-md);
8
+ gap: var(--ams-row-gap-medium);
12
9
  }
13
10
 
14
- @each $size, $label in $ams-sizes {
15
- @if $size != "md" {
16
- .ams-row--gap-#{$label} {
17
- gap: var(--ams-row-gap-#{$size});
18
- }
11
+ @each $size in ("x-small", "small", "large", "x-large") {
12
+ .ams-row--gap-#{$size} {
13
+ /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */
14
+ gap: var(--ams-row-gap-#{$size});
19
15
  }
20
16
  }
21
17
 
18
+ .ams-row--gap-none {
19
+ gap: 0;
20
+ }
21
+
22
22
  .ams-row--wrap {
23
23
  flex-wrap: wrap;
24
24
  }
@@ -13,7 +13,7 @@
13
13
  @mixin reset-input {
14
14
  -webkit-appearance: none; // Reset appearance for Safari < 15.4
15
15
  appearance: none; // Reset native appearance, this causes issues on iOS and Android devices
16
- border: 0;
16
+ border: none;
17
17
  border-radius: 0; // Reset rounded borders on iOS devices
18
18
  margin-block: 0;
19
19
  }
@@ -50,7 +50,6 @@
50
50
  box-shadow: var(--ams-search-field-input-invalid-box-shadow);
51
51
 
52
52
  &:hover {
53
- // TODO: this should be the (currently non-existent) dark red hover color
54
53
  box-shadow: var(--ams-search-field-input-invalid-hover-box-shadow);
55
54
  }
56
55
  }
@@ -64,7 +63,7 @@
64
63
  appearance: none;
65
64
  background-image: var(--ams-search-field-input-cancel-button-background-image);
66
65
  block-size: var(--ams-search-field-input-cancel-button-block-size);
67
- cursor: pointer;
66
+ cursor: var(--ams-search-field-input-cancel-button-cursor);
68
67
  inline-size: var(--ams-search-field-input-cancel-button-inline-size);
69
68
  margin-inline-start: 0.5rem;
70
69
  }
@@ -5,7 +5,7 @@
5
5
 
6
6
  @mixin reset-select {
7
7
  appearance: none; // Reset native appearance to hide default chevron
8
- border: 0;
8
+ border: none;
9
9
  border-radius: 0; // Reset rounded borders for Safari on MacOS
10
10
  }
11
11
 
@@ -45,7 +45,7 @@
45
45
  .ams-select:disabled {
46
46
  box-shadow: var(--ams-select-disabled-box-shadow);
47
47
  color: var(--ams-select-disabled-color);
48
- cursor: not-allowed;
48
+ cursor: var(--ams-select-disabled-cursor);
49
49
 
50
50
  &:not([multiple]) {
51
51
  background-image: var(--ams-select-disabled-background-image);
@@ -6,13 +6,13 @@ Allows skipping past recurring navigation blocks at the top of a page.
6
6
 
7
7
  ## Design
8
8
 
9
- The Skip Link sits above the header and is as wide as the Screen container.
9
+ The Skip Link sits above the Page Header and is as wide as the Page container.
10
10
  It remains hidden until activated with the ‘Tab’ key.
11
- After appearing, it pushes the entire page down.
11
+ After appearing, it pushes the rest of the page down.
12
12
 
13
13
  ## Guidelines
14
14
 
15
- - Place the Skip Link as the first element in the Screen.
15
+ - Place the Skip Link as the first element in the [Page](/docs/components-containers-page--docs) container.
16
16
  - Target the Skip Link to the main content.
17
17
  On an article page, for example, it could be the title of the article.
18
18
  On a search page, it could be the search field.
@@ -6,10 +6,12 @@ Emphasizes a section on a page through a distinctive background colour.
6
6
 
7
7
  ## Guidelines
8
8
 
9
- - Display the Spotlight at the entire width of the [Screen](/docs/components-layout-screen--docs); do not position it on the [Grid](/docs/components-layout-grid--docs).
9
+ - Display the Spotlight at the entire width of the [Page](/docs/components-containers-page--docs) container; do not position it on the [Grid](/docs/components-layout-grid--docs).
10
10
  - Add a Grid with medium vertical padding inside the Spotlight to add whitespace around the content, even for a single element.
11
- - The default background is purple, but the colours can be chosen freely – they do not convey a meaning or theme in itself.
12
- - Refer to [this overview on Stijlweb](https://amsterdam.nl/stijlweb/basiselementen/kleuren/#PagCls_15671872) to determine whether you can use black or white text on the background colour of your choice.
11
+ - Use any of the [highlight colours](/docs/brand-design-tokens-colour--docs) for the background.
12
+ The design system does not prescribe a meaning to any of these colours.
13
+ The default is purple.
14
+ - Select [the correct colour](?path=/docs/brand-design-tokens-colour--docs#pairing-foreground-with-background-colours) for text and links against the background you choose.
13
15
 
14
16
  ## Relevant WCAG requirements
15
17
 
@@ -7,22 +7,18 @@
7
7
  background-color: var(--ams-spotlight-background-color);
8
8
  }
9
9
 
10
- .ams-spotlight--blue {
11
- background-color: var(--ams-spotlight-blue-background-color);
12
- }
13
-
14
- .ams-spotlight--dark-blue {
15
- background-color: var(--ams-spotlight-dark-blue-background-color);
16
- }
17
-
18
- .ams-spotlight--dark-green {
19
- background-color: var(--ams-spotlight-dark-green-background-color);
10
+ .ams-spotlight--azure {
11
+ background-color: var(--ams-spotlight-azure-background-color);
20
12
  }
21
13
 
22
14
  .ams-spotlight--green {
23
15
  background-color: var(--ams-spotlight-green-background-color);
24
16
  }
25
17
 
18
+ .ams-spotlight--lime {
19
+ background-color: var(--ams-spotlight-lime-background-color);
20
+ }
21
+
26
22
  .ams-spotlight--magenta {
27
23
  background-color: var(--ams-spotlight-magenta-background-color);
28
24
  }
@@ -0,0 +1,11 @@
1
+ <!-- @license CC0-1.0 -->
2
+
3
+ # Standalone Link
4
+
5
+ A navigation element that is seperated from the text around it.
6
+
7
+ ## Guidelines
8
+
9
+ - Use a Standalone Link for links that need to stand out.
10
+ - Use a regular [Link](/docs/components-navigation-link--docs) within sentences or paragraphs of text.
11
+ - For additional guidelines, refer to the [Link](/docs/components-navigation-link--docs) component.
@@ -0,0 +1,53 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright Gemeente Amsterdam
4
+ */
5
+
6
+ @use "../../common/hyphenation" as *;
7
+ @use "../../common/text-rendering" as *;
8
+
9
+ .ams-standalone-link {
10
+ color: var(--ams-standalone-link-color);
11
+ column-gap: var(--ams-standalone-link-column-gap);
12
+ display: inline-flex;
13
+ font-family: var(--ams-standalone-link-font-family);
14
+ font-size: var(--ams-standalone-link-font-size);
15
+ font-weight: var(--ams-standalone-link-font-weight);
16
+ line-height: var(--ams-standalone-link-line-height);
17
+ outline-offset: var(--ams-standalone-link-outline-offset);
18
+ text-decoration-thickness: var(--ams-standalone-link-text-decoration-thickness);
19
+ text-underline-offset: var(--ams-standalone-link-text-underline-offset);
20
+
21
+ @include hyphenation;
22
+ @include text-rendering;
23
+
24
+ &:hover {
25
+ color: var(--ams-standalone-link-hover-color);
26
+ text-decoration-thickness: var(--ams-standalone-link-hover-text-decoration-thickness);
27
+ text-underline-offset: var(--ams-standalone-link-hover-text-underline-offset);
28
+ }
29
+ }
30
+
31
+ .ams-standalone-link--contrast {
32
+ color: var(--ams-standalone-link-contrast-color);
33
+
34
+ &:hover {
35
+ color: var(--ams-standalone-link-contrast-hover-color);
36
+ }
37
+ }
38
+
39
+ .ams-standalone-link--inverse {
40
+ color: var(--ams-standalone-link-inverse-color);
41
+
42
+ &:hover {
43
+ color: var(--ams-standalone-link-inverse-hover-color);
44
+ }
45
+ }
46
+
47
+ .ams-standalone-link--with-icon {
48
+ text-decoration-line: var(--ams-standalone-link-with-icon-text-decoration-line);
49
+
50
+ &:hover {
51
+ text-decoration-line: var(--ams-standalone-link-with-icon-hover-text-decoration-line);
52
+ }
53
+ }
@@ -20,7 +20,7 @@
20
20
  border: var(--ams-switch-track-border-width) solid transparent;
21
21
  border-radius: calc(var(--ams-switch-thumb-inline-size) * 2);
22
22
  box-sizing: border-box;
23
- cursor: pointer;
23
+ cursor: var(--ams-switch-cursor);
24
24
  display: inline-block;
25
25
  inline-size: var(--ams-switch-inline-size);
26
26
  outline-offset: var(--ams-switch-outline-offset);
@@ -49,7 +49,7 @@
49
49
 
50
50
  .ams-switch__input:disabled + .ams-switch__label {
51
51
  background-color: var(--ams-switch-disabled-background-color);
52
- cursor: not-allowed;
52
+ cursor: var(--ams-switch-disabled-cursor);
53
53
  }
54
54
 
55
55
  .ams-switch__input:checked + .ams-switch__label::before {
@@ -3,6 +3,7 @@
3
3
  * Copyright Gemeente Amsterdam
4
4
  */
5
5
 
6
+ @use "../../common/hyphenation" as *;
6
7
  @use "../../common/text-rendering" as *;
7
8
 
8
9
  @mixin reset-ul {
@@ -27,6 +28,7 @@
27
28
  gap: var(--ams-table-of-contents-list-gap);
28
29
  list-style: none;
29
30
 
31
+ @include hyphenation;
30
32
  @include text-rendering;
31
33
  @include reset-ul;
32
34
 
@@ -10,7 +10,7 @@ Tabs are used to bundle related content in a compact overview within a page. Eac
10
10
  - The content within each tab should have a similar structure.
11
11
  - Use when there is limited visual space and content needs to be divided into sections.
12
12
  - Each tab consists of a button and a panel.
13
- A `tab` prop with a corresponding value connects them.
13
+ The button has an `aria-controls` attribute that matches the `id` of the associated panel.
14
14
 
15
15
  You can navigate tabs with your keyboard:
16
16
 
@@ -7,7 +7,7 @@
7
7
 
8
8
  @mixin reset-button {
9
9
  background-color: transparent;
10
- border: 0;
10
+ border: none;
11
11
  margin-block: 0; // [1]
12
12
  margin-inline: 0; // [1]
13
13
 
@@ -29,6 +29,7 @@
29
29
  color: var(--ams-tabs-button-color);
30
30
  cursor: var(--ams-tabs-button-cursor);
31
31
  display: grid;
32
+ flex-shrink: 0;
32
33
  font-family: var(--ams-tabs-button-font-family);
33
34
  font-size: var(--ams-tabs-button-font-size);
34
35
  font-weight: var(--ams-tabs-button-font-weight);
@@ -48,14 +49,16 @@
48
49
  }
49
50
  }
50
51
 
52
+ &:hover:not([disabled]) {
53
+ color: var(--ams-tabs-button-hover-color);
54
+ }
55
+
51
56
  &:hover:not([aria-selected="true"], [disabled]) {
52
57
  box-shadow: var(--ams-tabs-button-hover-box-shadow);
53
- color: var(--ams-tabs-button-hover-color);
54
58
  }
55
59
 
56
60
  &[aria-selected="true"] {
57
61
  box-shadow: var(--ams-tabs-button-selected-box-shadow);
58
- color: var(--ams-tabs-button-selected-color);
59
62
  font-weight: var(--ams-tabs-button-selected-font-weight);
60
63
 
61
64
  @media (forced-colors: active) {
@@ -8,7 +8,7 @@
8
8
  @mixin reset-textarea {
9
9
  -webkit-appearance: none; // Reset appearance for Safari < 15.4
10
10
  appearance: none; // Reset native appearance, this causes issues on iOS and Android devices
11
- border: 0;
11
+ border: none;
12
12
  border-radius: 0; // Reset rounded borders on iOS devices
13
13
  margin-block: 0;
14
14
  }
@@ -55,7 +55,6 @@
55
55
  box-shadow: var(--ams-text-area-invalid-box-shadow);
56
56
 
57
57
  &:hover {
58
- // TODO: this should be the (currently non-existent) dark red hover color
59
58
  box-shadow: var(--ams-text-area-invalid-hover-box-shadow);
60
59
  }
61
60
  }
@@ -8,7 +8,7 @@
8
8
  @mixin reset-input {
9
9
  -webkit-appearance: none; // Reset appearance for Safari < 15.4
10
10
  appearance: none; // Reset native appearance, this causes issues on iOS and Android devices
11
- border: 0;
11
+ border: none;
12
12
  border-radius: 0; // Reset rounded borders on iOS devices
13
13
  margin-block: 0;
14
14
  }
@@ -45,7 +45,7 @@
45
45
  background-color: var(--ams-text-input-disabled-background-color);
46
46
  box-shadow: var(--ams-text-input-disabled-box-shadow);
47
47
  color: var(--ams-text-input-disabled-color);
48
- cursor: not-allowed;
48
+ cursor: var(--ams-text-input-disabled-cursor);
49
49
  }
50
50
 
51
51
  .ams-text-input:invalid,
@@ -53,7 +53,6 @@
53
53
  box-shadow: var(--ams-text-input-invalid-box-shadow);
54
54
 
55
55
  &:hover {
56
- // TODO: this should be the (currently non-existent) dark red hover color
57
56
  box-shadow: var(--ams-text-input-invalid-hover-box-shadow);
58
57
  }
59
58
  }
@@ -8,7 +8,7 @@
8
8
  @mixin reset-input {
9
9
  -webkit-appearance: none; // Reset appearance for Safari < 15.4
10
10
  appearance: none; // Reset native appearance, this causes issues on iOS and Android devices
11
- border: 0;
11
+ border: none;
12
12
  border-radius: 0; // Reset rounded borders on iOS devices
13
13
  inline-size: auto; // Reset inline size of 10em set by Android devices
14
14
  margin-block: 0;
@@ -48,7 +48,7 @@
48
48
  .ams-time-input::-webkit-calendar-picker-indicator {
49
49
  appearance: none;
50
50
  background-image: var(--ams-time-input-calender-picker-indicator-background-image);
51
- cursor: pointer;
51
+ cursor: var(--ams-time-input-calender-picker-indicator-cursor);
52
52
  }
53
53
 
54
54
  .ams-time-input:hover::-webkit-calendar-picker-indicator {
@@ -59,7 +59,7 @@
59
59
  background-color: var(--ams-time-input-disabled-background-color);
60
60
  box-shadow: var(--ams-time-input-disabled-box-shadow);
61
61
  color: var(--ams-time-input-disabled-color);
62
- cursor: not-allowed;
62
+ cursor: var(--ams-time-input-disabled-cursor);
63
63
  }
64
64
 
65
65
  .ams-time-input:disabled::-webkit-calendar-picker-indicator {
@@ -72,7 +72,6 @@
72
72
  box-shadow: var(--ams-time-input-invalid-box-shadow);
73
73
 
74
74
  &:hover {
75
- // TODO: this should be the (currently non-existent) dark red hover color
76
75
  box-shadow: var(--ams-time-input-invalid-hover-box-shadow);
77
76
  }
78
77
  }
@@ -3,6 +3,7 @@
3
3
  * Copyright Gemeente Amsterdam
4
4
  */
5
5
 
6
+ @use "../../common/hyphenation" as *;
6
7
  @use "../../common/text-rendering" as *;
7
8
 
8
9
  @mixin reset-ul {
@@ -16,6 +17,7 @@
16
17
  display: grid;
17
18
  gap: var(--ams-unordered-list-gap);
18
19
 
20
+ @include hyphenation;
19
21
  @include text-rendering;
20
22
  @include reset-ul;
21
23
  }
@@ -34,7 +36,7 @@
34
36
  }
35
37
  }
36
38
 
37
- .ams-unordered-list--inverse-color:not(.ams-unordered-list--no-markers) {
39
+ .ams-unordered-list--inverse:not(.ams-unordered-list--no-markers) {
38
40
  color: var(--ams-unordered-list-inverse-color);
39
41
  }
40
42
 
@@ -11,5 +11,6 @@
11
11
  inline-size: 1px;
12
12
  overflow: hidden;
13
13
  position: absolute;
14
+ user-select: none;
14
15
  white-space: nowrap;
15
16
  }
@@ -1 +0,0 @@
1
- .ams-footer__top{background-color:var(--ams-footer-top-background-color)}/*# sourceMappingURL=footer.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sourceRoot":"","sources":["../../src/components/footer/footer.scss"],"names":[],"mappings":"AAKA,iBACE","file":"footer.css"}
@@ -1 +0,0 @@
1
- .ams-form-error-list{outline-offset:var(--ams-form-error-list-outline-offset)}@supports(contain: paint) and (not (-moz-appearance: none)){.ams-form-error-list{outline-offset:calc(var(--ams-form-error-list-outline-offset)*2)}@supports(font: -apple-system-body){.ams-form-error-list{outline-offset:var(--ams-form-error-list-outline-offset)}}}/*# sourceMappingURL=form-error-list.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sourceRoot":"","sources":["../../src/components/form-error-list/form-error-list.scss"],"names":[],"mappings":"AAAA,qBACE,yDAIA,4DALF,qBAMI,iEAGA,oCATJ,qBAUM","file":"form-error-list.css"}
@@ -1 +0,0 @@
1
- .ams-header{display:grid;padding-block:var(--ams-header-padding-block);padding-inline:var(--ams-header-padding-inline)}.ams-header__branding{align-items:center;align-self:start;column-gap:var(--ams-header-branding-column-gap);display:flex;grid-area:1/1}.ams-header__branding--hidden{opacity:0%;user-select:none}.ams-header__logo-link{outline-offset:var(--ams-header-logo-link-outline-offset)}.ams-heading.ams-header__brand-name{line-height:1.35}.ams-header__navigation{column-gap:var(--ams-header-navigation-column-gap);display:flex;flex-wrap:wrap;grid-area:1/1;pointer-events:none;row-gap:var(--ams-header-navigation-row-gap)}.ams-header__menu{align-items:center;column-gap:var(--ams-header-menu-column-gap);display:flex;flex-wrap:wrap;justify-content:flex-end;margin-inline-start:auto;pointer-events:auto;row-gap:var(--ams-header-menu-row-gap);list-style:none;margin-block:0;padding-inline-start:0}@media screen and not (min-width: 68rem){.ams-header__menu-item{display:none}}.ams-header__menu-item--fixed{display:revert}.ams-header__menu-link{display:inline-block;text-decoration-line:var(--ams-header-menu-link-text-decoration-line);text-decoration-thickness:var(--ams-header-menu-link-text-decoration-thickness);text-underline-offset:var(--ams-header-menu-link-text-underline-offset);color:var(--ams-header-menu-item-color);font-family:var(--ams-header-menu-item-font-family);font-size:var(--ams-header-menu-item-font-size);font-weight:var(--ams-header-menu-item-font-weight);line-height:var(--ams-header-menu-item-line-height);outline-offset:var(--ams-header-menu-item-outline-offset);padding-block:var(--ams-header-menu-item-padding-block);touch-action:manipulation;white-space:nowrap;text-rendering:optimizeLegibility;-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}.ams-header__menu-link:hover{color:var(--ams-header-menu-item-hover-color)}.ams-header__menu-link:hover{text-decoration-line:var(--ams-header-menu-link-hover-text-decoration-line)}@media screen and (min-width: 68rem){.ams-header__mega-menu-button-item--hide-on-wide-window{display:none}}.ams-header__mega-menu-button{column-gap:var(--ams-header-menu-item-column-gap);cursor:pointer;display:grid;grid-auto-flow:column;color:var(--ams-header-menu-item-color);font-family:var(--ams-header-menu-item-font-family);font-size:var(--ams-header-menu-item-font-size);font-weight:var(--ams-header-menu-item-font-weight);line-height:var(--ams-header-menu-item-line-height);outline-offset:var(--ams-header-menu-item-outline-offset);padding-block:var(--ams-header-menu-item-padding-block);touch-action:manipulation;white-space:nowrap;text-rendering:optimizeLegibility;-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;background:none;border:0;margin-block:0;margin-inline:0;padding-inline:0}.ams-header__mega-menu-button:hover{color:var(--ams-header-menu-item-hover-color)}.ams-header__mega-menu-button[aria-expanded=true]{font-weight:var(--ams-header-mega-menu-button-label-open-font-weight)}.ams-header__mega-menu-button-label,.ams-header__mega-menu-button-hidden-label{grid-area:1/1}.ams-header__mega-menu-button-hidden-label{font-weight:var(--ams-header-mega-menu-button-label-open-font-weight);pointer-events:none;user-select:none;visibility:hidden}.ams-header__menu-icon line{stroke:currentColor;stroke-width:3px;transform-origin:center;transition:translate .1s ease-in-out,rotate .2s ease-in-out,opacity .1s ease-in-out}@media(prefers-reduced-motion){.ams-header__menu-icon line{transition:none}}.ams-header__menu-icon .ams-header__menu-icon-top{translate:0 -7px}.ams-header__menu-icon .ams-header__menu-icon-bottom{translate:0 7px}.ams-header__menu-icon--open .ams-header__menu-icon-top{rotate:45deg;translate:0}.ams-header__menu-icon--open .ams-header__menu-icon-middle{opacity:0%}.ams-header__menu-icon--open .ams-header__menu-icon-bottom{rotate:-45deg;translate:0}.ams-header__mega-menu{inline-size:100%;pointer-events:auto}.ams-header__mega-menu .ams-grid{padding-inline:0}.ams-header__mega-menu--closed.ams-header__mega-menu--closed{display:none}@media screen and (min-width: 68rem){.ams-header__grid-cell-narrow-window-only{display:none}}/*# sourceMappingURL=header.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sourceRoot":"","sources":["../../src/components/header/header.scss","../../src/common/text-rendering.scss"],"names":[],"mappings":"AAQA,YAME,aACA,8CACA,gDAGF,sBACE,mBACA,iBACA,iDACA,aACA,cAGF,8BACE,WACA,iBAGF,uBACE,0DAIF,oCACE,iBAGF,wBACE,mDACA,aACA,eACA,cAGA,oBACA,6CASF,kBACE,mBACA,6CACA,aACA,eACA,yBACA,yBACA,oBACA,uCAbA,gBACA,eACA,uBAkBA,yCADF,uBAEI,cAKJ,8BACE,eAqBF,uBACE,qBACA,sEACA,gFACA,wEArBA,wCACA,oDACA,gDACA,oDACA,oDACA,0DACA,wDACA,0BACA,mBClFA,kCACA,2BACA,8BACA,sBDmFA,6BACE,8CAYF,6BACE,4EAKF,qCADF,wDAEI,cAcJ,8BACE,kDACA,eACA,aACA,sBAlDA,wCACA,oDACA,gDACA,oDACA,oDACA,0DACA,wDACA,0BACA,mBClFA,kCACA,2BACA,8BACA,sBD4GA,gBACA,SACA,eACA,gBACA,iBA7BA,oCACE,8CA2CJ,kDACE,sEAGF,+EAEE,cAKF,2CACE,sEACA,oBACA,iBACA,kBAIA,4BACE,oBACA,iBACA,wBACA,WACE,yEAIF,+BATF,4BAUI,iBAIJ,kDACE,iBAGF,qDACE,gBAKF,wDACE,aACA,YAEF,2DACE,WAEF,2DACE,cACA,YAIJ,uBACE,iBACA,oBAIA,iCACE,iBAIJ,6DACE,aAIA,qCADF,0CAEI","file":"header.css"}
@@ -1 +0,0 @@
1
- .ams-mega-menu__list-category{column-gap:var(--ams-mega-menu-list-category-column-gap);column-width:var(--ams-mega-menu-list-category-column-width);padding-block-start:var(--ams-mega-menu-list-category-padding-block-start)}.ams-mega-menu__list-category:not(:last-child){padding-block-end:var(--ams-mega-menu-list-category-padding-block-end)}/*# sourceMappingURL=mega-menu.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sourceRoot":"","sources":["../../src/components/mega-menu/mega-menu.scss"],"names":[],"mappings":"AAKA,8BACE,yDACA,6DAGA,2EAEA,+CACE","file":"mega-menu.css"}
@@ -1 +0,0 @@
1
- .ams-page-menu{align-items:center;box-sizing:border-box;column-gap:var(--ams-page-menu-column-gap);display:flex;flex-direction:row;flex-wrap:wrap;list-style:none;row-gap:var(--ams-page-menu-row-gap);margin-block:0;padding-inline:0}.ams-page-menu--align-end{justify-content:end}.ams-page-menu--no-wrap{flex-wrap:nowrap}.ams-page-menu__link{box-sizing:border-box;color:var(--ams-page-menu-item-color);display:inline-flex;flex-direction:row;font-family:var(--ams-page-menu-item-font-family);font-size:var(--ams-page-menu-item-font-size);font-weight:var(--ams-page-menu-item-font-weight);gap:var(--ams-page-menu-item-gap);line-height:var(--ams-page-menu-item-line-height);outline-offset:var(--ams-page-menu-item-outline-offset);text-align:center;text-decoration-line:var(--ams-page-menu-item-text-decoration-line);text-decoration-thickness:var(--ams-page-menu-item-text-decoration-thickness);text-underline-offset:var(--ams-page-menu-item-text-underline-offset);touch-action:manipulation;white-space:nowrap;text-rendering:optimizeLegibility;-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}.ams-page-menu__link:hover,.ams-page-menu__button:hover{color:var(--ams-page-menu-item-hover-color);text-decoration-line:var(--ams-page-menu-item-hover-text-decoration-line)}.ams-page-menu__link svg{color:currentColor}/*# sourceMappingURL=page-menu.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sourceRoot":"","sources":["../../src/components/page-menu/page-menu.scss","../../src/common/text-rendering.scss"],"names":[],"mappings":"AAYA,eACE,mBACA,sBACA,2CACA,aACA,mBACA,eACA,gBACA,qCAZA,eACA,iBAgBF,0BACE,oBAGF,wBACE,iBAqBF,qBACE,sBAlBA,sCACA,oBACA,mBACA,kDACA,8CACA,kDACA,kCACA,kDACA,wDACA,kBACA,oEACA,8EACA,sEACA,0BACA,mBCtCA,kCACA,2BACA,8BACA,sBD6CF,wDAEE,4CACA,0EAGF,yBACE","file":"page-menu.css"}
@@ -1 +0,0 @@
1
- .ams-screen{background-color:var(--ams-screen-background-color);box-sizing:border-box;margin-inline:auto;position:relative}.ams-screen--full-height{min-block-size:100vh}.ams-screen--wide{max-inline-size:var(--ams-screen-wide-max-inline-size)}.ams-screen--x-wide{max-inline-size:var(--ams-screen-x-wide-max-inline-size)}/*# sourceMappingURL=screen.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sourceRoot":"","sources":["../../src/components/screen/screen.scss"],"names":[],"mappings":"AAKA,YACE,oDACA,sBACA,mBACA,kBAGF,yBACE,qBAGF,kBACE,uDAGF,oBACE","file":"screen.css"}
@@ -1 +0,0 @@
1
- .ams-top-task-link{break-inside:avoid;display:flex;flex-direction:column;gap:var(--ams-top-task-link-gap);outline-offset:var(--ams-top-task-link-outline-offset);text-decoration:none}.ams-top-task-link__label{box-sizing:border-box;color:var(--ams-top-task-link-label-color);font-family:var(--ams-top-task-link-label-font-family);font-size:var(--ams-top-task-link-label-font-size);font-weight:var(--ams-top-task-link-label-font-weight);line-height:var(--ams-top-task-link-label-line-height);text-decoration-line:var(--ams-top-task-link-label-text-decoration-line);text-decoration-thickness:var(--ams-top-task-link-label-text-decoration-thickness);text-underline-offset:var(--ams-top-task-link-label-text-underline-offset);hyphenate-limit-chars:var(--ams-hyphenation-hyphenate-limit-chars);hyphens:var(--ams-hyphenation-hyphens);overflow-wrap:var(--ams-hyphenation-overflow-wrap);text-rendering:optimizeLegibility;-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}.ams-top-task-link:hover .ams-top-task-link__label{color:var(--ams-top-task-link-label-hover-color);text-decoration-line:var(--ams-top-task-link-label-hover-text-decoration-line)}.ams-top-task-link__description{box-sizing:border-box;color:var(--ams-top-task-link-description-color);font-family:var(--ams-top-task-link-description-font-family);font-size:var(--ams-top-task-link-description-font-size);font-weight:var(--ams-top-task-link-description-font-weight);line-height:var(--ams-top-task-link-description-line-height)}/*# sourceMappingURL=top-task-link.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sourceRoot":"","sources":["../../src/components/top-task-link/top-task-link.scss","../../src/common/hyphenation.scss","../../src/common/text-rendering.scss"],"names":[],"mappings":"AAQA,mBACE,mBACA,aACA,sBACA,iCACA,uDACA,qBAGF,0BACE,sBACA,2CACA,uDACA,mDACA,uDACA,uDACA,yEACA,mFACA,2ECpBA,mEACA,uCACA,mDCEA,kCACA,2BACA,8BACA,sBFmBF,mDACE,iDACA,+EAGF,gCACE,sBACA,iDACA,6DACA,yDACA,6DACA","file":"top-task-link.css"}
@@ -1,14 +0,0 @@
1
- /**
2
- * @license EUPL-1.2+
3
- * Copyright Gemeente Amsterdam
4
- */
5
-
6
- /** The set of available widths for gaps and margins. */
7
- $ams-sizes: (
8
- "no": "none",
9
- "xs": "extra-small",
10
- "sm": "small",
11
- "md": "medium",
12
- "lg": "large",
13
- "xl": "extra-large",
14
- );
@@ -1,8 +0,0 @@
1
- /**
2
- * @license EUPL-1.2+
3
- * Copyright Gemeente Amsterdam
4
- */
5
-
6
- .ams-footer__top {
7
- background-color: var(--ams-footer-top-background-color);
8
- }