@dso-toolkit/core 64.0.0 → 65.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 (316) hide show
  1. package/dist/cjs/dso-action-list-item.cjs.entry.js.map +1 -1
  2. package/dist/cjs/dso-action-list.cjs.entry.js +1 -1
  3. package/dist/cjs/dso-action-list.cjs.entry.js.map +1 -1
  4. package/dist/cjs/dso-advanced-select.cjs.entry.js +1 -1
  5. package/dist/cjs/dso-advanced-select.cjs.entry.js.map +1 -1
  6. package/dist/cjs/dso-alert_6.cjs.entry.js +4 -4
  7. package/dist/cjs/dso-alert_6.cjs.entry.js.map +1 -1
  8. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js +1 -1
  9. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js.map +1 -1
  10. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js +1 -1
  11. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js.map +1 -1
  12. package/dist/cjs/dso-annotation-kaart.cjs.entry.js +1 -1
  13. package/dist/cjs/dso-annotation-kaart.cjs.entry.js.map +1 -1
  14. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js +3 -3
  15. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js.map +1 -1
  16. package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js +1 -1
  17. package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js.map +1 -1
  18. package/dist/cjs/dso-autosuggest.cjs.entry.js +9 -3
  19. package/dist/cjs/dso-autosuggest.cjs.entry.js.map +1 -1
  20. package/dist/cjs/dso-card.cjs.entry.js +1 -1
  21. package/dist/cjs/dso-card.cjs.entry.js.map +1 -1
  22. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js +1 -1
  23. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js.map +1 -1
  24. package/dist/cjs/dso-info-button.cjs.entry.js +1 -1
  25. package/dist/cjs/dso-info-button.cjs.entry.js.map +1 -1
  26. package/dist/cjs/dso-info_2.cjs.entry.js +1 -1
  27. package/dist/cjs/dso-label_2.cjs.entry.js +2 -2
  28. package/dist/cjs/dso-label_2.cjs.entry.js.map +1 -1
  29. package/dist/cjs/dso-legend-item.cjs.entry.js +1 -1
  30. package/dist/cjs/dso-legend-item.cjs.entry.js.map +1 -1
  31. package/dist/cjs/dso-list-button.cjs.entry.js +1 -1
  32. package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -1
  33. package/dist/cjs/dso-map-controls.cjs.entry.js +1 -1
  34. package/dist/cjs/dso-map-controls.cjs.entry.js.map +1 -1
  35. package/dist/cjs/dso-mark-bar.cjs.entry.js +1 -1
  36. package/dist/cjs/dso-mark-bar.cjs.entry.js.map +1 -1
  37. package/dist/cjs/dso-modal.cjs.entry.js +1 -1
  38. package/dist/cjs/dso-pagination.cjs.entry.js +3 -3
  39. package/dist/cjs/dso-pagination.cjs.entry.js.map +1 -1
  40. package/dist/cjs/dso-project-item.cjs.entry.js +23 -0
  41. package/dist/cjs/dso-project-item.cjs.entry.js.map +1 -0
  42. package/dist/cjs/dso-renvooi_2.cjs.entry.js +2 -2
  43. package/dist/cjs/dso-renvooi_2.cjs.entry.js.map +1 -1
  44. package/dist/cjs/dso-responsive-element.cjs.entry.js +1 -1
  45. package/dist/cjs/dso-scrollable.cjs.entry.js +2 -2
  46. package/dist/cjs/dso-tab.cjs.entry.js +54 -0
  47. package/dist/cjs/dso-tab.cjs.entry.js.map +1 -0
  48. package/dist/cjs/dso-tabs.cjs.entry.js +80 -0
  49. package/dist/cjs/dso-tabs.cjs.entry.js.map +1 -0
  50. package/dist/cjs/dso-toggletip.cjs.entry.js +1 -1
  51. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  52. package/dist/cjs/dso-tree-view.cjs.entry.js +1 -1
  53. package/dist/cjs/dso-viewer-grid.cjs.entry.js +2 -2
  54. package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -1
  55. package/dist/cjs/loader.cjs.js +1 -1
  56. package/dist/collection/collection-manifest.json +3 -0
  57. package/dist/collection/components/action-list/action-list.css +7 -5
  58. package/dist/collection/components/advanced-select/advanced-select.css +2 -0
  59. package/dist/collection/components/annotation/annotation.css +14 -2
  60. package/dist/collection/components/autosuggest/autosuggest.js +9 -3
  61. package/dist/collection/components/autosuggest/autosuggest.js.map +1 -1
  62. package/dist/collection/components/card/card.css +8 -0
  63. package/dist/collection/components/document-component/document-component.css +53 -27
  64. package/dist/collection/components/document-component/document-component.js +1 -1
  65. package/dist/collection/components/document-component/document-component.js.map +1 -1
  66. package/dist/collection/components/helpcenter-panel/helpcenter-panel.css +28 -20
  67. package/dist/collection/components/image-overlay/image-overlay.css +48 -24
  68. package/dist/collection/components/info-button/info-button.css +4 -2
  69. package/dist/collection/components/label/label.css +2 -0
  70. package/dist/collection/components/legend-item/legend-item.css +7 -5
  71. package/dist/collection/components/list-button/list-button.css +29 -11
  72. package/dist/collection/components/map-controls/map-controls.css +35 -25
  73. package/dist/collection/components/mark-bar/mark-bar.css +3 -0
  74. package/dist/collection/components/modal/modal.css +16 -18
  75. package/dist/collection/components/ozon-content/ozon-content.css +86 -39
  76. package/dist/collection/components/pagination/pagination.css +24 -13
  77. package/dist/collection/components/pagination/pagination.js +2 -2
  78. package/dist/collection/components/pagination/pagination.js.map +1 -1
  79. package/dist/collection/components/project-item/project-item.css +75 -0
  80. package/dist/collection/components/project-item/project-item.js +43 -0
  81. package/dist/collection/components/project-item/project-item.js.map +1 -0
  82. package/dist/collection/components/renvooi/renvooi.css +8 -2
  83. package/dist/collection/components/responsive-element/responsive-element.js +1 -1
  84. package/dist/collection/components/scrollable/scrollable.js +2 -2
  85. package/dist/collection/components/selectable/selectable.js +1 -1
  86. package/dist/collection/components/slide-toggle/slide-toggle.js +1 -1
  87. package/dist/collection/components/table/table.css +61 -43
  88. package/dist/collection/components/table/table.js +1 -1
  89. package/dist/collection/components/tabs/components/tab.css +105 -0
  90. package/dist/collection/components/tabs/components/tab.js +158 -0
  91. package/dist/collection/components/tabs/components/tab.js.map +1 -0
  92. package/dist/collection/components/tabs/tabs.css +20 -0
  93. package/dist/collection/components/tabs/tabs.interfaces.js +2 -0
  94. package/dist/collection/components/tabs/tabs.interfaces.js.map +1 -0
  95. package/dist/collection/components/tabs/tabs.js +83 -0
  96. package/dist/collection/components/tabs/tabs.js.map +1 -0
  97. package/dist/collection/components/toggletip/toggletip.js +1 -1
  98. package/dist/collection/components/tooltip/tooltip.js +1 -1
  99. package/dist/collection/components/tree-view/tree-view.js +1 -1
  100. package/dist/collection/components/viewer-grid/viewer-grid.css +69 -43
  101. package/dist/collection/components/viewer-grid/viewer-grid.js +1 -1
  102. package/dist/components/annotation-locatie.js +1 -1
  103. package/dist/components/annotation-locatie.js.map +1 -1
  104. package/dist/components/document-component.js +2 -2
  105. package/dist/components/document-component.js.map +1 -1
  106. package/dist/components/dso-action-list-item.js.map +1 -1
  107. package/dist/components/dso-action-list.js +1 -1
  108. package/dist/components/dso-action-list.js.map +1 -1
  109. package/dist/components/dso-advanced-select.js +1 -1
  110. package/dist/components/dso-advanced-select.js.map +1 -1
  111. package/dist/components/dso-annotation-activiteit.js +1 -1
  112. package/dist/components/dso-annotation-activiteit.js.map +1 -1
  113. package/dist/components/dso-annotation-gebiedsaanwijzing.js +1 -1
  114. package/dist/components/dso-annotation-gebiedsaanwijzing.js.map +1 -1
  115. package/dist/components/dso-annotation-kaart.js +1 -1
  116. package/dist/components/dso-annotation-kaart.js.map +1 -1
  117. package/dist/components/dso-annotation-omgevingsnormwaarde.js +1 -1
  118. package/dist/components/dso-annotation-omgevingsnormwaarde.js.map +1 -1
  119. package/dist/components/dso-autosuggest.js +9 -3
  120. package/dist/components/dso-autosuggest.js.map +1 -1
  121. package/dist/components/dso-card.js +1 -1
  122. package/dist/components/dso-card.js.map +1 -1
  123. package/dist/components/dso-helpcenter-panel.js +1 -1
  124. package/dist/components/dso-helpcenter-panel.js.map +1 -1
  125. package/dist/components/dso-legend-item.js +1 -1
  126. package/dist/components/dso-legend-item.js.map +1 -1
  127. package/dist/components/dso-list-button.js +1 -1
  128. package/dist/components/dso-list-button.js.map +1 -1
  129. package/dist/components/dso-map-controls.js +1 -1
  130. package/dist/components/dso-map-controls.js.map +1 -1
  131. package/dist/components/dso-mark-bar.js +1 -1
  132. package/dist/components/dso-mark-bar.js.map +1 -1
  133. package/dist/components/dso-modal.js +1 -1
  134. package/dist/components/dso-pagination.js +3 -3
  135. package/dist/components/dso-pagination.js.map +1 -1
  136. package/dist/components/dso-project-item.d.ts +11 -0
  137. package/dist/components/dso-project-item.js +57 -0
  138. package/dist/components/dso-project-item.js.map +1 -0
  139. package/dist/components/dso-tab.d.ts +11 -0
  140. package/dist/components/dso-tab.js +73 -0
  141. package/dist/components/dso-tab.js.map +1 -0
  142. package/dist/components/dso-tabs.d.ts +11 -0
  143. package/dist/components/dso-tabs.js +94 -0
  144. package/dist/components/dso-tabs.js.map +1 -0
  145. package/dist/components/dso-tree-view.js +1 -1
  146. package/dist/components/dso-viewer-grid.js +2 -2
  147. package/dist/components/dso-viewer-grid.js.map +1 -1
  148. package/dist/components/image-overlay.js +1 -1
  149. package/dist/components/image-overlay.js.map +1 -1
  150. package/dist/components/index.d.ts +6 -0
  151. package/dist/components/index.js +3 -0
  152. package/dist/components/index.js.map +1 -1
  153. package/dist/components/info-button.js +1 -1
  154. package/dist/components/info-button.js.map +1 -1
  155. package/dist/components/label.js +1 -1
  156. package/dist/components/label.js.map +1 -1
  157. package/dist/components/ozon-content.js +1 -1
  158. package/dist/components/ozon-content.js.map +1 -1
  159. package/dist/components/renvooi.js +1 -1
  160. package/dist/components/renvooi.js.map +1 -1
  161. package/dist/components/responsive-element.js +1 -1
  162. package/dist/components/scrollable.js +2 -2
  163. package/dist/components/selectable.js +1 -1
  164. package/dist/components/slide-toggle.js +1 -1
  165. package/dist/components/table.js +2 -2
  166. package/dist/components/table.js.map +1 -1
  167. package/dist/components/toggletip.js +1 -1
  168. package/dist/components/tooltip.js +1 -1
  169. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  170. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  171. package/dist/dso-toolkit/{p-f7428e63.entry.js → p-0c228908.entry.js} +2 -2
  172. package/dist/dso-toolkit/p-18318bd5.entry.js +2 -0
  173. package/dist/dso-toolkit/{p-9ec63c53.entry.js.map → p-18318bd5.entry.js.map} +1 -1
  174. package/dist/dso-toolkit/{p-b69aca6c.entry.js → p-19dd99c6.entry.js} +2 -2
  175. package/dist/dso-toolkit/p-1a824699.entry.js +2 -0
  176. package/dist/dso-toolkit/{p-ea62fe33.entry.js.map → p-1a824699.entry.js.map} +1 -1
  177. package/dist/dso-toolkit/p-2dc8e61f.entry.js +2 -0
  178. package/dist/dso-toolkit/{p-9367abb1.entry.js.map → p-2dc8e61f.entry.js.map} +1 -1
  179. package/dist/dso-toolkit/p-2e413e3d.entry.js +2 -0
  180. package/dist/dso-toolkit/p-34c19fc1.entry.js +2 -0
  181. package/dist/dso-toolkit/p-34c19fc1.entry.js.map +1 -0
  182. package/dist/dso-toolkit/p-3735286c.entry.js +2 -0
  183. package/dist/dso-toolkit/p-3735286c.entry.js.map +1 -0
  184. package/dist/dso-toolkit/p-404ea2b9.entry.js +2 -0
  185. package/dist/dso-toolkit/{p-7acf6216.entry.js.map → p-404ea2b9.entry.js.map} +1 -1
  186. package/dist/dso-toolkit/p-448d84e3.entry.js +2 -0
  187. package/dist/dso-toolkit/p-448d84e3.entry.js.map +1 -0
  188. package/dist/dso-toolkit/p-487469c5.entry.js +2 -0
  189. package/dist/dso-toolkit/p-487469c5.entry.js.map +1 -0
  190. package/dist/dso-toolkit/p-5180315a.entry.js +2 -0
  191. package/dist/dso-toolkit/{p-949f5bc0.entry.js.map → p-5180315a.entry.js.map} +1 -1
  192. package/dist/dso-toolkit/{p-6742d457.entry.js → p-5db11fa4.entry.js} +2 -2
  193. package/dist/dso-toolkit/p-5f2d8a1f.entry.js +2 -0
  194. package/dist/dso-toolkit/{p-a13ad7da.entry.js.map → p-5f2d8a1f.entry.js.map} +1 -1
  195. package/dist/dso-toolkit/p-66689c5c.entry.js +2 -0
  196. package/dist/dso-toolkit/{p-dd680a61.entry.js.map → p-66689c5c.entry.js.map} +1 -1
  197. package/dist/dso-toolkit/p-786f3a41.entry.js.map +1 -1
  198. package/dist/dso-toolkit/p-7d7630d0.entry.js +2 -0
  199. package/dist/dso-toolkit/p-7d7630d0.entry.js.map +1 -0
  200. package/dist/dso-toolkit/p-88aebd15.entry.js +2 -0
  201. package/dist/dso-toolkit/{p-8e902d74.entry.js.map → p-88aebd15.entry.js.map} +1 -1
  202. package/dist/dso-toolkit/p-892b8003.entry.js +2 -0
  203. package/dist/dso-toolkit/{p-78daa04d.entry.js.map → p-892b8003.entry.js.map} +1 -1
  204. package/dist/dso-toolkit/p-9772e3b6.entry.js +2 -0
  205. package/dist/dso-toolkit/{p-eaa9146c.entry.js.map → p-9772e3b6.entry.js.map} +1 -1
  206. package/dist/dso-toolkit/p-9af9870b.entry.js +2 -0
  207. package/dist/dso-toolkit/p-9af9870b.entry.js.map +1 -0
  208. package/dist/dso-toolkit/p-a644f41c.entry.js +2 -0
  209. package/dist/dso-toolkit/p-a644f41c.entry.js.map +1 -0
  210. package/dist/dso-toolkit/p-a705c684.entry.js +2 -0
  211. package/dist/dso-toolkit/{p-d246e155.entry.js.map → p-a705c684.entry.js.map} +1 -1
  212. package/dist/dso-toolkit/p-b7ca8de2.entry.js +2 -0
  213. package/dist/dso-toolkit/{p-38210481.entry.js.map → p-b7ca8de2.entry.js.map} +1 -1
  214. package/dist/dso-toolkit/{p-9630207a.entry.js → p-d42db4af.entry.js} +2 -2
  215. package/dist/dso-toolkit/p-d7358e77.entry.js +2 -0
  216. package/dist/dso-toolkit/{p-8ff36cfa.entry.js.map → p-d7358e77.entry.js.map} +1 -1
  217. package/dist/dso-toolkit/p-e283ee51.entry.js +2 -0
  218. package/dist/dso-toolkit/{p-a40730f7.entry.js.map → p-e283ee51.entry.js.map} +1 -1
  219. package/dist/dso-toolkit/{p-ede5568b.entry.js → p-e4eed4a2.entry.js} +2 -2
  220. package/dist/dso-toolkit/p-eb79a374.entry.js +2 -0
  221. package/dist/dso-toolkit/{p-c0e4bcee.entry.js.map → p-eb79a374.entry.js.map} +1 -1
  222. package/dist/dso-toolkit/p-f1b0fe14.entry.js +2 -0
  223. package/dist/dso-toolkit/p-f1b0fe14.entry.js.map +1 -0
  224. package/dist/esm/dso-action-list-item.entry.js.map +1 -1
  225. package/dist/esm/dso-action-list.entry.js +1 -1
  226. package/dist/esm/dso-action-list.entry.js.map +1 -1
  227. package/dist/esm/dso-advanced-select.entry.js +1 -1
  228. package/dist/esm/dso-advanced-select.entry.js.map +1 -1
  229. package/dist/esm/dso-alert_6.entry.js +4 -4
  230. package/dist/esm/dso-alert_6.entry.js.map +1 -1
  231. package/dist/esm/dso-annotation-activiteit.entry.js +1 -1
  232. package/dist/esm/dso-annotation-activiteit.entry.js.map +1 -1
  233. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js +1 -1
  234. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js.map +1 -1
  235. package/dist/esm/dso-annotation-kaart.entry.js +1 -1
  236. package/dist/esm/dso-annotation-kaart.entry.js.map +1 -1
  237. package/dist/esm/dso-annotation-locatie_2.entry.js +3 -3
  238. package/dist/esm/dso-annotation-locatie_2.entry.js.map +1 -1
  239. package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js +1 -1
  240. package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js.map +1 -1
  241. package/dist/esm/dso-autosuggest.entry.js +9 -3
  242. package/dist/esm/dso-autosuggest.entry.js.map +1 -1
  243. package/dist/esm/dso-card.entry.js +1 -1
  244. package/dist/esm/dso-card.entry.js.map +1 -1
  245. package/dist/esm/dso-helpcenter-panel.entry.js +1 -1
  246. package/dist/esm/dso-helpcenter-panel.entry.js.map +1 -1
  247. package/dist/esm/dso-info-button.entry.js +1 -1
  248. package/dist/esm/dso-info-button.entry.js.map +1 -1
  249. package/dist/esm/dso-info_2.entry.js +1 -1
  250. package/dist/esm/dso-label_2.entry.js +2 -2
  251. package/dist/esm/dso-label_2.entry.js.map +1 -1
  252. package/dist/esm/dso-legend-item.entry.js +1 -1
  253. package/dist/esm/dso-legend-item.entry.js.map +1 -1
  254. package/dist/esm/dso-list-button.entry.js +1 -1
  255. package/dist/esm/dso-list-button.entry.js.map +1 -1
  256. package/dist/esm/dso-map-controls.entry.js +1 -1
  257. package/dist/esm/dso-map-controls.entry.js.map +1 -1
  258. package/dist/esm/dso-mark-bar.entry.js +1 -1
  259. package/dist/esm/dso-mark-bar.entry.js.map +1 -1
  260. package/dist/esm/dso-modal.entry.js +1 -1
  261. package/dist/esm/dso-pagination.entry.js +3 -3
  262. package/dist/esm/dso-pagination.entry.js.map +1 -1
  263. package/dist/esm/dso-project-item.entry.js +19 -0
  264. package/dist/esm/dso-project-item.entry.js.map +1 -0
  265. package/dist/esm/dso-renvooi_2.entry.js +2 -2
  266. package/dist/esm/dso-renvooi_2.entry.js.map +1 -1
  267. package/dist/esm/dso-responsive-element.entry.js +1 -1
  268. package/dist/esm/dso-scrollable.entry.js +2 -2
  269. package/dist/esm/dso-tab.entry.js +50 -0
  270. package/dist/esm/dso-tab.entry.js.map +1 -0
  271. package/dist/esm/dso-tabs.entry.js +76 -0
  272. package/dist/esm/dso-tabs.entry.js.map +1 -0
  273. package/dist/esm/dso-toggletip.entry.js +1 -1
  274. package/dist/esm/dso-toolkit.js +1 -1
  275. package/dist/esm/dso-tree-view.entry.js +1 -1
  276. package/dist/esm/dso-viewer-grid.entry.js +2 -2
  277. package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
  278. package/dist/esm/loader.js +1 -1
  279. package/dist/types/components/project-item/project-item.d.ts +8 -0
  280. package/dist/types/components/tabs/components/tab.d.ts +33 -0
  281. package/dist/types/components/tabs/tabs.d.ts +18 -0
  282. package/dist/types/components/tabs/tabs.interfaces.d.ts +4 -0
  283. package/dist/types/components.d.ts +93 -0
  284. package/package.json +3 -3
  285. package/dist/dso-toolkit/p-09b3cda7.entry.js +0 -2
  286. package/dist/dso-toolkit/p-09b3cda7.entry.js.map +0 -1
  287. package/dist/dso-toolkit/p-142b052b.entry.js +0 -2
  288. package/dist/dso-toolkit/p-142b052b.entry.js.map +0 -1
  289. package/dist/dso-toolkit/p-38210481.entry.js +0 -2
  290. package/dist/dso-toolkit/p-64f032ae.entry.js +0 -2
  291. package/dist/dso-toolkit/p-64f032ae.entry.js.map +0 -1
  292. package/dist/dso-toolkit/p-78daa04d.entry.js +0 -2
  293. package/dist/dso-toolkit/p-7acf6216.entry.js +0 -2
  294. package/dist/dso-toolkit/p-8e902d74.entry.js +0 -2
  295. package/dist/dso-toolkit/p-8ff36cfa.entry.js +0 -2
  296. package/dist/dso-toolkit/p-9367abb1.entry.js +0 -2
  297. package/dist/dso-toolkit/p-949f5bc0.entry.js +0 -2
  298. package/dist/dso-toolkit/p-99a8a8d0.entry.js +0 -2
  299. package/dist/dso-toolkit/p-9ec63c53.entry.js +0 -2
  300. package/dist/dso-toolkit/p-9f22940a.entry.js +0 -2
  301. package/dist/dso-toolkit/p-9f22940a.entry.js.map +0 -1
  302. package/dist/dso-toolkit/p-a13ad7da.entry.js +0 -2
  303. package/dist/dso-toolkit/p-a40730f7.entry.js +0 -2
  304. package/dist/dso-toolkit/p-c0e4bcee.entry.js +0 -2
  305. package/dist/dso-toolkit/p-d246e155.entry.js +0 -2
  306. package/dist/dso-toolkit/p-d6c90738.entry.js +0 -2
  307. package/dist/dso-toolkit/p-d6c90738.entry.js.map +0 -1
  308. package/dist/dso-toolkit/p-dd680a61.entry.js +0 -2
  309. package/dist/dso-toolkit/p-ea62fe33.entry.js +0 -2
  310. package/dist/dso-toolkit/p-eaa9146c.entry.js +0 -2
  311. /package/dist/dso-toolkit/{p-f7428e63.entry.js.map → p-0c228908.entry.js.map} +0 -0
  312. /package/dist/dso-toolkit/{p-b69aca6c.entry.js.map → p-19dd99c6.entry.js.map} +0 -0
  313. /package/dist/dso-toolkit/{p-99a8a8d0.entry.js.map → p-2e413e3d.entry.js.map} +0 -0
  314. /package/dist/dso-toolkit/{p-6742d457.entry.js.map → p-5db11fa4.entry.js.map} +0 -0
  315. /package/dist/dso-toolkit/{p-9630207a.entry.js.map → p-d42db4af.entry.js.map} +0 -0
  316. /package/dist/dso-toolkit/{p-ede5568b.entry.js.map → p-e4eed4a2.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["labelCss","DsoLabelStyle0","resizeObserver","ResizeObserver","debounce","entries","forEach","target","isDsoLabelComponent","_truncateLabel","element","tagName","hasEllipses","el","scrollWidth","clientWidth","Label","watchRemovable","removable","this","startMutationObserver","stopMutationObserver","watchTruncate","truncate","startTruncate","stopTruncate","keyDownListener","event","key","textHover","textFocus","setTimeout","isTruncated","labelContent","syncLabelText","labelText","_b","_a","host","textContent","trim","componentDidLoad","disconnectedCallback","mutationObserver","MutationObserver","observe","characterData","childList","subtree","attributes","force","disconnect","unobserve","render","h","Fragment","class","clsx","status","compact","removeHover","removeFocus","name","ref","tabindex","undefined","onMouseEnter","onMouseLeave","onFocus","onBlur","type","onClick","e","dsoRemoveClick","emit","icon","stateless","id","active","position","strategy","maxSize","enabled","phase","requiresIfExists","fn","_ref","state","options","overflow","detectOverflow","_ref2","modifiersData","preventOverflow","x","y","_state$rects$popper","rects","popper","width","height","_state$placement$spli","placement","split","basePlacement","widthProp","heightProp","tooltipCss","DsoTooltipStyle0","transitionDuration","applyMaxSize","beforeWrite","requires","styles","Object","assign","maxWidth","Tooltip","callbacks","activate","deactivate","matches","deactivatePopper","hidden","destroy","_Tooltip_target","set","watchPosition","setOptions","watchStrategy","setStrategy","parentNode","document","ShadowRoot","parentElement","hasOverflow","watchActive","activatePopper","modifiers","addEventListener","removeEventListener","listenClick","stopPropagation","tooltip","shadowRoot","querySelector","HTMLElement","Error","componentDidRender","update","Host","role","in","noArrow","descriptive","small","createPopper","__classPrivateFieldGet","initializeTarget","__classPrivateFieldSet","console","warn","rootNode","getRootNode","Document","reference"],"sources":["src/components/label/label.scss?tag=dso-label&encapsulation=shadow","src/components/label/label.tsx","../../node_modules/popper-max-size-modifier/dist/popper-max-size-modifier.esm.js","src/components/tooltip/tooltip.scss?tag=dso-tooltip&encapsulation=shadow","src/components/tooltip/tooltip.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/label\";\r\n\r\n:host {\r\n display: inline-block;\r\n max-inline-size: 100%;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n// Todo: Replace .sr-only selector with web component specific selector, no need for .sr-only if we can generate the SCSS\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-label {\r\n @include label.root();\r\n\r\n &.dso-hover {\r\n .dso-label-content {\r\n text-decoration: line-through;\r\n }\r\n }\r\n}\r\n\r\n.dso-truncate.dso-label-content {\r\n display: inline-block;\r\n max-inline-size: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis; // stylelint-disable-line declaration-property-value-disallowed-list -- full text can be viewed via tooltip.\r\n vertical-align: bottom;\r\n white-space: nowrap; // stylelint-disable-line declaration-property-value-disallowed-list -- full text can be viewed via tooltip.\r\n}\r\n\r\n:host([removable]) {\r\n .dso-truncate.dso-label-content {\r\n max-inline-size: calc(100% - (units.$u3 + 4px));\r\n }\r\n}\r\n","import {\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Method,\r\n Prop,\r\n State,\r\n Watch,\r\n Listen,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\nimport { LabelStatus } from \"./label.interfaces\";\r\n\r\nconst resizeObserver = new ResizeObserver(\r\n debounce((entries: ResizeObserverEntry[]) => {\r\n entries.forEach(({ target }) => {\r\n if (isDsoLabelComponent(target)) {\r\n target._truncateLabel();\r\n }\r\n });\r\n }, 150),\r\n);\r\n\r\nfunction isDsoLabelComponent(element: Element): element is HTMLDsoLabelElement {\r\n return element.tagName === \"DSO-LABEL\";\r\n}\r\n\r\nfunction hasEllipses(el: HTMLElement): boolean {\r\n return el.scrollWidth > el.clientWidth;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-label\",\r\n styleUrl: \"label.scss\",\r\n shadow: true,\r\n})\r\nexport class Label implements ComponentInterface {\r\n private labelContent: HTMLSpanElement | undefined;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n @Element()\r\n private host!: HTMLDsoLabelElement;\r\n\r\n /**\r\n * For compact Label\r\n */\r\n @Prop()\r\n compact?: boolean;\r\n\r\n /**\r\n * Shows a button that can be used to remove the Label.\r\n */\r\n @Prop()\r\n removable?: boolean;\r\n\r\n /**\r\n * The status of this Label.\r\n */\r\n @Prop()\r\n status?: LabelStatus;\r\n\r\n /**\r\n * Emitted when the user activates the remove button.\r\n */\r\n @Event()\r\n dsoRemoveClick!: EventEmitter<MouseEvent>;\r\n\r\n @State()\r\n removeHover?: boolean;\r\n\r\n @State()\r\n removeFocus?: boolean;\r\n\r\n /**\r\n * Whether the Label is allowed to truncate the contents if it does not fit the container element.\r\n */\r\n @Prop()\r\n truncate?: boolean;\r\n\r\n @State()\r\n textHover?: boolean;\r\n\r\n @State()\r\n textFocus?: boolean;\r\n\r\n @State()\r\n isTruncated = false;\r\n\r\n @State()\r\n labelText = \"\";\r\n\r\n @Watch(\"removable\")\r\n watchRemovable(removable: boolean) {\r\n if (removable) {\r\n this.startMutationObserver();\r\n } else {\r\n this.stopMutationObserver();\r\n }\r\n }\r\n\r\n @Watch(\"truncate\")\r\n watchTruncate(truncate: boolean) {\r\n if (truncate) {\r\n this.startTruncate();\r\n } else {\r\n this.stopTruncate();\r\n }\r\n }\r\n\r\n @Listen(\"keydown\", { target: \"document\" })\r\n keyDownListener(event: KeyboardEvent) {\r\n if (event.key === \"Escape\") {\r\n this.textHover = false;\r\n this.textFocus = false;\r\n }\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _truncateLabel() {\r\n setTimeout(() => {\r\n this.isTruncated = !!this.labelContent && hasEllipses(this.labelContent);\r\n });\r\n }\r\n\r\n private syncLabelText() {\r\n this.labelText = this.host.textContent?.trim() ?? \"\";\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.truncate) {\r\n this.startTruncate();\r\n }\r\n\r\n if (this.removable) {\r\n this.startMutationObserver();\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n this.stopTruncate();\r\n\r\n this.stopMutationObserver(true);\r\n }\r\n\r\n /** The mutationObserver fetches the text placed inside the label, this is then used for the remove button and tooltip. */\r\n private startMutationObserver(): void {\r\n this.mutationObserver = new MutationObserver(() => this.syncLabelText());\r\n\r\n this.mutationObserver.observe(this.host, {\r\n characterData: true,\r\n childList: true,\r\n subtree: true,\r\n attributes: true,\r\n });\r\n\r\n this.syncLabelText();\r\n }\r\n\r\n private stopMutationObserver(force = false): void {\r\n if (force || !(this.truncate && this.removable)) {\r\n this.mutationObserver?.disconnect();\r\n\r\n delete this.mutationObserver;\r\n }\r\n }\r\n\r\n private startTruncate(): void {\r\n resizeObserver.observe(this.host);\r\n this.startMutationObserver();\r\n this._truncateLabel();\r\n }\r\n\r\n private stopTruncate(): void {\r\n resizeObserver.unobserve(this.host);\r\n this.stopMutationObserver();\r\n this.isTruncated = false;\r\n }\r\n\r\n render() {\r\n return (\r\n <Fragment>\r\n <span\r\n aria-describedby=\"toggle-anchor\"\r\n class={clsx(\"dso-label\", {\r\n [`dso-label-${this.status}`]: this.status,\r\n \"dso-compact\": this.compact && !this.removable,\r\n \"dso-hover\": this.removeHover || this.removeFocus,\r\n })}\r\n >\r\n <slot name=\"symbol\"></slot>\r\n <span\r\n class={clsx(\"dso-label-content\", {\r\n \"dso-truncate\": !!this.truncate,\r\n })}\r\n ref={(element) => (this.labelContent = element)}\r\n tabindex={this.truncate && this.isTruncated ? 0 : undefined}\r\n onMouseEnter={() => (this.textHover = true)}\r\n onMouseLeave={() => (this.textHover = false)}\r\n onFocus={() => (this.textFocus = true)}\r\n onBlur={() => (this.textFocus = false)}\r\n >\r\n <slot></slot>\r\n </span>\r\n {this.removable && (\r\n <button\r\n type=\"button\"\r\n onClick={(e) => this.dsoRemoveClick.emit(e)}\r\n onMouseEnter={() => (this.removeHover = true)}\r\n onMouseLeave={() => (this.removeHover = false)}\r\n onFocus={() => (this.removeFocus = true)}\r\n onBlur={() => (this.removeFocus = false)}\r\n >\r\n <span class=\"sr-only\">Verwijder: {this.labelText}</span>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n </button>\r\n )}\r\n </span>\r\n {this.isTruncated && (\r\n <dso-tooltip\r\n stateless\r\n id=\"toggle-anchor\"\r\n active={this.textHover || this.textFocus}\r\n position=\"top\"\r\n strategy=\"absolute\"\r\n >\r\n {this.labelText}\r\n </dso-tooltip>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n","import { detectOverflow } from '@popperjs/core';\n\nvar maxSize = {\n name: 'maxSize',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['offset', 'preventOverflow', 'flip'],\n fn: function fn(_ref) {\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var overflow = detectOverflow(state, options);\n\n var _ref2 = state.modifiersData.preventOverflow || {\n x: 0,\n y: 0\n },\n x = _ref2.x,\n y = _ref2.y;\n\n var _state$rects$popper = state.rects.popper,\n width = _state$rects$popper.width,\n height = _state$rects$popper.height;\n\n var _state$placement$spli = state.placement.split('-'),\n basePlacement = _state$placement$spli[0];\n\n var widthProp = basePlacement === 'left' ? 'left' : 'right';\n var heightProp = basePlacement === 'top' ? 'top' : 'bottom';\n state.modifiersData[name] = {\n width: width - overflow[widthProp] - x,\n height: height - overflow[heightProp] - y\n };\n }\n};\n\nexport default maxSize;\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n\r\n@use \"tooltip.variables\" as tooltip-variables;\r\n\r\n:host(.hidden) {\r\n visibility: hidden;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.tooltip {\r\n font-family: typography.$font-family-base;\r\n // We deliberately do NOT reset font-size.\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: typography.$line-height-base;\r\n line-break: auto;\r\n text-align: start;\r\n text-decoration: none;\r\n text-shadow: none;\r\n text-transform: none;\r\n letter-spacing: normal;\r\n word-break: break-word;\r\n word-spacing: normal;\r\n word-wrap: normal;\r\n white-space: normal;\r\n\r\n --link-color: #{colors.$grasgroen};\r\n\r\n display: block;\r\n filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.4));\r\n font-size: typography.$font-size-small;\r\n opacity: 0;\r\n position: absolute;\r\n transition: opacity tooltip-variables.$transition-duration linear;\r\n z-index: zindex.$tooltip;\r\n\r\n &.in {\r\n opacity: tooltip-variables.$opacity;\r\n }\r\n\r\n .tooltip-inner {\r\n background-color: colors.$wit;\r\n border-radius: tooltip-variables.$border-radius;\r\n color: colors.$grijs-90;\r\n display: inline-block;\r\n font-size: typography.$root-font-size-base;\r\n max-inline-size: tooltip-variables.$max-inline-size;\r\n padding-block: tooltip-variables.$padding-block;\r\n padding-inline: tooltip-variables.$padding-inline;\r\n position: relative;\r\n\r\n &.dso-small {\r\n max-inline-size: tooltip-variables.$max-inline-size-small;\r\n }\r\n }\r\n\r\n .tooltip-arrow {\r\n border-color: transparent;\r\n border-style: solid;\r\n block-size: 0;\r\n inline-size: 0;\r\n }\r\n\r\n &[data-popper-placement=\"top\"] {\r\n margin-block-start: -3px;\r\n padding-block: tooltip-variables.$arrow-inline-size;\r\n padding-inline: 0;\r\n\r\n .tooltip-arrow {\r\n inset-block-end: 0;\r\n border-block-start-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-inline-size;\r\n border-block-end-width: 0;\r\n margin-inline-start: var(--tooltip-margin-inline-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"right\"] {\r\n margin-inline-start: 3px;\r\n padding-block: 0;\r\n padding-inline: tooltip-variables.$arrow-inline-size;\r\n\r\n .tooltip-arrow {\r\n inset-inline-start: 0;\r\n border-inline-end-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-inline-size;\r\n border-inline-start-width: 0;\r\n margin-block-start: var(--tooltip-margin-block-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"bottom\"] {\r\n margin-block-start: 3px;\r\n padding-block: tooltip-variables.$arrow-inline-size;\r\n padding-inline: 0;\r\n\r\n .tooltip-arrow {\r\n inset-block-start: 0;\r\n border-block-end-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-inline-size;\r\n border-block-start-width: 0;\r\n margin-inline-start: var(--tooltip-margin-inline-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"left\"] {\r\n margin-inline-start: -3px;\r\n margin-inline-end: var(--tooltip-margin-inline-end, unset);\r\n padding-block: 0;\r\n padding-inline: tooltip-variables.$arrow-inline-size;\r\n\r\n .tooltip-arrow {\r\n inset-inline-end: 0;\r\n border-inline-start-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-inline-size;\r\n border-inline-end-width: 0;\r\n margin-block-start: var(--tooltip-margin-block-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n}\r\n","import { beforeWrite, createPopper, Instance as PopperInstance, Placement, State as PopperState } from \"@popperjs/core\";\r\nimport maxSize from \"popper-max-size-modifier\";\r\nimport { h, Component, Element, Host, Method, Prop, State, Watch } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { hasOverflow } from \"../../utils/has-overflow\";\r\nimport debounce from \"debounce\";\r\n\r\n// Keep const in sync with $tooltip-transition-duration in dso-toolkit/src/components/tooltip/tooltip.scss tooltip_root() mixin\r\nconst transitionDuration = 150;\r\n\r\nconst applyMaxSize = {\r\n name: \"applyMaxSize\",\r\n enabled: true,\r\n phase: beforeWrite,\r\n requires: [\"maxSize\"],\r\n fn({ state }: { state: PopperState }) {\r\n let { width } = state.modifiersData.maxSize;\r\n if (width < 160) {\r\n width = 160;\r\n }\r\n\r\n state.styles.popper = {\r\n ...state.styles.popper,\r\n maxWidth: `${width}px`,\r\n };\r\n },\r\n};\r\n\r\n@Component({\r\n tag: \"dso-tooltip\",\r\n styleUrl: \"tooltip.scss\",\r\n shadow: true,\r\n})\r\nexport class Tooltip {\r\n /**\r\n * 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`.\r\n */\r\n @Prop({\r\n reflect: true,\r\n })\r\n descriptive = false;\r\n\r\n /**\r\n * Set position of tooltip relative to target\r\n */\r\n @Prop()\r\n position: Placement = \"top\";\r\n\r\n /**\r\n * Set position strategy of tooltip\r\n */\r\n @Prop()\r\n strategy: \"auto\" | \"absolute\" | \"fixed\" = \"auto\";\r\n\r\n /**\r\n * Set attribute `no-arrow` to hide the arrow\r\n */\r\n @Prop()\r\n noArrow = false;\r\n\r\n /**\r\n * Deactivates mouseover behaviour\r\n */\r\n @Prop()\r\n stateless?: boolean;\r\n\r\n /**\r\n * Defines if the tooltip has a smaller max-width\r\n */\r\n @Prop()\r\n small?: boolean;\r\n\r\n /**\r\n * Whether or not to show the tooltip. To control the tooltip add the `active` attribute or use the `activate()` and `deactivate()` instance methods.\r\n */\r\n @Prop({ reflect: true, mutable: true })\r\n active = false;\r\n\r\n /**\r\n * Activate the tooltip (Sets the `active` attribute)\r\n */\r\n @Method()\r\n async activate(): Promise<void> {\r\n this.active = true;\r\n }\r\n\r\n /**\r\n * Deactivate the tooltip (Removes the `active` attribute)\r\n */\r\n @Method()\r\n async deactivate(): Promise<void> {\r\n this.active = false;\r\n }\r\n\r\n @Watch(\"position\")\r\n watchPosition() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n this.popper.setOptions({\r\n placement: this.position,\r\n });\r\n }\r\n\r\n @Watch(\"strategy\")\r\n watchStrategy() {\r\n this.setStrategy();\r\n }\r\n\r\n private setStrategy() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n if (this.strategy === \"absolute\" || this.strategy === \"fixed\") {\r\n this.popper.setOptions({\r\n strategy: this.strategy,\r\n });\r\n\r\n return;\r\n }\r\n\r\n let element: Element | null = this.element;\r\n while (element && element.parentNode !== document) {\r\n element = element.parentNode instanceof ShadowRoot ? element.parentNode.host : element.parentElement;\r\n if (element !== null && hasOverflow(element)) {\r\n this.popper.setOptions({\r\n strategy: \"fixed\",\r\n });\r\n\r\n return;\r\n }\r\n }\r\n\r\n this.popper.setOptions({\r\n strategy: \"absolute\",\r\n });\r\n }\r\n\r\n @Watch(\"active\")\r\n watchActive() {\r\n if (this.active) {\r\n this.activatePopper();\r\n\r\n if (!this.stateless) {\r\n setTimeout(() => {\r\n this.popper?.setOptions({\r\n modifiers: [{ name: \"eventListeners\", enabled: true }],\r\n });\r\n document.addEventListener(\"keydown\", this.keyDownListener);\r\n });\r\n }\r\n } else {\r\n document.removeEventListener(\"keydown\", this.keyDownListener);\r\n this.deactivatePopper();\r\n }\r\n }\r\n\r\n @Element()\r\n private element!: HTMLDsoTooltipElement;\r\n\r\n private popper: PopperInstance | undefined;\r\n\r\n private callbacks: TooltipCallbacks = {\r\n activate: () => (this.active = true),\r\n deactivate: () => (this.active = false),\r\n };\r\n\r\n private onMouseLeave = () => {\r\n if (!this.element.matches(\":hover\") && !this.target?.matches(\":hover\")) {\r\n this.callbacks.deactivate();\r\n }\r\n };\r\n\r\n @State()\r\n private hidden = true;\r\n\r\n private listenClick(e: MouseEvent) {\r\n e.stopPropagation();\r\n }\r\n\r\n componentDidLoad(): void {\r\n const tooltip = this.element.shadowRoot?.querySelector(\".tooltip\");\r\n if (!(tooltip instanceof HTMLElement)) {\r\n throw new Error(\"tooltip element is not instanceof HTMLElement\");\r\n }\r\n\r\n if (!this.stateless && this.target) {\r\n this.target.addEventListener(\"mouseenter\", this.callbacks.activate);\r\n [this.element, this.target].forEach((element) => element.addEventListener(\"mouseleave\", this.onMouseLeave));\r\n this.target.addEventListener(\"focus\", this.callbacks.activate);\r\n this.target.addEventListener(\"blur\", this.callbacks.deactivate);\r\n }\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.popper?.destroy();\r\n\r\n if (!this.stateless && this.target) {\r\n this.target.removeEventListener(\"mouseenter\", this.callbacks.activate);\r\n [this.element, this.target].forEach((element) => element.removeEventListener(\"mouseleave\", this.onMouseLeave));\r\n this.target.removeEventListener(\"focus\", this.callbacks.activate);\r\n this.target.removeEventListener(\"blur\", this.callbacks.deactivate);\r\n }\r\n\r\n this.target = undefined;\r\n }\r\n\r\n componentDidRender() {\r\n if (this.active) {\r\n this.popper?.update();\r\n }\r\n }\r\n\r\n private keyDownListener = (event: KeyboardEvent) => {\r\n if (event.key === \"Escape\") {\r\n this.deactivate();\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n <Host class={{ hidden: this.hidden }} role=\"tooltip\" onClick={this.listenClick}>\r\n <div class={clsx(\"tooltip\", { in: this.active })}>\r\n {!this.noArrow && <div data-popper-arrow class=\"tooltip-arrow\"></div>}\r\n <div aria-hidden={!this.descriptive || undefined} class={clsx(\"tooltip-inner\", { \"dso-small\": this.small })}>\r\n <slot></slot>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n private deactivatePopper = debounce(() => {\r\n this.hidden = true;\r\n this.popper?.destroy();\r\n this.popper = undefined;\r\n }, transitionDuration);\r\n\r\n private activatePopper(): void {\r\n this.hidden = false;\r\n\r\n if (this.popper) {\r\n return;\r\n }\r\n\r\n const tooltip = this.element.shadowRoot?.querySelector(\".tooltip\");\r\n\r\n if (this.target && tooltip instanceof HTMLElement) {\r\n this.popper = createPopper(this.target, tooltip, {\r\n placement: this.position,\r\n modifiers: [maxSize, applyMaxSize, { name: \"eventListeners\", enabled: false }],\r\n });\r\n\r\n this.setStrategy();\r\n }\r\n }\r\n\r\n private get target(): HTMLElement | undefined {\r\n return this.#target ?? this.initializeTarget();\r\n }\r\n\r\n private set target(element: HTMLElement | undefined) {\r\n this.#target = element;\r\n }\r\n\r\n #target?: HTMLElement;\r\n\r\n private initializeTarget(): HTMLElement | undefined {\r\n const id = this.element.id;\r\n\r\n if (!id) {\r\n console.warn(\"Unable to find reference tooltip has no [id] attribute.\");\r\n\r\n return;\r\n }\r\n\r\n const rootNode = this.element.getRootNode();\r\n if (!(rootNode instanceof Document || rootNode instanceof ShadowRoot)) {\r\n console.warn(`rootNode is not instance of Document or ShadowRoot`);\r\n\r\n return;\r\n }\r\n\r\n const reference = rootNode.querySelector<HTMLElement>(`[aria-describedBy=\"${id}`);\r\n if (!reference) {\r\n console.warn(`Unable to find reference with aria-describedby ${id}`);\r\n\r\n return;\r\n }\r\n\r\n this.#target = reference;\r\n return reference;\r\n }\r\n}\r\n\r\ninterface TooltipCallbacks {\r\n activate: () => void;\r\n deactivate: () => void;\r\n}\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["labelCss","DsoLabelStyle0","resizeObserver","ResizeObserver","debounce","entries","forEach","target","isDsoLabelComponent","_truncateLabel","element","tagName","hasEllipses","el","scrollWidth","clientWidth","Label","watchRemovable","removable","this","startMutationObserver","stopMutationObserver","watchTruncate","truncate","startTruncate","stopTruncate","keyDownListener","event","key","textHover","textFocus","setTimeout","isTruncated","labelContent","syncLabelText","labelText","_b","_a","host","textContent","trim","componentDidLoad","disconnectedCallback","mutationObserver","MutationObserver","observe","characterData","childList","subtree","attributes","force","disconnect","unobserve","render","h","Fragment","class","clsx","status","compact","removeHover","removeFocus","name","ref","tabindex","undefined","onMouseEnter","onMouseLeave","onFocus","onBlur","type","onClick","e","dsoRemoveClick","emit","icon","stateless","id","active","position","strategy","maxSize","enabled","phase","requiresIfExists","fn","_ref","state","options","overflow","detectOverflow","_ref2","modifiersData","preventOverflow","x","y","_state$rects$popper","rects","popper","width","height","_state$placement$spli","placement","split","basePlacement","widthProp","heightProp","tooltipCss","DsoTooltipStyle0","transitionDuration","applyMaxSize","beforeWrite","requires","styles","Object","assign","maxWidth","Tooltip","callbacks","activate","deactivate","matches","deactivatePopper","hidden","destroy","_Tooltip_target","set","watchPosition","setOptions","watchStrategy","setStrategy","parentNode","document","ShadowRoot","parentElement","hasOverflow","watchActive","activatePopper","modifiers","addEventListener","removeEventListener","listenClick","stopPropagation","tooltip","shadowRoot","querySelector","HTMLElement","Error","componentDidRender","update","Host","role","in","noArrow","descriptive","small","createPopper","__classPrivateFieldGet","initializeTarget","__classPrivateFieldSet","console","warn","rootNode","getRootNode","Document","reference"],"sources":["src/components/label/label.scss?tag=dso-label&encapsulation=shadow","src/components/label/label.tsx","../../node_modules/popper-max-size-modifier/dist/popper-max-size-modifier.esm.js","src/components/tooltip/tooltip.scss?tag=dso-tooltip&encapsulation=shadow","src/components/tooltip/tooltip.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/label\";\r\n\r\n:host {\r\n display: inline-block;\r\n max-inline-size: 100%;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n// Todo: Replace .sr-only selector with web component specific selector, no need for .sr-only if we can generate the SCSS\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-label {\r\n @include label.root();\r\n\r\n &.dso-hover {\r\n .dso-label-content {\r\n text-decoration: line-through;\r\n }\r\n }\r\n}\r\n\r\n.dso-truncate.dso-label-content {\r\n display: inline-block;\r\n max-inline-size: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis; // stylelint-disable-line declaration-property-value-disallowed-list -- full text can be viewed via tooltip.\r\n vertical-align: bottom;\r\n white-space: nowrap; // stylelint-disable-line declaration-property-value-disallowed-list -- full text can be viewed via tooltip.\r\n}\r\n\r\n:host([removable]) {\r\n .dso-truncate.dso-label-content {\r\n max-inline-size: calc(100% - (units.$u3 + 4px));\r\n }\r\n}\r\n","import {\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Method,\r\n Prop,\r\n State,\r\n Watch,\r\n Listen,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\nimport { LabelStatus } from \"./label.interfaces\";\r\n\r\nconst resizeObserver = new ResizeObserver(\r\n debounce((entries: ResizeObserverEntry[]) => {\r\n entries.forEach(({ target }) => {\r\n if (isDsoLabelComponent(target)) {\r\n target._truncateLabel();\r\n }\r\n });\r\n }, 150),\r\n);\r\n\r\nfunction isDsoLabelComponent(element: Element): element is HTMLDsoLabelElement {\r\n return element.tagName === \"DSO-LABEL\";\r\n}\r\n\r\nfunction hasEllipses(el: HTMLElement): boolean {\r\n return el.scrollWidth > el.clientWidth;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-label\",\r\n styleUrl: \"label.scss\",\r\n shadow: true,\r\n})\r\nexport class Label implements ComponentInterface {\r\n private labelContent: HTMLSpanElement | undefined;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n @Element()\r\n private host!: HTMLDsoLabelElement;\r\n\r\n /**\r\n * For compact Label\r\n */\r\n @Prop()\r\n compact?: boolean;\r\n\r\n /**\r\n * Shows a button that can be used to remove the Label.\r\n */\r\n @Prop()\r\n removable?: boolean;\r\n\r\n /**\r\n * The status of this Label.\r\n */\r\n @Prop()\r\n status?: LabelStatus;\r\n\r\n /**\r\n * Emitted when the user activates the remove button.\r\n */\r\n @Event()\r\n dsoRemoveClick!: EventEmitter<MouseEvent>;\r\n\r\n @State()\r\n removeHover?: boolean;\r\n\r\n @State()\r\n removeFocus?: boolean;\r\n\r\n /**\r\n * Whether the Label is allowed to truncate the contents if it does not fit the container element.\r\n */\r\n @Prop()\r\n truncate?: boolean;\r\n\r\n @State()\r\n textHover?: boolean;\r\n\r\n @State()\r\n textFocus?: boolean;\r\n\r\n @State()\r\n isTruncated = false;\r\n\r\n @State()\r\n labelText = \"\";\r\n\r\n @Watch(\"removable\")\r\n watchRemovable(removable: boolean) {\r\n if (removable) {\r\n this.startMutationObserver();\r\n } else {\r\n this.stopMutationObserver();\r\n }\r\n }\r\n\r\n @Watch(\"truncate\")\r\n watchTruncate(truncate: boolean) {\r\n if (truncate) {\r\n this.startTruncate();\r\n } else {\r\n this.stopTruncate();\r\n }\r\n }\r\n\r\n @Listen(\"keydown\", { target: \"document\" })\r\n keyDownListener(event: KeyboardEvent) {\r\n if (event.key === \"Escape\") {\r\n this.textHover = false;\r\n this.textFocus = false;\r\n }\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _truncateLabel() {\r\n setTimeout(() => {\r\n this.isTruncated = !!this.labelContent && hasEllipses(this.labelContent);\r\n });\r\n }\r\n\r\n private syncLabelText() {\r\n this.labelText = this.host.textContent?.trim() ?? \"\";\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.truncate) {\r\n this.startTruncate();\r\n }\r\n\r\n if (this.removable) {\r\n this.startMutationObserver();\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n this.stopTruncate();\r\n\r\n this.stopMutationObserver(true);\r\n }\r\n\r\n /** The mutationObserver fetches the text placed inside the label, this is then used for the remove button and tooltip. */\r\n private startMutationObserver(): void {\r\n this.mutationObserver = new MutationObserver(() => this.syncLabelText());\r\n\r\n this.mutationObserver.observe(this.host, {\r\n characterData: true,\r\n childList: true,\r\n subtree: true,\r\n attributes: true,\r\n });\r\n\r\n this.syncLabelText();\r\n }\r\n\r\n private stopMutationObserver(force = false): void {\r\n if (force || !(this.truncate && this.removable)) {\r\n this.mutationObserver?.disconnect();\r\n\r\n delete this.mutationObserver;\r\n }\r\n }\r\n\r\n private startTruncate(): void {\r\n resizeObserver.observe(this.host);\r\n this.startMutationObserver();\r\n this._truncateLabel();\r\n }\r\n\r\n private stopTruncate(): void {\r\n resizeObserver.unobserve(this.host);\r\n this.stopMutationObserver();\r\n this.isTruncated = false;\r\n }\r\n\r\n render() {\r\n return (\r\n <Fragment>\r\n <span\r\n aria-describedby=\"toggle-anchor\"\r\n class={clsx(\"dso-label\", {\r\n [`dso-label-${this.status}`]: this.status,\r\n \"dso-compact\": this.compact && !this.removable,\r\n \"dso-hover\": this.removeHover || this.removeFocus,\r\n })}\r\n >\r\n <slot name=\"symbol\"></slot>\r\n <span\r\n class={clsx(\"dso-label-content\", {\r\n \"dso-truncate\": !!this.truncate,\r\n })}\r\n ref={(element) => (this.labelContent = element)}\r\n tabindex={this.truncate && this.isTruncated ? 0 : undefined}\r\n onMouseEnter={() => (this.textHover = true)}\r\n onMouseLeave={() => (this.textHover = false)}\r\n onFocus={() => (this.textFocus = true)}\r\n onBlur={() => (this.textFocus = false)}\r\n >\r\n <slot></slot>\r\n </span>\r\n {this.removable && (\r\n <button\r\n type=\"button\"\r\n onClick={(e) => this.dsoRemoveClick.emit(e)}\r\n onMouseEnter={() => (this.removeHover = true)}\r\n onMouseLeave={() => (this.removeHover = false)}\r\n onFocus={() => (this.removeFocus = true)}\r\n onBlur={() => (this.removeFocus = false)}\r\n >\r\n <span class=\"sr-only\">Verwijder: {this.labelText}</span>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n </button>\r\n )}\r\n </span>\r\n {this.isTruncated && (\r\n <dso-tooltip\r\n stateless\r\n id=\"toggle-anchor\"\r\n active={this.textHover || this.textFocus}\r\n position=\"top\"\r\n strategy=\"absolute\"\r\n >\r\n {this.labelText}\r\n </dso-tooltip>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n","import { detectOverflow } from '@popperjs/core';\n\nvar maxSize = {\n name: 'maxSize',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['offset', 'preventOverflow', 'flip'],\n fn: function fn(_ref) {\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var overflow = detectOverflow(state, options);\n\n var _ref2 = state.modifiersData.preventOverflow || {\n x: 0,\n y: 0\n },\n x = _ref2.x,\n y = _ref2.y;\n\n var _state$rects$popper = state.rects.popper,\n width = _state$rects$popper.width,\n height = _state$rects$popper.height;\n\n var _state$placement$spli = state.placement.split('-'),\n basePlacement = _state$placement$spli[0];\n\n var widthProp = basePlacement === 'left' ? 'left' : 'right';\n var heightProp = basePlacement === 'top' ? 'top' : 'bottom';\n state.modifiersData[name] = {\n width: width - overflow[widthProp] - x,\n height: height - overflow[heightProp] - y\n };\n }\n};\n\nexport default maxSize;\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n\r\n@use \"tooltip.variables\" as tooltip-variables;\r\n\r\n:host(.hidden) {\r\n visibility: hidden;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.tooltip {\r\n font-family: typography.$font-family-base;\r\n // We deliberately do NOT reset font-size.\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: typography.$line-height-base;\r\n line-break: auto;\r\n text-align: start;\r\n text-decoration: none;\r\n text-shadow: none;\r\n text-transform: none;\r\n letter-spacing: normal;\r\n word-break: break-word;\r\n word-spacing: normal;\r\n word-wrap: normal;\r\n white-space: normal;\r\n\r\n --link-color: #{colors.$grasgroen};\r\n\r\n display: block;\r\n filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.4));\r\n font-size: typography.$font-size-small;\r\n opacity: 0;\r\n position: absolute;\r\n transition: opacity tooltip-variables.$transition-duration linear;\r\n z-index: zindex.$tooltip;\r\n\r\n &.in {\r\n opacity: tooltip-variables.$opacity;\r\n }\r\n\r\n .tooltip-inner {\r\n background-color: colors.$wit;\r\n border-radius: tooltip-variables.$border-radius;\r\n color: colors.$grijs-90;\r\n display: inline-block;\r\n font-size: typography.$root-font-size-base;\r\n max-inline-size: tooltip-variables.$max-inline-size;\r\n padding-block: tooltip-variables.$padding-block;\r\n padding-inline: tooltip-variables.$padding-inline;\r\n position: relative;\r\n\r\n &.dso-small {\r\n max-inline-size: tooltip-variables.$max-inline-size-small;\r\n }\r\n }\r\n\r\n .tooltip-arrow {\r\n border-color: transparent;\r\n border-style: solid;\r\n block-size: 0;\r\n inline-size: 0;\r\n }\r\n\r\n &[data-popper-placement=\"top\"] {\r\n margin-block-start: -3px;\r\n padding-block: tooltip-variables.$arrow-inline-size;\r\n padding-inline: 0;\r\n\r\n .tooltip-arrow {\r\n inset-block-end: 0;\r\n border-block-start-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-inline-size;\r\n border-block-end-width: 0;\r\n margin-inline-start: var(--tooltip-margin-inline-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"right\"] {\r\n margin-inline-start: 3px;\r\n padding-block: 0;\r\n padding-inline: tooltip-variables.$arrow-inline-size;\r\n\r\n .tooltip-arrow {\r\n inset-inline-start: 0;\r\n border-inline-end-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-inline-size;\r\n border-inline-start-width: 0;\r\n margin-block-start: var(--tooltip-margin-block-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"bottom\"] {\r\n margin-block-start: 3px;\r\n padding-block: tooltip-variables.$arrow-inline-size;\r\n padding-inline: 0;\r\n\r\n .tooltip-arrow {\r\n inset-block-start: 0;\r\n border-block-end-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-inline-size;\r\n border-block-start-width: 0;\r\n margin-inline-start: var(--tooltip-margin-inline-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"left\"] {\r\n margin-inline-start: -3px;\r\n margin-inline-end: var(--tooltip-margin-inline-end, unset);\r\n padding-block: 0;\r\n padding-inline: tooltip-variables.$arrow-inline-size;\r\n\r\n .tooltip-arrow {\r\n inset-inline-end: 0;\r\n border-inline-start-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-inline-size;\r\n border-inline-end-width: 0;\r\n margin-block-start: var(--tooltip-margin-block-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n}\r\n","import { beforeWrite, createPopper, Instance as PopperInstance, Placement, State as PopperState } from \"@popperjs/core\";\r\nimport maxSize from \"popper-max-size-modifier\";\r\nimport { h, Component, Element, Host, Method, Prop, State, Watch } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { hasOverflow } from \"../../utils/has-overflow\";\r\nimport debounce from \"debounce\";\r\n\r\n// Keep const in sync with $tooltip-transition-duration in dso-toolkit/src/components/tooltip/tooltip.scss tooltip_root() mixin\r\nconst transitionDuration = 150;\r\n\r\nconst applyMaxSize = {\r\n name: \"applyMaxSize\",\r\n enabled: true,\r\n phase: beforeWrite,\r\n requires: [\"maxSize\"],\r\n fn({ state }: { state: PopperState }) {\r\n let { width } = state.modifiersData.maxSize;\r\n if (width < 160) {\r\n width = 160;\r\n }\r\n\r\n state.styles.popper = {\r\n ...state.styles.popper,\r\n maxWidth: `${width}px`,\r\n };\r\n },\r\n};\r\n\r\n@Component({\r\n tag: \"dso-tooltip\",\r\n styleUrl: \"tooltip.scss\",\r\n shadow: true,\r\n})\r\nexport class Tooltip {\r\n /**\r\n * 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`.\r\n */\r\n @Prop({\r\n reflect: true,\r\n })\r\n descriptive = false;\r\n\r\n /**\r\n * Set position of tooltip relative to target\r\n */\r\n @Prop()\r\n position: Placement = \"top\";\r\n\r\n /**\r\n * Set position strategy of tooltip\r\n */\r\n @Prop()\r\n strategy: \"auto\" | \"absolute\" | \"fixed\" = \"auto\";\r\n\r\n /**\r\n * Set attribute `no-arrow` to hide the arrow\r\n */\r\n @Prop()\r\n noArrow = false;\r\n\r\n /**\r\n * Deactivates mouseover behaviour\r\n */\r\n @Prop()\r\n stateless?: boolean;\r\n\r\n /**\r\n * Defines if the tooltip has a smaller max-width\r\n */\r\n @Prop()\r\n small?: boolean;\r\n\r\n /**\r\n * Whether or not to show the tooltip. To control the tooltip add the `active` attribute or use the `activate()` and `deactivate()` instance methods.\r\n */\r\n @Prop({ reflect: true, mutable: true })\r\n active = false;\r\n\r\n /**\r\n * Activate the tooltip (Sets the `active` attribute)\r\n */\r\n @Method()\r\n async activate(): Promise<void> {\r\n this.active = true;\r\n }\r\n\r\n /**\r\n * Deactivate the tooltip (Removes the `active` attribute)\r\n */\r\n @Method()\r\n async deactivate(): Promise<void> {\r\n this.active = false;\r\n }\r\n\r\n @Watch(\"position\")\r\n watchPosition() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n this.popper.setOptions({\r\n placement: this.position,\r\n });\r\n }\r\n\r\n @Watch(\"strategy\")\r\n watchStrategy() {\r\n this.setStrategy();\r\n }\r\n\r\n private setStrategy() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n if (this.strategy === \"absolute\" || this.strategy === \"fixed\") {\r\n this.popper.setOptions({\r\n strategy: this.strategy,\r\n });\r\n\r\n return;\r\n }\r\n\r\n let element: Element | null = this.element;\r\n while (element && element.parentNode !== document) {\r\n element = element.parentNode instanceof ShadowRoot ? element.parentNode.host : element.parentElement;\r\n if (element !== null && hasOverflow(element)) {\r\n this.popper.setOptions({\r\n strategy: \"fixed\",\r\n });\r\n\r\n return;\r\n }\r\n }\r\n\r\n this.popper.setOptions({\r\n strategy: \"absolute\",\r\n });\r\n }\r\n\r\n @Watch(\"active\")\r\n watchActive() {\r\n if (this.active) {\r\n this.activatePopper();\r\n\r\n if (!this.stateless) {\r\n setTimeout(() => {\r\n this.popper?.setOptions({\r\n modifiers: [{ name: \"eventListeners\", enabled: true }],\r\n });\r\n document.addEventListener(\"keydown\", this.keyDownListener);\r\n });\r\n }\r\n } else {\r\n document.removeEventListener(\"keydown\", this.keyDownListener);\r\n this.deactivatePopper();\r\n }\r\n }\r\n\r\n @Element()\r\n private element!: HTMLDsoTooltipElement;\r\n\r\n private popper: PopperInstance | undefined;\r\n\r\n private callbacks: TooltipCallbacks = {\r\n activate: () => (this.active = true),\r\n deactivate: () => (this.active = false),\r\n };\r\n\r\n private onMouseLeave = () => {\r\n if (!this.element.matches(\":hover\") && !this.target?.matches(\":hover\")) {\r\n this.callbacks.deactivate();\r\n }\r\n };\r\n\r\n @State()\r\n private hidden = true;\r\n\r\n private listenClick(e: MouseEvent) {\r\n e.stopPropagation();\r\n }\r\n\r\n componentDidLoad(): void {\r\n const tooltip = this.element.shadowRoot?.querySelector(\".tooltip\");\r\n if (!(tooltip instanceof HTMLElement)) {\r\n throw new Error(\"tooltip element is not instanceof HTMLElement\");\r\n }\r\n\r\n if (!this.stateless && this.target) {\r\n this.target.addEventListener(\"mouseenter\", this.callbacks.activate);\r\n [this.element, this.target].forEach((element) => element.addEventListener(\"mouseleave\", this.onMouseLeave));\r\n this.target.addEventListener(\"focus\", this.callbacks.activate);\r\n this.target.addEventListener(\"blur\", this.callbacks.deactivate);\r\n }\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.popper?.destroy();\r\n\r\n if (!this.stateless && this.target) {\r\n this.target.removeEventListener(\"mouseenter\", this.callbacks.activate);\r\n [this.element, this.target].forEach((element) => element.removeEventListener(\"mouseleave\", this.onMouseLeave));\r\n this.target.removeEventListener(\"focus\", this.callbacks.activate);\r\n this.target.removeEventListener(\"blur\", this.callbacks.deactivate);\r\n }\r\n\r\n this.target = undefined;\r\n }\r\n\r\n componentDidRender() {\r\n if (this.active) {\r\n this.popper?.update();\r\n }\r\n }\r\n\r\n private keyDownListener = (event: KeyboardEvent) => {\r\n if (event.key === \"Escape\") {\r\n this.deactivate();\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n <Host class={{ hidden: this.hidden }} role=\"tooltip\" onClick={this.listenClick}>\r\n <div class={clsx(\"tooltip\", { in: this.active })}>\r\n {!this.noArrow && <div data-popper-arrow class=\"tooltip-arrow\"></div>}\r\n <div aria-hidden={!this.descriptive || undefined} class={clsx(\"tooltip-inner\", { \"dso-small\": this.small })}>\r\n <slot></slot>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n private deactivatePopper = debounce(() => {\r\n this.hidden = true;\r\n this.popper?.destroy();\r\n this.popper = undefined;\r\n }, transitionDuration);\r\n\r\n private activatePopper(): void {\r\n this.hidden = false;\r\n\r\n if (this.popper) {\r\n return;\r\n }\r\n\r\n const tooltip = this.element.shadowRoot?.querySelector(\".tooltip\");\r\n\r\n if (this.target && tooltip instanceof HTMLElement) {\r\n this.popper = createPopper(this.target, tooltip, {\r\n placement: this.position,\r\n modifiers: [maxSize, applyMaxSize, { name: \"eventListeners\", enabled: false }],\r\n });\r\n\r\n this.setStrategy();\r\n }\r\n }\r\n\r\n private get target(): HTMLElement | undefined {\r\n return this.#target ?? this.initializeTarget();\r\n }\r\n\r\n private set target(element: HTMLElement | undefined) {\r\n this.#target = element;\r\n }\r\n\r\n #target?: HTMLElement;\r\n\r\n private initializeTarget(): HTMLElement | undefined {\r\n const id = this.element.id;\r\n\r\n if (!id) {\r\n console.warn(\"Unable to find reference tooltip has no [id] attribute.\");\r\n\r\n return;\r\n }\r\n\r\n const rootNode = this.element.getRootNode();\r\n if (!(rootNode instanceof Document || rootNode instanceof ShadowRoot)) {\r\n console.warn(`rootNode is not instance of Document or ShadowRoot`);\r\n\r\n return;\r\n }\r\n\r\n const reference = rootNode.querySelector<HTMLElement>(`[aria-describedBy=\"${id}`);\r\n if (!reference) {\r\n console.warn(`Unable to find reference with aria-describedby ${id}`);\r\n\r\n return;\r\n }\r\n\r\n this.#target = reference;\r\n return reference;\r\n }\r\n}\r\n\r\ninterface TooltipCallbacks {\r\n activate: () => void;\r\n deactivate: () => void;\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as e,c as s,h as t,F as l,f as o,a as c}from"./p-b623c74b.js";import{c as i}from"./p-8a1a6e56.js";import{c as a}from"./p-97f788d4.js";const d=":host{display:block;padding-block:16px;padding-inline:16px 32px;position:relative}:host>button{background-color:transparent;border-style:none;padding:0;position:absolute;inset-inline-end:8px;inset-block-start:8px}:host(:not([active],[fixed])),:host([active=false]:not([fixed])),:host([active=false][fixed=false]){display:none}button{-webkit-appearance:button;color:inherit;cursor:pointer;font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}button[disabled]{cursor:default}button::-moz-focus-inner{border:0;padding:0}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}";const b=d;const n=class{constructor(t){e(this,t);this.dsoClose=s(this,"dsoClose",7);this.fixed=undefined;this.active=undefined}render(){return t(l,{key:"e5f657a636b290b194ccbb89b8cd10c361a3addd"},t("slot",{key:"08ff21c78926849c1b0461abfc551f96fd4a769a"}),!this.fixed&&t("button",{key:"5312aa3e0b79e3c46c28b272b1fe2161f3c625a2",type:"button",onClick:e=>this.dsoClose.emit(e)},t("dso-icon",{key:"7473fe06abfd42aa7c39eb97b4ea1b8113e9bfe4",icon:"times"}),t("span",{key:"e5b9d4414e871ff4ec15e18adb6ab819ddcfb0f5",class:"sr-only"},"Sluiten")))}};n.style=b;const r='.sc-dso-selectable-h{position:relative;display:var(--dso-selectable-display, block);padding-inline-start:32px}.sc-dso-selectable-h label.sc-dso-selectable{font-weight:400;line-height:24px;margin:0}.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable:focus+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable:focus+label.sc-dso-selectable::before{background-color:#fff;box-shadow:0 0 0 2px #e5e5e5}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable{block-size:24px;inset-inline-start:0;margin:0;opacity:0;position:absolute;inset-block-start:0;inline-size:24px;z-index:100;zoom:1}@media (prefers-contrast: more){.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable{opacity:1}}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:not([disabled]),.sc-dso-selectable-h input[type=radio].sc-dso-selectable:not([disabled]){cursor:pointer}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable{display:inline;font-style:normal;padding-inline-start:0}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::before{background:#fff;border:0;box-shadow:0 0 0 2px var(--dso-selectable-color, #275937);content:"";block-size:20px;inset-inline-start:2px;position:absolute;inset-block-start:2px;inline-size:20px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:focus,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:focus{outline:0}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:focus+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:focus+label.sc-dso-selectable::before{box-shadow:0 0 0 3px var(--dso-selectable-color, #275937);block-size:18px;inset-inline-start:3px;inset-block-start:3px;inline-size:18px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox].active.sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].active.sc-dso-selectable+label.sc-dso-selectable::before{background-color:#ebf3e6;box-shadow:0 0 0 1px #275937;block-size:22px;inset-inline-start:1px;inset-block-start:1px;inline-size:22px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::before{border-radius:4px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::after{background:transparent;content:"";inset-inline-start:6px;opacity:0;position:absolute;inset-block-start:6px;zoom:1}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:checked+label.sc-dso-selectable::after,.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:indeterminate+label.sc-dso-selectable::after{opacity:1}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:checked+label.sc-dso-selectable::after{border:solid;border-color:var(--dso-selectable-color, #39870c);border-block-start-color:transparent;border-width:0 0 3px 3px;block-size:8px;transform:rotate(-45deg);inline-size:13px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:indeterminate+label.sc-dso-selectable::after{background-color:var(--dso-selectable-color, #39870c);block-size:12px;inline-size:12px}.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::before{border-radius:50%}.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::after{background-color:transparent;border-radius:50%;content:"";block-size:12px;inset-inline-start:6px;opacity:0;position:absolute;inset-block-start:6px;inline-size:12px;zoom:1}.sc-dso-selectable-h input[type=radio].sc-dso-selectable:checked+label.sc-dso-selectable::after{background-color:var(--dso-selectable-color, #39870c);opacity:1}[invalid].sc-dso-selectable-h:not([invalid=false]){--dso-selectable-color:#ce3f51}.sc-dso-selectable-h:not(:last-child){margin-block-end:8px}*.sc-dso-selectable,*.sc-dso-selectable::after,*.sc-dso-selectable::before{box-sizing:border-box}.dso-selectable-container.sc-dso-selectable{display:inline-block}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable{display:inline-block;min-block-size:24px}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable:focus-within.dso-keyboard-focus{position:relative;inset-inline-start:-32px;padding-inline-start:32px;margin-inline-end:-32px;border-radius:2px;outline-offset:3px;outline:3px solid #008ccc}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable input[type=radio].sc-dso-selectable:focus+label.sc-dso-selectable::before,.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable input[type=checkbox].sc-dso-selectable:focus+label.sc-dso-selectable::before{box-shadow:0 0 0 2px var(--dso-selectable-color, #275937);block-size:20px;inset-inline-start:2px;inset-block-start:2px;inline-size:20px}';const p=r;const h=class{constructor(t){e(this,t);this.dsoChange=s(this,"dsoChange",7);this.fallbackIdentifier=a("DsoSelectable");this.handleOnChange=e=>{const{target:s}=e;this.dsoChange.emit({originalEvent:e,checked:s instanceof HTMLInputElement&&s.checked});o(this.host)};this.type=undefined;this.identifier=undefined;this.name=undefined;this.value=undefined;this.invalid=undefined;this.describedById=undefined;this.labelledById=undefined;this.disabled=undefined;this.required=undefined;this.checked=undefined;this.indeterminate=undefined;this.infoFixed=undefined;this.infoActive=false;this.keyboardFocus=false}async toggleInfo(e){this.infoActive=e!==null&&e!==void 0?e:!this.infoActive}componentDidLoad(){var e;(e=this.mutationObserver)===null||e===void 0?void 0:e.disconnect();this.mutationObserver=new MutationObserver((()=>o(this.host)));this.mutationObserver.observe(this.host,{childList:true});this.setIndeterminate()}disconnectedCallback(){var e;(e=this.mutationObserver)===null||e===void 0?void 0:e.disconnect()}setIndeterminate(){if(!(this.input instanceof HTMLInputElement)||this.type!=="checkbox"){return}this.input.indeterminate=!!this.indeterminate}render(){var e;const s=!!this.host.querySelector('[slot="info"]');return t(l,{key:"91453618df769cca5d2b8b11d0749d27b53f59b1"},t("div",{key:"517f33fff46189d305568f6e68168831a94c0c57",class:"dso-selectable-container"},t("div",{key:"ef669b7497bd52b108d4c877493dbe772d8700a4",class:i("dso-selectable-input-wrapper",{"dso-keyboard-focus":this.keyboardFocus})},t("input",{key:"c6f2aa35044581a2d5f7f43d870ba0ce22424c92",type:this.type,id:this.getIdentifier(),value:this.value,name:this.name,"aria-invalid":(e=this.invalid)===null||e===void 0?void 0:e.toString(),"aria-describedby":s&&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:e=>this.input=e}),!this.labelledById?t("label",{htmlFor:this.getIdentifier()},t("slot",null)):t("label",null,t("slot",null))),s&&!this.infoFixed&&t("dso-info-button",{key:"b5482b39b6045fcdffb4cd2284f83bd9f554f267",active:this.infoActive,onDsoToggle:e=>this.infoActive=e.detail.active})),s&&t("dso-info",{key:"e66998b45aa63933b73d0c54eeb3ccbae8246bee",id:s&&this.infoFixed?this.describedById:undefined,fixed:this.infoFixed,active:this.infoActive,onDsoClose:()=>this.infoActive=false},t("div",{key:"8b2033a0b23d356be3804632698e687310de6ed7"},t("slot",{key:"411eafba867420af9d581d7af5f35cec59fff133",name:"info"}))),t("slot",{key:"e1d3855d686c4bc6119f65a76d889f5c2d44dcb6",name:"options"}))}componentDidRender(){if(this.input&&typeof this.checked==="boolean"&&this.input.checked!==this.checked){this.input.checked=this.checked}}getIdentifier(){var e;return(e=this.identifier)!==null&&e!==void 0?e:this.fallbackIdentifier}get host(){return c(this)}static get watchers(){return{indeterminate:["setIndeterminate"]}}};h.style=p;export{n as dso_info,h as dso_selectable};
2
- //# sourceMappingURL=p-6742d457.entry.js.map
1
+ import{r as e,c as s,h as t,F as l,f as o,a as c}from"./p-b623c74b.js";import{c as a}from"./p-8a1a6e56.js";import{c as i}from"./p-97f788d4.js";const d=":host{display:block;padding-block:16px;padding-inline:16px 32px;position:relative}:host>button{background-color:transparent;border-style:none;padding:0;position:absolute;inset-inline-end:8px;inset-block-start:8px}:host(:not([active],[fixed])),:host([active=false]:not([fixed])),:host([active=false][fixed=false]){display:none}button{-webkit-appearance:button;color:inherit;cursor:pointer;font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}button[disabled]{cursor:default}button::-moz-focus-inner{border:0;padding:0}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}";const b=d;const n=class{constructor(t){e(this,t);this.dsoClose=s(this,"dsoClose",7);this.fixed=undefined;this.active=undefined}render(){return t(l,{key:"e5f657a636b290b194ccbb89b8cd10c361a3addd"},t("slot",{key:"08ff21c78926849c1b0461abfc551f96fd4a769a"}),!this.fixed&&t("button",{key:"5312aa3e0b79e3c46c28b272b1fe2161f3c625a2",type:"button",onClick:e=>this.dsoClose.emit(e)},t("dso-icon",{key:"7473fe06abfd42aa7c39eb97b4ea1b8113e9bfe4",icon:"times"}),t("span",{key:"e5b9d4414e871ff4ec15e18adb6ab819ddcfb0f5",class:"sr-only"},"Sluiten")))}};n.style=b;const r='.sc-dso-selectable-h{position:relative;display:var(--dso-selectable-display, block);padding-inline-start:32px}.sc-dso-selectable-h label.sc-dso-selectable{font-weight:400;line-height:24px;margin:0}.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable:focus+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable:focus+label.sc-dso-selectable::before{background-color:#fff;box-shadow:0 0 0 2px #e5e5e5}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable{block-size:24px;inset-inline-start:0;margin:0;opacity:0;position:absolute;inset-block-start:0;inline-size:24px;z-index:100;zoom:1}@media (prefers-contrast: more){.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable{opacity:1}}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:not([disabled]),.sc-dso-selectable-h input[type=radio].sc-dso-selectable:not([disabled]){cursor:pointer}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable{display:inline;font-style:normal;padding-inline-start:0}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::before{background:#fff;border:0;box-shadow:0 0 0 2px var(--dso-selectable-color, #275937);content:"";block-size:20px;inset-inline-start:2px;position:absolute;inset-block-start:2px;inline-size:20px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:focus,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:focus{outline:0}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:focus+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:focus+label.sc-dso-selectable::before{box-shadow:0 0 0 3px var(--dso-selectable-color, #275937);block-size:18px;inset-inline-start:3px;inset-block-start:3px;inline-size:18px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox].active.sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].active.sc-dso-selectable+label.sc-dso-selectable::before{background-color:#ebf3e6;box-shadow:0 0 0 1px #275937;block-size:22px;inset-inline-start:1px;inset-block-start:1px;inline-size:22px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::before{border-radius:4px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::after{background:transparent;content:"";inset-inline-start:6px;opacity:0;position:absolute;inset-block-start:6px;zoom:1}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:checked+label.sc-dso-selectable::after,.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:indeterminate+label.sc-dso-selectable::after{opacity:1}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:checked+label.sc-dso-selectable::after{border:solid;border-color:var(--dso-selectable-color, #39870c);border-block-start-color:transparent;border-width:0 0 3px 3px;block-size:8px;transform:rotate(-45deg);inline-size:13px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:indeterminate+label.sc-dso-selectable::after{background-color:var(--dso-selectable-color, #39870c);block-size:12px;inline-size:12px}.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::before{border-radius:50%}.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::after{background-color:transparent;border-radius:50%;content:"";block-size:12px;inset-inline-start:6px;opacity:0;position:absolute;inset-block-start:6px;inline-size:12px;zoom:1}.sc-dso-selectable-h input[type=radio].sc-dso-selectable:checked+label.sc-dso-selectable::after{background-color:var(--dso-selectable-color, #39870c);opacity:1}[invalid].sc-dso-selectable-h:not([invalid=false]){--dso-selectable-color:#ce3f51}.sc-dso-selectable-h:not(:last-child){margin-block-end:8px}*.sc-dso-selectable,*.sc-dso-selectable::after,*.sc-dso-selectable::before{box-sizing:border-box}.dso-selectable-container.sc-dso-selectable{display:inline-block}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable{display:inline-block;min-block-size:24px}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable:focus-within.dso-keyboard-focus{position:relative;inset-inline-start:-32px;padding-inline-start:32px;margin-inline-end:-32px;border-radius:2px;outline-offset:3px;outline:3px solid #008ccc}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable input[type=radio].sc-dso-selectable:focus+label.sc-dso-selectable::before,.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable input[type=checkbox].sc-dso-selectable:focus+label.sc-dso-selectable::before{box-shadow:0 0 0 2px var(--dso-selectable-color, #275937);block-size:20px;inset-inline-start:2px;inset-block-start:2px;inline-size:20px}';const p=r;const h=class{constructor(t){e(this,t);this.dsoChange=s(this,"dsoChange",7);this.fallbackIdentifier=i("DsoSelectable");this.handleOnChange=e=>{const{target:s}=e;this.dsoChange.emit({originalEvent:e,checked:s instanceof HTMLInputElement&&s.checked});o(this.host)};this.type=undefined;this.identifier=undefined;this.name=undefined;this.value=undefined;this.invalid=undefined;this.describedById=undefined;this.labelledById=undefined;this.disabled=undefined;this.required=undefined;this.checked=undefined;this.indeterminate=undefined;this.infoFixed=undefined;this.infoActive=false;this.keyboardFocus=false}async toggleInfo(e){this.infoActive=e!==null&&e!==void 0?e:!this.infoActive}componentDidLoad(){var e;(e=this.mutationObserver)===null||e===void 0?void 0:e.disconnect();this.mutationObserver=new MutationObserver((()=>o(this.host)));this.mutationObserver.observe(this.host,{childList:true});this.setIndeterminate()}disconnectedCallback(){var e;(e=this.mutationObserver)===null||e===void 0?void 0:e.disconnect()}setIndeterminate(){if(!(this.input instanceof HTMLInputElement)||this.type!=="checkbox"){return}this.input.indeterminate=!!this.indeterminate}render(){var e;const s=!!this.host.querySelector('[slot="info"]');return t(l,{key:"7bc5f9b9e029af047da32ea329ec28ef5a1b9a6e"},t("div",{key:"e1d8151cfc4a179c574cdd22f5b8a522433f9896",class:"dso-selectable-container"},t("div",{key:"b7089b2e8b02bacaf0485351726d019b2d3faaf3",class:a("dso-selectable-input-wrapper",{"dso-keyboard-focus":this.keyboardFocus})},t("input",{key:"bbf2571b7578706abf523f5fc0d66435159b5ab5",type:this.type,id:this.getIdentifier(),value:this.value,name:this.name,"aria-invalid":(e=this.invalid)===null||e===void 0?void 0:e.toString(),"aria-describedby":s&&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:e=>this.input=e}),!this.labelledById?t("label",{htmlFor:this.getIdentifier()},t("slot",null)):t("label",null,t("slot",null))),s&&!this.infoFixed&&t("dso-info-button",{key:"c03e4642630e5a7dfd902af7389eb8eefedef6f7",active:this.infoActive,onDsoToggle:e=>this.infoActive=e.detail.active})),s&&t("dso-info",{key:"bd49a93be3a86178bb3b3ea6df7744baeb746d3d",id:s&&this.infoFixed?this.describedById:undefined,fixed:this.infoFixed,active:this.infoActive,onDsoClose:()=>this.infoActive=false},t("div",{key:"a34fe7983e523fcb8b07d90bcd3b48a4359abb31"},t("slot",{key:"d733610afc9465da63844b0c8430ddde7227fae5",name:"info"}))),t("slot",{key:"7af6229ca414ff808ea348d396f51f6674ba30e1",name:"options"}))}componentDidRender(){if(this.input&&typeof this.checked==="boolean"&&this.input.checked!==this.checked){this.input.checked=this.checked}}getIdentifier(){var e;return(e=this.identifier)!==null&&e!==void 0?e:this.fallbackIdentifier}get host(){return c(this)}static get watchers(){return{indeterminate:["setIndeterminate"]}}};h.style=p;export{n as dso_info,h as dso_selectable};
2
+ //# sourceMappingURL=p-5db11fa4.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as n,c as t,h as e,H as o}from"./p-b623c74b.js";const i=":host {\n background-color: #fff;\n border: 1px solid #ccc;\n inset-block-end: 0;\n display: block;\n font-family: Asap, sans-serif;\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 100%;\n transition: transform 300ms ease;\n inline-size: 300px;\n}\n\n*,\n*::after,\n*::before {\n box-sizing: border-box;\n}\n\n:host([open]) {\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.3);\n transform: translateX(-100%);\n}\n:host([open]) .toggle-visibility-button {\n display: none;\n}\n:host([open]) .zoom-buttons {\n inset-block-start: 16px;\n}\n\nbutton {\n -webkit-appearance: button;\n color: inherit;\n cursor: pointer;\n font: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n}\nbutton[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n.toggle-visibility-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-block-end: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: start;\n user-select: none;\n vertical-align: middle;\n border: 0;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\n font-weight: 600;\n margin-inline-end: 16px;\n padding-block: 8px;\n padding-inline: 16px;\n white-space: nowrap;\n position: absolute;\n inset-inline-end: calc(\n 100% + 56px\n );\n inset-block-start: 16px;\n}\n.toggle-visibility-button:focus, .toggle-visibility-button:focus-visible {\n outline-offset: 2px;\n}\n.toggle-visibility-button:active {\n outline: 0;\n}\n.toggle-visibility-button {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.toggle-visibility-button {\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-inline-size: 56px;\n padding-block: 11px;\n padding-inline: 15px;\n}\n.toggle-visibility-button:hover {\n background-color: #d7e7ce;\n border-color: #39870c;\n color: #39870c;\n}\n.toggle-visibility-button:active {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.toggle-visibility-button[disabled], .toggle-visibility-button[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.toggle-visibility-button.dso-small {\n line-height: 1rem;\n}\n.toggle-visibility-button.dso-small dso-icon,\n.toggle-visibility-button.dso-small svg.di, .toggle-visibility-button.dso-small.extern::after, .toggle-visibility-button.dso-small.download::after, .toggle-visibility-button.dso-small.dso-spinner::before {\n margin-block-end: -4px;\n margin-block-start: -4px;\n}\n.toggle-visibility-button.dso-small.dso-spinner-left::before {\n block-size: 16px;\n inline-size: 16px;\n}\n.toggle-visibility-button.dso-small.dso-spinner-right::after {\n block-size: 16px;\n inline-size: 16px;\n}\n.toggle-visibility-button dso-icon,\n.toggle-visibility-button svg.di {\n margin-inline-start: -8px;\n margin-inline-end: 8px;\n}\n.toggle-visibility-button span + dso-icon,\n.toggle-visibility-button span + svg.di {\n margin-inline-start: 8px;\n margin-inline-end: -8px;\n}\n.toggle-visibility-button.dso-spinner-left[disabled], .toggle-visibility-button.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.toggle-visibility-button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\n.toggle-visibility-button.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\n.toggle-visibility-button.dso-spinner-left:not([disabled]).dso-small:hover::before {\n block-size: 16px;\n inline-size: 16px;\n}\n.toggle-visibility-button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\n.toggle-visibility-button.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\n.toggle-visibility-button.dso-spinner-right:not([disabled]).dso-small:hover::after {\n block-size: 16px;\n inline-size: 16px;\n}\n.toggle-visibility-button:focus-visible {\n background-color: #d7e7ce;\n border-color: #d7e7ce;\n color: #fff;\n outline: none;\n}\n\n.zoom-buttons {\n border-radius: 4px;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\n display: flex;\n flex-wrap: wrap;\n flex: 0 0;\n position: absolute;\n inset-inline-end: calc(100% + 16px);\n inset-block-start: 16px;\n}\n.zoom-buttons button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-block-end: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: start;\n user-select: none;\n vertical-align: middle;\n border: 0;\n padding: 8px;\n border-radius: 0;\n border-start-start-radius: 4px;\n border-start-end-radius: 4px;\n flex: 0 0 100%;\n block-size: 40px;\n min-inline-size: auto;\n inline-size: 40px;\n}\n.zoom-buttons button:focus, .zoom-buttons button:focus-visible {\n outline-offset: 2px;\n}\n.zoom-buttons button:active {\n outline: 0;\n}\n.zoom-buttons button {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.zoom-buttons button {\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-inline-size: 56px;\n padding-block: 11px;\n padding-inline: 15px;\n}\n.zoom-buttons button:hover {\n background-color: #d7e7ce;\n border-color: #39870c;\n color: #39870c;\n}\n.zoom-buttons button:active {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.zoom-buttons button[disabled], .zoom-buttons button[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.zoom-buttons button.dso-small {\n line-height: 1rem;\n}\n.zoom-buttons button.dso-small dso-icon,\n.zoom-buttons button.dso-small svg.di, .zoom-buttons button.dso-small.extern::after, .zoom-buttons button.dso-small.download::after, .zoom-buttons button.dso-small.dso-spinner::before {\n margin-block-end: -4px;\n margin-block-start: -4px;\n}\n.zoom-buttons button.dso-small.dso-spinner-left::before {\n block-size: 16px;\n inline-size: 16px;\n}\n.zoom-buttons button.dso-small.dso-spinner-right::after {\n block-size: 16px;\n inline-size: 16px;\n}\n.zoom-buttons button > span {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.zoom-buttons button.dso-spinner-left[disabled], .zoom-buttons button.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.zoom-buttons button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\n.zoom-buttons button.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\n.zoom-buttons button.dso-spinner-left:not([disabled]).dso-small:hover::before {\n block-size: 16px;\n inline-size: 16px;\n}\n.zoom-buttons button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\n.zoom-buttons button.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\n.zoom-buttons button.dso-spinner-right:not([disabled]).dso-small:hover::after {\n block-size: 16px;\n inline-size: 16px;\n}\n.zoom-buttons button:focus-visible {\n background-color: #d7e7ce;\n border-color: #d7e7ce;\n color: #fff;\n outline: none;\n}\n.zoom-buttons button + button {\n border-radius: 0;\n border-end-start-radius: 4px;\n border-end-end-radius: 4px;\n border-block-start: 1px solid #ccc;\n}\n\n.close-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-block-end: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: start;\n user-select: none;\n vertical-align: middle;\n padding: 0;\n position: absolute;\n inset-inline-end: 16px;\n inset-block-start: 16px;\n}\n.close-button:focus, .close-button:focus-visible {\n outline-offset: 2px;\n}\n.close-button:active {\n outline: 0;\n}\n.close-button {\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n}\n.close-button[disabled] {\n color: #afcf9d;\n}\n.close-button[disabled].dso-spinner-left, .close-button[disabled].dso-spinner-right {\n color: #39870c;\n}\n.close-button:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\n.close-button:not([disabled]):active {\n color: #173521;\n}\n.close-button.dso-align {\n line-height: calc(1.5em - 1px);\n padding-block: 11px;\n padding-inline: 0;\n position: relative;\n}\n.close-button.dso-truncate {\n max-inline-size: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.close-button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: middle;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\n.close-button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: middle;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\n.close-button > span {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\nsection:not([hidden]) {\n display: flex;\n flex-direction: column;\n block-size: 100%;\n}\n\nheader,\n.content {\n padding: 16px;\n}\n\nheader {\n border-block-end: 1px solid #ccc;\n flex-grow: 0;\n position: relative;\n}\nheader h2 {\n color: #275937;\n font-family: \"Asap\", sans-serif;\n line-height: 1;\n margin: 0;\n}\n\n@media screen and (max-width: 767px) {\n .toggle-visibility-button {\n block-size: 40px;\n margin-inline-end: 0;\n min-inline-size: auto;\n inset-inline-end: calc(100% + 16px);\n inline-size: 40px;\n }\n .toggle-visibility-button dso-icon {\n margin-inline-end: 0;\n }\n .toggle-visibility-button span {\n visibility: hidden;\n }\n .zoom-buttons {\n inset-block-start: 72px;\n }\n}";const s=i;var r=undefined&&undefined.__classPrivateFieldGet||function(n,t,e,o){if(e==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof t==="function"?n!==t||!o:!t.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?o:e==="a"?o.call(n):o?o.value:t.get(n)};var a=undefined&&undefined.__classPrivateFieldSet||function(n,t,e,o,i){if(o==="m")throw new TypeError("Private method is not writable");if(o==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t==="function"?n!==t||!i:!t.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return o==="a"?i.call(n,e):i?i.value=e:t.set(n,e),e};var l,d;const c=300;const b=class{constructor(e){n(this,e);this.dsoZoomIn=t(this,"dsoZoomIn",7);this.dsoZoomOut=t(this,"dsoZoomOut",7);this.dsoToggle=t(this,"dsoToggle",7);this.panelTitle="Kaartlagen";l.set(this,void 0);d.set(this,void 0);this.open=false;this.disableZoom=undefined;this.hideContent=!this.open}watchOpen(n){if(n){this.hideContent=false;setTimeout((()=>{var n;return(n=r(this,l,"f"))===null||n===void 0?void 0:n.focus()}),c)}else{setTimeout((()=>{var n;this.hideContent=true;(n=r(this,d,"f"))===null||n===void 0?void 0:n.focus()}),c)}}async toggleVisibility(n){this.open=!this.open;this.dsoToggle.emit({originalEvent:n,open:this.open})}render(){return e(o,{key:"b41883b94f5e3333343021ea1bcc6461b5ddb00a"},e("button",{key:"1dd02163b1007a0401cd3262dd0096c14fb24d02",type:"button",id:"toggle-visibility-button",class:"toggle-visibility-button",onClick:n=>this.toggleVisibility(n),ref:n=>a(this,d,n,"f")},e("dso-icon",{key:"39b35af58f5db864fe57b5f73b50fd03099a7c35",icon:"layers"}),e("span",{key:"2b8db6cd75c639f4960fb6fea6aa5ea10b346b91"},"Kaartlagen")),e("div",{key:"992ad8d136703549b54d209d4f0353b044266036",class:"zoom-buttons"},e("button",{key:"9c2308d3b4519a912839bb7bd279263c43358e99",type:"button",onClick:n=>this.dsoZoomIn.emit(n),disabled:this.disableZoom==="in"||this.disableZoom==="both"},e("span",{key:"8f8c8a3834eb7a382202e601bb965af8f81b5551"},"Zoom in"),e("dso-icon",{key:"c941dc9d1759127cea74d053423e30617db34a48",icon:"plus"})),e("button",{key:"f85503edb7f8d13cb7adf5c63574966d8e5b7450",type:"button",onClick:n=>this.dsoZoomOut.emit(n),disabled:this.disableZoom==="out"||this.disableZoom==="both"},e("span",{key:"e16c47520350de121d8729ec2e2e5e56039edb6e"},"Zoom uit"),e("dso-icon",{key:"efc5b88940f06bec9c4823025b989777ed13ec72",icon:"minus"}))),e("section",{key:"f32404ee213539b03736cd18e22040906b77feca",hidden:this.hideContent},e("header",{key:"746ae45a47d5cca218aa32287658fed5b34e04a8"},e("h2",{key:"b6ea4b4e95271620f44dcd5e21e8cfbd51d3ef73"},this.panelTitle),e("button",{key:"a29f8bc57db84589e98a377f4a80243952cd9b91",type:"button",class:"close-button",onClick:n=>this.toggleVisibility(n),ref:n=>a(this,l,n,"f")},e("span",{key:"290e9b1374945030e0d01495fc92a792f4cbb39d"},"Verberg paneel ",this.panelTitle),e("dso-icon",{key:"6f16acda8d9002dd24993226d682c9082dad4c81",icon:"times"}))),e("dso-scrollable",{key:"72166f0fd12f7fe77bdd3ac6682e904380a5baaa"},e("div",{key:"b9a7225e47fb4bbc78f6ce46c0b9048b2acbccc3",class:"content"},e("slot",{key:"0c76b990517858b062abdfe30df6beccd16f735f"})))))}static get watchers(){return{open:["watchOpen"]}}};l=new WeakMap,d=new WeakMap;b.style=s;export{b as dso_map_controls};
2
+ //# sourceMappingURL=p-5f2d8a1f.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["mapControlsCss","DsoMapControlsStyle0","transitionDuration","MapControls","this","panelTitle","_MapControls_closeButtonElement","set","_MapControls_toggleButtonElement","open","watchOpen","hideContent","setTimeout","_a","__classPrivateFieldGet","focus","toggleVisibility","e","dsoToggle","emit","originalEvent","render","h","Host","key","type","id","class","onClick","ref","element","__classPrivateFieldSet","icon","dsoZoomIn","disabled","disableZoom","dsoZoomOut","hidden"],"sources":["src/components/map-controls/map-controls.scss?tag=dso-map-controls&encapsulation=shadow","src/components/map-controls/map-controls.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n\r\n@use \"map-controls.variables\" as core-map-controls-variables;\r\n\r\n:host {\r\n background-color: colors.$wit;\r\n border: 1px solid colors.$grijs-20;\r\n inset-block-end: 0;\r\n display: block;\r\n font-family: typography.$font-family-base;\r\n position: absolute;\r\n inset-block-start: 0;\r\n inset-inline-start: 100%;\r\n transition: transform core-map-controls-variables.$transition-duration ease;\r\n inline-size: 300px;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host([open]) {\r\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.3);\r\n transform: translateX(-100%);\r\n\r\n .toggle-visibility-button {\r\n display: none;\r\n }\r\n\r\n .zoom-buttons {\r\n inset-block-start: units.$u2;\r\n }\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n.toggle-visibility-button {\r\n @include button.map();\r\n\r\n position: absolute;\r\n inset-inline-end: calc(\r\n 100% + #{core-map-controls-variables.$controls-margin + core-map-controls-variables.$zoom-button-size}\r\n );\r\n inset-block-start: core-map-controls-variables.$controls-margin;\r\n}\r\n\r\n.zoom-buttons {\r\n border-radius: 4px;\r\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\r\n display: flex;\r\n flex-wrap: wrap;\r\n flex: 0 0;\r\n position: absolute;\r\n inset-inline-end: calc(100% + core-map-controls-variables.$controls-margin);\r\n inset-block-start: core-map-controls-variables.$controls-margin;\r\n\r\n button {\r\n @include button.secondary($modifiers: false, $icon-only: true);\r\n @include button.map-focus();\r\n\r\n border: 0;\r\n padding: 8px;\r\n border-radius: 0;\r\n border-start-start-radius: 4px;\r\n border-start-end-radius: 4px;\r\n flex: 0 0 100%;\r\n block-size: core-map-controls-variables.$zoom-button-size;\r\n min-inline-size: auto;\r\n inline-size: core-map-controls-variables.$zoom-button-size;\r\n\r\n + button {\r\n border-radius: 0;\r\n border-end-start-radius: 4px;\r\n border-end-end-radius: 4px;\r\n border-block-start: 1px solid colors.$grijs-20;\r\n }\r\n }\r\n}\r\n\r\n.close-button {\r\n @include button.tertiary($modifiers: false, $icon-only: true);\r\n\r\n padding: 0;\r\n position: absolute;\r\n inset-inline-end: core-map-controls-variables.$controls-margin;\r\n inset-block-start: core-map-controls-variables.$controls-margin;\r\n}\r\n\r\nsection:not([hidden]) {\r\n display: flex;\r\n flex-direction: column;\r\n block-size: 100%;\r\n}\r\n\r\nheader,\r\n.content {\r\n padding: units.$u2;\r\n}\r\n\r\nheader {\r\n border-block-end: 1px solid colors.$grijs-20;\r\n flex-grow: 0;\r\n position: relative;\r\n\r\n h2 {\r\n color: colors.$bosgroen;\r\n font-family: typography.$headings-font-family;\r\n line-height: 1;\r\n margin: 0;\r\n }\r\n}\r\n\r\n@media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n .toggle-visibility-button {\r\n block-size: units.$u5;\r\n margin-inline-end: 0;\r\n min-inline-size: auto;\r\n inset-inline-end: calc(100% + core-map-controls-variables.$controls-margin);\r\n inline-size: units.$u5;\r\n\r\n dso-icon {\r\n margin-inline-end: 0;\r\n }\r\n\r\n span {\r\n visibility: hidden;\r\n }\r\n }\r\n\r\n .zoom-buttons {\r\n inset-block-start: units.$u9;\r\n }\r\n}\r\n","import { Component, h, Host, Prop, Event, EventEmitter, State, Watch, Method } from \"@stencil/core\";\r\nimport { MapControlsToggleEvent } from \"./map-controls.interfaces\";\r\n\r\n// Sync with $transition-duration in ./map-controls.scss\r\nconst transitionDuration = 300;\r\n\r\n@Component({\r\n tag: \"dso-map-controls\",\r\n styleUrl: \"./map-controls.scss\",\r\n shadow: true,\r\n})\r\nexport class MapControls {\r\n private panelTitle = \"Kaartlagen\";\r\n\r\n /**\r\n * To show and hide the Map Controls.\r\n */\r\n @Prop({ reflect: true, mutable: true })\r\n open = false;\r\n\r\n /**\r\n * To disable the zoom controls:\r\n *\r\n * * `in`: Disable zoom in button.\r\n * * `out`: Disable zoom out button.\r\n * * `both`: Disable zoom in and zoom out.\r\n */\r\n @Prop()\r\n disableZoom?: \"in\" | \"out\" | \"both\";\r\n\r\n /**\r\n * Emitted when the user activates the zoom in button.\r\n */\r\n @Event()\r\n dsoZoomIn!: EventEmitter<MouseEvent>;\r\n\r\n /**\r\n * Emitted when the user activates the zoom out button.\r\n */\r\n @Event()\r\n dsoZoomOut!: EventEmitter<MouseEvent>;\r\n\r\n /**\r\n * emits when the panel opens or closes.\r\n *\r\n * - `event.detail.originalEvent` contains the original `MouseEvent / KeyboardEvent` when the panel is toggled by clicking the visibility button or the close button.\r\n * - `event.detail.open` is true when the panel opens and false when the panel closes.\r\n */\r\n @Event()\r\n dsoToggle!: EventEmitter<MapControlsToggleEvent>;\r\n\r\n @State()\r\n hideContent = !this.open;\r\n\r\n @Watch(\"open\")\r\n watchOpen(open: boolean) {\r\n if (open) {\r\n this.hideContent = false;\r\n\r\n setTimeout(() => this.#closeButtonElement?.focus(), transitionDuration);\r\n } else {\r\n setTimeout(() => {\r\n this.hideContent = true;\r\n\r\n this.#toggleButtonElement?.focus();\r\n }, transitionDuration);\r\n }\r\n }\r\n\r\n /**\r\n * Emitted when the visibility is toggled.\r\n *\r\n * Can be used to recalculate map widths or reposition center when the Map Controls opens or closes.\r\n * @param e\r\n */\r\n @Method()\r\n async toggleVisibility(e: MouseEvent | KeyboardEvent) {\r\n this.open = !this.open;\r\n\r\n this.dsoToggle.emit({\r\n originalEvent: e,\r\n open: this.open,\r\n });\r\n }\r\n\r\n #closeButtonElement: HTMLButtonElement | undefined;\r\n #toggleButtonElement: HTMLButtonElement | undefined;\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <button\r\n type=\"button\"\r\n id=\"toggle-visibility-button\"\r\n class=\"toggle-visibility-button\"\r\n onClick={(e) => this.toggleVisibility(e)}\r\n ref={(element) => (this.#toggleButtonElement = element)}\r\n >\r\n <dso-icon icon=\"layers\"></dso-icon>\r\n <span>Kaartlagen</span>\r\n </button>\r\n <div class=\"zoom-buttons\">\r\n <button\r\n type=\"button\"\r\n onClick={(e) => this.dsoZoomIn.emit(e)}\r\n disabled={this.disableZoom === \"in\" || this.disableZoom === \"both\"}\r\n >\r\n <span>Zoom in</span>\r\n <dso-icon icon=\"plus\"></dso-icon>\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={(e) => this.dsoZoomOut.emit(e)}\r\n disabled={this.disableZoom === \"out\" || this.disableZoom === \"both\"}\r\n >\r\n <span>Zoom uit</span>\r\n <dso-icon icon=\"minus\"></dso-icon>\r\n </button>\r\n </div>\r\n <section hidden={this.hideContent}>\r\n <header>\r\n <h2>{this.panelTitle}</h2>\r\n <button\r\n type=\"button\"\r\n class=\"close-button\"\r\n onClick={(e) => this.toggleVisibility(e)}\r\n ref={(element) => (this.#closeButtonElement = element)}\r\n >\r\n <span>Verberg paneel {this.panelTitle}</span>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n </button>\r\n </header>\r\n <dso-scrollable>\r\n <div class=\"content\">\r\n <slot></slot>\r\n </div>\r\n </dso-scrollable>\r\n </section>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"yDAAA,MAAMA,EAAiB,6jlBACvB,MAAAC,EAAeD,E,kwBCGf,MAAME,EAAqB,I,MAOdC,EAAW,M,0IACdC,KAAAC,WAAa,aAyErBC,EAAAC,IAAAH,UAAA,GACAI,EAAAD,IAAAH,UAAA,G,UApEO,M,6CAkCQA,KAAKK,I,CAGpB,SAAAC,CAAUD,GACR,GAAIA,EAAM,CACRL,KAAKO,YAAc,MAEnBC,YAAW,SAAAC,EAAM,OAAAA,EAAAC,EAAAV,KAAIE,EAAA,QAAoB,MAAAO,SAAA,SAAAA,EAAEE,OAAO,GAAEb,E,KAC/C,CACLU,YAAW,K,MACTR,KAAKO,YAAc,MAEnBE,EAAAC,EAAAV,KAAII,EAAA,QAAqB,MAAAK,SAAA,SAAAA,EAAEE,OAAO,GACjCb,E,EAWP,sBAAMc,CAAiBC,GACrBb,KAAKK,MAAQL,KAAKK,KAElBL,KAAKc,UAAUC,KAAK,CAClBC,cAAeH,EACfR,KAAML,KAAKK,M,CAOf,MAAAY,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,UAAAE,IAAA,2CACEC,KAAK,SACLC,GAAG,2BACHC,MAAM,2BACNC,QAAUX,GAAMb,KAAKY,iBAAiBC,GACtCY,IAAMC,GAAaC,EAAA3B,KAAII,EAAwBsB,EAAO,MAEtDR,EAAA,YAAAE,IAAA,2CAAUQ,KAAK,WACfV,EAAA,QAAAE,IAAA,2DAEFF,EAAA,OAAAE,IAAA,2CAAKG,MAAM,gBACTL,EAAA,UAAAE,IAAA,2CACEC,KAAK,SACLG,QAAUX,GAAMb,KAAK6B,UAAUd,KAAKF,GACpCiB,SAAU9B,KAAK+B,cAAgB,MAAQ/B,KAAK+B,cAAgB,QAE5Db,EAAA,QAAAE,IAAA,uDACAF,EAAA,YAAAE,IAAA,2CAAUQ,KAAK,UAEjBV,EAAA,UAAAE,IAAA,2CACEC,KAAK,SACLG,QAAUX,GAAMb,KAAKgC,WAAWjB,KAAKF,GACrCiB,SAAU9B,KAAK+B,cAAgB,OAAS/B,KAAK+B,cAAgB,QAE7Db,EAAA,QAAAE,IAAA,wDACAF,EAAA,YAAAE,IAAA,2CAAUQ,KAAK,YAGnBV,EAAA,WAAAE,IAAA,2CAASa,OAAQjC,KAAKO,aACpBW,EAAA,UAAAE,IAAA,4CACEF,EAAA,MAAAE,IAAA,4CAAKpB,KAAKC,YACViB,EAAA,UAAAE,IAAA,2CACEC,KAAK,SACLE,MAAM,eACNC,QAAUX,GAAMb,KAAKY,iBAAiBC,GACtCY,IAAMC,GAAaC,EAAA3B,KAAIE,EAAuBwB,EAAO,MAErDR,EAAA,QAAAE,IAAA,8DAAsBpB,KAAKC,YAC3BiB,EAAA,YAAAE,IAAA,2CAAUQ,KAAK,YAGnBV,EAAA,kBAAAE,IAAA,4CACEF,EAAA,OAAAE,IAAA,2CAAKG,MAAM,WACTL,EAAA,QAAAE,IAAA,gD","ignoreList":[]}
1
+ {"version":3,"names":["mapControlsCss","DsoMapControlsStyle0","transitionDuration","MapControls","this","panelTitle","_MapControls_closeButtonElement","set","_MapControls_toggleButtonElement","open","watchOpen","hideContent","setTimeout","_a","__classPrivateFieldGet","focus","toggleVisibility","e","dsoToggle","emit","originalEvent","render","h","Host","key","type","id","class","onClick","ref","element","__classPrivateFieldSet","icon","dsoZoomIn","disabled","disableZoom","dsoZoomOut","hidden"],"sources":["src/components/map-controls/map-controls.scss?tag=dso-map-controls&encapsulation=shadow","src/components/map-controls/map-controls.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n\r\n@use \"map-controls.variables\" as core-map-controls-variables;\r\n\r\n:host {\r\n background-color: colors.$wit;\r\n border: 1px solid colors.$grijs-20;\r\n inset-block-end: 0;\r\n display: block;\r\n font-family: typography.$font-family-base;\r\n position: absolute;\r\n inset-block-start: 0;\r\n inset-inline-start: 100%;\r\n transition: transform core-map-controls-variables.$transition-duration ease;\r\n inline-size: 300px;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host([open]) {\r\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.3);\r\n transform: translateX(-100%);\r\n\r\n .toggle-visibility-button {\r\n display: none;\r\n }\r\n\r\n .zoom-buttons {\r\n inset-block-start: units.$u2;\r\n }\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n.toggle-visibility-button {\r\n @include button.map();\r\n\r\n position: absolute;\r\n inset-inline-end: calc(\r\n 100% + #{core-map-controls-variables.$controls-margin + core-map-controls-variables.$zoom-button-size}\r\n );\r\n inset-block-start: core-map-controls-variables.$controls-margin;\r\n}\r\n\r\n.zoom-buttons {\r\n border-radius: 4px;\r\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\r\n display: flex;\r\n flex-wrap: wrap;\r\n flex: 0 0;\r\n position: absolute;\r\n inset-inline-end: calc(100% + core-map-controls-variables.$controls-margin);\r\n inset-block-start: core-map-controls-variables.$controls-margin;\r\n\r\n button {\r\n @include button.secondary($modifiers: false, $icon-only: true);\r\n @include button.map-focus();\r\n\r\n border: 0;\r\n padding: 8px;\r\n border-radius: 0;\r\n border-start-start-radius: 4px;\r\n border-start-end-radius: 4px;\r\n flex: 0 0 100%;\r\n block-size: core-map-controls-variables.$zoom-button-size;\r\n min-inline-size: auto;\r\n inline-size: core-map-controls-variables.$zoom-button-size;\r\n\r\n + button {\r\n border-radius: 0;\r\n border-end-start-radius: 4px;\r\n border-end-end-radius: 4px;\r\n border-block-start: 1px solid colors.$grijs-20;\r\n }\r\n }\r\n}\r\n\r\n.close-button {\r\n @include button.tertiary($modifiers: false, $icon-only: true);\r\n\r\n padding: 0;\r\n position: absolute;\r\n inset-inline-end: core-map-controls-variables.$controls-margin;\r\n inset-block-start: core-map-controls-variables.$controls-margin;\r\n}\r\n\r\nsection:not([hidden]) {\r\n display: flex;\r\n flex-direction: column;\r\n block-size: 100%;\r\n}\r\n\r\nheader,\r\n.content {\r\n padding: units.$u2;\r\n}\r\n\r\nheader {\r\n border-block-end: 1px solid colors.$grijs-20;\r\n flex-grow: 0;\r\n position: relative;\r\n\r\n h2 {\r\n color: colors.$bosgroen;\r\n font-family: typography.$headings-font-family;\r\n line-height: 1;\r\n margin: 0;\r\n }\r\n}\r\n\r\n@media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n .toggle-visibility-button {\r\n block-size: units.$u5;\r\n margin-inline-end: 0;\r\n min-inline-size: auto;\r\n inset-inline-end: calc(100% + core-map-controls-variables.$controls-margin);\r\n inline-size: units.$u5;\r\n\r\n dso-icon {\r\n margin-inline-end: 0;\r\n }\r\n\r\n span {\r\n visibility: hidden;\r\n }\r\n }\r\n\r\n .zoom-buttons {\r\n inset-block-start: units.$u9;\r\n }\r\n}\r\n","import { Component, h, Host, Prop, Event, EventEmitter, State, Watch, Method } from \"@stencil/core\";\r\nimport { MapControlsToggleEvent } from \"./map-controls.interfaces\";\r\n\r\n// Sync with $transition-duration in ./map-controls.scss\r\nconst transitionDuration = 300;\r\n\r\n@Component({\r\n tag: \"dso-map-controls\",\r\n styleUrl: \"./map-controls.scss\",\r\n shadow: true,\r\n})\r\nexport class MapControls {\r\n private panelTitle = \"Kaartlagen\";\r\n\r\n /**\r\n * To show and hide the Map Controls.\r\n */\r\n @Prop({ reflect: true, mutable: true })\r\n open = false;\r\n\r\n /**\r\n * To disable the zoom controls:\r\n *\r\n * * `in`: Disable zoom in button.\r\n * * `out`: Disable zoom out button.\r\n * * `both`: Disable zoom in and zoom out.\r\n */\r\n @Prop()\r\n disableZoom?: \"in\" | \"out\" | \"both\";\r\n\r\n /**\r\n * Emitted when the user activates the zoom in button.\r\n */\r\n @Event()\r\n dsoZoomIn!: EventEmitter<MouseEvent>;\r\n\r\n /**\r\n * Emitted when the user activates the zoom out button.\r\n */\r\n @Event()\r\n dsoZoomOut!: EventEmitter<MouseEvent>;\r\n\r\n /**\r\n * emits when the panel opens or closes.\r\n *\r\n * - `event.detail.originalEvent` contains the original `MouseEvent / KeyboardEvent` when the panel is toggled by clicking the visibility button or the close button.\r\n * - `event.detail.open` is true when the panel opens and false when the panel closes.\r\n */\r\n @Event()\r\n dsoToggle!: EventEmitter<MapControlsToggleEvent>;\r\n\r\n @State()\r\n hideContent = !this.open;\r\n\r\n @Watch(\"open\")\r\n watchOpen(open: boolean) {\r\n if (open) {\r\n this.hideContent = false;\r\n\r\n setTimeout(() => this.#closeButtonElement?.focus(), transitionDuration);\r\n } else {\r\n setTimeout(() => {\r\n this.hideContent = true;\r\n\r\n this.#toggleButtonElement?.focus();\r\n }, transitionDuration);\r\n }\r\n }\r\n\r\n /**\r\n * Emitted when the visibility is toggled.\r\n *\r\n * Can be used to recalculate map widths or reposition center when the Map Controls opens or closes.\r\n * @param e\r\n */\r\n @Method()\r\n async toggleVisibility(e: MouseEvent | KeyboardEvent) {\r\n this.open = !this.open;\r\n\r\n this.dsoToggle.emit({\r\n originalEvent: e,\r\n open: this.open,\r\n });\r\n }\r\n\r\n #closeButtonElement: HTMLButtonElement | undefined;\r\n #toggleButtonElement: HTMLButtonElement | undefined;\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <button\r\n type=\"button\"\r\n id=\"toggle-visibility-button\"\r\n class=\"toggle-visibility-button\"\r\n onClick={(e) => this.toggleVisibility(e)}\r\n ref={(element) => (this.#toggleButtonElement = element)}\r\n >\r\n <dso-icon icon=\"layers\"></dso-icon>\r\n <span>Kaartlagen</span>\r\n </button>\r\n <div class=\"zoom-buttons\">\r\n <button\r\n type=\"button\"\r\n onClick={(e) => this.dsoZoomIn.emit(e)}\r\n disabled={this.disableZoom === \"in\" || this.disableZoom === \"both\"}\r\n >\r\n <span>Zoom in</span>\r\n <dso-icon icon=\"plus\"></dso-icon>\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={(e) => this.dsoZoomOut.emit(e)}\r\n disabled={this.disableZoom === \"out\" || this.disableZoom === \"both\"}\r\n >\r\n <span>Zoom uit</span>\r\n <dso-icon icon=\"minus\"></dso-icon>\r\n </button>\r\n </div>\r\n <section hidden={this.hideContent}>\r\n <header>\r\n <h2>{this.panelTitle}</h2>\r\n <button\r\n type=\"button\"\r\n class=\"close-button\"\r\n onClick={(e) => this.toggleVisibility(e)}\r\n ref={(element) => (this.#closeButtonElement = element)}\r\n >\r\n <span>Verberg paneel {this.panelTitle}</span>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n </button>\r\n </header>\r\n <dso-scrollable>\r\n <div class=\"content\">\r\n <slot></slot>\r\n </div>\r\n </dso-scrollable>\r\n </section>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"yDAAA,MAAMA,EAAiB,uslBACvB,MAAAC,EAAeD,E,kwBCGf,MAAME,EAAqB,I,MAOdC,EAAW,M,0IACdC,KAAAC,WAAa,aAyErBC,EAAAC,IAAAH,UAAA,GACAI,EAAAD,IAAAH,UAAA,G,UApEO,M,6CAkCQA,KAAKK,I,CAGpB,SAAAC,CAAUD,GACR,GAAIA,EAAM,CACRL,KAAKO,YAAc,MAEnBC,YAAW,SAAAC,EAAM,OAAAA,EAAAC,EAAAV,KAAIE,EAAA,QAAoB,MAAAO,SAAA,SAAAA,EAAEE,OAAO,GAAEb,E,KAC/C,CACLU,YAAW,K,MACTR,KAAKO,YAAc,MAEnBE,EAAAC,EAAAV,KAAII,EAAA,QAAqB,MAAAK,SAAA,SAAAA,EAAEE,OAAO,GACjCb,E,EAWP,sBAAMc,CAAiBC,GACrBb,KAAKK,MAAQL,KAAKK,KAElBL,KAAKc,UAAUC,KAAK,CAClBC,cAAeH,EACfR,KAAML,KAAKK,M,CAOf,MAAAY,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,UAAAE,IAAA,2CACEC,KAAK,SACLC,GAAG,2BACHC,MAAM,2BACNC,QAAUX,GAAMb,KAAKY,iBAAiBC,GACtCY,IAAMC,GAAaC,EAAA3B,KAAII,EAAwBsB,EAAO,MAEtDR,EAAA,YAAAE,IAAA,2CAAUQ,KAAK,WACfV,EAAA,QAAAE,IAAA,2DAEFF,EAAA,OAAAE,IAAA,2CAAKG,MAAM,gBACTL,EAAA,UAAAE,IAAA,2CACEC,KAAK,SACLG,QAAUX,GAAMb,KAAK6B,UAAUd,KAAKF,GACpCiB,SAAU9B,KAAK+B,cAAgB,MAAQ/B,KAAK+B,cAAgB,QAE5Db,EAAA,QAAAE,IAAA,uDACAF,EAAA,YAAAE,IAAA,2CAAUQ,KAAK,UAEjBV,EAAA,UAAAE,IAAA,2CACEC,KAAK,SACLG,QAAUX,GAAMb,KAAKgC,WAAWjB,KAAKF,GACrCiB,SAAU9B,KAAK+B,cAAgB,OAAS/B,KAAK+B,cAAgB,QAE7Db,EAAA,QAAAE,IAAA,wDACAF,EAAA,YAAAE,IAAA,2CAAUQ,KAAK,YAGnBV,EAAA,WAAAE,IAAA,2CAASa,OAAQjC,KAAKO,aACpBW,EAAA,UAAAE,IAAA,4CACEF,EAAA,MAAAE,IAAA,4CAAKpB,KAAKC,YACViB,EAAA,UAAAE,IAAA,2CACEC,KAAK,SACLE,MAAM,eACNC,QAAUX,GAAMb,KAAKY,iBAAiBC,GACtCY,IAAMC,GAAaC,EAAA3B,KAAIE,EAAuBwB,EAAO,MAErDR,EAAA,QAAAE,IAAA,8DAAsBpB,KAAKC,YAC3BiB,EAAA,YAAAE,IAAA,2CAAUQ,KAAK,YAGnBV,EAAA,kBAAAE,IAAA,4CACEF,EAAA,OAAAE,IAAA,2CAAKG,MAAM,WACTL,EAAA,QAAAE,IAAA,gD","ignoreList":[]}