@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.
- package/dist/accordion/accordion.css +1 -1
- package/dist/accordion/accordion.css.map +1 -1
- package/dist/alert/alert.css +1 -0
- package/dist/alert/alert.css.map +1 -0
- package/dist/aspect-ratio/aspect-ratio.css +1 -30
- package/dist/aspect-ratio/aspect-ratio.css.map +1 -1
- package/dist/blockquote/blockquote.css +1 -1
- package/dist/blockquote/blockquote.css.map +1 -1
- package/dist/breadcrumb/breadcrumb.css +1 -1
- package/dist/breadcrumb/breadcrumb.css.map +1 -1
- package/dist/button/button.css +1 -1
- package/dist/button/button.css.map +1 -1
- package/dist/card/card.css +1 -56
- package/dist/card/card.css.map +1 -1
- package/dist/checkbox/checkbox.css +1 -1
- package/dist/checkbox/checkbox.css.map +1 -1
- package/dist/footer/footer.css +1 -1
- package/dist/footer/footer.css.map +1 -1
- package/dist/form-label/form-label.css +1 -1
- package/dist/form-label/form-label.css.map +1 -1
- package/dist/grid/grid-cell.css +1 -1
- package/dist/grid/grid-cell.css.map +1 -1
- package/dist/grid/grid.css +1 -0
- package/dist/grid/grid.css.map +1 -0
- package/dist/heading/heading.css +1 -1
- package/dist/heading/heading.css.map +1 -1
- package/dist/highlight/highlight.css +1 -0
- package/dist/highlight/highlight.css.map +1 -0
- package/dist/icon/icon.css +1 -1
- package/dist/icon/icon.css.map +1 -1
- package/dist/image/image.css +1 -0
- package/dist/image/image.css.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/link/link.css +1 -1
- package/dist/link/link.css.map +1 -1
- package/dist/ordered-list/ordered-list.css +1 -1
- package/dist/ordered-list/ordered-list.css.map +1 -1
- package/dist/page-heading/page-heading.css +1 -1
- package/dist/page-heading/page-heading.css.map +1 -1
- package/dist/page-menu/page-menu.css +1 -1
- package/dist/page-menu/page-menu.css.map +1 -1
- package/dist/pagination/pagination.css +1 -0
- package/dist/pagination/pagination.css.map +1 -0
- package/dist/paragraph/paragraph.css +1 -1
- package/dist/paragraph/paragraph.css.map +1 -1
- package/dist/screen/screen.css +1 -0
- package/dist/screen/screen.css.map +1 -0
- package/dist/switch/switch.css +1 -59
- package/dist/switch/switch.css.map +1 -1
- package/dist/top-task-link/top-task-link.css +1 -1
- package/dist/top-task-link/top-task-link.css.map +1 -1
- package/dist/unordered-list/unordered-list.css +1 -1
- package/dist/unordered-list/unordered-list.css.map +1 -1
- package/documentation/coding-conventions.md +35 -0
- package/package.json +5 -5
- package/src/accordion/README.md +1 -1
- package/src/accordion/accordion.scss +7 -1
- package/src/alert/README.md +18 -0
- package/src/alert/alert.scss +69 -0
- package/src/aspect-ratio/README.md +18 -0
- package/src/aspect-ratio/aspect-ratio.scss +33 -0
- package/src/blockquote/blockquote.scss +3 -3
- package/src/breadcrumb/breadcrumb.scss +4 -4
- package/src/button/button.scss +10 -13
- package/src/card/README.md +12 -0
- package/src/card/card.scss +56 -0
- package/src/checkbox/README.md +1 -1
- package/src/checkbox/checkbox.scss +8 -2
- package/src/footer/footer.scss +0 -19
- package/src/form-label/README.md +1 -1
- package/src/form-label/form-label.scss +7 -1
- package/src/grid/README.grid-cell.md +14 -0
- package/src/grid/README.grid.md +17 -0
- package/src/grid/grid-cell.scss +31 -3
- package/src/grid/grid.scss +65 -0
- package/src/heading/heading.scss +5 -4
- package/src/highlight/README.md +15 -0
- package/src/highlight/highlight.scss +36 -0
- package/src/icon/icon.scss +10 -10
- package/src/image/README.md +18 -0
- package/src/image/image.scss +16 -0
- package/src/index.scss +18 -4
- package/src/link/link.scss +28 -36
- package/src/ordered-list/README.md +1 -1
- package/src/ordered-list/ordered-list.scss +1 -1
- package/src/page-heading/README.md +1 -1
- package/src/page-heading/page-heading.scss +2 -1
- package/src/page-menu/page-menu.scss +2 -2
- package/src/pagination/README.md +16 -0
- package/src/pagination/pagination.scss +75 -0
- package/src/paragraph/paragraph.scss +3 -3
- package/src/screen/README.md +20 -0
- package/src/screen/screen.scss +22 -0
- package/src/switch/README.md +20 -0
- package/src/switch/switch.scss +59 -0
- package/src/top-task-link/README.md +13 -8
- package/src/top-task-link/top-task-link.scss +2 -2
- package/src/unordered-list/README.md +1 -1
- package/src/unordered-list/unordered-list.scss +1 -1
- package/src/visually-hidden/README.md +2 -2
- package/utils/breakpoint.scss +14 -3
- package/dist/buttons/button/button.css +0 -729
- package/dist/buttons/button/button.css.map +0 -1
- package/dist/containers/accordion/accordion.css +0 -69
- package/dist/containers/accordion/accordion.css.map +0 -1
- package/dist/containers/footer/footer.css +0 -35
- package/dist/containers/footer/footer.css.map +0 -1
- package/dist/containers/visually-hidden/visually-hidden.css +0 -18
- package/dist/containers/visually-hidden/visually-hidden.css.map +0 -1
- package/dist/forms/checkbox/checkbox.css +0 -170
- package/dist/forms/checkbox/checkbox.css.map +0 -1
- package/dist/forms/form-label/form-label.css +0 -26
- package/dist/forms/form-label/form-label.css.map +0 -1
- package/dist/grid/page-grid.css +0 -1
- package/dist/grid/page-grid.css.map +0 -1
- package/dist/hero/hero.css +0 -1
- package/dist/hero/hero.css.map +0 -1
- package/dist/layout/grid-cell/grid-cell.css +0 -88
- package/dist/layout/grid-cell/grid-cell.css.map +0 -1
- package/dist/layout/page-grid/page-grid.css +0 -26
- package/dist/layout/page-grid/page-grid.css.map +0 -1
- package/dist/media/icon/icon.css +0 -122
- package/dist/media/icon/icon.css.map +0 -1
- package/dist/navigation/breadcrumb/breadcrumb.css +0 -67
- package/dist/navigation/breadcrumb/breadcrumb.css.map +0 -1
- package/dist/navigation/link/link.css +0 -111
- package/dist/navigation/link/link.css.map +0 -1
- package/dist/navigation/page-menu/page-menu.css +0 -83
- package/dist/navigation/page-menu/page-menu.css.map +0 -1
- package/dist/navigation/top-task-link/top-task-link.css +0 -59
- package/dist/navigation/top-task-link/top-task-link.css.map +0 -1
- package/dist/testula/testula.css +0 -9
- package/dist/testula/testula.css.map +0 -1
- package/dist/text/blockquote/blockquote.css +0 -43
- package/dist/text/blockquote/blockquote.css.map +0 -1
- package/dist/text/heading/heading.css +0 -67
- package/dist/text/heading/heading.css.map +0 -1
- package/dist/text/ordered-list/ordered-list.css +0 -54
- package/dist/text/ordered-list/ordered-list.css.map +0 -1
- package/dist/text/page-heading/page-heading.css +0 -34
- package/dist/text/page-heading/page-heading.css.map +0 -1
- package/dist/text/paragraph/paragraph.css +0 -53
- package/dist/text/paragraph/paragraph.css.map +0 -1
- package/dist/text/unordered-list/unordered-list.css +0 -54
- package/dist/text/unordered-list/unordered-list.css.map +0 -1
- package/src/grid/README.md +0 -11
- package/src/grid/page-grid.scss +0 -19
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
.amsterdam-highlight--blue {
|
|
7
|
+
background-color: var(--amsterdam-highlight-blue-background-color);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.amsterdam-highlight--dark-green {
|
|
11
|
+
background-color: var(--amsterdam-highlight-dark-green-background-color);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.amsterdam-highlight--green {
|
|
15
|
+
background-color: var(--amsterdam-highlight-green-background-color);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.amsterdam-highlight--light-blue {
|
|
19
|
+
background-color: var(--amsterdam-highlight-light-blue-background-color);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.amsterdam-highlight--magenta {
|
|
23
|
+
background-color: var(--amsterdam-highlight-magenta-background-color);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.amsterdam-highlight--orange {
|
|
27
|
+
background-color: var(--amsterdam-highlight-orange-background-color);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.amsterdam-highlight--purple {
|
|
31
|
+
background-color: var(--amsterdam-highlight-purple-background-color);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.amsterdam-highlight--yellow {
|
|
35
|
+
background-color: var(--amsterdam-highlight-yellow-background-color);
|
|
36
|
+
}
|
package/src/icon/icon.scss
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
.amsterdam-icon--size-3 {
|
|
18
18
|
height: calc(var(--amsterdam-icon-size-3-icon-size-narrow) * var(--amsterdam-icon-size-3-container-multiplier));
|
|
19
19
|
|
|
20
|
-
@media screen and (width
|
|
20
|
+
@media screen and (min-width: $amsterdam-breakpoint-typography) {
|
|
21
21
|
height: calc(var(--amsterdam-icon-size-3-icon-size-wide) * var(--amsterdam-icon-size-3-container-multiplier));
|
|
22
22
|
}
|
|
23
23
|
}
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
height: var(--amsterdam-icon-size-3-icon-size-narrow);
|
|
27
27
|
width: var(--amsterdam-icon-size-3-icon-size-narrow);
|
|
28
28
|
|
|
29
|
-
@media screen and (width
|
|
29
|
+
@media screen and (min-width: $amsterdam-breakpoint-typography) {
|
|
30
30
|
height: var(--amsterdam-icon-size-3-icon-size-wide);
|
|
31
31
|
width: var(--amsterdam-icon-size-3-icon-size-wide);
|
|
32
32
|
}
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
.amsterdam-icon--size-4 {
|
|
35
35
|
height: calc(var(--amsterdam-icon-size-4-icon-size-narrow) * var(--amsterdam-icon-size-4-container-multiplier));
|
|
36
36
|
|
|
37
|
-
@media screen and (width
|
|
37
|
+
@media screen and (min-width: $amsterdam-breakpoint-typography) {
|
|
38
38
|
height: calc(var(--amsterdam-icon-size-4-icon-size-wide) * var(--amsterdam-icon-size-4-container-multiplier));
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
height: var(--amsterdam-icon-size-4-icon-size-narrow);
|
|
44
44
|
width: var(--amsterdam-icon-size-4-icon-size-narrow);
|
|
45
45
|
|
|
46
|
-
@media screen and (width
|
|
46
|
+
@media screen and (min-width: $amsterdam-breakpoint-typography) {
|
|
47
47
|
height: var(--amsterdam-icon-size-4-icon-size-wide);
|
|
48
48
|
width: var(--amsterdam-icon-size-4-icon-size-wide);
|
|
49
49
|
}
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
.amsterdam-icon--size-5 {
|
|
53
53
|
height: calc(var(--amsterdam-icon-size-5-icon-size-narrow) * var(--amsterdam-icon-size-5-container-multiplier));
|
|
54
54
|
|
|
55
|
-
@media screen and (width
|
|
55
|
+
@media screen and (min-width: $amsterdam-breakpoint-typography) {
|
|
56
56
|
height: calc(var(--amsterdam-icon-size-5-icon-size-wide) * var(--amsterdam-icon-size-5-container-multiplier));
|
|
57
57
|
}
|
|
58
58
|
}
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
height: var(--amsterdam-icon-size-5-icon-size-narrow);
|
|
62
62
|
width: var(--amsterdam-icon-size-5-icon-size-narrow);
|
|
63
63
|
|
|
64
|
-
@media screen and (width
|
|
64
|
+
@media screen and (min-width: $amsterdam-breakpoint-typography) {
|
|
65
65
|
height: var(--amsterdam-icon-size-5-icon-size-wide);
|
|
66
66
|
width: var(--amsterdam-icon-size-5-icon-size-wide);
|
|
67
67
|
}
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
.amsterdam-icon--size-6 {
|
|
71
71
|
height: calc(var(--amsterdam-icon-size-6-icon-size-narrow) * var(--amsterdam-icon-size-6-container-multiplier));
|
|
72
72
|
|
|
73
|
-
@media screen and (width
|
|
73
|
+
@media screen and (min-width: $amsterdam-breakpoint-typography) {
|
|
74
74
|
height: calc(var(--amsterdam-icon-size-6-icon-size-wide) * var(--amsterdam-icon-size-6-container-multiplier));
|
|
75
75
|
}
|
|
76
76
|
}
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
height: var(--amsterdam-icon-size-6-icon-size-narrow);
|
|
80
80
|
width: var(--amsterdam-icon-size-6-icon-size-narrow);
|
|
81
81
|
|
|
82
|
-
@media screen and (width
|
|
82
|
+
@media screen and (min-width: $amsterdam-breakpoint-typography) {
|
|
83
83
|
height: var(--amsterdam-icon-size-6-icon-size-wide);
|
|
84
84
|
width: var(--amsterdam-icon-size-6-icon-size-wide);
|
|
85
85
|
}
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
.amsterdam-icon--size-7 {
|
|
89
89
|
height: calc(var(--amsterdam-icon-size-7-icon-size-narrow) * var(--amsterdam-icon-size-7-container-multiplier));
|
|
90
90
|
|
|
91
|
-
@media screen and (width
|
|
91
|
+
@media screen and (min-width: $amsterdam-breakpoint-typography) {
|
|
92
92
|
height: calc(var(--amsterdam-icon-size-7-icon-size-wide) * var(--amsterdam-icon-size-7-container-multiplier));
|
|
93
93
|
}
|
|
94
94
|
}
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
height: var(--amsterdam-icon-size-7-icon-size-narrow);
|
|
98
98
|
width: var(--amsterdam-icon-size-7-icon-size-narrow);
|
|
99
99
|
|
|
100
|
-
@media screen and (width
|
|
100
|
+
@media screen and (min-width: $amsterdam-breakpoint-typography) {
|
|
101
101
|
height: var(--amsterdam-icon-size-7-icon-size-wide);
|
|
102
102
|
width: var(--amsterdam-icon-size-7-icon-size-wide);
|
|
103
103
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Image
|
|
2
|
+
|
|
3
|
+
Toont een afbeelding.
|
|
4
|
+
|
|
5
|
+
## Richtlijnen
|
|
6
|
+
|
|
7
|
+
- Vergeet niet om een beschrijving van de afbeelding op te nemen in het `alt`-attribuut.
|
|
8
|
+
Dit zorgt ervoor dat gebruikers van schermlezers deze informatie ook tot zich kunnen nemen.
|
|
9
|
+
Daarnaast kan het helpen bij zoekmachineoptimalisatie.
|
|
10
|
+
- Alleen voor decoratieve afbeeldingen is zo’n beschrijving niet nodig. Gebruik in dit geval `alt=""`.
|
|
11
|
+
Denk aan afbeeldingen die weinig toevoegen aan de nabije tekst of afbeeldingen die louter bijdragen aan het ontwerp of de sfeer van de pagina (bron: [W3C Web Accessibility Initiative](https://www.w3.org/WAI/tutorials/images/decorative/)).
|
|
12
|
+
- Zorg ervoor dat de afbeelding een beeldverhouding heeft die ondersteund wordt door het [Aspect Ratio](?path=/docs/layout-aspect-ratio--docs) component.
|
|
13
|
+
|
|
14
|
+
## Relevante WCAG-eisen
|
|
15
|
+
|
|
16
|
+
- [WCAG 1.1.1](https://www.w3.org/TR/WCAG22/#non-text-content): niet-tekstuele content heeft een tekstueel alternatief
|
|
17
|
+
- [WCAG 1.4.5](https://www.w3.org/TR/WCAG22/#images-of-text): gebruik tekst in plaats van afbeeldingen van tekst
|
|
18
|
+
- [WCAG 1.4.9](https://www.w3.org/TR/WCAG22/#images-of-text-no-exception): gebruik afbeeldingen van tekst alleen als er geen alternatief is
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
.amsterdam-image {
|
|
7
|
+
font-style: italic; /* [3] */
|
|
8
|
+
height: auto; /* [1] */
|
|
9
|
+
max-width: 100%; /* [1] */
|
|
10
|
+
vertical-align: middle; /* [2] */
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// [1] Allow for fluid image sizing while maintaining aspect ratio governed by width/height attributes
|
|
14
|
+
// [2] Remove ‘phantom’ whitespace
|
|
15
|
+
// [3] Italicise alt text to visually offset it from surrounding copy
|
|
16
|
+
// Source: https://x.com/csswizardry/status/1717841334462005661
|
package/src/index.scss
CHANGED
|
@@ -4,16 +4,30 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
/* Append here */
|
|
7
|
-
@import "./
|
|
7
|
+
@import "./image/image";
|
|
8
|
+
@import "./pagination/pagination";
|
|
8
9
|
@import "./accordion/accordion";
|
|
10
|
+
@import "./alert/alert";
|
|
11
|
+
@import "./aspect-ratio/aspect-ratio";
|
|
12
|
+
@import "./blockquote/blockquote";
|
|
9
13
|
@import "./breadcrumb/breadcrumb";
|
|
10
14
|
@import "./button/button";
|
|
15
|
+
@import "./card/card";
|
|
16
|
+
@import "./checkbox/checkbox";
|
|
17
|
+
@import "./footer/footer";
|
|
11
18
|
@import "./form-label/form-label";
|
|
19
|
+
@import "./grid/grid";
|
|
20
|
+
@import "./grid/grid-cell";
|
|
12
21
|
@import "./heading/heading";
|
|
22
|
+
@import "./highlight/highlight";
|
|
13
23
|
@import "./icon/icon";
|
|
14
24
|
@import "./link/link";
|
|
25
|
+
@import "./ordered-list/ordered-list";
|
|
26
|
+
@import "./page-heading/page-heading";
|
|
27
|
+
@import "./page-menu/page-menu";
|
|
15
28
|
@import "./paragraph/paragraph";
|
|
29
|
+
@import "./screen/screen";
|
|
30
|
+
@import "./switch/switch";
|
|
31
|
+
@import "./top-task-link/top-task-link";
|
|
16
32
|
@import "./unordered-list/unordered-list";
|
|
17
|
-
@import "./
|
|
18
|
-
@import "./grid/grid-cell";
|
|
19
|
-
@import "./grid/page-grid";
|
|
33
|
+
@import "./visually-hidden/visually-hidden";
|
package/src/link/link.scss
CHANGED
|
@@ -5,17 +5,21 @@
|
|
|
5
5
|
|
|
6
6
|
@import "../../utils/breakpoint";
|
|
7
7
|
|
|
8
|
+
@mixin reset {
|
|
9
|
+
-webkit-text-size-adjust: 100%;
|
|
10
|
+
}
|
|
11
|
+
|
|
8
12
|
.amsterdam-link {
|
|
9
13
|
color: var(--amsterdam-link-color);
|
|
10
14
|
font-family: var(--amsterdam-link-font-family);
|
|
11
15
|
font-weight: var(--amsterdam-link-font-weight);
|
|
12
16
|
outline-offset: var(--amsterdam-link-outline-offset);
|
|
13
17
|
|
|
14
|
-
&:hover
|
|
15
|
-
|
|
16
|
-
&:focus {
|
|
17
|
-
color: var(--amsterdam-link-focus-color);
|
|
18
|
+
&:hover {
|
|
19
|
+
color: var(--amsterdam-link-hover-color);
|
|
18
20
|
}
|
|
21
|
+
|
|
22
|
+
@include reset;
|
|
19
23
|
}
|
|
20
24
|
|
|
21
25
|
.amsterdam-link--standalone {
|
|
@@ -25,14 +29,12 @@
|
|
|
25
29
|
text-decoration-thickness: var(--amsterdam-link-standalone-text-decoration-thickness);
|
|
26
30
|
text-underline-offset: var(--amsterdam-link-standalone-text-underline-offset);
|
|
27
31
|
|
|
28
|
-
&:hover
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
text-decoration-thickness: var(--amsterdam-link-standalone-focus-text-decoration-thickness);
|
|
32
|
-
text-underline-offset: var(--amsterdam-link-standalone-focus-text-underline-offset);
|
|
32
|
+
&:hover {
|
|
33
|
+
text-decoration-thickness: var(--amsterdam-link-standalone-hover-text-decoration-thickness);
|
|
34
|
+
text-underline-offset: var(--amsterdam-link-standalone-hover-text-underline-offset);
|
|
33
35
|
}
|
|
34
36
|
|
|
35
|
-
@media screen and (width
|
|
37
|
+
@media screen and (min-width: $amsterdam-breakpoint-typography) {
|
|
36
38
|
font-size: var(--amsterdam-link-standalone-wide-font-size);
|
|
37
39
|
}
|
|
38
40
|
}
|
|
@@ -42,13 +44,11 @@
|
|
|
42
44
|
font-size: var(--amsterdam-link-inline-font-size);
|
|
43
45
|
line-height: var(--amsterdam-link-inline-line-height);
|
|
44
46
|
text-decoration: var(--amsterdam-link-inline-text-decoration);
|
|
45
|
-
text-decoration-thickness: var(--amsterdam-link-text-decoration-thickness);
|
|
47
|
+
text-decoration-thickness: var(--amsterdam-link-inline-text-decoration-thickness);
|
|
46
48
|
|
|
47
|
-
&:hover
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
text-decoration: var(--amsterdam-link-inline-focus-text-decoration);
|
|
51
|
-
text-underline-offset: var(--amsterdam-link-inline-focus-text-underline-offset);
|
|
49
|
+
&:hover {
|
|
50
|
+
text-decoration: var(--amsterdam-link-inline-hover-text-decoration);
|
|
51
|
+
text-underline-offset: var(--amsterdam-link-inline-hover-text-underline-offset);
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
&:visited {
|
|
@@ -64,15 +64,13 @@
|
|
|
64
64
|
line-height: var(--amsterdam-link-in-list-line-height);
|
|
65
65
|
text-decoration: var(--amsterdam-link-in-list-text-decoration);
|
|
66
66
|
|
|
67
|
-
&:hover
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
text-
|
|
71
|
-
text-decoration-thickness: var(--amsterdam-link-in-list-focus-text-decoration-thickness);
|
|
72
|
-
text-underline-offset: var(--amsterdam-link-in-list-focus-text-underline-offset);
|
|
67
|
+
&:hover {
|
|
68
|
+
text-decoration: var(--amsterdam-link-in-list-hover-text-decoration);
|
|
69
|
+
text-decoration-thickness: var(--amsterdam-link-in-list-hover-text-decoration-thickness);
|
|
70
|
+
text-underline-offset: var(--amsterdam-link-in-list-hover-text-underline-offset);
|
|
73
71
|
}
|
|
74
72
|
|
|
75
|
-
@media screen and (width
|
|
73
|
+
@media screen and (min-width: $amsterdam-breakpoint-typography) {
|
|
76
74
|
font-size: var(--amsterdam-link-in-list-wide-font-size);
|
|
77
75
|
}
|
|
78
76
|
}
|
|
@@ -80,17 +78,15 @@
|
|
|
80
78
|
// Override for icon size
|
|
81
79
|
.amsterdam-link--in-list__chevron {
|
|
82
80
|
span.amsterdam-icon svg {
|
|
83
|
-
height:
|
|
84
|
-
width:
|
|
81
|
+
height: 1rem;
|
|
82
|
+
width: 1rem;
|
|
85
83
|
}
|
|
86
84
|
}
|
|
87
85
|
|
|
88
86
|
.amsterdam-link--on-background-dark {
|
|
89
87
|
color: var(--amsterdam-link-on-background-dark-color);
|
|
90
88
|
|
|
91
|
-
&:hover
|
|
92
|
-
&:active,
|
|
93
|
-
&:focus {
|
|
89
|
+
&:hover {
|
|
94
90
|
color: var(--amsterdam-link-on-background-dark-hover-color);
|
|
95
91
|
}
|
|
96
92
|
|
|
@@ -102,9 +98,7 @@
|
|
|
102
98
|
.amsterdam-link--on-background-light {
|
|
103
99
|
color: var(--amsterdam-link-on-background-light-color);
|
|
104
100
|
|
|
105
|
-
&:hover
|
|
106
|
-
&:active,
|
|
107
|
-
&:focus {
|
|
101
|
+
&:hover {
|
|
108
102
|
color: var(--amsterdam-link-on-background-light-hover-color);
|
|
109
103
|
}
|
|
110
104
|
|
|
@@ -115,12 +109,10 @@
|
|
|
115
109
|
|
|
116
110
|
.amsterdam-link--inline.amsterdam-link--on-background-dark,
|
|
117
111
|
.amsterdam-link--inline.amsterdam-link--on-background-light {
|
|
118
|
-
text-decoration: var(--amsterdam-link-inline-
|
|
119
|
-
text-underline-offset: var(--amsterdam-link-inline-
|
|
112
|
+
text-decoration: var(--amsterdam-link-inline-hover-text-decoration);
|
|
113
|
+
text-underline-offset: var(--amsterdam-link-inline-hover-text-underline-offset);
|
|
120
114
|
|
|
121
|
-
&:hover
|
|
122
|
-
&:active,
|
|
123
|
-
&:focus {
|
|
115
|
+
&:hover {
|
|
124
116
|
text-decoration: var(--amsterdam-link-inline-text-decoration);
|
|
125
117
|
}
|
|
126
118
|
}
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
line-height: var(--amsterdam-ordered-list-line-height);
|
|
32
32
|
list-style-type: var(--amsterdam-ordered-list-list-style-type);
|
|
33
33
|
|
|
34
|
-
@media screen and (width
|
|
34
|
+
@media screen and (min-width: $amsterdam-breakpoint-typography) {
|
|
35
35
|
font-size: var(--amsterdam-ordered-list-wide-font-size);
|
|
36
36
|
}
|
|
37
37
|
|
|
@@ -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-page-heading {
|
|
@@ -19,7 +20,7 @@
|
|
|
19
20
|
font-weight: var(--amsterdam-page-heading-font-weight);
|
|
20
21
|
line-height: var(--amsterdam-page-heading-line-height);
|
|
21
22
|
|
|
22
|
-
@media screen and (width
|
|
23
|
+
@media screen and (min-width: $amsterdam-breakpoint-typography) {
|
|
23
24
|
font-size: var(--amsterdam-page-heading-wide-font-size);
|
|
24
25
|
}
|
|
25
26
|
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
flex-direction: row;
|
|
42
42
|
font-family: var(--amsterdam-page-menu-item-font-family);
|
|
43
43
|
font-size: var(--amsterdam-page-menu-item-narrow-font-size);
|
|
44
|
-
font-weight: var(--amsterdam-page-menu-item-
|
|
44
|
+
font-weight: var(--amsterdam-page-menu-item-font-weight);
|
|
45
45
|
gap: var(--amsterdam-page-menu-item-gap);
|
|
46
46
|
line-height: var(--amsterdam-page-menu-item-line-height);
|
|
47
47
|
outline-offset: var(--amsterdam-focus-outline-offset);
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
text-decoration: var(--amsterdam-page-menu-item-text-decoration);
|
|
50
50
|
touch-action: manipulation;
|
|
51
51
|
|
|
52
|
-
@media screen and (width
|
|
52
|
+
@media screen and (min-width: $amsterdam-breakpoint-typography) {
|
|
53
53
|
font-size: var(--amsterdam-page-menu-item-wide-font-size);
|
|
54
54
|
}
|
|
55
55
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Pagination
|
|
2
|
+
|
|
3
|
+
Pagination (in het Nederlands: paginering) is een navigatie-element om tussen meerdere pagina’s met overzichtslijsten te navigeren. Denk hierbij aan zoekresultaten of een lijst met nieuwsartikelen. Bij lange overzichtslijsten kan het duidelijker of functioneler zijn om de inhoud over meerdere pagina’s te verdelen. Paginering laat zien op welke pagina de gebruiker zich bevindt en de gebruiker kan hiermee naar een andere pagina navigeren.
|
|
4
|
+
|
|
5
|
+
## Richtlijnen
|
|
6
|
+
|
|
7
|
+
- Gebruik paginering alleen als een overzichtslijst te lang is om op 1 pagina te tonen.
|
|
8
|
+
- Voeg de paginering toe onder de overzichtslijst.
|
|
9
|
+
- De paginering wordt niet getoond als er maar 1 pagina is.
|
|
10
|
+
- Verwijs de gebruikers door naar de eerste pagina als ze een URL opgeven van een paginanummer dat niet (meer) bestaat.
|
|
11
|
+
- De paginering kan gecombineerd worden met een teller bovenaan de pagina die “Pagina # van ##” aanduidt.
|
|
12
|
+
- Start een pagina met een overzichtslijst bovenaan na het veranderen van pagina.
|
|
13
|
+
|
|
14
|
+
## Relevante WCAG regels
|
|
15
|
+
|
|
16
|
+
Pagination 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.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@import "../../utils/breakpoint";
|
|
7
|
+
|
|
8
|
+
@mixin list-reset {
|
|
9
|
+
list-style-type: none;
|
|
10
|
+
margin-block: 0;
|
|
11
|
+
padding-inline-start: 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.amsterdam-pagination__list {
|
|
15
|
+
color: var(--amsterdam-pagination-color);
|
|
16
|
+
display: flex;
|
|
17
|
+
flex-wrap: wrap;
|
|
18
|
+
font-family: var(--amsterdam-pagination-font-family);
|
|
19
|
+
font-size: var(--amsterdam-pagination-narrow-font-size);
|
|
20
|
+
font-weight: var(--amsterdam-pagination-font-weight);
|
|
21
|
+
justify-content: center;
|
|
22
|
+
line-height: var(--amsterdam-pagination-line-height);
|
|
23
|
+
|
|
24
|
+
@include list-reset;
|
|
25
|
+
|
|
26
|
+
@media screen and (width > $amsterdam-breakpoint-typography) {
|
|
27
|
+
font-size: var(--amsterdam-pagination-wide-font-size);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@mixin button-reset {
|
|
32
|
+
all: unset;
|
|
33
|
+
box-sizing: border-box;
|
|
34
|
+
outline: revert;
|
|
35
|
+
-webkit-text-size-adjust: 100%;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.amsterdam-pagination__button {
|
|
39
|
+
/* The reset is included at the top of the block here, if you set it
|
|
40
|
+
at the bottom `all: unset` overrides the `gap` property. */
|
|
41
|
+
@include button-reset;
|
|
42
|
+
|
|
43
|
+
cursor: pointer;
|
|
44
|
+
display: flex;
|
|
45
|
+
gap: 0.5rem;
|
|
46
|
+
outline-offset: var(--amsterdam-pagination-button-outline-offset);
|
|
47
|
+
padding-inline: 0.75rem;
|
|
48
|
+
text-decoration-thickness: 2px;
|
|
49
|
+
text-underline-offset: 3px;
|
|
50
|
+
touch-action: manipulation;
|
|
51
|
+
|
|
52
|
+
&:hover {
|
|
53
|
+
color: var(--amsterdam-pagination-button-hover-color);
|
|
54
|
+
text-decoration: underline;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&:disabled {
|
|
58
|
+
display: none;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// Override for icon size
|
|
62
|
+
span.amsterdam-icon svg {
|
|
63
|
+
height: 1rem;
|
|
64
|
+
width: 1rem;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.amsterdam-pagination__button--current {
|
|
69
|
+
cursor: default;
|
|
70
|
+
font-weight: var(--amsterdam-pagination-button-current-font-weight);
|
|
71
|
+
|
|
72
|
+
&:hover {
|
|
73
|
+
text-decoration: none;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
font-weight: var(--amsterdam-paragraph-font-weight);
|
|
19
19
|
line-height: var(--amsterdam-paragraph-line-height);
|
|
20
20
|
|
|
21
|
-
@media screen and (width
|
|
21
|
+
@media screen and (min-width: $amsterdam-breakpoint-typography) {
|
|
22
22
|
font-size: var(--amsterdam-paragraph-wide-font-size);
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
font-size: var(--amsterdam-paragraph-small-narrow-font-size);
|
|
30
30
|
line-height: var(--amsterdam-paragraph-small-line-height);
|
|
31
31
|
|
|
32
|
-
@media screen and (width
|
|
32
|
+
@media screen and (min-width: $amsterdam-breakpoint-typography) {
|
|
33
33
|
font-size: var(--amsterdam-paragraph-small-wide-font-size);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
font-size: var(--amsterdam-paragraph-large-narrow-font-size);
|
|
39
39
|
line-height: var(--amsterdam-paragraph-large-line-height);
|
|
40
40
|
|
|
41
|
-
@media screen and (width
|
|
41
|
+
@media screen and (min-width: $amsterdam-breakpoint-typography) {
|
|
42
42
|
font-size: var(--amsterdam-paragraph-large-wide-font-size);
|
|
43
43
|
}
|
|
44
44
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Screen
|
|
2
|
+
|
|
3
|
+
Verzorgt de maximale breedte en de uitlijning van de hele website of applicatie.
|
|
4
|
+
|
|
5
|
+
## Gebruik
|
|
6
|
+
|
|
7
|
+
Dit moet het buitenste component van je website of applicatie zijn.
|
|
8
|
+
Daarbinnen combineer je componenten als
|
|
9
|
+
[Grid](?path=/docs/react_layout-grid--docs),
|
|
10
|
+
Header,
|
|
11
|
+
[Footer](?path=/docs/react_containers-footer--docs),
|
|
12
|
+
[Highlight](?path=/docs/react_containers-highlight--docs)
|
|
13
|
+
en Figure.
|
|
14
|
+
|
|
15
|
+
## Ontwerp
|
|
16
|
+
|
|
17
|
+
Standaard groeit dit component tot een breedte van 1600 pixels.
|
|
18
|
+
Dit is de maximale breedte voor een website van de gemeente Amsterdam.
|
|
19
|
+
Voor applicaties kun je kiezen voor een grotere maximale breedte van 2112 pixels.
|
|
20
|
+
Het component centreert zowel zichzelf als zijn inhoud horizontaal.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@mixin reset {
|
|
7
|
+
box-sizing: border-box;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.amsterdam-screen {
|
|
11
|
+
@include reset;
|
|
12
|
+
|
|
13
|
+
margin-inline: auto;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.amsterdam-screen--wide {
|
|
17
|
+
max-width: var(--amsterdam-screen-wide-max-width);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.amsterdam-screen--x-wide {
|
|
21
|
+
max-width: var(--amsterdam-screen-x-wide-max-width);
|
|
22
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Switch
|
|
2
|
+
|
|
3
|
+
Een switch (in het Nederlands: schakelaar) is een besturingselement om snel tussen twee verschillende staten te schakelen. Een schakelaar is van toepassing op een pagina of het hele systeem. Bijvoorbeeld een aan/uit-schakelaar.
|
|
4
|
+
|
|
5
|
+
## Richtlijnen
|
|
6
|
+
|
|
7
|
+
- Schakel alleen tussen twee verschillende statussen. Het is een binaire actie.
|
|
8
|
+
- Gebruik labels met een schakelaar zodat de actie duidelijk is.
|
|
9
|
+
- De actie vindt direct plaats zodra de gebruiker de schakelaar gebruikt.
|
|
10
|
+
|
|
11
|
+
## Relevante WCAG eisen
|
|
12
|
+
|
|
13
|
+
- [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.
|
|
14
|
+
|
|
15
|
+
Switch 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.
|
|
16
|
+
|
|
17
|
+
## Referenties
|
|
18
|
+
|
|
19
|
+
- [Switch Pattern](https://www.w3.org/WAI/ARIA/apg/patterns/switch/)
|
|
20
|
+
- [Role switch](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/switch_role)
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
@mixin reset {
|
|
2
|
+
box-sizing: border-box;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.amsterdam-switch__input {
|
|
6
|
+
appearance: none;
|
|
7
|
+
margin-block: 0;
|
|
8
|
+
margin-inline: 0;
|
|
9
|
+
opacity: 0%; /* to hide native input field in older iOS */
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.amsterdam-switch__label {
|
|
13
|
+
background-color: var(--amsterdam-switch-background-color);
|
|
14
|
+
border-radius: calc(var(--amsterdam-switch-thumb-width) * 2);
|
|
15
|
+
cursor: pointer;
|
|
16
|
+
display: inline-block;
|
|
17
|
+
padding-block: 1px;
|
|
18
|
+
padding-inline: 1px;
|
|
19
|
+
transition: background-color 0.2s ease-in-out;
|
|
20
|
+
width: var(--amsterdam-switch-width);
|
|
21
|
+
|
|
22
|
+
@include reset;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.amsterdam-switch__label::before {
|
|
26
|
+
background-color: var(--amsterdam-switch-thumb-background-color);
|
|
27
|
+
border-radius: 50%;
|
|
28
|
+
content: "";
|
|
29
|
+
display: block;
|
|
30
|
+
height: var(--amsterdam-switch-thumb-height);
|
|
31
|
+
transition-duration: 0.1s;
|
|
32
|
+
transition-property: box-shadow, transform;
|
|
33
|
+
transition-timing-function: ease-in-out;
|
|
34
|
+
width: var(--amsterdam-switch-thumb-width);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.amsterdam-switch__input:checked + .amsterdam-switch__label {
|
|
38
|
+
background-color: var(--amsterdam-switch-checked-background-color);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.amsterdam-switch__input:disabled + .amsterdam-switch__label {
|
|
42
|
+
background-color: var(--amsterdam-switch-disabled-background-color);
|
|
43
|
+
cursor: not-allowed;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.amsterdam-switch__input:focus-visible + .amsterdam-switch__label {
|
|
47
|
+
outline-color: -webkit-focus-ring-color;
|
|
48
|
+
outline-offset: var(--amsterdam-switch-outline-offset);
|
|
49
|
+
outline-style: auto;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.amsterdam-switch__input:checked + .amsterdam-switch__label::before {
|
|
53
|
+
// The 2px is to account for the 1px padding-inline on the label
|
|
54
|
+
transform: translate(calc(var(--amsterdam-switch-width) - var(--amsterdam-switch-thumb-width) - 2px));
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.amsterdam-switch:hover .amsterdam-switch__input:enabled + .amsterdam-switch__label::before {
|
|
58
|
+
box-shadow: 0 0 0 2px var(--amsterdam-switch-thumb-hover-color);
|
|
59
|
+
}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
|
-
# Top
|
|
1
|
+
# Top Task Link
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
Zet de toptask link in zodat de gebruiker snel de juiste informatie vindt én een bijbehorende taak makkelijk kan uitvoeren.
|
|
3
|
+
Via dit opvallende navigatie-element vindt de Amsterdammer snel de weg naar veel voorkomende taken.
|
|
5
4
|
|
|
6
5
|
## Richtlijnen
|
|
7
6
|
|
|
8
|
-
- Een
|
|
9
|
-
-
|
|
10
|
-
|
|
11
|
-
-
|
|
7
|
+
- Een Top Task Link heeft zowel een titel als een beschrijving.
|
|
8
|
+
- De titel beschrijft de essentie van de pagina waarnaar wordt verwezen.
|
|
9
|
+
Deze trekt de aandacht bij het scannen van de pagina.
|
|
10
|
+
- De beschrijving geeft meer context.
|
|
11
|
+
Dit helpt de Amsterdammer bevestigen dat die zijn doel op de vervolgpagina inderdaad kan bereiken.
|
|
12
|
+
- Houd beide teksten bondig. Een titel bestaat uit een paar woorden, de beschrijving uit 1 of 2 korte zinnen. De beschrijving eindigt dan ook op een punt of ander geschikt leesteken.
|
|
13
|
+
- Plaats voor brede vensters 3 of 4 Top Task Links naast elkaar op het [Grid](?path=/docs/react_layout-grid--docs).
|
|
14
|
+
Als je meer Top Task Links hebt, zet ze dan op de volgende rij.
|
|
15
|
+
Probeer het aantal links op brede vensters te verdelen over rijen van 3 of 4 links. Als dit niet lukt, laat de laatste cellen van het grid dan leeg.
|
|
16
|
+
- Heb je een groep verwijzingen waarvoor een beschrijving niet nodig of logisch is, gebruik dan een [Link List](?path=/docs/react_navigation-link--docs).
|
|
12
17
|
|
|
13
18
|
## Relevante WCAG eisen
|
|
14
19
|
|
|
15
|
-
Voor de
|
|
20
|
+
Voor de Top Task Link gelden dezelfde eisen als voor [reguliere links](https://amsterdam.github.io/design-system/?path=/docs/react_navigation-link--docs).
|