@amsterdam/design-system-css 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +51 -0
- package/LICENSE.md +1 -1
- package/README.md +2 -1
- package/dist/alert/alert.css +1 -1
- package/dist/alert/alert.css.map +1 -1
- package/dist/badge/badge.css +1 -0
- package/dist/badge/badge.css.map +1 -0
- package/dist/breadcrumb/breadcrumb.css +1 -1
- package/dist/breadcrumb/breadcrumb.css.map +1 -1
- package/dist/checkbox/checkbox.css +1 -1
- package/dist/checkbox/checkbox.css.map +1 -1
- package/dist/dialog/dialog.css +1 -1
- package/dist/dialog/dialog.css.map +1 -1
- package/dist/grid/grid.css +1 -1
- package/dist/grid/grid.css.map +1 -1
- package/dist/header/header.css +1 -0
- package/dist/header/header.css.map +1 -0
- 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/icon-button/icon-button.css +1 -0
- package/dist/icon-button/icon-button.css.map +1 -0
- 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 -0
- package/dist/link-list/link-list.css.map +1 -0
- package/dist/logo/logo.css +1 -1
- package/dist/logo/logo.css.map +1 -1
- package/dist/mark/mark.css +1 -0
- package/dist/mark/mark.css.map +1 -0
- package/dist/mega-menu/mega-menu.css +1 -0
- package/dist/mega-menu/mega-menu.css.map +1 -0
- package/dist/overlap/overlap.css +1 -0
- package/dist/overlap/overlap.css.map +1 -0
- package/dist/page-menu/page-menu.css +1 -1
- package/dist/page-menu/page-menu.css.map +1 -1
- package/dist/search-field/search-field.css +1 -0
- package/dist/search-field/search-field.css.map +1 -0
- package/dist/skip-link/skip-link.css +1 -0
- package/dist/skip-link/skip-link.css.map +1 -0
- package/dist/spotlight/spotlight.css +1 -0
- package/dist/spotlight/spotlight.css.map +1 -0
- package/dist/table/table.css +1 -0
- package/dist/table/table.css.map +1 -0
- package/dist/text-input/text-input.css +1 -0
- package/dist/text-input/text-input.css.map +1 -0
- package/dist/visually-hidden/visually-hidden.css +1 -1
- package/dist/visually-hidden/visually-hidden.css.map +1 -1
- package/documentation/coding-conventions.md +4 -2
- package/package.json +5 -5
- package/src/components/accordion/README.md +45 -38
- package/src/components/alert/README.md +15 -11
- package/src/components/alert/alert.scss +8 -38
- package/src/components/aspect-ratio/README.md +12 -12
- package/src/components/badge/README.md +10 -0
- package/src/components/badge/badge.scss +58 -0
- package/src/components/blockquote/README.md +8 -8
- package/src/components/breadcrumb/README.md +10 -7
- package/src/components/breadcrumb/breadcrumb.scss +6 -15
- package/src/components/button/README.md +17 -14
- package/src/components/card/README.md +18 -6
- package/src/components/checkbox/README.md +19 -18
- package/src/components/checkbox/checkbox.scss +3 -3
- package/src/components/dialog/README.md +9 -8
- package/src/components/dialog/dialog.scss +0 -17
- package/src/components/footer/README.md +11 -7
- package/src/components/form-label/README.md +5 -1
- package/src/components/grid/README.md +20 -0
- package/src/components/grid/grid.scss +44 -0
- package/src/components/header/README.md +14 -0
- package/src/components/header/header.scss +85 -0
- package/src/components/heading/README.md +14 -11
- package/src/components/heading/heading.scss +20 -0
- package/src/components/icon/README.md +19 -9
- package/src/components/icon/icon.scss +5 -18
- package/src/components/icon-button/README.md +14 -0
- package/src/components/icon-button/icon-button.scss +60 -0
- package/src/components/image/README.md +16 -12
- package/src/components/image/image.scss +4 -0
- package/src/components/index.scss +12 -2
- package/src/components/link/README.md +26 -24
- package/src/components/link-list/README.md +16 -0
- package/src/components/link-list/link-list.scss +80 -0
- package/src/components/logo/README.md +21 -20
- package/src/components/logo/logo.scss +1 -0
- package/src/components/mark/README.md +17 -0
- package/src/components/mark/mark.scss +8 -0
- package/src/components/mega-menu/README.md +1 -0
- package/src/components/mega-menu/mega-menu.scss +14 -0
- package/src/components/ordered-list/README.md +5 -5
- package/src/components/overlap/README.md +3 -0
- package/src/components/overlap/overlap.scss +12 -0
- package/src/components/page-heading/README.md +10 -9
- package/src/components/page-menu/README.md +10 -9
- package/src/components/page-menu/page-menu.scss +2 -18
- package/src/components/pagination/README.md +13 -10
- package/src/components/paragraph/README.md +16 -14
- package/src/components/screen/README.md +12 -12
- package/src/components/search-field/README.md +33 -0
- package/src/components/search-field/search-field.scss +73 -0
- package/src/components/skip-link/README.md +26 -0
- package/src/components/skip-link/skip-link.scss +28 -0
- package/src/components/spotlight/README.md +15 -0
- package/src/components/spotlight/spotlight.scss +36 -0
- package/src/components/switch/README.md +11 -9
- package/src/components/table/README.md +11 -0
- package/src/components/table/table.scss +36 -0
- package/src/components/text-input/README.md +14 -0
- package/src/components/text-input/text-input.scss +57 -0
- package/src/components/top-task-link/README.md +15 -14
- package/src/components/unordered-list/README.md +5 -5
- package/src/components/visually-hidden/README.md +3 -2
- package/src/components/visually-hidden/visually-hidden.scss +4 -6
- package/dist/grid/grid-cell.css +0 -1
- package/dist/grid/grid-cell.css.map +0 -1
- package/dist/highlight/highlight.css +0 -1
- package/dist/highlight/highlight.css.map +0 -1
- package/src/components/button/button-css.md +0 -12
- package/src/components/checkbox/checkbox-css.md +0 -3
- package/src/components/footer/footer-css.md +0 -11
- package/src/components/grid/README.grid-cell.md +0 -14
- package/src/components/grid/README.grid.md +0 -17
- package/src/components/grid/grid-cell.scss +0 -46
- package/src/components/heading/heading-css.md +0 -3
- package/src/components/highlight/README.md +0 -15
- package/src/components/highlight/highlight.scss +0 -36
- package/src/components/paragraph/paragraph-css.md +0 -3
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Spotlight
|
|
2
|
+
|
|
3
|
+
Emphasizes a section on a page through a distinctive background colour.
|
|
4
|
+
|
|
5
|
+
## Guidelines
|
|
6
|
+
|
|
7
|
+
Refer to [this overview on Stijlweb](https://amsterdam.nl/stijlweb/basiselementen/kleuren/#PagCls_15671872) to determine whether you can use black or white text on the background colour of your choice.
|
|
8
|
+
|
|
9
|
+
## Relevant WCAG Requirements
|
|
10
|
+
|
|
11
|
+
- [WCAG 1.4.3](https://www.w3.org/TR/WCAG21/#contrast-minimum): Large-scale text and images of large-scale text have a contrast ratio of at least 3:1;
|
|
12
|
+
|
|
13
|
+
## References
|
|
14
|
+
|
|
15
|
+
- [Color and contrast accessibility](https://web.dev/articles/color-and-contrast-accessibility)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
.amsterdam-spotlight--blue {
|
|
7
|
+
background-color: var(--amsterdam-spotlight-blue-background-color);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.amsterdam-spotlight--dark-blue {
|
|
11
|
+
background-color: var(--amsterdam-spotlight-dark-blue-background-color);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.amsterdam-spotlight--dark-green {
|
|
15
|
+
background-color: var(--amsterdam-spotlight-dark-green-background-color);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.amsterdam-spotlight--green {
|
|
19
|
+
background-color: var(--amsterdam-spotlight-green-background-color);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.amsterdam-spotlight--magenta {
|
|
23
|
+
background-color: var(--amsterdam-spotlight-magenta-background-color);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.amsterdam-spotlight--orange {
|
|
27
|
+
background-color: var(--amsterdam-spotlight-orange-background-color);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.amsterdam-spotlight--purple {
|
|
31
|
+
background-color: var(--amsterdam-spotlight-purple-background-color);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.amsterdam-spotlight--yellow {
|
|
35
|
+
background-color: var(--amsterdam-spotlight-yellow-background-color);
|
|
36
|
+
}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
# Switch
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A switch is a control element to toggle between two different states quickly.
|
|
4
|
+
A switch applies to a page or the entire system, such as an on/off switch.
|
|
4
5
|
|
|
5
|
-
##
|
|
6
|
+
## Guidelines
|
|
6
7
|
|
|
7
|
-
-
|
|
8
|
-
|
|
9
|
-
-
|
|
8
|
+
- Switch only between two different states.
|
|
9
|
+
It is a binary action.
|
|
10
|
+
- Use labels with a switch to make the action clear.
|
|
11
|
+
- The action takes place immediately when the user operates the switch.
|
|
10
12
|
|
|
11
|
-
##
|
|
13
|
+
## Relevant WCAG Requirements
|
|
12
14
|
|
|
13
|
-
- [WCAG 1.3.5](https://www.w3.org/WAI/WCAG21/Understanding/identify-input-purpose.html):
|
|
15
|
+
- [WCAG 1.3.5](https://www.w3.org/WAI/WCAG21/Understanding/identify-input-purpose.html): it is both clear for a user and programmatically what the purpose of a form field is.
|
|
14
16
|
|
|
15
|
-
Switch is
|
|
17
|
+
The Switch is an interactive element; general requirements and guidelines for interactive elements apply [here](https://amsterdam.github.io/design-system/?path=/docs/docs-designrichtlijnen-interactieve-elementen--docs).
|
|
16
18
|
|
|
17
|
-
##
|
|
19
|
+
## References
|
|
18
20
|
|
|
19
21
|
- [Switch Pattern](https://www.w3.org/WAI/ARIA/apg/patterns/switch/)
|
|
20
22
|
- [Role switch](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/switch_role)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Table
|
|
2
|
+
|
|
3
|
+
Use the table component to let users compare information in rows and columns.
|
|
4
|
+
Table is used to display simple information that does not need to be filtered or edited.
|
|
5
|
+
|
|
6
|
+
## Guidelines
|
|
7
|
+
|
|
8
|
+
- Use `<Table.Caption>` to describe a table in the same way you would use a heading.
|
|
9
|
+
A caption helps users find, navigate and understand tables.
|
|
10
|
+
- Never use the table component to layout content on a page.
|
|
11
|
+
Instead, use [Grid](https://amsterdam.github.io/design-system/?path=/docs/react_layout-grid--docs).
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
.amsterdam-table {
|
|
7
|
+
overflow-x: auto;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.amsterdam-table__table {
|
|
11
|
+
border-spacing: 0;
|
|
12
|
+
break-inside: avoid;
|
|
13
|
+
color: var(--amsterdam-table-color);
|
|
14
|
+
font-family: var(--amsterdam-table-font-family);
|
|
15
|
+
font-size: var(--amsterdam-table-font-size);
|
|
16
|
+
font-weight: var(--amsterdam-table-font-weight);
|
|
17
|
+
line-height: var(--amsterdam-table-line-height);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.amsterdam-table__caption {
|
|
21
|
+
font-weight: var(--amsterdam-table-caption-font-weight);
|
|
22
|
+
text-align: start;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.amsterdam-table__cell,
|
|
26
|
+
.amsterdam-table__header-cell {
|
|
27
|
+
border-bottom: var(--amsterdam-table-cell-border-bottom);
|
|
28
|
+
padding-block: 1rem;
|
|
29
|
+
padding-inline: 1rem;
|
|
30
|
+
text-align: start;
|
|
31
|
+
vertical-align: top;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.amsterdam-table__header-cell {
|
|
35
|
+
font-weight: var(--amsterdam-table-header-cell-font-weight);
|
|
36
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Text Input
|
|
2
|
+
|
|
3
|
+
A form field in which a user can enter text.
|
|
4
|
+
|
|
5
|
+
## Guidelines
|
|
6
|
+
|
|
7
|
+
- Use a Text Input when users need to enter a single line of text, such as their name or phone number.
|
|
8
|
+
- Do not use a Text Input when users could provide more than 1 sentence of text.
|
|
9
|
+
- The width of the Text Input should be appropriate for the information to be entered.
|
|
10
|
+
- A Text Input must have a label, and in most cases, this label should be visible.
|
|
11
|
+
- Use `spellcheck="false"` for fields that may contain sensitive information, such as passwords and personal data.
|
|
12
|
+
Some browser extensions for spell-checking send this information to external servers.
|
|
13
|
+
- Apply automatic assistance where possible.
|
|
14
|
+
For example, in logged-in systems, pre-filling input can prevent errors and save time.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@mixin reset {
|
|
7
|
+
box-sizing: border-box;
|
|
8
|
+
margin-block: 0;
|
|
9
|
+
-webkit-text-size-adjust: 100%;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.amsterdam-text-input {
|
|
13
|
+
border: none;
|
|
14
|
+
box-shadow: var(--amsterdam-text-input-box-shadow);
|
|
15
|
+
color: var(--amsterdam-text-input-color);
|
|
16
|
+
font-family: var(--amsterdam-text-input-font-family);
|
|
17
|
+
font-size: var(--amsterdam-text-input-spacious-font-size);
|
|
18
|
+
font-weight: var(--amsterdam-text-input-font-weight);
|
|
19
|
+
line-height: var(--amsterdam-text-input-spacious-line-height);
|
|
20
|
+
outline-offset: var(--amsterdam-text-input-outline-offset);
|
|
21
|
+
padding-block: 0.5rem;
|
|
22
|
+
padding-inline: 1rem;
|
|
23
|
+
touch-action: manipulation;
|
|
24
|
+
width: 100%;
|
|
25
|
+
|
|
26
|
+
@include reset;
|
|
27
|
+
|
|
28
|
+
.amsterdam-theme--compact & {
|
|
29
|
+
font-size: var(--amsterdam-text-input-compact-font-size);
|
|
30
|
+
line-height: var(--amsterdam-text-input-compact-line-height);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&:hover {
|
|
34
|
+
box-shadow: var(--amsterdam-text-input-hover-box-shadow);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.amsterdam-text-input::placeholder {
|
|
39
|
+
color: var(--amsterdam-text-input-placeholder-color);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.amsterdam-text-input:disabled {
|
|
43
|
+
background-color: var(--amsterdam-text-input-disabled-background-color);
|
|
44
|
+
box-shadow: var(--amsterdam-text-input-disabled-box-shadow);
|
|
45
|
+
color: var(--amsterdam-text-input-disabled-color);
|
|
46
|
+
cursor: not-allowed;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.amsterdam-text-input:invalid,
|
|
50
|
+
.amsterdam-text-input[aria-invalid="true"] {
|
|
51
|
+
box-shadow: var(--amsterdam-text-input-invalid-box-shadow);
|
|
52
|
+
|
|
53
|
+
&:hover {
|
|
54
|
+
// TODO: this should be the (currently non-existent) dark red hover color
|
|
55
|
+
box-shadow: var(--amsterdam-text-input-invalid-hover-box-shadow);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
# Top Task Link
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A prominent navigation element to quickly start a task.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Guidelines
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
|
|
10
|
-
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
7
|
+
- A Top Task Link has both a title and a description.
|
|
8
|
+
- The title describes the essence of the page being referred to, attracting attention when scanning the page.
|
|
9
|
+
- The description provides more context, helping the user confirm that they can indeed achieve their goal on the linked page.
|
|
10
|
+
- Keep both texts concise.
|
|
11
|
+
A title consists of a few words, and the description consists of 1 or 2 short sentences.
|
|
12
|
+
The description should end with a period or another appropriate punctuation mark.
|
|
13
|
+
- For wide windows, place 3 or 4 Top Task Links side by side on the [Grid](?path=/docs/react_layout-grid--docs).
|
|
14
|
+
If you have more Top Task Links, place them in the next row.
|
|
15
|
+
Try to distribute the amount of links on wide windows over rows of 3 or 4 links.
|
|
16
|
+
If this is not possible, leave the last cells of the grid empty.
|
|
17
|
+
- If you have a group of links for which a description is unnecessary or illogical, use a [Link List](?path=/docs/react_navigation-link--docs).
|
|
17
18
|
|
|
18
|
-
##
|
|
19
|
+
## Relevant WCAG requirements
|
|
19
20
|
|
|
20
|
-
|
|
21
|
+
The Top Task Link is subject to the same requirements as [regular links](https://amsterdam.github.io/design-system/?path=/docs/react_navigation-link--docs).
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Unordered List
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
A list is a vertical group of related content.
|
|
4
|
+
This list can have 2 levels.
|
|
5
|
+
The first level consists of squares.
|
|
6
|
+
The second level consists of en dashes (–).
|
|
7
|
+
Text in the list items is indented by a fixed distance.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# Visually Hidden
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Hides content from sighted users but keeps it accessible to non-visual user agents, such as screen readers.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Note: in most cases, visually available content should be accessible to non-visual user agents and vice versa.
|
|
6
|
+
Elaborate instructions or guidance read only by non-visual user agents can do more harm than good.
|
|
@@ -3,15 +3,13 @@
|
|
|
3
3
|
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
.
|
|
7
|
-
|
|
6
|
+
// Source: https://css-tricks.com/inclusively-hidden/
|
|
7
|
+
.amsterdam-visually-hidden:not(:active, :focus) {
|
|
8
|
+
clip: rect(0 0 0 0);
|
|
8
9
|
clip-path: inset(50%);
|
|
9
10
|
height: 1px;
|
|
10
|
-
margin-block: -1px;
|
|
11
|
-
margin-inline: -1px;
|
|
12
11
|
overflow: hidden;
|
|
13
|
-
padding-block: 0;
|
|
14
|
-
padding-inline: 0;
|
|
15
12
|
position: absolute;
|
|
13
|
+
white-space: nowrap;
|
|
16
14
|
width: 1px;
|
|
17
15
|
}
|
package/dist/grid/grid-cell.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.amsterdam-grid-cell--full-width{grid-column:1/-1}.amsterdam-grid-cell--span-1{grid-column-end:span 1}.amsterdam-grid-cell--start-1{grid-column-start:1}.amsterdam-grid-cell--span-2{grid-column-end:span 2}.amsterdam-grid-cell--start-2{grid-column-start:2}.amsterdam-grid-cell--span-3{grid-column-end:span 3}.amsterdam-grid-cell--start-3{grid-column-start:3}.amsterdam-grid-cell--span-4{grid-column-end:span 4}.amsterdam-grid-cell--start-4{grid-column-start:4}.amsterdam-grid-cell--span-5{grid-column-end:span 5}.amsterdam-grid-cell--start-5{grid-column-start:5}.amsterdam-grid-cell--span-6{grid-column-end:span 6}.amsterdam-grid-cell--start-6{grid-column-start:6}.amsterdam-grid-cell--span-7{grid-column-end:span 7}.amsterdam-grid-cell--start-7{grid-column-start:7}.amsterdam-grid-cell--span-8{grid-column-end:span 8}.amsterdam-grid-cell--start-8{grid-column-start:8}.amsterdam-grid-cell--span-9{grid-column-end:span 9}.amsterdam-grid-cell--start-9{grid-column-start:9}.amsterdam-grid-cell--span-10{grid-column-end:span 10}.amsterdam-grid-cell--start-10{grid-column-start:10}.amsterdam-grid-cell--span-11{grid-column-end:span 11}.amsterdam-grid-cell--start-11{grid-column-start:11}.amsterdam-grid-cell--span-12{grid-column-end:span 12}.amsterdam-grid-cell--start-12{grid-column-start:12}@media screen and (min-width: 36rem){.amsterdam-grid-cell--span-1-medium{grid-column-end:span 1}.amsterdam-grid-cell--start-1-medium{grid-column-start:1}.amsterdam-grid-cell--span-2-medium{grid-column-end:span 2}.amsterdam-grid-cell--start-2-medium{grid-column-start:2}.amsterdam-grid-cell--span-3-medium{grid-column-end:span 3}.amsterdam-grid-cell--start-3-medium{grid-column-start:3}.amsterdam-grid-cell--span-4-medium{grid-column-end:span 4}.amsterdam-grid-cell--start-4-medium{grid-column-start:4}.amsterdam-grid-cell--span-5-medium{grid-column-end:span 5}.amsterdam-grid-cell--start-5-medium{grid-column-start:5}.amsterdam-grid-cell--span-6-medium{grid-column-end:span 6}.amsterdam-grid-cell--start-6-medium{grid-column-start:6}.amsterdam-grid-cell--span-7-medium{grid-column-end:span 7}.amsterdam-grid-cell--start-7-medium{grid-column-start:7}.amsterdam-grid-cell--span-8-medium{grid-column-end:span 8}.amsterdam-grid-cell--start-8-medium{grid-column-start:8}.amsterdam-grid-cell--span-9-medium{grid-column-end:span 9}.amsterdam-grid-cell--start-9-medium{grid-column-start:9}.amsterdam-grid-cell--span-10-medium{grid-column-end:span 10}.amsterdam-grid-cell--start-10-medium{grid-column-start:10}.amsterdam-grid-cell--span-11-medium{grid-column-end:span 11}.amsterdam-grid-cell--start-11-medium{grid-column-start:11}.amsterdam-grid-cell--span-12-medium{grid-column-end:span 12}.amsterdam-grid-cell--start-12-medium{grid-column-start:12}}@media screen and (min-width: 68rem){.amsterdam-grid-cell--span-1-wide{grid-column-end:span 1}.amsterdam-grid-cell--start-1-wide{grid-column-start:1}.amsterdam-grid-cell--span-2-wide{grid-column-end:span 2}.amsterdam-grid-cell--start-2-wide{grid-column-start:2}.amsterdam-grid-cell--span-3-wide{grid-column-end:span 3}.amsterdam-grid-cell--start-3-wide{grid-column-start:3}.amsterdam-grid-cell--span-4-wide{grid-column-end:span 4}.amsterdam-grid-cell--start-4-wide{grid-column-start:4}.amsterdam-grid-cell--span-5-wide{grid-column-end:span 5}.amsterdam-grid-cell--start-5-wide{grid-column-start:5}.amsterdam-grid-cell--span-6-wide{grid-column-end:span 6}.amsterdam-grid-cell--start-6-wide{grid-column-start:6}.amsterdam-grid-cell--span-7-wide{grid-column-end:span 7}.amsterdam-grid-cell--start-7-wide{grid-column-start:7}.amsterdam-grid-cell--span-8-wide{grid-column-end:span 8}.amsterdam-grid-cell--start-8-wide{grid-column-start:8}.amsterdam-grid-cell--span-9-wide{grid-column-end:span 9}.amsterdam-grid-cell--start-9-wide{grid-column-start:9}.amsterdam-grid-cell--span-10-wide{grid-column-end:span 10}.amsterdam-grid-cell--start-10-wide{grid-column-start:10}.amsterdam-grid-cell--span-11-wide{grid-column-end:span 11}.amsterdam-grid-cell--start-11-wide{grid-column-start:11}.amsterdam-grid-cell--span-12-wide{grid-column-end:span 12}.amsterdam-grid-cell--start-12-wide{grid-column-start:12}}/*# sourceMappingURL=grid-cell.css.map */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../src/components/grid/grid-cell.scss"],"names":[],"mappings":"AAOA,iCACE,iBAMA,6BACE,uBAGF,8BACE,kBANS,EACX,6BACE,uBAGF,8BACE,kBANS,EACX,6BACE,uBAGF,8BACE,kBANS,EACX,6BACE,uBAGF,8BACE,kBANS,EACX,6BACE,uBAGF,8BACE,kBANS,EACX,6BACE,uBAGF,8BACE,kBANS,EACX,6BACE,uBAGF,8BACE,kBANS,EACX,6BACE,uBAGF,8BACE,kBANS,EACX,6BACE,uBAGF,8BACE,kBANS,EACX,8BACE,wBAGF,+BACE,kBANS,GACX,8BACE,wBAGF,+BACE,kBANS,GACX,8BACE,wBAGF,+BACE,kBANS,GAUb,qCAEI,oCACE,uBAGF,qCACE,kBANS,EACX,oCACE,uBAGF,qCACE,kBANS,EACX,oCACE,uBAGF,qCACE,kBANS,EACX,oCACE,uBAGF,qCACE,kBANS,EACX,oCACE,uBAGF,qCACE,kBANS,EACX,oCACE,uBAGF,qCACE,kBANS,EACX,oCACE,uBAGF,qCACE,kBANS,EACX,oCACE,uBAGF,qCACE,kBANS,EACX,oCACE,uBAGF,qCACE,kBANS,EACX,qCACE,wBAGF,sCACE,kBANS,GACX,qCACE,wBAGF,sCACE,kBANS,GACX,qCACE,wBAGF,sCACE,kBANS,IAWf,qCAEI,kCACE,uBAGF,mCACE,kBANS,EACX,kCACE,uBAGF,mCACE,kBANS,EACX,kCACE,uBAGF,mCACE,kBANS,EACX,kCACE,uBAGF,mCACE,kBANS,EACX,kCACE,uBAGF,mCACE,kBANS,EACX,kCACE,uBAGF,mCACE,kBANS,EACX,kCACE,uBAGF,mCACE,kBANS,EACX,kCACE,uBAGF,mCACE,kBANS,EACX,kCACE,uBAGF,mCACE,kBANS,EACX,mCACE,wBAGF,oCACE,kBANS,GACX,mCACE,wBAGF,oCACE,kBANS,GACX,mCACE,wBAGF,oCACE,kBANS","file":"grid-cell.css"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.amsterdam-highlight--blue{background-color:var(--amsterdam-highlight-blue-background-color)}.amsterdam-highlight--dark-green{background-color:var(--amsterdam-highlight-dark-green-background-color)}.amsterdam-highlight--green{background-color:var(--amsterdam-highlight-green-background-color)}.amsterdam-highlight--light-blue{background-color:var(--amsterdam-highlight-light-blue-background-color)}.amsterdam-highlight--magenta{background-color:var(--amsterdam-highlight-magenta-background-color)}.amsterdam-highlight--orange{background-color:var(--amsterdam-highlight-orange-background-color)}.amsterdam-highlight--purple{background-color:var(--amsterdam-highlight-purple-background-color)}.amsterdam-highlight--yellow{background-color:var(--amsterdam-highlight-yellow-background-color)}/*# sourceMappingURL=highlight.css.map */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../src/components/highlight/highlight.scss"],"names":[],"mappings":"AAKA,2BACE,kEAGF,iCACE,wEAGF,4BACE,mEAGF,iCACE,wEAGF,8BACE,qEAGF,6BACE,oEAGF,6BACE,oEAGF,6BACE","file":"highlight.css"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# CSS Button
|
|
2
|
-
|
|
3
|
-
Het button component maakt gebruik van de CSS library van de gemeente Utrecht. Daarop is het Amsterdam Design toegepast. Concreet betekent dit dat de Utrecht class names worden gebruikt met de Amsterdamse css attribuut waarden.
|
|
4
|
-
Een voorbeeld van een HTML button met de Amsterdamse styling is:
|
|
5
|
-
|
|
6
|
-
```html
|
|
7
|
-
<button class="utrecht-button">Amsterdam Button</button>
|
|
8
|
-
```
|
|
9
|
-
|
|
10
|
-
Deze button wordt getoond met de Amsterdamse button styling.
|
|
11
|
-
|
|
12
|
-
Vedere documentatie van de Utrecht button is terug te vinden in hun [github](https://github.com/nl-design-system/utrecht/tree/main/components/button) repository.
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
# CSS Footer
|
|
2
|
-
|
|
3
|
-
Gebruik het `footer` element als buitenste container van de footer.
|
|
4
|
-
|
|
5
|
-
De voettekst is blauw met witte tekst en iconen, met onderaan een witte balk. Op desktop heeft het blauwe deel van de voettekst 3 kolommen. Op mobiel heeft het blauwe deel van de voettekst 1 kolom. Kolom 1, 2 en 3 van de desktop staan dan onder elkaar.
|
|
6
|
-
|
|
7
|
-
De functionaliteit op desktop en mobiel is gelijk.
|
|
8
|
-
|
|
9
|
-
De hoogte wordt bepaald door de content. De breedte van de voettekst op desktop is niet schermvullend.
|
|
10
|
-
|
|
11
|
-
De voettekst wordt nooit ingeklapt. Ook niet in mobiele weergave.
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# Grid cell
|
|
2
|
-
|
|
3
|
-
Beslaat een aantal kolommen in een [Grid](?path=/docs/react_layout-grid--docs).
|
|
4
|
-
|
|
5
|
-
## Gebruik
|
|
6
|
-
|
|
7
|
-
Verdeel hiermee een grid in cellen.
|
|
8
|
-
Geef aan hoeveel kolommen van het grid de cel beslaat.
|
|
9
|
-
Dat aantal kan variëren voor smalle, middelbrede of brede schermen.
|
|
10
|
-
In elke cel plaats je vervolgens de gewenste inhoud.
|
|
11
|
-
|
|
12
|
-
## Ontwerp
|
|
13
|
-
|
|
14
|
-
De [ontwerpkeuzes](?path=/docs/docs-designrichtlijnen-grid--docs) staan beschreven onder de designrichtlijnen.
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# Grid
|
|
2
|
-
|
|
3
|
-
Levert een tweedimensionaal raster waarop alle elementen van een pagina uitgelijnd worden.
|
|
4
|
-
|
|
5
|
-
## Gebruik
|
|
6
|
-
|
|
7
|
-
Elke pagina moet het grid gebruiken als basis voor de layout, dus direct binnen [Screen](?path=/docs/layout-screen--docs).
|
|
8
|
-
|
|
9
|
-
Een [Footer](?path=/docs/react_containers-footer--docs) en een [Highlight](?path=/docs/react_containers-highlight--docs) zijn iets breder dan het grid.
|
|
10
|
-
Daarom wordt in HTML vóór deze componenten een instantie van Grid afgesloten en erbinnen een nieuwe geopend.
|
|
11
|
-
|
|
12
|
-
Meerdere instanties van dit component zijn dus mogelijk op een pagina.
|
|
13
|
-
Visueel moeten ze wel allemaal op elkaar aansluiten.
|
|
14
|
-
|
|
15
|
-
## Ontwerp
|
|
16
|
-
|
|
17
|
-
De [ontwerpkeuzes](?path=/docs/docs-designrichtlijnen-grid--docs) staan beschreven onder de designrichtlijnen.
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license EUPL-1.2+
|
|
3
|
-
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
@import "../../common/breakpoint";
|
|
7
|
-
|
|
8
|
-
.amsterdam-grid-cell--full-width {
|
|
9
|
-
grid-column: 1 / -1;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
// The order of the following declaration blocks ensures the intended specificity.
|
|
13
|
-
|
|
14
|
-
@for $i from 1 through 12 {
|
|
15
|
-
.amsterdam-grid-cell--span-#{$i} {
|
|
16
|
-
grid-column-end: span $i;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.amsterdam-grid-cell--start-#{$i} {
|
|
20
|
-
grid-column-start: $i;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
@media screen and (min-width: $amsterdam-breakpoint-medium) {
|
|
25
|
-
@for $i from 1 through 12 {
|
|
26
|
-
.amsterdam-grid-cell--span-#{$i}-medium {
|
|
27
|
-
grid-column-end: span $i;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.amsterdam-grid-cell--start-#{$i}-medium {
|
|
31
|
-
grid-column-start: $i;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
@media screen and (min-width: $amsterdam-breakpoint-wide) {
|
|
37
|
-
@for $i from 1 through 12 {
|
|
38
|
-
.amsterdam-grid-cell--span-#{$i}-wide {
|
|
39
|
-
grid-column-end: span $i;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.amsterdam-grid-cell--start-#{$i}-wide {
|
|
43
|
-
grid-column-start: $i;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
# CSS Heading
|
|
2
|
-
|
|
3
|
-
Gebruik de juiste heading HTML-elementen als je van deze classes gebruik maakt. De beschikbare elementen zijn: `h1`, `h2`, `h3`, `h4`, `h5` en `h6`. Let bij het kiezen van een heading niveau op de structuur van de pagina. Heading niveaus worden gebruikt om informatie te groeperen. De titel van de pagina krijgt een `h1`. De eerste subtitel een `h2`. De daarna volgende titels van secties die horen bij die subtitel krijgen een `h3`, enzovoort. Als je een nieuwe sectie begint, gebruik je weer een `h2`. Het is toegestaan om stijl en semantiek los van elkaar te trekken. Een `h1` kan bijvoorbeeld de class `amsterdam-heading-2` krijgen.
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# Highlight
|
|
2
|
-
|
|
3
|
-
Benadrukt een sectie op een pagina middels een opvallende achtergrondkleur.
|
|
4
|
-
|
|
5
|
-
## Richtlijnen
|
|
6
|
-
|
|
7
|
-
Raadpleeg [dit overzicht op Stijlweb](https://amsterdam.nl/stijlweb/basiselementen/kleuren/#PagCls_15671872) om na te gaan of je zwarte of witte tekst kunt gebruiken op de achtergrondkleur van je keuze.
|
|
8
|
-
|
|
9
|
-
## Relevante WCAG eisen
|
|
10
|
-
|
|
11
|
-
- [WCAG 1.4.3](https://www.w3.org/TR/WCAG21/#contrast-minimum): Large-scale text and images of large-scale text have a contrast ratio of at least 3:1;
|
|
12
|
-
|
|
13
|
-
## Referenties
|
|
14
|
-
|
|
15
|
-
- [Color and contrast accessibility](https://web.dev/articles/color-and-contrast-accessibility)
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license EUPL-1.2+
|
|
3
|
-
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
.amsterdam-highlight--blue {
|
|
7
|
-
background-color: var(--amsterdam-highlight-blue-background-color);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.amsterdam-highlight--dark-green {
|
|
11
|
-
background-color: var(--amsterdam-highlight-dark-green-background-color);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.amsterdam-highlight--green {
|
|
15
|
-
background-color: var(--amsterdam-highlight-green-background-color);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
.amsterdam-highlight--light-blue {
|
|
19
|
-
background-color: var(--amsterdam-highlight-light-blue-background-color);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.amsterdam-highlight--magenta {
|
|
23
|
-
background-color: var(--amsterdam-highlight-magenta-background-color);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.amsterdam-highlight--orange {
|
|
27
|
-
background-color: var(--amsterdam-highlight-orange-background-color);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.amsterdam-highlight--purple {
|
|
31
|
-
background-color: var(--amsterdam-highlight-purple-background-color);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.amsterdam-highlight--yellow {
|
|
35
|
-
background-color: var(--amsterdam-highlight-yellow-background-color);
|
|
36
|
-
}
|