@dso-toolkit/core 67.3.1 → 68.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (702) hide show
  1. package/dist/cjs/{annotation-body-9e62da5c.js → annotation-body-17541223.js} +2 -2
  2. package/dist/cjs/{annotation-body-9e62da5c.js.map → annotation-body-17541223.js.map} +1 -1
  3. package/dist/cjs/{annotation-symbol-slot-46421527.js → annotation-symbol-slot-0d0e0294.js} +2 -2
  4. package/dist/cjs/{annotation-symbol-slot-46421527.js.map → annotation-symbol-slot-0d0e0294.js.map} +1 -1
  5. package/dist/cjs/dso-accordion-section.cjs.entry.js +14 -14
  6. package/dist/cjs/dso-accordion-section.cjs.entry.js.map +1 -1
  7. package/dist/cjs/dso-accordion.cjs.entry.js +9 -1
  8. package/dist/cjs/dso-accordion.cjs.entry.js.map +1 -1
  9. package/dist/cjs/dso-action-list-item.cjs.entry.js +10 -3
  10. package/dist/cjs/dso-action-list-item.cjs.entry.js.map +1 -1
  11. package/dist/cjs/dso-action-list.cjs.entry.js +1 -2
  12. package/dist/cjs/dso-action-list.cjs.entry.js.map +1 -1
  13. package/dist/cjs/dso-advanced-select.cjs.entry.js +10 -6
  14. package/dist/cjs/dso-advanced-select.cjs.entry.js.map +1 -1
  15. package/dist/cjs/dso-alert_6.cjs.entry.js +29 -22
  16. package/dist/cjs/dso-alert_6.cjs.entry.js.map +1 -1
  17. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js +4 -11
  18. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js.map +1 -1
  19. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js +4 -8
  20. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js.map +1 -1
  21. package/dist/cjs/dso-annotation-kaart.cjs.entry.js +3 -6
  22. package/dist/cjs/dso-annotation-kaart.cjs.entry.js.map +1 -1
  23. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js +49 -31
  24. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js.map +1 -1
  25. package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js +4 -11
  26. package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js.map +1 -1
  27. package/dist/cjs/dso-attachments-counter_2.cjs.entry.js +5 -5
  28. package/dist/cjs/dso-attachments-counter_2.cjs.entry.js.map +1 -1
  29. package/dist/cjs/dso-autosuggest.cjs.entry.js +31 -17
  30. package/dist/cjs/dso-autosuggest.cjs.entry.js.map +1 -1
  31. package/dist/cjs/dso-banner.cjs.entry.js +11 -4
  32. package/dist/cjs/dso-banner.cjs.entry.js.map +1 -1
  33. package/dist/cjs/dso-card-container.cjs.entry.js +5 -2
  34. package/dist/cjs/dso-card-container.cjs.entry.js.map +1 -1
  35. package/dist/cjs/dso-card.cjs.entry.js +3 -6
  36. package/dist/cjs/dso-card.cjs.entry.js.map +1 -1
  37. package/dist/cjs/dso-date-picker-legacy.cjs.entry.js +45 -20
  38. package/dist/cjs/dso-date-picker-legacy.cjs.entry.js.map +1 -1
  39. package/dist/cjs/dso-date-picker.cjs.entry.js +23 -12
  40. package/dist/cjs/dso-date-picker.cjs.entry.js.map +1 -1
  41. package/dist/cjs/dso-document-card.cjs.entry.js +2 -4
  42. package/dist/cjs/dso-document-card.cjs.entry.js.map +1 -1
  43. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +24 -10
  44. package/dist/cjs/dso-dropdown-menu.cjs.entry.js.map +1 -1
  45. package/dist/cjs/dso-header.cjs.entry.js +20 -16
  46. package/dist/cjs/dso-header.cjs.entry.js.map +1 -1
  47. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js +12 -10
  48. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js.map +1 -1
  49. package/dist/cjs/dso-highlight-box.cjs.entry.js +2 -7
  50. package/dist/cjs/dso-highlight-box.cjs.entry.js.map +1 -1
  51. package/dist/cjs/dso-icon.cjs.entry.js +8 -3
  52. package/dist/cjs/dso-icon.cjs.entry.js.map +1 -1
  53. package/dist/cjs/dso-info-button.cjs.entry.js +5 -4
  54. package/dist/cjs/dso-info-button.cjs.entry.js.map +1 -1
  55. package/dist/cjs/dso-info_2.cjs.entry.js +5 -19
  56. package/dist/cjs/dso-info_2.cjs.entry.js.map +1 -1
  57. package/dist/cjs/dso-input-range.cjs.entry.js +6 -9
  58. package/dist/cjs/dso-input-range.cjs.entry.js.map +1 -1
  59. package/dist/cjs/dso-label_2.cjs.entry.js +26 -21
  60. package/dist/cjs/dso-label_2.cjs.entry.js.map +1 -1
  61. package/dist/cjs/dso-legend-item.cjs.entry.js +6 -5
  62. package/dist/cjs/dso-legend-item.cjs.entry.js.map +1 -1
  63. package/dist/cjs/dso-list-button.cjs.entry.js +13 -65
  64. package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -1
  65. package/dist/cjs/dso-logo.cjs.entry.js +10 -7
  66. package/dist/cjs/dso-logo.cjs.entry.js.map +1 -1
  67. package/dist/cjs/dso-map-base-layers.cjs.entry.js +8 -6
  68. package/dist/cjs/dso-map-base-layers.cjs.entry.js.map +1 -1
  69. package/dist/cjs/dso-map-controls.cjs.entry.js +8 -6
  70. package/dist/cjs/dso-map-controls.cjs.entry.js.map +1 -1
  71. package/dist/cjs/dso-map-overlays.cjs.entry.js +8 -6
  72. package/dist/cjs/dso-map-overlays.cjs.entry.js.map +1 -1
  73. package/dist/cjs/dso-mark-bar.cjs.entry.js +6 -6
  74. package/dist/cjs/dso-mark-bar.cjs.entry.js.map +1 -1
  75. package/dist/cjs/dso-modal.cjs.entry.js +21 -8
  76. package/dist/cjs/dso-modal.cjs.entry.js.map +1 -1
  77. package/dist/cjs/dso-pagination.cjs.entry.js +4 -4
  78. package/dist/cjs/dso-pagination.cjs.entry.js.map +1 -1
  79. package/dist/cjs/dso-plekinfo-card.cjs.entry.js +5 -5
  80. package/dist/cjs/dso-plekinfo-card.cjs.entry.js.map +1 -1
  81. package/dist/cjs/dso-progress-bar.cjs.entry.js +8 -3
  82. package/dist/cjs/dso-progress-bar.cjs.entry.js.map +1 -1
  83. package/dist/cjs/dso-progress-indicator.cjs.entry.js +3 -6
  84. package/dist/cjs/dso-progress-indicator.cjs.entry.js.map +1 -1
  85. package/dist/cjs/dso-project-item.cjs.entry.js +2 -3
  86. package/dist/cjs/dso-project-item.cjs.entry.js.map +1 -1
  87. package/dist/cjs/dso-renvooi_2.cjs.entry.js +13 -8
  88. package/dist/cjs/dso-renvooi_2.cjs.entry.js.map +1 -1
  89. package/dist/cjs/dso-responsive-element.cjs.entry.js +4 -4
  90. package/dist/cjs/dso-responsive-element.cjs.entry.js.map +1 -1
  91. package/dist/cjs/dso-scrollable.cjs.entry.js +3 -3
  92. package/dist/cjs/dso-scrollable.cjs.entry.js.map +1 -1
  93. package/dist/cjs/dso-skiplink.cjs.entry.js +2 -4
  94. package/dist/cjs/dso-skiplink.cjs.entry.js.map +1 -1
  95. package/dist/cjs/dso-tab.cjs.entry.js +1 -4
  96. package/dist/cjs/dso-tab.cjs.entry.js.map +1 -1
  97. package/dist/cjs/dso-tabs.cjs.entry.js +2 -2
  98. package/dist/cjs/dso-toggletip.cjs.entry.js +11 -7
  99. package/dist/cjs/dso-toggletip.cjs.entry.js.map +1 -1
  100. package/dist/cjs/dso-toolkit.cjs.js +3 -3
  101. package/dist/cjs/dso-toolkit.cjs.js.map +1 -1
  102. package/dist/cjs/dso-tree-view.cjs.entry.js +2 -3
  103. package/dist/cjs/dso-tree-view.cjs.entry.js.map +1 -1
  104. package/dist/cjs/dso-viewer-grid.cjs.entry.js +39 -12
  105. package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -1
  106. package/dist/cjs/dsot-document-component-demo.cjs.entry.js +19 -13
  107. package/dist/cjs/dsot-document-component-demo.cjs.entry.js.map +1 -1
  108. package/dist/cjs/{focus-trap.esm-b5c60ce2.js → focus-trap.esm-14b4a31b.js} +68 -45
  109. package/dist/cjs/focus-trap.esm-14b4a31b.js.map +1 -0
  110. package/dist/cjs/{i18n-0da568ee.js → i18n-b5f9d73e.js} +22 -7
  111. package/dist/cjs/i18n-b5f9d73e.js.map +1 -0
  112. package/dist/cjs/{index-9c71ed34.js → index-52cc9a2a.js} +350 -267
  113. package/dist/cjs/index-52cc9a2a.js.map +1 -0
  114. package/dist/cjs/loader.cjs.js +2 -2
  115. package/dist/cjs/{v4-6fbeaa38.js → v4-2a8f5623.js} +8 -2
  116. package/dist/cjs/v4-2a8f5623.js.map +1 -0
  117. package/dist/collection/collection-manifest.json +1 -1
  118. package/dist/collection/components/accordion/accordion.js +12 -0
  119. package/dist/collection/components/accordion/accordion.js.map +1 -1
  120. package/dist/collection/components/accordion/components/accordion-section.js +37 -13
  121. package/dist/collection/components/accordion/components/accordion-section.js.map +1 -1
  122. package/dist/collection/components/action-list/action-list.js +2 -3
  123. package/dist/collection/components/action-list/action-list.js.map +1 -1
  124. package/dist/collection/components/action-list/components/action-list-item.js +19 -2
  125. package/dist/collection/components/action-list/components/action-list-item.js.map +1 -1
  126. package/dist/collection/components/advanced-select/advanced-select.js +15 -5
  127. package/dist/collection/components/advanced-select/advanced-select.js.map +1 -1
  128. package/dist/collection/components/alert/alert.css +31 -3
  129. package/dist/collection/components/alert/alert.i18n.js +2 -0
  130. package/dist/collection/components/alert/alert.i18n.js.map +1 -1
  131. package/dist/collection/components/alert/alert.interfaces.js +2 -0
  132. package/dist/collection/components/alert/alert.interfaces.js.map +1 -0
  133. package/dist/collection/components/alert/alert.js +55 -4
  134. package/dist/collection/components/alert/alert.js.map +1 -1
  135. package/dist/collection/components/annotation/annotation-activiteit/annotation-activiteit.js +16 -9
  136. package/dist/collection/components/annotation/annotation-activiteit/annotation-activiteit.js.map +1 -1
  137. package/dist/collection/components/annotation/annotation-gebiedsaanwijzing/annotation-gebiedsaanwijzing.js +9 -5
  138. package/dist/collection/components/annotation/annotation-gebiedsaanwijzing/annotation-gebiedsaanwijzing.js.map +1 -1
  139. package/dist/collection/components/annotation/annotation-kaart/annotation-kaart.js +7 -4
  140. package/dist/collection/components/annotation/annotation-kaart/annotation-kaart.js.map +1 -1
  141. package/dist/collection/components/annotation/annotation-locatie/annotation-locatie.js +9 -5
  142. package/dist/collection/components/annotation/annotation-locatie/annotation-locatie.js.map +1 -1
  143. package/dist/collection/components/annotation/annotation-omgevingsnormwaarde/annotation-omgevingsnormwaarde.js +16 -9
  144. package/dist/collection/components/annotation/annotation-omgevingsnormwaarde/annotation-omgevingsnormwaarde.js.map +1 -1
  145. package/dist/collection/components/attachments-counter/attachments-counter.js +3 -4
  146. package/dist/collection/components/attachments-counter/attachments-counter.js.map +1 -1
  147. package/dist/collection/components/autosuggest/autosuggest.js +43 -15
  148. package/dist/collection/components/autosuggest/autosuggest.js.map +1 -1
  149. package/dist/collection/components/badge/badge.js +3 -4
  150. package/dist/collection/components/badge/badge.js.map +1 -1
  151. package/dist/collection/components/banner/banner.js +16 -3
  152. package/dist/collection/components/banner/banner.js.map +1 -1
  153. package/dist/collection/components/card/card.js +8 -7
  154. package/dist/collection/components/card/card.js.map +1 -1
  155. package/dist/collection/components/card-container/card-container.js +6 -1
  156. package/dist/collection/components/card-container/card-container.js.map +1 -1
  157. package/dist/collection/components/date-picker/date-picker.js +42 -11
  158. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  159. package/dist/collection/components/date-picker-legacy/date-picker-legacy.js +68 -19
  160. package/dist/collection/components/date-picker-legacy/date-picker-legacy.js.map +1 -1
  161. package/dist/collection/components/document-card/document-card.js +5 -5
  162. package/dist/collection/components/document-card/document-card.js.map +1 -1
  163. package/dist/collection/components/document-component/document-component.js +90 -24
  164. package/dist/collection/components/document-component/document-component.js.map +1 -1
  165. package/dist/collection/components/document-component-demo/document-component.demo.js +26 -12
  166. package/dist/collection/components/document-component-demo/document-component.demo.js.map +1 -1
  167. package/dist/collection/components/dropdown-menu/dropdown-menu.js +36 -8
  168. package/dist/collection/components/dropdown-menu/dropdown-menu.js.map +1 -1
  169. package/dist/collection/components/expandable/expandable.js +9 -2
  170. package/dist/collection/components/expandable/expandable.js.map +1 -1
  171. package/dist/collection/components/header/header.js +40 -14
  172. package/dist/collection/components/header/header.js.map +1 -1
  173. package/dist/collection/components/helpcenter-panel/helpcenter-panel.js +14 -8
  174. package/dist/collection/components/helpcenter-panel/helpcenter-panel.js.map +1 -1
  175. package/dist/collection/components/highlight-box/highlight-box.js +11 -8
  176. package/dist/collection/components/highlight-box/highlight-box.js.map +1 -1
  177. package/dist/collection/components/icon/icon.js +5 -4
  178. package/dist/collection/components/icon/icon.js.map +1 -1
  179. package/dist/collection/components/image-overlay/image-overlay.js +4 -3
  180. package/dist/collection/components/image-overlay/image-overlay.js.map +1 -1
  181. package/dist/collection/components/info/info.js +5 -5
  182. package/dist/collection/components/info/info.js.map +1 -1
  183. package/dist/collection/components/info-button/info-button.js +10 -3
  184. package/dist/collection/components/info-button/info-button.js.map +1 -1
  185. package/dist/collection/components/input-range/input-range.js +19 -8
  186. package/dist/collection/components/input-range/input-range.js.map +1 -1
  187. package/dist/collection/components/label/label.js +11 -11
  188. package/dist/collection/components/label/label.js.map +1 -1
  189. package/dist/collection/components/legend-item/legend-item.js +11 -4
  190. package/dist/collection/components/legend-item/legend-item.js.map +1 -1
  191. package/dist/collection/components/list-button/list-button.css +1 -92
  192. package/dist/collection/components/list-button/list-button.js +28 -90
  193. package/dist/collection/components/list-button/list-button.js.map +1 -1
  194. package/dist/collection/components/logo/logo.js +19 -6
  195. package/dist/collection/components/logo/logo.js.map +1 -1
  196. package/dist/collection/components/map-base-layers/map-base-layers.js +10 -4
  197. package/dist/collection/components/map-base-layers/map-base-layers.js.map +1 -1
  198. package/dist/collection/components/map-controls/map-controls.js +10 -4
  199. package/dist/collection/components/map-controls/map-controls.js.map +1 -1
  200. package/dist/collection/components/map-overlays/map-overlays.js +10 -4
  201. package/dist/collection/components/map-overlays/map-overlays.js.map +1 -1
  202. package/dist/collection/components/mark-bar/mark-bar.js +13 -5
  203. package/dist/collection/components/mark-bar/mark-bar.js.map +1 -1
  204. package/dist/collection/components/modal/modal.js +28 -5
  205. package/dist/collection/components/modal/modal.js.map +1 -1
  206. package/dist/collection/components/ozon-content/ozon-content.js +13 -6
  207. package/dist/collection/components/ozon-content/ozon-content.js.map +1 -1
  208. package/dist/collection/components/pagination/pagination.js +9 -3
  209. package/dist/collection/components/pagination/pagination.js.map +1 -1
  210. package/dist/collection/components/panel/panel.js +2 -1
  211. package/dist/collection/components/panel/panel.js.map +1 -1
  212. package/dist/collection/components/plekinfo-card/plekinfo-card.js +12 -4
  213. package/dist/collection/components/plekinfo-card/plekinfo-card.js.map +1 -1
  214. package/dist/collection/components/progress-bar/progress-bar.js +13 -2
  215. package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
  216. package/dist/collection/components/progress-indicator/progress-indicator.js +7 -4
  217. package/dist/collection/components/progress-indicator/progress-indicator.js.map +1 -1
  218. package/dist/collection/components/project-item/project-item.js +3 -4
  219. package/dist/collection/components/project-item/project-item.js.map +1 -1
  220. package/dist/collection/components/renvooi/renvooi.js +3 -4
  221. package/dist/collection/components/renvooi/renvooi.js.map +1 -1
  222. package/dist/collection/components/responsive-element/responsive-element.js +3 -3
  223. package/dist/collection/components/responsive-element/responsive-element.js.map +1 -1
  224. package/dist/collection/components/scrollable/scrollable.js +2 -2
  225. package/dist/collection/components/scrollable/scrollable.js.map +1 -1
  226. package/dist/collection/components/selectable/selectable.js +27 -15
  227. package/dist/collection/components/selectable/selectable.js.map +1 -1
  228. package/dist/collection/components/skiplink/skiplink.js +5 -5
  229. package/dist/collection/components/skiplink/skiplink.js.map +1 -1
  230. package/dist/collection/components/slide-toggle/slide-toggle.js +20 -4
  231. package/dist/collection/components/slide-toggle/slide-toggle.js.map +1 -1
  232. package/dist/collection/components/table/table.js +11 -2
  233. package/dist/collection/components/table/table.js.map +1 -1
  234. package/dist/collection/components/tabs/components/tab.js +6 -3
  235. package/dist/collection/components/tabs/components/tab.js.map +1 -1
  236. package/dist/collection/components/tabs/tabs.js +1 -1
  237. package/dist/collection/components/toggletip/toggletip.js +18 -6
  238. package/dist/collection/components/toggletip/toggletip.js.map +1 -1
  239. package/dist/collection/components/tooltip/tooltip.js +36 -9
  240. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  241. package/dist/collection/components/tree-view/tree-view.js +4 -3
  242. package/dist/collection/components/tree-view/tree-view.js.map +1 -1
  243. package/dist/collection/components/viewer-grid/viewer-grid.js +56 -11
  244. package/dist/collection/components/viewer-grid/viewer-grid.js.map +1 -1
  245. package/dist/components/alert.js +12 -7
  246. package/dist/components/alert.js.map +1 -1
  247. package/dist/components/annotation-locatie.js +1 -5
  248. package/dist/components/annotation-locatie.js.map +1 -1
  249. package/dist/components/attachments-counter.js +1 -2
  250. package/dist/components/attachments-counter.js.map +1 -1
  251. package/dist/components/badge.js +1 -2
  252. package/dist/components/badge.js.map +1 -1
  253. package/dist/components/document-component.js +45 -23
  254. package/dist/components/document-component.js.map +1 -1
  255. package/dist/components/dropdown-menu.js +22 -8
  256. package/dist/components/dropdown-menu.js.map +1 -1
  257. package/dist/components/dso-accordion-section.js +13 -13
  258. package/dist/components/dso-accordion-section.js.map +1 -1
  259. package/dist/components/dso-accordion.js +8 -0
  260. package/dist/components/dso-accordion.js.map +1 -1
  261. package/dist/components/dso-action-list-item.js +9 -2
  262. package/dist/components/dso-action-list-item.js.map +1 -1
  263. package/dist/components/dso-action-list.js +0 -1
  264. package/dist/components/dso-action-list.js.map +1 -1
  265. package/dist/components/dso-advanced-select.js +8 -4
  266. package/dist/components/dso-advanced-select.js.map +1 -1
  267. package/dist/components/dso-annotation-activiteit.js +1 -8
  268. package/dist/components/dso-annotation-activiteit.js.map +1 -1
  269. package/dist/components/dso-annotation-gebiedsaanwijzing.js +1 -5
  270. package/dist/components/dso-annotation-gebiedsaanwijzing.js.map +1 -1
  271. package/dist/components/dso-annotation-kaart.js +1 -4
  272. package/dist/components/dso-annotation-kaart.js.map +1 -1
  273. package/dist/components/dso-annotation-omgevingsnormwaarde.js +1 -8
  274. package/dist/components/dso-annotation-omgevingsnormwaarde.js.map +1 -1
  275. package/dist/components/dso-autosuggest.js +28 -14
  276. package/dist/components/dso-autosuggest.js.map +1 -1
  277. package/dist/components/dso-banner.js +10 -3
  278. package/dist/components/dso-banner.js.map +1 -1
  279. package/dist/components/dso-card-container.js +4 -1
  280. package/dist/components/dso-card-container.js.map +1 -1
  281. package/dist/components/dso-card.js +2 -5
  282. package/dist/components/dso-card.js.map +1 -1
  283. package/dist/components/dso-date-picker-legacy.js +44 -19
  284. package/dist/components/dso-date-picker-legacy.js.map +1 -1
  285. package/dist/components/dso-date-picker.js +22 -11
  286. package/dist/components/dso-date-picker.js.map +1 -1
  287. package/dist/components/dso-document-card.js +1 -3
  288. package/dist/components/dso-document-card.js.map +1 -1
  289. package/dist/components/dso-header.js +18 -14
  290. package/dist/components/dso-header.js.map +1 -1
  291. package/dist/components/dso-helpcenter-panel.js +10 -8
  292. package/dist/components/dso-helpcenter-panel.js.map +1 -1
  293. package/dist/components/dso-highlight-box.js +1 -6
  294. package/dist/components/dso-highlight-box.js.map +1 -1
  295. package/dist/components/dso-input-range.js +5 -8
  296. package/dist/components/dso-input-range.js.map +1 -1
  297. package/dist/components/dso-legend-item.js +5 -4
  298. package/dist/components/dso-legend-item.js.map +1 -1
  299. package/dist/components/dso-list-button.js +14 -70
  300. package/dist/components/dso-list-button.js.map +1 -1
  301. package/dist/components/dso-logo.js +9 -6
  302. package/dist/components/dso-logo.js.map +1 -1
  303. package/dist/components/dso-map-base-layers.js +5 -3
  304. package/dist/components/dso-map-base-layers.js.map +1 -1
  305. package/dist/components/dso-map-controls.js +6 -4
  306. package/dist/components/dso-map-controls.js.map +1 -1
  307. package/dist/components/dso-map-overlays.js +5 -3
  308. package/dist/components/dso-map-overlays.js.map +1 -1
  309. package/dist/components/dso-mark-bar.js +5 -5
  310. package/dist/components/dso-mark-bar.js.map +1 -1
  311. package/dist/components/dso-modal.js +18 -5
  312. package/dist/components/dso-modal.js.map +1 -1
  313. package/dist/components/dso-pagination.js +3 -3
  314. package/dist/components/dso-pagination.js.map +1 -1
  315. package/dist/components/dso-plekinfo-card.js +4 -4
  316. package/dist/components/dso-plekinfo-card.js.map +1 -1
  317. package/dist/components/dso-progress-bar.js +7 -2
  318. package/dist/components/dso-progress-bar.js.map +1 -1
  319. package/dist/components/dso-project-item.js +1 -2
  320. package/dist/components/dso-project-item.js.map +1 -1
  321. package/dist/components/dso-skiplink.js +1 -3
  322. package/dist/components/dso-skiplink.js.map +1 -1
  323. package/dist/components/dso-tab.js +0 -3
  324. package/dist/components/dso-tab.js.map +1 -1
  325. package/dist/components/dso-tabs.js +1 -1
  326. package/dist/components/dso-tree-view.js +1 -2
  327. package/dist/components/dso-tree-view.js.map +1 -1
  328. package/dist/components/dso-viewer-grid.js +38 -11
  329. package/dist/components/dso-viewer-grid.js.map +1 -1
  330. package/dist/components/dsot-document-component-demo.js +18 -12
  331. package/dist/components/dsot-document-component-demo.js.map +1 -1
  332. package/dist/components/expandable.js +3 -2
  333. package/dist/components/expandable.js.map +1 -1
  334. package/dist/components/focus-trap.esm.js +68 -45
  335. package/dist/components/focus-trap.esm.js.map +1 -1
  336. package/dist/components/i18n.js +21 -6
  337. package/dist/components/i18n.js.map +1 -1
  338. package/dist/components/icon.js +7 -2
  339. package/dist/components/icon.js.map +1 -1
  340. package/dist/components/image-overlay.js +2 -3
  341. package/dist/components/image-overlay.js.map +1 -1
  342. package/dist/components/index.esm.js +1 -1
  343. package/dist/components/info-button.js +4 -3
  344. package/dist/components/info-button.js.map +1 -1
  345. package/dist/components/info.js +1 -3
  346. package/dist/components/info.js.map +1 -1
  347. package/dist/components/label.js +3 -11
  348. package/dist/components/label.js.map +1 -1
  349. package/dist/components/ozon-content.js +6 -5
  350. package/dist/components/ozon-content.js.map +1 -1
  351. package/dist/components/panel.js +0 -1
  352. package/dist/components/panel.js.map +1 -1
  353. package/dist/components/progress-indicator.js +1 -4
  354. package/dist/components/progress-indicator.js.map +1 -1
  355. package/dist/components/renvooi.js +1 -2
  356. package/dist/components/renvooi.js.map +1 -1
  357. package/dist/components/responsive-element.js +3 -3
  358. package/dist/components/responsive-element.js.map +1 -1
  359. package/dist/components/scrollable.js +2 -2
  360. package/dist/components/scrollable.js.map +1 -1
  361. package/dist/components/selectable.js +3 -15
  362. package/dist/components/selectable.js.map +1 -1
  363. package/dist/components/slide-toggle.js +10 -4
  364. package/dist/components/slide-toggle.js.map +1 -1
  365. package/dist/components/table.js +7 -2
  366. package/dist/components/table.js.map +1 -1
  367. package/dist/components/toggletip.js +10 -6
  368. package/dist/components/toggletip.js.map +1 -1
  369. package/dist/components/tooltip.js +22 -9
  370. package/dist/components/tooltip.js.map +1 -1
  371. package/dist/components/v4.js +7 -1
  372. package/dist/components/v4.js.map +1 -1
  373. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  374. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  375. package/dist/dso-toolkit/{p-4b21a36d.entry.js → p-00dc4ab0.entry.js} +2 -2
  376. package/dist/dso-toolkit/p-00dc4ab0.entry.js.map +1 -0
  377. package/dist/dso-toolkit/{p-671dc9e8.entry.js → p-08ddc940.entry.js} +2 -2
  378. package/dist/dso-toolkit/p-08ddc940.entry.js.map +1 -0
  379. package/dist/dso-toolkit/p-0ae73bbd.entry.js +2 -0
  380. package/dist/dso-toolkit/p-0ae73bbd.entry.js.map +1 -0
  381. package/dist/dso-toolkit/p-0b0559e6.entry.js +2 -0
  382. package/dist/dso-toolkit/{p-43365ccd.entry.js.map → p-0b0559e6.entry.js.map} +1 -1
  383. package/dist/dso-toolkit/{p-45c45f06.entry.js → p-120c16f3.entry.js} +2 -2
  384. package/dist/dso-toolkit/p-120c16f3.entry.js.map +1 -0
  385. package/dist/dso-toolkit/{p-c425fe06.entry.js → p-12d75d7e.entry.js} +2 -2
  386. package/dist/dso-toolkit/{p-c425fe06.entry.js.map → p-12d75d7e.entry.js.map} +1 -1
  387. package/dist/dso-toolkit/p-164c0a52.entry.js +2 -0
  388. package/dist/dso-toolkit/p-164c0a52.entry.js.map +1 -0
  389. package/dist/dso-toolkit/p-16f98bb4.entry.js +2 -0
  390. package/dist/dso-toolkit/p-16f98bb4.entry.js.map +1 -0
  391. package/dist/dso-toolkit/p-1db82eab.entry.js +2 -0
  392. package/dist/dso-toolkit/p-1db82eab.entry.js.map +1 -0
  393. package/dist/dso-toolkit/{p-a421fb7b.entry.js → p-1ff75ae7.entry.js} +2 -2
  394. package/dist/dso-toolkit/{p-a421fb7b.entry.js.map → p-1ff75ae7.entry.js.map} +1 -1
  395. package/dist/dso-toolkit/p-2185e445.entry.js +2 -0
  396. package/dist/dso-toolkit/p-2185e445.entry.js.map +1 -0
  397. package/dist/dso-toolkit/p-2fce414d.entry.js +2 -0
  398. package/dist/dso-toolkit/p-2fce414d.entry.js.map +1 -0
  399. package/dist/dso-toolkit/{p-289d338d.entry.js → p-34ae249e.entry.js} +2 -2
  400. package/dist/dso-toolkit/p-34ae249e.entry.js.map +1 -0
  401. package/dist/dso-toolkit/p-35cc2afa.entry.js +2 -0
  402. package/dist/dso-toolkit/p-35cc2afa.entry.js.map +1 -0
  403. package/dist/dso-toolkit/p-3efab733.entry.js +2 -0
  404. package/dist/dso-toolkit/p-3efab733.entry.js.map +1 -0
  405. package/dist/dso-toolkit/{p-6a319038.entry.js → p-42904e2f.entry.js} +2 -2
  406. package/dist/dso-toolkit/p-42904e2f.entry.js.map +1 -0
  407. package/dist/dso-toolkit/p-4798d219.js +3 -0
  408. package/dist/dso-toolkit/p-4798d219.js.map +1 -0
  409. package/dist/dso-toolkit/p-488aa456.entry.js +2 -0
  410. package/dist/dso-toolkit/p-488aa456.entry.js.map +1 -0
  411. package/dist/dso-toolkit/p-48b2280f.entry.js +2 -0
  412. package/dist/dso-toolkit/p-48b2280f.entry.js.map +1 -0
  413. package/dist/dso-toolkit/p-53cc8cd4.entry.js +2 -0
  414. package/dist/dso-toolkit/p-53cc8cd4.entry.js.map +1 -0
  415. package/dist/dso-toolkit/{p-f17bf401.entry.js → p-5a06d044.entry.js} +2 -2
  416. package/dist/dso-toolkit/p-5a06d044.entry.js.map +1 -0
  417. package/dist/dso-toolkit/p-694be48f.entry.js +2 -0
  418. package/dist/dso-toolkit/p-694be48f.entry.js.map +1 -0
  419. package/dist/dso-toolkit/{p-78b43f2d.entry.js → p-763e1f17.entry.js} +2 -2
  420. package/dist/dso-toolkit/p-763e1f17.entry.js.map +1 -0
  421. package/dist/dso-toolkit/p-764ce885.entry.js +2 -0
  422. package/dist/dso-toolkit/p-764ce885.entry.js.map +1 -0
  423. package/dist/dso-toolkit/p-770c5940.entry.js +2 -0
  424. package/dist/dso-toolkit/p-770c5940.entry.js.map +1 -0
  425. package/dist/dso-toolkit/p-77ebc549.entry.js +2 -0
  426. package/dist/dso-toolkit/p-77ebc549.entry.js.map +1 -0
  427. package/dist/dso-toolkit/p-7e930584.js +2 -0
  428. package/dist/dso-toolkit/p-7e930584.js.map +1 -0
  429. package/dist/dso-toolkit/p-7ed4eb26.entry.js +2 -0
  430. package/dist/dso-toolkit/{p-c688843d.entry.js.map → p-7ed4eb26.entry.js.map} +1 -1
  431. package/dist/dso-toolkit/p-802bac7e.entry.js +2 -0
  432. package/dist/dso-toolkit/p-802bac7e.entry.js.map +1 -0
  433. package/dist/dso-toolkit/p-82796232.js +2 -0
  434. package/dist/dso-toolkit/p-82796232.js.map +1 -0
  435. package/dist/dso-toolkit/{p-1dbcaeef.js → p-86133aa5.js} +2 -2
  436. package/dist/dso-toolkit/{p-65ed101b.entry.js → p-8c0abadc.entry.js} +2 -2
  437. package/dist/dso-toolkit/p-8c0abadc.entry.js.map +1 -0
  438. package/dist/dso-toolkit/p-8e8c3445.entry.js +2 -0
  439. package/dist/dso-toolkit/{p-ef108c9f.entry.js.map → p-8e8c3445.entry.js.map} +1 -1
  440. package/dist/dso-toolkit/p-8f44a71d.js +6 -0
  441. package/dist/dso-toolkit/p-8f44a71d.js.map +1 -0
  442. package/dist/dso-toolkit/{p-e7a14497.entry.js → p-90c790cf.entry.js} +2 -2
  443. package/dist/dso-toolkit/p-90c790cf.entry.js.map +1 -0
  444. package/dist/dso-toolkit/p-9835211f.entry.js +2 -0
  445. package/dist/dso-toolkit/p-9835211f.entry.js.map +1 -0
  446. package/dist/dso-toolkit/{p-51385dad.entry.js → p-a1fdcf6f.entry.js} +2 -2
  447. package/dist/dso-toolkit/p-a1fdcf6f.entry.js.map +1 -0
  448. package/dist/dso-toolkit/p-aa66d910.entry.js +2 -0
  449. package/dist/dso-toolkit/p-aa66d910.entry.js.map +1 -0
  450. package/dist/dso-toolkit/{p-583222e7.entry.js → p-acdbba92.entry.js} +2 -2
  451. package/dist/dso-toolkit/p-acdbba92.entry.js.map +1 -0
  452. package/dist/dso-toolkit/{p-977cc2f7.entry.js → p-ae2d657a.entry.js} +2 -2
  453. package/dist/dso-toolkit/p-ae2d657a.entry.js.map +1 -0
  454. package/dist/dso-toolkit/{p-8fce6b98.entry.js → p-b37acdc7.entry.js} +2 -2
  455. package/dist/dso-toolkit/p-b37acdc7.entry.js.map +1 -0
  456. package/dist/dso-toolkit/p-b66bd089.entry.js +2 -0
  457. package/dist/dso-toolkit/p-b66bd089.entry.js.map +1 -0
  458. package/dist/dso-toolkit/{p-c2f8f46c.entry.js → p-b7223b58.entry.js} +2 -2
  459. package/dist/dso-toolkit/p-b9063235.js +2 -0
  460. package/dist/dso-toolkit/p-b9a2793a.entry.js +2 -0
  461. package/dist/dso-toolkit/p-b9a2793a.entry.js.map +1 -0
  462. package/dist/dso-toolkit/p-bc5f2c50.entry.js +2 -0
  463. package/dist/dso-toolkit/p-bc5f2c50.entry.js.map +1 -0
  464. package/dist/dso-toolkit/p-be4bb602.entry.js +2 -0
  465. package/dist/dso-toolkit/p-be4bb602.entry.js.map +1 -0
  466. package/dist/dso-toolkit/{p-6ea8333e.entry.js → p-c318a28a.entry.js} +2 -2
  467. package/dist/dso-toolkit/p-c318a28a.entry.js.map +1 -0
  468. package/dist/dso-toolkit/{p-0c8a8830.entry.js → p-c68cd4d5.entry.js} +2 -2
  469. package/dist/dso-toolkit/p-c68cd4d5.entry.js.map +1 -0
  470. package/dist/dso-toolkit/{p-f02dcd60.entry.js → p-cb72480b.entry.js} +2 -2
  471. package/dist/dso-toolkit/{p-f02dcd60.entry.js.map → p-cb72480b.entry.js.map} +1 -1
  472. package/dist/dso-toolkit/p-d3eacf71.js +2 -0
  473. package/dist/dso-toolkit/p-d5357c6e.entry.js +2 -0
  474. package/dist/dso-toolkit/p-d5357c6e.entry.js.map +1 -0
  475. package/dist/dso-toolkit/{p-17795a3a.entry.js → p-d73b0a55.entry.js} +2 -2
  476. package/dist/dso-toolkit/p-d73b0a55.entry.js.map +1 -0
  477. package/dist/dso-toolkit/{p-19421acf.entry.js → p-df5ba83d.entry.js} +2 -2
  478. package/dist/dso-toolkit/{p-19421acf.entry.js.map → p-df5ba83d.entry.js.map} +1 -1
  479. package/dist/dso-toolkit/{p-4094d996.entry.js → p-e2f6ce9e.entry.js} +2 -2
  480. package/dist/dso-toolkit/p-e2f6ce9e.entry.js.map +1 -0
  481. package/dist/dso-toolkit/p-eedaa0ae.entry.js +2 -0
  482. package/dist/dso-toolkit/p-eedaa0ae.entry.js.map +1 -0
  483. package/dist/dso-toolkit/p-f2f4324c.entry.js +2 -0
  484. package/dist/dso-toolkit/p-f2f4324c.entry.js.map +1 -0
  485. package/dist/dso-toolkit/{p-fc225870.entry.js → p-f730ff77.entry.js} +2 -2
  486. package/dist/dso-toolkit/p-f730ff77.entry.js.map +1 -0
  487. package/dist/esm/{annotation-body-732ca768.js → annotation-body-90b88291.js} +2 -2
  488. package/dist/esm/{annotation-body-732ca768.js.map → annotation-body-90b88291.js.map} +1 -1
  489. package/dist/esm/{annotation-symbol-slot-568fe5cc.js → annotation-symbol-slot-8423ced1.js} +2 -2
  490. package/dist/esm/{annotation-symbol-slot-568fe5cc.js.map → annotation-symbol-slot-8423ced1.js.map} +1 -1
  491. package/dist/esm/dso-accordion-section.entry.js +14 -14
  492. package/dist/esm/dso-accordion-section.entry.js.map +1 -1
  493. package/dist/esm/dso-accordion.entry.js +9 -1
  494. package/dist/esm/dso-accordion.entry.js.map +1 -1
  495. package/dist/esm/dso-action-list-item.entry.js +10 -3
  496. package/dist/esm/dso-action-list-item.entry.js.map +1 -1
  497. package/dist/esm/dso-action-list.entry.js +1 -2
  498. package/dist/esm/dso-action-list.entry.js.map +1 -1
  499. package/dist/esm/dso-advanced-select.entry.js +11 -7
  500. package/dist/esm/dso-advanced-select.entry.js.map +1 -1
  501. package/dist/esm/dso-alert_6.entry.js +30 -23
  502. package/dist/esm/dso-alert_6.entry.js.map +1 -1
  503. package/dist/esm/dso-annotation-activiteit.entry.js +4 -11
  504. package/dist/esm/dso-annotation-activiteit.entry.js.map +1 -1
  505. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js +4 -8
  506. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js.map +1 -1
  507. package/dist/esm/dso-annotation-kaart.entry.js +3 -6
  508. package/dist/esm/dso-annotation-kaart.entry.js.map +1 -1
  509. package/dist/esm/dso-annotation-locatie_2.entry.js +49 -31
  510. package/dist/esm/dso-annotation-locatie_2.entry.js.map +1 -1
  511. package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js +4 -11
  512. package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js.map +1 -1
  513. package/dist/esm/dso-attachments-counter_2.entry.js +5 -5
  514. package/dist/esm/dso-attachments-counter_2.entry.js.map +1 -1
  515. package/dist/esm/dso-autosuggest.entry.js +31 -17
  516. package/dist/esm/dso-autosuggest.entry.js.map +1 -1
  517. package/dist/esm/dso-banner.entry.js +11 -4
  518. package/dist/esm/dso-banner.entry.js.map +1 -1
  519. package/dist/esm/dso-card-container.entry.js +5 -2
  520. package/dist/esm/dso-card-container.entry.js.map +1 -1
  521. package/dist/esm/dso-card.entry.js +3 -6
  522. package/dist/esm/dso-card.entry.js.map +1 -1
  523. package/dist/esm/dso-date-picker-legacy.entry.js +45 -20
  524. package/dist/esm/dso-date-picker-legacy.entry.js.map +1 -1
  525. package/dist/esm/dso-date-picker.entry.js +23 -12
  526. package/dist/esm/dso-date-picker.entry.js.map +1 -1
  527. package/dist/esm/dso-document-card.entry.js +2 -4
  528. package/dist/esm/dso-document-card.entry.js.map +1 -1
  529. package/dist/esm/dso-dropdown-menu.entry.js +25 -11
  530. package/dist/esm/dso-dropdown-menu.entry.js.map +1 -1
  531. package/dist/esm/dso-header.entry.js +20 -16
  532. package/dist/esm/dso-header.entry.js.map +1 -1
  533. package/dist/esm/dso-helpcenter-panel.entry.js +13 -11
  534. package/dist/esm/dso-helpcenter-panel.entry.js.map +1 -1
  535. package/dist/esm/dso-highlight-box.entry.js +2 -7
  536. package/dist/esm/dso-highlight-box.entry.js.map +1 -1
  537. package/dist/esm/dso-icon.entry.js +8 -3
  538. package/dist/esm/dso-icon.entry.js.map +1 -1
  539. package/dist/esm/dso-info-button.entry.js +5 -4
  540. package/dist/esm/dso-info-button.entry.js.map +1 -1
  541. package/dist/esm/dso-info_2.entry.js +5 -19
  542. package/dist/esm/dso-info_2.entry.js.map +1 -1
  543. package/dist/esm/dso-input-range.entry.js +6 -9
  544. package/dist/esm/dso-input-range.entry.js.map +1 -1
  545. package/dist/esm/dso-label_2.entry.js +26 -21
  546. package/dist/esm/dso-label_2.entry.js.map +1 -1
  547. package/dist/esm/dso-legend-item.entry.js +6 -5
  548. package/dist/esm/dso-legend-item.entry.js.map +1 -1
  549. package/dist/esm/dso-list-button.entry.js +13 -65
  550. package/dist/esm/dso-list-button.entry.js.map +1 -1
  551. package/dist/esm/dso-logo.entry.js +10 -7
  552. package/dist/esm/dso-logo.entry.js.map +1 -1
  553. package/dist/esm/dso-map-base-layers.entry.js +8 -6
  554. package/dist/esm/dso-map-base-layers.entry.js.map +1 -1
  555. package/dist/esm/dso-map-controls.entry.js +8 -6
  556. package/dist/esm/dso-map-controls.entry.js.map +1 -1
  557. package/dist/esm/dso-map-overlays.entry.js +8 -6
  558. package/dist/esm/dso-map-overlays.entry.js.map +1 -1
  559. package/dist/esm/dso-mark-bar.entry.js +6 -6
  560. package/dist/esm/dso-mark-bar.entry.js.map +1 -1
  561. package/dist/esm/dso-modal.entry.js +21 -8
  562. package/dist/esm/dso-modal.entry.js.map +1 -1
  563. package/dist/esm/dso-pagination.entry.js +4 -4
  564. package/dist/esm/dso-pagination.entry.js.map +1 -1
  565. package/dist/esm/dso-plekinfo-card.entry.js +5 -5
  566. package/dist/esm/dso-plekinfo-card.entry.js.map +1 -1
  567. package/dist/esm/dso-progress-bar.entry.js +8 -3
  568. package/dist/esm/dso-progress-bar.entry.js.map +1 -1
  569. package/dist/esm/dso-progress-indicator.entry.js +3 -6
  570. package/dist/esm/dso-progress-indicator.entry.js.map +1 -1
  571. package/dist/esm/dso-project-item.entry.js +2 -3
  572. package/dist/esm/dso-project-item.entry.js.map +1 -1
  573. package/dist/esm/dso-renvooi_2.entry.js +13 -8
  574. package/dist/esm/dso-renvooi_2.entry.js.map +1 -1
  575. package/dist/esm/dso-responsive-element.entry.js +4 -4
  576. package/dist/esm/dso-responsive-element.entry.js.map +1 -1
  577. package/dist/esm/dso-scrollable.entry.js +3 -3
  578. package/dist/esm/dso-scrollable.entry.js.map +1 -1
  579. package/dist/esm/dso-skiplink.entry.js +2 -4
  580. package/dist/esm/dso-skiplink.entry.js.map +1 -1
  581. package/dist/esm/dso-tab.entry.js +1 -4
  582. package/dist/esm/dso-tab.entry.js.map +1 -1
  583. package/dist/esm/dso-tabs.entry.js +2 -2
  584. package/dist/esm/dso-toggletip.entry.js +11 -7
  585. package/dist/esm/dso-toggletip.entry.js.map +1 -1
  586. package/dist/esm/dso-toolkit.js +4 -4
  587. package/dist/esm/dso-toolkit.js.map +1 -1
  588. package/dist/esm/dso-tree-view.entry.js +2 -3
  589. package/dist/esm/dso-tree-view.entry.js.map +1 -1
  590. package/dist/esm/dso-viewer-grid.entry.js +39 -12
  591. package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
  592. package/dist/esm/dsot-document-component-demo.entry.js +19 -13
  593. package/dist/esm/dsot-document-component-demo.entry.js.map +1 -1
  594. package/dist/esm/{focus-trap.esm-26a44fc9.js → focus-trap.esm-b5ae7e82.js} +69 -46
  595. package/dist/esm/focus-trap.esm-b5ae7e82.js.map +1 -0
  596. package/dist/esm/{i18n-43c79e8f.js → i18n-001de5be.js} +22 -7
  597. package/dist/esm/i18n-001de5be.js.map +1 -0
  598. package/dist/esm/{index-60b7c895.js → index-b281ec90.js} +350 -267
  599. package/dist/esm/index-b281ec90.js.map +1 -0
  600. package/dist/esm/{index.esm-7a561c35.js → index.esm-7e16e884.js} +2 -2
  601. package/dist/esm/{index.esm-7a561c35.js.map → index.esm-7e16e884.js.map} +1 -1
  602. package/dist/esm/loader.js +3 -3
  603. package/dist/esm/{v4-692dad5f.js → v4-c74494dc.js} +8 -2
  604. package/dist/esm/v4-c74494dc.js.map +1 -0
  605. package/dist/types/components/alert/alert.d.ts +10 -0
  606. package/dist/types/components/alert/alert.interfaces.d.ts +3 -0
  607. package/dist/types/components/list-button/list-button.d.ts +0 -15
  608. package/dist/types/components.d.ts +29 -8
  609. package/package.json +9 -9
  610. package/dist/cjs/focus-trap.esm-b5c60ce2.js.map +0 -1
  611. package/dist/cjs/i18n-0da568ee.js.map +0 -1
  612. package/dist/cjs/index-9c71ed34.js.map +0 -1
  613. package/dist/cjs/v4-6fbeaa38.js.map +0 -1
  614. package/dist/dso-toolkit/p-098ff158.entry.js +0 -2
  615. package/dist/dso-toolkit/p-098ff158.entry.js.map +0 -1
  616. package/dist/dso-toolkit/p-0baa02fe.entry.js +0 -2
  617. package/dist/dso-toolkit/p-0baa02fe.entry.js.map +0 -1
  618. package/dist/dso-toolkit/p-0bb48c73.entry.js +0 -2
  619. package/dist/dso-toolkit/p-0bb48c73.entry.js.map +0 -1
  620. package/dist/dso-toolkit/p-0c8a8830.entry.js.map +0 -1
  621. package/dist/dso-toolkit/p-17795a3a.entry.js.map +0 -1
  622. package/dist/dso-toolkit/p-1b0a9864.entry.js +0 -2
  623. package/dist/dso-toolkit/p-1b0a9864.entry.js.map +0 -1
  624. package/dist/dso-toolkit/p-1d087bc6.entry.js +0 -2
  625. package/dist/dso-toolkit/p-1d087bc6.entry.js.map +0 -1
  626. package/dist/dso-toolkit/p-20b90390.entry.js +0 -2
  627. package/dist/dso-toolkit/p-20b90390.entry.js.map +0 -1
  628. package/dist/dso-toolkit/p-22af5661.entry.js +0 -2
  629. package/dist/dso-toolkit/p-22af5661.entry.js.map +0 -1
  630. package/dist/dso-toolkit/p-264f31ed.entry.js +0 -2
  631. package/dist/dso-toolkit/p-264f31ed.entry.js.map +0 -1
  632. package/dist/dso-toolkit/p-28182fdb.entry.js +0 -2
  633. package/dist/dso-toolkit/p-28182fdb.entry.js.map +0 -1
  634. package/dist/dso-toolkit/p-289d338d.entry.js.map +0 -1
  635. package/dist/dso-toolkit/p-29ab9e47.entry.js +0 -2
  636. package/dist/dso-toolkit/p-29ab9e47.entry.js.map +0 -1
  637. package/dist/dso-toolkit/p-2f25bf04.entry.js +0 -2
  638. package/dist/dso-toolkit/p-2f25bf04.entry.js.map +0 -1
  639. package/dist/dso-toolkit/p-3b3ee91d.entry.js +0 -2
  640. package/dist/dso-toolkit/p-3b3ee91d.entry.js.map +0 -1
  641. package/dist/dso-toolkit/p-4094d996.entry.js.map +0 -1
  642. package/dist/dso-toolkit/p-43365ccd.entry.js +0 -2
  643. package/dist/dso-toolkit/p-45c45f06.entry.js.map +0 -1
  644. package/dist/dso-toolkit/p-4b21a36d.entry.js.map +0 -1
  645. package/dist/dso-toolkit/p-51385dad.entry.js.map +0 -1
  646. package/dist/dso-toolkit/p-53096a64.js +0 -3
  647. package/dist/dso-toolkit/p-53096a64.js.map +0 -1
  648. package/dist/dso-toolkit/p-559d80cb.js +0 -2
  649. package/dist/dso-toolkit/p-583222e7.entry.js.map +0 -1
  650. package/dist/dso-toolkit/p-65ed101b.entry.js.map +0 -1
  651. package/dist/dso-toolkit/p-671dc9e8.entry.js.map +0 -1
  652. package/dist/dso-toolkit/p-6a319038.entry.js.map +0 -1
  653. package/dist/dso-toolkit/p-6ea8333e.entry.js.map +0 -1
  654. package/dist/dso-toolkit/p-75b53abf.entry.js +0 -2
  655. package/dist/dso-toolkit/p-75b53abf.entry.js.map +0 -1
  656. package/dist/dso-toolkit/p-78b43f2d.entry.js.map +0 -1
  657. package/dist/dso-toolkit/p-8383d346.entry.js +0 -2
  658. package/dist/dso-toolkit/p-8383d346.entry.js.map +0 -1
  659. package/dist/dso-toolkit/p-88411ea2.entry.js +0 -2
  660. package/dist/dso-toolkit/p-88411ea2.entry.js.map +0 -1
  661. package/dist/dso-toolkit/p-8b0b2029.entry.js +0 -2
  662. package/dist/dso-toolkit/p-8b0b2029.entry.js.map +0 -1
  663. package/dist/dso-toolkit/p-8f1a91bc.entry.js +0 -2
  664. package/dist/dso-toolkit/p-8f1a91bc.entry.js.map +0 -1
  665. package/dist/dso-toolkit/p-8fce6b98.entry.js.map +0 -1
  666. package/dist/dso-toolkit/p-93d7574c.js +0 -2
  667. package/dist/dso-toolkit/p-971e3998.entry.js +0 -2
  668. package/dist/dso-toolkit/p-971e3998.entry.js.map +0 -1
  669. package/dist/dso-toolkit/p-977cc2f7.entry.js.map +0 -1
  670. package/dist/dso-toolkit/p-98899b90.entry.js +0 -2
  671. package/dist/dso-toolkit/p-98899b90.entry.js.map +0 -1
  672. package/dist/dso-toolkit/p-b2899bee.entry.js +0 -2
  673. package/dist/dso-toolkit/p-b2899bee.entry.js.map +0 -1
  674. package/dist/dso-toolkit/p-c67a3896.entry.js +0 -2
  675. package/dist/dso-toolkit/p-c67a3896.entry.js.map +0 -1
  676. package/dist/dso-toolkit/p-c688843d.entry.js +0 -2
  677. package/dist/dso-toolkit/p-c9b922b2.entry.js +0 -2
  678. package/dist/dso-toolkit/p-c9b922b2.entry.js.map +0 -1
  679. package/dist/dso-toolkit/p-de463284.entry.js +0 -2
  680. package/dist/dso-toolkit/p-de463284.entry.js.map +0 -1
  681. package/dist/dso-toolkit/p-e7a14497.entry.js.map +0 -1
  682. package/dist/dso-toolkit/p-e8ea7939.entry.js +0 -2
  683. package/dist/dso-toolkit/p-e8ea7939.entry.js.map +0 -1
  684. package/dist/dso-toolkit/p-ef108c9f.entry.js +0 -2
  685. package/dist/dso-toolkit/p-f17bf401.entry.js.map +0 -1
  686. package/dist/dso-toolkit/p-f26ade44.entry.js +0 -2
  687. package/dist/dso-toolkit/p-f26ade44.entry.js.map +0 -1
  688. package/dist/dso-toolkit/p-f279a706.js +0 -2
  689. package/dist/dso-toolkit/p-f279a706.js.map +0 -1
  690. package/dist/dso-toolkit/p-f31285ef.js +0 -6
  691. package/dist/dso-toolkit/p-f31285ef.js.map +0 -1
  692. package/dist/dso-toolkit/p-fc225870.entry.js.map +0 -1
  693. package/dist/dso-toolkit/p-ffb34aa5.js +0 -2
  694. package/dist/dso-toolkit/p-ffb34aa5.js.map +0 -1
  695. package/dist/esm/focus-trap.esm-26a44fc9.js.map +0 -1
  696. package/dist/esm/i18n-43c79e8f.js.map +0 -1
  697. package/dist/esm/index-60b7c895.js.map +0 -1
  698. package/dist/esm/v4-692dad5f.js.map +0 -1
  699. /package/dist/dso-toolkit/{p-1dbcaeef.js.map → p-86133aa5.js.map} +0 -0
  700. /package/dist/dso-toolkit/{p-c2f8f46c.entry.js.map → p-b7223b58.entry.js.map} +0 -0
  701. /package/dist/dso-toolkit/{p-559d80cb.js.map → p-b9063235.js.map} +0 -0
  702. /package/dist/dso-toolkit/{p-93d7574c.js.map → p-d3eacf71.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["escapeStringRegexp","string","TypeError","replace","translations","en","notFound","nl","autosuggestCss","DsoAutosuggestStyle0","maxSuggestionsViewable","listboxPaddingBlock","listboxBorderWidth","Autosuggest","this","listboxItems","listboxId","v4","inputId","labelId","resizeObserver","ResizeObserver","debounce","setListboxContainerMaxBlockSize","debouncedEmitValue","value","dsoChange","emit","debouncedShowLoading","inputValue","showLoading","loadingDelayed","onInput","event","target","HTMLInputElement","match","onFocusIn","suggestOnFocus","openSuggestions","text","i18n","host","onWindowResize","onScrollend","onKeyDown","defaultPrevented","loading","key","showSuggestions","selectNextSuggestion","selectPreviousSuggestion","closeSuggestions","pickSelectedValue","preventDefault","suggestionsWatcher","resetSelectedSuggestion","onDocumentClick","listbox","Node","contains","input","componentDidRender","connectedCallback","setTimeout","querySelector","id","labels","length","label","setAttribute","addEventListener","window","document","observe","disconnectedCallback","_a","removeEventListener","_b","_c","disconnect","listboxContainer","listItemBlockSize","getBoundingClientRect","height","availableBlockSize","innerHeight","bottom","listboxMaxBlockSize","listboxContainerMaxBlockSize","showInputValueNotFound","processAutosuggestMarkItems","markTerms","split","filter","t","handleMark","suggestion","type","extraIndex","mark","terms","suggestionValue","undefined","termRegex","RegExp","reduce","total","valuePart","push","test","slice","items","map","item","h","selectSuggestion","selectedSuggestion","setAriaActiveDescendant","selectFirstSuggestion","suggestions","selectLastSuggestion","index","indexOf","scroll","listboxItemId","getElementById","scrollIntoView","block","_d","toString","dsoSelect","dsoSearch","getChunkedExtras","extras","resultArray","extra","chunkIndex","Math","floor","render","showListbox","removeAttribute","Fragment","class","loadingLabel","ref","element","style","role","tabindex","onMouseEnter","onMouseLeave","onClick","li","chunk","c","i","notFoundLabel"],"sources":["../../node_modules/escape-string-regexp/index.js","src/components/autosuggest/autosuggest.i18n.ts","src/components/autosuggest/autosuggest.scss?tag=dso-autosuggest&encapsulation=scoped","src/components/autosuggest/autosuggest.tsx"],"sourcesContent":["export default function escapeStringRegexp(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n}\n","import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-autosuggest\": {\r\n notFound: \"{{inputValue}} was not found.\",\r\n },\r\n },\r\n nl: {\r\n \"dso-autosuggest\": {\r\n notFound: \"{{inputValue}} is niet gevonden.\",\r\n },\r\n },\r\n};\r\n","@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/scaffolding\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n\r\n@use \"autosuggest.variables\" as core-autosuggest-variables;\r\n\r\n:host {\r\n display: block;\r\n position: relative;\r\n}\r\n\r\n.listbox-container {\r\n inset-inline: 0;\r\n inset-block-start: 100%;\r\n block-size: auto;\r\n max-block-size: var(--max-block-size);\r\n min-block-size: core-autosuggest-variables.$listbox-min-block-size;\r\n overflow-y: auto;\r\n position: absolute;\r\n z-index: zindex.$autosuggest;\r\n}\r\n\r\nul,\r\n.autosuggest-progress-box {\r\n background-clip: padding-box;\r\n background-color: core-autosuggest-variables.$background-color;\r\n border: core-autosuggest-variables.$listbox-border-width solid core-autosuggest-variables.$border-color;\r\n border-radius: scaffolding.$border-radius-base;\r\n box-shadow: core-autosuggest-variables.$box-shadow;\r\n list-style-type: none;\r\n margin-block: 0;\r\n}\r\n\r\n.autosuggest-progress-box {\r\n padding-block: units.$u1 * 1.5;\r\n padding-inline: units.$u1;\r\n}\r\n\r\nul {\r\n padding-block: core-autosuggest-variables.$listbox-padding-block;\r\n padding-inline: 0;\r\n\r\n li {\r\n padding-block: core-autosuggest-variables.$list-item-padding-block;\r\n padding-inline: units.$u2;\r\n\r\n .suggestion-row {\r\n display: flex;\r\n justify-content: space-between;\r\n }\r\n }\r\n}\r\n\r\nli[aria-selected=\"true\"] {\r\n cursor: pointer;\r\n background-color: colors.$grasgroen;\r\n\r\n &,\r\n .type,\r\n .extra {\r\n color: colors.$wit;\r\n }\r\n}\r\n\r\nmark {\r\n font-weight: 700;\r\n background-color: inherit;\r\n color: inherit;\r\n padding: 0;\r\n}\r\n\r\n.type,\r\n.extra {\r\n color: colors.$grijs-60;\r\n}\r\n\r\n.type {\r\n text-align: end;\r\n}\r\n\r\n.extra {\r\n font-size: typography.$root-font-size-small;\r\n line-height: typography.$root-font-size-small * typography.$line-height-base;\r\n\r\n &:not(:first-child) {\r\n text-align: end;\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, Fragment, h, Listen, Prop, State, VNode, Watch } from \"@stencil/core\";\r\n\r\nimport debounce from \"debounce\";\r\nimport escapeStringRegexp from \"escape-string-regexp\";\r\n\r\nimport { v4 } from \"uuid\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\n\r\nimport { AutosuggestMarkFunction, AutosuggestMarkItem, Suggestion } from \"./autosuggest.interfaces\";\r\nimport { translations } from \"./autosuggest.i18n\";\r\n\r\nconst maxSuggestionsViewable = 10;\r\nconst listboxPaddingBlock = 8;\r\nconst listboxBorderWidth = 1;\r\n\r\n@Component({\r\n tag: \"dso-autosuggest\",\r\n styleUrl: \"autosuggest.scss\",\r\n scoped: true,\r\n})\r\nexport class Autosuggest {\r\n /**\r\n * The suggestions for the value of the slotted input element. Optionally a\r\n * Suggestion can have a `type` and `item`.\r\n *\r\n * The `type` is used to style the suggestion. `item` can be use to reference\r\n * the original object that was used to create the suggestion.\r\n *\r\n * The value should be null when no suggestions have been fetched.\r\n */\r\n @Prop()\r\n readonly suggestions: Suggestion[] | null = null;\r\n\r\n /**\r\n * Shows progress indicator when fetching results.\r\n */\r\n @Prop()\r\n loading = false;\r\n\r\n /**\r\n * To override progress indicator's default loading label.\r\n */\r\n @Prop()\r\n loadingLabel?: string = \"Een moment geduld.\";\r\n\r\n /**\r\n * To delay progress indicator showing (in ms).\r\n */\r\n @Prop()\r\n loadingDelayed?: number;\r\n\r\n /**\r\n * To show text when no results are found.\r\n */\r\n @Prop()\r\n notFoundLabel?: string;\r\n\r\n /**\r\n * Whether the previous suggestions will be presented when the input gets focus again.\r\n */\r\n @Prop()\r\n suggestOnFocus = false;\r\n\r\n /**\r\n * A function provided by the consumer of the autosuggest component, that returns an array of `AutosuggestMarkItem`s\r\n */\r\n @Prop()\r\n mark?: AutosuggestMarkFunction;\r\n\r\n /**\r\n * Emitted when a suggestion is selected.\r\n * The `detail` property of the `CustomEvent` will contain the selected suggestion.\r\n */\r\n @Event()\r\n dsoSelect!: EventEmitter<Suggestion>;\r\n\r\n /**\r\n * This is emitted debounced for every change for the slotted input type=text element.\r\n */\r\n @Event()\r\n dsoChange!: EventEmitter<string>;\r\n\r\n /**\r\n * Emitted when enter is pressed.\r\n * The `detail` property of the `CustomEvent` will contain the input text.\r\n */\r\n @Event()\r\n dsoSearch!: EventEmitter<string>;\r\n\r\n @Element()\r\n host!: HTMLDsoAutosuggestElement;\r\n\r\n @State()\r\n showSuggestions = false;\r\n\r\n @State()\r\n selectedSuggestion: Suggestion | undefined;\r\n\r\n @State()\r\n notFound = false;\r\n\r\n @State()\r\n showLoading = false;\r\n\r\n @State()\r\n listItemBlockSize = 0;\r\n\r\n @State()\r\n listboxContainerMaxBlockSize = 0;\r\n\r\n @Watch(\"suggestions\")\r\n suggestionsWatcher() {\r\n this.resetSelectedSuggestion();\r\n\r\n if ((!this.showSuggestions || !this.notFound) && this.inputValue) {\r\n this.openSuggestions();\r\n } else if ((this.showSuggestions || this.notFound) && !this.inputValue) {\r\n this.closeSuggestions();\r\n }\r\n }\r\n\r\n private input?: HTMLInputElement;\r\n\r\n private listboxContainer: HTMLDsoScrollableElement | undefined;\r\n\r\n private listbox: HTMLUListElement | undefined;\r\n\r\n private listboxItems: HTMLLIElement[] = [];\r\n\r\n private listboxId: string = v4();\r\n\r\n private inputId: string = v4();\r\n\r\n private labelId: string = v4();\r\n\r\n private resizeObserver = new ResizeObserver(debounce(() => this.setListboxContainerMaxBlockSize(), 150));\r\n\r\n private debouncedEmitValue = debounce((value: string) => {\r\n this.dsoChange.emit(value);\r\n this.debouncedShowLoading();\r\n }, 200);\r\n\r\n private debouncedShowLoading = debounce(() => {\r\n if (this.inputValue) {\r\n this.showLoading = true;\r\n }\r\n }, this.loadingDelayed);\r\n\r\n private inputValue = \"\";\r\n\r\n private onInput = (event: Event) => {\r\n if (!(event.target instanceof HTMLInputElement)) {\r\n return;\r\n // throw new Error(\"event.target is not instanceof HTMLInputElement\"); #2293\r\n }\r\n\r\n this.showLoading = !this.loadingDelayed;\r\n this.inputValue = event.target.value;\r\n this.debouncedEmitValue(event.target.value.match(/(\\S+)/g) ? event.target.value : \"\");\r\n };\r\n\r\n private onFocusIn = () => {\r\n if (this.suggestOnFocus) {\r\n this.openSuggestions();\r\n }\r\n };\r\n\r\n @Listen(\"click\", { target: \"document\" })\r\n onDocumentClick(event: MouseEvent) {\r\n if (\r\n (this.showSuggestions || this.notFound) &&\r\n this.listbox &&\r\n event.target instanceof Node &&\r\n !this.listbox.contains(event.target) &&\r\n this.input !== event.target\r\n ) {\r\n this.closeSuggestions();\r\n }\r\n }\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n componentDidRender() {\r\n this.setListboxContainerMaxBlockSize();\r\n }\r\n\r\n connectedCallback() {\r\n setTimeout(() => {\r\n const input = this.host.querySelector('input[type=\"text\"]');\r\n if (!(input instanceof HTMLInputElement)) {\r\n return;\r\n // throw new ReferenceError(\"Mandatory text input not found\"); #2293\r\n }\r\n\r\n this.input = input;\r\n if (input.id) {\r\n this.inputId = input.id;\r\n } else {\r\n input.id = this.inputId;\r\n }\r\n\r\n if (!this.input.labels || this.input.labels.length < 1) {\r\n return;\r\n // throw new ReferenceError(\"Mandatory label for text input not found\"); #2293\r\n }\r\n\r\n const label = this.input.labels[0];\r\n if (label?.id) {\r\n this.labelId = label.id;\r\n } else if (label) {\r\n label.id = this.labelId;\r\n }\r\n\r\n this.input.setAttribute(\"role\", \"combobox\");\r\n this.input.setAttribute(\"aria-haspopup\", \"listbox\");\r\n this.input.setAttribute(\"aria-expanded\", \"false\");\r\n this.input.setAttribute(\"autocomplete\", \"off\");\r\n this.input.setAttribute(\"aria-autocomplete\", \"list\");\r\n this.input.setAttribute(\"aria-activedescendant\", \"\");\r\n this.input.addEventListener(\"input\", this.onInput);\r\n this.input.addEventListener(\"keydown\", this.onKeyDown);\r\n this.input.addEventListener(\"focusin\", this.onFocusIn);\r\n\r\n window.addEventListener(\"resize\", this.onWindowResize);\r\n\r\n document.addEventListener(\"scrollend\", this.onScrollend);\r\n\r\n this.resizeObserver.observe(this.host);\r\n\r\n this.setListboxContainerMaxBlockSize();\r\n });\r\n }\r\n\r\n disconnectedCallback() {\r\n this.input?.removeEventListener(\"input\", this.onInput);\r\n this.input?.removeEventListener(\"keydown\", this.onKeyDown);\r\n this.input?.removeEventListener(\"focusin\", this.onFocusIn);\r\n\r\n window.removeEventListener(\"resize\", this.onWindowResize);\r\n\r\n document.removeEventListener(\"scrollend\", this.onScrollend);\r\n\r\n this.resizeObserver.disconnect();\r\n }\r\n\r\n private onWindowResize = debounce(() => this.setListboxContainerMaxBlockSize(), 150);\r\n\r\n private onScrollend = () => this.setListboxContainerMaxBlockSize();\r\n\r\n private setListboxContainerMaxBlockSize(): void {\r\n if (!this.listboxContainer || !this.showSuggestions) {\r\n return;\r\n }\r\n\r\n if (this.listboxItems[0] && this.showSuggestions) {\r\n this.listItemBlockSize = this.listboxItems[0].getBoundingClientRect().height;\r\n }\r\n\r\n const availableBlockSize = window.innerHeight - this.host.getBoundingClientRect().bottom;\r\n const listboxMaxBlockSize =\r\n this.listItemBlockSize * maxSuggestionsViewable + 2 * listboxPaddingBlock + 2 * listboxBorderWidth;\r\n\r\n if (availableBlockSize > this.listItemBlockSize) {\r\n if (availableBlockSize < listboxMaxBlockSize) {\r\n this.listboxContainerMaxBlockSize = availableBlockSize - 2 * listboxPaddingBlock;\r\n } else {\r\n this.listboxContainerMaxBlockSize = listboxMaxBlockSize;\r\n }\r\n }\r\n }\r\n\r\n private showInputValueNotFound(text?: string) {\r\n return this.processAutosuggestMarkItems(this.markTerms(this.input?.value.split(\" \").filter((t) => t) ?? [], text));\r\n }\r\n\r\n private handleMark(\r\n suggestion: Suggestion,\r\n text: string,\r\n type?: \"value\" | \"type\" | \"extra\",\r\n extraIndex?: number,\r\n ): (VNode | string)[] {\r\n if (this.mark && type) {\r\n return this.processAutosuggestMarkItems(this.mark(suggestion, text, type, extraIndex));\r\n }\r\n return this.processAutosuggestMarkItems(this.markTerms(this.input?.value.split(\" \").filter((t) => t) ?? [], text));\r\n }\r\n\r\n private markTerms(terms: string[], suggestionValue?: string): AutosuggestMarkItem[] {\r\n if (!suggestionValue || !terms || terms.length === 0 || terms[0] === undefined) {\r\n return [\"\"];\r\n }\r\n\r\n const termRegex = new RegExp(`(${escapeStringRegexp(terms[0])})`, \"gi\");\r\n\r\n return suggestionValue.split(termRegex).reduce((total: AutosuggestMarkItem[], valuePart: string) => {\r\n if (!valuePart) {\r\n total.push(valuePart);\r\n } else if (termRegex.test(valuePart)) {\r\n total.push({ mark: valuePart });\r\n } else if (terms.length === 1) {\r\n total.push(valuePart);\r\n } else {\r\n total.push(...this.markTerms(terms.slice(1), valuePart));\r\n }\r\n\r\n return total;\r\n }, []);\r\n }\r\n\r\n private processAutosuggestMarkItems(items: AutosuggestMarkItem[]): (VNode | string)[] {\r\n if (items.length === 0) {\r\n return [\"\"];\r\n }\r\n\r\n return items.map((item) => {\r\n if (typeof item === \"object\") {\r\n return <mark>{item.mark}</mark>;\r\n }\r\n return item;\r\n });\r\n }\r\n\r\n private selectSuggestion(suggestion: Suggestion) {\r\n this.selectedSuggestion = suggestion;\r\n\r\n this.setAriaActiveDescendant();\r\n }\r\n\r\n private selectFirstSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n this.selectedSuggestion = this.suggestions[0];\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectLastSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n this.selectedSuggestion = this.suggestions[this.suggestions.length - 1];\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectNextSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : -1;\r\n\r\n this.selectedSuggestion = this.suggestions[index + 1] ?? this.suggestions[0];\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectPreviousSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : 0;\r\n\r\n this.selectedSuggestion = this.suggestions[index - 1] ?? this.suggestions[this.suggestions.length - 1];\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private setAriaActiveDescendant(scroll = false): void {\r\n if (this.selectedSuggestion) {\r\n const id = this.listboxItemId(this.selectedSuggestion);\r\n this.input?.setAttribute(\"aria-activedescendant\", id);\r\n if (scroll) {\r\n document.getElementById(id)?.scrollIntoView({ block: \"nearest\" });\r\n }\r\n }\r\n }\r\n\r\n private resetSelectedSuggestion() {\r\n this.showLoading = !this.loadingDelayed;\r\n this.notFound = false;\r\n this.selectedSuggestion = undefined;\r\n this.input?.setAttribute(\"aria-activedescendant\", \"\");\r\n }\r\n\r\n private openSuggestions(selectSuggestion?: \"first\" | \"last\") {\r\n this.showSuggestions = (this.suggestions && this.suggestions.length > 0) ?? false;\r\n this.notFound = (this.suggestions && this.suggestions?.length === 0) ?? false;\r\n this.input?.setAttribute(\"aria-expanded\", (this.showSuggestions || this.notFound).toString());\r\n\r\n if (this.showSuggestions && selectSuggestion === \"first\") {\r\n this.selectFirstSuggestion();\r\n } else if (this.showSuggestions && selectSuggestion === \"last\") {\r\n this.selectLastSuggestion();\r\n }\r\n }\r\n\r\n private closeSuggestions() {\r\n this.showSuggestions = false;\r\n this.notFound = false;\r\n this.input?.setAttribute(\"aria-expanded\", \"false\");\r\n this.selectFirstSuggestion();\r\n }\r\n\r\n private pickSelectedValue() {\r\n if (this.selectedSuggestion && this.showSuggestions) {\r\n this.dsoSelect.emit(this.selectedSuggestion);\r\n } else {\r\n this.dsoSearch.emit(this.input?.value);\r\n }\r\n\r\n this.closeSuggestions();\r\n }\r\n\r\n private onKeyDown = (event: KeyboardEvent) => {\r\n if (event.defaultPrevented || this.loading) {\r\n return;\r\n }\r\n\r\n switch (event.key) {\r\n case \"ArrowDown\":\r\n if (!this.showSuggestions) {\r\n this.openSuggestions(\"first\");\r\n } else {\r\n this.selectNextSuggestion();\r\n }\r\n\r\n break;\r\n\r\n case \"ArrowUp\":\r\n if (!this.showSuggestions) {\r\n this.openSuggestions(\"last\");\r\n } else {\r\n this.selectPreviousSuggestion();\r\n }\r\n\r\n break;\r\n\r\n case \"Tab\":\r\n this.closeSuggestions();\r\n return;\r\n\r\n case \"Escape\":\r\n this.closeSuggestions();\r\n break;\r\n\r\n case \"Enter\":\r\n this.pickSelectedValue();\r\n break;\r\n\r\n default:\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n };\r\n\r\n private listboxItemId(suggestion: Suggestion): string {\r\n if (!this.suggestions) {\r\n return \"\";\r\n }\r\n return `${this.inputId}-${this.suggestions.indexOf(suggestion) + 1}`;\r\n }\r\n\r\n private getChunkedExtras(extras: string[]): string[][] {\r\n return extras.reduce((resultArray: string[][], extra, index) => {\r\n const chunkIndex = Math.floor(index / 2);\r\n\r\n if (!resultArray[chunkIndex]) {\r\n resultArray[chunkIndex] = [];\r\n }\r\n resultArray[chunkIndex]?.push(extra);\r\n return resultArray;\r\n }, []);\r\n }\r\n\r\n render() {\r\n this.listboxItems = [];\r\n\r\n const showListbox = this.showSuggestions || this.notFound;\r\n\r\n if (showListbox && this.input) {\r\n this.input.setAttribute(\"aria-controls\", this.listboxId);\r\n } else if (this.input) {\r\n this.input.removeAttribute(\"aria-controls\");\r\n }\r\n\r\n return (\r\n <>\r\n <slot />\r\n {this.loading && this.showLoading ? (\r\n <div class=\"autosuggest-progress-box\">\r\n <dso-progress-indicator label={this.loadingLabel}></dso-progress-indicator>\r\n </div>\r\n ) : (\r\n showListbox && (\r\n <dso-scrollable\r\n class=\"listbox-container\"\r\n ref={(element) => (this.listboxContainer = element)}\r\n style={{ \"--max-block-size\": `${this.listboxContainerMaxBlockSize}px` }}\r\n >\r\n <ul\r\n role=\"listbox\"\r\n aria-live=\"polite\"\r\n id={this.listboxId}\r\n aria-labelledby={this.labelId}\r\n ref={(element) => (this.listbox = element)}\r\n tabindex=\"0\"\r\n >\r\n {(this.showSuggestions &&\r\n this.suggestions &&\r\n this.suggestions.map((suggestion) => (\r\n <li\r\n role=\"option\"\r\n id={this.listboxItemId(suggestion)}\r\n key={suggestion.value}\r\n onMouseEnter={() => this.selectSuggestion(suggestion)}\r\n onMouseLeave={() => this.resetSelectedSuggestion()}\r\n onClick={() => this.pickSelectedValue()}\r\n aria-selected={(suggestion === this.selectedSuggestion).toString()}\r\n aria-label={suggestion.value}\r\n ref={(li) => li && this.listboxItems.push(li)}\r\n >\r\n <div class=\"suggestion-row\">\r\n <span class=\"value\">{this.handleMark(suggestion, suggestion.value, \"value\")}</span>\r\n {suggestion.type ? (\r\n <span class=\"type\">{this.handleMark(suggestion, suggestion.type, \"type\")}</span>\r\n ) : undefined}\r\n </div>\r\n {suggestion.extras &&\r\n this.getChunkedExtras(suggestion.extras).map((chunk, index) => (\r\n <div class=\"suggestion-row\">\r\n {chunk.map((c, i) => (\r\n <span class=\"extra\">{this.handleMark(suggestion, c, \"extra\", index * 2 + i)}</span>\r\n ))}\r\n </div>\r\n ))}\r\n </li>\r\n ))) ||\r\n (this.notFound && (\r\n <li>\r\n <span class=\"value\">\r\n {this.notFoundLabel ||\r\n this.showInputValueNotFound(this.text(\"notFound\", { inputValue: this.inputValue }))}\r\n </span>\r\n </li>\r\n ))}\r\n </ul>\r\n </dso-scrollable>\r\n )\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as o,c as i,h as s,H as t}from"./p-53096a64.js";import{c as e}from"./p-8a1a6e56.js";const n=":host{display:inline-block}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}button{cursor:pointer;vertical-align:top}button{background-color:transparent;color:#39870c;border:0;margin-inline-start:var(--_dt-info-button-margin-inline-start, 8px);padding:0}button.dso-info-secondary{color:#666}dso-icon{display:block}";const a=n;const r=class{constructor(s){o(this,s);this.dsoToggle=i(this,"dsoToggle",7);this.active=undefined;this.hover=false;this.secondary=undefined;this.label="Toelichting bij optie"}async setFocus(){var o;(o=this.button)===null||o===void 0?void 0:o.focus()}handleToggle(o){this.active=!this.active;this.dsoToggle.emit({originalEvent:o,active:this.active})}render(){return s(t,{key:"611987176a177e8874ce89572e69943190c15473",onMouseenter:()=>this.hover=true,onMouseleave:()=>this.hover=false},s("button",{key:"e7465fab7a5380f48fc8f7bc690525d14c81236b",type:"button",class:e({"dso-open":!!this.active,"dso-info-secondary":!!this.secondary}),"aria-expanded":typeof this.active==="boolean"?this.active.toString():undefined,onClick:o=>this.handleToggle(o),ref:o=>this.button=o},s("dso-icon",{key:"0cf5948b5376b99f5936fd1cfd2a3499d927f043",icon:this.active||this.hover?"info-active":"info"}),s("span",{key:"dd50bec5549ea109cf1eef231f6a1b071882140e",class:"sr-only"},this.label)))}};r.style=a;export{r as dso_info_button};
2
- //# sourceMappingURL=p-0bb48c73.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["infoButtonCss","DsoInfoButtonStyle0","InfoButton","setFocus","_a","this","button","focus","handleToggle","e","active","dsoToggle","emit","originalEvent","render","h","Host","key","onMouseenter","hover","onMouseleave","type","class","clsx","secondary","toString","undefined","onClick","ref","element","icon","label"],"sources":["src/components/info-button/info-button.scss?tag=dso-info-button&encapsulation=shadow","src/components/info-button/info-button.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/info-button\";\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\nbutton {\r\n @include info-button.root();\r\n\r\n cursor: pointer;\r\n vertical-align: top;\r\n}\r\n\r\ndso-icon {\r\n display: block;\r\n}\r\n","import { h, Component, Event, Prop, EventEmitter, Method, Host, State } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { InfoButtonToggleEvent } from \"./info-button.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-info-button\",\r\n shadow: true,\r\n styleUrl: \"info-button.scss\",\r\n})\r\nexport class InfoButton {\r\n private button?: HTMLButtonElement;\r\n\r\n /**\r\n * Whether the InfoButton is active.\r\n */\r\n @Prop({ mutable: true, reflect: true })\r\n active?: boolean;\r\n\r\n @State()\r\n hover = false;\r\n\r\n /**\r\n * For secondary Info Button.\r\n */\r\n @Prop()\r\n secondary?: boolean;\r\n\r\n /**\r\n * The label.\r\n */\r\n @Prop()\r\n label = \"Toelichting bij optie\";\r\n\r\n /**\r\n * Emitted when the user activates the Info Button.\r\n */\r\n @Event()\r\n dsoToggle!: EventEmitter<InfoButtonToggleEvent>;\r\n\r\n /**\r\n * To set focus to the toggle button.\r\n */\r\n @Method()\r\n async setFocus() {\r\n this.button?.focus();\r\n }\r\n\r\n private handleToggle(e: MouseEvent) {\r\n this.active = !this.active;\r\n this.dsoToggle.emit({ originalEvent: e, active: this.active });\r\n }\r\n\r\n render() {\r\n return (\r\n <Host onMouseenter={() => (this.hover = true)} onMouseleave={() => (this.hover = false)}>\r\n <button\r\n type=\"button\"\r\n class={clsx({ \"dso-open\": !!this.active, \"dso-info-secondary\": !!this.secondary })}\r\n aria-expanded={typeof this.active === \"boolean\" ? this.active.toString() : undefined}\r\n onClick={(e) => this.handleToggle(e)}\r\n ref={(element) => (this.button = element)}\r\n >\r\n <dso-icon icon={this.active || this.hover ? \"info-active\" : \"info\"}></dso-icon>\r\n <span class=\"sr-only\">{this.label}</span>\r\n </button>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"6FAAA,MAAMA,EAAgB,sbACtB,MAAAC,EAAeD,E,MCSFE,EAAU,M,+FAUb,M,oCAYA,uB,CAYR,cAAMC,G,OACJC,EAAAC,KAAKC,UAAM,MAAAF,SAAA,SAAAA,EAAEG,O,CAGP,YAAAC,CAAaC,GACnBJ,KAAKK,QAAUL,KAAKK,OACpBL,KAAKM,UAAUC,KAAK,CAAEC,cAAeJ,EAAGC,OAAQL,KAAKK,Q,CAGvD,MAAAI,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,aAAc,IAAOb,KAAKc,MAAQ,KAAOC,aAAc,IAAOf,KAAKc,MAAQ,OAC/EJ,EAAA,UAAAE,IAAA,2CACEI,KAAK,SACLC,MAAOC,EAAK,CAAE,aAAclB,KAAKK,OAAQ,uBAAwBL,KAAKmB,YAAY,uBAC5DnB,KAAKK,SAAW,UAAYL,KAAKK,OAAOe,WAAaC,UAC3EC,QAAUlB,GAAMJ,KAAKG,aAAaC,GAClCmB,IAAMC,GAAaxB,KAAKC,OAASuB,GAEjCd,EAAA,YAAAE,IAAA,2CAAUa,KAAMzB,KAAKK,QAAUL,KAAKc,MAAQ,cAAgB,SAC5DJ,EAAA,QAAAE,IAAA,2CAAMK,MAAM,WAAWjB,KAAK0B,Q","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["translations","en","close","dialog","nl","modalCss","DsoModalStyle0","Modal","this","text","i18n","host","v4","undefined","hasFooter","querySelector","componentDidLoad","_a","htmlDialogElement","isConnected","activeElement","getActiveElement","HTMLElement","returnFocusElement","showModal","disconnectedCallback","returnFocus","_c","_b","focus","render","h","key","class","role","dialogRole","ariaId","ref","element","onCancel","e","preventDefault","dsoClose","emit","originalEvent","modalTitle","id","showCloseButton","type","onClick","icon","tabIndex","name"],"sources":["src/components/modal/modal.i18n.ts","src/components/modal/modal.scss?tag=dso-modal&encapsulation=shadow","src/components/modal/modal.tsx"],"sourcesContent":["import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-modal\": {\r\n close: \"Close\",\r\n dialog: \"Dialog\",\r\n },\r\n },\r\n nl: {\r\n \"dso-modal\": {\r\n close: \"Sluiten\",\r\n dialog: \"Dialoog\",\r\n },\r\n },\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/modal\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n// fullscreen option\r\n:host([fullscreen]) dialog {\r\n @include modal.fullscreen();\r\n}\r\n\r\n// Go to fullscreen on =< 480px viewport\r\n@media screen and (max-width: media-query-breakpoints.$screen-xs-min) {\r\n :host dialog {\r\n @include modal.fullscreen();\r\n }\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n.dso-modal {\r\n @include modal.root();\r\n}\r\n\r\n.dso-close {\r\n dso-icon {\r\n color: modal.$close-icon-color;\r\n }\r\n}\r\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Prop, State } from \"@stencil/core\";\r\nimport { v4 } from \"uuid\";\r\n\r\nimport { getActiveElement } from \"../../utils/get-active-element\";\r\nimport { i18n } from \"../../utils/i18n\";\r\n\r\nimport { ModalCloseEvent } from \"./modal.interfaces\";\r\nimport { translations } from \"./modal.i18n\";\r\n\r\n@Component({\r\n tag: \"dso-modal\",\r\n styleUrl: \"modal.scss\",\r\n shadow: true,\r\n})\r\nexport class Modal implements ComponentInterface {\r\n private htmlDialogElement?: HTMLDialogElement;\r\n\r\n @Element()\r\n host!: HTMLDsoModalElement;\r\n\r\n @State()\r\n ariaId = v4();\r\n\r\n /**\r\n * when set the modal will be shown in fullscreen.\r\n */\r\n @Prop({ reflect: true })\r\n fullscreen?: boolean;\r\n\r\n /**\r\n * The title of the Modal.\r\n */\r\n @Prop()\r\n modalTitle?: string;\r\n\r\n /**\r\n * the role for the modal `dialog` | `alert` | `alertdialog`.\r\n */\r\n @Prop()\r\n dialogRole: string | null = \"dialog\";\r\n\r\n /**\r\n * The element to return focus to after the modal is closed.\r\n *\r\n * * `undefined` will return focus to the previously focused element (default).\r\n * * `false` will not return focus to any element.\r\n * * or, provide your own `HTMLElement` that will receive focus upon closing.\r\n */\r\n @Prop()\r\n returnFocus: false | HTMLElement | undefined = undefined;\r\n\r\n /**\r\n * when `false` the close button in the header will not be rendered. Defaults to `true`.\r\n *\r\n * Needs `modalTitle` to be set.\r\n */\r\n @Prop()\r\n showCloseButton = true;\r\n\r\n private returnFocusElement: HTMLElement | undefined;\r\n\r\n /**\r\n * Emitted when the user wants to close the Modal.\r\n */\r\n @Event()\r\n dsoClose!: EventEmitter<ModalCloseEvent>;\r\n\r\n get hasFooter() {\r\n return this.host.querySelector(\"[slot='footer']\") !== null;\r\n }\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n componentDidLoad(): void {\r\n if (this.htmlDialogElement?.isConnected) {\r\n const activeElement = getActiveElement();\r\n if (activeElement instanceof HTMLElement) {\r\n this.returnFocusElement = activeElement;\r\n }\r\n\r\n this.htmlDialogElement.showModal();\r\n }\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.htmlDialogElement?.close();\r\n\r\n if (this.returnFocus === false) {\r\n return;\r\n }\r\n\r\n (this.returnFocus ?? this.returnFocusElement)?.focus();\r\n }\r\n\r\n render() {\r\n return (\r\n <dialog\r\n class=\"dso-modal\"\r\n role={this.dialogRole ?? undefined}\r\n aria-modal=\"true\"\r\n aria-labelledby={this.ariaId}\r\n ref={(element) => (this.htmlDialogElement = element)}\r\n onCancel={(e) => {\r\n e.preventDefault();\r\n\r\n this.dsoClose.emit({ originalEvent: e });\r\n }}\r\n >\r\n <div class=\"dso-dialog\" role=\"document\">\r\n {this.modalTitle ? (\r\n <div class=\"dso-header\">\r\n <h2 id={this.ariaId}>{this.modalTitle}</h2>\r\n {this.showCloseButton && (\r\n <button type=\"button\" class=\"dso-close\" onClick={(e) => this.dsoClose.emit({ originalEvent: e })}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">{this.text(\"close\")}</span>\r\n </button>\r\n )}\r\n </div>\r\n ) : (\r\n <span class=\"sr-only\" id={this.ariaId}>\r\n {this.text(\"dialog\")}\r\n </span>\r\n )}\r\n\r\n <dso-scrollable>\r\n <div class=\"dso-body\" tabIndex={0}>\r\n <slot name=\"body\" />\r\n </div>\r\n </dso-scrollable>\r\n\r\n {this.hasFooter && (\r\n <div class=\"dso-footer\">\r\n <slot name=\"footer\" />\r\n </div>\r\n )}\r\n </div>\r\n </dialog>\r\n );\r\n }\r\n}\r\n"],"mappings":"gKAEO,MAAMA,EAAyB,CACpCC,GAAI,CACF,YAAa,CACXC,MAAO,QACPC,OAAQ,WAGZC,GAAI,CACF,YAAa,CACXF,MAAO,UACPC,OAAQ,aCZd,MAAME,EAAW,0lNACjB,MAAAC,EAAeD,E,MCaFE,EAAK,M,4DAyDRC,KAAAC,KAAOC,GAAK,IAAMF,KAAKG,MAAMX,G,YAlD5BY,I,oEAkBmB,S,iBAUmBC,U,qBAQ7B,I,CAUlB,aAAIC,GACF,OAAON,KAAKG,KAAKI,cAAc,qBAAuB,I,CAKxD,gBAAAC,G,MACE,IAAIC,EAAAT,KAAKU,qBAAiB,MAAAD,SAAA,SAAAA,EAAEE,YAAa,CACvC,MAAMC,EAAgBC,IACtB,GAAID,aAAyBE,YAAa,CACxCd,KAAKe,mBAAqBH,C,CAG5BZ,KAAKU,kBAAkBM,W,EAI3B,oBAAAC,G,WACER,EAAAT,KAAKU,qBAAiB,MAAAD,SAAA,SAAAA,EAAEf,QAExB,GAAIM,KAAKkB,cAAgB,MAAO,CAC9B,M,EAGFC,GAACC,EAAApB,KAAKkB,eAAW,MAAAE,SAAA,EAAAA,EAAIpB,KAAKe,sBAAmB,MAAAI,SAAA,SAAAA,EAAEE,O,CAGjD,MAAAC,G,MACE,OACEC,EAAA,UAAAC,IAAA,2CACEC,MAAM,YACNC,MAAMjB,EAAAT,KAAK2B,cAAU,MAAAlB,SAAA,EAAAA,EAAIJ,UAAS,aACvB,OAAM,kBACAL,KAAK4B,OACtBC,IAAMC,GAAa9B,KAAKU,kBAAoBoB,EAC5CC,SAAWC,IACTA,EAAEC,iBAEFjC,KAAKkC,SAASC,KAAK,CAAEC,cAAeJ,GAAI,GAG1CT,EAAA,OAAAC,IAAA,2CAAKC,MAAM,aAAaC,KAAK,YAC1B1B,KAAKqC,WACJd,EAAA,OAAKE,MAAM,cACTF,EAAA,MAAIe,GAAItC,KAAK4B,QAAS5B,KAAKqC,YAC1BrC,KAAKuC,iBACJhB,EAAA,UAAQiB,KAAK,SAASf,MAAM,YAAYgB,QAAUT,GAAMhC,KAAKkC,SAASC,KAAK,CAAEC,cAAeJ,KAC1FT,EAAA,YAAUmB,KAAK,UACfnB,EAAA,QAAME,MAAM,WAAWzB,KAAKC,KAAK,YAKvCsB,EAAA,QAAME,MAAM,UAAUa,GAAItC,KAAK4B,QAC5B5B,KAAKC,KAAK,WAIfsB,EAAA,kBAAAC,IAAA,4CACED,EAAA,OAAAC,IAAA,2CAAKC,MAAM,WAAWkB,SAAU,GAC9BpB,EAAA,QAAAC,IAAA,2CAAMoB,KAAK,WAId5C,KAAKM,WACJiB,EAAA,OAAAC,IAAA,2CAAKC,MAAM,cACTF,EAAA,QAAAC,IAAA,2CAAMoB,KAAK,a","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["viewerGridVrkTabs","viewerGridVdkTabs","viewerGridTabLabelMap","main","map","document","search","viewerGridSizeLabelMap","small","medium","large","SizingButton","className","onClick","label","icon","h","type","class","SizingButtons","shrink","expand","size","panelLabel","placement","buttons","push","toLocaleLowerCase","DocumentPanel","tabView","panelSize","shrinkDocumentPanel","expandDocumentPanel","dsoDocumentPanelSizeChangeAnimationEnd","onTransitionEnd","e","propertyName","emit","currentSize","name","ViewerGridFilterpanelButtons","onApply","onCancel","Filterpanel","ref","id","preventDefault","MainPanel","mode","mainSize","documentPanelOpen","mainPanelExpanded","mainPanelHidden","shrinkMain","expandMain","toggleMainPanel","dsoMainSizeChangeAnimationEnd","clsx","compact","contracted","expanded","collapsed","invisible","Overlay","dsoCloseOverlay","viewerGridCss","DsoViewerGridStyle0","resizeObserver","ResizeObserver","debounce","entry","shadowRoot","target","getRootNode","ShadowRoot","isDsoViewerGridComponent","host","_checkMainPanelVisibility","element","tagName","buttonWidth","tabViewBreakpoint","minMapElementWidth","ViewerGrid","this","mediaCondition","switchActiveTab","tab","dsoActiveTabSwitch","emitShrinkMain","dsoMainSizeChange","nextSize","emitExpandMain","dsoDocumentPanelSizeChange","documentPanelSize","mapElement","HTMLDivElement","clientWidth","dsoMainPanelToggle","hide","changeListener","largeScreen","matches","handleFilterpanelApply","mouseEvent","dsoFilterpanelApply","originalEvent","handleFilterpanelCancel","dsoFilterpanelCancel","window","innerWidth","filterpanelSlot","querySelector","overlaySlot","documentPanelOpenWatcher","open","filterpanelOpenWatcher","console","warn","_a","filterpanel","showModal","_b","close","overlayOpenWatcher","overlay","connectedCallback","matchMedia","addEventListener","componentDidLoad","filterpanelOpen","overlayOpen","observe","disconnectedCallback","removeEventListener","unobserve","render","tabLabels","Fragment","key","activeTab"],"sources":["src/components/viewer-grid/viewer-grid.interfaces.ts","src/components/viewer-grid/components/sizing-buttons.tsx","src/components/viewer-grid/components/document-panel.tsx","src/components/viewer-grid/components/viewer-grid-filterpanel-buttons.tsx","src/components/viewer-grid/components/filterpanel.tsx","src/components/viewer-grid/components/main-panel.tsx","src/components/viewer-grid/components/overlay.tsx","src/components/viewer-grid/viewer-grid.scss?tag=dso-viewer-grid&encapsulation=shadow","src/components/viewer-grid/viewer-grid.tsx"],"sourcesContent":["export interface ViewerGridChangeSizeEvent {\r\n currentSize: ViewerGridPanelSize;\r\n nextSize: ViewerGridPanelSize;\r\n}\r\n\r\nexport interface ViewerGridChangeSizeAnimationEndEvent {\r\n currentSize: ViewerGridPanelSize;\r\n}\r\n\r\nexport interface ViewerGridCloseOverlayEvent {\r\n originalEvent: MouseEvent | Event;\r\n}\r\n\r\nexport interface ViewerGridFilterpanelCancelEvent {\r\n originalEvent: MouseEvent | Event;\r\n}\r\n\r\nexport interface ViewerGridFilterpanelApplyEvent {\r\n originalEvent: MouseEvent | Event;\r\n}\r\n\r\nexport interface ViewerGridActiveTabSwitchEvent {\r\n tab: ViewerGridTab;\r\n}\r\n\r\nexport interface ViewerGridMainExpandEvent {\r\n expand: boolean;\r\n}\r\n\r\nexport interface ViewerGridMainToggleEvent {\r\n hide: boolean;\r\n}\r\n\r\nexport type ViewerGridMode = \"vdk\" | \"vrk\";\r\n\r\nexport type ViewerGridPanelSize = \"small\" | \"medium\" | \"large\";\r\n\r\nexport type ViewerGridLabelSizeMap = { [key in ViewerGridPanelSize]: string };\r\n\r\nexport const viewerGridVrkTabs = [\"main\", \"map\"] as const;\r\nexport type ViewerGridVrkTab = (typeof viewerGridVrkTabs)[number];\r\n\r\nexport const viewerGridVdkTabs = [\"search\", \"map\", \"document\"] as const;\r\nexport type ViewerGridVdkTab = (typeof viewerGridVdkTabs)[number];\r\n\r\nexport type ViewerGridTab = ViewerGridVrkTab | ViewerGridVdkTab;\r\n\r\nexport type ViewerGridTabLabelMap = { [key in ViewerGridTab]: string };\r\n\r\nexport const viewerGridTabLabelMap: ViewerGridTabLabelMap = {\r\n main: \"Hoofdpaneel\",\r\n map: \"Kaart\",\r\n document: \"Document\",\r\n search: \"Zoeken\",\r\n};\r\n\r\nexport const viewerGridSizeLabelMap: ViewerGridLabelSizeMap = {\r\n small: \"smal\",\r\n medium: \"middel\",\r\n large: \"breed\",\r\n};\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\nimport { ViewerGridPanelSize, viewerGridSizeLabelMap } from \"../viewer-grid.interfaces\";\r\n\r\ninterface SizingButtonProp {\r\n className: string;\r\n onClick: any;\r\n label: string;\r\n icon: \"chevron-left\" | \"chevron-right\";\r\n}\r\n\r\nconst SizingButton: FunctionalComponent<SizingButtonProp> = ({ className, onClick, label, icon }) => (\r\n <button type=\"button\" class={className} onClick={onClick}>\r\n <span class=\"sr-only\">{label}</span>\r\n <dso-icon icon={icon}></dso-icon>\r\n </button>\r\n);\r\n\r\ninterface SizingButtonProps {\r\n panelLabel: string;\r\n size: ViewerGridPanelSize;\r\n expand: () => void;\r\n shrink: () => void;\r\n placement: \"left\" | \"right\";\r\n}\r\n\r\nexport const SizingButtons: FunctionalComponent<SizingButtonProps> = ({\r\n shrink,\r\n expand,\r\n size,\r\n panelLabel,\r\n placement,\r\n}) => {\r\n const buttons = [];\r\n\r\n if (size !== \"small\") {\r\n buttons.push(\r\n <SizingButton\r\n onClick={shrink}\r\n label={`${panelLabel} smaller maken`}\r\n icon={placement === \"right\" ? \"chevron-right\" : \"chevron-left\"}\r\n className=\"shrink\"\r\n />,\r\n );\r\n }\r\n\r\n if (size !== \"large\") {\r\n buttons.push(\r\n <SizingButton\r\n onClick={expand}\r\n label={`${panelLabel} breder maken`}\r\n icon={placement === \"right\" ? \"chevron-left\" : \"chevron-right\"}\r\n className=\"expand\"\r\n />,\r\n );\r\n }\r\n\r\n return (\r\n <div class=\"sizing-buttons\">\r\n <span class=\"sr-only\" aria-live=\"polite\" aria-atomic=\"true\">\r\n Breedte {panelLabel.toLocaleLowerCase()}: {viewerGridSizeLabelMap[size]}\r\n </span>\r\n {buttons}\r\n </div>\r\n );\r\n};\r\n","import { EventEmitter, FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { ViewerGridPanelSize, ViewerGridChangeSizeAnimationEndEvent } from \"../viewer-grid.interfaces\";\r\nimport { SizingButtons } from \"./sizing-buttons\";\r\n\r\nexport interface ViewerGridDocumentPanelProps {\r\n tabView: boolean;\r\n panelSize: ViewerGridPanelSize;\r\n shrinkDocumentPanel: () => void;\r\n expandDocumentPanel: () => void;\r\n dsoDocumentPanelSizeChangeAnimationEnd: EventEmitter<ViewerGridChangeSizeAnimationEndEvent>;\r\n}\r\n\r\nexport const DocumentPanel: FunctionalComponent<ViewerGridDocumentPanelProps> = ({\r\n tabView,\r\n panelSize,\r\n shrinkDocumentPanel,\r\n expandDocumentPanel,\r\n dsoDocumentPanelSizeChangeAnimationEnd,\r\n}) => (\r\n <div\r\n class=\"dso-document-panel\"\r\n onTransitionEnd={(e) => {\r\n if (e.propertyName === \"flex-basis\") {\r\n dsoDocumentPanelSizeChangeAnimationEnd.emit({ currentSize: panelSize });\r\n }\r\n }}\r\n >\r\n {!tabView && (\r\n <SizingButtons\r\n panelLabel=\"Documentpaneel\"\r\n size={panelSize}\r\n expand={expandDocumentPanel}\r\n shrink={shrinkDocumentPanel}\r\n placement=\"right\"\r\n />\r\n )}\r\n <div class=\"content\">\r\n <slot name=\"document-panel\" />\r\n </div>\r\n </div>\r\n);\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nexport interface ViewerGridFilterpanelButtonsProps {\r\n onApply: (mouseEvent: MouseEvent) => void;\r\n onCancel: (mouseEvent: MouseEvent) => void;\r\n}\r\n\r\nexport const ViewerGridFilterpanelButtons: FunctionalComponent<ViewerGridFilterpanelButtonsProps> = ({\r\n onApply,\r\n onCancel,\r\n}) => (\r\n <div class=\"filterpanel-buttons\">\r\n <button type=\"button\" class=\"cancel-button\" onClick={onCancel}>\r\n <span>Annuleren</span>\r\n </button>\r\n <button type=\"button\" class=\"apply-button\" onClick={onApply}>\r\n <span>Toepassen</span>\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </button>\r\n </div>\r\n);\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { ViewerGridFilterpanelButtons } from \"./viewer-grid-filterpanel-buttons\";\r\n\r\nexport interface ViewerGridFilterpanelProps {\r\n ref: ((element: HTMLDialogElement | undefined) => void) | undefined;\r\n onApply: (mouseEvent: MouseEvent) => void;\r\n onCancel: (event: MouseEvent | Event) => void;\r\n}\r\n\r\nexport const Filterpanel: FunctionalComponent<ViewerGridFilterpanelProps> = ({ ref, onApply, onCancel }) => (\r\n <dialog\r\n id=\"filterpanel\"\r\n class=\"filterpanel\"\r\n ref={ref}\r\n onCancel={(e) => {\r\n e.preventDefault();\r\n\r\n onCancel(e);\r\n }}\r\n >\r\n <h1>Uw keuzes</h1>\r\n <ViewerGridFilterpanelButtons onApply={onApply} onCancel={onCancel} />\r\n <slot name=\"filterpanel\" />\r\n <ViewerGridFilterpanelButtons onApply={onApply} onCancel={onCancel} />\r\n </dialog>\r\n);\r\n","import { EventEmitter, FunctionalComponent, h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { ViewerGridPanelSize, ViewerGridChangeSizeAnimationEndEvent, ViewerGridMode } from \"../viewer-grid.interfaces\";\r\nimport { SizingButtons } from \"./sizing-buttons\";\r\n\r\nexport interface ViewerGridMainPanelProps {\r\n mode: ViewerGridMode;\r\n tabView: boolean;\r\n mainSize: ViewerGridPanelSize;\r\n documentPanelOpen: boolean;\r\n mainPanelExpanded: boolean;\r\n mainPanelHidden: boolean;\r\n shrinkMain: () => void;\r\n expandMain: () => void;\r\n toggleMainPanel: () => void;\r\n dsoMainSizeChangeAnimationEnd: EventEmitter<ViewerGridChangeSizeAnimationEndEvent>;\r\n}\r\n\r\nexport const MainPanel: FunctionalComponent<ViewerGridMainPanelProps> = ({\r\n mode,\r\n tabView,\r\n mainSize,\r\n documentPanelOpen,\r\n mainPanelExpanded,\r\n mainPanelHidden,\r\n shrinkMain,\r\n expandMain,\r\n toggleMainPanel,\r\n dsoMainSizeChangeAnimationEnd,\r\n}) => (\r\n <div\r\n class={clsx(\"dso-main-panel\", {\r\n compact: !tabView && documentPanelOpen && !mainPanelExpanded,\r\n contracted: !tabView && !documentPanelOpen && !mainPanelExpanded && mode === \"vdk\",\r\n expanded: !tabView && documentPanelOpen && mainPanelExpanded,\r\n collapsed: mainPanelHidden,\r\n })}\r\n onTransitionEnd={(e) => {\r\n if (e.propertyName === \"flex-basis\") {\r\n dsoMainSizeChangeAnimationEnd.emit({ currentSize: mainSize });\r\n }\r\n }}\r\n >\r\n {!tabView &&\r\n ((mode === \"vrk\" && (\r\n <SizingButtons\r\n panelLabel=\"Hoofdpaneel\"\r\n size={mainSize}\r\n expand={expandMain}\r\n shrink={shrinkMain}\r\n placement=\"left\"\r\n />\r\n )) ||\r\n (mode === \"vdk\" && documentPanelOpen && (\r\n <div class=\"toggle-button\">\r\n <button type=\"button\" onClick={toggleMainPanel}>\r\n <span class=\"sr-only\">Zoeken paneel {mainPanelHidden ? \"tonen\" : \"verbergen\"}</span>\r\n <dso-icon icon={mainPanelHidden ? \"chevron-right\" : \"chevron-left\"}></dso-icon>\r\n </button>\r\n </div>\r\n )))}\r\n <div class={clsx(\"content\", { invisible: mainPanelHidden })}>\r\n <slot name=\"main\" />\r\n </div>\r\n </div>\r\n);\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nexport interface ViewerGridOverlayProps {\r\n ref: ((element: HTMLDialogElement | undefined) => void) | undefined;\r\n dsoCloseOverlay: (event: MouseEvent | Event) => void;\r\n}\r\n\r\nexport const Overlay: FunctionalComponent<ViewerGridOverlayProps> = ({ ref, dsoCloseOverlay }) => (\r\n <dialog\r\n class=\"overlay\"\r\n ref={ref}\r\n onCancel={(e) => {\r\n e.preventDefault();\r\n\r\n dsoCloseOverlay(e);\r\n }}\r\n >\r\n <button type=\"button\" class=\"overlay-close-button\" onClick={dsoCloseOverlay}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">sluiten</span>\r\n </button>\r\n <slot name=\"overlay\" />\r\n </dialog>\r\n);\r\n","@use \"~dso-toolkit/src/components/grid\" as css-grid;\r\n\r\n@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/heading\";\r\n@use \"~dso-toolkit/src/components/navbar\";\r\n\r\n@use \"viewer-grid.variables\" as core-viewer-grid-variables;\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host([mode=\"vdk\"]) {\r\n .overlay {\r\n block-size: calc(100% - units.$u4);\r\n margin-block: units.$u2;\r\n margin-inline: auto units.$u2;\r\n }\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.shrink,\r\n.expand,\r\n.overlay-close-button {\r\n @include button.tertiary($modifiers: false);\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n}\r\n\r\n.overlay-close-button {\r\n position: absolute;\r\n inset-block-start: units.$u1;\r\n inset-inline-end: css-grid.$grid-gutter-width * 0.5;\r\n}\r\n\r\n.content.invisible {\r\n visibility: hidden;\r\n}\r\n\r\n.dso-main-panel,\r\n.dso-document-panel {\r\n .content {\r\n block-size: 100%;\r\n padding-block: 0;\r\n padding-inline: css-grid.$grid-gutter-width * 0.5;\r\n }\r\n}\r\n\r\n.dso-main-panel {\r\n background-color: colors.$wit;\r\n flex-shrink: 0;\r\n flex-grow: 0;\r\n position: relative;\r\n transition:\r\n flex-basis core-viewer-grid-variables.$transition-time ease-in,\r\n max-inline-size core-viewer-grid-variables.$transition-time ease-in,\r\n min-inline-size core-viewer-grid-variables.$transition-time ease-in;\r\n z-index: zindex.$viewer-grid-main-panel;\r\n\r\n &.compact,\r\n &.expanded {\r\n &.collapsed {\r\n inset-inline-start: -432px;\r\n }\r\n }\r\n\r\n &.compact,\r\n &.contracted {\r\n flex-shrink: unset;\r\n flex-grow: unset;\r\n position: absolute;\r\n transition: none;\r\n }\r\n\r\n &.expanded.collapsed {\r\n position: absolute;\r\n block-size: 100%;\r\n }\r\n\r\n .dso-filterblok-address {\r\n font-weight: bold;\r\n margin-block: units.$u1;\r\n margin-inline: 0;\r\n }\r\n\r\n .sizing-buttons,\r\n .toggle-button {\r\n inset-inline-start: calc(100% + 1px);\r\n transition: inset-inline-start core-viewer-grid-variables.$transition-time ease-in;\r\n padding-block: 0 units.$u1;\r\n padding-inline: 0 units.$u1 * 0.5;\r\n\r\n button {\r\n border-end-end-radius: 4px;\r\n border-start-end-radius: 4px;\r\n }\r\n }\r\n}\r\n\r\n.dso-document-panel {\r\n background-color: colors.$wit;\r\n flex-shrink: 0;\r\n flex-grow: 0;\r\n position: relative;\r\n transition:\r\n flex-basis core-viewer-grid-variables.$transition-time ease-in,\r\n max-inline-size core-viewer-grid-variables.$transition-time ease-in,\r\n min-inline-size core-viewer-grid-variables.$transition-time ease-in;\r\n z-index: zindex.$viewer-grid-main-panel;\r\n\r\n .sizing-buttons {\r\n inset-block-start: auto;\r\n inset-block-end: core-viewer-grid-variables.$sizing-buttons-block-start;\r\n inset-inline-end: calc(100% + 1px);\r\n transition: inset-inline-end core-viewer-grid-variables.$transition-time ease-in;\r\n padding-block: 0 units.$u1;\r\n padding-inline: units.$u1 * 0.5 0;\r\n\r\n button {\r\n border-end-start-radius: 4px;\r\n border-start-start-radius: 4px;\r\n }\r\n }\r\n}\r\n\r\n.sizing-buttons,\r\n.toggle-button {\r\n overflow-x: hidden;\r\n position: absolute;\r\n inset-block-start: core-viewer-grid-variables.$sizing-buttons-block-start;\r\n inline-size: core-viewer-grid-variables.$resize-button-size + units.$u1 * 0.5;\r\n z-index: zindex.$viewer-grid-sizing-buttons;\r\n\r\n button {\r\n @include button.secondary($modifiers: false, $icon-only: true);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n border: 0;\r\n padding: 8px;\r\n border-radius: 0;\r\n box-shadow: 0 1px units.$u1 * 0.5 0 rgba(0, 0, 0, 0.4);\r\n flex: 0 0 100%;\r\n block-size: core-viewer-grid-variables.$resize-button-size;\r\n min-inline-size: auto;\r\n inline-size: core-viewer-grid-variables.$resize-button-size;\r\n }\r\n\r\n &:hover {\r\n dso-icon {\r\n color: colors.$wit;\r\n }\r\n }\r\n\r\n &:focus-visible {\r\n outline-offset: -1px;\r\n }\r\n }\r\n}\r\n\r\n.map {\r\n block-size: 100%;\r\n inline-size: 100%;\r\n overflow: hidden;\r\n position: relative;\r\n}\r\n\r\n.filterpanel,\r\n.overlay {\r\n background-color: colors.$wit;\r\n border: 0;\r\n block-size: 100%;\r\n margin-block: 0;\r\n max-block-size: 100vh;\r\n overflow-y: auto;\r\n z-index: zindex.$viewer-grid-main-panel + 1;\r\n}\r\n\r\n.filterpanel {\r\n padding-block: units.$u1;\r\n padding-inline: css-grid.$grid-gutter-width * 0.5;\r\n inset-inline-start: 0;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$filterpanel-inline-size) {\r\n inline-size: 100vw;\r\n\r\n &::before {\r\n display: none !important;\r\n }\r\n }\r\n\r\n h1 {\r\n @include heading.base();\r\n @include heading.margin-large();\r\n @include heading.h1();\r\n }\r\n}\r\n\r\n.overlay {\r\n padding-block: units.$u5 units.$u1;\r\n padding-inline: css-grid.$grid-gutter-width * 0.5;\r\n inset-inline-end: 0;\r\n inline-size: core-viewer-grid-variables.$overlay-inline-size;\r\n\r\n &::backdrop {\r\n background-color: rgba(0, 0, 0, 0.5);\r\n }\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$overlay-inline-size) {\r\n inline-size: 100vw;\r\n }\r\n}\r\n\r\n.filterpanel-buttons {\r\n text-align: end;\r\n\r\n .cancel-button {\r\n @include button.secondary($modifiers: false);\r\n @include button.small();\r\n }\r\n\r\n .apply-button {\r\n @include button.primary($modifiers: false);\r\n @include button.small();\r\n }\r\n\r\n .cancel-button + .apply-button {\r\n margin-inline-start: units.$u2;\r\n }\r\n}\r\n\r\n@media screen and (min-width: #{media-query-breakpoints.$screen-sm-min + units.$u5}) {\r\n :host([main-size=\"small\"]) .dso-main-panel,\r\n :host([document-panel-size=\"small\"]) .dso-document-panel {\r\n flex-basis: core-viewer-grid-variables.$small;\r\n min-inline-size: 0;\r\n max-inline-size: core-viewer-grid-variables.$small;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$small) {\r\n flex-basis: 100vw;\r\n max-inline-size: 100vw;\r\n min-inline-size: 0;\r\n transition: none;\r\n }\r\n }\r\n\r\n :host([main-size=\"medium\"]) .dso-main-panel,\r\n :host([document-panel-size=\"medium\"]) .dso-document-panel {\r\n flex-basis: core-viewer-grid-variables.$medium;\r\n min-inline-size: core-viewer-grid-variables.$small;\r\n max-inline-size: core-viewer-grid-variables.$medium;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$medium) {\r\n flex-basis: 100vw;\r\n max-inline-size: 100vw;\r\n min-inline-size: core-viewer-grid-variables.$small;\r\n transition: none;\r\n }\r\n }\r\n\r\n :host([main-size=\"large\"]) .dso-main-panel,\r\n :host([document-panel-size=\"large\"]) .dso-document-panel {\r\n flex-basis: core-viewer-grid-variables.$large;\r\n min-inline-size: core-viewer-grid-variables.$large-min;\r\n max-inline-size: core-viewer-grid-variables.$large-max;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$large-min) {\r\n flex-basis: 100vw;\r\n max-inline-size: 100vw;\r\n min-inline-size: core-viewer-grid-variables.$large-min;\r\n transition: none;\r\n }\r\n }\r\n\r\n :host {\r\n display: flex;\r\n block-size: 100vh;\r\n overflow: hidden;\r\n position: relative;\r\n\r\n .dso-main-panel.compact,\r\n .dso-main-panel.expanded {\r\n flex-basis: unset;\r\n min-inline-size: unset;\r\n max-inline-size: unset;\r\n inline-size: 440px;\r\n\r\n .content {\r\n block-size: auto;\r\n overflow-y: auto;\r\n }\r\n }\r\n }\r\n\r\n .dso-main-panel,\r\n .dso-document-panel {\r\n box-shadow: units.$u1 * 0.25 0 units.$u1 0 rgba(0, 0, 0, 0.4);\r\n\r\n .content {\r\n overflow-y: auto;\r\n }\r\n }\r\n\r\n .filterpanel {\r\n box-shadow: 2px 0 5px colors.$grijs-60;\r\n margin-inline: 0 auto;\r\n max-inline-size: core-viewer-grid-variables.$filterpanel-max-inline-size;\r\n inline-size: calc(100vw - 40px);\r\n\r\n &::before {\r\n content: \"\";\r\n display: block;\r\n position: fixed;\r\n inset-block-start: 0;\r\n inset-block-end: 0;\r\n inset-inline-end: 0;\r\n inset-inline-start: core-viewer-grid-variables.$filterpanel-max-inline-size;\r\n background-color: rgba(0, 0, 0, 0.5);\r\n\r\n @media screen and (max-width: #{core-viewer-grid-variables.$filterpanel-max-inline-size + 40px}) {\r\n inset-inline-start: auto;\r\n inline-size: 40px;\r\n }\r\n }\r\n }\r\n\r\n .overlay {\r\n box-shadow: -2px 0 5px colors.$grijs-60;\r\n margin-inline: auto 0;\r\n }\r\n}\r\n\r\n@media screen and (max-width: #{media-query-breakpoints.$screen-xs-max + units.$u5 + 0.99}) {\r\n @include navbar.root();\r\n\r\n .dso-navbar {\r\n padding-inline: units.$u2;\r\n }\r\n\r\n .dso-nav {\r\n @include navbar.nav-border();\r\n\r\n display: flex;\r\n gap: units.$u2;\r\n margin-block-start: 0;\r\n inline-size: calc(100vw - units.$u4);\r\n }\r\n\r\n .dso-tertiary {\r\n @include button.tertiary($modifiers: false);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n font-weight: 300;\r\n }\r\n }\r\n\r\n .filterpanel,\r\n .overlay {\r\n margin-inline: 0;\r\n max-inline-size: 100vw;\r\n inset-block-start: 0;\r\n inline-size: 100vw;\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, Fragment, Method, Prop, State, Watch, h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nimport { DocumentPanel, Filterpanel, MainPanel, Overlay } from \"./components\";\r\nimport {\r\n ViewerGridPanelSize,\r\n ViewerGridVdkTab,\r\n ViewerGridVrkTab,\r\n ViewerGridChangeSizeAnimationEndEvent,\r\n ViewerGridChangeSizeEvent,\r\n ViewerGridCloseOverlayEvent,\r\n ViewerGridFilterpanelApplyEvent,\r\n ViewerGridFilterpanelCancelEvent,\r\n ViewerGridMainExpandEvent,\r\n ViewerGridMainToggleEvent,\r\n ViewerGridActiveTabSwitchEvent,\r\n ViewerGridMode,\r\n viewerGridTabLabelMap,\r\n viewerGridVdkTabs,\r\n viewerGridVrkTabs,\r\n ViewerGridTab,\r\n} from \"./viewer-grid.interfaces\";\r\n\r\nconst resizeObserver = new ResizeObserver(\r\n debounce(([entry]) => {\r\n const shadowRoot = entry?.target.getRootNode();\r\n if (shadowRoot instanceof ShadowRoot && isDsoViewerGridComponent(shadowRoot.host)) {\r\n shadowRoot.host._checkMainPanelVisibility();\r\n }\r\n }, 50),\r\n);\r\n\r\nfunction isDsoViewerGridComponent(element: Element): element is HTMLDsoViewerGridElement {\r\n return element.tagName === \"DSO-VIEWER-GRID\";\r\n}\r\n\r\nconst buttonWidth = 40;\r\n\r\nconst tabViewBreakpoint = 768 + buttonWidth;\r\n\r\nconst minMapElementWidth = 440;\r\n\r\n/**\r\n * @slot main\r\n * @slot map\r\n * @slot filterpanel\r\n * @slot overlay\r\n * @slot document-panel - VDK only\r\n */\r\n@Component({\r\n tag: \"dso-viewer-grid\",\r\n styleUrl: \"viewer-grid.scss\",\r\n shadow: true,\r\n})\r\nexport class ViewerGrid {\r\n private mediaCondition = `(min-width: ${tabViewBreakpoint}px)`;\r\n\r\n private mapElement?: HTMLDivElement;\r\n\r\n /**\r\n * VRK or VDK implementation.\r\n */\r\n @Prop({ reflect: true })\r\n mode: ViewerGridMode = \"vrk\";\r\n\r\n /**\r\n * Set to true when filterpanel should show.\r\n */\r\n @Prop({ reflect: true })\r\n filterpanelOpen = false;\r\n\r\n /**\r\n * Set to true when overlay should show.\r\n */\r\n @Prop({ reflect: true })\r\n overlayOpen = false;\r\n\r\n /**\r\n * **VDK only.** Set to true when document panel should show.\r\n */\r\n @Prop({ reflect: true })\r\n documentPanelOpen = false;\r\n\r\n /**\r\n * Size of the panel when component loads.\r\n *\r\n * Default size is `large`.\r\n */\r\n @Prop({ reflect: true })\r\n mainSize: ViewerGridPanelSize = \"large\";\r\n\r\n /**\r\n * Set active tab in tab view.\r\n */\r\n @Prop()\r\n activeTab?: ViewerGridVdkTab | ViewerGridVrkTab;\r\n\r\n /**\r\n * **VDK only.** Size of the panel when component loads.\r\n *\r\n * Default size is `large`.\r\n */\r\n @Prop({ reflect: true })\r\n documentPanelSize: ViewerGridPanelSize = \"large\";\r\n\r\n /**\r\n * **VDK only.** Set to show main panel expanded.\r\n */\r\n @Prop()\r\n mainPanelExpanded = false;\r\n\r\n /**\r\n * **VDK only.** Set to hide the main panel.\r\n */\r\n @Prop()\r\n mainPanelHidden = false;\r\n\r\n /**\r\n * Emitted when user wants to close the overlay.\r\n */\r\n @Event()\r\n dsoCloseOverlay!: EventEmitter<ViewerGridCloseOverlayEvent>;\r\n\r\n /**\r\n * Emitted when user cancels filterpanel.\r\n */\r\n @Event()\r\n dsoFilterpanelCancel!: EventEmitter<ViewerGridFilterpanelCancelEvent>;\r\n\r\n /**\r\n * Emitted when user applies filterpanel options.\r\n */\r\n @Event()\r\n dsoFilterpanelApply!: EventEmitter<ViewerGridFilterpanelApplyEvent>;\r\n\r\n /**\r\n * Emitted when user applies filterpanel options.\r\n */\r\n @Event()\r\n dsoActiveTabSwitch!: EventEmitter<ViewerGridActiveTabSwitchEvent>;\r\n\r\n /**\r\n * Emitted on interaction with sizing buttons.\r\n */\r\n @Event()\r\n dsoMainSizeChange!: EventEmitter<ViewerGridChangeSizeEvent>;\r\n\r\n /**\r\n * Emitted after main size animation.\r\n */\r\n @Event()\r\n dsoMainSizeChangeAnimationEnd!: EventEmitter<ViewerGridChangeSizeAnimationEndEvent>;\r\n\r\n /**\r\n * **VDK only.** Emitted on interaction with sizing buttons.\r\n */\r\n @Event()\r\n dsoDocumentPanelSizeChange!: EventEmitter<ViewerGridChangeSizeEvent>;\r\n\r\n /**\r\n * **VDK only.** Emitted after main size animation.\r\n */\r\n @Event()\r\n dsoDocumentPanelSizeChangeAnimationEnd!: EventEmitter<ViewerGridChangeSizeAnimationEndEvent>;\r\n\r\n /**\r\n * **VDK only.** Emitted when the user wants to expand the main panel.\r\n */\r\n @Event()\r\n dsoMainPanelExpand!: EventEmitter<ViewerGridMainExpandEvent>;\r\n\r\n /**\r\n * **VDK only.** Emitted when the user toggles the visibility of the main panel.\r\n *\r\n * Also emitted by scripting when the panels do not fit anymore.\r\n */\r\n @Event()\r\n dsoMainPanelToggle!: EventEmitter<ViewerGridMainToggleEvent>;\r\n\r\n @Element()\r\n host!: HTMLDsoViewerGridElement;\r\n\r\n @State()\r\n tabView = window.innerWidth < tabViewBreakpoint;\r\n\r\n private filterpanel: HTMLDialogElement | undefined;\r\n\r\n private get filterpanelSlot() {\r\n return this.host.querySelector(\"[slot='filterpanel']\");\r\n }\r\n\r\n private get overlaySlot() {\r\n return this.host.querySelector(\"[slot='overlay']\");\r\n }\r\n\r\n private overlay: HTMLDialogElement | undefined;\r\n\r\n @Watch(\"documentPanelOpen\")\r\n documentPanelOpenWatcher(open: boolean) {\r\n if (open) {\r\n this._checkMainPanelVisibility();\r\n }\r\n }\r\n\r\n @Watch(\"filterpanelOpen\")\r\n filterpanelOpenWatcher(open: boolean) {\r\n if (!this.filterpanelSlot) {\r\n console.warn(\"slot 'filterpanel' has not been set\");\r\n }\r\n\r\n if (open) {\r\n this.filterpanel?.showModal();\r\n } else {\r\n this.filterpanel?.close();\r\n }\r\n }\r\n\r\n @Watch(\"overlayOpen\")\r\n overlayOpenWatcher(open: boolean) {\r\n if (!this.overlaySlot) {\r\n console.warn(\"slot 'overlay' has not been set\");\r\n }\r\n\r\n if (open) {\r\n this.overlay?.showModal();\r\n } else {\r\n this.overlay?.close();\r\n }\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _checkMainPanelVisibility() {\r\n if (\r\n this.mode === \"vdk\" &&\r\n this.documentPanelOpen &&\r\n !this.mainPanelHidden &&\r\n this.mapElement instanceof HTMLDivElement &&\r\n ((this.mapElement.clientWidth <= minMapElementWidth + buttonWidth + buttonWidth && !this.mainPanelExpanded) ||\r\n (this.mapElement.clientWidth <= buttonWidth + buttonWidth && this.mainPanelExpanded))\r\n ) {\r\n this.dsoMainPanelToggle.emit({\r\n hide: true,\r\n });\r\n }\r\n }\r\n\r\n private switchActiveTab = (tab: ViewerGridTab) => {\r\n this.dsoActiveTabSwitch.emit({\r\n tab,\r\n });\r\n };\r\n\r\n private emitShrinkMain = () => {\r\n this.dsoMainSizeChange.emit({\r\n currentSize: this.mainSize,\r\n nextSize: this.mainSize === \"large\" ? \"medium\" : \"small\",\r\n });\r\n };\r\n\r\n private emitExpandMain = () => {\r\n this.dsoMainSizeChange.emit({\r\n currentSize: this.mainSize,\r\n nextSize: this.mainSize === \"small\" ? \"medium\" : \"large\",\r\n });\r\n };\r\n\r\n private shrinkDocumentPanel = () => {\r\n this.dsoDocumentPanelSizeChange.emit({\r\n currentSize: this.documentPanelSize,\r\n nextSize: this.documentPanelSize === \"large\" ? \"medium\" : \"small\",\r\n });\r\n };\r\n\r\n private expandDocumentPanel = () => {\r\n this.dsoDocumentPanelSizeChange.emit({\r\n currentSize: this.documentPanelSize,\r\n nextSize: this.documentPanelSize === \"small\" ? \"medium\" : \"large\",\r\n });\r\n };\r\n\r\n private toggleMainPanel = () => {\r\n if (\r\n this.mapElement instanceof HTMLDivElement &&\r\n this.mapElement.clientWidth <= minMapElementWidth + buttonWidth + buttonWidth\r\n ) {\r\n this.mainSize = \"small\";\r\n }\r\n\r\n this.dsoMainPanelToggle.emit({\r\n hide: !this.mainPanelHidden,\r\n });\r\n };\r\n\r\n private changeListener = (largeScreen: MediaQueryListEvent) => (this.tabView = !largeScreen.matches);\r\n\r\n private handleFilterpanelApply = (mouseEvent: MouseEvent | Event) => {\r\n this.dsoFilterpanelApply.emit({ originalEvent: mouseEvent });\r\n };\r\n\r\n private handleFilterpanelCancel = (mouseEvent: MouseEvent | Event) => {\r\n this.dsoFilterpanelCancel.emit({ originalEvent: mouseEvent });\r\n };\r\n\r\n connectedCallback() {\r\n window.matchMedia(this.mediaCondition).addEventListener(\"change\", this.changeListener);\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.filterpanelOpen && this.filterpanelSlot) {\r\n this.filterpanel?.showModal();\r\n }\r\n\r\n if (this.overlayOpen && this.overlaySlot) {\r\n this.overlay?.showModal();\r\n }\r\n\r\n if (this.mode === \"vdk\" && this.mapElement instanceof HTMLDivElement) {\r\n resizeObserver.observe(this.mapElement);\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n window.matchMedia(this.mediaCondition).removeEventListener(\"change\", this.changeListener);\r\n\r\n if (this.mode === \"vdk\" && this.mapElement) {\r\n resizeObserver.unobserve(this.mapElement);\r\n }\r\n }\r\n\r\n render() {\r\n const tabLabels = this.mode === \"vdk\" ? viewerGridVdkTabs : viewerGridVrkTabs;\r\n\r\n return (\r\n <>\r\n {this.tabView && (\r\n <nav class=\"dso-navbar\">\r\n <ul class=\"dso-nav dso-nav-sub\">\r\n {tabLabels.map((tab) => (\r\n <li key={tab} class={clsx({ \"dso-active\": this.activeTab === tab })}>\r\n <button type=\"button\" class=\"dso-tertiary\" onClick={() => this.switchActiveTab(tab)}>\r\n {viewerGridTabLabelMap[tab]}\r\n </button>\r\n </li>\r\n ))}\r\n </ul>\r\n </nav>\r\n )}\r\n {(!this.tabView || (this.tabView && (this.activeTab === \"main\" || this.activeTab === \"search\"))) && (\r\n <MainPanel\r\n mode={this.mode}\r\n tabView={this.tabView}\r\n mainSize={this.mainSize}\r\n documentPanelOpen={this.documentPanelOpen}\r\n mainPanelExpanded={this.mainPanelExpanded}\r\n mainPanelHidden={this.mainPanelHidden}\r\n shrinkMain={this.emitShrinkMain}\r\n expandMain={this.emitExpandMain}\r\n toggleMainPanel={this.toggleMainPanel}\r\n dsoMainSizeChangeAnimationEnd={this.dsoMainSizeChangeAnimationEnd}\r\n ></MainPanel>\r\n )}\r\n <Filterpanel\r\n ref={(element) => (this.filterpanel = element)}\r\n onApply={this.handleFilterpanelApply}\r\n onCancel={this.handleFilterpanelCancel}\r\n ></Filterpanel>\r\n {(!this.tabView || (this.tabView && this.activeTab === \"map\")) && (\r\n <div class=\"map\" ref={(element) => (this.mapElement = element)}>\r\n <slot name=\"map\" />\r\n </div>\r\n )}\r\n {((!this.tabView && this.documentPanelOpen) || (this.tabView && this.activeTab === \"document\")) && (\r\n <DocumentPanel\r\n tabView={this.tabView}\r\n panelSize={this.documentPanelSize}\r\n shrinkDocumentPanel={this.shrinkDocumentPanel}\r\n expandDocumentPanel={this.expandDocumentPanel}\r\n dsoDocumentPanelSizeChangeAnimationEnd={this.dsoDocumentPanelSizeChangeAnimationEnd}\r\n ></DocumentPanel>\r\n )}\r\n <Overlay\r\n ref={(element) => (this.overlay = element)}\r\n dsoCloseOverlay={(e) => this.dsoCloseOverlay.emit({ originalEvent: e })}\r\n ></Overlay>\r\n </>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as s,c as t,h as e,H as i,a}from"./p-53096a64.js";const o=":host{display:block}";const r=o;const l=[{width:624,alias:"large"},{width:375,alias:"medium"},{width:0,alias:"small"}];const h=class{constructor(e){s(this,e);this.dsoSizeChange=t(this,"dsoSizeChange",7);this.observer=new ResizeObserver((([s])=>{var t,e;if(!s){throw new Error("No entry found")}const i=(e=(t=l.find((t=>s.contentRect.width>=t.width)))===null||t===void 0?void 0:t.alias)!==null&&e!==void 0?e:l[0].alias;this.sizeAlias=i;this.dsoSizeChange.emit(i)}));this.sizeAlias=l[0].alias;this.sizeWidth=0}async getSize(){return this.sizeAlias}componentWillLoad(){this.observer.observe(this.host)}disconnectedCallback(){this.observer.unobserve(this.host)}render(){return e(i,{key:"457b1983ff925174c7e41bc11ef3f1b69f98b860",small:this.sizeAlias==="small",medium:this.sizeAlias==="medium",large:this.sizeAlias==="large"},e("slot",{key:"f560e834ad9dc5c4391acf73e5f14e0339338a60"}))}get host(){return a(this)}};h.style=r;export{h as dso_responsive_element};
2
- //# sourceMappingURL=p-1b0a9864.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["responsiveElementCss","DsoResponsiveElementStyle0","elementSizes","width","alias","ResponsiveElement","this","observer","ResizeObserver","entry","Error","size","_b","_a","find","s","contentRect","sizeAlias","dsoSizeChange","emit","getSize","componentWillLoad","observe","host","disconnectedCallback","unobserve","render","h","Host","key","small","medium","large"],"sources":["src/components/responsive-element/responsive-element.scss?tag=dso-responsive-element&encapsulation=shadow","src/components/responsive-element/responsive-element.tsx"],"sourcesContent":[":host {\r\n display: block;\r\n}\r\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Host, Method, State } from \"@stencil/core\";\r\n\r\nimport { ElementSize, ResponsiveElementSize } from \"./responsive-element.interfaces\";\r\n\r\nconst elementSizes: [ElementSize, ElementSize, ElementSize] = [\r\n {\r\n width: 624,\r\n alias: \"large\",\r\n },\r\n {\r\n width: 375,\r\n alias: \"medium\",\r\n },\r\n {\r\n width: 0,\r\n alias: \"small\",\r\n },\r\n];\r\n\r\n@Component({\r\n tag: \"dso-responsive-element\",\r\n styleUrl: \"./responsive-element.scss\",\r\n shadow: true,\r\n})\r\nexport class ResponsiveElement implements ComponentInterface {\r\n @State()\r\n sizeAlias: ResponsiveElementSize = elementSizes[0].alias;\r\n\r\n @State()\r\n sizeWidth = 0;\r\n\r\n /**\r\n * Emitted when size has changed\r\n */\r\n @Event()\r\n dsoSizeChange!: EventEmitter<ResponsiveElementSize>;\r\n\r\n /**\r\n * The current size\r\n */\r\n @Method()\r\n async getSize(): Promise<ResponsiveElementSize> {\r\n return this.sizeAlias;\r\n }\r\n\r\n private observer = new ResizeObserver(([entry]) => {\r\n if (!entry) {\r\n throw new Error(\"No entry found\");\r\n }\r\n\r\n const size = elementSizes.find((s) => entry.contentRect.width >= s.width)?.alias ?? elementSizes[0].alias;\r\n\r\n this.sizeAlias = size;\r\n this.dsoSizeChange.emit(size);\r\n });\r\n\r\n @Element()\r\n host!: HTMLDsoResponsiveElementElement;\r\n\r\n componentWillLoad() {\r\n this.observer.observe(this.host);\r\n }\r\n\r\n disconnectedCallback() {\r\n this.observer.unobserve(this.host);\r\n }\r\n\r\n render() {\r\n return (\r\n <Host small={this.sizeAlias === \"small\"} medium={this.sizeAlias === \"medium\"} large={this.sizeAlias === \"large\"}>\r\n <slot />\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"2DAAA,MAAMA,EAAuB,uBAC7B,MAAAC,EAAeD,ECGf,MAAME,EAAwD,CAC5D,CACEC,MAAO,IACPC,MAAO,SAET,CACED,MAAO,IACPC,MAAO,UAET,CACED,MAAO,EACPC,MAAO,U,MASEC,EAAiB,M,sEAqBpBC,KAAAC,SAAW,IAAIC,gBAAe,EAAEC,M,QACtC,IAAKA,EAAO,CACV,MAAM,IAAIC,MAAM,iB,CAGlB,MAAMC,GAAOC,GAAAC,EAAAX,EAAaY,MAAMC,GAAMN,EAAMO,YAAYb,OAASY,EAAEZ,WAAM,MAAAU,SAAA,SAAAA,EAAET,SAAK,MAAAQ,SAAA,EAAAA,EAAIV,EAAa,GAAGE,MAEpGE,KAAKW,UAAYN,EACjBL,KAAKY,cAAcC,KAAKR,EAAK,I,eA3BIT,EAAa,GAAGE,M,eAGvC,C,CAYZ,aAAMgB,GACJ,OAAOd,KAAKW,S,CAiBd,iBAAAI,GACEf,KAAKC,SAASe,QAAQhB,KAAKiB,K,CAG7B,oBAAAC,GACElB,KAAKC,SAASkB,UAAUnB,KAAKiB,K,CAG/B,MAAAG,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAOxB,KAAKW,YAAc,QAASc,OAAQzB,KAAKW,YAAc,SAAUe,MAAO1B,KAAKW,YAAc,SACtGU,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,h as s,H as e,a as i}from"./p-53096a64.js";import{t as o}from"./p-1dbcaeef.js";import{h as n,c as r}from"./p-202d2cdf.js";import{g as a}from"./p-c8f6f8d9.js";import{v as h}from"./p-ffb34aa5.js";const f=":host(:focus){outline:none}:host{display:inline-block}";const d=f;const c=class{constructor(s){t(this,s);this.focusOutListener=t=>{if(this.open&&(!(t.relatedTarget instanceof HTMLElement)||!this.tabbables(true).includes(t.relatedTarget))){this.open=false}};this.escape=()=>{this.button.focus();this.open=false};this.open=false;this.dropdownAlign="left";this.dropdownOptionsOffset=2;this.checkable=false;this.boundary=undefined;this.placement=undefined;this.strategy="auto"}watchPosition(){if(!this.popper){return}this.popper.setOptions({placement:this.placement||(this.dropdownAlign==="right"?"bottom-end":"bottom-start")})}watchOptionsOffset(){var t;(t=this.popper)===null||t===void 0?void 0:t.setOptions({modifiers:[{name:"offset",options:{offset:[0,this.dropdownOptionsOffset]}}]})}watchStrategy(){this.setStrategy()}setStrategy(){if(!this.popper){return}if(this.strategy==="absolute"||this.strategy==="fixed"){this.popper.setOptions({strategy:this.strategy});return}let t=this.host;const s=this.boundary||document;while(t&&t.parentNode!==s){t=t.parentNode instanceof ShadowRoot?t.parentNode.host:t.parentElement;if(t!==null&&n(t)){this.popper.setOptions({strategy:"fixed"});return}}this.popper.setOptions({strategy:"absolute"})}get button(){const t=this.host.querySelector('button[slot="toggle"]');if(!(t instanceof HTMLButtonElement)){throw new ReferenceError("Mandatory toggle button not found")}return t}tabbables(t){const s=this.host.isConnected?o(this.host):[];return t?s:s.filter((t=>t!==this.button))}componentDidLoad(){this.button.setAttribute("aria-haspopup","menu");this.button.setAttribute("aria-expanded","false");if(!this.button.id){this.button.id=h()}const t=this.host.querySelector(".dso-dropdown-options");if(!t){throw new ReferenceError("Dropdown options not found")}t.setAttribute("role","menu");t.setAttribute("aria-labelledby",this.button.id);for(const t of Array.from(this.host.getElementsByTagName("ul"))){t.setAttribute("role","group");for(const s of Array.from(t.getElementsByTagName("li"))){s.setAttribute("role","none")}}if(this.popper){return}const s=this.host.querySelector(".dso-dropdown-options");if(!(s instanceof HTMLElement)){throw new Error("dropdown options element is not instanceof HTMLElement")}this.popper=r(this.button,s,{placement:this.placement||(this.dropdownAlign==="right"?"bottom-end":"bottom-start"),modifiers:[{name:"offset",options:{offset:[0,this.dropdownOptionsOffset]}},{name:"preventOverflow",options:{boundary:this.boundary?document.querySelector(this.boundary):null},enabled:this.boundary!==undefined}]})}componentDidRender(){var t;this.setStrategy();if(this.open){(t=this.popper)===null||t===void 0?void 0:t.update()}for(const t of Array.from(this.host.getElementsByTagName("li"))){for(const s of this.host.isConnected?o(t):[]){s.setAttribute("role",this.checkable?"menuitemradio":"menuitem");if(this.checkable){s.setAttribute("aria-checked",t.classList.contains("dso-checked").toString())}}}this.button.setAttribute("aria-expanded",this.open?"true":"false")}onClick(t){const s=t.composedPath();if(this.isToggleButtonEvent(s)){this.open=!this.open}else if(this.open&&this.isMenuItemEvent(s)){this.open=false}}isToggleButtonEvent(t){return t.includes(this.button)}isMenuItemEvent(t){return t.includes(this.host)&&!this.isToggleButtonEvent(t)}disconnectedCallback(){var t;(t=this.popper)===null||t===void 0?void 0:t.destroy()}keyDownListener(t){if(t.defaultPrevented||!this.open){return}switch(t.key){case"Tab":if(t.shiftKey){this.tabInPopup(this.tabbables(true),-1)}else{this.tabInPopup(this.tabbables(true),1)}break;case"ArrowDown":this.tabInPopup(this.tabbables(false),1);break;case"ArrowUp":this.tabInPopup(this.tabbables(false),-1);break;case"Escape":this.escape();break;case" ":if(t.target instanceof HTMLElement){t.target.click()}break;default:return}t.preventDefault()}tabInPopup(t,s){var e;const i=t.findIndex((t=>t===a()));let o=i+s;if(o>=t.length){o=0}else if(o<0){o=t.length-1}(e=t[o])===null||e===void 0?void 0:e.focus()}render(){return s(e,{key:"ebc0df48bddf5e5af45882ab477933600f51bc8d",onFocusout:this.focusOutListener},s("slot",{key:"f301473bc073577fb97836bb23d4cb2da3f3f513",name:"toggle"}),s("div",{key:"d19647c158cd6c41a40760c27399e071d2e15df3",hidden:!this.open},s("slot",{key:"f82e6a4557fd6db74c47ad22c1742d8e0a1033e3"})))}get host(){return i(this)}static get watchers(){return{placement:["watchPosition"],dropdownAlign:["watchPosition"],dropdownOptionsOffset:["watchOptionsOffset"],strategy:["watchStrategy"]}}};c.style=d;export{c as dso_dropdown_menu};
2
- //# sourceMappingURL=p-1d087bc6.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["dropdownMenuCss","DsoDropdownMenuStyle0","DropdownMenu","this","focusOutListener","event","open","relatedTarget","HTMLElement","tabbables","includes","escape","button","focus","watchPosition","popper","setOptions","placement","dropdownAlign","watchOptionsOffset","_a","modifiers","name","options","offset","dropdownOptionsOffset","watchStrategy","setStrategy","strategy","element","host","boundary","document","parentNode","ShadowRoot","parentElement","hasOverflow","querySelector","HTMLButtonElement","ReferenceError","withButton","isConnected","tabbable","filter","componentDidLoad","setAttribute","id","uuidv4","ul","Array","from","getElementsByTagName","li","dropdownOptionsElement","Error","createPopper","enabled","undefined","componentDidRender","update","tab","checkable","classList","contains","toString","onClick","composedPath","isToggleButtonEvent","isMenuItemEvent","disconnectedCallback","destroy","keyDownListener","defaultPrevented","key","shiftKey","tabInPopup","target","click","preventDefault","direction","currentIndex","findIndex","e","getActiveElement","nextIndex","length","render","h","Host","onFocusout","hidden"],"sources":["src/components/dropdown-menu/dropdown-menu.scss?tag=dso-dropdown-menu&encapsulation=shadow","src/components/dropdown-menu/dropdown-menu.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/components/dropdown-menu\";\r\n\r\n:host(:focus) {\r\n outline: none;\r\n}\r\n\r\n:host {\r\n @include dropdown-menu.root();\r\n}\r\n","import { createPopper, Placement, Instance as PopperInstance } from \"@popperjs/core\";\r\nimport { h, Component, Element, Host, Prop, Watch, Listen } from \"@stencil/core\";\r\nimport { FocusableElement, tabbable } from \"tabbable\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { hasOverflow } from \"../../utils/has-overflow\";\r\nimport { getActiveElement } from \"../../utils/get-active-element\";\r\n\r\n@Component({\r\n tag: \"dso-dropdown-menu\",\r\n styleUrl: \"dropdown-menu.scss\",\r\n shadow: true,\r\n})\r\nexport class DropdownMenu {\r\n /**\r\n * Whether the menu is open or closed.\r\n * This attribute is reflected and mutable.\r\n */\r\n @Prop({ reflect: true, mutable: true })\r\n open = false;\r\n\r\n /**\r\n * Alignment of the dropdown\r\n */\r\n @Prop()\r\n dropdownAlign: \"left\" | \"right\" = \"left\";\r\n\r\n /**\r\n * Space between button and dropdown options\r\n */\r\n @Prop()\r\n dropdownOptionsOffset = 2;\r\n\r\n /**\r\n * Whether the menu is checkable.\r\n */\r\n @Prop()\r\n checkable = false;\r\n\r\n /**\r\n * Selector for the element the dropdown options should not be overflowing.\r\n */\r\n @Prop()\r\n boundary?: string;\r\n\r\n /**\r\n * Force placement of dropdown.\r\n *\r\n * This property overrides `dropdownAlign`.\r\n */\r\n @Prop()\r\n placement?: Placement;\r\n\r\n /**\r\n * Set position strategy of dropdown options\r\n */\r\n @Prop()\r\n strategy: \"auto\" | \"absolute\" | \"fixed\" = \"auto\";\r\n\r\n @Watch(\"placement\")\r\n @Watch(\"dropdownAlign\")\r\n watchPosition() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n this.popper.setOptions({\r\n placement: this.placement || (this.dropdownAlign === \"right\" ? \"bottom-end\" : \"bottom-start\"),\r\n });\r\n }\r\n\r\n @Watch(\"dropdownOptionsOffset\")\r\n watchOptionsOffset() {\r\n this.popper?.setOptions({\r\n modifiers: [\r\n {\r\n name: \"offset\",\r\n options: {\r\n offset: [0, this.dropdownOptionsOffset],\r\n },\r\n },\r\n ],\r\n });\r\n }\r\n\r\n @Watch(\"strategy\")\r\n watchStrategy() {\r\n this.setStrategy();\r\n }\r\n\r\n private setStrategy() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n if (this.strategy === \"absolute\" || this.strategy === \"fixed\") {\r\n this.popper.setOptions({\r\n strategy: this.strategy,\r\n });\r\n\r\n return;\r\n }\r\n\r\n let element: Element | null = this.host;\r\n\r\n const boundary = this.boundary || document;\r\n\r\n while (element && element.parentNode !== boundary) {\r\n element = element.parentNode instanceof ShadowRoot ? element.parentNode.host : element.parentElement;\r\n if (element !== null && hasOverflow(element)) {\r\n this.popper.setOptions({\r\n strategy: \"fixed\",\r\n });\r\n\r\n return;\r\n }\r\n }\r\n\r\n this.popper.setOptions({\r\n strategy: \"absolute\",\r\n });\r\n }\r\n\r\n @Element()\r\n host!: HTMLDsoDropdownMenuElement;\r\n\r\n private popper: PopperInstance | undefined;\r\n\r\n get button(): HTMLButtonElement {\r\n const button = this.host.querySelector('button[slot=\"toggle\"]');\r\n\r\n if (!(button instanceof HTMLButtonElement)) {\r\n throw new ReferenceError(\"Mandatory toggle button not found\");\r\n }\r\n\r\n return button;\r\n }\r\n\r\n private tabbables(withButton: boolean): FocusableElement[] {\r\n const tabbables = this.host.isConnected ? tabbable(this.host) : [];\r\n\r\n return withButton ? tabbables : tabbables.filter((element) => element !== this.button);\r\n }\r\n\r\n componentDidLoad() {\r\n this.button.setAttribute(\"aria-haspopup\", \"menu\");\r\n this.button.setAttribute(\"aria-expanded\", \"false\");\r\n if (!this.button.id) {\r\n this.button.id = uuidv4();\r\n }\r\n\r\n const options = this.host.querySelector(\".dso-dropdown-options\");\r\n if (!options) {\r\n throw new ReferenceError(\"Dropdown options not found\");\r\n }\r\n\r\n options.setAttribute(\"role\", \"menu\");\r\n options.setAttribute(\"aria-labelledby\", this.button.id);\r\n\r\n for (const ul of Array.from(this.host.getElementsByTagName(\"ul\"))) {\r\n ul.setAttribute(\"role\", \"group\");\r\n for (const li of Array.from(ul.getElementsByTagName(\"li\"))) {\r\n li.setAttribute(\"role\", \"none\");\r\n }\r\n }\r\n\r\n if (this.popper) {\r\n return;\r\n }\r\n\r\n const dropdownOptionsElement = this.host.querySelector(\".dso-dropdown-options\");\r\n\r\n if (!(dropdownOptionsElement instanceof HTMLElement)) {\r\n throw new Error(\"dropdown options element is not instanceof HTMLElement\");\r\n }\r\n\r\n this.popper = createPopper(this.button, dropdownOptionsElement, {\r\n placement: this.placement || (this.dropdownAlign === \"right\" ? \"bottom-end\" : \"bottom-start\"),\r\n modifiers: [\r\n {\r\n name: \"offset\",\r\n options: {\r\n offset: [0, this.dropdownOptionsOffset],\r\n },\r\n },\r\n {\r\n name: \"preventOverflow\",\r\n options: {\r\n boundary: this.boundary ? document.querySelector(this.boundary) : null,\r\n },\r\n enabled: this.boundary !== undefined,\r\n },\r\n ],\r\n });\r\n }\r\n\r\n componentDidRender() {\r\n this.setStrategy();\r\n if (this.open) {\r\n this.popper?.update();\r\n }\r\n\r\n for (const li of Array.from(this.host.getElementsByTagName(\"li\"))) {\r\n for (const tab of this.host.isConnected ? tabbable(li) : []) {\r\n tab.setAttribute(\"role\", this.checkable ? \"menuitemradio\" : \"menuitem\");\r\n\r\n if (this.checkable) {\r\n tab.setAttribute(\"aria-checked\", li.classList.contains(\"dso-checked\").toString());\r\n }\r\n }\r\n }\r\n\r\n this.button.setAttribute(\"aria-expanded\", this.open ? \"true\" : \"false\");\r\n }\r\n\r\n @Listen(\"click\", { target: \"window\" })\r\n onClick(event: MouseEvent) {\r\n const composedPath = event.composedPath();\r\n\r\n if (this.isToggleButtonEvent(composedPath)) {\r\n this.open = !this.open;\r\n } else if (this.open && this.isMenuItemEvent(composedPath)) {\r\n this.open = false;\r\n }\r\n }\r\n\r\n private isToggleButtonEvent(composedPath: EventTarget[]) {\r\n return composedPath.includes(this.button);\r\n }\r\n\r\n private isMenuItemEvent(composedPath: EventTarget[]) {\r\n return composedPath.includes(this.host) && !this.isToggleButtonEvent(composedPath);\r\n }\r\n\r\n disconnectedCallback() {\r\n this.popper?.destroy();\r\n }\r\n\r\n private focusOutListener = (event: FocusEvent) => {\r\n if (\r\n this.open &&\r\n (!(event.relatedTarget instanceof HTMLElement) || !this.tabbables(true).includes(event.relatedTarget))\r\n ) {\r\n this.open = false;\r\n }\r\n };\r\n\r\n @Listen(\"keydown\", { target: \"window\" })\r\n keyDownListener(event: KeyboardEvent) {\r\n if (event.defaultPrevented || !this.open) {\r\n return;\r\n }\r\n\r\n switch (event.key) {\r\n case \"Tab\":\r\n if (event.shiftKey) {\r\n this.tabInPopup(this.tabbables(true), -1);\r\n } else {\r\n this.tabInPopup(this.tabbables(true), 1);\r\n }\r\n\r\n break;\r\n case \"ArrowDown\":\r\n this.tabInPopup(this.tabbables(false), 1);\r\n break;\r\n\r\n case \"ArrowUp\":\r\n this.tabInPopup(this.tabbables(false), -1);\r\n break;\r\n\r\n case \"Escape\":\r\n this.escape();\r\n break;\r\n\r\n case \" \":\r\n if (event.target instanceof HTMLElement) {\r\n event.target.click();\r\n }\r\n\r\n break;\r\n\r\n default:\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n }\r\n\r\n private tabInPopup(tabbables: FocusableElement[], direction: number) {\r\n const currentIndex = tabbables.findIndex((e) => e === getActiveElement());\r\n\r\n let nextIndex = currentIndex + direction;\r\n if (nextIndex >= tabbables.length) {\r\n nextIndex = 0;\r\n } else if (nextIndex < 0) {\r\n nextIndex = tabbables.length - 1;\r\n }\r\n\r\n tabbables[nextIndex]?.focus();\r\n }\r\n\r\n private escape = () => {\r\n this.button.focus();\r\n this.open = false;\r\n };\r\n\r\n render() {\r\n return (\r\n <Host onFocusout={this.focusOutListener}>\r\n <slot name=\"toggle\" />\r\n <div hidden={!this.open}>\r\n <slot />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as s,h as r}from"./p-53096a64.js";const e=":host{display:block}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.progress{margin-block-end:8px}.progress .progress-bar{background-color:#fff;border:1px solid #39870c;display:block;block-size:16px}.progress .progress-bar>span{background-color:#39870c;float:inline-start;block-size:100%;inline-size:0%}.progress .progress-bar+span{font-size:14px;margin-block-start:8px}";const a=e;const o=class{constructor(r){s(this,r);this.progress=undefined;this.min=0;this.max=100}render(){const s=Math.round(this.progress);const e=`${s}%`;return r("div",{key:"8d1ef26a0057600a7c9b04192c56fbe033ff7964",class:"progress"},r("span",{key:"3a3040f35495aae0197dcb7603302adf6aa37db0",class:"progress-bar",role:"progressbar","aria-labelledby":"progress-bar-label","aria-valuenow":s,"aria-valuemin":this.min,"aria-valuemax":this.max},r("span",{key:"52807607101891d339fad53d0941aa9e271ffed0",style:{width:`${e}`}})),r("span",{key:"886f755e1baddc370fdf5799bd73e9b92787a99c",id:"progress-bar-label"},r("slot",{key:"f0461d69044d89438d78186c7db8e3e0ad07ec12"})))}};o.style=a;export{o as dso_progress_bar};
2
- //# sourceMappingURL=p-20b90390.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["progressBarCss","DsoProgressBarStyle0","ProgressBar","render","progressNumber","Math","round","this","progress","progressPercentage","h","key","class","role","min","max","style","width","id"],"sources":["src/components/progress-bar/progress-bar.scss?tag=dso-progress-bar&encapsulation=shadow","src/components/progress-bar/progress-bar.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/progress-bar\";\r\n\r\n:host {\r\n display: block;\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.progress {\r\n @include progress-bar.root();\r\n}\r\n","import { Component, h, Prop } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"dso-progress-bar\",\r\n styleUrl: \"progress-bar.scss\",\r\n shadow: true,\r\n})\r\nexport class ProgressBar {\r\n /**\r\n * The current progress. Should be between `min` and `max`.\r\n */\r\n @Prop()\r\n progress!: number;\r\n\r\n /**\r\n * From where progress is made.\r\n */\r\n @Prop()\r\n min = 0;\r\n\r\n /**\r\n * When the operation completes.\r\n */\r\n @Prop()\r\n max = 100;\r\n\r\n render() {\r\n const progressNumber = Math.round(this.progress);\r\n const progressPercentage = `${progressNumber}%`;\r\n\r\n return (\r\n <div class=\"progress\">\r\n <span\r\n class=\"progress-bar\"\r\n role=\"progressbar\"\r\n aria-labelledby=\"progress-bar-label\"\r\n aria-valuenow={progressNumber}\r\n aria-valuemin={this.min}\r\n aria-valuemax={this.max}\r\n >\r\n <span style={{ width: `${progressPercentage}` }}></span>\r\n </span>\r\n <span id=\"progress-bar-label\">\r\n <slot></slot>\r\n </span>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"2CAAA,MAAMA,EAAiB,gfACvB,MAAAC,EAAeD,E,MCMFE,EAAW,M,0DAWhB,E,SAMA,G,CAEN,MAAAC,GACE,MAAMC,EAAiBC,KAAKC,MAAMC,KAAKC,UACvC,MAAMC,EAAqB,GAAGL,KAE9B,OACEM,EAAA,OAAAC,IAAA,2CAAKC,MAAM,YACTF,EAAA,QAAAC,IAAA,2CACEC,MAAM,eACNC,KAAK,cAAa,kBACF,qBAAoB,gBACrBT,EAAc,gBACdG,KAAKO,IAAG,gBACRP,KAAKQ,KAEpBL,EAAA,QAAAC,IAAA,2CAAMK,MAAO,CAAEC,MAAO,GAAGR,QAE3BC,EAAA,QAAAC,IAAA,2CAAMO,GAAG,sBACPR,EAAA,QAAAC,IAAA,8C","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as n,c as e,h as o,F as t,a as r,H as a}from"./p-53096a64.js";import{A as i}from"./p-93d7574c.js";import{w as s,A as d,a as l}from"./p-559d80cb.js";import{i as c}from"./p-2d694112.js";const b='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}a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary)).download{background-image:url("./di.svg#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("./di.svg#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}a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary)).extern{background-image:url("./di.svg#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("./di.svg#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}a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary))[href^="tel:"]{background-image:url("./di.svg#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("./di.svg#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}a:where(:not(.dso-primary,.dso-secondary,.dso-tertiary))[href^="mailto:"]{background-image:url("./di.svg#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("./di.svg#email-scampi")}:host{display:block;padding:2px}:host([wijzigactie=voegtoe]){--link-color:currentColor;--link-hover-color:currentColor;--link-visited-color:currentColor;background-color:#e4f1d4;border-color:#e4f1d4;color:#191919}:host([wijzigactie=voegtoe]) a:is(.download,.download:hover,.download:focus-visible){background-image:url("./di.svg#download-zwart")}:host([wijzigactie=voegtoe]) a:is(.extern,.extern:hover,.extern:focus-visible){background-image:url("./di.svg#external-link-zwart")}:host([wijzigactie=voegtoe]) a:is([href^="tel:"],[href^="tel:"]:hover,[href^="tel:"]:focus-visible){background-image:url("./di.svg#call-zwart")}:host([wijzigactie=voegtoe]) a:is([href^="mailto:"],[href^="mailto:"]:hover,[href^="mailto:"]:focus-visible){background-image:url("./di.svg#email-zwart")}:host([wijzigactie=voegtoe]){box-shadow:0 1px 3px 1px rgba(0, 0, 0, 0.25)}:host([wijzigactie=verwijder]){--link-color:currentColor;--link-hover-color:currentColor;--link-visited-color:currentColor;background-color:#f5d8dc;border-color:#f5d8dc;color:#191919}:host([wijzigactie=verwijder]) a:is(.download,.download:hover,.download:focus-visible){background-image:url("./di.svg#download-zwart")}:host([wijzigactie=verwijder]) a:is(.extern,.extern:hover,.extern:focus-visible){background-image:url("./di.svg#external-link-zwart")}:host([wijzigactie=verwijder]) a:is([href^="tel:"],[href^="tel:"]:hover,[href^="tel:"]:focus-visible){background-image:url("./di.svg#call-zwart")}:host([wijzigactie=verwijder]) a:is([href^="mailto:"],[href^="mailto:"]:hover,[href^="mailto:"]:focus-visible){background-image:url("./di.svg#email-zwart")}:host([wijzigactie=verwijder]){text-decoration:line-through}@media screen and (min--moz-device-pixel-ratio: 0){:host([wijzigactie=verwijder]){font-family:sans-serif}}*,*::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}.annotation-data{font-size:0.875rem}';const h=b;const g=class{constructor(o){n(this,o);this.dsoActiveChange=e(this,"dsoActiveChange",7);this.watcher=s(this.host);this.wijzigactie=undefined;this.active=undefined;this.gewijzigdeLocatie=undefined;this.locatieNoemer=undefined}connectedCallback(){this.watcher.watch()}disconnectedCallback(){this.watcher.unwatch()}render(){const n=this.watcher.hasSymbool();return o(i,{key:"662684126533447bdee1394221937203261601be",symbol:n?o(d,null):undefined,active:this.active,dsoActiveChange:this.dsoActiveChange,title:o(t,null,o("span",{class:"content"},o("dso-renvooi",{value:this.locatieNoemer})),this.gewijzigdeLocatie&&o(l,null))})}get host(){return r(this)}};g.style=h;var f=undefined&&undefined.__rest||function(n,e){var o={};for(var t in n)if(Object.prototype.hasOwnProperty.call(n,t)&&e.indexOf(t)<0)o[t]=n[t];if(n!=null&&typeof Object.getOwnPropertySymbols==="function")for(var r=0,t=Object.getOwnPropertySymbols(n);r<t.length;r++){if(e.indexOf(t[r])<0&&Object.prototype.propertyIsEnumerable.call(n,t[r]))o[t[r]]=n[t[r]]}return o};const p=(n,e)=>{var{heading:t,mode:r,href:a,onClick:i}=n,s=f(n,["heading","mode","href","onClick"]);let d;switch(t){default:case"h2":d=o("h2",Object.assign({},s,{onClick:r==="document"?i:undefined}),e);break;case"h3":d=o("h3",Object.assign({},s,{onClick:r==="document"?i:undefined}),e);break;case"h4":d=o("h4",Object.assign({},s,{onClick:r==="document"?i:undefined}),e);break;case"h5":d=o("h5",Object.assign({},s,{onClick:r==="document"?i:undefined}),e);break;case"h6":d=o("h6",Object.assign({},s,{onClick:r==="document"?i:undefined}),e)}if(r==="table-of-contents"&&a){return o("a",{href:a,onClick:i,class:"heading-anchor"},d)}return d};const y="button {\n -webkit-appearance: button;\n color: inherit;\n cursor: pointer;\n font: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n}\nbutton[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\na.dso-primary,\nbutton.dso-primary,\nlabel.dso-primary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-block-end: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: start;\n user-select: none;\n vertical-align: middle;\n}\na.dso-primary:focus, a.dso-primary:focus-visible,\nbutton.dso-primary:focus,\nbutton.dso-primary:focus-visible,\nlabel.dso-primary:focus,\nlabel.dso-primary:focus-visible {\n outline-offset: 2px;\n}\na.dso-primary:active,\nbutton.dso-primary:active,\nlabel.dso-primary:active {\n outline: 0;\n}\na.dso-primary.extern::after, a.dso-primary.download::after,\nbutton.dso-primary.extern::after,\nbutton.dso-primary.download::after,\nlabel.dso-primary.extern::after,\nlabel.dso-primary.download::after {\n content: \"\";\n display: inline-block;\n margin-inline-start: 8px;\n}\na.dso-primary,\nbutton.dso-primary,\nlabel.dso-primary {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\na.dso-primary,\nbutton.dso-primary,\nlabel.dso-primary {\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-inline-size: 56px;\n padding-block: 11px;\n padding-inline: 15px;\n}\na.dso-primary:hover,\nbutton.dso-primary:hover,\nlabel.dso-primary:hover {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\na.dso-primary:active,\nbutton.dso-primary:active,\nlabel.dso-primary:active {\n background-color: #173521;\n border-color: #173521;\n color: #fff;\n}\na.dso-primary[disabled], a.dso-primary[disabled]:hover,\nbutton.dso-primary[disabled],\nbutton.dso-primary[disabled]:hover,\nlabel.dso-primary[disabled],\nlabel.dso-primary[disabled]:hover {\n background-color: #afcf9d;\n border-color: #afcf9d;\n color: #fff;\n}\na.dso-primary.dso-small,\nbutton.dso-primary.dso-small,\nlabel.dso-primary.dso-small {\n line-height: 1rem;\n}\na.dso-primary.dso-small dso-icon,\na.dso-primary.dso-small svg.di, a.dso-primary.dso-small.extern::after, a.dso-primary.dso-small.download::after, a.dso-primary.dso-small.dso-spinner::before,\nbutton.dso-primary.dso-small dso-icon,\nbutton.dso-primary.dso-small svg.di,\nbutton.dso-primary.dso-small.extern::after,\nbutton.dso-primary.dso-small.download::after,\nbutton.dso-primary.dso-small.dso-spinner::before,\nlabel.dso-primary.dso-small dso-icon,\nlabel.dso-primary.dso-small svg.di,\nlabel.dso-primary.dso-small.extern::after,\nlabel.dso-primary.dso-small.download::after,\nlabel.dso-primary.dso-small.dso-spinner::before {\n margin-block-end: -4px;\n margin-block-start: -4px;\n}\na.dso-primary.dso-small.dso-spinner-left::before,\nbutton.dso-primary.dso-small.dso-spinner-left::before,\nlabel.dso-primary.dso-small.dso-spinner-left::before {\n block-size: 16px;\n inline-size: 16px;\n}\na.dso-primary.dso-small.dso-spinner-right::after,\nbutton.dso-primary.dso-small.dso-spinner-right::after,\nlabel.dso-primary.dso-small.dso-spinner-right::after {\n block-size: 16px;\n inline-size: 16px;\n}\na.dso-primary dso-icon,\na.dso-primary svg.di,\nbutton.dso-primary dso-icon,\nbutton.dso-primary svg.di,\nlabel.dso-primary dso-icon,\nlabel.dso-primary svg.di {\n margin-inline-start: -8px;\n margin-inline-end: 8px;\n}\na.dso-primary span + dso-icon,\na.dso-primary span + svg.di,\nbutton.dso-primary span + dso-icon,\nbutton.dso-primary span + svg.di,\nlabel.dso-primary span + dso-icon,\nlabel.dso-primary span + svg.di {\n margin-inline-start: 8px;\n margin-inline-end: -8px;\n}\na.dso-primary.dso-spinner-left[disabled], a.dso-primary.dso-spinner-right[disabled],\nbutton.dso-primary.dso-spinner-left[disabled],\nbutton.dso-primary.dso-spinner-right[disabled],\nlabel.dso-primary.dso-spinner-left[disabled],\nlabel.dso-primary.dso-spinner-right[disabled] {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\na.dso-primary.dso-spinner-left::before,\nbutton.dso-primary.dso-spinner-left::before,\nlabel.dso-primary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\na.dso-primary.dso-spinner-right::after,\nbutton.dso-primary.dso-spinner-right::after,\nlabel.dso-primary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\na.dso-primary.download::after,\nbutton.dso-primary.download::after,\nlabel.dso-primary.download::after {\n background: url(\"./di.svg#download-wit\") no-repeat center;\n background-size: cover;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n}\na.dso-primary.extern::after,\nbutton.dso-primary.extern::after,\nlabel.dso-primary.extern::after {\n background: url(\"./di.svg#external-link-wit\") no-repeat center;\n background-size: cover;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n}\na.dso-secondary,\nbutton.dso-secondary,\nlabel.dso-secondary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-block-end: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: start;\n user-select: none;\n vertical-align: middle;\n}\na.dso-secondary:focus, a.dso-secondary:focus-visible,\nbutton.dso-secondary:focus,\nbutton.dso-secondary:focus-visible,\nlabel.dso-secondary:focus,\nlabel.dso-secondary:focus-visible {\n outline-offset: 2px;\n}\na.dso-secondary:active,\nbutton.dso-secondary:active,\nlabel.dso-secondary:active {\n outline: 0;\n}\na.dso-secondary.extern::after, a.dso-secondary.download::after,\nbutton.dso-secondary.extern::after,\nbutton.dso-secondary.download::after,\nlabel.dso-secondary.extern::after,\nlabel.dso-secondary.download::after {\n content: \"\";\n display: inline-block;\n margin-inline-start: 8px;\n}\na.dso-secondary,\nbutton.dso-secondary,\nlabel.dso-secondary {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\na.dso-secondary,\nbutton.dso-secondary,\nlabel.dso-secondary {\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-inline-size: 56px;\n padding-block: 11px;\n padding-inline: 15px;\n}\na.dso-secondary:hover,\nbutton.dso-secondary:hover,\nlabel.dso-secondary:hover {\n background-color: #d7e7ce;\n border-color: #39870c;\n color: #39870c;\n}\na.dso-secondary:active,\nbutton.dso-secondary:active,\nlabel.dso-secondary:active {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\na.dso-secondary[disabled], a.dso-secondary[disabled]:hover,\nbutton.dso-secondary[disabled],\nbutton.dso-secondary[disabled]:hover,\nlabel.dso-secondary[disabled],\nlabel.dso-secondary[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\na.dso-secondary.dso-small,\nbutton.dso-secondary.dso-small,\nlabel.dso-secondary.dso-small {\n line-height: 1rem;\n}\na.dso-secondary.dso-small dso-icon,\na.dso-secondary.dso-small svg.di, a.dso-secondary.dso-small.extern::after, a.dso-secondary.dso-small.download::after, a.dso-secondary.dso-small.dso-spinner::before,\nbutton.dso-secondary.dso-small dso-icon,\nbutton.dso-secondary.dso-small svg.di,\nbutton.dso-secondary.dso-small.extern::after,\nbutton.dso-secondary.dso-small.download::after,\nbutton.dso-secondary.dso-small.dso-spinner::before,\nlabel.dso-secondary.dso-small dso-icon,\nlabel.dso-secondary.dso-small svg.di,\nlabel.dso-secondary.dso-small.extern::after,\nlabel.dso-secondary.dso-small.download::after,\nlabel.dso-secondary.dso-small.dso-spinner::before {\n margin-block-end: -4px;\n margin-block-start: -4px;\n}\na.dso-secondary.dso-small.dso-spinner-left::before,\nbutton.dso-secondary.dso-small.dso-spinner-left::before,\nlabel.dso-secondary.dso-small.dso-spinner-left::before {\n block-size: 16px;\n inline-size: 16px;\n}\na.dso-secondary.dso-small.dso-spinner-right::after,\nbutton.dso-secondary.dso-small.dso-spinner-right::after,\nlabel.dso-secondary.dso-small.dso-spinner-right::after {\n block-size: 16px;\n inline-size: 16px;\n}\na.dso-secondary dso-icon,\na.dso-secondary svg.di,\nbutton.dso-secondary dso-icon,\nbutton.dso-secondary svg.di,\nlabel.dso-secondary dso-icon,\nlabel.dso-secondary svg.di {\n margin-inline-start: -8px;\n margin-inline-end: 8px;\n}\na.dso-secondary span + dso-icon,\na.dso-secondary span + svg.di,\nbutton.dso-secondary span + dso-icon,\nbutton.dso-secondary span + svg.di,\nlabel.dso-secondary span + dso-icon,\nlabel.dso-secondary span + svg.di {\n margin-inline-start: 8px;\n margin-inline-end: -8px;\n}\na.dso-secondary.dso-spinner-left[disabled], a.dso-secondary.dso-spinner-right[disabled],\nbutton.dso-secondary.dso-spinner-left[disabled],\nbutton.dso-secondary.dso-spinner-right[disabled],\nlabel.dso-secondary.dso-spinner-left[disabled],\nlabel.dso-secondary.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\na.dso-secondary.dso-spinner-left::before,\nbutton.dso-secondary.dso-spinner-left::before,\nlabel.dso-secondary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\na.dso-secondary.dso-spinner-left:not([disabled]):hover::before,\nbutton.dso-secondary.dso-spinner-left:not([disabled]):hover::before,\nlabel.dso-secondary.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\na.dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before,\nbutton.dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before,\nlabel.dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before {\n block-size: 16px;\n inline-size: 16px;\n}\na.dso-secondary.dso-spinner-right::after,\nbutton.dso-secondary.dso-spinner-right::after,\nlabel.dso-secondary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\na.dso-secondary.dso-spinner-right:not([disabled]):hover::after,\nbutton.dso-secondary.dso-spinner-right:not([disabled]):hover::after,\nlabel.dso-secondary.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\na.dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after,\nbutton.dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after,\nlabel.dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after {\n block-size: 16px;\n inline-size: 16px;\n}\na.dso-secondary.download::after,\nbutton.dso-secondary.download::after,\nlabel.dso-secondary.download::after {\n background: url(\"./di.svg#download\") no-repeat center;\n background-size: cover;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n}\na.dso-secondary.download:hover::after,\nbutton.dso-secondary.download:hover::after,\nlabel.dso-secondary.download:hover::after {\n background-image: url(\"./di.svg#download-wit\");\n}\na.dso-secondary.download[disabled]::after,\nbutton.dso-secondary.download[disabled]::after,\nlabel.dso-secondary.download[disabled]::after {\n background-image: url(\"./di.svg#download-grasgroen-40\");\n}\na.dso-secondary.extern::after,\nbutton.dso-secondary.extern::after,\nlabel.dso-secondary.extern::after {\n background: url(\"./di.svg#external-link\") no-repeat center;\n background-size: cover;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n}\na.dso-secondary.extern:hover::after,\nbutton.dso-secondary.extern:hover::after,\nlabel.dso-secondary.extern:hover::after {\n background-image: url(\"./di.svg#external-link-wit\");\n}\na.dso-secondary.extern[disabled]::after,\nbutton.dso-secondary.extern[disabled]::after,\nlabel.dso-secondary.extern[disabled]::after {\n background-image: url(\"./di.svg#external-link-grasgroen-40\");\n}\na.dso-tertiary,\nbutton.dso-tertiary,\nlabel.dso-tertiary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-block-end: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: start;\n user-select: none;\n vertical-align: middle;\n}\na.dso-tertiary:focus, a.dso-tertiary:focus-visible,\nbutton.dso-tertiary:focus,\nbutton.dso-tertiary:focus-visible,\nlabel.dso-tertiary:focus,\nlabel.dso-tertiary:focus-visible {\n outline-offset: 2px;\n}\na.dso-tertiary:active,\nbutton.dso-tertiary:active,\nlabel.dso-tertiary:active {\n outline: 0;\n}\na.dso-tertiary.extern::after, a.dso-tertiary.download::after,\nbutton.dso-tertiary.extern::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.extern::after,\nlabel.dso-tertiary.download::after {\n content: \"\";\n display: inline-block;\n margin-inline-start: 8px;\n}\na.dso-tertiary,\nbutton.dso-tertiary,\nlabel.dso-tertiary {\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n}\na.dso-tertiary[disabled],\nbutton.dso-tertiary[disabled],\nlabel.dso-tertiary[disabled] {\n color: #afcf9d;\n}\na.dso-tertiary[disabled].dso-spinner-left, a.dso-tertiary[disabled].dso-spinner-right,\nbutton.dso-tertiary[disabled].dso-spinner-left,\nbutton.dso-tertiary[disabled].dso-spinner-right,\nlabel.dso-tertiary[disabled].dso-spinner-left,\nlabel.dso-tertiary[disabled].dso-spinner-right {\n color: #39870c;\n}\na.dso-tertiary:not([disabled]):hover,\nbutton.dso-tertiary:not([disabled]):hover,\nlabel.dso-tertiary:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\na.dso-tertiary:not([disabled]):active,\nbutton.dso-tertiary:not([disabled]):active,\nlabel.dso-tertiary:not([disabled]):active {\n color: #173521;\n}\na.dso-tertiary.dso-align,\nbutton.dso-tertiary.dso-align,\nlabel.dso-tertiary.dso-align {\n line-height: calc(1.5em - 1px);\n padding-block: 11px;\n padding-inline: 0;\n position: relative;\n}\na.dso-tertiary.dso-truncate,\nbutton.dso-tertiary.dso-truncate,\nlabel.dso-tertiary.dso-truncate {\n max-inline-size: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\na.dso-tertiary.dso-spinner-left::before,\nbutton.dso-tertiary.dso-spinner-left::before,\nlabel.dso-tertiary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: middle;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\na.dso-tertiary.dso-spinner-right::after,\nbutton.dso-tertiary.dso-spinner-right::after,\nlabel.dso-tertiary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: middle;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\na.dso-tertiary dso-icon + span:not(.sr-only),\na.dso-tertiary svg.di + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + dso-icon,\na.dso-tertiary span:not(.sr-only) + svg.di,\nbutton.dso-tertiary dso-icon + span:not(.sr-only),\nbutton.dso-tertiary svg.di + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + dso-icon,\nbutton.dso-tertiary span:not(.sr-only) + svg.di,\nlabel.dso-tertiary dso-icon + span:not(.sr-only),\nlabel.dso-tertiary svg.di + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + dso-icon,\nlabel.dso-tertiary span:not(.sr-only) + svg.di {\n margin-inline-start: 8px;\n}\na.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\na.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\na.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up,\nbutton.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up,\nlabel.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up {\n margin-inline-start: 4px;\n}\na.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\na.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\na.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\na.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\na.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\na.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\na.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right],\nbutton.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\nbutton.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\nbutton.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\nbutton.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right],\nlabel.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\nlabel.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\nlabel.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\nlabel.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-inline-start: 0;\n}\na.dso-tertiary dso-icon,\na.dso-tertiary svg.di,\na.dso-tertiary span,\nbutton.dso-tertiary dso-icon,\nbutton.dso-tertiary svg.di,\nbutton.dso-tertiary span,\nlabel.dso-tertiary dso-icon,\nlabel.dso-tertiary svg.di,\nlabel.dso-tertiary span {\n vertical-align: middle;\n}\na.dso-tertiary.extern::after, a.dso-tertiary.download::after,\nbutton.dso-tertiary.extern::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.extern::after,\nlabel.dso-tertiary.download::after {\n position: relative;\n inset-block-start: -2px;\n}\na.dso-tertiary.download::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.download::after {\n background: url(\"./di.svg#download\") no-repeat center;\n background-size: cover;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n}\na.dso-tertiary.download[disabled]::after,\nbutton.dso-tertiary.download[disabled]::after,\nlabel.dso-tertiary.download[disabled]::after {\n background-image: url(\"./di.svg#download-grasgroen-40\");\n}\na.dso-tertiary.download:not([disabled]):hover::after, a.dso-tertiary.download:not([disabled]):active::after,\nbutton.dso-tertiary.download:not([disabled]):hover::after,\nbutton.dso-tertiary.download:not([disabled]):active::after,\nlabel.dso-tertiary.download:not([disabled]):hover::after,\nlabel.dso-tertiary.download:not([disabled]):active::after {\n background-image: url(\"./di.svg#download-scampi\");\n}\na.dso-tertiary.extern::after,\nbutton.dso-tertiary.extern::after,\nlabel.dso-tertiary.extern::after {\n background: url(\"./di.svg#external-link\") no-repeat center;\n background-size: cover;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n}\na.dso-tertiary.extern[disabled]::after,\nbutton.dso-tertiary.extern[disabled]::after,\nlabel.dso-tertiary.extern[disabled]::after {\n background-image: url(\"./di.svg#external-link-grasgroen-40\");\n}\na.dso-tertiary.extern:not([disabled]):hover::after, a.dso-tertiary.extern:not([disabled]):active::after,\nbutton.dso-tertiary.extern:not([disabled]):hover::after,\nbutton.dso-tertiary.extern:not([disabled]):active::after,\nlabel.dso-tertiary.extern:not([disabled]):hover::after,\nlabel.dso-tertiary.extern:not([disabled]):active::after {\n background-image: url(\"./di.svg#external-link-scampi\");\n}\n\na.dso-primary {\n text-decoration: none;\n}\na.dso-primary, a.dso-primary:visited {\n color: #fff;\n}\na.dso-secondary {\n text-decoration: none;\n}\na.dso-secondary, a.dso-secondary:visited {\n color: #39870c;\n}\na.dso-secondary:hover, a.dso-secondary:visited:hover {\n color: #39870c;\n}\na.dso-tertiary {\n text-decoration: none;\n}\na.dso-tertiary, a.dso-tertiary:visited {\n color: #39870c;\n}\n\n.dso-primary + .dso-primary,\n.dso-primary + .dso-secondary,\n.dso-primary + .dso-tertiary,\n.dso-secondary + .dso-primary,\n.dso-secondary + .dso-secondary,\n.dso-secondary + .dso-tertiary,\n.dso-tertiary + .dso-primary,\n.dso-tertiary + .dso-secondary,\n.dso-tertiary + .dso-tertiary {\n margin-inline-start: 16px;\n}\n\n.sr-only {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n:host {\n display: block;\n --depth: var(--a, 0);\n}\n\n:host([not-collapsible]:where([wijzigactie=verwijder], [wijzigactie=voegtoe])) {\n padding-inline-start: 8px;\n margin-inline-end: 8px;\n}\n\n:host(:where([wijzigactie=verwijder], [wijzigactie=voegtoe])),\n:host(:where([wijzigactie=nieuweContainer], [wijzigactie=verwijderContainer])) .heading-container {\n padding-block-start: 4px;\n padding-block-end: 4px;\n}\n\n:host([wijzigactie=verwijderContainer]) .heading-container,\n:host(:where([wijzigactie=verwijder])) {\n --_dso-document-component-text-decoration: line-through;\n}\n:host([wijzigactie=verwijderContainer]) .heading-container,\n:host(:where([wijzigactie=verwijder])) {\n --link-color: currentColor;\n --link-hover-color: currentColor;\n --link-visited-color: currentColor;\n background-color: #f5d8dc;\n border-color: #f5d8dc;\n color: #191919;\n}\n:host([wijzigactie=verwijderContainer]) .heading-container a:is(.download, .download:hover, .download:focus-visible),\n:host(:where([wijzigactie=verwijder])) a:is(.download, .download:hover, .download:focus-visible) {\n background-image: url(\"./di.svg#download-zwart\");\n}\n:host([wijzigactie=verwijderContainer]) .heading-container a:is(.extern, .extern:hover, .extern:focus-visible),\n:host(:where([wijzigactie=verwijder])) a:is(.extern, .extern:hover, .extern:focus-visible) {\n background-image: url(\"./di.svg#external-link-zwart\");\n}\n:host([wijzigactie=verwijderContainer]) .heading-container a:is([href^=\"tel:\"], [href^=\"tel:\"]:hover, [href^=\"tel:\"]:focus-visible),\n:host(:where([wijzigactie=verwijder])) a:is([href^=\"tel:\"], [href^=\"tel:\"]:hover, [href^=\"tel:\"]:focus-visible) {\n background-image: url(\"./di.svg#call-zwart\");\n}\n:host([wijzigactie=verwijderContainer]) .heading-container a:is([href^=\"mailto:\"], [href^=\"mailto:\"]:hover, [href^=\"mailto:\"]:focus-visible),\n:host(:where([wijzigactie=verwijder])) a:is([href^=\"mailto:\"], [href^=\"mailto:\"]:hover, [href^=\"mailto:\"]:focus-visible) {\n background-image: url(\"./di.svg#email-zwart\");\n}\n\n.heading-element,\n.content {\n text-decoration: var(--_dso-document-component-text-decoration);\n}\n@media screen and (min--moz-device-pixel-ratio: 0) {\n .heading-element,\n .content {\n font-family: sans-serif;\n }\n}\n\n:host([wijzigactie=nieuweContainer]) .heading-container,\n:host([wijzigactie=voegtoe]) {\n --link-color: currentColor;\n --link-hover-color: currentColor;\n --link-visited-color: currentColor;\n background-color: #e4f1d4;\n border-color: #e4f1d4;\n color: #191919;\n}\n:host([wijzigactie=nieuweContainer]) .heading-container a:is(.download, .download:hover, .download:focus-visible),\n:host([wijzigactie=voegtoe]) a:is(.download, .download:hover, .download:focus-visible) {\n background-image: url(\"./di.svg#download-zwart\");\n}\n:host([wijzigactie=nieuweContainer]) .heading-container a:is(.extern, .extern:hover, .extern:focus-visible),\n:host([wijzigactie=voegtoe]) a:is(.extern, .extern:hover, .extern:focus-visible) {\n background-image: url(\"./di.svg#external-link-zwart\");\n}\n:host([wijzigactie=nieuweContainer]) .heading-container a:is([href^=\"tel:\"], [href^=\"tel:\"]:hover, [href^=\"tel:\"]:focus-visible),\n:host([wijzigactie=voegtoe]) a:is([href^=\"tel:\"], [href^=\"tel:\"]:hover, [href^=\"tel:\"]:focus-visible) {\n background-image: url(\"./di.svg#call-zwart\");\n}\n:host([wijzigactie=nieuweContainer]) .heading-container a:is([href^=\"mailto:\"], [href^=\"mailto:\"]:hover, [href^=\"mailto:\"]:focus-visible),\n:host([wijzigactie=voegtoe]) a:is([href^=\"mailto:\"], [href^=\"mailto:\"]:hover, [href^=\"mailto:\"]:focus-visible) {\n background-image: url(\"./di.svg#email-zwart\");\n}\n:host([wijzigactie=nieuweContainer]) .heading-container,\n:host([wijzigactie=voegtoe]) {\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.25);\n}\n\n:host([filtered]) {\n position: relative;\n}\n:host([filtered])::before {\n content: \"\";\n inset-inline-start: -3px;\n position: absolute;\n display: block;\n inline-size: 3px;\n inset-block-start: 0;\n inset-block-end: 0;\n background-color: #6ca4d9;\n}\n\n:host([open]) .annotation-container,\n:host([open]) .heading-container,\n:host([open-annotation]) .annotation-container,\n:host([open-annotation]) .heading-container {\n margin-block-end: 8px;\n}\n\n.recursive-toggle,\n.toggle-button {\n border: 0;\n padding: 0;\n background: 0;\n color: #275937;\n}\n\n.heading-anchor {\n display: flex;\n flex-wrap: nowrap;\n background-color: transparent;\n color: var(--link-color);\n text-decoration: underline;\n text-decoration: none;\n}\n.heading-anchor:hover, .heading-anchor:focus-visible {\n color: var(--link-hover-color);\n text-decoration: underline;\n}\n.heading-anchor:active {\n text-decoration: none;\n}\n.heading-anchor:visited {\n color: var(--link-visited-color);\n}\n\n.heading-element {\n align-items: start;\n display: flex;\n font-size: 1rem;\n color: #275937;\n margin: 0;\n}\n.heading-element > * {\n vertical-align: middle;\n}\n\n#heading-title {\n display: block;\n}\n\n:host([not-collapsible]) .heading-container {\n margin-block-end: 0;\n}\n:host([not-collapsible]) .editaction-label {\n margin-inline-start: 0;\n}\n:host([not-collapsible]) .heading-element {\n color: #000;\n}\n\n:host([mode=document]:not([not-collapsible])) {\n --link-color: document-component.$heading-anchor-color;\n --link-hover-color: document-component.$heading-anchor-hover-color;\n}\n:host([mode=document]:not([not-collapsible])) .heading-element {\n cursor: pointer;\n}\n:host([mode=document]:not([not-collapsible])) .heading-element:hover, :host([mode=document]:not([not-collapsible])) .heading-element:focus-visible {\n color: var(--link-hover-color);\n text-decoration: underline;\n}\n:host([mode=document]:not([not-collapsible])) .heading-element:active {\n text-decoration: none;\n}\n:host([mode=document]:not([not-collapsible])) .editaction-label {\n margin-inline-start: 24px;\n}\n\n:host([mode=table-of-contents]) .heading-container {\n padding-inline-start: 8px;\n}\n:host([mode=table-of-contents]) .heading-element {\n color: inherit;\n}\n:host([mode=table-of-contents]) .editaction-label {\n margin-inline-start: 0;\n}\n\n:host([mode=table-of-contents][type=ARTIKEL]) .heading-element {\n color: inherit;\n}\n\n:host([mode=table-of-contents]:not([type=HOOFDSTUK])) .heading-element {\n font-weight: normal;\n}\n\n.addons {\n margin-inline-start: auto;\n display: flex;\n gap: 8px;\n}\n\n.heading {\n display: flex;\n align-items: start;\n gap: 8px;\n}\n\n:host([type=ARTIKEL]) .heading-element,\n:host([type=ARTIKEL]) .toggle-button {\n color: #000;\n}\n\n:host([type=LID][open-annotation]) .annotation-container {\n margin-block-start: 8px;\n}\n\n.editaction-label {\n font-style: italic;\n margin-inline-start: 8px;\n}\n\n.content,\n.heading-container {\n padding-inline-end: 8px;\n}\n\n.annotation-container {\n padding-inline-end: 8px;\n}\n.annotation-container dso-panel {\n --_dso-panel-body-background-color: #fff;\n}\n\n:host(:where([annotations-wijzigactie=verwijder])) .annotation-container dso-panel {\n --_dso-panel-body-background-color: #faecee;\n --_dso-renvooi-text-decoration: line-through;\n}\n\n:host([annotations-wijzigactie=voegtoe]) .annotation-container dso-panel {\n --_dso-panel-body-background-color: #f2f8ea;\n}";const m=y;const u={nieuweContainer:"Toegevoegd",verwijder:"Verwijderd",verwijderContainer:"Verwijderd",voegtoe:"Toegevoegd"};const v=class{constructor(o){n(this,o);this.dsoRecursiveToggle=e(this,"dsoRecursiveToggle",3);this.dsoOpenToggle=e(this,"dsoOpenToggle",3);this.dsoTableOfContentsClick=e(this,"dsoTableOfContentsClick",3);this.dsoOzonContentAnchorClick=e(this,"dsoOzonContentAnchorClick",3);this.dsoAnnotationToggle=e(this,"dsoAnnotationToggle",3);this.dsoMarkItemHighlight=e(this,"dsoMarkItemHighlight",3);this.handleHeadingClick=n=>{if(this.mode==="table-of-contents"){this.dsoTableOfContentsClick.emit({originalEvent:n,isModifiedEvent:c(n)})}else if(this.type!=="LID"){this.dsoOpenToggle.emit({originalEvent:n,open:!this.open})}};this.handleOzonContentAnchorClick=n=>{this.dsoOzonContentAnchorClick.emit({originalEvent:n,ozonContentAnchorClick:n.detail})};this.handleRecursiveToggleClick=n=>{this.dsoRecursiveToggle.emit({originalEvent:n,current:this.recursiveToggle,next:this.recursiveToggle!==true})};this.heading="h2";this.label=undefined;this.nummer=undefined;this.opschrift=undefined;this.inhoud=undefined;this.open=false;this.filtered=false;this.notApplicable=false;this.genesteOntwerpInformatie=false;this.bevatOntwerpInformatie=false;this.annotated=false;this.gereserveerd=false;this.vervallen=false;this.openAnnotation=false;this.alternativeTitle=undefined;this.type=undefined;this.wijzigactie=undefined;this.annotationsWijzigactie=undefined;this.mark=undefined;this.recursiveToggle=undefined;this.mode="document";this.href=undefined}get wijzigactieLabel(){return this.wijzigactie&&u[this.wijzigactie]}suffix(){if(this.vervallen){return"vervallen"}if(this.gereserveerd){return"gereserveerd"}return undefined}showOntwerpBadge(){return this.genesteOntwerpInformatie&&!this.bevatOntwerpInformatie&&(!this.open&&this.mode==="document"||this.mode==="table-of-contents")}render(){const n=this.suffix();const e=!!((this.label||this.nummer||this.opschrift||this.alternativeTitle)&&this.type!=="LID");const r=!!(this.wijzigactie||e||this.label||this.nummer||this.opschrift||this.alternativeTitle||this.bevatOntwerpInformatie||this.annotated);return o(a,{key:"050711aa3e5227ac9a468b4177cf2408a812c524","not-collapsible":!e},r&&o("div",{key:"bd5484e50d030e424fb3ba4e2d5b86451b00e181",class:"heading-container",part:"_heading-container"},this.wijzigactie&&o("span",{key:"327b9a53addde2ff513a077b28c140b760c35d4b",class:"editaction-label"},this.wijzigactieLabel,":"),o("div",{key:"1bc6de30e0517bbf6d671a34cc0e52281d53b8d0",class:"heading"},o(p,{key:"26a645af827d41e0ce19d1c2b17a7f14e9be299c",heading:this.heading,class:"heading-element",onClick:this.handleHeadingClick,mode:this.mode,href:this.href},e&&this.mode==="document"&&o("button",{key:"477baa2478a912a7e62098ed402680221c607b4e",type:"button",class:"toggle-button","aria-describedby":"heading-title","aria-expanded":this.open.toString()},o("dso-icon",{key:"9a04f2c1dc70deb54d2f7977d7d41740c78df351",icon:this.open?"chevron-down":"chevron-right"}),o("span",{key:"a594823723148ed63fb1774dc446296ae3efc4da",class:"sr-only"},this.open?"Invouwen":"Uitvouwen")),o("span",{key:"909c52529cc65621d7973a2e06f3501d8d8d4216",id:"heading-title"},this.notApplicable&&o("span",{key:"d869da95a5e8d8d49bd7850c0ac4760cfad05801",class:"sr-only"},"Niet van toepassing:"),this.label||this.nummer||this.opschrift?o(t,null,this.label&&o(t,null," ",o("dso-ozon-content",{content:this.label,onDsoAnchorClick:this.handleOzonContentAnchorClick,mark:this.mark&&(n=>{var e;return(e=this.mark)===null||e===void 0?void 0:e.call(this,n,"label")}),onDsoOzonContentMarkItemHighlight:n=>this.dsoMarkItemHighlight.emit(Object.assign(Object.assign({},n.detail),{source:"label"})),inline:true})),this.nummer&&o(t,null," ",o("dso-ozon-content",{content:this.nummer,onDsoAnchorClick:this.handleOzonContentAnchorClick,mark:this.mark&&(n=>{var e;return(e=this.mark)===null||e===void 0?void 0:e.call(this,n,"nummer")}),onDsoOzonContentMarkItemHighlight:n=>this.dsoMarkItemHighlight.emit(Object.assign(Object.assign({},n.detail),{source:"nummer"})),inline:true})),this.opschrift&&o(t,null," ",o("dso-ozon-content",{content:this.opschrift,onDsoAnchorClick:this.handleOzonContentAnchorClick,mark:this.mark&&(n=>{var e;return(e=this.mark)===null||e===void 0?void 0:e.call(this,n,"opschrift")}),onDsoOzonContentMarkItemHighlight:n=>this.dsoMarkItemHighlight.emit(Object.assign(Object.assign({},n.detail),{source:"opschrift"})),inline:true}))):this.alternativeTitle,n&&o("span",{key:"07d4c76b7e1329efb78c41560389b506165de833"}," - [",n,"]"))),this.recursiveToggle!==undefined&&this.open&&this.mode==="document"&&o("button",{key:"941b9f8c4d29897ec2a39bf42904c5b326a475d9",type:"button",class:"recursive-toggle",title:this.recursiveToggle===true?"Verberg alles":"Toon alles",onClick:this.handleRecursiveToggleClick},o("dso-icon",{key:"46337a7625cb46d1161569722d76822c831a872b",icon:this.recursiveToggle===true?"eye":"eye-slash"})),this.showOntwerpBadge()&&o(t,null,o("dso-badge",{key:"ade951add661eefbd7d11c9de029e6b2e0394cba",status:"warning","aria-describedby":"nested-draft-description"},"!"),o("dso-tooltip",{key:"294d694a2f50878bbcac8b7b13476ce5cbdf78e3",id:"nested-draft-description"},"Er is een ontwerp beschikbaar.")),(this.bevatOntwerpInformatie||this.annotated)&&o("div",{key:"18484e4344d0ff694dc67858eaff24ca0d27b0a8",class:"addons"},this.bevatOntwerpInformatie&&o("dso-label",{key:"8bf558ed5dd48df4d23f4957302e147c45651b95",status:"warning",compact:true},"Ontwerp"),this.annotated&&this.mode==="document"&&o("button",{key:"05314fa8305396e460fe95688acb97f94f166a1e",type:"button",class:"dso-tertiary","aria-controls":this.openAnnotation?"annotations":undefined,"aria-expanded":this.openAnnotation.toString(),onClick:n=>this.dsoAnnotationToggle.emit({originalEvent:n})},o("dso-icon",{key:"0a0f62fc38084a2d6c0c916350dba255ee353993",icon:"label"}),o("span",{key:"13ed74cf4e9ce6b812d1a21f1c4f937657eabcaf",class:"sr-only"},"Kenmerken en kaartgegevens ",this.openAnnotation?"verbergen":"tonen"))))),this.openAnnotation&&o("div",{key:"463130f23f107cc2347747bb39fdbbe8a890247b",class:"annotation-container",part:"_annotation-container"},o("dso-panel",{key:"f4d3b73f47d0918b276694de035bb722ec79c57f",id:"annotations",onDsoCloseClick:n=>this.dsoAnnotationToggle.emit({originalEvent:n}),closeButtonLabel:"Kenmerken en kaartgegevens verbergen"},o("h2",{key:"00db47e61722b1b4917210987513edd18758e66a",slot:"heading"},"Kenmerken en kaart"),o("slot",{key:"48b7dc786ed04ec4246c8034ab8bc3d15859b943",name:"annotations"}))),this.open&&(this.inhoud||this.gereserveerd||this.vervallen)&&this.mode==="document"&&o("div",{key:"729087f463134d47897dcf5246d949e8c8d73610",class:"content",part:"_content"},this.gereserveerd&&o("dso-alert",{key:"80333fb2c38651ad98e7bc707c65a60fb4e2bd2d",status:"info"},"Dit onderdeel is gereserveerd voor toekomstige toevoeging."),this.vervallen&&o("dso-alert",{key:"b06d8846e17d9c1b165bef0e38fb31018dddcae3",status:"info"},"Dit onderdeel is vervallen."),this.inhoud&&o("dso-ozon-content",{key:"01529975b3e2526a5540bf96cdf19fe2488fabc3",content:this.inhoud,onDsoAnchorClick:this.handleOzonContentAnchorClick,mark:this.mark&&(n=>{var e;return(e=this.mark)===null||e===void 0?void 0:e.call(this,n,"inhoud")}),onDsoOzonContentMarkItemHighlight:n=>this.dsoMarkItemHighlight.emit(Object.assign(Object.assign({},n.detail),{source:"inhoud"}))})),o("div",{key:"cb741975adcc22246353c06878f1dc6d1b2a8f1b",class:"children-container",part:"_children-container"},o("slot",{key:"fc5cf019d82b45aa6ac5789bc228a639367f18c2"})))}};v.style=m;export{g as dso_annotation_locatie,v as dso_document_component};
2
- //# sourceMappingURL=p-22af5661.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["annotationCss","DsoAnnotationLocatieStyle0","AnnotationLocatie","this","watcher","host","connectedCallback","watch","disconnectedCallback","unwatch","render","hasSymbool","h","AnnotationBody","key","symbol","AnnotationSymbolSlot","undefined","active","dsoActiveChange","title","Fragment","class","value","locatieNoemer","gewijzigdeLocatie","AnnotationGewijzigdeLocatie","Heading","_a","children","heading","mode","href","onClick","props","__rest","headingElement","Object","assign","documentComponentCss","DsoDocumentComponentStyle0","wijzigactieLabels","nieuweContainer","verwijder","verwijderContainer","voegtoe","DocumentComponent","handleHeadingClick","e","dsoTableOfContentsClick","emit","originalEvent","isModifiedEvent","type","dsoOpenToggle","open","handleOzonContentAnchorClick","dsoOzonContentAnchorClick","ozonContentAnchorClick","detail","handleRecursiveToggleClick","dsoRecursiveToggle","current","recursiveToggle","next","wijzigactieLabel","wijzigactie","suffix","vervallen","gereserveerd","showOntwerpBadge","genesteOntwerpInformatie","bevatOntwerpInformatie","collapsible","label","nummer","opschrift","alternativeTitle","showHeading","annotated","Host","part","toString","icon","id","notApplicable","content","onDsoAnchorClick","mark","text","call","onDsoOzonContentMarkItemHighlight","dsoMarkItemHighlight","source","inline","status","compact","openAnnotation","dsoAnnotationToggle","onDsoCloseClick","closeButtonLabel","slot","name","inhoud"],"sources":["src/components/annotation/annotation.scss?tag=dso-annotation-locatie&encapsulation=shadow","src/components/annotation/annotation-locatie/annotation-locatie.tsx","src/components/document-component/document-component-heading.tsx","src/components/document-component/document-component.scss?tag=dso-document-component&encapsulation=shadow","src/components/document-component/document-component.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/anchor/anchor\";\r\n\r\n:host {\r\n display: block;\r\n padding: 2px;\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\r\n.annotation-data {\r\n font-size: 0.875rem;\r\n}\r\n","import { Component, ComponentInterface, Prop, Event, h, EventEmitter, Fragment, Element } from \"@stencil/core\";\r\nimport { AnnotationActiveChangeEvent, AnnotationWijzigactie } from \"../annotation.interfaces\";\r\n\r\nimport { AnnotationBody } from \"../annotation-body\";\r\nimport { AnnotationGewijzigdeLocatie } from \"../annotation-gewijzigde-locatie\";\r\nimport { watcher } from \"../annotation-watcher\";\r\nimport { AnnotationSymbolSlot } from \"../annotation-symbol-slot\";\r\nimport { RenvooiValue } from \"../../renvooi/renvooi.interfaces\";\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-locatie\",\r\n styleUrl: \"../annotation.scss\",\r\n shadow: true,\r\n})\r\nexport class AnnotationLocatie 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 noemer van de locatie.\r\n */\r\n @Prop()\r\n locatieNoemer?: RenvooiValue | string;\r\n\r\n @Element()\r\n private host!: HTMLDsoAnnotationLocatieElement;\r\n\r\n private watcher = watcher(this.host);\r\n\r\n connectedCallback(): void {\r\n this.watcher.watch();\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.watcher.unwatch();\r\n }\r\n\r\n render() {\r\n const hasSymbool = this.watcher.hasSymbool();\r\n\r\n return (\r\n <AnnotationBody\r\n symbol={hasSymbool ? <AnnotationSymbolSlot /> : undefined}\r\n active={this.active}\r\n dsoActiveChange={this.dsoActiveChange}\r\n title={\r\n <>\r\n <span class=\"content\">\r\n <dso-renvooi value={this.locatieNoemer} />\r\n </span>\r\n {this.gewijzigdeLocatie && <AnnotationGewijzigdeLocatie />}\r\n </>\r\n }\r\n />\r\n );\r\n }\r\n}\r\n","import { h, FunctionalComponent, VNode } from \"@stencil/core\";\r\nimport { JSXBase } from \"@stencil/core/internal\";\r\nimport { DocumentComponentMode } from \"./document-component.models\";\r\n\r\ninterface DocumentComponentHeadingProps {\r\n heading: \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\r\n mode: DocumentComponentMode;\r\n href?: string;\r\n}\r\n\r\nexport const Heading: FunctionalComponent<\r\n DocumentComponentHeadingProps & JSXBase.HTMLAttributes<HTMLHeadingElement>\r\n> = ({ heading, mode, href, onClick, ...props }, children) => {\r\n let headingElement: VNode;\r\n switch (heading) {\r\n default:\r\n case \"h2\":\r\n headingElement = (\r\n <h2 {...props} onClick={mode === \"document\" ? onClick : undefined}>\r\n {children}\r\n </h2>\r\n );\r\n break;\r\n case \"h3\":\r\n headingElement = (\r\n <h3 {...props} onClick={mode === \"document\" ? onClick : undefined}>\r\n {children}\r\n </h3>\r\n );\r\n break;\r\n case \"h4\":\r\n headingElement = (\r\n <h4 {...props} onClick={mode === \"document\" ? onClick : undefined}>\r\n {children}\r\n </h4>\r\n );\r\n break;\r\n case \"h5\":\r\n headingElement = (\r\n <h5 {...props} onClick={mode === \"document\" ? onClick : undefined}>\r\n {children}\r\n </h5>\r\n );\r\n break;\r\n case \"h6\":\r\n headingElement = (\r\n <h6 {...props} onClick={mode === \"document\" ? onClick : undefined}>\r\n {children}\r\n </h6>\r\n );\r\n }\r\n\r\n if (mode === \"table-of-contents\" && href) {\r\n return (\r\n <a href={href} onClick={onClick} class=\"heading-anchor\">\r\n {headingElement}\r\n </a>\r\n );\r\n }\r\n\r\n return headingElement;\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\r\n@use \"~dso-toolkit/src/components/anchor\";\r\n@use \"~dso-toolkit/src/components/button/button\";\r\n@use \"~dso-toolkit/src/components/document-component\";\r\n@use \"~dso-toolkit/src/components/delete\";\r\n@use \"~dso-toolkit/src/components/insert\";\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n:host {\r\n display: block;\r\n\r\n --depth: var(--a, 0);\r\n}\r\n\r\n:host([not-collapsible]:where([wijzigactie=\"verwijder\"], [wijzigactie=\"voegtoe\"])) {\r\n padding-inline-start: units.$u1;\r\n margin-inline-end: units.$u1;\r\n}\r\n\r\n:host(:where([wijzigactie=\"verwijder\"], [wijzigactie=\"voegtoe\"])),\r\n:host(:where([wijzigactie=\"nieuweContainer\"], [wijzigactie=\"verwijderContainer\"])) .heading-container {\r\n padding-block-start: units.$u1 * 0.5;\r\n padding-block-end: units.$u1 * 0.5;\r\n}\r\n\r\n:host([wijzigactie=\"verwijderContainer\"]) .heading-container,\r\n:host(:where([wijzigactie=\"verwijder\"])) {\r\n @include delete.root($strikethrough: false);\r\n\r\n --_dso-document-component-text-decoration: line-through;\r\n}\r\n\r\n.heading-element,\r\n.content {\r\n @include delete.strikethrough($_value: var(--_dso-document-component-text-decoration));\r\n}\r\n\r\n:host([wijzigactie=\"nieuweContainer\"]) .heading-container,\r\n:host([wijzigactie=\"voegtoe\"]) {\r\n @include insert.root();\r\n}\r\n\r\n:host([filtered]) {\r\n position: relative;\r\n\r\n &::before {\r\n content: \"\";\r\n inset-inline-start: -3px;\r\n position: absolute;\r\n display: block;\r\n inline-size: 3px;\r\n inset-block-start: 0;\r\n inset-block-end: 0;\r\n background-color: colors.$lichtblauw;\r\n }\r\n}\r\n\r\n:host([open]),\r\n:host([open-annotation]) {\r\n .annotation-container,\r\n .heading-container {\r\n margin-block-end: units.$u1;\r\n }\r\n}\r\n\r\n.recursive-toggle,\r\n.toggle-button {\r\n border: 0;\r\n padding: 0;\r\n background: 0;\r\n color: colors.$bosgroen;\r\n}\r\n\r\n.heading-anchor {\r\n display: flex;\r\n flex-wrap: nowrap;\r\n\r\n @include anchor.root();\r\n\r\n text-decoration: none;\r\n}\r\n\r\n.heading-element {\r\n align-items: start;\r\n display: flex;\r\n font-size: 1rem;\r\n color: colors.$bosgroen;\r\n margin: 0;\r\n\r\n > * {\r\n vertical-align: middle;\r\n }\r\n}\r\n\r\n#heading-title {\r\n display: block;\r\n}\r\n\r\n:host([not-collapsible]) {\r\n .heading-container {\r\n margin-block-end: 0;\r\n }\r\n\r\n .editaction-label {\r\n margin-inline-start: 0;\r\n }\r\n\r\n .heading-element {\r\n color: colors.$zwart;\r\n }\r\n}\r\n\r\n:host([mode=\"document\"]:not([not-collapsible])) {\r\n --link-color: document-component.$heading-anchor-color;\r\n --link-hover-color: document-component.$heading-anchor-hover-color;\r\n\r\n .heading-element {\r\n cursor: pointer;\r\n @include anchor.pseudo();\r\n }\r\n\r\n .editaction-label {\r\n margin-inline-start: document-component.$indent;\r\n }\r\n}\r\n\r\n:host([mode=\"table-of-contents\"]) {\r\n .heading-container {\r\n padding-inline-start: document-component.$indent-table-of-contents;\r\n }\r\n\r\n .heading-element {\r\n color: inherit;\r\n }\r\n\r\n .editaction-label {\r\n margin-inline-start: 0;\r\n }\r\n}\r\n\r\n:host([mode=\"table-of-contents\"][type=\"ARTIKEL\"]) {\r\n .heading-element {\r\n color: inherit;\r\n }\r\n}\r\n\r\n:host([mode=\"table-of-contents\"]:not([type=\"HOOFDSTUK\"])) {\r\n .heading-element {\r\n font-weight: normal;\r\n }\r\n}\r\n\r\n.addons {\r\n margin-inline-start: auto;\r\n display: flex;\r\n gap: units.$u1;\r\n}\r\n\r\n.heading {\r\n display: flex;\r\n align-items: start;\r\n gap: units.$u1;\r\n}\r\n\r\n:host([type=\"ARTIKEL\"]) {\r\n .heading-element,\r\n .toggle-button {\r\n color: colors.$zwart;\r\n }\r\n}\r\n\r\n:host([type=\"LID\"][open-annotation]) {\r\n .annotation-container {\r\n margin-block-start: units.$u1;\r\n }\r\n}\r\n\r\n.editaction-label {\r\n font-style: italic;\r\n margin-inline-start: units.$u1;\r\n}\r\n\r\n.content,\r\n.heading-container {\r\n padding-inline-end: units.$u1;\r\n}\r\n\r\n.annotation-container {\r\n padding-inline-end: units.$u1;\r\n\r\n dso-panel {\r\n --_dso-panel-body-background-color: #{colors.$wit};\r\n }\r\n}\r\n\r\n:host(:where([annotations-wijzigactie=\"verwijder\"])) {\r\n .annotation-container {\r\n dso-panel {\r\n --_dso-panel-body-background-color: #{colors.$rood-10};\r\n --_dso-renvooi-text-decoration: line-through;\r\n }\r\n }\r\n}\r\n\r\n:host([annotations-wijzigactie=\"voegtoe\"]) {\r\n .annotation-container {\r\n dso-panel {\r\n --_dso-panel-body-background-color: #{colors.$lime-10};\r\n }\r\n }\r\n}\r\n","import { h, Component, ComponentInterface, Event, EventEmitter, Fragment, Prop, Host } from \"@stencil/core\";\r\n\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\n\r\nimport {\r\n DocumentComponentOpenToggleEvent,\r\n DocumentComponentToggleAnnotationEvent,\r\n DocumentComponentOzonContentAnchorClickEvent,\r\n DocumentComponentWijzigactie,\r\n DocumentComponentAnnotationsWijzigactie,\r\n DocumentComponentInputType,\r\n DocumentComponentMarkFunction,\r\n DocumentComponentMarkItemHighlightEvent,\r\n DocumentComponentRecursiveToggleEvent,\r\n DocumentComponentRecursiveToggleState,\r\n DocumentComponentMode,\r\n DocumentComponentTableOfContentsClickEvent,\r\n} from \"./document-component.models\";\r\nimport { OzonContentAnchorClickEvent } from \"../ozon-content/ozon-content.interfaces\";\r\nimport { Heading } from \"./document-component-heading\";\r\n\r\nimport { DsoOzonContentCustomEvent } from \"../../components\";\r\n\r\nconst wijzigactieLabels: { [wijzigactie in DocumentComponentWijzigactie]: string } = {\r\n nieuweContainer: \"Toegevoegd\",\r\n verwijder: \"Verwijderd\",\r\n verwijderContainer: \"Verwijderd\",\r\n voegtoe: \"Toegevoegd\",\r\n};\r\n\r\n/**\r\n * @part _annotation-container - private part, do not touch.\r\n * @part _children-container - private part, do not touch.\r\n * @part _content - private part, do not touch.\r\n * @part _heading-container - private part, do not touch.\r\n */\r\n@Component({\r\n tag: \"dso-document-component\",\r\n styleUrl: \"document-component.scss\",\r\n shadow: true,\r\n})\r\nexport class DocumentComponent implements ComponentInterface {\r\n /**\r\n * The heading element to use.\r\n */\r\n @Prop()\r\n heading: \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" = \"h2\";\r\n\r\n /**\r\n * The Label XML.\r\n */\r\n @Prop()\r\n label?: DocumentComponentInputType;\r\n\r\n /**\r\n * The Nummer XML.\r\n */\r\n @Prop()\r\n nummer?: DocumentComponentInputType;\r\n\r\n /**\r\n * The Opschrift XML.\r\n */\r\n @Prop()\r\n opschrift?: DocumentComponentInputType;\r\n\r\n /**\r\n * The Inhoud XML.\r\n */\r\n @Prop()\r\n inhoud?: DocumentComponentInputType;\r\n\r\n /**\r\n * This boolean attribute indicates whether the children are visible.\r\n */\r\n @Prop({ reflect: true })\r\n open = false;\r\n\r\n /**\r\n * Marks this Document Component as belonging to an active filter.\r\n */\r\n @Prop({ reflect: true })\r\n filtered = false;\r\n\r\n /**\r\n * Marks this Document Component as not-applicable.\r\n */\r\n @Prop({ reflect: true })\r\n notApplicable = false;\r\n\r\n /**\r\n * When a child Document Component has a status \"Draft\".\r\n */\r\n @Prop({ reflect: true })\r\n genesteOntwerpInformatie = false;\r\n\r\n /**\r\n * Marks as draft.\r\n */\r\n @Prop({ reflect: true })\r\n bevatOntwerpInformatie = false;\r\n\r\n /**\r\n * Enables annotations.\r\n */\r\n @Prop({ reflect: true })\r\n annotated = false;\r\n\r\n /**\r\n * Marks Document Component as reserved.\r\n */\r\n @Prop()\r\n gereserveerd = false;\r\n\r\n /**\r\n * Marks the Document Component as expired.\r\n */\r\n @Prop()\r\n vervallen = false;\r\n\r\n /**\r\n * When the Annotation is opened, set this to true.\r\n */\r\n @Prop({ reflect: true })\r\n openAnnotation = false;\r\n\r\n /**\r\n * An alternative title to show when there is nothing to create a title.\r\n */\r\n @Prop()\r\n alternativeTitle?: string;\r\n\r\n /**\r\n * Type of Document Component.\r\n */\r\n @Prop({ reflect: true })\r\n type?: string;\r\n\r\n /**\r\n * The wijzigactie as in STOP.\r\n */\r\n @Prop({ reflect: true })\r\n wijzigactie?: DocumentComponentWijzigactie;\r\n\r\n /**\r\n * The wijzigactie for all annotations.\r\n */\r\n @Prop({ reflect: true })\r\n annotationsWijzigactie?: DocumentComponentAnnotationsWijzigactie;\r\n\r\n /**\r\n * To mark text.\r\n */\r\n @Prop()\r\n mark?: DocumentComponentMarkFunction;\r\n\r\n /**\r\n * Shows the recursive toggle button. When the user activates this button the event `dsoRecursiveToggle` is emitted.\r\n */\r\n @Prop()\r\n recursiveToggle: DocumentComponentRecursiveToggleState;\r\n\r\n /**\r\n * The mode of the Document Component. One of \"document\" or \"table-of-contents\". Defaults to \"document\"\r\n */\r\n @Prop({ reflect: true })\r\n mode: DocumentComponentMode = \"document\";\r\n\r\n /**\r\n * The URL to which the Heading links (only in mode=\"table-of-contents\").\r\n */\r\n @Prop({ reflect: true })\r\n href?: string;\r\n\r\n /**\r\n * Emitted when the user activates the recursive toggle.\r\n */\r\n @Event({ bubbles: false })\r\n dsoRecursiveToggle!: EventEmitter<DocumentComponentRecursiveToggleEvent>;\r\n\r\n /**\r\n * Emitted when the user activates the toggle.\r\n */\r\n @Event({ bubbles: false })\r\n dsoOpenToggle!: EventEmitter<DocumentComponentOpenToggleEvent>;\r\n\r\n /**\r\n * Emitted when the user clicks the heading in mode=\"table-of-contents\".\r\n */\r\n @Event({ bubbles: false })\r\n dsoTableOfContentsClick!: EventEmitter<DocumentComponentTableOfContentsClickEvent>;\r\n\r\n /**\r\n * Emitted when the user actives intRef or intIoRef anchors in Ozon Content\r\n */\r\n @Event({ bubbles: false })\r\n dsoOzonContentAnchorClick!: EventEmitter<DocumentComponentOzonContentAnchorClickEvent>;\r\n\r\n /**\r\n * Emitted when the user activates the annotation button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoAnnotationToggle!: EventEmitter<DocumentComponentToggleAnnotationEvent>;\r\n\r\n /**\r\n * Emitted each time a marked item gets highlighted.\r\n */\r\n @Event({ bubbles: false })\r\n dsoMarkItemHighlight!: EventEmitter<DocumentComponentMarkItemHighlightEvent>;\r\n\r\n private get wijzigactieLabel(): string | undefined {\r\n return this.wijzigactie && wijzigactieLabels[this.wijzigactie];\r\n }\r\n\r\n private handleHeadingClick = (e: MouseEvent) => {\r\n if (this.mode === \"table-of-contents\") {\r\n this.dsoTableOfContentsClick.emit({ originalEvent: e, isModifiedEvent: isModifiedEvent(e) });\r\n } else if (this.type !== \"LID\") {\r\n this.dsoOpenToggle.emit({ originalEvent: e, open: !this.open });\r\n }\r\n };\r\n\r\n private suffix(): string | undefined {\r\n if (this.vervallen) {\r\n return \"vervallen\";\r\n }\r\n\r\n if (this.gereserveerd) {\r\n return \"gereserveerd\";\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n private handleOzonContentAnchorClick = (e: DsoOzonContentCustomEvent<OzonContentAnchorClickEvent>) => {\r\n this.dsoOzonContentAnchorClick.emit({ originalEvent: e, ozonContentAnchorClick: e.detail });\r\n };\r\n\r\n private handleRecursiveToggleClick = (e: MouseEvent) => {\r\n this.dsoRecursiveToggle.emit({\r\n originalEvent: e,\r\n current: this.recursiveToggle,\r\n next: this.recursiveToggle !== true,\r\n });\r\n };\r\n\r\n private showOntwerpBadge(): boolean {\r\n return (\r\n this.genesteOntwerpInformatie &&\r\n !this.bevatOntwerpInformatie &&\r\n ((!this.open && this.mode === \"document\") || this.mode === \"table-of-contents\")\r\n );\r\n }\r\n\r\n render() {\r\n const suffix = this.suffix();\r\n const collapsible = !!(\r\n (this.label || this.nummer || this.opschrift || this.alternativeTitle) &&\r\n this.type !== \"LID\"\r\n );\r\n\r\n const showHeading = !!(\r\n this.wijzigactie ||\r\n collapsible ||\r\n this.label ||\r\n this.nummer ||\r\n this.opschrift ||\r\n this.alternativeTitle ||\r\n this.bevatOntwerpInformatie ||\r\n this.annotated\r\n );\r\n\r\n return (\r\n <Host not-collapsible={!collapsible}>\r\n {showHeading && (\r\n <div class=\"heading-container\" part=\"_heading-container\">\r\n {this.wijzigactie && <span class=\"editaction-label\">{this.wijzigactieLabel}:</span>}\r\n <div class=\"heading\">\r\n <Heading\r\n heading={this.heading}\r\n class=\"heading-element\"\r\n onClick={this.handleHeadingClick}\r\n mode={this.mode}\r\n href={this.href}\r\n >\r\n {collapsible && this.mode === \"document\" && (\r\n <button\r\n type=\"button\"\r\n class=\"toggle-button\"\r\n aria-describedby=\"heading-title\"\r\n aria-expanded={this.open.toString()}\r\n >\r\n <dso-icon icon={this.open ? \"chevron-down\" : \"chevron-right\"}></dso-icon>\r\n <span class=\"sr-only\">{this.open ? \"Invouwen\" : \"Uitvouwen\"}</span>\r\n </button>\r\n )}\r\n <span id=\"heading-title\">\r\n {this.notApplicable && <span class=\"sr-only\">Niet van toepassing:</span>}\r\n {this.label || this.nummer || this.opschrift ? (\r\n <>\r\n {this.label && (\r\n <>\r\n {\" \"}\r\n <dso-ozon-content\r\n content={this.label}\r\n onDsoAnchorClick={this.handleOzonContentAnchorClick}\r\n mark={this.mark && ((text) => this.mark?.(text, \"label\"))}\r\n onDsoOzonContentMarkItemHighlight={(e) =>\r\n this.dsoMarkItemHighlight.emit({ ...e.detail, source: \"label\" })\r\n }\r\n inline\r\n ></dso-ozon-content>\r\n </>\r\n )}\r\n {this.nummer && (\r\n <>\r\n {\" \"}\r\n <dso-ozon-content\r\n content={this.nummer}\r\n onDsoAnchorClick={this.handleOzonContentAnchorClick}\r\n mark={this.mark && ((text) => this.mark?.(text, \"nummer\"))}\r\n onDsoOzonContentMarkItemHighlight={(e) =>\r\n this.dsoMarkItemHighlight.emit({ ...e.detail, source: \"nummer\" })\r\n }\r\n inline\r\n ></dso-ozon-content>\r\n </>\r\n )}\r\n {this.opschrift && (\r\n <>\r\n {\" \"}\r\n <dso-ozon-content\r\n content={this.opschrift}\r\n onDsoAnchorClick={this.handleOzonContentAnchorClick}\r\n mark={this.mark && ((text) => this.mark?.(text, \"opschrift\"))}\r\n onDsoOzonContentMarkItemHighlight={(e) =>\r\n this.dsoMarkItemHighlight.emit({ ...e.detail, source: \"opschrift\" })\r\n }\r\n inline\r\n ></dso-ozon-content>\r\n </>\r\n )}\r\n </>\r\n ) : (\r\n this.alternativeTitle\r\n )}\r\n {suffix && <span> - [{suffix}]</span>}\r\n </span>\r\n </Heading>\r\n {this.recursiveToggle !== undefined && this.open && this.mode === \"document\" && (\r\n <button\r\n type=\"button\"\r\n class=\"recursive-toggle\"\r\n title={this.recursiveToggle === true ? \"Verberg alles\" : \"Toon alles\"}\r\n onClick={this.handleRecursiveToggleClick}\r\n >\r\n <dso-icon icon={this.recursiveToggle === true ? \"eye\" : \"eye-slash\"} />\r\n </button>\r\n )}\r\n {this.showOntwerpBadge() && (\r\n <>\r\n <dso-badge status=\"warning\" aria-describedby=\"nested-draft-description\">\r\n !\r\n </dso-badge>\r\n <dso-tooltip id=\"nested-draft-description\">Er is een ontwerp beschikbaar.</dso-tooltip>\r\n </>\r\n )}\r\n {(this.bevatOntwerpInformatie || this.annotated) && (\r\n <div class=\"addons\">\r\n {this.bevatOntwerpInformatie && (\r\n <dso-label status=\"warning\" compact>\r\n Ontwerp\r\n </dso-label>\r\n )}\r\n {this.annotated && this.mode === \"document\" && (\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary\"\r\n aria-controls={this.openAnnotation ? \"annotations\" : undefined}\r\n aria-expanded={this.openAnnotation.toString()}\r\n onClick={(e) => this.dsoAnnotationToggle.emit({ originalEvent: e })}\r\n >\r\n <dso-icon icon=\"label\"></dso-icon>\r\n <span class=\"sr-only\">\r\n Kenmerken en kaartgegevens {this.openAnnotation ? \"verbergen\" : \"tonen\"}\r\n </span>\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n )}\r\n {this.openAnnotation && (\r\n <div class=\"annotation-container\" part=\"_annotation-container\">\r\n <dso-panel\r\n id=\"annotations\"\r\n onDsoCloseClick={(e) => this.dsoAnnotationToggle.emit({ originalEvent: e })}\r\n closeButtonLabel=\"Kenmerken en kaartgegevens verbergen\"\r\n >\r\n <h2 slot=\"heading\">Kenmerken en kaart</h2>\r\n <slot name=\"annotations\" />\r\n </dso-panel>\r\n </div>\r\n )}\r\n {this.open && (this.inhoud || this.gereserveerd || this.vervallen) && this.mode === \"document\" && (\r\n <div class=\"content\" part=\"_content\">\r\n {this.gereserveerd && (\r\n <dso-alert status=\"info\">Dit onderdeel is gereserveerd voor toekomstige toevoeging.</dso-alert>\r\n )}\r\n {this.vervallen && <dso-alert status=\"info\">Dit onderdeel is vervallen.</dso-alert>}\r\n {this.inhoud && (\r\n <dso-ozon-content\r\n content={this.inhoud}\r\n onDsoAnchorClick={this.handleOzonContentAnchorClick}\r\n mark={this.mark && ((text) => this.mark?.(text, \"inhoud\"))}\r\n onDsoOzonContentMarkItemHighlight={(e) =>\r\n this.dsoMarkItemHighlight.emit({ ...e.detail, source: \"inhoud\" })\r\n }\r\n />\r\n )}\r\n </div>\r\n )}\r\n <div class=\"children-container\" part=\"_children-container\">\r\n <slot />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,h as s}from"./p-53096a64.js";import{c as o}from"./p-8a1a6e56.js";const a=":host{display:block}*,*::after,*::before{box-sizing:border-box}.dso-banner{padding-block:16px;padding-inline:0;position:relative}.dso-banner.dso-compact{padding-block:12px;padding-inline:0}";const n=a;const t=class{constructor(s){e(this,s);this.status=undefined;this.compact=false;this.noIcon=true}render(){return s("section",{key:"a5cb823753eda49087b357498f5b92e3a042d46d",class:o("dso-banner",`alert-${this.status}`,{"dso-compact":this.compact}),role:"alert"},s("slot",{key:"9c76ee38f37a2f5d1c246d21bcfb40f801882de4"}))}};t.style=n;export{t as dso_banner};
2
- //# sourceMappingURL=p-264f31ed.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["bannerCss","DsoBannerStyle0","Banner","render","h","key","class","clsx","this","status","compact","role"],"sources":["src/components/banner/banner.scss?tag=dso-banner&encapsulation=shadow","src/components/banner/banner.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/banner\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.dso-banner {\r\n @include banner.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-banner\",\r\n styleUrl: \"banner.scss\",\r\n shadow: true,\r\n})\r\nexport class Banner {\r\n /**\r\n * The status of the banner.\r\n */\r\n @Prop({ reflect: true })\r\n status!: \"danger\" | \"error\" | \"info\" | \"warning\";\r\n\r\n /**\r\n * compact mode.\r\n */\r\n @Prop()\r\n compact = false;\r\n\r\n /**\r\n * *Only available when `compact` is set to `true`.\r\n *\r\n * Option to show banner icon.\r\n */\r\n @Prop()\r\n noIcon = true;\r\n\r\n render() {\r\n return (\r\n <section\r\n class={clsx(\"dso-banner\", `alert-${this.status}`, {\r\n \"dso-compact\": this.compact,\r\n })}\r\n role=\"alert\"\r\n >\r\n <slot></slot>\r\n </section>\r\n );\r\n }\r\n}\r\n"],"mappings":"+EAAA,MAAMA,EAAY,gMAClB,MAAAC,EAAeD,E,MCOFE,EAAM,M,4DAWP,M,YAQD,I,CAET,MAAAC,GACE,OACEC,EAAA,WAAAC,IAAA,2CACEC,MAAOC,EAAK,aAAc,SAASC,KAAKC,SAAU,CAChD,cAAeD,KAAKE,UAEtBC,KAAK,SAELP,EAAA,QAAAC,IAAA,6C","ignoreList":[]}