@amsterdam/design-system-css 0.15.0 → 1.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 +69 -0
- package/README.md +1 -1
- 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/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/card/card.css +1 -1
- package/dist/card/card.css.map +1 -1
- package/dist/checkbox/checkbox.css +1 -1
- package/dist/checkbox/checkbox.css.map +1 -1
- package/dist/date-input/date-input.css +1 -1
- package/dist/date-input/date-input.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 +1 -1
- package/dist/field-set/field-set.css.map +1 -1
- package/dist/file-input/file-input.css +1 -1
- package/dist/file-input/file-input.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/hint/hint.css +1 -1
- package/dist/hint/hint.css.map +1 -1
- package/dist/icon/icon.css +1 -1
- package/dist/icon/icon.css.map +1 -1
- package/dist/image/image.css +1 -1
- package/dist/image/image.css.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/invalid-form-alert/invalid-form-alert.css.map +1 -1
- package/dist/label/label.css +1 -1
- package/dist/label/label.css.map +1 -1
- package/dist/link/link.css +1 -1
- package/dist/link/link.css.map +1 -1
- package/dist/page/page.css +1 -0
- package/dist/page/page.css.map +1 -0
- package/dist/page-footer/page-footer.css +1 -0
- package/dist/page-footer/page-footer.css.map +1 -0
- package/dist/page-header/page-header.css +1 -0
- package/dist/page-header/page-header.css.map +1 -0
- package/dist/page-heading/page-heading.css +1 -1
- package/dist/page-heading/page-heading.css.map +1 -1
- package/dist/password-input/password-input.css +1 -1
- package/dist/password-input/password-input.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/select/select.css +1 -1
- package/dist/select/select.css.map +1 -1
- package/dist/standalone-link/standalone-link.css +1 -0
- package/dist/standalone-link/standalone-link.css.map +1 -0
- package/dist/switch/switch.css +1 -1
- package/dist/switch/switch.css.map +1 -1
- package/dist/text-area/text-area.css +1 -1
- package/dist/text-area/text-area.css.map +1 -1
- package/dist/text-input/text-input.css +1 -1
- package/dist/text-input/text-input.css.map +1 -1
- package/dist/time-input/time-input.css +1 -1
- package/dist/time-input/time-input.css.map +1 -1
- package/dist/visually-hidden/visually-hidden.css +1 -1
- package/dist/visually-hidden/visually-hidden.css.map +1 -1
- package/package.json +4 -4
- package/src/components/accordion/accordion.scss +1 -0
- package/src/components/alert/README.md +1 -1
- package/src/components/alert/alert.scss +6 -9
- package/src/components/aspect-ratio/README.md +1 -0
- package/src/components/avatar/avatar.scss +14 -10
- package/src/components/breakout/breakout.scss +19 -19
- package/src/components/button/README.md +6 -6
- package/src/components/button/button.scss +7 -18
- package/src/components/card/README.md +15 -14
- package/src/components/card/card.scss +9 -1
- package/src/components/checkbox/checkbox.scss +229 -125
- package/src/components/date-input/date-input.scss +9 -9
- package/src/components/dialog/README.md +3 -5
- package/src/components/dialog/dialog.scss +24 -1
- package/src/components/field-set/field-set.scss +7 -6
- package/src/components/file-input/file-input.scss +6 -10
- package/src/components/grid/README.md +9 -8
- package/src/components/grid/_mixins.scss +22 -22
- package/src/components/grid/grid.scss +19 -19
- package/src/components/heading/heading.scss +1 -0
- package/src/components/hint/hint.scss +1 -1
- package/src/components/icon/icon.scss +2 -1
- package/src/components/icon-button/README.md +6 -5
- package/src/components/image/image.scss +1 -2
- package/src/components/image-slider/README.md +1 -1
- package/src/components/index.scss +4 -6
- package/src/components/invalid-form-alert/invalid-form-alert.scss +5 -0
- package/src/components/label/label.scss +1 -0
- package/src/components/link/README.md +9 -10
- package/src/components/link/link.scss +6 -28
- package/src/components/logo/README.md +1 -1
- package/src/components/page/README.md +23 -0
- package/src/components/page/page.scss +12 -0
- package/src/components/{footer → page-footer}/README.md +7 -5
- package/src/components/page-footer/page-footer.scss +56 -0
- package/src/components/{header → page-header}/README.md +5 -5
- package/src/components/{header/header.scss → page-header/page-header.scss} +74 -57
- package/src/components/page-heading/README.md +1 -1
- package/src/components/page-heading/page-heading.scss +1 -0
- package/src/components/password-input/password-input.scss +13 -9
- package/src/components/radio/radio.scss +6 -4
- package/src/components/search-field/search-field.scss +5 -3
- package/src/components/select/select.scss +14 -8
- package/src/components/skip-link/README.md +3 -3
- package/src/components/spotlight/README.md +2 -3
- package/src/components/standalone-link/README.md +11 -0
- package/src/components/standalone-link/standalone-link.scss +53 -0
- package/src/components/switch/switch.scss +1 -1
- package/src/components/tabs/README.md +1 -1
- package/src/components/text-area/text-area.scss +9 -9
- package/src/components/text-input/text-input.scss +13 -9
- package/src/components/time-input/time-input.scss +9 -9
- package/src/components/visually-hidden/visually-hidden.scss +1 -0
- package/dist/footer/footer.css +0 -1
- package/dist/footer/footer.css.map +0 -1
- package/dist/header/header.css +0 -1
- package/dist/header/header.css.map +0 -1
- package/dist/mega-menu/mega-menu.css +0 -1
- package/dist/mega-menu/mega-menu.css.map +0 -1
- package/dist/page-menu/page-menu.css +0 -1
- package/dist/page-menu/page-menu.css.map +0 -1
- package/dist/screen/screen.css +0 -1
- package/dist/screen/screen.css.map +0 -1
- package/dist/top-task-link/top-task-link.css +0 -1
- package/dist/top-task-link/top-task-link.css.map +0 -1
- package/src/components/footer/footer.scss +0 -47
- package/src/components/mega-menu/README.md +0 -3
- package/src/components/mega-menu/mega-menu.scss +0 -16
- package/src/components/page-menu/README.md +0 -24
- package/src/components/page-menu/page-menu.scss +0 -65
- package/src/components/screen/README.md +0 -23
- package/src/components/screen/screen.scss +0 -23
- package/src/components/top-task-link/README.md +0 -27
- package/src/components/top-task-link/top-task-link.scss +0 -45
|
@@ -6,35 +6,51 @@
|
|
|
6
6
|
@use "../../common/breakpoint" as *;
|
|
7
7
|
@use "../../common/text-rendering" as *;
|
|
8
8
|
|
|
9
|
-
.ams-header {
|
|
9
|
+
.ams-page-header {
|
|
10
10
|
/*
|
|
11
11
|
* The logo link section is created twice: once outside the navigation and once hidden inside it.
|
|
12
12
|
* This keeps all navigation in one nav element and lets the menu wrap around the logo link section.
|
|
13
13
|
* Display grid is used to let both logo link sections overlap.
|
|
14
14
|
*/
|
|
15
15
|
display: grid;
|
|
16
|
-
font-family: var(--ams-header-font-family);
|
|
17
|
-
padding-block: var(--ams-header-padding-block);
|
|
18
|
-
padding-inline: var(--ams-header-padding-inline);
|
|
16
|
+
font-family: var(--ams-page-header-font-family);
|
|
17
|
+
padding-block: var(--ams-page-header-padding-block);
|
|
18
|
+
padding-inline: var(--ams-page-header-padding-inline);
|
|
19
|
+
|
|
20
|
+
@media screen and (min-width: $ams-breakpoint-medium) {
|
|
21
|
+
padding-inline: var(--ams-page-header-medium-padding-inline);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@media screen and (min-width: $ams-breakpoint-wide) {
|
|
25
|
+
padding-inline: var(--ams-page-header-wide-padding-inline);
|
|
26
|
+
}
|
|
19
27
|
}
|
|
20
28
|
|
|
21
|
-
.ams-header__logo-link {
|
|
29
|
+
.ams-page-header__logo-link {
|
|
22
30
|
align-items: center;
|
|
23
31
|
align-self: start; // To align the logo link section to the top of the header when it wraps
|
|
24
|
-
column-gap: var(--ams-header-logo-link-column-gap);
|
|
32
|
+
column-gap: var(--ams-page-header-logo-link-column-gap);
|
|
25
33
|
display: flex;
|
|
26
34
|
grid-area: 1 / 1; // To allow this section to overlap with the second logo link section
|
|
27
35
|
inline-size: fit-content;
|
|
28
|
-
outline-offset: var(--ams-header-logo-link-outline-offset);
|
|
36
|
+
outline-offset: var(--ams-page-header-logo-link-outline-offset);
|
|
29
37
|
text-decoration: none;
|
|
38
|
+
|
|
39
|
+
@media (forced-colors: active) {
|
|
40
|
+
.ams-logo__emblem,
|
|
41
|
+
.ams-logo__text-primary,
|
|
42
|
+
.ams-logo__text-secondary {
|
|
43
|
+
fill: LinkText;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
30
46
|
}
|
|
31
47
|
|
|
32
|
-
.ams-header__logo-link--hidden {
|
|
48
|
+
.ams-page-header__logo-link--hidden {
|
|
33
49
|
opacity: 0%;
|
|
34
50
|
user-select: none; // The hidden logo link section should not be selectable
|
|
35
51
|
}
|
|
36
52
|
|
|
37
|
-
.ams-header__logo-container {
|
|
53
|
+
.ams-page-header__logo-container {
|
|
38
54
|
flex-shrink: 0;
|
|
39
55
|
inline-size: 0.75rem;
|
|
40
56
|
overflow: hidden;
|
|
@@ -44,22 +60,23 @@
|
|
|
44
60
|
}
|
|
45
61
|
}
|
|
46
62
|
|
|
47
|
-
.ams-header__brand-name {
|
|
48
|
-
color: var(--ams-header-brand-name-color);
|
|
49
|
-
font-size: var(--ams-header-brand-name-font-size);
|
|
50
|
-
font-weight: var(--ams-header-brand-name-font-weight);
|
|
51
|
-
line-height:
|
|
63
|
+
.ams-page-header__brand-name {
|
|
64
|
+
color: var(--ams-page-header-brand-name-color);
|
|
65
|
+
font-size: var(--ams-page-header-brand-name-font-size);
|
|
66
|
+
font-weight: var(--ams-page-header-brand-name-font-weight);
|
|
67
|
+
line-height: var(--ams-page-header-brand-name-line-height);
|
|
68
|
+
text-wrap: var(--ams-page-header-brand-name-text-wrap);
|
|
52
69
|
}
|
|
53
70
|
|
|
54
|
-
.ams-header__navigation {
|
|
55
|
-
column-gap: var(--ams-header-navigation-column-gap);
|
|
71
|
+
.ams-page-header__navigation {
|
|
72
|
+
column-gap: var(--ams-page-header-navigation-column-gap);
|
|
56
73
|
display: flex;
|
|
57
74
|
flex-wrap: wrap;
|
|
58
75
|
grid-area: 1 / 1; // To allow this section to overlap with the logo link section
|
|
59
76
|
// This section blocks pointer events initially, so the hidden logo link section can't be activated.
|
|
60
77
|
// The menu and collapsible menu set it back to auto, to make sure they can be activated.
|
|
61
78
|
pointer-events: none;
|
|
62
|
-
row-gap: var(--ams-header-navigation-row-gap);
|
|
79
|
+
row-gap: var(--ams-page-header-navigation-row-gap);
|
|
63
80
|
}
|
|
64
81
|
|
|
65
82
|
@mixin reset-list {
|
|
@@ -68,62 +85,62 @@
|
|
|
68
85
|
padding-inline-start: 0;
|
|
69
86
|
}
|
|
70
87
|
|
|
71
|
-
.ams-header__menu {
|
|
88
|
+
.ams-page-header__menu {
|
|
72
89
|
align-items: center;
|
|
73
|
-
column-gap: var(--ams-header-menu-column-gap);
|
|
90
|
+
column-gap: var(--ams-page-header-menu-column-gap);
|
|
74
91
|
display: flex;
|
|
75
92
|
flex-wrap: wrap;
|
|
76
93
|
justify-content: flex-end;
|
|
77
94
|
margin-inline-start: auto;
|
|
78
95
|
pointer-events: auto; // Set pointer events back to auto to allow the menu to be activated
|
|
79
|
-
row-gap: var(--ams-header-menu-row-gap);
|
|
96
|
+
row-gap: var(--ams-page-header-menu-row-gap);
|
|
80
97
|
|
|
81
98
|
@include reset-list;
|
|
82
99
|
}
|
|
83
100
|
|
|
84
101
|
// Do not show menu items below the wide breakpoint...
|
|
85
|
-
.ams-header__menu-item {
|
|
102
|
+
.ams-page-header__menu-item {
|
|
86
103
|
@media screen and (not (min-width: $ams-breakpoint-wide)) {
|
|
87
104
|
display: none;
|
|
88
105
|
}
|
|
89
106
|
}
|
|
90
107
|
|
|
91
108
|
// ...unless they're fixed.
|
|
92
|
-
.ams-header__menu-item--fixed {
|
|
109
|
+
.ams-page-header__menu-item--fixed {
|
|
93
110
|
display: revert;
|
|
94
111
|
}
|
|
95
112
|
|
|
96
|
-
@mixin header-menu-action {
|
|
97
|
-
color: var(--ams-header-menu-item-color);
|
|
98
|
-
font-size: var(--ams-header-menu-item-font-size);
|
|
99
|
-
font-weight: var(--ams-header-menu-item-font-weight);
|
|
100
|
-
line-height: var(--ams-header-menu-item-line-height);
|
|
101
|
-
outline-offset: var(--ams-header-menu-item-outline-offset);
|
|
102
|
-
padding-block: var(--ams-header-menu-item-padding-block);
|
|
113
|
+
@mixin page-header-menu-action {
|
|
114
|
+
color: var(--ams-page-header-menu-item-color);
|
|
115
|
+
font-size: var(--ams-page-header-menu-item-font-size);
|
|
116
|
+
font-weight: var(--ams-page-header-menu-item-font-weight);
|
|
117
|
+
line-height: var(--ams-page-header-menu-item-line-height);
|
|
118
|
+
outline-offset: var(--ams-page-header-menu-item-outline-offset);
|
|
119
|
+
padding-block: var(--ams-page-header-menu-item-padding-block);
|
|
103
120
|
touch-action: manipulation;
|
|
104
121
|
white-space: nowrap;
|
|
105
122
|
|
|
106
123
|
@include text-rendering;
|
|
107
124
|
|
|
108
125
|
&:hover {
|
|
109
|
-
color: var(--ams-header-menu-item-hover-color);
|
|
126
|
+
color: var(--ams-page-header-menu-item-hover-color);
|
|
110
127
|
}
|
|
111
128
|
}
|
|
112
129
|
|
|
113
|
-
.ams-header__menu-link {
|
|
130
|
+
.ams-page-header__menu-link {
|
|
114
131
|
display: inline-block;
|
|
115
|
-
text-decoration-line: var(--ams-header-menu-link-text-decoration-line);
|
|
116
|
-
text-decoration-thickness: var(--ams-header-menu-link-text-decoration-thickness);
|
|
117
|
-
text-underline-offset: var(--ams-header-menu-link-text-underline-offset);
|
|
132
|
+
text-decoration-line: var(--ams-page-header-menu-link-text-decoration-line);
|
|
133
|
+
text-decoration-thickness: var(--ams-page-header-menu-link-text-decoration-thickness);
|
|
134
|
+
text-underline-offset: var(--ams-page-header-menu-link-text-underline-offset);
|
|
118
135
|
|
|
119
|
-
@include header-menu-action;
|
|
136
|
+
@include page-header-menu-action;
|
|
120
137
|
|
|
121
138
|
&:hover {
|
|
122
|
-
text-decoration-line: var(--ams-header-menu-link-hover-text-decoration-line);
|
|
139
|
+
text-decoration-line: var(--ams-page-header-menu-link-hover-text-decoration-line);
|
|
123
140
|
}
|
|
124
141
|
}
|
|
125
142
|
|
|
126
|
-
.ams-header__mega-menu-button-item--hide-on-wide-window {
|
|
143
|
+
.ams-page-header__mega-menu-button-item--hide-on-wide-window {
|
|
127
144
|
@media screen and (min-width: $ams-breakpoint-wide) {
|
|
128
145
|
display: none;
|
|
129
146
|
}
|
|
@@ -139,36 +156,36 @@
|
|
|
139
156
|
// [1] Remove the margin in older Safari.
|
|
140
157
|
}
|
|
141
158
|
|
|
142
|
-
.ams-header__mega-menu-button {
|
|
143
|
-
column-gap: var(--ams-header-menu-item-column-gap);
|
|
144
|
-
cursor: var(--ams-header-mega-menu-button-cursor);
|
|
159
|
+
.ams-page-header__mega-menu-button {
|
|
160
|
+
column-gap: var(--ams-page-header-menu-item-column-gap);
|
|
161
|
+
cursor: var(--ams-page-header-mega-menu-button-cursor);
|
|
145
162
|
display: grid;
|
|
146
163
|
font-family: inherit;
|
|
147
164
|
grid-auto-flow: column;
|
|
148
165
|
|
|
149
|
-
@include header-menu-action;
|
|
166
|
+
@include page-header-menu-action;
|
|
150
167
|
@include reset-button;
|
|
151
168
|
}
|
|
152
169
|
|
|
153
|
-
.ams-header__mega-menu-button[aria-expanded="true"] {
|
|
154
|
-
font-weight: var(--ams-header-mega-menu-button-label-open-font-weight);
|
|
170
|
+
.ams-page-header__mega-menu-button[aria-expanded="true"] {
|
|
171
|
+
font-weight: var(--ams-page-header-mega-menu-button-label-open-font-weight);
|
|
155
172
|
}
|
|
156
173
|
|
|
157
|
-
.ams-header__mega-menu-button-label,
|
|
158
|
-
.ams-header__mega-menu-button-hidden-label {
|
|
174
|
+
.ams-page-header__mega-menu-button-label,
|
|
175
|
+
.ams-page-header__mega-menu-button-hidden-label {
|
|
159
176
|
grid-area: 1 / 1; // To allow the label and the hidden label to overlap
|
|
160
177
|
}
|
|
161
178
|
|
|
162
179
|
// This hidden label is used to prevent a layout shift when the mega menu is opened
|
|
163
180
|
// and the button text becomes bold.
|
|
164
|
-
.ams-header__mega-menu-button-hidden-label {
|
|
165
|
-
font-weight: var(--ams-header-mega-menu-button-label-open-font-weight);
|
|
181
|
+
.ams-page-header__mega-menu-button-hidden-label {
|
|
182
|
+
font-weight: var(--ams-page-header-mega-menu-button-label-open-font-weight);
|
|
166
183
|
pointer-events: none;
|
|
167
184
|
user-select: none;
|
|
168
185
|
visibility: hidden;
|
|
169
186
|
}
|
|
170
187
|
|
|
171
|
-
.ams-header__menu-icon {
|
|
188
|
+
.ams-page-header__menu-icon {
|
|
172
189
|
line {
|
|
173
190
|
stroke: currentColor;
|
|
174
191
|
stroke-width: 3px;
|
|
@@ -183,30 +200,30 @@
|
|
|
183
200
|
}
|
|
184
201
|
}
|
|
185
202
|
|
|
186
|
-
.ams-header__menu-icon-top {
|
|
203
|
+
.ams-page-header__menu-icon-top {
|
|
187
204
|
translate: 0 -7px;
|
|
188
205
|
}
|
|
189
206
|
|
|
190
|
-
.ams-header__menu-icon-bottom {
|
|
207
|
+
.ams-page-header__menu-icon-bottom {
|
|
191
208
|
translate: 0 7px;
|
|
192
209
|
}
|
|
193
210
|
}
|
|
194
211
|
|
|
195
|
-
.ams-header__menu-icon--open {
|
|
196
|
-
.ams-header__menu-icon-top {
|
|
212
|
+
.ams-page-header__menu-icon--open {
|
|
213
|
+
.ams-page-header__menu-icon-top {
|
|
197
214
|
rotate: 45deg;
|
|
198
215
|
translate: 0;
|
|
199
216
|
}
|
|
200
|
-
.ams-header__menu-icon-middle {
|
|
217
|
+
.ams-page-header__menu-icon-middle {
|
|
201
218
|
opacity: 0%;
|
|
202
219
|
}
|
|
203
|
-
.ams-header__menu-icon-bottom {
|
|
220
|
+
.ams-page-header__menu-icon-bottom {
|
|
204
221
|
rotate: -45deg;
|
|
205
222
|
translate: 0;
|
|
206
223
|
}
|
|
207
224
|
}
|
|
208
225
|
|
|
209
|
-
.ams-header__mega-menu {
|
|
226
|
+
.ams-page-header__mega-menu {
|
|
210
227
|
inline-size: 100%;
|
|
211
228
|
pointer-events: auto; // Set pointer events back to auto to allow the mega menu to be activated
|
|
212
229
|
|
|
@@ -217,11 +234,11 @@
|
|
|
217
234
|
}
|
|
218
235
|
}
|
|
219
236
|
|
|
220
|
-
.ams-header__mega-menu--closed.ams-header__mega-menu--closed {
|
|
237
|
+
.ams-page-header__mega-menu--closed.ams-page-header__mega-menu--closed {
|
|
221
238
|
display: none;
|
|
222
239
|
}
|
|
223
240
|
|
|
224
|
-
.ams-header__grid-cell-narrow-window-only {
|
|
241
|
+
.ams-page-header__grid-cell-narrow-window-only {
|
|
225
242
|
@media screen and (min-width: $ams-breakpoint-wide) {
|
|
226
243
|
display: none;
|
|
227
244
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Page Heading
|
|
4
4
|
|
|
5
|
-
The page heading component is a prominent text at the beginning of a page, immediately after the
|
|
5
|
+
The page heading component is a prominent text at the beginning of a page, immediately after the Page Header.
|
|
6
6
|
Use this component for a name, title, or motto.
|
|
7
7
|
|
|
8
8
|
## Guidelines
|
|
@@ -8,21 +8,22 @@
|
|
|
8
8
|
@mixin reset-input {
|
|
9
9
|
-webkit-appearance: none; // Reset appearance for Safari < 15.4
|
|
10
10
|
appearance: none; // Reset native appearance, this causes issues on iOS and Android devices
|
|
11
|
-
border: none;
|
|
12
11
|
border-radius: 0; // Reset rounded borders on iOS devices
|
|
13
12
|
margin-block: 0;
|
|
14
13
|
}
|
|
15
14
|
|
|
16
15
|
.ams-password-input {
|
|
17
16
|
background-color: var(--ams-password-input-background-color);
|
|
18
|
-
|
|
17
|
+
border-color: var(--ams-password-input-border-color);
|
|
18
|
+
border-style: var(--ams-password-input-border-style);
|
|
19
|
+
border-width: var(--ams-password-input-border-width);
|
|
19
20
|
box-sizing: border-box;
|
|
20
21
|
color: var(--ams-password-input-color);
|
|
21
22
|
font-family: var(--ams-password-input-font-family);
|
|
22
23
|
font-size: var(--ams-password-input-font-size);
|
|
23
24
|
font-weight: var(--ams-password-input-font-weight);
|
|
24
|
-
inline-size: 100%;
|
|
25
25
|
line-height: var(--ams-password-input-line-height);
|
|
26
|
+
max-inline-size: 100%;
|
|
26
27
|
outline-offset: var(--ams-password-input-outline-offset);
|
|
27
28
|
padding-block: var(--ams-password-input-padding-block);
|
|
28
29
|
padding-inline: var(--ams-password-input-padding-inline);
|
|
@@ -30,10 +31,10 @@
|
|
|
30
31
|
|
|
31
32
|
@include text-rendering;
|
|
32
33
|
@include reset-input;
|
|
34
|
+
}
|
|
33
35
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
36
|
+
.ams-password-input:not([size]) {
|
|
37
|
+
inline-size: 100%;
|
|
37
38
|
}
|
|
38
39
|
|
|
39
40
|
.ams-password-input::placeholder {
|
|
@@ -42,17 +43,20 @@
|
|
|
42
43
|
}
|
|
43
44
|
|
|
44
45
|
.ams-password-input:disabled {
|
|
45
|
-
background-color: var(--ams-password-input-disabled-background-color);
|
|
46
|
-
box-shadow: var(--ams-password-input-disabled-box-shadow);
|
|
47
46
|
color: var(--ams-password-input-disabled-color);
|
|
48
47
|
cursor: var(--ams-password-input-disabled-cursor);
|
|
49
48
|
}
|
|
50
49
|
|
|
51
50
|
.ams-password-input:invalid,
|
|
52
51
|
.ams-password-input[aria-invalid="true"] {
|
|
53
|
-
|
|
52
|
+
border-color: var(--ams-password-input-invalid-border-color);
|
|
54
53
|
|
|
55
54
|
&:hover {
|
|
55
|
+
border-color: var(--ams-password-input-invalid-hover-border-color);
|
|
56
56
|
box-shadow: var(--ams-password-input-invalid-hover-box-shadow);
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
+
|
|
60
|
+
.ams-password-input:not(:disabled):hover {
|
|
61
|
+
box-shadow: var(--ams-password-input-hover-box-shadow);
|
|
62
|
+
}
|
|
@@ -41,13 +41,10 @@
|
|
|
41
41
|
.ams-radio__circle {
|
|
42
42
|
fill: var(--ams-radio-circle-fill);
|
|
43
43
|
stroke: var(--ams-radio-circle-stroke);
|
|
44
|
-
stroke-width: var(--ams-radio-circle-stroke-width);
|
|
45
44
|
}
|
|
46
45
|
|
|
47
46
|
.ams-radio__hover-indicator {
|
|
48
|
-
|
|
49
|
-
stroke: transparent;
|
|
50
|
-
stroke-width: var(--ams-radio-hover-indicator-stroke-width);
|
|
47
|
+
stroke: none;
|
|
51
48
|
}
|
|
52
49
|
|
|
53
50
|
.ams-radio__checked-indicator {
|
|
@@ -169,9 +166,14 @@
|
|
|
169
166
|
.ams-radio__input[aria-invalid="true"] + .ams-radio__label,
|
|
170
167
|
.ams-radio__input[aria-invalid="true"] + .ams-radio__label:hover {
|
|
171
168
|
.ams-radio__circle {
|
|
169
|
+
fill: Canvas;
|
|
172
170
|
stroke: FieldText;
|
|
173
171
|
}
|
|
174
172
|
|
|
173
|
+
.ams-radio__hover-indicator {
|
|
174
|
+
stroke: none;
|
|
175
|
+
}
|
|
176
|
+
|
|
175
177
|
.ams-radio__checked-indicator {
|
|
176
178
|
fill: FieldText;
|
|
177
179
|
}
|
|
@@ -13,14 +13,15 @@
|
|
|
13
13
|
@mixin reset-input {
|
|
14
14
|
-webkit-appearance: none; // Reset appearance for Safari < 15.4
|
|
15
15
|
appearance: none; // Reset native appearance, this causes issues on iOS and Android devices
|
|
16
|
-
border: none;
|
|
17
16
|
border-radius: 0; // Reset rounded borders on iOS devices
|
|
18
17
|
margin-block: 0;
|
|
19
18
|
}
|
|
20
19
|
|
|
21
20
|
.ams-search-field__input {
|
|
22
21
|
background-color: var(--ams-search-field-input-background-color);
|
|
23
|
-
|
|
22
|
+
border-color: var(--ams-search-field-input-border-color);
|
|
23
|
+
border-style: var(--ams-search-field-input-border-style);
|
|
24
|
+
border-width: var(--ams-search-field-input-border-width);
|
|
24
25
|
box-sizing: border-box;
|
|
25
26
|
color: var(--ams-search-field-input-color);
|
|
26
27
|
font-family: var(--ams-search-field-input-font-family);
|
|
@@ -47,9 +48,10 @@
|
|
|
47
48
|
|
|
48
49
|
.ams-search-field__input:invalid,
|
|
49
50
|
.ams-search-field__input[aria-invalid="true"] {
|
|
50
|
-
|
|
51
|
+
border-color: var(--ams-search-field-input-invalid-border-color);
|
|
51
52
|
|
|
52
53
|
&:hover {
|
|
54
|
+
border-color: var(--ams-search-field-input-invalid-hover-border-color);
|
|
53
55
|
box-shadow: var(--ams-search-field-input-invalid-hover-box-shadow);
|
|
54
56
|
}
|
|
55
57
|
}
|
|
@@ -5,13 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
@mixin reset-select {
|
|
7
7
|
appearance: none; // Reset native appearance to hide default chevron
|
|
8
|
-
border: none;
|
|
9
8
|
border-radius: 0; // Reset rounded borders for Safari on MacOS
|
|
10
9
|
}
|
|
11
10
|
|
|
12
11
|
.ams-select {
|
|
13
12
|
background-color: var(--ams-select-background-color);
|
|
14
|
-
|
|
13
|
+
border-color: var(--ams-select-border-color);
|
|
14
|
+
border-style: var(--ams-select-border-style);
|
|
15
|
+
border-width: var(--ams-select-border-width);
|
|
15
16
|
color: var(--ams-select-color);
|
|
16
17
|
font-family: var(--ams-select-font-family);
|
|
17
18
|
font-size: var(--ams-select-font-size);
|
|
@@ -31,32 +32,37 @@
|
|
|
31
32
|
background-repeat: no-repeat;
|
|
32
33
|
background-size: 1em 1em;
|
|
33
34
|
}
|
|
34
|
-
|
|
35
|
-
&:hover {
|
|
36
|
-
box-shadow: var(--ams-select-hover-box-shadow);
|
|
37
|
-
}
|
|
38
35
|
}
|
|
39
36
|
|
|
40
37
|
.ams-select:invalid,
|
|
41
38
|
.ams-select[aria-invalid="true"] {
|
|
42
|
-
|
|
39
|
+
border-color: var(--ams-select-invalid-border-color);
|
|
43
40
|
}
|
|
44
41
|
|
|
45
42
|
.ams-select:disabled {
|
|
46
|
-
box-shadow: var(--ams-select-disabled-box-shadow);
|
|
47
43
|
color: var(--ams-select-disabled-color);
|
|
48
44
|
cursor: var(--ams-select-disabled-cursor);
|
|
49
45
|
|
|
50
46
|
&:not([multiple]) {
|
|
51
47
|
background-image: var(--ams-select-disabled-background-image);
|
|
48
|
+
|
|
49
|
+
/* stylelint-disable no-descending-specificity */
|
|
50
|
+
&:hover {
|
|
51
|
+
background-image: var(--ams-select-hover-background-image);
|
|
52
|
+
}
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
.ams-select:invalid:hover,
|
|
56
57
|
.ams-select[aria-invalid="true"]:hover {
|
|
58
|
+
border-color: var(--ams-select-invalid-hover-border-color);
|
|
57
59
|
box-shadow: var(--ams-select-invalid-hover-box-shadow);
|
|
58
60
|
}
|
|
59
61
|
|
|
62
|
+
.ams-select:not(:disabled):hover {
|
|
63
|
+
box-shadow: var(--ams-select-hover-box-shadow);
|
|
64
|
+
}
|
|
65
|
+
|
|
60
66
|
.ams-select__option:disabled {
|
|
61
67
|
color: var(--ams-select-option-disabled-color);
|
|
62
68
|
}
|
|
@@ -6,13 +6,13 @@ Allows skipping past recurring navigation blocks at the top of a page.
|
|
|
6
6
|
|
|
7
7
|
## Design
|
|
8
8
|
|
|
9
|
-
The Skip Link sits above the
|
|
9
|
+
The Skip Link sits above the Page Header and is as wide as the Page container.
|
|
10
10
|
It remains hidden until activated with the ‘Tab’ key.
|
|
11
|
-
After appearing, it pushes the
|
|
11
|
+
After appearing, it pushes the rest of the page down.
|
|
12
12
|
|
|
13
13
|
## Guidelines
|
|
14
14
|
|
|
15
|
-
- Place the Skip Link as the first element in the
|
|
15
|
+
- Place the Skip Link as the first element in the [Page](/docs/components-containers-page--docs) container.
|
|
16
16
|
- Target the Skip Link to the main content.
|
|
17
17
|
On an article page, for example, it could be the title of the article.
|
|
18
18
|
On a search page, it could be the search field.
|
|
@@ -6,13 +6,12 @@ Emphasizes a section on a page through a distinctive background colour.
|
|
|
6
6
|
|
|
7
7
|
## Guidelines
|
|
8
8
|
|
|
9
|
-
- Display the Spotlight at the entire width of the [
|
|
9
|
+
- Display the Spotlight at the entire width of the [Page](/docs/components-containers-page--docs) container; do not position it on the [Grid](/docs/components-layout-grid--docs).
|
|
10
10
|
- Add a Grid with medium vertical padding inside the Spotlight to add whitespace around the content, even for a single element.
|
|
11
11
|
- Use any of the [highlight colours](/docs/brand-design-tokens-colour--docs) for the background.
|
|
12
12
|
The design system does not prescribe a meaning to any of these colours.
|
|
13
13
|
The default is purple.
|
|
14
|
-
-
|
|
15
|
-
Use the inverse text colour (white) on a green, magenta or purple background.
|
|
14
|
+
- Select [the correct colour](?path=/docs/brand-design-tokens-colour--docs#pairing-foreground-with-background-colours) for text and links against the background you choose.
|
|
16
15
|
|
|
17
16
|
## Relevant WCAG requirements
|
|
18
17
|
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!-- @license CC0-1.0 -->
|
|
2
|
+
|
|
3
|
+
# Standalone Link
|
|
4
|
+
|
|
5
|
+
A navigation element that is seperated from the text around it.
|
|
6
|
+
|
|
7
|
+
## Guidelines
|
|
8
|
+
|
|
9
|
+
- Use a Standalone Link for links that need to stand out.
|
|
10
|
+
- Use a regular [Link](/docs/components-navigation-link--docs) within sentences or paragraphs of text.
|
|
11
|
+
- For additional guidelines, refer to the [Link](/docs/components-navigation-link--docs) component.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@use "../../common/hyphenation" as *;
|
|
7
|
+
@use "../../common/text-rendering" as *;
|
|
8
|
+
|
|
9
|
+
.ams-standalone-link {
|
|
10
|
+
color: var(--ams-standalone-link-color);
|
|
11
|
+
column-gap: var(--ams-standalone-link-column-gap);
|
|
12
|
+
display: inline-flex;
|
|
13
|
+
font-family: var(--ams-standalone-link-font-family);
|
|
14
|
+
font-size: var(--ams-standalone-link-font-size);
|
|
15
|
+
font-weight: var(--ams-standalone-link-font-weight);
|
|
16
|
+
line-height: var(--ams-standalone-link-line-height);
|
|
17
|
+
outline-offset: var(--ams-standalone-link-outline-offset);
|
|
18
|
+
text-decoration-thickness: var(--ams-standalone-link-text-decoration-thickness);
|
|
19
|
+
text-underline-offset: var(--ams-standalone-link-text-underline-offset);
|
|
20
|
+
|
|
21
|
+
@include hyphenation;
|
|
22
|
+
@include text-rendering;
|
|
23
|
+
|
|
24
|
+
&:hover {
|
|
25
|
+
color: var(--ams-standalone-link-hover-color);
|
|
26
|
+
text-decoration-thickness: var(--ams-standalone-link-hover-text-decoration-thickness);
|
|
27
|
+
text-underline-offset: var(--ams-standalone-link-hover-text-underline-offset);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.ams-standalone-link--contrast {
|
|
32
|
+
color: var(--ams-standalone-link-contrast-color);
|
|
33
|
+
|
|
34
|
+
&:hover {
|
|
35
|
+
color: var(--ams-standalone-link-contrast-hover-color);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.ams-standalone-link--inverse {
|
|
40
|
+
color: var(--ams-standalone-link-inverse-color);
|
|
41
|
+
|
|
42
|
+
&:hover {
|
|
43
|
+
color: var(--ams-standalone-link-inverse-hover-color);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.ams-standalone-link--with-icon {
|
|
48
|
+
text-decoration-line: var(--ams-standalone-link-with-icon-text-decoration-line);
|
|
49
|
+
|
|
50
|
+
&:hover {
|
|
51
|
+
text-decoration-line: var(--ams-standalone-link-with-icon-hover-text-decoration-line);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -10,7 +10,7 @@ Tabs are used to bundle related content in a compact overview within a page. Eac
|
|
|
10
10
|
- The content within each tab should have a similar structure.
|
|
11
11
|
- Use when there is limited visual space and content needs to be divided into sections.
|
|
12
12
|
- Each tab consists of a button and a panel.
|
|
13
|
-
|
|
13
|
+
The button has an `aria-controls` attribute that matches the `id` of the associated panel.
|
|
14
14
|
|
|
15
15
|
You can navigate tabs with your keyboard:
|
|
16
16
|
|
|
@@ -8,14 +8,15 @@
|
|
|
8
8
|
@mixin reset-textarea {
|
|
9
9
|
-webkit-appearance: none; // Reset appearance for Safari < 15.4
|
|
10
10
|
appearance: none; // Reset native appearance, this causes issues on iOS and Android devices
|
|
11
|
-
border: none;
|
|
12
11
|
border-radius: 0; // Reset rounded borders on iOS devices
|
|
13
12
|
margin-block: 0;
|
|
14
13
|
}
|
|
15
14
|
|
|
16
15
|
.ams-text-area {
|
|
17
16
|
background-color: var(--ams-text-area-background-color);
|
|
18
|
-
|
|
17
|
+
border-color: var(--ams-text-area-border-color);
|
|
18
|
+
border-style: var(--ams-text-area-border-style);
|
|
19
|
+
border-width: var(--ams-text-area-border-width);
|
|
19
20
|
box-sizing: border-box;
|
|
20
21
|
color: var(--ams-text-area-color);
|
|
21
22
|
font-family: var(--ams-text-area-font-family);
|
|
@@ -32,10 +33,6 @@
|
|
|
32
33
|
|
|
33
34
|
@include text-rendering;
|
|
34
35
|
@include reset-textarea;
|
|
35
|
-
|
|
36
|
-
&:hover {
|
|
37
|
-
box-shadow: var(--ams-text-area-hover-box-shadow);
|
|
38
|
-
}
|
|
39
36
|
}
|
|
40
37
|
|
|
41
38
|
.ams-text-area::placeholder {
|
|
@@ -44,21 +41,24 @@
|
|
|
44
41
|
}
|
|
45
42
|
|
|
46
43
|
.ams-text-area:disabled {
|
|
47
|
-
background-color: var(--ams-text-area-disabled-background-color);
|
|
48
|
-
box-shadow: var(--ams-text-area-disabled-box-shadow);
|
|
49
44
|
color: var(--ams-text-area-disabled-color);
|
|
50
45
|
cursor: var(--ams-text-area-disabled-cursor);
|
|
51
46
|
}
|
|
52
47
|
|
|
53
48
|
.ams-text-area:invalid,
|
|
54
49
|
.ams-text-area[aria-invalid="true"] {
|
|
55
|
-
|
|
50
|
+
border-color: var(--ams-text-area-invalid-border-color);
|
|
56
51
|
|
|
57
52
|
&:hover {
|
|
53
|
+
border-color: var(--ams-text-area-invalid-hover-border-color);
|
|
58
54
|
box-shadow: var(--ams-text-area-invalid-hover-box-shadow);
|
|
59
55
|
}
|
|
60
56
|
}
|
|
61
57
|
|
|
58
|
+
.ams-text-area:not(:disabled):hover {
|
|
59
|
+
box-shadow: var(--ams-text-area-hover-box-shadow);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
62
|
.ams-text-area--resize-none {
|
|
63
63
|
resize: none;
|
|
64
64
|
}
|