@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.
Files changed (111) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +21 -0
  3. package/dist/accordion/accordion.css +1 -1
  4. package/dist/accordion/accordion.css.map +1 -1
  5. package/dist/avatar/avatar.css +1 -0
  6. package/dist/avatar/avatar.css.map +1 -0
  7. package/dist/blockquote/blockquote.css +1 -1
  8. package/dist/blockquote/blockquote.css.map +1 -1
  9. package/dist/breadcrumb/breadcrumb.css +1 -1
  10. package/dist/breadcrumb/breadcrumb.css.map +1 -1
  11. package/dist/button/button.css +1 -1
  12. package/dist/button/button.css.map +1 -1
  13. package/dist/checkbox/checkbox.css +1 -1
  14. package/dist/checkbox/checkbox.css.map +1 -1
  15. package/dist/date-input/date-input.css +1 -0
  16. package/dist/date-input/date-input.css.map +1 -0
  17. package/dist/description-list/description-list.css +1 -0
  18. package/dist/description-list/description-list.css.map +1 -0
  19. package/dist/dialog/dialog.css +1 -1
  20. package/dist/dialog/dialog.css.map +1 -1
  21. package/dist/document/document.css +1 -0
  22. package/dist/document/document.css.map +1 -0
  23. package/dist/fieldset/fieldset.css +1 -1
  24. package/dist/fieldset/fieldset.css.map +1 -1
  25. package/dist/form-field-character-counter/form-field-character-counter.css +1 -0
  26. package/dist/form-field-character-counter/form-field-character-counter.css.map +1 -0
  27. package/dist/heading/heading.css +1 -1
  28. package/dist/heading/heading.css.map +1 -1
  29. package/dist/index.css +1 -1
  30. package/dist/index.css.map +1 -1
  31. package/dist/label/label.css +1 -0
  32. package/dist/label/label.css.map +1 -0
  33. package/dist/link/link.css +1 -1
  34. package/dist/link/link.css.map +1 -1
  35. package/dist/link-list/link-list.css +1 -1
  36. package/dist/link-list/link-list.css.map +1 -1
  37. package/dist/ordered-list/ordered-list.css +1 -1
  38. package/dist/ordered-list/ordered-list.css.map +1 -1
  39. package/dist/page-heading/page-heading.css +1 -1
  40. package/dist/page-heading/page-heading.css.map +1 -1
  41. package/dist/page-menu/page-menu.css +1 -1
  42. package/dist/page-menu/page-menu.css.map +1 -1
  43. package/dist/pagination/pagination.css +1 -1
  44. package/dist/pagination/pagination.css.map +1 -1
  45. package/dist/paragraph/paragraph.css +1 -1
  46. package/dist/paragraph/paragraph.css.map +1 -1
  47. package/dist/radio/radio.css +1 -1
  48. package/dist/radio/radio.css.map +1 -1
  49. package/dist/screen/screen.css +1 -1
  50. package/dist/screen/screen.css.map +1 -1
  51. package/dist/search-field/search-field.css +1 -1
  52. package/dist/search-field/search-field.css.map +1 -1
  53. package/dist/select/select.css +1 -0
  54. package/dist/select/select.css.map +1 -0
  55. package/dist/tabs/tabs.css +1 -1
  56. package/dist/tabs/tabs.css.map +1 -1
  57. package/dist/text-area/text-area.css +1 -1
  58. package/dist/text-area/text-area.css.map +1 -1
  59. package/dist/text-input/text-input.css +1 -1
  60. package/dist/text-input/text-input.css.map +1 -1
  61. package/dist/time-input/time-input.css +1 -0
  62. package/dist/time-input/time-input.css.map +1 -0
  63. package/dist/top-task-link/top-task-link.css +1 -1
  64. package/dist/top-task-link/top-task-link.css.map +1 -1
  65. package/dist/unordered-list/unordered-list.css +1 -1
  66. package/dist/unordered-list/unordered-list.css.map +1 -1
  67. package/documentation/coding-conventions.md +6 -0
  68. package/package.json +3 -6
  69. package/src/common/text-rendering.scss +15 -0
  70. package/src/components/accordion/accordion.scss +22 -14
  71. package/src/components/avatar/README.md +15 -0
  72. package/src/components/avatar/avatar.scss +74 -0
  73. package/src/components/blockquote/blockquote.scss +2 -1
  74. package/src/components/breadcrumb/breadcrumb.scss +3 -1
  75. package/src/components/button/button.scss +7 -5
  76. package/src/components/checkbox/checkbox.scss +8 -11
  77. package/src/components/date-input/README.md +11 -0
  78. package/src/components/date-input/date-input.scss +78 -0
  79. package/src/components/description-list/README.md +18 -0
  80. package/src/components/description-list/description-list.scss +55 -0
  81. package/src/components/dialog/dialog.scss +1 -17
  82. package/src/components/document/document.scss +14 -0
  83. package/src/components/fieldset/fieldset.scss +5 -4
  84. package/src/components/form-field-character-counter/README.md +19 -0
  85. package/src/components/form-field-character-counter/form-field-character-counter.scss +20 -0
  86. package/src/components/heading/heading.scss +2 -1
  87. package/src/components/index.scss +8 -1
  88. package/src/components/{form-label → label}/README.md +1 -1
  89. package/src/components/label/label.scss +18 -0
  90. package/src/components/link/link.scss +2 -4
  91. package/src/components/link-list/link-list.scss +4 -3
  92. package/src/components/ordered-list/ordered-list.scss +5 -3
  93. package/src/components/page-heading/page-heading.scss +2 -1
  94. package/src/components/page-menu/page-menu.scss +8 -1
  95. package/src/components/pagination/pagination.scss +8 -5
  96. package/src/components/paragraph/paragraph.scss +3 -1
  97. package/src/components/radio/radio.scss +5 -8
  98. package/src/components/screen/screen.scss +6 -1
  99. package/src/components/search-field/search-field.scss +21 -5
  100. package/src/components/select/README.md +9 -0
  101. package/src/components/select/select.scss +60 -0
  102. package/src/components/tabs/tabs.scss +8 -2
  103. package/src/components/text-area/text-area.scss +5 -2
  104. package/src/components/text-input/text-input.scss +5 -2
  105. package/src/components/time-input/README.md +11 -0
  106. package/src/components/time-input/time-input.scss +79 -0
  107. package/src/components/top-task-link/top-task-link.scss +2 -1
  108. package/src/components/unordered-list/unordered-list.scss +5 -3
  109. package/dist/form-label/form-label.css +0 -1
  110. package/dist/form-label/form-label.css.map +0 -1
  111. package/src/components/form-label/form-label.scss +0 -21
@@ -3,12 +3,13 @@
3
3
  * Copyright Gemeente Amsterdam
4
4
  */
5
5
 
6
- @mixin reset {
7
- -webkit-text-size-adjust: 100%;
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 reset;
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: 2px solid ButtonBorder; // add border because forced colors changes box-shadow to none
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: 0.125rem;
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: 0.125rem;
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: 0.1875rem;
55
+ border-width: var(--ams-checkbox-checkmark-hover-border-width);
59
56
  }
60
57
  }
61
58
 
62
- @include reset;
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: none;
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: none;
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: 0.125rem;
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: none;
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-reset {
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 legend-reset;
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 "./form-label/form-label";
45
+ @import "./label/label";
39
46
  @import "./grid/grid";
40
47
  @import "./heading/heading";
41
48
  @import "./spotlight/spotlight";
@@ -1,6 +1,6 @@
1
1
  <!-- @license CC0-1.0 -->
2
2
 
3
- # Form Label
3
+ # Label
4
4
 
5
5
  Describes a form control.
6
6
 
@@ -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
- @mixin reset {
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 reset;
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
- @mixin list-reset {
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-reset;
24
+ @include reset-list;
23
25
  }
24
26
 
25
- @mixin button-reset {
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-reset;
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