@dso-toolkit/core 70.0.1 → 71.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 (272) hide show
  1. package/dist/cjs/dso-accordion-section.cjs.entry.js +1 -1
  2. package/dist/cjs/dso-accordion-section.cjs.entry.js.map +1 -1
  3. package/dist/cjs/dso-accordion-section.entry.cjs.js.map +1 -1
  4. package/dist/cjs/dso-action-list.cjs.entry.js +1 -1
  5. package/dist/cjs/dso-action-list.cjs.entry.js.map +1 -1
  6. package/dist/cjs/dso-action-list.entry.cjs.js.map +1 -1
  7. package/dist/cjs/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.cjs.js.map +1 -1
  8. package/dist/cjs/dso-alert_6.cjs.entry.js +57 -37
  9. package/dist/cjs/dso-alert_6.cjs.entry.js.map +1 -1
  10. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js +1 -1
  11. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js.map +1 -1
  12. package/dist/cjs/dso-annotation-activiteit.entry.cjs.js.map +1 -1
  13. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js +1 -1
  14. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js.map +1 -1
  15. package/dist/cjs/dso-annotation-gebiedsaanwijzing.entry.cjs.js.map +1 -1
  16. package/dist/cjs/dso-annotation-kaart.cjs.entry.js +1 -1
  17. package/dist/cjs/dso-annotation-kaart.cjs.entry.js.map +1 -1
  18. package/dist/cjs/dso-annotation-kaart.entry.cjs.js.map +1 -1
  19. package/dist/cjs/dso-annotation-locatie.dso-document-component.entry.cjs.js.map +1 -1
  20. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js +5 -4
  21. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js.map +1 -1
  22. package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js +1 -1
  23. package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js.map +1 -1
  24. package/dist/cjs/dso-annotation-omgevingsnormwaarde.entry.cjs.js.map +1 -1
  25. package/dist/cjs/dso-autosuggest.cjs.entry.js +19 -2
  26. package/dist/cjs/dso-autosuggest.cjs.entry.js.map +1 -1
  27. package/dist/cjs/dso-autosuggest.entry.cjs.js.map +1 -1
  28. package/dist/cjs/dso-header.cjs.entry.js +3 -0
  29. package/dist/cjs/dso-header.cjs.entry.js.map +1 -1
  30. package/dist/cjs/dso-header.entry.cjs.js.map +1 -1
  31. package/dist/cjs/dso-info.dso-selectable.entry.cjs.js.map +1 -1
  32. package/dist/cjs/dso-info_2.cjs.entry.js +1 -1
  33. package/dist/cjs/dso-info_2.cjs.entry.js.map +1 -1
  34. package/dist/cjs/dso-label.dso-renvooi.dso-slide-toggle.entry.cjs.js.map +1 -1
  35. package/dist/cjs/dso-label_3.cjs.entry.js +1 -1
  36. package/dist/cjs/dso-label_3.cjs.entry.js.map +1 -1
  37. package/dist/cjs/dso-logo.cjs.entry.js +1 -1
  38. package/dist/cjs/dso-logo.cjs.entry.js.map +1 -1
  39. package/dist/cjs/dso-logo.entry.cjs.js.map +1 -1
  40. package/dist/cjs/dso-map-controls.cjs.entry.js +1 -1
  41. package/dist/cjs/dso-map-controls.cjs.entry.js.map +1 -1
  42. package/dist/cjs/dso-map-controls.entry.cjs.js.map +1 -1
  43. package/dist/cjs/dso-plekinfo-card.cjs.entry.js +1 -1
  44. package/dist/cjs/dso-plekinfo-card.cjs.entry.js.map +1 -1
  45. package/dist/cjs/dso-plekinfo-card.entry.cjs.js.map +1 -1
  46. package/dist/cjs/dso-survey-rating.cjs.entry.js +1 -1
  47. package/dist/cjs/dso-survey-rating.cjs.entry.js.map +1 -1
  48. package/dist/cjs/dso-survey-rating.entry.cjs.js.map +1 -1
  49. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  50. package/dist/cjs/dso-viewer-grid.cjs.entry.js +1 -1
  51. package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -1
  52. package/dist/cjs/dso-viewer-grid.entry.cjs.js.map +1 -1
  53. package/dist/cjs/dsot-document-component-demo.cjs.entry.js +6 -6
  54. package/dist/cjs/dsot-document-component-demo.cjs.entry.js.map +1 -1
  55. package/dist/cjs/dsot-document-component-demo.entry.cjs.js.map +1 -1
  56. package/dist/cjs/loader.cjs.js +1 -1
  57. package/dist/collection/components/accordion/components/accordion-section.css +10 -8
  58. package/dist/collection/components/action-list/action-list.css +4 -4
  59. package/dist/collection/components/alert/alert.css +16 -16
  60. package/dist/collection/components/annotation/annotation.css +8 -8
  61. package/dist/collection/components/autosuggest/autosuggest.js +19 -2
  62. package/dist/collection/components/autosuggest/autosuggest.js.map +1 -1
  63. package/dist/collection/components/document-component/document-component.css +58 -44
  64. package/dist/collection/components/document-component/document-component.js +26 -2
  65. package/dist/collection/components/document-component/document-component.js.map +1 -1
  66. package/dist/collection/components/document-component-demo/document-component.demo.js +29 -6
  67. package/dist/collection/components/document-component-demo/document-component.demo.js.map +1 -1
  68. package/dist/collection/components/header/header.js +3 -0
  69. package/dist/collection/components/header/header.js.map +1 -1
  70. package/dist/collection/components/image-overlay/image-overlay.css +16 -16
  71. package/dist/collection/components/info/info.css +4 -4
  72. package/dist/collection/components/logo/logo.css +3 -8
  73. package/dist/collection/components/map-controls/map-controls.css +8 -5
  74. package/dist/collection/components/ozon-content/nodes/ext-ref.node.js +4 -2
  75. package/dist/collection/components/ozon-content/nodes/ext-ref.node.js.map +1 -1
  76. package/dist/collection/components/ozon-content/nodes/figuur.node.js +34 -10
  77. package/dist/collection/components/ozon-content/nodes/figuur.node.js.map +1 -1
  78. package/dist/collection/components/ozon-content/nodes/inline-tekst-afbeelding.node.js +6 -3
  79. package/dist/collection/components/ozon-content/nodes/inline-tekst-afbeelding.node.js.map +1 -1
  80. package/dist/collection/components/ozon-content/nodes/kop.node.js +1 -1
  81. package/dist/collection/components/ozon-content/nodes/kop.node.js.map +1 -1
  82. package/dist/collection/components/ozon-content/ozon-content-context.interface.js.map +1 -1
  83. package/dist/collection/components/ozon-content/ozon-content-mapper.js +3 -6
  84. package/dist/collection/components/ozon-content/ozon-content-mapper.js.map +1 -1
  85. package/dist/collection/components/ozon-content/ozon-content-node-context.interface.js.map +1 -1
  86. package/dist/collection/components/ozon-content/ozon-content.css +109 -84
  87. package/dist/collection/components/ozon-content/ozon-content.interfaces.js.map +1 -1
  88. package/dist/collection/components/ozon-content/ozon-content.js +22 -23
  89. package/dist/collection/components/ozon-content/ozon-content.js.map +1 -1
  90. package/dist/collection/components/plekinfo-card/plekinfo-card.css +8 -8
  91. package/dist/collection/components/renvooi/renvooi.css +8 -8
  92. package/dist/collection/components/survey-rating/survey-rating.css +36 -33
  93. package/dist/collection/components/table/table.css +42 -28
  94. package/dist/collection/components/viewer-grid/viewer-grid.css +17 -11
  95. package/dist/components/alert.js +1 -1
  96. package/dist/components/alert.js.map +1 -1
  97. package/dist/components/annotation-locatie.js +1 -1
  98. package/dist/components/annotation-locatie.js.map +1 -1
  99. package/dist/components/document-component.js +5 -3
  100. package/dist/components/document-component.js.map +1 -1
  101. package/dist/components/dso-accordion-section.js +1 -1
  102. package/dist/components/dso-accordion-section.js.map +1 -1
  103. package/dist/components/dso-action-list.js +1 -1
  104. package/dist/components/dso-action-list.js.map +1 -1
  105. package/dist/components/dso-annotation-activiteit.js +1 -1
  106. package/dist/components/dso-annotation-activiteit.js.map +1 -1
  107. package/dist/components/dso-annotation-gebiedsaanwijzing.js +1 -1
  108. package/dist/components/dso-annotation-gebiedsaanwijzing.js.map +1 -1
  109. package/dist/components/dso-annotation-kaart.js +1 -1
  110. package/dist/components/dso-annotation-kaart.js.map +1 -1
  111. package/dist/components/dso-annotation-omgevingsnormwaarde.js +1 -1
  112. package/dist/components/dso-annotation-omgevingsnormwaarde.js.map +1 -1
  113. package/dist/components/dso-autosuggest.js +19 -2
  114. package/dist/components/dso-autosuggest.js.map +1 -1
  115. package/dist/components/dso-header.js +3 -0
  116. package/dist/components/dso-header.js.map +1 -1
  117. package/dist/components/dso-logo.js +1 -1
  118. package/dist/components/dso-logo.js.map +1 -1
  119. package/dist/components/dso-map-controls.js +1 -1
  120. package/dist/components/dso-map-controls.js.map +1 -1
  121. package/dist/components/dso-plekinfo-card.js +1 -1
  122. package/dist/components/dso-plekinfo-card.js.map +1 -1
  123. package/dist/components/dso-survey-rating.js +1 -1
  124. package/dist/components/dso-survey-rating.js.map +1 -1
  125. package/dist/components/dso-viewer-grid.js +1 -1
  126. package/dist/components/dso-viewer-grid.js.map +1 -1
  127. package/dist/components/dsot-document-component-demo.js +7 -6
  128. package/dist/components/dsot-document-component-demo.js.map +1 -1
  129. package/dist/components/image-overlay.js +1 -1
  130. package/dist/components/image-overlay.js.map +1 -1
  131. package/dist/components/info.js +1 -1
  132. package/dist/components/info.js.map +1 -1
  133. package/dist/components/ozon-content.js +55 -35
  134. package/dist/components/ozon-content.js.map +1 -1
  135. package/dist/components/renvooi.js +1 -1
  136. package/dist/components/renvooi.js.map +1 -1
  137. package/dist/components/table.js +1 -1
  138. package/dist/components/table.js.map +1 -1
  139. package/dist/dso-toolkit/dso-accordion-section.entry.esm.js.map +1 -1
  140. package/dist/dso-toolkit/dso-action-list.entry.esm.js.map +1 -1
  141. package/dist/dso-toolkit/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.esm.js.map +1 -1
  142. package/dist/dso-toolkit/dso-annotation-activiteit.entry.esm.js.map +1 -1
  143. package/dist/dso-toolkit/dso-annotation-gebiedsaanwijzing.entry.esm.js.map +1 -1
  144. package/dist/dso-toolkit/dso-annotation-kaart.entry.esm.js.map +1 -1
  145. package/dist/dso-toolkit/dso-annotation-locatie.dso-document-component.entry.esm.js.map +1 -1
  146. package/dist/dso-toolkit/dso-annotation-omgevingsnormwaarde.entry.esm.js.map +1 -1
  147. package/dist/dso-toolkit/dso-autosuggest.entry.esm.js.map +1 -1
  148. package/dist/dso-toolkit/dso-header.entry.esm.js.map +1 -1
  149. package/dist/dso-toolkit/dso-info.dso-selectable.entry.esm.js.map +1 -1
  150. package/dist/dso-toolkit/dso-label.dso-renvooi.dso-slide-toggle.entry.esm.js.map +1 -1
  151. package/dist/dso-toolkit/dso-logo.entry.esm.js.map +1 -1
  152. package/dist/dso-toolkit/dso-map-controls.entry.esm.js.map +1 -1
  153. package/dist/dso-toolkit/dso-plekinfo-card.entry.esm.js.map +1 -1
  154. package/dist/dso-toolkit/dso-survey-rating.entry.esm.js.map +1 -1
  155. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  156. package/dist/dso-toolkit/dso-viewer-grid.entry.esm.js.map +1 -1
  157. package/dist/dso-toolkit/dsot-document-component-demo.entry.esm.js.map +1 -1
  158. package/dist/dso-toolkit/p-159753d7.entry.js +2 -0
  159. package/dist/dso-toolkit/p-159753d7.entry.js.map +1 -0
  160. package/dist/dso-toolkit/p-1da9f680.entry.js +2 -0
  161. package/dist/dso-toolkit/{p-d14079e8.entry.js.map → p-1da9f680.entry.js.map} +1 -1
  162. package/dist/dso-toolkit/p-26d6681e.entry.js +2 -0
  163. package/dist/dso-toolkit/p-26d6681e.entry.js.map +1 -0
  164. package/dist/dso-toolkit/p-2f99bb30.entry.js +2 -0
  165. package/dist/dso-toolkit/{p-a9b89335.entry.js.map → p-2f99bb30.entry.js.map} +1 -1
  166. package/dist/dso-toolkit/p-3cb4ac7e.entry.js +2 -0
  167. package/dist/dso-toolkit/p-3cb4ac7e.entry.js.map +1 -0
  168. package/dist/dso-toolkit/p-43b5e74b.entry.js +2 -0
  169. package/dist/dso-toolkit/p-43b5e74b.entry.js.map +1 -0
  170. package/dist/dso-toolkit/p-4eefa210.entry.js +2 -0
  171. package/dist/dso-toolkit/{p-044ee150.entry.js.map → p-4eefa210.entry.js.map} +1 -1
  172. package/dist/dso-toolkit/p-5509732c.entry.js +2 -0
  173. package/dist/dso-toolkit/p-5509732c.entry.js.map +1 -0
  174. package/dist/dso-toolkit/{p-95d77ea8.entry.js → p-5f01431d.entry.js} +2 -2
  175. package/dist/dso-toolkit/p-5f01431d.entry.js.map +1 -0
  176. package/dist/dso-toolkit/p-6b6b5ed2.entry.js +2 -0
  177. package/dist/dso-toolkit/p-6b6b5ed2.entry.js.map +1 -0
  178. package/dist/dso-toolkit/p-6dac4086.entry.js +2 -0
  179. package/dist/dso-toolkit/{p-5b25a736.entry.js.map → p-6dac4086.entry.js.map} +1 -1
  180. package/dist/dso-toolkit/p-7918004d.entry.js +2 -0
  181. package/dist/dso-toolkit/p-7918004d.entry.js.map +1 -0
  182. package/dist/dso-toolkit/p-79e6a042.entry.js +2 -0
  183. package/dist/dso-toolkit/{p-9560e51d.entry.js.map → p-79e6a042.entry.js.map} +1 -1
  184. package/dist/dso-toolkit/p-7b715bdf.entry.js +2 -0
  185. package/dist/dso-toolkit/{p-c9a89e90.entry.js.map → p-7b715bdf.entry.js.map} +1 -1
  186. package/dist/dso-toolkit/p-7b7ae40b.entry.js +2 -0
  187. package/dist/dso-toolkit/{p-2b0ae997.entry.js.map → p-7b7ae40b.entry.js.map} +1 -1
  188. package/dist/dso-toolkit/p-ac221ee6.entry.js +2 -0
  189. package/dist/dso-toolkit/{p-77f41816.entry.js.map → p-ac221ee6.entry.js.map} +1 -1
  190. package/dist/dso-toolkit/p-b673cbdb.entry.js +2 -0
  191. package/dist/dso-toolkit/{p-ead9ce8b.entry.js.map → p-b673cbdb.entry.js.map} +1 -1
  192. package/dist/dso-toolkit/p-c13b26ad.entry.js +2 -0
  193. package/dist/dso-toolkit/{p-877a32be.entry.js.map → p-c13b26ad.entry.js.map} +1 -1
  194. package/dist/esm/dso-accordion-section.entry.js +1 -1
  195. package/dist/esm/dso-accordion-section.entry.js.map +1 -1
  196. package/dist/esm/dso-action-list.entry.js +1 -1
  197. package/dist/esm/dso-action-list.entry.js.map +1 -1
  198. package/dist/esm/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.js.map +1 -1
  199. package/dist/esm/dso-alert_6.entry.js +57 -37
  200. package/dist/esm/dso-alert_6.entry.js.map +1 -1
  201. package/dist/esm/dso-annotation-activiteit.entry.js +1 -1
  202. package/dist/esm/dso-annotation-activiteit.entry.js.map +1 -1
  203. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js +1 -1
  204. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js.map +1 -1
  205. package/dist/esm/dso-annotation-kaart.entry.js +1 -1
  206. package/dist/esm/dso-annotation-kaart.entry.js.map +1 -1
  207. package/dist/esm/dso-annotation-locatie.dso-document-component.entry.js.map +1 -1
  208. package/dist/esm/dso-annotation-locatie_2.entry.js +5 -4
  209. package/dist/esm/dso-annotation-locatie_2.entry.js.map +1 -1
  210. package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js +1 -1
  211. package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js.map +1 -1
  212. package/dist/esm/dso-autosuggest.entry.js +19 -2
  213. package/dist/esm/dso-autosuggest.entry.js.map +1 -1
  214. package/dist/esm/dso-header.entry.js +3 -0
  215. package/dist/esm/dso-header.entry.js.map +1 -1
  216. package/dist/esm/dso-info.dso-selectable.entry.js.map +1 -1
  217. package/dist/esm/dso-info_2.entry.js +1 -1
  218. package/dist/esm/dso-info_2.entry.js.map +1 -1
  219. package/dist/esm/dso-label.dso-renvooi.dso-slide-toggle.entry.js.map +1 -1
  220. package/dist/esm/dso-label_3.entry.js +1 -1
  221. package/dist/esm/dso-label_3.entry.js.map +1 -1
  222. package/dist/esm/dso-logo.entry.js +1 -1
  223. package/dist/esm/dso-logo.entry.js.map +1 -1
  224. package/dist/esm/dso-map-controls.entry.js +1 -1
  225. package/dist/esm/dso-map-controls.entry.js.map +1 -1
  226. package/dist/esm/dso-plekinfo-card.entry.js +1 -1
  227. package/dist/esm/dso-plekinfo-card.entry.js.map +1 -1
  228. package/dist/esm/dso-survey-rating.entry.js +1 -1
  229. package/dist/esm/dso-survey-rating.entry.js.map +1 -1
  230. package/dist/esm/dso-toolkit.js +1 -1
  231. package/dist/esm/dso-viewer-grid.entry.js +1 -1
  232. package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
  233. package/dist/esm/dsot-document-component-demo.entry.js +6 -6
  234. package/dist/esm/dsot-document-component-demo.entry.js.map +1 -1
  235. package/dist/esm/loader.js +1 -1
  236. package/dist/types/components/autosuggest/autosuggest.d.ts +2 -0
  237. package/dist/types/components/document-component/document-component.d.ts +5 -0
  238. package/dist/types/components/document-component-demo/document-component.demo.d.ts +8 -2
  239. package/dist/types/components/ozon-content/nodes/ext-ref.node.d.ts +1 -1
  240. package/dist/types/components/ozon-content/nodes/figuur.node.d.ts +3 -1
  241. package/dist/types/components/ozon-content/nodes/inline-tekst-afbeelding.node.d.ts +2 -1
  242. package/dist/types/components/ozon-content/ozon-content-context.interface.d.ts +2 -2
  243. package/dist/types/components/ozon-content/ozon-content-node-context.interface.d.ts +2 -1
  244. package/dist/types/components/ozon-content/ozon-content.d.ts +5 -5
  245. package/dist/types/components/ozon-content/ozon-content.interfaces.d.ts +4 -0
  246. package/dist/types/components.d.ts +28 -10
  247. package/package.json +3 -3
  248. package/dist/dso-toolkit/p-044ee150.entry.js +0 -2
  249. package/dist/dso-toolkit/p-0c31d950.entry.js +0 -2
  250. package/dist/dso-toolkit/p-0c31d950.entry.js.map +0 -1
  251. package/dist/dso-toolkit/p-2b0ae997.entry.js +0 -2
  252. package/dist/dso-toolkit/p-5a2586c2.entry.js +0 -2
  253. package/dist/dso-toolkit/p-5a2586c2.entry.js.map +0 -1
  254. package/dist/dso-toolkit/p-5b25a736.entry.js +0 -2
  255. package/dist/dso-toolkit/p-77f41816.entry.js +0 -2
  256. package/dist/dso-toolkit/p-877a32be.entry.js +0 -2
  257. package/dist/dso-toolkit/p-89476db1.entry.js +0 -2
  258. package/dist/dso-toolkit/p-89476db1.entry.js.map +0 -1
  259. package/dist/dso-toolkit/p-9560e51d.entry.js +0 -2
  260. package/dist/dso-toolkit/p-95d77ea8.entry.js.map +0 -1
  261. package/dist/dso-toolkit/p-a9b89335.entry.js +0 -2
  262. package/dist/dso-toolkit/p-acf5ec05.entry.js +0 -2
  263. package/dist/dso-toolkit/p-acf5ec05.entry.js.map +0 -1
  264. package/dist/dso-toolkit/p-c9a89e90.entry.js +0 -2
  265. package/dist/dso-toolkit/p-cc1ffecd.entry.js +0 -2
  266. package/dist/dso-toolkit/p-cc1ffecd.entry.js.map +0 -1
  267. package/dist/dso-toolkit/p-d14079e8.entry.js +0 -2
  268. package/dist/dso-toolkit/p-d39ac774.entry.js +0 -2
  269. package/dist/dso-toolkit/p-d39ac774.entry.js.map +0 -1
  270. package/dist/dso-toolkit/p-e67860a0.entry.js +0 -2
  271. package/dist/dso-toolkit/p-e67860a0.entry.js.map +0 -1
  272. package/dist/dso-toolkit/p-ead9ce8b.entry.js +0 -2
@@ -1 +0,0 @@
1
- {"version":3,"names":["translations","en","close","success","info","warning","error","nl","alertCss","Alert","constructor","hostRef","this","closable","text","i18n","host","render","status","Error","h","key","class","clsx","compact","role","roleAlert","undefined","icon","type","onClick","e","dsoClose","emit","originalEvent","badgeCss","Badge","imageOverlayCss","wijzigactieLabels","verwijder","voegtoe","Dimmer","active","src","alt","ref","click","children","ImageOverlay","zoomable","titelSlot","bijschriftSlot","loadListener","event","target","HTMLImageElement","setZoomable","connectedCallback","querySelector","componentDidLoad","resizeObserver","ResizeObserver","debounce","imgElement","mutationObserver","MutationObserver","forceUpdate","_a","_b","disconnect","initZoomableImage","observe","attributes","subtree","attributeFilter","childList","disconnectedCallback","trap","deactivate","_c","complete","imageElement","width","naturalWidth","height","naturalHeight","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","OzonContentAbbrNode","mapNodeToJsx","title","getAttribute","childNodes","wijzigactieToClassName","parseWijzigactieFromNode","WrapWijzigactie","isNestedAl","path","some","n","OzonContentAlNode","inline","content","className","OzonContentBronNode","OzonContentDocumentNode","Fragment","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","Infinity","createCompounder","callback","words","deburr","replace","isObjectLike","kebabCase","word","toLowerCase","pattern","guard","lodash_kebabcase","OzonContentExtRefNode","href","tagName","rel","OzonContentFallbackNode","Bijschrift","bijschrift","bron","inhoud","OzonContentFiguurNode","Array","from","titel","find","textContent","illustratieNode","bijschriftNode","illustratie","naam","breedte","hoogte","uitlijning","locatie","slot","_f","_e","_d","OzonContentInhoudNode","richContent","OzonContentInlineTekstAfbeeldingNode","OzonContentInlineNodes","Tag","OzonContentIntIoRefNode","emitAnchorClick","intRefOnClick","preventDefault","currentTarget","HTMLAnchorElement","documentComponent","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","OzonContentKopNode","mapColspecs","count","nodeList","elements","totalWidth","getTotalWidth","columns","colNumber","colsep","number","parseInt","rowsep","getWidth","reduce","colWidth","isNaN","Math","round","Colgroup","colspecs","colspec","style","getColspecStartColsep","nameStart","colspecStart","c","getColspecStartRowsep","getData","cell","row","parentElement","tgroup","table","moreRows","nameEnd","getColspan","colspecEnd","colspan","Cell","context","rowSpan","colSpan","Rows","rows","mapData","colAttribute","columnCount","caption","headRows","bodyRows","frame","OzonContentTableNode","uuidv4","assign","OzonContentTextNode","mark","emitMarkItemHighlight","highlight","OzonContentVerwijderdeTekstNode","Mapper","mappers","skip","t","m","push","fallbackNode","findMapper","isArray","NodeList","addSpaceBeforeNode","mapper","identity","s","transform","input","document","inputToXmlDocument","message","getRootNode","XMLDocument","domParser","DOMParser","parseFromString","implementation","createDocument","ozonContentCss","OzonContent","handleMarkItemHighlight","elementRef","dsoOzonContentMarkItemHighlight","contentWatcher","dsoAnchorClick","transformed","panelCss","Panel","emphasized","dsoCloseClick","closeButtonLabel","tableCss","Table","labelledbyId","v4","noModal","isResponsive","modalActive","startResponsiveBehavior","componentWillLoad","entries","setResponsiveTable","setFocusTrap","trim","placeholderHeight","focusTrapElement","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/nodes/abbr.node.tsx","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/kop.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.i18n.ts","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 close: \"Close\",\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 close: \"Sluiten\",\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-compact {\r\n min-block-size: alert.$inline-padding;\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, 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\nimport { AlertCloseEvent } from \"./alert.interfaces\";\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 /**\r\n * When `false` the close button in the alert will not be rendered.\r\n */\r\n @Prop()\r\n closable = false;\r\n\r\n /**\r\n * Emitted when the user closes the Alert.\r\n */\r\n @Event()\r\n dsoClose!: EventEmitter<AlertCloseEvent>;\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 class=\"icon-status\" icon={\"status-\" + this.status} />}\r\n <span class=\"sr-only\">{status}:</span>\r\n <slot></slot>\r\n\r\n {this.closable && (\r\n <button type=\"button\" class=\"dso-close\" onClick={(e) => this.dsoClose.emit({ originalEvent: e })}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">{this.text(\"close\")}</span>\r\n </button>\r\n )}\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 { 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 OzonContentAbbrNode implements OzonContentNode {\r\n name = \"abbr\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const title = node.getAttribute(\"title\");\r\n\r\n return (\r\n <span class=\"od-abbr\">\r\n <abbr>{mapNodeToJsx(node.childNodes)}</abbr>\r\n {title && ` (${title})`}\r\n </span>\r\n );\r\n }\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\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n href={href ?? undefined}\r\n class={className}\r\n title=\"Opent andere website in nieuw tabblad\"\r\n >\r\n <span>{mapNodeToJsx(node.childNodes)}</span>\r\n <dso-icon icon=\"external-link\"></dso-icon>\r\n </a>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentFallbackNode implements OzonContentNode {\r\n // This name does not match any elements\r\n name = [\"<fallback>\"];\r\n\r\n render(node: Node, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <span class={`fallback od-${getNodeName(node)}`}>{mapNodeToJsx(node.childNodes)}</span>;\r\n }\r\n}\r\n","import { Fragment, h, JSX } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\ntype BijschriftProps = {\r\n bijschrift?: IBijschrift;\r\n bron?: ChildNode;\r\n mapNodeToJsx: (node: Node | NodeList | Node[]) => JSX.Element;\r\n};\r\n\r\ninterface IBijschrift {\r\n inhoud: NodeListOf<ChildNode>;\r\n locatie: string;\r\n}\r\n\r\nconst Bijschrift = ({ bijschrift, bron, mapNodeToJsx }: BijschriftProps): HTMLSpanElement => {\r\n return (\r\n <span class=\"figuur-bijschrift\">\r\n {bijschrift && bijschrift.inhoud && mapNodeToJsx(bijschrift.inhoud)}\r\n {bron && (\r\n <Fragment>\r\n {`${bijschrift ? \" \" : \"\"}(bron: `}\r\n {mapNodeToJsx(bron)})\r\n </Fragment>\r\n )}\r\n </span>\r\n );\r\n};\r\n\r\nexport class OzonContentFiguurNode implements OzonContentNode {\r\n name = [\"Figuur\"];\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const childNodes = Array.from(node.childNodes);\r\n const titel = childNodes.find((n) => getNodeName(n) === \"Titel\")?.textContent;\r\n const bron = childNodes.find((n) => getNodeName(n) === \"Bron\");\r\n\r\n const illustratieNode = childNodes.find((n) => getNodeName(n) === \"Illustratie\");\r\n const bijschriftNode = childNodes.find((n) => getNodeName(n) === \"Bijschrift\");\r\n\r\n const wijzigactie = node.getAttribute(\"wijzigactie\") || undefined;\r\n\r\n if (illustratieNode instanceof Element) {\r\n const illustratie = {\r\n naam: illustratieNode.getAttribute(\"naam\"),\r\n breedte: illustratieNode.getAttribute(\"breedte\"),\r\n hoogte: illustratieNode.getAttribute(\"hoogte\"),\r\n uitlijning: illustratieNode.getAttribute(\"uitlijning\"),\r\n alt: illustratieNode.getAttribute(\"alt\"),\r\n };\r\n\r\n const bijschrift =\r\n bijschriftNode instanceof Element\r\n ? {\r\n inhoud: bijschriftNode.childNodes,\r\n locatie: bijschriftNode.getAttribute(\"locatie\") ?? \"onder\",\r\n }\r\n : undefined;\r\n\r\n return (\r\n <div class={`dso-ozon-figuur ${bijschrift ? `bijschrift-${bijschrift.locatie}` : \"onder\"}`}>\r\n {titel && <span class=\"figuur-titel\">{titel}</span>}\r\n {bijschrift?.locatie === \"boven\" && (\r\n <Bijschrift bijschrift={bijschrift} bron={bron} mapNodeToJsx={mapNodeToJsx} />\r\n )}\r\n <dso-image-overlay wijzigactie={wijzigactie}>\r\n {titel && (\r\n <div slot=\"titel\">\r\n <span>{titel}</span>\r\n </div>\r\n )}\r\n <img src={illustratie.naam ?? undefined} alt={illustratie.alt ?? titel ?? illustratie.naam ?? undefined} />\r\n {(bijschrift || bron) && (\r\n <div slot=\"bijschrift\">\r\n <Bijschrift bijschrift={bijschrift} bron={bron} mapNodeToJsx={mapNodeToJsx} />\r\n </div>\r\n )}\r\n </dso-image-overlay>\r\n {(bijschrift?.locatie === \"onder\" || (!bijschrift && bron)) && (\r\n <Bijschrift bijschrift={bijschrift} bron={bron} mapNodeToJsx={mapNodeToJsx} />\r\n )}\r\n </div>\r\n );\r\n }\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentInhoudNode implements OzonContentNode {\r\n name = [\"Inhoud\", \"ContainerBlocksType\", \"BlockMixedcontentMetMaximaleInlinesMarkersPopupsType\"];\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const wijzigactie = node.getAttribute(\"wijzigactie\");\r\n\r\n const richContent = <div class=\"dso-rich-content\">{mapNodeToJsx(node.childNodes)}</div>;\r\n\r\n if (wijzigactie === \"verwijder\") {\r\n return <del class=\"editaction-remove\">{richContent}</del>;\r\n }\r\n\r\n if (wijzigactie === \"voegtoe\") {\r\n return <ins class=\"editaction-add\">{richContent}</ins>;\r\n }\r\n\r\n return richContent;\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentInlineTekstAfbeeldingNode implements OzonContentNode {\r\n name = [\"InlineTekstAfbeelding\", \"Illustratie\"];\r\n\r\n render(node: Element) {\r\n return (\r\n <img\r\n src={node.getAttribute(\"naam\") ?? undefined}\r\n alt={node.getAttribute(\"naam\") ?? undefined}\r\n height={node.getAttribute(\"hoogte\") ?? undefined}\r\n width={node.getAttribute(\"breedte\") ?? undefined}\r\n />\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentInlineNodes implements OzonContentNode {\r\n name = [\"sub\", \"sup\", \"strong\", \"b\", \"u\", \"i\", \"br\"];\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n if (node.localName === \"br\") {\r\n return <br />;\r\n }\r\n\r\n const Tag = node.localName;\r\n\r\n return <Tag>{mapNodeToJsx(node.childNodes)}</Tag>;\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentIntIoRefNode implements OzonContentNode {\r\n name = \"IntIoRef\";\r\n\r\n render(node: Element, { mapNodeToJsx, emitAnchorClick }: OzonContentNodeContext) {\r\n const ref = node.getAttribute(\"ref\");\r\n if (!ref) {\r\n return mapNodeToJsx(node.childNodes);\r\n }\r\n\r\n const intRefOnClick = (event: MouseEvent) => {\r\n event.preventDefault();\r\n\r\n const target = event.currentTarget;\r\n if (!(target instanceof HTMLAnchorElement)) {\r\n return;\r\n }\r\n\r\n const { href } = target;\r\n\r\n emitAnchorClick({\r\n node: this.name,\r\n href,\r\n documentComponent: ref,\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n return (\r\n <a href={`#${ref}`} onClick={intRefOnClick}>\r\n {mapNodeToJsx(node.childNodes)}\r\n </a>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentIntRefNode implements OzonContentNode {\r\n name = \"IntRef\";\r\n\r\n render(node: Element, { mapNodeToJsx, emitAnchorClick }: OzonContentNodeContext) {\r\n const ref = node.getAttribute(\"ref\");\r\n if (!ref) {\r\n return mapNodeToJsx(node.childNodes);\r\n }\r\n\r\n const intRefOnClick = (event: MouseEvent) => {\r\n event.preventDefault();\r\n\r\n const target = event.currentTarget;\r\n if (!(target instanceof HTMLAnchorElement)) {\r\n return;\r\n }\r\n\r\n const { href } = target;\r\n\r\n emitAnchorClick({\r\n node: this.name,\r\n href,\r\n documentComponent: ref,\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n return (\r\n <a href={`#${ref}`} onClick={intRefOnClick}>\r\n {mapNodeToJsx(node.childNodes)}\r\n </a>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\nimport { parseWijzigactieFromNode } from \"../functions/parse-wijzigactie-from-node.function\";\r\nimport clsx from \"clsx\";\r\nimport { wijzigactieToClassName } from \"../functions/wijzigactie-to-class-name.function\";\r\nimport { WrapWijzigactie } from \"../functional-components/wrap-wijzigactie.functional-component\";\r\n\r\nexport class OzonContentLijstNode implements OzonContentNode {\r\n name = \"Lijst\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const wijzigactie = parseWijzigactieFromNode(node);\r\n const childNodes = Array.from(node.childNodes);\r\n const type = parseTypeFromLijstNode(node);\r\n const aanhef = childNodes.find((n) => getNodeName(n) === \"Lijstaanhef\");\r\n const sluiting = childNodes.find((n) => getNodeName(n) === \"Lijstsluiting\");\r\n const listItems = childNodes.filter((n) => getNodeName(n) === \"Li\");\r\n\r\n return (\r\n <WrapWijzigactie wijzigactie={wijzigactie}>\r\n <div class={clsx(\"dso-ozon-lijst od-Lijst\", wijzigactieToClassName(wijzigactie))}>\r\n {aanhef && mapNodeToJsx(aanhef)}\r\n <ul class={type}>\r\n {listItems.map((item) => {\r\n const itemNodes = Array.from(item.childNodes);\r\n const liNummer = itemNodes.find((n) => getNodeName(n) === \"LiNummer\")?.childNodes;\r\n const liWijzigactie = parseWijzigactieFromNode(item);\r\n\r\n return (\r\n <li class={clsx(\"od-Li\", wijzigactieToClassName(liWijzigactie))}>\r\n {liNummer && <span class=\"od-LiNummer\">{mapNodeToJsx(liNummer)}</span>}\r\n <WrapWijzigactie wijzigactie={liWijzigactie}>\r\n {mapNodeToJsx(itemNodes.filter((n) => getNodeName(n) !== \"LiNummer\"))}\r\n </WrapWijzigactie>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n {sluiting && mapNodeToJsx(sluiting)}\r\n </div>\r\n </WrapWijzigactie>\r\n );\r\n }\r\n}\r\n\r\nfunction parseTypeFromLijstNode(node: Node): LijstType | undefined {\r\n const type = node instanceof Element ? node.getAttribute(\"type\") : undefined;\r\n\r\n return type === \"expliciet\" || type === \"ongemarkeerd\" ? type : undefined;\r\n}\r\n\r\ntype LijstType = \"expliciet\" | \"ongemarkeerd\";\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentNieuweTekstNode implements OzonContentNode {\r\n name = \"NieuweTekst\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <ins class=\"new-text\">{mapNodeToJsx(node.childNodes)}</ins>;\r\n }\r\n}\r\n","import { h, Fragment } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentNootNode implements OzonContentNode {\r\n name = \"Noot\";\r\n\r\n handles = [\"NootNummer\"];\r\n\r\n identify(): string | undefined {\r\n return \"Noot\";\r\n }\r\n\r\n render(node: Element, { mapNodeToJsx, state: openNoteId, setState }: OzonContentNodeContext<string | undefined>) {\r\n const noteId = node.getAttribute(\"id\");\r\n if (!noteId) {\r\n console.error(\"Noot node without id\", node);\r\n\r\n return <Fragment />;\r\n }\r\n\r\n const noteControlsId = `dso-ozon-note-${noteId}`;\r\n\r\n const childNodes = Array.from(node.childNodes);\r\n const nootNummer = childNodes.find((n) => getNodeName(n) === \"NootNummer\")?.textContent ?? noteId;\r\n\r\n return (\r\n <>\r\n <sup>\r\n <button\r\n type=\"button\"\r\n class=\"toggle-note\"\r\n aria-describedby={noteControlsId}\r\n onClick={() => setState?.(openNoteId === noteId ? undefined : noteId)}\r\n onBlur={() => setState?.(undefined)}\r\n aria-expanded={openNoteId === noteId ? \"true\" : \"false\"}\r\n >\r\n {nootNummer}\r\n </button>\r\n </sup>\r\n <dso-tooltip active={openNoteId === noteId} id={noteControlsId} stateless descriptive>\r\n <span role=\"section\">{mapNodeToJsx(Array.from(node.querySelectorAll(\":scope > Al\")))}</span>\r\n </dso-tooltip>\r\n </>\r\n );\r\n }\r\n}\r\n","import { h, Fragment } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentKopNode implements OzonContentNode {\r\n name = [\"Opschrift\", \"Label\", \"Nummer\", \"Kop\"];\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 { OzonContentAbbrNode } from \"./nodes/abbr.node\";\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 { OzonContentKopNode } from \"./nodes/kop.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 OzonContentAbbrNode(),\r\n new OzonContentTextNode(),\r\n new OzonContentDocumentNode(),\r\n new OzonContentInhoudNode(),\r\n new OzonContentKopNode(),\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 (\r\n <Fragment>\r\n {Array.from(node).map((n, index) => {\r\n return (\r\n <>\r\n {context.addSpaceBeforeNode && index > 0 && \" \"}\r\n {this.mapNodeToJsx(n, context, path)}\r\n </>\r\n );\r\n })}\r\n </Fragment>\r\n );\r\n }\r\n\r\n if (Array.isArray(node)) {\r\n return (\r\n <Fragment>\r\n {node.map((n, index) => {\r\n return (\r\n <>\r\n {context.addSpaceBeforeNode && index > 0 && \" \"}\r\n {this.mapNodeToJsx(n, context, path)}\r\n </>\r\n );\r\n })}\r\n </Fragment>\r\n );\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/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\nbutton.toggle-note {\r\n @include button-mixins.tertiary($modifiers: false);\r\n}\r\n\r\nspan[role=\"section\"],\r\nspan[role=\"paragraph\"] {\r\n display: block;\r\n}\r\n\r\n:host(:not([inline])) .fallback {\r\n display: block;\r\n}\r\n\r\na {\r\n @include anchor.root();\r\n}\r\n\r\n// Styling below copied from DSO Viewer 20211011\r\n\r\n.od-Term {\r\n font-weight: 700;\r\n}\r\n\r\n.od-Definitie,\r\n.od-Tussenkop {\r\n font-style: italic;\r\n}\r\n\r\n.od-Inhoud,\r\n.od-Inhoud > .od-Lijst,\r\n.od-IntIoRef,\r\n.od-Lidnr,\r\n.od-LiNr,\r\n.od-Opschrift,\r\n.od-Tussenkop {\r\n display: inline;\r\n}\r\n\r\n.od-Al {\r\n margin-block-end: 0.75em;\r\n}\r\n\r\n.od-IntIoRef {\r\n border-block-end: 1px dotted;\r\n}\r\n\r\n.dso-ozon-bron {\r\n font-style: italic;\r\n font-size: 0.75rem;\r\n}\r\n\r\n.dso-ozon-figuur {\r\n margin-block-end: units.$u1;\r\n\r\n .figuur-bijschrift {\r\n display: block;\r\n font-size: 0.75rem;\r\n font-style: italic;\r\n }\r\n\r\n &.bijschrift-boven {\r\n .figuur-bijschrift {\r\n padding-block-end: 0.25rem;\r\n }\r\n }\r\n\r\n &.bijschrift-onder {\r\n .figuur-bijschrift {\r\n padding-block-start: 0.25rem;\r\n }\r\n }\r\n\r\n .figuur-titel {\r\n color: colors.$mauve;\r\n display: block;\r\n font-weight: 500;\r\n padding-block-end: 0.5rem;\r\n }\r\n}\r\n\r\n.dso-ozon-lijst {\r\n span.od-Lijstaanhef,\r\n span.od-Lijstsluiting {\r\n margin-block-end: units.$u1;\r\n }\r\n\r\n ul {\r\n margin-block-end: units.$u1 !important;\r\n margin-block-start: units.$u1;\r\n\r\n p {\r\n margin-block-end: units.$u1;\r\n }\r\n\r\n &.expliciet {\r\n list-style: none;\r\n\r\n > .od-Li {\r\n position: relative;\r\n\r\n > span.od-LiNummer {\r\n position: absolute;\r\n inset-inline-start: units.$u6 * -1 + 4;\r\n text-align: end;\r\n inline-size: units.$u5;\r\n }\r\n }\r\n }\r\n }\r\n\r\n p {\r\n margin: 0;\r\n }\r\n}\r\n\r\n.od-Tabel thead {\r\n font-weight: 600;\r\n}\r\n\r\n.od-Kadertekst {\r\n border: 1px solid #e5e5e5;\r\n margin-block-end: units.$u1;\r\n padding: units.$u1;\r\n}\r\n\r\np,\r\nspan[role=\"paragraph\"],\r\n.dso-ozon-lijst,\r\n.dso-ozon-lijst > ul > li,\r\ntable {\r\n &.editaction-add {\r\n @include insert.root();\r\n }\r\n\r\n &.editaction-remove {\r\n @include delete.root();\r\n }\r\n}\r\n\r\nins {\r\n @include insert.element();\r\n\r\n &.new-text {\r\n @include insert.root();\r\n }\r\n\r\n &.editaction-add {\r\n display: inline-block;\r\n margin-block-end: units.$u1;\r\n padding: units.$u1;\r\n\r\n @include insert.root();\r\n\r\n p:last-child {\r\n margin: 0;\r\n }\r\n }\r\n}\r\n\r\ndel {\r\n &.removed-text {\r\n @include delete.root();\r\n }\r\n\r\n &.editaction-remove {\r\n display: inline-block;\r\n margin-block-end: units.$u1;\r\n padding: units.$u1;\r\n @include delete.root();\r\n\r\n p:last-child {\r\n margin: 0;\r\n }\r\n }\r\n}\r\n\r\n.editaction-label {\r\n font-style: italic;\r\n}\r\n\r\n.dso-rich-content {\r\n @include rich-content.children();\r\n}\r\n\r\n.od-abbr {\r\n text-decoration: underline dotted;\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 * Adds a non breaking space to the node element.\r\n */\r\n @Prop({ reflect: true })\r\n addSpaceBeforeNode = 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 addSpaceBeforeNode: this.addSpaceBeforeNode,\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","import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-panel\": {\r\n close: \"Close\",\r\n },\r\n },\r\n nl: {\r\n \"dso-panel\": {\r\n close: \"Sluiten\",\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@use \"panel.variables\" as panel-variables;\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-start: var(--panel-heading-padding-inline-start, panel-variables.$panel-heading-padding-inline-start);\r\n padding-inline-end: 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.emphasized .panel-heading {\r\n background-color: panel-variables.$background-color-emphasized;\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: var(--panel-body-padding-inline, panel-variables.$panel-body-padding-inline);\r\n\r\n background-color: var(--_dso-panel-body-background-color, transparent);\r\n}\r\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Prop } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { i18n } from \"../../utils/i18n\";\r\n\r\nimport { translations } from \"./panel.i18n\";\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 @Element()\r\n host!: HTMLDsoPanelElement;\r\n\r\n /**\r\n * The accessible name for the close button.\r\n */\r\n @Prop()\r\n closeButtonLabel?: string;\r\n\r\n /**\r\n * To display the panel as an emphasized panel.\r\n */\r\n @Prop()\r\n emphasized = false;\r\n\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 private text = i18n(() => this.host, translations);\r\n\r\n render() {\r\n return (\r\n <div class={clsx([\"dso-panel\", { emphasized: this.emphasized }])}>\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\">{this.closeButtonLabel || this.text(\"close\")}</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 inset: 0px;\r\n block-size: 100%;\r\n position: fixed;\r\n z-index: zindex.$modal;\r\n\r\n @include modal.root();\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 n,h as r,F as o}from"./p-BzEnSYbR.js";const a=':host {\n display: block;\n position: fixed;\n inset-block-end: 16px;\n inset-inline-start: 16px;\n inline-size: 370px;\n background-color: #fff;\n box-shadow: -3px 3px 6px 0 rgba(0, 0, 0, 0.5);\n border-radius: 4px;\n z-index: 1000;\n}\n@media screen and (max-width: 480px) {\n :host {\n inline-size: 320px;\n inset-block-end: 0;\n inset-inline-start: 0;\n --panel-heading-padding-inline-start: 8px;\n --panel-body-padding-inline: 8px;\n }\n}\n\n*,\n*::after,\n*::before {\n box-sizing: border-box;\n}\n\n.sr-only {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n.visual-rating-labels {\n display: flex;\n justify-content: space-between;\n margin-block: 8px;\n}\n\ninput[type=radio] {\n appearance: none;\n cursor: pointer;\n position: absolute;\n margin-inline: 0;\n margin-block: 0;\n inset-block: 8px 0;\n inset-inline: 0;\n z-index: 1;\n}\n\nlabel {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 48px;\n block-size: 48px;\n border: 1px solid #ccc;\n border-inline-end-width: 0;\n padding-block-start: 8px;\n}\n@media screen and (max-width: 480px) {\n label {\n inline-size: 43px;\n block-size: 43px;\n }\n}\nlabel:hover {\n background-color: #f2f2f2;\n}\nlabel:active {\n background-color: #e5e5e5;\n}\nlabel:first-of-type {\n border-radius: 4px 0 0 4px;\n}\nlabel:first-of-type::before {\n border-radius: 3px 0 0;\n}\nlabel:last-of-type {\n border-inline-end-width: 1px;\n border-radius: 0 4px 4px 0;\n}\nlabel:last-of-type::before {\n border-radius: 0 3px 0 0;\n}\nlabel::before {\n content: "";\n display: block;\n position: absolute;\n inset-block-start: 0;\n block-size: 8px;\n inline-size: 100%;\n border-block-end: 1px solid #ccc;\n}\nlabel:has(input:checked) {\n font-weight: bold;\n}\nlabel.survey-rating-1::before, label.survey-rating-1:has(input:checked) {\n --link-color: currentColor;\n --link-hover-color: currentColor;\n --link-visited-color: currentColor;\n background-color: #b62f41;\n border-color: #ccc;\n color: #fff;\n}\nlabel.survey-rating-1::before a:is(.download, .download:hover, .download:focus-visible), label.survey-rating-1:has(input:checked) a:is(.download, .download:hover, .download:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#download-wit"));\n}\nlabel.survey-rating-1::before a:is(.extern, .extern:hover, .extern:focus-visible), label.survey-rating-1:has(input:checked) a:is(.extern, .extern:hover, .extern:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#external-link-wit"));\n}\nlabel.survey-rating-1::before a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible), label.survey-rating-1:has(input:checked) a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#call-wit"));\n}\nlabel.survey-rating-1::before a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible), label.survey-rating-1:has(input:checked) a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#email-wit"));\n}\nlabel.survey-rating-2::before, label.survey-rating-2:has(input:checked) {\n --link-color: currentColor;\n --link-hover-color: currentColor;\n --link-visited-color: currentColor;\n background-color: #ce3f51;\n border-color: #ccc;\n color: #fff;\n}\nlabel.survey-rating-2::before a:is(.download, .download:hover, .download:focus-visible), label.survey-rating-2:has(input:checked) a:is(.download, .download:hover, .download:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#download-wit"));\n}\nlabel.survey-rating-2::before a:is(.extern, .extern:hover, .extern:focus-visible), label.survey-rating-2:has(input:checked) a:is(.extern, .extern:hover, .extern:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#external-link-wit"));\n}\nlabel.survey-rating-2::before a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible), label.survey-rating-2:has(input:checked) a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#call-wit"));\n}\nlabel.survey-rating-2::before a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible), label.survey-rating-2:has(input:checked) a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#email-wit"));\n}\nlabel.survey-rating-3::before, label.survey-rating-3:has(input:checked) {\n --link-color: currentColor;\n --link-hover-color: currentColor;\n --link-visited-color: currentColor;\n background-color: #e17000;\n border-color: #ccc;\n color: #191919;\n}\nlabel.survey-rating-3::before a:is(.download, .download:hover, .download:focus-visible), label.survey-rating-3:has(input:checked) a:is(.download, .download:hover, .download:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#download-zwart"));\n}\nlabel.survey-rating-3::before a:is(.extern, .extern:hover, .extern:focus-visible), label.survey-rating-3:has(input:checked) a:is(.extern, .extern:hover, .extern:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#external-link-zwart"));\n}\nlabel.survey-rating-3::before a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible), label.survey-rating-3:has(input:checked) a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#call-zwart"));\n}\nlabel.survey-rating-3::before a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible), label.survey-rating-3:has(input:checked) a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#email-zwart"));\n}\nlabel.survey-rating-4::before, label.survey-rating-4:has(input:checked) {\n --link-color: currentColor;\n --link-hover-color: currentColor;\n --link-visited-color: currentColor;\n background-color: #dcd400;\n border-color: #ccc;\n color: #191919;\n}\nlabel.survey-rating-4::before a:is(.download, .download:hover, .download:focus-visible), label.survey-rating-4:has(input:checked) a:is(.download, .download:hover, .download:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#download-zwart"));\n}\nlabel.survey-rating-4::before a:is(.extern, .extern:hover, .extern:focus-visible), label.survey-rating-4:has(input:checked) a:is(.extern, .extern:hover, .extern:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#external-link-zwart"));\n}\nlabel.survey-rating-4::before a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible), label.survey-rating-4:has(input:checked) a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#call-zwart"));\n}\nlabel.survey-rating-4::before a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible), label.survey-rating-4:has(input:checked) a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#email-zwart"));\n}\nlabel.survey-rating-5::before, label.survey-rating-5:has(input:checked) {\n --link-color: currentColor;\n --link-hover-color: currentColor;\n --link-visited-color: currentColor;\n background-color: #79b929;\n border-color: #ccc;\n color: #191919;\n}\nlabel.survey-rating-5::before a:is(.download, .download:hover, .download:focus-visible), label.survey-rating-5:has(input:checked) a:is(.download, .download:hover, .download:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#download-zwart"));\n}\nlabel.survey-rating-5::before a:is(.extern, .extern:hover, .extern:focus-visible), label.survey-rating-5:has(input:checked) a:is(.extern, .extern:hover, .extern:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#external-link-zwart"));\n}\nlabel.survey-rating-5::before a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible), label.survey-rating-5:has(input:checked) a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#call-zwart"));\n}\nlabel.survey-rating-5::before a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible), label.survey-rating-5:has(input:checked) a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#email-zwart"));\n}\nlabel.survey-rating-6::before, label.survey-rating-6:has(input:checked) {\n --link-color: currentColor;\n --link-hover-color: currentColor;\n --link-visited-color: currentColor;\n background-color: #39870c;\n border-color: #ccc;\n color: #fff;\n}\nlabel.survey-rating-6::before a:is(.download, .download:hover, .download:focus-visible), label.survey-rating-6:has(input:checked) a:is(.download, .download:hover, .download:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#download-wit"));\n}\nlabel.survey-rating-6::before a:is(.extern, .extern:hover, .extern:focus-visible), label.survey-rating-6:has(input:checked) a:is(.extern, .extern:hover, .extern:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#external-link-wit"));\n}\nlabel.survey-rating-6::before a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible), label.survey-rating-6:has(input:checked) a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#call-wit"));\n}\nlabel.survey-rating-6::before a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible), label.survey-rating-6:has(input:checked) a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#email-wit"));\n}\nlabel.survey-rating-7::before, label.survey-rating-7:has(input:checked) {\n --link-color: currentColor;\n --link-hover-color: currentColor;\n --link-visited-color: currentColor;\n background-color: #275937;\n border-color: #ccc;\n color: #fff;\n}\nlabel.survey-rating-7::before a:is(.download, .download:hover, .download:focus-visible), label.survey-rating-7:has(input:checked) a:is(.download, .download:hover, .download:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#download-wit"));\n}\nlabel.survey-rating-7::before a:is(.extern, .extern:hover, .extern:focus-visible), label.survey-rating-7:has(input:checked) a:is(.extern, .extern:hover, .extern:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#external-link-wit"));\n}\nlabel.survey-rating-7::before a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible), label.survey-rating-7:has(input:checked) a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#call-wit"));\n}\nlabel.survey-rating-7::before a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible), label.survey-rating-7:has(input:checked) a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#email-wit"));\n}\n\nbutton {\n -webkit-appearance: button;\n color: inherit;\n cursor: pointer;\n font: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n margin-block-start: 16px;\n}\nbutton[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\nbutton.dso-secondary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-block-end: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: start;\n user-select: none;\n vertical-align: middle;\n}\nbutton.dso-secondary:focus, button.dso-secondary:focus-visible {\n outline-offset: 2px;\n}\nbutton.dso-secondary:active {\n outline: 0;\n}\nbutton.dso-secondary.extern::after, button.dso-secondary.download::after {\n content: "";\n display: inline-block;\n margin-inline-start: 8px;\n}\nbutton.dso-secondary {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\nbutton.dso-secondary {\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-inline-size: 56px;\n padding-block: 11px;\n padding-inline: 15px;\n}\nbutton.dso-secondary:hover {\n background-color: #d7e7ce;\n border-color: #39870c;\n color: #39870c;\n}\nbutton.dso-secondary:active {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\nbutton.dso-secondary[disabled], button.dso-secondary[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\nbutton.dso-secondary.dso-small {\n line-height: 1rem;\n}\nbutton.dso-secondary.dso-small dso-icon,\nbutton.dso-secondary.dso-small svg.di, button.dso-secondary.dso-small.extern::after, button.dso-secondary.dso-small.download::after, button.dso-secondary.dso-small.dso-spinner::before {\n margin-block-end: -4px;\n margin-block-start: -4px;\n}\nbutton.dso-secondary.dso-small.dso-spinner-left::before {\n block-size: 16px;\n inline-size: 16px;\n}\nbutton.dso-secondary.dso-small.dso-spinner-right::after {\n block-size: 16px;\n inline-size: 16px;\n}\nbutton.dso-secondary dso-icon,\nbutton.dso-secondary svg.di {\n margin-inline-start: -8px;\n margin-inline-end: 8px;\n}\nbutton.dso-secondary span + dso-icon,\nbutton.dso-secondary span + svg.di {\n margin-inline-start: 8px;\n margin-inline-end: -8px;\n}\nbutton.dso-secondary.dso-spinner-left[disabled], button.dso-secondary.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\nbutton.dso-secondary.dso-spinner-left::before {\n background-image: url("data:image/svg+xml,%3Csvg class=\'spinner\' viewBox=\'0 0 100 100\' xmlns=\'http://www.w3.org/2000/svg\' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class=\'path\' fill=\'none\' stroke-width=\'10\' stroke-linecap=\'butt\' cx=\'50\' cy=\'50\' r=\'45\'%3E%3C/circle%3E%3C/svg%3E");\n background-repeat: no-repeat;\n content: "";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\nbutton.dso-secondary.dso-spinner-left:not([disabled]):hover::before {\n background-image: url("data:image/svg+xml,%3Csvg class=\'spinner\' viewBox=\'0 0 100 100\' xmlns=\'http://www.w3.org/2000/svg\' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class=\'path\' fill=\'none\' stroke-width=\'10\' stroke-linecap=\'butt\' cx=\'50\' cy=\'50\' r=\'45\'%3E%3C/circle%3E%3C/svg%3E");\n background-repeat: no-repeat;\n content: "";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\nbutton.dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before {\n block-size: 16px;\n inline-size: 16px;\n}\nbutton.dso-secondary.dso-spinner-right::after {\n background-image: url("data:image/svg+xml,%3Csvg class=\'spinner\' viewBox=\'0 0 100 100\' xmlns=\'http://www.w3.org/2000/svg\' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class=\'path\' fill=\'none\' stroke-width=\'10\' stroke-linecap=\'butt\' cx=\'50\' cy=\'50\' r=\'45\'%3E%3C/circle%3E%3C/svg%3E");\n background-repeat: no-repeat;\n content: "";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\nbutton.dso-secondary.dso-spinner-right:not([disabled]):hover::after {\n background-image: url("data:image/svg+xml,%3Csvg class=\'spinner\' viewBox=\'0 0 100 100\' xmlns=\'http://www.w3.org/2000/svg\' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class=\'path\' fill=\'none\' stroke-width=\'10\' stroke-linecap=\'butt\' cx=\'50\' cy=\'50\' r=\'45\'%3E%3C/circle%3E%3C/svg%3E");\n background-repeat: no-repeat;\n content: "";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\nbutton.dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after {\n block-size: 16px;\n inline-size: 16px;\n}';const i=class{constructor(r){e(this,r);this.dsoSubmit=n(this,"dsoSubmit",7);this.dsoClose=n(this,"dsoClose",7)}handleForm(e){e.preventDefault();this.dsoSubmit.emit({rating:this.rating,scale:{start:1,end:7},originalEvent:e})}handleChange(e){const n=e.target;this.rating=Number(n.value)}render(){const e=["Heel moeilijk","Moeilijk","Redelijk moeilijk","Neutraal","Redelijk makkelijk","Makkelijk","Heel makkelijk"];return r("dso-panel",{key:"6fc9ee08dd30db6aa3d69d97c2ca0301925aead8",emphasized:true,onDsoCloseClick:e=>this.dsoClose.emit({originalEvent:e})},r("h2",{key:"bbb4670c28e25abbfc173460ce3f68222890fe83",slot:"heading"},"Help ons met een onderzoek"),r("strong",{key:"06cd4142e76f971ce0295de633b4b50829ee25da"},"Hoe moeilijk of makkelijk was deze taak om uit te voeren"),r("form",{key:"28fa667cc36b6e5195e89ca5a367db1f78c1b594",onSubmit:e=>this.handleForm(e)},r("div",{key:"64da63f3d3fa3c184d170294c0881b0706384c12",class:"visual-rating-labels","aria-hidden":"true"},r("span",{key:"43ae48b3d6cb72029401854d4e775e9039483b1c"},"Heel moeilijk"),r("span",{key:"f77fb4f6d9618f1f854548edf8b02b3462737805"},"Heel makkelijk")),r("div",{key:"1558bdd1bf03f620c9e78d77c0b0a5a64c36351c",role:"radiogroup"},e.map(((e,n)=>{const a=n+1;return r(o,null,r("label",{class:`survey-rating-${a}`},a,r("span",{class:"sr-only"},e),r("input",{type:"radio",name:"rating",value:a,checked:a===this.rating,onChange:e=>this.handleChange(e)})))}))),r("button",{key:"eba1c066912dcb627aa64c65e6855b2d8193c4c5",type:"submit",class:"dso-secondary"},r("span",{key:"8d748fc6a39c343c949808c070eb68aa4e4ba1b9"},"Antwoord verzenden"))))}};i.style=a;export{i as dso_survey_rating};
2
- //# sourceMappingURL=p-5b25a736.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as e,c as o,h as s,F as t,g as i}from"./p-BzEnSYbR.js";import{c as l}from"./p-ChV9xqsO.js";import{d as r}from"./p-DDU8nTJS.js";import{v as d}from"./p-BF0_OXTe.js";import"./p-BFTU3MAI.js";const a=":host{display:inline-block;max-inline-size:100%}*,*::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}.dso-label{border-radius:4px;display:inline-block;line-height:1.5;max-inline-size:100%;padding-block:4px;padding-inline:8px}.dso-label:focus-within,.dso-label.dso-hover{text-decoration:line-through}.dso-label button{background:none;border:0;border-radius:0 4px 4px 0;color:inherit;float:inline-end;font-size:1rem;margin-block-end:-4px;margin-inline-start:8px;margin-inline-end:-4px;margin-block-start:0;padding:0}.dso-label button:hover{cursor:pointer}.dso-label button>dso-icon,.dso-label button>svg.di{display:block}.dso-label{background-color:#f2f2f2;border-color:#f2f2f2;color:#191919}.dso-label.dso-label-info{background-color:#6ca4d9;border-color:#6ca4d9;color:#191919}.dso-label.dso-label-primary{background-color:#275937;border-color:#275937;color:#fff}.dso-label.dso-label-success{background-color:#39870c;border-color:#39870c;color:#fff}.dso-label.dso-label-warning{background-color:#dcd400;border-color:#dcd400;color:#191919}.dso-label.dso-label-danger{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.dso-label.dso-label-error{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.dso-label.dso-label-bright{background-color:#fff;border-color:#fff;color:#191919}.dso-label.dso-label-bright{outline:1px solid #ccc;outline-offset:-1px}.dso-label.dso-label-attention{background-color:#8b4a6a;border-color:#8b4a6a;color:#fff}.dso-label.dso-compact{padding-block:0;padding-inline:8px}.dso-label.dso-hover .dso-label-content{text-decoration:line-through}.dso-truncate.dso-label-content{display:inline-block;max-inline-size:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}:host([removable]) .dso-truncate.dso-label-content{max-inline-size:calc(100% - 28px)}";const n=new ResizeObserver(r((e=>{e.forEach((({target:e})=>{if(c(e)){e._truncateLabel()}}))}),150));function c(e){return e.tagName==="DSO-LABEL"}function b(e){return e.scrollWidth>e.clientWidth}const h=class{constructor(s){e(this,s);this.dsoRemoveClick=o(this,"dsoRemoveClick",7);this.isTruncated=false;this.labelText=""}watchRemovable(e){if(e){this.startMutationObserver()}else{this.stopMutationObserver()}}watchTruncate(e){if(e){this.startTruncate()}else{this.stopTruncate()}}keyDownListener(e){if(e.key==="Escape"){this.textHover=false;this.textFocus=false}}async _truncateLabel(){setTimeout((()=>{this.isTruncated=!!this.labelContent&&b(this.labelContent)}))}syncLabelText(){var e,o;this.labelText=(o=(e=this.host.textContent)===null||e===void 0?void 0:e.trim())!==null&&o!==void 0?o:""}componentDidLoad(){if(this.truncate){this.startTruncate()}if(this.removable){this.startMutationObserver()}}disconnectedCallback(){this.stopTruncate();this.stopMutationObserver(true)}startMutationObserver(){this.mutationObserver=new MutationObserver((()=>this.syncLabelText()));this.mutationObserver.observe(this.host,{characterData:true,childList:true,subtree:true,attributes:true});this.syncLabelText()}stopMutationObserver(e=false){var o;if(e||!(this.truncate&&this.removable)){(o=this.mutationObserver)===null||o===void 0?void 0:o.disconnect();delete this.mutationObserver}}startTruncate(){n.observe(this.host);this.startMutationObserver();this._truncateLabel()}stopTruncate(){n.unobserve(this.host);this.stopMutationObserver();this.isTruncated=false}render(){return s(t,{key:"8fd30b6ad557f1d54be48b339e682b148b44e2ba"},s("span",{key:"0bdb791180337871d18c42341c16fa897ca8922c","aria-describedby":"toggle-anchor",class:l("dso-label",{[`dso-label-${this.status}`]:this.status,"dso-compact":this.compact&&!this.removable,"dso-hover":this.removeHover||this.removeFocus})},s("slot",{key:"3b42de72a93e7c0b3aee68935d7ed3aabfb0dd06",name:"symbol"}),s("span",{key:"107445074a029cdf794553429e05f2db498371ae",class:l("dso-label-content",{"dso-truncate":!!this.truncate}),ref:e=>this.labelContent=e,tabindex:this.truncate&&this.isTruncated?0:undefined,onMouseEnter:()=>this.textHover=true,onMouseLeave:()=>this.textHover=false,onFocus:()=>this.textFocus=true,onBlur:()=>this.textFocus=false},s("slot",{key:"8b5f26d80ca6b93fc2a18679526f9ca5c4539415"})),this.removable&&s("button",{key:"31a358d27b50ffa19a40fd13e5b4962a97b20267",type:"button",onClick:e=>this.dsoRemoveClick.emit(e),onMouseEnter:()=>this.removeHover=true,onMouseLeave:()=>this.removeHover=false,onFocus:()=>this.removeFocus=true,onBlur:()=>this.removeFocus=false},s("span",{key:"825778552459fa71dc1dd1bfba8788ad33f82faa",class:"sr-only"},"Verwijder: ",this.labelText),s("dso-icon",{key:"a414a63d43c18e66355dd87eab556251490bff9e",icon:"times"}))),this.isTruncated&&s("dso-tooltip",{key:"d9bba58c8c88b5e4c33fecdbfd1f17a2db122cdc",stateless:true,id:"toggle-anchor",active:this.textHover||this.textFocus,position:"top",strategy:"absolute"},this.labelText))}get host(){return i(this)}static get watchers(){return{removable:["watchRemovable"],truncate:["watchTruncate"]}}};h.style=a;const g=({text:e,mark:o,onMarkItemHighlight:i})=>{if(!o){return s(t,null,e)}const l=o(e);if(!l){return s(t,null,e)}return s(t,null,l.map((e=>{if(typeof e==="string"){return s(t,null,e)}return s("mark",{class:e.highlight?"dso-highlight":undefined,ref:o=>e.highlight&&o&&i(e.text,o)},e.text)})))};const f=({value:e,mark:o,onMarkItemHighlight:i})=>{if(typeof e==="string"||!e){return s("span",{class:"text"},s(g,{text:e,mark:o,onMarkItemHighlight:i}))}if("toegevoegd"in e){return s("ins",null,s(g,{text:e.toegevoegd,mark:o,onMarkItemHighlight:i}))}if("verwijderd"in e){return s("del",null,s(g,{text:e.verwijderd,mark:o,onMarkItemHighlight:i}))}return s(t,null,s("del",null,s(g,{text:e.was,mark:o,onMarkItemHighlight:i})),s("ins",null,s(g,{text:e.wordt,mark:o,onMarkItemHighlight:i})))};const u='ins{text-decoration:none}ins{--link-color:currentColor;--link-hover-color:currentColor;--link-visited-color:currentColor;background-color:#e4f1d4;border-color:#e4f1d4;color:#191919}ins a:is(.download,.download:hover,.download:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#download-zwart"))}ins a:is(.extern,.extern:hover,.extern:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#external-link-zwart"))}ins a:is([href^="tel:"],[href^="tel:"]:hover,[href^="tel:"]:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#call-zwart"))}ins a:is([href^="mailto:"],[href^="mailto:"]:hover,[href^="mailto:"]:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#email-zwart"))}ins{box-shadow:0 1px 3px 1px rgba(0, 0, 0, 0.25)}del{--link-color:currentColor;--link-hover-color:currentColor;--link-visited-color:currentColor;background-color:#f5d8dc;border-color:#f5d8dc;color:#191919}del a:is(.download,.download:hover,.download:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#download-zwart"))}del a:is(.extern,.extern:hover,.extern:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#external-link-zwart"))}del a:is([href^="tel:"],[href^="tel:"]:hover,[href^="tel:"]:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#call-zwart"))}del a:is([href^="mailto:"],[href^="mailto:"]:hover,[href^="mailto:"]:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#email-zwart"))}del{text-decoration:line-through}@media screen and (min--moz-device-pixel-ratio: 0){del{font-family:sans-serif}}mark{background-color:var(--_dt-mark-bg-color, #f8f5ce);color:var(--_dt-mark-color, #000);padding-block:var(--_dt-mark-padding-block, 0.2rem);font-weight:var(--_dt-mark-font-weight, normal)}mark.dso-highlight{background-color:#dbd136}:host{display:inline}*,*::after,*::before{box-sizing:border-box}.text{text-decoration:var(--_dso-renvooi-text-decoration)}';const k=class{constructor(s){e(this,s);this.dsoRenvooiMarkItemHighlight=o(this,"dsoRenvooiMarkItemHighlight",3);this.handleMarkItemHighlight=(e,o)=>{this.dsoRenvooiMarkItemHighlight.emit({text:e,elementRef:o})}}get values(){if(!this.value){return[]}return Array.isArray(this.value)?this.value:[this.value]}render(){return s(t,null,this.values.map((e=>s(f,{value:e,mark:this.mark&&(o=>{var s;return(s=this.mark)===null||s===void 0?void 0:s.call(this,o,e,this.values)}),onMarkItemHighlight:this.handleMarkItemHighlight}))))}};k.style=u;const v=".sc-dso-slide-toggle-h{display:inline-block;padding-block-start:2px}button.dso-slider.sc-dso-slide-toggle{border:0;padding:0}button.dso-slider.sc-dso-slide-toggle:focus-visible{outline:2px solid #323232;outline-offset:1px}button.dso-slider.sc-dso-slide-toggle svg.sc-dso-slide-toggle rect.sc-dso-slide-toggle{fill:#999;transition:fill 0.25s}button.dso-slider.sc-dso-slide-toggle svg.sc-dso-slide-toggle circle.sc-dso-slide-toggle{transition:transform 260ms cubic-bezier(0.4, 0, 0.2, 1);transform:translateX(10px);fill:#fff}button.dso-slider[aria-checked=true].sc-dso-slide-toggle svg.sc-dso-slide-toggle rect.sc-dso-slide-toggle{fill:#275937}button.dso-slider[aria-checked=true].sc-dso-slide-toggle svg.sc-dso-slide-toggle circle.sc-dso-slide-toggle{transform:translateX(30px);fill:#fff}button.dso-slider[disabled].sc-dso-slide-toggle svg.sc-dso-slide-toggle rect.sc-dso-slide-toggle{fill:#ccc}button.dso-slider[disabled].sc-dso-slide-toggle svg.sc-dso-slide-toggle circle.sc-dso-slide-toggle{fill:#e5e5e5}button.dso-slider[disabled][aria-checked=true].sc-dso-slide-toggle svg.sc-dso-slide-toggle rect.sc-dso-slide-toggle{fill:#a8bcaf}button.dso-slider[disabled][aria-checked=true].sc-dso-slide-toggle svg.sc-dso-slide-toggle circle.sc-dso-slide-toggle{fill:#e5e5e5}.dso-slider.sc-dso-slide-toggle{border-radius:24px;display:inline-flex}.dso-slider.sc-dso-slide-toggle:hover{cursor:pointer}";const m=class{constructor(s){e(this,s);this.dsoActiveChange=o(this,"dsoActiveChange",5);this.checked=false;this.disabled=false;this.identifier=d()}handleSwitch(e){this.dsoActiveChange.emit({originalEvent:e,checked:!this.checked})}componentWillLoad(){this.hasVisibleLabel=this.host.querySelector("*")!==null}render(){return s(t,null,s("button",Object.assign({key:"7ff86866a9d77df22b05998c9ab88e9b44a3037f",id:this.identifier,role:"switch",class:"dso-slider","aria-checked":""+this.checked,disabled:this.disabled,onClick:e=>this.handleSwitch(e)},this.accessibleLabel?{"aria-label":this.accessibleLabel}:{},this.labelledbyId?{"aria-labelledby":this.labelledbyId}:{}),s("svg",{key:"fe3211c16c38e99ee8aecef786dd546e7c8a059f",xmlns:"http://www.w3.org/2000/svg",width:"40",height:"20",viewBox:"0 0 40 20"},s("g",{key:"771ac2486522b8e2bb130d7bb4e0779fe0adbe45",fill:"none","fill-rule":"evenodd"},s("rect",{key:"9856f027ca31cfd9732774c7440eb07ef749c4d0",width:"40",height:"20",fill:"currentColor",rx:"10"}),s("circle",{key:"65ea5eba7b1e850822b2bf57537739547bc19a52",cy:"10",r:"8",fill:"currentColor"})))),this.hasVisibleLabel&&s("label",{key:"e140104191700dbdb0e8c1061f78617217e459d8",htmlFor:this.identifier},s("slot",{key:"a2f1b30ad79f1ab9c47b28e2e4814a5198919bde"})))}get host(){return i(this)}};m.style=v;export{h as dso_label,k as dso_renvooi,m as dso_slide_toggle};
2
- //# sourceMappingURL=p-77f41816.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as e,c as o,f as i,h as n,F as a,H as r,g as t}from"./p-BzEnSYbR.js";import{i as d}from"./p-Hgv-pDpy.js";const s='ins{text-decoration:none}ins{--link-color:currentColor;--link-hover-color:currentColor;--link-visited-color:currentColor;background-color:#e4f1d4;border-color:#e4f1d4;color:#191919}ins a:is(.download,.download:hover,.download:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#download-zwart"))}ins a:is(.extern,.extern:hover,.extern:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#external-link-zwart"))}ins a:is([href^="tel:"],[href^="tel:"]:hover,[href^="tel:"]:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#call-zwart"))}ins a:is([href^="mailto:"],[href^="mailto:"]:hover,[href^="mailto:"]:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#email-zwart"))}ins{box-shadow:0 1px 3px 1px rgba(0, 0, 0, 0.25)}del{--link-color:currentColor;--link-hover-color:currentColor;--link-visited-color:currentColor;background-color:#f5d8dc;border-color:#f5d8dc;color:#191919}del a:is(.download,.download:hover,.download:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#download-zwart"))}del a:is(.extern,.extern:hover,.extern:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#external-link-zwart"))}del a:is([href^="tel:"],[href^="tel:"]:hover,[href^="tel:"]:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#call-zwart"))}del a:is([href^="mailto:"],[href^="mailto:"]:hover,[href^="mailto:"]:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#email-zwart"))}del{text-decoration:line-through}@media screen and (min--moz-device-pixel-ratio: 0){del{font-family:sans-serif}}*,*::after,*::before{box-sizing:border-box}:host{display:block}.dso-plekinfo-card-container{padding-block:16px;padding-inline:16px;inline-size:100%}.dso-plekinfo-card-container .dso-plekinfo-card-heading{display:flex;align-items:start;column-gap:8px}@media screen and (max-width: 480px){.dso-plekinfo-card-container .dso-plekinfo-card-heading{flex-wrap:wrap}}.dso-plekinfo-card-container .dso-plekinfo-card-heading+.dso-plekinfo-card-content{margin-block-start:8px}.dso-plekinfo-card-container .dso-plekinfo-card-symbol{grid-row:span 2;margin-inline-end:8px}.dso-plekinfo-card-container:has(.dso-plekinfo-card-heading a:is(:hover,:focus-visible)){background-color:#f2f2f2}ins.dso-plekinfo-card-container:has(.dso-plekinfo-card-heading a:is(:hover,:focus-visible)){background-color:#d8e5c9}del.dso-plekinfo-card-container:has(.dso-plekinfo-card-heading a:is(:hover,:focus-visible)){background-color:#e9cdd1}:host([active]:not([active=false])) .dso-plekinfo-card-container{background-color:#e5e5e5}:host([active]:not([active=false])) ins.dso-plekinfo-card-container{background-color:#ced9bf}:host([active]:not([active=false])) del.dso-plekinfo-card-container{background-color:#ddc3c6}:host([has-symbol]) .dso-plekinfo-card-container{display:grid;grid-template-columns:1fr minmax(0, 100%)}:host([has-symbol]) .dso-plekinfo-card-container .dso-plekinfo-card-heading,:host([has-symbol]) .dso-plekinfo-card-container .dso-plekinfo-card-content{grid-column:2/-1}::slotted([slot=meta]){display:flex !important;justify-content:space-between !important;flex-shrink:0 !important;align-self:end !important}@media screen and (max-width: 480px){::slotted([slot=meta]){flex-basis:100% !important;margin-block-start:8px !important}}::slotted([slot=heading]){display:flex !important;align-items:center !important;font-size:1.125em !important;font-weight:700 !important;color:#275937 !important;line-height:1.25 !important;margin-block-end:0 !important;margin-block-start:0 !important}::slotted([slot=content]){--_dt-rich-content-margin-block:8px;--_dt-rich-content-margin-block-end:0;--_dt-rich-content-margin-block-start:0}::slotted([slot=interaction]){display:flex !important;justify-content:space-between !important;margin-inline-start:auto !important}@media screen and (max-width: 480px){::slotted([slot=interaction]){flex-basis:100% !important;margin-block-start:16px !important}}.heading-anchor{display:flex;flex-wrap:nowrap;color:#275937;text-decoration:none}.heading-anchor:hover{color:#275937;text-decoration:underline}.heading-anchor:visited{color:#275937}.heading-anchor dso-icon{flex-shrink:0;align-self:end}.heading-anchor .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 l=({wijzigactie:e},o)=>{if(e==="voegtoe"){return n("ins",{class:"dso-plekinfo-card-container"},o)}if(e==="verwijder"){return n("del",{class:"dso-plekinfo-card-container"},o)}return n("div",{class:"dso-plekinfo-card-container"},o)};const c=class{constructor(i){e(this,i);this.dsoPlekinfoCardClick=o(this,"dsoPlekinfoCardClick",7);this.targetBlank=false}connectedCallback(){this.mutationObserver=new MutationObserver((()=>i(this.host)));this.mutationObserver.observe(this.host,{attributes:true,childList:true})}disconnectedCallback(){var e;(e=this.mutationObserver)===null||e===void 0?void 0:e.disconnect();delete this.mutationObserver}clickEventHandler(e){if(!(e.target instanceof HTMLElement)||!this.href){return}return this.dsoPlekinfoCardClick.emit({originalEvent:e,isModifiedEvent:d(e)})}get symbolSlottedElement(){return this.host.querySelector("[slot='symbol']")}get metaSlottedElement(){return this.host.querySelector("[slot='meta']")}get interaction(){return this.host.querySelector("[slot='interaction']")}render(){const e=this.symbolSlottedElement!==null;return n(r,{key:"5cd241eabf508145625d46a6d923a9fdeeb8d191","has-symbol":e},n(l,{key:"d4f5887cfe88050246c31d84ef389a6b289ebb15",wijzigactie:this.wijzigactie},n("div",{key:"8e160f4e8f8329c11feefa842c035500b46b3c5b",class:"dso-plekinfo-card-symbol",hidden:!e},n("slot",{key:"2f8110b2bda5a39bf12df96a8838dcc41b0eb014",name:"symbol"})),n("div",{key:"dbbc8d0e7f39a5888fd18c91674888a3f56cf086",class:"dso-plekinfo-card-heading"},this.href?n("a",{href:this.href,target:this.targetBlank?"_blank":undefined,rel:this.targetBlank?"noopener noreferrer":undefined,class:"heading-anchor",onClick:e=>this.clickEventHandler(e)},n("slot",{name:"heading"}),this.targetBlank?n(a,null,n("dso-icon",{icon:"external-link"}),n("span",{class:"sr-only"},"(Opent andere website in nieuw tabblad)")):n("dso-icon",{icon:"chevron-right"})):n("slot",{name:"heading"}),this.metaSlottedElement!==null&&n("slot",{key:"f71a03bc2ce6c168d645bfc37e21bdb7585261c1",name:"meta"}),this.interaction!==null&&n("slot",{key:"5716ff3cd0f4270c9220076810e5f7e5e2f65347",name:"interaction"})),n("div",{key:"f65b1f199ba70cea2fb254475a84547aba0d99ab",class:"dso-plekinfo-card-content"},n("slot",{key:"678564a6fe0ab238570730eb5e78922b45df9b94",name:"content"}))))}get host(){return t(this)}};c.style=s;export{c as dso_plekinfo_card};
2
- //# sourceMappingURL=p-877a32be.entry.js.map
@@ -1,2 +0,0 @@
1
- import{h as n,F as e,r as t,c as o,g as i}from"./p-BzEnSYbR.js";import{c as s}from"./p-ChV9xqsO.js";import{d as a}from"./p-DDU8nTJS.js";import"./p-BFTU3MAI.js";const r=["main","map"];const l=["search","map","document"];const d={main:"Hoofdpaneel",map:"Kaart",document:"Document",search:"Zoeken"};const c={small:"smal",medium:"middel",large:"breed"};const p=({className:e,onClick:t,label:o,icon:i})=>n("button",{type:"button",class:e,onClick:t},n("span",{class:"sr-only"},o),n("dso-icon",{icon:i}));const b=({shrink:e,expand:t,size:o,panelLabel:i,placement:s})=>{const a=[];if(o!=="small"){a.push(n(p,{onClick:e,label:`${i} smaller maken`,icon:s==="right"?"chevron-right":"chevron-left",className:"shrink"}))}if(o!=="large"){a.push(n(p,{onClick:t,label:`${i} breder maken`,icon:s==="right"?"chevron-left":"chevron-right",className:"expand"}))}return n("div",{class:"sizing-buttons"},n("span",{class:"sr-only","aria-live":"polite","aria-atomic":"true"},"Breedte ",i.toLocaleLowerCase(),": ",c[o]),a)};const f=({tabView:e,panelSize:t,shrinkDocumentPanel:o,expandDocumentPanel:i,dsoDocumentPanelSizeChangeAnimationEnd:s})=>n("div",{class:"dso-document-panel",onTransitionEnd:n=>{if(n.propertyName==="flex-basis"){s.emit({currentSize:t})}}},!e&&n(b,{panelLabel:"Documentpaneel",size:t,expand:i,shrink:o,placement:"right"}),n("div",{class:"content"},n("slot",{name:"document-panel"})));const g=({onApply:e,onCancel:t})=>n("div",{class:"filterpanel-buttons"},n("button",{type:"button",class:"cancel-button",onClick:t},n("span",null,"Annuleren")),n("button",{type:"button",class:"apply-button",onClick:e},n("span",null,"Toepassen"),n("dso-icon",{icon:"chevron-right"})));const u=({title:t,mode:o,ref:i,onApply:a,onCancel:r,dsoCloseFilterpanel:l})=>n("dialog",{id:"filterpanel",class:s(`filterpanel-${o}`,"filterpanel"),ref:i,onCancel:n=>{n.preventDefault();if(o==="vrk"){r(n)}else{l(n)}}},o==="vrk"?n(e,null,n("h1",null,"Uw keuzes"),n(g,{onApply:a,onCancel:r}),n("slot",{name:"filterpanel"}),n(g,{onApply:a,onCancel:r})):n(e,null,t&&n("h3",null,t),n("button",{type:"button",class:"dso-close",onClick:l},n("dso-icon",{icon:"times"}),n("span",{class:"sr-only"},"Sluiten")),n("slot",{name:"filterpanel"})));const h=({mode:e,tabView:t,mainSize:o,documentPanelOpen:i,mainPanelExpanded:a,mainPanelHidden:r,shrinkMain:l,expandMain:d,toggleMainPanel:c,dsoMainSizeChangeAnimationEnd:p})=>n("div",{class:s("dso-main-panel",{compact:!t&&i&&!a,contracted:!t&&!i&&!a&&e==="vdk",expanded:!t&&i&&a,collapsed:r}),onTransitionEnd:n=>{if(n.propertyName==="flex-basis"){p.emit({currentSize:o})}}},!t&&(e==="vrk"&&n(b,{panelLabel:"Hoofdpaneel",size:o,expand:d,shrink:l,placement:"left"})||e==="vdk"&&i&&n("div",{class:"toggle-button"},n("button",{type:"button",onClick:c},n("span",{class:"sr-only"},"Zoeken paneel ",r?"tonen":"verbergen"),n("dso-icon",{icon:r?"chevron-right":"chevron-left"})))),n("div",{class:s("content",{invisible:r})},n("slot",{name:"main"})));const m=({ref:e,dsoCloseOverlay:t})=>n("dialog",{class:"overlay",ref:e,onCancel:n=>{n.preventDefault();t(n)}},n("button",{type:"button",class:"overlay-close-button",onClick:t},n("dso-icon",{icon:"times"}),n("span",{class:"sr-only"},"sluiten")),n("slot",{name:"overlay"}));const v="*,\n*::after,\n*::before {\n box-sizing: border-box;\n}\n\n:host([mode=vdk]) .overlay {\n block-size: calc(100% - 32px);\n margin-block: 16px;\n margin-inline: auto 16px;\n}\n\nbutton {\n -webkit-appearance: button;\n color: inherit;\n cursor: pointer;\n font: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n}\nbutton[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n.sr-only {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n.shrink,\n.expand,\n.overlay-close-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-block-end: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: start;\n user-select: none;\n vertical-align: middle;\n}\n.shrink:focus, .shrink:focus-visible,\n.expand:focus,\n.expand:focus-visible,\n.overlay-close-button:focus,\n.overlay-close-button:focus-visible {\n outline-offset: 2px;\n}\n.shrink:active,\n.expand:active,\n.overlay-close-button:active {\n outline: 0;\n}\n.shrink,\n.expand,\n.overlay-close-button {\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n}\n.shrink[disabled],\n.expand[disabled],\n.overlay-close-button[disabled] {\n color: #afcf9d;\n}\n.shrink[disabled].dso-spinner-left, .shrink[disabled].dso-spinner-right,\n.expand[disabled].dso-spinner-left,\n.expand[disabled].dso-spinner-right,\n.overlay-close-button[disabled].dso-spinner-left,\n.overlay-close-button[disabled].dso-spinner-right {\n color: #39870c;\n}\n.shrink:not([disabled]):hover,\n.expand:not([disabled]):hover,\n.overlay-close-button:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\n.shrink:not([disabled]):active,\n.expand:not([disabled]):active,\n.overlay-close-button:not([disabled]):active {\n color: #173521;\n}\n.shrink.dso-align,\n.expand.dso-align,\n.overlay-close-button.dso-align {\n line-height: calc(1.5em - 1px);\n padding-block: 11px;\n padding-inline: 0;\n position: relative;\n}\n.shrink.dso-truncate,\n.expand.dso-truncate,\n.overlay-close-button.dso-truncate {\n max-inline-size: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.shrink.dso-spinner-left::before,\n.expand.dso-spinner-left::before,\n.overlay-close-button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: middle;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\n.shrink.dso-spinner-right::after,\n.expand.dso-spinner-right::after,\n.overlay-close-button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: middle;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\n.shrink dso-icon + span:not(.sr-only),\n.shrink svg.di + span:not(.sr-only),\n.shrink span:not(.sr-only) + dso-icon,\n.shrink span:not(.sr-only) + svg.di,\n.expand dso-icon + span:not(.sr-only),\n.expand svg.di + span:not(.sr-only),\n.expand span:not(.sr-only) + dso-icon,\n.expand span:not(.sr-only) + svg.di,\n.overlay-close-button dso-icon + span:not(.sr-only),\n.overlay-close-button svg.di + span:not(.sr-only),\n.overlay-close-button span:not(.sr-only) + dso-icon,\n.overlay-close-button span:not(.sr-only) + svg.di {\n margin-inline-start: 8px;\n}\n.shrink svg.di.di-chevron-down + span:not(.sr-only),\n.shrink svg.di.di-chevron-up + span:not(.sr-only),\n.shrink span:not(.sr-only) + svg.di.di-chevron-down,\n.shrink span:not(.sr-only) + svg.di.di-chevron-up,\n.expand svg.di.di-chevron-down + span:not(.sr-only),\n.expand svg.di.di-chevron-up + span:not(.sr-only),\n.expand span:not(.sr-only) + svg.di.di-chevron-down,\n.expand span:not(.sr-only) + svg.di.di-chevron-up,\n.overlay-close-button svg.di.di-chevron-down + span:not(.sr-only),\n.overlay-close-button svg.di.di-chevron-up + span:not(.sr-only),\n.overlay-close-button span:not(.sr-only) + svg.di.di-chevron-down,\n.overlay-close-button span:not(.sr-only) + svg.di.di-chevron-up {\n margin-inline-start: 4px;\n}\n.shrink dso-icon[icon=chevron-left] + span:not(.sr-only),\n.shrink dso-icon[icon=chevron-right] + span:not(.sr-only),\n.shrink svg.di.di-angle-down + span:not(.sr-only),\n.shrink svg.di.di-angle-up + span:not(.sr-only),\n.shrink span:not(.sr-only) + svg.di.di-angle-down,\n.shrink span:not(.sr-only) + svg.di.di-angle-up,\n.shrink span:not(.sr-only) + dso-icon[icon=chevron-left],\n.shrink span:not(.sr-only) + dso-icon[icon=chevron-right],\n.expand dso-icon[icon=chevron-left] + span:not(.sr-only),\n.expand dso-icon[icon=chevron-right] + span:not(.sr-only),\n.expand svg.di.di-angle-down + span:not(.sr-only),\n.expand svg.di.di-angle-up + span:not(.sr-only),\n.expand span:not(.sr-only) + svg.di.di-angle-down,\n.expand span:not(.sr-only) + svg.di.di-angle-up,\n.expand span:not(.sr-only) + dso-icon[icon=chevron-left],\n.expand span:not(.sr-only) + dso-icon[icon=chevron-right],\n.overlay-close-button dso-icon[icon=chevron-left] + span:not(.sr-only),\n.overlay-close-button dso-icon[icon=chevron-right] + span:not(.sr-only),\n.overlay-close-button svg.di.di-angle-down + span:not(.sr-only),\n.overlay-close-button svg.di.di-angle-up + span:not(.sr-only),\n.overlay-close-button span:not(.sr-only) + svg.di.di-angle-down,\n.overlay-close-button span:not(.sr-only) + svg.di.di-angle-up,\n.overlay-close-button span:not(.sr-only) + dso-icon[icon=chevron-left],\n.overlay-close-button span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-inline-start: 0;\n}\n.shrink dso-icon,\n.shrink svg.di,\n.shrink span,\n.expand dso-icon,\n.expand svg.di,\n.expand span,\n.overlay-close-button dso-icon,\n.overlay-close-button svg.di,\n.overlay-close-button span {\n vertical-align: middle;\n}\n.shrink:hover,\n.expand:hover,\n.overlay-close-button:hover {\n cursor: pointer;\n}\n\n.overlay-close-button {\n position: absolute;\n inset-block-start: 8px;\n inset-inline-end: 16px;\n}\n\n.content.invisible {\n visibility: hidden;\n}\n\n.dso-main-panel .content,\n.dso-document-panel .content {\n block-size: 100%;\n padding-block: 0;\n padding-inline: 16px;\n}\n\n.dso-main-panel {\n background-color: #fff;\n flex-shrink: 0;\n flex-grow: 0;\n position: relative;\n transition: flex-basis 200ms ease-in, max-inline-size 200ms ease-in, min-inline-size 200ms ease-in;\n z-index: 100;\n}\n.dso-main-panel.compact.collapsed, .dso-main-panel.expanded.collapsed {\n inset-inline-start: -432px;\n}\n.dso-main-panel.compact, .dso-main-panel.contracted {\n flex-shrink: unset;\n flex-grow: unset;\n position: absolute;\n transition: none;\n}\n.dso-main-panel.expanded.collapsed {\n position: absolute;\n block-size: 100%;\n}\n.dso-main-panel .dso-filterblok-address {\n font-weight: bold;\n margin-block: 8px;\n margin-inline: 0;\n}\n.dso-main-panel .sizing-buttons,\n.dso-main-panel .toggle-button {\n inset-inline-start: calc(100% + 1px);\n transition: inset-inline-start 200ms ease-in;\n padding-block: 0 8px;\n padding-inline: 0 4px;\n}\n.dso-main-panel .sizing-buttons button,\n.dso-main-panel .toggle-button button {\n border-end-end-radius: 4px;\n border-start-end-radius: 4px;\n}\n\n:host[mode=vdk] .dso-main-panel {\n transition: min-inline-size 200ms ease-in, margin-inline-start 200ms ease-in;\n}\n\n.dso-document-panel {\n background-color: #fff;\n flex-shrink: 0;\n flex-grow: 0;\n position: relative;\n transition: flex-basis 200ms ease-in, max-inline-size 200ms ease-in, min-inline-size 200ms ease-in;\n z-index: 100;\n}\n.dso-document-panel .sizing-buttons {\n inset-block-start: auto;\n inset-block-end: 16px;\n inset-inline-end: calc(100% + 1px);\n transition: inset-inline-end 200ms ease-in;\n padding-block: 0 8px;\n padding-inline: 4px 0;\n}\n.dso-document-panel .sizing-buttons button {\n border-end-start-radius: 4px;\n border-start-start-radius: 4px;\n}\n\n.sizing-buttons,\n.toggle-button {\n overflow-x: hidden;\n position: absolute;\n inset-block-start: 16px;\n inline-size: 44px;\n z-index: -1;\n}\n.sizing-buttons button,\n.toggle-button button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-block-end: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: start;\n user-select: none;\n vertical-align: middle;\n}\n.sizing-buttons button:focus, .sizing-buttons button:focus-visible,\n.toggle-button button:focus,\n.toggle-button button:focus-visible {\n outline-offset: 2px;\n}\n.sizing-buttons button:active,\n.toggle-button button:active {\n outline: 0;\n}\n.sizing-buttons button,\n.toggle-button button {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.sizing-buttons button,\n.toggle-button button {\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-inline-size: 56px;\n padding-block: 11px;\n padding-inline: 15px;\n}\n.sizing-buttons button:hover,\n.toggle-button button:hover {\n background-color: #d7e7ce;\n border-color: #39870c;\n color: #39870c;\n}\n.sizing-buttons button:active,\n.toggle-button button:active {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.sizing-buttons button[disabled], .sizing-buttons button[disabled]:hover,\n.toggle-button button[disabled],\n.toggle-button button[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.sizing-buttons button.dso-small,\n.toggle-button button.dso-small {\n line-height: 1rem;\n}\n.sizing-buttons button.dso-small dso-icon,\n.sizing-buttons button.dso-small svg.di, .sizing-buttons button.dso-small.extern::after, .sizing-buttons button.dso-small.download::after, .sizing-buttons button.dso-small.dso-spinner::before,\n.toggle-button button.dso-small dso-icon,\n.toggle-button button.dso-small svg.di,\n.toggle-button button.dso-small.extern::after,\n.toggle-button button.dso-small.download::after,\n.toggle-button button.dso-small.dso-spinner::before {\n margin-block-end: -4px;\n margin-block-start: -4px;\n}\n.sizing-buttons button.dso-small.dso-spinner-left::before,\n.toggle-button button.dso-small.dso-spinner-left::before {\n block-size: 16px;\n inline-size: 16px;\n}\n.sizing-buttons button.dso-small.dso-spinner-right::after,\n.toggle-button button.dso-small.dso-spinner-right::after {\n block-size: 16px;\n inline-size: 16px;\n}\n.sizing-buttons button > span,\n.toggle-button button > span {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sizing-buttons button.dso-spinner-left[disabled], .sizing-buttons button.dso-spinner-right[disabled],\n.toggle-button button.dso-spinner-left[disabled],\n.toggle-button button.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.sizing-buttons button.dso-spinner-left::before,\n.toggle-button button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\n.sizing-buttons button.dso-spinner-left:not([disabled]):hover::before,\n.toggle-button button.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\n.sizing-buttons button.dso-spinner-left:not([disabled]).dso-small:hover::before,\n.toggle-button button.dso-spinner-left:not([disabled]).dso-small:hover::before {\n block-size: 16px;\n inline-size: 16px;\n}\n.sizing-buttons button.dso-spinner-right::after,\n.toggle-button button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\n.sizing-buttons button.dso-spinner-right:not([disabled]):hover::after,\n.toggle-button button.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\n.sizing-buttons button.dso-spinner-right:not([disabled]).dso-small:hover::after,\n.toggle-button button.dso-spinner-right:not([disabled]).dso-small:hover::after {\n block-size: 16px;\n inline-size: 16px;\n}\n.sizing-buttons button,\n.toggle-button button {\n border: 0;\n padding: 8px;\n border-radius: 0;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.4);\n flex: 0 0 100%;\n block-size: 40px;\n min-inline-size: auto;\n inline-size: 40px;\n}\n.sizing-buttons button:hover dso-icon,\n.toggle-button button:hover dso-icon {\n color: #fff;\n}\n.sizing-buttons button:focus-visible,\n.toggle-button button:focus-visible {\n outline-offset: -1px;\n}\n\n.map {\n block-size: 100%;\n inline-size: 100%;\n overflow: hidden;\n position: relative;\n}\n\n.filterpanel,\n.overlay {\n background-color: #fff;\n border: 0;\n block-size: 100%;\n margin-block: 0;\n max-block-size: 100vh;\n overflow-y: auto;\n z-index: 101;\n}\n\n.filterpanel {\n padding-block: 8px;\n padding-inline: 16px;\n inset-inline-start: 0;\n}\n@media screen and (max-width: 768px) {\n .filterpanel {\n inline-size: 100vw;\n }\n .filterpanel::before {\n display: none !important;\n }\n}\n.filterpanel h1 {\n color: #275937;\n margin-block-end: 16px;\n margin-block-start: 24px;\n font-size: 1.5rem;\n font-weight: 700;\n}\n@media screen and (min-width: 480px) {\n .filterpanel h1 {\n font-size: 2rem;\n }\n}\n\n.filterpanel-vdk {\n display: block;\n position: fixed;\n inset-block-start: 0;\n inset-inline-start: -380px;\n block-size: 100%;\n inline-size: 100%;\n transition: inset-inline-start 200ms ease-in;\n}\n@media screen and (min-width: 992px) {\n .filterpanel-vdk {\n max-inline-size: 380px;\n }\n}\n.filterpanel-vdk[open] {\n inset-inline-start: 0;\n box-shadow: none;\n border-inline-end: 1px solid #e5e5e5;\n}\n.filterpanel-vdk h3 {\n color: #275937;\n}\n.filterpanel-vdk .dso-close {\n -webkit-appearance: button;\n color: inherit;\n cursor: pointer;\n font: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n position: absolute;\n inset-block-start: 16px;\n inset-inline-end: 16px;\n block-size: 32px;\n inline-size: 32px;\n padding: 0;\n background-color: transparent;\n border: 0;\n text-align: center;\n}\n.filterpanel-vdk .dso-close[disabled] {\n cursor: default;\n}\n.filterpanel-vdk .dso-close::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n.overlay {\n padding-block: 40px 8px;\n padding-inline: 16px;\n inset-inline-end: 0;\n inline-size: 624px;\n}\n.overlay::backdrop {\n background-color: rgba(0, 0, 0, 0.5);\n}\n@media screen and (max-width: 624px) {\n .overlay {\n inline-size: 100vw;\n }\n}\n\n.filterpanel-buttons {\n text-align: end;\n}\n.filterpanel-buttons .cancel-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-block-end: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: start;\n user-select: none;\n vertical-align: middle;\n}\n.filterpanel-buttons .cancel-button:focus, .filterpanel-buttons .cancel-button:focus-visible {\n outline-offset: 2px;\n}\n.filterpanel-buttons .cancel-button:active {\n outline: 0;\n}\n.filterpanel-buttons .cancel-button {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.filterpanel-buttons .cancel-button {\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-inline-size: 56px;\n padding-block: 11px;\n padding-inline: 15px;\n}\n.filterpanel-buttons .cancel-button:hover {\n background-color: #d7e7ce;\n border-color: #39870c;\n color: #39870c;\n}\n.filterpanel-buttons .cancel-button:active {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.filterpanel-buttons .cancel-button[disabled], .filterpanel-buttons .cancel-button[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.filterpanel-buttons .cancel-button.dso-small {\n line-height: 1rem;\n}\n.filterpanel-buttons .cancel-button.dso-small dso-icon,\n.filterpanel-buttons .cancel-button.dso-small svg.di, .filterpanel-buttons .cancel-button.dso-small.extern::after, .filterpanel-buttons .cancel-button.dso-small.download::after, .filterpanel-buttons .cancel-button.dso-small.dso-spinner::before {\n margin-block-end: -4px;\n margin-block-start: -4px;\n}\n.filterpanel-buttons .cancel-button.dso-small.dso-spinner-left::before {\n block-size: 16px;\n inline-size: 16px;\n}\n.filterpanel-buttons .cancel-button.dso-small.dso-spinner-right::after {\n block-size: 16px;\n inline-size: 16px;\n}\n.filterpanel-buttons .cancel-button dso-icon,\n.filterpanel-buttons .cancel-button svg.di {\n margin-inline-start: -8px;\n margin-inline-end: 8px;\n}\n.filterpanel-buttons .cancel-button span + dso-icon,\n.filterpanel-buttons .cancel-button span + svg.di {\n margin-inline-start: 8px;\n margin-inline-end: -8px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-left[disabled], .filterpanel-buttons .cancel-button.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-left:not([disabled]).dso-small:hover::before {\n block-size: 16px;\n inline-size: 16px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-right:not([disabled]).dso-small:hover::after {\n block-size: 16px;\n inline-size: 16px;\n}\n.filterpanel-buttons .cancel-button {\n line-height: 1rem;\n}\n.filterpanel-buttons .cancel-button dso-icon,\n.filterpanel-buttons .cancel-button svg.di, .filterpanel-buttons .cancel-button.extern::after, .filterpanel-buttons .cancel-button.download::after, .filterpanel-buttons .cancel-button.dso-spinner::before {\n margin-block-end: -4px;\n margin-block-start: -4px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-left::before {\n block-size: 16px;\n inline-size: 16px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-right::after {\n block-size: 16px;\n inline-size: 16px;\n}\n.filterpanel-buttons .apply-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-block-end: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: start;\n user-select: none;\n vertical-align: middle;\n}\n.filterpanel-buttons .apply-button:focus, .filterpanel-buttons .apply-button:focus-visible {\n outline-offset: 2px;\n}\n.filterpanel-buttons .apply-button:active {\n outline: 0;\n}\n.filterpanel-buttons .apply-button {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.filterpanel-buttons .apply-button {\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-inline-size: 56px;\n padding-block: 11px;\n padding-inline: 15px;\n}\n.filterpanel-buttons .apply-button:hover {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.filterpanel-buttons .apply-button:active {\n background-color: #173521;\n border-color: #173521;\n color: #fff;\n}\n.filterpanel-buttons .apply-button[disabled], .filterpanel-buttons .apply-button[disabled]:hover {\n background-color: #afcf9d;\n border-color: #afcf9d;\n color: #fff;\n}\n.filterpanel-buttons .apply-button.dso-small {\n line-height: 1rem;\n}\n.filterpanel-buttons .apply-button.dso-small dso-icon,\n.filterpanel-buttons .apply-button.dso-small svg.di, .filterpanel-buttons .apply-button.dso-small.extern::after, .filterpanel-buttons .apply-button.dso-small.download::after, .filterpanel-buttons .apply-button.dso-small.dso-spinner::before {\n margin-block-end: -4px;\n margin-block-start: -4px;\n}\n.filterpanel-buttons .apply-button.dso-small.dso-spinner-left::before {\n block-size: 16px;\n inline-size: 16px;\n}\n.filterpanel-buttons .apply-button.dso-small.dso-spinner-right::after {\n block-size: 16px;\n inline-size: 16px;\n}\n.filterpanel-buttons .apply-button dso-icon,\n.filterpanel-buttons .apply-button svg.di {\n margin-inline-start: -8px;\n margin-inline-end: 8px;\n}\n.filterpanel-buttons .apply-button span + dso-icon,\n.filterpanel-buttons .apply-button span + svg.di {\n margin-inline-start: 8px;\n margin-inline-end: -8px;\n}\n.filterpanel-buttons .apply-button.dso-spinner-left[disabled], .filterpanel-buttons .apply-button.dso-spinner-right[disabled] {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.filterpanel-buttons .apply-button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\n.filterpanel-buttons .apply-button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\n.filterpanel-buttons .apply-button {\n line-height: 1rem;\n}\n.filterpanel-buttons .apply-button dso-icon,\n.filterpanel-buttons .apply-button svg.di, .filterpanel-buttons .apply-button.extern::after, .filterpanel-buttons .apply-button.download::after, .filterpanel-buttons .apply-button.dso-spinner::before {\n margin-block-end: -4px;\n margin-block-start: -4px;\n}\n.filterpanel-buttons .apply-button.dso-spinner-left::before {\n block-size: 16px;\n inline-size: 16px;\n}\n.filterpanel-buttons .apply-button.dso-spinner-right::after {\n block-size: 16px;\n inline-size: 16px;\n}\n.filterpanel-buttons .cancel-button + .apply-button {\n margin-inline-start: 16px;\n}\n\n@media screen and (min-width: 808px) {\n :host([main-size=small]) .dso-main-panel,\n :host([document-panel-size=small]) .dso-document-panel {\n flex-basis: 375px;\n min-inline-size: 0;\n max-inline-size: 375px;\n }\n}\n@media screen and (min-width: 808px) and (max-width: 375px) {\n :host([main-size=small]) .dso-main-panel,\n :host([document-panel-size=small]) .dso-document-panel {\n flex-basis: 100vw;\n max-inline-size: 100vw;\n min-inline-size: 0;\n transition: none;\n }\n}\n@media screen and (min-width: 808px) {\n :host([main-size=medium]) .dso-main-panel,\n :host([document-panel-size=medium]) .dso-document-panel {\n flex-basis: 624px;\n min-inline-size: 375px;\n max-inline-size: 624px;\n }\n}\n@media screen and (min-width: 808px) and (max-width: 624px) {\n :host([main-size=medium]) .dso-main-panel,\n :host([document-panel-size=medium]) .dso-document-panel {\n flex-basis: 100vw;\n max-inline-size: 100vw;\n min-inline-size: 375px;\n transition: none;\n }\n}\n@media screen and (min-width: 808px) {\n :host([main-size=large]) .dso-main-panel,\n :host([document-panel-size=large]) .dso-document-panel {\n flex-basis: 60%;\n min-inline-size: 768px;\n max-inline-size: 1024px;\n }\n}\n@media screen and (min-width: 808px) and (max-width: 768px) {\n :host([main-size=large]) .dso-main-panel,\n :host([document-panel-size=large]) .dso-document-panel {\n flex-basis: 100vw;\n max-inline-size: 100vw;\n min-inline-size: 768px;\n transition: none;\n }\n}\n@media screen and (min-width: 808px) {\n :host {\n display: flex;\n block-size: 100vh;\n overflow: hidden;\n position: relative;\n }\n :host .dso-main-panel.compact,\n :host .dso-main-panel.expanded {\n flex-basis: unset;\n min-inline-size: unset;\n max-inline-size: unset;\n inline-size: 440px;\n }\n .dso-main-panel,\n .dso-document-panel {\n box-shadow: 2px 0 8px 0 rgba(0, 0, 0, 0.4);\n }\n .dso-main-panel .content,\n .dso-document-panel .content {\n overflow-y: auto;\n }\n .filterpanel {\n margin-inline: 0 auto;\n inline-size: calc(100vw - 40px);\n }\n .filterpanel[open] {\n box-shadow: 2px 0 5px #666;\n }\n .filterpanel.filterpanel-vrk {\n max-inline-size: 896px;\n }\n .filterpanel.filterpanel-vrk::before {\n content: \"\";\n display: block;\n position: fixed;\n inset-block-start: 0;\n inset-block-end: 0;\n inset-inline-end: 0;\n inset-inline-start: 896px;\n background-color: rgba(0, 0, 0, 0.5);\n }\n}\n@media screen and (min-width: 808px) and (max-width: 936px) {\n .filterpanel.filterpanel-vrk::before {\n inset-inline-start: auto;\n inline-size: 40px;\n }\n}\n@media screen and (min-width: 808px) {\n .filterpanel-vdk[open] {\n box-shadow: none;\n border-inline-end: 1px solid #e5e5e5;\n }\n .overlay {\n box-shadow: -2px 0 5px #666;\n margin-inline: auto 0;\n }\n}\n@media screen and (min-width: 808px) and (max-width: 1031.99px) {\n :host([filterpanel-open][mode=vdk]) .dso-main-panel {\n margin-inline-start: 380px;\n max-inline-size: calc(100vw - 380px);\n }\n .filterpanel-vdk {\n inline-size: 380px;\n inset-inline-start: -380px;\n }\n}\n@media screen and (max-width: 807.99px) {\n .dso-navbar {\n min-block-size: 32px;\n }\n .dso-navbar .dso-navbar-header {\n float: inline-start;\n }\n .dso-navbar .dso-navbar-toggle {\n border-radius: 4px;\n min-inline-size: auto;\n padding-block: 5px;\n padding-inline: 0;\n }\n .dso-navbar .dso-navbar-toggle dso-icon,\n .dso-navbar .dso-navbar-toggle svg.di {\n margin-inline-start: 8px;\n margin-inline-end: 8px;\n }\n}\n@media screen and (max-width: 807.99px) and (min-width: 992px) {\n .dso-navbar .dso-navbar-toggle {\n display: none;\n }\n}\n@media screen and (max-width: 807.99px) {\n .dso-navbar.dso-has-navbar-extension .dso-nav > li:last-child {\n margin-inline-end: 8rem;\n }\n .dso-nav {\n list-style: none;\n margin-block-end: 0;\n padding-inline-start: 0;\n }\n .dso-nav > li > button {\n border: 0;\n background-color: transparent;\n }\n .dso-nav > li > a,\n .dso-nav > li > button {\n display: block;\n }\n .dso-nav > li > a, .dso-nav > li > a:hover, .dso-nav > li > a:focus, .dso-nav > li > a:visited,\n .dso-nav > li > button,\n .dso-nav > li > button:hover,\n .dso-nav > li > button:focus,\n .dso-nav > li > button:visited {\n color: #275937;\n }\n .dso-nav > li.dso-active > a,\n .dso-nav > li.dso-active > button, .dso-nav > li.is-active > a,\n .dso-nav > li.is-active > button {\n border-block-end: 4px solid #8b4a6a;\n font-weight: bold;\n }\n .dso-nav.dso-nav-main > li {\n display: inline-block;\n }\n .dso-nav.dso-nav-main > li > a,\n .dso-nav.dso-nav-main > li > button {\n text-decoration: none;\n }\n .dso-nav.dso-nav-main > li > a:hover, .dso-nav.dso-nav-main > li > a:focus-visible, .dso-nav.dso-nav-main > li > a:active,\n .dso-nav.dso-nav-main > li > button:hover,\n .dso-nav.dso-nav-main > li > button:focus-visible,\n .dso-nav.dso-nav-main > li > button:active {\n text-decoration: underline;\n }\n .dso-nav.dso-nav-main > li > a,\n .dso-nav.dso-nav-main > li > button {\n font-size: 1.25em;\n line-height: 1;\n margin-block-start: 8px;\n padding-block: 8px 7px;\n padding-inline: 16px;\n }\n .dso-nav.dso-nav-sub > li {\n display: inline-block;\n }\n .dso-nav.dso-nav-sub > li > a,\n .dso-nav.dso-nav-sub > li > button {\n text-decoration: none;\n }\n .dso-nav.dso-nav-sub > li > a:hover, .dso-nav.dso-nav-sub > li > a:focus-visible, .dso-nav.dso-nav-sub > li > a:active,\n .dso-nav.dso-nav-sub > li > button:hover,\n .dso-nav.dso-nav-sub > li > button:focus-visible,\n .dso-nav.dso-nav-sub > li > button:active {\n text-decoration: underline;\n }\n .dso-nav.dso-nav-sub > li > a,\n .dso-nav.dso-nav-sub > li > button {\n font-size: 1rem;\n margin-block-start: 4px;\n padding-block: 4px 3px;\n padding-inline: 8px;\n }\n .dso-navbar {\n padding-inline: 16px;\n }\n .dso-nav {\n border-block-end: 1px solid #ccc;\n display: flex;\n gap: 16px;\n margin-block-start: 0;\n inline-size: calc(100vw - 32px);\n }\n .dso-tertiary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-block-end: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: start;\n user-select: none;\n vertical-align: middle;\n }\n .dso-tertiary:focus, .dso-tertiary:focus-visible {\n outline-offset: 2px;\n }\n .dso-tertiary:active {\n outline: 0;\n }\n .dso-tertiary {\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n }\n .dso-tertiary[disabled] {\n color: #afcf9d;\n }\n .dso-tertiary[disabled].dso-spinner-left, .dso-tertiary[disabled].dso-spinner-right {\n color: #39870c;\n }\n .dso-tertiary:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n }\n .dso-tertiary:not([disabled]):active {\n color: #173521;\n }\n .dso-tertiary.dso-align {\n line-height: calc(1.5em - 1px);\n padding-block: 11px;\n padding-inline: 0;\n position: relative;\n }\n .dso-tertiary.dso-truncate {\n max-inline-size: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dso-tertiary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: middle;\n inline-size: 24px;\n margin-inline-end: 8px;\n }\n .dso-tertiary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: middle;\n inline-size: 24px;\n margin-inline-start: 8px;\n }\n .dso-tertiary dso-icon + span:not(.sr-only),\n .dso-tertiary svg.di + span:not(.sr-only),\n .dso-tertiary span:not(.sr-only) + dso-icon,\n .dso-tertiary span:not(.sr-only) + svg.di {\n margin-inline-start: 8px;\n }\n .dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\n .dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\n .dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\n .dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up {\n margin-inline-start: 4px;\n }\n .dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\n .dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\n .dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\n .dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\n .dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\n .dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\n .dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\n .dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-inline-start: 0;\n }\n .dso-tertiary dso-icon,\n .dso-tertiary svg.di,\n .dso-tertiary span {\n vertical-align: middle;\n }\n .dso-tertiary {\n font-weight: 300;\n }\n .filterpanel,\n .overlay {\n margin-inline: 0;\n max-inline-size: 100vw;\n inset-block-start: 0;\n inline-size: 100vw;\n }\n .filterpanel-vdk {\n inline-size: 100vw;\n inset-inline-start: -100vw;\n }\n}\n@media screen and (min-width: 992px) {\n :host([filterpanel-open][mode=vdk]) .dso-main-panel {\n margin-inline-start: 380px;\n }\n}";const x=new ResizeObserver(a((([n])=>{const e=n===null||n===void 0?void 0:n.target.getRootNode();if(e instanceof ShadowRoot&&k(e.host)){e.host._checkMainPanelVisibility()}}),50));function k(n){return n.tagName==="DSO-VIEWER-GRID"}const y=40;const z=768+y;const w=440;const B=class{constructor(n){t(this,n);this.dsoCloseOverlay=o(this,"dsoCloseOverlay",7);this.dsoCloseFilterpanel=o(this,"dsoCloseFilterpanel",7);this.dsoFilterpanelCancel=o(this,"dsoFilterpanelCancel",7);this.dsoFilterpanelApply=o(this,"dsoFilterpanelApply",7);this.dsoActiveTabSwitch=o(this,"dsoActiveTabSwitch",7);this.dsoMainSizeChange=o(this,"dsoMainSizeChange",7);this.dsoMainSizeChangeAnimationEnd=o(this,"dsoMainSizeChangeAnimationEnd",7);this.dsoDocumentPanelSizeChange=o(this,"dsoDocumentPanelSizeChange",7);this.dsoDocumentPanelSizeChangeAnimationEnd=o(this,"dsoDocumentPanelSizeChangeAnimationEnd",7);this.dsoMainPanelExpand=o(this,"dsoMainPanelExpand",7);this.dsoMainPanelToggle=o(this,"dsoMainPanelToggle",7);this.mediaCondition=`(min-width: ${z}px)`;this.mode="vrk";this.filterpanelOpen=false;this.overlayOpen=false;this.documentPanelOpen=false;this.mainSize="large";this.documentPanelSize="large";this.mainPanelExpanded=false;this.mainPanelHidden=false;this.tabView=window.innerWidth<z;this.switchActiveTab=n=>{this.dsoActiveTabSwitch.emit({tab:n})};this.emitShrinkMain=()=>{this.dsoMainSizeChange.emit({currentSize:this.mainSize,nextSize:this.mainSize==="large"?"medium":"small"})};this.emitExpandMain=()=>{this.dsoMainSizeChange.emit({currentSize:this.mainSize,nextSize:this.mainSize==="small"?"medium":"large"})};this.shrinkDocumentPanel=()=>{this.dsoDocumentPanelSizeChange.emit({currentSize:this.documentPanelSize,nextSize:this.documentPanelSize==="large"?"medium":"small"})};this.expandDocumentPanel=()=>{this.dsoDocumentPanelSizeChange.emit({currentSize:this.documentPanelSize,nextSize:this.documentPanelSize==="small"?"medium":"large"})};this.toggleMainPanel=()=>{if(this.mapElement instanceof HTMLDivElement&&this.mapElement.clientWidth<=w+y+y){this.mainSize="small"}this.dsoMainPanelToggle.emit({hide:!this.mainPanelHidden})};this.changeListener=n=>this.tabView=!n.matches;this.handleFilterpanelApply=n=>{this.dsoFilterpanelApply.emit({originalEvent:n})};this.handleFilterpanelCancel=n=>{this.dsoFilterpanelCancel.emit({originalEvent:n})};this.showFilterpanel=n=>{var e,t;if(n==="vdk"){(e=this.filterpanel)===null||e===void 0?void 0:e.show()}else{(t=this.filterpanel)===null||t===void 0?void 0:t.showModal()}}}get filterpanelSlot(){return this.host.querySelector("[slot='filterpanel']")}get overlaySlot(){return this.host.querySelector("[slot='overlay']")}documentPanelOpenWatcher(n){if(n){this._checkMainPanelVisibility()}}filterpanelOpenWatcher(n){var e;if(!this.filterpanelSlot){console.warn("slot 'filterpanel' has not been set")}if(n){this.showFilterpanel(this.mode)}else{(e=this.filterpanel)===null||e===void 0?void 0:e.close()}}overlayOpenWatcher(n){var e,t;if(!this.overlaySlot){console.warn("slot 'overlay' has not been set")}if(n){(e=this.overlay)===null||e===void 0?void 0:e.showModal()}else{(t=this.overlay)===null||t===void 0?void 0:t.close()}}async _checkMainPanelVisibility(){if(this.mode==="vdk"&&this.documentPanelOpen&&!this.mainPanelHidden&&this.mapElement instanceof HTMLDivElement&&(this.mapElement.clientWidth<=w+y+y&&!this.mainPanelExpanded||this.mapElement.clientWidth<=y+y&&this.mainPanelExpanded)){this.dsoMainPanelToggle.emit({hide:true})}}connectedCallback(){window.matchMedia(this.mediaCondition).addEventListener("change",this.changeListener)}componentDidLoad(){var n;if(this.filterpanelOpen&&this.filterpanelSlot){this.showFilterpanel(this.mode)}if(this.overlayOpen&&this.overlaySlot){(n=this.overlay)===null||n===void 0?void 0:n.showModal()}if(this.mode==="vdk"&&this.mapElement instanceof HTMLDivElement){x.observe(this.mapElement)}}disconnectedCallback(){window.matchMedia(this.mediaCondition).removeEventListener("change",this.changeListener);if(this.mode==="vdk"&&this.mapElement){x.unobserve(this.mapElement)}}render(){const t=this.mode==="vdk"?l:r;return n(e,null,this.tabView&&n("nav",{key:"d29d692c77130339f409688c57967ea1a0222f58",class:"dso-navbar"},n("ul",{key:"c6674b7e75f967f81fbaabdb016563dda8072f6f",class:"dso-nav dso-nav-sub"},t.map((e=>n("li",{key:e,class:s({"dso-active":this.activeTab===e})},n("button",{type:"button",class:"dso-tertiary",onClick:()=>this.switchActiveTab(e)},d[e])))))),(!this.tabView||this.tabView&&(this.activeTab==="main"||this.activeTab==="search"))&&n(h,{key:"11189b8e52d30c7dce829af34cd759bec5f2f598",mode:this.mode,tabView:this.tabView,mainSize:this.mainSize,documentPanelOpen:this.documentPanelOpen,mainPanelExpanded:this.mainPanelExpanded,mainPanelHidden:this.mainPanelHidden,shrinkMain:this.emitShrinkMain,expandMain:this.emitExpandMain,toggleMainPanel:this.toggleMainPanel,dsoMainSizeChangeAnimationEnd:this.dsoMainSizeChangeAnimationEnd}),(!this.tabView||this.tabView&&(this.activeTab==="main"&&this.mode==="vrk"||this.activeTab==="search"))&&n(u,{key:"20a5906c0ff2e3f604a3f59460c1676c41405bb0",title:this.filterpanelTitle,mode:this.mode,ref:n=>this.filterpanel=n,onApply:this.handleFilterpanelApply,onCancel:this.handleFilterpanelCancel,dsoCloseFilterpanel:n=>this.dsoCloseFilterpanel.emit({originalEvent:n})}),(!this.tabView||this.tabView&&this.activeTab==="map")&&n("div",{key:"fbf8b28c7edc4be0e3654328d4bd60047d30860e",class:"map",ref:n=>this.mapElement=n},n("slot",{key:"4c77c2346291391213ed25385e5f1187295a9426",name:"map"})),(!this.tabView&&this.documentPanelOpen||this.tabView&&this.activeTab==="document")&&n(f,{key:"f7b07867601bb4ad9069500eb189ceb868d1c46e",tabView:this.tabView,panelSize:this.documentPanelSize,shrinkDocumentPanel:this.shrinkDocumentPanel,expandDocumentPanel:this.expandDocumentPanel,dsoDocumentPanelSizeChangeAnimationEnd:this.dsoDocumentPanelSizeChangeAnimationEnd}),n(m,{key:"dcd2484eaeee8a8448bdb5afc23cc510d91cd8a3",ref:n=>this.overlay=n,dsoCloseOverlay:n=>this.dsoCloseOverlay.emit({originalEvent:n})}))}get host(){return i(this)}static get watchers(){return{documentPanelOpen:["documentPanelOpenWatcher"],filterpanelOpen:["filterpanelOpenWatcher"],overlayOpen:["overlayOpenWatcher"]}}};B.style=v;export{B as dso_viewer_grid};
2
- //# sourceMappingURL=p-89476db1.entry.js.map