dso-toolkit 93.0.0 → 94.0.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 (63) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +9 -15
  3. package/dist/dso.css +53 -338
  4. package/dist/dso.css.map +1 -1
  5. package/dist/dso.min.css +1 -1
  6. package/dist/dso.min.css.map +1 -1
  7. package/package.json +5 -4
  8. package/src/components/button/button.mixins.scss +5 -2
  9. package/src/components/button/button.scss +2 -1
  10. package/src/components/delete/delete.mixins.scss +2 -2
  11. package/src/components/insert/insert.mixins.scss +1 -1
  12. package/src/components/link/link.mixins.scss +1 -0
  13. package/src/dso.scss +0 -1
  14. package/src/components/action-list/readme.md +0 -1
  15. package/src/components/alert/readme.md +0 -5
  16. package/src/components/application-heading/readme.md +0 -5
  17. package/src/components/attachments-counter/readme.md +0 -5
  18. package/src/components/badge/readme.md +0 -5
  19. package/src/components/banner/readme.md +0 -1
  20. package/src/components/breadcrumbs/readme.md +0 -1
  21. package/src/components/button/readme.md +0 -10
  22. package/src/components/button-row/readme.md +0 -1
  23. package/src/components/card/readme.md +0 -3
  24. package/src/components/card-grid/readme.md +0 -1
  25. package/src/components/card-list/readme.md +0 -1
  26. package/src/components/context/readme.md +0 -1
  27. package/src/components/definition-list/readme.md +0 -1
  28. package/src/components/description/readme.md +0 -1
  29. package/src/components/document-header/readme.md +0 -10
  30. package/src/components/dropdown-menu/readme.md +0 -45
  31. package/src/components/expandable/readme.md +0 -1
  32. package/src/components/footer/readme.md +0 -1
  33. package/src/components/footnotes/readme.md +0 -1
  34. package/src/components/form/readme.md +0 -40
  35. package/src/components/form-buttons/readme.md +0 -1
  36. package/src/components/form-group/readme.md +0 -40
  37. package/src/components/highlight-box/readme.md +0 -1
  38. package/src/components/image/readme.md +0 -1
  39. package/src/components/info/readme.md +0 -3
  40. package/src/components/info-button/readme.md +0 -3
  41. package/src/components/justify-form-groups/readme.md +0 -5
  42. package/src/components/label/readme.md +0 -7
  43. package/src/components/label-group/readme.md +0 -1
  44. package/src/components/link/readme.md +0 -5
  45. package/src/components/link-list/readme.md +0 -1
  46. package/src/components/list/readme.md +0 -8
  47. package/src/components/list-button/readme.md +0 -1
  48. package/src/components/modal/_index.scss +0 -2
  49. package/src/components/modal/modal.mixins.scss +0 -249
  50. package/src/components/modal/modal.scss +0 -63
  51. package/src/components/modal/modal.variables.scss +0 -23
  52. package/src/components/modal/readme.md +0 -3
  53. package/src/components/navbar/readme.md +0 -1
  54. package/src/components/paragraph/readme.md +0 -1
  55. package/src/components/progress-indicator/readme.md +0 -6
  56. package/src/components/rich-content/readme.md +0 -1
  57. package/src/components/row-equal-heights/readme.md +0 -1
  58. package/src/components/scrollable/readme.md +0 -0
  59. package/src/components/search-bar/readme.md +0 -1
  60. package/src/components/shopping-cart/readme.md +0 -1
  61. package/src/components/tabs/readme.md +0 -17
  62. package/src/components/tile/readme.md +0 -1
  63. package/src/components/tile-grid/readme.md +0 -1
@@ -1,40 +0,0 @@
1
- # `.form, form, .dso-section-body`
2
-
3
- ## `.form-group`
4
-
5
- Een formulier bestaat uit Form Group. Elke veld/werkvorm heeft z'n eigen `.form-group`.
6
-
7
- Als de gebruiker een ongeldige waarde invoert moet er `.dso-invalid` op `.form-group` worden geplaatst:
8
-
9
- ```html
10
- <div class="form-group dso-*** dso-invalid">[...]</div>
11
- ```
12
-
13
- Als het formulier daarna weer geldig wordt gemaakt moet de `.dso-invalid` class vervangen worden door `.dso-valid`:
14
-
15
- ```html
16
- <div class="form-group dso-*** dso-valid">[...]</div>
17
- ```
18
-
19
- ### `.form-group.dso-input`
20
-
21
- Dit is een standaard invoerveld (`<input>`). Dit veld wordt gekoppeld aan een `<label>`.
22
-
23
- - Gebruik `type="email"` voor het automatisch valideren van een e-mailadres.
24
- - Gebruik `type="password"` voor wachtwoorden.
25
- - Gebruik `type="url"` voor het invoeren van URLs.
26
- - Gebruik `type="tel"` voor het invoeren van een telefoonnummer.
27
- - Gebruik **niet** `type="date"` maar het Web Component "Date Picker".
28
-
29
- ### `.form-group.dso-checkboxes`
30
-
31
- Een Form Group "checkboxes" is een `fieldset` element in plaats van een `div`:
32
-
33
- ```html
34
- <fieldset class="form-group dso-checkboxes"></fieldset>
35
- ```
36
-
37
- ### `.form-group.dso-files`
38
-
39
- Als er geen bestanden zijn geüpload in een Form Group "files" dan wordt er geen "lege" unordered list `dso-filelist` in het formulier geplaatst.
40
- Pas na de eerste upload is er een `ul` met 1 `li`st-item in het formulier aanwezig.
@@ -1 +0,0 @@
1
- # `.dso-button-row`
@@ -1,40 +0,0 @@
1
- # `.form, form, .dso-section-body`
2
-
3
- ## `.form-group`
4
-
5
- Een formulier bestaat uit Form Group. Elke veld/werkvorm heeft z'n eigen `.form-group`.
6
-
7
- Als de gebruiker een ongeldige waarde invoert moet er `.dso-invalid` op `.form-group` worden geplaatst:
8
-
9
- ```html
10
- <div class="form-group dso-*** dso-invalid">[...]</div>
11
- ```
12
-
13
- Als het formulier daarna weer geldig wordt gemaakt moet de `.dso-invalid` class vervangen worden door `.dso-valid`:
14
-
15
- ```html
16
- <div class="form-group dso-*** dso-valid">[...]</div>
17
- ```
18
-
19
- ### `.form-group.dso-input`
20
-
21
- Dit is een standaard invoerveld (`<input>`). Dit veld wordt gekoppeld aan een `<label>`.
22
-
23
- - Gebruik `type="email"` voor het automatisch valideren van een e-mailadres.
24
- - Gebruik `type="password"` voor wachtwoorden.
25
- - Gebruik `type="url"` voor het invoeren van URLs.
26
- - Gebruik `type="tel"` voor het invoeren van een telefoonnummer.
27
- - Gebruik **niet** `type="date"` maar het Web Component "Date Picker".
28
-
29
- ### `.form-group.dso-checkboxes`
30
-
31
- Een Form Group "checkboxes" is een `fieldset` element in plaats van een `div`:
32
-
33
- ```html
34
- <fieldset class="form-group dso-checkboxes"></fieldset>
35
- ```
36
-
37
- ### `.form-group.dso-files`
38
-
39
- Als er geen bestanden zijn geüpload in een Form Group "files" dan wordt er geen "lege" unordered list `dso-filelist` in het formulier geplaatst.
40
- Pas na de eerste upload is er een `ul` met 1 `li`st-item in het formulier aanwezig.
@@ -1 +0,0 @@
1
- # `.dso-highlight-box`
@@ -1 +0,0 @@
1
- # `.img-responsive`, `.img-circle`
@@ -1,3 +0,0 @@
1
- # `.dso-info:not(.dso-accordion-section)`
2
-
3
- The specific selector is because `.dso-info` is also used as a modifier class.
@@ -1,3 +0,0 @@
1
- # `.dso-info-button`
2
-
3
- De class `.dso-info-open` (bij getoonde toelichting) maakt de button groen.
@@ -1,5 +0,0 @@
1
- # `.dso-justify-form-groups`
2
-
3
- ## **Let op!**
4
-
5
- Bij justify-form-groups moet het aantal velden opgegeven worden als extra classname: `.form-groups-n`, waarbij `n` moet worden vervangen met het aantal `.form-group` velden er in het `.dso-justify-form-groups` staan. Maximaal kan dit **3** zijn, `.dso-form-buttons` wordt hierbij niet meegeteld.
@@ -1,7 +0,0 @@
1
- # `.dso-label`
2
-
3
- **Let op**: In de `.sr-only` moet _na_ de dubbele punt (:) een whitespace staan.
4
-
5
- Deze staat nu niet in de markup voorschriften maar wordt wel gerendered in het DOM. Dit is een bug in een Storybook plugin. Zie #1163 voor meer informatie.
6
-
7
- De hover state voor het Web Component is onderdeel van de werkvorm, voor de CSS versie moet deze door developers worden geimplementeerd dmv. class `.dso-label-hover` op de `<span class="dso-label">`;
@@ -1 +0,0 @@
1
- # `.dso-label-group`
@@ -1,5 +0,0 @@
1
- # `a`
2
-
3
- ## Technische opmerkingen
4
-
5
- Plaats bij gebruik van de "Link With Icon"-variant de tekst in een `<span>text hier</span>` om de afstand tot het icoon te creëren.
@@ -1 +0,0 @@
1
- # `.dso-link-list`
@@ -1,8 +0,0 @@
1
- # `ul`, `ol`, `.list-group`, `ul.dso-columns-list`, `ol.dso-columns-list`, `ol.dso-list-ordered-action`, `ol.dso-action-list`, `ul.dso-action-list`
2
-
3
- ## Status
4
-
5
- Een List Item (`<li>`) kan een status hebben. Een status bestaat uit een icon en een toelichting. De status wordt met een modifier class op het List Item gezet.
6
-
7
- - Forbidden (`dso-forbidden`)
8
- - Status Warning (`dso-status-warning`)
@@ -1 +0,0 @@
1
- # `.dso-list-button`
@@ -1,2 +0,0 @@
1
- @forward "modal.mixins";
2
- @forward "modal.variables";
@@ -1,249 +0,0 @@
1
- @use "sass:color";
2
-
3
- @use "../../variables/colors";
4
- @use "../../variables/media-query-breakpoints";
5
- @use "../../variables/units";
6
- @use "../../variables/zindex";
7
-
8
- @use "../button";
9
- @use "../rich-content";
10
-
11
- @use "modal.variables" as modal-variables;
12
-
13
- @keyframes ModalFadeIn {
14
- 0% {
15
- opacity: 0;
16
- }
17
-
18
- 100% {
19
- opacity: 1;
20
- }
21
- }
22
-
23
- @mixin root() {
24
- // dialog
25
- // ------
26
- // overwrite UA styles:
27
- overflow: visible;
28
- padding: 0;
29
- border: 0;
30
-
31
- &::backdrop {
32
- background-color: color.scale(modal-variables.$backdrop-bg, $alpha: modal-variables.$backdrop-opacity);
33
- }
34
-
35
- .dso-dialog {
36
- inline-size: modal-variables.$max-inline-size;
37
-
38
- background-color: modal-variables.$content-bg;
39
-
40
- opacity: 1;
41
-
42
- box-shadow: 0 #{units.$u1} #{units.$u3} 0 rgba(25, 25, 25, 0.4);
43
- animation: 200ms ease-out 0s 1 ModalFadeIn;
44
- }
45
-
46
- .dso-header {
47
- position: relative;
48
-
49
- padding: modal-variables.$header-padding;
50
-
51
- border-block-end: 1px solid modal-variables.$border-color;
52
-
53
- h2 {
54
- max-inline-size: calc(100% - #{units.$u3});
55
-
56
- margin: 0;
57
-
58
- color: colors.$bosgroen;
59
- }
60
-
61
- .dso-close {
62
- position: absolute;
63
- inset-block-start: units.$u2;
64
- inset-inline-end: 13px;
65
-
66
- block-size: modal-variables.$close-icon-size;
67
- inline-size: modal-variables.$close-icon-size;
68
-
69
- padding: 0;
70
-
71
- background-color: transparent;
72
-
73
- border: 0;
74
-
75
- text-align: center;
76
- }
77
- }
78
-
79
- > .dso-dialog > .dso-body {
80
- // stylelint-disable-next-line scss/operator-no-newline-after -- disabled because of prettier newline
81
- $dso-body-unavailable-height: (2 * modal-variables.$header-padding) +
82
- (modal-variables.$footer-button-block-size + modal-variables.$footer-padding);
83
-
84
- @include rich-content.children();
85
-
86
- block-size: calc(100% - #{modal-variables.$body-padding * 2 + units.$u4} - 1.5rem);
87
- max-block-size: calc(#{modal-variables.$max-block-size} - #{$dso-body-unavailable-height + units.$u4} - 1.5em);
88
- min-block-size: 1.5rem;
89
- overflow-x: auto;
90
-
91
- padding: modal-variables.$body-padding;
92
- }
93
-
94
- > .dso-dialog > dso-scrollable {
95
- // stylelint-disable-next-line scss/operator-no-newline-after -- disabled because of prettier newline
96
- $dso-body-unavailable-height: (2 * modal-variables.$header-padding) +
97
- (modal-variables.$footer-button-block-size + modal-variables.$footer-padding);
98
-
99
- block-size: calc(100% - #{modal-variables.$body-padding * 2 + units.$u4} - 1.5rem);
100
- max-block-size: calc(#{modal-variables.$max-block-size} - #{$dso-body-unavailable-height + units.$u4} - 1.5em);
101
- min-block-size: modal-variables.$body-min-block-size;
102
-
103
- .dso-body {
104
- @include rich-content.children();
105
-
106
- padding: modal-variables.$body-padding;
107
- }
108
- }
109
-
110
- .dso-body {
111
- &:focus-visible {
112
- outline: none;
113
- }
114
- }
115
-
116
- .dso-footer {
117
- @include modal-wide-buttons();
118
-
119
- min-block-size: modal-variables.$footer-button-block-size + modal-variables.$footer-padding;
120
-
121
- padding-block: calc(modal-variables.$footer-padding / 2);
122
- padding-inline: modal-variables.$footer-padding;
123
-
124
- text-align: end;
125
- }
126
-
127
- @media screen and (min-width: media-query-breakpoints.$screen-sm-min) {
128
- .dso-footer {
129
- #{button.$button-adjacent-secondary} {
130
- margin-inline-start: units.$u2;
131
- }
132
-
133
- #{button.$button-adjacent-tertiary} {
134
- margin-inline-start: 0;
135
- }
136
- }
137
- }
138
-
139
- @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {
140
- .dso-dialog {
141
- max-inline-size: 100%;
142
-
143
- margin-block-start: 0;
144
- }
145
-
146
- .dso-footer {
147
- #{button.$button-adjacent} {
148
- margin-inline-start: 0;
149
- }
150
-
151
- button {
152
- inline-size: 100%;
153
-
154
- text-align: center;
155
-
156
- + button {
157
- margin-block-start: units.$u1;
158
- }
159
-
160
- &.dso-tertiary {
161
- &,
162
- span {
163
- float: none;
164
- }
165
- }
166
- }
167
- }
168
- }
169
-
170
- // special query for height
171
- @media screen and (max-height: modal-variables.$small-modal-vh) {
172
- .dso-dialog {
173
- min-block-size: modal-variables.$min-modal-block-size;
174
-
175
- margin-block-start: units.$u1;
176
- margin-block-end: units.$u1;
177
- }
178
-
179
- .dso-header {
180
- padding-block: #{units.$u1};
181
- padding-inline: #{units.$u2};
182
-
183
- .dso-close {
184
- inset-block-start: units.$u1;
185
- }
186
- }
187
-
188
- .dso-body {
189
- padding-block: #{units.$u2};
190
- padding-inline: #{units.$u3};
191
- }
192
-
193
- .dso-footer {
194
- min-block-size: auto;
195
- overflow: auto;
196
-
197
- padding-block: modal-variables.$footer-padding-small-modal-vh;
198
- padding-inline: modal-variables.$footer-padding;
199
- }
200
- }
201
- }
202
-
203
- @mixin modal-wide-buttons() {
204
- @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {
205
- #{button.$button-adjacent} {
206
- margin-inline-start: 0;
207
- }
208
-
209
- button {
210
- inline-size: 100%;
211
-
212
- text-align: center;
213
-
214
- + button {
215
- margin-block-start: units.$u1;
216
- }
217
-
218
- &.dso-tertiary {
219
- &,
220
- span {
221
- float: none;
222
- }
223
- }
224
- }
225
- }
226
- }
227
-
228
- @mixin fullscreen() {
229
- inline-size: 100dvi;
230
- block-size: 100dvb;
231
-
232
- .dso-dialog {
233
- display: flex;
234
- flex-direction: column;
235
-
236
- inline-size: 100%;
237
- block-size: 100%;
238
-
239
- > dso-scrollable {
240
- flex-grow: 1;
241
-
242
- max-block-size: unset;
243
- }
244
- }
245
-
246
- .dso-footer {
247
- flex-shrink: 0;
248
- }
249
- }
@@ -1,63 +0,0 @@
1
- @use "../../variables/media-query-breakpoints";
2
- @use "../../variables/zindex";
3
- @use "../button";
4
- @use "../icon";
5
- @use "../rich-content";
6
- @use "../modal";
7
-
8
- @use "../../di";
9
-
10
- body:has(dialog[open]),
11
- body:has(dso-modal.hydrated) {
12
- // block scrolling of the body when a dialog is open
13
- overflow: hidden;
14
- }
15
-
16
- .dso-modal {
17
- @include modal.root();
18
-
19
- &.dso-fullscreen {
20
- @include modal.fullscreen();
21
- }
22
-
23
- .dso-close {
24
- &::before {
25
- @include di.base("cross", icon.$size, middle);
26
-
27
- content: "";
28
- display: inline-block;
29
- }
30
- }
31
-
32
- .dso-footer {
33
- .dso-tertiary {
34
- float: inline-start;
35
- line-height: calc(1.5em - 1px);
36
- padding-block: button.$block-padding;
37
- padding-inline: 0;
38
- position: relative;
39
- }
40
- }
41
-
42
- @media screen and (max-width: media-query-breakpoints.$screen-xs-min) {
43
- @include modal.fullscreen();
44
- }
45
- }
46
-
47
- dso-modal {
48
- [slot="body"] {
49
- @include rich-content.children();
50
- }
51
-
52
- [slot="footer"] {
53
- @include modal.modal-wide-buttons();
54
-
55
- .dso-tertiary {
56
- float: inline-start;
57
- line-height: calc(1.5em - 1px);
58
- padding-block: button.$block-padding;
59
- padding-inline: 0;
60
- position: relative;
61
- }
62
- }
63
- }
@@ -1,23 +0,0 @@
1
- @use "../../variables/colors";
2
- @use "../../variables/units";
3
-
4
- $max-inline-size: 640px;
5
- $max-block-size: 70vh;
6
-
7
- $small-modal-vh: 380px;
8
- $min-modal-block-size: 216px;
9
-
10
- $backdrop-bg: colors.$wit;
11
- $backdrop-opacity: -20%;
12
- $content-bg: colors.$wit;
13
- $border-color: colors.$grijs-20;
14
-
15
- $close-icon-size: units.$u4;
16
- $close-icon-color: colors.$grasgroen;
17
-
18
- $header-padding: units.$u2;
19
- $body-min-block-size: 6.5rem;
20
- $body-padding: units.$u4;
21
- $footer-padding: units.$u4;
22
- $footer-padding-small-modal-vh: units.$u1;
23
- $footer-button-block-size: units.$u6;
@@ -1,3 +0,0 @@
1
- # `.dso-modal`
2
-
3
- Als een modal actief is zal de `body` dit door middel van CSS automatisch detecteren, en het scrollgedrag 'achter' de modal uitzetten.
@@ -1 +0,0 @@
1
- # `.dso-navbar`
@@ -1 +0,0 @@
1
- # `<p>`
@@ -1,6 +0,0 @@
1
- # `.dso-progress-indicator`
2
-
3
- - toevoeging class `dso-block` zorgt voor horizontaal en verticaal gecentreerde progress-indicator;
4
- - icm. class `dso-small` zorgt dit voor een (afhankelijk van de inhoud) minimaal 48px hoge progress indicator;
5
- - icm. class `dso-medium` zorgt dit voor een (afhankelijk van de inhoud) minimaal 64px hoge progress indicator;
6
- - icm. class `dso-large` zorgt dit voor een (afhankelijk van de inhoud) minimaal 96px hoge progress indicator;
@@ -1 +0,0 @@
1
- # `.dso-rich-content`
@@ -1 +0,0 @@
1
- # `.row.dso-equal-heights`
File without changes
@@ -1 +0,0 @@
1
- # `.dso-search-bar`
@@ -1 +0,0 @@
1
- # `.dso-shopping-cart`
@@ -1,17 +0,0 @@
1
- # `ul.nav.nav-tabs`
2
-
3
- De rollen `tablist`, `tab` en `tabpanel` tonen de elementen `<ul>`, `<a>` en `<div>` als een verzameling tabbladen en bijbehorende tabbladen in de toegankelijkheidsboom.
4
-
5
- De rol `presentation` voorkomt dat de `<li>`-elementen in kaart worden gebracht in de toegankelijkheidsboom.
6
-
7
- Het `aria-selected` kenmerk geeft aan welk tabblad momenteel is geselecteerd.
8
-
9
- Het `tabindex`-attribuut zorgt ervoor dat alleen het momenteel geselecteerde tabblad in de tabvolgorde wordt opgenomen.
10
-
11
- Het `hidden` attribuut verbergt alles behalve het momenteel weergegeven tabpaneel voor weergave.
12
-
13
- Het kenmerk `aria-controls` legt een relatie tussen elk tabblad en het bijbehorende tabblad.
14
-
15
- Het kenmerk `aria-labelledby` hergebruikt de naam van het tabblad als de toegankelijke naam van het bijbehorende tabblad.
16
-
17
- De `click`- en `keydown`- event listeners leggen de verwachte muis- en toetsenbordgebeurtenissen vast voor het activeren van de tabbladen. Scriptend moet ervoor gezorgd worden dat de a daarin niet meer reageert.
@@ -1 +0,0 @@
1
- # `.dso-tile`
@@ -1 +0,0 @@
1
- # `.dso-tile-grid`