@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.
- package/README.md +1 -1
- package/dist/accordion/accordion.css +1 -69
- package/dist/accordion/accordion.css.map +1 -1
- package/dist/aspect-ratio/aspect-ratio.css +30 -0
- package/dist/aspect-ratio/aspect-ratio.css.map +1 -0
- package/dist/blockquote/blockquote.css +1 -0
- package/dist/blockquote/blockquote.css.map +1 -0
- package/dist/breadcrumb/breadcrumb.css +1 -0
- package/dist/breadcrumb/breadcrumb.css.map +1 -0
- package/dist/button/button.css +1 -706
- package/dist/button/button.css.map +1 -1
- package/dist/buttons/button/button.css +729 -0
- package/dist/buttons/button/button.css.map +1 -0
- package/dist/card/card.css +56 -0
- package/dist/card/card.css.map +1 -0
- package/dist/checkbox/checkbox.css +1 -0
- package/dist/checkbox/checkbox.css.map +1 -0
- package/dist/containers/accordion/accordion.css +69 -0
- package/dist/containers/accordion/accordion.css.map +1 -0
- package/dist/containers/footer/footer.css +35 -0
- package/dist/containers/footer/footer.css.map +1 -0
- package/dist/containers/visually-hidden/visually-hidden.css +18 -0
- package/dist/containers/visually-hidden/visually-hidden.css.map +1 -0
- package/dist/footer/footer.css +1 -0
- package/dist/footer/footer.css.map +1 -0
- package/dist/form-label/form-label.css +1 -26
- package/dist/form-label/form-label.css.map +1 -1
- package/dist/forms/checkbox/checkbox.css +170 -0
- package/dist/forms/checkbox/checkbox.css.map +1 -0
- package/dist/forms/form-label/form-label.css +26 -0
- package/dist/forms/form-label/form-label.css.map +1 -0
- package/dist/grid/grid-cell.css +1 -0
- package/dist/grid/grid-cell.css.map +1 -0
- package/dist/grid/page-grid.css +1 -0
- package/dist/grid/page-grid.css.map +1 -0
- package/dist/heading/heading.css +1 -64
- package/dist/heading/heading.css.map +1 -1
- package/dist/hero/hero.css +1 -0
- package/dist/hero/hero.css.map +1 -0
- package/dist/icon/icon.css +1 -122
- package/dist/icon/icon.css.map +1 -1
- package/dist/index.css +1 -0
- package/dist/index.css.map +1 -0
- package/dist/layout/grid-cell/grid-cell.css +88 -0
- package/dist/layout/grid-cell/grid-cell.css.map +1 -0
- package/dist/layout/page-grid/page-grid.css +26 -0
- package/dist/layout/page-grid/page-grid.css.map +1 -0
- package/dist/link/link.css +1 -97
- package/dist/link/link.css.map +1 -1
- package/dist/media/icon/icon.css +122 -0
- package/dist/media/icon/icon.css.map +1 -0
- package/dist/navigation/breadcrumb/breadcrumb.css +67 -0
- package/dist/navigation/breadcrumb/breadcrumb.css.map +1 -0
- package/dist/navigation/link/link.css +111 -0
- package/dist/navigation/link/link.css.map +1 -0
- package/dist/navigation/page-menu/page-menu.css +83 -0
- package/dist/navigation/page-menu/page-menu.css.map +1 -0
- package/dist/navigation/top-task-link/top-task-link.css +59 -0
- package/dist/navigation/top-task-link/top-task-link.css.map +1 -0
- package/dist/ordered-list/ordered-list.css +1 -0
- package/dist/ordered-list/ordered-list.css.map +1 -0
- package/dist/page-heading/page-heading.css +1 -0
- package/dist/page-heading/page-heading.css.map +1 -0
- package/dist/page-menu/page-menu.css +1 -0
- package/dist/page-menu/page-menu.css.map +1 -0
- package/dist/paragraph/paragraph.css +1 -49
- package/dist/paragraph/paragraph.css.map +1 -1
- package/dist/switch/switch.css +59 -0
- package/dist/switch/switch.css.map +1 -0
- package/dist/testula/testula.css +9 -0
- package/dist/testula/testula.css.map +1 -0
- package/dist/text/blockquote/blockquote.css +43 -0
- package/dist/text/blockquote/blockquote.css.map +1 -0
- package/dist/text/heading/heading.css +67 -0
- package/dist/text/heading/heading.css.map +1 -0
- package/dist/text/ordered-list/ordered-list.css +54 -0
- package/dist/text/ordered-list/ordered-list.css.map +1 -0
- package/dist/text/page-heading/page-heading.css +34 -0
- package/dist/text/page-heading/page-heading.css.map +1 -0
- package/dist/text/paragraph/paragraph.css +53 -0
- package/dist/text/paragraph/paragraph.css.map +1 -0
- package/dist/text/unordered-list/unordered-list.css +54 -0
- package/dist/text/unordered-list/unordered-list.css.map +1 -0
- package/dist/top-task-link/top-task-link.css +1 -0
- package/dist/top-task-link/top-task-link.css.map +1 -0
- package/dist/unordered-list/unordered-list.css +1 -47
- package/dist/unordered-list/unordered-list.css.map +1 -1
- package/dist/visually-hidden/visually-hidden.css +1 -0
- package/dist/visually-hidden/visually-hidden.css.map +1 -0
- package/package.json +7 -6
- package/src/accordion/README.md +25 -2
- package/src/accordion/accordion.scss +2 -2
- package/src/blockquote/README.md +14 -0
- package/src/blockquote/blockquote.scss +41 -0
- package/src/breadcrumb/README.md +15 -0
- package/src/breadcrumb/breadcrumb.scss +68 -0
- package/src/button/button.scss +36 -4
- package/src/checkbox/README.md +27 -0
- package/src/checkbox/checkbox-css.md +3 -0
- package/src/checkbox/checkbox.scss +225 -0
- package/src/footer/README.md +11 -0
- package/src/footer/footer-css.md +11 -0
- package/src/footer/footer.scss +29 -0
- package/src/form-label/form-label.scss +2 -2
- package/src/grid/README.md +11 -0
- package/src/grid/grid-cell.scss +18 -0
- package/src/grid/page-grid.scss +19 -0
- package/src/heading/heading.scss +18 -15
- package/src/icon/icon.scss +10 -10
- package/src/index.scss +19 -0
- package/src/link/README.md +28 -12
- package/src/link/link.scss +61 -36
- package/src/ordered-list/README.md +7 -0
- package/src/ordered-list/ordered-list.scss +53 -0
- package/src/page-heading/README.md +16 -0
- package/src/page-heading/page-heading.scss +31 -0
- package/src/page-menu/README.md +15 -0
- package/src/page-menu/page-menu.scss +79 -0
- package/src/paragraph/paragraph.scss +12 -8
- package/src/top-task-link/README.md +15 -0
- package/src/top-task-link/top-task-link.scss +55 -0
- package/src/unordered-list/README.md +5 -13
- package/src/unordered-list/unordered-list.scss +26 -17
- package/src/visually-hidden/README.md +5 -0
- package/src/visually-hidden/visually-hidden.scss +17 -0
- package/dist/list/list.css +0 -12
- package/dist/list/list.css.map +0 -1
- package/src/list/list.scss +0 -16
package/src/link/link.scss
CHANGED
|
@@ -6,45 +6,50 @@
|
|
|
6
6
|
@import "../../utils/breakpoint";
|
|
7
7
|
|
|
8
8
|
.amsterdam-link {
|
|
9
|
-
color: var(--amsterdam-link-color
|
|
10
|
-
font-family: var(--amsterdam-
|
|
11
|
-
font-
|
|
12
|
-
line-height: var(--amsterdam-link-line-height);
|
|
9
|
+
color: var(--amsterdam-link-color);
|
|
10
|
+
font-family: var(--amsterdam-link-font-family);
|
|
11
|
+
font-weight: var(--amsterdam-link-font-weight);
|
|
13
12
|
outline-offset: var(--amsterdam-link-outline-offset);
|
|
14
|
-
text-decoration: var(--amsterdam-link-text-decoration, underline);
|
|
15
|
-
text-decoration-color: var(--amsterdam-link-text-decoration-color, currentColor);
|
|
16
|
-
text-decoration-thickness: var(--amsterdam-link-text-decoration-thickness, 1px);
|
|
17
|
-
text-underline-offset: var(--amsterdam-link-text-underline-offset);
|
|
18
13
|
|
|
19
14
|
&:hover,
|
|
20
|
-
&:active
|
|
21
|
-
color: var(--amsterdam-link-hover-color);
|
|
22
|
-
text-decoration: var(--amsterdam-link-hover-text-decoration);
|
|
23
|
-
text-decoration-thickness: var(--amsterdam-link-hover-text-decoration-thickness, 1px);
|
|
24
|
-
}
|
|
25
|
-
|
|
15
|
+
&:active,
|
|
26
16
|
&:focus {
|
|
27
17
|
color: var(--amsterdam-link-focus-color);
|
|
28
|
-
text-decoration: var(--amsterdam-link-focus-text-decoration);
|
|
29
18
|
}
|
|
19
|
+
}
|
|
30
20
|
|
|
31
|
-
|
|
32
|
-
|
|
21
|
+
.amsterdam-link--standalone {
|
|
22
|
+
display: inline-block;
|
|
23
|
+
font-size: var(--amsterdam-link-standalone-narrow-font-size);
|
|
24
|
+
line-height: var(--amsterdam-link-standalone-line-height);
|
|
25
|
+
text-decoration-thickness: var(--amsterdam-link-standalone-text-decoration-thickness);
|
|
26
|
+
text-underline-offset: var(--amsterdam-link-standalone-text-underline-offset);
|
|
27
|
+
|
|
28
|
+
&:hover,
|
|
29
|
+
&:active,
|
|
30
|
+
&:focus {
|
|
31
|
+
text-decoration-thickness: var(--amsterdam-link-standalone-focus-text-decoration-thickness);
|
|
32
|
+
text-underline-offset: var(--amsterdam-link-standalone-focus-text-underline-offset);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
@media screen and (width > $amsterdam-breakpoint) {
|
|
36
|
-
font-size: var(--amsterdam-link-font-size
|
|
36
|
+
font-size: var(--amsterdam-link-standalone-wide-font-size);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
.amsterdam-link--standalone-bold {
|
|
41
|
-
font-weight: var(--amsterdam-link-standalone-bold-font-weight);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
40
|
.amsterdam-link--inline {
|
|
45
41
|
font-family: var(--amsterdam-link-inline-font-family);
|
|
46
42
|
font-size: var(--amsterdam-link-inline-font-size);
|
|
47
|
-
|
|
43
|
+
line-height: var(--amsterdam-link-inline-line-height);
|
|
44
|
+
text-decoration: var(--amsterdam-link-inline-text-decoration);
|
|
45
|
+
text-decoration-thickness: var(--amsterdam-link-text-decoration-thickness);
|
|
46
|
+
|
|
47
|
+
&:hover,
|
|
48
|
+
&:active,
|
|
49
|
+
&:focus {
|
|
50
|
+
text-decoration: var(--amsterdam-link-inline-focus-text-decoration);
|
|
51
|
+
text-underline-offset: var(--amsterdam-link-inline-focus-text-underline-offset);
|
|
52
|
+
}
|
|
48
53
|
|
|
49
54
|
&:visited {
|
|
50
55
|
color: var(--amsterdam-link-inline-visited-color);
|
|
@@ -54,30 +59,39 @@
|
|
|
54
59
|
.amsterdam-link--in-list {
|
|
55
60
|
align-items: flex-start;
|
|
56
61
|
display: inline-flex;
|
|
57
|
-
font-size: var(--amsterdam-link-in-list-font-size
|
|
62
|
+
font-size: var(--amsterdam-link-in-list-narrow-font-size);
|
|
58
63
|
gap: var(--amsterdam-link-in-list-gap);
|
|
59
64
|
line-height: var(--amsterdam-link-in-list-line-height);
|
|
60
|
-
text-
|
|
65
|
+
text-decoration: var(--amsterdam-link-in-list-text-decoration);
|
|
61
66
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
67
|
+
&:hover,
|
|
68
|
+
&:active,
|
|
69
|
+
&:focus {
|
|
70
|
+
text-decoration: var(--amsterdam-link-in-list-focus-text-decoration);
|
|
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);
|
|
66
73
|
}
|
|
67
74
|
|
|
68
75
|
@media screen and (width > $amsterdam-breakpoint) {
|
|
69
|
-
font-size: var(--amsterdam-link-in-list-font-size
|
|
76
|
+
font-size: var(--amsterdam-link-in-list-wide-font-size);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Override for icon size
|
|
81
|
+
.amsterdam-link--in-list__chevron {
|
|
82
|
+
span.amsterdam-icon svg {
|
|
83
|
+
height: 16px;
|
|
84
|
+
width: 16px;
|
|
70
85
|
}
|
|
71
86
|
}
|
|
72
87
|
|
|
73
88
|
.amsterdam-link--on-background-dark {
|
|
74
89
|
color: var(--amsterdam-link-on-background-dark-color);
|
|
75
|
-
text-decoration: var(--amsterdam-link-on-background-dark-text-decoration);
|
|
76
90
|
|
|
77
91
|
&:hover,
|
|
78
|
-
&:active
|
|
92
|
+
&:active,
|
|
93
|
+
&:focus {
|
|
79
94
|
color: var(--amsterdam-link-on-background-dark-hover-color);
|
|
80
|
-
text-decoration: var(--amsterdam-link-on-background-dark-hover-text-decoration);
|
|
81
95
|
}
|
|
82
96
|
|
|
83
97
|
&:visited {
|
|
@@ -87,15 +101,26 @@
|
|
|
87
101
|
|
|
88
102
|
.amsterdam-link--on-background-light {
|
|
89
103
|
color: var(--amsterdam-link-on-background-light-color);
|
|
90
|
-
text-decoration: var(--amsterdam-link-on-background-light-text-decoration);
|
|
91
104
|
|
|
92
105
|
&:hover,
|
|
93
|
-
&:active
|
|
106
|
+
&:active,
|
|
107
|
+
&:focus {
|
|
94
108
|
color: var(--amsterdam-link-on-background-light-hover-color);
|
|
95
|
-
text-decoration: var(--amsterdam-link-on-background-light-hover-text-decoration);
|
|
96
109
|
}
|
|
97
110
|
|
|
98
111
|
&:visited {
|
|
99
112
|
color: var(--amsterdam-link-on-background-light-visited-color);
|
|
100
113
|
}
|
|
101
114
|
}
|
|
115
|
+
|
|
116
|
+
.amsterdam-link--inline.amsterdam-link--on-background-dark,
|
|
117
|
+
.amsterdam-link--inline.amsterdam-link--on-background-light {
|
|
118
|
+
text-decoration: var(--amsterdam-link-inline-focus-text-decoration);
|
|
119
|
+
text-underline-offset: var(--amsterdam-link-inline-focus-text-underline-offset);
|
|
120
|
+
|
|
121
|
+
&:hover,
|
|
122
|
+
&:active,
|
|
123
|
+
&:focus {
|
|
124
|
+
text-decoration: var(--amsterdam-link-inline-text-decoration);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Ordered list
|
|
2
|
+
|
|
3
|
+
Een geordende lijst is een verticale groep gerelateerde inhoud met een volgorde.
|
|
4
|
+
Deze lijst kan 2 niveaus hebben.
|
|
5
|
+
Het eerste niveau is genummerd.
|
|
6
|
+
Het tweede niveau gebruikt letters in alfabetische volgorde.
|
|
7
|
+
Tekst in de lijstitems springt een vaste afstand in.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@import "../../utils/breakpoint";
|
|
7
|
+
|
|
8
|
+
/** Apply border box sizing, reset whitespace and list styles. */
|
|
9
|
+
@mixin reset {
|
|
10
|
+
box-sizing: border-box;
|
|
11
|
+
list-style-type: none;
|
|
12
|
+
margin-block: 0;
|
|
13
|
+
padding-inline-start: 0;
|
|
14
|
+
-webkit-text-size-adjust: 100%;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/** A list is a grid column with a gap between items. */
|
|
18
|
+
.amsterdam-ordered-list {
|
|
19
|
+
@include reset;
|
|
20
|
+
|
|
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
|
+
|
|
34
|
+
@media screen and (width > $amsterdam-breakpoint) {
|
|
35
|
+
font-size: var(--amsterdam-ordered-list-wide-font-size);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** List items are responsible for indentation and marker positioning. */
|
|
39
|
+
.amsterdam-ordered-list__item {
|
|
40
|
+
margin-inline-start: var(--amsterdam-ordered-list-item-margin-inline-start);
|
|
41
|
+
padding-inline-start: var(--amsterdam-ordered-list-item-padding-inline-start);
|
|
42
|
+
}
|
|
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
|
+
.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
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Page heading
|
|
2
|
+
|
|
3
|
+
Het page heading component is een opvallende tekst aan het begin van een pagina, direct na de header.
|
|
4
|
+
Gebruik dit component voor een naam, titel of motto.
|
|
5
|
+
|
|
6
|
+
## Richtlijnen
|
|
7
|
+
|
|
8
|
+
- Gebruik dit component om de aandacht van de gebruiker te trekken.
|
|
9
|
+
- Gebruik dit component maar 1 keer per pagina, vaak alleen op de voorpagina.
|
|
10
|
+
- Niet gebruiken als je lange stukken tekst wilt weergeven, de tekst moet kort en duidelijk zijn.
|
|
11
|
+
|
|
12
|
+
## Relevante WCAG eisen
|
|
13
|
+
|
|
14
|
+
Het page heading component is een variant van een heading level 1, met een afwijkende stijl. Let bij gebruik van dit component goed op dat de heading hiërarchie van de pagina logisch blijft.
|
|
15
|
+
|
|
16
|
+
Voor dit component gelden dezelfde WCAG eisen als voor [het heading component](https://amsterdam.github.io/design-system/?path=/docs/react_text-heading--docs).
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
}
|
|
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
|
+
|
|
22
|
+
@media screen and (width > $amsterdam-breakpoint) {
|
|
23
|
+
font-size: var(--amsterdam-page-heading-wide-font-size);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@include reset;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.amsterdam-page-heading--inverse-color {
|
|
30
|
+
color: var(--amsterdam-page-heading-inverse-color);
|
|
31
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Page Menu
|
|
2
|
+
|
|
3
|
+
Het Page Menu wordt alleen gebruikt in het Header en Footer component en is uitsluitend bedoeld voor horizontale navigatie. Het uiterlijk van de links en buttons zijn gelijk getrokken en kunnen beide gebruikt worden. Een link voor navigatie acties en een button voor het afvuren van een javascript event voor bijvoorbeeld het openen van het hoofdmenu of het tonen van een modal.
|
|
4
|
+
|
|
5
|
+
## Richtlijnen
|
|
6
|
+
|
|
7
|
+
- Als hoofdnavigatie in de header heeft het Page Menu maximaal 5 items inclusief Zoeken en Menu, staan op 1 regel en is rechts uitgelijnd. Houd minimaal 1 kolom afstand tussen de sitetitel en het eerste menu-item.
|
|
8
|
+
- Als footer menu in het Page Menu links uitgelijnd.
|
|
9
|
+
- Submenu's zijn niet toegestaan.
|
|
10
|
+
- Gebruik het standaard Menu-item als er meer informatie in het hoofdmenu nodig is. Dit item toont een schermbreed uitklapmenu (overlay) met koppelingen. De indeling van de koppelingen is vrij.
|
|
11
|
+
- Bij gebruik van het Menu-item zijn de overige items (bijvoorbeeld Zoeken, Contact) in de koptekst functioneel. Deze items kunnen herhaald worden binnen het uitgeklapte Menu-item.
|
|
12
|
+
|
|
13
|
+
## Relevante WCAG eisen
|
|
14
|
+
|
|
15
|
+
- [Consistent Navigation (Level AA)](https://www.w3.org/WAI/WCAG21/Understanding/consistent-navigation.html)
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@import "../../utils/breakpoint";
|
|
7
|
+
|
|
8
|
+
@mixin reset-list {
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
margin-block: 0;
|
|
11
|
+
padding-inline: 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@mixin reset-item {
|
|
15
|
+
box-sizing: border-box;
|
|
16
|
+
-webkit-text-size-adjust: 100%;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@mixin reset-button {
|
|
20
|
+
background-color: transparent;
|
|
21
|
+
border: 0;
|
|
22
|
+
margin-block: 0;
|
|
23
|
+
padding-inline: 0;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.amsterdam-page-menu {
|
|
27
|
+
align-items: center;
|
|
28
|
+
column-gap: var(--amsterdam-page-menu-column-gap);
|
|
29
|
+
display: flex;
|
|
30
|
+
flex-direction: row;
|
|
31
|
+
flex-wrap: wrap;
|
|
32
|
+
list-style: none;
|
|
33
|
+
row-gap: var(--amsterdam-page-menu-row-gap);
|
|
34
|
+
|
|
35
|
+
@include reset-list;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@mixin page-menu-item {
|
|
39
|
+
color: var(--amsterdam-page-menu-item-color);
|
|
40
|
+
display: inline-flex;
|
|
41
|
+
flex-direction: row;
|
|
42
|
+
font-family: var(--amsterdam-page-menu-item-font-family);
|
|
43
|
+
font-size: var(--amsterdam-page-menu-item-narrow-font-size);
|
|
44
|
+
font-weight: var(--amsterdam-page-menu-item-narrow-font-weight);
|
|
45
|
+
gap: var(--amsterdam-page-menu-item-gap);
|
|
46
|
+
line-height: var(--amsterdam-page-menu-item-line-height);
|
|
47
|
+
outline-offset: var(--amsterdam-focus-outline-offset);
|
|
48
|
+
text-align: center;
|
|
49
|
+
text-decoration: var(--amsterdam-page-menu-item-text-decoration);
|
|
50
|
+
touch-action: manipulation;
|
|
51
|
+
|
|
52
|
+
@media screen and (width > $amsterdam-breakpoint) {
|
|
53
|
+
font-size: var(--amsterdam-page-menu-item-wide-font-size);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.amsterdam-page-menu__link {
|
|
58
|
+
@include page-menu-item;
|
|
59
|
+
@include reset-item;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.amsterdam-page-menu__button {
|
|
63
|
+
cursor: pointer;
|
|
64
|
+
|
|
65
|
+
@include reset-item;
|
|
66
|
+
@include reset-button;
|
|
67
|
+
@include page-menu-item;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.amsterdam-page-menu__link:hover,
|
|
71
|
+
.amsterdam-page-menu__button:hover {
|
|
72
|
+
color: var(--amsterdam-page-menu-item-hover-color);
|
|
73
|
+
text-decoration: var(--amsterdam-page-menu-item-hover-text-decoration);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.amsterdam-page-menu__link svg,
|
|
77
|
+
.amsterdam-page-menu__button svg {
|
|
78
|
+
color: currentColor;
|
|
79
|
+
}
|
|
@@ -14,31 +14,35 @@
|
|
|
14
14
|
.amsterdam-paragraph {
|
|
15
15
|
color: var(--amsterdam-paragraph-color);
|
|
16
16
|
font-family: var(--amsterdam-paragraph-font-family);
|
|
17
|
-
font-size: var(--amsterdam-paragraph-font-size
|
|
17
|
+
font-size: var(--amsterdam-paragraph-narrow-font-size);
|
|
18
18
|
font-weight: var(--amsterdam-paragraph-font-weight);
|
|
19
19
|
line-height: var(--amsterdam-paragraph-line-height);
|
|
20
20
|
|
|
21
21
|
@media screen and (width > $amsterdam-breakpoint) {
|
|
22
|
-
font-size: var(--amsterdam-paragraph-font-size
|
|
22
|
+
font-size: var(--amsterdam-paragraph-wide-font-size);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
@include reset;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
.amsterdam-paragraph
|
|
29
|
-
font-size: var(--amsterdam-paragraph-small-font-size
|
|
28
|
+
.amsterdam-paragraph--small {
|
|
29
|
+
font-size: var(--amsterdam-paragraph-small-narrow-font-size);
|
|
30
30
|
line-height: var(--amsterdam-paragraph-small-line-height);
|
|
31
31
|
|
|
32
32
|
@media screen and (width > $amsterdam-breakpoint) {
|
|
33
|
-
font-size: var(--amsterdam-paragraph-small-font-size
|
|
33
|
+
font-size: var(--amsterdam-paragraph-small-wide-font-size);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
.amsterdam-paragraph
|
|
38
|
-
font-size: var(--amsterdam-paragraph-large-font-size
|
|
37
|
+
.amsterdam-paragraph--large {
|
|
38
|
+
font-size: var(--amsterdam-paragraph-large-narrow-font-size);
|
|
39
39
|
line-height: var(--amsterdam-paragraph-large-line-height);
|
|
40
40
|
|
|
41
41
|
@media screen and (width > $amsterdam-breakpoint) {
|
|
42
|
-
font-size: var(--amsterdam-paragraph-large-font-size
|
|
42
|
+
font-size: var(--amsterdam-paragraph-large-wide-font-size);
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
+
|
|
46
|
+
.amsterdam-paragraph--inverse-color {
|
|
47
|
+
color: var(--amsterdam-paragraph-inverse-color);
|
|
48
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Top task link
|
|
2
|
+
|
|
3
|
+
De toptask link is een navigatie-element dat opvallender is dan een link, om de aandacht te trekken voor de meest belangrijke informatie.
|
|
4
|
+
Zet de toptask link in zodat de gebruiker snel de juiste informatie vindt én een bijbehorende taak makkelijk kan uitvoeren.
|
|
5
|
+
|
|
6
|
+
## Richtlijnen
|
|
7
|
+
|
|
8
|
+
- Een toptask link moet een titel hebben. Hou deze titel zo kort mogelijk, hij mag maximaal over 2 regels lopen.
|
|
9
|
+
- Een toptask link kan een omschrijving hebben, maar dat is niet verplicht. De omschrijving staat onder de titel en is ook maximaal 2 regels.
|
|
10
|
+
- Plaats op brede schermen 3 of 4 toptask links naast elkaar. Als je meer toptask links hebt, zet ze dan op de volgende rij.
|
|
11
|
+
- Probeer het aantal links op brede schermen te verdelen over rijen van 3 of 4. Als dit niet lukt, laat de laatste 'vakken' dan leeg. Hou een grid indeling aan.
|
|
12
|
+
|
|
13
|
+
## Relevante WCAG eisen
|
|
14
|
+
|
|
15
|
+
Voor de toptask link gelden dezelfde eisen als voor [reguliere links](https://amsterdam.github.io/design-system/?path=/docs/react_navigation-link--docs).
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@import "../../utils/breakpoint";
|
|
7
|
+
|
|
8
|
+
.amsterdam-top-task-link {
|
|
9
|
+
break-inside: avoid;
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
gap: 0.5rem;
|
|
13
|
+
outline-offset: var(--amsterdam-top-task-link-outline-offset);
|
|
14
|
+
text-decoration: none;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@mixin reset {
|
|
18
|
+
box-sizing: border-box;
|
|
19
|
+
-webkit-text-size-adjust: 100%;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.amsterdam-top-task-link__label {
|
|
23
|
+
color: var(--amsterdam-top-task-link-label-color);
|
|
24
|
+
font-family: var(--amsterdam-top-task-link-label-font-family);
|
|
25
|
+
font-size: var(--amsterdam-top-task-link-label-narrow-font-size);
|
|
26
|
+
font-weight: var(--amsterdam-top-task-link-label-font-weight);
|
|
27
|
+
line-height: var(--amsterdam-top-task-link-label-line-height);
|
|
28
|
+
|
|
29
|
+
@media screen and (width > $amsterdam-breakpoint) {
|
|
30
|
+
font-size: var(--amsterdam-top-task-link-label-wide-font-size);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@include reset;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.amsterdam-top-task-link:hover .amsterdam-top-task-link__label {
|
|
37
|
+
color: var(--amsterdam-top-task-link-label-hover-color);
|
|
38
|
+
text-decoration: underline;
|
|
39
|
+
text-decoration-thickness: 3px;
|
|
40
|
+
text-underline-offset: 0.5rem;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.amsterdam-top-task-link__description {
|
|
44
|
+
color: var(--amsterdam-top-task-link-description-color);
|
|
45
|
+
font-family: var(--amsterdam-top-task-link-description-font-family);
|
|
46
|
+
font-size: var(--amsterdam-top-task-link-description-narrow-font-size);
|
|
47
|
+
font-weight: var(--amsterdam-top-task-link-description-font-weight);
|
|
48
|
+
line-height: var(--amsterdam-top-task-link-description-line-height);
|
|
49
|
+
|
|
50
|
+
@media screen and (width > $amsterdam-breakpoint) {
|
|
51
|
+
font-size: var(--amsterdam-top-task-link-description-wide-font-size);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@include reset;
|
|
55
|
+
}
|
|
@@ -1,15 +1,7 @@
|
|
|
1
|
-
# Unordered
|
|
2
|
-
|
|
3
|
-
## Introductie
|
|
1
|
+
# Unordered list
|
|
4
2
|
|
|
5
3
|
Een lijst is een verticale groep gerelateerde inhoud.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
## Terminologie
|
|
12
|
-
|
|
13
|
-
- **unordered list**: uitgeschreven versie van de HTML afkorting `<ul>`
|
|
14
|
-
- **list item**: uitgeschreven van van [HTML `<li>`](https://html.spec.whatwg.org/multipage/grouping-content.html#the-li-element). Ook [in ARIA is het `role="listitem"`](https://www.w3.org/TR/wai-aria-1.2/#listitem)
|
|
15
|
-
- **marker**: zoals in de [CSS pseudo-selector `::marker`](https://drafts.csswg.org/css-pseudo-4/#marker-pseudo)
|
|
4
|
+
Deze lijst kan 2 niveaus hebben.
|
|
5
|
+
Het eerste niveau bestaat uit vierkantjes.
|
|
6
|
+
Het tweede niveau bestaat uit halve kastlijntjes.
|
|
7
|
+
Tekst in de lijstitems springt een vaste afstand in.
|
|
@@ -5,40 +5,49 @@
|
|
|
5
5
|
|
|
6
6
|
@import "../../utils/breakpoint";
|
|
7
7
|
|
|
8
|
+
/** Apply border box sizing, reset whitespace and list styles. */
|
|
8
9
|
@mixin reset {
|
|
9
10
|
box-sizing: border-box;
|
|
11
|
+
list-style: none;
|
|
10
12
|
margin-block: 0;
|
|
13
|
+
padding-inline-start: 0;
|
|
11
14
|
-webkit-text-size-adjust: 100%;
|
|
12
15
|
}
|
|
13
16
|
|
|
17
|
+
/** A list is a grid column with a gap between items. */
|
|
14
18
|
.amsterdam-unordered-list {
|
|
19
|
+
@include reset;
|
|
20
|
+
|
|
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) {
|
|
15
27
|
color: var(--amsterdam-unordered-list-color);
|
|
16
|
-
display: flex;
|
|
17
|
-
flex-direction: column;
|
|
18
28
|
font-family: var(--amsterdam-unordered-list-font-family);
|
|
19
|
-
font-size: var(--amsterdam-unordered-list-font-size
|
|
29
|
+
font-size: var(--amsterdam-unordered-list-narrow-font-size);
|
|
20
30
|
font-weight: var(--amsterdam-unordered-list-font-weight);
|
|
21
|
-
gap: var(--amsterdam-unordered-list-gap);
|
|
22
31
|
line-height: var(--amsterdam-unordered-list-line-height);
|
|
23
|
-
list-style: var(--amsterdam-unordered-list-list-style);
|
|
32
|
+
list-style-type: var(--amsterdam-unordered-list-list-style-type);
|
|
24
33
|
|
|
25
34
|
@media screen and (width > $amsterdam-breakpoint) {
|
|
26
|
-
font-size: var(--amsterdam-unordered-list-font-size
|
|
35
|
+
font-size: var(--amsterdam-unordered-list-wide-font-size);
|
|
27
36
|
}
|
|
28
37
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
38
|
+
/** List items are responsible for indentation and marker positioning. */
|
|
39
|
+
.amsterdam-unordered-list__item {
|
|
40
|
+
margin-inline-start: var(--amsterdam-unordered-list-item-margin-inline-start);
|
|
41
|
+
padding-inline-start: var(--amsterdam-unordered-list-item-padding-inline-start);
|
|
42
|
+
}
|
|
34
43
|
}
|
|
35
44
|
|
|
36
|
-
|
|
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 {
|
|
37
47
|
list-style-type: var(--amsterdam-unordered-list-unordered-list-list-style-type);
|
|
38
|
-
padding-block: var(--amsterdam-unordered-list-unordered-list-padding-block);
|
|
39
|
-
padding-inline: var(--amsterdam-unordered-list-unordered-list-padding-inline);
|
|
40
|
-
}
|
|
41
48
|
|
|
42
|
-
.amsterdam-unordered-
|
|
43
|
-
|
|
49
|
+
.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
|
+
}
|
|
44
53
|
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Visually hidden
|
|
2
|
+
|
|
3
|
+
Het visually hidden component kan gebruikt worden om inhoud te verbergen voor ziende gebruikers, maar beschikbaar te houden voor niet-visuele _user agents_, zoals schermlezers.
|
|
4
|
+
|
|
5
|
+
Let op: In de overgrote meerderheid van de gevallen moet inhoud die visueel beschikbaar is, ook beschikbaar zijn voor niet-visuele _user agents_, en omgekeerd. Uitgebreide aanwijzingen of instructies die alleen door niet-visuele _user agents_ worden gelezen, doen al snel meer kwaad dan goed.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
.amsterdam-visually-hidden {
|
|
7
|
+
clip: rect(1px, 1px, 1px, 1px);
|
|
8
|
+
clip-path: inset(50%);
|
|
9
|
+
height: 1px;
|
|
10
|
+
margin-block: -1px;
|
|
11
|
+
margin-inline: -1px;
|
|
12
|
+
overflow: hidden;
|
|
13
|
+
padding-block: 0;
|
|
14
|
+
padding-inline: 0;
|
|
15
|
+
position: absolute;
|
|
16
|
+
width: 1px;
|
|
17
|
+
}
|
package/dist/list/list.css
DELETED
package/dist/list/list.css.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../src/list/list.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AASA;EACE;EACA;EACA;EANA","file":"list.css"}
|
package/src/list/list.scss
DELETED