@dso-toolkit/core 67.3.1 → 68.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (702) 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 +29 -22
  16. package/dist/cjs/dso-alert_6.cjs.entry.js.map +1 -1
  17. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js +4 -11
  18. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js.map +1 -1
  19. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js +4 -8
  20. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js.map +1 -1
  21. package/dist/cjs/dso-annotation-kaart.cjs.entry.js +3 -6
  22. package/dist/cjs/dso-annotation-kaart.cjs.entry.js.map +1 -1
  23. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js +49 -31
  24. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js.map +1 -1
  25. package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js +4 -11
  26. package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js.map +1 -1
  27. package/dist/cjs/dso-attachments-counter_2.cjs.entry.js +5 -5
  28. package/dist/cjs/dso-attachments-counter_2.cjs.entry.js.map +1 -1
  29. package/dist/cjs/dso-autosuggest.cjs.entry.js +31 -17
  30. package/dist/cjs/dso-autosuggest.cjs.entry.js.map +1 -1
  31. package/dist/cjs/dso-banner.cjs.entry.js +11 -4
  32. package/dist/cjs/dso-banner.cjs.entry.js.map +1 -1
  33. package/dist/cjs/dso-card-container.cjs.entry.js +5 -2
  34. package/dist/cjs/dso-card-container.cjs.entry.js.map +1 -1
  35. package/dist/cjs/dso-card.cjs.entry.js +3 -6
  36. package/dist/cjs/dso-card.cjs.entry.js.map +1 -1
  37. package/dist/cjs/dso-date-picker-legacy.cjs.entry.js +45 -20
  38. package/dist/cjs/dso-date-picker-legacy.cjs.entry.js.map +1 -1
  39. package/dist/cjs/dso-date-picker.cjs.entry.js +23 -12
  40. package/dist/cjs/dso-date-picker.cjs.entry.js.map +1 -1
  41. package/dist/cjs/dso-document-card.cjs.entry.js +2 -4
  42. package/dist/cjs/dso-document-card.cjs.entry.js.map +1 -1
  43. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +24 -10
  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 +12 -10
  48. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js.map +1 -1
  49. package/dist/cjs/dso-highlight-box.cjs.entry.js +2 -7
  50. package/dist/cjs/dso-highlight-box.cjs.entry.js.map +1 -1
  51. package/dist/cjs/dso-icon.cjs.entry.js +8 -3
  52. package/dist/cjs/dso-icon.cjs.entry.js.map +1 -1
  53. package/dist/cjs/dso-info-button.cjs.entry.js +5 -4
  54. package/dist/cjs/dso-info-button.cjs.entry.js.map +1 -1
  55. package/dist/cjs/dso-info_2.cjs.entry.js +5 -19
  56. package/dist/cjs/dso-info_2.cjs.entry.js.map +1 -1
  57. package/dist/cjs/dso-input-range.cjs.entry.js +6 -9
  58. package/dist/cjs/dso-input-range.cjs.entry.js.map +1 -1
  59. package/dist/cjs/dso-label_2.cjs.entry.js +26 -21
  60. package/dist/cjs/dso-label_2.cjs.entry.js.map +1 -1
  61. package/dist/cjs/dso-legend-item.cjs.entry.js +6 -5
  62. package/dist/cjs/dso-legend-item.cjs.entry.js.map +1 -1
  63. package/dist/cjs/dso-list-button.cjs.entry.js +13 -65
  64. package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -1
  65. package/dist/cjs/dso-logo.cjs.entry.js +10 -7
  66. package/dist/cjs/dso-logo.cjs.entry.js.map +1 -1
  67. package/dist/cjs/dso-map-base-layers.cjs.entry.js +8 -6
  68. package/dist/cjs/dso-map-base-layers.cjs.entry.js.map +1 -1
  69. package/dist/cjs/dso-map-controls.cjs.entry.js +8 -6
  70. package/dist/cjs/dso-map-controls.cjs.entry.js.map +1 -1
  71. package/dist/cjs/dso-map-overlays.cjs.entry.js +8 -6
  72. package/dist/cjs/dso-map-overlays.cjs.entry.js.map +1 -1
  73. package/dist/cjs/dso-mark-bar.cjs.entry.js +6 -6
  74. package/dist/cjs/dso-mark-bar.cjs.entry.js.map +1 -1
  75. package/dist/cjs/dso-modal.cjs.entry.js +21 -8
  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 +5 -5
  80. package/dist/cjs/dso-plekinfo-card.cjs.entry.js.map +1 -1
  81. package/dist/cjs/dso-progress-bar.cjs.entry.js +8 -3
  82. package/dist/cjs/dso-progress-bar.cjs.entry.js.map +1 -1
  83. package/dist/cjs/dso-progress-indicator.cjs.entry.js +3 -6
  84. package/dist/cjs/dso-progress-indicator.cjs.entry.js.map +1 -1
  85. package/dist/cjs/dso-project-item.cjs.entry.js +2 -3
  86. package/dist/cjs/dso-project-item.cjs.entry.js.map +1 -1
  87. package/dist/cjs/dso-renvooi_2.cjs.entry.js +13 -8
  88. package/dist/cjs/dso-renvooi_2.cjs.entry.js.map +1 -1
  89. package/dist/cjs/dso-responsive-element.cjs.entry.js +4 -4
  90. package/dist/cjs/dso-responsive-element.cjs.entry.js.map +1 -1
  91. package/dist/cjs/dso-scrollable.cjs.entry.js +3 -3
  92. package/dist/cjs/dso-scrollable.cjs.entry.js.map +1 -1
  93. package/dist/cjs/dso-skiplink.cjs.entry.js +2 -4
  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 +2 -2
  98. package/dist/cjs/dso-toggletip.cjs.entry.js +11 -7
  99. package/dist/cjs/dso-toggletip.cjs.entry.js.map +1 -1
  100. package/dist/cjs/dso-toolkit.cjs.js +3 -3
  101. package/dist/cjs/dso-toolkit.cjs.js.map +1 -1
  102. package/dist/cjs/dso-tree-view.cjs.entry.js +2 -3
  103. package/dist/cjs/dso-tree-view.cjs.entry.js.map +1 -1
  104. package/dist/cjs/dso-viewer-grid.cjs.entry.js +39 -12
  105. package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -1
  106. package/dist/cjs/dsot-document-component-demo.cjs.entry.js +19 -13
  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 +2 -2
  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.css +31 -3
  129. package/dist/collection/components/alert/alert.i18n.js +2 -0
  130. package/dist/collection/components/alert/alert.i18n.js.map +1 -1
  131. package/dist/collection/components/alert/alert.interfaces.js +2 -0
  132. package/dist/collection/components/alert/alert.interfaces.js.map +1 -0
  133. package/dist/collection/components/alert/alert.js +55 -4
  134. package/dist/collection/components/alert/alert.js.map +1 -1
  135. package/dist/collection/components/annotation/annotation-activiteit/annotation-activiteit.js +16 -9
  136. package/dist/collection/components/annotation/annotation-activiteit/annotation-activiteit.js.map +1 -1
  137. package/dist/collection/components/annotation/annotation-gebiedsaanwijzing/annotation-gebiedsaanwijzing.js +9 -5
  138. package/dist/collection/components/annotation/annotation-gebiedsaanwijzing/annotation-gebiedsaanwijzing.js.map +1 -1
  139. package/dist/collection/components/annotation/annotation-kaart/annotation-kaart.js +7 -4
  140. package/dist/collection/components/annotation/annotation-kaart/annotation-kaart.js.map +1 -1
  141. package/dist/collection/components/annotation/annotation-locatie/annotation-locatie.js +9 -5
  142. package/dist/collection/components/annotation/annotation-locatie/annotation-locatie.js.map +1 -1
  143. package/dist/collection/components/annotation/annotation-omgevingsnormwaarde/annotation-omgevingsnormwaarde.js +16 -9
  144. package/dist/collection/components/annotation/annotation-omgevingsnormwaarde/annotation-omgevingsnormwaarde.js.map +1 -1
  145. package/dist/collection/components/attachments-counter/attachments-counter.js +3 -4
  146. package/dist/collection/components/attachments-counter/attachments-counter.js.map +1 -1
  147. package/dist/collection/components/autosuggest/autosuggest.js +43 -15
  148. package/dist/collection/components/autosuggest/autosuggest.js.map +1 -1
  149. package/dist/collection/components/badge/badge.js +3 -4
  150. package/dist/collection/components/badge/badge.js.map +1 -1
  151. package/dist/collection/components/banner/banner.js +16 -3
  152. package/dist/collection/components/banner/banner.js.map +1 -1
  153. package/dist/collection/components/card/card.js +8 -7
  154. package/dist/collection/components/card/card.js.map +1 -1
  155. package/dist/collection/components/card-container/card-container.js +6 -1
  156. package/dist/collection/components/card-container/card-container.js.map +1 -1
  157. package/dist/collection/components/date-picker/date-picker.js +42 -11
  158. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  159. package/dist/collection/components/date-picker-legacy/date-picker-legacy.js +68 -19
  160. package/dist/collection/components/date-picker-legacy/date-picker-legacy.js.map +1 -1
  161. package/dist/collection/components/document-card/document-card.js +5 -5
  162. package/dist/collection/components/document-card/document-card.js.map +1 -1
  163. package/dist/collection/components/document-component/document-component.js +90 -24
  164. package/dist/collection/components/document-component/document-component.js.map +1 -1
  165. package/dist/collection/components/document-component-demo/document-component.demo.js +26 -12
  166. package/dist/collection/components/document-component-demo/document-component.demo.js.map +1 -1
  167. package/dist/collection/components/dropdown-menu/dropdown-menu.js +36 -8
  168. package/dist/collection/components/dropdown-menu/dropdown-menu.js.map +1 -1
  169. package/dist/collection/components/expandable/expandable.js +9 -2
  170. package/dist/collection/components/expandable/expandable.js.map +1 -1
  171. package/dist/collection/components/header/header.js +40 -14
  172. package/dist/collection/components/header/header.js.map +1 -1
  173. package/dist/collection/components/helpcenter-panel/helpcenter-panel.js +14 -8
  174. package/dist/collection/components/helpcenter-panel/helpcenter-panel.js.map +1 -1
  175. package/dist/collection/components/highlight-box/highlight-box.js +11 -8
  176. package/dist/collection/components/highlight-box/highlight-box.js.map +1 -1
  177. package/dist/collection/components/icon/icon.js +5 -4
  178. package/dist/collection/components/icon/icon.js.map +1 -1
  179. package/dist/collection/components/image-overlay/image-overlay.js +4 -3
  180. package/dist/collection/components/image-overlay/image-overlay.js.map +1 -1
  181. package/dist/collection/components/info/info.js +5 -5
  182. package/dist/collection/components/info/info.js.map +1 -1
  183. package/dist/collection/components/info-button/info-button.js +10 -3
  184. package/dist/collection/components/info-button/info-button.js.map +1 -1
  185. package/dist/collection/components/input-range/input-range.js +19 -8
  186. package/dist/collection/components/input-range/input-range.js.map +1 -1
  187. package/dist/collection/components/label/label.js +11 -11
  188. package/dist/collection/components/label/label.js.map +1 -1
  189. package/dist/collection/components/legend-item/legend-item.js +11 -4
  190. package/dist/collection/components/legend-item/legend-item.js.map +1 -1
  191. package/dist/collection/components/list-button/list-button.css +1 -92
  192. package/dist/collection/components/list-button/list-button.js +28 -90
  193. package/dist/collection/components/list-button/list-button.js.map +1 -1
  194. package/dist/collection/components/logo/logo.js +19 -6
  195. package/dist/collection/components/logo/logo.js.map +1 -1
  196. package/dist/collection/components/map-base-layers/map-base-layers.js +10 -4
  197. package/dist/collection/components/map-base-layers/map-base-layers.js.map +1 -1
  198. package/dist/collection/components/map-controls/map-controls.js +10 -4
  199. package/dist/collection/components/map-controls/map-controls.js.map +1 -1
  200. package/dist/collection/components/map-overlays/map-overlays.js +10 -4
  201. package/dist/collection/components/map-overlays/map-overlays.js.map +1 -1
  202. package/dist/collection/components/mark-bar/mark-bar.js +13 -5
  203. package/dist/collection/components/mark-bar/mark-bar.js.map +1 -1
  204. package/dist/collection/components/modal/modal.js +28 -5
  205. package/dist/collection/components/modal/modal.js.map +1 -1
  206. package/dist/collection/components/ozon-content/ozon-content.js +13 -6
  207. package/dist/collection/components/ozon-content/ozon-content.js.map +1 -1
  208. package/dist/collection/components/pagination/pagination.js +9 -3
  209. package/dist/collection/components/pagination/pagination.js.map +1 -1
  210. package/dist/collection/components/panel/panel.js +2 -1
  211. package/dist/collection/components/panel/panel.js.map +1 -1
  212. package/dist/collection/components/plekinfo-card/plekinfo-card.js +12 -4
  213. package/dist/collection/components/plekinfo-card/plekinfo-card.js.map +1 -1
  214. package/dist/collection/components/progress-bar/progress-bar.js +13 -2
  215. package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
  216. package/dist/collection/components/progress-indicator/progress-indicator.js +7 -4
  217. package/dist/collection/components/progress-indicator/progress-indicator.js.map +1 -1
  218. package/dist/collection/components/project-item/project-item.js +3 -4
  219. package/dist/collection/components/project-item/project-item.js.map +1 -1
  220. package/dist/collection/components/renvooi/renvooi.js +3 -4
  221. package/dist/collection/components/renvooi/renvooi.js.map +1 -1
  222. package/dist/collection/components/responsive-element/responsive-element.js +3 -3
  223. package/dist/collection/components/responsive-element/responsive-element.js.map +1 -1
  224. package/dist/collection/components/scrollable/scrollable.js +2 -2
  225. package/dist/collection/components/scrollable/scrollable.js.map +1 -1
  226. package/dist/collection/components/selectable/selectable.js +27 -15
  227. package/dist/collection/components/selectable/selectable.js.map +1 -1
  228. package/dist/collection/components/skiplink/skiplink.js +5 -5
  229. package/dist/collection/components/skiplink/skiplink.js.map +1 -1
  230. package/dist/collection/components/slide-toggle/slide-toggle.js +20 -4
  231. package/dist/collection/components/slide-toggle/slide-toggle.js.map +1 -1
  232. package/dist/collection/components/table/table.js +11 -2
  233. package/dist/collection/components/table/table.js.map +1 -1
  234. package/dist/collection/components/tabs/components/tab.js +6 -3
  235. package/dist/collection/components/tabs/components/tab.js.map +1 -1
  236. package/dist/collection/components/tabs/tabs.js +1 -1
  237. package/dist/collection/components/toggletip/toggletip.js +18 -6
  238. package/dist/collection/components/toggletip/toggletip.js.map +1 -1
  239. package/dist/collection/components/tooltip/tooltip.js +36 -9
  240. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  241. package/dist/collection/components/tree-view/tree-view.js +4 -3
  242. package/dist/collection/components/tree-view/tree-view.js.map +1 -1
  243. package/dist/collection/components/viewer-grid/viewer-grid.js +56 -11
  244. package/dist/collection/components/viewer-grid/viewer-grid.js.map +1 -1
  245. package/dist/components/alert.js +12 -7
  246. package/dist/components/alert.js.map +1 -1
  247. package/dist/components/annotation-locatie.js +1 -5
  248. package/dist/components/annotation-locatie.js.map +1 -1
  249. package/dist/components/attachments-counter.js +1 -2
  250. package/dist/components/attachments-counter.js.map +1 -1
  251. package/dist/components/badge.js +1 -2
  252. package/dist/components/badge.js.map +1 -1
  253. package/dist/components/document-component.js +45 -23
  254. package/dist/components/document-component.js.map +1 -1
  255. package/dist/components/dropdown-menu.js +22 -8
  256. package/dist/components/dropdown-menu.js.map +1 -1
  257. package/dist/components/dso-accordion-section.js +13 -13
  258. package/dist/components/dso-accordion-section.js.map +1 -1
  259. package/dist/components/dso-accordion.js +8 -0
  260. package/dist/components/dso-accordion.js.map +1 -1
  261. package/dist/components/dso-action-list-item.js +9 -2
  262. package/dist/components/dso-action-list-item.js.map +1 -1
  263. package/dist/components/dso-action-list.js +0 -1
  264. package/dist/components/dso-action-list.js.map +1 -1
  265. package/dist/components/dso-advanced-select.js +8 -4
  266. package/dist/components/dso-advanced-select.js.map +1 -1
  267. package/dist/components/dso-annotation-activiteit.js +1 -8
  268. package/dist/components/dso-annotation-activiteit.js.map +1 -1
  269. package/dist/components/dso-annotation-gebiedsaanwijzing.js +1 -5
  270. package/dist/components/dso-annotation-gebiedsaanwijzing.js.map +1 -1
  271. package/dist/components/dso-annotation-kaart.js +1 -4
  272. package/dist/components/dso-annotation-kaart.js.map +1 -1
  273. package/dist/components/dso-annotation-omgevingsnormwaarde.js +1 -8
  274. package/dist/components/dso-annotation-omgevingsnormwaarde.js.map +1 -1
  275. package/dist/components/dso-autosuggest.js +28 -14
  276. package/dist/components/dso-autosuggest.js.map +1 -1
  277. package/dist/components/dso-banner.js +10 -3
  278. package/dist/components/dso-banner.js.map +1 -1
  279. package/dist/components/dso-card-container.js +4 -1
  280. package/dist/components/dso-card-container.js.map +1 -1
  281. package/dist/components/dso-card.js +2 -5
  282. package/dist/components/dso-card.js.map +1 -1
  283. package/dist/components/dso-date-picker-legacy.js +44 -19
  284. package/dist/components/dso-date-picker-legacy.js.map +1 -1
  285. package/dist/components/dso-date-picker.js +22 -11
  286. package/dist/components/dso-date-picker.js.map +1 -1
  287. package/dist/components/dso-document-card.js +1 -3
  288. package/dist/components/dso-document-card.js.map +1 -1
  289. package/dist/components/dso-header.js +18 -14
  290. package/dist/components/dso-header.js.map +1 -1
  291. package/dist/components/dso-helpcenter-panel.js +10 -8
  292. package/dist/components/dso-helpcenter-panel.js.map +1 -1
  293. package/dist/components/dso-highlight-box.js +1 -6
  294. package/dist/components/dso-highlight-box.js.map +1 -1
  295. package/dist/components/dso-input-range.js +5 -8
  296. package/dist/components/dso-input-range.js.map +1 -1
  297. package/dist/components/dso-legend-item.js +5 -4
  298. package/dist/components/dso-legend-item.js.map +1 -1
  299. package/dist/components/dso-list-button.js +14 -70
  300. package/dist/components/dso-list-button.js.map +1 -1
  301. package/dist/components/dso-logo.js +9 -6
  302. package/dist/components/dso-logo.js.map +1 -1
  303. package/dist/components/dso-map-base-layers.js +5 -3
  304. package/dist/components/dso-map-base-layers.js.map +1 -1
  305. package/dist/components/dso-map-controls.js +6 -4
  306. package/dist/components/dso-map-controls.js.map +1 -1
  307. package/dist/components/dso-map-overlays.js +5 -3
  308. package/dist/components/dso-map-overlays.js.map +1 -1
  309. package/dist/components/dso-mark-bar.js +5 -5
  310. package/dist/components/dso-mark-bar.js.map +1 -1
  311. package/dist/components/dso-modal.js +18 -5
  312. package/dist/components/dso-modal.js.map +1 -1
  313. package/dist/components/dso-pagination.js +3 -3
  314. package/dist/components/dso-pagination.js.map +1 -1
  315. package/dist/components/dso-plekinfo-card.js +4 -4
  316. package/dist/components/dso-plekinfo-card.js.map +1 -1
  317. package/dist/components/dso-progress-bar.js +7 -2
  318. package/dist/components/dso-progress-bar.js.map +1 -1
  319. package/dist/components/dso-project-item.js +1 -2
  320. package/dist/components/dso-project-item.js.map +1 -1
  321. package/dist/components/dso-skiplink.js +1 -3
  322. package/dist/components/dso-skiplink.js.map +1 -1
  323. package/dist/components/dso-tab.js +0 -3
  324. package/dist/components/dso-tab.js.map +1 -1
  325. package/dist/components/dso-tabs.js +1 -1
  326. package/dist/components/dso-tree-view.js +1 -2
  327. package/dist/components/dso-tree-view.js.map +1 -1
  328. package/dist/components/dso-viewer-grid.js +38 -11
  329. package/dist/components/dso-viewer-grid.js.map +1 -1
  330. package/dist/components/dsot-document-component-demo.js +18 -12
  331. package/dist/components/dsot-document-component-demo.js.map +1 -1
  332. package/dist/components/expandable.js +3 -2
  333. package/dist/components/expandable.js.map +1 -1
  334. package/dist/components/focus-trap.esm.js +68 -45
  335. package/dist/components/focus-trap.esm.js.map +1 -1
  336. package/dist/components/i18n.js +21 -6
  337. package/dist/components/i18n.js.map +1 -1
  338. package/dist/components/icon.js +7 -2
  339. package/dist/components/icon.js.map +1 -1
  340. package/dist/components/image-overlay.js +2 -3
  341. package/dist/components/image-overlay.js.map +1 -1
  342. package/dist/components/index.esm.js +1 -1
  343. package/dist/components/info-button.js +4 -3
  344. package/dist/components/info-button.js.map +1 -1
  345. package/dist/components/info.js +1 -3
  346. package/dist/components/info.js.map +1 -1
  347. package/dist/components/label.js +3 -11
  348. package/dist/components/label.js.map +1 -1
  349. package/dist/components/ozon-content.js +6 -5
  350. package/dist/components/ozon-content.js.map +1 -1
  351. package/dist/components/panel.js +0 -1
  352. package/dist/components/panel.js.map +1 -1
  353. package/dist/components/progress-indicator.js +1 -4
  354. package/dist/components/progress-indicator.js.map +1 -1
  355. package/dist/components/renvooi.js +1 -2
  356. package/dist/components/renvooi.js.map +1 -1
  357. package/dist/components/responsive-element.js +3 -3
  358. package/dist/components/responsive-element.js.map +1 -1
  359. package/dist/components/scrollable.js +2 -2
  360. package/dist/components/scrollable.js.map +1 -1
  361. package/dist/components/selectable.js +3 -15
  362. package/dist/components/selectable.js.map +1 -1
  363. package/dist/components/slide-toggle.js +10 -4
  364. package/dist/components/slide-toggle.js.map +1 -1
  365. package/dist/components/table.js +7 -2
  366. package/dist/components/table.js.map +1 -1
  367. package/dist/components/toggletip.js +10 -6
  368. package/dist/components/toggletip.js.map +1 -1
  369. package/dist/components/tooltip.js +22 -9
  370. package/dist/components/tooltip.js.map +1 -1
  371. package/dist/components/v4.js +7 -1
  372. package/dist/components/v4.js.map +1 -1
  373. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  374. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  375. package/dist/dso-toolkit/{p-4b21a36d.entry.js → p-00dc4ab0.entry.js} +2 -2
  376. package/dist/dso-toolkit/p-00dc4ab0.entry.js.map +1 -0
  377. package/dist/dso-toolkit/{p-671dc9e8.entry.js → p-08ddc940.entry.js} +2 -2
  378. package/dist/dso-toolkit/p-08ddc940.entry.js.map +1 -0
  379. package/dist/dso-toolkit/p-0ae73bbd.entry.js +2 -0
  380. package/dist/dso-toolkit/p-0ae73bbd.entry.js.map +1 -0
  381. package/dist/dso-toolkit/p-0b0559e6.entry.js +2 -0
  382. package/dist/dso-toolkit/{p-43365ccd.entry.js.map → p-0b0559e6.entry.js.map} +1 -1
  383. package/dist/dso-toolkit/{p-45c45f06.entry.js → p-120c16f3.entry.js} +2 -2
  384. package/dist/dso-toolkit/p-120c16f3.entry.js.map +1 -0
  385. package/dist/dso-toolkit/{p-c425fe06.entry.js → p-12d75d7e.entry.js} +2 -2
  386. package/dist/dso-toolkit/{p-c425fe06.entry.js.map → p-12d75d7e.entry.js.map} +1 -1
  387. package/dist/dso-toolkit/p-164c0a52.entry.js +2 -0
  388. package/dist/dso-toolkit/p-164c0a52.entry.js.map +1 -0
  389. package/dist/dso-toolkit/p-16f98bb4.entry.js +2 -0
  390. package/dist/dso-toolkit/p-16f98bb4.entry.js.map +1 -0
  391. package/dist/dso-toolkit/p-1db82eab.entry.js +2 -0
  392. package/dist/dso-toolkit/p-1db82eab.entry.js.map +1 -0
  393. package/dist/dso-toolkit/{p-a421fb7b.entry.js → p-1ff75ae7.entry.js} +2 -2
  394. package/dist/dso-toolkit/{p-a421fb7b.entry.js.map → p-1ff75ae7.entry.js.map} +1 -1
  395. package/dist/dso-toolkit/p-2185e445.entry.js +2 -0
  396. package/dist/dso-toolkit/p-2185e445.entry.js.map +1 -0
  397. package/dist/dso-toolkit/p-2fce414d.entry.js +2 -0
  398. package/dist/dso-toolkit/p-2fce414d.entry.js.map +1 -0
  399. package/dist/dso-toolkit/{p-289d338d.entry.js → p-34ae249e.entry.js} +2 -2
  400. package/dist/dso-toolkit/p-34ae249e.entry.js.map +1 -0
  401. package/dist/dso-toolkit/p-35cc2afa.entry.js +2 -0
  402. package/dist/dso-toolkit/p-35cc2afa.entry.js.map +1 -0
  403. package/dist/dso-toolkit/p-3efab733.entry.js +2 -0
  404. package/dist/dso-toolkit/p-3efab733.entry.js.map +1 -0
  405. package/dist/dso-toolkit/{p-6a319038.entry.js → p-42904e2f.entry.js} +2 -2
  406. package/dist/dso-toolkit/p-42904e2f.entry.js.map +1 -0
  407. package/dist/dso-toolkit/p-4798d219.js +3 -0
  408. package/dist/dso-toolkit/p-4798d219.js.map +1 -0
  409. package/dist/dso-toolkit/p-488aa456.entry.js +2 -0
  410. package/dist/dso-toolkit/p-488aa456.entry.js.map +1 -0
  411. package/dist/dso-toolkit/p-48b2280f.entry.js +2 -0
  412. package/dist/dso-toolkit/p-48b2280f.entry.js.map +1 -0
  413. package/dist/dso-toolkit/p-53cc8cd4.entry.js +2 -0
  414. package/dist/dso-toolkit/p-53cc8cd4.entry.js.map +1 -0
  415. package/dist/dso-toolkit/{p-f17bf401.entry.js → p-5a06d044.entry.js} +2 -2
  416. package/dist/dso-toolkit/p-5a06d044.entry.js.map +1 -0
  417. package/dist/dso-toolkit/p-694be48f.entry.js +2 -0
  418. package/dist/dso-toolkit/p-694be48f.entry.js.map +1 -0
  419. package/dist/dso-toolkit/{p-78b43f2d.entry.js → p-763e1f17.entry.js} +2 -2
  420. package/dist/dso-toolkit/p-763e1f17.entry.js.map +1 -0
  421. package/dist/dso-toolkit/p-764ce885.entry.js +2 -0
  422. package/dist/dso-toolkit/p-764ce885.entry.js.map +1 -0
  423. package/dist/dso-toolkit/p-770c5940.entry.js +2 -0
  424. package/dist/dso-toolkit/p-770c5940.entry.js.map +1 -0
  425. package/dist/dso-toolkit/p-77ebc549.entry.js +2 -0
  426. package/dist/dso-toolkit/p-77ebc549.entry.js.map +1 -0
  427. package/dist/dso-toolkit/p-7e930584.js +2 -0
  428. package/dist/dso-toolkit/p-7e930584.js.map +1 -0
  429. package/dist/dso-toolkit/p-7ed4eb26.entry.js +2 -0
  430. package/dist/dso-toolkit/{p-c688843d.entry.js.map → p-7ed4eb26.entry.js.map} +1 -1
  431. package/dist/dso-toolkit/p-802bac7e.entry.js +2 -0
  432. package/dist/dso-toolkit/p-802bac7e.entry.js.map +1 -0
  433. package/dist/dso-toolkit/p-82796232.js +2 -0
  434. package/dist/dso-toolkit/p-82796232.js.map +1 -0
  435. package/dist/dso-toolkit/{p-1dbcaeef.js → p-86133aa5.js} +2 -2
  436. package/dist/dso-toolkit/{p-65ed101b.entry.js → p-8c0abadc.entry.js} +2 -2
  437. package/dist/dso-toolkit/p-8c0abadc.entry.js.map +1 -0
  438. package/dist/dso-toolkit/p-8e8c3445.entry.js +2 -0
  439. package/dist/dso-toolkit/{p-ef108c9f.entry.js.map → p-8e8c3445.entry.js.map} +1 -1
  440. package/dist/dso-toolkit/p-8f44a71d.js +6 -0
  441. package/dist/dso-toolkit/p-8f44a71d.js.map +1 -0
  442. package/dist/dso-toolkit/{p-e7a14497.entry.js → p-90c790cf.entry.js} +2 -2
  443. package/dist/dso-toolkit/p-90c790cf.entry.js.map +1 -0
  444. package/dist/dso-toolkit/p-9835211f.entry.js +2 -0
  445. package/dist/dso-toolkit/p-9835211f.entry.js.map +1 -0
  446. package/dist/dso-toolkit/{p-51385dad.entry.js → p-a1fdcf6f.entry.js} +2 -2
  447. package/dist/dso-toolkit/p-a1fdcf6f.entry.js.map +1 -0
  448. package/dist/dso-toolkit/p-aa66d910.entry.js +2 -0
  449. package/dist/dso-toolkit/p-aa66d910.entry.js.map +1 -0
  450. package/dist/dso-toolkit/{p-583222e7.entry.js → p-acdbba92.entry.js} +2 -2
  451. package/dist/dso-toolkit/p-acdbba92.entry.js.map +1 -0
  452. package/dist/dso-toolkit/{p-977cc2f7.entry.js → p-ae2d657a.entry.js} +2 -2
  453. package/dist/dso-toolkit/p-ae2d657a.entry.js.map +1 -0
  454. package/dist/dso-toolkit/{p-8fce6b98.entry.js → p-b37acdc7.entry.js} +2 -2
  455. package/dist/dso-toolkit/p-b37acdc7.entry.js.map +1 -0
  456. package/dist/dso-toolkit/p-b66bd089.entry.js +2 -0
  457. package/dist/dso-toolkit/p-b66bd089.entry.js.map +1 -0
  458. package/dist/dso-toolkit/{p-c2f8f46c.entry.js → p-b7223b58.entry.js} +2 -2
  459. package/dist/dso-toolkit/p-b9063235.js +2 -0
  460. package/dist/dso-toolkit/p-b9a2793a.entry.js +2 -0
  461. package/dist/dso-toolkit/p-b9a2793a.entry.js.map +1 -0
  462. package/dist/dso-toolkit/p-bc5f2c50.entry.js +2 -0
  463. package/dist/dso-toolkit/p-bc5f2c50.entry.js.map +1 -0
  464. package/dist/dso-toolkit/p-be4bb602.entry.js +2 -0
  465. package/dist/dso-toolkit/p-be4bb602.entry.js.map +1 -0
  466. package/dist/dso-toolkit/{p-6ea8333e.entry.js → p-c318a28a.entry.js} +2 -2
  467. package/dist/dso-toolkit/p-c318a28a.entry.js.map +1 -0
  468. package/dist/dso-toolkit/{p-0c8a8830.entry.js → p-c68cd4d5.entry.js} +2 -2
  469. package/dist/dso-toolkit/p-c68cd4d5.entry.js.map +1 -0
  470. package/dist/dso-toolkit/{p-f02dcd60.entry.js → p-cb72480b.entry.js} +2 -2
  471. package/dist/dso-toolkit/{p-f02dcd60.entry.js.map → p-cb72480b.entry.js.map} +1 -1
  472. package/dist/dso-toolkit/p-d3eacf71.js +2 -0
  473. package/dist/dso-toolkit/p-d5357c6e.entry.js +2 -0
  474. package/dist/dso-toolkit/p-d5357c6e.entry.js.map +1 -0
  475. package/dist/dso-toolkit/{p-17795a3a.entry.js → p-d73b0a55.entry.js} +2 -2
  476. package/dist/dso-toolkit/p-d73b0a55.entry.js.map +1 -0
  477. package/dist/dso-toolkit/{p-19421acf.entry.js → p-df5ba83d.entry.js} +2 -2
  478. package/dist/dso-toolkit/{p-19421acf.entry.js.map → p-df5ba83d.entry.js.map} +1 -1
  479. package/dist/dso-toolkit/{p-4094d996.entry.js → p-e2f6ce9e.entry.js} +2 -2
  480. package/dist/dso-toolkit/p-e2f6ce9e.entry.js.map +1 -0
  481. package/dist/dso-toolkit/p-eedaa0ae.entry.js +2 -0
  482. package/dist/dso-toolkit/p-eedaa0ae.entry.js.map +1 -0
  483. package/dist/dso-toolkit/p-f2f4324c.entry.js +2 -0
  484. package/dist/dso-toolkit/p-f2f4324c.entry.js.map +1 -0
  485. package/dist/dso-toolkit/{p-fc225870.entry.js → p-f730ff77.entry.js} +2 -2
  486. package/dist/dso-toolkit/p-f730ff77.entry.js.map +1 -0
  487. package/dist/esm/{annotation-body-732ca768.js → annotation-body-90b88291.js} +2 -2
  488. package/dist/esm/{annotation-body-732ca768.js.map → annotation-body-90b88291.js.map} +1 -1
  489. package/dist/esm/{annotation-symbol-slot-568fe5cc.js → annotation-symbol-slot-8423ced1.js} +2 -2
  490. package/dist/esm/{annotation-symbol-slot-568fe5cc.js.map → annotation-symbol-slot-8423ced1.js.map} +1 -1
  491. package/dist/esm/dso-accordion-section.entry.js +14 -14
  492. package/dist/esm/dso-accordion-section.entry.js.map +1 -1
  493. package/dist/esm/dso-accordion.entry.js +9 -1
  494. package/dist/esm/dso-accordion.entry.js.map +1 -1
  495. package/dist/esm/dso-action-list-item.entry.js +10 -3
  496. package/dist/esm/dso-action-list-item.entry.js.map +1 -1
  497. package/dist/esm/dso-action-list.entry.js +1 -2
  498. package/dist/esm/dso-action-list.entry.js.map +1 -1
  499. package/dist/esm/dso-advanced-select.entry.js +11 -7
  500. package/dist/esm/dso-advanced-select.entry.js.map +1 -1
  501. package/dist/esm/dso-alert_6.entry.js +30 -23
  502. package/dist/esm/dso-alert_6.entry.js.map +1 -1
  503. package/dist/esm/dso-annotation-activiteit.entry.js +4 -11
  504. package/dist/esm/dso-annotation-activiteit.entry.js.map +1 -1
  505. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js +4 -8
  506. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js.map +1 -1
  507. package/dist/esm/dso-annotation-kaart.entry.js +3 -6
  508. package/dist/esm/dso-annotation-kaart.entry.js.map +1 -1
  509. package/dist/esm/dso-annotation-locatie_2.entry.js +49 -31
  510. package/dist/esm/dso-annotation-locatie_2.entry.js.map +1 -1
  511. package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js +4 -11
  512. package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js.map +1 -1
  513. package/dist/esm/dso-attachments-counter_2.entry.js +5 -5
  514. package/dist/esm/dso-attachments-counter_2.entry.js.map +1 -1
  515. package/dist/esm/dso-autosuggest.entry.js +31 -17
  516. package/dist/esm/dso-autosuggest.entry.js.map +1 -1
  517. package/dist/esm/dso-banner.entry.js +11 -4
  518. package/dist/esm/dso-banner.entry.js.map +1 -1
  519. package/dist/esm/dso-card-container.entry.js +5 -2
  520. package/dist/esm/dso-card-container.entry.js.map +1 -1
  521. package/dist/esm/dso-card.entry.js +3 -6
  522. package/dist/esm/dso-card.entry.js.map +1 -1
  523. package/dist/esm/dso-date-picker-legacy.entry.js +45 -20
  524. package/dist/esm/dso-date-picker-legacy.entry.js.map +1 -1
  525. package/dist/esm/dso-date-picker.entry.js +23 -12
  526. package/dist/esm/dso-date-picker.entry.js.map +1 -1
  527. package/dist/esm/dso-document-card.entry.js +2 -4
  528. package/dist/esm/dso-document-card.entry.js.map +1 -1
  529. package/dist/esm/dso-dropdown-menu.entry.js +25 -11
  530. package/dist/esm/dso-dropdown-menu.entry.js.map +1 -1
  531. package/dist/esm/dso-header.entry.js +20 -16
  532. package/dist/esm/dso-header.entry.js.map +1 -1
  533. package/dist/esm/dso-helpcenter-panel.entry.js +13 -11
  534. package/dist/esm/dso-helpcenter-panel.entry.js.map +1 -1
  535. package/dist/esm/dso-highlight-box.entry.js +2 -7
  536. package/dist/esm/dso-highlight-box.entry.js.map +1 -1
  537. package/dist/esm/dso-icon.entry.js +8 -3
  538. package/dist/esm/dso-icon.entry.js.map +1 -1
  539. package/dist/esm/dso-info-button.entry.js +5 -4
  540. package/dist/esm/dso-info-button.entry.js.map +1 -1
  541. package/dist/esm/dso-info_2.entry.js +5 -19
  542. package/dist/esm/dso-info_2.entry.js.map +1 -1
  543. package/dist/esm/dso-input-range.entry.js +6 -9
  544. package/dist/esm/dso-input-range.entry.js.map +1 -1
  545. package/dist/esm/dso-label_2.entry.js +26 -21
  546. package/dist/esm/dso-label_2.entry.js.map +1 -1
  547. package/dist/esm/dso-legend-item.entry.js +6 -5
  548. package/dist/esm/dso-legend-item.entry.js.map +1 -1
  549. package/dist/esm/dso-list-button.entry.js +13 -65
  550. package/dist/esm/dso-list-button.entry.js.map +1 -1
  551. package/dist/esm/dso-logo.entry.js +10 -7
  552. package/dist/esm/dso-logo.entry.js.map +1 -1
  553. package/dist/esm/dso-map-base-layers.entry.js +8 -6
  554. package/dist/esm/dso-map-base-layers.entry.js.map +1 -1
  555. package/dist/esm/dso-map-controls.entry.js +8 -6
  556. package/dist/esm/dso-map-controls.entry.js.map +1 -1
  557. package/dist/esm/dso-map-overlays.entry.js +8 -6
  558. package/dist/esm/dso-map-overlays.entry.js.map +1 -1
  559. package/dist/esm/dso-mark-bar.entry.js +6 -6
  560. package/dist/esm/dso-mark-bar.entry.js.map +1 -1
  561. package/dist/esm/dso-modal.entry.js +21 -8
  562. package/dist/esm/dso-modal.entry.js.map +1 -1
  563. package/dist/esm/dso-pagination.entry.js +4 -4
  564. package/dist/esm/dso-pagination.entry.js.map +1 -1
  565. package/dist/esm/dso-plekinfo-card.entry.js +5 -5
  566. package/dist/esm/dso-plekinfo-card.entry.js.map +1 -1
  567. package/dist/esm/dso-progress-bar.entry.js +8 -3
  568. package/dist/esm/dso-progress-bar.entry.js.map +1 -1
  569. package/dist/esm/dso-progress-indicator.entry.js +3 -6
  570. package/dist/esm/dso-progress-indicator.entry.js.map +1 -1
  571. package/dist/esm/dso-project-item.entry.js +2 -3
  572. package/dist/esm/dso-project-item.entry.js.map +1 -1
  573. package/dist/esm/dso-renvooi_2.entry.js +13 -8
  574. package/dist/esm/dso-renvooi_2.entry.js.map +1 -1
  575. package/dist/esm/dso-responsive-element.entry.js +4 -4
  576. package/dist/esm/dso-responsive-element.entry.js.map +1 -1
  577. package/dist/esm/dso-scrollable.entry.js +3 -3
  578. package/dist/esm/dso-scrollable.entry.js.map +1 -1
  579. package/dist/esm/dso-skiplink.entry.js +2 -4
  580. package/dist/esm/dso-skiplink.entry.js.map +1 -1
  581. package/dist/esm/dso-tab.entry.js +1 -4
  582. package/dist/esm/dso-tab.entry.js.map +1 -1
  583. package/dist/esm/dso-tabs.entry.js +2 -2
  584. package/dist/esm/dso-toggletip.entry.js +11 -7
  585. package/dist/esm/dso-toggletip.entry.js.map +1 -1
  586. package/dist/esm/dso-toolkit.js +4 -4
  587. package/dist/esm/dso-toolkit.js.map +1 -1
  588. package/dist/esm/dso-tree-view.entry.js +2 -3
  589. package/dist/esm/dso-tree-view.entry.js.map +1 -1
  590. package/dist/esm/dso-viewer-grid.entry.js +39 -12
  591. package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
  592. package/dist/esm/dsot-document-component-demo.entry.js +19 -13
  593. package/dist/esm/dsot-document-component-demo.entry.js.map +1 -1
  594. package/dist/esm/{focus-trap.esm-26a44fc9.js → focus-trap.esm-b5ae7e82.js} +69 -46
  595. package/dist/esm/focus-trap.esm-b5ae7e82.js.map +1 -0
  596. package/dist/esm/{i18n-43c79e8f.js → i18n-001de5be.js} +22 -7
  597. package/dist/esm/i18n-001de5be.js.map +1 -0
  598. package/dist/esm/{index-60b7c895.js → index-b281ec90.js} +350 -267
  599. package/dist/esm/index-b281ec90.js.map +1 -0
  600. package/dist/esm/{index.esm-7a561c35.js → index.esm-7e16e884.js} +2 -2
  601. package/dist/esm/{index.esm-7a561c35.js.map → index.esm-7e16e884.js.map} +1 -1
  602. package/dist/esm/loader.js +3 -3
  603. package/dist/esm/{v4-692dad5f.js → v4-c74494dc.js} +8 -2
  604. package/dist/esm/v4-c74494dc.js.map +1 -0
  605. package/dist/types/components/alert/alert.d.ts +10 -0
  606. package/dist/types/components/alert/alert.interfaces.d.ts +3 -0
  607. package/dist/types/components/list-button/list-button.d.ts +0 -15
  608. package/dist/types/components.d.ts +29 -8
  609. package/package.json +9 -9
  610. package/dist/cjs/focus-trap.esm-b5c60ce2.js.map +0 -1
  611. package/dist/cjs/i18n-0da568ee.js.map +0 -1
  612. package/dist/cjs/index-9c71ed34.js.map +0 -1
  613. package/dist/cjs/v4-6fbeaa38.js.map +0 -1
  614. package/dist/dso-toolkit/p-098ff158.entry.js +0 -2
  615. package/dist/dso-toolkit/p-098ff158.entry.js.map +0 -1
  616. package/dist/dso-toolkit/p-0baa02fe.entry.js +0 -2
  617. package/dist/dso-toolkit/p-0baa02fe.entry.js.map +0 -1
  618. package/dist/dso-toolkit/p-0bb48c73.entry.js +0 -2
  619. package/dist/dso-toolkit/p-0bb48c73.entry.js.map +0 -1
  620. package/dist/dso-toolkit/p-0c8a8830.entry.js.map +0 -1
  621. package/dist/dso-toolkit/p-17795a3a.entry.js.map +0 -1
  622. package/dist/dso-toolkit/p-1b0a9864.entry.js +0 -2
  623. package/dist/dso-toolkit/p-1b0a9864.entry.js.map +0 -1
  624. package/dist/dso-toolkit/p-1d087bc6.entry.js +0 -2
  625. package/dist/dso-toolkit/p-1d087bc6.entry.js.map +0 -1
  626. package/dist/dso-toolkit/p-20b90390.entry.js +0 -2
  627. package/dist/dso-toolkit/p-20b90390.entry.js.map +0 -1
  628. package/dist/dso-toolkit/p-22af5661.entry.js +0 -2
  629. package/dist/dso-toolkit/p-22af5661.entry.js.map +0 -1
  630. package/dist/dso-toolkit/p-264f31ed.entry.js +0 -2
  631. package/dist/dso-toolkit/p-264f31ed.entry.js.map +0 -1
  632. package/dist/dso-toolkit/p-28182fdb.entry.js +0 -2
  633. package/dist/dso-toolkit/p-28182fdb.entry.js.map +0 -1
  634. package/dist/dso-toolkit/p-289d338d.entry.js.map +0 -1
  635. package/dist/dso-toolkit/p-29ab9e47.entry.js +0 -2
  636. package/dist/dso-toolkit/p-29ab9e47.entry.js.map +0 -1
  637. package/dist/dso-toolkit/p-2f25bf04.entry.js +0 -2
  638. package/dist/dso-toolkit/p-2f25bf04.entry.js.map +0 -1
  639. package/dist/dso-toolkit/p-3b3ee91d.entry.js +0 -2
  640. package/dist/dso-toolkit/p-3b3ee91d.entry.js.map +0 -1
  641. package/dist/dso-toolkit/p-4094d996.entry.js.map +0 -1
  642. package/dist/dso-toolkit/p-43365ccd.entry.js +0 -2
  643. package/dist/dso-toolkit/p-45c45f06.entry.js.map +0 -1
  644. package/dist/dso-toolkit/p-4b21a36d.entry.js.map +0 -1
  645. package/dist/dso-toolkit/p-51385dad.entry.js.map +0 -1
  646. package/dist/dso-toolkit/p-53096a64.js +0 -3
  647. package/dist/dso-toolkit/p-53096a64.js.map +0 -1
  648. package/dist/dso-toolkit/p-559d80cb.js +0 -2
  649. package/dist/dso-toolkit/p-583222e7.entry.js.map +0 -1
  650. package/dist/dso-toolkit/p-65ed101b.entry.js.map +0 -1
  651. package/dist/dso-toolkit/p-671dc9e8.entry.js.map +0 -1
  652. package/dist/dso-toolkit/p-6a319038.entry.js.map +0 -1
  653. package/dist/dso-toolkit/p-6ea8333e.entry.js.map +0 -1
  654. package/dist/dso-toolkit/p-75b53abf.entry.js +0 -2
  655. package/dist/dso-toolkit/p-75b53abf.entry.js.map +0 -1
  656. package/dist/dso-toolkit/p-78b43f2d.entry.js.map +0 -1
  657. package/dist/dso-toolkit/p-8383d346.entry.js +0 -2
  658. package/dist/dso-toolkit/p-8383d346.entry.js.map +0 -1
  659. package/dist/dso-toolkit/p-88411ea2.entry.js +0 -2
  660. package/dist/dso-toolkit/p-88411ea2.entry.js.map +0 -1
  661. package/dist/dso-toolkit/p-8b0b2029.entry.js +0 -2
  662. package/dist/dso-toolkit/p-8b0b2029.entry.js.map +0 -1
  663. package/dist/dso-toolkit/p-8f1a91bc.entry.js +0 -2
  664. package/dist/dso-toolkit/p-8f1a91bc.entry.js.map +0 -1
  665. package/dist/dso-toolkit/p-8fce6b98.entry.js.map +0 -1
  666. package/dist/dso-toolkit/p-93d7574c.js +0 -2
  667. package/dist/dso-toolkit/p-971e3998.entry.js +0 -2
  668. package/dist/dso-toolkit/p-971e3998.entry.js.map +0 -1
  669. package/dist/dso-toolkit/p-977cc2f7.entry.js.map +0 -1
  670. package/dist/dso-toolkit/p-98899b90.entry.js +0 -2
  671. package/dist/dso-toolkit/p-98899b90.entry.js.map +0 -1
  672. package/dist/dso-toolkit/p-b2899bee.entry.js +0 -2
  673. package/dist/dso-toolkit/p-b2899bee.entry.js.map +0 -1
  674. package/dist/dso-toolkit/p-c67a3896.entry.js +0 -2
  675. package/dist/dso-toolkit/p-c67a3896.entry.js.map +0 -1
  676. package/dist/dso-toolkit/p-c688843d.entry.js +0 -2
  677. package/dist/dso-toolkit/p-c9b922b2.entry.js +0 -2
  678. package/dist/dso-toolkit/p-c9b922b2.entry.js.map +0 -1
  679. package/dist/dso-toolkit/p-de463284.entry.js +0 -2
  680. package/dist/dso-toolkit/p-de463284.entry.js.map +0 -1
  681. package/dist/dso-toolkit/p-e7a14497.entry.js.map +0 -1
  682. package/dist/dso-toolkit/p-e8ea7939.entry.js +0 -2
  683. package/dist/dso-toolkit/p-e8ea7939.entry.js.map +0 -1
  684. package/dist/dso-toolkit/p-ef108c9f.entry.js +0 -2
  685. package/dist/dso-toolkit/p-f17bf401.entry.js.map +0 -1
  686. package/dist/dso-toolkit/p-f26ade44.entry.js +0 -2
  687. package/dist/dso-toolkit/p-f26ade44.entry.js.map +0 -1
  688. package/dist/dso-toolkit/p-f279a706.js +0 -2
  689. package/dist/dso-toolkit/p-f279a706.js.map +0 -1
  690. package/dist/dso-toolkit/p-f31285ef.js +0 -6
  691. package/dist/dso-toolkit/p-f31285ef.js.map +0 -1
  692. package/dist/dso-toolkit/p-fc225870.entry.js.map +0 -1
  693. package/dist/dso-toolkit/p-ffb34aa5.js +0 -2
  694. package/dist/dso-toolkit/p-ffb34aa5.js.map +0 -1
  695. package/dist/esm/focus-trap.esm-26a44fc9.js.map +0 -1
  696. package/dist/esm/i18n-43c79e8f.js.map +0 -1
  697. package/dist/esm/index-60b7c895.js.map +0 -1
  698. package/dist/esm/v4-692dad5f.js.map +0 -1
  699. /package/dist/dso-toolkit/{p-1dbcaeef.js.map → p-86133aa5.js.map} +0 -0
  700. /package/dist/dso-toolkit/{p-c2f8f46c.entry.js.map → p-b7223b58.entry.js.map} +0 -0
  701. /package/dist/dso-toolkit/{p-559d80cb.js.map → p-b9063235.js.map} +0 -0
  702. /package/dist/dso-toolkit/{p-93d7574c.js.map → p-d3eacf71.js.map} +0 -0
@@ -22,12 +22,14 @@ import { translations } from "./map-controls.i18n";
22
22
  const transitionDuration = 300;
23
23
  export class MapControls {
24
24
  constructor() {
25
+ /**
26
+ * To show and hide the Map Controls.
27
+ */
28
+ this.open = false;
29
+ this.hideContent = !this.open;
25
30
  this.text = i18n(() => this.host, translations);
26
31
  _MapControls_closeButtonElement.set(this, void 0);
27
32
  _MapControls_toggleButtonElement.set(this, void 0);
28
- this.open = false;
29
- this.disableZoom = undefined;
30
- this.hideContent = !this.open;
31
33
  }
32
34
  watchOpen(open) {
33
35
  if (open) {
@@ -56,7 +58,7 @@ export class MapControls {
56
58
  });
57
59
  }
58
60
  render() {
59
- return (h(Fragment, null, h("button", { key: '29335393712a1781f9dff4ba7b3e02a69919b91f', type: "button", id: "toggle-visibility-button", class: "toggle-visibility-button", onClick: (e) => this.toggleVisibility(e), ref: (element) => (__classPrivateFieldSet(this, _MapControls_toggleButtonElement, element, "f")) }, h("dso-icon", { key: 'a1a70b77c019e0874cf2e973e3f0ea66cc9a2c14', icon: "layers" }), h("span", { key: '5194ddccaf7dfe2ab781fe7231eac9c0a9041e6b' }, this.text("layersButton"))), h("div", { key: '1cfb45e5f21c97cb02095a40c049c4e326fff674', class: "zoom-buttons" }, h("button", { key: 'c0cc9b3b3daa68d740ffed946f5afbb22b1d74e0', type: "button", onClick: (e) => this.dsoZoomIn.emit(e), disabled: this.disableZoom === "in" || this.disableZoom === "both" }, h("span", { key: 'd6303dd24115cea4d24fc045d369ff97e0873413' }, this.text("zoomIn")), h("dso-icon", { key: '653e2a1d4a806c91e740c59cd73fd230facb582e', icon: "plus" })), h("button", { key: '0c4ca76537cf0a456fbc376d2b989f9bae62bb19', type: "button", onClick: (e) => this.dsoZoomOut.emit(e), disabled: this.disableZoom === "out" || this.disableZoom === "both" }, h("span", { key: 'a79e3f32a8f72d14cafb062e713bd65d95998c28' }, this.text("zoomOut")), h("dso-icon", { key: '782888d0e2c39ffeccf953cd50e945b35e221e3f', icon: "minus" }))), h("section", { key: 'd981313fdc4ab36ab28a874fbb19a95549b64cb8', hidden: this.hideContent }, h("header", { key: '79533f6432d77975c9b303dc3e6fcf787963c985' }, h("h2", { key: '40514da2dbdd1c80ff91608747390c635f82d9b0' }, this.text("title")), h("button", { key: 'dc94d69f20a5ec73f7b952361ab6849bb57d53f6', type: "button", class: "close-button", onClick: (e) => this.toggleVisibility(e), ref: (element) => (__classPrivateFieldSet(this, _MapControls_closeButtonElement, element, "f")) }, h("span", { key: '6e280bc6fa50c89ecf48c24fb43f2f4834558140' }, this.text("hidePanel", { title: this.text("title") })), h("dso-icon", { key: 'f5dfc01ef1468620ef9b3c2b464f9b1a5093eef6', icon: "times" }))), h("dso-scrollable", { key: '589b88feaadd4a620f8c97443d20dc6a2698627f' }, h("div", { key: '8017cc835034f60d81e9384cf5ee004843e933e4', class: "content" }, h("slot", { key: '25338f564df6e616ad5f66deea19bfe472ac1cb1' }))))));
61
+ return (h(Fragment, null, h("button", { key: 'e437cc9487051507ca3eb919aa97f0a4ab39475b', type: "button", id: "toggle-visibility-button", class: "toggle-visibility-button", onClick: (e) => this.toggleVisibility(e), ref: (element) => (__classPrivateFieldSet(this, _MapControls_toggleButtonElement, element, "f")) }, h("dso-icon", { key: 'd5821df785e62d1409e4fc88eba137250b7a2386', icon: "layers" }), h("span", { key: '96bcffa0c6c978155f2679c908409540180ca83e' }, this.text("layersButton"))), h("div", { key: '0b72c5e148abb8a33f7ad2a04d411a35d7a80501', class: "zoom-buttons" }, h("button", { key: 'a5d342fd781905fcaa82f8b0c1aff8d226335e00', type: "button", onClick: (e) => this.dsoZoomIn.emit(e), disabled: this.disableZoom === "in" || this.disableZoom === "both" }, h("span", { key: '7a185d40e20a36490aa9fe7576875d07a05935c6' }, this.text("zoomIn")), h("dso-icon", { key: 'a19dd361cc779e2ba986303dd6a00f0307a65364', icon: "plus" })), h("button", { key: '045e648c8cd05195ca9fffd916fe8d4b6371e70c', type: "button", onClick: (e) => this.dsoZoomOut.emit(e), disabled: this.disableZoom === "out" || this.disableZoom === "both" }, h("span", { key: '9ed34442104b5f9bcd66027ce5997df96bb48ec1' }, this.text("zoomOut")), h("dso-icon", { key: '71501aaaf3e47ab79bf8e9e85178a17dd1ac744d', icon: "minus" }))), h("section", { key: 'c832b1de0ee23f32ab668c5ac068b0c1d115d74c', hidden: this.hideContent }, h("header", { key: '258cd2a6b969191e6a8e81d3490457cac852a59d' }, h("h2", { key: '25e7359b457f5496650a7d0ac0a99eb6dab24331' }, this.text("title")), h("button", { key: 'f7834b66d780ee2521693c5e47eae06d83ee1803', type: "button", class: "close-button", onClick: (e) => this.toggleVisibility(e), ref: (element) => (__classPrivateFieldSet(this, _MapControls_closeButtonElement, element, "f")) }, h("span", { key: 'b1724abe463205df408cfd899d6325e3e64ccab5' }, this.text("hidePanel", { title: this.text("title") })), h("dso-icon", { key: '66065df2ca031efb57fca03952e9c04e062cc4be', icon: "times" }))), h("dso-scrollable", { key: '19f6a224463b30376bff99b083ce25b44b59df28' }, h("div", { key: '84f926f37038e17164a84f939e9f142184738443', class: "content" }, h("slot", { key: 'efd1449530ad4f2707129a7f1b01875856bcf427' }))))));
60
62
  }
61
63
  static get is() { return "dso-map-controls"; }
62
64
  static get encapsulation() { return "shadow"; }
@@ -86,6 +88,8 @@ export class MapControls {
86
88
  "tags": [],
87
89
  "text": "To show and hide the Map Controls."
88
90
  },
91
+ "getter": false,
92
+ "setter": false,
89
93
  "attribute": "open",
90
94
  "reflect": true,
91
95
  "defaultValue": "false"
@@ -104,6 +108,8 @@ export class MapControls {
104
108
  "tags": [],
105
109
  "text": "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."
106
110
  },
111
+ "getter": false,
112
+ "setter": false,
107
113
  "attribute": "disable-zoom",
108
114
  "reflect": false
109
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"map-controls.js","sourceRoot":"","sources":["../../../../src/components/map-controls/map-controls.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
1
+ {"version":3,"file":"map-controls.js","sourceRoot":"","sources":["../../../../src/components/map-controls/map-controls.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEjH,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGxC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,wDAAwD;AACxD,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAO/B,MAAM,OAAO,WAAW;IALxB;QASE;;WAEG;QAEH,SAAI,GAAG,KAAK,CAAC;QAkCb,gBAAW,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QAiCjB,SAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAEnD,kDAAmD;QACnD,mDAAoD;KAuDrD;IAxFC,SAAS,CAAC,IAAa;QACrB,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YAEzB,UAAU,CAAC,GAAG,EAAE,WAAC,OAAA,MAAA,uBAAA,IAAI,uCAAoB,0CAAE,KAAK,EAAE,CAAA,EAAA,EAAE,kBAAkB,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,GAAG,EAAE;;gBACd,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBAExB,MAAA,uBAAA,IAAI,wCAAqB,0CAAE,KAAK,EAAE,CAAC;YACrC,CAAC,EAAE,kBAAkB,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IAEH,KAAK,CAAC,gBAAgB,CAAC,CAA6B;QAClD,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QAEvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAClB,aAAa,EAAE,CAAC;YAChB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAOD,MAAM;QACJ,OAAO,CACL;YACE,+DACE,IAAI,EAAC,QAAQ,EACb,EAAE,EAAC,0BAA0B,EAC7B,KAAK,EAAC,0BAA0B,EAChC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EACxC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,uBAAA,IAAI,oCAAwB,OAAO,MAAA,CAAC;gBAEvD,iEAAU,IAAI,EAAC,QAAQ,GAAY;gBACnC,+DAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAQ,CACjC;YACT,4DAAK,KAAK,EAAC,cAAc;gBACvB,+DACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EACtC,QAAQ,EAAE,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM;oBAElE,+DAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAQ;oBAClC,iEAAU,IAAI,EAAC,MAAM,GAAY,CAC1B;gBACT,+DACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EACvC,QAAQ,EAAE,IAAI,CAAC,WAAW,KAAK,KAAK,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM;oBAEnE,+DAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAQ;oBACnC,iEAAU,IAAI,EAAC,OAAO,GAAY,CAC3B,CACL;YACN,gEAAS,MAAM,EAAE,IAAI,CAAC,WAAW;gBAC/B;oBACE,6DAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAM;oBAC7B,+DACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,cAAc,EACpB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EACxC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,uBAAA,IAAI,mCAAuB,OAAO,MAAA,CAAC;wBAEtD,+DAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAQ;wBACpE,iEAAU,IAAI,EAAC,OAAO,GAAY,CAC3B,CACF;gBACT;oBACE,4DAAK,KAAK,EAAC,SAAS;wBAClB,8DAAa,CACT,CACS,CACT,CACT,CACJ,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}
@@ -5,9 +5,11 @@ import { translations } from "./map-overlays.i18n";
5
5
  export class MapOverlays {
6
6
  constructor() {
7
7
  this.selectableRefs = {};
8
- this.text = i18n(() => this.host, translations);
8
+ /**
9
+ * To group the overlays together. Generally the default value suffices.
10
+ */
9
11
  this.group = uuidv4();
10
- this.overlays = undefined;
12
+ this.text = i18n(() => this.host, translations);
11
13
  }
12
14
  overlayChangeHandler(overlay, e) {
13
15
  const { checked } = e.detail;
@@ -26,7 +28,7 @@ export class MapOverlays {
26
28
  for (const ref in this.selectableRefs) {
27
29
  delete this.selectableRefs[ref];
28
30
  }
29
- return (h("fieldset", { key: '9892fc514d3605c8532105d7ab3dc7a20841838b', class: "form-group dso-checkboxes" }, h("legend", { key: '8fd65bf3a7592e1f89b3133ddcdaa0650e8df2bd', class: "sr-only" }, "Kaartlagen"), h("div", { key: '4d42c4b39c33e5c5b2e510a0cccec6703e36ee28', class: "dso-label-container" }, h("span", { key: 'eccf54c31ae3def04c5af3d43b2d094581b7b311', class: "control-label", "aria-hidden": "true" }, this.text("title"))), h("div", { key: 'f1a0fa892a2e0b7301c57098930fe87218c209bc', class: "dso-field-container" }, this.overlays.map((overlay) => (h("dso-selectable", { key: overlay.id, type: "checkbox", value: overlay.name, checked: overlay.checked, disabled: overlay.disabled, name: this.group, ref: (ref) => ref && (this.selectableRefs[overlay.id] = ref), onDsoChange: (e) => this.overlayChangeHandler(overlay, e) }, overlay.name, overlay.info ? h("p", { slot: "info" }, overlay.info) : null))))));
31
+ return (h("fieldset", { key: 'c3b999bcfd600744f885128418dcb69aa9a18133', class: "form-group dso-checkboxes" }, h("legend", { key: 'bf13c49ba66ed5a8f0c8ca8ce3b2f4e41de64032', class: "sr-only" }, "Kaartlagen"), h("div", { key: '639e81cdc4f91ee53da11c8aede39fd5c85fc6e7', class: "dso-label-container" }, h("span", { key: '94172cf1232312e5d39e09f99390119f189109ce', class: "control-label", "aria-hidden": "true" }, this.text("title"))), h("div", { key: 'bb520e45e6a9c58c5bf7013fdbcf5ed39a635d45', class: "dso-field-container" }, this.overlays.map((overlay) => (h("dso-selectable", { key: overlay.id, type: "checkbox", value: overlay.name, checked: overlay.checked, disabled: overlay.disabled, name: this.group, ref: (ref) => ref && (this.selectableRefs[overlay.id] = ref), onDsoChange: (e) => this.overlayChangeHandler(overlay, e) }, overlay.name, overlay.info ? h("p", { slot: "info" }, overlay.info) : null))))));
30
32
  }
31
33
  static get is() { return "dso-map-overlays"; }
32
34
  static get encapsulation() { return "shadow"; }
@@ -56,6 +58,8 @@ export class MapOverlays {
56
58
  "tags": [],
57
59
  "text": "To group the overlays together. Generally the default value suffices."
58
60
  },
61
+ "getter": false,
62
+ "setter": false,
59
63
  "attribute": "group",
60
64
  "reflect": false,
61
65
  "defaultValue": "uuidv4()"
@@ -79,7 +83,9 @@ export class MapOverlays {
79
83
  "docs": {
80
84
  "tags": [],
81
85
  "text": "The overlays."
82
- }
86
+ },
87
+ "getter": false,
88
+ "setter": false
83
89
  }
84
90
  };
85
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"map-overlays.js","sourceRoot":"","sources":["../../../../src/components/map-overlays/map-overlays.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrG,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAIxC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOnD,MAAM,OAAO,WAAW;;QAEd,mBAAc,GAA+C,EAAE,CAAC;QA6BhE,SAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;qBApB3C,MAAM,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;IACnD,CAAC;IAID,kBAAkB;QAChB,IAAI,CAAC,QAAQ;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,eAAC,OAAA,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,0CAAE,QAAQ,MAAK,IAAI,CAAA,EAAA,CAAC;aAClG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;;YACb,MAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,0CAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC;IACxC,CAAC;IAED,MAAM;QACJ,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,CACL,iEAAU,KAAK,EAAC,2BAA2B;YACzC,+DAAQ,KAAK,EAAC,SAAS,iBAAoB;YAC3C,4DAAK,KAAK,EAAC,qBAAqB;gBAC9B,6DAAM,KAAK,EAAC,eAAe,iBAAa,MAAM,IAC3C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CACd,CACH;YACN,4DAAK,KAAK,EAAC,qBAAqB,IAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAC9B,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,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,EAC5D,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC;gBAExD,OAAO,CAAC,IAAI;gBACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAG,IAAI,EAAC,MAAM,IAAE,OAAO,CAAC,IAAI,CAAK,CAAC,CAAC,CAAC,IAAI,CACzC,CAClB,CAAC,CACE,CACG,CACZ,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}
1
+ {"version":3,"file":"map-overlays.js","sourceRoot":"","sources":["../../../../src/components/map-overlays/map-overlays.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
@@ -1,6 +1,10 @@
1
1
  import { h } from "@stencil/core";
2
2
  export class MarkBar {
3
3
  constructor() {
4
+ /**
5
+ * The label for the input field.
6
+ */
7
+ this.label = "Zoeken in document";
4
8
  this.handleInput = (e) => {
5
9
  if (!(e.target instanceof HTMLInputElement)) {
6
10
  return;
@@ -24,10 +28,6 @@ export class MarkBar {
24
28
  this.handleNext(e);
25
29
  }
26
30
  };
27
- this.value = undefined;
28
- this.label = "Zoeken in document";
29
- this.current = undefined;
30
- this.totalCount = undefined;
31
31
  }
32
32
  /**
33
33
  * Focuses the input field.
@@ -42,7 +42,7 @@ export class MarkBar {
42
42
  render() {
43
43
  const current = this.current || 0;
44
44
  const totalCount = this.totalCount || 0;
45
- return (h("div", { key: '713f33bf86bbfa9366b0ace08d92aaaa239cbe3e', class: "dso-mark-bar" }, h("div", { key: '40c44a84e9845c59aa42e503b6c738a78773ea1e', class: "dso-mark-bar-input" }, h("input", { key: 'c893af76fd1f36f890092d7fceec08ac280ca962', type: "text", id: "search-input", value: this.value, onInput: this.handleInput, onKeyDown: this.handleKeyDown, placeholder: " ", ref: (element) => (this.inputElement = element) }), h("label", { key: 'c4517f993ea111bcca6fe5d4fe63f7d2a6e74c10', htmlFor: "search-input" }, h("dso-icon", { key: '74718e9f76210e1ab8a7dc8f419d0290117dc4ca', class: "dso-search-icon", icon: "search" }), h("span", { key: '53198aa36fb29f5783804a07f57850ffb03857f7', class: "label-text" }, this.label)), h("button", { key: 'be8ba44782a2eeee3da99c172855798c16ea4c11', type: "button", onClick: this.handleClear }, h("dso-icon", { key: '38c296e3ecde58915ff7f972c38a97b41fb5b0c2', icon: "times" }), h("span", { key: '71d5cf07fa7a65c4a62c9f1548c512ed69a469ff', class: "sr-only" }, "Zoekopdracht legen"))), h("div", { key: 'ff49db6cb388f862954e65923c985497dcaf4e66', class: "dso-button-container" }, h("span", { key: '1e837b330edf5140544e1b1632e746b19b18d465', class: "divider" }), h("button", { key: '3c3f6648f6ba2968286b4f905cbbebe3829c7ce3', type: "button", onClick: this.handlePrevious, disabled: current <= 1 }, h("dso-icon", { key: '61741ca86c6ce3979ca5364426dd27a56631a7ea', icon: "chevron-up", class: "hydrated" }), h("span", { key: '01b609f22699251cbf36e39d34c643b3b9285131', class: "sr-only" }, "Vorig zoekresultaat")), h("span", { key: '8e6366c709fe6b6dc091190d379270d11739e204' }, current, "/", totalCount), h("button", { key: '6ab4b758bd001ee342618c83e4e733cbea243063', type: "button", onClick: this.handleNext, disabled: current >= totalCount }, h("dso-icon", { key: 'bdfa2853ecbc90021a4f1b3e857d700c80cce4b8', icon: "chevron-down", class: "hydrated" }), h("span", { key: 'ab319210d11d0f0b2a858205e9343d4cc3847e77', class: "sr-only" }, "Volgend zoekresultaat")))));
45
+ return (h("div", { key: 'de64c956f5f0f039e949fb66525bfe13292fc344', class: "dso-mark-bar" }, h("div", { key: 'f9a28ebe0673d21b51382db70b399198980f2981', class: "dso-mark-bar-input" }, h("input", { key: '3f8ba3bcc85a1e3d457f00b4997ff14257275cff', type: "text", id: "search-input", value: this.value, onInput: this.handleInput, onKeyDown: this.handleKeyDown, placeholder: " ", ref: (element) => (this.inputElement = element) }), h("label", { key: 'de0a188de0580a986d97c6b183506ff503a9f840', htmlFor: "search-input" }, h("dso-icon", { key: 'c996d6ae25fd237cbe6e3432dd9820911699800b', class: "dso-search-icon", icon: "search" }), h("span", { key: '4eb8bf932a5493d4672efb1d30f5f936faa04dc0', class: "label-text" }, this.label)), h("button", { key: '4eb0be7a9c8794fe086f9cccbd5f2c3ee2422f4c', type: "button", onClick: this.handleClear }, h("dso-icon", { key: '7995d127da202d54b403c1614616e754d3996069', icon: "times" }), h("span", { key: '8584ac86467c4ed39f07cb62498a4818302de7e8', class: "sr-only" }, "Zoekopdracht legen"))), h("div", { key: 'd0a10d3218bf2c84592b793f63cbbf37c0204325', class: "dso-button-container" }, h("span", { key: 'd75c77cb216e84dd20df7b8745263aea7b33a6aa', class: "divider" }), h("button", { key: '503a2cad201543a574f5c298b981bb7610955134', type: "button", onClick: this.handlePrevious, disabled: current <= 1 }, h("dso-icon", { key: 'c2ce69b1abc65f71355fdd5681f7165d0c2680cf', icon: "chevron-up", class: "hydrated" }), h("span", { key: '573b5f49881d3d87d14650fca99efcc034714989', class: "sr-only" }, "Vorig zoekresultaat")), h("span", { key: 'caa4799ae003ce7a34430f5112ffce9b6ef22903' }, current, "/", totalCount), h("button", { key: '83cd9bc034d51cdf677a6a97a4bd170530cbf5b8', type: "button", onClick: this.handleNext, disabled: current >= totalCount }, h("dso-icon", { key: '9b7442aa4e879ae3dfa22265fbba5c115eed6aa0', icon: "chevron-down", class: "hydrated" }), h("span", { key: '1f41bec8eb4619ee7a6a2fabd205ab0cadfb446c', class: "sr-only" }, "Volgend zoekresultaat")))));
46
46
  }
47
47
  static get is() { return "dso-mark-bar"; }
48
48
  static get encapsulation() { return "shadow"; }
@@ -72,6 +72,8 @@ export class MarkBar {
72
72
  "tags": [],
73
73
  "text": "The current search value."
74
74
  },
75
+ "getter": false,
76
+ "setter": false,
75
77
  "attribute": "value",
76
78
  "reflect": false
77
79
  },
@@ -89,6 +91,8 @@ export class MarkBar {
89
91
  "tags": [],
90
92
  "text": "The label for the input field."
91
93
  },
94
+ "getter": false,
95
+ "setter": false,
92
96
  "attribute": "label",
93
97
  "reflect": false,
94
98
  "defaultValue": "\"Zoeken in document\""
@@ -107,6 +111,8 @@ export class MarkBar {
107
111
  "tags": [],
108
112
  "text": "The current (one-based) highlighted search item."
109
113
  },
114
+ "getter": false,
115
+ "setter": false,
110
116
  "attribute": "current",
111
117
  "reflect": false
112
118
  },
@@ -124,6 +130,8 @@ export class MarkBar {
124
130
  "tags": [],
125
131
  "text": "Total number of search results."
126
132
  },
133
+ "getter": false,
134
+ "setter": false,
127
135
  "attribute": "total-count",
128
136
  "reflect": false
129
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mark-bar.js","sourceRoot":"","sources":["../../../../src/components/mark-bar/mark-bar.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
1
+ {"version":3,"file":"mark-bar.js","sourceRoot":"","sources":["../../../../src/components/mark-bar/mark-bar.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
@@ -5,13 +5,26 @@ import { i18n } from "../../utils/i18n";
5
5
  import { translations } from "./modal.i18n";
6
6
  export class Modal {
7
7
  constructor() {
8
- this.text = i18n(() => this.host, translations);
9
8
  this.ariaId = v4();
10
- this.fullscreen = undefined;
11
- this.modalTitle = undefined;
9
+ /**
10
+ * the role for the modal `dialog` | `alert` | `alertdialog`.
11
+ */
12
12
  this.dialogRole = "dialog";
13
+ /**
14
+ * The element to return focus to after the modal is closed.
15
+ *
16
+ * * `undefined` will return focus to the previously focused element (default).
17
+ * * `false` will not return focus to any element.
18
+ * * or, provide your own `HTMLElement` that will receive focus upon closing.
19
+ */
13
20
  this.returnFocus = undefined;
21
+ /**
22
+ * when `false` the close button in the header will not be rendered. Defaults to `true`.
23
+ *
24
+ * Needs `modalTitle` to be set.
25
+ */
14
26
  this.showCloseButton = true;
27
+ this.text = i18n(() => this.host, translations);
15
28
  }
16
29
  get hasFooter() {
17
30
  return this.host.querySelector("[slot='footer']") !== null;
@@ -36,10 +49,10 @@ export class Modal {
36
49
  }
37
50
  render() {
38
51
  var _a;
39
- return (h("dialog", { key: '0255e7eddb5998c8cab38704900f2476569da1de', class: "dso-modal", role: (_a = this.dialogRole) !== null && _a !== void 0 ? _a : undefined, "aria-modal": "true", "aria-labelledby": this.ariaId, ref: (element) => (this.htmlDialogElement = element), onCancel: (e) => {
52
+ return (h("dialog", { key: 'e9f3f64908aa9846a53ae75805fa210c4870b9d8', class: "dso-modal", role: (_a = this.dialogRole) !== null && _a !== void 0 ? _a : undefined, "aria-modal": "true", "aria-labelledby": this.ariaId, ref: (element) => (this.htmlDialogElement = element), onCancel: (e) => {
40
53
  e.preventDefault();
41
54
  this.dsoClose.emit({ originalEvent: e });
42
- } }, h("div", { key: '4c64ce20e353566db32301b776188a1c264124ba', class: "dso-dialog", role: "document" }, this.modalTitle ? (h("div", { class: "dso-header" }, h("h2", { id: this.ariaId }, this.modalTitle), this.showCloseButton && (h("button", { type: "button", class: "dso-close", onClick: (e) => this.dsoClose.emit({ originalEvent: e }) }, h("dso-icon", { icon: "times" }), h("span", { class: "sr-only" }, this.text("close")))))) : (h("span", { class: "sr-only", id: this.ariaId }, this.text("dialog"))), h("dso-scrollable", { key: 'a4bd988f90c7b5770e4a4cf5fde4ae67a2a66cac' }, h("div", { key: '4ec222b1b944910e406ee18e19ca83be55d29e10', class: "dso-body", tabIndex: 0 }, h("slot", { key: '72288b5c808498115f94afaf1531de16786fc1d9', name: "body" }))), this.hasFooter && (h("div", { key: 'c21a38f8cfd9db4f107d06324a2ed2c065eedcc7', class: "dso-footer" }, h("slot", { key: 'ef9d617e2ecade2278beefdd4f72a29cab456a98', name: "footer" }))))));
55
+ } }, h("div", { key: '6537a33e78b15dfc32bac8a2699d2bf54e2abe1d', class: "dso-dialog", role: "document" }, this.modalTitle ? (h("div", { class: "dso-header" }, h("h2", { id: this.ariaId }, this.modalTitle), this.showCloseButton && (h("button", { type: "button", class: "dso-close", onClick: (e) => this.dsoClose.emit({ originalEvent: e }) }, h("dso-icon", { icon: "times" }), h("span", { class: "sr-only" }, this.text("close")))))) : (h("span", { class: "sr-only", id: this.ariaId }, this.text("dialog"))), h("dso-scrollable", { key: '9a62c534ae961cd684568170c1309beaff90c20f' }, h("div", { key: 'd9f5eef59453d70504cecbdde59e3556a864c677', class: "dso-body", tabIndex: 0 }, h("slot", { key: '42efeae8512eb09d66fb1e4457b515730aece8a0', name: "body" }))), this.hasFooter && (h("div", { key: '967c39dbe11cceec7b8922ad2759f353a3219d84', class: "dso-footer" }, h("slot", { key: '1dd8152a3b944a18965d85e0216d8f0924d887db', name: "footer" }))))));
43
56
  }
44
57
  static get is() { return "dso-modal"; }
45
58
  static get encapsulation() { return "shadow"; }
@@ -69,6 +82,8 @@ export class Modal {
69
82
  "tags": [],
70
83
  "text": "when set the modal will be shown in fullscreen."
71
84
  },
85
+ "getter": false,
86
+ "setter": false,
72
87
  "attribute": "fullscreen",
73
88
  "reflect": true
74
89
  },
@@ -86,6 +101,8 @@ export class Modal {
86
101
  "tags": [],
87
102
  "text": "The title of the Modal."
88
103
  },
104
+ "getter": false,
105
+ "setter": false,
89
106
  "attribute": "modal-title",
90
107
  "reflect": false
91
108
  },
@@ -103,6 +120,8 @@ export class Modal {
103
120
  "tags": [],
104
121
  "text": "the role for the modal `dialog` | `alert` | `alertdialog`."
105
122
  },
123
+ "getter": false,
124
+ "setter": false,
106
125
  "attribute": "dialog-role",
107
126
  "reflect": false,
108
127
  "defaultValue": "\"dialog\""
@@ -126,6 +145,8 @@ export class Modal {
126
145
  "tags": [],
127
146
  "text": "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."
128
147
  },
148
+ "getter": false,
149
+ "setter": false,
129
150
  "attribute": "return-focus",
130
151
  "reflect": false,
131
152
  "defaultValue": "undefined"
@@ -144,6 +165,8 @@ export class Modal {
144
165
  "tags": [],
145
166
  "text": "when `false` the close button in the header will not be rendered. Defaults to `true`.\r\n\r\nNeeds `modalTitle` to be set."
146
167
  },
168
+ "getter": false,
169
+ "setter": false,
147
170
  "attribute": "show-close-button",
148
171
  "reflect": false,
149
172
  "defaultValue": "true"
@@ -1 +1 @@
1
- {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../../../src/components/modal/modal.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
1
+ {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../../../src/components/modal/modal.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
@@ -3,13 +3,14 @@ import { Mapper } from "./ozon-content-mapper";
3
3
  const mapper = new Mapper();
4
4
  export class OzonContent {
5
5
  constructor() {
6
+ /**
7
+ * Setting this property creates dso-ozon-content as inline element instead of a block element.
8
+ */
9
+ this.inline = false;
10
+ this.state = {};
6
11
  this.handleMarkItemHighlight = (text, elementRef) => {
7
12
  this.dsoOzonContentMarkItemHighlight.emit({ text, elementRef });
8
13
  };
9
- this.content = undefined;
10
- this.inline = false;
11
- this.mark = undefined;
12
- this.state = {};
13
14
  }
14
15
  contentWatcher() {
15
16
  this.state = {};
@@ -24,7 +25,7 @@ export class OzonContent {
24
25
  emitAnchorClick: this.dsoAnchorClick.emit,
25
26
  };
26
27
  const transformed = mapper.transform(this.content, context);
27
- return h(Fragment, { key: '04d4b101ea397405cce6dc6626fcf76a2e9eb5c0' }, transformed);
28
+ return h(Fragment, { key: 'b92775a87afc27cff81462dc3778a5cbf41f4ee5' }, transformed);
28
29
  }
29
30
  static get is() { return "dso-ozon-content"; }
30
31
  static get encapsulation() { return "shadow"; }
@@ -60,6 +61,8 @@ export class OzonContent {
60
61
  "tags": [],
61
62
  "text": "The XML to be rendered."
62
63
  },
64
+ "getter": false,
65
+ "setter": false,
63
66
  "attribute": "content",
64
67
  "reflect": false
65
68
  },
@@ -77,6 +80,8 @@ export class OzonContent {
77
80
  "tags": [],
78
81
  "text": "Setting this property creates dso-ozon-content as inline element instead of a block element."
79
82
  },
83
+ "getter": false,
84
+ "setter": false,
80
85
  "attribute": "inline",
81
86
  "reflect": true,
82
87
  "defaultValue": "false"
@@ -100,7 +105,9 @@ export class OzonContent {
100
105
  "docs": {
101
106
  "tags": [],
102
107
  "text": "To mark text."
103
- }
108
+ },
109
+ "getter": false,
110
+ "setter": false
104
111
  }
105
112
  };
106
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ozon-content.js","sourceRoot":"","sources":["../../../../src/components/ozon-content/ozon-content.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,CAAC,EACD,SAAS,EAET,KAAK,EAEL,IAAI,EACJ,KAAK,EACL,QAAQ,EAER,KAAK,GACN,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAU/C,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAO5B,MAAM,OAAO,WAAW;;QAuCd,4BAAuB,GAAG,CAAC,IAAY,EAAE,UAAuB,EAAE,EAAE;YAC1E,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC;;sBA9BO,KAAK;;qBA0BgB,EAAE;;IALhC,cAAc;QACZ,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IASD,MAAM;QACJ,MAAM,OAAO,GAAuB;YAClC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACzC,qBAAqB,EAAE,IAAI,CAAC,uBAAuB;YACnD,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;SAC1C,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE5D,OAAO,EAAC,QAAQ,uDAAE,WAAW,CAAY,CAAC;IAC5C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF;AAED,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,YAAY,EAAE,CAAC;IAEf,OAAO,CACL;QACE,mBAAY;QACZ,4BAAqB;QACrB,sBAAe;QACf,oBAAa,CACZ,CACJ,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import {\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Event,\r\n EventEmitter,\r\n Prop,\r\n State,\r\n Fragment,\r\n JSX,\r\n Watch,\r\n} from \"@stencil/core\";\r\n\r\nimport { Mapper } from \"./ozon-content-mapper\";\r\nimport { OzonContentContext } from \"./ozon-content-context.interface\";\r\nimport {\r\n OzonContentAnchorClickEvent,\r\n OzonContentInputType,\r\n OzonContentMarkFunction,\r\n OzonContentMarkItemHighlightEvent,\r\n} from \"./ozon-content.interfaces\";\r\nimport { OzonContentNodeState } from \"./ozon-content-node-state.interface\";\r\n\r\nconst mapper = new Mapper();\r\n\r\n@Component({\r\n tag: \"dso-ozon-content\",\r\n styleUrl: \"ozon-content.scss\",\r\n shadow: true,\r\n})\r\nexport class OzonContent implements ComponentInterface {\r\n /**\r\n * The XML to be rendered.\r\n */\r\n @Prop()\r\n content?: OzonContentInputType;\r\n\r\n /**\r\n * Setting this property creates dso-ozon-content as inline element instead of a block element.\r\n */\r\n @Prop({ reflect: true })\r\n inline = false;\r\n\r\n /**\r\n * To mark text.\r\n */\r\n @Prop()\r\n mark?: OzonContentMarkFunction;\r\n\r\n /**\r\n * Emitted when `<a>` is clicked.\r\n */\r\n @Event({ bubbles: false })\r\n dsoAnchorClick!: EventEmitter<OzonContentAnchorClickEvent>;\r\n\r\n /**\r\n * Emitted when a marked item is highlighted.\r\n */\r\n @Event({ bubbles: false })\r\n dsoOzonContentMarkItemHighlight!: EventEmitter<OzonContentMarkItemHighlightEvent>;\r\n\r\n @Watch(\"content\")\r\n contentWatcher() {\r\n this.state = {};\r\n }\r\n\r\n @State()\r\n state: OzonContentNodeState = {};\r\n\r\n private handleMarkItemHighlight = (text: string, elementRef: HTMLElement) => {\r\n this.dsoOzonContentMarkItemHighlight.emit({ text, elementRef });\r\n };\r\n\r\n render(): JSX.Element {\r\n const context: OzonContentContext = {\r\n state: this.state,\r\n inline: this.inline,\r\n mark: this.mark,\r\n setState: (state) => (this.state = state),\r\n emitMarkItemHighlight: this.handleMarkItemHighlight,\r\n emitAnchorClick: this.dsoAnchorClick.emit,\r\n };\r\n\r\n const transformed = mapper.transform(this.content, context);\r\n\r\n return <Fragment>{transformed}</Fragment>;\r\n }\r\n}\r\n\r\nconst dependencies = () => {\r\n dependencies();\r\n\r\n return (\r\n <>\r\n <dso-icon />\r\n <dso-image-overlay />\r\n <dso-tooltip />\r\n <dso-table />\r\n </>\r\n );\r\n};\r\n"]}
1
+ {"version":3,"file":"ozon-content.js","sourceRoot":"","sources":["../../../../src/components/ozon-content/ozon-content.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,CAAC,EACD,SAAS,EAET,KAAK,EAEL,IAAI,EACJ,KAAK,EACL,QAAQ,EAER,KAAK,GACN,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAU/C,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAO5B,MAAM,OAAO,WAAW;IALxB;QAYE;;WAEG;QAEH,WAAM,GAAG,KAAK,CAAC;QA0Bf,UAAK,GAAyB,EAAE,CAAC;QAEzB,4BAAuB,GAAG,CAAC,IAAY,EAAE,UAAuB,EAAE,EAAE;YAC1E,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC;KAgBH;IAzBC,cAAc;QACZ,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IASD,MAAM;QACJ,MAAM,OAAO,GAAuB;YAClC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACzC,qBAAqB,EAAE,IAAI,CAAC,uBAAuB;YACnD,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;SAC1C,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE5D,OAAO,EAAC,QAAQ,uDAAE,WAAW,CAAY,CAAC;IAC5C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF;AAED,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,YAAY,EAAE,CAAC;IAEf,OAAO,CACL;QACE,mBAAY;QACZ,4BAAqB;QACrB,sBAAe;QACf,oBAAa,CACZ,CACJ,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import {\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Event,\r\n EventEmitter,\r\n Prop,\r\n State,\r\n Fragment,\r\n JSX,\r\n Watch,\r\n} from \"@stencil/core\";\r\n\r\nimport { Mapper } from \"./ozon-content-mapper\";\r\nimport { OzonContentContext } from \"./ozon-content-context.interface\";\r\nimport {\r\n OzonContentAnchorClickEvent,\r\n OzonContentInputType,\r\n OzonContentMarkFunction,\r\n OzonContentMarkItemHighlightEvent,\r\n} from \"./ozon-content.interfaces\";\r\nimport { OzonContentNodeState } from \"./ozon-content-node-state.interface\";\r\n\r\nconst mapper = new Mapper();\r\n\r\n@Component({\r\n tag: \"dso-ozon-content\",\r\n styleUrl: \"ozon-content.scss\",\r\n shadow: true,\r\n})\r\nexport class OzonContent implements ComponentInterface {\r\n /**\r\n * The XML to be rendered.\r\n */\r\n @Prop()\r\n content?: OzonContentInputType;\r\n\r\n /**\r\n * Setting this property creates dso-ozon-content as inline element instead of a block element.\r\n */\r\n @Prop({ reflect: true })\r\n inline = false;\r\n\r\n /**\r\n * To mark text.\r\n */\r\n @Prop()\r\n mark?: OzonContentMarkFunction;\r\n\r\n /**\r\n * Emitted when `<a>` is clicked.\r\n */\r\n @Event({ bubbles: false })\r\n dsoAnchorClick!: EventEmitter<OzonContentAnchorClickEvent>;\r\n\r\n /**\r\n * Emitted when a marked item is highlighted.\r\n */\r\n @Event({ bubbles: false })\r\n dsoOzonContentMarkItemHighlight!: EventEmitter<OzonContentMarkItemHighlightEvent>;\r\n\r\n @Watch(\"content\")\r\n contentWatcher() {\r\n this.state = {};\r\n }\r\n\r\n @State()\r\n state: OzonContentNodeState = {};\r\n\r\n private handleMarkItemHighlight = (text: string, elementRef: HTMLElement) => {\r\n this.dsoOzonContentMarkItemHighlight.emit({ text, elementRef });\r\n };\r\n\r\n render(): JSX.Element {\r\n const context: OzonContentContext = {\r\n state: this.state,\r\n inline: this.inline,\r\n mark: this.mark,\r\n setState: (state) => (this.state = state),\r\n emitMarkItemHighlight: this.handleMarkItemHighlight,\r\n emitAnchorClick: this.dsoAnchorClick.emit,\r\n };\r\n\r\n const transformed = mapper.transform(this.content, context);\r\n\r\n return <Fragment>{transformed}</Fragment>;\r\n }\r\n}\r\n\r\nconst dependencies = () => {\r\n dependencies();\r\n\r\n return (\r\n <>\r\n <dso-icon />\r\n <dso-image-overlay />\r\n <dso-tooltip />\r\n <dso-table />\r\n </>\r\n );\r\n};\r\n"]}
@@ -7,9 +7,9 @@ export class Pagination {
7
7
  medium: 9,
8
8
  large: 11,
9
9
  };
10
- this.availablePositions = undefined;
11
- this.totalPages = undefined;
12
- this.currentPage = undefined;
10
+ /**
11
+ * This function is called to format the href
12
+ */
13
13
  this.formatHref = (page) => "#" + page;
14
14
  }
15
15
  /**
@@ -153,6 +153,8 @@ export class Pagination {
153
153
  "tags": [],
154
154
  "text": "Total pages"
155
155
  },
156
+ "getter": false,
157
+ "setter": false,
156
158
  "attribute": "total-pages",
157
159
  "reflect": false
158
160
  },
@@ -170,6 +172,8 @@ export class Pagination {
170
172
  "tags": [],
171
173
  "text": "Current page"
172
174
  },
175
+ "getter": false,
176
+ "setter": false,
173
177
  "attribute": "current-page",
174
178
  "reflect": false
175
179
  },
@@ -187,6 +191,8 @@ export class Pagination {
187
191
  "tags": [],
188
192
  "text": "This function is called to format the href"
189
193
  },
194
+ "getter": false,
195
+ "setter": false,
190
196
  "defaultValue": "(page) => \"#\" + page"
191
197
  }
192
198
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../../src/components/pagination/pagination.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../../src/components/pagination/pagination.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}