@dso-toolkit/core 28.0.2 → 29.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 (112) hide show
  1. package/dist/cjs/dso-alert.cjs.entry.js +2 -2
  2. package/dist/cjs/dso-attachments-counter.cjs.entry.js +2 -2
  3. package/dist/cjs/dso-autosuggest.cjs.entry.js +3 -3
  4. package/dist/cjs/dso-badge.cjs.entry.js +2 -2
  5. package/dist/cjs/dso-banner.cjs.entry.js +2 -2
  6. package/dist/cjs/dso-date-picker.cjs.entry.js +2 -2
  7. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +47 -7
  8. package/dist/cjs/dso-highlight-box.cjs.entry.js +2 -2
  9. package/dist/cjs/dso-icon.cjs.entry.js +9 -3
  10. package/dist/cjs/dso-info_3.cjs.entry.js +4 -4
  11. package/dist/cjs/dso-label.cjs.entry.js +2 -2
  12. package/dist/cjs/dso-map-base-layers.cjs.entry.js +2 -2
  13. package/dist/cjs/dso-map-controls.cjs.entry.js +2 -2
  14. package/dist/cjs/dso-map-overlays.cjs.entry.js +2 -2
  15. package/dist/cjs/dso-ozon-content.cjs.entry.js +325 -4
  16. package/dist/cjs/dso-progress-bar.cjs.entry.js +2 -2
  17. package/dist/cjs/dso-progress-indicator.cjs.entry.js +2 -2
  18. package/dist/cjs/dso-toolkit.cjs.js +2 -2
  19. package/dist/cjs/dso-tooltip.cjs.entry.js +55 -23
  20. package/dist/cjs/{index-be0edad4.js → index-fcdfdd38.js} +94 -34
  21. package/dist/cjs/loader.cjs.js +2 -2
  22. package/dist/cjs/{v4-14140ff3.js → v4-8e8d6fbc.js} +0 -0
  23. package/dist/collection/collection-manifest.json +1 -1
  24. package/dist/collection/components/icon/icon.css +1 -0
  25. package/dist/collection/components/icon/icon.js +2 -0
  26. package/dist/collection/components/ozon-content/ozon-content.transformer.js +11 -2
  27. package/dist/collection/icon/dso-icon-sass-function.js +2 -2
  28. package/dist/custom-elements/index.js +447 -48
  29. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  30. package/dist/dso-toolkit/p-08427682.entry.js +1 -0
  31. package/dist/dso-toolkit/p-0a7cb861.entry.js +1 -0
  32. package/dist/dso-toolkit/p-12f7e7d7.entry.js +5 -0
  33. package/dist/dso-toolkit/{p-ad90fe4d.js → p-19b890a3.js} +0 -0
  34. package/dist/dso-toolkit/p-262858dd.entry.js +1 -0
  35. package/dist/dso-toolkit/p-2c6e9460.entry.js +1 -0
  36. package/dist/dso-toolkit/p-2e7d535c.entry.js +1 -0
  37. package/dist/dso-toolkit/p-94500196.entry.js +1 -0
  38. package/dist/dso-toolkit/p-968d9e1d.entry.js +1 -0
  39. package/dist/dso-toolkit/p-a2357726.entry.js +1 -0
  40. package/dist/dso-toolkit/p-a40eeb32.js +1 -0
  41. package/dist/dso-toolkit/p-ae6209c6.entry.js +1 -0
  42. package/dist/dso-toolkit/p-b5b946de.entry.js +1 -0
  43. package/dist/dso-toolkit/p-c5acf7e2.entry.js +1 -0
  44. package/dist/dso-toolkit/p-c9c1bc8f.entry.js +1 -0
  45. package/dist/dso-toolkit/p-d748df48.entry.js +1 -0
  46. package/dist/dso-toolkit/p-dff52fb0.entry.js +1 -0
  47. package/dist/dso-toolkit/p-e4269e02.entry.js +1 -0
  48. package/dist/dso-toolkit/p-e7700d9e.entry.js +1 -0
  49. package/dist/dso-toolkit/p-eadba8c3.entry.js +1 -0
  50. package/dist/esm/dso-alert.entry.js +2 -2
  51. package/dist/esm/dso-attachments-counter.entry.js +2 -2
  52. package/dist/esm/dso-autosuggest.entry.js +3 -3
  53. package/dist/esm/dso-badge.entry.js +2 -2
  54. package/dist/esm/dso-banner.entry.js +2 -2
  55. package/dist/esm/dso-date-picker.entry.js +2 -2
  56. package/dist/esm/dso-dropdown-menu.entry.js +47 -7
  57. package/dist/esm/dso-highlight-box.entry.js +2 -2
  58. package/dist/esm/dso-icon.entry.js +9 -3
  59. package/dist/esm/dso-info_3.entry.js +4 -4
  60. package/dist/esm/dso-label.entry.js +2 -2
  61. package/dist/esm/dso-map-base-layers.entry.js +2 -2
  62. package/dist/esm/dso-map-controls.entry.js +2 -2
  63. package/dist/esm/dso-map-overlays.entry.js +2 -2
  64. package/dist/esm/dso-ozon-content.entry.js +325 -4
  65. package/dist/esm/dso-progress-bar.entry.js +2 -2
  66. package/dist/esm/dso-progress-indicator.entry.js +2 -2
  67. package/dist/esm/dso-toolkit.js +2 -2
  68. package/dist/esm/dso-tooltip.entry.js +55 -23
  69. package/dist/esm/{index-dd97a66d.js → index-61410be2.js} +94 -34
  70. package/dist/esm/loader.js +2 -2
  71. package/dist/esm/{v4-929670b7.js → v4-fa4bb814.js} +0 -0
  72. package/dist/types/components/alert/alert.template.d.ts +2 -2
  73. package/dist/types/components/attachments-counter/attachments-counter.template.d.ts +1 -1
  74. package/dist/types/components/autosuggest/autosuggest.template.d.ts +1 -1
  75. package/dist/types/components/badge/badge.template.d.ts +1 -1
  76. package/dist/types/components/banner/banner.template.d.ts +1 -1
  77. package/dist/types/components/date-picker/date-picker.template.d.ts +3 -3
  78. package/dist/types/components/dropdown-menu/dropdown-menu.template.d.ts +1 -1
  79. package/dist/types/components/highlight-box/highlight-box.template.d.ts +1 -1
  80. package/dist/types/components/icon/icon.template.d.ts +1 -1
  81. package/dist/types/components/info/info.template.d.ts +1 -1
  82. package/dist/types/components/info-button/info-button.template.d.ts +1 -1
  83. package/dist/types/components/label/label.template.d.ts +1 -1
  84. package/dist/types/components/map-controls/map-controls.template.d.ts +1 -1
  85. package/dist/types/components/ozon-content/ozon-content.template.d.ts +1 -1
  86. package/dist/types/components/ozon-content/ozon-content.transformer.d.ts +1 -0
  87. package/dist/types/components/progress-bar/progress-bar.template.d.ts +1 -1
  88. package/dist/types/components/progress-indicator/progress-indicator.template.d.ts +1 -1
  89. package/dist/types/components/selectable/selectable.template.d.ts +1 -1
  90. package/dist/types/components/tooltip/tooltip.template.d.ts +1 -1
  91. package/dist/types/stencil-public-runtime.d.ts +190 -182
  92. package/loader/index.d.ts +0 -1
  93. package/package.json +34 -32
  94. package/dist/dso-toolkit/p-060ce2e1.entry.js +0 -1
  95. package/dist/dso-toolkit/p-15d08205.entry.js +0 -1
  96. package/dist/dso-toolkit/p-20493f89.entry.js +0 -1
  97. package/dist/dso-toolkit/p-215b881c.entry.js +0 -1
  98. package/dist/dso-toolkit/p-4403a2b4.entry.js +0 -1
  99. package/dist/dso-toolkit/p-5a0a919b.entry.js +0 -1
  100. package/dist/dso-toolkit/p-636dd53f.entry.js +0 -1
  101. package/dist/dso-toolkit/p-6499f8f7.entry.js +0 -1
  102. package/dist/dso-toolkit/p-8f381afb.entry.js +0 -1
  103. package/dist/dso-toolkit/p-939f358e.entry.js +0 -1
  104. package/dist/dso-toolkit/p-9721d73f.entry.js +0 -1
  105. package/dist/dso-toolkit/p-97fb0d06.entry.js +0 -1
  106. package/dist/dso-toolkit/p-a17d1e9c.entry.js +0 -1
  107. package/dist/dso-toolkit/p-a7ca7cc4.entry.js +0 -1
  108. package/dist/dso-toolkit/p-aae83ed4.entry.js +0 -1
  109. package/dist/dso-toolkit/p-acf8e697.js +0 -1
  110. package/dist/dso-toolkit/p-f0aba566.entry.js +0 -1
  111. package/dist/dso-toolkit/p-f451295c.entry.js +0 -5
  112. package/dist/dso-toolkit/p-f7d6fd8a.entry.js +0 -1
@@ -2,7 +2,320 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-be0edad4.js');
5
+ const index = require('./index-fcdfdd38.js');
6
+
7
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
8
+
9
+ function assertString(input) {
10
+ var isString = typeof input === 'string' || input instanceof String;
11
+
12
+ if (!isString) {
13
+ var invalidType = _typeof(input);
14
+
15
+ if (input === null) invalidType = 'null';else if (invalidType === 'object') invalidType = input.constructor.name;
16
+ throw new TypeError("Expected a string but received a ".concat(invalidType));
17
+ }
18
+ }
19
+
20
+ function merge() {
21
+ var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
22
+ var defaults = arguments.length > 1 ? arguments[1] : undefined;
23
+
24
+ for (var key in defaults) {
25
+ if (typeof obj[key] === 'undefined') {
26
+ obj[key] = defaults[key];
27
+ }
28
+ }
29
+
30
+ return obj;
31
+ }
32
+
33
+ var default_fqdn_options = {
34
+ require_tld: true,
35
+ allow_underscores: false,
36
+ allow_trailing_dot: false,
37
+ allow_numeric_tld: false
38
+ };
39
+ function isFQDN(str, options) {
40
+ assertString(str);
41
+ options = merge(options, default_fqdn_options);
42
+ /* Remove the optional trailing dot before checking validity */
43
+
44
+ if (options.allow_trailing_dot && str[str.length - 1] === '.') {
45
+ str = str.substring(0, str.length - 1);
46
+ }
47
+
48
+ var parts = str.split('.');
49
+ var tld = parts[parts.length - 1];
50
+
51
+ if (options.require_tld) {
52
+ // disallow fqdns without tld
53
+ if (parts.length < 2) {
54
+ return false;
55
+ }
56
+
57
+ if (!/^([a-z\u00a1-\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
58
+ return false;
59
+ } // disallow spaces && special characers
60
+
61
+
62
+ if (/[\s\u2002-\u200B\u202F\u205F\u3000\uFEFF\uDB40\uDC20\u00A9\uFFFD]/.test(tld)) {
63
+ return false;
64
+ }
65
+ } // reject numeric TLDs
66
+
67
+
68
+ if (!options.allow_numeric_tld && /^\d+$/.test(tld)) {
69
+ return false;
70
+ }
71
+
72
+ return parts.every(function (part) {
73
+ if (part.length > 63) {
74
+ return false;
75
+ }
76
+
77
+ if (!/^[a-z_\u00a1-\uffff0-9-]+$/i.test(part)) {
78
+ return false;
79
+ } // disallow full-width chars
80
+
81
+
82
+ if (/[\uff01-\uff5e]/.test(part)) {
83
+ return false;
84
+ } // disallow parts starting or ending with hyphen
85
+
86
+
87
+ if (/^-|-$/.test(part)) {
88
+ return false;
89
+ }
90
+
91
+ if (!options.allow_underscores && /_/.test(part)) {
92
+ return false;
93
+ }
94
+
95
+ return true;
96
+ });
97
+ }
98
+
99
+ /**
100
+ 11.3. Examples
101
+
102
+ The following addresses
103
+
104
+ fe80::1234 (on the 1st link of the node)
105
+ ff02::5678 (on the 5th link of the node)
106
+ ff08::9abc (on the 10th organization of the node)
107
+
108
+ would be represented as follows:
109
+
110
+ fe80::1234%1
111
+ ff02::5678%5
112
+ ff08::9abc%10
113
+
114
+ (Here we assume a natural translation from a zone index to the
115
+ <zone_id> part, where the Nth zone of any scope is translated into
116
+ "N".)
117
+
118
+ If we use interface names as <zone_id>, those addresses could also be
119
+ represented as follows:
120
+
121
+ fe80::1234%ne0
122
+ ff02::5678%pvc1.3
123
+ ff08::9abc%interface10
124
+
125
+ where the interface "ne0" belongs to the 1st link, "pvc1.3" belongs
126
+ to the 5th link, and "interface10" belongs to the 10th organization.
127
+ * * */
128
+
129
+ var IPv4SegmentFormat = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
130
+ var IPv4AddressFormat = "(".concat(IPv4SegmentFormat, "[.]){3}").concat(IPv4SegmentFormat);
131
+ var IPv4AddressRegExp = new RegExp("^".concat(IPv4AddressFormat, "$"));
132
+ var IPv6SegmentFormat = '(?:[0-9a-fA-F]{1,4})';
133
+ var IPv6AddressRegExp = new RegExp('^(' + "(?:".concat(IPv6SegmentFormat, ":){7}(?:").concat(IPv6SegmentFormat, "|:)|") + "(?:".concat(IPv6SegmentFormat, ":){6}(?:").concat(IPv4AddressFormat, "|:").concat(IPv6SegmentFormat, "|:)|") + "(?:".concat(IPv6SegmentFormat, ":){5}(?::").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,2}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){4}(?:(:").concat(IPv6SegmentFormat, "){0,1}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,3}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){3}(?:(:").concat(IPv6SegmentFormat, "){0,2}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,4}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){2}(?:(:").concat(IPv6SegmentFormat, "){0,3}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,5}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){1}(?:(:").concat(IPv6SegmentFormat, "){0,4}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,6}|:)|") + "(?::((?::".concat(IPv6SegmentFormat, "){0,5}:").concat(IPv4AddressFormat, "|(?::").concat(IPv6SegmentFormat, "){1,7}|:))") + ')(%[0-9a-zA-Z-.:]{1,})?$');
134
+ function isIP(str) {
135
+ var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
136
+ assertString(str);
137
+ version = String(version);
138
+
139
+ if (!version) {
140
+ return isIP(str, 4) || isIP(str, 6);
141
+ }
142
+
143
+ if (version === '4') {
144
+ if (!IPv4AddressRegExp.test(str)) {
145
+ return false;
146
+ }
147
+
148
+ var parts = str.split('.').sort(function (a, b) {
149
+ return a - b;
150
+ });
151
+ return parts[3] <= 255;
152
+ }
153
+
154
+ if (version === '6') {
155
+ return !!IPv6AddressRegExp.test(str);
156
+ }
157
+
158
+ return false;
159
+ }
160
+
161
+ /*
162
+ options for isURL method
163
+
164
+ require_protocol - if set as true isURL will return false if protocol is not present in the URL
165
+ require_valid_protocol - isURL will check if the URL's protocol is present in the protocols option
166
+ protocols - valid protocols can be modified with this option
167
+ require_host - if set as false isURL will not check if host is present in the URL
168
+ require_port - if set as true isURL will check if port is present in the URL
169
+ allow_protocol_relative_urls - if set as true protocol relative URLs will be allowed
170
+ validate_length - if set as false isURL will skip string length validation (IE maximum is 2083)
171
+
172
+ */
173
+
174
+ var default_url_options = {
175
+ protocols: ['http', 'https', 'ftp'],
176
+ require_tld: true,
177
+ require_protocol: false,
178
+ require_host: true,
179
+ require_port: false,
180
+ require_valid_protocol: true,
181
+ allow_underscores: false,
182
+ allow_trailing_dot: false,
183
+ allow_protocol_relative_urls: false,
184
+ validate_length: true
185
+ };
186
+ var wrapped_ipv6 = /^\[([^\]]+)\](?::([0-9]+))?$/;
187
+
188
+ function isRegExp(obj) {
189
+ return Object.prototype.toString.call(obj) === '[object RegExp]';
190
+ }
191
+
192
+ function checkHost(host, matches) {
193
+ for (var i = 0; i < matches.length; i++) {
194
+ var match = matches[i];
195
+
196
+ if (host === match || isRegExp(match) && match.test(host)) {
197
+ return true;
198
+ }
199
+ }
200
+
201
+ return false;
202
+ }
203
+
204
+ function isURL(url, options) {
205
+ assertString(url);
206
+
207
+ if (!url || /[\s<>]/.test(url)) {
208
+ return false;
209
+ }
210
+
211
+ if (url.indexOf('mailto:') === 0) {
212
+ return false;
213
+ }
214
+
215
+ options = merge(options, default_url_options);
216
+
217
+ if (options.validate_length && url.length >= 2083) {
218
+ return false;
219
+ }
220
+
221
+ var protocol, auth, host, hostname, port, port_str, split, ipv6;
222
+ split = url.split('#');
223
+ url = split.shift();
224
+ split = url.split('?');
225
+ url = split.shift();
226
+ split = url.split('://');
227
+
228
+ if (split.length > 1) {
229
+ protocol = split.shift().toLowerCase();
230
+
231
+ if (options.require_valid_protocol && options.protocols.indexOf(protocol) === -1) {
232
+ return false;
233
+ }
234
+ } else if (options.require_protocol) {
235
+ return false;
236
+ } else if (url.substr(0, 2) === '//') {
237
+ if (!options.allow_protocol_relative_urls) {
238
+ return false;
239
+ }
240
+
241
+ split[0] = url.substr(2);
242
+ }
243
+
244
+ url = split.join('://');
245
+
246
+ if (url === '') {
247
+ return false;
248
+ }
249
+
250
+ split = url.split('/');
251
+ url = split.shift();
252
+
253
+ if (url === '' && !options.require_host) {
254
+ return true;
255
+ }
256
+
257
+ split = url.split('@');
258
+
259
+ if (split.length > 1) {
260
+ if (options.disallow_auth) {
261
+ return false;
262
+ }
263
+
264
+ if (split[0] === '' || split[0].substr(0, 1) === ':') {
265
+ return false;
266
+ }
267
+
268
+ auth = split.shift();
269
+
270
+ if (auth.indexOf(':') >= 0 && auth.split(':').length > 2) {
271
+ return false;
272
+ }
273
+ }
274
+
275
+ hostname = split.join('@');
276
+ port_str = null;
277
+ ipv6 = null;
278
+ var ipv6_match = hostname.match(wrapped_ipv6);
279
+
280
+ if (ipv6_match) {
281
+ host = '';
282
+ ipv6 = ipv6_match[1];
283
+ port_str = ipv6_match[2] || null;
284
+ } else {
285
+ split = hostname.split(':');
286
+ host = split.shift();
287
+
288
+ if (split.length) {
289
+ port_str = split.join(':');
290
+ }
291
+ }
292
+
293
+ if (port_str !== null) {
294
+ port = parseInt(port_str, 10);
295
+
296
+ if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {
297
+ return false;
298
+ }
299
+ } else if (options.require_port) {
300
+ return false;
301
+ }
302
+
303
+ if (!isIP(host) && !isFQDN(host, options) && (!ipv6 || !isIP(ipv6, 6))) {
304
+ return false;
305
+ }
306
+
307
+ host = host || ipv6;
308
+
309
+ if (options.host_whitelist && !checkHost(host, options.host_whitelist)) {
310
+ return false;
311
+ }
312
+
313
+ if (options.host_blacklist && checkHost(host, options.host_blacklist)) {
314
+ return false;
315
+ }
316
+
317
+ return true;
318
+ }
6
319
 
7
320
  function transformDescriptionNote(body) {
8
321
  body.querySelectorAll('a.noot > div.noot_popup').forEach((e, index) => {
@@ -18,7 +331,7 @@ function transformDescriptionNote(body) {
18
331
  const [termId, contentId] = [`dso-ozon-term-${id}`, `dso-ozon-content-${id}`];
19
332
  anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.setAttribute('id', termId);
20
333
  anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.setAttribute('aria-controls', contentId);
21
- anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.setAttribute('aria-open', 'false');
334
+ anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.setAttribute('aria-expanded', 'false');
22
335
  contentElement === null || contentElement === void 0 ? void 0 : contentElement.setAttribute('id', contentId);
23
336
  });
24
337
  return body;
@@ -37,7 +350,7 @@ class OzonContentTransformer {
37
350
  constructor(anchorClick) {
38
351
  this.anchorClick = anchorClick;
39
352
  this.domParser = new DOMParser();
40
- this.eventHandlers = [this.handleDescriptionNoteClick, this.handleContentAnchor];
353
+ this.eventHandlers = [this.handleValidUrls, this.handleDescriptionNoteClick, this.handleContentAnchor];
41
354
  }
42
355
  setContent(content) {
43
356
  this.content = transformers.reduce((c, t) => t(c), this.domParser.parseFromString(content, 'text/html').body).children;
@@ -82,6 +395,14 @@ class OzonContentTransformer {
82
395
  }
83
396
  return false;
84
397
  }
398
+ handleValidUrls(composedPath) {
399
+ var _a;
400
+ const containerIndex = composedPath.findIndex(this.isHostElement);
401
+ if (containerIndex === -1) {
402
+ return false;
403
+ }
404
+ return (_a = composedPath.slice(0, containerIndex)) === null || _a === void 0 ? void 0 : _a.some(e => e instanceof HTMLAnchorElement && isURL(e.href));
405
+ }
85
406
  isHostElement(value) {
86
407
  return value instanceof HTMLElement && value.tagName === 'DSO-OZON-CONTENT';
87
408
  }
@@ -89,7 +410,7 @@ class OzonContentTransformer {
89
410
 
90
411
  const ozonContentCss = "dso-ozon-content{display:block}.noot{text-decoration:none}.noot:not(.dso-open)+.od-Al{display:none}.noot.dso-open+.od-Al{display:block}.noot+.od-Al{margin:4px 0;padding:8px 32px 8px 8px;position:relative}.noot+.od-Al>a{display:block;height:24px;position:absolute;right:0;text-align:center;top:0;width:24px}.noot+.od-Al>a::before{background:var(--dso-icon, var(--di-times-zwart)) no-repeat;background-position:center;background-size:cover;height:1.5em;vertical-align:top;width:1.5em;content:\"\";display:block}.noot+.od-Al{background-color:#ebf3e6}.od-Term{font-weight:700}.od-Definitie,.od-Tussenkop{font-style:italic}.od-Inhoud,.od-Inhoud>.od-Lijst,.od-IntIoRef,.od-Lidnr,.od-LiNr,.od-Opschrift,.od-Tussenkop{display:inline}.od-Al,.od-Lijstaanhef{margin-bottom:0.75em}.od-IntIoRef{border-bottom:1px dotted}.od-LiNummer{float:left;min-width:0.7em;padding-right:0.3em;text-align:right}.od-Figuur img{margin-left:25px;max-width:100%;height:auto}.od-Figuur .od-Bijschrift{font-size:0.75rem;margin-left:25px;padding-bottom:2.5rem}.od-Tabel thead{font-weight:600}.od-Kadertekst{border:1px solid #e5e5e5;margin-bottom:1rem;padding:1rem}";
91
412
 
92
- const OzonContent = class {
413
+ let OzonContent = class {
93
414
  constructor(hostRef) {
94
415
  index.registerInstance(this, hostRef);
95
416
  this.anchorClick = index.createEvent(this, "anchorClick", 7);
@@ -2,11 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-be0edad4.js');
5
+ const index = require('./index-fcdfdd38.js');
6
6
 
7
7
  const progressBarCss = ":host{display:block}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.progress{background-color:#fff;border:1px solid #39870c;height:16px;margin-bottom:calc(16px + 1em);position:relative}.progress .progress-bar{background-color:#39870c;color:#fff;float:left;font-size:14px;height:100%;line-height:16px;text-align:center;width:0%}.progress .progress-bar>span:not(.sr-only){color:#191919;left:0;position:absolute;top:calc(100% + 8px)}";
8
8
 
9
- const ProgressBar = class {
9
+ let ProgressBar = class {
10
10
  constructor(hostRef) {
11
11
  index.registerInstance(this, hostRef);
12
12
  this.min = 0;
@@ -2,11 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-be0edad4.js');
5
+ const index = require('./index-fcdfdd38.js');
6
6
 
7
7
  const progressIndicatorCss = "*,*::after,*::before{box-sizing:border-box}.dso-progress-indicator-spinner{display:inline-block;margin:0;position:relative;vertical-align:middle}span.dso-progress-indicator-label{margin-left:16px;vertical-align:middle}:host{display:block}:host([block]){align-items:center;display:flex;justify-content:center}:host([size=small]) .dso-progress-indicator-spinner,:host(:not([size=medium]):not([size=large])) .dso-progress-indicator-spinner{height:24px;width:24px}:host([size=small]):host([block]),:host(:not([size=medium]):not([size=large])):host([block]){padding:12px 16px}:host([size=medium]) .dso-progress-indicator-spinner{height:32px;width:32px}:host([size=medium]):host([block]){padding:16px}:host([size=large]) .dso-progress-indicator-spinner{height:48px;width:48px}:host([size=large]):host([block]){padding:24px 16px}";
8
8
 
9
- const Progressindicator = class {
9
+ let Progressindicator = class {
10
10
  constructor(hostRef) {
11
11
  index.registerInstance(this, hostRef);
12
12
  }
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index-be0edad4.js');
3
+ const index = require('./index-fcdfdd38.js');
4
4
 
5
5
  /*
6
- Stencil Client Patch Browser v2.5.2 | MIT Licensed | https://stenciljs.com
6
+ Stencil Client Patch Browser v2.9.0 | MIT Licensed | https://stenciljs.com
7
7
  */
8
8
  const patchBrowser = () => {
9
9
  const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('dso-toolkit.cjs.js', document.baseURI).href));
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-be0edad4.js');
5
+ const index = require('./index-fcdfdd38.js');
6
6
  const clsx_m = require('./clsx.m-b00fa5e1.js');
7
7
 
8
8
  var top = 'top';
@@ -161,17 +161,39 @@ function getBasePlacement(placement) {
161
161
  return placement.split('-')[0];
162
162
  }
163
163
 
164
- function getBoundingClientRect(element) {
164
+ // import { isHTMLElement } from './instanceOf';
165
+ function getBoundingClientRect(element, // eslint-disable-next-line unused-imports/no-unused-vars
166
+ includeScale) {
167
+
165
168
  var rect = element.getBoundingClientRect();
169
+ var scaleX = 1;
170
+ var scaleY = 1; // FIXME:
171
+ // `offsetWidth` returns an integer while `getBoundingClientRect`
172
+ // returns a float. This results in `scaleX` or `scaleY` being
173
+ // non-1 when it should be for elements that aren't a full pixel in
174
+ // width or height.
175
+ // if (isHTMLElement(element) && includeScale) {
176
+ // const offsetHeight = element.offsetHeight;
177
+ // const offsetWidth = element.offsetWidth;
178
+ // // Do not attempt to divide by 0, otherwise we get `Infinity` as scale
179
+ // // Fallback to 1 in case both values are `0`
180
+ // if (offsetWidth > 0) {
181
+ // scaleX = rect.width / offsetWidth || 1;
182
+ // }
183
+ // if (offsetHeight > 0) {
184
+ // scaleY = rect.height / offsetHeight || 1;
185
+ // }
186
+ // }
187
+
166
188
  return {
167
- width: rect.width,
168
- height: rect.height,
169
- top: rect.top,
170
- right: rect.right,
171
- bottom: rect.bottom,
172
- left: rect.left,
173
- x: rect.left,
174
- y: rect.top
189
+ width: rect.width / scaleX,
190
+ height: rect.height / scaleY,
191
+ top: rect.top / scaleY,
192
+ right: rect.right / scaleX,
193
+ bottom: rect.bottom / scaleY,
194
+ left: rect.left / scaleX,
195
+ x: rect.left / scaleX,
196
+ y: rect.top / scaleY
175
197
  };
176
198
  }
177
199
 
@@ -426,6 +448,10 @@ const arrow$1 = {
426
448
  requiresIfExists: ['preventOverflow']
427
449
  };
428
450
 
451
+ function getVariation(placement) {
452
+ return placement.split('-')[1];
453
+ }
454
+
429
455
  var unsetSides = {
430
456
  top: 'auto',
431
457
  right: 'auto',
@@ -452,6 +478,7 @@ function mapToStyles(_ref2) {
452
478
  var popper = _ref2.popper,
453
479
  popperRect = _ref2.popperRect,
454
480
  placement = _ref2.placement,
481
+ variation = _ref2.variation,
455
482
  offsets = _ref2.offsets,
456
483
  position = _ref2.position,
457
484
  gpuAcceleration = _ref2.gpuAcceleration,
@@ -478,7 +505,7 @@ function mapToStyles(_ref2) {
478
505
  if (offsetParent === getWindow(popper)) {
479
506
  offsetParent = getDocumentElement(popper);
480
507
 
481
- if (getComputedStyle(offsetParent).position !== 'static') {
508
+ if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {
482
509
  heightProp = 'scrollHeight';
483
510
  widthProp = 'scrollWidth';
484
511
  }
@@ -487,14 +514,14 @@ function mapToStyles(_ref2) {
487
514
 
488
515
  offsetParent = offsetParent;
489
516
 
490
- if (placement === top) {
517
+ if (placement === top || (placement === left || placement === right) && variation === end) {
491
518
  sideY = bottom; // $FlowFixMe[prop-missing]
492
519
 
493
520
  y -= offsetParent[heightProp] - popperRect.height;
494
521
  y *= gpuAcceleration ? 1 : -1;
495
522
  }
496
523
 
497
- if (placement === left) {
524
+ if (placement === left || (placement === top || placement === bottom) && variation === end) {
498
525
  sideX = right; // $FlowFixMe[prop-missing]
499
526
 
500
527
  x -= offsetParent[widthProp] - popperRect.width;
@@ -509,7 +536,7 @@ function mapToStyles(_ref2) {
509
536
  if (gpuAcceleration) {
510
537
  var _Object$assign;
511
538
 
512
- return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) < 2 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
539
+ return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
513
540
  }
514
541
 
515
542
  return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2));
@@ -527,6 +554,7 @@ function computeStyles(_ref4) {
527
554
 
528
555
  var commonStyles = {
529
556
  placement: getBasePlacement(state.placement),
557
+ variation: getVariation(state.placement),
530
558
  popper: state.elements.popper,
531
559
  popperRect: state.rects.popper,
532
560
  gpuAcceleration: gpuAcceleration
@@ -829,10 +857,6 @@ function getClippingRect(element, boundary, rootBoundary) {
829
857
  return clippingRect;
830
858
  }
831
859
 
832
- function getVariation(placement) {
833
- return placement.split('-')[1];
834
- }
835
-
836
860
  function computeOffsets(_ref) {
837
861
  var reference = _ref.reference,
838
862
  element = _ref.element,
@@ -918,11 +942,10 @@ function detectOverflow(state, options) {
918
942
  padding = _options$padding === void 0 ? 0 : _options$padding;
919
943
  var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));
920
944
  var altContext = elementContext === popper ? reference : popper;
921
- var referenceElement = state.elements.reference;
922
945
  var popperRect = state.rects.popper;
923
946
  var element = state.elements[altBoundary ? altContext : elementContext];
924
947
  var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);
925
- var referenceClientRect = getBoundingClientRect(referenceElement);
948
+ var referenceClientRect = getBoundingClientRect(state.elements.reference);
926
949
  var popperOffsets = computeOffsets({
927
950
  reference: referenceClientRect,
928
951
  element: popperRect,
@@ -1399,16 +1422,24 @@ function getNodeScroll(node) {
1399
1422
  }
1400
1423
  }
1401
1424
 
1425
+ function isElementScaled(element) {
1426
+ var rect = element.getBoundingClientRect();
1427
+ var scaleX = rect.width / element.offsetWidth || 1;
1428
+ var scaleY = rect.height / element.offsetHeight || 1;
1429
+ return scaleX !== 1 || scaleY !== 1;
1430
+ } // Returns the composite rect of an element relative to its offsetParent.
1402
1431
  // Composite means it takes into account transforms as well as layout.
1403
1432
 
1433
+
1404
1434
  function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
1405
1435
  if (isFixed === void 0) {
1406
1436
  isFixed = false;
1407
1437
  }
1408
1438
 
1439
+ var isOffsetParentAnElement = isHTMLElement(offsetParent);
1440
+ isHTMLElement(offsetParent) && isElementScaled(offsetParent);
1409
1441
  var documentElement = getDocumentElement(offsetParent);
1410
1442
  var rect = getBoundingClientRect(elementOrVirtualElement);
1411
- var isOffsetParentAnElement = isHTMLElement(offsetParent);
1412
1443
  var scroll = {
1413
1444
  scrollLeft: 0,
1414
1445
  scrollTop: 0
@@ -1562,7 +1593,8 @@ function popperGenerator(generatorOptions) {
1562
1593
  var isDestroyed = false;
1563
1594
  var instance = {
1564
1595
  state: state,
1565
- setOptions: function setOptions(options) {
1596
+ setOptions: function setOptions(setOptionsAction) {
1597
+ var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;
1566
1598
  cleanupModifierEffects();
1567
1599
  state.options = Object.assign({}, defaultOptions, state.options, options);
1568
1600
  state.scrollParents = {
@@ -1715,7 +1747,7 @@ const tooltipCss = ":host(:not([hidden])){display:block}*,*::after,*::before{box
1715
1747
 
1716
1748
  // Keep const in sync with $tooltip-transition-duration in @dso-toolkit/sources/tooltip.scss tooltip_root() mixin
1717
1749
  const transitionDuration = 150;
1718
- const Tooltip = class {
1750
+ let Tooltip = class {
1719
1751
  constructor(hostRef) {
1720
1752
  index.registerInstance(this, hostRef);
1721
1753
  /**