@dso-toolkit/core 67.3.1 → 67.3.2

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 (682) hide show
  1. package/dist/cjs/{annotation-body-9e62da5c.js → annotation-body-17541223.js} +2 -2
  2. package/dist/cjs/{annotation-body-9e62da5c.js.map → annotation-body-17541223.js.map} +1 -1
  3. package/dist/cjs/{annotation-symbol-slot-46421527.js → annotation-symbol-slot-0d0e0294.js} +2 -2
  4. package/dist/cjs/{annotation-symbol-slot-46421527.js.map → annotation-symbol-slot-0d0e0294.js.map} +1 -1
  5. package/dist/cjs/dso-accordion-section.cjs.entry.js +14 -14
  6. package/dist/cjs/dso-accordion-section.cjs.entry.js.map +1 -1
  7. package/dist/cjs/dso-accordion.cjs.entry.js +9 -1
  8. package/dist/cjs/dso-accordion.cjs.entry.js.map +1 -1
  9. package/dist/cjs/dso-action-list-item.cjs.entry.js +10 -3
  10. package/dist/cjs/dso-action-list-item.cjs.entry.js.map +1 -1
  11. package/dist/cjs/dso-action-list.cjs.entry.js +1 -2
  12. package/dist/cjs/dso-action-list.cjs.entry.js.map +1 -1
  13. package/dist/cjs/dso-advanced-select.cjs.entry.js +10 -6
  14. package/dist/cjs/dso-advanced-select.cjs.entry.js.map +1 -1
  15. package/dist/cjs/dso-alert_6.cjs.entry.js +17 -17
  16. package/dist/cjs/dso-alert_6.cjs.entry.js.map +1 -1
  17. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js +3 -10
  18. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js.map +1 -1
  19. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js +3 -7
  20. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js.map +1 -1
  21. package/dist/cjs/dso-annotation-kaart.cjs.entry.js +2 -5
  22. package/dist/cjs/dso-annotation-kaart.cjs.entry.js.map +1 -1
  23. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js +47 -29
  24. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js.map +1 -1
  25. package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js +3 -10
  26. package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js.map +1 -1
  27. package/dist/cjs/dso-attachments-counter_2.cjs.entry.js +4 -4
  28. package/dist/cjs/dso-attachments-counter_2.cjs.entry.js.map +1 -1
  29. package/dist/cjs/dso-autosuggest.cjs.entry.js +30 -16
  30. package/dist/cjs/dso-autosuggest.cjs.entry.js.map +1 -1
  31. package/dist/cjs/dso-banner.cjs.entry.js +9 -2
  32. package/dist/cjs/dso-banner.cjs.entry.js.map +1 -1
  33. package/dist/cjs/dso-card-container.cjs.entry.js +4 -1
  34. package/dist/cjs/dso-card-container.cjs.entry.js.map +1 -1
  35. package/dist/cjs/dso-card.cjs.entry.js +1 -4
  36. package/dist/cjs/dso-card.cjs.entry.js.map +1 -1
  37. package/dist/cjs/dso-date-picker-legacy.cjs.entry.js +42 -17
  38. package/dist/cjs/dso-date-picker-legacy.cjs.entry.js.map +1 -1
  39. package/dist/cjs/dso-date-picker.cjs.entry.js +22 -11
  40. package/dist/cjs/dso-date-picker.cjs.entry.js.map +1 -1
  41. package/dist/cjs/dso-document-card.cjs.entry.js +1 -3
  42. package/dist/cjs/dso-document-card.cjs.entry.js.map +1 -1
  43. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +23 -9
  44. package/dist/cjs/dso-dropdown-menu.cjs.entry.js.map +1 -1
  45. package/dist/cjs/dso-header.cjs.entry.js +20 -16
  46. package/dist/cjs/dso-header.cjs.entry.js.map +1 -1
  47. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js +10 -8
  48. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js.map +1 -1
  49. package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -6
  50. package/dist/cjs/dso-highlight-box.cjs.entry.js.map +1 -1
  51. package/dist/cjs/dso-icon.cjs.entry.js +1 -2
  52. package/dist/cjs/dso-icon.cjs.entry.js.map +1 -1
  53. package/dist/cjs/dso-info-button.cjs.entry.js +4 -3
  54. package/dist/cjs/dso-info-button.cjs.entry.js.map +1 -1
  55. package/dist/cjs/dso-info_2.cjs.entry.js +3 -17
  56. package/dist/cjs/dso-info_2.cjs.entry.js.map +1 -1
  57. package/dist/cjs/dso-input-range.cjs.entry.js +4 -7
  58. package/dist/cjs/dso-input-range.cjs.entry.js.map +1 -1
  59. package/dist/cjs/dso-label_2.cjs.entry.js +22 -17
  60. package/dist/cjs/dso-label_2.cjs.entry.js.map +1 -1
  61. package/dist/cjs/dso-legend-item.cjs.entry.js +4 -3
  62. package/dist/cjs/dso-legend-item.cjs.entry.js.map +1 -1
  63. package/dist/cjs/dso-list-button.cjs.entry.js +13 -10
  64. package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -1
  65. package/dist/cjs/dso-logo.cjs.entry.js +9 -6
  66. package/dist/cjs/dso-logo.cjs.entry.js.map +1 -1
  67. package/dist/cjs/dso-map-base-layers.cjs.entry.js +7 -5
  68. package/dist/cjs/dso-map-base-layers.cjs.entry.js.map +1 -1
  69. package/dist/cjs/dso-map-controls.cjs.entry.js +7 -5
  70. package/dist/cjs/dso-map-controls.cjs.entry.js.map +1 -1
  71. package/dist/cjs/dso-map-overlays.cjs.entry.js +7 -5
  72. package/dist/cjs/dso-map-overlays.cjs.entry.js.map +1 -1
  73. package/dist/cjs/dso-mark-bar.cjs.entry.js +5 -5
  74. package/dist/cjs/dso-mark-bar.cjs.entry.js.map +1 -1
  75. package/dist/cjs/dso-modal.cjs.entry.js +19 -6
  76. package/dist/cjs/dso-modal.cjs.entry.js.map +1 -1
  77. package/dist/cjs/dso-pagination.cjs.entry.js +4 -4
  78. package/dist/cjs/dso-pagination.cjs.entry.js.map +1 -1
  79. package/dist/cjs/dso-plekinfo-card.cjs.entry.js +4 -4
  80. package/dist/cjs/dso-plekinfo-card.cjs.entry.js.map +1 -1
  81. package/dist/cjs/dso-progress-bar.cjs.entry.js +7 -2
  82. package/dist/cjs/dso-progress-bar.cjs.entry.js.map +1 -1
  83. package/dist/cjs/dso-progress-indicator.cjs.entry.js +2 -5
  84. package/dist/cjs/dso-progress-indicator.cjs.entry.js.map +1 -1
  85. package/dist/cjs/dso-project-item.cjs.entry.js +1 -2
  86. package/dist/cjs/dso-project-item.cjs.entry.js.map +1 -1
  87. package/dist/cjs/dso-renvooi_2.cjs.entry.js +11 -6
  88. package/dist/cjs/dso-renvooi_2.cjs.entry.js.map +1 -1
  89. package/dist/cjs/dso-responsive-element.cjs.entry.js +3 -3
  90. package/dist/cjs/dso-responsive-element.cjs.entry.js.map +1 -1
  91. package/dist/cjs/dso-scrollable.cjs.entry.js +1 -1
  92. package/dist/cjs/dso-scrollable.cjs.entry.js.map +1 -1
  93. package/dist/cjs/dso-skiplink.cjs.entry.js +1 -3
  94. package/dist/cjs/dso-skiplink.cjs.entry.js.map +1 -1
  95. package/dist/cjs/dso-tab.cjs.entry.js +1 -4
  96. package/dist/cjs/dso-tab.cjs.entry.js.map +1 -1
  97. package/dist/cjs/dso-tabs.cjs.entry.js +1 -1
  98. package/dist/cjs/dso-toggletip.cjs.entry.js +10 -6
  99. package/dist/cjs/dso-toggletip.cjs.entry.js.map +1 -1
  100. package/dist/cjs/dso-toolkit.cjs.js +2 -2
  101. package/dist/cjs/dso-toolkit.cjs.js.map +1 -1
  102. package/dist/cjs/dso-tree-view.cjs.entry.js +1 -2
  103. package/dist/cjs/dso-tree-view.cjs.entry.js.map +1 -1
  104. package/dist/cjs/dso-viewer-grid.cjs.entry.js +38 -11
  105. package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -1
  106. package/dist/cjs/dsot-document-component-demo.cjs.entry.js +18 -12
  107. package/dist/cjs/dsot-document-component-demo.cjs.entry.js.map +1 -1
  108. package/dist/cjs/{focus-trap.esm-b5c60ce2.js → focus-trap.esm-14b4a31b.js} +68 -45
  109. package/dist/cjs/focus-trap.esm-14b4a31b.js.map +1 -0
  110. package/dist/cjs/{i18n-0da568ee.js → i18n-b5f9d73e.js} +22 -7
  111. package/dist/cjs/i18n-b5f9d73e.js.map +1 -0
  112. package/dist/cjs/{index-9c71ed34.js → index-52cc9a2a.js} +350 -267
  113. package/dist/cjs/index-52cc9a2a.js.map +1 -0
  114. package/dist/cjs/loader.cjs.js +1 -1
  115. package/dist/cjs/{v4-6fbeaa38.js → v4-2a8f5623.js} +8 -2
  116. package/dist/cjs/v4-2a8f5623.js.map +1 -0
  117. package/dist/collection/collection-manifest.json +1 -1
  118. package/dist/collection/components/accordion/accordion.js +12 -0
  119. package/dist/collection/components/accordion/accordion.js.map +1 -1
  120. package/dist/collection/components/accordion/components/accordion-section.js +37 -13
  121. package/dist/collection/components/accordion/components/accordion-section.js.map +1 -1
  122. package/dist/collection/components/action-list/action-list.js +2 -3
  123. package/dist/collection/components/action-list/action-list.js.map +1 -1
  124. package/dist/collection/components/action-list/components/action-list-item.js +19 -2
  125. package/dist/collection/components/action-list/components/action-list-item.js.map +1 -1
  126. package/dist/collection/components/advanced-select/advanced-select.js +15 -5
  127. package/dist/collection/components/advanced-select/advanced-select.js.map +1 -1
  128. package/dist/collection/components/alert/alert.js +6 -3
  129. package/dist/collection/components/alert/alert.js.map +1 -1
  130. package/dist/collection/components/annotation/annotation-activiteit/annotation-activiteit.js +15 -8
  131. package/dist/collection/components/annotation/annotation-activiteit/annotation-activiteit.js.map +1 -1
  132. package/dist/collection/components/annotation/annotation-gebiedsaanwijzing/annotation-gebiedsaanwijzing.js +8 -4
  133. package/dist/collection/components/annotation/annotation-gebiedsaanwijzing/annotation-gebiedsaanwijzing.js.map +1 -1
  134. package/dist/collection/components/annotation/annotation-kaart/annotation-kaart.js +6 -3
  135. package/dist/collection/components/annotation/annotation-kaart/annotation-kaart.js.map +1 -1
  136. package/dist/collection/components/annotation/annotation-locatie/annotation-locatie.js +8 -4
  137. package/dist/collection/components/annotation/annotation-locatie/annotation-locatie.js.map +1 -1
  138. package/dist/collection/components/annotation/annotation-omgevingsnormwaarde/annotation-omgevingsnormwaarde.js +15 -8
  139. package/dist/collection/components/annotation/annotation-omgevingsnormwaarde/annotation-omgevingsnormwaarde.js.map +1 -1
  140. package/dist/collection/components/attachments-counter/attachments-counter.js +2 -3
  141. package/dist/collection/components/attachments-counter/attachments-counter.js.map +1 -1
  142. package/dist/collection/components/autosuggest/autosuggest.js +42 -14
  143. package/dist/collection/components/autosuggest/autosuggest.js.map +1 -1
  144. package/dist/collection/components/badge/badge.js +2 -3
  145. package/dist/collection/components/badge/badge.js.map +1 -1
  146. package/dist/collection/components/banner/banner.js +14 -1
  147. package/dist/collection/components/banner/banner.js.map +1 -1
  148. package/dist/collection/components/card/card.js +6 -5
  149. package/dist/collection/components/card/card.js.map +1 -1
  150. package/dist/collection/components/card-container/card-container.js +5 -0
  151. package/dist/collection/components/card-container/card-container.js.map +1 -1
  152. package/dist/collection/components/date-picker/date-picker.js +41 -10
  153. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  154. package/dist/collection/components/date-picker-legacy/date-picker-legacy.js +65 -16
  155. package/dist/collection/components/date-picker-legacy/date-picker-legacy.js.map +1 -1
  156. package/dist/collection/components/document-card/document-card.js +4 -4
  157. package/dist/collection/components/document-card/document-card.js.map +1 -1
  158. package/dist/collection/components/document-component/document-component.js +89 -23
  159. package/dist/collection/components/document-component/document-component.js.map +1 -1
  160. package/dist/collection/components/document-component-demo/document-component.demo.js +25 -11
  161. package/dist/collection/components/document-component-demo/document-component.demo.js.map +1 -1
  162. package/dist/collection/components/dropdown-menu/dropdown-menu.js +35 -7
  163. package/dist/collection/components/dropdown-menu/dropdown-menu.js.map +1 -1
  164. package/dist/collection/components/expandable/expandable.js +9 -2
  165. package/dist/collection/components/expandable/expandable.js.map +1 -1
  166. package/dist/collection/components/header/header.js +40 -14
  167. package/dist/collection/components/header/header.js.map +1 -1
  168. package/dist/collection/components/helpcenter-panel/helpcenter-panel.js +12 -6
  169. package/dist/collection/components/helpcenter-panel/helpcenter-panel.js.map +1 -1
  170. package/dist/collection/components/highlight-box/highlight-box.js +10 -7
  171. package/dist/collection/components/highlight-box/highlight-box.js.map +1 -1
  172. package/dist/collection/components/icon/icon.js +2 -3
  173. package/dist/collection/components/icon/icon.js.map +1 -1
  174. package/dist/collection/components/image-overlay/image-overlay.js +4 -3
  175. package/dist/collection/components/image-overlay/image-overlay.js.map +1 -1
  176. package/dist/collection/components/info/info.js +4 -4
  177. package/dist/collection/components/info/info.js.map +1 -1
  178. package/dist/collection/components/info-button/info-button.js +9 -2
  179. package/dist/collection/components/info-button/info-button.js.map +1 -1
  180. package/dist/collection/components/input-range/input-range.js +17 -6
  181. package/dist/collection/components/input-range/input-range.js.map +1 -1
  182. package/dist/collection/components/label/label.js +8 -8
  183. package/dist/collection/components/label/label.js.map +1 -1
  184. package/dist/collection/components/legend-item/legend-item.js +9 -2
  185. package/dist/collection/components/legend-item/legend-item.js.map +1 -1
  186. package/dist/collection/components/list-button/list-button.js +29 -8
  187. package/dist/collection/components/list-button/list-button.js.map +1 -1
  188. package/dist/collection/components/logo/logo.js +18 -5
  189. package/dist/collection/components/logo/logo.js.map +1 -1
  190. package/dist/collection/components/map-base-layers/map-base-layers.js +9 -3
  191. package/dist/collection/components/map-base-layers/map-base-layers.js.map +1 -1
  192. package/dist/collection/components/map-controls/map-controls.js +9 -3
  193. package/dist/collection/components/map-controls/map-controls.js.map +1 -1
  194. package/dist/collection/components/map-overlays/map-overlays.js +9 -3
  195. package/dist/collection/components/map-overlays/map-overlays.js.map +1 -1
  196. package/dist/collection/components/mark-bar/mark-bar.js +12 -4
  197. package/dist/collection/components/mark-bar/mark-bar.js.map +1 -1
  198. package/dist/collection/components/modal/modal.js +26 -3
  199. package/dist/collection/components/modal/modal.js.map +1 -1
  200. package/dist/collection/components/ozon-content/ozon-content.js +12 -5
  201. package/dist/collection/components/ozon-content/ozon-content.js.map +1 -1
  202. package/dist/collection/components/pagination/pagination.js +9 -3
  203. package/dist/collection/components/pagination/pagination.js.map +1 -1
  204. package/dist/collection/components/panel/panel.js +2 -1
  205. package/dist/collection/components/panel/panel.js.map +1 -1
  206. package/dist/collection/components/plekinfo-card/plekinfo-card.js +11 -3
  207. package/dist/collection/components/plekinfo-card/plekinfo-card.js.map +1 -1
  208. package/dist/collection/components/progress-bar/progress-bar.js +12 -1
  209. package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
  210. package/dist/collection/components/progress-indicator/progress-indicator.js +6 -3
  211. package/dist/collection/components/progress-indicator/progress-indicator.js.map +1 -1
  212. package/dist/collection/components/project-item/project-item.js +2 -3
  213. package/dist/collection/components/project-item/project-item.js.map +1 -1
  214. package/dist/collection/components/renvooi/renvooi.js +2 -3
  215. package/dist/collection/components/renvooi/renvooi.js.map +1 -1
  216. package/dist/collection/components/responsive-element/responsive-element.js +2 -2
  217. package/dist/collection/components/responsive-element/responsive-element.js.map +1 -1
  218. package/dist/collection/components/scrollable/scrollable.js.map +1 -1
  219. package/dist/collection/components/selectable/selectable.js +26 -14
  220. package/dist/collection/components/selectable/selectable.js.map +1 -1
  221. package/dist/collection/components/skiplink/skiplink.js +4 -4
  222. package/dist/collection/components/skiplink/skiplink.js.map +1 -1
  223. package/dist/collection/components/slide-toggle/slide-toggle.js +19 -3
  224. package/dist/collection/components/slide-toggle/slide-toggle.js.map +1 -1
  225. package/dist/collection/components/table/table.js +10 -1
  226. package/dist/collection/components/table/table.js.map +1 -1
  227. package/dist/collection/components/tabs/components/tab.js +6 -3
  228. package/dist/collection/components/tabs/components/tab.js.map +1 -1
  229. package/dist/collection/components/toggletip/toggletip.js +17 -5
  230. package/dist/collection/components/toggletip/toggletip.js.map +1 -1
  231. package/dist/collection/components/tooltip/tooltip.js +35 -8
  232. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  233. package/dist/collection/components/tree-view/tree-view.js +3 -2
  234. package/dist/collection/components/tree-view/tree-view.js.map +1 -1
  235. package/dist/collection/components/viewer-grid/viewer-grid.js +55 -10
  236. package/dist/collection/components/viewer-grid/viewer-grid.js.map +1 -1
  237. package/dist/components/alert.js +0 -3
  238. package/dist/components/alert.js.map +1 -1
  239. package/dist/components/annotation-locatie.js +0 -4
  240. package/dist/components/annotation-locatie.js.map +1 -1
  241. package/dist/components/attachments-counter.js +0 -1
  242. package/dist/components/attachments-counter.js.map +1 -1
  243. package/dist/components/badge.js +0 -1
  244. package/dist/components/badge.js.map +1 -1
  245. package/dist/components/document-component.js +44 -22
  246. package/dist/components/document-component.js.map +1 -1
  247. package/dist/components/dropdown-menu.js +21 -7
  248. package/dist/components/dropdown-menu.js.map +1 -1
  249. package/dist/components/dso-accordion-section.js +13 -13
  250. package/dist/components/dso-accordion-section.js.map +1 -1
  251. package/dist/components/dso-accordion.js +8 -0
  252. package/dist/components/dso-accordion.js.map +1 -1
  253. package/dist/components/dso-action-list-item.js +9 -2
  254. package/dist/components/dso-action-list-item.js.map +1 -1
  255. package/dist/components/dso-action-list.js +0 -1
  256. package/dist/components/dso-action-list.js.map +1 -1
  257. package/dist/components/dso-advanced-select.js +8 -4
  258. package/dist/components/dso-advanced-select.js.map +1 -1
  259. package/dist/components/dso-annotation-activiteit.js +0 -7
  260. package/dist/components/dso-annotation-activiteit.js.map +1 -1
  261. package/dist/components/dso-annotation-gebiedsaanwijzing.js +0 -4
  262. package/dist/components/dso-annotation-gebiedsaanwijzing.js.map +1 -1
  263. package/dist/components/dso-annotation-kaart.js +0 -3
  264. package/dist/components/dso-annotation-kaart.js.map +1 -1
  265. package/dist/components/dso-annotation-omgevingsnormwaarde.js +0 -7
  266. package/dist/components/dso-annotation-omgevingsnormwaarde.js.map +1 -1
  267. package/dist/components/dso-autosuggest.js +27 -13
  268. package/dist/components/dso-autosuggest.js.map +1 -1
  269. package/dist/components/dso-banner.js +8 -1
  270. package/dist/components/dso-banner.js.map +1 -1
  271. package/dist/components/dso-card-container.js +3 -0
  272. package/dist/components/dso-card-container.js.map +1 -1
  273. package/dist/components/dso-card.js +0 -3
  274. package/dist/components/dso-card.js.map +1 -1
  275. package/dist/components/dso-date-picker-legacy.js +41 -16
  276. package/dist/components/dso-date-picker-legacy.js.map +1 -1
  277. package/dist/components/dso-date-picker.js +21 -10
  278. package/dist/components/dso-date-picker.js.map +1 -1
  279. package/dist/components/dso-document-card.js +0 -2
  280. package/dist/components/dso-document-card.js.map +1 -1
  281. package/dist/components/dso-header.js +18 -14
  282. package/dist/components/dso-header.js.map +1 -1
  283. package/dist/components/dso-helpcenter-panel.js +8 -6
  284. package/dist/components/dso-helpcenter-panel.js.map +1 -1
  285. package/dist/components/dso-highlight-box.js +0 -5
  286. package/dist/components/dso-highlight-box.js.map +1 -1
  287. package/dist/components/dso-input-range.js +3 -6
  288. package/dist/components/dso-input-range.js.map +1 -1
  289. package/dist/components/dso-legend-item.js +3 -2
  290. package/dist/components/dso-legend-item.js.map +1 -1
  291. package/dist/components/dso-list-button.js +11 -8
  292. package/dist/components/dso-list-button.js.map +1 -1
  293. package/dist/components/dso-logo.js +8 -5
  294. package/dist/components/dso-logo.js.map +1 -1
  295. package/dist/components/dso-map-base-layers.js +4 -2
  296. package/dist/components/dso-map-base-layers.js.map +1 -1
  297. package/dist/components/dso-map-controls.js +5 -3
  298. package/dist/components/dso-map-controls.js.map +1 -1
  299. package/dist/components/dso-map-overlays.js +4 -2
  300. package/dist/components/dso-map-overlays.js.map +1 -1
  301. package/dist/components/dso-mark-bar.js +4 -4
  302. package/dist/components/dso-mark-bar.js.map +1 -1
  303. package/dist/components/dso-modal.js +16 -3
  304. package/dist/components/dso-modal.js.map +1 -1
  305. package/dist/components/dso-pagination.js +3 -3
  306. package/dist/components/dso-pagination.js.map +1 -1
  307. package/dist/components/dso-plekinfo-card.js +3 -3
  308. package/dist/components/dso-plekinfo-card.js.map +1 -1
  309. package/dist/components/dso-progress-bar.js +6 -1
  310. package/dist/components/dso-progress-bar.js.map +1 -1
  311. package/dist/components/dso-project-item.js +0 -1
  312. package/dist/components/dso-project-item.js.map +1 -1
  313. package/dist/components/dso-skiplink.js +0 -2
  314. package/dist/components/dso-skiplink.js.map +1 -1
  315. package/dist/components/dso-tab.js +0 -3
  316. package/dist/components/dso-tab.js.map +1 -1
  317. package/dist/components/dso-tree-view.js +0 -1
  318. package/dist/components/dso-tree-view.js.map +1 -1
  319. package/dist/components/dso-viewer-grid.js +37 -10
  320. package/dist/components/dso-viewer-grid.js.map +1 -1
  321. package/dist/components/dsot-document-component-demo.js +17 -11
  322. package/dist/components/dsot-document-component-demo.js.map +1 -1
  323. package/dist/components/expandable.js +3 -2
  324. package/dist/components/expandable.js.map +1 -1
  325. package/dist/components/focus-trap.esm.js +68 -45
  326. package/dist/components/focus-trap.esm.js.map +1 -1
  327. package/dist/components/i18n.js +21 -6
  328. package/dist/components/i18n.js.map +1 -1
  329. package/dist/components/icon.js +0 -1
  330. package/dist/components/icon.js.map +1 -1
  331. package/dist/components/image-overlay.js +2 -3
  332. package/dist/components/image-overlay.js.map +1 -1
  333. package/dist/components/index.esm.js +1 -1
  334. package/dist/components/info-button.js +3 -2
  335. package/dist/components/info-button.js.map +1 -1
  336. package/dist/components/info.js +0 -2
  337. package/dist/components/info.js.map +1 -1
  338. package/dist/components/label.js +0 -8
  339. package/dist/components/label.js.map +1 -1
  340. package/dist/components/ozon-content.js +5 -4
  341. package/dist/components/ozon-content.js.map +1 -1
  342. package/dist/components/panel.js +0 -1
  343. package/dist/components/panel.js.map +1 -1
  344. package/dist/components/progress-indicator.js +0 -3
  345. package/dist/components/progress-indicator.js.map +1 -1
  346. package/dist/components/renvooi.js +0 -1
  347. package/dist/components/renvooi.js.map +1 -1
  348. package/dist/components/responsive-element.js +2 -2
  349. package/dist/components/responsive-element.js.map +1 -1
  350. package/dist/components/scrollable.js.map +1 -1
  351. package/dist/components/selectable.js +2 -14
  352. package/dist/components/selectable.js.map +1 -1
  353. package/dist/components/slide-toggle.js +9 -3
  354. package/dist/components/slide-toggle.js.map +1 -1
  355. package/dist/components/table.js +6 -1
  356. package/dist/components/table.js.map +1 -1
  357. package/dist/components/toggletip.js +9 -5
  358. package/dist/components/toggletip.js.map +1 -1
  359. package/dist/components/tooltip.js +21 -8
  360. package/dist/components/tooltip.js.map +1 -1
  361. package/dist/components/v4.js +7 -1
  362. package/dist/components/v4.js.map +1 -1
  363. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  364. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  365. package/dist/dso-toolkit/{p-4b21a36d.entry.js → p-00dc4ab0.entry.js} +2 -2
  366. package/dist/dso-toolkit/p-00dc4ab0.entry.js.map +1 -0
  367. package/dist/dso-toolkit/{p-977cc2f7.entry.js → p-0283263b.entry.js} +2 -2
  368. package/dist/dso-toolkit/p-0283263b.entry.js.map +1 -0
  369. package/dist/dso-toolkit/p-037e1d18.entry.js +2 -0
  370. package/dist/dso-toolkit/p-037e1d18.entry.js.map +1 -0
  371. package/dist/dso-toolkit/{p-289d338d.entry.js → p-052648fd.entry.js} +2 -2
  372. package/dist/dso-toolkit/p-052648fd.entry.js.map +1 -0
  373. package/dist/dso-toolkit/p-0c5ceb9d.entry.js +2 -0
  374. package/dist/dso-toolkit/p-0c5ceb9d.entry.js.map +1 -0
  375. package/dist/dso-toolkit/{p-671dc9e8.entry.js → p-0cef6d97.entry.js} +2 -2
  376. package/dist/dso-toolkit/p-0cef6d97.entry.js.map +1 -0
  377. package/dist/dso-toolkit/p-0d0cb077.entry.js +2 -0
  378. package/dist/dso-toolkit/p-0d0cb077.entry.js.map +1 -0
  379. package/dist/dso-toolkit/{p-98899b90.entry.js → p-0fc2d6b2.entry.js} +2 -2
  380. package/dist/dso-toolkit/{p-98899b90.entry.js.map → p-0fc2d6b2.entry.js.map} +1 -1
  381. package/dist/dso-toolkit/{p-c425fe06.entry.js → p-12d75d7e.entry.js} +2 -2
  382. package/dist/dso-toolkit/{p-c425fe06.entry.js.map → p-12d75d7e.entry.js.map} +1 -1
  383. package/dist/dso-toolkit/{p-583222e7.entry.js → p-1c966a2b.entry.js} +2 -2
  384. package/dist/dso-toolkit/p-1c966a2b.entry.js.map +1 -0
  385. package/dist/dso-toolkit/p-1d9d253d.entry.js +2 -0
  386. package/dist/dso-toolkit/p-1d9d253d.entry.js.map +1 -0
  387. package/dist/dso-toolkit/p-2bd24d0e.entry.js +2 -0
  388. package/dist/dso-toolkit/p-2bd24d0e.entry.js.map +1 -0
  389. package/dist/dso-toolkit/{p-0c8a8830.entry.js → p-303c943e.entry.js} +2 -2
  390. package/dist/dso-toolkit/p-303c943e.entry.js.map +1 -0
  391. package/dist/dso-toolkit/p-3a43e6b4.entry.js +2 -0
  392. package/dist/dso-toolkit/p-3a43e6b4.entry.js.map +1 -0
  393. package/dist/dso-toolkit/{p-17795a3a.entry.js → p-3ca2b395.entry.js} +2 -2
  394. package/dist/dso-toolkit/p-3ca2b395.entry.js.map +1 -0
  395. package/dist/dso-toolkit/p-3ea0f211.entry.js +2 -0
  396. package/dist/dso-toolkit/p-3ea0f211.entry.js.map +1 -0
  397. package/dist/dso-toolkit/{p-c2f8f46c.entry.js → p-464b8082.entry.js} +2 -2
  398. package/dist/dso-toolkit/p-4798d219.js +3 -0
  399. package/dist/dso-toolkit/p-4798d219.js.map +1 -0
  400. package/dist/dso-toolkit/p-5b9b3836.entry.js +2 -0
  401. package/dist/dso-toolkit/p-5b9b3836.entry.js.map +1 -0
  402. package/dist/dso-toolkit/{p-78b43f2d.entry.js → p-5c109b9f.entry.js} +2 -2
  403. package/dist/dso-toolkit/p-5c109b9f.entry.js.map +1 -0
  404. package/dist/dso-toolkit/{p-65ed101b.entry.js → p-60f69e52.entry.js} +2 -2
  405. package/dist/dso-toolkit/p-60f69e52.entry.js.map +1 -0
  406. package/dist/dso-toolkit/{p-2f25bf04.entry.js → p-6ccc00cd.entry.js} +2 -2
  407. package/dist/dso-toolkit/p-6ccc00cd.entry.js.map +1 -0
  408. package/dist/dso-toolkit/{p-a421fb7b.entry.js → p-6eb304a5.entry.js} +2 -2
  409. package/dist/dso-toolkit/{p-a421fb7b.entry.js.map → p-6eb304a5.entry.js.map} +1 -1
  410. package/dist/dso-toolkit/p-73b6e287.entry.js +2 -0
  411. package/dist/dso-toolkit/{p-c688843d.entry.js.map → p-73b6e287.entry.js.map} +1 -1
  412. package/dist/dso-toolkit/{p-de463284.entry.js → p-74f454e2.entry.js} +2 -2
  413. package/dist/dso-toolkit/p-74f454e2.entry.js.map +1 -0
  414. package/dist/dso-toolkit/p-770c5940.entry.js +2 -0
  415. package/dist/dso-toolkit/p-770c5940.entry.js.map +1 -0
  416. package/dist/dso-toolkit/p-7897c8db.entry.js +2 -0
  417. package/dist/dso-toolkit/{p-ef108c9f.entry.js.map → p-7897c8db.entry.js.map} +1 -1
  418. package/dist/dso-toolkit/p-7e930584.js +2 -0
  419. package/dist/dso-toolkit/p-7e930584.js.map +1 -0
  420. package/dist/dso-toolkit/p-802bac7e.entry.js +2 -0
  421. package/dist/dso-toolkit/p-802bac7e.entry.js.map +1 -0
  422. package/dist/dso-toolkit/p-826b7249.entry.js +2 -0
  423. package/dist/dso-toolkit/p-826b7249.entry.js.map +1 -0
  424. package/dist/dso-toolkit/p-82796232.js +2 -0
  425. package/dist/dso-toolkit/p-82796232.js.map +1 -0
  426. package/dist/dso-toolkit/{p-1dbcaeef.js → p-86133aa5.js} +2 -2
  427. package/dist/dso-toolkit/p-8d72b084.entry.js +2 -0
  428. package/dist/dso-toolkit/p-8d72b084.entry.js.map +1 -0
  429. package/dist/dso-toolkit/p-8f44a71d.js +6 -0
  430. package/dist/dso-toolkit/p-8f44a71d.js.map +1 -0
  431. package/dist/dso-toolkit/p-9fdbee05.entry.js +2 -0
  432. package/dist/dso-toolkit/p-9fdbee05.entry.js.map +1 -0
  433. package/dist/dso-toolkit/{p-51385dad.entry.js → p-a1fdcf6f.entry.js} +2 -2
  434. package/dist/dso-toolkit/p-a1fdcf6f.entry.js.map +1 -0
  435. package/dist/dso-toolkit/p-a6a7028d.entry.js +2 -0
  436. package/dist/dso-toolkit/p-a6a7028d.entry.js.map +1 -0
  437. package/dist/dso-toolkit/p-a78a8872.entry.js +2 -0
  438. package/dist/dso-toolkit/{p-43365ccd.entry.js.map → p-a78a8872.entry.js.map} +1 -1
  439. package/dist/dso-toolkit/{p-28182fdb.entry.js → p-ad117754.entry.js} +2 -2
  440. package/dist/dso-toolkit/p-ad117754.entry.js.map +1 -0
  441. package/dist/dso-toolkit/{p-45c45f06.entry.js → p-ae3f4cdc.entry.js} +2 -2
  442. package/dist/dso-toolkit/p-ae3f4cdc.entry.js.map +1 -0
  443. package/dist/dso-toolkit/p-b9063235.js +2 -0
  444. package/dist/dso-toolkit/p-c3ca3847.entry.js +2 -0
  445. package/dist/dso-toolkit/p-c3ca3847.entry.js.map +1 -0
  446. package/dist/dso-toolkit/{p-f17bf401.entry.js → p-d3511794.entry.js} +2 -2
  447. package/dist/dso-toolkit/p-d3511794.entry.js.map +1 -0
  448. package/dist/dso-toolkit/{p-e7a14497.entry.js → p-d38b2130.entry.js} +2 -2
  449. package/dist/dso-toolkit/p-d38b2130.entry.js.map +1 -0
  450. package/dist/dso-toolkit/{p-1b0a9864.entry.js → p-d3b90870.entry.js} +2 -2
  451. package/dist/dso-toolkit/p-d3b90870.entry.js.map +1 -0
  452. package/dist/dso-toolkit/p-d3eacf71.js +2 -0
  453. package/dist/dso-toolkit/{p-6a319038.entry.js → p-d407dc99.entry.js} +2 -2
  454. package/dist/dso-toolkit/p-d407dc99.entry.js.map +1 -0
  455. package/dist/dso-toolkit/{p-4094d996.entry.js → p-d633ab02.entry.js} +2 -2
  456. package/dist/dso-toolkit/p-d633ab02.entry.js.map +1 -0
  457. package/dist/dso-toolkit/{p-19421acf.entry.js → p-df5ba83d.entry.js} +2 -2
  458. package/dist/dso-toolkit/{p-19421acf.entry.js.map → p-df5ba83d.entry.js.map} +1 -1
  459. package/dist/dso-toolkit/p-e71e0f93.entry.js +2 -0
  460. package/dist/dso-toolkit/p-e71e0f93.entry.js.map +1 -0
  461. package/dist/dso-toolkit/{p-8fce6b98.entry.js → p-e947f017.entry.js} +2 -2
  462. package/dist/dso-toolkit/p-e947f017.entry.js.map +1 -0
  463. package/dist/dso-toolkit/p-ed919b2b.entry.js +2 -0
  464. package/dist/dso-toolkit/p-ed919b2b.entry.js.map +1 -0
  465. package/dist/dso-toolkit/p-ef72b30a.entry.js +2 -0
  466. package/dist/dso-toolkit/p-ef72b30a.entry.js.map +1 -0
  467. package/dist/dso-toolkit/p-f2f4324c.entry.js +2 -0
  468. package/dist/dso-toolkit/p-f2f4324c.entry.js.map +1 -0
  469. package/dist/dso-toolkit/{p-6ea8333e.entry.js → p-f3199d60.entry.js} +2 -2
  470. package/dist/dso-toolkit/p-f3199d60.entry.js.map +1 -0
  471. package/dist/dso-toolkit/{p-f02dcd60.entry.js → p-f3add835.entry.js} +2 -2
  472. package/dist/dso-toolkit/{p-f02dcd60.entry.js.map → p-f3add835.entry.js.map} +1 -1
  473. package/dist/dso-toolkit/p-f4f7f1e7.entry.js +2 -0
  474. package/dist/dso-toolkit/p-f4f7f1e7.entry.js.map +1 -0
  475. package/dist/dso-toolkit/{p-fc225870.entry.js → p-f730ff77.entry.js} +2 -2
  476. package/dist/dso-toolkit/p-f730ff77.entry.js.map +1 -0
  477. package/dist/esm/{annotation-body-732ca768.js → annotation-body-90b88291.js} +2 -2
  478. package/dist/esm/{annotation-body-732ca768.js.map → annotation-body-90b88291.js.map} +1 -1
  479. package/dist/esm/{annotation-symbol-slot-568fe5cc.js → annotation-symbol-slot-8423ced1.js} +2 -2
  480. package/dist/esm/{annotation-symbol-slot-568fe5cc.js.map → annotation-symbol-slot-8423ced1.js.map} +1 -1
  481. package/dist/esm/dso-accordion-section.entry.js +14 -14
  482. package/dist/esm/dso-accordion-section.entry.js.map +1 -1
  483. package/dist/esm/dso-accordion.entry.js +9 -1
  484. package/dist/esm/dso-accordion.entry.js.map +1 -1
  485. package/dist/esm/dso-action-list-item.entry.js +10 -3
  486. package/dist/esm/dso-action-list-item.entry.js.map +1 -1
  487. package/dist/esm/dso-action-list.entry.js +1 -2
  488. package/dist/esm/dso-action-list.entry.js.map +1 -1
  489. package/dist/esm/dso-advanced-select.entry.js +11 -7
  490. package/dist/esm/dso-advanced-select.entry.js.map +1 -1
  491. package/dist/esm/dso-alert_6.entry.js +18 -18
  492. package/dist/esm/dso-alert_6.entry.js.map +1 -1
  493. package/dist/esm/dso-annotation-activiteit.entry.js +3 -10
  494. package/dist/esm/dso-annotation-activiteit.entry.js.map +1 -1
  495. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js +3 -7
  496. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js.map +1 -1
  497. package/dist/esm/dso-annotation-kaart.entry.js +2 -5
  498. package/dist/esm/dso-annotation-kaart.entry.js.map +1 -1
  499. package/dist/esm/dso-annotation-locatie_2.entry.js +47 -29
  500. package/dist/esm/dso-annotation-locatie_2.entry.js.map +1 -1
  501. package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js +3 -10
  502. package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js.map +1 -1
  503. package/dist/esm/dso-attachments-counter_2.entry.js +4 -4
  504. package/dist/esm/dso-attachments-counter_2.entry.js.map +1 -1
  505. package/dist/esm/dso-autosuggest.entry.js +30 -16
  506. package/dist/esm/dso-autosuggest.entry.js.map +1 -1
  507. package/dist/esm/dso-banner.entry.js +9 -2
  508. package/dist/esm/dso-banner.entry.js.map +1 -1
  509. package/dist/esm/dso-card-container.entry.js +4 -1
  510. package/dist/esm/dso-card-container.entry.js.map +1 -1
  511. package/dist/esm/dso-card.entry.js +1 -4
  512. package/dist/esm/dso-card.entry.js.map +1 -1
  513. package/dist/esm/dso-date-picker-legacy.entry.js +42 -17
  514. package/dist/esm/dso-date-picker-legacy.entry.js.map +1 -1
  515. package/dist/esm/dso-date-picker.entry.js +22 -11
  516. package/dist/esm/dso-date-picker.entry.js.map +1 -1
  517. package/dist/esm/dso-document-card.entry.js +1 -3
  518. package/dist/esm/dso-document-card.entry.js.map +1 -1
  519. package/dist/esm/dso-dropdown-menu.entry.js +24 -10
  520. package/dist/esm/dso-dropdown-menu.entry.js.map +1 -1
  521. package/dist/esm/dso-header.entry.js +20 -16
  522. package/dist/esm/dso-header.entry.js.map +1 -1
  523. package/dist/esm/dso-helpcenter-panel.entry.js +11 -9
  524. package/dist/esm/dso-helpcenter-panel.entry.js.map +1 -1
  525. package/dist/esm/dso-highlight-box.entry.js +1 -6
  526. package/dist/esm/dso-highlight-box.entry.js.map +1 -1
  527. package/dist/esm/dso-icon.entry.js +1 -2
  528. package/dist/esm/dso-icon.entry.js.map +1 -1
  529. package/dist/esm/dso-info-button.entry.js +4 -3
  530. package/dist/esm/dso-info-button.entry.js.map +1 -1
  531. package/dist/esm/dso-info_2.entry.js +3 -17
  532. package/dist/esm/dso-info_2.entry.js.map +1 -1
  533. package/dist/esm/dso-input-range.entry.js +4 -7
  534. package/dist/esm/dso-input-range.entry.js.map +1 -1
  535. package/dist/esm/dso-label_2.entry.js +22 -17
  536. package/dist/esm/dso-label_2.entry.js.map +1 -1
  537. package/dist/esm/dso-legend-item.entry.js +4 -3
  538. package/dist/esm/dso-legend-item.entry.js.map +1 -1
  539. package/dist/esm/dso-list-button.entry.js +14 -11
  540. package/dist/esm/dso-list-button.entry.js.map +1 -1
  541. package/dist/esm/dso-logo.entry.js +9 -6
  542. package/dist/esm/dso-logo.entry.js.map +1 -1
  543. package/dist/esm/dso-map-base-layers.entry.js +7 -5
  544. package/dist/esm/dso-map-base-layers.entry.js.map +1 -1
  545. package/dist/esm/dso-map-controls.entry.js +7 -5
  546. package/dist/esm/dso-map-controls.entry.js.map +1 -1
  547. package/dist/esm/dso-map-overlays.entry.js +7 -5
  548. package/dist/esm/dso-map-overlays.entry.js.map +1 -1
  549. package/dist/esm/dso-mark-bar.entry.js +5 -5
  550. package/dist/esm/dso-mark-bar.entry.js.map +1 -1
  551. package/dist/esm/dso-modal.entry.js +19 -6
  552. package/dist/esm/dso-modal.entry.js.map +1 -1
  553. package/dist/esm/dso-pagination.entry.js +4 -4
  554. package/dist/esm/dso-pagination.entry.js.map +1 -1
  555. package/dist/esm/dso-plekinfo-card.entry.js +4 -4
  556. package/dist/esm/dso-plekinfo-card.entry.js.map +1 -1
  557. package/dist/esm/dso-progress-bar.entry.js +7 -2
  558. package/dist/esm/dso-progress-bar.entry.js.map +1 -1
  559. package/dist/esm/dso-progress-indicator.entry.js +2 -5
  560. package/dist/esm/dso-progress-indicator.entry.js.map +1 -1
  561. package/dist/esm/dso-project-item.entry.js +1 -2
  562. package/dist/esm/dso-project-item.entry.js.map +1 -1
  563. package/dist/esm/dso-renvooi_2.entry.js +11 -6
  564. package/dist/esm/dso-renvooi_2.entry.js.map +1 -1
  565. package/dist/esm/dso-responsive-element.entry.js +3 -3
  566. package/dist/esm/dso-responsive-element.entry.js.map +1 -1
  567. package/dist/esm/dso-scrollable.entry.js +1 -1
  568. package/dist/esm/dso-scrollable.entry.js.map +1 -1
  569. package/dist/esm/dso-skiplink.entry.js +1 -3
  570. package/dist/esm/dso-skiplink.entry.js.map +1 -1
  571. package/dist/esm/dso-tab.entry.js +1 -4
  572. package/dist/esm/dso-tab.entry.js.map +1 -1
  573. package/dist/esm/dso-tabs.entry.js +1 -1
  574. package/dist/esm/dso-toggletip.entry.js +10 -6
  575. package/dist/esm/dso-toggletip.entry.js.map +1 -1
  576. package/dist/esm/dso-toolkit.js +3 -3
  577. package/dist/esm/dso-toolkit.js.map +1 -1
  578. package/dist/esm/dso-tree-view.entry.js +1 -2
  579. package/dist/esm/dso-tree-view.entry.js.map +1 -1
  580. package/dist/esm/dso-viewer-grid.entry.js +38 -11
  581. package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
  582. package/dist/esm/dsot-document-component-demo.entry.js +18 -12
  583. package/dist/esm/dsot-document-component-demo.entry.js.map +1 -1
  584. package/dist/esm/{focus-trap.esm-26a44fc9.js → focus-trap.esm-b5ae7e82.js} +69 -46
  585. package/dist/esm/focus-trap.esm-b5ae7e82.js.map +1 -0
  586. package/dist/esm/{i18n-43c79e8f.js → i18n-001de5be.js} +22 -7
  587. package/dist/esm/i18n-001de5be.js.map +1 -0
  588. package/dist/esm/{index-60b7c895.js → index-b281ec90.js} +350 -267
  589. package/dist/esm/index-b281ec90.js.map +1 -0
  590. package/dist/esm/{index.esm-7a561c35.js → index.esm-7e16e884.js} +2 -2
  591. package/dist/esm/{index.esm-7a561c35.js.map → index.esm-7e16e884.js.map} +1 -1
  592. package/dist/esm/loader.js +2 -2
  593. package/dist/esm/{v4-692dad5f.js → v4-c74494dc.js} +8 -2
  594. package/dist/esm/v4-c74494dc.js.map +1 -0
  595. package/package.json +9 -9
  596. package/dist/cjs/focus-trap.esm-b5c60ce2.js.map +0 -1
  597. package/dist/cjs/i18n-0da568ee.js.map +0 -1
  598. package/dist/cjs/index-9c71ed34.js.map +0 -1
  599. package/dist/cjs/v4-6fbeaa38.js.map +0 -1
  600. package/dist/dso-toolkit/p-098ff158.entry.js +0 -2
  601. package/dist/dso-toolkit/p-098ff158.entry.js.map +0 -1
  602. package/dist/dso-toolkit/p-0baa02fe.entry.js +0 -2
  603. package/dist/dso-toolkit/p-0baa02fe.entry.js.map +0 -1
  604. package/dist/dso-toolkit/p-0bb48c73.entry.js +0 -2
  605. package/dist/dso-toolkit/p-0bb48c73.entry.js.map +0 -1
  606. package/dist/dso-toolkit/p-0c8a8830.entry.js.map +0 -1
  607. package/dist/dso-toolkit/p-17795a3a.entry.js.map +0 -1
  608. package/dist/dso-toolkit/p-1b0a9864.entry.js.map +0 -1
  609. package/dist/dso-toolkit/p-1d087bc6.entry.js +0 -2
  610. package/dist/dso-toolkit/p-1d087bc6.entry.js.map +0 -1
  611. package/dist/dso-toolkit/p-20b90390.entry.js +0 -2
  612. package/dist/dso-toolkit/p-20b90390.entry.js.map +0 -1
  613. package/dist/dso-toolkit/p-22af5661.entry.js +0 -2
  614. package/dist/dso-toolkit/p-22af5661.entry.js.map +0 -1
  615. package/dist/dso-toolkit/p-264f31ed.entry.js +0 -2
  616. package/dist/dso-toolkit/p-264f31ed.entry.js.map +0 -1
  617. package/dist/dso-toolkit/p-28182fdb.entry.js.map +0 -1
  618. package/dist/dso-toolkit/p-289d338d.entry.js.map +0 -1
  619. package/dist/dso-toolkit/p-29ab9e47.entry.js +0 -2
  620. package/dist/dso-toolkit/p-29ab9e47.entry.js.map +0 -1
  621. package/dist/dso-toolkit/p-2f25bf04.entry.js.map +0 -1
  622. package/dist/dso-toolkit/p-3b3ee91d.entry.js +0 -2
  623. package/dist/dso-toolkit/p-3b3ee91d.entry.js.map +0 -1
  624. package/dist/dso-toolkit/p-4094d996.entry.js.map +0 -1
  625. package/dist/dso-toolkit/p-43365ccd.entry.js +0 -2
  626. package/dist/dso-toolkit/p-45c45f06.entry.js.map +0 -1
  627. package/dist/dso-toolkit/p-4b21a36d.entry.js.map +0 -1
  628. package/dist/dso-toolkit/p-51385dad.entry.js.map +0 -1
  629. package/dist/dso-toolkit/p-53096a64.js +0 -3
  630. package/dist/dso-toolkit/p-53096a64.js.map +0 -1
  631. package/dist/dso-toolkit/p-559d80cb.js +0 -2
  632. package/dist/dso-toolkit/p-583222e7.entry.js.map +0 -1
  633. package/dist/dso-toolkit/p-65ed101b.entry.js.map +0 -1
  634. package/dist/dso-toolkit/p-671dc9e8.entry.js.map +0 -1
  635. package/dist/dso-toolkit/p-6a319038.entry.js.map +0 -1
  636. package/dist/dso-toolkit/p-6ea8333e.entry.js.map +0 -1
  637. package/dist/dso-toolkit/p-75b53abf.entry.js +0 -2
  638. package/dist/dso-toolkit/p-75b53abf.entry.js.map +0 -1
  639. package/dist/dso-toolkit/p-78b43f2d.entry.js.map +0 -1
  640. package/dist/dso-toolkit/p-8383d346.entry.js +0 -2
  641. package/dist/dso-toolkit/p-8383d346.entry.js.map +0 -1
  642. package/dist/dso-toolkit/p-88411ea2.entry.js +0 -2
  643. package/dist/dso-toolkit/p-88411ea2.entry.js.map +0 -1
  644. package/dist/dso-toolkit/p-8b0b2029.entry.js +0 -2
  645. package/dist/dso-toolkit/p-8b0b2029.entry.js.map +0 -1
  646. package/dist/dso-toolkit/p-8f1a91bc.entry.js +0 -2
  647. package/dist/dso-toolkit/p-8f1a91bc.entry.js.map +0 -1
  648. package/dist/dso-toolkit/p-8fce6b98.entry.js.map +0 -1
  649. package/dist/dso-toolkit/p-93d7574c.js +0 -2
  650. package/dist/dso-toolkit/p-971e3998.entry.js +0 -2
  651. package/dist/dso-toolkit/p-971e3998.entry.js.map +0 -1
  652. package/dist/dso-toolkit/p-977cc2f7.entry.js.map +0 -1
  653. package/dist/dso-toolkit/p-b2899bee.entry.js +0 -2
  654. package/dist/dso-toolkit/p-b2899bee.entry.js.map +0 -1
  655. package/dist/dso-toolkit/p-c67a3896.entry.js +0 -2
  656. package/dist/dso-toolkit/p-c67a3896.entry.js.map +0 -1
  657. package/dist/dso-toolkit/p-c688843d.entry.js +0 -2
  658. package/dist/dso-toolkit/p-c9b922b2.entry.js +0 -2
  659. package/dist/dso-toolkit/p-c9b922b2.entry.js.map +0 -1
  660. package/dist/dso-toolkit/p-de463284.entry.js.map +0 -1
  661. package/dist/dso-toolkit/p-e7a14497.entry.js.map +0 -1
  662. package/dist/dso-toolkit/p-e8ea7939.entry.js +0 -2
  663. package/dist/dso-toolkit/p-e8ea7939.entry.js.map +0 -1
  664. package/dist/dso-toolkit/p-ef108c9f.entry.js +0 -2
  665. package/dist/dso-toolkit/p-f17bf401.entry.js.map +0 -1
  666. package/dist/dso-toolkit/p-f26ade44.entry.js +0 -2
  667. package/dist/dso-toolkit/p-f26ade44.entry.js.map +0 -1
  668. package/dist/dso-toolkit/p-f279a706.js +0 -2
  669. package/dist/dso-toolkit/p-f279a706.js.map +0 -1
  670. package/dist/dso-toolkit/p-f31285ef.js +0 -6
  671. package/dist/dso-toolkit/p-f31285ef.js.map +0 -1
  672. package/dist/dso-toolkit/p-fc225870.entry.js.map +0 -1
  673. package/dist/dso-toolkit/p-ffb34aa5.js +0 -2
  674. package/dist/dso-toolkit/p-ffb34aa5.js.map +0 -1
  675. package/dist/esm/focus-trap.esm-26a44fc9.js.map +0 -1
  676. package/dist/esm/i18n-43c79e8f.js.map +0 -1
  677. package/dist/esm/index-60b7c895.js.map +0 -1
  678. package/dist/esm/v4-692dad5f.js.map +0 -1
  679. /package/dist/dso-toolkit/{p-c2f8f46c.entry.js.map → p-464b8082.entry.js.map} +0 -0
  680. /package/dist/dso-toolkit/{p-1dbcaeef.js.map → p-86133aa5.js.map} +0 -0
  681. /package/dist/dso-toolkit/{p-559d80cb.js.map → p-b9063235.js.map} +0 -0
  682. /package/dist/dso-toolkit/{p-93d7574c.js.map → p-d3eacf71.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"dso-logo.js","mappings":";;;AAAA,MAAM,OAAO,GAAG,sgGAAsgG,CAAC;AACvhG,sBAAe,OAAO;;ACYtB,MAAMA,SAAO,GAA0C,CAAC,EAAE,IAAI,EAAE;IAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,QACE,kBACE,WAAK,IAAI,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,aAAa,IACpE,YAAM,KAAK,EAAC,OAAO,EAAC,CAAC,EAAC,4CAA4C,GAAG,EACrE,YAAM,KAAK,EAAC,QAAQ,EAAC,CAAC,EAAC,0CAA0C,GAAG,EACpE,YAAM,KAAK,EAAC,OAAO,EAAC,CAAC,EAAC,uCAAuC,GAAG,CAC5D,EACN,WAAK,KAAK,EAAC,eAAe,IACxB,YAAM,KAAK,EAAC,yBAAyB,IAAE,YAAY,CAAC,CAAC,CAAC,CAAQ,EAC7D,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,YAAM,KAAK,EAAC,qBAAqB,IAAE,YAAY,CAAC,CAAC,CAAC,CAAQ,CACpF,CACL,EACH;AACJ,CAAC,CAAC;MAOW,IAAI;;;;;;;QAgDP,oBAAe,GAAG,CAAC,CAAa;YACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAQ,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACvG,CAAC;QAEM,qBAAgB,GAAG,CAAC,CAAa;YACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,QAAS,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACzG,CAAC;oBA7CK,iBAAiB;;;;;;IA+CxB,MAAM;QACJ,QACE,kBACG,IAAI,CAAC,OAAO,IACX,SAAG,KAAK,EAAC,UAAU,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,IACnE,EAACA,SAAO,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,CAC1B,KAEJ,EAACA,SAAO,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,CAC7B,EAEA,IAAI,CAAC,KAAK;aACR,CAAC,IAAI,CAAC,QAAQ,IACb,YAAM,KAAK,EAAC,YAAY,IAAE,IAAI,CAAC,KAAK,CAAQ,KAE5C,SAAG,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,IAC3E,YAAM,KAAK,EAAC,YAAY,IAAE,IAAI,CAAC,KAAK,CAAQ,CAC1C,CACL,CAAC,EACH,IAAI,CAAC,MAAM,IAAI,4DAAK,KAAK,EAAC,aAAa,IAAE,IAAI,CAAC,MAAM,CAAO,CAC3D,EACH;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["DsoLogo"],"sources":["src/components/logo/logo.scss?tag=dso-logo&encapsulation=shadow","src/components/logo/logo.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/anchor\";\r\n\r\n:host {\r\n max-block-size: units.$ru6;\r\n block-size: units.$ru6;\r\n display: grid;\r\n grid-template-areas: \"target wordmark label\";\r\n grid-template-columns: repeat(3, max-content);\r\n grid-template-rows: 100%;\r\n gap: units.$u2;\r\n font-size: 1.5625rem;\r\n font-weight: 500;\r\n align-items: center;\r\n container-type: size;\r\n container-name: logo;\r\n\r\n .logo-url,\r\n .logo-label-url {\r\n display: flex;\r\n align-items: center;\r\n gap: units.$u2;\r\n\r\n @include anchor.reverse();\r\n\r\n &,\r\n &:hover,\r\n &:focus,\r\n &:visited {\r\n color: colors.$bosgroen;\r\n }\r\n }\r\n}\r\n\r\n:host([logo-url][ribbon]) {\r\n grid-template-areas: \"targetwordmark label\";\r\n\r\n .logo-url {\r\n grid-area: targetwordmark;\r\n + .logo-ribbon {\r\n grid-area: targetwordmark;\r\n }\r\n }\r\n\r\n .logo-label-url + .logo-ribbon {\r\n grid-area: targetwordmark;\r\n }\r\n}\r\n\r\n.logo-label-url {\r\n grid-area: label;\r\n}\r\n\r\n.logo-target {\r\n grid-area: target;\r\n max-block-size: units.$u6;\r\n max-inline-size: units.$u6;\r\n inline-size: 100%;\r\n display: block;\r\n aspect-ratio: 1 / 1;\r\n}\r\n\r\n.logo-wordmark {\r\n grid-area: wordmark;\r\n font-size: 1.5625rem;\r\n}\r\n\r\n@container logo (max-height: 47px) {\r\n .logo-wordmark,\r\n .logo-label {\r\n font-size: 50cqb;\r\n line-height: 1;\r\n }\r\n}\r\n\r\n.logo-wordmark-omgevings {\r\n color: colors.$grasgroen;\r\n}\r\n\r\n.logo-wordmark-loket {\r\n color: colors.$bosgroen;\r\n}\r\n\r\n.logo-label {\r\n grid-area: label;\r\n color: colors.$bosgroen;\r\n margin-inline-start: units.$ru2;\r\n}\r\n\r\n.logo-ribbon {\r\n grid-area: wordmark;\r\n place-self: start end;\r\n display: flex;\r\n place-items: center;\r\n\r\n background-color: colors.$mauve;\r\n border-radius: 3px;\r\n transform: rotate(3deg);\r\n padding-block: 0;\r\n padding-inline: 8px;\r\n\r\n font-size: 0.75rem;\r\n font-weight: normal;\r\n text-transform: uppercase;\r\n color: colors.$wit;\r\n\r\n @container logo (max-height: 47px) {\r\n & {\r\n block-size: 28cqb;\r\n font-size: 25cqb;\r\n }\r\n }\r\n}\r\n\r\n.inner {\r\n fill: colors.$oranje;\r\n}\r\n\r\n.middle {\r\n fill: colors.$bosgroen;\r\n}\r\n\r\n.outer {\r\n fill: #80bc00;\r\n}\r\n\r\n@media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n .logo-wordmark {\r\n font-size: initial;\r\n }\r\n\r\n // if the logo has a label, hide the wordmark on smaller screens and replace it with the label\r\n :host([label]) {\r\n grid-template-areas: \"target label\";\r\n grid-template-columns: max-content minmax(130px, max-content);\r\n\r\n .logo-wordmark {\r\n display: none;\r\n }\r\n\r\n .logo-ribbon {\r\n grid-area: label;\r\n }\r\n\r\n .logo-label {\r\n margin-inline-start: 0;\r\n font-size: initial;\r\n text-wrap: balance;\r\n overflow-wrap: normal;\r\n }\r\n }\r\n\r\n :host([logo-url][ribbon]) {\r\n .logo-label-url + .logo-ribbon {\r\n grid-area: label;\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: media-query-breakpoints.$screen-xs-min) {\r\n .logo-ribbon {\r\n transform: rotate(3deg) translateY(-7px);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Fragment,\r\n Prop,\r\n h,\r\n Event,\r\n EventEmitter,\r\n FunctionalComponent,\r\n} from \"@stencil/core\";\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\nimport { LogoClickEvent, LogoLabelClickEvent } from \"./logo.interfaces\";\r\n\r\nconst DsoLogo: FunctionalComponent<{ name: string }> = ({ name }) => {\r\n const splittedName = name.split(\"|\");\r\n return (\r\n <>\r\n <svg fill=\"none\" viewBox=\"0 0 48 48\" height=\"100%\" class=\"logo-target\">\r\n <path class=\"outer\" d=\"M26 0a24 24 0 1 0 0 47.9A24 24 0 0 0 24 0Z\" />\r\n <path class=\"middle\" d=\"M24 8A16 16 0 0 0 8 24 16 16 0 1 0 24 8Z\" />\r\n <path class=\"inner\" d=\"M24 32a8 8 0 0 0 0-16 8 8 0 0 0 0 16Z\" />\r\n </svg>\r\n <div class=\"logo-wordmark\">\r\n <span class=\"logo-wordmark-omgevings\">{splittedName[0]}</span>\r\n {splittedName.length === 2 && <span class=\"logo-wordmark-loket\">{splittedName[1]}</span>}\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\n@Component({\r\n tag: \"dso-logo\",\r\n styleUrl: \"logo.scss\",\r\n shadow: true,\r\n})\r\nexport class Logo implements ComponentInterface {\r\n /**\r\n * An alternative name for the logo wordmark Omgevingsloket. For instance `Environment| Desk`. It should contains a\r\n * pipe-character: the left-hand side of the pipe will be shown in grasgroen, the right-hand side of the pipe will be\r\n * shown in bosgroen.\r\n * When omitted the logo wordmark will default to Omgevingsloket, with 'Omgevings' shown in grasgroen and 'loket' in\r\n * bosgroen.\r\n */\r\n @Prop({ reflect: true })\r\n name = \"Omgevings|loket\";\r\n /**\r\n * The url the logo is pointing to.\r\n */\r\n @Prop({ reflect: true })\r\n logoUrl?: string;\r\n\r\n /**\r\n * The label clarifies the service within the Omgevingsloket, shown\r\n * as a subtitle (and on smaller screens as the main wordmark itself).\r\n */\r\n @Prop({ reflect: true })\r\n label?: string;\r\n\r\n /**\r\n * The url the label is pointing to.\r\n */\r\n @Prop({ reflect: true })\r\n labelUrl?: string;\r\n\r\n /**\r\n * The ribbon contains the text for a possible 'sticker' on top of the logo.\r\n * Used to clarify the (non-production) server environment (\"int\", \"kta\", \"pfm\", \"pre\", or \"dmo\")\r\n */\r\n @Prop({ reflect: true })\r\n ribbon?: string;\r\n\r\n /**\r\n * Emitted when the logo is clicked (only when logoUrl is set).\r\n */\r\n @Event()\r\n dsoLogoClick!: EventEmitter<LogoClickEvent>;\r\n\r\n /**\r\n * Emitted when the label in the logo is clicked (only when labelUrl is set).\r\n */\r\n @Event()\r\n dsoLabelClick!: EventEmitter<LogoLabelClickEvent>;\r\n\r\n private handleLogoClick = (e: MouseEvent) => {\r\n this.dsoLogoClick.emit({ originalEvent: e, url: this.logoUrl!, isModifiedEvent: isModifiedEvent(e) });\r\n };\r\n\r\n private handleLabelClick = (e: MouseEvent) => {\r\n this.dsoLabelClick.emit({ originalEvent: e, url: this.labelUrl!, isModifiedEvent: isModifiedEvent(e) });\r\n };\r\n\r\n render() {\r\n return (\r\n <>\r\n {this.logoUrl ? (\r\n <a class=\"logo-url\" href={this.logoUrl} onClick={this.handleLogoClick}>\r\n <DsoLogo name={this.name} />\r\n </a>\r\n ) : (\r\n <DsoLogo name={this.name} />\r\n )}\r\n\r\n {this.label &&\r\n (!this.labelUrl ? (\r\n <span class=\"logo-label\">{this.label}</span>\r\n ) : (\r\n <a class=\"logo-label-url\" href={this.labelUrl} onClick={this.handleLabelClick}>\r\n <span class=\"logo-label\">{this.label}</span>\r\n </a>\r\n ))}\r\n {this.ribbon && <div class=\"logo-ribbon\">{this.ribbon}</div>}\r\n </>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"dso-logo.js","mappings":";;;AAAA,MAAM,OAAO,GAAG,sgGAAsgG,CAAC;AACvhG,sBAAe,OAAO;;ACYtB,MAAMA,SAAO,GAA0C,CAAC,EAAE,IAAI,EAAE;IAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,QACE,kBACE,WAAK,IAAI,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,aAAa,IACpE,YAAM,KAAK,EAAC,OAAO,EAAC,CAAC,EAAC,4CAA4C,GAAG,EACrE,YAAM,KAAK,EAAC,QAAQ,EAAC,CAAC,EAAC,0CAA0C,GAAG,EACpE,YAAM,KAAK,EAAC,OAAO,EAAC,CAAC,EAAC,uCAAuC,GAAG,CAC5D,EACN,WAAK,KAAK,EAAC,eAAe,IACxB,YAAM,KAAK,EAAC,yBAAyB,IAAE,YAAY,CAAC,CAAC,CAAC,CAAQ,EAC7D,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,YAAM,KAAK,EAAC,qBAAqB,IAAE,YAAY,CAAC,CAAC,CAAC,CAAQ,CACpF,CACL,EACH;AACJ,CAAC,CAAC;MAOW,IAAI;IALjB;;;;;;;;;;;;;QAcE,SAAI,GAAG,iBAAiB,CAAC;QAuCjB,oBAAe,GAAG,CAAC,CAAa;YACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAQ,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACvG,CAAC;QAEM,qBAAgB,GAAG,CAAC,CAAa;YACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,QAAS,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACzG,CAAC;KAyBH;IAvBC,MAAM;QACJ,QACE,kBACG,IAAI,CAAC,OAAO,IACX,SAAG,KAAK,EAAC,UAAU,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,IACnE,EAACA,SAAO,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,CAC1B,KAEJ,EAACA,SAAO,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,CAC7B,EAEA,IAAI,CAAC,KAAK;aACR,CAAC,IAAI,CAAC,QAAQ,IACb,YAAM,KAAK,EAAC,YAAY,IAAE,IAAI,CAAC,KAAK,CAAQ,KAE5C,SAAG,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,IAC3E,YAAM,KAAK,EAAC,YAAY,IAAE,IAAI,CAAC,KAAK,CAAQ,CAC1C,CACL,CAAC,EACH,IAAI,CAAC,MAAM,IAAI,4DAAK,KAAK,EAAC,aAAa,IAAE,IAAI,CAAC,MAAM,CAAO,CAC3D,EACH;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["DsoLogo"],"sources":["src/components/logo/logo.scss?tag=dso-logo&encapsulation=shadow","src/components/logo/logo.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/anchor\";\r\n\r\n:host {\r\n max-block-size: units.$ru6;\r\n block-size: units.$ru6;\r\n display: grid;\r\n grid-template-areas: \"target wordmark label\";\r\n grid-template-columns: repeat(3, max-content);\r\n grid-template-rows: 100%;\r\n gap: units.$u2;\r\n font-size: 1.5625rem;\r\n font-weight: 500;\r\n align-items: center;\r\n container-type: size;\r\n container-name: logo;\r\n\r\n .logo-url,\r\n .logo-label-url {\r\n display: flex;\r\n align-items: center;\r\n gap: units.$u2;\r\n\r\n @include anchor.reverse();\r\n\r\n &,\r\n &:hover,\r\n &:focus,\r\n &:visited {\r\n color: colors.$bosgroen;\r\n }\r\n }\r\n}\r\n\r\n:host([logo-url][ribbon]) {\r\n grid-template-areas: \"targetwordmark label\";\r\n\r\n .logo-url {\r\n grid-area: targetwordmark;\r\n + .logo-ribbon {\r\n grid-area: targetwordmark;\r\n }\r\n }\r\n\r\n .logo-label-url + .logo-ribbon {\r\n grid-area: targetwordmark;\r\n }\r\n}\r\n\r\n.logo-label-url {\r\n grid-area: label;\r\n}\r\n\r\n.logo-target {\r\n grid-area: target;\r\n max-block-size: units.$u6;\r\n max-inline-size: units.$u6;\r\n inline-size: 100%;\r\n display: block;\r\n aspect-ratio: 1 / 1;\r\n}\r\n\r\n.logo-wordmark {\r\n grid-area: wordmark;\r\n font-size: 1.5625rem;\r\n}\r\n\r\n@container logo (max-height: 47px) {\r\n .logo-wordmark,\r\n .logo-label {\r\n font-size: 50cqb;\r\n line-height: 1;\r\n }\r\n}\r\n\r\n.logo-wordmark-omgevings {\r\n color: colors.$grasgroen;\r\n}\r\n\r\n.logo-wordmark-loket {\r\n color: colors.$bosgroen;\r\n}\r\n\r\n.logo-label {\r\n grid-area: label;\r\n color: colors.$bosgroen;\r\n margin-inline-start: units.$ru2;\r\n}\r\n\r\n.logo-ribbon {\r\n grid-area: wordmark;\r\n place-self: start end;\r\n display: flex;\r\n place-items: center;\r\n\r\n background-color: colors.$mauve;\r\n border-radius: 3px;\r\n transform: rotate(3deg);\r\n padding-block: 0;\r\n padding-inline: 8px;\r\n\r\n font-size: 0.75rem;\r\n font-weight: normal;\r\n text-transform: uppercase;\r\n color: colors.$wit;\r\n\r\n @container logo (max-height: 47px) {\r\n & {\r\n block-size: 28cqb;\r\n font-size: 25cqb;\r\n }\r\n }\r\n}\r\n\r\n.inner {\r\n fill: colors.$oranje;\r\n}\r\n\r\n.middle {\r\n fill: colors.$bosgroen;\r\n}\r\n\r\n.outer {\r\n fill: #80bc00;\r\n}\r\n\r\n@media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n .logo-wordmark {\r\n font-size: initial;\r\n }\r\n\r\n // if the logo has a label, hide the wordmark on smaller screens and replace it with the label\r\n :host([label]) {\r\n grid-template-areas: \"target label\";\r\n grid-template-columns: max-content minmax(130px, max-content);\r\n\r\n .logo-wordmark {\r\n display: none;\r\n }\r\n\r\n .logo-ribbon {\r\n grid-area: label;\r\n }\r\n\r\n .logo-label {\r\n margin-inline-start: 0;\r\n font-size: initial;\r\n text-wrap: balance;\r\n overflow-wrap: normal;\r\n }\r\n }\r\n\r\n :host([logo-url][ribbon]) {\r\n .logo-label-url + .logo-ribbon {\r\n grid-area: label;\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: media-query-breakpoints.$screen-xs-min) {\r\n .logo-ribbon {\r\n transform: rotate(3deg) translateY(-7px);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Fragment,\r\n Prop,\r\n h,\r\n Event,\r\n EventEmitter,\r\n FunctionalComponent,\r\n} from \"@stencil/core\";\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\nimport { LogoClickEvent, LogoLabelClickEvent } from \"./logo.interfaces\";\r\n\r\nconst DsoLogo: FunctionalComponent<{ name: string }> = ({ name }) => {\r\n const splittedName = name.split(\"|\");\r\n return (\r\n <>\r\n <svg fill=\"none\" viewBox=\"0 0 48 48\" height=\"100%\" class=\"logo-target\">\r\n <path class=\"outer\" d=\"M26 0a24 24 0 1 0 0 47.9A24 24 0 0 0 24 0Z\" />\r\n <path class=\"middle\" d=\"M24 8A16 16 0 0 0 8 24 16 16 0 1 0 24 8Z\" />\r\n <path class=\"inner\" d=\"M24 32a8 8 0 0 0 0-16 8 8 0 0 0 0 16Z\" />\r\n </svg>\r\n <div class=\"logo-wordmark\">\r\n <span class=\"logo-wordmark-omgevings\">{splittedName[0]}</span>\r\n {splittedName.length === 2 && <span class=\"logo-wordmark-loket\">{splittedName[1]}</span>}\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\n@Component({\r\n tag: \"dso-logo\",\r\n styleUrl: \"logo.scss\",\r\n shadow: true,\r\n})\r\nexport class Logo implements ComponentInterface {\r\n /**\r\n * An alternative name for the logo wordmark Omgevingsloket. For instance `Environment| Desk`. It should contains a\r\n * pipe-character: the left-hand side of the pipe will be shown in grasgroen, the right-hand side of the pipe will be\r\n * shown in bosgroen.\r\n * When omitted the logo wordmark will default to Omgevingsloket, with 'Omgevings' shown in grasgroen and 'loket' in\r\n * bosgroen.\r\n */\r\n @Prop({ reflect: true })\r\n name = \"Omgevings|loket\";\r\n /**\r\n * The url the logo is pointing to.\r\n */\r\n @Prop({ reflect: true })\r\n logoUrl?: string;\r\n\r\n /**\r\n * The label clarifies the service within the Omgevingsloket, shown\r\n * as a subtitle (and on smaller screens as the main wordmark itself).\r\n */\r\n @Prop({ reflect: true })\r\n label?: string;\r\n\r\n /**\r\n * The url the label is pointing to.\r\n */\r\n @Prop({ reflect: true })\r\n labelUrl?: string;\r\n\r\n /**\r\n * The ribbon contains the text for a possible 'sticker' on top of the logo.\r\n * Used to clarify the (non-production) server environment (\"int\", \"kta\", \"pfm\", \"pre\", or \"dmo\")\r\n */\r\n @Prop({ reflect: true })\r\n ribbon?: string;\r\n\r\n /**\r\n * Emitted when the logo is clicked (only when logoUrl is set).\r\n */\r\n @Event()\r\n dsoLogoClick!: EventEmitter<LogoClickEvent>;\r\n\r\n /**\r\n * Emitted when the label in the logo is clicked (only when labelUrl is set).\r\n */\r\n @Event()\r\n dsoLabelClick!: EventEmitter<LogoLabelClickEvent>;\r\n\r\n private handleLogoClick = (e: MouseEvent) => {\r\n this.dsoLogoClick.emit({ originalEvent: e, url: this.logoUrl!, isModifiedEvent: isModifiedEvent(e) });\r\n };\r\n\r\n private handleLabelClick = (e: MouseEvent) => {\r\n this.dsoLabelClick.emit({ originalEvent: e, url: this.labelUrl!, isModifiedEvent: isModifiedEvent(e) });\r\n };\r\n\r\n render() {\r\n return (\r\n <>\r\n {this.logoUrl ? (\r\n <a class=\"logo-url\" href={this.logoUrl} onClick={this.handleLogoClick}>\r\n <DsoLogo name={this.name} />\r\n </a>\r\n ) : (\r\n <DsoLogo name={this.name} />\r\n )}\r\n\r\n {this.label &&\r\n (!this.labelUrl ? (\r\n <span class=\"logo-label\">{this.label}</span>\r\n ) : (\r\n <a class=\"logo-label-url\" href={this.labelUrl} onClick={this.handleLabelClick}>\r\n <span class=\"logo-label\">{this.label}</span>\r\n </a>\r\n ))}\r\n {this.ribbon && <div class=\"logo-ribbon\">{this.ribbon}</div>}\r\n </>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -29,9 +29,11 @@ const MapBaseLayers = /*@__PURE__*/ proxyCustomElement(class MapBaseLayers exten
29
29
  this.__attachShadow();
30
30
  this.dsoBaseLayerChange = createEvent(this, "dsoBaseLayerChange", 7);
31
31
  this.selectableRefs = {};
32
- this.text = i18n(() => this.host, translations);
32
+ /**
33
+ * To group the overlays together. Generally the default value suffices.
34
+ */
33
35
  this.group = v4();
34
- this.baseLayers = undefined;
36
+ this.text = i18n(() => this.host, translations);
35
37
  }
36
38
  baseLayerChangeHandler(baseLayer) {
37
39
  this.dsoBaseLayerChange.emit({ activeBaseLayer: baseLayer });
@@ -1 +1 @@
1
- {"file":"dso-map-base-layers.js","mappings":";;;;;;;;AAEO,MAAM,YAAY,GAAa;IACpC,EAAE,EAAE;QACF,qBAAqB,EAAE;YACrB,UAAU,EAAE,YAAY;SACzB;KACF;IACD,EAAE,EAAE;QACF,qBAAqB,EAAE;YACrB,UAAU,EAAE,aAAa;SAC1B;KACF;CACF;;ACbD,MAAM,gBAAgB,GAAG,sYAAsY,CAAC;AACha,+BAAe,gBAAgB;;MCYlB,aAAa;;;;;;QAEhB,mBAAc,GAA+C,EAAE,CAAC;QA2BhE,SAAI,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;qBAZ3CA,EAAM,EAAE;;;IAQR,sBAAsB,CAAC,SAAoB;QACjD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC;KAC9D;IAID,kBAAkB;QAChB,IAAI,CAAC,UAAU;aACZ,MAAM,CAAC,CAAC,CAAC,mBAAK,OAAA,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,kBAAkB,0CAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,0CAAE,QAAQ,MAAK,IAAI,CAAA,EAAA,CAAC;aACpG,OAAO,CAAC,CAAC,CAAC;;YACT,MAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,0CAAE,UAAU,CAAC,KAAK,CAAC,CAAC;SAC9C,CAAC,CAAC;QAEL,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC;KAC3C;IAED,MAAM;QACJ,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE;YACrC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;SACjC;QAED,QACE,iEAAU,KAAK,EAAC,uBAAuB,IACrC,+DAAQ,KAAK,EAAC,SAAS,kBAAqB,EAC5C,4DAAK,KAAK,EAAC,qBAAqB,IAC9B,6DAAM,KAAK,EAAC,eAAe,iBAAa,MAAM,IAC3C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CACnB,CACH,EACN,4DAAK,KAAK,EAAC,qBAAqB,IAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,MAC7B,sBACE,GAAG,EAAE,SAAS,CAAC,EAAE,EACjB,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,SAAS,CAAC,IAAI,EACrB,OAAO,EAAE,SAAS,CAAC,OAAO,EAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAC5B,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,EAC9D,WAAW,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,IAExD,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,IAAI,GAAG,SAAG,IAAI,EAAC,MAAM,IAAE,SAAS,CAAC,IAAI,CAAK,GAAG,IAAI,CAC7C,CAClB,CAAC,CACE,CACG,EACX;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["uuidv4"],"sources":["src/components/map-base-layers/map-base-layers.i18n.ts","src/components/map-base-layers/map-base-layers.scss?tag=dso-map-base-layers&encapsulation=shadow","src/components/map-base-layers/map-base-layers.tsx"],"sourcesContent":["import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-map-base-layers\": {\r\n background: \"Background\",\r\n },\r\n },\r\n nl: {\r\n \"dso-map-base-layers\": {\r\n background: \"Achtergrond\",\r\n },\r\n },\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n// Todo #1194\r\nfieldset {\r\n border: 0;\r\n margin: 0;\r\n min-inline-size: 0;\r\n padding: 0;\r\n\r\n .control-label {\r\n display: inline-block;\r\n font-weight: bold;\r\n margin-block-end: units.$u1;\r\n max-inline-size: 100%;\r\n text-align: start;\r\n }\r\n}\r\n\r\np[slot=\"info\"] {\r\n margin: 0;\r\n}\r\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Prop } from \"@stencil/core\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\n\r\nimport { BaseLayer, BaseLayerChangeEvent } from \"./map-base-layers.interfaces\";\r\nimport { translations } from \"./map-base-layers.i18n\";\r\n\r\n@Component({\r\n tag: \"dso-map-base-layers\",\r\n styleUrl: \"./map-base-layers.scss\",\r\n shadow: true,\r\n})\r\nexport class MapBaseLayers implements ComponentInterface {\r\n private previousBaselayers: BaseLayer[] | undefined;\r\n private selectableRefs: { [id: number]: HTMLDsoSelectableElement } = {};\r\n\r\n @Element()\r\n host!: HTMLDsoMapBaseLayersElement;\r\n\r\n /**\r\n * Emitted when the user checks or unchecks a base layer.\r\n */\r\n @Event()\r\n dsoBaseLayerChange!: EventEmitter<BaseLayerChangeEvent>;\r\n\r\n /**\r\n * To group the overlays together. Generally the default value suffices.\r\n */\r\n @Prop()\r\n group = uuidv4();\r\n\r\n /**\r\n * The base layers.\r\n */\r\n @Prop()\r\n baseLayers!: BaseLayer[];\r\n\r\n private baseLayerChangeHandler(baseLayer: BaseLayer): void {\r\n this.dsoBaseLayerChange.emit({ activeBaseLayer: baseLayer });\r\n }\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n componentDidRender() {\r\n this.baseLayers\r\n .filter((l) => !l.disabled && this.previousBaselayers?.find((p) => p.id === l.id)?.disabled === true)\r\n .forEach((o) => {\r\n this.selectableRefs[o.id]?.toggleInfo(false);\r\n });\r\n\r\n this.previousBaselayers = this.baseLayers;\r\n }\r\n\r\n render() {\r\n for (const ref in this.selectableRefs) {\r\n delete this.selectableRefs[ref];\r\n }\r\n\r\n return (\r\n <fieldset class=\"form-group dso-radios\">\r\n <legend class=\"sr-only\">Achtergrond</legend>\r\n <div class=\"dso-label-container\">\r\n <span class=\"control-label\" aria-hidden=\"true\">\r\n {this.text(\"background\")}\r\n </span>\r\n </div>\r\n <div class=\"dso-field-container\">\r\n {this.baseLayers.map((baseLayer) => (\r\n <dso-selectable\r\n key={baseLayer.id}\r\n type=\"radio\"\r\n value={baseLayer.name}\r\n checked={baseLayer.checked}\r\n disabled={baseLayer.disabled}\r\n name={this.group}\r\n ref={(ref) => ref && (this.selectableRefs[baseLayer.id] = ref)}\r\n onDsoChange={() => this.baseLayerChangeHandler(baseLayer)}\r\n >\r\n {baseLayer.name}\r\n {baseLayer.info ? <p slot=\"info\">{baseLayer.info}</p> : null}\r\n </dso-selectable>\r\n ))}\r\n </div>\r\n </fieldset>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"dso-map-base-layers.js","mappings":";;;;;;;;AAEO,MAAM,YAAY,GAAa;IACpC,EAAE,EAAE;QACF,qBAAqB,EAAE;YACrB,UAAU,EAAE,YAAY;SACzB;KACF;IACD,EAAE,EAAE;QACF,qBAAqB,EAAE;YACrB,UAAU,EAAE,aAAa;SAC1B;KACF;CACF;;ACbD,MAAM,gBAAgB,GAAG,sYAAsY,CAAC;AACha,+BAAe,gBAAgB;;MCYlB,aAAa;IAL1B;;;;;QAOU,mBAAc,GAA+C,EAAE,CAAC;;;;QAexE,UAAK,GAAGA,EAAM,EAAE,CAAC;QAYT,SAAI,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;KA6CpD;IAjDS,sBAAsB,CAAC,SAAoB;QACjD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC;KAC9D;IAID,kBAAkB;QAChB,IAAI,CAAC,UAAU;aACZ,MAAM,CAAC,CAAC,CAAC,mBAAK,OAAA,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,kBAAkB,0CAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,0CAAE,QAAQ,MAAK,IAAI,CAAA,EAAA,CAAC;aACpG,OAAO,CAAC,CAAC,CAAC;;YACT,MAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,0CAAE,UAAU,CAAC,KAAK,CAAC,CAAC;SAC9C,CAAC,CAAC;QAEL,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC;KAC3C;IAED,MAAM;QACJ,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE;YACrC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;SACjC;QAED,QACE,iEAAU,KAAK,EAAC,uBAAuB,IACrC,+DAAQ,KAAK,EAAC,SAAS,kBAAqB,EAC5C,4DAAK,KAAK,EAAC,qBAAqB,IAC9B,6DAAM,KAAK,EAAC,eAAe,iBAAa,MAAM,IAC3C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CACnB,CACH,EACN,4DAAK,KAAK,EAAC,qBAAqB,IAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,MAC7B,sBACE,GAAG,EAAE,SAAS,CAAC,EAAE,EACjB,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,SAAS,CAAC,IAAI,EACrB,OAAO,EAAE,SAAS,CAAC,OAAO,EAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAC5B,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,EAC9D,WAAW,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,IAExD,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,IAAI,GAAG,SAAG,IAAI,EAAC,MAAM,IAAE,SAAS,CAAC,IAAI,CAAK,GAAG,IAAI,CAC7C,CAClB,CAAC,CACE,CACG,EACX;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["uuidv4"],"sources":["src/components/map-base-layers/map-base-layers.i18n.ts","src/components/map-base-layers/map-base-layers.scss?tag=dso-map-base-layers&encapsulation=shadow","src/components/map-base-layers/map-base-layers.tsx"],"sourcesContent":["import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-map-base-layers\": {\r\n background: \"Background\",\r\n },\r\n },\r\n nl: {\r\n \"dso-map-base-layers\": {\r\n background: \"Achtergrond\",\r\n },\r\n },\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n// Todo #1194\r\nfieldset {\r\n border: 0;\r\n margin: 0;\r\n min-inline-size: 0;\r\n padding: 0;\r\n\r\n .control-label {\r\n display: inline-block;\r\n font-weight: bold;\r\n margin-block-end: units.$u1;\r\n max-inline-size: 100%;\r\n text-align: start;\r\n }\r\n}\r\n\r\np[slot=\"info\"] {\r\n margin: 0;\r\n}\r\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Prop } from \"@stencil/core\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\n\r\nimport { BaseLayer, BaseLayerChangeEvent } from \"./map-base-layers.interfaces\";\r\nimport { translations } from \"./map-base-layers.i18n\";\r\n\r\n@Component({\r\n tag: \"dso-map-base-layers\",\r\n styleUrl: \"./map-base-layers.scss\",\r\n shadow: true,\r\n})\r\nexport class MapBaseLayers implements ComponentInterface {\r\n private previousBaselayers: BaseLayer[] | undefined;\r\n private selectableRefs: { [id: number]: HTMLDsoSelectableElement } = {};\r\n\r\n @Element()\r\n host!: HTMLDsoMapBaseLayersElement;\r\n\r\n /**\r\n * Emitted when the user checks or unchecks a base layer.\r\n */\r\n @Event()\r\n dsoBaseLayerChange!: EventEmitter<BaseLayerChangeEvent>;\r\n\r\n /**\r\n * To group the overlays together. Generally the default value suffices.\r\n */\r\n @Prop()\r\n group = uuidv4();\r\n\r\n /**\r\n * The base layers.\r\n */\r\n @Prop()\r\n baseLayers!: BaseLayer[];\r\n\r\n private baseLayerChangeHandler(baseLayer: BaseLayer): void {\r\n this.dsoBaseLayerChange.emit({ activeBaseLayer: baseLayer });\r\n }\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n componentDidRender() {\r\n this.baseLayers\r\n .filter((l) => !l.disabled && this.previousBaselayers?.find((p) => p.id === l.id)?.disabled === true)\r\n .forEach((o) => {\r\n this.selectableRefs[o.id]?.toggleInfo(false);\r\n });\r\n\r\n this.previousBaselayers = this.baseLayers;\r\n }\r\n\r\n render() {\r\n for (const ref in this.selectableRefs) {\r\n delete this.selectableRefs[ref];\r\n }\r\n\r\n return (\r\n <fieldset class=\"form-group dso-radios\">\r\n <legend class=\"sr-only\">Achtergrond</legend>\r\n <div class=\"dso-label-container\">\r\n <span class=\"control-label\" aria-hidden=\"true\">\r\n {this.text(\"background\")}\r\n </span>\r\n </div>\r\n <div class=\"dso-field-container\">\r\n {this.baseLayers.map((baseLayer) => (\r\n <dso-selectable\r\n key={baseLayer.id}\r\n type=\"radio\"\r\n value={baseLayer.name}\r\n checked={baseLayer.checked}\r\n disabled={baseLayer.disabled}\r\n name={this.group}\r\n ref={(ref) => ref && (this.selectableRefs[baseLayer.id] = ref)}\r\n onDsoChange={() => this.baseLayerChangeHandler(baseLayer)}\r\n >\r\n {baseLayer.name}\r\n {baseLayer.info ? <p slot=\"info\">{baseLayer.info}</p> : null}\r\n </dso-selectable>\r\n ))}\r\n </div>\r\n </fieldset>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -54,12 +54,14 @@ const MapControls = /*@__PURE__*/ proxyCustomElement(class MapControls extends H
54
54
  this.dsoZoomIn = createEvent(this, "dsoZoomIn", 7);
55
55
  this.dsoZoomOut = createEvent(this, "dsoZoomOut", 7);
56
56
  this.dsoToggle = createEvent(this, "dsoToggle", 7);
57
+ /**
58
+ * To show and hide the Map Controls.
59
+ */
60
+ this.open = false;
61
+ this.hideContent = !this.open;
57
62
  this.text = i18n(() => this.host, translations);
58
63
  _MapControls_closeButtonElement.set(this, void 0);
59
64
  _MapControls_toggleButtonElement.set(this, void 0);
60
- this.open = false;
61
- this.disableZoom = undefined;
62
- this.hideContent = !this.open;
63
65
  }
64
66
  watchOpen(open) {
65
67
  if (open) {
@@ -1 +1 @@
1
- {"file":"dso-map-controls.js","mappings":"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","names":[],"sources":["src/components/map-controls/map-controls.i18n.ts","src/components/map-controls/map-controls.scss?tag=dso-map-controls&encapsulation=shadow","src/components/map-controls/map-controls.tsx"],"sourcesContent":["import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-map-controls\": {\r\n title: \"Map layers\",\r\n layersButton: \"Map layers\",\r\n zoomIn: \"Zoom in\",\r\n zoomOut: \"Zoom out\",\r\n hidePanel: \"Hide panel {{title}}\",\r\n },\r\n },\r\n nl: {\r\n \"dso-map-controls\": {\r\n title: \"Kaartlagen\",\r\n layersButton: \"Kaartlagen\",\r\n zoomIn: \"Zoom in\",\r\n zoomOut: \"Zoom uit\",\r\n hidePanel: \"Verberg paneel {{title}}\",\r\n },\r\n },\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n\r\n@use \"map-controls.variables\" as core-map-controls-variables;\r\n\r\n:host {\r\n background-color: colors.$wit;\r\n border: 1px solid colors.$grijs-20;\r\n inset-block-end: 0;\r\n display: block;\r\n font-family: typography.$font-family-base;\r\n position: absolute;\r\n inset-block-start: 0;\r\n inset-inline-start: 100%;\r\n transition: transform core-map-controls-variables.$transition-duration ease;\r\n inline-size: 300px;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host([open]) {\r\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.3);\r\n transform: translateX(-100%);\r\n\r\n .toggle-visibility-button {\r\n display: none;\r\n }\r\n\r\n .zoom-buttons {\r\n inset-block-start: units.$u2;\r\n }\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n.toggle-visibility-button {\r\n @include button.map();\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n position: absolute;\r\n inset-inline-end: calc(\r\n 100% + #{core-map-controls-variables.$controls-margin + core-map-controls-variables.$zoom-button-size}\r\n );\r\n inset-block-start: core-map-controls-variables.$controls-margin;\r\n }\r\n}\r\n\r\n.zoom-buttons {\r\n border-radius: 4px;\r\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\r\n display: flex;\r\n flex-wrap: wrap;\r\n flex: 0 0;\r\n position: absolute;\r\n inset-inline-end: calc(100% + core-map-controls-variables.$controls-margin);\r\n inset-block-start: core-map-controls-variables.$controls-margin;\r\n\r\n button {\r\n @include button.secondary($modifiers: false, $icon-only: true);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n border: 0;\r\n padding: 8px;\r\n border-radius: 0;\r\n border-start-start-radius: 4px;\r\n border-start-end-radius: 4px;\r\n flex: 0 0 100%;\r\n block-size: core-map-controls-variables.$zoom-button-size;\r\n min-inline-size: auto;\r\n inline-size: core-map-controls-variables.$zoom-button-size;\r\n\r\n + button {\r\n border-radius: 0;\r\n border-end-start-radius: 4px;\r\n border-end-end-radius: 4px;\r\n border-block-start: 1px solid colors.$grijs-20;\r\n }\r\n\r\n &:focus-visible {\r\n outline-offset: -1px;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.close-button {\r\n @include button.tertiary($modifiers: false, $icon-only: true);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n padding: 0;\r\n position: absolute;\r\n inset-inline-end: core-map-controls-variables.$controls-margin;\r\n inset-block-start: core-map-controls-variables.$controls-margin;\r\n }\r\n}\r\n\r\nsection:not([hidden]) {\r\n display: flex;\r\n flex-direction: column;\r\n block-size: 100%;\r\n}\r\n\r\nheader,\r\n.content {\r\n padding: units.$u2;\r\n}\r\n\r\nheader {\r\n border-block-end: 1px solid colors.$grijs-20;\r\n flex-grow: 0;\r\n position: relative;\r\n\r\n h2 {\r\n color: colors.$bosgroen;\r\n font-family: typography.$headings-font-family;\r\n line-height: 1;\r\n margin: 0;\r\n }\r\n}\r\n\r\n@media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n .toggle-visibility-button {\r\n block-size: units.$u5;\r\n margin-inline-end: 0;\r\n min-inline-size: auto;\r\n inset-inline-end: calc(100% + core-map-controls-variables.$controls-margin);\r\n inline-size: units.$u5;\r\n\r\n dso-icon {\r\n margin-inline-end: 0;\r\n }\r\n\r\n span {\r\n visibility: hidden;\r\n }\r\n }\r\n\r\n .zoom-buttons {\r\n inset-block-start: units.$u9;\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, Fragment, h, Method, Prop, State, Watch } from \"@stencil/core\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\n\r\nimport { MapControlsToggleEvent } from \"./map-controls.interfaces\";\r\nimport { translations } from \"./map-controls.i18n\";\r\n\r\n// Sync with $transition-duration in ./map-controls.scss\r\nconst transitionDuration = 300;\r\n\r\n@Component({\r\n tag: \"dso-map-controls\",\r\n styleUrl: \"./map-controls.scss\",\r\n shadow: true,\r\n})\r\nexport class MapControls {\r\n @Element()\r\n host!: HTMLDsoMapControlsElement;\r\n\r\n /**\r\n * To show and hide the Map Controls.\r\n */\r\n @Prop({ reflect: true, mutable: true })\r\n open = false;\r\n\r\n /**\r\n * To disable the zoom controls:\r\n *\r\n * * `in`: Disable zoom in button.\r\n * * `out`: Disable zoom out button.\r\n * * `both`: Disable zoom in and zoom out.\r\n */\r\n @Prop()\r\n disableZoom?: \"in\" | \"out\" | \"both\";\r\n\r\n /**\r\n * Emitted when the user activates the zoom in button.\r\n */\r\n @Event()\r\n dsoZoomIn!: EventEmitter<MouseEvent>;\r\n\r\n /**\r\n * Emitted when the user activates the zoom out button.\r\n */\r\n @Event()\r\n dsoZoomOut!: EventEmitter<MouseEvent>;\r\n\r\n /**\r\n * emits when the panel opens or closes.\r\n *\r\n * - `event.detail.originalEvent` contains the original `MouseEvent / KeyboardEvent` when the panel is toggled by clicking the visibility button or the close button.\r\n * - `event.detail.open` is true when the panel opens and false when the panel closes.\r\n */\r\n @Event()\r\n dsoToggle!: EventEmitter<MapControlsToggleEvent>;\r\n\r\n @State()\r\n hideContent = !this.open;\r\n\r\n @Watch(\"open\")\r\n watchOpen(open: boolean) {\r\n if (open) {\r\n this.hideContent = false;\r\n\r\n setTimeout(() => this.#closeButtonElement?.focus(), transitionDuration);\r\n } else {\r\n setTimeout(() => {\r\n this.hideContent = true;\r\n\r\n this.#toggleButtonElement?.focus();\r\n }, transitionDuration);\r\n }\r\n }\r\n\r\n /**\r\n * Emitted when the visibility is toggled.\r\n *\r\n * Can be used to recalculate map widths or reposition center when the Map Controls opens or closes.\r\n * @param e\r\n */\r\n @Method()\r\n async toggleVisibility(e: MouseEvent | KeyboardEvent) {\r\n this.open = !this.open;\r\n\r\n this.dsoToggle.emit({\r\n originalEvent: e,\r\n open: this.open,\r\n });\r\n }\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n #closeButtonElement: HTMLButtonElement | undefined;\r\n #toggleButtonElement: HTMLButtonElement | undefined;\r\n\r\n render() {\r\n return (\r\n <>\r\n <button\r\n type=\"button\"\r\n id=\"toggle-visibility-button\"\r\n class=\"toggle-visibility-button\"\r\n onClick={(e) => this.toggleVisibility(e)}\r\n ref={(element) => (this.#toggleButtonElement = element)}\r\n >\r\n <dso-icon icon=\"layers\"></dso-icon>\r\n <span>{this.text(\"layersButton\")}</span>\r\n </button>\r\n <div class=\"zoom-buttons\">\r\n <button\r\n type=\"button\"\r\n onClick={(e) => this.dsoZoomIn.emit(e)}\r\n disabled={this.disableZoom === \"in\" || this.disableZoom === \"both\"}\r\n >\r\n <span>{this.text(\"zoomIn\")}</span>\r\n <dso-icon icon=\"plus\"></dso-icon>\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={(e) => this.dsoZoomOut.emit(e)}\r\n disabled={this.disableZoom === \"out\" || this.disableZoom === \"both\"}\r\n >\r\n <span>{this.text(\"zoomOut\")}</span>\r\n <dso-icon icon=\"minus\"></dso-icon>\r\n </button>\r\n </div>\r\n <section hidden={this.hideContent}>\r\n <header>\r\n <h2>{this.text(\"title\")}</h2>\r\n <button\r\n type=\"button\"\r\n class=\"close-button\"\r\n onClick={(e) => this.toggleVisibility(e)}\r\n ref={(element) => (this.#closeButtonElement = element)}\r\n >\r\n <span>{this.text(\"hidePanel\", { title: this.text(\"title\") })}</span>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n </button>\r\n </header>\r\n <dso-scrollable>\r\n <div class=\"content\">\r\n <slot></slot>\r\n </div>\r\n </dso-scrollable>\r\n </section>\r\n </>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"dso-map-controls.js","mappings":"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","names":[],"sources":["src/components/map-controls/map-controls.i18n.ts","src/components/map-controls/map-controls.scss?tag=dso-map-controls&encapsulation=shadow","src/components/map-controls/map-controls.tsx"],"sourcesContent":["import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-map-controls\": {\r\n title: \"Map layers\",\r\n layersButton: \"Map layers\",\r\n zoomIn: \"Zoom in\",\r\n zoomOut: \"Zoom out\",\r\n hidePanel: \"Hide panel {{title}}\",\r\n },\r\n },\r\n nl: {\r\n \"dso-map-controls\": {\r\n title: \"Kaartlagen\",\r\n layersButton: \"Kaartlagen\",\r\n zoomIn: \"Zoom in\",\r\n zoomOut: \"Zoom uit\",\r\n hidePanel: \"Verberg paneel {{title}}\",\r\n },\r\n },\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n\r\n@use \"map-controls.variables\" as core-map-controls-variables;\r\n\r\n:host {\r\n background-color: colors.$wit;\r\n border: 1px solid colors.$grijs-20;\r\n inset-block-end: 0;\r\n display: block;\r\n font-family: typography.$font-family-base;\r\n position: absolute;\r\n inset-block-start: 0;\r\n inset-inline-start: 100%;\r\n transition: transform core-map-controls-variables.$transition-duration ease;\r\n inline-size: 300px;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host([open]) {\r\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.3);\r\n transform: translateX(-100%);\r\n\r\n .toggle-visibility-button {\r\n display: none;\r\n }\r\n\r\n .zoom-buttons {\r\n inset-block-start: units.$u2;\r\n }\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n.toggle-visibility-button {\r\n @include button.map();\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n position: absolute;\r\n inset-inline-end: calc(\r\n 100% + #{core-map-controls-variables.$controls-margin + core-map-controls-variables.$zoom-button-size}\r\n );\r\n inset-block-start: core-map-controls-variables.$controls-margin;\r\n }\r\n}\r\n\r\n.zoom-buttons {\r\n border-radius: 4px;\r\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\r\n display: flex;\r\n flex-wrap: wrap;\r\n flex: 0 0;\r\n position: absolute;\r\n inset-inline-end: calc(100% + core-map-controls-variables.$controls-margin);\r\n inset-block-start: core-map-controls-variables.$controls-margin;\r\n\r\n button {\r\n @include button.secondary($modifiers: false, $icon-only: true);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n border: 0;\r\n padding: 8px;\r\n border-radius: 0;\r\n border-start-start-radius: 4px;\r\n border-start-end-radius: 4px;\r\n flex: 0 0 100%;\r\n block-size: core-map-controls-variables.$zoom-button-size;\r\n min-inline-size: auto;\r\n inline-size: core-map-controls-variables.$zoom-button-size;\r\n\r\n + button {\r\n border-radius: 0;\r\n border-end-start-radius: 4px;\r\n border-end-end-radius: 4px;\r\n border-block-start: 1px solid colors.$grijs-20;\r\n }\r\n\r\n &:focus-visible {\r\n outline-offset: -1px;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.close-button {\r\n @include button.tertiary($modifiers: false, $icon-only: true);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n padding: 0;\r\n position: absolute;\r\n inset-inline-end: core-map-controls-variables.$controls-margin;\r\n inset-block-start: core-map-controls-variables.$controls-margin;\r\n }\r\n}\r\n\r\nsection:not([hidden]) {\r\n display: flex;\r\n flex-direction: column;\r\n block-size: 100%;\r\n}\r\n\r\nheader,\r\n.content {\r\n padding: units.$u2;\r\n}\r\n\r\nheader {\r\n border-block-end: 1px solid colors.$grijs-20;\r\n flex-grow: 0;\r\n position: relative;\r\n\r\n h2 {\r\n color: colors.$bosgroen;\r\n font-family: typography.$headings-font-family;\r\n line-height: 1;\r\n margin: 0;\r\n }\r\n}\r\n\r\n@media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n .toggle-visibility-button {\r\n block-size: units.$u5;\r\n margin-inline-end: 0;\r\n min-inline-size: auto;\r\n inset-inline-end: calc(100% + core-map-controls-variables.$controls-margin);\r\n inline-size: units.$u5;\r\n\r\n dso-icon {\r\n margin-inline-end: 0;\r\n }\r\n\r\n span {\r\n visibility: hidden;\r\n }\r\n }\r\n\r\n .zoom-buttons {\r\n inset-block-start: units.$u9;\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, Fragment, h, Method, Prop, State, Watch } from \"@stencil/core\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\n\r\nimport { MapControlsToggleEvent } from \"./map-controls.interfaces\";\r\nimport { translations } from \"./map-controls.i18n\";\r\n\r\n// Sync with $transition-duration in ./map-controls.scss\r\nconst transitionDuration = 300;\r\n\r\n@Component({\r\n tag: \"dso-map-controls\",\r\n styleUrl: \"./map-controls.scss\",\r\n shadow: true,\r\n})\r\nexport class MapControls {\r\n @Element()\r\n host!: HTMLDsoMapControlsElement;\r\n\r\n /**\r\n * To show and hide the Map Controls.\r\n */\r\n @Prop({ reflect: true, mutable: true })\r\n open = false;\r\n\r\n /**\r\n * To disable the zoom controls:\r\n *\r\n * * `in`: Disable zoom in button.\r\n * * `out`: Disable zoom out button.\r\n * * `both`: Disable zoom in and zoom out.\r\n */\r\n @Prop()\r\n disableZoom?: \"in\" | \"out\" | \"both\";\r\n\r\n /**\r\n * Emitted when the user activates the zoom in button.\r\n */\r\n @Event()\r\n dsoZoomIn!: EventEmitter<MouseEvent>;\r\n\r\n /**\r\n * Emitted when the user activates the zoom out button.\r\n */\r\n @Event()\r\n dsoZoomOut!: EventEmitter<MouseEvent>;\r\n\r\n /**\r\n * emits when the panel opens or closes.\r\n *\r\n * - `event.detail.originalEvent` contains the original `MouseEvent / KeyboardEvent` when the panel is toggled by clicking the visibility button or the close button.\r\n * - `event.detail.open` is true when the panel opens and false when the panel closes.\r\n */\r\n @Event()\r\n dsoToggle!: EventEmitter<MapControlsToggleEvent>;\r\n\r\n @State()\r\n hideContent = !this.open;\r\n\r\n @Watch(\"open\")\r\n watchOpen(open: boolean) {\r\n if (open) {\r\n this.hideContent = false;\r\n\r\n setTimeout(() => this.#closeButtonElement?.focus(), transitionDuration);\r\n } else {\r\n setTimeout(() => {\r\n this.hideContent = true;\r\n\r\n this.#toggleButtonElement?.focus();\r\n }, transitionDuration);\r\n }\r\n }\r\n\r\n /**\r\n * Emitted when the visibility is toggled.\r\n *\r\n * Can be used to recalculate map widths or reposition center when the Map Controls opens or closes.\r\n * @param e\r\n */\r\n @Method()\r\n async toggleVisibility(e: MouseEvent | KeyboardEvent) {\r\n this.open = !this.open;\r\n\r\n this.dsoToggle.emit({\r\n originalEvent: e,\r\n open: this.open,\r\n });\r\n }\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n #closeButtonElement: HTMLButtonElement | undefined;\r\n #toggleButtonElement: HTMLButtonElement | undefined;\r\n\r\n render() {\r\n return (\r\n <>\r\n <button\r\n type=\"button\"\r\n id=\"toggle-visibility-button\"\r\n class=\"toggle-visibility-button\"\r\n onClick={(e) => this.toggleVisibility(e)}\r\n ref={(element) => (this.#toggleButtonElement = element)}\r\n >\r\n <dso-icon icon=\"layers\"></dso-icon>\r\n <span>{this.text(\"layersButton\")}</span>\r\n </button>\r\n <div class=\"zoom-buttons\">\r\n <button\r\n type=\"button\"\r\n onClick={(e) => this.dsoZoomIn.emit(e)}\r\n disabled={this.disableZoom === \"in\" || this.disableZoom === \"both\"}\r\n >\r\n <span>{this.text(\"zoomIn\")}</span>\r\n <dso-icon icon=\"plus\"></dso-icon>\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={(e) => this.dsoZoomOut.emit(e)}\r\n disabled={this.disableZoom === \"out\" || this.disableZoom === \"both\"}\r\n >\r\n <span>{this.text(\"zoomOut\")}</span>\r\n <dso-icon icon=\"minus\"></dso-icon>\r\n </button>\r\n </div>\r\n <section hidden={this.hideContent}>\r\n <header>\r\n <h2>{this.text(\"title\")}</h2>\r\n <button\r\n type=\"button\"\r\n class=\"close-button\"\r\n onClick={(e) => this.toggleVisibility(e)}\r\n ref={(element) => (this.#closeButtonElement = element)}\r\n >\r\n <span>{this.text(\"hidePanel\", { title: this.text(\"title\") })}</span>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n </button>\r\n </header>\r\n <dso-scrollable>\r\n <div class=\"content\">\r\n <slot></slot>\r\n </div>\r\n </dso-scrollable>\r\n </section>\r\n </>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -29,9 +29,11 @@ const MapOverlays = /*@__PURE__*/ proxyCustomElement(class MapOverlays extends H
29
29
  this.__attachShadow();
30
30
  this.dsoToggleOverlay = createEvent(this, "dsoToggleOverlay", 7);
31
31
  this.selectableRefs = {};
32
- this.text = i18n(() => this.host, translations);
32
+ /**
33
+ * To group the overlays together. Generally the default value suffices.
34
+ */
33
35
  this.group = v4();
34
- this.overlays = undefined;
36
+ this.text = i18n(() => this.host, translations);
35
37
  }
36
38
  overlayChangeHandler(overlay, e) {
37
39
  const { checked } = e.detail;
@@ -1 +1 @@
1
- {"file":"dso-map-overlays.js","mappings":";;;;;;;;AAEO,MAAM,YAAY,GAAa;IACpC,EAAE,EAAE;QACF,kBAAkB,EAAE;YAClB,KAAK,EAAE,WAAW;SACnB;KACF;IACD,EAAE,EAAE;QACF,kBAAkB,EAAE;YAClB,KAAK,EAAE,YAAY;SACpB;KACF;CACF;;ACbD,MAAM,cAAc,GAAG,sYAAsY,CAAC;AAC9Z,6BAAe,cAAc;;MCahB,WAAW;;;;;;QAEd,mBAAc,GAA+C,EAAE,CAAC;QA6BhE,SAAI,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;qBApB3CA,EAAM,EAAE;;;IAcR,oBAAoB,CAAC,OAAgB,EAAE,CAAqC;QAClF,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;QAE7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;KAClD;IAID,kBAAkB;QAChB,IAAI,CAAC,QAAQ;aACV,MAAM,CAAC,CAAC,CAAC,mBAAK,OAAA,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,0CAAE,QAAQ,MAAK,IAAI,CAAA,EAAA,CAAC;aAClG,OAAO,CAAC,CAAC,CAAC;;YACT,MAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,0CAAE,UAAU,CAAC,KAAK,CAAC,CAAC;SAC9C,CAAC,CAAC;QAEL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC;KACvC;IAED,MAAM;QACJ,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE;YACrC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;SACjC;QAED,QACE,iEAAU,KAAK,EAAC,2BAA2B,IACzC,+DAAQ,KAAK,EAAC,SAAS,iBAAoB,EAC3C,4DAAK,KAAK,EAAC,qBAAqB,IAC9B,6DAAM,KAAK,EAAC,eAAe,iBAAa,MAAM,IAC3C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CACd,CACH,EACN,4DAAK,KAAK,EAAC,qBAAqB,IAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,MACzB,sBACE,GAAG,EAAE,OAAO,CAAC,EAAE,EACf,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,OAAO,CAAC,IAAI,EACnB,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAC1B,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,EAC5D,WAAW,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,IAExD,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,GAAG,SAAG,IAAI,EAAC,MAAM,IAAE,OAAO,CAAC,IAAI,CAAK,GAAG,IAAI,CACzC,CAClB,CAAC,CACE,CACG,EACX;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["uuidv4"],"sources":["src/components/map-overlays/map-overlays.i18n.ts","src/components/map-overlays/map-overlays.scss?tag=dso-map-overlays&encapsulation=shadow","src/components/map-overlays/map-overlays.tsx"],"sourcesContent":["import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-map-overlays\": {\r\n title: \"Maplayers\",\r\n },\r\n },\r\n nl: {\r\n \"dso-map-overlays\": {\r\n title: \"Kaartlagen\",\r\n },\r\n },\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n// Todo #1194\r\nfieldset {\r\n border: 0;\r\n margin: 0;\r\n min-inline-size: 0;\r\n padding: 0;\r\n\r\n .control-label {\r\n display: inline-block;\r\n font-weight: bold;\r\n margin-block-end: units.$u1;\r\n max-inline-size: 100%;\r\n text-align: start;\r\n }\r\n}\r\n\r\np[slot=\"info\"] {\r\n margin: 0;\r\n}\r\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Prop } from \"@stencil/core\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\n\r\nimport { SelectableChangeEvent } from \"../selectable/selectable.interfaces\";\r\nimport { Overlay, OverlayChangeEvent } from \"./map-overlays.interfaces\";\r\nimport { translations } from \"./map-overlays.i18n\";\r\n\r\n@Component({\r\n tag: \"dso-map-overlays\",\r\n styleUrl: \"./map-overlays.scss\",\r\n shadow: true,\r\n})\r\nexport class MapOverlays implements ComponentInterface {\r\n private previousOverlays: Overlay[] | undefined;\r\n private selectableRefs: { [id: number]: HTMLDsoSelectableElement } = {};\r\n\r\n @Element()\r\n host!: HTMLDsoMapOverlaysElement;\r\n\r\n /**\r\n * To group the overlays together. Generally the default value suffices.\r\n */\r\n @Prop()\r\n group = uuidv4();\r\n\r\n /**\r\n * The overlays.\r\n */\r\n @Prop()\r\n overlays!: Overlay[];\r\n\r\n /**\r\n * Emitted when the user selects a different overlay.\r\n */\r\n @Event()\r\n dsoToggleOverlay!: EventEmitter<OverlayChangeEvent>;\r\n\r\n private overlayChangeHandler(overlay: Overlay, e: CustomEvent<SelectableChangeEvent>) {\r\n const { checked } = e.detail;\r\n\r\n this.dsoToggleOverlay.emit({ overlay, checked });\r\n }\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n componentDidRender() {\r\n this.overlays\r\n .filter((o) => !o.disabled && this.previousOverlays?.find((p) => p.id === o.id)?.disabled === true)\r\n .forEach((o) => {\r\n this.selectableRefs[o.id]?.toggleInfo(false);\r\n });\r\n\r\n this.previousOverlays = this.overlays;\r\n }\r\n\r\n render() {\r\n for (const ref in this.selectableRefs) {\r\n delete this.selectableRefs[ref];\r\n }\r\n\r\n return (\r\n <fieldset class=\"form-group dso-checkboxes\">\r\n <legend class=\"sr-only\">Kaartlagen</legend>\r\n <div class=\"dso-label-container\">\r\n <span class=\"control-label\" aria-hidden=\"true\">\r\n {this.text(\"title\")}\r\n </span>\r\n </div>\r\n <div class=\"dso-field-container\">\r\n {this.overlays.map((overlay) => (\r\n <dso-selectable\r\n key={overlay.id}\r\n type=\"checkbox\"\r\n value={overlay.name}\r\n checked={overlay.checked}\r\n disabled={overlay.disabled}\r\n name={this.group}\r\n ref={(ref) => ref && (this.selectableRefs[overlay.id] = ref)}\r\n onDsoChange={(e) => this.overlayChangeHandler(overlay, e)}\r\n >\r\n {overlay.name}\r\n {overlay.info ? <p slot=\"info\">{overlay.info}</p> : null}\r\n </dso-selectable>\r\n ))}\r\n </div>\r\n </fieldset>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"dso-map-overlays.js","mappings":";;;;;;;;AAEO,MAAM,YAAY,GAAa;IACpC,EAAE,EAAE;QACF,kBAAkB,EAAE;YAClB,KAAK,EAAE,WAAW;SACnB;KACF;IACD,EAAE,EAAE;QACF,kBAAkB,EAAE;YAClB,KAAK,EAAE,YAAY;SACpB;KACF;CACF;;ACbD,MAAM,cAAc,GAAG,sYAAsY,CAAC;AAC9Z,6BAAe,cAAc;;MCahB,WAAW;IALxB;;;;;QAOU,mBAAc,GAA+C,EAAE,CAAC;;;;QASxE,UAAK,GAAGA,EAAM,EAAE,CAAC;QAoBT,SAAI,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;KA6CpD;IAnDS,oBAAoB,CAAC,OAAgB,EAAE,CAAqC;QAClF,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;QAE7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;KAClD;IAID,kBAAkB;QAChB,IAAI,CAAC,QAAQ;aACV,MAAM,CAAC,CAAC,CAAC,mBAAK,OAAA,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,0CAAE,QAAQ,MAAK,IAAI,CAAA,EAAA,CAAC;aAClG,OAAO,CAAC,CAAC,CAAC;;YACT,MAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,0CAAE,UAAU,CAAC,KAAK,CAAC,CAAC;SAC9C,CAAC,CAAC;QAEL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC;KACvC;IAED,MAAM;QACJ,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE;YACrC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;SACjC;QAED,QACE,iEAAU,KAAK,EAAC,2BAA2B,IACzC,+DAAQ,KAAK,EAAC,SAAS,iBAAoB,EAC3C,4DAAK,KAAK,EAAC,qBAAqB,IAC9B,6DAAM,KAAK,EAAC,eAAe,iBAAa,MAAM,IAC3C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CACd,CACH,EACN,4DAAK,KAAK,EAAC,qBAAqB,IAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,MACzB,sBACE,GAAG,EAAE,OAAO,CAAC,EAAE,EACf,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,OAAO,CAAC,IAAI,EACnB,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAC1B,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,EAC5D,WAAW,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,IAExD,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,GAAG,SAAG,IAAI,EAAC,MAAM,IAAE,OAAO,CAAC,IAAI,CAAK,GAAG,IAAI,CACzC,CAClB,CAAC,CACE,CACG,EACX;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["uuidv4"],"sources":["src/components/map-overlays/map-overlays.i18n.ts","src/components/map-overlays/map-overlays.scss?tag=dso-map-overlays&encapsulation=shadow","src/components/map-overlays/map-overlays.tsx"],"sourcesContent":["import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-map-overlays\": {\r\n title: \"Maplayers\",\r\n },\r\n },\r\n nl: {\r\n \"dso-map-overlays\": {\r\n title: \"Kaartlagen\",\r\n },\r\n },\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n// Todo #1194\r\nfieldset {\r\n border: 0;\r\n margin: 0;\r\n min-inline-size: 0;\r\n padding: 0;\r\n\r\n .control-label {\r\n display: inline-block;\r\n font-weight: bold;\r\n margin-block-end: units.$u1;\r\n max-inline-size: 100%;\r\n text-align: start;\r\n }\r\n}\r\n\r\np[slot=\"info\"] {\r\n margin: 0;\r\n}\r\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Prop } from \"@stencil/core\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\n\r\nimport { SelectableChangeEvent } from \"../selectable/selectable.interfaces\";\r\nimport { Overlay, OverlayChangeEvent } from \"./map-overlays.interfaces\";\r\nimport { translations } from \"./map-overlays.i18n\";\r\n\r\n@Component({\r\n tag: \"dso-map-overlays\",\r\n styleUrl: \"./map-overlays.scss\",\r\n shadow: true,\r\n})\r\nexport class MapOverlays implements ComponentInterface {\r\n private previousOverlays: Overlay[] | undefined;\r\n private selectableRefs: { [id: number]: HTMLDsoSelectableElement } = {};\r\n\r\n @Element()\r\n host!: HTMLDsoMapOverlaysElement;\r\n\r\n /**\r\n * To group the overlays together. Generally the default value suffices.\r\n */\r\n @Prop()\r\n group = uuidv4();\r\n\r\n /**\r\n * The overlays.\r\n */\r\n @Prop()\r\n overlays!: Overlay[];\r\n\r\n /**\r\n * Emitted when the user selects a different overlay.\r\n */\r\n @Event()\r\n dsoToggleOverlay!: EventEmitter<OverlayChangeEvent>;\r\n\r\n private overlayChangeHandler(overlay: Overlay, e: CustomEvent<SelectableChangeEvent>) {\r\n const { checked } = e.detail;\r\n\r\n this.dsoToggleOverlay.emit({ overlay, checked });\r\n }\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n componentDidRender() {\r\n this.overlays\r\n .filter((o) => !o.disabled && this.previousOverlays?.find((p) => p.id === o.id)?.disabled === true)\r\n .forEach((o) => {\r\n this.selectableRefs[o.id]?.toggleInfo(false);\r\n });\r\n\r\n this.previousOverlays = this.overlays;\r\n }\r\n\r\n render() {\r\n for (const ref in this.selectableRefs) {\r\n delete this.selectableRefs[ref];\r\n }\r\n\r\n return (\r\n <fieldset class=\"form-group dso-checkboxes\">\r\n <legend class=\"sr-only\">Kaartlagen</legend>\r\n <div class=\"dso-label-container\">\r\n <span class=\"control-label\" aria-hidden=\"true\">\r\n {this.text(\"title\")}\r\n </span>\r\n </div>\r\n <div class=\"dso-field-container\">\r\n {this.overlays.map((overlay) => (\r\n <dso-selectable\r\n key={overlay.id}\r\n type=\"checkbox\"\r\n value={overlay.name}\r\n checked={overlay.checked}\r\n disabled={overlay.disabled}\r\n name={this.group}\r\n ref={(ref) => ref && (this.selectableRefs[overlay.id] = ref)}\r\n onDsoChange={(e) => this.overlayChangeHandler(overlay, e)}\r\n >\r\n {overlay.name}\r\n {overlay.info ? <p slot=\"info\">{overlay.info}</p> : null}\r\n </dso-selectable>\r\n ))}\r\n </div>\r\n </fieldset>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -13,6 +13,10 @@ const MarkBar = /*@__PURE__*/ proxyCustomElement(class MarkBar extends HTMLEleme
13
13
  this.dsoNext = createEvent(this, "dsoNext", 3);
14
14
  this.dsoPrevious = createEvent(this, "dsoPrevious", 3);
15
15
  this.dsoClear = createEvent(this, "dsoClear", 3);
16
+ /**
17
+ * The label for the input field.
18
+ */
19
+ this.label = "Zoeken in document";
16
20
  this.handleInput = (e) => {
17
21
  if (!(e.target instanceof HTMLInputElement)) {
18
22
  return;
@@ -36,10 +40,6 @@ const MarkBar = /*@__PURE__*/ proxyCustomElement(class MarkBar extends HTMLEleme
36
40
  this.handleNext(e);
37
41
  }
38
42
  };
39
- this.value = undefined;
40
- this.label = "Zoeken in document";
41
- this.current = undefined;
42
- this.totalCount = undefined;
43
43
  }
44
44
  /**
45
45
  * Focuses the input field.
@@ -1 +1 @@
1
- {"file":"dso-mark-bar.js","mappings":"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","names":[],"sources":["src/components/mark-bar/mark-bar.scss?tag=dso-mark-bar&encapsulation=shadow","src/components/mark-bar/mark-bar.tsx"],"sourcesContent":["@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/utilities\";\r\n@use \"~dso-toolkit/src/variables/scaffolding\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/components/form-control\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n display: block;\r\n background-color: colors.$wit;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n$block-size: units.$ru5;\r\n$focus-border-width: 1px;\r\n\r\n.dso-mark-bar {\r\n display: flex;\r\n flex-grow: 1;\r\n\r\n .dso-mark-bar-input {\r\n display: flex;\r\n position: relative;\r\n inline-size: 100%;\r\n\r\n input {\r\n background-color: transparent;\r\n background-image: none;\r\n border: 1px solid form-control.$focus-border-color;\r\n border-radius: 4px;\r\n border-width: 1px;\r\n box-shadow: none;\r\n display: block;\r\n font-size: typography.$root-font-size-base;\r\n block-size: $block-size;\r\n line-height: $block-size;\r\n padding-inline: $block-size;\r\n padding-block: 6px;\r\n transition:\r\n border-color ease-in-out 0.15s,\r\n box-shadow ease-in-out 0.15s;\r\n inline-size: 100%;\r\n border-start-end-radius: 0;\r\n border-end-end-radius: 0;\r\n border-inline-end: 0;\r\n\r\n &:focus {\r\n border-color: form-control.$focus-border-color;\r\n box-shadow: inset 0 0 0 form-control.$focus-border-width form-control.$focus-border-color;\r\n outline: 0;\r\n }\r\n\r\n &::-ms-clear {\r\n display: none;\r\n }\r\n\r\n &:not(:placeholder-shown) + label {\r\n inline-size: $block-size;\r\n padding-inline-end: units.$u1;\r\n\r\n .label-text {\r\n @include utilities.sr-only();\r\n }\r\n }\r\n }\r\n\r\n label {\r\n inset-block-end: units.$u1;\r\n block-size: $block-size;\r\n inset-inline-start: 0;\r\n inset-inline-end: units.$u5;\r\n padding-block: units.$u1;\r\n padding-inline-start: units.$u1;\r\n cursor: text;\r\n position: absolute;\r\n inset-block-start: 0;\r\n overflow: hidden;\r\n /* stylelint-disable declaration-property-value-disallowed-list -- The following properties are needed to emulate the browser native placeholder attribute behavior */\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n /* stylelint-enable-next-line declaration-property-value-disallowed-list */\r\n\r\n dso-icon {\r\n color: colors.$grasgroen;\r\n cursor: default;\r\n margin: -8px;\r\n padding: 8px;\r\n inline-size: $block-size;\r\n block-size: $block-size;\r\n }\r\n\r\n .label-text {\r\n margin-inline-start: units.$u1;\r\n color: colors.$grijs-60;\r\n }\r\n }\r\n\r\n button {\r\n background-color: transparent;\r\n border: 0;\r\n box-shadow: none;\r\n color: colors.$grasgroen;\r\n font-size: 0;\r\n block-size: $block-size;\r\n padding: units.$u1;\r\n position: absolute;\r\n inset-inline-end: 0;\r\n text-align: center;\r\n inset-block-start: 0;\r\n inline-size: $block-size;\r\n cursor: pointer;\r\n }\r\n }\r\n}\r\n\r\n.dso-button-container {\r\n position: relative;\r\n\r\n display: flex;\r\n align-items: center;\r\n gap: units.$u1;\r\n flex-shrink: 0;\r\n\r\n padding-inline: units.$u1;\r\n\r\n border: 1px solid colors.$bosgroen;\r\n border-inline-start: 0;\r\n border-start-end-radius: scaffolding.$border-radius-base;\r\n border-end-end-radius: scaffolding.$border-radius-base;\r\n\r\n button {\r\n appearance: none;\r\n padding: 0;\r\n border: 0;\r\n background-color: transparent;\r\n color: colors.$grasgroen;\r\n cursor: pointer;\r\n\r\n &:disabled {\r\n color: colors.$grijs-20;\r\n cursor: default;\r\n }\r\n }\r\n\r\n .divider {\r\n position: absolute;\r\n inset-inline-start: 0;\r\n inset-block-start: units.$u1;\r\n inset-block-end: units.$u1;\r\n\r\n inline-size: 1px;\r\n\r\n background-color: colors.$grijs-20;\r\n }\r\n}\r\n","import { h, Component, ComponentInterface, Prop, Event, EventEmitter, Method } from \"@stencil/core\";\r\nimport {\r\n MarkBarInputEvent,\r\n MarkBarClearEvent,\r\n MarkBarPaginationEvent,\r\n MarkBarFocusOptions,\r\n} from \"./mark-bar.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-mark-bar\",\r\n styleUrl: \"./mark-bar.scss\",\r\n shadow: true,\r\n})\r\nexport class MarkBar implements ComponentInterface {\r\n /**\r\n * The current search value.\r\n */\r\n @Prop()\r\n value?: string;\r\n\r\n /**\r\n * The label for the input field.\r\n */\r\n @Prop()\r\n label = \"Zoeken in document\";\r\n\r\n /**\r\n * The current (one-based) highlighted search item.\r\n */\r\n @Prop()\r\n current?: number;\r\n\r\n /**\r\n * Total number of search results.\r\n */\r\n @Prop()\r\n totalCount?: number;\r\n\r\n /**\r\n * Focuses the input field.\r\n */\r\n @Method()\r\n async dsoFocus(options: MarkBarFocusOptions = {}) {\r\n this.inputElement?.focus();\r\n\r\n if (options.select) {\r\n this.inputElement?.select();\r\n }\r\n }\r\n\r\n /**\r\n * Emitted each time the user types in the search field.\r\n */\r\n @Event({ bubbles: false })\r\n dsoInput!: EventEmitter<MarkBarInputEvent>;\r\n\r\n /**\r\n * Emitted when user activates \"next search result\" button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoNext!: EventEmitter<MarkBarPaginationEvent>;\r\n\r\n /**\r\n * Emitted when user activates \"previous search result\" button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoPrevious!: EventEmitter<MarkBarPaginationEvent>;\r\n\r\n /**\r\n * Emitted when user activates \"clear search result\" button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoClear!: EventEmitter<MarkBarClearEvent>;\r\n\r\n private inputElement?: HTMLInputElement;\r\n\r\n private handleInput = (e: Event) => {\r\n if (!(e.target instanceof HTMLInputElement)) {\r\n return;\r\n }\r\n\r\n this.dsoInput.emit({\r\n originalEvent: e,\r\n value: e.target.value,\r\n });\r\n };\r\n\r\n private handleNext = (e: MouseEvent | KeyboardEvent) => {\r\n this.dsoNext.emit({ originalEvent: e });\r\n };\r\n\r\n private handlePrevious = (e: MouseEvent) => {\r\n this.dsoPrevious.emit({ originalEvent: e });\r\n };\r\n\r\n private handleClear = (e: MouseEvent) => {\r\n this.dsoClear.emit({ originalEvent: e });\r\n };\r\n\r\n private handleKeyDown = (e: KeyboardEvent) => {\r\n if (e.key === \"Enter\") {\r\n this.handleNext(e);\r\n }\r\n };\r\n\r\n render() {\r\n const current = this.current || 0;\r\n const totalCount = this.totalCount || 0;\r\n\r\n return (\r\n <div class=\"dso-mark-bar\">\r\n <div class=\"dso-mark-bar-input\">\r\n <input\r\n type=\"text\"\r\n id=\"search-input\"\r\n value={this.value}\r\n onInput={this.handleInput}\r\n onKeyDown={this.handleKeyDown}\r\n placeholder=\" \"\r\n ref={(element) => (this.inputElement = element)}\r\n />\r\n <label htmlFor=\"search-input\">\r\n <dso-icon class=\"dso-search-icon\" icon=\"search\"></dso-icon>\r\n <span class=\"label-text\">{this.label}</span>\r\n </label>\r\n <button type=\"button\" onClick={this.handleClear}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Zoekopdracht legen</span>\r\n </button>\r\n </div>\r\n <div class=\"dso-button-container\">\r\n <span class=\"divider\" />\r\n <button type=\"button\" onClick={this.handlePrevious} disabled={current <= 1}>\r\n <dso-icon icon=\"chevron-up\" class=\"hydrated\"></dso-icon>\r\n <span class=\"sr-only\">Vorig zoekresultaat</span>\r\n </button>\r\n <span>\r\n {current}/{totalCount}\r\n </span>\r\n <button type=\"button\" onClick={this.handleNext} disabled={current >= totalCount}>\r\n <dso-icon icon=\"chevron-down\" class=\"hydrated\"></dso-icon>\r\n <span class=\"sr-only\">Volgend zoekresultaat</span>\r\n </button>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"dso-mark-bar.js","mappings":"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","names":[],"sources":["src/components/mark-bar/mark-bar.scss?tag=dso-mark-bar&encapsulation=shadow","src/components/mark-bar/mark-bar.tsx"],"sourcesContent":["@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/utilities\";\r\n@use \"~dso-toolkit/src/variables/scaffolding\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/components/form-control\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n display: block;\r\n background-color: colors.$wit;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n$block-size: units.$ru5;\r\n$focus-border-width: 1px;\r\n\r\n.dso-mark-bar {\r\n display: flex;\r\n flex-grow: 1;\r\n\r\n .dso-mark-bar-input {\r\n display: flex;\r\n position: relative;\r\n inline-size: 100%;\r\n\r\n input {\r\n background-color: transparent;\r\n background-image: none;\r\n border: 1px solid form-control.$focus-border-color;\r\n border-radius: 4px;\r\n border-width: 1px;\r\n box-shadow: none;\r\n display: block;\r\n font-size: typography.$root-font-size-base;\r\n block-size: $block-size;\r\n line-height: $block-size;\r\n padding-inline: $block-size;\r\n padding-block: 6px;\r\n transition:\r\n border-color ease-in-out 0.15s,\r\n box-shadow ease-in-out 0.15s;\r\n inline-size: 100%;\r\n border-start-end-radius: 0;\r\n border-end-end-radius: 0;\r\n border-inline-end: 0;\r\n\r\n &:focus {\r\n border-color: form-control.$focus-border-color;\r\n box-shadow: inset 0 0 0 form-control.$focus-border-width form-control.$focus-border-color;\r\n outline: 0;\r\n }\r\n\r\n &::-ms-clear {\r\n display: none;\r\n }\r\n\r\n &:not(:placeholder-shown) + label {\r\n inline-size: $block-size;\r\n padding-inline-end: units.$u1;\r\n\r\n .label-text {\r\n @include utilities.sr-only();\r\n }\r\n }\r\n }\r\n\r\n label {\r\n inset-block-end: units.$u1;\r\n block-size: $block-size;\r\n inset-inline-start: 0;\r\n inset-inline-end: units.$u5;\r\n padding-block: units.$u1;\r\n padding-inline-start: units.$u1;\r\n cursor: text;\r\n position: absolute;\r\n inset-block-start: 0;\r\n overflow: hidden;\r\n /* stylelint-disable declaration-property-value-disallowed-list -- The following properties are needed to emulate the browser native placeholder attribute behavior */\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n /* stylelint-enable-next-line declaration-property-value-disallowed-list */\r\n\r\n dso-icon {\r\n color: colors.$grasgroen;\r\n cursor: default;\r\n margin: -8px;\r\n padding: 8px;\r\n inline-size: $block-size;\r\n block-size: $block-size;\r\n }\r\n\r\n .label-text {\r\n margin-inline-start: units.$u1;\r\n color: colors.$grijs-60;\r\n }\r\n }\r\n\r\n button {\r\n background-color: transparent;\r\n border: 0;\r\n box-shadow: none;\r\n color: colors.$grasgroen;\r\n font-size: 0;\r\n block-size: $block-size;\r\n padding: units.$u1;\r\n position: absolute;\r\n inset-inline-end: 0;\r\n text-align: center;\r\n inset-block-start: 0;\r\n inline-size: $block-size;\r\n cursor: pointer;\r\n }\r\n }\r\n}\r\n\r\n.dso-button-container {\r\n position: relative;\r\n\r\n display: flex;\r\n align-items: center;\r\n gap: units.$u1;\r\n flex-shrink: 0;\r\n\r\n padding-inline: units.$u1;\r\n\r\n border: 1px solid colors.$bosgroen;\r\n border-inline-start: 0;\r\n border-start-end-radius: scaffolding.$border-radius-base;\r\n border-end-end-radius: scaffolding.$border-radius-base;\r\n\r\n button {\r\n appearance: none;\r\n padding: 0;\r\n border: 0;\r\n background-color: transparent;\r\n color: colors.$grasgroen;\r\n cursor: pointer;\r\n\r\n &:disabled {\r\n color: colors.$grijs-20;\r\n cursor: default;\r\n }\r\n }\r\n\r\n .divider {\r\n position: absolute;\r\n inset-inline-start: 0;\r\n inset-block-start: units.$u1;\r\n inset-block-end: units.$u1;\r\n\r\n inline-size: 1px;\r\n\r\n background-color: colors.$grijs-20;\r\n }\r\n}\r\n","import { h, Component, ComponentInterface, Prop, Event, EventEmitter, Method } from \"@stencil/core\";\r\nimport {\r\n MarkBarInputEvent,\r\n MarkBarClearEvent,\r\n MarkBarPaginationEvent,\r\n MarkBarFocusOptions,\r\n} from \"./mark-bar.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-mark-bar\",\r\n styleUrl: \"./mark-bar.scss\",\r\n shadow: true,\r\n})\r\nexport class MarkBar implements ComponentInterface {\r\n /**\r\n * The current search value.\r\n */\r\n @Prop()\r\n value?: string;\r\n\r\n /**\r\n * The label for the input field.\r\n */\r\n @Prop()\r\n label = \"Zoeken in document\";\r\n\r\n /**\r\n * The current (one-based) highlighted search item.\r\n */\r\n @Prop()\r\n current?: number;\r\n\r\n /**\r\n * Total number of search results.\r\n */\r\n @Prop()\r\n totalCount?: number;\r\n\r\n /**\r\n * Focuses the input field.\r\n */\r\n @Method()\r\n async dsoFocus(options: MarkBarFocusOptions = {}) {\r\n this.inputElement?.focus();\r\n\r\n if (options.select) {\r\n this.inputElement?.select();\r\n }\r\n }\r\n\r\n /**\r\n * Emitted each time the user types in the search field.\r\n */\r\n @Event({ bubbles: false })\r\n dsoInput!: EventEmitter<MarkBarInputEvent>;\r\n\r\n /**\r\n * Emitted when user activates \"next search result\" button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoNext!: EventEmitter<MarkBarPaginationEvent>;\r\n\r\n /**\r\n * Emitted when user activates \"previous search result\" button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoPrevious!: EventEmitter<MarkBarPaginationEvent>;\r\n\r\n /**\r\n * Emitted when user activates \"clear search result\" button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoClear!: EventEmitter<MarkBarClearEvent>;\r\n\r\n private inputElement?: HTMLInputElement;\r\n\r\n private handleInput = (e: Event) => {\r\n if (!(e.target instanceof HTMLInputElement)) {\r\n return;\r\n }\r\n\r\n this.dsoInput.emit({\r\n originalEvent: e,\r\n value: e.target.value,\r\n });\r\n };\r\n\r\n private handleNext = (e: MouseEvent | KeyboardEvent) => {\r\n this.dsoNext.emit({ originalEvent: e });\r\n };\r\n\r\n private handlePrevious = (e: MouseEvent) => {\r\n this.dsoPrevious.emit({ originalEvent: e });\r\n };\r\n\r\n private handleClear = (e: MouseEvent) => {\r\n this.dsoClear.emit({ originalEvent: e });\r\n };\r\n\r\n private handleKeyDown = (e: KeyboardEvent) => {\r\n if (e.key === \"Enter\") {\r\n this.handleNext(e);\r\n }\r\n };\r\n\r\n render() {\r\n const current = this.current || 0;\r\n const totalCount = this.totalCount || 0;\r\n\r\n return (\r\n <div class=\"dso-mark-bar\">\r\n <div class=\"dso-mark-bar-input\">\r\n <input\r\n type=\"text\"\r\n id=\"search-input\"\r\n value={this.value}\r\n onInput={this.handleInput}\r\n onKeyDown={this.handleKeyDown}\r\n placeholder=\" \"\r\n ref={(element) => (this.inputElement = element)}\r\n />\r\n <label htmlFor=\"search-input\">\r\n <dso-icon class=\"dso-search-icon\" icon=\"search\"></dso-icon>\r\n <span class=\"label-text\">{this.label}</span>\r\n </label>\r\n <button type=\"button\" onClick={this.handleClear}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Zoekopdracht legen</span>\r\n </button>\r\n </div>\r\n <div class=\"dso-button-container\">\r\n <span class=\"divider\" />\r\n <button type=\"button\" onClick={this.handlePrevious} disabled={current <= 1}>\r\n <dso-icon icon=\"chevron-up\" class=\"hydrated\"></dso-icon>\r\n <span class=\"sr-only\">Vorig zoekresultaat</span>\r\n </button>\r\n <span>\r\n {current}/{totalCount}\r\n </span>\r\n <button type=\"button\" onClick={this.handleNext} disabled={current >= totalCount}>\r\n <dso-icon icon=\"chevron-down\" class=\"hydrated\"></dso-icon>\r\n <span class=\"sr-only\">Volgend zoekresultaat</span>\r\n </button>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -29,13 +29,26 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
29
29
  this.__registerHost();
30
30
  this.__attachShadow();
31
31
  this.dsoClose = createEvent(this, "dsoClose", 7);
32
- this.text = i18n(() => this.host, translations);
33
32
  this.ariaId = v4();
34
- this.fullscreen = undefined;
35
- this.modalTitle = undefined;
33
+ /**
34
+ * the role for the modal `dialog` | `alert` | `alertdialog`.
35
+ */
36
36
  this.dialogRole = "dialog";
37
+ /**
38
+ * The element to return focus to after the modal is closed.
39
+ *
40
+ * * `undefined` will return focus to the previously focused element (default).
41
+ * * `false` will not return focus to any element.
42
+ * * or, provide your own `HTMLElement` that will receive focus upon closing.
43
+ */
37
44
  this.returnFocus = undefined;
45
+ /**
46
+ * when `false` the close button in the header will not be rendered. Defaults to `true`.
47
+ *
48
+ * Needs `modalTitle` to be set.
49
+ */
38
50
  this.showCloseButton = true;
51
+ this.text = i18n(() => this.host, translations);
39
52
  }
40
53
  get hasFooter() {
41
54
  return this.host.querySelector("[slot='footer']") !== null;
@@ -1 +1 @@
1
- {"file":"dso-modal.js","mappings":";;;;;;;AAEO,MAAM,YAAY,GAAa;IACpC,EAAE,EAAE;QACF,WAAW,EAAE;YACX,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,QAAQ;SACjB;KACF;IACD,EAAE,EAAE;QACF,WAAW,EAAE;YACX,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,SAAS;SAClB;KACF;CACF;;ACfD,MAAM,QAAQ,GAAG,ylNAAylN,CAAC;AAC3mN,uBAAe,QAAQ;;MCaV,KAAK;;;;;;QAyDR,SAAI,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;sBAlD1C,EAAE,EAAE;;;0BAkBe,QAAQ;2BAUW,SAAS;+BAQtC,IAAI;;IAUtB,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;KAC5D;IAID,gBAAgB;;QACd,IAAI,MAAA,IAAI,CAAC,iBAAiB,0CAAE,WAAW,EAAE;YACvC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;YACzC,IAAI,aAAa,YAAY,WAAW,EAAE;gBACxC,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC;aACzC;YAED,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;SACpC;KACF;IAED,oBAAoB;;QAClB,MAAA,IAAI,CAAC,iBAAiB,0CAAE,KAAK,EAAE,CAAC;QAEhC,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;YAC9B,OAAO;SACR;QAED,OAAC,MAAA,IAAI,CAAC,WAAW,mCAAI,IAAI,CAAC,kBAAkB,CAAC,0CAAE,KAAK,EAAE,CAAC;KACxD;IAED,MAAM;;QACJ,QACE,+DACE,KAAK,EAAC,WAAW,EACjB,IAAI,EAAE,MAAA,IAAI,CAAC,UAAU,mCAAI,SAAS,gBACvB,MAAM,qBACA,IAAI,CAAC,MAAM,EAC5B,GAAG,EAAE,CAAC,OAAO,MAAM,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,EACpD,QAAQ,EAAE,CAAC,CAAC;gBACV,CAAC,CAAC,cAAc,EAAE,CAAC;gBAEnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;aAC1C,IAED,4DAAK,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,UAAU,IACpC,IAAI,CAAC,UAAU,IACd,WAAK,KAAK,EAAC,YAAY,IACrB,UAAI,EAAE,EAAE,IAAI,CAAC,MAAM,IAAG,IAAI,CAAC,UAAU,CAAM,EAC1C,IAAI,CAAC,eAAe,KACnB,cAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,WAAW,EAAC,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,IAC9F,gBAAU,IAAI,EAAC,OAAO,GAAY,EAClC,YAAM,KAAK,EAAC,SAAS,IAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAQ,CAC1C,CACV,CACG,KAEN,YAAM,KAAK,EAAC,SAAS,EAAC,EAAE,EAAE,IAAI,CAAC,MAAM,IAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CACf,CACR,EAED,yEACE,4DAAK,KAAK,EAAC,UAAU,EAAC,QAAQ,EAAE,CAAC,IAC/B,6DAAM,IAAI,EAAC,MAAM,GAAG,CAChB,CACS,EAEhB,IAAI,CAAC,SAAS,KACb,4DAAK,KAAK,EAAC,YAAY,IACrB,6DAAM,IAAI,EAAC,QAAQ,GAAG,CAClB,CACP,CACG,CACC,EACT;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/modal/modal.i18n.ts","src/components/modal/modal.scss?tag=dso-modal&encapsulation=shadow","src/components/modal/modal.tsx"],"sourcesContent":["import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-modal\": {\r\n close: \"Close\",\r\n dialog: \"Dialog\",\r\n },\r\n },\r\n nl: {\r\n \"dso-modal\": {\r\n close: \"Sluiten\",\r\n dialog: \"Dialoog\",\r\n },\r\n },\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/modal\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n// fullscreen option\r\n:host([fullscreen]) dialog {\r\n @include modal.fullscreen();\r\n}\r\n\r\n// Go to fullscreen on =< 480px viewport\r\n@media screen and (max-width: media-query-breakpoints.$screen-xs-min) {\r\n :host dialog {\r\n @include modal.fullscreen();\r\n }\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n.dso-modal {\r\n @include modal.root();\r\n}\r\n\r\n.dso-close {\r\n dso-icon {\r\n color: modal.$close-icon-color;\r\n }\r\n}\r\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Prop, State } from \"@stencil/core\";\r\nimport { v4 } from \"uuid\";\r\n\r\nimport { getActiveElement } from \"../../utils/get-active-element\";\r\nimport { i18n } from \"../../utils/i18n\";\r\n\r\nimport { ModalCloseEvent } from \"./modal.interfaces\";\r\nimport { translations } from \"./modal.i18n\";\r\n\r\n@Component({\r\n tag: \"dso-modal\",\r\n styleUrl: \"modal.scss\",\r\n shadow: true,\r\n})\r\nexport class Modal implements ComponentInterface {\r\n private htmlDialogElement?: HTMLDialogElement;\r\n\r\n @Element()\r\n host!: HTMLDsoModalElement;\r\n\r\n @State()\r\n ariaId = v4();\r\n\r\n /**\r\n * when set the modal will be shown in fullscreen.\r\n */\r\n @Prop({ reflect: true })\r\n fullscreen?: boolean;\r\n\r\n /**\r\n * The title of the Modal.\r\n */\r\n @Prop()\r\n modalTitle?: string;\r\n\r\n /**\r\n * the role for the modal `dialog` | `alert` | `alertdialog`.\r\n */\r\n @Prop()\r\n dialogRole: string | null = \"dialog\";\r\n\r\n /**\r\n * The element to return focus to after the modal is closed.\r\n *\r\n * * `undefined` will return focus to the previously focused element (default).\r\n * * `false` will not return focus to any element.\r\n * * or, provide your own `HTMLElement` that will receive focus upon closing.\r\n */\r\n @Prop()\r\n returnFocus: false | HTMLElement | undefined = undefined;\r\n\r\n /**\r\n * when `false` the close button in the header will not be rendered. Defaults to `true`.\r\n *\r\n * Needs `modalTitle` to be set.\r\n */\r\n @Prop()\r\n showCloseButton = true;\r\n\r\n private returnFocusElement: HTMLElement | undefined;\r\n\r\n /**\r\n * Emitted when the user wants to close the Modal.\r\n */\r\n @Event()\r\n dsoClose!: EventEmitter<ModalCloseEvent>;\r\n\r\n get hasFooter() {\r\n return this.host.querySelector(\"[slot='footer']\") !== null;\r\n }\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n componentDidLoad(): void {\r\n if (this.htmlDialogElement?.isConnected) {\r\n const activeElement = getActiveElement();\r\n if (activeElement instanceof HTMLElement) {\r\n this.returnFocusElement = activeElement;\r\n }\r\n\r\n this.htmlDialogElement.showModal();\r\n }\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.htmlDialogElement?.close();\r\n\r\n if (this.returnFocus === false) {\r\n return;\r\n }\r\n\r\n (this.returnFocus ?? this.returnFocusElement)?.focus();\r\n }\r\n\r\n render() {\r\n return (\r\n <dialog\r\n class=\"dso-modal\"\r\n role={this.dialogRole ?? undefined}\r\n aria-modal=\"true\"\r\n aria-labelledby={this.ariaId}\r\n ref={(element) => (this.htmlDialogElement = element)}\r\n onCancel={(e) => {\r\n e.preventDefault();\r\n\r\n this.dsoClose.emit({ originalEvent: e });\r\n }}\r\n >\r\n <div class=\"dso-dialog\" role=\"document\">\r\n {this.modalTitle ? (\r\n <div class=\"dso-header\">\r\n <h2 id={this.ariaId}>{this.modalTitle}</h2>\r\n {this.showCloseButton && (\r\n <button type=\"button\" class=\"dso-close\" onClick={(e) => this.dsoClose.emit({ originalEvent: e })}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">{this.text(\"close\")}</span>\r\n </button>\r\n )}\r\n </div>\r\n ) : (\r\n <span class=\"sr-only\" id={this.ariaId}>\r\n {this.text(\"dialog\")}\r\n </span>\r\n )}\r\n\r\n <dso-scrollable>\r\n <div class=\"dso-body\" tabIndex={0}>\r\n <slot name=\"body\" />\r\n </div>\r\n </dso-scrollable>\r\n\r\n {this.hasFooter && (\r\n <div class=\"dso-footer\">\r\n <slot name=\"footer\" />\r\n </div>\r\n )}\r\n </div>\r\n </dialog>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"dso-modal.js","mappings":"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","names":[],"sources":["src/components/modal/modal.i18n.ts","src/components/modal/modal.scss?tag=dso-modal&encapsulation=shadow","src/components/modal/modal.tsx"],"sourcesContent":["import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-modal\": {\r\n close: \"Close\",\r\n dialog: \"Dialog\",\r\n },\r\n },\r\n nl: {\r\n \"dso-modal\": {\r\n close: \"Sluiten\",\r\n dialog: \"Dialoog\",\r\n },\r\n },\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/modal\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n// fullscreen option\r\n:host([fullscreen]) dialog {\r\n @include modal.fullscreen();\r\n}\r\n\r\n// Go to fullscreen on =< 480px viewport\r\n@media screen and (max-width: media-query-breakpoints.$screen-xs-min) {\r\n :host dialog {\r\n @include modal.fullscreen();\r\n }\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n.dso-modal {\r\n @include modal.root();\r\n}\r\n\r\n.dso-close {\r\n dso-icon {\r\n color: modal.$close-icon-color;\r\n }\r\n}\r\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Prop, State } from \"@stencil/core\";\r\nimport { v4 } from \"uuid\";\r\n\r\nimport { getActiveElement } from \"../../utils/get-active-element\";\r\nimport { i18n } from \"../../utils/i18n\";\r\n\r\nimport { ModalCloseEvent } from \"./modal.interfaces\";\r\nimport { translations } from \"./modal.i18n\";\r\n\r\n@Component({\r\n tag: \"dso-modal\",\r\n styleUrl: \"modal.scss\",\r\n shadow: true,\r\n})\r\nexport class Modal implements ComponentInterface {\r\n private htmlDialogElement?: HTMLDialogElement;\r\n\r\n @Element()\r\n host!: HTMLDsoModalElement;\r\n\r\n @State()\r\n ariaId = v4();\r\n\r\n /**\r\n * when set the modal will be shown in fullscreen.\r\n */\r\n @Prop({ reflect: true })\r\n fullscreen?: boolean;\r\n\r\n /**\r\n * The title of the Modal.\r\n */\r\n @Prop()\r\n modalTitle?: string;\r\n\r\n /**\r\n * the role for the modal `dialog` | `alert` | `alertdialog`.\r\n */\r\n @Prop()\r\n dialogRole: string | null = \"dialog\";\r\n\r\n /**\r\n * The element to return focus to after the modal is closed.\r\n *\r\n * * `undefined` will return focus to the previously focused element (default).\r\n * * `false` will not return focus to any element.\r\n * * or, provide your own `HTMLElement` that will receive focus upon closing.\r\n */\r\n @Prop()\r\n returnFocus: false | HTMLElement | undefined = undefined;\r\n\r\n /**\r\n * when `false` the close button in the header will not be rendered. Defaults to `true`.\r\n *\r\n * Needs `modalTitle` to be set.\r\n */\r\n @Prop()\r\n showCloseButton = true;\r\n\r\n private returnFocusElement: HTMLElement | undefined;\r\n\r\n /**\r\n * Emitted when the user wants to close the Modal.\r\n */\r\n @Event()\r\n dsoClose!: EventEmitter<ModalCloseEvent>;\r\n\r\n get hasFooter() {\r\n return this.host.querySelector(\"[slot='footer']\") !== null;\r\n }\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n componentDidLoad(): void {\r\n if (this.htmlDialogElement?.isConnected) {\r\n const activeElement = getActiveElement();\r\n if (activeElement instanceof HTMLElement) {\r\n this.returnFocusElement = activeElement;\r\n }\r\n\r\n this.htmlDialogElement.showModal();\r\n }\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.htmlDialogElement?.close();\r\n\r\n if (this.returnFocus === false) {\r\n return;\r\n }\r\n\r\n (this.returnFocus ?? this.returnFocusElement)?.focus();\r\n }\r\n\r\n render() {\r\n return (\r\n <dialog\r\n class=\"dso-modal\"\r\n role={this.dialogRole ?? undefined}\r\n aria-modal=\"true\"\r\n aria-labelledby={this.ariaId}\r\n ref={(element) => (this.htmlDialogElement = element)}\r\n onCancel={(e) => {\r\n e.preventDefault();\r\n\r\n this.dsoClose.emit({ originalEvent: e });\r\n }}\r\n >\r\n <div class=\"dso-dialog\" role=\"document\">\r\n {this.modalTitle ? (\r\n <div class=\"dso-header\">\r\n <h2 id={this.ariaId}>{this.modalTitle}</h2>\r\n {this.showCloseButton && (\r\n <button type=\"button\" class=\"dso-close\" onClick={(e) => this.dsoClose.emit({ originalEvent: e })}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">{this.text(\"close\")}</span>\r\n </button>\r\n )}\r\n </div>\r\n ) : (\r\n <span class=\"sr-only\" id={this.ariaId}>\r\n {this.text(\"dialog\")}\r\n </span>\r\n )}\r\n\r\n <dso-scrollable>\r\n <div class=\"dso-body\" tabIndex={0}>\r\n <slot name=\"body\" />\r\n </div>\r\n </dso-scrollable>\r\n\r\n {this.hasFooter && (\r\n <div class=\"dso-footer\">\r\n <slot name=\"footer\" />\r\n </div>\r\n )}\r\n </div>\r\n </dialog>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -17,9 +17,9 @@ const Pagination = /*@__PURE__*/ proxyCustomElement(class Pagination extends HTM
17
17
  medium: 9,
18
18
  large: 11,
19
19
  };
20
- this.availablePositions = undefined;
21
- this.totalPages = undefined;
22
- this.currentPage = undefined;
20
+ /**
21
+ * This function is called to format the href
22
+ */
23
23
  this.formatHref = (page) => "#" + page;
24
24
  }
25
25
  /**
@@ -1 +1 @@
1
- {"file":"dso-pagination.js","mappings":"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","names":[],"sources":["src/components/pagination/pagination.scss?tag=dso-pagination&encapsulation=shadow","src/components/pagination/pagination.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/pagination\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.pagination {\r\n @include pagination.root();\r\n}\r\n\r\n.dso-page-hidden {\r\n visibility: hidden;\r\n}\r\n\r\n.sr-only.sr-only {\r\n // class daisy-chained to prevent overwrites by other more specific styling set on this element.\r\n @include utilities.sr-only();\r\n}\r\n","import {\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Listen,\r\n Prop,\r\n State,\r\n} from \"@stencil/core\";\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\n\r\nimport { ResponsiveElementSize } from \"../responsive-element/responsive-element.interfaces\";\r\nimport { PaginationSelectPageEvent } from \"./pagination.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-pagination\",\r\n styleUrl: \"pagination.scss\",\r\n shadow: true,\r\n})\r\nexport class Pagination implements ComponentInterface {\r\n private sizePositionsMap: Record<ResponsiveElementSize, number> = {\r\n small: 7,\r\n medium: 9,\r\n large: 11,\r\n };\r\n\r\n private responsiveElement?: HTMLDsoResponsiveElementElement;\r\n\r\n @Element()\r\n host!: HTMLDsoPaginationElement;\r\n\r\n @State()\r\n availablePositions?: number;\r\n /**\r\n * Total pages\r\n */\r\n @Prop()\r\n totalPages?: number;\r\n\r\n /**\r\n * Current page\r\n */\r\n @Prop()\r\n currentPage?: number;\r\n\r\n /**\r\n * This function is called to format the href\r\n */\r\n @Prop()\r\n formatHref: (page: number) => string = (page) => \"#\" + page;\r\n\r\n /**\r\n * Emitted on page select\r\n */\r\n @Event()\r\n dsoSelectPage!: EventEmitter<PaginationSelectPageEvent>;\r\n\r\n /**\r\n * Listens to the dsoSizeChange event on Responsive Element\r\n */\r\n @Listen(\"dsoSizeChange\")\r\n sizeChangeHandler(event: CustomEvent<ResponsiveElementSize>) {\r\n this.availablePositions = this.getAvailablePositions(this.sizePositionsMap[event.detail]);\r\n }\r\n\r\n private clickHandler(e: MouseEvent, page: number) {\r\n this.dsoSelectPage.emit({\r\n originalEvent: e,\r\n page,\r\n isModifiedEvent: isModifiedEvent(e),\r\n });\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.responsiveElement\r\n ?.getSize()\r\n .then(\r\n (size: ResponsiveElementSize) =>\r\n (this.availablePositions = this.getAvailablePositions(this.sizePositionsMap[size])),\r\n );\r\n }\r\n\r\n render() {\r\n if (!this.totalPages) {\r\n return null;\r\n }\r\n\r\n if (this.availablePositions === undefined) {\r\n return <dso-responsive-element ref={(element) => (this.responsiveElement = element)}></dso-responsive-element>;\r\n }\r\n\r\n const availablePositions = this.availablePositions;\r\n\r\n const currentPage = this.currentPage ?? 0;\r\n\r\n const pages: number[] = this.getPages(currentPage, this.availablePositions, this.totalPages);\r\n\r\n return (\r\n <dso-responsive-element ref={(element) => (this.responsiveElement = element)}>\r\n <nav class=\"pagination\" aria-label=\"Paginering\">\r\n <ul>\r\n <li class={currentPage <= 1 || currentPage > this.totalPages ? \"dso-page-hidden\" : undefined}>\r\n <a\r\n href={this.formatHref(pages[pages.indexOf(currentPage) - 1] ?? 1)}\r\n aria-label=\"Vorige\"\r\n onClick={(e) => currentPage && this.clickHandler(e, pages[pages.indexOf(currentPage) - 1] ?? 1)}\r\n >\r\n <dso-icon icon=\"chevron-left\"></dso-icon>\r\n </a>\r\n </li>\r\n {pages.map((page) => (\r\n <>\r\n {this.showEllipsisBeforeLast(pages, page, availablePositions) && (\r\n <li>\r\n <span>...</span>\r\n </li>\r\n )}\r\n\r\n <li key={page} class={currentPage === page ? \"active\" : undefined}>\r\n {currentPage === page ? (\r\n <span aria-current=\"page\">{page}</span>\r\n ) : (\r\n <a href={this.formatHref(page)} onClick={(e) => this.clickHandler(e, page)}>\r\n {page}\r\n </a>\r\n )}\r\n {page === this.totalPages ? <span class=\"sr-only\"> (laatste pagina)</span> : null}\r\n </li>\r\n\r\n {this.showEllipsisAfterFirst(pages, page, availablePositions) && (\r\n <li>\r\n <span>...</span>\r\n </li>\r\n )}\r\n </>\r\n ))}\r\n <li class={currentPage < 1 || currentPage >= this.totalPages ? \"dso-page-hidden\" : undefined}>\r\n <a\r\n href={this.formatHref(pages[pages.indexOf(currentPage) + 1] ?? this.totalPages)}\r\n aria-label=\"Volgende\"\r\n onClick={(e) =>\r\n currentPage &&\r\n this.totalPages &&\r\n this.clickHandler(e, pages[pages.indexOf(currentPage) + 1] ?? this.totalPages)\r\n }\r\n >\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n </dso-responsive-element>\r\n );\r\n }\r\n\r\n private getAvailablePositions(sizePositions: number) {\r\n if (sizePositions % 2 === 0) {\r\n // Even aantal posities zorgt voor een scheve pagination\r\n return sizePositions - 1;\r\n }\r\n if (sizePositions <= 3) {\r\n // Voor het kunnen tonen van de vorige knop, volgende knop en 1 pagina zijn minimaal 3 posities nodig.\r\n return 3;\r\n }\r\n\r\n return sizePositions;\r\n }\r\n\r\n private getPages(currentPage: number, availablePositions: number, totalPages: number): number[] {\r\n if (totalPages + 2 <= availablePositions) {\r\n // + 2 voor de vorige en volgende knop\r\n return Array.from({ length: totalPages }, (_value, i) => i + 1);\r\n }\r\n\r\n if (availablePositions === 3) {\r\n return [currentPage];\r\n }\r\n\r\n if (availablePositions === 5) {\r\n return [1, currentPage, totalPages];\r\n }\r\n\r\n return [1, ...this.getPageRange(currentPage, availablePositions, totalPages), totalPages];\r\n }\r\n\r\n private getPageRange(currentPage: number, availablePositions: number, totalPages: number): number[] {\r\n const range: number[] = [];\r\n\r\n const positionRange = Math.floor(availablePositions / 2);\r\n\r\n if (currentPage <= positionRange) {\r\n for (let i = 2; i <= availablePositions - 4; i++) {\r\n range.push(i);\r\n }\r\n }\r\n\r\n if (currentPage >= positionRange && currentPage <= totalPages - positionRange) {\r\n if (positionRange === 1) {\r\n if (currentPage > totalPages - 2) {\r\n range.push(totalPages - 2);\r\n }\r\n\r\n range.push(currentPage);\r\n\r\n if (currentPage < 3) {\r\n range.push(3);\r\n }\r\n }\r\n\r\n if (positionRange > 1) {\r\n const pagesBeforeOrAfter = positionRange - 3;\r\n\r\n for (\r\n let i = Math.min(currentPage - pagesBeforeOrAfter, totalPages - positionRange);\r\n i <= Math.max(currentPage + pagesBeforeOrAfter, positionRange);\r\n i++\r\n ) {\r\n if (i > 2 && i < totalPages - 1) {\r\n range.push(i);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (currentPage > totalPages - positionRange) {\r\n for (let i = totalPages - (availablePositions - 5); i <= totalPages - 1; i++) {\r\n range.push(i);\r\n }\r\n }\r\n\r\n return range.filter((v, i, a) => a.indexOf(v) === i);\r\n }\r\n\r\n private showEllipsisAfterFirst(pages: number[], page: number, availablePositions: number): boolean {\r\n const totalPages = pages[pages.length - 1];\r\n if (!totalPages) {\r\n throw new Error(\"No totalPages\");\r\n }\r\n\r\n return (\r\n pages.indexOf(page) === 0 &&\r\n totalPages > availablePositions - 2 &&\r\n !pages.some((p) => p === 2) &&\r\n availablePositions >= 7\r\n );\r\n }\r\n\r\n private showEllipsisBeforeLast(pages: number[], page: number, availablePositions: number): boolean {\r\n const totalPages = pages[pages.length - 1];\r\n if (!totalPages) {\r\n throw new Error(\"No totalPages\");\r\n }\r\n\r\n return (\r\n pages.indexOf(page) === pages.length - 1 &&\r\n totalPages > availablePositions - 2 &&\r\n !pages.some((p) => p === totalPages - 1) &&\r\n availablePositions >= 7\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"dso-pagination.js","mappings":"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","names":[],"sources":["src/components/pagination/pagination.scss?tag=dso-pagination&encapsulation=shadow","src/components/pagination/pagination.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/pagination\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.pagination {\r\n @include pagination.root();\r\n}\r\n\r\n.dso-page-hidden {\r\n visibility: hidden;\r\n}\r\n\r\n.sr-only.sr-only {\r\n // class daisy-chained to prevent overwrites by other more specific styling set on this element.\r\n @include utilities.sr-only();\r\n}\r\n","import {\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Listen,\r\n Prop,\r\n State,\r\n} from \"@stencil/core\";\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\n\r\nimport { ResponsiveElementSize } from \"../responsive-element/responsive-element.interfaces\";\r\nimport { PaginationSelectPageEvent } from \"./pagination.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-pagination\",\r\n styleUrl: \"pagination.scss\",\r\n shadow: true,\r\n})\r\nexport class Pagination implements ComponentInterface {\r\n private sizePositionsMap: Record<ResponsiveElementSize, number> = {\r\n small: 7,\r\n medium: 9,\r\n large: 11,\r\n };\r\n\r\n private responsiveElement?: HTMLDsoResponsiveElementElement;\r\n\r\n @Element()\r\n host!: HTMLDsoPaginationElement;\r\n\r\n @State()\r\n availablePositions?: number;\r\n /**\r\n * Total pages\r\n */\r\n @Prop()\r\n totalPages?: number;\r\n\r\n /**\r\n * Current page\r\n */\r\n @Prop()\r\n currentPage?: number;\r\n\r\n /**\r\n * This function is called to format the href\r\n */\r\n @Prop()\r\n formatHref: (page: number) => string = (page) => \"#\" + page;\r\n\r\n /**\r\n * Emitted on page select\r\n */\r\n @Event()\r\n dsoSelectPage!: EventEmitter<PaginationSelectPageEvent>;\r\n\r\n /**\r\n * Listens to the dsoSizeChange event on Responsive Element\r\n */\r\n @Listen(\"dsoSizeChange\")\r\n sizeChangeHandler(event: CustomEvent<ResponsiveElementSize>) {\r\n this.availablePositions = this.getAvailablePositions(this.sizePositionsMap[event.detail]);\r\n }\r\n\r\n private clickHandler(e: MouseEvent, page: number) {\r\n this.dsoSelectPage.emit({\r\n originalEvent: e,\r\n page,\r\n isModifiedEvent: isModifiedEvent(e),\r\n });\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.responsiveElement\r\n ?.getSize()\r\n .then(\r\n (size: ResponsiveElementSize) =>\r\n (this.availablePositions = this.getAvailablePositions(this.sizePositionsMap[size])),\r\n );\r\n }\r\n\r\n render() {\r\n if (!this.totalPages) {\r\n return null;\r\n }\r\n\r\n if (this.availablePositions === undefined) {\r\n return <dso-responsive-element ref={(element) => (this.responsiveElement = element)}></dso-responsive-element>;\r\n }\r\n\r\n const availablePositions = this.availablePositions;\r\n\r\n const currentPage = this.currentPage ?? 0;\r\n\r\n const pages: number[] = this.getPages(currentPage, this.availablePositions, this.totalPages);\r\n\r\n return (\r\n <dso-responsive-element ref={(element) => (this.responsiveElement = element)}>\r\n <nav class=\"pagination\" aria-label=\"Paginering\">\r\n <ul>\r\n <li class={currentPage <= 1 || currentPage > this.totalPages ? \"dso-page-hidden\" : undefined}>\r\n <a\r\n href={this.formatHref(pages[pages.indexOf(currentPage) - 1] ?? 1)}\r\n aria-label=\"Vorige\"\r\n onClick={(e) => currentPage && this.clickHandler(e, pages[pages.indexOf(currentPage) - 1] ?? 1)}\r\n >\r\n <dso-icon icon=\"chevron-left\"></dso-icon>\r\n </a>\r\n </li>\r\n {pages.map((page) => (\r\n <>\r\n {this.showEllipsisBeforeLast(pages, page, availablePositions) && (\r\n <li>\r\n <span>...</span>\r\n </li>\r\n )}\r\n\r\n <li key={page} class={currentPage === page ? \"active\" : undefined}>\r\n {currentPage === page ? (\r\n <span aria-current=\"page\">{page}</span>\r\n ) : (\r\n <a href={this.formatHref(page)} onClick={(e) => this.clickHandler(e, page)}>\r\n {page}\r\n </a>\r\n )}\r\n {page === this.totalPages ? <span class=\"sr-only\"> (laatste pagina)</span> : null}\r\n </li>\r\n\r\n {this.showEllipsisAfterFirst(pages, page, availablePositions) && (\r\n <li>\r\n <span>...</span>\r\n </li>\r\n )}\r\n </>\r\n ))}\r\n <li class={currentPage < 1 || currentPage >= this.totalPages ? \"dso-page-hidden\" : undefined}>\r\n <a\r\n href={this.formatHref(pages[pages.indexOf(currentPage) + 1] ?? this.totalPages)}\r\n aria-label=\"Volgende\"\r\n onClick={(e) =>\r\n currentPage &&\r\n this.totalPages &&\r\n this.clickHandler(e, pages[pages.indexOf(currentPage) + 1] ?? this.totalPages)\r\n }\r\n >\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n </dso-responsive-element>\r\n );\r\n }\r\n\r\n private getAvailablePositions(sizePositions: number) {\r\n if (sizePositions % 2 === 0) {\r\n // Even aantal posities zorgt voor een scheve pagination\r\n return sizePositions - 1;\r\n }\r\n if (sizePositions <= 3) {\r\n // Voor het kunnen tonen van de vorige knop, volgende knop en 1 pagina zijn minimaal 3 posities nodig.\r\n return 3;\r\n }\r\n\r\n return sizePositions;\r\n }\r\n\r\n private getPages(currentPage: number, availablePositions: number, totalPages: number): number[] {\r\n if (totalPages + 2 <= availablePositions) {\r\n // + 2 voor de vorige en volgende knop\r\n return Array.from({ length: totalPages }, (_value, i) => i + 1);\r\n }\r\n\r\n if (availablePositions === 3) {\r\n return [currentPage];\r\n }\r\n\r\n if (availablePositions === 5) {\r\n return [1, currentPage, totalPages];\r\n }\r\n\r\n return [1, ...this.getPageRange(currentPage, availablePositions, totalPages), totalPages];\r\n }\r\n\r\n private getPageRange(currentPage: number, availablePositions: number, totalPages: number): number[] {\r\n const range: number[] = [];\r\n\r\n const positionRange = Math.floor(availablePositions / 2);\r\n\r\n if (currentPage <= positionRange) {\r\n for (let i = 2; i <= availablePositions - 4; i++) {\r\n range.push(i);\r\n }\r\n }\r\n\r\n if (currentPage >= positionRange && currentPage <= totalPages - positionRange) {\r\n if (positionRange === 1) {\r\n if (currentPage > totalPages - 2) {\r\n range.push(totalPages - 2);\r\n }\r\n\r\n range.push(currentPage);\r\n\r\n if (currentPage < 3) {\r\n range.push(3);\r\n }\r\n }\r\n\r\n if (positionRange > 1) {\r\n const pagesBeforeOrAfter = positionRange - 3;\r\n\r\n for (\r\n let i = Math.min(currentPage - pagesBeforeOrAfter, totalPages - positionRange);\r\n i <= Math.max(currentPage + pagesBeforeOrAfter, positionRange);\r\n i++\r\n ) {\r\n if (i > 2 && i < totalPages - 1) {\r\n range.push(i);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (currentPage > totalPages - positionRange) {\r\n for (let i = totalPages - (availablePositions - 5); i <= totalPages - 1; i++) {\r\n range.push(i);\r\n }\r\n }\r\n\r\n return range.filter((v, i, a) => a.indexOf(v) === i);\r\n }\r\n\r\n private showEllipsisAfterFirst(pages: number[], page: number, availablePositions: number): boolean {\r\n const totalPages = pages[pages.length - 1];\r\n if (!totalPages) {\r\n throw new Error(\"No totalPages\");\r\n }\r\n\r\n return (\r\n pages.indexOf(page) === 0 &&\r\n totalPages > availablePositions - 2 &&\r\n !pages.some((p) => p === 2) &&\r\n availablePositions >= 7\r\n );\r\n }\r\n\r\n private showEllipsisBeforeLast(pages: number[], page: number, availablePositions: number): boolean {\r\n const totalPages = pages[pages.length - 1];\r\n if (!totalPages) {\r\n throw new Error(\"No totalPages\");\r\n }\r\n\r\n return (\r\n pages.indexOf(page) === pages.length - 1 &&\r\n totalPages > availablePositions - 2 &&\r\n !pages.some((p) => p === totalPages - 1) &&\r\n availablePositions >= 7\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -20,10 +20,10 @@ const PlekinfoCard = /*@__PURE__*/ proxyCustomElement(class PlekinfoCard extends
20
20
  this.__registerHost();
21
21
  this.__attachShadow();
22
22
  this.dsoPlekinfoCardClick = createEvent(this, "dsoPlekinfoCardClick", 7);
23
- this.wijzigactie = undefined;
24
- this.href = undefined;
23
+ /**
24
+ * Opens the urls in a new window or tab
25
+ */
25
26
  this.targetBlank = false;
26
- this.active = undefined;
27
27
  }
28
28
  connectedCallback() {
29
29
  this.mutationObserver = new MutationObserver(() => forceUpdate(this.host));
@@ -1 +1 @@
1
- {"file":"dso-plekinfo-card.js","mappings":"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","names":[],"sources":["src/components/plekinfo-card/plekinfo-card.scss?tag=dso-plekinfo-card&encapsulation=shadow","src/components/plekinfo-card/plekinfo-card.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/plekinfo-card\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n\r\n@use \"~dso-toolkit/src/components/insert/insert\";\r\n@use \"~dso-toolkit/src/components/delete/delete\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.dso-plekinfo-card-container {\r\n padding-block: units.$u2;\r\n padding-inline: units.$u2;\r\n inline-size: 100%;\r\n\r\n .dso-plekinfo-card-heading {\r\n display: flex;\r\n align-items: start;\r\n column-gap: units.$u1;\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-min) {\r\n flex-wrap: wrap;\r\n }\r\n }\r\n\r\n .dso-plekinfo-card-heading + .dso-plekinfo-card-content {\r\n margin-block-start: units.$u1;\r\n }\r\n\r\n .dso-plekinfo-card-symbol {\r\n grid-row: span 2;\r\n\r\n margin-inline-end: units.$u1;\r\n }\r\n\r\n &:has(.dso-plekinfo-card-heading a:is(:hover, :focus-visible)) {\r\n background-color: plekinfo-card.$background-color-hover;\r\n }\r\n}\r\n\r\nins.dso-plekinfo-card-container {\r\n &:has(.dso-plekinfo-card-heading a:is(:hover, :focus-visible)) {\r\n background-color: plekinfo-card.$background-color-hover-voegtoe;\r\n }\r\n}\r\n\r\ndel.dso-plekinfo-card-container {\r\n &:has(.dso-plekinfo-card-heading a:is(:hover, :focus-visible)) {\r\n background-color: plekinfo-card.$background-color-hover-verwijder;\r\n }\r\n}\r\n\r\n:host([active]:not([active=\"false\"])) {\r\n .dso-plekinfo-card-container {\r\n background-color: plekinfo-card.$background-color-active;\r\n }\r\n\r\n ins.dso-plekinfo-card-container {\r\n background-color: plekinfo-card.$background-color-active-voegtoe;\r\n }\r\n\r\n del.dso-plekinfo-card-container {\r\n background-color: plekinfo-card.$background-color-active-verwijder;\r\n }\r\n}\r\n\r\n:host([has-symbol]) {\r\n .dso-plekinfo-card-container {\r\n display: grid;\r\n grid-template-columns: 1fr minmax(0, 100%);\r\n\r\n .dso-plekinfo-card-heading,\r\n .dso-plekinfo-card-content {\r\n grid-column: 2 /-1;\r\n }\r\n }\r\n}\r\n\r\n::slotted([slot=\"meta\"]) {\r\n display: flex !important;\r\n justify-content: space-between !important;\r\n flex-shrink: 0 !important;\r\n align-self: end !important;\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-min) {\r\n flex-basis: 100% !important;\r\n margin-block-start: units.$u1 !important;\r\n }\r\n}\r\n\r\n::slotted([slot=\"heading\"]) {\r\n display: flex !important;\r\n align-items: center !important;\r\n\r\n font-size: 1.125em !important;\r\n font-weight: 700 !important;\r\n color: colors.$bosgroen !important;\r\n line-height: 1.25 !important;\r\n\r\n margin-block-end: 0 !important;\r\n margin-block-start: 0 !important;\r\n}\r\n\r\n::slotted([slot=\"content\"]) {\r\n --_dt-rich-content-margin-block: #{units.$u1};\r\n --_dt-rich-content-margin-block-end: 0;\r\n --_dt-rich-content-margin-block-start: 0;\r\n}\r\n\r\n::slotted([slot=\"interaction\"]) {\r\n display: flex !important;\r\n justify-content: space-between !important;\r\n margin-inline-start: auto !important;\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-min) {\r\n flex-basis: 100% !important;\r\n margin-block-start: units.$u2 !important;\r\n }\r\n}\r\n\r\n.heading-anchor {\r\n display: flex;\r\n flex-wrap: nowrap;\r\n\r\n color: plekinfo-card.$heading-anchor-color;\r\n text-decoration: none;\r\n\r\n &:hover {\r\n color: plekinfo-card.$heading-anchor-hover-color;\r\n text-decoration: underline;\r\n }\r\n\r\n &:visited {\r\n color: plekinfo-card.$heading-anchor-color;\r\n }\r\n\r\n dso-icon {\r\n flex-shrink: 0;\r\n align-self: end;\r\n }\r\n\r\n .sr-only {\r\n @include utilities.sr-only();\r\n }\r\n}\r\n","import {\r\n Fragment,\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Host,\r\n Prop,\r\n forceUpdate,\r\n FunctionalComponent,\r\n} from \"@stencil/core\";\r\n\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\n\r\nimport { PlekinfoCardClickEvent, PlekinfoWijzigactie } from \"./plekinfo-card.interfaces\";\r\n\r\ninterface WrapWijzigactieProps {\r\n wijzigactie: PlekinfoWijzigactie | undefined;\r\n}\r\n\r\nconst WrapWijzigactie: FunctionalComponent<WrapWijzigactieProps> = ({ wijzigactie }, children) => {\r\n if (wijzigactie === \"voegtoe\") {\r\n return <ins class=\"dso-plekinfo-card-container\">{children}</ins>;\r\n }\r\n\r\n if (wijzigactie === \"verwijder\") {\r\n return <del class=\"dso-plekinfo-card-container\">{children}</del>;\r\n }\r\n\r\n return <div class=\"dso-plekinfo-card-container\">{children}</div>;\r\n};\r\n\r\n/**\r\n * @slot symbol - An optional slot to place a symbol, representing the plekinfo item, in.\r\n * @slot heading - A slot to place the title of the card in.\r\n * @slot meta - An optional slot to place a `Label` in.\r\n * @slot content - An optional slot to place `Rich Content` in.\r\n * @slot interaction - A slot for the `SlideToggle`s elments.\r\n *\r\n */\r\n@Component({\r\n tag: \"dso-plekinfo-card\",\r\n styleUrl: \"plekinfo-card.scss\",\r\n shadow: true,\r\n})\r\nexport class PlekinfoCard implements ComponentInterface {\r\n @Element()\r\n host!: HTMLDsoPlekinfoCardElement;\r\n\r\n /**\r\n * An optional 'wijzigactie' that signals if the plekinfo on the card is added or removed.\r\n */\r\n @Prop({ reflect: true })\r\n wijzigactie?: PlekinfoWijzigactie;\r\n\r\n /**\r\n * The URL to which the PlekinfoCard heading links.\r\n */\r\n @Prop({ reflect: true })\r\n href!: string | undefined;\r\n\r\n /**\r\n * Opens the urls in a new window or tab\r\n */\r\n @Prop()\r\n targetBlank: boolean = false;\r\n\r\n /**\r\n * Makes the PlekinfoCard active.\r\n */\r\n @Prop({ reflect: true })\r\n active?: boolean;\r\n\r\n /**\r\n * Emitted when the PlekinfoCard heading is clicked.\r\n */\r\n @Event()\r\n dsoPlekinfoCardClick!: EventEmitter<PlekinfoCardClickEvent>;\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.href) {\r\n return;\r\n }\r\n\r\n return this.dsoPlekinfoCardClick.emit({ originalEvent: e, isModifiedEvent: isModifiedEvent(e) });\r\n }\r\n\r\n get symbolSlottedElement() {\r\n return this.host.querySelector(\"[slot='symbol']\");\r\n }\r\n\r\n get metaSlottedElement() {\r\n return this.host.querySelector(\"[slot='meta']\");\r\n }\r\n\r\n get interaction() {\r\n return this.host.querySelector(\"[slot='interaction']\");\r\n }\r\n\r\n render() {\r\n const hasSymbol = this.symbolSlottedElement !== null;\r\n\r\n return (\r\n <Host has-symbol={hasSymbol}>\r\n <WrapWijzigactie wijzigactie={this.wijzigactie}>\r\n <div class=\"dso-plekinfo-card-symbol\" hidden={!hasSymbol}>\r\n <slot name=\"symbol\" />\r\n </div>\r\n <div class=\"dso-plekinfo-card-heading\">\r\n {this.href ? (\r\n <a\r\n href={this.href}\r\n target={this.targetBlank ? \"_blank\" : undefined}\r\n rel={this.targetBlank ? \"noopener noreferrer\" : undefined}\r\n class=\"heading-anchor\"\r\n onClick={(e) => this.clickEventHandler(e)}\r\n >\r\n <slot name=\"heading\" />\r\n {this.targetBlank ? (\r\n <>\r\n <dso-icon icon=\"external-link\" />\r\n <span class=\"sr-only\">(Opent andere website in nieuw tabblad)</span>\r\n </>\r\n ) : (\r\n <dso-icon icon=\"chevron-right\" />\r\n )}\r\n </a>\r\n ) : (\r\n <slot name=\"heading\" />\r\n )}\r\n {this.metaSlottedElement !== null && <slot name=\"meta\" />}\r\n {this.interaction !== null && <slot name=\"interaction\" />}\r\n </div>\r\n <div class=\"dso-plekinfo-card-content\">\r\n <slot name=\"content\" />\r\n </div>\r\n </WrapWijzigactie>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"dso-plekinfo-card.js","mappings":";;;;AAAA,MAAM,eAAe,GAAG,onIAAonI,CAAC;AAC7oI,8BAAe,eAAe;;ACqB9B,MAAM,eAAe,GAA8C,CAAC,EAAE,WAAW,EAAE,EAAE,QAAQ;IAC3F,IAAI,WAAW,KAAK,SAAS,EAAE;QAC7B,OAAO,WAAK,KAAK,EAAC,6BAA6B,IAAE,QAAQ,CAAO,CAAC;KAClE;IAED,IAAI,WAAW,KAAK,WAAW,EAAE;QAC/B,OAAO,WAAK,KAAK,EAAC,6BAA6B,IAAE,QAAQ,CAAO,CAAC;KAClE;IAED,OAAO,WAAK,KAAK,EAAC,6BAA6B,IAAE,QAAQ,CAAO,CAAC;AACnE,CAAC,CAAC;MAeW,YAAY;IALzB;;;;;;;;QAyBE,gBAAW,GAAY,KAAK,CAAC;KAyF9B;IAzEC,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,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACpD,OAAO;SACR;QAED,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KAClG;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;KACnD;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;KACjD;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;KACxD;IAED,MAAM;QACJ,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,KAAK,IAAI,CAAC;QAErD,QACE,EAAC,IAAI,mEAAa,SAAS,IACzB,EAAC,eAAe,qDAAC,WAAW,EAAE,IAAI,CAAC,WAAW,IAC5C,4DAAK,KAAK,EAAC,0BAA0B,EAAC,MAAM,EAAE,CAAC,SAAS,IACtD,6DAAM,IAAI,EAAC,QAAQ,GAAG,CAClB,EACN,4DAAK,KAAK,EAAC,2BAA2B,IACnC,IAAI,CAAC,IAAI,IACR,SACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,WAAW,GAAG,QAAQ,GAAG,SAAS,EAC/C,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,qBAAqB,GAAG,SAAS,EACzD,KAAK,EAAC,gBAAgB,EACtB,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAEzC,YAAM,IAAI,EAAC,SAAS,GAAG,EACtB,IAAI,CAAC,WAAW,IACf,kBACE,gBAAU,IAAI,EAAC,eAAe,GAAG,EACjC,YAAM,KAAK,EAAC,SAAS,8CAA+C,CACnE,KAEH,gBAAU,IAAI,EAAC,eAAe,GAAG,CAClC,CACC,KAEJ,YAAM,IAAI,EAAC,SAAS,GAAG,CACxB,EACA,IAAI,CAAC,kBAAkB,KAAK,IAAI,IAAI,6DAAM,IAAI,EAAC,MAAM,GAAG,EACxD,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,6DAAM,IAAI,EAAC,aAAa,GAAG,CACrD,EACN,4DAAK,KAAK,EAAC,2BAA2B,IACpC,6DAAM,IAAI,EAAC,SAAS,GAAG,CACnB,CACU,CACb,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/plekinfo-card/plekinfo-card.scss?tag=dso-plekinfo-card&encapsulation=shadow","src/components/plekinfo-card/plekinfo-card.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/plekinfo-card\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n\r\n@use \"~dso-toolkit/src/components/insert/insert\";\r\n@use \"~dso-toolkit/src/components/delete/delete\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.dso-plekinfo-card-container {\r\n padding-block: units.$u2;\r\n padding-inline: units.$u2;\r\n inline-size: 100%;\r\n\r\n .dso-plekinfo-card-heading {\r\n display: flex;\r\n align-items: start;\r\n column-gap: units.$u1;\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-min) {\r\n flex-wrap: wrap;\r\n }\r\n }\r\n\r\n .dso-plekinfo-card-heading + .dso-plekinfo-card-content {\r\n margin-block-start: units.$u1;\r\n }\r\n\r\n .dso-plekinfo-card-symbol {\r\n grid-row: span 2;\r\n\r\n margin-inline-end: units.$u1;\r\n }\r\n\r\n &:has(.dso-plekinfo-card-heading a:is(:hover, :focus-visible)) {\r\n background-color: plekinfo-card.$background-color-hover;\r\n }\r\n}\r\n\r\nins.dso-plekinfo-card-container {\r\n &:has(.dso-plekinfo-card-heading a:is(:hover, :focus-visible)) {\r\n background-color: plekinfo-card.$background-color-hover-voegtoe;\r\n }\r\n}\r\n\r\ndel.dso-plekinfo-card-container {\r\n &:has(.dso-plekinfo-card-heading a:is(:hover, :focus-visible)) {\r\n background-color: plekinfo-card.$background-color-hover-verwijder;\r\n }\r\n}\r\n\r\n:host([active]:not([active=\"false\"])) {\r\n .dso-plekinfo-card-container {\r\n background-color: plekinfo-card.$background-color-active;\r\n }\r\n\r\n ins.dso-plekinfo-card-container {\r\n background-color: plekinfo-card.$background-color-active-voegtoe;\r\n }\r\n\r\n del.dso-plekinfo-card-container {\r\n background-color: plekinfo-card.$background-color-active-verwijder;\r\n }\r\n}\r\n\r\n:host([has-symbol]) {\r\n .dso-plekinfo-card-container {\r\n display: grid;\r\n grid-template-columns: 1fr minmax(0, 100%);\r\n\r\n .dso-plekinfo-card-heading,\r\n .dso-plekinfo-card-content {\r\n grid-column: 2 /-1;\r\n }\r\n }\r\n}\r\n\r\n::slotted([slot=\"meta\"]) {\r\n display: flex !important;\r\n justify-content: space-between !important;\r\n flex-shrink: 0 !important;\r\n align-self: end !important;\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-min) {\r\n flex-basis: 100% !important;\r\n margin-block-start: units.$u1 !important;\r\n }\r\n}\r\n\r\n::slotted([slot=\"heading\"]) {\r\n display: flex !important;\r\n align-items: center !important;\r\n\r\n font-size: 1.125em !important;\r\n font-weight: 700 !important;\r\n color: colors.$bosgroen !important;\r\n line-height: 1.25 !important;\r\n\r\n margin-block-end: 0 !important;\r\n margin-block-start: 0 !important;\r\n}\r\n\r\n::slotted([slot=\"content\"]) {\r\n --_dt-rich-content-margin-block: #{units.$u1};\r\n --_dt-rich-content-margin-block-end: 0;\r\n --_dt-rich-content-margin-block-start: 0;\r\n}\r\n\r\n::slotted([slot=\"interaction\"]) {\r\n display: flex !important;\r\n justify-content: space-between !important;\r\n margin-inline-start: auto !important;\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-min) {\r\n flex-basis: 100% !important;\r\n margin-block-start: units.$u2 !important;\r\n }\r\n}\r\n\r\n.heading-anchor {\r\n display: flex;\r\n flex-wrap: nowrap;\r\n\r\n color: plekinfo-card.$heading-anchor-color;\r\n text-decoration: none;\r\n\r\n &:hover {\r\n color: plekinfo-card.$heading-anchor-hover-color;\r\n text-decoration: underline;\r\n }\r\n\r\n &:visited {\r\n color: plekinfo-card.$heading-anchor-color;\r\n }\r\n\r\n dso-icon {\r\n flex-shrink: 0;\r\n align-self: end;\r\n }\r\n\r\n .sr-only {\r\n @include utilities.sr-only();\r\n }\r\n}\r\n","import {\r\n Fragment,\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Host,\r\n Prop,\r\n forceUpdate,\r\n FunctionalComponent,\r\n} from \"@stencil/core\";\r\n\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\n\r\nimport { PlekinfoCardClickEvent, PlekinfoWijzigactie } from \"./plekinfo-card.interfaces\";\r\n\r\ninterface WrapWijzigactieProps {\r\n wijzigactie: PlekinfoWijzigactie | undefined;\r\n}\r\n\r\nconst WrapWijzigactie: FunctionalComponent<WrapWijzigactieProps> = ({ wijzigactie }, children) => {\r\n if (wijzigactie === \"voegtoe\") {\r\n return <ins class=\"dso-plekinfo-card-container\">{children}</ins>;\r\n }\r\n\r\n if (wijzigactie === \"verwijder\") {\r\n return <del class=\"dso-plekinfo-card-container\">{children}</del>;\r\n }\r\n\r\n return <div class=\"dso-plekinfo-card-container\">{children}</div>;\r\n};\r\n\r\n/**\r\n * @slot symbol - An optional slot to place a symbol, representing the plekinfo item, in.\r\n * @slot heading - A slot to place the title of the card in.\r\n * @slot meta - An optional slot to place a `Label` in.\r\n * @slot content - An optional slot to place `Rich Content` in.\r\n * @slot interaction - A slot for the `SlideToggle`s elments.\r\n *\r\n */\r\n@Component({\r\n tag: \"dso-plekinfo-card\",\r\n styleUrl: \"plekinfo-card.scss\",\r\n shadow: true,\r\n})\r\nexport class PlekinfoCard implements ComponentInterface {\r\n @Element()\r\n host!: HTMLDsoPlekinfoCardElement;\r\n\r\n /**\r\n * An optional 'wijzigactie' that signals if the plekinfo on the card is added or removed.\r\n */\r\n @Prop({ reflect: true })\r\n wijzigactie?: PlekinfoWijzigactie;\r\n\r\n /**\r\n * The URL to which the PlekinfoCard heading links.\r\n */\r\n @Prop({ reflect: true })\r\n href!: string | undefined;\r\n\r\n /**\r\n * Opens the urls in a new window or tab\r\n */\r\n @Prop()\r\n targetBlank: boolean = false;\r\n\r\n /**\r\n * Makes the PlekinfoCard active.\r\n */\r\n @Prop({ reflect: true })\r\n active?: boolean;\r\n\r\n /**\r\n * Emitted when the PlekinfoCard heading is clicked.\r\n */\r\n @Event()\r\n dsoPlekinfoCardClick!: EventEmitter<PlekinfoCardClickEvent>;\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.href) {\r\n return;\r\n }\r\n\r\n return this.dsoPlekinfoCardClick.emit({ originalEvent: e, isModifiedEvent: isModifiedEvent(e) });\r\n }\r\n\r\n get symbolSlottedElement() {\r\n return this.host.querySelector(\"[slot='symbol']\");\r\n }\r\n\r\n get metaSlottedElement() {\r\n return this.host.querySelector(\"[slot='meta']\");\r\n }\r\n\r\n get interaction() {\r\n return this.host.querySelector(\"[slot='interaction']\");\r\n }\r\n\r\n render() {\r\n const hasSymbol = this.symbolSlottedElement !== null;\r\n\r\n return (\r\n <Host has-symbol={hasSymbol}>\r\n <WrapWijzigactie wijzigactie={this.wijzigactie}>\r\n <div class=\"dso-plekinfo-card-symbol\" hidden={!hasSymbol}>\r\n <slot name=\"symbol\" />\r\n </div>\r\n <div class=\"dso-plekinfo-card-heading\">\r\n {this.href ? (\r\n <a\r\n href={this.href}\r\n target={this.targetBlank ? \"_blank\" : undefined}\r\n rel={this.targetBlank ? \"noopener noreferrer\" : undefined}\r\n class=\"heading-anchor\"\r\n onClick={(e) => this.clickEventHandler(e)}\r\n >\r\n <slot name=\"heading\" />\r\n {this.targetBlank ? (\r\n <>\r\n <dso-icon icon=\"external-link\" />\r\n <span class=\"sr-only\">(Opent andere website in nieuw tabblad)</span>\r\n </>\r\n ) : (\r\n <dso-icon icon=\"chevron-right\" />\r\n )}\r\n </a>\r\n ) : (\r\n <slot name=\"heading\" />\r\n )}\r\n {this.metaSlottedElement !== null && <slot name=\"meta\" />}\r\n {this.interaction !== null && <slot name=\"interaction\" />}\r\n </div>\r\n <div class=\"dso-plekinfo-card-content\">\r\n <slot name=\"content\" />\r\n </div>\r\n </WrapWijzigactie>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -8,8 +8,13 @@ const ProgressBar = /*@__PURE__*/ proxyCustomElement(class ProgressBar extends H
8
8
  super();
9
9
  this.__registerHost();
10
10
  this.__attachShadow();
11
- this.progress = undefined;
11
+ /**
12
+ * From where progress is made.
13
+ */
12
14
  this.min = 0;
15
+ /**
16
+ * When the operation completes.
17
+ */
13
18
  this.max = 100;
14
19
  }
15
20
  render() {
@@ -1 +1 @@
1
- {"file":"dso-progress-bar.js","mappings":";;AAAA,MAAM,cAAc,GAAG,+eAA+e,CAAC;AACvgB,6BAAe,cAAc;;MCMhB,WAAW;;;;;;mBAWhB,CAAC;mBAMD,GAAG;;IAET,MAAM;QACJ,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,kBAAkB,GAAG,GAAG,cAAc,GAAG,CAAC;QAEhD,QACE,4DAAK,KAAK,EAAC,UAAU,IACnB,6DACE,KAAK,EAAC,cAAc,EACpB,IAAI,EAAC,aAAa,qBACF,oBAAoB,mBACrB,cAAc,mBACd,IAAI,CAAC,GAAG,mBACR,IAAI,CAAC,GAAG,IAEvB,6DAAM,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,kBAAkB,EAAE,EAAE,GAAS,CACnD,EACP,6DAAM,EAAE,EAAC,oBAAoB,IAC3B,8DAAa,CACR,CACH,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/progress-bar/progress-bar.scss?tag=dso-progress-bar&encapsulation=shadow","src/components/progress-bar/progress-bar.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/progress-bar\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n// Todo: Replace .sr-only selector with web component specific selector, no need for .sr-only if we can generate the SCSS\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.progress {\r\n @include progress-bar.root();\r\n}\r\n","import { Component, h, Prop } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"dso-progress-bar\",\r\n styleUrl: \"progress-bar.scss\",\r\n shadow: true,\r\n})\r\nexport class ProgressBar {\r\n /**\r\n * The current progress. Should be between `min` and `max`.\r\n */\r\n @Prop()\r\n progress!: number;\r\n\r\n /**\r\n * From where progress is made.\r\n */\r\n @Prop()\r\n min = 0;\r\n\r\n /**\r\n * When the operation completes.\r\n */\r\n @Prop()\r\n max = 100;\r\n\r\n render() {\r\n const progressNumber = Math.round(this.progress);\r\n const progressPercentage = `${progressNumber}%`;\r\n\r\n return (\r\n <div class=\"progress\">\r\n <span\r\n class=\"progress-bar\"\r\n role=\"progressbar\"\r\n aria-labelledby=\"progress-bar-label\"\r\n aria-valuenow={progressNumber}\r\n aria-valuemin={this.min}\r\n aria-valuemax={this.max}\r\n >\r\n <span style={{ width: `${progressPercentage}` }}></span>\r\n </span>\r\n <span id=\"progress-bar-label\">\r\n <slot></slot>\r\n </span>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"dso-progress-bar.js","mappings":";;AAAA,MAAM,cAAc,GAAG,+eAA+e,CAAC;AACvgB,6BAAe,cAAc;;MCMhB,WAAW;IALxB;;;;;;;QAgBE,QAAG,GAAG,CAAC,CAAC;;;;QAMR,QAAG,GAAG,GAAG,CAAC;KAwBX;IAtBC,MAAM;QACJ,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,kBAAkB,GAAG,GAAG,cAAc,GAAG,CAAC;QAEhD,QACE,4DAAK,KAAK,EAAC,UAAU,IACnB,6DACE,KAAK,EAAC,cAAc,EACpB,IAAI,EAAC,aAAa,qBACF,oBAAoB,mBACrB,cAAc,mBACd,IAAI,CAAC,GAAG,mBACR,IAAI,CAAC,GAAG,IAEvB,6DAAM,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,kBAAkB,EAAE,EAAE,GAAS,CACnD,EACP,6DAAM,EAAE,EAAC,oBAAoB,IAC3B,8DAAa,CACR,CACH,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/progress-bar/progress-bar.scss?tag=dso-progress-bar&encapsulation=shadow","src/components/progress-bar/progress-bar.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/progress-bar\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n// Todo: Replace .sr-only selector with web component specific selector, no need for .sr-only if we can generate the SCSS\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.progress {\r\n @include progress-bar.root();\r\n}\r\n","import { Component, h, Prop } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"dso-progress-bar\",\r\n styleUrl: \"progress-bar.scss\",\r\n shadow: true,\r\n})\r\nexport class ProgressBar {\r\n /**\r\n * The current progress. Should be between `min` and `max`.\r\n */\r\n @Prop()\r\n progress!: number;\r\n\r\n /**\r\n * From where progress is made.\r\n */\r\n @Prop()\r\n min = 0;\r\n\r\n /**\r\n * When the operation completes.\r\n */\r\n @Prop()\r\n max = 100;\r\n\r\n render() {\r\n const progressNumber = Math.round(this.progress);\r\n const progressPercentage = `${progressNumber}%`;\r\n\r\n return (\r\n <div class=\"progress\">\r\n <span\r\n class=\"progress-bar\"\r\n role=\"progressbar\"\r\n aria-labelledby=\"progress-bar-label\"\r\n aria-valuenow={progressNumber}\r\n aria-valuemin={this.min}\r\n aria-valuemax={this.max}\r\n >\r\n <span style={{ width: `${progressPercentage}` }}></span>\r\n </span>\r\n <span id=\"progress-bar-label\">\r\n <slot></slot>\r\n </span>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -11,7 +11,6 @@ const ProjectItem = /*@__PURE__*/ proxyCustomElement(class ProjectItem extends H
11
11
  super();
12
12
  this.__registerHost();
13
13
  this.__attachShadow();
14
- this.label = undefined;
15
14
  }
16
15
  render() {
17
16
  return (h(Fragment, null, h("div", { key: 'b32c96f3ae0a3b156b1f00fd7af9224017f83162', class: "project-item-header" }, h("div", { key: 'c625657f0b8dbc262db30c84492af07c21cb23a3', class: "project-item-title" }, h("slot", { key: '04850d81b1e373c68993c40e26c0a955f6306c9f', name: "title" }), this.label && (h("dso-label", { key: 'a1936df3ee345f56581217d81312f324e383ace5', status: "danger", compact: true }, this.label))), h("div", { key: 'e6548e70221ad64b2a1ab5bbeed28a848d4d1a1c', class: "project-item-actions" }, h("slot", { key: '72da7430b195e6eec765472c1ff6bb0f8f76635c', name: "actions" }))), h("div", { key: 'd28a9d18ea89e64f7ac4fafdbc6d7ccc313fc0e7', class: "project-item-info" }, h("div", { key: '7298f09e13a9a648e88b31468993bcb1de4892f0', class: "project-item-progress" }, h("slot", { key: 'e6593dd6a34963926733dc77148d17d9a20aa481', name: "progress" })), h("div", { key: 'f12eb4f1f9eeb9cbee07d42097b6d3909472bf42', class: "project-item-status" }, h("slot", { key: 'fc868a7759e22495b59ebea7acadf05f3233d6b4', name: "status" })))));