@dso-toolkit/core 65.0.2 → 65.1.1

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 (116) hide show
  1. package/dist/cjs/dso-alert_6.cjs.entry.js +4 -13
  2. package/dist/cjs/dso-alert_6.cjs.entry.js.map +1 -1
  3. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js +2 -2
  4. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js.map +1 -1
  5. package/dist/cjs/dso-info_2.cjs.entry.js +1 -1
  6. package/dist/cjs/dso-label_2.cjs.entry.js +1 -1
  7. package/dist/cjs/dso-renvooi_2.cjs.entry.js +19 -16
  8. package/dist/cjs/dso-renvooi_2.cjs.entry.js.map +1 -1
  9. package/dist/cjs/dso-responsive-element.cjs.entry.js +1 -1
  10. package/dist/cjs/dso-scrollable.cjs.entry.js +2 -2
  11. package/dist/cjs/dso-tabs.cjs.entry.js +1 -1
  12. package/dist/cjs/dso-toggletip.cjs.entry.js +1 -1
  13. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  14. package/dist/cjs/dso-tree-view.cjs.entry.js +1 -1
  15. package/dist/cjs/dso-viewer-grid.cjs.entry.js +1 -1
  16. package/dist/cjs/dsot-document-component-demo.cjs.entry.js +8 -2
  17. package/dist/cjs/dsot-document-component-demo.cjs.entry.js.map +1 -1
  18. package/dist/cjs/loader.cjs.js +1 -1
  19. package/dist/collection/components/document-component/document-component.css +29 -4
  20. package/dist/collection/components/document-component/document-component.js +2 -2
  21. package/dist/collection/components/document-component/document-component.js.map +1 -1
  22. package/dist/collection/components/document-component-demo/document-component.demo.js +8 -2
  23. package/dist/collection/components/document-component-demo/document-component.demo.js.map +1 -1
  24. package/dist/collection/components/ozon-content/nodes/figuur.node.js +1 -10
  25. package/dist/collection/components/ozon-content/nodes/figuur.node.js.map +1 -1
  26. package/dist/collection/components/ozon-content/ozon-content.css +0 -5
  27. package/dist/collection/components/panel/panel.css +7 -5
  28. package/dist/collection/components/renvooi/renvooi.css +4 -0
  29. package/dist/collection/components/renvooi/renvooi.js +17 -14
  30. package/dist/collection/components/renvooi/renvooi.js.map +1 -1
  31. package/dist/collection/components/responsive-element/responsive-element.js +1 -1
  32. package/dist/collection/components/scrollable/scrollable.js +2 -2
  33. package/dist/collection/components/selectable/selectable.js +1 -1
  34. package/dist/collection/components/slide-toggle/slide-toggle.js +1 -1
  35. package/dist/collection/components/table/table.js +1 -1
  36. package/dist/collection/components/tabs/tabs.js +1 -1
  37. package/dist/collection/components/toggletip/toggletip.js +1 -1
  38. package/dist/collection/components/tooltip/tooltip.js +1 -1
  39. package/dist/collection/components/tree-view/tree-view.js +1 -1
  40. package/dist/collection/components/viewer-grid/viewer-grid.js +1 -1
  41. package/dist/components/document-component.js +3 -3
  42. package/dist/components/document-component.js.map +1 -1
  43. package/dist/components/dso-tabs.js +1 -1
  44. package/dist/components/dso-tree-view.js +1 -1
  45. package/dist/components/dso-viewer-grid.js +1 -1
  46. package/dist/components/dsot-document-component-demo.js +8 -2
  47. package/dist/components/dsot-document-component-demo.js.map +1 -1
  48. package/dist/components/ozon-content.js +2 -11
  49. package/dist/components/ozon-content.js.map +1 -1
  50. package/dist/components/panel.js +1 -1
  51. package/dist/components/panel.js.map +1 -1
  52. package/dist/components/renvooi.js +19 -21
  53. package/dist/components/renvooi.js.map +1 -1
  54. package/dist/components/responsive-element.js +1 -1
  55. package/dist/components/scrollable.js +2 -2
  56. package/dist/components/selectable.js +1 -1
  57. package/dist/components/slide-toggle.js +1 -1
  58. package/dist/components/table.js +1 -1
  59. package/dist/components/toggletip.js +1 -1
  60. package/dist/components/tooltip.js +1 -1
  61. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  62. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  63. package/dist/dso-toolkit/p-0923d70e.entry.js +2 -0
  64. package/dist/dso-toolkit/{p-0c228908.entry.js → p-2548d79d.entry.js} +2 -2
  65. package/dist/dso-toolkit/p-2f044f6f.entry.js +2 -0
  66. package/dist/dso-toolkit/{p-9772e3b6.entry.js → p-2fd338be.entry.js} +2 -2
  67. package/dist/dso-toolkit/p-2fd338be.entry.js.map +1 -0
  68. package/dist/dso-toolkit/{p-2a83ec2c.entry.js → p-373f5f5a.entry.js} +2 -2
  69. package/dist/dso-toolkit/p-3aa57e10.entry.js +2 -0
  70. package/dist/dso-toolkit/p-3aa57e10.entry.js.map +1 -0
  71. package/dist/dso-toolkit/p-68ae3f33.entry.js +2 -0
  72. package/dist/dso-toolkit/p-68ae3f33.entry.js.map +1 -0
  73. package/dist/dso-toolkit/{p-c0460667.entry.js → p-95b8d413.entry.js} +2 -2
  74. package/dist/dso-toolkit/{p-5db11fa4.entry.js → p-ad60872b.entry.js} +2 -2
  75. package/dist/dso-toolkit/{p-e4eed4a2.entry.js → p-c7beb24a.entry.js} +2 -2
  76. package/dist/dso-toolkit/p-d01d8bb1.entry.js +2 -0
  77. package/dist/dso-toolkit/p-d01d8bb1.entry.js.map +1 -0
  78. package/dist/dso-toolkit/{p-85d58afe.entry.js → p-e220ee04.entry.js} +2 -2
  79. package/dist/esm/dso-alert_6.entry.js +4 -13
  80. package/dist/esm/dso-alert_6.entry.js.map +1 -1
  81. package/dist/esm/dso-annotation-locatie_2.entry.js +2 -2
  82. package/dist/esm/dso-annotation-locatie_2.entry.js.map +1 -1
  83. package/dist/esm/dso-info_2.entry.js +1 -1
  84. package/dist/esm/dso-label_2.entry.js +1 -1
  85. package/dist/esm/dso-renvooi_2.entry.js +19 -16
  86. package/dist/esm/dso-renvooi_2.entry.js.map +1 -1
  87. package/dist/esm/dso-responsive-element.entry.js +1 -1
  88. package/dist/esm/dso-scrollable.entry.js +2 -2
  89. package/dist/esm/dso-tabs.entry.js +1 -1
  90. package/dist/esm/dso-toggletip.entry.js +1 -1
  91. package/dist/esm/dso-toolkit.js +1 -1
  92. package/dist/esm/dso-tree-view.entry.js +1 -1
  93. package/dist/esm/dso-viewer-grid.entry.js +1 -1
  94. package/dist/esm/dsot-document-component-demo.entry.js +8 -2
  95. package/dist/esm/dsot-document-component-demo.entry.js.map +1 -1
  96. package/dist/esm/loader.js +1 -1
  97. package/dist/types/components/document-component-demo/document-component.demo.d.ts +1 -0
  98. package/dist/types/components/ozon-content/nodes/figuur.node.d.ts +0 -3
  99. package/package.json +2 -2
  100. package/dist/dso-toolkit/p-18318bd5.entry.js +0 -2
  101. package/dist/dso-toolkit/p-18318bd5.entry.js.map +0 -1
  102. package/dist/dso-toolkit/p-2e413e3d.entry.js +0 -2
  103. package/dist/dso-toolkit/p-34c19fc1.entry.js +0 -2
  104. package/dist/dso-toolkit/p-391deb2a.entry.js +0 -2
  105. package/dist/dso-toolkit/p-391deb2a.entry.js.map +0 -1
  106. package/dist/dso-toolkit/p-54dd8d20.entry.js +0 -2
  107. package/dist/dso-toolkit/p-54dd8d20.entry.js.map +0 -1
  108. package/dist/dso-toolkit/p-9772e3b6.entry.js.map +0 -1
  109. /package/dist/dso-toolkit/{p-2e413e3d.entry.js.map → p-0923d70e.entry.js.map} +0 -0
  110. /package/dist/dso-toolkit/{p-0c228908.entry.js.map → p-2548d79d.entry.js.map} +0 -0
  111. /package/dist/dso-toolkit/{p-34c19fc1.entry.js.map → p-2f044f6f.entry.js.map} +0 -0
  112. /package/dist/dso-toolkit/{p-2a83ec2c.entry.js.map → p-373f5f5a.entry.js.map} +0 -0
  113. /package/dist/dso-toolkit/{p-c0460667.entry.js.map → p-95b8d413.entry.js.map} +0 -0
  114. /package/dist/dso-toolkit/{p-5db11fa4.entry.js.map → p-ad60872b.entry.js.map} +0 -0
  115. /package/dist/dso-toolkit/{p-e4eed4a2.entry.js.map → p-c7beb24a.entry.js.map} +0 -0
  116. /package/dist/dso-toolkit/{p-85d58afe.entry.js.map → p-e220ee04.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["alertCss","DsoAlertStyle0","Alert","render","status","statusMap","get","this","Error","h","key","class","clsx","compact","role","roleAlert","undefined","icon","Map","badgeCss","DsoBadgeStyle0","Badge","imageOverlayCss","DsoImageOverlayStyle0","wijzigactieLabels","verwijder","voegtoe","Dimmer","active","src","alt","ref","click","children","type","onClick","ImageOverlay","titelSlot","bijschriftSlot","loadListener","event","target","HTMLImageElement","setZoomable","connectedCallback","host","querySelector","componentDidLoad","resizeObserver","ResizeObserver","debounce","imgElement","mutationObserver","MutationObserver","e","forceUpdate","_a","_b","disconnect","initZoomableImage","observe","attributes","subtree","attributeFilter","childList","disconnectedCallback","trap","deactivate","_c","complete","imageElement","width","naturalWidth","height","naturalHeight","zoomable","isWijzigactie","wijzigactie","editActionLabel","button","element","buttonElement","Host","focus","wrapperElement","name","hidden","componentDidRender","createFocusTrap","escapeDeactivates","clickOutsideDeactivates","MouseEvent","composedPath","setReturnFocus","onDeactivate","activate","getNodeName","node","Element","localName","nodeName","includes","substring","indexOf","wijzigactieToClassName","parseWijzigactieFromNode","getAttribute","WrapWijzigactie","isNestedAl","path","some","n","OzonContentAlNode","constructor","mapNodeToJsx","inline","content","childNodes","className","OzonContentBronNode","OzonContentDocumentNode","Fragment","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","toString","Symbol","symbolProto","symbolToString","baseToString","value","isSymbol","call","result","createCompounder","callback","words","deburr","replace","isObjectLike","kebabCase","word","toLowerCase","pattern","guard","lodash_kebabcase","OzonContentExtRefNode","href","tagName","rel","OzonContentFallbackNode","Bijschrift","bijschrift","bron","inhoud","OzonContentFiguurNode","Array","from","titel","find","textContent","illustratieNode","bijschriftNode","illustratie","naam","breedte","hoogte","uitlijning","locatie","slot","_f","_e","_d","OzonContentInhoudNode","richContent","OzonContentInlineTekstAfbeeldingNode","OzonContentInlineNodes","Tag","OzonContentIntIoRefNode","emitAnchorClick","intRefOnClick","preventDefault","currentTarget","HTMLAnchorElement","documentComponent","originalEvent","OzonContentIntRefNode","OzonContentLijstNode","parseTypeFromLijstNode","aanhef","sluiting","listItems","filter","map","item","itemNodes","liNummer","liWijzigactie","OzonContentNieuweTekstNode","OzonContentNootNode","handles","identify","state","openNoteId","setState","noteId","console","error","noteControlsId","nootNummer","onBlur","id","stateless","descriptive","querySelectorAll","OzonContentOpschriftNode","mapColspecs","count","nodeList","elements","totalWidth","getTotalWidth","columns","colNumber","colsep","number","parseInt","rowsep","getWidth","reduce","colWidth","isNaN","Math","round","Colgroup","colspecs","colspec","style","getColspecStartColsep","nameStart","colspecStart","c","getColspecStartRowsep","getData","cell","row","parentElement","tgroup","table","moreRows","nameEnd","getColspan","colspecEnd","colspan","Cell","context","rowSpan","colSpan","Rows","rows","mapData","colAttribute","columnCount","caption","headRows","bodyRows","frame","OzonContentTableNode","uuidv4","assign","OzonContentTextNode","mark","emitMarkItemHighlight","highlight","text","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","DsoOzonContentStyle0","OzonContent","handleMarkItemHighlight","elementRef","dsoOzonContentMarkItemHighlight","emit","contentWatcher","dsoAnchorClick","transformed","panelCss","DsoPanelStyle0","Panel","dsoCloseClick","tableCss","DsoTableStyle0","Table","labelledbyId","v4","startResponsiveBehavior","componentWillLoad","entries","setResponsiveTable","setFocusTrap","trim","modalActive","placeholderHeight","focusTrapElement","isResponsive","noModal","display","openModal","closeModal","clientHeight","tabbableOptions","getShadowRoot","dsoTable","tableElement","HTMLTableElement","floor","getBoundingClientRect","contentRect"],"sources":["src/components/alert/alert.scss?tag=dso-alert&encapsulation=shadow","src/components/alert/alert.tsx","src/components/badge/badge.scss?tag=dso-badge&encapsulation=shadow","src/components/badge/badge.tsx","src/components/image-overlay/image-overlay.scss?tag=dso-image-overlay&encapsulation=shadow","src/components/image-overlay/image-overlay.tsx","src/components/ozon-content/get-node-name.function.ts","src/components/ozon-content/functions/wijzigactie-to-class-name.function.ts","src/components/ozon-content/functions/parse-wijzigactie-from-node.function.ts","src/components/ozon-content/functional-components/wrap-wijzigactie.functional-component.tsx","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","src/components/panel/panel.scss?tag=dso-panel&encapsulation=shadow","src/components/panel/panel.tsx","src/components/table/table.scss?tag=dso-table&encapsulation=shadow","src/components/table/table.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-block-start: units.$u3;\r\n}\r\n\r\n:host([compact]:not([compact=\"false\"])) {\r\n position: relative;\r\n @include alert.compact();\r\n}\r\n\r\n:host([status=\"success\"]) {\r\n @include alert.status-success();\r\n}\r\n\r\n:host([status=\"success\"][compact]:not([compact=\"false\"])) {\r\n &::before {\r\n background-color: alert.$success-compact-accent-bg;\r\n }\r\n}\r\n\r\n:host([status=\"error\"]) {\r\n @include alert.status-error();\r\n}\r\n\r\n:host([status=\"error\"][compact]:not([compact=\"false\"])) {\r\n &::before {\r\n background-color: alert.$danger-compact-accent-bg;\r\n }\r\n}\r\n\r\n:host([status=\"warning\"]) {\r\n @include alert.status-warning();\r\n}\r\n\r\n:host([status=\"warning\"][compact]:not([compact=\"false\"])) {\r\n &::before {\r\n background-color: alert.$warning-compact-accent-bg;\r\n }\r\n}\r\n\r\n:host([status=\"info\"]) {\r\n @include alert.status-info();\r\n}\r\n\r\n:host([status=\"info\"][compact]:not([compact=\"false\"])) {\r\n &::before {\r\n background-color: alert.$info-compact-accent-bg;\r\n }\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 block-size: units.$u4;\r\n inline-size: units.$u4;\r\n }\r\n\r\n &.dso-compact {\r\n min-block-size: alert.$inline-padding;\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({ reflect: true })\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 /**\r\n * Show alert as compact variant (without icon)\r\n */\r\n @Prop({ reflect: true })\r\n compact?: 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\r\n class={clsx(\"alert\", `alert-${this.status}`, { \"dso-compact\": this.compact })}\r\n role={this.roleAlert ? \"alert\" : undefined}\r\n >\r\n {!this.compact && <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/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\nimport { BadgeStatus } from \"./badge.interfaces\";\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?: BadgeStatus;\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 \"sass:color\";\r\n\r\n@use \"~dso-toolkit/src/utilities\";\r\n\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/insert\";\r\n@use \"~dso-toolkit/src/components/delete\";\r\n\r\n:host {\r\n display: inline-block;\r\n position: relative;\r\n}\r\n\r\n:host(:hover) .open,\r\n.open:focus {\r\n opacity: 1;\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n.open {\r\n @include button.secondary($modifiers: false, $icon-only: true);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n border: 0;\r\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\r\n min-inline-size: auto;\r\n padding: units.$u1;\r\n opacity: 0;\r\n position: absolute;\r\n inset-inline-end: units.$u2;\r\n inset-block-start: units.$u2;\r\n }\r\n}\r\n\r\n.dimmer {\r\n position: fixed;\r\n inset: 0;\r\n z-index: zindex.$image-overlay - 1;\r\n display: flex;\r\n padding: units.$u4;\r\n background-color: color.scale(colors.$wit, $alpha: -20%);\r\n justify-content: center;\r\n}\r\n\r\n.wrapper {\r\n align-self: center;\r\n box-shadow: 0 units.$u1 units.$u3 0 rgba(25, 25, 25, 0.4);\r\n line-height: 0;\r\n outline: 4px solid colors.$wit;\r\n position: relative;\r\n z-index: zindex.$image-overlay;\r\n\r\n .title {\r\n background-color: colors.$wit;\r\n font-weight: 700;\r\n line-height: initial;\r\n padding: units.$u1;\r\n position: absolute;\r\n }\r\n\r\n img {\r\n inline-size: auto;\r\n block-size: auto;\r\n max-inline-size: 100%;\r\n max-block-size: calc(100vh - units.$u8);\r\n }\r\n\r\n .figuur-bijschrift:not([hidden]) {\r\n display: block;\r\n font-size: 0.75rem;\r\n font-style: italic;\r\n padding-block-end: units.$u1 * 1.5;\r\n padding-block-start: units.$u2;\r\n }\r\n}\r\n\r\n.close {\r\n @include button.secondary($modifiers: false, $icon-only: true);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n border: 0;\r\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\r\n min-inline-size: auto;\r\n padding: units.$u1;\r\n position: absolute;\r\n inset-block-start: units.$u2;\r\n inset-inline-end: units.$u2;\r\n }\r\n}\r\n\r\nins.editaction-add {\r\n display: inline-block;\r\n margin-block-end: units.$u1;\r\n padding: units.$u1;\r\n @include insert.element();\r\n @include insert.root();\r\n\r\n .wrapper {\r\n outline: none;\r\n padding: units.$u1;\r\n @include insert.root();\r\n\r\n .editaction-label {\r\n line-height: 1.5;\r\n }\r\n\r\n .close {\r\n inset-block-start: units.$u6;\r\n }\r\n }\r\n\r\n .open {\r\n inset-block-start: units.$u6;\r\n }\r\n}\r\n\r\ndel.editaction-remove {\r\n display: inline-block;\r\n margin-block-end: units.$u1;\r\n padding: units.$u1;\r\n @include delete.root();\r\n\r\n .wrapper {\r\n outline: none;\r\n padding: units.$u1;\r\n @include delete.root();\r\n\r\n .title {\r\n text-decoration: line-through;\r\n }\r\n\r\n .editaction-label {\r\n line-height: 1.5;\r\n }\r\n\r\n .close {\r\n inset-block-start: units.$u6;\r\n }\r\n }\r\n\r\n .open {\r\n inset-block-start: units.$u6;\r\n }\r\n}\r\n\r\n.editaction-label {\r\n font-style: italic;\r\n margin-block-end: units.$u1;\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n forceUpdate,\r\n FunctionalComponent,\r\n h,\r\n Host,\r\n Listen,\r\n Prop,\r\n State,\r\n} from \"@stencil/core\";\r\nimport debounce from \"debounce\";\r\nimport { createFocusTrap, FocusTrap } from \"focus-trap\";\r\n\r\ntype ImageOverlayWijzigactie = \"voegtoe\" | \"verwijder\";\r\n\r\nconst wijzigactieLabels: { [wijzigactie in ImageOverlayWijzigactie]: string } = {\r\n verwijder: \"Verwijderd\",\r\n voegtoe: \"Toegevoegd\",\r\n};\r\n\r\nconst Dimmer: FunctionalComponent<{\r\n active: boolean;\r\n src: string | undefined;\r\n alt: string | undefined;\r\n ref: (element: HTMLHeadingElement | undefined) => void;\r\n click: () => void;\r\n}> = ({ active, src, alt, ref, click }, children) =>\r\n active &&\r\n src &&\r\n alt && (\r\n <div class=\"dimmer\">\r\n <div class=\"wrapper\" ref={ref}>\r\n {children[2]}\r\n {children[0]}\r\n <img src={src} alt={alt} />\r\n <button type=\"button\" class=\"close\" onClick={click}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span>Sluiten</span>\r\n </button>\r\n {children[1]}\r\n </div>\r\n </div>\r\n );\r\n\r\n@Component({\r\n tag: \"dso-image-overlay\",\r\n styleUrl: \"./image-overlay.scss\",\r\n shadow: true,\r\n})\r\nexport class ImageOverlay implements ComponentInterface {\r\n @Element()\r\n host!: HTMLDsoImageOverlayElement;\r\n\r\n /**\r\n * The wijzigactie.\r\n */\r\n @Prop()\r\n wijzigactie?: string;\r\n\r\n @State()\r\n active = false;\r\n\r\n @State()\r\n zoomable = false;\r\n\r\n private buttonElement: HTMLButtonElement | undefined;\r\n\r\n private wrapperElement: HTMLDivElement | undefined;\r\n\r\n private trap: FocusTrap | undefined;\r\n\r\n private titelSlot: HTMLElement | null = null;\r\n\r\n private bijschriftSlot: HTMLElement | null = null;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private resizeObserver?: ResizeObserver;\r\n\r\n @Listen(\"load\", { capture: true })\r\n loadListener(event: Event) {\r\n if (event.target instanceof HTMLImageElement) {\r\n this.setZoomable(event.target);\r\n }\r\n }\r\n\r\n connectedCallback() {\r\n this.titelSlot = this.host.querySelector<HTMLDivElement>(\"div[slot='titel']\");\r\n\r\n this.bijschriftSlot = this.host.querySelector<HTMLDivElement>(\"div[slot='bijschrift']\");\r\n }\r\n\r\n componentDidLoad() {\r\n this.resizeObserver = new ResizeObserver(\r\n debounce(() => {\r\n const imgElement = this.host.querySelector(\"img\");\r\n\r\n if (imgElement instanceof HTMLImageElement) {\r\n this.setZoomable(imgElement);\r\n }\r\n }, 200),\r\n );\r\n\r\n this.mutationObserver = new MutationObserver((e) => {\r\n forceUpdate(this.host);\r\n\r\n if (e[0]?.type === \"childList\") {\r\n this.resizeObserver?.disconnect();\r\n // <img> is gone or a new element.\r\n this.initZoomableImage();\r\n }\r\n });\r\n\r\n this.mutationObserver.observe(this.host, {\r\n attributes: true,\r\n subtree: true,\r\n attributeFilter: [\"src\", \"alt\"],\r\n childList: true,\r\n });\r\n\r\n this.initZoomableImage();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.trap?.deactivate();\r\n this.mutationObserver?.disconnect();\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n private initZoomableImage(): void {\r\n const imgElement = this.host.querySelector(\"img\");\r\n\r\n if (!(imgElement instanceof HTMLImageElement)) {\r\n return;\r\n }\r\n\r\n // Due to timing issues where the image is loaded before we listen to load events we double check if the image is already complete.\r\n if (imgElement.complete) {\r\n this.setZoomable(imgElement);\r\n }\r\n\r\n this.resizeObserver?.observe(imgElement);\r\n }\r\n\r\n private setZoomable(imageElement: HTMLImageElement): void {\r\n const { width, naturalWidth, height, naturalHeight } = imageElement;\r\n\r\n this.zoomable = width < naturalWidth || height < naturalHeight;\r\n }\r\n\r\n private isWijzigactie(wijzigactie: string): wijzigactie is ImageOverlayWijzigactie {\r\n return wijzigactie === \"voegtoe\" || wijzigactie === \"verwijder\";\r\n }\r\n\r\n render() {\r\n const { src, alt } = this.host.querySelector(\"img\") ?? {};\r\n\r\n const editActionLabel: string | undefined =\r\n (this.wijzigactie && this.isWijzigactie(this.wijzigactie) && wijzigactieLabels[this.wijzigactie]) || undefined;\r\n\r\n const button = this.zoomable && (\r\n <button\r\n type=\"button\"\r\n class=\"open\"\r\n ref={(element) => (this.buttonElement = element)}\r\n onClick={() => (this.active = true)}\r\n >\r\n <dso-icon icon=\"external-link\"></dso-icon>\r\n <span>Afbeelding vergroot weergeven</span>\r\n </button>\r\n );\r\n\r\n if (this.wijzigactie === \"verwijder\") {\r\n return (\r\n <Host onClick={() => this.buttonElement?.focus()}>\r\n <del class=\"editaction-remove\">\r\n <div class=\"editaction-label\">{editActionLabel}:</div>\r\n <Dimmer\r\n active={this.active}\r\n src={src}\r\n alt={alt}\r\n ref={(element) => (this.wrapperElement = element)}\r\n click={() => (this.active = false)}\r\n >\r\n {this.titelSlot && (\r\n <div class=\"title\">\r\n <slot name=\"titel\" />\r\n </div>\r\n )}\r\n <div class=\"figuur-bijschrift\" hidden={!this.bijschriftSlot}>\r\n <slot name=\"bijschrift\" />\r\n </div>\r\n {<div class=\"editaction-label\">{editActionLabel}:</div>}\r\n </Dimmer>\r\n <slot />\r\n {button}\r\n </del>\r\n </Host>\r\n );\r\n }\r\n\r\n if (this.wijzigactie === \"voegtoe\") {\r\n return (\r\n <Host onClick={() => this.buttonElement?.focus()}>\r\n <ins class=\"editaction-add\">\r\n <div class=\"editaction-label\">{editActionLabel}:</div>\r\n <Dimmer\r\n active={this.active}\r\n src={src}\r\n alt={alt}\r\n ref={(element) => (this.wrapperElement = element)}\r\n click={() => (this.active = false)}\r\n >\r\n {this.titelSlot && (\r\n <div class=\"title\">\r\n <slot name=\"titel\" />\r\n </div>\r\n )}\r\n <div class=\"figuur-bijschrift\" hidden={!this.bijschriftSlot}>\r\n <slot name=\"bijschrift\" />\r\n </div>\r\n {<div class=\"editaction-label\">{editActionLabel}:</div>}\r\n </Dimmer>\r\n <slot />\r\n {button}\r\n </ins>\r\n </Host>\r\n );\r\n }\r\n\r\n return (\r\n <Host onClick={() => this.buttonElement?.focus()}>\r\n <Dimmer\r\n active={this.active}\r\n src={src}\r\n alt={alt}\r\n ref={(element) => (this.wrapperElement = element)}\r\n click={() => (this.active = false)}\r\n >\r\n {this.titelSlot && (\r\n <div class=\"title\">\r\n <slot name=\"titel\" />\r\n </div>\r\n )}\r\n <div class=\"figuur-bijschrift\" hidden={!this.bijschriftSlot}>\r\n <slot name=\"bijschrift\" />\r\n </div>\r\n </Dimmer>\r\n <slot />\r\n {button}\r\n </Host>\r\n );\r\n }\r\n\r\n componentDidRender() {\r\n if (this.active && this.wrapperElement && !this.trap) {\r\n this.trap = createFocusTrap(this.wrapperElement, {\r\n escapeDeactivates: true,\r\n clickOutsideDeactivates: (e) => {\r\n if (e instanceof MouseEvent && e.composedPath()[0] === this.wrapperElement) {\r\n this.active = false;\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n },\r\n setReturnFocus: this.buttonElement ?? false,\r\n onDeactivate: () => (this.active = false),\r\n }).activate();\r\n } else if (!this.active && this.trap) {\r\n this.trap?.deactivate();\r\n\r\n delete this.trap;\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 { OzonContentWijzigActie } from \"../ozon-content.interfaces\";\r\n\r\nexport function wijzigactieToClassName(wijzigactie: OzonContentWijzigActie | undefined): string | undefined {\r\n if (wijzigactie === \"voegtoe\") {\r\n return \"editaction-add\";\r\n }\r\n\r\n if (wijzigactie === \"verwijder\") {\r\n return \"editaction-remove\";\r\n }\r\n\r\n return undefined;\r\n}\r\n","import { OzonContentWijzigActie } from \"../ozon-content.interfaces\";\r\n\r\nexport function parseWijzigactieFromNode(node: Node): OzonContentWijzigActie | undefined {\r\n const wijzigactie = node instanceof Element ? node.getAttribute(\"wijzigactie\") : undefined;\r\n\r\n return wijzigactie === \"voegtoe\" || wijzigactie === \"verwijder\" ? wijzigactie : undefined;\r\n}\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\nimport { OzonContentWijzigActie } from \"../ozon-content.interfaces\";\r\n\r\nexport interface WrapWijzigactieProps {\r\n wijzigactie: OzonContentWijzigActie | undefined;\r\n}\r\n\r\nexport const WrapWijzigactie: FunctionalComponent<WrapWijzigactieProps> = ({ wijzigactie }, children) => {\r\n if (wijzigactie === \"voegtoe\") {\r\n return <ins>{children}</ins>;\r\n }\r\n\r\n if (wijzigactie === \"verwijder\") {\r\n return <del>{children}</del>;\r\n }\r\n\r\n return children;\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\nimport { wijzigactieToClassName } from \"../functions/wijzigactie-to-class-name.function\";\r\nimport { parseWijzigactieFromNode } from \"../functions/parse-wijzigactie-from-node.function\";\r\nimport { WrapWijzigactie } from \"../functional-components/wrap-wijzigactie.functional-component\";\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 = parseWijzigactieFromNode(node);\r\n const className = wijzigactieToClassName(wijzigactie);\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 return <WrapWijzigactie wijzigactie={wijzigactie}>{content}</WrapWijzigactie>;\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 {mapNodeToJsx(node.childNodes)} <span class=\"sr-only\">(Opent andere website in nieuw tabblad)</span>\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 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 const wijzigactie = node.getAttribute(\"wijzigactie\") || undefined;\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 };\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 wijzigactie={wijzigactie}>\r\n {titel && (\r\n <div slot=\"titel\">\r\n <span>{titel}</span>\r\n </div>\r\n )}\r\n <img src={illustratie.naam ?? undefined} alt={illustratie.alt ?? titel ?? illustratie.naam ?? undefined} />\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 const wijzigactie = node.getAttribute(\"wijzigactie\");\r\n\r\n const richContent = <div class=\"dso-rich-content\">{mapNodeToJsx(node.childNodes)}</div>;\r\n\r\n if (wijzigactie === \"verwijder\") {\r\n return <del class=\"editaction-remove\">{richContent}</del>;\r\n }\r\n\r\n if (wijzigactie === \"voegtoe\") {\r\n return <ins class=\"editaction-add\">{richContent}</ins>;\r\n }\r\n\r\n return richContent;\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\nimport { parseWijzigactieFromNode } from \"../functions/parse-wijzigactie-from-node.function\";\r\nimport clsx from \"clsx\";\r\nimport { wijzigactieToClassName } from \"../functions/wijzigactie-to-class-name.function\";\r\nimport { WrapWijzigactie } from \"../functional-components/wrap-wijzigactie.functional-component\";\r\n\r\nexport class OzonContentLijstNode implements OzonContentNode {\r\n name = \"Lijst\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const wijzigactie = parseWijzigactieFromNode(node);\r\n const childNodes = Array.from(node.childNodes);\r\n const type = parseTypeFromLijstNode(node);\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 <WrapWijzigactie wijzigactie={wijzigactie}>\r\n <div class={clsx(\"dso-ozon-lijst od-Lijst\", wijzigactieToClassName(wijzigactie))}>\r\n {aanhef && mapNodeToJsx(aanhef)}\r\n <ul class={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 const liWijzigactie = parseWijzigactieFromNode(item);\r\n\r\n return (\r\n <li class={clsx(\"od-Li\", wijzigactieToClassName(liWijzigactie))}>\r\n {liNummer && <span class=\"od-LiNummer\">{mapNodeToJsx(liNummer)}</span>}\r\n <WrapWijzigactie wijzigactie={liWijzigactie}>\r\n {mapNodeToJsx(itemNodes.filter((n) => getNodeName(n) !== \"LiNummer\"))}\r\n </WrapWijzigactie>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n {sluiting && mapNodeToJsx(sluiting)}\r\n </div>\r\n </WrapWijzigactie>\r\n );\r\n }\r\n}\r\n\r\nfunction parseTypeFromLijstNode(node: Node): LijstType | undefined {\r\n const type = node instanceof Element ? node.getAttribute(\"type\") : undefined;\r\n\r\n return type === \"expliciet\" || type === \"ongemarkeerd\" ? type : undefined;\r\n}\r\n\r\ntype LijstType = \"expliciet\" | \"ongemarkeerd\";\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=\"new-text\">{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=\"new-text\">{content}</ins>;\r\n } else if (wijzigactie === \"verwijder\") {\r\n content = <del class=\"removed-text\">{content}</del>;\r\n }\r\n\r\n return <>{content}</>;\r\n }\r\n}\r\n","import { Colspec, 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): Colspec => {\r\n const colNumber = element.getAttribute(\"colnum\");\r\n\r\n return {\r\n colsep: element.getAttribute(\"colsep\"),\r\n name: element.getAttribute(\"colname\") ?? \"\",\r\n number: colNumber ? parseInt(colNumber, 10) : index + 1,\r\n rowsep: element.getAttribute(\"rowsep\"),\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 } from \"@stencil/core/internal\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { OzonContentNodeContext } from \"../../ozon-content-node-context.interface\";\r\nimport { Colspecs } from \"./colspec/colspec.interface\";\r\n\r\nfunction getColspecStartColsep({ columns }: Colspecs, nameStart: string): string | null {\r\n const colspecStart = columns.find((c) => c.name === nameStart);\r\n\r\n return colspecStart ? colspecStart.colsep : null;\r\n}\r\n\r\nfunction getColspecStartRowsep({ columns }: Colspecs, nameStart: string): string | null {\r\n const colspecStart = columns.find((c) => c.name === nameStart);\r\n\r\n return colspecStart ? colspecStart.rowsep : null;\r\n}\r\n\r\nfunction getData(cell: Element, colspecs?: Colspecs) {\r\n const nameStart = cell.getAttribute(\"namest\");\r\n const row = cell.parentElement;\r\n const tgroup = row?.parentElement?.parentElement;\r\n const table = tgroup?.parentElement;\r\n const colsep =\r\n cell.getAttribute(\"colsep\") ||\r\n (colspecs && nameStart ? getColspecStartColsep(colspecs, nameStart) : null) ||\r\n (tgroup && tgroup.getAttribute(\"colsep\")) ||\r\n (table && table.getAttribute(\"colsep\"));\r\n const rowsep =\r\n cell.getAttribute(\"rowsep\") ||\r\n (row && row.getAttribute(\"rowsep\")) ||\r\n (colspecs && nameStart ? getColspecStartRowsep(colspecs, nameStart) : null) ||\r\n (tgroup && tgroup.getAttribute(\"rowsep\")) ||\r\n (table && table.getAttribute(\"rowsep\"));\r\n\r\n return {\r\n moreRows: cell.getAttribute(\"morerows\"),\r\n nameStart,\r\n nameEnd: cell.getAttribute(\"nameend\"),\r\n colsep,\r\n rowsep,\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, colsep, rowsep } = getData(cell, colspecs);\r\n\r\n return (\r\n <td\r\n class={clsx({ \"dso-horizontal-line\": rowsep !== \"0\" }, { \"dso-vertical-line\": colsep !== \"0\" })}\r\n rowSpan={moreRows ? parseInt(moreRows, 10) + 1 : undefined}\r\n colSpan={colspecs && nameStart && nameEnd ? getColspan(colspecs, nameStart, nameEnd) : undefined}\r\n >\r\n {mapNodeToJsx(cell.childNodes)}\r\n </td>\r\n );\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 wijzigactie: node.getAttribute(\"wijzigactie\"),\r\n frame: node.getAttribute(\"frame\") ? node.getAttribute(\"frame\") : \"all\",\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, wijzigactie, frame } = 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\", {\r\n \"editaction-add\": wijzigactie === \"voegtoe\",\r\n \"editaction-remove\": wijzigactie === \"verwijder\",\r\n [`dso-table-outside-lines-${frame}`]: frame,\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\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\n\r\nexport class OzonContentTextNode implements OzonContentNode {\r\n name = \"#text\";\r\n\r\n render({ textContent }: Node, { mark, emitMarkItemHighlight }: OzonContentNodeContext) {\r\n if (!mark || !textContent) {\r\n return <>{textContent}</>;\r\n }\r\n\r\n const result = mark(textContent);\r\n\r\n return !result || result.length === 0 ? (\r\n <>{textContent}</>\r\n ) : (\r\n <>\r\n {result.map((value) => {\r\n if (typeof value === \"string\") {\r\n return <>{value}</>;\r\n }\r\n\r\n return (\r\n <mark\r\n class={value.highlight ? \"dso-highlight\" : undefined}\r\n ref={(ref) => value.highlight && ref && emitMarkItemHighlight(value.text, ref)}\r\n >\r\n {value.text}\r\n </mark>\r\n );\r\n })}\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 OzonContentVerwijderdeTekstNode implements OzonContentNode {\r\n name = \"VerwijderdeTekst\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <del class=\"removed-text\">{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 mark: context.mark,\r\n mapNodeToJsx: (n) => this.mapNodeToJsx(n, context, [...path, node]),\r\n emitAnchorClick: context.emitAnchorClick,\r\n setState,\r\n emitMarkItemHighlight: context.emitMarkItemHighlight,\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\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n\r\n@use \"~dso-toolkit/src/components/anchor\";\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\r\n@use \"~dso-toolkit/src/components/button/button\";\r\n@use \"~dso-toolkit/src/components/mark/mark\";\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-block-end: 0.75em;\r\n}\r\n\r\n.od-IntIoRef {\r\n border-block-end: 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-block-end: 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-block-end: 0.25rem;\r\n }\r\n }\r\n\r\n &.bijschrift-onder {\r\n .figuur-bijschrift {\r\n padding-block-start: 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-block-end: 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-block-end: units.$u1;\r\n }\r\n\r\n ul {\r\n margin-block-end: units.$u1 !important;\r\n margin-block-start: units.$u1;\r\n\r\n p {\r\n margin-block-end: 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 inset-inline-start: units.$u6 * -1 + 4;\r\n text-align: end;\r\n inline-size: 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-block-end: units.$u1;\r\n padding: units.$u1;\r\n}\r\n\r\np,\r\nspan[role=\"paragraph\"],\r\n.dso-ozon-lijst,\r\n.dso-ozon-lijst > ul > li,\r\ntable {\r\n &.editaction-add {\r\n @include insert.root();\r\n }\r\n\r\n &.editaction-remove {\r\n @include delete.root();\r\n }\r\n}\r\n\r\nins {\r\n @include insert.element();\r\n\r\n &.new-text {\r\n @include insert.root();\r\n }\r\n\r\n &.editaction-add {\r\n display: inline-block;\r\n margin-block-end: units.$u1;\r\n padding: units.$u1;\r\n\r\n @include insert.root();\r\n\r\n p:last-child {\r\n margin: 0;\r\n }\r\n }\r\n}\r\n\r\ndel {\r\n &.removed-text {\r\n @include delete.root();\r\n }\r\n\r\n &.editaction-remove {\r\n display: inline-block;\r\n margin-block-end: units.$u1;\r\n padding: units.$u1;\r\n @include delete.root();\r\n\r\n p:last-child {\r\n margin: 0;\r\n }\r\n }\r\n}\r\n\r\n.editaction-label {\r\n font-style: italic;\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 {\r\n OzonContentAnchorClickEvent,\r\n OzonContentInputType,\r\n OzonContentMarkFunction,\r\n OzonContentMarkItemHighlightEvent,\r\n} 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 * To mark text.\r\n */\r\n @Prop()\r\n mark?: OzonContentMarkFunction;\r\n\r\n /**\r\n * Emitted when `<a>` is clicked.\r\n */\r\n @Event({ bubbles: false })\r\n dsoAnchorClick!: EventEmitter<OzonContentAnchorClickEvent>;\r\n\r\n /**\r\n * Emitted when a marked item is highlighted.\r\n */\r\n @Event({ bubbles: false })\r\n dsoOzonContentMarkItemHighlight!: EventEmitter<OzonContentMarkItemHighlightEvent>;\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 private handleMarkItemHighlight = (text: string, elementRef: HTMLElement) => {\r\n this.dsoOzonContentMarkItemHighlight.emit({ text, elementRef });\r\n };\r\n\r\n render(): JSX.Element {\r\n const context: OzonContentContext = {\r\n state: this.state,\r\n inline: this.inline,\r\n mark: this.mark,\r\n setState: (state) => (this.state = state),\r\n emitMarkItemHighlight: this.handleMarkItemHighlight,\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\r\nconst dependencies = () => {\r\n dependencies();\r\n\r\n return (\r\n <>\r\n <dso-icon />\r\n <dso-image-overlay />\r\n <dso-tooltip />\r\n <dso-table />\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/variables/colors\";\r\n@use \"~dso-toolkit/src/di\";\r\n\r\n:host {\r\n display: block;\r\n\r\n border: 1px solid colors.$grijs-30;\r\n border-radius: units.$u1 * 0.5;\r\n\r\n overflow: hidden;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.panel-heading {\r\n display: flex;\r\n gap: units.$u2;\r\n justify-content: space-between;\r\n align-items: flex-start;\r\n\r\n padding-block: units.$u1;\r\n padding-inline: units.$u2 units.$u1;\r\n\r\n border-block-end: 1px solid colors.$grijs-30;\r\n\r\n border-start-start-radius: units.$u1 * 0.5;\r\n border-start-end-radius: units.$u1 * 0.5;\r\n\r\n background-color: colors.$grijs-10;\r\n\r\n .sr-only {\r\n @include utilities.sr-only();\r\n }\r\n}\r\n\r\n::slotted([slot=\"heading\"]) {\r\n margin: 0 !important;\r\n font-size: 1rem !important;\r\n font-weight: 600 !important;\r\n line-height: 1.5 !important;\r\n color: colors.$zwart !important;\r\n}\r\n\r\n.panel-close {\r\n display: inline-block;\r\n\r\n inline-size: units.$u3;\r\n aspect-ratio: 1 / 1;\r\n\r\n padding: 0;\r\n\r\n border: 0;\r\n\r\n background-color: transparent;\r\n\r\n color: colors.$zwart;\r\n\r\n cursor: pointer;\r\n}\r\n\r\n.panel-body {\r\n padding-block: units.$u2;\r\n padding-inline: units.$u2;\r\n\r\n background-color: var(--_dso-panel-body-background-color, transparent);\r\n}\r\n","import { Component, ComponentInterface, Event, EventEmitter, h } from \"@stencil/core\";\r\n\r\nexport interface PanelCloseEvent {\r\n originalEvent: Event;\r\n}\r\n\r\n/**\r\n * @slot - The contents to be highlighted within the panel\r\n * @slot heading - The heading (h2 - h6) with the title of the panel\r\n */\r\n@Component({\r\n tag: \"dso-panel\",\r\n styleUrl: \"panel.scss\",\r\n shadow: true,\r\n})\r\nexport class Panel implements ComponentInterface {\r\n /**\r\n * Emitted when the user click the close button.\r\n */\r\n @Event()\r\n dsoCloseClick!: EventEmitter<PanelCloseEvent>;\r\n\r\n render() {\r\n return (\r\n <div class=\"dso-panel\">\r\n <div class=\"panel-heading\">\r\n <slot name=\"heading\" />\r\n <button type=\"button\" class=\"panel-close\" onClick={(e) => this.dsoCloseClick.emit({ originalEvent: e })}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Sluiten</span>\r\n </button>\r\n </div>\r\n <div class=\"panel-body\">\r\n <slot></slot>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n","@use \"sass:color\";\r\n\r\n@use \"~dso-toolkit/src/components/grid/grid.variables\" as grid-variables;\r\n@use \"~dso-toolkit/src/components/modal/modal.variables\" as modal-variables;\r\n\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n@use \"~dso-toolkit/src/utilities\";\r\n\r\n@use \"~dso-toolkit/src/components/button/button\";\r\n@use \"~dso-toolkit/src/components/modal\";\r\n@use \"~dso-toolkit/src/components/rich-content\";\r\n@use \"~dso-toolkit/src/components/table\";\r\n\r\n:host {\r\n display: block;\r\n margin-block-end: units.$u3;\r\n}\r\n\r\n.dso-header {\r\n min-block-size: units.$u4;\r\n\r\n h2 {\r\n color: colors.$bosgroen;\r\n font-size: units.$font-size-h2;\r\n font-weight: 700;\r\n }\r\n\r\n .dso-close {\r\n color: colors.$bosgroen;\r\n }\r\n}\r\n\r\n:host .dso-modal {\r\n @include modal.root();\r\n\r\n inset: 0px;\r\n block-size: 100%;\r\n position: fixed;\r\n z-index: zindex.$modal;\r\n}\r\n\r\n.dso-modal .dso-dialog.dso-table-dialog {\r\n margin-block-start: 1rem;\r\n max-inline-size: calc(100% - 2rem);\r\n margin-inline-start: auto;\r\n margin-inline-end: auto;\r\n inline-size: auto;\r\n\r\n .dso-body {\r\n $dso-body-unavailable-height: (\r\n (2 * modal.$header-padding) + (modal.$footer-button-block-size + modal.$footer-padding)\r\n );\r\n max-block-size: calc(100vh - #{$dso-body-unavailable-height} - 1.5em - 2rem); // margin\r\n }\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n max-inline-size: 100%;\r\n }\r\n}\r\n\r\n:host([is-responsive]) {\r\n .dso-table-body {\r\n border: 1px solid table.$border-color;\r\n margin-block-end: 0;\r\n overflow-y: auto;\r\n inline-size: 100%;\r\n\r\n &.dso-body {\r\n inline-size: calc(100% - modal.$body-padding * 2);\r\n }\r\n }\r\n}\r\n\r\n.dso-table-utilities {\r\n align-items: center;\r\n display: flex;\r\n justify-content: space-between;\r\n margin-block-end: units.$u1;\r\n\r\n .dso-responsive-message {\r\n margin-block-end: 0;\r\n\r\n &:only-child {\r\n inline-size: 100%;\r\n }\r\n }\r\n\r\n .open-modal-button {\r\n &:only-child {\r\n margin-inline-start: auto;\r\n }\r\n }\r\n}\r\n\r\n.dso-responsive-message {\r\n font-size: 0.8em;\r\n margin-block-end: units.$u1;\r\n position: relative;\r\n text-align: center;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-modal-overlay {\r\n background-color: color.scale(modal-variables.$backdrop-bg, $alpha: modal-variables.$backdrop-opacity);\r\n display: block;\r\n position: fixed;\r\n inset: 0;\r\n z-index: zindex.$modal-background-overlay;\r\n}\r\n\r\n.dso-table-placeholder {\r\n box-shadow: inset 0 0 0 1px table.$border-color;\r\n display: grid;\r\n place-content: center;\r\n}\r\n","import { h, Component, ComponentInterface, Element, Host, Prop, State } from \"@stencil/core\";\r\nimport debounce from \"debounce\";\r\nimport { createFocusTrap, FocusTrap } from \"focus-trap\";\r\nimport { v4 } from \"uuid\";\r\n\r\n@Component({\r\n tag: \"dso-table\",\r\n styleUrl: \"table.scss\",\r\n shadow: true,\r\n})\r\nexport class Table implements ComponentInterface {\r\n private resizeObserver?: ResizeObserver;\r\n\r\n private focusTrapElement?: HTMLDivElement;\r\n\r\n private buttonElement?: HTMLButtonElement;\r\n\r\n private trap?: FocusTrap;\r\n\r\n private labelledbyId = v4();\r\n\r\n @Element()\r\n host!: HTMLDsoTableElement;\r\n\r\n /**\r\n * Prevents the table being opened in a modal.\r\n */\r\n @Prop({ reflect: true })\r\n noModal = false;\r\n\r\n /**\r\n * Indicates whether the table is currently horizontally scrollable.\r\n */\r\n @Prop({ reflect: true })\r\n isResponsive = false;\r\n\r\n @State()\r\n modalActive = false;\r\n\r\n @State()\r\n placeholderHeight?: number;\r\n\r\n private startResponsiveBehavior(): void {\r\n this.resizeObserver?.observe(this.host);\r\n }\r\n\r\n componentWillLoad(): void {\r\n this.resizeObserver = new ResizeObserver(debounce((entries) => this.setResponsiveTable(entries), 200));\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.startResponsiveBehavior();\r\n }\r\n\r\n componentDidRender() {\r\n this.setFocusTrap();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n render() {\r\n const caption = this.host.querySelector(\":scope > table > caption\")?.textContent?.trim();\r\n\r\n return (\r\n <Host>\r\n {this.modalActive && this.placeholderHeight && (\r\n <div class=\"dso-table-placeholder\" style={{ height: `${this.placeholderHeight}px` }} />\r\n )}\r\n\r\n {this.modalActive && <div class=\"dso-modal-overlay\"></div>}\r\n\r\n <div class={{ \"dso-modal\": this.modalActive }}>\r\n <div\r\n class={{ \"dso-dialog\": this.modalActive, \"dso-table-dialog\": true }}\r\n ref={(element) => (this.focusTrapElement = element)}\r\n {...(this.modalActive ? { [\"aria-labelledby\"]: this.labelledbyId, role: \"dialog\" } : {})}\r\n >\r\n {(this.isResponsive || !this.noModal) && (\r\n <div class=\"dso-table-utilities\" style={this.modalActive ? { display: \"none\" } : undefined}>\r\n {this.isResponsive && (\r\n <div class=\"dso-responsive-message\">\r\n <span>beweeg de tabel van links naar rechts</span>\r\n </div>\r\n )}\r\n\r\n {!this.noModal && (\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary open-modal-button\"\r\n ref={(element) => (this.buttonElement = element)}\r\n onClick={() => this.openModal()}\r\n >\r\n <span class=\"sr-only\">tabel {caption ?? \"\"} </span>\r\n <span>vergroten</span>\r\n <dso-icon icon=\"external-link\"></dso-icon>\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n\r\n {this.modalActive && (\r\n <div class=\"dso-header\">\r\n <h2 id={this.labelledbyId} class={{ \"sr-only\": !caption }}>\r\n {caption || \"Uitvergrote tabel dialoog\"}\r\n </h2>\r\n <button type=\"button\" class=\"dso-close\" onClick={() => this.closeModal()}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Sluiten</span>\r\n </button>\r\n </div>\r\n )}\r\n\r\n <div class={{ \"dso-body\": this.modalActive, \"dso-table-body\": true }}>\r\n <slot></slot>\r\n </div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n private openModal() {\r\n this.placeholderHeight = this.host.clientHeight;\r\n this.modalActive = true;\r\n }\r\n\r\n private closeModal() {\r\n this.placeholderHeight = undefined;\r\n this.modalActive = false;\r\n }\r\n\r\n private setFocusTrap() {\r\n if (this.modalActive && this.focusTrapElement && !this.trap) {\r\n this.trap = createFocusTrap([this.host, this.focusTrapElement], {\r\n escapeDeactivates: true,\r\n clickOutsideDeactivates: (e) => {\r\n if (e instanceof MouseEvent && e.composedPath()[0] === this.focusTrapElement) {\r\n this.closeModal();\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n },\r\n setReturnFocus: this.buttonElement ?? false,\r\n onDeactivate: () => this.closeModal(),\r\n tabbableOptions: {\r\n getShadowRoot: true,\r\n },\r\n }).activate();\r\n } else if (!this.modalActive && this.trap) {\r\n this.trap?.deactivate();\r\n\r\n delete this.trap;\r\n }\r\n }\r\n\r\n private setResponsiveTable([dsoTable]: ResizeObserverEntry[]): void {\r\n if (!dsoTable) {\r\n throw new Error(\"No dsoTable found\");\r\n }\r\n\r\n const tableElement = dsoTable.target.querySelector(\"table\");\r\n\r\n if (dsoTable && tableElement instanceof HTMLTableElement) {\r\n this.isResponsive =\r\n Math.floor(tableElement.getBoundingClientRect().width) > Math.floor(dsoTable.contentRect.width);\r\n }\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as o,c as t,h as s,a as e}from"./p-b623c74b.js";import{c as i}from"./p-8a1a6e56.js";import{d as r}from"./p-709ff0a5.js";const n=':host{display:block;block-size:100%;overflow-y:hidden}*,*::after,*::before{box-sizing:border-box}.dso-shadow-container{block-size:100%;max-block-size:inherit;min-block-size:inherit;position:relative}.dso-shadow-container .dso-scroll-container{block-size:100%;max-block-size:inherit;min-block-size:inherit;overflow-y:auto}.dso-shadow-container .dso-scroll-container::before,.dso-shadow-container .dso-scroll-container::after{background-repeat:no-repeat;background-size:100% 24px;content:"";display:block;block-size:24px;inset-inline-start:0;opacity:0;overflow:visible;position:absolute;transition:opacity 150ms ease-in-out;inline-size:100%;pointer-events:none;z-index:1}.dso-shadow-container .dso-scroll-container::before{background-image:linear-gradient(to top, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));inset-block-start:0}.dso-shadow-container .dso-scroll-container::after{background-image:linear-gradient(to bottom, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));inset-block-end:0}.dso-shadow-container .dso-scroll-container.dso-scroll-bottom::before{opacity:1}.dso-shadow-container .dso-scroll-container.dso-scroll-top::after{opacity:1}.dso-shadow-container .dso-scroll-container.dso-scroll-middle::before,.dso-shadow-container .dso-scroll-container.dso-scroll-middle::after{opacity:1}';const a=n;const l=new ResizeObserver(r((o=>o.forEach((o=>{var t;return(t=c(o))===null||t===void 0?void 0:t._setScrollState()}))),50));function c({target:o}){if(o.parentNode instanceof ShadowRoot&&d(o.parentNode.host)){return o.parentNode.host}if(o.parentElement&&d(o.parentElement)){return o.parentElement}return undefined}function d(o){return o.tagName==="DSO-SCROLLABLE"}const h=class{constructor(s){o(this,s);this.dsoScrollEnd=t(this,"dsoScrollEnd",7);this.mutationObserver=new MutationObserver((o=>o.forEach((({target:o})=>{var t;const s=(t=o.parentElement)===null||t===void 0?void 0:t.closest("dso-scrollable");if(s!==this.host){return}this._setScrollState()}))));this.scrollPosition="noScroll"}async _setScrollState(){const o=this.getScrollPosition();if(this.scrollPosition!==o){this.scrollPosition=o;if(this.scrollPosition==="top"||this.scrollPosition==="bottom"){this.dsoScrollEnd.emit({scrollEnd:this.scrollPosition})}}}get slottedElements(){return Array.from(this.host.children)}getScrollPosition(){if(!this.scrollContainerDiv){return"noScroll"}const{scrollHeight:o,clientHeight:t,scrollTop:s}=this.scrollContainerDiv;if(o<=t){return"noScroll"}if(s===0){return"top"}if(o-s-t<1){return"bottom"}if(s>0){return"middle"}return"noScroll"}componentDidLoad(){this.mutationObserver.observe(this.host,{characterData:true,attributes:false,childList:false,subtree:true});if(this.shadowContainerDiv instanceof HTMLDivElement){l.observe(this.shadowContainerDiv)}this.slottedElements.forEach((o=>l.observe(o)))}disconnectedCallback(){if(this.shadowContainerDiv instanceof HTMLDivElement){l.unobserve(this.shadowContainerDiv)}this.mutationObserver.disconnect();this.slottedElements.forEach((o=>l.unobserve(o)))}render(){return s("div",{key:"b786c2765a723299a16956239d0a3f2814bdb365",ref:o=>this.shadowContainerDiv=o,class:"dso-shadow-container"},s("div",{key:"32629e90bd713faf99192825f4d5f6b730949724",ref:o=>this.scrollContainerDiv=o,class:i("dso-scroll-container",{[`dso-scroll-${this.scrollPosition}`]:this.scrollPosition!=="noScroll"}),onScroll:()=>this._setScrollState()},s("slot",{key:"3d02e6603fb849f9535529ae5143452e0ee0484e"})))}get host(){return e(this)}};h.style=a;export{h as dso_scrollable};
2
- //# sourceMappingURL=p-c0460667.entry.js.map
1
+ import{r as o,c as t,h as e,a as s}from"./p-b623c74b.js";import{c as i}from"./p-8a1a6e56.js";import{d as r}from"./p-709ff0a5.js";const n=':host{display:block;block-size:100%;overflow-y:hidden}*,*::after,*::before{box-sizing:border-box}.dso-shadow-container{block-size:100%;max-block-size:inherit;min-block-size:inherit;position:relative}.dso-shadow-container .dso-scroll-container{block-size:100%;max-block-size:inherit;min-block-size:inherit;overflow-y:auto}.dso-shadow-container .dso-scroll-container::before,.dso-shadow-container .dso-scroll-container::after{background-repeat:no-repeat;background-size:100% 24px;content:"";display:block;block-size:24px;inset-inline-start:0;opacity:0;overflow:visible;position:absolute;transition:opacity 150ms ease-in-out;inline-size:100%;pointer-events:none;z-index:1}.dso-shadow-container .dso-scroll-container::before{background-image:linear-gradient(to top, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));inset-block-start:0}.dso-shadow-container .dso-scroll-container::after{background-image:linear-gradient(to bottom, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));inset-block-end:0}.dso-shadow-container .dso-scroll-container.dso-scroll-bottom::before{opacity:1}.dso-shadow-container .dso-scroll-container.dso-scroll-top::after{opacity:1}.dso-shadow-container .dso-scroll-container.dso-scroll-middle::before,.dso-shadow-container .dso-scroll-container.dso-scroll-middle::after{opacity:1}';const a=n;const c=new ResizeObserver(r((o=>o.forEach((o=>{var t;return(t=l(o))===null||t===void 0?void 0:t._setScrollState()}))),50));function l({target:o}){if(o.parentNode instanceof ShadowRoot&&d(o.parentNode.host)){return o.parentNode.host}if(o.parentElement&&d(o.parentElement)){return o.parentElement}return undefined}function d(o){return o.tagName==="DSO-SCROLLABLE"}const h=class{constructor(e){o(this,e);this.dsoScrollEnd=t(this,"dsoScrollEnd",7);this.mutationObserver=new MutationObserver((o=>o.forEach((({target:o})=>{var t;const e=(t=o.parentElement)===null||t===void 0?void 0:t.closest("dso-scrollable");if(e!==this.host){return}this._setScrollState()}))));this.scrollPosition="noScroll"}async _setScrollState(){const o=this.getScrollPosition();if(this.scrollPosition!==o){this.scrollPosition=o;if(this.scrollPosition==="top"||this.scrollPosition==="bottom"){this.dsoScrollEnd.emit({scrollEnd:this.scrollPosition})}}}get slottedElements(){return Array.from(this.host.children)}getScrollPosition(){if(!this.scrollContainerDiv){return"noScroll"}const{scrollHeight:o,clientHeight:t,scrollTop:e}=this.scrollContainerDiv;if(o<=t){return"noScroll"}if(e===0){return"top"}if(o-e-t<1){return"bottom"}if(e>0){return"middle"}return"noScroll"}componentDidLoad(){this.mutationObserver.observe(this.host,{characterData:true,attributes:false,childList:false,subtree:true});if(this.shadowContainerDiv instanceof HTMLDivElement){c.observe(this.shadowContainerDiv)}this.slottedElements.forEach((o=>c.observe(o)))}disconnectedCallback(){if(this.shadowContainerDiv instanceof HTMLDivElement){c.unobserve(this.shadowContainerDiv)}this.mutationObserver.disconnect();this.slottedElements.forEach((o=>c.unobserve(o)))}render(){return e("div",{key:"85e734f12aff4d147d607d444e4669d8f2ed8412",ref:o=>this.shadowContainerDiv=o,class:"dso-shadow-container"},e("div",{key:"559d3f4b934d4a1d7cf8fb4a4f1cb31aa4fb5027",ref:o=>this.scrollContainerDiv=o,class:i("dso-scroll-container",{[`dso-scroll-${this.scrollPosition}`]:this.scrollPosition!=="noScroll"}),onScroll:()=>this._setScrollState()},e("slot",{key:"6e3f85822ec67d60183e8d640e36e878b0c8e0dc"})))}get host(){return s(this)}};h.style=a;export{h as dso_scrollable};
2
+ //# sourceMappingURL=p-95b8d413.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as e,c as s,h as t,F as l,f as o,a as c}from"./p-b623c74b.js";import{c as a}from"./p-8a1a6e56.js";import{c as i}from"./p-97f788d4.js";const d=":host{display:block;padding-block:16px;padding-inline:16px 32px;position:relative}:host>button{background-color:transparent;border-style:none;padding:0;position:absolute;inset-inline-end:8px;inset-block-start:8px}:host(:not([active],[fixed])),:host([active=false]:not([fixed])),:host([active=false][fixed=false]){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;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}";const b=d;const n=class{constructor(t){e(this,t);this.dsoClose=s(this,"dsoClose",7);this.fixed=undefined;this.active=undefined}render(){return t(l,{key:"e5f657a636b290b194ccbb89b8cd10c361a3addd"},t("slot",{key:"08ff21c78926849c1b0461abfc551f96fd4a769a"}),!this.fixed&&t("button",{key:"5312aa3e0b79e3c46c28b272b1fe2161f3c625a2",type:"button",onClick:e=>this.dsoClose.emit(e)},t("dso-icon",{key:"7473fe06abfd42aa7c39eb97b4ea1b8113e9bfe4",icon:"times"}),t("span",{key:"e5b9d4414e871ff4ec15e18adb6ab819ddcfb0f5",class:"sr-only"},"Sluiten")))}};n.style=b;const r='.sc-dso-selectable-h{position:relative;display:var(--dso-selectable-display, block);padding-inline-start:32px}.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{block-size:24px;inset-inline-start:0;margin:0;opacity:0;position:absolute;inset-block-start:0;inline-size: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-inline-start: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:"";block-size:20px;inset-inline-start:2px;position:absolute;inset-block-start:2px;inline-size: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);block-size:18px;inset-inline-start:3px;inset-block-start:3px;inline-size: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;block-size:22px;inset-inline-start:1px;inset-block-start:1px;inline-size: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:"";inset-inline-start:6px;opacity:0;position:absolute;inset-block-start: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-block-start-color:transparent;border-width:0 0 3px 3px;block-size:8px;transform:rotate(-45deg);inline-size:13px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:indeterminate+label.sc-dso-selectable::after{background-color:var(--dso-selectable-color, #39870c);block-size:12px;inline-size: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:"";block-size:12px;inset-inline-start:6px;opacity:0;position:absolute;inset-block-start:6px;inline-size: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}[invalid].sc-dso-selectable-h:not([invalid=false]){--dso-selectable-color:#ce3f51}.sc-dso-selectable-h:not(:last-child){margin-block-end: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}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable{display:inline-block;min-block-size:24px}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable:focus-within.dso-keyboard-focus{position:relative;inset-inline-start:-32px;padding-inline-start:32px;margin-inline-end:-32px;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);block-size:20px;inset-inline-start:2px;inset-block-start:2px;inline-size:20px}';const p=r;const h=class{constructor(t){e(this,t);this.dsoChange=s(this,"dsoChange",7);this.fallbackIdentifier=i("DsoSelectable");this.handleOnChange=e=>{const{target:s}=e;this.dsoChange.emit({originalEvent:e,checked:s instanceof HTMLInputElement&&s.checked});o(this.host)};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,{key:"7bc5f9b9e029af047da32ea329ec28ef5a1b9a6e"},t("div",{key:"e1d8151cfc4a179c574cdd22f5b8a522433f9896",class:"dso-selectable-container"},t("div",{key:"b7089b2e8b02bacaf0485351726d019b2d3faaf3",class:a("dso-selectable-input-wrapper",{"dso-keyboard-focus":this.keyboardFocus})},t("input",{key:"bbf2571b7578706abf523f5fc0d66435159b5ab5",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,t("slot",null))),s&&!this.infoFixed&&t("dso-info-button",{key:"c03e4642630e5a7dfd902af7389eb8eefedef6f7",active:this.infoActive,onDsoToggle:e=>this.infoActive=e.detail.active})),s&&t("dso-info",{key:"bd49a93be3a86178bb3b3ea6df7744baeb746d3d",id:s&&this.infoFixed?this.describedById:undefined,fixed:this.infoFixed,active:this.infoActive,onDsoClose:()=>this.infoActive=false},t("div",{key:"a34fe7983e523fcb8b07d90bcd3b48a4359abb31"},t("slot",{key:"d733610afc9465da63844b0c8430ddde7227fae5",name:"info"}))),t("slot",{key:"7af6229ca414ff808ea348d396f51f6674ba30e1",name:"options"}))}componentDidRender(){if(this.input&&typeof this.checked==="boolean"&&this.input.checked!==this.checked){this.input.checked=this.checked}}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"]}}};h.style=p;export{n as dso_info,h as dso_selectable};
2
- //# sourceMappingURL=p-5db11fa4.entry.js.map
1
+ import{r as e,c as s,h as t,F as l,f as o,a as c}from"./p-b623c74b.js";import{c as i}from"./p-8a1a6e56.js";import{c as a}from"./p-97f788d4.js";const d=":host{display:block;padding-block:16px;padding-inline:16px 32px;position:relative}:host>button{background-color:transparent;border-style:none;padding:0;position:absolute;inset-inline-end:8px;inset-block-start:8px}:host(:not([active],[fixed])),:host([active=false]:not([fixed])),:host([active=false][fixed=false]){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;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}";const b=d;const n=class{constructor(t){e(this,t);this.dsoClose=s(this,"dsoClose",7);this.fixed=undefined;this.active=undefined}render(){return t(l,{key:"e5f657a636b290b194ccbb89b8cd10c361a3addd"},t("slot",{key:"08ff21c78926849c1b0461abfc551f96fd4a769a"}),!this.fixed&&t("button",{key:"5312aa3e0b79e3c46c28b272b1fe2161f3c625a2",type:"button",onClick:e=>this.dsoClose.emit(e)},t("dso-icon",{key:"7473fe06abfd42aa7c39eb97b4ea1b8113e9bfe4",icon:"times"}),t("span",{key:"e5b9d4414e871ff4ec15e18adb6ab819ddcfb0f5",class:"sr-only"},"Sluiten")))}};n.style=b;const r='.sc-dso-selectable-h{position:relative;display:var(--dso-selectable-display, block);padding-inline-start:32px}.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{block-size:24px;inset-inline-start:0;margin:0;opacity:0;position:absolute;inset-block-start:0;inline-size: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-inline-start: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:"";block-size:20px;inset-inline-start:2px;position:absolute;inset-block-start:2px;inline-size: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);block-size:18px;inset-inline-start:3px;inset-block-start:3px;inline-size: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;block-size:22px;inset-inline-start:1px;inset-block-start:1px;inline-size: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:"";inset-inline-start:6px;opacity:0;position:absolute;inset-block-start: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-block-start-color:transparent;border-width:0 0 3px 3px;block-size:8px;transform:rotate(-45deg);inline-size:13px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:indeterminate+label.sc-dso-selectable::after{background-color:var(--dso-selectable-color, #39870c);block-size:12px;inline-size: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:"";block-size:12px;inset-inline-start:6px;opacity:0;position:absolute;inset-block-start:6px;inline-size: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}[invalid].sc-dso-selectable-h:not([invalid=false]){--dso-selectable-color:#ce3f51}.sc-dso-selectable-h:not(:last-child){margin-block-end: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}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable{display:inline-block;min-block-size:24px}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable:focus-within.dso-keyboard-focus{position:relative;inset-inline-start:-32px;padding-inline-start:32px;margin-inline-end:-32px;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);block-size:20px;inset-inline-start:2px;inset-block-start:2px;inline-size:20px}';const p=r;const h=class{constructor(t){e(this,t);this.dsoChange=s(this,"dsoChange",7);this.fallbackIdentifier=a("DsoSelectable");this.handleOnChange=e=>{const{target:s}=e;this.dsoChange.emit({originalEvent:e,checked:s instanceof HTMLInputElement&&s.checked});o(this.host)};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,{key:"65e5431d95287ef37058ca9c2355c0578e059bfd"},t("div",{key:"2ca8cdd8de18dd5c26c6e8dd6517ad2920ac2e26",class:"dso-selectable-container"},t("div",{key:"afa6e33d88b9335e247ef828b3c2f8a761f09f91",class:i("dso-selectable-input-wrapper",{"dso-keyboard-focus":this.keyboardFocus})},t("input",{key:"c84a175859fd16dfeab429646b32633f9fc1264c",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,t("slot",null))),s&&!this.infoFixed&&t("dso-info-button",{key:"f604014da0b21a89b4da5f3e3e910099e790625c",active:this.infoActive,onDsoToggle:e=>this.infoActive=e.detail.active})),s&&t("dso-info",{key:"403d2de55e07fb8902318ba42b1036a72733b8be",id:s&&this.infoFixed?this.describedById:undefined,fixed:this.infoFixed,active:this.infoActive,onDsoClose:()=>this.infoActive=false},t("div",{key:"01701810d8e56954db5976137b374674a14d65d8"},t("slot",{key:"b87aecb2aa808d6b3e8dc1f0a3b2dd20f4e534bb",name:"info"}))),t("slot",{key:"cdb5bc992c02d799f630a45ef0e9dde6cf4b616c",name:"options"}))}componentDidRender(){if(this.input&&typeof this.checked==="boolean"&&this.input.checked!==this.checked){this.input.checked=this.checked}}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"]}}};h.style=p;export{n as dso_info,h as dso_selectable};
2
+ //# sourceMappingURL=p-ad60872b.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as t,h as i,F as s,a as e}from"./p-b623c74b.js";const o="*,*::after,*::before{box-sizing:border-box}:host{display:inline-block;--tooltip-margin-block-start:0;--tooltip-margin-inline-start:3px;--tooltip-margin-inline-end:units.$u1 * -1 !important}:host(:focus){outline:none;z-index:410}";const h=o;const n=class{constructor(i){t(this,i);this.click=()=>{if(this.active){this.close()}else{this.open()}};this.open=()=>{this.active=true;this.host.addEventListener("keydown",this.keyDownListener);this.host.addEventListener("focusout",this.focusOutListener)};this.close=()=>{this.host.removeEventListener("focusout",this.focusOutListener);this.host.removeEventListener("keydown",this.keyDownListener);this.active=false};this.focusOutListener=t=>{if(!this.host.contains(t.relatedTarget)){this.close()}};this.keyDownListener=t=>{var i;if(!t.defaultPrevented&&t.key==="Escape"){this.close();(i=this.infoButton)===null||i===void 0?void 0:i.setFocus();t.preventDefault()}return};this.active=false;this.label="Toelichting";this.position="right";this.small=undefined;this.secondary=undefined}render(){return i(s,null,i("dso-info-button",{key:"d814dd230c0a2b7dd143f0c461a7c35c5a0e8256","aria-describedby":"toggle",onClick:this.click,label:this.label,active:this.active,secondary:this.secondary,ref:t=>this.infoButton=t}),i("dso-tooltip",{key:"8335db4a80d8bf7fdec4251caa9a3d4c5520b8f4",stateless:true,descriptive:true,id:"toggle",strategy:"absolute",active:this.active,position:this.position,small:this.small},i("slot",{key:"e4f9747977cd810999eb63ee413e63827ce106e3"})))}get host(){return e(this)}};n.style=h;export{n as dso_toggletip};
2
- //# sourceMappingURL=p-e4eed4a2.entry.js.map
1
+ import{r as t,h as i,F as s,a as e}from"./p-b623c74b.js";const o="*,*::after,*::before{box-sizing:border-box}:host{display:inline-block;--tooltip-margin-block-start:0;--tooltip-margin-inline-start:3px;--tooltip-margin-inline-end:units.$u1 * -1 !important}:host(:focus){outline:none;z-index:410}";const h=o;const n=class{constructor(i){t(this,i);this.click=()=>{if(this.active){this.close()}else{this.open()}};this.open=()=>{this.active=true;this.host.addEventListener("keydown",this.keyDownListener);this.host.addEventListener("focusout",this.focusOutListener)};this.close=()=>{this.host.removeEventListener("focusout",this.focusOutListener);this.host.removeEventListener("keydown",this.keyDownListener);this.active=false};this.focusOutListener=t=>{if(!this.host.contains(t.relatedTarget)){this.close()}};this.keyDownListener=t=>{var i;if(!t.defaultPrevented&&t.key==="Escape"){this.close();(i=this.infoButton)===null||i===void 0?void 0:i.setFocus();t.preventDefault()}return};this.active=false;this.label="Toelichting";this.position="right";this.small=undefined;this.secondary=undefined}render(){return i(s,null,i("dso-info-button",{key:"4e002fc4fbcab6f21b3b1748e62dd26fb6229d78","aria-describedby":"toggle",onClick:this.click,label:this.label,active:this.active,secondary:this.secondary,ref:t=>this.infoButton=t}),i("dso-tooltip",{key:"6b88641c28710029e7a03c3ae6341f7be4d66ea6",stateless:true,descriptive:true,id:"toggle",strategy:"absolute",active:this.active,position:this.position,small:this.small},i("slot",{key:"52bc9af7a537bc4afd6a6421860fe8b1e5a09f82"})))}get host(){return e(this)}};n.style=h;export{n as dso_toggletip};
2
+ //# sourceMappingURL=p-c7beb24a.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as n,c as t,h as e,F as r}from"./p-b623c74b.js";import{c as i}from"./p-4573c419.js";var o=1/0,u=9007199254740991,s=17976931348623157e292,a=0/0;var f="[object Arguments]",c="[object Function]",d="[object GeneratorFunction]",l="[object Map]",h="[object Object]",v="[object Promise]",p="[object Set]",b="[object String]",m="[object Symbol]",y="[object WeakMap]";var g="[object DataView]";var j=/[\\^$.*+?()[\]{}|]/g;var w=/^\s+|\s+$/g;var A=/^[-+]0x[0-9a-f]+$/i;var C=/^0b[01]+$/i;var D=/^\[object .+?Constructor\]$/;var O=/^0o[0-7]+$/i;var k=/^(?:0|[1-9]\d*)$/;var $="\\ud800-\\udfff",I="\\u0300-\\u036f\\ufe20-\\ufe23",F="\\u20d0-\\u20f0",S="\\ufe0e\\ufe0f";var M="["+$+"]",T="["+I+F+"]",x="\\ud83c[\\udffb-\\udfff]",E="(?:"+T+"|"+x+")",z="[^"+$+"]",R="(?:\\ud83c[\\udde6-\\uddff]){2}",W="[\\ud800-\\udbff][\\udc00-\\udfff]",L="\\u200d";var V=E+"?",_="["+S+"]?",K="(?:"+L+"(?:"+[z,R,W].join("|")+")"+_+V+")*",N=_+V+K,P="(?:"+[z+T+"?",T,R,W,M].join("|")+")";var B=RegExp(x+"(?="+x+")|"+P+N,"g");var G=RegExp("["+L+$+I+F+S+"]");var X=parseInt;var H=typeof i=="object"&&i&&i.Object===Object&&i;var q=typeof self=="object"&&self&&self.Object===Object&&self;var J=H||q||Function("return this")();function Q(n,t){var e=-1,r=n?n.length:0,i=Array(r);while(++e<r){i[e]=t(n[e],e,n)}return i}function U(n){return n.split("")}function Y(n,t){var e=-1,r=Array(n);while(++e<n){r[e]=t(e)}return r}function Z(n,t){return Q(t,(function(t){return n[t]}))}function nn(n,t){return n==null?undefined:n[t]}function tn(n){return G.test(n)}function en(n){var t=false;if(n!=null&&typeof n.toString!="function"){try{t=!!(n+"")}catch(n){}}return t}function rn(n){var t,e=[];while(!(t=n.next()).done){e.push(t.value)}return e}function on(n){var t=-1,e=Array(n.size);n.forEach((function(n,r){e[++t]=[r,n]}));return e}function un(n,t){return function(e){return n(t(e))}}function sn(n){var t=-1,e=Array(n.size);n.forEach((function(n){e[++t]=n}));return e}function an(n){return tn(n)?fn(n):U(n)}function fn(n){return n.match(B)||[]}var cn=Function.prototype,dn=Object.prototype;var ln=J["__core-js_shared__"];var hn=function(){var n=/[^.]+$/.exec(ln&&ln.keys&&ln.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();var vn=cn.toString;var pn=dn.hasOwnProperty;var bn=dn.toString;var mn=RegExp("^"+vn.call(pn).replace(j,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var yn=J.Symbol,gn=yn?yn.iterator:undefined,jn=dn.propertyIsEnumerable;var wn=Math.floor,An=un(Object.keys,Object),Cn=Math.random;var Dn=Kn(J,"DataView"),On=Kn(J,"Map"),kn=Kn(J,"Promise"),$n=Kn(J,"Set"),In=Kn(J,"WeakMap");var Fn=Hn(Dn),Sn=Hn(On),Mn=Hn(kn),Tn=Hn($n),xn=Hn(In);function En(n,t){var e=Un(n)||Qn(n)?Y(n.length,String):[];var r=e.length,i=!!r;for(var o in n){if((t||pn.call(n,o))&&!(i&&(o=="length"||Pn(o,r)))){e.push(o)}}return e}function zn(n,t,e){if(n===n){if(e!==undefined){n=n<=e?n:e}if(t!==undefined){n=n>=t?n:t}}return n}function Rn(n){return bn.call(n)}function Wn(n){if(!et(n)||Gn(n)){return false}var t=nt(n)||en(n)?mn:D;return t.test(Hn(n))}function Ln(n){if(!Xn(n)){return An(n)}var t=[];for(var e in Object(n)){if(pn.call(n,e)&&e!="constructor"){t.push(e)}}return t}function Vn(n,t){return n+wn(Cn()*(t-n+1))}function _n(n,t){var e=-1,r=n.length;t||(t=Array(r));while(++e<r){t[e]=n[e]}return t}function Kn(n,t){var e=nn(n,t);return Wn(e)?e:undefined}var Nn=Rn;if(Dn&&Nn(new Dn(new ArrayBuffer(1)))!=g||On&&Nn(new On)!=l||kn&&Nn(kn.resolve())!=v||$n&&Nn(new $n)!=p||In&&Nn(new In)!=y){Nn=function(n){var t=bn.call(n),e=t==h?n.constructor:undefined,r=e?Hn(e):undefined;if(r){switch(r){case Fn:return g;case Sn:return l;case Mn:return v;case Tn:return p;case xn:return y}}return t}}function Pn(n,t){t=t==null?u:t;return!!t&&(typeof n=="number"||k.test(n))&&(n>-1&&n%1==0&&n<t)}function Bn(n,t,e){if(!et(e)){return false}var r=typeof t;if(r=="number"?Yn(e)&&Pn(t,e.length):r=="string"&&t in e){return Jn(e[t],n)}return false}function Gn(n){return!!hn&&hn in n}function Xn(n){var t=n&&n.constructor,e=typeof t=="function"&&t.prototype||dn;return n===e}function Hn(n){if(n!=null){try{return vn.call(n)}catch(n){}try{return n+""}catch(n){}}return""}function qn(n,t,e){var r=-1,i=ut(n),o=i.length,u=o-1;if(e?Bn(n,t,e):t===undefined){t=1}else{t=zn(at(t),0,o)}while(++r<t){var s=Vn(r,u),a=i[s];i[s]=i[r];i[r]=a}i.length=t;return i}function Jn(n,t){return n===t||n!==n&&t!==t}function Qn(n){return Zn(n)&&pn.call(n,"callee")&&(!jn.call(n,"callee")||bn.call(n)==f)}var Un=Array.isArray;function Yn(n){return n!=null&&tt(n.length)&&!nt(n)}function Zn(n){return rt(n)&&Yn(n)}function nt(n){var t=et(n)?bn.call(n):"";return t==c||t==d}function tt(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=u}function et(n){var t=typeof n;return!!n&&(t=="object"||t=="function")}function rt(n){return!!n&&typeof n=="object"}function it(n){return typeof n=="string"||!Un(n)&&rt(n)&&bn.call(n)==b}function ot(n){return typeof n=="symbol"||rt(n)&&bn.call(n)==m}function ut(n){if(!n){return[]}if(Yn(n)){return it(n)?an(n):_n(n)}if(gn&&n[gn]){return rn(n[gn]())}var t=Nn(n),e=t==l?on:t==p?sn:dt;return e(n)}function st(n){if(!n){return n===0?n:0}n=ft(n);if(n===o||n===-o){var t=n<0?-1:1;return t*s}return n===n?n:0}function at(n){var t=st(n),e=t%1;return t===t?e?t-e:t:0}function ft(n){if(typeof n=="number"){return n}if(ot(n)){return a}if(et(n)){var t=typeof n.valueOf=="function"?n.valueOf():n;n=et(t)?t+"":t}if(typeof n!="string"){return n===0?n:+n}n=n.replace(w,"");var e=C.test(n);return e||O.test(n)?X(n.slice(2),e?2:8):A.test(n)?a:+n}function ct(n){return Yn(n)?En(n):Ln(n)}function dt(n){return n?Z(n,ct(n)):[]}var lt=qn;var ht=1/0,vt=9007199254740991,pt=17976931348623157e292,bt=0/0;var mt="[object Function]",yt="[object GeneratorFunction]",gt="[object Symbol]";var jt=/^\s+|\s+$/g;var wt=/^[-+]0x[0-9a-f]+$/i;var At=/^0b[01]+$/i;var Ct=/^0o[0-7]+$/i;var Dt=/^(?:0|[1-9]\d*)$/;var Ot=parseFloat,kt=parseInt;var $t=Object.prototype;var It=$t.toString;var Ft=Math.floor,St=Math.min,Mt=Math.random;function Tt(n,t){return n+Ft(Mt()*(t-n+1))}function xt(n,t){t=t==null?vt:t;return!!t&&(typeof n=="number"||Dt.test(n))&&(n>-1&&n%1==0&&n<t)}function Et(n,t,e){if(!Vt(e)){return false}var r=typeof t;if(r=="number"?Rt(e)&&xt(t,e.length):r=="string"&&t in e){return zt(e[t],n)}return false}function zt(n,t){return n===t||n!==n&&t!==t}function Rt(n){return n!=null&&Lt(n.length)&&!Wt(n)}function Wt(n){var t=Vt(n)?It.call(n):"";return t==mt||t==yt}function Lt(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=vt}function Vt(n){var t=typeof n;return!!n&&(t=="object"||t=="function")}function _t(n){return!!n&&typeof n=="object"}function Kt(n){return typeof n=="symbol"||_t(n)&&It.call(n)==gt}function Nt(n){if(!n){return n===0?n:0}n=Pt(n);if(n===ht||n===-ht){var t=n<0?-1:1;return t*pt}return n===n?n:0}function Pt(n){if(typeof n=="number"){return n}if(Kt(n)){return bt}if(Vt(n)){var t=typeof n.valueOf=="function"?n.valueOf():n;n=Vt(t)?t+"":t}if(typeof n!="string"){return n===0?n:+n}n=n.replace(jt,"");var e=At.test(n);return e||Ct.test(n)?kt(n.slice(2),e?2:8):wt.test(n)?bt:+n}function Bt(n,t,e){if(e&&typeof e!="boolean"&&Et(n,t,e)){t=e=undefined}if(e===undefined){if(typeof t=="boolean"){e=t;t=undefined}else if(typeof n=="boolean"){e=n;n=undefined}}if(n===undefined&&t===undefined){n=0;t=1}else{n=Nt(n);if(t===undefined){t=n;n=0}else{t=Nt(t)}}if(n>t){var r=n;n=t;t=r}if(e||n%1||t%1){var i=Mt();return St(n+i*(t-n+Ot("1e-"+((i+"").length-1))),t)}return Tt(n,t)}var Gt=Bt;const Xt=".sc-dsot-document-component-demo-h{display:block;margin-block:0;margin-inline:8px;border-inline-start:1px dashed transparent;border-inline-end:1px dashed transparent}[show-canvas].sc-dsot-document-component-demo-h{border-inline-start:1px dashed pink;border-inline-end:1px dashed pink}";const Ht=Xt;const qt=class{constructor(i){n(this,i);this.dsotOzonContentAnchorClick=t(this,"dsotOzonContentAnchorClick",7);this.handleRecursiveToggle=(n,t)=>{const e=this.getEmbeddedDocumentComponents(n);if(!e){return}for(const n of e.documentComponents){this.handleOpenToggle(n,t.next)}};this.DocumentComponent=({path:n})=>{const t=n.at(-1);if(!t){return e(r,null)}const{DocumentComponent:i}=this;const o=this.getEmbeddedDocumentComponents(t);return e("dso-document-component",{annotated:this.isAnnotated(t),bevatOntwerpInformatie:!!t.bevatOntwerpInformatie,filtered:this.isOpen(t)?this.isFiltered(t):this.hasFilteredChildren(t),genesteOntwerpInformatie:this.hasNestedDraft(t),gereserveerd:t.gereserveerd,heading:"h2",inhoud:t.inhoud,label:t.labelXml,openAnnotation:this.isOpenedAnnotation(t),notApplicable:this.isNotApplicable(t)||n.some((n=>this.isNotApplicable(n))),nummer:t.nummerXml,onDsoAnnotationToggle:()=>this.handleAnnotationToggle(t),onDsoOpenToggle:()=>this.handleOpenToggle(t),onDsoOzonContentAnchorClick:n=>this.handleOzonContentAnchorClick(n),open:this.isOpen(t),opschrift:t.opschrift,type:t.type,vervallen:t.vervallen,wijzigactie:t.wijzigactie,recursiveToggle:this.recursiveToggleState(t),onDsoRecursiveToggle:n=>this.handleRecursiveToggle(t,n.detail)},this.isOpenedAnnotation(t)&&e("div",{slot:"annotations"},e("dso-annotation-locatie",{active:this.isCheckedSlideToggle(t),"gewijzigde-locatie":true,locatieNoemer:"Winkelgebied",onDsoActiveChange:()=>this.handleSelectableChange(t)},e("span",{class:"symboolcode",slot:"symbool","data-symboolcode":"vszt030"}))),this.showContent(t)&&(o===null||o===void 0?void 0:o.documentComponents.length)&&e("ul",{class:"dso-document-component-list"},o.documentComponents.map((t=>e("li",{key:t.documentTechnischId},e(i,{path:[...n,t]}))))))};this.MenuButton=({documentComponent:n})=>{const{labelXml:t,nummerXml:i,type:o}=n;return e("button",{type:"button",onClick:()=>this.document=n},!t&&!i?e("span",null,e("i",null,o)):e(r,null,t&&e(r,null,e("dso-ozon-content",{content:t,inline:true})),i&&e(r,null," ",e("dso-ozon-content",{content:i,inline:true}))))};this.showCanvas=false;this.jsonFile=undefined;this.openDefault=false;this.response=undefined;this.document=undefined;this.openOrClosed=[];this.openedAnnotation=[];this.filtered=[];this.notApplicable=[];this.activeAnnotationSelectables=[]}async jsonFileWatcher(){this.openOrClosed=[];await this.loadData()}async openDefaultWatcher(){this.openOrClosed=[];await this.loadData()}async componentDidLoad(){await this.loadData()}getEmbeddedDocumentComponents(n){var t,e;if((t=n===null||n===void 0?void 0:n._embedded)===null||t===void 0?void 0:t.ontwerpTekststructuurDocumentComponenten){return{documentComponents:n._embedded.ontwerpTekststructuurDocumentComponenten,ontwerp:true}}if((e=n===null||n===void 0?void 0:n._embedded)===null||e===void 0?void 0:e.tekststructuurDocumentComponenten){return{documentComponents:n._embedded.tekststructuurDocumentComponenten,ontwerp:false}}return undefined}concatEmbeddedDocumentComponents(n){var t,e;const r=[...(e=(t=this.getEmbeddedDocumentComponents(n))===null||t===void 0?void 0:t.documentComponents)!==null&&e!==void 0?e:[]];for(const n of r){r.push(...this.concatEmbeddedDocumentComponents(n))}return r}selectRandomDocumentComponents(n,t=[]){const e=this.concatEmbeddedDocumentComponents(n).filter((n=>!t.includes(n)));const r=Gt(0,Math.floor(e.length/10));return lt(e,r)}async loadData(){var n,t;if(!this.jsonFile){this.response=undefined;this.document=undefined;return}this.response=await fetch(this.jsonFile).then((n=>n.json()));this.document=(n=this.getEmbeddedDocumentComponents(this.response))===null||n===void 0?void 0:n.documentComponents[0];if(((t=this.document)===null||t===void 0?void 0:t.type)==="LICHAAM"){this.notApplicable=this.selectRandomDocumentComponents(this.document);this.filtered=this.selectRandomDocumentComponents(this.document,this.notApplicable)}else{this.notApplicable=[];this.filtered=[]}}handleOpenToggle(n,t){const e=typeof t==="boolean"?t:this.openOrClosed.includes(n);if(e&&this.openOrClosed.includes(n)){this.openOrClosed=this.openOrClosed.filter((t=>t!==n))}else if(!e&&!this.openOrClosed.includes(n)){this.openOrClosed=[...this.openOrClosed,n]}}handleAnnotationToggle(n){this.openedAnnotation=this.isOpenedAnnotation(n)?this.openedAnnotation.filter((t=>t!==n)):[...this.openedAnnotation,n];if(!this.isOpen(n)){this.openOrClosed=[...this.openOrClosed,n]}}handleSelectableChange(n){this.activeAnnotationSelectables=this.isCheckedSlideToggle(n)?this.activeAnnotationSelectables.filter((t=>t!==n)):[...this.activeAnnotationSelectables,n]}handleOzonContentAnchorClick(n){this.dsotOzonContentAnchorClick.emit(n.detail)}isCheckedSlideToggle(n){return this.activeAnnotationSelectables.includes(n)}hasFilteredChildren(n){var t,e;return this.filtered.includes(n)||((e=(t=this.getEmbeddedDocumentComponents(n))===null||t===void 0?void 0:t.documentComponents.some((n=>this.hasFilteredChildren(n))))!==null&&e!==void 0?e:false)}isOpen(n){return n.type==="LID"||this.openDefault?!this.openOrClosed.includes(n):this.openOrClosed.includes(n)}isOpenedAnnotation(n){return this.openedAnnotation.includes(n)}isFiltered(n){return this.filtered.includes(n)}isNotApplicable(n){return this.notApplicable.includes(n)}hasNestedDraft(n){var t,e;return(e=(t=this.getEmbeddedDocumentComponents(n))===null||t===void 0?void 0:t.documentComponents.some((n=>!!n.bevatOntwerpInformatie||this.hasNestedDraft(n))))!==null&&e!==void 0?e:false}showContent(n){var t;return this.isOpen(n)&&!!(((t=this.getEmbeddedDocumentComponents(n))===null||t===void 0?void 0:t.documentComponents.length)||n.inhoud)}recursiveToggleState(n){const t=this.getEmbeddedDocumentComponents(n);if(!t||t.documentComponents.length<=1||!t.documentComponents.some((n=>n.type==="ARTIKEL"))){return undefined}return t.documentComponents.every((n=>this.isOpen(n)))}isAnnotated(n){return n.type==="DIVISIE"||n.type==="DIVISIETEKST"||n.type==="ARTIKEL"||n.type==="LID"}render(){var n,t;const{DocumentComponent:r,MenuButton:i}=this;return e("dso-responsive-element",{key:"d07df5b381d2f191e30be7ba2dabd88db7f164e3",class:"dso-document-components"},e("div",{key:"0be5a621cc7cee60f39a972fad570d6abd5d02be",class:"dso-navbar"},e("ul",{key:"a42800ee7457fb5ea9937b73cfa7f3d0a88cfe58",class:"dso-nav dso-nav-sub"},(t=(n=this.getEmbeddedDocumentComponents(this.response))===null||n===void 0?void 0:n.documentComponents)===null||t===void 0?void 0:t.map((n=>e("li",{class:this.document===n?"dso-active":undefined},e(i,{documentComponent:n})))))),this.document&&e(r,{key:"3cc2536b4541a3d9b3ffdf25b5a6f935b5a76c78",path:[this.document]}))}static get watchers(){return{jsonFile:["jsonFileWatcher"],openDefault:["openDefaultWatcher"]}}};qt.style=Ht;export{qt as dsot_document_component_demo};
2
+ //# sourceMappingURL=p-d01d8bb1.entry.js.map