@dso-toolkit/core 62.23.0 → 62.25.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 (326) hide show
  1. package/dist/cjs/annotation-gewijzigde-locatie-1ee2ce7c.js +41 -0
  2. package/dist/cjs/annotation-gewijzigde-locatie-1ee2ce7c.js.map +1 -0
  3. package/dist/cjs/{dso-alert_7.cjs.entry.js → dso-alert_6.cjs.entry.js} +4 -127
  4. package/dist/cjs/dso-alert_6.cjs.entry.js.map +1 -0
  5. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js +31 -0
  6. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js.map +1 -0
  7. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js +28 -0
  8. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js.map +1 -0
  9. package/dist/cjs/dso-annotation-omgevingsnorm.cjs.entry.js +30 -0
  10. package/dist/cjs/dso-annotation-omgevingsnorm.cjs.entry.js.map +1 -0
  11. package/dist/cjs/{dso-annotation-output_3.cjs.entry.js → dso-annotation-output_2.cjs.entry.js} +2 -34
  12. package/dist/cjs/dso-annotation-output_2.cjs.entry.js.map +1 -0
  13. package/dist/cjs/dso-annotation-werkingsgebied.cjs.entry.js +28 -0
  14. package/dist/cjs/dso-annotation-werkingsgebied.cjs.entry.js.map +1 -0
  15. package/dist/cjs/dso-attachments-counter.cjs.entry.js +1 -1
  16. package/dist/cjs/dso-autosuggest.cjs.entry.js +37 -13
  17. package/dist/cjs/dso-autosuggest.cjs.entry.js.map +1 -1
  18. package/dist/cjs/dso-banner.cjs.entry.js +2 -2
  19. package/dist/cjs/dso-card-container.cjs.entry.js +1 -1
  20. package/dist/cjs/dso-card.cjs.entry.js +2 -2
  21. package/dist/cjs/dso-date-picker-legacy.cjs.entry.js +3 -3
  22. package/dist/cjs/dso-date-picker.cjs.entry.js +1 -1
  23. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +1 -1
  24. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js +2 -2
  25. package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
  26. package/dist/cjs/dso-icon.cjs.entry.js +2 -2
  27. package/dist/cjs/dso-info-button.cjs.entry.js +1 -1
  28. package/dist/cjs/dso-info_2.cjs.entry.js +2 -2
  29. package/dist/cjs/dso-input-range.cjs.entry.js +2 -2
  30. package/dist/cjs/dso-label_2.cjs.entry.js +165 -0
  31. package/dist/cjs/dso-label_2.cjs.entry.js.map +1 -0
  32. package/dist/cjs/dso-legend-item.cjs.entry.js +2 -2
  33. package/dist/cjs/dso-list-button.cjs.entry.js +1 -1
  34. package/dist/cjs/dso-logo.cjs.entry.js +2 -2
  35. package/dist/cjs/dso-map-base-layers.cjs.entry.js +1 -1
  36. package/dist/cjs/dso-map-controls.cjs.entry.js +1 -1
  37. package/dist/cjs/dso-map-overlays.cjs.entry.js +1 -1
  38. package/dist/cjs/dso-mark-bar.cjs.entry.js +1 -1
  39. package/dist/cjs/dso-modal.cjs.entry.js +2 -2
  40. package/dist/cjs/dso-progress-bar.cjs.entry.js +1 -1
  41. package/dist/cjs/dso-progress-indicator.cjs.entry.js +1 -1
  42. package/dist/cjs/dso-responsive-element.cjs.entry.js +1 -1
  43. package/dist/cjs/dso-scrollable.cjs.entry.js +2 -2
  44. package/dist/cjs/dso-toggletip.cjs.entry.js +1 -1
  45. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  46. package/dist/cjs/dso-tooltip.cjs.entry.js +1 -1
  47. package/dist/cjs/dso-tree-view.cjs.entry.js +1 -1
  48. package/dist/cjs/dso-viewer-grid.cjs.entry.js +1 -1
  49. package/dist/cjs/dsot-document-component-demo.cjs.entry.js +1 -1
  50. package/dist/cjs/loader.cjs.js +1 -1
  51. package/dist/collection/collection-manifest.json +4 -0
  52. package/dist/collection/components/annotation/annotation-activiteit/annotation-activiteit.js +207 -0
  53. package/dist/collection/components/annotation/annotation-activiteit/annotation-activiteit.js.map +1 -0
  54. package/dist/collection/components/annotation/annotation-body.js +3 -0
  55. package/dist/collection/components/annotation/annotation-body.js.map +1 -0
  56. package/dist/collection/components/annotation/annotation-diff-renderer.js +17 -0
  57. package/dist/collection/components/annotation/annotation-diff-renderer.js.map +1 -0
  58. package/dist/collection/components/annotation/annotation-gebiedsaanwijzing/annotation-gebiedsaanwijzing.js +139 -0
  59. package/dist/collection/components/annotation/annotation-gebiedsaanwijzing/annotation-gebiedsaanwijzing.js.map +1 -0
  60. package/dist/collection/components/annotation/annotation-gewijzigde-locatie.js +3 -0
  61. package/dist/collection/components/annotation/annotation-gewijzigde-locatie.js.map +1 -0
  62. package/dist/collection/components/annotation/annotation-omgevingsnorm/annotation-omgevingsnorm.js +189 -0
  63. package/dist/collection/components/annotation/annotation-omgevingsnorm/annotation-omgevingsnorm.js.map +1 -0
  64. package/dist/collection/components/annotation/annotation-werkingsgebied/annotation-werkingsgebied.js +139 -0
  65. package/dist/collection/components/annotation/annotation-werkingsgebied/annotation-werkingsgebied.js.map +1 -0
  66. package/dist/collection/components/annotation/annotation.css +125 -0
  67. package/dist/collection/components/annotation/annotation.interfaces.js +2 -0
  68. package/dist/collection/components/annotation/annotation.interfaces.js.map +1 -0
  69. package/dist/collection/components/attachments-counter/attachments-counter.js +1 -1
  70. package/dist/collection/components/autosuggest/autosuggest.interfaces.js.map +1 -1
  71. package/dist/collection/components/autosuggest/autosuggest.js +59 -14
  72. package/dist/collection/components/autosuggest/autosuggest.js.map +1 -1
  73. package/dist/collection/components/badge/badge.js +1 -1
  74. package/dist/collection/components/banner/banner.js +2 -2
  75. package/dist/collection/components/card/card.js +2 -2
  76. package/dist/collection/components/card-container/card-container.js +1 -1
  77. package/dist/collection/components/date-picker/date-picker.js +1 -1
  78. package/dist/collection/components/date-picker-legacy/date-picker-legacy.js +3 -3
  79. package/dist/collection/components/document-component/document-component.js +1 -1
  80. package/dist/collection/components/document-component-demo/document-component.demo.js +1 -1
  81. package/dist/collection/components/dropdown-menu/dropdown-menu.js +1 -1
  82. package/dist/collection/components/helpcenter-panel/helpcenter-panel.js +2 -2
  83. package/dist/collection/components/highlight-box/highlight-box.js +1 -1
  84. package/dist/collection/components/icon/icon.js +1 -1
  85. package/dist/collection/components/info/info.js +1 -1
  86. package/dist/collection/components/info-button/info-button.js +1 -1
  87. package/dist/collection/components/input-range/input-range.js +2 -2
  88. package/dist/collection/components/label/label.js +3 -3
  89. package/dist/collection/components/legend-item/legend-item.js +2 -2
  90. package/dist/collection/components/list-button/list-button.js +1 -1
  91. package/dist/collection/components/logo/logo.js +2 -2
  92. package/dist/collection/components/map-base-layers/map-base-layers.js +1 -1
  93. package/dist/collection/components/map-controls/map-controls.js +1 -1
  94. package/dist/collection/components/map-overlays/map-overlays.js +1 -1
  95. package/dist/collection/components/mark-bar/mark-bar.js +1 -1
  96. package/dist/collection/components/modal/modal.js +2 -2
  97. package/dist/collection/components/ozon-content/ozon-content.js +1 -1
  98. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  99. package/dist/collection/components/progress-indicator/progress-indicator.js +1 -1
  100. package/dist/collection/components/responsive-element/responsive-element.js +1 -1
  101. package/dist/collection/components/scrollable/scrollable.js +2 -2
  102. package/dist/collection/components/selectable/selectable.js +1 -1
  103. package/dist/collection/components/slide-toggle/slide-toggle.js +2 -2
  104. package/dist/collection/components/slide-toggle/slide-toggle.js.map +1 -1
  105. package/dist/collection/components/table/table.js +1 -1
  106. package/dist/collection/components/toggletip/toggletip.js +1 -1
  107. package/dist/collection/components/tooltip/tooltip.js +1 -1
  108. package/dist/collection/components/tree-view/tree-view.js +1 -1
  109. package/dist/collection/components/viewer-grid/viewer-grid.js +1 -1
  110. package/dist/collection/index.js.map +1 -1
  111. package/dist/components/annotation-gewijzigde-locatie.js +37 -0
  112. package/dist/components/annotation-gewijzigde-locatie.js.map +1 -0
  113. package/dist/components/attachments-counter.js +1 -1
  114. package/dist/components/badge.js +1 -1
  115. package/dist/components/document-component.js +1 -1
  116. package/dist/components/dropdown-menu.js +1 -1
  117. package/dist/components/dso-annotation-activiteit.d.ts +11 -0
  118. package/dist/components/dso-annotation-activiteit.js +77 -0
  119. package/dist/components/dso-annotation-activiteit.js.map +1 -0
  120. package/dist/components/dso-annotation-gebiedsaanwijzing.d.ts +11 -0
  121. package/dist/components/dso-annotation-gebiedsaanwijzing.js +71 -0
  122. package/dist/components/dso-annotation-gebiedsaanwijzing.js.map +1 -0
  123. package/dist/components/dso-annotation-omgevingsnorm.d.ts +11 -0
  124. package/dist/components/dso-annotation-omgevingsnorm.js +75 -0
  125. package/dist/components/dso-annotation-omgevingsnorm.js.map +1 -0
  126. package/dist/components/dso-annotation-werkingsgebied.d.ts +11 -0
  127. package/dist/components/dso-annotation-werkingsgebied.js +71 -0
  128. package/dist/components/dso-annotation-werkingsgebied.js.map +1 -0
  129. package/dist/components/dso-autosuggest.js +38 -13
  130. package/dist/components/dso-autosuggest.js.map +1 -1
  131. package/dist/components/dso-banner.js +2 -2
  132. package/dist/components/dso-card-container.js +1 -1
  133. package/dist/components/dso-card.js +2 -2
  134. package/dist/components/dso-date-picker-legacy.js +3 -3
  135. package/dist/components/dso-date-picker.js +1 -1
  136. package/dist/components/dso-helpcenter-panel.js +2 -2
  137. package/dist/components/dso-highlight-box.js +1 -1
  138. package/dist/components/dso-input-range.js +2 -2
  139. package/dist/components/dso-legend-item.js +2 -2
  140. package/dist/components/dso-list-button.js +1 -1
  141. package/dist/components/dso-logo.js +2 -2
  142. package/dist/components/dso-map-base-layers.js +1 -1
  143. package/dist/components/dso-map-controls.js +1 -1
  144. package/dist/components/dso-map-overlays.js +1 -1
  145. package/dist/components/dso-mark-bar.js +1 -1
  146. package/dist/components/dso-modal.js +2 -2
  147. package/dist/components/dso-progress-bar.js +1 -1
  148. package/dist/components/dso-tree-view.js +1 -1
  149. package/dist/components/dso-viewer-grid.js +1 -1
  150. package/dist/components/dsot-document-component-demo.js +1 -1
  151. package/dist/components/icon.js +2 -2
  152. package/dist/components/index.d.ts +8 -0
  153. package/dist/components/index.js +4 -0
  154. package/dist/components/index.js.map +1 -1
  155. package/dist/components/info-button.js +1 -1
  156. package/dist/components/info.js +1 -1
  157. package/dist/components/label.js +3 -3
  158. package/dist/components/ozon-content.js +1 -1
  159. package/dist/components/progress-indicator.js +1 -1
  160. package/dist/components/responsive-element.js +1 -1
  161. package/dist/components/scrollable.js +2 -2
  162. package/dist/components/selectable.js +1 -1
  163. package/dist/components/slide-toggle.js +2 -2
  164. package/dist/components/slide-toggle.js.map +1 -1
  165. package/dist/components/table.js +1 -1
  166. package/dist/components/toggletip.js +1 -1
  167. package/dist/components/tooltip.js +1 -1
  168. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  169. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  170. package/dist/dso-toolkit/{p-f8a673ef.entry.js → p-001ba85b.entry.js} +2 -2
  171. package/dist/dso-toolkit/{p-4fe19a5d.entry.js → p-0415af5b.entry.js} +2 -2
  172. package/dist/dso-toolkit/{p-4fe19a5d.entry.js.map → p-0415af5b.entry.js.map} +1 -1
  173. package/dist/dso-toolkit/p-14d19a20.entry.js +2 -0
  174. package/dist/dso-toolkit/p-14d19a20.entry.js.map +1 -0
  175. package/dist/dso-toolkit/{p-4c4d8167.entry.js → p-1975337f.entry.js} +2 -2
  176. package/dist/dso-toolkit/p-197c2646.entry.js +2 -0
  177. package/dist/dso-toolkit/{p-e6e7d54a.entry.js → p-228f73a8.entry.js} +2 -2
  178. package/dist/dso-toolkit/{p-7c05c385.entry.js → p-3225310b.entry.js} +2 -2
  179. package/dist/dso-toolkit/{p-e41d09cf.entry.js → p-3710d41f.entry.js} +2 -2
  180. package/dist/dso-toolkit/{p-22776f73.entry.js → p-3e2237ab.entry.js} +2 -2
  181. package/dist/dso-toolkit/p-47340b1a.entry.js +2 -0
  182. package/dist/dso-toolkit/p-47340b1a.entry.js.map +1 -0
  183. package/dist/dso-toolkit/p-4f4efbed.entry.js +2 -0
  184. package/dist/dso-toolkit/p-4f7e1b16.entry.js +2 -0
  185. package/dist/dso-toolkit/p-4f7e1b16.entry.js.map +1 -0
  186. package/dist/dso-toolkit/p-4fac82a7.entry.js +2 -0
  187. package/dist/dso-toolkit/p-4fac82a7.entry.js.map +1 -0
  188. package/dist/dso-toolkit/{p-fea71d00.entry.js → p-560861e9.entry.js} +2 -2
  189. package/dist/dso-toolkit/{p-5bb82e74.entry.js → p-5621d240.entry.js} +2 -2
  190. package/dist/dso-toolkit/{p-570162f1.entry.js → p-5f4cb5d6.entry.js} +2 -2
  191. package/dist/dso-toolkit/{p-d435412a.entry.js → p-68e51737.entry.js} +2 -2
  192. package/dist/dso-toolkit/p-6bb5726a.entry.js +2 -0
  193. package/dist/dso-toolkit/p-6bb5726a.entry.js.map +1 -0
  194. package/dist/dso-toolkit/{p-7286c530.entry.js → p-7da2df9d.entry.js} +2 -2
  195. package/dist/dso-toolkit/{p-3666b2c1.entry.js → p-80463acd.entry.js} +2 -2
  196. package/dist/dso-toolkit/p-811676bf.js +2 -0
  197. package/dist/dso-toolkit/p-811676bf.js.map +1 -0
  198. package/dist/dso-toolkit/p-96a6ddd5.entry.js +2 -0
  199. package/dist/dso-toolkit/p-98eec25f.entry.js +2 -0
  200. package/dist/dso-toolkit/p-98eec25f.entry.js.map +1 -0
  201. package/dist/dso-toolkit/p-9a15c59b.entry.js +2 -0
  202. package/dist/dso-toolkit/p-9a15c59b.entry.js.map +1 -0
  203. package/dist/dso-toolkit/p-9f000cb1.entry.js +2 -0
  204. package/dist/dso-toolkit/p-9f000cb1.entry.js.map +1 -0
  205. package/dist/dso-toolkit/{p-b3c99200.entry.js → p-ab491029.entry.js} +2 -2
  206. package/dist/dso-toolkit/p-ade7a91d.entry.js +2 -0
  207. package/dist/dso-toolkit/{p-fc662b25.entry.js → p-af8c6cd9.entry.js} +2 -2
  208. package/dist/dso-toolkit/{p-d26f7147.entry.js → p-b49f5a23.entry.js} +2 -2
  209. package/dist/dso-toolkit/p-c1c38b47.entry.js +2 -0
  210. package/dist/dso-toolkit/{p-e2d31526.entry.js → p-c2502024.entry.js} +2 -2
  211. package/dist/dso-toolkit/{p-fd0e9561.entry.js → p-c335be22.entry.js} +2 -2
  212. package/dist/dso-toolkit/{p-ba81d191.entry.js → p-d82948d9.entry.js} +2 -2
  213. package/dist/dso-toolkit/{p-464609ac.entry.js → p-d8b25148.entry.js} +2 -2
  214. package/dist/dso-toolkit/p-ea138d78.entry.js +2 -0
  215. package/dist/dso-toolkit/{p-20c67690.entry.js.map → p-ea138d78.entry.js.map} +1 -1
  216. package/dist/dso-toolkit/{p-ee3bdb10.entry.js → p-ef006c7c.entry.js} +2 -2
  217. package/dist/dso-toolkit/{p-009bd0ac.entry.js → p-f16e7d4b.entry.js} +2 -2
  218. package/dist/dso-toolkit/{p-549f1c5f.entry.js → p-f787daf7.entry.js} +2 -2
  219. package/dist/dso-toolkit/{p-5d128d5a.entry.js → p-f8e70577.entry.js} +2 -2
  220. package/dist/esm/annotation-gewijzigde-locatie-3d8aa3ad.js +37 -0
  221. package/dist/esm/annotation-gewijzigde-locatie-3d8aa3ad.js.map +1 -0
  222. package/dist/esm/{dso-alert_7.entry.js → dso-alert_6.entry.js} +5 -127
  223. package/dist/esm/dso-alert_6.entry.js.map +1 -0
  224. package/dist/esm/dso-annotation-activiteit.entry.js +27 -0
  225. package/dist/esm/dso-annotation-activiteit.entry.js.map +1 -0
  226. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js +24 -0
  227. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js.map +1 -0
  228. package/dist/esm/dso-annotation-omgevingsnorm.entry.js +26 -0
  229. package/dist/esm/dso-annotation-omgevingsnorm.entry.js.map +1 -0
  230. package/dist/esm/{dso-annotation-output_3.entry.js → dso-annotation-output_2.entry.js} +4 -35
  231. package/dist/esm/dso-annotation-output_2.entry.js.map +1 -0
  232. package/dist/esm/dso-annotation-werkingsgebied.entry.js +24 -0
  233. package/dist/esm/dso-annotation-werkingsgebied.entry.js.map +1 -0
  234. package/dist/esm/dso-attachments-counter.entry.js +1 -1
  235. package/dist/esm/dso-autosuggest.entry.js +37 -13
  236. package/dist/esm/dso-autosuggest.entry.js.map +1 -1
  237. package/dist/esm/dso-banner.entry.js +2 -2
  238. package/dist/esm/dso-card-container.entry.js +1 -1
  239. package/dist/esm/dso-card.entry.js +2 -2
  240. package/dist/esm/dso-date-picker-legacy.entry.js +3 -3
  241. package/dist/esm/dso-date-picker.entry.js +1 -1
  242. package/dist/esm/dso-dropdown-menu.entry.js +1 -1
  243. package/dist/esm/dso-helpcenter-panel.entry.js +2 -2
  244. package/dist/esm/dso-highlight-box.entry.js +1 -1
  245. package/dist/esm/dso-icon.entry.js +2 -2
  246. package/dist/esm/dso-info-button.entry.js +1 -1
  247. package/dist/esm/dso-info_2.entry.js +2 -2
  248. package/dist/esm/dso-input-range.entry.js +2 -2
  249. package/dist/esm/dso-label_2.entry.js +160 -0
  250. package/dist/esm/dso-label_2.entry.js.map +1 -0
  251. package/dist/esm/dso-legend-item.entry.js +2 -2
  252. package/dist/esm/dso-list-button.entry.js +1 -1
  253. package/dist/esm/dso-logo.entry.js +2 -2
  254. package/dist/esm/dso-map-base-layers.entry.js +1 -1
  255. package/dist/esm/dso-map-controls.entry.js +1 -1
  256. package/dist/esm/dso-map-overlays.entry.js +1 -1
  257. package/dist/esm/dso-mark-bar.entry.js +1 -1
  258. package/dist/esm/dso-modal.entry.js +2 -2
  259. package/dist/esm/dso-progress-bar.entry.js +1 -1
  260. package/dist/esm/dso-progress-indicator.entry.js +1 -1
  261. package/dist/esm/dso-responsive-element.entry.js +1 -1
  262. package/dist/esm/dso-scrollable.entry.js +2 -2
  263. package/dist/esm/dso-toggletip.entry.js +1 -1
  264. package/dist/esm/dso-toolkit.js +1 -1
  265. package/dist/esm/dso-tooltip.entry.js +1 -1
  266. package/dist/esm/dso-tree-view.entry.js +1 -1
  267. package/dist/esm/dso-viewer-grid.entry.js +1 -1
  268. package/dist/esm/dsot-document-component-demo.entry.js +1 -1
  269. package/dist/esm/loader.js +1 -1
  270. package/dist/types/components/annotation/annotation-activiteit/annotation-activiteit.d.ts +40 -0
  271. package/dist/types/components/annotation/annotation-body.d.ts +11 -0
  272. package/dist/types/components/annotation/annotation-diff-renderer.d.ts +7 -0
  273. package/dist/types/components/annotation/annotation-gebiedsaanwijzing/annotation-gebiedsaanwijzing.d.ts +28 -0
  274. package/dist/types/components/annotation/annotation-gewijzigde-locatie.d.ts +1 -0
  275. package/dist/types/components/annotation/annotation-omgevingsnorm/annotation-omgevingsnorm.d.ts +36 -0
  276. package/dist/types/components/annotation/annotation-werkingsgebied/annotation-werkingsgebied.d.ts +28 -0
  277. package/dist/types/components/annotation/annotation.interfaces.d.ts +20 -0
  278. package/dist/types/components/autosuggest/autosuggest.d.ts +8 -1
  279. package/dist/types/components/autosuggest/autosuggest.interfaces.d.ts +4 -0
  280. package/dist/types/components.d.ts +308 -2
  281. package/dist/types/index.d.ts +1 -0
  282. package/package.json +2 -2
  283. package/dist/cjs/dso-alert_7.cjs.entry.js.map +0 -1
  284. package/dist/cjs/dso-annotation-output_3.cjs.entry.js.map +0 -1
  285. package/dist/dso-toolkit/p-20c67690.entry.js +0 -2
  286. package/dist/dso-toolkit/p-37fb8027.entry.js +0 -2
  287. package/dist/dso-toolkit/p-616ea03e.entry.js +0 -2
  288. package/dist/dso-toolkit/p-616ea03e.entry.js.map +0 -1
  289. package/dist/dso-toolkit/p-63112de0.entry.js +0 -2
  290. package/dist/dso-toolkit/p-74a7baf5.entry.js +0 -2
  291. package/dist/dso-toolkit/p-74a7baf5.entry.js.map +0 -1
  292. package/dist/dso-toolkit/p-8486c46d.entry.js +0 -2
  293. package/dist/dso-toolkit/p-85326997.entry.js +0 -2
  294. package/dist/dso-toolkit/p-d8815ab6.entry.js +0 -2
  295. package/dist/dso-toolkit/p-eee03d6d.entry.js +0 -2
  296. package/dist/dso-toolkit/p-eee03d6d.entry.js.map +0 -1
  297. package/dist/esm/dso-alert_7.entry.js.map +0 -1
  298. package/dist/esm/dso-annotation-output_3.entry.js.map +0 -1
  299. /package/dist/dso-toolkit/{p-f8a673ef.entry.js.map → p-001ba85b.entry.js.map} +0 -0
  300. /package/dist/dso-toolkit/{p-4c4d8167.entry.js.map → p-1975337f.entry.js.map} +0 -0
  301. /package/dist/dso-toolkit/{p-63112de0.entry.js.map → p-197c2646.entry.js.map} +0 -0
  302. /package/dist/dso-toolkit/{p-e6e7d54a.entry.js.map → p-228f73a8.entry.js.map} +0 -0
  303. /package/dist/dso-toolkit/{p-7c05c385.entry.js.map → p-3225310b.entry.js.map} +0 -0
  304. /package/dist/dso-toolkit/{p-e41d09cf.entry.js.map → p-3710d41f.entry.js.map} +0 -0
  305. /package/dist/dso-toolkit/{p-22776f73.entry.js.map → p-3e2237ab.entry.js.map} +0 -0
  306. /package/dist/dso-toolkit/{p-85326997.entry.js.map → p-4f4efbed.entry.js.map} +0 -0
  307. /package/dist/dso-toolkit/{p-fea71d00.entry.js.map → p-560861e9.entry.js.map} +0 -0
  308. /package/dist/dso-toolkit/{p-5bb82e74.entry.js.map → p-5621d240.entry.js.map} +0 -0
  309. /package/dist/dso-toolkit/{p-570162f1.entry.js.map → p-5f4cb5d6.entry.js.map} +0 -0
  310. /package/dist/dso-toolkit/{p-d435412a.entry.js.map → p-68e51737.entry.js.map} +0 -0
  311. /package/dist/dso-toolkit/{p-7286c530.entry.js.map → p-7da2df9d.entry.js.map} +0 -0
  312. /package/dist/dso-toolkit/{p-3666b2c1.entry.js.map → p-80463acd.entry.js.map} +0 -0
  313. /package/dist/dso-toolkit/{p-37fb8027.entry.js.map → p-96a6ddd5.entry.js.map} +0 -0
  314. /package/dist/dso-toolkit/{p-b3c99200.entry.js.map → p-ab491029.entry.js.map} +0 -0
  315. /package/dist/dso-toolkit/{p-8486c46d.entry.js.map → p-ade7a91d.entry.js.map} +0 -0
  316. /package/dist/dso-toolkit/{p-fc662b25.entry.js.map → p-af8c6cd9.entry.js.map} +0 -0
  317. /package/dist/dso-toolkit/{p-d26f7147.entry.js.map → p-b49f5a23.entry.js.map} +0 -0
  318. /package/dist/dso-toolkit/{p-d8815ab6.entry.js.map → p-c1c38b47.entry.js.map} +0 -0
  319. /package/dist/dso-toolkit/{p-e2d31526.entry.js.map → p-c2502024.entry.js.map} +0 -0
  320. /package/dist/dso-toolkit/{p-fd0e9561.entry.js.map → p-c335be22.entry.js.map} +0 -0
  321. /package/dist/dso-toolkit/{p-ba81d191.entry.js.map → p-d82948d9.entry.js.map} +0 -0
  322. /package/dist/dso-toolkit/{p-464609ac.entry.js.map → p-d8b25148.entry.js.map} +0 -0
  323. /package/dist/dso-toolkit/{p-ee3bdb10.entry.js.map → p-ef006c7c.entry.js.map} +0 -0
  324. /package/dist/dso-toolkit/{p-009bd0ac.entry.js.map → p-f16e7d4b.entry.js.map} +0 -0
  325. /package/dist/dso-toolkit/{p-549f1c5f.entry.js.map → p-f787daf7.entry.js.map} +0 -0
  326. /package/dist/dso-toolkit/{p-5d128d5a.entry.js.map → p-f8e70577.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["alertCss","DsoAlertStyle0","Alert","render","status","statusMap","get","this","Error","h","key","class","clsx","role","roleAlert","undefined","icon","Map","annotationButtonCss","DsoAnnotationButtonStyle0","AnnotationButton","handleClick","e","dsoClick","emit","originalEvent","open","type","identifier","toString","onClick","badgeCss","DsoBadgeStyle0","Badge","imageOverlayCss","DsoImageOverlayStyle0","wijzigactieLabels","verwijder","voegtoe","Dimmer","active","src","alt","ref","click","children","ImageOverlay","titelSlot","bijschriftSlot","loadListener","event","target","HTMLImageElement","setZoomable","connectedCallback","host","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","zoomable","isWijzigactie","wijzigActie","editActionLabel","wijzigactie","button","element","buttonElement","Host","focus","wrapperElement","name","hidden","componentDidRender","createFocusTrap","escapeDeactivates","clickOutsideDeactivates","MouseEvent","composedPath","setReturnFocus","onDeactivate","activate","getNodeName","node","Element","localName","nodeName","includes","substring","indexOf","wijzigactieToClassName","parseWijzigactieFromNode","getAttribute","WrapWijzigactie","isNestedAl","path","some","n","OzonContentAlNode","constructor","mapNodeToJsx","inline","content","childNodes","className","OzonContentBronNode","OzonContentDocumentNode","Fragment","INFINITY","symbolTag","reAsciiWord","reLatin","rsAstralRange","rsComboMarksRange","rsComboSymbolsRange","rsDingbatRange","rsLowerRange","rsMathOpRange","rsNonCharRange","rsPunctuationRange","rsSpaceRange","rsUpperRange","rsVarRange","rsBreakRange","rsApos","rsBreak","rsCombo","rsDigits","rsDingbat","rsLower","rsMisc","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","rsUpper","rsZWJ","rsLowerMisc","rsUpperMisc","rsOptLowerContr","rsOptUpperContr","reOptMod","rsOptVar","rsOptJoin","join","rsSeq","rsEmoji","reApos","RegExp","reComboMark","reUnicodeWord","reHasUnicodeWord","deburredLetters","freeGlobal","global","Object","freeSelf","self","root","Function","arrayReduce","array","iteratee","accumulator","initAccum","index","length","asciiWords","string","match","basePropertyOf","object","deburrLetter","hasUnicodeWord","test","unicodeWords","objectProto","prototype","objectToString","Symbol","symbolProto","symbolToString","baseToString","value","isSymbol","call","result","createCompounder","callback","words","deburr","replace","isObjectLike","kebabCase","word","toLowerCase","pattern","guard","lodash_kebabcase","OzonContentExtRefNode","href","tagName","rel","OzonContentFallbackNode","Bijschrift","bijschrift","bron","inhoud","OzonContentFiguurNode","setImageDimensions","schaal","onImageLoad","Array","from","titel","find","textContent","illustratieNode","bijschriftNode","illustratie","naam","breedte","hoogte","uitlijning","locatie","slot","_f","_e","_d","onLoad","Number","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","error","noteControlsId","nootNummer","onBlur","id","stateless","descriptive","querySelectorAll","OzonContentOpschriftNode","mapColspecs","count","nodeList","elements","totalWidth","getTotalWidth","columns","colNumber","colsep","number","parseInt","rowsep","getWidth","reduce","colWidth","isNaN","Math","round","Colgroup","colspecs","colspec","style","getColspecStartColsep","nameStart","colspecStart","c","getColspecStartRowsep","getData","cell","row","parentElement","tgroup","table","moreRows","nameEnd","getColspan","colspecEnd","colspan","Cell","context","rowSpan","colSpan","Rows","rows","mapData","colAttribute","columnCount","caption","headRows","bodyRows","frame","OzonContentTableNode","uuidv4","assign","OzonContentTextNode","mark","emitMarkItemHighlight","highlight","text","OzonContentVerwijderdeTekstNode","Mapper","mappers","skip","t","m","push","fallbackNode","findMapper","isArray","NodeList","mapper","identity","s","transform","input","document","inputToXmlDocument","message","getRootNode","XMLDocument","domParser","DOMParser","parseFromString","implementation","createDocument","ozonContentCss","DsoOzonContentStyle0","OzonContent","handleMarkItemHighlight","elementRef","dsoOzonContentMarkItemHighlight","contentWatcher","dsoAnchorClick","transformed","tableCss","DsoTableStyle0","Table","labelledbyId","v4","startResponsiveBehavior","componentWillLoad","entries","setResponsiveTable","setFocusTrap","trim","modalActive","placeholderHeight","focusTrapElement","isResponsive","noModal","display","openModal","closeModal","clientHeight","tabbableOptions","getShadowRoot","dsoTable","tableElement","HTMLTableElement","floor","getBoundingClientRect","contentRect"],"sources":["src/components/alert/alert.scss?tag=dso-alert&encapsulation=shadow","src/components/alert/alert.tsx","src/components/annotation-button/annotation-button.scss?tag=dso-annotation-button","src/components/annotation-button/annotation-button.tsx","src/components/badge/badge.scss?tag=dso-badge&encapsulation=shadow","src/components/badge/badge.tsx","src/components/image-overlay/image-overlay.scss?tag=dso-image-overlay&encapsulation=shadow","src/components/image-overlay/image-overlay.tsx","src/components/ozon-content/get-node-name.function.ts","src/components/ozon-content/functions/wijzigactie-to-class-name.function.ts","src/components/ozon-content/functions/parse-wijzigactie-from-node.function.ts","src/components/ozon-content/functional-components/wrap-wijzigactie.functional-component.tsx","src/components/ozon-content/nodes/al.node.tsx","src/components/ozon-content/nodes/bron.node.tsx","src/components/ozon-content/nodes/document.node.tsx","../../node_modules/lodash.kebabcase/index.js","src/components/ozon-content/nodes/ext-ref.node.tsx","src/components/ozon-content/nodes/fallback.node.tsx","src/components/ozon-content/nodes/figuur.node.tsx","src/components/ozon-content/nodes/inhoud.node.tsx","src/components/ozon-content/nodes/inline-tekst-afbeelding.node.tsx","src/components/ozon-content/nodes/inline.nodes.tsx","src/components/ozon-content/nodes/int-io-ref.node.tsx","src/components/ozon-content/nodes/int-ref.node.tsx","src/components/ozon-content/nodes/lijst.node.tsx","src/components/ozon-content/nodes/nieuwe-tekst.node.tsx","src/components/ozon-content/nodes/noot.node.tsx","src/components/ozon-content/nodes/opschrift.node.tsx","src/components/ozon-content/nodes/table.node/colspec/colspec-mapper.ts","src/components/ozon-content/nodes/table.node/table-colgroup.tsx","src/components/ozon-content/nodes/table.node/table-cell.tsx","src/components/ozon-content/nodes/table.node/table-rows.tsx","src/components/ozon-content/nodes/table.node/table.node.tsx","src/components/ozon-content/nodes/text.node.tsx","src/components/ozon-content/nodes/verwijderde-tekst.node.tsx","src/components/ozon-content/ozon-content-mapper.tsx","src/components/ozon-content/ozon-content.scss?tag=dso-ozon-content&encapsulation=shadow","src/components/ozon-content/ozon-content.tsx","src/components/table/table.scss?tag=dso-table&encapsulation=shadow","src/components/table/table.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/alert\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n:host(:not(:first-child)) {\r\n margin-top: units.$u3;\r\n}\r\n\r\n:host([status=\"success\"]) {\r\n @include alert.status-success();\r\n}\r\n\r\n:host([status=\"error\"]) {\r\n @include alert.status-error();\r\n}\r\n\r\n:host([status=\"warning\"]) {\r\n @include alert.status-warning();\r\n}\r\n\r\n:host([status=\"info\"]) {\r\n @include alert.status-info();\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.alert {\r\n @include alert.root();\r\n\r\n dso-icon {\r\n @include alert.icon-position();\r\n\r\n height: units.$u4;\r\n width: units.$u4;\r\n }\r\n}\r\n","import { Component, h, Prop } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\n@Component({\r\n tag: \"dso-alert\",\r\n styleUrl: \"alert.scss\",\r\n shadow: true,\r\n})\r\nexport class Alert {\r\n /**\r\n * Set status of alert\r\n */\r\n @Prop({ 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 private static statusMap = new Map<string, string>([\r\n [\"success\", \"Gelukt\"],\r\n [\"info\", \"Opmerking\"],\r\n [\"warning\", \"Waarschuwing\"],\r\n [\"error\", \"Fout\"],\r\n ]);\r\n\r\n render() {\r\n const status = Alert.statusMap.get(this.status);\r\n if (!status) {\r\n throw new Error(`Invalid status ${this.status}`);\r\n }\r\n\r\n return (\r\n <div class={clsx(\"alert\", `alert-${this.status}`)} role={this.roleAlert ? \"alert\" : undefined}>\r\n <dso-icon icon={\"status-\" + this.status}></dso-icon>\r\n <span class=\"sr-only\">{status}:</span>\r\n <slot></slot>\r\n </div>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/components/button/button\";\r\n\r\ndso-annotation-button {\r\n display: block;\r\n}\r\n","import { h, Component, ComponentInterface, Event, Prop, EventEmitter } from \"@stencil/core\";\r\n\r\nexport interface AnnotationButtonClickEvent {\r\n originalEvent: Event;\r\n open: boolean;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-annotation-button\",\r\n styleUrl: \"annotation-button.scss\",\r\n // No shadowdom for a11y reasons (aria-controls pointing to element inside another component)\r\n})\r\nexport class AnnotationButton implements ComponentInterface {\r\n /**\r\n * To link the Annotation Button with `aria-controls` to a different element, most likely an Annotation Output.\r\n */\r\n @Prop()\r\n identifier!: string | undefined;\r\n\r\n /**\r\n * Set to true when the annotation is open.\r\n */\r\n @Prop()\r\n open = false;\r\n\r\n /**\r\n * Emitted when user activates the button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoClick!: EventEmitter<AnnotationButtonClickEvent>;\r\n\r\n private handleClick = (e: MouseEvent) => {\r\n this.dsoClick.emit({ originalEvent: e, open: !this.open });\r\n };\r\n\r\n render() {\r\n return (\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary\"\r\n aria-controls={this.identifier}\r\n aria-expanded={this.open.toString()}\r\n onClick={this.handleClick}\r\n >\r\n <dso-icon icon=\"label\"></dso-icon>\r\n <span class=\"sr-only\">Toelichting bekijken</span>\r\n </button>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/badge\";\r\n\r\n:host {\r\n display: inline-block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-badge {\r\n @include badge.root();\r\n}\r\n","import { Component, h, Prop } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\n@Component({\r\n tag: \"dso-badge\",\r\n styleUrl: \"badge.scss\",\r\n shadow: true,\r\n})\r\nexport class Badge {\r\n /**\r\n * The status of the Badge.\r\n */\r\n @Prop()\r\n status?: \"primary\" | \"success\" | \"info\" | \"warning\" | \"danger\" | \"error\" | \"outline\" | \"attention\";\r\n\r\n render() {\r\n return (\r\n <span class={clsx(\"dso-badge\", { [`badge-${this.status}`]: this.status })}>\r\n <slot></slot>\r\n </span>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n\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 border: 0;\r\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\r\n min-width: auto;\r\n padding: units.$u1;\r\n opacity: 0;\r\n position: absolute;\r\n right: units.$u2;\r\n top: units.$u2;\r\n}\r\n\r\n.dimmer {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n z-index: zindex.$image-overlay - 1;\r\n display: flex;\r\n padding: units.$u4;\r\n background-color: fade-out(colors.$wit, 0.2);\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 width: auto;\r\n height: auto;\r\n max-width: 100%;\r\n max-height: 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-bottom: units.$u1 * 1.5;\r\n padding-top: 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 border: 0;\r\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\r\n min-width: auto;\r\n padding: units.$u1;\r\n position: absolute;\r\n top: units.$u2;\r\n right: units.$u2;\r\n}\r\n\r\nins.editaction-add {\r\n display: inline-block;\r\n margin-block-end: units.$u1;\r\n padding: units.$u1;\r\n @include insert.element();\r\n @include insert.root();\r\n\r\n .wrapper {\r\n outline: none;\r\n padding: units.$u1;\r\n @include insert.root();\r\n\r\n .editaction-label {\r\n line-height: 1.5;\r\n }\r\n\r\n .close {\r\n inset-block-start: units.$u6;\r\n }\r\n }\r\n\r\n .open {\r\n inset-block-start: units.$u6;\r\n }\r\n}\r\n\r\ndel.editaction-remove {\r\n display: inline-block;\r\n margin-block-end: units.$u1;\r\n padding: units.$u1;\r\n @include delete.root();\r\n\r\n .wrapper {\r\n outline: none;\r\n padding: units.$u1;\r\n @include delete.root();\r\n\r\n .title {\r\n text-decoration: line-through;\r\n }\r\n\r\n .editaction-label {\r\n line-height: 1.5;\r\n }\r\n\r\n .close {\r\n inset-block-start: units.$u6;\r\n }\r\n }\r\n\r\n .open {\r\n inset-block-start: units.$u6;\r\n }\r\n}\r\n\r\n.editaction-label {\r\n font-style: italic;\r\n margin-block-end: units.$u1;\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n forceUpdate,\r\n FunctionalComponent,\r\n h,\r\n Host,\r\n Listen,\r\n Prop,\r\n State,\r\n} from \"@stencil/core\";\r\nimport debounce from \"debounce\";\r\nimport { createFocusTrap, FocusTrap } from \"focus-trap\";\r\n\r\ntype ImageOverlayWijzigactie = \"voegtoe\" | \"verwijder\";\r\n\r\nconst wijzigactieLabels: { [wijzigactie in ImageOverlayWijzigactie]: string } = {\r\n verwijder: \"Verwijderd\",\r\n voegtoe: \"Toegevoegd\",\r\n};\r\n\r\nconst Dimmer: FunctionalComponent<{\r\n active: boolean;\r\n src: string | undefined;\r\n alt: string | undefined;\r\n ref: (element: HTMLHeadingElement | undefined) => void;\r\n click: () => void;\r\n}> = ({ active, src, alt, ref, click }, children) =>\r\n active &&\r\n src &&\r\n alt && (\r\n <div class=\"dimmer\">\r\n <div class=\"wrapper\" ref={ref}>\r\n {children[2]}\r\n {children[0]}\r\n <img src={src} alt={alt} />\r\n <button type=\"button\" class=\"close\" onClick={click}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span>Sluiten</span>\r\n </button>\r\n {children[1]}\r\n </div>\r\n </div>\r\n );\r\n\r\n@Component({\r\n tag: \"dso-image-overlay\",\r\n styleUrl: \"./image-overlay.scss\",\r\n shadow: true,\r\n})\r\nexport class ImageOverlay implements ComponentInterface {\r\n @Element()\r\n host!: HTMLDsoImageOverlayElement;\r\n\r\n /**\r\n * The wijzigactie.\r\n */\r\n @Prop()\r\n wijzigactie?: string;\r\n\r\n @State()\r\n active = false;\r\n\r\n @State()\r\n zoomable = false;\r\n\r\n private buttonElement: HTMLButtonElement | undefined;\r\n\r\n private wrapperElement: HTMLDivElement | undefined;\r\n\r\n private trap: FocusTrap | undefined;\r\n\r\n private titelSlot: HTMLElement | null = null;\r\n\r\n private bijschriftSlot: HTMLElement | null = null;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private resizeObserver?: ResizeObserver;\r\n\r\n @Listen(\"load\", { capture: true })\r\n loadListener(event: Event) {\r\n if (event.target instanceof HTMLImageElement) {\r\n this.setZoomable(event.target);\r\n }\r\n }\r\n\r\n connectedCallback() {\r\n this.titelSlot = this.host.querySelector<HTMLDivElement>(\"div[slot='titel']\");\r\n\r\n this.bijschriftSlot = this.host.querySelector<HTMLDivElement>(\"div[slot='bijschrift']\");\r\n }\r\n\r\n componentDidLoad() {\r\n this.resizeObserver = new ResizeObserver(\r\n debounce(() => {\r\n const imgElement = this.host.querySelector(\"img\");\r\n\r\n if (imgElement instanceof HTMLImageElement) {\r\n this.setZoomable(imgElement);\r\n }\r\n }, 200),\r\n );\r\n\r\n this.mutationObserver = new MutationObserver((e) => {\r\n forceUpdate(this.host);\r\n\r\n if (e[0]?.type === \"childList\") {\r\n this.resizeObserver?.disconnect();\r\n // <img> is gone or a new element.\r\n this.initZoomableImage();\r\n }\r\n });\r\n\r\n this.mutationObserver.observe(this.host, {\r\n attributes: true,\r\n subtree: true,\r\n attributeFilter: [\"src\", \"alt\"],\r\n childList: true,\r\n });\r\n\r\n this.initZoomableImage();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.trap?.deactivate();\r\n this.mutationObserver?.disconnect();\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n private initZoomableImage(): void {\r\n const imgElement = this.host.querySelector(\"img\");\r\n\r\n if (!(imgElement instanceof HTMLImageElement)) {\r\n return;\r\n }\r\n\r\n // Due to timing issues where the image is loaded before we listen to load events we double check if the image is already complete.\r\n if (imgElement.complete) {\r\n this.setZoomable(imgElement);\r\n }\r\n\r\n this.resizeObserver?.observe(imgElement);\r\n }\r\n\r\n private setZoomable(imageElement: HTMLImageElement): void {\r\n const { width, naturalWidth, height, naturalHeight } = imageElement;\r\n\r\n this.zoomable = width < naturalWidth || height < naturalHeight;\r\n }\r\n\r\n private isWijzigactie(wijzigActie: string): wijzigActie is ImageOverlayWijzigactie {\r\n return wijzigActie === \"voegtoe\" || wijzigActie === \"verwijder\";\r\n }\r\n\r\n render() {\r\n const { src, alt } = this.host.querySelector(\"img\") ?? {};\r\n\r\n const editActionLabel: string | undefined =\r\n (this.wijzigactie && this.isWijzigactie(this.wijzigactie) && wijzigactieLabels[this.wijzigactie]) || undefined;\r\n\r\n const button = this.zoomable && (\r\n <button\r\n type=\"button\"\r\n class=\"open\"\r\n ref={(element) => (this.buttonElement = element)}\r\n onClick={() => (this.active = true)}\r\n >\r\n <dso-icon icon=\"external-link\"></dso-icon>\r\n <span>Afbeelding vergroot weergeven</span>\r\n </button>\r\n );\r\n\r\n if (this.wijzigactie === \"verwijder\") {\r\n return (\r\n <Host onClick={() => this.buttonElement?.focus()}>\r\n <del class=\"editaction-remove\">\r\n <div class=\"editaction-label\">{editActionLabel}:</div>\r\n <Dimmer\r\n active={this.active}\r\n src={src}\r\n alt={alt}\r\n ref={(element) => (this.wrapperElement = element)}\r\n click={() => (this.active = false)}\r\n >\r\n {this.titelSlot && (\r\n <div class=\"title\">\r\n <slot name=\"titel\" />\r\n </div>\r\n )}\r\n <div class=\"figuur-bijschrift\" hidden={!this.bijschriftSlot}>\r\n <slot name=\"bijschrift\" />\r\n </div>\r\n {<div class=\"editaction-label\">{editActionLabel}:</div>}\r\n </Dimmer>\r\n <slot />\r\n {button}\r\n </del>\r\n </Host>\r\n );\r\n }\r\n\r\n if (this.wijzigactie === \"voegtoe\") {\r\n return (\r\n <Host onClick={() => this.buttonElement?.focus()}>\r\n <ins class=\"editaction-add\">\r\n <div class=\"editaction-label\">{editActionLabel}:</div>\r\n <Dimmer\r\n active={this.active}\r\n src={src}\r\n alt={alt}\r\n ref={(element) => (this.wrapperElement = element)}\r\n click={() => (this.active = false)}\r\n >\r\n {this.titelSlot && (\r\n <div class=\"title\">\r\n <slot name=\"titel\" />\r\n </div>\r\n )}\r\n <div class=\"figuur-bijschrift\" hidden={!this.bijschriftSlot}>\r\n <slot name=\"bijschrift\" />\r\n </div>\r\n {<div class=\"editaction-label\">{editActionLabel}:</div>}\r\n </Dimmer>\r\n <slot />\r\n {button}\r\n </ins>\r\n </Host>\r\n );\r\n }\r\n\r\n return (\r\n <Host onClick={() => this.buttonElement?.focus()}>\r\n <Dimmer\r\n active={this.active}\r\n src={src}\r\n alt={alt}\r\n ref={(element) => (this.wrapperElement = element)}\r\n click={() => (this.active = false)}\r\n >\r\n {this.titelSlot && (\r\n <div class=\"title\">\r\n <slot name=\"titel\" />\r\n </div>\r\n )}\r\n <div class=\"figuur-bijschrift\" hidden={!this.bijschriftSlot}>\r\n <slot name=\"bijschrift\" />\r\n </div>\r\n </Dimmer>\r\n <slot />\r\n {button}\r\n </Host>\r\n );\r\n }\r\n\r\n componentDidRender() {\r\n if (this.active && this.wrapperElement && !this.trap) {\r\n this.trap = createFocusTrap(this.wrapperElement, {\r\n escapeDeactivates: true,\r\n clickOutsideDeactivates: (e) => {\r\n if (e instanceof MouseEvent && e.composedPath()[0] === this.wrapperElement) {\r\n this.active = false;\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n },\r\n setReturnFocus: this.buttonElement ?? false,\r\n onDeactivate: () => (this.active = false),\r\n }).activate();\r\n } else if (!this.active && this.trap) {\r\n this.trap?.deactivate();\r\n\r\n delete this.trap;\r\n }\r\n }\r\n}\r\n","export function getNodeName(node: Node): string {\r\n if (node instanceof Element) {\r\n return node.localName;\r\n }\r\n\r\n if (node.nodeName.includes(\":\")) {\r\n return node.nodeName.substring(node.nodeName.indexOf(\":\") + 1);\r\n }\r\n\r\n return node.nodeName;\r\n}\r\n","import { OzonContentWijzigActie } from \"../ozon-content.interfaces\";\r\n\r\nexport function wijzigactieToClassName(wijzigactie: OzonContentWijzigActie | undefined): string | undefined {\r\n if (wijzigactie === \"voegtoe\") {\r\n return \"editaction-add\";\r\n }\r\n\r\n if (wijzigactie === \"verwijder\") {\r\n return \"editaction-remove\";\r\n }\r\n\r\n return undefined;\r\n}\r\n","import { OzonContentWijzigActie } from \"../ozon-content.interfaces\";\r\n\r\nexport function parseWijzigactieFromNode(node: Node): OzonContentWijzigActie | undefined {\r\n const wijzigactie = node instanceof Element ? node.getAttribute(\"wijzigactie\") : undefined;\r\n\r\n return wijzigactie === \"voegtoe\" || wijzigactie === \"verwijder\" ? wijzigactie : undefined;\r\n}\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\nimport { OzonContentWijzigActie } from \"../ozon-content.interfaces\";\r\n\r\nexport interface WrapWijzigactieProps {\r\n wijzigactie: OzonContentWijzigActie | undefined;\r\n}\r\n\r\nexport const WrapWijzigactie: FunctionalComponent<WrapWijzigactieProps> = ({ wijzigactie }, children) => {\r\n if (wijzigactie === \"voegtoe\") {\r\n return <ins>{children}</ins>;\r\n }\r\n\r\n if (wijzigactie === \"verwijder\") {\r\n return <del>{children}</del>;\r\n }\r\n\r\n return children;\r\n};\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nimport { wijzigactieToClassName } from \"../functions/wijzigactie-to-class-name.function\";\r\nimport { parseWijzigactieFromNode } from \"../functions/parse-wijzigactie-from-node.function\";\r\nimport { WrapWijzigactie } from \"../functional-components/wrap-wijzigactie.functional-component\";\r\n\r\nfunction isNestedAl(path: Node[]) {\r\n return path.some((n) => {\r\n const nodeName = getNodeName(n);\r\n\r\n return nodeName === \"Al\" || nodeName === \"Opschrift\";\r\n });\r\n}\r\n\r\nexport class OzonContentAlNode implements OzonContentNode {\r\n name = \"Al\";\r\n\r\n render(node: Element, { mapNodeToJsx, path, inline }: OzonContentNodeContext) {\r\n let content = mapNodeToJsx(node.childNodes);\r\n const wijzigactie = parseWijzigactieFromNode(node);\r\n const className = wijzigactieToClassName(wijzigactie);\r\n\r\n if (inline || isNestedAl(path)) {\r\n content = (\r\n <span role=\"paragraph\" class={className}>\r\n {content}\r\n </span>\r\n );\r\n } else {\r\n content = <p class={className}>{content}</p>;\r\n }\r\n\r\n return <WrapWijzigactie wijzigactie={wijzigactie}>{content}</WrapWijzigactie>;\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentBronNode implements OzonContentNode {\r\n name = \"Bron\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <span class=\"dso-ozon-bron\">{mapNodeToJsx(node.childNodes)}</span>;\r\n }\r\n}\r\n","import { Fragment, h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentDocumentNode implements OzonContentNode {\r\n name = \"#document\";\r\n\r\n render(node: Node, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <Fragment>{mapNodeToJsx(node.childNodes)}</Fragment>;\r\n }\r\n}\r\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe23',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20f0',\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsLowerMisc = '(?:' + rsLower + '|' + rsMisc + ')',\n rsUpperMisc = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptLowerContr = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptUpperContr = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptLowerContr + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsUpperMisc + '+' + rsOptUpperContr + '(?=' + [rsBreak, rsUpper + rsLowerMisc, '$'].join('|') + ')',\n rsUpper + '?' + rsLowerMisc + '+' + rsOptLowerContr,\n rsUpper + '+' + rsOptUpperContr,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 'ss'\n};\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\n/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\n/**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\nvar kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n});\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nmodule.exports = kebabCase;\n","import { h } from \"@stencil/core\";\r\nimport kebabCase from \"lodash.kebabcase\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentExtRefNode implements OzonContentNode {\r\n name = [\"ExtRef\", \"ExtIoRef\"];\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const href = node.tagName === \"ExtIoRef\" ? node.getAttribute(\"href\") : node.getAttribute(\"ref\");\r\n const className = kebabCase(node.tagName);\r\n\r\n return (\r\n <a target=\"_blank\" rel=\"noopener noreferrer\" href={href ?? undefined} class={className}>\r\n {mapNodeToJsx(node.childNodes)} <span class=\"sr-only\">(Opent andere website in nieuw tabblad)</span>\r\n <dso-icon icon=\"external-link\"></dso-icon>\r\n </a>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentFallbackNode implements OzonContentNode {\r\n // This name does not match any elements\r\n name = [\"<fallback>\"];\r\n\r\n render(node: Node, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <span class={`fallback od-${getNodeName(node)}`}>{mapNodeToJsx(node.childNodes)}</span>;\r\n }\r\n}\r\n","import { Fragment, h, JSX } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\ntype BijschriftProps = {\r\n bijschrift?: IBijschrift;\r\n bron?: ChildNode;\r\n mapNodeToJsx: (node: Node | NodeList | Node[]) => JSX.Element;\r\n};\r\n\r\ninterface IBijschrift {\r\n inhoud: NodeListOf<ChildNode>;\r\n locatie: string;\r\n}\r\n\r\nconst Bijschrift = ({ bijschrift, bron, mapNodeToJsx }: BijschriftProps): HTMLSpanElement => {\r\n return (\r\n <span class=\"figuur-bijschrift\">\r\n {bijschrift && bijschrift.inhoud && mapNodeToJsx(bijschrift.inhoud)}\r\n {bron && (\r\n <Fragment>\r\n {`${bijschrift ? \" \" : \"\"}(bron: `}\r\n {mapNodeToJsx(bron)})\r\n </Fragment>\r\n )}\r\n </span>\r\n );\r\n};\r\n\r\nexport class OzonContentFiguurNode implements OzonContentNode {\r\n name = [\"Figuur\"];\r\n\r\n setImageDimensions(imageElement: HTMLImageElement, schaal: number) {\r\n const { naturalHeight, naturalWidth } = imageElement;\r\n\r\n imageElement.height = naturalHeight * (schaal / 100);\r\n imageElement.width = naturalWidth * (schaal / 100);\r\n }\r\n\r\n onImageLoad(event: Event, schaal?: number) {\r\n if (event.target instanceof HTMLImageElement && schaal) {\r\n this.setImageDimensions(event.target, schaal);\r\n }\r\n }\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const childNodes = Array.from(node.childNodes);\r\n const titel = childNodes.find((n) => getNodeName(n) === \"Titel\")?.textContent;\r\n const bron = childNodes.find((n) => getNodeName(n) === \"Bron\");\r\n\r\n const illustratieNode = childNodes.find((n) => getNodeName(n) === \"Illustratie\");\r\n const bijschriftNode = childNodes.find((n) => getNodeName(n) === \"Bijschrift\");\r\n\r\n 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 schaal: illustratieNode.getAttribute(\"schaal\"),\r\n };\r\n\r\n const bijschrift =\r\n bijschriftNode instanceof Element\r\n ? {\r\n inhoud: bijschriftNode.childNodes,\r\n locatie: bijschriftNode.getAttribute(\"locatie\") ?? \"onder\",\r\n }\r\n : undefined;\r\n\r\n return (\r\n <div class={`dso-ozon-figuur ${bijschrift ? `bijschrift-${bijschrift.locatie}` : \"onder\"}`}>\r\n {titel && <span class=\"figuur-titel\">{titel}</span>}\r\n {bijschrift?.locatie === \"boven\" && (\r\n <Bijschrift bijschrift={bijschrift} bron={bron} mapNodeToJsx={mapNodeToJsx} />\r\n )}\r\n <dso-image-overlay wijzigactie={wijzigactie}>\r\n {titel && (\r\n <div slot=\"titel\">\r\n <span>{titel}</span>\r\n </div>\r\n )}\r\n <img\r\n src={illustratie.naam ?? undefined}\r\n alt={illustratie.alt ?? titel ?? illustratie.naam ?? undefined}\r\n onLoad={(event: Event) => this.onImageLoad(event, Number(illustratie.schaal))}\r\n />\r\n {(bijschrift || bron) && (\r\n <div slot=\"bijschrift\">\r\n <Bijschrift bijschrift={bijschrift} bron={bron} mapNodeToJsx={mapNodeToJsx} />\r\n </div>\r\n )}\r\n </dso-image-overlay>\r\n {(bijschrift?.locatie === \"onder\" || (!bijschrift && bron)) && (\r\n <Bijschrift bijschrift={bijschrift} bron={bron} mapNodeToJsx={mapNodeToJsx} />\r\n )}\r\n </div>\r\n );\r\n }\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentInhoudNode implements OzonContentNode {\r\n name = [\"Inhoud\", \"ContainerBlocksType\", \"BlockMixedcontentMetMaximaleInlinesMarkersPopupsType\"];\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const wijzigactie = node.getAttribute(\"wijzigactie\");\r\n\r\n const richContent = <div class=\"dso-rich-content\">{mapNodeToJsx(node.childNodes)}</div>;\r\n\r\n if (wijzigactie === \"verwijder\") {\r\n return <del class=\"editaction-remove\">{richContent}</del>;\r\n }\r\n\r\n if (wijzigactie === \"voegtoe\") {\r\n return <ins class=\"editaction-add\">{richContent}</ins>;\r\n }\r\n\r\n return richContent;\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentInlineTekstAfbeeldingNode implements OzonContentNode {\r\n name = [\"InlineTekstAfbeelding\", \"Illustratie\"];\r\n\r\n render(node: Element) {\r\n return (\r\n <img\r\n src={node.getAttribute(\"naam\") ?? undefined}\r\n alt={node.getAttribute(\"naam\") ?? undefined}\r\n height={node.getAttribute(\"hoogte\") ?? undefined}\r\n width={node.getAttribute(\"breedte\") ?? undefined}\r\n />\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentInlineNodes implements OzonContentNode {\r\n name = [\"sub\", \"sup\", \"strong\", \"b\", \"u\", \"i\", \"br\"];\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n if (node.localName === \"br\") {\r\n return <br />;\r\n }\r\n\r\n const Tag = node.localName;\r\n\r\n return <Tag>{mapNodeToJsx(node.childNodes)}</Tag>;\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentIntIoRefNode implements OzonContentNode {\r\n name = \"IntIoRef\";\r\n\r\n render(node: Element, { mapNodeToJsx, emitAnchorClick }: OzonContentNodeContext) {\r\n const ref = node.getAttribute(\"ref\");\r\n if (!ref) {\r\n return mapNodeToJsx(node.childNodes);\r\n }\r\n\r\n const intRefOnClick = (event: MouseEvent) => {\r\n event.preventDefault();\r\n\r\n const target = event.currentTarget;\r\n if (!(target instanceof HTMLAnchorElement)) {\r\n return;\r\n }\r\n\r\n const { href } = target;\r\n\r\n emitAnchorClick({\r\n node: this.name,\r\n href,\r\n documentComponent: ref,\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n return (\r\n <a href={`#${ref}`} onClick={intRefOnClick}>\r\n {mapNodeToJsx(node.childNodes)}\r\n </a>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentIntRefNode implements OzonContentNode {\r\n name = \"IntRef\";\r\n\r\n render(node: Element, { mapNodeToJsx, emitAnchorClick }: OzonContentNodeContext) {\r\n const ref = node.getAttribute(\"ref\");\r\n if (!ref) {\r\n return mapNodeToJsx(node.childNodes);\r\n }\r\n\r\n const intRefOnClick = (event: MouseEvent) => {\r\n event.preventDefault();\r\n\r\n const target = event.currentTarget;\r\n if (!(target instanceof HTMLAnchorElement)) {\r\n return;\r\n }\r\n\r\n const { href } = target;\r\n\r\n emitAnchorClick({\r\n node: this.name,\r\n href,\r\n documentComponent: ref,\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n return (\r\n <a href={`#${ref}`} onClick={intRefOnClick}>\r\n {mapNodeToJsx(node.childNodes)}\r\n </a>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\nimport { parseWijzigactieFromNode } from \"../functions/parse-wijzigactie-from-node.function\";\r\nimport clsx from \"clsx\";\r\nimport { wijzigactieToClassName } from \"../functions/wijzigactie-to-class-name.function\";\r\nimport { WrapWijzigactie } from \"../functional-components/wrap-wijzigactie.functional-component\";\r\n\r\nexport class OzonContentLijstNode implements OzonContentNode {\r\n name = \"Lijst\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const wijzigactie = parseWijzigactieFromNode(node);\r\n const childNodes = Array.from(node.childNodes);\r\n const type = parseTypeFromLijstNode(node);\r\n const aanhef = childNodes.find((n) => getNodeName(n) === \"Lijstaanhef\");\r\n const sluiting = childNodes.find((n) => getNodeName(n) === \"Lijstsluiting\");\r\n const listItems = childNodes.filter((n) => getNodeName(n) === \"Li\");\r\n\r\n return (\r\n <WrapWijzigactie wijzigactie={wijzigactie}>\r\n <div class={clsx(\"dso-ozon-lijst od-Lijst\", wijzigactieToClassName(wijzigactie))}>\r\n {aanhef && mapNodeToJsx(aanhef)}\r\n <ul class={type}>\r\n {listItems.map((item) => {\r\n const itemNodes = Array.from(item.childNodes);\r\n const liNummer = itemNodes.find((n) => getNodeName(n) === \"LiNummer\")?.childNodes;\r\n const liWijzigactie = parseWijzigactieFromNode(item);\r\n\r\n return (\r\n <li class={clsx(\"od-Li\", wijzigactieToClassName(liWijzigactie))}>\r\n {liNummer && <span class=\"od-LiNummer\">{mapNodeToJsx(liNummer)}</span>}\r\n <WrapWijzigactie wijzigactie={liWijzigactie}>\r\n {mapNodeToJsx(itemNodes.filter((n) => getNodeName(n) !== \"LiNummer\"))}\r\n </WrapWijzigactie>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n {sluiting && mapNodeToJsx(sluiting)}\r\n </div>\r\n </WrapWijzigactie>\r\n );\r\n }\r\n}\r\n\r\nfunction parseTypeFromLijstNode(node: Node): LijstType | undefined {\r\n const type = node instanceof Element ? node.getAttribute(\"type\") : undefined;\r\n\r\n return type === \"expliciet\" || type === \"ongemarkeerd\" ? type : undefined;\r\n}\r\n\r\ntype LijstType = \"expliciet\" | \"ongemarkeerd\";\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentNieuweTekstNode implements OzonContentNode {\r\n name = \"NieuweTekst\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <ins class=\"new-text\">{mapNodeToJsx(node.childNodes)}</ins>;\r\n }\r\n}\r\n","import { h, Fragment } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentNootNode implements OzonContentNode {\r\n name = \"Noot\";\r\n\r\n handles = [\"NootNummer\"];\r\n\r\n identify(): string | undefined {\r\n return \"Noot\";\r\n }\r\n\r\n render(node: Element, { mapNodeToJsx, state: openNoteId, setState }: OzonContentNodeContext<string | undefined>) {\r\n const noteId = node.getAttribute(\"id\");\r\n if (!noteId) {\r\n console.error(\"Noot node without id\", node);\r\n\r\n return <Fragment />;\r\n }\r\n\r\n const noteControlsId = `dso-ozon-note-${noteId}`;\r\n\r\n const childNodes = Array.from(node.childNodes);\r\n const nootNummer = childNodes.find((n) => getNodeName(n) === \"NootNummer\")?.textContent ?? noteId;\r\n\r\n return (\r\n <>\r\n <sup>\r\n <button\r\n type=\"button\"\r\n class=\"toggle-note\"\r\n aria-describedby={noteControlsId}\r\n onClick={() => setState?.(openNoteId === noteId ? undefined : noteId)}\r\n onBlur={() => setState?.(undefined)}\r\n aria-expanded={openNoteId === noteId ? \"true\" : \"false\"}\r\n >\r\n {nootNummer}\r\n </button>\r\n </sup>\r\n <dso-tooltip active={openNoteId === noteId} id={noteControlsId} stateless descriptive>\r\n <span role=\"section\">{mapNodeToJsx(Array.from(node.querySelectorAll(\":scope > Al\")))}</span>\r\n </dso-tooltip>\r\n </>\r\n );\r\n }\r\n}\r\n","import { h, Fragment } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentOpschriftNode implements OzonContentNode {\r\n name = \"Opschrift\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n let content = mapNodeToJsx(node.childNodes);\r\n const wijzigactie = node.getAttribute(\"wijzigactie\");\r\n\r\n if (wijzigactie === \"voegtoe\") {\r\n content = <ins class=\"new-text\">{content}</ins>;\r\n } else if (wijzigactie === \"verwijder\") {\r\n content = <del class=\"removed-text\">{content}</del>;\r\n }\r\n\r\n return <>{content}</>;\r\n }\r\n}\r\n","import { Colspec, Colspecs } from \"./colspec.interface\";\r\n\r\nexport function mapColspecs(count: number, nodeList: NodeListOf<Element>): Colspecs {\r\n const elements = Array.from(nodeList);\r\n const totalWidth = getTotalWidth(elements);\r\n\r\n return {\r\n totalWidth,\r\n count,\r\n columns: elements.map((element, index): Colspec => {\r\n const colNumber = element.getAttribute(\"colnum\");\r\n\r\n return {\r\n colsep: element.getAttribute(\"colsep\"),\r\n name: element.getAttribute(\"colname\") ?? \"\",\r\n number: colNumber ? parseInt(colNumber, 10) : index + 1,\r\n rowsep: element.getAttribute(\"rowsep\"),\r\n width: getWidth(totalWidth, element),\r\n };\r\n }),\r\n };\r\n}\r\n\r\nfunction getTotalWidth(elements: Element[]): number {\r\n return elements.reduce((totalWidth, element) => {\r\n const width = element.getAttribute(\"colwidth\")?.replace(/[^0-9]/, \"\") ?? \"\";\r\n const colWidth = parseInt(width, 10);\r\n\r\n return totalWidth + (isNaN(colWidth) ? 0 : colWidth);\r\n }, 0);\r\n}\r\n\r\nfunction getWidth(totalWidth: number, element: Element): string | undefined {\r\n const width = element.getAttribute(\"colwidth\");\r\n\r\n if (!width) {\r\n return undefined;\r\n }\r\n\r\n if (width === \"*\") {\r\n return \"100%\";\r\n }\r\n\r\n if (width.includes(\"*\") || width.match(/^[\\d+]$/)) {\r\n const colWidth = parseInt(width.replace(/[^0-9]/, \"\"), 10);\r\n\r\n return `${Math.round((colWidth / totalWidth) * 100)}%`;\r\n }\r\n\r\n return width;\r\n}\r\n","import { Fragment, FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { Colspecs } from \"./colspec/colspec.interface\";\r\n\r\nexport const Colgroup: FunctionalComponent<{ colspecs: Colspecs }> = ({ colspecs }) =>\r\n colspecs.columns.length > 0 ? (\r\n <colgroup>\r\n {colspecs.columns.map((colspec) => (\r\n <col style={{ width: colspec.width }} />\r\n ))}\r\n </colgroup>\r\n ) : (\r\n <Fragment />\r\n );\r\n","import { FunctionalComponent } from \"@stencil/core\";\r\nimport { h } from \"@stencil/core/internal\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { OzonContentNodeContext } from \"../../ozon-content-node-context.interface\";\r\nimport { Colspecs } from \"./colspec/colspec.interface\";\r\n\r\nfunction getColspecStartColsep({ columns }: Colspecs, nameStart: string): string | null {\r\n const colspecStart = columns.find((c) => c.name === nameStart);\r\n\r\n return colspecStart ? colspecStart.colsep : null;\r\n}\r\n\r\nfunction getColspecStartRowsep({ columns }: Colspecs, nameStart: string): string | null {\r\n const colspecStart = columns.find((c) => c.name === nameStart);\r\n\r\n return colspecStart ? colspecStart.rowsep : null;\r\n}\r\n\r\nfunction getData(cell: Element, colspecs?: Colspecs) {\r\n const nameStart = cell.getAttribute(\"namest\");\r\n const row = cell.parentElement;\r\n const tgroup = row?.parentElement?.parentElement;\r\n const table = tgroup?.parentElement;\r\n const colsep =\r\n cell.getAttribute(\"colsep\") ||\r\n (colspecs && nameStart ? getColspecStartColsep(colspecs, nameStart) : null) ||\r\n (tgroup && tgroup.getAttribute(\"colsep\")) ||\r\n (table && table.getAttribute(\"colsep\"));\r\n const rowsep =\r\n cell.getAttribute(\"rowsep\") ||\r\n (row && row.getAttribute(\"rowsep\")) ||\r\n (colspecs && nameStart ? getColspecStartRowsep(colspecs, nameStart) : null) ||\r\n (tgroup && tgroup.getAttribute(\"rowsep\")) ||\r\n (table && table.getAttribute(\"rowsep\"));\r\n\r\n return {\r\n moreRows: cell.getAttribute(\"morerows\"),\r\n nameStart,\r\n nameEnd: cell.getAttribute(\"nameend\"),\r\n colsep,\r\n rowsep,\r\n };\r\n}\r\n\r\nfunction getColspan({ columns }: Colspecs, nameStart: string, nameEnd: string): number | undefined {\r\n const colspecStart = columns.find((c) => c.name === nameStart);\r\n const colspecEnd = columns.find((c) => c.name === nameEnd);\r\n if (!colspecStart || !colspecEnd) {\r\n return undefined;\r\n }\r\n\r\n const colspan = colspecEnd.number - colspecStart.number + 1;\r\n\r\n return colspan === 1 ? undefined : colspan;\r\n}\r\n\r\nexport const Cell: FunctionalComponent<{\r\n context: OzonContentNodeContext;\r\n colspecs: Colspecs | undefined;\r\n cell: Element;\r\n}> = ({ context: { mapNodeToJsx }, colspecs, cell }) => {\r\n const { moreRows, nameStart, nameEnd, colsep, rowsep } = getData(cell, colspecs);\r\n\r\n return (\r\n <td\r\n class={clsx({ \"dso-horizontal-line\": rowsep !== \"0\" }, { \"dso-vertical-line\": colsep !== \"0\" })}\r\n rowSpan={moreRows ? parseInt(moreRows, 10) + 1 : undefined}\r\n colSpan={colspecs && nameStart && nameEnd ? getColspan(colspecs, nameStart, nameEnd) : undefined}\r\n >\r\n {mapNodeToJsx(cell.childNodes)}\r\n </td>\r\n );\r\n};\r\n","import { Fragment, FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../../ozon-content-node-context.interface\";\r\n\r\nimport { Colspecs } from \"./colspec/colspec.interface\";\r\nimport { Cell } from \"./table-cell\";\r\n\r\nexport const Rows: FunctionalComponent<{\r\n context: OzonContentNodeContext;\r\n colspecs: Colspecs | undefined;\r\n rows: Element[];\r\n}> = ({ context, colspecs, rows }) => {\r\n return (\r\n <>\r\n {rows.map((row) => (\r\n <tr>\r\n {Array.from(row.children).map((cell) => (\r\n <Cell cell={cell} colspecs={colspecs} context={context} />\r\n ))}\r\n </tr>\r\n ))}\r\n </>\r\n );\r\n};\r\n","import { h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { getNodeName } from \"../../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../../ozon-content-node.interface\";\r\n\r\nimport { mapColspecs } from \"./colspec/colspec-mapper\";\r\nimport { Colgroup } from \"./table-colgroup\";\r\nimport { Rows } from \"./table-rows\";\r\n\r\nfunction mapData(node: Element) {\r\n const tgroup = node.querySelector(\":scope > tgroup\");\r\n const colAttribute = tgroup?.getAttribute(\"cols\") ?? undefined;\r\n const columnCount = colAttribute ? parseInt(colAttribute, 10) : undefined;\r\n\r\n return {\r\n caption: node.querySelector(\":scope > title\")?.textContent ?? undefined,\r\n colspecs: tgroup && columnCount ? mapColspecs(columnCount, tgroup.querySelectorAll(\":scope > colspec\")) : undefined,\r\n headRows: Array.from(node.querySelectorAll(\":scope > tgroup > thead > row\")),\r\n bodyRows: Array.from(node.querySelectorAll(\":scope > tgroup > tbody > row\")),\r\n wijzigactie: node.getAttribute(\"wijzigactie\"),\r\n frame: node.getAttribute(\"frame\") ? node.getAttribute(\"frame\") : \"all\",\r\n };\r\n}\r\n\r\nexport class OzonContentTableNode implements OzonContentNode {\r\n name = \"table\";\r\n\r\n handles = [\"title\", \"tgroup\", \"colspec\", \"thead\", \"tbody\", \"row\", \"cell\"];\r\n\r\n id = uuidv4();\r\n\r\n render(node: Element, context: OzonContentNodeContext) {\r\n const { caption, colspecs, headRows, bodyRows, wijzigactie, frame } = mapData(node);\r\n\r\n const bron = Array.from(node.childNodes).find((n) => getNodeName(n) === \"Bron\");\r\n\r\n return (\r\n <dso-table>\r\n <table\r\n class={clsx(\"table\", {\r\n \"editaction-add\": wijzigactie === \"voegtoe\",\r\n \"editaction-remove\": wijzigactie === \"verwijder\",\r\n [`dso-table-outside-lines-${frame}`]: frame,\r\n })}\r\n {...(bron ? { \"aria-describedby\": this.id } : {})}\r\n >\r\n {caption && <caption>{caption}</caption>}\r\n {colspecs && <Colgroup colspecs={colspecs} />}\r\n {headRows.length > 0 && (\r\n <thead>\r\n <Rows rows={headRows} colspecs={colspecs} context={context}></Rows>\r\n </thead>\r\n )}\r\n {bodyRows.length > 0 && (\r\n <tbody>\r\n <Rows rows={bodyRows} colspecs={colspecs} context={context}></Rows>\r\n </tbody>\r\n )}\r\n </table>\r\n {bron && <div id={this.id}>{context.mapNodeToJsx(bron)}</div>}\r\n </dso-table>\r\n );\r\n }\r\n}\r\n","import { Fragment, h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\n\r\nexport class OzonContentTextNode implements OzonContentNode {\r\n name = \"#text\";\r\n\r\n render({ textContent }: Node, { mark, emitMarkItemHighlight }: OzonContentNodeContext) {\r\n if (!mark || !textContent) {\r\n return <>{textContent}</>;\r\n }\r\n\r\n const result = mark(textContent);\r\n\r\n return !result || result.length === 0 ? (\r\n <>{textContent}</>\r\n ) : (\r\n <>\r\n {result.map((value) => {\r\n if (typeof value === \"string\") {\r\n return <>{value}</>;\r\n }\r\n\r\n return (\r\n <mark\r\n class={value.highlight ? \"dso-highlight\" : undefined}\r\n ref={(ref) => value.highlight && ref && emitMarkItemHighlight(value.text, ref)}\r\n >\r\n {value.text}\r\n </mark>\r\n );\r\n })}\r\n </>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentVerwijderdeTekstNode implements OzonContentNode {\r\n name = \"VerwijderdeTekst\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <del class=\"removed-text\">{mapNodeToJsx(node.childNodes)}</del>;\r\n }\r\n}\r\n","import { Fragment, h, JSX } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"./get-node-name.function\";\r\nimport { OzonContentAlNode } from \"./nodes/al.node\";\r\nimport { OzonContentBronNode } from \"./nodes/bron.node\";\r\nimport { OzonContentDocumentNode } from \"./nodes/document.node\";\r\nimport { OzonContentExtRefNode } from \"./nodes/ext-ref.node\";\r\nimport { OzonContentFallbackNode } from \"./nodes/fallback.node\";\r\nimport { OzonContentFiguurNode } from \"./nodes/figuur.node\";\r\nimport { OzonContentInhoudNode } from \"./nodes/inhoud.node\";\r\nimport { OzonContentInlineTekstAfbeeldingNode } from \"./nodes/inline-tekst-afbeelding.node\";\r\nimport { OzonContentInlineNodes } from \"./nodes/inline.nodes\";\r\nimport { OzonContentIntIoRefNode } from \"./nodes/int-io-ref.node\";\r\nimport { OzonContentIntRefNode } from \"./nodes/int-ref.node\";\r\nimport { OzonContentLijstNode } from \"./nodes/lijst.node\";\r\nimport { OzonContentNieuweTekstNode } from \"./nodes/nieuwe-tekst.node\";\r\nimport { OzonContentNootNode } from \"./nodes/noot.node\";\r\nimport { OzonContentOpschriftNode } from \"./nodes/opschrift.node\";\r\nimport { OzonContentTableNode } from \"./nodes/table.node\";\r\nimport { OzonContentTextNode } from \"./nodes/text.node\";\r\nimport { OzonContentVerwijderdeTekstNode } from \"./nodes/verwijderde-tekst.node\";\r\nimport { OzonContentContext } from \"./ozon-content-context.interface\";\r\nimport { OzonContentNode } from \"./ozon-content-node.interface\";\r\nimport { OzonContentInputType } from \"./ozon-content.interfaces\";\r\n\r\nexport class Mapper {\r\n private mappers: OzonContentNode[] = [\r\n new OzonContentTextNode(),\r\n new OzonContentDocumentNode(),\r\n new OzonContentInhoudNode(),\r\n new OzonContentOpschriftNode(),\r\n new OzonContentIntRefNode(),\r\n new OzonContentExtRefNode(),\r\n new OzonContentAlNode(),\r\n new OzonContentInlineNodes(),\r\n new OzonContentInlineTekstAfbeeldingNode(),\r\n new OzonContentNootNode(),\r\n new OzonContentTableNode(),\r\n new OzonContentIntIoRefNode(),\r\n new OzonContentFiguurNode(),\r\n new OzonContentLijstNode(),\r\n new OzonContentBronNode(),\r\n new OzonContentNieuweTekstNode(),\r\n new OzonContentVerwijderdeTekstNode(),\r\n ];\r\n\r\n private skip = this.mappers.reduce<string[]>((t, m) => {\r\n if (m.handles) {\r\n t.push(...m.handles);\r\n }\r\n\r\n return t;\r\n }, []);\r\n\r\n private fallbackNode = new OzonContentFallbackNode();\r\n\r\n private domParser?: DOMParser;\r\n\r\n private findMapper(name: string): OzonContentNode | undefined {\r\n if (this.skip.includes(name)) {\r\n return undefined;\r\n }\r\n\r\n return (\r\n this.mappers.find((m) => {\r\n if (Array.isArray(m.name)) {\r\n return m.name.includes(name);\r\n }\r\n\r\n return m.name === name;\r\n }) ?? this.fallbackNode\r\n );\r\n }\r\n\r\n mapNodeToJsx(node: Node | Node[] | NodeList, context: OzonContentContext, path: Node[]): JSX.Element {\r\n if (node instanceof NodeList) {\r\n return <Fragment>{Array.from(node).map((n) => this.mapNodeToJsx(n, context, path))}</Fragment>;\r\n }\r\n\r\n if (Array.isArray(node)) {\r\n return <Fragment>{node.map((n) => this.mapNodeToJsx(n, context, path))}</Fragment>;\r\n }\r\n\r\n const nodeName = getNodeName(node);\r\n const mapper = this.findMapper(nodeName);\r\n if (!mapper) {\r\n return <Fragment />;\r\n }\r\n\r\n const identity = mapper.identify?.(node);\r\n\r\n const state = identity ? context.state[identity] : undefined;\r\n const setState = identity ? (s: unknown) => context.setState({ ...context.state, [identity]: s }) : undefined;\r\n\r\n return mapper.render(node, {\r\n inline: context.inline,\r\n mark: context.mark,\r\n mapNodeToJsx: (n) => this.mapNodeToJsx(n, context, [...path, node]),\r\n emitAnchorClick: context.emitAnchorClick,\r\n setState,\r\n emitMarkItemHighlight: context.emitMarkItemHighlight,\r\n state,\r\n path,\r\n });\r\n }\r\n\r\n transform(input: OzonContentInputType | undefined, context: OzonContentContext): JSX.Element {\r\n if (!input) {\r\n return <Fragment />;\r\n }\r\n\r\n const document = this.inputToXmlDocument(input);\r\n if (document.querySelector(\"parsererror\")) {\r\n console.error({\r\n message: \"[DSO Toolkit: Ozon Content Mapper] Unable to parse XML\",\r\n context,\r\n input,\r\n document,\r\n });\r\n\r\n return <Fragment />;\r\n }\r\n\r\n return this.mapNodeToJsx(document.getRootNode(), context, []);\r\n }\r\n\r\n private inputToXmlDocument(input: OzonContentInputType): XMLDocument {\r\n if (input instanceof XMLDocument) {\r\n return input;\r\n }\r\n\r\n if (typeof input === \"string\") {\r\n this.domParser ??= new DOMParser();\r\n\r\n return this.domParser.parseFromString(input, \"text/xml\");\r\n }\r\n\r\n return document.implementation.createDocument(null, null);\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n\r\n@use \"~dso-toolkit/src/components/anchor\";\r\n@use \"~dso-toolkit/src/components/button/button.mixins\" as button-mixins;\r\n@use \"~dso-toolkit/src/components/insert\";\r\n@use \"~dso-toolkit/src/components/delete\";\r\n@use \"~dso-toolkit/src/components/rich-content\";\r\n\r\n@use \"~dso-toolkit/src/components/button/button\";\r\n@use \"~dso-toolkit/src/components/mark/mark\";\r\n@use \"~dso-toolkit/src/components/superscript/superscript\";\r\n@use \"~dso-toolkit/src/components/subscript/subscript\";\r\n@use \"~dso-toolkit/src/components/table/table\";\r\n\r\n:host(:not([inline])) {\r\n display: block;\r\n}\r\n\r\n:host([inline]) {\r\n display: inline;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\nbutton.toggle-note {\r\n @include button-mixins.tertiary($modifiers: false);\r\n}\r\n\r\nspan[role=\"section\"],\r\nspan[role=\"paragraph\"] {\r\n display: block;\r\n}\r\n\r\n:host(:not([inline])) .fallback {\r\n display: block;\r\n}\r\n\r\na {\r\n @include anchor.root();\r\n}\r\n\r\n// Styling below copied from DSO Viewer 20211011\r\n\r\n.od-Term {\r\n font-weight: 700;\r\n}\r\n\r\n.od-Definitie,\r\n.od-Tussenkop {\r\n font-style: italic;\r\n}\r\n\r\n.od-Inhoud,\r\n.od-Inhoud > .od-Lijst,\r\n.od-IntIoRef,\r\n.od-Lidnr,\r\n.od-LiNr,\r\n.od-Opschrift,\r\n.od-Tussenkop {\r\n display: inline;\r\n}\r\n\r\n.od-Al {\r\n margin-bottom: 0.75em;\r\n}\r\n\r\n.od-IntIoRef {\r\n border-bottom: 1px dotted;\r\n}\r\n\r\n.dso-ozon-bron {\r\n font-style: italic;\r\n font-size: 0.75rem;\r\n}\r\n\r\n.dso-ozon-figuur {\r\n margin-bottom: units.$u1;\r\n\r\n .figuur-bijschrift {\r\n display: block;\r\n font-size: 0.75rem;\r\n font-style: italic;\r\n }\r\n\r\n &.bijschrift-boven {\r\n .figuur-bijschrift {\r\n padding-bottom: 0.25rem;\r\n }\r\n }\r\n\r\n &.bijschrift-onder {\r\n .figuur-bijschrift {\r\n padding-top: 0.25rem;\r\n }\r\n }\r\n\r\n .figuur-titel {\r\n color: colors.$mauve;\r\n display: block;\r\n font-weight: 500;\r\n padding-bottom: 0.5rem;\r\n }\r\n}\r\n\r\n.dso-ozon-lijst {\r\n span.od-Lijstaanhef,\r\n span.od-Lijstsluiting {\r\n margin-bottom: units.$u1;\r\n }\r\n\r\n ul {\r\n margin-bottom: units.$u1 !important;\r\n margin-top: units.$u1;\r\n\r\n p {\r\n margin-bottom: units.$u1;\r\n }\r\n\r\n &.expliciet {\r\n list-style: none;\r\n\r\n > .od-Li {\r\n position: relative;\r\n\r\n > span.od-LiNummer {\r\n position: absolute;\r\n left: units.$u6 * -1 + 4;\r\n text-align: right;\r\n width: units.$u5;\r\n }\r\n }\r\n }\r\n }\r\n\r\n p {\r\n margin: 0;\r\n }\r\n}\r\n\r\n.od-Tabel thead {\r\n font-weight: 600;\r\n}\r\n\r\n.od-Kadertekst {\r\n border: 1px solid #e5e5e5;\r\n margin-bottom: units.$u1;\r\n padding: units.$u1;\r\n}\r\n\r\np,\r\nspan[role=\"paragraph\"],\r\n.dso-ozon-lijst,\r\n.dso-ozon-lijst > ul > li,\r\ntable {\r\n &.editaction-add {\r\n @include insert.root();\r\n }\r\n\r\n &.editaction-remove {\r\n @include delete.root();\r\n }\r\n}\r\n\r\nins {\r\n @include insert.element();\r\n\r\n &.new-text {\r\n @include insert.root();\r\n }\r\n\r\n &.editaction-add {\r\n display: inline-block;\r\n margin-block-end: units.$u1;\r\n padding: units.$u1;\r\n\r\n @include insert.root();\r\n\r\n p:last-child {\r\n margin: 0;\r\n }\r\n }\r\n}\r\n\r\ndel {\r\n &.removed-text {\r\n @include delete.root();\r\n }\r\n\r\n &.editaction-remove {\r\n display: inline-block;\r\n margin-block-end: units.$u1;\r\n padding: units.$u1;\r\n @include delete.root();\r\n\r\n p:last-child {\r\n margin: 0;\r\n }\r\n }\r\n}\r\n\r\n.editaction-label {\r\n font-style: italic;\r\n}\r\n\r\n.dso-rich-content {\r\n @include rich-content.children();\r\n}\r\n","import {\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Event,\r\n EventEmitter,\r\n Prop,\r\n State,\r\n Fragment,\r\n JSX,\r\n Watch,\r\n} from \"@stencil/core\";\r\n\r\nimport { Mapper } from \"./ozon-content-mapper\";\r\nimport { OzonContentContext } from \"./ozon-content-context.interface\";\r\nimport {\r\n OzonContentAnchorClickEvent,\r\n OzonContentInputType,\r\n OzonContentMarkFunction,\r\n OzonContentMarkItemHighlightEvent,\r\n} from \"./ozon-content.interfaces\";\r\nimport { OzonContentNodeState } from \"./ozon-content-node-state.interface\";\r\n\r\nconst mapper = new Mapper();\r\n\r\n@Component({\r\n tag: \"dso-ozon-content\",\r\n styleUrl: \"ozon-content.scss\",\r\n shadow: true,\r\n})\r\nexport class OzonContent implements ComponentInterface {\r\n /**\r\n * The XML to be rendered.\r\n */\r\n @Prop()\r\n content?: OzonContentInputType;\r\n\r\n /**\r\n * Setting this property creates dso-ozon-content as inline element instead of a block element.\r\n */\r\n @Prop({ reflect: true })\r\n inline = false;\r\n\r\n /**\r\n * To mark text.\r\n */\r\n @Prop()\r\n mark?: OzonContentMarkFunction;\r\n\r\n /**\r\n * Emitted when `<a>` is clicked.\r\n */\r\n @Event({ bubbles: false })\r\n dsoAnchorClick!: EventEmitter<OzonContentAnchorClickEvent>;\r\n\r\n /**\r\n * Emitted when a marked item is highlighted.\r\n */\r\n @Event({ bubbles: false })\r\n dsoOzonContentMarkItemHighlight!: EventEmitter<OzonContentMarkItemHighlightEvent>;\r\n\r\n @Watch(\"content\")\r\n contentWatcher() {\r\n this.state = {};\r\n }\r\n\r\n @State()\r\n state: OzonContentNodeState = {};\r\n\r\n private handleMarkItemHighlight = (text: string, elementRef: HTMLElement) => {\r\n this.dsoOzonContentMarkItemHighlight.emit({ text, elementRef });\r\n };\r\n\r\n render(): JSX.Element {\r\n const context: OzonContentContext = {\r\n state: this.state,\r\n inline: this.inline,\r\n mark: this.mark,\r\n setState: (state) => (this.state = state),\r\n emitMarkItemHighlight: this.handleMarkItemHighlight,\r\n emitAnchorClick: this.dsoAnchorClick.emit,\r\n };\r\n\r\n const transformed = mapper.transform(this.content, context);\r\n\r\n return <Fragment>{transformed}</Fragment>;\r\n }\r\n}\r\n\r\nconst dependencies = () => {\r\n dependencies();\r\n\r\n return (\r\n <>\r\n <dso-icon />\r\n <dso-image-overlay />\r\n <dso-tooltip />\r\n <dso-table />\r\n </>\r\n );\r\n};\r\n","@use \"~dso-toolkit/src/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-bottom: units.$u3;\r\n}\r\n\r\n.dso-header {\r\n min-height: units.$u4;\r\n\r\n h2 {\r\n color: colors.$bosgroen;\r\n font-size: units.$font-size-h2;\r\n font-weight: 700;\r\n }\r\n\r\n .dso-close {\r\n color: colors.$bosgroen;\r\n }\r\n}\r\n\r\n:host .dso-modal {\r\n @include modal.root();\r\n\r\n inset: 0px;\r\n height: 100%;\r\n position: fixed;\r\n z-index: zindex.$modal;\r\n}\r\n\r\n.dso-modal .dso-dialog.dso-table-dialog {\r\n margin-top: 1rem;\r\n max-width: calc(100% - 2rem);\r\n margin-left: auto;\r\n margin-right: auto;\r\n inline-size: auto;\r\n\r\n .dso-body {\r\n $dso-body-unavailable-height: (2 * modal.$header-padding) + (modal.$footer-button-height + modal.$footer-padding);\r\n max-height: 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-width: 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-bottom: 0;\r\n overflow-y: auto;\r\n width: 100%;\r\n\r\n &.dso-body {\r\n width: 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-bottom: units.$u1;\r\n\r\n .dso-responsive-message {\r\n margin-bottom: 0;\r\n\r\n &:only-child {\r\n width: 100%;\r\n }\r\n }\r\n\r\n .open-modal-button {\r\n &:only-child {\r\n margin-left: auto;\r\n }\r\n }\r\n}\r\n\r\n.dso-responsive-message {\r\n font-size: 0.8em;\r\n margin-bottom: 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: fade-out(modal-variables.$backdrop-bg, modal-variables.$backdrop-opacity);\r\n bottom: 0;\r\n display: block;\r\n left: 0;\r\n position: fixed;\r\n right: 0;\r\n top: 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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"}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as s,h as i}from"./p-1754d0a9.js";import{v as d}from"./p-14616bce.js";const o=":host{display:block}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}fieldset{border:0;margin:0;min-width:0;padding:0}fieldset .control-label{display:inline-block;font-weight:bold;margin-bottom:8px;max-width:100%;text-align:left}p[slot=info]{margin:0}";const a=o;const t=class{constructor(i){e(this,i);this.dsoBaseLayerChange=s(this,"dsoBaseLayerChange",7);this.selectableRefs={};this.group=d();this.baseLayers=undefined}baseLayerChangeHandler(e){this.dsoBaseLayerChange.emit({activeBaseLayer:e})}componentDidRender(){this.baseLayers.filter((e=>{var s,i;return!e.disabled&&((i=(s=this.previousBaselayers)===null||s===void 0?void 0:s.find((s=>s.id===e.id)))===null||i===void 0?void 0:i.disabled)===true})).forEach((e=>{var s;(s=this.selectableRefs[e.id])===null||s===void 0?void 0:s.toggleInfo(false)}));this.previousBaselayers=this.baseLayers}render(){for(const e in this.selectableRefs){delete this.selectableRefs[e]}return i("fieldset",{key:"ce4733538fc133e4d016ebe43df3b13a58797446",class:"form-group dso-radios"},i("legend",{key:"b1f4ceb4f0c8d9fefce0ca9646e02097e95afbd4",class:"sr-only"},"Achtergrond"),i("div",{key:"702d557a61547834151275a488d207d3b78d3407",class:"dso-label-container"},i("span",{key:"e44d8e0a6d88ab41a8c36989229bc4d577f9c61f",class:"control-label","aria-hidden":"true"},"Achtergrond")),i("div",{key:"0b97e49d0288373b77f8edcc15efa1f77c440c8c",class:"dso-field-container"},this.baseLayers.map((e=>i("dso-selectable",{key:e.id,type:"radio",value:e.name,checked:e.checked,disabled:e.disabled,name:this.group,ref:s=>s&&(this.selectableRefs[e.id]=s),onDsoChange:()=>this.baseLayerChangeHandler(e)},e.name,e.info?i("p",{slot:"info"},e.info):null)))))}};t.style=a;export{t as dso_map_base_layers};
2
+ //# sourceMappingURL=p-4f4efbed.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as o,c as e,h as i,F as r}from"./p-1754d0a9.js";import{A as a,a as n,b as l}from"./p-811676bf.js";const t='ins{text-decoration:none;--link-color:currentColor;--link-hover-color:currentColor;--link-visited-color:currentColor;background-color:#e4f1d4;border-color:#e4f1d4;color:#191919;box-shadow:0 1px 3px 1px rgba(0, 0, 0, 0.25)}ins a:is(.download,.download:hover,.download:focus-visible){background-image:url("./dso-icons.svg#img-download-zwart")}ins a:is(.extern,.extern:hover,.extern:focus-visible){background-image:url("./dso-icons.svg#img-external-link-zwart")}ins a:is([href^="tel:"],[href^="tel:"]:hover,[href^="tel:"]:focus-visible){background-image:url("./dso-icons.svg#img-call-zwart")}ins a:is([href^="mailto:"],[href^="mailto:"]:hover,[href^="mailto:"]:focus-visible){background-image:url("./dso-icons.svg#img-email-zwart")}del{--link-color:currentColor;--link-hover-color:currentColor;--link-visited-color:currentColor;background-color:#f5d8dc;border-color:#f5d8dc;color:#191919;text-decoration:line-through}del a:is(.download,.download:hover,.download:focus-visible){background-image:url("./dso-icons.svg#img-download-zwart")}del a:is(.extern,.extern:hover,.extern:focus-visible){background-image:url("./dso-icons.svg#img-external-link-zwart")}del a:is([href^="tel:"],[href^="tel:"]:hover,[href^="tel:"]:focus-visible){background-image:url("./dso-icons.svg#img-call-zwart")}del a:is([href^="mailto:"],[href^="mailto:"]:hover,[href^="mailto:"]:focus-visible){background-image:url("./dso-icons.svg#img-email-zwart")}:host{display:block}:host([wijzigactie=voegtoe]){--link-color:currentColor;--link-hover-color:currentColor;--link-visited-color:currentColor;background-color:#e4f1d4;border-color:#e4f1d4;color:#191919;box-shadow:0 1px 3px 1px rgba(0, 0, 0, 0.25)}:host([wijzigactie=voegtoe]) a:is(.download,.download:hover,.download:focus-visible){background-image:url("./dso-icons.svg#img-download-zwart")}:host([wijzigactie=voegtoe]) a:is(.extern,.extern:hover,.extern:focus-visible){background-image:url("./dso-icons.svg#img-external-link-zwart")}:host([wijzigactie=voegtoe]) a:is([href^="tel:"],[href^="tel:"]:hover,[href^="tel:"]:focus-visible){background-image:url("./dso-icons.svg#img-call-zwart")}:host([wijzigactie=voegtoe]) a:is([href^="mailto:"],[href^="mailto:"]:hover,[href^="mailto:"]:focus-visible){background-image:url("./dso-icons.svg#img-email-zwart")}:host([wijzigactie=verwijder]){--link-color:currentColor;--link-hover-color:currentColor;--link-visited-color:currentColor;background-color:#f5d8dc;border-color:#f5d8dc;color:#191919;text-decoration:line-through}:host([wijzigactie=verwijder]) a:is(.download,.download:hover,.download:focus-visible){background-image:url("./dso-icons.svg#img-download-zwart")}:host([wijzigactie=verwijder]) a:is(.extern,.extern:hover,.extern:focus-visible){background-image:url("./dso-icons.svg#img-external-link-zwart")}:host([wijzigactie=verwijder]) a:is([href^="tel:"],[href^="tel:"]:hover,[href^="tel:"]:focus-visible){background-image:url("./dso-icons.svg#img-call-zwart")}:host([wijzigactie=verwijder]) a:is([href^="mailto:"],[href^="mailto:"]:hover,[href^="mailto:"]:focus-visible){background-image:url("./dso-icons.svg#img-email-zwart")}*,*::after,*::before{box-sizing:border-box}.annotation-body{display:flex;gap:8px}.annotation-info{flex-grow:1}.annotation-symbol,.annotation-control{flex-shrink:0}.annotation-title{font-weight:500}.annotation-title,.annotation-data{margin-block:0}.annotation-title .content:has(+dso-label),.annotation-data .content:has(+dso-label){margin-inline-end:4px}';const s=t;const d=class{constructor(i){o(this,i);this.dsoActiveChange=e(this,"dsoActiveChange",7);this.wijzigactie=undefined;this.active=undefined;this.gewijzigdeLocatie=undefined;this.naam=undefined}render(){return i(l,{key:"20b91adc13efad9dd22e3df18dc5b92b333de2f4",active:this.active,dsoActiveChange:this.dsoActiveChange,title:i(r,null,i("span",{class:"content"},i(a,{value:this.naam})),this.gewijzigdeLocatie&&i(n,null))})}};d.style=s;export{d as dso_annotation_gebiedsaanwijzing};
2
+ //# sourceMappingURL=p-4f7e1b16.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["annotationCss","DsoAnnotationGebiedsaanwijzingStyle0","AnnotationGebiedsaanwijzing","render","h","AnnotationBody","key","active","this","dsoActiveChange","title","Fragment","class","AnnotationDiffRenderer","value","naam","gewijzigdeLocatie","AnnotationGewijzigdeLocatie"],"sources":["src/components/annotation/annotation.scss?tag=dso-annotation-gebiedsaanwijzing&encapsulation=shadow","src/components/annotation/annotation-gebiedsaanwijzing/annotation-gebiedsaanwijzing.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n@use \"~dso-toolkit/src/components/insert\";\r\n@use \"~dso-toolkit/src/components/delete\";\r\n\r\n@use \"~dso-toolkit/src/components/insert/insert\" as *;\r\n@use \"~dso-toolkit/src/components/delete/delete\" as *;\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n:host([wijzigactie=\"voegtoe\"]) {\r\n @include insert.root();\r\n}\r\n\r\n:host([wijzigactie=\"verwijder\"]) {\r\n @include delete.root();\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.annotation-body {\r\n display: flex;\r\n gap: units.$u1;\r\n}\r\n\r\n.annotation-info {\r\n flex-grow: 1;\r\n}\r\n\r\n.annotation-symbol,\r\n.annotation-control {\r\n flex-shrink: 0;\r\n}\r\n\r\n.annotation-title {\r\n font-weight: 500;\r\n}\r\n\r\n.annotation-title,\r\n.annotation-data {\r\n margin-block: 0;\r\n\r\n .content:has(+ dso-label) {\r\n margin-inline-end: units.$u1 * 0.5;\r\n }\r\n}\r\n","import { Component, ComponentInterface, Prop, Event, h, EventEmitter, Fragment } from \"@stencil/core\";\r\nimport { AnnotationActiveChangeEvent, AnnotationDiff, AnnotationWijzigactie } from \"../annotation.interfaces\";\r\nimport { AnnotationBody } from \"../annotation-body\";\r\nimport { AnnotationDiffRenderer } from \"../annotation-diff-renderer\";\r\nimport { AnnotationGewijzigdeLocatie } from \"../annotation-gewijzigde-locatie\";\r\n\r\n/**\r\n * @slot symbool - Een optionele afbeelding die de annotatie symboliseert.\r\n */\r\n@Component({\r\n tag: \"dso-annotation-gebiedsaanwijzing\",\r\n styleUrl: \"../annotation.scss\",\r\n shadow: true,\r\n})\r\nexport class AnnotationGebiedsaanwijzing implements ComponentInterface {\r\n /**\r\n * Een optionele wijzigactie die aangeeft of de annotatie toegevoegd of verwijderd is.\r\n */\r\n @Prop({ reflect: true })\r\n wijzigactie?: AnnotationWijzigactie;\r\n\r\n /**\r\n * Een optionele boolean die aangeeft of de annotatie actief is.\r\n */\r\n @Prop({ reflect: true })\r\n active?: boolean;\r\n\r\n /**\r\n * Een optionele boolean die aangeeft of de locatie van de annotatie gewijzigd is.\r\n */\r\n @Prop({ reflect: true })\r\n gewijzigdeLocatie?: boolean;\r\n\r\n /**\r\n * Een optionele event listener voor wijzigingen aan de status van de annotatie.\r\n */\r\n @Event()\r\n dsoActiveChange!: EventEmitter<AnnotationActiveChangeEvent>;\r\n\r\n /**\r\n * De naam van de gebiedsaanwijzing.\r\n */\r\n @Prop()\r\n naam?: AnnotationDiff | string;\r\n\r\n render() {\r\n return (\r\n <AnnotationBody\r\n active={this.active}\r\n dsoActiveChange={this.dsoActiveChange}\r\n title={\r\n <>\r\n <span class=\"content\">\r\n <AnnotationDiffRenderer value={this.naam} />\r\n </span>\r\n {this.gewijzigdeLocatie && <AnnotationGewijzigdeLocatie />}\r\n </>\r\n }\r\n />\r\n );\r\n }\r\n}\r\n"],"mappings":"2GAAA,MAAMA,EAAgB,k4GACtB,MAAAC,EAAeD,E,MCaFE,EAA2B,M,gLA+BtC,MAAAC,GACE,OACEC,EAACC,EAAc,CAAAC,IAAA,2CACbC,OAAQC,KAAKD,OACbE,gBAAiBD,KAAKC,gBACtBC,MACEN,EAAAO,EAAA,KACEP,EAAA,QAAMQ,MAAM,WACVR,EAACS,EAAsB,CAACC,MAAON,KAAKO,QAErCP,KAAKQ,mBAAqBZ,EAACa,EAA2B,Q"}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,h as o,F as s,a as i}from"./p-1754d0a9.js";import{c as r}from"./p-8a1a6e56.js";import{d as l}from"./p-23b5692c.js";import{v as a}from"./p-14616bce.js";const d=":host{display:inline-block;max-width:100%}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.dso-label{border-radius:4px;display:inline-block;line-height:1.5;max-width:100%;padding:4px 8px}.dso-label:focus-within,.dso-label.dso-hover{text-decoration:line-through}.dso-label button{background:none;border:0;border-radius:0 4px 4px 0;color:inherit;float:right;font-size:1rem;margin-bottom:-4px;margin-left:8px;margin-right:-4px;margin-top:0;padding:0}.dso-label button:hover{cursor:pointer}.dso-label button>dso-icon,.dso-label button>svg.di{display:block}.dso-label{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;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:0 8px}.dso-label.dso-hover .dso-label-content{text-decoration:line-through}.dso-truncate.dso-label-content{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}:host([removable]) .dso-truncate.dso-label-content{max-width:calc(100% - 28px)}";const c=d;const n=new ResizeObserver(l((e=>{e.forEach((({target:e})=>{if(b(e)){e._truncateLabel()}}))}),150));function b(e){return e.tagName==="DSO-LABEL"}function h(e){return e.scrollWidth>e.clientWidth}const f=class{constructor(o){e(this,o);this.dsoRemoveClick=t(this,"dsoRemoveClick",7);this.compact=undefined;this.removable=undefined;this.status=undefined;this.removeHover=undefined;this.removeFocus=undefined;this.truncate=undefined;this.textHover=undefined;this.textFocus=undefined;this.isTruncated=false;this.labelText=""}watchRemovable(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&&h(this.labelContent)}))}syncLabelText(){var e,t;this.labelText=(t=(e=this.host.textContent)===null||e===void 0?void 0:e.trim())!==null&&t!==void 0?t:""}componentDidLoad(){if(this.truncate){this.startTruncate()}if(this.removable){this.startMutationObserver()}}disconnectedCallback(){this.stopTruncate();this.stopMutationObserver(true)}startMutationObserver(){this.mutationObserver=new MutationObserver((()=>this.syncLabelText()));this.mutationObserver.observe(this.host,{characterData:true,childList:true,subtree:true,attributes:true});this.syncLabelText()}stopMutationObserver(e=false){var t;if(e||!(this.truncate&&this.removable)){(t=this.mutationObserver)===null||t===void 0?void 0:t.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 o(s,{key:"7d0859b14bf6b8b6bc1f1ea7f6e6428431cc1197"},o("span",{key:"b1c8c1302f21caaaebb0193a171a95e4330b92b8","aria-describedby":"toggle-anchor",class:r("dso-label",{[`dso-label-${this.status}`]:this.status,"dso-compact":this.compact&&!this.removable,"dso-hover":this.removeHover||this.removeFocus})},o("slot",{key:"5f3f5b65b4e4b44949b817800b505c5db1d25275",name:"symbol"}),o("span",{key:"6070e0d015cf2464121cf0dfb0088676ab00628b",class:r("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},o("slot",{key:"04b20cade12d23246ce7b21e1aae447689e9c1c7"})),this.removable&&o("button",{key:"bb184213b1ca01f83e2a1f265429293f3dda8f3b",type:"button",onClick:e=>this.dsoRemoveClick.emit(e),onMouseEnter:()=>this.removeHover=true,onMouseLeave:()=>this.removeHover=false,onFocus:()=>this.removeFocus=true,onBlur:()=>this.removeFocus=false},o("span",{key:"9805c7dcd105ba5a6a59e75e822250defb107940",class:"sr-only"},"Verwijder: ",this.labelText),o("dso-icon",{key:"19fef3d7fbd4b017cc880bc02fb3408706536933",icon:"times"}))),this.isTruncated&&o("dso-tooltip",{key:"c136e39ed459e5c4680888b2a27bd0c17485406b",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"]}}};f.style=c;const u="button.dso-slider{border:0;padding:0}button.dso-slider:focus-visible{outline:2px solid #323232;outline-offset:1px}button.dso-slider svg rect{fill:#999;transition:fill 0.25s}button.dso-slider svg circle{transition:transform 260ms cubic-bezier(0.4, 0, 0.2, 1);transform:translateX(10px);fill:#fff}button.dso-slider[aria-checked=true] svg rect{fill:#275937}button.dso-slider[aria-checked=true] svg circle{transform:translateX(30px);fill:#fff}button.dso-slider[disabled] svg rect{fill:#ccc}button.dso-slider[disabled] svg circle{fill:#e5e5e5}button.dso-slider[disabled][aria-checked=true] svg rect{fill:#a8bcaf}button.dso-slider[disabled][aria-checked=true] svg circle{fill:#e5e5e5}.dso-slider{border-radius:24px;display:inline-flex}.dso-slider:hover{cursor:pointer}";const p=u;const g=class{constructor(o){e(this,o);this.dsoActiveChange=t(this,"dsoActiveChange",5);this.checked=false;this.disabled=false;this.accessibleLabel=undefined;this.labelledbyId=undefined;this.hasVisibleLabel=undefined;this.identifier=a()}handleSwitch(e){this.dsoActiveChange.emit({originalEvent:e,checked:!this.checked})}componentWillLoad(){this.hasVisibleLabel=this.host.querySelector("*")!==null}render(){return o(s,null,o("button",Object.assign({key:"f8675793bcdd4b88ca76fa4e3739a5e7a76ebbb0",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}:{}),o("svg",{key:"3aea12f6ceb0ca2aaa708afe2345f9fc45b5f982",xmlns:"http://www.w3.org/2000/svg",width:"40",height:"20",viewBox:"0 0 40 20"},o("g",{key:"8e1d9f35b03bc2c5eae7fe28b5f0966f76eb70d4",fill:"none","fill-rule":"evenodd"},o("rect",{key:"bdf984ae055e5b6b994da64526b260082935b43e",width:"40",height:"20",fill:"currentColor",rx:"10"}),o("circle",{key:"bc009a77fdf29e0901b089d22cf73383b3172c9c",cy:"10",r:"8",fill:"currentColor"})))),this.hasVisibleLabel&&o("label",{key:"c623527a4f867e5bb7745d97f77d5f6515e8b9fd",htmlFor:this.identifier},o("slot",{key:"bef77c8f156edc05a4e549d0a9aa0d5c33e6797f"})))}get host(){return i(this)}};g.style=p;export{f as dso_label,g as dso_slide_toggle};
2
+ //# sourceMappingURL=p-4fac82a7.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["labelCss","DsoLabelStyle0","resizeObserver","ResizeObserver","debounce","entries","forEach","target","isDsoLabelComponent","_truncateLabel","element","tagName","hasEllipses","el","scrollWidth","clientWidth","Label","watchRemovable","removable","this","startMutationObserver","stopMutationObserver","watchTruncate","truncate","startTruncate","stopTruncate","keyDownListener","event","key","textHover","textFocus","setTimeout","isTruncated","labelContent","syncLabelText","labelText","_b","_a","host","textContent","trim","componentDidLoad","disconnectedCallback","mutationObserver","MutationObserver","observe","characterData","childList","subtree","attributes","force","disconnect","unobserve","render","h","Fragment","class","clsx","status","compact","removeHover","removeFocus","name","ref","tabindex","undefined","onMouseEnter","onMouseLeave","onFocus","onBlur","type","onClick","e","dsoRemoveClick","emit","icon","stateless","id","active","position","strategy","slideToggleCss","DsoSlideToggleStyle0","SlideToggle","v4","handleSwitch","dsoActiveChange","originalEvent","checked","componentWillLoad","hasVisibleLabel","querySelector","Object","assign","identifier","role","disabled","accessibleLabel","labelledbyId","xmlns","width","height","viewBox","fill","rx","cy","r","htmlFor"],"sources":["src/components/label/label.scss?tag=dso-label&encapsulation=shadow","src/components/label/label.tsx","src/components/slide-toggle/slide-toggle.scss?tag=dso-slide-toggle","src/components/slide-toggle/slide-toggle.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/label\";\r\n\r\n:host {\r\n display: inline-block;\r\n max-width: 100%;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n// Todo: Replace .sr-only selector with web component specific selector, no need for .sr-only if we can generate the SCSS\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-label {\r\n @include label.root();\r\n\r\n &.dso-hover {\r\n .dso-label-content {\r\n text-decoration: line-through;\r\n }\r\n }\r\n}\r\n\r\n.dso-truncate.dso-label-content {\r\n display: inline-block;\r\n max-width: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis; // stylelint-disable-line declaration-property-value-disallowed-list -- full text can be viewed via tooltip.\r\n vertical-align: bottom;\r\n white-space: nowrap; // stylelint-disable-line declaration-property-value-disallowed-list -- full text can be viewed via tooltip.\r\n}\r\n\r\n:host([removable]) {\r\n .dso-truncate.dso-label-content {\r\n max-width: calc(100% - (units.$u3 + 4px));\r\n }\r\n}\r\n","import {\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Method,\r\n Prop,\r\n State,\r\n Watch,\r\n Listen,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nconst resizeObserver = new ResizeObserver(\r\n debounce((entries: ResizeObserverEntry[]) => {\r\n entries.forEach(({ target }) => {\r\n if (isDsoLabelComponent(target)) {\r\n target._truncateLabel();\r\n }\r\n });\r\n }, 150),\r\n);\r\n\r\nfunction isDsoLabelComponent(element: Element): element is HTMLDsoLabelElement {\r\n return element.tagName === \"DSO-LABEL\";\r\n}\r\n\r\nfunction hasEllipses(el: HTMLElement): boolean {\r\n return el.scrollWidth > el.clientWidth;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-label\",\r\n styleUrl: \"label.scss\",\r\n shadow: true,\r\n})\r\nexport class Label implements ComponentInterface {\r\n private labelContent: HTMLSpanElement | undefined;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n @Element()\r\n private host!: HTMLDsoLabelElement;\r\n\r\n /**\r\n * For compact Label\r\n */\r\n @Prop()\r\n compact?: boolean;\r\n\r\n /**\r\n * Shows a button that can be used to remove the Label.\r\n */\r\n @Prop()\r\n removable?: boolean;\r\n\r\n /**\r\n * The status of this Label.\r\n */\r\n @Prop()\r\n status?: \"primary\" | \"info\" | \"success\" | \"warning\" | \"danger\" | \"error\" | \"bright\" | \"attention\";\r\n\r\n /**\r\n * Emitted when the user activates the remove button.\r\n */\r\n @Event()\r\n dsoRemoveClick!: EventEmitter<MouseEvent>;\r\n\r\n @State()\r\n removeHover?: boolean;\r\n\r\n @State()\r\n removeFocus?: boolean;\r\n\r\n /**\r\n * Whether the Label is allowed to truncate the contents if it does not fit the container element.\r\n */\r\n @Prop()\r\n truncate?: boolean;\r\n\r\n @State()\r\n textHover?: boolean;\r\n\r\n @State()\r\n textFocus?: boolean;\r\n\r\n @State()\r\n isTruncated = false;\r\n\r\n @State()\r\n labelText = \"\";\r\n\r\n @Watch(\"removable\")\r\n watchRemovable(removable: boolean) {\r\n if (removable) {\r\n this.startMutationObserver();\r\n } else {\r\n this.stopMutationObserver();\r\n }\r\n }\r\n\r\n @Watch(\"truncate\")\r\n watchTruncate(truncate: boolean) {\r\n if (truncate) {\r\n this.startTruncate();\r\n } else {\r\n this.stopTruncate();\r\n }\r\n }\r\n\r\n @Listen(\"keydown\", { target: \"document\" })\r\n keyDownListener(event: KeyboardEvent) {\r\n if (event.key === \"Escape\") {\r\n this.textHover = false;\r\n this.textFocus = false;\r\n }\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _truncateLabel() {\r\n setTimeout(() => {\r\n this.isTruncated = !!this.labelContent && hasEllipses(this.labelContent);\r\n });\r\n }\r\n\r\n private syncLabelText() {\r\n this.labelText = this.host.textContent?.trim() ?? \"\";\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.truncate) {\r\n this.startTruncate();\r\n }\r\n\r\n if (this.removable) {\r\n this.startMutationObserver();\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n this.stopTruncate();\r\n\r\n this.stopMutationObserver(true);\r\n }\r\n\r\n /** The mutationObserver fetches the text placed inside the label, this is then used for the remove button and tooltip. */\r\n private startMutationObserver(): void {\r\n this.mutationObserver = new MutationObserver(() => this.syncLabelText());\r\n\r\n this.mutationObserver.observe(this.host, {\r\n characterData: true,\r\n childList: true,\r\n subtree: true,\r\n attributes: true,\r\n });\r\n\r\n this.syncLabelText();\r\n }\r\n\r\n private stopMutationObserver(force = false): void {\r\n if (force || !(this.truncate && this.removable)) {\r\n this.mutationObserver?.disconnect();\r\n\r\n delete this.mutationObserver;\r\n }\r\n }\r\n\r\n private startTruncate(): void {\r\n resizeObserver.observe(this.host);\r\n this.startMutationObserver();\r\n this._truncateLabel();\r\n }\r\n\r\n private stopTruncate(): void {\r\n resizeObserver.unobserve(this.host);\r\n this.stopMutationObserver();\r\n this.isTruncated = false;\r\n }\r\n\r\n render() {\r\n return (\r\n <Fragment>\r\n <span\r\n aria-describedby=\"toggle-anchor\"\r\n class={clsx(\"dso-label\", {\r\n [`dso-label-${this.status}`]: this.status,\r\n \"dso-compact\": this.compact && !this.removable,\r\n \"dso-hover\": this.removeHover || this.removeFocus,\r\n })}\r\n >\r\n <slot name=\"symbol\"></slot>\r\n <span\r\n class={clsx(\"dso-label-content\", {\r\n \"dso-truncate\": !!this.truncate,\r\n })}\r\n ref={(element) => (this.labelContent = element)}\r\n tabindex={this.truncate && this.isTruncated ? 0 : undefined}\r\n onMouseEnter={() => (this.textHover = true)}\r\n onMouseLeave={() => (this.textHover = false)}\r\n onFocus={() => (this.textFocus = true)}\r\n onBlur={() => (this.textFocus = false)}\r\n >\r\n <slot></slot>\r\n </span>\r\n {this.removable && (\r\n <button\r\n type=\"button\"\r\n onClick={(e) => this.dsoRemoveClick.emit(e)}\r\n onMouseEnter={() => (this.removeHover = true)}\r\n onMouseLeave={() => (this.removeHover = false)}\r\n onFocus={() => (this.removeFocus = true)}\r\n onBlur={() => (this.removeFocus = false)}\r\n >\r\n <span class=\"sr-only\">Verwijder: {this.labelText}</span>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n </button>\r\n )}\r\n </span>\r\n {this.isTruncated && (\r\n <dso-tooltip\r\n stateless\r\n id=\"toggle-anchor\"\r\n active={this.textHover || this.textFocus}\r\n position=\"top\"\r\n strategy=\"absolute\"\r\n >\r\n {this.labelText}\r\n </dso-tooltip>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\nbutton.dso-slider {\r\n border: 0;\r\n padding: 0;\r\n\r\n &:focus-visible {\r\n outline: 2px solid colors.$grijs-80;\r\n outline-offset: 1px;\r\n }\r\n\r\n svg {\r\n rect {\r\n fill: colors.$grijs-40;\r\n transition: fill 0.25s;\r\n }\r\n\r\n circle {\r\n @include utilities.transition(transform);\r\n\r\n transform: translateX(10px);\r\n fill: colors.$wit;\r\n }\r\n }\r\n\r\n &[aria-checked=\"true\"] svg {\r\n rect {\r\n fill: colors.$bosgroen;\r\n }\r\n\r\n circle {\r\n transform: translateX(30px);\r\n fill: colors.$wit;\r\n }\r\n }\r\n\r\n &[disabled] svg {\r\n rect {\r\n fill: colors.$grijs-20;\r\n }\r\n\r\n circle {\r\n fill: colors.$grijs-10;\r\n }\r\n }\r\n\r\n &[disabled][aria-checked=\"true\"] svg {\r\n rect {\r\n fill: colors.$bosgroen-40;\r\n }\r\n\r\n circle {\r\n fill: colors.$grijs-10;\r\n }\r\n }\r\n}\r\n\r\n.dso-slider {\r\n border-radius: units.$u3;\r\n display: inline-flex;\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n}\r\n","import { h, Component, ComponentInterface, Event, Fragment, Prop, EventEmitter, Element, State } from \"@stencil/core\";\r\nimport { v4 } from \"uuid\";\r\nimport { SlideToggleActiveEvent } from \"./slide-toggle.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-slide-toggle\",\r\n styleUrl: \"slide-toggle.scss\",\r\n shadow: false,\r\n})\r\nexport class SlideToggle implements ComponentInterface {\r\n @Element()\r\n private host!: HTMLDsoSlideToggleElement;\r\n\r\n /**\r\n * Set to true if Slide Toggle is checked.\r\n */\r\n @Prop()\r\n checked = false;\r\n\r\n /**\r\n * Disables the Slide Toggle, preventing it from checking/unchecking and therefor not emitting any events.\r\n */\r\n @Prop()\r\n disabled = false;\r\n\r\n /**\r\n * When provided the `<button>` will be labelled with `aria-label`. For a visible label provide a `<span>` inside the component.\r\n */\r\n @Prop()\r\n accessibleLabel?: string;\r\n\r\n /**\r\n * Provide the `id` of the element that labels this element. this property sets the `aria-labelledby` on the switch button.\r\n */\r\n @Prop()\r\n labelledbyId?: string;\r\n\r\n @State()\r\n hasVisibleLabel?: boolean;\r\n\r\n /**\r\n * Provide an `id` for the `<button>`. Useful for placing your to place your own `<label for=\"id\">`.\r\n */\r\n @Prop()\r\n identifier = v4();\r\n\r\n /**\r\n * Emitted when user checks or unchecks the Slide Toggle.\r\n */\r\n @Event({ composed: false })\r\n dsoActiveChange!: EventEmitter<SlideToggleActiveEvent>;\r\n\r\n private handleSwitch(e: Event): void {\r\n this.dsoActiveChange.emit({\r\n originalEvent: e,\r\n checked: !this.checked,\r\n });\r\n }\r\n\r\n componentWillLoad(): void {\r\n this.hasVisibleLabel = this.host.querySelector(\"*\") !== null;\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n <button\r\n id={this.identifier}\r\n role=\"switch\"\r\n class=\"dso-slider\"\r\n aria-checked={\"\" + this.checked}\r\n disabled={this.disabled}\r\n onClick={(e) => this.handleSwitch(e)}\r\n {...(this.accessibleLabel ? { \"aria-label\": this.accessibleLabel } : {})}\r\n {...(this.labelledbyId ? { \"aria-labelledby\": this.labelledbyId } : {})}\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"20\" viewBox=\"0 0 40 20\">\r\n <g fill=\"none\" fill-rule=\"evenodd\">\r\n <rect width=\"40\" height=\"20\" fill=\"currentColor\" rx=\"10\" />\r\n <circle cy=\"10\" r=\"8\" fill=\"currentColor\" />\r\n </g>\r\n </svg>\r\n </button>\r\n {this.hasVisibleLabel && (\r\n <label htmlFor={this.identifier}>\r\n <slot />\r\n </label>\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as e,c as o,f as a,h as n,H as r,a as t}from"./p-1754d0a9.js";import{i}from"./p-2d694112.js";const s=e=>e instanceof HTMLButtonElement||e instanceof HTMLAnchorElement||e instanceof HTMLInputElement||e.tagName.startsWith("DSO-TOGGLETIP");const d=':host .dso-card-selectable,:host .dso-card-image{grid-row:span 2}a{background-color:transparent;color:var(--link-color);text-decoration:underline}a:hover,a:focus-visible{color:var(--link-hover-color);text-decoration:underline}a:active{text-decoration:none}a:visited{color:var(--link-visited-color)}a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary)).download{background-repeat:no-repeat;background-size:1.25em 1.25em;padding-inline-end:1.5em;background-position:bottom 0 right 0;background-image:url("./dso-icons.svg#img-download")}a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary)).download:hover,a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary)).download:focus-visible{background-image:url("./dso-icons.svg#img-download-scampi")}a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary)).extern{background-repeat:no-repeat;background-size:1.25em 1.25em;padding-inline-end:1.5em;background-position:bottom 0 right 0;background-image:url("./dso-icons.svg#img-external-link")}a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary)).extern:hover,a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary)).extern:focus-visible{background-image:url("./dso-icons.svg#img-external-link-scampi")}a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary))[href^="tel:"]{background-repeat:no-repeat;background-size:1.25em 1.25em;padding-inline-start:1.5em;background-position:bottom 0 left 0;background-image:url("./dso-icons.svg#img-call-grasgroen")}a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary))[href^="tel:"]:hover,a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary))[href^="tel:"]:focus-visible{background-image:url("./dso-icons.svg#img-call-scampi")}a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary))[href^="mailto:"]{background-repeat:no-repeat;background-size:1.25em 1.25em;padding-inline-start:1.5em;background-position:bottom 0 left 0;background-image:url("./dso-icons.svg#img-email-grasgroen")}a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary))[href^="mailto:"]:hover,a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary))[href^="mailto:"]:focus-visible{background-image:url("./dso-icons.svg#img-email-scampi")}*,*::after,*::before{box-sizing:border-box}:host{display:block}:host .dso-card-heading{align-items:center;display:flex;margin-bottom:8px}@media screen and (max-width: 480px){:host .dso-card-heading{flex-wrap:wrap}}:host .dso-card-image{margin-right:8px}:host(:hover) .dso-card-heading a{color:#275937;text-decoration:underline}.dso-card-heading a{text-decoration:none}.heading-anchor{color:#275937;display:flex}.heading-anchor:visited{color:#275937}.heading-anchor dso-icon{flex-shrink:0}.heading-anchor .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}';const c=d;const l=class{constructor(a){e(this,a);this.dsoCardClicked=o(this,"dsoCardClicked",7);this.clickable=true;this.imageShape="normal";this.href=undefined;this.mode=undefined}connectedCallback(){this.mutationObserver=new MutationObserver((()=>a(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.clickable&&!this.href){return}let o=e.target;while(o!==this.host&&o!==null){if(s(o)||o===null){return}if(o.parentNode instanceof ShadowRoot&&o.parentNode.host instanceof HTMLElement){o=o.parentNode.host}else{o=o.parentElement}}return this.dsoCardClicked.emit({originalEvent:e,isModifiedEvent:i(e)})}get selectableSlottedElement(){return this.host.querySelector("[slot='selectable']")}get imageSlottedElement(){return this.host.querySelector("[slot='image']")}get headingSlottedElement(){return this.host.querySelector("[slot='heading']")}get interactionsSlottedElement(){return this.host.querySelector("[slot='interactions']")}render(){const e=this.selectableSlottedElement!==null;const o=this.imageSlottedElement!==null;return n(r,{key:"b9cc1a47bc39e6e2011ba6412436ab855d9819cf",onClick:e=>this.clickEventHandler(e),"is-selectable":e,"has-image":o},n("div",{key:"b8a059c5b2cc2f29392e0311fcbb3a02b1b39580",class:"dso-card-selectable",hidden:!e},n("slot",{key:"304c0dad6a73ebb2ad12f7c4e0a807d53c7ca660",name:"selectable"})),n("div",{key:"3e976d9e8eb0fbc3578a8fc6f32687f97ca6fc69",class:"dso-card-image",hidden:!o},n("slot",{key:"e10f2acff35dcd3316f0cb14575d5d2e4ab86c95",name:"image"})),n("div",{key:"c7d437cc6d54eab8e9d6ad45411230498b243466",class:"dso-card-heading"},this.headingSlottedElement instanceof HTMLAnchorElement||!this.href?n("slot",{name:"heading"}):(!this.mode||!["download","extern"].includes(this.mode))&&n("a",{href:this.href,class:"heading-anchor"},n("slot",{name:"heading"}),n("dso-icon",{icon:"chevron-right"}))||this.mode==="extern"&&n("a",{href:this.href,class:"heading-anchor",target:"_blank",rel:"noopener noreferrer"},n("slot",{name:"heading"}),n("dso-icon",{icon:"external-link"}),n("span",{class:"sr-only"},"(Opent andere website in nieuw tabblad)"))||this.mode==="download"&&n("a",{href:this.href,class:"heading-anchor"},n("slot",{name:"heading"}),n("dso-icon",{icon:"download"})),this.interactionsSlottedElement!==null&&n("slot",{key:"f318d02fe89a6aa2a9377e2f32d72726c848c42f",name:"interactions"})),n("div",{key:"7b725b7edeee93b237352eff09ae2574647b9a3b",class:"dso-card-content"},n("slot",{key:"9f855efe124e2a273b1ecb465b27bc7e01ac10e9",name:"content"})))}get host(){return t(this)}};l.style=c;export{l as dso_card};
2
- //# sourceMappingURL=p-fea71d00.entry.js.map
1
+ import{r as e,c as o,f as a,h as n,H as r,a as t}from"./p-1754d0a9.js";import{i}from"./p-2d694112.js";const s=e=>e instanceof HTMLButtonElement||e instanceof HTMLAnchorElement||e instanceof HTMLInputElement||e.tagName.startsWith("DSO-TOGGLETIP");const d=':host .dso-card-selectable,:host .dso-card-image{grid-row:span 2}a{background-color:transparent;color:var(--link-color);text-decoration:underline}a:hover,a:focus-visible{color:var(--link-hover-color);text-decoration:underline}a:active{text-decoration:none}a:visited{color:var(--link-visited-color)}a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary)).download{background-repeat:no-repeat;background-size:1.25em 1.25em;padding-inline-end:1.5em;background-position:bottom 0 right 0;background-image:url("./dso-icons.svg#img-download")}a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary)).download:hover,a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary)).download:focus-visible{background-image:url("./dso-icons.svg#img-download-scampi")}a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary)).extern{background-repeat:no-repeat;background-size:1.25em 1.25em;padding-inline-end:1.5em;background-position:bottom 0 right 0;background-image:url("./dso-icons.svg#img-external-link")}a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary)).extern:hover,a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary)).extern:focus-visible{background-image:url("./dso-icons.svg#img-external-link-scampi")}a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary))[href^="tel:"]{background-repeat:no-repeat;background-size:1.25em 1.25em;padding-inline-start:1.5em;background-position:bottom 0 left 0;background-image:url("./dso-icons.svg#img-call-grasgroen")}a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary))[href^="tel:"]:hover,a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary))[href^="tel:"]:focus-visible{background-image:url("./dso-icons.svg#img-call-scampi")}a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary))[href^="mailto:"]{background-repeat:no-repeat;background-size:1.25em 1.25em;padding-inline-start:1.5em;background-position:bottom 0 left 0;background-image:url("./dso-icons.svg#img-email-grasgroen")}a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary))[href^="mailto:"]:hover,a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary))[href^="mailto:"]:focus-visible{background-image:url("./dso-icons.svg#img-email-scampi")}*,*::after,*::before{box-sizing:border-box}:host{display:block}:host .dso-card-heading{align-items:center;display:flex;margin-bottom:8px}@media screen and (max-width: 480px){:host .dso-card-heading{flex-wrap:wrap}}:host .dso-card-image{margin-right:8px}:host(:hover) .dso-card-heading a{color:#275937;text-decoration:underline}.dso-card-heading a{text-decoration:none}.heading-anchor{color:#275937;display:flex}.heading-anchor:visited{color:#275937}.heading-anchor dso-icon{flex-shrink:0}.heading-anchor .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}';const c=d;const l=class{constructor(a){e(this,a);this.dsoCardClicked=o(this,"dsoCardClicked",7);this.clickable=true;this.imageShape="normal";this.href=undefined;this.mode=undefined}connectedCallback(){this.mutationObserver=new MutationObserver((()=>a(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.clickable&&!this.href){return}let o=e.target;while(o!==this.host&&o!==null){if(s(o)||o===null){return}if(o.parentNode instanceof ShadowRoot&&o.parentNode.host instanceof HTMLElement){o=o.parentNode.host}else{o=o.parentElement}}return this.dsoCardClicked.emit({originalEvent:e,isModifiedEvent:i(e)})}get selectableSlottedElement(){return this.host.querySelector("[slot='selectable']")}get imageSlottedElement(){return this.host.querySelector("[slot='image']")}get headingSlottedElement(){return this.host.querySelector("[slot='heading']")}get interactionsSlottedElement(){return this.host.querySelector("[slot='interactions']")}render(){const e=this.selectableSlottedElement!==null;const o=this.imageSlottedElement!==null;return n(r,{key:"0c66649451517f7964437001acc82fa555882caf",onClick:e=>this.clickEventHandler(e),"is-selectable":e,"has-image":o},n("div",{key:"f422f604c9fe91dfe284b4b01bbf3c053228b056",class:"dso-card-selectable",hidden:!e},n("slot",{key:"2b1401266e44bb6970849763ecd3b09c2a54ebcc",name:"selectable"})),n("div",{key:"c2e9b599af341e366dcae1abb8435fcdb8d98074",class:"dso-card-image",hidden:!o},n("slot",{key:"fe525fc9248bfdd7482975a6a367c28cda331c95",name:"image"})),n("div",{key:"5811c5f9891e07c486820d28391a83bfc21a5bfc",class:"dso-card-heading"},this.headingSlottedElement instanceof HTMLAnchorElement||!this.href?n("slot",{name:"heading"}):(!this.mode||!["download","extern"].includes(this.mode))&&n("a",{href:this.href,class:"heading-anchor"},n("slot",{name:"heading"}),n("dso-icon",{icon:"chevron-right"}))||this.mode==="extern"&&n("a",{href:this.href,class:"heading-anchor",target:"_blank",rel:"noopener noreferrer"},n("slot",{name:"heading"}),n("dso-icon",{icon:"external-link"}),n("span",{class:"sr-only"},"(Opent andere website in nieuw tabblad)"))||this.mode==="download"&&n("a",{href:this.href,class:"heading-anchor"},n("slot",{name:"heading"}),n("dso-icon",{icon:"download"})),this.interactionsSlottedElement!==null&&n("slot",{key:"330c90621b89d1565a35474af14f5bced644dc70",name:"interactions"})),n("div",{key:"11cd1a110f6c5fbbd52611183a8dc6f87448016e",class:"dso-card-content"},n("slot",{key:"f7cc4cbd9fe205a75004a65ae8c62df4f62ccac9",name:"content"})))}get host(){return t(this)}};l.style=c;export{l as dso_card};
2
+ //# sourceMappingURL=p-560861e9.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as n,c as t,h as o,H as e}from"./p-1754d0a9.js";const i=":host {\n background-color: #fff;\n border: 1px solid #ccc;\n bottom: 0;\n display: block;\n font-family: Asap, sans-serif;\n position: absolute;\n top: 0;\n left: 100%;\n transition: transform 300ms ease;\n width: 300px;\n}\n\n*,\n*::after,\n*::before {\n box-sizing: border-box;\n}\n\n:host([open]) {\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.3);\n transform: translateX(-100%);\n}\n:host([open]) .toggle-visibility-button {\n display: none;\n}\n:host([open]) .zoom-buttons {\n top: 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.toggle-visibility-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n border: 0;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\n font-weight: 600;\n margin-right: 16px;\n padding: 8px 16px;\n white-space: nowrap;\n position: absolute;\n right: calc(100% + 56px);\n top: 16px;\n}\n.toggle-visibility-button:focus, .toggle-visibility-button:focus-visible {\n outline-offset: 2px;\n}\n.toggle-visibility-button:active {\n outline: 0;\n}\n.toggle-visibility-button:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.toggle-visibility-button:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.toggle-visibility-button[disabled], .toggle-visibility-button[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.toggle-visibility-button.dso-small {\n line-height: 1rem;\n}\n.toggle-visibility-button.dso-small dso-icon,\n.toggle-visibility-button.dso-small svg.di, .toggle-visibility-button.dso-small.extern::after, .toggle-visibility-button.dso-small.download::after, .toggle-visibility-button.dso-small.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.toggle-visibility-button.dso-small.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.toggle-visibility-button.dso-small.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.toggle-visibility-button dso-icon,\n.toggle-visibility-button svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\n.toggle-visibility-button span + dso-icon,\n.toggle-visibility-button span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\n.toggle-visibility-button.dso-spinner-left[disabled], .toggle-visibility-button.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.toggle-visibility-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 height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.toggle-visibility-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 height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.toggle-visibility-button.dso-spinner-left:not([disabled]).dso-small:hover::before {\n height: 16px;\n width: 16px;\n}\n.toggle-visibility-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 height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.toggle-visibility-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 height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.toggle-visibility-button.dso-spinner-right:not([disabled]).dso-small:hover::after {\n height: 16px;\n width: 16px;\n}\n.toggle-visibility-button:focus-visible {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n outline: none;\n}\n\n.zoom-buttons {\n border-radius: 4px;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\n display: flex;\n flex-wrap: wrap;\n flex: 0 0;\n position: absolute;\n right: calc(100% + 16px);\n top: 16px;\n}\n.zoom-buttons button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n border: 0;\n padding: 8px;\n border-radius: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n flex: 0 0 100%;\n height: 40px;\n min-width: auto;\n width: 40px;\n}\n.zoom-buttons button:focus, .zoom-buttons button:focus-visible {\n outline-offset: 2px;\n}\n.zoom-buttons button:active {\n outline: 0;\n}\n.zoom-buttons button:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.zoom-buttons button:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.zoom-buttons button[disabled], .zoom-buttons button[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.zoom-buttons button.dso-small {\n line-height: 1rem;\n}\n.zoom-buttons button.dso-small dso-icon,\n.zoom-buttons button.dso-small svg.di, .zoom-buttons button.dso-small.extern::after, .zoom-buttons button.dso-small.download::after, .zoom-buttons button.dso-small.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.zoom-buttons button.dso-small.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.zoom-buttons button.dso-small.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.zoom-buttons button > span {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.zoom-buttons button.dso-spinner-left[disabled], .zoom-buttons button.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.zoom-buttons 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 height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.zoom-buttons 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 height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.zoom-buttons button.dso-spinner-left:not([disabled]).dso-small:hover::before {\n height: 16px;\n width: 16px;\n}\n.zoom-buttons 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 height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.zoom-buttons 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 height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.zoom-buttons button.dso-spinner-right:not([disabled]).dso-small:hover::after {\n height: 16px;\n width: 16px;\n}\n.zoom-buttons button:focus-visible {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n outline: none;\n}\n.zoom-buttons button + button {\n border-radius: 0;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n border-top: 1px solid #ccc;\n}\n\n.close-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n padding: 0;\n position: absolute;\n right: 16px;\n top: 16px;\n}\n.close-button:focus, .close-button:focus-visible {\n outline-offset: 2px;\n}\n.close-button:active {\n outline: 0;\n}\n.close-button[disabled] {\n color: #afcf9d;\n}\n.close-button[disabled].dso-spinner-left, .close-button[disabled].dso-spinner-right {\n color: #39870c;\n}\n.close-button:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\n.close-button:not([disabled]):active {\n color: #173521;\n}\n.close-button.dso-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\n.close-button.dso-truncate {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.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 height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\n.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 height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\n.close-button > span {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\nsection:not([hidden]) {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\nheader,\n.content {\n padding: 16px;\n}\n\nheader {\n border-bottom: 1px solid #ccc;\n flex-grow: 0;\n position: relative;\n}\nheader h2 {\n color: #275937;\n font-family: \"Asap\", sans-serif;\n line-height: 1;\n margin: 0;\n}\n\n@media screen and (max-width: 767px) {\n .toggle-visibility-button {\n height: 40px;\n margin-right: 0;\n min-width: auto;\n right: calc(100% + 16px);\n width: 40px;\n }\n .toggle-visibility-button dso-icon {\n margin-right: 0;\n }\n .toggle-visibility-button span {\n visibility: hidden;\n }\n .zoom-buttons {\n top: 72px;\n }\n}";const r=i;var s=undefined&&undefined.__classPrivateFieldGet||function(n,t,o,e){if(o==="a"&&!e)throw new TypeError("Private accessor was defined without a getter");if(typeof t==="function"?n!==t||!e:!t.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return o==="m"?e:o==="a"?e.call(n):e?e.value:t.get(n)};var a=undefined&&undefined.__classPrivateFieldSet||function(n,t,o,e,i){if(e==="m")throw new TypeError("Private method is not writable");if(e==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t==="function"?n!==t||!i:!t.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e==="a"?i.call(n,o):i?i.value=o:t.set(n,o),o};var l,d;const c=300;const f=class{constructor(o){n(this,o);this.dsoZoomIn=t(this,"dsoZoomIn",7);this.dsoZoomOut=t(this,"dsoZoomOut",7);this.dsoToggle=t(this,"dsoToggle",7);this.panelTitle="Kaartlagen";l.set(this,void 0);d.set(this,void 0);this.open=false;this.disableZoom=undefined;this.hideContent=!this.open}watchOpen(n){if(n){this.hideContent=false;setTimeout((()=>{var n;return(n=s(this,l,"f"))===null||n===void 0?void 0:n.focus()}),c)}else{setTimeout((()=>{var n;this.hideContent=true;(n=s(this,d,"f"))===null||n===void 0?void 0:n.focus()}),c)}}async toggleVisibility(n){this.open=!this.open;this.dsoToggle.emit({originalEvent:n,open:this.open})}render(){return o(e,{key:"3f7ce2dd7cc11f02be90577764970adf85172967"},o("button",{key:"a1c1a07a05ff312f23ed8b6aa02ec02d8b2d34e2",type:"button",id:"toggle-visibility-button",class:"toggle-visibility-button",onClick:n=>this.toggleVisibility(n),ref:n=>a(this,d,n,"f")},o("dso-icon",{key:"e4da397ae7087125ea14e170813be8865a8348dc",icon:"layers"}),o("span",{key:"2fca94571636536e03a555f757104026efeec391"},"Kaartlagen")),o("div",{key:"71fb31b517376f797914b8de132aac888ec63a23",class:"zoom-buttons"},o("button",{key:"44c2cc9aa939657400638d86d163f26eff6a9d0a",type:"button",onClick:n=>this.dsoZoomIn.emit(n),disabled:this.disableZoom==="in"||this.disableZoom==="both"},o("span",{key:"c5ab82f953c0a432e0a7f57a65abc524534da557"},"Zoom in"),o("dso-icon",{key:"fd575a867cbf47779083c96f5fce23784a18dfc1",icon:"plus"})),o("button",{key:"0dd2fbc677a7c411b64418be261a46cf61e12dcd",type:"button",onClick:n=>this.dsoZoomOut.emit(n),disabled:this.disableZoom==="out"||this.disableZoom==="both"},o("span",{key:"6b5292a0cc6055db0e9ec5cbcbc96c4cdf052be7"},"Zoom uit"),o("dso-icon",{key:"09d6f4b412ac2c2abd8bdcf9f9e41333c383cb5b",icon:"minus"}))),o("section",{key:"1e881bfac904ed3b423111cc6ee38ad448f47226",hidden:this.hideContent},o("header",{key:"6674658c959a06baea1e9a352f3390877e2ecc24"},o("h2",{key:"e69abd4f06d843d46a0315cf0f9af3b06e4b84fc"},this.panelTitle),o("button",{key:"62a73366df821988b470161bab7bd898a93487b7",type:"button",class:"close-button",onClick:n=>this.toggleVisibility(n),ref:n=>a(this,l,n,"f")},o("span",{key:"b38bf7e6d2f44cc94605d177ec69df31650079de"},"Verberg paneel ",this.panelTitle),o("dso-icon",{key:"a272d1b7cace86845713c69186e86066a212998d",icon:"times"}))),o("dso-scrollable",{key:"2eceb3fffae1d00e66ff289ddf7252a289427ed1"},o("div",{key:"dec6be8e301f0ce247086c01f608b240fc56509f",class:"content"},o("slot",{key:"97d929c30fc07e77ce586841a71f0a52e347bcc6"})))))}static get watchers(){return{open:["watchOpen"]}}};l=new WeakMap,d=new WeakMap;f.style=r;export{f as dso_map_controls};
2
- //# sourceMappingURL=p-5bb82e74.entry.js.map
1
+ import{r as n,c as t,h as o,H as e}from"./p-1754d0a9.js";const i=":host {\n background-color: #fff;\n border: 1px solid #ccc;\n bottom: 0;\n display: block;\n font-family: Asap, sans-serif;\n position: absolute;\n top: 0;\n left: 100%;\n transition: transform 300ms ease;\n width: 300px;\n}\n\n*,\n*::after,\n*::before {\n box-sizing: border-box;\n}\n\n:host([open]) {\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.3);\n transform: translateX(-100%);\n}\n:host([open]) .toggle-visibility-button {\n display: none;\n}\n:host([open]) .zoom-buttons {\n top: 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.toggle-visibility-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n border: 0;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\n font-weight: 600;\n margin-right: 16px;\n padding: 8px 16px;\n white-space: nowrap;\n position: absolute;\n right: calc(100% + 56px);\n top: 16px;\n}\n.toggle-visibility-button:focus, .toggle-visibility-button:focus-visible {\n outline-offset: 2px;\n}\n.toggle-visibility-button:active {\n outline: 0;\n}\n.toggle-visibility-button:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.toggle-visibility-button:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.toggle-visibility-button[disabled], .toggle-visibility-button[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.toggle-visibility-button.dso-small {\n line-height: 1rem;\n}\n.toggle-visibility-button.dso-small dso-icon,\n.toggle-visibility-button.dso-small svg.di, .toggle-visibility-button.dso-small.extern::after, .toggle-visibility-button.dso-small.download::after, .toggle-visibility-button.dso-small.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.toggle-visibility-button.dso-small.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.toggle-visibility-button.dso-small.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.toggle-visibility-button dso-icon,\n.toggle-visibility-button svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\n.toggle-visibility-button span + dso-icon,\n.toggle-visibility-button span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\n.toggle-visibility-button.dso-spinner-left[disabled], .toggle-visibility-button.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.toggle-visibility-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 height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.toggle-visibility-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 height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.toggle-visibility-button.dso-spinner-left:not([disabled]).dso-small:hover::before {\n height: 16px;\n width: 16px;\n}\n.toggle-visibility-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 height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.toggle-visibility-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 height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.toggle-visibility-button.dso-spinner-right:not([disabled]).dso-small:hover::after {\n height: 16px;\n width: 16px;\n}\n.toggle-visibility-button:focus-visible {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n outline: none;\n}\n\n.zoom-buttons {\n border-radius: 4px;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\n display: flex;\n flex-wrap: wrap;\n flex: 0 0;\n position: absolute;\n right: calc(100% + 16px);\n top: 16px;\n}\n.zoom-buttons button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n border: 0;\n padding: 8px;\n border-radius: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n flex: 0 0 100%;\n height: 40px;\n min-width: auto;\n width: 40px;\n}\n.zoom-buttons button:focus, .zoom-buttons button:focus-visible {\n outline-offset: 2px;\n}\n.zoom-buttons button:active {\n outline: 0;\n}\n.zoom-buttons button:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.zoom-buttons button:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.zoom-buttons button[disabled], .zoom-buttons button[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.zoom-buttons button.dso-small {\n line-height: 1rem;\n}\n.zoom-buttons button.dso-small dso-icon,\n.zoom-buttons button.dso-small svg.di, .zoom-buttons button.dso-small.extern::after, .zoom-buttons button.dso-small.download::after, .zoom-buttons button.dso-small.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.zoom-buttons button.dso-small.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.zoom-buttons button.dso-small.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.zoom-buttons button > span {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.zoom-buttons button.dso-spinner-left[disabled], .zoom-buttons button.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.zoom-buttons 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 height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.zoom-buttons 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 height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.zoom-buttons button.dso-spinner-left:not([disabled]).dso-small:hover::before {\n height: 16px;\n width: 16px;\n}\n.zoom-buttons 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 height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.zoom-buttons 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 height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.zoom-buttons button.dso-spinner-right:not([disabled]).dso-small:hover::after {\n height: 16px;\n width: 16px;\n}\n.zoom-buttons button:focus-visible {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n outline: none;\n}\n.zoom-buttons button + button {\n border-radius: 0;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n border-top: 1px solid #ccc;\n}\n\n.close-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n padding: 0;\n position: absolute;\n right: 16px;\n top: 16px;\n}\n.close-button:focus, .close-button:focus-visible {\n outline-offset: 2px;\n}\n.close-button:active {\n outline: 0;\n}\n.close-button[disabled] {\n color: #afcf9d;\n}\n.close-button[disabled].dso-spinner-left, .close-button[disabled].dso-spinner-right {\n color: #39870c;\n}\n.close-button:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\n.close-button:not([disabled]):active {\n color: #173521;\n}\n.close-button.dso-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\n.close-button.dso-truncate {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.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 height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\n.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 height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\n.close-button > span {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\nsection:not([hidden]) {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\nheader,\n.content {\n padding: 16px;\n}\n\nheader {\n border-bottom: 1px solid #ccc;\n flex-grow: 0;\n position: relative;\n}\nheader h2 {\n color: #275937;\n font-family: \"Asap\", sans-serif;\n line-height: 1;\n margin: 0;\n}\n\n@media screen and (max-width: 767px) {\n .toggle-visibility-button {\n height: 40px;\n margin-right: 0;\n min-width: auto;\n right: calc(100% + 16px);\n width: 40px;\n }\n .toggle-visibility-button dso-icon {\n margin-right: 0;\n }\n .toggle-visibility-button span {\n visibility: hidden;\n }\n .zoom-buttons {\n top: 72px;\n }\n}";const r=i;var s=undefined&&undefined.__classPrivateFieldGet||function(n,t,o,e){if(o==="a"&&!e)throw new TypeError("Private accessor was defined without a getter");if(typeof t==="function"?n!==t||!e:!t.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return o==="m"?e:o==="a"?e.call(n):e?e.value:t.get(n)};var a=undefined&&undefined.__classPrivateFieldSet||function(n,t,o,e,i){if(e==="m")throw new TypeError("Private method is not writable");if(e==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t==="function"?n!==t||!i:!t.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e==="a"?i.call(n,o):i?i.value=o:t.set(n,o),o};var l,d;const f=300;const c=class{constructor(o){n(this,o);this.dsoZoomIn=t(this,"dsoZoomIn",7);this.dsoZoomOut=t(this,"dsoZoomOut",7);this.dsoToggle=t(this,"dsoToggle",7);this.panelTitle="Kaartlagen";l.set(this,void 0);d.set(this,void 0);this.open=false;this.disableZoom=undefined;this.hideContent=!this.open}watchOpen(n){if(n){this.hideContent=false;setTimeout((()=>{var n;return(n=s(this,l,"f"))===null||n===void 0?void 0:n.focus()}),f)}else{setTimeout((()=>{var n;this.hideContent=true;(n=s(this,d,"f"))===null||n===void 0?void 0:n.focus()}),f)}}async toggleVisibility(n){this.open=!this.open;this.dsoToggle.emit({originalEvent:n,open:this.open})}render(){return o(e,{key:"811ed45e16756a18deea944ab3a830de0337515c"},o("button",{key:"5eb63aafc7e83f90fbb93a8ffef51189f86dabfd",type:"button",id:"toggle-visibility-button",class:"toggle-visibility-button",onClick:n=>this.toggleVisibility(n),ref:n=>a(this,d,n,"f")},o("dso-icon",{key:"10c61d07bdabde651a1b054bdfcffff96b09ffa6",icon:"layers"}),o("span",{key:"495d5f0f496812b699b0d73384ff7a3cf44cdf83"},"Kaartlagen")),o("div",{key:"f7cc57743bd35805fe1290884c42be7b9f28deec",class:"zoom-buttons"},o("button",{key:"dc849568c9f89a3a97e089a748e4f9cab1bb244a",type:"button",onClick:n=>this.dsoZoomIn.emit(n),disabled:this.disableZoom==="in"||this.disableZoom==="both"},o("span",{key:"e2f3dc349c28b85641c31b31fb562ac3d978ad8f"},"Zoom in"),o("dso-icon",{key:"685d9951a3f210d41c127445221fbc4202f81f8b",icon:"plus"})),o("button",{key:"c207b3d18695514f2450e0541bd96a9959e79c41",type:"button",onClick:n=>this.dsoZoomOut.emit(n),disabled:this.disableZoom==="out"||this.disableZoom==="both"},o("span",{key:"5ae124eec302ed0eb4311a863724319efe11ac07"},"Zoom uit"),o("dso-icon",{key:"0d42226e456acc25c35a27e8b2f218b22c6f4108",icon:"minus"}))),o("section",{key:"f1c8eeaae2dc0b107abe12068ab0c1dc55a083ab",hidden:this.hideContent},o("header",{key:"30fbc77b30f39fb09f1aaca1ccbcf9d159aec5c1"},o("h2",{key:"4ef3fd5e1af61d3c6e904ab3185db652fdfa6bca"},this.panelTitle),o("button",{key:"ec6d354424c9e918ed8b548944be847697f8ff39",type:"button",class:"close-button",onClick:n=>this.toggleVisibility(n),ref:n=>a(this,l,n,"f")},o("span",{key:"ff58412ce86c3d0831acb22e82b3ff70707417c4"},"Verberg paneel ",this.panelTitle),o("dso-icon",{key:"4dd038854693f096c3436f2a4c2a94748a9787e1",icon:"times"}))),o("dso-scrollable",{key:"645eb72dc729951ff79034339b905e36e91e4e7b"},o("div",{key:"6df947228a9dc9bf2ed52ab9b3ce0874ed2618cb",class:"content"},o("slot",{key:"810c62ea5de995e1423f664e11411213df18bfec"})))))}static get watchers(){return{open:["watchOpen"]}}};l=new WeakMap,d=new WeakMap;c.style=r;export{c as dso_map_controls};
2
+ //# sourceMappingURL=p-5621d240.entry.js.map