@dso-toolkit/core 97.1.0 → 98.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 (538) hide show
  1. package/dist/bundle/dso-accordion-section.js +15 -14
  2. package/dist/bundle/dso-accordion.js +2 -276
  3. package/dist/bundle/dso-action-list-item.js +3 -3
  4. package/dist/bundle/dso-action-list.js +2 -2
  5. package/dist/bundle/dso-advanced-select.js +109 -232
  6. package/dist/bundle/dso-alert.js +1 -1
  7. package/dist/bundle/dso-annotation-activiteit.js +10 -10
  8. package/dist/bundle/dso-annotation-gebiedsaanwijzing.js +9 -9
  9. package/dist/bundle/dso-annotation-kaart.js +6 -6
  10. package/dist/bundle/dso-annotation-locatie.js +1 -1
  11. package/dist/bundle/dso-annotation-omgevingsnormwaarde.js +10 -10
  12. package/dist/bundle/dso-attachments-counter.js +1 -1
  13. package/dist/bundle/dso-autosuggest.js +26 -17
  14. package/dist/bundle/dso-badge.js +1 -1
  15. package/dist/bundle/dso-banner.js +3 -3
  16. package/dist/bundle/dso-button-group.js +1 -1
  17. package/dist/bundle/dso-card-container.js +1 -1
  18. package/dist/bundle/dso-card.js +3 -3
  19. package/dist/bundle/dso-contact-information.js +1 -1
  20. package/dist/bundle/dso-cursor-tooltip.js +1 -1
  21. package/dist/bundle/dso-date-picker.js +1 -1
  22. package/dist/bundle/dso-document-card.js +3 -3
  23. package/dist/bundle/dso-document-component.js +1 -1
  24. package/dist/bundle/dso-dropdown-menu-group.d.ts +11 -0
  25. package/dist/bundle/dso-dropdown-menu-group.js +51 -0
  26. package/dist/bundle/dso-dropdown-menu-item.d.ts +11 -0
  27. package/dist/bundle/dso-dropdown-menu-item.js +70 -0
  28. package/dist/bundle/dso-dropdown-menu.js +93 -107
  29. package/dist/bundle/dso-expandable.js +1 -1
  30. package/dist/bundle/dso-header.js +23 -6
  31. package/dist/bundle/dso-highlight-box.js +2 -2
  32. package/dist/bundle/dso-history-item.js +3 -3
  33. package/dist/bundle/dso-icon-button.js +1 -1
  34. package/dist/bundle/dso-icon.js +1 -1
  35. package/dist/bundle/dso-image-overlay.js +1 -1
  36. package/dist/bundle/dso-info-button.js +1 -1
  37. package/dist/bundle/dso-info.js +1 -1
  38. package/dist/bundle/dso-input-range.js +3 -3
  39. package/dist/bundle/dso-label.js +1 -1
  40. package/dist/bundle/dso-legend-group.js +5 -5
  41. package/dist/bundle/dso-legend-item.js +8 -8
  42. package/dist/bundle/dso-legend.js +7 -7
  43. package/dist/bundle/dso-list-button.js +9 -9
  44. package/dist/bundle/dso-logo.js +2 -2
  45. package/dist/bundle/dso-map-base-layers.js +9 -9
  46. package/dist/bundle/dso-map-controls.js +8 -8
  47. package/dist/bundle/dso-map-layer-object.js +5 -5
  48. package/dist/bundle/dso-map-layer.js +5 -5
  49. package/dist/bundle/dso-map-message.js +4 -4
  50. package/dist/bundle/dso-map-overlays.js +9 -9
  51. package/dist/bundle/dso-mark-bar.js +4 -4
  52. package/dist/bundle/dso-modal.js +1 -1
  53. package/dist/bundle/dso-onboarding-tip.js +5 -5
  54. package/dist/bundle/dso-ozon-content-toggletip.js +1 -1
  55. package/dist/bundle/dso-ozon-content.js +1 -1
  56. package/dist/bundle/dso-pagination.js +3 -3
  57. package/dist/bundle/dso-panel.js +1 -1
  58. package/dist/bundle/dso-plekinfo-card.js +5 -5
  59. package/dist/bundle/dso-progress-indicator.js +1 -1
  60. package/dist/bundle/dso-project-item.js +6 -6
  61. package/dist/bundle/dso-renvooi.js +1 -1
  62. package/dist/bundle/dso-responsive-element.js +1 -1
  63. package/dist/bundle/dso-scrollable.js +1 -1
  64. package/dist/bundle/dso-segmented-button.js +2 -2
  65. package/dist/bundle/dso-selectable.js +1 -1
  66. package/dist/bundle/dso-skiplink.js +3 -3
  67. package/dist/bundle/dso-slide-toggle.js +1 -1
  68. package/dist/bundle/dso-survey-rating.js +7 -7
  69. package/dist/bundle/dso-tab.js +1 -1
  70. package/dist/bundle/dso-table.js +1 -1
  71. package/dist/bundle/dso-tabs.js +2 -2
  72. package/dist/bundle/dso-tijdreis-banner.js +3 -3
  73. package/dist/bundle/dso-tooltip.js +2 -2
  74. package/dist/bundle/dso-tree-view.js +5 -5
  75. package/dist/bundle/dso-viewer-grid.js +4 -4
  76. package/dist/bundle/dsot-document-component-demo.js +18 -18
  77. package/dist/bundle/index.js +6 -2
  78. package/dist/bundle/p-B75VIizV.js +166 -0
  79. package/dist/bundle/{p-jon8ZgCu.js → p-B94z5NjB.js} +19 -5
  80. package/dist/bundle/{p-CA57bAyP.js → p-BCqaYIQt.js} +3 -3
  81. package/dist/bundle/{p-D1ciWwSo.js → p-BFzVw-DT.js} +2 -2
  82. package/dist/bundle/{p-ChO20JhC.js → p-BHpXZF8A.js} +4 -4
  83. package/dist/bundle/{p-DaRtnn5i.js → p-BO8XMsvv.js} +1 -1
  84. package/dist/bundle/p-BXiN5sX-.js +189 -0
  85. package/dist/{esm/index.esm-PsHl6ZhV.js → bundle/p-BZ0vuOVx.js} +1 -1
  86. package/dist/bundle/{p-CFPWVcsY.js → p-BfWc_aEb.js} +4 -4
  87. package/dist/bundle/{p-D33HZm70.js → p-Bk1uG4K2.js} +7 -7
  88. package/dist/bundle/p-BlVogjOP.js +1209 -0
  89. package/dist/bundle/{p-rHiKziuf.js → p-ByYAhz9G.js} +1 -1
  90. package/dist/bundle/p-C2TaY3C1.js +148 -0
  91. package/dist/bundle/{p-HMxVj4ab.js → p-C5AGixB6.js} +2 -2
  92. package/dist/bundle/{p-C7VfGukK.js → p-CFFKe8A0.js} +2 -2
  93. package/dist/bundle/{p-B2ZlmdWO.js → p-CH7Qz1nD.js} +5 -5
  94. package/dist/bundle/{p-DwBHVuoZ.js → p-CRgylkO_.js} +12 -4
  95. package/dist/bundle/p-CaARHb7c.js +122 -0
  96. package/dist/bundle/p-CvSgAdem.js +83 -0
  97. package/dist/bundle/{p-DtNjY6f6.js → p-CxCyh-ue.js} +6 -6
  98. package/dist/bundle/{p-DYFOhFhk.js → p-D-E3DKqU.js} +2 -2
  99. package/dist/bundle/p-D1Oc-tJz.js +124 -0
  100. package/dist/bundle/{p-Bh_AjQ7z.js → p-D9ik-TAM.js} +7 -7
  101. package/dist/bundle/{p-CcFEBE0l.js → p-DFS4M3wz.js} +4 -4
  102. package/dist/bundle/{p-C-8vTVVo.js → p-DH5oGVbg.js} +9 -9
  103. package/dist/bundle/{p-BNEJjrr8.js → p-DTmh2fpe.js} +2 -2
  104. package/dist/bundle/p-DVuh3xxM.js +278 -0
  105. package/dist/bundle/p-DbanifFc.js +341 -0
  106. package/dist/bundle/{p-BIShp3sw.js → p-Di7uBIhp.js} +1 -1
  107. package/dist/bundle/{p-WEiXvjCu.js → p-DiFgvE1s.js} +1 -1
  108. package/dist/bundle/{p-DgKvq-q9.js → p-_Cugwqbf.js} +1 -1
  109. package/dist/bundle/{p-CgXakBQA.js → p-_TVwcL7Y.js} +1 -1
  110. package/dist/bundle/{p-CKnJRPZn.js → p-_WFAb7kl.js} +27 -8
  111. package/dist/cjs/{annotation-body-DorcBRdu.js → annotation-body-CiWbOM67.js} +1 -1
  112. package/dist/cjs/{annotation-list-renvooi-values-DY_nt_wa.js → annotation-list-renvooi-values-BeNFLgnO.js} +1 -1
  113. package/dist/cjs/{annotation-watcher-DuftgGaK.js → annotation-watcher-5j3WUBEz.js} +1 -1
  114. package/dist/cjs/dso-accordion-section.cjs.entry.js +8 -7
  115. package/dist/cjs/dso-accordion.cjs.entry.js +3 -277
  116. package/dist/cjs/dso-action-list-item.cjs.entry.js +2 -2
  117. package/dist/cjs/dso-action-list.cjs.entry.js +2 -2
  118. package/dist/cjs/dso-advanced-select.cjs.entry.js +103 -226
  119. package/dist/cjs/dso-alert_7.cjs.entry.js +68 -27
  120. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js +5 -5
  121. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js +4 -4
  122. package/dist/cjs/dso-annotation-kaart.cjs.entry.js +3 -3
  123. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js +6 -6
  124. package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js +5 -5
  125. package/dist/cjs/dso-attachments-counter_2.cjs.entry.js +3 -3
  126. package/dist/cjs/dso-autosuggest.cjs.entry.js +23 -14
  127. package/dist/cjs/dso-banner.cjs.entry.js +2 -2
  128. package/dist/cjs/dso-button-group.cjs.entry.js +2 -2
  129. package/dist/cjs/dso-card-container.cjs.entry.js +1 -1
  130. package/dist/cjs/dso-card.cjs.entry.js +2 -2
  131. package/dist/cjs/dso-contact-information.cjs.entry.js +1 -1
  132. package/dist/cjs/dso-cursor-tooltip.cjs.entry.js +1 -1
  133. package/dist/cjs/dso-date-picker.cjs.entry.js +1 -1
  134. package/dist/cjs/dso-document-card.cjs.entry.js +2 -2
  135. package/dist/cjs/dso-dropdown-menu-group.cjs.entry.js +31 -0
  136. package/dist/cjs/dso-dropdown-menu-item.cjs.entry.js +41 -0
  137. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +80 -101
  138. package/dist/cjs/dso-header.cjs.entry.js +21 -4
  139. package/dist/cjs/dso-highlight-box.cjs.entry.js +2 -2
  140. package/dist/cjs/dso-history-item.cjs.entry.js +2 -2
  141. package/dist/cjs/dso-icon-button.cjs.entry.js +97 -0
  142. package/dist/cjs/{dso-icon_2.cjs.entry.js → dso-icon.cjs.entry.js} +2 -95
  143. package/dist/cjs/dso-info_3.cjs.entry.js +7 -7
  144. package/dist/cjs/dso-input-range.cjs.entry.js +3 -3
  145. package/dist/cjs/dso-label_3.cjs.entry.js +7 -7
  146. package/dist/cjs/dso-legend-group.cjs.entry.js +3 -3
  147. package/dist/cjs/dso-legend-item.cjs.entry.js +3 -3
  148. package/dist/cjs/dso-legend.cjs.entry.js +4 -4
  149. package/dist/cjs/dso-list-button.cjs.entry.js +3 -3
  150. package/dist/cjs/dso-logo.cjs.entry.js +2 -2
  151. package/dist/cjs/dso-map-base-layers.cjs.entry.js +3 -3
  152. package/dist/cjs/dso-map-controls.cjs.entry.js +4 -4
  153. package/dist/cjs/dso-map-layer-object.cjs.entry.js +4 -4
  154. package/dist/cjs/dso-map-layer.cjs.entry.js +4 -4
  155. package/dist/cjs/dso-map-message.cjs.entry.js +3 -3
  156. package/dist/cjs/dso-map-overlays.cjs.entry.js +3 -3
  157. package/dist/cjs/dso-mark-bar.cjs.entry.js +2 -2
  158. package/dist/cjs/dso-modal.cjs.entry.js +4 -4
  159. package/dist/cjs/dso-onboarding-tip.cjs.entry.js +2 -2
  160. package/dist/cjs/dso-pagination.cjs.entry.js +1 -1
  161. package/dist/cjs/dso-plekinfo-card.cjs.entry.js +4 -4
  162. package/dist/cjs/dso-progress-indicator.cjs.entry.js +3 -3
  163. package/dist/cjs/dso-project-item.cjs.entry.js +3 -3
  164. package/dist/cjs/dso-responsive-element.cjs.entry.js +19 -5
  165. package/dist/cjs/dso-scrollable.cjs.entry.js +4 -4
  166. package/dist/cjs/dso-segmented-button.cjs.entry.js +2 -2
  167. package/dist/cjs/dso-skiplink.cjs.entry.js +2 -2
  168. package/dist/cjs/dso-survey-rating.cjs.entry.js +4 -4
  169. package/dist/cjs/dso-tab.cjs.entry.js +1 -1
  170. package/dist/cjs/dso-tabs.cjs.entry.js +2 -2
  171. package/dist/cjs/dso-tijdreis-banner.cjs.entry.js +2 -2
  172. package/dist/cjs/dso-toolkit.cjs.js +3 -3
  173. package/dist/cjs/dso-tooltip.cjs.entry.js +2 -2
  174. package/dist/cjs/dso-tree-view.cjs.entry.js +3 -3
  175. package/dist/cjs/dso-viewer-grid.cjs.entry.js +4 -4
  176. package/dist/cjs/dsot-document-component-demo.cjs.entry.js +1 -1
  177. package/dist/cjs/{i18n-5XH7oHkT.js → i18n-DxQ6ZWA0.js} +12 -4
  178. package/dist/cjs/index-D8SsuyUx.js +280 -0
  179. package/dist/cjs/{index-BOI4CviS.js → index-fOjUpMJG.js} +1 -1
  180. package/dist/cjs/loader.cjs.js +2 -2
  181. package/dist/cjs/{parse-wijzigactie-from-node.function-BbYINqVA.js → parse-wijzigactie-from-node.function-Bi4NE9Tt.js} +1 -1
  182. package/dist/cjs/{tooltip.functional-component-CW6vXWhM.js → tooltip.functional-component-D6oJmzwD.js} +1 -1
  183. package/dist/cjs/{wrap-wijzigactie.functional-component-BOafAh_v.js → wrap-wijzigactie.functional-component-CV8gX7lQ.js} +1 -1
  184. package/dist/collection/collection-manifest.json +3 -1
  185. package/dist/collection/components/accordion/components/accordion-section.css +5 -5
  186. package/dist/collection/components/accordion/components/accordion-section.js +6 -5
  187. package/dist/collection/components/action-list/action-list.css +5 -5
  188. package/dist/collection/components/action-list/components/action-list-item.css +4 -4
  189. package/dist/collection/components/alert/alert.css +82 -89
  190. package/dist/collection/components/alert/alert.js +1 -1
  191. package/dist/collection/components/annotation/annotation.css +3 -3
  192. package/dist/collection/components/autosuggest/autosuggest.js +21 -12
  193. package/dist/collection/components/badge/badge.css +5 -5
  194. package/dist/collection/components/banner/banner.css +31 -31
  195. package/dist/collection/components/button-group/button-group.css +11 -11
  196. package/dist/collection/components/card/card.css +6 -6
  197. package/dist/collection/components/document-card/document-card.css +1 -1
  198. package/dist/collection/components/document-component/document-component.css +35 -35
  199. package/dist/collection/components/dropdown-menu/dropdown-menu-group/dropdown-menu-group.css +16 -0
  200. package/dist/collection/components/dropdown-menu/dropdown-menu-group/dropdown-menu-group.js +55 -0
  201. package/dist/collection/components/dropdown-menu/dropdown-menu-item/dropdown-menu-item.css +80 -0
  202. package/dist/collection/components/dropdown-menu/dropdown-menu-item/dropdown-menu-item.js +160 -0
  203. package/dist/collection/components/dropdown-menu/dropdown-menu.css +482 -2
  204. package/dist/collection/components/dropdown-menu/dropdown-menu.interfaces.js +1 -0
  205. package/dist/collection/components/dropdown-menu/dropdown-menu.js +134 -142
  206. package/dist/collection/components/expandable/expandable.js +2 -2
  207. package/dist/collection/components/header/header.js +19 -2
  208. package/dist/collection/components/highlight-box/highlight-box.js +1 -1
  209. package/dist/collection/components/history-item/history-item.js +1 -1
  210. package/dist/collection/components/icon/icon.js +1 -1
  211. package/dist/collection/components/icon-button/icon-button.css +28 -28
  212. package/dist/collection/components/icon-button/icon-button.js +1 -1
  213. package/dist/collection/components/image-overlay/image-overlay.css +6 -6
  214. package/dist/collection/components/image-overlay/image-overlay.js +23 -4
  215. package/dist/collection/components/info/info.js +1 -1
  216. package/dist/collection/components/info-button/info-button.css +6 -6
  217. package/dist/collection/components/info-button/info-button.js +1 -1
  218. package/dist/collection/components/input-range/input-range.js +2 -2
  219. package/dist/collection/components/label/label.css +4 -4
  220. package/dist/collection/components/label/label.js +2 -2
  221. package/dist/collection/components/legend/legend-group/legend-group.js +1 -1
  222. package/dist/collection/components/legend/legend-item/legend-item.js +1 -1
  223. package/dist/collection/components/legend/legend.css +3 -3
  224. package/dist/collection/components/legend/legend.js +1 -1
  225. package/dist/collection/components/list-button/list-button.css +9 -9
  226. package/dist/collection/components/list-button/list-button.js +1 -1
  227. package/dist/collection/components/logo/logo.js +1 -1
  228. package/dist/collection/components/map-base-layers/map-base-layers.js +1 -1
  229. package/dist/collection/components/map-controls/map-controls.css +28 -28
  230. package/dist/collection/components/map-controls/map-controls.js +1 -1
  231. package/dist/collection/components/map-layer/components/map-layer-object.css +2 -2
  232. package/dist/collection/components/map-layer/components/map-layer-object.js +1 -1
  233. package/dist/collection/components/map-layer/map-layer.css +2 -2
  234. package/dist/collection/components/map-layer/map-layer.js +1 -1
  235. package/dist/collection/components/map-message/map-message.js +2 -2
  236. package/dist/collection/components/map-overlays/map-overlays.js +1 -1
  237. package/dist/collection/components/mark-bar/mark-bar.js +1 -1
  238. package/dist/collection/components/modal/modal.css +18 -19
  239. package/dist/collection/components/modal/modal.js +1 -1
  240. package/dist/collection/components/onboarding-tip/onboarding-tip.js +1 -1
  241. package/dist/collection/components/ozon-content/components/ozon-content-toggletip/ozon-content-toggletip.css +8 -8
  242. package/dist/collection/components/ozon-content/components/ozon-content-toggletip/ozon-content-toggletip.js +1 -1
  243. package/dist/collection/components/ozon-content/ozon-content.css +60 -60
  244. package/dist/collection/components/ozon-content/ozon-content.js +3 -3
  245. package/dist/collection/components/panel/panel.js +1 -1
  246. package/dist/collection/components/plekinfo-card/plekinfo-card.css +6 -6
  247. package/dist/collection/components/plekinfo-card/plekinfo-card.js +1 -1
  248. package/dist/collection/components/progress-indicator/progress-indicator.js +1 -1
  249. package/dist/collection/components/project-item/project-item.css +22 -22
  250. package/dist/collection/components/project-item/project-item.js +1 -1
  251. package/dist/collection/components/renvooi/renvooi.css +7 -7
  252. package/dist/collection/components/responsive-element/responsive-element.js +18 -4
  253. package/dist/collection/components/scrollable/scrollable.css +7 -7
  254. package/dist/collection/components/scrollable/scrollable.js +2 -2
  255. package/dist/collection/components/segmented-button/segmented-button.js +1 -1
  256. package/dist/collection/components/selectable/selectable.css +3 -3
  257. package/dist/collection/components/selectable/selectable.js +1 -1
  258. package/dist/collection/components/skiplink/skiplink.js +1 -1
  259. package/dist/collection/components/slide-toggle/slide-toggle.js +1 -1
  260. package/dist/collection/components/survey-rating/survey-rating.css +6 -6
  261. package/dist/collection/components/survey-rating/survey-rating.js +2 -2
  262. package/dist/collection/components/table/table.css +36 -36
  263. package/dist/collection/components/table/table.js +30 -8
  264. package/dist/collection/components/tabs/tabs.js +1 -1
  265. package/dist/collection/components/tijdreis-banner/tijdreis-banner.js +1 -1
  266. package/dist/collection/components/tooltip/tooltip.js +1 -1
  267. package/dist/collection/components/tree-view/tree-view.js +2 -2
  268. package/dist/collection/components/viewer-grid/viewer-grid.css +17 -13
  269. package/dist/collection/components/viewer-grid/viewer-grid.js +2 -2
  270. package/dist/components/alert.js +1 -1
  271. package/dist/components/annotation-locatie.js +1 -1
  272. package/dist/components/badge.js +1 -1
  273. package/dist/components/button-group.js +1 -1
  274. package/dist/components/document-component.js +1 -1
  275. package/dist/components/dso-accordion-section.js +1 -1
  276. package/dist/components/dso-accordion.js +1 -1
  277. package/dist/components/dso-action-list-item.js +1 -1
  278. package/dist/components/dso-action-list.js +1 -1
  279. package/dist/components/dso-advanced-select.js +3 -5
  280. package/dist/components/dso-annotation-activiteit.js +1 -1
  281. package/dist/components/dso-annotation-gebiedsaanwijzing.js +1 -1
  282. package/dist/components/dso-annotation-kaart.js +1 -1
  283. package/dist/components/dso-annotation-omgevingsnormwaarde.js +1 -1
  284. package/dist/components/dso-autosuggest.js +1 -1
  285. package/dist/components/dso-banner.js +1 -1
  286. package/dist/components/dso-card.js +1 -1
  287. package/dist/components/dso-document-card.js +1 -1
  288. package/dist/components/dso-dropdown-menu-group.d.ts +11 -0
  289. package/dist/components/dso-dropdown-menu-group.js +1 -0
  290. package/dist/components/dso-dropdown-menu-item.d.ts +11 -0
  291. package/dist/components/dso-dropdown-menu-item.js +1 -0
  292. package/dist/components/dso-dropdown-menu.js +1 -1
  293. package/dist/components/dso-header.js +1 -1
  294. package/dist/components/dso-highlight-box.js +1 -1
  295. package/dist/components/dso-history-item.js +1 -1
  296. package/dist/components/dso-input-range.js +1 -1
  297. package/dist/components/dso-legend-group.js +1 -1
  298. package/dist/components/dso-legend-item.js +1 -1
  299. package/dist/components/dso-legend.js +1 -1
  300. package/dist/components/dso-list-button.js +1 -1
  301. package/dist/components/dso-logo.js +1 -1
  302. package/dist/components/dso-map-base-layers.js +1 -1
  303. package/dist/components/dso-map-controls.js +1 -1
  304. package/dist/components/dso-map-layer-object.js +1 -1
  305. package/dist/components/dso-map-layer.js +1 -1
  306. package/dist/components/dso-map-message.js +1 -1
  307. package/dist/components/dso-map-overlays.js +1 -1
  308. package/dist/components/dso-mark-bar.js +1 -1
  309. package/dist/components/dso-onboarding-tip.js +1 -1
  310. package/dist/components/dso-plekinfo-card.js +1 -1
  311. package/dist/components/dso-project-item.js +1 -1
  312. package/dist/components/dso-segmented-button.js +1 -1
  313. package/dist/components/dso-skiplink.js +1 -1
  314. package/dist/components/dso-survey-rating.js +1 -1
  315. package/dist/components/dso-tabs.js +1 -1
  316. package/dist/components/dso-tijdreis-banner.js +1 -1
  317. package/dist/components/dso-tooltip.js +1 -1
  318. package/dist/components/dso-tree-view.js +1 -1
  319. package/dist/components/dso-viewer-grid.js +1 -1
  320. package/dist/components/expandable.js +1 -1
  321. package/dist/components/i18n.js +1 -1
  322. package/dist/components/icon-button.js +1 -1
  323. package/dist/components/icon.js +1 -1
  324. package/dist/components/image-overlay.js +1 -1
  325. package/dist/components/index.d.ts +4 -0
  326. package/dist/components/index.esm.js +1 -1
  327. package/dist/components/index.js +1 -1
  328. package/dist/components/index2.js +1 -1
  329. package/dist/components/index3.js +1 -0
  330. package/dist/components/info-button.js +1 -1
  331. package/dist/components/info.js +1 -1
  332. package/dist/components/label.js +1 -1
  333. package/dist/components/modal.js +1 -1
  334. package/dist/components/ozon-content-toggletip.js +1 -1
  335. package/dist/components/ozon-content.js +1 -1
  336. package/dist/components/panel.js +1 -1
  337. package/dist/components/progress-indicator.js +1 -1
  338. package/dist/components/renvooi.js +1 -1
  339. package/dist/components/responsive-element.js +1 -1
  340. package/dist/components/scrollable.js +1 -1
  341. package/dist/components/selectable.js +1 -1
  342. package/dist/components/slide-toggle.js +1 -1
  343. package/dist/components/table.js +1 -1
  344. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  345. package/dist/dso-toolkit/p-01ef7894.entry.js +1 -0
  346. package/dist/dso-toolkit/p-14c01a1b.entry.js +1 -0
  347. package/dist/dso-toolkit/{p-44549e9c.entry.js → p-1512f23c.entry.js} +1 -1
  348. package/dist/dso-toolkit/{p-540a8027.entry.js → p-15cf1d50.entry.js} +1 -1
  349. package/dist/dso-toolkit/{p-2d1eb113.entry.js → p-1bcb1be6.entry.js} +1 -1
  350. package/dist/dso-toolkit/{p-d9800183.entry.js → p-20dff64b.entry.js} +1 -1
  351. package/dist/dso-toolkit/{p-be7adaac.entry.js → p-2adca4ff.entry.js} +1 -1
  352. package/dist/dso-toolkit/p-2c966756.entry.js +1 -0
  353. package/dist/dso-toolkit/{p-f066244e.entry.js → p-2eecf6c8.entry.js} +1 -1
  354. package/dist/dso-toolkit/p-388128c4.entry.js +1 -0
  355. package/dist/dso-toolkit/{p-dabed551.entry.js → p-3b7b2b8f.entry.js} +1 -1
  356. package/dist/dso-toolkit/{p-e03ff53f.entry.js → p-3defafe9.entry.js} +1 -1
  357. package/dist/dso-toolkit/{p-798eeae6.entry.js → p-4172e122.entry.js} +1 -1
  358. package/dist/dso-toolkit/p-43d180dd.entry.js +1 -0
  359. package/dist/dso-toolkit/{p-bb7ac6f7.entry.js → p-45b1fde3.entry.js} +1 -1
  360. package/dist/dso-toolkit/p-45d91da0.entry.js +1 -0
  361. package/dist/dso-toolkit/p-4855c2f3.entry.js +1 -0
  362. package/dist/dso-toolkit/p-48a683ed.entry.js +1 -0
  363. package/dist/dso-toolkit/{p-c9768843.entry.js → p-4da1153e.entry.js} +1 -1
  364. package/dist/dso-toolkit/{p-2edbfaae.entry.js → p-4fc4d02f.entry.js} +1 -1
  365. package/dist/dso-toolkit/p-4fc83300.entry.js +1 -0
  366. package/dist/dso-toolkit/{p-8e206e7e.entry.js → p-520dc726.entry.js} +1 -1
  367. package/dist/dso-toolkit/p-5517c4f6.entry.js +1 -0
  368. package/dist/dso-toolkit/{p-cce55fbb.entry.js → p-57ff1b4b.entry.js} +1 -1
  369. package/dist/dso-toolkit/{p-4020bb89.entry.js → p-5904bfcb.entry.js} +1 -1
  370. package/dist/dso-toolkit/p-5962b2d4.entry.js +1 -0
  371. package/dist/dso-toolkit/p-5a3e159b.entry.js +1 -0
  372. package/dist/dso-toolkit/{p-6ebe1b0e.entry.js → p-70972000.entry.js} +1 -1
  373. package/dist/dso-toolkit/p-7379b3bc.entry.js +1 -0
  374. package/dist/dso-toolkit/p-737d1d0e.entry.js +1 -0
  375. package/dist/dso-toolkit/{p-181cb6f7.entry.js → p-796cebce.entry.js} +1 -1
  376. package/dist/dso-toolkit/{p-3047432c.entry.js → p-7a2c40f3.entry.js} +1 -1
  377. package/dist/dso-toolkit/{p-85c2c887.entry.js → p-7b8b9188.entry.js} +1 -1
  378. package/dist/dso-toolkit/p-7c41ad14.entry.js +5 -0
  379. package/dist/dso-toolkit/{p-875b414d.entry.js → p-7d9ce75e.entry.js} +1 -1
  380. package/dist/dso-toolkit/{p-626ae90b.entry.js → p-845d3d61.entry.js} +1 -1
  381. package/dist/dso-toolkit/p-85d562bd.entry.js +1 -0
  382. package/dist/dso-toolkit/p-8b46e524.entry.js +1 -0
  383. package/dist/dso-toolkit/{p-ea1f5082.entry.js → p-91e4c3e6.entry.js} +1 -1
  384. package/dist/dso-toolkit/{p-b2202cd6.entry.js → p-965ee5c3.entry.js} +1 -1
  385. package/dist/dso-toolkit/{p-b4747ac0.entry.js → p-96d40735.entry.js} +1 -1
  386. package/dist/dso-toolkit/p-9b9588a4.entry.js +1 -0
  387. package/dist/dso-toolkit/{p-e08e43be.entry.js → p-9e4fcb9a.entry.js} +1 -1
  388. package/dist/dso-toolkit/{p-PsHl6ZhV.js → p-BZ0vuOVx.js} +1 -1
  389. package/dist/dso-toolkit/{p-PjubEIMY.js → p-CDgoS98P.js} +1 -1
  390. package/dist/dso-toolkit/{p-Chbfdofl.js → p-CHpgprST.js} +1 -1
  391. package/dist/dso-toolkit/p-CKvC5fms.js +1 -0
  392. package/dist/dso-toolkit/p-CRgylkO_.js +1 -0
  393. package/dist/dso-toolkit/p-CWxbEBiv.js +1 -0
  394. package/dist/dso-toolkit/p-CmOx9B7G.js +1 -0
  395. package/dist/dso-toolkit/p-Cw_CPOlV.js +1 -0
  396. package/dist/dso-toolkit/p-DHGCm31c.js +1 -0
  397. package/dist/dso-toolkit/p-a8ef7b7e.entry.js +1 -0
  398. package/dist/dso-toolkit/{p-fc8f252a.entry.js → p-adf26ede.entry.js} +1 -1
  399. package/dist/dso-toolkit/p-b469a75d.entry.js +1 -0
  400. package/dist/dso-toolkit/{p-c3d5ccc6.entry.js → p-b59d6811.entry.js} +1 -1
  401. package/dist/dso-toolkit/p-c41060e1.entry.js +1 -0
  402. package/dist/dso-toolkit/{p-75e5057e.entry.js → p-c782af02.entry.js} +1 -1
  403. package/dist/dso-toolkit/{p-84f647aa.entry.js → p-cb7a5987.entry.js} +1 -1
  404. package/dist/dso-toolkit/{p-e311d101.entry.js → p-cb8ad08f.entry.js} +1 -1
  405. package/dist/dso-toolkit/{p-3fe44227.entry.js → p-cdaeddbf.entry.js} +1 -1
  406. package/dist/dso-toolkit/p-d91feee5.entry.js +1 -0
  407. package/dist/dso-toolkit/{p-b270f26b.entry.js → p-ddbbc77d.entry.js} +1 -1
  408. package/dist/dso-toolkit/p-e53de048.entry.js +1 -0
  409. package/dist/dso-toolkit/{p-e1f30dbb.entry.js → p-e7323c65.entry.js} +1 -1
  410. package/dist/dso-toolkit/{p-a14ee5bd.entry.js → p-e7a860be.entry.js} +1 -1
  411. package/dist/dso-toolkit/p-e803701e.entry.js +1 -0
  412. package/dist/dso-toolkit/{p-d877c432.entry.js → p-edddf0f5.entry.js} +1 -1
  413. package/dist/dso-toolkit/{p-7a809a49.entry.js → p-f52d7bb1.entry.js} +1 -1
  414. package/dist/dso-toolkit/p-fdf9798a.entry.js +1 -0
  415. package/dist/dso-toolkit/{p-d87dd7c8.entry.js → p-fe00cb79.entry.js} +1 -1
  416. package/dist/esm/{annotation-body-DeKLxp3F.js → annotation-body-DBGu5INB.js} +1 -1
  417. package/dist/esm/{annotation-list-renvooi-values-CGxBKqb7.js → annotation-list-renvooi-values-DoTvSWOI.js} +1 -1
  418. package/dist/esm/{annotation-watcher-BO_h7wWk.js → annotation-watcher-Dm4MhmMp.js} +1 -1
  419. package/dist/esm/dso-accordion-section.entry.js +8 -7
  420. package/dist/esm/dso-accordion.entry.js +2 -276
  421. package/dist/esm/dso-action-list-item.entry.js +2 -2
  422. package/dist/esm/dso-action-list.entry.js +2 -2
  423. package/dist/esm/dso-advanced-select.entry.js +104 -227
  424. package/dist/esm/dso-alert_7.entry.js +68 -27
  425. package/dist/esm/dso-annotation-activiteit.entry.js +5 -5
  426. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js +4 -4
  427. package/dist/esm/dso-annotation-kaart.entry.js +3 -3
  428. package/dist/esm/dso-annotation-locatie_2.entry.js +6 -6
  429. package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js +5 -5
  430. package/dist/esm/dso-attachments-counter_2.entry.js +3 -3
  431. package/dist/esm/dso-autosuggest.entry.js +23 -14
  432. package/dist/esm/dso-banner.entry.js +2 -2
  433. package/dist/esm/dso-button-group.entry.js +2 -2
  434. package/dist/esm/dso-card-container.entry.js +1 -1
  435. package/dist/esm/dso-card.entry.js +2 -2
  436. package/dist/esm/dso-contact-information.entry.js +1 -1
  437. package/dist/esm/dso-cursor-tooltip.entry.js +1 -1
  438. package/dist/esm/dso-date-picker.entry.js +1 -1
  439. package/dist/esm/dso-document-card.entry.js +2 -2
  440. package/dist/esm/dso-dropdown-menu-group.entry.js +29 -0
  441. package/dist/esm/dso-dropdown-menu-item.entry.js +39 -0
  442. package/dist/esm/dso-dropdown-menu.entry.js +80 -101
  443. package/dist/esm/dso-header.entry.js +22 -5
  444. package/dist/esm/dso-highlight-box.entry.js +2 -2
  445. package/dist/esm/dso-history-item.entry.js +2 -2
  446. package/dist/esm/dso-icon-button.entry.js +95 -0
  447. package/dist/esm/{dso-icon_2.entry.js → dso-icon.entry.js} +3 -95
  448. package/dist/esm/dso-info_3.entry.js +7 -7
  449. package/dist/esm/dso-input-range.entry.js +3 -3
  450. package/dist/esm/dso-label_3.entry.js +7 -7
  451. package/dist/esm/dso-legend-group.entry.js +3 -3
  452. package/dist/esm/dso-legend-item.entry.js +3 -3
  453. package/dist/esm/dso-legend.entry.js +4 -4
  454. package/dist/esm/dso-list-button.entry.js +3 -3
  455. package/dist/esm/dso-logo.entry.js +2 -2
  456. package/dist/esm/dso-map-base-layers.entry.js +3 -3
  457. package/dist/esm/dso-map-controls.entry.js +4 -4
  458. package/dist/esm/dso-map-layer-object.entry.js +4 -4
  459. package/dist/esm/dso-map-layer.entry.js +4 -4
  460. package/dist/esm/dso-map-message.entry.js +3 -3
  461. package/dist/esm/dso-map-overlays.entry.js +3 -3
  462. package/dist/esm/dso-mark-bar.entry.js +2 -2
  463. package/dist/esm/dso-modal.entry.js +4 -4
  464. package/dist/esm/dso-onboarding-tip.entry.js +2 -2
  465. package/dist/esm/dso-pagination.entry.js +1 -1
  466. package/dist/esm/dso-plekinfo-card.entry.js +4 -4
  467. package/dist/esm/dso-progress-indicator.entry.js +3 -3
  468. package/dist/esm/dso-project-item.entry.js +3 -3
  469. package/dist/esm/dso-responsive-element.entry.js +19 -5
  470. package/dist/esm/dso-scrollable.entry.js +4 -4
  471. package/dist/esm/dso-segmented-button.entry.js +2 -2
  472. package/dist/esm/dso-skiplink.entry.js +2 -2
  473. package/dist/esm/dso-survey-rating.entry.js +4 -4
  474. package/dist/esm/dso-tab.entry.js +1 -1
  475. package/dist/esm/dso-tabs.entry.js +2 -2
  476. package/dist/esm/dso-tijdreis-banner.entry.js +2 -2
  477. package/dist/esm/dso-toolkit.js +4 -4
  478. package/dist/esm/dso-tooltip.entry.js +2 -2
  479. package/dist/esm/dso-tree-view.entry.js +3 -3
  480. package/dist/esm/dso-viewer-grid.entry.js +4 -4
  481. package/dist/esm/dsot-document-component-demo.entry.js +1 -1
  482. package/dist/esm/{i18n-DwBHVuoZ.js → i18n-CRgylkO_.js} +12 -4
  483. package/dist/esm/index-OTFpj3vR.js +278 -0
  484. package/dist/esm/{index-DrQGiJP8.js → index-pqfDfKeZ.js} +1 -1
  485. package/dist/{bundle/p-PsHl6ZhV.js → esm/index.esm-BZ0vuOVx.js} +1 -1
  486. package/dist/esm/loader.js +3 -3
  487. package/dist/esm/{parse-wijzigactie-from-node.function-BroGebB4.js → parse-wijzigactie-from-node.function-Cn1GXjSM.js} +1 -1
  488. package/dist/esm/{tooltip.functional-component-nHAIYF3o.js → tooltip.functional-component-CsWjK64w.js} +1 -1
  489. package/dist/esm/{wrap-wijzigactie.functional-component-BCT1o51-.js → wrap-wijzigactie.functional-component-DzSLSv0i.js} +1 -1
  490. package/dist/types/components/annotation/annotation-list-renvooi-values.d.ts +2 -2
  491. package/dist/types/components/autosuggest/autosuggest.d.ts +2 -0
  492. package/dist/types/components/dropdown-menu/dropdown-menu-group/dropdown-menu-group.d.ts +12 -0
  493. package/dist/types/components/dropdown-menu/dropdown-menu-item/dropdown-menu-item.d.ts +31 -0
  494. package/dist/types/components/dropdown-menu/dropdown-menu.d.ts +25 -20
  495. package/dist/types/components/dropdown-menu/dropdown-menu.interfaces.d.ts +10 -0
  496. package/dist/types/components/header/header.d.ts +3 -0
  497. package/dist/types/components/image-overlay/image-overlay.d.ts +3 -0
  498. package/dist/types/components/responsive-element/responsive-element.d.ts +3 -0
  499. package/dist/types/components/table/table.d.ts +3 -0
  500. package/dist/types/components.d.ts +99 -25
  501. package/dist/types/stencil-public-runtime.d.ts +1 -0
  502. package/package.json +13 -13
  503. package/dist/bundle/p-0h9cOnX9.js +0 -148
  504. package/dist/bundle/p-6-0kKG2F.js +0 -189
  505. package/dist/bundle/p-BnDZHxeO.js +0 -166
  506. package/dist/bundle/p-C2l5d-V9.js +0 -341
  507. package/dist/bundle/p-C332B2dN.js +0 -100
  508. package/dist/bundle/p-HXung-P3.js +0 -1209
  509. package/dist/bundle/p-z2uKmX1Q.js +0 -83
  510. package/dist/bundle/p-zYhsKlIm.js +0 -124
  511. package/dist/dso-toolkit/p-0146f231.entry.js +0 -1
  512. package/dist/dso-toolkit/p-040f3f53.entry.js +0 -1
  513. package/dist/dso-toolkit/p-0cc62094.entry.js +0 -1
  514. package/dist/dso-toolkit/p-1bb92456.entry.js +0 -7
  515. package/dist/dso-toolkit/p-1ea5fb0d.entry.js +0 -1
  516. package/dist/dso-toolkit/p-4a493df9.entry.js +0 -1
  517. package/dist/dso-toolkit/p-5a25d8d9.entry.js +0 -1
  518. package/dist/dso-toolkit/p-61fd983a.entry.js +0 -1
  519. package/dist/dso-toolkit/p-6c41b0a9.entry.js +0 -1
  520. package/dist/dso-toolkit/p-7f3898d7.entry.js +0 -1
  521. package/dist/dso-toolkit/p-869027bc.entry.js +0 -1
  522. package/dist/dso-toolkit/p-8b9194ca.entry.js +0 -1
  523. package/dist/dso-toolkit/p-9b0716d8.entry.js +0 -1
  524. package/dist/dso-toolkit/p-9ce75fcd.entry.js +0 -1
  525. package/dist/dso-toolkit/p-AZpKxz9p.js +0 -1
  526. package/dist/dso-toolkit/p-BKr5d3Gu.js +0 -1
  527. package/dist/dso-toolkit/p-Dev1bLxp.js +0 -1
  528. package/dist/dso-toolkit/p-DwBHVuoZ.js +0 -1
  529. package/dist/dso-toolkit/p-a286ac17.entry.js +0 -1
  530. package/dist/dso-toolkit/p-a8184705.entry.js +0 -1
  531. package/dist/dso-toolkit/p-ab33a108.entry.js +0 -1
  532. package/dist/dso-toolkit/p-b2d0319d.entry.js +0 -1
  533. package/dist/dso-toolkit/p-bf803e4f.entry.js +0 -1
  534. package/dist/dso-toolkit/p-c0111a70.entry.js +0 -1
  535. package/dist/dso-toolkit/p-d4539b83.entry.js +0 -1
  536. package/dist/dso-toolkit/p-db32a77a.entry.js +0 -1
  537. package/dist/dso-toolkit/p-go_iJ4_L.js +0 -1
  538. /package/dist/dso-toolkit/{p-DrQGiJP8.js → p-pqfDfKeZ.js} +0 -0
@@ -1,128 +1,106 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BOI4CviS.js');
3
+ var index = require('./index-fOjUpMJG.js');
4
4
  var floatingUi_dom = require('./floating-ui.dom-ClybLJQM.js');
5
- var index_esm = require('./index.esm-C3mvhVxy.js');
6
- var getActiveElement = require('./get-active-element-DutTk1go.js');
5
+ var index$1 = require('./index-D8SsuyUx.js');
7
6
  var v4 = require('./v4-_2BfiRUa.js');
8
7
 
9
- const dropdownMenuCss = () => `:host(:focus){outline:none}:host{display:inline-block}div[popover]{margin:0 !important;border:0;padding:0;background-color:transparent;overflow:unset;inline-size:max-content}`;
8
+ const dropdownMenuCss = () => `:host(:focus) { outline: none; } :host { display: inline-block; } 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; } button.dso-primary { display: inline-block; font-size: 1em; font-weight: 500; margin-block-end: 0; text-decoration: none; touch-action: manipulation; text-align: var(--_dso-button-text-align, start); user-select: none; vertical-align: middle; background-clip: padding-box; } button.dso-primary:focus, button.dso-primary:focus-visible { outline-offset: 2px; } button.dso-primary:active { outline: 0; } button.dso-primary.extern::after, button.dso-primary.download::after { content: ""; display: inline-block; } button.dso-primary { background-color: var(--_dso-button-primary-background-color, #39870c); border-color: var(--_dso-button-primary-border-color, #39870c); color: var(--_dso-button-primary-color, #fff); float: var(--_dso-button-float-primary, none); border-width: 1px; border-style: solid; border-radius: 4px; line-height: 1.5; min-inline-size: 56px; inline-size: var(--_dso-button-inline-size, auto); padding-block: 11px; padding-inline: 15px; } button.dso-primary:hover { background-color: var(--_dso-button-primary-hover-background-color, #275937); border-color: var(--_dso-button-primary-hover-border-color, #275937); color: var(--_dso-button-primary-hover-color, #fff); float: var(--_dso-button-float-primary, none); } button.dso-primary:active { background-color: var(--_dso-button-primary-active-background-color, #173521); border-color: var(--_dso-button-primary-active-border-color, #173521); color: var(--_dso-button-primary-active-color, #fff); float: var(--_dso-button-float-primary, none); } button.dso-primary[disabled], button.dso-primary[disabled]:hover { background-color: var(--_dso-button-primary-disabled-background-color, #afcf9d); border-color: var(--_dso-button-primary-disabled-border-color, #afcf9d); color: var(--_dso-button-primary-disabled-color, #fff); float: var(--_dso-button-float-primary, none); } button.dso-primary.dso-small { line-height: 1rem; } button.dso-primary.dso-small dso-icon, button.dso-primary.dso-small.extern::after, button.dso-primary.dso-small.download::after, button.dso-primary.dso-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } button.dso-primary.dso-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } button.dso-primary.dso-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } button.dso-primary.dso-extra-small { line-height: 1rem; } button.dso-primary.dso-extra-small dso-icon, button.dso-primary.dso-extra-small.extern::after, button.dso-primary.dso-extra-small.download::after, button.dso-primary.dso-extra-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } button.dso-primary.dso-extra-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } button.dso-primary.dso-extra-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } button.dso-primary.dso-extra-small { padding-block: 9px; } button.dso-primary dso-icon:has(+ span:not(.sr-only)) { margin-inline-start: -8px; } button.dso-primary span:not(.sr-only) + dso-icon { margin-inline-start: 8px; margin-inline-end: -8px; } button.dso-primary dso-icon + span:not(.sr-only) { margin-inline-start: 8px; } button.dso-primary.dso-spinner-left[disabled], button.dso-primary.dso-spinner-right[disabled] { background-color: #39870c; border-color: #39870c; color: #fff; } button.dso-primary.dso-spinner-left::before { background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' 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: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E"); background-repeat: no-repeat; content: ""; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-end: 8px; } button.dso-primary.dso-spinner-right::after { background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' 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: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E"); background-repeat: no-repeat; content: ""; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-start: 8px; } button.dso-secondary { display: inline-block; font-size: 1em; font-weight: 500; margin-block-end: 0; text-decoration: none; touch-action: manipulation; text-align: var(--_dso-button-text-align, start); user-select: none; vertical-align: middle; background-clip: padding-box; } button.dso-secondary:focus, button.dso-secondary:focus-visible { outline-offset: 2px; } button.dso-secondary:active { outline: 0; } button.dso-secondary.extern::after, button.dso-secondary.download::after { content: ""; display: inline-block; } button.dso-secondary { background-color: var(--_dso-button-secondary-background-color, #fff); border-color: var(--_dso-button-secondary-border-color, #39870c); color: var(--_dso-button-secondary-color, #39870c); float: var(--_dso-button-float-secondary, none); border-width: 1px; border-style: solid; border-radius: 4px; line-height: 1.5; min-inline-size: 56px; inline-size: var(--_dso-button-inline-size, auto); padding-block: 11px; padding-inline: 15px; } button.dso-secondary:hover { background-color: var(--_dso-button-secondary-hover-background-color, #d7e7ce); border-color: var(--_dso-button-secondary-hover-border-color, #275937); color: var(--_dso-button-secondary-hover-color, #275937); float: var(--_dso-button-float-secondary, none); } button.dso-secondary:active { background-color: var(--_dso-button-secondary-active-background-color, #275937); border-color: var(--_dso-button-secondary-active-border-color, #275937); color: var(--_dso-button-secondary-active-color, #fff); float: var(--_dso-button-float-secondary, none); } button.dso-secondary[disabled], button.dso-secondary[disabled]:hover { background-color: var(--_dso-button-secondary-disabled-background-color, #fff); border-color: var(--_dso-button-secondary-disabled-border-color, #afcf9d); color: var(--_dso-button-secondary-disabled-color, #afcf9d); float: var(--_dso-button-float-secondary, none); } button.dso-secondary.dso-small { line-height: 1rem; } button.dso-secondary.dso-small dso-icon, button.dso-secondary.dso-small.extern::after, button.dso-secondary.dso-small.download::after, button.dso-secondary.dso-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } button.dso-secondary.dso-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } button.dso-secondary.dso-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } button.dso-secondary.dso-extra-small { line-height: 1rem; } button.dso-secondary.dso-extra-small dso-icon, button.dso-secondary.dso-extra-small.extern::after, button.dso-secondary.dso-extra-small.download::after, button.dso-secondary.dso-extra-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } button.dso-secondary.dso-extra-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } button.dso-secondary.dso-extra-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } button.dso-secondary.dso-extra-small { padding-block: 9px; } button.dso-secondary dso-icon:has(+ span:not(.sr-only)) { margin-inline-start: -8px; } button.dso-secondary span:not(.sr-only) + dso-icon { margin-inline-start: 8px; margin-inline-end: -8px; } button.dso-secondary dso-icon + span:not(.sr-only) { margin-inline-start: 8px; } button.dso-secondary.dso-spinner-left[disabled], button.dso-secondary.dso-spinner-right[disabled] { background-color: #fff; border-color: #39870c; color: #39870c; } button.dso-secondary.dso-spinner-left::before { background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' 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: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E"); background-repeat: no-repeat; content: ""; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-end: 8px; } button.dso-secondary.dso-spinner-left:not([disabled]):hover::before { background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' 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: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E"); background-repeat: no-repeat; content: ""; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-end: 8px; } button.dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before { block-size: 16px; inline-size: 16px; } button.dso-secondary.dso-spinner-right::after { background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' 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: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E"); background-repeat: no-repeat; content: ""; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-start: 8px; } button.dso-secondary.dso-spinner-right:not([disabled]):hover::after { background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' 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: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E"); background-repeat: no-repeat; content: ""; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-start: 8px; } button.dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after { block-size: 16px; inline-size: 16px; } button.dso-tertiary { display: inline-block; font-size: 1em; font-weight: 500; margin-block-end: 0; text-decoration: none; touch-action: manipulation; text-align: var(--_dso-button-text-align, start); user-select: none; vertical-align: middle; background-clip: padding-box; } button.dso-tertiary:focus, button.dso-tertiary:focus-visible { outline-offset: 2px; } button.dso-tertiary:active { outline: 0; } button.dso-tertiary.extern::after, button.dso-tertiary.download::after { content: ""; display: inline-block; } button.dso-tertiary { display: inline-block; font-size: 1em; font-weight: 500; margin-block-end: 0; text-decoration: none; touch-action: manipulation; text-align: var(--_dso-button-text-align, start); user-select: none; vertical-align: middle; background-clip: padding-box; } button.dso-tertiary:focus, button.dso-tertiary:focus-visible { outline-offset: 2px; } button.dso-tertiary:active { outline: 0; } button.dso-tertiary.extern::after, button.dso-tertiary.download::after { content: ""; display: inline-block; } button.dso-tertiary { background-color: var(--_dso-button-tertiary-background-color, ); border-color: var(--_dso-button-tertiary-border-color, ); color: var(--_dso-button-tertiary-color, #39870c); float: var(--_dso-button-float-tertiary, none); border-width: 1px; border-style: solid; border-radius: 4px; line-height: 1.5; min-inline-size: auto; inline-size: var(--_dso-button-inline-size, auto); padding-block: 11px; padding-inline: 15px; } button.dso-tertiary:hover { background-color: var(--_dso-button-tertiary-hover-background-color, ); border-color: var(--_dso-button-tertiary-hover-border-color, ); color: var(--_dso-button-tertiary-hover-color, #275937); float: var(--_dso-button-float-tertiary, none); } button.dso-tertiary:active { background-color: var(--_dso-button-tertiary-active-background-color, ); border-color: var(--_dso-button-tertiary-active-border-color, ); color: var(--_dso-button-tertiary-active-color, #173521); float: var(--_dso-button-float-tertiary, none); } button.dso-tertiary[disabled], button.dso-tertiary[disabled]:hover { background-color: var(--_dso-button-tertiary-disabled-background-color, ); border-color: var(--_dso-button-tertiary-disabled-border-color, ); color: var(--_dso-button-tertiary-disabled-color, #afcf9d); float: var(--_dso-button-float-tertiary, none); } button.dso-tertiary.dso-small { line-height: 1rem; } button.dso-tertiary.dso-small dso-icon, button.dso-tertiary.dso-small.extern::after, button.dso-tertiary.dso-small.download::after, button.dso-tertiary.dso-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } button.dso-tertiary.dso-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } button.dso-tertiary.dso-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } button.dso-tertiary.dso-extra-small { line-height: 1rem; } button.dso-tertiary.dso-extra-small dso-icon, button.dso-tertiary.dso-extra-small.extern::after, button.dso-tertiary.dso-extra-small.download::after, button.dso-tertiary.dso-extra-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } button.dso-tertiary.dso-extra-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } button.dso-tertiary.dso-extra-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } button.dso-tertiary.dso-extra-small { padding-block: 9px; } button.dso-tertiary { border: 0; line-height: 1; padding-inline: 0; padding-block: var(--_dso-button-padding-block-tertiary, 0); background-color: transparent; } button.dso-tertiary[disabled].dso-spinner-left, button.dso-tertiary[disabled].dso-spinner-right { color: #39870c; } button.dso-tertiary:not([disabled]):hover { text-decoration: underline; text-underline-position: under; } button.dso-tertiary.dso-align { line-height: calc(1.5em - 1px); padding-block: 11px; padding-inline: 0; position: relative; } button.dso-tertiary.dso-truncate { max-inline-size: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } button.dso-tertiary.dso-spinner-left::before { background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' 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: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E"); background-repeat: no-repeat; content: ""; display: inline-block; block-size: 24px; vertical-align: middle; inline-size: 24px; margin-inline-end: 8px; } button.dso-tertiary.dso-spinner-right::after { background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' 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: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E"); background-repeat: no-repeat; content: ""; display: inline-block; block-size: 24px; vertical-align: middle; inline-size: 24px; margin-inline-start: 8px; } button.dso-tertiary dso-icon + span:not(.sr-only), button.dso-tertiary span:not(.sr-only) + dso-icon { margin-inline-start: 8px; } button.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only), button.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only), button.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left], button.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right] { margin-inline-start: 0; } button.dso-tertiary dso-icon, button.dso-tertiary span { vertical-align: middle; } button dso-icon { margin-inline-start: 8px; } button:not(.dso-tertiary) dso-icon { margin-inline-end: 0; } .dso-dropdown-options { margin: 0 !important; overflow: unset; background-clip: padding-box; background-color: #fff; border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.15); box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.4); font-size: 1rem; min-inline-size: 160px; inline-size: max-content; padding-block: 5px; padding-inline: 0; z-index: 220; } ::slotted(dso-dropdown-menu-group:not(:last-child)) { border-block-end: 1px solid #e5e5e5; margin-block-end: 11px; padding-block-end: 11px; }`;
10
9
 
11
10
  const DropdownMenu = class {
12
11
  constructor(hostRef) {
13
12
  index.registerInstance(this, hostRef);
14
13
  /**
15
- * Whether the menu is open or closed.
16
- * This attribute is reflected and mutable.
14
+ * The variant of the Button to toggle the menu
17
15
  */
16
+ this.variant = "secondary";
18
17
  this.open = false;
19
- /**
20
- * Alignment of the dropdown
21
- */
22
- this.dropdownAlign = "left";
23
- /**
24
- * Space between button and dropdown options
25
- */
26
- this.dropdownOptionsOffset = 2;
27
- /**
28
- * Whether the menu is checkable.
29
- */
30
- this.checkable = false;
31
18
  this.focusOutListener = (event) => {
32
- if (this.open &&
33
- (!(event.relatedTarget instanceof HTMLElement) || !this.tabbables(true).includes(event.relatedTarget))) {
19
+ if (this.open && !(event.relatedTarget instanceof HTMLElement)) {
34
20
  this.toggleOptions(false);
35
21
  }
36
22
  };
37
- this.keyDownListener = (event) => {
23
+ this.keyDownHandler = (event) => {
24
+ if (!(event.target instanceof HTMLElement)) {
25
+ return;
26
+ }
38
27
  if (event.defaultPrevented || !this.open) {
39
28
  return;
40
29
  }
41
30
  switch (event.key) {
42
31
  case "Tab":
43
32
  if (event.shiftKey) {
44
- this.tabInPopup(this.tabbables(true), -1);
33
+ this.moveFocusToPrevious(event.target);
45
34
  }
46
35
  else {
47
- this.tabInPopup(this.tabbables(true), 1);
36
+ this.moveFocusToNext(event.target);
48
37
  }
49
38
  break;
50
39
  case "ArrowDown":
51
- this.tabInPopup(this.tabbables(false), 1);
40
+ this.moveFocusToNext(event.target, false);
52
41
  break;
53
42
  case "ArrowUp":
54
- this.tabInPopup(this.tabbables(false), -1);
43
+ this.moveFocusToPrevious(event.target, false);
55
44
  break;
56
45
  case "Escape":
57
46
  this.escape();
58
47
  break;
59
- case " ":
60
- if (event.target instanceof HTMLElement) {
61
- event.target.click();
62
- }
63
- break;
64
48
  default:
65
49
  return;
66
50
  }
67
51
  event.preventDefault();
68
52
  };
69
53
  this.escape = () => {
70
- this.button.focus();
54
+ this.button?.focus();
71
55
  this.toggleOptions(false);
72
56
  };
57
+ const { state } = index$1.createStore({
58
+ checkable: false,
59
+ });
60
+ this.dropdownMenuState = state;
73
61
  }
74
- get button() {
75
- const button = this.host.querySelector('button[slot="toggle"]');
76
- if (!(button instanceof HTMLButtonElement)) {
77
- throw new ReferenceError("Mandatory toggle button not found");
78
- }
79
- return button;
62
+ /**
63
+ * Whether the menu items are checkable.
64
+ */
65
+ get checkable() {
66
+ return this.dropdownMenuState.checkable;
80
67
  }
81
- tabbables(withButton) {
82
- const tabbables = this.host.isConnected ? index_esm.tabbable(this.host) : [];
83
- return withButton ? tabbables : tabbables.filter((element) => element !== this.button);
68
+ set checkable(value) {
69
+ this.dropdownMenuState.checkable = value || false;
70
+ index.forceUpdate(this.host);
84
71
  }
85
- componentDidLoad() {
86
- this.button.setAttribute("aria-haspopup", "menu");
87
- this.button.setAttribute("aria-expanded", "false");
88
- if (!this.button.id) {
89
- this.button.id = v4.v4();
90
- }
91
- const dropdownOptionsElement = this.host.querySelector(".dso-dropdown-options");
92
- if (!(dropdownOptionsElement instanceof HTMLElement)) {
93
- throw new Error("dropdown options element is not instanceof HTMLElement");
94
- }
95
- dropdownOptionsElement.setAttribute("role", "menu");
96
- dropdownOptionsElement.setAttribute("aria-labelledby", this.button.id);
97
- for (const ul of Array.from(this.host.getElementsByTagName("ul"))) {
98
- ul.setAttribute("role", "group");
99
- for (const li of Array.from(ul.getElementsByTagName("li"))) {
100
- li.setAttribute("role", "none");
101
- }
72
+ dsoClickHandler(event) {
73
+ event.stopPropagation();
74
+ if (this.open && event.target instanceof HTMLElement) {
75
+ this.toggleOptions(false);
102
76
  }
103
77
  }
78
+ /**
79
+ * @internal
80
+ */
81
+ async _getState() {
82
+ return this.dropdownMenuState;
83
+ }
84
+ dropdownMenuTabbables(withButton) {
85
+ const menuItems = this.host.isConnected
86
+ ? Array.from(this.host.querySelectorAll(":scope > dso-dropdown-menu-group > dso-dropdown-menu-item"))
87
+ : [];
88
+ return withButton ? [this.host, ...menuItems] : menuItems;
89
+ }
104
90
  componentDidRender() {
105
- for (const li of Array.from(this.host.getElementsByTagName("li"))) {
106
- for (const tab of this.host.isConnected ? index_esm.tabbable(li) : []) {
107
- tab.setAttribute("role", this.checkable ? "menuitemradio" : "menuitem");
108
- if (this.checkable) {
109
- tab.setAttribute("aria-checked", li.classList.contains("dso-checked").toString());
110
- }
111
- }
112
- }
113
- this.button.setAttribute("aria-expanded", this.open ? "true" : "false");
114
- if (this.popoverElement && !this.cleanUp) {
91
+ if (this.button && this.popoverElement && !this.cleanUp) {
115
92
  const element = this.popoverElement;
116
- this.cleanUp = floatingUi_dom.autoUpdate(this.button, element, () => {
117
- floatingUi_dom.computePosition(this.button, element, {
93
+ const referenceElement = this.button;
94
+ this.cleanUp = floatingUi_dom.autoUpdate(referenceElement, element, () => {
95
+ floatingUi_dom.computePosition(referenceElement, element, {
118
96
  strategy: "fixed",
119
97
  middleware: [
120
- floatingUi_dom.offset(this.dropdownOptionsOffset),
98
+ floatingUi_dom.offset(2),
121
99
  floatingUi_dom.flip({
122
- padding: this.dropdownOptionsOffset,
100
+ padding: 2,
123
101
  }),
124
102
  ],
125
- placement: this.dropdownAlign === "right" ? "bottom-end" : "bottom-start",
103
+ placement: "bottom-start",
126
104
  }).then(({ x, y }) => {
127
105
  Object.assign(element.style, {
128
106
  left: `${x}px`,
@@ -132,51 +110,52 @@ const DropdownMenu = class {
132
110
  });
133
111
  }
134
112
  }
135
- onClick(event) {
136
- const composedPath = event.composedPath();
137
- if (this.isToggleButtonEvent(composedPath)) {
138
- this.toggleOptions();
139
- }
140
- else if (this.open && this.isMenuItemEvent(composedPath)) {
141
- this.toggleOptions(false);
142
- }
143
- }
144
- isToggleButtonEvent(composedPath) {
145
- return composedPath.includes(this.button);
146
- }
147
- isMenuItemEvent(composedPath) {
148
- return composedPath.includes(this.host) && !this.isToggleButtonEvent(composedPath);
149
- }
150
113
  toggleOptions(force) {
151
114
  this.open = force ?? !this.open;
152
115
  if (this.popoverElement?.isConnected) {
153
- this.popoverElement?.togglePopover(this.open);
116
+ this.popoverElement.togglePopover(this.open);
154
117
  }
155
118
  if (!this.open && this.cleanUp) {
156
119
  this.cleanUp();
157
120
  this.cleanUp = undefined;
158
121
  }
159
122
  }
160
- connectedCallback() {
161
- this.host.addEventListener("keydown", this.keyDownListener);
162
- }
163
123
  disconnectedCallback() {
164
- this.host.removeEventListener("keydown", this.keyDownListener);
165
124
  this.toggleOptions(false);
166
125
  }
167
- tabInPopup(tabbables, direction) {
168
- const currentIndex = tabbables.findIndex((e) => e === getActiveElement.getActiveElement());
169
- let nextIndex = currentIndex + direction;
170
- if (nextIndex >= tabbables.length) {
171
- nextIndex = 0;
126
+ get lastItem() {
127
+ return this.dropdownMenuTabbables(true).at(-1);
128
+ }
129
+ firstItem(withButton) {
130
+ return this.dropdownMenuTabbables(withButton)[0];
131
+ }
132
+ moveFocusToPrevious(focussedElement, withButton = true) {
133
+ const tabbables = this.dropdownMenuTabbables(withButton);
134
+ const index = tabbables.findIndex((element) => element === focussedElement);
135
+ const next = this.dropdownMenuTabbables(withButton)[index - 1] ?? this.lastItem;
136
+ this.moveFocusTo(next);
137
+ }
138
+ moveFocusToNext(focussedElement, withButton = true) {
139
+ const tabbables = this.dropdownMenuTabbables(withButton);
140
+ const index = tabbables.findIndex((element) => element === focussedElement);
141
+ const next = this.dropdownMenuTabbables(withButton)[index + 1] ?? this.firstItem(withButton);
142
+ this.moveFocusTo(next);
143
+ }
144
+ moveFocusTo(element) {
145
+ if (!element) {
146
+ return;
147
+ }
148
+ if (element === this.host && this.button) {
149
+ this.button.focus();
150
+ return;
172
151
  }
173
- else if (nextIndex < 0) {
174
- nextIndex = tabbables.length - 1;
152
+ if ("_dsoFocus" in element) {
153
+ element._dsoFocus();
175
154
  }
176
- tabbables[nextIndex]?.focus();
177
155
  }
178
156
  render() {
179
- return (index.h(index.Host, { key: '2b1a77a0d5ec49784f038af3540c6369d4c2cc2c', onFocusout: this.focusOutListener }, index.h("slot", { key: '32d8b7f6e23a5b11b5ab3bdeb78575fc6855322f', name: "toggle" }), index.h("div", { key: '262486ced58fb98375ccf8abc38959144fc9296d', popover: "manual", ref: (element) => (this.popoverElement = element) }, index.h("slot", { key: '2c76def3904869f1a6227430f6718d85eb9cfc30' }))));
157
+ const buttonId = v4.v4();
158
+ return (index.h(index.Host, { key: '73eb6230081dd28bb473514f6b0aa26171c975d1', onFocusout: this.focusOutListener, onKeyDown: this.keyDownHandler }, this.label && (index.h("button", { key: '2723bd3be70034df5380907ae417c53cd6485da1', id: buttonId, class: `dso-${this.variant}`, type: "button", onClick: () => this.toggleOptions(), "aria-expanded": this.open.toString(), "aria-haspopup": "menu", ref: (element) => (this.button = element) }, this.label, index.h("dso-icon", { key: '0ee3b32c6e5b630ed0f2b073ef8032be71643a41', icon: this.open ? "chevron-up" : "chevron-down" }))), index.h("div", { key: '7ba3817d9bb1e1af868f59d3e9c1401ba5653544', popover: "manual", class: "dso-dropdown-options", "aria-labelledby": buttonId, role: "menu", ref: (element) => (this.popoverElement = element) }, index.h("slot", { key: 'af7124507118b89d0915992daa24c66952364d15' }))));
180
159
  }
181
160
  get host() { return index.getElement(this); }
182
161
  };
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BOI4CviS.js');
3
+ var index = require('./index-fOjUpMJG.js');
4
4
  var floatingUi_dom = require('./floating-ui.dom-ClybLJQM.js');
5
5
  var clsx = require('./clsx-BtxeOLZW.js');
6
6
  var index_esm = require('./index.esm-C3mvhVxy.js');
7
7
  var getActiveElement = require('./get-active-element-DutTk1go.js');
8
- var i18n = require('./i18n-5XH7oHkT.js');
8
+ var i18n = require('./i18n-DxQ6ZWA0.js');
9
9
  var isModifiedEvent = require('./is-modified-event-Dh9YsHw8.js');
10
10
  var v4 = require('./v4-_2BfiRUa.js');
11
11
 
@@ -117,11 +117,24 @@ const Header = class {
117
117
  };
118
118
  this.menuItemElementRefs = [];
119
119
  this.text = i18n.i18n(() => this.host, translations);
120
- this.resizeObserver = new ResizeObserver(() => {
120
+ this.flushResize = () => {
121
+ this.resizeFrameId = undefined;
122
+ if (!this.host.isConnected) {
123
+ return;
124
+ }
121
125
  this.resetVisibleMenuItems();
122
126
  this.toggleOptions(false);
123
127
  this.dropdownOptionsOffset = 0;
124
128
  index.forceUpdate(this.host);
129
+ };
130
+ this.scheduleResize = () => {
131
+ if (this.resizeFrameId !== undefined) {
132
+ return;
133
+ }
134
+ this.resizeFrameId = requestAnimationFrame(this.flushResize);
135
+ };
136
+ this.resizeObserver = new ResizeObserver(() => {
137
+ this.scheduleResize();
125
138
  });
126
139
  this.focusOutListener = (event) => {
127
140
  if (this.open &&
@@ -201,6 +214,10 @@ const Header = class {
201
214
  }
202
215
  disconnectedCallback() {
203
216
  this.resizeObserver.disconnect();
217
+ if (this.resizeFrameId !== undefined) {
218
+ cancelAnimationFrame(this.resizeFrameId);
219
+ this.resizeFrameId = undefined;
220
+ }
204
221
  this.toggleOptions(false);
205
222
  }
206
223
  componentDidRender() {
@@ -237,7 +254,7 @@ const Header = class {
237
254
  }
238
255
  }
239
256
  render() {
240
- return (index.h(index.Host, { key: '049a7cd2e6c5beccbe9a1b23bcd505ce2cfbc1e4', "is-compact": this.isCompact }, index.h("div", { key: '69626521734262e4cb40369667b084bee23cec42', class: "dso-header" }, index.h("div", { key: '7e0106defaff8c5f6c0c8942c987d3416acb39bc', class: "logo-container" }, index.h("slot", { key: '7355a1f157c81f785bb101f7c5490aa6ae0330c4', name: "logo" })), this.isCompact ? this.renderCompact() : this.renderNormal())));
257
+ return (index.h(index.Host, { key: '7616366268bd638278a5c8de35edad2caf574b41', "is-compact": this.isCompact }, index.h("div", { key: '94d457313e7fae53ce4d680c1f046f04c6bf4eb5', class: "dso-header" }, index.h("div", { key: '5f28b536b1cf02cae5a8f49ff9a0013c4ac44734', class: "logo-container" }, index.h("slot", { key: 'c806a6d6443faab890b185b7f78b561f0b5bc133', name: "logo" })), this.isCompact ? this.renderCompact() : this.renderNormal())));
241
258
  }
242
259
  tabbables(withButton) {
243
260
  const tabbables = this.dropdownElement ? index_esm.tabbable(this.dropdownElement) : [];
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BOI4CviS.js');
3
+ var index = require('./index-fOjUpMJG.js');
4
4
 
5
5
  const highlightBoxCss = () => `*,*::after,*::before{box-sizing:border-box}.dso-step-counter{background-color:#275937;border:8px solid #79b929;border-radius:50%;box-sizing:content-box;inset-inline-start:16px;position:absolute;inset-block-start:-1.5rem;block-size:2rem;inline-size:2rem;color:#fff;font-size:1.25rem;font-weight:500;line-height:2rem;text-align:center}:host{margin-block-start:16px;padding:16px;margin-block-end:24px;block-size:var(--highlight-box-block-size, unset);min-block-size:var(--highlight-box-min-block-size, unset)}:host[has-counter]{block-size:var(--highlight-box-counter-block-size, unset)}:host:not([has-counter]){block-size:var(--highlight-box-nocounter-block-size, unset)}:host{display:block;container-type:inline-size;position:relative;z-index:1}`;
6
6
 
@@ -10,7 +10,7 @@ const HighlightBox = class {
10
10
  }
11
11
  render() {
12
12
  const hasCounter = this.step || !!this.element.querySelector("[slot=icon]");
13
- return (index.h(index.Host, { key: '11fabaa968d990291c856c89f08c7d9cf73c47e8', "has-counter": hasCounter }, hasCounter && index.h("div", { key: 'f5bdf7d62ebf65996f6cf8c151ef4a4bab65654d', class: "dso-step-counter" }, this.step ?? index.h("slot", { key: '7a5a4f56968c88710cdb095bb9f2768efb9972f3', name: "icon" })), index.h("slot", { key: 'a2f640620379148fb881f993e17cf42d9e02bb4c' })));
13
+ return (index.h(index.Host, { key: '1e902cf67675123014ad9e2c1bfcc35284c2828b', "has-counter": hasCounter }, hasCounter && index.h("div", { key: '59a5633cf405c58276188f21f0627a00ad3d6a11', class: "dso-step-counter" }, this.step ?? index.h("slot", { key: 'edb70c650e0c9a63421b4c88b8f8ed3c79011d5c', name: "icon" })), index.h("slot", { key: '255d6709a5a8eb50e8a7aec26671505cbddab89a' })));
14
14
  }
15
15
  get element() { return index.getElement(this); }
16
16
  };
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BOI4CviS.js');
3
+ var index = require('./index-fOjUpMJG.js');
4
4
  var isModifiedEvent = require('./is-modified-event-Dh9YsHw8.js');
5
5
 
6
6
  const historyItemCss = () => `:host{display:block}*,*::after,*::before{box-sizing:border-box}.history-item{border-block-end:1px solid #e5e5e5;display:flex;gap:8px;inline-size:100%;padding-block:16px;padding-inline:8px}:host(:not([type=waarschuwing])) .history-item:has(.history-item-title a:is(:hover,:focus-visible)){background-color:#f2f2f2}:host([current]:not([type=waarschuwing])) .history-item{background-color:#e5e5e5}:host([type=tijdelijk-regelingdeel]) .history-item-status-message{color:#8b4a6a}:host([type=tijdelijk-regelingdeel-besluit]) .history-item-status-message{color:#8b4a6a}:host([type=waarschuwing]) .history-item-status-message{color:#b62f41}.history-item-date,.history-item-content{display:flex;flex-direction:column}.history-item-date{flex:0 0 90px}.history-item-status-message,.history-item-warning{display:flex}.history-item-status-message dso-icon,.history-item-warning dso-icon{flex-shrink:0;margin-inline-end:8px}.history-item-warning{color:#b62f41}.history-item-title,.history-item-explanation,.history-item-warning{margin-block-start:8px;margin-inline-start:32px}.history-item-title{white-space:nowrap}.history-item-title .title-anchor{color:#275937;font-weight:600;text-decoration:none}.history-item-title .title-anchor:hover{text-decoration:underline}.history-item-title .title-anchor:visited{color:#275937}.history-item-title .history-item-title-content{white-space:normal}.history-item-title dso-icon{margin-inline-start:4px}`;
@@ -42,7 +42,7 @@ const HistoryItem = class {
42
42
  return this.host.querySelector("[slot='warning']");
43
43
  }
44
44
  render() {
45
- return (index.h("div", { key: '46b086a93f12ddfa53c1fbabd36a96c7b2905bf9', class: "history-item" }, index.h("div", { key: 'e6e36dbbeea19b949f39e08d1447e159f3e9dec3', class: "history-item-date" }, index.h("slot", { key: '2abff00e5b46822d29f0ba132ec7bc611a743a77', name: "date" })), index.h("div", { key: '29015f198acaefe304926b6190cef2360468b171', class: "history-item-content" }, index.h("div", { key: '979f988d463139993a2ce50fe6c7aa5f67376055', class: "history-item-status-message" }, index.h("dso-icon", { key: '54fed97c8f7cda66a062a45135b4de5f8ae2e99d', icon: this.typeIcons[this.type], "aria-hidden": "true" }), index.h("slot", { key: 'a4e0f448ef5e2b8814894ec7ec363a9d1ca49054', name: "status" })), this.titleSlottedElement !== null && this.href && (index.h("div", { key: 'c7552d220c1c6975eddee04a05ef47fc901ed101', class: "history-item-title" }, index.h("a", { key: 'afb73216739f1e773e8af90ebd0fb3f9883389a1', href: this.href, class: "title-anchor", onClick: (e) => this.clickEventHandler(e), "aria-current": this.current ? "true" : undefined }, index.h("span", { key: 'b7ef7db153f9ab537f57c42ebe0b8cfeb05290c8', class: "history-item-title-content" }, index.h("slot", { key: '8102f8a64cea0c4a91403db71fe4238b8ab45657', name: "title" })), "\u2060", index.h("dso-icon", { key: '0db7fec66135bb97e504d69ec496dbe07f649080', icon: "chevron-right", "aria-hidden": "true" })))), this.explanationSlottedElement !== null && (index.h("div", { key: '04668c9a02458071fa95ef7ab07ab684c59209e2', class: "history-item-explanation" }, index.h("slot", { key: 'c8dce4885752b53bd86569793b0d479e136e020c', name: "explanation" }))), this.warningSlottedElement !== null && (index.h("div", { key: '4e70edd351fa28d880395da0d39635b80b89e5c6', class: "history-item-warning" }, index.h("dso-icon", { key: 'd57c337527ab3e37388f1ddcb27f127267dcd59c', icon: "status-warning-red-solid", role: "img", "aria-label": "Waarschuwing" }), index.h("slot", { key: '306f3b2e834b1f707f0422f7a928758787955189', name: "warning" }))))));
45
+ return (index.h("div", { key: '286c3a153bcfe21c6a1061ec684f034dce5b5dd0', class: "history-item" }, index.h("div", { key: '06e056e57255b7fbaa76e953851f9b7866daa11c', class: "history-item-date" }, index.h("slot", { key: '8e78082b36fb909bc733ca04edc75c00e811052d', name: "date" })), index.h("div", { key: '17e209c98bbf9af6882973d3fb7ff96b7728ccda', class: "history-item-content" }, index.h("div", { key: 'bd575db077061c0d47f52d3ef20a0bc9f105dc19', class: "history-item-status-message" }, index.h("dso-icon", { key: '35d6e6822cd74dd891820cf9cd105c06d258fc86', icon: this.typeIcons[this.type], "aria-hidden": "true" }), index.h("slot", { key: '569d3fb874ec165b98a2c9adeb3cb486e37e04fc', name: "status" })), this.titleSlottedElement !== null && this.href && (index.h("div", { key: 'ed60f29a6b6210938c330fdd96eddc11304f124e', class: "history-item-title" }, index.h("a", { key: 'beeacf730a1b5f2982904a5a8d33fd77d895b516', href: this.href, class: "title-anchor", onClick: (e) => this.clickEventHandler(e), "aria-current": this.current ? "true" : undefined }, index.h("span", { key: 'e91ff8f57b28c5ac65551a7de78062a280c3db11', class: "history-item-title-content" }, index.h("slot", { key: '683603e86b5e949f2ec8fa97a30644264733768b', name: "title" })), "\u2060", index.h("dso-icon", { key: '9646a46c7637c2c31aad5966cf26b44bf5a5ddd2', icon: "chevron-right", "aria-hidden": "true" })))), this.explanationSlottedElement !== null && (index.h("div", { key: '94c3a4affe2dbff1db032ea96b9eb6cc400c25d3', class: "history-item-explanation" }, index.h("slot", { key: 'b2f1927d4429e9a051bc8bd2b107ba8d8a8fbd14', name: "explanation" }))), this.warningSlottedElement !== null && (index.h("div", { key: '0578320d731fc2b982ced2f19b577878ba73d0c0', class: "history-item-warning" }, index.h("dso-icon", { key: '2e6589b370b700117c4761a81be83b46db4bcdef', icon: "status-warning-red-solid", role: "img", "aria-label": "Waarschuwing" }), index.h("slot", { key: '739c49fd64725c068f781ca6369465d0c67479ce', name: "warning" }))))));
46
46
  }
47
47
  get host() { return index.getElement(this); }
48
48
  };
@@ -0,0 +1,97 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-fOjUpMJG.js');
4
+ var positionTooltip_function = require('./position-tooltip.function-BjWi5ZKZ.js');
5
+ var tooltip_functionalComponent = require('./tooltip.functional-component-D6oJmzwD.js');
6
+ require('./floating-ui.dom-ClybLJQM.js');
7
+
8
+ const iconButtonCss = () => `.dso-tooltip { --_dso-alert-success-border-color: #39870c; --_dso-alert-error-border-color: #ce3f51; --_dso-alert-info-border-color: #6ca4d9; --_dso-alert-warning-border-color: #dcd400; --link-color: currentColor; --link-hover-color: currentColor; --link-visited-color: currentColor; } .dso-tooltip a:not(.dso-primary, .dso-secondary, .dso-tertiary):is(.download, .download:hover, .download:focus-visible) { background-image: var(--_dso-di-background-image, url("./di.svg#download-wit")); } .dso-tooltip a:not(.dso-primary, .dso-secondary, .dso-tertiary):is(.extern, .extern:hover, .extern:focus-visible) { background-image: var(--_dso-di-background-image, url("./di.svg#external-link-wit")); } .dso-tooltip a:not(.dso-primary, .dso-secondary, .dso-tertiary):is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible) { background-image: var(--_dso-di-background-image, url("./di.svg#call-wit")); } .dso-tooltip a:not(.dso-primary, .dso-secondary, .dso-tertiary):is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible) { background-image: var(--_dso-di-background-image, url("./di.svg#mail-outline-wit")); } .dso-tooltip { --_dso-icon-button-secondary-active-color: #fff; --_dso-icon-button-secondary-active-background-color: rgba(255, 255, 255, 0.4); --_dso-icon-button-secondary-toggled-color: #fff; --_dso-icon-button-secondary-toggled-background-color: rgba(255, 255, 255, 0.2); --_dso-icon-button-secondary-toggled-hover-background-color: rgba(255, 255, 255, 0.3); --_dso-icon-button-tertiary-color: #f2f2f2; --_dso-icon-button-tertiary-hover-color: #fff; --_dso-icon-button-tertiary-active-color: rgba(255, 255, 255, 0.4); --_dso-icon-button-tertiary-toggled-color: #fff; --_dso-icon-button-tertiary-toggled-hover-color: rgba(255, 255, 255, 0.3); --_dso-icon-button-tertiary-disabled-color: #b2b2b2; --_dso-button-primary-background-color: #fff; --_dso-button-primary-hover-background-color: rgba(255, 255, 255, 0.8); --_dso-button-primary-active-background-color: #f2f2f2; --_dso-button-primary-disabled-background-color: rgba(255, 255, 255, 0.6); --_dso-button-primary-border-color: #fff; --_dso-button-primary-hover-border-color: rgba(255, 255, 255, 0.8); --_dso-button-primary-active-border-color: #f2f2f2; --_dso-button-primary-disabled-border-color: rgba(255, 255, 255, 0.6); --_dso-button-primary-color: #191919; --_dso-button-primary-hover-color: #191919; --_dso-button-primary-active-color: #191919; --_dso-button-primary-disabled-color: #666; --_dso-button-secondary-background-color: none; --_dso-button-secondary-hover-background-color: rgba(255, 255, 255, 0.2); --_dso-button-secondary-active-background-color: rgba(255, 255, 255, 0.4); --_dso-button-secondary-disabled-background-color: none; --_dso-button-secondary-border-color: #fff; --_dso-button-secondary-hover-border-color: #fff; --_dso-button-secondary-active-border-color: rgba(255, 255, 255, 0.4); --_dso-button-secondary-disabled-border-color: rgba(255, 255, 255, 0.7); --_dso-button-secondary-color: #fff; --_dso-button-secondary-hover-color: #fff; --_dso-button-secondary-active-color: #fff; --_dso-button-secondary-disabled-color: rgba(255, 255, 255, 0.7); --_dso-button-tertiary-color: #fff; --_dso-button-tertiary-hover-color: #fff; --_dso-button-tertiary-active-color: #fff; --_dso-button-tertiary-disabled-color: #b2b2b2; background-color: #666; color: #fff; border-radius: 4px; overflow: unset; margin: 0; border: 0; padding: 0; filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.4)); opacity: 0; visibility: hidden; max-inline-size: 320px; } .dso-tooltip .tooltip-inner { --_dso-span-role-paragraph-margin-block: 8px; --_dso-alert-success-border-color: #39870c; --_dso-alert-error-border-color: #ce3f51; --_dso-alert-info-border-color: #6ca4d9; --_dso-alert-warning-border-color: #dcd400; --link-color: currentColor; --link-hover-color: currentColor; --link-visited-color: currentColor; } .dso-tooltip .tooltip-inner a:not(.dso-primary, .dso-secondary, .dso-tertiary):is(.download, .download:hover, .download:focus-visible) { background-image: var(--_dso-di-background-image, url("./di.svg#download-wit")); } .dso-tooltip .tooltip-inner a:not(.dso-primary, .dso-secondary, .dso-tertiary):is(.extern, .extern:hover, .extern:focus-visible) { background-image: var(--_dso-di-background-image, url("./di.svg#external-link-wit")); } .dso-tooltip .tooltip-inner a:not(.dso-primary, .dso-secondary, .dso-tertiary):is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible) { background-image: var(--_dso-di-background-image, url("./di.svg#call-wit")); } .dso-tooltip .tooltip-inner a:not(.dso-primary, .dso-secondary, .dso-tertiary):is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible) { background-image: var(--_dso-di-background-image, url("./di.svg#mail-outline-wit")); } .dso-tooltip .tooltip-inner { --_dso-icon-button-secondary-active-color: #fff; --_dso-icon-button-secondary-active-background-color: rgba(255, 255, 255, 0.4); --_dso-icon-button-secondary-toggled-color: #fff; --_dso-icon-button-secondary-toggled-background-color: rgba(255, 255, 255, 0.2); --_dso-icon-button-secondary-toggled-hover-background-color: rgba(255, 255, 255, 0.3); --_dso-icon-button-tertiary-color: #f2f2f2; --_dso-icon-button-tertiary-hover-color: #fff; --_dso-icon-button-tertiary-active-color: rgba(255, 255, 255, 0.4); --_dso-icon-button-tertiary-toggled-color: #fff; --_dso-icon-button-tertiary-toggled-hover-color: rgba(255, 255, 255, 0.3); --_dso-icon-button-tertiary-disabled-color: #b2b2b2; --_dso-button-primary-background-color: #fff; --_dso-button-primary-hover-background-color: rgba(255, 255, 255, 0.8); --_dso-button-primary-active-background-color: #f2f2f2; --_dso-button-primary-disabled-background-color: rgba(255, 255, 255, 0.6); --_dso-button-primary-border-color: #fff; --_dso-button-primary-hover-border-color: rgba(255, 255, 255, 0.8); --_dso-button-primary-active-border-color: #f2f2f2; --_dso-button-primary-disabled-border-color: rgba(255, 255, 255, 0.6); --_dso-button-primary-color: #191919; --_dso-button-primary-hover-color: #191919; --_dso-button-primary-active-color: #191919; --_dso-button-primary-disabled-color: #666; --_dso-button-secondary-background-color: none; --_dso-button-secondary-hover-background-color: rgba(255, 255, 255, 0.2); --_dso-button-secondary-active-background-color: rgba(255, 255, 255, 0.4); --_dso-button-secondary-disabled-background-color: none; --_dso-button-secondary-border-color: #fff; --_dso-button-secondary-hover-border-color: #fff; --_dso-button-secondary-active-border-color: rgba(255, 255, 255, 0.4); --_dso-button-secondary-disabled-border-color: rgba(255, 255, 255, 0.7); --_dso-button-secondary-color: #fff; --_dso-button-secondary-hover-color: #fff; --_dso-button-secondary-active-color: #fff; --_dso-button-secondary-disabled-color: rgba(255, 255, 255, 0.7); --_dso-button-tertiary-color: #fff; --_dso-button-tertiary-hover-color: #fff; --_dso-button-tertiary-active-color: #fff; --_dso-button-tertiary-disabled-color: #b2b2b2; background-color: #666; color: #fff; font-family: Asap, sans-serif; font-size: 1rem; font-weight: normal; padding-block: 0; padding-inline: 8px; border-radius: 4px; line-height: 1.5; } .dso-tooltip .tooltip-arrow { position: absolute; background-color: #666; border-start-start-radius: 4px; block-size: 8px; inline-size: 8px; pointer-events: none; z-index: -1; } :host { display: inline-block; line-height: 1; position: var(--_dso-icon-button-position, static); inset-block-start: var(--_dso-icon-button-inset-block-start, 0); inset-inline-end: var(--_dso-icon-button-inset-inline-end, 0); } *, *::after, *::before { box-sizing: border-box; } .dso-secondary { display: inline-block; font-size: 1em; font-weight: 500; margin-block-end: 0; text-decoration: none; touch-action: manipulation; text-align: var(--_dso-button-text-align, start); user-select: none; vertical-align: middle; background-clip: padding-box; } .dso-secondary:focus, .dso-secondary:focus-visible { outline-offset: 2px; } .dso-secondary:active { outline: 0; } .dso-secondary.extern::after, .dso-secondary.download::after { content: ""; display: inline-block; } .dso-secondary { background-color: var(--_dso-button-secondary-background-color, #fff); border-color: var(--_dso-button-secondary-border-color, #39870c); color: var(--_dso-button-secondary-color, #39870c); float: var(--_dso-button-float-secondary, none); border-width: 1px; border-style: solid; border-radius: 4px; line-height: 1.5; min-inline-size: 56px; inline-size: var(--_dso-button-inline-size, auto); padding-block: 11px; padding-inline: 15px; } .dso-secondary:hover { background-color: var(--_dso-button-secondary-hover-background-color, #d7e7ce); border-color: var(--_dso-button-secondary-hover-border-color, #275937); color: var(--_dso-button-secondary-hover-color, #275937); float: var(--_dso-button-float-secondary, none); } .dso-secondary:active { background-color: var(--_dso-button-secondary-active-background-color, #275937); border-color: var(--_dso-button-secondary-active-border-color, #275937); color: var(--_dso-button-secondary-active-color, #fff); float: var(--_dso-button-float-secondary, none); } .dso-secondary[disabled], .dso-secondary[disabled]:hover { background-color: var(--_dso-button-secondary-disabled-background-color, #fff); border-color: var(--_dso-button-secondary-disabled-border-color, #afcf9d); color: var(--_dso-button-secondary-disabled-color, #afcf9d); float: var(--_dso-button-float-secondary, none); } .dso-secondary.dso-small { line-height: 1rem; } .dso-secondary.dso-small dso-icon, .dso-secondary.dso-small.extern::after, .dso-secondary.dso-small.download::after, .dso-secondary.dso-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } .dso-secondary.dso-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } .dso-secondary.dso-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } .dso-secondary.dso-extra-small { line-height: 1rem; } .dso-secondary.dso-extra-small dso-icon, .dso-secondary.dso-extra-small.extern::after, .dso-secondary.dso-extra-small.download::after, .dso-secondary.dso-extra-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } .dso-secondary.dso-extra-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } .dso-secondary.dso-extra-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } .dso-secondary.dso-extra-small { padding-block: 9px; } .dso-secondary dso-icon:has(+ span:not(.sr-only)) { margin-inline-start: -8px; } .dso-secondary span:not(.sr-only) + dso-icon { margin-inline-start: 8px; margin-inline-end: -8px; } .dso-secondary dso-icon + span:not(.sr-only) { margin-inline-start: 8px; } .dso-secondary.dso-spinner-left[disabled], .dso-secondary.dso-spinner-right[disabled] { background-color: #fff; border-color: #39870c; color: #39870c; } .dso-secondary.dso-spinner-left::before { background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' 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: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E"); background-repeat: no-repeat; content: ""; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-end: 8px; } .dso-secondary.dso-spinner-left:not([disabled]):hover::before { background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' 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: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E"); background-repeat: no-repeat; content: ""; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-end: 8px; } .dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before { block-size: 16px; inline-size: 16px; } .dso-secondary.dso-spinner-right::after { background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' 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: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E"); background-repeat: no-repeat; content: ""; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-start: 8px; } .dso-secondary.dso-spinner-right:not([disabled]):hover::after { background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' 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: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E"); background-repeat: no-repeat; content: ""; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-start: 8px; } .dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after { block-size: 16px; inline-size: 16px; } .dso-secondary { padding-inline: calc(8px - 1px); padding-block: calc(8px - 1px); border-start-start-radius: var(--_dso-icon-button-border-start-start-radius, 4px); border-start-end-radius: var(--_dso-icon-button-border-start-end-radius, 4px); border-end-end-radius: var(--_dso-icon-button-border-end-end-radius, 4px); border-end-start-radius: var(--_dso-icon-button-border-end-start-radius, 4px); border-block-end-width: var(--_dso-icon-button-border-block-end-width, 1px); border-inline-end-width: var(--_dso-icon-button-border-inline-end-width, 1px); } .dso-secondary:not([disabled]):active { background-color: var(--_dso-icon-button-secondary-active-background-color, #1f472c); border-color: var(--_dso-icon-button-secondary-active-background-color, #1f472c); color: var(--_dso-icon-button-secondary-active-color, #fff); } .dso-secondary:not([disabled]).toggled { background-color: var(--_dso-icon-button-secondary-toggled-background-color, #275937); border-color: var(--_dso-icon-button-secondary-toggled-background-color, #275937); color: var(--_dso-icon-button-secondary-toggled-color, #fff); } .dso-secondary:not([disabled]).toggled:hover { background-color: var(--_dso-icon-button-secondary-toggled-hover-background-color, #1b3e27); border-color: var(--_dso-icon-button-secondary-toggled-hover-background-color, #1b3e27); } .dso-secondary:not([disabled]).toggled:active { background-color: var(--_dso-icon-button-secondary-active-background-color, #1f472c); border-color: var(--_dso-icon-button-secondary-active-background-color, #1f472c); color: var(--_dso-icon-button-secondary-active-color, #fff); } .dso-tertiary { display: inline-block; font-size: 1em; font-weight: 500; margin-block-end: 0; text-decoration: none; touch-action: manipulation; text-align: var(--_dso-button-text-align, start); user-select: none; vertical-align: middle; background-clip: padding-box; } .dso-tertiary:focus, .dso-tertiary:focus-visible { outline-offset: 2px; } .dso-tertiary:active { outline: 0; } .dso-tertiary.extern::after, .dso-tertiary.download::after { content: ""; display: inline-block; } .dso-tertiary { padding-inline: 0; padding-block: 0; color: var(--_dso-icon-button-tertiary-color, #39870c); background-color: transparent; border: 0; } .dso-tertiary:not([disabled]):hover { color: var(--_dso-icon-button-tertiary-hover-color, var(--_dso-icon-button-tertiary-color, #275937)); } .dso-tertiary:not([disabled]):active { color: var(--_dso-icon-button-tertiary-active-color, var(--_dso-icon-button-tertiary-color, #1f472c)); } .dso-tertiary:not([disabled]).toggled { color: var(--_dso-icon-button-tertiary-toggled-color, var(--_dso-icon-button-tertiary-color, #275937)); } .dso-tertiary:not([disabled]).toggled:hover { color: var(--_dso-icon-button-tertiary-toggled-hover-color, var(--_dso-icon-button-tertiary-color, #1b3e27)); } .dso-tertiary:not([disabled]).toggled:active { color: var(--_dso-icon-button-tertiary-active-color, var(--_dso-icon-button-tertiary-color, #1f472c)); } .dso-tertiary[disabled] { color: var(--_dso-icon-button-tertiary-disabled-color, var(--_dso-icon-button-tertiary-color, #afcf9d)); } .dso-map { display: inline-block; font-size: 1em; font-weight: 500; margin-block-end: 0; text-decoration: none; touch-action: manipulation; text-align: var(--_dso-button-text-align, start); user-select: none; vertical-align: middle; background-clip: padding-box; } .dso-map:focus, .dso-map:focus-visible { outline-offset: 2px; } .dso-map:active { outline: 0; } .dso-map { background-color: var(--_dso-button-secondary-background-color, #fff); border-color: var(--_dso-button-secondary-border-color, #39870c); color: var(--_dso-button-secondary-color, #39870c); float: var(--_dso-button-float-secondary, none); border-width: 1px; border-style: solid; border-radius: 4px; line-height: 1.5; min-inline-size: 56px; inline-size: var(--_dso-button-inline-size, auto); padding-block: 11px; padding-inline: 15px; } .dso-map:hover { background-color: var(--_dso-button-secondary-hover-background-color, #d7e7ce); border-color: var(--_dso-button-secondary-hover-border-color, #275937); color: var(--_dso-button-secondary-hover-color, #275937); float: var(--_dso-button-float-secondary, none); } .dso-map:active { background-color: var(--_dso-button-secondary-active-background-color, #275937); border-color: var(--_dso-button-secondary-active-border-color, #275937); color: var(--_dso-button-secondary-active-color, #fff); float: var(--_dso-button-float-secondary, none); } .dso-map[disabled], .dso-map[disabled]:hover { background-color: var(--_dso-button-secondary-disabled-background-color, #fff); border-color: var(--_dso-button-secondary-disabled-border-color, #afcf9d); color: var(--_dso-button-secondary-disabled-color, #afcf9d); float: var(--_dso-button-float-secondary, none); } .dso-map.dso-small { line-height: 1rem; } .dso-map.dso-small dso-icon, .dso-map.dso-small.extern::after, .dso-map.dso-small.download::after, .dso-map.dso-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } .dso-map.dso-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } .dso-map.dso-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } .dso-map.dso-extra-small { line-height: 1rem; } .dso-map.dso-extra-small dso-icon, .dso-map.dso-extra-small.extern::after, .dso-map.dso-extra-small.download::after, .dso-map.dso-extra-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } .dso-map.dso-extra-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } .dso-map.dso-extra-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } .dso-map.dso-extra-small { padding-block: 9px; } .dso-map dso-icon:has(+ span:not(.sr-only)) { margin-inline-start: -8px; } .dso-map span:not(.sr-only) + dso-icon { margin-inline-start: 8px; margin-inline-end: -8px; } .dso-map dso-icon + span:not(.sr-only) { margin-inline-start: 8px; } .dso-map.dso-spinner-left[disabled], .dso-map.dso-spinner-right[disabled] { background-color: #fff; border-color: #39870c; color: #39870c; } .dso-map.dso-spinner-left::before { background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' 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: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E"); background-repeat: no-repeat; content: ""; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-end: 8px; } .dso-map.dso-spinner-left:not([disabled]):hover::before { background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' 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: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E"); background-repeat: no-repeat; content: ""; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-end: 8px; } .dso-map.dso-spinner-left:not([disabled]).dso-small:hover::before { block-size: 16px; inline-size: 16px; } .dso-map.dso-spinner-right::after { background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' 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: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E"); background-repeat: no-repeat; content: ""; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-start: 8px; } .dso-map.dso-spinner-right:not([disabled]):hover::after { background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' 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: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E"); background-repeat: no-repeat; content: ""; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-start: 8px; } .dso-map.dso-spinner-right:not([disabled]).dso-small:hover::after { block-size: 16px; inline-size: 16px; } .dso-map { box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5); border: 0; font-weight: 600; margin-inline-end: 16px; padding-block: 8px; padding-inline: 16px; white-space: nowrap; } .dso-map:focus, .dso-map:focus-visible { outline-offset: -1px; } .dso-map:has(span.sr-only):has(dso-icon) { padding: 8px; min-inline-size: auto; block-size: 40px; inline-size: 40px; } .dso-map { padding-inline: 8px; padding-block: 8px; border: 0; margin-inline-end: 0; box-shadow: var(--_dso-icon-button-map-box-shadow, 0 0 8px 0 rgba(0, 0, 0, 0.3)); border-start-start-radius: var(--_dso-icon-button-border-start-start-radius, 4px); border-start-end-radius: var(--_dso-icon-button-border-start-end-radius, 4px); border-end-end-radius: var(--_dso-icon-button-border-end-end-radius, 4px); border-end-start-radius: var(--_dso-icon-button-border-end-start-radius, 4px); } .dso-map:not([disabled]):active { background-color: var(--_dso-icon-button-secondary-active-background-color, #1f472c); border-color: var(--_dso-icon-button-secondary-active-background-color, #1f472c); color: var(--_dso-icon-button-secondary-active-color, #fff); } .dso-map:not([disabled]).toggled { background-color: var(--_dso-icon-button-secondary-toggled-background-color, #275937); border-color: var(--_dso-icon-button-secondary-toggled-background-color, #275937); color: var(--_dso-icon-button-secondary-toggled-color, #fff); } .dso-map:not([disabled]).toggled:hover { background-color: var(--_dso-icon-button-secondary-toggled-hover-background-color, #1b3e27); border-color: var(--_dso-icon-button-secondary-toggled-hover-background-color, #1b3e27); } .dso-map:not([disabled]).toggled:active { background-color: var(--_dso-icon-button-secondary-active-background-color, #1f472c); border-color: var(--_dso-icon-button-secondary-active-background-color, #1f472c); } .icon-button { min-inline-size: auto; cursor: pointer; } .icon-button[disabled] { cursor: default; }`;
9
+
10
+ const IconButton = class {
11
+ constructor(hostRef) {
12
+ index.registerInstance(this, hostRef);
13
+ this.dsoClick = index.createEvent(this, "dsoClick", 3);
14
+ this.lastClickTime = 0;
15
+ this.tooltipShowDelay = 500;
16
+ /**
17
+ * The variant of the Icon Button.
18
+ */
19
+ this.variant = "secondary";
20
+ /**
21
+ * The placement of the tooltip on hover and focus of the Icon Button.
22
+ */
23
+ this.tooltipPlacement = "top";
24
+ /**
25
+ * To disable the Icon Button
26
+ */
27
+ this.disabled = false;
28
+ /**
29
+ * Whether the button is toggled.
30
+ */
31
+ this.toggled = false;
32
+ this.handleShowTooltip = () => {
33
+ if (this.disabled) {
34
+ return;
35
+ }
36
+ // Don't show the tooltip if the button is clicked within 500ms of the last click
37
+ if (Date.now() - this.lastClickTime < this.tooltipShowDelay) {
38
+ return;
39
+ }
40
+ this.clearToolTipTimeout();
41
+ this.tooltipTimeout = window.setTimeout(() => {
42
+ if (!this.tooltipElRef?.isConnected) {
43
+ return;
44
+ }
45
+ this.tooltipElRef?.showPopover();
46
+ if (!this.cleanUpFunction && this.buttonElRef && this.tooltipElRef && this.tooltipArrowElRef) {
47
+ this.cleanUpFunction = positionTooltip_function.positionTooltip({
48
+ referenceElement: this.buttonElRef,
49
+ tipRef: this.tooltipElRef,
50
+ tipArrowRef: this.tooltipArrowElRef,
51
+ placementTip: this.tooltipPlacement,
52
+ topPositionSmallViewPort: false,
53
+ halfMainAxisOffset: false,
54
+ forceVisible: true,
55
+ });
56
+ }
57
+ }, this.tooltipShowDelay);
58
+ };
59
+ this.clearToolTipTimeout = () => {
60
+ if (this.tooltipTimeout) {
61
+ clearTimeout(this.tooltipTimeout);
62
+ }
63
+ };
64
+ this.handleHideTooltip = () => {
65
+ this.clearToolTipTimeout();
66
+ if (this.tooltipElRef?.isConnected && this.tooltipElRef.matches(":popover-open")) {
67
+ this.tooltipElRef.hidePopover();
68
+ }
69
+ this.cleanUpTooltip();
70
+ };
71
+ this.handleClick = (event) => {
72
+ this.lastClickTime = Date.now();
73
+ this.handleHideTooltip();
74
+ this.dsoClick.emit({ originalEvent: event, toggled: !this.toggled });
75
+ };
76
+ }
77
+ /**
78
+ * Focuses the button.
79
+ */
80
+ async setFocus() {
81
+ this.buttonElRef?.focus();
82
+ }
83
+ cleanUpTooltip() {
84
+ this.cleanUpFunction?.();
85
+ this.cleanUpFunction = undefined;
86
+ }
87
+ disconnectedCallback() {
88
+ this.clearToolTipTimeout();
89
+ this.cleanUpTooltip();
90
+ }
91
+ render() {
92
+ return (index.h("button", { key: '1791f2405a2d04bc43a1ad5033bea4d3bcb77629', ref: (element) => (this.buttonElRef = element), type: "button", disabled: this.disabled, "aria-pressed": this.toggled ? "true" : "false", "aria-label": this.label, class: `icon-button dso-${this.variant} ${this.toggled ? "toggled" : ""}`, onMouseEnter: this.handleShowTooltip, onMouseLeave: this.handleHideTooltip, onFocus: this.handleShowTooltip, onBlur: this.handleHideTooltip, onClick: this.handleClick }, index.h("dso-icon", { key: '0af040300b70d7dbc55f7d71720467e88b7adaa4', icon: this.icon, "aria-hidden": "true" }), index.h(tooltip_functionalComponent.Tooltip, { key: '6e49dd5820f61bd2a4d94c90e7e0d84a3cb3abc6', tipElementRef: (element) => (this.tooltipElRef = element), tipArrowElementRef: (element) => (this.tooltipArrowElRef = element) }, this.label)));
93
+ }
94
+ };
95
+ IconButton.style = iconButtonCss();
96
+
97
+ exports.dso_icon_button = IconButton;