@amsterdam/design-system-css 3.2.0 → 3.3.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 +24 -0
- 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/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.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/page-heading/page-heading.deprecated.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/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/package.json +3 -3
- package/src/common/hide-input.scss +1 -0
- package/src/common/print-exact.scss +16 -0
- package/src/components/accordion/accordion.scss +1 -1
- 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/breadcrumb/README.md +6 -7
- package/src/components/breakout/breakout.scss +6 -6
- 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 +52 -24
- package/src/components/dialog/dialog.scss +4 -4
- package/src/components/field-set/field-set.scss +1 -5
- package/src/components/gap/README.md +2 -3
- package/src/components/grid/_mixins.scss +6 -6
- package/src/components/grid/grid.scss +2 -2
- package/src/components/heading/heading.scss +1 -5
- package/src/components/image-slider/image-slider.scss +1 -1
- package/src/components/label/label.scss +1 -5
- package/src/components/logo/README.md +2 -1
- package/src/components/margin/README.md +2 -1
- package/src/components/menu/menu.scss +5 -5
- package/src/components/page-footer/page-footer.scss +5 -2
- package/src/components/page-header/README.md +8 -24
- package/src/components/page-header/page-header.scss +11 -13
- package/src/components/page-heading/page-heading.deprecated.scss +2 -1
- package/src/components/pagination/pagination.scss +4 -0
- package/src/components/paragraph/paragraph.scss +1 -5
- package/src/components/progress-list/progress-list.scss +76 -7
- package/src/components/search-field/search-field.scss +2 -0
- package/src/components/spotlight/spotlight.scss +4 -0
|
@@ -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 {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
@include text-rendering;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
@media
|
|
23
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
24
24
|
.ams-description-list,
|
|
25
25
|
.ams-description-list__section {
|
|
26
26
|
align-items: start;
|
|
@@ -50,29 +50,64 @@
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
.ams-description-list__term {
|
|
53
|
+
font-size: var(--ams-description-list-term-font-size);
|
|
53
54
|
font-weight: var(--ams-description-list-term-font-weight);
|
|
55
|
+
line-height: var(--ams-description-list-term-line-height);
|
|
54
56
|
margin-block-end: var(--ams-description-list-term-margin-block-end);
|
|
55
57
|
|
|
58
|
+
/* stylelint-disable-next-line plugin/use-baseline -- Unbalanced line lengths in non-supporting browsers are acceptable */
|
|
59
|
+
text-wrap: var(--ams-description-list-term-text-wrap);
|
|
60
|
+
|
|
61
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
62
|
+
grid-column-start: 1;
|
|
63
|
+
|
|
64
|
+
// Add margin for Terms that are longer than their Description(s)
|
|
65
|
+
margin-block-end: var(--ams-description-list-term-vi-medium-margin-block-end);
|
|
66
|
+
|
|
67
|
+
// Add half of the difference in computed line heights to align Terms with Descriptions.
|
|
68
|
+
// - Terms use heading line heights; Descriptions use body text
|
|
69
|
+
// - Not for Terms that follow a Term, or which are the last child
|
|
70
|
+
&:not(& + &, :last-child) {
|
|
71
|
+
padding-block-start: calc(
|
|
72
|
+
(
|
|
73
|
+
var(--ams-description-list-font-size) *
|
|
74
|
+
var(--ams-description-list-line-height) - var(--ams-description-list-term-font-size) *
|
|
75
|
+
var(--ams-description-list-term-line-height)
|
|
76
|
+
) /
|
|
77
|
+
2
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
56
82
|
// Remove whitespace between consecutive Terms
|
|
57
83
|
/* stylelint-disable-next-line plugin/use-baseline -- Suboptimal spacing in non-supporting browsers is acceptable */
|
|
58
84
|
&:has(+ .ams-description-list__term) {
|
|
59
85
|
margin-block-end: 0;
|
|
60
86
|
}
|
|
87
|
+
}
|
|
61
88
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
grid-column-start: 1;
|
|
89
|
+
.ams-description-list__description {
|
|
90
|
+
@include reset-dd;
|
|
65
91
|
|
|
66
|
-
|
|
67
|
-
|
|
92
|
+
font-weight: var(--ams-description-list-description-font-weight);
|
|
93
|
+
margin-block-end: var(--ams-description-list-description-margin-block-end);
|
|
94
|
+
padding-inline-start: var(--ams-description-list-description-padding-inline-start);
|
|
95
|
+
|
|
96
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
97
|
+
grid-column-start: 2;
|
|
98
|
+
padding-inline-start: 0;
|
|
99
|
+
|
|
100
|
+
// Make sure the first Description starts at the top row
|
|
101
|
+
&:first-of-type {
|
|
102
|
+
grid-row-start: 1;
|
|
103
|
+
}
|
|
68
104
|
}
|
|
69
105
|
}
|
|
70
106
|
|
|
71
107
|
.ams-description-list__section {
|
|
72
108
|
margin-block-end: var(--ams-description-list-section-margin-block-end);
|
|
73
109
|
|
|
74
|
-
@media
|
|
75
|
-
// Let a Section span both columns of the parent List
|
|
110
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
76
111
|
grid-column: span 2;
|
|
77
112
|
|
|
78
113
|
> :only-of-type {
|
|
@@ -82,22 +117,6 @@
|
|
|
82
117
|
}
|
|
83
118
|
}
|
|
84
119
|
|
|
85
|
-
.ams-description-list__description {
|
|
86
|
-
@include reset-dd;
|
|
87
|
-
|
|
88
|
-
font-weight: var(--ams-description-list-description-font-weight);
|
|
89
|
-
margin-block-end: var(--ams-description-list-description-margin-block-end);
|
|
90
|
-
padding-inline-start: var(--ams-description-list-description-padding-inline-start);
|
|
91
|
-
|
|
92
|
-
@media screen and (min-width: $ams-breakpoint-medium) {
|
|
93
|
-
// Make sure all Descriptions are in the second column
|
|
94
|
-
grid-column-start: 2;
|
|
95
|
-
|
|
96
|
-
// Remove indentation in 2-column layout
|
|
97
|
-
padding-inline-start: 0;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
|
|
101
120
|
// Remove trailing margins
|
|
102
121
|
/* stylelint-disable-next-line no-duplicate-selectors -- Natural reading order, prevents descending specificity */
|
|
103
122
|
.ams-description-list {
|
|
@@ -109,3 +128,12 @@
|
|
|
109
128
|
margin-block-end: 0;
|
|
110
129
|
}
|
|
111
130
|
}
|
|
131
|
+
|
|
132
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
133
|
+
.ams-description-list,
|
|
134
|
+
.ams-description-list > .ams-description-list__section:last-child {
|
|
135
|
+
> .ams-description-list__term:last-of-type {
|
|
136
|
+
margin-block-end: 0;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
@@ -25,7 +25,7 @@ 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
|
|
28
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
29
29
|
inline-size: var(--ams-dialog-medium-inline-size);
|
|
30
30
|
max-block-size: var(--ams-dialog-medium-max-block-size);
|
|
31
31
|
}
|
|
@@ -47,7 +47,7 @@ so do not apply these styles without an `open` attribute. */
|
|
|
47
47
|
padding-block: var(--ams-dialog-header-padding-block);
|
|
48
48
|
padding-inline: var(--ams-dialog-header-padding-inline);
|
|
49
49
|
|
|
50
|
-
@media
|
|
50
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
51
51
|
padding-block: var(--ams-dialog-header-medium-padding-block);
|
|
52
52
|
padding-inline: var(--ams-dialog-header-medium-padding-inline);
|
|
53
53
|
}
|
|
@@ -59,7 +59,7 @@ so do not apply these styles without an `open` attribute. */
|
|
|
59
59
|
padding-block: var(--ams-dialog-body-padding-block);
|
|
60
60
|
padding-inline: var(--ams-dialog-body-padding-inline);
|
|
61
61
|
|
|
62
|
-
@media
|
|
62
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
63
63
|
padding-inline: var(--ams-dialog-body-medium-padding-inline);
|
|
64
64
|
}
|
|
65
65
|
}
|
|
@@ -68,7 +68,7 @@ so do not apply these styles without an `open` attribute. */
|
|
|
68
68
|
padding-block: var(--ams-dialog-footer-padding-block);
|
|
69
69
|
padding-inline: var(--ams-dialog-footer-padding-inline);
|
|
70
70
|
|
|
71
|
-
@media
|
|
71
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
72
72
|
padding-block: var(--ams-dialog-footer-medium-padding-block);
|
|
73
73
|
padding-inline: var(--ams-dialog-footer-medium-padding-inline);
|
|
74
74
|
}
|
|
@@ -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,11 +14,10 @@ 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
|
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
padding-inline: var(--ams-grid-padding-inline);
|
|
15
15
|
row-gap: var(--ams-grid-row-gap-xl);
|
|
16
16
|
|
|
17
|
-
@media
|
|
17
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
18
18
|
grid-template-columns: repeat(var(--ams-grid-medium-column-count), 1fr);
|
|
19
19
|
padding-inline: var(--ams-grid-medium-padding-inline);
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
@media
|
|
22
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
23
23
|
grid-template-columns: repeat(var(--ams-grid-wide-column-count), 1fr);
|
|
24
24
|
padding-inline: var(--ams-grid-wide-padding-inline);
|
|
25
25
|
}
|
|
@@ -92,25 +92,25 @@
|
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
@mixin ams-grid__cell--span-medium($i) {
|
|
95
|
-
@media
|
|
95
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
96
96
|
grid-column-end: span $i;
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
@mixin ams-grid__cell--start-medium($i) {
|
|
101
|
-
@media
|
|
101
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
102
102
|
grid-column-start: $i;
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
@mixin ams-grid__cell--span-wide($i) {
|
|
107
|
-
@media
|
|
107
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
108
108
|
grid-column-end: span $i;
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
@mixin ams-grid__cell--start-wide($i) {
|
|
113
|
-
@media
|
|
113
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
114
114
|
grid-column-start: $i;
|
|
115
115
|
}
|
|
116
116
|
}
|
|
@@ -81,7 +81,7 @@ $ams-grid-column-count: 12;
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
@media
|
|
84
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
85
85
|
@for $i from 1 through $ams-grid-column-count {
|
|
86
86
|
.ams-grid__cell--span-#{$i}-medium {
|
|
87
87
|
@include ams-grid__cell--span-medium($i);
|
|
@@ -93,7 +93,7 @@ $ams-grid-column-count: 12;
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
@media
|
|
96
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
97
97
|
@for $i from 1 through $ams-grid-column-count {
|
|
98
98
|
.ams-grid__cell--span-#{$i}-wide {
|
|
99
99
|
@include ams-grid__cell--span-wide($i);
|
|
@@ -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;
|
|
@@ -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
|
|
@@ -15,9 +15,10 @@ Six options are available for the width or height of the bottom margin:
|
|
|
15
15
|
- `ams-mb-xl`
|
|
16
16
|
- `ams-mb-2xl`
|
|
17
17
|
|
|
18
|
+
These classes apply the [design tokens for space](/docs/brand-design-tokens-space--docs).
|
|
19
|
+
|
|
18
20
|
Because spacing is responsive, the margins are as well.
|
|
19
21
|
They are also smaller in [Compact Mode](https://designsystem.amsterdam/docs/docs-developer-guide-modes--docs).
|
|
20
|
-
Consult the [Space](/docs/brand-design-tokens-space--docs) docs for an indication of their sizes.
|
|
21
22
|
|
|
22
23
|
## Guidelines
|
|
23
24
|
|
|
@@ -23,12 +23,12 @@
|
|
|
23
23
|
// We subtract the menu link padding to align the items with surrounding content.
|
|
24
24
|
padding-inline: calc(var(--ams-grid-padding-inline) - var(--ams-menu-link-padding-inline));
|
|
25
25
|
|
|
26
|
-
@media
|
|
26
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
27
27
|
margin-inline: calc(var(--ams-grid-medium-padding-inline) * -1);
|
|
28
28
|
padding-inline: var(--ams-grid-medium-padding-inline);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
@media
|
|
31
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
32
32
|
display: none;
|
|
33
33
|
margin-inline: 0; // Override negative margin above.
|
|
34
34
|
max-inline-size: var(--ams-menu-wide-max-inline-size);
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
.ams-menu--in-wide-window {
|
|
41
41
|
display: none;
|
|
42
42
|
|
|
43
|
-
@media
|
|
43
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
44
44
|
display: block;
|
|
45
45
|
}
|
|
46
46
|
}
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
@include hyphenation;
|
|
54
54
|
@include text-rendering;
|
|
55
55
|
|
|
56
|
-
@media
|
|
56
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
57
57
|
gap: var(--ams-menu-list-gap);
|
|
58
58
|
}
|
|
59
59
|
}
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
align-self: initial;
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
@media
|
|
82
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
83
83
|
align-items: center;
|
|
84
84
|
display: flex; // The links do stretch in the vertical layout of Menu.
|
|
85
85
|
flex-direction: column;
|
|
@@ -5,11 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
@use "../../common/breakpoint" as *;
|
|
7
7
|
@use "../../common/hyphenation" as *;
|
|
8
|
+
@use "../../common/print-exact" as *;
|
|
8
9
|
@use "../../common/resets" as *;
|
|
9
10
|
@use "../../common/text-rendering" as *;
|
|
10
11
|
|
|
11
12
|
.ams-page-footer__spotlight {
|
|
12
13
|
background-color: var(--ams-page-footer-spotlight-background-color);
|
|
14
|
+
|
|
15
|
+
@include print-exact;
|
|
13
16
|
}
|
|
14
17
|
|
|
15
18
|
.ams-page-footer__menu {
|
|
@@ -22,11 +25,11 @@
|
|
|
22
25
|
padding-inline: var(--ams-page-footer-menu-padding-inline);
|
|
23
26
|
row-gap: var(--ams-page-footer-menu-row-gap);
|
|
24
27
|
|
|
25
|
-
@media
|
|
28
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
26
29
|
padding-inline: var(--ams-page-footer-menu-medium-padding-inline);
|
|
27
30
|
}
|
|
28
31
|
|
|
29
|
-
@media
|
|
32
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
30
33
|
padding-inline: var(--ams-page-footer-menu-wide-padding-inline);
|
|
31
34
|
}
|
|
32
35
|
}
|
|
@@ -2,30 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
# Page Header
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
Conveys the origin and authority of the website through a logo and an optional name.
|
|
6
|
+
Can serve as a consistent starting point for navigation.
|
|
7
7
|
|
|
8
8
|
## Guidelines
|
|
9
9
|
|
|
10
|
-
-
|
|
11
|
-
|
|
12
|
-
- The Page Header
|
|
13
|
-
|
|
14
|
-
- The Page Header is the same on every page of the website, although full-screen pages
|
|
15
|
-
-
|
|
16
|
-
The last two will often be ‘Search’ and ‘Menu’.
|
|
17
|
-
- An icon can be added to such a menu item if it helps clarify it, e.g. for searching and for logging in and out.
|
|
18
|
-
- The 'Menu' button opens a collapsible menu, which has room for more links.
|
|
19
|
-
- On narrow windows, links can move from the inline menu to the collapsible one.
|
|
20
|
-
- Labels should be short to help the inline menu fit on a single line whenever possible.
|
|
21
|
-
- An icon can be added to the end of a link to make its destination easier to guess.
|
|
22
|
-
- For websites with a brand name that feature the standard Amsterdam logo, only the emblem is shown in narrow windows.
|
|
23
|
-
- An abbreviated brand name can be shown in narrow or medium-wide windows if the full name does not fit.
|
|
24
|
-
- If the collapsible menu contains [Headings](https://designsystem.amsterdam/?path=/docs/components-text-heading--docs), give them level 2 and a size of ‘level-3’.
|
|
25
|
-
- There’s no need to add whitespace to the Grid in the collapsible menu.
|
|
26
|
-
Its container already does this.
|
|
27
|
-
|
|
28
|
-
## References
|
|
29
|
-
|
|
30
|
-
- A Page Header is a [landmark](https://www.w3.org/TR/wai-aria-practices-1.1/#aria_landmark_roles) and can be used to group navigation elements.
|
|
31
|
-
- [WCAG 3.2.3](https://wcag.com/designers/3-2-3-consistent-navigation/) Consistent Navigation: Navigation menus that appear on multiple pages are consistent.
|
|
10
|
+
- All our websites must start with the Page Header.
|
|
11
|
+
Consistent use helps people identify, navigate, and trust our digital channels.
|
|
12
|
+
- The Page Header must show the appropriate logo and brand name.
|
|
13
|
+
The navigation structure can be configured freely.
|
|
14
|
+
- The Page Header is the same on every page of the website, although full-screen pages (e.g. a video or map) may hide it.
|
|
15
|
+
- Continue below to the [guidelines for elements](#guidelines-for-elements).
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
@use "../../common/breakpoint" as *;
|
|
7
|
+
@use "../../common/print-exact" as *;
|
|
7
8
|
@use "../../common/resets" as *;
|
|
8
9
|
@use "../../common/text-rendering" as *;
|
|
9
10
|
|
|
@@ -18,11 +19,11 @@
|
|
|
18
19
|
padding-block: var(--ams-page-header-padding-block);
|
|
19
20
|
padding-inline: var(--ams-page-header-padding-inline);
|
|
20
21
|
|
|
21
|
-
@media
|
|
22
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
22
23
|
padding-inline: var(--ams-page-header-medium-padding-inline);
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
@media
|
|
26
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
26
27
|
padding-inline: var(--ams-page-header-wide-padding-inline);
|
|
27
28
|
}
|
|
28
29
|
}
|
|
@@ -60,7 +61,7 @@
|
|
|
60
61
|
inline-size: 0.75rem;
|
|
61
62
|
overflow: hidden;
|
|
62
63
|
|
|
63
|
-
@media
|
|
64
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
64
65
|
inline-size: auto;
|
|
65
66
|
}
|
|
66
67
|
}
|
|
@@ -72,23 +73,19 @@
|
|
|
72
73
|
font-weight: var(--ams-page-header-brand-name-font-weight);
|
|
73
74
|
line-height: var(--ams-page-header-brand-name-line-height);
|
|
74
75
|
|
|
75
|
-
/*
|
|
76
|
-
* If text-wrap is not supported, it is ignored.
|
|
77
|
-
* This means the wrapped text will look less balanced, which is fine.
|
|
78
|
-
*/
|
|
79
|
-
/* stylelint-disable-next-line plugin/use-baseline */
|
|
76
|
+
/* stylelint-disable-next-line plugin/use-baseline -- Unbalanced line lengths in non-supporting browsers are acceptable */
|
|
80
77
|
text-wrap: var(--ams-page-header-brand-name-text-wrap);
|
|
81
78
|
}
|
|
82
79
|
|
|
83
80
|
.ams-page-header__brand-name-short {
|
|
84
|
-
@media
|
|
81
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
85
82
|
display: none;
|
|
86
83
|
}
|
|
87
84
|
|
|
88
85
|
& + .ams-page-header__brand-name {
|
|
89
86
|
display: none;
|
|
90
87
|
|
|
91
|
-
@media
|
|
88
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
92
89
|
display: initial;
|
|
93
90
|
}
|
|
94
91
|
}
|
|
@@ -120,7 +117,7 @@
|
|
|
120
117
|
|
|
121
118
|
// Do not show menu items below the wide breakpoint...
|
|
122
119
|
.ams-page-header__menu-item {
|
|
123
|
-
@media
|
|
120
|
+
@media (not (min-width: $ams-breakpoint-wide)) {
|
|
124
121
|
display: none;
|
|
125
122
|
}
|
|
126
123
|
}
|
|
@@ -166,7 +163,7 @@
|
|
|
166
163
|
}
|
|
167
164
|
|
|
168
165
|
.ams-page-header__mega-menu-button-item--hide-on-wide-window {
|
|
169
|
-
@media
|
|
166
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
170
167
|
display: none;
|
|
171
168
|
}
|
|
172
169
|
}
|
|
@@ -184,6 +181,7 @@
|
|
|
184
181
|
padding-inline: var(--ams-page-header-mega-menu-button-padding-inline);
|
|
185
182
|
|
|
186
183
|
@include page-header-menu-action;
|
|
184
|
+
@include print-exact;
|
|
187
185
|
|
|
188
186
|
&:hover {
|
|
189
187
|
background-color: var(--ams-page-header-mega-menu-button-hover-background-color);
|
|
@@ -245,7 +243,7 @@
|
|
|
245
243
|
.ams-page-header__grid-cell-narrow-window-only {
|
|
246
244
|
display: initial; // Override the `hidden` attribute; this cell duplicates the non-fixed links in the Page Header Menu.
|
|
247
245
|
|
|
248
|
-
@media
|
|
246
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
249
247
|
display: none;
|
|
250
248
|
}
|
|
251
249
|
}
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
font-size: var(--ams-page-heading-font-size);
|
|
21
21
|
font-weight: var(--ams-page-heading-font-weight);
|
|
22
22
|
line-height: var(--ams-page-heading-line-height);
|
|
23
|
-
|
|
23
|
+
|
|
24
|
+
/* stylelint-disable-next-line plugin/use-baseline -- Unbalanced line lengths in non-supporting browsers are acceptable */
|
|
24
25
|
text-wrap: var(--ams-page-heading-text-wrap);
|
|
25
26
|
|
|
26
27
|
@include hyphenation;
|
|
@@ -48,6 +48,10 @@
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
+
.ams-pagination__link-label {
|
|
52
|
+
display: inline; // Override the default 'hidden' attribute, showing the visible label when CSS loads
|
|
53
|
+
}
|
|
54
|
+
|
|
51
55
|
.ams-pagination__link[aria-current="page"] {
|
|
52
56
|
font-weight: var(--ams-pagination-link-current-font-weight);
|
|
53
57
|
|
|
@@ -25,11 +25,7 @@
|
|
|
25
25
|
font-size: var(--ams-paragraph-large-font-size);
|
|
26
26
|
line-height: var(--ams-paragraph-large-line-height);
|
|
27
27
|
|
|
28
|
-
/*
|
|
29
|
-
* If text-wrap is not supported, it is ignored.
|
|
30
|
-
* This means the wrapped text will look less balanced, which is fine.
|
|
31
|
-
*/
|
|
32
|
-
/* stylelint-disable-next-line plugin/use-baseline */
|
|
28
|
+
/* stylelint-disable-next-line plugin/use-baseline -- Unbalanced line lengths in non-supporting browsers are acceptable */
|
|
33
29
|
text-wrap: var(--ams-paragraph-large-text-wrap);
|
|
34
30
|
}
|
|
35
31
|
|