@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
@@ -1,9 +1,9 @@
1
- import { r as registerInstance, h } from './index-dd97a66d.js';
1
+ import { r as registerInstance, h } from './index-61410be2.js';
2
2
  import { c as clsx } from './clsx.m-071989db.js';
3
3
 
4
4
  const bannerCss = ":host{display:block;--di-status-danger:url(\"data:image/svg+xml,%3csvg id='status-danger-line' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e %3cg%3e %3cpath d='M22.6%2c18.51c.86%2c1.37.29%2c2.49-1.25%2c2.49H2.65C1.11%2c21%2c.54%2c19.88%2c1.4%2c18.51L10.44%2c4a1.7%2c1.7%2c0%2c0%2c1%2c3.12%2c0Z' style='fill: %23ce3f51'/%3e %3cpath d='M12%2c3a1.9%2c1.9%2c0%2c0%2c1%2c1.56%2c1l9%2c14.48c.86%2c1.37.29%2c2.49-1.25%2c2.49H2.65C1.11%2c21%2c.54%2c19.88%2c1.4%2c18.51L10.44%2c4A1.9%2c1.9%2c0%2c0%2c1%2c12%2c3m0-1A2.89%2c2.89%2c0%2c0%2c0%2c9.6%2c3.5L.55%2c18a2.75%2c2.75%2c0%2c0%2c0-.28%2c2.81A2.59%2c2.59%2c0%2c0%2c0%2c2.65%2c22h18.7a2.59%2c2.59%2c0%2c0%2c0%2c2.38-1.21A2.75%2c2.75%2c0%2c0%2c0%2c23.45%2c18L14.4%2c3.5A2.89%2c2.89%2c0%2c0%2c0%2c12%2c2Z' style='fill: white'/%3e %3c/g%3e %3cpath d='M12%2c16a1%2c1%2c0%2c0%2c1-1-.91V8.91a1%2c1%2c0%2c0%2c1%2c2%2c0v6.18A1%2c1%2c0%2c0%2c1%2c12%2c16Zm0%2c1a1%2c1%2c0%2c1%2c0%2c1%2c1A1%2c1%2c0%2c0%2c0%2c12%2c17Z' style='fill: white'/%3e %3c/svg%3e\");--di-status-warning:url(\"data:image/svg+xml,%3csvg id='status-warning' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e %3cg%3e %3cpath d='M22.6%2c18.51c.86%2c1.37.29%2c2.49-1.25%2c2.49H2.65C1.11%2c21%2c.54%2c19.88%2c1.4%2c18.51L10.44%2c4a1.7%2c1.7%2c0%2c0%2c1%2c3.12%2c0Z' style='fill: %23dcd400'/%3e %3cpath d='M12%2c3a1.9%2c1.9%2c0%2c0%2c1%2c1.56%2c1l9%2c14.48c.86%2c1.37.29%2c2.49-1.25%2c2.49H2.65C1.11%2c21%2c.54%2c19.88%2c1.4%2c18.51L10.44%2c4A1.9%2c1.9%2c0%2c0%2c1%2c12%2c3m0-1A2.89%2c2.89%2c0%2c0%2c0%2c9.6%2c3.5L.55%2c18a2.75%2c2.75%2c0%2c0%2c0-.28%2c2.81A2.59%2c2.59%2c0%2c0%2c0%2c2.65%2c22h18.7a2.59%2c2.59%2c0%2c0%2c0%2c2.38-1.21A2.75%2c2.75%2c0%2c0%2c0%2c23.45%2c18L14.4%2c3.5A2.89%2c2.89%2c0%2c0%2c0%2c12%2c2Z' style='fill: white'/%3e %3c/g%3e %3cpath d='M11.73%2c15.85a1%2c1%2c0%2c0%2c1-1-.91V8.76a1%2c1%2c0%2c0%2c1%2c2%2c0v6.18A1%2c1%2c0%2c0%2c1%2c11.73%2c15.85Zm0%2c1a1%2c1%2c0%2c1%2c0%2c1%2c1A1%2c1%2c0%2c0%2c0%2c11.73%2c16.85Z'/%3e %3c/svg%3e\")}*,*::after,*::before{box-sizing:border-box}.dso-banner{padding:16px 0;position:relative}";
5
5
 
6
- const Banner = class {
6
+ let Banner = class {
7
7
  constructor(hostRef) {
8
8
  registerInstance(this, hostRef);
9
9
  }
@@ -1,4 +1,4 @@
1
- import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-dd97a66d.js';
1
+ import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-61410be2.js';
2
2
  import { c as createIdentifier } from './create-identifier-22acd3a3.js';
3
3
 
4
4
  var DaysOfWeek;
@@ -264,7 +264,7 @@ const keyCode = {
264
264
  };
265
265
  const DISALLOWED_CHARACTERS = /[^0-9\.\/\-]+/g;
266
266
  const TRANSITION_MS = 300;
267
- const DsoDatePicker = class {
267
+ let DsoDatePicker = class {
268
268
  constructor(hostRef) {
269
269
  registerInstance(this, hostRef);
270
270
  this.dateChange = createEvent(this, "dateChange", 7);
@@ -1,8 +1,8 @@
1
- import { r as registerInstance, h, F as Fragment, g as getElement } from './index-dd97a66d.js';
2
- import { v as v4 } from './v4-929670b7.js';
1
+ import { r as registerInstance, h, F as Fragment, g as getElement } from './index-61410be2.js';
2
+ import { v as v4 } from './v4-fa4bb814.js';
3
3
 
4
4
  /*!
5
- * tabbable 5.2.0
5
+ * tabbable 5.2.1
6
6
  * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
7
7
  */
8
8
  var candidateSelectors = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable="false"])', 'details>summary:first-of-type', 'details'];
@@ -141,13 +141,53 @@ var isHidden = function isHidden(node, displayCheck) {
141
141
  return width === 0 && height === 0;
142
142
  }
143
143
 
144
+ return false;
145
+ }; // form fields (nested) inside a disabled fieldset are not focusable/tabbable
146
+ // unless they are in the _first_ <legend> element of the top-most disabled
147
+ // fieldset
148
+
149
+
150
+ var isDisabledFromFieldset = function isDisabledFromFieldset(node) {
151
+ if (isInput(node) || node.tagName === 'SELECT' || node.tagName === 'TEXTAREA' || node.tagName === 'BUTTON') {
152
+ var parentNode = node.parentElement;
153
+
154
+ while (parentNode) {
155
+ if (parentNode.tagName === 'FIELDSET' && parentNode.disabled) {
156
+ // look for the first <legend> as an immediate child of the disabled
157
+ // <fieldset>: if the node is in that legend, it'll be enabled even
158
+ // though the fieldset is disabled; otherwise, the node is in a
159
+ // secondary/subsequent legend, or somewhere else within the fieldset
160
+ // (however deep nested) and it'll be disabled
161
+ for (var i = 0; i < parentNode.children.length; i++) {
162
+ var child = parentNode.children.item(i);
163
+
164
+ if (child.tagName === 'LEGEND') {
165
+ if (child.contains(node)) {
166
+ return false;
167
+ } // the node isn't in the first legend (in doc order), so no matter
168
+ // where it is now, it'll be disabled
169
+
170
+
171
+ return true;
172
+ }
173
+ } // the node isn't in a legend, so no matter where it is now, it'll be disabled
174
+
175
+
176
+ return true;
177
+ }
178
+
179
+ parentNode = parentNode.parentElement;
180
+ }
181
+ } // else, node's tabbable/focusable state should not be affected by a fieldset's
182
+ // enabled/disabled state
183
+
184
+
144
185
  return false;
145
186
  };
146
187
 
147
188
  var isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable(options, node) {
148
- if (node.disabled || isHiddenInput(node) || isHidden(node, options.displayCheck) ||
149
- /* For a details element with a summary, the summary element gets the focused */
150
- isDetailsWithSummary(node)) {
189
+ if (node.disabled || isHiddenInput(node) || isHidden(node, options.displayCheck) || // For a details element with a summary, the summary element gets the focus
190
+ isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {
151
191
  return false;
152
192
  }
153
193
 
@@ -188,7 +228,7 @@ var tabbable = function tabbable(el, options) {
188
228
 
189
229
  const dropdownMenuCss = ":host{--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\");--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\");--di-chevron-down-scampi:url(\"data:image/svg+xml,%3csvg id='chevron-down' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %23676cb0%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\");--di-chevron-down-wit:url(\"data:image/svg+xml,%3csvg id='chevron-down' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: white%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\");--di-chevron-up:url(\"data:image/svg+xml,%3csvg id='chevron-up' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %2339870c%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\");--di-chevron-up-scampi:url(\"data:image/svg+xml,%3csvg id='chevron-up' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %23676cb0%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\");--di-chevron-up-wit:url(\"data:image/svg+xml,%3csvg id='chevron-up' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: white%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\");display:inline-block;position:relative}";
190
230
 
191
- const DropdownMenu = class {
231
+ let DropdownMenu = class {
192
232
  constructor(hostRef) {
193
233
  registerInstance(this, hostRef);
194
234
  /**
@@ -1,9 +1,9 @@
1
- import { r as registerInstance, h, g as getElement } from './index-dd97a66d.js';
1
+ import { r as registerInstance, h, g as getElement } from './index-61410be2.js';
2
2
  import { c as clsx } from './clsx.m-071989db.js';
3
3
 
4
4
  const highlightBoxCss = ":host{--di-external-link-grijs90:url(\"data:image/svg+xml,%3csvg id='external-link' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %23191919%3b'%3e %3cpath fill='currentColor' d='M19%2c6V9.69c0%2c.33-.2.41-.43.17L17.06%2c8.35l-3.35%2c3.36a1%2c1%2c0%2c0%2c1-1.42%2c0%2c1%2c1%2c0%2c0%2c1%2c0-1.42l3.36-3.35L14.14%2c5.43C13.9%2c5.19%2c14%2c5%2c14.31%2c5H19V6ZM18%2c17V13a1%2c1%2c0%2c0%2c0-2%2c0v4a1%2c1%2c0%2c0%2c1-1%2c1H7a1%2c1%2c0%2c0%2c1-1-1V9A1%2c1%2c0%2c0%2c1%2c7%2c8h4a1%2c1%2c0%2c0%2c0%2c0-2H7A3%2c3%2c0%2c0%2c0%2c4%2c9v8a3%2c3%2c0%2c0%2c0%2c3%2c3h8A3%2c3%2c0%2c0%2c0%2c18%2c17Z'/%3e %3c/svg%3e\");--di-download-grijs90:url(\"data:image/svg+xml,%3csvg id='download' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %23191919%3b'%3e %3cpath fill='currentColor' d='M18.72%2c10.44%2c12%2c17l-6.7-6.52C4.8%2c10%2c5%2c9.63%2c5.63%2c9.63H8.5V1.82A.8.8%2c0%2c0%2c1%2c9.28%2c1h5.44a.8.8%2c0%2c0%2c1%2c.78.82V9.61h2.87C19%2c9.6%2c19.2%2c10%2c18.72%2c10.44ZM1%2c17v6H23V17Zm16%2c3a2%2c2%2c0%2c1%2c1-2-2A2%2c2%2c0%2c0%2c1%2c17%2c20Zm5%2c0a2%2c2%2c0%2c1%2c1-2-2A2%2c2%2c0%2c0%2c1%2c22%2c20Z'/%3e %3c/svg%3e\");display:block}:host-context(.row.dso-equal-heights){height:100%;min-height:auto}:host-context(.row.dso-equal-heights)>.dso-highlight-box{min-height:auto}:host-context(.row.dso-equal-heights)>.dso-highlight-box.dso-has-counter{height:calc(100% - 48px)}:host-context(.row.dso-equal-heights)>.dso-highlight-box:not(.dso-has-counter){height:calc(100% - 16px)}*,*::after,*::before{box-sizing:border-box}.dso-highlight-box{background-color:#e5e5e5;margin-top:16px;padding:16px;margin-bottom:16px}.dso-highlight-box.dso-white{background-color:#fff}.dso-highlight-box.dso-yellow{background-color:#f8f6cc}.dso-highlight-box.dso-drop-shadow{box-shadow:0 4px 8px 0 rgba(0, 0, 0, 0.2)}.dso-highlight-box.dso-border{background-color:#fff;border:1px solid #ccc;padding:15px}.dso-highlight-box.dso-has-counter{margin-top:48px}.dso-highlight-box.dso-has-counter{padding-top:40px;position:relative}.dso-highlight-box .dso-step-counter{background-color:#39870c;border:8px solid #79b929;border-radius:50%;box-sizing:content-box;color:#fff;font-size:1.25em;font-weight:500;height:32px;left:16px;line-height:32px;position:absolute;text-align:center;top:-24px;width:32px}";
5
5
 
6
- const HighlightBox = class {
6
+ let HighlightBox = class {
7
7
  constructor(hostRef) {
8
8
  registerInstance(this, hostRef);
9
9
  }
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-dd97a66d.js';
1
+ import { r as registerInstance, h } from './index-61410be2.js';
2
2
 
3
3
  const air = `<svg id="air" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
4
4
  <path fill="currentColor" d="M24,8h0a.6.6,0,0,1-.38.56l-.1,0h0A8.18,8.18,0,0,0,21,10c-.21.55.33,2.11.77,3a.61.61,0,0,1-.12.71.63.63,0,0,1-.39.17,4.8,4.8,0,0,0-4-2.15H17a4.58,4.58,0,0,0-.37-.69A3.07,3.07,0,0,0,19,8.62h0a2.24,2.24,0,0,0,.06-.52s0-.07,0-.1,0-.07,0-.1A2.24,2.24,0,0,0,19,7.38h0a3.07,3.07,0,0,0-6,0h0a2.24,2.24,0,0,0-.06.52s0,.07,0,.1,0,.06,0,.1a.77.77,0,0,0,0,.15,6.49,6.49,0,0,0-4.51.35l-.06,0A.61.61,0,0,1,8,8.09V8H8V7.91a.61.61,0,0,1,.37-.48l.11,0h0A13.68,13.68,0,0,0,11.08,6a9.37,9.37,0,0,0-.86-3,.62.62,0,0,1,.83-.81,9.12,9.12,0,0,0,2.8.89H14A6.79,6.79,0,0,0,15.42.42a.61.61,0,0,1,1.15,0,8.43,8.43,0,0,0,1.65,2.76h.13a7.76,7.76,0,0,0,2.58-.91.61.61,0,0,1,.84.81c-.44.89-1,2.45-.77,3a8.18,8.18,0,0,0,2.48,1.33h0l.1,0A.6.6,0,0,1,24,8ZM10.68,22.34a5.15,5.15,0,0,1-3.12,1,4.72,4.72,0,0,1-4.81-3.76l-.14-.45h-.5A2,2,0,0,1,0,17.24a2,2,0,0,1,2.11-1.92,2.17,2.17,0,0,1,1.32.43l.4.29.37-.32a5,5,0,0,1,2.18-1.09l.44-.24V14a4.17,4.17,0,0,1,4.35-4,4.24,4.24,0,0,1,4.3,3.43l.1.67.69-.25a3,3,0,0,1,1-.17A2.64,2.64,0,0,1,20,16.19a2.32,2.32,0,0,1,0,.46l-.08.38.38.18A2.93,2.93,0,0,1,22,19.83a3.12,3.12,0,0,1-3.24,3,3.52,3.52,0,0,1-1.71-.45L16.47,22l-.26.58a2.58,2.58,0,0,1-4.62,0l-.3-.68Z"/>
@@ -224,6 +224,11 @@ const locationOutline = `<svg id="location-outline" xmlns="http://www.w3.org/200
224
224
  </svg>
225
225
  `;
226
226
 
227
+ const locationSearch = `<svg id="location-search" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
228
+ <path fill="currentColor" d="M16,12a4,4,0,1,1-4-4A4,4,0,0,1,16,12Zm8,0a1,1,0,0,1-1,1H19.92A8,8,0,0,1,13,19.92V23a1,1,0,0,1-2,0V19.93a8,8,0,0,1-7-6.93H1a1,1,0,0,1,0-2H4.06a8,8,0,0,1,7-6.94V1a1,1,0,0,1,2,0V4.07A8,8,0,0,1,19.92,11H23A1,1,0,0,1,24,12Zm-6,0A6,6,0,0,0,12,6H12a6,6,0,0,0-6,6V12a6,6,0,0,0,12,0Z"/>
229
+ </svg>
230
+ `;
231
+
227
232
  const lock = `<svg id="lock" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
228
233
  <path fill="currentColor" d="M18.14,9H17V7A5,5,0,0,0,7,7V9H5.86A1.87,1.87,0,0,0,4,10.86v8.28A1.87,1.87,0,0,0,5.86,21H18.14A1.87,1.87,0,0,0,20,19.14V10.86A1.87,1.87,0,0,0,18.14,9ZM9,7a3,3,0,0,1,6,0V9H9Zm4.74,9.66a1.52,1.52,0,0,1,.26.84,1.5,1.5,0,1,1-2.75-.84,2.49,2.49,0,0,1-1.25-2,2.5,2.5,0,1,1,3.74,2Z"/>
229
234
  </svg>
@@ -245,7 +250,7 @@ const marker = `<svg id="marker" xmlns="http://www.w3.org/2000/svg" viewBox="0 0
245
250
  `;
246
251
 
247
252
  const measurement = `<svg id="measurement" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
248
- <path fill="currentColor" d="M20,2a2,2,0,0,1,2,2V20a2,2,0,0,1-2,2H4a2,2,0,0,1-2-2V4A2,2,0,0,1,4,2H20m0-2H4A4,4,0,0,0,0,4V20a4,4,0,0,0,4,4H20a4,4,0,0,0,4-4V4a4,4,0,0,0-4-4ZM6,19V5A1,1,0,0,0,4,5V19a1,1,0,0,0,2,0Zm14,0V5a1,1,0,0,0-2,0V19a1,1,0,0,0,2,0ZM11,9.92a.33.33,0,0,1-.11-.28,2.41,2.41,0,0,1,.18-.93,5.77,5.77,0,0,1,.49-.9c.1-.14.2-.28.3-.4.19-.27.33-.48.42-.64a.94.94,0,0,0,.14-.45c0-.46-.24-.69-.73-.69a1.3,1.3,0,0,0-.46.08,3.26,3.26,0,0,0-.43.2.52.52,0,0,1-.22.1c-.08,0-.17-.06-.27-.19a2.3,2.3,0,0,1-.25-.44A1,1,0,0,1,10,5a.81.81,0,0,1,.58-.75A3.18,3.18,0,0,1,11.86,4a2.1,2.1,0,0,1,1.57.59A2.23,2.23,0,0,1,14,6.2a2.34,2.34,0,0,1-.25,1.14,4.23,4.23,0,0,1-.68.93l-.17.19a5,5,0,0,0-.51.63,1.42,1.42,0,0,0-.23.58.36.36,0,0,1-.15.26.69.69,0,0,1-.37.07h-.23A.7.7,0,0,1,11,9.92ZM17,18l-2-2v1H9V16L7,18l2,2V19h6v1Zm-5-7a1,1,0,1,0,1,1A1,1,0,0,0,12,11Z"/>
253
+ <path fill="currentColor" d="M1,24a1,1,0,0,1-1-1V1A1,1,0,0,1,2,1V23A1,1,0,0,1,1,24Zm23-1V1a1,1,0,0,0-2,0V23a1,1,0,0,0,2,0Zm-4-5-2-2v1H6V16L4,18l2,2V19H18v1Zm-8-3a1,1,0,1,0-1-1A1,1,0,0,0,12,15ZM12,3A4,4,0,0,0,8,7v.09a1,1,0,0,0,2,0V7a2,2,0,0,1,4,0c0,1.64-3,1.63-3,4v.09a1,1,0,0,0,2,0V11c0-1.36,3-1.21,3-4A4,4,0,0,0,12,3Z"/>
249
254
  </svg>
250
255
  `;
251
256
 
@@ -503,6 +508,7 @@ const icons = [
503
508
  { alias: 'layers', svg: layers },
504
509
  { alias: 'location', svg: location },
505
510
  { alias: 'location-outline', svg: locationOutline },
511
+ { alias: 'location-search', svg: locationSearch },
506
512
  { alias: 'lock', svg: lock },
507
513
  { alias: 'magnet', svg: magnet },
508
514
  { alias: 'map-location', svg: mapLocation },
@@ -547,7 +553,7 @@ const icons = [
547
553
  { alias: 'water', svg: water },
548
554
  { alias: 'wip-wip', svg: wipWip }
549
555
  ];
550
- const Icon = class {
556
+ let Icon = class {
551
557
  constructor(hostRef) {
552
558
  registerInstance(this, hostRef);
553
559
  }
@@ -1,10 +1,10 @@
1
- import { r as registerInstance, c as createEvent, h, F as Fragment, f as forceUpdate, g as getElement } from './index-dd97a66d.js';
1
+ import { r as registerInstance, c as createEvent, h, F as Fragment, f as forceUpdate, g as getElement } from './index-61410be2.js';
2
2
  import { c as clsx } from './clsx.m-071989db.js';
3
3
  import { c as createIdentifier } from './create-identifier-22acd3a3.js';
4
4
 
5
5
  const infoCss = ":host{--di-times-bosgroen:url(\"data:image/svg+xml,%3csvg id='times' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %23275937%3b'%3e %3cpath fill='currentColor' d='M13.36%2c12l3.3-3.3A1%2c1%2c0%2c1%2c0%2c15.3%2c7.34L12%2c10.64%2c8.7%2c7.34A1%2c1%2c0%2c1%2c0%2c7.34%2c8.7l3.3%2c3.3-3.3%2c3.3A1%2c1%2c0%2c1%2c0%2c8.7%2c16.66l3.3-3.3%2c3.3%2c3.3a1%2c1%2c0%2c1%2c0%2c1.36-1.36Z'/%3e %3c/svg%3e\");display:block;background-color:#e5e5e5;padding:16px 32px 16px 16px;position:relative}:host>button{background-color:transparent;border-style:none;padding:0;position:absolute;right:0;top:0}:host>button::before{background:var(--dso-icon, var(--di-times-bosgroen)) no-repeat;background-position:center;background-size:cover;height:1.5em;vertical-align:top;width:1.5em;content:\"\";display:inline-block}:host(:not([active]):not([fixed])){display:none}*,*::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}";
6
6
 
7
- const Info = class {
7
+ let Info = class {
8
8
  constructor(hostRef) {
9
9
  registerInstance(this, hostRef);
10
10
  this.close = createEvent(this, "close", 7);
@@ -17,7 +17,7 @@ Info.style = infoCss;
17
17
 
18
18
  const infoButtonCss = ":host{display:inline-block;--di-info:url(\"data:image/svg+xml,%3csvg id='info' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %2339870c%3b'%3e %3cpath fill='currentColor' d='M12%2c3a9%2c9%2c0%2c1%2c1-9%2c9%2c9%2c9%2c0%2c0%2c1%2c9-9m0-2A11%2c11%2c0%2c1%2c0%2c23%2c12%2c11%2c11%2c0%2c0%2c0%2c12%2c1Zm0%2c8a1%2c1%2c0%2c1%2c0-1-1A1%2c1%2c0%2c0%2c0%2c12%2c9Zm1%2c7.79V11.21A1.12%2c1.12%2c0%2c0%2c0%2c12%2c10a1.12%2c1.12%2c0%2c0%2c0-1%2c1.21v5.58A1.12%2c1.12%2c0%2c0%2c0%2c12%2c18%2c1.12%2c1.12%2c0%2c0%2c0%2c13%2c16.79Z'/%3e %3c/svg%3e\");--di-info-active:url(\"data:image/svg+xml,%3csvg id='info-active' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %2339870c%3b'%3e %3cpath fill='currentColor' d='M23%2c12A11%2c11%2c0%2c1%2c1%2c12%2c1%2c11%2c11%2c0%2c0%2c1%2c23%2c12ZM12%2c9a1%2c1%2c0%2c1%2c0-1-1A1%2c1%2c0%2c0%2c0%2c12%2c9Zm1%2c7.79V11.21A1.12%2c1.12%2c0%2c0%2c0%2c12%2c10a1.12%2c1.12%2c0%2c0%2c0-1%2c1.21v5.58A1.12%2c1.12%2c0%2c0%2c0%2c12%2c18%2c1.12%2c1.12%2c0%2c0%2c0%2c13%2c16.79Z'/%3e %3c/svg%3e\")}*,*::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}button{background:var(--dso-icon, var(--di-info)) no-repeat;background-position:center;background-size:cover;height:1.5em;vertical-align:top;width:1.5em;border:1px solid transparent;margin-left:8px;min-width:16px;padding:0}button.dso-open,button:hover,button:active{--dso-icon:var(--di-info-active)}";
19
19
 
20
- const InfoButton = class {
20
+ let InfoButton = class {
21
21
  constructor(hostRef) {
22
22
  registerInstance(this, hostRef);
23
23
  this.toggle = createEvent(this, "toggle", 7);
@@ -35,7 +35,7 @@ InfoButton.style = infoButtonCss;
35
35
 
36
36
  const selectableCss = ":host{display:block;padding:0 0 0 32px;position:relative}:host .dso-selectable-options{list-style:none;margin-top:8px;padding-left:0}:host .dso-selectable-options li+li{margin-top:8px}:host label{font-weight:400;line-height:24px;margin:0}:host input[type=checkbox][disabled]+label::before,:host input[type=checkbox][disabled]:active+label::before,:host input[type=checkbox][disabled]:focus+label::before,:host input[type=radio][disabled]+label::before,:host input[type=radio][disabled]:active+label::before,:host input[type=radio][disabled]:focus+label::before{background-color:#fff;box-shadow:0 0 0 2px #e5e5e5}:host input[type=checkbox],:host input[type=radio]{height:24px;left:0;margin:0;opacity:0;position:absolute;top:0;width:24px;z-index:1;zoom:1}:host input[type=checkbox]:not([disabled]),:host input[type=radio]:not([disabled]){cursor:pointer}:host input[type=checkbox]+label,:host input[type=radio]+label{display:inline;font-style:normal;padding-left:0}:host input[type=checkbox]+label::before,:host input[type=radio]+label::before{background:#fff;border:0;box-shadow:0 0 0 2px var(--dso-selectable-color, #275937);content:\"\";height:20px;left:2px;position:absolute;top:2px;width:20px}:host input[type=checkbox]:focus,:host input[type=radio]:focus{outline:0}:host input[type=checkbox]:focus+label::before,:host input[type=radio]:focus+label::before{box-shadow:0 0 0 3px var(--dso-selectable-color, #275937);height:18px;left:3px;top:3px;width:18px}:host input[type=checkbox]:active+label::before,:host input[type=checkbox].active+label::before,:host input[type=radio]:active+label::before,:host input[type=radio].active+label::before{background-color:#ebf3e6;box-shadow:0 0 0 1px #275937;height:22px;left:1px;top:1px;width:22px}:host input[type=checkbox]+label::before{border-radius:4px}:host input[type=checkbox]+label::after{background:transparent;content:\"\";left:6px;opacity:0;position:absolute;top:6px;zoom:1}:host input[type=checkbox]:checked+label::after,:host input[type=checkbox]:indeterminate+label::after{opacity:1}:host input[type=checkbox]:checked+label::after{border:solid;border-color:var(--dso-selectable-color, #39870c);border-top-color:transparent;border-width:0 0 3px 3px;height:8px;transform:rotate(-45deg);width:13px}:host input[type=checkbox]:indeterminate+label::after{background-color:var(--dso-selectable-color, #39870c);height:12px;width:12px}:host input[type=radio]+label::before{border-radius:50%}:host input[type=radio]+label::after{background-color:transparent;border-radius:50%;content:\"\";height:12px;left:6px;opacity:0;position:absolute;top:6px;width:12px;zoom:1}:host input[type=radio]:checked+label::after{background-color:var(--dso-selectable-color, #39870c);opacity:1}:host>dso-info{float:none;margin:8px 16px 0 -32px;width:calc(100% + 32px)}:host(:not(:last-child)){margin-bottom:8px}*,*::after,*::before{box-sizing:border-box}";
37
37
 
38
- const Selectable = class {
38
+ let Selectable = class {
39
39
  constructor(hostRef) {
40
40
  registerInstance(this, hostRef);
41
41
  this.change = createEvent(this, "dsoChange", 7);
@@ -1,9 +1,9 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-dd97a66d.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-61410be2.js';
2
2
  import { c as clsx } from './clsx.m-071989db.js';
3
3
 
4
4
  const labelCss = ":host{display:inline-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}.dso-label{background-color:#f2f2f2;border-radius:4px;color:#191919;display:inline-block;line-height:1.5}.dso-label:not(.dso-label-bright){padding:4px 8px}.dso-label:focus-within,.dso-label.dso-hover{text-decoration:line-through}.dso-label button{background:none;border:0;border-radius:0 4px 4px 0;color:inherit;float:right;font-size:16px;margin-bottom:-4px;margin-left:8px;margin-right:-4px;margin-top:0;padding:0}.dso-label button:hover{cursor:pointer}.dso-label button>dso-icon,.dso-label button>svg.di{display:block}.dso-label.dso-compact{border:0;padding:0 8px}.dso-label.dso-label-info{background-color:#6ca4d9;color:#191919}.dso-label.dso-label-primary{background-color:#275937;color:#fff}.dso-label.dso-label-success{background-color:#39870c;color:#fff}.dso-label.dso-label-warning{background-color:#dcd400;color:#191919}.dso-label.dso-label-danger{background-color:#ce3f51;color:#fff}.dso-label.dso-label-bright{background-color:#fff;color:#191919;border:1px solid #ccc;padding:3px 7px}";
5
5
 
6
- const Label = class {
6
+ let Label = class {
7
7
  constructor(hostRef) {
8
8
  registerInstance(this, hostRef);
9
9
  this.removeClick = createEvent(this, "removeClick", 7);
@@ -1,8 +1,8 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-dd97a66d.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-61410be2.js';
2
2
 
3
3
  const mapBaseLayersCss = ":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}fieldset{border:0;margin:0;min-width:0;padding:0}fieldset .control-label{display:inline-block;font-weight:bold;margin-bottom:8px;max-width:100%;text-align:left}";
4
4
 
5
- const MapBaseLayers = class {
5
+ let MapBaseLayers = class {
6
6
  constructor(hostRef) {
7
7
  registerInstance(this, hostRef);
8
8
  this.baseLayerChange = createEvent(this, "baseLayerChange", 7);
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-dd97a66d.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-61410be2.js';
2
2
 
3
3
  const mapControlsCss = "button{-webkit-appearance:button;color:inherit;cursor:pointer;font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}button[disabled]{cursor:default}button::-moz-focus-inner{border:0;padding:0}:host{background-color:#fff;border:1px solid #ccc;bottom:0;display:block;font-family:Asap, sans-serif;position:absolute;top:0;left:100%;transition:transform 300ms ease;width:300px}*,*::after,*::before{box-sizing:border-box}:host([open]){box-shadow:0 1px 4px 0 rgba(0, 0, 0, 0.3);transform:translateX(-100%)}:host([open]) #toggle-visibility-button{display:none}#controls{align-items:start;display:flex;position:absolute;right:calc(100% + 16px);top:16px}#toggle-visibility-button{display:inline-block;font-size:1em;font-weight:500;margin-bottom:0;text-decoration:none;touch-action:manipulation;text-align:left;user-select:none;vertical-align:middle;background-color:#fff;border-color:#39870c;color:#39870c;border-width:1px;border-style:solid;border-radius:4px;line-height:1.5;min-width:56px;padding:11px 15px;border:0;box-shadow:0 1px 4px 0 rgba(0, 0, 0, 0.5);font-weight:600;margin-right:16px;padding:8px 16px;white-space:nowrap}#toggle-visibility-button:focus,#toggle-visibility-button:focus-visible{outline-offset:2px}#toggle-visibility-button:active{outline:0}#toggle-visibility-button.extern::after,#toggle-visibility-button.download::after{content:\"\";display:inline-block;height:1.5em;margin-left:8px;vertical-align:top;width:1.5em}#toggle-visibility-button:hover{background-color:#39870c;border-color:#39870c;color:#fff}#toggle-visibility-button:active{background-color:#275937;border-color:#275937;color:#fff}#toggle-visibility-button[disabled],#toggle-visibility-button[disabled]:hover{background-color:#fff;border-color:#afcf9d;color:#afcf9d}#toggle-visibility-button.btn-sm{line-height:16px}#toggle-visibility-button.btn-sm dso-icon,#toggle-visibility-button.btn-sm svg.di,#toggle-visibility-button.btn-sm.extern::after,#toggle-visibility-button.btn-sm.download::after{margin-bottom:-4px;margin-top:-4px}#toggle-visibility-button.download::after{background:var(--dso-icon, var(--di-download)) no-repeat;background-position:center;background-size:cover;height:1.5em;vertical-align:top;width:1.5em}#toggle-visibility-button.download:hover::after{--dso-icon:var(--di-download-wit)}#toggle-visibility-button.download[disabled]::after{--dso-icon:var(--di-download-grasgroen-40)}#toggle-visibility-button.extern::after{background:var(--dso-icon, var(--di-external-link)) no-repeat;background-position:center;background-size:cover;height:1.5em;vertical-align:top;width:1.5em}#toggle-visibility-button.extern:hover::after{--dso-icon:var(--di-external-link-wit)}#toggle-visibility-button.extern[disabled]::after{--dso-icon:var(--di-external-link-grasgroen-40)}#toggle-visibility-button dso-icon,#toggle-visibility-button svg.di{margin-left:-8px;margin-right:8px}#toggle-visibility-button span+dso-icon,#toggle-visibility-button span+svg.di{margin-left:8px;margin-right:-8px}#zoom-buttons{border-radius:4px;box-shadow:0 1px 4px 0 rgba(0, 0, 0, 0.5);display:flex;flex-wrap:wrap;flex:0 0}#zoom-buttons button{display:inline-block;font-size:1em;font-weight:500;margin-bottom:0;text-decoration:none;touch-action:manipulation;text-align:left;user-select:none;vertical-align:middle;background-color:#fff;border-color:#39870c;color:#39870c;border-width:1px;border-style:solid;border-radius:4px;line-height:1.5;min-width:56px;padding:11px 15px;border:0;padding:8px;border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;flex:0 0 100%;height:40px;min-width:auto;width:40px}#zoom-buttons button:focus,#zoom-buttons button:focus-visible{outline-offset:2px}#zoom-buttons button:active{outline:0}#zoom-buttons button.extern::after,#zoom-buttons button.download::after{content:\"\";display:inline-block;height:1.5em;margin-left:8px;vertical-align:top;width:1.5em}#zoom-buttons button:hover{background-color:#39870c;border-color:#39870c;color:#fff}#zoom-buttons button:active{background-color:#275937;border-color:#275937;color:#fff}#zoom-buttons button[disabled],#zoom-buttons button[disabled]:hover{background-color:#fff;border-color:#afcf9d;color:#afcf9d}#zoom-buttons button.btn-sm{line-height:16px}#zoom-buttons button.btn-sm dso-icon,#zoom-buttons button.btn-sm svg.di,#zoom-buttons button.btn-sm.extern::after,#zoom-buttons button.btn-sm.download::after{margin-bottom:-4px;margin-top:-4px}#zoom-buttons button.download::after{background:var(--dso-icon, var(--di-download)) no-repeat;background-position:center;background-size:cover;height:1.5em;vertical-align:top;width:1.5em}#zoom-buttons button.download:hover::after{--dso-icon:var(--di-download-wit)}#zoom-buttons button.download[disabled]::after{--dso-icon:var(--di-download-grasgroen-40)}#zoom-buttons button.extern::after{background:var(--dso-icon, var(--di-external-link)) no-repeat;background-position:center;background-size:cover;height:1.5em;vertical-align:top;width:1.5em}#zoom-buttons button.extern:hover::after{--dso-icon:var(--di-external-link-wit)}#zoom-buttons button.extern[disabled]::after{--dso-icon:var(--di-external-link-grasgroen-40)}#zoom-buttons button>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}#zoom-buttons button+button{border-radius:0;border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top:1px solid #ccc}#close-button{display:inline-block;font-size:1em;font-weight:500;margin-bottom:0;text-decoration:none;touch-action:manipulation;text-align:left;user-select:none;vertical-align:middle;border:0;color:#39870c;line-height:1;padding:0;background-color:transparent;padding:0;position:absolute;right:16px;top:16px}#close-button:focus,#close-button:focus-visible{outline-offset:2px}#close-button:active{outline:0}#close-button.extern::after,#close-button.download::after{content:\"\";display:inline-block;height:1.5em;margin-left:8px;vertical-align:top;width:1.5em}#close-button[disabled]{color:#afcf9d}#close-button:not([disabled]):hover{color:#676cb0;text-decoration:underline}#close-button:not([disabled]):active{color:#676cb0}#close-button.btn-align{line-height:calc(1.5em - 1px);padding:11px 0;position:relative}#close-button.extern::after,#close-button.download::after{position:relative;top:-2px}#close-button.download::after{background:var(--dso-icon, var(--di-download)) no-repeat;background-position:center;background-size:cover;height:1.5em;vertical-align:top;width:1.5em}#close-button.download[disabled]::after{--dso-icon:var(--di-download-grasgroen-40)}#close-button.download:not([disabled]):hover::after,#close-button.download:not([disabled]):active::after{--dso-icon:var(--di-download-scampi)}#close-button.extern::after{background:var(--dso-icon, var(--di-external-link)) no-repeat;background-position:center;background-size:cover;height:1.5em;vertical-align:top;width:1.5em}#close-button.extern[disabled]::after{--dso-icon:var(--di-external-link-grasgroen-40)}#close-button.extern:not([disabled]):hover::after,#close-button.extern:not([disabled]):active::after{--dso-icon:var(--di-external-link-scampi)}#close-button>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}header,.content{padding:16px}header{border-bottom:1px solid #ccc;position:relative}header h2{color:#275937;font-family:\"Asap\", sans-serif;line-height:1;margin:0}";
4
4
 
@@ -17,7 +17,7 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
17
17
  };
18
18
  var _closeButtonElement, _toggleButtonElement;
19
19
  const transitionDuration = 300; // Sync with $transition-duration in ./map-controls.scss
20
- const MapControls = class {
20
+ let MapControls = class {
21
21
  constructor(hostRef) {
22
22
  registerInstance(this, hostRef);
23
23
  this.zoomIn = createEvent(this, "zoomIn", 7);
@@ -1,8 +1,8 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-dd97a66d.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-61410be2.js';
2
2
 
3
3
  const mapOverlaysCss = ":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}fieldset{border:0;margin:0;min-width:0;padding:0}fieldset .control-label{display:inline-block;font-weight:bold;margin-bottom:8px;max-width:100%;text-align:left}";
4
4
 
5
- const MapOverlays = class {
5
+ let MapOverlays = class {
6
6
  constructor(hostRef) {
7
7
  registerInstance(this, hostRef);
8
8
  this.checkedOverlaysChange = createEvent(this, "checkedOverlaysChange", 7);
@@ -1,4 +1,317 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-dd97a66d.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-61410be2.js';
2
+
3
+ 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); }
4
+
5
+ function assertString(input) {
6
+ var isString = typeof input === 'string' || input instanceof String;
7
+
8
+ if (!isString) {
9
+ var invalidType = _typeof(input);
10
+
11
+ if (input === null) invalidType = 'null';else if (invalidType === 'object') invalidType = input.constructor.name;
12
+ throw new TypeError("Expected a string but received a ".concat(invalidType));
13
+ }
14
+ }
15
+
16
+ function merge() {
17
+ var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
18
+ var defaults = arguments.length > 1 ? arguments[1] : undefined;
19
+
20
+ for (var key in defaults) {
21
+ if (typeof obj[key] === 'undefined') {
22
+ obj[key] = defaults[key];
23
+ }
24
+ }
25
+
26
+ return obj;
27
+ }
28
+
29
+ var default_fqdn_options = {
30
+ require_tld: true,
31
+ allow_underscores: false,
32
+ allow_trailing_dot: false,
33
+ allow_numeric_tld: false
34
+ };
35
+ function isFQDN(str, options) {
36
+ assertString(str);
37
+ options = merge(options, default_fqdn_options);
38
+ /* Remove the optional trailing dot before checking validity */
39
+
40
+ if (options.allow_trailing_dot && str[str.length - 1] === '.') {
41
+ str = str.substring(0, str.length - 1);
42
+ }
43
+
44
+ var parts = str.split('.');
45
+ var tld = parts[parts.length - 1];
46
+
47
+ if (options.require_tld) {
48
+ // disallow fqdns without tld
49
+ if (parts.length < 2) {
50
+ return false;
51
+ }
52
+
53
+ if (!/^([a-z\u00a1-\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
54
+ return false;
55
+ } // disallow spaces && special characers
56
+
57
+
58
+ if (/[\s\u2002-\u200B\u202F\u205F\u3000\uFEFF\uDB40\uDC20\u00A9\uFFFD]/.test(tld)) {
59
+ return false;
60
+ }
61
+ } // reject numeric TLDs
62
+
63
+
64
+ if (!options.allow_numeric_tld && /^\d+$/.test(tld)) {
65
+ return false;
66
+ }
67
+
68
+ return parts.every(function (part) {
69
+ if (part.length > 63) {
70
+ return false;
71
+ }
72
+
73
+ if (!/^[a-z_\u00a1-\uffff0-9-]+$/i.test(part)) {
74
+ return false;
75
+ } // disallow full-width chars
76
+
77
+
78
+ if (/[\uff01-\uff5e]/.test(part)) {
79
+ return false;
80
+ } // disallow parts starting or ending with hyphen
81
+
82
+
83
+ if (/^-|-$/.test(part)) {
84
+ return false;
85
+ }
86
+
87
+ if (!options.allow_underscores && /_/.test(part)) {
88
+ return false;
89
+ }
90
+
91
+ return true;
92
+ });
93
+ }
94
+
95
+ /**
96
+ 11.3. Examples
97
+
98
+ The following addresses
99
+
100
+ fe80::1234 (on the 1st link of the node)
101
+ ff02::5678 (on the 5th link of the node)
102
+ ff08::9abc (on the 10th organization of the node)
103
+
104
+ would be represented as follows:
105
+
106
+ fe80::1234%1
107
+ ff02::5678%5
108
+ ff08::9abc%10
109
+
110
+ (Here we assume a natural translation from a zone index to the
111
+ <zone_id> part, where the Nth zone of any scope is translated into
112
+ "N".)
113
+
114
+ If we use interface names as <zone_id>, those addresses could also be
115
+ represented as follows:
116
+
117
+ fe80::1234%ne0
118
+ ff02::5678%pvc1.3
119
+ ff08::9abc%interface10
120
+
121
+ where the interface "ne0" belongs to the 1st link, "pvc1.3" belongs
122
+ to the 5th link, and "interface10" belongs to the 10th organization.
123
+ * * */
124
+
125
+ var IPv4SegmentFormat = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
126
+ var IPv4AddressFormat = "(".concat(IPv4SegmentFormat, "[.]){3}").concat(IPv4SegmentFormat);
127
+ var IPv4AddressRegExp = new RegExp("^".concat(IPv4AddressFormat, "$"));
128
+ var IPv6SegmentFormat = '(?:[0-9a-fA-F]{1,4})';
129
+ 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,})?$');
130
+ function isIP(str) {
131
+ var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
132
+ assertString(str);
133
+ version = String(version);
134
+
135
+ if (!version) {
136
+ return isIP(str, 4) || isIP(str, 6);
137
+ }
138
+
139
+ if (version === '4') {
140
+ if (!IPv4AddressRegExp.test(str)) {
141
+ return false;
142
+ }
143
+
144
+ var parts = str.split('.').sort(function (a, b) {
145
+ return a - b;
146
+ });
147
+ return parts[3] <= 255;
148
+ }
149
+
150
+ if (version === '6') {
151
+ return !!IPv6AddressRegExp.test(str);
152
+ }
153
+
154
+ return false;
155
+ }
156
+
157
+ /*
158
+ options for isURL method
159
+
160
+ require_protocol - if set as true isURL will return false if protocol is not present in the URL
161
+ require_valid_protocol - isURL will check if the URL's protocol is present in the protocols option
162
+ protocols - valid protocols can be modified with this option
163
+ require_host - if set as false isURL will not check if host is present in the URL
164
+ require_port - if set as true isURL will check if port is present in the URL
165
+ allow_protocol_relative_urls - if set as true protocol relative URLs will be allowed
166
+ validate_length - if set as false isURL will skip string length validation (IE maximum is 2083)
167
+
168
+ */
169
+
170
+ var default_url_options = {
171
+ protocols: ['http', 'https', 'ftp'],
172
+ require_tld: true,
173
+ require_protocol: false,
174
+ require_host: true,
175
+ require_port: false,
176
+ require_valid_protocol: true,
177
+ allow_underscores: false,
178
+ allow_trailing_dot: false,
179
+ allow_protocol_relative_urls: false,
180
+ validate_length: true
181
+ };
182
+ var wrapped_ipv6 = /^\[([^\]]+)\](?::([0-9]+))?$/;
183
+
184
+ function isRegExp(obj) {
185
+ return Object.prototype.toString.call(obj) === '[object RegExp]';
186
+ }
187
+
188
+ function checkHost(host, matches) {
189
+ for (var i = 0; i < matches.length; i++) {
190
+ var match = matches[i];
191
+
192
+ if (host === match || isRegExp(match) && match.test(host)) {
193
+ return true;
194
+ }
195
+ }
196
+
197
+ return false;
198
+ }
199
+
200
+ function isURL(url, options) {
201
+ assertString(url);
202
+
203
+ if (!url || /[\s<>]/.test(url)) {
204
+ return false;
205
+ }
206
+
207
+ if (url.indexOf('mailto:') === 0) {
208
+ return false;
209
+ }
210
+
211
+ options = merge(options, default_url_options);
212
+
213
+ if (options.validate_length && url.length >= 2083) {
214
+ return false;
215
+ }
216
+
217
+ var protocol, auth, host, hostname, port, port_str, split, ipv6;
218
+ split = url.split('#');
219
+ url = split.shift();
220
+ split = url.split('?');
221
+ url = split.shift();
222
+ split = url.split('://');
223
+
224
+ if (split.length > 1) {
225
+ protocol = split.shift().toLowerCase();
226
+
227
+ if (options.require_valid_protocol && options.protocols.indexOf(protocol) === -1) {
228
+ return false;
229
+ }
230
+ } else if (options.require_protocol) {
231
+ return false;
232
+ } else if (url.substr(0, 2) === '//') {
233
+ if (!options.allow_protocol_relative_urls) {
234
+ return false;
235
+ }
236
+
237
+ split[0] = url.substr(2);
238
+ }
239
+
240
+ url = split.join('://');
241
+
242
+ if (url === '') {
243
+ return false;
244
+ }
245
+
246
+ split = url.split('/');
247
+ url = split.shift();
248
+
249
+ if (url === '' && !options.require_host) {
250
+ return true;
251
+ }
252
+
253
+ split = url.split('@');
254
+
255
+ if (split.length > 1) {
256
+ if (options.disallow_auth) {
257
+ return false;
258
+ }
259
+
260
+ if (split[0] === '' || split[0].substr(0, 1) === ':') {
261
+ return false;
262
+ }
263
+
264
+ auth = split.shift();
265
+
266
+ if (auth.indexOf(':') >= 0 && auth.split(':').length > 2) {
267
+ return false;
268
+ }
269
+ }
270
+
271
+ hostname = split.join('@');
272
+ port_str = null;
273
+ ipv6 = null;
274
+ var ipv6_match = hostname.match(wrapped_ipv6);
275
+
276
+ if (ipv6_match) {
277
+ host = '';
278
+ ipv6 = ipv6_match[1];
279
+ port_str = ipv6_match[2] || null;
280
+ } else {
281
+ split = hostname.split(':');
282
+ host = split.shift();
283
+
284
+ if (split.length) {
285
+ port_str = split.join(':');
286
+ }
287
+ }
288
+
289
+ if (port_str !== null) {
290
+ port = parseInt(port_str, 10);
291
+
292
+ if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {
293
+ return false;
294
+ }
295
+ } else if (options.require_port) {
296
+ return false;
297
+ }
298
+
299
+ if (!isIP(host) && !isFQDN(host, options) && (!ipv6 || !isIP(ipv6, 6))) {
300
+ return false;
301
+ }
302
+
303
+ host = host || ipv6;
304
+
305
+ if (options.host_whitelist && !checkHost(host, options.host_whitelist)) {
306
+ return false;
307
+ }
308
+
309
+ if (options.host_blacklist && checkHost(host, options.host_blacklist)) {
310
+ return false;
311
+ }
312
+
313
+ return true;
314
+ }
2
315
 
3
316
  function transformDescriptionNote(body) {
4
317
  body.querySelectorAll('a.noot > div.noot_popup').forEach((e, index) => {
@@ -14,7 +327,7 @@ function transformDescriptionNote(body) {
14
327
  const [termId, contentId] = [`dso-ozon-term-${id}`, `dso-ozon-content-${id}`];
15
328
  anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.setAttribute('id', termId);
16
329
  anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.setAttribute('aria-controls', contentId);
17
- anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.setAttribute('aria-open', 'false');
330
+ anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.setAttribute('aria-expanded', 'false');
18
331
  contentElement === null || contentElement === void 0 ? void 0 : contentElement.setAttribute('id', contentId);
19
332
  });
20
333
  return body;
@@ -33,7 +346,7 @@ class OzonContentTransformer {
33
346
  constructor(anchorClick) {
34
347
  this.anchorClick = anchorClick;
35
348
  this.domParser = new DOMParser();
36
- this.eventHandlers = [this.handleDescriptionNoteClick, this.handleContentAnchor];
349
+ this.eventHandlers = [this.handleValidUrls, this.handleDescriptionNoteClick, this.handleContentAnchor];
37
350
  }
38
351
  setContent(content) {
39
352
  this.content = transformers.reduce((c, t) => t(c), this.domParser.parseFromString(content, 'text/html').body).children;
@@ -78,6 +391,14 @@ class OzonContentTransformer {
78
391
  }
79
392
  return false;
80
393
  }
394
+ handleValidUrls(composedPath) {
395
+ var _a;
396
+ const containerIndex = composedPath.findIndex(this.isHostElement);
397
+ if (containerIndex === -1) {
398
+ return false;
399
+ }
400
+ return (_a = composedPath.slice(0, containerIndex)) === null || _a === void 0 ? void 0 : _a.some(e => e instanceof HTMLAnchorElement && isURL(e.href));
401
+ }
81
402
  isHostElement(value) {
82
403
  return value instanceof HTMLElement && value.tagName === 'DSO-OZON-CONTENT';
83
404
  }
@@ -85,7 +406,7 @@ class OzonContentTransformer {
85
406
 
86
407
  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}";
87
408
 
88
- const OzonContent = class {
409
+ let OzonContent = class {
89
410
  constructor(hostRef) {
90
411
  registerInstance(this, hostRef);
91
412
  this.anchorClick = createEvent(this, "anchorClick", 7);