@dso-toolkit/core 32.2.0 → 33.3.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 (95) hide show
  1. package/dist/cjs/dso-autosuggest.cjs.entry.js +7 -71
  2. package/dist/cjs/dso-date-picker.cjs.entry.js +10 -10
  3. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +16 -2
  4. package/dist/cjs/dso-header.cjs.entry.js +101 -0
  5. package/dist/cjs/dso-info-button.cjs.entry.js +1 -1
  6. package/dist/cjs/dso-label.cjs.entry.js +1 -1
  7. package/dist/cjs/dso-map-base-layers.cjs.entry.js +3 -4
  8. package/dist/cjs/dso-map-controls.cjs.entry.js +2 -2
  9. package/dist/cjs/dso-map-overlays.cjs.entry.js +5 -8
  10. package/dist/cjs/dso-toggletip.cjs.entry.js +2 -1
  11. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  12. package/dist/cjs/dso-tooltip.cjs.entry.js +168 -75
  13. package/dist/cjs/dso-tree-view.cjs.entry.js +5 -4
  14. package/dist/cjs/index-794ad37a.js +72 -0
  15. package/dist/cjs/loader.cjs.js +1 -1
  16. package/dist/collection/collection-manifest.json +1 -0
  17. package/dist/collection/components/autosuggest/autosuggest.js +19 -1
  18. package/dist/collection/components/autosuggest/autosuggest.template.js +2 -1
  19. package/dist/collection/components/date-picker/date-picker.js +10 -10
  20. package/dist/collection/components/dropdown-menu/dropdown-menu.css +4 -0
  21. package/dist/collection/components/dropdown-menu/dropdown-menu.js +15 -1
  22. package/dist/collection/components/header/header.css +439 -0
  23. package/dist/collection/components/header/header.js +294 -0
  24. package/dist/collection/components/header/header.template.js +32 -0
  25. package/dist/collection/components/info-button/info-button.css +1 -0
  26. package/dist/collection/components/label/label.js +2 -1
  27. package/dist/collection/components/map-base-layers/map-base-layers.js +6 -27
  28. package/dist/collection/components/map-controls/map-controls.css +18 -8
  29. package/dist/collection/components/map-controls/map-controls.js +10 -11
  30. package/dist/collection/components/map-controls/map-controls.template.js +5 -8
  31. package/dist/collection/components/map-overlays/map-overlays.js +9 -35
  32. package/dist/collection/components/toggletip/toggletip.css +4 -0
  33. package/dist/collection/components/toggletip/toggletip.js +1 -0
  34. package/dist/collection/components/tooltip/tooltip.css +34 -12
  35. package/dist/collection/components/tooltip/tooltip.js +19 -4
  36. package/dist/collection/components/tooltip/tooltip.template.js +3 -5
  37. package/dist/collection/components/tree-view/tree-item.js +3 -2
  38. package/dist/collection/components/tree-view/tree-view.css +33 -5
  39. package/dist/collection/components/tree-view/tree-view.js +11 -11
  40. package/dist/custom-elements/index.d.ts +6 -0
  41. package/dist/custom-elements/index.js +318 -114
  42. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  43. package/dist/dso-toolkit/p-0a08ac9f.entry.js +1 -0
  44. package/dist/dso-toolkit/p-1805f5b0.js +1 -0
  45. package/dist/dso-toolkit/p-22bc904d.entry.js +1 -0
  46. package/dist/dso-toolkit/{p-5665f1ee.entry.js → p-4a78a31b.entry.js} +1 -1
  47. package/dist/dso-toolkit/p-72e4484a.entry.js +1 -0
  48. package/dist/dso-toolkit/p-7a043467.entry.js +1 -0
  49. package/dist/dso-toolkit/{p-e2dc97c4.entry.js → p-984551a8.entry.js} +1 -1
  50. package/dist/dso-toolkit/{p-12f7e7d7.entry.js → p-99b93d2e.entry.js} +1 -1
  51. package/dist/dso-toolkit/p-b3e6d377.entry.js +1 -0
  52. package/dist/dso-toolkit/p-da3be034.entry.js +1 -0
  53. package/dist/dso-toolkit/p-e814d644.entry.js +1 -0
  54. package/dist/dso-toolkit/p-ec8b74f7.entry.js +1 -0
  55. package/dist/dso-toolkit/p-ff767c21.entry.js +1 -0
  56. package/dist/esm/dso-autosuggest.entry.js +6 -70
  57. package/dist/esm/dso-date-picker.entry.js +10 -10
  58. package/dist/esm/dso-dropdown-menu.entry.js +16 -2
  59. package/dist/esm/dso-header.entry.js +97 -0
  60. package/dist/esm/dso-info-button.entry.js +1 -1
  61. package/dist/esm/dso-label.entry.js +1 -1
  62. package/dist/esm/dso-map-base-layers.entry.js +3 -4
  63. package/dist/esm/dso-map-controls.entry.js +2 -2
  64. package/dist/esm/dso-map-overlays.entry.js +5 -8
  65. package/dist/esm/dso-toggletip.entry.js +2 -1
  66. package/dist/esm/dso-toolkit.js +1 -1
  67. package/dist/esm/dso-tooltip.entry.js +168 -75
  68. package/dist/esm/dso-tree-view.entry.js +5 -4
  69. package/dist/esm/index-f2bf58ce.js +70 -0
  70. package/dist/esm/loader.js +1 -1
  71. package/dist/types/components/autosuggest/autosuggest.d.ts +5 -0
  72. package/dist/types/components/autosuggest/autosuggest.template.d.ts +1 -1
  73. package/dist/types/components/dropdown-menu/dropdown-menu.d.ts +1 -0
  74. package/dist/types/components/header/header.d.ts +36 -0
  75. package/dist/types/components/header/header.template.d.ts +2 -0
  76. package/dist/types/components/map-base-layers/map-base-layers.d.ts +3 -4
  77. package/dist/types/components/map-base-layers/map-base-layers.interfaces.d.ts +5 -1
  78. package/dist/types/components/map-controls/map-controls.template.d.ts +1 -1
  79. package/dist/types/components/map-overlays/map-overlays.d.ts +4 -4
  80. package/dist/types/components/map-overlays/map-overlays.interfaces.d.ts +6 -1
  81. package/dist/types/components/tooltip/tooltip.d.ts +1 -0
  82. package/dist/types/components/tree-view/tree-item.d.ts +4 -4
  83. package/dist/types/components/tree-view/tree-view.d.ts +12 -9
  84. package/dist/types/components/tree-view/tree-view.interfaces.d.ts +14 -4
  85. package/dist/types/components/tree-view/tree-view.template.d.ts +1 -1
  86. package/dist/types/components.d.ts +45 -15
  87. package/package.json +3 -9
  88. package/dist/dso-toolkit/p-08427682.entry.js +0 -1
  89. package/dist/dso-toolkit/p-39dae284.entry.js +0 -1
  90. package/dist/dso-toolkit/p-759920d0.entry.js +0 -1
  91. package/dist/dso-toolkit/p-9e9f8bcf.entry.js +0 -1
  92. package/dist/dso-toolkit/p-ad8f467f.entry.js +0 -1
  93. package/dist/dso-toolkit/p-e03d7741.entry.js +0 -1
  94. package/dist/dso-toolkit/p-e4269e02.entry.js +0 -1
  95. package/dist/dso-toolkit/p-e7700d9e.entry.js +0 -1
@@ -229,8 +229,7 @@ export class DsoDatePicker {
229
229
  };
230
230
  this.handleInputChange = (e) => {
231
231
  const target = e.target;
232
- target.value = target.value.replace(DISALLOWED_CHARACTERS, "");
233
- this.setValue(target.value);
232
+ this.setValue(target.value.replace(DISALLOWED_CHARACTERS, ""));
234
233
  };
235
234
  this.processFocusedDayNode = (element) => {
236
235
  this.focusedDayNode = element;
@@ -243,13 +242,12 @@ export class DsoDatePicker {
243
242
  * Component event handling.
244
243
  */
245
244
  handleDocumentClick(e) {
246
- var _a;
247
245
  if (!this.open) {
248
246
  return;
249
247
  }
250
248
  const path = e.composedPath();
251
249
  for (const target of path) {
252
- if (target instanceof Node && ((_a = this.element.shadowRoot) === null || _a === void 0 ? void 0 : _a.contains(target))) {
250
+ if (target instanceof Node && this.element.contains(target)) {
253
251
  return;
254
252
  }
255
253
  }
@@ -336,10 +334,7 @@ export class DsoDatePicker {
336
334
  event.valueAsDate = parseDutchDate(value);
337
335
  }
338
336
  if (event.valueAsDate) {
339
- event.value = this.value = printDutchDate(event.valueAsDate);
340
- }
341
- else {
342
- this.value = "";
337
+ event.value = printDutchDate(event.valueAsDate);
343
338
  }
344
339
  if (!event.valueAsDate && this.required) {
345
340
  event.error = "required";
@@ -347,9 +342,14 @@ export class DsoDatePicker {
347
342
  if (event.value && !event.valueAsDate) {
348
343
  event.error = "invalid";
349
344
  }
345
+ this.value = event.value;
350
346
  this.dateChange.emit(event);
351
347
  }
352
348
  componentDidLoad() {
349
+ const valueAsDate = parseDutchDate(this.value);
350
+ if (valueAsDate) {
351
+ this.value = printDutchDate(valueAsDate);
352
+ }
353
353
  if (this.dsoAutofocus) {
354
354
  this.setFocus();
355
355
  }
@@ -379,7 +379,7 @@ export class DsoDatePicker {
379
379
  return (h(Host, null,
380
380
  h("div", { class: "dso-date" },
381
381
  h("div", { class: "dso-date__input-wrapper" },
382
- h("input", { class: "dso-date__input", value: formattedDate, placeholder: this.localization.placeholder, id: this.identifier, disabled: this.disabled, role: this.role, required: this.required ? true : undefined, "aria-autocomplete": "none", onInput: this.handleInputChange, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown, autoComplete: "off", ref: element => (this.datePickerInput = element) }),
382
+ h("input", { class: "dso-date__input", value: this.value, placeholder: this.localization.placeholder, id: this.identifier, disabled: this.disabled, role: this.role, required: this.required ? true : undefined, "aria-autocomplete": "none", onInput: this.handleInputChange, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown, autoComplete: "off", ref: element => (this.datePickerInput = element) }),
383
383
  h("button", { type: "button", class: "dso-date__toggle", onClick: this.toggleOpen, disabled: this.disabled, ref: element => (this.datePickerButton = element) },
384
384
  h("span", { class: "dso-date__toggle-icon" },
385
385
  h("dso-icon", { icon: "calendar" })),
@@ -430,7 +430,7 @@ export class DsoDatePicker {
430
430
  h(DatePickerMonth, { selectedDate: valueAsDate, focusedDate: this.focusedDay, onDateSelect: this.handleDaySelect, onKeyboardNavigation: this.handleKeyboardNavigation, labelledById: this.dialogLabelId, localization: this.localization, firstDayOfWeek: this.firstDayOfWeek, focusedDayRef: this.processFocusedDayNode, min: minDate, max: maxDate }))))));
431
431
  }
432
432
  static get is() { return "dso-date-picker"; }
433
- static get encapsulation() { return "shadow"; }
433
+ static get encapsulation() { return "scoped"; }
434
434
  static get originalStyleUrls() { return {
435
435
  "$": ["date-picker.scss"]
436
436
  }; }
@@ -1,6 +1,10 @@
1
1
  /* stylelint-disable value-keyword-case */
2
2
  /* stylelint-disable string-no-newline */
3
3
  /* stylelint-enable */
4
+ :host(:focus) {
5
+ outline: none;
6
+ }
7
+
4
8
  :host {
5
9
  --di-check-wit: url("data:image/svg+xml,%3csvg id='check' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: white%3b'%3e %3cpath fill='currentColor' d='M10.11%2c18%2c5.29%2c13.31A.92.92%2c0%2c0%2c1%2c5.3%2c12a1%2c1%2c0%2c0%2c1%2c1.41%2c0l3.4%2c3.3%2c7.18-7a1%2c1%2c0%2c0%2c1%2c1.41%2c0%2c.92.92%2c0%2c0%2c1%2c0%2c1.35Z'/%3e %3c/svg%3e");
6
10
  --di-chevron-down: url("data:image/svg+xml,%3csvg id='chevron-down' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %2339870c%3b'%3e %3cpath fill='currentColor' d='M12%2c16%2c5.29%2c9.63a.93.93%2c0%2c0%2c1%2c0-1.35%2c1%2c1%2c0%2c0%2c1%2c1.42%2c0l5.29%2c5%2c5.29-5a1%2c1%2c0%2c0%2c1%2c1.42%2c0%2c.91.91%2c0%2c0%2c1%2c0%2c1.34Z'/%3e %3c/svg%3e");
@@ -107,6 +107,7 @@ export class DropdownMenu {
107
107
  }
108
108
  }
109
109
  openPopup() {
110
+ this.host.setAttribute("tabindex", "-1");
110
111
  this.host.addEventListener("keydown", this.keyDownListener);
111
112
  this.host.addEventListener("focusout", this.focusOutListener);
112
113
  this.button.setAttribute("aria-expanded", "true");
@@ -116,11 +117,24 @@ export class DropdownMenu {
116
117
  this.host.removeEventListener("keydown", this.keyDownListener);
117
118
  this.host.removeEventListener("focusout", this.focusOutListener);
118
119
  this.button.setAttribute("aria-expanded", "false");
120
+ this.host.removeAttribute("tabindex");
119
121
  this.tabbables.forEach((tabbable) => tabbable.removeEventListener("click", this.escape));
120
122
  }
123
+ getActiveElement(root = document) {
124
+ const activeEl = root.activeElement;
125
+ if (!activeEl) {
126
+ return null;
127
+ }
128
+ if (activeEl.shadowRoot) {
129
+ return this.getActiveElement(activeEl.shadowRoot);
130
+ }
131
+ else {
132
+ return activeEl;
133
+ }
134
+ }
121
135
  tabInPopup(direction) {
122
136
  const tabs = this.tabbables;
123
- const currentIndex = tabs.findIndex((e) => e === document.activeElement);
137
+ const currentIndex = tabs.findIndex((e) => e === this.getActiveElement());
124
138
  let nextIndex = currentIndex + direction;
125
139
  if (nextIndex >= tabs.length) {
126
140
  nextIndex = 0;
@@ -0,0 +1,439 @@
1
+ /* stylelint-disable value-keyword-case */
2
+ /* stylelint-disable string-no-newline */
3
+ /* stylelint-enable */
4
+ /* stylelint-disable-next-line no-invalid-position-at-import-rule */
5
+ :host {
6
+ --di-chevron-down-bosgroen: url("data:image/svg+xml,%3csvg id='chevron-down' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %23275937%3b'%3e %3cpath fill='currentColor' d='M12%2c16%2c5.29%2c9.63a.93.93%2c0%2c0%2c1%2c0-1.35%2c1%2c1%2c0%2c0%2c1%2c1.42%2c0l5.29%2c5%2c5.29-5a1%2c1%2c0%2c0%2c1%2c1.42%2c0%2c.91.91%2c0%2c0%2c1%2c0%2c1.34Z'/%3e %3c/svg%3e");
7
+ --di-chevron-up-bosgroen: url("data:image/svg+xml,%3csvg id='chevron-up' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %23275937%3b'%3e %3cpath fill='currentColor' d='M18%2c16a1%2c1%2c0%2c0%2c1-.71-.28l-5.29-5-5.29%2c5a1%2c1%2c0%2c0%2c1-1.42%2c0%2c.93.93%2c0%2c0%2c1%2c0-1.35L12%2c8l6.71%2c6.38a.91.91%2c0%2c0%2c1%2c0%2c1.34A1%2c1%2c0%2c0%2c1%2c18%2c16Z'/%3e %3c/svg%3e");
8
+ display: block;
9
+ }
10
+
11
+ .dso-header {
12
+ border-bottom: 1px solid #ccc;
13
+ display: flex;
14
+ flex-wrap: wrap;
15
+ }
16
+ @media screen and (min-width: 768px) {
17
+ .dso-header {
18
+ align-items: center;
19
+ }
20
+ }
21
+ @media screen and (max-width: 991px) {
22
+ .dso-header.use-drop-down {
23
+ flex-wrap: nowrap;
24
+ }
25
+ }
26
+
27
+ .logo-container {
28
+ display: flex;
29
+ flex-wrap: wrap;
30
+ padding-bottom: 16px;
31
+ padding-top: 16px;
32
+ }
33
+
34
+ @media screen and (min-width: 768px) {
35
+ .sub-logo {
36
+ margin-left: 24px;
37
+ }
38
+ }
39
+ @media screen and (max-width: 767px) {
40
+ .sub-logo {
41
+ flex-basis: 100%;
42
+ }
43
+ }
44
+
45
+ .login,
46
+ .logout {
47
+ margin-right: 16px;
48
+ }
49
+
50
+ .profile a,
51
+ .logout a,
52
+ .login a {
53
+ text-decoration: none;
54
+ color: #39870c;
55
+ font-weight: 600;
56
+ }
57
+ .profile a:hover, .profile a:focus,
58
+ .logout a:hover,
59
+ .logout a:focus,
60
+ .login a:hover,
61
+ .login a:focus {
62
+ text-decoration: none;
63
+ }
64
+ .profile a:active,
65
+ .logout a:active,
66
+ .login a:active {
67
+ text-decoration: underline;
68
+ }
69
+
70
+ .dso-header-session {
71
+ display: flex;
72
+ margin-left: auto;
73
+ }
74
+ .dso-header-session .profile a {
75
+ margin-left: 8px;
76
+ }
77
+ .dso-header-session .profile + .logout {
78
+ border-left: 3px solid #ccc;
79
+ margin-left: 16px;
80
+ padding-left: 16px;
81
+ }
82
+
83
+ .dso-navbar {
84
+ flex-basis: 100%;
85
+ }
86
+
87
+ dso-dropdown-menu > .dso-primary::after,
88
+ dso-dropdown-menu > .dso-secondary::after,
89
+ dso-dropdown-menu > .dso-tertiary::after,
90
+ dso-dropdown-menu > .btn::after {
91
+ content: "";
92
+ display: inline-block;
93
+ margin-left: 8px;
94
+ }
95
+ dso-dropdown-menu > .dso-primary::after,
96
+ dso-dropdown-menu > .btn-primary::after {
97
+ background: var(--dso-icon, var(--di-chevron-down-wit)) no-repeat;
98
+ background-position: center;
99
+ background-size: cover;
100
+ height: 1.5em;
101
+ vertical-align: top;
102
+ width: 1.5em;
103
+ }
104
+ dso-dropdown-menu > .dso-secondary::after,
105
+ dso-dropdown-menu > .btn-default::after {
106
+ background: var(--dso-icon, var(--di-chevron-down)) no-repeat;
107
+ background-position: center;
108
+ background-size: cover;
109
+ height: 1.5em;
110
+ vertical-align: top;
111
+ width: 1.5em;
112
+ }
113
+ dso-dropdown-menu > .dso-secondary:hover::after,
114
+ dso-dropdown-menu > .btn-default:hover::after {
115
+ --dso-icon: var(--di-chevron-down-wit);
116
+ }
117
+ dso-dropdown-menu > .dso-tertiary::after,
118
+ dso-dropdown-menu > .btn-link::after {
119
+ background: var(--dso-icon, var(--di-chevron-down)) no-repeat;
120
+ background-position: center;
121
+ background-size: cover;
122
+ height: 1.5em;
123
+ vertical-align: top;
124
+ width: 1.5em;
125
+ position: relative;
126
+ top: -2px;
127
+ }
128
+ dso-dropdown-menu > .dso-tertiary:hover::after,
129
+ dso-dropdown-menu > .btn-link:hover::after {
130
+ --dso-icon: var(--di-chevron-down-scampi);
131
+ }
132
+ dso-dropdown-menu .dso-group-label {
133
+ color: #999;
134
+ font-size: 0.875em;
135
+ font-weight: 400;
136
+ margin: 0;
137
+ padding: 4px 20px 2px;
138
+ text-transform: uppercase;
139
+ }
140
+ dso-dropdown-menu ul {
141
+ margin: 0;
142
+ padding: 0;
143
+ }
144
+ dso-dropdown-menu ul:not(:last-child) {
145
+ border-bottom: 1px solid #e5e5e5;
146
+ margin-bottom: 11px;
147
+ padding-bottom: 11px;
148
+ }
149
+ dso-dropdown-menu .dso-dropdown-options {
150
+ background-clip: padding-box;
151
+ background-color: #fff;
152
+ border-radius: 4px;
153
+ border: 1px solid rgba(0, 0, 0, 0.15);
154
+ box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.4);
155
+ font-size: 16px;
156
+ margin: 2px 0 0;
157
+ min-width: 160px;
158
+ padding: 5px 0;
159
+ position: absolute;
160
+ text-align: left;
161
+ top: 100%;
162
+ z-index: 1000;
163
+ }
164
+ dso-dropdown-menu .dso-dropdown-options li {
165
+ list-style: none;
166
+ }
167
+ dso-dropdown-menu .dso-dropdown-options li a:visited {
168
+ color: #191919;
169
+ }
170
+ dso-dropdown-menu .dso-dropdown-options li a,
171
+ dso-dropdown-menu .dso-dropdown-options li button {
172
+ text-decoration: none;
173
+ clear: both;
174
+ color: #191919;
175
+ display: block;
176
+ font-weight: 400;
177
+ line-height: 1.5;
178
+ padding: 3px 20px;
179
+ text-decoration: none;
180
+ white-space: nowrap;
181
+ /* stylelint-disable-line declaration-property-value-disallowed-list */
182
+ }
183
+ dso-dropdown-menu .dso-dropdown-options li a:hover, dso-dropdown-menu .dso-dropdown-options li a:focus, dso-dropdown-menu .dso-dropdown-options li a:active,
184
+ dso-dropdown-menu .dso-dropdown-options li button:hover,
185
+ dso-dropdown-menu .dso-dropdown-options li button:focus,
186
+ dso-dropdown-menu .dso-dropdown-options li button:active {
187
+ text-decoration: underline;
188
+ }
189
+ dso-dropdown-menu .dso-dropdown-options li a:hover, dso-dropdown-menu .dso-dropdown-options li a:focus,
190
+ dso-dropdown-menu .dso-dropdown-options li button:hover,
191
+ dso-dropdown-menu .dso-dropdown-options li button:focus {
192
+ background-color: #39870c;
193
+ border-color: #39870c;
194
+ color: #fff;
195
+ text-decoration: none;
196
+ }
197
+ dso-dropdown-menu .dso-dropdown-options li button {
198
+ background-color: transparent;
199
+ border: 0;
200
+ border-radius: 0;
201
+ text-align: inherit;
202
+ width: 100%;
203
+ }
204
+ dso-dropdown-menu[dropdown-align=right] .dso-dropdown-options {
205
+ right: 0;
206
+ }
207
+ dso-dropdown-menu[open] > .dso-primary::after,
208
+ dso-dropdown-menu[open] > .btn-primary::after {
209
+ --dso-icon: var(--di-chevron-up-wit);
210
+ }
211
+ dso-dropdown-menu[open] > .dso-secondary::after,
212
+ dso-dropdown-menu[open] > .btn-default::after {
213
+ --dso-icon: var(--di-chevron-up);
214
+ }
215
+ dso-dropdown-menu[open] > .dso-secondary:hover::after,
216
+ dso-dropdown-menu[open] > .btn-default:hover::after {
217
+ --dso-icon: var(--di-chevron-up-wit);
218
+ }
219
+ dso-dropdown-menu[open] > .dso-tertiary::after,
220
+ dso-dropdown-menu[open] > .btn-link::after {
221
+ --dso-icon: var(--di-chevron-up);
222
+ }
223
+ dso-dropdown-menu[open] > .dso-tertiary:hover::after,
224
+ dso-dropdown-menu[open] > .btn-link:hover::after {
225
+ --dso-icon: var(--di-chevron-up-scampi);
226
+ }
227
+ dso-dropdown-menu[open] button::after {
228
+ background: var(--dso-icon, var(--di-chevron-up-bosgroen)) no-repeat;
229
+ background-position: center;
230
+ background-size: cover;
231
+ height: 1.2em;
232
+ vertical-align: top;
233
+ width: 1.2em;
234
+ }
235
+ dso-dropdown-menu[checkable] .dso-group-label {
236
+ padding-left: 40px;
237
+ }
238
+ dso-dropdown-menu[checkable] li a,
239
+ dso-dropdown-menu[checkable] li button {
240
+ padding-left: 40px;
241
+ }
242
+ dso-dropdown-menu[checkable] li.dso-checked a:not(:focus),
243
+ dso-dropdown-menu[checkable] li.dso-checked button:not(:focus) {
244
+ background-color: #39870c;
245
+ border-color: #39870c;
246
+ color: #fff;
247
+ }
248
+ dso-dropdown-menu[checkable] li.dso-checked a::before,
249
+ dso-dropdown-menu[checkable] li.dso-checked button::before {
250
+ background: var(--dso-icon, var(--di-check-wit)) no-repeat;
251
+ background-position: center;
252
+ background-size: cover;
253
+ height: 24px;
254
+ vertical-align: top;
255
+ width: 24px;
256
+ content: "";
257
+ display: block;
258
+ float: left;
259
+ margin-left: -32px;
260
+ margin-right: 8px;
261
+ }
262
+ dso-dropdown-menu button {
263
+ align-items: flex-end;
264
+ background-color: transparent;
265
+ border: 0;
266
+ display: flex;
267
+ font-family: Asap, sans-serif;
268
+ padding-right: 32px;
269
+ }
270
+ dso-dropdown-menu button::after {
271
+ background: var(--dso-icon, var(--di-chevron-down-bosgroen)) no-repeat;
272
+ background-position: center;
273
+ background-size: cover;
274
+ height: 1.2em;
275
+ vertical-align: top;
276
+ width: 1.2em;
277
+ content: "";
278
+ display: inline-block;
279
+ margin-left: 8px;
280
+ position: absolute;
281
+ right: 0;
282
+ top: 50%;
283
+ transform: translateY(-50%);
284
+ }
285
+ @media screen and (max-width: 991px) {
286
+ dso-dropdown-menu[dropdown-align=right] .dso-dropdown-options {
287
+ right: -16px;
288
+ }
289
+ }
290
+ @media screen and (max-width: 767px) {
291
+ dso-dropdown-menu {
292
+ top: 12px;
293
+ }
294
+ }
295
+ dso-dropdown-menu .dso-dropdown-options {
296
+ border: 0;
297
+ border-radius: 0;
298
+ }
299
+ dso-dropdown-menu .dso-dropdown-options dso-dropdown-options ul {
300
+ width: 320px;
301
+ }
302
+ @media screen and (max-width: 991px) {
303
+ dso-dropdown-menu .dso-dropdown-options dso-dropdown-options ul {
304
+ width: 100vw;
305
+ }
306
+ }
307
+ dso-dropdown-menu .dso-dropdown-options dso-dropdown-options li a {
308
+ color: #275937;
309
+ font-size: 1.25rem;
310
+ padding: 16px;
311
+ }
312
+ dso-dropdown-menu .dso-dropdown-options dso-dropdown-options li.dso-active a {
313
+ font-weight: 600;
314
+ }
315
+ dso-dropdown-menu .dso-dropdown-options dso-dropdown-options li + li {
316
+ border-top: 1px solid #ccc;
317
+ }
318
+
319
+ .dropdown {
320
+ margin-left: auto;
321
+ }
322
+ @media screen and (max-width: 767px) {
323
+ .dropdown dso-dropdown-menu {
324
+ top: 28px;
325
+ }
326
+ }
327
+ .dropdown dso-dropdown-menu .dso-dropdown-options {
328
+ top: calc(100% + 29px);
329
+ }
330
+ @media screen and (max-width: 767px) {
331
+ .dropdown dso-dropdown-menu .dso-dropdown-options {
332
+ top: 72px;
333
+ }
334
+ }
335
+ .dropdown dso-dropdown-menu[open] button::after {
336
+ background: var(--dso-icon, var(--di-chevron-up)) no-repeat;
337
+ background-position: center;
338
+ background-size: cover;
339
+ height: 1.5em;
340
+ vertical-align: top;
341
+ width: 1.5em;
342
+ }
343
+ .dropdown dso-dropdown-menu button {
344
+ color: #39870c;
345
+ font-size: 16px;
346
+ font-weight: 600;
347
+ }
348
+ .dropdown dso-dropdown-menu button:hover, .dropdown dso-dropdown-menu button:active {
349
+ cursor: pointer;
350
+ text-decoration: underline;
351
+ }
352
+ .dropdown dso-dropdown-menu button::after {
353
+ background: var(--dso-icon, var(--di-chevron-down)) no-repeat;
354
+ background-position: center;
355
+ background-size: cover;
356
+ height: 1.5em;
357
+ vertical-align: top;
358
+ width: 1.5em;
359
+ }
360
+
361
+ .dso-nav {
362
+ align-items: end;
363
+ column-gap: 32px;
364
+ display: flex;
365
+ list-style: none;
366
+ margin-bottom: 0;
367
+ margin-top: 0;
368
+ padding-left: 0;
369
+ }
370
+ .dso-nav > li {
371
+ margin-bottom: 4px;
372
+ }
373
+ .dso-nav > li > a {
374
+ display: block;
375
+ }
376
+ .dso-nav > li > a, .dso-nav > li > a:hover, .dso-nav > li > a:focus, .dso-nav > li > a:visited {
377
+ color: #275937;
378
+ }
379
+ .dso-nav > li.dso-active, .dso-nav > li.is-active {
380
+ margin-bottom: 0;
381
+ }
382
+ .dso-nav > li.dso-active > a, .dso-nav > li.is-active > a {
383
+ border-bottom: 4px solid #8b4a6a;
384
+ font-weight: bold;
385
+ }
386
+ .dso-nav.dso-nav-main > li > a {
387
+ text-decoration: none;
388
+ font-size: 1.25em;
389
+ line-height: 1;
390
+ margin-top: 8px;
391
+ padding: 16px 0;
392
+ /* stylelint-disable-next-line declaration-property-value-disallowed-list */
393
+ white-space: nowrap;
394
+ }
395
+ .dso-nav.dso-nav-main > li > a:hover, .dso-nav.dso-nav-main > li > a:focus, .dso-nav.dso-nav-main > li > a:active {
396
+ text-decoration: underline;
397
+ }
398
+ .dso-nav.dso-nav-main dso-dropdown-menu .dso-dropdown-options {
399
+ top: calc(100% + 3px);
400
+ }
401
+ .dso-nav.dso-nav-main dso-dropdown-menu button {
402
+ font-size: 1.25em;
403
+ line-height: 1;
404
+ margin-top: 8px;
405
+ padding: 16px 0;
406
+ align-items: center;
407
+ color: #275937;
408
+ padding-right: 32px;
409
+ }
410
+ .dso-nav.dso-nav-main dso-dropdown-menu button:hover, .dso-nav.dso-nav-main dso-dropdown-menu button:active {
411
+ cursor: pointer;
412
+ text-decoration: underline;
413
+ }
414
+ .dso-nav.dso-nav-main dso-dropdown-menu button::after {
415
+ top: auto;
416
+ transform: none;
417
+ }
418
+ .dso-nav.dso-nav-sub > li {
419
+ display: inline-block;
420
+ }
421
+ .dso-nav.dso-nav-sub > li > a {
422
+ text-decoration: none;
423
+ font-size: 16px;
424
+ margin-top: 4px;
425
+ padding: 4px 8px 3px;
426
+ }
427
+ .dso-nav.dso-nav-sub > li > a:hover, .dso-nav.dso-nav-sub > li > a:focus, .dso-nav.dso-nav-sub > li > a:active {
428
+ text-decoration: underline;
429
+ }
430
+ .dso-nav .menu-user-home {
431
+ margin-left: auto;
432
+ }
433
+ .dso-nav .menu-user-home dso-icon {
434
+ height: 1em;
435
+ margin-right: 8px;
436
+ position: relative;
437
+ top: -2px;
438
+ width: 1.2em;
439
+ }