@dso-toolkit/core 69.2.0 → 70.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 (924) hide show
  1. package/dist/cjs/_commonjsHelpers-BJu3ubxk.js +13 -0
  2. package/dist/cjs/_commonjsHelpers-BJu3ubxk.js.map +1 -0
  3. package/dist/cjs/{annotation-body-f6a7ba3d.js → annotation-body-BwdNcAAd.js} +3 -2
  4. package/dist/cjs/annotation-body-BwdNcAAd.js.map +1 -0
  5. package/dist/cjs/{annotation-list-renvooi-values-9836dd5d.js → annotation-list-renvooi-values-GE2SwBhG.js} +3 -2
  6. package/dist/cjs/annotation-list-renvooi-values-GE2SwBhG.js.map +1 -0
  7. package/dist/cjs/{annotation-symbol-slot-f6c46cfe.js → annotation-symbol-slot-Cvk1q2gb.js} +3 -2
  8. package/dist/cjs/annotation-symbol-slot-Cvk1q2gb.js.map +1 -0
  9. package/dist/cjs/app-globals-V2Kpy_OQ.js +8 -0
  10. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +1 -0
  11. package/dist/cjs/{clsx-fc789adc.js → clsx-BtxeOLZW.js} +2 -1
  12. package/dist/cjs/clsx-BtxeOLZW.js.map +1 -0
  13. package/dist/cjs/{create-identifier-4a76663b.js → create-identifier-C3Yh-YGw.js} +2 -1
  14. package/dist/cjs/create-identifier-C3Yh-YGw.js.map +1 -0
  15. package/dist/cjs/dso-accordion-section.cjs.entry.js +4 -6
  16. package/dist/cjs/dso-accordion-section.cjs.entry.js.map +1 -1
  17. package/dist/cjs/dso-accordion-section.entry.cjs.js.map +1 -0
  18. package/dist/cjs/dso-accordion.cjs.entry.js +7 -12
  19. package/dist/cjs/dso-accordion.cjs.entry.js.map +1 -1
  20. package/dist/cjs/dso-accordion.entry.cjs.js.map +1 -0
  21. package/dist/cjs/dso-action-list-item.cjs.entry.js +4 -6
  22. package/dist/cjs/dso-action-list-item.cjs.entry.js.map +1 -1
  23. package/dist/cjs/dso-action-list-item.entry.cjs.js.map +1 -0
  24. package/dist/cjs/dso-action-list.cjs.entry.js +4 -6
  25. package/dist/cjs/dso-action-list.cjs.entry.js.map +1 -1
  26. package/dist/cjs/dso-action-list.entry.cjs.js.map +1 -0
  27. package/dist/cjs/dso-advanced-select.cjs.entry.js +8 -10
  28. package/dist/cjs/dso-advanced-select.cjs.entry.js.map +1 -1
  29. package/dist/cjs/dso-advanced-select.entry.cjs.js.map +1 -0
  30. package/dist/cjs/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.cjs.js.map +1 -0
  31. package/dist/cjs/dso-alert_6.cjs.entry.js +448 -450
  32. package/dist/cjs/dso-alert_6.cjs.entry.js.map +1 -1
  33. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js +6 -8
  34. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js.map +1 -1
  35. package/dist/cjs/dso-annotation-activiteit.entry.cjs.js.map +1 -0
  36. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js +5 -7
  37. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js.map +1 -1
  38. package/dist/cjs/dso-annotation-gebiedsaanwijzing.entry.cjs.js.map +1 -0
  39. package/dist/cjs/dso-annotation-kaart.cjs.entry.js +5 -7
  40. package/dist/cjs/dso-annotation-kaart.cjs.entry.js.map +1 -1
  41. package/dist/cjs/dso-annotation-kaart.entry.cjs.js.map +1 -0
  42. package/dist/cjs/dso-annotation-locatie.dso-document-component.entry.cjs.js.map +1 -0
  43. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js +7 -10
  44. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js.map +1 -1
  45. package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js +6 -8
  46. package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js.map +1 -1
  47. package/dist/cjs/dso-annotation-omgevingsnormwaarde.entry.cjs.js.map +1 -0
  48. package/dist/cjs/dso-attachments-counter.dso-expandable.entry.cjs.js.map +1 -0
  49. package/dist/cjs/dso-attachments-counter_2.cjs.entry.js +5 -8
  50. package/dist/cjs/dso-attachments-counter_2.cjs.entry.js.map +1 -1
  51. package/dist/cjs/dso-autosuggest.cjs.entry.js +7 -8
  52. package/dist/cjs/dso-autosuggest.cjs.entry.js.map +1 -1
  53. package/dist/cjs/dso-autosuggest.entry.cjs.js.map +1 -0
  54. package/dist/cjs/dso-banner.cjs.entry.js +9 -11
  55. package/dist/cjs/dso-banner.cjs.entry.js.map +1 -1
  56. package/dist/cjs/dso-banner.entry.cjs.js.map +1 -0
  57. package/dist/cjs/dso-card-container.cjs.entry.js +3 -5
  58. package/dist/cjs/dso-card-container.cjs.entry.js.map +1 -1
  59. package/dist/cjs/dso-card-container.entry.cjs.js.map +1 -0
  60. package/dist/cjs/dso-card.cjs.entry.js +4 -6
  61. package/dist/cjs/dso-card.cjs.entry.js.map +1 -1
  62. package/dist/cjs/dso-card.entry.cjs.js.map +1 -0
  63. package/dist/cjs/dso-contact-information.cjs.entry.js +3 -5
  64. package/dist/cjs/dso-contact-information.cjs.entry.js.map +1 -1
  65. package/dist/cjs/dso-contact-information.entry.cjs.js.map +1 -0
  66. package/dist/cjs/dso-date-picker-legacy.cjs.entry.js +4 -7
  67. package/dist/cjs/dso-date-picker-legacy.cjs.entry.js.map +1 -1
  68. package/dist/cjs/dso-date-picker-legacy.entry.cjs.js.map +1 -0
  69. package/dist/cjs/dso-date-picker.cjs.entry.js +3 -5
  70. package/dist/cjs/dso-date-picker.cjs.entry.js.map +1 -1
  71. package/dist/cjs/dso-date-picker.entry.cjs.js.map +1 -0
  72. package/dist/cjs/dso-document-card.cjs.entry.js +4 -6
  73. package/dist/cjs/dso-document-card.cjs.entry.js.map +1 -1
  74. package/dist/cjs/dso-document-card.entry.cjs.js.map +1 -0
  75. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +7 -9
  76. package/dist/cjs/dso-dropdown-menu.cjs.entry.js.map +1 -1
  77. package/dist/cjs/dso-dropdown-menu.entry.cjs.js.map +1 -0
  78. package/dist/cjs/dso-header.cjs.entry.js +8 -9
  79. package/dist/cjs/dso-header.cjs.entry.js.map +1 -1
  80. package/dist/cjs/dso-header.entry.cjs.js.map +1 -0
  81. package/dist/cjs/dso-highlight-box.cjs.entry.js +4 -6
  82. package/dist/cjs/dso-highlight-box.cjs.entry.js.map +1 -1
  83. package/dist/cjs/dso-highlight-box.entry.cjs.js.map +1 -0
  84. package/dist/cjs/dso-icon.cjs.entry.js +106 -108
  85. package/dist/cjs/dso-icon.cjs.entry.js.map +1 -1
  86. package/dist/cjs/dso-icon.entry.cjs.js.map +1 -0
  87. package/dist/cjs/dso-info-button.cjs.entry.js +6 -8
  88. package/dist/cjs/dso-info-button.cjs.entry.js.map +1 -1
  89. package/dist/cjs/dso-info-button.entry.cjs.js.map +1 -0
  90. package/dist/cjs/dso-info.dso-selectable.entry.cjs.js.map +1 -0
  91. package/dist/cjs/dso-info_2.cjs.entry.js +9 -12
  92. package/dist/cjs/dso-info_2.cjs.entry.js.map +1 -1
  93. package/dist/cjs/dso-input-range.cjs.entry.js +5 -7
  94. package/dist/cjs/dso-input-range.cjs.entry.js.map +1 -1
  95. package/dist/cjs/dso-input-range.entry.cjs.js.map +1 -0
  96. package/dist/cjs/dso-label.dso-renvooi.dso-slide-toggle.entry.cjs.js.map +1 -0
  97. package/dist/cjs/dso-label_3.cjs.entry.js +13 -16
  98. package/dist/cjs/dso-label_3.cjs.entry.js.map +1 -1
  99. package/dist/cjs/dso-legend-item.cjs.entry.js +6 -8
  100. package/dist/cjs/dso-legend-item.cjs.entry.js.map +1 -1
  101. package/dist/cjs/dso-legend-item.entry.cjs.js.map +1 -0
  102. package/dist/cjs/dso-list-button.cjs.entry.js +10 -10
  103. package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -1
  104. package/dist/cjs/dso-list-button.entry.cjs.js.map +1 -0
  105. package/dist/cjs/dso-logo.cjs.entry.js +5 -7
  106. package/dist/cjs/dso-logo.cjs.entry.js.map +1 -1
  107. package/dist/cjs/dso-logo.entry.cjs.js.map +1 -0
  108. package/dist/cjs/dso-map-base-layers.cjs.entry.js +6 -8
  109. package/dist/cjs/dso-map-base-layers.cjs.entry.js.map +1 -1
  110. package/dist/cjs/dso-map-base-layers.entry.cjs.js.map +1 -0
  111. package/dist/cjs/dso-map-controls.cjs.entry.js +6 -8
  112. package/dist/cjs/dso-map-controls.cjs.entry.js.map +1 -1
  113. package/dist/cjs/dso-map-controls.entry.cjs.js.map +1 -0
  114. package/dist/cjs/dso-map-overlays.cjs.entry.js +6 -8
  115. package/dist/cjs/dso-map-overlays.cjs.entry.js.map +1 -1
  116. package/dist/cjs/dso-map-overlays.entry.cjs.js.map +1 -0
  117. package/dist/cjs/dso-mark-bar.cjs.entry.js +4 -6
  118. package/dist/cjs/dso-mark-bar.cjs.entry.js.map +1 -1
  119. package/dist/cjs/dso-mark-bar.entry.cjs.js.map +1 -0
  120. package/dist/cjs/dso-modal.cjs.entry.js +8 -10
  121. package/dist/cjs/dso-modal.cjs.entry.js.map +1 -1
  122. package/dist/cjs/dso-modal.entry.cjs.js.map +1 -0
  123. package/dist/cjs/dso-pagination.cjs.entry.js +4 -6
  124. package/dist/cjs/dso-pagination.cjs.entry.js.map +1 -1
  125. package/dist/cjs/dso-pagination.entry.cjs.js.map +1 -0
  126. package/dist/cjs/dso-plekinfo-card.cjs.entry.js +5 -7
  127. package/dist/cjs/dso-plekinfo-card.cjs.entry.js.map +1 -1
  128. package/dist/cjs/dso-plekinfo-card.entry.cjs.js.map +1 -0
  129. package/dist/cjs/dso-progress-bar.cjs.entry.js +4 -6
  130. package/dist/cjs/dso-progress-bar.cjs.entry.js.map +1 -1
  131. package/dist/cjs/dso-progress-bar.entry.cjs.js.map +1 -0
  132. package/dist/cjs/dso-progress-indicator.cjs.entry.js +5 -7
  133. package/dist/cjs/dso-progress-indicator.cjs.entry.js.map +1 -1
  134. package/dist/cjs/dso-progress-indicator.entry.cjs.js.map +1 -0
  135. package/dist/cjs/dso-project-item.cjs.entry.js +4 -6
  136. package/dist/cjs/dso-project-item.cjs.entry.js.map +1 -1
  137. package/dist/cjs/dso-project-item.entry.cjs.js.map +1 -0
  138. package/dist/cjs/dso-responsive-element.cjs.entry.js +4 -6
  139. package/dist/cjs/dso-responsive-element.cjs.entry.js.map +1 -1
  140. package/dist/cjs/dso-responsive-element.entry.cjs.js.map +1 -0
  141. package/dist/cjs/dso-scrollable.cjs.entry.js +8 -9
  142. package/dist/cjs/dso-scrollable.cjs.entry.js.map +1 -1
  143. package/dist/cjs/dso-scrollable.entry.cjs.js.map +1 -0
  144. package/dist/cjs/dso-skiplink.cjs.entry.js +5 -7
  145. package/dist/cjs/dso-skiplink.cjs.entry.js.map +1 -1
  146. package/dist/cjs/dso-skiplink.entry.cjs.js.map +1 -0
  147. package/dist/cjs/dso-survey-rating.cjs.entry.js +5 -7
  148. package/dist/cjs/dso-survey-rating.cjs.entry.js.map +1 -1
  149. package/dist/cjs/dso-survey-rating.entry.cjs.js.map +1 -0
  150. package/dist/cjs/dso-tab.cjs.entry.js +4 -6
  151. package/dist/cjs/dso-tab.cjs.entry.js.map +1 -1
  152. package/dist/cjs/dso-tab.entry.cjs.js.map +1 -0
  153. package/dist/cjs/dso-tabs.cjs.entry.js +4 -6
  154. package/dist/cjs/dso-tabs.cjs.entry.js.map +1 -1
  155. package/dist/cjs/dso-tabs.entry.cjs.js.map +1 -0
  156. package/dist/cjs/dso-toggletip.cjs.entry.js +4 -6
  157. package/dist/cjs/dso-toggletip.cjs.entry.js.map +1 -1
  158. package/dist/cjs/dso-toggletip.entry.cjs.js.map +1 -0
  159. package/dist/cjs/dso-toolkit.cjs.js +8 -7
  160. package/dist/cjs/dso-toolkit.cjs.js.map +1 -1
  161. package/dist/cjs/dso-tooltip.cjs.entry.js +8 -9
  162. package/dist/cjs/dso-tooltip.cjs.entry.js.map +1 -1
  163. package/dist/cjs/dso-tooltip.entry.cjs.js.map +1 -0
  164. package/dist/cjs/dso-tree-view.cjs.entry.js +5 -7
  165. package/dist/cjs/dso-tree-view.cjs.entry.js.map +1 -1
  166. package/dist/cjs/dso-tree-view.entry.cjs.js.map +1 -0
  167. package/dist/cjs/dso-viewer-grid.cjs.entry.js +9 -10
  168. package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -1
  169. package/dist/cjs/dso-viewer-grid.entry.cjs.js.map +1 -0
  170. package/dist/cjs/dsot-document-component-demo.cjs.entry.js +1622 -1602
  171. package/dist/cjs/dsot-document-component-demo.cjs.entry.js.map +1 -1
  172. package/dist/cjs/dsot-document-component-demo.entry.cjs.js.map +1 -0
  173. package/dist/cjs/{focus-trap.esm-14b4a31b.js → focus-trap.esm-c-Aj_u8L.js} +4 -3
  174. package/dist/cjs/focus-trap.esm-c-Aj_u8L.js.map +1 -0
  175. package/dist/cjs/{get-active-element-05f06ef1.js → get-active-element-DTMk2T2F.js} +2 -1
  176. package/dist/cjs/get-active-element-DTMk2T2F.js.map +1 -0
  177. package/dist/cjs/{has-overflow-2fb1d618.js → has-overflow-B_4p67wC.js} +11 -12
  178. package/dist/cjs/has-overflow-B_4p67wC.js.map +1 -0
  179. package/dist/cjs/{i18n-f348f39e.js → i18n-DXkB0Cg-.js} +2 -1
  180. package/dist/cjs/i18n-DXkB0Cg-.js.map +1 -0
  181. package/dist/cjs/{index-57504611.js → index-CkTcEJuV.js} +239 -180
  182. package/dist/cjs/index-CkTcEJuV.js.map +1 -0
  183. package/dist/cjs/index-D8QM7CRO.js +124 -0
  184. package/dist/cjs/index-D8QM7CRO.js.map +1 -0
  185. package/dist/cjs/index.cjs.js +1 -0
  186. package/dist/cjs/index.cjs.js.map +1 -1
  187. package/dist/cjs/{index.esm-970bc106.js → index.esm-DtPCE30D.js} +2 -1
  188. package/dist/cjs/index.esm-DtPCE30D.js.map +1 -0
  189. package/dist/cjs/{is-modified-event-f643edb2.js → is-modified-event-Dh9YsHw8.js} +2 -1
  190. package/dist/cjs/is-modified-event-Dh9YsHw8.js.map +1 -0
  191. package/dist/cjs/loader.cjs.js +4 -5
  192. package/dist/cjs/loader.cjs.js.map +1 -1
  193. package/dist/cjs/{v4-2a8f5623.js → v4-Br3XC_0C.js} +4 -13
  194. package/dist/cjs/v4-Br3XC_0C.js.map +1 -0
  195. package/dist/collection/collection-manifest.json +1 -2
  196. package/dist/collection/components/accordion/accordion.js +1 -3
  197. package/dist/collection/components/accordion/accordion.js.map +1 -1
  198. package/dist/collection/components/accordion/components/accordion-section.css +3 -3
  199. package/dist/collection/components/action-list/action-list.css +1 -1
  200. package/dist/collection/components/action-list/components/action-list-item.css +4 -4
  201. package/dist/collection/components/advanced-select/advanced-select.css +1 -0
  202. package/dist/collection/components/banner/banner.js +11 -11
  203. package/dist/collection/components/banner/banner.js.map +1 -1
  204. package/dist/collection/components/highlight-box/highlight-box.js +1 -1
  205. package/dist/collection/components/icon/icon.js +1 -1
  206. package/dist/collection/components/info/info.js +1 -1
  207. package/dist/collection/components/info-button/info-button.css +2 -4
  208. package/dist/collection/components/info-button/info-button.js +1 -1
  209. package/dist/collection/components/input-range/input-range.js +2 -2
  210. package/dist/collection/components/label/label.js +3 -3
  211. package/dist/collection/components/legend-item/legend-item.js +2 -2
  212. package/dist/collection/components/list-button/list-button.css +13 -11
  213. package/dist/collection/components/list-button/list-button.js +5 -3
  214. package/dist/collection/components/list-button/list-button.js.map +1 -1
  215. package/dist/collection/components/logo/logo.js +1 -1
  216. package/dist/collection/components/map-base-layers/map-base-layers.js +1 -1
  217. package/dist/collection/components/map-controls/map-controls.css +1 -3
  218. package/dist/collection/components/map-controls/map-controls.js +1 -1
  219. package/dist/collection/components/map-overlays/map-overlays.js +1 -1
  220. package/dist/collection/components/mark-bar/mark-bar.js +1 -1
  221. package/dist/collection/components/modal/modal.js +2 -2
  222. package/dist/collection/components/ozon-content/ozon-content.js +1 -1
  223. package/dist/collection/components/plekinfo-card/plekinfo-card.js +1 -1
  224. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  225. package/dist/collection/components/progress-indicator/progress-indicator.js +1 -1
  226. package/dist/collection/components/project-item/project-item.js +1 -1
  227. package/dist/collection/components/responsive-element/responsive-element.js +1 -1
  228. package/dist/collection/components/scrollable/scrollable.js +2 -2
  229. package/dist/collection/components/selectable/selectable.css +1 -1
  230. package/dist/collection/components/selectable/selectable.js +1 -1
  231. package/dist/collection/components/skiplink/skiplink.js +1 -1
  232. package/dist/collection/components/slide-toggle/slide-toggle.js +1 -1
  233. package/dist/collection/components/survey-rating/survey-rating.js +2 -2
  234. package/dist/collection/components/table/table.css +3 -3
  235. package/dist/collection/components/table/table.js +1 -1
  236. package/dist/collection/components/tabs/tabs.js +1 -1
  237. package/dist/collection/components/toggletip/toggletip.js +1 -1
  238. package/dist/collection/components/tooltip/tooltip.js +1 -1
  239. package/dist/collection/components/tree-view/tree-view.js +1 -1
  240. package/dist/collection/components/viewer-grid/viewer-grid.css +6 -25
  241. package/dist/collection/components/viewer-grid/viewer-grid.js +2 -2
  242. package/dist/components/alert.js +2 -2
  243. package/dist/components/alert.js.map +1 -1
  244. package/dist/components/annotation-body.js +1 -0
  245. package/dist/components/annotation-body.js.map +1 -1
  246. package/dist/components/annotation-list-renvooi-values.js +1 -0
  247. package/dist/components/annotation-list-renvooi-values.js.map +1 -1
  248. package/dist/components/annotation-locatie.js +3 -3
  249. package/dist/components/annotation-locatie.js.map +1 -1
  250. package/dist/components/annotation-symbol-slot.js +2 -1
  251. package/dist/components/annotation-symbol-slot.js.map +1 -1
  252. package/dist/components/attachments-counter.js +2 -2
  253. package/dist/components/attachments-counter.js.map +1 -1
  254. package/dist/components/badge.js +2 -2
  255. package/dist/components/badge.js.map +1 -1
  256. package/dist/components/clsx.js +1 -0
  257. package/dist/components/create-identifier.js +1 -0
  258. package/dist/components/create-identifier.js.map +1 -1
  259. package/dist/components/document-component.js +2 -2
  260. package/dist/components/document-component.js.map +1 -1
  261. package/dist/components/dropdown-menu.js +2 -2
  262. package/dist/components/dropdown-menu.js.map +1 -1
  263. package/dist/components/dso-accordion-section.js +3 -3
  264. package/dist/components/dso-accordion-section.js.map +1 -1
  265. package/dist/components/dso-accordion.js +6 -9
  266. package/dist/components/dso-accordion.js.map +1 -1
  267. package/dist/components/dso-action-list-item.js +3 -3
  268. package/dist/components/dso-action-list-item.js.map +1 -1
  269. package/dist/components/dso-action-list.js +3 -3
  270. package/dist/components/dso-action-list.js.map +1 -1
  271. package/dist/components/dso-advanced-select.js +3 -3
  272. package/dist/components/dso-advanced-select.js.map +1 -1
  273. package/dist/components/dso-alert.js +1 -0
  274. package/dist/components/dso-annotation-activiteit.js +3 -3
  275. package/dist/components/dso-annotation-activiteit.js.map +1 -1
  276. package/dist/components/dso-annotation-gebiedsaanwijzing.js +3 -3
  277. package/dist/components/dso-annotation-gebiedsaanwijzing.js.map +1 -1
  278. package/dist/components/dso-annotation-kaart.js +2 -2
  279. package/dist/components/dso-annotation-kaart.js.map +1 -1
  280. package/dist/components/dso-annotation-locatie.js +1 -0
  281. package/dist/components/dso-annotation-omgevingsnormwaarde.js +3 -3
  282. package/dist/components/dso-annotation-omgevingsnormwaarde.js.map +1 -1
  283. package/dist/components/dso-attachments-counter.js +1 -0
  284. package/dist/components/dso-autosuggest.js +2 -2
  285. package/dist/components/dso-autosuggest.js.map +1 -1
  286. package/dist/components/dso-badge.js +1 -0
  287. package/dist/components/dso-banner.js +8 -8
  288. package/dist/components/dso-banner.js.map +1 -1
  289. package/dist/components/dso-card-container.js +2 -2
  290. package/dist/components/dso-card-container.js.map +1 -1
  291. package/dist/components/dso-card.js +2 -2
  292. package/dist/components/dso-card.js.map +1 -1
  293. package/dist/components/dso-contact-information.js +2 -2
  294. package/dist/components/dso-contact-information.js.map +1 -1
  295. package/dist/components/dso-date-picker-legacy.js +2 -3
  296. package/dist/components/dso-date-picker-legacy.js.map +1 -1
  297. package/dist/components/dso-date-picker.js +2 -2
  298. package/dist/components/dso-date-picker.js.map +1 -1
  299. package/dist/components/dso-document-card.js +2 -2
  300. package/dist/components/dso-document-card.js.map +1 -1
  301. package/dist/components/dso-document-component.js +1 -0
  302. package/dist/components/dso-dropdown-menu.js +1 -0
  303. package/dist/components/dso-expandable.js +1 -0
  304. package/dist/components/dso-header.js +2 -2
  305. package/dist/components/dso-header.js.map +1 -1
  306. package/dist/components/dso-highlight-box.js +3 -3
  307. package/dist/components/dso-highlight-box.js.map +1 -1
  308. package/dist/components/dso-icon.js +1 -0
  309. package/dist/components/dso-image-overlay.js +1 -0
  310. package/dist/components/dso-info-button.js +1 -0
  311. package/dist/components/dso-info.js +1 -0
  312. package/dist/components/dso-input-range.js +4 -4
  313. package/dist/components/dso-input-range.js.map +1 -1
  314. package/dist/components/dso-label.js +1 -0
  315. package/dist/components/dso-legend-item.js +4 -4
  316. package/dist/components/dso-legend-item.js.map +1 -1
  317. package/dist/components/dso-list-button.js +8 -6
  318. package/dist/components/dso-list-button.js.map +1 -1
  319. package/dist/components/dso-logo.js +3 -3
  320. package/dist/components/dso-logo.js.map +1 -1
  321. package/dist/components/dso-map-base-layers.js +3 -3
  322. package/dist/components/dso-map-base-layers.js.map +1 -1
  323. package/dist/components/dso-map-controls.js +4 -4
  324. package/dist/components/dso-map-controls.js.map +1 -1
  325. package/dist/components/dso-map-overlays.js +3 -3
  326. package/dist/components/dso-map-overlays.js.map +1 -1
  327. package/dist/components/dso-mark-bar.js +3 -3
  328. package/dist/components/dso-mark-bar.js.map +1 -1
  329. package/dist/components/dso-modal.js +4 -4
  330. package/dist/components/dso-modal.js.map +1 -1
  331. package/dist/components/dso-ozon-content.js +1 -0
  332. package/dist/components/dso-pagination.js +2 -2
  333. package/dist/components/dso-pagination.js.map +1 -1
  334. package/dist/components/dso-panel.js +1 -0
  335. package/dist/components/dso-plekinfo-card.js +3 -3
  336. package/dist/components/dso-plekinfo-card.js.map +1 -1
  337. package/dist/components/dso-progress-bar.js +3 -3
  338. package/dist/components/dso-progress-bar.js.map +1 -1
  339. package/dist/components/dso-progress-indicator.js +1 -0
  340. package/dist/components/dso-project-item.js +3 -3
  341. package/dist/components/dso-project-item.js.map +1 -1
  342. package/dist/components/dso-renvooi.js +1 -0
  343. package/dist/components/dso-responsive-element.js +1 -0
  344. package/dist/components/dso-scrollable.js +1 -0
  345. package/dist/components/dso-selectable.js +1 -0
  346. package/dist/components/dso-skiplink.js +3 -3
  347. package/dist/components/dso-skiplink.js.map +1 -1
  348. package/dist/components/dso-slide-toggle.js +1 -0
  349. package/dist/components/dso-survey-rating.js +4 -4
  350. package/dist/components/dso-survey-rating.js.map +1 -1
  351. package/dist/components/dso-tab.js +2 -2
  352. package/dist/components/dso-tab.js.map +1 -1
  353. package/dist/components/dso-table.js +1 -0
  354. package/dist/components/dso-tabs.js +3 -3
  355. package/dist/components/dso-tabs.js.map +1 -1
  356. package/dist/components/dso-toggletip.js +1 -0
  357. package/dist/components/dso-tooltip.js +1 -0
  358. package/dist/components/dso-tree-view.js +3 -3
  359. package/dist/components/dso-tree-view.js.map +1 -1
  360. package/dist/components/dso-viewer-grid.js +5 -5
  361. package/dist/components/dso-viewer-grid.js.map +1 -1
  362. package/dist/components/dsot-document-component-demo.js +1622 -1599
  363. package/dist/components/dsot-document-component-demo.js.map +1 -1
  364. package/dist/components/expandable.js +2 -2
  365. package/dist/components/expandable.js.map +1 -1
  366. package/dist/components/focus-trap.esm.js +2 -1
  367. package/dist/components/focus-trap.esm.js.map +1 -1
  368. package/dist/components/get-active-element.js +1 -0
  369. package/dist/components/get-active-element.js.map +1 -1
  370. package/dist/components/has-overflow.js +10 -11
  371. package/dist/components/has-overflow.js.map +1 -1
  372. package/dist/components/i18n.js +1 -0
  373. package/dist/components/i18n.js.map +1 -1
  374. package/dist/components/icon.js +105 -105
  375. package/dist/components/icon.js.map +1 -1
  376. package/dist/components/image-overlay.js +2 -2
  377. package/dist/components/image-overlay.js.map +1 -1
  378. package/dist/components/index.d.ts +0 -2
  379. package/dist/components/index.esm.js +1 -0
  380. package/dist/components/index.esm.js.map +1 -1
  381. package/dist/components/index.js +1 -1
  382. package/dist/components/index.js.map +1 -1
  383. package/dist/components/index2.js +98 -83
  384. package/dist/components/index2.js.map +1 -1
  385. package/dist/components/info-button.js +4 -4
  386. package/dist/components/info-button.js.map +1 -1
  387. package/dist/components/info.js +3 -3
  388. package/dist/components/info.js.map +1 -1
  389. package/dist/components/is-modified-event.js +1 -0
  390. package/dist/components/is-modified-event.js.map +1 -1
  391. package/dist/components/label.js +5 -5
  392. package/dist/components/label.js.map +1 -1
  393. package/dist/components/ozon-content.js +435 -431
  394. package/dist/components/ozon-content.js.map +1 -1
  395. package/dist/components/panel.js +2 -2
  396. package/dist/components/panel.js.map +1 -1
  397. package/dist/components/progress-indicator.js +3 -3
  398. package/dist/components/progress-indicator.js.map +1 -1
  399. package/dist/components/renvooi.js +2 -2
  400. package/dist/components/renvooi.js.map +1 -1
  401. package/dist/components/responsive-element.js +3 -3
  402. package/dist/components/responsive-element.js.map +1 -1
  403. package/dist/components/scrollable.js +4 -4
  404. package/dist/components/scrollable.js.map +1 -1
  405. package/dist/components/selectable.js +4 -4
  406. package/dist/components/selectable.js.map +1 -1
  407. package/dist/components/slide-toggle.js +3 -3
  408. package/dist/components/slide-toggle.js.map +1 -1
  409. package/dist/components/table.js +4 -4
  410. package/dist/components/table.js.map +1 -1
  411. package/dist/components/toggletip.js +3 -3
  412. package/dist/components/toggletip.js.map +1 -1
  413. package/dist/components/tooltip.js +3 -3
  414. package/dist/components/tooltip.js.map +1 -1
  415. package/dist/components/v4.js +3 -12
  416. package/dist/components/v4.js.map +1 -1
  417. package/dist/dso-toolkit/dso-accordion-section.entry.esm.js.map +1 -0
  418. package/dist/dso-toolkit/dso-accordion.entry.esm.js.map +1 -0
  419. package/dist/dso-toolkit/dso-action-list-item.entry.esm.js.map +1 -0
  420. package/dist/dso-toolkit/dso-action-list.entry.esm.js.map +1 -0
  421. package/dist/dso-toolkit/dso-advanced-select.entry.esm.js.map +1 -0
  422. package/dist/dso-toolkit/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.esm.js.map +1 -0
  423. package/dist/dso-toolkit/dso-annotation-activiteit.entry.esm.js.map +1 -0
  424. package/dist/dso-toolkit/dso-annotation-gebiedsaanwijzing.entry.esm.js.map +1 -0
  425. package/dist/dso-toolkit/dso-annotation-kaart.entry.esm.js.map +1 -0
  426. package/dist/dso-toolkit/dso-annotation-locatie.dso-document-component.entry.esm.js.map +1 -0
  427. package/dist/dso-toolkit/dso-annotation-omgevingsnormwaarde.entry.esm.js.map +1 -0
  428. package/dist/dso-toolkit/dso-attachments-counter.dso-expandable.entry.esm.js.map +1 -0
  429. package/dist/dso-toolkit/dso-autosuggest.entry.esm.js.map +1 -0
  430. package/dist/dso-toolkit/dso-banner.entry.esm.js.map +1 -0
  431. package/dist/dso-toolkit/dso-card-container.entry.esm.js.map +1 -0
  432. package/dist/dso-toolkit/dso-card.entry.esm.js.map +1 -0
  433. package/dist/dso-toolkit/dso-contact-information.entry.esm.js.map +1 -0
  434. package/dist/dso-toolkit/dso-date-picker-legacy.entry.esm.js.map +1 -0
  435. package/dist/dso-toolkit/dso-date-picker.entry.esm.js.map +1 -0
  436. package/dist/dso-toolkit/dso-document-card.entry.esm.js.map +1 -0
  437. package/dist/dso-toolkit/dso-dropdown-menu.entry.esm.js.map +1 -0
  438. package/dist/dso-toolkit/dso-header.entry.esm.js.map +1 -0
  439. package/dist/dso-toolkit/dso-highlight-box.entry.esm.js.map +1 -0
  440. package/dist/dso-toolkit/dso-icon.entry.esm.js.map +1 -0
  441. package/dist/dso-toolkit/dso-info-button.entry.esm.js.map +1 -0
  442. package/dist/dso-toolkit/dso-info.dso-selectable.entry.esm.js.map +1 -0
  443. package/dist/dso-toolkit/dso-input-range.entry.esm.js.map +1 -0
  444. package/dist/dso-toolkit/dso-label.dso-renvooi.dso-slide-toggle.entry.esm.js.map +1 -0
  445. package/dist/dso-toolkit/dso-legend-item.entry.esm.js.map +1 -0
  446. package/dist/dso-toolkit/dso-list-button.entry.esm.js.map +1 -0
  447. package/dist/dso-toolkit/dso-logo.entry.esm.js.map +1 -0
  448. package/dist/dso-toolkit/dso-map-base-layers.entry.esm.js.map +1 -0
  449. package/dist/dso-toolkit/dso-map-controls.entry.esm.js.map +1 -0
  450. package/dist/dso-toolkit/dso-map-overlays.entry.esm.js.map +1 -0
  451. package/dist/dso-toolkit/dso-mark-bar.entry.esm.js.map +1 -0
  452. package/dist/dso-toolkit/dso-modal.entry.esm.js.map +1 -0
  453. package/dist/dso-toolkit/dso-pagination.entry.esm.js.map +1 -0
  454. package/dist/dso-toolkit/dso-plekinfo-card.entry.esm.js.map +1 -0
  455. package/dist/dso-toolkit/dso-progress-bar.entry.esm.js.map +1 -0
  456. package/dist/dso-toolkit/dso-progress-indicator.entry.esm.js.map +1 -0
  457. package/dist/dso-toolkit/dso-project-item.entry.esm.js.map +1 -0
  458. package/dist/dso-toolkit/dso-responsive-element.entry.esm.js.map +1 -0
  459. package/dist/dso-toolkit/dso-scrollable.entry.esm.js.map +1 -0
  460. package/dist/dso-toolkit/dso-skiplink.entry.esm.js.map +1 -0
  461. package/dist/dso-toolkit/dso-survey-rating.entry.esm.js.map +1 -0
  462. package/dist/dso-toolkit/dso-tab.entry.esm.js.map +1 -0
  463. package/dist/dso-toolkit/dso-tabs.entry.esm.js.map +1 -0
  464. package/dist/dso-toolkit/dso-toggletip.entry.esm.js.map +1 -0
  465. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  466. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  467. package/dist/dso-toolkit/dso-tooltip.entry.esm.js.map +1 -0
  468. package/dist/dso-toolkit/dso-tree-view.entry.esm.js.map +1 -0
  469. package/dist/dso-toolkit/dso-viewer-grid.entry.esm.js.map +1 -0
  470. package/dist/dso-toolkit/dsot-document-component-demo.entry.esm.js.map +1 -0
  471. package/dist/dso-toolkit/index.esm.js.map +1 -1
  472. package/dist/dso-toolkit/loader.esm.js.map +1 -0
  473. package/dist/dso-toolkit/p-00580562.entry.js +2 -0
  474. package/dist/dso-toolkit/p-00580562.entry.js.map +1 -0
  475. package/dist/dso-toolkit/p-044ee150.entry.js +2 -0
  476. package/dist/dso-toolkit/p-044ee150.entry.js.map +1 -0
  477. package/dist/dso-toolkit/p-0a2dd4a9.entry.js +2 -0
  478. package/dist/dso-toolkit/p-0a2dd4a9.entry.js.map +1 -0
  479. package/dist/dso-toolkit/p-0c31d950.entry.js +2 -0
  480. package/dist/dso-toolkit/p-0c31d950.entry.js.map +1 -0
  481. package/dist/dso-toolkit/p-1d96f67a.entry.js +2 -0
  482. package/dist/dso-toolkit/p-1d96f67a.entry.js.map +1 -0
  483. package/dist/dso-toolkit/{p-9d176f6f.entry.js → p-215e9ecd.entry.js} +2 -2
  484. package/dist/dso-toolkit/p-215e9ecd.entry.js.map +1 -0
  485. package/dist/dso-toolkit/p-24f64459.entry.js +2 -0
  486. package/dist/dso-toolkit/p-24f64459.entry.js.map +1 -0
  487. package/dist/dso-toolkit/{p-4747018b.entry.js → p-2b0ae997.entry.js} +2 -2
  488. package/dist/dso-toolkit/p-2b0ae997.entry.js.map +1 -0
  489. package/dist/dso-toolkit/{p-8597633a.entry.js → p-35b096ec.entry.js} +2 -2
  490. package/dist/dso-toolkit/p-35b096ec.entry.js.map +1 -0
  491. package/dist/dso-toolkit/p-3f85169a.entry.js +2 -0
  492. package/dist/dso-toolkit/p-3f85169a.entry.js.map +1 -0
  493. package/dist/dso-toolkit/p-4790e06e.entry.js +2 -0
  494. package/dist/dso-toolkit/p-4790e06e.entry.js.map +1 -0
  495. package/dist/dso-toolkit/p-4956ca51.entry.js +2 -0
  496. package/dist/dso-toolkit/p-4956ca51.entry.js.map +1 -0
  497. package/dist/dso-toolkit/{p-943ad4a8.entry.js → p-49af1837.entry.js} +2 -2
  498. package/dist/dso-toolkit/p-49af1837.entry.js.map +1 -0
  499. package/dist/dso-toolkit/p-55176bef.entry.js +2 -0
  500. package/dist/dso-toolkit/p-55176bef.entry.js.map +1 -0
  501. package/dist/dso-toolkit/p-5a2586c2.entry.js +2 -0
  502. package/dist/dso-toolkit/p-5a2586c2.entry.js.map +1 -0
  503. package/dist/dso-toolkit/{p-1c72e7eb.entry.js → p-5b25a736.entry.js} +2 -2
  504. package/dist/dso-toolkit/p-5b25a736.entry.js.map +1 -0
  505. package/dist/dso-toolkit/p-5b25e608.entry.js +2 -0
  506. package/dist/dso-toolkit/p-5b25e608.entry.js.map +1 -0
  507. package/dist/dso-toolkit/{p-4e8fa5f6.entry.js → p-5f820aec.entry.js} +2 -2
  508. package/dist/dso-toolkit/p-5f820aec.entry.js.map +1 -0
  509. package/dist/dso-toolkit/p-61dfc1f5.entry.js +2 -0
  510. package/dist/dso-toolkit/p-61dfc1f5.entry.js.map +1 -0
  511. package/dist/dso-toolkit/p-63047745.entry.js +2 -0
  512. package/dist/dso-toolkit/p-63047745.entry.js.map +1 -0
  513. package/dist/dso-toolkit/p-6973b064.entry.js +2 -0
  514. package/dist/dso-toolkit/p-6973b064.entry.js.map +1 -0
  515. package/dist/dso-toolkit/p-70b9abf1.entry.js +2 -0
  516. package/dist/dso-toolkit/p-70b9abf1.entry.js.map +1 -0
  517. package/dist/dso-toolkit/p-7531a336.entry.js +2 -0
  518. package/dist/dso-toolkit/p-7531a336.entry.js.map +1 -0
  519. package/dist/dso-toolkit/p-759d18f9.entry.js +2 -0
  520. package/dist/dso-toolkit/p-759d18f9.entry.js.map +1 -0
  521. package/dist/dso-toolkit/p-77f41816.entry.js +2 -0
  522. package/dist/dso-toolkit/p-77f41816.entry.js.map +1 -0
  523. package/dist/dso-toolkit/p-7853e0ff.entry.js +2 -0
  524. package/dist/dso-toolkit/p-7853e0ff.entry.js.map +1 -0
  525. package/dist/dso-toolkit/p-7f8fc024.entry.js +2 -0
  526. package/dist/dso-toolkit/p-7f8fc024.entry.js.map +1 -0
  527. package/dist/dso-toolkit/{p-ed33d023.entry.js → p-877a32be.entry.js} +2 -2
  528. package/dist/dso-toolkit/p-877a32be.entry.js.map +1 -0
  529. package/dist/dso-toolkit/p-89476db1.entry.js +2 -0
  530. package/dist/dso-toolkit/p-89476db1.entry.js.map +1 -0
  531. package/dist/dso-toolkit/p-896b4e39.entry.js +2 -0
  532. package/dist/dso-toolkit/p-896b4e39.entry.js.map +1 -0
  533. package/dist/dso-toolkit/{p-7ca364e9.entry.js → p-91f1ac00.entry.js} +2 -2
  534. package/dist/dso-toolkit/p-91f1ac00.entry.js.map +1 -0
  535. package/dist/dso-toolkit/p-9213f126.entry.js +2 -0
  536. package/dist/dso-toolkit/p-9213f126.entry.js.map +1 -0
  537. package/dist/dso-toolkit/{p-3e401cf1.entry.js → p-9560e51d.entry.js} +2 -2
  538. package/dist/dso-toolkit/p-9560e51d.entry.js.map +1 -0
  539. package/dist/dso-toolkit/p-95d77ea8.entry.js +2 -0
  540. package/dist/dso-toolkit/p-95d77ea8.entry.js.map +1 -0
  541. package/dist/dso-toolkit/{p-82796232.js → p-BF0_OXTe.js} +2 -2
  542. package/dist/dso-toolkit/p-BF0_OXTe.js.map +1 -0
  543. package/dist/dso-toolkit/p-BFTU3MAI.js +2 -0
  544. package/dist/dso-toolkit/p-BFTU3MAI.js.map +1 -0
  545. package/dist/dso-toolkit/p-BocpUT46.js +6 -0
  546. package/dist/dso-toolkit/p-BocpUT46.js.map +1 -0
  547. package/dist/dso-toolkit/p-BzEnSYbR.js +3 -0
  548. package/dist/dso-toolkit/p-BzEnSYbR.js.map +1 -0
  549. package/dist/dso-toolkit/p-CXy7CeUE.js +2 -0
  550. package/dist/dso-toolkit/p-CXy7CeUE.js.map +1 -0
  551. package/dist/dso-toolkit/p-CcZz5H_k.js +2 -0
  552. package/dist/dso-toolkit/p-CcZz5H_k.js.map +1 -0
  553. package/dist/dso-toolkit/{p-8a1a6e56.js → p-ChV9xqsO.js} +1 -1
  554. package/dist/dso-toolkit/p-ChV9xqsO.js.map +1 -0
  555. package/dist/dso-toolkit/{p-c8f6f8d9.js → p-CodDyi2J.js} +1 -1
  556. package/dist/dso-toolkit/p-CodDyi2J.js.map +1 -0
  557. package/dist/dso-toolkit/p-CsY83cJO.js +2 -0
  558. package/dist/dso-toolkit/p-CsY83cJO.js.map +1 -0
  559. package/dist/dso-toolkit/p-CzQFr230.js +2 -0
  560. package/dist/dso-toolkit/p-CzQFr230.js.map +1 -0
  561. package/dist/dso-toolkit/{p-078b7eca.js → p-D6dst_Em.js} +1 -1
  562. package/dist/dso-toolkit/p-D6dst_Em.js.map +1 -0
  563. package/dist/dso-toolkit/p-DDU8nTJS.js +2 -0
  564. package/dist/dso-toolkit/p-DDU8nTJS.js.map +1 -0
  565. package/dist/dso-toolkit/p-DQuL1Twl.js +2 -0
  566. package/dist/dso-toolkit/p-DQuL1Twl.js.map +1 -0
  567. package/dist/dso-toolkit/{p-97f788d4.js → p-DSyv-znO.js} +1 -1
  568. package/dist/dso-toolkit/p-DSyv-znO.js.map +1 -0
  569. package/dist/dso-toolkit/{p-2d694112.js → p-Hgv-pDpy.js} +1 -1
  570. package/dist/dso-toolkit/p-Hgv-pDpy.js.map +1 -0
  571. package/dist/dso-toolkit/{p-86133aa5.js → p-Pk8qng7t.js} +1 -1
  572. package/dist/dso-toolkit/p-Pk8qng7t.js.map +1 -0
  573. package/dist/dso-toolkit/p-a0a78026.entry.js +2 -0
  574. package/dist/dso-toolkit/p-a0a78026.entry.js.map +1 -0
  575. package/dist/dso-toolkit/p-a186b796.entry.js +2 -0
  576. package/dist/dso-toolkit/p-a186b796.entry.js.map +1 -0
  577. package/dist/dso-toolkit/p-a250b931.entry.js +2 -0
  578. package/dist/dso-toolkit/p-a250b931.entry.js.map +1 -0
  579. package/dist/dso-toolkit/p-a66fd056.entry.js +2 -0
  580. package/dist/dso-toolkit/p-a66fd056.entry.js.map +1 -0
  581. package/dist/dso-toolkit/p-a74dabd9.entry.js +2 -0
  582. package/dist/dso-toolkit/p-a74dabd9.entry.js.map +1 -0
  583. package/dist/dso-toolkit/{p-d343ecd3.entry.js → p-a9b89335.entry.js} +2 -2
  584. package/dist/dso-toolkit/p-a9b89335.entry.js.map +1 -0
  585. package/dist/dso-toolkit/{p-732b261f.entry.js → p-acf5ec05.entry.js} +2 -2
  586. package/dist/dso-toolkit/p-acf5ec05.entry.js.map +1 -0
  587. package/dist/dso-toolkit/p-b26fded2.entry.js +2 -0
  588. package/dist/dso-toolkit/p-b26fded2.entry.js.map +1 -0
  589. package/dist/dso-toolkit/p-c50310e2.entry.js +2 -0
  590. package/dist/dso-toolkit/p-c50310e2.entry.js.map +1 -0
  591. package/dist/dso-toolkit/p-c9a89e90.entry.js +2 -0
  592. package/dist/dso-toolkit/p-c9a89e90.entry.js.map +1 -0
  593. package/dist/dso-toolkit/p-cc1ffecd.entry.js +2 -0
  594. package/dist/dso-toolkit/p-cc1ffecd.entry.js.map +1 -0
  595. package/dist/dso-toolkit/{p-c2abc6c7.entry.js → p-d14079e8.entry.js} +2 -2
  596. package/dist/dso-toolkit/p-d14079e8.entry.js.map +1 -0
  597. package/dist/dso-toolkit/{p-0499bdce.entry.js → p-d260469c.entry.js} +2 -2
  598. package/dist/dso-toolkit/p-d260469c.entry.js.map +1 -0
  599. package/dist/dso-toolkit/{p-a496f58f.entry.js → p-d39ac774.entry.js} +2 -2
  600. package/dist/dso-toolkit/p-d39ac774.entry.js.map +1 -0
  601. package/dist/dso-toolkit/{p-a52dcbb8.entry.js → p-e232a8ad.entry.js} +2 -2
  602. package/dist/dso-toolkit/p-e232a8ad.entry.js.map +1 -0
  603. package/dist/dso-toolkit/p-e87edda8.entry.js +2 -0
  604. package/dist/dso-toolkit/p-e87edda8.entry.js.map +1 -0
  605. package/dist/dso-toolkit/{p-276777d7.entry.js → p-ead9ce8b.entry.js} +2 -2
  606. package/dist/dso-toolkit/p-ead9ce8b.entry.js.map +1 -0
  607. package/dist/dso-toolkit/p-ed11ee1b.entry.js +2 -0
  608. package/dist/dso-toolkit/p-ed11ee1b.entry.js.map +1 -0
  609. package/dist/esm/_commonjsHelpers-BFTU3MAI.js +10 -0
  610. package/dist/esm/_commonjsHelpers-BFTU3MAI.js.map +1 -0
  611. package/dist/esm/{annotation-body-b9f370b0.js → annotation-body-Bwcvd5YG.js} +3 -2
  612. package/dist/esm/annotation-body-Bwcvd5YG.js.map +1 -0
  613. package/dist/esm/{annotation-list-renvooi-values-ed9c0ff3.js → annotation-list-renvooi-values-D_I-aAbM.js} +3 -2
  614. package/dist/esm/annotation-list-renvooi-values-D_I-aAbM.js.map +1 -0
  615. package/dist/esm/{annotation-symbol-slot-70466ae5.js → annotation-symbol-slot-BlF4i_Mi.js} +4 -3
  616. package/dist/esm/annotation-symbol-slot-BlF4i_Mi.js.map +1 -0
  617. package/dist/esm/app-globals-DQuL1Twl.js +6 -0
  618. package/dist/esm/app-globals-DQuL1Twl.js.map +1 -0
  619. package/dist/esm/{clsx-297c1ffe.js → clsx-ChV9xqsO.js} +2 -1
  620. package/dist/esm/clsx-ChV9xqsO.js.map +1 -0
  621. package/dist/esm/{create-identifier-d61d46af.js → create-identifier-DSyv-znO.js} +2 -1
  622. package/dist/esm/create-identifier-DSyv-znO.js.map +1 -0
  623. package/dist/esm/dso-accordion-section.entry.js +4 -4
  624. package/dist/esm/dso-accordion-section.entry.js.map +1 -1
  625. package/dist/esm/dso-accordion.entry.js +7 -10
  626. package/dist/esm/dso-accordion.entry.js.map +1 -1
  627. package/dist/esm/dso-action-list-item.entry.js +4 -4
  628. package/dist/esm/dso-action-list-item.entry.js.map +1 -1
  629. package/dist/esm/dso-action-list.entry.js +4 -4
  630. package/dist/esm/dso-action-list.entry.js.map +1 -1
  631. package/dist/esm/dso-advanced-select.entry.js +8 -8
  632. package/dist/esm/dso-advanced-select.entry.js.map +1 -1
  633. package/dist/esm/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.js.map +1 -0
  634. package/dist/esm/dso-alert_6.entry.js +448 -448
  635. package/dist/esm/dso-alert_6.entry.js.map +1 -1
  636. package/dist/esm/dso-annotation-activiteit.entry.js +6 -6
  637. package/dist/esm/dso-annotation-activiteit.entry.js.map +1 -1
  638. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js +5 -5
  639. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js.map +1 -1
  640. package/dist/esm/dso-annotation-kaart.entry.js +5 -5
  641. package/dist/esm/dso-annotation-kaart.entry.js.map +1 -1
  642. package/dist/esm/dso-annotation-locatie.dso-document-component.entry.js.map +1 -0
  643. package/dist/esm/dso-annotation-locatie_2.entry.js +7 -8
  644. package/dist/esm/dso-annotation-locatie_2.entry.js.map +1 -1
  645. package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js +6 -6
  646. package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js.map +1 -1
  647. package/dist/esm/dso-attachments-counter.dso-expandable.entry.js.map +1 -0
  648. package/dist/esm/dso-attachments-counter_2.entry.js +5 -6
  649. package/dist/esm/dso-attachments-counter_2.entry.js.map +1 -1
  650. package/dist/esm/dso-autosuggest.entry.js +7 -6
  651. package/dist/esm/dso-autosuggest.entry.js.map +1 -1
  652. package/dist/esm/dso-banner.entry.js +9 -9
  653. package/dist/esm/dso-banner.entry.js.map +1 -1
  654. package/dist/esm/dso-card-container.entry.js +3 -3
  655. package/dist/esm/dso-card-container.entry.js.map +1 -1
  656. package/dist/esm/dso-card.entry.js +4 -4
  657. package/dist/esm/dso-card.entry.js.map +1 -1
  658. package/dist/esm/dso-contact-information.entry.js +3 -3
  659. package/dist/esm/dso-contact-information.entry.js.map +1 -1
  660. package/dist/esm/dso-date-picker-legacy.entry.js +4 -5
  661. package/dist/esm/dso-date-picker-legacy.entry.js.map +1 -1
  662. package/dist/esm/dso-date-picker.entry.js +3 -3
  663. package/dist/esm/dso-date-picker.entry.js.map +1 -1
  664. package/dist/esm/dso-document-card.entry.js +4 -4
  665. package/dist/esm/dso-document-card.entry.js.map +1 -1
  666. package/dist/esm/dso-dropdown-menu.entry.js +7 -7
  667. package/dist/esm/dso-dropdown-menu.entry.js.map +1 -1
  668. package/dist/esm/dso-header.entry.js +8 -7
  669. package/dist/esm/dso-header.entry.js.map +1 -1
  670. package/dist/esm/dso-highlight-box.entry.js +4 -4
  671. package/dist/esm/dso-highlight-box.entry.js.map +1 -1
  672. package/dist/esm/dso-icon.entry.js +106 -106
  673. package/dist/esm/dso-icon.entry.js.map +1 -1
  674. package/dist/esm/dso-info-button.entry.js +6 -6
  675. package/dist/esm/dso-info-button.entry.js.map +1 -1
  676. package/dist/esm/dso-info.dso-selectable.entry.js.map +1 -0
  677. package/dist/esm/dso-info_2.entry.js +9 -10
  678. package/dist/esm/dso-info_2.entry.js.map +1 -1
  679. package/dist/esm/dso-input-range.entry.js +5 -5
  680. package/dist/esm/dso-input-range.entry.js.map +1 -1
  681. package/dist/esm/dso-label.dso-renvooi.dso-slide-toggle.entry.js.map +1 -0
  682. package/dist/esm/dso-label_3.entry.js +13 -14
  683. package/dist/esm/dso-label_3.entry.js.map +1 -1
  684. package/dist/esm/dso-legend-item.entry.js +6 -6
  685. package/dist/esm/dso-legend-item.entry.js.map +1 -1
  686. package/dist/esm/dso-list-button.entry.js +10 -8
  687. package/dist/esm/dso-list-button.entry.js.map +1 -1
  688. package/dist/esm/dso-logo.entry.js +5 -5
  689. package/dist/esm/dso-logo.entry.js.map +1 -1
  690. package/dist/esm/dso-map-base-layers.entry.js +6 -6
  691. package/dist/esm/dso-map-base-layers.entry.js.map +1 -1
  692. package/dist/esm/dso-map-controls.entry.js +6 -6
  693. package/dist/esm/dso-map-controls.entry.js.map +1 -1
  694. package/dist/esm/dso-map-overlays.entry.js +6 -6
  695. package/dist/esm/dso-map-overlays.entry.js.map +1 -1
  696. package/dist/esm/dso-mark-bar.entry.js +4 -4
  697. package/dist/esm/dso-mark-bar.entry.js.map +1 -1
  698. package/dist/esm/dso-modal.entry.js +8 -8
  699. package/dist/esm/dso-modal.entry.js.map +1 -1
  700. package/dist/esm/dso-pagination.entry.js +4 -4
  701. package/dist/esm/dso-pagination.entry.js.map +1 -1
  702. package/dist/esm/dso-plekinfo-card.entry.js +5 -5
  703. package/dist/esm/dso-plekinfo-card.entry.js.map +1 -1
  704. package/dist/esm/dso-progress-bar.entry.js +4 -4
  705. package/dist/esm/dso-progress-bar.entry.js.map +1 -1
  706. package/dist/esm/dso-progress-indicator.entry.js +5 -5
  707. package/dist/esm/dso-progress-indicator.entry.js.map +1 -1
  708. package/dist/esm/dso-project-item.entry.js +4 -4
  709. package/dist/esm/dso-project-item.entry.js.map +1 -1
  710. package/dist/esm/dso-responsive-element.entry.js +4 -4
  711. package/dist/esm/dso-responsive-element.entry.js.map +1 -1
  712. package/dist/esm/dso-scrollable.entry.js +8 -7
  713. package/dist/esm/dso-scrollable.entry.js.map +1 -1
  714. package/dist/esm/dso-skiplink.entry.js +5 -5
  715. package/dist/esm/dso-skiplink.entry.js.map +1 -1
  716. package/dist/esm/dso-survey-rating.entry.js +5 -5
  717. package/dist/esm/dso-survey-rating.entry.js.map +1 -1
  718. package/dist/esm/dso-tab.entry.js +4 -4
  719. package/dist/esm/dso-tab.entry.js.map +1 -1
  720. package/dist/esm/dso-tabs.entry.js +4 -4
  721. package/dist/esm/dso-tabs.entry.js.map +1 -1
  722. package/dist/esm/dso-toggletip.entry.js +4 -4
  723. package/dist/esm/dso-toggletip.entry.js.map +1 -1
  724. package/dist/esm/dso-toolkit.js +7 -5
  725. package/dist/esm/dso-toolkit.js.map +1 -1
  726. package/dist/esm/dso-tooltip.entry.js +8 -7
  727. package/dist/esm/dso-tooltip.entry.js.map +1 -1
  728. package/dist/esm/dso-tree-view.entry.js +5 -5
  729. package/dist/esm/dso-tree-view.entry.js.map +1 -1
  730. package/dist/esm/dso-viewer-grid.entry.js +9 -8
  731. package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
  732. package/dist/esm/dsot-document-component-demo.entry.js +1622 -1600
  733. package/dist/esm/dsot-document-component-demo.entry.js.map +1 -1
  734. package/dist/esm/{focus-trap.esm-b5ae7e82.js → focus-trap.esm-THfp668w.js} +4 -3
  735. package/dist/esm/focus-trap.esm-THfp668w.js.map +1 -0
  736. package/dist/esm/{get-active-element-37680994.js → get-active-element-CodDyi2J.js} +2 -1
  737. package/dist/esm/get-active-element-CodDyi2J.js.map +1 -0
  738. package/dist/esm/{has-overflow-6d7f3a71.js → has-overflow-CsY83cJO.js} +11 -12
  739. package/dist/esm/has-overflow-CsY83cJO.js.map +1 -0
  740. package/dist/esm/{i18n-653506dc.js → i18n-D6dst_Em.js} +2 -1
  741. package/dist/esm/i18n-D6dst_Em.js.map +1 -0
  742. package/dist/esm/{index-91149367.js → index-BzEnSYbR.js} +238 -159
  743. package/dist/esm/index-BzEnSYbR.js.map +1 -0
  744. package/dist/esm/index-CoMRvcY0.js +122 -0
  745. package/dist/esm/index-CoMRvcY0.js.map +1 -0
  746. package/dist/esm/{index.esm-7e16e884.js → index.esm-Pk8qng7t.js} +2 -1
  747. package/dist/esm/index.esm-Pk8qng7t.js.map +1 -0
  748. package/dist/esm/index.js +1 -0
  749. package/dist/esm/index.js.map +1 -1
  750. package/dist/esm/{is-modified-event-70db5fa8.js → is-modified-event-Hgv-pDpy.js} +2 -1
  751. package/dist/esm/is-modified-event-Hgv-pDpy.js.map +1 -0
  752. package/dist/esm/loader.js +5 -4
  753. package/dist/esm/loader.js.map +1 -1
  754. package/dist/esm/{v4-c74494dc.js → v4-BF0_OXTe.js} +4 -13
  755. package/dist/esm/v4-BF0_OXTe.js.map +1 -0
  756. package/dist/types/components/banner/banner.d.ts +3 -3
  757. package/dist/types/components.d.ts +6 -35
  758. package/dist/types/stencil-public-runtime.d.ts +1 -0
  759. package/package.json +12 -12
  760. package/dist/cjs/_commonjsHelpers-68cdf74f.js +0 -7
  761. package/dist/cjs/_commonjsHelpers-68cdf74f.js.map +0 -1
  762. package/dist/cjs/annotation-body-f6a7ba3d.js.map +0 -1
  763. package/dist/cjs/annotation-list-renvooi-values-9836dd5d.js.map +0 -1
  764. package/dist/cjs/annotation-symbol-slot-f6c46cfe.js.map +0 -1
  765. package/dist/cjs/app-globals-3a1e7e63.js +0 -7
  766. package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
  767. package/dist/cjs/clsx-fc789adc.js.map +0 -1
  768. package/dist/cjs/create-identifier-4a76663b.js.map +0 -1
  769. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js +0 -106
  770. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js.map +0 -1
  771. package/dist/cjs/focus-trap.esm-14b4a31b.js.map +0 -1
  772. package/dist/cjs/get-active-element-05f06ef1.js.map +0 -1
  773. package/dist/cjs/has-overflow-2fb1d618.js.map +0 -1
  774. package/dist/cjs/i18n-f348f39e.js.map +0 -1
  775. package/dist/cjs/index-57504611.js.map +0 -1
  776. package/dist/cjs/index-a49786b9.js +0 -113
  777. package/dist/cjs/index-a49786b9.js.map +0 -1
  778. package/dist/cjs/index.esm-970bc106.js.map +0 -1
  779. package/dist/cjs/is-modified-event-f643edb2.js.map +0 -1
  780. package/dist/cjs/v4-2a8f5623.js.map +0 -1
  781. package/dist/collection/components/helpcenter-panel/helpcenter-panel.css +0 -335
  782. package/dist/collection/components/helpcenter-panel/helpcenter-panel.js +0 -169
  783. package/dist/collection/components/helpcenter-panel/helpcenter-panel.js.map +0 -1
  784. package/dist/components/dso-helpcenter-panel.d.ts +0 -11
  785. package/dist/components/dso-helpcenter-panel.js +0 -135
  786. package/dist/components/dso-helpcenter-panel.js.map +0 -1
  787. package/dist/dso-toolkit/p-03e5e9e1.entry.js +0 -2
  788. package/dist/dso-toolkit/p-03e5e9e1.entry.js.map +0 -1
  789. package/dist/dso-toolkit/p-0499bdce.entry.js.map +0 -1
  790. package/dist/dso-toolkit/p-078b7eca.js.map +0 -1
  791. package/dist/dso-toolkit/p-0c7615c1.entry.js +0 -2
  792. package/dist/dso-toolkit/p-0c7615c1.entry.js.map +0 -1
  793. package/dist/dso-toolkit/p-10d0c70f.entry.js +0 -2
  794. package/dist/dso-toolkit/p-10d0c70f.entry.js.map +0 -1
  795. package/dist/dso-toolkit/p-13b91ce2.js +0 -2
  796. package/dist/dso-toolkit/p-13b91ce2.js.map +0 -1
  797. package/dist/dso-toolkit/p-16e112f1.js +0 -2
  798. package/dist/dso-toolkit/p-16e112f1.js.map +0 -1
  799. package/dist/dso-toolkit/p-1c72e7eb.entry.js.map +0 -1
  800. package/dist/dso-toolkit/p-1ec998ba.entry.js +0 -2
  801. package/dist/dso-toolkit/p-1ec998ba.entry.js.map +0 -1
  802. package/dist/dso-toolkit/p-202d2cdf.js +0 -2
  803. package/dist/dso-toolkit/p-202d2cdf.js.map +0 -1
  804. package/dist/dso-toolkit/p-236e6d02.entry.js +0 -2
  805. package/dist/dso-toolkit/p-236e6d02.entry.js.map +0 -1
  806. package/dist/dso-toolkit/p-276777d7.entry.js.map +0 -1
  807. package/dist/dso-toolkit/p-2a933ac2.entry.js +0 -2
  808. package/dist/dso-toolkit/p-2a933ac2.entry.js.map +0 -1
  809. package/dist/dso-toolkit/p-2d694112.js.map +0 -1
  810. package/dist/dso-toolkit/p-327cbc96.entry.js +0 -2
  811. package/dist/dso-toolkit/p-327cbc96.entry.js.map +0 -1
  812. package/dist/dso-toolkit/p-3e401cf1.entry.js.map +0 -1
  813. package/dist/dso-toolkit/p-3efc1929.entry.js +0 -2
  814. package/dist/dso-toolkit/p-3efc1929.entry.js.map +0 -1
  815. package/dist/dso-toolkit/p-40d7c6bf.entry.js +0 -2
  816. package/dist/dso-toolkit/p-40d7c6bf.entry.js.map +0 -1
  817. package/dist/dso-toolkit/p-4573c419.js +0 -2
  818. package/dist/dso-toolkit/p-4573c419.js.map +0 -1
  819. package/dist/dso-toolkit/p-46a5a752.entry.js +0 -2
  820. package/dist/dso-toolkit/p-46a5a752.entry.js.map +0 -1
  821. package/dist/dso-toolkit/p-4747018b.entry.js.map +0 -1
  822. package/dist/dso-toolkit/p-4b536d17.entry.js +0 -2
  823. package/dist/dso-toolkit/p-4b536d17.entry.js.map +0 -1
  824. package/dist/dso-toolkit/p-4bcf2efb.entry.js +0 -2
  825. package/dist/dso-toolkit/p-4bcf2efb.entry.js.map +0 -1
  826. package/dist/dso-toolkit/p-4e8fa5f6.entry.js.map +0 -1
  827. package/dist/dso-toolkit/p-55306107.entry.js +0 -2
  828. package/dist/dso-toolkit/p-55306107.entry.js.map +0 -1
  829. package/dist/dso-toolkit/p-5ec31b61.entry.js +0 -2
  830. package/dist/dso-toolkit/p-5ec31b61.entry.js.map +0 -1
  831. package/dist/dso-toolkit/p-60e40f8f.entry.js +0 -2
  832. package/dist/dso-toolkit/p-60e40f8f.entry.js.map +0 -1
  833. package/dist/dso-toolkit/p-732b261f.entry.js.map +0 -1
  834. package/dist/dso-toolkit/p-743f5beb.entry.js +0 -2
  835. package/dist/dso-toolkit/p-743f5beb.entry.js.map +0 -1
  836. package/dist/dso-toolkit/p-7949fc70.entry.js +0 -2
  837. package/dist/dso-toolkit/p-7949fc70.entry.js.map +0 -1
  838. package/dist/dso-toolkit/p-7ca364e9.entry.js.map +0 -1
  839. package/dist/dso-toolkit/p-82796232.js.map +0 -1
  840. package/dist/dso-toolkit/p-8597633a.entry.js.map +0 -1
  841. package/dist/dso-toolkit/p-86133aa5.js.map +0 -1
  842. package/dist/dso-toolkit/p-8a1a6e56.js.map +0 -1
  843. package/dist/dso-toolkit/p-8f44a71d.js +0 -6
  844. package/dist/dso-toolkit/p-8f44a71d.js.map +0 -1
  845. package/dist/dso-toolkit/p-93dc3680.entry.js +0 -2
  846. package/dist/dso-toolkit/p-93dc3680.entry.js.map +0 -1
  847. package/dist/dso-toolkit/p-943ad4a8.entry.js.map +0 -1
  848. package/dist/dso-toolkit/p-97f788d4.js.map +0 -1
  849. package/dist/dso-toolkit/p-98037a08.entry.js +0 -2
  850. package/dist/dso-toolkit/p-98037a08.entry.js.map +0 -1
  851. package/dist/dso-toolkit/p-984d922e.entry.js +0 -2
  852. package/dist/dso-toolkit/p-984d922e.entry.js.map +0 -1
  853. package/dist/dso-toolkit/p-99d7326e.entry.js +0 -2
  854. package/dist/dso-toolkit/p-99d7326e.entry.js.map +0 -1
  855. package/dist/dso-toolkit/p-9d176f6f.entry.js.map +0 -1
  856. package/dist/dso-toolkit/p-a496f58f.entry.js.map +0 -1
  857. package/dist/dso-toolkit/p-a52dcbb8.entry.js.map +0 -1
  858. package/dist/dso-toolkit/p-a6c30fa5.entry.js +0 -2
  859. package/dist/dso-toolkit/p-a6c30fa5.entry.js.map +0 -1
  860. package/dist/dso-toolkit/p-a811a886.entry.js +0 -2
  861. package/dist/dso-toolkit/p-a811a886.entry.js.map +0 -1
  862. package/dist/dso-toolkit/p-abc59cdf.js +0 -3
  863. package/dist/dso-toolkit/p-abc59cdf.js.map +0 -1
  864. package/dist/dso-toolkit/p-b51b2ca6.entry.js +0 -2
  865. package/dist/dso-toolkit/p-b51b2ca6.entry.js.map +0 -1
  866. package/dist/dso-toolkit/p-b57af35d.entry.js +0 -2
  867. package/dist/dso-toolkit/p-b57af35d.entry.js.map +0 -1
  868. package/dist/dso-toolkit/p-b5c5ca39.entry.js +0 -2
  869. package/dist/dso-toolkit/p-b5c5ca39.entry.js.map +0 -1
  870. package/dist/dso-toolkit/p-b73839a2.js +0 -2
  871. package/dist/dso-toolkit/p-b73839a2.js.map +0 -1
  872. package/dist/dso-toolkit/p-ba49c0e5.entry.js +0 -2
  873. package/dist/dso-toolkit/p-ba49c0e5.entry.js.map +0 -1
  874. package/dist/dso-toolkit/p-ba7b4c62.entry.js +0 -2
  875. package/dist/dso-toolkit/p-ba7b4c62.entry.js.map +0 -1
  876. package/dist/dso-toolkit/p-bdd5651e.entry.js +0 -2
  877. package/dist/dso-toolkit/p-bdd5651e.entry.js.map +0 -1
  878. package/dist/dso-toolkit/p-c2abc6c7.entry.js.map +0 -1
  879. package/dist/dso-toolkit/p-c8f6f8d9.js.map +0 -1
  880. package/dist/dso-toolkit/p-cc3366a5.entry.js +0 -2
  881. package/dist/dso-toolkit/p-cc3366a5.entry.js.map +0 -1
  882. package/dist/dso-toolkit/p-cf32927d.entry.js +0 -2
  883. package/dist/dso-toolkit/p-cf32927d.entry.js.map +0 -1
  884. package/dist/dso-toolkit/p-d1ed09c3.js +0 -2
  885. package/dist/dso-toolkit/p-d1ed09c3.js.map +0 -1
  886. package/dist/dso-toolkit/p-d343ecd3.entry.js.map +0 -1
  887. package/dist/dso-toolkit/p-e1255160.js +0 -2
  888. package/dist/dso-toolkit/p-e1255160.js.map +0 -1
  889. package/dist/dso-toolkit/p-e26460b5.entry.js +0 -2
  890. package/dist/dso-toolkit/p-e26460b5.entry.js.map +0 -1
  891. package/dist/dso-toolkit/p-e2d3d553.entry.js +0 -2
  892. package/dist/dso-toolkit/p-e2d3d553.entry.js.map +0 -1
  893. package/dist/dso-toolkit/p-e8064fba.entry.js +0 -2
  894. package/dist/dso-toolkit/p-e8064fba.entry.js.map +0 -1
  895. package/dist/dso-toolkit/p-ed33d023.entry.js.map +0 -1
  896. package/dist/dso-toolkit/p-eeca54c6.entry.js +0 -2
  897. package/dist/dso-toolkit/p-eeca54c6.entry.js.map +0 -1
  898. package/dist/dso-toolkit/p-fed0928b.entry.js +0 -2
  899. package/dist/dso-toolkit/p-fed0928b.entry.js.map +0 -1
  900. package/dist/dso-toolkit/p-fee1dd65.entry.js +0 -2
  901. package/dist/dso-toolkit/p-fee1dd65.entry.js.map +0 -1
  902. package/dist/esm/_commonjsHelpers-1c8beb5f.js +0 -5
  903. package/dist/esm/_commonjsHelpers-1c8beb5f.js.map +0 -1
  904. package/dist/esm/annotation-body-b9f370b0.js.map +0 -1
  905. package/dist/esm/annotation-list-renvooi-values-ed9c0ff3.js.map +0 -1
  906. package/dist/esm/annotation-symbol-slot-70466ae5.js.map +0 -1
  907. package/dist/esm/app-globals-0f993ce5.js +0 -5
  908. package/dist/esm/app-globals-0f993ce5.js.map +0 -1
  909. package/dist/esm/clsx-297c1ffe.js.map +0 -1
  910. package/dist/esm/create-identifier-d61d46af.js.map +0 -1
  911. package/dist/esm/dso-helpcenter-panel.entry.js +0 -102
  912. package/dist/esm/dso-helpcenter-panel.entry.js.map +0 -1
  913. package/dist/esm/focus-trap.esm-b5ae7e82.js.map +0 -1
  914. package/dist/esm/get-active-element-37680994.js.map +0 -1
  915. package/dist/esm/has-overflow-6d7f3a71.js.map +0 -1
  916. package/dist/esm/i18n-653506dc.js.map +0 -1
  917. package/dist/esm/index-91149367.js.map +0 -1
  918. package/dist/esm/index-e112e225.js +0 -111
  919. package/dist/esm/index-e112e225.js.map +0 -1
  920. package/dist/esm/index.esm-7e16e884.js.map +0 -1
  921. package/dist/esm/is-modified-event-70db5fa8.js.map +0 -1
  922. package/dist/esm/v4-c74494dc.js.map +0 -1
  923. package/dist/types/components/helpcenter-panel/helpcenter-panel.d.ts +0 -28
  924. package/loader/package.json +0 -11
@@ -0,0 +1,2 @@
1
+ import{r as s,c as t,h as i,F as e,g as o}from"./p-BzEnSYbR.js";import{d as h}from"./p-DDU8nTJS.js";import{i as n}from"./p-D6dst_Em.js";import{v as r}from"./p-BF0_OXTe.js";import"./p-BFTU3MAI.js";function a(s){if(typeof s!=="string"){throw new TypeError("Expected a string")}return s.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const u={en:{"dso-autosuggest":{notFound:"{{inputValue}} was not found."}},nl:{"dso-autosuggest":{notFound:"{{inputValue}} is niet gevonden."}}};const l=".sc-dso-autosuggest-h{display:block;position:relative}.listbox-container.sc-dso-autosuggest{inset-inline:0;inset-block-start:100%;block-size:auto;max-block-size:var(--max-block-size);min-block-size:50px;overflow-y:auto;position:absolute;z-index:200}.listbox.sc-dso-autosuggest,.autosuggest-progress-box.sc-dso-autosuggest{background-clip:padding-box;background-color:#fff;border:1px solid rgba(0, 0, 0, 0.15);border-radius:4px;box-shadow:0 6px 12px rgba(0, 0, 0, 0.175);list-style-type:none;margin-block:0}.autosuggest-progress-box.sc-dso-autosuggest{padding-block:12px;padding-inline:8px}.listbox.sc-dso-autosuggest{padding-block:8px;padding-inline:0}.listbox.sc-dso-autosuggest .group.sc-dso-autosuggest:not(:first-child) .group-label.sc-dso-autosuggest{border-block-start:1px solid #b2b2b2}.listbox.sc-dso-autosuggest .group-label.sc-dso-autosuggest{color:#275937;font-weight:700;padding-block:4px;margin-inline:16px}.listbox.sc-dso-autosuggest .option.sc-dso-autosuggest{padding-block:4px;padding-inline:16px}.listbox.sc-dso-autosuggest .option.sc-dso-autosuggest .suggestion-row.sc-dso-autosuggest{display:flex;justify-content:space-between}.listbox.sc-dso-autosuggest .option.sc-dso-autosuggest:active{background-color:#275937}.listbox.sc-dso-autosuggest .option.sc-dso-autosuggest:active,.listbox.sc-dso-autosuggest .option.sc-dso-autosuggest:active .type.sc-dso-autosuggest,.listbox.sc-dso-autosuggest .option.sc-dso-autosuggest:active .extra.sc-dso-autosuggest{color:#fff}.option[aria-selected=true].sc-dso-autosuggest{cursor:pointer;background-color:#d7e7ce}mark.sc-dso-autosuggest{font-weight:700;background-color:inherit;color:inherit;padding:0}.type.sc-dso-autosuggest,.extra.sc-dso-autosuggest{color:#666}.type.sc-dso-autosuggest{text-align:end}.extra.sc-dso-autosuggest{font-size:14px;line-height:21px}.extra.sc-dso-autosuggest:not(:first-child){text-align:end}";const d=10;const c=8;const g=1;const f=({id:s,mouseEnter:t,mouseLeave:e,click:o,selected:h,suggestion:n,ref:r,markedSuggestion:a})=>i("div",{class:"option",role:"option",id:s,onMouseEnter:t,onMouseLeave:e,onClick:o,"aria-selected":h,"aria-label":n.value,ref:r},i("div",{class:"suggestion-row"},i("span",{class:"value"},a.value),a.type?i("span",{class:"type"},a.type):undefined),a.extras&&a.extras.map((s=>i("div",{class:"suggestion-row"},s.map((s=>i("span",{class:"extra"},s)))))));function p(s){return!!s&&s.length>0&&s.every((s=>s!==undefined&&"groupLabel"in s&&s.groupLabel!==undefined&&"suggestions"in s&&s.suggestions.length>0))}function v(s){return!!s&&s.length>0&&s.every((s=>s!==undefined&&"value"in s&&s.value!==undefined))}const b=class{constructor(i){s(this,i);this.dsoSelect=t(this,"dsoSelect",7);this.dsoChange=t(this,"dsoChange",7);this.dsoSearch=t(this,"dsoSearch",7);this.suggestions=null;this.loading=false;this.loadingLabel="Een moment geduld.";this.suggestOnFocus=false;this.showSuggestions=false;this.notFound=false;this.showLoading=false;this.listItemBlockSize=0;this.listboxContainerMaxBlockSize=0;this.listboxItems=[];this.listboxId=r();this.inputId=r();this.labelId=r();this.resizeObserver=new ResizeObserver(h((()=>this.setListboxContainerMaxBlockSize()),150));this.debouncedEmitValue=h((s=>{this.dsoChange.emit(s);this.debouncedShowLoading()}),200);this.debouncedShowLoading=h((()=>{if(this.inputValue){this.showLoading=true}}),this.loadingDelayed);this.inputValue="";this.onInput=s=>{if(!(s.target instanceof HTMLInputElement)){return}this.showLoading=!this.loadingDelayed;this.inputValue=s.target.value;this.debouncedEmitValue(s.target.value.match(/(\S+)/g)?s.target.value:"")};this.onFocusIn=()=>{if(this.suggestOnFocus){this.openSuggestions()}};this.text=n((()=>this.host),u);this.onWindowResize=h((()=>this.setListboxContainerMaxBlockSize()),150);this.onScrollend=()=>this.setListboxContainerMaxBlockSize();this.onKeyDown=s=>{if(s.defaultPrevented||this.loading){return}switch(s.key){case"ArrowDown":if(!this.showSuggestions){this.openSuggestions("first")}else{this.selectNextSuggestion()}break;case"ArrowUp":if(!this.showSuggestions){this.openSuggestions("last")}else{this.selectPreviousSuggestion()}break;case"Tab":this.closeSuggestions();return;case"Escape":this.closeSuggestions();break;case"Enter":this.pickSelectedValue();break;default:return}s.preventDefault()}}suggestionsWatcher(){this.resetSelectedSuggestion();if((!this.showSuggestions||!this.notFound)&&this.inputValue){this.openSuggestions()}else if((this.showSuggestions||this.notFound)&&!this.inputValue){this.closeSuggestions()}}onDocumentClick(s){if((this.showSuggestions||this.notFound)&&this.listbox&&s.target instanceof Node&&!this.listbox.contains(s.target)&&this.input!==s.target){this.closeSuggestions()}}componentDidRender(){this.setListboxContainerMaxBlockSize()}connectedCallback(){setTimeout((()=>{const s=this.host.querySelector('input[type="text"]');if(!(s instanceof HTMLInputElement)){return}this.input=s;if(s.id){this.inputId=s.id}else{s.id=this.inputId}if(!this.input.labels||this.input.labels.length<1){return}const t=this.input.labels[0];if(t===null||t===void 0?void 0:t.id){this.labelId=t.id}else if(t){t.id=this.labelId}this.input.setAttribute("role","combobox");this.input.setAttribute("aria-haspopup","listbox");this.input.setAttribute("aria-expanded","false");this.input.setAttribute("autocomplete","off");this.input.setAttribute("aria-autocomplete","list");this.input.setAttribute("aria-activedescendant","");this.input.addEventListener("input",this.onInput);this.input.addEventListener("keydown",this.onKeyDown);this.input.addEventListener("focusin",this.onFocusIn);window.addEventListener("resize",this.onWindowResize);document.addEventListener("scrollend",this.onScrollend);this.resizeObserver.observe(this.host);this.setListboxContainerMaxBlockSize()}))}disconnectedCallback(){var s,t,i;(s=this.input)===null||s===void 0?void 0:s.removeEventListener("input",this.onInput);(t=this.input)===null||t===void 0?void 0:t.removeEventListener("keydown",this.onKeyDown);(i=this.input)===null||i===void 0?void 0:i.removeEventListener("focusin",this.onFocusIn);window.removeEventListener("resize",this.onWindowResize);document.removeEventListener("scrollend",this.onScrollend);this.resizeObserver.disconnect()}setListboxContainerMaxBlockSize(){if(!this.listboxContainer||!this.showSuggestions){return}if(this.listboxItems[0]&&this.showSuggestions){this.listItemBlockSize=this.listboxItems[0].getBoundingClientRect().height}const s=window.innerHeight-this.host.getBoundingClientRect().bottom;const t=this.listItemBlockSize*d+2*c+2*g;if(s>this.listItemBlockSize){if(s<t){this.listboxContainerMaxBlockSize=s-2*c}else{this.listboxContainerMaxBlockSize=t}}}showInputValueNotFound(s){var t,i;return this.processAutosuggestMarkItems(this.markTerms((i=(t=this.input)===null||t===void 0?void 0:t.value.split(" ").filter((s=>s)))!==null&&i!==void 0?i:[],s))}handleMark(s,t,i,e){var o,h;if(this.mark&&i){return this.processAutosuggestMarkItems(this.mark(s,t,i,e))}return this.processAutosuggestMarkItems(this.markTerms((h=(o=this.input)===null||o===void 0?void 0:o.value.split(" ").filter((s=>s)))!==null&&h!==void 0?h:[],t))}markTerms(s,t){if(!t||!s||s.length===0||s[0]===undefined){return[""]}const i=new RegExp(`(${a(s[0])})`,"gi");return t.split(i).reduce(((t,e)=>{if(!e){t.push(e)}else if(i.test(e)){t.push({mark:e})}else if(s.length===1){t.push(e)}else{t.push(...this.markTerms(s.slice(1),e))}return t}),[])}processAutosuggestMarkItems(s){if(s.length===0){return[""]}return s.map((s=>{if(typeof s==="object"){return i("mark",null,s.mark)}return s}))}selectSuggestion(s,t){this.selectedSuggestion=s;this.selectedSuggestionGroup=t;this.setAriaActiveDescendant()}selectFirstSuggestion(){if(!this.suggestions){return}if(p(this.suggestions)&&this.selectedSuggestionGroup){this.selectedSuggestion=this.selectedSuggestionGroup.suggestions[0]}else{if(v(this.suggestions)){this.selectedSuggestion=this.suggestions[0]}}this.setAriaActiveDescendant(true)}selectLastSuggestion(){if(!this.suggestions){return}if(p(this.suggestions)&&this.selectedSuggestionGroup){this.selectedSuggestion=this.selectedSuggestionGroup.suggestions[this.selectedSuggestionGroup.suggestions.length-1]}else{if(v(this.suggestions)){this.selectedSuggestion=this.suggestions[this.suggestions.length-1]}}this.setAriaActiveDescendant(true)}selectNextSuggestion(){var s;if(!this.suggestions){return}if(p(this.suggestions)){this.selectNextGroupedSuggestion()}else{const t=this.selectedSuggestion?this.suggestions.indexOf(this.selectedSuggestion):-1;this.selectedSuggestion=(s=this.suggestions[t+1])!==null&&s!==void 0?s:this.suggestions[0]}this.setAriaActiveDescendant(true)}selectNextGroupedSuggestion(){var s;if(!this.suggestions){return}if(this.selectedSuggestionGroup){const t=this.selectedSuggestion?this.selectedSuggestionGroup.suggestions.indexOf(this.selectedSuggestion):-1;if(t===this.selectedSuggestionGroup.suggestions.length-1){const t=this.suggestionGroups.indexOf(this.selectedSuggestionGroup);this.selectedSuggestionGroup=(s=this.suggestionGroups[t+1])!==null&&s!==void 0?s:this.suggestionGroups[0];this.selectedSuggestion=this.selectedSuggestionGroup.suggestions[0]}else{this.selectedSuggestion=this.selectedSuggestionGroup.suggestions[t+1]}}else{this.selectedSuggestionGroup=this.suggestionGroups[0];this.selectedSuggestion=this.selectedSuggestionGroup.suggestions[0]}}selectPreviousSuggestion(){var s;if(!this.suggestions){return}if(p(this.suggestions)){this.selectPreviousGroupedSuggestion()}else{const t=this.selectedSuggestion?this.suggestions.indexOf(this.selectedSuggestion):0;this.selectedSuggestion=(s=this.suggestions[t-1])!==null&&s!==void 0?s:this.suggestions[this.suggestions.length-1]}this.setAriaActiveDescendant(true)}selectPreviousGroupedSuggestion(){var s;if(!this.suggestions){return}if(this.selectedSuggestionGroup){const t=this.selectedSuggestion?this.selectedSuggestionGroup.suggestions.indexOf(this.selectedSuggestion):-1;if(t===0){const t=this.suggestionGroups.indexOf(this.selectedSuggestionGroup);this.selectedSuggestionGroup=(s=this.suggestionGroups[t-1])!==null&&s!==void 0?s:this.suggestionGroups[this.suggestions.length-1];this.selectedSuggestion=this.selectedSuggestionGroup.suggestions[this.selectedSuggestionGroup.suggestions.length-1]}else{this.selectedSuggestion=this.selectedSuggestionGroup.suggestions[t-1]}}else{this.selectedSuggestionGroup=this.suggestionGroups[this.suggestions.length-1];this.selectedSuggestion=this.selectedSuggestionGroup.suggestions[this.selectedSuggestionGroup.suggestions.length-1]}}get suggestionGroups(){return p(this.suggestions)?this.suggestions:[]}setAriaActiveDescendant(s=false){var t,i;if(this.selectedSuggestion){const e=this.selectedSuggestionGroup?this.listboxGroupedItemId(this.selectedSuggestionGroup,this.selectedSuggestion):this.listboxItemId(this.selectedSuggestion);(t=this.input)===null||t===void 0?void 0:t.setAttribute("aria-activedescendant",e);if(s){(i=document.getElementById(e))===null||i===void 0?void 0:i.scrollIntoView({block:"nearest"})}}}resetSelectedSuggestion(){var s;this.showLoading=!this.loadingDelayed;this.notFound=false;this.selectedSuggestion=undefined;this.selectedSuggestionGroup=undefined;(s=this.input)===null||s===void 0?void 0:s.setAttribute("aria-activedescendant","")}openSuggestions(s){var t,i,e,o;this.showSuggestions=(t=this.suggestions&&this.suggestions.length>0)!==null&&t!==void 0?t:false;this.notFound=(e=this.suggestions&&((i=this.suggestions)===null||i===void 0?void 0:i.length)===0)!==null&&e!==void 0?e:false;(o=this.input)===null||o===void 0?void 0:o.setAttribute("aria-expanded",(this.showSuggestions||this.notFound).toString());if(this.showSuggestions&&s==="first"){this.selectFirstSuggestion()}else if(this.showSuggestions&&s==="last"){this.selectLastSuggestion()}}closeSuggestions(){var s;this.showSuggestions=false;this.notFound=false;(s=this.input)===null||s===void 0?void 0:s.setAttribute("aria-expanded","false");this.selectFirstSuggestion()}pickSelectedValue(){var s;if(this.selectedSuggestion&&this.showSuggestions){this.dsoSelect.emit(this.selectedSuggestion)}else{this.dsoSearch.emit((s=this.input)===null||s===void 0?void 0:s.value)}this.closeSuggestions()}listboxItemId(s){if(!this.suggestions){return""}return`${this.inputId}-${v(this.suggestions)&&this.suggestions.indexOf(s)+1}`}listboxGroupedItemId(s,t){if(!this.suggestions){return""}return`${this.inputId}-${this.suggestionGroups.indexOf(s)+1}-${s.suggestions.indexOf(t)+1}`}getMarkedChunkedExtras(s,t){const i=s.reduce(((s,t,i)=>{var e;const o=Math.floor(i/2);if(!s[o]){s[o]=[]}(e=s[o])===null||e===void 0?void 0:e.push(t);return s}),[]);return i.map(((s,i)=>s.map(((s,e)=>this.handleMark(t,s,"extra",i*2+e)))))}getMarkedSuggestions(s){return{value:this.handleMark(s,s.value,"value"),type:s.type?this.handleMark(s,s.type,"type"):undefined,extras:s.extras?this.getMarkedChunkedExtras(s.extras,s):undefined}}render(){this.listboxItems=[];const s=this.showSuggestions||this.notFound;const t=p(this.suggestions);const o=v(this.suggestions);if(s&&this.input){this.input.setAttribute("aria-controls",this.listboxId)}else if(this.input){this.input.removeAttribute("aria-controls")}return i(e,null,i("slot",{key:"557d829f9238c3fa9f6082beba78381472115ccd"}),this.loading&&this.showLoading?i("div",{class:"autosuggest-progress-box"},i("dso-progress-indicator",{label:this.loadingLabel})):s&&i("dso-scrollable",{class:"listbox-container",ref:s=>this.listboxContainer=s,style:{"--max-block-size":`${this.listboxContainerMaxBlockSize}px`}},i("div",{class:"listbox",role:"listbox","aria-live":"polite",id:this.listboxId,"aria-labelledby":this.labelId,ref:s=>this.listbox=s,tabindex:"0"},o&&this.showSuggestions&&this.suggestions&&this.suggestions.map((s=>i(f,{id:this.listboxItemId(s),mouseEnter:()=>this.selectSuggestion(s),mouseLeave:()=>this.resetSelectedSuggestion(),click:()=>this.pickSelectedValue(),selected:(s===this.selectedSuggestion).toString(),suggestion:s,ref:s=>s&&this.listboxItems.push(s),markedSuggestion:this.getMarkedSuggestions(s)})))||t&&this.showSuggestions&&this.suggestions&&this.suggestions.map((s=>{const t=r();return i("div",{role:"group",class:"group","aria-labelledby":t},i("div",{class:"group-label",role:"presentation",id:t},s.groupLabel),s.suggestions.map((t=>i(f,{id:this.listboxGroupedItemId(s,t),mouseEnter:()=>this.selectSuggestion(t,s),mouseLeave:()=>this.resetSelectedSuggestion(),click:()=>this.pickSelectedValue(),selected:(t===this.selectedSuggestion).toString(),suggestion:t,ref:s=>s&&this.listboxItems.push(s),markedSuggestion:this.getMarkedSuggestions(t)}))))}))||this.notFound&&i("div",{class:"option"},i("span",{class:"value"},this.notFoundLabel||this.showInputValueNotFound(this.text("notFound",{inputValue:this.inputValue})))))))}get host(){return o(this)}static get watchers(){return{suggestions:["suggestionsWatcher"]}}};b.style=l;export{b as dso_autosuggest};
2
+ //# sourceMappingURL=p-63047745.entry.js.map
@@ -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","listItemBlockSize","listboxContainerMaxBlockSize","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","setTimeout","querySelector","labels","label","setAttribute","addEventListener","window","document","observe","disconnectedCallback","_a","removeEventListener","_b","_c","disconnect","listboxContainer","getBoundingClientRect","height","availableBlockSize","innerHeight","bottom","listboxMaxBlockSize","showInputValueNotFound","processAutosuggestMarkItems","markTerms","split","filter","t","handleMark","extraIndex","mark","terms","suggestionValue","termRegex","RegExp","reduce","total","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","Math","floor","chunk","c","i","getMarkedSuggestions","render","showListbox","grouped","flat","removeAttribute","Fragment","element","style","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(--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 }\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 @State()\r\n listItemBlockSize = 0;\r\n\r\n @State()\r\n listboxContainerMaxBlockSize = 0;\r\n\r\n @Watch(\"suggestions\")\r\n suggestionsWatcher() {\r\n this.resetSelectedSuggestion();\r\n\r\n if ((!this.showSuggestions || !this.notFound) && this.inputValue) {\r\n this.openSuggestions();\r\n } else if ((this.showSuggestions || this.notFound) && !this.inputValue) {\r\n this.closeSuggestions();\r\n }\r\n }\r\n\r\n private input?: HTMLInputElement;\r\n\r\n private listboxContainer: HTMLDsoScrollableElement | undefined;\r\n\r\n private listbox: HTMLDivElement | undefined;\r\n\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 setTimeout(() => {\r\n const input = this.host.querySelector('input[type=\"text\"]');\r\n if (!(input instanceof HTMLInputElement)) {\r\n return;\r\n // throw new ReferenceError(\"Mandatory text input not found\"); #2293\r\n }\r\n\r\n this.input = input;\r\n if (input.id) {\r\n this.inputId = input.id;\r\n } else {\r\n input.id = this.inputId;\r\n }\r\n\r\n if (!this.input.labels || this.input.labels.length < 1) {\r\n return;\r\n // throw new ReferenceError(\"Mandatory label for text input not found\"); #2293\r\n }\r\n\r\n const label = this.input.labels[0];\r\n if (label?.id) {\r\n this.labelId = label.id;\r\n } else if (label) {\r\n label.id = this.labelId;\r\n }\r\n\r\n this.input.setAttribute(\"role\", \"combobox\");\r\n this.input.setAttribute(\"aria-haspopup\", \"listbox\");\r\n this.input.setAttribute(\"aria-expanded\", \"false\");\r\n this.input.setAttribute(\"autocomplete\", \"off\");\r\n this.input.setAttribute(\"aria-autocomplete\", \"list\");\r\n this.input.setAttribute(\"aria-activedescendant\", \"\");\r\n this.input.addEventListener(\"input\", this.onInput);\r\n this.input.addEventListener(\"keydown\", this.onKeyDown);\r\n this.input.addEventListener(\"focusin\", this.onFocusIn);\r\n\r\n window.addEventListener(\"resize\", this.onWindowResize);\r\n\r\n document.addEventListener(\"scrollend\", this.onScrollend);\r\n\r\n this.resizeObserver.observe(this.host);\r\n\r\n this.setListboxContainerMaxBlockSize();\r\n });\r\n }\r\n\r\n disconnectedCallback() {\r\n this.input?.removeEventListener(\"input\", this.onInput);\r\n this.input?.removeEventListener(\"keydown\", this.onKeyDown);\r\n this.input?.removeEventListener(\"focusin\", this.onFocusIn);\r\n\r\n window.removeEventListener(\"resize\", this.onWindowResize);\r\n\r\n document.removeEventListener(\"scrollend\", this.onScrollend);\r\n\r\n this.resizeObserver.disconnect();\r\n }\r\n\r\n private onWindowResize = debounce(() => this.setListboxContainerMaxBlockSize(), 150);\r\n\r\n private onScrollend = () => this.setListboxContainerMaxBlockSize();\r\n\r\n private setListboxContainerMaxBlockSize(): void {\r\n if (!this.listboxContainer || !this.showSuggestions) {\r\n return;\r\n }\r\n\r\n if (this.listboxItems[0] && this.showSuggestions) {\r\n this.listItemBlockSize = this.listboxItems[0].getBoundingClientRect().height;\r\n }\r\n\r\n const availableBlockSize = window.innerHeight - this.host.getBoundingClientRect().bottom;\r\n const listboxMaxBlockSize =\r\n this.listItemBlockSize * maxSuggestionsViewable + 2 * listboxPaddingBlock + 2 * listboxBorderWidth;\r\n\r\n if (availableBlockSize > this.listItemBlockSize) {\r\n if (availableBlockSize < listboxMaxBlockSize) {\r\n this.listboxContainerMaxBlockSize = availableBlockSize - 2 * listboxPaddingBlock;\r\n } else {\r\n this.listboxContainerMaxBlockSize = listboxMaxBlockSize;\r\n }\r\n }\r\n }\r\n\r\n private showInputValueNotFound(text?: string) {\r\n return this.processAutosuggestMarkItems(this.markTerms(this.input?.value.split(\" \").filter((t) => t) ?? [], text));\r\n }\r\n\r\n private handleMark(\r\n suggestion: Suggestion,\r\n text: string,\r\n type?: \"value\" | \"type\" | \"extra\",\r\n extraIndex?: number,\r\n ): (VNode | string)[] {\r\n if (this.mark && type) {\r\n return this.processAutosuggestMarkItems(this.mark(suggestion, text, type, extraIndex));\r\n }\r\n return this.processAutosuggestMarkItems(this.markTerms(this.input?.value.split(\" \").filter((t) => t) ?? [], text));\r\n }\r\n\r\n private markTerms(terms: string[], suggestionValue?: string): AutosuggestMarkItem[] {\r\n if (!suggestionValue || !terms || terms.length === 0 || terms[0] === undefined) {\r\n return [\"\"];\r\n }\r\n\r\n const termRegex = new RegExp(`(${escapeStringRegexp(terms[0])})`, \"gi\");\r\n\r\n return suggestionValue.split(termRegex).reduce((total: AutosuggestMarkItem[], valuePart: string) => {\r\n if (!valuePart) {\r\n total.push(valuePart);\r\n } else if (termRegex.test(valuePart)) {\r\n total.push({ mark: valuePart });\r\n } else if (terms.length === 1) {\r\n total.push(valuePart);\r\n } else {\r\n total.push(...this.markTerms(terms.slice(1), valuePart));\r\n }\r\n\r\n return total;\r\n }, []);\r\n }\r\n\r\n private processAutosuggestMarkItems(items: AutosuggestMarkItem[]): (VNode | string)[] {\r\n if (items.length === 0) {\r\n return [\"\"];\r\n }\r\n\r\n return items.map((item) => {\r\n if (typeof item === \"object\") {\r\n return <mark>{item.mark}</mark>;\r\n }\r\n return item;\r\n });\r\n }\r\n\r\n private selectSuggestion(suggestion: Suggestion, 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 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 <dso-scrollable\r\n class=\"listbox-container\"\r\n ref={(element) => (this.listboxContainer = element)}\r\n style={{ \"--max-block-size\": `${this.listboxContainerMaxBlockSize}px` }}\r\n >\r\n <div\r\n class=\"listbox\"\r\n role=\"listbox\"\r\n aria-live=\"polite\"\r\n id={this.listboxId}\r\n aria-labelledby={this.labelId}\r\n ref={(element) => (this.listbox = element)}\r\n tabindex=\"0\"\r\n >\r\n {(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 class=\"group-label\" role=\"presentation\" id={groupLabelId}>\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 )\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,f as t,h as s,H as a,g as r}from"./p-BzEnSYbR.js";const i="*,*::after,*::before{box-sizing:border-box}:host{display:block}.tabs{border-block-end:1px solid #39870c;display:flex;gap:2px;flex-wrap:wrap;margin-block-end:24px;padding-inline-start:0}@media screen and (max-width: 767px){.tabs{border:0;display:block}}";const o=class{constructor(t){e(this,t);this.keyUpHandler=e=>{if(!(e.target instanceof HTMLElement)){return}switch(e.key){case"ArrowRight":case"ArrowDown":this.moveFocusToNextTab(e.target);break;case"ArrowLeft":case"ArrowUp":this.moveFocusToPreviousTab(e.target);break;default:return}}}get enabledTabs(){return Array.from(this.host.querySelectorAll(":scope > dso-tab")).reduce(((e,t)=>{if(!t.disabled){e.push(t)}return e}),[])}get firstTab(){return this.enabledTabs[0]}get lastTab(){return this.enabledTabs[this.enabledTabs.length-1]}moveFocusToTab(e){e===null||e===void 0?void 0:e._dsoFocus()}moveFocusToPreviousTab(e){var t;const s=this.enabledTabs.findIndex((t=>t===e));const a=(t=this.enabledTabs[s-1])!==null&&t!==void 0?t:this.lastTab;this.moveFocusToTab(a)}moveFocusToNextTab(e){var t;const s=this.enabledTabs.findIndex((t=>t===e));const a=(t=this.enabledTabs[s+1])!==null&&t!==void 0?t:this.firstTab;this.moveFocusToTab(a)}connectedCallback(){var e;(e=this.mutationObserver)!==null&&e!==void 0?e:this.mutationObserver=new MutationObserver((()=>t(this.host)));this.mutationObserver.observe(this.host,{childList:true})}disconnectedCallback(){var e;(e=this.mutationObserver)===null||e===void 0?void 0:e.disconnect()}render(){return s(a,{key:"0908aaf68c69e5becbb8e51be5b29280e6e37d9d"},s("div",{key:"4f1242d80bdc8680d3e345e3ebb47bc1fbf4bed5",class:"tabs",role:"tablist",onKeyUp:this.keyUpHandler},s("slot",{key:"71b5f5df423c8c43e833f4442eb112c97d81eed3"})),s("div",{key:"3e3274a4f7a956f1b73dad5e90a50e9e23c3876d",role:"tabpanel",tabindex:"0"},s("slot",{key:"25aa9b64552fdf89712841c64f13e47f03c1ed35",name:"panel"})))}get host(){return r(this)}};o.style=i;export{o as dso_tabs};
2
+ //# sourceMappingURL=p-6973b064.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["tabsCss","Tabs","constructor","hostRef","this","keyUpHandler","e","target","HTMLElement","key","moveFocusToNextTab","moveFocusToPreviousTab","enabledTabs","Array","from","host","querySelectorAll","reduce","tabs","tab","disabled","push","firstTab","lastTab","length","moveFocusToTab","_dsoFocus","focussedTab","index","findIndex","next","_a","connectedCallback","mutationObserver","MutationObserver","forceUpdate","observe","childList","disconnectedCallback","disconnect","render","h","Host","class","role","onKeyUp","tabindex","name"],"sources":["src/components/tabs/tabs.scss?tag=dso-tabs&encapsulation=shadow","src/components/tabs/tabs.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/scaffolding\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/components/anchor\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.tabs {\r\n border-block-end: 1px solid colors.$grasgroen;\r\n display: flex;\r\n gap: 2px;\r\n flex-wrap: wrap;\r\n margin-block-end: units.$block-spacing-large;\r\n padding-inline-start: 0;\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n border: 0;\r\n display: block;\r\n }\r\n}\r\n","import { Element, Component, h, Host, forceUpdate } from \"@stencil/core\";\r\n\r\n/**\r\n * @slot - The dso-tab elements. These should be direct children of the dso-tabs element.\r\n * @slot panel - The panel with the content for the active tab\r\n */\r\n@Component({\r\n tag: \"dso-tabs\",\r\n styleUrl: \"tabs.scss\",\r\n shadow: true,\r\n})\r\nexport class Tabs {\r\n private mutationObserver?: MutationObserver;\r\n\r\n @Element()\r\n host!: HTMLDsoTabsElement;\r\n\r\n private get enabledTabs() {\r\n // Only enabled tabs (not disabled) are needed for setting focus via ArrowRight and ArrowLeft\r\n return Array.from(this.host.querySelectorAll<HTMLDsoTabElement>(\":scope > dso-tab\")).reduce<HTMLDsoTabElement[]>(\r\n (tabs, tab) => {\r\n if (!tab.disabled) {\r\n tabs.push(tab);\r\n }\r\n\r\n return tabs;\r\n },\r\n [],\r\n );\r\n }\r\n\r\n private get firstTab() {\r\n return this.enabledTabs[0];\r\n }\r\n\r\n private get lastTab() {\r\n return this.enabledTabs[this.enabledTabs.length - 1];\r\n }\r\n\r\n private moveFocusToTab(tab: HTMLDsoTabElement | undefined) {\r\n tab?._dsoFocus();\r\n }\r\n\r\n private moveFocusToPreviousTab(focussedTab: HTMLElement) {\r\n const index = this.enabledTabs.findIndex((tab) => tab === focussedTab);\r\n const next = this.enabledTabs[index - 1] ?? this.lastTab;\r\n\r\n this.moveFocusToTab(next);\r\n }\r\n\r\n private moveFocusToNextTab(focussedTab: HTMLElement) {\r\n const index = this.enabledTabs.findIndex((tab) => tab === focussedTab);\r\n const next = this.enabledTabs[index + 1] ?? this.firstTab;\r\n\r\n this.moveFocusToTab(next);\r\n }\r\n\r\n // Keep track of tabs to set focus on next or previous enabled (not disabled) tab.\r\n private keyUpHandler = (e: KeyboardEvent) => {\r\n if (!(e.target instanceof HTMLElement)) {\r\n return;\r\n }\r\n\r\n switch (e.key) {\r\n case \"ArrowRight\":\r\n case \"ArrowDown\":\r\n this.moveFocusToNextTab(e.target);\r\n break;\r\n case \"ArrowLeft\":\r\n case \"ArrowUp\":\r\n this.moveFocusToPreviousTab(e.target);\r\n break;\r\n default:\r\n return;\r\n }\r\n };\r\n\r\n connectedCallback(): void {\r\n this.mutationObserver ??= new MutationObserver(() => forceUpdate(this.host));\r\n\r\n this.mutationObserver.observe(this.host, { childList: true });\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.mutationObserver?.disconnect();\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div class=\"tabs\" role=\"tablist\" onKeyUp={this.keyUpHandler}>\r\n <slot />\r\n </div>\r\n <div role=\"tabpanel\" tabindex=\"0\">\r\n <slot name=\"panel\" />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"gEAAA,MAAMA,EAAU,+P,MCWHC,EAAI,MALjB,WAAAC,CAAAC,G,UAoDUC,KAAAC,aAAgBC,IACtB,KAAMA,EAAEC,kBAAkBC,aAAc,CACtC,M,CAGF,OAAQF,EAAEG,KACR,IAAK,aACL,IAAK,YACHL,KAAKM,mBAAmBJ,EAAEC,QAC1B,MACF,IAAK,YACL,IAAK,UACHH,KAAKO,uBAAuBL,EAAEC,QAC9B,MACF,QACE,O,CA0BP,CAlFC,eAAYK,GAEV,OAAOC,MAAMC,KAAKV,KAAKW,KAAKC,iBAAoC,qBAAqBC,QACnF,CAACC,EAAMC,KACL,IAAKA,EAAIC,SAAU,CACjBF,EAAKG,KAAKF,E,CAGZ,OAAOD,CAAI,GAEb,G,CAIJ,YAAYI,GACV,OAAOlB,KAAKQ,YAAY,E,CAG1B,WAAYW,GACV,OAAOnB,KAAKQ,YAAYR,KAAKQ,YAAYY,OAAS,E,CAG5C,cAAAC,CAAeN,GACrBA,IAAG,MAAHA,SAAG,SAAHA,EAAKO,W,CAGC,sBAAAf,CAAuBgB,G,MAC7B,MAAMC,EAAQxB,KAAKQ,YAAYiB,WAAWV,GAAQA,IAAQQ,IAC1D,MAAMG,GAAOC,EAAA3B,KAAKQ,YAAYgB,EAAQ,MAAE,MAAAG,SAAA,EAAAA,EAAI3B,KAAKmB,QAEjDnB,KAAKqB,eAAeK,E,CAGd,kBAAApB,CAAmBiB,G,MACzB,MAAMC,EAAQxB,KAAKQ,YAAYiB,WAAWV,GAAQA,IAAQQ,IAC1D,MAAMG,GAAOC,EAAA3B,KAAKQ,YAAYgB,EAAQ,MAAE,MAAAG,SAAA,EAAAA,EAAI3B,KAAKkB,SAEjDlB,KAAKqB,eAAeK,E,CAuBtB,iBAAAE,G,OACED,EAAA3B,KAAK6B,oBAAgB,MAAAF,SAAA,EAAAA,EAArB3B,KAAK6B,iBAAqB,IAAIC,kBAAiB,IAAMC,EAAY/B,KAAKW,QAEtEX,KAAK6B,iBAAiBG,QAAQhC,KAAKW,KAAM,CAAEsB,UAAW,M,CAGxD,oBAAAC,G,OACEP,EAAA3B,KAAK6B,oBAAkB,MAAAF,SAAA,SAAAA,EAAAQ,Y,CAGzB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAjC,IAAA,4CACHgC,EAAA,OAAAhC,IAAA,2CAAKkC,MAAM,OAAOC,KAAK,UAAUC,QAASzC,KAAKC,cAC7CoC,EAAA,QAAAhC,IAAA,8CAEFgC,EAAA,OAAAhC,IAAA,2CAAKmC,KAAK,WAAWE,SAAS,KAC5BL,EAAA,QAAAhC,IAAA,2CAAMsC,KAAK,W","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as o,c as i,h as e,H as s}from"./p-BzEnSYbR.js";import{c as t}from"./p-ChV9xqsO.js";const n=":host{display:inline-block}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}button{background-color:transparent;color:#39870c;border:0;margin-inline-start:var(--_dt-info-button-margin-inline-start, 8px);padding:0;cursor:pointer;vertical-align:top}button.dso-info-secondary{color:#666}dso-icon{display:block}";const a=class{constructor(e){o(this,e);this.dsoToggle=i(this,"dsoToggle",7);this.hover=false;this.label="Toelichting bij optie"}async setFocus(){var o;(o=this.button)===null||o===void 0?void 0:o.focus()}handleToggle(o){this.active=!this.active;this.dsoToggle.emit({originalEvent:o,active:this.active})}render(){return e(s,{key:"3fe772b2e9a36bc328ce92d53f7bdf4fe782f4a7",onMouseenter:()=>this.hover=true,onMouseleave:()=>this.hover=false},e("button",{key:"4e46d72a9300c690da0e0f44d5e874befd358c92",type:"button",class:t({"dso-open":!!this.active,"dso-info-secondary":!!this.secondary}),"aria-expanded":typeof this.active==="boolean"?this.active.toString():undefined,onClick:o=>this.handleToggle(o),ref:o=>this.button=o},e("dso-icon",{key:"2e9c74db3fa22b57c7c29052c25c0607897f1006",icon:this.active||this.hover?"info-active":"info"}),e("span",{key:"ddac02ec84b4fef5a463c8b162de1b118a633eba",class:"sr-only"},this.label)))}};a.style=n;export{a as dso_info_button};
2
+ //# sourceMappingURL=p-70b9abf1.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["infoButtonCss","InfoButton","constructor","hostRef","this","hover","label","setFocus","_a","button","focus","handleToggle","e","active","dsoToggle","emit","originalEvent","render","h","Host","key","onMouseenter","onMouseleave","type","class","clsx","secondary","toString","undefined","onClick","ref","element","icon"],"sources":["src/components/info-button/info-button.scss?tag=dso-info-button&encapsulation=shadow","src/components/info-button/info-button.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/info-button\";\r\n\r\n:host {\r\n display: inline-block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\nbutton {\r\n @include info-button.root();\r\n\r\n cursor: pointer;\r\n vertical-align: top;\r\n}\r\n\r\ndso-icon {\r\n display: block;\r\n}\r\n","import { h, Component, Event, Prop, EventEmitter, Method, Host, State } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { InfoButtonToggleEvent } from \"./info-button.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-info-button\",\r\n shadow: true,\r\n styleUrl: \"info-button.scss\",\r\n})\r\nexport class InfoButton {\r\n private button?: HTMLButtonElement;\r\n\r\n /**\r\n * Whether the InfoButton is active.\r\n */\r\n @Prop({ mutable: true, reflect: true })\r\n active?: boolean;\r\n\r\n @State()\r\n hover = false;\r\n\r\n /**\r\n * For secondary Info Button.\r\n */\r\n @Prop()\r\n secondary?: boolean;\r\n\r\n /**\r\n * The label.\r\n */\r\n @Prop()\r\n label = \"Toelichting bij optie\";\r\n\r\n /**\r\n * Emitted when the user activates the Info Button.\r\n */\r\n @Event()\r\n dsoToggle!: EventEmitter<InfoButtonToggleEvent>;\r\n\r\n /**\r\n * To set focus to the toggle button.\r\n */\r\n @Method()\r\n async setFocus() {\r\n this.button?.focus();\r\n }\r\n\r\n private handleToggle(e: MouseEvent) {\r\n this.active = !this.active;\r\n this.dsoToggle.emit({ originalEvent: e, active: this.active });\r\n }\r\n\r\n render() {\r\n return (\r\n <Host onMouseenter={() => (this.hover = true)} onMouseleave={() => (this.hover = false)}>\r\n <button\r\n type=\"button\"\r\n class={clsx({ \"dso-open\": !!this.active, \"dso-info-secondary\": !!this.secondary })}\r\n aria-expanded={typeof this.active === \"boolean\" ? this.active.toString() : undefined}\r\n onClick={(e) => this.handleToggle(e)}\r\n ref={(element) => (this.button = element)}\r\n >\r\n <dso-icon icon={this.active || this.hover ? \"info-active\" : \"info\"}></dso-icon>\r\n <span class=\"sr-only\">{this.label}</span>\r\n </button>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"6FAAA,MAAMA,EAAgB,+a,MCUTC,EAAU,MALvB,WAAAC,CAAAC,G,+CAeEC,KAAKC,MAAG,MAYRD,KAAKE,MAAG,uBAqCT,CAzBC,cAAMC,G,OACJC,EAAAJ,KAAKK,UAAQ,MAAAD,SAAA,SAAAA,EAAAE,O,CAGP,YAAAC,CAAaC,GACnBR,KAAKS,QAAUT,KAAKS,OACpBT,KAAKU,UAAUC,KAAK,CAAEC,cAAeJ,EAAGC,OAAQT,KAAKS,Q,CAGvD,MAAAI,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,aAAc,IAAOjB,KAAKC,MAAQ,KAAOiB,aAAc,IAAOlB,KAAKC,MAAQ,OAC/Ea,EAAA,UAAAE,IAAA,2CACEG,KAAK,SACLC,MAAOC,EAAK,CAAE,aAAcrB,KAAKS,OAAQ,uBAAwBT,KAAKsB,YAAY,uBAC5DtB,KAAKS,SAAW,UAAYT,KAAKS,OAAOc,WAAaC,UAC3EC,QAAUjB,GAAMR,KAAKO,aAAaC,GAClCkB,IAAMC,GAAa3B,KAAKK,OAASsB,GAEjCb,EAAA,YAAAE,IAAA,2CAAUY,KAAM5B,KAAKS,QAAUT,KAAKC,MAAQ,cAAgB,SAC5Da,EAAM,QAAAE,IAAA,2CAAAI,MAAM,WAAWpB,KAAKE,Q","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as s,h as i,g as a}from"./p-BzEnSYbR.js";import{i as o}from"./p-D6dst_Em.js";import{v as d}from"./p-BF0_OXTe.js";const n={en:{"dso-map-base-layers":{background:"Background"}},nl:{"dso-map-base-layers":{background:"Achtergrond"}}};const r=":host{display:block}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}fieldset{border:0;margin:0;min-inline-size:0;padding:0}fieldset .control-label{display:inline-block;font-weight:bold;margin-block-end:8px;max-inline-size:100%;text-align:start}p[slot=info]{margin:0}";const t=class{constructor(i){e(this,i);this.dsoBaseLayerChange=s(this,"dsoBaseLayerChange",7);this.selectableRefs={};this.group=d();this.text=o((()=>this.host),n)}baseLayerChangeHandler(e){this.dsoBaseLayerChange.emit({activeBaseLayer:e})}componentDidRender(){this.baseLayers.filter((e=>{var s,i;return!e.disabled&&((i=(s=this.previousBaselayers)===null||s===void 0?void 0:s.find((s=>s.id===e.id)))===null||i===void 0?void 0:i.disabled)===true})).forEach((e=>{var s;(s=this.selectableRefs[e.id])===null||s===void 0?void 0:s.toggleInfo(false)}));this.previousBaselayers=this.baseLayers}render(){for(const e in this.selectableRefs){delete this.selectableRefs[e]}return i("fieldset",{key:"7e13ee00a63cdad0665bc3730387ccac941c8d66",class:"form-group dso-radios"},i("legend",{key:"3ef5163845f93065b87711fd01d78725f227d3ce",class:"sr-only"},"Achtergrond"),i("div",{key:"f0dafaffdc8c13125cd4afb3c98b6384e1312433",class:"dso-label-container"},i("span",{key:"bcf82a98342df39d98832db27823db6e6b2713a2",class:"control-label","aria-hidden":"true"},this.text("background"))),i("div",{key:"2feee1a616600ef226745c101d9a288b25753ac3",class:"dso-field-container"},this.baseLayers.map((e=>i("dso-selectable",{key:e.id,type:"radio",value:e.name,checked:e.checked,disabled:e.disabled,name:this.group,ref:s=>s&&(this.selectableRefs[e.id]=s),onDsoChange:()=>this.baseLayerChangeHandler(e)},e.name,e.info?i("p",{slot:"info"},e.info):null)))))}get host(){return a(this)}};t.style=r;export{t as dso_map_base_layers};
2
+ //# sourceMappingURL=p-7531a336.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["translations","en","background","nl","mapBaseLayersCss","MapBaseLayers","constructor","hostRef","this","selectableRefs","group","uuidv4","text","i18n","host","baseLayerChangeHandler","baseLayer","dsoBaseLayerChange","emit","activeBaseLayer","componentDidRender","baseLayers","filter","l","_a","_b","disabled","previousBaselayers","find","p","id","forEach","o","toggleInfo","render","ref","h","key","class","map","type","value","name","checked","onDsoChange","info","slot"],"sources":["src/components/map-base-layers/map-base-layers.i18n.ts","src/components/map-base-layers/map-base-layers.scss?tag=dso-map-base-layers&encapsulation=shadow","src/components/map-base-layers/map-base-layers.tsx"],"sourcesContent":["import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-map-base-layers\": {\r\n background: \"Background\",\r\n },\r\n },\r\n nl: {\r\n \"dso-map-base-layers\": {\r\n background: \"Achtergrond\",\r\n },\r\n },\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n// Todo #1194\r\nfieldset {\r\n border: 0;\r\n margin: 0;\r\n min-inline-size: 0;\r\n padding: 0;\r\n\r\n .control-label {\r\n display: inline-block;\r\n font-weight: bold;\r\n margin-block-end: units.$u1;\r\n max-inline-size: 100%;\r\n text-align: start;\r\n }\r\n}\r\n\r\np[slot=\"info\"] {\r\n margin: 0;\r\n}\r\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Prop } from \"@stencil/core\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\n\r\nimport { BaseLayer, BaseLayerChangeEvent } from \"./map-base-layers.interfaces\";\r\nimport { translations } from \"./map-base-layers.i18n\";\r\n\r\n@Component({\r\n tag: \"dso-map-base-layers\",\r\n styleUrl: \"./map-base-layers.scss\",\r\n shadow: true,\r\n})\r\nexport class MapBaseLayers implements ComponentInterface {\r\n private previousBaselayers: BaseLayer[] | undefined;\r\n private selectableRefs: { [id: number]: HTMLDsoSelectableElement } = {};\r\n\r\n @Element()\r\n host!: HTMLDsoMapBaseLayersElement;\r\n\r\n /**\r\n * Emitted when the user checks or unchecks a base layer.\r\n */\r\n @Event()\r\n dsoBaseLayerChange!: EventEmitter<BaseLayerChangeEvent>;\r\n\r\n /**\r\n * To group the overlays together. Generally the default value suffices.\r\n */\r\n @Prop()\r\n group = uuidv4();\r\n\r\n /**\r\n * The base layers.\r\n */\r\n @Prop()\r\n baseLayers!: BaseLayer[];\r\n\r\n private baseLayerChangeHandler(baseLayer: BaseLayer): void {\r\n this.dsoBaseLayerChange.emit({ activeBaseLayer: baseLayer });\r\n }\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n componentDidRender() {\r\n this.baseLayers\r\n .filter((l) => !l.disabled && this.previousBaselayers?.find((p) => p.id === l.id)?.disabled === true)\r\n .forEach((o) => {\r\n this.selectableRefs[o.id]?.toggleInfo(false);\r\n });\r\n\r\n this.previousBaselayers = this.baseLayers;\r\n }\r\n\r\n render() {\r\n for (const ref in this.selectableRefs) {\r\n delete this.selectableRefs[ref];\r\n }\r\n\r\n return (\r\n <fieldset class=\"form-group dso-radios\">\r\n <legend class=\"sr-only\">Achtergrond</legend>\r\n <div class=\"dso-label-container\">\r\n <span class=\"control-label\" aria-hidden=\"true\">\r\n {this.text(\"background\")}\r\n </span>\r\n </div>\r\n <div class=\"dso-field-container\">\r\n {this.baseLayers.map((baseLayer) => (\r\n <dso-selectable\r\n key={baseLayer.id}\r\n type=\"radio\"\r\n value={baseLayer.name}\r\n checked={baseLayer.checked}\r\n disabled={baseLayer.disabled}\r\n name={this.group}\r\n ref={(ref) => ref && (this.selectableRefs[baseLayer.id] = ref)}\r\n onDsoChange={() => this.baseLayerChangeHandler(baseLayer)}\r\n >\r\n {baseLayer.name}\r\n {baseLayer.info ? <p slot=\"info\">{baseLayer.info}</p> : null}\r\n </dso-selectable>\r\n ))}\r\n </div>\r\n </fieldset>\r\n );\r\n }\r\n}\r\n"],"mappings":"iIAEO,MAAMA,EAAyB,CACpCC,GAAI,CACF,sBAAuB,CACrBC,WAAY,eAGhBC,GAAI,CACF,sBAAuB,CACrBD,WAAY,iBCVlB,MAAME,EAAmB,uY,MCaZC,EAAa,MAL1B,WAAAC,CAAAC,G,iEAOUC,KAAcC,eAA+C,GAerED,KAAKE,MAAGC,IAYAH,KAAAI,KAAOC,GAAK,IAAML,KAAKM,MAAMd,EA6CtC,CAjDS,sBAAAe,CAAuBC,GAC7BR,KAAKS,mBAAmBC,KAAK,CAAEC,gBAAiBH,G,CAKlD,kBAAAI,GACEZ,KAAKa,WACFC,QAAQC,IAAK,IAAAC,EAAAC,EAAC,OAACF,EAAEG,YAAYD,GAAAD,EAAAhB,KAAKmB,sBAAoB,MAAAH,SAAA,SAAAA,EAAAI,MAAMC,GAAMA,EAAEC,KAAOP,EAAEO,QAAK,MAAAL,SAAA,SAAAA,EAAAC,YAAa,IAAI,IACnGK,SAASC,I,OACRR,EAAAhB,KAAKC,eAAeuB,EAAEF,OAAK,MAAAN,SAAA,SAAAA,EAAAS,WAAW,MAAM,IAGhDzB,KAAKmB,mBAAqBnB,KAAKa,U,CAGjC,MAAAa,GACE,IAAK,MAAMC,KAAO3B,KAAKC,eAAgB,QAC9BD,KAAKC,eAAe0B,E,CAG7B,OACEC,EAAA,YAAAC,IAAA,2CAAUC,MAAM,yBACdF,EAAQ,UAAAC,IAAA,2CAAAC,MAAM,WAA8B,eAC5CF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,uBACTF,EAAA,QAAAC,IAAA,2CAAMC,MAAM,gBAAe,cAAa,QACrC9B,KAAKI,KAAK,gBAGfwB,EAAA,OAAAC,IAAA,2CAAKC,MAAM,uBACR9B,KAAKa,WAAWkB,KAAKvB,GACpBoB,EAAA,kBACEC,IAAKrB,EAAUc,GACfU,KAAK,QACLC,MAAOzB,EAAU0B,KACjBC,QAAS3B,EAAU2B,QACnBjB,SAAUV,EAAUU,SACpBgB,KAAMlC,KAAKE,MACXyB,IAAMA,GAAQA,IAAQ3B,KAAKC,eAAeO,EAAUc,IAAMK,GAC1DS,YAAa,IAAMpC,KAAKO,uBAAuBC,IAE9CA,EAAU0B,KACV1B,EAAU6B,KAAOT,EAAA,KAAGU,KAAK,QAAQ9B,EAAU6B,MAAY,S","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{h as e,r as t,c as s,H as i,g as a}from"./p-BzEnSYbR.js";import{c as d}from"./p-DSyv-znO.js";var o;(function(e){e[e["Sunday"]=0]="Sunday";e[e["Monday"]=1]="Monday";e[e["Tuesday"]=2]="Tuesday";e[e["Wednesday"]=3]="Wednesday";e[e["Thursday"]=4]="Thursday";e[e["Friday"]=5]="Friday";e[e["Saturday"]=6]="Saturday"})(o||(o={}));function n(e,t,s){const i=parseInt(s,10);const a=parseInt(t,10);const d=parseInt(e,10);const o=Number.isInteger(d)&&Number.isInteger(a)&&Number.isInteger(i)&&a>0&&a<=12&&i>0&&i<=31&&d>0;if(o){return new Date(d,a-1,i)}}function c(e){if(!e){return}const t=e.split("-");if(t.length===3&&typeof t[0]==="string"&&typeof t[1]==="string"&&typeof t[2]==="string"&&t[2].length===4){return n(t[2],t[1],t[0])}}function r(e){if(!e){return""}const t=e.getDate().toString(10).padStart(2,"0");const s=(e.getMonth()+1).toString(10).padStart(2,"0");const i=e.getFullYear().toString(10).padStart(2,"0");return`${t}-${s}-${i}`}function l(e,t){if(!e||!t){return false}return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function p(e,t){const s=new Date(e);s.setDate(s.getDate()+t);return s}function h(e,t=o.Monday){const s=new Date(e);const i=s.getDay();const a=(i<t?7:0)+i-t;s.setDate(s.getDate()-a);return s}function f(e,t=o.Monday){const s=new Date(e);const i=s.getDay();const a=(i<t?-7:0)+6-(i-t);s.setDate(s.getDate()+a);return s}function b(e){return new Date(e.getFullYear(),e.getMonth(),1)}function u(e){return new Date(e.getFullYear(),e.getMonth()+1,0)}function y(e,t){const s=new Date(e);s.setMonth(t);return s}function g(e,t){const s=new Date(e);s.setFullYear(t);return s}function k(e,t,s){return _(e,t,s)===e}function _(e,t,s){const i=e.getTime();if(t&&t instanceof Date&&i<t.getTime()){return t}if(s&&s instanceof Date&&i>s.getTime()){return s}return e}function m(e,t){const s=[];let i=e;while(!l(i,t)){s.push(i);i=p(i,1)}s.push(i);return s}function x(e,t=o.Monday){const s=h(b(e),t);const i=f(u(e),t);return m(s,i)}const v=({focusedDay:t,today:s,day:i,onDaySelect:a,onKeyboardNavigation:d,focusedDayRef:o,inRange:n})=>{const c=l(i,s);const p=l(i,t);const h=i.getMonth()!==t.getMonth();const f=!n;function b(e){a(e,i)}return e("button",{class:{"dso-date__day":true,"is-today":c},tabIndex:p?0:-1,onClick:b,onKeyDown:d,disabled:f||h,type:"button",ref:e=>{if(p&&e&&o){o(e)}}},e("span",{"aria-hidden":"true"},i.getDate()),e("span",{class:"dso-date__vhidden"},r(i)))};function w(e,t){const s=[];for(let i=0;i<e.length;i+=t){s.push(e.slice(i,i+t))}return s}function z(e,t,s){return e.map(((i,a)=>{const d=(a+t)%e.length;const o=e[d];if(!o){throw new Error("No item found")}return s(o)}))}const D=({selectedDate:t,focusedDate:s,labelledById:i,localization:a,firstDayOfWeek:d,min:o,max:n,onDateSelect:c,onKeyboardNavigation:r,focusedDayRef:p,onMouseDown:h,onFocusIn:f})=>{const b=new Date;const u=x(s,d);return e("table",{class:"dso-date__table",role:"grid","aria-labelledby":i,onFocusin:f,onMouseDown:h},e("thead",null,e("tr",null,z(a.dayNames,d,(t=>e("th",{class:"dso-date__table-header",scope:"col"},e("span",{"aria-hidden":"true"},t.substr(0,2)),e("span",{class:"dso-date__vhidden"},t)))))),e("tbody",null,w(u,7).map((i=>e("tr",{class:"dso-date__row"},i.map((i=>e("td",{class:"dso-date__cell",role:"gridcell","aria-selected":l(i,t)?"true":undefined,"aria-current":l(i,b)?"date":undefined},e(v,{day:i,today:b,focusedDay:s,inRange:k(i,o,n),onDaySelect:c,onKeyboardNavigation:r,focusedDayRef:p})))))))))};const M={buttonLabel:"Kies datum",placeholder:"dd-mm-jjjj",selectedDateMessage:"Geselecteerde datum is",prevMonthLabel:"Vorige maand",nextMonthLabel:"Volgende maand",monthSelectLabel:"Maand",yearSelectLabel:"Jaar",closeLabel:"Sluiten",keyboardInstruction:"Gebruik de pijltjestoetsen om een dag te kiezen",calendarHeading:"Kies een datum",dayNames:["Zondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrijdag","Zaterdag"],monthNames:["Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mrt","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Dec"]};function N(e,t,s,i){if(s&&i){const{minYear:a,minMonth:d}={minYear:s.getFullYear(),minMonth:s.getMonth()};const{maxYear:o,maxMonth:n}={maxYear:i.getFullYear(),maxMonth:i.getMonth()};return e.monthNames.filter(((e,s)=>{if(a===t&&o===t){return s>=d&&s>=n}if(a===t){return s>=d}if(o===t){return s<=n}return true}))}if(s){const{minYear:i,minMonth:a}={minYear:s.getFullYear(),minMonth:s.getMonth()};return e.monthNames.filter(((e,s)=>i===t&&s>=a))}if(i){const{maxYear:s,maxMonth:a}={maxYear:i.getFullYear(),maxMonth:i.getMonth()};return e.monthNames.filter(((e,i)=>s===t&&i<=a))}return e.monthNames}function S(e,t){const s=[];for(let i=e;i<=t;i++){s.push(i)}return s}const T='.sc-dso-date-picker-legacy-h{display:block}[invalid].sc-dso-date-picker-legacy-h:not([invalid=false]) .dso-date__input.sc-dso-date-picker-legacy{border-color:#ce3f51}.dso-date.sc-dso-date-picker-legacy *.sc-dso-date-picker-legacy,.dso-date.sc-dso-date-picker-legacy *.sc-dso-date-picker-legacy::before,.dso-date.sc-dso-date-picker-legacy *.sc-dso-date-picker-legacy::after{box-sizing:border-box}.dso-date.sc-dso-date-picker-legacy{box-sizing:border-box;color:#191919;display:block;font-family:"Asap", sans-serif;margin:0;position:relative;text-align:start;inline-size:100%}.dso-date.sc-dso-date-picker-legacy:not(.dso-visible) .dso-date__dialog.sc-dso-date-picker-legacy{display:none}.dso-date__input.sc-dso-date-picker-legacy{display:block;inline-size:100%;block-size:40px;padding-block:6px;padding-inline:14px;font-size:1rem;line-height:1.5;color:#191919;background-color:#fff;background-image:none;border:1px solid #275937;border-radius:4px;transition:border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s}.dso-date__input.sc-dso-date-picker-legacy::-moz-placeholder{color:#666;opacity:1}.dso-date__input.sc-dso-date-picker-legacy:-ms-input-placeholder{color:#666}.dso-date__input.sc-dso-date-picker-legacy::-webkit-input-placeholder{color:#666}.dso-date__input.sc-dso-date-picker-legacy::-ms-expand{background-color:transparent;border:0}.dso-date__input.sc-dso-date-picker-legacy:focus{border-color:#275937;outline:0;box-shadow:inset 0 0 0 1px #275937}.dso-date__input[disabled].sc-dso-date-picker-legacy,.dso-date__input[readonly].sc-dso-date-picker-legacy,fieldset[disabled].sc-dso-date-picker-legacy .dso-date__input.sc-dso-date-picker-legacy{background-color:#fff;opacity:1}.dso-date__input[disabled].sc-dso-date-picker-legacy,fieldset[disabled].sc-dso-date-picker-legacy .dso-date__input.sc-dso-date-picker-legacy{cursor:default}.dso-date__input[disabled].sc-dso-date-picker-legacy{border-color:#e5e5e5;color:#999}.dso-date__input[readonly].sc-dso-date-picker-legacy{border-width:1px}.dso-date__input[type=text].sc-dso-date-picker-legacy{line-height:40px}.dso-date__input[size].sc-dso-date-picker-legacy{inline-size:auto}.dso-date__toggle.sc-dso-date-picker-legacy{-moz-appearance:none;-webkit-appearance:none;-webkit-user-select:none;align-items:center;appearance:none;background:transparent;border:0;border-radius:0;border-end-end-radius:4px;border-start-end-radius:4px;color:#39870c;cursor:pointer;display:flex;block-size:38px;justify-content:center;padding:0;position:absolute;inset-inline-end:0;transform:translateY(-50%);inset-block-start:50%;user-select:none;inline-size:38px;z-index:101}.dso-date__toggle.sc-dso-date-picker-legacy:disabled{color:#afcf9d;cursor:default}.dso-date__dialog.sc-dso-date-picker-legacy{border-width:1px;display:flex;inset-inline-end:0;min-inline-size:320px;opacity:0;position:absolute;inset-block-start:100%;transform:scale(0.96) translateZ(0) translateY(-20px);transform-origin:top right;transition:transform 300ms ease, opacity 300ms ease, visibility 300ms ease;visibility:hidden;will-change:transform, opacity, visibility;z-index:210}@media (max-width: 35.9375em){.dso-date__dialog.sc-dso-date-picker-legacy{background:rgba(25, 25, 25, 0.5);inset-block-end:0;position:fixed;inset-inline-start:0;inset-inline-end:0;inset-block-start:0;transform:translateZ(0);transform-origin:bottom center}}.dso-date__dialog.is-left.sc-dso-date-picker-legacy{inset-inline-start:-11px;inset-inline-end:auto;inline-size:auto}.dso-date__dialog.is-active.sc-dso-date-picker-legacy{opacity:1;transform:scale(1.0001) translateZ(0) translateY(0);visibility:visible}.dso-date__dialog-content.sc-dso-date-picker-legacy{background:#fff;border:1px solid rgba(0, 0, 0, 0.1);border-radius:4px;box-shadow:0 8px 10px 1px rgba(0, 0, 0, 0.4);margin-inline-start:auto;margin-inline-end:-1px;margin-block-start:8px;max-inline-size:310px;min-inline-size:290px;padding:16px;position:relative;transform:none;inline-size:100%;z-index:210}@media (max-width: 35.9375em){.dso-date__dialog-content.sc-dso-date-picker-legacy{border:0;border-radius:0;border-start-start-radius:4px;border-start-end-radius:4px;inset-block-end:0;inset-inline-start:0;margin:0;max-inline-size:none;min-block-size:26em;opacity:0;padding-block:0 20px;padding-inline:8%;position:absolute;transform:translateZ(0) translateY(100%);transition:transform 400ms ease, opacity 400ms ease, visibility 400ms ease;visibility:hidden;will-change:transform, opacity, visibility}.is-active.sc-dso-date-picker-legacy .dso-date__dialog-content.sc-dso-date-picker-legacy{opacity:1;transform:translateZ(0) translateY(0);visibility:visible}}.dso-date__table.sc-dso-date-picker-legacy{border-collapse:collapse;border-spacing:0;color:#191919;font-size:1rem;font-weight:400;line-height:1.25;min-inline-size:280px;table-layout:fixed;text-align:center;inline-size:100%}.dso-date__table-header.sc-dso-date-picker-legacy{font-size:0.875em;font-weight:600;block-size:36px;line-height:36px;text-align:center;text-decoration:none;text-transform:uppercase}.dso-date__cell.sc-dso-date-picker-legacy{block-size:40px;padding:1px;text-align:center;inline-size:40px}.dso-date__day.sc-dso-date-picker-legacy{-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;border-radius:50%;box-shadow:0 0 0 1px transparent;color:#191919;cursor:pointer;display:inline-block;font-family:"Asap", sans-serif;font-variant-numeric:tabular-nums;font-weight:400;block-size:38px;line-height:0;padding:0;position:relative;text-align:center;vertical-align:middle;inline-size:38px;z-index:100}.dso-date__day.is-today.sc-dso-date-picker-legacy{background:transparent;block-size:36px;box-shadow:0 0 0 1px #39870c;inline-size:36px}.dso-date__day.sc-dso-date-picker-legacy:hover,.dso-date__day.sc-dso-date-picker-legacy:active{background:#39870c;color:#fff}.dso-date__day.sc-dso-date-picker-legacy:focus{background:transparent;box-shadow:0 0 0 2px #275937;color:#191919;block-size:34px;outline:0;inline-size:34px}[aria-selected=true].sc-dso-date-picker-legacy .dso-date__day.sc-dso-date-picker-legacy{background:#39870c;color:#fff}[aria-selected=true].sc-dso-date-picker-legacy .dso-date__day.sc-dso-date-picker-legacy:focus{background:transparent}[aria-selected=true].sc-dso-date-picker-legacy .dso-date__day.sc-dso-date-picker-legacy:focus span[aria-hidden=true].sc-dso-date-picker-legacy{background:#39870c;border:1px solid #fff;line-height:32px}.dso-date__day.sc-dso-date-picker-legacy:disabled{background:#fff;color:#ccc;cursor:default}.dso-date__day.sc-dso-date-picker-legacy span[aria-hidden=true].sc-dso-date-picker-legacy{border-radius:50%;display:inline-block;block-size:34px;line-height:34px;inline-size:34px}.dso-date__header.sc-dso-date-picker-legacy{align-items:center;display:flex;justify-content:space-between;margin-block-end:16px;inline-size:100%}.dso-date__header.sc-dso-date-picker-legacy span.sc-dso-date-picker-legacy{font-size:0.875rem}.dso-date__nav.sc-dso-date-picker-legacy{white-space:nowrap}.dso-date__prev.sc-dso-date-picker-legacy,.dso-date__next.sc-dso-date-picker-legacy{-moz-appearance:none;-webkit-appearance:none;align-items:center;appearance:none;background:transparent;border:1px solid #39870c;border-radius:4px;box-sizing:border-box;color:#39870c;cursor:pointer;display:inline-flex;font-size:1em;block-size:32px;justify-content:center;margin-inline-start:8px;padding:0;inline-size:32px}@media (max-width: 35.9375em){.dso-date__prev.sc-dso-date-picker-legacy,.dso-date__next.sc-dso-date-picker-legacy{block-size:40px;inline-size:40px}}.dso-date__prev.sc-dso-date-picker-legacy:hover,.dso-date__prev.sc-dso-date-picker-legacy:active,.dso-date__next.sc-dso-date-picker-legacy:hover,.dso-date__next.sc-dso-date-picker-legacy:active{background-color:#39870c;color:#fff}.dso-date__prev.sc-dso-date-picker-legacy:focus,.dso-date__next.sc-dso-date-picker-legacy:focus{background:transparent;color:#39870c}.dso-date__prev.sc-dso-date-picker-legacy:disabled,.dso-date__prev.sc-dso-date-picker-legacy:disabled:hover,.dso-date__next.sc-dso-date-picker-legacy:disabled,.dso-date__next.sc-dso-date-picker-legacy:disabled:hover{background-color:#fff;border-color:#afcf9d;color:#afcf9d;opacity:1}.dso-date__prev.sc-dso-date-picker-legacy svg.sc-dso-date-picker-legacy,.dso-date__next.sc-dso-date-picker-legacy svg.sc-dso-date-picker-legacy{margin-block:0;margin-inline:auto}.dso-date__select.sc-dso-date-picker-legacy{display:inline-flex;block-size:28px;line-height:28px;position:relative}.dso-date__select.sc-dso-date-picker-legacy span.sc-dso-date-picker-legacy{margin-inline-end:4px}.dso-date__select.sc-dso-date-picker-legacy select.sc-dso-date-picker-legacy{color:#275937;cursor:pointer;font-size:1rem;block-size:100%;inset-inline-start:0;opacity:0;position:absolute;inset-block-start:0;inline-size:100%;z-index:101}.dso-date__select.sc-dso-date-picker-legacy select.sc-dso-date-picker-legacy:focus+.dso-date__select-label.sc-dso-date-picker-legacy{box-shadow:0 0 0 2px #275937}.dso-date__select.sc-dso-date-picker-legacy select.sc-dso-date-picker-legacy:disabled{color:#afcf9d}.dso-date__select-label.sc-dso-date-picker-legacy{align-items:center;border-radius:4px;color:#39870c;display:flex;padding-block:0;padding-inline:8px 4px;pointer-events:none;position:relative;inline-size:100%;z-index:100}.dso-date__select-label.sc-dso-date-picker-legacy span.sc-dso-date-picker-legacy{font-size:1.25rem;font-weight:600;line-height:1.25}.dso-date__select-label.sc-dso-date-picker-legacy svg.sc-dso-date-picker-legacy{inline-size:16px;block-size:16px}.dso-date__mobile.sc-dso-date-picker-legacy{align-items:center;border-block-end:1px solid rgba(0, 0, 0, 0.12);display:flex;font-size:1em;justify-content:space-between;margin-block-end:20px;margin-inline-start:-10%;overflow:hidden;padding-block:12px;padding-inline:20px;position:relative;text-overflow:ellipsis;white-space:nowrap;inline-size:120%}@media (min-width: 36em){.dso-date__mobile.sc-dso-date-picker-legacy{border:0;margin:0;overflow:visible;padding:0;position:absolute;inset-inline-end:-16px;inset-block-start:-16px;inline-size:auto}}.dso-date__mobile-heading.sc-dso-date-picker-legacy{display:inline-block;font-weight:600;max-inline-size:84%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 36em){.dso-date__mobile-heading.sc-dso-date-picker-legacy{display:none}}.dso-date__close.sc-dso-date-picker-legacy{-webkit-appearance:none;align-items:center;appearance:none;background-color:#fff;border:0;border-radius:50%;color:#39870c;cursor:pointer;display:flex;font-size:1em;block-size:32px;justify-content:center;margin-inline-end:-4px;padding:0;inline-size:32px}@media (min-width: 36em){.dso-date__close.sc-dso-date-picker-legacy{margin-inline-end:0;opacity:0}}.dso-date__close.sc-dso-date-picker-legacy:focus{box-shadow:0 0 0 2px #275937;outline:none}@media (min-width: 36em){.dso-date__close.sc-dso-date-picker-legacy:focus{opacity:1}}.dso-date__vhidden.sc-dso-date-picker-legacy{border:0;clip:rect(1px, 1px, 1px, 1px);block-size:1px;overflow:hidden;padding:0;position:absolute;inset-block-start:0;inline-size:1px}';const Y={TAB:9,ESC:27,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40};const E=/[^0-9-]+/g;const j=300;function F(e,t){const s=e.value;const i=e.selectionStart;if(!i){return s}const a=s.slice(0,i);const d=s.slice(i,s.length);const o=a.replace(t,"");const n=d.replace(t,"");const c=o+n;const r=o.length;e.value=c;e.selectionStart=e.selectionEnd=r;return c}const K=class{constructor(e){t(this,e);this.dsoDateChange=s(this,"dsoDateChange",7);this.dsoBlur=s(this,"dsoBlur",7);this.dsoKeyUp=s(this,"dsoKeyUp",7);this.dsoKeyDown=s(this,"dsoKeyDown",7);this.dsoFocus=s(this,"dsoFocus",7);this.monthSelectId=d("DsoDateMonth");this.yearSelectId=d("DsoDateYear");this.dialogLabelId=d("DsoDateLabel");this.localization=M;this.firstDayOfWeek=o.Monday;this.activeFocus=false;this.focusedDay=new Date;this.open=false;this.visible=false;this.name="date";this.disabled=false;this.role=null;this.direction="right";this.required=false;this.dsoAutofocus=false;this.value="";this.enableActiveFocus=()=>{this.activeFocus=true};this.disableActiveFocus=()=>{this.activeFocus=false};this.toggleOpen=e=>{e.preventDefault();if(this.open){this.hide(false)}else{this.show()}};this.handleEscKey=e=>{if(e.keyCode===Y.ESC){this.hide()}};this.handleBlur=e=>{e.stopPropagation();this.dsoBlur.emit({component:"dso-date-picker-legacy"})};this.handleKeyUp=e=>{e.stopPropagation();this.dsoKeyUp.emit({component:"dso-date-picker-legacy",originalEvent:e})};this.handleKeyDown=e=>{e.stopPropagation();this.dsoKeyDown.emit({component:"dso-date-picker-legacy",originalEvent:e})};this.handleFocus=e=>{e.stopPropagation();this.dsoFocus.emit({component:"dso-date-picker-legacy"})};this.handleTouchStart=e=>{const t=e.changedTouches[0];if(!t){throw new Error("No touch found")}this.initialTouchX=t.pageX;this.initialTouchY=t.pageY};this.handleTouchMove=e=>{e.preventDefault()};this.handleTouchEnd=e=>{var t,s;const i=e.changedTouches[0];if(!i){throw new Error("No touch found")}const a=i.pageX-((t=this.initialTouchX)!==null&&t!==void 0?t:0);const d=i.pageY-((s=this.initialTouchY)!==null&&s!==void 0?s:0);const o=70;const n=Math.abs(a)>=o&&Math.abs(d)<=o;const c=Math.abs(d)>=o&&Math.abs(a)<=o&&d>0;if(n){this.addMonths(a<0?1:-1)}else if(c){this.hide(false);e.preventDefault()}this.initialTouchY=undefined;this.initialTouchX=undefined};this.handleNextMonthClick=e=>{e.preventDefault();this.addMonths(1)};this.handlePreviousMonthClick=e=>{e.preventDefault();this.addMonths(-1)};this.handleFirstFocusableKeydown=e=>{var t;if(e.keyCode===Y.TAB&&e.shiftKey){(t=this.focusedDayNode)===null||t===void 0?void 0:t.focus();e.preventDefault()}};this.handleKeyboardNavigation=e=>{var t;if(e.keyCode===Y.TAB&&!e.shiftKey){e.preventDefault();(t=this.firstFocusableElement)===null||t===void 0?void 0:t.focus();return}let s=true;switch(e.keyCode){case Y.RIGHT:this.addDays(1);break;case Y.LEFT:this.addDays(-1);break;case Y.DOWN:this.addDays(7);break;case Y.UP:this.addDays(-7);break;case Y.PAGE_UP:if(e.shiftKey){this.addYears(-1)}else{this.addMonths(-1)}break;case Y.PAGE_DOWN:if(e.shiftKey){this.addYears(1)}else{this.addMonths(1)}break;case Y.HOME:this.startOfWeek();break;case Y.END:this.endOfWeek();break;default:s=false}if(s){e.preventDefault();this.enableActiveFocus()}};this.handleDaySelect=(e,t)=>{if(!k(t,c(this.min),c(this.max))){return}if(t.getMonth()===this.focusedDay.getMonth()){this.setValue(t);this.hide()}else{this.setFocusedDay(t)}};this.handleMonthSelect=e=>{if(e.target instanceof HTMLSelectElement){this.setMonth(parseInt(e.target.value,10))}};this.handleYearSelect=e=>{if(e.target instanceof HTMLSelectElement){this.setYear(parseInt(e.target.value,10))}};this.handleInputChange=e=>{const t=e.target;const s=F(t,E);this.setValue(s)};this.prepareEvent=e=>{const t={component:"dso-date-picker-legacy",value:"",valueAsDate:undefined};if(e instanceof Date){t.valueAsDate=e}else{t.value=e;t.valueAsDate=c(e)}if(t.valueAsDate){t.value=r(t.valueAsDate)}if(!t.valueAsDate&&this.required){t.error="required"}if(t.value&&!t.valueAsDate){t.error="invalid"}if(t.valueAsDate&&(this.min||this.max)){const e=c(this.min);const s=c(this.max);const i=_(t.valueAsDate,e,s);if(i!==t.valueAsDate&&i===e){t.valueAsDate=undefined;t.error="min-range"}else if(i!==t.valueAsDate&&i===s){t.valueAsDate=undefined;t.error="max-range"}}return t};this.processFocusedDayNode=e=>{this.focusedDayNode=e;if(this.activeFocus&&this.open){setTimeout((()=>e.focus()),0)}}}handleDocumentClick(e){if(!this.open){return}const t=e.composedPath();for(const e of t){if(e instanceof Node&&this.element.contains(e)){return}}this.hide(false)}async setFocus(){var e;return(e=this.datePickerLegacyInput)===null||e===void 0?void 0:e.focus()}async show(){if(typeof this.hideTimeoutId!=="undefined"){clearTimeout(this.hideTimeoutId)}this.visible=true;setTimeout((()=>{this.open=true;this.setFocusedDay(c(this.value)||new Date);if(typeof this.focusTimeoutId!=="undefined"){clearTimeout(this.focusTimeoutId)}this.focusTimeoutId=setTimeout((()=>{var e;return(e=this.monthSelectNode)===null||e===void 0?void 0:e.focus()}),j)}))}async hide(e=true){this.open=false;if(typeof this.focusTimeoutId!=="undefined"){clearTimeout(this.focusTimeoutId)}this.hideTimeoutId=setTimeout((()=>{if(e&&this.datePickerLegacyButton){this.datePickerLegacyButton.focus()}this.visible=false}),j+200)}addDays(e){this.setFocusedDay(p(this.focusedDay,e))}addMonths(e){this.setMonth(this.focusedDay.getMonth()+e)}addYears(e){this.setYear(this.focusedDay.getFullYear()+e)}startOfWeek(){this.setFocusedDay(h(this.focusedDay,this.firstDayOfWeek))}endOfWeek(){this.setFocusedDay(f(this.focusedDay,this.firstDayOfWeek))}setMonth(e){const t=y(b(this.focusedDay),e);const s=u(t);const i=y(this.focusedDay,e);this.setFocusedDay(_(i,t,s))}setYear(e){const t=g(b(this.focusedDay),e);const s=u(t);const i=g(this.focusedDay,e);this.setFocusedDay(_(i,t,s))}setFocusedDay(e){this.focusedDay=_(e,c(this.min),c(this.max))}setValue(e){const t=this.prepareEvent(e);this.value=typeof e==="string"?e:t.value;if(this.value!==this.previousValue){this.dsoDateChange.emit(t);this.previousValue=this.value}}componentWillLoad(){const e=c(this.min);const t=c(this.max);if(e&&e>this.focusedDay){this.focusedDay=e}if(t&&t<this.focusedDay){this.focusedDay=t}}componentDidLoad(){const e=c(this.value);if(e){this.previousValue=this.value=r(e)}if(this.dsoAutofocus){this.setFocus()}}render(){var t,s;const a=c(this.value);const d=a&&r(a);const o=(a||this.focusedDay).getFullYear();const n=this.focusedDay.getMonth();const l=this.focusedDay.getFullYear();const p=c(this.min);const h=c(this.max);const f=p&&p.getMonth()===n&&p.getFullYear()===l;const b=h&&h.getMonth()===n&&h.getFullYear()===l;let u=o-10;let y=o+10;if(p){u=Math.max(u,p.getFullYear())}if(h){y=Math.min(y,h.getFullYear())}return e(i,{key:"988a13ef80afbbefe31ae469a3cf85951740b555"},e("div",{key:"5605ca78e528c245d534687fed06f7b16f2939bd",class:{"dso-date":true,"dso-visible":this.visible}},e("div",{key:"78b095e5bae46c950aae34ec41ac150c2013f4a5",class:"dso-date__input-wrapper"},e("input",{key:"7f353a644f67ec9cfb0b73b7743986f2f7766ee2",class:"dso-date__input",value:this.value,placeholder:this.localization.placeholder,id:this.identifier,disabled:this.disabled,role:(t=this.role)!==null&&t!==void 0?t:undefined,required:this.required?true:undefined,"aria-autocomplete":"none","aria-invalid":(s=this.invalid)===null||s===void 0?void 0:s.toString(),"aria-describedby":this.describedBy,onInput:this.handleInputChange,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyUp:this.handleKeyUp,onKeyDown:this.handleKeyDown,autoComplete:"off",ref:e=>this.datePickerLegacyInput=e}),e("button",{key:"c704a98eb3d17632e57aa86ea0d9f7b47bdf2258",type:"button",class:"dso-date__toggle",onClick:this.toggleOpen,disabled:this.disabled,ref:e=>this.datePickerLegacyButton=e},e("span",{key:"3c60ea797995ed0224c94c72242d817603792ea0",class:"dso-date__toggle-icon"},e("dso-icon",{key:"238a67018bc2ac6d76461a8f81bd015b13a326ff",icon:"calendar"})),e("span",{key:"608bf22760feb2e4b915f489d787d2ad55bf90bc",class:"dso-date__vhidden"},this.localization.buttonLabel,d&&e("span",{key:"55fb7cbcff767ab959deaf7420a866632308b9dd"},", ",this.localization.selectedDateMessage," ",d)))),e("div",{key:"eaf1440e9d0293b700097a7e4b13a87edda18b19",class:{"dso-date__dialog":true,"is-left":this.direction==="left","is-active":this.open},role:"dialog","aria-modal":"true","aria-hidden":this.open?"false":"true","aria-labelledby":this.dialogLabelId,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd},e("div",{key:"5db2c514c4d6708f52bbb9593fc53c11dace76e3",class:"dso-date__dialog-content",onKeyDown:this.handleEscKey},e("div",{key:"6c407cfcb23d3b636d7b093c71637f2e4cd0ef8a",class:"dso-date__vhidden dso-date__instructions","aria-live":"polite"},this.localization.keyboardInstruction),e("div",{key:"cd20d5ada23136ac3f472e81944c436a839d5ba0",class:"dso-date__mobile",onFocusin:this.disableActiveFocus},e("label",{key:"dafae6afbfc23cc04135926a1c2e9dd708d0dca7",class:"dso-date__mobile-heading"},this.localization.calendarHeading),e("button",{key:"411f015e8bfc46a6d60289f0285a348351ce1b2e",class:"dso-date__close",ref:e=>this.firstFocusableElement=e,onKeyDown:this.handleFirstFocusableKeydown,onClick:()=>this.hide(),type:"button"},e("dso-icon",{key:"c9a81afa46a35451f1aba2dc25f8017fcec1823d",icon:"times"}),e("span",{key:"41a62343b1c8e4587aa21198193e8377730fe45b",class:"dso-date__vhidden"},this.localization.closeLabel))),e("div",{key:"d208f3644d52d329d5ca9947702025fdc5cfb6a8",class:"dso-date__header",onFocusin:this.disableActiveFocus},e("div",{key:"6c98baeb9e371464711123b15846472625b4bd91"},e("h2",{key:"4c9a067555474d5c3efcf9317153fb601e56627e",id:this.dialogLabelId,class:"dso-date__vhidden","aria-live":"polite"},this.localization.monthNames[n]," ",this.focusedDay.getFullYear()),e("label",{key:"6250e4146dd420a44edafeeb8ee2f331e8d19d8c",htmlFor:this.monthSelectId,class:"dso-date__vhidden"},this.localization.monthSelectLabel),e("div",{key:"7301372da03b548701e3ea0a3c086d29cda8b38d",class:"dso-date__select"},e("select",{key:"9095ca123db8fac6669c47c8dcd46124b9e41d88",id:this.monthSelectId,class:"dso-date__select--month",ref:e=>this.monthSelectNode=e,onChange:this.handleMonthSelect},N(this.localization,o,p,h).map((t=>{const s=this.localization.monthNames.indexOf(t);return e("option",{key:t,value:s,selected:s===n},t)}))),e("div",{key:"3cd9f1f5e0949e5a3c5fe712683c40efa8958b8d",class:"dso-date__select-label","aria-hidden":"true"},e("span",{key:"a6e88ef6f597f051a7464437b66e3e0b853d54c1"},this.localization.monthNamesShort[n]),e("dso-icon",{key:"e0d9a95b911155330b7d211c58d6494f248f48fb",icon:"chevron-down"}))),e("label",{key:"62865a27f2ae8be3d84163645480f87f42f3273e",htmlFor:this.yearSelectId,class:"dso-date__vhidden"},this.localization.yearSelectLabel),e("div",{key:"c9cc8a0131ab2c971dcf1c3da01e1a55c484cb07",class:"dso-date__select"},e("select",{key:"1c06202542559de42f61661835f4335afac42687",id:this.yearSelectId,class:"dso-date__select--year",onChange:this.handleYearSelect},S(u,y).map((t=>e("option",{key:t,selected:t===l},t)))),e("div",{key:"5150cbb742c230817daa623f6d209382dad9774b",class:"dso-date__select-label","aria-hidden":"true"},e("span",{key:"0c22ddbee4001e073c44cb997313149c90fc5b88"},this.focusedDay.getFullYear()),e("dso-icon",{key:"a3b26f8ae19108784b2f308baf749a1cc559467f",icon:"chevron-down"})))),e("div",{key:"b5c6c28ecf26e85c357b6cd02cdddf924ed96ecf",class:"dso-date__nav"},e("button",{key:"d83e42f236aeb740f49b9631b22d0decdeafd2b8",class:"dso-date__prev",onClick:this.handlePreviousMonthClick,disabled:f,type:"button"},e("dso-icon",{key:"4dbe968a9d7f4b4cbaa2b7d499bdd4ac4c641a4d",icon:"chevron-left"}),e("span",{key:"eb774f3e34798441302d6023ea2da869a5ddd5da",class:"dso-date__vhidden"},this.localization.prevMonthLabel)),e("button",{key:"6dd97f0e8863ebaf9695624ef584ede2ed6f49b7",class:"dso-date__next",onClick:this.handleNextMonthClick,disabled:b,type:"button"},e("dso-icon",{key:"1f3ec5976f89a74e3f53d8301cd0fad4f5053220",icon:"chevron-right"}),e("span",{key:"c391ab32dd4b002de5e7749694cdebe3e4437f5a",class:"dso-date__vhidden"},this.localization.nextMonthLabel)))),e(D,{key:"3f454459d05879279f2328bcbb4253dd082eab82",selectedDate:a,focusedDate:this.focusedDay,onDateSelect:this.handleDaySelect,onKeyboardNavigation:this.handleKeyboardNavigation,labelledById:this.dialogLabelId,localization:this.localization,firstDayOfWeek:this.firstDayOfWeek,focusedDayRef:this.processFocusedDayNode,min:p,max:h})))))}get element(){return a(this)}};K.style=T;export{K as dso_date_picker_legacy};
2
+ //# sourceMappingURL=p-759d18f9.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DaysOfWeek","createDate","year","month","day","dayInt","parseInt","monthInt","yearInt","isValid","Number","isInteger","Date","parseDutchDate","value","matches","split","length","printDutchDate","date","d","getDate","toString","padStart","m","getMonth","y","getFullYear","isEqual","a","b","addDays","days","setDate","startOfWeek","firstDayOfWeek","Monday","getDay","diff","endOfWeek","startOfMonth","endOfMonth","setMonth","setYear","setFullYear","inRange","min","max","clamp","time","getTime","getDaysInRange","start","end","current","push","getViewOfMonth","DatePickerLegacyDay","focusedDay","today","onDaySelect","onKeyboardNavigation","focusedDayRef","isToday","isFocused","notCurrentMonth","isOutsideRange","handleClick","e","h","class","tabIndex","onClick","onKeyDown","disabled","type","ref","el","chunk","array","chunkSize","result","i","slice","mapWithOffset","startingOffset","mapFn","map","_","adjustedIndex","item","Error","DatePickerLegacyMonth","selectedDate","focusedDate","labelledById","localization","onDateSelect","onMouseDown","onFocusIn","role","onFocusin","dayNames","dayName","scope","substr","week","undefined","buttonLabel","placeholder","selectedDateMessage","prevMonthLabel","nextMonthLabel","monthSelectLabel","yearSelectLabel","closeLabel","keyboardInstruction","calendarHeading","monthNames","monthNamesShort","monthRange","selectedYear","minDate","maxDate","minYear","minMonth","maxYear","maxMonth","filter","_month","index","range","from","to","datePickerLegacyCss","keyCode","TAB","ESC","PAGE_UP","PAGE_DOWN","END","HOME","LEFT","UP","RIGHT","DOWN","DISALLOWED_CHARACTERS","TRANSITION_MS","cleanValue","input","regex","cursor","selectionStart","beforeCursor","afterCursor","filteredBeforeCursor","replace","filterAfterCursor","newValue","newCursor","selectionEnd","DsoDatePickerLegacy","constructor","hostRef","this","monthSelectId","createIdentifier","yearSelectId","dialogLabelId","defaultLocalization","activeFocus","open","visible","name","direction","required","dsoAutofocus","enableActiveFocus","disableActiveFocus","toggleOpen","preventDefault","hide","show","handleEscKey","event","handleBlur","stopPropagation","dsoBlur","emit","component","handleKeyUp","dsoKeyUp","originalEvent","handleKeyDown","dsoKeyDown","handleFocus","dsoFocus","handleTouchStart","touch","changedTouches","initialTouchX","pageX","initialTouchY","pageY","handleTouchMove","handleTouchEnd","distX","_a","distY","_b","threshold","isHorizontalSwipe","Math","abs","isDownwardsSwipe","addMonths","handleNextMonthClick","handlePreviousMonthClick","handleFirstFocusableKeydown","shiftKey","focusedDayNode","focus","handleKeyboardNavigation","firstFocusableElement","handled","addYears","handleDaySelect","_event","setValue","setFocusedDay","handleMonthSelect","target","HTMLSelectElement","handleYearSelect","handleInputChange","cleanedValue","prepareEvent","valueAsDate","error","clampValue","processFocusedDayNode","element","setTimeout","handleDocumentClick","path","composedPath","Node","contains","setFocus","datePickerLegacyInput","hideTimeoutId","clearTimeout","focusTimeoutId","monthSelectNode","moveFocusToButton","datePickerLegacyButton","months","years","previousValue","dsoDateChange","componentWillLoad","componentDidLoad","render","formattedDate","focusedMonth","focusedYear","prevMonthDisabled","nextMonthDisabled","Host","key","id","identifier","invalid","describedBy","onInput","onFocus","onBlur","onKeyUp","autoComplete","icon","onTouchMove","onTouchStart","onTouchEnd","htmlFor","onChange","indexOf","selected"],"sources":["src/components/date-picker-legacy/date-utils.ts","src/components/date-picker-legacy/date-picker-day.tsx","src/components/date-picker-legacy/date-picker-month.tsx","src/components/date-picker-legacy/date-localization.ts","src/components/date-picker-legacy/utils/month-range.ts","src/components/date-picker-legacy/utils/range.ts","src/components/date-picker-legacy/date-picker-legacy.scss?tag=dso-date-picker-legacy&encapsulation=scoped","src/components/date-picker-legacy/date-picker-legacy.tsx"],"sourcesContent":["// eslint-disable-next-line @stencil-community/ban-exported-const-enums -- This enum is not part of public API\r\nexport enum DaysOfWeek {\r\n Sunday = 0,\r\n Monday = 1,\r\n Tuesday = 2,\r\n Wednesday = 3,\r\n Thursday = 4,\r\n Friday = 5,\r\n Saturday = 6,\r\n}\r\n\r\nexport function createDate(year: string, month: string, day: string): Date | undefined {\r\n const dayInt = parseInt(day, 10);\r\n const monthInt = parseInt(month, 10);\r\n const yearInt = parseInt(year, 10);\r\n\r\n const isValid =\r\n Number.isInteger(yearInt) && // all parts should be integers\r\n Number.isInteger(monthInt) &&\r\n Number.isInteger(dayInt) &&\r\n monthInt > 0 && // month must be 1-12\r\n monthInt <= 12 &&\r\n dayInt > 0 && // day must be 1-31\r\n dayInt <= 31 &&\r\n yearInt > 0;\r\n\r\n if (isValid) {\r\n return new Date(yearInt, monthInt - 1, dayInt);\r\n }\r\n}\r\n\r\n/**\r\n * @param value date string in Dutch format D-M-YYYY\r\n */\r\nexport function parseDutchDate(value: string | undefined): Date | undefined {\r\n if (!value) {\r\n return;\r\n }\r\n\r\n const matches = value.split(\"-\");\r\n\r\n if (\r\n matches.length === 3 &&\r\n typeof matches[0] === \"string\" &&\r\n typeof matches[1] === \"string\" &&\r\n typeof matches[2] === \"string\" &&\r\n matches[2].length === 4\r\n ) {\r\n return createDate(matches[2], matches[1], matches[0]);\r\n }\r\n}\r\n\r\n/**\r\n * print date in format DD-MM-YYYY\r\n * @param date\r\n */\r\nexport function printDutchDate(date: Date | undefined): string {\r\n if (!date) {\r\n return \"\";\r\n }\r\n\r\n const d = date.getDate().toString(10).padStart(2, \"0\");\r\n const m = (date.getMonth() + 1).toString(10).padStart(2, \"0\");\r\n const y = date.getFullYear().toString(10).padStart(2, \"0\");\r\n\r\n return `${d}-${m}-${y}`;\r\n}\r\n\r\n/**\r\n * Compare if two dates are equal in terms of day, month, and year\r\n */\r\nexport function isEqual(a: Date | undefined, b: Date | undefined): boolean {\r\n if (!a || !b) {\r\n return false;\r\n }\r\n\r\n return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();\r\n}\r\n\r\nexport function addDays(date: Date, days: number): Date {\r\n const d = new Date(date);\r\n d.setDate(d.getDate() + days);\r\n return d;\r\n}\r\n\r\nexport function addMonths(date: Date, months: number): Date {\r\n const d = new Date(date);\r\n d.setMonth(date.getMonth() + months);\r\n return d;\r\n}\r\n\r\nexport function addYears(date: Date, years: number): Date {\r\n const d = new Date(date);\r\n d.setFullYear(date.getFullYear() + years);\r\n return d;\r\n}\r\n\r\nexport function startOfWeek(date: Date, firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday): Date {\r\n const d = new Date(date);\r\n const day = d.getDay();\r\n const diff = (day < firstDayOfWeek ? 7 : 0) + day - firstDayOfWeek;\r\n\r\n d.setDate(d.getDate() - diff);\r\n return d;\r\n}\r\n\r\nexport function endOfWeek(date: Date, firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday): Date {\r\n const d = new Date(date);\r\n const day = d.getDay();\r\n const diff = (day < firstDayOfWeek ? -7 : 0) + 6 - (day - firstDayOfWeek);\r\n\r\n d.setDate(d.getDate() + diff);\r\n return d;\r\n}\r\n\r\nexport function startOfMonth(date: Date): Date {\r\n return new Date(date.getFullYear(), date.getMonth(), 1);\r\n}\r\n\r\nexport function endOfMonth(date: Date): Date {\r\n return new Date(date.getFullYear(), date.getMonth() + 1, 0);\r\n}\r\n\r\nexport function setMonth(date: Date, month: number): Date {\r\n const d = new Date(date);\r\n d.setMonth(month);\r\n return d;\r\n}\r\n\r\nexport function setYear(date: Date, year: number): Date {\r\n const d = new Date(date);\r\n d.setFullYear(year);\r\n return d;\r\n}\r\n\r\n/**\r\n * Check if date is within a min and max\r\n */\r\nexport function inRange(date: Date, min?: Date, max?: Date): boolean {\r\n return clamp(date, min, max) === date;\r\n}\r\n\r\n/**\r\n * Ensures date is within range, returns min or max if out of bounds\r\n */\r\nexport function clamp(date: Date, min?: Date, max?: Date): Date {\r\n const time = date.getTime();\r\n\r\n if (min && min instanceof Date && time < min.getTime()) {\r\n return min;\r\n }\r\n\r\n if (max && max instanceof Date && time > max.getTime()) {\r\n return max;\r\n }\r\n\r\n return date;\r\n}\r\n\r\n/**\r\n * given start and end date, return an (inclusive) array of all dates in between\r\n * @param start\r\n * @param end\r\n */\r\nfunction getDaysInRange(start: Date, end: Date): Date[] {\r\n const days: Date[] = [];\r\n let current = start;\r\n\r\n while (!isEqual(current, end)) {\r\n days.push(current);\r\n current = addDays(current, 1);\r\n }\r\n\r\n days.push(current);\r\n\r\n return days;\r\n}\r\n\r\n/**\r\n * given a date, return an array of dates from a calendar perspective\r\n * @param date\r\n * @param firstDayOfWeek\r\n */\r\nexport function getViewOfMonth(date: Date, firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday): Date[] {\r\n const start = startOfWeek(startOfMonth(date), firstDayOfWeek);\r\n const end = endOfWeek(endOfMonth(date), firstDayOfWeek);\r\n\r\n return getDaysInRange(start, end);\r\n}\r\n","import { h, FunctionalComponent } from \"@stencil/core\";\r\nimport { isEqual, printDutchDate } from \"./date-utils\";\r\n\r\nexport type DatePickerLegacyDayProps = {\r\n focusedDay: Date;\r\n today: Date;\r\n day: Date;\r\n inRange: boolean;\r\n onDaySelect: (event: MouseEvent, day: Date) => void;\r\n onKeyboardNavigation: (event: KeyboardEvent) => void;\r\n focusedDayRef?: (element: HTMLButtonElement) => void;\r\n};\r\n\r\nexport const DatePickerLegacyDay: FunctionalComponent<DatePickerLegacyDayProps> = ({\r\n focusedDay,\r\n today,\r\n day,\r\n onDaySelect,\r\n onKeyboardNavigation,\r\n focusedDayRef,\r\n inRange,\r\n}) => {\r\n const isToday = isEqual(day, today);\r\n const isFocused = isEqual(day, focusedDay);\r\n const notCurrentMonth = day.getMonth() !== focusedDay.getMonth();\r\n const isOutsideRange = !inRange;\r\n\r\n function handleClick(e: MouseEvent) {\r\n onDaySelect(e, day);\r\n }\r\n\r\n return (\r\n <button\r\n class={{\r\n \"dso-date__day\": true,\r\n \"is-today\": isToday,\r\n }}\r\n tabIndex={isFocused ? 0 : -1}\r\n onClick={handleClick}\r\n onKeyDown={onKeyboardNavigation}\r\n disabled={isOutsideRange || notCurrentMonth}\r\n type=\"button\"\r\n ref={(el) => {\r\n if (isFocused && el && focusedDayRef) {\r\n focusedDayRef(el);\r\n }\r\n }}\r\n >\r\n <span aria-hidden=\"true\">{day.getDate()}</span>\r\n <span class=\"dso-date__vhidden\">{printDutchDate(day)}</span>\r\n </button>\r\n );\r\n};\r\n","import { h, FunctionalComponent } from \"@stencil/core\";\r\nimport { DsoLocalizedText } from \"./date-localization\";\r\nimport { DatePickerLegacyDay, DatePickerLegacyDayProps } from \"./date-picker-day\";\r\nimport { getViewOfMonth, inRange, DaysOfWeek, isEqual } from \"./date-utils\";\r\n\r\nfunction chunk<T>(array: T[], chunkSize: number): T[][] {\r\n const result = [];\r\n\r\n for (let i = 0; i < array.length; i += chunkSize) {\r\n result.push(array.slice(i, i + chunkSize));\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction mapWithOffset<T, U>(array: T[], startingOffset: number, mapFn: (item: T) => U): U[] {\r\n return array.map((_, i) => {\r\n const adjustedIndex = (i + startingOffset) % array.length;\r\n const item = array[adjustedIndex];\r\n if (!item) {\r\n throw new Error(\"No item found\");\r\n }\r\n\r\n return mapFn(item);\r\n });\r\n}\r\n\r\ntype DatePickerLegacyMonthProps = {\r\n selectedDate: Date | undefined;\r\n focusedDate: Date;\r\n labelledById: string;\r\n localization: DsoLocalizedText;\r\n firstDayOfWeek: DaysOfWeek;\r\n min?: Date;\r\n max?: Date;\r\n onDateSelect: DatePickerLegacyDayProps[\"onDaySelect\"];\r\n onKeyboardNavigation: DatePickerLegacyDayProps[\"onKeyboardNavigation\"];\r\n focusedDayRef: (element: HTMLButtonElement) => void;\r\n onFocusIn?: (e: FocusEvent) => void;\r\n onMouseDown?: (e: MouseEvent) => void;\r\n};\r\n\r\nexport const DatePickerLegacyMonth: FunctionalComponent<DatePickerLegacyMonthProps> = ({\r\n selectedDate,\r\n focusedDate,\r\n labelledById,\r\n localization,\r\n firstDayOfWeek,\r\n min,\r\n max,\r\n onDateSelect,\r\n onKeyboardNavigation,\r\n focusedDayRef,\r\n onMouseDown,\r\n onFocusIn,\r\n}) => {\r\n const today = new Date();\r\n const days = getViewOfMonth(focusedDate, firstDayOfWeek);\r\n\r\n return (\r\n <table\r\n class=\"dso-date__table\"\r\n role=\"grid\"\r\n aria-labelledby={labelledById}\r\n onFocusin={onFocusIn}\r\n onMouseDown={onMouseDown}\r\n >\r\n <thead>\r\n <tr>\r\n {mapWithOffset(localization.dayNames, firstDayOfWeek, (dayName) => (\r\n <th class=\"dso-date__table-header\" scope=\"col\">\r\n <span aria-hidden=\"true\">{dayName.substr(0, 2)}</span>\r\n <span class=\"dso-date__vhidden\">{dayName}</span>\r\n </th>\r\n ))}\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {chunk(days, 7).map((week) => (\r\n <tr class=\"dso-date__row\">\r\n {week.map((day) => (\r\n <td\r\n class=\"dso-date__cell\"\r\n role=\"gridcell\"\r\n aria-selected={isEqual(day, selectedDate) ? \"true\" : undefined}\r\n aria-current={isEqual(day, today) ? \"date\" : undefined}\r\n >\r\n <DatePickerLegacyDay\r\n day={day}\r\n today={today}\r\n focusedDay={focusedDate}\r\n inRange={inRange(day, min, max)}\r\n onDaySelect={onDateSelect}\r\n onKeyboardNavigation={onKeyboardNavigation}\r\n focusedDayRef={focusedDayRef}\r\n />\r\n </td>\r\n ))}\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n );\r\n};\r\n","type MonthsNames = [string, string, string, string, string, string, string, string, string, string, string, string];\r\ntype DayNames = [string, string, string, string, string, string, string];\r\n\r\nexport type DsoLocalizedText = {\r\n buttonLabel: string;\r\n placeholder: string;\r\n selectedDateMessage: string;\r\n prevMonthLabel: string;\r\n nextMonthLabel: string;\r\n monthSelectLabel: string;\r\n yearSelectLabel: string;\r\n closeLabel: string;\r\n keyboardInstruction: string;\r\n calendarHeading: string;\r\n dayNames: DayNames;\r\n monthNames: MonthsNames;\r\n monthNamesShort: MonthsNames;\r\n};\r\n\r\nconst localization: DsoLocalizedText = {\r\n buttonLabel: \"Kies datum\",\r\n placeholder: \"dd-mm-jjjj\",\r\n selectedDateMessage: \"Geselecteerde datum is\",\r\n prevMonthLabel: \"Vorige maand\",\r\n nextMonthLabel: \"Volgende maand\",\r\n monthSelectLabel: \"Maand\",\r\n yearSelectLabel: \"Jaar\",\r\n closeLabel: \"Sluiten\",\r\n keyboardInstruction: \"Gebruik de pijltjestoetsen om een dag te kiezen\",\r\n calendarHeading: \"Kies een datum\",\r\n dayNames: [\"Zondag\", \"Maandag\", \"Dinsdag\", \"Woensdag\", \"Donderdag\", \"Vrijdag\", \"Zaterdag\"],\r\n monthNames: [\r\n \"Januari\",\r\n \"Februari\",\r\n \"Maart\",\r\n \"April\",\r\n \"Mei\",\r\n \"Juni\",\r\n \"Juli\",\r\n \"Augustus\",\r\n \"September\",\r\n \"Oktober\",\r\n \"November\",\r\n \"December\",\r\n ],\r\n monthNamesShort: [\"Jan\", \"Feb\", \"Mrt\", \"Apr\", \"Mei\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Okt\", \"Nov\", \"Dec\"],\r\n};\r\n\r\nexport default localization;\r\n","import { DsoLocalizedText } from \"../date-localization\";\r\n\r\nexport function monthRange(\r\n localization: DsoLocalizedText,\r\n selectedYear: number,\r\n minDate?: Date,\r\n maxDate?: Date,\r\n): string[] {\r\n if (minDate && maxDate) {\r\n const { minYear, minMonth } = { minYear: minDate.getFullYear(), minMonth: minDate.getMonth() };\r\n const { maxYear, maxMonth } = { maxYear: maxDate.getFullYear(), maxMonth: maxDate.getMonth() };\r\n\r\n return localization.monthNames.filter((_month, index) => {\r\n if (minYear === selectedYear && maxYear === selectedYear) {\r\n return index >= minMonth && index >= maxMonth;\r\n }\r\n\r\n if (minYear === selectedYear) {\r\n return index >= minMonth;\r\n }\r\n\r\n if (maxYear === selectedYear) {\r\n return index <= maxMonth;\r\n }\r\n\r\n return true;\r\n });\r\n }\r\n\r\n if (minDate) {\r\n const { minYear, minMonth } = { minYear: minDate.getFullYear(), minMonth: minDate.getMonth() };\r\n\r\n return localization.monthNames.filter((_month, index) => minYear === selectedYear && index >= minMonth);\r\n }\r\n\r\n if (maxDate) {\r\n const { maxYear, maxMonth } = { maxYear: maxDate.getFullYear(), maxMonth: maxDate.getMonth() };\r\n\r\n return localization.monthNames.filter((_month, index) => maxYear === selectedYear && index <= maxMonth);\r\n }\r\n\r\n return localization.monthNames;\r\n}\r\n","export function range(from: number, to: number) {\r\n const result: number[] = [];\r\n for (let i = from; i <= to; i++) {\r\n result.push(i);\r\n }\r\n return result;\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/zindex\";\r\n@use \"~dso-toolkit/src/components/form-control\";\r\n\r\n@use \"date-picker-legacy.variables\" as core-date-picker-legacy-variables;\r\n\r\n:host {\r\n display: block;\r\n\r\n &[invalid]:not([invalid=\"false\"]) {\r\n .dso-date__input {\r\n border-color: colors.$danger-color;\r\n }\r\n }\r\n}\r\n\r\n.dso-date *,\r\n.dso-date *::before,\r\n.dso-date *::after {\r\n box-sizing: border-box;\r\n}\r\n\r\n.dso-date {\r\n box-sizing: border-box;\r\n color: core-date-picker-legacy-variables.$color-text;\r\n display: block;\r\n font-family: core-date-picker-legacy-variables.$font;\r\n margin: 0;\r\n position: relative;\r\n text-align: start;\r\n inline-size: 100%;\r\n\r\n &:not(.dso-visible) {\r\n .dso-date__dialog {\r\n display: none;\r\n }\r\n }\r\n}\r\n\r\n.dso-date__input {\r\n @include form-control.root();\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ TOGGLE\r\n// ---------------------------------------------\r\n\r\n.dso-date__toggle {\r\n -moz-appearance: none;\r\n -webkit-appearance: none;\r\n -webkit-user-select: none;\r\n align-items: center;\r\n appearance: none;\r\n background: core-date-picker-legacy-variables.$color-button-bg;\r\n border: 0;\r\n border-radius: 0;\r\n border-end-end-radius: core-date-picker-legacy-variables.$radius;\r\n border-start-end-radius: core-date-picker-legacy-variables.$radius;\r\n color: core-date-picker-legacy-variables.$color-icon;\r\n cursor: pointer;\r\n display: flex;\r\n block-size: core-date-picker-legacy-variables.$size;\r\n justify-content: center;\r\n padding: 0;\r\n position: absolute;\r\n inset-inline-end: 0;\r\n transform: translateY(-50%);\r\n inset-block-start: 50%;\r\n user-select: none;\r\n inline-size: core-date-picker-legacy-variables.$size;\r\n z-index: zindex.$datepicker + 1;\r\n\r\n &:disabled {\r\n color: core-date-picker-legacy-variables.$nav-button-disabled;\r\n cursor: default;\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ DIALOG\r\n// ---------------------------------------------\r\n\r\n.dso-date__dialog {\r\n border-width: core-date-picker-legacy-variables.$border-width;\r\n display: flex;\r\n inset-inline-end: 0;\r\n min-inline-size: 320px;\r\n opacity: 0;\r\n position: absolute;\r\n inset-block-start: 100%;\r\n transform: scale(0.96) translateZ(0) translateY(-20px);\r\n transform-origin: top right;\r\n transition:\r\n transform 300ms ease,\r\n opacity 300ms ease,\r\n visibility 300ms ease;\r\n visibility: hidden;\r\n will-change: transform, opacity, visibility;\r\n z-index: zindex.$datepicker-dialog;\r\n\r\n @media (max-width: 35.9375em) {\r\n background: core-date-picker-legacy-variables.$overlay;\r\n inset-block-end: 0;\r\n position: fixed;\r\n inset-inline-start: 0;\r\n inset-inline-end: 0;\r\n inset-block-start: 0;\r\n transform: translateZ(0);\r\n transform-origin: bottom center;\r\n }\r\n\r\n &.is-left {\r\n inset-inline-start: units.$padding-base-inline * -1 + core-date-picker-legacy-variables.$border-width;\r\n inset-inline-end: auto;\r\n inline-size: auto;\r\n }\r\n\r\n &.is-active {\r\n opacity: 1;\r\n // The value of 1.0001 fixes a Chrome glitch with scaling\r\n transform: scale(1.0001) translateZ(0) translateY(0);\r\n visibility: visible;\r\n }\r\n}\r\n\r\n.dso-date__dialog-content {\r\n background: core-date-picker-legacy-variables.$surface;\r\n border: 1px solid rgba(0, 0, 0, 0.1);\r\n border-radius: core-date-picker-legacy-variables.$radius;\r\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.4);\r\n margin-inline-start: auto;\r\n margin-inline-end: -1px;\r\n margin-block-start: 8px;\r\n max-inline-size: 310px;\r\n min-inline-size: 290px;\r\n padding: 16px;\r\n position: relative;\r\n transform: none;\r\n inline-size: 100%;\r\n z-index: zindex.$datepicker-dialog;\r\n\r\n @media (max-width: 35.9375em) {\r\n border: 0;\r\n border-radius: 0;\r\n border-start-start-radius: core-date-picker-legacy-variables.$radius;\r\n border-start-end-radius: core-date-picker-legacy-variables.$radius;\r\n inset-block-end: 0;\r\n inset-inline-start: 0;\r\n margin: 0;\r\n max-inline-size: none;\r\n min-block-size: 26em;\r\n opacity: 0;\r\n padding-block: 0 20px;\r\n padding-inline: 8%;\r\n position: absolute;\r\n transform: translateZ(0) translateY(100%);\r\n transition:\r\n transform core-date-picker-legacy-variables.$transition-duration ease,\r\n opacity core-date-picker-legacy-variables.$transition-duration ease,\r\n visibility core-date-picker-legacy-variables.$transition-duration ease;\r\n visibility: hidden;\r\n will-change: transform, opacity, visibility;\r\n\r\n .is-active & {\r\n opacity: 1;\r\n transform: translateZ(0) translateY(0);\r\n visibility: visible;\r\n }\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ TABLE\r\n// ---------------------------------------------\r\n\r\n.dso-date__table {\r\n border-collapse: collapse;\r\n border-spacing: 0;\r\n color: core-date-picker-legacy-variables.$color-text;\r\n font-size: 1rem;\r\n font-weight: core-date-picker-legacy-variables.$font-normal;\r\n line-height: 1.25;\r\n min-inline-size: (core-date-picker-legacy-variables.$size + 2) * 7;\r\n table-layout: fixed;\r\n text-align: center;\r\n inline-size: 100%;\r\n}\r\n\r\n.dso-date__table-header {\r\n font-size: 0.875em;\r\n font-weight: core-date-picker-legacy-variables.$font-bold;\r\n block-size: 36px;\r\n line-height: 36px;\r\n text-align: center;\r\n text-decoration: none;\r\n text-transform: uppercase;\r\n}\r\n\r\n.dso-date__cell {\r\n block-size: core-date-picker-legacy-variables.$size + 2;\r\n padding: 1px;\r\n text-align: center;\r\n inline-size: core-date-picker-legacy-variables.$size + 2;\r\n}\r\n\r\n.dso-date__day {\r\n -moz-appearance: none;\r\n -webkit-appearance: none;\r\n appearance: none;\r\n background: transparent;\r\n border: 0;\r\n border-radius: 50%;\r\n box-shadow: 0 0 0 1px transparent;\r\n color: core-date-picker-legacy-variables.$color-text;\r\n cursor: pointer;\r\n display: inline-block;\r\n font-family: core-date-picker-legacy-variables.$font;\r\n font-variant-numeric: tabular-nums;\r\n font-weight: core-date-picker-legacy-variables.$font-normal;\r\n block-size: core-date-picker-legacy-variables.$size;\r\n line-height: 0;\r\n padding: 0;\r\n position: relative;\r\n text-align: center;\r\n vertical-align: middle;\r\n inline-size: core-date-picker-legacy-variables.$size;\r\n z-index: zindex.$datepicker;\r\n\r\n &.is-today {\r\n background: transparent;\r\n block-size: core-date-picker-legacy-variables.$size - 2;\r\n box-shadow: 0 0 0 1px core-date-picker-legacy-variables.$color-button;\r\n inline-size: core-date-picker-legacy-variables.$size - 2;\r\n }\r\n\r\n &:hover,\r\n &:active {\r\n background: core-date-picker-legacy-variables.$color-button;\r\n color: core-date-picker-legacy-variables.$color-text-active;\r\n }\r\n\r\n &:focus {\r\n background: transparent;\r\n box-shadow: 0 0 0 2px colors.$bosgroen;\r\n color: core-date-picker-legacy-variables.$color-text;\r\n block-size: core-date-picker-legacy-variables.$size - 4;\r\n outline: 0;\r\n inline-size: core-date-picker-legacy-variables.$size - 4;\r\n }\r\n\r\n [aria-selected=\"true\"] & {\r\n background: core-date-picker-legacy-variables.$color-button;\r\n color: core-date-picker-legacy-variables.$color-text-active;\r\n\r\n &:focus {\r\n background: transparent;\r\n\r\n span[aria-hidden=\"true\"] {\r\n background: core-date-picker-legacy-variables.$color-button;\r\n border: 1px solid colors.$wit;\r\n line-height: core-date-picker-legacy-variables.$size - 6;\r\n }\r\n }\r\n }\r\n\r\n &:disabled {\r\n background: colors.$wit;\r\n color: core-date-picker-legacy-variables.$color-text-disabled;\r\n cursor: default;\r\n }\r\n\r\n span[aria-hidden=\"true\"] {\r\n border-radius: 50%;\r\n display: inline-block;\r\n block-size: core-date-picker-legacy-variables.$size - 4;\r\n line-height: core-date-picker-legacy-variables.$size - 4;\r\n inline-size: core-date-picker-legacy-variables.$size - 4;\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ HEADER\r\n// ---------------------------------------------\r\n\r\n.dso-date__header {\r\n align-items: center;\r\n display: flex;\r\n justify-content: space-between;\r\n margin-block-end: 16px;\r\n inline-size: 100%;\r\n\r\n span {\r\n font-size: 0.875rem;\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ NAVIGATION\r\n// ---------------------------------------------\r\n\r\n.dso-date__nav {\r\n white-space: nowrap; // stylelint-disable-line declaration-property-value-disallowed-list -- 3rd party code\r\n}\r\n\r\n.dso-date__prev,\r\n.dso-date__next {\r\n -moz-appearance: none;\r\n -webkit-appearance: none;\r\n align-items: center;\r\n appearance: none;\r\n background: core-date-picker-legacy-variables.$color-button-bg;\r\n border: 1px solid core-date-picker-legacy-variables.$color-button;\r\n border-radius: core-date-picker-legacy-variables.$radius;\r\n box-sizing: border-box;\r\n color: core-date-picker-legacy-variables.$color-button;\r\n cursor: pointer;\r\n display: inline-flex;\r\n font-size: 1em;\r\n block-size: 32px;\r\n justify-content: center;\r\n margin-inline-start: 8px;\r\n padding: 0;\r\n inline-size: 32px;\r\n\r\n @media (max-width: 35.9375em) {\r\n block-size: 40px;\r\n inline-size: 40px;\r\n }\r\n\r\n &:hover,\r\n &:active {\r\n background-color: core-date-picker-legacy-variables.$color-button;\r\n color: core-date-picker-legacy-variables.$color-text-active;\r\n }\r\n\r\n &:focus {\r\n background: core-date-picker-legacy-variables.$color-button-bg;\r\n color: core-date-picker-legacy-variables.$color-button;\r\n }\r\n\r\n &:disabled {\r\n &,\r\n &:hover {\r\n background-color: colors.$wit;\r\n border-color: core-date-picker-legacy-variables.$nav-button-disabled;\r\n color: core-date-picker-legacy-variables.$nav-button-disabled;\r\n opacity: 1;\r\n }\r\n }\r\n\r\n svg {\r\n margin-block: 0; // left this in, just to be sure ;)\r\n margin-inline: auto;\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ SELECT\r\n// ---------------------------------------------\r\n\r\n.dso-date__select {\r\n display: inline-flex;\r\n block-size: units.$u1 * 4 - 4;\r\n line-height: units.$u1 * 4 - 4;\r\n position: relative;\r\n\r\n span {\r\n margin-inline-end: 4px;\r\n }\r\n\r\n select {\r\n color: core-date-picker-legacy-variables.$color-primary;\r\n cursor: pointer;\r\n font-size: 1rem;\r\n block-size: 100%;\r\n inset-inline-start: 0;\r\n opacity: 0;\r\n position: absolute;\r\n inset-block-start: 0;\r\n inline-size: 100%;\r\n z-index: zindex.$datepicker + 1;\r\n\r\n &:focus + .dso-date__select-label {\r\n box-shadow: 0 0 0 2px core-date-picker-legacy-variables.$color-primary;\r\n }\r\n\r\n &:disabled {\r\n color: core-date-picker-legacy-variables.$nav-button-disabled;\r\n }\r\n }\r\n}\r\n\r\n.dso-date__select-label {\r\n align-items: center;\r\n border-radius: core-date-picker-legacy-variables.$radius;\r\n color: core-date-picker-legacy-variables.$select;\r\n display: flex;\r\n padding-block: 0;\r\n padding-inline: 8px 4px;\r\n pointer-events: none;\r\n position: relative;\r\n inline-size: 100%;\r\n z-index: zindex.$datepicker;\r\n\r\n span {\r\n font-size: 1.25rem;\r\n font-weight: core-date-picker-legacy-variables.$font-bold;\r\n line-height: 1.25;\r\n }\r\n\r\n svg {\r\n inline-size: 16px;\r\n block-size: 16px;\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ MOBILE\r\n// ---------------------------------------------\r\n\r\n.dso-date__mobile {\r\n align-items: center;\r\n border-block-end: 1px solid rgba(0, 0, 0, 0.12);\r\n display: flex;\r\n font-size: 1em;\r\n justify-content: space-between;\r\n margin-block-end: 20px;\r\n margin-inline-start: -10%;\r\n overflow: hidden;\r\n padding-block: 12px;\r\n padding-inline: 20px;\r\n position: relative;\r\n text-overflow: ellipsis; // stylelint-disable-line declaration-property-value-disallowed-list -- 3rd party code\r\n white-space: nowrap; // stylelint-disable-line declaration-property-value-disallowed-list -- 3rd party code\r\n inline-size: 120%;\r\n\r\n @media (min-width: 36em) {\r\n border: 0;\r\n margin: 0;\r\n overflow: visible;\r\n padding: 0;\r\n position: absolute;\r\n inset-inline-end: -16px;\r\n inset-block-start: -16px;\r\n inline-size: auto;\r\n }\r\n}\r\n\r\n.dso-date__mobile-heading {\r\n display: inline-block;\r\n font-weight: core-date-picker-legacy-variables.$font-bold;\r\n max-inline-size: 84%;\r\n overflow: hidden;\r\n text-overflow: ellipsis; // stylelint-disable-line declaration-property-value-disallowed-list -- 3rd party code\r\n white-space: nowrap; // stylelint-disable-line declaration-property-value-disallowed-list -- 3rd party code\r\n\r\n @media (min-width: 36em) {\r\n display: none;\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ CLOSE\r\n// ---------------------------------------------\r\n\r\n.dso-date__close {\r\n -webkit-appearance: none;\r\n align-items: center;\r\n appearance: none;\r\n background-color: colors.$wit;\r\n border: 0;\r\n border-radius: 50%;\r\n color: core-date-picker-legacy-variables.$color-icon;\r\n cursor: pointer;\r\n display: flex;\r\n font-size: 1em;\r\n block-size: units.$u1 * 4;\r\n justify-content: center;\r\n margin-inline-end: -4px;\r\n padding: 0;\r\n inline-size: units.$u1 * 4;\r\n\r\n @media (min-width: 36em) {\r\n margin-inline-end: 0;\r\n opacity: 0;\r\n }\r\n\r\n &:focus {\r\n box-shadow: 0 0 0 2px colors.$bosgroen;\r\n outline: none;\r\n\r\n @media (min-width: 36em) {\r\n opacity: 1;\r\n }\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ VISUALLY HIDDEN\r\n// ---------------------------------------------\r\n\r\n.dso-date__vhidden {\r\n border: 0;\r\n clip: rect(1px, 1px, 1px, 1px);\r\n block-size: 1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n inset-block-start: 0;\r\n inline-size: 1px;\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Host,\r\n Prop,\r\n Element,\r\n h,\r\n Event,\r\n EventEmitter,\r\n State,\r\n Listen,\r\n Method,\r\n} from \"@stencil/core\";\r\n\r\nimport { createIdentifier } from \"../../utils/create-identifier\";\r\nimport {\r\n addDays,\r\n startOfWeek,\r\n endOfWeek,\r\n setMonth,\r\n setYear,\r\n clamp,\r\n inRange,\r\n endOfMonth,\r\n startOfMonth,\r\n printDutchDate,\r\n parseDutchDate,\r\n DaysOfWeek,\r\n} from \"./date-utils\";\r\nimport { DatePickerLegacyMonth } from \"./date-picker-month\";\r\nimport defaultLocalization, { DsoLocalizedText } from \"./date-localization\";\r\nimport {\r\n DsoDatePickerLegacyDirection,\r\n DsoDatePickerLegacyChangeEvent,\r\n DsoDatePickerLegacyFocusEvent,\r\n DsoDatePickerLegacyKeyboardEvent,\r\n} from \"./date-picker-legacy.interfaces\";\r\nimport { monthRange } from \"./utils/month-range\";\r\nimport { range } from \"./utils/range\";\r\n\r\nconst keyCode = {\r\n TAB: 9,\r\n ESC: 27,\r\n SPACE: 32,\r\n PAGE_UP: 33,\r\n PAGE_DOWN: 34,\r\n END: 35,\r\n HOME: 36,\r\n LEFT: 37,\r\n UP: 38,\r\n RIGHT: 39,\r\n DOWN: 40,\r\n};\r\n\r\nconst DISALLOWED_CHARACTERS = /[^0-9-]+/g;\r\nconst TRANSITION_MS = 300;\r\n\r\nfunction cleanValue(input: HTMLInputElement, regex: RegExp): string {\r\n const value = input.value;\r\n const cursor = input.selectionStart;\r\n\r\n if (!cursor) {\r\n return value;\r\n }\r\n\r\n const beforeCursor = value.slice(0, cursor);\r\n const afterCursor = value.slice(cursor, value.length);\r\n\r\n const filteredBeforeCursor = beforeCursor.replace(regex, \"\");\r\n const filterAfterCursor = afterCursor.replace(regex, \"\");\r\n\r\n const newValue = filteredBeforeCursor + filterAfterCursor;\r\n const newCursor = filteredBeforeCursor.length;\r\n\r\n input.value = newValue;\r\n input.selectionStart = input.selectionEnd = newCursor;\r\n\r\n return newValue;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-date-picker-legacy\",\r\n styleUrl: \"date-picker-legacy.scss\",\r\n shadow: false,\r\n scoped: true,\r\n})\r\nexport class DsoDatePickerLegacy implements ComponentInterface {\r\n /**\r\n * Own Properties\r\n */\r\n private monthSelectId = createIdentifier(\"DsoDateMonth\");\r\n private yearSelectId = createIdentifier(\"DsoDateYear\");\r\n private dialogLabelId = createIdentifier(\"DsoDateLabel\");\r\n\r\n private datePickerLegacyButton: HTMLButtonElement | undefined;\r\n private datePickerLegacyInput: HTMLInputElement | undefined;\r\n private firstFocusableElement: HTMLElement | undefined;\r\n private monthSelectNode: HTMLElement | undefined;\r\n private focusedDayNode: HTMLButtonElement | undefined;\r\n\r\n private focusTimeoutId: ReturnType<typeof setTimeout> | undefined;\r\n private hideTimeoutId: ReturnType<typeof setTimeout> | undefined;\r\n\r\n private initialTouchX: number | undefined;\r\n private initialTouchY: number | undefined;\r\n\r\n private localization: DsoLocalizedText = defaultLocalization;\r\n private firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday;\r\n\r\n private previousValue: string | undefined;\r\n\r\n /**\r\n * Reference to host HTML element.\r\n */\r\n @Element()\r\n element!: HTMLDsoDatePickerLegacyElement;\r\n\r\n /**\r\n * State() variables\r\n */\r\n @State()\r\n activeFocus = false;\r\n\r\n @State()\r\n focusedDay = new Date();\r\n\r\n @State()\r\n open = false;\r\n\r\n @State()\r\n visible = false;\r\n\r\n /**\r\n * Public Property API\r\n */\r\n\r\n /**\r\n * Name of the date picker input.\r\n */\r\n @Prop()\r\n name = \"date\";\r\n\r\n /**\r\n * Adds a unique identifier for the date picker input. Use this instead of html `id` attribute.\r\n */\r\n @Prop()\r\n identifier: string | undefined;\r\n\r\n /**\r\n * Makes the date picker input component disabled. This prevents users from being able to\r\n * interact with the input, and conveys its inactive state to assistive technologies.\r\n */\r\n @Prop({ reflect: true })\r\n disabled = false;\r\n\r\n /**\r\n * Defines a specific role attribute for the date picker input.\r\n */\r\n @Prop()\r\n // eslint-disable-next-line @stencil-community/reserved-member-names\r\n role: string | null = null;\r\n\r\n /**\r\n * Forces the opening direction of the calendar modal to be always left or right.\r\n * This setting can be useful when the input is smaller than the opening date picker\r\n * would be as by default the picker always opens towards right.\r\n */\r\n @Prop()\r\n direction: DsoDatePickerLegacyDirection = \"right\";\r\n\r\n /**\r\n * Should the input be marked as required?\r\n */\r\n @Prop()\r\n required = false;\r\n\r\n /**\r\n * Is input invalid?\r\n */\r\n @Prop({ reflect: true })\r\n invalid?: boolean;\r\n\r\n /**\r\n * ID of element that describes the input element\r\n */\r\n @Prop()\r\n describedBy?: string;\r\n\r\n /**\r\n * Should the input be focused on load?\r\n */\r\n @Prop()\r\n dsoAutofocus = false;\r\n\r\n /**\r\n * Date value. Must be in Dutch date format: DD-MM-YYYY.\r\n */\r\n @Prop({ reflect: true, mutable: true })\r\n value = \"\";\r\n\r\n /**\r\n * Minimum date allowed to be picked. Must be in Dutch date format: DD-MM-YYYY.\r\n * This setting can be used alone or together with the max property.\r\n */\r\n @Prop()\r\n min: string | undefined;\r\n\r\n /**\r\n * Maximum date allowed to be picked. Must be in Dutch date format: DD-MM-YYYY.\r\n * This setting can be used alone or together with the min property.\r\n */\r\n @Prop()\r\n max: string | undefined;\r\n\r\n /**\r\n * Events section.\r\n */\r\n\r\n /**\r\n * Event emitted when a date is selected.\r\n */\r\n @Event()\r\n dsoDateChange!: EventEmitter<DsoDatePickerLegacyChangeEvent>;\r\n\r\n /**\r\n * Event emitted the date picker input is blurred.\r\n */\r\n @Event()\r\n dsoBlur!: EventEmitter<DsoDatePickerLegacyFocusEvent>;\r\n\r\n /**\r\n * Event emitted on key up in the date picker input.\r\n */\r\n @Event()\r\n dsoKeyUp!: EventEmitter<DsoDatePickerLegacyKeyboardEvent>;\r\n\r\n /**\r\n * Event emitted on key down in the date picker input.\r\n */\r\n @Event()\r\n dsoKeyDown!: EventEmitter<DsoDatePickerLegacyKeyboardEvent>;\r\n\r\n /**\r\n * Event emitted the date picker input is focused.\r\n */\r\n @Event()\r\n dsoFocus!: EventEmitter<DsoDatePickerLegacyFocusEvent>;\r\n\r\n /**\r\n * Component event handling.\r\n */\r\n @Listen(\"click\", { target: \"document\", capture: true })\r\n handleDocumentClick(e: MouseEvent) {\r\n if (!this.open) {\r\n return;\r\n }\r\n\r\n const path = e.composedPath();\r\n\r\n for (const target of path) {\r\n if (target instanceof Node && this.element.contains(target)) {\r\n return;\r\n }\r\n }\r\n\r\n this.hide(false);\r\n }\r\n\r\n /**\r\n * Sets focus on the date picker's input. Use this method instead of the global `focus()`.\r\n */\r\n @Method()\r\n async setFocus() {\r\n return this.datePickerLegacyInput?.focus();\r\n }\r\n\r\n /**\r\n * Public methods API\r\n */\r\n\r\n /**\r\n * Show the calendar modal, moving focus to the calendar inside.\r\n */\r\n @Method()\r\n async show() {\r\n if (typeof this.hideTimeoutId !== \"undefined\") {\r\n clearTimeout(this.hideTimeoutId);\r\n }\r\n\r\n this.visible = true;\r\n\r\n setTimeout(() => {\r\n this.open = true;\r\n this.setFocusedDay(parseDutchDate(this.value) || new Date());\r\n\r\n if (typeof this.focusTimeoutId !== \"undefined\") {\r\n clearTimeout(this.focusTimeoutId);\r\n }\r\n\r\n this.focusTimeoutId = setTimeout(() => this.monthSelectNode?.focus(), TRANSITION_MS);\r\n });\r\n }\r\n\r\n /**\r\n * Hide the calendar modal. Set `moveFocusToButton` to false to prevent focus\r\n * returning to the date picker's button. Default is true.\r\n */\r\n @Method()\r\n async hide(moveFocusToButton = true) {\r\n this.open = false;\r\n\r\n // in cases where calendar is quickly shown and hidden\r\n // we should avoid moving focus to the button\r\n if (typeof this.focusTimeoutId !== \"undefined\") {\r\n clearTimeout(this.focusTimeoutId);\r\n }\r\n\r\n this.hideTimeoutId = setTimeout(() => {\r\n if (moveFocusToButton && this.datePickerLegacyButton) {\r\n this.datePickerLegacyButton.focus();\r\n }\r\n\r\n this.visible = false;\r\n }, TRANSITION_MS + 200);\r\n }\r\n\r\n /**\r\n * Local methods.\r\n */\r\n private enableActiveFocus = () => {\r\n this.activeFocus = true;\r\n };\r\n\r\n private disableActiveFocus = () => {\r\n this.activeFocus = false;\r\n };\r\n\r\n private addDays(days: number) {\r\n this.setFocusedDay(addDays(this.focusedDay, days));\r\n }\r\n\r\n private addMonths(months: number) {\r\n this.setMonth(this.focusedDay.getMonth() + months);\r\n }\r\n\r\n private addYears(years: number) {\r\n this.setYear(this.focusedDay.getFullYear() + years);\r\n }\r\n\r\n private startOfWeek() {\r\n this.setFocusedDay(startOfWeek(this.focusedDay, this.firstDayOfWeek));\r\n }\r\n\r\n private endOfWeek() {\r\n this.setFocusedDay(endOfWeek(this.focusedDay, this.firstDayOfWeek));\r\n }\r\n\r\n private setMonth(month: number) {\r\n const min = setMonth(startOfMonth(this.focusedDay), month);\r\n const max = endOfMonth(min);\r\n const date = setMonth(this.focusedDay, month);\r\n\r\n this.setFocusedDay(clamp(date, min, max));\r\n }\r\n\r\n private setYear(year: number) {\r\n const min = setYear(startOfMonth(this.focusedDay), year);\r\n const max = endOfMonth(min);\r\n const date = setYear(this.focusedDay, year);\r\n\r\n this.setFocusedDay(clamp(date, min, max));\r\n }\r\n\r\n private setFocusedDay(day: Date) {\r\n this.focusedDay = clamp(day, parseDutchDate(this.min), parseDutchDate(this.max));\r\n }\r\n\r\n private toggleOpen = (e: Event) => {\r\n e.preventDefault();\r\n if (this.open) {\r\n this.hide(false);\r\n } else {\r\n this.show();\r\n }\r\n };\r\n\r\n private handleEscKey = (event: KeyboardEvent) => {\r\n if (event.keyCode === keyCode.ESC) {\r\n this.hide();\r\n }\r\n };\r\n\r\n private handleBlur = (event: Event) => {\r\n event.stopPropagation();\r\n\r\n this.dsoBlur.emit({\r\n component: \"dso-date-picker-legacy\",\r\n });\r\n };\r\n\r\n private handleKeyUp = (event: KeyboardEvent) => {\r\n event.stopPropagation();\r\n\r\n this.dsoKeyUp.emit({\r\n component: \"dso-date-picker-legacy\",\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n private handleKeyDown = (event: KeyboardEvent) => {\r\n event.stopPropagation();\r\n\r\n this.dsoKeyDown.emit({\r\n component: \"dso-date-picker-legacy\",\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n private handleFocus = (event: Event) => {\r\n event.stopPropagation();\r\n\r\n this.dsoFocus.emit({\r\n component: \"dso-date-picker-legacy\",\r\n });\r\n };\r\n\r\n private handleTouchStart = (event: TouchEvent) => {\r\n const touch = event.changedTouches[0];\r\n if (!touch) {\r\n throw new Error(\"No touch found\");\r\n }\r\n\r\n this.initialTouchX = touch.pageX;\r\n this.initialTouchY = touch.pageY;\r\n };\r\n\r\n private handleTouchMove = (event: TouchEvent) => {\r\n event.preventDefault();\r\n };\r\n\r\n private handleTouchEnd = (event: TouchEvent) => {\r\n const touch = event.changedTouches[0];\r\n if (!touch) {\r\n throw new Error(\"No touch found\");\r\n }\r\n\r\n const distX = touch.pageX - (this.initialTouchX ?? 0); // get horizontal dist traveled\r\n const distY = touch.pageY - (this.initialTouchY ?? 0); // get vertical dist traveled\r\n const threshold = 70;\r\n\r\n const isHorizontalSwipe = Math.abs(distX) >= threshold && Math.abs(distY) <= threshold;\r\n const isDownwardsSwipe = Math.abs(distY) >= threshold && Math.abs(distX) <= threshold && distY > 0;\r\n\r\n if (isHorizontalSwipe) {\r\n this.addMonths(distX < 0 ? 1 : -1);\r\n } else if (isDownwardsSwipe) {\r\n this.hide(false);\r\n event.preventDefault();\r\n }\r\n\r\n this.initialTouchY = undefined;\r\n this.initialTouchX = undefined;\r\n };\r\n\r\n private handleNextMonthClick = (event: MouseEvent) => {\r\n event.preventDefault();\r\n this.addMonths(1);\r\n };\r\n\r\n private handlePreviousMonthClick = (event: MouseEvent) => {\r\n event.preventDefault();\r\n this.addMonths(-1);\r\n };\r\n\r\n private handleFirstFocusableKeydown = (event: KeyboardEvent) => {\r\n // this ensures focus is trapped inside the dialog\r\n if (event.keyCode === keyCode.TAB && event.shiftKey) {\r\n this.focusedDayNode?.focus();\r\n event.preventDefault();\r\n }\r\n };\r\n\r\n private handleKeyboardNavigation = (event: KeyboardEvent) => {\r\n // handle tab separately, since it needs to be treated\r\n // differently to other keyboard interactions\r\n if (event.keyCode === keyCode.TAB && !event.shiftKey) {\r\n event.preventDefault();\r\n this.firstFocusableElement?.focus();\r\n return;\r\n }\r\n\r\n let handled = true;\r\n\r\n switch (event.keyCode) {\r\n case keyCode.RIGHT:\r\n this.addDays(1);\r\n break;\r\n case keyCode.LEFT:\r\n this.addDays(-1);\r\n break;\r\n case keyCode.DOWN:\r\n this.addDays(7);\r\n break;\r\n case keyCode.UP:\r\n this.addDays(-7);\r\n break;\r\n case keyCode.PAGE_UP:\r\n if (event.shiftKey) {\r\n this.addYears(-1);\r\n } else {\r\n this.addMonths(-1);\r\n }\r\n break;\r\n case keyCode.PAGE_DOWN:\r\n if (event.shiftKey) {\r\n this.addYears(1);\r\n } else {\r\n this.addMonths(1);\r\n }\r\n break;\r\n case keyCode.HOME:\r\n this.startOfWeek();\r\n break;\r\n case keyCode.END:\r\n this.endOfWeek();\r\n break;\r\n default:\r\n handled = false;\r\n }\r\n\r\n if (handled) {\r\n event.preventDefault();\r\n this.enableActiveFocus();\r\n }\r\n };\r\n\r\n private handleDaySelect = (_event: MouseEvent, day: Date) => {\r\n if (!inRange(day, parseDutchDate(this.min), parseDutchDate(this.max))) {\r\n return;\r\n }\r\n\r\n if (day.getMonth() === this.focusedDay.getMonth()) {\r\n this.setValue(day);\r\n this.hide();\r\n } else {\r\n this.setFocusedDay(day);\r\n }\r\n };\r\n\r\n private handleMonthSelect = (e: Event) => {\r\n // Todo\r\n if (e.target instanceof HTMLSelectElement) {\r\n this.setMonth(parseInt(e.target.value, 10));\r\n }\r\n };\r\n\r\n private handleYearSelect = (e: Event) => {\r\n if (e.target instanceof HTMLSelectElement) {\r\n this.setYear(parseInt(e.target.value, 10));\r\n }\r\n };\r\n\r\n private handleInputChange = (e: Event) => {\r\n const target = e.target as HTMLInputElement;\r\n\r\n const cleanedValue = cleanValue(target, DISALLOWED_CHARACTERS);\r\n\r\n this.setValue(cleanedValue);\r\n };\r\n\r\n private setValue(value: Date | string) {\r\n const event = this.prepareEvent(value);\r\n\r\n this.value = typeof value === \"string\" ? value : event.value;\r\n\r\n if (this.value !== this.previousValue) {\r\n this.dsoDateChange.emit(event);\r\n this.previousValue = this.value;\r\n }\r\n }\r\n\r\n private prepareEvent = (value: Date | string): DsoDatePickerLegacyChangeEvent => {\r\n const event: DsoDatePickerLegacyChangeEvent = {\r\n component: \"dso-date-picker-legacy\",\r\n value: \"\",\r\n valueAsDate: undefined,\r\n };\r\n\r\n if (value instanceof Date) {\r\n event.valueAsDate = value;\r\n } else {\r\n event.value = value;\r\n event.valueAsDate = parseDutchDate(value);\r\n }\r\n\r\n if (event.valueAsDate) {\r\n event.value = printDutchDate(event.valueAsDate);\r\n }\r\n\r\n if (!event.valueAsDate && this.required) {\r\n event.error = \"required\";\r\n }\r\n\r\n if (event.value && !event.valueAsDate) {\r\n event.error = \"invalid\";\r\n }\r\n\r\n if (event.valueAsDate && (this.min || this.max)) {\r\n const min = parseDutchDate(this.min);\r\n const max = parseDutchDate(this.max);\r\n const clampValue = clamp(event.valueAsDate, min, max);\r\n\r\n if (clampValue !== event.valueAsDate && clampValue === min) {\r\n event.valueAsDate = undefined;\r\n event.error = \"min-range\";\r\n } else if (clampValue !== event.valueAsDate && clampValue === max) {\r\n event.valueAsDate = undefined;\r\n event.error = \"max-range\";\r\n }\r\n }\r\n\r\n return event;\r\n };\r\n\r\n private processFocusedDayNode = (element: HTMLButtonElement) => {\r\n this.focusedDayNode = element;\r\n\r\n if (this.activeFocus && this.open) {\r\n setTimeout(() => element.focus(), 0);\r\n }\r\n };\r\n\r\n componentWillLoad(): void | Promise<void> {\r\n const minDate = parseDutchDate(this.min);\r\n const maxDate = parseDutchDate(this.max);\r\n\r\n if (minDate && minDate > this.focusedDay) {\r\n this.focusedDay = minDate;\r\n }\r\n\r\n if (maxDate && maxDate < this.focusedDay) {\r\n this.focusedDay = maxDate;\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n const valueAsDate = parseDutchDate(this.value);\r\n if (valueAsDate) {\r\n this.previousValue = this.value = printDutchDate(valueAsDate);\r\n }\r\n\r\n if (this.dsoAutofocus) {\r\n this.setFocus();\r\n }\r\n }\r\n\r\n /**\r\n * render() function\r\n * Always the last one in the class.\r\n */\r\n render() {\r\n const valueAsDate = parseDutchDate(this.value);\r\n const formattedDate = valueAsDate && printDutchDate(valueAsDate);\r\n const selectedYear = (valueAsDate || this.focusedDay).getFullYear();\r\n const focusedMonth = this.focusedDay.getMonth();\r\n const focusedYear = this.focusedDay.getFullYear();\r\n\r\n const minDate = parseDutchDate(this.min);\r\n const maxDate = parseDutchDate(this.max);\r\n const prevMonthDisabled = minDate && minDate.getMonth() === focusedMonth && minDate.getFullYear() === focusedYear;\r\n const nextMonthDisabled = maxDate && maxDate.getMonth() === focusedMonth && maxDate.getFullYear() === focusedYear;\r\n\r\n let minYear = selectedYear - 10;\r\n let maxYear = selectedYear + 10;\r\n if (minDate) {\r\n minYear = Math.max(minYear, minDate.getFullYear());\r\n }\r\n if (maxDate) {\r\n maxYear = Math.min(maxYear, maxDate.getFullYear());\r\n }\r\n\r\n return (\r\n <Host>\r\n <div class={{ \"dso-date\": true, \"dso-visible\": this.visible }}>\r\n <div class=\"dso-date__input-wrapper\">\r\n <input\r\n class=\"dso-date__input\"\r\n value={this.value}\r\n placeholder={this.localization.placeholder}\r\n id={this.identifier}\r\n disabled={this.disabled}\r\n role={this.role ?? undefined}\r\n required={this.required ? true : undefined}\r\n aria-autocomplete=\"none\"\r\n aria-invalid={this.invalid?.toString()}\r\n aria-describedby={this.describedBy}\r\n onInput={this.handleInputChange}\r\n onFocus={this.handleFocus}\r\n onBlur={this.handleBlur}\r\n onKeyUp={this.handleKeyUp}\r\n onKeyDown={this.handleKeyDown}\r\n autoComplete=\"off\"\r\n ref={(element) => (this.datePickerLegacyInput = element)}\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"dso-date__toggle\"\r\n onClick={this.toggleOpen}\r\n disabled={this.disabled}\r\n ref={(element) => (this.datePickerLegacyButton = element)}\r\n >\r\n <span class=\"dso-date__toggle-icon\">\r\n <dso-icon icon=\"calendar\"></dso-icon>\r\n </span>\r\n <span class=\"dso-date__vhidden\">\r\n {this.localization.buttonLabel}\r\n {formattedDate && (\r\n <span>\r\n , {this.localization.selectedDateMessage} {formattedDate}\r\n </span>\r\n )}\r\n </span>\r\n </button>\r\n </div>\r\n\r\n <div\r\n class={{\r\n \"dso-date__dialog\": true,\r\n \"is-left\": this.direction === \"left\",\r\n \"is-active\": this.open,\r\n }}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-hidden={this.open ? \"false\" : \"true\"}\r\n aria-labelledby={this.dialogLabelId}\r\n onTouchMove={this.handleTouchMove}\r\n onTouchStart={this.handleTouchStart}\r\n onTouchEnd={this.handleTouchEnd}\r\n >\r\n <div class=\"dso-date__dialog-content\" onKeyDown={this.handleEscKey}>\r\n <div class=\"dso-date__vhidden dso-date__instructions\" aria-live=\"polite\">\r\n {this.localization.keyboardInstruction}\r\n </div>\r\n <div class=\"dso-date__mobile\" onFocusin={this.disableActiveFocus}>\r\n <label class=\"dso-date__mobile-heading\">{this.localization.calendarHeading}</label>\r\n <button\r\n class=\"dso-date__close\"\r\n ref={(element) => (this.firstFocusableElement = element)}\r\n onKeyDown={this.handleFirstFocusableKeydown}\r\n onClick={() => this.hide()}\r\n type=\"button\"\r\n >\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"dso-date__vhidden\">{this.localization.closeLabel}</span>\r\n </button>\r\n </div>\r\n <div class=\"dso-date__header\" onFocusin={this.disableActiveFocus}>\r\n <div>\r\n <h2 id={this.dialogLabelId} class=\"dso-date__vhidden\" aria-live=\"polite\">\r\n {this.localization.monthNames[focusedMonth]} {this.focusedDay.getFullYear()}\r\n </h2>\r\n\r\n <label htmlFor={this.monthSelectId} class=\"dso-date__vhidden\">\r\n {this.localization.monthSelectLabel}\r\n </label>\r\n <div class=\"dso-date__select\">\r\n <select\r\n id={this.monthSelectId}\r\n class=\"dso-date__select--month\"\r\n ref={(element) => (this.monthSelectNode = element)}\r\n onChange={this.handleMonthSelect}\r\n >\r\n {monthRange(this.localization, selectedYear, minDate, maxDate).map((month) => {\r\n const index = this.localization.monthNames.indexOf(month);\r\n\r\n return (\r\n <option key={month} value={index} selected={index === focusedMonth}>\r\n {month}\r\n </option>\r\n );\r\n })}\r\n </select>\r\n <div class=\"dso-date__select-label\" aria-hidden=\"true\">\r\n <span>{this.localization.monthNamesShort[focusedMonth]}</span>\r\n <dso-icon icon=\"chevron-down\"></dso-icon>\r\n </div>\r\n </div>\r\n\r\n <label htmlFor={this.yearSelectId} class=\"dso-date__vhidden\">\r\n {this.localization.yearSelectLabel}\r\n </label>\r\n <div class=\"dso-date__select\">\r\n <select id={this.yearSelectId} class=\"dso-date__select--year\" onChange={this.handleYearSelect}>\r\n {range(minYear, maxYear).map((year) => (\r\n <option key={year} selected={year === focusedYear}>\r\n {year}\r\n </option>\r\n ))}\r\n </select>\r\n <div class=\"dso-date__select-label\" aria-hidden=\"true\">\r\n <span>{this.focusedDay.getFullYear()}</span>\r\n <dso-icon icon=\"chevron-down\"></dso-icon>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"dso-date__nav\">\r\n <button\r\n class=\"dso-date__prev\"\r\n onClick={this.handlePreviousMonthClick}\r\n disabled={prevMonthDisabled}\r\n type=\"button\"\r\n >\r\n <dso-icon icon=\"chevron-left\"></dso-icon>\r\n <span class=\"dso-date__vhidden\">{this.localization.prevMonthLabel}</span>\r\n </button>\r\n <button\r\n class=\"dso-date__next\"\r\n onClick={this.handleNextMonthClick}\r\n disabled={nextMonthDisabled}\r\n type=\"button\"\r\n >\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n <span class=\"dso-date__vhidden\">{this.localization.nextMonthLabel}</span>\r\n </button>\r\n </div>\r\n </div>\r\n <DatePickerLegacyMonth\r\n selectedDate={valueAsDate}\r\n focusedDate={this.focusedDay}\r\n onDateSelect={this.handleDaySelect}\r\n onKeyboardNavigation={this.handleKeyboardNavigation}\r\n labelledById={this.dialogLabelId}\r\n localization={this.localization}\r\n firstDayOfWeek={this.firstDayOfWeek}\r\n focusedDayRef={this.processFocusedDayNode}\r\n min={minDate}\r\n max={maxDate}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as o,h as s,F as t,g as i}from"./p-BzEnSYbR.js";import{c as l}from"./p-ChV9xqsO.js";import{d as r}from"./p-DDU8nTJS.js";import{v as d}from"./p-BF0_OXTe.js";import"./p-BFTU3MAI.js";const a=":host{display:inline-block;max-inline-size:100%}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.dso-label{border-radius:4px;display:inline-block;line-height:1.5;max-inline-size:100%;padding-block:4px;padding-inline:8px}.dso-label:focus-within,.dso-label.dso-hover{text-decoration:line-through}.dso-label button{background:none;border:0;border-radius:0 4px 4px 0;color:inherit;float:inline-end;font-size:1rem;margin-block-end:-4px;margin-inline-start:8px;margin-inline-end:-4px;margin-block-start:0;padding:0}.dso-label button:hover{cursor:pointer}.dso-label button>dso-icon,.dso-label button>svg.di{display:block}.dso-label{background-color:#f2f2f2;border-color:#f2f2f2;color:#191919}.dso-label.dso-label-info{background-color:#6ca4d9;border-color:#6ca4d9;color:#191919}.dso-label.dso-label-primary{background-color:#275937;border-color:#275937;color:#fff}.dso-label.dso-label-success{background-color:#39870c;border-color:#39870c;color:#fff}.dso-label.dso-label-warning{background-color:#dcd400;border-color:#dcd400;color:#191919}.dso-label.dso-label-danger{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.dso-label.dso-label-error{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.dso-label.dso-label-bright{background-color:#fff;border-color:#fff;color:#191919}.dso-label.dso-label-bright{outline:1px solid #ccc;outline-offset:-1px}.dso-label.dso-label-attention{background-color:#8b4a6a;border-color:#8b4a6a;color:#fff}.dso-label.dso-compact{padding-block:0;padding-inline:8px}.dso-label.dso-hover .dso-label-content{text-decoration:line-through}.dso-truncate.dso-label-content{display:inline-block;max-inline-size:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}:host([removable]) .dso-truncate.dso-label-content{max-inline-size:calc(100% - 28px)}";const n=new ResizeObserver(r((e=>{e.forEach((({target:e})=>{if(c(e)){e._truncateLabel()}}))}),150));function c(e){return e.tagName==="DSO-LABEL"}function b(e){return e.scrollWidth>e.clientWidth}const h=class{constructor(s){e(this,s);this.dsoRemoveClick=o(this,"dsoRemoveClick",7);this.isTruncated=false;this.labelText=""}watchRemovable(e){if(e){this.startMutationObserver()}else{this.stopMutationObserver()}}watchTruncate(e){if(e){this.startTruncate()}else{this.stopTruncate()}}keyDownListener(e){if(e.key==="Escape"){this.textHover=false;this.textFocus=false}}async _truncateLabel(){setTimeout((()=>{this.isTruncated=!!this.labelContent&&b(this.labelContent)}))}syncLabelText(){var e,o;this.labelText=(o=(e=this.host.textContent)===null||e===void 0?void 0:e.trim())!==null&&o!==void 0?o:""}componentDidLoad(){if(this.truncate){this.startTruncate()}if(this.removable){this.startMutationObserver()}}disconnectedCallback(){this.stopTruncate();this.stopMutationObserver(true)}startMutationObserver(){this.mutationObserver=new MutationObserver((()=>this.syncLabelText()));this.mutationObserver.observe(this.host,{characterData:true,childList:true,subtree:true,attributes:true});this.syncLabelText()}stopMutationObserver(e=false){var o;if(e||!(this.truncate&&this.removable)){(o=this.mutationObserver)===null||o===void 0?void 0:o.disconnect();delete this.mutationObserver}}startTruncate(){n.observe(this.host);this.startMutationObserver();this._truncateLabel()}stopTruncate(){n.unobserve(this.host);this.stopMutationObserver();this.isTruncated=false}render(){return s(t,{key:"8fd30b6ad557f1d54be48b339e682b148b44e2ba"},s("span",{key:"0bdb791180337871d18c42341c16fa897ca8922c","aria-describedby":"toggle-anchor",class:l("dso-label",{[`dso-label-${this.status}`]:this.status,"dso-compact":this.compact&&!this.removable,"dso-hover":this.removeHover||this.removeFocus})},s("slot",{key:"3b42de72a93e7c0b3aee68935d7ed3aabfb0dd06",name:"symbol"}),s("span",{key:"107445074a029cdf794553429e05f2db498371ae",class:l("dso-label-content",{"dso-truncate":!!this.truncate}),ref:e=>this.labelContent=e,tabindex:this.truncate&&this.isTruncated?0:undefined,onMouseEnter:()=>this.textHover=true,onMouseLeave:()=>this.textHover=false,onFocus:()=>this.textFocus=true,onBlur:()=>this.textFocus=false},s("slot",{key:"8b5f26d80ca6b93fc2a18679526f9ca5c4539415"})),this.removable&&s("button",{key:"31a358d27b50ffa19a40fd13e5b4962a97b20267",type:"button",onClick:e=>this.dsoRemoveClick.emit(e),onMouseEnter:()=>this.removeHover=true,onMouseLeave:()=>this.removeHover=false,onFocus:()=>this.removeFocus=true,onBlur:()=>this.removeFocus=false},s("span",{key:"825778552459fa71dc1dd1bfba8788ad33f82faa",class:"sr-only"},"Verwijder: ",this.labelText),s("dso-icon",{key:"a414a63d43c18e66355dd87eab556251490bff9e",icon:"times"}))),this.isTruncated&&s("dso-tooltip",{key:"d9bba58c8c88b5e4c33fecdbfd1f17a2db122cdc",stateless:true,id:"toggle-anchor",active:this.textHover||this.textFocus,position:"top",strategy:"absolute"},this.labelText))}get host(){return i(this)}static get watchers(){return{removable:["watchRemovable"],truncate:["watchTruncate"]}}};h.style=a;const g=({text:e,mark:o,onMarkItemHighlight:i})=>{if(!o){return s(t,null,e)}const l=o(e);if(!l){return s(t,null,e)}return s(t,null,l.map((e=>{if(typeof e==="string"){return s(t,null,e)}return s("mark",{class:e.highlight?"dso-highlight":undefined,ref:o=>e.highlight&&o&&i(e.text,o)},e.text)})))};const f=({value:e,mark:o,onMarkItemHighlight:i})=>{if(typeof e==="string"||!e){return s("span",{class:"text"},s(g,{text:e,mark:o,onMarkItemHighlight:i}))}if("toegevoegd"in e){return s("ins",null,s(g,{text:e.toegevoegd,mark:o,onMarkItemHighlight:i}))}if("verwijderd"in e){return s("del",null,s(g,{text:e.verwijderd,mark:o,onMarkItemHighlight:i}))}return s(t,null,s("del",null,s(g,{text:e.was,mark:o,onMarkItemHighlight:i})),s("ins",null,s(g,{text:e.wordt,mark:o,onMarkItemHighlight:i})))};const u='ins{text-decoration:none}ins{--link-color:currentColor;--link-hover-color:currentColor;--link-visited-color:currentColor;background-color:#e4f1d4;border-color:#e4f1d4;color:#191919}ins a:is(.download,.download:hover,.download:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#download-zwart"))}ins a:is(.extern,.extern:hover,.extern:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#external-link-zwart"))}ins a:is([href^="tel:"],[href^="tel:"]:hover,[href^="tel:"]:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#call-zwart"))}ins a:is([href^="mailto:"],[href^="mailto:"]:hover,[href^="mailto:"]:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#email-zwart"))}ins{box-shadow:0 1px 3px 1px rgba(0, 0, 0, 0.25)}del{--link-color:currentColor;--link-hover-color:currentColor;--link-visited-color:currentColor;background-color:#f5d8dc;border-color:#f5d8dc;color:#191919}del a:is(.download,.download:hover,.download:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#download-zwart"))}del a:is(.extern,.extern:hover,.extern:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#external-link-zwart"))}del a:is([href^="tel:"],[href^="tel:"]:hover,[href^="tel:"]:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#call-zwart"))}del a:is([href^="mailto:"],[href^="mailto:"]:hover,[href^="mailto:"]:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#email-zwart"))}del{text-decoration:line-through}@media screen and (min--moz-device-pixel-ratio: 0){del{font-family:sans-serif}}mark{background-color:var(--_dt-mark-bg-color, #f8f5ce);color:var(--_dt-mark-color, #000);padding-block:var(--_dt-mark-padding-block, 0.2rem);font-weight:var(--_dt-mark-font-weight, normal)}mark.dso-highlight{background-color:#dbd136}:host{display:inline}*,*::after,*::before{box-sizing:border-box}.text{text-decoration:var(--_dso-renvooi-text-decoration)}';const k=class{constructor(s){e(this,s);this.dsoRenvooiMarkItemHighlight=o(this,"dsoRenvooiMarkItemHighlight",3);this.handleMarkItemHighlight=(e,o)=>{this.dsoRenvooiMarkItemHighlight.emit({text:e,elementRef:o})}}get values(){if(!this.value){return[]}return Array.isArray(this.value)?this.value:[this.value]}render(){return s(t,null,this.values.map((e=>s(f,{value:e,mark:this.mark&&(o=>{var s;return(s=this.mark)===null||s===void 0?void 0:s.call(this,o,e,this.values)}),onMarkItemHighlight:this.handleMarkItemHighlight}))))}};k.style=u;const v=".sc-dso-slide-toggle-h{display:inline-block;padding-block-start:2px}button.dso-slider.sc-dso-slide-toggle{border:0;padding:0}button.dso-slider.sc-dso-slide-toggle:focus-visible{outline:2px solid #323232;outline-offset:1px}button.dso-slider.sc-dso-slide-toggle svg.sc-dso-slide-toggle rect.sc-dso-slide-toggle{fill:#999;transition:fill 0.25s}button.dso-slider.sc-dso-slide-toggle svg.sc-dso-slide-toggle circle.sc-dso-slide-toggle{transition:transform 260ms cubic-bezier(0.4, 0, 0.2, 1);transform:translateX(10px);fill:#fff}button.dso-slider[aria-checked=true].sc-dso-slide-toggle svg.sc-dso-slide-toggle rect.sc-dso-slide-toggle{fill:#275937}button.dso-slider[aria-checked=true].sc-dso-slide-toggle svg.sc-dso-slide-toggle circle.sc-dso-slide-toggle{transform:translateX(30px);fill:#fff}button.dso-slider[disabled].sc-dso-slide-toggle svg.sc-dso-slide-toggle rect.sc-dso-slide-toggle{fill:#ccc}button.dso-slider[disabled].sc-dso-slide-toggle svg.sc-dso-slide-toggle circle.sc-dso-slide-toggle{fill:#e5e5e5}button.dso-slider[disabled][aria-checked=true].sc-dso-slide-toggle svg.sc-dso-slide-toggle rect.sc-dso-slide-toggle{fill:#a8bcaf}button.dso-slider[disabled][aria-checked=true].sc-dso-slide-toggle svg.sc-dso-slide-toggle circle.sc-dso-slide-toggle{fill:#e5e5e5}.dso-slider.sc-dso-slide-toggle{border-radius:24px;display:inline-flex}.dso-slider.sc-dso-slide-toggle:hover{cursor:pointer}";const m=class{constructor(s){e(this,s);this.dsoActiveChange=o(this,"dsoActiveChange",5);this.checked=false;this.disabled=false;this.identifier=d()}handleSwitch(e){this.dsoActiveChange.emit({originalEvent:e,checked:!this.checked})}componentWillLoad(){this.hasVisibleLabel=this.host.querySelector("*")!==null}render(){return s(t,null,s("button",Object.assign({key:"7ff86866a9d77df22b05998c9ab88e9b44a3037f",id:this.identifier,role:"switch",class:"dso-slider","aria-checked":""+this.checked,disabled:this.disabled,onClick:e=>this.handleSwitch(e)},this.accessibleLabel?{"aria-label":this.accessibleLabel}:{},this.labelledbyId?{"aria-labelledby":this.labelledbyId}:{}),s("svg",{key:"fe3211c16c38e99ee8aecef786dd546e7c8a059f",xmlns:"http://www.w3.org/2000/svg",width:"40",height:"20",viewBox:"0 0 40 20"},s("g",{key:"771ac2486522b8e2bb130d7bb4e0779fe0adbe45",fill:"none","fill-rule":"evenodd"},s("rect",{key:"9856f027ca31cfd9732774c7440eb07ef749c4d0",width:"40",height:"20",fill:"currentColor",rx:"10"}),s("circle",{key:"65ea5eba7b1e850822b2bf57537739547bc19a52",cy:"10",r:"8",fill:"currentColor"})))),this.hasVisibleLabel&&s("label",{key:"e140104191700dbdb0e8c1061f78617217e459d8",htmlFor:this.identifier},s("slot",{key:"a2f1b30ad79f1ab9c47b28e2e4814a5198919bde"})))}get host(){return i(this)}};m.style=v;export{h as dso_label,k as dso_renvooi,m as dso_slide_toggle};
2
+ //# sourceMappingURL=p-77f41816.entry.js.map