@amsterdam/design-system-css 0.7.0 → 0.8.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 +41 -0
- package/README.md +21 -0
- package/dist/accordion/accordion.css +1 -1
- package/dist/accordion/accordion.css.map +1 -1
- package/dist/avatar/avatar.css +1 -0
- package/dist/avatar/avatar.css.map +1 -0
- 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/button/button.css +1 -1
- package/dist/button/button.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 -0
- package/dist/date-input/date-input.css.map +1 -0
- package/dist/description-list/description-list.css +1 -0
- package/dist/description-list/description-list.css.map +1 -0
- package/dist/dialog/dialog.css +1 -1
- package/dist/dialog/dialog.css.map +1 -1
- package/dist/document/document.css +1 -0
- package/dist/document/document.css.map +1 -0
- package/dist/fieldset/fieldset.css +1 -1
- package/dist/fieldset/fieldset.css.map +1 -1
- package/dist/form-field-character-counter/form-field-character-counter.css +1 -0
- package/dist/form-field-character-counter/form-field-character-counter.css.map +1 -0
- package/dist/heading/heading.css +1 -1
- package/dist/heading/heading.css.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/label/label.css +1 -0
- package/dist/label/label.css.map +1 -0
- package/dist/link/link.css +1 -1
- package/dist/link/link.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/ordered-list/ordered-list.css +1 -1
- package/dist/ordered-list/ordered-list.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/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/select/select.css +1 -0
- package/dist/select/select.css.map +1 -0
- 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 -0
- package/dist/time-input/time-input.css.map +1 -0
- 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 +6 -0
- package/package.json +3 -6
- package/src/common/text-rendering.scss +15 -0
- package/src/components/accordion/accordion.scss +22 -14
- package/src/components/avatar/README.md +15 -0
- package/src/components/avatar/avatar.scss +74 -0
- package/src/components/blockquote/blockquote.scss +2 -1
- package/src/components/breadcrumb/breadcrumb.scss +3 -1
- package/src/components/button/button.scss +7 -5
- package/src/components/checkbox/checkbox.scss +8 -11
- package/src/components/date-input/README.md +11 -0
- package/src/components/date-input/date-input.scss +78 -0
- package/src/components/description-list/README.md +18 -0
- package/src/components/description-list/description-list.scss +55 -0
- package/src/components/dialog/dialog.scss +1 -17
- package/src/components/document/document.scss +14 -0
- package/src/components/fieldset/fieldset.scss +5 -4
- package/src/components/form-field-character-counter/README.md +19 -0
- package/src/components/form-field-character-counter/form-field-character-counter.scss +20 -0
- package/src/components/heading/heading.scss +2 -1
- package/src/components/index.scss +8 -1
- package/src/components/{form-label → label}/README.md +1 -1
- package/src/components/label/label.scss +18 -0
- package/src/components/link/link.scss +2 -4
- package/src/components/link-list/link-list.scss +4 -3
- package/src/components/ordered-list/ordered-list.scss +5 -3
- package/src/components/page-heading/page-heading.scss +2 -1
- package/src/components/page-menu/page-menu.scss +8 -1
- package/src/components/pagination/pagination.scss +8 -5
- package/src/components/paragraph/paragraph.scss +3 -1
- package/src/components/radio/radio.scss +5 -8
- package/src/components/screen/screen.scss +6 -1
- package/src/components/search-field/search-field.scss +21 -5
- package/src/components/select/README.md +9 -0
- package/src/components/select/select.scss +60 -0
- package/src/components/tabs/tabs.scss +8 -2
- package/src/components/text-area/text-area.scss +5 -2
- package/src/components/text-input/text-input.scss +5 -2
- package/src/components/time-input/README.md +11 -0
- package/src/components/time-input/time-input.scss +79 -0
- package/src/components/top-task-link/top-task-link.scss +2 -1
- package/src/components/unordered-list/unordered-list.scss +5 -3
- package/dist/form-label/form-label.css +0 -1
- package/dist/form-label/form-label.css.map +0 -1
- package/src/components/form-label/form-label.scss +0 -21
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
@
|
|
7
|
-
|
|
6
|
+
@import "../../common/text-rendering";
|
|
7
|
+
|
|
8
|
+
@mixin reset-button {
|
|
9
|
+
border: 0;
|
|
8
10
|
}
|
|
9
11
|
|
|
10
12
|
.ams-button {
|
|
11
|
-
border: none;
|
|
12
13
|
cursor: var(--ams-button-cursor);
|
|
13
14
|
display: inline-flex;
|
|
14
15
|
font-family: var(--ams-button-font-family);
|
|
@@ -25,12 +26,13 @@
|
|
|
25
26
|
cursor: var(--ams-button-disabled-cursor);
|
|
26
27
|
}
|
|
27
28
|
|
|
28
|
-
@include
|
|
29
|
+
@include text-rendering;
|
|
30
|
+
@include reset-button;
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
@mixin ams-button-forced-color-mode {
|
|
32
34
|
@media screen and (-ms-high-contrast: active), screen and (forced-colors: active) {
|
|
33
|
-
border:
|
|
35
|
+
border: var(--ams-button-forced-color-mode-border); // add border because forced colors changes box-shadow to none
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
38
|
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
@import "../../common/input-label-focus";
|
|
7
7
|
@import "../../common/hide-input";
|
|
8
|
+
@import "../../common/text-rendering";
|
|
8
9
|
|
|
9
10
|
.ams-checkbox__input {
|
|
10
11
|
@include hide-input;
|
|
@@ -24,7 +25,7 @@
|
|
|
24
25
|
background-size: 1rem;
|
|
25
26
|
border-color: var(--ams-checkbox-checkmark-border-color);
|
|
26
27
|
border-style: solid;
|
|
27
|
-
border-width:
|
|
28
|
+
border-width: var(--ams-checkbox-checkmark-border-width);
|
|
28
29
|
box-sizing: border-box;
|
|
29
30
|
content: "";
|
|
30
31
|
height: 1.5rem;
|
|
@@ -32,10 +33,6 @@
|
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
|
|
35
|
-
@mixin reset {
|
|
36
|
-
-webkit-text-size-adjust: 100%;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
36
|
.ams-checkbox__label {
|
|
40
37
|
color: var(--ams-checkbox-color);
|
|
41
38
|
cursor: pointer;
|
|
@@ -50,16 +47,16 @@
|
|
|
50
47
|
&:hover {
|
|
51
48
|
color: var(--ams-checkbox-hover-color);
|
|
52
49
|
text-decoration-line: underline;
|
|
53
|
-
text-decoration-thickness:
|
|
50
|
+
text-decoration-thickness: var(--ams-checkbox-hover-text-decoration-thickness);
|
|
54
51
|
text-underline-offset: 0.375rem;
|
|
55
52
|
|
|
56
53
|
.ams-checkbox__checkmark::after {
|
|
57
54
|
border-color: var(--ams-checkbox-checkmark-hover-border-color);
|
|
58
|
-
border-width:
|
|
55
|
+
border-width: var(--ams-checkbox-checkmark-hover-border-width);
|
|
59
56
|
}
|
|
60
57
|
}
|
|
61
58
|
|
|
62
|
-
@include
|
|
59
|
+
@include text-rendering;
|
|
63
60
|
}
|
|
64
61
|
|
|
65
62
|
// Default checked
|
|
@@ -67,7 +64,7 @@
|
|
|
67
64
|
+ .ams-checkbox__label .ams-checkbox__checkmark::after {
|
|
68
65
|
background-color: var(--ams-checkbox-checkmark-checked-background-color);
|
|
69
66
|
background-image: var(--ams-checkbox-checkmark-checked-background-image);
|
|
70
|
-
border:
|
|
67
|
+
border: 0;
|
|
71
68
|
}
|
|
72
69
|
}
|
|
73
70
|
|
|
@@ -79,7 +76,7 @@
|
|
|
79
76
|
background-position: center;
|
|
80
77
|
background-repeat: no-repeat;
|
|
81
78
|
background-size: 1rem;
|
|
82
|
-
border:
|
|
79
|
+
border: 0;
|
|
83
80
|
}
|
|
84
81
|
}
|
|
85
82
|
|
|
@@ -99,7 +96,7 @@
|
|
|
99
96
|
|
|
100
97
|
.ams-checkbox__checkmark::after {
|
|
101
98
|
border-color: var(--ams-checkbox-checkmark-disabled-border-color);
|
|
102
|
-
border-width:
|
|
99
|
+
border-width: var(--ams-checkbox-checkmark-disabled-border-width);
|
|
103
100
|
}
|
|
104
101
|
}
|
|
105
102
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!-- @license CC0-1.0 -->
|
|
2
|
+
|
|
3
|
+
# Date Input
|
|
4
|
+
|
|
5
|
+
Helps users enter a date.
|
|
6
|
+
|
|
7
|
+
## Visual considerations
|
|
8
|
+
|
|
9
|
+
This component uses a native date input, which is styled differently in different browsers and operating systems.
|
|
10
|
+
Recreating the native functionality is quite difficult and prone to accessibility errors, which is why we’ve chosen not to do that.
|
|
11
|
+
This does mean that this component does not look identical on all browsers and operating systems.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@import "../../common/text-rendering";
|
|
7
|
+
|
|
8
|
+
@mixin reset {
|
|
9
|
+
// Reset native appearance, this causes issues on iOS and Android devices
|
|
10
|
+
-webkit-appearance: none;
|
|
11
|
+
appearance: none;
|
|
12
|
+
border: 0;
|
|
13
|
+
border-radius: 0; // Reset rounded borders on iOS devices
|
|
14
|
+
box-sizing: border-box;
|
|
15
|
+
margin-block: 0;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.ams-date-input {
|
|
19
|
+
background-color: var(--ams-date-input-background-color);
|
|
20
|
+
box-shadow: var(--ams-date-input-box-shadow);
|
|
21
|
+
color: var(--ams-date-input-color);
|
|
22
|
+
font-family: var(--ams-date-input-font-family);
|
|
23
|
+
font-size: var(--ams-date-input-font-size);
|
|
24
|
+
font-weight: var(--ams-date-input-font-weight);
|
|
25
|
+
line-height: var(--ams-date-input-line-height);
|
|
26
|
+
|
|
27
|
+
// Set min height for iOS, otherwise an empty box is a lot smaller than a filled one.
|
|
28
|
+
min-height: calc(
|
|
29
|
+
(var(--ams-date-input-font-size) * var(--ams-date-input-line-height)) + 2 * var(--ams-date-input-padding-block)
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
// Set min width for iOS, so the width is closer to the filled in width.
|
|
33
|
+
min-width: calc(8ch + (2 * var(--ams-date-input-padding-inline)));
|
|
34
|
+
outline-offset: var(--ams-date-input-outline-offset);
|
|
35
|
+
padding-block: var(--ams-date-input-padding-block);
|
|
36
|
+
padding-inline: var(--ams-date-input-padding-inline);
|
|
37
|
+
touch-action: manipulation;
|
|
38
|
+
|
|
39
|
+
@include text-rendering;
|
|
40
|
+
@include reset;
|
|
41
|
+
|
|
42
|
+
&:hover {
|
|
43
|
+
box-shadow: var(--ams-date-input-hover-box-shadow);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// This changes the default calendar icon on Chromium browsers only
|
|
48
|
+
.ams-date-input::-webkit-calendar-picker-indicator {
|
|
49
|
+
appearance: none;
|
|
50
|
+
background-image: var(--ams-date-input-calender-picker-indicator-background-image);
|
|
51
|
+
cursor: pointer;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.ams-date-input:hover::-webkit-calendar-picker-indicator {
|
|
55
|
+
background-image: var(--ams-date-input-hover-calender-picker-indicator-background-image);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.ams-date-input:disabled {
|
|
59
|
+
background-color: var(--ams-date-input-disabled-background-color);
|
|
60
|
+
box-shadow: var(--ams-date-input-disabled-box-shadow);
|
|
61
|
+
color: var(--ams-date-input-disabled-color);
|
|
62
|
+
cursor: not-allowed;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.ams-date-input:disabled::-webkit-calendar-picker-indicator {
|
|
66
|
+
background-image: var(--ams-date-input-disabled-calender-picker-indicator-background-image);
|
|
67
|
+
visibility: visible;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.ams-date-input:invalid,
|
|
71
|
+
.ams-date-input[aria-invalid="true"] {
|
|
72
|
+
box-shadow: var(--ams-date-input-invalid-box-shadow);
|
|
73
|
+
|
|
74
|
+
&:hover {
|
|
75
|
+
// TODO: this should be the (currently non-existent) dark red hover color
|
|
76
|
+
box-shadow: var(--ams-date-input-invalid-hover-box-shadow);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<!-- @license CC0-1.0 -->
|
|
2
|
+
|
|
3
|
+
# Description List
|
|
4
|
+
|
|
5
|
+
A collection of terms and their details.
|
|
6
|
+
|
|
7
|
+
## Design
|
|
8
|
+
|
|
9
|
+
On a narrow screen, details appear indented below their term.
|
|
10
|
+
From the medium breakpoint, terms and details appear next to each other.
|
|
11
|
+
The column for the details is twice as wide as the one for the term.
|
|
12
|
+
|
|
13
|
+
Details are set in bold text.
|
|
14
|
+
|
|
15
|
+
## References
|
|
16
|
+
|
|
17
|
+
- [MDN: `<dl>`: The Description List element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dl)
|
|
18
|
+
- [WCAG: Using description lists](https://www.w3.org/WAI/WCAG22/Techniques/html/H40)
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@import "../../common/breakpoint";
|
|
7
|
+
@import "../../common/text-rendering";
|
|
8
|
+
|
|
9
|
+
@mixin reset {
|
|
10
|
+
box-sizing: border-box;
|
|
11
|
+
margin-block: 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.ams-description-list {
|
|
15
|
+
color: var(--ams-description-list-color);
|
|
16
|
+
display: grid;
|
|
17
|
+
font-family: var(--ams-description-list-font-family);
|
|
18
|
+
font-size: var(--ams-description-list-font-size);
|
|
19
|
+
font-weight: var(--ams-description-list-font-weight);
|
|
20
|
+
gap: var(--ams-description-list-gap);
|
|
21
|
+
line-height: var(--ams-description-list-line-height);
|
|
22
|
+
|
|
23
|
+
@media screen and (min-width: $ams-breakpoint-medium) {
|
|
24
|
+
grid-template-columns: 1fr 2fr;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@include reset;
|
|
28
|
+
@include text-rendering;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.ams-description-list--inverse-color {
|
|
32
|
+
color: var(--ams-description-list-inverse-color);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.ams-description-list__term {
|
|
36
|
+
@media screen and (min-width: $ams-breakpoint-medium) {
|
|
37
|
+
grid-column-start: 1;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@mixin reset-details {
|
|
42
|
+
margin-inline: 0;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.ams-description-list__details {
|
|
46
|
+
font-weight: var(--ams-description-list-details-font-weight);
|
|
47
|
+
padding-inline-start: var(--ams-description-list-details-padding-inline-start);
|
|
48
|
+
|
|
49
|
+
@media screen and (min-width: $ams-breakpoint-medium) {
|
|
50
|
+
grid-column-start: 2;
|
|
51
|
+
padding-inline-start: 0;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@include reset-details;
|
|
55
|
+
}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
@import "../../common/breakpoint";
|
|
7
|
-
@import "../../common/hyphenation";
|
|
8
7
|
|
|
9
8
|
.ams-dialog {
|
|
10
9
|
background-color: var(--ams-dialog-background-color);
|
|
@@ -44,22 +43,7 @@
|
|
|
44
43
|
align-items: flex-start;
|
|
45
44
|
display: flex;
|
|
46
45
|
gap: var(--ams-dialog-header-gap);
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
@mixin reset {
|
|
50
|
-
-webkit-text-size-adjust: 100%;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.ams-dialog__title {
|
|
54
|
-
color: var(--ams-dialog-title-color);
|
|
55
|
-
flex: auto;
|
|
56
|
-
font-family: var(--ams-dialog-title-font-family);
|
|
57
|
-
font-size: var(--ams-dialog-title-font-size);
|
|
58
|
-
font-weight: var(--ams-dialog-title-font-weight);
|
|
59
|
-
line-height: var(--ams-dialog-title-line-height);
|
|
60
|
-
|
|
61
|
-
@include hyphenation;
|
|
62
|
-
@include reset;
|
|
46
|
+
justify-content: space-between;
|
|
63
47
|
}
|
|
64
48
|
|
|
65
49
|
.ams-dialog__footer {
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@mixin reset-body {
|
|
7
|
+
margin-block: 0;
|
|
8
|
+
margin-inline: 0;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// Add this class if you haven’t removed the default margin on the `<body>` element.
|
|
12
|
+
.ams-body {
|
|
13
|
+
@include reset-body;
|
|
14
|
+
}
|
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
@import "../../common/hyphenation";
|
|
7
|
+
@import "../../common/text-rendering";
|
|
7
8
|
|
|
8
9
|
@mixin reset {
|
|
9
|
-
border:
|
|
10
|
+
border: 0;
|
|
10
11
|
margin-inline: 0;
|
|
11
12
|
padding-block: 0;
|
|
12
13
|
padding-inline: 0;
|
|
@@ -16,9 +17,8 @@
|
|
|
16
17
|
@include reset;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
|
-
@mixin legend
|
|
20
|
+
@mixin reset-legend {
|
|
20
21
|
padding-inline: 0;
|
|
21
|
-
-webkit-text-size-adjust: 100%;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
.ams-fieldset__legend {
|
|
@@ -30,5 +30,6 @@
|
|
|
30
30
|
margin-block-end: 1rem; /* Because of a bug in Chrome we can’t use display grid or flex for this gap */
|
|
31
31
|
|
|
32
32
|
@include hyphenation;
|
|
33
|
-
@include
|
|
33
|
+
@include text-rendering;
|
|
34
|
+
@include reset-legend;
|
|
34
35
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<!-- @license CC0-1.0 -->
|
|
2
|
+
|
|
3
|
+
# Form Field Character Counter
|
|
4
|
+
|
|
5
|
+
Help users know how much text they can enter when there is a limit on the number of characters.
|
|
6
|
+
|
|
7
|
+
Users will get updates at a pace that works best for the way they interact with the textarea. This means:
|
|
8
|
+
|
|
9
|
+
- sighted users will see a count message that updates as they type
|
|
10
|
+
- screen reader users will hear the count announcement when they stop typing.
|
|
11
|
+
|
|
12
|
+
This component does not restrict the user from entering information. The user can enter more than the character limit, but are told they’ve entered too many characters. This lets them type or copy and paste their full answer, then edit it down.
|
|
13
|
+
|
|
14
|
+
## Guidelines
|
|
15
|
+
|
|
16
|
+
- Only use a character counter when there is a good reason for limiting the number of characters users can enter.
|
|
17
|
+
For example, if there is an indication that users are likely to enter more information than they need to.
|
|
18
|
+
Or when there is a legal or technical reason that means an entry must be no more than a certain number of characters.
|
|
19
|
+
- If your users keep hitting the character limit imposed by the backend of your service then try to increase the limit rather than use a character counter.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@import "../../common/text-rendering";
|
|
7
|
+
|
|
8
|
+
.ams-form-field-character-counter {
|
|
9
|
+
color: var(--ams-form-field-character-counter-color);
|
|
10
|
+
font-family: var(--ams-form-field-character-counter-font-family);
|
|
11
|
+
font-size: var(--ams-form-field-character-counter-font-size);
|
|
12
|
+
font-weight: var(--ams-form-field-character-counter-font-weight);
|
|
13
|
+
line-height: var(--ams-form-field-character-counter-line-height);
|
|
14
|
+
|
|
15
|
+
@include text-rendering;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.ams-form-field-character-counter--error {
|
|
19
|
+
color: var(--ams-form-field-character-counter-error-color);
|
|
20
|
+
}
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
@import "../../common/hyphenation";
|
|
7
|
+
@import "../../common/text-rendering";
|
|
7
8
|
|
|
8
9
|
@mixin reset {
|
|
9
10
|
box-sizing: border-box;
|
|
10
11
|
margin-block: 0;
|
|
11
|
-
-webkit-text-size-adjust: 100%;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
.ams-heading {
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
font-weight: var(--ams-heading-font-weight);
|
|
20
20
|
|
|
21
21
|
@include hyphenation;
|
|
22
|
+
@include text-rendering;
|
|
22
23
|
@include reset;
|
|
23
24
|
}
|
|
24
25
|
|
|
@@ -4,6 +4,13 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
/* Append here */
|
|
7
|
+
@import "./select/select";
|
|
8
|
+
@import "./time-input/time-input";
|
|
9
|
+
@import "./date-input/date-input";
|
|
10
|
+
@import "./document/document";
|
|
11
|
+
@import "./avatar/avatar";
|
|
12
|
+
@import "./form-field-character-counter/form-field-character-counter";
|
|
13
|
+
@import "./description-list/description-list";
|
|
7
14
|
@import "./row/row";
|
|
8
15
|
@import "./radio/radio";
|
|
9
16
|
@import "./tabs/tabs";
|
|
@@ -35,7 +42,7 @@
|
|
|
35
42
|
@import "./button/button";
|
|
36
43
|
@import "./card/card";
|
|
37
44
|
@import "./checkbox/checkbox";
|
|
38
|
-
@import "./
|
|
45
|
+
@import "./label/label";
|
|
39
46
|
@import "./grid/grid";
|
|
40
47
|
@import "./heading/heading";
|
|
41
48
|
@import "./spotlight/spotlight";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@import "../../common/hyphenation";
|
|
7
|
+
@import "../../common/text-rendering";
|
|
8
|
+
|
|
9
|
+
.ams-label {
|
|
10
|
+
color: var(--ams-label-color);
|
|
11
|
+
font-family: var(--ams-label-font-family);
|
|
12
|
+
font-size: var(--ams-label-font-size);
|
|
13
|
+
font-weight: var(--ams-label-font-weight);
|
|
14
|
+
line-height: var(--ams-label-line-height);
|
|
15
|
+
|
|
16
|
+
@include hyphenation;
|
|
17
|
+
@include text-rendering;
|
|
18
|
+
}
|
|
@@ -3,9 +3,7 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
@
|
|
7
|
-
-webkit-text-size-adjust: 100%;
|
|
8
|
-
}
|
|
6
|
+
@import "../../common/text-rendering";
|
|
9
7
|
|
|
10
8
|
.ams-link {
|
|
11
9
|
color: var(--ams-link-color);
|
|
@@ -17,7 +15,7 @@
|
|
|
17
15
|
color: var(--ams-link-hover-color);
|
|
18
16
|
}
|
|
19
17
|
|
|
20
|
-
@include
|
|
18
|
+
@include text-rendering;
|
|
21
19
|
}
|
|
22
20
|
|
|
23
21
|
.ams-link--standalone {
|
|
@@ -4,20 +4,21 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
@import "../../common/hyphenation";
|
|
7
|
+
@import "../../common/text-rendering";
|
|
7
8
|
|
|
8
9
|
@mixin reset-list {
|
|
9
10
|
box-sizing: border-box;
|
|
10
11
|
list-style: none;
|
|
11
12
|
margin-block: 0;
|
|
12
13
|
padding-inline-start: 0;
|
|
13
|
-
-webkit-text-size-adjust: 100%;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
.ams-link-list {
|
|
17
|
-
@include reset-list;
|
|
18
|
-
|
|
19
17
|
display: grid;
|
|
20
18
|
gap: var(--ams-link-list-gap);
|
|
19
|
+
|
|
20
|
+
@include text-rendering;
|
|
21
|
+
@include reset-list;
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
.ams-link-list__link {
|
|
@@ -3,21 +3,23 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
@import "../../common/text-rendering";
|
|
7
|
+
|
|
6
8
|
/** Apply border box sizing, reset white space and list styles. */
|
|
7
9
|
@mixin reset {
|
|
8
10
|
box-sizing: border-box;
|
|
9
11
|
list-style-type: none;
|
|
10
12
|
margin-block: 0;
|
|
11
13
|
padding-inline-start: 0;
|
|
12
|
-
-webkit-text-size-adjust: 100%;
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
/** A list is a grid column with a gap between items. */
|
|
16
17
|
.ams-ordered-list {
|
|
17
|
-
@include reset;
|
|
18
|
-
|
|
19
18
|
display: grid;
|
|
20
19
|
gap: var(--ams-ordered-list-gap);
|
|
20
|
+
|
|
21
|
+
@include text-rendering;
|
|
22
|
+
@include reset;
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
/** A list with markers sets typography for its text content. */
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
@import "../../common/hyphenation";
|
|
7
|
+
@import "../../common/text-rendering";
|
|
7
8
|
|
|
8
9
|
@mixin reset {
|
|
9
10
|
box-sizing: border-box;
|
|
10
11
|
margin-block: 0;
|
|
11
|
-
-webkit-text-size-adjust: 100%;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
.ams-page-heading {
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
line-height: var(--ams-page-heading-line-height);
|
|
22
22
|
|
|
23
23
|
@include hyphenation;
|
|
24
|
+
@include text-rendering;
|
|
24
25
|
@include reset;
|
|
25
26
|
}
|
|
26
27
|
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
@import "../../common/text-rendering";
|
|
7
|
+
|
|
6
8
|
@mixin reset-list {
|
|
7
9
|
box-sizing: border-box;
|
|
8
10
|
margin-block: 0;
|
|
@@ -11,7 +13,6 @@
|
|
|
11
13
|
|
|
12
14
|
@mixin reset-item {
|
|
13
15
|
box-sizing: border-box;
|
|
14
|
-
-webkit-text-size-adjust: 100%;
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
.ams-page-menu {
|
|
@@ -19,6 +20,7 @@
|
|
|
19
20
|
column-gap: var(--ams-page-menu-column-gap);
|
|
20
21
|
display: flex;
|
|
21
22
|
flex-direction: row;
|
|
23
|
+
flex-wrap: wrap;
|
|
22
24
|
list-style: none;
|
|
23
25
|
row-gap: var(--ams-page-menu-row-gap);
|
|
24
26
|
|
|
@@ -29,6 +31,10 @@
|
|
|
29
31
|
justify-content: end;
|
|
30
32
|
}
|
|
31
33
|
|
|
34
|
+
.ams-page-menu--no-wrap {
|
|
35
|
+
flex-wrap: nowrap;
|
|
36
|
+
}
|
|
37
|
+
|
|
32
38
|
@mixin page-menu-item {
|
|
33
39
|
color: var(--ams-page-menu-item-color);
|
|
34
40
|
display: inline-flex;
|
|
@@ -49,6 +55,7 @@
|
|
|
49
55
|
|
|
50
56
|
.ams-page-menu__link {
|
|
51
57
|
@include page-menu-item;
|
|
58
|
+
@include text-rendering;
|
|
52
59
|
@include reset-item;
|
|
53
60
|
}
|
|
54
61
|
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
@
|
|
6
|
+
@import "../../common/text-rendering";
|
|
7
|
+
|
|
8
|
+
@mixin reset-list {
|
|
7
9
|
list-style-type: none;
|
|
8
10
|
margin-block: 0;
|
|
9
11
|
padding-inline-start: 0;
|
|
@@ -19,20 +21,19 @@
|
|
|
19
21
|
justify-content: center;
|
|
20
22
|
line-height: var(--ams-pagination-line-height);
|
|
21
23
|
|
|
22
|
-
@include list
|
|
24
|
+
@include reset-list;
|
|
23
25
|
}
|
|
24
26
|
|
|
25
|
-
@mixin button
|
|
27
|
+
@mixin reset-button {
|
|
26
28
|
all: unset;
|
|
27
29
|
box-sizing: border-box;
|
|
28
30
|
outline: revert;
|
|
29
|
-
-webkit-text-size-adjust: 100%;
|
|
30
31
|
}
|
|
31
32
|
|
|
32
33
|
.ams-pagination__button {
|
|
33
34
|
/* The reset is included at the top of the block here, if you set it
|
|
34
35
|
at the bottom `all: unset` overrides the `gap` property. */
|
|
35
|
-
@include button
|
|
36
|
+
@include reset-button;
|
|
36
37
|
|
|
37
38
|
cursor: pointer;
|
|
38
39
|
display: flex;
|
|
@@ -58,6 +59,8 @@
|
|
|
58
59
|
height: 1rem;
|
|
59
60
|
width: 1rem;
|
|
60
61
|
}
|
|
62
|
+
|
|
63
|
+
@include text-rendering;
|
|
61
64
|
}
|
|
62
65
|
|
|
63
66
|
.ams-pagination__button--current {
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
@import "../../common/text-rendering";
|
|
7
|
+
|
|
6
8
|
@mixin reset {
|
|
7
9
|
box-sizing: border-box;
|
|
8
10
|
margin-block: 0;
|
|
9
|
-
-webkit-text-size-adjust: 100%;
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
.ams-paragraph {
|
|
@@ -16,6 +17,7 @@
|
|
|
16
17
|
font-weight: var(--ams-paragraph-font-weight);
|
|
17
18
|
line-height: var(--ams-paragraph-medium-line-height);
|
|
18
19
|
|
|
20
|
+
@include text-rendering;
|
|
19
21
|
@include reset;
|
|
20
22
|
}
|
|
21
23
|
|