@dso-toolkit/core 99.5.0 → 100.1.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 (379) hide show
  1. package/dist/bundle/dso-accordion-section.js +8 -8
  2. package/dist/bundle/dso-accordion.js +2 -2
  3. package/dist/bundle/dso-action-list-item.js +2 -2
  4. package/dist/bundle/dso-action-list.js +1 -1
  5. package/dist/bundle/dso-advanced-select.js +9 -9
  6. package/dist/bundle/dso-alert.js +1 -1
  7. package/dist/bundle/dso-annotation-activiteit.js +9 -9
  8. package/dist/bundle/dso-annotation-gebiedsaanwijzing.js +8 -8
  9. package/dist/bundle/dso-annotation-kaart.js +5 -5
  10. package/dist/bundle/dso-annotation-locatie.js +1 -1
  11. package/dist/bundle/dso-annotation-omgevingsnormwaarde.js +9 -9
  12. package/dist/bundle/dso-attachments-counter.js +1 -1
  13. package/dist/bundle/dso-autosuggest.js +4 -4
  14. package/dist/bundle/dso-badge.js +1 -1
  15. package/dist/bundle/dso-banner.js +2 -2
  16. package/dist/bundle/dso-button-group.js +1 -1
  17. package/dist/bundle/dso-card-container.js +1 -1
  18. package/dist/bundle/dso-card.js +2 -2
  19. package/dist/bundle/dso-contact-information.js +1 -1
  20. package/dist/bundle/dso-cursor-tooltip.js +1 -1
  21. package/dist/bundle/dso-date-picker.js +1 -1
  22. package/dist/bundle/dso-document-card.js +2 -2
  23. package/dist/bundle/dso-document-component.js +1 -1
  24. package/dist/bundle/dso-dropdown-menu-group.js +1 -1
  25. package/dist/bundle/dso-dropdown-menu-item.js +2 -2
  26. package/dist/bundle/dso-dropdown-menu.js +55 -16
  27. package/dist/bundle/dso-expandable.js +1 -1
  28. package/dist/bundle/dso-header.js +54 -15
  29. package/dist/bundle/dso-highlight-box.js +2 -2
  30. package/dist/bundle/dso-history-item.js +2 -2
  31. package/dist/bundle/dso-icon-button.js +1 -1
  32. package/dist/bundle/dso-icon.js +1 -1
  33. package/dist/bundle/dso-image-overlay.js +1 -1
  34. package/dist/bundle/dso-info-button.js +1 -1
  35. package/dist/bundle/dso-info.js +1 -1
  36. package/dist/bundle/dso-input-range.js +1 -1
  37. package/dist/bundle/dso-label.js +1 -1
  38. package/dist/bundle/dso-legend-group.js +3 -3
  39. package/dist/bundle/dso-legend-item.js +6 -6
  40. package/dist/bundle/dso-legend.js +4 -4
  41. package/dist/bundle/dso-list-button.js +7 -7
  42. package/dist/bundle/dso-logo.js +1 -1
  43. package/dist/bundle/dso-map-base-layers.js +7 -7
  44. package/dist/bundle/dso-map-controls.js +5 -5
  45. package/dist/bundle/dso-map-layer-object.js +3 -3
  46. package/dist/bundle/dso-map-layer.js +3 -3
  47. package/dist/bundle/dso-map-message.js +2 -2
  48. package/dist/bundle/dso-map-overlays.js +7 -7
  49. package/dist/bundle/dso-mark-bar.js +3 -3
  50. package/dist/bundle/dso-modal.js +1 -1
  51. package/dist/bundle/dso-onboarding-tip.js +4 -4
  52. package/dist/bundle/dso-ozon-content-toggletip.js +1 -1
  53. package/dist/bundle/dso-ozon-content.js +1 -1
  54. package/dist/bundle/dso-pagination.js +3 -3
  55. package/dist/bundle/dso-panel.js +1 -1
  56. package/dist/bundle/dso-plekinfo-card.js +3 -3
  57. package/dist/bundle/dso-progress-indicator.js +1 -1
  58. package/dist/bundle/dso-project-item.js +4 -4
  59. package/dist/bundle/dso-renvooi.js +1 -1
  60. package/dist/bundle/dso-responsive-element.js +1 -1
  61. package/dist/bundle/dso-scrollable.js +1 -1
  62. package/dist/bundle/dso-segmented-button.js +1 -1
  63. package/dist/bundle/dso-selectable.js +1 -1
  64. package/dist/bundle/dso-skiplink.js +2 -2
  65. package/dist/bundle/dso-slide-toggle.js +1 -1
  66. package/dist/bundle/dso-survey-rating.js +4 -4
  67. package/dist/bundle/dso-tab.js +1 -1
  68. package/dist/bundle/dso-table.js +1 -1
  69. package/dist/bundle/dso-tabs.js +1 -1
  70. package/dist/bundle/dso-tijdreis-banner.js +2 -2
  71. package/dist/bundle/dso-tree-view.js +4 -4
  72. package/dist/bundle/dso-viewer-grid.js +3 -3
  73. package/dist/bundle/dsot-document-component-demo.js +20 -20
  74. package/dist/bundle/index.js +2 -4
  75. package/dist/bundle/{p-DtOWRu1L.js → p-6nUCOHWn.js} +6 -6
  76. package/dist/bundle/{p-CC_FTvSe.js → p-8YcBvELS.js} +3 -3
  77. package/dist/bundle/{p-CyPdFUPX.js → p-B0P26kAp.js} +1 -1
  78. package/dist/bundle/{p-CIYEcIdu.js → p-B3FbvmVw.js} +1 -1
  79. package/dist/bundle/{p-ChjlyvQF.js → p-B82C0K_L.js} +51 -39
  80. package/dist/bundle/{p-C9U8p69U.js → p-BHRblHY3.js} +1 -1
  81. package/dist/bundle/{p-J6T9IaVD.js → p-BQxtaAHi.js} +3 -3
  82. package/dist/bundle/{p-DiFgvE1s.js → p-BVLZrKNg.js} +1 -1
  83. package/dist/bundle/{p-BdeLamBx.js → p-Br469Elu.js} +4 -4
  84. package/dist/bundle/{p-DChzHBbI.js → p-BvDes8Gu.js} +8 -8
  85. package/dist/bundle/{p-BEvvjBre.js → p-CWZTy2nB.js} +1 -1
  86. package/dist/bundle/{p-DTsQJazx.js → p-Cg-toWNU.js} +1 -1
  87. package/dist/bundle/{p-Di7uBIhp.js → p-CiFTQ7lb.js} +1 -1
  88. package/dist/bundle/{p-A4t9O4cN.js → p-Cip0R_he.js} +4 -4
  89. package/dist/bundle/{p-_Cugwqbf.js → p-CkzyPAOs.js} +1 -1
  90. package/dist/bundle/{p-Cs38e0-P.js → p-Czw2L8TD.js} +3 -3
  91. package/dist/bundle/{p-Dhml-KNY.js → p-DAmxDDoU.js} +3 -3
  92. package/dist/bundle/{p-DVuh3xxM.js → p-DB6jeYdL.js} +22 -16
  93. package/dist/bundle/{p-BPeUsEu7.js → p-DFhKaDMe.js} +1 -1
  94. package/dist/bundle/{p-BHoewcI-.js → p-DJ-7HwUE.js} +13 -13
  95. package/dist/bundle/p-DP38TdZ-.js +48 -0
  96. package/dist/bundle/{p-Slg3tfdg.js → p-DXgD4AkM.js} +2 -2
  97. package/dist/bundle/{p-BSPLBZYE.js → p-DYl6avOc.js} +61 -7
  98. package/dist/bundle/{p-_TVwcL7Y.js → p-DdH_IPw_.js} +1 -1
  99. package/dist/bundle/{p-BO8XMsvv.js → p-DjR55R0Z.js} +1 -1
  100. package/dist/bundle/{p-CyyXeBpT.js → p-Dmj2gaMT.js} +4 -4
  101. package/dist/bundle/{p-DjX5FuBA.js → p-EXGmxXIf.js} +1 -1
  102. package/dist/bundle/{p-lAMOCPzk.js → p-KK2DjdQT.js} +1 -1
  103. package/dist/bundle/{p-DHLpi_b6.js → p-TW2DeBeB.js} +5 -5
  104. package/dist/bundle/{p-C-LiStfD.js → p-U-rJ9-GL.js} +3 -3
  105. package/dist/bundle/{p-DaYftqWs.js → p-_1Bto3fX.js} +2 -2
  106. package/dist/cjs/{annotation-body-CiWbOM67.js → annotation-body-H_YdGRBP.js} +1 -1
  107. package/dist/cjs/{annotation-list-renvooi-values-BeNFLgnO.js → annotation-list-renvooi-values-DnvYPhrD.js} +1 -1
  108. package/dist/cjs/{annotation-watcher-5j3WUBEz.js → annotation-watcher-DXLGEmn8.js} +1 -1
  109. package/dist/cjs/dso-accordion-section.cjs.entry.js +1 -1
  110. package/dist/cjs/dso-accordion.cjs.entry.js +2 -2
  111. package/dist/cjs/dso-action-list-item.cjs.entry.js +1 -1
  112. package/dist/cjs/dso-action-list.cjs.entry.js +1 -1
  113. package/dist/cjs/dso-advanced-select.cjs.entry.js +4 -4
  114. package/dist/cjs/dso-alert_7.cjs.entry.js +63 -10
  115. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js +4 -4
  116. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js +3 -3
  117. package/dist/cjs/dso-annotation-kaart.cjs.entry.js +2 -2
  118. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js +41 -29
  119. package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js +4 -4
  120. package/dist/cjs/dso-attachments-counter_2.cjs.entry.js +1 -1
  121. package/dist/cjs/dso-autosuggest.cjs.entry.js +1 -1
  122. package/dist/cjs/dso-banner.cjs.entry.js +1 -1
  123. package/dist/cjs/dso-button-group.cjs.entry.js +1 -1
  124. package/dist/cjs/dso-card-container.cjs.entry.js +1 -1
  125. package/dist/cjs/dso-card.cjs.entry.js +1 -1
  126. package/dist/cjs/dso-contact-information.cjs.entry.js +1 -1
  127. package/dist/cjs/dso-cursor-tooltip.cjs.entry.js +1 -1
  128. package/dist/cjs/dso-date-picker.cjs.entry.js +1 -1
  129. package/dist/cjs/dso-document-card.cjs.entry.js +1 -1
  130. package/dist/cjs/dso-dropdown-menu-group.cjs.entry.js +1 -1
  131. package/dist/cjs/dso-dropdown-menu-item.cjs.entry.js +1 -1
  132. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +53 -14
  133. package/dist/cjs/dso-header.cjs.entry.js +52 -13
  134. package/dist/cjs/dso-highlight-box.cjs.entry.js +2 -2
  135. package/dist/cjs/dso-history-item.cjs.entry.js +1 -1
  136. package/dist/cjs/dso-icon-button.cjs.entry.js +2 -2
  137. package/dist/cjs/dso-icon.cjs.entry.js +1 -1
  138. package/dist/cjs/dso-info_3.cjs.entry.js +3 -3
  139. package/dist/cjs/dso-input-range.cjs.entry.js +1 -1
  140. package/dist/cjs/dso-label_3.cjs.entry.js +2 -2
  141. package/dist/cjs/dso-legend-group.cjs.entry.js +1 -1
  142. package/dist/cjs/dso-legend-item.cjs.entry.js +1 -1
  143. package/dist/cjs/dso-legend.cjs.entry.js +1 -1
  144. package/dist/cjs/dso-list-button.cjs.entry.js +1 -1
  145. package/dist/cjs/dso-logo.cjs.entry.js +1 -1
  146. package/dist/cjs/dso-map-base-layers.cjs.entry.js +1 -1
  147. package/dist/cjs/dso-map-controls.cjs.entry.js +1 -1
  148. package/dist/cjs/dso-map-layer-object.cjs.entry.js +2 -2
  149. package/dist/cjs/dso-map-layer.cjs.entry.js +2 -2
  150. package/dist/cjs/dso-map-message.cjs.entry.js +1 -1
  151. package/dist/cjs/dso-map-overlays.cjs.entry.js +1 -1
  152. package/dist/cjs/dso-mark-bar.cjs.entry.js +1 -1
  153. package/dist/cjs/dso-modal.cjs.entry.js +1 -1
  154. package/dist/cjs/dso-onboarding-tip.cjs.entry.js +1 -1
  155. package/dist/cjs/dso-pagination.cjs.entry.js +1 -1
  156. package/dist/cjs/dso-plekinfo-card.cjs.entry.js +2 -2
  157. package/dist/cjs/dso-progress-indicator.cjs.entry.js +1 -1
  158. package/dist/cjs/dso-project-item.cjs.entry.js +1 -1
  159. package/dist/cjs/dso-responsive-element.cjs.entry.js +1 -1
  160. package/dist/cjs/dso-scrollable.cjs.entry.js +1 -1
  161. package/dist/cjs/dso-segmented-button.cjs.entry.js +1 -1
  162. package/dist/cjs/dso-skiplink.cjs.entry.js +1 -1
  163. package/dist/cjs/dso-survey-rating.cjs.entry.js +1 -1
  164. package/dist/cjs/dso-tab.cjs.entry.js +1 -1
  165. package/dist/cjs/dso-tabs.cjs.entry.js +1 -1
  166. package/dist/cjs/dso-tijdreis-banner.cjs.entry.js +1 -1
  167. package/dist/cjs/dso-toolkit.cjs.js +2 -2
  168. package/dist/cjs/dso-tree-view.cjs.entry.js +2 -2
  169. package/dist/cjs/dso-viewer-grid.cjs.entry.js +3 -3
  170. package/dist/cjs/dsot-document-component-demo.cjs.entry.js +3 -3
  171. package/dist/cjs/{index-fOjUpMJG.js → index-CfwUrDXc.js} +1 -1
  172. package/dist/cjs/{index-D8SsuyUx.js → index-EngjN4P3.js} +22 -16
  173. package/dist/cjs/loader.cjs.js +2 -2
  174. package/dist/cjs/{parse-wijzigactie-from-node.function-Bi4NE9Tt.js → parse-wijzigactie-from-node.function-B2dUQ7Rf.js} +1 -1
  175. package/dist/cjs/{tooltip.functional-component-D6oJmzwD.js → tooltip.functional-component-BEcuvKwS.js} +1 -1
  176. package/dist/cjs/{wrap-wijzigactie.functional-component-CV8gX7lQ.js → wrap-wijzigactie.functional-component-DodUwf7_.js} +1 -1
  177. package/dist/collection/collection-manifest.json +0 -1
  178. package/dist/collection/components/advanced-select/advanced-select.css +12 -11
  179. package/dist/collection/components/advanced-select/advanced-select.js +2 -2
  180. package/dist/collection/components/document-component/document-component-heading.js +28 -18
  181. package/dist/collection/components/document-component/document-component.js +16 -14
  182. package/dist/collection/components/document-component-demo/document-component.demo.js +2 -2
  183. package/dist/collection/components/dropdown-menu/dropdown-menu.js +51 -12
  184. package/dist/collection/components/header/header.js +51 -12
  185. package/dist/collection/components/highlight-box/highlight-box.css +2 -4
  186. package/dist/collection/components/info/info.css +10 -17
  187. package/dist/collection/components/ozon-content/nodes/int-io-ref.node.js +1 -1
  188. package/dist/collection/components/ozon-content/nodes/int-ref.node.js +1 -1
  189. package/dist/collection/components/ozon-content/nodes/noot.node.js +1 -1
  190. package/dist/collection/components/ozon-content/ozon-content-mapper.js +1 -1
  191. package/dist/collection/components/table/table.css +4 -4
  192. package/dist/collection/components/table/table.js +55 -1
  193. package/dist/collection/components/tree-view/tree-view.js +1 -1
  194. package/dist/collection/components/viewer-grid/viewer-grid.js +2 -2
  195. package/dist/components/document-component.js +1 -1
  196. package/dist/components/dso-advanced-select.js +1 -1
  197. package/dist/components/dso-dropdown-menu.js +1 -1
  198. package/dist/components/dso-header.js +1 -1
  199. package/dist/components/dso-highlight-box.js +1 -1
  200. package/dist/components/dso-tree-view.js +1 -1
  201. package/dist/components/dso-viewer-grid.js +1 -1
  202. package/dist/components/dsot-document-component-demo.js +1 -1
  203. package/dist/components/index.d.ts +0 -2
  204. package/dist/components/index.js +1 -1
  205. package/dist/components/index2.js +1 -1
  206. package/dist/components/info.js +1 -1
  207. package/dist/components/ozon-content.js +1 -1
  208. package/dist/components/table.js +1 -1
  209. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  210. package/dist/dso-toolkit/p-017299d2.entry.js +5 -0
  211. package/dist/dso-toolkit/{p-f205b38c.entry.js → p-03d9b96e.entry.js} +1 -1
  212. package/dist/dso-toolkit/{p-ead2f178.entry.js → p-0cd1de97.entry.js} +1 -1
  213. package/dist/dso-toolkit/{p-0fc1acaa.entry.js → p-0d5b878e.entry.js} +1 -1
  214. package/dist/dso-toolkit/{p-8bdb1eb9.entry.js → p-1c28315c.entry.js} +1 -1
  215. package/dist/dso-toolkit/{p-f485cda1.entry.js → p-41fbe275.entry.js} +1 -1
  216. package/dist/dso-toolkit/{p-ccbbfdc7.entry.js → p-43970647.entry.js} +1 -1
  217. package/dist/dso-toolkit/{p-9430341b.entry.js → p-460f9f1b.entry.js} +1 -1
  218. package/dist/dso-toolkit/{p-5962b2d4.entry.js → p-5018c559.entry.js} +1 -1
  219. package/dist/dso-toolkit/p-502203a3.entry.js +1 -0
  220. package/dist/dso-toolkit/{p-7e155437.entry.js → p-532385ca.entry.js} +1 -1
  221. package/dist/dso-toolkit/{p-bb6cbd71.entry.js → p-58ed63b6.entry.js} +1 -1
  222. package/dist/dso-toolkit/{p-e98aad46.entry.js → p-5d41c119.entry.js} +1 -1
  223. package/dist/dso-toolkit/{p-ae526b7b.entry.js → p-5ece2ae5.entry.js} +1 -1
  224. package/dist/dso-toolkit/{p-bfbbc6d6.entry.js → p-5edd97cf.entry.js} +1 -1
  225. package/dist/dso-toolkit/{p-5b2d4e4d.entry.js → p-5ffc700e.entry.js} +1 -1
  226. package/dist/dso-toolkit/{p-16a9d23c.entry.js → p-622b47ad.entry.js} +1 -1
  227. package/dist/dso-toolkit/{p-71f63631.entry.js → p-627c9d12.entry.js} +1 -1
  228. package/dist/dso-toolkit/{p-f163e3db.entry.js → p-6814c292.entry.js} +1 -1
  229. package/dist/dso-toolkit/{p-1ce3c197.entry.js → p-6851a8cb.entry.js} +1 -1
  230. package/dist/dso-toolkit/{p-c352e814.entry.js → p-6a9f4e50.entry.js} +1 -1
  231. package/dist/dso-toolkit/{p-33c05ebd.entry.js → p-6d5efb25.entry.js} +1 -1
  232. package/dist/dso-toolkit/{p-49d26a29.entry.js → p-70bcf975.entry.js} +1 -1
  233. package/dist/dso-toolkit/p-71724040.entry.js +1 -0
  234. package/dist/dso-toolkit/{p-1a76abf1.entry.js → p-7834b538.entry.js} +1 -1
  235. package/dist/dso-toolkit/{p-0ce9b9ec.entry.js → p-7b78dcd3.entry.js} +1 -1
  236. package/dist/dso-toolkit/{p-c295282a.entry.js → p-7c5a3545.entry.js} +1 -1
  237. package/dist/dso-toolkit/{p-9209aec4.entry.js → p-7da56abf.entry.js} +1 -1
  238. package/dist/dso-toolkit/{p-7a852b15.entry.js → p-81e702e7.entry.js} +1 -1
  239. package/dist/dso-toolkit/{p-538f968a.entry.js → p-82e90779.entry.js} +1 -1
  240. package/dist/dso-toolkit/{p-828dc3d2.entry.js → p-84ca2384.entry.js} +1 -1
  241. package/dist/dso-toolkit/p-86e6e0fc.entry.js +1 -0
  242. package/dist/dso-toolkit/{p-e966fb4d.entry.js → p-8e603464.entry.js} +1 -1
  243. package/dist/dso-toolkit/p-90777f4f.entry.js +1 -0
  244. package/dist/dso-toolkit/{p-e58e9b96.entry.js → p-9d6b7a0f.entry.js} +1 -1
  245. package/dist/dso-toolkit/{p-8dd7f11a.entry.js → p-9fea3ebf.entry.js} +1 -1
  246. package/dist/dso-toolkit/{p-e82c870a.entry.js → p-9fef9c1a.entry.js} +1 -1
  247. package/dist/dso-toolkit/p-C32sfSnK.js +1 -0
  248. package/dist/dso-toolkit/p-C7Q97EIG.js +1 -0
  249. package/dist/dso-toolkit/{p-pqfDfKeZ.js → p-CieBNbUH.js} +1 -1
  250. package/dist/dso-toolkit/{p-CHpgprST.js → p-DQbnZnP0.js} +1 -1
  251. package/dist/dso-toolkit/{p-CDgoS98P.js → p-DeuvCGGT.js} +1 -1
  252. package/dist/dso-toolkit/p-DxGQgnCh.js +1 -0
  253. package/dist/dso-toolkit/{p-fc9096fc.entry.js → p-ac6c666a.entry.js} +1 -1
  254. package/dist/dso-toolkit/{p-b5c4719a.entry.js → p-b021e5b9.entry.js} +1 -1
  255. package/dist/dso-toolkit/{p-e5bb3203.entry.js → p-b2f397b0.entry.js} +1 -1
  256. package/dist/dso-toolkit/{p-7e808e9e.entry.js → p-b4b9b379.entry.js} +1 -1
  257. package/dist/dso-toolkit/{p-92e7fa78.entry.js → p-b8648298.entry.js} +1 -1
  258. package/dist/dso-toolkit/{p-9454c434.entry.js → p-bf4b3495.entry.js} +1 -1
  259. package/dist/dso-toolkit/{p-9b468b2a.entry.js → p-c5f0b112.entry.js} +1 -1
  260. package/dist/dso-toolkit/{p-cc9167cd.entry.js → p-c839998b.entry.js} +1 -1
  261. package/dist/dso-toolkit/{p-441b88f3.entry.js → p-ce64e15d.entry.js} +1 -1
  262. package/dist/dso-toolkit/{p-db491dfd.entry.js → p-ced912cd.entry.js} +1 -1
  263. package/dist/dso-toolkit/{p-6243fe15.entry.js → p-cfccb614.entry.js} +1 -1
  264. package/dist/dso-toolkit/{p-3d705a78.entry.js → p-d29686b8.entry.js} +1 -1
  265. package/dist/dso-toolkit/{p-93aee600.entry.js → p-d71f20c0.entry.js} +1 -1
  266. package/dist/dso-toolkit/{p-0925b25d.entry.js → p-d8623a7f.entry.js} +1 -1
  267. package/dist/dso-toolkit/{p-0f2ae02f.entry.js → p-d9979767.entry.js} +1 -1
  268. package/dist/dso-toolkit/p-dd03f91c.entry.js +1 -0
  269. package/dist/dso-toolkit/p-e128eca7.entry.js +1 -0
  270. package/dist/dso-toolkit/{p-ffdd9174.entry.js → p-eef7afe1.entry.js} +1 -1
  271. package/dist/dso-toolkit/{p-5cfc5bc7.entry.js → p-ef2da0ad.entry.js} +1 -1
  272. package/dist/dso-toolkit/{p-989c2c78.entry.js → p-f1788b0f.entry.js} +1 -1
  273. package/dist/dso-toolkit/{p-1281cc01.entry.js → p-f3e73775.entry.js} +1 -1
  274. package/dist/dso-toolkit/{p-ee9693c6.entry.js → p-f704fe55.entry.js} +1 -1
  275. package/dist/dso-toolkit/{p-d271dd46.entry.js → p-f8592a62.entry.js} +1 -1
  276. package/dist/dso-toolkit/{p-ace3aaa4.entry.js → p-fa4e993e.entry.js} +1 -1
  277. package/dist/dso-toolkit/p-jq9f4Z3R.js +1 -0
  278. package/dist/dso-toolkit/p-kDBsQgLI.js +1 -0
  279. package/dist/esm/{annotation-body-DBGu5INB.js → annotation-body-CfhN4FON.js} +1 -1
  280. package/dist/esm/{annotation-list-renvooi-values-DoTvSWOI.js → annotation-list-renvooi-values-BTPUEm3B.js} +1 -1
  281. package/dist/esm/{annotation-watcher-Dm4MhmMp.js → annotation-watcher-BO0jbdlD.js} +1 -1
  282. package/dist/esm/dso-accordion-section.entry.js +1 -1
  283. package/dist/esm/dso-accordion.entry.js +2 -2
  284. package/dist/esm/dso-action-list-item.entry.js +1 -1
  285. package/dist/esm/dso-action-list.entry.js +1 -1
  286. package/dist/esm/dso-advanced-select.entry.js +4 -4
  287. package/dist/esm/dso-alert_7.entry.js +63 -10
  288. package/dist/esm/dso-annotation-activiteit.entry.js +4 -4
  289. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js +3 -3
  290. package/dist/esm/dso-annotation-kaart.entry.js +2 -2
  291. package/dist/esm/dso-annotation-locatie_2.entry.js +41 -29
  292. package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js +4 -4
  293. package/dist/esm/dso-attachments-counter_2.entry.js +1 -1
  294. package/dist/esm/dso-autosuggest.entry.js +1 -1
  295. package/dist/esm/dso-banner.entry.js +1 -1
  296. package/dist/esm/dso-button-group.entry.js +1 -1
  297. package/dist/esm/dso-card-container.entry.js +1 -1
  298. package/dist/esm/dso-card.entry.js +1 -1
  299. package/dist/esm/dso-contact-information.entry.js +1 -1
  300. package/dist/esm/dso-cursor-tooltip.entry.js +1 -1
  301. package/dist/esm/dso-date-picker.entry.js +1 -1
  302. package/dist/esm/dso-document-card.entry.js +1 -1
  303. package/dist/esm/dso-dropdown-menu-group.entry.js +1 -1
  304. package/dist/esm/dso-dropdown-menu-item.entry.js +1 -1
  305. package/dist/esm/dso-dropdown-menu.entry.js +53 -14
  306. package/dist/esm/dso-header.entry.js +52 -13
  307. package/dist/esm/dso-highlight-box.entry.js +2 -2
  308. package/dist/esm/dso-history-item.entry.js +1 -1
  309. package/dist/esm/dso-icon-button.entry.js +2 -2
  310. package/dist/esm/dso-icon.entry.js +1 -1
  311. package/dist/esm/dso-info_3.entry.js +3 -3
  312. package/dist/esm/dso-input-range.entry.js +1 -1
  313. package/dist/esm/dso-label_3.entry.js +2 -2
  314. package/dist/esm/dso-legend-group.entry.js +1 -1
  315. package/dist/esm/dso-legend-item.entry.js +1 -1
  316. package/dist/esm/dso-legend.entry.js +1 -1
  317. package/dist/esm/dso-list-button.entry.js +1 -1
  318. package/dist/esm/dso-logo.entry.js +1 -1
  319. package/dist/esm/dso-map-base-layers.entry.js +1 -1
  320. package/dist/esm/dso-map-controls.entry.js +1 -1
  321. package/dist/esm/dso-map-layer-object.entry.js +2 -2
  322. package/dist/esm/dso-map-layer.entry.js +2 -2
  323. package/dist/esm/dso-map-message.entry.js +1 -1
  324. package/dist/esm/dso-map-overlays.entry.js +1 -1
  325. package/dist/esm/dso-mark-bar.entry.js +1 -1
  326. package/dist/esm/dso-modal.entry.js +1 -1
  327. package/dist/esm/dso-onboarding-tip.entry.js +1 -1
  328. package/dist/esm/dso-pagination.entry.js +1 -1
  329. package/dist/esm/dso-plekinfo-card.entry.js +2 -2
  330. package/dist/esm/dso-progress-indicator.entry.js +1 -1
  331. package/dist/esm/dso-project-item.entry.js +1 -1
  332. package/dist/esm/dso-responsive-element.entry.js +1 -1
  333. package/dist/esm/dso-scrollable.entry.js +1 -1
  334. package/dist/esm/dso-segmented-button.entry.js +1 -1
  335. package/dist/esm/dso-skiplink.entry.js +1 -1
  336. package/dist/esm/dso-survey-rating.entry.js +1 -1
  337. package/dist/esm/dso-tab.entry.js +1 -1
  338. package/dist/esm/dso-tabs.entry.js +1 -1
  339. package/dist/esm/dso-tijdreis-banner.entry.js +1 -1
  340. package/dist/esm/dso-toolkit.js +3 -3
  341. package/dist/esm/dso-tree-view.entry.js +2 -2
  342. package/dist/esm/dso-viewer-grid.entry.js +3 -3
  343. package/dist/esm/dsot-document-component-demo.entry.js +3 -3
  344. package/dist/esm/{index-OTFpj3vR.js → index-B0pTkGRp.js} +22 -16
  345. package/dist/esm/{index-pqfDfKeZ.js → index-CieBNbUH.js} +1 -1
  346. package/dist/esm/loader.js +3 -3
  347. package/dist/esm/{parse-wijzigactie-from-node.function-Cn1GXjSM.js → parse-wijzigactie-from-node.function-DhCCxNJH.js} +1 -1
  348. package/dist/esm/{tooltip.functional-component-CsWjK64w.js → tooltip.functional-component-chN-aNlU.js} +1 -1
  349. package/dist/esm/{wrap-wijzigactie.functional-component-DzSLSv0i.js → wrap-wijzigactie.functional-component-BYWldnbn.js} +1 -1
  350. package/dist/types/components/document-component/document-component-heading.d.ts +1 -1
  351. package/dist/types/components/document-component/document-component.d.ts +5 -3
  352. package/dist/types/components/dropdown-menu/dropdown-menu.d.ts +2 -0
  353. package/dist/types/components/header/header.d.ts +2 -0
  354. package/dist/types/components/table/table.d.ts +5 -0
  355. package/dist/types/components.d.ts +7 -105
  356. package/package.json +8 -10
  357. package/dist/bundle/dso-tooltip.d.ts +0 -11
  358. package/dist/bundle/dso-tooltip.js +0 -2119
  359. package/dist/bundle/p-CAqSxnd4.js +0 -48
  360. package/dist/cjs/dso-tooltip.cjs.entry.js +0 -2080
  361. package/dist/collection/components/tooltip/tooltip.css +0 -114
  362. package/dist/collection/components/tooltip/tooltip.js +0 -448
  363. package/dist/components/dso-tooltip.d.ts +0 -11
  364. package/dist/components/dso-tooltip.js +0 -1
  365. package/dist/dso-toolkit/p-0083183c.entry.js +0 -1
  366. package/dist/dso-toolkit/p-2149be85.entry.js +0 -1
  367. package/dist/dso-toolkit/p-5cdda2dd.entry.js +0 -1
  368. package/dist/dso-toolkit/p-6e027a66.entry.js +0 -1
  369. package/dist/dso-toolkit/p-87a19b2e.entry.js +0 -1
  370. package/dist/dso-toolkit/p-CKvC5fms.js +0 -1
  371. package/dist/dso-toolkit/p-CWxbEBiv.js +0 -1
  372. package/dist/dso-toolkit/p-CmOx9B7G.js +0 -1
  373. package/dist/dso-toolkit/p-Cw_CPOlV.js +0 -1
  374. package/dist/dso-toolkit/p-DHGCm31c.js +0 -1
  375. package/dist/dso-toolkit/p-cfb08b19.entry.js +0 -1
  376. package/dist/dso-toolkit/p-e3826220.entry.js +0 -5
  377. package/dist/dso-toolkit/p-e3c1777e.entry.js +0 -1
  378. package/dist/esm/dso-tooltip.entry.js +0 -2078
  379. package/dist/types/components/tooltip/tooltip.d.ts +0 -61
@@ -1,7 +1,7 @@
1
1
  import { h } from "@stencil/core";
2
- export const Heading = ({ heading, mode, href, onClick, ...props }, children) => {
2
+ export const Heading = ({ headingLevel, mode, href, onClick, ...props }, children) => {
3
3
  // In the table of contents the nested lists carry the structure, so a heading level would add nothing but noise to
4
- // the heading list of assistive technology. The `heading` prop is ignored here.
4
+ // the heading list of assistive technology. The `headingLevel` prop is ignored here.
5
5
  if (mode === "table-of-contents") {
6
6
  const label = h("div", { ...props }, children);
7
7
  if (!href) {
@@ -10,22 +10,32 @@ export const Heading = ({ heading, mode, href, onClick, ...props }, children) =>
10
10
  return (h("a", { href: href, onClick: onClick, class: "heading-anchor" }, label));
11
11
  }
12
12
  let headingElement;
13
- switch (heading) {
14
- default:
15
- case "h2":
16
- headingElement = (h("h2", { ...props, onClick: onClick }, children));
17
- break;
18
- case "h3":
19
- headingElement = (h("h3", { ...props, onClick: onClick }, children));
20
- break;
21
- case "h4":
22
- headingElement = (h("h4", { ...props, onClick: onClick }, children));
23
- break;
24
- case "h5":
25
- headingElement = (h("h5", { ...props, onClick: onClick }, children));
26
- break;
27
- case "h6":
28
- headingElement = (h("h6", { ...props, onClick: onClick }, children));
13
+ // The native heading elements only go up to `h6`. Deeper levels are expressed with the `heading` role and an
14
+ // explicit `aria-level` so assistive technology still exposes the correct structure.
15
+ if (headingLevel > 6) {
16
+ headingElement = (h("div", { role: "heading", "aria-level": headingLevel, ...props, onClick: onClick }, children));
17
+ }
18
+ else {
19
+ // In this branch the level is 6 or lower, so it maps onto a native `h2`–`h6` element.
20
+ let HeadingTag;
21
+ switch (headingLevel) {
22
+ case 3:
23
+ HeadingTag = "h3";
24
+ break;
25
+ case 4:
26
+ HeadingTag = "h4";
27
+ break;
28
+ case 5:
29
+ HeadingTag = "h5";
30
+ break;
31
+ case 6:
32
+ HeadingTag = "h6";
33
+ break;
34
+ default:
35
+ HeadingTag = "h2";
36
+ break;
37
+ }
38
+ headingElement = (h(HeadingTag, { ...props, onClick: onClick }, children));
29
39
  }
30
40
  return headingElement;
31
41
  };
@@ -35,10 +35,12 @@ const AantekenAlert = ({ gereserveerd, vervallen }) => {
35
35
  export class DocumentComponent {
36
36
  constructor() {
37
37
  /**
38
- * The heading element to use (only in mode="document"). In mode="table-of-contents" the nested lists carry the
39
- * structure and no heading is rendered.
38
+ * The heading level to use (only in mode="document"). When the level is 6 or lower a native heading element
39
+ * (`<h2>` … `<h6>`) is rendered; deeper levels are rendered as `<div role="heading" aria-level="*">` because HTML
40
+ * has no native heading elements beyond `<h6>`. In mode="table-of-contents" the nested lists carry the structure
41
+ * and no heading is rendered.
40
42
  */
41
- this.heading = "h2";
43
+ this.headingLevel = 2;
42
44
  /**
43
45
  * This boolean attribute indicates whether the children are visible.
44
46
  */
@@ -183,17 +185,17 @@ export class DocumentComponent {
183
185
  this.alternativeTitle ||
184
186
  this.label ||
185
187
  this.annotated);
186
- return (h(Host, { key: 'c3daa1d2609de7893bd976616e5b921b873f7e99', "not-collapsible": !collapsible }, showHeading && (h("div", { key: 'e4745a823af6fd01a0409757e118050e302211c1', class: "heading-container", part: "_heading-container" }, this.wijzigactie && h("span", { key: '5fceace2c30d0e026128fa501293ffcbd7b034ca', class: "editaction-label" }, this.wijzigactieLabel, ":"), h("div", { key: '821aedd47bbd20b9bfd3abc2db9d89ee8ef4b6c0', class: "heading" }, h(Heading, { key: 'ee5d5963865210537240db4ca06dede27244fccc', heading: this.heading, class: "heading-element", onClick: this.alternativeTitle ? this.handleHeadingClick : undefined, mode: this.mode, href: this.href }, collapsible && this.mode === "document" && (h("dso-icon-button", { key: 'a692e695c1aed573157419c5b48ad553d4dceff7', label: this.open ? "Invouwen" : "Uitvouwen", class: "toggle-button", expanded: this.open, icon: this.open ? "chevron-down" : "chevron-right", variant: "tertiary", onDsoClick: (e) => this.handleHeadingClick(e.detail.originalEvent) })), h("div", { key: '6456a83d76b31c8631cbf284501eb78de7a001bf' }, this.notApplicable && h("span", { key: '037f400453d038d41c93127ce3e4bcb274e741c1', class: "sr-only" }, "Niet van toepassing:"), this._kop ? (h("dso-ozon-content", { class: "kop", content: this._kop, onDsoClick: this.handleOzonContentClick, mark: this.mark && ((text) => this.mark?.(text, "kop")), onDsoOzonContentMarkItemHighlight: (e) => this.dsoMarkItemHighlight.emit({ ...e.detail, source: "kop" }), inline: true, urlResolver: this.ozonContentUrlResolver, begripResolver: this.ozonContentBegripResolver, annotated: this.annotated })) : (h("span", { class: "alternative-title" }, (!this.mark && this.alternativeTitle) ||
187
- (this.mark && this.alternativeTitle && (h(MarkText, { mark: this.mark && ((text) => this.mark?.(text, "alternativeTitle")), text: this.alternativeTitle, emitMarkItemHighlight: (text, elementRef) => this.dsoMarkItemHighlight.emit({ text, elementRef, source: "alternativeTitle" }) }))))), h(AantekenStatus, { key: '7bae979a0c85493214474fec4be1eeb59ac3610c', gereserveerd: this._gereserveerd, vervallen: this._vervallen }))), this.recursiveToggle !== undefined && this.open && this.mode === "document" && (h("dso-icon-button", { key: 'f2dac94d29b219618472fc1f9a8e267176853e8f', label: this.recursiveToggle === true ? "Verberg onderliggende artikelen" : "Toon onderliggende artikelen", class: "recursive-toggle", expanded: this.recursiveToggle === true, icon: this.recursiveToggle === true ? "eye" : "eye-slash", variant: "tertiary", onDsoClick: (e) => this.handleRecursiveToggleClick(e.detail.originalEvent) })), this.showBadge() && (h(Fragment, { key: 'acf8256c9261775e6473e5cada670179e268cbe5' }, h("dso-badge", { key: 'd8859cb3a6cbcab8fd048f38ddfaaca22c6b984d', status: this.badgeStatus, label: this.badgeTooltip ? "Toon toelichting" : undefined }, this.badge, this.badgeTooltip && h("div", { key: 'b59a6fab6d6be897ebee1d1cb19093c65b7c6928', slot: "toggletip" }, this.badgeTooltip)))), (this.label || this.annotated) && (h("div", { key: '5e1c708b282870fbf288c5ab8fd367c507d9b3ee', class: "addons" }, this.label && (h("dso-label", { key: '96b45cb68cf89b7145f122144adb652a7f3b54ee', status: this.labelStatus, compact: true }, this.label)), this.annotated && this.mode === "document" && (h("dso-icon-button", { key: 'd765d1808c497be7f06b2c2ddb71de7e97a7f65c', label: `Kenmerken en kaartgegevens ${this.openAnnotation ? "verbergen" : "tonen"}`, icon: "label", expanded: this.openAnnotation, variant: "tertiary", onDsoClick: (e) => this.dsoAnnotationToggle.emit({
188
+ return (h(Host, { key: 'f8988dc23744ac52a41583fcdcba34b4a8a676b8', "not-collapsible": !collapsible }, showHeading && (h("div", { key: 'ba2f55b584cc1104770e654fcbabdee87d707ce7', class: "heading-container", part: "_heading-container" }, this.wijzigactie && h("span", { key: 'd84dd54d504f7772adca92455925529ba9e99488', class: "editaction-label" }, this.wijzigactieLabel, ":"), h("div", { key: '296ae8cb10db9e0482375fa361096df2f7fbbdcf', class: "heading" }, h(Heading, { key: 'e7240a4f5da77b667b3c838aecee3c50a70c0886', headingLevel: this.headingLevel, class: "heading-element", onClick: this.alternativeTitle ? this.handleHeadingClick : undefined, mode: this.mode, href: this.href }, collapsible && this.mode === "document" && (h("dso-icon-button", { key: 'c835dab68028116f2679c1a6c4a9476b535471fd', label: this.open ? "Invouwen" : "Uitvouwen", class: "toggle-button", expanded: this.open, icon: this.open ? "chevron-down" : "chevron-right", variant: "tertiary", onDsoClick: (e) => this.handleHeadingClick(e.detail.originalEvent) })), h("div", { key: '48280777989cc704dd59c1637695cf49d276b5fd' }, this.notApplicable && h("span", { key: '39f8d041ae3a558b4283ab9ee915f17d2388ad9a', class: "sr-only" }, "Niet van toepassing:"), this._kop ? (h("dso-ozon-content", { class: "kop", content: this._kop, onDsoClick: this.handleOzonContentClick, mark: this.mark && ((text) => this.mark?.(text, "kop")), onDsoOzonContentMarkItemHighlight: (e) => this.dsoMarkItemHighlight.emit({ ...e.detail, source: "kop" }), inline: true, urlResolver: this.ozonContentUrlResolver, begripResolver: this.ozonContentBegripResolver, annotated: this.annotated })) : (h("span", { class: "alternative-title" }, (!this.mark && this.alternativeTitle) ||
189
+ (this.mark && this.alternativeTitle && (h(MarkText, { mark: this.mark && ((text) => this.mark?.(text, "alternativeTitle")), text: this.alternativeTitle, emitMarkItemHighlight: (text, elementRef) => this.dsoMarkItemHighlight.emit({ text, elementRef, source: "alternativeTitle" }) }))))), h(AantekenStatus, { key: 'a95d529b1948a25b64f71fac2b17d29ab593a0cb', gereserveerd: this._gereserveerd, vervallen: this._vervallen }))), this.recursiveToggle !== undefined && this.open && this.mode === "document" && (h("dso-icon-button", { key: '489cc7c39def4edabe9e1dd3414857feca3167b9', label: this.recursiveToggle === true ? "Verberg onderliggende artikelen" : "Toon onderliggende artikelen", class: "recursive-toggle", expanded: this.recursiveToggle === true, icon: this.recursiveToggle === true ? "eye" : "eye-slash", variant: "tertiary", onDsoClick: (e) => this.handleRecursiveToggleClick(e.detail.originalEvent) })), this.showBadge() && (h(Fragment, { key: 'cdb81b0cc410d703c8c9e21621f8c0bf5d97a276' }, h("dso-badge", { key: '8b6fd2528543889faaecf8f937fa0ac6cadc80ec', status: this.badgeStatus, label: this.badgeTooltip ? "Toon toelichting" : undefined }, this.badge, this.badgeTooltip && h("div", { key: '4967e1b13815576b5e166da3d6cbc06e3f22e2ba', slot: "toggletip" }, this.badgeTooltip)))), (this.label || this.annotated) && (h("div", { key: '276f44c01f6ec492c866bb0aeba72ee186cb447d', class: "addons" }, this.label && (h("dso-label", { key: '3ddfcfc595536cfea798c26413c13b51d82a3e2c', status: this.labelStatus, compact: true }, this.label)), this.annotated && this.mode === "document" && (h("dso-icon-button", { key: '9573e100ba6b4cad8be15b7b2a2e9aa817369793', label: `Kenmerken en kaartgegevens ${this.openAnnotation ? "verbergen" : "tonen"}`, icon: "label", expanded: this.openAnnotation, variant: "tertiary", onDsoClick: (e) => this.dsoAnnotationToggle.emit({
188
190
  current: this.openAnnotation,
189
191
  next: !this.openAnnotation,
190
192
  scrollRef: this.host,
191
193
  originalEvent: e.detail.originalEvent,
192
- }) }))))))), this.openAnnotation && (h("div", { key: '8d6c43922c207efbe076799f5b63f2dd33ca5349', class: "annotation-container", part: "_annotation-container", role: "dialog", "aria-labelledby": "annotations-heading" }, h("dso-panel", { key: '3b6bc86f09163f570df4c82a402a9f40dbf5c769', id: "annotations", onDsoCloseClick: (e) => this.dsoAnnotationToggle.emit({
194
+ }) }))))))), this.openAnnotation && (h("div", { key: 'dd3eb5839739a04c8c716c51927d7a7c8a8606bf', class: "annotation-container", part: "_annotation-container", role: "dialog", "aria-labelledby": "annotations-heading" }, h("dso-panel", { key: '6c4d109c892ea8b8f095105667fc2fe4a55ea506', id: "annotations", onDsoCloseClick: (e) => this.dsoAnnotationToggle.emit({
193
195
  current: true,
194
196
  next: false,
195
197
  originalEvent: e,
196
- }), closeButtonLabel: "Kenmerken en kaartgegevens verbergen" }, h("h2", { key: '52f79d3bd8b489a423074bcd0e9fab90ea89220d', id: "annotations-heading", slot: "heading" }, "Kenmerken en kaart"), h("slot", { key: 'e1e62c6fdde945f6947921ba1385e793e285e83c', name: "annotations" })))), this.open && (this._inhoud || this._gereserveerd || this._vervallen) && this.mode === "document" && (h("div", { key: '3f91fcfeb79b2787fdd46d44c12d15f96a1d1341', class: "content", part: "_content" }, h(AantekenAlert, { key: '9a66beaf9f150696d3cc4c0ca6d6727fc44ca465', gereserveerd: this._gereserveerd, vervallen: this._vervallen }), this._inhoud && (h("dso-ozon-content", { key: '6029fe131e1e3e00f7879e9b2f0191aca324fe92', content: this._inhoud, onDsoClick: this.handleOzonContentClick, mark: this.mark && ((text) => this.mark?.(text, "inhoud")), onDsoOzonContentMarkItemHighlight: (e) => this.dsoMarkItemHighlight.emit({ ...e.detail, source: "inhoud" }), urlResolver: this.ozonContentUrlResolver, begripResolver: this.ozonContentBegripResolver, annotated: this.annotated })))), h("div", { key: 'f386a2c655fa8e7dc79e1ffb6f90f80a6d06ccf7', class: "children-container", part: "_children-container" }, h("slot", { key: 'a1725f8b106b90968abac2723ac96869333fd572' }))));
198
+ }), closeButtonLabel: "Kenmerken en kaartgegevens verbergen" }, h("h2", { key: 'd173f5957242b8180fd67f07e5a0f2f71e68ca8e', id: "annotations-heading", slot: "heading" }, "Kenmerken en kaart"), h("slot", { key: 'f17a9b19fd23c5dcb5e914792011c3bcc336da86', name: "annotations" })))), this.open && (this._inhoud || this._gereserveerd || this._vervallen) && this.mode === "document" && (h("div", { key: 'e03b6b7d2db9e8cbc13f9105ab9aa3e2af8a5793', class: "content", part: "_content" }, h(AantekenAlert, { key: '1516df95cd7ffb3795cc71bff9a866892b47501b', gereserveerd: this._gereserveerd, vervallen: this._vervallen }), this._inhoud && (h("dso-ozon-content", { key: 'fee5f88d382231c11aff522eff75b82df5ee6afe', content: this._inhoud, onDsoClick: this.handleOzonContentClick, mark: this.mark && ((text) => this.mark?.(text, "inhoud")), onDsoOzonContentMarkItemHighlight: (e) => this.dsoMarkItemHighlight.emit({ ...e.detail, source: "inhoud" }), urlResolver: this.ozonContentUrlResolver, begripResolver: this.ozonContentBegripResolver, annotated: this.annotated })))), h("div", { key: '8888df264cefd314382d48505ff8641c20c5cc86', class: "children-container", part: "_children-container" }, h("slot", { key: '56e85d5200913609e0a03c929a2d889c75ae2d7e' }))));
197
199
  }
198
200
  static get is() { return "dso-document-component"; }
199
201
  static get encapsulation() { return "shadow"; }
@@ -209,25 +211,25 @@ export class DocumentComponent {
209
211
  }
210
212
  static get properties() {
211
213
  return {
212
- "heading": {
213
- "type": "string",
214
+ "headingLevel": {
215
+ "type": "number",
214
216
  "mutable": false,
215
217
  "complexType": {
216
- "original": "\"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\"",
217
- "resolved": "\"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\"",
218
+ "original": "number",
219
+ "resolved": "number",
218
220
  "references": {}
219
221
  },
220
222
  "required": false,
221
223
  "optional": false,
222
224
  "docs": {
223
225
  "tags": [],
224
- "text": "The heading element to use (only in mode=\"document\"). In mode=\"table-of-contents\" the nested lists carry the\r\nstructure and no heading is rendered."
226
+ "text": "The heading level to use (only in mode=\"document\"). When the level is 6 or lower a native heading element\r\n(`<h2>` \u2026 `<h6>`) is rendered; deeper levels are rendered as `<div role=\"heading\" aria-level=\"*\">` because HTML\r\nhas no native heading elements beyond `<h6>`. In mode=\"table-of-contents\" the nested lists carry the structure\r\nand no heading is rendered."
225
227
  },
226
228
  "getter": false,
227
229
  "setter": false,
228
230
  "reflect": true,
229
- "attribute": "heading",
230
- "defaultValue": "\"h2\""
231
+ "attribute": "heading-level",
232
+ "defaultValue": "2"
231
233
  },
232
234
  "kop": {
233
235
  "type": "string",
@@ -70,7 +70,7 @@ export class DocumentComponentDemo {
70
70
  }
71
71
  return (h("dso-document-component", { annotated: this.isAnnotated(documentComponent), filtered: this.isOpen(documentComponent)
72
72
  ? this.isFiltered(documentComponent)
73
- : this.hasFilteredChildren(documentComponent), gereserveerd: documentComponent.gereserveerd, heading: "h2", kop: documentComponent.kop, inhoud: documentComponent.inhoud, openAnnotation: this.isOpenedAnnotation(documentComponent), notApplicable: this.isNotApplicable(documentComponent) || path.some((p) => this.isNotApplicable(p)), onDsoAnnotationToggle: (e) => this.handleAnnotationToggle(documentComponent, e.detail), onDsoOpenToggle: () => this.handleOpenToggle(documentComponent), open: this.isOpen(documentComponent), type: documentComponent.type, vervallen: documentComponent.vervallen, wijzigactie: documentComponent.wijzigactie, recursiveToggle: this.recursiveToggleState(documentComponent), onDsoRecursiveToggle: (e) => this.handleRecursiveToggle(documentComponent, e.detail), mode: this.mode, href: this.mode === "table-of-contents" ? "/document/" + documentComponent.documentTechnischId : undefined, onDsoTableOfContentsClick: (e) => this.handleTableOfContentsClick(e), onDsoOzonContentClick: (e) => this.handleOzonContentClick(e), ozonContentUrlResolver: this.ozonContentUrlResolver, ozonContentBegripResolver: this.ozonContentBegripResolver, badge: badge, badgeStatus: badgeStatus, badgeTooltip: badgeTooltip, label: label, labelStatus: labelStatus }, this.isOpenedAnnotation(documentComponent) && (h("div", { slot: "annotations" }, h("dso-annotation-locatie", { active: this.isCheckedSlideToggle(documentComponent), "gewijzigde-locatie": true, locatieNoemer: "Winkelgebied", onDsoActiveChange: () => this.handleSelectableChange(documentComponent) }, h("span", { class: "symboolcode", slot: "symbool", "data-symboolcode": "vszt030" })))), this.showContent(documentComponent) && embeddedDocuments?.documentComponents.length && (h("ul", { class: "dso-document-component-list" }, embeddedDocuments.documentComponents.map((d) => (h("li", { key: d.documentTechnischId }, h(DocumentComponent, { path: [...path, d] }))))))));
73
+ : this.hasFilteredChildren(documentComponent), gereserveerd: documentComponent.gereserveerd, headingLevel: 2, kop: documentComponent.kop, inhoud: documentComponent.inhoud, openAnnotation: this.isOpenedAnnotation(documentComponent), notApplicable: this.isNotApplicable(documentComponent) || path.some((p) => this.isNotApplicable(p)), onDsoAnnotationToggle: (e) => this.handleAnnotationToggle(documentComponent, e.detail), onDsoOpenToggle: () => this.handleOpenToggle(documentComponent), open: this.isOpen(documentComponent), type: documentComponent.type, vervallen: documentComponent.vervallen, wijzigactie: documentComponent.wijzigactie, recursiveToggle: this.recursiveToggleState(documentComponent), onDsoRecursiveToggle: (e) => this.handleRecursiveToggle(documentComponent, e.detail), mode: this.mode, href: this.mode === "table-of-contents" ? "/document/" + documentComponent.documentTechnischId : undefined, onDsoTableOfContentsClick: (e) => this.handleTableOfContentsClick(e), onDsoOzonContentClick: (e) => this.handleOzonContentClick(e), ozonContentUrlResolver: this.ozonContentUrlResolver, ozonContentBegripResolver: this.ozonContentBegripResolver, badge: badge, badgeStatus: badgeStatus, badgeTooltip: badgeTooltip, label: label, labelStatus: labelStatus }, this.isOpenedAnnotation(documentComponent) && (h("div", { slot: "annotations" }, h("dso-annotation-locatie", { active: this.isCheckedSlideToggle(documentComponent), "gewijzigde-locatie": true, locatieNoemer: "Winkelgebied", onDsoActiveChange: () => this.handleSelectableChange(documentComponent) }, h("span", { class: "symboolcode", slot: "symbool", "data-symboolcode": "vszt030" })))), this.showContent(documentComponent) && embeddedDocuments?.documentComponents.length && (h("ul", { class: "dso-document-component-list" }, embeddedDocuments.documentComponents.map((d) => (h("li", { key: d.documentTechnischId }, h(DocumentComponent, { path: [...path, d] }))))))));
74
74
  };
75
75
  this.MenuButton = ({ documentComponent }) => {
76
76
  const { type } = documentComponent;
@@ -207,7 +207,7 @@ export class DocumentComponentDemo {
207
207
  }
208
208
  render() {
209
209
  const { DocumentComponent, MenuButton } = this;
210
- return (h("dso-responsive-element", { key: 'd92fde8e8e4cc982f005c8571f010c27f36b48e4', class: "dso-document-components" }, h("div", { key: '954d3e761228f6e169f9f49a123ac4ab84f0dd12', class: "dso-navbar" }, h("ul", { key: 'e406db3e0f02b92036f72d99d9bd828b898a0877', class: "dso-nav dso-nav-sub" }, this.getEmbeddedDocumentComponents(this.response)?.documentComponents?.map((d) => (h("li", { class: this.document === d ? "dso-active" : undefined }, h(MenuButton, { documentComponent: d })))))), this.document && h(DocumentComponent, { key: '0ef374e5b148ed43e5bca9c01d5f2f44c0ef280b', path: [this.document] })));
210
+ return (h("dso-responsive-element", { key: 'ab236260f9a6a0b08cce77c0ff84b9a03b51ce44', class: "dso-document-components" }, h("div", { key: 'bb00e379af2aec12362a4e5eee21b335559866a3', class: "dso-navbar" }, h("ul", { key: 'c35d80d6e616224696d974450bedc34a75abc66e', class: "dso-nav dso-nav-sub" }, this.getEmbeddedDocumentComponents(this.response)?.documentComponents?.map((d) => (h("li", { class: this.document === d ? "dso-active" : undefined }, h(MenuButton, { documentComponent: d })))))), this.document && h(DocumentComponent, { key: '63e65905336d74456fbd29bb97363bbae7411ec6', path: [this.document] })));
211
211
  }
212
212
  static get is() { return "dsot-document-component-demo"; }
213
213
  static get encapsulation() { return "scoped"; }
@@ -82,10 +82,30 @@ export class DropdownMenu {
82
82
  return withButton ? [this.host, ...menuItems] : menuItems;
83
83
  }
84
84
  componentDidRender() {
85
- if (this.button && this.popoverElement && !this.cleanUp) {
85
+ // Only position the popover while it is open. autoUpdate runs on its own ResizeObserver;
86
+ // keeping it active on a closed (hidden) popover computes bogus constraints that force a
87
+ // same-frame correction on the next open.
88
+ if (this.open && this.button && this.popoverElement && !this.cleanUp) {
86
89
  const element = this.popoverElement;
87
90
  const referenceElement = this.button;
88
- this.cleanUp = autoUpdate(referenceElement, element, () => {
91
+ let initialUpdate = true;
92
+ const applyPopoverStyles = (x, y) => {
93
+ if (!element.isConnected) {
94
+ return;
95
+ }
96
+ if (this.pendingPopoverConstraints) {
97
+ const scrollElement = element.querySelector("dso-scrollable") ?? element;
98
+ Object.assign(scrollElement.style, {
99
+ maxHeight: `${this.pendingPopoverConstraints.availableHeight}px`,
100
+ maxInlineSize: `${this.pendingPopoverConstraints.availableWidth}px`,
101
+ });
102
+ }
103
+ Object.assign(element.style, {
104
+ left: `${x}px`,
105
+ top: `${y}px`,
106
+ });
107
+ };
108
+ const autoUpdateCleanUp = autoUpdate(referenceElement, element, () => {
89
109
  computePosition(referenceElement, element, {
90
110
  strategy: "fixed",
91
111
  middleware: [
@@ -94,23 +114,42 @@ export class DropdownMenu {
94
114
  padding: 2,
95
115
  }),
96
116
  size({
97
- apply({ availableHeight, availableWidth, elements }) {
98
- const scrollElement = elements.floating.querySelector("dso-scrollable") ?? elements.floating;
99
- Object.assign(scrollElement.style, {
100
- maxHeight: `${availableHeight}px`,
101
- maxInlineSize: `${availableWidth}px`,
102
- });
117
+ apply: ({ availableHeight, availableWidth }) => {
118
+ // No direct DOM writes here: this callback runs inside the autoUpdate
119
+ // ResizeObserver cycle and would trigger "ResizeObserver loop completed
120
+ // with undelivered notifications". The constraints are applied together
121
+ // with the position, see applyPopoverStyles.
122
+ this.pendingPopoverConstraints = { availableWidth, availableHeight };
103
123
  },
104
124
  }),
105
125
  ],
106
126
  placement: "bottom-start",
107
127
  }).then(({ x, y }) => {
108
- Object.assign(element.style, {
109
- left: `${x}px`,
110
- top: `${y}px`,
128
+ if (initialUpdate) {
129
+ // The first update runs outside the ResizeObserver cycle and is applied
130
+ // directly so the popover does not show up unpositioned.
131
+ initialUpdate = false;
132
+ applyPopoverStyles(x, y);
133
+ return;
134
+ }
135
+ // Defer DOM writes until the next frame so ResizeObserver notifications can
136
+ // settle before the popover mutates its own layout again.
137
+ if (this.popoverFrameId !== undefined) {
138
+ cancelAnimationFrame(this.popoverFrameId);
139
+ }
140
+ this.popoverFrameId = requestAnimationFrame(() => {
141
+ this.popoverFrameId = undefined;
142
+ applyPopoverStyles(x, y);
111
143
  });
112
144
  });
113
145
  });
146
+ this.cleanUp = () => {
147
+ if (this.popoverFrameId !== undefined) {
148
+ cancelAnimationFrame(this.popoverFrameId);
149
+ this.popoverFrameId = undefined;
150
+ }
151
+ autoUpdateCleanUp();
152
+ };
114
153
  }
115
154
  }
116
155
  toggleOptions(force) {
@@ -161,7 +200,7 @@ export class DropdownMenu {
161
200
  }
162
201
  render() {
163
202
  const buttonId = uuidv4();
164
- return (h(Host, { key: '63dba747057e58c38f29d830b2a867dd02e07541', onFocusout: this.focusOutListener, onKeyDown: this.keyDownHandler }, this.label && (h("button", { key: '3711038ff64c7e43a27c1a0a072fa904db484068', id: buttonId, class: `dso-${this.variant}`, type: "button", onClick: () => this.toggleOptions(), "aria-expanded": this.open.toString(), "aria-haspopup": "menu", ref: (element) => (this.button = element) }, this.label, h("dso-icon", { key: '45037c7c83a4edecf75762b703115c34c2a39804', icon: this.open ? "chevron-up" : "chevron-down" }))), h("div", { key: '34099ec42eef8744a3701e3fa90701e53791a8e5', popover: "manual", class: "dso-dropdown-options", "aria-labelledby": buttonId, role: "menu", ref: (element) => (this.popoverElement = element) }, h("dso-scrollable", { key: 'd1b88fa03257379e7b213c29616b02f24872e2aa' }, h("slot", { key: '7e9c881bc357590c9750ddbe3a6f6fdac46733c7' })))));
203
+ return (h(Host, { key: '86c4a174ec1a4f8083f6e13728bef4d0fbf73d2b', onFocusout: this.focusOutListener, onKeyDown: this.keyDownHandler }, this.label && (h("button", { key: '6b93303a8ee2717870bc52147667485e9f56c0cb', id: buttonId, class: `dso-${this.variant}`, type: "button", onClick: () => this.toggleOptions(), "aria-expanded": this.open.toString(), "aria-haspopup": "menu", ref: (element) => (this.button = element) }, this.label, h("dso-icon", { key: '02d4af678a2de9e68c6c7983279e8a8af1b221d5', icon: this.open ? "chevron-up" : "chevron-down" }))), h("div", { key: '0653885c62d4e5f9e6567cd1a06ef1f60c31bd50', popover: "manual", class: "dso-dropdown-options", "aria-labelledby": buttonId, role: "menu", ref: (element) => (this.popoverElement = element) }, h("dso-scrollable", { key: '008a6527bce7398d5bf016431c90343011b62596' }, h("slot", { key: 'cbfdd95cd211485fc8672e9dff1f3bb3ed233d99' })))));
165
204
  }
166
205
  static get is() { return "dso-dropdown-menu"; }
167
206
  static get encapsulation() { return "shadow"; }
@@ -199,9 +199,29 @@ export class Header {
199
199
  if (typeof this.visibleMenuItemsCount === "undefined" && this.navElement) {
200
200
  this.visibleMenuItemsCount = this.calculateOverflowMenuItemCount(this.navElement);
201
201
  }
202
- if (this.popoverElement && !this.cleanUp && this.dropdownButtonElement) {
202
+ // Only position the popover while it is open. autoUpdate runs on its own ResizeObserver;
203
+ // keeping it active on a closed (hidden) popover computes bogus constraints that force a
204
+ // same-frame correction on the next open.
205
+ if (this.open && this.popoverElement && !this.cleanUp && this.dropdownButtonElement) {
203
206
  const element = this.popoverElement;
204
- this.cleanUp = autoUpdate(this.dropdownButtonElement, element, () => {
207
+ let initialUpdate = true;
208
+ const applyPopoverStyles = (x, y) => {
209
+ if (!element.isConnected) {
210
+ return;
211
+ }
212
+ if (this.pendingPopoverConstraints) {
213
+ const scrollElement = element.querySelector(".dropdown-menu-options") ?? element;
214
+ Object.assign(scrollElement.style, {
215
+ maxHeight: `${this.pendingPopoverConstraints.availableHeight}px`,
216
+ maxInlineSize: `${this.pendingPopoverConstraints.availableWidth}px`,
217
+ });
218
+ }
219
+ Object.assign(element.style, {
220
+ left: `${x}px`,
221
+ top: `${y}px`,
222
+ });
223
+ };
224
+ const autoUpdateCleanUp = autoUpdate(this.dropdownButtonElement, element, () => {
205
225
  if (this.dropdownButtonElement) {
206
226
  computePosition(this.dropdownButtonElement, element, {
207
227
  strategy: "fixed",
@@ -211,28 +231,47 @@ export class Header {
211
231
  padding: this.dropdownOptionsOffset,
212
232
  }),
213
233
  size({
214
- apply({ availableHeight, availableWidth, elements }) {
215
- const scrollElement = elements.floating.querySelector(".dropdown-menu-options") ?? elements.floating;
216
- Object.assign(scrollElement.style, {
217
- maxHeight: `${availableHeight}px`,
218
- maxInlineSize: `${availableWidth}px`,
219
- });
234
+ apply: ({ availableHeight, availableWidth }) => {
235
+ // No direct DOM writes here: this callback runs inside the autoUpdate
236
+ // ResizeObserver cycle and would trigger "ResizeObserver loop completed
237
+ // with undelivered notifications". The constraints are applied together
238
+ // with the position, see applyPopoverStyles.
239
+ this.pendingPopoverConstraints = { availableWidth, availableHeight };
220
240
  },
221
241
  }),
222
242
  ],
223
243
  placement: this.isCompact ? "bottom-end" : "bottom-start",
224
244
  }).then(({ x, y }) => {
225
- Object.assign(element.style, {
226
- left: `${x}px`,
227
- top: `${y}px`,
245
+ if (initialUpdate) {
246
+ // The first update runs outside the ResizeObserver cycle and is applied
247
+ // directly so the popover does not show up unpositioned.
248
+ initialUpdate = false;
249
+ applyPopoverStyles(x, y);
250
+ return;
251
+ }
252
+ // Defer DOM writes until the next frame so ResizeObserver notifications can
253
+ // settle before the popover mutates its own layout again.
254
+ if (this.popoverFrameId !== undefined) {
255
+ cancelAnimationFrame(this.popoverFrameId);
256
+ }
257
+ this.popoverFrameId = requestAnimationFrame(() => {
258
+ this.popoverFrameId = undefined;
259
+ applyPopoverStyles(x, y);
228
260
  });
229
261
  });
230
262
  }
231
263
  });
264
+ this.cleanUp = () => {
265
+ if (this.popoverFrameId !== undefined) {
266
+ cancelAnimationFrame(this.popoverFrameId);
267
+ this.popoverFrameId = undefined;
268
+ }
269
+ autoUpdateCleanUp();
270
+ };
232
271
  }
233
272
  }
234
273
  render() {
235
- return (h(Host, { key: 'bafceec3e7c095cb67f876e8b5ed7a817e7db8c1', "is-compact": this.isCompact }, h("div", { key: 'bd6eaaede73b41374e9b11683c8fd94bf08c32f2', class: "dso-header" }, h("div", { key: '20bbba41193597e3b97ef6fbc84f1518c0b47d2a', class: "logo-container" }, h("slot", { key: 'b78e8f54a29a296ff77f687fe792ae9311e2b44c', name: "logo" })), this.isCompact ? this.renderCompact() : this.renderNormal())));
274
+ return (h(Host, { key: '0ea04cc1432dd27da79f2fecaf342beb4486f99a', "is-compact": this.isCompact }, h("div", { key: '471e73275bf1d645fbcb83e35dc6bb5612a800ba', class: "dso-header" }, h("div", { key: '795356c3f82e93df6ff699db5b36540aaee7e832', class: "logo-container" }, h("slot", { key: '9dcdcdf2f5e6292fe31b25915d263e3505047312', name: "logo" })), this.isCompact ? this.renderCompact() : this.renderNormal())));
236
275
  }
237
276
  tabbables(withButton) {
238
277
  const tabbables = this.dropdownElement ? tabbable(this.dropdownElement) : [];
@@ -214,11 +214,9 @@
214
214
  }
215
215
 
216
216
  ::slotted(img.dso-highlight-box-banner) {
217
+ --_dso-image-margin-inline: -16px -16px;
218
+ --_dso-image-margin-block: -16px 8px;
217
219
  aspect-ratio: 2.38/1;
218
- margin-inline-start: -16px;
219
- margin-inline-end: -16px;
220
- margin-block-start: -16px;
221
- margin-block-end: 8px;
222
220
  object-fit: cover;
223
221
  inline-size: calc(100% + 32px);
224
222
  max-inline-size: unset !important;
@@ -1,3 +1,9 @@
1
+ *,
2
+ *::after,
3
+ *::before {
4
+ box-sizing: border-box;
5
+ }
6
+
1
7
  :host {
2
8
  display: block;
3
9
  padding-block: 16px;
@@ -34,6 +40,10 @@
34
40
  --_dso-button-tertiary-disabled-color: #999;
35
41
  background-color: #f2f2f2;
36
42
  color: #191919;
43
+ --_dso-image-display: block;
44
+ --_dso-image-margin-block: 8px;
45
+ --_dso-image-margin-inline: auto;
46
+ --_dso-rich-content-margin-block-start: 0;
37
47
  }
38
48
 
39
49
  :host(:not([active], [fixed])),
@@ -46,21 +56,4 @@ dso-icon-button {
46
56
  position: absolute;
47
57
  inset-inline-end: 8px;
48
58
  inset-block-start: 8px;
49
- }
50
-
51
- *,
52
- *::after,
53
- *::before {
54
- box-sizing: border-box;
55
- }
56
-
57
- .sr-only {
58
- position: absolute;
59
- inline-size: 1px;
60
- block-size: 1px;
61
- padding: 0;
62
- margin: -1px;
63
- border: 0;
64
- overflow: hidden;
65
- clip-path: rect(0 0 0 0);
66
59
  }
@@ -16,6 +16,6 @@ export class OzonContentIntIoRefNode {
16
16
  originalEvent: event,
17
17
  });
18
18
  };
19
- return (h(Fragment, null, h("dso-ozon-content-toggletip", { icon: "map-location" }, h("span", { slot: "label" }, mapNodeToJsx(node.childNodes)), annotated && (h("span", { role: "paragraph" }, "Gebieden op de kaart tonen:", " ", h("button", { type: "button", class: "dso-tertiary", onClick: intIoRefOnClick }, h("span", null, "Kenmerken en kaart"), h("dso-icon", { icon: "label" })))), h("span", { role: "paragraph" }, "Offici\u00EBle publicaties:", " ", h("a", { target: "_blank", rel: "noopener noreferrer", href: href ?? undefined, title: "Opent andere website in nieuw tabblad" }, h("span", null, mapNodeToJsx(node.childNodes)), h("dso-icon", { icon: "external-link" }))))));
19
+ return (h(Fragment, null, h("dso-ozon-content-toggletip", { icon: "map-location" }, h("span", { slot: "label" }, mapNodeToJsx(node.childNodes)), annotated && (h("span", { role: "paragraph" }, "Gebieden op de kaart tonen:", " ", h("button", { type: "button", class: "dso-tertiary", onClick: intIoRefOnClick }, h("span", null, "Kenmerken en kaart"), h("dso-icon", { icon: "label" })))), h("span", { role: "paragraph" }, "Offici\u00EBle publicaties:", " ", h("a", { target: "_blank", rel: "noopener noreferrer", href: href ?? undefined, title: "Opent andere website in nieuw tabblad" }, h("span", null, mapNodeToJsx(node.childNodes, true)), h("dso-icon", { icon: "external-link" }))))));
20
20
  }
21
21
  }
@@ -18,7 +18,7 @@ export class OzonContentIntRefNode {
18
18
  !definitieXMLDocument.documentElement.hasChildNodes()) {
19
19
  return mapNodeToJsx(node.childNodes);
20
20
  }
21
- return (h("dso-ozon-content-toggletip", null, h("span", { slot: "label" }, mapNodeToJsx(node.childNodes)), mapNodeToJsx(Array.from(definitieXMLDocument.documentElement.childNodes))));
21
+ return (h("dso-ozon-content-toggletip", null, h("span", { slot: "label" }, mapNodeToJsx(node.childNodes)), mapNodeToJsx(Array.from(definitieXMLDocument.documentElement.childNodes), true)));
22
22
  }
23
23
  const handleIntRefClick = (event) => {
24
24
  emitClick({
@@ -16,6 +16,6 @@ export class OzonContentNootNode {
16
16
  }
17
17
  const childNodes = Array.from(node.childNodes);
18
18
  const nootNummer = childNodes.find((n) => getNodeName(n) === "NootNummer")?.textContent ?? noteId;
19
- return (h("sup", null, h("dso-ozon-content-toggletip", { class: "toggle-note" }, h("span", { slot: "label" }, nootNummer), h("span", { role: "section" }, mapNodeToJsx(Array.from(node.querySelectorAll(":scope > Al")))))));
19
+ return (h("sup", null, h("dso-ozon-content-toggletip", { class: "toggle-note" }, h("span", { slot: "label" }, nootNummer), h("span", { role: "section" }, mapNodeToJsx(Array.from(node.querySelectorAll(":scope > Al")), true)))));
20
20
  }
21
21
  }
@@ -83,7 +83,7 @@ export class Mapper {
83
83
  return mapper.render(node, {
84
84
  inline: context.inline,
85
85
  mark: context.mark,
86
- mapNodeToJsx: (n, m) => this.mapNodeToJsx(n, context, [...path, node], m),
86
+ mapNodeToJsx: (n, m = ignoreMark) => this.mapNodeToJsx(n, context, [...path, node], m),
87
87
  emitClick: context.emitClick,
88
88
  setState,
89
89
  emitMarkItemHighlight: context.emitMarkItemHighlight,
@@ -1097,18 +1097,18 @@ a.dso-tertiary, a.dso-tertiary:visited {
1097
1097
  .dso-table-utilities:not([hidden]) {
1098
1098
  align-items: center;
1099
1099
  display: flex;
1100
- justify-content: space-between;
1100
+ justify-content: flex-end;
1101
1101
  margin-block-end: 8px;
1102
1102
  }
1103
+ .dso-table-utilities:not([hidden]):has(.dso-responsive-message) {
1104
+ justify-content: space-between;
1105
+ }
1103
1106
  .dso-table-utilities:not([hidden]) .dso-responsive-message {
1104
1107
  margin-block-end: 0;
1105
1108
  }
1106
1109
  .dso-table-utilities:not([hidden]) .dso-responsive-message:only-child {
1107
1110
  inline-size: 100%;
1108
1111
  }
1109
- .dso-table-utilities:not([hidden]) .open-modal-button:only-child {
1110
- margin-inline-start: auto;
1111
- }
1112
1112
 
1113
1113
  .dso-responsive-message {
1114
1114
  font-size: 0.8em;
@@ -1,7 +1,10 @@
1
1
  import { Fragment, Host, h } from "@stencil/core";
2
2
  import debounce from "debounce";
3
+ import { v4 as uuidv4 } from "uuid";
3
4
  export class Table {
4
5
  constructor() {
6
+ this.shouldFocusButton = false;
7
+ this.openModalHandler = () => this.openModal();
5
8
  /**
6
9
  * Prevents the table being opened in a modal.
7
10
  */
@@ -36,17 +39,23 @@ export class Table {
36
39
  componentDidLoad() {
37
40
  this.startResponsiveBehavior();
38
41
  }
42
+ componentDidRender() {
43
+ this.syncOpenModalButton();
44
+ }
39
45
  disconnectedCallback() {
40
46
  if (this.resizeFrameId !== undefined) {
41
47
  cancelAnimationFrame(this.resizeFrameId);
42
48
  this.resizeFrameId = undefined;
43
49
  }
44
50
  this.resizeObserver?.disconnect();
51
+ this.openModalButton?.removeEventListener("click", this.openModalHandler);
52
+ this.openModalButton?.remove();
53
+ this.openModalButton = undefined;
45
54
  }
46
55
  render() {
47
56
  const caption = this.host.querySelector(":scope > table > caption")?.textContent?.trim();
48
57
  const dialogLabel = caption || "Uitvergrote tabel";
49
- return (h(Host, { key: '207e7807c5bc17b52701c617f41cff0f9e239c32', "is-responsive": this.isResponsive?.toString() }, this.modalActive && this.placeholderHeight && (h("div", { key: '6270bc4b55067cfa800b57c688e599f90db426eb', class: "dso-table-placeholder", style: { height: `${this.placeholderHeight}px` } })), this.modalActive ? (h("dso-modal", { modalTitle: caption ? dialogLabel : undefined, closable: true, returnFocus: false, onDsoClose: () => this.closeModal() }, !caption && (h("span", { slot: "body", class: "sr-only" }, dialogLabel)), h("div", { slot: "body", class: "dso-table-body" }, h("slot", null)))) : (h(Fragment, null, h("div", { class: "dso-table-utilities", hidden: !this.isResponsive && this.noModal }, this.isResponsive && (h("div", { class: "dso-responsive-message" }, h("span", null, "beweeg de tabel van links naar rechts"))), !this.noModal && (h("button", { type: "button", class: "dso-tertiary open-modal-button", onClick: () => this.openModal() }, h("span", { class: "sr-only" }, "tabel ", caption ?? "", " "), h("span", null, "vergroten"), h("dso-icon", { icon: "external-link" })))), h("div", { class: "dso-table-body" }, h("slot", null))))));
58
+ return (h(Host, { key: '3ac0567d3a05b156404479b702df5c0da1140131', "is-responsive": this.isResponsive?.toString() }, this.modalActive && this.placeholderHeight && (h("div", { key: 'e3129be5a35d2e4569037b53aca102055040701c', class: "dso-table-placeholder", style: { height: `${this.placeholderHeight}px` } })), this.modalActive ? (h("dso-modal", { modalTitle: caption ? dialogLabel : undefined, closable: true, returnFocus: false, onDsoClose: () => this.closeModal() }, !caption && (h("span", { slot: "body", class: "sr-only" }, dialogLabel)), h("div", { slot: "body", class: "dso-table-body" }, h("slot", null)))) : (h(Fragment, null, h("div", { class: "dso-table-utilities", hidden: !this.isResponsive && this.noModal }, this.isResponsive && (h("div", { class: "dso-responsive-message" }, h("span", null, "beweeg de tabel van links naar rechts"))), !this.noModal && h("slot", { name: "open-modal-button" })), h("div", { class: "dso-table-body" }, h("slot", null))))));
50
59
  }
51
60
  openModal() {
52
61
  this.placeholderHeight = this.host.clientHeight;
@@ -55,6 +64,51 @@ export class Table {
55
64
  closeModal() {
56
65
  this.placeholderHeight = undefined;
57
66
  this.modalActive = false;
67
+ this.shouldFocusButton = true;
68
+ }
69
+ syncOpenModalButton() {
70
+ const table = this.host.querySelector(":scope > table");
71
+ if (table && !table.id) {
72
+ table.id = `dso-table-${uuidv4()}`;
73
+ }
74
+ const shouldRender = !this.noModal && !this.modalActive;
75
+ if (!shouldRender) {
76
+ this.openModalButton?.removeEventListener("click", this.openModalHandler);
77
+ this.openModalButton?.remove();
78
+ this.openModalButton = undefined;
79
+ return;
80
+ }
81
+ if (!this.openModalButton) {
82
+ const button = document.createElement("button");
83
+ button.type = "button";
84
+ button.className = "dso-tertiary open-modal-button";
85
+ button.setAttribute("slot", "open-modal-button");
86
+ button.addEventListener("click", this.openModalHandler);
87
+ const srOnly = document.createElement("span");
88
+ srOnly.className = "sr-only";
89
+ const label = document.createElement("span");
90
+ label.textContent = "vergroten";
91
+ const icon = document.createElement("dso-icon");
92
+ icon.setAttribute("icon", "external-link");
93
+ button.append(srOnly, label, icon);
94
+ this.host.appendChild(button);
95
+ this.openModalButton = button;
96
+ }
97
+ const caption = table?.querySelector(":scope > caption")?.textContent?.trim();
98
+ const srOnly = this.openModalButton.querySelector(".sr-only");
99
+ if (srOnly) {
100
+ srOnly.textContent = `tabel ${caption ?? ""} `;
101
+ }
102
+ if (table?.id) {
103
+ this.openModalButton.setAttribute("aria-controls", table.id);
104
+ }
105
+ else {
106
+ this.openModalButton.removeAttribute("aria-controls");
107
+ }
108
+ if (this.shouldFocusButton) {
109
+ this.shouldFocusButton = false;
110
+ this.openModalButton.focus();
111
+ }
58
112
  }
59
113
  setResponsiveTable(dsoTable) {
60
114
  const tableElement = dsoTable.target.querySelector("table");
@@ -170,7 +170,7 @@ export class TreeView {
170
170
  return false;
171
171
  }
172
172
  render() {
173
- return (h("div", { key: '045da3d6b0bc4381b3e439890e7f8db679fc8f9a', id: "tree", class: "dso-tree", onKeyDown: (e) => this.keyDownListener(e), ref: (element) => (this.tree = element) }, h("ul", { key: 'de2140f76fd20b0fa2bf85e60a79dede60a62082', role: "tree", "aria-label": "Objectenboom" }, this.collection?.map((item, index) => (h(DsoTreeItem, { owner: this, ancestors: [], item: item, index: index, level: 1, setSize: this.collection.length }))))));
173
+ return (h("div", { key: '283e4d605869d7a654955ffb9bcc3621a477b3af', id: "tree", class: "dso-tree", onKeyDown: (e) => this.keyDownListener(e), ref: (element) => (this.tree = element) }, h("ul", { key: 'a664ea7dade4174cccc880169de9d49d8eeb57db', role: "tree", "aria-label": "Objectenboom" }, this.collection?.map((item, index) => (h(DsoTreeItem, { owner: this, ancestors: [], item: item, index: index, level: 1, setSize: this.collection.length }))))));
174
174
  }
175
175
  static get is() { return "dso-tree-view"; }
176
176
  static get encapsulation() { return "shadow"; }
@@ -163,9 +163,9 @@ export class ViewerGrid {
163
163
  }
164
164
  }
165
165
  render() {
166
- return (h(Fragment, { key: 'a59859e8cc19d069face18be0fd014fa48e566ed' }, h("slot", { key: '2363b65917013dc198af796952f4b6a248f4b3e1', name: "top-bar" }), h("div", { key: '91eb5741de81c6f81fae358e78bea4d568a06629', class: "viewer-grid-columns" }, this.tabView && (h("nav", { key: '09ad1c978936db241555c54aa1e22ab7bb888e78', class: "dso-navbar" }, h("ul", { key: '616c9ed08160e5809b8952f12b8fc5e020116ca8', class: "dso-nav dso-nav-sub" }, viewerGridTabs.map((tab) => (h("li", { key: tab, class: clsx({ "dso-active": this.activeTab === tab }) }, h("button", { type: "button", class: "dso-tertiary", "aria-current": this.activeTab === tab ? "page" : undefined, onClick: () => this.switchActiveTab(tab) }, viewerGridTabLabelMap[tab]))))))), (!this.tabView || (this.tabView && this.activeTab === "search") || this.print) && (h(MainPanel, { key: 'bd917ab9c254c322df6a29b547841d9c1c89a1e8', tabView: this.tabView, mainSize: this.mainSize, documentPanelOpen: this.documentPanelOpen, mainPanelExpanded: this.mainPanelExpanded, mainPanelHidden: this.mainPanelHidden, toggleMainPanel: this.toggleMainPanel, dsoMainSizeChangeAnimationEnd: this.dsoMainSizeChangeAnimationEnd, printFilterPanel: !this.tabView && this.filterPanelOpen && this.print ? this.renderFilterPanel() : undefined })), (!this.tabView || (this.tabView && this.activeTab === "search")) && !this.print && this.renderFilterPanel(), (!this.tabView || (this.tabView && this.activeTab === "map") || this.print) && (h("div", { key: '4273395e08a807b1e9c1be69ea94b2eaf3bca0f9', class: "map-area" }, h("div", { key: '3fc00a8b39fc387b55303bed4d742acc530cd653', class: "map", ref: (element) => (this.mapElement = element) }, h("slot", { key: 'b623696c1d90ad1d5d7a44b12a7ef1255bf1828d', name: "map" })), h("slot", { key: '013a763fc6e500a531720dea02d2f55307ebb37f', name: "legend" }))), ((!this.tabView && this.documentPanelOpen) ||
166
+ return (h(Fragment, { key: '69a7b9d6956d0238f57fc3a7b21a1ecae9aacf78' }, h("slot", { key: 'b5a9aa2c800972284aafe7667d57da10be909379', name: "top-bar" }), h("div", { key: '96695156177c261841c1ebb4dacb9a488e31624e', class: "viewer-grid-columns" }, this.tabView && (h("nav", { key: 'db4823b2fab2e27a5e13f6f5d4bb613b82977d16', class: "dso-navbar" }, h("ul", { key: '9cd931e9693c96516fd800be0eb5e7df993a4023', class: "dso-nav dso-nav-sub" }, viewerGridTabs.map((tab) => (h("li", { key: tab, class: clsx({ "dso-active": this.activeTab === tab }) }, h("button", { type: "button", class: "dso-tertiary", "aria-current": this.activeTab === tab ? "page" : undefined, onClick: () => this.switchActiveTab(tab) }, viewerGridTabLabelMap[tab]))))))), (!this.tabView || (this.tabView && this.activeTab === "search") || this.print) && (h(MainPanel, { key: '523b13cf9dd9c67b2930e9494c606af41b572888', tabView: this.tabView, mainSize: this.mainSize, documentPanelOpen: this.documentPanelOpen, mainPanelExpanded: this.mainPanelExpanded, mainPanelHidden: this.mainPanelHidden, toggleMainPanel: this.toggleMainPanel, dsoMainSizeChangeAnimationEnd: this.dsoMainSizeChangeAnimationEnd, printFilterPanel: !this.tabView && this.filterPanelOpen && this.print ? this.renderFilterPanel() : undefined })), (!this.tabView || (this.tabView && this.activeTab === "search")) && !this.print && this.renderFilterPanel(), (!this.tabView || (this.tabView && this.activeTab === "map") || this.print) && (h("div", { key: 'a6d1dba4230967f6e70f00ebe447d7e78bac5f78', class: "map-area" }, h("div", { key: '31c3d2288d1c61c9bc5d86d582f921dd9bf6bd74', class: "map", ref: (element) => (this.mapElement = element) }, h("slot", { key: 'aba536a452d4d59608564a95c6342c3b02af0ddb', name: "map" })), h("slot", { key: '5c486a1a2c691c917a63540ce7cff4e755e1d541', name: "legend" }))), ((!this.tabView && this.documentPanelOpen) ||
167
167
  (this.tabView && this.activeTab === "document") ||
168
- this.print) && (h(DocumentPanel, { key: 'faeafe5d5044849bc9ca3290b488686606eac9da', tabView: this.tabView, panelSize: this.documentPanelSize, shrinkDocumentPanel: this.shrinkDocumentPanel, expandDocumentPanel: this.expandDocumentPanel, dsoDocumentPanelSizeChangeAnimationEnd: this.dsoDocumentPanelSizeChangeAnimationEnd })), h(Overlay, { key: 'eb0ae7936cc4029311fb2d93143938424625f20d', ref: (element) => (this.overlay = element), dsoCloseOverlay: (e) => this.dsoCloseOverlay.emit({ originalEvent: e }) }))));
168
+ this.print) && (h(DocumentPanel, { key: '42667326ab4c77b38c7bee479713349e5789d115', tabView: this.tabView, panelSize: this.documentPanelSize, shrinkDocumentPanel: this.shrinkDocumentPanel, expandDocumentPanel: this.expandDocumentPanel, dsoDocumentPanelSizeChangeAnimationEnd: this.dsoDocumentPanelSizeChangeAnimationEnd })), h(Overlay, { key: '87c1b94862cedda8980d5630c3fa9fdd90ac7eca', ref: (element) => (this.overlay = element), dsoCloseOverlay: (e) => this.dsoCloseOverlay.emit({ originalEvent: e }) }))));
169
169
  }
170
170
  static get is() { return "dso-viewer-grid"; }
171
171
  static get encapsulation() { return "shadow"; }