@dso-toolkit/core 74.0.0 → 75.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 (794) hide show
  1. package/dist/bundle/dso-accordion-section.js +8 -8
  2. package/dist/bundle/dso-accordion-section.js.map +1 -1
  3. package/dist/bundle/dso-accordion.js +1 -1
  4. package/dist/bundle/dso-accordion.js.map +1 -1
  5. package/dist/bundle/dso-action-list-item.js +2 -2
  6. package/dist/bundle/dso-action-list-item.js.map +1 -1
  7. package/dist/bundle/dso-action-list.js +1 -1
  8. package/dist/bundle/dso-action-list.js.map +1 -1
  9. package/dist/bundle/dso-advanced-select.js +5 -5
  10. package/dist/bundle/dso-advanced-select.js.map +1 -1
  11. package/dist/bundle/dso-alert.js +1 -1
  12. package/dist/bundle/dso-annotation-activiteit.js +6 -6
  13. package/dist/bundle/dso-annotation-activiteit.js.map +1 -1
  14. package/dist/bundle/dso-annotation-gebiedsaanwijzing.js +6 -6
  15. package/dist/bundle/dso-annotation-gebiedsaanwijzing.js.map +1 -1
  16. package/dist/bundle/dso-annotation-kaart.js +4 -4
  17. package/dist/bundle/dso-annotation-kaart.js.map +1 -1
  18. package/dist/bundle/dso-annotation-locatie.js +1 -1
  19. package/dist/bundle/dso-annotation-omgevingsnormwaarde.js +6 -6
  20. package/dist/bundle/dso-annotation-omgevingsnormwaarde.js.map +1 -1
  21. package/dist/bundle/dso-attachments-counter.js +1 -1
  22. package/dist/bundle/dso-autosuggest.js +3 -3
  23. package/dist/bundle/dso-badge.js +1 -1
  24. package/dist/bundle/dso-banner.js +1 -1
  25. package/dist/bundle/dso-banner.js.map +1 -1
  26. package/dist/bundle/dso-card.js +2 -2
  27. package/dist/bundle/dso-card.js.map +1 -1
  28. package/dist/bundle/dso-contact-information.js +1 -1
  29. package/dist/bundle/dso-contact-information.js.map +1 -1
  30. package/dist/bundle/dso-date-picker-legacy.js +2 -2
  31. package/dist/bundle/dso-date-picker-legacy.js.map +1 -1
  32. package/dist/bundle/dso-date-picker.js +1 -1
  33. package/dist/bundle/dso-date-picker.js.map +1 -1
  34. package/dist/bundle/dso-document-card.js +2 -2
  35. package/dist/bundle/dso-document-card.js.map +1 -1
  36. package/dist/bundle/dso-document-component.js +1 -1
  37. package/dist/bundle/dso-expandable.js +1 -1
  38. package/dist/bundle/dso-header.js +2 -2
  39. package/dist/bundle/dso-header.js.map +1 -1
  40. package/dist/bundle/dso-highlight-box.js +1 -1
  41. package/dist/bundle/dso-highlight-box.js.map +1 -1
  42. package/dist/bundle/dso-icon.js +1 -1
  43. package/dist/bundle/dso-image-overlay.js +1 -1
  44. package/dist/bundle/dso-info-button.js +1 -1
  45. package/dist/bundle/dso-info.js +1 -1
  46. package/dist/bundle/dso-input-range.js +1 -1
  47. package/dist/bundle/dso-input-range.js.map +1 -1
  48. package/dist/bundle/dso-label.js +1 -1
  49. package/dist/bundle/dso-legend-item.js +16 -17
  50. package/dist/bundle/dso-legend-item.js.map +1 -1
  51. package/dist/bundle/dso-list-button.js +3 -3
  52. package/dist/bundle/dso-list-button.js.map +1 -1
  53. package/dist/bundle/dso-logo.js +1 -1
  54. package/dist/bundle/dso-map-base-layers.js +6 -6
  55. package/dist/bundle/dso-map-base-layers.js.map +1 -1
  56. package/dist/bundle/dso-map-controls.js +4 -4
  57. package/dist/bundle/dso-map-controls.js.map +1 -1
  58. package/dist/bundle/dso-map-overlays.js +6 -6
  59. package/dist/bundle/dso-map-overlays.js.map +1 -1
  60. package/dist/bundle/dso-mark-bar.js +3 -3
  61. package/dist/bundle/dso-mark-bar.js.map +1 -1
  62. package/dist/bundle/dso-modal.js +4 -4
  63. package/dist/bundle/dso-modal.js.map +1 -1
  64. package/dist/bundle/dso-onboarding-tip.js +3 -3
  65. package/dist/bundle/dso-onboarding-tip.js.map +1 -1
  66. package/dist/bundle/dso-ozon-content.js +1 -1
  67. package/dist/bundle/dso-pagination.js +3 -3
  68. package/dist/bundle/dso-pagination.js.map +1 -1
  69. package/dist/bundle/dso-panel.js +1 -1
  70. package/dist/bundle/dso-plekinfo-card.js +3 -3
  71. package/dist/bundle/dso-plekinfo-card.js.map +1 -1
  72. package/dist/bundle/dso-progress-bar.js +2 -2
  73. package/dist/bundle/dso-progress-bar.js.map +1 -1
  74. package/dist/bundle/dso-progress-indicator.js +1 -1
  75. package/dist/bundle/dso-project-item.js +5 -5
  76. package/dist/bundle/dso-project-item.js.map +1 -1
  77. package/dist/bundle/dso-renvooi.js +1 -1
  78. package/dist/bundle/dso-responsive-element.js +1 -1
  79. package/dist/bundle/dso-scrollable.js +1 -1
  80. package/dist/bundle/dso-selectable.js +1 -1
  81. package/dist/bundle/dso-skiplink.js +3 -3
  82. package/dist/bundle/dso-skiplink.js.map +1 -1
  83. package/dist/bundle/dso-slide-toggle.js +1 -1
  84. package/dist/bundle/dso-survey-rating.js +5 -5
  85. package/dist/bundle/dso-survey-rating.js.map +1 -1
  86. package/dist/bundle/dso-tab.js +1 -1
  87. package/dist/bundle/dso-tab.js.map +1 -1
  88. package/dist/bundle/dso-table.js +1 -1
  89. package/dist/bundle/dso-tabs.js +2 -2
  90. package/dist/bundle/dso-tabs.js.map +1 -1
  91. package/dist/bundle/dso-toggletip.js +1 -1
  92. package/dist/bundle/dso-tooltip.js +1 -1
  93. package/dist/bundle/dso-tree-view.js +4 -4
  94. package/dist/bundle/dso-tree-view.js.map +1 -1
  95. package/dist/bundle/dso-viewer-grid.js +2 -2
  96. package/dist/bundle/dso-viewer-grid.js.map +1 -1
  97. package/dist/bundle/dsot-document-component-demo.js +14 -14
  98. package/dist/bundle/p-0OxrSmuX.js +36 -0
  99. package/dist/bundle/{p-CwXjPr2h.js.map → p-0OxrSmuX.js.map} +1 -1
  100. package/dist/bundle/{p-C_CoF0aB.js → p-9Ncrliah.js} +5 -5
  101. package/dist/bundle/{p-C_CoF0aB.js.map → p-9Ncrliah.js.map} +1 -1
  102. package/dist/bundle/{p-BdyXpl60.js → p-BLcgQKpu.js} +3 -3
  103. package/dist/bundle/{p-BdyXpl60.js.map → p-BLcgQKpu.js.map} +1 -1
  104. package/dist/bundle/{p-kDtv6DeD.js → p-BN2fD3ZU.js} +4 -4
  105. package/dist/bundle/{p-kDtv6DeD.js.map → p-BN2fD3ZU.js.map} +1 -1
  106. package/dist/bundle/{p-CZ2ipzNO.js → p-BYV1oeRl.js} +4 -4
  107. package/dist/bundle/{p-CZ2ipzNO.js.map → p-BYV1oeRl.js.map} +1 -1
  108. package/dist/bundle/p-BzRDrr-_.js +63 -0
  109. package/dist/bundle/{p-xNnEBBZG.js.map → p-BzRDrr-_.js.map} +1 -1
  110. package/dist/bundle/p-CLisNzps.js +253 -0
  111. package/dist/bundle/{p-BJv2m9ZZ.js.map → p-CLisNzps.js.map} +1 -1
  112. package/dist/bundle/{p-DGWbWwct.js → p-CoKesn28.js} +5 -5
  113. package/dist/bundle/{p-DGWbWwct.js.map → p-CoKesn28.js.map} +1 -1
  114. package/dist/bundle/p-Cs3phD9i.js +1162 -0
  115. package/dist/bundle/{p-DvqO1i1s.js.map → p-Cs3phD9i.js.map} +1 -1
  116. package/dist/bundle/{p-dB3K6tfb.js → p-Cx4Hx2VD.js} +4 -4
  117. package/dist/bundle/{p-dB3K6tfb.js.map → p-Cx4Hx2VD.js.map} +1 -1
  118. package/dist/bundle/{p-PMqbDJmA.js → p-CyBDICEz.js} +4 -4
  119. package/dist/bundle/{p-PMqbDJmA.js.map → p-CyBDICEz.js.map} +1 -1
  120. package/dist/bundle/p-D8CNpm3v.js +80 -0
  121. package/dist/bundle/{p-CkBk3gL8.js.map → p-D8CNpm3v.js.map} +1 -1
  122. package/dist/bundle/{p-0JGmXD8O.js → p-D9Bg2rxG.js} +5 -5
  123. package/dist/bundle/{p-0JGmXD8O.js.map → p-D9Bg2rxG.js.map} +1 -1
  124. package/dist/bundle/p-DIok-wvi.js +115 -0
  125. package/dist/bundle/{p-BtcZ9oZ6.js.map → p-DIok-wvi.js.map} +1 -1
  126. package/dist/bundle/{p-D2nuXSd0.js → p-DTtP46RI.js} +3 -3
  127. package/dist/bundle/{p-D2nuXSd0.js.map → p-DTtP46RI.js.map} +1 -1
  128. package/dist/bundle/p-DWXU-hOH.js +43 -0
  129. package/dist/bundle/{p-C1tscMvU.js.map → p-DWXU-hOH.js.map} +1 -1
  130. package/dist/bundle/{p-DcpG4jOU.js → p-DeWunH18.js} +7 -7
  131. package/dist/bundle/{p-DcpG4jOU.js.map → p-DeWunH18.js.map} +1 -1
  132. package/dist/bundle/{p-CvGnEQcm.js → p-DkmiPgP0.js} +3 -3
  133. package/dist/bundle/p-DkmiPgP0.js.map +1 -0
  134. package/dist/bundle/{p-DrR9RuIM.js → p-Dxegur3q.js} +3 -3
  135. package/dist/bundle/{p-DrR9RuIM.js.map → p-Dxegur3q.js.map} +1 -1
  136. package/dist/bundle/{p-WYm6cxra.js → p-QqEnuAIH.js} +4 -4
  137. package/dist/bundle/{p-WYm6cxra.js.map → p-QqEnuAIH.js.map} +1 -1
  138. package/dist/bundle/p-YrsDWjn_.js +145 -0
  139. package/dist/bundle/{p-Cng7insW.js.map → p-YrsDWjn_.js.map} +1 -1
  140. package/dist/bundle/p-cdXH2H1r.js +125 -0
  141. package/dist/bundle/{p-D9Yjz_Sm.js.map → p-cdXH2H1r.js.map} +1 -1
  142. package/dist/cjs/dso-accordion-section.cjs.entry.js +1 -1
  143. package/dist/cjs/dso-accordion-section.cjs.entry.js.map +1 -1
  144. package/dist/cjs/dso-accordion-section.entry.cjs.js.map +1 -1
  145. package/dist/cjs/dso-accordion.cjs.entry.js +1 -1
  146. package/dist/cjs/dso-accordion.cjs.entry.js.map +1 -1
  147. package/dist/cjs/dso-accordion.entry.cjs.js.map +1 -1
  148. package/dist/cjs/dso-action-list-item.cjs.entry.js +1 -1
  149. package/dist/cjs/dso-action-list-item.cjs.entry.js.map +1 -1
  150. package/dist/cjs/dso-action-list-item.entry.cjs.js.map +1 -1
  151. package/dist/cjs/dso-action-list.cjs.entry.js +1 -1
  152. package/dist/cjs/dso-action-list.cjs.entry.js.map +1 -1
  153. package/dist/cjs/dso-action-list.entry.cjs.js.map +1 -1
  154. package/dist/cjs/dso-advanced-select.cjs.entry.js +1 -1
  155. package/dist/cjs/dso-advanced-select.cjs.entry.js.map +1 -1
  156. package/dist/cjs/dso-advanced-select.entry.cjs.js.map +1 -1
  157. package/dist/cjs/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.cjs.js.map +1 -1
  158. package/dist/cjs/dso-alert_6.cjs.entry.js +8 -8
  159. package/dist/cjs/dso-alert_6.cjs.entry.js.map +1 -1
  160. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js +1 -1
  161. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js.map +1 -1
  162. package/dist/cjs/dso-annotation-activiteit.entry.cjs.js.map +1 -1
  163. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js +1 -1
  164. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js.map +1 -1
  165. package/dist/cjs/dso-annotation-gebiedsaanwijzing.entry.cjs.js.map +1 -1
  166. package/dist/cjs/dso-annotation-kaart.cjs.entry.js +1 -1
  167. package/dist/cjs/dso-annotation-kaart.cjs.entry.js.map +1 -1
  168. package/dist/cjs/dso-annotation-kaart.entry.cjs.js.map +1 -1
  169. package/dist/cjs/dso-annotation-locatie.dso-document-component.entry.cjs.js.map +1 -1
  170. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js +2 -2
  171. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js.map +1 -1
  172. package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js +1 -1
  173. package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js.map +1 -1
  174. package/dist/cjs/dso-annotation-omgevingsnormwaarde.entry.cjs.js.map +1 -1
  175. package/dist/cjs/dso-attachments-counter.dso-expandable.entry.cjs.js.map +1 -1
  176. package/dist/cjs/dso-attachments-counter_2.cjs.entry.js +2 -2
  177. package/dist/cjs/dso-attachments-counter_2.cjs.entry.js.map +1 -1
  178. package/dist/cjs/dso-banner.cjs.entry.js +1 -1
  179. package/dist/cjs/dso-banner.cjs.entry.js.map +1 -1
  180. package/dist/cjs/dso-banner.entry.cjs.js.map +1 -1
  181. package/dist/cjs/dso-card.cjs.entry.js +1 -1
  182. package/dist/cjs/dso-card.cjs.entry.js.map +1 -1
  183. package/dist/cjs/dso-card.entry.cjs.js.map +1 -1
  184. package/dist/cjs/dso-contact-information.cjs.entry.js +1 -1
  185. package/dist/cjs/dso-contact-information.cjs.entry.js.map +1 -1
  186. package/dist/cjs/dso-contact-information.entry.cjs.js.map +1 -1
  187. package/dist/cjs/dso-date-picker-legacy.cjs.entry.js +1 -1
  188. package/dist/cjs/dso-date-picker-legacy.cjs.entry.js.map +1 -1
  189. package/dist/cjs/dso-date-picker-legacy.entry.cjs.js.map +1 -1
  190. package/dist/cjs/dso-date-picker.cjs.entry.js +1 -1
  191. package/dist/cjs/dso-date-picker.cjs.entry.js.map +1 -1
  192. package/dist/cjs/dso-date-picker.entry.cjs.js.map +1 -1
  193. package/dist/cjs/dso-document-card.cjs.entry.js +1 -1
  194. package/dist/cjs/dso-document-card.cjs.entry.js.map +1 -1
  195. package/dist/cjs/dso-document-card.entry.cjs.js.map +1 -1
  196. package/dist/cjs/dso-header.cjs.entry.js +1 -1
  197. package/dist/cjs/dso-header.cjs.entry.js.map +1 -1
  198. package/dist/cjs/dso-header.entry.cjs.js.map +1 -1
  199. package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
  200. package/dist/cjs/dso-highlight-box.cjs.entry.js.map +1 -1
  201. package/dist/cjs/dso-highlight-box.entry.cjs.js.map +1 -1
  202. package/dist/cjs/dso-icon.cjs.entry.js +1 -1
  203. package/dist/cjs/dso-icon.cjs.entry.js.map +1 -1
  204. package/dist/cjs/dso-icon.entry.cjs.js.map +1 -1
  205. package/dist/cjs/dso-info-button.cjs.entry.js +1 -1
  206. package/dist/cjs/dso-info-button.cjs.entry.js.map +1 -1
  207. package/dist/cjs/dso-info-button.entry.cjs.js.map +1 -1
  208. package/dist/cjs/dso-info.dso-selectable.entry.cjs.js.map +1 -1
  209. package/dist/cjs/dso-info_2.cjs.entry.js +3 -3
  210. package/dist/cjs/dso-info_2.cjs.entry.js.map +1 -1
  211. package/dist/cjs/dso-input-range.cjs.entry.js +1 -1
  212. package/dist/cjs/dso-input-range.cjs.entry.js.map +1 -1
  213. package/dist/cjs/dso-input-range.entry.cjs.js.map +1 -1
  214. package/dist/cjs/dso-label.dso-renvooi.dso-slide-toggle.entry.cjs.js.map +1 -1
  215. package/dist/cjs/dso-label_3.cjs.entry.js +4 -4
  216. package/dist/cjs/dso-label_3.cjs.entry.js.map +1 -1
  217. package/dist/cjs/dso-legend-item.cjs.entry.js +3 -10
  218. package/dist/cjs/dso-legend-item.cjs.entry.js.map +1 -1
  219. package/dist/cjs/dso-legend-item.entry.cjs.js.map +1 -1
  220. package/dist/cjs/dso-list-button.cjs.entry.js +2 -2
  221. package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -1
  222. package/dist/cjs/dso-list-button.entry.cjs.js.map +1 -1
  223. package/dist/cjs/dso-logo.cjs.entry.js +1 -1
  224. package/dist/cjs/dso-map-base-layers.cjs.entry.js +2 -2
  225. package/dist/cjs/dso-map-base-layers.cjs.entry.js.map +1 -1
  226. package/dist/cjs/dso-map-base-layers.entry.cjs.js.map +1 -1
  227. package/dist/cjs/dso-map-controls.cjs.entry.js +2 -2
  228. package/dist/cjs/dso-map-controls.cjs.entry.js.map +1 -1
  229. package/dist/cjs/dso-map-controls.entry.cjs.js.map +1 -1
  230. package/dist/cjs/dso-map-overlays.cjs.entry.js +2 -2
  231. package/dist/cjs/dso-map-overlays.cjs.entry.js.map +1 -1
  232. package/dist/cjs/dso-map-overlays.entry.cjs.js.map +1 -1
  233. package/dist/cjs/dso-mark-bar.cjs.entry.js +2 -2
  234. package/dist/cjs/dso-mark-bar.cjs.entry.js.map +1 -1
  235. package/dist/cjs/dso-mark-bar.entry.cjs.js.map +1 -1
  236. package/dist/cjs/dso-modal.cjs.entry.js +2 -2
  237. package/dist/cjs/dso-modal.cjs.entry.js.map +1 -1
  238. package/dist/cjs/dso-modal.entry.cjs.js.map +1 -1
  239. package/dist/cjs/dso-onboarding-tip.cjs.entry.js +2 -2
  240. package/dist/cjs/dso-onboarding-tip.cjs.entry.js.map +1 -1
  241. package/dist/cjs/dso-onboarding-tip.entry.cjs.js.map +1 -1
  242. package/dist/cjs/dso-pagination.cjs.entry.js +1 -1
  243. package/dist/cjs/dso-pagination.cjs.entry.js.map +1 -1
  244. package/dist/cjs/dso-pagination.entry.cjs.js.map +1 -1
  245. package/dist/cjs/dso-plekinfo-card.cjs.entry.js +2 -2
  246. package/dist/cjs/dso-plekinfo-card.cjs.entry.js.map +1 -1
  247. package/dist/cjs/dso-plekinfo-card.entry.cjs.js.map +1 -1
  248. package/dist/cjs/dso-progress-bar.cjs.entry.js +2 -2
  249. package/dist/cjs/dso-progress-bar.cjs.entry.js.map +1 -1
  250. package/dist/cjs/dso-progress-bar.entry.cjs.js.map +1 -1
  251. package/dist/cjs/dso-progress-indicator.cjs.entry.js +2 -2
  252. package/dist/cjs/dso-progress-indicator.cjs.entry.js.map +1 -1
  253. package/dist/cjs/dso-progress-indicator.entry.cjs.js.map +1 -1
  254. package/dist/cjs/dso-project-item.cjs.entry.js +2 -2
  255. package/dist/cjs/dso-project-item.cjs.entry.js.map +1 -1
  256. package/dist/cjs/dso-project-item.entry.cjs.js.map +1 -1
  257. package/dist/cjs/dso-responsive-element.cjs.entry.js +1 -1
  258. package/dist/cjs/dso-scrollable.cjs.entry.js +3 -3
  259. package/dist/cjs/dso-scrollable.cjs.entry.js.map +1 -1
  260. package/dist/cjs/dso-scrollable.entry.cjs.js.map +1 -1
  261. package/dist/cjs/dso-skiplink.cjs.entry.js +2 -2
  262. package/dist/cjs/dso-skiplink.cjs.entry.js.map +1 -1
  263. package/dist/cjs/dso-skiplink.entry.cjs.js.map +1 -1
  264. package/dist/cjs/dso-survey-rating.cjs.entry.js +3 -3
  265. package/dist/cjs/dso-survey-rating.cjs.entry.js.map +1 -1
  266. package/dist/cjs/dso-survey-rating.entry.cjs.js.map +1 -1
  267. package/dist/cjs/dso-tab.cjs.entry.js +1 -1
  268. package/dist/cjs/dso-tab.cjs.entry.js.map +1 -1
  269. package/dist/cjs/dso-tab.entry.cjs.js.map +1 -1
  270. package/dist/cjs/dso-tabs.cjs.entry.js +2 -2
  271. package/dist/cjs/dso-tabs.cjs.entry.js.map +1 -1
  272. package/dist/cjs/dso-tabs.entry.cjs.js.map +1 -1
  273. package/dist/cjs/dso-toggletip.cjs.entry.js +2 -2
  274. package/dist/cjs/dso-toggletip.cjs.entry.js.map +1 -1
  275. package/dist/cjs/dso-toggletip.entry.cjs.js.map +1 -1
  276. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  277. package/dist/cjs/dso-tooltip.cjs.entry.js +2 -2
  278. package/dist/cjs/dso-tooltip.cjs.entry.js.map +1 -1
  279. package/dist/cjs/dso-tooltip.entry.cjs.js.map +1 -1
  280. package/dist/cjs/dso-tree-view.cjs.entry.js +2 -2
  281. package/dist/cjs/dso-tree-view.cjs.entry.js.map +1 -1
  282. package/dist/cjs/dso-tree-view.entry.cjs.js.map +1 -1
  283. package/dist/cjs/dso-viewer-grid.cjs.entry.js +2 -2
  284. package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -1
  285. package/dist/cjs/dso-viewer-grid.entry.cjs.js.map +1 -1
  286. package/dist/cjs/loader.cjs.js +1 -1
  287. package/dist/collection/components/accordion/accordion.css +15 -0
  288. package/dist/collection/components/accordion/components/accordion-section.css +17 -2
  289. package/dist/collection/components/action-list/action-list.css +15 -0
  290. package/dist/collection/components/action-list/components/action-list-item.css +15 -0
  291. package/dist/collection/components/advanced-select/advanced-select.css +15 -0
  292. package/dist/collection/components/alert/alert.css +15 -0
  293. package/dist/collection/components/annotation/annotation.css +15 -0
  294. package/dist/collection/components/attachments-counter/attachments-counter.css +15 -0
  295. package/dist/collection/components/badge/badge.css +15 -0
  296. package/dist/collection/components/banner/banner.css +15 -0
  297. package/dist/collection/components/card/card.css +15 -0
  298. package/dist/collection/components/contact-information/contact-information.css +15 -0
  299. package/dist/collection/components/date-picker/date-picker.css +15 -0
  300. package/dist/collection/components/date-picker-legacy/date-picker-legacy.css +15 -0
  301. package/dist/collection/components/document-card/document-card.css +15 -0
  302. package/dist/collection/components/document-component/document-component.css +15 -0
  303. package/dist/collection/components/expandable/expandable.css +19 -2
  304. package/dist/collection/components/header/header.css +15 -0
  305. package/dist/collection/components/highlight-box/highlight-box.css +15 -0
  306. package/dist/collection/components/icon/icon.css +15 -0
  307. package/dist/collection/components/image-overlay/image-overlay.css +15 -0
  308. package/dist/collection/components/info/info.css +15 -0
  309. package/dist/collection/components/info-button/info-button.css +15 -0
  310. package/dist/collection/components/input-range/input-range.css +15 -0
  311. package/dist/collection/components/label/label.css +15 -0
  312. package/dist/collection/components/legend-item/legend-item.css +42 -23
  313. package/dist/collection/components/legend-item/legend-item.interfaces.js.map +1 -1
  314. package/dist/collection/components/legend-item/legend-item.js +14 -21
  315. package/dist/collection/components/legend-item/legend-item.js.map +1 -1
  316. package/dist/collection/components/list-button/list-button.css +15 -0
  317. package/dist/collection/components/list-button/list-button.js +1 -1
  318. package/dist/collection/components/logo/logo.js +1 -1
  319. package/dist/collection/components/map-base-layers/map-base-layers.css +15 -0
  320. package/dist/collection/components/map-base-layers/map-base-layers.js +1 -1
  321. package/dist/collection/components/map-controls/map-controls.css +15 -0
  322. package/dist/collection/components/map-controls/map-controls.js +1 -1
  323. package/dist/collection/components/map-overlays/map-overlays.css +15 -0
  324. package/dist/collection/components/map-overlays/map-overlays.js +1 -1
  325. package/dist/collection/components/mark-bar/mark-bar.css +15 -0
  326. package/dist/collection/components/mark-bar/mark-bar.js +1 -1
  327. package/dist/collection/components/modal/modal.css +15 -0
  328. package/dist/collection/components/modal/modal.js +1 -1
  329. package/dist/collection/components/onboarding-tip/onboarding-tip.css +15 -0
  330. package/dist/collection/components/onboarding-tip/onboarding-tip.js +1 -1
  331. package/dist/collection/components/ozon-content/ozon-content.css +15 -0
  332. package/dist/collection/components/ozon-content/ozon-content.js +1 -1
  333. package/dist/collection/components/pagination/pagination.css +15 -0
  334. package/dist/collection/components/panel/panel.css +15 -0
  335. package/dist/collection/components/plekinfo-card/plekinfo-card.css +15 -0
  336. package/dist/collection/components/plekinfo-card/plekinfo-card.js +1 -1
  337. package/dist/collection/components/progress-bar/progress-bar.css +15 -0
  338. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  339. package/dist/collection/components/progress-indicator/progress-indicator.css +15 -0
  340. package/dist/collection/components/progress-indicator/progress-indicator.js +1 -1
  341. package/dist/collection/components/project-item/project-item.css +15 -0
  342. package/dist/collection/components/project-item/project-item.js +1 -1
  343. package/dist/collection/components/renvooi/renvooi.css +15 -0
  344. package/dist/collection/components/responsive-element/responsive-element.js +1 -1
  345. package/dist/collection/components/scrollable/scrollable.css +15 -0
  346. package/dist/collection/components/scrollable/scrollable.js +2 -2
  347. package/dist/collection/components/selectable/selectable.css +15 -0
  348. package/dist/collection/components/selectable/selectable.js +1 -1
  349. package/dist/collection/components/skiplink/skiplink.css +15 -0
  350. package/dist/collection/components/skiplink/skiplink.js +1 -1
  351. package/dist/collection/components/slide-toggle/slide-toggle.css +16 -1
  352. package/dist/collection/components/slide-toggle/slide-toggle.js +1 -1
  353. package/dist/collection/components/survey-rating/survey-rating.css +15 -0
  354. package/dist/collection/components/survey-rating/survey-rating.js +2 -2
  355. package/dist/collection/components/table/table.css +15 -0
  356. package/dist/collection/components/table/table.js +1 -1
  357. package/dist/collection/components/tabs/components/tab.css +15 -0
  358. package/dist/collection/components/tabs/tabs.css +15 -0
  359. package/dist/collection/components/tabs/tabs.js +1 -1
  360. package/dist/collection/components/toggletip/toggletip.css +15 -0
  361. package/dist/collection/components/toggletip/toggletip.js +1 -1
  362. package/dist/collection/components/tooltip/tooltip.css +15 -0
  363. package/dist/collection/components/tooltip/tooltip.js +1 -1
  364. package/dist/collection/components/tree-view/tree-view.css +15 -0
  365. package/dist/collection/components/tree-view/tree-view.js +1 -1
  366. package/dist/collection/components/viewer-grid/viewer-grid.css +15 -0
  367. package/dist/collection/components/viewer-grid/viewer-grid.js +1 -1
  368. package/dist/components/alert.js +1 -1
  369. package/dist/components/alert.js.map +1 -1
  370. package/dist/components/annotation-locatie.js +1 -1
  371. package/dist/components/annotation-locatie.js.map +1 -1
  372. package/dist/components/attachments-counter.js +1 -1
  373. package/dist/components/attachments-counter.js.map +1 -1
  374. package/dist/components/badge.js +1 -1
  375. package/dist/components/badge.js.map +1 -1
  376. package/dist/components/document-component.js +1 -1
  377. package/dist/components/document-component.js.map +1 -1
  378. package/dist/components/dso-accordion-section.js +1 -1
  379. package/dist/components/dso-accordion-section.js.map +1 -1
  380. package/dist/components/dso-accordion.js +1 -1
  381. package/dist/components/dso-accordion.js.map +1 -1
  382. package/dist/components/dso-action-list-item.js +1 -1
  383. package/dist/components/dso-action-list-item.js.map +1 -1
  384. package/dist/components/dso-action-list.js +1 -1
  385. package/dist/components/dso-action-list.js.map +1 -1
  386. package/dist/components/dso-advanced-select.js +1 -1
  387. package/dist/components/dso-advanced-select.js.map +1 -1
  388. package/dist/components/dso-annotation-activiteit.js +1 -1
  389. package/dist/components/dso-annotation-activiteit.js.map +1 -1
  390. package/dist/components/dso-annotation-gebiedsaanwijzing.js +1 -1
  391. package/dist/components/dso-annotation-gebiedsaanwijzing.js.map +1 -1
  392. package/dist/components/dso-annotation-kaart.js +1 -1
  393. package/dist/components/dso-annotation-kaart.js.map +1 -1
  394. package/dist/components/dso-annotation-omgevingsnormwaarde.js +1 -1
  395. package/dist/components/dso-annotation-omgevingsnormwaarde.js.map +1 -1
  396. package/dist/components/dso-banner.js +1 -1
  397. package/dist/components/dso-banner.js.map +1 -1
  398. package/dist/components/dso-card.js +1 -1
  399. package/dist/components/dso-card.js.map +1 -1
  400. package/dist/components/dso-contact-information.js +1 -1
  401. package/dist/components/dso-contact-information.js.map +1 -1
  402. package/dist/components/dso-date-picker-legacy.js +1 -1
  403. package/dist/components/dso-date-picker-legacy.js.map +1 -1
  404. package/dist/components/dso-date-picker.js +1 -1
  405. package/dist/components/dso-date-picker.js.map +1 -1
  406. package/dist/components/dso-document-card.js +1 -1
  407. package/dist/components/dso-document-card.js.map +1 -1
  408. package/dist/components/dso-header.js +1 -1
  409. package/dist/components/dso-header.js.map +1 -1
  410. package/dist/components/dso-highlight-box.js +1 -1
  411. package/dist/components/dso-highlight-box.js.map +1 -1
  412. package/dist/components/dso-input-range.js +1 -1
  413. package/dist/components/dso-input-range.js.map +1 -1
  414. package/dist/components/dso-legend-item.js +14 -15
  415. package/dist/components/dso-legend-item.js.map +1 -1
  416. package/dist/components/dso-list-button.js +2 -2
  417. package/dist/components/dso-list-button.js.map +1 -1
  418. package/dist/components/dso-logo.js +1 -1
  419. package/dist/components/dso-map-base-layers.js +2 -2
  420. package/dist/components/dso-map-base-layers.js.map +1 -1
  421. package/dist/components/dso-map-controls.js +2 -2
  422. package/dist/components/dso-map-controls.js.map +1 -1
  423. package/dist/components/dso-map-overlays.js +2 -2
  424. package/dist/components/dso-map-overlays.js.map +1 -1
  425. package/dist/components/dso-mark-bar.js +2 -2
  426. package/dist/components/dso-mark-bar.js.map +1 -1
  427. package/dist/components/dso-modal.js +2 -2
  428. package/dist/components/dso-modal.js.map +1 -1
  429. package/dist/components/dso-onboarding-tip.js +2 -2
  430. package/dist/components/dso-onboarding-tip.js.map +1 -1
  431. package/dist/components/dso-pagination.js +1 -1
  432. package/dist/components/dso-pagination.js.map +1 -1
  433. package/dist/components/dso-plekinfo-card.js +2 -2
  434. package/dist/components/dso-plekinfo-card.js.map +1 -1
  435. package/dist/components/dso-progress-bar.js +2 -2
  436. package/dist/components/dso-progress-bar.js.map +1 -1
  437. package/dist/components/dso-project-item.js +2 -2
  438. package/dist/components/dso-project-item.js.map +1 -1
  439. package/dist/components/dso-skiplink.js +2 -2
  440. package/dist/components/dso-skiplink.js.map +1 -1
  441. package/dist/components/dso-survey-rating.js +3 -3
  442. package/dist/components/dso-survey-rating.js.map +1 -1
  443. package/dist/components/dso-tab.js +1 -1
  444. package/dist/components/dso-tab.js.map +1 -1
  445. package/dist/components/dso-tabs.js +2 -2
  446. package/dist/components/dso-tabs.js.map +1 -1
  447. package/dist/components/dso-tree-view.js +2 -2
  448. package/dist/components/dso-tree-view.js.map +1 -1
  449. package/dist/components/dso-viewer-grid.js +2 -2
  450. package/dist/components/dso-viewer-grid.js.map +1 -1
  451. package/dist/components/expandable.js +1 -1
  452. package/dist/components/expandable.js.map +1 -1
  453. package/dist/components/icon.js +1 -1
  454. package/dist/components/icon.js.map +1 -1
  455. package/dist/components/image-overlay.js +1 -1
  456. package/dist/components/image-overlay.js.map +1 -1
  457. package/dist/components/info-button.js +1 -1
  458. package/dist/components/info-button.js.map +1 -1
  459. package/dist/components/info.js +1 -1
  460. package/dist/components/info.js.map +1 -1
  461. package/dist/components/label.js +1 -1
  462. package/dist/components/label.js.map +1 -1
  463. package/dist/components/ozon-content.js +2 -2
  464. package/dist/components/ozon-content.js.map +1 -1
  465. package/dist/components/panel.js +1 -1
  466. package/dist/components/panel.js.map +1 -1
  467. package/dist/components/progress-indicator.js +2 -2
  468. package/dist/components/progress-indicator.js.map +1 -1
  469. package/dist/components/renvooi.js +1 -1
  470. package/dist/components/renvooi.js.map +1 -1
  471. package/dist/components/responsive-element.js +1 -1
  472. package/dist/components/scrollable.js +3 -3
  473. package/dist/components/scrollable.js.map +1 -1
  474. package/dist/components/selectable.js +2 -2
  475. package/dist/components/selectable.js.map +1 -1
  476. package/dist/components/slide-toggle.js +2 -2
  477. package/dist/components/slide-toggle.js.map +1 -1
  478. package/dist/components/table.js +2 -2
  479. package/dist/components/table.js.map +1 -1
  480. package/dist/components/toggletip.js +2 -2
  481. package/dist/components/toggletip.js.map +1 -1
  482. package/dist/components/tooltip.js +2 -2
  483. package/dist/components/tooltip.js.map +1 -1
  484. package/dist/dso-toolkit/dso-accordion-section.entry.esm.js.map +1 -1
  485. package/dist/dso-toolkit/dso-accordion.entry.esm.js.map +1 -1
  486. package/dist/dso-toolkit/dso-action-list-item.entry.esm.js.map +1 -1
  487. package/dist/dso-toolkit/dso-action-list.entry.esm.js.map +1 -1
  488. package/dist/dso-toolkit/dso-advanced-select.entry.esm.js.map +1 -1
  489. package/dist/dso-toolkit/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.esm.js.map +1 -1
  490. package/dist/dso-toolkit/dso-annotation-activiteit.entry.esm.js.map +1 -1
  491. package/dist/dso-toolkit/dso-annotation-gebiedsaanwijzing.entry.esm.js.map +1 -1
  492. package/dist/dso-toolkit/dso-annotation-kaart.entry.esm.js.map +1 -1
  493. package/dist/dso-toolkit/dso-annotation-locatie.dso-document-component.entry.esm.js.map +1 -1
  494. package/dist/dso-toolkit/dso-annotation-omgevingsnormwaarde.entry.esm.js.map +1 -1
  495. package/dist/dso-toolkit/dso-attachments-counter.dso-expandable.entry.esm.js.map +1 -1
  496. package/dist/dso-toolkit/dso-banner.entry.esm.js.map +1 -1
  497. package/dist/dso-toolkit/dso-card.entry.esm.js.map +1 -1
  498. package/dist/dso-toolkit/dso-contact-information.entry.esm.js.map +1 -1
  499. package/dist/dso-toolkit/dso-date-picker-legacy.entry.esm.js.map +1 -1
  500. package/dist/dso-toolkit/dso-date-picker.entry.esm.js.map +1 -1
  501. package/dist/dso-toolkit/dso-document-card.entry.esm.js.map +1 -1
  502. package/dist/dso-toolkit/dso-header.entry.esm.js.map +1 -1
  503. package/dist/dso-toolkit/dso-highlight-box.entry.esm.js.map +1 -1
  504. package/dist/dso-toolkit/dso-icon.entry.esm.js.map +1 -1
  505. package/dist/dso-toolkit/dso-info-button.entry.esm.js.map +1 -1
  506. package/dist/dso-toolkit/dso-info.dso-selectable.entry.esm.js.map +1 -1
  507. package/dist/dso-toolkit/dso-input-range.entry.esm.js.map +1 -1
  508. package/dist/dso-toolkit/dso-label.dso-renvooi.dso-slide-toggle.entry.esm.js.map +1 -1
  509. package/dist/dso-toolkit/dso-legend-item.entry.esm.js.map +1 -1
  510. package/dist/dso-toolkit/dso-list-button.entry.esm.js.map +1 -1
  511. package/dist/dso-toolkit/dso-map-base-layers.entry.esm.js.map +1 -1
  512. package/dist/dso-toolkit/dso-map-controls.entry.esm.js.map +1 -1
  513. package/dist/dso-toolkit/dso-map-overlays.entry.esm.js.map +1 -1
  514. package/dist/dso-toolkit/dso-mark-bar.entry.esm.js.map +1 -1
  515. package/dist/dso-toolkit/dso-modal.entry.esm.js.map +1 -1
  516. package/dist/dso-toolkit/dso-onboarding-tip.entry.esm.js.map +1 -1
  517. package/dist/dso-toolkit/dso-pagination.entry.esm.js.map +1 -1
  518. package/dist/dso-toolkit/dso-plekinfo-card.entry.esm.js.map +1 -1
  519. package/dist/dso-toolkit/dso-progress-bar.entry.esm.js.map +1 -1
  520. package/dist/dso-toolkit/dso-progress-indicator.entry.esm.js.map +1 -1
  521. package/dist/dso-toolkit/dso-project-item.entry.esm.js.map +1 -1
  522. package/dist/dso-toolkit/dso-scrollable.entry.esm.js.map +1 -1
  523. package/dist/dso-toolkit/dso-skiplink.entry.esm.js.map +1 -1
  524. package/dist/dso-toolkit/dso-survey-rating.entry.esm.js.map +1 -1
  525. package/dist/dso-toolkit/dso-tab.entry.esm.js.map +1 -1
  526. package/dist/dso-toolkit/dso-tabs.entry.esm.js.map +1 -1
  527. package/dist/dso-toolkit/dso-toggletip.entry.esm.js.map +1 -1
  528. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  529. package/dist/dso-toolkit/dso-tooltip.entry.esm.js.map +1 -1
  530. package/dist/dso-toolkit/dso-tree-view.entry.esm.js.map +1 -1
  531. package/dist/dso-toolkit/dso-viewer-grid.entry.esm.js.map +1 -1
  532. package/dist/dso-toolkit/p-088d0493.entry.js +2 -0
  533. package/dist/dso-toolkit/{p-09ec6ce5.entry.js.map → p-088d0493.entry.js.map} +1 -1
  534. package/dist/dso-toolkit/p-090ab6fc.entry.js +2 -0
  535. package/dist/dso-toolkit/{p-b615471f.entry.js.map → p-090ab6fc.entry.js.map} +1 -1
  536. package/dist/dso-toolkit/p-0c2176c5.entry.js +2 -0
  537. package/dist/dso-toolkit/{p-469ca170.entry.js.map → p-0c2176c5.entry.js.map} +1 -1
  538. package/dist/dso-toolkit/p-0ce58811.entry.js +2 -0
  539. package/dist/dso-toolkit/{p-f1999525.entry.js.map → p-0ce58811.entry.js.map} +1 -1
  540. package/dist/dso-toolkit/p-10901139.entry.js +2 -0
  541. package/dist/dso-toolkit/{p-4160d2e0.entry.js.map → p-10901139.entry.js.map} +1 -1
  542. package/dist/dso-toolkit/p-11161e83.entry.js +2 -0
  543. package/dist/dso-toolkit/{p-0feea762.entry.js.map → p-11161e83.entry.js.map} +1 -1
  544. package/dist/dso-toolkit/p-11cd688b.entry.js +2 -0
  545. package/dist/dso-toolkit/{p-2b1c6af2.entry.js.map → p-11cd688b.entry.js.map} +1 -1
  546. package/dist/dso-toolkit/p-133c1677.entry.js +2 -0
  547. package/dist/dso-toolkit/{p-19af64f1.entry.js.map → p-133c1677.entry.js.map} +1 -1
  548. package/dist/dso-toolkit/p-21542d86.entry.js +2 -0
  549. package/dist/dso-toolkit/{p-94cea134.entry.js.map → p-21542d86.entry.js.map} +1 -1
  550. package/dist/dso-toolkit/p-2c460675.entry.js +2 -0
  551. package/dist/dso-toolkit/{p-8f4a2401.entry.js.map → p-2c460675.entry.js.map} +1 -1
  552. package/dist/dso-toolkit/p-2ff601f9.entry.js +2 -0
  553. package/dist/dso-toolkit/{p-a61470ad.entry.js.map → p-2ff601f9.entry.js.map} +1 -1
  554. package/dist/dso-toolkit/p-356f8d94.entry.js +2 -0
  555. package/dist/dso-toolkit/{p-db6b2bb9.entry.js.map → p-356f8d94.entry.js.map} +1 -1
  556. package/dist/dso-toolkit/p-3d414fae.entry.js +2 -0
  557. package/dist/dso-toolkit/{p-8897189c.entry.js.map → p-3d414fae.entry.js.map} +1 -1
  558. package/dist/dso-toolkit/p-3e736489.entry.js +2 -0
  559. package/dist/dso-toolkit/p-3e736489.entry.js.map +1 -0
  560. package/dist/dso-toolkit/p-4ac06008.entry.js +2 -0
  561. package/dist/dso-toolkit/{p-03fb6237.entry.js.map → p-4ac06008.entry.js.map} +1 -1
  562. package/dist/dso-toolkit/p-4d032ac3.entry.js +2 -0
  563. package/dist/dso-toolkit/{p-9abdf5aa.entry.js.map → p-4d032ac3.entry.js.map} +1 -1
  564. package/dist/dso-toolkit/p-517cbc20.entry.js +2 -0
  565. package/dist/dso-toolkit/{p-de3ed856.entry.js.map → p-517cbc20.entry.js.map} +1 -1
  566. package/dist/dso-toolkit/p-53ca5932.entry.js +2 -0
  567. package/dist/dso-toolkit/{p-aa5dc824.entry.js.map → p-53ca5932.entry.js.map} +1 -1
  568. package/dist/dso-toolkit/p-571f0f85.entry.js +2 -0
  569. package/dist/dso-toolkit/{p-322b7db4.entry.js.map → p-571f0f85.entry.js.map} +1 -1
  570. package/dist/dso-toolkit/p-5b9803a2.entry.js +2 -0
  571. package/dist/dso-toolkit/{p-c4fe6ee2.entry.js.map → p-5b9803a2.entry.js.map} +1 -1
  572. package/dist/dso-toolkit/p-5c8be619.entry.js +2 -0
  573. package/dist/dso-toolkit/{p-159be9e6.entry.js.map → p-5c8be619.entry.js.map} +1 -1
  574. package/dist/dso-toolkit/p-6d3d29ac.entry.js +2 -0
  575. package/dist/dso-toolkit/{p-6c1feb1f.entry.js.map → p-6d3d29ac.entry.js.map} +1 -1
  576. package/dist/dso-toolkit/p-74718de8.entry.js +2 -0
  577. package/dist/dso-toolkit/{p-d926863a.entry.js.map → p-74718de8.entry.js.map} +1 -1
  578. package/dist/dso-toolkit/p-75091e9b.entry.js +2 -0
  579. package/dist/dso-toolkit/{p-f9b41ef6.entry.js.map → p-75091e9b.entry.js.map} +1 -1
  580. package/dist/dso-toolkit/p-789aee43.entry.js +2 -0
  581. package/dist/dso-toolkit/{p-7a3c51ad.entry.js.map → p-789aee43.entry.js.map} +1 -1
  582. package/dist/dso-toolkit/p-7e09098c.entry.js +2 -0
  583. package/dist/dso-toolkit/p-7e09098c.entry.js.map +1 -0
  584. package/dist/dso-toolkit/p-858970da.entry.js +2 -0
  585. package/dist/dso-toolkit/{p-90ead8a5.entry.js.map → p-858970da.entry.js.map} +1 -1
  586. package/dist/dso-toolkit/p-8ec31264.entry.js +2 -0
  587. package/dist/dso-toolkit/{p-909118a3.entry.js.map → p-8ec31264.entry.js.map} +1 -1
  588. package/dist/dso-toolkit/p-92f93d4d.entry.js +2 -0
  589. package/dist/dso-toolkit/{p-2510276b.entry.js.map → p-92f93d4d.entry.js.map} +1 -1
  590. package/dist/dso-toolkit/p-95c85ef7.entry.js +2 -0
  591. package/dist/dso-toolkit/{p-e85e3e06.entry.js.map → p-95c85ef7.entry.js.map} +1 -1
  592. package/dist/dso-toolkit/p-97320fda.entry.js +2 -0
  593. package/dist/dso-toolkit/{p-5c7331de.entry.js.map → p-97320fda.entry.js.map} +1 -1
  594. package/dist/dso-toolkit/p-98772f24.entry.js +2 -0
  595. package/dist/dso-toolkit/{p-c3ed6804.entry.js.map → p-98772f24.entry.js.map} +1 -1
  596. package/dist/dso-toolkit/p-99b4b85a.entry.js +2 -0
  597. package/dist/dso-toolkit/{p-0764520c.entry.js.map → p-99b4b85a.entry.js.map} +1 -1
  598. package/dist/dso-toolkit/p-a10cea33.entry.js +2 -0
  599. package/dist/dso-toolkit/{p-dc33f3aa.entry.js.map → p-a10cea33.entry.js.map} +1 -1
  600. package/dist/dso-toolkit/{p-73f027ff.entry.js → p-afc5e401.entry.js} +2 -2
  601. package/dist/dso-toolkit/{p-73f027ff.entry.js.map → p-afc5e401.entry.js.map} +1 -1
  602. package/dist/dso-toolkit/p-b9b0c72d.entry.js +2 -0
  603. package/dist/dso-toolkit/{p-400fede0.entry.js.map → p-b9b0c72d.entry.js.map} +1 -1
  604. package/dist/dso-toolkit/{p-3888525c.entry.js → p-bbcffc90.entry.js} +2 -2
  605. package/dist/dso-toolkit/{p-3888525c.entry.js.map → p-bbcffc90.entry.js.map} +1 -1
  606. package/dist/dso-toolkit/p-bcfeeafb.entry.js +2 -0
  607. package/dist/dso-toolkit/{p-514665a1.entry.js.map → p-bcfeeafb.entry.js.map} +1 -1
  608. package/dist/dso-toolkit/p-bfaa3608.entry.js +2 -0
  609. package/dist/dso-toolkit/{p-fa850439.entry.js.map → p-bfaa3608.entry.js.map} +1 -1
  610. package/dist/dso-toolkit/p-c93fae9e.entry.js +2 -0
  611. package/dist/dso-toolkit/{p-15c901ff.entry.js.map → p-c93fae9e.entry.js.map} +1 -1
  612. package/dist/dso-toolkit/p-e04ebc7e.entry.js +2 -0
  613. package/dist/dso-toolkit/{p-1b3db27c.entry.js.map → p-e04ebc7e.entry.js.map} +1 -1
  614. package/dist/dso-toolkit/p-e0bc1853.entry.js +2 -0
  615. package/dist/dso-toolkit/{p-edda55f0.entry.js.map → p-e0bc1853.entry.js.map} +1 -1
  616. package/dist/dso-toolkit/{p-eafec507.entry.js → p-e3883983.entry.js} +2 -2
  617. package/dist/dso-toolkit/p-e7ba6656.entry.js +2 -0
  618. package/dist/dso-toolkit/{p-6f89da1c.entry.js.map → p-e7ba6656.entry.js.map} +1 -1
  619. package/dist/dso-toolkit/p-e9ea10ed.entry.js +2 -0
  620. package/dist/dso-toolkit/{p-2dc3dc9a.entry.js.map → p-e9ea10ed.entry.js.map} +1 -1
  621. package/dist/dso-toolkit/p-e9f5382c.entry.js +2 -0
  622. package/dist/dso-toolkit/{p-b6f5ca5e.entry.js.map → p-e9f5382c.entry.js.map} +1 -1
  623. package/dist/dso-toolkit/p-f1f414b6.entry.js +2 -0
  624. package/dist/dso-toolkit/p-feae6843.entry.js +2 -0
  625. package/dist/dso-toolkit/{p-35e1d8a4.entry.js.map → p-feae6843.entry.js.map} +1 -1
  626. package/dist/dso-toolkit/p-ffa6ca48.entry.js +2 -0
  627. package/dist/dso-toolkit/{p-9a30700a.entry.js.map → p-ffa6ca48.entry.js.map} +1 -1
  628. package/dist/esm/dso-accordion-section.entry.js +1 -1
  629. package/dist/esm/dso-accordion-section.entry.js.map +1 -1
  630. package/dist/esm/dso-accordion.entry.js +1 -1
  631. package/dist/esm/dso-accordion.entry.js.map +1 -1
  632. package/dist/esm/dso-action-list-item.entry.js +1 -1
  633. package/dist/esm/dso-action-list-item.entry.js.map +1 -1
  634. package/dist/esm/dso-action-list.entry.js +1 -1
  635. package/dist/esm/dso-action-list.entry.js.map +1 -1
  636. package/dist/esm/dso-advanced-select.entry.js +1 -1
  637. package/dist/esm/dso-advanced-select.entry.js.map +1 -1
  638. package/dist/esm/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.js.map +1 -1
  639. package/dist/esm/dso-alert_6.entry.js +8 -8
  640. package/dist/esm/dso-alert_6.entry.js.map +1 -1
  641. package/dist/esm/dso-annotation-activiteit.entry.js +1 -1
  642. package/dist/esm/dso-annotation-activiteit.entry.js.map +1 -1
  643. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js +1 -1
  644. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js.map +1 -1
  645. package/dist/esm/dso-annotation-kaart.entry.js +1 -1
  646. package/dist/esm/dso-annotation-kaart.entry.js.map +1 -1
  647. package/dist/esm/dso-annotation-locatie.dso-document-component.entry.js.map +1 -1
  648. package/dist/esm/dso-annotation-locatie_2.entry.js +2 -2
  649. package/dist/esm/dso-annotation-locatie_2.entry.js.map +1 -1
  650. package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js +1 -1
  651. package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js.map +1 -1
  652. package/dist/esm/dso-attachments-counter.dso-expandable.entry.js.map +1 -1
  653. package/dist/esm/dso-attachments-counter_2.entry.js +2 -2
  654. package/dist/esm/dso-attachments-counter_2.entry.js.map +1 -1
  655. package/dist/esm/dso-banner.entry.js +1 -1
  656. package/dist/esm/dso-banner.entry.js.map +1 -1
  657. package/dist/esm/dso-card.entry.js +1 -1
  658. package/dist/esm/dso-card.entry.js.map +1 -1
  659. package/dist/esm/dso-contact-information.entry.js +1 -1
  660. package/dist/esm/dso-contact-information.entry.js.map +1 -1
  661. package/dist/esm/dso-date-picker-legacy.entry.js +1 -1
  662. package/dist/esm/dso-date-picker-legacy.entry.js.map +1 -1
  663. package/dist/esm/dso-date-picker.entry.js +1 -1
  664. package/dist/esm/dso-date-picker.entry.js.map +1 -1
  665. package/dist/esm/dso-document-card.entry.js +1 -1
  666. package/dist/esm/dso-document-card.entry.js.map +1 -1
  667. package/dist/esm/dso-header.entry.js +1 -1
  668. package/dist/esm/dso-header.entry.js.map +1 -1
  669. package/dist/esm/dso-highlight-box.entry.js +1 -1
  670. package/dist/esm/dso-highlight-box.entry.js.map +1 -1
  671. package/dist/esm/dso-icon.entry.js +1 -1
  672. package/dist/esm/dso-icon.entry.js.map +1 -1
  673. package/dist/esm/dso-info-button.entry.js +1 -1
  674. package/dist/esm/dso-info-button.entry.js.map +1 -1
  675. package/dist/esm/dso-info.dso-selectable.entry.js.map +1 -1
  676. package/dist/esm/dso-info_2.entry.js +3 -3
  677. package/dist/esm/dso-info_2.entry.js.map +1 -1
  678. package/dist/esm/dso-input-range.entry.js +1 -1
  679. package/dist/esm/dso-input-range.entry.js.map +1 -1
  680. package/dist/esm/dso-label.dso-renvooi.dso-slide-toggle.entry.js.map +1 -1
  681. package/dist/esm/dso-label_3.entry.js +4 -4
  682. package/dist/esm/dso-label_3.entry.js.map +1 -1
  683. package/dist/esm/dso-legend-item.entry.js +3 -10
  684. package/dist/esm/dso-legend-item.entry.js.map +1 -1
  685. package/dist/esm/dso-list-button.entry.js +2 -2
  686. package/dist/esm/dso-list-button.entry.js.map +1 -1
  687. package/dist/esm/dso-logo.entry.js +1 -1
  688. package/dist/esm/dso-map-base-layers.entry.js +2 -2
  689. package/dist/esm/dso-map-base-layers.entry.js.map +1 -1
  690. package/dist/esm/dso-map-controls.entry.js +2 -2
  691. package/dist/esm/dso-map-controls.entry.js.map +1 -1
  692. package/dist/esm/dso-map-overlays.entry.js +2 -2
  693. package/dist/esm/dso-map-overlays.entry.js.map +1 -1
  694. package/dist/esm/dso-mark-bar.entry.js +2 -2
  695. package/dist/esm/dso-mark-bar.entry.js.map +1 -1
  696. package/dist/esm/dso-modal.entry.js +2 -2
  697. package/dist/esm/dso-modal.entry.js.map +1 -1
  698. package/dist/esm/dso-onboarding-tip.entry.js +2 -2
  699. package/dist/esm/dso-onboarding-tip.entry.js.map +1 -1
  700. package/dist/esm/dso-pagination.entry.js +1 -1
  701. package/dist/esm/dso-pagination.entry.js.map +1 -1
  702. package/dist/esm/dso-plekinfo-card.entry.js +2 -2
  703. package/dist/esm/dso-plekinfo-card.entry.js.map +1 -1
  704. package/dist/esm/dso-progress-bar.entry.js +2 -2
  705. package/dist/esm/dso-progress-bar.entry.js.map +1 -1
  706. package/dist/esm/dso-progress-indicator.entry.js +2 -2
  707. package/dist/esm/dso-progress-indicator.entry.js.map +1 -1
  708. package/dist/esm/dso-project-item.entry.js +2 -2
  709. package/dist/esm/dso-project-item.entry.js.map +1 -1
  710. package/dist/esm/dso-responsive-element.entry.js +1 -1
  711. package/dist/esm/dso-scrollable.entry.js +3 -3
  712. package/dist/esm/dso-scrollable.entry.js.map +1 -1
  713. package/dist/esm/dso-skiplink.entry.js +2 -2
  714. package/dist/esm/dso-skiplink.entry.js.map +1 -1
  715. package/dist/esm/dso-survey-rating.entry.js +3 -3
  716. package/dist/esm/dso-survey-rating.entry.js.map +1 -1
  717. package/dist/esm/dso-tab.entry.js +1 -1
  718. package/dist/esm/dso-tab.entry.js.map +1 -1
  719. package/dist/esm/dso-tabs.entry.js +2 -2
  720. package/dist/esm/dso-tabs.entry.js.map +1 -1
  721. package/dist/esm/dso-toggletip.entry.js +2 -2
  722. package/dist/esm/dso-toggletip.entry.js.map +1 -1
  723. package/dist/esm/dso-toolkit.js +1 -1
  724. package/dist/esm/dso-tooltip.entry.js +2 -2
  725. package/dist/esm/dso-tooltip.entry.js.map +1 -1
  726. package/dist/esm/dso-tree-view.entry.js +2 -2
  727. package/dist/esm/dso-tree-view.entry.js.map +1 -1
  728. package/dist/esm/dso-viewer-grid.entry.js +2 -2
  729. package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
  730. package/dist/esm/loader.js +1 -1
  731. package/dist/types/components/legend-item/legend-item.d.ts +7 -8
  732. package/dist/types/components/legend-item/legend-item.interfaces.d.ts +10 -2
  733. package/dist/types/components.d.ts +15 -15
  734. package/package.json +3 -3
  735. package/dist/bundle/p-BJv2m9ZZ.js +0 -253
  736. package/dist/bundle/p-BtcZ9oZ6.js +0 -115
  737. package/dist/bundle/p-C1tscMvU.js +0 -43
  738. package/dist/bundle/p-CkBk3gL8.js +0 -80
  739. package/dist/bundle/p-Cng7insW.js +0 -145
  740. package/dist/bundle/p-CvGnEQcm.js.map +0 -1
  741. package/dist/bundle/p-CwXjPr2h.js +0 -36
  742. package/dist/bundle/p-D9Yjz_Sm.js +0 -125
  743. package/dist/bundle/p-DvqO1i1s.js +0 -1162
  744. package/dist/bundle/p-xNnEBBZG.js +0 -63
  745. package/dist/dso-toolkit/p-03fb6237.entry.js +0 -2
  746. package/dist/dso-toolkit/p-0764520c.entry.js +0 -2
  747. package/dist/dso-toolkit/p-09ec6ce5.entry.js +0 -2
  748. package/dist/dso-toolkit/p-0feea762.entry.js +0 -2
  749. package/dist/dso-toolkit/p-159be9e6.entry.js +0 -2
  750. package/dist/dso-toolkit/p-15c901ff.entry.js +0 -2
  751. package/dist/dso-toolkit/p-19af64f1.entry.js +0 -2
  752. package/dist/dso-toolkit/p-1b3db27c.entry.js +0 -2
  753. package/dist/dso-toolkit/p-2510276b.entry.js +0 -2
  754. package/dist/dso-toolkit/p-2b1c6af2.entry.js +0 -2
  755. package/dist/dso-toolkit/p-2dc3dc9a.entry.js +0 -2
  756. package/dist/dso-toolkit/p-322b7db4.entry.js +0 -2
  757. package/dist/dso-toolkit/p-35e1d8a4.entry.js +0 -2
  758. package/dist/dso-toolkit/p-3c74fd03.entry.js +0 -2
  759. package/dist/dso-toolkit/p-3c74fd03.entry.js.map +0 -1
  760. package/dist/dso-toolkit/p-400fede0.entry.js +0 -2
  761. package/dist/dso-toolkit/p-4160d2e0.entry.js +0 -2
  762. package/dist/dso-toolkit/p-469ca170.entry.js +0 -2
  763. package/dist/dso-toolkit/p-514665a1.entry.js +0 -2
  764. package/dist/dso-toolkit/p-5c7331de.entry.js +0 -2
  765. package/dist/dso-toolkit/p-6c1feb1f.entry.js +0 -2
  766. package/dist/dso-toolkit/p-6f89da1c.entry.js +0 -2
  767. package/dist/dso-toolkit/p-7a3c51ad.entry.js +0 -2
  768. package/dist/dso-toolkit/p-8897189c.entry.js +0 -2
  769. package/dist/dso-toolkit/p-8f4a2401.entry.js +0 -2
  770. package/dist/dso-toolkit/p-909118a3.entry.js +0 -2
  771. package/dist/dso-toolkit/p-90ead8a5.entry.js +0 -2
  772. package/dist/dso-toolkit/p-94cea134.entry.js +0 -2
  773. package/dist/dso-toolkit/p-9a30700a.entry.js +0 -2
  774. package/dist/dso-toolkit/p-9abdf5aa.entry.js +0 -2
  775. package/dist/dso-toolkit/p-a61470ad.entry.js +0 -2
  776. package/dist/dso-toolkit/p-aa5dc824.entry.js +0 -2
  777. package/dist/dso-toolkit/p-b615471f.entry.js +0 -2
  778. package/dist/dso-toolkit/p-b6f5ca5e.entry.js +0 -2
  779. package/dist/dso-toolkit/p-bd717c9b.entry.js +0 -2
  780. package/dist/dso-toolkit/p-c3ed6804.entry.js +0 -2
  781. package/dist/dso-toolkit/p-c4fe6ee2.entry.js +0 -2
  782. package/dist/dso-toolkit/p-d4db08c7.entry.js +0 -2
  783. package/dist/dso-toolkit/p-d4db08c7.entry.js.map +0 -1
  784. package/dist/dso-toolkit/p-d926863a.entry.js +0 -2
  785. package/dist/dso-toolkit/p-db6b2bb9.entry.js +0 -2
  786. package/dist/dso-toolkit/p-dc33f3aa.entry.js +0 -2
  787. package/dist/dso-toolkit/p-de3ed856.entry.js +0 -2
  788. package/dist/dso-toolkit/p-e85e3e06.entry.js +0 -2
  789. package/dist/dso-toolkit/p-edda55f0.entry.js +0 -2
  790. package/dist/dso-toolkit/p-f1999525.entry.js +0 -2
  791. package/dist/dso-toolkit/p-f9b41ef6.entry.js +0 -2
  792. package/dist/dso-toolkit/p-fa850439.entry.js +0 -2
  793. /package/dist/dso-toolkit/{p-eafec507.entry.js.map → p-e3883983.entry.js.map} +0 -0
  794. /package/dist/dso-toolkit/{p-bd717c9b.entry.js.map → p-f1f414b6.entry.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{h as n,r as e,c as o,F as t,g as i}from"./p-C-b4jsbt.js";import{c as s}from"./p-ChV9xqsO.js";import{d as a}from"./p-DDU8nTJS.js";import"./p-BFTU3MAI.js";const r=["search","map","document"];const l={map:"Kaart",document:"Document",search:"Zoeken"};const d={small:"smal",medium:"middel",large:"breed"};const c=({className:e,onClick:o,label:t,icon:i})=>n("button",{type:"button",class:e,onClick:o},n("span",{class:"sr-only"},t),n("dso-icon",{icon:i}));const p=({shrink:e,expand:o,size:t,panelLabel:i,placement:s})=>{const a=[];if(t!=="small"){a.push(n(c,{onClick:e,label:`${i} smaller maken`,icon:s==="right"?"chevron-right":"chevron-left",className:"shrink"}))}if(t!=="large"){a.push(n(c,{onClick:o,label:`${i} breder maken`,icon:s==="right"?"chevron-left":"chevron-right",className:"expand"}))}return n("div",{class:"sizing-buttons"},n("span",{class:"sr-only","aria-live":"polite","aria-atomic":"true"},"Breedte ",i.toLocaleLowerCase(),": ",d[t]),a)};const b=({tabView:e,panelSize:o,shrinkDocumentPanel:t,expandDocumentPanel:i,dsoDocumentPanelSizeChangeAnimationEnd:s})=>n("div",{class:"dso-document-panel",onTransitionEnd:n=>{if(n.propertyName==="flex-basis"){s.emit({currentSize:o})}}},!e&&n(p,{panelLabel:"Documentpaneel",size:o,expand:i,shrink:t,placement:"right"}),n("div",{class:"content"},n("slot",{name:"document-panel"})));const g=({title:e,ref:o,dsoCloseFilterPanel:t})=>n("dialog",{class:"filter-panel",ref:o},e&&n("h3",null,e),n("button",{type:"button",class:"dso-close",onClick:t},n("dso-icon",{icon:"times"}),n("span",{class:"sr-only"},"Sluiten")),n("slot",{name:"filter-panel"}));const u=({tabView:e,mainSize:o,documentPanelOpen:t,mainPanelExpanded:i,mainPanelHidden:a,toggleMainPanel:r,dsoMainSizeChangeAnimationEnd:l})=>n("div",{class:s("dso-main-panel",{compact:!e&&t&&!i,contracted:!e&&!t&&!i,expanded:!e&&t&&i,collapsed:a}),onTransitionEnd:n=>{if(n.propertyName==="flex-basis"){l.emit({currentSize:o})}}},!e&&t&&n("div",{class:"toggle-button"},n("button",{type:"button",onClick:r},n("span",{class:"sr-only"},"Zoeken paneel ",a?"tonen":"verbergen"),n("dso-icon",{icon:a?"chevron-right":"chevron-left"}))),n("div",{class:s("content",{invisible:a})},n("slot",{name:"main"})));const h=({ref:e,dsoCloseOverlay:o})=>n("dialog",{class:"overlay",ref:e,onCancel:n=>{n.preventDefault();o(n)}},n("button",{type:"button",class:"overlay-close-button",onClick:o},n("dso-icon",{icon:"times"}),n("span",{class:"sr-only"},"sluiten")),n("slot",{name:"overlay"}));const m="@charset \"UTF-8\";\n/* Genereert een `transition` met vaste easing en optionele duur en delay per property.\n**\n** @param {ArgList} $transitions...\n** - \"property\": gebruikt standaard duur (260ms) en delay (0ms)\n** - (\"property\", duur): eigen duur, geen delay\n** - (\"property\", duur, delay): eigen duur én delay\n**\n** @example\n** @include transition(opacity, (\"transform\", 300ms), (\"color\", 500ms, 200ms));\n**\n** @output\n** transition: [property] [duration] cubic-bezier(0.4, 0, 0.2, 1) [delay];\n**\n*/\n*,\n*::after,\n*::before {\n box-sizing: border-box;\n}\n\n:host .overlay {\n block-size: calc(100% - 32px);\n margin-block: 16px;\n margin-inline: auto 16px;\n}\n:host .dso-main-panel {\n transition: min-inline-size 200ms ease-in, margin-inline-start 200ms ease-in;\n}\n\nbutton {\n -webkit-appearance: button;\n color: inherit;\n cursor: pointer;\n font: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n}\nbutton[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n.sr-only {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n.shrink,\n.expand,\n.overlay-close-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-block-end: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: start;\n user-select: none;\n vertical-align: middle;\n}\n.shrink:focus, .shrink:focus-visible,\n.expand:focus,\n.expand:focus-visible,\n.overlay-close-button:focus,\n.overlay-close-button:focus-visible {\n outline-offset: 2px;\n}\n.shrink:active,\n.expand:active,\n.overlay-close-button:active {\n outline: 0;\n}\n.shrink,\n.expand,\n.overlay-close-button {\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n}\n.shrink[disabled],\n.expand[disabled],\n.overlay-close-button[disabled] {\n color: #afcf9d;\n}\n.shrink[disabled].dso-spinner-left, .shrink[disabled].dso-spinner-right,\n.expand[disabled].dso-spinner-left,\n.expand[disabled].dso-spinner-right,\n.overlay-close-button[disabled].dso-spinner-left,\n.overlay-close-button[disabled].dso-spinner-right {\n color: #39870c;\n}\n.shrink:not([disabled]):hover,\n.expand:not([disabled]):hover,\n.overlay-close-button:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\n.shrink:not([disabled]):active,\n.expand:not([disabled]):active,\n.overlay-close-button:not([disabled]):active {\n color: #173521;\n}\n.shrink.dso-align,\n.expand.dso-align,\n.overlay-close-button.dso-align {\n line-height: calc(1.5em - 1px);\n padding-block: 11px;\n padding-inline: 0;\n position: relative;\n}\n.shrink.dso-truncate,\n.expand.dso-truncate,\n.overlay-close-button.dso-truncate {\n max-inline-size: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.shrink.dso-spinner-left::before,\n.expand.dso-spinner-left::before,\n.overlay-close-button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: middle;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\n.shrink.dso-spinner-right::after,\n.expand.dso-spinner-right::after,\n.overlay-close-button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: middle;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\n.shrink dso-icon + span:not(.sr-only),\n.shrink svg.di + span:not(.sr-only),\n.shrink span:not(.sr-only) + dso-icon,\n.shrink span:not(.sr-only) + svg.di,\n.expand dso-icon + span:not(.sr-only),\n.expand svg.di + span:not(.sr-only),\n.expand span:not(.sr-only) + dso-icon,\n.expand span:not(.sr-only) + svg.di,\n.overlay-close-button dso-icon + span:not(.sr-only),\n.overlay-close-button svg.di + span:not(.sr-only),\n.overlay-close-button span:not(.sr-only) + dso-icon,\n.overlay-close-button span:not(.sr-only) + svg.di {\n margin-inline-start: 8px;\n}\n.shrink svg.di.di-chevron-down + span:not(.sr-only),\n.shrink svg.di.di-chevron-up + span:not(.sr-only),\n.shrink span:not(.sr-only) + svg.di.di-chevron-down,\n.shrink span:not(.sr-only) + svg.di.di-chevron-up,\n.expand svg.di.di-chevron-down + span:not(.sr-only),\n.expand svg.di.di-chevron-up + span:not(.sr-only),\n.expand span:not(.sr-only) + svg.di.di-chevron-down,\n.expand span:not(.sr-only) + svg.di.di-chevron-up,\n.overlay-close-button svg.di.di-chevron-down + span:not(.sr-only),\n.overlay-close-button svg.di.di-chevron-up + span:not(.sr-only),\n.overlay-close-button span:not(.sr-only) + svg.di.di-chevron-down,\n.overlay-close-button span:not(.sr-only) + svg.di.di-chevron-up {\n margin-inline-start: 4px;\n}\n.shrink dso-icon[icon=chevron-left] + span:not(.sr-only),\n.shrink dso-icon[icon=chevron-right] + span:not(.sr-only),\n.shrink svg.di.di-angle-down + span:not(.sr-only),\n.shrink svg.di.di-angle-up + span:not(.sr-only),\n.shrink span:not(.sr-only) + svg.di.di-angle-down,\n.shrink span:not(.sr-only) + svg.di.di-angle-up,\n.shrink span:not(.sr-only) + dso-icon[icon=chevron-left],\n.shrink span:not(.sr-only) + dso-icon[icon=chevron-right],\n.expand dso-icon[icon=chevron-left] + span:not(.sr-only),\n.expand dso-icon[icon=chevron-right] + span:not(.sr-only),\n.expand svg.di.di-angle-down + span:not(.sr-only),\n.expand svg.di.di-angle-up + span:not(.sr-only),\n.expand span:not(.sr-only) + svg.di.di-angle-down,\n.expand span:not(.sr-only) + svg.di.di-angle-up,\n.expand span:not(.sr-only) + dso-icon[icon=chevron-left],\n.expand span:not(.sr-only) + dso-icon[icon=chevron-right],\n.overlay-close-button dso-icon[icon=chevron-left] + span:not(.sr-only),\n.overlay-close-button dso-icon[icon=chevron-right] + span:not(.sr-only),\n.overlay-close-button svg.di.di-angle-down + span:not(.sr-only),\n.overlay-close-button svg.di.di-angle-up + span:not(.sr-only),\n.overlay-close-button span:not(.sr-only) + svg.di.di-angle-down,\n.overlay-close-button span:not(.sr-only) + svg.di.di-angle-up,\n.overlay-close-button span:not(.sr-only) + dso-icon[icon=chevron-left],\n.overlay-close-button span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-inline-start: 0;\n}\n.shrink dso-icon,\n.shrink svg.di,\n.shrink span,\n.expand dso-icon,\n.expand svg.di,\n.expand span,\n.overlay-close-button dso-icon,\n.overlay-close-button svg.di,\n.overlay-close-button span {\n vertical-align: middle;\n}\n.shrink:hover,\n.expand:hover,\n.overlay-close-button:hover {\n cursor: pointer;\n}\n\n.overlay-close-button {\n position: absolute;\n inset-block-start: 8px;\n inset-inline-end: 16px;\n}\n\n.content.invisible {\n visibility: hidden;\n}\n\n.viewer-grid-columns {\n position: relative;\n}\n\n.dso-main-panel .content,\n.dso-document-panel .content {\n block-size: 100%;\n padding-block: 0;\n padding-inline: 16px;\n}\n\n.dso-main-panel {\n background-color: #fff;\n flex-shrink: 0;\n flex-grow: 0;\n position: relative;\n transition: flex-basis 200ms ease-in, max-inline-size 200ms ease-in, min-inline-size 200ms ease-in;\n z-index: 100;\n}\n.dso-main-panel.compact.collapsed, .dso-main-panel.expanded.collapsed {\n inset-inline-start: -432px;\n}\n.dso-main-panel.compact, .dso-main-panel.contracted {\n flex-shrink: unset;\n flex-grow: unset;\n position: absolute;\n transition: none;\n}\n.dso-main-panel.expanded.collapsed {\n position: absolute;\n block-size: 100%;\n}\n.dso-main-panel .sizing-buttons,\n.dso-main-panel .toggle-button {\n inset-inline-start: calc(100% + 1px);\n transition: inset-inline-start 200ms ease-in;\n padding-block: 0 8px;\n padding-inline: 0 4px;\n}\n.dso-main-panel .sizing-buttons button,\n.dso-main-panel .toggle-button button {\n border-end-end-radius: 4px;\n border-start-end-radius: 4px;\n}\n\n.dso-document-panel {\n background-color: #fff;\n flex-shrink: 0;\n flex-grow: 0;\n position: relative;\n transition: flex-basis 200ms ease-in, max-inline-size 200ms ease-in, min-inline-size 200ms ease-in;\n z-index: 100;\n}\n.dso-document-panel .sizing-buttons {\n inset-block-start: auto;\n inset-block-end: 16px;\n inset-inline-end: calc(100% + 1px);\n transition: inset-inline-end 200ms ease-in;\n padding-block: 0 8px;\n padding-inline: 4px 0;\n}\n.dso-document-panel .sizing-buttons button {\n border-end-start-radius: 4px;\n border-start-start-radius: 4px;\n}\n\n.sizing-buttons,\n.toggle-button {\n overflow-x: hidden;\n position: absolute;\n inset-block-start: 16px;\n inline-size: 44px;\n z-index: -1;\n}\n.sizing-buttons button,\n.toggle-button button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-block-end: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: start;\n user-select: none;\n vertical-align: middle;\n}\n.sizing-buttons button:focus, .sizing-buttons button:focus-visible,\n.toggle-button button:focus,\n.toggle-button button:focus-visible {\n outline-offset: 2px;\n}\n.sizing-buttons button:active,\n.toggle-button button:active {\n outline: 0;\n}\n.sizing-buttons button,\n.toggle-button button {\n background-color: var(--_dso-button-secondary-background-color, #fff);\n border-color: var(--_dso-button-secondary-border-color, #39870c);\n color: var(--_dso-button-secondary-color, #39870c);\n}\n.sizing-buttons button,\n.toggle-button button {\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-inline-size: 56px;\n padding-block: 11px;\n padding-inline: 15px;\n}\n.sizing-buttons button:hover,\n.toggle-button button:hover {\n background-color: var(--_dso-button-secondary-hover-background-color, #d7e7ce);\n border-color: var(--_dso-button-secondary-hover-border-color, #39870c);\n color: var(--_dso-button-secondary-hover-color, #39870c);\n}\n.sizing-buttons button:active,\n.toggle-button button:active {\n background-color: var(--_dso-button-secondary-active-background-color, #39870c);\n border-color: var(--_dso-button-secondary-active-border-color, #39870c);\n color: var(--_dso-button-secondary-active-color, #fff);\n}\n.sizing-buttons button[disabled], .sizing-buttons button[disabled]:hover,\n.toggle-button button[disabled],\n.toggle-button button[disabled]:hover {\n background-color: var(--_dso-button-secondary-disabled-background-color, #fff);\n border-color: var(--_dso-button-secondary-disabled-border-color, #afcf9d);\n color: var(--_dso-button-secondary-disabled-color, #afcf9d);\n}\n.sizing-buttons button.dso-small,\n.toggle-button button.dso-small {\n line-height: 1rem;\n}\n.sizing-buttons button.dso-small dso-icon,\n.sizing-buttons button.dso-small svg.di, .sizing-buttons button.dso-small.extern::after, .sizing-buttons button.dso-small.download::after, .sizing-buttons button.dso-small.dso-spinner::before,\n.toggle-button button.dso-small dso-icon,\n.toggle-button button.dso-small svg.di,\n.toggle-button button.dso-small.extern::after,\n.toggle-button button.dso-small.download::after,\n.toggle-button button.dso-small.dso-spinner::before {\n margin-block-end: -4px;\n margin-block-start: -4px;\n}\n.sizing-buttons button.dso-small.dso-spinner-left::before,\n.toggle-button button.dso-small.dso-spinner-left::before {\n block-size: 16px;\n inline-size: 16px;\n}\n.sizing-buttons button.dso-small.dso-spinner-right::after,\n.toggle-button button.dso-small.dso-spinner-right::after {\n block-size: 16px;\n inline-size: 16px;\n}\n.sizing-buttons button > span,\n.toggle-button button > span {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sizing-buttons button.dso-spinner-left[disabled], .sizing-buttons button.dso-spinner-right[disabled],\n.toggle-button button.dso-spinner-left[disabled],\n.toggle-button button.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.sizing-buttons button.dso-spinner-left::before,\n.toggle-button button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\n.sizing-buttons button.dso-spinner-left:not([disabled]):hover::before,\n.toggle-button button.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\n.sizing-buttons button.dso-spinner-left:not([disabled]).dso-small:hover::before,\n.toggle-button button.dso-spinner-left:not([disabled]).dso-small:hover::before {\n block-size: 16px;\n inline-size: 16px;\n}\n.sizing-buttons button.dso-spinner-right::after,\n.toggle-button button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\n.sizing-buttons button.dso-spinner-right:not([disabled]):hover::after,\n.toggle-button button.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\n.sizing-buttons button.dso-spinner-right:not([disabled]).dso-small:hover::after,\n.toggle-button button.dso-spinner-right:not([disabled]).dso-small:hover::after {\n block-size: 16px;\n inline-size: 16px;\n}\n.sizing-buttons button,\n.toggle-button button {\n border: 0;\n padding: 8px;\n border-radius: 0;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.4);\n flex: 0 0 100%;\n block-size: 40px;\n min-inline-size: auto;\n inline-size: 40px;\n}\n.sizing-buttons button:hover dso-icon,\n.toggle-button button:hover dso-icon {\n color: #fff;\n}\n.sizing-buttons button:focus-visible,\n.toggle-button button:focus-visible {\n outline-offset: -1px;\n}\n\n.map {\n block-size: 100%;\n inline-size: 100%;\n overflow: hidden;\n position: relative;\n}\n\n.filter-panel,\n.overlay {\n background-color: #fff;\n border: 0;\n block-size: 100%;\n margin-block: 0;\n max-block-size: 100vh;\n overflow-y: auto;\n z-index: 101;\n}\n\n.filter-panel {\n display: block;\n position: absolute;\n padding-block: 8px;\n padding-inline: 16px;\n inset-block-start: 0;\n block-size: 100%;\n inset-inline-start: -380px;\n inline-size: 100%;\n transition: inset-inline-start 200ms ease-in;\n}\n@media screen and (max-width: 768px) {\n .filter-panel {\n inline-size: 100vw;\n }\n .filter-panel::before {\n display: none !important;\n }\n}\n@media screen and (min-width: 992px) {\n .filter-panel {\n max-inline-size: 380px;\n }\n}\n.filter-panel[open] {\n inset-inline-start: 0;\n box-shadow: none;\n border-inline-end: 1px solid #e5e5e5;\n}\n.filter-panel h3 {\n color: #275937;\n}\n.filter-panel .dso-close {\n -webkit-appearance: button;\n color: inherit;\n cursor: pointer;\n font: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n position: absolute;\n inset-block-start: 16px;\n inset-inline-end: 16px;\n block-size: 32px;\n inline-size: 32px;\n padding: 0;\n background-color: transparent;\n border: 0;\n text-align: center;\n}\n.filter-panel .dso-close[disabled] {\n cursor: default;\n}\n.filter-panel .dso-close::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n.overlay {\n padding-block: 40px 8px;\n padding-inline: 16px;\n inset-inline-end: 0;\n inline-size: 624px;\n}\n.overlay::backdrop {\n background-color: rgba(0, 0, 0, 0.5);\n}\n@media screen and (max-width: 624px) {\n .overlay {\n inline-size: 100vw;\n }\n}\n\n@media screen and (min-width: 808px) {\n :host([main-size=small]) .dso-main-panel,\n :host([document-panel-size=small]) .dso-document-panel {\n flex-basis: 375px;\n min-inline-size: 0;\n max-inline-size: 375px;\n }\n}\n@media screen and (min-width: 808px) and (max-width: 375px) {\n :host([main-size=small]) .dso-main-panel,\n :host([document-panel-size=small]) .dso-document-panel {\n flex-basis: 100vw;\n max-inline-size: 100vw;\n min-inline-size: 0;\n transition: none;\n }\n}\n@media screen and (min-width: 808px) {\n :host([main-size=medium]) .dso-main-panel,\n :host([document-panel-size=medium]) .dso-document-panel {\n flex-basis: 624px;\n min-inline-size: 375px;\n max-inline-size: 624px;\n }\n}\n@media screen and (min-width: 808px) and (max-width: 624px) {\n :host([main-size=medium]) .dso-main-panel,\n :host([document-panel-size=medium]) .dso-document-panel {\n flex-basis: 100vw;\n max-inline-size: 100vw;\n min-inline-size: 375px;\n transition: none;\n }\n}\n@media screen and (min-width: 808px) {\n :host([main-size=large]) .dso-main-panel,\n :host([document-panel-size=large]) .dso-document-panel {\n flex-basis: 60%;\n min-inline-size: 768px;\n max-inline-size: 1024px;\n }\n}\n@media screen and (min-width: 808px) and (max-width: 768px) {\n :host([main-size=large]) .dso-main-panel,\n :host([document-panel-size=large]) .dso-document-panel {\n flex-basis: 100vw;\n max-inline-size: 100vw;\n min-inline-size: 768px;\n transition: none;\n }\n}\n@media screen and (min-width: 808px) {\n :host {\n display: flex;\n flex-direction: column;\n block-size: 100vh;\n overflow: clip;\n position: relative;\n }\n :host .dso-main-panel.compact,\n :host .dso-main-panel.expanded {\n flex-basis: unset;\n min-inline-size: unset;\n max-inline-size: unset;\n inline-size: 440px;\n }\n :host .viewer-grid-columns {\n display: flex;\n overflow: hidden;\n flex-grow: 1;\n }\n .dso-main-panel,\n .dso-document-panel {\n box-shadow: 2px 0 8px 0 rgba(0, 0, 0, 0.4);\n }\n .dso-main-panel .content,\n .dso-document-panel .content {\n overflow-y: auto;\n }\n .filter-panel {\n margin-inline: 0 auto;\n inline-size: calc(100vw - 40px);\n }\n .filter-panel[open] {\n border-inline-end: 1px solid #e5e5e5;\n }\n .overlay {\n box-shadow: -2px 0 5px #666;\n margin-inline: auto 0;\n }\n}\n@media screen and (min-width: 808px) and (max-width: 1031.99px) {\n :host([filter-panel-open]) .dso-main-panel {\n margin-inline-start: 380px;\n max-inline-size: calc(100vw - 380px);\n }\n .filter-panel {\n inline-size: 380px;\n inset-inline-start: -380px;\n }\n}\n@media screen and (max-width: 807.99px) {\n .dso-navbar {\n min-block-size: 32px;\n }\n .dso-navbar .dso-navbar-header {\n float: inline-start;\n }\n .dso-navbar .dso-navbar-toggle {\n border-radius: 4px;\n min-inline-size: auto;\n padding-block: 5px;\n padding-inline: 0;\n }\n .dso-navbar .dso-navbar-toggle dso-icon,\n .dso-navbar .dso-navbar-toggle svg.di {\n margin-inline-start: 8px;\n margin-inline-end: 8px;\n }\n}\n@media screen and (max-width: 807.99px) and (min-width: 992px) {\n .dso-navbar .dso-navbar-toggle {\n display: none;\n }\n}\n@media screen and (max-width: 807.99px) {\n .dso-navbar.dso-has-navbar-extension .dso-nav > li:last-child {\n margin-inline-end: 8rem;\n }\n .dso-nav {\n list-style: none;\n margin-block-end: 0;\n padding-inline-start: 0;\n }\n .dso-nav > li > button {\n border: 0;\n background-color: transparent;\n }\n .dso-nav > li > a,\n .dso-nav > li > button {\n display: block;\n }\n .dso-nav > li > a, .dso-nav > li > a:hover, .dso-nav > li > a:focus, .dso-nav > li > a:visited,\n .dso-nav > li > button,\n .dso-nav > li > button:hover,\n .dso-nav > li > button:focus,\n .dso-nav > li > button:visited {\n color: #275937;\n }\n .dso-nav > li.dso-active > a,\n .dso-nav > li.dso-active > button, .dso-nav > li.is-active > a,\n .dso-nav > li.is-active > button {\n border-block-end: 4px solid #8b4a6a;\n font-weight: bold;\n }\n .dso-nav.dso-nav-main > li {\n display: inline-block;\n }\n .dso-nav.dso-nav-main > li > a,\n .dso-nav.dso-nav-main > li > button {\n text-decoration: none;\n }\n .dso-nav.dso-nav-main > li > a:hover, .dso-nav.dso-nav-main > li > a:focus-visible, .dso-nav.dso-nav-main > li > a:active,\n .dso-nav.dso-nav-main > li > button:hover,\n .dso-nav.dso-nav-main > li > button:focus-visible,\n .dso-nav.dso-nav-main > li > button:active {\n text-decoration: underline;\n }\n .dso-nav.dso-nav-main > li > a,\n .dso-nav.dso-nav-main > li > button {\n font-size: 1.25em;\n line-height: 1;\n margin-block-start: 8px;\n padding-block: 8px 7px;\n padding-inline: 16px;\n }\n .dso-nav.dso-nav-sub > li {\n display: inline-block;\n }\n .dso-nav.dso-nav-sub > li > a,\n .dso-nav.dso-nav-sub > li > button {\n text-decoration: none;\n }\n .dso-nav.dso-nav-sub > li > a:hover, .dso-nav.dso-nav-sub > li > a:focus-visible, .dso-nav.dso-nav-sub > li > a:active,\n .dso-nav.dso-nav-sub > li > button:hover,\n .dso-nav.dso-nav-sub > li > button:focus-visible,\n .dso-nav.dso-nav-sub > li > button:active {\n text-decoration: underline;\n }\n .dso-nav.dso-nav-sub > li > a,\n .dso-nav.dso-nav-sub > li > button {\n font-size: 1rem;\n margin-block-start: 4px;\n padding-block: 4px 3px;\n padding-inline: 8px;\n }\n .dso-navbar {\n padding-inline: 16px;\n }\n .dso-nav {\n border-block-end: 1px solid #ccc;\n display: flex;\n gap: 16px;\n margin-block-start: 0;\n inline-size: calc(100vw - 32px);\n }\n .dso-tertiary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-block-end: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: start;\n user-select: none;\n vertical-align: middle;\n }\n .dso-tertiary:focus, .dso-tertiary:focus-visible {\n outline-offset: 2px;\n }\n .dso-tertiary:active {\n outline: 0;\n }\n .dso-tertiary {\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n }\n .dso-tertiary[disabled] {\n color: #afcf9d;\n }\n .dso-tertiary[disabled].dso-spinner-left, .dso-tertiary[disabled].dso-spinner-right {\n color: #39870c;\n }\n .dso-tertiary:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n }\n .dso-tertiary:not([disabled]):active {\n color: #173521;\n }\n .dso-tertiary.dso-align {\n line-height: calc(1.5em - 1px);\n padding-block: 11px;\n padding-inline: 0;\n position: relative;\n }\n .dso-tertiary.dso-truncate {\n max-inline-size: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dso-tertiary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: middle;\n inline-size: 24px;\n margin-inline-end: 8px;\n }\n .dso-tertiary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: middle;\n inline-size: 24px;\n margin-inline-start: 8px;\n }\n .dso-tertiary dso-icon + span:not(.sr-only),\n .dso-tertiary svg.di + span:not(.sr-only),\n .dso-tertiary span:not(.sr-only) + dso-icon,\n .dso-tertiary span:not(.sr-only) + svg.di {\n margin-inline-start: 8px;\n }\n .dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\n .dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\n .dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\n .dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up {\n margin-inline-start: 4px;\n }\n .dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\n .dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\n .dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\n .dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\n .dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\n .dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\n .dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\n .dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-inline-start: 0;\n }\n .dso-tertiary dso-icon,\n .dso-tertiary svg.di,\n .dso-tertiary span {\n vertical-align: middle;\n }\n .dso-tertiary {\n font-weight: 300;\n }\n .filter-panel,\n .overlay {\n margin-inline: 0;\n max-inline-size: 100vw;\n inset-block-start: 0;\n inline-size: 100vw;\n }\n .filter-panel {\n inset-inline-start: -100vw;\n }\n}\n@media screen and (min-width: 992px) {\n :host([filter-panel-open]) .dso-main-panel {\n margin-inline-start: 380px;\n }\n}";const v=new ResizeObserver(a((([n])=>{const e=n===null||n===void 0?void 0:n.target.getRootNode();if(e instanceof ShadowRoot&&f(e.host)){e.host._checkMainPanelVisibility()}}),50));function f(n){return n.tagName==="DSO-VIEWER-GRID"}const x=40;const y=768+x;const k=440;const z=class{constructor(n){e(this,n);this.dsoCloseOverlay=o(this,"dsoCloseOverlay",7);this.dsoCloseFilterPanel=o(this,"dsoCloseFilterPanel",7);this.dsoActiveTabSwitch=o(this,"dsoActiveTabSwitch",7);this.dsoMainSizeChangeAnimationEnd=o(this,"dsoMainSizeChangeAnimationEnd",7);this.dsoDocumentPanelSizeChange=o(this,"dsoDocumentPanelSizeChange",7);this.dsoDocumentPanelSizeChangeAnimationEnd=o(this,"dsoDocumentPanelSizeChangeAnimationEnd",7);this.dsoMainPanelExpand=o(this,"dsoMainPanelExpand",7);this.dsoMainPanelToggle=o(this,"dsoMainPanelToggle",7);this.mediaCondition=`(min-width: ${y}px)`;this.filterPanelOpen=false;this.overlayOpen=false;this.documentPanelOpen=false;this.mainSize="large";this.documentPanelSize="large";this.mainPanelExpanded=false;this.mainPanelHidden=false;this.tabView=window.innerWidth<y;this.switchActiveTab=n=>{this.dsoActiveTabSwitch.emit({tab:n})};this.shrinkDocumentPanel=()=>{this.dsoDocumentPanelSizeChange.emit({currentSize:this.documentPanelSize,nextSize:this.documentPanelSize==="large"?"medium":"small"})};this.expandDocumentPanel=()=>{this.dsoDocumentPanelSizeChange.emit({currentSize:this.documentPanelSize,nextSize:this.documentPanelSize==="small"?"medium":"large"})};this.toggleMainPanel=()=>{if(this.mapElement instanceof HTMLDivElement&&this.mapElement.clientWidth<=k+x+x){this.mainSize="small"}this.dsoMainPanelToggle.emit({hide:!this.mainPanelHidden})};this.changeListener=n=>this.tabView=!n.matches}get filterPanelSlot(){return this.host.querySelector("[slot='filter-panel']")}get overlaySlot(){return this.host.querySelector("[slot='overlay']")}documentPanelOpenWatcher(n){if(n){this._checkMainPanelVisibility()}}filterPanelOpenWatcher(n){var e,o;if(!this.filterPanelSlot){console.warn("slot 'filter-panel' has not been set")}if(n){(e=this.filterPanel)===null||e===void 0?void 0:e.show()}else{(o=this.filterPanel)===null||o===void 0?void 0:o.close()}}overlayOpenWatcher(n){var e,o;if(!this.overlaySlot){console.warn("slot 'overlay' has not been set")}if(n){(e=this.overlay)===null||e===void 0?void 0:e.showModal()}else{(o=this.overlay)===null||o===void 0?void 0:o.close()}}async _checkMainPanelVisibility(){if(this.documentPanelOpen&&!this.mainPanelHidden&&this.mapElement instanceof HTMLDivElement&&(this.mapElement.clientWidth<=k+x+x&&!this.mainPanelExpanded||this.mapElement.clientWidth<=x+x&&this.mainPanelExpanded)){this.dsoMainPanelToggle.emit({hide:true})}}connectedCallback(){window.matchMedia(this.mediaCondition).addEventListener("change",this.changeListener)}componentDidLoad(){var n,e;if(this.filterPanelOpen&&this.filterPanelSlot){(n=this.filterPanel)===null||n===void 0?void 0:n.show()}if(this.overlayOpen&&this.overlaySlot){(e=this.overlay)===null||e===void 0?void 0:e.showModal()}if(this.mapElement instanceof HTMLDivElement){v.observe(this.mapElement)}}disconnectedCallback(){window.matchMedia(this.mediaCondition).removeEventListener("change",this.changeListener);if(this.mapElement){v.unobserve(this.mapElement)}}render(){return n(t,null,n("slot",{key:"ca4516792c9b0298a17e20249ba5871d88aad4d0",name:"top-bar"}),n("div",{key:"2932e07ae6ee1cf2db5a1806b43e1e31a646a1e3",class:"viewer-grid-columns"},this.tabView&&n("nav",{key:"3a59eff7c4f22d4c43d14aa5144e874197b4f04d",class:"dso-navbar"},n("ul",{key:"54a9240c809a88475599bf1e9eca4fcd4a217f1f",class:"dso-nav dso-nav-sub"},r.map((e=>n("li",{key:e,class:s({"dso-active":this.activeTab===e})},n("button",{type:"button",class:"dso-tertiary",onClick:()=>this.switchActiveTab(e)},l[e])))))),(!this.tabView||this.tabView&&this.activeTab==="search")&&n(u,{key:"6aaea88275b0cde9bfe01734695c231d4a115684",tabView:this.tabView,mainSize:this.mainSize,documentPanelOpen:this.documentPanelOpen,mainPanelExpanded:this.mainPanelExpanded,mainPanelHidden:this.mainPanelHidden,toggleMainPanel:this.toggleMainPanel,dsoMainSizeChangeAnimationEnd:this.dsoMainSizeChangeAnimationEnd}),(!this.tabView||this.tabView&&this.activeTab==="search")&&n(g,{key:"a95d1917347f22221d6380c13c4dbc38ddd5a23f",title:this.filterPanelTitle,ref:n=>this.filterPanel=n,dsoCloseFilterPanel:n=>this.dsoCloseFilterPanel.emit({originalEvent:n})}),(!this.tabView||this.tabView&&this.activeTab==="map")&&n("div",{key:"674be4a8408429a6e07307f05b63efc5ff37f2a2",class:"map",ref:n=>this.mapElement=n},n("slot",{key:"f82407205dc1c572fda5c99edc15462703d9045b",name:"map"})),(!this.tabView&&this.documentPanelOpen||this.tabView&&this.activeTab==="document")&&n(b,{key:"a4a8b5af45c1ed4d57dedbf96d4b63f5d48e1d64",tabView:this.tabView,panelSize:this.documentPanelSize,shrinkDocumentPanel:this.shrinkDocumentPanel,expandDocumentPanel:this.expandDocumentPanel,dsoDocumentPanelSizeChangeAnimationEnd:this.dsoDocumentPanelSizeChangeAnimationEnd}),n(h,{key:"b17b5ecfba160494bfb82d7cc9c1f43593447a8e",ref:n=>this.overlay=n,dsoCloseOverlay:n=>this.dsoCloseOverlay.emit({originalEvent:n})})))}get host(){return i(this)}static get watchers(){return{documentPanelOpen:["documentPanelOpenWatcher"],filterPanelOpen:["filterPanelOpenWatcher"],overlayOpen:["overlayOpenWatcher"]}}};z.style=m;export{z as dso_viewer_grid};
2
+ //# sourceMappingURL=p-2c460675.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["viewerGridTabs","viewerGridTabLabelMap","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","FilterPanel","title","ref","dsoCloseFilterPanel","MainPanel","mainSize","documentPanelOpen","mainPanelExpanded","mainPanelHidden","toggleMainPanel","dsoMainSizeChangeAnimationEnd","clsx","compact","contracted","expanded","collapsed","invisible","Overlay","dsoCloseOverlay","onCancel","preventDefault","viewerGridCss","resizeObserver","ResizeObserver","debounce","entry","shadowRoot","target","getRootNode","ShadowRoot","isDsoViewerGridComponent","host","_checkMainPanelVisibility","element","tagName","buttonWidth","tabViewBreakpoint","minMapElementWidth","ViewerGrid","constructor","hostRef","this","mediaCondition","filterPanelOpen","overlayOpen","documentPanelSize","window","innerWidth","switchActiveTab","tab","dsoActiveTabSwitch","dsoDocumentPanelSizeChange","nextSize","mapElement","HTMLDivElement","clientWidth","dsoMainPanelToggle","hide","changeListener","largeScreen","matches","filterPanelSlot","querySelector","overlaySlot","documentPanelOpenWatcher","open","filterPanelOpenWatcher","console","warn","_a","filterPanel","show","_b","close","overlayOpenWatcher","overlay","showModal","connectedCallback","matchMedia","addEventListener","componentDidLoad","observe","disconnectedCallback","removeEventListener","unobserve","render","Fragment","key","activeTab","filterPanelTitle","originalEvent"],"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/filter-panel.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 ViewerGridCloseFilterPanelEvent {\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 ViewerGridPanelSize = \"small\" | \"medium\" | \"large\";\r\n\r\nexport type ViewerGridLabelSizeMap = { [key in ViewerGridPanelSize]: string };\r\n\r\nexport const viewerGridTabs = [\"search\", \"map\", \"document\"] as const;\r\nexport type ViewerGridTab = (typeof viewerGridTabs)[number];\r\n\r\nexport type ViewerGridTabLabelMap = { [key in ViewerGridTab]: string };\r\n\r\nexport const viewerGridTabLabelMap: ViewerGridTabLabelMap = {\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\n\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 { ViewerGridChangeSizeAnimationEndEvent, ViewerGridPanelSize } from \"../viewer-grid.interfaces\";\r\n\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 ViewerGridFilterPanelProps {\r\n title?: string;\r\n ref: ((element: HTMLDialogElement | undefined) => void) | undefined;\r\n dsoCloseFilterPanel: (event: MouseEvent | Event) => void;\r\n}\r\n\r\nexport const FilterPanel: FunctionalComponent<ViewerGridFilterPanelProps> = ({ title, ref, dsoCloseFilterPanel }) => (\r\n <dialog class=\"filter-panel\" ref={ref}>\r\n {title && <h3>{title}</h3>}\r\n <button type=\"button\" class=\"dso-close\" onClick={dsoCloseFilterPanel}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Sluiten</span>\r\n </button>\r\n <slot name=\"filter-panel\" />\r\n </dialog>\r\n);\r\n","import { EventEmitter, FunctionalComponent, h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { ViewerGridChangeSizeAnimationEndEvent, ViewerGridPanelSize } from \"../viewer-grid.interfaces\";\r\n\r\nexport interface ViewerGridMainPanelProps {\r\n tabView: boolean;\r\n mainSize: ViewerGridPanelSize;\r\n documentPanelOpen: boolean;\r\n mainPanelExpanded: boolean;\r\n mainPanelHidden: boolean;\r\n toggleMainPanel: () => void;\r\n dsoMainSizeChangeAnimationEnd: EventEmitter<ViewerGridChangeSizeAnimationEndEvent>;\r\n}\r\n\r\nexport const MainPanel: FunctionalComponent<ViewerGridMainPanelProps> = ({\r\n tabView,\r\n mainSize,\r\n documentPanelOpen,\r\n mainPanelExpanded,\r\n mainPanelHidden,\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,\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 && 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 {\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 .dso-main-panel {\r\n transition:\r\n min-inline-size core-viewer-grid-variables.$transition-time ease-in,\r\n margin-inline-start core-viewer-grid-variables.$transition-time ease-in;\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.viewer-grid-columns {\r\n position: relative;\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 .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.filter-panel,\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.filter-panel {\r\n display: block;\r\n position: absolute;\r\n padding-block: units.$u1;\r\n padding-inline: css-grid.$grid-gutter-width * 0.5;\r\n inset-block-start: 0;\r\n block-size: 100%;\r\n inset-inline-start: calc(core-viewer-grid-variables.$filter-panel-max-inline-size * -1);\r\n inline-size: 100%;\r\n transition: inset-inline-start core-viewer-grid-variables.$transition-time ease-in;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$filter-panel-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 @media screen and (min-width: #{media-query-breakpoints.$screen-md-min}) {\r\n max-inline-size: core-viewer-grid-variables.$filter-panel-max-inline-size;\r\n }\r\n\r\n &[open] {\r\n inset-inline-start: 0;\r\n box-shadow: none;\r\n border-inline-end: 1px solid core-viewer-grid-variables.$filter-panel-border-color;\r\n }\r\n\r\n h3 {\r\n color: colors.$bosgroen;\r\n }\r\n\r\n .dso-close {\r\n @include button.element();\r\n\r\n position: absolute;\r\n inset-block-start: units.$u2;\r\n inset-inline-end: units.$u2;\r\n\r\n block-size: units.$u4;\r\n inline-size: units.$u4;\r\n\r\n padding: 0;\r\n\r\n background-color: transparent;\r\n\r\n border: 0;\r\n text-align: center;\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@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 flex-direction: column;\r\n block-size: 100vh;\r\n overflow: clip;\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\r\n .viewer-grid-columns {\r\n display: flex;\r\n overflow: hidden;\r\n flex-grow: 1;\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 .filter-panel {\r\n margin-inline: 0 auto;\r\n inline-size: calc(100vw - 40px);\r\n\r\n &[open] {\r\n border-inline-end: 1px solid core-viewer-grid-variables.$filter-panel-border-color;\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 @media screen and (max-width: #{media-query-breakpoints.$screen-sm-max + units.$u5 + 0.99}) {\r\n :host([filter-panel-open]) {\r\n .dso-main-panel {\r\n margin-inline-start: core-viewer-grid-variables.$filter-panel-max-inline-size;\r\n max-inline-size: calc(100vw - #{core-viewer-grid-variables.$filter-panel-max-inline-size});\r\n }\r\n }\r\n\r\n .filter-panel {\r\n inline-size: core-viewer-grid-variables.$filter-panel-max-inline-size;\r\n inset-inline-start: -(core-viewer-grid-variables.$filter-panel-max-inline-size);\r\n }\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 .filter-panel,\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 .filter-panel {\r\n inset-inline-start: -100vw;\r\n }\r\n}\r\n\r\n@media screen and (min-width: #{media-query-breakpoints.$screen-md-min}) {\r\n :host([filter-panel-open]) {\r\n .dso-main-panel {\r\n margin-inline-start: core-viewer-grid-variables.$filter-panel-max-inline-size;\r\n }\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 ViewerGridActiveTabSwitchEvent,\r\n ViewerGridChangeSizeAnimationEndEvent,\r\n ViewerGridChangeSizeEvent,\r\n ViewerGridCloseFilterPanelEvent,\r\n ViewerGridCloseOverlayEvent,\r\n ViewerGridMainExpandEvent,\r\n ViewerGridMainToggleEvent,\r\n ViewerGridPanelSize,\r\n ViewerGridTab,\r\n viewerGridTabLabelMap,\r\n viewerGridTabs,\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 top-bar - Een slot die bovenaan de viewer over de hele breedte kan worden gevuld met bijv een banner.\r\n * @slot main\r\n * @slot map\r\n * @slot filter-panel\r\n * @slot overlay\r\n * @slot document-panel\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 * The title of the filter panel\r\n */\r\n @Prop({ reflect: true })\r\n filterPanelTitle?: string;\r\n\r\n /**\r\n * Set to true when filter panel 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 * 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?: ViewerGridTab;\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 documentPanelSize: ViewerGridPanelSize = \"large\";\r\n\r\n /**\r\n * Set to show main panel expanded.\r\n */\r\n @Prop()\r\n mainPanelExpanded = false;\r\n\r\n /**\r\n * 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 wants to close the filter panel.\r\n */\r\n @Event()\r\n dsoCloseFilterPanel!: EventEmitter<ViewerGridCloseFilterPanelEvent>;\r\n\r\n /**\r\n * Emitted when user applies filter panel options.\r\n */\r\n @Event()\r\n dsoActiveTabSwitch!: EventEmitter<ViewerGridActiveTabSwitchEvent>;\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 * Emitted on interaction with sizing buttons.\r\n */\r\n @Event()\r\n dsoDocumentPanelSizeChange!: EventEmitter<ViewerGridChangeSizeEvent>;\r\n\r\n /**\r\n * Emitted after main size animation.\r\n */\r\n @Event()\r\n dsoDocumentPanelSizeChangeAnimationEnd!: EventEmitter<ViewerGridChangeSizeAnimationEndEvent>;\r\n\r\n /**\r\n * 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 * 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='filter-panel']\");\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 'filter-panel' has not been set\");\r\n }\r\n\r\n if (open) {\r\n this.filterPanel?.show();\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.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 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 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?.show();\r\n }\r\n\r\n if (this.overlayOpen && this.overlaySlot) {\r\n this.overlay?.showModal();\r\n }\r\n\r\n if (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.mapElement) {\r\n resizeObserver.unobserve(this.mapElement);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n <slot name=\"top-bar\" />\r\n <div class=\"viewer-grid-columns\">\r\n {this.tabView && (\r\n <nav class=\"dso-navbar\">\r\n <ul class=\"dso-nav dso-nav-sub\">\r\n {viewerGridTabs.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 === \"search\")) && (\r\n <MainPanel\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 toggleMainPanel={this.toggleMainPanel}\r\n dsoMainSizeChangeAnimationEnd={this.dsoMainSizeChangeAnimationEnd}\r\n ></MainPanel>\r\n )}\r\n {(!this.tabView || (this.tabView && this.activeTab === \"search\")) && (\r\n <FilterPanel\r\n title={this.filterPanelTitle}\r\n ref={(element) => (this.filterPanel = element)}\r\n dsoCloseFilterPanel={(e) => this.dsoCloseFilterPanel.emit({ originalEvent: e })}\r\n ></FilterPanel>\r\n )}\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 </div>\r\n </>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["viewerGridTabs","viewerGridTabLabelMap","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","FilterPanel","title","ref","dsoCloseFilterPanel","MainPanel","mainSize","documentPanelOpen","mainPanelExpanded","mainPanelHidden","toggleMainPanel","dsoMainSizeChangeAnimationEnd","clsx","compact","contracted","expanded","collapsed","invisible","Overlay","dsoCloseOverlay","onCancel","preventDefault","viewerGridCss","resizeObserver","ResizeObserver","debounce","entry","shadowRoot","target","getRootNode","ShadowRoot","isDsoViewerGridComponent","host","_checkMainPanelVisibility","element","tagName","buttonWidth","tabViewBreakpoint","minMapElementWidth","ViewerGrid","constructor","hostRef","this","mediaCondition","filterPanelOpen","overlayOpen","documentPanelSize","window","innerWidth","switchActiveTab","tab","dsoActiveTabSwitch","dsoDocumentPanelSizeChange","nextSize","mapElement","HTMLDivElement","clientWidth","dsoMainPanelToggle","hide","changeListener","largeScreen","matches","filterPanelSlot","querySelector","overlaySlot","documentPanelOpenWatcher","open","filterPanelOpenWatcher","console","warn","_a","filterPanel","show","_b","close","overlayOpenWatcher","overlay","showModal","connectedCallback","matchMedia","addEventListener","componentDidLoad","observe","disconnectedCallback","removeEventListener","unobserve","render","Fragment","key","activeTab","filterPanelTitle","originalEvent"],"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/filter-panel.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 ViewerGridCloseFilterPanelEvent {\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 ViewerGridPanelSize = \"small\" | \"medium\" | \"large\";\r\n\r\nexport type ViewerGridLabelSizeMap = { [key in ViewerGridPanelSize]: string };\r\n\r\nexport const viewerGridTabs = [\"search\", \"map\", \"document\"] as const;\r\nexport type ViewerGridTab = (typeof viewerGridTabs)[number];\r\n\r\nexport type ViewerGridTabLabelMap = { [key in ViewerGridTab]: string };\r\n\r\nexport const viewerGridTabLabelMap: ViewerGridTabLabelMap = {\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\n\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 { ViewerGridChangeSizeAnimationEndEvent, ViewerGridPanelSize } from \"../viewer-grid.interfaces\";\r\n\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 ViewerGridFilterPanelProps {\r\n title?: string;\r\n ref: ((element: HTMLDialogElement | undefined) => void) | undefined;\r\n dsoCloseFilterPanel: (event: MouseEvent | Event) => void;\r\n}\r\n\r\nexport const FilterPanel: FunctionalComponent<ViewerGridFilterPanelProps> = ({ title, ref, dsoCloseFilterPanel }) => (\r\n <dialog class=\"filter-panel\" ref={ref}>\r\n {title && <h3>{title}</h3>}\r\n <button type=\"button\" class=\"dso-close\" onClick={dsoCloseFilterPanel}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Sluiten</span>\r\n </button>\r\n <slot name=\"filter-panel\" />\r\n </dialog>\r\n);\r\n","import { EventEmitter, FunctionalComponent, h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { ViewerGridChangeSizeAnimationEndEvent, ViewerGridPanelSize } from \"../viewer-grid.interfaces\";\r\n\r\nexport interface ViewerGridMainPanelProps {\r\n tabView: boolean;\r\n mainSize: ViewerGridPanelSize;\r\n documentPanelOpen: boolean;\r\n mainPanelExpanded: boolean;\r\n mainPanelHidden: boolean;\r\n toggleMainPanel: () => void;\r\n dsoMainSizeChangeAnimationEnd: EventEmitter<ViewerGridChangeSizeAnimationEndEvent>;\r\n}\r\n\r\nexport const MainPanel: FunctionalComponent<ViewerGridMainPanelProps> = ({\r\n tabView,\r\n mainSize,\r\n documentPanelOpen,\r\n mainPanelExpanded,\r\n mainPanelHidden,\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,\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 && 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 {\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 .dso-main-panel {\r\n transition:\r\n min-inline-size core-viewer-grid-variables.$transition-time ease-in,\r\n margin-inline-start core-viewer-grid-variables.$transition-time ease-in;\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.viewer-grid-columns {\r\n position: relative;\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 .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.filter-panel,\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.filter-panel {\r\n display: block;\r\n position: absolute;\r\n padding-block: units.$u1;\r\n padding-inline: css-grid.$grid-gutter-width * 0.5;\r\n inset-block-start: 0;\r\n block-size: 100%;\r\n inset-inline-start: calc(core-viewer-grid-variables.$filter-panel-max-inline-size * -1);\r\n inline-size: 100%;\r\n transition: inset-inline-start core-viewer-grid-variables.$transition-time ease-in;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$filter-panel-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 @media screen and (min-width: #{media-query-breakpoints.$screen-md-min}) {\r\n max-inline-size: core-viewer-grid-variables.$filter-panel-max-inline-size;\r\n }\r\n\r\n &[open] {\r\n inset-inline-start: 0;\r\n box-shadow: none;\r\n border-inline-end: 1px solid core-viewer-grid-variables.$filter-panel-border-color;\r\n }\r\n\r\n h3 {\r\n color: colors.$bosgroen;\r\n }\r\n\r\n .dso-close {\r\n @include button.element();\r\n\r\n position: absolute;\r\n inset-block-start: units.$u2;\r\n inset-inline-end: units.$u2;\r\n\r\n block-size: units.$u4;\r\n inline-size: units.$u4;\r\n\r\n padding: 0;\r\n\r\n background-color: transparent;\r\n\r\n border: 0;\r\n text-align: center;\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@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 flex-direction: column;\r\n block-size: 100vh;\r\n overflow: clip;\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\r\n .viewer-grid-columns {\r\n display: flex;\r\n overflow: hidden;\r\n flex-grow: 1;\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 .filter-panel {\r\n margin-inline: 0 auto;\r\n inline-size: calc(100vw - 40px);\r\n\r\n &[open] {\r\n border-inline-end: 1px solid core-viewer-grid-variables.$filter-panel-border-color;\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 @media screen and (max-width: #{media-query-breakpoints.$screen-sm-max + units.$u5 + 0.99}) {\r\n :host([filter-panel-open]) {\r\n .dso-main-panel {\r\n margin-inline-start: core-viewer-grid-variables.$filter-panel-max-inline-size;\r\n max-inline-size: calc(100vw - #{core-viewer-grid-variables.$filter-panel-max-inline-size});\r\n }\r\n }\r\n\r\n .filter-panel {\r\n inline-size: core-viewer-grid-variables.$filter-panel-max-inline-size;\r\n inset-inline-start: -(core-viewer-grid-variables.$filter-panel-max-inline-size);\r\n }\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 .filter-panel,\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 .filter-panel {\r\n inset-inline-start: -100vw;\r\n }\r\n}\r\n\r\n@media screen and (min-width: #{media-query-breakpoints.$screen-md-min}) {\r\n :host([filter-panel-open]) {\r\n .dso-main-panel {\r\n margin-inline-start: core-viewer-grid-variables.$filter-panel-max-inline-size;\r\n }\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 ViewerGridActiveTabSwitchEvent,\r\n ViewerGridChangeSizeAnimationEndEvent,\r\n ViewerGridChangeSizeEvent,\r\n ViewerGridCloseFilterPanelEvent,\r\n ViewerGridCloseOverlayEvent,\r\n ViewerGridMainExpandEvent,\r\n ViewerGridMainToggleEvent,\r\n ViewerGridPanelSize,\r\n ViewerGridTab,\r\n viewerGridTabLabelMap,\r\n viewerGridTabs,\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 top-bar - Een slot die bovenaan de viewer over de hele breedte kan worden gevuld met bijv een banner.\r\n * @slot main\r\n * @slot map\r\n * @slot filter-panel\r\n * @slot overlay\r\n * @slot document-panel\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 * The title of the filter panel\r\n */\r\n @Prop({ reflect: true })\r\n filterPanelTitle?: string;\r\n\r\n /**\r\n * Set to true when filter panel 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 * 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?: ViewerGridTab;\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 documentPanelSize: ViewerGridPanelSize = \"large\";\r\n\r\n /**\r\n * Set to show main panel expanded.\r\n */\r\n @Prop()\r\n mainPanelExpanded = false;\r\n\r\n /**\r\n * 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 wants to close the filter panel.\r\n */\r\n @Event()\r\n dsoCloseFilterPanel!: EventEmitter<ViewerGridCloseFilterPanelEvent>;\r\n\r\n /**\r\n * Emitted when user applies filter panel options.\r\n */\r\n @Event()\r\n dsoActiveTabSwitch!: EventEmitter<ViewerGridActiveTabSwitchEvent>;\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 * Emitted on interaction with sizing buttons.\r\n */\r\n @Event()\r\n dsoDocumentPanelSizeChange!: EventEmitter<ViewerGridChangeSizeEvent>;\r\n\r\n /**\r\n * Emitted after main size animation.\r\n */\r\n @Event()\r\n dsoDocumentPanelSizeChangeAnimationEnd!: EventEmitter<ViewerGridChangeSizeAnimationEndEvent>;\r\n\r\n /**\r\n * 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 * 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='filter-panel']\");\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 'filter-panel' has not been set\");\r\n }\r\n\r\n if (open) {\r\n this.filterPanel?.show();\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.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 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 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?.show();\r\n }\r\n\r\n if (this.overlayOpen && this.overlaySlot) {\r\n this.overlay?.showModal();\r\n }\r\n\r\n if (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.mapElement) {\r\n resizeObserver.unobserve(this.mapElement);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n <slot name=\"top-bar\" />\r\n <div class=\"viewer-grid-columns\">\r\n {this.tabView && (\r\n <nav class=\"dso-navbar\">\r\n <ul class=\"dso-nav dso-nav-sub\">\r\n {viewerGridTabs.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 === \"search\")) && (\r\n <MainPanel\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 toggleMainPanel={this.toggleMainPanel}\r\n dsoMainSizeChangeAnimationEnd={this.dsoMainSizeChangeAnimationEnd}\r\n ></MainPanel>\r\n )}\r\n {(!this.tabView || (this.tabView && this.activeTab === \"search\")) && (\r\n <FilterPanel\r\n title={this.filterPanelTitle}\r\n ref={(element) => (this.filterPanel = element)}\r\n dsoCloseFilterPanel={(e) => this.dsoCloseFilterPanel.emit({ originalEvent: e })}\r\n ></FilterPanel>\r\n )}\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 </div>\r\n </>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,f as t,h as s,H as a,g as r}from"./p-C-b4jsbt.js";const i='@charset "UTF-8";*,*::after,*::before{box-sizing:border-box}:host{display:block}.tabs{border-block-end:1px solid #39870c;display:flex;gap:2px;flex-wrap:wrap;margin-block-end:24px;padding-inline-start:0}@media screen and (max-width: 767px){.tabs{border:0;display:block}}';const o=class{constructor(t){e(this,t);this.keyUpHandler=e=>{if(!(e.target instanceof HTMLElement)){return}switch(e.key){case"ArrowRight":case"ArrowDown":this.moveFocusToNextTab(e.target);break;case"ArrowLeft":case"ArrowUp":this.moveFocusToPreviousTab(e.target);break;default:return}}}get enabledTabs(){return Array.from(this.host.querySelectorAll(":scope > dso-tab")).reduce(((e,t)=>{if(!t.disabled){e.push(t)}return e}),[])}get firstTab(){return this.enabledTabs[0]}get lastTab(){return this.enabledTabs[this.enabledTabs.length-1]}moveFocusToTab(e){e===null||e===void 0?void 0:e._dsoFocus()}moveFocusToPreviousTab(e){var t;const s=this.enabledTabs.findIndex((t=>t===e));const a=(t=this.enabledTabs[s-1])!==null&&t!==void 0?t:this.lastTab;this.moveFocusToTab(a)}moveFocusToNextTab(e){var t;const s=this.enabledTabs.findIndex((t=>t===e));const a=(t=this.enabledTabs[s+1])!==null&&t!==void 0?t:this.firstTab;this.moveFocusToTab(a)}connectedCallback(){var e;(e=this.mutationObserver)!==null&&e!==void 0?e:this.mutationObserver=new MutationObserver((()=>t(this.host)));this.mutationObserver.observe(this.host,{childList:true})}disconnectedCallback(){var e;(e=this.mutationObserver)===null||e===void 0?void 0:e.disconnect()}render(){return s(a,{key:"ee52a51bd4dce360be086fe4ac9603c3b1e12255"},s("div",{key:"7f9270557289a2d6a2d8e949cbf8ee7a8ba286a7",class:"tabs",role:"tablist",onKeyUp:this.keyUpHandler},s("slot",{key:"47ad707d1b2dc383074db54e70f85fdd60c8a3d4"})),s("div",{key:"5864caa924fcee7d74ef10410ee3b0d38d8af2c0",role:"tabpanel",tabindex:"0"},s("slot",{key:"a01b5c9915c4385c713dea531eaccecd9757a940",name:"panel"})))}get host(){return r(this)}};o.style=i;export{o as dso_tabs};
2
+ //# sourceMappingURL=p-2ff601f9.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["tabsCss","Tabs","constructor","hostRef","this","keyUpHandler","e","target","HTMLElement","key","moveFocusToNextTab","moveFocusToPreviousTab","enabledTabs","Array","from","host","querySelectorAll","reduce","tabs","tab","disabled","push","firstTab","lastTab","length","moveFocusToTab","_dsoFocus","focussedTab","index","findIndex","next","_a","connectedCallback","mutationObserver","MutationObserver","forceUpdate","observe","childList","disconnectedCallback","disconnect","render","h","Host","class","role","onKeyUp","tabindex","name"],"sources":["src/components/tabs/tabs.scss?tag=dso-tabs&encapsulation=shadow","src/components/tabs/tabs.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/scaffolding\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/components/link\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.tabs {\r\n border-block-end: 1px solid colors.$grasgroen;\r\n display: flex;\r\n gap: 2px;\r\n flex-wrap: wrap;\r\n margin-block-end: units.$block-spacing-large;\r\n padding-inline-start: 0;\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n border: 0;\r\n display: block;\r\n }\r\n}\r\n","import { Component, Element, Host, forceUpdate, h } from \"@stencil/core\";\r\n\r\n/**\r\n * @slot - The dso-tab elements. These should be direct children of the dso-tabs element.\r\n * @slot panel - The panel with the content for the active tab\r\n */\r\n@Component({\r\n tag: \"dso-tabs\",\r\n styleUrl: \"tabs.scss\",\r\n shadow: true,\r\n})\r\nexport class Tabs {\r\n private mutationObserver?: MutationObserver;\r\n\r\n @Element()\r\n host!: HTMLDsoTabsElement;\r\n\r\n private get enabledTabs() {\r\n // Only enabled tabs (not disabled) are needed for setting focus via ArrowRight and ArrowLeft\r\n return Array.from(this.host.querySelectorAll<HTMLDsoTabElement>(\":scope > dso-tab\")).reduce<HTMLDsoTabElement[]>(\r\n (tabs, tab) => {\r\n if (!tab.disabled) {\r\n tabs.push(tab);\r\n }\r\n\r\n return tabs;\r\n },\r\n [],\r\n );\r\n }\r\n\r\n private get firstTab() {\r\n return this.enabledTabs[0];\r\n }\r\n\r\n private get lastTab() {\r\n return this.enabledTabs[this.enabledTabs.length - 1];\r\n }\r\n\r\n private moveFocusToTab(tab: HTMLDsoTabElement | undefined) {\r\n tab?._dsoFocus();\r\n }\r\n\r\n private moveFocusToPreviousTab(focussedTab: HTMLElement) {\r\n const index = this.enabledTabs.findIndex((tab) => tab === focussedTab);\r\n const next = this.enabledTabs[index - 1] ?? this.lastTab;\r\n\r\n this.moveFocusToTab(next);\r\n }\r\n\r\n private moveFocusToNextTab(focussedTab: HTMLElement) {\r\n const index = this.enabledTabs.findIndex((tab) => tab === focussedTab);\r\n const next = this.enabledTabs[index + 1] ?? this.firstTab;\r\n\r\n this.moveFocusToTab(next);\r\n }\r\n\r\n // Keep track of tabs to set focus on next or previous enabled (not disabled) tab.\r\n private keyUpHandler = (e: KeyboardEvent) => {\r\n if (!(e.target instanceof HTMLElement)) {\r\n return;\r\n }\r\n\r\n switch (e.key) {\r\n case \"ArrowRight\":\r\n case \"ArrowDown\":\r\n this.moveFocusToNextTab(e.target);\r\n break;\r\n case \"ArrowLeft\":\r\n case \"ArrowUp\":\r\n this.moveFocusToPreviousTab(e.target);\r\n break;\r\n default:\r\n return;\r\n }\r\n };\r\n\r\n connectedCallback(): void {\r\n this.mutationObserver ??= new MutationObserver(() => forceUpdate(this.host));\r\n\r\n this.mutationObserver.observe(this.host, { childList: true });\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.mutationObserver?.disconnect();\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div class=\"tabs\" role=\"tablist\" onKeyUp={this.keyUpHandler}>\r\n <slot />\r\n </div>\r\n <div role=\"tabpanel\" tabindex=\"0\">\r\n <slot name=\"panel\" />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"gEAAA,MAAMA,EAAU,+P,MCWHC,EAAI,MALjB,WAAAC,CAAAC,G,UAoDUC,KAAAC,aAAgBC,IACtB,KAAMA,EAAEC,kBAAkBC,aAAc,CACtC,M,CAGF,OAAQF,EAAEG,KACR,IAAK,aACL,IAAK,YACHL,KAAKM,mBAAmBJ,EAAEC,QAC1B,MACF,IAAK,YACL,IAAK,UACHH,KAAKO,uBAAuBL,EAAEC,QAC9B,MACF,QACE,O,CA0BP,CAlFC,eAAYK,GAEV,OAAOC,MAAMC,KAAKV,KAAKW,KAAKC,iBAAoC,qBAAqBC,QACnF,CAACC,EAAMC,KACL,IAAKA,EAAIC,SAAU,CACjBF,EAAKG,KAAKF,E,CAGZ,OAAOD,CAAI,GAEb,G,CAIJ,YAAYI,GACV,OAAOlB,KAAKQ,YAAY,E,CAG1B,WAAYW,GACV,OAAOnB,KAAKQ,YAAYR,KAAKQ,YAAYY,OAAS,E,CAG5C,cAAAC,CAAeN,GACrBA,IAAG,MAAHA,SAAG,SAAHA,EAAKO,W,CAGC,sBAAAf,CAAuBgB,G,MAC7B,MAAMC,EAAQxB,KAAKQ,YAAYiB,WAAWV,GAAQA,IAAQQ,IAC1D,MAAMG,GAAOC,EAAA3B,KAAKQ,YAAYgB,EAAQ,MAAE,MAAAG,SAAA,EAAAA,EAAI3B,KAAKmB,QAEjDnB,KAAKqB,eAAeK,E,CAGd,kBAAApB,CAAmBiB,G,MACzB,MAAMC,EAAQxB,KAAKQ,YAAYiB,WAAWV,GAAQA,IAAQQ,IAC1D,MAAMG,GAAOC,EAAA3B,KAAKQ,YAAYgB,EAAQ,MAAE,MAAAG,SAAA,EAAAA,EAAI3B,KAAKkB,SAEjDlB,KAAKqB,eAAeK,E,CAuBtB,iBAAAE,G,OACED,EAAA3B,KAAK6B,oBAAgB,MAAAF,SAAA,EAAAA,EAArB3B,KAAK6B,iBAAqB,IAAIC,kBAAiB,IAAMC,EAAY/B,KAAKW,QAEtEX,KAAK6B,iBAAiBG,QAAQhC,KAAKW,KAAM,CAAEsB,UAAW,M,CAGxD,oBAAAC,G,OACEP,EAAA3B,KAAK6B,oBAAkB,MAAAF,SAAA,SAAAA,EAAAQ,Y,CAGzB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAjC,IAAA,4CACHgC,EAAA,OAAAhC,IAAA,2CAAKkC,MAAM,OAAOC,KAAK,UAAUC,QAASzC,KAAKC,cAC7CoC,EAAA,QAAAhC,IAAA,8CAEFgC,EAAA,OAAAhC,IAAA,2CAAKmC,KAAK,WAAWE,SAAS,KAC5BL,EAAA,QAAAhC,IAAA,2CAAMsC,KAAK,W","ignoreList":[]}
1
+ {"version":3,"names":["tabsCss","Tabs","constructor","hostRef","this","keyUpHandler","e","target","HTMLElement","key","moveFocusToNextTab","moveFocusToPreviousTab","enabledTabs","Array","from","host","querySelectorAll","reduce","tabs","tab","disabled","push","firstTab","lastTab","length","moveFocusToTab","_dsoFocus","focussedTab","index","findIndex","next","_a","connectedCallback","mutationObserver","MutationObserver","forceUpdate","observe","childList","disconnectedCallback","disconnect","render","h","Host","class","role","onKeyUp","tabindex","name"],"sources":["src/components/tabs/tabs.scss?tag=dso-tabs&encapsulation=shadow","src/components/tabs/tabs.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/scaffolding\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/components/link\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.tabs {\r\n border-block-end: 1px solid colors.$grasgroen;\r\n display: flex;\r\n gap: 2px;\r\n flex-wrap: wrap;\r\n margin-block-end: units.$block-spacing-large;\r\n padding-inline-start: 0;\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n border: 0;\r\n display: block;\r\n }\r\n}\r\n","import { Component, Element, Host, forceUpdate, h } from \"@stencil/core\";\r\n\r\n/**\r\n * @slot - The dso-tab elements. These should be direct children of the dso-tabs element.\r\n * @slot panel - The panel with the content for the active tab\r\n */\r\n@Component({\r\n tag: \"dso-tabs\",\r\n styleUrl: \"tabs.scss\",\r\n shadow: true,\r\n})\r\nexport class Tabs {\r\n private mutationObserver?: MutationObserver;\r\n\r\n @Element()\r\n host!: HTMLDsoTabsElement;\r\n\r\n private get enabledTabs() {\r\n // Only enabled tabs (not disabled) are needed for setting focus via ArrowRight and ArrowLeft\r\n return Array.from(this.host.querySelectorAll<HTMLDsoTabElement>(\":scope > dso-tab\")).reduce<HTMLDsoTabElement[]>(\r\n (tabs, tab) => {\r\n if (!tab.disabled) {\r\n tabs.push(tab);\r\n }\r\n\r\n return tabs;\r\n },\r\n [],\r\n );\r\n }\r\n\r\n private get firstTab() {\r\n return this.enabledTabs[0];\r\n }\r\n\r\n private get lastTab() {\r\n return this.enabledTabs[this.enabledTabs.length - 1];\r\n }\r\n\r\n private moveFocusToTab(tab: HTMLDsoTabElement | undefined) {\r\n tab?._dsoFocus();\r\n }\r\n\r\n private moveFocusToPreviousTab(focussedTab: HTMLElement) {\r\n const index = this.enabledTabs.findIndex((tab) => tab === focussedTab);\r\n const next = this.enabledTabs[index - 1] ?? this.lastTab;\r\n\r\n this.moveFocusToTab(next);\r\n }\r\n\r\n private moveFocusToNextTab(focussedTab: HTMLElement) {\r\n const index = this.enabledTabs.findIndex((tab) => tab === focussedTab);\r\n const next = this.enabledTabs[index + 1] ?? this.firstTab;\r\n\r\n this.moveFocusToTab(next);\r\n }\r\n\r\n // Keep track of tabs to set focus on next or previous enabled (not disabled) tab.\r\n private keyUpHandler = (e: KeyboardEvent) => {\r\n if (!(e.target instanceof HTMLElement)) {\r\n return;\r\n }\r\n\r\n switch (e.key) {\r\n case \"ArrowRight\":\r\n case \"ArrowDown\":\r\n this.moveFocusToNextTab(e.target);\r\n break;\r\n case \"ArrowLeft\":\r\n case \"ArrowUp\":\r\n this.moveFocusToPreviousTab(e.target);\r\n break;\r\n default:\r\n return;\r\n }\r\n };\r\n\r\n connectedCallback(): void {\r\n this.mutationObserver ??= new MutationObserver(() => forceUpdate(this.host));\r\n\r\n this.mutationObserver.observe(this.host, { childList: true });\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.mutationObserver?.disconnect();\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div class=\"tabs\" role=\"tablist\" onKeyUp={this.keyUpHandler}>\r\n <slot />\r\n </div>\r\n <div role=\"tabpanel\" tabindex=\"0\">\r\n <slot name=\"panel\" />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"gEAAA,MAAMA,EAAU,gR,MCWHC,EAAI,MALjB,WAAAC,CAAAC,G,UAoDUC,KAAAC,aAAgBC,IACtB,KAAMA,EAAEC,kBAAkBC,aAAc,CACtC,M,CAGF,OAAQF,EAAEG,KACR,IAAK,aACL,IAAK,YACHL,KAAKM,mBAAmBJ,EAAEC,QAC1B,MACF,IAAK,YACL,IAAK,UACHH,KAAKO,uBAAuBL,EAAEC,QAC9B,MACF,QACE,O,CA0BP,CAlFC,eAAYK,GAEV,OAAOC,MAAMC,KAAKV,KAAKW,KAAKC,iBAAoC,qBAAqBC,QACnF,CAACC,EAAMC,KACL,IAAKA,EAAIC,SAAU,CACjBF,EAAKG,KAAKF,E,CAGZ,OAAOD,CAAI,GAEb,G,CAIJ,YAAYI,GACV,OAAOlB,KAAKQ,YAAY,E,CAG1B,WAAYW,GACV,OAAOnB,KAAKQ,YAAYR,KAAKQ,YAAYY,OAAS,E,CAG5C,cAAAC,CAAeN,GACrBA,IAAG,MAAHA,SAAG,SAAHA,EAAKO,W,CAGC,sBAAAf,CAAuBgB,G,MAC7B,MAAMC,EAAQxB,KAAKQ,YAAYiB,WAAWV,GAAQA,IAAQQ,IAC1D,MAAMG,GAAOC,EAAA3B,KAAKQ,YAAYgB,EAAQ,MAAE,MAAAG,SAAA,EAAAA,EAAI3B,KAAKmB,QAEjDnB,KAAKqB,eAAeK,E,CAGd,kBAAApB,CAAmBiB,G,MACzB,MAAMC,EAAQxB,KAAKQ,YAAYiB,WAAWV,GAAQA,IAAQQ,IAC1D,MAAMG,GAAOC,EAAA3B,KAAKQ,YAAYgB,EAAQ,MAAE,MAAAG,SAAA,EAAAA,EAAI3B,KAAKkB,SAEjDlB,KAAKqB,eAAeK,E,CAuBtB,iBAAAE,G,OACED,EAAA3B,KAAK6B,oBAAgB,MAAAF,SAAA,EAAAA,EAArB3B,KAAK6B,iBAAqB,IAAIC,kBAAiB,IAAMC,EAAY/B,KAAKW,QAEtEX,KAAK6B,iBAAiBG,QAAQhC,KAAKW,KAAM,CAAEsB,UAAW,M,CAGxD,oBAAAC,G,OACEP,EAAA3B,KAAK6B,oBAAkB,MAAAF,SAAA,SAAAA,EAAAQ,Y,CAGzB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAjC,IAAA,4CACHgC,EAAA,OAAAhC,IAAA,2CAAKkC,MAAM,OAAOC,KAAK,UAAUC,QAASzC,KAAKC,cAC7CoC,EAAA,QAAAhC,IAAA,8CAEFgC,EAAA,OAAAhC,IAAA,2CAAKmC,KAAK,WAAWE,SAAS,KAC5BL,EAAA,QAAAhC,IAAA,2CAAMsC,KAAK,W","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as i,F as s,g as e}from"./p-C-b4jsbt.js";const o='@charset "UTF-8";*,*::after,*::before{box-sizing:border-box}:host{display:inline-block;--tooltip-margin-block-start:0;--tooltip-margin-inline-start:3px;--tooltip-margin-inline-end:units.$u1 * -1 !important}:host(:focus){outline:none;z-index:410}';const h=class{constructor(i){t(this,i);this.active=false;this.label="Toelichting";this.position="right";this.click=()=>{if(this.active){this.close()}else{this.open()}};this.open=()=>{this.active=true;this.host.addEventListener("keydown",this.keyDownListener);this.host.addEventListener("focusout",this.focusOutListener)};this.close=()=>{this.host.removeEventListener("focusout",this.focusOutListener);this.host.removeEventListener("keydown",this.keyDownListener);this.active=false};this.focusOutListener=t=>{if(!this.host.contains(t.relatedTarget)){this.close()}};this.keyDownListener=t=>{var i;if(!t.defaultPrevented&&t.key==="Escape"){this.close();(i=this.infoButton)===null||i===void 0?void 0:i.setFocus();t.preventDefault()}return}}render(){return i(s,null,i("dso-info-button",{key:"111128db00e6c05e29bdee109ccc04faddb86c66","aria-describedby":"toggle",onClick:this.click,label:this.label,active:this.active,secondary:this.secondary,ref:t=>this.infoButton=t}),i("dso-tooltip",{key:"42728fdc33b9c2994a6a3dc78ef487beb2c7acab",stateless:true,descriptive:true,id:"toggle",strategy:"absolute",active:this.active,position:this.position,small:this.small},i("slot",{key:"96d983d968250a2e81727d90990e3145fb2ed1fc"})))}get host(){return e(this)}};h.style=o;export{h as dso_toggletip};
2
+ //# sourceMappingURL=p-356f8d94.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["toggletipCss","Toggletip","constructor","hostRef","this","active","label","position","click","close","open","host","addEventListener","keyDownListener","focusOutListener","removeEventListener","event","contains","relatedTarget","defaultPrevented","key","_a","infoButton","setFocus","preventDefault","render","h","Fragment","onClick","secondary","ref","element","stateless","descriptive","id","strategy","small"],"sources":["src/components/toggletip/toggletip.scss?tag=dso-toggletip&encapsulation=shadow","src/components/toggletip/toggletip.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n display: inline-block;\r\n\r\n // tooltip arrow placement exceptions\r\n --tooltip-margin-block-start: 0;\r\n --tooltip-margin-inline-start: 3px;\r\n --tooltip-margin-inline-end: units.$u1 * -1 !important;\r\n}\r\n\r\n:host(:focus) {\r\n outline: none;\r\n z-index: zindex.$tooltip;\r\n}\r\n","import { Placement } from \"@popperjs/core\";\r\nimport { Component, Element, Fragment, Prop, State, h } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"dso-toggletip\",\r\n styleUrl: \"toggletip.scss\",\r\n shadow: true,\r\n})\r\nexport class Toggletip {\r\n @Element()\r\n host!: HTMLDsoToggletipElement;\r\n\r\n @State()\r\n active = false;\r\n\r\n /**\r\n * Toggletip label.\r\n */\r\n @Prop()\r\n label = \"Toelichting\";\r\n\r\n /**\r\n * Toggletip position.\r\n */\r\n @Prop()\r\n position: Placement = \"right\";\r\n\r\n /**\r\n * Set to true for small Toggletip.\r\n */\r\n @Prop()\r\n small?: boolean;\r\n\r\n /**\r\n * Set to true for secondary Toggletip.\r\n */\r\n @Prop()\r\n secondary?: boolean;\r\n\r\n private infoButton?: HTMLDsoInfoButtonElement;\r\n\r\n private click = () => {\r\n if (this.active) {\r\n this.close();\r\n } else {\r\n this.open();\r\n }\r\n };\r\n\r\n private open = () => {\r\n this.active = true;\r\n this.host.addEventListener(\"keydown\", this.keyDownListener);\r\n this.host.addEventListener(\"focusout\", this.focusOutListener);\r\n };\r\n\r\n private close = () => {\r\n this.host.removeEventListener(\"focusout\", this.focusOutListener);\r\n this.host.removeEventListener(\"keydown\", this.keyDownListener);\r\n this.active = false;\r\n };\r\n\r\n private focusOutListener = (event: FocusEvent) => {\r\n if (!this.host.contains(event.relatedTarget as Node)) {\r\n this.close();\r\n }\r\n };\r\n\r\n private keyDownListener = (event: KeyboardEvent) => {\r\n if (!event.defaultPrevented && event.key === \"Escape\") {\r\n this.close();\r\n this.infoButton?.setFocus();\r\n event.preventDefault();\r\n }\r\n\r\n return;\r\n };\r\n\r\n render() {\r\n return (\r\n <>\r\n <dso-info-button\r\n aria-describedby=\"toggle\"\r\n onClick={this.click}\r\n label={this.label}\r\n active={this.active}\r\n secondary={this.secondary}\r\n ref={(element) => (this.infoButton = element)}\r\n />\r\n <dso-tooltip\r\n stateless\r\n descriptive\r\n id=\"toggle\"\r\n strategy=\"absolute\"\r\n active={this.active}\r\n position={this.position}\r\n small={this.small}\r\n >\r\n <slot />\r\n </dso-tooltip>\r\n </>\r\n );\r\n }\r\n}\r\n"],"mappings":"yDAAA,MAAMA,EAAe,uO,MCQRC,EAAS,MALtB,WAAAC,CAAAC,G,UAUEC,KAAMC,OAAG,MAMTD,KAAKE,MAAG,cAMRF,KAAQG,SAAc,QAgBdH,KAAKI,MAAG,KACd,GAAIJ,KAAKC,OAAQ,CACfD,KAAKK,O,KACA,CACLL,KAAKM,M,GAIDN,KAAIM,KAAG,KACbN,KAAKC,OAAS,KACdD,KAAKO,KAAKC,iBAAiB,UAAWR,KAAKS,iBAC3CT,KAAKO,KAAKC,iBAAiB,WAAYR,KAAKU,iBAAiB,EAGvDV,KAAKK,MAAG,KACdL,KAAKO,KAAKI,oBAAoB,WAAYX,KAAKU,kBAC/CV,KAAKO,KAAKI,oBAAoB,UAAWX,KAAKS,iBAC9CT,KAAKC,OAAS,KAAK,EAGbD,KAAAU,iBAAoBE,IAC1B,IAAKZ,KAAKO,KAAKM,SAASD,EAAME,eAAwB,CACpDd,KAAKK,O,GAIDL,KAAAS,gBAAmBG,I,MACzB,IAAKA,EAAMG,kBAAoBH,EAAMI,MAAQ,SAAU,CACrDhB,KAAKK,SACLY,EAAAjB,KAAKkB,cAAY,MAAAD,SAAA,SAAAA,EAAAE,WACjBP,EAAMQ,gB,CAGR,OA4BH,CAzBC,MAAAC,GACE,OACEC,EAAAC,EAAA,KACED,EAAA,mBAAAN,IAAA,8DACmB,SACjBQ,QAASxB,KAAKI,MACdF,MAAOF,KAAKE,MACZD,OAAQD,KAAKC,OACbwB,UAAWzB,KAAKyB,UAChBC,IAAMC,GAAa3B,KAAKkB,WAAaS,IAEvCL,EAAA,eAAAN,IAAA,2CACEY,UAAS,KACTC,YAAW,KACXC,GAAG,SACHC,SAAS,WACT9B,OAAQD,KAAKC,OACbE,SAAUH,KAAKG,SACf6B,MAAOhC,KAAKgC,OAEZV,EAAQ,QAAAN,IAAA,8C","ignoreList":[]}
1
+ {"version":3,"names":["toggletipCss","Toggletip","constructor","hostRef","this","active","label","position","click","close","open","host","addEventListener","keyDownListener","focusOutListener","removeEventListener","event","contains","relatedTarget","defaultPrevented","key","_a","infoButton","setFocus","preventDefault","render","h","Fragment","onClick","secondary","ref","element","stateless","descriptive","id","strategy","small"],"sources":["src/components/toggletip/toggletip.scss?tag=dso-toggletip&encapsulation=shadow","src/components/toggletip/toggletip.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n display: inline-block;\r\n\r\n // tooltip arrow placement exceptions\r\n --tooltip-margin-block-start: 0;\r\n --tooltip-margin-inline-start: 3px;\r\n --tooltip-margin-inline-end: units.$u1 * -1 !important;\r\n}\r\n\r\n:host(:focus) {\r\n outline: none;\r\n z-index: zindex.$tooltip;\r\n}\r\n","import { Placement } from \"@popperjs/core\";\r\nimport { Component, Element, Fragment, Prop, State, h } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"dso-toggletip\",\r\n styleUrl: \"toggletip.scss\",\r\n shadow: true,\r\n})\r\nexport class Toggletip {\r\n @Element()\r\n host!: HTMLDsoToggletipElement;\r\n\r\n @State()\r\n active = false;\r\n\r\n /**\r\n * Toggletip label.\r\n */\r\n @Prop()\r\n label = \"Toelichting\";\r\n\r\n /**\r\n * Toggletip position.\r\n */\r\n @Prop()\r\n position: Placement = \"right\";\r\n\r\n /**\r\n * Set to true for small Toggletip.\r\n */\r\n @Prop()\r\n small?: boolean;\r\n\r\n /**\r\n * Set to true for secondary Toggletip.\r\n */\r\n @Prop()\r\n secondary?: boolean;\r\n\r\n private infoButton?: HTMLDsoInfoButtonElement;\r\n\r\n private click = () => {\r\n if (this.active) {\r\n this.close();\r\n } else {\r\n this.open();\r\n }\r\n };\r\n\r\n private open = () => {\r\n this.active = true;\r\n this.host.addEventListener(\"keydown\", this.keyDownListener);\r\n this.host.addEventListener(\"focusout\", this.focusOutListener);\r\n };\r\n\r\n private close = () => {\r\n this.host.removeEventListener(\"focusout\", this.focusOutListener);\r\n this.host.removeEventListener(\"keydown\", this.keyDownListener);\r\n this.active = false;\r\n };\r\n\r\n private focusOutListener = (event: FocusEvent) => {\r\n if (!this.host.contains(event.relatedTarget as Node)) {\r\n this.close();\r\n }\r\n };\r\n\r\n private keyDownListener = (event: KeyboardEvent) => {\r\n if (!event.defaultPrevented && event.key === \"Escape\") {\r\n this.close();\r\n this.infoButton?.setFocus();\r\n event.preventDefault();\r\n }\r\n\r\n return;\r\n };\r\n\r\n render() {\r\n return (\r\n <>\r\n <dso-info-button\r\n aria-describedby=\"toggle\"\r\n onClick={this.click}\r\n label={this.label}\r\n active={this.active}\r\n secondary={this.secondary}\r\n ref={(element) => (this.infoButton = element)}\r\n />\r\n <dso-tooltip\r\n stateless\r\n descriptive\r\n id=\"toggle\"\r\n strategy=\"absolute\"\r\n active={this.active}\r\n position={this.position}\r\n small={this.small}\r\n >\r\n <slot />\r\n </dso-tooltip>\r\n </>\r\n );\r\n }\r\n}\r\n"],"mappings":"yDAAA,MAAMA,EAAe,wP,MCQRC,EAAS,MALtB,WAAAC,CAAAC,G,UAUEC,KAAMC,OAAG,MAMTD,KAAKE,MAAG,cAMRF,KAAQG,SAAc,QAgBdH,KAAKI,MAAG,KACd,GAAIJ,KAAKC,OAAQ,CACfD,KAAKK,O,KACA,CACLL,KAAKM,M,GAIDN,KAAIM,KAAG,KACbN,KAAKC,OAAS,KACdD,KAAKO,KAAKC,iBAAiB,UAAWR,KAAKS,iBAC3CT,KAAKO,KAAKC,iBAAiB,WAAYR,KAAKU,iBAAiB,EAGvDV,KAAKK,MAAG,KACdL,KAAKO,KAAKI,oBAAoB,WAAYX,KAAKU,kBAC/CV,KAAKO,KAAKI,oBAAoB,UAAWX,KAAKS,iBAC9CT,KAAKC,OAAS,KAAK,EAGbD,KAAAU,iBAAoBE,IAC1B,IAAKZ,KAAKO,KAAKM,SAASD,EAAME,eAAwB,CACpDd,KAAKK,O,GAIDL,KAAAS,gBAAmBG,I,MACzB,IAAKA,EAAMG,kBAAoBH,EAAMI,MAAQ,SAAU,CACrDhB,KAAKK,SACLY,EAAAjB,KAAKkB,cAAY,MAAAD,SAAA,SAAAA,EAAAE,WACjBP,EAAMQ,gB,CAGR,OA4BH,CAzBC,MAAAC,GACE,OACEC,EAAAC,EAAA,KACED,EAAA,mBAAAN,IAAA,8DACmB,SACjBQ,QAASxB,KAAKI,MACdF,MAAOF,KAAKE,MACZD,OAAQD,KAAKC,OACbwB,UAAWzB,KAAKyB,UAChBC,IAAMC,GAAa3B,KAAKkB,WAAaS,IAEvCL,EAAA,eAAAN,IAAA,2CACEY,UAAS,KACTC,YAAW,KACXC,GAAG,SACHC,SAAS,WACT9B,OAAQD,KAAKC,OACbE,SAAUH,KAAKG,SACf6B,MAAOhC,KAAKgC,OAEZV,EAAQ,QAAAN,IAAA,8C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as s,h as o}from"./p-C-b4jsbt.js";import{c as e}from"./p-ChV9xqsO.js";const c='@charset "UTF-8";: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 a=class{constructor(o){s(this,o);this.compact=false;this.icon=false}render(){return o("section",{key:"6ec542fbb7b329d79fb6065c74be3c30edaa5bcc",class:e("dso-banner",`alert-${this.status}`,{"dso-compact":this.compact}),role:"alert"},o("slot",{key:"c940029d0ad0ec681811cd6bb68446ccd41878c9"}))}};a.style=c;export{a as dso_banner};
2
+ //# sourceMappingURL=p-3d414fae.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["bannerCss","Banner","constructor","hostRef","this","compact","icon","render","h","key","class","clsx","status","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, Prop, h } 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!: \"success\" | \"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 * *Icon can only be hidden when the 'compact' property is set to true.\r\n *\r\n * Option to show banner icon.\r\n */\r\n @Prop({ reflect: true })\r\n icon = false;\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,gM,MCQLC,EAAM,MALnB,WAAAC,CAAAC,G,UAgBEC,KAAOC,QAAG,MAQVD,KAAIE,KAAG,KAcR,CAZC,MAAAC,GACE,OACEC,EAAA,WAAAC,IAAA,2CACEC,MAAOC,EAAK,aAAc,SAASP,KAAKQ,SAAU,CAChD,cAAeR,KAAKC,UAEtBQ,KAAK,SAELL,EAAa,QAAAC,IAAA,6C","ignoreList":[]}
1
+ {"version":3,"names":["bannerCss","Banner","constructor","hostRef","this","compact","icon","render","h","key","class","clsx","status","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, Prop, h } 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!: \"success\" | \"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 * *Icon can only be hidden when the 'compact' property is set to true.\r\n *\r\n * Option to show banner icon.\r\n */\r\n @Prop({ reflect: true })\r\n icon = false;\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,iN,MCQLC,EAAM,MALnB,WAAAC,CAAAC,G,UAgBEC,KAAOC,QAAG,MAQVD,KAAIE,KAAG,KAcR,CAZC,MAAAC,GACE,OACEC,EAAA,WAAAC,IAAA,2CACEC,MAAOC,EAAK,aAAc,SAASP,KAAKQ,SAAU,CAChD,cAAeR,KAAKC,UAEtBQ,KAAK,SAELL,EAAa,QAAAC,IAAA,6C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as t,c as i,H as s,g as a}from"./p-C-b4jsbt.js";import{c as n}from"./p-ChV9xqsO.js";const o='@charset "UTF-8";: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}.dso-attachments{color:var(--dso-attachments-counter-color, #666);display:inline-block;font-weight:400;text-decoration:none;white-space:nowrap}';const r=class{constructor(t){e(this,t)}render(){return t("span",{key:"7bc1608fbe166e44971fe220ab4d6d5ee80aa6cd",class:"dso-attachments"},this.count," ",t("span",{key:"6a1ad89f68cff3c54069c0631fe823149fd57f06",class:"sr-only"},"bijlage",this.count!==1?"n":""),t("dso-icon",{key:"8f45aec5a772805bace01ae3b79e25b52e18a815",icon:"paperclip"}))}};r.style=o;const l='@charset "UTF-8";:host([enable-animation]){display:grid;grid-template-rows:0fr;overflow:hidden;opacity:0;transition:grid-template-rows 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms}:host([enable-animation]:not([open=true])) .slot-container{min-block-size:0;visibility:hidden;transition:visibility 260ms cubic-bezier(0.4, 0, 0.2, 1) 0ms}:host(:not([enable-animation])),:host([enable-animation=false]){display:none}:host([open][enable-animation]:not([open=false])){grid-template-rows:1fr;opacity:1}:host([open][enable-animation]:not([open=false])) .slot-container{visibility:visible}:host([open]:not([enable-animation]):not([open=false])),:host([open][enable-animation=false]:not([open=false])){display:block}*,*::after,*::before{box-sizing:border-box}';const c=class{constructor(t){e(this,t);this.dsoExpandableAnimationStart=i(this,"dsoExpandableAnimationStart",3);this.dsoExpandableAnimationEnd=i(this,"dsoExpandableAnimationEnd",3);this.enableAnimation=false;this.isClosed=true}toggleOpen(){if(!this.enableAnimation){this.isClosed=!this.open}}transitionstartHandler(e){if(e.propertyName==="grid-template-rows"){this.dsoExpandableAnimationStart.emit({currentOpen:!!this.open,nextOpen:!this.open})}}transitionendHandler(e){if(e.propertyName==="grid-template-rows"){this.isClosed=!this.open;this.dsoExpandableAnimationEnd.emit({bodyHeight:this.bodyHeight,open:!!this.open})}}render(){return t(s,{key:"a96a5d368bb844e3598b290ae43a35c80d98df21","aria-hidden":this.open?"false":"true",class:n({"dso-animate-ready":this.enableAnimation,"dso-hide":this.isClosed})},t("div",{key:"52544669ddbf2b2fd7c3c9066ff351ec7461841a",class:"slot-container"},t("slot",{key:"a1f810275d75983b6e584092fe576bd1d54e116d"})))}get host(){return a(this)}static get watchers(){return{open:["toggleOpen"]}}};c.style=l;export{r as dso_attachments_counter,c as dso_expandable};
2
+ //# sourceMappingURL=p-3e736489.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["attachmentsCounterCss","AttachmentsCounter","render","h","key","class","this","count","icon","expandableCss","Expandable","constructor","hostRef","enableAnimation","isClosed","toggleOpen","open","transitionstartHandler","e","propertyName","dsoExpandableAnimationStart","emit","currentOpen","nextOpen","transitionendHandler","dsoExpandableAnimationEnd","bodyHeight","Host","clsx"],"sources":["src/components/attachments-counter/attachments-counter.scss?tag=dso-attachments-counter&encapsulation=shadow","src/components/attachments-counter/attachments-counter.tsx","src/components/expandable/expandable.scss?tag=dso-expandable&encapsulation=shadow","src/components/expandable/expandable.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/attachments-counter\";\r\n\r\n:host {\r\n display: inline-block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-attachments {\r\n @include attachments-counter.root();\r\n}\r\n","import { Component, Prop, h } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"dso-attachments-counter\",\r\n styleUrl: \"attachments-counter.scss\",\r\n shadow: true,\r\n})\r\nexport class AttachmentsCounter {\r\n /**\r\n * The number of attachments.\r\n */\r\n @Prop()\r\n count!: number;\r\n\r\n render() {\r\n return (\r\n <span class=\"dso-attachments\">\r\n {this.count} <span class=\"sr-only\">bijlage{this.count !== 1 ? \"n\" : \"\"}</span>\r\n <dso-icon icon=\"paperclip\"></dso-icon>\r\n </span>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n\r\n:host([enable-animation]) {\r\n display: grid;\r\n grid-template-rows: 0fr;\r\n overflow: hidden;\r\n opacity: 0;\r\n\r\n @include utilities.transition((\"grid-template-rows\", 150ms), (\"opacity\", 300ms));\r\n}\r\n\r\n:host([enable-animation]:not([open=\"true\"])) {\r\n .slot-container {\r\n min-block-size: 0;\r\n visibility: hidden;\r\n\r\n @include utilities.transition(visibility);\r\n }\r\n}\r\n\r\n:host(:not([enable-animation])),\r\n:host([enable-animation=\"false\"]) {\r\n display: none;\r\n}\r\n\r\n:host([open][enable-animation]:not([open=\"false\"])) {\r\n grid-template-rows: 1fr;\r\n opacity: 1;\r\n\r\n .slot-container {\r\n visibility: visible;\r\n }\r\n}\r\n\r\n:host([open]:not([enable-animation]):not([open=\"false\"])),\r\n:host([open][enable-animation=\"false\"]:not([open=\"false\"])) {\r\n display: block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Host,\r\n Listen,\r\n Prop,\r\n State,\r\n Watch,\r\n h,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nexport interface ExpandableAnimationStartEvent {\r\n currentOpen: boolean;\r\n nextOpen: boolean;\r\n}\r\n\r\nexport interface ExpandableAnimationEndEvent {\r\n bodyHeight: number | undefined;\r\n open: boolean;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-expandable\",\r\n styleUrl: \"expandable.scss\",\r\n shadow: true,\r\n})\r\nexport class Expandable implements ComponentInterface {\r\n private bodyHeight?: number;\r\n\r\n @Element()\r\n host!: HTMLDsoExpandableElement;\r\n\r\n /**\r\n * Set to `true` to expand the content.\r\n */\r\n @Prop({ reflect: true })\r\n open?: boolean;\r\n\r\n /**\r\n * Set to `true` to show the content animated.\r\n */\r\n @Prop({ reflect: true })\r\n enableAnimation = false;\r\n\r\n /**\r\n * When enableAnimation is set to `true`, this property specifies the height of this element at which the animation will expand from / collapse to\r\n */\r\n @Prop()\r\n minimumHeight?: number;\r\n\r\n @Watch(\"open\")\r\n toggleOpen() {\r\n if (!this.enableAnimation) {\r\n this.isClosed = !this.open;\r\n }\r\n }\r\n\r\n @State()\r\n isClosed = true;\r\n\r\n /**\r\n * Fired before expanding.\r\n */\r\n @Event({ bubbles: false })\r\n dsoExpandableAnimationStart!: EventEmitter<ExpandableAnimationStartEvent>;\r\n\r\n /**\r\n * Fired after expanding.\r\n */\r\n @Event({ bubbles: false })\r\n dsoExpandableAnimationEnd!: EventEmitter<ExpandableAnimationEndEvent>;\r\n\r\n /**\r\n * Listens to the transitionstart event\r\n */\r\n @Listen(\"transitionstart\")\r\n transitionstartHandler(e: TransitionEvent) {\r\n if (e.propertyName === \"grid-template-rows\") {\r\n this.dsoExpandableAnimationStart.emit({\r\n currentOpen: !!this.open,\r\n nextOpen: !this.open,\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Listens to the transitionend event\r\n */\r\n @Listen(\"transitionend\")\r\n transitionendHandler(e: TransitionEvent) {\r\n if (e.propertyName === \"grid-template-rows\") {\r\n this.isClosed = !this.open;\r\n this.dsoExpandableAnimationEnd.emit({ bodyHeight: this.bodyHeight, open: !!this.open });\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <Host\r\n aria-hidden={this.open ? \"false\" : \"true\"}\r\n class={clsx({\r\n \"dso-animate-ready\": this.enableAnimation,\r\n \"dso-hide\": this.isClosed,\r\n })}\r\n >\r\n <div class=\"slot-container\">\r\n <slot />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"oGAAA,MAAMA,EAAwB,wW,MCOjBC,EAAkB,M,yBAO7B,MAAAC,GACE,OACEC,EAAA,QAAAC,IAAA,2CAAMC,MAAM,mBACTC,KAAKC,MAAK,IAAEJ,EAAM,QAAAC,IAAA,2CAAAC,MAAM,WAAS,UAASC,KAAKC,QAAU,EAAI,IAAM,IACpEJ,EAAA,YAAAC,IAAA,2CAAUI,KAAK,c,aClBvB,MAAMC,EAAgB,0xB,MC8BTC,EAAU,MALvB,WAAAC,CAAAC,G,wJAqBEN,KAAeO,gBAAG,MAgBlBP,KAAQQ,SAAG,IAqDZ,CA5DC,UAAAC,GACE,IAAKT,KAAKO,gBAAiB,CACzBP,KAAKQ,UAAYR,KAAKU,I,EAuB1B,sBAAAC,CAAuBC,GACrB,GAAIA,EAAEC,eAAiB,qBAAsB,CAC3Cb,KAAKc,4BAA4BC,KAAK,CACpCC,cAAehB,KAAKU,KACpBO,UAAWjB,KAAKU,M,EAStB,oBAAAQ,CAAqBN,GACnB,GAAIA,EAAEC,eAAiB,qBAAsB,CAC3Cb,KAAKQ,UAAYR,KAAKU,KACtBV,KAAKmB,0BAA0BJ,KAAK,CAAEK,WAAYpB,KAAKoB,WAAYV,OAAQV,KAAKU,M,EAIpF,MAAAd,GACE,OACEC,EAACwB,EAAI,CAAAvB,IAAA,yDACUE,KAAKU,KAAO,QAAU,OACnCX,MAAOuB,EAAK,CACV,oBAAqBtB,KAAKO,gBAC1B,WAAYP,KAAKQ,YAGnBX,EAAK,OAAAC,IAAA,2CAAAC,MAAM,kBACTF,EAAQ,QAAAC,IAAA,8C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as s,h as t,F as o,f as l,g as c}from"./p-C-b4jsbt.js";import{c as a}from"./p-ChV9xqsO.js";import{c as i}from"./p-DSyv-znO.js";const d='@charset "UTF-8";:host{display:block;padding-block:16px;padding-inline:16px 32px;position:relative}:host{--link-color:currentColor;--link-hover-color:currentColor;--link-visited-color:currentColor;background-color:#f2f2f2;border-color:#f2f2f2;color:#191919}:host a:not(.dso-primary,.dso-secondary,.dso-tertiary):is(.download,.download:hover,.download:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#download-zwart"))}:host a:not(.dso-primary,.dso-secondary,.dso-tertiary):is(.extern,.extern:hover,.extern:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#external-link-zwart"))}:host a:not(.dso-primary,.dso-secondary,.dso-tertiary):is([href^="tel:"],[href^="tel:"]:hover,[href^="tel:"]:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#call-zwart"))}:host a:not(.dso-primary,.dso-secondary,.dso-tertiary):is([href^="mailto:"],[href^="mailto:"]:hover,[href^="mailto:"]:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#email-zwart"))}:host>button{background-color:transparent;border-style:none;padding:0;position:absolute;inset-inline-end:8px;inset-block-start:8px}:host(:not([active],[fixed])),:host([active=false]:not([fixed])),:host([active=false][fixed=false]){display:none}button{-webkit-appearance:button;color:inherit;cursor:pointer;font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}button[disabled]{cursor:default}button::-moz-focus-inner{border:0;padding:0}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}';const b=class{constructor(t){e(this,t);this.dsoClose=s(this,"dsoClose",7)}render(){return t(o,{key:"3b3a3390da24484d21869661692c293f766bb06b"},t("slot",{key:"83976a207e4c1505329876192c83e6eccc1f6a52"}),!this.fixed&&t("button",{key:"de983b145b9a2cfd1adccc13116f0f17e8130314",type:"button",onClick:e=>this.dsoClose.emit(e)},t("dso-icon",{key:"c34a3568d69b61537de385c4e9b6277be5ea7697",icon:"times"}),t("span",{key:"bc2069fa68085e27fd9bab79d41ec801f5da1c5f",class:"sr-only"},"Sluiten")))}};b.style=d;const n='@charset "UTF-8";.sc-dso-selectable-h{padding-inline-start:32px;position:relative;display:var(--dso-selectable-display, block)}.sc-dso-selectable-h label.sc-dso-selectable{font-weight:400;line-height:24px;margin:0}.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable:focus+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable:focus+label.sc-dso-selectable::before{background-color:#fff;box-shadow:0 0 0 2px #e5e5e5}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable{block-size:24px;inset-inline-start:0;margin:0;opacity:0;position:absolute;inset-block-start:0;inline-size:24px;z-index:100;zoom:1}@media (prefers-contrast: more){.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable{opacity:1}}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:not([disabled]),.sc-dso-selectable-h input[type=radio].sc-dso-selectable:not([disabled]){cursor:pointer}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable{display:inline;font-style:normal;padding-inline-start:0}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::before{background:#fff;border:0;box-shadow:0 0 0 2px var(--dso-selectable-color, #275937);content:"";block-size:20px;inset-inline-start:2px;position:absolute;inset-block-start:2px;inline-size:20px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:focus,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:focus{outline:0}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:focus+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:focus+label.sc-dso-selectable::before{box-shadow:0 0 0 3px var(--dso-selectable-color, #275937);block-size:18px;inset-inline-start:3px;inset-block-start:3px;inline-size:18px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox].active.sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].active.sc-dso-selectable+label.sc-dso-selectable::before{background-color:#ebf3e6;box-shadow:0 0 0 1px #275937;block-size:22px;inset-inline-start:1px;inset-block-start:1px;inline-size:22px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::before{border-radius:4px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::after{background:transparent;content:"";inset-inline-start:6px;opacity:0;position:absolute;inset-block-start:6px;zoom:1}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:checked+label.sc-dso-selectable::after,.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:indeterminate+label.sc-dso-selectable::after{opacity:1}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:checked+label.sc-dso-selectable::after{border:solid;border-color:var(--dso-selectable-color, #39870c);border-block-start-color:transparent;border-width:0 0 3px 3px;block-size:8px;transform:rotate(-45deg);inline-size:13px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:indeterminate+label.sc-dso-selectable::after{background-color:var(--dso-selectable-color, #39870c);block-size:12px;inline-size:12px}.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::before{border-radius:50%}.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::after{background-color:transparent;border-radius:50%;content:"";block-size:12px;inset-inline-start:6px;opacity:0;position:absolute;inset-block-start:6px;inline-size:12px;zoom:1}.sc-dso-selectable-h input[type=radio].sc-dso-selectable:checked+label.sc-dso-selectable::after{background-color:var(--dso-selectable-color, #39870c);opacity:1}[invalid].sc-dso-selectable-h:not([invalid=false]){--dso-selectable-color:#ce3f51}.sc-dso-selectable-h>dso-info.sc-dso-selectable{float:none;margin-block:8px 0;margin-inline:0 16px;inline-size:100%}.sc-dso-selectable-h .dso-selectable-options.sc-dso-selectable{list-style:none;margin-block-start:8px;padding-inline-start:0}.sc-dso-selectable-h .dso-selectable-options.sc-dso-selectable li.sc-dso-selectable+li.sc-dso-selectable{margin-block-start:8px}.sc-dso-selectable-h:not(:last-child){margin-block-end:8px}*.sc-dso-selectable,*.sc-dso-selectable::after,*.sc-dso-selectable::before{box-sizing:border-box}.dso-selectable-container.sc-dso-selectable{display:inline-block}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable{display:inline-block;min-block-size:24px}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable:focus-within.dso-keyboard-focus{position:relative;inset-inline-start:-32px;padding-inline-start:32px;margin-inline-end:-32px;border-radius:2px;outline-offset:3px;outline:3px solid #008ccc}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable input[type=radio].sc-dso-selectable:focus+label.sc-dso-selectable::before,.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable input[type=checkbox].sc-dso-selectable:focus+label.sc-dso-selectable::before{box-shadow:0 0 0 2px var(--dso-selectable-color, #275937);block-size:20px;inset-inline-start:2px;inset-block-start:2px;inline-size:20px}';const r=class{constructor(t){e(this,t);this.dsoChange=s(this,"dsoChange",7);this.infoActive=false;this.keyboardFocus=false;this.fallbackIdentifier=i("DsoSelectable");this.handleOnChange=e=>{const{target:s}=e;this.dsoChange.emit({originalEvent:e,checked:s instanceof HTMLInputElement&&s.checked});l(this.host)}}async toggleInfo(e){this.infoActive=e!==null&&e!==void 0?e:!this.infoActive}componentDidLoad(){var e;(e=this.mutationObserver)===null||e===void 0?void 0:e.disconnect();this.mutationObserver=new MutationObserver((()=>l(this.host)));this.mutationObserver.observe(this.host,{childList:true});this.setIndeterminate()}disconnectedCallback(){var e;(e=this.mutationObserver)===null||e===void 0?void 0:e.disconnect()}setIndeterminate(){if(!(this.input instanceof HTMLInputElement)||this.type!=="checkbox"){return}this.input.indeterminate=!!this.indeterminate}render(){var e;const s=!!this.host.querySelector('[slot="info"]');return t(o,{key:"73752b8d5723782d54247eb40b5a8e9df30b67ad"},t("div",{key:"bed14c893c0234824644ab4e9c29eecc8cb64a1c",class:"dso-selectable-container"},t("div",{key:"8aee25dbb1debc61322e11b3a80c75d3d04395a4",class:a("dso-selectable-input-wrapper",{"dso-keyboard-focus":this.keyboardFocus})},t("input",{key:"03c978d558bf042c2da38d38bec5069c4f081bf6",type:this.type,id:this.getIdentifier(),value:this.value,name:this.name,"aria-invalid":(e=this.invalid)===null||e===void 0?void 0:e.toString(),"aria-describedby":s&&this.infoFixed?this.describedById:undefined,"aria-labelledBy":this.labelledById,disabled:this.disabled,required:this.required,checked:this.checked,onChange:this.handleOnChange,onBlur:()=>this.keyboardFocus=false,onKeyUp:()=>this.keyboardFocus=true,ref:e=>this.input=e}),!this.labelledById?t("label",{htmlFor:this.getIdentifier()},t("slot",null)):t("label",null,t("slot",null))),s&&!this.infoFixed&&t("dso-info-button",{key:"75a5249bb08cc268bb55fbc4f78885b927f976e6",active:this.infoActive,onDsoToggle:e=>this.infoActive=e.detail.active})),s&&t("dso-info",{key:"35c68222ed20680d77a42345d49db42f93bccb81",id:s&&this.infoFixed?this.describedById:undefined,fixed:this.infoFixed,active:this.infoActive,onDsoClose:()=>this.infoActive=false},t("div",{key:"94fa6da9241bc99b360cdca622cd2fd25f8ddab9"},t("slot",{key:"87c99f30b6fb96c161864ac9b4f4ed0f9a079c80",name:"info"}))),t("slot",{key:"2dfc5263216cb6e0b03242a6c80aa9018e823214",name:"options"}))}componentDidRender(){if(this.input&&typeof this.checked==="boolean"&&this.input.checked!==this.checked){this.input.checked=this.checked}}getIdentifier(){var e;return(e=this.identifier)!==null&&e!==void 0?e:this.fallbackIdentifier}get host(){return c(this)}static get watchers(){return{indeterminate:["setIndeterminate"]}}};r.style=n;export{b as dso_info,r as dso_selectable};
2
+ //# sourceMappingURL=p-4ac06008.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["infoCss","Info","render","h","Fragment","key","this","fixed","type","onClick","e","dsoClose","emit","icon","class","selectableCss","Selectable","constructor","hostRef","infoActive","keyboardFocus","fallbackIdentifier","createIdentifier","handleOnChange","target","dsoChange","originalEvent","checked","HTMLInputElement","forceUpdate","host","toggleInfo","active","componentDidLoad","_a","mutationObserver","disconnect","MutationObserver","observe","childList","setIndeterminate","disconnectedCallback","input","indeterminate","hasInfo","querySelector","clsx","id","getIdentifier","value","name","invalid","toString","infoFixed","describedById","undefined","labelledById","disabled","required","onChange","onBlur","onKeyUp","ref","el","htmlFor","onDsoToggle","detail","onDsoClose","componentDidRender","identifier"],"sources":["src/components/info/info.scss?tag=dso-info&encapsulation=shadow","src/components/info/info.tsx","src/components/selectable/selectable.scss?tag=dso-selectable&encapsulation=scoped","src/components/selectable/selectable.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/info\";\r\n\r\n:host {\r\n display: block;\r\n\r\n @include info.root();\r\n}\r\n\r\n:host(:not([active], [fixed])),\r\n:host([active=\"false\"]:not([fixed])),\r\n:host([active=\"false\"][fixed=\"false\"]) {\r\n display: none;\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n","import { Component, Event, EventEmitter, Fragment, Prop, h } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"dso-info\",\r\n styleUrl: \"./info.scss\",\r\n shadow: true,\r\n})\r\nexport class Info {\r\n /**\r\n * Set to true if the Info should not be toggled and always visible.\r\n */\r\n @Prop({ reflect: true })\r\n fixed?: boolean;\r\n\r\n /**\r\n * Whether the Info is active.\r\n */\r\n @Prop({ reflect: true })\r\n active?: boolean;\r\n\r\n /**\r\n * Emitted when the user activates the close button.\r\n */\r\n @Event()\r\n dsoClose!: EventEmitter<MouseEvent>;\r\n\r\n render() {\r\n return (\r\n <Fragment>\r\n <slot></slot>\r\n {!this.fixed && (\r\n <button type=\"button\" onClick={(e) => this.dsoClose.emit(e)}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Sluiten</span>\r\n </button>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/selectable\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n padding-inline-start: selectable.$symbol-indent;\r\n\r\n @include selectable.root(false);\r\n\r\n &[invalid]:not([invalid=\"false\"]) {\r\n @include selectable.invalid();\r\n }\r\n\r\n @include selectable.children(\"dso-info\");\r\n}\r\n\r\n:host(:not(:last-child)) {\r\n @include selectable.notLastChild();\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.dso-selectable-container {\r\n display: inline-block;\r\n\r\n .dso-selectable-input-wrapper {\r\n display: inline-block;\r\n min-block-size: units.$u3;\r\n\r\n &:focus-within.dso-keyboard-focus {\r\n position: relative;\r\n inset-inline-start: -(selectable.$symbol-indent);\r\n\r\n padding-inline-start: selectable.$symbol-indent;\r\n\r\n margin-inline-end: -(selectable.$symbol-indent);\r\n\r\n @include utilities.focus-outline();\r\n }\r\n\r\n input[type=\"radio\"],\r\n input[type=\"checkbox\"] {\r\n &:focus + label::before {\r\n @include selectable.selectableBoxShadow(\r\n selectable.$border-width,\r\n var(--dso-selectable-color, selectable.$valid-color)\r\n );\r\n }\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Method,\r\n Prop,\r\n State,\r\n Watch,\r\n forceUpdate,\r\n h,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { createIdentifier } from \"../../utils/create-identifier\";\r\n\r\nimport { SelectableChangeEvent } from \"./selectable.interfaces\";\r\n\r\n/**\r\n * @slot - The label for this control\r\n * @slot info - Rich Content to be slotted in Info.\r\n * @slot options - for further nested selectable options: `<ul class=\"dso-selectable-options\" slot=\"options\">` and wrap each Selectable in a `<li>`.\r\n */\r\n@Component({\r\n tag: \"dso-selectable\",\r\n styleUrl: \"selectable.scss\",\r\n scoped: true,\r\n})\r\nexport class Selectable implements ComponentInterface {\r\n /**\r\n * Type of Selectable.\r\n *\r\n * `checkbox`: Multiple options\r\n * `radio`: Single option.\r\n */\r\n @Prop()\r\n type!: \"checkbox\" | \"radio\";\r\n\r\n /**\r\n * To set `<input id>` attribute for external references.\r\n */\r\n @Prop()\r\n identifier?: string;\r\n\r\n /**\r\n * Name of the Selectable. Can be used to group Selectables.\r\n */\r\n @Prop()\r\n name?: string;\r\n\r\n /**\r\n * The value of the Selectable.\r\n */\r\n @Prop()\r\n value!: string;\r\n\r\n /**\r\n * Set to true of the current value is not valid.\r\n */\r\n @Prop()\r\n invalid?: boolean;\r\n\r\n /**\r\n * To link this control to an element that describes it.\r\n */\r\n @Prop()\r\n describedById?: string;\r\n\r\n /**\r\n * To link this control to an element that labels it.\r\n */\r\n @Prop()\r\n labelledById?: string;\r\n\r\n /**\r\n * To disable the Selectable.\r\n */\r\n @Prop()\r\n disabled?: boolean;\r\n\r\n /**\r\n * To mark the Selectable as required.\r\n */\r\n @Prop()\r\n required?: boolean;\r\n\r\n /**\r\n * Mark the Selectable as checked\r\n */\r\n @Prop({ reflect: true })\r\n checked?: boolean;\r\n\r\n /**\r\n * An indeterminate state is neither true or false. It means the answer is somewhere in between.\r\n *\r\n * Can be used to indicate child Selectables that are a mix of checked and unchecked.\r\n */\r\n @Prop()\r\n indeterminate?: boolean;\r\n\r\n /**\r\n * Set to true if the Info should not be toggled and always visible.\r\n */\r\n @Prop()\r\n infoFixed?: boolean;\r\n\r\n /**\r\n * Emitted when the user checks or unchecks the Selectable.\r\n */\r\n @Event()\r\n dsoChange!: EventEmitter<SelectableChangeEvent>;\r\n\r\n @Element()\r\n host!: HTMLDsoSelectableElement;\r\n\r\n @State()\r\n infoActive = false;\r\n\r\n @State()\r\n keyboardFocus = false;\r\n\r\n /**\r\n * Method to toggle the Info. Is set to `active` when passed.\r\n *\r\n * If `active` is not passed, Info is toggled to opposite value.\r\n * @param active\r\n */\r\n @Method()\r\n async toggleInfo(active?: boolean) {\r\n this.infoActive = active ?? !this.infoActive;\r\n }\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private fallbackIdentifier = createIdentifier(\"DsoSelectable\");\r\n\r\n private input: HTMLInputElement | undefined;\r\n\r\n private handleOnChange = (e: Event) => {\r\n const { target } = e;\r\n\r\n this.dsoChange.emit({\r\n originalEvent: e,\r\n checked: target instanceof HTMLInputElement && target.checked,\r\n });\r\n\r\n forceUpdate(this.host);\r\n };\r\n\r\n componentDidLoad() {\r\n this.mutationObserver?.disconnect();\r\n\r\n this.mutationObserver = new MutationObserver(() => forceUpdate(this.host));\r\n this.mutationObserver.observe(this.host, {\r\n childList: true,\r\n });\r\n\r\n this.setIndeterminate();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.mutationObserver?.disconnect();\r\n }\r\n\r\n @Watch(\"indeterminate\")\r\n setIndeterminate() {\r\n if (!(this.input instanceof HTMLInputElement) || this.type !== \"checkbox\") {\r\n return;\r\n }\r\n\r\n this.input.indeterminate = !!this.indeterminate;\r\n }\r\n\r\n render() {\r\n const hasInfo = !!this.host.querySelector('[slot=\"info\"]');\r\n\r\n return (\r\n <Fragment>\r\n <div class=\"dso-selectable-container\">\r\n <div class={clsx(\"dso-selectable-input-wrapper\", { \"dso-keyboard-focus\": this.keyboardFocus })}>\r\n <input\r\n type={this.type}\r\n id={this.getIdentifier()}\r\n value={this.value}\r\n name={this.name}\r\n aria-invalid={this.invalid?.toString()}\r\n aria-describedby={hasInfo && this.infoFixed ? this.describedById : undefined}\r\n aria-labelledBy={this.labelledById}\r\n disabled={this.disabled}\r\n required={this.required}\r\n checked={this.checked}\r\n onChange={this.handleOnChange}\r\n onBlur={() => (this.keyboardFocus = false)}\r\n onKeyUp={() => (this.keyboardFocus = true)}\r\n ref={(el) => (this.input = el)}\r\n />\r\n {!this.labelledById ? (\r\n <label htmlFor={this.getIdentifier()}>\r\n <slot />\r\n </label>\r\n ) : (\r\n <label>\r\n <slot />\r\n </label>\r\n )}\r\n </div>\r\n {hasInfo && !this.infoFixed && (\r\n <dso-info-button\r\n active={this.infoActive}\r\n onDsoToggle={(e) => (this.infoActive = e.detail.active)}\r\n ></dso-info-button>\r\n )}\r\n </div>\r\n {hasInfo && (\r\n <dso-info\r\n id={hasInfo && this.infoFixed ? this.describedById : undefined}\r\n fixed={this.infoFixed}\r\n active={this.infoActive}\r\n onDsoClose={() => (this.infoActive = false)}\r\n >\r\n <div>\r\n <slot name=\"info\"></slot>\r\n </div>\r\n </dso-info>\r\n )}\r\n <slot name=\"options\" />\r\n </Fragment>\r\n );\r\n }\r\n\r\n componentDidRender(): void {\r\n if (this.input && typeof this.checked === \"boolean\" && this.input.checked !== this.checked) {\r\n this.input.checked = this.checked;\r\n }\r\n }\r\n\r\n private getIdentifier(): string {\r\n return this.identifier ?? this.fallbackIdentifier;\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["infoCss","Info","render","h","Fragment","key","this","fixed","type","onClick","e","dsoClose","emit","icon","class","selectableCss","Selectable","constructor","hostRef","infoActive","keyboardFocus","fallbackIdentifier","createIdentifier","handleOnChange","target","dsoChange","originalEvent","checked","HTMLInputElement","forceUpdate","host","toggleInfo","active","componentDidLoad","_a","mutationObserver","disconnect","MutationObserver","observe","childList","setIndeterminate","disconnectedCallback","input","indeterminate","hasInfo","querySelector","clsx","id","getIdentifier","value","name","invalid","toString","infoFixed","describedById","undefined","labelledById","disabled","required","onChange","onBlur","onKeyUp","ref","el","htmlFor","onDsoToggle","detail","onDsoClose","componentDidRender","identifier"],"sources":["src/components/info/info.scss?tag=dso-info&encapsulation=shadow","src/components/info/info.tsx","src/components/selectable/selectable.scss?tag=dso-selectable&encapsulation=scoped","src/components/selectable/selectable.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/info\";\r\n\r\n:host {\r\n display: block;\r\n\r\n @include info.root();\r\n}\r\n\r\n:host(:not([active], [fixed])),\r\n:host([active=\"false\"]:not([fixed])),\r\n:host([active=\"false\"][fixed=\"false\"]) {\r\n display: none;\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n","import { Component, Event, EventEmitter, Fragment, Prop, h } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"dso-info\",\r\n styleUrl: \"./info.scss\",\r\n shadow: true,\r\n})\r\nexport class Info {\r\n /**\r\n * Set to true if the Info should not be toggled and always visible.\r\n */\r\n @Prop({ reflect: true })\r\n fixed?: boolean;\r\n\r\n /**\r\n * Whether the Info is active.\r\n */\r\n @Prop({ reflect: true })\r\n active?: boolean;\r\n\r\n /**\r\n * Emitted when the user activates the close button.\r\n */\r\n @Event()\r\n dsoClose!: EventEmitter<MouseEvent>;\r\n\r\n render() {\r\n return (\r\n <Fragment>\r\n <slot></slot>\r\n {!this.fixed && (\r\n <button type=\"button\" onClick={(e) => this.dsoClose.emit(e)}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Sluiten</span>\r\n </button>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/selectable\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n padding-inline-start: selectable.$symbol-indent;\r\n\r\n @include selectable.root(false);\r\n\r\n &[invalid]:not([invalid=\"false\"]) {\r\n @include selectable.invalid();\r\n }\r\n\r\n @include selectable.children(\"dso-info\");\r\n}\r\n\r\n:host(:not(:last-child)) {\r\n @include selectable.notLastChild();\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.dso-selectable-container {\r\n display: inline-block;\r\n\r\n .dso-selectable-input-wrapper {\r\n display: inline-block;\r\n min-block-size: units.$u3;\r\n\r\n &:focus-within.dso-keyboard-focus {\r\n position: relative;\r\n inset-inline-start: -(selectable.$symbol-indent);\r\n\r\n padding-inline-start: selectable.$symbol-indent;\r\n\r\n margin-inline-end: -(selectable.$symbol-indent);\r\n\r\n @include utilities.focus-outline();\r\n }\r\n\r\n input[type=\"radio\"],\r\n input[type=\"checkbox\"] {\r\n &:focus + label::before {\r\n @include selectable.selectableBoxShadow(\r\n selectable.$border-width,\r\n var(--dso-selectable-color, selectable.$valid-color)\r\n );\r\n }\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Method,\r\n Prop,\r\n State,\r\n Watch,\r\n forceUpdate,\r\n h,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { createIdentifier } from \"../../utils/create-identifier\";\r\n\r\nimport { SelectableChangeEvent } from \"./selectable.interfaces\";\r\n\r\n/**\r\n * @slot - The label for this control\r\n * @slot info - Rich Content to be slotted in Info.\r\n * @slot options - for further nested selectable options: `<ul class=\"dso-selectable-options\" slot=\"options\">` and wrap each Selectable in a `<li>`.\r\n */\r\n@Component({\r\n tag: \"dso-selectable\",\r\n styleUrl: \"selectable.scss\",\r\n scoped: true,\r\n})\r\nexport class Selectable implements ComponentInterface {\r\n /**\r\n * Type of Selectable.\r\n *\r\n * `checkbox`: Multiple options\r\n * `radio`: Single option.\r\n */\r\n @Prop()\r\n type!: \"checkbox\" | \"radio\";\r\n\r\n /**\r\n * To set `<input id>` attribute for external references.\r\n */\r\n @Prop()\r\n identifier?: string;\r\n\r\n /**\r\n * Name of the Selectable. Can be used to group Selectables.\r\n */\r\n @Prop()\r\n name?: string;\r\n\r\n /**\r\n * The value of the Selectable.\r\n */\r\n @Prop()\r\n value!: string;\r\n\r\n /**\r\n * Set to true of the current value is not valid.\r\n */\r\n @Prop()\r\n invalid?: boolean;\r\n\r\n /**\r\n * To link this control to an element that describes it.\r\n */\r\n @Prop()\r\n describedById?: string;\r\n\r\n /**\r\n * To link this control to an element that labels it.\r\n */\r\n @Prop()\r\n labelledById?: string;\r\n\r\n /**\r\n * To disable the Selectable.\r\n */\r\n @Prop()\r\n disabled?: boolean;\r\n\r\n /**\r\n * To mark the Selectable as required.\r\n */\r\n @Prop()\r\n required?: boolean;\r\n\r\n /**\r\n * Mark the Selectable as checked\r\n */\r\n @Prop({ reflect: true })\r\n checked?: boolean;\r\n\r\n /**\r\n * An indeterminate state is neither true or false. It means the answer is somewhere in between.\r\n *\r\n * Can be used to indicate child Selectables that are a mix of checked and unchecked.\r\n */\r\n @Prop()\r\n indeterminate?: boolean;\r\n\r\n /**\r\n * Set to true if the Info should not be toggled and always visible.\r\n */\r\n @Prop()\r\n infoFixed?: boolean;\r\n\r\n /**\r\n * Emitted when the user checks or unchecks the Selectable.\r\n */\r\n @Event()\r\n dsoChange!: EventEmitter<SelectableChangeEvent>;\r\n\r\n @Element()\r\n host!: HTMLDsoSelectableElement;\r\n\r\n @State()\r\n infoActive = false;\r\n\r\n @State()\r\n keyboardFocus = false;\r\n\r\n /**\r\n * Method to toggle the Info. Is set to `active` when passed.\r\n *\r\n * If `active` is not passed, Info is toggled to opposite value.\r\n * @param active\r\n */\r\n @Method()\r\n async toggleInfo(active?: boolean) {\r\n this.infoActive = active ?? !this.infoActive;\r\n }\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private fallbackIdentifier = createIdentifier(\"DsoSelectable\");\r\n\r\n private input: HTMLInputElement | undefined;\r\n\r\n private handleOnChange = (e: Event) => {\r\n const { target } = e;\r\n\r\n this.dsoChange.emit({\r\n originalEvent: e,\r\n checked: target instanceof HTMLInputElement && target.checked,\r\n });\r\n\r\n forceUpdate(this.host);\r\n };\r\n\r\n componentDidLoad() {\r\n this.mutationObserver?.disconnect();\r\n\r\n this.mutationObserver = new MutationObserver(() => forceUpdate(this.host));\r\n this.mutationObserver.observe(this.host, {\r\n childList: true,\r\n });\r\n\r\n this.setIndeterminate();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.mutationObserver?.disconnect();\r\n }\r\n\r\n @Watch(\"indeterminate\")\r\n setIndeterminate() {\r\n if (!(this.input instanceof HTMLInputElement) || this.type !== \"checkbox\") {\r\n return;\r\n }\r\n\r\n this.input.indeterminate = !!this.indeterminate;\r\n }\r\n\r\n render() {\r\n const hasInfo = !!this.host.querySelector('[slot=\"info\"]');\r\n\r\n return (\r\n <Fragment>\r\n <div class=\"dso-selectable-container\">\r\n <div class={clsx(\"dso-selectable-input-wrapper\", { \"dso-keyboard-focus\": this.keyboardFocus })}>\r\n <input\r\n type={this.type}\r\n id={this.getIdentifier()}\r\n value={this.value}\r\n name={this.name}\r\n aria-invalid={this.invalid?.toString()}\r\n aria-describedby={hasInfo && this.infoFixed ? this.describedById : undefined}\r\n aria-labelledBy={this.labelledById}\r\n disabled={this.disabled}\r\n required={this.required}\r\n checked={this.checked}\r\n onChange={this.handleOnChange}\r\n onBlur={() => (this.keyboardFocus = false)}\r\n onKeyUp={() => (this.keyboardFocus = true)}\r\n ref={(el) => (this.input = el)}\r\n />\r\n {!this.labelledById ? (\r\n <label htmlFor={this.getIdentifier()}>\r\n <slot />\r\n </label>\r\n ) : (\r\n <label>\r\n <slot />\r\n </label>\r\n )}\r\n </div>\r\n {hasInfo && !this.infoFixed && (\r\n <dso-info-button\r\n active={this.infoActive}\r\n onDsoToggle={(e) => (this.infoActive = e.detail.active)}\r\n ></dso-info-button>\r\n )}\r\n </div>\r\n {hasInfo && (\r\n <dso-info\r\n id={hasInfo && this.infoFixed ? this.describedById : undefined}\r\n fixed={this.infoFixed}\r\n active={this.infoActive}\r\n onDsoClose={() => (this.infoActive = false)}\r\n >\r\n <div>\r\n <slot name=\"info\"></slot>\r\n </div>\r\n </dso-info>\r\n )}\r\n <slot name=\"options\" />\r\n </Fragment>\r\n );\r\n }\r\n\r\n componentDidRender(): void {\r\n if (this.input && typeof this.checked === \"boolean\" && this.input.checked !== this.checked) {\r\n this.input.checked = this.checked;\r\n }\r\n }\r\n\r\n private getIdentifier(): string {\r\n return this.identifier ?? this.fallbackIdentifier;\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}