@amsterdam/design-system-css 3.2.1 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +51 -2
- package/README.md +10 -6
- package/dist/accordion/accordion.css +1 -1
- package/dist/accordion/accordion.css.map +1 -1
- package/dist/alert/alert.css +1 -1
- package/dist/alert/alert.css.map +1 -1
- package/dist/avatar/avatar.css +1 -1
- package/dist/avatar/avatar.css.map +1 -1
- package/dist/badge/badge.css +1 -1
- package/dist/badge/badge.css.map +1 -1
- package/dist/body/body.css +1 -0
- package/dist/body/body.css.map +1 -0
- package/dist/breakout/breakout.css +1 -1
- package/dist/breakout/breakout.css.map +1 -1
- package/dist/button/button.css +1 -1
- package/dist/button/button.css.map +1 -1
- package/dist/call-to-action-link/call-to-action-link.css +1 -1
- package/dist/call-to-action-link/call-to-action-link.css.map +1 -1
- package/dist/checkbox/checkbox.css +1 -1
- package/dist/checkbox/checkbox.css.map +1 -1
- package/dist/description-list/description-list.css +1 -1
- package/dist/description-list/description-list.css.map +1 -1
- package/dist/dialog/dialog.css +1 -1
- package/dist/dialog/dialog.css.map +1 -1
- package/dist/field-set/field-set.css.map +1 -1
- package/dist/grid/grid.css +1 -1
- package/dist/grid/grid.css.map +1 -1
- package/dist/heading/heading.css +1 -1
- package/dist/heading/heading.css.map +1 -1
- package/dist/icon/icon.css +1 -1
- package/dist/icon/icon.css.map +1 -1
- package/dist/image-slider/image-slider.css +1 -1
- package/dist/image-slider/image-slider.css.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/label/label.css.map +1 -1
- package/dist/menu/menu.css +1 -1
- package/dist/menu/menu.css.map +1 -1
- package/dist/page-footer/page-footer.css +1 -1
- package/dist/page-footer/page-footer.css.map +1 -1
- package/dist/page-header/page-header.css +1 -1
- package/dist/page-header/page-header.css.map +1 -1
- package/dist/pagination/pagination.css +1 -1
- package/dist/pagination/pagination.css.map +1 -1
- package/dist/paragraph/paragraph.css.map +1 -1
- package/dist/progress-list/progress-list.css +1 -1
- package/dist/progress-list/progress-list.css.map +1 -1
- package/dist/prose/prose.css +1 -0
- package/dist/prose/prose.css.map +1 -0
- package/dist/radio/radio.css +1 -1
- package/dist/radio/radio.css.map +1 -1
- package/dist/search-field/search-field.css +1 -1
- package/dist/search-field/search-field.css.map +1 -1
- package/dist/spotlight/spotlight.css +1 -1
- package/dist/spotlight/spotlight.css.map +1 -1
- package/dist/switch/switch.css +1 -1
- package/dist/switch/switch.css.map +1 -1
- package/dist/tab-navigation/tab-navigation.css +1 -0
- package/dist/tab-navigation/tab-navigation.css.map +1 -0
- package/dist/table/table.css +1 -1
- package/dist/table/table.css.map +1 -1
- package/package.json +4 -4
- package/src/common/hide-input.scss +1 -0
- package/src/common/print-exact.scss +16 -0
- package/src/components/accordion/accordion.scss +1 -5
- package/src/components/alert/alert.scss +4 -0
- package/src/components/aspect-ratio/README.md +8 -10
- package/src/components/avatar/avatar.scss +4 -0
- package/src/components/badge/badge.scss +2 -0
- package/src/components/body/README.md +15 -0
- package/src/components/{document/document.scss → body/body.scss} +2 -1
- package/src/components/breadcrumb/README.md +6 -7
- package/src/components/breakout/breakout.scss +20 -8
- package/src/components/button/button.scss +2 -0
- package/src/components/call-to-action-link/call-to-action-link.scss +2 -0
- package/src/components/description-list/description-list.scss +44 -9
- package/src/components/dialog/dialog.scss +32 -11
- package/src/components/field-set/field-set.scss +1 -5
- package/src/components/gap/README.md +4 -3
- package/src/components/grid/README.md +4 -0
- package/src/components/grid/_mixins.scss +49 -11
- package/src/components/grid/grid.scss +49 -3
- package/src/components/heading/heading.scss +1 -10
- package/src/components/icon/icon.scss +0 -7
- package/src/components/image-slider/image-slider.scss +1 -1
- package/src/components/index.scss +3 -3
- package/src/components/label/label.scss +1 -5
- package/src/components/logo/README.md +2 -1
- package/src/components/margin/README.md +3 -1
- package/src/components/menu/menu.scss +32 -29
- package/src/components/page-footer/page-footer.scss +16 -4
- package/src/components/page-header/README.md +8 -24
- package/src/components/page-header/page-header.scss +37 -23
- package/src/components/pagination/pagination.scss +4 -0
- package/src/components/paragraph/paragraph.scss +1 -5
- package/src/components/progress-list/README.md +2 -1
- package/src/components/progress-list/progress-list.scss +90 -10
- package/src/components/prose/README.md +15 -0
- package/src/components/prose/prose.scss +104 -0
- package/src/components/search-field/search-field.scss +2 -0
- package/src/components/spotlight/spotlight.scss +4 -0
- package/src/components/standalone-link/standalone-link.scss +0 -5
- package/src/components/tab-navigation/README.md +13 -0
- package/src/components/tab-navigation/tab-navigation.scss +101 -0
- package/src/components/table/README.md +4 -5
- package/src/components/table/table.scss +1 -0
- package/src/components/tabs/README.md +9 -27
- package/dist/document/document.css +0 -1
- package/dist/document/document.css.map +0 -1
- package/dist/icon/icon.deprecated.css +0 -1
- package/dist/icon/icon.deprecated.css.map +0 -1
- package/dist/page-heading/page-heading.deprecated.css +0 -1
- package/dist/page-heading/page-heading.deprecated.css.map +0 -1
- package/src/components/icon/icon.deprecated.scss +0 -12
- package/src/components/page-heading/README.md +0 -3
- package/src/components/page-heading/page-heading.deprecated.scss +0 -32
|
@@ -2,16 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
# Breadcrumb
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
Users can use it to navigate.
|
|
5
|
+
Shows the location of the page within the hierarchy of a website and allows navigating between levels.
|
|
7
6
|
|
|
8
7
|
## Guidelines
|
|
9
8
|
|
|
10
|
-
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
|
|
9
|
+
- Do not use a breadcrumb on pages that have forms.
|
|
10
|
+
A breadcrumb on a page with a form can distract users from completing the form, or be confused with a progress indicator.
|
|
11
|
+
- A breadcrumb should not have more than 5 items.
|
|
12
|
+
- The first item links to the home page, with ‘Home’ as its text.
|
|
13
|
+
This applies to Dutch websites as well.
|
|
15
14
|
|
|
16
15
|
### Using links with routing libraries
|
|
17
16
|
|
|
@@ -82,7 +82,7 @@ $ams-breakout-row-span-max: 4;
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
@media
|
|
85
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
86
86
|
@for $i from 1 through $ams-grid-column-count {
|
|
87
87
|
.ams-breakout__cell--col-span-#{$i}-medium {
|
|
88
88
|
@include ams-grid__cell--span-medium($i);
|
|
@@ -94,7 +94,7 @@ $ams-breakout-row-span-max: 4;
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
@media
|
|
97
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
98
98
|
@for $i from 1 through $ams-grid-column-count {
|
|
99
99
|
.ams-breakout__cell--col-span-#{$i}-wide {
|
|
100
100
|
@include ams-grid__cell--span-wide($i);
|
|
@@ -117,12 +117,24 @@ $ams-breakout-row-span-max: 4;
|
|
|
117
117
|
margin-block: calc(var(--ams-space-xl) * -1);
|
|
118
118
|
margin-inline: calc(var(--ams-grid-padding-inline) * -1);
|
|
119
119
|
|
|
120
|
-
@media
|
|
121
|
-
margin-inline: calc(
|
|
120
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
121
|
+
margin-inline: calc(
|
|
122
|
+
var(
|
|
123
|
+
--ams-grid-medium-padding-inline /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
124
|
+
var(--ams-grid-vi-medium-padding-inline)
|
|
125
|
+
) *
|
|
126
|
+
-1
|
|
127
|
+
);
|
|
122
128
|
}
|
|
123
129
|
|
|
124
|
-
@media
|
|
125
|
-
margin-inline: calc(
|
|
130
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
131
|
+
margin-inline: calc(
|
|
132
|
+
var(
|
|
133
|
+
--ams-grid-wide-padding-inline /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
134
|
+
var(--ams-grid-vi-wide-padding-inline)
|
|
135
|
+
) *
|
|
136
|
+
-1
|
|
137
|
+
);
|
|
126
138
|
}
|
|
127
139
|
|
|
128
140
|
.ams-breakout--gap-vertical--small > & {
|
|
@@ -146,7 +158,7 @@ $ams-breakout-row-span-max: 4;
|
|
|
146
158
|
}
|
|
147
159
|
}
|
|
148
160
|
|
|
149
|
-
@media
|
|
161
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
150
162
|
@for $i from 1 through $ams-breakout-row-span-max {
|
|
151
163
|
.ams-breakout__cell--row-span-#{$i}-medium {
|
|
152
164
|
grid-row-end: span $i;
|
|
@@ -158,7 +170,7 @@ $ams-breakout-row-span-max: 4;
|
|
|
158
170
|
}
|
|
159
171
|
}
|
|
160
172
|
|
|
161
|
-
@media
|
|
173
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
162
174
|
@for $i from 1 through $ams-breakout-row-span-max {
|
|
163
175
|
.ams-breakout__cell--row-span-#{$i}-wide {
|
|
164
176
|
grid-row-end: span $i;
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
@use "../../common/hyphenation" as *;
|
|
7
|
+
@use "../../common/print-exact" as *;
|
|
7
8
|
@use "../../common/resets" as *;
|
|
8
9
|
@use "../../common/text-rendering" as *;
|
|
9
10
|
|
|
@@ -29,6 +30,7 @@
|
|
|
29
30
|
touch-action: manipulation;
|
|
30
31
|
|
|
31
32
|
@include hyphenation;
|
|
33
|
+
@include print-exact;
|
|
32
34
|
@include text-rendering;
|
|
33
35
|
|
|
34
36
|
&:disabled,
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
@use "../../common/hyphenation" as *;
|
|
7
|
+
@use "../../common/print-exact" as *;
|
|
7
8
|
@use "../../common/text-rendering" as *;
|
|
8
9
|
|
|
9
10
|
.ams-call-to-action-link {
|
|
@@ -22,6 +23,7 @@
|
|
|
22
23
|
touch-action: manipulation;
|
|
23
24
|
|
|
24
25
|
@include hyphenation;
|
|
26
|
+
@include print-exact;
|
|
25
27
|
@include text-rendering;
|
|
26
28
|
|
|
27
29
|
&:hover {
|
|
@@ -15,33 +15,49 @@
|
|
|
15
15
|
font-family: var(--ams-description-list-font-family);
|
|
16
16
|
font-size: var(--ams-description-list-font-size);
|
|
17
17
|
line-height: var(--ams-description-list-line-height);
|
|
18
|
+
row-gap: var(--ams-description-list-row-gap); /* This token is @deprecated. Will be removed on or after 2026-10-20. */
|
|
18
19
|
|
|
19
20
|
@include hyphenation;
|
|
20
21
|
@include text-rendering;
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
@media
|
|
24
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
24
25
|
.ams-description-list,
|
|
25
26
|
.ams-description-list__section {
|
|
26
27
|
align-items: start;
|
|
27
|
-
column-gap: var(
|
|
28
|
+
column-gap: var(
|
|
29
|
+
--ams-description-list-column-gap /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
30
|
+
var(--ams-description-list-vi-medium-column-gap)
|
|
31
|
+
);
|
|
28
32
|
display: grid;
|
|
29
33
|
grid-template-columns: auto 1fr;
|
|
30
34
|
}
|
|
31
35
|
|
|
32
36
|
.ams-description-list--narrow,
|
|
33
37
|
.ams-description-list--narrow .ams-description-list__section {
|
|
34
|
-
grid-template-columns: var(
|
|
38
|
+
grid-template-columns: var(
|
|
39
|
+
--ams-description-list-narrow-grid-template-columns
|
|
40
|
+
/* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
41
|
+
var(--ams-description-list-vi-medium-narrow-grid-template-columns)
|
|
42
|
+
);
|
|
35
43
|
}
|
|
36
44
|
|
|
37
45
|
.ams-description-list--medium,
|
|
38
46
|
.ams-description-list--medium .ams-description-list__section {
|
|
39
|
-
grid-template-columns: var(
|
|
47
|
+
grid-template-columns: var(
|
|
48
|
+
--ams-description-list-medium-grid-template-columns
|
|
49
|
+
/* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
50
|
+
var(--ams-description-list-vi-medium-medium-grid-template-columns)
|
|
51
|
+
);
|
|
40
52
|
}
|
|
41
53
|
|
|
42
54
|
.ams-description-list--wide,
|
|
43
55
|
.ams-description-list--wide .ams-description-list__section {
|
|
44
|
-
grid-template-columns: var(
|
|
56
|
+
grid-template-columns: var(
|
|
57
|
+
--ams-description-list-wide-grid-template-columns
|
|
58
|
+
/* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
59
|
+
var(--ams-description-list-vi-medium-wide-grid-template-columns)
|
|
60
|
+
);
|
|
45
61
|
}
|
|
46
62
|
}
|
|
47
63
|
|
|
@@ -50,14 +66,33 @@
|
|
|
50
66
|
}
|
|
51
67
|
|
|
52
68
|
.ams-description-list__term {
|
|
69
|
+
font-size: var(--ams-description-list-term-font-size);
|
|
53
70
|
font-weight: var(--ams-description-list-term-font-weight);
|
|
71
|
+
line-height: var(--ams-description-list-term-line-height);
|
|
54
72
|
margin-block-end: var(--ams-description-list-term-margin-block-end);
|
|
55
73
|
|
|
56
|
-
|
|
74
|
+
/* stylelint-disable-next-line plugin/use-baseline -- Unbalanced line lengths in non-supporting browsers are acceptable */
|
|
75
|
+
text-wrap: var(--ams-description-list-term-text-wrap);
|
|
76
|
+
|
|
77
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
57
78
|
grid-column-start: 1;
|
|
58
79
|
|
|
59
80
|
// Add margin for Terms that are longer than their Description(s)
|
|
60
81
|
margin-block-end: var(--ams-description-list-term-vi-medium-margin-block-end);
|
|
82
|
+
|
|
83
|
+
// Add half of the difference in computed line heights to align Terms with Descriptions.
|
|
84
|
+
// - Terms use heading line heights; Descriptions use body text
|
|
85
|
+
// - Not for Terms that follow a Term, or which are the last child
|
|
86
|
+
&:not(& + &, :last-child) {
|
|
87
|
+
padding-block-start: calc(
|
|
88
|
+
(
|
|
89
|
+
var(--ams-description-list-font-size) *
|
|
90
|
+
var(--ams-description-list-line-height) - var(--ams-description-list-term-font-size) *
|
|
91
|
+
var(--ams-description-list-term-line-height)
|
|
92
|
+
) /
|
|
93
|
+
2
|
|
94
|
+
);
|
|
95
|
+
}
|
|
61
96
|
}
|
|
62
97
|
|
|
63
98
|
// Remove whitespace between consecutive Terms
|
|
@@ -74,7 +109,7 @@
|
|
|
74
109
|
margin-block-end: var(--ams-description-list-description-margin-block-end);
|
|
75
110
|
padding-inline-start: var(--ams-description-list-description-padding-inline-start);
|
|
76
111
|
|
|
77
|
-
@media
|
|
112
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
78
113
|
grid-column-start: 2;
|
|
79
114
|
padding-inline-start: 0;
|
|
80
115
|
|
|
@@ -88,7 +123,7 @@
|
|
|
88
123
|
.ams-description-list__section {
|
|
89
124
|
margin-block-end: var(--ams-description-list-section-margin-block-end);
|
|
90
125
|
|
|
91
|
-
@media
|
|
126
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
92
127
|
grid-column: span 2;
|
|
93
128
|
|
|
94
129
|
> :only-of-type {
|
|
@@ -110,7 +145,7 @@
|
|
|
110
145
|
}
|
|
111
146
|
}
|
|
112
147
|
|
|
113
|
-
@media
|
|
148
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
114
149
|
.ams-description-list,
|
|
115
150
|
.ams-description-list > .ams-description-list__section:last-child {
|
|
116
151
|
> .ams-description-list__term:last-of-type {
|
|
@@ -25,9 +25,15 @@ so do not apply these styles without an `open` attribute. */
|
|
|
25
25
|
max-block-size: var(--ams-dialog-max-block-size);
|
|
26
26
|
max-inline-size: var(--ams-dialog-max-inline-size);
|
|
27
27
|
|
|
28
|
-
@media
|
|
29
|
-
inline-size: var(
|
|
30
|
-
|
|
28
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
29
|
+
inline-size: var(
|
|
30
|
+
--ams-dialog-medium-inline-size /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
31
|
+
var(--ams-dialog-vi-medium-inline-size)
|
|
32
|
+
);
|
|
33
|
+
max-block-size: var(
|
|
34
|
+
--ams-dialog-medium-max-block-size /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
35
|
+
var(--ams-dialog-vi-medium-max-block-size)
|
|
36
|
+
);
|
|
31
37
|
}
|
|
32
38
|
|
|
33
39
|
/*
|
|
@@ -47,9 +53,15 @@ so do not apply these styles without an `open` attribute. */
|
|
|
47
53
|
padding-block: var(--ams-dialog-header-padding-block);
|
|
48
54
|
padding-inline: var(--ams-dialog-header-padding-inline);
|
|
49
55
|
|
|
50
|
-
@media
|
|
51
|
-
padding-block: var(
|
|
52
|
-
|
|
56
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
57
|
+
padding-block: var(
|
|
58
|
+
--ams-dialog-header-medium-padding-block /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
59
|
+
var(--ams-dialog-header-vi-medium-padding-block)
|
|
60
|
+
);
|
|
61
|
+
padding-inline: var(
|
|
62
|
+
--ams-dialog-header-medium-padding-inline /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
63
|
+
var(--ams-dialog-header-vi-medium-padding-inline)
|
|
64
|
+
);
|
|
53
65
|
}
|
|
54
66
|
}
|
|
55
67
|
|
|
@@ -59,8 +71,11 @@ so do not apply these styles without an `open` attribute. */
|
|
|
59
71
|
padding-block: var(--ams-dialog-body-padding-block);
|
|
60
72
|
padding-inline: var(--ams-dialog-body-padding-inline);
|
|
61
73
|
|
|
62
|
-
@media
|
|
63
|
-
padding-inline: var(
|
|
74
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
75
|
+
padding-inline: var(
|
|
76
|
+
--ams-dialog-body-medium-padding-inline /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
77
|
+
var(--ams-dialog-body-vi-medium-padding-inline)
|
|
78
|
+
);
|
|
64
79
|
}
|
|
65
80
|
}
|
|
66
81
|
|
|
@@ -68,8 +83,14 @@ so do not apply these styles without an `open` attribute. */
|
|
|
68
83
|
padding-block: var(--ams-dialog-footer-padding-block);
|
|
69
84
|
padding-inline: var(--ams-dialog-footer-padding-inline);
|
|
70
85
|
|
|
71
|
-
@media
|
|
72
|
-
padding-block: var(
|
|
73
|
-
|
|
86
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
87
|
+
padding-block: var(
|
|
88
|
+
--ams-dialog-footer-medium-padding-block /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
89
|
+
var(--ams-dialog-footer-vi-medium-padding-block)
|
|
90
|
+
);
|
|
91
|
+
padding-inline: var(
|
|
92
|
+
--ams-dialog-footer-medium-padding-inline /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
93
|
+
var(--ams-dialog-footer-vi-medium-padding-inline)
|
|
94
|
+
);
|
|
74
95
|
}
|
|
75
96
|
}
|
|
@@ -53,11 +53,7 @@
|
|
|
53
53
|
font-weight: var(--ams-field-set-legend-font-weight);
|
|
54
54
|
line-height: var(--ams-field-set-legend-line-height);
|
|
55
55
|
|
|
56
|
-
/*
|
|
57
|
-
* If text-wrap is not supported, it is ignored.
|
|
58
|
-
* This means the wrapped text will look less balanced, which is fine.
|
|
59
|
-
*/
|
|
60
|
-
/* stylelint-disable-next-line plugin/use-baseline */
|
|
56
|
+
/* stylelint-disable-next-line plugin/use-baseline -- Unbalanced line lengths in non-supporting browsers are acceptable */
|
|
61
57
|
text-wrap: var(--ams-field-set-legend-text-wrap);
|
|
62
58
|
|
|
63
59
|
@include hyphenation;
|
|
@@ -14,17 +14,18 @@ Five options are available for the width or height of the gap:
|
|
|
14
14
|
- `ams-gap-l`
|
|
15
15
|
- `ams-gap-xl`
|
|
16
16
|
|
|
17
|
+
These classes apply the [design tokens for space](/docs/brand-design-tokens-space--docs).
|
|
18
|
+
|
|
17
19
|
Because spacing is responsive, the gaps are as well.
|
|
18
20
|
They are also smaller in [Compact Mode](https://designsystem.amsterdam/docs/docs-developer-guide-modes--docs).
|
|
19
|
-
Consult the [Space](/docs/brand-design-tokens-space--docs) docs for an indication of their sizes.
|
|
20
|
-
|
|
21
|
-
The `2xl` space is intended for whitespace around a [Grid](/docs/components-layout-grid--docs) only, which can be produced through a `padding*` of `large`.
|
|
22
21
|
|
|
23
22
|
## Guidelines
|
|
24
23
|
|
|
25
24
|
- Use this utility class to vertically separate the children of a parent element from each other.
|
|
26
25
|
- Do not use it on the Grid component.
|
|
27
26
|
Grid is responsible for its own gaps.
|
|
27
|
+
- Do not use it for text – various types of elements require different amounts of space between them.
|
|
28
|
+
Wrap editorial content in the [Prose](/docs/utilities-css-prose--docs) utility class to have all spacing set automatically.
|
|
28
29
|
- It can be used on any other element and sets the `gap` CSS property.
|
|
29
30
|
It also makes the element a grid container; the gap would be ignored otherwise.
|
|
30
31
|
These declarations are marked with the `!important` flag to ensure they override any other gaps and display modes.
|
|
@@ -12,6 +12,10 @@ Divides the screen into columns to align the elements of a page.
|
|
|
12
12
|
- Its children are `Grid.Cell` components that define how many columns they span, and optionally where they start.
|
|
13
13
|
Both its `span` and `start` properties accept a single value, or separate values for the narrow, medium and wide variations of the Grid.
|
|
14
14
|
Follow these [optimal sizes of Grid Cells](/docs/pages-public-introduction--docs#how-to-size-the-grid-cells) for various typical page sections.
|
|
15
|
+
- Grid Cells align to the top of their row.
|
|
16
|
+
This makes them as tall as their content.
|
|
17
|
+
This is especially useful for [Compact Mode](https://designsystem.amsterdam/docs/docs-developer-guide-modes--docs), where their background colour is different than that of the Page.
|
|
18
|
+
The [internal Home Page](/story/pages-internal-home-page--default) example shows this behaviour.
|
|
15
19
|
- A single page can have several Grids.
|
|
16
20
|
This allows mixing a Grid with a [Spotlight](/docs/components-containers-spotlight--docs), [Breakout](/docs/components-layout-breakout--docs) or full width [Image](/docs/components-media-image--docs) which ‘bleed out’ of the main layout.
|
|
17
21
|
- Grids must not be nested.
|
|
@@ -14,14 +14,32 @@
|
|
|
14
14
|
padding-inline: var(--ams-grid-padding-inline);
|
|
15
15
|
row-gap: var(--ams-grid-row-gap-xl);
|
|
16
16
|
|
|
17
|
-
@media
|
|
18
|
-
grid-template-columns: repeat(
|
|
19
|
-
|
|
17
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
18
|
+
grid-template-columns: repeat(
|
|
19
|
+
var(
|
|
20
|
+
--ams-grid-medium-column-count /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
21
|
+
var(--ams-grid-vi-medium-column-count)
|
|
22
|
+
),
|
|
23
|
+
1fr
|
|
24
|
+
);
|
|
25
|
+
padding-inline: var(
|
|
26
|
+
--ams-grid-medium-padding-inline /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
27
|
+
var(--ams-grid-vi-medium-padding-inline)
|
|
28
|
+
);
|
|
20
29
|
}
|
|
21
30
|
|
|
22
|
-
@media
|
|
23
|
-
grid-template-columns: repeat(
|
|
24
|
-
|
|
31
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
32
|
+
grid-template-columns: repeat(
|
|
33
|
+
var(
|
|
34
|
+
--ams-grid-wide-column-count /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
35
|
+
var(--ams-grid-vi-wide-column-count)
|
|
36
|
+
),
|
|
37
|
+
1fr
|
|
38
|
+
);
|
|
39
|
+
padding-inline: var(
|
|
40
|
+
--ams-grid-wide-padding-inline /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
41
|
+
var(--ams-grid-vi-wide-padding-inline)
|
|
42
|
+
);
|
|
25
43
|
}
|
|
26
44
|
}
|
|
27
45
|
|
|
@@ -77,11 +95,13 @@
|
|
|
77
95
|
padding-block: var(--ams-grid-padding-block-2xl);
|
|
78
96
|
}
|
|
79
97
|
|
|
98
|
+
// Cell
|
|
99
|
+
|
|
80
100
|
@mixin ams-grid__cell--span-all {
|
|
81
101
|
grid-column: 1 / -1;
|
|
82
102
|
}
|
|
83
103
|
|
|
84
|
-
//
|
|
104
|
+
// Cell span and start
|
|
85
105
|
|
|
86
106
|
@mixin ams-grid__cell--span($i) {
|
|
87
107
|
grid-column-end: span $i;
|
|
@@ -92,25 +112,43 @@
|
|
|
92
112
|
}
|
|
93
113
|
|
|
94
114
|
@mixin ams-grid__cell--span-medium($i) {
|
|
95
|
-
@media
|
|
115
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
96
116
|
grid-column-end: span $i;
|
|
97
117
|
}
|
|
98
118
|
}
|
|
99
119
|
|
|
100
120
|
@mixin ams-grid__cell--start-medium($i) {
|
|
101
|
-
@media
|
|
121
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
102
122
|
grid-column-start: $i;
|
|
103
123
|
}
|
|
104
124
|
}
|
|
105
125
|
|
|
106
126
|
@mixin ams-grid__cell--span-wide($i) {
|
|
107
|
-
@media
|
|
127
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
108
128
|
grid-column-end: span $i;
|
|
109
129
|
}
|
|
110
130
|
}
|
|
111
131
|
|
|
112
132
|
@mixin ams-grid__cell--start-wide($i) {
|
|
113
|
-
@media
|
|
133
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
114
134
|
grid-column-start: $i;
|
|
115
135
|
}
|
|
116
136
|
}
|
|
137
|
+
|
|
138
|
+
// Cell row span
|
|
139
|
+
|
|
140
|
+
@mixin ams-grid__cell--row-span($i) {
|
|
141
|
+
grid-row: span $i;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
@mixin ams-grid__cell--row-span-medium($i) {
|
|
145
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
146
|
+
grid-row: span $i;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
@mixin ams-grid__cell--row-span-wide($i) {
|
|
151
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
152
|
+
grid-row: span $i;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
@@ -7,9 +7,12 @@
|
|
|
7
7
|
@use "mixins" as *;
|
|
8
8
|
|
|
9
9
|
$ams-grid-column-count: 12;
|
|
10
|
+
$ams-grid-row-span-max: 4;
|
|
10
11
|
|
|
11
12
|
.ams-grid {
|
|
12
13
|
@include ams-grid;
|
|
14
|
+
|
|
15
|
+
align-items: start;
|
|
13
16
|
}
|
|
14
17
|
|
|
15
18
|
// Grid gap
|
|
@@ -64,7 +67,26 @@ $ams-grid-column-count: 12;
|
|
|
64
67
|
@include ams-grid--padding-vertical--2x-large;
|
|
65
68
|
}
|
|
66
69
|
|
|
67
|
-
//
|
|
70
|
+
// Cell
|
|
71
|
+
|
|
72
|
+
.ams-grid__cell {
|
|
73
|
+
background-color: var(--ams-grid-cell-background-color);
|
|
74
|
+
padding-block: var(--ams-grid-cell-padding-block);
|
|
75
|
+
padding-inline: var(--ams-grid-cell-padding-inline);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.ams-grid__cell--flush {
|
|
79
|
+
padding-block: 0;
|
|
80
|
+
padding-inline: 0;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.ams-grid__cell--transparent {
|
|
84
|
+
background-color: transparent;
|
|
85
|
+
padding-block: 0;
|
|
86
|
+
padding-inline: 0;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Cell span and start
|
|
68
90
|
// The order of these declaration blocks ensures the intended specificity.
|
|
69
91
|
|
|
70
92
|
.ams-grid__cell--span-all {
|
|
@@ -81,7 +103,7 @@ $ams-grid-column-count: 12;
|
|
|
81
103
|
}
|
|
82
104
|
}
|
|
83
105
|
|
|
84
|
-
@media
|
|
106
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
85
107
|
@for $i from 1 through $ams-grid-column-count {
|
|
86
108
|
.ams-grid__cell--span-#{$i}-medium {
|
|
87
109
|
@include ams-grid__cell--span-medium($i);
|
|
@@ -93,7 +115,7 @@ $ams-grid-column-count: 12;
|
|
|
93
115
|
}
|
|
94
116
|
}
|
|
95
117
|
|
|
96
|
-
@media
|
|
118
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
97
119
|
@for $i from 1 through $ams-grid-column-count {
|
|
98
120
|
.ams-grid__cell--span-#{$i}-wide {
|
|
99
121
|
@include ams-grid__cell--span-wide($i);
|
|
@@ -104,3 +126,27 @@ $ams-grid-column-count: 12;
|
|
|
104
126
|
}
|
|
105
127
|
}
|
|
106
128
|
}
|
|
129
|
+
|
|
130
|
+
// Cell row span
|
|
131
|
+
|
|
132
|
+
@for $i from 1 through $ams-grid-row-span-max {
|
|
133
|
+
.ams-grid__cell--row-span-#{$i} {
|
|
134
|
+
@include ams-grid__cell--row-span($i);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
139
|
+
@for $i from 1 through $ams-grid-row-span-max {
|
|
140
|
+
.ams-grid__cell--row-span-#{$i}-medium {
|
|
141
|
+
@include ams-grid__cell--row-span-medium($i);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
147
|
+
@for $i from 1 through $ams-grid-row-span-max {
|
|
148
|
+
.ams-grid__cell--row-span-#{$i}-wide {
|
|
149
|
+
@include ams-grid__cell--row-span-wide($i);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
@@ -23,11 +23,7 @@
|
|
|
23
23
|
font-family: var(--ams-heading-font-family);
|
|
24
24
|
font-weight: var(--ams-heading-font-weight);
|
|
25
25
|
|
|
26
|
-
/*
|
|
27
|
-
* If text-wrap is not supported, it is ignored.
|
|
28
|
-
* This means the wrapped text will look less balanced, which is fine.
|
|
29
|
-
*/
|
|
30
|
-
/* stylelint-disable-next-line plugin/use-baseline */
|
|
26
|
+
/* stylelint-disable-next-line plugin/use-baseline -- Unbalanced line lengths in non-supporting browsers are acceptable */
|
|
31
27
|
text-wrap: var(--ams-heading-text-wrap);
|
|
32
28
|
|
|
33
29
|
@include hyphenation;
|
|
@@ -59,11 +55,6 @@
|
|
|
59
55
|
line-height: var(--ams-heading-5-line-height);
|
|
60
56
|
}
|
|
61
57
|
|
|
62
|
-
.ams-heading--6 {
|
|
63
|
-
font-size: var(--ams-heading-6-font-size);
|
|
64
|
-
line-height: var(--ams-heading-6-line-height);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
58
|
.ams-heading--inverse {
|
|
68
59
|
color: var(--ams-heading-inverse-color);
|
|
69
60
|
}
|
|
@@ -77,10 +77,3 @@
|
|
|
77
77
|
font-size: var(--ams-icon-heading-5-font-size);
|
|
78
78
|
line-height: var(--ams-icon-heading-5-line-height);
|
|
79
79
|
}
|
|
80
|
-
|
|
81
|
-
.ams-icon--heading-6 {
|
|
82
|
-
--ams-line-height: var(--ams-icon-heading-6-line-height);
|
|
83
|
-
|
|
84
|
-
font-size: var(--ams-icon-heading-6-font-size);
|
|
85
|
-
line-height: var(--ams-icon-heading-6-line-height);
|
|
86
|
-
}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
@use "avatar/avatar";
|
|
12
12
|
@use "badge/badge";
|
|
13
13
|
@use "blockquote/blockquote";
|
|
14
|
+
@use "body/body";
|
|
14
15
|
@use "breadcrumb/breadcrumb";
|
|
15
16
|
@use "breakout/breakout";
|
|
16
17
|
@use "button/button";
|
|
@@ -22,7 +23,6 @@
|
|
|
22
23
|
@use "date-input/date-input";
|
|
23
24
|
@use "description-list/description-list";
|
|
24
25
|
@use "dialog/dialog";
|
|
25
|
-
@use "document/document";
|
|
26
26
|
@use "error-message/error-message";
|
|
27
27
|
@use "field-set/field-set";
|
|
28
28
|
@use "field/field";
|
|
@@ -35,7 +35,6 @@
|
|
|
35
35
|
@use "hint/hint";
|
|
36
36
|
@use "icon-button/icon-button";
|
|
37
37
|
@use "icon/icon";
|
|
38
|
-
@use "icon/icon.deprecated" as *;
|
|
39
38
|
@use "image-slider/image-slider";
|
|
40
39
|
@use "image/image";
|
|
41
40
|
@use "invalid-form-alert/invalid-form-alert";
|
|
@@ -51,11 +50,11 @@
|
|
|
51
50
|
@use "page/page";
|
|
52
51
|
@use "page-footer/page-footer";
|
|
53
52
|
@use "page-header/page-header";
|
|
54
|
-
@use "page-heading/page-heading.deprecated" as *;
|
|
55
53
|
@use "pagination/pagination";
|
|
56
54
|
@use "paragraph/paragraph";
|
|
57
55
|
@use "password-input/password-input";
|
|
58
56
|
@use "progress-list/progress-list";
|
|
57
|
+
@use "prose/prose";
|
|
59
58
|
@use "radio/radio";
|
|
60
59
|
@use "row/row";
|
|
61
60
|
@use "search-field/search-field";
|
|
@@ -66,6 +65,7 @@
|
|
|
66
65
|
@use "switch/switch";
|
|
67
66
|
@use "table-of-contents/table-of-contents";
|
|
68
67
|
@use "table/table";
|
|
68
|
+
@use "tab-navigation/tab-navigation";
|
|
69
69
|
@use "tabs/tabs";
|
|
70
70
|
@use "text-area/text-area";
|
|
71
71
|
@use "text-input/text-input";
|
|
@@ -14,11 +14,7 @@
|
|
|
14
14
|
font-weight: var(--ams-label-font-weight);
|
|
15
15
|
line-height: var(--ams-label-line-height);
|
|
16
16
|
|
|
17
|
-
/*
|
|
18
|
-
* If text-wrap is not supported, it is ignored.
|
|
19
|
-
* This means the wrapped text will look less balanced, which is fine.
|
|
20
|
-
*/
|
|
21
|
-
/* stylelint-disable-next-line plugin/use-baseline */
|
|
17
|
+
/* stylelint-disable-next-line plugin/use-baseline -- Unbalanced line lengths in non-supporting browsers are acceptable */
|
|
22
18
|
text-wrap: var(--ams-label-text-wrap);
|
|
23
19
|
|
|
24
20
|
@include hyphenation;
|
|
@@ -14,12 +14,13 @@ The English logo is used for websites in the English language.
|
|
|
14
14
|
|
|
15
15
|
## Exception
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Websites operated by one of the sub-brands use their specific logo.
|
|
18
18
|
They have a separate status because of their unique service provision not directly associated with the City.
|
|
19
19
|
|
|
20
20
|
The sub-brands are:
|
|
21
21
|
|
|
22
22
|
- GGD Amsterdam
|
|
23
|
+
- GGD Amsterdam Inspectie
|
|
23
24
|
- Museum Weesp
|
|
24
25
|
- Stadsarchief
|
|
25
26
|
- Stadsbank van Lening
|