@dso-toolkit/core 72.2.0 → 73.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 (306) hide show
  1. package/dist/cjs/dso-accordion-section.cjs.entry.js.map +1 -1
  2. package/dist/cjs/dso-accordion-section.entry.cjs.js.map +1 -1
  3. package/dist/cjs/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.cjs.js.map +1 -1
  4. package/dist/cjs/dso-alert_6.cjs.entry.js +3 -3
  5. package/dist/cjs/dso-alert_6.cjs.entry.js.map +1 -1
  6. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js +1 -1
  7. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js.map +1 -1
  8. package/dist/cjs/dso-annotation-activiteit.entry.cjs.js.map +1 -1
  9. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js +1 -1
  10. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js.map +1 -1
  11. package/dist/cjs/dso-annotation-gebiedsaanwijzing.entry.cjs.js.map +1 -1
  12. package/dist/cjs/dso-annotation-kaart.cjs.entry.js +1 -1
  13. package/dist/cjs/dso-annotation-kaart.cjs.entry.js.map +1 -1
  14. package/dist/cjs/dso-annotation-kaart.entry.cjs.js.map +1 -1
  15. package/dist/cjs/dso-annotation-locatie.dso-document-component.entry.cjs.js.map +1 -1
  16. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js +2 -2
  17. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js.map +1 -1
  18. package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js +1 -1
  19. package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js.map +1 -1
  20. package/dist/cjs/dso-annotation-omgevingsnormwaarde.entry.cjs.js.map +1 -1
  21. package/dist/cjs/dso-autosuggest.cjs.entry.js +51 -57
  22. package/dist/cjs/dso-autosuggest.cjs.entry.js.map +1 -1
  23. package/dist/cjs/dso-autosuggest.entry.cjs.js.map +1 -1
  24. package/dist/cjs/dso-card.cjs.entry.js +1 -1
  25. package/dist/cjs/dso-card.cjs.entry.js.map +1 -1
  26. package/dist/cjs/dso-card.entry.cjs.js.map +1 -1
  27. package/dist/cjs/dso-contact-information.cjs.entry.js +1 -1
  28. package/dist/cjs/dso-contact-information.cjs.entry.js.map +1 -1
  29. package/dist/cjs/dso-contact-information.entry.cjs.js.map +1 -1
  30. package/dist/cjs/dso-header.cjs.entry.js.map +1 -1
  31. package/dist/cjs/dso-header.entry.cjs.js.map +1 -1
  32. package/dist/cjs/dso-info_2.cjs.entry.js +1 -1
  33. package/dist/cjs/dso-label_3.cjs.entry.js +1 -1
  34. package/dist/cjs/dso-list-button.cjs.entry.js +2 -2
  35. package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -1
  36. package/dist/cjs/dso-list-button.entry.cjs.js.map +1 -1
  37. package/dist/cjs/dso-logo.cjs.entry.js +1 -1
  38. package/dist/cjs/dso-logo.cjs.entry.js.map +1 -1
  39. package/dist/cjs/dso-logo.entry.cjs.js.map +1 -1
  40. package/dist/cjs/dso-map-base-layers.cjs.entry.js +1 -1
  41. package/dist/cjs/dso-map-controls.cjs.entry.js +1 -1
  42. package/dist/cjs/dso-map-overlays.cjs.entry.js +1 -1
  43. package/dist/cjs/dso-mark-bar.cjs.entry.js +1 -1
  44. package/dist/cjs/dso-modal.cjs.entry.js +2 -2
  45. package/dist/cjs/dso-onboarding-tip.cjs.entry.js +1 -1
  46. package/dist/cjs/dso-plekinfo-card.cjs.entry.js +1 -1
  47. package/dist/cjs/dso-progress-bar.cjs.entry.js +1 -1
  48. package/dist/cjs/dso-progress-indicator.cjs.entry.js +1 -1
  49. package/dist/cjs/dso-project-item.cjs.entry.js +1 -1
  50. package/dist/cjs/dso-responsive-element.cjs.entry.js +1 -1
  51. package/dist/cjs/dso-scrollable.cjs.entry.js +2 -2
  52. package/dist/cjs/dso-skiplink.cjs.entry.js +1 -1
  53. package/dist/cjs/dso-survey-rating.cjs.entry.js +2 -2
  54. package/dist/cjs/dso-tab.cjs.entry.js.map +1 -1
  55. package/dist/cjs/dso-tab.entry.cjs.js.map +1 -1
  56. package/dist/cjs/dso-tabs.cjs.entry.js +1 -1
  57. package/dist/cjs/dso-tabs.cjs.entry.js.map +1 -1
  58. package/dist/cjs/dso-tabs.entry.cjs.js.map +1 -1
  59. package/dist/cjs/dso-toggletip.cjs.entry.js +1 -1
  60. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  61. package/dist/cjs/dso-tooltip.cjs.entry.js +1 -1
  62. package/dist/cjs/dso-tree-view.cjs.entry.js +1 -1
  63. package/dist/cjs/dso-viewer-grid.cjs.entry.js +2 -2
  64. package/dist/cjs/loader.cjs.js +1 -1
  65. package/dist/collection/components/annotation/annotation.css +5 -4
  66. package/dist/collection/components/autosuggest/autosuggest.css +2 -1
  67. package/dist/collection/components/autosuggest/autosuggest.js +51 -58
  68. package/dist/collection/components/autosuggest/autosuggest.js.map +1 -1
  69. package/dist/collection/components/card/card.css +5 -4
  70. package/dist/collection/components/contact-information/contact-information.css +2 -2
  71. package/dist/collection/components/document-component/document-component.css +1 -0
  72. package/dist/collection/components/list-button/list-button.css +2 -1
  73. package/dist/collection/components/list-button/list-button.js +1 -1
  74. package/dist/collection/components/list-button/list-button.js.map +1 -1
  75. package/dist/collection/components/logo/logo.js +1 -1
  76. package/dist/collection/components/map-base-layers/map-base-layers.js +1 -1
  77. package/dist/collection/components/map-controls/map-controls.js +1 -1
  78. package/dist/collection/components/map-overlays/map-overlays.js +1 -1
  79. package/dist/collection/components/mark-bar/mark-bar.js +1 -1
  80. package/dist/collection/components/modal/modal.js +2 -2
  81. package/dist/collection/components/onboarding-tip/onboarding-tip.js +1 -1
  82. package/dist/collection/components/ozon-content/ozon-content.css +1 -0
  83. package/dist/collection/components/ozon-content/ozon-content.js +1 -1
  84. package/dist/collection/components/plekinfo-card/plekinfo-card.js +1 -1
  85. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  86. package/dist/collection/components/progress-indicator/progress-indicator.js +1 -1
  87. package/dist/collection/components/project-item/project-item.js +1 -1
  88. package/dist/collection/components/responsive-element/responsive-element.js +1 -1
  89. package/dist/collection/components/scrollable/scrollable.js +2 -2
  90. package/dist/collection/components/selectable/selectable.js +1 -1
  91. package/dist/collection/components/skiplink/skiplink.js +1 -1
  92. package/dist/collection/components/slide-toggle/slide-toggle.js +1 -1
  93. package/dist/collection/components/survey-rating/survey-rating.js +2 -2
  94. package/dist/collection/components/table/table.js +1 -1
  95. package/dist/collection/components/tabs/tabs.js +1 -1
  96. package/dist/collection/components/toggletip/toggletip.js +1 -1
  97. package/dist/collection/components/tooltip/tooltip.js +1 -1
  98. package/dist/collection/components/tree-view/tree-view.js +1 -1
  99. package/dist/collection/components/viewer-grid/viewer-grid.js +2 -2
  100. package/dist/components/annotation-locatie.js +1 -1
  101. package/dist/components/annotation-locatie.js.map +1 -1
  102. package/dist/components/document-component.js +1 -1
  103. package/dist/components/document-component.js.map +1 -1
  104. package/dist/components/dso-accordion-section.js.map +1 -1
  105. package/dist/components/dso-annotation-activiteit.js +1 -1
  106. package/dist/components/dso-annotation-activiteit.js.map +1 -1
  107. package/dist/components/dso-annotation-gebiedsaanwijzing.js +1 -1
  108. package/dist/components/dso-annotation-gebiedsaanwijzing.js.map +1 -1
  109. package/dist/components/dso-annotation-kaart.js +1 -1
  110. package/dist/components/dso-annotation-kaart.js.map +1 -1
  111. package/dist/components/dso-annotation-omgevingsnormwaarde.js +1 -1
  112. package/dist/components/dso-annotation-omgevingsnormwaarde.js.map +1 -1
  113. package/dist/components/dso-autosuggest.js +52 -59
  114. package/dist/components/dso-autosuggest.js.map +1 -1
  115. package/dist/components/dso-card.js +1 -1
  116. package/dist/components/dso-card.js.map +1 -1
  117. package/dist/components/dso-contact-information.js +1 -1
  118. package/dist/components/dso-contact-information.js.map +1 -1
  119. package/dist/components/dso-header.js.map +1 -1
  120. package/dist/components/dso-list-button.js +2 -2
  121. package/dist/components/dso-list-button.js.map +1 -1
  122. package/dist/components/dso-logo.js +1 -1
  123. package/dist/components/dso-logo.js.map +1 -1
  124. package/dist/components/dso-map-base-layers.js +1 -1
  125. package/dist/components/dso-map-controls.js +1 -1
  126. package/dist/components/dso-map-overlays.js +1 -1
  127. package/dist/components/dso-mark-bar.js +1 -1
  128. package/dist/components/dso-modal.js +2 -2
  129. package/dist/components/dso-onboarding-tip.js +1 -1
  130. package/dist/components/dso-plekinfo-card.js +1 -1
  131. package/dist/components/dso-progress-bar.js +1 -1
  132. package/dist/components/dso-project-item.js +1 -1
  133. package/dist/components/dso-skiplink.js +1 -1
  134. package/dist/components/dso-survey-rating.js +2 -2
  135. package/dist/components/dso-tab.js.map +1 -1
  136. package/dist/components/dso-tabs.js +1 -1
  137. package/dist/components/dso-tabs.js.map +1 -1
  138. package/dist/components/dso-tree-view.js +1 -1
  139. package/dist/components/dso-viewer-grid.js +2 -2
  140. package/dist/components/ozon-content.js +2 -2
  141. package/dist/components/ozon-content.js.map +1 -1
  142. package/dist/components/progress-indicator.js +1 -1
  143. package/dist/components/responsive-element.js +1 -1
  144. package/dist/components/scrollable.js +2 -2
  145. package/dist/components/selectable.js +1 -1
  146. package/dist/components/slide-toggle.js +1 -1
  147. package/dist/components/table.js +1 -1
  148. package/dist/components/toggletip.js +1 -1
  149. package/dist/components/tooltip.js +1 -1
  150. package/dist/dso-toolkit/dso-accordion-section.entry.esm.js.map +1 -1
  151. package/dist/dso-toolkit/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.esm.js.map +1 -1
  152. package/dist/dso-toolkit/dso-annotation-activiteit.entry.esm.js.map +1 -1
  153. package/dist/dso-toolkit/dso-annotation-gebiedsaanwijzing.entry.esm.js.map +1 -1
  154. package/dist/dso-toolkit/dso-annotation-kaart.entry.esm.js.map +1 -1
  155. package/dist/dso-toolkit/dso-annotation-locatie.dso-document-component.entry.esm.js.map +1 -1
  156. package/dist/dso-toolkit/dso-annotation-omgevingsnormwaarde.entry.esm.js.map +1 -1
  157. package/dist/dso-toolkit/dso-autosuggest.entry.esm.js.map +1 -1
  158. package/dist/dso-toolkit/dso-card.entry.esm.js.map +1 -1
  159. package/dist/dso-toolkit/dso-contact-information.entry.esm.js.map +1 -1
  160. package/dist/dso-toolkit/dso-header.entry.esm.js.map +1 -1
  161. package/dist/dso-toolkit/dso-list-button.entry.esm.js.map +1 -1
  162. package/dist/dso-toolkit/dso-logo.entry.esm.js.map +1 -1
  163. package/dist/dso-toolkit/dso-tab.entry.esm.js.map +1 -1
  164. package/dist/dso-toolkit/dso-tabs.entry.esm.js.map +1 -1
  165. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  166. package/dist/dso-toolkit/{p-bae3006c.entry.js → p-0917a964.entry.js} +2 -2
  167. package/dist/dso-toolkit/{p-6070a869.entry.js → p-0a38c6fa.entry.js} +2 -2
  168. package/dist/dso-toolkit/p-13b2dc83.entry.js +2 -0
  169. package/dist/dso-toolkit/p-13b2dc83.entry.js.map +1 -0
  170. package/dist/dso-toolkit/p-15700a11.entry.js +2 -0
  171. package/dist/dso-toolkit/p-15700a11.entry.js.map +1 -0
  172. package/dist/dso-toolkit/{p-53b338f1.entry.js → p-1882b8ad.entry.js} +2 -2
  173. package/dist/dso-toolkit/p-2a0e7fab.entry.js.map +1 -1
  174. package/dist/dso-toolkit/p-2cac4eb4.entry.js +2 -0
  175. package/dist/dso-toolkit/p-2cac4eb4.entry.js.map +1 -0
  176. package/dist/dso-toolkit/{p-6a2a4141.entry.js → p-2d22eaa5.entry.js} +2 -2
  177. package/dist/dso-toolkit/p-33acabc1.entry.js +2 -0
  178. package/dist/dso-toolkit/p-33acabc1.entry.js.map +1 -0
  179. package/dist/dso-toolkit/{p-86849be0.entry.js → p-33e435a4.entry.js} +2 -2
  180. package/dist/dso-toolkit/p-3ada9fe0.entry.js +2 -0
  181. package/dist/dso-toolkit/p-3ada9fe0.entry.js.map +1 -0
  182. package/dist/dso-toolkit/p-3dc6df90.entry.js.map +1 -1
  183. package/dist/dso-toolkit/{p-daafcc37.entry.js → p-49c301fd.entry.js} +2 -2
  184. package/dist/dso-toolkit/p-4fd85452.entry.js +2 -0
  185. package/dist/dso-toolkit/p-4fd85452.entry.js.map +1 -0
  186. package/dist/dso-toolkit/{p-8e1a144a.entry.js → p-52cd0064.entry.js} +2 -2
  187. package/dist/dso-toolkit/{p-c9049181.entry.js → p-60a2339f.entry.js} +2 -2
  188. package/dist/dso-toolkit/{p-00431d87.entry.js → p-638cfb25.entry.js} +2 -2
  189. package/dist/dso-toolkit/{p-d112b93b.entry.js → p-6841ccee.entry.js} +2 -2
  190. package/dist/dso-toolkit/p-6bbde78f.entry.js +2 -0
  191. package/dist/dso-toolkit/p-6bbde78f.entry.js.map +1 -0
  192. package/dist/dso-toolkit/p-75819075.entry.js +2 -0
  193. package/dist/dso-toolkit/{p-d4ac95de.entry.js → p-8123ed2f.entry.js} +2 -2
  194. package/dist/dso-toolkit/p-8123ed2f.entry.js.map +1 -0
  195. package/dist/dso-toolkit/{p-47bdc747.entry.js → p-99fcc628.entry.js} +2 -2
  196. package/dist/dso-toolkit/p-a0960751.entry.js.map +1 -1
  197. package/dist/dso-toolkit/{p-c9461ffa.entry.js → p-a676810d.entry.js} +2 -2
  198. package/dist/dso-toolkit/{p-c9461ffa.entry.js.map → p-a676810d.entry.js.map} +1 -1
  199. package/dist/dso-toolkit/{p-90d2a099.entry.js → p-aa6c0df1.entry.js} +2 -2
  200. package/dist/dso-toolkit/{p-b7bbdb17.entry.js → p-ad5f409c.entry.js} +2 -2
  201. package/dist/dso-toolkit/{p-077f0a02.entry.js → p-be3f30c8.entry.js} +2 -2
  202. package/dist/dso-toolkit/{p-5193e894.entry.js → p-c1f19841.entry.js} +2 -2
  203. package/dist/dso-toolkit/p-ce882c53.entry.js +2 -0
  204. package/dist/dso-toolkit/{p-32081789.entry.js.map → p-ce882c53.entry.js.map} +1 -1
  205. package/dist/dso-toolkit/{p-37864ec3.entry.js → p-e3ddc3cf.entry.js} +2 -2
  206. package/dist/dso-toolkit/{p-4a5cc3fc.entry.js → p-ee4c2669.entry.js} +2 -2
  207. package/dist/dso-toolkit/p-ee4c2669.entry.js.map +1 -0
  208. package/dist/dso-toolkit/{p-c5325945.entry.js → p-f0d63537.entry.js} +2 -2
  209. package/dist/dso-toolkit/p-f35cd2b5.entry.js +2 -0
  210. package/dist/dso-toolkit/p-f35cd2b5.entry.js.map +1 -0
  211. package/dist/dso-toolkit/{p-6f211cd5.entry.js → p-f579815f.entry.js} +2 -2
  212. package/dist/dso-toolkit/p-f579815f.entry.js.map +1 -0
  213. package/dist/dso-toolkit/{p-583bd6db.entry.js → p-fa1cbcb0.entry.js} +2 -2
  214. package/dist/esm/dso-accordion-section.entry.js.map +1 -1
  215. package/dist/esm/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.js.map +1 -1
  216. package/dist/esm/dso-alert_6.entry.js +3 -3
  217. package/dist/esm/dso-alert_6.entry.js.map +1 -1
  218. package/dist/esm/dso-annotation-activiteit.entry.js +1 -1
  219. package/dist/esm/dso-annotation-activiteit.entry.js.map +1 -1
  220. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js +1 -1
  221. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js.map +1 -1
  222. package/dist/esm/dso-annotation-kaart.entry.js +1 -1
  223. package/dist/esm/dso-annotation-kaart.entry.js.map +1 -1
  224. package/dist/esm/dso-annotation-locatie.dso-document-component.entry.js.map +1 -1
  225. package/dist/esm/dso-annotation-locatie_2.entry.js +2 -2
  226. package/dist/esm/dso-annotation-locatie_2.entry.js.map +1 -1
  227. package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js +1 -1
  228. package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js.map +1 -1
  229. package/dist/esm/dso-autosuggest.entry.js +51 -57
  230. package/dist/esm/dso-autosuggest.entry.js.map +1 -1
  231. package/dist/esm/dso-card.entry.js +1 -1
  232. package/dist/esm/dso-card.entry.js.map +1 -1
  233. package/dist/esm/dso-contact-information.entry.js +1 -1
  234. package/dist/esm/dso-contact-information.entry.js.map +1 -1
  235. package/dist/esm/dso-header.entry.js.map +1 -1
  236. package/dist/esm/dso-info_2.entry.js +1 -1
  237. package/dist/esm/dso-label_3.entry.js +1 -1
  238. package/dist/esm/dso-list-button.entry.js +2 -2
  239. package/dist/esm/dso-list-button.entry.js.map +1 -1
  240. package/dist/esm/dso-logo.entry.js +1 -1
  241. package/dist/esm/dso-logo.entry.js.map +1 -1
  242. package/dist/esm/dso-map-base-layers.entry.js +1 -1
  243. package/dist/esm/dso-map-controls.entry.js +1 -1
  244. package/dist/esm/dso-map-overlays.entry.js +1 -1
  245. package/dist/esm/dso-mark-bar.entry.js +1 -1
  246. package/dist/esm/dso-modal.entry.js +2 -2
  247. package/dist/esm/dso-onboarding-tip.entry.js +1 -1
  248. package/dist/esm/dso-plekinfo-card.entry.js +1 -1
  249. package/dist/esm/dso-progress-bar.entry.js +1 -1
  250. package/dist/esm/dso-progress-indicator.entry.js +1 -1
  251. package/dist/esm/dso-project-item.entry.js +1 -1
  252. package/dist/esm/dso-responsive-element.entry.js +1 -1
  253. package/dist/esm/dso-scrollable.entry.js +2 -2
  254. package/dist/esm/dso-skiplink.entry.js +1 -1
  255. package/dist/esm/dso-survey-rating.entry.js +2 -2
  256. package/dist/esm/dso-tab.entry.js.map +1 -1
  257. package/dist/esm/dso-tabs.entry.js +1 -1
  258. package/dist/esm/dso-tabs.entry.js.map +1 -1
  259. package/dist/esm/dso-toggletip.entry.js +1 -1
  260. package/dist/esm/dso-toolkit.js +1 -1
  261. package/dist/esm/dso-tooltip.entry.js +1 -1
  262. package/dist/esm/dso-tree-view.entry.js +1 -1
  263. package/dist/esm/dso-viewer-grid.entry.js +2 -2
  264. package/dist/esm/loader.js +1 -1
  265. package/dist/types/components/autosuggest/autosuggest.d.ts +1 -3
  266. package/package.json +3 -3
  267. package/dist/dso-toolkit/p-1636f9be.entry.js +0 -2
  268. package/dist/dso-toolkit/p-1636f9be.entry.js.map +0 -1
  269. package/dist/dso-toolkit/p-2711b352.entry.js +0 -2
  270. package/dist/dso-toolkit/p-2711b352.entry.js.map +0 -1
  271. package/dist/dso-toolkit/p-3092991c.entry.js +0 -2
  272. package/dist/dso-toolkit/p-3092991c.entry.js.map +0 -1
  273. package/dist/dso-toolkit/p-31754dd5.entry.js +0 -2
  274. package/dist/dso-toolkit/p-32081789.entry.js +0 -2
  275. package/dist/dso-toolkit/p-4282580b.entry.js +0 -2
  276. package/dist/dso-toolkit/p-4282580b.entry.js.map +0 -1
  277. package/dist/dso-toolkit/p-4a5cc3fc.entry.js.map +0 -1
  278. package/dist/dso-toolkit/p-5183876a.entry.js +0 -2
  279. package/dist/dso-toolkit/p-5183876a.entry.js.map +0 -1
  280. package/dist/dso-toolkit/p-6e6d93a3.entry.js +0 -2
  281. package/dist/dso-toolkit/p-6e6d93a3.entry.js.map +0 -1
  282. package/dist/dso-toolkit/p-6f211cd5.entry.js.map +0 -1
  283. package/dist/dso-toolkit/p-a92bee24.entry.js +0 -2
  284. package/dist/dso-toolkit/p-a92bee24.entry.js.map +0 -1
  285. package/dist/dso-toolkit/p-d4ac95de.entry.js.map +0 -1
  286. package/dist/dso-toolkit/p-dfd980b6.entry.js +0 -2
  287. package/dist/dso-toolkit/p-dfd980b6.entry.js.map +0 -1
  288. /package/dist/dso-toolkit/{p-bae3006c.entry.js.map → p-0917a964.entry.js.map} +0 -0
  289. /package/dist/dso-toolkit/{p-6070a869.entry.js.map → p-0a38c6fa.entry.js.map} +0 -0
  290. /package/dist/dso-toolkit/{p-53b338f1.entry.js.map → p-1882b8ad.entry.js.map} +0 -0
  291. /package/dist/dso-toolkit/{p-6a2a4141.entry.js.map → p-2d22eaa5.entry.js.map} +0 -0
  292. /package/dist/dso-toolkit/{p-86849be0.entry.js.map → p-33e435a4.entry.js.map} +0 -0
  293. /package/dist/dso-toolkit/{p-daafcc37.entry.js.map → p-49c301fd.entry.js.map} +0 -0
  294. /package/dist/dso-toolkit/{p-8e1a144a.entry.js.map → p-52cd0064.entry.js.map} +0 -0
  295. /package/dist/dso-toolkit/{p-c9049181.entry.js.map → p-60a2339f.entry.js.map} +0 -0
  296. /package/dist/dso-toolkit/{p-00431d87.entry.js.map → p-638cfb25.entry.js.map} +0 -0
  297. /package/dist/dso-toolkit/{p-d112b93b.entry.js.map → p-6841ccee.entry.js.map} +0 -0
  298. /package/dist/dso-toolkit/{p-31754dd5.entry.js.map → p-75819075.entry.js.map} +0 -0
  299. /package/dist/dso-toolkit/{p-47bdc747.entry.js.map → p-99fcc628.entry.js.map} +0 -0
  300. /package/dist/dso-toolkit/{p-90d2a099.entry.js.map → p-aa6c0df1.entry.js.map} +0 -0
  301. /package/dist/dso-toolkit/{p-b7bbdb17.entry.js.map → p-ad5f409c.entry.js.map} +0 -0
  302. /package/dist/dso-toolkit/{p-077f0a02.entry.js.map → p-be3f30c8.entry.js.map} +0 -0
  303. /package/dist/dso-toolkit/{p-5193e894.entry.js.map → p-c1f19841.entry.js.map} +0 -0
  304. /package/dist/dso-toolkit/{p-37864ec3.entry.js.map → p-e3ddc3cf.entry.js.map} +0 -0
  305. /package/dist/dso-toolkit/{p-c5325945.entry.js.map → p-f0d63537.entry.js.map} +0 -0
  306. /package/dist/dso-toolkit/{p-583bd6db.entry.js.map → p-fa1cbcb0.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["escapeStringRegexp","string","TypeError","replace","translations","en","notFound","nl","autosuggestCss","maxSuggestionsViewable","listboxPaddingBlock","listboxBorderWidth","Option","id","mouseEnter","mouseLeave","click","selected","suggestion","ref","markedSuggestion","h","class","role","onMouseEnter","onMouseLeave","onClick","value","type","undefined","extras","map","markedChunk","extra","isGrouped","suggestions","length","every","groupLabel","isFlat","Autosuggest","constructor","hostRef","this","loading","loadingLabel","suggestOnFocus","showSuggestions","showLoading","listboxItems","listboxId","v4","inputId","labelId","resizeObserver","ResizeObserver","debounce","setListboxContainerMaxBlockSize","debouncedEmitValue","dsoChange","emit","debouncedShowLoading","inputValue","loadingDelayed","onInput","event","target","HTMLInputElement","match","onFocusIn","openSuggestions","text","i18n","host","onWindowResize","onScrollend","onKeyDown","defaultPrevented","key","selectNextSuggestion","selectPreviousSuggestion","closeSuggestions","pickSelectedValue","preventDefault","suggestionsWatcher","resetSelectedSuggestion","onDocumentClick","listbox","Node","contains","input","componentDidRender","connectedCallback","querySelector","labels","label","setAttribute","addEventListener","window","document","observe","disconnectedCallback","_a","removeEventListener","_b","_c","disconnect","listboxContainer","blockSizeViewableListItems","listboxContainerMaxBlockSize","total","Math","min","i","getBoundingClientRect","height","availableBlockSize","innerHeight","bottom","listboxMaxBlockSize","style","setProperty","showInputValueNotFound","processAutosuggestMarkItems","markTerms","split","filter","t","handleMark","extraIndex","mark","terms","suggestionValue","termRegex","RegExp","reduce","valuePart","push","test","slice","items","item","selectSuggestion","group","selectedSuggestion","selectedSuggestionGroup","setAriaActiveDescendant","selectFirstSuggestion","selectLastSuggestion","selectNextGroupedSuggestion","index","indexOf","indexInGroup","groupIndex","suggestionGroups","selectPreviousGroupedSuggestion","scroll","listboxGroupedItemId","listboxItemId","getElementById","scrollIntoView","block","_d","toString","dsoSelect","dsoSearch","suggestionGroup","getMarkedChunkedExtras","chunkedExtras","resultArray","chunkIndex","floor","chunk","c","getMarkedSuggestions","getAutosuggestStatus","totalSuggestions","count","render","showListbox","grouped","flat","removeAttribute","Fragment","element","tabindex","groupLabelId","notFoundLabel"],"sources":["../../node_modules/escape-string-regexp/index.js","src/components/autosuggest/autosuggest.i18n.ts","src/components/autosuggest/autosuggest.scss?tag=dso-autosuggest&encapsulation=scoped","src/components/autosuggest/autosuggest.tsx"],"sourcesContent":["export default function escapeStringRegexp(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n}\n","import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-autosuggest\": {\r\n notFound: \"{{inputValue}} was not found.\",\r\n },\r\n },\r\n nl: {\r\n \"dso-autosuggest\": {\r\n notFound: \"{{inputValue}} is niet gevonden.\",\r\n },\r\n },\r\n};\r\n","@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/scaffolding\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n\r\n@use \"autosuggest.variables\" as core-autosuggest-variables;\r\n\r\n:host {\r\n display: block;\r\n position: relative;\r\n}\r\n\r\n.listbox-container {\r\n inset-inline: 0;\r\n inset-block-start: 100%;\r\n block-size: auto;\r\n max-block-size: var(--_dso-autosuggest-max-block-size);\r\n min-block-size: core-autosuggest-variables.$listbox-min-block-size;\r\n overflow-y: auto;\r\n position: absolute;\r\n z-index: zindex.$autosuggest;\r\n}\r\n\r\n.listbox,\r\n.autosuggest-progress-box {\r\n background-clip: padding-box;\r\n background-color: core-autosuggest-variables.$background-color;\r\n border: core-autosuggest-variables.$listbox-border-width solid core-autosuggest-variables.$border-color;\r\n border-radius: scaffolding.$border-radius-base;\r\n box-shadow: core-autosuggest-variables.$box-shadow;\r\n list-style-type: none;\r\n margin-block: 0;\r\n}\r\n\r\n.autosuggest-progress-box {\r\n padding-block: units.$u1 * 1.5;\r\n padding-inline: units.$u1;\r\n}\r\n\r\n.listbox {\r\n padding-block: core-autosuggest-variables.$listbox-padding-block;\r\n padding-inline: 0;\r\n\r\n .group:not(:first-child) {\r\n .group-label {\r\n border-block-start: 1px solid colors.$grijs-30;\r\n padding-block-start: units.$padding-base-inline;\r\n }\r\n }\r\n\r\n .group-label {\r\n color: colors.$bosgroen;\r\n font-weight: 700;\r\n padding-block: core-autosuggest-variables.$list-item-padding-block;\r\n margin-inline: units.$u2;\r\n }\r\n\r\n .option {\r\n padding-block: core-autosuggest-variables.$list-item-padding-block;\r\n padding-inline: units.$u2;\r\n\r\n .suggestion-row {\r\n display: flex;\r\n justify-content: space-between;\r\n }\r\n\r\n &:active {\r\n background-color: colors.$bosgroen;\r\n\r\n &,\r\n .type,\r\n .extra {\r\n color: colors.$wit;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.option[aria-selected=\"true\"] {\r\n cursor: pointer;\r\n background-color: colors.$grasgroen-20;\r\n}\r\n\r\nmark {\r\n font-weight: 700;\r\n background-color: inherit;\r\n color: inherit;\r\n padding: 0;\r\n}\r\n\r\n.type,\r\n.extra {\r\n color: colors.$grijs-60;\r\n}\r\n\r\n.type {\r\n text-align: end;\r\n}\r\n\r\n.extra {\r\n font-size: typography.$root-font-size-small;\r\n line-height: typography.$root-font-size-small * typography.$line-height-base;\r\n\r\n &:not(:first-child) {\r\n text-align: end;\r\n }\r\n}\r\n","import {\r\n Component,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n FunctionalComponent,\r\n h,\r\n Listen,\r\n Prop,\r\n State,\r\n VNode,\r\n Watch,\r\n} from \"@stencil/core\";\r\n\r\nimport debounce from \"debounce\";\r\nimport escapeStringRegexp from \"escape-string-regexp\";\r\n\r\nimport { v4 } from \"uuid\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\n\r\nimport { AutosuggestMarkFunction, AutosuggestMarkItem, Suggestion, SuggestionGroup } from \"./autosuggest.interfaces\";\r\nimport { translations } from \"./autosuggest.i18n\";\r\n\r\ninterface MarkedSuggestion {\r\n value: (VNode | string)[];\r\n type?: (VNode | string)[];\r\n extras?: (VNode | string)[][][];\r\n}\r\n\r\nconst maxSuggestionsViewable = 10;\r\nconst listboxPaddingBlock = 8;\r\nconst listboxBorderWidth = 1;\r\n\r\nconst Option: FunctionalComponent<{\r\n id: string;\r\n mouseEnter: () => void;\r\n mouseLeave: () => void;\r\n click: () => void;\r\n selected: string;\r\n suggestion: Suggestion;\r\n markedSuggestion: MarkedSuggestion;\r\n ref: (element: HTMLDivElement | undefined) => void;\r\n}> = ({ id, mouseEnter, mouseLeave, click, selected, suggestion, ref, markedSuggestion }) => (\r\n <div\r\n class=\"option\"\r\n role=\"option\"\r\n id={id}\r\n onMouseEnter={mouseEnter}\r\n onMouseLeave={mouseLeave}\r\n onClick={click}\r\n aria-selected={selected}\r\n aria-label={suggestion.value}\r\n ref={ref}\r\n >\r\n <div class=\"suggestion-row\">\r\n <span class=\"value\">{markedSuggestion.value}</span>\r\n {markedSuggestion.type ? <span class=\"type\">{markedSuggestion.type}</span> : undefined}\r\n </div>\r\n {markedSuggestion.extras &&\r\n markedSuggestion.extras.map((markedChunk) => (\r\n <div class=\"suggestion-row\">\r\n {markedChunk.map((extra) => (\r\n <span class=\"extra\">{extra}</span>\r\n ))}\r\n </div>\r\n ))}\r\n </div>\r\n);\r\n\r\nfunction isGrouped(suggestions: Suggestion[] | SuggestionGroup[] | null): suggestions is SuggestionGroup[] {\r\n return (\r\n !!suggestions &&\r\n suggestions.length > 0 &&\r\n suggestions.every(\r\n (suggestion) =>\r\n suggestion !== undefined &&\r\n \"groupLabel\" in suggestion &&\r\n suggestion.groupLabel !== undefined &&\r\n \"suggestions\" in suggestion &&\r\n suggestion.suggestions.length > 0,\r\n )\r\n );\r\n}\r\n\r\nfunction isFlat(suggestions: Suggestion[] | SuggestionGroup[] | null): suggestions is Suggestion[] {\r\n return (\r\n !!suggestions &&\r\n suggestions.length > 0 &&\r\n suggestions.every(\r\n (suggestion) => suggestion !== undefined && \"value\" in suggestion && suggestion.value !== undefined,\r\n )\r\n );\r\n}\r\n\r\n@Component({\r\n tag: \"dso-autosuggest\",\r\n styleUrl: \"autosuggest.scss\",\r\n scoped: true,\r\n})\r\nexport class Autosuggest {\r\n /**\r\n * The suggestions for the value of the slotted input element.\r\n *\r\n * This can be an array of type Suggestion or an Array of type SuggestionGroup.\r\n *\r\n * A suggestionGroup must have a `groupLabel` and `suggestions`.\r\n *\r\n * A suggestion must have a `value` and can have a `type`, an `item` or `extras`.\r\n *\r\n * The `type` is used to style the suggestion. `item` can be use to reference the original object that was used to\r\n * create the suggestion. `extras` is an array of additional strings to further specify the suggestion.\r\n *\r\n * The value should be null when no suggestions have been fetched.\r\n */\r\n @Prop()\r\n readonly suggestions: Suggestion[] | SuggestionGroup[] | null = null;\r\n\r\n /**\r\n * Shows progress indicator when fetching results.\r\n */\r\n @Prop()\r\n loading = false;\r\n\r\n /**\r\n * To override progress indicator's default loading label.\r\n */\r\n @Prop()\r\n loadingLabel?: string = \"Een moment geduld.\";\r\n\r\n /**\r\n * To delay progress indicator showing (in ms).\r\n */\r\n @Prop()\r\n loadingDelayed?: number;\r\n\r\n /**\r\n * To show text when no results are found.\r\n */\r\n @Prop()\r\n notFoundLabel?: string;\r\n\r\n /**\r\n * Whether the previous suggestions will be presented when the input gets focus again.\r\n */\r\n @Prop()\r\n suggestOnFocus = false;\r\n\r\n /**\r\n * A function provided by the consumer of the autosuggest component, that returns an array of `AutosuggestMarkItem`s\r\n */\r\n @Prop()\r\n mark?: AutosuggestMarkFunction;\r\n\r\n /**\r\n * Emitted when a suggestion is selected.\r\n * The `detail` property of the `CustomEvent` will contain the selected suggestion.\r\n */\r\n @Event()\r\n dsoSelect!: EventEmitter<Suggestion>;\r\n\r\n /**\r\n * This is emitted debounced for every change for the slotted input type=text element.\r\n */\r\n @Event()\r\n dsoChange!: EventEmitter<string>;\r\n\r\n /**\r\n * Emitted when enter is pressed.\r\n * The `detail` property of the `CustomEvent` will contain the input text.\r\n */\r\n @Event()\r\n dsoSearch!: EventEmitter<string>;\r\n\r\n @Element()\r\n host!: HTMLDsoAutosuggestElement;\r\n\r\n @State()\r\n showSuggestions = false;\r\n\r\n @State()\r\n selectedSuggestion: Suggestion | undefined;\r\n\r\n @State()\r\n selectedSuggestionGroup: SuggestionGroup | undefined;\r\n\r\n @State()\r\n notFound = false;\r\n\r\n @State()\r\n showLoading = false;\r\n\r\n @Watch(\"suggestions\")\r\n suggestionsWatcher() {\r\n this.resetSelectedSuggestion();\r\n\r\n if ((!this.showSuggestions || !this.notFound) && this.inputValue) {\r\n this.openSuggestions();\r\n } else if ((this.showSuggestions || this.notFound) && !this.inputValue) {\r\n this.closeSuggestions();\r\n }\r\n }\r\n\r\n private input?: HTMLInputElement;\r\n\r\n private listboxContainer: HTMLDsoScrollableElement | undefined;\r\n\r\n private listbox: HTMLDivElement | undefined;\r\n\r\n // ListboxItems are used for the calculation of the listboxContainerMaxBlockSize\r\n private listboxItems: HTMLDivElement[] = [];\r\n\r\n private listboxId: string = v4();\r\n\r\n private inputId: string = v4();\r\n\r\n private labelId: string = v4();\r\n\r\n private resizeObserver = new ResizeObserver(debounce(() => this.setListboxContainerMaxBlockSize(), 150));\r\n\r\n private debouncedEmitValue = debounce((value: string) => {\r\n this.dsoChange.emit(value);\r\n this.debouncedShowLoading();\r\n }, 200);\r\n\r\n private debouncedShowLoading = debounce(() => {\r\n if (this.inputValue) {\r\n this.showLoading = true;\r\n }\r\n }, this.loadingDelayed);\r\n\r\n private inputValue = \"\";\r\n\r\n private onInput = (event: Event) => {\r\n if (!(event.target instanceof HTMLInputElement)) {\r\n return;\r\n // throw new Error(\"event.target is not instanceof HTMLInputElement\"); #2293\r\n }\r\n\r\n this.showLoading = !this.loadingDelayed;\r\n this.inputValue = event.target.value;\r\n this.debouncedEmitValue(event.target.value.match(/(\\S+)/g) ? event.target.value : \"\");\r\n };\r\n\r\n private onFocusIn = () => {\r\n if (this.suggestOnFocus) {\r\n this.openSuggestions();\r\n }\r\n };\r\n\r\n @Listen(\"click\", { target: \"document\" })\r\n onDocumentClick(event: MouseEvent) {\r\n if (\r\n (this.showSuggestions || this.notFound) &&\r\n this.listbox &&\r\n event.target instanceof Node &&\r\n !this.listbox.contains(event.target) &&\r\n this.input !== event.target\r\n ) {\r\n this.closeSuggestions();\r\n }\r\n }\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n componentDidRender() {\r\n this.setListboxContainerMaxBlockSize();\r\n }\r\n\r\n connectedCallback() {\r\n const input = this.host.querySelector('input[type=\"text\"]');\r\n if (!(input instanceof HTMLInputElement)) {\r\n return;\r\n // throw new ReferenceError(\"Mandatory text input not found\"); #2293\r\n }\r\n\r\n this.input = input;\r\n if (input.id) {\r\n this.inputId = input.id;\r\n } else {\r\n input.id = this.inputId;\r\n }\r\n\r\n if (!this.input.labels || this.input.labels.length < 1) {\r\n return;\r\n // throw new ReferenceError(\"Mandatory label for text input not found\"); #2293\r\n }\r\n\r\n const label = this.input.labels[0];\r\n if (label?.id) {\r\n this.labelId = label.id;\r\n } else if (label) {\r\n label.id = this.labelId;\r\n }\r\n\r\n this.input.setAttribute(\"role\", \"combobox\");\r\n this.input.setAttribute(\"aria-haspopup\", \"listbox\");\r\n this.input.setAttribute(\"aria-expanded\", \"false\");\r\n this.input.setAttribute(\"autocomplete\", \"off\");\r\n this.input.setAttribute(\"aria-autocomplete\", \"list\");\r\n this.input.setAttribute(\"aria-activedescendant\", \"\");\r\n this.input.addEventListener(\"input\", this.onInput);\r\n this.input.addEventListener(\"keydown\", this.onKeyDown);\r\n this.input.addEventListener(\"focusin\", this.onFocusIn);\r\n\r\n window.addEventListener(\"resize\", this.onWindowResize);\r\n\r\n document.addEventListener(\"scrollend\", this.onScrollend);\r\n\r\n this.resizeObserver.observe(this.host);\r\n }\r\n\r\n disconnectedCallback() {\r\n this.input?.removeEventListener(\"input\", this.onInput);\r\n this.input?.removeEventListener(\"keydown\", this.onKeyDown);\r\n this.input?.removeEventListener(\"focusin\", this.onFocusIn);\r\n\r\n window.removeEventListener(\"resize\", this.onWindowResize);\r\n\r\n document.removeEventListener(\"scrollend\", this.onScrollend);\r\n\r\n this.resizeObserver.disconnect();\r\n }\r\n\r\n private onWindowResize = debounce(() => this.setListboxContainerMaxBlockSize(), 150);\r\n\r\n private onScrollend = () => this.setListboxContainerMaxBlockSize();\r\n\r\n private setListboxContainerMaxBlockSize(): void {\r\n if (!this.listboxContainer || !this.showSuggestions) {\r\n return;\r\n }\r\n\r\n if (this.showSuggestions) {\r\n let blockSizeViewableListItems = 0;\r\n let listboxContainerMaxBlockSize = 0;\r\n\r\n // The total number of list items to reserve vertical space for.\r\n const total = this.listboxItems.length ? Math.min(this.listboxItems.length, maxSuggestionsViewable) : 0;\r\n for (let i = 0; i < total; i++) {\r\n blockSizeViewableListItems =\r\n blockSizeViewableListItems + (this.listboxItems[i]?.getBoundingClientRect().height || 0);\r\n }\r\n\r\n const availableBlockSize = window.innerHeight - this.host.getBoundingClientRect().bottom;\r\n const listboxMaxBlockSize = blockSizeViewableListItems + 2 * listboxPaddingBlock + 2 * listboxBorderWidth;\r\n\r\n if (availableBlockSize < listboxMaxBlockSize || availableBlockSize <= blockSizeViewableListItems) {\r\n listboxContainerMaxBlockSize = availableBlockSize - 2 * listboxPaddingBlock;\r\n } else {\r\n listboxContainerMaxBlockSize = listboxMaxBlockSize;\r\n }\r\n\r\n this.listboxContainer.style.setProperty(\"--_dso-autosuggest-max-block-size\", `${listboxContainerMaxBlockSize}px`);\r\n }\r\n }\r\n\r\n private showInputValueNotFound(text?: string) {\r\n return this.processAutosuggestMarkItems(this.markTerms(this.input?.value.split(\" \").filter((t) => t) ?? [], text));\r\n }\r\n\r\n private handleMark(\r\n suggestion: Suggestion,\r\n text: string,\r\n type?: \"value\" | \"type\" | \"extra\",\r\n extraIndex?: number,\r\n ): (VNode | string)[] {\r\n if (this.mark && type) {\r\n return this.processAutosuggestMarkItems(this.mark(suggestion, text, type, extraIndex));\r\n }\r\n return this.processAutosuggestMarkItems(this.markTerms(this.input?.value.split(\" \").filter((t) => t) ?? [], text));\r\n }\r\n\r\n private markTerms(terms: string[], suggestionValue?: string): AutosuggestMarkItem[] {\r\n if (!suggestionValue || !terms || terms.length === 0 || terms[0] === undefined) {\r\n return [\"\"];\r\n }\r\n\r\n const termRegex = new RegExp(`(${escapeStringRegexp(terms[0])})`, \"gi\");\r\n\r\n return suggestionValue.split(termRegex).reduce((total: AutosuggestMarkItem[], valuePart: string) => {\r\n if (!valuePart) {\r\n total.push(valuePart);\r\n } else if (termRegex.test(valuePart)) {\r\n total.push({ mark: valuePart });\r\n } else if (terms.length === 1) {\r\n total.push(valuePart);\r\n } else {\r\n total.push(...this.markTerms(terms.slice(1), valuePart));\r\n }\r\n\r\n return total;\r\n }, []);\r\n }\r\n\r\n private processAutosuggestMarkItems(items: AutosuggestMarkItem[]): (VNode | string)[] {\r\n if (items.length === 0) {\r\n return [\"\"];\r\n }\r\n\r\n return items.map((item) => {\r\n if (typeof item === \"object\") {\r\n return <mark>{item.mark}</mark>;\r\n }\r\n return item;\r\n });\r\n }\r\n\r\n private selectSuggestion(suggestion: Suggestion, group?: SuggestionGroup) {\r\n this.selectedSuggestion = suggestion;\r\n this.selectedSuggestionGroup = group;\r\n\r\n this.setAriaActiveDescendant();\r\n }\r\n\r\n private selectFirstSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n if (isGrouped(this.suggestions) && this.selectedSuggestionGroup) {\r\n this.selectedSuggestion = this.selectedSuggestionGroup.suggestions[0];\r\n } else {\r\n if (isFlat(this.suggestions)) {\r\n this.selectedSuggestion = this.suggestions[0];\r\n }\r\n }\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectLastSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n if (isGrouped(this.suggestions) && this.selectedSuggestionGroup) {\r\n this.selectedSuggestion =\r\n this.selectedSuggestionGroup.suggestions[this.selectedSuggestionGroup.suggestions.length - 1];\r\n } else {\r\n if (isFlat(this.suggestions)) {\r\n this.selectedSuggestion = this.suggestions[this.suggestions.length - 1];\r\n }\r\n }\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectNextSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n if (isGrouped(this.suggestions)) {\r\n this.selectNextGroupedSuggestion();\r\n } else {\r\n const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : -1;\r\n\r\n this.selectedSuggestion = this.suggestions[index + 1] ?? this.suggestions[0];\r\n }\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectNextGroupedSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n if (this.selectedSuggestionGroup) {\r\n const indexInGroup = this.selectedSuggestion\r\n ? this.selectedSuggestionGroup.suggestions.indexOf(this.selectedSuggestion)\r\n : -1;\r\n\r\n if (indexInGroup === this.selectedSuggestionGroup.suggestions.length - 1) {\r\n // Move to first suggestion in next or first group\r\n const groupIndex = this.suggestionGroups.indexOf(this.selectedSuggestionGroup);\r\n this.selectedSuggestionGroup = this.suggestionGroups[groupIndex + 1] ?? this.suggestionGroups[0];\r\n this.selectedSuggestion = this.selectedSuggestionGroup!.suggestions[0];\r\n } else {\r\n // Within this group\r\n this.selectedSuggestion = this.selectedSuggestionGroup.suggestions[indexInGroup + 1];\r\n }\r\n } else {\r\n this.selectedSuggestionGroup = this.suggestionGroups[0];\r\n this.selectedSuggestion = this.selectedSuggestionGroup!.suggestions[0];\r\n }\r\n }\r\n\r\n private selectPreviousSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n if (isGrouped(this.suggestions)) {\r\n this.selectPreviousGroupedSuggestion();\r\n } else {\r\n const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : 0;\r\n\r\n this.selectedSuggestion = this.suggestions[index - 1] ?? this.suggestions[this.suggestions.length - 1];\r\n }\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectPreviousGroupedSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n if (this.selectedSuggestionGroup) {\r\n const indexInGroup = this.selectedSuggestion\r\n ? this.selectedSuggestionGroup.suggestions.indexOf(this.selectedSuggestion)\r\n : -1;\r\n\r\n if (indexInGroup === 0) {\r\n // Move to last suggestion in previous or last group\r\n const groupIndex = this.suggestionGroups.indexOf(this.selectedSuggestionGroup);\r\n\r\n this.selectedSuggestionGroup =\r\n this.suggestionGroups[groupIndex - 1] ?? this.suggestionGroups[this.suggestions.length - 1];\r\n this.selectedSuggestion =\r\n this.selectedSuggestionGroup!.suggestions[this.selectedSuggestionGroup!.suggestions.length - 1];\r\n } else {\r\n // Within this group\r\n this.selectedSuggestion = this.selectedSuggestionGroup.suggestions[indexInGroup - 1];\r\n }\r\n } else {\r\n this.selectedSuggestionGroup = this.suggestionGroups[this.suggestions.length - 1];\r\n this.selectedSuggestion =\r\n this.selectedSuggestionGroup!.suggestions[this.selectedSuggestionGroup!.suggestions.length - 1];\r\n }\r\n }\r\n\r\n private get suggestionGroups(): SuggestionGroup[] {\r\n return isGrouped(this.suggestions) ? this.suggestions : [];\r\n }\r\n\r\n private setAriaActiveDescendant(scroll = false): void {\r\n if (this.selectedSuggestion) {\r\n const id = this.selectedSuggestionGroup\r\n ? this.listboxGroupedItemId(this.selectedSuggestionGroup, this.selectedSuggestion)\r\n : this.listboxItemId(this.selectedSuggestion);\r\n this.input?.setAttribute(\"aria-activedescendant\", id);\r\n if (scroll) {\r\n document.getElementById(id)?.scrollIntoView({ block: \"nearest\" });\r\n }\r\n }\r\n }\r\n\r\n private resetSelectedSuggestion() {\r\n this.showLoading = !this.loadingDelayed;\r\n this.notFound = false;\r\n this.selectedSuggestion = undefined;\r\n this.selectedSuggestionGroup = undefined;\r\n this.input?.setAttribute(\"aria-activedescendant\", \"\");\r\n }\r\n\r\n private openSuggestions(selectSuggestion?: \"first\" | \"last\") {\r\n this.showSuggestions = (this.suggestions && this.suggestions.length > 0) ?? false;\r\n this.notFound = (this.suggestions && this.suggestions?.length === 0) ?? false;\r\n this.input?.setAttribute(\"aria-expanded\", (this.showSuggestions || this.notFound).toString());\r\n\r\n if (this.showSuggestions && selectSuggestion === \"first\") {\r\n this.selectFirstSuggestion();\r\n } else if (this.showSuggestions && selectSuggestion === \"last\") {\r\n this.selectLastSuggestion();\r\n }\r\n }\r\n\r\n private closeSuggestions() {\r\n this.showSuggestions = false;\r\n this.notFound = false;\r\n this.input?.setAttribute(\"aria-expanded\", \"false\");\r\n this.selectFirstSuggestion();\r\n }\r\n\r\n private pickSelectedValue() {\r\n if (this.selectedSuggestion && this.showSuggestions) {\r\n this.dsoSelect.emit(this.selectedSuggestion);\r\n } else {\r\n this.dsoSearch.emit(this.input?.value);\r\n }\r\n\r\n this.closeSuggestions();\r\n }\r\n\r\n private onKeyDown = (event: KeyboardEvent) => {\r\n if (event.defaultPrevented || this.loading) {\r\n return;\r\n }\r\n\r\n switch (event.key) {\r\n case \"ArrowDown\":\r\n if (!this.showSuggestions) {\r\n this.openSuggestions(\"first\");\r\n } else {\r\n this.selectNextSuggestion();\r\n }\r\n\r\n break;\r\n\r\n case \"ArrowUp\":\r\n if (!this.showSuggestions) {\r\n this.openSuggestions(\"last\");\r\n } else {\r\n this.selectPreviousSuggestion();\r\n }\r\n\r\n break;\r\n\r\n case \"Tab\":\r\n this.closeSuggestions();\r\n return;\r\n\r\n case \"Escape\":\r\n this.closeSuggestions();\r\n break;\r\n\r\n case \"Enter\":\r\n this.pickSelectedValue();\r\n break;\r\n\r\n default:\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n };\r\n\r\n private listboxItemId(suggestion: Suggestion): string {\r\n if (!this.suggestions) {\r\n return \"\";\r\n }\r\n return `${this.inputId}-${isFlat(this.suggestions) && this.suggestions.indexOf(suggestion) + 1}`;\r\n }\r\n\r\n private listboxGroupedItemId(suggestionGroup: SuggestionGroup, suggestion: Suggestion): string {\r\n if (!this.suggestions) {\r\n return \"\";\r\n }\r\n\r\n return `${this.inputId}-${this.suggestionGroups.indexOf(suggestionGroup) + 1}-${suggestionGroup.suggestions.indexOf(suggestion) + 1}`;\r\n }\r\n\r\n private getMarkedChunkedExtras(extras: string[], suggestion: Suggestion): (string | VNode)[][][] {\r\n const chunkedExtras = extras.reduce((resultArray: string[][], extra, index) => {\r\n const chunkIndex = Math.floor(index / 2);\r\n\r\n if (!resultArray[chunkIndex]) {\r\n resultArray[chunkIndex] = [];\r\n }\r\n resultArray[chunkIndex]?.push(extra);\r\n return resultArray;\r\n }, []);\r\n\r\n return chunkedExtras.map((chunk, index) =>\r\n chunk.map((c, i) => this.handleMark(suggestion, c, \"extra\", index * 2 + i)),\r\n );\r\n }\r\n\r\n private getMarkedSuggestions(suggestion: Suggestion): MarkedSuggestion {\r\n return {\r\n value: this.handleMark(suggestion, suggestion.value, \"value\"),\r\n type: suggestion.type ? this.handleMark(suggestion, suggestion.type, \"type\") : undefined,\r\n extras: suggestion.extras ? this.getMarkedChunkedExtras(suggestion.extras, suggestion) : undefined,\r\n };\r\n }\r\n\r\n private getAutosuggestStatus() {\r\n if (this.notFound) {\r\n return `\"${this.inputValue}\" is niet gevonden.`;\r\n }\r\n\r\n let totalSuggestions = 0;\r\n\r\n if (isFlat(this.suggestions)) {\r\n totalSuggestions = this.suggestions.length;\r\n } else if (isGrouped(this.suggestions)) {\r\n totalSuggestions = this.suggestions.reduce((count, group) => count + group.suggestions.length, 0);\r\n }\r\n\r\n return `${totalSuggestions} resultaten gevonden.`;\r\n }\r\n\r\n render() {\r\n this.listboxItems = [];\r\n\r\n const showListbox = this.showSuggestions || this.notFound;\r\n\r\n const grouped = isGrouped(this.suggestions);\r\n const flat = isFlat(this.suggestions);\r\n\r\n if (showListbox && this.input) {\r\n this.input.setAttribute(\"aria-controls\", this.listboxId);\r\n } else if (this.input) {\r\n this.input.removeAttribute(\"aria-controls\");\r\n }\r\n\r\n return (\r\n <>\r\n <slot />\r\n {this.loading && this.showLoading ? (\r\n <div class=\"autosuggest-progress-box\">\r\n <dso-progress-indicator label={this.loadingLabel}></dso-progress-indicator>\r\n </div>\r\n ) : (\r\n showListbox && (\r\n <>\r\n <dso-scrollable class=\"listbox-container\" ref={(element) => (this.listboxContainer = element)}>\r\n <div\r\n class=\"listbox\"\r\n role=\"listbox\"\r\n id={this.listboxId}\r\n aria-labelledby={this.labelId}\r\n ref={(element) => (this.listbox = element)}\r\n tabindex=\"0\"\r\n >\r\n {(flat &&\r\n this.showSuggestions &&\r\n this.suggestions &&\r\n this.suggestions.map((suggestion) => (\r\n <Option\r\n id={this.listboxItemId(suggestion)}\r\n mouseEnter={() => this.selectSuggestion(suggestion)}\r\n mouseLeave={() => this.resetSelectedSuggestion()}\r\n click={() => this.pickSelectedValue()}\r\n selected={(suggestion === this.selectedSuggestion).toString()}\r\n suggestion={suggestion}\r\n ref={(element) => element && this.listboxItems.push(element)}\r\n markedSuggestion={this.getMarkedSuggestions(suggestion)}\r\n />\r\n ))) ||\r\n (grouped &&\r\n this.showSuggestions &&\r\n this.suggestions &&\r\n this.suggestions.map((suggestionGroup) => {\r\n const groupLabelId = v4();\r\n return (\r\n <div role=\"group\" class=\"group\" aria-labelledby={groupLabelId}>\r\n <div\r\n class=\"group-label\"\r\n role=\"presentation\"\r\n id={groupLabelId}\r\n ref={(element) => element && this.listboxItems.push(element)}\r\n >\r\n {suggestionGroup.groupLabel}\r\n </div>\r\n {suggestionGroup.suggestions.map((suggestion) => (\r\n <Option\r\n id={this.listboxGroupedItemId(suggestionGroup, suggestion)}\r\n mouseEnter={() => this.selectSuggestion(suggestion, suggestionGroup)}\r\n mouseLeave={() => this.resetSelectedSuggestion()}\r\n click={() => this.pickSelectedValue()}\r\n selected={(suggestion === this.selectedSuggestion).toString()}\r\n suggestion={suggestion}\r\n ref={(element) => element && this.listboxItems.push(element)}\r\n markedSuggestion={this.getMarkedSuggestions(suggestion)}\r\n />\r\n ))}\r\n </div>\r\n );\r\n })) ||\r\n (this.notFound && (\r\n <div class=\"option\">\r\n <span class=\"value\">\r\n {this.notFoundLabel ||\r\n this.showInputValueNotFound(this.text(\"notFound\", { inputValue: this.inputValue }))}\r\n </span>\r\n </div>\r\n ))}\r\n </div>\r\n </dso-scrollable>\r\n <div class=\"sr-only\" aria-live=\"polite\" aria-atomic=\"true\">\r\n {this.getAutosuggestStatus()}\r\n </div>\r\n </>\r\n )\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as n,c as e,f as t,h as o,F as s,g as i}from"./p-D2Jo0W7B.js";import{c as r}from"./p-ChV9xqsO.js";const d="*,\n*::after,\n*::before {\n box-sizing: border-box;\n}\n\n:host {\n display: block;\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.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 cursor: pointer;\n}\n\n.dso-input-number {\n align-items: center;\n display: flex;\n}\n.dso-input-number .dso-input-step-counter {\n text-align: center;\n inline-size: 1.5rem;\n font-size: 14px;\n}\n\n.dso-button-group {\n display: flex;\n flex-direction: row;\n}\n.dso-button-group.dso-disabled > * {\n background-color: #fff;\n border-color: #e5e5e5;\n color: #666;\n}\n.dso-button-group.dso-disabled > * {\n pointer-events: none;\n}\n.dso-button-group > * {\n border-radius: 0;\n}\n.dso-button-group > *:first-child {\n border-radius: 4px 0 0 4px;\n}\n.dso-button-group > *:not(:first-child) {\n border-inline-start-style: none !important;\n}\n.dso-button-group > *:last-child {\n border-radius: 0 4px 4px 0;\n}\n.dso-button-group > *:only-child {\n border-radius: 4px;\n}\n.dso-button-group > .dso-input-number {\n border-style: solid;\n border-width: 1px;\n flex-wrap: nowrap;\n padding-block: 0;\n padding-inline: 16px;\n}\n.dso-button-group > .dso-input-number {\n background-color: #fff;\n border-color: #ccc;\n color: #191919;\n}\n@media screen and (max-width: 767px) {\n .dso-button-group > .dso-input-number {\n justify-content: center;\n }\n}\n.dso-button-group > *:hover + .dso-input-number,\n.dso-button-group > *:focus + .dso-input-number {\n background-color: #fff;\n border-color: #d7e7ce;\n color: #191919;\n}\n.dso-button-group > *.dso-selected + .dso-input-number {\n box-shadow: inset 0 -1px 0 0 #39870c, inset 0 1px 0 0 #39870c, inset -1px 0 0 0 #39870c;\n}\n.dso-button-group > *.dso-selected + .dso-input-number {\n background-color: #fff;\n border-color: #39870c;\n color: #191919;\n}\n.dso-button-group > *:active + .dso-input-number, .dso-button-group > *:active + .dso-input-number:hover,\n.dso-button-group > *.active + .dso-input-number,\n.dso-button-group > *.active + .dso-input-number:hover {\n background-color: #fff;\n border-color: #d7e7ce;\n color: #191919;\n}\n.dso-button-group > *.disabled + .dso-input-number, .dso-button-group > *.disabled + .dso-input-number:hover,\n.dso-button-group > *[disabled] + .dso-input-number,\n.dso-button-group > *[disabled] + .dso-input-number:hover {\n opacity: 1;\n}\n.dso-button-group > *.disabled + .dso-input-number, .dso-button-group > *.disabled + .dso-input-number:hover,\n.dso-button-group > *[disabled] + .dso-input-number,\n.dso-button-group > *[disabled] + .dso-input-number:hover {\n background-color: #fff;\n border-color: #ccc;\n color: #666;\n}\n.dso-button-group .dso-list-button {\n padding-inline-end: 15px;\n}\n\n.dso-selectable {\n position: relative;\n display: var(--dso-selectable-display, block);\n padding-block: 0;\n padding-inline: 32px 0;\n}\n.dso-selectable label {\n font-weight: 400;\n line-height: 24px;\n margin: 0;\n}\n.dso-selectable input[type=checkbox][disabled] + label::before, .dso-selectable input[type=checkbox][disabled]:active + label::before, .dso-selectable input[type=checkbox][disabled]:focus + label::before,\n.dso-selectable input[type=radio][disabled] + label::before,\n.dso-selectable input[type=radio][disabled]:active + label::before,\n.dso-selectable input[type=radio][disabled]:focus + label::before {\n background-color: #fff;\n box-shadow: 0 0 0 2px #e5e5e5;\n}\n.dso-selectable input[type=checkbox],\n.dso-selectable input[type=radio] {\n block-size: 24px;\n inset-inline-start: 0;\n margin: 0;\n opacity: 0;\n position: absolute;\n inset-block-start: 0;\n inline-size: 24px;\n z-index: 100;\n zoom: 1;\n}\n@media (prefers-contrast: more) {\n .dso-selectable input[type=checkbox],\n .dso-selectable input[type=radio] {\n opacity: 1;\n }\n}\n.dso-selectable input[type=checkbox]:not([disabled]),\n.dso-selectable input[type=radio]:not([disabled]) {\n cursor: pointer;\n}\n.dso-selectable input[type=checkbox] + label,\n.dso-selectable input[type=radio] + label {\n display: inline;\n font-style: normal;\n padding-inline-start: 0;\n}\n.dso-selectable input[type=checkbox] + label::before,\n.dso-selectable input[type=radio] + label::before {\n background: #fff;\n border: 0;\n box-shadow: 0 0 0 2px var(--dso-selectable-color, #275937);\n content: \"\";\n block-size: 20px;\n inset-inline-start: 2px;\n position: absolute;\n inset-block-start: 2px;\n inline-size: 20px;\n}\n.dso-selectable input[type=checkbox]:focus,\n.dso-selectable input[type=radio]:focus {\n outline: 0;\n}\n.dso-selectable input[type=checkbox]:focus + label::before,\n.dso-selectable input[type=radio]:focus + label::before {\n box-shadow: 0 0 0 3px var(--dso-selectable-color, #275937);\n block-size: 18px;\n inset-inline-start: 3px;\n inset-block-start: 3px;\n inline-size: 18px;\n}\n.dso-selectable input[type=checkbox]:active + label::before, .dso-selectable input[type=checkbox].active + label::before,\n.dso-selectable input[type=radio]:active + label::before,\n.dso-selectable input[type=radio].active + label::before {\n background-color: #ebf3e6;\n box-shadow: 0 0 0 1px #275937;\n block-size: 22px;\n inset-inline-start: 1px;\n inset-block-start: 1px;\n inline-size: 22px;\n}\n.dso-selectable input[type=checkbox] + label::before {\n border-radius: 4px;\n}\n.dso-selectable input[type=checkbox] + label::after {\n background: transparent;\n content: \"\";\n inset-inline-start: 6px;\n opacity: 0;\n position: absolute;\n inset-block-start: 6px;\n zoom: 1;\n}\n.dso-selectable input[type=checkbox]:checked + label::after, .dso-selectable input[type=checkbox]:indeterminate + label::after {\n opacity: 1;\n}\n.dso-selectable input[type=checkbox]:checked + label::after {\n border: solid;\n border-color: var(--dso-selectable-color, #39870c);\n border-block-start-color: transparent;\n border-width: 0 0 3px 3px;\n block-size: 8px;\n transform: rotate(-45deg);\n inline-size: 13px;\n}\n.dso-selectable input[type=checkbox]:indeterminate + label::after {\n background-color: var(--dso-selectable-color, #39870c);\n block-size: 12px;\n inline-size: 12px;\n}\n.dso-selectable input[type=radio] + label::before {\n border-radius: 50%;\n}\n.dso-selectable input[type=radio] + label::after {\n background-color: transparent;\n border-radius: 50%;\n content: \"\";\n block-size: 12px;\n inset-inline-start: 6px;\n opacity: 0;\n position: absolute;\n inset-block-start: 6px;\n inline-size: 12px;\n zoom: 1;\n}\n.dso-selectable input[type=radio]:checked + label::after {\n background-color: var(--dso-selectable-color, #39870c);\n opacity: 1;\n}\n.dso-selectable label {\n font-weight: 700;\n}\n\n.dso-list-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.dso-list-button:focus, .dso-list-button:focus-visible {\n outline-offset: 2px;\n}\n.dso-list-button:active {\n outline: 0;\n}\n.dso-list-button {\n background-color: #fff;\n border-color: #ccc;\n color: #191919;\n}\n.dso-list-button {\n border-radius: 4px;\n border-width: 1px;\n border-style: solid;\n font-weight: 600;\n padding-block: 15px;\n padding-inline: 15px 47px;\n position: relative;\n text-align: start;\n white-space: normal;\n inline-size: 100%;\n cursor: pointer;\n}\n.dso-list-button:hover, .dso-list-button:focus {\n background-color: #fff;\n border-color: #d7e7ce;\n color: #191919;\n}\n.dso-list-button:active, .dso-list-button:active:hover, .dso-list-button.active, .dso-list-button.active:hover {\n background-color: #fff;\n border-color: #d7e7ce;\n color: #191919;\n}\n.dso-list-button.disabled, .dso-list-button.disabled:hover, .dso-list-button[disabled], .dso-list-button[disabled]:hover {\n background-color: #fff;\n border-color: #ccc;\n color: #666;\n}\n.dso-list-button.disabled, .dso-list-button.disabled:hover, .dso-list-button[disabled], .dso-list-button[disabled]:hover {\n opacity: 1;\n}\n.dso-list-button.dso-selected {\n border-color: #39870c;\n border-width: 1px;\n box-shadow: inset 0px 0px 0px 1px #39870c, inset -1px 0px 0px 0px #39870c;\n}\n@media screen and (min-width: 768px) {\n .dso-list-button.dso-selected.dso-single-count {\n border-inline-end: 0;\n box-shadow: #39870c 0px 1px 0px 0px inset, #39870c 1px 0px 0px 0px inset, #39870c 0px -1px 0px 0px inset;\n }\n}\n.dso-list-button label {\n cursor: inherit;\n}\n.dso-list-button > span {\n display: block;\n}\n.dso-list-button .dso-sublabel {\n font-weight: 400;\n inline-size: 100%;\n padding-inline-start: 32px;\n}\n.dso-list-button dso-icon {\n block-size: 24px;\n color: #39870c;\n inset-block-start: 15px;\n inset-inline-end: 15px;\n inline-size: 24px;\n page-break-before: always;\n position: absolute;\n}\n@media screen and (max-width: 767px) {\n .dso-list-button.dso-selected.dso-single-count::after {\n inline-size: 0;\n }\n}";const a=class{constructor(t){n(this,t);this.dsoCountChange=e(this,"dsoCountChange",7);this.dsoSelectedChange=e(this,"dsoSelectedChange",7);this.checked=false;this.disabled=false}get subcontentSlot(){return this.host.querySelector("[slot='subcontent']")}connectedCallback(){this.mutationObserver=new MutationObserver((()=>t(this.host)));this.mutationObserver.observe(this.host,{characterData:true,childList:true,subtree:true,attributes:true})}componentDidRender(){var n,e;if(!((n=this.subcontentSlot)===null||n===void 0?void 0:n.hasAttribute("aria-hidden"))){(e=this.subcontentSlot)===null||e===void 0?void 0:e.setAttribute("aria-hidden","true")}}disconnectedCallback(){var n;(n=this.mutationObserver)===null||n===void 0?void 0:n.disconnect();delete this.mutationObserver}stepValue(n,e){if(typeof this.count==="number"){const t=e==="increment"?this.count+1:this.count-1;if(!this.isNewCountValid(t)){return}this.dsoCountChange.emit({originalEvent:n,count:t})}}handleSelectClick(n){n.preventDefault();if(this.count!==undefined){this.dsoCountChange.emit({originalEvent:n,count:this.count>0?0:1});return}this.dsoSelectedChange.emit({originalEvent:n,checked:!this.checked})}isNewCountValid(n){return!(this.min!==undefined&&this.max!==undefined&&(n<Number(this.min)||n>Number(this.max)))}render(){const n=this.checked||this.count!==undefined&&this.count>0;return o("div",{key:"b598da82cfebc24eeccc5a2ec2b46613ba6eba69",class:r(["dso-button-group",{"dso-disabled":this.disabled}])},o("div",{key:"ddf4368fb2eafc2be93b9a9e5c85c227c220303e",class:r(["dso-list-button",{"dso-selected":n,"dso-single-count":this.count===1}]),onClick:n=>this.handleSelectClick(n)},o("div",{key:"f2c536704711f53fadc40463b39f0fec0430d9c9",class:"dso-selectable"},o("input",{key:"e751f37d8eb12e3f6e41742dd93b1019a3bb9303",id:"dso-list-button-checkbox",type:"checkbox",value:"list-button",name:"naam","aria-describedby":[this.sublabel&&"sublabel",this.subcontentSlot&&"description"].filter((n=>!!n)).join(" ")||null,checked:n,disabled:this.disabled}),o("label",{key:"7ece1b6cdd28904be5dc222ce19f86f64d0cadac",htmlFor:"dso-list-button-checkbox"},this.label),this.subcontentSlot&&o("div",{key:"7d7bd35557060c7e4ca370f122bfed958957a634",class:"sr-only",id:"description"},this.subcontentPrefix&&this.subcontentPrefix+":",o("div",{key:"87dd6a05f6886e745f2448a2358cd3a8c2110cf7",innerHTML:this.subcontentSlot.innerHTML}))),this.sublabel&&o("span",{key:"0c490aa9be692955ab1fedae67d832d787e2edea",class:"dso-sublabel",id:"sublabel"},this.sublabel),o("slot",{key:"9836db0e661e3eeb87d9dc74b0e4f033215d0fe0",name:"subcontent"})),this.count!==undefined&&this.count>0&&o("div",{key:"c090e9c9eceec57fbe748739fef29da156576068",class:"dso-input-number"},this.count>1&&o(s,null,o("button",{key:"39ba1384b1ec7df2f816cfa33522e3cb8a7cd2b2",type:"button",class:"dso-tertiary",disabled:this.count===Number(this.min)||this.disabled,onClick:n=>this.stepValue(n,"decrement")},o("dso-icon",{key:"fe93d0957c319970873b5005e4f3502eacb30b90",icon:"minus-circle"}),o("span",{key:"d0344facadf6c2923b9da6b54678222e6278fb48",class:"sr-only"},"Aantal verlagen")),o("span",{key:"248ac189bdd3a8556c1b9f33033e4ca9b56ba3c7",class:"dso-input-step-counter","aria-label":"Aantal","aria-live":"polite"},this.count)),o("button",{key:"dfcd174240953bcb9956efe253e43e18d9a78318",type:"button",class:"dso-tertiary",disabled:this.count===Number(this.max)||this.disabled,onClick:n=>this.stepValue(n,"increment")},o("dso-icon",{key:"29c77388606a75f2b781760ef7055a66e6a1a3b4",icon:"plus-circle"}),o("span",{key:"7eb4b4ccf7403c63344ab75e9b49d9f814558049",class:"sr-only"},"Aantal verhogen"))))}get host(){return i(this)}};a.style=d;export{a as dso_list_button};
2
- //# sourceMappingURL=p-6f211cd5.entry.js.map
1
+ import{r as n,c as e,f as t,h as o,F as s,g as i}from"./p-D2Jo0W7B.js";import{c as r}from"./p-ChV9xqsO.js";const d="*,\n*::after,\n*::before {\n box-sizing: border-box;\n}\n\n:host {\n display: block;\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.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 cursor: pointer;\n}\n\n.dso-input-number {\n align-items: center;\n display: flex;\n}\n.dso-input-number .dso-input-step-counter {\n text-align: center;\n inline-size: 1.5rem;\n font-size: 14px;\n}\n\n.dso-button-group {\n display: flex;\n flex-direction: row;\n}\n.dso-button-group.dso-disabled > * {\n background-color: #fff;\n border-color: #e5e5e5;\n color: #666;\n}\n.dso-button-group.dso-disabled > * {\n pointer-events: none;\n}\n.dso-button-group > * {\n border-radius: 0;\n}\n.dso-button-group > *:first-child {\n border-radius: 4px 0 0 4px;\n}\n.dso-button-group > *:not(:first-child) {\n border-inline-start-style: none !important;\n}\n.dso-button-group > *:last-child {\n border-radius: 0 4px 4px 0;\n}\n.dso-button-group > *:only-child {\n border-radius: 4px;\n}\n.dso-button-group > .dso-input-number {\n border-style: solid;\n border-width: 1px;\n flex-wrap: nowrap;\n padding-block: 0;\n padding-inline: 16px;\n}\n.dso-button-group > .dso-input-number {\n background-color: #fff;\n border-color: #ccc;\n color: #191919;\n}\n@media screen and (max-width: 767px) {\n .dso-button-group > .dso-input-number {\n justify-content: center;\n }\n}\n.dso-button-group > *:hover + .dso-input-number,\n.dso-button-group > *:focus + .dso-input-number {\n background-color: #fff;\n border-color: #d7e7ce;\n color: #191919;\n}\n.dso-button-group > *.dso-selected + .dso-input-number {\n box-shadow: inset 0 -1px 0 0 #39870c, inset 0 1px 0 0 #39870c, inset -1px 0 0 0 #39870c;\n}\n.dso-button-group > *.dso-selected + .dso-input-number {\n background-color: #fff;\n border-color: #39870c;\n color: #191919;\n}\n.dso-button-group > *:active + .dso-input-number, .dso-button-group > *:active + .dso-input-number:hover,\n.dso-button-group > *.active + .dso-input-number,\n.dso-button-group > *.active + .dso-input-number:hover {\n background-color: #fff;\n border-color: #d7e7ce;\n color: #191919;\n}\n.dso-button-group > *.disabled + .dso-input-number, .dso-button-group > *.disabled + .dso-input-number:hover,\n.dso-button-group > *[disabled] + .dso-input-number,\n.dso-button-group > *[disabled] + .dso-input-number:hover {\n opacity: 1;\n}\n.dso-button-group > *.disabled + .dso-input-number, .dso-button-group > *.disabled + .dso-input-number:hover,\n.dso-button-group > *[disabled] + .dso-input-number,\n.dso-button-group > *[disabled] + .dso-input-number:hover {\n background-color: #fff;\n border-color: #ccc;\n color: #666;\n}\n.dso-button-group .dso-list-button {\n padding-inline-end: 15px;\n}\n\n.dso-selectable {\n position: relative;\n display: var(--dso-selectable-display, block);\n padding-block: 0;\n padding-inline: 32px 0;\n}\n.dso-selectable label {\n font-weight: 400;\n line-height: 24px;\n margin: 0;\n}\n.dso-selectable input[type=checkbox][disabled] + label::before, .dso-selectable input[type=checkbox][disabled]:active + label::before, .dso-selectable input[type=checkbox][disabled]:focus + label::before,\n.dso-selectable input[type=radio][disabled] + label::before,\n.dso-selectable input[type=radio][disabled]:active + label::before,\n.dso-selectable input[type=radio][disabled]:focus + label::before {\n background-color: #fff;\n box-shadow: 0 0 0 2px #e5e5e5;\n}\n.dso-selectable input[type=checkbox],\n.dso-selectable input[type=radio] {\n block-size: 24px;\n inset-inline-start: 0;\n margin: 0;\n opacity: 0;\n position: absolute;\n inset-block-start: 0;\n inline-size: 24px;\n z-index: 100;\n zoom: 1;\n}\n@media (prefers-contrast: more) {\n .dso-selectable input[type=checkbox],\n .dso-selectable input[type=radio] {\n opacity: 1;\n }\n}\n.dso-selectable input[type=checkbox]:not([disabled]),\n.dso-selectable input[type=radio]:not([disabled]) {\n cursor: pointer;\n}\n.dso-selectable input[type=checkbox] + label,\n.dso-selectable input[type=radio] + label {\n display: inline;\n font-style: normal;\n padding-inline-start: 0;\n}\n.dso-selectable input[type=checkbox] + label::before,\n.dso-selectable input[type=radio] + label::before {\n background: #fff;\n border: 0;\n box-shadow: 0 0 0 2px var(--dso-selectable-color, #275937);\n content: \"\";\n block-size: 20px;\n inset-inline-start: 2px;\n position: absolute;\n inset-block-start: 2px;\n inline-size: 20px;\n}\n.dso-selectable input[type=checkbox]:focus,\n.dso-selectable input[type=radio]:focus {\n outline: 0;\n}\n.dso-selectable input[type=checkbox]:focus + label::before,\n.dso-selectable input[type=radio]:focus + label::before {\n box-shadow: 0 0 0 3px var(--dso-selectable-color, #275937);\n block-size: 18px;\n inset-inline-start: 3px;\n inset-block-start: 3px;\n inline-size: 18px;\n}\n.dso-selectable input[type=checkbox]:active + label::before, .dso-selectable input[type=checkbox].active + label::before,\n.dso-selectable input[type=radio]:active + label::before,\n.dso-selectable input[type=radio].active + label::before {\n background-color: #ebf3e6;\n box-shadow: 0 0 0 1px #275937;\n block-size: 22px;\n inset-inline-start: 1px;\n inset-block-start: 1px;\n inline-size: 22px;\n}\n.dso-selectable input[type=checkbox] + label::before {\n border-radius: 4px;\n}\n.dso-selectable input[type=checkbox] + label::after {\n background: transparent;\n content: \"\";\n inset-inline-start: 6px;\n opacity: 0;\n position: absolute;\n inset-block-start: 6px;\n zoom: 1;\n}\n.dso-selectable input[type=checkbox]:checked + label::after, .dso-selectable input[type=checkbox]:indeterminate + label::after {\n opacity: 1;\n}\n.dso-selectable input[type=checkbox]:checked + label::after {\n border: solid;\n border-color: var(--dso-selectable-color, #39870c);\n border-block-start-color: transparent;\n border-width: 0 0 3px 3px;\n block-size: 8px;\n transform: rotate(-45deg);\n inline-size: 13px;\n}\n.dso-selectable input[type=checkbox]:indeterminate + label::after {\n background-color: var(--dso-selectable-color, #39870c);\n block-size: 12px;\n inline-size: 12px;\n}\n.dso-selectable input[type=radio] + label::before {\n border-radius: 50%;\n}\n.dso-selectable input[type=radio] + label::after {\n background-color: transparent;\n border-radius: 50%;\n content: \"\";\n block-size: 12px;\n inset-inline-start: 6px;\n opacity: 0;\n position: absolute;\n inset-block-start: 6px;\n inline-size: 12px;\n zoom: 1;\n}\n.dso-selectable input[type=radio]:checked + label::after {\n background-color: var(--dso-selectable-color, #39870c);\n opacity: 1;\n}\n.dso-selectable label {\n font-weight: 700;\n}\n\n.dso-list-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.dso-list-button:focus, .dso-list-button:focus-visible {\n outline-offset: 2px;\n}\n.dso-list-button:active {\n outline: 0;\n}\n.dso-list-button {\n background-color: #fff;\n border-color: #ccc;\n color: #191919;\n}\n.dso-list-button {\n border-radius: 4px;\n border-width: 1px;\n border-style: solid;\n font-weight: 600;\n padding-block: 15px;\n padding-inline: 15px 47px;\n position: relative;\n text-align: start;\n white-space: normal;\n inline-size: 100%;\n cursor: pointer;\n}\n.dso-list-button:hover, .dso-list-button:focus {\n background-color: #fff;\n border-color: #d7e7ce;\n color: #191919;\n}\n.dso-list-button:active, .dso-list-button:active:hover, .dso-list-button.active, .dso-list-button.active:hover {\n background-color: #fff;\n border-color: #d7e7ce;\n color: #191919;\n}\n.dso-list-button.disabled, .dso-list-button.disabled:hover, .dso-list-button[disabled], .dso-list-button[disabled]:hover {\n background-color: #fff;\n border-color: #ccc;\n color: #666;\n}\n.dso-list-button.disabled, .dso-list-button.disabled:hover, .dso-list-button[disabled], .dso-list-button[disabled]:hover {\n opacity: 1;\n}\n.dso-list-button.dso-selected {\n border-color: #39870c;\n border-width: 1px;\n box-shadow: inset 0px 0px 0px 1px #39870c, inset -1px 0px 0px 0px #39870c;\n}\n@media screen and (min-width: 768px) {\n .dso-list-button.dso-selected.dso-single-count {\n border-inline-end: 0;\n box-shadow: #39870c 0px 1px 0px 0px inset, #39870c 1px 0px 0px 0px inset, #39870c 0px -1px 0px 0px inset;\n }\n}\n.dso-list-button label {\n cursor: inherit;\n}\n.dso-list-button > span {\n display: block;\n}\n.dso-list-button .dso-sublabel,\n.dso-list-button .subcontent {\n font-weight: 400;\n inline-size: 100%;\n padding-inline-start: 32px;\n}\n.dso-list-button dso-icon {\n block-size: 24px;\n color: #39870c;\n inset-block-start: 15px;\n inset-inline-end: 15px;\n inline-size: 24px;\n page-break-before: always;\n position: absolute;\n}\n@media screen and (max-width: 767px) {\n .dso-list-button.dso-selected.dso-single-count::after {\n inline-size: 0;\n }\n}";const a=class{constructor(t){n(this,t);this.dsoCountChange=e(this,"dsoCountChange",7);this.dsoSelectedChange=e(this,"dsoSelectedChange",7);this.checked=false;this.disabled=false}get subcontentSlot(){return this.host.querySelector("[slot='subcontent']")}connectedCallback(){this.mutationObserver=new MutationObserver((()=>t(this.host)));this.mutationObserver.observe(this.host,{characterData:true,childList:true,subtree:true,attributes:true})}componentDidRender(){var n,e;if(!((n=this.subcontentSlot)===null||n===void 0?void 0:n.hasAttribute("aria-hidden"))){(e=this.subcontentSlot)===null||e===void 0?void 0:e.setAttribute("aria-hidden","true")}}disconnectedCallback(){var n;(n=this.mutationObserver)===null||n===void 0?void 0:n.disconnect();delete this.mutationObserver}stepValue(n,e){if(typeof this.count==="number"){const t=e==="increment"?this.count+1:this.count-1;if(!this.isNewCountValid(t)){return}this.dsoCountChange.emit({originalEvent:n,count:t})}}handleSelectClick(n){n.preventDefault();if(this.count!==undefined){this.dsoCountChange.emit({originalEvent:n,count:this.count>0?0:1});return}this.dsoSelectedChange.emit({originalEvent:n,checked:!this.checked})}isNewCountValid(n){return!(this.min!==undefined&&this.max!==undefined&&(n<Number(this.min)||n>Number(this.max)))}render(){const n=this.checked||this.count!==undefined&&this.count>0;return o("div",{key:"b598da82cfebc24eeccc5a2ec2b46613ba6eba69",class:r(["dso-button-group",{"dso-disabled":this.disabled}])},o("div",{key:"ddf4368fb2eafc2be93b9a9e5c85c227c220303e",class:r(["dso-list-button",{"dso-selected":n,"dso-single-count":this.count===1}]),onClick:n=>this.handleSelectClick(n)},o("div",{key:"f2c536704711f53fadc40463b39f0fec0430d9c9",class:"dso-selectable"},o("input",{key:"e751f37d8eb12e3f6e41742dd93b1019a3bb9303",id:"dso-list-button-checkbox",type:"checkbox",value:"list-button",name:"naam","aria-describedby":[this.sublabel&&"sublabel",this.subcontentSlot&&"description"].filter((n=>!!n)).join(" ")||null,checked:n,disabled:this.disabled}),o("label",{key:"7ece1b6cdd28904be5dc222ce19f86f64d0cadac",htmlFor:"dso-list-button-checkbox"},this.label),this.subcontentSlot&&o("div",{key:"7d7bd35557060c7e4ca370f122bfed958957a634",class:"sr-only",id:"description"},this.subcontentPrefix&&this.subcontentPrefix+":",o("div",{key:"87dd6a05f6886e745f2448a2358cd3a8c2110cf7",innerHTML:this.subcontentSlot.innerHTML}))),this.sublabel&&o("span",{key:"0c490aa9be692955ab1fedae67d832d787e2edea",class:"dso-sublabel",id:"sublabel"},this.sublabel),this.subcontentSlot&&o("div",{key:"d10de6f4ad7cafe0735603fdcc9dde1f52eea620",class:"subcontent"},o("slot",{key:"a19c3621e895948edf1b1c6cf3245d0d6869e9e7",name:"subcontent"}))),this.count!==undefined&&this.count>0&&o("div",{key:"94c1149928f8dcdcdc446ef2ccc287c6b0d65b35",class:"dso-input-number"},this.count>1&&o(s,null,o("button",{key:"3a11c8e551814a5061881a70132256804b682604",type:"button",class:"dso-tertiary",disabled:this.count===Number(this.min)||this.disabled,onClick:n=>this.stepValue(n,"decrement")},o("dso-icon",{key:"54fd8dc97e5d0b543c82e85750bfb6caeaea02ef",icon:"minus-circle"}),o("span",{key:"7f24b449569afea6a498d592d13f360bf328a0da",class:"sr-only"},"Aantal verlagen")),o("span",{key:"5d7a3c2fe16cb3e8003500de84691919845bc0b5",class:"dso-input-step-counter","aria-label":"Aantal","aria-live":"polite"},this.count)),o("button",{key:"cbeee360c92ab646420c63bdd21ce8782e17dd72",type:"button",class:"dso-tertiary",disabled:this.count===Number(this.max)||this.disabled,onClick:n=>this.stepValue(n,"increment")},o("dso-icon",{key:"479edf8adbb0896abc366d6e79e8386d753a857a",icon:"plus-circle"}),o("span",{key:"6c1d00d2e2dcd983d703368e7550faa3ade4c4d6",class:"sr-only"},"Aantal verhogen"))))}get host(){return i(this)}};a.style=d;export{a as dso_list_button};
2
+ //# sourceMappingURL=p-f579815f.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["listButtonCss","ListButton","constructor","hostRef","this","checked","disabled","subcontentSlot","host","querySelector","connectedCallback","mutationObserver","MutationObserver","forceUpdate","observe","characterData","childList","subtree","attributes","componentDidRender","_a","hasAttribute","_b","setAttribute","disconnectedCallback","disconnect","stepValue","e","direction","count","newValue","isNewCountValid","dsoCountChange","emit","originalEvent","handleSelectClick","preventDefault","undefined","dsoSelectedChange","min","max","Number","render","selected","h","key","class","clsx","onClick","id","type","value","name","sublabel","filter","s","join","htmlFor","label","subcontentPrefix","innerHTML","Fragment","icon"],"sources":["src/components/list-button/list-button.scss?tag=dso-list-button&encapsulation=shadow","src/components/list-button/list-button.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/selectable\";\r\n@use \"~dso-toolkit/src/components/form-control\";\r\n@use \"~dso-toolkit/src/utilities\";\r\n\r\n@use \"list-button.variables\" as list-button-variables;\r\n\r\n@include utilities.box-sizing();\r\n\r\n@mixin _state-styling($background-color: inherit, $border-color: inherit, $color: inherit) {\r\n & {\r\n background-color: $background-color;\r\n border-color: $border-color;\r\n color: $color;\r\n }\r\n}\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\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 cursor: pointer;\r\n }\r\n}\r\n\r\n.dso-input-number {\r\n align-items: center;\r\n display: flex;\r\n\r\n .dso-input-step-counter {\r\n text-align: center;\r\n inline-size: units.$ru3;\r\n font-size: list-button-variables.$font-size-count;\r\n }\r\n}\r\n\r\n.dso-button-group {\r\n display: flex;\r\n flex-direction: row;\r\n\r\n &.dso-disabled {\r\n > * {\r\n @include _state-styling(colors.$wit, colors.$grijs-10, colors.$grijs-60);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n pointer-events: none;\r\n }\r\n }\r\n }\r\n\r\n > * {\r\n border-radius: 0;\r\n\r\n &:first-child {\r\n border-radius: list-button-variables.$border-radius 0 0 list-button-variables.$border-radius;\r\n }\r\n\r\n &:not(:first-child) {\r\n border-inline-start-style: none !important;\r\n }\r\n\r\n &:last-child {\r\n border-radius: 0 list-button-variables.$border-radius list-button-variables.$border-radius 0;\r\n }\r\n\r\n &:only-child {\r\n border-radius: list-button-variables.$border-radius;\r\n }\r\n }\r\n\r\n > .dso-input-number {\r\n border-style: solid;\r\n border-width: 1px;\r\n flex-wrap: nowrap;\r\n padding-block: 0;\r\n padding-inline: units.$u2;\r\n\r\n @include _state-styling(colors.$wit, colors.$grijs-20, colors.$grijs-90);\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n justify-content: center;\r\n }\r\n }\r\n\r\n > *:hover + .dso-input-number,\r\n > *:focus + .dso-input-number {\r\n @include _state-styling(colors.$wit, button.$secondary-hover-background-color, colors.$grijs-90);\r\n }\r\n\r\n > *.dso-selected + .dso-input-number {\r\n box-shadow:\r\n inset 0 -1px 0 0 button.$secondary-border-color,\r\n inset 0 1px 0 0 button.$secondary-border-color,\r\n inset -1px 0 0 0 button.$secondary-border-color;\r\n\r\n @include _state-styling(colors.$wit, button.$secondary-border-color, colors.$grijs-90);\r\n }\r\n\r\n > *:active + .dso-input-number,\r\n > *.active + .dso-input-number {\r\n &,\r\n &:hover {\r\n @include _state-styling(colors.$wit, button.$secondary-hover-background-color, colors.$grijs-90);\r\n }\r\n }\r\n\r\n > *.disabled + .dso-input-number,\r\n > *[disabled] + .dso-input-number {\r\n &,\r\n &:hover {\r\n opacity: 1;\r\n\r\n @include _state-styling(colors.$wit, colors.$grijs-20, colors.$grijs-60);\r\n }\r\n }\r\n\r\n .dso-list-button {\r\n padding-inline-end: #{units.$u2 - 1};\r\n }\r\n}\r\n\r\n.dso-selectable {\r\n @include selectable.root(\"dso-info\");\r\n\r\n label {\r\n font-weight: 700;\r\n }\r\n}\r\n\r\n.dso-list-button {\r\n @include button.base($modifiers: false);\r\n @include _state-styling(colors.$wit, colors.$grijs-20, colors.$grijs-90);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2977\r\n & {\r\n border-radius: button.$border-radius;\r\n border-width: 1px;\r\n border-style: solid;\r\n font-weight: 600;\r\n padding-block: #{units.$u2 - 1};\r\n padding-inline: #{units.$u2 - 1} #{units.$u6 - 1};\r\n position: relative;\r\n text-align: start;\r\n white-space: normal;\r\n inline-size: 100%;\r\n cursor: pointer;\r\n }\r\n\r\n &:hover,\r\n &:focus {\r\n @include _state-styling(colors.$wit, button.$secondary-hover-background-color, colors.$grijs-90);\r\n }\r\n\r\n &:active,\r\n &.active {\r\n &,\r\n &:hover {\r\n @include _state-styling(colors.$wit, button.$secondary-hover-background-color, colors.$grijs-90);\r\n }\r\n }\r\n\r\n &.disabled,\r\n &[disabled] {\r\n &,\r\n &:hover {\r\n @include _state-styling(colors.$wit, colors.$grijs-20, colors.$grijs-60);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n\r\n &.dso-selected {\r\n border-color: colors.$grasgroen;\r\n border-width: 1px;\r\n box-shadow:\r\n inset 0px 0px 0px 1px colors.$grasgroen,\r\n inset -1px 0px 0px 0px colors.$grasgroen;\r\n\r\n &.dso-single-count {\r\n @media screen and (min-width: media-query-breakpoints.$screen-sm-min) {\r\n border-inline-end: 0;\r\n box-shadow:\r\n colors.$grasgroen 0px 1px 0px 0px inset,\r\n colors.$grasgroen 1px 0px 0px 0px inset,\r\n colors.$grasgroen 0px -1px 0px 0px inset;\r\n }\r\n }\r\n }\r\n\r\n label {\r\n cursor: inherit;\r\n }\r\n\r\n > span {\r\n display: block;\r\n }\r\n\r\n .dso-sublabel,\r\n .subcontent {\r\n font-weight: 400;\r\n inline-size: 100%;\r\n padding-inline-start: selectable.$size + units.$u1;\r\n }\r\n\r\n dso-icon {\r\n block-size: units.$u3;\r\n color: colors.$grasgroen;\r\n inset-block-start: #{units.$u2 - 1};\r\n inset-inline-end: #{units.$u2 - 1};\r\n inline-size: units.$u3;\r\n page-break-before: always;\r\n position: absolute;\r\n }\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n &.dso-selected.dso-single-count {\r\n &::after {\r\n inline-size: 0;\r\n }\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Fragment,\r\n h,\r\n Prop,\r\n Event,\r\n EventEmitter,\r\n forceUpdate,\r\n} from \"@stencil/core\";\r\nimport { ListButtonChangeEvent, ListButtonSelectedEvent } from \"./list-button.interfaces\";\r\n\r\nimport clsx from \"clsx\";\r\n\r\n@Component({\r\n tag: \"dso-list-button\",\r\n shadow: true,\r\n styleUrl: \"list-button.scss\",\r\n})\r\nexport class ListButton implements ComponentInterface {\r\n @Element()\r\n host!: HTMLDsoListButtonElement;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private get subcontentSlot() {\r\n return this.host.querySelector<HTMLElement>(\"[slot='subcontent']\");\r\n }\r\n\r\n /**\r\n * The label of the List Button.\r\n */\r\n @Prop()\r\n label?: string;\r\n\r\n /**\r\n * The sublabel of the List Button.\r\n */\r\n @Prop()\r\n sublabel?: string;\r\n\r\n /**\r\n * When defined the count can show on the List Button.\r\n */\r\n @Prop()\r\n count?: number;\r\n\r\n /**\r\n * The minimum value.\r\n */\r\n @Prop()\r\n min?: string | number;\r\n\r\n /**\r\n * The maximum value.\r\n */\r\n @Prop()\r\n max?: string | number;\r\n\r\n /**\r\n * Whether the List Button is checked.\r\n */\r\n @Prop({ reflect: true })\r\n checked = false;\r\n\r\n /**\r\n * Whether the List Button is disabled.\r\n */\r\n @Prop({ reflect: true })\r\n disabled = false;\r\n\r\n /**\r\n * Prefix to subcontent for the purpose of screenreading.\r\n */\r\n @Prop()\r\n subcontentPrefix?: string;\r\n\r\n /**\r\n * Emitted when the user changes the count.\r\n */\r\n @Event()\r\n dsoCountChange!: EventEmitter<ListButtonChangeEvent>;\r\n\r\n /**\r\n * Emitted when the user activates the List Button itself.\r\n *\r\n * Does not fire when the user activates the count controls.\r\n */\r\n @Event()\r\n dsoSelectedChange!: EventEmitter<ListButtonSelectedEvent>;\r\n\r\n connectedCallback() {\r\n this.mutationObserver = new MutationObserver(() => forceUpdate(this.host));\r\n\r\n this.mutationObserver.observe(this.host, {\r\n characterData: true,\r\n childList: true,\r\n subtree: true,\r\n attributes: true,\r\n });\r\n }\r\n\r\n componentDidRender(): void {\r\n if (!this.subcontentSlot?.hasAttribute(\"aria-hidden\")) {\r\n this.subcontentSlot?.setAttribute(\"aria-hidden\", \"true\");\r\n }\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.mutationObserver?.disconnect();\r\n delete this.mutationObserver;\r\n }\r\n\r\n private stepValue(e: Event, direction: \"increment\" | \"decrement\"): void {\r\n if (typeof this.count === \"number\") {\r\n const newValue = direction === \"increment\" ? this.count + 1 : this.count - 1;\r\n\r\n if (!this.isNewCountValid(newValue)) {\r\n return;\r\n }\r\n\r\n this.dsoCountChange.emit({\r\n originalEvent: e,\r\n count: newValue,\r\n });\r\n }\r\n }\r\n\r\n private handleSelectClick(e: Event): void {\r\n e.preventDefault();\r\n\r\n if (this.count !== undefined) {\r\n this.dsoCountChange.emit({\r\n originalEvent: e,\r\n count: this.count > 0 ? 0 : 1,\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.dsoSelectedChange.emit({\r\n originalEvent: e,\r\n checked: !this.checked,\r\n });\r\n }\r\n\r\n private isNewCountValid(newValue: number): boolean {\r\n return !(\r\n this.min !== undefined &&\r\n this.max !== undefined &&\r\n (newValue < Number(this.min) || newValue > Number(this.max))\r\n );\r\n }\r\n\r\n render() {\r\n const selected = this.checked || (this.count !== undefined && this.count > 0);\r\n\r\n return (\r\n <div class={clsx([\"dso-button-group\", { \"dso-disabled\": this.disabled }])}>\r\n <div\r\n class={clsx([\"dso-list-button\", { \"dso-selected\": selected, \"dso-single-count\": this.count === 1 }])}\r\n onClick={(e) => this.handleSelectClick(e)}\r\n >\r\n <div class=\"dso-selectable\">\r\n <input\r\n id=\"dso-list-button-checkbox\"\r\n type=\"checkbox\"\r\n value=\"list-button\"\r\n name=\"naam\"\r\n aria-describedby={\r\n [this.sublabel && \"sublabel\", this.subcontentSlot && \"description\"].filter((s) => !!s).join(\" \") || null\r\n }\r\n checked={selected}\r\n disabled={this.disabled}\r\n />\r\n <label htmlFor=\"dso-list-button-checkbox\">{this.label}</label>\r\n {this.subcontentSlot && (\r\n <div class=\"sr-only\" id=\"description\">\r\n {this.subcontentPrefix && this.subcontentPrefix + \":\"}\r\n <div innerHTML={this.subcontentSlot.innerHTML}></div>\r\n </div>\r\n )}\r\n </div>\r\n {this.sublabel && (\r\n <span class=\"dso-sublabel\" id=\"sublabel\">\r\n {this.sublabel}\r\n </span>\r\n )}\r\n {this.subcontentSlot && (\r\n <div class=\"subcontent\">\r\n <slot name=\"subcontent\" />\r\n </div>\r\n )}\r\n </div>\r\n\r\n {this.count !== undefined && this.count > 0 && (\r\n <div class=\"dso-input-number\">\r\n {this.count > 1 && (\r\n <>\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary\"\r\n disabled={this.count === Number(this.min) || this.disabled}\r\n onClick={(e) => this.stepValue(e, \"decrement\")}\r\n >\r\n <dso-icon icon=\"minus-circle\"></dso-icon>\r\n <span class=\"sr-only\">Aantal verlagen</span>\r\n </button>\r\n <span class=\"dso-input-step-counter\" aria-label=\"Aantal\" aria-live=\"polite\">\r\n {this.count}\r\n </span>\r\n </>\r\n )}\r\n\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary\"\r\n disabled={this.count === Number(this.max) || this.disabled}\r\n onClick={(e) => this.stepValue(e, \"increment\")}\r\n >\r\n <dso-icon icon=\"plus-circle\"></dso-icon>\r\n <span class=\"sr-only\">Aantal verhogen</span>\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,h as i,F as s,g as e}from"./p-D2Jo0W7B.js";const o="*,*::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:"0c95a99da4efdb1586d340556ed2a30e8639de6b","aria-describedby":"toggle",onClick:this.click,label:this.label,active:this.active,secondary:this.secondary,ref:t=>this.infoButton=t}),i("dso-tooltip",{key:"b9a89bf55642c6bf35bf87b4166e5958bc179529",stateless:true,descriptive:true,id:"toggle",strategy:"absolute",active:this.active,position:this.position,small:this.small},i("slot",{key:"da02438922da4d6cc6dcc2a10a143ea2c55d7493"})))}get host(){return e(this)}};h.style=o;export{h as dso_toggletip};
2
- //# sourceMappingURL=p-583bd6db.entry.js.map
1
+ import{r as t,h as i,F as s,g as e}from"./p-D2Jo0W7B.js";const o="*,*::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-fa1cbcb0.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dso-accordion-section.entry.js","sources":["src/components/accordion/components/accordion-section.interfaces.ts","src/components/accordion/components/accordion-section.scss?tag=dso-accordion-section&encapsulation=shadow","src/components/accordion/components/accordion-section.tsx"],"sourcesContent":["export type AccordionSectionState = \"success\" | \"info\" | \"warning\" | \"danger\" | \"error\";\r\n\r\nexport type AccordionHeading = \"h2\" | \"h3\" | \"h4\" | \"h5\";\r\n\r\nexport type AccordionSectionWijzigactie = \"voegtoe\" | \"verwijder\";\r\n\r\nexport const stateMap: Record<AccordionSectionState, string> = {\r\n success: \"succes:\",\r\n info: \"info:\",\r\n warning: \"waarschuwing:\",\r\n danger: \"fout:\",\r\n error: \"fout:\",\r\n};\r\n\r\nexport interface AccordionSectionToggleClickEvent {\r\n /**\r\n * The original MouseEvent that triggered the click.\r\n *\r\n * In case the Section Handle is an <a> this event can be used to preventDefault() so the framework router is reponsible for navigating the user.\r\n */\r\n originalEvent?: MouseEvent;\r\n\r\n /**\r\n * The requested state. If the Accordion Section is closed, `open = true`.\r\n */\r\n open: boolean;\r\n}\r\n\r\nexport interface AccordionSectionAnimationStartEvent {\r\n /**\r\n * Helper function to scroll the Accordion Section into view.\r\n */\r\n scrollIntoView(behavior?: ScrollBehavior): void;\r\n\r\n /**\r\n * Whether or not the Accordion opening or closing.\r\n */\r\n animation: \"opening\" | \"closing\";\r\n}\r\n\r\nexport interface AccordionSectionAnimationEndEvent {\r\n /**\r\n * Helper function to scroll the Accordion Section into view.\r\n */\r\n scrollIntoView(behavior?: ScrollBehavior): void;\r\n\r\n /**\r\n * The state of the Accordion Section after animation.\r\n */\r\n open: boolean;\r\n}\r\n\r\nexport interface AccordionSectionActiveChangeEvent {\r\n /**\r\n * De current status van de Accordion Section.\r\n */\r\n current: boolean;\r\n\r\n /**\r\n * De desired status van de Accordion Section.\r\n */\r\n next: boolean;\r\n\r\n originalEvent: Event;\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/typography\";\r\n\r\n@use \"~dso-toolkit/src/components/accordion\";\r\n@use \"~dso-toolkit/src/components/anchor\";\r\n\r\n@use \"accordion-section-theme-compact\";\r\n@use \"accordion-section-theme-compact-black\";\r\n@use \"accordion-section-theme-conclusion\";\r\n@use \"accordion-section-theme-default\";\r\n@use \"accordion-section-theme-neutral\";\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:host {\r\n display: block;\r\n\r\n .dso-section-handle {\r\n font-size: 1em;\r\n font-weight: 600;\r\n line-height: accordion.$handle-line-height;\r\n margin: 0;\r\n position: relative;\r\n\r\n > a:active {\r\n text-decoration: none;\r\n }\r\n\r\n a {\r\n @include anchor.clean();\r\n }\r\n\r\n .dso-status {\r\n color: colors.$zwart;\r\n font-size: typography.$font-size-small;\r\n font-weight: 400;\r\n }\r\n }\r\n\r\n .dso-section-handle > button,\r\n .dso-section-handle > a {\r\n align-items: flex-start;\r\n background-color: transparent;\r\n border: 0;\r\n cursor: pointer;\r\n display: flex;\r\n font-family: typography.$font-family-base;\r\n font-size: 1em;\r\n font-weight: 600;\r\n line-height: accordion.$handle-line-height;\r\n margin: 0;\r\n padding-block: accordion.$block-padding;\r\n padding-inline: accordion.$inline-padding;\r\n text-align: start;\r\n inline-size: 100%;\r\n word-break: break-word;\r\n\r\n dso-icon {\r\n flex-shrink: 0;\r\n\r\n &.dso-section-handle-chevron {\r\n @include utilities.transition(transform);\r\n\r\n transform: rotate(0);\r\n }\r\n }\r\n\r\n > .dso-section-handle-addons:first-child,\r\n > dso-icon:first-child {\r\n margin-inline-end: units.$u1;\r\n }\r\n\r\n > dso-icon:last-child {\r\n margin-inline-start: auto;\r\n }\r\n\r\n > .dso-section-handle-addons:last-child {\r\n margin-inline-start: auto;\r\n\r\n dso-attachments-counter,\r\n dso-icon {\r\n margin-inline-start: units.$u1;\r\n }\r\n }\r\n\r\n > dso-label {\r\n margin-inline-start: auto;\r\n padding-inline-start: units.$u1;\r\n word-break: normal;\r\n\r\n & + dso-icon:last-child,\r\n & + .dso-section-handle-addons:last-child {\r\n margin-inline-start: units.$u1;\r\n }\r\n }\r\n }\r\n}\r\n\r\n:host([open]:not([open=\"false\"])) {\r\n .dso-section-handle {\r\n > button,\r\n > a {\r\n .dso-section-handle-chevron {\r\n &:first-child {\r\n transform: rotate(90deg);\r\n }\r\n\r\n &:last-child {\r\n transform: rotate(-180deg);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n.dso-section-body {\r\n background-color: colors.$wit;\r\n border-block-start: 0;\r\n\r\n .dso-section-body-content {\r\n padding-block: units.$u2 + accordion.$border-radius units.$u2;\r\n padding-inline: units.$u2;\r\n }\r\n}\r\n\r\n// Default\r\n:host(.dso-accordion-default) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default();\r\n}\r\n\r\n:host(.dso-accordion-default[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default-open();\r\n}\r\n\r\n:host(.dso-accordion-default.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default-open-nested();\r\n}\r\n\r\n// Compact\r\n:host(.dso-accordion-compact) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact();\r\n}\r\n\r\n:host(.dso-accordion-compact.dso-accordion-reverse-align) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-reverse();\r\n}\r\n\r\n:host(.dso-accordion-compact[open]:not([open=\"false\"]):not(.dso-nested-accordion)) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-open();\r\n}\r\n\r\n:host(.dso-accordion-compact.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-open-nested();\r\n}\r\n\r\n// Compact black\r\n:host(.dso-accordion-compact-black) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-accordion-section-activate) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black();\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-activate();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-voegtoe) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-voegtoe();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-verwijder) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-verwijder();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-accordion-reverse-align) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-reverse();\r\n}\r\n\r\n:host(.dso-accordion-compact-black[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-open();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-open-nested();\r\n}\r\n\r\n// Conclusion\r\n:host(.dso-accordion-conclusion) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion();\r\n}\r\n\r\n:host(.dso-accordion-conclusion[open]:not([open=\"false\"]):not(.dso-nested-accordion)) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion-open();\r\n}\r\n\r\n:host(.dso-accordion-conclusion.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion-open-nested();\r\n}\r\n\r\n// Neutral\r\n:host(.dso-accordion-neutral) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral();\r\n}\r\n\r\n:host(.dso-accordion-neutral[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral-open();\r\n}\r\n\r\n:host(.dso-accordion-neutral.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral-open-nested();\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n forceUpdate,\r\n Fragment,\r\n FunctionalComponent,\r\n h,\r\n Host,\r\n Method,\r\n Prop,\r\n State,\r\n} from \"@stencil/core\";\r\n\r\nimport { AccordionInternalState } from \"../accordion.interfaces\";\r\nimport {\r\n AccordionHeading,\r\n AccordionSectionActiveChangeEvent,\r\n AccordionSectionAnimationEndEvent,\r\n AccordionSectionAnimationStartEvent,\r\n AccordionSectionState,\r\n AccordionSectionToggleClickEvent,\r\n AccordionSectionWijzigactie,\r\n stateMap,\r\n} from \"./accordion-section.interfaces\";\r\nimport { ExpandableAnimationEndEvent } from \"../../expandable/expandable\";\r\nimport { LabelStatus } from \"../../label/label.interfaces\";\r\nimport { RenvooiValue } from \"../../renvooi/renvooi.interfaces\";\r\nimport { SlideToggleActiveEvent } from \"../../slide-toggle/slide-toggle.interfaces\";\r\n\r\nimport { DsoSlideToggleCustomEvent } from \"../../../components\";\r\n\r\n// eslint-disable-next-line no-console\r\nconst log = (window as any)[\"_dsoLog\"] === true ? console.log.bind(console.log) : function () {};\r\n\r\nconst HandleElement: FunctionalComponent<{\r\n handleUrl: string | undefined;\r\n open: boolean;\r\n showSlideToggle: boolean;\r\n active: boolean;\r\n onActiveChange: (e: DsoSlideToggleCustomEvent<SlideToggleActiveEvent>) => void;\r\n handleElementRef: (element: HTMLAnchorElement | HTMLButtonElement | undefined) => void;\r\n onClick: (e: MouseEvent) => void;\r\n}> = ({ handleUrl, onClick, open, showSlideToggle, active, onActiveChange, handleElementRef }, children) => {\r\n if (handleUrl) {\r\n return (\r\n <>\r\n <a href={handleUrl} onClick={onClick} aria-expanded={open ? \"true\" : \"false\"} ref={handleElementRef}>\r\n {children}\r\n </a>\r\n {showSlideToggle && (\r\n <dso-slide-toggle accessibleLabel=\"Toon op kaart\" checked={active} onDsoActiveChange={onActiveChange} />\r\n )}\r\n </>\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n <button type=\"button\" onClick={onClick} aria-expanded={open ? \"true\" : \"false\"} ref={handleElementRef}>\r\n {children}\r\n </button>\r\n {showSlideToggle && (\r\n <dso-slide-toggle accessibleLabel=\"Toon op kaart\" checked={active} onDsoActiveChange={onActiveChange} />\r\n )}\r\n </>\r\n );\r\n};\r\n\r\nconst Handle: FunctionalComponent<{\r\n heading: AccordionHeading;\r\n ref: (element: HTMLHeadingElement | undefined) => void;\r\n}> = ({ heading, ref }, children) => {\r\n switch (heading) {\r\n default:\r\n case \"h2\":\r\n return (\r\n <h2 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h2>\r\n );\r\n case \"h3\":\r\n return (\r\n <h3 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h3>\r\n );\r\n case \"h4\":\r\n return (\r\n <h4 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h4>\r\n );\r\n case \"h5\":\r\n return (\r\n <h5 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h5>\r\n );\r\n }\r\n};\r\n\r\nconst HandleIcon: FunctionalComponent<{\r\n state?: AccordionSectionState;\r\n icon?: string;\r\n attachmentCount?: number;\r\n}> = ({ state, icon, attachmentCount }) => {\r\n if (state) {\r\n return <HandleStateIcon state={state} />;\r\n }\r\n\r\n if (attachmentCount) {\r\n return <dso-attachments-counter count={attachmentCount}></dso-attachments-counter>;\r\n }\r\n\r\n if (icon) {\r\n return <dso-icon icon={icon}></dso-icon>;\r\n }\r\n};\r\n\r\nconst HandleStateIcon: FunctionalComponent<{ state: AccordionSectionState }> = ({ state }) => {\r\n if (state === \"error\") {\r\n return <dso-icon icon=\"status-error\"></dso-icon>;\r\n }\r\n\r\n if (state === \"danger\") {\r\n return <dso-icon icon=\"status-danger\"></dso-icon>;\r\n }\r\n\r\n if (state === \"success\") {\r\n return <dso-icon icon=\"status-success\"></dso-icon>;\r\n }\r\n\r\n if (state === \"info\") {\r\n return <dso-icon icon=\"status-info\"></dso-icon>;\r\n }\r\n\r\n if (state === \"warning\") {\r\n return <dso-icon icon=\"status-warning\"></dso-icon>;\r\n }\r\n};\r\n\r\n@Component({\r\n tag: \"dso-accordion-section\",\r\n styleUrl: \"accordion-section.scss\",\r\n shadow: true,\r\n})\r\nexport class AccordionSection implements ComponentInterface {\r\n private accordionState?: AccordionInternalState;\r\n\r\n private sectionBody?: HTMLDivElement;\r\n\r\n private sectionHeading?: HTMLHeadingElement;\r\n\r\n @Element()\r\n host!: HTMLDsoAccordionSectionElement;\r\n\r\n /**\r\n * The title of the handle\r\n */\r\n @Prop()\r\n handleTitle!: RenvooiValue | RenvooiValue[] | undefined;\r\n\r\n /**\r\n * An optional 'wijzigactie' that signals if the section is added or removed.\r\n */\r\n @Prop()\r\n wijzigactie?: AccordionSectionWijzigactie;\r\n\r\n /**\r\n * Which heading element to use.\r\n */\r\n @Prop()\r\n heading: AccordionHeading = \"h2\";\r\n\r\n /**\r\n * When set the handle will render as a `<a>`. When undefined it renders as a `<button>`\r\n */\r\n @Prop()\r\n handleUrl?: string;\r\n\r\n /**\r\n * `state` takes precedence over `attachmentCount` and `icon`\r\n */\r\n @Prop()\r\n status?: AccordionSectionState;\r\n\r\n /**\r\n * `attachmentCount` takes precedence over `icon`\r\n */\r\n @Prop()\r\n attachmentCount?: number;\r\n\r\n /**\r\n * To set an icon in the heading handle.\r\n */\r\n @Prop()\r\n icon?: string;\r\n\r\n /**\r\n * The status of the section.\r\n */\r\n @Prop()\r\n statusDescription?: string;\r\n\r\n /**\r\n * Set the Accordion Section open.\r\n */\r\n @Prop({ reflect: true })\r\n open = false;\r\n\r\n /**\r\n * Set when this Accordion Section contains or will contain an Accordion.\r\n */\r\n @Prop({ reflect: true })\r\n hasNestedAccordion = false;\r\n\r\n /**\r\n * The label to be displayed in the heading handle inside a Label (optional)\r\n */\r\n @Prop()\r\n label?: string;\r\n\r\n /**\r\n * The status of the Label in the heading handle (optional)\r\n */\r\n @Prop()\r\n labelStatus?: LabelStatus;\r\n\r\n /**\r\n * A boolean to indicate if the Accordion Section is capable of being activated. When `true` a Slide Toggle displays\r\n * on the right in the heading handle (optional). Works only for `variant` `compact-black` and `reverseAlign` false.\r\n */\r\n @Prop({ reflect: true })\r\n activatable = false;\r\n\r\n /**\r\n * A boolean to indicate if the Accordion Section is `active`. Only applicable when the Accordion Section is\r\n * `activatable`.\r\n */\r\n @Prop({ reflect: true })\r\n active = false;\r\n\r\n /**\r\n * An optional event listener for changes on the value of property `active`.\r\n */\r\n @Event()\r\n dsoActiveChange!: EventEmitter<AccordionSectionActiveChangeEvent>;\r\n\r\n /**\r\n * Calling this method will set focus to the handle.\r\n */\r\n @Method()\r\n async focusHandle() {\r\n this.handleElementRef?.focus();\r\n }\r\n\r\n @State()\r\n hover = false;\r\n\r\n get containsNestedAccordion() {\r\n return this.host.querySelector(\"dso-accordion\") !== null;\r\n }\r\n\r\n componentWillLoad() {\r\n this.accordion?._getState().then((state) => {\r\n this.accordionState = state;\r\n\r\n forceUpdate(this.host);\r\n });\r\n }\r\n\r\n get isNeutral() {\r\n return this.accordionState?.variant === \"neutral\";\r\n }\r\n\r\n private async scrollIntoView(bodyHeight: number | undefined, behavior: ScrollBehavior = \"auto\"): Promise<void> {\r\n log(\r\n `DSO Toolkit [Accordion Section] scrollIntoView(bodyHeight: ${JSON.stringify(\r\n bodyHeight,\r\n )}, behavior: ${JSON.stringify(behavior)})`,\r\n );\r\n\r\n const bodyClientRect = this.sectionBody?.getBoundingClientRect();\r\n const headingClientRect = this.sectionHeading?.getBoundingClientRect();\r\n\r\n log(`DSO Toolkit [Accordion Section] const bodyClientRect = ${JSON.stringify(bodyClientRect)};`);\r\n log(`DSO Toolkit [Accordion Section] const headingClientRect = ${JSON.stringify(headingClientRect)};`);\r\n log(`DSO Toolkit [Accordion Section] this.accordionState = ${JSON.stringify(this.accordionState)};`);\r\n log(`DSO Toolkit [Accordion Section] this.open = ${JSON.stringify(this.open)};`);\r\n\r\n if (!bodyClientRect || !headingClientRect || !this.accordionState) {\r\n log(`DSO Toolkit [Accordion Section] returning`);\r\n\r\n return;\r\n }\r\n\r\n // this y is relative to the top of the viewport.\r\n const sectionBottomY = headingClientRect.top + headingClientRect.height + (this.open ? (bodyHeight ?? 0) : 0);\r\n\r\n log(`DSO Toolkit [Accordion Section] const sectionBottomY = ${JSON.stringify(sectionBottomY)};`);\r\n log(`DSO Toolkit [Accordion Section] window.innerHeight = ${JSON.stringify(window.innerHeight)};`);\r\n\r\n const box = this.host.getBoundingClientRect();\r\n\r\n const scrollTop = window.scrollY || document.documentElement.scrollTop || document.body.scrollTop;\r\n const clientTop = document.documentElement.clientTop || document.body.clientTop || 0;\r\n const top = box.top + scrollTop - clientTop;\r\n\r\n log(\"DSO Toolkit [Accordion Section] scroll\", { box, scrollTop, clientTop, top });\r\n\r\n if (sectionBottomY > window.innerHeight) {\r\n log(\r\n `DSO Toolkit [Accordion Section] sectionBottomY > window.innerHeight === ${JSON.stringify(\r\n sectionBottomY > window.innerHeight,\r\n )};`,\r\n );\r\n\r\n const expandedAccordionHeight = sectionBottomY - headingClientRect.top;\r\n const shouldScrollToTopOfSection = expandedAccordionHeight > window.innerHeight;\r\n\r\n log(\r\n `DSO Toolkit [Accordion Section] const expandedAccordionHeight = ${JSON.stringify(expandedAccordionHeight)};`,\r\n );\r\n log(\r\n `DSO Toolkit [Accordion Section] const shouldScrollToTopOfSection = ${JSON.stringify(\r\n shouldScrollToTopOfSection,\r\n )};`,\r\n );\r\n\r\n window.scrollTo({\r\n top: shouldScrollToTopOfSection ? top : top - (window.innerHeight - expandedAccordionHeight),\r\n behavior,\r\n });\r\n } else if (headingClientRect.top < 0) {\r\n log(\r\n `DSO Toolkit [Accordion Section] headingClientRect.top < 0 === ${JSON.stringify(headingClientRect.top < 0)};`,\r\n );\r\n\r\n window.scrollTo({\r\n top,\r\n behavior,\r\n });\r\n }\r\n }\r\n\r\n private get accordion() {\r\n return this.host.closest(\"dso-accordion\");\r\n }\r\n\r\n private handleClick = (event: MouseEvent) => {\r\n this.dsoToggleClick.emit({\r\n originalEvent: event,\r\n open: !this.open,\r\n });\r\n };\r\n\r\n private handleActiveChange = (event: DsoSlideToggleCustomEvent<SlideToggleActiveEvent>) => {\r\n this.dsoActiveChange.emit({\r\n current: Boolean(this.active),\r\n next: !this.active,\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n private handleExpandableAnimationStart = (e: CustomEvent<any>) => {\r\n this.dsoAnimationStart.emit({\r\n animation: this.open ? \"opening\" : \"closing\",\r\n scrollIntoView: (behavior: ScrollBehavior = \"auto\") => this.scrollIntoView(e.detail.bodyHeight, behavior),\r\n });\r\n };\r\n\r\n private handleExpandableAnimationEnd = (e: CustomEvent<ExpandableAnimationEndEvent>) => {\r\n this.dsoAnimationEnd.emit({\r\n open: this.open,\r\n scrollIntoView: (behavior: ScrollBehavior = \"auto\") => this.scrollIntoView(e.detail.bodyHeight, behavior),\r\n });\r\n };\r\n\r\n /**\r\n * Emitted when the user activates the toggle button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoToggleClick!: EventEmitter<AccordionSectionToggleClickEvent>;\r\n\r\n /**\r\n * Event emitted when the Accordion Section starts its toggle animation.\r\n */\r\n @Event({ bubbles: false })\r\n dsoAnimationStart!: EventEmitter<AccordionSectionAnimationStartEvent>;\r\n\r\n /**\r\n * Event emitted when the Accordion Section completes its toggle animation.\r\n */\r\n @Event({ bubbles: false })\r\n dsoAnimationEnd!: EventEmitter<AccordionSectionAnimationEndEvent>;\r\n\r\n private handleElementRef?: HTMLAnchorElement | HTMLButtonElement;\r\n\r\n render() {\r\n const { variant, reverseAlign } = this.accordionState ?? {};\r\n const hasAddons = !!this.statusDescription || !!this.status || !!this.icon || !!this.attachmentCount;\r\n const showSlideToggle = this.activatable && variant === \"compact-black\" && !reverseAlign;\r\n\r\n return (\r\n <Host\r\n class={{\r\n \"dso-accordion-section\": true,\r\n [\"dso-accordion-\" + variant]: true,\r\n \"dso-nested-accordion\": this.hasNestedAccordion || this.containsNestedAccordion,\r\n \"dso-accordion-reverse-align\": reverseAlign ?? false,\r\n [\"dso-accordion-wijzigactie-\" + this.wijzigactie]: !!this.wijzigactie,\r\n \"dso-accordion-section-activate\": showSlideToggle,\r\n }}\r\n hidden={!variant}\r\n onMouseenter={() => (this.hover = true)}\r\n onMouseleave={() => (this.hover = false)}\r\n >\r\n <Handle heading={this.heading} ref={(element) => (this.sectionHeading = element)}>\r\n <HandleElement\r\n handleUrl={this.handleUrl}\r\n onClick={this.handleClick}\r\n open={this.open}\r\n showSlideToggle={showSlideToggle}\r\n active={this.active}\r\n onActiveChange={this.handleActiveChange}\r\n handleElementRef={(e) => (this.handleElementRef = e)}\r\n >\r\n {reverseAlign ? (\r\n <Fragment>\r\n {this.icon && (\r\n <div class=\"dso-section-handle-addons\">\r\n <HandleIcon icon={this.icon} />\r\n </div>\r\n )}\r\n <dso-renvooi value={this.handleTitle} />\r\n {this.label && (\r\n <dso-label status={this.labelStatus} compact>\r\n {this.label}\r\n </dso-label>\r\n )}\r\n <div class=\"dso-section-handle-addons\">\r\n {this.statusDescription && <span class=\"dso-status\">{this.statusDescription}</span>}\r\n <dso-icon class=\"dso-section-handle-chevron\" icon=\"chevron-down\"></dso-icon>\r\n </div>\r\n </Fragment>\r\n ) : (\r\n <Fragment>\r\n <dso-icon class=\"dso-section-handle-chevron\" icon=\"chevron-right\"></dso-icon>\r\n {this.status && <span class=\"sr-only\">{stateMap[this.status]}</span>}\r\n <span>\r\n <dso-renvooi value={this.handleTitle} />\r\n {this.isNeutral && (\r\n <dso-icon class=\"info-icon\" icon={this.open || this.hover ? \"info-active\" : \"info\"} />\r\n )}\r\n </span>\r\n {this.label && (\r\n <dso-label status={this.labelStatus} compact>\r\n {this.label}\r\n </dso-label>\r\n )}\r\n {hasAddons && (\r\n <div class=\"dso-section-handle-addons\">\r\n {this.statusDescription && <span class=\"dso-status\">{this.statusDescription}</span>}\r\n <HandleIcon state={this.status} icon={this.icon} attachmentCount={this.attachmentCount} />\r\n </div>\r\n )}\r\n </Fragment>\r\n )}\r\n </HandleElement>\r\n </Handle>\r\n <dso-expandable\r\n class=\"dso-section-body\"\r\n open={this.open}\r\n enableAnimation\r\n minimumHeight={this.isNeutral ? 0 : 4}\r\n onDsoExpandableAnimationStart={this.handleExpandableAnimationStart}\r\n onDsoExpandableAnimationEnd={this.handleExpandableAnimationEnd}\r\n >\r\n <div class=\"dso-section-body-content\" ref={(element) => (this.sectionBody = element)}>\r\n <slot />\r\n </div>\r\n </dso-expandable>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dso-accordion-section.entry.js","sources":["src/components/accordion/components/accordion-section.interfaces.ts","src/components/accordion/components/accordion-section.scss?tag=dso-accordion-section&encapsulation=shadow","src/components/accordion/components/accordion-section.tsx"],"sourcesContent":["export type AccordionSectionState = \"success\" | \"info\" | \"warning\" | \"danger\" | \"error\";\r\n\r\nexport type AccordionHeading = \"h2\" | \"h3\" | \"h4\" | \"h5\";\r\n\r\nexport type AccordionSectionWijzigactie = \"voegtoe\" | \"verwijder\";\r\n\r\nexport const stateMap: Record<AccordionSectionState, string> = {\r\n success: \"succes:\",\r\n info: \"info:\",\r\n warning: \"waarschuwing:\",\r\n danger: \"fout:\",\r\n error: \"fout:\",\r\n};\r\n\r\nexport interface AccordionSectionToggleClickEvent {\r\n /**\r\n * The original MouseEvent that triggered the click.\r\n *\r\n * In case the Section Handle is an <a> this event can be used to preventDefault() so the framework router is reponsible for navigating the user.\r\n */\r\n originalEvent?: MouseEvent;\r\n\r\n /**\r\n * The requested state. If the Accordion Section is closed, `open = true`.\r\n */\r\n open: boolean;\r\n}\r\n\r\nexport interface AccordionSectionAnimationStartEvent {\r\n /**\r\n * Helper function to scroll the Accordion Section into view.\r\n */\r\n scrollIntoView(behavior?: ScrollBehavior): void;\r\n\r\n /**\r\n * Whether or not the Accordion opening or closing.\r\n */\r\n animation: \"opening\" | \"closing\";\r\n}\r\n\r\nexport interface AccordionSectionAnimationEndEvent {\r\n /**\r\n * Helper function to scroll the Accordion Section into view.\r\n */\r\n scrollIntoView(behavior?: ScrollBehavior): void;\r\n\r\n /**\r\n * The state of the Accordion Section after animation.\r\n */\r\n open: boolean;\r\n}\r\n\r\nexport interface AccordionSectionActiveChangeEvent {\r\n /**\r\n * De current status van de Accordion Section.\r\n */\r\n current: boolean;\r\n\r\n /**\r\n * De desired status van de Accordion Section.\r\n */\r\n next: boolean;\r\n\r\n originalEvent: Event;\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/typography\";\r\n\r\n@use \"~dso-toolkit/src/components/accordion\";\r\n@use \"~dso-toolkit/src/components/link\";\r\n\r\n@use \"accordion-section-theme-compact\";\r\n@use \"accordion-section-theme-compact-black\";\r\n@use \"accordion-section-theme-conclusion\";\r\n@use \"accordion-section-theme-default\";\r\n@use \"accordion-section-theme-neutral\";\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:host {\r\n display: block;\r\n\r\n .dso-section-handle {\r\n font-size: 1em;\r\n font-weight: 600;\r\n line-height: accordion.$handle-line-height;\r\n margin: 0;\r\n position: relative;\r\n\r\n > a:active {\r\n text-decoration: none;\r\n }\r\n\r\n a {\r\n @include link.clean();\r\n }\r\n\r\n .dso-status {\r\n color: colors.$zwart;\r\n font-size: typography.$font-size-small;\r\n font-weight: 400;\r\n }\r\n }\r\n\r\n .dso-section-handle > button,\r\n .dso-section-handle > a {\r\n align-items: flex-start;\r\n background-color: transparent;\r\n border: 0;\r\n cursor: pointer;\r\n display: flex;\r\n font-family: typography.$font-family-base;\r\n font-size: 1em;\r\n font-weight: 600;\r\n line-height: accordion.$handle-line-height;\r\n margin: 0;\r\n padding-block: accordion.$block-padding;\r\n padding-inline: accordion.$inline-padding;\r\n text-align: start;\r\n inline-size: 100%;\r\n word-break: break-word;\r\n\r\n dso-icon {\r\n flex-shrink: 0;\r\n\r\n &.dso-section-handle-chevron {\r\n @include utilities.transition(transform);\r\n\r\n transform: rotate(0);\r\n }\r\n }\r\n\r\n > .dso-section-handle-addons:first-child,\r\n > dso-icon:first-child {\r\n margin-inline-end: units.$u1;\r\n }\r\n\r\n > dso-icon:last-child {\r\n margin-inline-start: auto;\r\n }\r\n\r\n > .dso-section-handle-addons:last-child {\r\n margin-inline-start: auto;\r\n\r\n dso-attachments-counter,\r\n dso-icon {\r\n margin-inline-start: units.$u1;\r\n }\r\n }\r\n\r\n > dso-label {\r\n margin-inline-start: auto;\r\n padding-inline-start: units.$u1;\r\n word-break: normal;\r\n\r\n & + dso-icon:last-child,\r\n & + .dso-section-handle-addons:last-child {\r\n margin-inline-start: units.$u1;\r\n }\r\n }\r\n }\r\n}\r\n\r\n:host([open]:not([open=\"false\"])) {\r\n .dso-section-handle {\r\n > button,\r\n > a {\r\n .dso-section-handle-chevron {\r\n &:first-child {\r\n transform: rotate(90deg);\r\n }\r\n\r\n &:last-child {\r\n transform: rotate(-180deg);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n.dso-section-body {\r\n background-color: colors.$wit;\r\n border-block-start: 0;\r\n\r\n .dso-section-body-content {\r\n padding-block: units.$u2 + accordion.$border-radius units.$u2;\r\n padding-inline: units.$u2;\r\n }\r\n}\r\n\r\n// Default\r\n:host(.dso-accordion-default) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default();\r\n}\r\n\r\n:host(.dso-accordion-default[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default-open();\r\n}\r\n\r\n:host(.dso-accordion-default.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default-open-nested();\r\n}\r\n\r\n// Compact\r\n:host(.dso-accordion-compact) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact();\r\n}\r\n\r\n:host(.dso-accordion-compact.dso-accordion-reverse-align) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-reverse();\r\n}\r\n\r\n:host(.dso-accordion-compact[open]:not([open=\"false\"]):not(.dso-nested-accordion)) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-open();\r\n}\r\n\r\n:host(.dso-accordion-compact.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-open-nested();\r\n}\r\n\r\n// Compact black\r\n:host(.dso-accordion-compact-black) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-accordion-section-activate) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black();\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-activate();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-voegtoe) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-voegtoe();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-verwijder) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-verwijder();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-accordion-reverse-align) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-reverse();\r\n}\r\n\r\n:host(.dso-accordion-compact-black[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-open();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-open-nested();\r\n}\r\n\r\n// Conclusion\r\n:host(.dso-accordion-conclusion) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion();\r\n}\r\n\r\n:host(.dso-accordion-conclusion[open]:not([open=\"false\"]):not(.dso-nested-accordion)) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion-open();\r\n}\r\n\r\n:host(.dso-accordion-conclusion.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion-open-nested();\r\n}\r\n\r\n// Neutral\r\n:host(.dso-accordion-neutral) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral();\r\n}\r\n\r\n:host(.dso-accordion-neutral[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral-open();\r\n}\r\n\r\n:host(.dso-accordion-neutral.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral-open-nested();\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n forceUpdate,\r\n Fragment,\r\n FunctionalComponent,\r\n h,\r\n Host,\r\n Method,\r\n Prop,\r\n State,\r\n} from \"@stencil/core\";\r\n\r\nimport { AccordionInternalState } from \"../accordion.interfaces\";\r\nimport {\r\n AccordionHeading,\r\n AccordionSectionActiveChangeEvent,\r\n AccordionSectionAnimationEndEvent,\r\n AccordionSectionAnimationStartEvent,\r\n AccordionSectionState,\r\n AccordionSectionToggleClickEvent,\r\n AccordionSectionWijzigactie,\r\n stateMap,\r\n} from \"./accordion-section.interfaces\";\r\nimport { ExpandableAnimationEndEvent } from \"../../expandable/expandable\";\r\nimport { LabelStatus } from \"../../label/label.interfaces\";\r\nimport { RenvooiValue } from \"../../renvooi/renvooi.interfaces\";\r\nimport { SlideToggleActiveEvent } from \"../../slide-toggle/slide-toggle.interfaces\";\r\n\r\nimport { DsoSlideToggleCustomEvent } from \"../../../components\";\r\n\r\n// eslint-disable-next-line no-console\r\nconst log = (window as any)[\"_dsoLog\"] === true ? console.log.bind(console.log) : function () {};\r\n\r\nconst HandleElement: FunctionalComponent<{\r\n handleUrl: string | undefined;\r\n open: boolean;\r\n showSlideToggle: boolean;\r\n active: boolean;\r\n onActiveChange: (e: DsoSlideToggleCustomEvent<SlideToggleActiveEvent>) => void;\r\n handleElementRef: (element: HTMLAnchorElement | HTMLButtonElement | undefined) => void;\r\n onClick: (e: MouseEvent) => void;\r\n}> = ({ handleUrl, onClick, open, showSlideToggle, active, onActiveChange, handleElementRef }, children) => {\r\n if (handleUrl) {\r\n return (\r\n <>\r\n <a href={handleUrl} onClick={onClick} aria-expanded={open ? \"true\" : \"false\"} ref={handleElementRef}>\r\n {children}\r\n </a>\r\n {showSlideToggle && (\r\n <dso-slide-toggle accessibleLabel=\"Toon op kaart\" checked={active} onDsoActiveChange={onActiveChange} />\r\n )}\r\n </>\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n <button type=\"button\" onClick={onClick} aria-expanded={open ? \"true\" : \"false\"} ref={handleElementRef}>\r\n {children}\r\n </button>\r\n {showSlideToggle && (\r\n <dso-slide-toggle accessibleLabel=\"Toon op kaart\" checked={active} onDsoActiveChange={onActiveChange} />\r\n )}\r\n </>\r\n );\r\n};\r\n\r\nconst Handle: FunctionalComponent<{\r\n heading: AccordionHeading;\r\n ref: (element: HTMLHeadingElement | undefined) => void;\r\n}> = ({ heading, ref }, children) => {\r\n switch (heading) {\r\n default:\r\n case \"h2\":\r\n return (\r\n <h2 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h2>\r\n );\r\n case \"h3\":\r\n return (\r\n <h3 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h3>\r\n );\r\n case \"h4\":\r\n return (\r\n <h4 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h4>\r\n );\r\n case \"h5\":\r\n return (\r\n <h5 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h5>\r\n );\r\n }\r\n};\r\n\r\nconst HandleIcon: FunctionalComponent<{\r\n state?: AccordionSectionState;\r\n icon?: string;\r\n attachmentCount?: number;\r\n}> = ({ state, icon, attachmentCount }) => {\r\n if (state) {\r\n return <HandleStateIcon state={state} />;\r\n }\r\n\r\n if (attachmentCount) {\r\n return <dso-attachments-counter count={attachmentCount}></dso-attachments-counter>;\r\n }\r\n\r\n if (icon) {\r\n return <dso-icon icon={icon}></dso-icon>;\r\n }\r\n};\r\n\r\nconst HandleStateIcon: FunctionalComponent<{ state: AccordionSectionState }> = ({ state }) => {\r\n if (state === \"error\") {\r\n return <dso-icon icon=\"status-error\"></dso-icon>;\r\n }\r\n\r\n if (state === \"danger\") {\r\n return <dso-icon icon=\"status-danger\"></dso-icon>;\r\n }\r\n\r\n if (state === \"success\") {\r\n return <dso-icon icon=\"status-success\"></dso-icon>;\r\n }\r\n\r\n if (state === \"info\") {\r\n return <dso-icon icon=\"status-info\"></dso-icon>;\r\n }\r\n\r\n if (state === \"warning\") {\r\n return <dso-icon icon=\"status-warning\"></dso-icon>;\r\n }\r\n};\r\n\r\n@Component({\r\n tag: \"dso-accordion-section\",\r\n styleUrl: \"accordion-section.scss\",\r\n shadow: true,\r\n})\r\nexport class AccordionSection implements ComponentInterface {\r\n private accordionState?: AccordionInternalState;\r\n\r\n private sectionBody?: HTMLDivElement;\r\n\r\n private sectionHeading?: HTMLHeadingElement;\r\n\r\n @Element()\r\n host!: HTMLDsoAccordionSectionElement;\r\n\r\n /**\r\n * The title of the handle\r\n */\r\n @Prop()\r\n handleTitle!: RenvooiValue | RenvooiValue[] | undefined;\r\n\r\n /**\r\n * An optional 'wijzigactie' that signals if the section is added or removed.\r\n */\r\n @Prop()\r\n wijzigactie?: AccordionSectionWijzigactie;\r\n\r\n /**\r\n * Which heading element to use.\r\n */\r\n @Prop()\r\n heading: AccordionHeading = \"h2\";\r\n\r\n /**\r\n * When set the handle will render as a `<a>`. When undefined it renders as a `<button>`\r\n */\r\n @Prop()\r\n handleUrl?: string;\r\n\r\n /**\r\n * `state` takes precedence over `attachmentCount` and `icon`\r\n */\r\n @Prop()\r\n status?: AccordionSectionState;\r\n\r\n /**\r\n * `attachmentCount` takes precedence over `icon`\r\n */\r\n @Prop()\r\n attachmentCount?: number;\r\n\r\n /**\r\n * To set an icon in the heading handle.\r\n */\r\n @Prop()\r\n icon?: string;\r\n\r\n /**\r\n * The status of the section.\r\n */\r\n @Prop()\r\n statusDescription?: string;\r\n\r\n /**\r\n * Set the Accordion Section open.\r\n */\r\n @Prop({ reflect: true })\r\n open = false;\r\n\r\n /**\r\n * Set when this Accordion Section contains or will contain an Accordion.\r\n */\r\n @Prop({ reflect: true })\r\n hasNestedAccordion = false;\r\n\r\n /**\r\n * The label to be displayed in the heading handle inside a Label (optional)\r\n */\r\n @Prop()\r\n label?: string;\r\n\r\n /**\r\n * The status of the Label in the heading handle (optional)\r\n */\r\n @Prop()\r\n labelStatus?: LabelStatus;\r\n\r\n /**\r\n * A boolean to indicate if the Accordion Section is capable of being activated. When `true` a Slide Toggle displays\r\n * on the right in the heading handle (optional). Works only for `variant` `compact-black` and `reverseAlign` false.\r\n */\r\n @Prop({ reflect: true })\r\n activatable = false;\r\n\r\n /**\r\n * A boolean to indicate if the Accordion Section is `active`. Only applicable when the Accordion Section is\r\n * `activatable`.\r\n */\r\n @Prop({ reflect: true })\r\n active = false;\r\n\r\n /**\r\n * An optional event listener for changes on the value of property `active`.\r\n */\r\n @Event()\r\n dsoActiveChange!: EventEmitter<AccordionSectionActiveChangeEvent>;\r\n\r\n /**\r\n * Calling this method will set focus to the handle.\r\n */\r\n @Method()\r\n async focusHandle() {\r\n this.handleElementRef?.focus();\r\n }\r\n\r\n @State()\r\n hover = false;\r\n\r\n get containsNestedAccordion() {\r\n return this.host.querySelector(\"dso-accordion\") !== null;\r\n }\r\n\r\n componentWillLoad() {\r\n this.accordion?._getState().then((state) => {\r\n this.accordionState = state;\r\n\r\n forceUpdate(this.host);\r\n });\r\n }\r\n\r\n get isNeutral() {\r\n return this.accordionState?.variant === \"neutral\";\r\n }\r\n\r\n private async scrollIntoView(bodyHeight: number | undefined, behavior: ScrollBehavior = \"auto\"): Promise<void> {\r\n log(\r\n `DSO Toolkit [Accordion Section] scrollIntoView(bodyHeight: ${JSON.stringify(\r\n bodyHeight,\r\n )}, behavior: ${JSON.stringify(behavior)})`,\r\n );\r\n\r\n const bodyClientRect = this.sectionBody?.getBoundingClientRect();\r\n const headingClientRect = this.sectionHeading?.getBoundingClientRect();\r\n\r\n log(`DSO Toolkit [Accordion Section] const bodyClientRect = ${JSON.stringify(bodyClientRect)};`);\r\n log(`DSO Toolkit [Accordion Section] const headingClientRect = ${JSON.stringify(headingClientRect)};`);\r\n log(`DSO Toolkit [Accordion Section] this.accordionState = ${JSON.stringify(this.accordionState)};`);\r\n log(`DSO Toolkit [Accordion Section] this.open = ${JSON.stringify(this.open)};`);\r\n\r\n if (!bodyClientRect || !headingClientRect || !this.accordionState) {\r\n log(`DSO Toolkit [Accordion Section] returning`);\r\n\r\n return;\r\n }\r\n\r\n // this y is relative to the top of the viewport.\r\n const sectionBottomY = headingClientRect.top + headingClientRect.height + (this.open ? (bodyHeight ?? 0) : 0);\r\n\r\n log(`DSO Toolkit [Accordion Section] const sectionBottomY = ${JSON.stringify(sectionBottomY)};`);\r\n log(`DSO Toolkit [Accordion Section] window.innerHeight = ${JSON.stringify(window.innerHeight)};`);\r\n\r\n const box = this.host.getBoundingClientRect();\r\n\r\n const scrollTop = window.scrollY || document.documentElement.scrollTop || document.body.scrollTop;\r\n const clientTop = document.documentElement.clientTop || document.body.clientTop || 0;\r\n const top = box.top + scrollTop - clientTop;\r\n\r\n log(\"DSO Toolkit [Accordion Section] scroll\", { box, scrollTop, clientTop, top });\r\n\r\n if (sectionBottomY > window.innerHeight) {\r\n log(\r\n `DSO Toolkit [Accordion Section] sectionBottomY > window.innerHeight === ${JSON.stringify(\r\n sectionBottomY > window.innerHeight,\r\n )};`,\r\n );\r\n\r\n const expandedAccordionHeight = sectionBottomY - headingClientRect.top;\r\n const shouldScrollToTopOfSection = expandedAccordionHeight > window.innerHeight;\r\n\r\n log(\r\n `DSO Toolkit [Accordion Section] const expandedAccordionHeight = ${JSON.stringify(expandedAccordionHeight)};`,\r\n );\r\n log(\r\n `DSO Toolkit [Accordion Section] const shouldScrollToTopOfSection = ${JSON.stringify(\r\n shouldScrollToTopOfSection,\r\n )};`,\r\n );\r\n\r\n window.scrollTo({\r\n top: shouldScrollToTopOfSection ? top : top - (window.innerHeight - expandedAccordionHeight),\r\n behavior,\r\n });\r\n } else if (headingClientRect.top < 0) {\r\n log(\r\n `DSO Toolkit [Accordion Section] headingClientRect.top < 0 === ${JSON.stringify(headingClientRect.top < 0)};`,\r\n );\r\n\r\n window.scrollTo({\r\n top,\r\n behavior,\r\n });\r\n }\r\n }\r\n\r\n private get accordion() {\r\n return this.host.closest(\"dso-accordion\");\r\n }\r\n\r\n private handleClick = (event: MouseEvent) => {\r\n this.dsoToggleClick.emit({\r\n originalEvent: event,\r\n open: !this.open,\r\n });\r\n };\r\n\r\n private handleActiveChange = (event: DsoSlideToggleCustomEvent<SlideToggleActiveEvent>) => {\r\n this.dsoActiveChange.emit({\r\n current: Boolean(this.active),\r\n next: !this.active,\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n private handleExpandableAnimationStart = (e: CustomEvent<any>) => {\r\n this.dsoAnimationStart.emit({\r\n animation: this.open ? \"opening\" : \"closing\",\r\n scrollIntoView: (behavior: ScrollBehavior = \"auto\") => this.scrollIntoView(e.detail.bodyHeight, behavior),\r\n });\r\n };\r\n\r\n private handleExpandableAnimationEnd = (e: CustomEvent<ExpandableAnimationEndEvent>) => {\r\n this.dsoAnimationEnd.emit({\r\n open: this.open,\r\n scrollIntoView: (behavior: ScrollBehavior = \"auto\") => this.scrollIntoView(e.detail.bodyHeight, behavior),\r\n });\r\n };\r\n\r\n /**\r\n * Emitted when the user activates the toggle button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoToggleClick!: EventEmitter<AccordionSectionToggleClickEvent>;\r\n\r\n /**\r\n * Event emitted when the Accordion Section starts its toggle animation.\r\n */\r\n @Event({ bubbles: false })\r\n dsoAnimationStart!: EventEmitter<AccordionSectionAnimationStartEvent>;\r\n\r\n /**\r\n * Event emitted when the Accordion Section completes its toggle animation.\r\n */\r\n @Event({ bubbles: false })\r\n dsoAnimationEnd!: EventEmitter<AccordionSectionAnimationEndEvent>;\r\n\r\n private handleElementRef?: HTMLAnchorElement | HTMLButtonElement;\r\n\r\n render() {\r\n const { variant, reverseAlign } = this.accordionState ?? {};\r\n const hasAddons = !!this.statusDescription || !!this.status || !!this.icon || !!this.attachmentCount;\r\n const showSlideToggle = this.activatable && variant === \"compact-black\" && !reverseAlign;\r\n\r\n return (\r\n <Host\r\n class={{\r\n \"dso-accordion-section\": true,\r\n [\"dso-accordion-\" + variant]: true,\r\n \"dso-nested-accordion\": this.hasNestedAccordion || this.containsNestedAccordion,\r\n \"dso-accordion-reverse-align\": reverseAlign ?? false,\r\n [\"dso-accordion-wijzigactie-\" + this.wijzigactie]: !!this.wijzigactie,\r\n \"dso-accordion-section-activate\": showSlideToggle,\r\n }}\r\n hidden={!variant}\r\n onMouseenter={() => (this.hover = true)}\r\n onMouseleave={() => (this.hover = false)}\r\n >\r\n <Handle heading={this.heading} ref={(element) => (this.sectionHeading = element)}>\r\n <HandleElement\r\n handleUrl={this.handleUrl}\r\n onClick={this.handleClick}\r\n open={this.open}\r\n showSlideToggle={showSlideToggle}\r\n active={this.active}\r\n onActiveChange={this.handleActiveChange}\r\n handleElementRef={(e) => (this.handleElementRef = e)}\r\n >\r\n {reverseAlign ? (\r\n <Fragment>\r\n {this.icon && (\r\n <div class=\"dso-section-handle-addons\">\r\n <HandleIcon icon={this.icon} />\r\n </div>\r\n )}\r\n <dso-renvooi value={this.handleTitle} />\r\n {this.label && (\r\n <dso-label status={this.labelStatus} compact>\r\n {this.label}\r\n </dso-label>\r\n )}\r\n <div class=\"dso-section-handle-addons\">\r\n {this.statusDescription && <span class=\"dso-status\">{this.statusDescription}</span>}\r\n <dso-icon class=\"dso-section-handle-chevron\" icon=\"chevron-down\"></dso-icon>\r\n </div>\r\n </Fragment>\r\n ) : (\r\n <Fragment>\r\n <dso-icon class=\"dso-section-handle-chevron\" icon=\"chevron-right\"></dso-icon>\r\n {this.status && <span class=\"sr-only\">{stateMap[this.status]}</span>}\r\n <span>\r\n <dso-renvooi value={this.handleTitle} />\r\n {this.isNeutral && (\r\n <dso-icon class=\"info-icon\" icon={this.open || this.hover ? \"info-active\" : \"info\"} />\r\n )}\r\n </span>\r\n {this.label && (\r\n <dso-label status={this.labelStatus} compact>\r\n {this.label}\r\n </dso-label>\r\n )}\r\n {hasAddons && (\r\n <div class=\"dso-section-handle-addons\">\r\n {this.statusDescription && <span class=\"dso-status\">{this.statusDescription}</span>}\r\n <HandleIcon state={this.status} icon={this.icon} attachmentCount={this.attachmentCount} />\r\n </div>\r\n )}\r\n </Fragment>\r\n )}\r\n </HandleElement>\r\n </Handle>\r\n <dso-expandable\r\n class=\"dso-section-body\"\r\n open={this.open}\r\n enableAnimation\r\n minimumHeight={this.isNeutral ? 0 : 4}\r\n onDsoExpandableAnimationStart={this.handleExpandableAnimationStart}\r\n onDsoExpandableAnimationEnd={this.handleExpandableAnimationEnd}\r\n >\r\n <div class=\"dso-section-body-content\" ref={(element) => (this.sectionBody = element)}>\r\n <slot />\r\n </div>\r\n </dso-expandable>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}