@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
|
@@ -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
|
|
|
@@ -29,3 +30,4 @@ Consult the [Space](/docs/brand-design-tokens-space--docs) docs for an indicatio
|
|
|
29
30
|
Consult [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_box_model/Mastering_margin_collapsing) for details.
|
|
30
31
|
- To add equal margins between elements, either use the [Gap](/docs/utilities-css-gap--docs) utility class on their common parent or wrap them in a [Column](/docs/components-layout-column--docs) component.
|
|
31
32
|
This helps in loops: it prevents having to treat the last element differently.
|
|
33
|
+
- Wrap editorial content in the [Prose](/docs/utilities-css-prose--docs) utility class to have all spacing set automatically.
|
|
@@ -23,24 +23,42 @@
|
|
|
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
|
|
27
|
-
margin-inline: calc(
|
|
28
|
-
|
|
26
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
27
|
+
margin-inline: calc(
|
|
28
|
+
var(
|
|
29
|
+
--ams-grid-medium-padding-inline /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
30
|
+
var(--ams-grid-vi-medium-padding-inline)
|
|
31
|
+
) *
|
|
32
|
+
-1
|
|
33
|
+
);
|
|
34
|
+
padding-inline: var(
|
|
35
|
+
--ams-grid-medium-padding-inline /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
36
|
+
var(--ams-grid-vi-medium-padding-inline)
|
|
37
|
+
);
|
|
29
38
|
}
|
|
30
39
|
|
|
31
|
-
@media
|
|
40
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
32
41
|
display: none;
|
|
33
42
|
margin-inline: 0; // Override negative margin above.
|
|
34
|
-
max-inline-size: var(
|
|
35
|
-
|
|
36
|
-
|
|
43
|
+
max-inline-size: var(
|
|
44
|
+
--ams-menu-wide-max-inline-size /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
45
|
+
var(--ams-menu-vi-wide-max-inline-size)
|
|
46
|
+
);
|
|
47
|
+
padding-block: var(
|
|
48
|
+
--ams-menu-wide-padding-block /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
49
|
+
var(--ams-menu-vi-wide-padding-block)
|
|
50
|
+
);
|
|
51
|
+
padding-inline: var(
|
|
52
|
+
--ams-menu-wide-padding-inline /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
53
|
+
var(--ams-menu-vi-wide-padding-inline)
|
|
54
|
+
);
|
|
37
55
|
}
|
|
38
56
|
}
|
|
39
57
|
|
|
40
58
|
.ams-menu--in-wide-window {
|
|
41
59
|
display: none;
|
|
42
60
|
|
|
43
|
-
@media
|
|
61
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
44
62
|
display: block;
|
|
45
63
|
}
|
|
46
64
|
}
|
|
@@ -53,7 +71,7 @@
|
|
|
53
71
|
@include hyphenation;
|
|
54
72
|
@include text-rendering;
|
|
55
73
|
|
|
56
|
-
@media
|
|
74
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
57
75
|
gap: var(--ams-menu-list-gap);
|
|
58
76
|
}
|
|
59
77
|
}
|
|
@@ -79,11 +97,14 @@
|
|
|
79
97
|
align-self: initial;
|
|
80
98
|
}
|
|
81
99
|
|
|
82
|
-
@media
|
|
100
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
83
101
|
align-items: center;
|
|
84
102
|
display: flex; // The links do stretch in the vertical layout of Menu.
|
|
85
103
|
flex-direction: column;
|
|
86
|
-
gap: var(
|
|
104
|
+
gap: var(
|
|
105
|
+
--ams-menu-link-wide-gap /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
106
|
+
var(--ams-menu-link-vi-wide-gap)
|
|
107
|
+
);
|
|
87
108
|
text-align: center;
|
|
88
109
|
|
|
89
110
|
.ams-menu__icon {
|
|
@@ -92,21 +113,3 @@
|
|
|
92
113
|
}
|
|
93
114
|
}
|
|
94
115
|
}
|
|
95
|
-
|
|
96
|
-
/** @deprecated The menu has a dark background now, so this is no longer needed. */
|
|
97
|
-
.ams-menu__link--contrast {
|
|
98
|
-
color: var(--ams-menu-link-contrast-color);
|
|
99
|
-
|
|
100
|
-
&:hover {
|
|
101
|
-
color: var(--ams-menu-link-contrast-hover-color);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/** @deprecated The menu has a dark background now, so this is no longer needed. */
|
|
106
|
-
.ams-menu__link--inverse {
|
|
107
|
-
color: var(--ams-menu-link-inverse-color);
|
|
108
|
-
|
|
109
|
-
&:hover {
|
|
110
|
-
color: var(--ams-menu-link-inverse-hover-color);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
@@ -5,16 +5,20 @@
|
|
|
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 {
|
|
16
19
|
@include reset-ul;
|
|
17
20
|
|
|
21
|
+
background-color: var(--ams-page-footer-menu-background-color);
|
|
18
22
|
column-gap: var(--ams-page-footer-menu-column-gap);
|
|
19
23
|
display: flex;
|
|
20
24
|
flex-wrap: wrap;
|
|
@@ -22,12 +26,20 @@
|
|
|
22
26
|
padding-inline: var(--ams-page-footer-menu-padding-inline);
|
|
23
27
|
row-gap: var(--ams-page-footer-menu-row-gap);
|
|
24
28
|
|
|
25
|
-
@media
|
|
26
|
-
padding-inline: var(
|
|
29
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
30
|
+
padding-inline: var(
|
|
31
|
+
--ams-page-footer-menu-medium-padding-inline
|
|
32
|
+
/* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
33
|
+
var(--ams-page-footer-menu-vi-medium-padding-inline)
|
|
34
|
+
);
|
|
27
35
|
}
|
|
28
36
|
|
|
29
|
-
@media
|
|
30
|
-
padding-inline: var(
|
|
37
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
38
|
+
padding-inline: var(
|
|
39
|
+
--ams-page-footer-menu-wide-padding-inline
|
|
40
|
+
/* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
41
|
+
var(--ams-page-footer-menu-vi-wide-padding-inline)
|
|
42
|
+
);
|
|
31
43
|
}
|
|
32
44
|
}
|
|
33
45
|
|
|
@@ -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
|
|
|
@@ -11,19 +12,25 @@
|
|
|
11
12
|
/*
|
|
12
13
|
* The logo link section is created twice: once outside the navigation and once hidden inside it.
|
|
13
14
|
* This keeps all navigation in one nav element and lets the menu wrap around the logo link section.
|
|
14
|
-
* Display grid is used to let both logo link sections overlap.
|
|
15
15
|
*/
|
|
16
|
-
|
|
16
|
+
background-color: var(--ams-page-header-background-color);
|
|
17
|
+
display: grid; /* Allows both instances of Logo Link to overlap */
|
|
17
18
|
font-family: var(--ams-page-header-font-family);
|
|
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
|
-
padding-inline: var(
|
|
22
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
23
|
+
padding-inline: var(
|
|
24
|
+
--ams-page-header-medium-padding-inline /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
25
|
+
var(--ams-page-header-vi-medium-padding-inline)
|
|
26
|
+
);
|
|
23
27
|
}
|
|
24
28
|
|
|
25
|
-
@media
|
|
26
|
-
padding-inline: var(
|
|
29
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
30
|
+
padding-inline: var(
|
|
31
|
+
--ams-page-header-wide-padding-inline /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
32
|
+
var(--ams-page-header-vi-wide-padding-inline)
|
|
33
|
+
);
|
|
27
34
|
}
|
|
28
35
|
}
|
|
29
36
|
|
|
@@ -32,7 +39,7 @@
|
|
|
32
39
|
align-self: start; // To align the logo link section to the top of the header when it wraps
|
|
33
40
|
column-gap: var(--ams-page-header-logo-link-column-gap);
|
|
34
41
|
display: flex;
|
|
35
|
-
grid-area: 1 / 1;
|
|
42
|
+
grid-area: 1 / 1; /* Lets this visible instance of Logo Link overlap the hidden one in Navigation. */
|
|
36
43
|
inline-size: fit-content;
|
|
37
44
|
outline-offset: var(--ams-page-header-logo-link-outline-offset);
|
|
38
45
|
text-decoration: none;
|
|
@@ -60,7 +67,7 @@
|
|
|
60
67
|
inline-size: 0.75rem;
|
|
61
68
|
overflow: hidden;
|
|
62
69
|
|
|
63
|
-
@media
|
|
70
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
64
71
|
inline-size: auto;
|
|
65
72
|
}
|
|
66
73
|
}
|
|
@@ -72,23 +79,19 @@
|
|
|
72
79
|
font-weight: var(--ams-page-header-brand-name-font-weight);
|
|
73
80
|
line-height: var(--ams-page-header-brand-name-line-height);
|
|
74
81
|
|
|
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 */
|
|
82
|
+
/* stylelint-disable-next-line plugin/use-baseline -- Unbalanced line lengths in non-supporting browsers are acceptable */
|
|
80
83
|
text-wrap: var(--ams-page-header-brand-name-text-wrap);
|
|
81
84
|
}
|
|
82
85
|
|
|
83
86
|
.ams-page-header__brand-name-short {
|
|
84
|
-
@media
|
|
87
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
85
88
|
display: none;
|
|
86
89
|
}
|
|
87
90
|
|
|
88
91
|
& + .ams-page-header__brand-name {
|
|
89
92
|
display: none;
|
|
90
93
|
|
|
91
|
-
@media
|
|
94
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
92
95
|
display: initial;
|
|
93
96
|
}
|
|
94
97
|
}
|
|
@@ -98,7 +101,7 @@
|
|
|
98
101
|
column-gap: var(--ams-page-header-navigation-column-gap);
|
|
99
102
|
display: flex;
|
|
100
103
|
flex-wrap: wrap;
|
|
101
|
-
grid-area: 1 / 1;
|
|
104
|
+
grid-area: 1 / 1; /* Makes the hidden Logo Link child overlap the visible one. */
|
|
102
105
|
// This section blocks pointer events initially, so the hidden logo link section can't be activated.
|
|
103
106
|
// The menu and collapsible menu set it back to auto, to make sure they can be activated.
|
|
104
107
|
pointer-events: none;
|
|
@@ -120,7 +123,7 @@
|
|
|
120
123
|
|
|
121
124
|
// Do not show menu items below the wide breakpoint...
|
|
122
125
|
.ams-page-header__menu-item {
|
|
123
|
-
@media
|
|
126
|
+
@media (not (min-width: $ams-breakpoint-wide)) {
|
|
124
127
|
display: none;
|
|
125
128
|
}
|
|
126
129
|
}
|
|
@@ -131,6 +134,10 @@
|
|
|
131
134
|
}
|
|
132
135
|
|
|
133
136
|
@mixin page-header-menu-action {
|
|
137
|
+
color: var(
|
|
138
|
+
--ams-page-header-menu-item-color
|
|
139
|
+
); /* This token is @deprecated. Will be removed on or after 2026-09-13. */
|
|
140
|
+
|
|
134
141
|
font-size: var(--ams-page-header-menu-item-font-size);
|
|
135
142
|
font-weight: var(--ams-page-header-menu-item-font-weight);
|
|
136
143
|
line-height: var(--ams-page-header-menu-item-line-height);
|
|
@@ -147,6 +154,8 @@
|
|
|
147
154
|
}
|
|
148
155
|
|
|
149
156
|
.ams-page-header__menu-link {
|
|
157
|
+
@include page-header-menu-action;
|
|
158
|
+
|
|
150
159
|
color: var(--ams-page-header-menu-link-color);
|
|
151
160
|
display: inline-flex;
|
|
152
161
|
gap: var(--ams-page-header-menu-link-gap);
|
|
@@ -154,8 +163,6 @@
|
|
|
154
163
|
text-decoration-thickness: var(--ams-page-header-menu-link-text-decoration-thickness);
|
|
155
164
|
text-underline-offset: var(--ams-page-header-menu-link-text-underline-offset);
|
|
156
165
|
|
|
157
|
-
@include page-header-menu-action;
|
|
158
|
-
|
|
159
166
|
&:hover {
|
|
160
167
|
text-decoration-line: var(--ams-page-header-menu-link-hover-text-decoration-line);
|
|
161
168
|
}
|
|
@@ -166,13 +173,14 @@
|
|
|
166
173
|
}
|
|
167
174
|
|
|
168
175
|
.ams-page-header__mega-menu-button-item--hide-on-wide-window {
|
|
169
|
-
@media
|
|
176
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
170
177
|
display: none;
|
|
171
178
|
}
|
|
172
179
|
}
|
|
173
180
|
|
|
174
181
|
.ams-page-header__mega-menu-button {
|
|
175
182
|
@include reset-button;
|
|
183
|
+
@include page-header-menu-action;
|
|
176
184
|
|
|
177
185
|
background-color: var(--ams-page-header-mega-menu-button-background-color);
|
|
178
186
|
color: var(--ams-page-header-mega-menu-button-color);
|
|
@@ -183,17 +191,23 @@
|
|
|
183
191
|
grid-auto-flow: column;
|
|
184
192
|
padding-inline: var(--ams-page-header-mega-menu-button-padding-inline);
|
|
185
193
|
|
|
186
|
-
@include
|
|
194
|
+
@include print-exact;
|
|
187
195
|
|
|
188
196
|
&:hover {
|
|
189
197
|
background-color: var(--ams-page-header-mega-menu-button-hover-background-color);
|
|
190
198
|
color: var(--ams-page-header-mega-menu-button-hover-color);
|
|
191
199
|
}
|
|
200
|
+
|
|
201
|
+
&[aria-expanded="true"] {
|
|
202
|
+
font-weight: var(
|
|
203
|
+
--ams-page-header-mega-menu-button-label-open-font-weight
|
|
204
|
+
); /* This token is @deprecated. Will be removed on or after 2026-09-13. */
|
|
205
|
+
}
|
|
192
206
|
}
|
|
193
207
|
|
|
194
208
|
.ams-page-header__mega-menu-button-label,
|
|
195
209
|
.ams-page-header__mega-menu-button-hidden-label {
|
|
196
|
-
/* @deprecated These class names will be removed
|
|
210
|
+
/* @deprecated These class names will be removed on or after 2026-09-13. */
|
|
197
211
|
}
|
|
198
212
|
|
|
199
213
|
.ams-page-header__menu-icon-top,
|
|
@@ -245,7 +259,7 @@
|
|
|
245
259
|
.ams-page-header__grid-cell-narrow-window-only {
|
|
246
260
|
display: initial; // Override the `hidden` attribute; this cell duplicates the non-fixed links in the Page Header Menu.
|
|
247
261
|
|
|
248
|
-
@media
|
|
262
|
+
@media (min-width: $ams-breakpoint-wide) {
|
|
249
263
|
display: none;
|
|
250
264
|
}
|
|
251
265
|
}
|
|
@@ -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
|
|
|
@@ -6,9 +6,10 @@ Displays the progress of a sequence of steps, with optional additional details p
|
|
|
6
6
|
|
|
7
7
|
## Guidelines
|
|
8
8
|
|
|
9
|
-
- Choose the correct level for the steps
|
|
9
|
+
- Choose the correct level for the headings of the steps.
|
|
10
10
|
- Assign a status to each step: _completed_ or _current_.
|
|
11
11
|
Steps without a status are considered _upcoming_.
|
|
12
12
|
- Maintain a correct chronological order.
|
|
13
13
|
Only one step may be _current_; preceding steps must be _completed_.
|
|
14
|
+
- Decide whether the user should be able to collapse and expand steps.
|
|
14
15
|
- Progress List must only be used on a white background.
|
|
@@ -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
|
|
|
9
10
|
@mixin indicator {
|
|
@@ -36,8 +37,11 @@
|
|
|
36
37
|
display: flex;
|
|
37
38
|
gap: var(--ams-progress-list-step-gap);
|
|
38
39
|
|
|
39
|
-
@media
|
|
40
|
-
gap: var(
|
|
40
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
41
|
+
gap: var(
|
|
42
|
+
--ams-progress-list-step-medium-gap /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
43
|
+
var(--ams-progress-list-step-vi-medium-gap)
|
|
44
|
+
);
|
|
41
45
|
}
|
|
42
46
|
}
|
|
43
47
|
|
|
@@ -80,6 +84,7 @@
|
|
|
80
84
|
var(--ams-progress-list-step-marker-shape-outline-style) var(--ams-progress-list-step-marker-shape-outline-color);
|
|
81
85
|
|
|
82
86
|
@include marker-shape;
|
|
87
|
+
@include print-exact;
|
|
83
88
|
|
|
84
89
|
.ams-progress-list__step--completed & {
|
|
85
90
|
background-color: var(--ams-progress-list-step-completed-marker-shape-background-color);
|
|
@@ -127,16 +132,25 @@
|
|
|
127
132
|
.ams-progress-list > :last-child:not(.ams-progress-list__step--has-substeps) & {
|
|
128
133
|
display: none;
|
|
129
134
|
}
|
|
135
|
+
|
|
136
|
+
/* Hide connector for last step when collapsed. */
|
|
137
|
+
.ams-progress-list > :last-child.ams-progress-list__step--collapsed & {
|
|
138
|
+
display: none;
|
|
139
|
+
}
|
|
130
140
|
}
|
|
131
141
|
|
|
132
142
|
/* Content */
|
|
133
143
|
|
|
134
144
|
.ams-progress-list__content {
|
|
135
145
|
flex: auto;
|
|
136
|
-
min-inline-size: 0;
|
|
137
|
-
|
|
138
|
-
/* Add
|
|
139
|
-
.ams-progress-list__step:not(
|
|
146
|
+
min-inline-size: 0;
|
|
147
|
+
|
|
148
|
+
/* Add space below content, unless it is the last child, or if it has substeps and it is not collapsed. */
|
|
149
|
+
.ams-progress-list__step:not(
|
|
150
|
+
:last-child,
|
|
151
|
+
.ams-progress-list__step--has-substeps:not(.ams-progress-list__step--collapsed)
|
|
152
|
+
)
|
|
153
|
+
& {
|
|
140
154
|
margin-block-end: var(--ams-progress-list-step-content-margin-block-end);
|
|
141
155
|
}
|
|
142
156
|
}
|
|
@@ -145,9 +159,66 @@
|
|
|
145
159
|
|
|
146
160
|
.ams-progress-list__heading {
|
|
147
161
|
margin-block-end: var(--ams-progress-list-step-heading-margin-block-end);
|
|
162
|
+
|
|
163
|
+
.ams-progress-list__step--collapsed & {
|
|
164
|
+
margin-block-end: 0;
|
|
165
|
+
}
|
|
148
166
|
}
|
|
149
167
|
|
|
150
|
-
/*
|
|
168
|
+
/* Button */
|
|
169
|
+
|
|
170
|
+
.ams-progress-list__button {
|
|
171
|
+
@include reset-button;
|
|
172
|
+
|
|
173
|
+
background-color: transparent;
|
|
174
|
+
color: var(--ams-progress-list-button-color);
|
|
175
|
+
cursor: var(--ams-progress-list-button-cursor);
|
|
176
|
+
display: flex;
|
|
177
|
+
font-family: inherit;
|
|
178
|
+
font-size: inherit;
|
|
179
|
+
font-weight: inherit;
|
|
180
|
+
gap: var(--ams-progress-list-button-gap);
|
|
181
|
+
inline-size: 100%;
|
|
182
|
+
line-height: inherit;
|
|
183
|
+
outline-offset: var(--ams-progress-list-button-outline-offset);
|
|
184
|
+
padding-block: var(--ams-progress-list-button-padding-block);
|
|
185
|
+
padding-inline: var(--ams-progress-list-button-padding-inline);
|
|
186
|
+
text-align: start;
|
|
187
|
+
|
|
188
|
+
&:hover {
|
|
189
|
+
color: var(--ams-progress-list-button-hover-color);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/* Icon */
|
|
194
|
+
|
|
195
|
+
.ams-progress-list__icon svg {
|
|
196
|
+
rotate: 0deg;
|
|
197
|
+
transition: none;
|
|
198
|
+
|
|
199
|
+
[aria-expanded="true"] & {
|
|
200
|
+
rotate: -180deg;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
204
|
+
transition: rotate var(--ams-progress-list-icon-transition-duration)
|
|
205
|
+
var(--ams-progress-list-icon-transition-timing-function);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/* Panel */
|
|
210
|
+
|
|
211
|
+
.ams-progress-list__panel {
|
|
212
|
+
.ams-progress-list__step--collapsed & {
|
|
213
|
+
display: none;
|
|
214
|
+
|
|
215
|
+
@media print {
|
|
216
|
+
display: block;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
/* Substeps – is its own block in BEM and has the same elements as above */
|
|
151
222
|
|
|
152
223
|
.ams-progress-list-substeps {
|
|
153
224
|
@include reset-ol;
|
|
@@ -170,10 +241,18 @@
|
|
|
170
241
|
|
|
171
242
|
@include indicator;
|
|
172
243
|
|
|
173
|
-
@media
|
|
174
|
-
margin-inline-end: var(
|
|
244
|
+
@media (min-width: $ams-breakpoint-medium) {
|
|
245
|
+
margin-inline-end: var(
|
|
246
|
+
--ams-progress-list-substeps-step-indicator-medium-margin-inline-end
|
|
247
|
+
/* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
248
|
+
var(--ams-progress-list-substeps-step-indicator-vi-medium-margin-inline-end)
|
|
249
|
+
);
|
|
175
250
|
margin-inline-start: calc(
|
|
176
|
-
-1 *
|
|
251
|
+
-1 *
|
|
252
|
+
var(
|
|
253
|
+
--ams-progress-list-step-medium-gap /* This token is @deprecated. Will be removed on or after 2026-10-20. */,
|
|
254
|
+
var(--ams-progress-list-step-vi-medium-gap)
|
|
255
|
+
) - var(--ams-progress-list-step-marker-shape-block-size)
|
|
177
256
|
);
|
|
178
257
|
}
|
|
179
258
|
}
|
|
@@ -199,6 +278,7 @@
|
|
|
199
278
|
var(--ams-progress-list-substeps-step-marker-shape-outline-color);
|
|
200
279
|
|
|
201
280
|
@include marker-shape;
|
|
281
|
+
@include print-exact;
|
|
202
282
|
|
|
203
283
|
.ams-progress-list-substeps__step--completed & {
|
|
204
284
|
background-color: var(--ams-progress-list-substeps-step-completed-marker-shape-background-color);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!-- @license CC0-1.0 -->
|
|
2
|
+
|
|
3
|
+
# Prose
|
|
4
|
+
|
|
5
|
+
Applies the recommended vertical spacing between the direct children of a container, so editorial content flows without hand-picked margins.
|
|
6
|
+
|
|
7
|
+
## Class name
|
|
8
|
+
|
|
9
|
+
`ams-prose`
|
|
10
|
+
|
|
11
|
+
## Guidelines
|
|
12
|
+
|
|
13
|
+
- Wrap this utility class around editorial content to space its content according to the [Vertical space](/docs/docs-designer-guide-vertical-space--docs) recommendations.
|
|
14
|
+
- To add a single ad-hoc gap between two elements, prefer the [Margin Bottom](/docs/utilities-css-margin--docs) utility class on the first one.
|
|
15
|
+
- To add even spacing between a set of siblings, prefer the [Gap](/docs/utilities-css-gap--docs) utility class on their parent.
|