@amsterdam/design-system-css 0.1.4 → 0.1.6

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 (128) hide show
  1. package/README.md +1 -1
  2. package/dist/accordion/accordion.css +1 -69
  3. package/dist/accordion/accordion.css.map +1 -1
  4. package/dist/aspect-ratio/aspect-ratio.css +30 -0
  5. package/dist/aspect-ratio/aspect-ratio.css.map +1 -0
  6. package/dist/blockquote/blockquote.css +1 -0
  7. package/dist/blockquote/blockquote.css.map +1 -0
  8. package/dist/breadcrumb/breadcrumb.css +1 -0
  9. package/dist/breadcrumb/breadcrumb.css.map +1 -0
  10. package/dist/button/button.css +1 -706
  11. package/dist/button/button.css.map +1 -1
  12. package/dist/buttons/button/button.css +729 -0
  13. package/dist/buttons/button/button.css.map +1 -0
  14. package/dist/card/card.css +56 -0
  15. package/dist/card/card.css.map +1 -0
  16. package/dist/checkbox/checkbox.css +1 -0
  17. package/dist/checkbox/checkbox.css.map +1 -0
  18. package/dist/containers/accordion/accordion.css +69 -0
  19. package/dist/containers/accordion/accordion.css.map +1 -0
  20. package/dist/containers/footer/footer.css +35 -0
  21. package/dist/containers/footer/footer.css.map +1 -0
  22. package/dist/containers/visually-hidden/visually-hidden.css +18 -0
  23. package/dist/containers/visually-hidden/visually-hidden.css.map +1 -0
  24. package/dist/footer/footer.css +1 -0
  25. package/dist/footer/footer.css.map +1 -0
  26. package/dist/form-label/form-label.css +1 -26
  27. package/dist/form-label/form-label.css.map +1 -1
  28. package/dist/forms/checkbox/checkbox.css +170 -0
  29. package/dist/forms/checkbox/checkbox.css.map +1 -0
  30. package/dist/forms/form-label/form-label.css +26 -0
  31. package/dist/forms/form-label/form-label.css.map +1 -0
  32. package/dist/grid/grid-cell.css +1 -0
  33. package/dist/grid/grid-cell.css.map +1 -0
  34. package/dist/grid/page-grid.css +1 -0
  35. package/dist/grid/page-grid.css.map +1 -0
  36. package/dist/heading/heading.css +1 -64
  37. package/dist/heading/heading.css.map +1 -1
  38. package/dist/hero/hero.css +1 -0
  39. package/dist/hero/hero.css.map +1 -0
  40. package/dist/icon/icon.css +1 -122
  41. package/dist/icon/icon.css.map +1 -1
  42. package/dist/index.css +1 -0
  43. package/dist/index.css.map +1 -0
  44. package/dist/layout/grid-cell/grid-cell.css +88 -0
  45. package/dist/layout/grid-cell/grid-cell.css.map +1 -0
  46. package/dist/layout/page-grid/page-grid.css +26 -0
  47. package/dist/layout/page-grid/page-grid.css.map +1 -0
  48. package/dist/link/link.css +1 -97
  49. package/dist/link/link.css.map +1 -1
  50. package/dist/media/icon/icon.css +122 -0
  51. package/dist/media/icon/icon.css.map +1 -0
  52. package/dist/navigation/breadcrumb/breadcrumb.css +67 -0
  53. package/dist/navigation/breadcrumb/breadcrumb.css.map +1 -0
  54. package/dist/navigation/link/link.css +111 -0
  55. package/dist/navigation/link/link.css.map +1 -0
  56. package/dist/navigation/page-menu/page-menu.css +83 -0
  57. package/dist/navigation/page-menu/page-menu.css.map +1 -0
  58. package/dist/navigation/top-task-link/top-task-link.css +59 -0
  59. package/dist/navigation/top-task-link/top-task-link.css.map +1 -0
  60. package/dist/ordered-list/ordered-list.css +1 -0
  61. package/dist/ordered-list/ordered-list.css.map +1 -0
  62. package/dist/page-heading/page-heading.css +1 -0
  63. package/dist/page-heading/page-heading.css.map +1 -0
  64. package/dist/page-menu/page-menu.css +1 -0
  65. package/dist/page-menu/page-menu.css.map +1 -0
  66. package/dist/paragraph/paragraph.css +1 -49
  67. package/dist/paragraph/paragraph.css.map +1 -1
  68. package/dist/switch/switch.css +59 -0
  69. package/dist/switch/switch.css.map +1 -0
  70. package/dist/testula/testula.css +9 -0
  71. package/dist/testula/testula.css.map +1 -0
  72. package/dist/text/blockquote/blockquote.css +43 -0
  73. package/dist/text/blockquote/blockquote.css.map +1 -0
  74. package/dist/text/heading/heading.css +67 -0
  75. package/dist/text/heading/heading.css.map +1 -0
  76. package/dist/text/ordered-list/ordered-list.css +54 -0
  77. package/dist/text/ordered-list/ordered-list.css.map +1 -0
  78. package/dist/text/page-heading/page-heading.css +34 -0
  79. package/dist/text/page-heading/page-heading.css.map +1 -0
  80. package/dist/text/paragraph/paragraph.css +53 -0
  81. package/dist/text/paragraph/paragraph.css.map +1 -0
  82. package/dist/text/unordered-list/unordered-list.css +54 -0
  83. package/dist/text/unordered-list/unordered-list.css.map +1 -0
  84. package/dist/top-task-link/top-task-link.css +1 -0
  85. package/dist/top-task-link/top-task-link.css.map +1 -0
  86. package/dist/unordered-list/unordered-list.css +1 -47
  87. package/dist/unordered-list/unordered-list.css.map +1 -1
  88. package/dist/visually-hidden/visually-hidden.css +1 -0
  89. package/dist/visually-hidden/visually-hidden.css.map +1 -0
  90. package/package.json +7 -6
  91. package/src/accordion/README.md +25 -2
  92. package/src/accordion/accordion.scss +2 -2
  93. package/src/blockquote/README.md +14 -0
  94. package/src/blockquote/blockquote.scss +41 -0
  95. package/src/breadcrumb/README.md +15 -0
  96. package/src/breadcrumb/breadcrumb.scss +68 -0
  97. package/src/button/button.scss +36 -4
  98. package/src/checkbox/README.md +27 -0
  99. package/src/checkbox/checkbox-css.md +3 -0
  100. package/src/checkbox/checkbox.scss +225 -0
  101. package/src/footer/README.md +11 -0
  102. package/src/footer/footer-css.md +11 -0
  103. package/src/footer/footer.scss +29 -0
  104. package/src/form-label/form-label.scss +2 -2
  105. package/src/grid/README.md +11 -0
  106. package/src/grid/grid-cell.scss +18 -0
  107. package/src/grid/page-grid.scss +19 -0
  108. package/src/heading/heading.scss +18 -15
  109. package/src/icon/icon.scss +10 -10
  110. package/src/index.scss +19 -0
  111. package/src/link/README.md +28 -12
  112. package/src/link/link.scss +61 -36
  113. package/src/ordered-list/README.md +7 -0
  114. package/src/ordered-list/ordered-list.scss +53 -0
  115. package/src/page-heading/README.md +16 -0
  116. package/src/page-heading/page-heading.scss +31 -0
  117. package/src/page-menu/README.md +15 -0
  118. package/src/page-menu/page-menu.scss +79 -0
  119. package/src/paragraph/paragraph.scss +12 -8
  120. package/src/top-task-link/README.md +15 -0
  121. package/src/top-task-link/top-task-link.scss +55 -0
  122. package/src/unordered-list/README.md +5 -13
  123. package/src/unordered-list/unordered-list.scss +26 -17
  124. package/src/visually-hidden/README.md +5 -0
  125. package/src/visually-hidden/visually-hidden.scss +17 -0
  126. package/dist/list/list.css +0 -12
  127. package/dist/list/list.css.map +0 -1
  128. package/src/list/list.scss +0 -16
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright (c) 2023 Gemeente Amsterdam
4
+ */
5
+ /**
6
+ * @license EUPL-1.2+
7
+ * Copyright (c) 2023 Gemeente Amsterdam
8
+ */
9
+ /*
10
+ The breakpoint is 854px / 16 = 53.375rems
11
+ https://developer.mozilla.org/en-US/docs/Web/CSS/@media#accessibility_concerns
12
+ */
13
+ /** Apply border box sizing, reset whitespace and list styles. */
14
+ /** A list is a grid column with a gap between items. */
15
+ .amsterdam-ordered-list {
16
+ box-sizing: border-box;
17
+ list-style-type: none;
18
+ margin-block: 0;
19
+ padding-inline-start: 0;
20
+ -webkit-text-size-adjust: 100%;
21
+ display: grid;
22
+ gap: var(--amsterdam-ordered-list-gap);
23
+ }
24
+
25
+ /** A list with markers sets typography for its text content. */
26
+ .amsterdam-ordered-list:not(.amsterdam-ordered-list--no-markers) {
27
+ color: var(--amsterdam-ordered-list-color);
28
+ font-family: var(--amsterdam-ordered-list-font-family);
29
+ font-size: var(--amsterdam-ordered-list-narrow-font-size);
30
+ font-weight: var(--amsterdam-ordered-list-font-weight);
31
+ line-height: var(--amsterdam-ordered-list-line-height);
32
+ list-style-type: var(--amsterdam-ordered-list-list-style-type);
33
+ /** List items are responsible for indentation and marker positioning. */
34
+ }
35
+ @media screen and (width > 53.375rem) {
36
+ .amsterdam-ordered-list:not(.amsterdam-ordered-list--no-markers) {
37
+ font-size: var(--amsterdam-ordered-list-wide-font-size);
38
+ }
39
+ }
40
+ .amsterdam-ordered-list:not(.amsterdam-ordered-list--no-markers) .amsterdam-ordered-list__item {
41
+ margin-inline-start: var(--amsterdam-ordered-list-item-margin-inline-start);
42
+ padding-inline-start: var(--amsterdam-ordered-list-item-padding-inline-start);
43
+ }
44
+
45
+ /** A nested list has a different marker and less indentation for correct alignment. */
46
+ :is(.amsterdam-ordered-list, .amsterdam-unordered-list) .amsterdam-ordered-list {
47
+ list-style-type: var(--amsterdam-ordered-list-ordered-list-list-style-type);
48
+ }
49
+ :is(.amsterdam-ordered-list, .amsterdam-unordered-list) .amsterdam-ordered-list .amsterdam-ordered-list__item {
50
+ margin-inline-start: var(--amsterdam-ordered-list-ordered-list-item-margin-inline-start);
51
+ padding-inline-start: var(--amsterdam-ordered-list-ordered-list-item-padding-inline-start);
52
+ }
53
+
54
+ /*# sourceMappingURL=ordered-list.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/text/ordered-list/ordered-list.scss","../../../utils/breakpoint.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;ADEA;AASA;AACA;EARE;EACA;EACA;EACA;EACA;EAOA;EACA;;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;AAMA;;AAJA;EARF;IASI;;;AAIF;EACE;EACA;;;AAIJ;AACA;EACE;;AAEA;EACE;EACA","file":"ordered-list.css"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright (c) 2023 Gemeente Amsterdam
4
+ */
5
+ /**
6
+ * @license EUPL-1.2+
7
+ * Copyright (c) 2023 Gemeente Amsterdam
8
+ */
9
+ /*
10
+ The breakpoint is 854px / 16 = 53.375rems
11
+ https://developer.mozilla.org/en-US/docs/Web/CSS/@media#accessibility_concerns
12
+ */
13
+ .amsterdam-page-heading {
14
+ break-after: avoid;
15
+ break-inside: avoid;
16
+ color: var(--amsterdam-page-heading-color);
17
+ font-family: var(--amsterdam-page-heading-font-family);
18
+ font-size: var(--amsterdam-page-heading-narrow-font-size);
19
+ font-weight: var(--amsterdam-page-heading-font-weight);
20
+ line-height: var(--amsterdam-page-heading-line-height);
21
+ box-sizing: border-box;
22
+ margin-block: 0;
23
+ }
24
+ @media screen and (width > 53.375rem) {
25
+ .amsterdam-page-heading {
26
+ font-size: var(--amsterdam-page-heading-wide-font-size);
27
+ }
28
+ }
29
+
30
+ .amsterdam-page-heading--inverse-color {
31
+ color: var(--amsterdam-page-heading-inverse-color);
32
+ }
33
+
34
+ /*# sourceMappingURL=page-heading.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/text/page-heading/page-heading.scss","../../../utils/breakpoint.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;ADOA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAXA;EACA;;AAYA;EATF;IAUI;;;;AAMJ;EACE","file":"page-heading.css"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright (c) 2023 Gemeente Amsterdam
4
+ */
5
+ /**
6
+ * @license EUPL-1.2+
7
+ * Copyright (c) 2023 Gemeente Amsterdam
8
+ */
9
+ /*
10
+ The breakpoint is 854px / 16 = 53.375rems
11
+ https://developer.mozilla.org/en-US/docs/Web/CSS/@media#accessibility_concerns
12
+ */
13
+ .amsterdam-paragraph {
14
+ color: var(--amsterdam-paragraph-color);
15
+ font-family: var(--amsterdam-paragraph-font-family);
16
+ font-size: var(--amsterdam-paragraph-narrow-font-size);
17
+ font-weight: var(--amsterdam-paragraph-font-weight);
18
+ line-height: var(--amsterdam-paragraph-line-height);
19
+ box-sizing: border-box;
20
+ margin-block: 0;
21
+ -webkit-text-size-adjust: 100%;
22
+ }
23
+ @media screen and (width > 53.375rem) {
24
+ .amsterdam-paragraph {
25
+ font-size: var(--amsterdam-paragraph-wide-font-size);
26
+ }
27
+ }
28
+
29
+ .amsterdam-paragraph--small {
30
+ font-size: var(--amsterdam-paragraph-small-narrow-font-size);
31
+ line-height: var(--amsterdam-paragraph-small-line-height);
32
+ }
33
+ @media screen and (width > 53.375rem) {
34
+ .amsterdam-paragraph--small {
35
+ font-size: var(--amsterdam-paragraph-small-wide-font-size);
36
+ }
37
+ }
38
+
39
+ .amsterdam-paragraph--large {
40
+ font-size: var(--amsterdam-paragraph-large-narrow-font-size);
41
+ line-height: var(--amsterdam-paragraph-large-line-height);
42
+ }
43
+ @media screen and (width > 53.375rem) {
44
+ .amsterdam-paragraph--large {
45
+ font-size: var(--amsterdam-paragraph-large-wide-font-size);
46
+ }
47
+ }
48
+
49
+ .amsterdam-paragraph--inverse-color {
50
+ color: var(--amsterdam-paragraph-inverse-color);
51
+ }
52
+
53
+ /*# sourceMappingURL=paragraph.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/text/paragraph/paragraph.scss","../../../utils/breakpoint.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;ADQA;EACE;EACA;EACA;EACA;EACA;EAVA;EACA;EACA;;AAUA;EAPF;IAQI;;;;AAMJ;EACE;EACA;;AAEA;EAJF;IAKI;;;;AAIJ;EACE;EACA;;AAEA;EAJF;IAKI;;;;AAIJ;EACE","file":"paragraph.css"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright (c) 2023 Gemeente Amsterdam
4
+ */
5
+ /**
6
+ * @license EUPL-1.2+
7
+ * Copyright (c) 2023 Gemeente Amsterdam
8
+ */
9
+ /*
10
+ The breakpoint is 854px / 16 = 53.375rems
11
+ https://developer.mozilla.org/en-US/docs/Web/CSS/@media#accessibility_concerns
12
+ */
13
+ /** Apply border box sizing, reset whitespace and list styles. */
14
+ /** A list is a grid column with a gap between items. */
15
+ .amsterdam-unordered-list {
16
+ box-sizing: border-box;
17
+ list-style: none;
18
+ margin-block: 0;
19
+ padding-inline-start: 0;
20
+ -webkit-text-size-adjust: 100%;
21
+ display: grid;
22
+ gap: var(--amsterdam-unordered-list-gap);
23
+ }
24
+
25
+ /** A list with markers sets typography for its text content. */
26
+ .amsterdam-unordered-list:not(.amsterdam-unordered-list--no-markers) {
27
+ color: var(--amsterdam-unordered-list-color);
28
+ font-family: var(--amsterdam-unordered-list-font-family);
29
+ font-size: var(--amsterdam-unordered-list-narrow-font-size);
30
+ font-weight: var(--amsterdam-unordered-list-font-weight);
31
+ line-height: var(--amsterdam-unordered-list-line-height);
32
+ list-style-type: var(--amsterdam-unordered-list-list-style-type);
33
+ /** List items are responsible for indentation and marker positioning. */
34
+ }
35
+ @media screen and (width > 53.375rem) {
36
+ .amsterdam-unordered-list:not(.amsterdam-unordered-list--no-markers) {
37
+ font-size: var(--amsterdam-unordered-list-wide-font-size);
38
+ }
39
+ }
40
+ .amsterdam-unordered-list:not(.amsterdam-unordered-list--no-markers) .amsterdam-unordered-list__item {
41
+ margin-inline-start: var(--amsterdam-unordered-list-item-margin-inline-start);
42
+ padding-inline-start: var(--amsterdam-unordered-list-item-padding-inline-start);
43
+ }
44
+
45
+ /** A nested list has a different marker and less indentation for correct alignment. */
46
+ :is(.amsterdam-ordered-list, .amsterdam-unordered-list) .amsterdam-unordered-list {
47
+ list-style-type: var(--amsterdam-unordered-list-unordered-list-list-style-type);
48
+ }
49
+ :is(.amsterdam-ordered-list, .amsterdam-unordered-list) .amsterdam-unordered-list .amsterdam-unordered-list__item {
50
+ margin-inline-start: var(--amsterdam-unordered-list-unordered-list-item-margin-inline-start);
51
+ padding-inline-start: var(--amsterdam-unordered-list-unordered-list-item-padding-inline-start);
52
+ }
53
+
54
+ /*# sourceMappingURL=unordered-list.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/text/unordered-list/unordered-list.scss","../../../utils/breakpoint.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;ADEA;AASA;AACA;EARE;EACA;EACA;EACA;EACA;EAOA;EACA;;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;AAMA;;AAJA;EARF;IASI;;;AAIF;EACE;EACA;;;AAIJ;AACA;EACE;;AAEA;EACE;EACA","file":"unordered-list.css"}
@@ -0,0 +1 @@
1
+ .amsterdam-top-task-link{break-inside:avoid;display:flex;flex-direction:column;gap:.5rem;outline-offset:var(--amsterdam-top-task-link-outline-offset);text-decoration:none}.amsterdam-top-task-link__label{color:var(--amsterdam-top-task-link-label-color);font-family:var(--amsterdam-top-task-link-label-font-family);font-size:var(--amsterdam-top-task-link-label-narrow-font-size);font-weight:var(--amsterdam-top-task-link-label-font-weight);line-height:var(--amsterdam-top-task-link-label-line-height);box-sizing:border-box;-webkit-text-size-adjust:100%}@media screen and (width > 53.375rem){.amsterdam-top-task-link__label{font-size:var(--amsterdam-top-task-link-label-wide-font-size)}}.amsterdam-top-task-link:hover .amsterdam-top-task-link__label{color:var(--amsterdam-top-task-link-label-hover-color);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:.5rem}.amsterdam-top-task-link__description{color:var(--amsterdam-top-task-link-description-color);font-family:var(--amsterdam-top-task-link-description-font-family);font-size:var(--amsterdam-top-task-link-description-narrow-font-size);font-weight:var(--amsterdam-top-task-link-description-font-weight);line-height:var(--amsterdam-top-task-link-description-line-height);box-sizing:border-box;-webkit-text-size-adjust:100%}@media screen and (width > 53.375rem){.amsterdam-top-task-link__description{font-size:var(--amsterdam-top-task-link-description-wide-font-size)}}/*# sourceMappingURL=top-task-link.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../src/top-task-link/top-task-link.scss"],"names":[],"mappings":"AAOA,yBACE,mBACA,aACA,sBACA,UACA,6DACA,qBAQF,gCACE,iDACA,6DACA,gEACA,6DACA,6DATA,sBACA,8BAUA,sCAPF,gCAQI,+DAMJ,+DACE,uDACA,0BACA,8BACA,4BAGF,sCACE,uDACA,mEACA,sEACA,mEACA,mEA9BA,sBACA,8BA+BA,sCAPF,sCAQI","file":"top-task-link.css"}
@@ -1,47 +1 @@
1
- /**
2
- * @license EUPL-1.2+
3
- * Copyright (c) 2023 Gemeente Amsterdam
4
- */
5
- /**
6
- * @license EUPL-1.2+
7
- * Copyright (c) 2023 Gemeente Amsterdam
8
- */
9
- /*
10
- The breakpoint is 854px / 16 = 53.375rems
11
- https://developer.mozilla.org/en-US/docs/Web/CSS/@media#accessibility_concerns
12
- */
13
- .amsterdam-unordered-list {
14
- color: var(--amsterdam-unordered-list-color);
15
- display: flex;
16
- flex-direction: column;
17
- font-family: var(--amsterdam-unordered-list-font-family);
18
- font-size: var(--amsterdam-unordered-list-font-size-narrow);
19
- font-weight: var(--amsterdam-unordered-list-font-weight);
20
- gap: var(--amsterdam-unordered-list-gap);
21
- line-height: var(--amsterdam-unordered-list-line-height);
22
- list-style: var(--amsterdam-unordered-list-list-style);
23
- box-sizing: border-box;
24
- margin-block: 0;
25
- -webkit-text-size-adjust: 100%;
26
- }
27
- @media screen and (width > 53.375rem) {
28
- .amsterdam-unordered-list {
29
- font-size: var(--amsterdam-unordered-list-font-size-wide);
30
- }
31
- }
32
-
33
- .amsterdam-unordered-list__item {
34
- padding-inline: var(--amsterdam-unordered-list-item-padding-inline);
35
- }
36
-
37
- .amsterdam-unordered-list .amsterdam-unordered-list {
38
- list-style-type: var(--amsterdam-unordered-list-unordered-list-list-style-type);
39
- padding-block: var(--amsterdam-unordered-list-unordered-list-padding-block);
40
- padding-inline: var(--amsterdam-unordered-list-unordered-list-padding-inline);
41
- }
42
-
43
- .amsterdam-unordered-list .amsterdam-unordered-list .amsterdam-unordered-list__item {
44
- padding-inline: var(--amsterdam-unordered-list-unordered-list-item-padding-inline);
45
- }
46
-
47
- /*# sourceMappingURL=unordered-list.css.map */
1
+ .amsterdam-unordered-list{box-sizing:border-box;list-style:none;margin-block:0;padding-inline-start:0;-webkit-text-size-adjust:100%;display:grid;gap:var(--amsterdam-unordered-list-gap)}.amsterdam-unordered-list:not(.amsterdam-unordered-list--no-markers){color:var(--amsterdam-unordered-list-color);font-family:var(--amsterdam-unordered-list-font-family);font-size:var(--amsterdam-unordered-list-narrow-font-size);font-weight:var(--amsterdam-unordered-list-font-weight);line-height:var(--amsterdam-unordered-list-line-height);list-style-type:var(--amsterdam-unordered-list-list-style-type)}@media screen and (width > 53.375rem){.amsterdam-unordered-list:not(.amsterdam-unordered-list--no-markers){font-size:var(--amsterdam-unordered-list-wide-font-size)}}.amsterdam-unordered-list:not(.amsterdam-unordered-list--no-markers) .amsterdam-unordered-list__item{margin-inline-start:var(--amsterdam-unordered-list-item-margin-inline-start);padding-inline-start:var(--amsterdam-unordered-list-item-padding-inline-start)}:is(.amsterdam-ordered-list,.amsterdam-unordered-list) .amsterdam-unordered-list{list-style-type:var(--amsterdam-unordered-list-unordered-list-list-style-type)}:is(.amsterdam-ordered-list,.amsterdam-unordered-list) .amsterdam-unordered-list .amsterdam-unordered-list__item{margin-inline-start:var(--amsterdam-unordered-list-unordered-list-item-margin-inline-start);padding-inline-start:var(--amsterdam-unordered-list-unordered-list-item-padding-inline-start)}/*# sourceMappingURL=unordered-list.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../src/unordered-list/unordered-list.scss","../../utils/breakpoint.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;ADQA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAdA;EACA;EACA;;AAcA;EAXF;IAYI;;;;AAMJ;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE","file":"unordered-list.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../src/unordered-list/unordered-list.scss"],"names":[],"mappings":"AAiBA,0BARE,sBACA,gBACA,eACA,uBACA,8BAOA,aACA,wCAIF,qEACE,4CACA,wDACA,2DACA,wDACA,wDACA,gEAEA,sCARF,qEASI,0DAIF,qGACE,6EACA,+EAKJ,iFACE,+EAEA,iHACE,4FACA","file":"unordered-list.css"}
@@ -0,0 +1 @@
1
+ .amsterdam-visually-hidden{clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);height:1px;margin-block:-1px;margin-inline:-1px;overflow:hidden;padding-block:0;padding-inline:0;position:absolute;width:1px}/*# sourceMappingURL=visually-hidden.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../src/visually-hidden/visually-hidden.scss"],"names":[],"mappings":"AAKA,2BACE,8BACA,qBACA,WACA,kBACA,mBACA,gBACA,gBACA,iBACA,kBACA","file":"visually-hidden.css"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.4",
2
+ "version": "0.1.6",
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",
@@ -14,15 +14,16 @@
14
14
  "directory": "packages/css"
15
15
  },
16
16
  "scripts": {
17
- "build": "sass src/:dist/",
17
+ "build": "sass src/:dist/ --style=compressed",
18
+ "build:watch": "sass src/:dist/ --watch",
18
19
  "clean": "rimraf dist/"
19
20
  },
20
21
  "devDependencies": {
21
- "@amsterdam/design-system-tokens": "0.1.3",
22
- "sass": "1.63.6"
22
+ "@amsterdam/design-system-tokens": "0.1.5",
23
+ "sass": "1.68.0"
23
24
  },
24
25
  "dependencies": {
25
- "@utrecht/components": "1.0.0-alpha.492"
26
+ "@utrecht/components": "1.0.0-alpha.536"
26
27
  },
27
- "gitHead": "43a949072edf58e9f8d198a2eca9b5457f01ccc8"
28
+ "gitHead": "58764d2cd6d59d20fd0e3215f32461c6c580df1b"
28
29
  }
@@ -1,8 +1,17 @@
1
1
  # Accordion
2
2
 
3
- Het accordion component is een klikbare (verticaal gestapelde) lijst van koppen om bijbehorende inhoud te verbergen of te vertonen. Met een accordion toon je inhoud op een progressieve manier aan gebruikers.
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
4
 
5
- Een accordion bestaat uit meerdere accordionsecties. Gebruik minimaal 3 en maximaal 10 secties onder elkaar. Je kunt door een accordion navigeren met je toetsenbord:
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:
6
15
 
7
16
  | key | element |
8
17
  | -------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
@@ -14,6 +23,20 @@ Een accordion bestaat uit meerdere accordionsecties. Gebruik minimaal 3 en maxim
14
23
  | Home | Als een accordionsectie focus heeft: ga naar de eerste sectie |
15
24
  | End | Als een accordionsectie focus heeft: ga naar de laatste sectie |
16
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
+
17
40
  ## Referenties
18
41
 
19
42
  - [W3C - Accordion Pattern](https://www.w3.org/WAI/ARIA/apg/patterns/accordion/)
@@ -18,7 +18,7 @@
18
18
  cursor: pointer;
19
19
  display: flex;
20
20
  font-family: var(--amsterdam-accordion-button-font-family);
21
- font-size: var(--amsterdam-accordion-button-font-size-narrow);
21
+ font-size: var(--amsterdam-accordion-button-narrow-font-size);
22
22
  font-weight: var(--amsterdam-accordion-button-font-weight);
23
23
  justify-content: space-between;
24
24
  line-height: var(--amsterdam-accordion-button-line-height);
@@ -27,7 +27,7 @@
27
27
  width: 100%;
28
28
 
29
29
  @media screen and (width > $amsterdam-breakpoint) {
30
- font-size: var(--amsterdam-accordion-button-font-size-wide);
30
+ font-size: var(--amsterdam-accordion-button-wide-font-size);
31
31
  }
32
32
 
33
33
  &:focus {
@@ -0,0 +1,14 @@
1
+ # Blockquote
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.
4
+
5
+ Let op: dit component voegt automatisch aanhalingstekens aan de tekst toe, dat hoef je niet zelf te doen.
6
+
7
+ ## Richtlijnen
8
+
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.
11
+
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.
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright (c) 2023 Gemeente Amsterdam
4
+ */
5
+
6
+ @import "../../utils/breakpoint";
7
+
8
+ @mixin reset {
9
+ box-sizing: border-box;
10
+ break-after: avoid;
11
+ break-inside: avoid;
12
+ margin-block: 0;
13
+ margin-inline: 0;
14
+ }
15
+
16
+ .amsterdam-blockquote {
17
+ color: var(--amsterdam-blockquote-color);
18
+ font-family: var(--amsterdam-blockquote-font-family);
19
+ font-size: var(--amsterdam-blockquote-narrow-font-size);
20
+ font-weight: var(--amsterdam-blockquote-font-weight);
21
+ line-height: var(--amsterdam-blockquote-line-height);
22
+ quotes: "“" "”";
23
+
24
+ &::before {
25
+ content: open-quote;
26
+ }
27
+
28
+ &::after {
29
+ content: close-quote;
30
+ }
31
+
32
+ @media screen and (width > $amsterdam-breakpoint) {
33
+ font-size: var(--amsterdam-blockquote-wide-font-size);
34
+ }
35
+
36
+ @include reset;
37
+ }
38
+
39
+ .amsterdam-blockquote--inverse-color {
40
+ color: var(--amsterdam-blockquote-inverse-color);
41
+ }
@@ -0,0 +1,15 @@
1
+ # Breadcrumb
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.
4
+
5
+ ## Richtlijnen
6
+
7
+ ### Zo gebruiken
8
+
9
+ Gebruik het kruimelpad alleen als het functioneel iets toevoegt voor de gebruiker en als de structuur ‘statisch’ is.
10
+
11
+ ### Dit vermijden
12
+
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
+
15
+ Het is een secundair navigatiepatroon. Het mag nooit de hoofdnavigatie vervangen.
@@ -0,0 +1,68 @@
1
+ /**
2
+ * @license EUPL-1.2+
3
+ * Copyright (c) 2023 Gemeente Amsterdam
4
+ */
5
+
6
+ @import "../../utils/breakpoint";
7
+
8
+ @mixin reset {
9
+ box-sizing: border-box;
10
+ margin-block: 0;
11
+ padding-inline: 0;
12
+ }
13
+
14
+ .amsterdam-breadcrumb {
15
+ font-family: var(--amsterdam-breadcrumb-font-family, inherit);
16
+ font-size: var(--amsterdam-breadcrumb-narrow-font-size);
17
+ line-height: var(--amsterdam-breadcrumb-line-height);
18
+
19
+ @media screen and (width > $amsterdam-breakpoint) {
20
+ font-size: var(--amsterdam-breadcrumb-wide-font-size);
21
+ }
22
+ }
23
+
24
+ .amsterdam-breadcrumb__list {
25
+ break-after: avoid;
26
+ break-inside: avoid;
27
+ display: flex;
28
+ flex-wrap: wrap;
29
+ gap: 0.5rem;
30
+ list-style: none;
31
+
32
+ @include reset;
33
+ }
34
+
35
+ .amsterdam-breadcrumb-item {
36
+ align-items: center;
37
+ display: flex;
38
+ }
39
+
40
+ .amsterdam-breadcrumb-item:not(:last-child)::after {
41
+ background-color: var(--amsterdam-breadcrumb-color);
42
+ 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");
43
+ content: "";
44
+ display: inline-block;
45
+ height: 16px;
46
+ margin-inline-start: 1rem;
47
+ width: 16px;
48
+ }
49
+
50
+ .amsterdam-breadcrumb-item__link {
51
+ color: var(--amsterdam-breadcrumb-color);
52
+ cursor: pointer;
53
+ outline-offset: var(--amsterdam-breadcrumb-item-link-outline-offset);
54
+ text-decoration: none;
55
+
56
+ &::first-letter {
57
+ text-transform: capitalize;
58
+ }
59
+
60
+ &:focus,
61
+ &:hover,
62
+ &:active {
63
+ color: var(--amsterdam-breadcrumb-item-link-hover-color);
64
+ text-decoration: underline;
65
+ text-decoration-thickness: 2px;
66
+ text-underline-offset: 3px;
67
+ }
68
+ }
@@ -7,13 +7,45 @@
7
7
  @import "../../utils/breakpoint";
8
8
 
9
9
  .amsterdam-button {
10
- font-size: var(--amsterdam-button-font-size-narrow);
10
+ font-size: var(--amsterdam-button-narrow-font-size);
11
11
 
12
12
  @media screen and (width > $amsterdam-breakpoint) {
13
- font-size: var(--amsterdam-button-font-size-wide);
13
+ font-size: var(--amsterdam-button-wide-font-size);
14
14
  }
15
15
  }
16
16
 
17
- .amsterdam-button--secondary:hover {
18
- box-shadow: var(--amsterdam-button-secondary-hover-box-shadow);
17
+ .amsterdam-button--secondary {
18
+ box-shadow: var(--amsterdam-button-secondary-box-shadow);
19
+
20
+ &:disabled,
21
+ [aria-disabled="true"] {
22
+ box-shadow: var(--amsterdam-button-secondary-disabled-box-shadow);
23
+ }
24
+
25
+ &:hover:not(:disabled, [aria-disabled="true"]) {
26
+ box-shadow: var(--amsterdam-button-secondary-hover-box-shadow);
27
+ }
28
+ }
29
+
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"]) {
40
+ box-shadow: var(--amsterdam-button-secondary-focus-box-shadow);
41
+ }
42
+
43
+ .amsterdam-button--tertiary {
44
+ &:hover:not(:disabled, [aria-disabled="true"]) {
45
+ box-shadow: var(--amsterdam-button-tertiary-hover-box-shadow);
46
+ }
47
+ }
48
+
49
+ .amsterdam-button--tertiary:focus:not(:disabled, [aria-disabled="true"]) {
50
+ box-shadow: var(--amsterdam-button-tertiary-focus-box-shadow);
19
51
  }
@@ -0,0 +1,27 @@
1
+ # Checkbox
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.
4
+
5
+ ## Richtlijnen
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.
14
+
15
+ ## Checkbox labels
16
+
17
+ Een label:
18
+
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
22
+
23
+ ## Relevante WCAG eisen
24
+
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
+ <!-- TODO: Checkbox is an interactive element, reference the general interactive elements docs when they're merged -->
@@ -0,0 +1,3 @@
1
+ # CSS Checkbox
2
+
3
+ Het selectievakje bestaat uit een vakje en een tekstlabel. Het tekstlabel staat rechts van het selectievakje. Om toegankelijkheid te vergroten is het volledige component (vakje en label) klikbaar.