@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
@@ -23,6 +23,8 @@ const ResponsiveElement = /*@__PURE__*/ proxyCustomElement(class ResponsiveEleme
23
23
  this.__registerHost();
24
24
  this.__attachShadow();
25
25
  this.dsoSizeChange = createEvent(this, "dsoSizeChange", 7);
26
+ this.sizeAlias = elementSizes[0].alias;
27
+ this.sizeWidth = 0;
26
28
  this.observer = new ResizeObserver(([entry]) => {
27
29
  var _a, _b;
28
30
  if (!entry) {
@@ -32,8 +34,6 @@ const ResponsiveElement = /*@__PURE__*/ proxyCustomElement(class ResponsiveEleme
32
34
  this.sizeAlias = size;
33
35
  this.dsoSizeChange.emit(size);
34
36
  });
35
- this.sizeAlias = elementSizes[0].alias;
36
- this.sizeWidth = 0;
37
37
  }
38
38
  /**
39
39
  * The current size
@@ -48,7 +48,7 @@ const ResponsiveElement = /*@__PURE__*/ proxyCustomElement(class ResponsiveEleme
48
48
  this.observer.unobserve(this.host);
49
49
  }
50
50
  render() {
51
- return (h(Host, { key: '457b1983ff925174c7e41bc11ef3f1b69f98b860', small: this.sizeAlias === "small", medium: this.sizeAlias === "medium", large: this.sizeAlias === "large" }, h("slot", { key: 'f560e834ad9dc5c4391acf73e5f14e0339338a60' })));
51
+ return (h(Host, { key: 'cea59e4cce2f8ed5802f4aac185431f16c952279', small: this.sizeAlias === "small", medium: this.sizeAlias === "medium", large: this.sizeAlias === "large" }, h("slot", { key: '5363655a113fcb9720a312412c4759cda02da06b' })));
52
52
  }
53
53
  get host() { return this; }
54
54
  static get style() { return DsoResponsiveElementStyle0; }
@@ -1 +1 @@
1
- {"file":"responsive-element.js","mappings":";;AAAA,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AACpD,mCAAe,oBAAoB;;ACGnC,MAAM,YAAY,GAA4C;IAC5D;QACE,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,OAAO;KACf;IACD;QACE,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,QAAQ;KAChB;IACD;QACE,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,OAAO;KACf;CACF,CAAC;MAOW,iBAAiB;;;;;;QAqBpB,aAAQ,GAAG,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;;YAC5C,IAAI,CAAC,KAAK,EAAE;gBACV,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;aACnC;YAED,MAAM,IAAI,GAAG,MAAA,MAAA,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,0CAAE,KAAK,mCAAI,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAE1G,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/B,CAAC,CAAC;yBA5BgC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK;yBAG5C,CAAC;;;;;IAYb,MAAM,OAAO;QACX,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IAgBD,iBAAiB;QACf,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAClC;IAED,oBAAoB;QAClB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACpC;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,OAAO,IAC7G,8DAAQ,CACH,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/responsive-element/responsive-element.scss?tag=dso-responsive-element&encapsulation=shadow","src/components/responsive-element/responsive-element.tsx"],"sourcesContent":[":host {\r\n display: block;\r\n}\r\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Host, Method, State } from \"@stencil/core\";\r\n\r\nimport { ElementSize, ResponsiveElementSize } from \"./responsive-element.interfaces\";\r\n\r\nconst elementSizes: [ElementSize, ElementSize, ElementSize] = [\r\n {\r\n width: 624,\r\n alias: \"large\",\r\n },\r\n {\r\n width: 375,\r\n alias: \"medium\",\r\n },\r\n {\r\n width: 0,\r\n alias: \"small\",\r\n },\r\n];\r\n\r\n@Component({\r\n tag: \"dso-responsive-element\",\r\n styleUrl: \"./responsive-element.scss\",\r\n shadow: true,\r\n})\r\nexport class ResponsiveElement implements ComponentInterface {\r\n @State()\r\n sizeAlias: ResponsiveElementSize = elementSizes[0].alias;\r\n\r\n @State()\r\n sizeWidth = 0;\r\n\r\n /**\r\n * Emitted when size has changed\r\n */\r\n @Event()\r\n dsoSizeChange!: EventEmitter<ResponsiveElementSize>;\r\n\r\n /**\r\n * The current size\r\n */\r\n @Method()\r\n async getSize(): Promise<ResponsiveElementSize> {\r\n return this.sizeAlias;\r\n }\r\n\r\n private observer = new ResizeObserver(([entry]) => {\r\n if (!entry) {\r\n throw new Error(\"No entry found\");\r\n }\r\n\r\n const size = elementSizes.find((s) => entry.contentRect.width >= s.width)?.alias ?? elementSizes[0].alias;\r\n\r\n this.sizeAlias = size;\r\n this.dsoSizeChange.emit(size);\r\n });\r\n\r\n @Element()\r\n host!: HTMLDsoResponsiveElementElement;\r\n\r\n componentWillLoad() {\r\n this.observer.observe(this.host);\r\n }\r\n\r\n disconnectedCallback() {\r\n this.observer.unobserve(this.host);\r\n }\r\n\r\n render() {\r\n return (\r\n <Host small={this.sizeAlias === \"small\"} medium={this.sizeAlias === \"medium\"} large={this.sizeAlias === \"large\"}>\r\n <slot />\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"responsive-element.js","mappings":";;AAAA,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AACpD,mCAAe,oBAAoB;;ACGnC,MAAM,YAAY,GAA4C;IAC5D;QACE,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,OAAO;KACf;IACD;QACE,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,QAAQ;KAChB;IACD;QACE,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,OAAO;KACf;CACF,CAAC;MAOW,iBAAiB;IAL9B;;;;;QAOE,cAAS,GAA0B,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAGzD,cAAS,GAAG,CAAC,CAAC;QAgBN,aAAQ,GAAG,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;;YAC5C,IAAI,CAAC,KAAK,EAAE;gBACV,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;aACnC;YAED,MAAM,IAAI,GAAG,MAAA,MAAA,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,0CAAE,KAAK,mCAAI,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAE1G,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/B,CAAC,CAAC;KAoBJ;;;;IAjCC,MAAM,OAAO;QACX,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IAgBD,iBAAiB;QACf,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAClC;IAED,oBAAoB;QAClB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACpC;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,OAAO,IAC7G,8DAAQ,CACH,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/responsive-element/responsive-element.scss?tag=dso-responsive-element&encapsulation=shadow","src/components/responsive-element/responsive-element.tsx"],"sourcesContent":[":host {\r\n display: block;\r\n}\r\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Host, Method, State } from \"@stencil/core\";\r\n\r\nimport { ElementSize, ResponsiveElementSize } from \"./responsive-element.interfaces\";\r\n\r\nconst elementSizes: [ElementSize, ElementSize, ElementSize] = [\r\n {\r\n width: 624,\r\n alias: \"large\",\r\n },\r\n {\r\n width: 375,\r\n alias: \"medium\",\r\n },\r\n {\r\n width: 0,\r\n alias: \"small\",\r\n },\r\n];\r\n\r\n@Component({\r\n tag: \"dso-responsive-element\",\r\n styleUrl: \"./responsive-element.scss\",\r\n shadow: true,\r\n})\r\nexport class ResponsiveElement implements ComponentInterface {\r\n @State()\r\n sizeAlias: ResponsiveElementSize = elementSizes[0].alias;\r\n\r\n @State()\r\n sizeWidth = 0;\r\n\r\n /**\r\n * Emitted when size has changed\r\n */\r\n @Event()\r\n dsoSizeChange!: EventEmitter<ResponsiveElementSize>;\r\n\r\n /**\r\n * The current size\r\n */\r\n @Method()\r\n async getSize(): Promise<ResponsiveElementSize> {\r\n return this.sizeAlias;\r\n }\r\n\r\n private observer = new ResizeObserver(([entry]) => {\r\n if (!entry) {\r\n throw new Error(\"No entry found\");\r\n }\r\n\r\n const size = elementSizes.find((s) => entry.contentRect.width >= s.width)?.alias ?? elementSizes[0].alias;\r\n\r\n this.sizeAlias = size;\r\n this.dsoSizeChange.emit(size);\r\n });\r\n\r\n @Element()\r\n host!: HTMLDsoResponsiveElementElement;\r\n\r\n componentWillLoad() {\r\n this.observer.observe(this.host);\r\n }\r\n\r\n disconnectedCallback() {\r\n this.observer.unobserve(this.host);\r\n }\r\n\r\n render() {\r\n return (\r\n <Host small={this.sizeAlias === \"small\"} medium={this.sizeAlias === \"medium\"} large={this.sizeAlias === \"large\"}>\r\n <slot />\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -89,9 +89,9 @@ const Scrollable = /*@__PURE__*/ proxyCustomElement(class Scrollable extends HTM
89
89
  this.slottedElements.forEach((element) => resizeObserver.unobserve(element));
90
90
  }
91
91
  render() {
92
- return (h("div", { key: 'f22043000a8ff7139ff85d33868f1f022988c137', ref: (el) => (this.shadowContainerDiv = el), class: "dso-shadow-container" }, h("div", { key: '2f747885e20a59f2012ca7abb0d78540ab017c6a', ref: (el) => (this.scrollContainerDiv = el), class: clsx("dso-scroll-container", {
92
+ return (h("div", { key: '5fa153b6424805bef555cd316640230026565550', ref: (el) => (this.shadowContainerDiv = el), class: "dso-shadow-container" }, h("div", { key: '9dbed73cc2501c459b5a8e12a1762698a14c89df', ref: (el) => (this.scrollContainerDiv = el), class: clsx("dso-scroll-container", {
93
93
  [`dso-scroll-${this.scrollPosition}`]: this.scrollPosition !== "noScroll",
94
- }), onScroll: () => this._setScrollState() }, h("slot", { key: 'f55d969307844266f6f8445aa8c3988756d86aa4' }))));
94
+ }), onScroll: () => this._setScrollState() }, h("slot", { key: '268668379936c423e68714036e6840c661625452' }))));
95
95
  }
96
96
  get host() { return this; }
97
97
  static get style() { return DsoScrollableStyle0; }
@@ -1 +1 @@
1
- {"file":"scrollable.js","mappings":";;;;AAAA,MAAM,aAAa,GAAG,wxCAAwxC,CAAC;AAC/yC,4BAAe,aAAa;;ACK5B,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,QAAQ,CACN,CAAC,OAA8B,KAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,eAAK,OAAA,MAAA,6CAA6C,CAAC,KAAK,CAAC,0CAAE,eAAe,EAAE,CAAA,EAAA,CAAC,EACrG,EAAE,CACH,CACF,CAAC;AAEF,SAAS,6CAA6C,CAAC,EACrD,MAAM,GACc;IACpB,IAAI,MAAM,CAAC,UAAU,YAAY,UAAU,IAAI,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QAC/F,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;KAC/B;IAED,IAAI,MAAM,CAAC,aAAa,IAAI,wBAAwB,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;QAC1E,OAAO,MAAM,CAAC,aAAa,CAAC;KAC7B;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAgB;IAChD,OAAO,OAAO,CAAC,OAAO,KAAK,gBAAgB,CAAC;AAC9C,CAAC;MAOY,UAAU;;;;;;;QAEb,qBAAgB,GAAG,IAAI,gBAAgB,CAAC,CAAC,OAAO,KACtD,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE;;YACzB,MAAM,OAAO,GAAG,MAAA,MAAM,CAAC,aAAa,0CAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAChE,IAAI,OAAO,KAAK,IAAI,CAAC,IAAI,EAAE;gBACzB,OAAO;aACR;YAED,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB,CAAC,CACH,CAAC;8BAgB+B,UAAU;;;;;IAM3C,MAAM,eAAe;QACnB,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChD,IAAI,IAAI,CAAC,cAAc,KAAK,cAAc,EAAE;YAC1C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YAErC,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE;gBACrE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;aAC5D;SACF;KACF;IAED,IAAY,eAAe;QACzB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACvC;IAEO,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,OAAO,UAAU,CAAC;SACnB;QAED,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAE1E,IAAI,YAAY,IAAI,YAAY,EAAE;YAChC,OAAO,UAAU,CAAC;SACnB;QAED,IAAI,SAAS,KAAK,CAAC,EAAE;YACnB,OAAO,KAAK,CAAC;SACd;QAED,IAAI,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,CAAC,EAAE;YAC/C,OAAO,QAAQ,CAAC;SACjB;QAED,IAAI,SAAS,GAAG,CAAC,EAAE;YACjB,OAAO,QAAQ,CAAC;SACjB;QAED,OAAO,UAAU,CAAC;KACnB;IAED,gBAAgB;QACd,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;YACvC,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,kBAAkB,YAAY,cAAc,EAAE;YACrD,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACjD;QAED,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;KAC5E;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,kBAAkB,YAAY,cAAc,EAAE;YACrD,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACnD;QAED,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QAEnC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;KAC9E;IAED,MAAM;QACJ,QACE,4DAAK,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,EAAE,KAAK,EAAC,sBAAsB,IAC5E,4DACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,EAC3C,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE;gBAClC,CAAC,cAAc,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,cAAc,KAAK,UAAU;aAC1E,CAAC,EACF,QAAQ,EAAE,MAAM,IAAI,CAAC,eAAe,EAAE,IAEtC,8DAAa,CACT,CACF,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/scrollable/scrollable.scss?tag=dso-scrollable&encapsulation=shadow","src/components/scrollable/scrollable.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n display: block;\r\n block-size: 100%;\r\n overflow-y: hidden;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.dso-shadow-container {\r\n block-size: 100%;\r\n max-block-size: inherit;\r\n min-block-size: inherit;\r\n position: relative;\r\n\r\n .dso-scroll-container {\r\n block-size: 100%;\r\n max-block-size: inherit;\r\n min-block-size: inherit;\r\n overflow-y: auto;\r\n\r\n &::before,\r\n &::after {\r\n background-repeat: no-repeat;\r\n background-size: 100% units.$u3;\r\n content: \"\";\r\n display: block;\r\n block-size: units.$u3;\r\n inset-inline-start: 0;\r\n opacity: 0;\r\n overflow: visible;\r\n position: absolute;\r\n transition: opacity 150ms ease-in-out;\r\n inline-size: 100%;\r\n pointer-events: none;\r\n z-index: 1;\r\n }\r\n\r\n &::before {\r\n background-image: linear-gradient(to top, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));\r\n inset-block-start: 0;\r\n }\r\n\r\n &::after {\r\n background-image: linear-gradient(to bottom, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));\r\n inset-block-end: 0;\r\n }\r\n\r\n &.dso-scroll-bottom {\r\n &::before {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n &.dso-scroll-top {\r\n &::after {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n &.dso-scroll-middle {\r\n &::before,\r\n &::after {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, h, Method, State } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nimport { DsoScrollEndEvent, ScrollPosition } from \"./scrollable.interfaces\";\r\n\r\nconst resizeObserver = new ResizeObserver(\r\n debounce(\r\n (entries: ResizeObserverEntry[]) =>\r\n entries.forEach((entry) => getScrollableComponentFromResizeObserverEntry(entry)?._setScrollState()),\r\n 50,\r\n ),\r\n);\r\n\r\nfunction getScrollableComponentFromResizeObserverEntry({\r\n target,\r\n}: ResizeObserverEntry): HTMLDsoScrollableElement | undefined {\r\n if (target.parentNode instanceof ShadowRoot && isDsoScrollableComponent(target.parentNode.host)) {\r\n return target.parentNode.host;\r\n }\r\n\r\n if (target.parentElement && isDsoScrollableComponent(target.parentElement)) {\r\n return target.parentElement;\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nfunction isDsoScrollableComponent(element: Element): element is HTMLDsoScrollableElement {\r\n return element.tagName === \"DSO-SCROLLABLE\";\r\n}\r\n\r\n@Component({\r\n tag: \"dso-scrollable\",\r\n styleUrl: \"scrollable.scss\",\r\n shadow: true,\r\n})\r\nexport class Scrollable {\r\n // One MutationObserver per instance because of https://github.com/whatwg/dom/issues/126\r\n private mutationObserver = new MutationObserver((entries) =>\r\n entries.forEach(({ target }) => {\r\n const element = target.parentElement?.closest(\"dso-scrollable\");\r\n if (element !== this.host) {\r\n return;\r\n }\r\n\r\n this._setScrollState();\r\n }),\r\n );\r\n\r\n private scrollContainerDiv?: HTMLDivElement;\r\n\r\n private shadowContainerDiv?: HTMLDivElement;\r\n\r\n @Element()\r\n host!: HTMLDsoScrollableElement;\r\n\r\n /**\r\n * Event emitted when the scrollbar has reached top or bottom.\r\n */\r\n @Event()\r\n dsoScrollEnd!: EventEmitter<DsoScrollEndEvent>;\r\n\r\n @State()\r\n scrollPosition: ScrollPosition = \"noScroll\";\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _setScrollState() {\r\n const scrollPosition = this.getScrollPosition();\r\n if (this.scrollPosition !== scrollPosition) {\r\n this.scrollPosition = scrollPosition;\r\n\r\n if (this.scrollPosition === \"top\" || this.scrollPosition === \"bottom\") {\r\n this.dsoScrollEnd.emit({ scrollEnd: this.scrollPosition });\r\n }\r\n }\r\n }\r\n\r\n private get slottedElements() {\r\n return Array.from(this.host.children);\r\n }\r\n\r\n private getScrollPosition(): ScrollPosition {\r\n if (!this.scrollContainerDiv) {\r\n return \"noScroll\";\r\n }\r\n\r\n const { scrollHeight, clientHeight, scrollTop } = this.scrollContainerDiv;\r\n\r\n if (scrollHeight <= clientHeight) {\r\n return \"noScroll\";\r\n }\r\n\r\n if (scrollTop === 0) {\r\n return \"top\";\r\n }\r\n\r\n if (scrollHeight - scrollTop - clientHeight < 1) {\r\n return \"bottom\";\r\n }\r\n\r\n if (scrollTop > 0) {\r\n return \"middle\";\r\n }\r\n\r\n return \"noScroll\";\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.mutationObserver.observe(this.host, {\r\n characterData: true,\r\n attributes: false,\r\n childList: false,\r\n subtree: true,\r\n });\r\n\r\n if (this.shadowContainerDiv instanceof HTMLDivElement) {\r\n resizeObserver.observe(this.shadowContainerDiv);\r\n }\r\n\r\n this.slottedElements.forEach((element) => resizeObserver.observe(element));\r\n }\r\n\r\n disconnectedCallback(): void {\r\n if (this.shadowContainerDiv instanceof HTMLDivElement) {\r\n resizeObserver.unobserve(this.shadowContainerDiv);\r\n }\r\n\r\n this.mutationObserver.disconnect();\r\n\r\n this.slottedElements.forEach((element) => resizeObserver.unobserve(element));\r\n }\r\n\r\n render() {\r\n return (\r\n <div ref={(el) => (this.shadowContainerDiv = el)} class=\"dso-shadow-container\">\r\n <div\r\n ref={(el) => (this.scrollContainerDiv = el)}\r\n class={clsx(\"dso-scroll-container\", {\r\n [`dso-scroll-${this.scrollPosition}`]: this.scrollPosition !== \"noScroll\",\r\n })}\r\n onScroll={() => this._setScrollState()}\r\n >\r\n <slot></slot>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"scrollable.js","mappings":"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","names":[],"sources":["src/components/scrollable/scrollable.scss?tag=dso-scrollable&encapsulation=shadow","src/components/scrollable/scrollable.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n display: block;\r\n block-size: 100%;\r\n overflow-y: hidden;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.dso-shadow-container {\r\n block-size: 100%;\r\n max-block-size: inherit;\r\n min-block-size: inherit;\r\n position: relative;\r\n\r\n .dso-scroll-container {\r\n block-size: 100%;\r\n max-block-size: inherit;\r\n min-block-size: inherit;\r\n overflow-y: auto;\r\n\r\n &::before,\r\n &::after {\r\n background-repeat: no-repeat;\r\n background-size: 100% units.$u3;\r\n content: \"\";\r\n display: block;\r\n block-size: units.$u3;\r\n inset-inline-start: 0;\r\n opacity: 0;\r\n overflow: visible;\r\n position: absolute;\r\n transition: opacity 150ms ease-in-out;\r\n inline-size: 100%;\r\n pointer-events: none;\r\n z-index: 1;\r\n }\r\n\r\n &::before {\r\n background-image: linear-gradient(to top, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));\r\n inset-block-start: 0;\r\n }\r\n\r\n &::after {\r\n background-image: linear-gradient(to bottom, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));\r\n inset-block-end: 0;\r\n }\r\n\r\n &.dso-scroll-bottom {\r\n &::before {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n &.dso-scroll-top {\r\n &::after {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n &.dso-scroll-middle {\r\n &::before,\r\n &::after {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, h, Method, State } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nimport { DsoScrollEndEvent, ScrollPosition } from \"./scrollable.interfaces\";\r\n\r\nconst resizeObserver = new ResizeObserver(\r\n debounce(\r\n (entries: ResizeObserverEntry[]) =>\r\n entries.forEach((entry) => getScrollableComponentFromResizeObserverEntry(entry)?._setScrollState()),\r\n 50,\r\n ),\r\n);\r\n\r\nfunction getScrollableComponentFromResizeObserverEntry({\r\n target,\r\n}: ResizeObserverEntry): HTMLDsoScrollableElement | undefined {\r\n if (target.parentNode instanceof ShadowRoot && isDsoScrollableComponent(target.parentNode.host)) {\r\n return target.parentNode.host;\r\n }\r\n\r\n if (target.parentElement && isDsoScrollableComponent(target.parentElement)) {\r\n return target.parentElement;\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nfunction isDsoScrollableComponent(element: Element): element is HTMLDsoScrollableElement {\r\n return element.tagName === \"DSO-SCROLLABLE\";\r\n}\r\n\r\n@Component({\r\n tag: \"dso-scrollable\",\r\n styleUrl: \"scrollable.scss\",\r\n shadow: true,\r\n})\r\nexport class Scrollable {\r\n // One MutationObserver per instance because of https://github.com/whatwg/dom/issues/126\r\n private mutationObserver = new MutationObserver((entries) =>\r\n entries.forEach(({ target }) => {\r\n const element = target.parentElement?.closest(\"dso-scrollable\");\r\n if (element !== this.host) {\r\n return;\r\n }\r\n\r\n this._setScrollState();\r\n }),\r\n );\r\n\r\n private scrollContainerDiv?: HTMLDivElement;\r\n\r\n private shadowContainerDiv?: HTMLDivElement;\r\n\r\n @Element()\r\n host!: HTMLDsoScrollableElement;\r\n\r\n /**\r\n * Event emitted when the scrollbar has reached top or bottom.\r\n */\r\n @Event()\r\n dsoScrollEnd!: EventEmitter<DsoScrollEndEvent>;\r\n\r\n @State()\r\n scrollPosition: ScrollPosition = \"noScroll\";\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _setScrollState() {\r\n const scrollPosition = this.getScrollPosition();\r\n if (this.scrollPosition !== scrollPosition) {\r\n this.scrollPosition = scrollPosition;\r\n\r\n if (this.scrollPosition === \"top\" || this.scrollPosition === \"bottom\") {\r\n this.dsoScrollEnd.emit({ scrollEnd: this.scrollPosition });\r\n }\r\n }\r\n }\r\n\r\n private get slottedElements() {\r\n return Array.from(this.host.children);\r\n }\r\n\r\n private getScrollPosition(): ScrollPosition {\r\n if (!this.scrollContainerDiv) {\r\n return \"noScroll\";\r\n }\r\n\r\n const { scrollHeight, clientHeight, scrollTop } = this.scrollContainerDiv;\r\n\r\n if (scrollHeight <= clientHeight) {\r\n return \"noScroll\";\r\n }\r\n\r\n if (scrollTop === 0) {\r\n return \"top\";\r\n }\r\n\r\n if (scrollHeight - scrollTop - clientHeight < 1) {\r\n return \"bottom\";\r\n }\r\n\r\n if (scrollTop > 0) {\r\n return \"middle\";\r\n }\r\n\r\n return \"noScroll\";\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.mutationObserver.observe(this.host, {\r\n characterData: true,\r\n attributes: false,\r\n childList: false,\r\n subtree: true,\r\n });\r\n\r\n if (this.shadowContainerDiv instanceof HTMLDivElement) {\r\n resizeObserver.observe(this.shadowContainerDiv);\r\n }\r\n\r\n this.slottedElements.forEach((element) => resizeObserver.observe(element));\r\n }\r\n\r\n disconnectedCallback(): void {\r\n if (this.shadowContainerDiv instanceof HTMLDivElement) {\r\n resizeObserver.unobserve(this.shadowContainerDiv);\r\n }\r\n\r\n this.mutationObserver.disconnect();\r\n\r\n this.slottedElements.forEach((element) => resizeObserver.unobserve(element));\r\n }\r\n\r\n render() {\r\n return (\r\n <div ref={(el) => (this.shadowContainerDiv = el)} class=\"dso-shadow-container\">\r\n <div\r\n ref={(el) => (this.scrollContainerDiv = el)}\r\n class={clsx(\"dso-scroll-container\", {\r\n [`dso-scroll-${this.scrollPosition}`]: this.scrollPosition !== \"noScroll\",\r\n })}\r\n onScroll={() => this._setScrollState()}\r\n >\r\n <slot></slot>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -13,6 +13,8 @@ const Selectable = /*@__PURE__*/ proxyCustomElement(class Selectable extends HTM
13
13
  super();
14
14
  this.__registerHost();
15
15
  this.dsoChange = createEvent(this, "dsoChange", 7);
16
+ this.infoActive = false;
17
+ this.keyboardFocus = false;
16
18
  this.fallbackIdentifier = createIdentifier("DsoSelectable");
17
19
  this.handleOnChange = (e) => {
18
20
  const { target } = e;
@@ -22,20 +24,6 @@ const Selectable = /*@__PURE__*/ proxyCustomElement(class Selectable extends HTM
22
24
  });
23
25
  forceUpdate(this.host);
24
26
  };
25
- this.type = undefined;
26
- this.identifier = undefined;
27
- this.name = undefined;
28
- this.value = undefined;
29
- this.invalid = undefined;
30
- this.describedById = undefined;
31
- this.labelledById = undefined;
32
- this.disabled = undefined;
33
- this.required = undefined;
34
- this.checked = undefined;
35
- this.indeterminate = undefined;
36
- this.infoFixed = undefined;
37
- this.infoActive = false;
38
- this.keyboardFocus = false;
39
27
  }
40
28
  /**
41
29
  * Method to toggle the Info. Is set to `active` when passed.
@@ -68,7 +56,7 @@ const Selectable = /*@__PURE__*/ proxyCustomElement(class Selectable extends HTM
68
56
  render() {
69
57
  var _a;
70
58
  const hasInfo = !!this.host.querySelector('[slot="info"]');
71
- return (h(Fragment, { key: 'fa4b6f259cdabb24f0663b252c6a0e759a56ba9d' }, h("div", { key: 'da1e026349a4d3c7a9cf108f46858aaa17a3dd34', class: "dso-selectable-container" }, h("div", { key: '2d17dd9bb4933475c0dd9778de0ccb97a77cbd99', class: clsx("dso-selectable-input-wrapper", { "dso-keyboard-focus": this.keyboardFocus }) }, h("input", { key: '4f46deb4c37e9577626af506551cf713214cf2a7', type: this.type, id: this.getIdentifier(), value: this.value, name: this.name, "aria-invalid": (_a = this.invalid) === null || _a === void 0 ? void 0 : _a.toString(), "aria-describedby": hasInfo && this.infoFixed ? this.describedById : undefined, "aria-labelledBy": this.labelledById, disabled: this.disabled, required: this.required, checked: this.checked, onChange: this.handleOnChange, onBlur: () => (this.keyboardFocus = false), onKeyUp: () => (this.keyboardFocus = true), ref: (el) => (this.input = el) }), !this.labelledById ? (h("label", { htmlFor: this.getIdentifier() }, h("slot", null))) : (h("label", null, h("slot", null)))), hasInfo && !this.infoFixed && (h("dso-info-button", { key: 'e54d3223fb6a7d07a6b39f14b544bf0dffa5ca86', active: this.infoActive, onDsoToggle: (e) => (this.infoActive = e.detail.active) }))), hasInfo && (h("dso-info", { key: '072933f4b06ef2f3c187b530f4e015f46044bf70', id: hasInfo && this.infoFixed ? this.describedById : undefined, fixed: this.infoFixed, active: this.infoActive, onDsoClose: () => (this.infoActive = false) }, h("div", { key: '2142cbabdf2d970f36144b7d7658587b007d8164' }, h("slot", { key: '0d21b22bb68c34eeba23668633391bd62b7b2c40', name: "info" })))), h("slot", { key: '93ee767f26fb270c7dcc4aaa81ef522c205a386b', name: "options" })));
59
+ return (h(Fragment, { key: '63f17ce6e08a7759e10965a2cc9acbe54b9fb717' }, h("div", { key: 'e397d6b0e0d66b6f735b120032a6913b4cba6386', class: "dso-selectable-container" }, h("div", { key: 'dbf5ac2b5bbdd7be4f59c515ae1a18270646efec', class: clsx("dso-selectable-input-wrapper", { "dso-keyboard-focus": this.keyboardFocus }) }, h("input", { key: 'f28cdb2b7f7b64a13d5ef5a3f118c94c65d5e995', type: this.type, id: this.getIdentifier(), value: this.value, name: this.name, "aria-invalid": (_a = this.invalid) === null || _a === void 0 ? void 0 : _a.toString(), "aria-describedby": hasInfo && this.infoFixed ? this.describedById : undefined, "aria-labelledBy": this.labelledById, disabled: this.disabled, required: this.required, checked: this.checked, onChange: this.handleOnChange, onBlur: () => (this.keyboardFocus = false), onKeyUp: () => (this.keyboardFocus = true), ref: (el) => (this.input = el) }), !this.labelledById ? (h("label", { htmlFor: this.getIdentifier() }, h("slot", null))) : (h("label", null, h("slot", null)))), hasInfo && !this.infoFixed && (h("dso-info-button", { key: 'cfef3ace62702652a8c07f4ff962c9478597060c', active: this.infoActive, onDsoToggle: (e) => (this.infoActive = e.detail.active) }))), hasInfo && (h("dso-info", { key: '5a22036e20ee5784a0f5afca63bef0880ba27636', id: hasInfo && this.infoFixed ? this.describedById : undefined, fixed: this.infoFixed, active: this.infoActive, onDsoClose: () => (this.infoActive = false) }, h("div", { key: 'b86141cd2fc23b52547a7e3300ecb9ab9a09cc11' }, h("slot", { key: '278fa6cd922386103a7b3531e964695445014160', name: "info" })))), h("slot", { key: '930568b89c7f35b9f704dfc1c65977979d4a2e4e', name: "options" })));
72
60
  }
73
61
  componentDidRender() {
74
62
  if (this.input && typeof this.checked === "boolean" && this.input.checked !== this.checked) {
@@ -1 +1 @@
1
- {"file":"selectable.js","mappings":"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","names":[],"sources":["src/components/selectable/selectable.scss?tag=dso-selectable&encapsulation=scoped","src/components/selectable/selectable.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/selectable\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n @include selectable.root(false);\r\n\r\n padding-inline-start: selectable.$symbol-indent;\r\n\r\n &[invalid]:not([invalid=\"false\"]) {\r\n @include selectable.invalid();\r\n }\r\n\r\n @include selectable.children(\"dso-info\");\r\n}\r\n\r\n:host(:not(:last-child)) {\r\n @include selectable.notLastChild();\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.dso-selectable-container {\r\n display: inline-block;\r\n\r\n .dso-selectable-input-wrapper {\r\n display: inline-block;\r\n min-block-size: units.$u3;\r\n\r\n &:focus-within.dso-keyboard-focus {\r\n position: relative;\r\n inset-inline-start: -(selectable.$symbol-indent);\r\n\r\n padding-inline-start: selectable.$symbol-indent;\r\n\r\n margin-inline-end: -(selectable.$symbol-indent);\r\n\r\n @include utilities.focus-outline();\r\n }\r\n\r\n input[type=\"radio\"],\r\n input[type=\"checkbox\"] {\r\n &:focus + label::before {\r\n @include selectable.selectableBoxShadow(\r\n selectable.$border-width,\r\n var(--dso-selectable-color, selectable.$valid-color)\r\n );\r\n }\r\n }\r\n }\r\n}\r\n","import {\r\n h,\r\n Component,\r\n Prop,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Element,\r\n State,\r\n forceUpdate,\r\n Watch,\r\n Method,\r\n ComponentInterface,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { createIdentifier } from \"../../utils/create-identifier\";\r\nimport { SelectableChangeEvent } from \"./selectable.interfaces\";\r\n\r\n/**\r\n * @slot - The label for this control\r\n * @slot info - Rich Content to be slotted in Info.\r\n * @slot options - for further nested selectable options: `<ul class=\"dso-selectable-options\" slot=\"options\">` and wrap each Selectable in a `<li>`.\r\n */\r\n@Component({\r\n tag: \"dso-selectable\",\r\n styleUrl: \"selectable.scss\",\r\n scoped: true,\r\n})\r\nexport class Selectable implements ComponentInterface {\r\n /**\r\n * Type of Selectable.\r\n *\r\n * `checkbox`: Multiple options\r\n * `radio`: Single option.\r\n */\r\n @Prop()\r\n type!: \"checkbox\" | \"radio\";\r\n\r\n /**\r\n * To set `<input id>` attribute for external references.\r\n */\r\n @Prop()\r\n identifier?: string;\r\n\r\n /**\r\n * Name of the Selectable. Can be used to group Selectables.\r\n */\r\n @Prop()\r\n name?: string;\r\n\r\n /**\r\n * The value of the Selectable.\r\n */\r\n @Prop()\r\n value!: string;\r\n\r\n /**\r\n * Set to true of the current value is not valid.\r\n */\r\n @Prop()\r\n invalid?: boolean;\r\n\r\n /**\r\n * To link this control to an element that describes it.\r\n */\r\n @Prop()\r\n describedById?: string;\r\n\r\n /**\r\n * To link this control to an element that labels it.\r\n */\r\n @Prop()\r\n labelledById?: string;\r\n\r\n /**\r\n * To disable the Selectable.\r\n */\r\n @Prop()\r\n disabled?: boolean;\r\n\r\n /**\r\n * To mark the Selectable as required.\r\n */\r\n @Prop()\r\n required?: boolean;\r\n\r\n /**\r\n * Mark the Selectable as checked\r\n */\r\n @Prop({ reflect: true })\r\n checked?: boolean;\r\n\r\n /**\r\n * An indeterminate state is neither true or false. It means the answer is somewhere in between.\r\n *\r\n * Can be used to indicate child Selectables that are a mix of checked and unchecked.\r\n */\r\n @Prop()\r\n indeterminate?: boolean;\r\n\r\n /**\r\n * Set to true if the Info should not be toggled and always visible.\r\n */\r\n @Prop()\r\n infoFixed?: boolean;\r\n\r\n /**\r\n * Emitted when the user checks or unchecks the Selectable.\r\n */\r\n @Event()\r\n dsoChange!: EventEmitter<SelectableChangeEvent>;\r\n\r\n @Element()\r\n host!: HTMLDsoSelectableElement;\r\n\r\n @State()\r\n infoActive = false;\r\n\r\n @State()\r\n keyboardFocus = false;\r\n\r\n /**\r\n * Method to toggle the Info. Is set to `active` when passed.\r\n *\r\n * If `active` is not passed, Info is toggled to opposite value.\r\n * @param active\r\n */\r\n @Method()\r\n async toggleInfo(active?: boolean) {\r\n this.infoActive = active ?? !this.infoActive;\r\n }\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private fallbackIdentifier = createIdentifier(\"DsoSelectable\");\r\n\r\n private input: HTMLInputElement | undefined;\r\n\r\n private handleOnChange = (e: Event) => {\r\n const { target } = e;\r\n\r\n this.dsoChange.emit({\r\n originalEvent: e,\r\n checked: target instanceof HTMLInputElement && target.checked,\r\n });\r\n\r\n forceUpdate(this.host);\r\n };\r\n\r\n componentDidLoad() {\r\n this.mutationObserver?.disconnect();\r\n\r\n this.mutationObserver = new MutationObserver(() => forceUpdate(this.host));\r\n this.mutationObserver.observe(this.host, {\r\n childList: true,\r\n });\r\n\r\n this.setIndeterminate();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.mutationObserver?.disconnect();\r\n }\r\n\r\n @Watch(\"indeterminate\")\r\n setIndeterminate() {\r\n if (!(this.input instanceof HTMLInputElement) || this.type !== \"checkbox\") {\r\n return;\r\n }\r\n\r\n this.input.indeterminate = !!this.indeterminate;\r\n }\r\n\r\n render() {\r\n const hasInfo = !!this.host.querySelector('[slot=\"info\"]');\r\n\r\n return (\r\n <Fragment>\r\n <div class=\"dso-selectable-container\">\r\n <div class={clsx(\"dso-selectable-input-wrapper\", { \"dso-keyboard-focus\": this.keyboardFocus })}>\r\n <input\r\n type={this.type}\r\n id={this.getIdentifier()}\r\n value={this.value}\r\n name={this.name}\r\n aria-invalid={this.invalid?.toString()}\r\n aria-describedby={hasInfo && this.infoFixed ? this.describedById : undefined}\r\n aria-labelledBy={this.labelledById}\r\n disabled={this.disabled}\r\n required={this.required}\r\n checked={this.checked}\r\n onChange={this.handleOnChange}\r\n onBlur={() => (this.keyboardFocus = false)}\r\n onKeyUp={() => (this.keyboardFocus = true)}\r\n ref={(el) => (this.input = el)}\r\n />\r\n {!this.labelledById ? (\r\n <label htmlFor={this.getIdentifier()}>\r\n <slot />\r\n </label>\r\n ) : (\r\n <label>\r\n <slot />\r\n </label>\r\n )}\r\n </div>\r\n {hasInfo && !this.infoFixed && (\r\n <dso-info-button\r\n active={this.infoActive}\r\n onDsoToggle={(e) => (this.infoActive = e.detail.active)}\r\n ></dso-info-button>\r\n )}\r\n </div>\r\n {hasInfo && (\r\n <dso-info\r\n id={hasInfo && this.infoFixed ? this.describedById : undefined}\r\n fixed={this.infoFixed}\r\n active={this.infoActive}\r\n onDsoClose={() => (this.infoActive = false)}\r\n >\r\n <div>\r\n <slot name=\"info\"></slot>\r\n </div>\r\n </dso-info>\r\n )}\r\n <slot name=\"options\" />\r\n </Fragment>\r\n );\r\n }\r\n\r\n componentDidRender(): void {\r\n if (this.input && typeof this.checked === \"boolean\" && this.input.checked !== this.checked) {\r\n this.input.checked = this.checked;\r\n }\r\n }\r\n\r\n private getIdentifier(): string {\r\n return this.identifier ?? this.fallbackIdentifier;\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"selectable.js","mappings":";;;;;;;AAAA,MAAM,aAAa,GAAG,0+LAA0+L,CAAC;AACjgM,4BAAe,aAAa;;MC2Bf,UAAU;IALvB;;;;QA6FE,eAAU,GAAG,KAAK,CAAC;QAGnB,kBAAa,GAAG,KAAK,CAAC;QAed,uBAAkB,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAIvD,mBAAc,GAAG,CAAC,CAAQ;YAChC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YAErB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAClB,aAAa,EAAE,CAAC;gBAChB,OAAO,EAAE,MAAM,YAAY,gBAAgB,IAAI,MAAM,CAAC,OAAO;aAC9D,CAAC,CAAC;YAEH,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACxB,CAAC;KA4FH;;;;;;;IA/GC,MAAM,UAAU,CAAC,MAAgB;QAC/B,IAAI,CAAC,UAAU,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,CAAC,IAAI,CAAC,UAAU,CAAC;KAC9C;IAmBD,gBAAgB;;QACd,MAAA,IAAI,CAAC,gBAAgB,0CAAE,UAAU,EAAE,CAAC;QAEpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;YACvC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAED,oBAAoB;;QAClB,MAAA,IAAI,CAAC,gBAAgB,0CAAE,UAAU,EAAE,CAAC;KACrC;IAGD,gBAAgB;QACd,IAAI,EAAE,IAAI,CAAC,KAAK,YAAY,gBAAgB,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;YACzE,OAAO;SACR;QAED,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;KACjD;IAED,MAAM;;QACJ,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAE3D,QACE,EAAC,QAAQ,uDACP,4DAAK,KAAK,EAAC,0BAA0B,IACnC,4DAAK,KAAK,EAAE,IAAI,CAAC,8BAA8B,EAAE,EAAE,oBAAoB,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,IAC5F,8DACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,EACxB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,kBACD,MAAA,IAAI,CAAC,OAAO,0CAAE,QAAQ,EAAE,sBACpB,OAAO,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,GAAG,SAAS,qBAC3D,IAAI,CAAC,YAAY,EAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,cAAc,EAC7B,MAAM,EAAE,OAAO,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,EAC1C,OAAO,EAAE,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAC1C,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,GAC9B,EACD,CAAC,IAAI,CAAC,YAAY,IACjB,aAAO,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,IAClC,eAAQ,CACF,KAER,iBACE,eAAQ,CACF,CACT,CACG,EACL,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,KACzB,wEACE,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,WAAW,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GACtC,CACpB,CACG,EACL,OAAO,KACN,iEACE,EAAE,EAAE,OAAO,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,GAAG,SAAS,EAC9D,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,UAAU,EAAE,OAAO,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAE3C,8DACE,6DAAM,IAAI,EAAC,MAAM,GAAQ,CACrB,CACG,CACZ,EACD,6DAAM,IAAI,EAAC,SAAS,GAAG,CACd,EACX;KACH;IAED,kBAAkB;QAChB,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE;YAC1F,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;SACnC;KACF;IAEO,aAAa;;QACnB,OAAO,MAAA,IAAI,CAAC,UAAU,mCAAI,IAAI,CAAC,kBAAkB,CAAC;KACnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/selectable/selectable.scss?tag=dso-selectable&encapsulation=scoped","src/components/selectable/selectable.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/selectable\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n @include selectable.root(false);\r\n\r\n padding-inline-start: selectable.$symbol-indent;\r\n\r\n &[invalid]:not([invalid=\"false\"]) {\r\n @include selectable.invalid();\r\n }\r\n\r\n @include selectable.children(\"dso-info\");\r\n}\r\n\r\n:host(:not(:last-child)) {\r\n @include selectable.notLastChild();\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.dso-selectable-container {\r\n display: inline-block;\r\n\r\n .dso-selectable-input-wrapper {\r\n display: inline-block;\r\n min-block-size: units.$u3;\r\n\r\n &:focus-within.dso-keyboard-focus {\r\n position: relative;\r\n inset-inline-start: -(selectable.$symbol-indent);\r\n\r\n padding-inline-start: selectable.$symbol-indent;\r\n\r\n margin-inline-end: -(selectable.$symbol-indent);\r\n\r\n @include utilities.focus-outline();\r\n }\r\n\r\n input[type=\"radio\"],\r\n input[type=\"checkbox\"] {\r\n &:focus + label::before {\r\n @include selectable.selectableBoxShadow(\r\n selectable.$border-width,\r\n var(--dso-selectable-color, selectable.$valid-color)\r\n );\r\n }\r\n }\r\n }\r\n}\r\n","import {\r\n h,\r\n Component,\r\n Prop,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Element,\r\n State,\r\n forceUpdate,\r\n Watch,\r\n Method,\r\n ComponentInterface,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { createIdentifier } from \"../../utils/create-identifier\";\r\nimport { SelectableChangeEvent } from \"./selectable.interfaces\";\r\n\r\n/**\r\n * @slot - The label for this control\r\n * @slot info - Rich Content to be slotted in Info.\r\n * @slot options - for further nested selectable options: `<ul class=\"dso-selectable-options\" slot=\"options\">` and wrap each Selectable in a `<li>`.\r\n */\r\n@Component({\r\n tag: \"dso-selectable\",\r\n styleUrl: \"selectable.scss\",\r\n scoped: true,\r\n})\r\nexport class Selectable implements ComponentInterface {\r\n /**\r\n * Type of Selectable.\r\n *\r\n * `checkbox`: Multiple options\r\n * `radio`: Single option.\r\n */\r\n @Prop()\r\n type!: \"checkbox\" | \"radio\";\r\n\r\n /**\r\n * To set `<input id>` attribute for external references.\r\n */\r\n @Prop()\r\n identifier?: string;\r\n\r\n /**\r\n * Name of the Selectable. Can be used to group Selectables.\r\n */\r\n @Prop()\r\n name?: string;\r\n\r\n /**\r\n * The value of the Selectable.\r\n */\r\n @Prop()\r\n value!: string;\r\n\r\n /**\r\n * Set to true of the current value is not valid.\r\n */\r\n @Prop()\r\n invalid?: boolean;\r\n\r\n /**\r\n * To link this control to an element that describes it.\r\n */\r\n @Prop()\r\n describedById?: string;\r\n\r\n /**\r\n * To link this control to an element that labels it.\r\n */\r\n @Prop()\r\n labelledById?: string;\r\n\r\n /**\r\n * To disable the Selectable.\r\n */\r\n @Prop()\r\n disabled?: boolean;\r\n\r\n /**\r\n * To mark the Selectable as required.\r\n */\r\n @Prop()\r\n required?: boolean;\r\n\r\n /**\r\n * Mark the Selectable as checked\r\n */\r\n @Prop({ reflect: true })\r\n checked?: boolean;\r\n\r\n /**\r\n * An indeterminate state is neither true or false. It means the answer is somewhere in between.\r\n *\r\n * Can be used to indicate child Selectables that are a mix of checked and unchecked.\r\n */\r\n @Prop()\r\n indeterminate?: boolean;\r\n\r\n /**\r\n * Set to true if the Info should not be toggled and always visible.\r\n */\r\n @Prop()\r\n infoFixed?: boolean;\r\n\r\n /**\r\n * Emitted when the user checks or unchecks the Selectable.\r\n */\r\n @Event()\r\n dsoChange!: EventEmitter<SelectableChangeEvent>;\r\n\r\n @Element()\r\n host!: HTMLDsoSelectableElement;\r\n\r\n @State()\r\n infoActive = false;\r\n\r\n @State()\r\n keyboardFocus = false;\r\n\r\n /**\r\n * Method to toggle the Info. Is set to `active` when passed.\r\n *\r\n * If `active` is not passed, Info is toggled to opposite value.\r\n * @param active\r\n */\r\n @Method()\r\n async toggleInfo(active?: boolean) {\r\n this.infoActive = active ?? !this.infoActive;\r\n }\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private fallbackIdentifier = createIdentifier(\"DsoSelectable\");\r\n\r\n private input: HTMLInputElement | undefined;\r\n\r\n private handleOnChange = (e: Event) => {\r\n const { target } = e;\r\n\r\n this.dsoChange.emit({\r\n originalEvent: e,\r\n checked: target instanceof HTMLInputElement && target.checked,\r\n });\r\n\r\n forceUpdate(this.host);\r\n };\r\n\r\n componentDidLoad() {\r\n this.mutationObserver?.disconnect();\r\n\r\n this.mutationObserver = new MutationObserver(() => forceUpdate(this.host));\r\n this.mutationObserver.observe(this.host, {\r\n childList: true,\r\n });\r\n\r\n this.setIndeterminate();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.mutationObserver?.disconnect();\r\n }\r\n\r\n @Watch(\"indeterminate\")\r\n setIndeterminate() {\r\n if (!(this.input instanceof HTMLInputElement) || this.type !== \"checkbox\") {\r\n return;\r\n }\r\n\r\n this.input.indeterminate = !!this.indeterminate;\r\n }\r\n\r\n render() {\r\n const hasInfo = !!this.host.querySelector('[slot=\"info\"]');\r\n\r\n return (\r\n <Fragment>\r\n <div class=\"dso-selectable-container\">\r\n <div class={clsx(\"dso-selectable-input-wrapper\", { \"dso-keyboard-focus\": this.keyboardFocus })}>\r\n <input\r\n type={this.type}\r\n id={this.getIdentifier()}\r\n value={this.value}\r\n name={this.name}\r\n aria-invalid={this.invalid?.toString()}\r\n aria-describedby={hasInfo && this.infoFixed ? this.describedById : undefined}\r\n aria-labelledBy={this.labelledById}\r\n disabled={this.disabled}\r\n required={this.required}\r\n checked={this.checked}\r\n onChange={this.handleOnChange}\r\n onBlur={() => (this.keyboardFocus = false)}\r\n onKeyUp={() => (this.keyboardFocus = true)}\r\n ref={(el) => (this.input = el)}\r\n />\r\n {!this.labelledById ? (\r\n <label htmlFor={this.getIdentifier()}>\r\n <slot />\r\n </label>\r\n ) : (\r\n <label>\r\n <slot />\r\n </label>\r\n )}\r\n </div>\r\n {hasInfo && !this.infoFixed && (\r\n <dso-info-button\r\n active={this.infoActive}\r\n onDsoToggle={(e) => (this.infoActive = e.detail.active)}\r\n ></dso-info-button>\r\n )}\r\n </div>\r\n {hasInfo && (\r\n <dso-info\r\n id={hasInfo && this.infoFixed ? this.describedById : undefined}\r\n fixed={this.infoFixed}\r\n active={this.infoActive}\r\n onDsoClose={() => (this.infoActive = false)}\r\n >\r\n <div>\r\n <slot name=\"info\"></slot>\r\n </div>\r\n </dso-info>\r\n )}\r\n <slot name=\"options\" />\r\n </Fragment>\r\n );\r\n }\r\n\r\n componentDidRender(): void {\r\n if (this.input && typeof this.checked === \"boolean\" && this.input.checked !== this.checked) {\r\n this.input.checked = this.checked;\r\n }\r\n }\r\n\r\n private getIdentifier(): string {\r\n return this.identifier ?? this.fallbackIdentifier;\r\n }\r\n}\r\n"],"version":3}
@@ -9,11 +9,17 @@ const SlideToggle = /*@__PURE__*/ proxyCustomElement(class SlideToggle extends H
9
9
  super();
10
10
  this.__registerHost();
11
11
  this.dsoActiveChange = createEvent(this, "dsoActiveChange", 5);
12
+ /**
13
+ * Set to true if Slide Toggle is checked.
14
+ */
12
15
  this.checked = false;
16
+ /**
17
+ * Disables the Slide Toggle, preventing it from checking/unchecking and therefor not emitting any events.
18
+ */
13
19
  this.disabled = false;
14
- this.accessibleLabel = undefined;
15
- this.labelledbyId = undefined;
16
- this.hasVisibleLabel = undefined;
20
+ /**
21
+ * Provide an `id` for the `<button>`. Useful for placing your to place your own `<label for="id">`.
22
+ */
17
23
  this.identifier = v4();
18
24
  }
19
25
  handleSwitch(e) {
@@ -26,7 +32,7 @@ const SlideToggle = /*@__PURE__*/ proxyCustomElement(class SlideToggle extends H
26
32
  this.hasVisibleLabel = this.host.querySelector("*") !== null;
27
33
  }
28
34
  render() {
29
- return (h(Fragment, null, h("button", Object.assign({ key: '1d0bd72208407db78bf18151ca091cc52ee8fb01', id: this.identifier, role: "switch", class: "dso-slider", "aria-checked": "" + this.checked, disabled: this.disabled, onClick: (e) => this.handleSwitch(e) }, (this.accessibleLabel ? { "aria-label": this.accessibleLabel } : {}), (this.labelledbyId ? { "aria-labelledby": this.labelledbyId } : {})), h("svg", { key: 'aeab86c82b268e0090b94867fd8f404cc2c52ba2', xmlns: "http://www.w3.org/2000/svg", width: "40", height: "20", viewBox: "0 0 40 20" }, h("g", { key: '8ba58bfc4e94d0ef9ed98a2a3a6c6820f7ad0e43', fill: "none", "fill-rule": "evenodd" }, h("rect", { key: '992551dcb7d56e2db0f71816b2d7af218dc1b1f3', width: "40", height: "20", fill: "currentColor", rx: "10" }), h("circle", { key: 'a3aca9759480ab267897c3d156945e8df7f6af70', cy: "10", r: "8", fill: "currentColor" })))), this.hasVisibleLabel && (h("label", { key: '688ed90390ee4454f4361b8d44018a7f40502886', htmlFor: this.identifier }, h("slot", { key: '1681d2d582523acb101921eb6653328676213392' })))));
35
+ return (h(Fragment, null, h("button", Object.assign({ key: '306eb41c32a4811e8ae34fb407f827bc8b875d90', id: this.identifier, role: "switch", class: "dso-slider", "aria-checked": "" + this.checked, disabled: this.disabled, onClick: (e) => this.handleSwitch(e) }, (this.accessibleLabel ? { "aria-label": this.accessibleLabel } : {}), (this.labelledbyId ? { "aria-labelledby": this.labelledbyId } : {})), h("svg", { key: '35dac095c112ff5ebfe85701c5d3a44d5b1dbf68', xmlns: "http://www.w3.org/2000/svg", width: "40", height: "20", viewBox: "0 0 40 20" }, h("g", { key: 'b6db44931a28ffbf074ebe22b6ad2aaca58609d1', fill: "none", "fill-rule": "evenodd" }, h("rect", { key: '40618cd396f7fb4c316c58fb9afe7138aa5dffd5', width: "40", height: "20", fill: "currentColor", rx: "10" }), h("circle", { key: '3bd59d43e08c68849e89ec62f89d8cd32e68542b', cy: "10", r: "8", fill: "currentColor" })))), this.hasVisibleLabel && (h("label", { key: '1de645b2d4f302b4c34ffbcbd7f012b6aa2eb164', htmlFor: this.identifier }, h("slot", { key: '21915a975abcff59b830a891660cb1f23f604a6f' })))));
30
36
  }
31
37
  get host() { return this; }
32
38
  static get style() { return DsoSlideToggleStyle0; }
@@ -1 +1 @@
1
- {"file":"slide-toggle.js","mappings":";;;AAAA,MAAM,cAAc,GAAG,4vBAA4vB,CAAC;AACpxB,6BAAe,cAAc;;MCQhB,WAAW;;;;;uBAQZ,KAAK;wBAMJ,KAAK;;;;0BAqBH,EAAE,EAAE;;IAQT,YAAY,CAAC,CAAQ;QAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YACxB,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO;SACvB,CAAC,CAAC;KACJ;IAED,iBAAiB;QACf,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;KAC9D;IAED,MAAM;QACJ,QACE,kBACE,6EACE,EAAE,EAAE,IAAI,CAAC,UAAU,EACnB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,YAAY,kBACJ,EAAE,GAAG,IAAI,CAAC,OAAO,EAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAC/B,IAAI,CAAC,eAAe,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAClE,IAAI,CAAC,YAAY,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,IAEtE,4DAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,IAChF,0DAAG,IAAI,EAAC,MAAM,eAAW,SAAS,IAChC,6DAAM,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,cAAc,EAAC,EAAE,EAAC,IAAI,GAAG,EAC3D,+DAAQ,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,cAAc,GAAG,CAC1C,CACA,CACC,EACR,IAAI,CAAC,eAAe,KACnB,8DAAO,OAAO,EAAE,IAAI,CAAC,UAAU,IAC7B,8DAAQ,CACF,CACT,CACA,EACH;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/slide-toggle/slide-toggle.scss?tag=dso-slide-toggle","src/components/slide-toggle/slide-toggle.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\nbutton.dso-slider {\r\n border: 0;\r\n padding: 0;\r\n\r\n &:focus-visible {\r\n outline: 2px solid colors.$grijs-80;\r\n outline-offset: 1px;\r\n }\r\n\r\n svg {\r\n rect {\r\n fill: colors.$grijs-40;\r\n transition: fill 0.25s;\r\n }\r\n\r\n circle {\r\n @include utilities.transition(transform);\r\n\r\n transform: translateX(10px);\r\n fill: colors.$wit;\r\n }\r\n }\r\n\r\n &[aria-checked=\"true\"] svg {\r\n rect {\r\n fill: colors.$bosgroen;\r\n }\r\n\r\n circle {\r\n transform: translateX(30px);\r\n fill: colors.$wit;\r\n }\r\n }\r\n\r\n &[disabled] svg {\r\n rect {\r\n fill: colors.$grijs-20;\r\n }\r\n\r\n circle {\r\n fill: colors.$grijs-10;\r\n }\r\n }\r\n\r\n &[disabled][aria-checked=\"true\"] svg {\r\n rect {\r\n fill: colors.$bosgroen-40;\r\n }\r\n\r\n circle {\r\n fill: colors.$grijs-10;\r\n }\r\n }\r\n}\r\n\r\n.dso-slider {\r\n border-radius: units.$u3;\r\n display: inline-flex;\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n}\r\n","import { h, Component, ComponentInterface, Event, Fragment, Prop, EventEmitter, Element, State } from \"@stencil/core\";\r\nimport { v4 } from \"uuid\";\r\nimport { SlideToggleActiveEvent } from \"./slide-toggle.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-slide-toggle\",\r\n styleUrl: \"slide-toggle.scss\",\r\n shadow: false,\r\n})\r\nexport class SlideToggle implements ComponentInterface {\r\n @Element()\r\n private host!: HTMLDsoSlideToggleElement;\r\n\r\n /**\r\n * Set to true if Slide Toggle is checked.\r\n */\r\n @Prop()\r\n checked = false;\r\n\r\n /**\r\n * Disables the Slide Toggle, preventing it from checking/unchecking and therefor not emitting any events.\r\n */\r\n @Prop()\r\n disabled = false;\r\n\r\n /**\r\n * When provided the `<button>` will be labelled with `aria-label`. For a visible label provide a `<span>` inside the component.\r\n */\r\n @Prop()\r\n accessibleLabel?: string;\r\n\r\n /**\r\n * Provide the `id` of the element that labels this element. this property sets the `aria-labelledby` on the switch button.\r\n */\r\n @Prop()\r\n labelledbyId?: string;\r\n\r\n @State()\r\n hasVisibleLabel?: boolean;\r\n\r\n /**\r\n * Provide an `id` for the `<button>`. Useful for placing your to place your own `<label for=\"id\">`.\r\n */\r\n @Prop()\r\n identifier = v4();\r\n\r\n /**\r\n * Emitted when user checks or unchecks the Slide Toggle.\r\n */\r\n @Event({ composed: false })\r\n dsoActiveChange!: EventEmitter<SlideToggleActiveEvent>;\r\n\r\n private handleSwitch(e: Event): void {\r\n this.dsoActiveChange.emit({\r\n originalEvent: e,\r\n checked: !this.checked,\r\n });\r\n }\r\n\r\n componentWillLoad(): void {\r\n this.hasVisibleLabel = this.host.querySelector(\"*\") !== null;\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n <button\r\n id={this.identifier}\r\n role=\"switch\"\r\n class=\"dso-slider\"\r\n aria-checked={\"\" + this.checked}\r\n disabled={this.disabled}\r\n onClick={(e) => this.handleSwitch(e)}\r\n {...(this.accessibleLabel ? { \"aria-label\": this.accessibleLabel } : {})}\r\n {...(this.labelledbyId ? { \"aria-labelledby\": this.labelledbyId } : {})}\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"20\" viewBox=\"0 0 40 20\">\r\n <g fill=\"none\" fill-rule=\"evenodd\">\r\n <rect width=\"40\" height=\"20\" fill=\"currentColor\" rx=\"10\" />\r\n <circle cy=\"10\" r=\"8\" fill=\"currentColor\" />\r\n </g>\r\n </svg>\r\n </button>\r\n {this.hasVisibleLabel && (\r\n <label htmlFor={this.identifier}>\r\n <slot />\r\n </label>\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"slide-toggle.js","mappings":";;;AAAA,MAAM,cAAc,GAAG,4vBAA4vB,CAAC;AACpxB,6BAAe,cAAc;;MCQhB,WAAW;IALxB;;;;;;;QAaE,YAAO,GAAG,KAAK,CAAC;;;;QAMhB,aAAQ,GAAG,KAAK,CAAC;;;;QAqBjB,eAAU,GAAG,EAAE,EAAE,CAAC;KA+CnB;IAvCS,YAAY,CAAC,CAAQ;QAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YACxB,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO;SACvB,CAAC,CAAC;KACJ;IAED,iBAAiB;QACf,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;KAC9D;IAED,MAAM;QACJ,QACE,kBACE,6EACE,EAAE,EAAE,IAAI,CAAC,UAAU,EACnB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,YAAY,kBACJ,EAAE,GAAG,IAAI,CAAC,OAAO,EAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAC/B,IAAI,CAAC,eAAe,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAClE,IAAI,CAAC,YAAY,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,IAEtE,4DAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,IAChF,0DAAG,IAAI,EAAC,MAAM,eAAW,SAAS,IAChC,6DAAM,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,cAAc,EAAC,EAAE,EAAC,IAAI,GAAG,EAC3D,+DAAQ,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,cAAc,GAAG,CAC1C,CACA,CACC,EACR,IAAI,CAAC,eAAe,KACnB,8DAAO,OAAO,EAAE,IAAI,CAAC,UAAU,IAC7B,8DAAQ,CACF,CACT,CACA,EACH;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/slide-toggle/slide-toggle.scss?tag=dso-slide-toggle","src/components/slide-toggle/slide-toggle.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\nbutton.dso-slider {\r\n border: 0;\r\n padding: 0;\r\n\r\n &:focus-visible {\r\n outline: 2px solid colors.$grijs-80;\r\n outline-offset: 1px;\r\n }\r\n\r\n svg {\r\n rect {\r\n fill: colors.$grijs-40;\r\n transition: fill 0.25s;\r\n }\r\n\r\n circle {\r\n @include utilities.transition(transform);\r\n\r\n transform: translateX(10px);\r\n fill: colors.$wit;\r\n }\r\n }\r\n\r\n &[aria-checked=\"true\"] svg {\r\n rect {\r\n fill: colors.$bosgroen;\r\n }\r\n\r\n circle {\r\n transform: translateX(30px);\r\n fill: colors.$wit;\r\n }\r\n }\r\n\r\n &[disabled] svg {\r\n rect {\r\n fill: colors.$grijs-20;\r\n }\r\n\r\n circle {\r\n fill: colors.$grijs-10;\r\n }\r\n }\r\n\r\n &[disabled][aria-checked=\"true\"] svg {\r\n rect {\r\n fill: colors.$bosgroen-40;\r\n }\r\n\r\n circle {\r\n fill: colors.$grijs-10;\r\n }\r\n }\r\n}\r\n\r\n.dso-slider {\r\n border-radius: units.$u3;\r\n display: inline-flex;\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n}\r\n","import { h, Component, ComponentInterface, Event, Fragment, Prop, EventEmitter, Element, State } from \"@stencil/core\";\r\nimport { v4 } from \"uuid\";\r\nimport { SlideToggleActiveEvent } from \"./slide-toggle.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-slide-toggle\",\r\n styleUrl: \"slide-toggle.scss\",\r\n shadow: false,\r\n})\r\nexport class SlideToggle implements ComponentInterface {\r\n @Element()\r\n private host!: HTMLDsoSlideToggleElement;\r\n\r\n /**\r\n * Set to true if Slide Toggle is checked.\r\n */\r\n @Prop()\r\n checked = false;\r\n\r\n /**\r\n * Disables the Slide Toggle, preventing it from checking/unchecking and therefor not emitting any events.\r\n */\r\n @Prop()\r\n disabled = false;\r\n\r\n /**\r\n * When provided the `<button>` will be labelled with `aria-label`. For a visible label provide a `<span>` inside the component.\r\n */\r\n @Prop()\r\n accessibleLabel?: string;\r\n\r\n /**\r\n * Provide the `id` of the element that labels this element. this property sets the `aria-labelledby` on the switch button.\r\n */\r\n @Prop()\r\n labelledbyId?: string;\r\n\r\n @State()\r\n hasVisibleLabel?: boolean;\r\n\r\n /**\r\n * Provide an `id` for the `<button>`. Useful for placing your to place your own `<label for=\"id\">`.\r\n */\r\n @Prop()\r\n identifier = v4();\r\n\r\n /**\r\n * Emitted when user checks or unchecks the Slide Toggle.\r\n */\r\n @Event({ composed: false })\r\n dsoActiveChange!: EventEmitter<SlideToggleActiveEvent>;\r\n\r\n private handleSwitch(e: Event): void {\r\n this.dsoActiveChange.emit({\r\n originalEvent: e,\r\n checked: !this.checked,\r\n });\r\n }\r\n\r\n componentWillLoad(): void {\r\n this.hasVisibleLabel = this.host.querySelector(\"*\") !== null;\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n <button\r\n id={this.identifier}\r\n role=\"switch\"\r\n class=\"dso-slider\"\r\n aria-checked={\"\" + this.checked}\r\n disabled={this.disabled}\r\n onClick={(e) => this.handleSwitch(e)}\r\n {...(this.accessibleLabel ? { \"aria-label\": this.accessibleLabel } : {})}\r\n {...(this.labelledbyId ? { \"aria-labelledby\": this.labelledbyId } : {})}\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"20\" viewBox=\"0 0 40 20\">\r\n <g fill=\"none\" fill-rule=\"evenodd\">\r\n <rect width=\"40\" height=\"20\" fill=\"currentColor\" rx=\"10\" />\r\n <circle cy=\"10\" r=\"8\" fill=\"currentColor\" />\r\n </g>\r\n </svg>\r\n </button>\r\n {this.hasVisibleLabel && (\r\n <label htmlFor={this.identifier}>\r\n <slot />\r\n </label>\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -13,10 +13,15 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends HTMLElement {
13
13
  this.__registerHost();
14
14
  this.__attachShadow();
15
15
  this.labelledbyId = v4();
16
+ /**
17
+ * Prevents the table being opened in a modal.
18
+ */
16
19
  this.noModal = false;
20
+ /**
21
+ * Indicates whether the table is currently horizontally scrollable.
22
+ */
17
23
  this.isResponsive = false;
18
24
  this.modalActive = false;
19
- this.placeholderHeight = undefined;
20
25
  }
21
26
  startResponsiveBehavior() {
22
27
  var _a;
@@ -38,7 +43,7 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends HTMLElement {
38
43
  render() {
39
44
  var _a, _b;
40
45
  const caption = (_b = (_a = this.host.querySelector(":scope > table > caption")) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim();
41
- return (h(Host, { key: 'fc92288fe7d379ec8b56dbb49931b023a1aa669c' }, this.modalActive && this.placeholderHeight && (h("div", { key: '651f19822424b8385f4854840100fceb3b6819ca', class: "dso-table-placeholder", style: { height: `${this.placeholderHeight}px` } })), this.modalActive && h("div", { key: '80c8515444552216f26e5733d2c928cc4c7b3822', class: "dso-modal-overlay" }), h("div", { key: '82f023fb532ebbe9b8192229d5db55e555ec5f93', class: { "dso-modal": this.modalActive } }, h("div", Object.assign({ key: 'b150734ceb13ddfa0ff8412961917869273c7c34', class: { "dso-dialog": this.modalActive, "dso-table-dialog": true }, ref: (element) => (this.focusTrapElement = element) }, (this.modalActive ? { ["aria-labelledby"]: this.labelledbyId, role: "dialog" } : {})), (this.isResponsive || !this.noModal) && (h("div", { key: '35c156e2e76ebee21a56700e0265bb2e0270b69c', class: "dso-table-utilities", style: this.modalActive ? { display: "none" } : undefined }, this.isResponsive && (h("div", { key: '49984412ae1616077b9934babd0e2b3bc518d151', class: "dso-responsive-message" }, h("span", { key: '6ed229941d728f12a068b489534e41b60e2b4ff9' }, "beweeg de tabel van links naar rechts"))), !this.noModal && (h("button", { key: '2f412f2795b0410883f975721e51ebebf1dddcc5', type: "button", class: "dso-tertiary open-modal-button", ref: (element) => (this.buttonElement = element), onClick: () => this.openModal() }, h("span", { key: '2332690378cead455b420576bf9cd5f68d993278', class: "sr-only" }, "tabel ", caption !== null && caption !== void 0 ? caption : "", " "), h("span", { key: '90351eded6efd138705cf08bfadc6ee9109a0e69' }, "vergroten"), h("dso-icon", { key: 'd314dfede218f9258a3ca2e109c6e93dfde97b81', icon: "external-link" }))))), this.modalActive && (h("div", { key: '05890549bb56488890bc886989b524bdeed073d4', class: "dso-header" }, h("h2", { key: '271ad27174b676b41cb20de4c1f579e999b61ce0', id: this.labelledbyId, class: { "sr-only": !caption } }, caption || "Uitvergrote tabel dialoog"), h("button", { key: 'd42b834be57bb606eeb52f68ef8a5f23bf4b2668', type: "button", class: "dso-close", onClick: () => this.closeModal() }, h("dso-icon", { key: '947a77978e4b53e615a1f785721b4bb7e615d120', icon: "times" }), h("span", { key: 'e19dd743a47fc7df5ab9a6b3fd9bf8ba5cb0cff8', class: "sr-only" }, "Sluiten")))), h("div", { key: '30f4d60debabc4919fbd4350ad3fa750da006936', class: { "dso-body": this.modalActive, "dso-table-body": true } }, h("slot", { key: '084aec8bb7315257e20414361124419ef555201c' }))))));
46
+ return (h(Host, { key: '938a684ea916f6b2bfb741ad8ea1a07ee2b800a1' }, this.modalActive && this.placeholderHeight && (h("div", { key: 'b4215b34413a54a9715810c71400cebbd262c72f', class: "dso-table-placeholder", style: { height: `${this.placeholderHeight}px` } })), this.modalActive && h("div", { key: 'f7b9e6d0d60b7395dea511fbfff066ea78d0ac2d', class: "dso-modal-overlay" }), h("div", { key: 'ee15e6948a5c45cec6ebcc20b96886690568b846', class: { "dso-modal": this.modalActive } }, h("div", Object.assign({ key: 'bbd957170c048e6511659370abb231733de3b304', class: { "dso-dialog": this.modalActive, "dso-table-dialog": true }, ref: (element) => (this.focusTrapElement = element) }, (this.modalActive ? { ["aria-labelledby"]: this.labelledbyId, role: "dialog" } : {})), (this.isResponsive || !this.noModal) && (h("div", { key: 'ef992251b2c61f5d39c07671a505b261778cd802', class: "dso-table-utilities", style: this.modalActive ? { display: "none" } : undefined }, this.isResponsive && (h("div", { key: '7353c51b91d45764a2c1554e11b88554562622f7', class: "dso-responsive-message" }, h("span", { key: 'fa2859739ccfd5d2feade45fb6b146589422176b' }, "beweeg de tabel van links naar rechts"))), !this.noModal && (h("button", { key: '6238fab58ee5d1ca1544704baa799ec87f2759a4', type: "button", class: "dso-tertiary open-modal-button", ref: (element) => (this.buttonElement = element), onClick: () => this.openModal() }, h("span", { key: '0a65833cee370dd7b74453758963070d29c315bb', class: "sr-only" }, "tabel ", caption !== null && caption !== void 0 ? caption : "", " "), h("span", { key: '7de772f54616cc4723e92eb98933f4d55937bcd6' }, "vergroten"), h("dso-icon", { key: 'bc085946ea5591a3b9c6ee5cd8cb9bd352182283', icon: "external-link" }))))), this.modalActive && (h("div", { key: '2d2505608302cda259d9e51ef5f98d8ceebf292f', class: "dso-header" }, h("h2", { key: '2e7269709c803dc248300ca87555f3589ada73b8', id: this.labelledbyId, class: { "sr-only": !caption } }, caption || "Uitvergrote tabel dialoog"), h("button", { key: 'bc26e2181aaaa38b9d200aeb044250717cc78880', type: "button", class: "dso-close", onClick: () => this.closeModal() }, h("dso-icon", { key: '79707874e61cb4f5cd0bfe800946e70719efcd9b', icon: "times" }), h("span", { key: '3a552318df143dd8d91342d767417d05ce27d95b', class: "sr-only" }, "Sluiten")))), h("div", { key: 'e05e8573d30faf5102f3593ee0d32416f2212d65', class: { "dso-body": this.modalActive, "dso-table-body": true } }, h("slot", { key: '9d31d8f0dc6567feba03c67c4397935d2a853367' }))))));
42
47
  }
43
48
  openModal() {
44
49
  this.placeholderHeight = this.host.clientHeight;
@@ -1 +1 @@
1
- {"file":"table.js","mappings":"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","names":[],"sources":["src/components/table/table.scss?tag=dso-table&encapsulation=shadow","src/components/table/table.tsx"],"sourcesContent":["@use \"sass:color\";\r\n\r\n@use \"~dso-toolkit/src/components/grid/grid.variables\" as grid-variables;\r\n@use \"~dso-toolkit/src/components/modal/modal.variables\" as modal-variables;\r\n\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n@use \"~dso-toolkit/src/utilities\";\r\n\r\n@use \"~dso-toolkit/src/components/button/button\";\r\n@use \"~dso-toolkit/src/components/modal\";\r\n@use \"~dso-toolkit/src/components/rich-content\";\r\n@use \"~dso-toolkit/src/components/table\";\r\n\r\n:host {\r\n display: block;\r\n margin-block-end: units.$u3;\r\n}\r\n\r\n.dso-header {\r\n min-block-size: units.$u4;\r\n\r\n h2 {\r\n color: colors.$bosgroen;\r\n font-size: units.$font-size-h2;\r\n font-weight: 700;\r\n }\r\n\r\n .dso-close {\r\n color: colors.$bosgroen;\r\n }\r\n}\r\n\r\n:host .dso-modal {\r\n @include modal.root();\r\n\r\n inset: 0px;\r\n block-size: 100%;\r\n position: fixed;\r\n z-index: zindex.$modal;\r\n}\r\n\r\n.dso-modal .dso-dialog.dso-table-dialog {\r\n margin-block-start: 1rem;\r\n max-inline-size: calc(100% - 2rem);\r\n margin-inline-start: auto;\r\n margin-inline-end: auto;\r\n inline-size: auto;\r\n\r\n .dso-body {\r\n $dso-body-unavailable-height: (\r\n (2 * modal.$header-padding) + (modal.$footer-button-block-size + modal.$footer-padding)\r\n );\r\n max-block-size: calc(100vh - #{$dso-body-unavailable-height} - 1.5em - 2rem); // margin\r\n }\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n max-inline-size: 100%;\r\n }\r\n}\r\n\r\n:host([is-responsive]) {\r\n .dso-table-body {\r\n border: 1px solid table.$border-color;\r\n margin-block-end: 0;\r\n overflow-y: auto;\r\n inline-size: 100%;\r\n\r\n &.dso-body {\r\n inline-size: calc(100% - modal.$body-padding * 2);\r\n }\r\n }\r\n}\r\n\r\n.dso-table-utilities {\r\n align-items: center;\r\n display: flex;\r\n justify-content: space-between;\r\n margin-block-end: units.$u1;\r\n\r\n .dso-responsive-message {\r\n margin-block-end: 0;\r\n\r\n &:only-child {\r\n inline-size: 100%;\r\n }\r\n }\r\n\r\n .open-modal-button {\r\n &:only-child {\r\n margin-inline-start: auto;\r\n }\r\n }\r\n}\r\n\r\n.dso-responsive-message {\r\n font-size: 0.8em;\r\n margin-block-end: units.$u1;\r\n position: relative;\r\n text-align: center;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-modal-overlay {\r\n background-color: color.scale(modal-variables.$backdrop-bg, $alpha: modal-variables.$backdrop-opacity);\r\n display: block;\r\n position: fixed;\r\n inset: 0;\r\n z-index: zindex.$modal-background-overlay;\r\n}\r\n\r\n.dso-table-placeholder {\r\n box-shadow: inset 0 0 0 1px table.$border-color;\r\n display: grid;\r\n place-content: center;\r\n}\r\n","import { h, Component, ComponentInterface, Element, Host, Prop, State } from \"@stencil/core\";\r\nimport debounce from \"debounce\";\r\nimport { createFocusTrap, FocusTrap } from \"focus-trap\";\r\nimport { v4 } from \"uuid\";\r\n\r\n@Component({\r\n tag: \"dso-table\",\r\n styleUrl: \"table.scss\",\r\n shadow: true,\r\n})\r\nexport class Table implements ComponentInterface {\r\n private resizeObserver?: ResizeObserver;\r\n\r\n private focusTrapElement?: HTMLDivElement;\r\n\r\n private buttonElement?: HTMLButtonElement;\r\n\r\n private trap?: FocusTrap;\r\n\r\n private labelledbyId = v4();\r\n\r\n @Element()\r\n host!: HTMLDsoTableElement;\r\n\r\n /**\r\n * Prevents the table being opened in a modal.\r\n */\r\n @Prop({ reflect: true })\r\n noModal = false;\r\n\r\n /**\r\n * Indicates whether the table is currently horizontally scrollable.\r\n */\r\n @Prop({ reflect: true })\r\n isResponsive = false;\r\n\r\n @State()\r\n modalActive = false;\r\n\r\n @State()\r\n placeholderHeight?: number;\r\n\r\n private startResponsiveBehavior(): void {\r\n this.resizeObserver?.observe(this.host);\r\n }\r\n\r\n componentWillLoad(): void {\r\n this.resizeObserver = new ResizeObserver(debounce((entries) => this.setResponsiveTable(entries), 200));\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.startResponsiveBehavior();\r\n }\r\n\r\n componentDidRender() {\r\n this.setFocusTrap();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n render() {\r\n const caption = this.host.querySelector(\":scope > table > caption\")?.textContent?.trim();\r\n\r\n return (\r\n <Host>\r\n {this.modalActive && this.placeholderHeight && (\r\n <div class=\"dso-table-placeholder\" style={{ height: `${this.placeholderHeight}px` }} />\r\n )}\r\n\r\n {this.modalActive && <div class=\"dso-modal-overlay\"></div>}\r\n\r\n <div class={{ \"dso-modal\": this.modalActive }}>\r\n <div\r\n class={{ \"dso-dialog\": this.modalActive, \"dso-table-dialog\": true }}\r\n ref={(element) => (this.focusTrapElement = element)}\r\n {...(this.modalActive ? { [\"aria-labelledby\"]: this.labelledbyId, role: \"dialog\" } : {})}\r\n >\r\n {(this.isResponsive || !this.noModal) && (\r\n <div class=\"dso-table-utilities\" style={this.modalActive ? { display: \"none\" } : undefined}>\r\n {this.isResponsive && (\r\n <div class=\"dso-responsive-message\">\r\n <span>beweeg de tabel van links naar rechts</span>\r\n </div>\r\n )}\r\n\r\n {!this.noModal && (\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary open-modal-button\"\r\n ref={(element) => (this.buttonElement = element)}\r\n onClick={() => this.openModal()}\r\n >\r\n <span class=\"sr-only\">tabel {caption ?? \"\"} </span>\r\n <span>vergroten</span>\r\n <dso-icon icon=\"external-link\"></dso-icon>\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n\r\n {this.modalActive && (\r\n <div class=\"dso-header\">\r\n <h2 id={this.labelledbyId} class={{ \"sr-only\": !caption }}>\r\n {caption || \"Uitvergrote tabel dialoog\"}\r\n </h2>\r\n <button type=\"button\" class=\"dso-close\" onClick={() => this.closeModal()}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Sluiten</span>\r\n </button>\r\n </div>\r\n )}\r\n\r\n <div class={{ \"dso-body\": this.modalActive, \"dso-table-body\": true }}>\r\n <slot></slot>\r\n </div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n private openModal() {\r\n this.placeholderHeight = this.host.clientHeight;\r\n this.modalActive = true;\r\n }\r\n\r\n private closeModal() {\r\n this.placeholderHeight = undefined;\r\n this.modalActive = false;\r\n }\r\n\r\n private setFocusTrap() {\r\n if (this.modalActive && this.focusTrapElement && !this.trap) {\r\n this.trap = createFocusTrap([this.host, this.focusTrapElement], {\r\n escapeDeactivates: true,\r\n clickOutsideDeactivates: (e) => {\r\n if (e instanceof MouseEvent && e.composedPath()[0] === this.focusTrapElement) {\r\n this.closeModal();\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n },\r\n setReturnFocus: this.buttonElement ?? false,\r\n onDeactivate: () => this.closeModal(),\r\n tabbableOptions: {\r\n getShadowRoot: true,\r\n },\r\n }).activate();\r\n } else if (!this.modalActive && this.trap) {\r\n this.trap?.deactivate();\r\n\r\n delete this.trap;\r\n }\r\n }\r\n\r\n private setResponsiveTable([dsoTable]: ResizeObserverEntry[]): void {\r\n if (!dsoTable) {\r\n throw new Error(\"No dsoTable found\");\r\n }\r\n\r\n const tableElement = dsoTable.target.querySelector(\"table\");\r\n\r\n if (dsoTable && tableElement instanceof HTMLTableElement) {\r\n this.isResponsive =\r\n Math.floor(tableElement.getBoundingClientRect().width) > Math.floor(dsoTable.contentRect.width);\r\n }\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"table.js","mappings":"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","names":[],"sources":["src/components/table/table.scss?tag=dso-table&encapsulation=shadow","src/components/table/table.tsx"],"sourcesContent":["@use \"sass:color\";\r\n\r\n@use \"~dso-toolkit/src/components/grid/grid.variables\" as grid-variables;\r\n@use \"~dso-toolkit/src/components/modal/modal.variables\" as modal-variables;\r\n\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n@use \"~dso-toolkit/src/utilities\";\r\n\r\n@use \"~dso-toolkit/src/components/button/button\";\r\n@use \"~dso-toolkit/src/components/modal\";\r\n@use \"~dso-toolkit/src/components/rich-content\";\r\n@use \"~dso-toolkit/src/components/table\";\r\n\r\n:host {\r\n display: block;\r\n margin-block-end: units.$u3;\r\n}\r\n\r\n.dso-header {\r\n min-block-size: units.$u4;\r\n\r\n h2 {\r\n color: colors.$bosgroen;\r\n font-size: units.$font-size-h2;\r\n font-weight: 700;\r\n }\r\n\r\n .dso-close {\r\n color: colors.$bosgroen;\r\n }\r\n}\r\n\r\n:host .dso-modal {\r\n @include modal.root();\r\n\r\n inset: 0px;\r\n block-size: 100%;\r\n position: fixed;\r\n z-index: zindex.$modal;\r\n}\r\n\r\n.dso-modal .dso-dialog.dso-table-dialog {\r\n margin-block-start: 1rem;\r\n max-inline-size: calc(100% - 2rem);\r\n margin-inline-start: auto;\r\n margin-inline-end: auto;\r\n inline-size: auto;\r\n\r\n .dso-body {\r\n $dso-body-unavailable-height: (\r\n (2 * modal.$header-padding) + (modal.$footer-button-block-size + modal.$footer-padding)\r\n );\r\n max-block-size: calc(100vh - #{$dso-body-unavailable-height} - 1.5em - 2rem); // margin\r\n }\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n max-inline-size: 100%;\r\n }\r\n}\r\n\r\n:host([is-responsive]) {\r\n .dso-table-body {\r\n border: 1px solid table.$border-color;\r\n margin-block-end: 0;\r\n overflow-y: auto;\r\n inline-size: 100%;\r\n\r\n &.dso-body {\r\n inline-size: calc(100% - modal.$body-padding * 2);\r\n }\r\n }\r\n}\r\n\r\n.dso-table-utilities {\r\n align-items: center;\r\n display: flex;\r\n justify-content: space-between;\r\n margin-block-end: units.$u1;\r\n\r\n .dso-responsive-message {\r\n margin-block-end: 0;\r\n\r\n &:only-child {\r\n inline-size: 100%;\r\n }\r\n }\r\n\r\n .open-modal-button {\r\n &:only-child {\r\n margin-inline-start: auto;\r\n }\r\n }\r\n}\r\n\r\n.dso-responsive-message {\r\n font-size: 0.8em;\r\n margin-block-end: units.$u1;\r\n position: relative;\r\n text-align: center;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-modal-overlay {\r\n background-color: color.scale(modal-variables.$backdrop-bg, $alpha: modal-variables.$backdrop-opacity);\r\n display: block;\r\n position: fixed;\r\n inset: 0;\r\n z-index: zindex.$modal-background-overlay;\r\n}\r\n\r\n.dso-table-placeholder {\r\n box-shadow: inset 0 0 0 1px table.$border-color;\r\n display: grid;\r\n place-content: center;\r\n}\r\n","import { h, Component, ComponentInterface, Element, Host, Prop, State } from \"@stencil/core\";\r\nimport debounce from \"debounce\";\r\nimport { createFocusTrap, FocusTrap } from \"focus-trap\";\r\nimport { v4 } from \"uuid\";\r\n\r\n@Component({\r\n tag: \"dso-table\",\r\n styleUrl: \"table.scss\",\r\n shadow: true,\r\n})\r\nexport class Table implements ComponentInterface {\r\n private resizeObserver?: ResizeObserver;\r\n\r\n private focusTrapElement?: HTMLDivElement;\r\n\r\n private buttonElement?: HTMLButtonElement;\r\n\r\n private trap?: FocusTrap;\r\n\r\n private labelledbyId = v4();\r\n\r\n @Element()\r\n host!: HTMLDsoTableElement;\r\n\r\n /**\r\n * Prevents the table being opened in a modal.\r\n */\r\n @Prop({ reflect: true })\r\n noModal = false;\r\n\r\n /**\r\n * Indicates whether the table is currently horizontally scrollable.\r\n */\r\n @Prop({ reflect: true })\r\n isResponsive = false;\r\n\r\n @State()\r\n modalActive = false;\r\n\r\n @State()\r\n placeholderHeight?: number;\r\n\r\n private startResponsiveBehavior(): void {\r\n this.resizeObserver?.observe(this.host);\r\n }\r\n\r\n componentWillLoad(): void {\r\n this.resizeObserver = new ResizeObserver(debounce((entries) => this.setResponsiveTable(entries), 200));\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.startResponsiveBehavior();\r\n }\r\n\r\n componentDidRender() {\r\n this.setFocusTrap();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n render() {\r\n const caption = this.host.querySelector(\":scope > table > caption\")?.textContent?.trim();\r\n\r\n return (\r\n <Host>\r\n {this.modalActive && this.placeholderHeight && (\r\n <div class=\"dso-table-placeholder\" style={{ height: `${this.placeholderHeight}px` }} />\r\n )}\r\n\r\n {this.modalActive && <div class=\"dso-modal-overlay\"></div>}\r\n\r\n <div class={{ \"dso-modal\": this.modalActive }}>\r\n <div\r\n class={{ \"dso-dialog\": this.modalActive, \"dso-table-dialog\": true }}\r\n ref={(element) => (this.focusTrapElement = element)}\r\n {...(this.modalActive ? { [\"aria-labelledby\"]: this.labelledbyId, role: \"dialog\" } : {})}\r\n >\r\n {(this.isResponsive || !this.noModal) && (\r\n <div class=\"dso-table-utilities\" style={this.modalActive ? { display: \"none\" } : undefined}>\r\n {this.isResponsive && (\r\n <div class=\"dso-responsive-message\">\r\n <span>beweeg de tabel van links naar rechts</span>\r\n </div>\r\n )}\r\n\r\n {!this.noModal && (\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary open-modal-button\"\r\n ref={(element) => (this.buttonElement = element)}\r\n onClick={() => this.openModal()}\r\n >\r\n <span class=\"sr-only\">tabel {caption ?? \"\"} </span>\r\n <span>vergroten</span>\r\n <dso-icon icon=\"external-link\"></dso-icon>\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n\r\n {this.modalActive && (\r\n <div class=\"dso-header\">\r\n <h2 id={this.labelledbyId} class={{ \"sr-only\": !caption }}>\r\n {caption || \"Uitvergrote tabel dialoog\"}\r\n </h2>\r\n <button type=\"button\" class=\"dso-close\" onClick={() => this.closeModal()}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Sluiten</span>\r\n </button>\r\n </div>\r\n )}\r\n\r\n <div class={{ \"dso-body\": this.modalActive, \"dso-table-body\": true }}>\r\n <slot></slot>\r\n </div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n private openModal() {\r\n this.placeholderHeight = this.host.clientHeight;\r\n this.modalActive = true;\r\n }\r\n\r\n private closeModal() {\r\n this.placeholderHeight = undefined;\r\n this.modalActive = false;\r\n }\r\n\r\n private setFocusTrap() {\r\n if (this.modalActive && this.focusTrapElement && !this.trap) {\r\n this.trap = createFocusTrap([this.host, this.focusTrapElement], {\r\n escapeDeactivates: true,\r\n clickOutsideDeactivates: (e) => {\r\n if (e instanceof MouseEvent && e.composedPath()[0] === this.focusTrapElement) {\r\n this.closeModal();\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n },\r\n setReturnFocus: this.buttonElement ?? false,\r\n onDeactivate: () => this.closeModal(),\r\n tabbableOptions: {\r\n getShadowRoot: true,\r\n },\r\n }).activate();\r\n } else if (!this.modalActive && this.trap) {\r\n this.trap?.deactivate();\r\n\r\n delete this.trap;\r\n }\r\n }\r\n\r\n private setResponsiveTable([dsoTable]: ResizeObserverEntry[]): void {\r\n if (!dsoTable) {\r\n throw new Error(\"No dsoTable found\");\r\n }\r\n\r\n const tableElement = dsoTable.target.querySelector(\"table\");\r\n\r\n if (dsoTable && tableElement instanceof HTMLTableElement) {\r\n this.isResponsive =\r\n Math.floor(tableElement.getBoundingClientRect().width) > Math.floor(dsoTable.contentRect.width);\r\n }\r\n }\r\n}\r\n"],"version":3}
@@ -11,6 +11,15 @@ const Toggletip = /*@__PURE__*/ proxyCustomElement(class Toggletip extends HTMLE
11
11
  super();
12
12
  this.__registerHost();
13
13
  this.__attachShadow();
14
+ this.active = false;
15
+ /**
16
+ * Toggletip label.
17
+ */
18
+ this.label = "Toelichting";
19
+ /**
20
+ * Toggletip position.
21
+ */
22
+ this.position = "right";
14
23
  this.click = () => {
15
24
  if (this.active) {
16
25
  this.close();
@@ -43,14 +52,9 @@ const Toggletip = /*@__PURE__*/ proxyCustomElement(class Toggletip extends HTMLE
43
52
  }
44
53
  return;
45
54
  };
46
- this.active = false;
47
- this.label = "Toelichting";
48
- this.position = "right";
49
- this.small = undefined;
50
- this.secondary = undefined;
51
55
  }
52
56
  render() {
53
- return (h(Fragment, null, h("dso-info-button", { key: 'f7e6f87ddaa464cbf64ca4b18341a33611e3f72a', "aria-describedby": "toggle", onClick: this.click, label: this.label, active: this.active, secondary: this.secondary, ref: (element) => (this.infoButton = element) }), h("dso-tooltip", { key: '29128e6c5cc5c3ea6d17aa3a27f76b09c00b059f', stateless: true, descriptive: true, id: "toggle", strategy: "absolute", active: this.active, position: this.position, small: this.small }, h("slot", { key: '6d4157cdfa69e23487aa758fbd8d8f3dac612bea' }))));
57
+ return (h(Fragment, null, h("dso-info-button", { key: '2f938583863cae9802fe5f214720e3fa4826f238', "aria-describedby": "toggle", onClick: this.click, label: this.label, active: this.active, secondary: this.secondary, ref: (element) => (this.infoButton = element) }), h("dso-tooltip", { key: '263d9cb3b19468446ccf7a61bbe34a26f3b81fb8', stateless: true, descriptive: true, id: "toggle", strategy: "absolute", active: this.active, position: this.position, small: this.small }, h("slot", { key: 'f947899c3292662b0126598c54a30f923391eca0' }))));
54
58
  }
55
59
  get host() { return this; }
56
60
  static get style() { return DsoToggletipStyle0; }
@@ -1 +1 @@
1
- {"file":"toggletip.js","mappings":";;;;;AAAA,MAAM,YAAY,GAAG,sOAAsO,CAAC;AAC5P,2BAAe,YAAY;;MCOd,SAAS;;;;;QAiCZ,UAAK,GAAG;YACd,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;iBAAM;gBACL,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;SACF,CAAC;QAEM,SAAI,GAAG;YACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAC/D,CAAC;QAEM,UAAK,GAAG;YACd,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB,CAAC;QAEM,qBAAgB,GAAG,CAAC,KAAiB;YAC3C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAqB,CAAC,EAAE;gBACpD,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;SACF,CAAC;QAEM,oBAAe,GAAG,CAAC,KAAoB;;YAC7C,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;gBACrD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,MAAA,IAAI,CAAC,UAAU,0CAAE,QAAQ,EAAE,CAAC;gBAC5B,KAAK,CAAC,cAAc,EAAE,CAAC;aACxB;YAED,OAAO;SACR,CAAC;sBA9DO,KAAK;qBAMN,aAAa;wBAMC,OAAO;;;;IAoD7B,MAAM;QACJ,QACE,kBACE,4FACmB,QAAQ,EACzB,OAAO,EAAE,IAAI,CAAC,KAAK,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,GAAG,EAAE,CAAC,OAAO,MAAM,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,GAC7C,EACF,oEACE,SAAS,QACT,WAAW,QACX,EAAE,EAAC,QAAQ,EACX,QAAQ,EAAC,UAAU,EACnB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,IAEjB,8DAAQ,CACI,CACb,EACH;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/toggletip/toggletip.scss?tag=dso-toggletip&encapsulation=shadow","src/components/toggletip/toggletip.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n display: inline-block;\r\n\r\n // tooltip arrow placement exceptions\r\n --tooltip-margin-block-start: 0;\r\n --tooltip-margin-inline-start: 3px;\r\n --tooltip-margin-inline-end: units.$u1 * -1 !important;\r\n}\r\n\r\n:host(:focus) {\r\n outline: none;\r\n z-index: zindex.$tooltip;\r\n}\r\n","import { h, Component, Fragment, Element, Prop, State } from \"@stencil/core\";\r\nimport { Placement } from \"@popperjs/core\";\r\n\r\n@Component({\r\n tag: \"dso-toggletip\",\r\n styleUrl: \"toggletip.scss\",\r\n shadow: true,\r\n})\r\nexport class Toggletip {\r\n @Element()\r\n host!: HTMLDsoToggletipElement;\r\n\r\n @State()\r\n active = false;\r\n\r\n /**\r\n * Toggletip label.\r\n */\r\n @Prop()\r\n label = \"Toelichting\";\r\n\r\n /**\r\n * Toggletip position.\r\n */\r\n @Prop()\r\n position: Placement = \"right\";\r\n\r\n /**\r\n * Set to true for small Toggletip.\r\n */\r\n @Prop()\r\n small?: boolean;\r\n\r\n /**\r\n * Set to true for secondary Toggletip.\r\n */\r\n @Prop()\r\n secondary?: boolean;\r\n\r\n private infoButton?: HTMLDsoInfoButtonElement;\r\n\r\n private click = () => {\r\n if (this.active) {\r\n this.close();\r\n } else {\r\n this.open();\r\n }\r\n };\r\n\r\n private open = () => {\r\n this.active = true;\r\n this.host.addEventListener(\"keydown\", this.keyDownListener);\r\n this.host.addEventListener(\"focusout\", this.focusOutListener);\r\n };\r\n\r\n private close = () => {\r\n this.host.removeEventListener(\"focusout\", this.focusOutListener);\r\n this.host.removeEventListener(\"keydown\", this.keyDownListener);\r\n this.active = false;\r\n };\r\n\r\n private focusOutListener = (event: FocusEvent) => {\r\n if (!this.host.contains(event.relatedTarget as Node)) {\r\n this.close();\r\n }\r\n };\r\n\r\n private keyDownListener = (event: KeyboardEvent) => {\r\n if (!event.defaultPrevented && event.key === \"Escape\") {\r\n this.close();\r\n this.infoButton?.setFocus();\r\n event.preventDefault();\r\n }\r\n\r\n return;\r\n };\r\n\r\n render() {\r\n return (\r\n <>\r\n <dso-info-button\r\n aria-describedby=\"toggle\"\r\n onClick={this.click}\r\n label={this.label}\r\n active={this.active}\r\n secondary={this.secondary}\r\n ref={(element) => (this.infoButton = element)}\r\n />\r\n <dso-tooltip\r\n stateless\r\n descriptive\r\n id=\"toggle\"\r\n strategy=\"absolute\"\r\n active={this.active}\r\n position={this.position}\r\n small={this.small}\r\n >\r\n <slot />\r\n </dso-tooltip>\r\n </>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"toggletip.js","mappings":";;;;;AAAA,MAAM,YAAY,GAAG,sOAAsO,CAAC;AAC5P,2BAAe,YAAY;;MCOd,SAAS;IALtB;;;;QAUE,WAAM,GAAG,KAAK,CAAC;;;;QAMf,UAAK,GAAG,aAAa,CAAC;;;;QAMtB,aAAQ,GAAc,OAAO,CAAC;QAgBtB,UAAK,GAAG;YACd,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;iBAAM;gBACL,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;SACF,CAAC;QAEM,SAAI,GAAG;YACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAC/D,CAAC;QAEM,UAAK,GAAG;YACd,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB,CAAC;QAEM,qBAAgB,GAAG,CAAC,KAAiB;YAC3C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAqB,CAAC,EAAE;gBACpD,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;SACF,CAAC;QAEM,oBAAe,GAAG,CAAC,KAAoB;;YAC7C,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;gBACrD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,MAAA,IAAI,CAAC,UAAU,0CAAE,QAAQ,EAAE,CAAC;gBAC5B,KAAK,CAAC,cAAc,EAAE,CAAC;aACxB;YAED,OAAO;SACR,CAAC;KA2BH;IAzBC,MAAM;QACJ,QACE,kBACE,4FACmB,QAAQ,EACzB,OAAO,EAAE,IAAI,CAAC,KAAK,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,GAAG,EAAE,CAAC,OAAO,MAAM,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,GAC7C,EACF,oEACE,SAAS,QACT,WAAW,QACX,EAAE,EAAC,QAAQ,EACX,QAAQ,EAAC,UAAU,EACnB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,IAEjB,8DAAQ,CACI,CACb,EACH;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/toggletip/toggletip.scss?tag=dso-toggletip&encapsulation=shadow","src/components/toggletip/toggletip.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n display: inline-block;\r\n\r\n // tooltip arrow placement exceptions\r\n --tooltip-margin-block-start: 0;\r\n --tooltip-margin-inline-start: 3px;\r\n --tooltip-margin-inline-end: units.$u1 * -1 !important;\r\n}\r\n\r\n:host(:focus) {\r\n outline: none;\r\n z-index: zindex.$tooltip;\r\n}\r\n","import { h, Component, Fragment, Element, Prop, State } from \"@stencil/core\";\r\nimport { Placement } from \"@popperjs/core\";\r\n\r\n@Component({\r\n tag: \"dso-toggletip\",\r\n styleUrl: \"toggletip.scss\",\r\n shadow: true,\r\n})\r\nexport class Toggletip {\r\n @Element()\r\n host!: HTMLDsoToggletipElement;\r\n\r\n @State()\r\n active = false;\r\n\r\n /**\r\n * Toggletip label.\r\n */\r\n @Prop()\r\n label = \"Toelichting\";\r\n\r\n /**\r\n * Toggletip position.\r\n */\r\n @Prop()\r\n position: Placement = \"right\";\r\n\r\n /**\r\n * Set to true for small Toggletip.\r\n */\r\n @Prop()\r\n small?: boolean;\r\n\r\n /**\r\n * Set to true for secondary Toggletip.\r\n */\r\n @Prop()\r\n secondary?: boolean;\r\n\r\n private infoButton?: HTMLDsoInfoButtonElement;\r\n\r\n private click = () => {\r\n if (this.active) {\r\n this.close();\r\n } else {\r\n this.open();\r\n }\r\n };\r\n\r\n private open = () => {\r\n this.active = true;\r\n this.host.addEventListener(\"keydown\", this.keyDownListener);\r\n this.host.addEventListener(\"focusout\", this.focusOutListener);\r\n };\r\n\r\n private close = () => {\r\n this.host.removeEventListener(\"focusout\", this.focusOutListener);\r\n this.host.removeEventListener(\"keydown\", this.keyDownListener);\r\n this.active = false;\r\n };\r\n\r\n private focusOutListener = (event: FocusEvent) => {\r\n if (!this.host.contains(event.relatedTarget as Node)) {\r\n this.close();\r\n }\r\n };\r\n\r\n private keyDownListener = (event: KeyboardEvent) => {\r\n if (!event.defaultPrevented && event.key === \"Escape\") {\r\n this.close();\r\n this.infoButton?.setFocus();\r\n event.preventDefault();\r\n }\r\n\r\n return;\r\n };\r\n\r\n render() {\r\n return (\r\n <>\r\n <dso-info-button\r\n aria-describedby=\"toggle\"\r\n onClick={this.click}\r\n label={this.label}\r\n active={this.active}\r\n secondary={this.secondary}\r\n ref={(element) => (this.infoButton = element)}\r\n />\r\n <dso-tooltip\r\n stateless\r\n descriptive\r\n id=\"toggle\"\r\n strategy=\"absolute\"\r\n active={this.active}\r\n position={this.position}\r\n small={this.small}\r\n >\r\n <slot />\r\n </dso-tooltip>\r\n </>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -77,6 +77,26 @@ const Tooltip = /*@__PURE__*/ proxyCustomElement(class Tooltip extends HTMLEleme
77
77
  super();
78
78
  this.__registerHost();
79
79
  this.__attachShadow();
80
+ /**
81
+ * Defines if the tooltip is descriptive. A descriptive tooltip contains a meaningful message. Tooltips that are not descriptive are hidden from screenreaders using `aria-hidden`.
82
+ */
83
+ this.descriptive = false;
84
+ /**
85
+ * Set position of tooltip relative to target
86
+ */
87
+ this.position = "top";
88
+ /**
89
+ * Set position strategy of tooltip
90
+ */
91
+ this.strategy = "auto";
92
+ /**
93
+ * Set attribute `no-arrow` to hide the arrow
94
+ */
95
+ this.noArrow = false;
96
+ /**
97
+ * Whether or not to show the tooltip. To control the tooltip add the `active` attribute or use the `activate()` and `deactivate()` instance methods.
98
+ */
99
+ this.active = false;
80
100
  this.callbacks = {
81
101
  activate: () => (this.active = true),
82
102
  deactivate: () => (this.active = false),
@@ -87,6 +107,7 @@ const Tooltip = /*@__PURE__*/ proxyCustomElement(class Tooltip extends HTMLEleme
87
107
  this.callbacks.deactivate();
88
108
  }
89
109
  };
110
+ this.hidden = true;
90
111
  this.keyDownListener = (event) => {
91
112
  if (event.key === "Escape") {
92
113
  this.deactivate();
@@ -99,14 +120,6 @@ const Tooltip = /*@__PURE__*/ proxyCustomElement(class Tooltip extends HTMLEleme
99
120
  this.popper = undefined;
100
121
  }, transitionDuration);
101
122
  _Tooltip_target.set(this, void 0);
102
- this.descriptive = false;
103
- this.position = "top";
104
- this.strategy = "auto";
105
- this.noArrow = false;
106
- this.stateless = undefined;
107
- this.small = undefined;
108
- this.active = false;
109
- this.hidden = true;
110
123
  }
111
124
  /**
112
125
  * Activate the tooltip (Sets the `active` attribute)
@@ -207,7 +220,7 @@ const Tooltip = /*@__PURE__*/ proxyCustomElement(class Tooltip extends HTMLEleme
207
220
  }
208
221
  }
209
222
  render() {
210
- return (h(Host, { key: '01e63a4cd76dca4d1d07bbbb35c8e67f7c4883e7', class: { hidden: this.hidden }, role: "tooltip", onClick: this.listenClick }, h("div", { key: '39c3989e697df79021b782aa1ba0100f352fef0c', class: clsx("tooltip", { in: this.active }) }, !this.noArrow && h("div", { key: 'ce11016b943b0a32bde7da78a1a039cec0523681', "data-popper-arrow": true, class: "tooltip-arrow" }), h("div", { key: 'e2fff499e2bbf78bb4c542f6cd4b23b30c26ba50', "aria-hidden": !this.descriptive || undefined, class: clsx("tooltip-inner", { "dso-small": this.small }) }, h("slot", { key: '54ff66606cc1dc120768ee6b9f3cd4f66cec1aec' })))));
223
+ return (h(Host, { key: 'e37d4e704377fbefd6bb82a624b9f622a64b01c8', class: { hidden: this.hidden }, role: "tooltip", onClick: this.listenClick }, h("div", { key: '774735ed5b3bd6a450d2a456c3267baabc58f606', class: clsx("tooltip", { in: this.active }) }, !this.noArrow && h("div", { key: '9506905d58afcbe73303fcd72ccf1fa0211edd94', "data-popper-arrow": true, class: "tooltip-arrow" }), h("div", { key: '888c1a89ba70457e1593b2b33f6053da4f5165cf', "aria-hidden": !this.descriptive || undefined, class: clsx("tooltip-inner", { "dso-small": this.small }) }, h("slot", { key: '4a7e78664f3ff6bd4502b886647cb5060e11bf86' })))));
211
224
  }
212
225
  activatePopper() {
213
226
  var _a;