@amsterdam/design-system-css 0.5.0 → 0.6.1
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 +45 -4
- 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/blockquote/blockquote.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/column/column.css +1 -0
- package/dist/column/column.css.map +1 -0
- package/dist/dialog/dialog.css +1 -1
- package/dist/dialog/dialog.css.map +1 -1
- package/dist/fieldset/fieldset.css +1 -0
- package/dist/fieldset/fieldset.css.map +1 -0
- package/dist/form-label/form-label.css.map +1 -1
- package/dist/gap/gap.css +1 -0
- package/dist/gap/gap.css.map +1 -0
- package/dist/grid/grid.css +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.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/link-list/link-list.css.map +1 -1
- package/dist/margin/margin.css +1 -0
- package/dist/margin/margin.css.map +1 -0
- package/dist/mega-menu/mega-menu.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.map +1 -1
- package/dist/pagination/pagination.css +1 -1
- package/dist/pagination/pagination.css.map +1 -1
- package/dist/radio/radio.css +1 -0
- package/dist/radio/radio.css.map +1 -0
- package/dist/row/row.css +1 -0
- package/dist/row/row.css.map +1 -0
- package/dist/search-field/search-field.css +1 -1
- package/dist/search-field/search-field.css.map +1 -1
- package/dist/skip-link/skip-link.css +1 -1
- package/dist/skip-link/skip-link.css.map +1 -1
- package/dist/switch/switch.css +1 -1
- package/dist/switch/switch.css.map +1 -1
- package/dist/table/table.css +1 -1
- package/dist/table/table.css.map +1 -1
- package/dist/tabs/tabs.css +1 -0
- package/dist/tabs/tabs.css.map +1 -0
- package/dist/text-area/text-area.css +1 -0
- package/dist/text-area/text-area.css.map +1 -0
- package/dist/text-input/text-input.css +1 -1
- package/dist/text-input/text-input.css.map +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/package.json +3 -3
- package/src/common/breakpoint.scss +1 -1
- package/src/common/calculate-fluid-style.scss +1 -1
- package/src/common/hide-input.scss +11 -0
- package/src/common/hyphenation.scss +5 -0
- package/src/common/input-label-focus.scss +21 -0
- package/src/common/size.scss +13 -0
- package/src/components/accordion/README.md +2 -0
- package/src/components/accordion/accordion.scss +5 -5
- package/src/components/alert/README.md +4 -2
- package/src/components/alert/alert.scss +3 -5
- package/src/components/aspect-ratio/README.md +2 -0
- package/src/components/aspect-ratio/aspect-ratio.scss +1 -1
- package/src/components/badge/README.md +2 -0
- package/src/components/badge/badge.scss +1 -1
- package/src/components/blockquote/README.md +2 -0
- package/src/components/blockquote/blockquote.scss +1 -1
- package/src/components/breadcrumb/README.md +2 -0
- package/src/components/breadcrumb/breadcrumb.scss +1 -1
- package/src/components/button/README.md +3 -1
- package/src/components/button/button.scss +56 -10
- package/src/components/card/README.md +5 -3
- package/src/components/card/card.scss +1 -1
- package/src/components/checkbox/README.md +3 -1
- package/src/components/checkbox/checkbox.scss +16 -19
- package/src/components/column/README.md +5 -0
- package/src/components/column/column.scss +16 -0
- package/src/components/dialog/README.md +2 -0
- package/src/components/dialog/dialog.scss +3 -2
- package/src/components/fieldset/README.md +18 -0
- package/src/components/fieldset/fieldset.scss +34 -0
- package/src/components/footer/README.md +2 -0
- package/src/components/form-label/README.md +2 -0
- package/src/components/form-label/form-label.scss +1 -1
- package/src/components/gap/README.md +5 -0
- package/src/components/gap/gap.scss +16 -0
- package/src/components/grid/README.md +5 -3
- package/src/components/grid/grid.scss +14 -13
- package/src/components/header/README.md +2 -0
- package/src/components/header/header.scss +5 -5
- package/src/components/heading/README.md +2 -0
- package/src/components/heading/heading.scss +1 -1
- package/src/components/icon/README.md +3 -1
- package/src/components/icon/icon.scss +1 -1
- package/src/components/icon-button/README.md +3 -1
- package/src/components/icon-button/icon-button.scss +1 -1
- package/src/components/image/README.md +3 -1
- package/src/components/image/image.scss +2 -2
- package/src/components/index.scss +9 -1
- package/src/components/link/README.md +2 -0
- package/src/components/link/link.scss +1 -1
- package/src/components/link-list/README.md +3 -1
- package/src/components/link-list/link-list.scss +1 -1
- package/src/components/logo/README.md +4 -1
- package/src/components/logo/logo.scss +1 -1
- package/src/components/margin/README.md +5 -0
- package/src/components/margin/margin.scss +12 -0
- package/src/components/mark/README.md +2 -0
- package/src/components/mark/mark.scss +1 -1
- package/src/components/mega-menu/README.md +2 -0
- package/src/components/mega-menu/mega-menu.scss +3 -1
- package/src/components/ordered-list/README.md +2 -0
- package/src/components/ordered-list/ordered-list.scss +6 -2
- package/src/components/overlap/README.md +2 -0
- package/src/components/overlap/overlap.scss +1 -1
- package/src/components/page-heading/README.md +3 -1
- package/src/components/page-heading/page-heading.scss +1 -1
- package/src/components/page-menu/README.md +3 -1
- package/src/components/page-menu/page-menu.scss +1 -1
- package/src/components/pagination/README.md +3 -1
- package/src/components/pagination/pagination.scss +2 -2
- package/src/components/paragraph/README.md +2 -0
- package/src/components/paragraph/paragraph.scss +1 -1
- package/src/components/radio/README.md +18 -0
- package/src/components/radio/radio.scss +157 -0
- package/src/components/row/README.md +3 -0
- package/src/components/row/row.scss +17 -0
- package/src/components/screen/README.md +6 -4
- package/src/components/screen/screen.scss +1 -1
- package/src/components/search-field/README.md +3 -1
- package/src/components/search-field/search-field.scss +7 -5
- package/src/components/skip-link/README.md +2 -0
- package/src/components/skip-link/skip-link.scss +3 -3
- package/src/components/spotlight/README.md +2 -0
- package/src/components/spotlight/spotlight.scss +1 -1
- package/src/components/switch/README.md +3 -1
- package/src/components/switch/switch.scss +11 -10
- package/src/components/table/README.md +3 -1
- package/src/components/table/table.scss +3 -3
- package/src/components/tabs/README.md +32 -0
- package/src/components/tabs/tabs.scss +41 -0
- package/src/components/text-area/README.md +17 -0
- package/src/components/text-area/text-area.scss +70 -0
- package/src/components/text-input/README.md +2 -0
- package/src/components/text-input/text-input.scss +3 -3
- package/src/components/top-task-link/README.md +5 -3
- package/src/components/top-task-link/top-task-link.scss +1 -1
- package/src/components/unordered-list/README.md +2 -0
- package/src/components/unordered-list/unordered-list.scss +6 -2
- package/src/components/visually-hidden/README.md +2 -0
- package/src/components/visually-hidden/visually-hidden.scss +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../src/components/unordered-list/unordered-list.scss"],"names":[],"mappings":"AAeA,0BARE,sBACA,gBACA,eACA,uBACA,8BAOA,aACA,wCAIF,qEACE,4CACA,wDACA,oDACA,wDACA,wDACA,gEAGA,qGACE,6EACA,+
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/components/unordered-list/unordered-list.scss"],"names":[],"mappings":"AAeA,0BARE,sBACA,gBACA,eACA,uBACA,8BAOA,aACA,wCAIF,qEACE,4CACA,wDACA,oDACA,wDACA,wDACA,gEAGA,qGACE,6EACA,+EAIJ,oFACE,oDAIF,iFACE,+EAEA,iHACE,4FACA","file":"unordered-list.css"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.6.1",
|
|
3
3
|
"author": "Community for NL Design System",
|
|
4
4
|
"description": "CSS files for components for the City of Amsterdam based on the NL Design System architecture",
|
|
5
5
|
"license": "EUPL-1.2",
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"directory": "packages/css"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
|
-
"sass": "1.
|
|
18
|
-
"@amsterdam/design-system-tokens": "0.
|
|
17
|
+
"sass": "1.71.1",
|
|
18
|
+
"@amsterdam/design-system-tokens": "0.6.1"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@utrecht/components": "3.0.0"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Focus is first set on the label next to a focussed input, and then
|
|
8
|
+
* hidden when the focussed input doesn't have focus-visible.
|
|
9
|
+
* This progressive enhancement means you get the benefits of focus-visible
|
|
10
|
+
* while still showing a focus ring on browsers that don't support focus-visible (like older Safari).
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
@mixin input-label-focus {
|
|
14
|
+
&:focus + label {
|
|
15
|
+
outline: auto;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
&:focus:not(:focus-visible) + label {
|
|
19
|
+
outline: 0;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license EUPL-1.2+
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
.amsterdam-accordion__header {
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
font-weight: var(--amsterdam-accordion-button-font-weight);
|
|
25
25
|
justify-content: space-between;
|
|
26
26
|
line-height: var(--amsterdam-accordion-button-line-height);
|
|
27
|
-
padding-block:
|
|
28
|
-
padding-inline:
|
|
27
|
+
padding-block: var(--amsterdam-accordion-button-padding-block);
|
|
28
|
+
padding-inline: var(--amsterdam-accordion-button-padding-inline);
|
|
29
29
|
width: 100%;
|
|
30
30
|
|
|
31
31
|
&:focus {
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
|
|
55
55
|
.amsterdam-accordion__panel {
|
|
56
56
|
display: none;
|
|
57
|
-
padding-block:
|
|
58
|
-
padding-inline:
|
|
57
|
+
padding-block: var(--amsterdam-accordion-panel-padding-block);
|
|
58
|
+
padding-inline: var(--amsterdam-accordion-panel-padding-inline);
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
.amsterdam-accordion__panel--expanded {
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
<!-- @license CC0-1.0 -->
|
|
2
|
+
|
|
1
3
|
# Alert
|
|
2
4
|
|
|
3
5
|
An Alert informs the user of a significant or time-sensitive message without interrupting their task.
|
|
@@ -15,8 +17,8 @@ There are four types of notifications:
|
|
|
15
17
|
|
|
16
18
|
- Place an orange Alert directly below the Header for important and urgent information.
|
|
17
19
|
Examples: system outage or changes in the opening hours of a City Office.
|
|
18
|
-
- Ensure sufficient
|
|
19
|
-
The grid’s
|
|
20
|
+
- Ensure sufficient white space around the Alert.
|
|
21
|
+
The grid’s white space is a good reference – place the Alert in its own cell.
|
|
20
22
|
- By default, the Alert cannot be closed.
|
|
21
23
|
This functionality can be added optionally.
|
|
22
24
|
- Optionally, the title can be omitted.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license EUPL-1.2+
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
.amsterdam-alert {
|
|
@@ -11,10 +11,8 @@
|
|
|
11
11
|
flex-direction: row;
|
|
12
12
|
gap: var(--amsterdam-alert-gap);
|
|
13
13
|
justify-content: space-between;
|
|
14
|
-
padding-block
|
|
15
|
-
padding-
|
|
16
|
-
padding-inline-end: var(--amsterdam-alert-padding-inline-end);
|
|
17
|
-
padding-inline-start: var(--amsterdam-alert-padding-inline-start);
|
|
14
|
+
padding-block: var(--amsterdam-alert-padding-block);
|
|
15
|
+
padding-inline: var(--amsterdam-alert-padding-inline);
|
|
18
16
|
}
|
|
19
17
|
|
|
20
18
|
.amsterdam-alert__content {
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
<!-- @license CC0-1.0 -->
|
|
2
|
+
|
|
1
3
|
# Button
|
|
2
4
|
|
|
3
5
|
Allows the user to perform actions and operate the user interface.
|
|
4
6
|
|
|
5
7
|
## Guidelines
|
|
6
8
|
|
|
7
|
-
- A label text that describes the function of the button.
|
|
9
|
+
- A short label text that describes the function of the button.
|
|
8
10
|
- A clear contrasting colour scheme so that it is easy to recognize and quickly locate.
|
|
9
11
|
- Use the correct type of button for the corresponding application.
|
|
10
12
|
For example, a button within a form must always be of the type `submit`.
|
|
@@ -1,44 +1,90 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license EUPL-1.2+
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
@import "../../../node_modules/@utrecht/components/button/css";
|
|
7
|
-
|
|
8
6
|
@mixin reset {
|
|
9
7
|
-webkit-text-size-adjust: 100%;
|
|
10
8
|
}
|
|
11
9
|
|
|
12
10
|
.amsterdam-button {
|
|
11
|
+
border: none;
|
|
12
|
+
cursor: var(--amsterdam-button-cursor);
|
|
13
|
+
display: inline-flex;
|
|
14
|
+
font-family: var(--amsterdam-button-font-family);
|
|
13
15
|
font-size: var(--amsterdam-button-font-size);
|
|
16
|
+
gap: var(--amsterdam-button-gap);
|
|
14
17
|
line-height: var(--amsterdam-button-line-height);
|
|
18
|
+
outline-offset: var(--amsterdam-button-outline-offset);
|
|
19
|
+
padding-block: var(--amsterdam-button-padding-block);
|
|
20
|
+
padding-inline: var(--amsterdam-button-padding-inline);
|
|
21
|
+
touch-action: manipulation;
|
|
22
|
+
|
|
23
|
+
&:disabled,
|
|
24
|
+
&[aria-disabled="true"] {
|
|
25
|
+
cursor: var(--amsterdam-button-disabled-cursor);
|
|
26
|
+
}
|
|
15
27
|
|
|
16
28
|
@include reset;
|
|
17
29
|
}
|
|
18
30
|
|
|
31
|
+
@mixin amsterdam-button-forced-color-mode {
|
|
32
|
+
@media screen and (-ms-high-contrast: active), screen and (forced-colors: active) {
|
|
33
|
+
border: 2px solid ButtonBorder; // add border because forced colors changes box-shadow to none
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.amsterdam-button--primary {
|
|
38
|
+
background-color: var(--amsterdam-button-primary-background-color);
|
|
39
|
+
box-shadow: var(--amsterdam-button-primary-box-shadow);
|
|
40
|
+
color: var(--amsterdam-button-primary-color);
|
|
41
|
+
|
|
42
|
+
&:disabled,
|
|
43
|
+
[aria-disabled="true"] {
|
|
44
|
+
background-color: var(--amsterdam-button-primary-disabled-background-color);
|
|
45
|
+
box-shadow: var(--amsterdam-button-primary-disabled-box-shadow);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&:hover:not(:disabled, [aria-disabled="true"]) {
|
|
49
|
+
background-color: var(--amsterdam-button-primary-hover-background-color);
|
|
50
|
+
box-shadow: var(--amsterdam-button-primary-hover-box-shadow);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@include amsterdam-button-forced-color-mode;
|
|
54
|
+
}
|
|
55
|
+
|
|
19
56
|
.amsterdam-button--secondary {
|
|
57
|
+
background-color: var(--amsterdam-button-secondary-background-color);
|
|
20
58
|
box-shadow: var(--amsterdam-button-secondary-box-shadow);
|
|
59
|
+
color: var(--amsterdam-button-secondary-color);
|
|
21
60
|
|
|
22
61
|
&:disabled,
|
|
23
62
|
[aria-disabled="true"] {
|
|
63
|
+
background-color: var(--amsterdam-button-secondary-disabled-background-color);
|
|
24
64
|
box-shadow: var(--amsterdam-button-secondary-disabled-box-shadow);
|
|
65
|
+
color: var(--amsterdam-button-secondary-disabled-color);
|
|
25
66
|
}
|
|
26
67
|
|
|
27
68
|
&:hover:not(:disabled, [aria-disabled="true"]) {
|
|
28
69
|
box-shadow: var(--amsterdam-button-secondary-hover-box-shadow);
|
|
70
|
+
color: var(--amsterdam-button-secondary-hover-color);
|
|
29
71
|
}
|
|
30
|
-
}
|
|
31
72
|
|
|
32
|
-
|
|
33
|
-
box-shadow: var(--amsterdam-button-secondary-focus-box-shadow);
|
|
73
|
+
@include amsterdam-button-forced-color-mode;
|
|
34
74
|
}
|
|
35
75
|
|
|
36
76
|
.amsterdam-button--tertiary {
|
|
77
|
+
background-color: var(--amsterdam-button-tertiary-background-color);
|
|
78
|
+
color: var(--amsterdam-button-tertiary-color);
|
|
79
|
+
|
|
80
|
+
&:disabled,
|
|
81
|
+
[aria-disabled="true"] {
|
|
82
|
+
background-color: var(--amsterdam-button-tertiary-disabled-background-color);
|
|
83
|
+
color: var(--amsterdam-button-tertiary-disabled-color);
|
|
84
|
+
}
|
|
85
|
+
|
|
37
86
|
&:hover:not(:disabled, [aria-disabled="true"]) {
|
|
38
87
|
box-shadow: var(--amsterdam-button-tertiary-hover-box-shadow);
|
|
88
|
+
color: var(--amsterdam-button-tertiary-hover-color);
|
|
39
89
|
}
|
|
40
90
|
}
|
|
41
|
-
|
|
42
|
-
.amsterdam-button--tertiary:focus:not(:hover, [aria-disabled="true"]) {
|
|
43
|
-
box-shadow: none;
|
|
44
|
-
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
<!-- @license CC0-1.0 -->
|
|
2
|
+
|
|
1
3
|
# Card
|
|
2
4
|
|
|
3
5
|
Use a card on an overview page to link to an article page, such as a news article, a job vacancy, or a search result.
|
|
@@ -7,15 +9,15 @@ The link is mandatory.
|
|
|
7
9
|
## Guidelines
|
|
8
10
|
|
|
9
11
|
- The title of a card is a link within a heading.
|
|
10
|
-
The same guidelines as for regular [links](
|
|
12
|
+
The same guidelines as for regular [links](/docs/components-navigation-link--docs) and [headings](/docs/components-text-heading--docs) apply here.
|
|
11
13
|
The link is active across the entire area of the card.
|
|
12
14
|
- A card needs more content than just a title.
|
|
13
15
|
Supplement this with textual and/or visual content.
|
|
14
16
|
- Place the text in a regular paragraph.
|
|
15
17
|
Only use the smallest text size for a tagline or date.
|
|
16
18
|
- This component may not be the best option if the content does not represent a detailed page.
|
|
17
|
-
For referencing a thematic page, use a [top task link](
|
|
18
|
-
You can also use a [regular link](
|
|
19
|
+
For referencing a thematic page, use a [top task link](/docs/components-navigation-top-task-link--docs).
|
|
20
|
+
You can also use a [regular link](/docs/components-navigation-link--docs).
|
|
19
21
|
|
|
20
22
|
## Screen Readers
|
|
21
23
|
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
<!-- @license CC0-1.0 -->
|
|
2
|
+
|
|
1
3
|
# Checkbox
|
|
2
4
|
|
|
3
5
|
Allows users to make a selection or agree to terms.
|
|
@@ -25,4 +27,4 @@ It is written in the first person when asking the user to agree to the terms and
|
|
|
25
27
|
|
|
26
28
|
- [WCAG 1.3.5](https://www.w3.org/WAI/WCAG21/Understanding/identify-input-purpose.html): It is clear for both users and programmatically what the purpose of a form field is.
|
|
27
29
|
|
|
28
|
-
Checkbox is an interactive element; therefore, [the general requirements and guidelines for interactive elements](
|
|
30
|
+
Checkbox is an interactive element; therefore, [the general requirements and guidelines for interactive elements](/docs/docs-design-guidelines-interactive-elements--docs) apply.
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license EUPL-1.2+
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
@import "../../common/input-label-focus";
|
|
7
|
+
@import "../../common/hide-input";
|
|
8
|
+
|
|
6
9
|
.amsterdam-checkbox__input {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
margin-inline: 0;
|
|
10
|
-
opacity: 0%; /* to hide native input field in older iOS */
|
|
11
|
-
|
|
12
|
-
&:focus-visible + label {
|
|
13
|
-
outline: auto;
|
|
14
|
-
outline-offset: var(--amsterdam-checkbox-outline-offset);
|
|
15
|
-
}
|
|
10
|
+
@include hide-input;
|
|
11
|
+
@include input-label-focus;
|
|
16
12
|
}
|
|
17
13
|
|
|
18
14
|
.amsterdam-checkbox__checkmark {
|
|
@@ -23,9 +19,12 @@
|
|
|
23
19
|
width: 1.5rem;
|
|
24
20
|
|
|
25
21
|
&::after {
|
|
22
|
+
background-position: center;
|
|
23
|
+
background-repeat: no-repeat;
|
|
24
|
+
background-size: 1rem;
|
|
26
25
|
border-color: var(--amsterdam-checkbox-checkmark-border-color);
|
|
27
26
|
border-style: solid;
|
|
28
|
-
border-width:
|
|
27
|
+
border-width: 0.125rem;
|
|
29
28
|
box-sizing: border-box;
|
|
30
29
|
content: "";
|
|
31
30
|
height: 1.5rem;
|
|
@@ -43,9 +42,10 @@
|
|
|
43
42
|
display: inline-flex;
|
|
44
43
|
font-family: var(--amsterdam-checkbox-font-family);
|
|
45
44
|
font-size: var(--amsterdam-checkbox-font-size);
|
|
46
|
-
font-weight:
|
|
45
|
+
font-weight: var(--amsterdam-checkbox-font-weight);
|
|
47
46
|
gap: 0.5rem;
|
|
48
47
|
line-height: var(--amsterdam-checkbox-line-height);
|
|
48
|
+
outline-offset: var(--amsterdam-checkbox-outline-offset);
|
|
49
49
|
|
|
50
50
|
&:hover {
|
|
51
51
|
color: var(--amsterdam-checkbox-hover-color);
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
|
|
56
56
|
.amsterdam-checkbox__checkmark::after {
|
|
57
57
|
border-color: var(--amsterdam-checkbox-checkmark-hover-border-color);
|
|
58
|
-
border-width:
|
|
58
|
+
border-width: 0.1875rem;
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
|
|
@@ -66,10 +66,7 @@
|
|
|
66
66
|
.amsterdam-checkbox__input:checked {
|
|
67
67
|
+ .amsterdam-checkbox__label .amsterdam-checkbox__checkmark::after {
|
|
68
68
|
background-color: var(--amsterdam-checkbox-checkmark-checked-background-color);
|
|
69
|
-
background-image:
|
|
70
|
-
background-position: center;
|
|
71
|
-
background-repeat: no-repeat;
|
|
72
|
-
background-size: 1rem;
|
|
69
|
+
background-image: var(--amsterdam-checkbox-checkmark-checked-background-image);
|
|
73
70
|
border: none;
|
|
74
71
|
}
|
|
75
72
|
}
|
|
@@ -78,7 +75,7 @@
|
|
|
78
75
|
.amsterdam-checkbox__input:indeterminate {
|
|
79
76
|
+ .amsterdam-checkbox__label .amsterdam-checkbox__checkmark::after {
|
|
80
77
|
background-color: var(--amsterdam-checkbox-checkmark-indeterminate-background-color);
|
|
81
|
-
background-image:
|
|
78
|
+
background-image: var(--amsterdam-checkbox-checkmark-indeterminate-background-image);
|
|
82
79
|
background-position: center;
|
|
83
80
|
background-repeat: no-repeat;
|
|
84
81
|
background-size: 1rem;
|
|
@@ -102,7 +99,7 @@
|
|
|
102
99
|
|
|
103
100
|
.amsterdam-checkbox__checkmark::after {
|
|
104
101
|
border-color: var(--amsterdam-checkbox-checkmark-disabled-border-color);
|
|
105
|
-
border-width:
|
|
102
|
+
border-width: 0.125rem;
|
|
106
103
|
}
|
|
107
104
|
}
|
|
108
105
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@import "../../common/size";
|
|
7
|
+
|
|
8
|
+
.amsterdam-column {
|
|
9
|
+
display: grid;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
@each $size, $label in $amsterdam-sizes {
|
|
13
|
+
.amsterdam-column--#{$label} {
|
|
14
|
+
gap: var(--amsterdam-column-gap-#{$size});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license EUPL-1.2+
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
@import "../../common/breakpoint";
|
|
@@ -26,6 +26,8 @@
|
|
|
26
26
|
gap: var(--amsterdam-dialog-form-gap);
|
|
27
27
|
grid-template-rows: auto 1fr auto;
|
|
28
28
|
max-block-size: var(--amsterdam-dialog-form-max-block-size);
|
|
29
|
+
|
|
30
|
+
// TODO Decide on these widths
|
|
29
31
|
padding-block: var(--amsterdam-dialog-form-padding-block);
|
|
30
32
|
padding-inline: var(--amsterdam-dialog-form-padding-inline);
|
|
31
33
|
}
|
|
@@ -36,7 +38,6 @@
|
|
|
36
38
|
max-block-size: 100%; /* safari */
|
|
37
39
|
overflow-y: auto;
|
|
38
40
|
overscroll-behavior-y: contain;
|
|
39
|
-
padding-inline-end: var(--amsterdam-dialog-article-padding-inline-end);
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
.amsterdam-dialog__header {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<!-- @license CC0-1.0 -->
|
|
2
|
+
|
|
3
|
+
# Fieldset
|
|
4
|
+
|
|
5
|
+
A component to group related form inputs.
|
|
6
|
+
|
|
7
|
+
## Guidelines
|
|
8
|
+
|
|
9
|
+
- Use Fieldset when you need to show a relationship between multiple form inputs. For example, you may need to group a set of text inputs into a single fieldset when asking for an address.
|
|
10
|
+
- When grouping radio inputs, use `role="radiogroup"` on Fieldset to have this grouping explicitly announced as a radio group. Fieldset has a default role of `group`.
|
|
11
|
+
|
|
12
|
+
## Relevant WCAG Requirements
|
|
13
|
+
|
|
14
|
+
- [WCAG 1.3.5](https://www.w3.org/WAI/WCAG22/Understanding/identify-input-purpose.html): Fieldset labels the purpose of a group of inputs.
|
|
15
|
+
|
|
16
|
+
## References
|
|
17
|
+
|
|
18
|
+
- [Providing a description for groups of form controls using fieldset and legend elements](https://www.w3.org/WAI/WCAG22/Techniques/html/H71)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@import "../../common/hyphenation";
|
|
7
|
+
|
|
8
|
+
@mixin reset {
|
|
9
|
+
border: none;
|
|
10
|
+
margin-inline: 0;
|
|
11
|
+
padding-block: 0;
|
|
12
|
+
padding-inline: 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.amsterdam-fieldset {
|
|
16
|
+
@include reset;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@mixin legend-reset {
|
|
20
|
+
padding-inline: 0;
|
|
21
|
+
-webkit-text-size-adjust: 100%;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.amsterdam-fieldset__legend {
|
|
25
|
+
color: var(--amsterdam-fieldset-legend-color);
|
|
26
|
+
font-family: var(--amsterdam-fieldset-legend-font-family);
|
|
27
|
+
font-size: var(--amsterdam-fieldset-legend-font-size);
|
|
28
|
+
font-weight: var(--amsterdam-fieldset-legend-font-weight);
|
|
29
|
+
line-height: var(--amsterdam-fieldset-legend-line-height);
|
|
30
|
+
margin-block-end: 1rem; /* Because of a bug in Chrome we can’t use display grid or flex for this gap */
|
|
31
|
+
|
|
32
|
+
@include hyphenation;
|
|
33
|
+
@include legend-reset;
|
|
34
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@import "../../common/size";
|
|
7
|
+
|
|
8
|
+
[class|="amsterdam-gap-"] {
|
|
9
|
+
display: grid !important;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
@each $size in map-keys($amsterdam-sizes) {
|
|
13
|
+
.amsterdam-gap--#{$size} {
|
|
14
|
+
gap: var(--amsterdam-gap-#{$size}) !important;
|
|
15
|
+
}
|
|
16
|
+
}
|