@amsterdam/design-system-css 0.13.0 → 0.14.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 +38 -1
- package/README.md +1 -1
- package/dist/alert/alert.css +1 -1
- package/dist/alert/alert.css.map +1 -1
- package/dist/aspect-ratio/aspect-ratio.css +1 -1
- package/dist/aspect-ratio/aspect-ratio.css.map +1 -1
- package/dist/blockquote/blockquote.css +1 -1
- package/dist/blockquote/blockquote.css.map +1 -1
- package/dist/breadcrumb/breadcrumb.css +1 -1
- package/dist/breadcrumb/breadcrumb.css.map +1 -1
- package/dist/breakout/breakout.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/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/error-message/error-message.css +1 -1
- package/dist/error-message/error-message.css.map +1 -1
- package/dist/figure/figure.css +1 -0
- package/dist/figure/figure.css.map +1 -0
- package/dist/file-input/file-input.css +1 -1
- package/dist/file-input/file-input.css.map +1 -1
- package/dist/file-list/file-list.css +1 -0
- package/dist/file-list/file-list.css.map +1 -0
- package/dist/footer/footer.css +1 -0
- package/dist/footer/footer.css.map +1 -0
- package/dist/gap/gap.css.map +1 -1
- package/dist/grid/grid.css.map +1 -1
- package/dist/header/header.css +1 -1
- package/dist/header/header.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/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/link-list/link-list.css +1 -1
- package/dist/link-list/link-list.css.map +1 -1
- package/dist/logo/logo.css +1 -1
- package/dist/logo/logo.css.map +1 -1
- package/dist/margin/margin.css.map +1 -1
- package/dist/ordered-list/ordered-list.css +1 -1
- package/dist/ordered-list/ordered-list.css.map +1 -1
- package/dist/overlap/overlap.css +1 -1
- package/dist/overlap/overlap.css.map +1 -1
- package/dist/page-heading/page-heading.css +1 -1
- package/dist/page-heading/page-heading.css.map +1 -1
- package/dist/page-menu/page-menu.css +1 -1
- package/dist/page-menu/page-menu.css.map +1 -1
- package/dist/pagination/pagination.css +1 -1
- package/dist/pagination/pagination.css.map +1 -1
- package/dist/paragraph/paragraph.css +1 -1
- package/dist/paragraph/paragraph.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/screen/screen.css +1 -1
- package/dist/screen/screen.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/table-of-contents/table-of-contents.css +1 -1
- package/dist/table-of-contents/table-of-contents.css.map +1 -1
- package/dist/tabs/tabs.css +1 -1
- package/dist/tabs/tabs.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/top-task-link/top-task-link.css +1 -1
- package/dist/top-task-link/top-task-link.css.map +1 -1
- package/dist/unordered-list/unordered-list.css +1 -1
- package/dist/unordered-list/unordered-list.css.map +1 -1
- package/documentation/coding-conventions.md +5 -1
- package/package.json +4 -4
- package/src/components/accordion/accordion.scss +1 -1
- package/src/components/alert/alert.scss +1 -0
- package/src/components/aspect-ratio/README.md +15 -11
- package/src/components/aspect-ratio/aspect-ratio.scss +5 -26
- package/src/components/blockquote/blockquote.scss +5 -5
- package/src/components/breadcrumb/breadcrumb.scss +4 -4
- package/src/components/breakout/breakout.scss +3 -3
- package/src/components/button/button.scss +1 -1
- package/src/components/character-count/character-count.scss +1 -1
- package/src/components/checkbox/checkbox.scss +3 -3
- package/src/components/column/column.scss +1 -1
- package/src/components/date-input/date-input.scss +4 -4
- package/src/components/description-list/description-list.scss +34 -12
- package/src/components/dialog/README.md +1 -1
- package/src/components/dialog/dialog.scss +1 -1
- package/src/components/error-message/error-message.scss +6 -4
- package/src/components/field-set/field-set.scss +4 -4
- package/src/components/figure/README.md +5 -0
- package/src/components/figure/figure.scss +33 -0
- package/src/components/file-input/file-input.scss +4 -3
- package/src/components/file-list/README.md +5 -0
- package/src/components/file-list/file-list.scss +55 -0
- package/src/components/footer/README.md +6 -6
- package/src/components/footer/footer.scss +8 -0
- package/src/components/gap/gap.scss +3 -2
- package/src/components/grid/_mixins.scss +2 -0
- package/src/components/grid/grid.scss +2 -2
- package/src/components/header/README.md +7 -5
- package/src/components/header/header.scss +183 -53
- package/src/components/heading/heading.scss +5 -5
- package/src/components/icon/icon.scss +4 -0
- package/src/components/icon-button/icon-button.scss +2 -2
- package/src/components/image/README.md +27 -5
- package/src/components/image/image.scss +4 -4
- package/src/components/image-slider/image-slider.scss +1 -1
- package/src/components/index.scss +66 -63
- package/src/components/label/label.scss +2 -2
- package/src/components/link/link.scss +1 -1
- package/src/components/link-list/link-list.scss +5 -5
- package/src/components/logo/README.md +1 -1
- package/src/components/logo/logo.scss +1 -0
- package/src/components/margin/margin.scss +3 -2
- package/src/components/ordered-list/ordered-list.scss +4 -4
- package/src/components/overlap/overlap.scss +2 -1
- package/src/components/page-heading/page-heading.scss +5 -5
- package/src/components/page-menu/page-menu.scss +6 -9
- package/src/components/pagination/pagination.scss +4 -4
- package/src/components/paragraph/paragraph.scss +4 -4
- package/src/components/password-input/password-input.scss +4 -4
- package/src/components/radio/radio.scss +28 -6
- package/src/components/row/row.scss +1 -1
- package/src/components/screen/screen.scss +1 -6
- package/src/components/search-field/search-field.scss +2 -28
- package/src/components/select/select.scss +2 -2
- package/src/components/skip-link/README.md +11 -13
- package/src/components/spotlight/README.md +2 -0
- package/src/components/spotlight/spotlight.scss +4 -4
- package/src/components/switch/switch.scss +3 -8
- package/src/components/table-of-contents/table-of-contents.scss +4 -4
- package/src/components/tabs/tabs.scss +20 -5
- package/src/components/text-area/text-area.scss +4 -4
- package/src/components/text-input/text-input.scss +4 -4
- package/src/components/time-input/time-input.scss +4 -4
- package/src/components/top-task-link/top-task-link.scss +4 -9
- package/src/components/unordered-list/unordered-list.scss +4 -4
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
@
|
|
7
|
-
@
|
|
6
|
+
@use "../../common/hyphenation" as *;
|
|
7
|
+
@use "../../common/text-rendering" as *;
|
|
8
8
|
|
|
9
|
-
@mixin reset {
|
|
10
|
-
box-sizing: border-box;
|
|
9
|
+
@mixin reset-hx {
|
|
11
10
|
margin-block: 0;
|
|
12
11
|
}
|
|
13
12
|
|
|
14
13
|
.ams-heading {
|
|
14
|
+
box-sizing: border-box;
|
|
15
15
|
break-after: avoid;
|
|
16
16
|
break-inside: avoid;
|
|
17
17
|
color: var(--ams-heading-color);
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
|
|
21
21
|
@include hyphenation;
|
|
22
22
|
@include text-rendering;
|
|
23
|
-
@include reset;
|
|
23
|
+
@include reset-hx;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
.ams-heading--level-1 {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
@mixin reset {
|
|
6
|
+
@mixin reset-button {
|
|
7
7
|
border: 0;
|
|
8
8
|
margin-block: 0; // [1]
|
|
9
9
|
margin-inline: 0; // [1]
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
outline-offset: var(--ams-icon-button-outline-offset);
|
|
21
21
|
touch-action: manipulation;
|
|
22
22
|
|
|
23
|
-
@include reset;
|
|
23
|
+
@include reset-button;
|
|
24
24
|
|
|
25
25
|
&:hover {
|
|
26
26
|
background-color: var(--ams-icon-button-hover-background-color);
|
|
@@ -4,21 +4,43 @@
|
|
|
4
4
|
|
|
5
5
|
Displays an image.
|
|
6
6
|
|
|
7
|
+
## Design
|
|
8
|
+
|
|
9
|
+
Every Image should be shown in one of the [available aspect ratios](https://designsystem.amsterdam/?path=/docs/brand-design-tokens-aspect-ratio--docs).
|
|
10
|
+
The default is 16:9.
|
|
11
|
+
If the intrinsic dimensions of the source do not match an aspect ratio, the image will get cropped to cover the intended area.
|
|
12
|
+
|
|
7
13
|
## Guidelines
|
|
8
14
|
|
|
9
|
-
-
|
|
10
|
-
This ensures that screen reader users can also access this information.
|
|
11
|
-
Additionally, it can aid in search engine optimization.
|
|
15
|
+
- The `alt` attribute is required, but can be empty.
|
|
12
16
|
- A description is unnecessary for decorative images; use `alt=""` for these.
|
|
13
|
-
|
|
17
|
+
Non-visual browsers will then hide the image from the user.
|
|
18
|
+
Examples are images that add little to the nearby text, and pictures that purely contribute to the design or atmosphere of the page (source: [W3C Web Accessibility Initiative](https://www.w3.org/WAI/tutorials/images/decorative/)).
|
|
19
|
+
- Do describe the content of the image if the image isn’t only decorative.
|
|
20
|
+
When choosing a description for your images, imagine what you would say when reading the page to someone over the phone without mentioning that there’s an image on the page (source: [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/alt)).
|
|
21
|
+
- Every image’s alternate text should be able to replace the image without altering the meaning of the page.
|
|
22
|
+
You should never use `alt` for text that could be construed as a caption or title (source: [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/alt)).
|
|
23
|
+
- The alternate text will also display if the image is not (yet) loaded.
|
|
24
|
+
Additionally, it can be helpful for search engine optimization.
|
|
14
25
|
- Optionally specify multiple candidates for the image through the `srcSet` attribute.
|
|
15
26
|
For example, provide small, medium, and large variants for various screen sizes.
|
|
16
27
|
This prevents unnecessary downloading of large files.
|
|
17
28
|
Do this especially for the main image of a page, where the difference between sizes on a narrow and wide screen is most significant.
|
|
18
|
-
- Ensure that the aspect ratio of the image is supported by the [Aspect Ratio](/docs/components-layout-aspect-ratio--docs) component.
|
|
19
29
|
|
|
20
30
|
## Relevant WCAG requirements
|
|
21
31
|
|
|
22
32
|
- [WCAG 1.1.1](https://www.w3.org/TR/WCAG22/#non-text-content): Non-text content must have a text alternative.
|
|
23
33
|
- [WCAG 1.4.5](https://www.w3.org/TR/WCAG22/#images-of-text): Use text instead of images of text.
|
|
24
34
|
- [WCAG 1.4.9](https://www.w3.org/TR/WCAG22/#images-of-text-no-exception): Use images of text only when there is no alternative.
|
|
35
|
+
|
|
36
|
+
## Further reading
|
|
37
|
+
|
|
38
|
+
- [Alt Text: Not Always Needed](https://www.nngroup.com/articles/alt-text-usability/)
|
|
39
|
+
(Nielsen Norman Group)
|
|
40
|
+
“Adding alt text to every image does not automatically make webpage content easy to navigate and consume.
|
|
41
|
+
Screen-reader users [...] do not rely on visual information,
|
|
42
|
+
which means they are not interested in designers’ attempts to recreate visual experiences for them.”
|
|
43
|
+
- [How to Write Good Alt Text](https://www.w3.org/WAI/tutorials/images/decision-tree/)
|
|
44
|
+
(Web Accessibility Initiative)
|
|
45
|
+
Four questions help you decide whether an image needs describing and how to do so.
|
|
46
|
+
“This decision tree describes how to use the alt attribute of the image element in various situations.”
|
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
.ams-image {
|
|
7
|
+
aspect-ratio: var(--ams-image-aspect-ratio);
|
|
7
8
|
block-size: auto; /* [1] */
|
|
8
9
|
font-style: italic; /* [3] */
|
|
10
|
+
inline-size: fit-content;
|
|
9
11
|
max-inline-size: 100%; /* [1] */
|
|
12
|
+
object-fit: cover; /* [4] */
|
|
10
13
|
vertical-align: middle; /* [2] */
|
|
11
|
-
|
|
12
|
-
&--cover {
|
|
13
|
-
object-fit: cover;
|
|
14
|
-
}
|
|
15
14
|
}
|
|
16
15
|
|
|
17
16
|
// [1] Allow for fluid image sizing while maintaining aspect ratio governed by inline/block size attributes
|
|
18
17
|
// [2] Remove ‘phantom’ white space
|
|
19
18
|
// [3] Italicise alt text to visually offset it from surrounding copy
|
|
20
19
|
// Source: https://x.com/csswizardry/status/1717841334462005661
|
|
20
|
+
// [4] Crop the image to maintain a supported aspect ratio
|
|
@@ -4,66 +4,69 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
/* Append here */
|
|
7
|
-
@
|
|
8
|
-
@
|
|
9
|
-
@
|
|
10
|
-
@
|
|
11
|
-
@
|
|
12
|
-
@
|
|
13
|
-
@
|
|
14
|
-
@
|
|
15
|
-
@
|
|
16
|
-
@
|
|
17
|
-
@
|
|
18
|
-
@
|
|
19
|
-
@
|
|
20
|
-
@
|
|
21
|
-
@
|
|
22
|
-
@
|
|
23
|
-
@
|
|
24
|
-
@
|
|
25
|
-
@
|
|
26
|
-
@
|
|
27
|
-
@
|
|
28
|
-
@
|
|
29
|
-
@
|
|
30
|
-
@
|
|
31
|
-
@
|
|
32
|
-
@
|
|
33
|
-
@
|
|
34
|
-
@
|
|
35
|
-
@
|
|
36
|
-
@
|
|
37
|
-
@
|
|
38
|
-
@
|
|
39
|
-
@
|
|
40
|
-
@
|
|
41
|
-
@
|
|
42
|
-
@
|
|
43
|
-
@
|
|
44
|
-
@
|
|
45
|
-
@
|
|
46
|
-
@
|
|
47
|
-
@
|
|
48
|
-
@
|
|
49
|
-
@
|
|
50
|
-
@
|
|
51
|
-
@
|
|
52
|
-
@
|
|
53
|
-
@
|
|
54
|
-
@
|
|
55
|
-
@
|
|
56
|
-
@
|
|
57
|
-
@
|
|
58
|
-
@
|
|
59
|
-
@
|
|
60
|
-
@
|
|
61
|
-
@
|
|
62
|
-
@
|
|
63
|
-
@
|
|
64
|
-
@
|
|
65
|
-
@
|
|
66
|
-
@
|
|
67
|
-
@
|
|
68
|
-
@
|
|
69
|
-
@
|
|
7
|
+
@use "accordion/accordion";
|
|
8
|
+
@use "action-group/action-group";
|
|
9
|
+
@use "alert/alert";
|
|
10
|
+
@use "aspect-ratio/aspect-ratio";
|
|
11
|
+
@use "avatar/avatar";
|
|
12
|
+
@use "badge/badge";
|
|
13
|
+
@use "blockquote/blockquote";
|
|
14
|
+
@use "breadcrumb/breadcrumb";
|
|
15
|
+
@use "breakout/breakout";
|
|
16
|
+
@use "button/button";
|
|
17
|
+
@use "card/card";
|
|
18
|
+
@use "character-count/character-count";
|
|
19
|
+
@use "checkbox/checkbox";
|
|
20
|
+
@use "column/column";
|
|
21
|
+
@use "date-input/date-input";
|
|
22
|
+
@use "description-list/description-list";
|
|
23
|
+
@use "dialog/dialog";
|
|
24
|
+
@use "document/document";
|
|
25
|
+
@use "error-message/error-message";
|
|
26
|
+
@use "field-set/field-set";
|
|
27
|
+
@use "field/field";
|
|
28
|
+
@use "figure/figure";
|
|
29
|
+
@use "file-input/file-input";
|
|
30
|
+
@use "file-list/file-list";
|
|
31
|
+
@use "footer/footer";
|
|
32
|
+
@use "form-error-list/form-error-list";
|
|
33
|
+
@use "gap/gap";
|
|
34
|
+
@use "grid/grid";
|
|
35
|
+
@use "header/header";
|
|
36
|
+
@use "heading/heading";
|
|
37
|
+
@use "hint/hint";
|
|
38
|
+
@use "icon-button/icon-button";
|
|
39
|
+
@use "icon/icon";
|
|
40
|
+
@use "image-slider/image-slider";
|
|
41
|
+
@use "image/image";
|
|
42
|
+
@use "label/label";
|
|
43
|
+
@use "link-list/link-list";
|
|
44
|
+
@use "link/link";
|
|
45
|
+
@use "logo/logo";
|
|
46
|
+
@use "margin/margin";
|
|
47
|
+
@use "mark/mark";
|
|
48
|
+
@use "mega-menu/mega-menu";
|
|
49
|
+
@use "ordered-list/ordered-list";
|
|
50
|
+
@use "overlap/overlap";
|
|
51
|
+
@use "page-heading/page-heading";
|
|
52
|
+
@use "page-menu/page-menu";
|
|
53
|
+
@use "pagination/pagination";
|
|
54
|
+
@use "paragraph/paragraph";
|
|
55
|
+
@use "password-input/password-input";
|
|
56
|
+
@use "radio/radio";
|
|
57
|
+
@use "row/row";
|
|
58
|
+
@use "screen/screen";
|
|
59
|
+
@use "search-field/search-field";
|
|
60
|
+
@use "select/select";
|
|
61
|
+
@use "skip-link/skip-link";
|
|
62
|
+
@use "spotlight/spotlight";
|
|
63
|
+
@use "switch/switch";
|
|
64
|
+
@use "table-of-contents/table-of-contents";
|
|
65
|
+
@use "table/table";
|
|
66
|
+
@use "tabs/tabs";
|
|
67
|
+
@use "text-area/text-area";
|
|
68
|
+
@use "text-input/text-input";
|
|
69
|
+
@use "time-input/time-input";
|
|
70
|
+
@use "top-task-link/top-task-link";
|
|
71
|
+
@use "unordered-list/unordered-list";
|
|
72
|
+
@use "visually-hidden/visually-hidden";
|
|
@@ -3,22 +3,22 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
@
|
|
7
|
-
@
|
|
6
|
+
@use "../../common/hyphenation" as *;
|
|
7
|
+
@use "../../common/text-rendering" as *;
|
|
8
8
|
|
|
9
|
-
@mixin reset-
|
|
10
|
-
box-sizing: border-box;
|
|
9
|
+
@mixin reset-ul {
|
|
11
10
|
list-style: none;
|
|
12
11
|
margin-block: 0;
|
|
13
12
|
padding-inline-start: 0;
|
|
14
13
|
}
|
|
15
14
|
|
|
16
15
|
.ams-link-list {
|
|
16
|
+
box-sizing: border-box;
|
|
17
17
|
display: grid;
|
|
18
18
|
gap: var(--ams-link-list-gap);
|
|
19
19
|
|
|
20
20
|
@include text-rendering;
|
|
21
|
-
@include reset-
|
|
21
|
+
@include reset-ul;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
.ams-link-list__link {
|
|
@@ -34,7 +34,7 @@ The sub-brands are:
|
|
|
34
34
|
- The logo links to the homepage of the website or application.
|
|
35
35
|
- If the application is a form, application, or tool without a homepage, the logo links to the page where the form, application, or tool is referred to.
|
|
36
36
|
|
|
37
|
-
The
|
|
37
|
+
The logo is 40 pixels tall at its minimum, growing to 56 pixels in wider windows.
|
|
38
38
|
This also applies to sub-brand logos.
|
|
39
39
|
|
|
40
40
|
## Download
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
@
|
|
6
|
+
@use "sass:map";
|
|
7
|
+
@use "../../common/size" as *;
|
|
7
8
|
|
|
8
|
-
@each $size in map
|
|
9
|
+
@each $size in map.keys($ams-sizes) {
|
|
9
10
|
@if $size != "no" {
|
|
10
11
|
.ams-mb--#{$size} {
|
|
11
12
|
margin-block-end: var(--ams-margin-#{$size}) !important;
|
|
@@ -3,21 +3,21 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
@
|
|
6
|
+
@use "../../common/text-rendering" as *;
|
|
7
7
|
|
|
8
|
-
@mixin reset {
|
|
9
|
-
box-sizing: border-box;
|
|
8
|
+
@mixin reset-ol {
|
|
10
9
|
list-style-type: none;
|
|
11
10
|
margin-block: 0;
|
|
12
11
|
padding-inline-start: 0;
|
|
13
12
|
}
|
|
14
13
|
|
|
15
14
|
.ams-ordered-list {
|
|
15
|
+
box-sizing: border-box;
|
|
16
16
|
display: grid;
|
|
17
17
|
gap: var(--ams-ordered-list-gap);
|
|
18
18
|
|
|
19
19
|
@include text-rendering;
|
|
20
|
-
@include reset;
|
|
20
|
+
@include reset-ol;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
.ams-ordered-list:not(.ams-ordered-list--no-markers) {
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
@
|
|
7
|
-
@
|
|
6
|
+
@use "../../common/hyphenation" as *;
|
|
7
|
+
@use "../../common/text-rendering" as *;
|
|
8
8
|
|
|
9
|
-
@mixin reset {
|
|
10
|
-
box-sizing: border-box;
|
|
9
|
+
@mixin reset-h1 {
|
|
11
10
|
margin-block: 0;
|
|
12
11
|
}
|
|
13
12
|
|
|
14
13
|
.ams-page-heading {
|
|
14
|
+
box-sizing: border-box;
|
|
15
15
|
break-after: avoid;
|
|
16
16
|
break-inside: avoid;
|
|
17
17
|
color: var(--ams-page-heading-color);
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
@include hyphenation;
|
|
24
24
|
@include text-rendering;
|
|
25
|
-
@include reset;
|
|
25
|
+
@include reset-h1;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
.ams-page-heading--inverse-color {
|
|
@@ -3,20 +3,16 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
@
|
|
6
|
+
@use "../../common/text-rendering" as *;
|
|
7
7
|
|
|
8
|
-
@mixin reset-
|
|
9
|
-
box-sizing: border-box;
|
|
8
|
+
@mixin reset-ul {
|
|
10
9
|
margin-block: 0;
|
|
11
10
|
padding-inline: 0;
|
|
12
11
|
}
|
|
13
12
|
|
|
14
|
-
@mixin reset-item {
|
|
15
|
-
box-sizing: border-box;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
13
|
.ams-page-menu {
|
|
19
14
|
align-items: center;
|
|
15
|
+
box-sizing: border-box;
|
|
20
16
|
column-gap: var(--ams-page-menu-column-gap);
|
|
21
17
|
display: flex;
|
|
22
18
|
flex-direction: row;
|
|
@@ -24,7 +20,7 @@
|
|
|
24
20
|
list-style: none;
|
|
25
21
|
row-gap: var(--ams-page-menu-row-gap);
|
|
26
22
|
|
|
27
|
-
@include reset-
|
|
23
|
+
@include reset-ul;
|
|
28
24
|
}
|
|
29
25
|
|
|
30
26
|
.ams-page-menu--align-end {
|
|
@@ -54,9 +50,10 @@
|
|
|
54
50
|
}
|
|
55
51
|
|
|
56
52
|
.ams-page-menu__link {
|
|
53
|
+
box-sizing: border-box;
|
|
54
|
+
|
|
57
55
|
@include page-menu-item;
|
|
58
56
|
@include text-rendering;
|
|
59
|
-
@include reset-item;
|
|
60
57
|
}
|
|
61
58
|
|
|
62
59
|
.ams-page-menu__link:hover,
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
@
|
|
6
|
+
@use "../../common/text-rendering" as *;
|
|
7
7
|
|
|
8
|
-
@mixin reset-
|
|
8
|
+
@mixin reset-ol {
|
|
9
9
|
list-style-type: none;
|
|
10
10
|
margin-block: 0;
|
|
11
11
|
padding-inline-start: 0;
|
|
@@ -21,12 +21,11 @@
|
|
|
21
21
|
justify-content: center;
|
|
22
22
|
line-height: var(--ams-pagination-line-height);
|
|
23
23
|
|
|
24
|
-
@include reset-
|
|
24
|
+
@include reset-ol;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
@mixin reset-button {
|
|
28
28
|
all: unset;
|
|
29
|
-
box-sizing: border-box;
|
|
30
29
|
outline: revert;
|
|
31
30
|
}
|
|
32
31
|
|
|
@@ -35,6 +34,7 @@
|
|
|
35
34
|
at the bottom `all: unset` overrides the `gap` property. */
|
|
36
35
|
@include reset-button;
|
|
37
36
|
|
|
37
|
+
box-sizing: border-box;
|
|
38
38
|
cursor: pointer;
|
|
39
39
|
display: flex;
|
|
40
40
|
gap: var(--ams-pagination-button-gap);
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
@
|
|
6
|
+
@use "../../common/text-rendering" as *;
|
|
7
7
|
|
|
8
|
-
@mixin reset {
|
|
9
|
-
box-sizing: border-box;
|
|
8
|
+
@mixin reset-p {
|
|
10
9
|
margin-block: 0;
|
|
11
10
|
}
|
|
12
11
|
|
|
13
12
|
.ams-paragraph {
|
|
13
|
+
box-sizing: border-box;
|
|
14
14
|
color: var(--ams-paragraph-color);
|
|
15
15
|
font-family: var(--ams-paragraph-font-family);
|
|
16
16
|
font-size: var(--ams-paragraph-font-size);
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
line-height: var(--ams-paragraph-line-height);
|
|
19
19
|
|
|
20
20
|
@include text-rendering;
|
|
21
|
-
@include reset;
|
|
21
|
+
@include reset-p;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
.ams-paragraph--small {
|
|
@@ -3,20 +3,20 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
@
|
|
6
|
+
@use "../../common/text-rendering" as *;
|
|
7
7
|
|
|
8
|
-
@mixin reset {
|
|
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
11
|
border: 0;
|
|
12
12
|
border-radius: 0; // Reset rounded borders on iOS devices
|
|
13
|
-
box-sizing: border-box;
|
|
14
13
|
margin-block: 0;
|
|
15
14
|
}
|
|
16
15
|
|
|
17
16
|
.ams-password-input {
|
|
18
17
|
background-color: var(--ams-password-input-background-color);
|
|
19
18
|
box-shadow: var(--ams-password-input-box-shadow);
|
|
19
|
+
box-sizing: border-box;
|
|
20
20
|
color: var(--ams-password-input-color);
|
|
21
21
|
font-family: var(--ams-password-input-font-family);
|
|
22
22
|
font-size: var(--ams-password-input-font-size);
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
touch-action: manipulation;
|
|
30
30
|
|
|
31
31
|
@include text-rendering;
|
|
32
|
-
@include reset;
|
|
32
|
+
@include reset-input;
|
|
33
33
|
|
|
34
34
|
&:hover {
|
|
35
35
|
box-shadow: var(--ams-password-input-hover-box-shadow);
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
@
|
|
7
|
-
@
|
|
8
|
-
@
|
|
6
|
+
@use "../../common/input-label-focus" as *;
|
|
7
|
+
@use "../../common/hide-input" as *;
|
|
8
|
+
@use "../../common/text-rendering" as *;
|
|
9
9
|
|
|
10
10
|
.ams-radio__input {
|
|
11
11
|
@include hide-input;
|
|
@@ -37,9 +37,15 @@
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
.ams-radio__circle {
|
|
40
|
-
fill:
|
|
40
|
+
fill: var(--ams-radio-circle-fill);
|
|
41
41
|
stroke: var(--ams-radio-circle-stroke);
|
|
42
|
-
stroke-width:
|
|
42
|
+
stroke-width: var(--ams-radio-circle-stroke-width);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.ams-radio__hover-indicator {
|
|
46
|
+
fill: none;
|
|
47
|
+
stroke: transparent;
|
|
48
|
+
stroke-width: var(--ams-radio-hover-indicator-stroke-width);
|
|
43
49
|
}
|
|
44
50
|
|
|
45
51
|
.ams-radio__checked-indicator {
|
|
@@ -56,6 +62,10 @@
|
|
|
56
62
|
stroke: var(--ams-radio-circle-hover-stroke);
|
|
57
63
|
}
|
|
58
64
|
|
|
65
|
+
.ams-radio__hover-indicator {
|
|
66
|
+
stroke: var(--ams-radio-hover-indicator-hover-stroke);
|
|
67
|
+
}
|
|
68
|
+
|
|
59
69
|
.ams-radio__checked-indicator {
|
|
60
70
|
fill: var(--ams-radio-checked-indicator-hover-fill);
|
|
61
71
|
}
|
|
@@ -108,9 +118,13 @@
|
|
|
108
118
|
|
|
109
119
|
// HOVER
|
|
110
120
|
|
|
111
|
-
// Disabled
|
|
121
|
+
// Disabled hover
|
|
112
122
|
.ams-radio__input:disabled + .ams-radio__label:hover {
|
|
113
123
|
text-decoration: none;
|
|
124
|
+
|
|
125
|
+
.ams-radio__hover-indicator {
|
|
126
|
+
stroke: transparent;
|
|
127
|
+
}
|
|
114
128
|
}
|
|
115
129
|
|
|
116
130
|
// Invalid hover
|
|
@@ -120,6 +134,11 @@
|
|
|
120
134
|
stroke: var(--ams-radio-circle-invalid-hover-stroke);
|
|
121
135
|
}
|
|
122
136
|
|
|
137
|
+
.ams-radio__hover-indicator {
|
|
138
|
+
// TODO: this should be the (currently non-existent) dark red hover color
|
|
139
|
+
stroke: var(--ams-radio-hover-indicator-invalid-hover-stroke);
|
|
140
|
+
}
|
|
141
|
+
|
|
123
142
|
.ams-radio__checked-indicator {
|
|
124
143
|
// TODO: this should be the (currently non-existent) dark red hover color
|
|
125
144
|
fill: var(--ams-radio-checked-indicator-invalid-hover-fill);
|
|
@@ -133,6 +152,9 @@
|
|
|
133
152
|
stroke: var(--ams-radio-circle-disabled-invalid-hover-stroke);
|
|
134
153
|
}
|
|
135
154
|
|
|
155
|
+
.ams-radio__hover-indicator {
|
|
156
|
+
stroke: transparent;
|
|
157
|
+
}
|
|
136
158
|
.ams-radio__checked-indicator {
|
|
137
159
|
// TODO: currently disabled invalid gets the same styling as disabled. This should get its own styling.
|
|
138
160
|
fill: var(--ams-radio-checked-indicator-disabled-invalid-hover-fill);
|