@dso-toolkit/core 99.5.0 → 100.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 (104) hide show
  1. package/dist/bundle/dso-advanced-select.js +3 -3
  2. package/dist/bundle/dso-document-component.js +1 -1
  3. package/dist/bundle/dso-dropdown-menu.js +51 -12
  4. package/dist/bundle/dso-header.js +51 -12
  5. package/dist/bundle/dso-highlight-box.js +1 -1
  6. package/dist/bundle/dso-info.js +1 -1
  7. package/dist/bundle/dso-list-button.js +2 -2
  8. package/dist/bundle/dso-map-base-layers.js +2 -2
  9. package/dist/bundle/dso-map-overlays.js +2 -2
  10. package/dist/bundle/dso-ozon-content.js +1 -1
  11. package/dist/bundle/dso-selectable.js +1 -1
  12. package/dist/bundle/dso-tree-view.js +1 -1
  13. package/dist/bundle/dso-viewer-grid.js +2 -2
  14. package/dist/bundle/dsot-document-component-demo.js +4 -4
  15. package/dist/bundle/index.js +0 -2
  16. package/dist/bundle/p-0mKOaHii.js +48 -0
  17. package/dist/bundle/{p-BHoewcI-.js → p-BSvOi0zH.js} +4 -4
  18. package/dist/bundle/{p-DtOWRu1L.js → p-ClW9x8PR.js} +1 -1
  19. package/dist/bundle/{p-ChjlyvQF.js → p-DoZnyoat.js} +39 -27
  20. package/dist/cjs/dso-advanced-select.cjs.entry.js +3 -3
  21. package/dist/cjs/dso-alert_7.cjs.entry.js +4 -4
  22. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js +37 -25
  23. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +51 -12
  24. package/dist/cjs/dso-header.cjs.entry.js +51 -12
  25. package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
  26. package/dist/cjs/dso-info_3.cjs.entry.js +1 -1
  27. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  28. package/dist/cjs/dso-tree-view.cjs.entry.js +1 -1
  29. package/dist/cjs/dso-viewer-grid.cjs.entry.js +2 -2
  30. package/dist/cjs/dsot-document-component-demo.cjs.entry.js +2 -2
  31. package/dist/cjs/loader.cjs.js +1 -1
  32. package/dist/collection/collection-manifest.json +0 -1
  33. package/dist/collection/components/advanced-select/advanced-select.css +12 -11
  34. package/dist/collection/components/advanced-select/advanced-select.js +2 -2
  35. package/dist/collection/components/document-component/document-component-heading.js +28 -18
  36. package/dist/collection/components/document-component/document-component.js +16 -14
  37. package/dist/collection/components/document-component-demo/document-component.demo.js +2 -2
  38. package/dist/collection/components/dropdown-menu/dropdown-menu.js +51 -12
  39. package/dist/collection/components/header/header.js +51 -12
  40. package/dist/collection/components/highlight-box/highlight-box.css +2 -4
  41. package/dist/collection/components/info/info.css +10 -17
  42. package/dist/collection/components/ozon-content/nodes/int-io-ref.node.js +1 -1
  43. package/dist/collection/components/ozon-content/nodes/int-ref.node.js +1 -1
  44. package/dist/collection/components/ozon-content/nodes/noot.node.js +1 -1
  45. package/dist/collection/components/ozon-content/ozon-content-mapper.js +1 -1
  46. package/dist/collection/components/tree-view/tree-view.js +1 -1
  47. package/dist/collection/components/viewer-grid/viewer-grid.js +2 -2
  48. package/dist/components/document-component.js +1 -1
  49. package/dist/components/dso-advanced-select.js +1 -1
  50. package/dist/components/dso-dropdown-menu.js +1 -1
  51. package/dist/components/dso-header.js +1 -1
  52. package/dist/components/dso-highlight-box.js +1 -1
  53. package/dist/components/dso-tree-view.js +1 -1
  54. package/dist/components/dso-viewer-grid.js +1 -1
  55. package/dist/components/dsot-document-component-demo.js +1 -1
  56. package/dist/components/index.d.ts +0 -2
  57. package/dist/components/index.js +1 -1
  58. package/dist/components/info.js +1 -1
  59. package/dist/components/ozon-content.js +1 -1
  60. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  61. package/dist/dso-toolkit/{p-7a852b15.entry.js → p-4a971ee1.entry.js} +1 -1
  62. package/dist/dso-toolkit/{p-441b88f3.entry.js → p-4dacadca.entry.js} +1 -1
  63. package/dist/dso-toolkit/{p-16a9d23c.entry.js → p-5455f456.entry.js} +1 -1
  64. package/dist/dso-toolkit/p-56f5668a.entry.js +1 -0
  65. package/dist/dso-toolkit/p-72c632b1.entry.js +1 -0
  66. package/dist/dso-toolkit/{p-0083183c.entry.js → p-84cda47a.entry.js} +1 -1
  67. package/dist/dso-toolkit/p-b35b9bf4.entry.js +1 -0
  68. package/dist/dso-toolkit/{p-e3826220.entry.js → p-b6d829b6.entry.js} +2 -2
  69. package/dist/dso-toolkit/p-dce72b97.entry.js +1 -0
  70. package/dist/dso-toolkit/p-e0a1e35a.entry.js +1 -0
  71. package/dist/esm/dso-advanced-select.entry.js +3 -3
  72. package/dist/esm/dso-alert_7.entry.js +4 -4
  73. package/dist/esm/dso-annotation-locatie_2.entry.js +37 -25
  74. package/dist/esm/dso-dropdown-menu.entry.js +51 -12
  75. package/dist/esm/dso-header.entry.js +51 -12
  76. package/dist/esm/dso-highlight-box.entry.js +1 -1
  77. package/dist/esm/dso-info_3.entry.js +1 -1
  78. package/dist/esm/dso-toolkit.js +1 -1
  79. package/dist/esm/dso-tree-view.entry.js +1 -1
  80. package/dist/esm/dso-viewer-grid.entry.js +2 -2
  81. package/dist/esm/dsot-document-component-demo.entry.js +2 -2
  82. package/dist/esm/loader.js +1 -1
  83. package/dist/types/components/document-component/document-component-heading.d.ts +1 -1
  84. package/dist/types/components/document-component/document-component.d.ts +5 -3
  85. package/dist/types/components/dropdown-menu/dropdown-menu.d.ts +2 -0
  86. package/dist/types/components/header/header.d.ts +2 -0
  87. package/dist/types/components.d.ts +7 -105
  88. package/package.json +3 -5
  89. package/dist/bundle/dso-tooltip.d.ts +0 -11
  90. package/dist/bundle/dso-tooltip.js +0 -2119
  91. package/dist/bundle/p-CAqSxnd4.js +0 -48
  92. package/dist/cjs/dso-tooltip.cjs.entry.js +0 -2080
  93. package/dist/collection/components/tooltip/tooltip.css +0 -114
  94. package/dist/collection/components/tooltip/tooltip.js +0 -448
  95. package/dist/components/dso-tooltip.d.ts +0 -11
  96. package/dist/components/dso-tooltip.js +0 -1
  97. package/dist/dso-toolkit/p-2149be85.entry.js +0 -1
  98. package/dist/dso-toolkit/p-5cdda2dd.entry.js +0 -1
  99. package/dist/dso-toolkit/p-6e027a66.entry.js +0 -1
  100. package/dist/dso-toolkit/p-87a19b2e.entry.js +0 -1
  101. package/dist/dso-toolkit/p-cfb08b19.entry.js +0 -1
  102. package/dist/dso-toolkit/p-e3c1777e.entry.js +0 -1
  103. package/dist/esm/dso-tooltip.entry.js +0 -2078
  104. package/dist/types/components/tooltip/tooltip.d.ts +0 -61
@@ -743,7 +743,7 @@ class OzonContentIntIoRefNode {
743
743
  originalEvent: event,
744
744
  });
745
745
  };
746
- return (h(Fragment, null, h("dso-ozon-content-toggletip", { icon: "map-location" }, h("span", { slot: "label" }, mapNodeToJsx(node.childNodes)), annotated && (h("span", { role: "paragraph" }, "Gebieden op de kaart tonen:", " ", h("button", { type: "button", class: "dso-tertiary", onClick: intIoRefOnClick }, h("span", null, "Kenmerken en kaart"), h("dso-icon", { icon: "label" })))), h("span", { role: "paragraph" }, "Offici\u00EBle publicaties:", " ", h("a", { target: "_blank", rel: "noopener noreferrer", href: href ?? undefined, title: "Opent andere website in nieuw tabblad" }, h("span", null, mapNodeToJsx(node.childNodes)), h("dso-icon", { icon: "external-link" }))))));
746
+ return (h(Fragment, null, h("dso-ozon-content-toggletip", { icon: "map-location" }, h("span", { slot: "label" }, mapNodeToJsx(node.childNodes)), annotated && (h("span", { role: "paragraph" }, "Gebieden op de kaart tonen:", " ", h("button", { type: "button", class: "dso-tertiary", onClick: intIoRefOnClick }, h("span", null, "Kenmerken en kaart"), h("dso-icon", { icon: "label" })))), h("span", { role: "paragraph" }, "Offici\u00EBle publicaties:", " ", h("a", { target: "_blank", rel: "noopener noreferrer", href: href ?? undefined, title: "Opent andere website in nieuw tabblad" }, h("span", null, mapNodeToJsx(node.childNodes, true)), h("dso-icon", { icon: "external-link" }))))));
747
747
  }
748
748
  }
749
749
 
@@ -764,7 +764,7 @@ class OzonContentIntRefNode {
764
764
  !definitieXMLDocument.documentElement.hasChildNodes()) {
765
765
  return mapNodeToJsx(node.childNodes);
766
766
  }
767
- return (h("dso-ozon-content-toggletip", null, h("span", { slot: "label" }, mapNodeToJsx(node.childNodes)), mapNodeToJsx(Array.from(definitieXMLDocument.documentElement.childNodes))));
767
+ return (h("dso-ozon-content-toggletip", null, h("span", { slot: "label" }, mapNodeToJsx(node.childNodes)), mapNodeToJsx(Array.from(definitieXMLDocument.documentElement.childNodes), true)));
768
768
  }
769
769
  const handleIntRefClick = (event) => {
770
770
  emitClick({
@@ -860,7 +860,7 @@ class OzonContentNootNode {
860
860
  }
861
861
  const childNodes = Array.from(node.childNodes);
862
862
  const nootNummer = childNodes.find((n) => getNodeName(n) === "NootNummer")?.textContent ?? noteId;
863
- return (h("sup", null, h("dso-ozon-content-toggletip", { class: "toggle-note" }, h("span", { slot: "label" }, nootNummer), h("span", { role: "section" }, mapNodeToJsx(Array.from(node.querySelectorAll(":scope > Al")))))));
863
+ return (h("sup", null, h("dso-ozon-content-toggletip", { class: "toggle-note" }, h("span", { slot: "label" }, nootNummer), h("span", { role: "section" }, mapNodeToJsx(Array.from(node.querySelectorAll(":scope > Al")), true)))));
864
864
  }
865
865
  }
866
866
 
@@ -1071,7 +1071,7 @@ class Mapper {
1071
1071
  return mapper.render(node, {
1072
1072
  inline: context.inline,
1073
1073
  mark: context.mark,
1074
- mapNodeToJsx: (n, m) => this.mapNodeToJsx(n, context, [...path, node], m),
1074
+ mapNodeToJsx: (n, m = ignoreMark) => this.mapNodeToJsx(n, context, [...path, node], m),
1075
1075
  emitClick: context.emitClick,
1076
1076
  setState,
1077
1077
  emitMarkItemHighlight: context.emitMarkItemHighlight,
@@ -1,7 +1,7 @@
1
1
  import { p as proxyCustomElement, H, d as createEvent, f as forceUpdate, h, F as Fragment, t as transformTag } from './p-Di7uBIhp.js';
2
2
  import { d as defineCustomElement$5 } from './p-C9U8p69U.js';
3
3
  import { d as defineCustomElement$4 } from './p-J6T9IaVD.js';
4
- import { d as defineCustomElement$3 } from './p-CAqSxnd4.js';
4
+ import { d as defineCustomElement$3 } from './p-0mKOaHii.js';
5
5
  import { d as defineCustomElement$2 } from './p-DHLpi_b6.js';
6
6
  import { d as defineCustomElement$1 } from './p-DjX5FuBA.js';
7
7
 
@@ -1,5 +1,5 @@
1
1
  import { h, p as proxyCustomElement, H, d as createEvent, F as Fragment, c as Host, t as transformTag } from './p-Di7uBIhp.js';
2
- import { p as parseXml, a as parseWijzigactieFromNode, M as MarkText, d as defineCustomElement$5 } from './p-BHoewcI-.js';
2
+ import { p as parseXml, a as parseWijzigactieFromNode, M as MarkText, d as defineCustomElement$5 } from './p-BSvOi0zH.js';
3
3
  import { i as isModifiedEvent } from './p-Hgv-pDpy.js';
4
4
  import { d as defineCustomElement$c } from './p-CC_FTvSe.js';
5
5
  import { d as defineCustomElement$b } from './p-Cs38e0-P.js';
@@ -13,9 +13,9 @@ import { d as defineCustomElement$3 } from './p-Dhml-KNY.js';
13
13
  import { d as defineCustomElement$2 } from './p-DjX5FuBA.js';
14
14
  import { d as defineCustomElement$1 } from './p-BSPLBZYE.js';
15
15
 
16
- const Heading = ({ heading, mode, href, onClick, ...props }, children) => {
16
+ const Heading = ({ headingLevel, mode, href, onClick, ...props }, children) => {
17
17
  // In the table of contents the nested lists carry the structure, so a heading level would add nothing but noise to
18
- // the heading list of assistive technology. The `heading` prop is ignored here.
18
+ // the heading list of assistive technology. The `headingLevel` prop is ignored here.
19
19
  if (mode === "table-of-contents") {
20
20
  const label = h("div", { ...props }, children);
21
21
  if (!href) {
@@ -24,22 +24,32 @@ const Heading = ({ heading, mode, href, onClick, ...props }, children) => {
24
24
  return (h("a", { href: href, onClick: onClick, class: "heading-anchor" }, label));
25
25
  }
26
26
  let headingElement;
27
- switch (heading) {
28
- default:
29
- case "h2":
30
- headingElement = (h("h2", { ...props, onClick: onClick }, children));
31
- break;
32
- case "h3":
33
- headingElement = (h("h3", { ...props, onClick: onClick }, children));
34
- break;
35
- case "h4":
36
- headingElement = (h("h4", { ...props, onClick: onClick }, children));
37
- break;
38
- case "h5":
39
- headingElement = (h("h5", { ...props, onClick: onClick }, children));
40
- break;
41
- case "h6":
42
- headingElement = (h("h6", { ...props, onClick: onClick }, children));
27
+ // The native heading elements only go up to `h6`. Deeper levels are expressed with the `heading` role and an
28
+ // explicit `aria-level` so assistive technology still exposes the correct structure.
29
+ if (headingLevel > 6) {
30
+ headingElement = (h("div", { role: "heading", "aria-level": headingLevel, ...props, onClick: onClick }, children));
31
+ }
32
+ else {
33
+ // In this branch the level is 6 or lower, so it maps onto a native `h2`–`h6` element.
34
+ let HeadingTag;
35
+ switch (headingLevel) {
36
+ case 3:
37
+ HeadingTag = "h3";
38
+ break;
39
+ case 4:
40
+ HeadingTag = "h4";
41
+ break;
42
+ case 5:
43
+ HeadingTag = "h5";
44
+ break;
45
+ case 6:
46
+ HeadingTag = "h6";
47
+ break;
48
+ default:
49
+ HeadingTag = "h2";
50
+ break;
51
+ }
52
+ headingElement = (h(HeadingTag, { ...props, onClick: onClick }, children));
43
53
  }
44
54
  return headingElement;
45
55
  };
@@ -82,10 +92,12 @@ const DocumentComponent = /*@__PURE__*/ proxyCustomElement(class DocumentCompone
82
92
  this.dsoAnnotationToggle = createEvent(this, "dsoAnnotationToggle", 3);
83
93
  this.dsoMarkItemHighlight = createEvent(this, "dsoMarkItemHighlight", 3);
84
94
  /**
85
- * The heading element to use (only in mode="document"). In mode="table-of-contents" the nested lists carry the
86
- * structure and no heading is rendered.
95
+ * The heading level to use (only in mode="document"). When the level is 6 or lower a native heading element
96
+ * (`<h2>` … `<h6>`) is rendered; deeper levels are rendered as `<div role="heading" aria-level="*">` because HTML
97
+ * has no native heading elements beyond `<h6>`. In mode="table-of-contents" the nested lists carry the structure
98
+ * and no heading is rendered.
87
99
  */
88
- this.heading = "h2";
100
+ this.headingLevel = 2;
89
101
  /**
90
102
  * This boolean attribute indicates whether the children are visible.
91
103
  */
@@ -230,22 +242,22 @@ const DocumentComponent = /*@__PURE__*/ proxyCustomElement(class DocumentCompone
230
242
  this.alternativeTitle ||
231
243
  this.label ||
232
244
  this.annotated);
233
- return (h(Host, { key: 'c3daa1d2609de7893bd976616e5b921b873f7e99', "not-collapsible": !collapsible }, showHeading && (h("div", { key: 'e4745a823af6fd01a0409757e118050e302211c1', class: "heading-container", part: "_heading-container" }, this.wijzigactie && h("span", { key: '5fceace2c30d0e026128fa501293ffcbd7b034ca', class: "editaction-label" }, this.wijzigactieLabel, ":"), h("div", { key: '821aedd47bbd20b9bfd3abc2db9d89ee8ef4b6c0', class: "heading" }, h(Heading, { key: 'ee5d5963865210537240db4ca06dede27244fccc', heading: this.heading, class: "heading-element", onClick: this.alternativeTitle ? this.handleHeadingClick : undefined, mode: this.mode, href: this.href }, collapsible && this.mode === "document" && (h("dso-icon-button", { key: 'a692e695c1aed573157419c5b48ad553d4dceff7', label: this.open ? "Invouwen" : "Uitvouwen", class: "toggle-button", expanded: this.open, icon: this.open ? "chevron-down" : "chevron-right", variant: "tertiary", onDsoClick: (e) => this.handleHeadingClick(e.detail.originalEvent) })), h("div", { key: '6456a83d76b31c8631cbf284501eb78de7a001bf' }, this.notApplicable && h("span", { key: '037f400453d038d41c93127ce3e4bcb274e741c1', class: "sr-only" }, "Niet van toepassing:"), this._kop ? (h("dso-ozon-content", { class: "kop", content: this._kop, onDsoClick: this.handleOzonContentClick, mark: this.mark && ((text) => this.mark?.(text, "kop")), onDsoOzonContentMarkItemHighlight: (e) => this.dsoMarkItemHighlight.emit({ ...e.detail, source: "kop" }), inline: true, urlResolver: this.ozonContentUrlResolver, begripResolver: this.ozonContentBegripResolver, annotated: this.annotated })) : (h("span", { class: "alternative-title" }, (!this.mark && this.alternativeTitle) ||
234
- (this.mark && this.alternativeTitle && (h(MarkText, { mark: this.mark && ((text) => this.mark?.(text, "alternativeTitle")), text: this.alternativeTitle, emitMarkItemHighlight: (text, elementRef) => this.dsoMarkItemHighlight.emit({ text, elementRef, source: "alternativeTitle" }) }))))), h(AantekenStatus, { key: '7bae979a0c85493214474fec4be1eeb59ac3610c', gereserveerd: this._gereserveerd, vervallen: this._vervallen }))), this.recursiveToggle !== undefined && this.open && this.mode === "document" && (h("dso-icon-button", { key: 'f2dac94d29b219618472fc1f9a8e267176853e8f', label: this.recursiveToggle === true ? "Verberg onderliggende artikelen" : "Toon onderliggende artikelen", class: "recursive-toggle", expanded: this.recursiveToggle === true, icon: this.recursiveToggle === true ? "eye" : "eye-slash", variant: "tertiary", onDsoClick: (e) => this.handleRecursiveToggleClick(e.detail.originalEvent) })), this.showBadge() && (h(Fragment, { key: 'acf8256c9261775e6473e5cada670179e268cbe5' }, h("dso-badge", { key: 'd8859cb3a6cbcab8fd048f38ddfaaca22c6b984d', status: this.badgeStatus, label: this.badgeTooltip ? "Toon toelichting" : undefined }, this.badge, this.badgeTooltip && h("div", { key: 'b59a6fab6d6be897ebee1d1cb19093c65b7c6928', slot: "toggletip" }, this.badgeTooltip)))), (this.label || this.annotated) && (h("div", { key: '5e1c708b282870fbf288c5ab8fd367c507d9b3ee', class: "addons" }, this.label && (h("dso-label", { key: '96b45cb68cf89b7145f122144adb652a7f3b54ee', status: this.labelStatus, compact: true }, this.label)), this.annotated && this.mode === "document" && (h("dso-icon-button", { key: 'd765d1808c497be7f06b2c2ddb71de7e97a7f65c', label: `Kenmerken en kaartgegevens ${this.openAnnotation ? "verbergen" : "tonen"}`, icon: "label", expanded: this.openAnnotation, variant: "tertiary", onDsoClick: (e) => this.dsoAnnotationToggle.emit({
245
+ return (h(Host, { key: 'f8988dc23744ac52a41583fcdcba34b4a8a676b8', "not-collapsible": !collapsible }, showHeading && (h("div", { key: 'ba2f55b584cc1104770e654fcbabdee87d707ce7', class: "heading-container", part: "_heading-container" }, this.wijzigactie && h("span", { key: 'd84dd54d504f7772adca92455925529ba9e99488', class: "editaction-label" }, this.wijzigactieLabel, ":"), h("div", { key: '296ae8cb10db9e0482375fa361096df2f7fbbdcf', class: "heading" }, h(Heading, { key: 'e7240a4f5da77b667b3c838aecee3c50a70c0886', headingLevel: this.headingLevel, class: "heading-element", onClick: this.alternativeTitle ? this.handleHeadingClick : undefined, mode: this.mode, href: this.href }, collapsible && this.mode === "document" && (h("dso-icon-button", { key: 'c835dab68028116f2679c1a6c4a9476b535471fd', label: this.open ? "Invouwen" : "Uitvouwen", class: "toggle-button", expanded: this.open, icon: this.open ? "chevron-down" : "chevron-right", variant: "tertiary", onDsoClick: (e) => this.handleHeadingClick(e.detail.originalEvent) })), h("div", { key: '48280777989cc704dd59c1637695cf49d276b5fd' }, this.notApplicable && h("span", { key: '39f8d041ae3a558b4283ab9ee915f17d2388ad9a', class: "sr-only" }, "Niet van toepassing:"), this._kop ? (h("dso-ozon-content", { class: "kop", content: this._kop, onDsoClick: this.handleOzonContentClick, mark: this.mark && ((text) => this.mark?.(text, "kop")), onDsoOzonContentMarkItemHighlight: (e) => this.dsoMarkItemHighlight.emit({ ...e.detail, source: "kop" }), inline: true, urlResolver: this.ozonContentUrlResolver, begripResolver: this.ozonContentBegripResolver, annotated: this.annotated })) : (h("span", { class: "alternative-title" }, (!this.mark && this.alternativeTitle) ||
246
+ (this.mark && this.alternativeTitle && (h(MarkText, { mark: this.mark && ((text) => this.mark?.(text, "alternativeTitle")), text: this.alternativeTitle, emitMarkItemHighlight: (text, elementRef) => this.dsoMarkItemHighlight.emit({ text, elementRef, source: "alternativeTitle" }) }))))), h(AantekenStatus, { key: 'a95d529b1948a25b64f71fac2b17d29ab593a0cb', gereserveerd: this._gereserveerd, vervallen: this._vervallen }))), this.recursiveToggle !== undefined && this.open && this.mode === "document" && (h("dso-icon-button", { key: '489cc7c39def4edabe9e1dd3414857feca3167b9', label: this.recursiveToggle === true ? "Verberg onderliggende artikelen" : "Toon onderliggende artikelen", class: "recursive-toggle", expanded: this.recursiveToggle === true, icon: this.recursiveToggle === true ? "eye" : "eye-slash", variant: "tertiary", onDsoClick: (e) => this.handleRecursiveToggleClick(e.detail.originalEvent) })), this.showBadge() && (h(Fragment, { key: 'cdb81b0cc410d703c8c9e21621f8c0bf5d97a276' }, h("dso-badge", { key: '8b6fd2528543889faaecf8f937fa0ac6cadc80ec', status: this.badgeStatus, label: this.badgeTooltip ? "Toon toelichting" : undefined }, this.badge, this.badgeTooltip && h("div", { key: '4967e1b13815576b5e166da3d6cbc06e3f22e2ba', slot: "toggletip" }, this.badgeTooltip)))), (this.label || this.annotated) && (h("div", { key: '276f44c01f6ec492c866bb0aeba72ee186cb447d', class: "addons" }, this.label && (h("dso-label", { key: '3ddfcfc595536cfea798c26413c13b51d82a3e2c', status: this.labelStatus, compact: true }, this.label)), this.annotated && this.mode === "document" && (h("dso-icon-button", { key: '9573e100ba6b4cad8be15b7b2a2e9aa817369793', label: `Kenmerken en kaartgegevens ${this.openAnnotation ? "verbergen" : "tonen"}`, icon: "label", expanded: this.openAnnotation, variant: "tertiary", onDsoClick: (e) => this.dsoAnnotationToggle.emit({
235
247
  current: this.openAnnotation,
236
248
  next: !this.openAnnotation,
237
249
  scrollRef: this.host,
238
250
  originalEvent: e.detail.originalEvent,
239
- }) }))))))), this.openAnnotation && (h("div", { key: '8d6c43922c207efbe076799f5b63f2dd33ca5349', class: "annotation-container", part: "_annotation-container", role: "dialog", "aria-labelledby": "annotations-heading" }, h("dso-panel", { key: '3b6bc86f09163f570df4c82a402a9f40dbf5c769', id: "annotations", onDsoCloseClick: (e) => this.dsoAnnotationToggle.emit({
251
+ }) }))))))), this.openAnnotation && (h("div", { key: 'dd3eb5839739a04c8c716c51927d7a7c8a8606bf', class: "annotation-container", part: "_annotation-container", role: "dialog", "aria-labelledby": "annotations-heading" }, h("dso-panel", { key: '6c4d109c892ea8b8f095105667fc2fe4a55ea506', id: "annotations", onDsoCloseClick: (e) => this.dsoAnnotationToggle.emit({
240
252
  current: true,
241
253
  next: false,
242
254
  originalEvent: e,
243
- }), closeButtonLabel: "Kenmerken en kaartgegevens verbergen" }, h("h2", { key: '52f79d3bd8b489a423074bcd0e9fab90ea89220d', id: "annotations-heading", slot: "heading" }, "Kenmerken en kaart"), h("slot", { key: 'e1e62c6fdde945f6947921ba1385e793e285e83c', name: "annotations" })))), this.open && (this._inhoud || this._gereserveerd || this._vervallen) && this.mode === "document" && (h("div", { key: '3f91fcfeb79b2787fdd46d44c12d15f96a1d1341', class: "content", part: "_content" }, h(AantekenAlert, { key: '9a66beaf9f150696d3cc4c0ca6d6727fc44ca465', gereserveerd: this._gereserveerd, vervallen: this._vervallen }), this._inhoud && (h("dso-ozon-content", { key: '6029fe131e1e3e00f7879e9b2f0191aca324fe92', content: this._inhoud, onDsoClick: this.handleOzonContentClick, mark: this.mark && ((text) => this.mark?.(text, "inhoud")), onDsoOzonContentMarkItemHighlight: (e) => this.dsoMarkItemHighlight.emit({ ...e.detail, source: "inhoud" }), urlResolver: this.ozonContentUrlResolver, begripResolver: this.ozonContentBegripResolver, annotated: this.annotated })))), h("div", { key: 'f386a2c655fa8e7dc79e1ffb6f90f80a6d06ccf7', class: "children-container", part: "_children-container" }, h("slot", { key: 'a1725f8b106b90968abac2723ac96869333fd572' }))));
255
+ }), closeButtonLabel: "Kenmerken en kaartgegevens verbergen" }, h("h2", { key: 'd173f5957242b8180fd67f07e5a0f2f71e68ca8e', id: "annotations-heading", slot: "heading" }, "Kenmerken en kaart"), h("slot", { key: 'f17a9b19fd23c5dcb5e914792011c3bcc336da86', name: "annotations" })))), this.open && (this._inhoud || this._gereserveerd || this._vervallen) && this.mode === "document" && (h("div", { key: 'e03b6b7d2db9e8cbc13f9105ab9aa3e2af8a5793', class: "content", part: "_content" }, h(AantekenAlert, { key: '1516df95cd7ffb3795cc71bff9a866892b47501b', gereserveerd: this._gereserveerd, vervallen: this._vervallen }), this._inhoud && (h("dso-ozon-content", { key: 'fee5f88d382231c11aff522eff75b82df5ee6afe', content: this._inhoud, onDsoClick: this.handleOzonContentClick, mark: this.mark && ((text) => this.mark?.(text, "inhoud")), onDsoOzonContentMarkItemHighlight: (e) => this.dsoMarkItemHighlight.emit({ ...e.detail, source: "inhoud" }), urlResolver: this.ozonContentUrlResolver, begripResolver: this.ozonContentBegripResolver, annotated: this.annotated })))), h("div", { key: '8888df264cefd314382d48505ff8641c20c5cc86', class: "children-container", part: "_children-container" }, h("slot", { key: '56e85d5200913609e0a03c929a2d889c75ae2d7e' }))));
244
256
  }
245
257
  get host() { return this; }
246
258
  static get style() { return documentComponentCss(); }
247
259
  }, [257, "dso-document-component", {
248
- "heading": [513],
260
+ "headingLevel": [514, "heading-level"],
249
261
  "kop": [6145],
250
262
  "inhoud": [6145],
251
263
  "open": [516],
@@ -1298,7 +1298,7 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
1298
1298
  return trap;
1299
1299
  };
1300
1300
 
1301
- const advancedSelectCss = () => `:host{display:block}*,*::after,*::before{box-sizing:border-box}.advanced-select{display:flex;flex-direction:row}.advanced-select-button{flex:1;min-inline-size:0}.active-option{color:inherit;display:flex;inline-size:100%;justify-content:flex-start;align-items:center;padding:0;border:1px solid #275937;border-radius:4px;cursor:pointer;background-color:#fff;line-height:inherit;font-family:inherit;font-size:inherit;letter-spacing:inherit}.active-option.open{border-radius:4px 4px 0 0}.active-option dso-icon{color:#275937}.active-option dso-label{margin-inline-start:8px}.active-option-label{line-height:1;padding-block:12px;padding-inline:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.active-option-aside{padding-inline:8px;margin-inline-start:auto}.badges{display:flex;justify-content:space-between;align-items:center;gap:4px;padding-inline-start:8px}.groups-container{position:relative;z-index:200}.groups{position:absolute;inset-block-start:-1px;inset-inline-start:0;inline-size:100%;max-block-size:500px;margin:0;padding:0;overflow-y:auto;background-color:#fff;border:1px solid #275937;border-radius:0 0 4px 4px}.groups li::marker{display:none}.group{border-block-end:1px solid #ccc}.group:last-child{border-block-end:none}.group-label{margin:0;padding-block:4px;padding-inline:16px;color:#666;font-size:0.875rem;font-weight:600}.group-link{display:block;padding-block:8px;padding-inline:4px;text-align:end;color:#39870c;text-decoration:none}.group-link:hover,.group-link:focus{text-decoration:underline}.group-link dso-icon{color:#39870c}.group-info .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-zwart);--_dso-link-extern-icon:var(--_dso-di-external-link-zwart);--_dso-link-phone-icon:var(--_dso-di-call-zwart);--_dso-link-mail-icon:var(--_dso-di-mail-outline-zwart);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-zwart);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:#1f472c;--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:#275937;--_dso-icon-button-secondary-toggled-hover-background-color:#1b3e27;--_dso-icon-button-tertiary-color:#191919;--_dso-icon-button-tertiary-hover-color:#4c4c4c;--_dso-icon-button-tertiary-active-color:#1f472c;--_dso-icon-button-tertiary-toggled-color:#275937;--_dso-icon-button-tertiary-toggled-hover-color:#1b3e27;--_dso-icon-button-tertiary-disabled-color:#999;--_dso-button-tertiary-download-icon:var(--_dso-di-download-zwart);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-zwart);--_dso-button-tertiary-color:#191919;--_dso-button-tertiary-hover-color:#4c4c4c;--_dso-button-tertiary-active-color:#173521;--_dso-button-tertiary-disabled-color:#999;background-color:#6ca4d9;color:#191919}.group-primary .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-wit);--_dso-link-extern-icon:var(--_dso-di-external-link-wit);--_dso-link-phone-icon:var(--_dso-di-call-wit);--_dso-link-mail-icon:var(--_dso-di-mail-outline-wit);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-wit);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:rgba(255, 255, 255, 0.2);--_dso-icon-button-secondary-toggled-hover-background-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-color:#f2f2f2;--_dso-icon-button-tertiary-hover-color:#fff;--_dso-icon-button-tertiary-active-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-tertiary-toggled-color:#fff;--_dso-icon-button-tertiary-toggled-hover-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-disabled-color:#b2b2b2;--_dso-button-tertiary-download-icon:var(--_dso-di-download-wit);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-wit);--_dso-button-primary-background-color:#fff;--_dso-button-primary-hover-background-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-background-color:#f2f2f2;--_dso-button-primary-disabled-background-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-border-color:#fff;--_dso-button-primary-hover-border-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-border-color:#f2f2f2;--_dso-button-primary-disabled-border-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-color:#191919;--_dso-button-primary-hover-color:#191919;--_dso-button-primary-active-color:#191919;--_dso-button-primary-disabled-color:#666;--_dso-button-secondary-background-color:none;--_dso-button-secondary-hover-background-color:rgba(255, 255, 255, 0.2);--_dso-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-background-color:none;--_dso-button-secondary-border-color:#fff;--_dso-button-secondary-hover-border-color:#fff;--_dso-button-secondary-active-border-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-border-color:rgba(255, 255, 255, 0.7);--_dso-button-secondary-color:#fff;--_dso-button-secondary-hover-color:#fff;--_dso-button-secondary-active-color:#fff;--_dso-button-secondary-disabled-color:rgba(255, 255, 255, 0.7);--_dso-button-tertiary-color:#fff;--_dso-button-tertiary-hover-color:#fff;--_dso-button-tertiary-active-color:#fff;--_dso-button-tertiary-disabled-color:#b2b2b2;background-color:#275937;color:#fff}.group-success .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-wit);--_dso-link-extern-icon:var(--_dso-di-external-link-wit);--_dso-link-phone-icon:var(--_dso-di-call-wit);--_dso-link-mail-icon:var(--_dso-di-mail-outline-wit);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-wit);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:rgba(255, 255, 255, 0.2);--_dso-icon-button-secondary-toggled-hover-background-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-color:#f2f2f2;--_dso-icon-button-tertiary-hover-color:#fff;--_dso-icon-button-tertiary-active-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-tertiary-toggled-color:#fff;--_dso-icon-button-tertiary-toggled-hover-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-disabled-color:#b2b2b2;--_dso-button-tertiary-download-icon:var(--_dso-di-download-wit);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-wit);--_dso-button-primary-background-color:#fff;--_dso-button-primary-hover-background-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-background-color:#f2f2f2;--_dso-button-primary-disabled-background-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-border-color:#fff;--_dso-button-primary-hover-border-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-border-color:#f2f2f2;--_dso-button-primary-disabled-border-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-color:#191919;--_dso-button-primary-hover-color:#191919;--_dso-button-primary-active-color:#191919;--_dso-button-primary-disabled-color:#666;--_dso-button-secondary-background-color:none;--_dso-button-secondary-hover-background-color:rgba(255, 255, 255, 0.2);--_dso-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-background-color:none;--_dso-button-secondary-border-color:#fff;--_dso-button-secondary-hover-border-color:#fff;--_dso-button-secondary-active-border-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-border-color:rgba(255, 255, 255, 0.7);--_dso-button-secondary-color:#fff;--_dso-button-secondary-hover-color:#fff;--_dso-button-secondary-active-color:#fff;--_dso-button-secondary-disabled-color:rgba(255, 255, 255, 0.7);--_dso-button-tertiary-color:#fff;--_dso-button-tertiary-hover-color:#fff;--_dso-button-tertiary-active-color:#fff;--_dso-button-tertiary-disabled-color:#b2b2b2;background-color:#39870c;color:#fff}.group-warning .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-zwart);--_dso-link-extern-icon:var(--_dso-di-external-link-zwart);--_dso-link-phone-icon:var(--_dso-di-call-zwart);--_dso-link-mail-icon:var(--_dso-di-mail-outline-zwart);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-zwart);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:#1f472c;--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:#275937;--_dso-icon-button-secondary-toggled-hover-background-color:#1b3e27;--_dso-icon-button-tertiary-color:#191919;--_dso-icon-button-tertiary-hover-color:#4c4c4c;--_dso-icon-button-tertiary-active-color:#1f472c;--_dso-icon-button-tertiary-toggled-color:#275937;--_dso-icon-button-tertiary-toggled-hover-color:#1b3e27;--_dso-icon-button-tertiary-disabled-color:#999;--_dso-button-tertiary-download-icon:var(--_dso-di-download-zwart);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-zwart);--_dso-button-tertiary-color:#191919;--_dso-button-tertiary-hover-color:#4c4c4c;--_dso-button-tertiary-active-color:#173521;--_dso-button-tertiary-disabled-color:#999;background-color:#dcd400;color:#191919}.group-error .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-wit);--_dso-link-extern-icon:var(--_dso-di-external-link-wit);--_dso-link-phone-icon:var(--_dso-di-call-wit);--_dso-link-mail-icon:var(--_dso-di-mail-outline-wit);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-wit);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:rgba(255, 255, 255, 0.2);--_dso-icon-button-secondary-toggled-hover-background-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-color:#f2f2f2;--_dso-icon-button-tertiary-hover-color:#fff;--_dso-icon-button-tertiary-active-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-tertiary-toggled-color:#fff;--_dso-icon-button-tertiary-toggled-hover-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-disabled-color:#b2b2b2;--_dso-button-tertiary-download-icon:var(--_dso-di-download-wit);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-wit);--_dso-button-primary-background-color:#fff;--_dso-button-primary-hover-background-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-background-color:#f2f2f2;--_dso-button-primary-disabled-background-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-border-color:#fff;--_dso-button-primary-hover-border-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-border-color:#f2f2f2;--_dso-button-primary-disabled-border-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-color:#191919;--_dso-button-primary-hover-color:#191919;--_dso-button-primary-active-color:#191919;--_dso-button-primary-disabled-color:#666;--_dso-button-secondary-background-color:none;--_dso-button-secondary-hover-background-color:rgba(255, 255, 255, 0.2);--_dso-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-background-color:none;--_dso-button-secondary-border-color:#fff;--_dso-button-secondary-hover-border-color:#fff;--_dso-button-secondary-active-border-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-border-color:rgba(255, 255, 255, 0.7);--_dso-button-secondary-color:#fff;--_dso-button-secondary-hover-color:#fff;--_dso-button-secondary-active-color:#fff;--_dso-button-secondary-disabled-color:rgba(255, 255, 255, 0.7);--_dso-button-tertiary-color:#fff;--_dso-button-tertiary-hover-color:#fff;--_dso-button-tertiary-active-color:#fff;--_dso-button-tertiary-disabled-color:#b2b2b2;background-color:#ce3f51;color:#fff}.group-attention .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-wit);--_dso-link-extern-icon:var(--_dso-di-external-link-wit);--_dso-link-phone-icon:var(--_dso-di-call-wit);--_dso-link-mail-icon:var(--_dso-di-mail-outline-wit);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-wit);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:rgba(255, 255, 255, 0.2);--_dso-icon-button-secondary-toggled-hover-background-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-color:#f2f2f2;--_dso-icon-button-tertiary-hover-color:#fff;--_dso-icon-button-tertiary-active-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-tertiary-toggled-color:#fff;--_dso-icon-button-tertiary-toggled-hover-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-disabled-color:#b2b2b2;--_dso-button-tertiary-download-icon:var(--_dso-di-download-wit);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-wit);--_dso-button-primary-background-color:#fff;--_dso-button-primary-hover-background-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-background-color:#f2f2f2;--_dso-button-primary-disabled-background-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-border-color:#fff;--_dso-button-primary-hover-border-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-border-color:#f2f2f2;--_dso-button-primary-disabled-border-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-color:#191919;--_dso-button-primary-hover-color:#191919;--_dso-button-primary-active-color:#191919;--_dso-button-primary-disabled-color:#666;--_dso-button-secondary-background-color:none;--_dso-button-secondary-hover-background-color:rgba(255, 255, 255, 0.2);--_dso-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-background-color:none;--_dso-button-secondary-border-color:#fff;--_dso-button-secondary-hover-border-color:#fff;--_dso-button-secondary-active-border-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-border-color:rgba(255, 255, 255, 0.7);--_dso-button-secondary-color:#fff;--_dso-button-secondary-hover-color:#fff;--_dso-button-secondary-active-color:#fff;--_dso-button-secondary-disabled-color:rgba(255, 255, 255, 0.7);--_dso-button-tertiary-color:#fff;--_dso-button-tertiary-hover-color:#fff;--_dso-button-tertiary-active-color:#fff;--_dso-button-tertiary-disabled-color:#b2b2b2;background-color:#8b4a6a;color:#fff}.options{margin:0;padding:0}.option{display:flex;align-items:center;gap:8px;inline-size:100%;padding-block:8px;padding-inline:16px;cursor:pointer;line-height:inherit;font-family:inherit;font-size:inherit;letter-spacing:inherit;border:none;text-align:start;background-color:#fff}.option dso-icon{flex-shrink:0}.option.option-active,.option.option-active:hover,.option.option-active:focus{background-color:#275937}.option.option-active .option-label,.option.option-active dso-icon,.option.option-active:hover .option-label,.option.option-active:hover dso-icon,.option.option-active:focus .option-label,.option.option-active:focus dso-icon{color:#fff;font-weight:600}.option:hover,.option:focus{background-color:#ebf3e6}.option-label{position:relative;color:#191919}.option-hint{padding-inline-start:5px;color:#fff;font-weight:600}.placeholder{margin:0;padding-block:8px;padding-inline:16px;color:#666}`;
1301
+ const advancedSelectCss = () => `:host{display:block}*,*::after,*::before{box-sizing:border-box}.advanced-select{display:flex;flex-direction:row}.advanced-select-button{flex:1;min-inline-size:0}.active-option{color:inherit;display:flex;inline-size:100%;justify-content:flex-start;align-items:center;padding:0;border:1px solid #275937;border-radius:4px;cursor:pointer;background-color:#fff;text-align:start;line-height:inherit;font-family:inherit;font-size:inherit;letter-spacing:inherit}.active-option.open{border-radius:4px 4px 0 0}.active-option dso-icon{color:#275937}@media (max-width: 480px){.active-option-label{hyphens:auto}}.active-option-label{line-height:1.5;padding-block:8px;padding-inline:8px}.active-option-label dso-label{margin-inline-end:8px}.active-option-aside{padding-inline:8px;margin-inline-start:auto}.badges{display:flex;justify-content:space-between;gap:4px;padding-block-start:8px;padding-inline-start:8px}.groups-container{position:relative;z-index:200}.groups{position:absolute;inset-block-start:-1px;inset-inline-start:0;inline-size:100%;max-block-size:500px;margin:0;padding:0;overflow-y:auto;background-color:#fff;border:1px solid #275937;border-radius:0 0 4px 4px}.groups li::marker{display:none}.group{border-block-end:1px solid #ccc}.group:last-child{border-block-end:none}.group-label{margin:0;padding-block:4px;padding-inline:16px;color:#666;font-size:0.875rem;font-weight:600}.group-link{display:block;padding-block:8px;padding-inline:4px;text-align:end;color:#39870c;text-decoration:none}.group-link:hover,.group-link:focus{text-decoration:underline}.group-link dso-icon{color:#39870c}.group-info .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-zwart);--_dso-link-extern-icon:var(--_dso-di-external-link-zwart);--_dso-link-phone-icon:var(--_dso-di-call-zwart);--_dso-link-mail-icon:var(--_dso-di-mail-outline-zwart);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-zwart);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:#1f472c;--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:#275937;--_dso-icon-button-secondary-toggled-hover-background-color:#1b3e27;--_dso-icon-button-tertiary-color:#191919;--_dso-icon-button-tertiary-hover-color:#4c4c4c;--_dso-icon-button-tertiary-active-color:#1f472c;--_dso-icon-button-tertiary-toggled-color:#275937;--_dso-icon-button-tertiary-toggled-hover-color:#1b3e27;--_dso-icon-button-tertiary-disabled-color:#999;--_dso-button-tertiary-download-icon:var(--_dso-di-download-zwart);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-zwart);--_dso-button-tertiary-color:#191919;--_dso-button-tertiary-hover-color:#4c4c4c;--_dso-button-tertiary-active-color:#173521;--_dso-button-tertiary-disabled-color:#999;background-color:#6ca4d9;color:#191919}.group-primary .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-wit);--_dso-link-extern-icon:var(--_dso-di-external-link-wit);--_dso-link-phone-icon:var(--_dso-di-call-wit);--_dso-link-mail-icon:var(--_dso-di-mail-outline-wit);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-wit);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:rgba(255, 255, 255, 0.2);--_dso-icon-button-secondary-toggled-hover-background-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-color:#f2f2f2;--_dso-icon-button-tertiary-hover-color:#fff;--_dso-icon-button-tertiary-active-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-tertiary-toggled-color:#fff;--_dso-icon-button-tertiary-toggled-hover-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-disabled-color:#b2b2b2;--_dso-button-tertiary-download-icon:var(--_dso-di-download-wit);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-wit);--_dso-button-primary-background-color:#fff;--_dso-button-primary-hover-background-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-background-color:#f2f2f2;--_dso-button-primary-disabled-background-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-border-color:#fff;--_dso-button-primary-hover-border-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-border-color:#f2f2f2;--_dso-button-primary-disabled-border-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-color:#191919;--_dso-button-primary-hover-color:#191919;--_dso-button-primary-active-color:#191919;--_dso-button-primary-disabled-color:#666;--_dso-button-secondary-background-color:none;--_dso-button-secondary-hover-background-color:rgba(255, 255, 255, 0.2);--_dso-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-background-color:none;--_dso-button-secondary-border-color:#fff;--_dso-button-secondary-hover-border-color:#fff;--_dso-button-secondary-active-border-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-border-color:rgba(255, 255, 255, 0.7);--_dso-button-secondary-color:#fff;--_dso-button-secondary-hover-color:#fff;--_dso-button-secondary-active-color:#fff;--_dso-button-secondary-disabled-color:rgba(255, 255, 255, 0.7);--_dso-button-tertiary-color:#fff;--_dso-button-tertiary-hover-color:#fff;--_dso-button-tertiary-active-color:#fff;--_dso-button-tertiary-disabled-color:#b2b2b2;background-color:#275937;color:#fff}.group-success .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-wit);--_dso-link-extern-icon:var(--_dso-di-external-link-wit);--_dso-link-phone-icon:var(--_dso-di-call-wit);--_dso-link-mail-icon:var(--_dso-di-mail-outline-wit);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-wit);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:rgba(255, 255, 255, 0.2);--_dso-icon-button-secondary-toggled-hover-background-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-color:#f2f2f2;--_dso-icon-button-tertiary-hover-color:#fff;--_dso-icon-button-tertiary-active-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-tertiary-toggled-color:#fff;--_dso-icon-button-tertiary-toggled-hover-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-disabled-color:#b2b2b2;--_dso-button-tertiary-download-icon:var(--_dso-di-download-wit);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-wit);--_dso-button-primary-background-color:#fff;--_dso-button-primary-hover-background-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-background-color:#f2f2f2;--_dso-button-primary-disabled-background-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-border-color:#fff;--_dso-button-primary-hover-border-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-border-color:#f2f2f2;--_dso-button-primary-disabled-border-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-color:#191919;--_dso-button-primary-hover-color:#191919;--_dso-button-primary-active-color:#191919;--_dso-button-primary-disabled-color:#666;--_dso-button-secondary-background-color:none;--_dso-button-secondary-hover-background-color:rgba(255, 255, 255, 0.2);--_dso-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-background-color:none;--_dso-button-secondary-border-color:#fff;--_dso-button-secondary-hover-border-color:#fff;--_dso-button-secondary-active-border-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-border-color:rgba(255, 255, 255, 0.7);--_dso-button-secondary-color:#fff;--_dso-button-secondary-hover-color:#fff;--_dso-button-secondary-active-color:#fff;--_dso-button-secondary-disabled-color:rgba(255, 255, 255, 0.7);--_dso-button-tertiary-color:#fff;--_dso-button-tertiary-hover-color:#fff;--_dso-button-tertiary-active-color:#fff;--_dso-button-tertiary-disabled-color:#b2b2b2;background-color:#39870c;color:#fff}.group-warning .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-zwart);--_dso-link-extern-icon:var(--_dso-di-external-link-zwart);--_dso-link-phone-icon:var(--_dso-di-call-zwart);--_dso-link-mail-icon:var(--_dso-di-mail-outline-zwart);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-zwart);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:#1f472c;--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:#275937;--_dso-icon-button-secondary-toggled-hover-background-color:#1b3e27;--_dso-icon-button-tertiary-color:#191919;--_dso-icon-button-tertiary-hover-color:#4c4c4c;--_dso-icon-button-tertiary-active-color:#1f472c;--_dso-icon-button-tertiary-toggled-color:#275937;--_dso-icon-button-tertiary-toggled-hover-color:#1b3e27;--_dso-icon-button-tertiary-disabled-color:#999;--_dso-button-tertiary-download-icon:var(--_dso-di-download-zwart);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-zwart);--_dso-button-tertiary-color:#191919;--_dso-button-tertiary-hover-color:#4c4c4c;--_dso-button-tertiary-active-color:#173521;--_dso-button-tertiary-disabled-color:#999;background-color:#dcd400;color:#191919}.group-error .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-wit);--_dso-link-extern-icon:var(--_dso-di-external-link-wit);--_dso-link-phone-icon:var(--_dso-di-call-wit);--_dso-link-mail-icon:var(--_dso-di-mail-outline-wit);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-wit);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:rgba(255, 255, 255, 0.2);--_dso-icon-button-secondary-toggled-hover-background-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-color:#f2f2f2;--_dso-icon-button-tertiary-hover-color:#fff;--_dso-icon-button-tertiary-active-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-tertiary-toggled-color:#fff;--_dso-icon-button-tertiary-toggled-hover-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-disabled-color:#b2b2b2;--_dso-button-tertiary-download-icon:var(--_dso-di-download-wit);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-wit);--_dso-button-primary-background-color:#fff;--_dso-button-primary-hover-background-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-background-color:#f2f2f2;--_dso-button-primary-disabled-background-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-border-color:#fff;--_dso-button-primary-hover-border-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-border-color:#f2f2f2;--_dso-button-primary-disabled-border-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-color:#191919;--_dso-button-primary-hover-color:#191919;--_dso-button-primary-active-color:#191919;--_dso-button-primary-disabled-color:#666;--_dso-button-secondary-background-color:none;--_dso-button-secondary-hover-background-color:rgba(255, 255, 255, 0.2);--_dso-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-background-color:none;--_dso-button-secondary-border-color:#fff;--_dso-button-secondary-hover-border-color:#fff;--_dso-button-secondary-active-border-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-border-color:rgba(255, 255, 255, 0.7);--_dso-button-secondary-color:#fff;--_dso-button-secondary-hover-color:#fff;--_dso-button-secondary-active-color:#fff;--_dso-button-secondary-disabled-color:rgba(255, 255, 255, 0.7);--_dso-button-tertiary-color:#fff;--_dso-button-tertiary-hover-color:#fff;--_dso-button-tertiary-active-color:#fff;--_dso-button-tertiary-disabled-color:#b2b2b2;background-color:#ce3f51;color:#fff}.group-attention .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-wit);--_dso-link-extern-icon:var(--_dso-di-external-link-wit);--_dso-link-phone-icon:var(--_dso-di-call-wit);--_dso-link-mail-icon:var(--_dso-di-mail-outline-wit);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-wit);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:rgba(255, 255, 255, 0.2);--_dso-icon-button-secondary-toggled-hover-background-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-color:#f2f2f2;--_dso-icon-button-tertiary-hover-color:#fff;--_dso-icon-button-tertiary-active-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-tertiary-toggled-color:#fff;--_dso-icon-button-tertiary-toggled-hover-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-disabled-color:#b2b2b2;--_dso-button-tertiary-download-icon:var(--_dso-di-download-wit);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-wit);--_dso-button-primary-background-color:#fff;--_dso-button-primary-hover-background-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-background-color:#f2f2f2;--_dso-button-primary-disabled-background-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-border-color:#fff;--_dso-button-primary-hover-border-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-border-color:#f2f2f2;--_dso-button-primary-disabled-border-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-color:#191919;--_dso-button-primary-hover-color:#191919;--_dso-button-primary-active-color:#191919;--_dso-button-primary-disabled-color:#666;--_dso-button-secondary-background-color:none;--_dso-button-secondary-hover-background-color:rgba(255, 255, 255, 0.2);--_dso-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-background-color:none;--_dso-button-secondary-border-color:#fff;--_dso-button-secondary-hover-border-color:#fff;--_dso-button-secondary-active-border-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-border-color:rgba(255, 255, 255, 0.7);--_dso-button-secondary-color:#fff;--_dso-button-secondary-hover-color:#fff;--_dso-button-secondary-active-color:#fff;--_dso-button-secondary-disabled-color:rgba(255, 255, 255, 0.7);--_dso-button-tertiary-color:#fff;--_dso-button-tertiary-hover-color:#fff;--_dso-button-tertiary-active-color:#fff;--_dso-button-tertiary-disabled-color:#b2b2b2;background-color:#8b4a6a;color:#fff}.options{margin:0;padding:0}.option{display:flex;align-items:center;gap:8px;inline-size:100%;padding-block:8px;padding-inline:16px;cursor:pointer;line-height:inherit;font-family:inherit;font-size:inherit;letter-spacing:inherit;border:none;text-align:start;background-color:#fff}.option dso-icon{flex-shrink:0}.option.option-active,.option.option-active:hover,.option.option-active:focus{background-color:#275937}.option.option-active .option-label,.option.option-active dso-icon,.option.option-active:hover .option-label,.option.option-active:hover dso-icon,.option.option-active:focus .option-label,.option.option-active:focus dso-icon{color:#fff;font-weight:600}.option:hover,.option:focus{background-color:#ebf3e6}.option-label{position:relative;color:#191919}.option-hint{padding-inline-start:5px;color:#fff;font-weight:600}.placeholder{margin:0;padding-block:8px;padding-inline:16px;color:#666}`;
1302
1302
 
1303
1303
  const AdvancedSelect = class {
1304
1304
  constructor(hostRef) {
@@ -1374,8 +1374,8 @@ const AdvancedSelect = class {
1374
1374
  }
1375
1375
  render() {
1376
1376
  const icon = this.open ? "caret-up" : "caret-down";
1377
- return (index.h("div", { key: 'caa960271b7eb724eedf59a6ecc3963d0edd44a7', class: "advanced-select" }, index.h("div", { key: 'ee68b2509312c5069a1efa48340b41420b815900', class: "advanced-select-button" }, index.h("button", { key: 'fcf9ad0e9f20869b4f023054b8a0d5c85120ce4b', "aria-expanded": this.open.toString(), class: clsx.clsx(["active-option", { open: this.open }]), type: "button", onClick: this.toggleOpen, ref: (element) => (this.toggleButtonElementRef = element) }, index.h(ActiveGroupLabel, { key: '1fa22990b25898c3efb0e30f37f1be77b521a7c6', active: this.active, options: this.options }), index.h("span", { key: 'ecd6a91ab2508d20beb307a1455199cf2639311f', class: "active-option-label" }, this.active?.label ?? "Selecteer een optie"), index.h("span", { key: 'f9614e4abb3d443df8460a05e65177da03eb5aa9', class: "active-option-aside" }, index.h("dso-icon", { key: '3ce4f7aa4468e2697c5a4a51ba59bc6f50dffb09', icon: icon, "aria-hidden": "true" }))), this.open && (index.h("div", { key: '9ef3f404c54ae68f8ecdfa583c1e1f5e6043473c', class: "groups-container" }, index.h("ul", { key: '2060f56e121dc676f80e5fb421f7417c57f69c89', class: "groups" }, this.options.map((optionOrGroup) => ("options" in optionOrGroup && (index.h("li", { class: clsx.clsx(["group", { [`group-${optionOrGroup.variant}`]: !!optionOrGroup.variant }]) }, index.h("p", { class: "group-label" }, optionOrGroup.label), index.h("ul", { class: "options" }, optionOrGroup.options.map((option) => (index.h("li", null, index.h(OptionButton, { option: option, active: this.active, activeHint: this.activeHint, callback: this.handleOptionClick, variant: optionOrGroup.variant }))))), optionOrGroup.redirect && (index.h(RedirectAnchor, { redirect: optionOrGroup.redirect, callback: this.handleRedirectClick }))))) ||
1378
- ("placeholder" in optionOrGroup && (index.h("li", { class: "group" }, index.h("p", { class: "group-label" }, optionOrGroup.label), index.h("p", { class: "placeholder" }, optionOrGroup.placeholder), optionOrGroup.redirect && (index.h(RedirectAnchor, { redirect: optionOrGroup.redirect, callback: this.handleRedirectClick }))))) || (index.h("li", null, index.h(OptionButton, { option: optionOrGroup, active: this.active, activeHint: this.activeHint, callback: this.handleOptionClick })))))))), this.options.some((optionOrGroup) => "summaryCounter" in optionOrGroup && optionOrGroup?.summaryCounter) && (index.h("span", { key: '9d376f04f707c29a7e094b760aacd117cf0a2d39', class: "badges" }, this.options
1377
+ return (index.h("div", { key: 'caa960271b7eb724eedf59a6ecc3963d0edd44a7', class: "advanced-select" }, index.h("div", { key: 'ee68b2509312c5069a1efa48340b41420b815900', class: "advanced-select-button" }, index.h("button", { key: 'fcf9ad0e9f20869b4f023054b8a0d5c85120ce4b', "aria-expanded": this.open.toString(), class: clsx.clsx(["active-option", { open: this.open }]), type: "button", onClick: this.toggleOpen, ref: (element) => (this.toggleButtonElementRef = element) }, index.h("span", { key: 'bfc430f8bbf04dd3b96b7899e7f6291a62b1bb9b', class: "active-option-label" }, index.h(ActiveGroupLabel, { key: '9cd3e3c60b0286c0d50a45f8d8de830c42728f33', active: this.active, options: this.options }), this.active?.label ?? "Selecteer een optie"), index.h("span", { key: 'ef87672c65cd65e7a6a6ceb37b5c15e98c0bb58c', class: "active-option-aside" }, index.h("dso-icon", { key: '0eb9b166c8894579d44e0d0a0787ceba75bd52c1', icon: icon, "aria-hidden": "true" }))), this.open && (index.h("div", { key: '43fede22505062bd93adf933307eb76462293e2c', class: "groups-container" }, index.h("ul", { key: '9f12aadfca802808c8e99181e6819a872f9f39e4', class: "groups" }, this.options.map((optionOrGroup) => ("options" in optionOrGroup && (index.h("li", { class: clsx.clsx(["group", { [`group-${optionOrGroup.variant}`]: !!optionOrGroup.variant }]) }, index.h("p", { class: "group-label" }, optionOrGroup.label), index.h("ul", { class: "options" }, optionOrGroup.options.map((option) => (index.h("li", null, index.h(OptionButton, { option: option, active: this.active, activeHint: this.activeHint, callback: this.handleOptionClick, variant: optionOrGroup.variant }))))), optionOrGroup.redirect && (index.h(RedirectAnchor, { redirect: optionOrGroup.redirect, callback: this.handleRedirectClick }))))) ||
1378
+ ("placeholder" in optionOrGroup && (index.h("li", { class: "group" }, index.h("p", { class: "group-label" }, optionOrGroup.label), index.h("p", { class: "placeholder" }, optionOrGroup.placeholder), optionOrGroup.redirect && (index.h(RedirectAnchor, { redirect: optionOrGroup.redirect, callback: this.handleRedirectClick }))))) || (index.h("li", null, index.h(OptionButton, { option: optionOrGroup, active: this.active, activeHint: this.activeHint, callback: this.handleOptionClick })))))))), this.options.some((optionOrGroup) => "summaryCounter" in optionOrGroup && optionOrGroup?.summaryCounter) && (index.h("span", { key: 'fd9e7f96ab6bd4a79974991e6d51f208e7ea2346', class: "badges" }, this.options
1379
1379
  .filter((option) => "options" in option && "summaryCounter" in option && !!option?.summaryCounter)
1380
1380
  .map((group) => (index.h("dso-badge", { status: group.variant ?? "outline", label: group.badgeLabel ?? `Toon toelichting voor ${group.label.toLowerCase()}` }, group.options.length, index.h("div", { slot: "toggletip" }, group.toggletip))))))));
1381
1381
  }
@@ -1002,7 +1002,7 @@ class OzonContentIntIoRefNode {
1002
1002
  originalEvent: event,
1003
1003
  });
1004
1004
  };
1005
- return (index.h(index.Fragment, null, index.h("dso-ozon-content-toggletip", { icon: "map-location" }, index.h("span", { slot: "label" }, mapNodeToJsx(node.childNodes)), annotated && (index.h("span", { role: "paragraph" }, "Gebieden op de kaart tonen:", " ", index.h("button", { type: "button", class: "dso-tertiary", onClick: intIoRefOnClick }, index.h("span", null, "Kenmerken en kaart"), index.h("dso-icon", { icon: "label" })))), index.h("span", { role: "paragraph" }, "Offici\u00EBle publicaties:", " ", index.h("a", { target: "_blank", rel: "noopener noreferrer", href: href ?? undefined, title: "Opent andere website in nieuw tabblad" }, index.h("span", null, mapNodeToJsx(node.childNodes)), index.h("dso-icon", { icon: "external-link" }))))));
1005
+ return (index.h(index.Fragment, null, index.h("dso-ozon-content-toggletip", { icon: "map-location" }, index.h("span", { slot: "label" }, mapNodeToJsx(node.childNodes)), annotated && (index.h("span", { role: "paragraph" }, "Gebieden op de kaart tonen:", " ", index.h("button", { type: "button", class: "dso-tertiary", onClick: intIoRefOnClick }, index.h("span", null, "Kenmerken en kaart"), index.h("dso-icon", { icon: "label" })))), index.h("span", { role: "paragraph" }, "Offici\u00EBle publicaties:", " ", index.h("a", { target: "_blank", rel: "noopener noreferrer", href: href ?? undefined, title: "Opent andere website in nieuw tabblad" }, index.h("span", null, mapNodeToJsx(node.childNodes, true)), index.h("dso-icon", { icon: "external-link" }))))));
1006
1006
  }
1007
1007
  }
1008
1008
 
@@ -1023,7 +1023,7 @@ class OzonContentIntRefNode {
1023
1023
  !definitieXMLDocument.documentElement.hasChildNodes()) {
1024
1024
  return mapNodeToJsx(node.childNodes);
1025
1025
  }
1026
- return (index.h("dso-ozon-content-toggletip", null, index.h("span", { slot: "label" }, mapNodeToJsx(node.childNodes)), mapNodeToJsx(Array.from(definitieXMLDocument.documentElement.childNodes))));
1026
+ return (index.h("dso-ozon-content-toggletip", null, index.h("span", { slot: "label" }, mapNodeToJsx(node.childNodes)), mapNodeToJsx(Array.from(definitieXMLDocument.documentElement.childNodes), true)));
1027
1027
  }
1028
1028
  const handleIntRefClick = (event) => {
1029
1029
  emitClick({
@@ -1119,7 +1119,7 @@ class OzonContentNootNode {
1119
1119
  }
1120
1120
  const childNodes = Array.from(node.childNodes);
1121
1121
  const nootNummer = childNodes.find((n) => getNodeName(n) === "NootNummer")?.textContent ?? noteId;
1122
- return (index.h("sup", null, index.h("dso-ozon-content-toggletip", { class: "toggle-note" }, index.h("span", { slot: "label" }, nootNummer), index.h("span", { role: "section" }, mapNodeToJsx(Array.from(node.querySelectorAll(":scope > Al")))))));
1122
+ return (index.h("sup", null, index.h("dso-ozon-content-toggletip", { class: "toggle-note" }, index.h("span", { slot: "label" }, nootNummer), index.h("span", { role: "section" }, mapNodeToJsx(Array.from(node.querySelectorAll(":scope > Al")), true)))));
1123
1123
  }
1124
1124
  }
1125
1125
 
@@ -1330,7 +1330,7 @@ class Mapper {
1330
1330
  return mapper.render(node, {
1331
1331
  inline: context.inline,
1332
1332
  mark: context.mark,
1333
- mapNodeToJsx: (n, m) => this.mapNodeToJsx(n, context, [...path, node], m),
1333
+ mapNodeToJsx: (n, m = ignoreMark) => this.mapNodeToJsx(n, context, [...path, node], m),
1334
1334
  emitClick: context.emitClick,
1335
1335
  setState,
1336
1336
  emitMarkItemHighlight: context.emitMarkItemHighlight,
@@ -28,9 +28,9 @@ const AnnotationLocatie = class {
28
28
  };
29
29
  AnnotationLocatie.style = annotationCss();
30
30
 
31
- const Heading = ({ heading, mode, href, onClick, ...props }, children) => {
31
+ const Heading = ({ headingLevel, mode, href, onClick, ...props }, children) => {
32
32
  // In the table of contents the nested lists carry the structure, so a heading level would add nothing but noise to
33
- // the heading list of assistive technology. The `heading` prop is ignored here.
33
+ // the heading list of assistive technology. The `headingLevel` prop is ignored here.
34
34
  if (mode === "table-of-contents") {
35
35
  const label = index.h("div", { ...props }, children);
36
36
  if (!href) {
@@ -39,22 +39,32 @@ const Heading = ({ heading, mode, href, onClick, ...props }, children) => {
39
39
  return (index.h("a", { href: href, onClick: onClick, class: "heading-anchor" }, label));
40
40
  }
41
41
  let headingElement;
42
- switch (heading) {
43
- default:
44
- case "h2":
45
- headingElement = (index.h("h2", { ...props, onClick: onClick }, children));
46
- break;
47
- case "h3":
48
- headingElement = (index.h("h3", { ...props, onClick: onClick }, children));
49
- break;
50
- case "h4":
51
- headingElement = (index.h("h4", { ...props, onClick: onClick }, children));
52
- break;
53
- case "h5":
54
- headingElement = (index.h("h5", { ...props, onClick: onClick }, children));
55
- break;
56
- case "h6":
57
- headingElement = (index.h("h6", { ...props, onClick: onClick }, children));
42
+ // The native heading elements only go up to `h6`. Deeper levels are expressed with the `heading` role and an
43
+ // explicit `aria-level` so assistive technology still exposes the correct structure.
44
+ if (headingLevel > 6) {
45
+ headingElement = (index.h("div", { role: "heading", "aria-level": headingLevel, ...props, onClick: onClick }, children));
46
+ }
47
+ else {
48
+ // In this branch the level is 6 or lower, so it maps onto a native `h2`–`h6` element.
49
+ let HeadingTag;
50
+ switch (headingLevel) {
51
+ case 3:
52
+ HeadingTag = "h3";
53
+ break;
54
+ case 4:
55
+ HeadingTag = "h4";
56
+ break;
57
+ case 5:
58
+ HeadingTag = "h5";
59
+ break;
60
+ case 6:
61
+ HeadingTag = "h6";
62
+ break;
63
+ default:
64
+ HeadingTag = "h2";
65
+ break;
66
+ }
67
+ headingElement = (index.h(HeadingTag, { ...props, onClick: onClick }, children));
58
68
  }
59
69
  return headingElement;
60
70
  };
@@ -93,10 +103,12 @@ const DocumentComponent = class {
93
103
  this.dsoAnnotationToggle = index.createEvent(this, "dsoAnnotationToggle", 3);
94
104
  this.dsoMarkItemHighlight = index.createEvent(this, "dsoMarkItemHighlight", 3);
95
105
  /**
96
- * The heading element to use (only in mode="document"). In mode="table-of-contents" the nested lists carry the
97
- * structure and no heading is rendered.
106
+ * The heading level to use (only in mode="document"). When the level is 6 or lower a native heading element
107
+ * (`<h2>` … `<h6>`) is rendered; deeper levels are rendered as `<div role="heading" aria-level="*">` because HTML
108
+ * has no native heading elements beyond `<h6>`. In mode="table-of-contents" the nested lists carry the structure
109
+ * and no heading is rendered.
98
110
  */
99
- this.heading = "h2";
111
+ this.headingLevel = 2;
100
112
  /**
101
113
  * This boolean attribute indicates whether the children are visible.
102
114
  */
@@ -241,17 +253,17 @@ const DocumentComponent = class {
241
253
  this.alternativeTitle ||
242
254
  this.label ||
243
255
  this.annotated);
244
- return (index.h(index.Host, { key: 'c3daa1d2609de7893bd976616e5b921b873f7e99', "not-collapsible": !collapsible }, showHeading && (index.h("div", { key: 'e4745a823af6fd01a0409757e118050e302211c1', class: "heading-container", part: "_heading-container" }, this.wijzigactie && index.h("span", { key: '5fceace2c30d0e026128fa501293ffcbd7b034ca', class: "editaction-label" }, this.wijzigactieLabel, ":"), index.h("div", { key: '821aedd47bbd20b9bfd3abc2db9d89ee8ef4b6c0', class: "heading" }, index.h(Heading, { key: 'ee5d5963865210537240db4ca06dede27244fccc', heading: this.heading, class: "heading-element", onClick: this.alternativeTitle ? this.handleHeadingClick : undefined, mode: this.mode, href: this.href }, collapsible && this.mode === "document" && (index.h("dso-icon-button", { key: 'a692e695c1aed573157419c5b48ad553d4dceff7', label: this.open ? "Invouwen" : "Uitvouwen", class: "toggle-button", expanded: this.open, icon: this.open ? "chevron-down" : "chevron-right", variant: "tertiary", onDsoClick: (e) => this.handleHeadingClick(e.detail.originalEvent) })), index.h("div", { key: '6456a83d76b31c8631cbf284501eb78de7a001bf' }, this.notApplicable && index.h("span", { key: '037f400453d038d41c93127ce3e4bcb274e741c1', class: "sr-only" }, "Niet van toepassing:"), this._kop ? (index.h("dso-ozon-content", { class: "kop", content: this._kop, onDsoClick: this.handleOzonContentClick, mark: this.mark && ((text) => this.mark?.(text, "kop")), onDsoOzonContentMarkItemHighlight: (e) => this.dsoMarkItemHighlight.emit({ ...e.detail, source: "kop" }), inline: true, urlResolver: this.ozonContentUrlResolver, begripResolver: this.ozonContentBegripResolver, annotated: this.annotated })) : (index.h("span", { class: "alternative-title" }, (!this.mark && this.alternativeTitle) ||
245
- (this.mark && this.alternativeTitle && (index.h(parseWijzigactieFromNode_function.MarkText, { mark: this.mark && ((text) => this.mark?.(text, "alternativeTitle")), text: this.alternativeTitle, emitMarkItemHighlight: (text, elementRef) => this.dsoMarkItemHighlight.emit({ text, elementRef, source: "alternativeTitle" }) }))))), index.h(AantekenStatus, { key: '7bae979a0c85493214474fec4be1eeb59ac3610c', gereserveerd: this._gereserveerd, vervallen: this._vervallen }))), this.recursiveToggle !== undefined && this.open && this.mode === "document" && (index.h("dso-icon-button", { key: 'f2dac94d29b219618472fc1f9a8e267176853e8f', label: this.recursiveToggle === true ? "Verberg onderliggende artikelen" : "Toon onderliggende artikelen", class: "recursive-toggle", expanded: this.recursiveToggle === true, icon: this.recursiveToggle === true ? "eye" : "eye-slash", variant: "tertiary", onDsoClick: (e) => this.handleRecursiveToggleClick(e.detail.originalEvent) })), this.showBadge() && (index.h(index.Fragment, { key: 'acf8256c9261775e6473e5cada670179e268cbe5' }, index.h("dso-badge", { key: 'd8859cb3a6cbcab8fd048f38ddfaaca22c6b984d', status: this.badgeStatus, label: this.badgeTooltip ? "Toon toelichting" : undefined }, this.badge, this.badgeTooltip && index.h("div", { key: 'b59a6fab6d6be897ebee1d1cb19093c65b7c6928', slot: "toggletip" }, this.badgeTooltip)))), (this.label || this.annotated) && (index.h("div", { key: '5e1c708b282870fbf288c5ab8fd367c507d9b3ee', class: "addons" }, this.label && (index.h("dso-label", { key: '96b45cb68cf89b7145f122144adb652a7f3b54ee', status: this.labelStatus, compact: true }, this.label)), this.annotated && this.mode === "document" && (index.h("dso-icon-button", { key: 'd765d1808c497be7f06b2c2ddb71de7e97a7f65c', label: `Kenmerken en kaartgegevens ${this.openAnnotation ? "verbergen" : "tonen"}`, icon: "label", expanded: this.openAnnotation, variant: "tertiary", onDsoClick: (e) => this.dsoAnnotationToggle.emit({
256
+ return (index.h(index.Host, { key: 'f8988dc23744ac52a41583fcdcba34b4a8a676b8', "not-collapsible": !collapsible }, showHeading && (index.h("div", { key: 'ba2f55b584cc1104770e654fcbabdee87d707ce7', class: "heading-container", part: "_heading-container" }, this.wijzigactie && index.h("span", { key: 'd84dd54d504f7772adca92455925529ba9e99488', class: "editaction-label" }, this.wijzigactieLabel, ":"), index.h("div", { key: '296ae8cb10db9e0482375fa361096df2f7fbbdcf', class: "heading" }, index.h(Heading, { key: 'e7240a4f5da77b667b3c838aecee3c50a70c0886', headingLevel: this.headingLevel, class: "heading-element", onClick: this.alternativeTitle ? this.handleHeadingClick : undefined, mode: this.mode, href: this.href }, collapsible && this.mode === "document" && (index.h("dso-icon-button", { key: 'c835dab68028116f2679c1a6c4a9476b535471fd', label: this.open ? "Invouwen" : "Uitvouwen", class: "toggle-button", expanded: this.open, icon: this.open ? "chevron-down" : "chevron-right", variant: "tertiary", onDsoClick: (e) => this.handleHeadingClick(e.detail.originalEvent) })), index.h("div", { key: '48280777989cc704dd59c1637695cf49d276b5fd' }, this.notApplicable && index.h("span", { key: '39f8d041ae3a558b4283ab9ee915f17d2388ad9a', class: "sr-only" }, "Niet van toepassing:"), this._kop ? (index.h("dso-ozon-content", { class: "kop", content: this._kop, onDsoClick: this.handleOzonContentClick, mark: this.mark && ((text) => this.mark?.(text, "kop")), onDsoOzonContentMarkItemHighlight: (e) => this.dsoMarkItemHighlight.emit({ ...e.detail, source: "kop" }), inline: true, urlResolver: this.ozonContentUrlResolver, begripResolver: this.ozonContentBegripResolver, annotated: this.annotated })) : (index.h("span", { class: "alternative-title" }, (!this.mark && this.alternativeTitle) ||
257
+ (this.mark && this.alternativeTitle && (index.h(parseWijzigactieFromNode_function.MarkText, { mark: this.mark && ((text) => this.mark?.(text, "alternativeTitle")), text: this.alternativeTitle, emitMarkItemHighlight: (text, elementRef) => this.dsoMarkItemHighlight.emit({ text, elementRef, source: "alternativeTitle" }) }))))), index.h(AantekenStatus, { key: 'a95d529b1948a25b64f71fac2b17d29ab593a0cb', gereserveerd: this._gereserveerd, vervallen: this._vervallen }))), this.recursiveToggle !== undefined && this.open && this.mode === "document" && (index.h("dso-icon-button", { key: '489cc7c39def4edabe9e1dd3414857feca3167b9', label: this.recursiveToggle === true ? "Verberg onderliggende artikelen" : "Toon onderliggende artikelen", class: "recursive-toggle", expanded: this.recursiveToggle === true, icon: this.recursiveToggle === true ? "eye" : "eye-slash", variant: "tertiary", onDsoClick: (e) => this.handleRecursiveToggleClick(e.detail.originalEvent) })), this.showBadge() && (index.h(index.Fragment, { key: 'cdb81b0cc410d703c8c9e21621f8c0bf5d97a276' }, index.h("dso-badge", { key: '8b6fd2528543889faaecf8f937fa0ac6cadc80ec', status: this.badgeStatus, label: this.badgeTooltip ? "Toon toelichting" : undefined }, this.badge, this.badgeTooltip && index.h("div", { key: '4967e1b13815576b5e166da3d6cbc06e3f22e2ba', slot: "toggletip" }, this.badgeTooltip)))), (this.label || this.annotated) && (index.h("div", { key: '276f44c01f6ec492c866bb0aeba72ee186cb447d', class: "addons" }, this.label && (index.h("dso-label", { key: '3ddfcfc595536cfea798c26413c13b51d82a3e2c', status: this.labelStatus, compact: true }, this.label)), this.annotated && this.mode === "document" && (index.h("dso-icon-button", { key: '9573e100ba6b4cad8be15b7b2a2e9aa817369793', label: `Kenmerken en kaartgegevens ${this.openAnnotation ? "verbergen" : "tonen"}`, icon: "label", expanded: this.openAnnotation, variant: "tertiary", onDsoClick: (e) => this.dsoAnnotationToggle.emit({
246
258
  current: this.openAnnotation,
247
259
  next: !this.openAnnotation,
248
260
  scrollRef: this.host,
249
261
  originalEvent: e.detail.originalEvent,
250
- }) }))))))), this.openAnnotation && (index.h("div", { key: '8d6c43922c207efbe076799f5b63f2dd33ca5349', class: "annotation-container", part: "_annotation-container", role: "dialog", "aria-labelledby": "annotations-heading" }, index.h("dso-panel", { key: '3b6bc86f09163f570df4c82a402a9f40dbf5c769', id: "annotations", onDsoCloseClick: (e) => this.dsoAnnotationToggle.emit({
262
+ }) }))))))), this.openAnnotation && (index.h("div", { key: 'dd3eb5839739a04c8c716c51927d7a7c8a8606bf', class: "annotation-container", part: "_annotation-container", role: "dialog", "aria-labelledby": "annotations-heading" }, index.h("dso-panel", { key: '6c4d109c892ea8b8f095105667fc2fe4a55ea506', id: "annotations", onDsoCloseClick: (e) => this.dsoAnnotationToggle.emit({
251
263
  current: true,
252
264
  next: false,
253
265
  originalEvent: e,
254
- }), closeButtonLabel: "Kenmerken en kaartgegevens verbergen" }, index.h("h2", { key: '52f79d3bd8b489a423074bcd0e9fab90ea89220d', id: "annotations-heading", slot: "heading" }, "Kenmerken en kaart"), index.h("slot", { key: 'e1e62c6fdde945f6947921ba1385e793e285e83c', name: "annotations" })))), this.open && (this._inhoud || this._gereserveerd || this._vervallen) && this.mode === "document" && (index.h("div", { key: '3f91fcfeb79b2787fdd46d44c12d15f96a1d1341', class: "content", part: "_content" }, index.h(AantekenAlert, { key: '9a66beaf9f150696d3cc4c0ca6d6727fc44ca465', gereserveerd: this._gereserveerd, vervallen: this._vervallen }), this._inhoud && (index.h("dso-ozon-content", { key: '6029fe131e1e3e00f7879e9b2f0191aca324fe92', content: this._inhoud, onDsoClick: this.handleOzonContentClick, mark: this.mark && ((text) => this.mark?.(text, "inhoud")), onDsoOzonContentMarkItemHighlight: (e) => this.dsoMarkItemHighlight.emit({ ...e.detail, source: "inhoud" }), urlResolver: this.ozonContentUrlResolver, begripResolver: this.ozonContentBegripResolver, annotated: this.annotated })))), index.h("div", { key: 'f386a2c655fa8e7dc79e1ffb6f90f80a6d06ccf7', class: "children-container", part: "_children-container" }, index.h("slot", { key: 'a1725f8b106b90968abac2723ac96869333fd572' }))));
266
+ }), closeButtonLabel: "Kenmerken en kaartgegevens verbergen" }, index.h("h2", { key: 'd173f5957242b8180fd67f07e5a0f2f71e68ca8e', id: "annotations-heading", slot: "heading" }, "Kenmerken en kaart"), index.h("slot", { key: 'f17a9b19fd23c5dcb5e914792011c3bcc336da86', name: "annotations" })))), this.open && (this._inhoud || this._gereserveerd || this._vervallen) && this.mode === "document" && (index.h("div", { key: 'e03b6b7d2db9e8cbc13f9105ab9aa3e2af8a5793', class: "content", part: "_content" }, index.h(AantekenAlert, { key: '1516df95cd7ffb3795cc71bff9a866892b47501b', gereserveerd: this._gereserveerd, vervallen: this._vervallen }), this._inhoud && (index.h("dso-ozon-content", { key: 'fee5f88d382231c11aff522eff75b82df5ee6afe', content: this._inhoud, onDsoClick: this.handleOzonContentClick, mark: this.mark && ((text) => this.mark?.(text, "inhoud")), onDsoOzonContentMarkItemHighlight: (e) => this.dsoMarkItemHighlight.emit({ ...e.detail, source: "inhoud" }), urlResolver: this.ozonContentUrlResolver, begripResolver: this.ozonContentBegripResolver, annotated: this.annotated })))), index.h("div", { key: '8888df264cefd314382d48505ff8641c20c5cc86', class: "children-container", part: "_children-container" }, index.h("slot", { key: '56e85d5200913609e0a03c929a2d889c75ae2d7e' }))));
255
267
  }
256
268
  get host() { return index.getElement(this); }
257
269
  };
@@ -88,10 +88,30 @@ const DropdownMenu = class {
88
88
  return withButton ? [this.host, ...menuItems] : menuItems;
89
89
  }
90
90
  componentDidRender() {
91
- if (this.button && this.popoverElement && !this.cleanUp) {
91
+ // Only position the popover while it is open. autoUpdate runs on its own ResizeObserver;
92
+ // keeping it active on a closed (hidden) popover computes bogus constraints that force a
93
+ // same-frame correction on the next open.
94
+ if (this.open && this.button && this.popoverElement && !this.cleanUp) {
92
95
  const element = this.popoverElement;
93
96
  const referenceElement = this.button;
94
- this.cleanUp = floatingUi_dom.autoUpdate(referenceElement, element, () => {
97
+ let initialUpdate = true;
98
+ const applyPopoverStyles = (x, y) => {
99
+ if (!element.isConnected) {
100
+ return;
101
+ }
102
+ if (this.pendingPopoverConstraints) {
103
+ const scrollElement = element.querySelector("dso-scrollable") ?? element;
104
+ Object.assign(scrollElement.style, {
105
+ maxHeight: `${this.pendingPopoverConstraints.availableHeight}px`,
106
+ maxInlineSize: `${this.pendingPopoverConstraints.availableWidth}px`,
107
+ });
108
+ }
109
+ Object.assign(element.style, {
110
+ left: `${x}px`,
111
+ top: `${y}px`,
112
+ });
113
+ };
114
+ const autoUpdateCleanUp = floatingUi_dom.autoUpdate(referenceElement, element, () => {
95
115
  floatingUi_dom.computePosition(referenceElement, element, {
96
116
  strategy: "fixed",
97
117
  middleware: [
@@ -100,23 +120,42 @@ const DropdownMenu = class {
100
120
  padding: 2,
101
121
  }),
102
122
  floatingUi_dom.size({
103
- apply({ availableHeight, availableWidth, elements }) {
104
- const scrollElement = elements.floating.querySelector("dso-scrollable") ?? elements.floating;
105
- Object.assign(scrollElement.style, {
106
- maxHeight: `${availableHeight}px`,
107
- maxInlineSize: `${availableWidth}px`,
108
- });
123
+ apply: ({ availableHeight, availableWidth }) => {
124
+ // No direct DOM writes here: this callback runs inside the autoUpdate
125
+ // ResizeObserver cycle and would trigger "ResizeObserver loop completed
126
+ // with undelivered notifications". The constraints are applied together
127
+ // with the position, see applyPopoverStyles.
128
+ this.pendingPopoverConstraints = { availableWidth, availableHeight };
109
129
  },
110
130
  }),
111
131
  ],
112
132
  placement: "bottom-start",
113
133
  }).then(({ x, y }) => {
114
- Object.assign(element.style, {
115
- left: `${x}px`,
116
- top: `${y}px`,
134
+ if (initialUpdate) {
135
+ // The first update runs outside the ResizeObserver cycle and is applied
136
+ // directly so the popover does not show up unpositioned.
137
+ initialUpdate = false;
138
+ applyPopoverStyles(x, y);
139
+ return;
140
+ }
141
+ // Defer DOM writes until the next frame so ResizeObserver notifications can
142
+ // settle before the popover mutates its own layout again.
143
+ if (this.popoverFrameId !== undefined) {
144
+ cancelAnimationFrame(this.popoverFrameId);
145
+ }
146
+ this.popoverFrameId = requestAnimationFrame(() => {
147
+ this.popoverFrameId = undefined;
148
+ applyPopoverStyles(x, y);
117
149
  });
118
150
  });
119
151
  });
152
+ this.cleanUp = () => {
153
+ if (this.popoverFrameId !== undefined) {
154
+ cancelAnimationFrame(this.popoverFrameId);
155
+ this.popoverFrameId = undefined;
156
+ }
157
+ autoUpdateCleanUp();
158
+ };
120
159
  }
121
160
  }
122
161
  toggleOptions(force) {
@@ -167,7 +206,7 @@ const DropdownMenu = class {
167
206
  }
168
207
  render() {
169
208
  const buttonId = v4.v4();
170
- return (index.h(index.Host, { key: '63dba747057e58c38f29d830b2a867dd02e07541', onFocusout: this.focusOutListener, onKeyDown: this.keyDownHandler }, this.label && (index.h("button", { key: '3711038ff64c7e43a27c1a0a072fa904db484068', id: buttonId, class: `dso-${this.variant}`, type: "button", onClick: () => this.toggleOptions(), "aria-expanded": this.open.toString(), "aria-haspopup": "menu", ref: (element) => (this.button = element) }, this.label, index.h("dso-icon", { key: '45037c7c83a4edecf75762b703115c34c2a39804', icon: this.open ? "chevron-up" : "chevron-down" }))), index.h("div", { key: '34099ec42eef8744a3701e3fa90701e53791a8e5', popover: "manual", class: "dso-dropdown-options", "aria-labelledby": buttonId, role: "menu", ref: (element) => (this.popoverElement = element) }, index.h("dso-scrollable", { key: 'd1b88fa03257379e7b213c29616b02f24872e2aa' }, index.h("slot", { key: '7e9c881bc357590c9750ddbe3a6f6fdac46733c7' })))));
209
+ return (index.h(index.Host, { key: '86c4a174ec1a4f8083f6e13728bef4d0fbf73d2b', onFocusout: this.focusOutListener, onKeyDown: this.keyDownHandler }, this.label && (index.h("button", { key: '6b93303a8ee2717870bc52147667485e9f56c0cb', id: buttonId, class: `dso-${this.variant}`, type: "button", onClick: () => this.toggleOptions(), "aria-expanded": this.open.toString(), "aria-haspopup": "menu", ref: (element) => (this.button = element) }, this.label, index.h("dso-icon", { key: '02d4af678a2de9e68c6c7983279e8a8af1b221d5', icon: this.open ? "chevron-up" : "chevron-down" }))), index.h("div", { key: '0653885c62d4e5f9e6567cd1a06ef1f60c31bd50', popover: "manual", class: "dso-dropdown-options", "aria-labelledby": buttonId, role: "menu", ref: (element) => (this.popoverElement = element) }, index.h("dso-scrollable", { key: '008a6527bce7398d5bf016431c90343011b62596' }, index.h("slot", { key: 'cbfdd95cd211485fc8672e9dff1f3bb3ed233d99' })))));
171
210
  }
172
211
  get host() { return index.getElement(this); }
173
212
  };