@dso-toolkit/core 62.2.1 → 62.2.2

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 (75) hide show
  1. package/dist/cjs/{dso-alert_5.cjs.entry.js → dso-alert_7.cjs.entry.js} +179 -1
  2. package/dist/cjs/dso-alert_7.cjs.entry.js.map +1 -0
  3. package/dist/cjs/dso-expandable.cjs.entry.js +1 -1
  4. package/dist/cjs/dso-expandable.cjs.entry.js.map +1 -1
  5. package/dist/cjs/dso-info_2.cjs.entry.js +2 -2
  6. package/dist/cjs/dso-info_2.cjs.entry.js.map +1 -1
  7. package/dist/cjs/dso-list-button.cjs.entry.js +1 -1
  8. package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -1
  9. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/collection/components/expandable/expandable.css +0 -12
  12. package/dist/collection/components/list-button/list-button.css +0 -13
  13. package/dist/collection/components/ozon-content/ozon-content.js +4 -0
  14. package/dist/collection/components/ozon-content/ozon-content.js.map +1 -1
  15. package/dist/collection/components/selectable/selectable.css +1 -24
  16. package/dist/collection/components/selectable/selectable.js +6 -1
  17. package/dist/collection/components/selectable/selectable.js.map +1 -1
  18. package/dist/components/document-component.js +24 -12
  19. package/dist/components/document-component.js.map +1 -1
  20. package/dist/components/dso-image-overlay.js +1 -122
  21. package/dist/components/dso-image-overlay.js.map +1 -1
  22. package/dist/components/dso-list-button.js +1 -1
  23. package/dist/components/dso-list-button.js.map +1 -1
  24. package/dist/components/dso-table.js +1 -109
  25. package/dist/components/dso-table.js.map +1 -1
  26. package/dist/components/dsot-document-component-demo.js +34 -22
  27. package/dist/components/dsot-document-component-demo.js.map +1 -1
  28. package/dist/components/expandable.js +1 -1
  29. package/dist/components/expandable.js.map +1 -1
  30. package/dist/{esm/dso-image-overlay.entry.js → components/image-overlay.js} +35 -12
  31. package/dist/components/image-overlay.js.map +1 -0
  32. package/dist/components/ozon-content.js +25 -1
  33. package/dist/components/ozon-content.js.map +1 -1
  34. package/dist/components/selectable.js +2 -2
  35. package/dist/components/selectable.js.map +1 -1
  36. package/dist/{esm/dso-table.entry.js → components/table.js} +38 -13
  37. package/dist/{cjs/dso-table.cjs.entry.js.map → components/table.js.map} +1 -1
  38. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  39. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  40. package/dist/dso-toolkit/{p-4239e3d6.entry.js → p-0c156f79.entry.js} +2 -2
  41. package/dist/dso-toolkit/{p-4239e3d6.entry.js.map → p-0c156f79.entry.js.map} +1 -1
  42. package/dist/dso-toolkit/p-5a47a86e.entry.js +2 -0
  43. package/dist/dso-toolkit/{p-caf4d880.entry.js.map → p-5a47a86e.entry.js.map} +1 -1
  44. package/dist/dso-toolkit/p-938f47d3.entry.js +2 -0
  45. package/dist/dso-toolkit/p-938f47d3.entry.js.map +1 -0
  46. package/dist/dso-toolkit/p-e88590a7.entry.js +2 -0
  47. package/dist/dso-toolkit/p-e88590a7.entry.js.map +1 -0
  48. package/dist/esm/{dso-alert_5.entry.js → dso-alert_7.entry.js} +179 -3
  49. package/dist/esm/dso-alert_7.entry.js.map +1 -0
  50. package/dist/esm/dso-expandable.entry.js +1 -1
  51. package/dist/esm/dso-expandable.entry.js.map +1 -1
  52. package/dist/esm/dso-info_2.entry.js +2 -2
  53. package/dist/esm/dso-info_2.entry.js.map +1 -1
  54. package/dist/esm/dso-list-button.entry.js +1 -1
  55. package/dist/esm/dso-list-button.entry.js.map +1 -1
  56. package/dist/esm/dso-toolkit.js +1 -1
  57. package/dist/esm/loader.js +1 -1
  58. package/dist/types/components/selectable/selectable.d.ts +5 -0
  59. package/package.json +2 -2
  60. package/dist/cjs/dso-alert_5.cjs.entry.js.map +0 -1
  61. package/dist/cjs/dso-image-overlay.cjs.entry.js +0 -107
  62. package/dist/cjs/dso-image-overlay.cjs.entry.js.map +0 -1
  63. package/dist/cjs/dso-table.cjs.entry.js +0 -92
  64. package/dist/dso-toolkit/p-2719a53a.entry.js +0 -2
  65. package/dist/dso-toolkit/p-2719a53a.entry.js.map +0 -1
  66. package/dist/dso-toolkit/p-a91673a9.entry.js +0 -2
  67. package/dist/dso-toolkit/p-a91673a9.entry.js.map +0 -1
  68. package/dist/dso-toolkit/p-ab1f0511.entry.js +0 -2
  69. package/dist/dso-toolkit/p-ab1f0511.entry.js.map +0 -1
  70. package/dist/dso-toolkit/p-caf4d880.entry.js +0 -2
  71. package/dist/dso-toolkit/p-cbeb00cc.entry.js +0 -2
  72. package/dist/dso-toolkit/p-cbeb00cc.entry.js.map +0 -1
  73. package/dist/esm/dso-alert_5.entry.js.map +0 -1
  74. package/dist/esm/dso-image-overlay.entry.js.map +0 -1
  75. package/dist/esm/dso-table.entry.js.map +0 -1
@@ -1,2 +0,0 @@
1
- import{r as n,h as t,c as o,F as e,a as r}from"./p-3ca5b6f4.js";import{c as a}from"./p-c87b4d11.js";import{d as s}from"./p-1805f5b0.js";import{c as d}from"./p-4573c419.js";import{v as i}from"./p-5d7f4ff2.js";const l=":host{display:block}:host(:not(:first-child)){margin-top:24px}*,*::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}.alert{border:1px solid transparent;line-height:1.5;margin-bottom:24px;min-height:64px;position:relative}@media screen and (min-width: 481px){.alert{padding:19px 16px 19px 63px}}@media screen and (max-width: 480px){.alert{padding:63px 16px 16px}}.alert:not(:first-child){margin-top:24px}.alert.alert-success{color:#000;background-color:#e4f1d4;border-color:#e4f1d4}.alert.alert-error{color:#000;background-color:#f5d8dc;border-color:#f5d8dc}.alert.alert-warning{color:#000;background-color:#f8f6cc;border-color:#f8f6cc}.alert.alert-info{color:#000;background-color:#e1ecf7;border-color:#e1ecf7}.alert dso-icon{left:15px;position:absolute;top:15px;height:32px;width:32px}";const c=class{constructor(t){n(this,t);this.status=undefined;this.roleAlert=undefined}render(){const n=c.statusMap.get(this.status);if(!n){throw new Error(`Invalid status ${this.status}`)}return t("div",{class:a("alert",`alert-${this.status}`),role:this.roleAlert?"alert":undefined},t("dso-icon",{icon:"status-"+this.status}),t("span",{class:"sr-only"},n,":"),t("slot",null))}};c.statusMap=new Map([["success","Gelukt"],["info","Opmerking"],["warning","Waarschuwing"],["error","Fout"]]);c.style=l;const b="button {\n -webkit-appearance: button;\n color: inherit;\n cursor: pointer;\n font: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n}\nbutton[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\na.dso-primary,\nbutton.dso-primary,\nlabel.dso-primary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n}\na.dso-primary:focus, a.dso-primary:focus-visible,\nbutton.dso-primary:focus,\nbutton.dso-primary:focus-visible,\nlabel.dso-primary:focus,\nlabel.dso-primary:focus-visible {\n outline-offset: 2px;\n}\na.dso-primary:active,\nbutton.dso-primary:active,\nlabel.dso-primary:active {\n outline: 0;\n}\na.dso-primary.extern::after, a.dso-primary.download::after,\nbutton.dso-primary.extern::after,\nbutton.dso-primary.download::after,\nlabel.dso-primary.extern::after,\nlabel.dso-primary.download::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\na.dso-primary:hover,\nbutton.dso-primary:hover,\nlabel.dso-primary:hover {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\na.dso-primary:active,\nbutton.dso-primary:active,\nlabel.dso-primary:active {\n background-color: #173521;\n border-color: #173521;\n color: #fff;\n}\na.dso-primary[disabled], a.dso-primary[disabled]:hover,\nbutton.dso-primary[disabled],\nbutton.dso-primary[disabled]:hover,\nlabel.dso-primary[disabled],\nlabel.dso-primary[disabled]:hover {\n background-color: #afcf9d;\n border-color: #afcf9d;\n color: #fff;\n}\na.dso-primary.dso-small,\nbutton.dso-primary.dso-small,\nlabel.dso-primary.dso-small {\n line-height: 1rem;\n}\na.dso-primary.dso-small dso-icon,\na.dso-primary.dso-small svg.di, a.dso-primary.dso-small.extern::after, a.dso-primary.dso-small.download::after, a.dso-primary.dso-small.dso-spinner::before,\nbutton.dso-primary.dso-small dso-icon,\nbutton.dso-primary.dso-small svg.di,\nbutton.dso-primary.dso-small.extern::after,\nbutton.dso-primary.dso-small.download::after,\nbutton.dso-primary.dso-small.dso-spinner::before,\nlabel.dso-primary.dso-small dso-icon,\nlabel.dso-primary.dso-small svg.di,\nlabel.dso-primary.dso-small.extern::after,\nlabel.dso-primary.dso-small.download::after,\nlabel.dso-primary.dso-small.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\na.dso-primary.dso-small.dso-spinner-left::before,\nbutton.dso-primary.dso-small.dso-spinner-left::before,\nlabel.dso-primary.dso-small.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\na.dso-primary.dso-small.dso-spinner-right::after,\nbutton.dso-primary.dso-small.dso-spinner-right::after,\nlabel.dso-primary.dso-small.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\na.dso-primary dso-icon,\na.dso-primary svg.di,\nbutton.dso-primary dso-icon,\nbutton.dso-primary svg.di,\nlabel.dso-primary dso-icon,\nlabel.dso-primary svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\na.dso-primary span + dso-icon,\na.dso-primary span + svg.di,\nbutton.dso-primary span + dso-icon,\nbutton.dso-primary span + svg.di,\nlabel.dso-primary span + dso-icon,\nlabel.dso-primary span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\na.dso-primary.dso-spinner-left[disabled], a.dso-primary.dso-spinner-right[disabled],\nbutton.dso-primary.dso-spinner-left[disabled],\nbutton.dso-primary.dso-spinner-right[disabled],\nlabel.dso-primary.dso-spinner-left[disabled],\nlabel.dso-primary.dso-spinner-right[disabled] {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\na.dso-primary.dso-spinner-left::before,\nbutton.dso-primary.dso-spinner-left::before,\nlabel.dso-primary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\na.dso-primary.dso-spinner-right::after,\nbutton.dso-primary.dso-spinner-right::after,\nlabel.dso-primary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\na.dso-primary.download::after,\nbutton.dso-primary.download::after,\nlabel.dso-primary.download::after {\n background: url(\"./dso-icons.svg#img-download-wit\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-primary.extern::after,\nbutton.dso-primary.extern::after,\nlabel.dso-primary.extern::after {\n background: url(\"./dso-icons.svg#img-external-link-wit\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-secondary,\nbutton.dso-secondary,\nlabel.dso-secondary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n}\na.dso-secondary:focus, a.dso-secondary:focus-visible,\nbutton.dso-secondary:focus,\nbutton.dso-secondary:focus-visible,\nlabel.dso-secondary:focus,\nlabel.dso-secondary:focus-visible {\n outline-offset: 2px;\n}\na.dso-secondary:active,\nbutton.dso-secondary:active,\nlabel.dso-secondary:active {\n outline: 0;\n}\na.dso-secondary.extern::after, a.dso-secondary.download::after,\nbutton.dso-secondary.extern::after,\nbutton.dso-secondary.download::after,\nlabel.dso-secondary.extern::after,\nlabel.dso-secondary.download::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\na.dso-secondary:hover,\nbutton.dso-secondary:hover,\nlabel.dso-secondary:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\na.dso-secondary:active,\nbutton.dso-secondary:active,\nlabel.dso-secondary:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\na.dso-secondary[disabled], a.dso-secondary[disabled]:hover,\nbutton.dso-secondary[disabled],\nbutton.dso-secondary[disabled]:hover,\nlabel.dso-secondary[disabled],\nlabel.dso-secondary[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\na.dso-secondary.dso-small,\nbutton.dso-secondary.dso-small,\nlabel.dso-secondary.dso-small {\n line-height: 1rem;\n}\na.dso-secondary.dso-small dso-icon,\na.dso-secondary.dso-small svg.di, a.dso-secondary.dso-small.extern::after, a.dso-secondary.dso-small.download::after, a.dso-secondary.dso-small.dso-spinner::before,\nbutton.dso-secondary.dso-small dso-icon,\nbutton.dso-secondary.dso-small svg.di,\nbutton.dso-secondary.dso-small.extern::after,\nbutton.dso-secondary.dso-small.download::after,\nbutton.dso-secondary.dso-small.dso-spinner::before,\nlabel.dso-secondary.dso-small dso-icon,\nlabel.dso-secondary.dso-small svg.di,\nlabel.dso-secondary.dso-small.extern::after,\nlabel.dso-secondary.dso-small.download::after,\nlabel.dso-secondary.dso-small.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\na.dso-secondary.dso-small.dso-spinner-left::before,\nbutton.dso-secondary.dso-small.dso-spinner-left::before,\nlabel.dso-secondary.dso-small.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.dso-small.dso-spinner-right::after,\nbutton.dso-secondary.dso-small.dso-spinner-right::after,\nlabel.dso-secondary.dso-small.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\na.dso-secondary dso-icon,\na.dso-secondary svg.di,\nbutton.dso-secondary dso-icon,\nbutton.dso-secondary svg.di,\nlabel.dso-secondary dso-icon,\nlabel.dso-secondary svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\na.dso-secondary span + dso-icon,\na.dso-secondary span + svg.di,\nbutton.dso-secondary span + dso-icon,\nbutton.dso-secondary span + svg.di,\nlabel.dso-secondary span + dso-icon,\nlabel.dso-secondary span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\na.dso-secondary.dso-spinner-left[disabled], a.dso-secondary.dso-spinner-right[disabled],\nbutton.dso-secondary.dso-spinner-left[disabled],\nbutton.dso-secondary.dso-spinner-right[disabled],\nlabel.dso-secondary.dso-spinner-left[disabled],\nlabel.dso-secondary.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\na.dso-secondary.dso-spinner-left::before,\nbutton.dso-secondary.dso-spinner-left::before,\nlabel.dso-secondary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\na.dso-secondary.dso-spinner-left:not([disabled]):hover::before,\nbutton.dso-secondary.dso-spinner-left:not([disabled]):hover::before,\nlabel.dso-secondary.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\na.dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before,\nbutton.dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before,\nlabel.dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.dso-spinner-right::after,\nbutton.dso-secondary.dso-spinner-right::after,\nlabel.dso-secondary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\na.dso-secondary.dso-spinner-right:not([disabled]):hover::after,\nbutton.dso-secondary.dso-spinner-right:not([disabled]):hover::after,\nlabel.dso-secondary.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\na.dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after,\nbutton.dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after,\nlabel.dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.download::after,\nbutton.dso-secondary.download::after,\nlabel.dso-secondary.download::after {\n background: url(\"./dso-icons.svg#img-download\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-secondary.download:hover::after,\nbutton.dso-secondary.download:hover::after,\nlabel.dso-secondary.download:hover::after {\n background-image: url(\"./dso-icons.svg#img-download-wit\");\n}\na.dso-secondary.download[disabled]::after,\nbutton.dso-secondary.download[disabled]::after,\nlabel.dso-secondary.download[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-download-grasgroen-40\");\n}\na.dso-secondary.extern::after,\nbutton.dso-secondary.extern::after,\nlabel.dso-secondary.extern::after {\n background: url(\"./dso-icons.svg#img-external-link\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-secondary.extern:hover::after,\nbutton.dso-secondary.extern:hover::after,\nlabel.dso-secondary.extern:hover::after {\n background-image: url(\"./dso-icons.svg#img-external-link-wit\");\n}\na.dso-secondary.extern[disabled]::after,\nbutton.dso-secondary.extern[disabled]::after,\nlabel.dso-secondary.extern[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-external-link-grasgroen-40\");\n}\na.dso-tertiary,\nbutton.dso-tertiary,\nlabel.dso-tertiary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n}\na.dso-tertiary:focus, a.dso-tertiary:focus-visible,\nbutton.dso-tertiary:focus,\nbutton.dso-tertiary:focus-visible,\nlabel.dso-tertiary:focus,\nlabel.dso-tertiary:focus-visible {\n outline-offset: 2px;\n}\na.dso-tertiary:active,\nbutton.dso-tertiary:active,\nlabel.dso-tertiary:active {\n outline: 0;\n}\na.dso-tertiary.extern::after, a.dso-tertiary.download::after,\nbutton.dso-tertiary.extern::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.extern::after,\nlabel.dso-tertiary.download::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\na.dso-tertiary[disabled],\nbutton.dso-tertiary[disabled],\nlabel.dso-tertiary[disabled] {\n color: #afcf9d;\n}\na.dso-tertiary[disabled].dso-spinner-left, a.dso-tertiary[disabled].dso-spinner-right,\nbutton.dso-tertiary[disabled].dso-spinner-left,\nbutton.dso-tertiary[disabled].dso-spinner-right,\nlabel.dso-tertiary[disabled].dso-spinner-left,\nlabel.dso-tertiary[disabled].dso-spinner-right {\n color: #39870c;\n}\na.dso-tertiary:not([disabled]):hover,\nbutton.dso-tertiary:not([disabled]):hover,\nlabel.dso-tertiary:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\na.dso-tertiary:not([disabled]):active,\nbutton.dso-tertiary:not([disabled]):active,\nlabel.dso-tertiary:not([disabled]):active {\n color: #173521;\n}\na.dso-tertiary.dso-align,\nbutton.dso-tertiary.dso-align,\nlabel.dso-tertiary.dso-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\na.dso-tertiary.dso-truncate,\nbutton.dso-tertiary.dso-truncate,\nlabel.dso-tertiary.dso-truncate {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\na.dso-tertiary.dso-spinner-left::before,\nbutton.dso-tertiary.dso-spinner-left::before,\nlabel.dso-tertiary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\na.dso-tertiary.dso-spinner-right::after,\nbutton.dso-tertiary.dso-spinner-right::after,\nlabel.dso-tertiary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\na.dso-tertiary dso-icon + span:not(.sr-only),\na.dso-tertiary svg.di + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + dso-icon,\na.dso-tertiary span:not(.sr-only) + svg.di,\nbutton.dso-tertiary dso-icon + span:not(.sr-only),\nbutton.dso-tertiary svg.di + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + dso-icon,\nbutton.dso-tertiary span:not(.sr-only) + svg.di,\nlabel.dso-tertiary dso-icon + span:not(.sr-only),\nlabel.dso-tertiary svg.di + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + dso-icon,\nlabel.dso-tertiary span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\na.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\na.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\na.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up,\nbutton.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up,\nlabel.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up {\n margin-left: 4px;\n}\na.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\na.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\na.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\na.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\na.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\na.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\na.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right],\nbutton.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\nbutton.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\nbutton.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\nbutton.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right],\nlabel.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\nlabel.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\nlabel.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\nlabel.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\na.dso-tertiary dso-icon,\na.dso-tertiary svg.di,\na.dso-tertiary span,\nbutton.dso-tertiary dso-icon,\nbutton.dso-tertiary svg.di,\nbutton.dso-tertiary span,\nlabel.dso-tertiary dso-icon,\nlabel.dso-tertiary svg.di,\nlabel.dso-tertiary span {\n vertical-align: middle;\n}\na.dso-tertiary.extern::after, a.dso-tertiary.download::after,\nbutton.dso-tertiary.extern::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.extern::after,\nlabel.dso-tertiary.download::after {\n position: relative;\n top: -2px;\n}\na.dso-tertiary.download::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.download::after {\n background: url(\"./dso-icons.svg#img-download\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-tertiary.download[disabled]::after,\nbutton.dso-tertiary.download[disabled]::after,\nlabel.dso-tertiary.download[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-download-grasgroen-40\");\n}\na.dso-tertiary.download:not([disabled]):hover::after, a.dso-tertiary.download:not([disabled]):active::after,\nbutton.dso-tertiary.download:not([disabled]):hover::after,\nbutton.dso-tertiary.download:not([disabled]):active::after,\nlabel.dso-tertiary.download:not([disabled]):hover::after,\nlabel.dso-tertiary.download:not([disabled]):active::after {\n background-image: url(\"./dso-icons.svg#img-download-scampi\");\n}\na.dso-tertiary.extern::after,\nbutton.dso-tertiary.extern::after,\nlabel.dso-tertiary.extern::after {\n background: url(\"./dso-icons.svg#img-external-link\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-tertiary.extern[disabled]::after,\nbutton.dso-tertiary.extern[disabled]::after,\nlabel.dso-tertiary.extern[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-external-link-grasgroen-40\");\n}\na.dso-tertiary.extern:not([disabled]):hover::after, a.dso-tertiary.extern:not([disabled]):active::after,\nbutton.dso-tertiary.extern:not([disabled]):hover::after,\nbutton.dso-tertiary.extern:not([disabled]):active::after,\nlabel.dso-tertiary.extern:not([disabled]):hover::after,\nlabel.dso-tertiary.extern:not([disabled]):active::after {\n background-image: url(\"./dso-icons.svg#img-external-link-scampi\");\n}\n\na.dso-primary {\n text-decoration: none;\n}\na.dso-primary, a.dso-primary:visited {\n color: #fff;\n}\na.dso-secondary {\n text-decoration: none;\n}\na.dso-secondary, a.dso-secondary:visited {\n color: #39870c;\n}\na.dso-secondary:hover, a.dso-secondary:visited:hover {\n color: #fff;\n}\na.dso-tertiary {\n text-decoration: none;\n}\na.dso-tertiary, a.dso-tertiary:visited {\n color: #39870c;\n}\n\n.dso-primary + .dso-primary,\n.dso-primary + .dso-secondary,\n.dso-primary + .dso-tertiary,\n.dso-secondary + .dso-primary,\n.dso-secondary + .dso-secondary,\n.dso-secondary + .dso-tertiary,\n.dso-tertiary + .dso-primary,\n.dso-tertiary + .dso-secondary,\n.dso-tertiary + .dso-tertiary {\n margin-left: 16px;\n}\n\ndso-annotation-button {\n display: block;\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}";const f=class{constructor(t){n(this,t);this.dsoClick=o(this,"dsoClick",3);this.handleClick=n=>{this.dsoClick.emit({originalEvent:n,open:!this.open})};this.identifier=undefined;this.open=false}render(){return t("button",{type:"button",class:"dso-tertiary","aria-controls":this.identifier,"aria-expanded":this.open.toString(),onClick:this.handleClick},t("dso-icon",{icon:"label"}),t("span",{class:"sr-only"},"Toelichting bekijken"))}};f.style=b;const p=":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-badge{background-color:#666;border:1px solid #666;border-radius:1em;color:#fff;display:inline-block;font-size:0.875em;line-height:1;min-width:1.5rem;padding:4px 8px;text-align:center}.dso-badge.badge-info{background-color:#6ca4d9;border-color:#6ca4d9;color:#000}.dso-badge.badge-primary{background-color:#275937;border-color:#275937;color:#fff}.dso-badge.badge-success{background-color:#39870c;border-color:#39870c;color:#fff}.dso-badge.badge-warning{background-color:#dcd400;border-color:#dcd400;color:#000}.dso-badge.badge-danger{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.dso-badge.badge-error{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.dso-badge.badge-outline{background-color:#fff;border-color:#191919;color:#191919}.dso-badge.badge-attention{background-color:#8b4a6a;border-color:#8b4a6a;color:#fff}";const h=class{constructor(t){n(this,t);this.status=undefined}render(){return t("span",{class:a("dso-badge",{[`badge-${this.status}`]:this.status})},t("slot",null))}};h.style=p;const g=":host{display:inline-block;max-width:100%}*,*::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;max-width:100%;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:1rem;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-label-info{background-color:#6ca4d9;color:#000}.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:#000}.dso-label.dso-label-danger{background-color:#ce3f51;color:#fff}.dso-label.dso-label-error{background-color:#ce3f51;color:#fff}.dso-label.dso-label-bright{background-color:#fff;color:#191919;outline:1px solid #ccc;outline-offset:-1px}.dso-label.dso-label-attention{background-color:#8b4a6a;color:#fff}.dso-label.dso-compact{padding:0 8px}.dso-label.dso-hover .dso-label-content{text-decoration:line-through}.dso-truncate.dso-label-content{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}:host([removable]) .dso-truncate.dso-label-content{max-width:calc(100% - 28px)}";const y=new ResizeObserver(s.debounce((n=>{n.forEach((({target:n})=>{if(u(n)){n._truncateLabel()}}))}),150));function u(n){return n.tagName==="DSO-LABEL"}function m(n){return n.scrollWidth>n.clientWidth}const v=class{constructor(t){n(this,t);this.dsoRemoveClick=o(this,"dsoRemoveClick",7);this.compact=undefined;this.removable=undefined;this.status=undefined;this.removeHover=undefined;this.removeFocus=undefined;this.truncate=undefined;this.textHover=undefined;this.textFocus=undefined;this.isTruncated=false;this.labelText=""}watchRemovable(n){if(n){this.startMutationObserver()}else{this.stopMutationObserver()}}watchTruncate(n){if(n){this.startTruncate()}else{this.stopTruncate()}}keyDownListener(n){if(n.key==="Escape"){this.textHover=false;this.textFocus=false}}async _truncateLabel(){setTimeout((()=>{this.isTruncated=!!this.labelContent&&m(this.labelContent)}))}syncLabelText(){var n,t;this.labelText=(t=(n=this.host.textContent)===null||n===void 0?void 0:n.trim())!==null&&t!==void 0?t:""}componentDidLoad(){if(this.truncate){this.startTruncate()}if(this.removable){this.startMutationObserver()}}disconnectedCallback(){this.stopTruncate();this.stopMutationObserver(true)}startMutationObserver(){this.mutationObserver=new MutationObserver((()=>this.syncLabelText()));this.mutationObserver.observe(this.host,{characterData:true,childList:true,subtree:true,attributes:true});this.syncLabelText()}stopMutationObserver(n=false){var t;if(n||!(this.truncate&&this.removable)){(t=this.mutationObserver)===null||t===void 0?void 0:t.disconnect();delete this.mutationObserver}}startTruncate(){y.observe(this.host);this.startMutationObserver();this._truncateLabel()}stopTruncate(){y.unobserve(this.host);this.stopMutationObserver();this.isTruncated=false}render(){return t(e,null,t("span",{"aria-describedby":"toggle-anchor",class:a("dso-label",{[`dso-label-${this.status}`]:this.status,"dso-compact":this.compact&&!this.removable,"dso-hover":this.removeHover||this.removeFocus})},t("slot",{name:"symbol"}),t("span",{class:a("dso-label-content",{"dso-truncate":!!this.truncate}),ref:n=>this.labelContent=n,tabindex:this.truncate&&this.isTruncated?0:undefined,onMouseEnter:()=>this.textHover=true,onMouseLeave:()=>this.textHover=false,onFocus:()=>this.textFocus=true,onBlur:()=>this.textFocus=false},t("slot",null)),this.removable&&t("button",{type:"button",onClick:n=>this.dsoRemoveClick.emit(n),onMouseEnter:()=>this.removeHover=true,onMouseLeave:()=>this.removeHover=false,onFocus:()=>this.removeFocus=true,onBlur:()=>this.removeFocus=false},t("span",{class:"sr-only"},"Verwijder: ",this.labelText),t("dso-icon",{icon:"times"}))),this.isTruncated&&t("dso-tooltip",{stateless:true,id:"toggle-anchor",active:this.textHover||this.textFocus,position:"top",strategy:"absolute"},this.labelText))}get host(){return r(this)}static get watchers(){return{removable:["watchRemovable"],truncate:["watchTruncate"]}}};v.style=g;function x(n){if(n instanceof Element){return n.localName}if(n.nodeName.includes(":")){return n.nodeName.substring(n.nodeName.indexOf(":")+1)}return n.nodeName}function w(n){return n.some((n=>{const t=x(n);return t==="Al"||t==="Opschrift"}))}class k{constructor(){this.name="Al"}render(n,{mapNodeToJsx:o,path:e,inline:r}){let s=o(n.childNodes);const d=n.getAttribute("wijzigactie");const i=a({[`wijzigactie-${d}`]:!!d})||undefined;if(r||w(e)){s=t("span",{role:"paragraph",class:i},s)}else{s=t("p",{class:i},s)}if(d==="voegtoe"){s=t("ins",null,s)}else if(d==="verwijder"){s=t("del",null,s)}return s}}class B{constructor(){this.name="Bron"}render(n,{mapNodeToJsx:o}){return t("span",{class:"dso-ozon-bron"},o(n.childNodes))}}class D{constructor(){this.name="#document"}render(n,{mapNodeToJsx:o}){return t(e,null,o(n.childNodes))}}var E=1/0;var C="[object Symbol]";var j=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;var z=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;var T="\\ud800-\\udfff",A="\\u0300-\\u036f\\ufe20-\\ufe23",N="\\u20d0-\\u20f0",L="\\u2700-\\u27bf",I="a-z\\xdf-\\xf6\\xf8-\\xff",O="\\xac\\xb1\\xd7\\xf7",J="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",R="\\u2000-\\u206f",M=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",$="A-Z\\xc0-\\xd6\\xd8-\\xde",S="\\ufe0e\\ufe0f",U=O+J+R+M;var Z="['’]",_="["+U+"]",F="["+A+N+"]",H="\\d+",W="["+L+"]",G="["+I+"]",q="[^"+T+U+H+L+I+$+"]",V="\\ud83c[\\udffb-\\udfff]",X="(?:"+F+"|"+V+")",Y="[^"+T+"]",K="(?:\\ud83c[\\udde6-\\uddff]){2}",P="[\\ud800-\\udbff][\\udc00-\\udfff]",Q="["+$+"]",nn="\\u200d";var tn="(?:"+G+"|"+q+")",on="(?:"+Q+"|"+q+")",en="(?:"+Z+"(?:d|ll|m|re|s|t|ve))?",rn="(?:"+Z+"(?:D|LL|M|RE|S|T|VE))?",an=X+"?",sn="["+S+"]?",dn="(?:"+nn+"(?:"+[Y,K,P].join("|")+")"+sn+an+")*",ln=sn+an+dn,cn="(?:"+[W,K,P].join("|")+")"+ln;var bn=RegExp(Z,"g");var fn=RegExp(F,"g");var pn=RegExp([Q+"?"+G+"+"+en+"(?="+[_,Q,"$"].join("|")+")",on+"+"+rn+"(?="+[_,Q+tn,"$"].join("|")+")",Q+"?"+tn+"+"+en,Q+"+"+rn,H,cn].join("|"),"g");var hn=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;var gn={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"ss"};var yn=typeof d=="object"&&d&&d.Object===Object&&d;var un=typeof self=="object"&&self&&self.Object===Object&&self;var mn=yn||un||Function("return this")();function vn(n,t,o,e){var r=-1,a=n?n.length:0;if(e&&a){o=n[++r]}while(++r<a){o=t(o,n[r],r,n)}return o}function xn(n){return n.match(j)||[]}function wn(n){return function(t){return n==null?undefined:n[t]}}var kn=wn(gn);function Bn(n){return hn.test(n)}function Dn(n){return n.match(pn)||[]}var En=Object.prototype;var Cn=En.toString;var jn=mn.Symbol;var zn=jn?jn.prototype:undefined,Tn=zn?zn.toString:undefined;function An(n){if(typeof n=="string"){return n}if(In(n)){return Tn?Tn.call(n):""}var t=n+"";return t=="0"&&1/n==-E?"-0":t}function Nn(n){return function(t){return vn(Mn(Jn(t).replace(bn,"")),n,"")}}function Ln(n){return!!n&&typeof n=="object"}function In(n){return typeof n=="symbol"||Ln(n)&&Cn.call(n)==C}function On(n){return n==null?"":An(n)}function Jn(n){n=On(n);return n&&n.replace(z,kn).replace(fn,"")}var Rn=Nn((function(n,t,o){return n+(o?"-":"")+t.toLowerCase()}));function Mn(n,t,o){n=On(n);t=o?undefined:t;if(t===undefined){return Bn(n)?Dn(n):xn(n)}return n.match(t)||[]}var $n=Rn;class Sn{constructor(){this.name=["ExtRef","ExtIoRef"]}render(n,{mapNodeToJsx:o}){const e=n.tagName==="ExtIoRef"?n.getAttribute("href"):n.getAttribute("ref");const r=$n(n.tagName);return t("a",{target:"_blank",rel:"noopener noreferrer",href:e!==null&&e!==void 0?e:undefined,class:r},t("span",{class:"sr-only"},"opent in nieuw venster "),o(n.childNodes),t("dso-icon",{icon:"external-link"}))}}class Un{constructor(){this.name=["<fallback>"]}render(n,{mapNodeToJsx:o}){return t("span",{class:`fallback od-${x(n)}`},o(n.childNodes))}}const Zn=({bijschrift:n,bron:o,mapNodeToJsx:r})=>t("span",{class:"figuur-bijschrift"},n&&n.inhoud&&r(n.inhoud),o&&t(e,null,`${n?" ":""}(bron: `,r(o),")"));class _n{constructor(){this.name=["Figuur"]}setImageDimensions(n,t){const{naturalHeight:o,naturalWidth:e}=n;n.height=o*(t/100);n.width=e*(t/100)}onImageLoad(n,t){if(n.target instanceof HTMLImageElement&&t){this.setImageDimensions(n.target,t)}}render(n,{mapNodeToJsx:o}){var e,r,a,s,d,i;const l=Array.from(n.childNodes);const c=(e=l.find((n=>x(n)==="Titel")))===null||e===void 0?void 0:e.textContent;const b=l.find((n=>x(n)==="Bron"));const f=l.find((n=>x(n)==="Illustratie"));const p=l.find((n=>x(n)==="Bijschrift"));if(f instanceof Element){const n={naam:f.getAttribute("naam"),breedte:f.getAttribute("breedte"),hoogte:f.getAttribute("hoogte"),uitlijning:f.getAttribute("uitlijning"),alt:f.getAttribute("alt"),schaal:f.getAttribute("schaal")};const e=p instanceof Element?{inhoud:p.childNodes,locatie:(r=p.getAttribute("locatie"))!==null&&r!==void 0?r:"onder"}:undefined;return t("div",{class:`dso-ozon-figuur ${e?`bijschrift-${e.locatie}`:"onder"}`},c&&t("span",{class:"figuur-titel"},c),(e===null||e===void 0?void 0:e.locatie)==="boven"&&t(Zn,{bijschrift:e,bron:b,mapNodeToJsx:o}),t("dso-image-overlay",null,c&&t("div",{slot:"titel"},t("span",null,c)),t("img",{src:(a=n.naam)!==null&&a!==void 0?a:undefined,alt:(i=(d=(s=n.alt)!==null&&s!==void 0?s:c)!==null&&d!==void 0?d:n.naam)!==null&&i!==void 0?i:undefined,onLoad:t=>this.onImageLoad(t,Number(n.schaal))}),(e||b)&&t("div",{slot:"bijschrift"},t(Zn,{bijschrift:e,bron:b,mapNodeToJsx:o}))),((e===null||e===void 0?void 0:e.locatie)==="onder"||!e&&b)&&t(Zn,{bijschrift:e,bron:b,mapNodeToJsx:o}))}}}class Fn{constructor(){this.name=["Inhoud","ContainerBlocksType","BlockMixedcontentMetMaximaleInlinesMarkersPopupsType"]}render(n,{mapNodeToJsx:o}){return t("div",{class:"dso-rich-content"},o(n.childNodes))}}class Hn{constructor(){this.name=["InlineTekstAfbeelding","Illustratie"]}render(n){var o,e,r,a;return t("img",{src:(o=n.getAttribute("naam"))!==null&&o!==void 0?o:undefined,alt:(e=n.getAttribute("naam"))!==null&&e!==void 0?e:undefined,height:(r=n.getAttribute("hoogte"))!==null&&r!==void 0?r:undefined,width:(a=n.getAttribute("breedte"))!==null&&a!==void 0?a:undefined})}}class Wn{constructor(){this.name=["sub","sup","strong","b","u","i","br"]}render(n,{mapNodeToJsx:o}){if(n.localName==="br"){return t("br",null)}const e=n.localName;return t(e,null,o(n.childNodes))}}class Gn{constructor(){this.name="IntIoRef"}render(n,{mapNodeToJsx:o,emitAnchorClick:e}){const r=n.getAttribute("ref");if(!r){return o(n.childNodes)}const a=n=>{n.preventDefault();const t=n.currentTarget;if(!(t instanceof HTMLAnchorElement)){return}const{href:o}=t;e({node:this.name,href:o,documentComponent:r,originalEvent:n})};return t("a",{href:`#${r}`,onClick:a},o(n.childNodes))}}class qn{constructor(){this.name="IntRef"}render(n,{mapNodeToJsx:o,emitAnchorClick:e}){const r=n.getAttribute("ref");if(!r){return o(n.childNodes)}const a=n=>{n.preventDefault();const t=n.currentTarget;if(!(t instanceof HTMLAnchorElement)){return}const{href:o}=t;e({node:this.name,href:o,documentComponent:r,originalEvent:n})};return t("a",{href:`#${r}`,onClick:a},o(n.childNodes))}}class Vn{constructor(){this.name="Lijst"}render(n,{mapNodeToJsx:o}){var e;const r=Array.from(n.childNodes);const a=r.find((n=>x(n)==="Lijstaanhef"));const s=r.find((n=>x(n)==="Lijstsluiting"));const d=r.filter((n=>x(n)==="Li"));return t("div",{class:"dso-ozon-lijst od-Lijst"},a&&o(a),t("ul",{class:(e=n.getAttribute("type"))!==null&&e!==void 0?e:""},d.map((n=>{var e;const r=Array.from(n.childNodes);const a=(e=r.find((n=>x(n)==="LiNummer")))===null||e===void 0?void 0:e.childNodes;return t("li",{class:"od-Li"},a&&t("span",{class:"od-LiNummer"},o(a)),o(r.filter((n=>x(n)!=="LiNummer"))))}))),s&&o(s))}}class Xn{constructor(){this.name="NieuweTekst"}render(n,{mapNodeToJsx:o}){return t("ins",{class:"nieuwe-tekst"},o(n.childNodes))}}class Yn{constructor(){this.name="Noot";this.handles=["NootNummer"]}identify(){return"Noot"}render(n,{mapNodeToJsx:o,state:r,setState:a}){var s,d;const i=n.getAttribute("id");if(!i){console.error("Noot node without id",n);return t(e,null)}const l=`dso-ozon-note-${i}`;const c=Array.from(n.childNodes);const b=(d=(s=c.find((n=>x(n)==="NootNummer")))===null||s===void 0?void 0:s.textContent)!==null&&d!==void 0?d:i;return t(e,null,t("sup",null,t("button",{type:"button",class:"toggle-note","aria-describedby":l,onClick:()=>a===null||a===void 0?void 0:a(r===i?undefined:i),onBlur:()=>a===null||a===void 0?void 0:a(undefined),"aria-expanded":r===i?"true":"false"},b)),t("dso-tooltip",{active:r===i,id:l,stateless:true,descriptive:true},t("span",{role:"section"},o(Array.from(n.querySelectorAll(":scope > Al"))))))}}class Kn{constructor(){this.name="Opschrift"}render(n,{mapNodeToJsx:o}){let r=o(n.childNodes);const a=n.getAttribute("wijzigactie");if(a==="voegtoe"){r=t("ins",{class:"nieuwe-tekst"},r)}else if(a==="verwijder"){r=t("del",{class:"verwijderde-tekst"},r)}return t(e,null,r)}}function Pn(n,t){const o=Array.from(t);const e=Qn(o);return{totalWidth:e,count:n,columns:o.map(((n,t)=>{var o;const r=n.getAttribute("colnum");return{name:(o=n.getAttribute("colname"))!==null&&o!==void 0?o:"",number:r?parseInt(r,10):t+1,width:nt(e,n)}}))}}function Qn(n){return n.reduce(((n,t)=>{var o,e;const r=(e=(o=t.getAttribute("colwidth"))===null||o===void 0?void 0:o.replace(/[^0-9]/,""))!==null&&e!==void 0?e:"";const a=parseInt(r,10);return n+(isNaN(a)?0:a)}),0)}function nt(n,t){const o=t.getAttribute("colwidth");if(!o){return undefined}if(o==="*"){return"100%"}if(o.includes("*")||o.match(/^[\d+]$/)){const t=parseInt(o.replace(/[^0-9]/,""),10);return`${Math.round(t/n*100)}%`}return o}const tt=({colspecs:n})=>n.columns.length>0?t("colgroup",null,n.columns.map((n=>t("col",{style:{width:n.width}})))):t(e,null);function ot(n){return{moreRows:n.getAttribute("morerows"),nameStart:n.getAttribute("namest"),nameEnd:n.getAttribute("nameend")}}function et({columns:n},t,o){const e=n.find((n=>n.name===t));const r=n.find((n=>n.name===o));if(!e||!r){return undefined}const a=r.number-e.number+1;return a===1?undefined:a}const rt=({context:{mapNodeToJsx:n},colspecs:o,cell:e})=>{const{moreRows:r,nameStart:a,nameEnd:s}=ot(e);const d={rowSpan:r?parseInt(r,10)+1:undefined,colSpan:o&&a&&s?et(o,a,s):undefined};return t("td",Object.assign({},d),n(e.childNodes))};const at=({context:n,colspecs:o,rows:r})=>t(e,null,r.map((e=>t("tr",null,Array.from(e.children).map((e=>t(rt,{cell:e,colspecs:o,context:n})))))));function st(n){var t,o,e;const r=n.querySelector(":scope > tgroup");const a=(t=r===null||r===void 0?void 0:r.getAttribute("cols"))!==null&&t!==void 0?t:undefined;const s=a?parseInt(a,10):undefined;return{caption:(e=(o=n.querySelector(":scope > title"))===null||o===void 0?void 0:o.textContent)!==null&&e!==void 0?e:undefined,colspecs:r&&s?Pn(s,r.querySelectorAll(":scope > colspec")):undefined,headRows:Array.from(n.querySelectorAll(":scope > tgroup > thead > row")),bodyRows:Array.from(n.querySelectorAll(":scope > tgroup > tbody > row")),editAction:n.getAttribute("wijzigactie")}}class dt{constructor(){this.name="table";this.handles=["title","tgroup","colspec","thead","tbody","row","cell"];this.id=i()}render(n,o){const{caption:e,colspecs:r,headRows:s,bodyRows:d,editAction:i}=st(n);const l=Array.from(n.childNodes).find((n=>x(n)==="Bron"));return t("dso-table",null,t("table",Object.assign({class:a("table dso-table-vertical-lines",{[`wijzigactie-${i}`]:i})},l?{"aria-describedby":this.id}:{}),e&&t("caption",null,e),r&&t(tt,{colspecs:r}),s.length>0&&t("thead",null,t(at,{rows:s,colspecs:r,context:o})),d.length>0&&t("tbody",null,t(at,{rows:d,colspecs:r,context:o}))),l&&t("div",{id:this.id},o.mapNodeToJsx(l)))}}class it{constructor(){this.name="#text"}render(n){return t(e,null,n.textContent)}}class lt{constructor(){this.name="VerwijderdeTekst"}render(n,{mapNodeToJsx:o}){return t("del",{class:"verwijderde-tekst"},o(n.childNodes))}}class ct{constructor(){this.mappers=[new it,new D,new Fn,new Kn,new qn,new Sn,new k,new Wn,new Hn,new Yn,new dt,new Gn,new _n,new Vn,new B,new Xn,new lt];this.skip=this.mappers.reduce(((n,t)=>{if(t.handles){n.push(...t.handles)}return n}),[]);this.fallbackNode=new Un}findMapper(n){var t;if(this.skip.includes(n)){return undefined}return(t=this.mappers.find((t=>{if(Array.isArray(t.name)){return t.name.includes(n)}return t.name===n})))!==null&&t!==void 0?t:this.fallbackNode}mapNodeToJsx(n,o,r){var a;if(n instanceof NodeList){return t(e,null,Array.from(n).map((n=>this.mapNodeToJsx(n,o,r))))}if(Array.isArray(n)){return t(e,null,n.map((n=>this.mapNodeToJsx(n,o,r))))}const s=x(n);const d=this.findMapper(s);if(!d){return t(e,null)}const i=(a=d.identify)===null||a===void 0?void 0:a.call(d,n);const l=i?o.state[i]:undefined;const c=i?n=>o.setState(Object.assign(Object.assign({},o.state),{[i]:n})):undefined;return d.render(n,{inline:o.inline,mapNodeToJsx:t=>this.mapNodeToJsx(t,o,[...r,n]),emitAnchorClick:o.emitAnchorClick,setState:c,state:l,path:r})}transform(n,o){if(!n){return t(e,null)}const r=this.inputToXmlDocument(n);if(r.querySelector("parsererror")){console.error({message:"[DSO Toolkit: Ozon Content Mapper] Unable to parse XML",context:o,input:n,document:r});return t(e,null)}return this.mapNodeToJsx(r.getRootNode(),o,[])}inputToXmlDocument(n){var t;if(n instanceof XMLDocument){return n}if(typeof n==="string"){(t=this.domParser)!==null&&t!==void 0?t:this.domParser=new DOMParser;return this.domParser.parseFromString(n,"text/xml")}return document.implementation.createDocument(null,null)}}const bt="button {\n -webkit-appearance: button;\n color: inherit;\n cursor: pointer;\n font: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n}\nbutton[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\na.dso-primary,\nbutton.dso-primary,\nlabel.dso-primary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n}\na.dso-primary:focus, a.dso-primary:focus-visible,\nbutton.dso-primary:focus,\nbutton.dso-primary:focus-visible,\nlabel.dso-primary:focus,\nlabel.dso-primary:focus-visible {\n outline-offset: 2px;\n}\na.dso-primary:active,\nbutton.dso-primary:active,\nlabel.dso-primary:active {\n outline: 0;\n}\na.dso-primary.extern::after, a.dso-primary.download::after,\nbutton.dso-primary.extern::after,\nbutton.dso-primary.download::after,\nlabel.dso-primary.extern::after,\nlabel.dso-primary.download::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\na.dso-primary:hover,\nbutton.dso-primary:hover,\nlabel.dso-primary:hover {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\na.dso-primary:active,\nbutton.dso-primary:active,\nlabel.dso-primary:active {\n background-color: #173521;\n border-color: #173521;\n color: #fff;\n}\na.dso-primary[disabled], a.dso-primary[disabled]:hover,\nbutton.dso-primary[disabled],\nbutton.dso-primary[disabled]:hover,\nlabel.dso-primary[disabled],\nlabel.dso-primary[disabled]:hover {\n background-color: #afcf9d;\n border-color: #afcf9d;\n color: #fff;\n}\na.dso-primary.dso-small,\nbutton.dso-primary.dso-small,\nlabel.dso-primary.dso-small {\n line-height: 1rem;\n}\na.dso-primary.dso-small dso-icon,\na.dso-primary.dso-small svg.di, a.dso-primary.dso-small.extern::after, a.dso-primary.dso-small.download::after, a.dso-primary.dso-small.dso-spinner::before,\nbutton.dso-primary.dso-small dso-icon,\nbutton.dso-primary.dso-small svg.di,\nbutton.dso-primary.dso-small.extern::after,\nbutton.dso-primary.dso-small.download::after,\nbutton.dso-primary.dso-small.dso-spinner::before,\nlabel.dso-primary.dso-small dso-icon,\nlabel.dso-primary.dso-small svg.di,\nlabel.dso-primary.dso-small.extern::after,\nlabel.dso-primary.dso-small.download::after,\nlabel.dso-primary.dso-small.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\na.dso-primary.dso-small.dso-spinner-left::before,\nbutton.dso-primary.dso-small.dso-spinner-left::before,\nlabel.dso-primary.dso-small.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\na.dso-primary.dso-small.dso-spinner-right::after,\nbutton.dso-primary.dso-small.dso-spinner-right::after,\nlabel.dso-primary.dso-small.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\na.dso-primary dso-icon,\na.dso-primary svg.di,\nbutton.dso-primary dso-icon,\nbutton.dso-primary svg.di,\nlabel.dso-primary dso-icon,\nlabel.dso-primary svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\na.dso-primary span + dso-icon,\na.dso-primary span + svg.di,\nbutton.dso-primary span + dso-icon,\nbutton.dso-primary span + svg.di,\nlabel.dso-primary span + dso-icon,\nlabel.dso-primary span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\na.dso-primary.dso-spinner-left[disabled], a.dso-primary.dso-spinner-right[disabled],\nbutton.dso-primary.dso-spinner-left[disabled],\nbutton.dso-primary.dso-spinner-right[disabled],\nlabel.dso-primary.dso-spinner-left[disabled],\nlabel.dso-primary.dso-spinner-right[disabled] {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\na.dso-primary.dso-spinner-left::before,\nbutton.dso-primary.dso-spinner-left::before,\nlabel.dso-primary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\na.dso-primary.dso-spinner-right::after,\nbutton.dso-primary.dso-spinner-right::after,\nlabel.dso-primary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\na.dso-primary.download::after,\nbutton.dso-primary.download::after,\nlabel.dso-primary.download::after {\n background: url(\"./dso-icons.svg#img-download-wit\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-primary.extern::after,\nbutton.dso-primary.extern::after,\nlabel.dso-primary.extern::after {\n background: url(\"./dso-icons.svg#img-external-link-wit\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-secondary,\nbutton.dso-secondary,\nlabel.dso-secondary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n}\na.dso-secondary:focus, a.dso-secondary:focus-visible,\nbutton.dso-secondary:focus,\nbutton.dso-secondary:focus-visible,\nlabel.dso-secondary:focus,\nlabel.dso-secondary:focus-visible {\n outline-offset: 2px;\n}\na.dso-secondary:active,\nbutton.dso-secondary:active,\nlabel.dso-secondary:active {\n outline: 0;\n}\na.dso-secondary.extern::after, a.dso-secondary.download::after,\nbutton.dso-secondary.extern::after,\nbutton.dso-secondary.download::after,\nlabel.dso-secondary.extern::after,\nlabel.dso-secondary.download::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\na.dso-secondary:hover,\nbutton.dso-secondary:hover,\nlabel.dso-secondary:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\na.dso-secondary:active,\nbutton.dso-secondary:active,\nlabel.dso-secondary:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\na.dso-secondary[disabled], a.dso-secondary[disabled]:hover,\nbutton.dso-secondary[disabled],\nbutton.dso-secondary[disabled]:hover,\nlabel.dso-secondary[disabled],\nlabel.dso-secondary[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\na.dso-secondary.dso-small,\nbutton.dso-secondary.dso-small,\nlabel.dso-secondary.dso-small {\n line-height: 1rem;\n}\na.dso-secondary.dso-small dso-icon,\na.dso-secondary.dso-small svg.di, a.dso-secondary.dso-small.extern::after, a.dso-secondary.dso-small.download::after, a.dso-secondary.dso-small.dso-spinner::before,\nbutton.dso-secondary.dso-small dso-icon,\nbutton.dso-secondary.dso-small svg.di,\nbutton.dso-secondary.dso-small.extern::after,\nbutton.dso-secondary.dso-small.download::after,\nbutton.dso-secondary.dso-small.dso-spinner::before,\nlabel.dso-secondary.dso-small dso-icon,\nlabel.dso-secondary.dso-small svg.di,\nlabel.dso-secondary.dso-small.extern::after,\nlabel.dso-secondary.dso-small.download::after,\nlabel.dso-secondary.dso-small.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\na.dso-secondary.dso-small.dso-spinner-left::before,\nbutton.dso-secondary.dso-small.dso-spinner-left::before,\nlabel.dso-secondary.dso-small.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.dso-small.dso-spinner-right::after,\nbutton.dso-secondary.dso-small.dso-spinner-right::after,\nlabel.dso-secondary.dso-small.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\na.dso-secondary dso-icon,\na.dso-secondary svg.di,\nbutton.dso-secondary dso-icon,\nbutton.dso-secondary svg.di,\nlabel.dso-secondary dso-icon,\nlabel.dso-secondary svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\na.dso-secondary span + dso-icon,\na.dso-secondary span + svg.di,\nbutton.dso-secondary span + dso-icon,\nbutton.dso-secondary span + svg.di,\nlabel.dso-secondary span + dso-icon,\nlabel.dso-secondary span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\na.dso-secondary.dso-spinner-left[disabled], a.dso-secondary.dso-spinner-right[disabled],\nbutton.dso-secondary.dso-spinner-left[disabled],\nbutton.dso-secondary.dso-spinner-right[disabled],\nlabel.dso-secondary.dso-spinner-left[disabled],\nlabel.dso-secondary.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\na.dso-secondary.dso-spinner-left::before,\nbutton.dso-secondary.dso-spinner-left::before,\nlabel.dso-secondary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\na.dso-secondary.dso-spinner-left:not([disabled]):hover::before,\nbutton.dso-secondary.dso-spinner-left:not([disabled]):hover::before,\nlabel.dso-secondary.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\na.dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before,\nbutton.dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before,\nlabel.dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.dso-spinner-right::after,\nbutton.dso-secondary.dso-spinner-right::after,\nlabel.dso-secondary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\na.dso-secondary.dso-spinner-right:not([disabled]):hover::after,\nbutton.dso-secondary.dso-spinner-right:not([disabled]):hover::after,\nlabel.dso-secondary.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\na.dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after,\nbutton.dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after,\nlabel.dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.download::after,\nbutton.dso-secondary.download::after,\nlabel.dso-secondary.download::after {\n background: url(\"./dso-icons.svg#img-download\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-secondary.download:hover::after,\nbutton.dso-secondary.download:hover::after,\nlabel.dso-secondary.download:hover::after {\n background-image: url(\"./dso-icons.svg#img-download-wit\");\n}\na.dso-secondary.download[disabled]::after,\nbutton.dso-secondary.download[disabled]::after,\nlabel.dso-secondary.download[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-download-grasgroen-40\");\n}\na.dso-secondary.extern::after,\nbutton.dso-secondary.extern::after,\nlabel.dso-secondary.extern::after {\n background: url(\"./dso-icons.svg#img-external-link\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-secondary.extern:hover::after,\nbutton.dso-secondary.extern:hover::after,\nlabel.dso-secondary.extern:hover::after {\n background-image: url(\"./dso-icons.svg#img-external-link-wit\");\n}\na.dso-secondary.extern[disabled]::after,\nbutton.dso-secondary.extern[disabled]::after,\nlabel.dso-secondary.extern[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-external-link-grasgroen-40\");\n}\na.dso-tertiary,\nbutton.dso-tertiary,\nlabel.dso-tertiary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n}\na.dso-tertiary:focus, a.dso-tertiary:focus-visible,\nbutton.dso-tertiary:focus,\nbutton.dso-tertiary:focus-visible,\nlabel.dso-tertiary:focus,\nlabel.dso-tertiary:focus-visible {\n outline-offset: 2px;\n}\na.dso-tertiary:active,\nbutton.dso-tertiary:active,\nlabel.dso-tertiary:active {\n outline: 0;\n}\na.dso-tertiary.extern::after, a.dso-tertiary.download::after,\nbutton.dso-tertiary.extern::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.extern::after,\nlabel.dso-tertiary.download::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\na.dso-tertiary[disabled],\nbutton.dso-tertiary[disabled],\nlabel.dso-tertiary[disabled] {\n color: #afcf9d;\n}\na.dso-tertiary[disabled].dso-spinner-left, a.dso-tertiary[disabled].dso-spinner-right,\nbutton.dso-tertiary[disabled].dso-spinner-left,\nbutton.dso-tertiary[disabled].dso-spinner-right,\nlabel.dso-tertiary[disabled].dso-spinner-left,\nlabel.dso-tertiary[disabled].dso-spinner-right {\n color: #39870c;\n}\na.dso-tertiary:not([disabled]):hover,\nbutton.dso-tertiary:not([disabled]):hover,\nlabel.dso-tertiary:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\na.dso-tertiary:not([disabled]):active,\nbutton.dso-tertiary:not([disabled]):active,\nlabel.dso-tertiary:not([disabled]):active {\n color: #173521;\n}\na.dso-tertiary.dso-align,\nbutton.dso-tertiary.dso-align,\nlabel.dso-tertiary.dso-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\na.dso-tertiary.dso-truncate,\nbutton.dso-tertiary.dso-truncate,\nlabel.dso-tertiary.dso-truncate {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\na.dso-tertiary.dso-spinner-left::before,\nbutton.dso-tertiary.dso-spinner-left::before,\nlabel.dso-tertiary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\na.dso-tertiary.dso-spinner-right::after,\nbutton.dso-tertiary.dso-spinner-right::after,\nlabel.dso-tertiary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\na.dso-tertiary dso-icon + span:not(.sr-only),\na.dso-tertiary svg.di + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + dso-icon,\na.dso-tertiary span:not(.sr-only) + svg.di,\nbutton.dso-tertiary dso-icon + span:not(.sr-only),\nbutton.dso-tertiary svg.di + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + dso-icon,\nbutton.dso-tertiary span:not(.sr-only) + svg.di,\nlabel.dso-tertiary dso-icon + span:not(.sr-only),\nlabel.dso-tertiary svg.di + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + dso-icon,\nlabel.dso-tertiary span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\na.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\na.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\na.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up,\nbutton.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up,\nlabel.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up {\n margin-left: 4px;\n}\na.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\na.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\na.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\na.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\na.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\na.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\na.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right],\nbutton.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\nbutton.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\nbutton.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\nbutton.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right],\nlabel.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\nlabel.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\nlabel.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\nlabel.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\na.dso-tertiary dso-icon,\na.dso-tertiary svg.di,\na.dso-tertiary span,\nbutton.dso-tertiary dso-icon,\nbutton.dso-tertiary svg.di,\nbutton.dso-tertiary span,\nlabel.dso-tertiary dso-icon,\nlabel.dso-tertiary svg.di,\nlabel.dso-tertiary span {\n vertical-align: middle;\n}\na.dso-tertiary.extern::after, a.dso-tertiary.download::after,\nbutton.dso-tertiary.extern::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.extern::after,\nlabel.dso-tertiary.download::after {\n position: relative;\n top: -2px;\n}\na.dso-tertiary.download::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.download::after {\n background: url(\"./dso-icons.svg#img-download\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-tertiary.download[disabled]::after,\nbutton.dso-tertiary.download[disabled]::after,\nlabel.dso-tertiary.download[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-download-grasgroen-40\");\n}\na.dso-tertiary.download:not([disabled]):hover::after, a.dso-tertiary.download:not([disabled]):active::after,\nbutton.dso-tertiary.download:not([disabled]):hover::after,\nbutton.dso-tertiary.download:not([disabled]):active::after,\nlabel.dso-tertiary.download:not([disabled]):hover::after,\nlabel.dso-tertiary.download:not([disabled]):active::after {\n background-image: url(\"./dso-icons.svg#img-download-scampi\");\n}\na.dso-tertiary.extern::after,\nbutton.dso-tertiary.extern::after,\nlabel.dso-tertiary.extern::after {\n background: url(\"./dso-icons.svg#img-external-link\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-tertiary.extern[disabled]::after,\nbutton.dso-tertiary.extern[disabled]::after,\nlabel.dso-tertiary.extern[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-external-link-grasgroen-40\");\n}\na.dso-tertiary.extern:not([disabled]):hover::after, a.dso-tertiary.extern:not([disabled]):active::after,\nbutton.dso-tertiary.extern:not([disabled]):hover::after,\nbutton.dso-tertiary.extern:not([disabled]):active::after,\nlabel.dso-tertiary.extern:not([disabled]):hover::after,\nlabel.dso-tertiary.extern:not([disabled]):active::after {\n background-image: url(\"./dso-icons.svg#img-external-link-scampi\");\n}\n\na.dso-primary {\n text-decoration: none;\n}\na.dso-primary, a.dso-primary:visited {\n color: #fff;\n}\na.dso-secondary {\n text-decoration: none;\n}\na.dso-secondary, a.dso-secondary:visited {\n color: #39870c;\n}\na.dso-secondary:hover, a.dso-secondary:visited:hover {\n color: #fff;\n}\na.dso-tertiary {\n text-decoration: none;\n}\na.dso-tertiary, a.dso-tertiary:visited {\n color: #39870c;\n}\n\n.dso-primary + .dso-primary,\n.dso-primary + .dso-secondary,\n.dso-primary + .dso-tertiary,\n.dso-secondary + .dso-primary,\n.dso-secondary + .dso-secondary,\n.dso-secondary + .dso-tertiary,\n.dso-tertiary + .dso-primary,\n.dso-tertiary + .dso-secondary,\n.dso-tertiary + .dso-tertiary {\n margin-left: 16px;\n}\n\nsup {\n font-size: 0.65em;\n line-height: 0;\n position: relative;\n top: -0.5em;\n vertical-align: baseline;\n}\nsup a {\n text-decoration: none;\n}\nsup a:hover, sup a:focus, sup a:active {\n text-decoration: underline;\n}\n\nsub {\n bottom: -0.25em;\n font-size: 0.65em;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsub a {\n text-decoration: none;\n}\nsub a:hover, sub a:focus, sub a:active {\n text-decoration: underline;\n}\n\ncaption {\n color: #666;\n padding-bottom: 8px;\n padding-top: 8px;\n text-align: left;\n}\n\ntd,\nth {\n padding: 0;\n}\n\nth {\n font-weight: 600;\n text-align: left;\n}\n\ntable.table td:not(.plain-content) p,\ntable.table th p {\n margin: 0 0 16px;\n}\ntable.table td:not(.plain-content) ul,\ntable.table td:not(.plain-content) ol,\ntable.table th ul,\ntable.table th ol {\n margin-bottom: 16px;\n}\ntable.table td:not(.plain-content) ul:not(.list-group):not(.dso-link-list):not(.dso-columns-list),\ntable.table td:not(.plain-content) ol:not(.list-group):not(.dso-link-list):not(.dso-columns-list),\ntable.table th ul:not(.list-group):not(.dso-link-list):not(.dso-columns-list),\ntable.table th ol:not(.list-group):not(.dso-link-list):not(.dso-columns-list) {\n padding-inline-start: 24px;\n}\ntable.table td:not(.plain-content) pre,\ntable.table th pre {\n margin: 0 0 16px;\n}\ntable.table td:not(.plain-content) blockquote,\ntable.table th blockquote {\n padding: 16px 24px;\n}\ntable.table td:not(.plain-content) dso-highlight-box,\ntable.table td:not(.plain-content) .dso-highlight-box,\ntable.table th dso-highlight-box,\ntable.table th .dso-highlight-box {\n margin-bottom: 24px;\n}\ntable.table td:not(.plain-content) img,\ntable.table th img {\n height: auto;\n max-width: 100%;\n}\n\ntable.table,\n.dso-rich-content table {\n margin-bottom: 24px;\n max-width: 100%;\n width: 100%;\n}\ntable.table .dso-tertiary,\n.dso-rich-content table .dso-tertiary {\n position: relative;\n top: -2px;\n white-space: nowrap;\n}\ntable.table.dso-text-left th,\ntable.table.dso-text-left td,\n.dso-rich-content table.dso-text-left th,\n.dso-rich-content table.dso-text-left td {\n text-align: left;\n}\ntable.table.dso-text-center th,\ntable.table.dso-text-center td,\n.dso-rich-content table.dso-text-center th,\n.dso-rich-content table.dso-text-center td {\n text-align: center;\n}\ntable.table.dso-text-right th,\ntable.table.dso-text-right td,\n.dso-rich-content table.dso-text-right th,\n.dso-rich-content table.dso-text-right td {\n text-align: right;\n}\ntable.table.dso-table-vertical-lines > thead > tr > td,\ntable.table.dso-table-vertical-lines > thead > tr > th,\n.dso-rich-content table.dso-table-vertical-lines > thead > tr > td,\n.dso-rich-content table.dso-table-vertical-lines > thead > tr > th {\n border: 1px solid #666;\n}\ntable.table.dso-table-vertical-lines > tbody > tr > td,\ntable.table.dso-table-vertical-lines > tbody > tr > th,\ntable.table.dso-table-vertical-lines > tfoot > tr > td,\ntable.table.dso-table-vertical-lines > tfoot > tr > th,\n.dso-rich-content table.dso-table-vertical-lines > tbody > tr > td,\n.dso-rich-content table.dso-table-vertical-lines > tbody > tr > th,\n.dso-rich-content table.dso-table-vertical-lines > tfoot > tr > td,\n.dso-rich-content table.dso-table-vertical-lines > tfoot > tr > th {\n border: 1px solid #ccc;\n}\ntable.table.dso-table-vertical-lines > thead + tbody > tr:first-child > td,\ntable.table.dso-table-vertical-lines > thead + tbody > tr:first-child > th,\n.dso-rich-content table.dso-table-vertical-lines > thead + tbody > tr:first-child > td,\n.dso-rich-content table.dso-table-vertical-lines > thead + tbody > tr:first-child > th {\n border-top: 0;\n}\ntable.table th.dso-text-left,\ntable.table td.dso-text-left,\n.dso-rich-content table th.dso-text-left,\n.dso-rich-content table td.dso-text-left {\n text-align: left;\n}\ntable.table th.dso-text-center,\ntable.table td.dso-text-center,\n.dso-rich-content table th.dso-text-center,\n.dso-rich-content table td.dso-text-center {\n text-align: center;\n}\ntable.table th.dso-text-right,\ntable.table td.dso-text-right,\n.dso-rich-content table th.dso-text-right,\n.dso-rich-content table td.dso-text-right {\n text-align: right;\n}\ntable.table > thead > tr > th,\ntable.table > thead > tr > td,\ntable.table > tbody > tr > th,\ntable.table > tbody > tr > td,\ntable.table > tfoot > tr > th,\ntable.table > tfoot > tr > td,\n.dso-rich-content table > thead > tr > th,\n.dso-rich-content table > thead > tr > td,\n.dso-rich-content table > tbody > tr > th,\n.dso-rich-content table > tbody > tr > td,\n.dso-rich-content table > tfoot > tr > th,\n.dso-rich-content table > tfoot > tr > td {\n line-height: 1.5;\n padding: 12px 8px;\n vertical-align: top;\n}\ntable.table > thead > tr > th a,\ntable.table > thead > tr > td a,\ntable.table > tbody > tr > th a,\ntable.table > tbody > tr > td a,\ntable.table > tfoot > tr > th a,\ntable.table > tfoot > tr > td a,\n.dso-rich-content table > thead > tr > th a,\n.dso-rich-content table > thead > tr > td a,\n.dso-rich-content table > tbody > tr > th a,\n.dso-rich-content table > tbody > tr > td a,\n.dso-rich-content table > tfoot > tr > th a,\n.dso-rich-content table > tfoot > tr > td a {\n text-decoration: underline;\n}\ntable.table > thead > tr > td,\ntable.table > thead > tr > th,\n.dso-rich-content table > thead > tr > td,\n.dso-rich-content table > thead > tr > th {\n border-bottom: 1px solid #666;\n}\ntable.table > tbody > tr > td,\ntable.table > tbody > tr > th,\ntable.table > tfoot > tr > td,\ntable.table > tfoot > tr > th,\n.dso-rich-content table > tbody > tr > td,\n.dso-rich-content table > tbody > tr > th,\n.dso-rich-content table > tfoot > tr > td,\n.dso-rich-content table > tfoot > tr > th {\n border-bottom: 1px solid #ccc;\n}\ntable.table > tbody + tbody,\n.dso-rich-content table > tbody + tbody {\n border-top: 2px solid #ccc;\n}\ntable.table .table,\n.dso-rich-content table .table {\n background-color: #fff;\n}\ntable.table > tbody > tr.result-error td,\n.dso-rich-content table > tbody > tr.result-error td {\n font-style: italic;\n}\ntable.table > thead > tr > th,\n.dso-rich-content table > thead > tr > th {\n vertical-align: bottom;\n}\ntable.table > thead > tr > th .dso-primary.dso-sort, table.table > thead > tr > th .dso-secondary.dso-sort, table.table > thead > tr > th .dso-tertiary.dso-sort,\n.dso-rich-content table > thead > tr > th .dso-primary.dso-sort,\n.dso-rich-content table > thead > tr > th .dso-secondary.dso-sort,\n.dso-rich-content table > thead > tr > th .dso-tertiary.dso-sort {\n color: #191919;\n font-weight: 600;\n}\ntable.table > thead > tr > th .dso-primary.dso-sort dso-icon,\ntable.table > thead > tr > th .dso-primary.dso-sort svg.di, table.table > thead > tr > th .dso-secondary.dso-sort dso-icon,\ntable.table > thead > tr > th .dso-secondary.dso-sort svg.di, table.table > thead > tr > th .dso-tertiary.dso-sort dso-icon,\ntable.table > thead > tr > th .dso-tertiary.dso-sort svg.di,\n.dso-rich-content table > thead > tr > th .dso-primary.dso-sort dso-icon,\n.dso-rich-content table > thead > tr > th .dso-primary.dso-sort svg.di,\n.dso-rich-content table > thead > tr > th .dso-secondary.dso-sort dso-icon,\n.dso-rich-content table > thead > tr > th .dso-secondary.dso-sort svg.di,\n.dso-rich-content table > thead > tr > th .dso-tertiary.dso-sort dso-icon,\n.dso-rich-content table > thead > tr > th .dso-tertiary.dso-sort svg.di {\n color: #666;\n}\ntable.table > thead > tr > th .dso-primary.dso-sort dso-icon.dso-sort-active,\ntable.table > thead > tr > th .dso-primary.dso-sort svg.di.dso-sort-active, table.table > thead > tr > th .dso-secondary.dso-sort dso-icon.dso-sort-active,\ntable.table > thead > tr > th .dso-secondary.dso-sort svg.di.dso-sort-active, table.table > thead > tr > th .dso-tertiary.dso-sort dso-icon.dso-sort-active,\ntable.table > thead > tr > th .dso-tertiary.dso-sort svg.di.dso-sort-active,\n.dso-rich-content table > thead > tr > th .dso-primary.dso-sort dso-icon.dso-sort-active,\n.dso-rich-content table > thead > tr > th .dso-primary.dso-sort svg.di.dso-sort-active,\n.dso-rich-content table > thead > tr > th .dso-secondary.dso-sort dso-icon.dso-sort-active,\n.dso-rich-content table > thead > tr > th .dso-secondary.dso-sort svg.di.dso-sort-active,\n.dso-rich-content table > thead > tr > th .dso-tertiary.dso-sort dso-icon.dso-sort-active,\n.dso-rich-content table > thead > tr > th .dso-tertiary.dso-sort svg.di.dso-sort-active {\n color: #191919;\n}\n\n.table-hover > tbody > tr:hover {\n background-color: #f2f2f2;\n}\n\ntable col[class*=col-] {\n display: table-column;\n float: none;\n position: static;\n}\n\ntable {\n background-color: transparent;\n border-collapse: collapse;\n border-spacing: 0;\n}\ntable td[class*=col-],\ntable th[class*=col-] {\n display: table-cell;\n float: none;\n position: static;\n}\n\n.dso-rich-content table > thead > tr > td.active,\n.dso-rich-content table > thead > tr > th.active, .dso-rich-content table > thead > tr.active > td, .dso-rich-content table > thead > tr.active > th,\n.dso-rich-content table > tbody > tr > td.active,\n.dso-rich-content table > tbody > tr > th.active,\n.dso-rich-content table > tbody > tr.active > td,\n.dso-rich-content table > tbody > tr.active > th,\n.dso-rich-content table > tfoot > tr > td.active,\n.dso-rich-content table > tfoot > tr > th.active,\n.dso-rich-content table > tfoot > tr.active > td,\n.dso-rich-content table > tfoot > tr.active > th,\n.table > thead > tr > td.active,\n.table > thead > tr > th.active,\n.table > thead > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr > td.active,\n.table > tbody > tr > th.active,\n.table > tbody > tr.active > td,\n.table > tbody > tr.active > th,\n.table > tfoot > tr > td.active,\n.table > tfoot > tr > th.active,\n.table > tfoot > tr.active > td,\n.table > tfoot > tr.active > th {\n background-color: #f2f2f2;\n}\n\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover, .table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr.active:hover > th {\n background-color: #f2f2f2;\n}\n.table-hover > tbody > tr:hover > th, .table-hover > tbody > tr:hover > td {\n background-color: #f2f2f2;\n}\n.table-hover > tbody > tr:hover > th a, .table-hover > tbody > tr:hover > td a {\n color: #191919;\n}\n.table-hover > tbody > tr:hover > th a:hover, .table-hover > tbody > tr:hover > td a:hover {\n text-decoration: none;\n}\n\n.table > tbody > tr.active > th, .table > tbody > tr.active > td {\n background-color: #f2f2f2;\n}\n.table > tbody > tr.active > th a, .table > tbody > tr.active > td a {\n color: #191919;\n}\n.table > tbody > tr.active > th a:hover, .table > tbody > tr.active > td a:hover {\n text-decoration: none;\n}\n\n.dso-table-responsive,\n.dso-table-scroll-container {\n min-height: 0.01%;\n overflow-x: auto;\n position: relative;\n}\n\n.dso-table-scroll-container {\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ccc;\n margin-bottom: 0;\n overflow-y: hidden;\n width: 100%;\n}\n.dso-table-scroll-container::before {\n content: \"beweeg de tabel van links naar rechts\";\n display: block;\n font-size: 0.8em;\n margin-bottom: 8px;\n position: relative;\n text-align: center;\n}\n.dso-table-scroll-container > .table {\n margin-bottom: 0;\n}\n.dso-table-scroll-container > .table > thead > tr > th,\n.dso-table-scroll-container > .table > thead > tr > td,\n.dso-table-scroll-container > .table > tbody > tr > th,\n.dso-table-scroll-container > .table > tbody > tr > td,\n.dso-table-scroll-container > .table > tfoot > tr > th,\n.dso-table-scroll-container > .table > tfoot > tr > td {\n white-space: nowrap;\n}\n\n@media screen and (max-width: 767px) {\n .dso-table-responsive {\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ccc;\n margin-bottom: 0;\n overflow-y: hidden;\n width: 100%;\n }\n .dso-table-responsive::before {\n content: \"beweeg de tabel van links naar rechts\";\n display: block;\n font-size: 0.8em;\n margin-bottom: 8px;\n position: relative;\n text-align: center;\n }\n .dso-table-responsive > .table {\n margin-bottom: 0;\n }\n .dso-table-responsive > .table > thead > tr > th,\n .dso-table-responsive > .table > thead > tr > td,\n .dso-table-responsive > .table > tbody > tr > th,\n .dso-table-responsive > .table > tbody > tr > td,\n .dso-table-responsive > .table > tfoot > tr > th,\n .dso-table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n}\n\n.dso-table-filter-wrapper .dso-search-bar {\n margin-bottom: 16px;\n width: 288px;\n}\n\ndso-table table.table {\n margin-bottom: 0;\n}\n\ndso-table.dso-is-responsive {\n margin-bottom: 0;\n}\ndso-table.dso-is-responsive > .table > thead > tr > th,\ndso-table.dso-is-responsive > .table > thead > tr > td,\ndso-table.dso-is-responsive > .table > tbody > tr > th,\ndso-table.dso-is-responsive > .table > tbody > tr > td,\ndso-table.dso-is-responsive > .table > tfoot > tr > th,\ndso-table.dso-is-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n}\n\n:host(:not([inline])) {\n display: block;\n}\n\n:host([inline]) {\n display: inline;\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\nbutton.toggle-note {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n}\nbutton.toggle-note:focus, button.toggle-note:focus-visible {\n outline-offset: 2px;\n}\nbutton.toggle-note:active {\n outline: 0;\n}\nbutton.toggle-note[disabled] {\n color: #afcf9d;\n}\nbutton.toggle-note[disabled].dso-spinner-left, button.toggle-note[disabled].dso-spinner-right {\n color: #39870c;\n}\nbutton.toggle-note:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\nbutton.toggle-note:not([disabled]):active {\n color: #173521;\n}\nbutton.toggle-note.dso-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\nbutton.toggle-note.dso-truncate {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\nbutton.toggle-note.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\nbutton.toggle-note.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\nbutton.toggle-note dso-icon + span:not(.sr-only),\nbutton.toggle-note svg.di + span:not(.sr-only),\nbutton.toggle-note span:not(.sr-only) + dso-icon,\nbutton.toggle-note span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\nbutton.toggle-note svg.di.di-chevron-down + span:not(.sr-only),\nbutton.toggle-note svg.di.di-chevron-up + span:not(.sr-only),\nbutton.toggle-note span:not(.sr-only) + svg.di.di-chevron-down,\nbutton.toggle-note span:not(.sr-only) + svg.di.di-chevron-up {\n margin-left: 4px;\n}\nbutton.toggle-note dso-icon[icon=chevron-left] + span:not(.sr-only),\nbutton.toggle-note dso-icon[icon=chevron-right] + span:not(.sr-only),\nbutton.toggle-note svg.di.di-angle-down + span:not(.sr-only),\nbutton.toggle-note svg.di.di-angle-up + span:not(.sr-only),\nbutton.toggle-note span:not(.sr-only) + svg.di.di-angle-down,\nbutton.toggle-note span:not(.sr-only) + svg.di.di-angle-up,\nbutton.toggle-note span:not(.sr-only) + dso-icon[icon=chevron-left],\nbutton.toggle-note span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\nbutton.toggle-note dso-icon,\nbutton.toggle-note svg.di,\nbutton.toggle-note span {\n vertical-align: middle;\n}\n\nspan[role=section],\nspan[role=paragraph] {\n display: block;\n}\n\n:host(:not([inline])) .fallback {\n display: block;\n}\n\na {\n background-color: transparent;\n color: var(--link-color);\n text-decoration: underline;\n}\na:hover, a:focus {\n color: var(--link-hover-color);\n text-decoration: underline;\n}\na:active {\n text-decoration: none;\n}\na:visited {\n color: var(--link-visited-color);\n}\n\n.od-Term {\n font-weight: 700;\n}\n\n.od-Definitie,\n.od-Tussenkop {\n font-style: italic;\n}\n\n.od-Inhoud,\n.od-Inhoud > .od-Lijst,\n.od-IntIoRef,\n.od-Lidnr,\n.od-LiNr,\n.od-Opschrift,\n.od-Tussenkop {\n display: inline;\n}\n\n.od-Al {\n margin-bottom: 0.75em;\n}\n\n.od-IntIoRef {\n border-bottom: 1px dotted;\n}\n\n.dso-ozon-bron {\n font-style: italic;\n font-size: 0.75rem;\n}\n\n.dso-ozon-figuur {\n margin-bottom: 8px;\n}\n.dso-ozon-figuur .figuur-bijschrift {\n display: block;\n font-size: 0.75rem;\n font-style: italic;\n}\n.dso-ozon-figuur.bijschrift-boven .figuur-bijschrift {\n padding-bottom: 0.25rem;\n}\n.dso-ozon-figuur.bijschrift-onder .figuur-bijschrift {\n padding-top: 0.25rem;\n}\n.dso-ozon-figuur .figuur-titel {\n color: #8b4a6a;\n display: block;\n font-weight: 500;\n padding-bottom: 0.5rem;\n}\n\n.dso-ozon-lijst span.od-Lijstaanhef,\n.dso-ozon-lijst span.od-Lijstsluiting {\n margin-bottom: 8px;\n}\n.dso-ozon-lijst ul {\n margin-bottom: 8px !important;\n margin-top: 8px;\n}\n.dso-ozon-lijst ul p {\n margin-bottom: 8px;\n}\n.dso-ozon-lijst ul.expliciet {\n list-style: none;\n}\n.dso-ozon-lijst ul.expliciet > .od-Li {\n position: relative;\n}\n.dso-ozon-lijst ul.expliciet > .od-Li > span.od-LiNummer {\n position: absolute;\n left: -44px;\n text-align: right;\n width: 40px;\n}\n.dso-ozon-lijst p {\n margin: 0;\n}\n\n.od-Tabel thead {\n font-weight: 600;\n}\n\n.od-Kadertekst {\n border: 1px solid #e5e5e5;\n margin-bottom: 8px;\n padding: 8px;\n}\n\np.wijzigactie-voegtoe,\nspan[role=paragraph].wijzigactie-voegtoe,\ntable.wijzigactie-voegtoe {\n background-color: #e4f1d4;\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.25);\n color: #000;\n}\np.wijzigactie-voegtoe a,\nspan[role=paragraph].wijzigactie-voegtoe a,\ntable.wijzigactie-voegtoe a {\n color: #000;\n}\np.wijzigactie-verwijder,\nspan[role=paragraph].wijzigactie-verwijder,\ntable.wijzigactie-verwijder {\n background-color: #f5d8dc;\n color: #000;\n text-decoration: line-through;\n}\np.wijzigactie-verwijder a,\nspan[role=paragraph].wijzigactie-verwijder a,\ntable.wijzigactie-verwijder a {\n color: #000;\n}\n\nins.nieuwe-tekst {\n text-decoration: none;\n background-color: #e4f1d4;\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.25);\n color: #000;\n}\nins.nieuwe-tekst a {\n color: #000;\n}\n\ndel.verwijderde-tekst {\n background-color: #f5d8dc;\n color: #000;\n text-decoration: line-through;\n}\ndel.verwijderde-tekst a {\n color: #000;\n}\n\n.dso-rich-content p {\n margin: 0 0 16px;\n}\n.dso-rich-content ul,\n.dso-rich-content ol {\n margin-bottom: 16px;\n}\n.dso-rich-content ul:not(.list-group):not(.dso-link-list):not(.dso-columns-list),\n.dso-rich-content ol:not(.list-group):not(.dso-link-list):not(.dso-columns-list) {\n padding-inline-start: 24px;\n}\n.dso-rich-content pre {\n margin: 0 0 16px;\n}\n.dso-rich-content blockquote {\n padding: 16px 24px;\n}\n.dso-rich-content dso-highlight-box,\n.dso-rich-content .dso-highlight-box {\n margin-bottom: 24px;\n}\n.dso-rich-content img {\n height: auto;\n max-width: 100%;\n}";const ft=new ct;const pt=class{constructor(t){n(this,t);this.dsoAnchorClick=o(this,"dsoAnchorClick",7);this.content=undefined;this.inline=false;this.state={}}contentWatcher(){this.state={}}render(){const n={state:this.state,inline:this.inline,setState:n=>this.state=n,emitAnchorClick:this.dsoAnchorClick.emit};const o=ft.transform(this.content,n);return t(e,null,o)}static get watchers(){return{content:["contentWatcher"]}}};pt.style=bt;export{c as dso_alert,f as dso_annotation_button,h as dso_badge,v as dso_label,pt as dso_ozon_content};
2
- //# sourceMappingURL=p-2719a53a.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["alertCss","Alert","render","status","statusMap","get","this","Error","h","class","clsx","role","roleAlert","undefined","icon","Map","annotationButtonCss","AnnotationButton","handleClick","e","dsoClick","emit","originalEvent","open","type","identifier","toString","onClick","badgeCss","Badge","labelCss","resizeObserver","ResizeObserver","debounce","entries","forEach","target","isDsoLabelComponent","_truncateLabel","element","tagName","hasEllipses","el","scrollWidth","clientWidth","Label","watchRemovable","removable","startMutationObserver","stopMutationObserver","watchTruncate","truncate","startTruncate","stopTruncate","keyDownListener","event","key","textHover","textFocus","setTimeout","isTruncated","labelContent","syncLabelText","labelText","_b","_a","host","textContent","trim","componentDidLoad","disconnectedCallback","mutationObserver","MutationObserver","observe","characterData","childList","subtree","attributes","force","disconnect","unobserve","Fragment","compact","removeHover","removeFocus","name","ref","tabindex","onMouseEnter","onMouseLeave","onFocus","onBlur","dsoRemoveClick","stateless","id","active","position","strategy","getNodeName","node","Element","localName","nodeName","includes","substring","indexOf","isNestedAl","path","some","n","OzonContentAlNode","constructor","mapNodeToJsx","inline","content","childNodes","wijzigactie","getAttribute","className","OzonContentBronNode","OzonContentDocumentNode","INFINITY","symbolTag","reAsciiWord","reLatin","rsAstralRange","rsComboMarksRange","rsComboSymbolsRange","rsDingbatRange","rsLowerRange","rsMathOpRange","rsNonCharRange","rsPunctuationRange","rsSpaceRange","rsUpperRange","rsVarRange","rsBreakRange","rsApos","rsBreak","rsCombo","rsDigits","rsDingbat","rsLower","rsMisc","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","rsUpper","rsZWJ","rsLowerMisc","rsUpperMisc","rsOptLowerContr","rsOptUpperContr","reOptMod","rsOptVar","rsOptJoin","join","rsSeq","rsEmoji","reApos","RegExp","reComboMark","reUnicodeWord","reHasUnicodeWord","deburredLetters","freeGlobal","global","Object","freeSelf","self","root","Function","arrayReduce","array","iteratee","accumulator","initAccum","index","length","asciiWords","string","match","basePropertyOf","object","deburrLetter","hasUnicodeWord","test","unicodeWords","objectProto","prototype","objectToString","Symbol","symbolProto","symbolToString","baseToString","value","isSymbol","call","result","createCompounder","callback","words","deburr","replace","isObjectLike","kebabCase","word","toLowerCase","pattern","guard","lodash_kebabcase","OzonContentExtRefNode","href","rel","OzonContentFallbackNode","Bijschrift","bijschrift","bron","inhoud","OzonContentFiguurNode","setImageDimensions","imageElement","schaal","naturalHeight","naturalWidth","height","width","onImageLoad","HTMLImageElement","Array","from","titel","find","illustratieNode","bijschriftNode","illustratie","naam","breedte","hoogte","uitlijning","alt","locatie","slot","src","_c","_f","_e","_d","onLoad","Number","OzonContentInhoudNode","OzonContentInlineTekstAfbeeldingNode","OzonContentInlineNodes","Tag","OzonContentIntIoRefNode","emitAnchorClick","intRefOnClick","preventDefault","currentTarget","HTMLAnchorElement","documentComponent","OzonContentIntRefNode","OzonContentLijstNode","aanhef","sluiting","listItems","filter","map","item","itemNodes","liNummer","OzonContentNieuweTekstNode","OzonContentNootNode","handles","identify","state","openNoteId","setState","noteId","console","error","noteControlsId","nootNummer","descriptive","querySelectorAll","OzonContentOpschriftNode","mapColspecs","count","nodeList","elements","totalWidth","getTotalWidth","columns","colNumber","number","parseInt","getWidth","reduce","colWidth","isNaN","Math","round","Colgroup","colspecs","colspec","style","getData","cell","moreRows","nameStart","nameEnd","getColspan","colspecStart","c","colspecEnd","colspan","Cell","context","td","rowSpan","colSpan","assign","Rows","rows","row","children","mapData","tgroup","querySelector","colAttribute","columnCount","caption","headRows","bodyRows","editAction","OzonContentTableNode","uuidv4","OzonContentTextNode","OzonContentVerwijderdeTekstNode","Mapper","mappers","skip","t","m","push","fallbackNode","findMapper","isArray","NodeList","mapper","identity","s","transform","input","document","inputToXmlDocument","message","getRootNode","XMLDocument","domParser","DOMParser","parseFromString","implementation","createDocument","ozonContentCss","OzonContent","contentWatcher","dsoAnchorClick","transformed"],"sources":["src/components/alert/alert.scss?tag=dso-alert&encapsulation=shadow","src/components/alert/alert.tsx","src/components/annotation-button/annotation-button.scss?tag=dso-annotation-button","src/components/annotation-button/annotation-button.tsx","src/components/badge/badge.scss?tag=dso-badge&encapsulation=shadow","src/components/badge/badge.tsx","src/components/label/label.scss?tag=dso-label&encapsulation=shadow","src/components/label/label.tsx","src/components/ozon-content/get-node-name.function.ts","src/components/ozon-content/nodes/al.node.tsx","src/components/ozon-content/nodes/bron.node.tsx","src/components/ozon-content/nodes/document.node.tsx","../../node_modules/lodash.kebabcase/index.js","src/components/ozon-content/nodes/ext-ref.node.tsx","src/components/ozon-content/nodes/fallback.node.tsx","src/components/ozon-content/nodes/figuur.node.tsx","src/components/ozon-content/nodes/inhoud.node.tsx","src/components/ozon-content/nodes/inline-tekst-afbeelding.node.tsx","src/components/ozon-content/nodes/inline.nodes.tsx","src/components/ozon-content/nodes/int-io-ref.node.tsx","src/components/ozon-content/nodes/int-ref.node.tsx","src/components/ozon-content/nodes/lijst.node.tsx","src/components/ozon-content/nodes/nieuwe-tekst.node.tsx","src/components/ozon-content/nodes/noot.node.tsx","src/components/ozon-content/nodes/opschrift.node.tsx","src/components/ozon-content/nodes/table.node/colspec/colspec-mapper.ts","src/components/ozon-content/nodes/table.node/table-colgroup.tsx","src/components/ozon-content/nodes/table.node/table-cell.tsx","src/components/ozon-content/nodes/table.node/table-rows.tsx","src/components/ozon-content/nodes/table.node/table.node.tsx","src/components/ozon-content/nodes/text.node.tsx","src/components/ozon-content/nodes/verwijderde-tekst.node.tsx","src/components/ozon-content/ozon-content-mapper.tsx","src/components/ozon-content/ozon-content.scss?tag=dso-ozon-content&encapsulation=shadow","src/components/ozon-content/ozon-content.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/alert\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n:host(:not(:first-child)) {\r\n margin-top: units.$u3;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.alert {\r\n @include alert.root();\r\n\r\n dso-icon {\r\n @include alert.icon-position();\r\n\r\n height: units.$u4;\r\n width: units.$u4;\r\n }\r\n}\r\n","import { Component, h, Prop } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\n@Component({\r\n tag: \"dso-alert\",\r\n styleUrl: \"alert.scss\",\r\n shadow: true,\r\n})\r\nexport class Alert {\r\n /**\r\n * Set status of alert\r\n */\r\n @Prop()\r\n status!: \"success\" | \"info\" | \"warning\" | \"error\";\r\n\r\n /**\r\n * Whether or not to show the role attribute with value \"alert\". To control the tooltip add the `role-alert` attribute.\r\n */\r\n @Prop()\r\n roleAlert?: boolean;\r\n\r\n private static statusMap = new Map<string, string>([\r\n [\"success\", \"Gelukt\"],\r\n [\"info\", \"Opmerking\"],\r\n [\"warning\", \"Waarschuwing\"],\r\n [\"error\", \"Fout\"],\r\n ]);\r\n\r\n render() {\r\n const status = Alert.statusMap.get(this.status);\r\n if (!status) {\r\n throw new Error(`Invalid status ${this.status}`);\r\n }\r\n\r\n return (\r\n <div class={clsx(\"alert\", `alert-${this.status}`)} role={this.roleAlert ? \"alert\" : undefined}>\r\n <dso-icon icon={\"status-\" + this.status}></dso-icon>\r\n <span class=\"sr-only\">{status}:</span>\r\n <slot></slot>\r\n </div>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/button/button\";\r\n\r\ndso-annotation-button {\r\n display: block;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n","import { h, Component, ComponentInterface, Event, Prop, EventEmitter } from \"@stencil/core\";\r\n\r\nexport interface AnnotationButtonClickEvent {\r\n originalEvent: Event;\r\n open: boolean;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-annotation-button\",\r\n styleUrl: \"annotation-button.scss\",\r\n // No shadowdom for a11y reasons (aria-controls pointing to element inside another component)\r\n})\r\nexport class AnnotationButton implements ComponentInterface {\r\n /**\r\n * To link the Annotation Button with `aria-controls` to a different element, most likely an Annotation Output.\r\n */\r\n @Prop()\r\n identifier!: string | undefined;\r\n\r\n /**\r\n * Set to true when the annotation is open.\r\n */\r\n @Prop()\r\n open = false;\r\n\r\n /**\r\n * Emitted when user activates the button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoClick!: EventEmitter<AnnotationButtonClickEvent>;\r\n\r\n private handleClick = (e: MouseEvent) => {\r\n this.dsoClick.emit({ originalEvent: e, open: !this.open });\r\n };\r\n\r\n render() {\r\n return (\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary\"\r\n aria-controls={this.identifier}\r\n aria-expanded={this.open.toString()}\r\n onClick={this.handleClick}\r\n >\r\n <dso-icon icon=\"label\"></dso-icon>\r\n <span class=\"sr-only\">Toelichting bekijken</span>\r\n </button>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/badge\";\r\n\r\n:host {\r\n display: inline-block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-badge {\r\n @include badge.root();\r\n}\r\n","import { Component, h, Prop } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\n@Component({\r\n tag: \"dso-badge\",\r\n styleUrl: \"badge.scss\",\r\n shadow: true,\r\n})\r\nexport class Badge {\r\n /**\r\n * The status of the Badge.\r\n */\r\n @Prop()\r\n status?: \"primary\" | \"success\" | \"info\" | \"warning\" | \"danger\" | \"error\" | \"outline\" | \"attention\";\r\n\r\n render() {\r\n return (\r\n <span class={clsx(\"dso-badge\", { [`badge-${this.status}`]: this.status })}>\r\n <slot></slot>\r\n </span>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/label\";\r\n\r\n:host {\r\n display: inline-block;\r\n max-width: 100%;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n// Todo: Replace .sr-only selector with web component specific selector, no need for .sr-only if we can generate the SCSS\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-label {\r\n @include label.root();\r\n\r\n &.dso-hover {\r\n .dso-label-content {\r\n text-decoration: line-through;\r\n }\r\n }\r\n}\r\n\r\n.dso-truncate.dso-label-content {\r\n display: inline-block;\r\n max-width: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis; // stylelint-disable-line declaration-property-value-disallowed-list -- full text can be viewed via tooltip.\r\n vertical-align: bottom;\r\n white-space: nowrap; // stylelint-disable-line declaration-property-value-disallowed-list -- full text can be viewed via tooltip.\r\n}\r\n\r\n:host([removable]) {\r\n .dso-truncate.dso-label-content {\r\n max-width: calc(100% - (units.$u3 + 4px));\r\n }\r\n}\r\n","import {\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Method,\r\n Prop,\r\n State,\r\n Watch,\r\n Listen,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { debounce } from \"debounce\";\r\n\r\nconst resizeObserver = new ResizeObserver(\r\n debounce((entries) => {\r\n entries.forEach(({ target }) => {\r\n if (isDsoLabelComponent(target)) {\r\n target._truncateLabel();\r\n }\r\n });\r\n }, 150)\r\n);\r\n\r\nfunction isDsoLabelComponent(element: Element): element is HTMLDsoLabelElement {\r\n return element.tagName === \"DSO-LABEL\";\r\n}\r\n\r\nfunction hasEllipses(el: HTMLElement): boolean {\r\n return el.scrollWidth > el.clientWidth;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-label\",\r\n styleUrl: \"label.scss\",\r\n shadow: true,\r\n})\r\nexport class Label implements ComponentInterface {\r\n private labelContent: HTMLSpanElement | undefined;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n @Element()\r\n private host!: HTMLDsoLabelElement;\r\n\r\n /**\r\n * For compact Label\r\n */\r\n @Prop()\r\n compact?: boolean;\r\n\r\n /**\r\n * Shows a button that can be used to remove the Label.\r\n */\r\n @Prop()\r\n removable?: boolean;\r\n\r\n /**\r\n * The status of this Label.\r\n */\r\n @Prop()\r\n status?: \"primary\" | \"info\" | \"success\" | \"warning\" | \"danger\" | \"error\" | \"bright\" | \"attention\";\r\n\r\n /**\r\n * Emitted when the user activates the remove button.\r\n */\r\n @Event()\r\n dsoRemoveClick!: EventEmitter<MouseEvent>;\r\n\r\n @State()\r\n removeHover?: boolean;\r\n\r\n @State()\r\n removeFocus?: boolean;\r\n\r\n /**\r\n * Whether the Label is allowed to truncate the contents if it does not fit the container element.\r\n */\r\n @Prop()\r\n truncate?: boolean;\r\n\r\n @State()\r\n textHover?: boolean;\r\n\r\n @State()\r\n textFocus?: boolean;\r\n\r\n @State()\r\n isTruncated = false;\r\n\r\n @State()\r\n labelText = \"\";\r\n\r\n @Watch(\"removable\")\r\n watchRemovable(removable: boolean) {\r\n if (removable) {\r\n this.startMutationObserver();\r\n } else {\r\n this.stopMutationObserver();\r\n }\r\n }\r\n\r\n @Watch(\"truncate\")\r\n watchTruncate(truncate: boolean) {\r\n if (truncate) {\r\n this.startTruncate();\r\n } else {\r\n this.stopTruncate();\r\n }\r\n }\r\n\r\n @Listen(\"keydown\", { target: \"document\" })\r\n keyDownListener(event: KeyboardEvent) {\r\n if (event.key === \"Escape\") {\r\n this.textHover = false;\r\n this.textFocus = false;\r\n }\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _truncateLabel() {\r\n setTimeout(() => {\r\n this.isTruncated = !!this.labelContent && hasEllipses(this.labelContent);\r\n });\r\n }\r\n\r\n private syncLabelText() {\r\n this.labelText = this.host.textContent?.trim() ?? \"\";\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.truncate) {\r\n this.startTruncate();\r\n }\r\n\r\n if (this.removable) {\r\n this.startMutationObserver();\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n this.stopTruncate();\r\n\r\n this.stopMutationObserver(true);\r\n }\r\n\r\n /** The mutationObserver fetches the text placed inside the label, this is then used for the remove button and tooltip. */\r\n private startMutationObserver(): void {\r\n this.mutationObserver = new MutationObserver(() => this.syncLabelText());\r\n\r\n this.mutationObserver.observe(this.host, {\r\n characterData: true,\r\n childList: true,\r\n subtree: true,\r\n attributes: true,\r\n });\r\n\r\n this.syncLabelText();\r\n }\r\n\r\n private stopMutationObserver(force = false): void {\r\n if (force || !(this.truncate && this.removable)) {\r\n this.mutationObserver?.disconnect();\r\n\r\n delete this.mutationObserver;\r\n }\r\n }\r\n\r\n private startTruncate(): void {\r\n resizeObserver.observe(this.host);\r\n this.startMutationObserver();\r\n this._truncateLabel();\r\n }\r\n\r\n private stopTruncate(): void {\r\n resizeObserver.unobserve(this.host);\r\n this.stopMutationObserver();\r\n this.isTruncated = false;\r\n }\r\n\r\n render() {\r\n return (\r\n <Fragment>\r\n <span\r\n aria-describedby=\"toggle-anchor\"\r\n class={clsx(\"dso-label\", {\r\n [`dso-label-${this.status}`]: this.status,\r\n \"dso-compact\": this.compact && !this.removable,\r\n \"dso-hover\": this.removeHover || this.removeFocus,\r\n })}\r\n >\r\n <slot name=\"symbol\"></slot>\r\n <span\r\n class={clsx(\"dso-label-content\", {\r\n \"dso-truncate\": !!this.truncate,\r\n })}\r\n ref={(element) => (this.labelContent = element)}\r\n tabindex={this.truncate && this.isTruncated ? 0 : undefined}\r\n onMouseEnter={() => (this.textHover = true)}\r\n onMouseLeave={() => (this.textHover = false)}\r\n onFocus={() => (this.textFocus = true)}\r\n onBlur={() => (this.textFocus = false)}\r\n >\r\n <slot></slot>\r\n </span>\r\n {this.removable && (\r\n <button\r\n type=\"button\"\r\n onClick={(e) => this.dsoRemoveClick.emit(e)}\r\n onMouseEnter={() => (this.removeHover = true)}\r\n onMouseLeave={() => (this.removeHover = false)}\r\n onFocus={() => (this.removeFocus = true)}\r\n onBlur={() => (this.removeFocus = false)}\r\n >\r\n <span class=\"sr-only\">Verwijder: {this.labelText}</span>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n </button>\r\n )}\r\n </span>\r\n {this.isTruncated && (\r\n <dso-tooltip\r\n stateless\r\n id=\"toggle-anchor\"\r\n active={this.textHover || this.textFocus}\r\n position=\"top\"\r\n strategy=\"absolute\"\r\n >\r\n {this.labelText}\r\n </dso-tooltip>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n","export function getNodeName(node: Node): string {\r\n if (node instanceof Element) {\r\n return node.localName;\r\n }\r\n\r\n if (node.nodeName.includes(\":\")) {\r\n return node.nodeName.substring(node.nodeName.indexOf(\":\") + 1);\r\n }\r\n\r\n return node.nodeName;\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\nimport clsx from \"clsx\";\r\n\r\nfunction isNestedAl(path: Node[]) {\r\n return path.some((n) => {\r\n const nodeName = getNodeName(n);\r\n\r\n return nodeName === \"Al\" || nodeName === \"Opschrift\";\r\n });\r\n}\r\n\r\nexport class OzonContentAlNode implements OzonContentNode {\r\n name = \"Al\";\r\n\r\n render(node: Element, { mapNodeToJsx, path, inline }: OzonContentNodeContext) {\r\n let content = mapNodeToJsx(node.childNodes);\r\n const wijzigactie = node.getAttribute(\"wijzigactie\");\r\n\r\n const className = clsx({ [`wijzigactie-${wijzigactie}`]: !!wijzigactie }) || undefined;\r\n\r\n if (inline || isNestedAl(path)) {\r\n content = (\r\n <span role=\"paragraph\" class={className}>\r\n {content}\r\n </span>\r\n );\r\n } else {\r\n content = <p class={className}>{content}</p>;\r\n }\r\n\r\n if (wijzigactie === \"voegtoe\") {\r\n content = <ins>{content}</ins>;\r\n } else if (wijzigactie === \"verwijder\") {\r\n content = <del>{content}</del>;\r\n }\r\n\r\n return content;\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentBronNode implements OzonContentNode {\r\n name = \"Bron\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <span class=\"dso-ozon-bron\">{mapNodeToJsx(node.childNodes)}</span>;\r\n }\r\n}\r\n","import { Fragment, h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentDocumentNode implements OzonContentNode {\r\n name = \"#document\";\r\n\r\n render(node: Node, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <Fragment>{mapNodeToJsx(node.childNodes)}</Fragment>;\r\n }\r\n}\r\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe23',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20f0',\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsLowerMisc = '(?:' + rsLower + '|' + rsMisc + ')',\n rsUpperMisc = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptLowerContr = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptUpperContr = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptLowerContr + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsUpperMisc + '+' + rsOptUpperContr + '(?=' + [rsBreak, rsUpper + rsLowerMisc, '$'].join('|') + ')',\n rsUpper + '?' + rsLowerMisc + '+' + rsOptLowerContr,\n rsUpper + '+' + rsOptUpperContr,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 'ss'\n};\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\n/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\n/**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\nvar kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n});\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nmodule.exports = kebabCase;\n","import { h } from \"@stencil/core\";\r\nimport kebabCase from \"lodash.kebabcase\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentExtRefNode implements OzonContentNode {\r\n name = [\"ExtRef\", \"ExtIoRef\"];\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const href = node.tagName === \"ExtIoRef\" ? node.getAttribute(\"href\") : node.getAttribute(\"ref\");\r\n const className = kebabCase(node.tagName);\r\n\r\n return (\r\n <a target=\"_blank\" rel=\"noopener noreferrer\" href={href ?? undefined} class={className}>\r\n <span class=\"sr-only\">opent in nieuw venster </span>\r\n {mapNodeToJsx(node.childNodes)}\r\n <dso-icon icon=\"external-link\"></dso-icon>\r\n </a>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentFallbackNode implements OzonContentNode {\r\n // This name does not match any elements\r\n name = [\"<fallback>\"];\r\n\r\n render(node: Node, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <span class={`fallback od-${getNodeName(node)}`}>{mapNodeToJsx(node.childNodes)}</span>;\r\n }\r\n}\r\n","import { Fragment, h, JSX } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\ntype BijschriftProps = {\r\n bijschrift?: IBijschrift;\r\n bron?: ChildNode;\r\n mapNodeToJsx: (node: Node | NodeList | Node[]) => JSX.Element;\r\n};\r\n\r\ninterface IBijschrift {\r\n inhoud: NodeListOf<ChildNode>;\r\n locatie: string;\r\n}\r\n\r\nconst Bijschrift = ({ bijschrift, bron, mapNodeToJsx }: BijschriftProps): HTMLSpanElement => {\r\n return (\r\n <span class=\"figuur-bijschrift\">\r\n {bijschrift && bijschrift.inhoud && mapNodeToJsx(bijschrift.inhoud)}\r\n {bron && (\r\n <Fragment>\r\n {`${bijschrift ? \" \" : \"\"}(bron: `}\r\n {mapNodeToJsx(bron)})\r\n </Fragment>\r\n )}\r\n </span>\r\n );\r\n};\r\n\r\nexport class OzonContentFiguurNode implements OzonContentNode {\r\n name = [\"Figuur\"];\r\n\r\n setImageDimensions(imageElement: HTMLImageElement, schaal: number) {\r\n const { naturalHeight, naturalWidth } = imageElement;\r\n\r\n imageElement.height = naturalHeight * (schaal / 100);\r\n imageElement.width = naturalWidth * (schaal / 100);\r\n }\r\n\r\n onImageLoad(event: Event, schaal?: number) {\r\n if (event.target instanceof HTMLImageElement && schaal) {\r\n this.setImageDimensions(event.target, schaal);\r\n }\r\n }\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const childNodes = Array.from(node.childNodes);\r\n const titel = childNodes.find((n) => getNodeName(n) === \"Titel\")?.textContent;\r\n const bron = childNodes.find((n) => getNodeName(n) === \"Bron\");\r\n\r\n const illustratieNode = childNodes.find((n) => getNodeName(n) === \"Illustratie\");\r\n const bijschriftNode = childNodes.find((n) => getNodeName(n) === \"Bijschrift\");\r\n\r\n if (illustratieNode instanceof Element) {\r\n const illustratie = {\r\n naam: illustratieNode.getAttribute(\"naam\"),\r\n breedte: illustratieNode.getAttribute(\"breedte\"),\r\n hoogte: illustratieNode.getAttribute(\"hoogte\"),\r\n uitlijning: illustratieNode.getAttribute(\"uitlijning\"),\r\n alt: illustratieNode.getAttribute(\"alt\"),\r\n schaal: illustratieNode.getAttribute(\"schaal\"),\r\n };\r\n\r\n const bijschrift =\r\n bijschriftNode instanceof Element\r\n ? {\r\n inhoud: bijschriftNode.childNodes,\r\n locatie: bijschriftNode.getAttribute(\"locatie\") ?? \"onder\",\r\n }\r\n : undefined;\r\n\r\n return (\r\n <div class={`dso-ozon-figuur ${bijschrift ? `bijschrift-${bijschrift.locatie}` : \"onder\"}`}>\r\n {titel && <span class=\"figuur-titel\">{titel}</span>}\r\n {bijschrift?.locatie === \"boven\" && (\r\n <Bijschrift bijschrift={bijschrift} bron={bron} mapNodeToJsx={mapNodeToJsx} />\r\n )}\r\n <dso-image-overlay>\r\n {titel && (\r\n <div slot=\"titel\">\r\n <span>{titel}</span>\r\n </div>\r\n )}\r\n <img\r\n src={illustratie.naam ?? undefined}\r\n alt={illustratie.alt ?? titel ?? illustratie.naam ?? undefined}\r\n onLoad={(event: Event) => this.onImageLoad(event, Number(illustratie.schaal))}\r\n />\r\n {(bijschrift || bron) && (\r\n <div slot=\"bijschrift\">\r\n <Bijschrift bijschrift={bijschrift} bron={bron} mapNodeToJsx={mapNodeToJsx} />\r\n </div>\r\n )}\r\n </dso-image-overlay>\r\n {(bijschrift?.locatie === \"onder\" || (!bijschrift && bron)) && (\r\n <Bijschrift bijschrift={bijschrift} bron={bron} mapNodeToJsx={mapNodeToJsx} />\r\n )}\r\n </div>\r\n );\r\n }\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentInhoudNode implements OzonContentNode {\r\n name = [\"Inhoud\", \"ContainerBlocksType\", \"BlockMixedcontentMetMaximaleInlinesMarkersPopupsType\"];\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <div class=\"dso-rich-content\">{mapNodeToJsx(node.childNodes)}</div>;\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentInlineTekstAfbeeldingNode implements OzonContentNode {\r\n name = [\"InlineTekstAfbeelding\", \"Illustratie\"];\r\n\r\n render(node: Element) {\r\n return (\r\n <img\r\n src={node.getAttribute(\"naam\") ?? undefined}\r\n alt={node.getAttribute(\"naam\") ?? undefined}\r\n height={node.getAttribute(\"hoogte\") ?? undefined}\r\n width={node.getAttribute(\"breedte\") ?? undefined}\r\n />\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentInlineNodes implements OzonContentNode {\r\n name = [\"sub\", \"sup\", \"strong\", \"b\", \"u\", \"i\", \"br\"];\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n if (node.localName === \"br\") {\r\n return <br />;\r\n }\r\n\r\n const Tag = node.localName;\r\n\r\n return <Tag>{mapNodeToJsx(node.childNodes)}</Tag>;\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentIntIoRefNode implements OzonContentNode {\r\n name = \"IntIoRef\";\r\n\r\n render(node: Element, { mapNodeToJsx, emitAnchorClick }: OzonContentNodeContext) {\r\n const ref = node.getAttribute(\"ref\");\r\n if (!ref) {\r\n return mapNodeToJsx(node.childNodes);\r\n }\r\n\r\n const intRefOnClick = (event: MouseEvent) => {\r\n event.preventDefault();\r\n\r\n const target = event.currentTarget;\r\n if (!(target instanceof HTMLAnchorElement)) {\r\n return;\r\n }\r\n\r\n const { href } = target;\r\n\r\n emitAnchorClick({\r\n node: this.name,\r\n href,\r\n documentComponent: ref,\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n return (\r\n <a href={`#${ref}`} onClick={intRefOnClick}>\r\n {mapNodeToJsx(node.childNodes)}\r\n </a>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentIntRefNode implements OzonContentNode {\r\n name = \"IntRef\";\r\n\r\n render(node: Element, { mapNodeToJsx, emitAnchorClick }: OzonContentNodeContext) {\r\n const ref = node.getAttribute(\"ref\");\r\n if (!ref) {\r\n return mapNodeToJsx(node.childNodes);\r\n }\r\n\r\n const intRefOnClick = (event: MouseEvent) => {\r\n event.preventDefault();\r\n\r\n const target = event.currentTarget;\r\n if (!(target instanceof HTMLAnchorElement)) {\r\n return;\r\n }\r\n\r\n const { href } = target;\r\n\r\n emitAnchorClick({\r\n node: this.name,\r\n href,\r\n documentComponent: ref,\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n return (\r\n <a href={`#${ref}`} onClick={intRefOnClick}>\r\n {mapNodeToJsx(node.childNodes)}\r\n </a>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentLijstNode implements OzonContentNode {\r\n name = \"Lijst\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const childNodes = Array.from(node.childNodes);\r\n const aanhef = childNodes.find((n) => getNodeName(n) === \"Lijstaanhef\");\r\n const sluiting = childNodes.find((n) => getNodeName(n) === \"Lijstsluiting\");\r\n const listItems = childNodes.filter((n) => getNodeName(n) === \"Li\");\r\n\r\n return (\r\n <div class=\"dso-ozon-lijst od-Lijst\">\r\n {aanhef && mapNodeToJsx(aanhef)}\r\n <ul class={node.getAttribute(\"type\") ?? \"\"}>\r\n {listItems.map((item) => {\r\n const itemNodes = Array.from(item.childNodes);\r\n const liNummer = itemNodes.find((n) => getNodeName(n) === \"LiNummer\")?.childNodes;\r\n\r\n return (\r\n <li class=\"od-Li\">\r\n {liNummer && <span class=\"od-LiNummer\">{mapNodeToJsx(liNummer)}</span>}\r\n {mapNodeToJsx(itemNodes.filter((n) => getNodeName(n) !== \"LiNummer\"))}\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n {sluiting && mapNodeToJsx(sluiting)}\r\n </div>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentNieuweTekstNode implements OzonContentNode {\r\n name = \"NieuweTekst\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <ins class=\"nieuwe-tekst\">{mapNodeToJsx(node.childNodes)}</ins>;\r\n }\r\n}\r\n","import { h, Fragment } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentNootNode implements OzonContentNode {\r\n name = \"Noot\";\r\n\r\n handles = [\"NootNummer\"];\r\n\r\n identify(): string | undefined {\r\n return \"Noot\";\r\n }\r\n\r\n render(node: Element, { mapNodeToJsx, state: openNoteId, setState }: OzonContentNodeContext<string | undefined>) {\r\n const noteId = node.getAttribute(\"id\");\r\n if (!noteId) {\r\n console.error(\"Noot node without id\", node);\r\n\r\n return <Fragment />;\r\n }\r\n\r\n const noteControlsId = `dso-ozon-note-${noteId}`;\r\n\r\n const childNodes = Array.from(node.childNodes);\r\n const nootNummer = childNodes.find((n) => getNodeName(n) === \"NootNummer\")?.textContent ?? noteId;\r\n\r\n return (\r\n <>\r\n <sup>\r\n <button\r\n type=\"button\"\r\n class=\"toggle-note\"\r\n aria-describedby={noteControlsId}\r\n onClick={() => setState?.(openNoteId === noteId ? undefined : noteId)}\r\n onBlur={() => setState?.(undefined)}\r\n aria-expanded={openNoteId === noteId ? \"true\" : \"false\"}\r\n >\r\n {nootNummer}\r\n </button>\r\n </sup>\r\n <dso-tooltip active={openNoteId === noteId} id={noteControlsId} stateless descriptive>\r\n <span role=\"section\">{mapNodeToJsx(Array.from(node.querySelectorAll(\":scope > Al\")))}</span>\r\n </dso-tooltip>\r\n </>\r\n );\r\n }\r\n}\r\n","import { h, Fragment } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentOpschriftNode implements OzonContentNode {\r\n name = \"Opschrift\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n let content = mapNodeToJsx(node.childNodes);\r\n const wijzigactie = node.getAttribute(\"wijzigactie\");\r\n\r\n if (wijzigactie === \"voegtoe\") {\r\n content = <ins class=\"nieuwe-tekst\">{content}</ins>;\r\n } else if (wijzigactie === \"verwijder\") {\r\n content = <del class=\"verwijderde-tekst\">{content}</del>;\r\n }\r\n\r\n return <>{content}</>;\r\n }\r\n}\r\n","import { Colspecs } from \"./colspec.interface\";\r\n\r\nexport function mapColspecs(count: number, nodeList: NodeListOf<Element>): Colspecs {\r\n const elements = Array.from(nodeList);\r\n const totalWidth = getTotalWidth(elements);\r\n\r\n return {\r\n totalWidth,\r\n count,\r\n columns: elements.map((element, index) => {\r\n const colNumber = element.getAttribute(\"colnum\");\r\n\r\n return {\r\n name: element.getAttribute(\"colname\") ?? \"\",\r\n number: colNumber ? parseInt(colNumber, 10) : index + 1,\r\n width: getWidth(totalWidth, element),\r\n };\r\n }),\r\n };\r\n}\r\n\r\nfunction getTotalWidth(elements: Element[]): number {\r\n return elements.reduce((totalWidth, element) => {\r\n const width = element.getAttribute(\"colwidth\")?.replace(/[^0-9]/, \"\") ?? \"\";\r\n const colWidth = parseInt(width, 10);\r\n\r\n return totalWidth + (isNaN(colWidth) ? 0 : colWidth);\r\n }, 0);\r\n}\r\n\r\nfunction getWidth(totalWidth: number, element: Element): string | undefined {\r\n const width = element.getAttribute(\"colwidth\");\r\n\r\n if (!width) {\r\n return undefined;\r\n }\r\n\r\n if (width === \"*\") {\r\n return \"100%\";\r\n }\r\n\r\n if (width.includes(\"*\") || width.match(/^[\\d+]$/)) {\r\n const colWidth = parseInt(width.replace(/[^0-9]/, \"\"), 10);\r\n\r\n return `${Math.round((colWidth / totalWidth) * 100)}%`;\r\n }\r\n\r\n return width;\r\n}\r\n","import { Fragment, FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { Colspecs } from \"./colspec/colspec.interface\";\r\n\r\nexport const Colgroup: FunctionalComponent<{ colspecs: Colspecs }> = ({ colspecs }) =>\r\n colspecs.columns.length > 0 ? (\r\n <colgroup>\r\n {colspecs.columns.map((colspec) => (\r\n <col style={{ width: colspec.width }} />\r\n ))}\r\n </colgroup>\r\n ) : (\r\n <Fragment />\r\n );\r\n","import { FunctionalComponent } from \"@stencil/core\";\r\nimport { h, JSXBase } from \"@stencil/core/internal\";\r\n\r\nimport { OzonContentNodeContext } from \"../../ozon-content-node-context.interface\";\r\nimport { Colspecs } from \"./colspec/colspec.interface\";\r\n\r\nfunction getData(cell: Element) {\r\n return {\r\n moreRows: cell.getAttribute(\"morerows\"),\r\n nameStart: cell.getAttribute(\"namest\"),\r\n nameEnd: cell.getAttribute(\"nameend\"),\r\n };\r\n}\r\n\r\nfunction getColspan({ columns }: Colspecs, nameStart: string, nameEnd: string): number | undefined {\r\n const colspecStart = columns.find((c) => c.name === nameStart);\r\n const colspecEnd = columns.find((c) => c.name === nameEnd);\r\n if (!colspecStart || !colspecEnd) {\r\n return undefined;\r\n }\r\n\r\n const colspan = colspecEnd.number - colspecStart.number + 1;\r\n\r\n return colspan === 1 ? undefined : colspan;\r\n}\r\n\r\nexport const Cell: FunctionalComponent<{\r\n context: OzonContentNodeContext;\r\n colspecs: Colspecs | undefined;\r\n cell: Element;\r\n}> = ({ context: { mapNodeToJsx }, colspecs, cell }) => {\r\n const { moreRows, nameStart, nameEnd } = getData(cell);\r\n\r\n const td: JSXBase.TdHTMLAttributes<HTMLTableCellElement> = {\r\n rowSpan: moreRows ? parseInt(moreRows, 10) + 1 : undefined,\r\n colSpan: colspecs && nameStart && nameEnd ? getColspan(colspecs, nameStart, nameEnd) : undefined,\r\n };\r\n\r\n return <td {...td}>{mapNodeToJsx(cell.childNodes)}</td>;\r\n};\r\n","import { Fragment, FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../../ozon-content-node-context.interface\";\r\n\r\nimport { Colspecs } from \"./colspec/colspec.interface\";\r\nimport { Cell } from \"./table-cell\";\r\n\r\nexport const Rows: FunctionalComponent<{\r\n context: OzonContentNodeContext;\r\n colspecs: Colspecs | undefined;\r\n rows: Element[];\r\n}> = ({ context, colspecs, rows }) => {\r\n return (\r\n <>\r\n {rows.map((row) => (\r\n <tr>\r\n {Array.from(row.children).map((cell) => (\r\n <Cell cell={cell} colspecs={colspecs} context={context} />\r\n ))}\r\n </tr>\r\n ))}\r\n </>\r\n );\r\n};\r\n","import { h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { getNodeName } from \"../../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../../ozon-content-node.interface\";\r\n\r\nimport { mapColspecs } from \"./colspec/colspec-mapper\";\r\nimport { Colgroup } from \"./table-colgroup\";\r\nimport { Rows } from \"./table-rows\";\r\n\r\nfunction mapData(node: Element) {\r\n const tgroup = node.querySelector(\":scope > tgroup\");\r\n const colAttribute = tgroup?.getAttribute(\"cols\") ?? undefined;\r\n const columnCount = colAttribute ? parseInt(colAttribute, 10) : undefined;\r\n\r\n return {\r\n caption: node.querySelector(\":scope > title\")?.textContent ?? undefined,\r\n colspecs: tgroup && columnCount ? mapColspecs(columnCount, tgroup.querySelectorAll(\":scope > colspec\")) : undefined,\r\n headRows: Array.from(node.querySelectorAll(\":scope > tgroup > thead > row\")),\r\n bodyRows: Array.from(node.querySelectorAll(\":scope > tgroup > tbody > row\")),\r\n editAction: node.getAttribute(\"wijzigactie\"),\r\n };\r\n}\r\n\r\nexport class OzonContentTableNode implements OzonContentNode {\r\n name = \"table\";\r\n\r\n handles = [\"title\", \"tgroup\", \"colspec\", \"thead\", \"tbody\", \"row\", \"cell\"];\r\n\r\n id = uuidv4();\r\n\r\n render(node: Element, context: OzonContentNodeContext) {\r\n const { caption, colspecs, headRows, bodyRows, editAction } = mapData(node);\r\n\r\n const bron = Array.from(node.childNodes).find((n) => getNodeName(n) === \"Bron\");\r\n\r\n return (\r\n <dso-table>\r\n <table\r\n class={clsx(\"table dso-table-vertical-lines\", {\r\n [`wijzigactie-${editAction}`]: editAction,\r\n })}\r\n {...(bron ? { \"aria-describedby\": this.id } : {})}\r\n >\r\n {caption && <caption>{caption}</caption>}\r\n {colspecs && <Colgroup colspecs={colspecs} />}\r\n {headRows.length > 0 && (\r\n <thead>\r\n <Rows rows={headRows} colspecs={colspecs} context={context}></Rows>\r\n </thead>\r\n )}\r\n {bodyRows.length > 0 && (\r\n <tbody>\r\n <Rows rows={bodyRows} colspecs={colspecs} context={context}></Rows>\r\n </tbody>\r\n )}\r\n </table>\r\n {bron && <div id={this.id}>{context.mapNodeToJsx(bron)}</div>}\r\n </dso-table>\r\n );\r\n }\r\n}\r\n","import { Fragment, h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentTextNode implements OzonContentNode {\r\n name = \"#text\";\r\n\r\n render(node: Node) {\r\n return <Fragment>{node.textContent}</Fragment>;\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentVerwijderdeTekstNode implements OzonContentNode {\r\n name = \"VerwijderdeTekst\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <del class=\"verwijderde-tekst\">{mapNodeToJsx(node.childNodes)}</del>;\r\n }\r\n}\r\n","import { Fragment, h, JSX } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"./get-node-name.function\";\r\nimport { OzonContentAlNode } from \"./nodes/al.node\";\r\nimport { OzonContentBronNode } from \"./nodes/bron.node\";\r\nimport { OzonContentDocumentNode } from \"./nodes/document.node\";\r\nimport { OzonContentExtRefNode } from \"./nodes/ext-ref.node\";\r\nimport { OzonContentFallbackNode } from \"./nodes/fallback.node\";\r\nimport { OzonContentFiguurNode } from \"./nodes/figuur.node\";\r\nimport { OzonContentInhoudNode } from \"./nodes/inhoud.node\";\r\nimport { OzonContentInlineTekstAfbeeldingNode } from \"./nodes/inline-tekst-afbeelding.node\";\r\nimport { OzonContentInlineNodes } from \"./nodes/inline.nodes\";\r\nimport { OzonContentIntIoRefNode } from \"./nodes/int-io-ref.node\";\r\nimport { OzonContentIntRefNode } from \"./nodes/int-ref.node\";\r\nimport { OzonContentLijstNode } from \"./nodes/lijst.node\";\r\nimport { OzonContentNieuweTekstNode } from \"./nodes/nieuwe-tekst.node\";\r\nimport { OzonContentNootNode } from \"./nodes/noot.node\";\r\nimport { OzonContentOpschriftNode } from \"./nodes/opschrift.node\";\r\nimport { OzonContentTableNode } from \"./nodes/table.node\";\r\nimport { OzonContentTextNode } from \"./nodes/text.node\";\r\nimport { OzonContentVerwijderdeTekstNode } from \"./nodes/verwijderde-tekst.node\";\r\nimport { OzonContentContext } from \"./ozon-content-context.interface\";\r\nimport { OzonContentNode } from \"./ozon-content-node.interface\";\r\nimport { OzonContentInputType } from \"./ozon-content.interfaces\";\r\n\r\nexport class Mapper {\r\n private mappers: OzonContentNode[] = [\r\n new OzonContentTextNode(),\r\n new OzonContentDocumentNode(),\r\n new OzonContentInhoudNode(),\r\n new OzonContentOpschriftNode(),\r\n new OzonContentIntRefNode(),\r\n new OzonContentExtRefNode(),\r\n new OzonContentAlNode(),\r\n new OzonContentInlineNodes(),\r\n new OzonContentInlineTekstAfbeeldingNode(),\r\n new OzonContentNootNode(),\r\n new OzonContentTableNode(),\r\n new OzonContentIntIoRefNode(),\r\n new OzonContentFiguurNode(),\r\n new OzonContentLijstNode(),\r\n new OzonContentBronNode(),\r\n new OzonContentNieuweTekstNode(),\r\n new OzonContentVerwijderdeTekstNode(),\r\n ];\r\n\r\n private skip = this.mappers.reduce<string[]>((t, m) => {\r\n if (m.handles) {\r\n t.push(...m.handles);\r\n }\r\n\r\n return t;\r\n }, []);\r\n\r\n private fallbackNode = new OzonContentFallbackNode();\r\n\r\n private domParser?: DOMParser;\r\n\r\n private findMapper(name: string): OzonContentNode | undefined {\r\n if (this.skip.includes(name)) {\r\n return undefined;\r\n }\r\n\r\n return (\r\n this.mappers.find((m) => {\r\n if (Array.isArray(m.name)) {\r\n return m.name.includes(name);\r\n }\r\n\r\n return m.name === name;\r\n }) ?? this.fallbackNode\r\n );\r\n }\r\n\r\n mapNodeToJsx(node: Node | Node[] | NodeList, context: OzonContentContext, path: Node[]): JSX.Element {\r\n if (node instanceof NodeList) {\r\n return <Fragment>{Array.from(node).map((n) => this.mapNodeToJsx(n, context, path))}</Fragment>;\r\n }\r\n\r\n if (Array.isArray(node)) {\r\n return <Fragment>{node.map((n) => this.mapNodeToJsx(n, context, path))}</Fragment>;\r\n }\r\n\r\n const nodeName = getNodeName(node);\r\n const mapper = this.findMapper(nodeName);\r\n if (!mapper) {\r\n return <Fragment />;\r\n }\r\n\r\n const identity = mapper.identify?.(node);\r\n\r\n const state = identity ? context.state[identity] : undefined;\r\n const setState = identity ? (s: unknown) => context.setState({ ...context.state, [identity]: s }) : undefined;\r\n\r\n return mapper.render(node, {\r\n inline: context.inline,\r\n mapNodeToJsx: (n) => this.mapNodeToJsx(n, context, [...path, node]),\r\n emitAnchorClick: context.emitAnchorClick,\r\n setState,\r\n state,\r\n path,\r\n });\r\n }\r\n\r\n transform(input: OzonContentInputType | undefined, context: OzonContentContext): JSX.Element {\r\n if (!input) {\r\n return <Fragment />;\r\n }\r\n\r\n const document = this.inputToXmlDocument(input);\r\n if (document.querySelector(\"parsererror\")) {\r\n console.error({\r\n message: \"[DSO Toolkit: Ozon Content Mapper] Unable to parse XML\",\r\n context,\r\n input,\r\n document,\r\n });\r\n\r\n return <Fragment />;\r\n }\r\n\r\n return this.mapNodeToJsx(document.getRootNode(), context, []);\r\n }\r\n\r\n private inputToXmlDocument(input: OzonContentInputType): XMLDocument {\r\n if (input instanceof XMLDocument) {\r\n return input;\r\n }\r\n\r\n if (typeof input === \"string\") {\r\n this.domParser ??= new DOMParser();\r\n\r\n return this.domParser.parseFromString(input, \"text/xml\");\r\n }\r\n\r\n return document.implementation.createDocument(null, null);\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/components/anchor\";\r\n@use \"~dso-toolkit/src/components/button/button\";\r\n@use \"~dso-toolkit/src/components/button/button.mixins\" as button-mixins;\r\n@use \"~dso-toolkit/src/components/insert\";\r\n@use \"~dso-toolkit/src/components/delete\";\r\n@use \"~dso-toolkit/src/components/rich-content\";\r\n@use \"~dso-toolkit/src/components/superscript/superscript\";\r\n@use \"~dso-toolkit/src/components/subscript/subscript\";\r\n@use \"~dso-toolkit/src/components/table/table\";\r\n\r\n:host(:not([inline])) {\r\n display: block;\r\n}\r\n\r\n:host([inline]) {\r\n display: inline;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\nbutton.toggle-note {\r\n @include button-mixins.tertiary($modifiers: false);\r\n}\r\n\r\nspan[role=\"section\"],\r\nspan[role=\"paragraph\"] {\r\n display: block;\r\n}\r\n\r\n:host(:not([inline])) .fallback {\r\n display: block;\r\n}\r\n\r\na {\r\n @include anchor.root();\r\n}\r\n\r\n// Styling below copied from DSO Viewer 20211011\r\n\r\n.od-Term {\r\n font-weight: 700;\r\n}\r\n\r\n.od-Definitie,\r\n.od-Tussenkop {\r\n font-style: italic;\r\n}\r\n\r\n.od-Inhoud,\r\n.od-Inhoud > .od-Lijst,\r\n.od-IntIoRef,\r\n.od-Lidnr,\r\n.od-LiNr,\r\n.od-Opschrift,\r\n.od-Tussenkop {\r\n display: inline;\r\n}\r\n\r\n.od-Al {\r\n margin-bottom: 0.75em;\r\n}\r\n\r\n.od-IntIoRef {\r\n border-bottom: 1px dotted;\r\n}\r\n\r\n.dso-ozon-bron {\r\n font-style: italic;\r\n font-size: 0.75rem;\r\n}\r\n\r\n.dso-ozon-figuur {\r\n margin-bottom: units.$u1;\r\n\r\n .figuur-bijschrift {\r\n display: block;\r\n font-size: 0.75rem;\r\n font-style: italic;\r\n }\r\n\r\n &.bijschrift-boven {\r\n .figuur-bijschrift {\r\n padding-bottom: 0.25rem;\r\n }\r\n }\r\n\r\n &.bijschrift-onder {\r\n .figuur-bijschrift {\r\n padding-top: 0.25rem;\r\n }\r\n }\r\n\r\n .figuur-titel {\r\n color: colors.$mauve;\r\n display: block;\r\n font-weight: 500;\r\n padding-bottom: 0.5rem;\r\n }\r\n}\r\n\r\n.dso-ozon-lijst {\r\n span.od-Lijstaanhef,\r\n span.od-Lijstsluiting {\r\n margin-bottom: units.$u1;\r\n }\r\n\r\n ul {\r\n margin-bottom: units.$u1 !important;\r\n margin-top: units.$u1;\r\n\r\n p {\r\n margin-bottom: units.$u1;\r\n }\r\n\r\n &.expliciet {\r\n list-style: none;\r\n\r\n > .od-Li {\r\n position: relative;\r\n\r\n > span.od-LiNummer {\r\n position: absolute;\r\n left: units.$u6 * -1 + 4;\r\n text-align: right;\r\n width: units.$u5;\r\n }\r\n }\r\n }\r\n }\r\n\r\n p {\r\n margin: 0;\r\n }\r\n}\r\n\r\n.od-Tabel thead {\r\n font-weight: 600;\r\n}\r\n\r\n.od-Kadertekst {\r\n border: 1px solid #e5e5e5;\r\n margin-bottom: units.$u1;\r\n padding: units.$u1;\r\n}\r\n\r\np,\r\nspan[role=\"paragraph\"],\r\ntable {\r\n &.wijzigactie-voegtoe {\r\n @include insert.root();\r\n }\r\n\r\n &.wijzigactie-verwijder {\r\n @include delete.root();\r\n }\r\n}\r\n\r\nins.nieuwe-tekst {\r\n @include insert.element();\r\n @include insert.root();\r\n}\r\n\r\ndel.verwijderde-tekst {\r\n @include delete.root();\r\n}\r\n\r\n.dso-rich-content {\r\n @include rich-content.children();\r\n}\r\n","import {\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Event,\r\n EventEmitter,\r\n Prop,\r\n State,\r\n Fragment,\r\n JSX,\r\n Watch,\r\n} from \"@stencil/core\";\r\n\r\nimport { Mapper } from \"./ozon-content-mapper\";\r\nimport { OzonContentContext } from \"./ozon-content-context.interface\";\r\nimport { OzonContentAnchorClickEvent, OzonContentInputType } from \"./ozon-content.interfaces\";\r\nimport { OzonContentNodeState } from \"./ozon-content-node-state.interface\";\r\n\r\nconst mapper = new Mapper();\r\n\r\n@Component({\r\n tag: \"dso-ozon-content\",\r\n styleUrl: \"ozon-content.scss\",\r\n shadow: true,\r\n})\r\nexport class OzonContent implements ComponentInterface {\r\n /**\r\n * The XML to be rendered.\r\n */\r\n @Prop()\r\n content?: OzonContentInputType;\r\n\r\n /**\r\n * Setting this property creates dso-ozon-content as inline element instead of a block element.\r\n */\r\n @Prop({ reflect: true })\r\n inline = false;\r\n\r\n /**\r\n * Emitted when `<a>` is clicked.\r\n */\r\n @Event()\r\n dsoAnchorClick!: EventEmitter<OzonContentAnchorClickEvent>;\r\n\r\n @Watch(\"content\")\r\n contentWatcher() {\r\n this.state = {};\r\n }\r\n\r\n @State()\r\n state: OzonContentNodeState = {};\r\n\r\n render(): JSX.Element {\r\n const context: OzonContentContext = {\r\n state: this.state,\r\n inline: this.inline,\r\n setState: (state) => (this.state = state),\r\n emitAnchorClick: this.dsoAnchorClick.emit,\r\n };\r\n\r\n const transformed = mapper.transform(this.content, context);\r\n\r\n return <Fragment>{transformed}</Fragment>;\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as e,c as s,h as t,F as l,f as o,a as c}from"./p-3ca5b6f4.js";import{c as a}from"./p-c87b4d11.js";const i=":host{display:block;background-color:#f2f2f2;color:#000;padding:16px 32px 16px 16px;position:relative}:host>button{background-color:transparent;border-style:none;padding:0;position:absolute;right:8px;top:8px}:host(:not([active]):not([fixed])){display:none}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}*,*::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}";const d=class{constructor(t){e(this,t);this.dsoClose=s(this,"dsoClose",7);this.fixed=undefined;this.active=undefined}render(){return t(l,null,t("slot",null),!this.fixed&&t("button",{type:"button",onClick:e=>this.dsoClose.emit(e)},t("dso-icon",{icon:"times"}),t("span",{class:"sr-only"},"Sluiten")))}};d.style=i;function n(){return Math.random().toString(16).slice(-4)}function b(e){return`${e}-${n()}${n()}-${n()}-${n()}-${n()}-${n()}${n()}${n()}`}const r='.sc-dso-selectable-h{position:relative;display:var(--dso-selectable-display, block)}.sc-dso-selectable-h .dso-selectable-options.sc-dso-selectable{list-style:none;margin-top:8px;padding-left:0}.sc-dso-selectable-h .dso-selectable-options.sc-dso-selectable li.sc-dso-selectable+li.sc-dso-selectable{margin-top:8px}.sc-dso-selectable-h label.sc-dso-selectable{font-weight:400;line-height:24px;margin:0}.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable:focus+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable:focus+label.sc-dso-selectable::before{background-color:#fff;box-shadow:0 0 0 2px #e5e5e5}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable{height:24px;left:0;margin:0;opacity:0;position:absolute;top:0;width:24px;z-index:100;zoom:1}@media (prefers-contrast: more){.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable{opacity:1}}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:not([disabled]),.sc-dso-selectable-h input[type=radio].sc-dso-selectable:not([disabled]){cursor:pointer}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable{display:inline;font-style:normal;padding-left:0}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::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}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:focus,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:focus{outline:0}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:focus+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:focus+label.sc-dso-selectable::before{box-shadow:0 0 0 3px var(--dso-selectable-color, #275937);height:18px;left:3px;top:3px;width:18px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox].active.sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].active.sc-dso-selectable+label.sc-dso-selectable::before{background-color:#ebf3e6;box-shadow:0 0 0 1px #275937;height:22px;left:1px;top:1px;width:22px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::before{border-radius:4px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::after{background:transparent;content:"";left:6px;opacity:0;position:absolute;top:6px;zoom:1}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:checked+label.sc-dso-selectable::after,.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:indeterminate+label.sc-dso-selectable::after{opacity:1}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:checked+label.sc-dso-selectable::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}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:indeterminate+label.sc-dso-selectable::after{background-color:var(--dso-selectable-color, #39870c);height:12px;width:12px}.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::before{border-radius:50%}.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::after{background-color:transparent;border-radius:50%;content:"";height:12px;left:6px;opacity:0;position:absolute;top:6px;width:12px;zoom:1}.sc-dso-selectable-h input[type=radio].sc-dso-selectable:checked+label.sc-dso-selectable::after{background-color:var(--dso-selectable-color, #39870c);opacity:1}.sc-dso-selectable-h>dso-info.sc-dso-selectable{float:none;margin:8px 16px 0 0;width:100%}[invalid].sc-dso-selectable-h:not([invalid=false]){--dso-selectable-color:#ce3f51}.sc-dso-selectable-h:not(:last-child){margin-bottom:8px}*.sc-dso-selectable,*.sc-dso-selectable::after,*.sc-dso-selectable::before{box-sizing:border-box}.dso-selectable-container.sc-dso-selectable{display:inline-block;position:relative;padding-inline-start:32px}.dso-selectable-container.has-info-button.sc-dso-selectable{padding-inline-end:32px}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable{display:inline-block;min-height:24px}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable:focus-within.dso-keyboard-focus{border-radius:2px;outline-offset:3px;outline:3px solid #008ccc}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable input[type=radio].sc-dso-selectable:focus+label.sc-dso-selectable::before,.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable input[type=checkbox].sc-dso-selectable:focus+label.sc-dso-selectable::before{box-shadow:0 0 0 2px var(--dso-selectable-color, #275937);height:20px;left:2px;top:2px;width:20px}dso-info-button.sc-dso-selectable{position:absolute;right:0;top:0}';const p=class{constructor(t){e(this,t);this.dsoChange=s(this,"dsoChange",7);this.fallbackIdentifier=b("DsoSelectable");this.handleOnChange=e=>{const{target:s}=e;this.dsoChange.emit({originalEvent:e,checked:s instanceof HTMLInputElement&&s.checked})};this.type=undefined;this.identifier=undefined;this.name=undefined;this.value=undefined;this.invalid=undefined;this.describedById=undefined;this.labelledById=undefined;this.disabled=undefined;this.required=undefined;this.checked=undefined;this.indeterminate=undefined;this.infoFixed=undefined;this.infoActive=false;this.keyboardFocus=false}async toggleInfo(e){this.infoActive=e!==null&&e!==void 0?e:!this.infoActive}componentDidLoad(){var e;(e=this.mutationObserver)===null||e===void 0?void 0:e.disconnect();this.mutationObserver=new MutationObserver((()=>o(this.host)));this.mutationObserver.observe(this.host,{childList:true});this.setIndeterminate()}disconnectedCallback(){var e;(e=this.mutationObserver)===null||e===void 0?void 0:e.disconnect()}setIndeterminate(){if(!(this.input instanceof HTMLInputElement)||this.type!=="checkbox"){return}this.input.indeterminate=!!this.indeterminate}render(){var e;const s=!!this.host.querySelector('[slot="info"]');return t(l,null,t("div",{class:a("dso-selectable-container",{"has-info-button":s})},t("div",{class:a("dso-selectable-input-wrapper",{"dso-keyboard-focus":this.keyboardFocus})},t("input",{type:this.type,id:this.getIdentifier(),value:this.value,name:this.name,"aria-invalid":(e=this.invalid)===null||e===void 0?void 0:e.toString(),"aria-describedby":s&&this.infoFixed?this.describedById:undefined,"aria-labelledBy":this.labelledById,disabled:this.disabled,required:this.required,checked:this.checked,onChange:this.handleOnChange,onBlur:()=>this.keyboardFocus=false,onKeyUp:()=>this.keyboardFocus=true,ref:e=>this.input=e}),!this.labelledById?t("label",{htmlFor:this.getIdentifier()},t("slot",null)):t("label",null)),s&&t(l,null,!this.infoFixed&&t("dso-info-button",{active:this.infoActive,onDsoToggle:e=>this.infoActive=e.detail.active}))),s&&t("dso-info",{id:s&&this.infoFixed?this.describedById:undefined,fixed:this.infoFixed,active:this.infoActive,onDsoClose:()=>this.infoActive=false},t("div",null,t("slot",{name:"info"}))))}getIdentifier(){var e;return(e=this.identifier)!==null&&e!==void 0?e:this.fallbackIdentifier}get host(){return c(this)}static get watchers(){return{indeterminate:["setIndeterminate"]}}};p.style=r;export{d as dso_info,p as dso_selectable};
2
- //# sourceMappingURL=p-a91673a9.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["infoCss","Info","render","h","Fragment","this","fixed","type","onClick","e","dsoClose","emit","icon","class","chr4","Math","random","toString","slice","createIdentifier","prefix","selectableCss","Selectable","fallbackIdentifier","handleOnChange","target","dsoChange","originalEvent","checked","HTMLInputElement","toggleInfo","active","infoActive","componentDidLoad","_a","mutationObserver","disconnect","MutationObserver","forceUpdate","host","observe","childList","setIndeterminate","disconnectedCallback","input","indeterminate","hasInfo","querySelector","clsx","keyboardFocus","id","getIdentifier","value","name","invalid","infoFixed","describedById","undefined","labelledById","disabled","required","onChange","onBlur","onKeyUp","ref","el","htmlFor","onDsoToggle","detail","onDsoClose","identifier"],"sources":["src/components/info/info.scss?tag=dso-info&encapsulation=shadow","src/components/info/info.tsx","src/utils/create-identifier.ts","src/components/selectable/selectable.scss?tag=dso-selectable&encapsulation=scoped","src/components/selectable/selectable.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/info\";\r\n\r\n:host {\r\n display: block;\r\n\r\n @include info.root();\r\n}\r\n\r\n:host(:not([active]):not([fixed])) {\r\n display: none;\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n","import { h, Component, Event, Prop, EventEmitter, Fragment } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"dso-info\",\r\n styleUrl: \"./info.scss\",\r\n shadow: true,\r\n})\r\nexport class Info {\r\n /**\r\n * Set to true if the Info should not be toggled and always visible.\r\n */\r\n @Prop({ reflect: true })\r\n fixed?: boolean;\r\n\r\n /**\r\n * Whether the Info is active.\r\n */\r\n @Prop({ reflect: true })\r\n active?: boolean;\r\n\r\n /**\r\n * Emitted when the user activates the close button.\r\n */\r\n @Event()\r\n dsoClose!: EventEmitter<MouseEvent>;\r\n\r\n render() {\r\n return (\r\n <Fragment>\r\n <slot></slot>\r\n {!this.fixed && (\r\n <button type=\"button\" onClick={(e) => this.dsoClose.emit(e)}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Sluiten</span>\r\n </button>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n","/**\r\n * Form random hash\r\n */\r\nexport function chr4() {\r\n return Math.random().toString(16).slice(-4);\r\n}\r\n\r\n/**\r\n * Create random identifier with a prefix\r\n * @param prefix\r\n */\r\nexport function createIdentifier(prefix: string): string {\r\n return `${prefix}-${chr4()}${chr4()}-${chr4()}-${chr4()}-${chr4()}-${chr4()}${chr4()}${chr4()}`;\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/selectable\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n @include selectable.root(\"dso-info\", false);\r\n\r\n &[invalid]:not([invalid=\"false\"]) {\r\n @include selectable.invalid();\r\n }\r\n}\r\n\r\n:host(:not(:last-child)) {\r\n @include selectable.notLastChild();\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.dso-selectable-container {\r\n display: inline-block;\r\n position: relative;\r\n padding-inline-start: units.$u4;\r\n\r\n &.has-info-button {\r\n padding-inline-end: units.$u4;\r\n }\r\n\r\n .dso-selectable-input-wrapper {\r\n display: inline-block;\r\n min-height: units.$u3;\r\n\r\n &:focus-within.dso-keyboard-focus {\r\n @include utilities.focus-outline();\r\n }\r\n\r\n input[type=\"radio\"],\r\n input[type=\"checkbox\"] {\r\n &:focus + label::before {\r\n @include selectable.selectableBoxShadow(\r\n selectable.$border-width,\r\n var(--dso-selectable-color, selectable.$valid-color)\r\n );\r\n }\r\n }\r\n }\r\n}\r\n\r\ndso-info-button {\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n}\r\n","import {\r\n h,\r\n Component,\r\n Prop,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Element,\r\n State,\r\n forceUpdate,\r\n Watch,\r\n Method,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { createIdentifier } from \"../../utils/create-identifier\";\r\nimport { SelectableChangeEvent } from \"./selectable.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-selectable\",\r\n styleUrl: \"selectable.scss\",\r\n scoped: true,\r\n})\r\nexport class Selectable {\r\n /**\r\n * Type of Selectable.\r\n *\r\n * `checkbox`: Multiple options\r\n * `radio`: Single option.\r\n */\r\n @Prop()\r\n type!: \"checkbox\" | \"radio\";\r\n\r\n /**\r\n * To set `<input id>` attribute for external references.\r\n */\r\n @Prop()\r\n identifier?: string;\r\n\r\n /**\r\n * Name of the Selectable. Can be used to group Selectables.\r\n */\r\n @Prop()\r\n name?: string;\r\n\r\n /**\r\n * The value of the Selectable.\r\n */\r\n @Prop()\r\n value!: string;\r\n\r\n /**\r\n * Set to true of the current value is not valid.\r\n */\r\n @Prop()\r\n invalid?: boolean;\r\n\r\n /**\r\n * To link this control to an element that describes it.\r\n */\r\n @Prop()\r\n describedById?: string;\r\n\r\n /**\r\n * To link this control to an element that labels it.\r\n */\r\n @Prop()\r\n labelledById?: string;\r\n\r\n /**\r\n * To disable the Selectable.\r\n */\r\n @Prop()\r\n disabled?: boolean;\r\n\r\n /**\r\n * To mark the Selectable as required.\r\n */\r\n @Prop()\r\n required?: boolean;\r\n\r\n /**\r\n * Mark the Selectable as checked\r\n */\r\n @Prop()\r\n checked?: boolean;\r\n\r\n /**\r\n * An indeterminate state is neither true or false. It means the answer is somewhere in between.\r\n *\r\n * Can be used to indicate child Selectables that are a mix of checked and unchecked.\r\n */\r\n @Prop()\r\n indeterminate?: boolean;\r\n\r\n /**\r\n * Set to true if the Info should not be toggled and always visible.\r\n */\r\n @Prop()\r\n infoFixed?: boolean;\r\n\r\n /**\r\n * Emitted when the user checks or unchecks the Selectable.\r\n */\r\n @Event()\r\n dsoChange!: EventEmitter<SelectableChangeEvent>;\r\n\r\n @Element()\r\n host!: HTMLDsoSelectableElement;\r\n\r\n @State()\r\n infoActive = false;\r\n\r\n @State()\r\n keyboardFocus = false;\r\n\r\n /**\r\n * Method to toggle the Info. Is set to `active` when passed.\r\n *\r\n * If `active` is not passed, Info is toggled to opposite value.\r\n * @param active\r\n */\r\n @Method()\r\n async toggleInfo(active?: boolean) {\r\n this.infoActive = active ?? !this.infoActive;\r\n }\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private fallbackIdentifier = createIdentifier(\"DsoSelectable\");\r\n\r\n private input: HTMLInputElement | undefined;\r\n\r\n private handleOnChange = (e: Event) => {\r\n const { target } = e;\r\n\r\n this.dsoChange.emit({\r\n originalEvent: e,\r\n checked: target instanceof HTMLInputElement && target.checked,\r\n });\r\n };\r\n\r\n componentDidLoad() {\r\n this.mutationObserver?.disconnect();\r\n\r\n this.mutationObserver = new MutationObserver(() => forceUpdate(this.host));\r\n this.mutationObserver.observe(this.host, {\r\n childList: true,\r\n });\r\n\r\n this.setIndeterminate();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.mutationObserver?.disconnect();\r\n }\r\n\r\n @Watch(\"indeterminate\")\r\n setIndeterminate() {\r\n if (!(this.input instanceof HTMLInputElement) || this.type !== \"checkbox\") {\r\n return;\r\n }\r\n\r\n this.input.indeterminate = !!this.indeterminate;\r\n }\r\n\r\n render() {\r\n const hasInfo = !!this.host.querySelector('[slot=\"info\"]');\r\n\r\n return (\r\n <Fragment>\r\n <div class={clsx(\"dso-selectable-container\", { \"has-info-button\": hasInfo })}>\r\n <div class={clsx(\"dso-selectable-input-wrapper\", { \"dso-keyboard-focus\": this.keyboardFocus })}>\r\n <input\r\n type={this.type}\r\n id={this.getIdentifier()}\r\n value={this.value}\r\n name={this.name}\r\n aria-invalid={this.invalid?.toString()}\r\n aria-describedby={hasInfo && this.infoFixed ? this.describedById : undefined}\r\n aria-labelledBy={this.labelledById}\r\n disabled={this.disabled}\r\n required={this.required}\r\n checked={this.checked}\r\n onChange={this.handleOnChange}\r\n onBlur={() => (this.keyboardFocus = false)}\r\n onKeyUp={() => (this.keyboardFocus = true)}\r\n ref={(el) => (this.input = el)}\r\n />\r\n {!this.labelledById ? (\r\n <label htmlFor={this.getIdentifier()}>\r\n <slot></slot>\r\n </label>\r\n ) : (\r\n <label></label>\r\n )}\r\n </div>\r\n {hasInfo && (\r\n <Fragment>\r\n {!this.infoFixed && (\r\n <dso-info-button\r\n active={this.infoActive}\r\n onDsoToggle={(e) => (this.infoActive = e.detail.active)}\r\n ></dso-info-button>\r\n )}\r\n </Fragment>\r\n )}\r\n </div>\r\n {hasInfo && (\r\n <dso-info\r\n id={hasInfo && this.infoFixed ? this.describedById : undefined}\r\n fixed={this.infoFixed}\r\n active={this.infoActive}\r\n onDsoClose={() => (this.infoActive = false)}\r\n >\r\n <div>\r\n <slot name=\"info\"></slot>\r\n </div>\r\n </dso-info>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n\r\n private getIdentifier(): string {\r\n return this.identifier ?? this.fallbackIdentifier;\r\n }\r\n}\r\n"],"mappings":"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"}