@dso-toolkit/core 62.19.0 → 62.20.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 (377) hide show
  1. package/dist/cjs/dso-accordion-section.cjs.entry.js +2 -2
  2. package/dist/cjs/dso-accordion.cjs.entry.js +1 -1
  3. package/dist/cjs/dso-action-list-item.cjs.entry.js +2 -2
  4. package/dist/cjs/dso-action-list-item.cjs.entry.js.map +1 -1
  5. package/dist/cjs/dso-action-list.cjs.entry.js +1 -1
  6. package/dist/cjs/dso-advanced-select.cjs.entry.js +2 -2
  7. package/dist/cjs/dso-advanced-select.cjs.entry.js.map +1 -1
  8. package/dist/cjs/dso-alert_7.cjs.entry.js +55 -30
  9. package/dist/cjs/dso-alert_7.cjs.entry.js.map +1 -1
  10. package/dist/cjs/dso-annotation-output_3.cjs.entry.js +3 -3
  11. package/dist/cjs/dso-annotation-output_3.cjs.entry.js.map +1 -1
  12. package/dist/cjs/dso-attachments-counter.cjs.entry.js +1 -1
  13. package/dist/cjs/dso-autosuggest.cjs.entry.js +1 -1
  14. package/dist/cjs/dso-banner.cjs.entry.js +2 -2
  15. package/dist/cjs/dso-card-container.cjs.entry.js +1 -1
  16. package/dist/cjs/dso-card-container.cjs.entry.js.map +1 -1
  17. package/dist/cjs/dso-card.cjs.entry.js +2 -2
  18. package/dist/cjs/dso-card.cjs.entry.js.map +1 -1
  19. package/dist/cjs/dso-date-picker-legacy.cjs.entry.js +3 -3
  20. package/dist/cjs/dso-date-picker-legacy.cjs.entry.js.map +1 -1
  21. package/dist/cjs/dso-date-picker.cjs.entry.js +1 -1
  22. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +1 -1
  23. package/dist/cjs/dso-expandable.cjs.entry.js +2 -2
  24. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js +2 -2
  25. package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
  26. package/dist/cjs/dso-highlight-box.cjs.entry.js.map +1 -1
  27. package/dist/cjs/dso-icon.cjs.entry.js +1 -1
  28. package/dist/cjs/dso-info-button.cjs.entry.js +1 -1
  29. package/dist/cjs/dso-info_2.cjs.entry.js +2 -2
  30. package/dist/cjs/dso-info_2.cjs.entry.js.map +1 -1
  31. package/dist/cjs/dso-input-range.cjs.entry.js +2 -2
  32. package/dist/cjs/dso-input-range.cjs.entry.js.map +1 -1
  33. package/dist/cjs/dso-legend-item.cjs.entry.js +46 -0
  34. package/dist/cjs/dso-legend-item.cjs.entry.js.map +1 -0
  35. package/dist/cjs/dso-list-button.cjs.entry.js +1 -1
  36. package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -1
  37. package/dist/cjs/dso-logo.cjs.entry.js +1 -1
  38. package/dist/cjs/dso-logo.cjs.entry.js.map +1 -1
  39. package/dist/cjs/dso-map-base-layers.cjs.entry.js +1 -1
  40. package/dist/cjs/dso-map-controls.cjs.entry.js +1 -1
  41. package/dist/cjs/dso-map-overlays.cjs.entry.js +1 -1
  42. package/dist/cjs/dso-mark-bar.cjs.entry.js +1 -1
  43. package/dist/cjs/dso-modal.cjs.entry.js +2 -2
  44. package/dist/cjs/dso-modal.cjs.entry.js.map +1 -1
  45. package/dist/cjs/dso-progress-bar.cjs.entry.js +1 -1
  46. package/dist/cjs/dso-progress-indicator.cjs.entry.js +1 -1
  47. package/dist/cjs/dso-responsive-element.cjs.entry.js +1 -1
  48. package/dist/cjs/dso-scrollable.cjs.entry.js +2 -2
  49. package/dist/cjs/dso-toggletip.cjs.entry.js +1 -1
  50. package/dist/cjs/dso-toolkit.cjs.js +2 -2
  51. package/dist/cjs/dso-toolkit.cjs.js.map +1 -1
  52. package/dist/cjs/dso-tooltip.cjs.entry.js +1 -1
  53. package/dist/cjs/dso-tooltip.cjs.entry.js.map +1 -1
  54. package/dist/cjs/dso-tree-view.cjs.entry.js +1 -1
  55. package/dist/cjs/dso-viewer-grid.cjs.entry.js +1 -1
  56. package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -1
  57. package/dist/cjs/dsot-document-component-demo.cjs.entry.js +1 -1
  58. package/dist/cjs/dsot-document-component-demo.cjs.entry.js.map +1 -1
  59. package/dist/cjs/index-a58ba49d.js.map +1 -1
  60. package/dist/cjs/loader.cjs.js +1 -1
  61. package/dist/collection/collection-manifest.json +3 -2
  62. package/dist/collection/components/accordion/accordion.js +1 -1
  63. package/dist/collection/components/accordion/components/accordion-section.js +2 -2
  64. package/dist/collection/components/action-list/action-list.js +1 -1
  65. package/dist/collection/components/action-list/components/action-list-item.js +2 -2
  66. package/dist/collection/components/action-list/components/action-list-item.js.map +1 -1
  67. package/dist/collection/components/advanced-select/advanced-select.js +2 -2
  68. package/dist/collection/components/advanced-select/advanced-select.js.map +1 -1
  69. package/dist/collection/components/alert/alert.js +1 -1
  70. package/dist/collection/components/annotation-output/annotation-output.js +1 -1
  71. package/dist/collection/components/annotation-output/annotation-output.js.map +1 -1
  72. package/dist/collection/components/attachments-counter/attachments-counter.js +1 -1
  73. package/dist/collection/components/autosuggest/autosuggest.js +1 -1
  74. package/dist/collection/components/badge/badge.js +1 -1
  75. package/dist/collection/components/banner/banner.js +2 -2
  76. package/dist/collection/components/card/card.js +2 -2
  77. package/dist/collection/components/card/card.js.map +1 -1
  78. package/dist/collection/components/card-container/card-container.js +1 -1
  79. package/dist/collection/components/card-container/card-container.js.map +1 -1
  80. package/dist/collection/components/date-picker/date-picker.js +1 -1
  81. package/dist/collection/components/date-picker-legacy/date-picker-legacy.js +3 -3
  82. package/dist/collection/components/document-component/document-component.js +1 -1
  83. package/dist/collection/components/document-component/document-component.js.map +1 -1
  84. package/dist/collection/components/document-component-demo/document-component.demo.js +1 -1
  85. package/dist/collection/components/document-component-demo/document-component.demo.js.map +1 -1
  86. package/dist/collection/components/dropdown-menu/dropdown-menu.js +1 -1
  87. package/dist/collection/components/expandable/expandable.js +2 -2
  88. package/dist/collection/components/helpcenter-panel/helpcenter-panel.js +2 -2
  89. package/dist/collection/components/highlight-box/highlight-box.js +1 -1
  90. package/dist/collection/components/highlight-box/highlight-box.js.map +1 -1
  91. package/dist/collection/components/icon/icon.js +1 -1
  92. package/dist/collection/components/info/info.js +1 -1
  93. package/dist/collection/components/info/info.js.map +1 -1
  94. package/dist/collection/components/info-button/info-button.js +1 -1
  95. package/dist/collection/components/input-range/input-range.js +2 -2
  96. package/dist/collection/components/input-range/input-range.js.map +1 -1
  97. package/dist/collection/components/label/label.js +3 -3
  98. package/dist/collection/components/label/label.js.map +1 -1
  99. package/dist/collection/components/legend-item/legend-item.css +104 -0
  100. package/dist/collection/components/legend-item/legend-item.interfaces.js +2 -0
  101. package/dist/collection/components/legend-item/legend-item.interfaces.js.map +1 -0
  102. package/dist/collection/components/legend-item/legend-item.js +162 -0
  103. package/dist/collection/components/legend-item/legend-item.js.map +1 -0
  104. package/dist/collection/components/list-button/list-button.js +1 -1
  105. package/dist/collection/components/list-button/list-button.js.map +1 -1
  106. package/dist/collection/components/logo/logo.js +1 -1
  107. package/dist/collection/components/logo/logo.js.map +1 -1
  108. package/dist/collection/components/map-base-layers/map-base-layers.js +1 -1
  109. package/dist/collection/components/map-controls/map-controls.js +1 -1
  110. package/dist/collection/components/map-overlays/map-overlays.js +1 -1
  111. package/dist/collection/components/mark-bar/mark-bar.js +1 -1
  112. package/dist/collection/components/modal/modal.js +2 -2
  113. package/dist/collection/components/modal/modal.js.map +1 -1
  114. package/dist/collection/components/ozon-content/functional-components/wrap-wijzigactie.functional-component.js +11 -0
  115. package/dist/collection/components/ozon-content/functional-components/wrap-wijzigactie.functional-component.js.map +1 -0
  116. package/dist/collection/components/ozon-content/functions/parse-wijzigactie-from-node.function.js +5 -0
  117. package/dist/collection/components/ozon-content/functions/parse-wijzigactie-from-node.function.js.map +1 -0
  118. package/dist/collection/components/ozon-content/functions/wijzigactie-to-class-name.function.js +10 -0
  119. package/dist/collection/components/ozon-content/functions/wijzigactie-to-class-name.function.js.map +1 -0
  120. package/dist/collection/components/ozon-content/nodes/al.node.js +6 -11
  121. package/dist/collection/components/ozon-content/nodes/al.node.js.map +1 -1
  122. package/dist/collection/components/ozon-content/nodes/lijst.node.js +14 -4
  123. package/dist/collection/components/ozon-content/nodes/lijst.node.js.map +1 -1
  124. package/dist/collection/components/ozon-content/ozon-content.css +23 -2
  125. package/dist/collection/components/ozon-content/ozon-content.interfaces.js.map +1 -1
  126. package/dist/collection/components/ozon-content/ozon-content.js +1 -1
  127. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  128. package/dist/collection/components/progress-indicator/progress-indicator.js +1 -1
  129. package/dist/collection/components/responsive-element/responsive-element.js +1 -1
  130. package/dist/collection/components/scrollable/scrollable.js +2 -2
  131. package/dist/collection/components/selectable/selectable.js +1 -1
  132. package/dist/collection/components/selectable/selectable.js.map +1 -1
  133. package/dist/collection/components/slide-toggle/slide-toggle.js +1 -1
  134. package/dist/collection/components/slide-toggle/slide-toggle.js.map +1 -1
  135. package/dist/collection/components/table/table.js +1 -1
  136. package/dist/collection/components/table/table.js.map +1 -1
  137. package/dist/collection/components/toggletip/toggletip.js +1 -1
  138. package/dist/collection/components/tooltip/tooltip.js +1 -1
  139. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  140. package/dist/collection/components/tree-view/tree-view.js +1 -1
  141. package/dist/collection/components/viewer-grid/viewer-grid.js +1 -1
  142. package/dist/collection/components/viewer-grid/viewer-grid.js.map +1 -1
  143. package/dist/components/alert.js +1 -1
  144. package/dist/components/annotation-output.js +1 -1
  145. package/dist/components/annotation-output.js.map +1 -1
  146. package/dist/components/attachments-counter.js +1 -1
  147. package/dist/components/badge.js +1 -1
  148. package/dist/components/document-component.js +1 -1
  149. package/dist/components/document-component.js.map +1 -1
  150. package/dist/components/dropdown-menu.js +1 -1
  151. package/dist/components/dso-accordion-section.js +2 -2
  152. package/dist/components/dso-accordion.js +1 -1
  153. package/dist/components/dso-action-list-item.js +2 -2
  154. package/dist/components/dso-action-list-item.js.map +1 -1
  155. package/dist/components/dso-action-list.js +1 -1
  156. package/dist/components/dso-advanced-select.js +2 -2
  157. package/dist/components/dso-advanced-select.js.map +1 -1
  158. package/dist/components/dso-autosuggest.js +1 -1
  159. package/dist/components/dso-banner.js +2 -2
  160. package/dist/components/dso-card-container.js +1 -1
  161. package/dist/components/dso-card-container.js.map +1 -1
  162. package/dist/components/dso-card.js +2 -2
  163. package/dist/components/dso-card.js.map +1 -1
  164. package/dist/components/dso-date-picker-legacy.js +3 -3
  165. package/dist/components/dso-date-picker-legacy.js.map +1 -1
  166. package/dist/components/dso-date-picker.js +1 -1
  167. package/dist/components/dso-helpcenter-panel.js +2 -2
  168. package/dist/components/dso-highlight-box.js +1 -1
  169. package/dist/components/dso-highlight-box.js.map +1 -1
  170. package/dist/components/dso-input-range.js +2 -2
  171. package/dist/components/dso-input-range.js.map +1 -1
  172. package/dist/components/dso-legend-item.d.ts +11 -0
  173. package/dist/components/dso-legend-item.js +89 -0
  174. package/dist/components/dso-legend-item.js.map +1 -0
  175. package/dist/components/dso-list-button.js +1 -1
  176. package/dist/components/dso-list-button.js.map +1 -1
  177. package/dist/components/dso-logo.js +1 -1
  178. package/dist/components/dso-logo.js.map +1 -1
  179. package/dist/components/dso-map-base-layers.js +1 -1
  180. package/dist/components/dso-map-controls.js +1 -1
  181. package/dist/components/dso-map-overlays.js +1 -1
  182. package/dist/components/dso-mark-bar.js +1 -1
  183. package/dist/components/dso-modal.js +2 -2
  184. package/dist/components/dso-modal.js.map +1 -1
  185. package/dist/components/dso-progress-bar.js +1 -1
  186. package/dist/components/dso-toggletip.js +1 -86
  187. package/dist/components/dso-toggletip.js.map +1 -1
  188. package/dist/components/dso-tree-view.js +1 -1
  189. package/dist/components/dso-viewer-grid.js +1 -1
  190. package/dist/components/dso-viewer-grid.js.map +1 -1
  191. package/dist/components/dsot-document-component-demo.js +1 -1
  192. package/dist/components/dsot-document-component-demo.js.map +1 -1
  193. package/dist/components/expandable.js +2 -2
  194. package/dist/components/icon.js +1 -1
  195. package/dist/components/index.d.ts +2 -0
  196. package/dist/components/index.js +1 -0
  197. package/dist/components/index.js.map +1 -1
  198. package/dist/components/info-button.js +1 -1
  199. package/dist/components/info.js +1 -1
  200. package/dist/components/info.js.map +1 -1
  201. package/dist/components/label.js +3 -3
  202. package/dist/components/label.js.map +1 -1
  203. package/dist/components/ozon-content.js +49 -24
  204. package/dist/components/ozon-content.js.map +1 -1
  205. package/dist/components/progress-indicator.js +1 -1
  206. package/dist/components/responsive-element.js +1 -1
  207. package/dist/components/scrollable.js +2 -2
  208. package/dist/components/selectable.js +1 -1
  209. package/dist/components/selectable.js.map +1 -1
  210. package/dist/components/slide-toggle.js +1 -1
  211. package/dist/components/slide-toggle.js.map +1 -1
  212. package/dist/components/table.js +1 -1
  213. package/dist/components/table.js.map +1 -1
  214. package/dist/components/toggletip.js +90 -0
  215. package/dist/components/toggletip.js.map +1 -0
  216. package/dist/components/tooltip.js +1 -1
  217. package/dist/components/tooltip.js.map +1 -1
  218. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  219. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  220. package/dist/dso-toolkit/p-0142294a.entry.js +2 -0
  221. package/dist/dso-toolkit/p-0142294a.entry.js.map +1 -0
  222. package/dist/dso-toolkit/{p-69e2f1a3.entry.js → p-0308135a.entry.js} +2 -2
  223. package/dist/dso-toolkit/{p-69e2f1a3.entry.js.map → p-0308135a.entry.js.map} +1 -1
  224. package/dist/dso-toolkit/{p-590c98cb.entry.js → p-0bb4a95b.entry.js} +2 -2
  225. package/dist/dso-toolkit/{p-590c98cb.entry.js.map → p-0bb4a95b.entry.js.map} +1 -1
  226. package/dist/dso-toolkit/{p-b8be68cd.entry.js → p-0bbdb3e7.entry.js} +2 -2
  227. package/dist/dso-toolkit/{p-d6fa20f7.entry.js → p-0c1b34f6.entry.js} +2 -2
  228. package/dist/dso-toolkit/{p-d6fa20f7.entry.js.map → p-0c1b34f6.entry.js.map} +1 -1
  229. package/dist/dso-toolkit/p-10d464fa.entry.js +2 -0
  230. package/dist/dso-toolkit/{p-9f9ed7fc.entry.js → p-1cb9cd71.entry.js} +2 -2
  231. package/dist/dso-toolkit/{p-9f9ed7fc.entry.js.map → p-1cb9cd71.entry.js.map} +1 -1
  232. package/dist/dso-toolkit/{p-05115f40.entry.js → p-1f66a719.entry.js} +2 -2
  233. package/dist/dso-toolkit/{p-00f36d82.entry.js → p-28de6034.entry.js} +2 -2
  234. package/dist/dso-toolkit/{p-c435f94d.entry.js → p-435baefc.entry.js} +2 -2
  235. package/dist/dso-toolkit/{p-c435f94d.entry.js.map → p-435baefc.entry.js.map} +1 -1
  236. package/dist/dso-toolkit/{p-9579c352.entry.js → p-43bcfb18.entry.js} +2 -2
  237. package/dist/dso-toolkit/{p-9579c352.entry.js.map → p-43bcfb18.entry.js.map} +1 -1
  238. package/dist/dso-toolkit/{p-8a41761d.entry.js → p-4eaf26e3.entry.js} +2 -2
  239. package/dist/dso-toolkit/{p-0df15acb.entry.js → p-5028d1e1.entry.js} +2 -2
  240. package/dist/dso-toolkit/{p-171df922.entry.js → p-62ec675a.entry.js} +2 -2
  241. package/dist/dso-toolkit/{p-171df922.entry.js.map → p-62ec675a.entry.js.map} +1 -1
  242. package/dist/dso-toolkit/{p-ba1757f9.entry.js → p-64755e52.entry.js} +2 -2
  243. package/dist/dso-toolkit/{p-1543b25f.entry.js → p-64d88436.entry.js} +2 -2
  244. package/dist/dso-toolkit/{p-c3af1efc.entry.js → p-67480a2f.entry.js} +2 -2
  245. package/dist/dso-toolkit/{p-3b8f44b1.entry.js → p-6e7dcc0e.entry.js} +2 -2
  246. package/dist/dso-toolkit/{p-3b8f44b1.entry.js.map → p-6e7dcc0e.entry.js.map} +1 -1
  247. package/dist/dso-toolkit/p-701648d3.js.map +1 -1
  248. package/dist/dso-toolkit/{p-e1f82103.entry.js → p-7f5b0979.entry.js} +2 -2
  249. package/dist/dso-toolkit/{p-bf2ef44a.entry.js → p-86e80f9c.entry.js} +2 -2
  250. package/dist/dso-toolkit/{p-ffdcb2e4.entry.js → p-88b1db54.entry.js} +2 -2
  251. package/dist/dso-toolkit/p-906ae1e7.entry.js +2 -0
  252. package/dist/dso-toolkit/p-9709ff83.entry.js +2 -0
  253. package/dist/dso-toolkit/p-a00fb3ac.entry.js +2 -0
  254. package/dist/dso-toolkit/p-a00fb3ac.entry.js.map +1 -0
  255. package/dist/dso-toolkit/{p-ae783ec3.entry.js → p-b22757ab.entry.js} +2 -2
  256. package/dist/dso-toolkit/p-b51c4022.entry.js +2 -0
  257. package/dist/dso-toolkit/{p-e968c726.entry.js.map → p-b51c4022.entry.js.map} +1 -1
  258. package/dist/dso-toolkit/{p-0f1c1ad3.entry.js → p-b879c985.entry.js} +2 -2
  259. package/dist/dso-toolkit/{p-db0796f2.entry.js → p-bc3c966f.entry.js} +2 -2
  260. package/dist/dso-toolkit/p-bc95874a.entry.js +2 -0
  261. package/dist/dso-toolkit/{p-64ed1e16.entry.js.map → p-bc95874a.entry.js.map} +1 -1
  262. package/dist/dso-toolkit/{p-130c00f5.entry.js → p-bcc19bae.entry.js} +2 -2
  263. package/dist/dso-toolkit/{p-f3f23018.entry.js → p-bec5778a.entry.js} +2 -2
  264. package/dist/dso-toolkit/{p-f3f23018.entry.js.map → p-bec5778a.entry.js.map} +1 -1
  265. package/dist/dso-toolkit/{p-32e3c872.entry.js → p-c22965e0.entry.js} +2 -2
  266. package/dist/dso-toolkit/{p-32e3c872.entry.js.map → p-c22965e0.entry.js.map} +1 -1
  267. package/dist/dso-toolkit/p-cd466fa3.entry.js +2 -0
  268. package/dist/dso-toolkit/p-cd466fa3.entry.js.map +1 -0
  269. package/dist/dso-toolkit/{p-bb65ba35.entry.js → p-cef2a4da.entry.js} +2 -2
  270. package/dist/dso-toolkit/{p-bb65ba35.entry.js.map → p-cef2a4da.entry.js.map} +1 -1
  271. package/dist/dso-toolkit/{p-487a5da9.entry.js → p-dd9d670a.entry.js} +2 -2
  272. package/dist/dso-toolkit/{p-b73a27bc.entry.js → p-e3b54b03.entry.js} +2 -2
  273. package/dist/dso-toolkit/{p-3e0495a4.entry.js → p-e8648400.entry.js} +2 -2
  274. package/dist/dso-toolkit/p-e8ada03b.entry.js +2 -0
  275. package/dist/dso-toolkit/{p-889aa72f.entry.js.map → p-e8ada03b.entry.js.map} +1 -1
  276. package/dist/dso-toolkit/{p-0edf4492.entry.js → p-fbf6613f.entry.js} +2 -2
  277. package/dist/dso-toolkit/{p-0edf4492.entry.js.map → p-fbf6613f.entry.js.map} +1 -1
  278. package/dist/esm/dso-accordion-section.entry.js +2 -2
  279. package/dist/esm/dso-accordion.entry.js +1 -1
  280. package/dist/esm/dso-action-list-item.entry.js +2 -2
  281. package/dist/esm/dso-action-list-item.entry.js.map +1 -1
  282. package/dist/esm/dso-action-list.entry.js +1 -1
  283. package/dist/esm/dso-advanced-select.entry.js +2 -2
  284. package/dist/esm/dso-advanced-select.entry.js.map +1 -1
  285. package/dist/esm/dso-alert_7.entry.js +55 -30
  286. package/dist/esm/dso-alert_7.entry.js.map +1 -1
  287. package/dist/esm/dso-annotation-output_3.entry.js +3 -3
  288. package/dist/esm/dso-annotation-output_3.entry.js.map +1 -1
  289. package/dist/esm/dso-attachments-counter.entry.js +1 -1
  290. package/dist/esm/dso-autosuggest.entry.js +1 -1
  291. package/dist/esm/dso-banner.entry.js +2 -2
  292. package/dist/esm/dso-card-container.entry.js +1 -1
  293. package/dist/esm/dso-card-container.entry.js.map +1 -1
  294. package/dist/esm/dso-card.entry.js +2 -2
  295. package/dist/esm/dso-card.entry.js.map +1 -1
  296. package/dist/esm/dso-date-picker-legacy.entry.js +3 -3
  297. package/dist/esm/dso-date-picker-legacy.entry.js.map +1 -1
  298. package/dist/esm/dso-date-picker.entry.js +1 -1
  299. package/dist/esm/dso-dropdown-menu.entry.js +1 -1
  300. package/dist/esm/dso-expandable.entry.js +2 -2
  301. package/dist/esm/dso-helpcenter-panel.entry.js +2 -2
  302. package/dist/esm/dso-highlight-box.entry.js +1 -1
  303. package/dist/esm/dso-highlight-box.entry.js.map +1 -1
  304. package/dist/esm/dso-icon.entry.js +1 -1
  305. package/dist/esm/dso-info-button.entry.js +1 -1
  306. package/dist/esm/dso-info_2.entry.js +2 -2
  307. package/dist/esm/dso-info_2.entry.js.map +1 -1
  308. package/dist/esm/dso-input-range.entry.js +2 -2
  309. package/dist/esm/dso-input-range.entry.js.map +1 -1
  310. package/dist/esm/dso-legend-item.entry.js +42 -0
  311. package/dist/esm/dso-legend-item.entry.js.map +1 -0
  312. package/dist/esm/dso-list-button.entry.js +1 -1
  313. package/dist/esm/dso-list-button.entry.js.map +1 -1
  314. package/dist/esm/dso-logo.entry.js +1 -1
  315. package/dist/esm/dso-logo.entry.js.map +1 -1
  316. package/dist/esm/dso-map-base-layers.entry.js +1 -1
  317. package/dist/esm/dso-map-controls.entry.js +1 -1
  318. package/dist/esm/dso-map-overlays.entry.js +1 -1
  319. package/dist/esm/dso-mark-bar.entry.js +1 -1
  320. package/dist/esm/dso-modal.entry.js +2 -2
  321. package/dist/esm/dso-modal.entry.js.map +1 -1
  322. package/dist/esm/dso-progress-bar.entry.js +1 -1
  323. package/dist/esm/dso-progress-indicator.entry.js +1 -1
  324. package/dist/esm/dso-responsive-element.entry.js +1 -1
  325. package/dist/esm/dso-scrollable.entry.js +2 -2
  326. package/dist/esm/dso-toggletip.entry.js +1 -1
  327. package/dist/esm/dso-toolkit.js +2 -2
  328. package/dist/esm/dso-toolkit.js.map +1 -1
  329. package/dist/esm/dso-tooltip.entry.js +1 -1
  330. package/dist/esm/dso-tooltip.entry.js.map +1 -1
  331. package/dist/esm/dso-tree-view.entry.js +1 -1
  332. package/dist/esm/dso-viewer-grid.entry.js +1 -1
  333. package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
  334. package/dist/esm/dsot-document-component-demo.entry.js +1 -1
  335. package/dist/esm/dsot-document-component-demo.entry.js.map +1 -1
  336. package/dist/esm/index-2e1b7388.js.map +1 -1
  337. package/dist/esm/loader.js +1 -1
  338. package/dist/types/components/legend-item/legend-item.d.ts +39 -0
  339. package/dist/types/components/legend-item/legend-item.interfaces.d.ts +3 -0
  340. package/dist/types/components/ozon-content/functional-components/wrap-wijzigactie.functional-component.d.ts +6 -0
  341. package/dist/types/components/ozon-content/functions/parse-wijzigactie-from-node.function.d.ts +2 -0
  342. package/dist/types/components/ozon-content/functions/wijzigactie-to-class-name.function.d.ts +2 -0
  343. package/dist/types/components/ozon-content/nodes/al.node.d.ts +1 -1
  344. package/dist/types/components/ozon-content/ozon-content.interfaces.d.ts +1 -0
  345. package/dist/types/components.d.ts +68 -0
  346. package/package.json +4 -4
  347. package/dist/dso-toolkit/p-30f09a47.entry.js +0 -2
  348. package/dist/dso-toolkit/p-3603f65a.entry.js +0 -2
  349. package/dist/dso-toolkit/p-3603f65a.entry.js.map +0 -1
  350. package/dist/dso-toolkit/p-535f755f.entry.js +0 -2
  351. package/dist/dso-toolkit/p-535f755f.entry.js.map +0 -1
  352. package/dist/dso-toolkit/p-64ed1e16.entry.js +0 -2
  353. package/dist/dso-toolkit/p-889aa72f.entry.js +0 -2
  354. package/dist/dso-toolkit/p-9f465136.entry.js +0 -2
  355. package/dist/dso-toolkit/p-a7ec3cce.entry.js +0 -2
  356. package/dist/dso-toolkit/p-e968c726.entry.js +0 -2
  357. /package/dist/dso-toolkit/{p-b8be68cd.entry.js.map → p-0bbdb3e7.entry.js.map} +0 -0
  358. /package/dist/dso-toolkit/{p-9f465136.entry.js.map → p-10d464fa.entry.js.map} +0 -0
  359. /package/dist/dso-toolkit/{p-05115f40.entry.js.map → p-1f66a719.entry.js.map} +0 -0
  360. /package/dist/dso-toolkit/{p-00f36d82.entry.js.map → p-28de6034.entry.js.map} +0 -0
  361. /package/dist/dso-toolkit/{p-8a41761d.entry.js.map → p-4eaf26e3.entry.js.map} +0 -0
  362. /package/dist/dso-toolkit/{p-0df15acb.entry.js.map → p-5028d1e1.entry.js.map} +0 -0
  363. /package/dist/dso-toolkit/{p-ba1757f9.entry.js.map → p-64755e52.entry.js.map} +0 -0
  364. /package/dist/dso-toolkit/{p-1543b25f.entry.js.map → p-64d88436.entry.js.map} +0 -0
  365. /package/dist/dso-toolkit/{p-c3af1efc.entry.js.map → p-67480a2f.entry.js.map} +0 -0
  366. /package/dist/dso-toolkit/{p-e1f82103.entry.js.map → p-7f5b0979.entry.js.map} +0 -0
  367. /package/dist/dso-toolkit/{p-bf2ef44a.entry.js.map → p-86e80f9c.entry.js.map} +0 -0
  368. /package/dist/dso-toolkit/{p-ffdcb2e4.entry.js.map → p-88b1db54.entry.js.map} +0 -0
  369. /package/dist/dso-toolkit/{p-a7ec3cce.entry.js.map → p-906ae1e7.entry.js.map} +0 -0
  370. /package/dist/dso-toolkit/{p-30f09a47.entry.js.map → p-9709ff83.entry.js.map} +0 -0
  371. /package/dist/dso-toolkit/{p-ae783ec3.entry.js.map → p-b22757ab.entry.js.map} +0 -0
  372. /package/dist/dso-toolkit/{p-0f1c1ad3.entry.js.map → p-b879c985.entry.js.map} +0 -0
  373. /package/dist/dso-toolkit/{p-db0796f2.entry.js.map → p-bc3c966f.entry.js.map} +0 -0
  374. /package/dist/dso-toolkit/{p-130c00f5.entry.js.map → p-bcc19bae.entry.js.map} +0 -0
  375. /package/dist/dso-toolkit/{p-487a5da9.entry.js.map → p-dd9d670a.entry.js.map} +0 -0
  376. /package/dist/dso-toolkit/{p-b73a27bc.entry.js.map → p-e3b54b03.entry.js.map} +0 -0
  377. /package/dist/dso-toolkit/{p-3e0495a4.entry.js.map → p-e8648400.entry.js.map} +0 -0
@@ -11,7 +11,7 @@ const CardContainer = /*@__PURE__*/ proxyCustomElement(class CardContainer exten
11
11
  this.mode = "list";
12
12
  }
13
13
  render() {
14
- return (h(Fragment, null, this.mode === "list" && (h("ul", { class: "dso-card-list" }, h("slot", null))), this.mode === "grid" && (h("div", { class: "dso-card-grid" }, h("slot", null)))));
14
+ return (h(Fragment, null, this.mode === "list" && (h("ul", { key: '54a6e926c22a118a77119add63558c55a7ef2cf9', class: "dso-card-list" }, h("slot", { key: '63777d504620cbc54a94a95bbada8b7028ef5d92' }))), this.mode === "grid" && (h("div", { key: '3b0feb3331f54fb7f084ad4c1e3bb18ddca6ee9d', class: "dso-card-grid" }, h("slot", { key: '0bc1a70a40326d61cfa9af7b8cdf8e73bb8d39cf' })))));
15
15
  }
16
16
  static get style() { return DsoCardContainerStyle0; }
17
17
  }, [1, "dso-card-container", {
@@ -1 +1 @@
1
- {"file":"dso-card-container.js","mappings":";;AAAA,MAAM,gBAAgB,GAAG,ybAAyb,CAAC;AACnd,+BAAe,gBAAgB;;MCOlB,aAAa;;;;;oBAKE,MAAM;;IAEhC,MAAM;QACJ,QACE,kBACG,IAAI,CAAC,IAAI,KAAK,MAAM,KACnB,UAAI,KAAK,EAAC,eAAe,IACvB,eAAQ,CACL,CACN,EACA,IAAI,CAAC,IAAI,KAAK,MAAM,KACnB,WAAK,KAAK,EAAC,eAAe,IACxB,eAAQ,CACJ,CACP,CACA,EACH;KACH;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/card-container/card-container.scss?tag=dso-card-container&encapsulation=shadow","src/components/card-container/card-container.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/components/card-container\";\r\n@use \"~dso-toolkit/src/components/list\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n\r\n@use \"~dso-toolkit/src/components/grid/grid.variables\" as grid-variables;\r\n\r\n:host {\r\n .dso-card-list {\r\n @include list.unstyled();\r\n\r\n border-bottom: card-container.$border-width solid card-container.$border-color;\r\n margin-top: card-container.$border-width * -1;\r\n }\r\n\r\n .dso-card-grid {\r\n display: grid;\r\n gap: grid-variables.$grid-gutter-width;\r\n grid-auto-rows: 1fr;\r\n\r\n @media (max-width: media-query-breakpoints.$screen-sm-max) {\r\n grid-template-columns: repeat(1, 1fr);\r\n }\r\n\r\n @media (min-width: media-query-breakpoints.$screen-md-min) and (max-width: media-query-breakpoints.$screen-md-max) {\r\n grid-template-columns: repeat(2, 1fr);\r\n }\r\n\r\n @media (min-width: media-query-breakpoints.$screen-lg-min) {\r\n grid-template-columns: repeat(3, 1fr);\r\n }\r\n }\r\n}\r\n","import { h, Component, ComponentInterface, Fragment, Prop } from \"@stencil/core\";\r\nimport { CardContainerMode } from \"./card-container.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-card-container\",\r\n styleUrl: \"card-container.scss\",\r\n shadow: true,\r\n})\r\nexport class CardContainer implements ComponentInterface {\r\n /**\r\n * The mode of the Card Container.\r\n */\r\n @Prop({ reflect: true })\r\n mode: CardContainerMode = \"list\";\r\n\r\n render() {\r\n return (\r\n <>\r\n {this.mode === \"list\" && (\r\n <ul class=\"dso-card-list\">\r\n <slot />\r\n </ul>\r\n )}\r\n {this.mode === \"grid\" && (\r\n <div class=\"dso-card-grid\">\r\n <slot />\r\n </div>\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"dso-card-container.js","mappings":";;AAAA,MAAM,gBAAgB,GAAG,ybAAyb,CAAC;AACnd,+BAAe,gBAAgB;;MCOlB,aAAa;;;;;oBAKE,MAAM;;IAEhC,MAAM;QACJ,QACE,kBACG,IAAI,CAAC,IAAI,KAAK,MAAM,KACnB,2DAAI,KAAK,EAAC,eAAe,IACvB,8DAAQ,CACL,CACN,EACA,IAAI,CAAC,IAAI,KAAK,MAAM,KACnB,4DAAK,KAAK,EAAC,eAAe,IACxB,8DAAQ,CACJ,CACP,CACA,EACH;KACH;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/card-container/card-container.scss?tag=dso-card-container&encapsulation=shadow","src/components/card-container/card-container.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/components/card-container\";\r\n@use \"~dso-toolkit/src/components/list\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n\r\n@use \"~dso-toolkit/src/components/grid/grid.variables\" as grid-variables;\r\n\r\n:host {\r\n .dso-card-list {\r\n @include list.unstyled();\r\n\r\n border-bottom: card-container.$border-width solid card-container.$border-color;\r\n margin-top: card-container.$border-width * -1;\r\n }\r\n\r\n .dso-card-grid {\r\n display: grid;\r\n gap: grid-variables.$grid-gutter-width;\r\n grid-auto-rows: 1fr;\r\n\r\n @media (max-width: media-query-breakpoints.$screen-sm-max) {\r\n grid-template-columns: repeat(1, 1fr);\r\n }\r\n\r\n @media (min-width: media-query-breakpoints.$screen-md-min) and (max-width: media-query-breakpoints.$screen-md-max) {\r\n grid-template-columns: repeat(2, 1fr);\r\n }\r\n\r\n @media (min-width: media-query-breakpoints.$screen-lg-min) {\r\n grid-template-columns: repeat(3, 1fr);\r\n }\r\n }\r\n}\r\n","import { h, Component, ComponentInterface, Fragment, Prop } from \"@stencil/core\";\r\nimport { CardContainerMode } from \"./card-container.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-card-container\",\r\n styleUrl: \"card-container.scss\",\r\n shadow: true,\r\n})\r\nexport class CardContainer implements ComponentInterface {\r\n /**\r\n * The mode of the Card Container.\r\n */\r\n @Prop({ reflect: true })\r\n mode: CardContainerMode = \"list\";\r\n\r\n render() {\r\n return (\r\n <>\r\n {this.mode === \"list\" && (\r\n <ul class=\"dso-card-list\">\r\n <slot />\r\n </ul>\r\n )}\r\n {this.mode === \"grid\" && (\r\n <div class=\"dso-card-grid\">\r\n <slot />\r\n </div>\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -65,9 +65,9 @@ const Card = /*@__PURE__*/ proxyCustomElement(class Card extends HTMLElement {
65
65
  render() {
66
66
  const isSelectable = this.selectableSlottedElement !== null;
67
67
  const hasImage = this.imageSlottedElement !== null;
68
- return (h(Host, { key: '4a5f9f57542ffec9acf1dbb659e88457c617d766', onClick: (e) => this.clickEventHandler(e), "is-selectable": isSelectable, "has-image": hasImage }, h("div", { key: '9e3d35e8c7c356e2813403fc82dc8df7a87c852c', class: "dso-card-selectable", hidden: !isSelectable }, h("slot", { key: '7d4fa30bb429eb890d038330ec1fdbc7effc8048', name: "selectable" })), h("div", { key: '40dadecd6973e2d765d7b3447c58551a9ac3d3c5', class: "dso-card-image", hidden: !hasImage }, h("slot", { key: 'c87bb25ab541abbb64888f570a95b06f8d3c376b', name: "image" })), h("div", { key: '7c9f076222352d8b7751301771d54deda8430b58', class: "dso-card-heading" }, this.headingSlottedElement instanceof HTMLAnchorElement || !this.href ? (h("slot", { name: "heading" })) : (((!this.mode || !["download", "extern"].includes(this.mode)) && (h("a", { href: this.href, class: "heading-anchor" }, h("slot", { name: "heading" }), h("dso-icon", { icon: "chevron-right" })))) ||
68
+ return (h(Host, { key: 'b9cc1a47bc39e6e2011ba6412436ab855d9819cf', onClick: (e) => this.clickEventHandler(e), "is-selectable": isSelectable, "has-image": hasImage }, h("div", { key: 'b8a059c5b2cc2f29392e0311fcbb3a02b1b39580', class: "dso-card-selectable", hidden: !isSelectable }, h("slot", { key: '304c0dad6a73ebb2ad12f7c4e0a807d53c7ca660', name: "selectable" })), h("div", { key: '3e976d9e8eb0fbc3578a8fc6f32687f97ca6fc69', class: "dso-card-image", hidden: !hasImage }, h("slot", { key: 'e10f2acff35dcd3316f0cb14575d5d2e4ab86c95', name: "image" })), h("div", { key: 'c7d437cc6d54eab8e9d6ad45411230498b243466', class: "dso-card-heading" }, this.headingSlottedElement instanceof HTMLAnchorElement || !this.href ? (h("slot", { name: "heading" })) : (((!this.mode || !["download", "extern"].includes(this.mode)) && (h("a", { href: this.href, class: "heading-anchor" }, h("slot", { name: "heading" }), h("dso-icon", { icon: "chevron-right" })))) ||
69
69
  (this.mode === "extern" && (h("a", { href: this.href, class: "heading-anchor", target: "_blank", rel: "noopener noreferrer" }, h("slot", { name: "heading" }), h("dso-icon", { icon: "external-link" }), h("span", { class: "sr-only" }, "(Opent andere website in nieuw tabblad)")))) ||
70
- (this.mode === "download" && (h("a", { href: this.href, class: "heading-anchor" }, h("slot", { name: "heading" }), h("dso-icon", { icon: "download" }))))), this.interactionsSlottedElement !== null && h("slot", { name: "interactions" })), h("div", { key: 'a7999f8fb16f986f3cab0c523cea77a1f16425e3', class: "dso-card-content" }, h("slot", { key: '85137ed9a01de2c9882f4b8c2aecec39ce8ecf17', name: "content" }))));
70
+ (this.mode === "download" && (h("a", { href: this.href, class: "heading-anchor" }, h("slot", { name: "heading" }), h("dso-icon", { icon: "download" }))))), this.interactionsSlottedElement !== null && h("slot", { key: 'f318d02fe89a6aa2a9377e2f32d72726c848c42f', name: "interactions" })), h("div", { key: '7b725b7edeee93b237352eff09ae2574647b9a3b', class: "dso-card-content" }, h("slot", { key: '9f855efe124e2a273b1ecb465b27bc7e01ac10e9', name: "content" }))));
71
71
  }
72
72
  get host() { return this; }
73
73
  static get style() { return DsoCardStyle0; }
@@ -1 +1 @@
1
- {"file":"dso-card.js","mappings":"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","names":[],"sources":["src/utils/is-interactive-element.ts","src/components/card/card.scss?tag=dso-card&encapsulation=shadow","src/components/card/card.tsx"],"sourcesContent":["export const isInteractiveElement = (element: HTMLElement): boolean => {\r\n return (\r\n element instanceof HTMLButtonElement ||\r\n element instanceof HTMLAnchorElement ||\r\n element instanceof HTMLInputElement ||\r\n element.tagName.startsWith(\"DSO-TOGGLETIP\")\r\n );\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/card\";\r\n@use \"~dso-toolkit/src/components/anchor/anchor\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n @include card.root();\r\n\r\n display: block;\r\n}\r\n\r\n:host(:hover) {\r\n .dso-card-heading a {\r\n color: card.$heading-anchor-hover-color;\r\n text-decoration: underline;\r\n }\r\n}\r\n\r\n.dso-card-heading a {\r\n text-decoration: none;\r\n}\r\n\r\n.heading-anchor {\r\n color: card.$heading-anchor-color;\r\n display: flex;\r\n\r\n &:visited {\r\n color: card.$heading-anchor-color;\r\n }\r\n\r\n dso-icon {\r\n flex-shrink: 0;\r\n }\r\n\r\n .sr-only {\r\n @include utilities.sr-only();\r\n }\r\n}\r\n","import { h, Component, ComponentInterface, Element, Event, EventEmitter, Host, Prop, forceUpdate } from \"@stencil/core\";\r\n\r\nimport { isInteractiveElement } from \"../../utils/is-interactive-element\";\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\n\r\nimport { DsoCardClickedEvent, ImageShape } from \"./card.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-card\",\r\n styleUrl: \"card.scss\",\r\n shadow: true,\r\n})\r\nexport class Card implements ComponentInterface {\r\n @Element()\r\n host!: HTMLDsoCardElement;\r\n\r\n /**\r\n * Whether or not the Card is clickable. This is NOT a boolean attribute. Set to \"false\" to make the Card non-clickable.\r\n *\r\n * @deprecated Use `href` instead and `<ELEMENT_TYPE slot=\"heading\">` should NOT be of element type `a` (anchor).\r\n */\r\n @Prop({ reflect: true })\r\n clickable = true;\r\n\r\n /**\r\n * Presentation of image in header.\r\n * - \"normal\" (\"24 x 24\").\r\n * - \"wide\" (\"30 x 26\")\r\n */\r\n @Prop({ reflect: true })\r\n imageShape: ImageShape = \"normal\";\r\n\r\n /**\r\n * The URL to which the Card heading links.\r\n */\r\n @Prop({ reflect: true })\r\n href?: string;\r\n\r\n /**\r\n * Display the link as an external link or a download link\r\n * - \"download\"\r\n * - \"extern\"\r\n */\r\n @Prop({ reflect: true })\r\n mode?: string;\r\n\r\n /**\r\n * Emitted when the Card is clickable and the user clicked the Card.\r\n */\r\n @Event()\r\n dsoCardClicked!: EventEmitter<DsoCardClickedEvent>;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n connectedCallback(): void {\r\n this.mutationObserver = new MutationObserver(() => forceUpdate(this.host));\r\n\r\n this.mutationObserver.observe(this.host, { attributes: true, childList: true });\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.mutationObserver?.disconnect();\r\n\r\n delete this.mutationObserver;\r\n }\r\n\r\n private clickEventHandler(e: MouseEvent) {\r\n if (!(e.target instanceof HTMLElement) || (!this.clickable && !this.href)) {\r\n return;\r\n }\r\n\r\n let element: HTMLElement | null = e.target;\r\n\r\n while (element !== this.host && element !== null) {\r\n if (isInteractiveElement(element) || element === null) {\r\n return;\r\n }\r\n\r\n if (element.parentNode instanceof ShadowRoot && element.parentNode.host instanceof HTMLElement) {\r\n element = element.parentNode.host;\r\n } else {\r\n element = element.parentElement;\r\n }\r\n }\r\n\r\n return this.dsoCardClicked.emit({ originalEvent: e, isModifiedEvent: isModifiedEvent(e) });\r\n }\r\n\r\n get selectableSlottedElement() {\r\n return this.host.querySelector(\"[slot='selectable']\");\r\n }\r\n\r\n get imageSlottedElement() {\r\n return this.host.querySelector(\"[slot='image']\");\r\n }\r\n\r\n get headingSlottedElement() {\r\n return this.host.querySelector(\"[slot='heading']\");\r\n }\r\n\r\n get interactionsSlottedElement() {\r\n return this.host.querySelector(\"[slot='interactions']\");\r\n }\r\n\r\n render() {\r\n const isSelectable = this.selectableSlottedElement !== null;\r\n const hasImage = this.imageSlottedElement !== null;\r\n\r\n return (\r\n <Host onClick={(e: MouseEvent) => this.clickEventHandler(e)} is-selectable={isSelectable} has-image={hasImage}>\r\n <div class=\"dso-card-selectable\" hidden={!isSelectable}>\r\n <slot name=\"selectable\" />\r\n </div>\r\n <div class=\"dso-card-image\" hidden={!hasImage}>\r\n <slot name=\"image\" />\r\n </div>\r\n <div class=\"dso-card-heading\">\r\n {this.headingSlottedElement instanceof HTMLAnchorElement || !this.href ? (\r\n <slot name=\"heading\" />\r\n ) : (\r\n ((!this.mode || ![\"download\", \"extern\"].includes(this.mode)) && (\r\n <a href={this.href} class=\"heading-anchor\">\r\n <slot name=\"heading\" />\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </a>\r\n )) ||\r\n (this.mode === \"extern\" && (\r\n <a href={this.href} class=\"heading-anchor\" target=\"_blank\" rel=\"noopener noreferrer\">\r\n <slot name=\"heading\" />\r\n <dso-icon icon=\"external-link\"></dso-icon>\r\n <span class=\"sr-only\">(Opent andere website in nieuw tabblad)</span>\r\n </a>\r\n )) ||\r\n (this.mode === \"download\" && (\r\n <a href={this.href} class=\"heading-anchor\">\r\n <slot name=\"heading\" />\r\n <dso-icon icon=\"download\"></dso-icon>\r\n </a>\r\n ))\r\n )}\r\n {this.interactionsSlottedElement !== null && <slot name=\"interactions\" />}\r\n </div>\r\n <div class=\"dso-card-content\">\r\n <slot name=\"content\" />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"dso-card.js","mappings":";;;;AAAO,MAAM,oBAAoB,GAAG,CAAC,OAAoB;IACvD,QACE,OAAO,YAAY,iBAAiB;QACpC,OAAO,YAAY,iBAAiB;QACpC,OAAO,YAAY,gBAAgB;QACnC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAC3C;AACJ,CAAC;;ACPD,MAAM,OAAO,GAAG,ovFAAovF,CAAC;AACrwF,sBAAe,OAAO;;MCWT,IAAI;;;;;;yBAUH,IAAI;0BAQS,QAAQ;;;;IAwBjC,iBAAiB;QACf,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3E,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KACjF;IAED,oBAAoB;;QAClB,MAAA,IAAI,CAAC,gBAAgB,0CAAE,UAAU,EAAE,CAAC;QAEpC,OAAO,IAAI,CAAC,gBAAgB,CAAC;KAC9B;IAEO,iBAAiB,CAAC,CAAa;QACrC,IAAI,EAAE,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACzE,OAAO;SACR;QAED,IAAI,OAAO,GAAuB,CAAC,CAAC,MAAM,CAAC;QAE3C,OAAO,OAAO,KAAK,IAAI,CAAC,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE;YAChD,IAAI,oBAAoB,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,IAAI,EAAE;gBACrD,OAAO;aACR;YAED,IAAI,OAAO,CAAC,UAAU,YAAY,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,YAAY,WAAW,EAAE;gBAC9F,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;aACnC;iBAAM;gBACL,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;aACjC;SACF;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KAC5F;IAED,IAAI,wBAAwB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;KACvD;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;KAClD;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;KACpD;IAED,IAAI,0BAA0B;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;KACzD;IAED,MAAM;QACJ,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,KAAK,IAAI,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAC;QAEnD,QACE,EAAC,IAAI,qDAAC,OAAO,EAAE,CAAC,CAAa,KAAK,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,mBAAiB,YAAY,eAAa,QAAQ,IAC3G,4DAAK,KAAK,EAAC,qBAAqB,EAAC,MAAM,EAAE,CAAC,YAAY,IACpD,6DAAM,IAAI,EAAC,YAAY,GAAG,CACtB,EACN,4DAAK,KAAK,EAAC,gBAAgB,EAAC,MAAM,EAAE,CAAC,QAAQ,IAC3C,6DAAM,IAAI,EAAC,OAAO,GAAG,CACjB,EACN,4DAAK,KAAK,EAAC,kBAAkB,IAC1B,IAAI,CAAC,qBAAqB,YAAY,iBAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,IACpE,YAAM,IAAI,EAAC,SAAS,GAAG,KAEvB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MACzD,SAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAC,gBAAgB,IACxC,YAAM,IAAI,EAAC,SAAS,GAAG,EACvB,gBAAU,IAAI,EAAC,eAAe,GAAY,CACxC,CACL;aACA,IAAI,CAAC,IAAI,KAAK,QAAQ,KACrB,SAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAC,gBAAgB,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,IAClF,YAAM,IAAI,EAAC,SAAS,GAAG,EACvB,gBAAU,IAAI,EAAC,eAAe,GAAY,EAC1C,YAAM,KAAK,EAAC,SAAS,8CAA+C,CAClE,CACL,CAAC;aACD,IAAI,CAAC,IAAI,KAAK,UAAU,KACvB,SAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAC,gBAAgB,IACxC,YAAM,IAAI,EAAC,SAAS,GAAG,EACvB,gBAAU,IAAI,EAAC,UAAU,GAAY,CACnC,CACL,CAAC,CACH,EACA,IAAI,CAAC,0BAA0B,KAAK,IAAI,IAAI,6DAAM,IAAI,EAAC,cAAc,GAAG,CACrE,EACN,4DAAK,KAAK,EAAC,kBAAkB,IAC3B,6DAAM,IAAI,EAAC,SAAS,GAAG,CACnB,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/utils/is-interactive-element.ts","src/components/card/card.scss?tag=dso-card&encapsulation=shadow","src/components/card/card.tsx"],"sourcesContent":["export const isInteractiveElement = (element: HTMLElement): boolean => {\r\n return (\r\n element instanceof HTMLButtonElement ||\r\n element instanceof HTMLAnchorElement ||\r\n element instanceof HTMLInputElement ||\r\n element.tagName.startsWith(\"DSO-TOGGLETIP\")\r\n );\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/card\";\r\n@use \"~dso-toolkit/src/components/anchor/anchor\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n @include card.root();\r\n\r\n display: block;\r\n}\r\n\r\n:host(:hover) {\r\n .dso-card-heading a {\r\n color: card.$heading-anchor-hover-color;\r\n text-decoration: underline;\r\n }\r\n}\r\n\r\n.dso-card-heading a {\r\n text-decoration: none;\r\n}\r\n\r\n.heading-anchor {\r\n color: card.$heading-anchor-color;\r\n display: flex;\r\n\r\n &:visited {\r\n color: card.$heading-anchor-color;\r\n }\r\n\r\n dso-icon {\r\n flex-shrink: 0;\r\n }\r\n\r\n .sr-only {\r\n @include utilities.sr-only();\r\n }\r\n}\r\n","import { h, Component, ComponentInterface, Element, Event, EventEmitter, Host, Prop, forceUpdate } from \"@stencil/core\";\r\n\r\nimport { isInteractiveElement } from \"../../utils/is-interactive-element\";\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\n\r\nimport { DsoCardClickedEvent, ImageShape } from \"./card.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-card\",\r\n styleUrl: \"card.scss\",\r\n shadow: true,\r\n})\r\nexport class Card implements ComponentInterface {\r\n @Element()\r\n host!: HTMLDsoCardElement;\r\n\r\n /**\r\n * Whether or not the Card is clickable. This is NOT a boolean attribute. Set to \"false\" to make the Card non-clickable.\r\n *\r\n * @deprecated Use `href` instead and `<ELEMENT_TYPE slot=\"heading\">` should NOT be of element type `a` (anchor).\r\n */\r\n @Prop({ reflect: true })\r\n clickable = true;\r\n\r\n /**\r\n * Presentation of image in header.\r\n * - \"normal\" (\"24 x 24\").\r\n * - \"wide\" (\"30 x 26\")\r\n */\r\n @Prop({ reflect: true })\r\n imageShape: ImageShape = \"normal\";\r\n\r\n /**\r\n * The URL to which the Card heading links.\r\n */\r\n @Prop({ reflect: true })\r\n href?: string;\r\n\r\n /**\r\n * Display the link as an external link or a download link\r\n * - \"download\"\r\n * - \"extern\"\r\n */\r\n @Prop({ reflect: true })\r\n mode?: string;\r\n\r\n /**\r\n * Emitted when the Card is clickable and the user clicked the Card.\r\n */\r\n @Event()\r\n dsoCardClicked!: EventEmitter<DsoCardClickedEvent>;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n connectedCallback(): void {\r\n this.mutationObserver = new MutationObserver(() => forceUpdate(this.host));\r\n\r\n this.mutationObserver.observe(this.host, { attributes: true, childList: true });\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.mutationObserver?.disconnect();\r\n\r\n delete this.mutationObserver;\r\n }\r\n\r\n private clickEventHandler(e: MouseEvent) {\r\n if (!(e.target instanceof HTMLElement) || (!this.clickable && !this.href)) {\r\n return;\r\n }\r\n\r\n let element: HTMLElement | null = e.target;\r\n\r\n while (element !== this.host && element !== null) {\r\n if (isInteractiveElement(element) || element === null) {\r\n return;\r\n }\r\n\r\n if (element.parentNode instanceof ShadowRoot && element.parentNode.host instanceof HTMLElement) {\r\n element = element.parentNode.host;\r\n } else {\r\n element = element.parentElement;\r\n }\r\n }\r\n\r\n return this.dsoCardClicked.emit({ originalEvent: e, isModifiedEvent: isModifiedEvent(e) });\r\n }\r\n\r\n get selectableSlottedElement() {\r\n return this.host.querySelector(\"[slot='selectable']\");\r\n }\r\n\r\n get imageSlottedElement() {\r\n return this.host.querySelector(\"[slot='image']\");\r\n }\r\n\r\n get headingSlottedElement() {\r\n return this.host.querySelector(\"[slot='heading']\");\r\n }\r\n\r\n get interactionsSlottedElement() {\r\n return this.host.querySelector(\"[slot='interactions']\");\r\n }\r\n\r\n render() {\r\n const isSelectable = this.selectableSlottedElement !== null;\r\n const hasImage = this.imageSlottedElement !== null;\r\n\r\n return (\r\n <Host onClick={(e: MouseEvent) => this.clickEventHandler(e)} is-selectable={isSelectable} has-image={hasImage}>\r\n <div class=\"dso-card-selectable\" hidden={!isSelectable}>\r\n <slot name=\"selectable\" />\r\n </div>\r\n <div class=\"dso-card-image\" hidden={!hasImage}>\r\n <slot name=\"image\" />\r\n </div>\r\n <div class=\"dso-card-heading\">\r\n {this.headingSlottedElement instanceof HTMLAnchorElement || !this.href ? (\r\n <slot name=\"heading\" />\r\n ) : (\r\n ((!this.mode || ![\"download\", \"extern\"].includes(this.mode)) && (\r\n <a href={this.href} class=\"heading-anchor\">\r\n <slot name=\"heading\" />\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </a>\r\n )) ||\r\n (this.mode === \"extern\" && (\r\n <a href={this.href} class=\"heading-anchor\" target=\"_blank\" rel=\"noopener noreferrer\">\r\n <slot name=\"heading\" />\r\n <dso-icon icon=\"external-link\"></dso-icon>\r\n <span class=\"sr-only\">(Opent andere website in nieuw tabblad)</span>\r\n </a>\r\n )) ||\r\n (this.mode === \"download\" && (\r\n <a href={this.href} class=\"heading-anchor\">\r\n <slot name=\"heading\" />\r\n <dso-icon icon=\"download\"></dso-icon>\r\n </a>\r\n ))\r\n )}\r\n {this.interactionsSlottedElement !== null && <slot name=\"interactions\" />}\r\n </div>\r\n <div class=\"dso-card-content\">\r\n <slot name=\"content\" />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -685,14 +685,14 @@ const DsoDatePickerLegacy$1 = /*@__PURE__*/ proxyCustomElement(class DsoDatePick
685
685
  if (maxDate) {
686
686
  maxYear = Math.min(maxYear, maxDate.getFullYear());
687
687
  }
688
- return (h(Host, { key: 'c98525f48cb8ba872c8d6f0d823009efcdd55392' }, h("div", { key: 'f1a24e2205a5e9bfe1cd00a305f584f38febda55', class: { "dso-date": true, "dso-visible": this.visible } }, h("div", { key: '98b8d37b7c1026a4a6d96b7f197d45096db6b8d4', class: "dso-date__input-wrapper" }, h("input", { key: '0577a6601ef0d04131321be438857f21f488c690', class: "dso-date__input", value: this.value, placeholder: this.localization.placeholder, id: this.identifier, disabled: this.disabled, role: (_a = this.role) !== null && _a !== void 0 ? _a : undefined, required: this.required ? true : undefined, "aria-autocomplete": "none", "aria-invalid": (_b = this.invalid) === null || _b === void 0 ? void 0 : _b.toString(), "aria-describedby": this.describedBy, onInput: this.handleInputChange, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown, autoComplete: "off", ref: (element) => (this.datePickerLegacyInput = element) }), h("button", { key: 'd371f57b0c1e7b5574cdb81e5525e9a12e7ae8d2', type: "button", class: "dso-date__toggle", onClick: this.toggleOpen, disabled: this.disabled, ref: (element) => (this.datePickerLegacyButton = element) }, h("span", { key: '97404535df9458f5fb21c8337e93eddce31358dc', class: "dso-date__toggle-icon" }, h("dso-icon", { key: '861e576ce77c45d51df737edec2d6a9327853085', icon: "calendar" })), h("span", { key: '60517906fefe6d02d7c0e172d4f86ad5de089398', class: "dso-date__vhidden" }, this.localization.buttonLabel, formattedDate && (h("span", null, ", ", this.localization.selectedDateMessage, " ", formattedDate))))), h("div", { key: '7b14023d7aa6a9e3cbf936dd996d3a6315154207', class: {
688
+ return (h(Host, { key: '0d44852b99b1006f832d6152ae1b87e50217ec6e' }, h("div", { key: '4e755890cac5c88b652b26502e9d6c62c3c937ee', class: { "dso-date": true, "dso-visible": this.visible } }, h("div", { key: 'ee6c9f4148c6e596e0e9048e54a9def781bdc305', class: "dso-date__input-wrapper" }, h("input", { key: 'd5b42b063f766f9da27be35ef0322e38732692a2', class: "dso-date__input", value: this.value, placeholder: this.localization.placeholder, id: this.identifier, disabled: this.disabled, role: (_a = this.role) !== null && _a !== void 0 ? _a : undefined, required: this.required ? true : undefined, "aria-autocomplete": "none", "aria-invalid": (_b = this.invalid) === null || _b === void 0 ? void 0 : _b.toString(), "aria-describedby": this.describedBy, onInput: this.handleInputChange, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown, autoComplete: "off", ref: (element) => (this.datePickerLegacyInput = element) }), h("button", { key: 'a0261139cf4d0711eedc8c9d72753d511300c3d6', type: "button", class: "dso-date__toggle", onClick: this.toggleOpen, disabled: this.disabled, ref: (element) => (this.datePickerLegacyButton = element) }, h("span", { key: '87aaec0f14c6daa6916d6c0a9e61b04ef14ce246', class: "dso-date__toggle-icon" }, h("dso-icon", { key: 'fec0416f1f93f5092d4e836afe69481c3ad9044c', icon: "calendar" })), h("span", { key: 'dfd3fbef9642d501844678308cc6d886622a936d', class: "dso-date__vhidden" }, this.localization.buttonLabel, formattedDate && (h("span", { key: 'eae56bddc49e78aa4e170a62133ec9949a40e5f3' }, ", ", this.localization.selectedDateMessage, " ", formattedDate))))), h("div", { key: 'a0bbde0cc7570ea2464de4984c92e64b187e8f3a', class: {
689
689
  "dso-date__dialog": true,
690
690
  "is-left": this.direction === "left",
691
691
  "is-active": this.open,
692
- }, role: "dialog", "aria-modal": "true", "aria-hidden": this.open ? "false" : "true", "aria-labelledby": this.dialogLabelId, onTouchMove: this.handleTouchMove, onTouchStart: this.handleTouchStart, onTouchEnd: this.handleTouchEnd }, h("div", { key: '85e88edf0cc993718a0a681b409103cb6b03dd91', class: "dso-date__dialog-content", onKeyDown: this.handleEscKey }, h("div", { key: 'df2b868a04173957062c99e00b53520653f21a12', class: "dso-date__vhidden dso-date__instructions", "aria-live": "polite" }, this.localization.keyboardInstruction), h("div", { key: 'a3cd90aab2e1c1e81fd77b9b08a077cd1a718856', class: "dso-date__mobile", onFocusin: this.disableActiveFocus }, h("label", { key: 'e71c9e0e600cfbad9404f368d618ac2adcda0547', class: "dso-date__mobile-heading" }, this.localization.calendarHeading), h("button", { key: 'a46acc356f33fdb0993f91b65f9734686a193830', class: "dso-date__close", ref: (element) => (this.firstFocusableElement = element), onKeyDown: this.handleFirstFocusableKeydown, onClick: () => this.hide(), type: "button" }, h("dso-icon", { key: '7b768f4aec90a1af458e2086234a35cde08cd438', icon: "times" }), h("span", { key: '3986f47baaea087eaaa9fdd26fa5bbd59f120868', class: "dso-date__vhidden" }, this.localization.closeLabel))), h("div", { key: '6f31ba07e6d35fd60605f2fd20dd5adc8fc1c301', class: "dso-date__header", onFocusin: this.disableActiveFocus }, h("div", { key: 'e17ae4343d1611f216e97aa0d5db37d5769cdbc2' }, h("h2", { key: 'd2f774ef647670867a33e705396cb6211cadbedd', id: this.dialogLabelId, class: "dso-date__vhidden", "aria-live": "polite" }, this.localization.monthNames[focusedMonth], " ", this.focusedDay.getFullYear()), h("label", { key: '080741c15c08144dcfdd7948cd89b4835d1e411f', htmlFor: this.monthSelectId, class: "dso-date__vhidden" }, this.localization.monthSelectLabel), h("div", { key: 'e8e4aafb7993b2a4325541b000f9923c74f2c9db', class: "dso-date__select" }, h("select", { key: 'ad99a598cf1b49a0483c0feb9a863d53fa9c630e', id: this.monthSelectId, class: "dso-date__select--month", ref: (element) => (this.monthSelectNode = element), onChange: this.handleMonthSelect }, monthRange(this.localization, selectedYear, minDate, maxDate).map((month) => {
692
+ }, role: "dialog", "aria-modal": "true", "aria-hidden": this.open ? "false" : "true", "aria-labelledby": this.dialogLabelId, onTouchMove: this.handleTouchMove, onTouchStart: this.handleTouchStart, onTouchEnd: this.handleTouchEnd }, h("div", { key: '8f9cb9231fd88b0878d270871a2598e57929043c', class: "dso-date__dialog-content", onKeyDown: this.handleEscKey }, h("div", { key: 'ad7001f585453658356a2e8f2c3fa59e593b91b4', class: "dso-date__vhidden dso-date__instructions", "aria-live": "polite" }, this.localization.keyboardInstruction), h("div", { key: '454aaebe38060202a2872bd9c1e8893a41ec40e1', class: "dso-date__mobile", onFocusin: this.disableActiveFocus }, h("label", { key: '114bb52abf3a2daaef6488825acad2f29aaa0540', class: "dso-date__mobile-heading" }, this.localization.calendarHeading), h("button", { key: '59d9ba2a8a55cc266efb2694193fb0efcd9afffc', class: "dso-date__close", ref: (element) => (this.firstFocusableElement = element), onKeyDown: this.handleFirstFocusableKeydown, onClick: () => this.hide(), type: "button" }, h("dso-icon", { key: 'ca7a9db774c7474693664bb7daa99d9bce47695d', icon: "times" }), h("span", { key: '060ef03cec2db78e846e0858cc7700a5bb41b70e', class: "dso-date__vhidden" }, this.localization.closeLabel))), h("div", { key: '97144b176487392f8f640156b694dc859b797b45', class: "dso-date__header", onFocusin: this.disableActiveFocus }, h("div", { key: '5918645d15cd79776d0f3ce0dce438417c993e5e' }, h("h2", { key: '03767b55b99b31eb727e7db5f0bc9067db4271a0', id: this.dialogLabelId, class: "dso-date__vhidden", "aria-live": "polite" }, this.localization.monthNames[focusedMonth], " ", this.focusedDay.getFullYear()), h("label", { key: 'f048f03596e454982c2769e8049cea3086a4cc76', htmlFor: this.monthSelectId, class: "dso-date__vhidden" }, this.localization.monthSelectLabel), h("div", { key: 'b3185f05873edd915a78cce1e2e6c70780a97bd9', class: "dso-date__select" }, h("select", { key: '09655b2da5551d17eae5d70b1db4425b643165ed', id: this.monthSelectId, class: "dso-date__select--month", ref: (element) => (this.monthSelectNode = element), onChange: this.handleMonthSelect }, monthRange(this.localization, selectedYear, minDate, maxDate).map((month) => {
693
693
  const index = this.localization.monthNames.indexOf(month);
694
694
  return (h("option", { key: month, value: index, selected: index === focusedMonth }, month));
695
- })), h("div", { key: '8ea234a85870e6f09574187a897d3ed5c7d0174e', class: "dso-date__select-label", "aria-hidden": "true" }, h("span", { key: '6bddd5b0c605071aceb13c270751ed1d64460f48' }, this.localization.monthNamesShort[focusedMonth]), h("dso-icon", { key: '0a24743c79d22649c930538a01eb09a5cbb409bb', icon: "chevron-down" }))), h("label", { key: 'cd6126658338f90327bda893f843cd89ee04e011', htmlFor: this.yearSelectId, class: "dso-date__vhidden" }, this.localization.yearSelectLabel), h("div", { key: '7e7e11aba63d80a139d73cde880dcb35f39b6ba9', class: "dso-date__select" }, h("select", { key: 'b36b8a505ab4d119d64d3c961a73f5af92a2a6b5', id: this.yearSelectId, class: "dso-date__select--year", onChange: this.handleYearSelect }, range(minYear, maxYear).map((year) => (h("option", { key: year, selected: year === focusedYear }, year)))), h("div", { key: '49e45b7b017aee094b7eba71cf4d6d09e09806e8', class: "dso-date__select-label", "aria-hidden": "true" }, h("span", { key: 'c41367509566cbee7e47ebd8682cf5efbc2cd65a' }, this.focusedDay.getFullYear()), h("dso-icon", { key: '19e620e7406fbe176deabc409266fe553caaa94e', icon: "chevron-down" })))), h("div", { key: '84857ea1cde41a1cf2ddd0571ed169af775dc55e', class: "dso-date__nav" }, h("button", { key: '735aa28fd6d15840bb21c84eaac9a744f9bade28', class: "dso-date__prev", onClick: this.handlePreviousMonthClick, disabled: prevMonthDisabled, type: "button" }, h("dso-icon", { key: 'dcd15e30ee0c4964f4a8209eb791debf21256379', icon: "chevron-left" }), h("span", { key: '567303dca4686442b71622d6d6088f3e84e51265', class: "dso-date__vhidden" }, this.localization.prevMonthLabel)), h("button", { key: '5607c90c85dd225359ec5acba1086dc3e1d6d263', class: "dso-date__next", onClick: this.handleNextMonthClick, disabled: nextMonthDisabled, type: "button" }, h("dso-icon", { key: '6253a5327e3787007b48df1d5a3ff4ee7d493c12', icon: "chevron-right" }), h("span", { key: 'a7689394108e8f335058dd1400e9618d895eece0', class: "dso-date__vhidden" }, this.localization.nextMonthLabel)))), h(DatePickerLegacyMonth, { key: '81a9fe62672878670e961c8172aedb4c65fb6782', selectedDate: valueAsDate, focusedDate: this.focusedDay, onDateSelect: this.handleDaySelect, onKeyboardNavigation: this.handleKeyboardNavigation, labelledById: this.dialogLabelId, localization: this.localization, firstDayOfWeek: this.firstDayOfWeek, focusedDayRef: this.processFocusedDayNode, min: minDate, max: maxDate }))))));
695
+ })), h("div", { key: '5208271a489ed99f5d874baafae4fae675138a93', class: "dso-date__select-label", "aria-hidden": "true" }, h("span", { key: '0e1e526e9fee6367546142cfda834a31375c5634' }, this.localization.monthNamesShort[focusedMonth]), h("dso-icon", { key: '1a790f9dfb8d4ea4a41bb286a7a125534922c95b', icon: "chevron-down" }))), h("label", { key: 'de5f0145a3c317a6eb390d01e41e9dd73e720e7e', htmlFor: this.yearSelectId, class: "dso-date__vhidden" }, this.localization.yearSelectLabel), h("div", { key: '877369c7d3b8b060c0d02f1e822f725d320f14b2', class: "dso-date__select" }, h("select", { key: 'b591672b9c3f307fca7e2a6313a38d4cce391bb2', id: this.yearSelectId, class: "dso-date__select--year", onChange: this.handleYearSelect }, range(minYear, maxYear).map((year) => (h("option", { key: year, selected: year === focusedYear }, year)))), h("div", { key: '684aec6cba9eff6e0f9766e2196a3fe534a40a0f', class: "dso-date__select-label", "aria-hidden": "true" }, h("span", { key: 'f39c5042ef1924d1652f010ca81c2f506b9b37fe' }, this.focusedDay.getFullYear()), h("dso-icon", { key: '04adcae74bc190c443490dfc464b2be52f221c14', icon: "chevron-down" })))), h("div", { key: 'c3900f0e93e22eda46450cf898eb4e847c81a2c2', class: "dso-date__nav" }, h("button", { key: 'da36bdc09cba1daa3b4eba282f4ee5b829c393fa', class: "dso-date__prev", onClick: this.handlePreviousMonthClick, disabled: prevMonthDisabled, type: "button" }, h("dso-icon", { key: 'c8f5fb75ddb06106081f2674ecbecf0f05bf0f76', icon: "chevron-left" }), h("span", { key: 'ec76f5492eaeaac4a8f80c1de158688a70f4da65', class: "dso-date__vhidden" }, this.localization.prevMonthLabel)), h("button", { key: '6441cdaa0bbc797e56279a86cfc53741df63d517', class: "dso-date__next", onClick: this.handleNextMonthClick, disabled: nextMonthDisabled, type: "button" }, h("dso-icon", { key: '927ddbfac72287e32f0b09d6347f6e46787c7e3b', icon: "chevron-right" }), h("span", { key: 'a3fed3e29cb71f53e5be193503ea275dcea61b7c', class: "dso-date__vhidden" }, this.localization.nextMonthLabel)))), h(DatePickerLegacyMonth, { key: 'f2bfde3fa648e0f00cff22ed58d84347dcc01d56', selectedDate: valueAsDate, focusedDate: this.focusedDay, onDateSelect: this.handleDaySelect, onKeyboardNavigation: this.handleKeyboardNavigation, labelledById: this.dialogLabelId, localization: this.localization, firstDayOfWeek: this.firstDayOfWeek, focusedDayRef: this.processFocusedDayNode, min: minDate, max: maxDate }))))));
696
696
  }
697
697
  get element() { return this; }
698
698
  static get style() { return DsoDatePickerLegacyStyle0; }
@@ -1 +1 @@
1
- {"file":"dso-date-picker-legacy.js","mappings":"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","names":["DsoDatePickerLegacy","defaultLocalization"],"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: left;\r\n width: 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-bottom-right-radius: core-date-picker-legacy-variables.$radius;\r\n border-top-right-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 height: core-date-picker-legacy-variables.$size;\r\n justify-content: center;\r\n padding: 0;\r\n position: absolute;\r\n right: 0;\r\n transform: translateY(-50%);\r\n top: 50%;\r\n user-select: none;\r\n width: 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 right: 0;\r\n min-width: 320px;\r\n opacity: 0;\r\n position: absolute;\r\n top: 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 bottom: 0;\r\n position: fixed;\r\n left: 0;\r\n right: 0;\r\n top: 0;\r\n transform: translateZ(0);\r\n transform-origin: bottom center;\r\n }\r\n\r\n &.is-left {\r\n left: units.$padding-base-horizontal * -1 + core-date-picker-legacy-variables.$border-width;\r\n right: auto;\r\n width: 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-left: auto;\r\n margin-right: -1px;\r\n margin-top: 8px;\r\n max-width: 310px;\r\n min-width: 290px;\r\n padding: 16px;\r\n position: relative;\r\n transform: none;\r\n width: 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-top-left-radius: core-date-picker-legacy-variables.$radius;\r\n border-top-right-radius: core-date-picker-legacy-variables.$radius;\r\n bottom: 0;\r\n left: 0;\r\n margin: 0;\r\n max-width: none;\r\n min-height: 26em;\r\n opacity: 0;\r\n padding: 0 8% 20px;\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-width: (core-date-picker-legacy-variables.$size + 2) * 7;\r\n table-layout: fixed;\r\n text-align: center;\r\n width: 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 height: 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 height: core-date-picker-legacy-variables.$size + 2;\r\n padding: 1px;\r\n text-align: center;\r\n width: 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 height: 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 width: core-date-picker-legacy-variables.$size;\r\n z-index: zindex.$datepicker;\r\n\r\n &.is-today {\r\n background: transparent;\r\n height: core-date-picker-legacy-variables.$size - 2;\r\n box-shadow: 0 0 0 1px core-date-picker-legacy-variables.$color-button;\r\n width: 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 height: core-date-picker-legacy-variables.$size - 4;\r\n outline: 0;\r\n width: 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 height: core-date-picker-legacy-variables.$size - 4;\r\n line-height: core-date-picker-legacy-variables.$size - 4;\r\n width: 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-bottom: 16px;\r\n width: 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 height: 32px;\r\n justify-content: center;\r\n margin-left: 8px;\r\n padding: 0;\r\n width: 32px;\r\n\r\n @media (max-width: 35.9375em) {\r\n height: 40px;\r\n width: 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: 0 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 height: units.$u1 * 4 - 4;\r\n line-height: units.$u1 * 4 - 4;\r\n position: relative;\r\n\r\n span {\r\n margin-right: 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 height: 100%;\r\n left: 0;\r\n opacity: 0;\r\n position: absolute;\r\n top: 0;\r\n width: 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: 0 4px 0 8px;\r\n pointer-events: none;\r\n position: relative;\r\n width: 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 width: 16px;\r\n height: 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-bottom: 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-bottom: 20px;\r\n margin-left: -10%;\r\n overflow: hidden;\r\n padding: 12px 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 width: 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 right: -16px;\r\n top: -16px;\r\n width: 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-width: 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 height: units.$u1 * 4;\r\n justify-content: center;\r\n margin-right: -4px;\r\n padding: 0;\r\n width: units.$u1 * 4;\r\n\r\n @media (min-width: 36em) {\r\n margin-right: 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 height: 1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n top: 0;\r\n width: 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 this.open ? this.hide(false) : this.show();\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"],"version":3}
1
+ {"file":"dso-date-picker-legacy.js","mappings":"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","names":["DsoDatePickerLegacy","defaultLocalization"],"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: left;\r\n width: 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-bottom-right-radius: core-date-picker-legacy-variables.$radius;\r\n border-top-right-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 height: core-date-picker-legacy-variables.$size;\r\n justify-content: center;\r\n padding: 0;\r\n position: absolute;\r\n right: 0;\r\n transform: translateY(-50%);\r\n top: 50%;\r\n user-select: none;\r\n width: 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 right: 0;\r\n min-width: 320px;\r\n opacity: 0;\r\n position: absolute;\r\n top: 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 bottom: 0;\r\n position: fixed;\r\n left: 0;\r\n right: 0;\r\n top: 0;\r\n transform: translateZ(0);\r\n transform-origin: bottom center;\r\n }\r\n\r\n &.is-left {\r\n left: units.$padding-base-horizontal * -1 + core-date-picker-legacy-variables.$border-width;\r\n right: auto;\r\n width: 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-left: auto;\r\n margin-right: -1px;\r\n margin-top: 8px;\r\n max-width: 310px;\r\n min-width: 290px;\r\n padding: 16px;\r\n position: relative;\r\n transform: none;\r\n width: 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-top-left-radius: core-date-picker-legacy-variables.$radius;\r\n border-top-right-radius: core-date-picker-legacy-variables.$radius;\r\n bottom: 0;\r\n left: 0;\r\n margin: 0;\r\n max-width: none;\r\n min-height: 26em;\r\n opacity: 0;\r\n padding: 0 8% 20px;\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-width: (core-date-picker-legacy-variables.$size + 2) * 7;\r\n table-layout: fixed;\r\n text-align: center;\r\n width: 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 height: 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 height: core-date-picker-legacy-variables.$size + 2;\r\n padding: 1px;\r\n text-align: center;\r\n width: 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 height: 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 width: core-date-picker-legacy-variables.$size;\r\n z-index: zindex.$datepicker;\r\n\r\n &.is-today {\r\n background: transparent;\r\n height: core-date-picker-legacy-variables.$size - 2;\r\n box-shadow: 0 0 0 1px core-date-picker-legacy-variables.$color-button;\r\n width: 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 height: core-date-picker-legacy-variables.$size - 4;\r\n outline: 0;\r\n width: 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 height: core-date-picker-legacy-variables.$size - 4;\r\n line-height: core-date-picker-legacy-variables.$size - 4;\r\n width: 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-bottom: 16px;\r\n width: 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 height: 32px;\r\n justify-content: center;\r\n margin-left: 8px;\r\n padding: 0;\r\n width: 32px;\r\n\r\n @media (max-width: 35.9375em) {\r\n height: 40px;\r\n width: 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: 0 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 height: units.$u1 * 4 - 4;\r\n line-height: units.$u1 * 4 - 4;\r\n position: relative;\r\n\r\n span {\r\n margin-right: 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 height: 100%;\r\n left: 0;\r\n opacity: 0;\r\n position: absolute;\r\n top: 0;\r\n width: 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: 0 4px 0 8px;\r\n pointer-events: none;\r\n position: relative;\r\n width: 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 width: 16px;\r\n height: 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-bottom: 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-bottom: 20px;\r\n margin-left: -10%;\r\n overflow: hidden;\r\n padding: 12px 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 width: 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 right: -16px;\r\n top: -16px;\r\n width: 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-width: 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 height: units.$u1 * 4;\r\n justify-content: center;\r\n margin-right: -4px;\r\n padding: 0;\r\n width: units.$u1 * 4;\r\n\r\n @media (min-width: 36em) {\r\n margin-right: 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 height: 1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n top: 0;\r\n width: 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 this.open ? this.hide(false) : this.show();\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"],"version":3}
@@ -138,7 +138,7 @@ const DsoDatePicker$1 = /*@__PURE__*/ proxyCustomElement(class DsoDatePicker ext
138
138
  }
139
139
  render() {
140
140
  var _a;
141
- return (h("input", { key: 'ecb068ea47b65537bcc588275a661a8b76ca12c8', type: "date", id: this.identifier, class: "dso-date__input", value: parseToValueFormat(this.value), name: this.name, min: parseToValueFormat(this.min), max: parseToValueFormat(this.max), disabled: this.disabled || undefined, required: this.required || undefined, "aria-autocomplete": "none", "aria-invalid": (_a = this.invalid) === null || _a === void 0 ? void 0 : _a.toString(), "aria-describedby": this.describedBy, autoComplete: "off", autofocus: this.dsoAutofocus || undefined, onBlur: this.handleBlur, onFocus: this.handleFocus, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown, onChange: this.handleInputChange }));
141
+ return (h("input", { key: 'ab327f9e162793c1abdcdd3b7e1242b6ddee1ddb', type: "date", id: this.identifier, class: "dso-date__input", value: parseToValueFormat(this.value), name: this.name, min: parseToValueFormat(this.min), max: parseToValueFormat(this.max), disabled: this.disabled || undefined, required: this.required || undefined, "aria-autocomplete": "none", "aria-invalid": (_a = this.invalid) === null || _a === void 0 ? void 0 : _a.toString(), "aria-describedby": this.describedBy, autoComplete: "off", autofocus: this.dsoAutofocus || undefined, onBlur: this.handleBlur, onFocus: this.handleFocus, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown, onChange: this.handleInputChange }));
142
142
  }
143
143
  get element() { return this; }
144
144
  static get style() { return DsoDatePickerStyle0; }
@@ -85,10 +85,10 @@ const HelpcenterPanel = /*@__PURE__*/ proxyCustomElement(class HelpcenterPanel e
85
85
  }
86
86
  }
87
87
  render() {
88
- return (h(Fragment, null, h("button", { key: '909aac6047227d77380de43410aca299969f3e50', type: "button", onClick: this.openClick, class: `open-button ${this.isOpen}`, "aria-expanded": this.isOpen === "open" ? "true" : "false", "aria-haspopup": "dialog", "aria-controls": "dso-panel-wrapper", ref: (element) => (this.openButtonElement = element) }, h("dso-icon", { key: 'fea78709ac56d52e423b18b54c6f37410c89b532', icon: "help" }), h("span", { key: '5edd950d0d1c7f771087897073444d2b4e68d0e6' }, this.label)), h("div", { key: 'd9ae79d4fdc953de80861b47ff8039550422e4b4', id: "dso-panel-wrapper", class: `wrapper ${this.visibility}`, "aria-label": "helpcentrum", role: "dialog", ref: (element) => (this.panelWrapperElement = element) }, h("div", { key: '515ed4a463729f9c08ad4e99d2da43feb052edc5', class: "dimscreen", onClick: this.closeClick }), h("div", { key: '383abc297aa3b83dfad29a9977528a465b81b0ee', class: `iframe-container ${this.slideState}`, "aria-live": "polite" }, this.loadIframe ? (h("iframe", { src: this.iframeUrl, tabindex: "0", onLoad: () => {
88
+ return (h(Fragment, null, h("button", { key: 'd8a03771c37da24b79a4037c5313d7977e9ad135', type: "button", onClick: this.openClick, class: `open-button ${this.isOpen}`, "aria-expanded": this.isOpen === "open" ? "true" : "false", "aria-haspopup": "dialog", "aria-controls": "dso-panel-wrapper", ref: (element) => (this.openButtonElement = element) }, h("dso-icon", { key: '9baf7a627c7f13704d8981597acdeeb5fab4ec36', icon: "help" }), h("span", { key: '7a0d3fa0b3395da9151b1df46dc64705c9da7360' }, this.label)), h("div", { key: 'b9679cb522e5292abcf19019cf98018d5759f14b', id: "dso-panel-wrapper", class: `wrapper ${this.visibility}`, "aria-label": "helpcentrum", role: "dialog", ref: (element) => (this.panelWrapperElement = element) }, h("div", { key: '95d6f562523690715a468ffbcad1049f23ef1dcf', class: "dimscreen", onClick: this.closeClick }), h("div", { key: '119aa32731566a0126a9ae4e1574f4a8d120f162', class: `iframe-container ${this.slideState}`, "aria-live": "polite" }, this.loadIframe ? (h("iframe", { src: this.iframeUrl, tabindex: "0", onLoad: () => {
89
89
  this.createTrap();
90
90
  this.iframeLoaded = true;
91
- } })) : (h("div", null))), h("button", { key: '57d12c57f058f5a7ca9fa978b5f85a56e185899f', type: "button", class: `close-button ${this.isOpen}`, onClick: this.closeClick, "aria-expanded": this.isOpen === "open" ? "true" : "false", "aria-controls": "dso-panel-wrapper", ref: (element) => (this.closeButtonElement = element) }, h("dso-icon", { key: 'a43d456f9669fe5841e5f1a52e1f2b0ff84cc5d2', icon: "times" }), h("span", { key: '87f50ebf9d194a0a8946d65c90251eda21f1af6a', class: "sr-only" }, "sluiten")))));
91
+ } })) : (h("div", null))), h("button", { key: '6527714c7de5c6261f76ae41d0e00fd152463e41', type: "button", class: `close-button ${this.isOpen}`, onClick: this.closeClick, "aria-expanded": this.isOpen === "open" ? "true" : "false", "aria-controls": "dso-panel-wrapper", ref: (element) => (this.closeButtonElement = element) }, h("dso-icon", { key: 'fce79d104ac97fb79298923b128ef8ab0c95123c', icon: "times" }), h("span", { key: '8091ac03b2091414b9786fbc9cc37b8bf8f3a311', class: "sr-only" }, "sluiten")))));
92
92
  }
93
93
  static get watchers() { return {
94
94
  "url": ["watchUrl"],
@@ -17,7 +17,7 @@ const HighlightBox = /*@__PURE__*/ proxyCustomElement(class HighlightBox extends
17
17
  render() {
18
18
  var _a;
19
19
  const hasCounter = this.step || !!this.element.querySelector("[slot=icon]");
20
- return (h(Host, { key: '480fc37af102e5ab8e004bcd03a33a70c723259d', "has-counter": hasCounter }, hasCounter && h("div", { class: "dso-step-counter" }, (_a = this.step) !== null && _a !== void 0 ? _a : h("slot", { name: "icon" })), h("slot", { key: 'a1f3e79a13ab81e11c7cbfae41318d21e811566c' })));
20
+ return (h(Host, { key: '4334f13da16a3005e01e815a0998fdcbc87f31e8', "has-counter": hasCounter }, hasCounter && h("div", { key: '553cb9e7150fb6c603c9bbbc0d2307170416ee3b', class: "dso-step-counter" }, (_a = this.step) !== null && _a !== void 0 ? _a : h("slot", { key: 'faf8811c78d6c918c2624f43c75d6241209be209', name: "icon" })), h("slot", { key: '2bfd070a41a5f969d5cb1d24ce1a6846e68c5ceb' })));
21
21
  }
22
22
  get element() { return this; }
23
23
  static get style() { return DsoHighlightBoxStyle0; }