@dso-toolkit/core 30.1.0 → 32.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 (96) hide show
  1. package/dist/cjs/dso-alert.cjs.entry.js +1 -1
  2. package/dist/cjs/dso-autosuggest.cjs.entry.js +14 -2
  3. package/dist/cjs/dso-banner.cjs.entry.js +1 -1
  4. package/dist/cjs/dso-date-picker.cjs.entry.js +54 -14
  5. package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
  6. package/dist/cjs/dso-icon.cjs.entry.js +6 -4
  7. package/dist/cjs/dso-info-button.cjs.entry.js +26 -0
  8. package/dist/cjs/{dso-info_3.cjs.entry.js → dso-info_2.cjs.entry.js} +1 -21
  9. package/dist/cjs/dso-label.cjs.entry.js +1 -1
  10. package/dist/cjs/dso-ozon-content.cjs.entry.js +48 -11
  11. package/dist/cjs/dso-toggletip.cjs.entry.js +62 -0
  12. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  13. package/dist/cjs/dso-tooltip.cjs.entry.js +33 -26
  14. package/dist/cjs/dso-tree-view.cjs.entry.js +180 -0
  15. package/dist/cjs/loader.cjs.js +1 -1
  16. package/dist/collection/collection-manifest.json +3 -1
  17. package/dist/collection/components/alert/alert.css +2 -0
  18. package/dist/collection/components/autosuggest/autosuggest.js +3 -2
  19. package/dist/collection/components/banner/banner.css +2 -0
  20. package/dist/collection/components/date-picker/date-localization.js +1 -1
  21. package/dist/collection/components/date-picker/date-picker.css +0 -3
  22. package/dist/collection/components/date-picker/date-picker.js +108 -14
  23. package/dist/collection/components/date-picker/date-picker.template.js +2 -1
  24. package/dist/collection/components/highlight-box/highlight-box.css +1 -1
  25. package/dist/collection/components/icon/icon.js +9 -7
  26. package/dist/collection/components/info/info.css +4 -4
  27. package/dist/collection/components/info-button/info-button.css +10 -3
  28. package/dist/collection/components/info-button/info-button.js +18 -1
  29. package/dist/collection/components/info-button/info-button.template.js +2 -1
  30. package/dist/collection/components/label/label.decorator.js +6 -0
  31. package/dist/collection/components/label/label.js +1 -0
  32. package/dist/collection/components/label/label.template.js +10 -2
  33. package/dist/collection/components/ozon-content/ozon-content.transformer.js +1 -1
  34. package/dist/collection/components/toggletip/toggletip.css +8 -0
  35. package/dist/collection/components/toggletip/toggletip.js +137 -0
  36. package/dist/collection/components/toggletip/toggletip.template.js +12 -0
  37. package/dist/collection/components/tooltip/tooltip.css +1 -1
  38. package/dist/collection/components/tooltip/tooltip.js +49 -25
  39. package/dist/collection/components/tree-view/tree-item.js +20 -0
  40. package/dist/collection/components/tree-view/tree-view.css +43 -0
  41. package/dist/collection/components/tree-view/tree-view.interfaces.js +1 -0
  42. package/dist/collection/components/tree-view/tree-view.js +239 -0
  43. package/dist/collection/components/tree-view/tree-view.template.js +11 -0
  44. package/dist/custom-elements/index.d.ts +12 -0
  45. package/dist/custom-elements/index.js +402 -69
  46. package/dist/dso-toolkit/dso-toolkit.css +1 -1
  47. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  48. package/dist/dso-toolkit/{p-968d9e1d.entry.js → p-19de4cc7.entry.js} +1 -1
  49. package/dist/dso-toolkit/p-39dae284.entry.js +1 -0
  50. package/dist/dso-toolkit/p-5665f1ee.entry.js +1 -0
  51. package/dist/dso-toolkit/{p-eadba8c3.entry.js → p-5a67f3f7.entry.js} +1 -1
  52. package/dist/dso-toolkit/p-759920d0.entry.js +1 -0
  53. package/dist/dso-toolkit/{p-d748df48.entry.js → p-83f166b3.entry.js} +1 -1
  54. package/dist/dso-toolkit/p-9e9f8bcf.entry.js +1 -0
  55. package/dist/dso-toolkit/p-a52d3623.entry.js +1 -0
  56. package/dist/dso-toolkit/p-ad8f467f.entry.js +1 -0
  57. package/dist/dso-toolkit/{p-a2357726.entry.js → p-affe82e6.entry.js} +1 -1
  58. package/dist/dso-toolkit/{p-ae6209c6.entry.js → p-be5682cc.entry.js} +1 -1
  59. package/dist/dso-toolkit/p-e03d7741.entry.js +1 -0
  60. package/dist/dso-toolkit/p-e2dc97c4.entry.js +1 -0
  61. package/dist/esm/dso-alert.entry.js +1 -1
  62. package/dist/esm/dso-autosuggest.entry.js +14 -2
  63. package/dist/esm/dso-banner.entry.js +1 -1
  64. package/dist/esm/dso-date-picker.entry.js +54 -14
  65. package/dist/esm/dso-highlight-box.entry.js +1 -1
  66. package/dist/esm/dso-icon.entry.js +6 -4
  67. package/dist/esm/dso-info-button.entry.js +22 -0
  68. package/dist/esm/{dso-info_3.entry.js → dso-info_2.entry.js} +2 -21
  69. package/dist/esm/dso-label.entry.js +1 -1
  70. package/dist/esm/dso-ozon-content.entry.js +48 -11
  71. package/dist/esm/dso-toggletip.entry.js +58 -0
  72. package/dist/esm/dso-toolkit.js +1 -1
  73. package/dist/esm/dso-tooltip.entry.js +33 -26
  74. package/dist/esm/dso-tree-view.entry.js +176 -0
  75. package/dist/esm/loader.js +1 -1
  76. package/dist/types/components/date-picker/date-picker.d.ts +20 -0
  77. package/dist/types/components/date-picker/date-picker.template.d.ts +1 -1
  78. package/dist/types/components/icon/icon.d.ts +1 -1
  79. package/dist/types/components/info-button/info-button.d.ts +1 -0
  80. package/dist/types/components/info-button/info-button.template.d.ts +1 -1
  81. package/dist/types/components/label/label.decorator.d.ts +3 -0
  82. package/dist/types/components/label/label.template.d.ts +1 -1
  83. package/dist/types/components/toggletip/toggletip.d.ts +17 -0
  84. package/dist/types/components/toggletip/toggletip.template.d.ts +2 -0
  85. package/dist/types/components/tooltip/tooltip.d.ts +6 -2
  86. package/dist/types/components/tree-view/tree-item.d.ts +13 -0
  87. package/dist/types/components/tree-view/tree-view.d.ts +36 -0
  88. package/dist/types/components/tree-view/tree-view.interfaces.d.ts +24 -0
  89. package/dist/types/components/tree-view/tree-view.template.d.ts +2 -0
  90. package/dist/types/components.d.ts +84 -3
  91. package/package.json +2 -1
  92. package/dist/dso-toolkit/p-112ed9ac.entry.js +0 -1
  93. package/dist/dso-toolkit/p-187782ee.entry.js +0 -1
  94. package/dist/dso-toolkit/p-2c6e9460.entry.js +0 -1
  95. package/dist/dso-toolkit/p-6fcc89f9.entry.js +0 -1
  96. package/dist/dso-toolkit/p-c5acf7e2.entry.js +0 -1
@@ -30,7 +30,8 @@ var default_fqdn_options = {
30
30
  require_tld: true,
31
31
  allow_underscores: false,
32
32
  allow_trailing_dot: false,
33
- allow_numeric_tld: false
33
+ allow_numeric_tld: false,
34
+ allow_wildcard: false
34
35
  };
35
36
  function isFQDN(str, options) {
36
37
  assertString(str);
@@ -40,6 +41,12 @@ function isFQDN(str, options) {
40
41
  if (options.allow_trailing_dot && str[str.length - 1] === '.') {
41
42
  str = str.substring(0, str.length - 1);
42
43
  }
44
+ /* Remove the optional wildcard before checking validity */
45
+
46
+
47
+ if (options.allow_wildcard === true && str.indexOf('*.') === 0) {
48
+ str = str.substring(2);
49
+ }
43
50
 
44
51
  var parts = str.split('.');
45
52
  var tld = parts[parts.length - 1];
@@ -50,12 +57,12 @@ function isFQDN(str, options) {
50
57
  return false;
51
58
  }
52
59
 
53
- if (!/^([a-z\u00a1-\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
60
+ if (!/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
54
61
  return false;
55
- } // disallow spaces && special characers
62
+ } // disallow spaces
56
63
 
57
64
 
58
- if (/[\s\u2002-\u200B\u202F\u205F\u3000\uFEFF\uDB40\uDC20\u00A9\uFFFD]/.test(tld)) {
65
+ if (/\s/.test(tld)) {
59
66
  return false;
60
67
  }
61
68
  } // reject numeric TLDs
@@ -154,6 +161,17 @@ function isIP(str) {
154
161
  return false;
155
162
  }
156
163
 
164
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
165
+
166
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
167
+
168
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
169
+
170
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
171
+
172
+ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
173
+
174
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
157
175
  /*
158
176
  options for isURL method
159
177
 
@@ -177,6 +195,8 @@ var default_url_options = {
177
195
  allow_underscores: false,
178
196
  allow_trailing_dot: false,
179
197
  allow_protocol_relative_urls: false,
198
+ allow_fragments: true,
199
+ allow_query_components: true,
180
200
  validate_length: true
181
201
  };
182
202
  var wrapped_ipv6 = /^\[([^\]]+)\](?::([0-9]+))?$/;
@@ -214,6 +234,14 @@ function isURL(url, options) {
214
234
  return false;
215
235
  }
216
236
 
237
+ if (!options.allow_fragments && url.includes('#')) {
238
+ return false;
239
+ }
240
+
241
+ if (!options.allow_query_components && (url.includes('?') || url.includes('&'))) {
242
+ return false;
243
+ }
244
+
217
245
  var protocol, auth, host, hostname, port, port_str, split, ipv6;
218
246
  split = url.split('#');
219
247
  url = split.shift();
@@ -257,7 +285,7 @@ function isURL(url, options) {
257
285
  return false;
258
286
  }
259
287
 
260
- if (split[0] === '' || split[0].substr(0, 1) === ':') {
288
+ if (split[0] === '') {
261
289
  return false;
262
290
  }
263
291
 
@@ -266,6 +294,15 @@ function isURL(url, options) {
266
294
  if (auth.indexOf(':') >= 0 && auth.split(':').length > 2) {
267
295
  return false;
268
296
  }
297
+
298
+ var _auth$split = auth.split(':'),
299
+ _auth$split2 = _slicedToArray(_auth$split, 2),
300
+ user = _auth$split2[0],
301
+ password = _auth$split2[1];
302
+
303
+ if (user === '' && password === '') {
304
+ return false;
305
+ }
269
306
  }
270
307
 
271
308
  hostname = split.join('@');
@@ -286,7 +323,7 @@ function isURL(url, options) {
286
323
  }
287
324
  }
288
325
 
289
- if (port_str !== null) {
326
+ if (port_str !== null && port_str.length > 0) {
290
327
  port = parseInt(port_str, 10);
291
328
 
292
329
  if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {
@@ -296,16 +333,16 @@ function isURL(url, options) {
296
333
  return false;
297
334
  }
298
335
 
336
+ if (options.host_whitelist) {
337
+ return checkHost(host, options.host_whitelist);
338
+ }
339
+
299
340
  if (!isIP(host) && !isFQDN(host, options) && (!ipv6 || !isIP(ipv6, 6))) {
300
341
  return false;
301
342
  }
302
343
 
303
344
  host = host || ipv6;
304
345
 
305
- if (options.host_whitelist && !checkHost(host, options.host_whitelist)) {
306
- return false;
307
- }
308
-
309
346
  if (options.host_blacklist && checkHost(host, options.host_blacklist)) {
310
347
  return false;
311
348
  }
@@ -314,7 +351,7 @@ function isURL(url, options) {
314
351
  }
315
352
 
316
353
  function transformDescriptionNote(body) {
317
- body.querySelectorAll('.od-Al > div.noot').forEach((nootElement, index) => {
354
+ body.querySelectorAll('div.noot').forEach((nootElement, index) => {
318
355
  const contentElement = nootElement.nextElementSibling;
319
356
  if (!(contentElement instanceof HTMLDivElement && contentElement.classList.value === 'noot_popup')) {
320
357
  return;
@@ -0,0 +1,58 @@
1
+ import { r as registerInstance, h, F as Fragment, g as getElement } from './index-61410be2.js';
2
+
3
+ const toggletipCss = "*,*::after,*::before{box-sizing:border-box}";
4
+
5
+ let Toggletip = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.active = false;
9
+ this.label = "Toelichting";
10
+ this.position = "right";
11
+ this.click = () => {
12
+ this.active ? this.close() : this.open();
13
+ };
14
+ this.open = () => {
15
+ this.active = true;
16
+ this.host.addEventListener("keydown", this.keyDownListener);
17
+ this.host.addEventListener("focusout", this.focusOutListener);
18
+ };
19
+ this.close = () => {
20
+ this.host.removeEventListener("focusout", this.focusOutListener);
21
+ this.host.removeEventListener("keydown", this.keyDownListener);
22
+ this.active = false;
23
+ };
24
+ this.focusOutListener = (event) => {
25
+ if (!this.host.contains(event.relatedTarget)) {
26
+ this.close();
27
+ }
28
+ };
29
+ this.keyDownListener = (event) => {
30
+ if (!event.defaultPrevented && event.key == "Escape") {
31
+ this.close();
32
+ this.button.focus();
33
+ event.preventDefault();
34
+ }
35
+ return;
36
+ };
37
+ }
38
+ componentDidRender() {
39
+ var _a, _b, _c;
40
+ const infoButton = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("dso-info-button");
41
+ if (!infoButton) {
42
+ throw Error("dso-info-button not found");
43
+ }
44
+ this.infoButton = infoButton;
45
+ const button = (_c = (_b = this.infoButton) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector("button");
46
+ if (!button) {
47
+ throw Error("button not found");
48
+ }
49
+ this.button = button;
50
+ }
51
+ render() {
52
+ return (h(Fragment, null, h("dso-info-button", { id: "toggle", onClick: this.click, label: this.label, active: this.active, secondary: this.secondary }), h("dso-tooltip", { stateless: true, for: "toggle", active: this.active, position: this.position, small: this.small }, h("slot", null))));
53
+ }
54
+ get host() { return getElement(this); }
55
+ };
56
+ Toggletip.style = toggletipCss;
57
+
58
+ export { Toggletip as dso_toggletip };
@@ -13,5 +13,5 @@ const patchBrowser = () => {
13
13
  };
14
14
 
15
15
  patchBrowser().then(options => {
16
- return bootstrapLazy([["dso-map-base-layers",[[1,"dso-map-base-layers",{"baseLayers":[16],"selectedBaseLayer":[1040]}]]],["dso-map-overlays",[[1,"dso-map-overlays",{"overlays":[16],"checkedOverlays":[1040]}]]],["dso-date-picker",[[1,"dso-date-picker",{"name":[1],"identifier":[1],"disabled":[516],"role":[1],"direction":[1],"required":[4],"value":[513],"min":[1],"max":[1],"activeFocus":[32],"focusedDay":[32],"open":[32],"setFocus":[64],"show":[64],"hide":[64]},[[6,"click","handleDocumentClick"]]]]],["dso-label",[[1,"dso-label",{"compact":[4],"removable":[4],"status":[1],"hover":[32]}]]],["dso-map-controls",[[1,"dso-map-controls",{"open":[1540],"disableZoom":[1,"disable-zoom"],"hideContent":[32]}]]],["dso-alert",[[1,"dso-alert",{"status":[1],"roleAlert":[4,"role-alert"]}]]],["dso-attachments-counter",[[1,"dso-attachments-counter",{"count":[2]}]]],["dso-autosuggest",[[6,"dso-autosuggest",{"suggestions":[16],"suggestOnFocus":[4,"suggest-on-focus"],"showSuggestions":[32],"selectedSuggestion":[32]},[[4,"click","onDocumentClick"]]]]],["dso-badge",[[1,"dso-badge",{"status":[1]}]]],["dso-banner",[[1,"dso-banner",{"status":[1]}]]],["dso-dropdown-menu",[[1,"dso-dropdown-menu",{"open":[1540],"dropdownAlign":[1,"dropdown-align"],"checkable":[4]}]]],["dso-highlight-box",[[1,"dso-highlight-box",{"yellow":[4],"border":[4],"white":[4],"dropShadow":[4,"drop-shadow"],"step":[2]}]]],["dso-ozon-content",[[0,"dso-ozon-content",{"content":[1]},[[0,"click","handleClick"]]]]],["dso-progress-bar",[[1,"dso-progress-bar",{"progress":[2],"min":[2],"max":[2]}]]],["dso-progress-indicator",[[1,"dso-progress-indicator",{"label":[1],"size":[1],"block":[4]}]]],["dso-tooltip",[[1,"dso-tooltip",{"position":[1],"for":[1],"noArrow":[4,"no-arrow"],"small":[4],"active":[1540],"hidden":[32],"activate":[64],"deactivate":[64]},[[0,"click","listenClick"]]]]],["dso-icon",[[1,"dso-icon",{"icon":[1]}]]],["dso-info_3",[[1,"dso-selectable",{"type":[1],"identifier":[1],"name":[1],"value":[1],"invalid":[4],"describedById":[1,"described-by-id"],"disabled":[4],"required":[4],"checked":[4],"indeterminate":[4],"infoFixed":[4,"info-fixed"],"infoActive":[32]}],[1,"dso-info",{"fixed":[516],"active":[516]}],[1,"dso-info-button",{"active":[1540],"label":[1]}]]]], options);
16
+ return bootstrapLazy([["dso-map-base-layers",[[1,"dso-map-base-layers",{"baseLayers":[16],"selectedBaseLayer":[1040]}]]],["dso-map-overlays",[[1,"dso-map-overlays",{"overlays":[16],"checkedOverlays":[1040]}]]],["dso-toggletip",[[1,"dso-toggletip",{"label":[1],"position":[1],"small":[4],"secondary":[4],"active":[32]}]]],["dso-tree-view",[[1,"dso-tree-view",{"collection":[16]}]]],["dso-date-picker",[[1,"dso-date-picker",{"name":[1],"identifier":[1],"disabled":[516],"role":[1],"direction":[1],"required":[4],"dsoAutofocus":[4,"dso-autofocus"],"value":[1537],"min":[1],"max":[1],"activeFocus":[32],"focusedDay":[32],"open":[32],"setFocus":[64],"show":[64],"hide":[64]},[[6,"click","handleDocumentClick"]]]]],["dso-label",[[1,"dso-label",{"compact":[4],"removable":[4],"status":[1],"hover":[32]}]]],["dso-map-controls",[[1,"dso-map-controls",{"open":[1540],"disableZoom":[1,"disable-zoom"],"hideContent":[32]}]]],["dso-alert",[[1,"dso-alert",{"status":[1],"roleAlert":[4,"role-alert"]}]]],["dso-attachments-counter",[[1,"dso-attachments-counter",{"count":[2]}]]],["dso-autosuggest",[[6,"dso-autosuggest",{"suggestions":[16],"suggestOnFocus":[4,"suggest-on-focus"],"showSuggestions":[32],"selectedSuggestion":[32]},[[4,"click","onDocumentClick"]]]]],["dso-badge",[[1,"dso-badge",{"status":[1]}]]],["dso-banner",[[1,"dso-banner",{"status":[1]}]]],["dso-dropdown-menu",[[1,"dso-dropdown-menu",{"open":[1540],"dropdownAlign":[1,"dropdown-align"],"checkable":[4]}]]],["dso-highlight-box",[[1,"dso-highlight-box",{"yellow":[4],"border":[4],"white":[4],"dropShadow":[4,"drop-shadow"],"step":[2]}]]],["dso-ozon-content",[[0,"dso-ozon-content",{"content":[1]},[[0,"click","handleClick"]]]]],["dso-progress-bar",[[1,"dso-progress-bar",{"progress":[2],"min":[2],"max":[2]}]]],["dso-progress-indicator",[[1,"dso-progress-indicator",{"label":[1],"size":[1],"block":[4]}]]],["dso-tooltip",[[1,"dso-tooltip",{"position":[1],"for":[1],"noArrow":[4,"no-arrow"],"stateless":[4],"small":[4],"active":[1540],"hidden":[32],"activate":[64],"deactivate":[64]},[[0,"click","listenClick"]]]]],["dso-icon",[[1,"dso-icon",{"icon":[1]}]]],["dso-info-button",[[1,"dso-info-button",{"active":[1540],"secondary":[4],"label":[1]}]]],["dso-info_2",[[1,"dso-selectable",{"type":[1],"identifier":[1],"name":[1],"value":[1],"invalid":[4],"describedById":[1,"described-by-id"],"disabled":[4],"required":[4],"checked":[4],"indeterminate":[4],"infoFixed":[4,"info-fixed"],"infoActive":[32]}],[1,"dso-info",{"fixed":[516],"active":[516]}]]]], options);
17
17
  });
@@ -1739,7 +1739,7 @@ var createPopper = /*#__PURE__*/popperGenerator({
1739
1739
  defaultModifiers: defaultModifiers
1740
1740
  }); // eslint-disable-next-line import/no-unused-modules
1741
1741
 
1742
- const tooltipCss = ":host(:not([hidden])){display:block}*,*::after,*::before{box-sizing:border-box}.tooltip{font-family:Asap, sans-serif;font-style:normal;font-weight:400;line-height:1.5;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;display:block;filter:drop-shadow(0 2px 8px rgba(0, 0, 0, 0.4));font-size:14px;opacity:0;position:absolute;transition:opacity 0.15s linear;z-index:1070}.tooltip.in{opacity:0.9}.tooltip .tooltip-inner{background-color:#fff;border-radius:4px;color:#191919;display:inline-block;font-size:16px;max-width:640px;padding:8px 16px;position:relative}.tooltip .tooltip-inner.dso-small{max-width:320px}.tooltip .tooltip-arrow{border-color:transparent;border-style:solid;height:0;position:absolute;width:0}.tooltip[data-popper-placement=top]{margin-top:-3px;padding:6px 0}.tooltip[data-popper-placement=top] .tooltip-arrow{border-top-color:#fff;border-width:6px 6px 0;bottom:0;left:50%;margin-left:-6px}.tooltip[data-popper-placement=right]{margin-left:3px;padding:0 6px}.tooltip[data-popper-placement=right] .tooltip-arrow{border-right-color:#fff;border-width:6px 6px 6px 0;left:0;margin-top:-6px;top:50%}.tooltip[data-popper-placement=bottom]{margin-top:3px;padding:6px 0}.tooltip[data-popper-placement=bottom] .tooltip-arrow{border-bottom-color:#fff;border-width:0 6px 6px;left:50%;margin-left:-6px;top:0}.tooltip[data-popper-placement=left]{margin-left:-3px;padding:0 6px}.tooltip[data-popper-placement=left] .tooltip-arrow{border-left-color:#fff;border-width:6px 0 6px 6px;margin-top:-6px;right:0;top:50%}";
1742
+ const tooltipCss = ":host(:not([hidden])){display:inline-block}*,*::after,*::before{box-sizing:border-box}.tooltip{font-family:Asap, sans-serif;font-style:normal;font-weight:400;line-height:1.5;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;display:block;filter:drop-shadow(0 2px 8px rgba(0, 0, 0, 0.4));font-size:14px;opacity:0;position:absolute;transition:opacity 0.15s linear;z-index:1070}.tooltip.in{opacity:0.9}.tooltip .tooltip-inner{background-color:#fff;border-radius:4px;color:#191919;display:inline-block;font-size:16px;max-width:640px;padding:8px 16px;position:relative}.tooltip .tooltip-inner.dso-small{max-width:320px}.tooltip .tooltip-arrow{border-color:transparent;border-style:solid;height:0;position:absolute;width:0}.tooltip[data-popper-placement=top]{margin-top:-3px;padding:6px 0}.tooltip[data-popper-placement=top] .tooltip-arrow{border-top-color:#fff;border-width:6px 6px 0;bottom:0;left:50%;margin-left:-6px}.tooltip[data-popper-placement=right]{margin-left:3px;padding:0 6px}.tooltip[data-popper-placement=right] .tooltip-arrow{border-right-color:#fff;border-width:6px 6px 6px 0;left:0;margin-top:-6px;top:50%}.tooltip[data-popper-placement=bottom]{margin-top:3px;padding:6px 0}.tooltip[data-popper-placement=bottom] .tooltip-arrow{border-bottom-color:#fff;border-width:0 6px 6px;left:50%;margin-left:-6px;top:0}.tooltip[data-popper-placement=left]{margin-left:-3px;padding:0 6px}.tooltip[data-popper-placement=left] .tooltip-arrow{border-left-color:#fff;border-width:6px 0 6px 6px;margin-top:-6px;right:0;top:50%}";
1743
1743
 
1744
1744
  // Keep const in sync with $tooltip-transition-duration in @dso-toolkit/sources/tooltip.scss tooltip_root() mixin
1745
1745
  const transitionDuration = 150;
@@ -1781,8 +1781,25 @@ let Tooltip = class {
1781
1781
  });
1782
1782
  }
1783
1783
  watchActive() {
1784
+ var _a;
1784
1785
  if (this.active) {
1785
1786
  this.hidden = false;
1787
+ if (!this.stateless) {
1788
+ setTimeout(() => {
1789
+ var _a;
1790
+ (_a = this.popper) === null || _a === void 0 ? void 0 : _a.setOptions({
1791
+ modifiers: [{ name: 'eventListeners', enabled: true }]
1792
+ });
1793
+ });
1794
+ }
1795
+ }
1796
+ else {
1797
+ if (!this.stateless) {
1798
+ (_a = this.popper) === null || _a === void 0 ? void 0 : _a.setOptions({
1799
+ modifiers: [{ name: 'eventListeners', enabled: false }]
1800
+ });
1801
+ }
1802
+ setTimeout(() => (this.hidden = true), transitionDuration);
1786
1803
  }
1787
1804
  }
1788
1805
  listenClick(e) {
@@ -1802,34 +1819,20 @@ let Tooltip = class {
1802
1819
  placement: this.position
1803
1820
  });
1804
1821
  this.callbacks = {
1805
- activate: () => {
1806
- this.hidden = false;
1807
- setTimeout(() => {
1808
- var _a;
1809
- this.active = true;
1810
- (_a = this.popper) === null || _a === void 0 ? void 0 : _a.setOptions({
1811
- modifiers: [{ name: 'eventListeners', enabled: true }]
1812
- });
1813
- });
1814
- },
1815
- deactivate: () => {
1816
- var _a;
1817
- this.active = false;
1818
- (_a = this.popper) === null || _a === void 0 ? void 0 : _a.setOptions({
1819
- modifiers: [{ name: 'eventListeners', enabled: false }]
1820
- });
1821
- setTimeout(() => this.hidden = true, transitionDuration);
1822
- }
1822
+ activate: () => (this.active = true),
1823
+ deactivate: () => (this.active = false)
1823
1824
  };
1824
- this.target.addEventListener('mouseenter', this.callbacks.activate);
1825
- this.target.addEventListener('mouseleave', this.callbacks.deactivate);
1826
- this.target.addEventListener('focus', this.callbacks.activate);
1827
- this.target.addEventListener('blur', this.callbacks.deactivate);
1825
+ if (!this.stateless) {
1826
+ this.target.addEventListener('mouseenter', this.callbacks.activate);
1827
+ this.target.addEventListener('mouseleave', this.callbacks.deactivate);
1828
+ this.target.addEventListener('focus', this.callbacks.activate);
1829
+ this.target.addEventListener('blur', this.callbacks.deactivate);
1830
+ }
1828
1831
  }
1829
1832
  disconnectedCallback() {
1830
1833
  var _a;
1831
1834
  (_a = this.popper) === null || _a === void 0 ? void 0 : _a.destroy();
1832
- if (this.target && this.callbacks) {
1835
+ if (!this.stateless && this.target && this.callbacks) {
1833
1836
  this.target.removeEventListener('mouseenter', this.callbacks.activate);
1834
1837
  this.target.removeEventListener('mouseleave', this.callbacks.deactivate);
1835
1838
  this.target.removeEventListener('focus', this.callbacks.activate);
@@ -1845,14 +1848,18 @@ let Tooltip = class {
1845
1848
  }
1846
1849
  }
1847
1850
  render() {
1848
- return (h(Host, { hidden: this.hidden }, h("div", { class: clsx('tooltip', { in: this.active }), role: "tooltip" }, !this.noArrow && (h("div", { class: "tooltip-arrow" })), h("div", { class: clsx('tooltip-inner', { 'dso-small': this.small }) }, h("slot", null)))));
1851
+ return (h(Host, { hidden: this.hidden }, h("div", { class: clsx('tooltip', { in: this.active }), role: "tooltip" }, !this.noArrow && h("div", { class: "tooltip-arrow" }), h("div", { class: clsx('tooltip-inner', { 'dso-small': this.small }) }, h("slot", null)))));
1849
1852
  }
1850
1853
  getTarget() {
1851
1854
  if (this.for instanceof HTMLElement) {
1852
1855
  return this.for;
1853
1856
  }
1854
1857
  if (typeof this.for === 'string') {
1855
- const reference = document.getElementById(this.for);
1858
+ const rootNode = this.element.getRootNode();
1859
+ if (!(rootNode instanceof Document || rootNode instanceof ShadowRoot)) {
1860
+ throw new Error(`rootNode is not instance of Document or ShadowRoot`);
1861
+ }
1862
+ const reference = rootNode.getElementById(this.for);
1856
1863
  if (!reference) {
1857
1864
  throw new Error(`Unable to find reference with id ${this.for}`);
1858
1865
  }
@@ -0,0 +1,176 @@
1
+ import { h, F as Fragment, r as registerInstance, c as createEvent } from './index-61410be2.js';
2
+ import { c as clsx } from './clsx.m-071989db.js';
3
+
4
+ const DsoTreeItem = ({ owner, ancestors, item, index, level, setSize }) => {
5
+ var _a, _b, _c;
6
+ return (h("li", { key: item.reference, class: clsx('tree-item', { 'has-child': item.hasItems }), role: 'none' },
7
+ h("div", { class: "tree-branch-control" }, item.hasItems
8
+ ?
9
+ h("div", { onClick: (e) => owner.itemClick(e, ancestors, item) },
10
+ h("dso-icon", { icon: item.open ? 'chevron-down' : 'chevron-right' }))
11
+ : h("dso-icon", null)),
12
+ h("p", { class: "tree-content", tabindex: level === 1 && index === 0 ? 0 : -1, role: "treeitem", "aria-expanded": item.hasItems ? '' + (!!item.open && !!((_a = item.items) === null || _a === void 0 ? void 0 : _a.length)) : undefined, "aria-level": level, "aria-setsize": setSize, "aria-posinset": index + 1, "aria-busy": item.loading ? 'true' : undefined, onClick: (e) => owner.itemClick(e, ancestors, item) },
13
+ item.href
14
+ ? h("a", { href: item.href, tabindex: "-1" }, item.label)
15
+ : h("span", null, item.label), (_b = item.icons) === null || _b === void 0 ? void 0 :
16
+ _b.map((icon) => h("dso-icon", { icon: icon.icon, title: icon.label }))),
17
+ item.open &&
18
+ h(Fragment, null, item.hasItems && !item.items && item.loading
19
+ ? h("dso-progress-indicator", { size: "small", label: "Resultaten laden: een moment geduld alstublieft." })
20
+ : h("ul", { role: "group" }, (_c = item.items) === null || _c === void 0 ? void 0 : _c.map((childItem, index, org) => h(DsoTreeItem, { owner: owner, ancestors: [...ancestors, item], item: childItem, index: index, level: level + 1, setSize: org.length }))))));
21
+ };
22
+
23
+ const treeViewCss = ":host ul{list-style-type:none}:host ul[role=tree]{padding-left:0}:host li[role=treeitem]>ul{padding-left:1.5em}:host .tree-branch-control{cursor:pointer;display:inline-block}:host .tree-content{cursor:pointer;display:inline-block;margin:8px 0}:host .tree-content a,:host .tree-content a:visited{color:#39870c;text-decoration:none}:host .tree-content a:hover,:host .tree-content a:focus{color:#676cb0;text-decoration:underline}:host .tree-content a:active{text-decoration:none}:host .tree-content dso-icon{vertical-align:text-bottom;font-size:0.75em;margin-left:0.5em}*,*::after,*::before{box-sizing:border-box}";
24
+
25
+ let TreeView = class {
26
+ constructor(hostRef) {
27
+ registerInstance(this, hostRef);
28
+ this.openItem = createEvent(this, "openItem", 7);
29
+ this.closeItem = createEvent(this, "closeItem", 7);
30
+ this.clickItem = createEvent(this, "clickItem", 7);
31
+ this.keyDownListener = (event) => {
32
+ if (event.defaultPrevented) {
33
+ return;
34
+ }
35
+ const isIndexLetter = (str) => str.length === 1 && str.match(/\S/);
36
+ const tree = event.composedPath().find(item => (item instanceof HTMLElement) ? item.className === 'dso-tree' : false);
37
+ if (!(event.target instanceof HTMLParagraphElement) || !(tree instanceof HTMLElement)) {
38
+ return;
39
+ }
40
+ switch (event.key) {
41
+ case "ArrowDown":
42
+ TreeView.moveFocus(tree, event.target, 'next');
43
+ break;
44
+ case "ArrowUp":
45
+ TreeView.moveFocus(tree, event.target, 'previous');
46
+ break;
47
+ case "ArrowRight":
48
+ TreeView.expandItemOrFocusChild(tree, event.target);
49
+ break;
50
+ case "ArrowLeft":
51
+ TreeView.collapseItemOrFocusParent(tree, event.target);
52
+ break;
53
+ case "End":
54
+ TreeView.moveFocus(tree, event.target, 'last');
55
+ break;
56
+ case "Home":
57
+ TreeView.moveFocus(tree, event.target, 'first');
58
+ break;
59
+ case "Enter":
60
+ case " ":
61
+ event.target.click();
62
+ break;
63
+ default:
64
+ if (isIndexLetter(event.key)) {
65
+ if (TreeView.setFocusByFirstCharacter(tree, event.target, event.key, event.shiftKey)) {
66
+ break;
67
+ }
68
+ }
69
+ return;
70
+ }
71
+ event.preventDefault();
72
+ };
73
+ this.itemClick = (event, ancestors, item) => {
74
+ if (!(event.target instanceof HTMLElement)) {
75
+ return;
76
+ }
77
+ const contentElement = event.target.closest('.tree-content');
78
+ if (contentElement) {
79
+ const tree = event.composedPath().find(item => (item instanceof HTMLElement) ? item.className === 'dso-tree' : false);
80
+ if (!(contentElement instanceof HTMLParagraphElement) || !(tree instanceof HTMLElement)) {
81
+ return;
82
+ }
83
+ TreeView.setFocus(tree, contentElement);
84
+ this.clickItem.emit([...ancestors, item]);
85
+ return;
86
+ }
87
+ if (item.open) {
88
+ this.closeItem.emit([...ancestors, item]);
89
+ }
90
+ else {
91
+ this.openItem.emit([...ancestors, item]);
92
+ }
93
+ };
94
+ }
95
+ static setFocus(tree, target) {
96
+ if (target) {
97
+ Array.from(tree.querySelectorAll('p'))
98
+ .filter(item => item.tabIndex === 0)
99
+ .forEach(item => item.tabIndex = -1);
100
+ target.tabIndex = 0;
101
+ target.focus();
102
+ }
103
+ }
104
+ static moveFocus(tree, el, moveTo) {
105
+ const focusableItems = Array.from(tree.querySelectorAll('p'))
106
+ .filter(item => item.offsetWidth > 0 && item.offsetHeight > 0);
107
+ let index = 0;
108
+ switch (moveTo) {
109
+ case 'first':
110
+ index = 0;
111
+ break;
112
+ case 'previous':
113
+ index = focusableItems.indexOf(el) - 1;
114
+ break;
115
+ case 'next':
116
+ index = focusableItems.indexOf(el) + 1;
117
+ break;
118
+ case 'last':
119
+ index = focusableItems.length - 1;
120
+ break;
121
+ }
122
+ TreeView.setFocus(tree, focusableItems[index]);
123
+ }
124
+ static expandItemOrFocusChild(tree, target) {
125
+ var _a;
126
+ if ((target === null || target === void 0 ? void 0 : target.getAttribute('aria-expanded')) === 'true') {
127
+ TreeView.moveFocus(tree, target, 'next');
128
+ }
129
+ else {
130
+ const controlElement = (_a = target.previousElementSibling) === null || _a === void 0 ? void 0 : _a.firstElementChild;
131
+ if (controlElement instanceof HTMLElement) {
132
+ controlElement.click();
133
+ }
134
+ }
135
+ }
136
+ static collapseItemOrFocusParent(tree, target) {
137
+ var _a, _b, _c;
138
+ if ((target === null || target === void 0 ? void 0 : target.getAttribute('aria-expanded')) === 'true') {
139
+ const controlElement = (_a = target.previousElementSibling) === null || _a === void 0 ? void 0 : _a.firstElementChild;
140
+ if (controlElement instanceof HTMLElement) {
141
+ controlElement.click();
142
+ }
143
+ }
144
+ else {
145
+ const parentTarget = (_c = (_b = target === null || target === void 0 ? void 0 : target.parentElement) === null || _b === void 0 ? void 0 : _b.parentElement) === null || _c === void 0 ? void 0 : _c.previousElementSibling;
146
+ if (parentTarget instanceof HTMLElement) {
147
+ TreeView.setFocus(tree, parentTarget);
148
+ }
149
+ }
150
+ }
151
+ static setFocusByFirstCharacter(tree, el, char, backwards) {
152
+ const focusableItems = Array.from(tree.querySelectorAll('p'))
153
+ .filter(item => item.offsetWidth > 0 && item.offsetHeight > 0);
154
+ if (backwards) {
155
+ focusableItems.reverse();
156
+ }
157
+ const current = focusableItems.indexOf(el);
158
+ char = char.toLowerCase();
159
+ let nextItem = focusableItems.find((item, index) => { var _a; return index > current && ((_a = item.textContent) === null || _a === void 0 ? void 0 : _a.toLowerCase().startsWith(char)); });
160
+ if (!nextItem) {
161
+ nextItem = focusableItems.find((item, index) => { var _a; return index < current && ((_a = item.textContent) === null || _a === void 0 ? void 0 : _a.toLowerCase().startsWith(char)); });
162
+ }
163
+ if (nextItem) {
164
+ TreeView.setFocus(tree, nextItem);
165
+ return true;
166
+ }
167
+ return false;
168
+ }
169
+ render() {
170
+ var _a;
171
+ return (h("div", { id: "tree", class: "dso-tree", onKeyDown: (e) => this.keyDownListener(e) }, h("ul", { role: "tree", "aria-label": "Objectenboom" }, (_a = this.collection) === null || _a === void 0 ? void 0 : _a.map((item, index) => h(DsoTreeItem, { owner: this, ancestors: [], item: item, index: index, level: 1, setSize: this.collection.length })))));
172
+ }
173
+ };
174
+ TreeView.style = treeViewCss;
175
+
176
+ export { TreeView as dso_tree_view };
@@ -10,7 +10,7 @@ const patchEsm = () => {
10
10
  const defineCustomElements = (win, options) => {
11
11
  if (typeof window === 'undefined') return Promise.resolve();
12
12
  return patchEsm().then(() => {
13
- return bootstrapLazy([["dso-map-base-layers",[[1,"dso-map-base-layers",{"baseLayers":[16],"selectedBaseLayer":[1040]}]]],["dso-map-overlays",[[1,"dso-map-overlays",{"overlays":[16],"checkedOverlays":[1040]}]]],["dso-date-picker",[[1,"dso-date-picker",{"name":[1],"identifier":[1],"disabled":[516],"role":[1],"direction":[1],"required":[4],"value":[513],"min":[1],"max":[1],"activeFocus":[32],"focusedDay":[32],"open":[32],"setFocus":[64],"show":[64],"hide":[64]},[[6,"click","handleDocumentClick"]]]]],["dso-label",[[1,"dso-label",{"compact":[4],"removable":[4],"status":[1],"hover":[32]}]]],["dso-map-controls",[[1,"dso-map-controls",{"open":[1540],"disableZoom":[1,"disable-zoom"],"hideContent":[32]}]]],["dso-alert",[[1,"dso-alert",{"status":[1],"roleAlert":[4,"role-alert"]}]]],["dso-attachments-counter",[[1,"dso-attachments-counter",{"count":[2]}]]],["dso-autosuggest",[[6,"dso-autosuggest",{"suggestions":[16],"suggestOnFocus":[4,"suggest-on-focus"],"showSuggestions":[32],"selectedSuggestion":[32]},[[4,"click","onDocumentClick"]]]]],["dso-badge",[[1,"dso-badge",{"status":[1]}]]],["dso-banner",[[1,"dso-banner",{"status":[1]}]]],["dso-dropdown-menu",[[1,"dso-dropdown-menu",{"open":[1540],"dropdownAlign":[1,"dropdown-align"],"checkable":[4]}]]],["dso-highlight-box",[[1,"dso-highlight-box",{"yellow":[4],"border":[4],"white":[4],"dropShadow":[4,"drop-shadow"],"step":[2]}]]],["dso-ozon-content",[[0,"dso-ozon-content",{"content":[1]},[[0,"click","handleClick"]]]]],["dso-progress-bar",[[1,"dso-progress-bar",{"progress":[2],"min":[2],"max":[2]}]]],["dso-progress-indicator",[[1,"dso-progress-indicator",{"label":[1],"size":[1],"block":[4]}]]],["dso-tooltip",[[1,"dso-tooltip",{"position":[1],"for":[1],"noArrow":[4,"no-arrow"],"small":[4],"active":[1540],"hidden":[32],"activate":[64],"deactivate":[64]},[[0,"click","listenClick"]]]]],["dso-icon",[[1,"dso-icon",{"icon":[1]}]]],["dso-info_3",[[1,"dso-selectable",{"type":[1],"identifier":[1],"name":[1],"value":[1],"invalid":[4],"describedById":[1,"described-by-id"],"disabled":[4],"required":[4],"checked":[4],"indeterminate":[4],"infoFixed":[4,"info-fixed"],"infoActive":[32]}],[1,"dso-info",{"fixed":[516],"active":[516]}],[1,"dso-info-button",{"active":[1540],"label":[1]}]]]], options);
13
+ return bootstrapLazy([["dso-map-base-layers",[[1,"dso-map-base-layers",{"baseLayers":[16],"selectedBaseLayer":[1040]}]]],["dso-map-overlays",[[1,"dso-map-overlays",{"overlays":[16],"checkedOverlays":[1040]}]]],["dso-toggletip",[[1,"dso-toggletip",{"label":[1],"position":[1],"small":[4],"secondary":[4],"active":[32]}]]],["dso-tree-view",[[1,"dso-tree-view",{"collection":[16]}]]],["dso-date-picker",[[1,"dso-date-picker",{"name":[1],"identifier":[1],"disabled":[516],"role":[1],"direction":[1],"required":[4],"dsoAutofocus":[4,"dso-autofocus"],"value":[1537],"min":[1],"max":[1],"activeFocus":[32],"focusedDay":[32],"open":[32],"setFocus":[64],"show":[64],"hide":[64]},[[6,"click","handleDocumentClick"]]]]],["dso-label",[[1,"dso-label",{"compact":[4],"removable":[4],"status":[1],"hover":[32]}]]],["dso-map-controls",[[1,"dso-map-controls",{"open":[1540],"disableZoom":[1,"disable-zoom"],"hideContent":[32]}]]],["dso-alert",[[1,"dso-alert",{"status":[1],"roleAlert":[4,"role-alert"]}]]],["dso-attachments-counter",[[1,"dso-attachments-counter",{"count":[2]}]]],["dso-autosuggest",[[6,"dso-autosuggest",{"suggestions":[16],"suggestOnFocus":[4,"suggest-on-focus"],"showSuggestions":[32],"selectedSuggestion":[32]},[[4,"click","onDocumentClick"]]]]],["dso-badge",[[1,"dso-badge",{"status":[1]}]]],["dso-banner",[[1,"dso-banner",{"status":[1]}]]],["dso-dropdown-menu",[[1,"dso-dropdown-menu",{"open":[1540],"dropdownAlign":[1,"dropdown-align"],"checkable":[4]}]]],["dso-highlight-box",[[1,"dso-highlight-box",{"yellow":[4],"border":[4],"white":[4],"dropShadow":[4,"drop-shadow"],"step":[2]}]]],["dso-ozon-content",[[0,"dso-ozon-content",{"content":[1]},[[0,"click","handleClick"]]]]],["dso-progress-bar",[[1,"dso-progress-bar",{"progress":[2],"min":[2],"max":[2]}]]],["dso-progress-indicator",[[1,"dso-progress-indicator",{"label":[1],"size":[1],"block":[4]}]]],["dso-tooltip",[[1,"dso-tooltip",{"position":[1],"for":[1],"noArrow":[4,"no-arrow"],"stateless":[4],"small":[4],"active":[1540],"hidden":[32],"activate":[64],"deactivate":[64]},[[0,"click","listenClick"]]]]],["dso-icon",[[1,"dso-icon",{"icon":[1]}]]],["dso-info-button",[[1,"dso-info-button",{"active":[1540],"secondary":[4],"label":[1]}]]],["dso-info_2",[[1,"dso-selectable",{"type":[1],"identifier":[1],"name":[1],"value":[1],"invalid":[4],"describedById":[1,"described-by-id"],"disabled":[4],"required":[4],"checked":[4],"indeterminate":[4],"infoFixed":[4,"info-fixed"],"infoActive":[32]}],[1,"dso-info",{"fixed":[516],"active":[516]}]]]], options);
14
14
  });
15
15
  };
16
16
 
@@ -3,10 +3,15 @@ export declare type DsoDatePickerChangeEvent = {
3
3
  component: "dso-date-picker";
4
4
  valueAsDate: Date | undefined;
5
5
  value: string;
6
+ error?: "invalid" | "required";
6
7
  };
7
8
  export declare type DsoDatePickerFocusEvent = {
8
9
  component: "dso-date-picker";
9
10
  };
11
+ export declare type DsoDatePickerKeyboardEvent = {
12
+ component: "dso-date-picker";
13
+ originalEvent: KeyboardEvent;
14
+ };
10
15
  export declare type DsoDatePickerDirection = "left" | "right";
11
16
  export declare class DsoDatePicker implements ComponentInterface {
12
17
  /**
@@ -65,6 +70,10 @@ export declare class DsoDatePicker implements ComponentInterface {
65
70
  * Should the input be marked as required?
66
71
  */
67
72
  required: boolean;
73
+ /**
74
+ * Should the input be focused on load?
75
+ */
76
+ dsoAutofocus: boolean;
68
77
  /**
69
78
  * Date value. Must be in Dutch date format: DD-MM-YYYY.
70
79
  */
@@ -90,6 +99,14 @@ export declare class DsoDatePicker implements ComponentInterface {
90
99
  * Event emitted the date picker input is blurred.
91
100
  */
92
101
  dsoBlur: EventEmitter<DsoDatePickerFocusEvent>;
102
+ /**
103
+ * Event emitted on key up in the date picker input.
104
+ */
105
+ dsoKeyUp: EventEmitter<DsoDatePickerKeyboardEvent>;
106
+ /**
107
+ * Event emitted on key down in the date picker input.
108
+ */
109
+ dsoKeyDown: EventEmitter<DsoDatePickerKeyboardEvent>;
93
110
  /**
94
111
  * Event emitted the date picker input is focused.
95
112
  */
@@ -130,6 +147,8 @@ export declare class DsoDatePicker implements ComponentInterface {
130
147
  private toggleOpen;
131
148
  private handleEscKey;
132
149
  private handleBlur;
150
+ private handleKeyUp;
151
+ private handleKeyDown;
133
152
  private handleFocus;
134
153
  private handleTouchStart;
135
154
  private handleTouchMove;
@@ -144,6 +163,7 @@ export declare class DsoDatePicker implements ComponentInterface {
144
163
  private handleInputChange;
145
164
  private setValue;
146
165
  private processFocusedDayNode;
166
+ componentDidLoad(): void;
147
167
  /**
148
168
  * render() function
149
169
  * Always the last one in the class.
@@ -1,5 +1,5 @@
1
1
  import { DatePicker } from '@dso-toolkit/sources';
2
2
  import { TemplateResult } from 'lit-html';
3
- export declare function datePickerTemplate({ id, onDateChange, value, min, max, disabled }: DatePicker): TemplateResult<1>;
3
+ export declare function datePickerTemplate({ id, onDateChange, value, min, max, disabled, autofocus }: DatePicker): TemplateResult<1>;
4
4
  export declare function datePickerWithLabelTemplate(datePicker: TemplateResult, id: string, label: string): TemplateResult<1>;
5
5
  export declare function datePickerShowByScriptingTemplate(datePicker: TemplateResult, id: string): TemplateResult<1>;
@@ -1,4 +1,4 @@
1
1
  export declare class Icon {
2
- icon: string;
2
+ icon?: string;
3
3
  render(): any;
4
4
  }
@@ -5,6 +5,7 @@ export interface InfoButtonToggleEvent {
5
5
  }
6
6
  export declare class InfoButton {
7
7
  active?: boolean;
8
+ secondary?: boolean;
8
9
  label: string;
9
10
  toggle: EventEmitter<InfoButtonToggleEvent>;
10
11
  private handleToggle;
@@ -1,2 +1,2 @@
1
1
  import { InfoButton } from '@dso-toolkit/sources';
2
- export declare function infoButtonTemplate({ label, active, onClick }: InfoButton): import("lit-html").TemplateResult<1>;
2
+ export declare function infoButtonTemplate({ label, active, secondary, onClick }: InfoButton): import("lit-html").TemplateResult<1>;
@@ -0,0 +1,3 @@
1
+ import { LabelParameters } from '@dso-toolkit/sources';
2
+ import { TemplateResult } from 'lit-html';
3
+ export declare const decorator: LabelParameters<TemplateResult>['decorator'];
@@ -1,2 +1,2 @@
1
1
  import { Label } from '@dso-toolkit/sources';
2
- export declare function labelTemplate({ status, label, button, compact }: Label): import("lit-html").TemplateResult<1>;
2
+ export declare function labelTemplate({ status, label, button, compact, symbol }: Label): import("lit-html").TemplateResult<1>;
@@ -0,0 +1,17 @@
1
+ export declare class Toggletip {
2
+ host: HTMLElement;
3
+ active: boolean;
4
+ label: string;
5
+ position: "top" | "right" | "bottom" | "left";
6
+ small?: boolean;
7
+ secondary?: boolean;
8
+ infoButton: HTMLDsoInfoButtonElement;
9
+ button: HTMLButtonElement;
10
+ componentDidRender(): void;
11
+ click: () => void;
12
+ open: () => void;
13
+ close: () => void;
14
+ focusOutListener: (event: FocusEvent) => void;
15
+ keyDownListener: (event: KeyboardEvent) => void;
16
+ render(): any;
17
+ }
@@ -0,0 +1,2 @@
1
+ import { Toggletip } from "@dso-toolkit/sources";
2
+ export declare function toggletipTemplate({ children, label, position, small, secondary, }: Toggletip): import("lit-html").TemplateResult<1>;