@dso-toolkit/core 66.2.0 → 67.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/dist/cjs/dso-advanced-select.cjs.entry.js +1 -1
  2. package/dist/cjs/dso-alert_6.cjs.entry.js +5 -14
  3. package/dist/cjs/dso-alert_6.cjs.entry.js.map +1 -1
  4. package/dist/cjs/dso-autosuggest.cjs.entry.js +1 -1
  5. package/dist/cjs/dso-header.cjs.entry.js +1 -2
  6. package/dist/cjs/dso-header.cjs.entry.js.map +1 -1
  7. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js +1 -1
  8. package/dist/cjs/dso-info_2.cjs.entry.js +2 -2
  9. package/dist/cjs/dso-info_2.cjs.entry.js.map +1 -1
  10. package/dist/cjs/dso-label_2.cjs.entry.js +4 -4
  11. package/dist/cjs/dso-label_2.cjs.entry.js.map +1 -1
  12. package/dist/cjs/dso-list-button.cjs.entry.js +2 -2
  13. package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -1
  14. package/dist/cjs/dso-map-base-layers.cjs.entry.js +1 -1
  15. package/dist/cjs/dso-map-controls.cjs.entry.js +1 -1
  16. package/dist/cjs/dso-map-overlays.cjs.entry.js +1 -1
  17. package/dist/cjs/dso-modal.cjs.entry.js +4 -4
  18. package/dist/cjs/dso-modal.cjs.entry.js.map +1 -1
  19. package/dist/cjs/dso-progress-indicator.cjs.entry.js +2 -2
  20. package/dist/cjs/dso-progress-indicator.cjs.entry.js.map +1 -1
  21. package/dist/cjs/dso-renvooi_2.cjs.entry.js +1 -1
  22. package/dist/cjs/dso-skiplink.cjs.entry.js +32 -0
  23. package/dist/cjs/dso-skiplink.cjs.entry.js.map +1 -0
  24. package/dist/cjs/dso-tabs.cjs.entry.js +1 -1
  25. package/dist/cjs/dso-toggletip.cjs.entry.js +1 -1
  26. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  27. package/dist/cjs/dso-tree-view.cjs.entry.js +1 -1
  28. package/dist/cjs/dso-viewer-grid.cjs.entry.js +1 -1
  29. package/dist/cjs/{focus-trap.esm-dd03396f.js → focus-trap.esm-2a6637e5.js} +73 -26
  30. package/dist/cjs/focus-trap.esm-2a6637e5.js.map +1 -0
  31. package/dist/cjs/{i18n-a63b3b9b.js → i18n-f7bc1cee.js} +49 -32
  32. package/dist/cjs/i18n-f7bc1cee.js.map +1 -0
  33. package/dist/cjs/loader.cjs.js +1 -1
  34. package/dist/cjs/v4-6fbeaa38.js.map +1 -1
  35. package/dist/collection/collection-manifest.json +1 -0
  36. package/dist/collection/components/header/header.i18n.js +0 -1
  37. package/dist/collection/components/header/header.i18n.js.map +1 -1
  38. package/dist/collection/components/info/info.css +20 -0
  39. package/dist/collection/components/label/label.js +4 -4
  40. package/dist/collection/components/label/label.js.map +1 -1
  41. package/dist/collection/components/list-button/list-button.css +29 -45
  42. package/dist/collection/components/modal/modal.js +5 -5
  43. package/dist/collection/components/modal/modal.js.map +1 -1
  44. package/dist/collection/components/ozon-content/nodes/figuur.node.js +1 -10
  45. package/dist/collection/components/ozon-content/nodes/figuur.node.js.map +1 -1
  46. package/dist/collection/components/ozon-content/ozon-content.css +0 -5
  47. package/dist/collection/components/progress-indicator/progress-indicator.js +2 -2
  48. package/dist/collection/components/progress-indicator/progress-indicator.js.map +1 -1
  49. package/dist/collection/components/selectable/selectable.css +14 -0
  50. package/dist/collection/components/skiplink/skiplink.css +40 -0
  51. package/dist/collection/components/skiplink/skiplink.interfaces.js +2 -0
  52. package/dist/collection/components/skiplink/skiplink.interfaces.js.map +1 -0
  53. package/dist/collection/components/skiplink/skiplink.js +92 -0
  54. package/dist/collection/components/skiplink/skiplink.js.map +1 -0
  55. package/dist/collection/components/slide-toggle/slide-toggle.js +1 -1
  56. package/dist/collection/components/table/table.js +1 -1
  57. package/dist/collection/components/tabs/tabs.js +1 -1
  58. package/dist/collection/components/toggletip/toggletip.js +1 -1
  59. package/dist/collection/components/tooltip/tooltip.js +1 -1
  60. package/dist/collection/components/tree-view/tree-view.js +1 -1
  61. package/dist/collection/components/viewer-grid/viewer-grid.js +1 -1
  62. package/dist/collection/utils/i18n.js +15 -12
  63. package/dist/collection/utils/i18n.js.map +1 -1
  64. package/dist/components/dso-header.js +0 -1
  65. package/dist/components/dso-header.js.map +1 -1
  66. package/dist/components/dso-list-button.js +1 -1
  67. package/dist/components/dso-list-button.js.map +1 -1
  68. package/dist/components/dso-modal.js +4 -4
  69. package/dist/components/dso-modal.js.map +1 -1
  70. package/dist/components/dso-skiplink.d.ts +11 -0
  71. package/dist/components/dso-skiplink.js +55 -0
  72. package/dist/components/dso-skiplink.js.map +1 -0
  73. package/dist/components/dso-tabs.js +1 -1
  74. package/dist/components/dso-tree-view.js +1 -1
  75. package/dist/components/dso-viewer-grid.js +1 -1
  76. package/dist/components/focus-trap.esm.js +72 -25
  77. package/dist/components/focus-trap.esm.js.map +1 -1
  78. package/dist/components/i18n.js +48 -31
  79. package/dist/components/i18n.js.map +1 -1
  80. package/dist/components/index.d.ts +2 -0
  81. package/dist/components/index.js +1 -0
  82. package/dist/components/index.js.map +1 -1
  83. package/dist/components/info.js +1 -1
  84. package/dist/components/info.js.map +1 -1
  85. package/dist/components/label.js +4 -4
  86. package/dist/components/label.js.map +1 -1
  87. package/dist/components/ozon-content.js +2 -11
  88. package/dist/components/ozon-content.js.map +1 -1
  89. package/dist/components/progress-indicator.js +2 -2
  90. package/dist/components/progress-indicator.js.map +1 -1
  91. package/dist/components/selectable.js +1 -1
  92. package/dist/components/selectable.js.map +1 -1
  93. package/dist/components/slide-toggle.js +1 -1
  94. package/dist/components/table.js +1 -1
  95. package/dist/components/toggletip.js +1 -1
  96. package/dist/components/tooltip.js +1 -1
  97. package/dist/components/v4.js.map +1 -1
  98. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  99. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  100. package/dist/dso-toolkit/{p-9424e171.entry.js → p-1d7b22a2.entry.js} +2 -2
  101. package/dist/dso-toolkit/{p-636a2ad2.entry.js → p-21f133e4.entry.js} +2 -2
  102. package/dist/dso-toolkit/{p-954b3715.entry.js → p-2d2eae19.entry.js} +2 -2
  103. package/dist/dso-toolkit/p-3e9068cd.entry.js +2 -0
  104. package/dist/dso-toolkit/p-3e9068cd.entry.js.map +1 -0
  105. package/dist/dso-toolkit/p-4831099c.entry.js +2 -0
  106. package/dist/dso-toolkit/p-4831099c.entry.js.map +1 -0
  107. package/dist/dso-toolkit/p-5f4e8468.js +6 -0
  108. package/dist/dso-toolkit/p-5f4e8468.js.map +1 -0
  109. package/dist/dso-toolkit/p-672b0b80.js +2 -0
  110. package/dist/dso-toolkit/p-672b0b80.js.map +1 -0
  111. package/dist/dso-toolkit/{p-a2a9f5da.entry.js → p-6789163b.entry.js} +2 -2
  112. package/dist/dso-toolkit/{p-1616c445.entry.js → p-7b3f08da.entry.js} +2 -2
  113. package/dist/dso-toolkit/{p-f412ab80.entry.js → p-7d47fedb.entry.js} +2 -2
  114. package/dist/dso-toolkit/p-7d47fedb.entry.js.map +1 -0
  115. package/dist/dso-toolkit/{p-49e93ef5.entry.js → p-7dfc15c1.entry.js} +2 -2
  116. package/dist/dso-toolkit/{p-e80292b5.entry.js → p-826609e4.entry.js} +2 -2
  117. package/dist/dso-toolkit/{p-e80292b5.entry.js.map → p-826609e4.entry.js.map} +1 -1
  118. package/dist/dso-toolkit/{p-9a0927eb.entry.js → p-9d8395bc.entry.js} +2 -2
  119. package/dist/dso-toolkit/{p-afc4bca7.entry.js → p-9df0ed5f.entry.js} +2 -2
  120. package/dist/dso-toolkit/p-a2db4965.entry.js +2 -0
  121. package/dist/dso-toolkit/p-a2db4965.entry.js.map +1 -0
  122. package/dist/dso-toolkit/{p-7cfa6ab1.entry.js → p-c2f086f2.entry.js} +2 -2
  123. package/dist/dso-toolkit/{p-10603e10.entry.js → p-cb0a7103.entry.js} +2 -2
  124. package/dist/dso-toolkit/{p-1022c4bd.entry.js → p-d3857319.entry.js} +2 -2
  125. package/dist/dso-toolkit/p-d88ebb12.entry.js +2 -0
  126. package/dist/dso-toolkit/p-d88ebb12.entry.js.map +1 -0
  127. package/dist/dso-toolkit/p-e05b8f92.entry.js +2 -0
  128. package/dist/dso-toolkit/p-e05b8f92.entry.js.map +1 -0
  129. package/dist/dso-toolkit/p-fbfe9a96.entry.js +2 -0
  130. package/dist/dso-toolkit/p-fbfe9a96.entry.js.map +1 -0
  131. package/dist/dso-toolkit/p-ffb34aa5.js.map +1 -1
  132. package/dist/esm/dso-advanced-select.entry.js +1 -1
  133. package/dist/esm/dso-alert_6.entry.js +5 -14
  134. package/dist/esm/dso-alert_6.entry.js.map +1 -1
  135. package/dist/esm/dso-autosuggest.entry.js +1 -1
  136. package/dist/esm/dso-header.entry.js +1 -2
  137. package/dist/esm/dso-header.entry.js.map +1 -1
  138. package/dist/esm/dso-helpcenter-panel.entry.js +1 -1
  139. package/dist/esm/dso-info_2.entry.js +2 -2
  140. package/dist/esm/dso-info_2.entry.js.map +1 -1
  141. package/dist/esm/dso-label_2.entry.js +4 -4
  142. package/dist/esm/dso-label_2.entry.js.map +1 -1
  143. package/dist/esm/dso-list-button.entry.js +2 -2
  144. package/dist/esm/dso-list-button.entry.js.map +1 -1
  145. package/dist/esm/dso-map-base-layers.entry.js +1 -1
  146. package/dist/esm/dso-map-controls.entry.js +1 -1
  147. package/dist/esm/dso-map-overlays.entry.js +1 -1
  148. package/dist/esm/dso-modal.entry.js +4 -4
  149. package/dist/esm/dso-modal.entry.js.map +1 -1
  150. package/dist/esm/dso-progress-indicator.entry.js +2 -2
  151. package/dist/esm/dso-progress-indicator.entry.js.map +1 -1
  152. package/dist/esm/dso-renvooi_2.entry.js +1 -1
  153. package/dist/esm/dso-skiplink.entry.js +28 -0
  154. package/dist/esm/dso-skiplink.entry.js.map +1 -0
  155. package/dist/esm/dso-tabs.entry.js +1 -1
  156. package/dist/esm/dso-toggletip.entry.js +1 -1
  157. package/dist/esm/dso-toolkit.js +1 -1
  158. package/dist/esm/dso-tree-view.entry.js +1 -1
  159. package/dist/esm/dso-viewer-grid.entry.js +1 -1
  160. package/dist/esm/{focus-trap.esm-24223ea1.js → focus-trap.esm-c9e1f389.js} +73 -26
  161. package/dist/esm/focus-trap.esm-c9e1f389.js.map +1 -0
  162. package/dist/esm/{i18n-c9ec6445.js → i18n-f2d58c82.js} +49 -32
  163. package/dist/esm/i18n-f2d58c82.js.map +1 -0
  164. package/dist/esm/loader.js +1 -1
  165. package/dist/esm/v4-692dad5f.js.map +1 -1
  166. package/dist/types/components/modal/modal.d.ts +1 -1
  167. package/dist/types/components/ozon-content/nodes/figuur.node.d.ts +0 -3
  168. package/dist/types/components/skiplink/skiplink.d.ts +18 -0
  169. package/dist/types/components/skiplink/skiplink.interfaces.d.ts +5 -0
  170. package/dist/types/components.d.ts +58 -8
  171. package/package.json +6 -6
  172. package/dist/cjs/focus-trap.esm-dd03396f.js.map +0 -1
  173. package/dist/cjs/i18n-a63b3b9b.js.map +0 -1
  174. package/dist/dso-toolkit/p-3225dd02.entry.js +0 -2
  175. package/dist/dso-toolkit/p-3225dd02.entry.js.map +0 -1
  176. package/dist/dso-toolkit/p-74e0e63e.entry.js +0 -2
  177. package/dist/dso-toolkit/p-74e0e63e.entry.js.map +0 -1
  178. package/dist/dso-toolkit/p-8f0e00b0.entry.js +0 -2
  179. package/dist/dso-toolkit/p-8f0e00b0.entry.js.map +0 -1
  180. package/dist/dso-toolkit/p-992c287c.entry.js +0 -2
  181. package/dist/dso-toolkit/p-992c287c.entry.js.map +0 -1
  182. package/dist/dso-toolkit/p-b0a3dfcb.entry.js +0 -2
  183. package/dist/dso-toolkit/p-b0a3dfcb.entry.js.map +0 -1
  184. package/dist/dso-toolkit/p-c3e750cc.js +0 -2
  185. package/dist/dso-toolkit/p-c3e750cc.js.map +0 -1
  186. package/dist/dso-toolkit/p-f0538f4a.js +0 -6
  187. package/dist/dso-toolkit/p-f0538f4a.js.map +0 -1
  188. package/dist/dso-toolkit/p-f412ab80.entry.js.map +0 -1
  189. package/dist/esm/focus-trap.esm-24223ea1.js.map +0 -1
  190. package/dist/esm/i18n-c9ec6445.js.map +0 -1
  191. /package/dist/dso-toolkit/{p-9424e171.entry.js.map → p-1d7b22a2.entry.js.map} +0 -0
  192. /package/dist/dso-toolkit/{p-636a2ad2.entry.js.map → p-21f133e4.entry.js.map} +0 -0
  193. /package/dist/dso-toolkit/{p-954b3715.entry.js.map → p-2d2eae19.entry.js.map} +0 -0
  194. /package/dist/dso-toolkit/{p-a2a9f5da.entry.js.map → p-6789163b.entry.js.map} +0 -0
  195. /package/dist/dso-toolkit/{p-1616c445.entry.js.map → p-7b3f08da.entry.js.map} +0 -0
  196. /package/dist/dso-toolkit/{p-49e93ef5.entry.js.map → p-7dfc15c1.entry.js.map} +0 -0
  197. /package/dist/dso-toolkit/{p-9a0927eb.entry.js.map → p-9d8395bc.entry.js.map} +0 -0
  198. /package/dist/dso-toolkit/{p-afc4bca7.entry.js.map → p-9df0ed5f.entry.js.map} +0 -0
  199. /package/dist/dso-toolkit/{p-7cfa6ab1.entry.js.map → p-c2f086f2.entry.js.map} +0 -0
  200. /package/dist/dso-toolkit/{p-10603e10.entry.js.map → p-cb0a7103.entry.js.map} +0 -0
  201. /package/dist/dso-toolkit/{p-1022c4bd.entry.js.map → p-d3857319.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["translations","en","success","info","warning","error","nl","alertCss","DsoAlertStyle0","Alert","this","text","i18n","host","render","status","Error","h","key","class","clsx","compact","role","roleAlert","undefined","icon","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","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","getStyle","breedte","hoogte","Array","from","titel","find","textContent","illustratieNode","bijschriftNode","illustratie","naam","uitlijning","locatie","preventLayoutShift","Number","slot","_f","_e","_d","style","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","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","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","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.i18n.ts","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":["import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-alert\": {\r\n success: \"Success\",\r\n info: \"Notice\",\r\n warning: \"Warning\",\r\n error: \"Error\",\r\n },\r\n },\r\n nl: {\r\n \"dso-alert\": {\r\n success: \"Gelukt\",\r\n info: \"Opmerking\",\r\n warning: \"Waarschuwing\",\r\n error: \"Fout\",\r\n },\r\n },\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/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, Element, h, Prop } from \"@stencil/core\";\r\n\r\nimport clsx from \"clsx\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\n\r\nimport { translations } from \"./alert.i18n\";\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 @Element()\r\n host!: HTMLDsoAlertElement;\r\n\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 text = i18n(() => this.host, translations);\r\n\r\n render() {\r\n const status = this.text(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 <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 getStyle(breedte: number, hoogte: number) {\r\n if (breedte && hoogte) {\r\n return {\r\n \"--img-aspect-ratio\": (breedte / hoogte).toString(),\r\n };\r\n }\r\n return;\r\n }\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const childNodes = Array.from(node.childNodes);\r\n const titel = childNodes.find((n) => getNodeName(n) === \"Titel\")?.textContent;\r\n const bron = childNodes.find((n) => getNodeName(n) === \"Bron\");\r\n\r\n const illustratieNode = childNodes.find((n) => getNodeName(n) === \"Illustratie\");\r\n const bijschriftNode = childNodes.find((n) => getNodeName(n) === \"Bijschrift\");\r\n\r\n 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 const preventLayoutShift = !!Number(illustratie.breedte) && !!Number(illustratie.hoogte);\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\r\n src={illustratie.naam ?? undefined}\r\n alt={illustratie.alt ?? titel ?? illustratie.naam ?? undefined}\r\n class={{ \"dso-ozon-figuur-reserve-space\": preventLayoutShift }}\r\n style={this.getStyle(Number(illustratie.breedte), Number(illustratie.hoogte))}\r\n />\r\n {(bijschrift || bron) && (\r\n <div slot=\"bijschrift\">\r\n <Bijschrift bijschrift={bijschrift} bron={bron} mapNodeToJsx={mapNodeToJsx} />\r\n </div>\r\n )}\r\n </dso-image-overlay>\r\n {(bijschrift?.locatie === \"onder\" || (!bijschrift && bron)) && (\r\n <Bijschrift bijschrift={bijschrift} bron={bron} mapNodeToJsx={mapNodeToJsx} />\r\n )}\r\n </div>\r\n );\r\n }\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentInhoudNode implements OzonContentNode {\r\n name = [\"Inhoud\", \"ContainerBlocksType\", \"BlockMixedcontentMetMaximaleInlinesMarkersPopupsType\"];\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n 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 .dso-ozon-figuur-reserve-space {\r\n inline-size: 100%;\r\n block-size: auto;\r\n aspect-ratio: var(--img-aspect-ratio);\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 +0,0 @@
1
- import{r as e,c as s,h as t,F as l,f as o,a as c}from"./p-7fc1e494.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 n=d;const b=class{constructor(t){e(this,t);this.dsoClose=s(this,"dsoClose",7);this.fixed=undefined;this.active=undefined}render(){return t(l,{key:"3b3a3390da24484d21869661692c293f766bb06b"},t("slot",{key:"83976a207e4c1505329876192c83e6eccc1f6a52"}),!this.fixed&&t("button",{key:"de983b145b9a2cfd1adccc13116f0f17e8130314",type:"button",onClick:e=>this.dsoClose.emit(e)},t("dso-icon",{key:"c34a3568d69b61537de385c4e9b6277be5ea7697",icon:"times"}),t("span",{key:"bc2069fa68085e27fd9bab79d41ec801f5da1c5f",class:"sr-only"},"Sluiten")))}};b.style=n;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:"fa4b6f259cdabb24f0663b252c6a0e759a56ba9d"},t("div",{key:"da1e026349a4d3c7a9cf108f46858aaa17a3dd34",class:"dso-selectable-container"},t("div",{key:"2d17dd9bb4933475c0dd9778de0ccb97a77cbd99",class:i("dso-selectable-input-wrapper",{"dso-keyboard-focus":this.keyboardFocus})},t("input",{key:"4f46deb4c37e9577626af506551cf713214cf2a7",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:"e54d3223fb6a7d07a6b39f14b544bf0dffa5ca86",active:this.infoActive,onDsoToggle:e=>this.infoActive=e.detail.active})),s&&t("dso-info",{key:"072933f4b06ef2f3c187b530f4e015f46044bf70",id:s&&this.infoFixed?this.describedById:undefined,fixed:this.infoFixed,active:this.infoActive,onDsoClose:()=>this.infoActive=false},t("div",{key:"2142cbabdf2d970f36144b7d7658587b007d8164"},t("slot",{key:"0d21b22bb68c34eeba23668633391bd62b7b2c40",name:"info"}))),t("slot",{key:"93ee767f26fb270c7dcc4aaa81ef522c205a386b",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{b as dso_info,h as dso_selectable};
2
- //# sourceMappingURL=p-b0a3dfcb.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["infoCss","DsoInfoStyle0","Info","render","h","Fragment","key","this","fixed","type","onClick","e","dsoClose","emit","icon","class","selectableCss","DsoSelectableStyle0","Selectable","fallbackIdentifier","createIdentifier","handleOnChange","target","dsoChange","originalEvent","checked","HTMLInputElement","forceUpdate","host","toggleInfo","active","infoActive","componentDidLoad","_a","mutationObserver","disconnect","MutationObserver","observe","childList","setIndeterminate","disconnectedCallback","input","indeterminate","hasInfo","querySelector","clsx","keyboardFocus","id","getIdentifier","value","name","invalid","toString","infoFixed","describedById","undefined","labelledById","disabled","required","onChange","onBlur","onKeyUp","ref","el","htmlFor","onDsoToggle","detail","onDsoClose","componentDidRender","identifier"],"sources":["src/components/info/info.scss?tag=dso-info&encapsulation=shadow","src/components/info/info.tsx","src/components/selectable/selectable.scss?tag=dso-selectable&encapsulation=scoped","src/components/selectable/selectable.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/info\";\r\n\r\n:host {\r\n display: block;\r\n\r\n @include info.root();\r\n}\r\n\r\n:host(:not([active], [fixed])),\r\n:host([active=\"false\"]:not([fixed])),\r\n:host([active=\"false\"][fixed=\"false\"]) {\r\n display: none;\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n","import { h, Component, Event, Prop, EventEmitter, Fragment } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"dso-info\",\r\n styleUrl: \"./info.scss\",\r\n shadow: true,\r\n})\r\nexport class Info {\r\n /**\r\n * Set to true if the Info should not be toggled and always visible.\r\n */\r\n @Prop({ reflect: true })\r\n fixed?: boolean;\r\n\r\n /**\r\n * Whether the Info is active.\r\n */\r\n @Prop({ reflect: true })\r\n active?: boolean;\r\n\r\n /**\r\n * Emitted when the user activates the close button.\r\n */\r\n @Event()\r\n dsoClose!: EventEmitter<MouseEvent>;\r\n\r\n render() {\r\n return (\r\n <Fragment>\r\n <slot></slot>\r\n {!this.fixed && (\r\n <button type=\"button\" onClick={(e) => this.dsoClose.emit(e)}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Sluiten</span>\r\n </button>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/selectable\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n @include selectable.root(false);\r\n\r\n padding-inline-start: selectable.$symbol-indent;\r\n\r\n &[invalid]:not([invalid=\"false\"]) {\r\n @include selectable.invalid();\r\n }\r\n}\r\n\r\n:host(:not(:last-child)) {\r\n @include selectable.notLastChild();\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.dso-selectable-container {\r\n display: inline-block;\r\n\r\n .dso-selectable-input-wrapper {\r\n display: inline-block;\r\n min-block-size: units.$u3;\r\n\r\n &:focus-within.dso-keyboard-focus {\r\n position: relative;\r\n inset-inline-start: -(selectable.$symbol-indent);\r\n\r\n padding-inline-start: selectable.$symbol-indent;\r\n\r\n margin-inline-end: -(selectable.$symbol-indent);\r\n\r\n @include utilities.focus-outline();\r\n }\r\n\r\n input[type=\"radio\"],\r\n input[type=\"checkbox\"] {\r\n &:focus + label::before {\r\n @include selectable.selectableBoxShadow(\r\n selectable.$border-width,\r\n var(--dso-selectable-color, selectable.$valid-color)\r\n );\r\n }\r\n }\r\n }\r\n}\r\n","import {\r\n h,\r\n Component,\r\n Prop,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Element,\r\n State,\r\n forceUpdate,\r\n Watch,\r\n Method,\r\n ComponentInterface,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { createIdentifier } from \"../../utils/create-identifier\";\r\nimport { SelectableChangeEvent } from \"./selectable.interfaces\";\r\n\r\n/**\r\n * @slot - The label for this control\r\n * @slot info - Rich Content to be slotted in Info.\r\n * @slot options - for further nested selectable options: `<ul class=\"dso-selectable-options\" slot=\"options\">` and wrap each Selectable in a `<li>`.\r\n */\r\n@Component({\r\n tag: \"dso-selectable\",\r\n styleUrl: \"selectable.scss\",\r\n scoped: true,\r\n})\r\nexport class Selectable implements ComponentInterface {\r\n /**\r\n * Type of Selectable.\r\n *\r\n * `checkbox`: Multiple options\r\n * `radio`: Single option.\r\n */\r\n @Prop()\r\n type!: \"checkbox\" | \"radio\";\r\n\r\n /**\r\n * To set `<input id>` attribute for external references.\r\n */\r\n @Prop()\r\n identifier?: string;\r\n\r\n /**\r\n * Name of the Selectable. Can be used to group Selectables.\r\n */\r\n @Prop()\r\n name?: string;\r\n\r\n /**\r\n * The value of the Selectable.\r\n */\r\n @Prop()\r\n value!: string;\r\n\r\n /**\r\n * Set to true of the current value is not valid.\r\n */\r\n @Prop()\r\n invalid?: boolean;\r\n\r\n /**\r\n * To link this control to an element that describes it.\r\n */\r\n @Prop()\r\n describedById?: string;\r\n\r\n /**\r\n * To link this control to an element that labels it.\r\n */\r\n @Prop()\r\n labelledById?: string;\r\n\r\n /**\r\n * To disable the Selectable.\r\n */\r\n @Prop()\r\n disabled?: boolean;\r\n\r\n /**\r\n * To mark the Selectable as required.\r\n */\r\n @Prop()\r\n required?: boolean;\r\n\r\n /**\r\n * Mark the Selectable as checked\r\n */\r\n @Prop({ reflect: true })\r\n checked?: boolean;\r\n\r\n /**\r\n * An indeterminate state is neither true or false. It means the answer is somewhere in between.\r\n *\r\n * Can be used to indicate child Selectables that are a mix of checked and unchecked.\r\n */\r\n @Prop()\r\n indeterminate?: boolean;\r\n\r\n /**\r\n * Set to true if the Info should not be toggled and always visible.\r\n */\r\n @Prop()\r\n infoFixed?: boolean;\r\n\r\n /**\r\n * Emitted when the user checks or unchecks the Selectable.\r\n */\r\n @Event()\r\n dsoChange!: EventEmitter<SelectableChangeEvent>;\r\n\r\n @Element()\r\n host!: HTMLDsoSelectableElement;\r\n\r\n @State()\r\n infoActive = false;\r\n\r\n @State()\r\n keyboardFocus = false;\r\n\r\n /**\r\n * Method to toggle the Info. Is set to `active` when passed.\r\n *\r\n * If `active` is not passed, Info is toggled to opposite value.\r\n * @param active\r\n */\r\n @Method()\r\n async toggleInfo(active?: boolean) {\r\n this.infoActive = active ?? !this.infoActive;\r\n }\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private fallbackIdentifier = createIdentifier(\"DsoSelectable\");\r\n\r\n private input: HTMLInputElement | undefined;\r\n\r\n private handleOnChange = (e: Event) => {\r\n const { target } = e;\r\n\r\n this.dsoChange.emit({\r\n originalEvent: e,\r\n checked: target instanceof HTMLInputElement && target.checked,\r\n });\r\n\r\n forceUpdate(this.host);\r\n };\r\n\r\n componentDidLoad() {\r\n this.mutationObserver?.disconnect();\r\n\r\n this.mutationObserver = new MutationObserver(() => forceUpdate(this.host));\r\n this.mutationObserver.observe(this.host, {\r\n childList: true,\r\n });\r\n\r\n this.setIndeterminate();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.mutationObserver?.disconnect();\r\n }\r\n\r\n @Watch(\"indeterminate\")\r\n setIndeterminate() {\r\n if (!(this.input instanceof HTMLInputElement) || this.type !== \"checkbox\") {\r\n return;\r\n }\r\n\r\n this.input.indeterminate = !!this.indeterminate;\r\n }\r\n\r\n render() {\r\n const hasInfo = !!this.host.querySelector('[slot=\"info\"]');\r\n\r\n return (\r\n <Fragment>\r\n <div class=\"dso-selectable-container\">\r\n <div class={clsx(\"dso-selectable-input-wrapper\", { \"dso-keyboard-focus\": this.keyboardFocus })}>\r\n <input\r\n type={this.type}\r\n id={this.getIdentifier()}\r\n value={this.value}\r\n name={this.name}\r\n aria-invalid={this.invalid?.toString()}\r\n aria-describedby={hasInfo && this.infoFixed ? this.describedById : undefined}\r\n aria-labelledBy={this.labelledById}\r\n disabled={this.disabled}\r\n required={this.required}\r\n checked={this.checked}\r\n onChange={this.handleOnChange}\r\n onBlur={() => (this.keyboardFocus = false)}\r\n onKeyUp={() => (this.keyboardFocus = true)}\r\n ref={(el) => (this.input = el)}\r\n />\r\n {!this.labelledById ? (\r\n <label htmlFor={this.getIdentifier()}>\r\n <slot />\r\n </label>\r\n ) : (\r\n <label>\r\n <slot />\r\n </label>\r\n )}\r\n </div>\r\n {hasInfo && !this.infoFixed && (\r\n <dso-info-button\r\n active={this.infoActive}\r\n onDsoToggle={(e) => (this.infoActive = e.detail.active)}\r\n ></dso-info-button>\r\n )}\r\n </div>\r\n {hasInfo && (\r\n <dso-info\r\n id={hasInfo && this.infoFixed ? this.describedById : undefined}\r\n fixed={this.infoFixed}\r\n active={this.infoActive}\r\n onDsoClose={() => (this.infoActive = false)}\r\n >\r\n <div>\r\n <slot name=\"info\"></slot>\r\n </div>\r\n </dso-info>\r\n )}\r\n <slot name=\"options\" />\r\n </Fragment>\r\n );\r\n }\r\n\r\n componentDidRender(): void {\r\n if (this.input && typeof this.checked === \"boolean\" && this.input.checked !== this.checked) {\r\n this.input.checked = this.checked;\r\n }\r\n }\r\n\r\n private getIdentifier(): string {\r\n return this.identifier ?? this.fallbackIdentifier;\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- const t=t=>typeof t==="string";const e=()=>{let t;let e;const i=new Promise(((i,s)=>{t=i;e=s}));i.resolve=t;i.reject=e;return i};const i=t=>{if(t==null)return"";return""+t};const s=(t,e,i)=>{t.forEach((t=>{if(e[t])i[t]=e[t]}))};const n=/###/g;const r=t=>t&&t.indexOf("###")>-1?t.replace(n,"."):t;const f=e=>!e||t(e);const o=(e,i,s)=>{const n=!t(i)?i:i.split(".");let o=0;while(o<n.length-1){if(f(e))return{};const t=r(n[o]);if(!e[t]&&s)e[t]=new s;if(Object.prototype.hasOwnProperty.call(e,t)){e=e[t]}else{e={}}++o}if(f(e))return{};return{obj:e,k:r(n[o])}};const h=(t,e,i)=>{const{obj:s,k:n}=o(t,e,Object);if(s!==undefined||e.length===1){s[n]=i;return}let r=e[e.length-1];let f=e.slice(0,e.length-1);let h=o(t,f,Object);while(h.obj===undefined&&f.length){r=`${f[f.length-1]}.${r}`;f=f.slice(0,f.length-1);h=o(t,f,Object);if(h&&h.obj&&typeof h.obj[`${h.k}.${r}`]!=="undefined"){h.obj=undefined}}h.obj[`${h.k}.${r}`]=i};const a=(t,e,i,s)=>{const{obj:n,k:r}=o(t,e,Object);n[r]=n[r]||[];n[r].push(i)};const u=(t,e)=>{const{obj:i,k:s}=o(t,e);if(!i)return undefined;return i[s]};const l=(t,e,i)=>{const s=u(t,i);if(s!==undefined){return s}return u(e,i)};const c=(e,i,s)=>{for(const n in i){if(n!=="__proto__"&&n!=="constructor"){if(n in e){if(t(e[n])||e[n]instanceof String||t(i[n])||i[n]instanceof String){if(s)e[n]=i[n]}else{c(e[n],i[n],s)}}else{e[n]=i[n]}}}return e};const d=t=>t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var g={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const p=e=>{if(t(e)){return e.replace(/[&<>"'\/]/g,(t=>g[t]))}return e};class m{constructor(t){this.capacity=t;this.regExpMap=new Map;this.regExpQueue=[]}getRegExp(t){const e=this.regExpMap.get(t);if(e!==undefined){return e}const i=new RegExp(t);if(this.regExpQueue.length===this.capacity){this.regExpMap.delete(this.regExpQueue.shift())}this.regExpMap.set(t,i);this.regExpQueue.push(t);return i}}const y=[" ",",","?","!",";"];const b=new m(20);const $=(t,e,i)=>{e=e||"";i=i||"";const s=y.filter((t=>e.indexOf(t)<0&&i.indexOf(t)<0));if(s.length===0)return true;const n=b.getRegExp(`(${s.map((t=>t==="?"?"\\?":t)).join("|")})`);let r=!n.test(t);if(!r){const e=t.indexOf(i);if(e>0&&!n.test(t.substring(0,e))){r=true}}return r};const w=function(t,e){let i=arguments.length>2&&arguments[2]!==undefined?arguments[2]:".";if(!t)return undefined;if(t[e])return t[e];const s=e.split(i);let n=t;for(let t=0;t<s.length;){if(!n||typeof n!=="object"){return undefined}let e;let r="";for(let f=t;f<s.length;++f){if(f!==t){r+=i}r+=s[f];e=n[r];if(e!==undefined){if(["string","number","boolean"].indexOf(typeof e)>-1&&f<s.length-1){continue}t+=f-t+1;break}}n=e}return n};const v=t=>t&&t.replace("_","-");const x={type:"logger",log(t){this.output("log",t)},warn(t){this.output("warn",t)},error(t){this.output("error",t)},output(t,e){if(console&&console[t])console[t].apply(console,e)}};class N{constructor(t){let e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};this.init(t,e)}init(t){let e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};this.prefix=e.prefix||"i18next:";this.logger=t||x;this.options=e;this.debug=e.debug}log(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++){e[i]=arguments[i]}return this.forward(e,"log","",true)}warn(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++){e[i]=arguments[i]}return this.forward(e,"warn","",true)}error(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++){e[i]=arguments[i]}return this.forward(e,"error","")}deprecate(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++){e[i]=arguments[i]}return this.forward(e,"warn","WARNING DEPRECATED: ",true)}forward(e,i,s,n){if(n&&!this.debug)return null;if(t(e[0]))e[0]=`${s}${this.prefix} ${e[0]}`;return this.logger[i](e)}create(t){return new N(this.logger,{...{prefix:`${this.prefix}:${t}:`},...this.options})}clone(t){t=t||this.options;t.prefix=t.prefix||this.prefix;return new N(this.logger,t)}}var k=new N;class j{constructor(){this.observers={}}on(t,e){t.split(" ").forEach((t=>{if(!this.observers[t])this.observers[t]=new Map;const i=this.observers[t].get(e)||0;this.observers[t].set(e,i+1)}));return this}off(t,e){if(!this.observers[t])return;if(!e){delete this.observers[t];return}this.observers[t].delete(e)}emit(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),s=1;s<e;s++){i[s-1]=arguments[s]}if(this.observers[t]){const e=Array.from(this.observers[t].entries());e.forEach((t=>{let[e,s]=t;for(let t=0;t<s;t++){e(...i)}}))}if(this.observers["*"]){const e=Array.from(this.observers["*"].entries());e.forEach((e=>{let[s,n]=e;for(let e=0;e<n;e++){s.apply(s,[t,...i])}}))}}}class O extends j{constructor(t){let e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{ns:["translation"],defaultNS:"translation"};super();this.data=t||{};this.options=e;if(this.options.keySeparator===undefined){this.options.keySeparator="."}if(this.options.ignoreJSONStructure===undefined){this.options.ignoreJSONStructure=true}}addNamespaces(t){if(this.options.ns.indexOf(t)<0){this.options.ns.push(t)}}removeNamespaces(t){const e=this.options.ns.indexOf(t);if(e>-1){this.options.ns.splice(e,1)}}getResource(e,i,s){let n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{};const r=n.keySeparator!==undefined?n.keySeparator:this.options.keySeparator;const f=n.ignoreJSONStructure!==undefined?n.ignoreJSONStructure:this.options.ignoreJSONStructure;let o;if(e.indexOf(".")>-1){o=e.split(".")}else{o=[e,i];if(s){if(Array.isArray(s)){o.push(...s)}else if(t(s)&&r){o.push(...s.split(r))}else{o.push(s)}}}const h=u(this.data,o);if(!h&&!i&&!s&&e.indexOf(".")>-1){e=o[0];i=o[1];s=o.slice(2).join(".")}if(h||!f||!t(s))return h;return w(this.data&&this.data[e]&&this.data[e][i],s,r)}addResource(t,e,i,s){let n=arguments.length>4&&arguments[4]!==undefined?arguments[4]:{silent:false};const r=n.keySeparator!==undefined?n.keySeparator:this.options.keySeparator;let f=[t,e];if(i)f=f.concat(r?i.split(r):i);if(t.indexOf(".")>-1){f=t.split(".");s=e;e=f[1]}this.addNamespaces(e);h(this.data,f,s);if(!n.silent)this.emit("added",t,e,i,s)}addResources(e,i,s){let n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{silent:false};for(const n in s){if(t(s[n])||Array.isArray(s[n]))this.addResource(e,i,n,s[n],{silent:true})}if(!n.silent)this.emit("added",e,i,s)}addResourceBundle(t,e,i,s,n){let r=arguments.length>5&&arguments[5]!==undefined?arguments[5]:{silent:false,skipCopy:false};let f=[t,e];if(t.indexOf(".")>-1){f=t.split(".");s=i;i=e;e=f[1]}this.addNamespaces(e);let o=u(this.data,f)||{};if(!r.skipCopy)i=JSON.parse(JSON.stringify(i));if(s){c(o,i,n)}else{o={...o,...i}}h(this.data,f,o);if(!r.silent)this.emit("added",t,e,i)}removeResourceBundle(t,e){if(this.hasResourceBundle(t,e)){delete this.data[t][e]}this.removeNamespaces(e);this.emit("removed",t,e)}hasResourceBundle(t,e){return this.getResource(t,e)!==undefined}getResourceBundle(t,e){if(!e)e=this.options.defaultNS;if(this.options.compatibilityAPI==="v1")return{...{},...this.getResource(t,e)};return this.getResource(t,e)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const e=this.getDataByLanguage(t);const i=e&&Object.keys(e)||[];return!!i.find((t=>e[t]&&Object.keys(e[t]).length>0))}toJSON(){return this.data}}var S={processors:{},addPostProcessor(t){this.processors[t.name]=t},handle(t,e,i,s,n){t.forEach((t=>{if(this.processors[t])e=this.processors[t].process(e,i,s,n)}));return e}};const R={};class L extends j{constructor(t){let e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};super();s(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this);this.options=e;if(this.options.keySeparator===undefined){this.options.keySeparator="."}this.logger=k.create("translator")}changeLanguage(t){if(t)this.language=t}exists(t){let e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{interpolation:{}};if(t===undefined||t===null){return false}const i=this.resolve(t,e);return i&&i.res!==undefined}extractFromKey(e,i){let s=i.nsSeparator!==undefined?i.nsSeparator:this.options.nsSeparator;if(s===undefined)s=":";const n=i.keySeparator!==undefined?i.keySeparator:this.options.keySeparator;let r=i.ns||this.options.defaultNS||[];const f=s&&e.indexOf(s)>-1;const o=!this.options.userDefinedKeySeparator&&!i.keySeparator&&!this.options.userDefinedNsSeparator&&!i.nsSeparator&&!$(e,s,n);if(f&&!o){const t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0){return{key:e,namespaces:r}}const i=e.split(s);if(s!==n||s===n&&this.options.ns.indexOf(i[0])>-1)r=i.shift();e=i.join(n)}if(t(r))r=[r];return{key:e,namespaces:r}}translate(e,i,s){if(typeof i!=="object"&&this.options.overloadTranslationOptionHandler){i=this.options.overloadTranslationOptionHandler(arguments)}if(typeof i==="object")i={...i};if(!i)i={};if(e===undefined||e===null)return"";if(!Array.isArray(e))e=[String(e)];const n=i.returnDetails!==undefined?i.returnDetails:this.options.returnDetails;const r=i.keySeparator!==undefined?i.keySeparator:this.options.keySeparator;const{key:f,namespaces:o}=this.extractFromKey(e[e.length-1],i);const h=o[o.length-1];const a=i.lng||this.language;const u=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(a&&a.toLowerCase()==="cimode"){if(u){const t=i.nsSeparator||this.options.nsSeparator;if(n){return{res:`${h}${t}${f}`,usedKey:f,exactUsedKey:f,usedLng:a,usedNS:h,usedParams:this.getUsedParamsDetails(i)}}return`${h}${t}${f}`}if(n){return{res:f,usedKey:f,exactUsedKey:f,usedLng:a,usedNS:h,usedParams:this.getUsedParamsDetails(i)}}return f}const l=this.resolve(e,i);let c=l&&l.res;const d=l&&l.usedKey||f;const g=l&&l.exactUsedKey||f;const p=Object.prototype.toString.apply(c);const m=["[object Number]","[object Function]","[object RegExp]"];const y=i.joinArrays!==undefined?i.joinArrays:this.options.joinArrays;const b=!this.i18nFormat||this.i18nFormat.handleAsObject;const $=!t(c)&&typeof c!=="boolean"&&typeof c!=="number";if(b&&c&&$&&m.indexOf(p)<0&&!(t(y)&&Array.isArray(c))){if(!i.returnObjects&&!this.options.returnObjects){if(!this.options.returnedObjectHandler){this.logger.warn("accessing an object - but returnObjects options is not enabled!")}const t=this.options.returnedObjectHandler?this.options.returnedObjectHandler(d,c,{...i,ns:o}):`key '${f} (${this.language})' returned an object instead of string.`;if(n){l.res=t;l.usedParams=this.getUsedParamsDetails(i);return l}return t}if(r){const t=Array.isArray(c);const e=t?[]:{};const s=t?g:d;for(const t in c){if(Object.prototype.hasOwnProperty.call(c,t)){const n=`${s}${r}${t}`;e[t]=this.translate(n,{...i,...{joinArrays:false,ns:o}});if(e[t]===n)e[t]=c[t]}}c=e}}else if(b&&t(y)&&Array.isArray(c)){c=c.join(y);if(c)c=this.extendTranslation(c,e,i,s)}else{let n=false;let o=false;const u=i.count!==undefined&&!t(i.count);const d=L.hasDefaultValue(i);const g=u?this.pluralResolver.getSuffix(a,i.count,i):"";const p=i.ordinal&&u?this.pluralResolver.getSuffix(a,i.count,{ordinal:false}):"";const m=u&&!i.ordinal&&i.count===0&&this.pluralResolver.shouldUseIntlApi();const y=m&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${g}`]||i[`defaultValue${p}`]||i.defaultValue;if(!this.isValidLookup(c)&&d){n=true;c=y}if(!this.isValidLookup(c)){o=true;c=f}const b=i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey;const $=b&&o?undefined:c;const w=d&&y!==c&&this.options.updateMissing;if(o||n||w){this.logger.log(w?"updateKey":"missingKey",a,h,f,w?y:c);if(r){const t=this.resolve(f,{...i,keySeparator:false});if(t&&t.res)this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let t=[];const e=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo==="fallback"&&e&&e[0]){for(let i=0;i<e.length;i++){t.push(e[i])}}else if(this.options.saveMissingTo==="all"){t=this.languageUtils.toResolveHierarchy(i.lng||this.language)}else{t.push(i.lng||this.language)}const s=(t,e,s)=>{const n=d&&s!==c?s:$;if(this.options.missingKeyHandler){this.options.missingKeyHandler(t,h,e,n,w,i)}else if(this.backendConnector&&this.backendConnector.saveMissing){this.backendConnector.saveMissing(t,h,e,n,w,i)}this.emit("missingKey",t,h,e,c)};if(this.options.saveMissing){if(this.options.saveMissingPlurals&&u){t.forEach((t=>{const e=this.pluralResolver.getSuffixes(t,i);if(m&&i[`defaultValue${this.options.pluralSeparator}zero`]&&e.indexOf(`${this.options.pluralSeparator}zero`)<0){e.push(`${this.options.pluralSeparator}zero`)}e.forEach((e=>{s([t],f+e,i[`defaultValue${e}`]||y)}))}))}else{s(t,f,y)}}}c=this.extendTranslation(c,e,i,l,s);if(o&&c===f&&this.options.appendNamespaceToMissingKey)c=`${h}:${f}`;if((o||n)&&this.options.parseMissingKeyHandler){if(this.options.compatibilityAPI!=="v1"){c=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${h}:${f}`:f,n?c:undefined)}else{c=this.options.parseMissingKeyHandler(c)}}}if(n){l.res=c;l.usedParams=this.getUsedParamsDetails(i);return l}return c}extendTranslation(e,i,s,n,r){var f=this;if(this.i18nFormat&&this.i18nFormat.parse){e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...s},s.lng||this.language||n.usedLng,n.usedNS,n.usedKey,{resolved:n})}else if(!s.skipInterpolation){if(s.interpolation)this.interpolator.init({...s,...{interpolation:{...this.options.interpolation,...s.interpolation}}});const o=t(e)&&(s&&s.interpolation&&s.interpolation.skipOnVariables!==undefined?s.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let h;if(o){const t=e.match(this.interpolator.nestingRegexp);h=t&&t.length}let a=s.replace&&!t(s.replace)?s.replace:s;if(this.options.interpolation.defaultVariables)a={...this.options.interpolation.defaultVariables,...a};e=this.interpolator.interpolate(e,a,s.lng||this.language||n.usedLng,s);if(o){const t=e.match(this.interpolator.nestingRegexp);const i=t&&t.length;if(h<i)s.nest=false}if(!s.lng&&this.options.compatibilityAPI!=="v1"&&n&&n.res)s.lng=this.language||n.usedLng;if(s.nest!==false)e=this.interpolator.nest(e,(function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++){e[n]=arguments[n]}if(r&&r[0]===e[0]&&!s.context){f.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${i[0]}`);return null}return f.translate(...e,i)}),s);if(s.interpolation)this.interpolator.reset()}const o=s.postProcess||this.options.postProcess;const h=t(o)?[o]:o;if(e!==undefined&&e!==null&&h&&h.length&&s.applyPostProcessor!==false){e=S.handle(h,e,i,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...n,usedParams:this.getUsedParamsDetails(s)},...s}:s,this)}return e}resolve(e){let i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let s;let n;let r;let f;let o;if(t(e))e=[e];e.forEach((e=>{if(this.isValidLookup(s))return;const h=this.extractFromKey(e,i);const a=h.key;n=a;let u=h.namespaces;if(this.options.fallbackNS)u=u.concat(this.options.fallbackNS);const l=i.count!==undefined&&!t(i.count);const c=l&&!i.ordinal&&i.count===0&&this.pluralResolver.shouldUseIntlApi();const d=i.context!==undefined&&(t(i.context)||typeof i.context==="number")&&i.context!=="";const g=i.lngs?i.lngs:this.languageUtils.toResolveHierarchy(i.lng||this.language,i.fallbackLng);u.forEach((t=>{if(this.isValidLookup(s))return;o=t;if(!R[`${g[0]}-${t}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(o)){R[`${g[0]}-${t}`]=true;this.logger.warn(`key "${n}" for languages "${g.join(", ")}" won't get resolved as namespace "${o}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")}g.forEach((e=>{if(this.isValidLookup(s))return;f=e;const n=[a];if(this.i18nFormat&&this.i18nFormat.addLookupKeys){this.i18nFormat.addLookupKeys(n,a,e,t,i)}else{let t;if(l)t=this.pluralResolver.getSuffix(e,i.count,i);const s=`${this.options.pluralSeparator}zero`;const r=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(l){n.push(a+t);if(i.ordinal&&t.indexOf(r)===0){n.push(a+t.replace(r,this.options.pluralSeparator))}if(c){n.push(a+s)}}if(d){const e=`${a}${this.options.contextSeparator}${i.context}`;n.push(e);if(l){n.push(e+t);if(i.ordinal&&t.indexOf(r)===0){n.push(e+t.replace(r,this.options.pluralSeparator))}if(c){n.push(e+s)}}}}let o;while(o=n.pop()){if(!this.isValidLookup(s)){r=o;s=this.getResource(e,t,o,i)}}}))}))}));return{res:s,usedKey:n,exactUsedKey:r,usedLng:f,usedNS:o}}isValidLookup(t){return t!==undefined&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,e,i){let s=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{};if(this.i18nFormat&&this.i18nFormat.getResource)return this.i18nFormat.getResource(t,e,i,s);return this.resourceStore.getResource(t,e,i,s)}getUsedParamsDetails(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};const i=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"];const s=e.replace&&!t(e.replace);let n=s?e.replace:e;if(s&&typeof e.count!=="undefined"){n.count=e.count}if(this.options.interpolation.defaultVariables){n={...this.options.interpolation.defaultVariables,...n}}if(!s){n={...n};for(const t of i){delete n[t]}}return n}static hasDefaultValue(t){const e="defaultValue";for(const i in t){if(Object.prototype.hasOwnProperty.call(t,i)&&e===i.substring(0,e.length)&&undefined!==t[i]){return true}}return false}}const P=t=>t.charAt(0).toUpperCase()+t.slice(1);class A{constructor(t){this.options=t;this.supportedLngs=this.options.supportedLngs||false;this.logger=k.create("languageUtils")}getScriptPartFromCode(t){t=v(t);if(!t||t.indexOf("-")<0)return null;const e=t.split("-");if(e.length===2)return null;e.pop();if(e[e.length-1].toLowerCase()==="x")return null;return this.formatLanguageCode(e.join("-"))}getLanguagePartFromCode(t){t=v(t);if(!t||t.indexOf("-")<0)return t;const e=t.split("-");return this.formatLanguageCode(e[0])}formatLanguageCode(e){if(t(e)&&e.indexOf("-")>-1){if(typeof Intl!=="undefined"&&typeof Intl.getCanonicalLocales!=="undefined"){try{let t=Intl.getCanonicalLocales(e)[0];if(t&&this.options.lowerCaseLng){t=t.toLowerCase()}if(t)return t}catch(t){}}const t=["hans","hant","latn","cyrl","cans","mong","arab"];let i=e.split("-");if(this.options.lowerCaseLng){i=i.map((t=>t.toLowerCase()))}else if(i.length===2){i[0]=i[0].toLowerCase();i[1]=i[1].toUpperCase();if(t.indexOf(i[1].toLowerCase())>-1)i[1]=P(i[1].toLowerCase())}else if(i.length===3){i[0]=i[0].toLowerCase();if(i[1].length===2)i[1]=i[1].toUpperCase();if(i[0]!=="sgn"&&i[2].length===2)i[2]=i[2].toUpperCase();if(t.indexOf(i[1].toLowerCase())>-1)i[1]=P(i[1].toLowerCase());if(t.indexOf(i[2].toLowerCase())>-1)i[2]=P(i[2].toLowerCase())}return i.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(t){if(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs){t=this.getLanguagePartFromCode(t)}return!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let e;t.forEach((t=>{if(e)return;const i=this.formatLanguageCode(t);if(!this.options.supportedLngs||this.isSupportedCode(i))e=i}));if(!e&&this.options.supportedLngs){t.forEach((t=>{if(e)return;const i=this.getLanguagePartFromCode(t);if(this.isSupportedCode(i))return e=i;e=this.options.supportedLngs.find((t=>{if(t===i)return t;if(t.indexOf("-")<0&&i.indexOf("-")<0)return;if(t.indexOf("-")>0&&i.indexOf("-")<0&&t.substring(0,t.indexOf("-"))===i)return t;if(t.indexOf(i)===0&&i.length>1)return t}))}))}if(!e)e=this.getFallbackCodes(this.options.fallbackLng)[0];return e}getFallbackCodes(e,i){if(!e)return[];if(typeof e==="function")e=e(i);if(t(e))e=[e];if(Array.isArray(e))return e;if(!i)return e.default||[];let s=e[i];if(!s)s=e[this.getScriptPartFromCode(i)];if(!s)s=e[this.formatLanguageCode(i)];if(!s)s=e[this.getLanguagePartFromCode(i)];if(!s)s=e.default;return s||[]}toResolveHierarchy(e,i){const s=this.getFallbackCodes(i||this.options.fallbackLng||[],e);const n=[];const r=t=>{if(!t)return;if(this.isSupportedCode(t)){n.push(t)}else{this.logger.warn(`rejecting language code not found in supportedLngs: ${t}`)}};if(t(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)){if(this.options.load!=="languageOnly")r(this.formatLanguageCode(e));if(this.options.load!=="languageOnly"&&this.options.load!=="currentOnly")r(this.getScriptPartFromCode(e));if(this.options.load!=="currentOnly")r(this.getLanguagePartFromCode(e))}else if(t(e)){r(this.formatLanguageCode(e))}s.forEach((t=>{if(n.indexOf(t)<0)r(this.formatLanguageCode(t))}));return n}}let I=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}];let C={1:t=>Number(t>1),2:t=>Number(t!=1),3:t=>0,4:t=>Number(t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2),5:t=>Number(t==0?0:t==1?1:t==2?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5),6:t=>Number(t==1?0:t>=2&&t<=4?1:2),7:t=>Number(t==1?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2),8:t=>Number(t==1?0:t==2?1:t!=8&&t!=11?2:3),9:t=>Number(t>=2),10:t=>Number(t==1?0:t==2?1:t<7?2:t<11?3:4),11:t=>Number(t==1||t==11?0:t==2||t==12?1:t>2&&t<20?2:3),12:t=>Number(t%10!=1||t%100==11),13:t=>Number(t!==0),14:t=>Number(t==1?0:t==2?1:t==3?2:3),15:t=>Number(t%10==1&&t%100!=11?0:t%10>=2&&(t%100<10||t%100>=20)?1:2),16:t=>Number(t%10==1&&t%100!=11?0:t!==0?1:2),17:t=>Number(t==1||t%10==1&&t%100!=11?0:1),18:t=>Number(t==0?0:t==1?1:2),19:t=>Number(t==1?0:t==0||t%100>1&&t%100<11?1:t%100>10&&t%100<20?2:3),20:t=>Number(t==1?0:t==0||t%100>0&&t%100<20?1:2),21:t=>Number(t%100==1?1:t%100==2?2:t%100==3||t%100==4?3:0),22:t=>Number(t==1?0:t==2?1:(t<0||t>10)&&t%10==0?2:3)};const E=["v1","v2","v3"];const z=["v4"];const V={zero:0,one:1,two:2,few:3,many:4,other:5};const T=()=>{const t={};I.forEach((e=>{e.lngs.forEach((i=>{t[i]={numbers:e.nr,plurals:C[e.fc]}}))}));return t};class K{constructor(t){let e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};this.languageUtils=t;this.options=e;this.logger=k.create("pluralResolver");if((!this.options.compatibilityJSON||z.includes(this.options.compatibilityJSON))&&(typeof Intl==="undefined"||!Intl.PluralRules)){this.options.compatibilityJSON="v3";this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")}this.rules=T();this.pluralRulesCache={}}addRule(t,e){this.rules[t]=e}clearCache(){this.pluralRulesCache={}}getRule(t){let e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(this.shouldUseIntlApi()){try{const i=v(t==="dev"?"en":t);const s=e.ordinal?"ordinal":"cardinal";const n=JSON.stringify({cleanedCode:i,type:s});if(n in this.pluralRulesCache){return this.pluralRulesCache[n]}const r=new Intl.PluralRules(i,{type:s});this.pluralRulesCache[n]=r;return r}catch(t){return}}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};const i=this.getRule(t,e);if(this.shouldUseIntlApi()){return i&&i.resolvedOptions().pluralCategories.length>1}return i&&i.numbers.length>1}getPluralFormsOfKey(t,e){let i=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};return this.getSuffixes(t,i).map((t=>`${e}${t}`))}getSuffixes(t){let e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};const i=this.getRule(t,e);if(!i){return[]}if(this.shouldUseIntlApi()){return i.resolvedOptions().pluralCategories.sort(((t,e)=>V[t]-V[e])).map((t=>`${this.options.prepend}${e.ordinal?`ordinal${this.options.prepend}`:""}${t}`))}return i.numbers.map((i=>this.getSuffix(t,i,e)))}getSuffix(t,e){let i=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};const s=this.getRule(t,i);if(s){if(this.shouldUseIntlApi()){return`${this.options.prepend}${i.ordinal?`ordinal${this.options.prepend}`:""}${s.select(e)}`}return this.getSuffixRetroCompatible(s,e)}this.logger.warn(`no plural rule found for: ${t}`);return""}getSuffixRetroCompatible(t,e){const i=t.noAbs?t.plurals(e):t.plurals(Math.abs(e));let s=t.numbers[i];if(this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1){if(s===2){s="plural"}else if(s===1){s=""}}const n=()=>this.options.prepend&&s.toString()?this.options.prepend+s.toString():s.toString();if(this.options.compatibilityJSON==="v1"){if(s===1)return"";if(typeof s==="number")return`_plural_${s.toString()}`;return n()}else if(this.options.compatibilityJSON==="v2"){return n()}else if(this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1){return n()}return this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString()}shouldUseIntlApi(){return!E.includes(this.options.compatibilityJSON)}}const B=function(e,i,s){let n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:".";let r=arguments.length>4&&arguments[4]!==undefined?arguments[4]:true;let f=l(e,i,s);if(!f&&r&&t(s)){f=w(e,s,n);if(f===undefined)f=w(i,s,n)}return f};const F=t=>t.replace(/\$/g,"$$$$");class M{constructor(){let t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};this.logger=k.create("interpolator");this.options=t;this.format=t.interpolation&&t.interpolation.format||(t=>t);this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};if(!t.interpolation)t.interpolation={escapeValue:true};const{escape:e,escapeValue:i,useRawValueToEscape:s,prefix:n,prefixEscaped:r,suffix:f,suffixEscaped:o,formatSeparator:h,unescapeSuffix:a,unescapePrefix:u,nestingPrefix:l,nestingPrefixEscaped:c,nestingSuffix:g,nestingSuffixEscaped:m,nestingOptionsSeparator:y,maxReplaces:b,alwaysFormat:$}=t.interpolation;this.escape=e!==undefined?e:p;this.escapeValue=i!==undefined?i:true;this.useRawValueToEscape=s!==undefined?s:false;this.prefix=n?d(n):r||"{{";this.suffix=f?d(f):o||"}}";this.formatSeparator=h||",";this.unescapePrefix=a?"":u||"-";this.unescapeSuffix=this.unescapePrefix?"":a||"";this.nestingPrefix=l?d(l):c||d("$t(");this.nestingSuffix=g?d(g):m||d(")");this.nestingOptionsSeparator=y||",";this.maxReplaces=b||1e3;this.alwaysFormat=$!==undefined?$:false;this.resetRegExp()}reset(){if(this.options)this.init(this.options)}resetRegExp(){const t=(t,e)=>{if(t&&t.source===e){t.lastIndex=0;return t}return new RegExp(e,"g")};this.regexp=t(this.regexp,`${this.prefix}(.+?)${this.suffix}`);this.regexpUnescape=t(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`);this.nestingRegexp=t(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,s,n,r){let f;let o;let h;const a=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};const u=t=>{if(t.indexOf(this.formatSeparator)<0){const e=B(s,a,t,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(e,undefined,n,{...r,...s,interpolationkey:t}):e}const e=t.split(this.formatSeparator);const i=e.shift().trim();const f=e.join(this.formatSeparator).trim();return this.format(B(s,a,i,this.options.keySeparator,this.options.ignoreJSONStructure),f,n,{...r,...s,interpolationkey:i})};this.resetRegExp();const l=r&&r.missingInterpolationHandler||this.options.missingInterpolationHandler;const c=r&&r.interpolation&&r.interpolation.skipOnVariables!==undefined?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;const d=[{regex:this.regexpUnescape,safeValue:t=>F(t)},{regex:this.regexp,safeValue:t=>this.escapeValue?F(this.escape(t)):F(t)}];d.forEach((s=>{h=0;while(f=s.regex.exec(e)){const n=f[1].trim();o=u(n);if(o===undefined){if(typeof l==="function"){const i=l(e,f,r);o=t(i)?i:""}else if(r&&Object.prototype.hasOwnProperty.call(r,n)){o=""}else if(c){o=f[0];continue}else{this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`);o=""}}else if(!t(o)&&!this.useRawValueToEscape){o=i(o)}const a=s.safeValue(o);e=e.replace(f[0],a);if(c){s.regex.lastIndex+=o.length;s.regex.lastIndex-=f[0].length}else{s.regex.lastIndex=0}h++;if(h>=this.maxReplaces){break}}}));return e}nest(e,s){let n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};let r;let f;let o;const h=(t,e)=>{const i=this.nestingOptionsSeparator;if(t.indexOf(i)<0)return t;const s=t.split(new RegExp(`${i}[ ]*{`));let n=`{${s[1]}`;t=s[0];n=this.interpolate(n,o);const r=n.match(/'/g);const f=n.match(/"/g);if(r&&r.length%2===0&&!f||f.length%2!==0){n=n.replace(/'/g,'"')}try{o=JSON.parse(n);if(e)o={...e,...o}}catch(e){this.logger.warn(`failed parsing options string in nesting for key ${t}`,e);return`${t}${i}${n}`}if(o.defaultValue&&o.defaultValue.indexOf(this.prefix)>-1)delete o.defaultValue;return t};while(r=this.nestingRegexp.exec(e)){let a=[];o={...n};o=o.replace&&!t(o.replace)?o.replace:o;o.applyPostProcessor=false;delete o.defaultValue;let u=false;if(r[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(r[1])){const t=r[1].split(this.formatSeparator).map((t=>t.trim()));r[1]=t.shift();a=t;u=true}f=s(h.call(this,r[1].trim(),o),o);if(f&&r[0]===e&&!t(f))return f;if(!t(f))f=i(f);if(!f){this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`);f=""}if(u){f=a.reduce(((t,e)=>this.format(t,e,n.lng,{...n,interpolationkey:r[1].trim()})),f.trim())}e=e.replace(r[0],f);this.regexp.lastIndex=0}return e}}const D=t=>{let e=t.toLowerCase().trim();const i={};if(t.indexOf("(")>-1){const s=t.split("(");e=s[0].toLowerCase().trim();const n=s[1].substring(0,s[1].length-1);if(e==="currency"&&n.indexOf(":")<0){if(!i.currency)i.currency=n.trim()}else if(e==="relativetime"&&n.indexOf(":")<0){if(!i.range)i.range=n.trim()}else{const t=n.split(";");t.forEach((t=>{if(t){const[e,...s]=t.split(":");const n=s.join(":").trim().replace(/^'+|'+$/g,"");const r=e.trim();if(!i[r])i[r]=n;if(n==="false")i[r]=false;if(n==="true")i[r]=true;if(!isNaN(n))i[r]=parseInt(n,10)}}))}}return{formatName:e,formatOptions:i}};const J=t=>{const e={};return(i,s,n)=>{let r=n;if(n&&n.interpolationkey&&n.formatParams&&n.formatParams[n.interpolationkey]&&n[n.interpolationkey]){r={...r,[n.interpolationkey]:undefined}}const f=s+JSON.stringify(r);let o=e[f];if(!o){o=t(v(s),n);e[f]=o}return o(i)}};class _{constructor(){let t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};this.logger=k.create("formatter");this.options=t;this.formats={number:J(((t,e)=>i=>new Intl.NumberFormat(t,{...e}).format(i))),currency:J(((t,e)=>i=>new Intl.NumberFormat(t,{...e,style:"currency"}).format(i))),datetime:J(((t,e)=>i=>new Intl.DateTimeFormat(t,{...e}).format(i))),relativetime:J(((t,e)=>i=>new Intl.RelativeTimeFormat(t,{...e}).format(i,e.range||"day"))),list:J(((t,e)=>i=>new Intl.ListFormat(t,{...e}).format(i)))};this.init(t)}init(t){let e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{interpolation:{}};this.formatSeparator=e.interpolation.formatSeparator||","}add(t,e){this.formats[t.toLowerCase().trim()]=e}addCached(t,e){this.formats[t.toLowerCase().trim()]=J(e)}format(t,e,i){let s=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{};const n=e.split(this.formatSeparator);if(n.length>1&&n[0].indexOf("(")>1&&n[0].indexOf(")")<0&&n.find((t=>t.indexOf(")")>-1))){const t=n.findIndex((t=>t.indexOf(")")>-1));n[0]=[n[0],...n.splice(1,t)].join(this.formatSeparator)}const r=n.reduce(((t,e)=>{const{formatName:n,formatOptions:r}=D(e);if(this.formats[n]){let e=t;try{const f=s&&s.formatParams&&s.formatParams[s.interpolationkey]||{};const o=f.locale||f.lng||s.locale||s.lng||i;e=this.formats[n](t,o,{...r,...s,...f})}catch(t){this.logger.warn(t)}return e}else{this.logger.warn(`there was no format function for ${n}`)}return t}),t);return r}}const U=(t,e)=>{if(t.pending[e]!==undefined){delete t.pending[e];t.pendingCount--}};class W extends j{constructor(t,e,i){let s=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{};super();this.backend=t;this.store=e;this.services=i;this.languageUtils=i.languageUtils;this.options=s;this.logger=k.create("backendConnector");this.waitingReads=[];this.maxParallelReads=s.maxParallelReads||10;this.readingCalls=0;this.maxRetries=s.maxRetries>=0?s.maxRetries:5;this.retryTimeout=s.retryTimeout>=1?s.retryTimeout:350;this.state={};this.queue=[];if(this.backend&&this.backend.init){this.backend.init(i,s.backend,s)}}queueLoad(t,e,i,s){const n={};const r={};const f={};const o={};t.forEach((t=>{let s=true;e.forEach((e=>{const f=`${t}|${e}`;if(!i.reload&&this.store.hasResourceBundle(t,e)){this.state[f]=2}else if(this.state[f]<0);else if(this.state[f]===1){if(r[f]===undefined)r[f]=true}else{this.state[f]=1;s=false;if(r[f]===undefined)r[f]=true;if(n[f]===undefined)n[f]=true;if(o[e]===undefined)o[e]=true}}));if(!s)f[t]=true}));if(Object.keys(n).length||Object.keys(r).length){this.queue.push({pending:r,pendingCount:Object.keys(r).length,loaded:{},errors:[],callback:s})}return{toLoad:Object.keys(n),pending:Object.keys(r),toLoadLanguages:Object.keys(f),toLoadNamespaces:Object.keys(o)}}loaded(t,e,i){const s=t.split("|");const n=s[0];const r=s[1];if(e)this.emit("failedLoading",n,r,e);if(!e&&i){this.store.addResourceBundle(n,r,i,undefined,undefined,{skipCopy:true})}this.state[t]=e?-1:2;if(e&&i)this.state[t]=0;const f={};this.queue.forEach((i=>{a(i.loaded,[n],r);U(i,t);if(e)i.errors.push(e);if(i.pendingCount===0&&!i.done){Object.keys(i.loaded).forEach((t=>{if(!f[t])f[t]={};const e=i.loaded[t];if(e.length){e.forEach((e=>{if(f[t][e]===undefined)f[t][e]=true}))}}));i.done=true;if(i.errors.length){i.callback(i.errors)}else{i.callback()}}}));this.emit("loaded",f);this.queue=this.queue.filter((t=>!t.done))}read(t,e,i){let s=arguments.length>3&&arguments[3]!==undefined?arguments[3]:0;let n=arguments.length>4&&arguments[4]!==undefined?arguments[4]:this.retryTimeout;let r=arguments.length>5?arguments[5]:undefined;if(!t.length)return r(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:e,fcName:i,tried:s,wait:n,callback:r});return}this.readingCalls++;const f=(f,o)=>{this.readingCalls--;if(this.waitingReads.length>0){const t=this.waitingReads.shift();this.read(t.lng,t.ns,t.fcName,t.tried,t.wait,t.callback)}if(f&&o&&s<this.maxRetries){setTimeout((()=>{this.read.call(this,t,e,i,s+1,n*2,r)}),n);return}r(f,o)};const o=this.backend[i].bind(this.backend);if(o.length===2){try{const i=o(t,e);if(i&&typeof i.then==="function"){i.then((t=>f(null,t))).catch(f)}else{f(null,i)}}catch(t){f(t)}return}return o(t,e,f)}prepareLoading(e,i){let s=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};let n=arguments.length>3?arguments[3]:undefined;if(!this.backend){this.logger.warn("No backend was added via i18next.use. Will not load resources.");return n&&n()}if(t(e))e=this.languageUtils.toResolveHierarchy(e);if(t(i))i=[i];const r=this.queueLoad(e,i,s,n);if(!r.toLoad.length){if(!r.pending.length)n();return null}r.toLoad.forEach((t=>{this.loadOne(t)}))}load(t,e,i){this.prepareLoading(t,e,{},i)}reload(t,e,i){this.prepareLoading(t,e,{reload:true},i)}loadOne(t){let e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"";const i=t.split("|");const s=i[0];const n=i[1];this.read(s,n,"read",undefined,undefined,((i,r)=>{if(i)this.logger.warn(`${e}loading namespace ${n} for language ${s} failed`,i);if(!i&&r)this.logger.log(`${e}loaded namespace ${n} for language ${s}`,r);this.loaded(t,i,r)}))}saveMissing(t,e,i,s,n){let r=arguments.length>5&&arguments[5]!==undefined?arguments[5]:{};let f=arguments.length>6&&arguments[6]!==undefined?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(e)){this.logger.warn(`did not save key "${i}" as the namespace "${e}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(i===undefined||i===null||i==="")return;if(this.backend&&this.backend.create){const o={...r,isUpdate:n};const h=this.backend.create.bind(this.backend);if(h.length<6){try{let n;if(h.length===5){n=h(t,e,i,s,o)}else{n=h(t,e,i,s)}if(n&&typeof n.then==="function"){n.then((t=>f(null,t))).catch(f)}else{f(null,n)}}catch(t){f(t)}}else{h(t,e,i,s,f,o)}}if(!t||!t[0])return;this.store.addResource(t[0],e,i,s)}}const q=()=>({debug:false,initImmediate:true,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:false,supportedLngs:false,nonExplicitSupportedLngs:false,load:"all",preload:false,simplifyPluralSuffix:true,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:false,saveMissing:false,updateMissing:false,saveMissingTo:"fallback",saveMissingPlurals:true,missingKeyHandler:false,missingInterpolationHandler:false,postProcess:false,postProcessPassResolved:false,returnNull:false,returnEmptyString:true,returnObjects:false,joinArrays:false,returnedObjectHandler:false,parseMissingKeyHandler:false,appendNamespaceToMissingKey:false,appendNamespaceToCIMode:false,overloadTranslationOptionHandler:e=>{let i={};if(typeof e[1]==="object")i=e[1];if(t(e[1]))i.defaultValue=e[1];if(t(e[2]))i.tDescription=e[2];if(typeof e[2]==="object"||typeof e[3]==="object"){const t=e[3]||e[2];Object.keys(t).forEach((e=>{i[e]=t[e]}))}return i},interpolation:{escapeValue:true,format:t=>t,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:true}});const H=e=>{if(t(e.ns))e.ns=[e.ns];if(t(e.fallbackLng))e.fallbackLng=[e.fallbackLng];if(t(e.fallbackNS))e.fallbackNS=[e.fallbackNS];if(e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0){e.supportedLngs=e.supportedLngs.concat(["cimode"])}return e};const Y=()=>{};const G=t=>{const e=Object.getOwnPropertyNames(Object.getPrototypeOf(t));e.forEach((e=>{if(typeof t[e]==="function"){t[e]=t[e].bind(t)}}))};class Q extends j{constructor(){let t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};let e=arguments.length>1?arguments[1]:undefined;super();this.options=H(t);this.services={};this.logger=k;this.modules={external:[]};G(this);if(e&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate){this.init(t,e);return this}setTimeout((()=>{this.init(t,e)}),0)}}init(){var i=this;let s=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};let n=arguments.length>1?arguments[1]:undefined;this.isInitializing=true;if(typeof s==="function"){n=s;s={}}if(!s.defaultNS&&s.defaultNS!==false&&s.ns){if(t(s.ns)){s.defaultNS=s.ns}else if(s.ns.indexOf("translation")<0){s.defaultNS=s.ns[0]}}const r=q();this.options={...r,...this.options,...H(s)};if(this.options.compatibilityAPI!=="v1"){this.options.interpolation={...r.interpolation,...this.options.interpolation}}if(s.keySeparator!==undefined){this.options.userDefinedKeySeparator=s.keySeparator}if(s.nsSeparator!==undefined){this.options.userDefinedNsSeparator=s.nsSeparator}const f=t=>{if(!t)return null;if(typeof t==="function")return new t;return t};if(!this.options.isClone){if(this.modules.logger){k.init(f(this.modules.logger),this.options)}else{k.init(null,this.options)}let t;if(this.modules.formatter){t=this.modules.formatter}else if(typeof Intl!=="undefined"){t=_}const e=new A(this.options);this.store=new O(this.options.resources,this.options);const s=this.services;s.logger=k;s.resourceStore=this.store;s.languageUtils=e;s.pluralResolver=new K(e,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix});if(t&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)){s.formatter=f(t);s.formatter.init(s,this.options);this.options.interpolation.format=s.formatter.format.bind(s.formatter)}s.interpolator=new M(this.options);s.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)};s.backendConnector=new W(f(this.modules.backend),s.resourceStore,s,this.options);s.backendConnector.on("*",(function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),n=1;n<e;n++){s[n-1]=arguments[n]}i.emit(t,...s)}));if(this.modules.languageDetector){s.languageDetector=f(this.modules.languageDetector);if(s.languageDetector.init)s.languageDetector.init(s,this.options.detection,this.options)}if(this.modules.i18nFormat){s.i18nFormat=f(this.modules.i18nFormat);if(s.i18nFormat.init)s.i18nFormat.init(this)}this.translator=new L(this.services,this.options);this.translator.on("*",(function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),n=1;n<e;n++){s[n-1]=arguments[n]}i.emit(t,...s)}));this.modules.external.forEach((t=>{if(t.init)t.init(this)}))}this.format=this.options.interpolation.format;if(!n)n=Y;if(this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const t=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);if(t.length>0&&t[0]!=="dev")this.options.lng=t[0]}if(!this.services.languageDetector&&!this.options.lng){this.logger.warn("init: no languageDetector is used and no lng is defined")}const o=["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"];o.forEach((t=>{this[t]=function(){return i.store[t](...arguments)}}));const h=["addResource","addResources","addResourceBundle","removeResourceBundle"];h.forEach((t=>{this[t]=function(){i.store[t](...arguments);return i}}));const a=e();const u=()=>{const t=(t,e)=>{this.isInitializing=false;if(this.isInitialized&&!this.initializedStoreOnce)this.logger.warn("init: i18next is already initialized. You should call init just once!");this.isInitialized=true;if(!this.options.isClone)this.logger.log("initialized",this.options);this.emit("initialized",this.options);a.resolve(e);n(t,e)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return t(null,this.t.bind(this));this.changeLanguage(this.options.lng,t)};if(this.options.resources||!this.options.initImmediate){u()}else{setTimeout(u,0)}return a}loadResources(e){let i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:Y;let s=i;const n=t(e)?e:this.language;if(typeof e==="function")s=e;if(!this.options.resources||this.options.partialBundledLanguages){if(n&&n.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return s();const t=[];const e=e=>{if(!e)return;if(e==="cimode")return;const i=this.services.languageUtils.toResolveHierarchy(e);i.forEach((e=>{if(e==="cimode")return;if(t.indexOf(e)<0)t.push(e)}))};if(!n){const t=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);t.forEach((t=>e(t)))}else{e(n)}if(this.options.preload){this.options.preload.forEach((t=>e(t)))}this.services.backendConnector.load(t,this.options.ns,(t=>{if(!t&&!this.resolvedLanguage&&this.language)this.setResolvedLanguage(this.language);s(t)}))}else{s(null)}}reloadResources(t,i,s){const n=e();if(typeof t==="function"){s=t;t=undefined}if(typeof i==="function"){s=i;i=undefined}if(!t)t=this.languages;if(!i)i=this.options.ns;if(!s)s=Y;this.services.backendConnector.reload(t,i,(t=>{n.resolve();s(t)}));return n}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");if(t.type==="backend"){this.modules.backend=t}if(t.type==="logger"||t.log&&t.warn&&t.error){this.modules.logger=t}if(t.type==="languageDetector"){this.modules.languageDetector=t}if(t.type==="i18nFormat"){this.modules.i18nFormat=t}if(t.type==="postProcessor"){S.addPostProcessor(t)}if(t.type==="formatter"){this.modules.formatter=t}if(t.type==="3rdParty"){this.modules.external.push(t)}return this}setResolvedLanguage(t){if(!t||!this.languages)return;if(["cimode","dev"].indexOf(t)>-1)return;for(let t=0;t<this.languages.length;t++){const e=this.languages[t];if(["cimode","dev"].indexOf(e)>-1)continue;if(this.store.hasLanguageSomeTranslations(e)){this.resolvedLanguage=e;break}}}changeLanguage(i,s){var n=this;this.isLanguageChangingTo=i;const r=e();this.emit("languageChanging",i);const f=t=>{this.language=t;this.languages=this.services.languageUtils.toResolveHierarchy(t);this.resolvedLanguage=undefined;this.setResolvedLanguage(t)};const o=(t,e)=>{if(e){f(e);this.translator.changeLanguage(e);this.isLanguageChangingTo=undefined;this.emit("languageChanged",e);this.logger.log("languageChanged",e)}else{this.isLanguageChangingTo=undefined}r.resolve((function(){return n.t(...arguments)}));if(s)s(t,(function(){return n.t(...arguments)}))};const h=e=>{if(!i&&!e&&this.services.languageDetector)e=[];const s=t(e)?e:this.services.languageUtils.getBestMatchFromCodes(e);if(s){if(!this.language){f(s)}if(!this.translator.language)this.translator.changeLanguage(s);if(this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage)this.services.languageDetector.cacheUserLanguage(s)}this.loadResources(s,(t=>{o(t,s)}))};if(!i&&this.services.languageDetector&&!this.services.languageDetector.async){h(this.services.languageDetector.detect())}else if(!i&&this.services.languageDetector&&this.services.languageDetector.async){if(this.services.languageDetector.detect.length===0){this.services.languageDetector.detect().then(h)}else{this.services.languageDetector.detect(h)}}else{h(i)}return r}getFixedT(e,i,s){var n=this;const r=function(t,e){let i;if(typeof e!=="object"){for(var f=arguments.length,o=new Array(f>2?f-2:0),h=2;h<f;h++){o[h-2]=arguments[h]}i=n.options.overloadTranslationOptionHandler([t,e].concat(o))}else{i={...e}}i.lng=i.lng||r.lng;i.lngs=i.lngs||r.lngs;i.ns=i.ns||r.ns;if(i.keyPrefix!=="")i.keyPrefix=i.keyPrefix||s||r.keyPrefix;const a=n.options.keySeparator||".";let u;if(i.keyPrefix&&Array.isArray(t)){u=t.map((t=>`${i.keyPrefix}${a}${t}`))}else{u=i.keyPrefix?`${i.keyPrefix}${a}${t}`:t}return n.t(u,i)};if(t(e)){r.lng=e}else{r.lngs=e}r.ns=i;r.keyPrefix=s;return r}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(!this.isInitialized){this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages);return false}if(!this.languages||!this.languages.length){this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages);return false}const i=e.lng||this.resolvedLanguage||this.languages[0];const s=this.options?this.options.fallbackLng:false;const n=this.languages[this.languages.length-1];if(i.toLowerCase()==="cimode")return true;const r=(t,e)=>{const i=this.services.backendConnector.state[`${t}|${e}`];return i===-1||i===0||i===2};if(e.precheck){const t=e.precheck(this,r);if(t!==undefined)return t}if(this.hasResourceBundle(i,t))return true;if(!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages)return true;if(r(i,t)&&(!s||r(n,t)))return true;return false}loadNamespaces(i,s){const n=e();if(!this.options.ns){if(s)s();return Promise.resolve()}if(t(i))i=[i];i.forEach((t=>{if(this.options.ns.indexOf(t)<0)this.options.ns.push(t)}));this.loadResources((t=>{n.resolve();if(s)s(t)}));return n}loadLanguages(i,s){const n=e();if(t(i))i=[i];const r=this.options.preload||[];const f=i.filter((t=>r.indexOf(t)<0&&this.services.languageUtils.isSupportedCode(t)));if(!f.length){if(s)s();return Promise.resolve()}this.options.preload=r.concat(f);this.loadResources((t=>{n.resolve();if(s)s(t)}));return n}dir(t){if(!t)t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language);if(!t)return"rtl";const e=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"];const i=this.services&&this.services.languageUtils||new A(q());return e.indexOf(i.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};let e=arguments.length>1?arguments[1]:undefined;return new Q(t,e)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};let e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:Y;const i=t.forkResourceStore;if(i)delete t.forkResourceStore;const s={...this.options,...t,...{isClone:true}};const n=new Q(s);if(t.debug!==undefined||t.prefix!==undefined){n.logger=n.logger.clone(t)}const r=["store","services","language"];r.forEach((t=>{n[t]=this[t]}));n.services={...this.services};n.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)};if(i){n.store=new O(this.store.data,s);n.services.resourceStore=n.store}n.translator=new L(n.services,s);n.translator.on("*",(function(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),s=1;s<e;s++){i[s-1]=arguments[s]}n.emit(t,...i)}));n.init(s,e);n.translator.options=s;n.translator.backendConnector.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)};return n}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const X=Q.createInstance();X.createInstance=Q.createInstance;const Z="nl";function tt(t){let e=t;let i=e.closest("[lang]");while(e&&e.parentNode!==document&&!i){e=e.parentNode instanceof ShadowRoot?e.parentNode.host:e.parentElement;if(e!==null){i=e.closest("[lang]")}}return i?i.lang:Z}function et(t,e){const i=t();const s=X.createInstance();s.init({lng:tt(i),fallbackLng:Z,resources:e,defaultNS:i.tagName.toLowerCase()});const n=false;return(t,e)=>{if(!n){s.language=tt(i)}return s.t(t,e)}}export{et as i};
2
- //# sourceMappingURL=p-c3e750cc.js.map