@dso-toolkit/core 76.0.0 → 77.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 +5 -5
  2. package/dist/bundle/dso-action-list-item.js +1 -1
  3. package/dist/bundle/dso-advanced-select.js +3 -3
  4. package/dist/bundle/dso-alert.js +1 -1
  5. package/dist/bundle/dso-annotation-activiteit.js +5 -5
  6. package/dist/bundle/dso-annotation-activiteit.js.map +1 -1
  7. package/dist/bundle/dso-annotation-gebiedsaanwijzing.js +5 -5
  8. package/dist/bundle/dso-annotation-gebiedsaanwijzing.js.map +1 -1
  9. package/dist/bundle/dso-annotation-kaart.js +3 -3
  10. package/dist/bundle/dso-annotation-kaart.js.map +1 -1
  11. package/dist/bundle/dso-annotation-locatie.js +1 -1
  12. package/dist/bundle/dso-annotation-omgevingsnormwaarde.js +5 -5
  13. package/dist/bundle/dso-annotation-omgevingsnormwaarde.js.map +1 -1
  14. package/dist/bundle/dso-attachments-counter.js +1 -1
  15. package/dist/bundle/dso-autosuggest.js +3 -3
  16. package/dist/bundle/dso-button-group.d.ts +11 -0
  17. package/dist/bundle/dso-button-group.js +9 -0
  18. package/dist/bundle/dso-button-group.js.map +1 -0
  19. package/dist/bundle/dso-card-container.js +1 -1
  20. package/dist/bundle/dso-card.js +4 -4
  21. package/dist/bundle/dso-card.js.map +1 -1
  22. package/dist/bundle/dso-contact-information.js +1 -1
  23. package/dist/bundle/dso-date-picker-legacy.js +4 -4
  24. package/dist/bundle/dso-date-picker.js +1 -1
  25. package/dist/bundle/dso-document-card.js +2 -2
  26. package/dist/bundle/dso-document-component.js +1 -1
  27. package/dist/bundle/dso-dropdown-menu.js +1 -1
  28. package/dist/bundle/dso-header.js +4 -4
  29. package/dist/bundle/dso-header.js.map +1 -1
  30. package/dist/bundle/dso-highlight-box.js +1 -1
  31. package/dist/bundle/dso-icon.js +1 -1
  32. package/dist/bundle/dso-image-overlay.js +1 -1
  33. package/dist/bundle/dso-info-button.js +1 -1
  34. package/dist/bundle/dso-info.js +1 -1
  35. package/dist/bundle/dso-input-range.js +2 -2
  36. package/dist/bundle/dso-label.js +1 -1
  37. package/dist/bundle/dso-legend-item.js +6 -6
  38. package/dist/bundle/dso-list-button.js +5 -5
  39. package/dist/bundle/dso-logo.js +1 -1
  40. package/dist/bundle/dso-map-base-layers.js +5 -5
  41. package/dist/bundle/dso-map-controls.js +12 -6
  42. package/dist/bundle/dso-map-controls.js.map +1 -1
  43. package/dist/bundle/dso-map-overlays.js +5 -5
  44. package/dist/bundle/dso-mark-bar.js +2 -2
  45. package/dist/bundle/dso-modal.js +3 -3
  46. package/dist/bundle/dso-onboarding-tip.js +3 -1661
  47. package/dist/bundle/dso-onboarding-tip.js.map +1 -1
  48. package/dist/bundle/dso-ozon-content.js +1 -1
  49. package/dist/bundle/dso-pagination.js +3 -3
  50. package/dist/bundle/dso-pagination.js.map +1 -1
  51. package/dist/bundle/dso-panel.js +1 -1
  52. package/dist/bundle/dso-plekinfo-card.js +2 -2
  53. package/dist/bundle/dso-progress-bar.js +1 -1
  54. package/dist/bundle/dso-progress-indicator.js +1 -1
  55. package/dist/bundle/dso-project-item.js +4 -4
  56. package/dist/bundle/dso-responsive-element.js +1 -1
  57. package/dist/bundle/dso-scrollable.js +1 -1
  58. package/dist/bundle/dso-selectable.js +1 -1
  59. package/dist/bundle/dso-skiplink.js +2 -2
  60. package/dist/bundle/dso-slide-toggle.js +1 -1
  61. package/dist/bundle/dso-survey-rating.js +5 -5
  62. package/dist/bundle/dso-table.js +1 -1
  63. package/dist/bundle/dso-tabs.js +1 -1
  64. package/dist/bundle/dso-toggletip.js +1 -1
  65. package/dist/bundle/dso-tooltip.js +1 -1
  66. package/dist/bundle/dso-tree-view.js +3 -3
  67. package/dist/bundle/dso-viewer-grid.js +2 -2
  68. package/dist/bundle/dsot-document-component-demo.js +13 -13
  69. package/dist/bundle/index.js +2 -0
  70. package/dist/bundle/index.js.map +1 -1
  71. package/dist/bundle/{p-BS-Y76bJ.js → p-9zjtdLN6.js} +3 -3
  72. package/dist/bundle/{p-BS-Y76bJ.js.map → p-9zjtdLN6.js.map} +1 -1
  73. package/dist/bundle/{p-DAtQydKx.js → p-BBxSnuWP.js} +4 -4
  74. package/dist/bundle/{p-DAtQydKx.js.map → p-BBxSnuWP.js.map} +1 -1
  75. package/dist/bundle/{p-C0s1JAlb.js → p-BGaAMVmM.js} +6 -6
  76. package/dist/bundle/{p-C0s1JAlb.js.map → p-BGaAMVmM.js.map} +1 -1
  77. package/dist/bundle/{p-C62PayXc.js → p-BLcgQKpu.js} +3 -3
  78. package/dist/bundle/{p-C62PayXc.js.map → p-BLcgQKpu.js.map} +1 -1
  79. package/dist/bundle/{p-DhhVHw2w.js → p-BP2p2tL5.js} +12 -12
  80. package/dist/bundle/{p-DhhVHw2w.js.map → p-BP2p2tL5.js.map} +1 -1
  81. package/dist/bundle/{p-L6frHRla.js → p-BlvELqv3.js} +8 -8
  82. package/dist/bundle/{p-L6frHRla.js.map → p-BlvELqv3.js.map} +1 -1
  83. package/dist/bundle/{p-_DIUHRiS.js → p-BzRDrr-_.js} +3 -3
  84. package/dist/bundle/{p-_DIUHRiS.js.map → p-BzRDrr-_.js.map} +1 -1
  85. package/dist/bundle/{p-r4JnUhJ5.js → p-CMjyxr8o.js} +4 -4
  86. package/dist/bundle/{p-r4JnUhJ5.js.map → p-CMjyxr8o.js.map} +1 -1
  87. package/dist/bundle/{p-BJhPYrsL.js → p-CoKesn28.js} +4 -4
  88. package/dist/bundle/{p-BJhPYrsL.js.map → p-CoKesn28.js.map} +1 -1
  89. package/dist/bundle/p-Cve9JK5u.js +58 -0
  90. package/dist/bundle/p-Cve9JK5u.js.map +1 -0
  91. package/dist/bundle/{p-CdvSnpb_.js → p-CyJdlUc_.js} +3 -3
  92. package/dist/bundle/{p-CdvSnpb_.js.map → p-CyJdlUc_.js.map} +1 -1
  93. package/dist/bundle/{p-BI8W5IHk.js → p-DJ7nyiIt.js} +4 -4
  94. package/dist/bundle/{p-BI8W5IHk.js.map → p-DJ7nyiIt.js.map} +1 -1
  95. package/dist/bundle/{p-Dp31hMfn.js → p-DK7N75_d.js} +48 -115
  96. package/dist/bundle/p-DK7N75_d.js.map +1 -0
  97. package/dist/bundle/{p-CIShecZA.js → p-DM1_b6nQ.js} +3 -3
  98. package/dist/bundle/{p-CIShecZA.js.map → p-DM1_b6nQ.js.map} +1 -1
  99. package/dist/{cjs/has-overflow-B_4p67wC.js → bundle/p-DNO4kzq4.js} +311 -7
  100. package/dist/bundle/p-DNO4kzq4.js.map +1 -0
  101. package/dist/bundle/{p-J2YfZwgD.js → p-DSdjKKyW.js} +7 -7
  102. package/dist/bundle/{p-J2YfZwgD.js.map → p-DSdjKKyW.js.map} +1 -1
  103. package/dist/bundle/{p-D1jpHeMq.js → p-DZ8OX1GG.js} +3 -3
  104. package/dist/bundle/{p-D1jpHeMq.js.map → p-DZ8OX1GG.js.map} +1 -1
  105. package/dist/bundle/{p-CgRdthz0.js → p-DpoKLKOQ.js} +5 -5
  106. package/dist/bundle/{p-CgRdthz0.js.map → p-DpoKLKOQ.js.map} +1 -1
  107. package/dist/bundle/{p-BCHeTZOb.js → p-DwVf2qDM.js} +6 -6
  108. package/dist/bundle/{p-BCHeTZOb.js.map → p-DwVf2qDM.js.map} +1 -1
  109. package/dist/bundle/p-DyzZdG1l.js +80 -0
  110. package/dist/bundle/{p-CagCGFPb.js.map → p-DyzZdG1l.js.map} +1 -1
  111. package/dist/bundle/{p-Fr4DmH1l.js → p-Hd6HHp3Q.js} +4 -4
  112. package/dist/bundle/{p-Fr4DmH1l.js.map → p-Hd6HHp3Q.js.map} +1 -1
  113. package/dist/bundle/p-gdsca1fx.js +1663 -0
  114. package/dist/bundle/p-gdsca1fx.js.map +1 -0
  115. package/dist/cjs/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.cjs.js.map +1 -1
  116. package/dist/cjs/dso-alert_6.cjs.entry.js +5 -5
  117. package/dist/cjs/dso-alert_6.cjs.entry.js.map +1 -1
  118. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js +1 -1
  119. package/dist/cjs/dso-annotation-activiteit.cjs.entry.js.map +1 -1
  120. package/dist/cjs/dso-annotation-activiteit.entry.cjs.js.map +1 -1
  121. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js +1 -1
  122. package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js.map +1 -1
  123. package/dist/cjs/dso-annotation-gebiedsaanwijzing.entry.cjs.js.map +1 -1
  124. package/dist/cjs/dso-annotation-kaart.cjs.entry.js +1 -1
  125. package/dist/cjs/dso-annotation-kaart.cjs.entry.js.map +1 -1
  126. package/dist/cjs/dso-annotation-kaart.entry.cjs.js.map +1 -1
  127. package/dist/cjs/dso-annotation-locatie.dso-document-component.entry.cjs.js.map +1 -1
  128. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js +3 -3
  129. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js.map +1 -1
  130. package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js +1 -1
  131. package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js.map +1 -1
  132. package/dist/cjs/dso-annotation-omgevingsnormwaarde.entry.cjs.js.map +1 -1
  133. package/dist/cjs/dso-button-group.cjs.entry.js +43 -0
  134. package/dist/cjs/dso-button-group.cjs.entry.js.map +1 -0
  135. package/dist/cjs/dso-button-group.entry.cjs.js.map +1 -0
  136. package/dist/cjs/dso-card-container.cjs.entry.js +1 -1
  137. package/dist/cjs/dso-card.cjs.entry.js +3 -3
  138. package/dist/cjs/dso-card.cjs.entry.js.map +1 -1
  139. package/dist/cjs/dso-card.entry.cjs.js.map +1 -1
  140. package/dist/cjs/dso-contact-information.cjs.entry.js +1 -1
  141. package/dist/cjs/dso-date-picker-legacy.cjs.entry.js +3 -3
  142. package/dist/cjs/dso-date-picker.cjs.entry.js +1 -1
  143. package/dist/cjs/dso-document-card.cjs.entry.js +1 -1
  144. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +44 -103
  145. package/dist/cjs/dso-dropdown-menu.cjs.entry.js.map +1 -1
  146. package/dist/cjs/dso-dropdown-menu.entry.cjs.js.map +1 -1
  147. package/dist/cjs/dso-header.cjs.entry.js +2 -2
  148. package/dist/cjs/dso-header.cjs.entry.js.map +1 -1
  149. package/dist/cjs/dso-header.entry.cjs.js.map +1 -1
  150. package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
  151. package/dist/cjs/dso-icon.cjs.entry.js +1 -1
  152. package/dist/cjs/dso-info-button.cjs.entry.js +1 -1
  153. package/dist/cjs/dso-info_2.cjs.entry.js +2 -2
  154. package/dist/cjs/dso-input-range.cjs.entry.js +2 -2
  155. package/dist/cjs/dso-label_3.cjs.entry.js +4 -4
  156. package/dist/cjs/dso-legend-item.cjs.entry.js +1 -1
  157. package/dist/cjs/dso-list-button.cjs.entry.js +1 -1
  158. package/dist/cjs/dso-logo.cjs.entry.js +1 -1
  159. package/dist/cjs/dso-map-base-layers.cjs.entry.js +1 -1
  160. package/dist/cjs/dso-map-controls.cjs.entry.js +3 -3
  161. package/dist/cjs/dso-map-controls.cjs.entry.js.map +1 -1
  162. package/dist/cjs/dso-map-controls.entry.cjs.js.map +1 -1
  163. package/dist/cjs/dso-map-overlays.cjs.entry.js +1 -1
  164. package/dist/cjs/dso-mark-bar.cjs.entry.js +1 -1
  165. package/dist/cjs/dso-modal.cjs.entry.js +1 -1
  166. package/dist/cjs/dso-onboarding-tip.cjs.entry.js +9 -1667
  167. package/dist/cjs/dso-onboarding-tip.cjs.entry.js.map +1 -1
  168. package/dist/cjs/dso-onboarding-tip.entry.cjs.js.map +1 -1
  169. package/dist/cjs/dso-pagination.cjs.entry.js +1 -1
  170. package/dist/cjs/dso-pagination.cjs.entry.js.map +1 -1
  171. package/dist/cjs/dso-pagination.entry.cjs.js.map +1 -1
  172. package/dist/cjs/dso-plekinfo-card.cjs.entry.js +1 -1
  173. package/dist/cjs/dso-progress-bar.cjs.entry.js +1 -1
  174. package/dist/cjs/dso-progress-indicator.cjs.entry.js +1 -1
  175. package/dist/cjs/dso-project-item.cjs.entry.js +1 -1
  176. package/dist/cjs/dso-responsive-element.cjs.entry.js +1 -1
  177. package/dist/cjs/dso-scrollable.cjs.entry.js +2 -2
  178. package/dist/cjs/dso-skiplink.cjs.entry.js +1 -1
  179. package/dist/cjs/dso-survey-rating.cjs.entry.js +3 -3
  180. package/dist/cjs/dso-tabs.cjs.entry.js +1 -1
  181. package/dist/cjs/dso-toggletip.cjs.entry.js +1 -1
  182. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  183. package/dist/cjs/dso-tooltip.cjs.entry.js +1802 -6
  184. package/dist/cjs/dso-tooltip.cjs.entry.js.map +1 -1
  185. package/dist/cjs/dso-tooltip.entry.cjs.js.map +1 -1
  186. package/dist/cjs/dso-tree-view.cjs.entry.js +1 -1
  187. package/dist/cjs/dso-viewer-grid.cjs.entry.js +2 -2
  188. package/dist/cjs/dsot-document-component-demo.cjs.entry.js +1 -1
  189. package/dist/cjs/floating-ui.dom-uZgU2YQo.js +1671 -0
  190. package/dist/cjs/floating-ui.dom-uZgU2YQo.js.map +1 -0
  191. package/dist/cjs/loader.cjs.js +1 -1
  192. package/dist/collection/collection-manifest.json +1 -0
  193. package/dist/collection/components/annotation/annotation.css +3 -0
  194. package/dist/collection/components/button-group/button-group.css +76 -0
  195. package/dist/collection/components/button-group/button-group.interfaces.js +2 -0
  196. package/dist/collection/components/button-group/button-group.interfaces.js.map +1 -0
  197. package/dist/collection/components/button-group/button-group.js +74 -0
  198. package/dist/collection/components/button-group/button-group.js.map +1 -0
  199. package/dist/collection/components/card/card.css +3 -0
  200. package/dist/collection/components/card/card.js +2 -2
  201. package/dist/collection/components/card-container/card-container.js +1 -1
  202. package/dist/collection/components/contact-information/contact-information.js +1 -1
  203. package/dist/collection/components/date-picker/date-picker.js +1 -1
  204. package/dist/collection/components/date-picker-legacy/date-picker-legacy.js +3 -3
  205. package/dist/collection/components/document-card/document-card.js +1 -1
  206. package/dist/collection/components/document-component/document-component.css +226 -5
  207. package/dist/collection/components/document-component/document-component.js +1 -1
  208. package/dist/collection/components/document-component-demo/document-component.demo.js +1 -1
  209. package/dist/collection/components/dropdown-menu/dropdown-menu.css +8 -0
  210. package/dist/collection/components/dropdown-menu/dropdown-menu.js +43 -176
  211. package/dist/collection/components/dropdown-menu/dropdown-menu.js.map +1 -1
  212. package/dist/collection/components/header/header.js +2 -2
  213. package/dist/collection/components/header/header.js.map +1 -1
  214. package/dist/collection/components/highlight-box/highlight-box.js +1 -1
  215. package/dist/collection/components/icon/icon.js +1 -1
  216. package/dist/collection/components/image-overlay/image-overlay.css +8 -8
  217. package/dist/collection/components/info/info.js +1 -1
  218. package/dist/collection/components/info-button/info-button.js +1 -1
  219. package/dist/collection/components/input-range/input-range.js +2 -2
  220. package/dist/collection/components/label/label.js +3 -3
  221. package/dist/collection/components/legend-item/legend-item.js +1 -1
  222. package/dist/collection/components/list-button/list-button.js +1 -1
  223. package/dist/collection/components/logo/logo.js +1 -1
  224. package/dist/collection/components/map-base-layers/map-base-layers.js +1 -1
  225. package/dist/collection/components/map-controls/map-controls.css +725 -184
  226. package/dist/collection/components/map-controls/map-controls.js +3 -3
  227. package/dist/collection/components/map-controls/map-controls.js.map +1 -1
  228. package/dist/collection/components/map-overlays/map-overlays.js +1 -1
  229. package/dist/collection/components/mark-bar/mark-bar.js +1 -1
  230. package/dist/collection/components/modal/modal.js +1 -1
  231. package/dist/collection/components/onboarding-tip/onboarding-tip.js +1 -1
  232. package/dist/collection/components/ozon-content/ozon-content.css +226 -5
  233. package/dist/collection/components/ozon-content/ozon-content.js +1 -1
  234. package/dist/collection/components/pagination/pagination.css +1 -2
  235. package/dist/collection/components/plekinfo-card/plekinfo-card.js +1 -1
  236. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  237. package/dist/collection/components/progress-indicator/progress-indicator.js +1 -1
  238. package/dist/collection/components/project-item/project-item.js +1 -1
  239. package/dist/collection/components/responsive-element/responsive-element.js +1 -1
  240. package/dist/collection/components/scrollable/scrollable.js +2 -2
  241. package/dist/collection/components/selectable/selectable.js +1 -1
  242. package/dist/collection/components/skiplink/skiplink.js +1 -1
  243. package/dist/collection/components/slide-toggle/slide-toggle.js +1 -1
  244. package/dist/collection/components/survey-rating/survey-rating.css +4 -4
  245. package/dist/collection/components/survey-rating/survey-rating.js +2 -2
  246. package/dist/collection/components/table/table.css +223 -5
  247. package/dist/collection/components/table/table.js +1 -1
  248. package/dist/collection/components/tabs/tabs.js +1 -1
  249. package/dist/collection/components/toggletip/toggletip.js +1 -1
  250. package/dist/collection/components/tooltip/tooltip.js +1 -1
  251. package/dist/collection/components/tree-view/tree-view.js +1 -1
  252. package/dist/collection/components/viewer-grid/viewer-grid.css +4 -4
  253. package/dist/collection/components/viewer-grid/viewer-grid.js +1 -1
  254. package/dist/components/annotation-locatie.js +1 -1
  255. package/dist/components/annotation-locatie.js.map +1 -1
  256. package/dist/components/button-group.js +58 -0
  257. package/dist/components/button-group.js.map +1 -0
  258. package/dist/components/document-component.js +2 -2
  259. package/dist/components/document-component.js.map +1 -1
  260. package/dist/components/dropdown-menu.js +46 -113
  261. package/dist/components/dropdown-menu.js.map +1 -1
  262. package/dist/components/dso-annotation-activiteit.js +1 -1
  263. package/dist/components/dso-annotation-activiteit.js.map +1 -1
  264. package/dist/components/dso-annotation-gebiedsaanwijzing.js +1 -1
  265. package/dist/components/dso-annotation-gebiedsaanwijzing.js.map +1 -1
  266. package/dist/components/dso-annotation-kaart.js +1 -1
  267. package/dist/components/dso-annotation-kaart.js.map +1 -1
  268. package/dist/components/dso-annotation-omgevingsnormwaarde.js +1 -1
  269. package/dist/components/dso-annotation-omgevingsnormwaarde.js.map +1 -1
  270. package/dist/components/dso-button-group.d.ts +11 -0
  271. package/dist/components/dso-button-group.js +9 -0
  272. package/dist/components/dso-button-group.js.map +1 -0
  273. package/dist/components/dso-card-container.js +1 -1
  274. package/dist/components/dso-card.js +3 -3
  275. package/dist/components/dso-card.js.map +1 -1
  276. package/dist/components/dso-contact-information.js +1 -1
  277. package/dist/components/dso-date-picker-legacy.js +3 -3
  278. package/dist/components/dso-date-picker.js +1 -1
  279. package/dist/components/dso-document-card.js +1 -1
  280. package/dist/components/dso-header.js +2 -2
  281. package/dist/components/dso-header.js.map +1 -1
  282. package/dist/components/dso-highlight-box.js +1 -1
  283. package/dist/components/dso-input-range.js +2 -2
  284. package/dist/components/dso-legend-item.js +1 -1
  285. package/dist/components/dso-list-button.js +1 -1
  286. package/dist/components/dso-logo.js +1 -1
  287. package/dist/components/dso-map-base-layers.js +1 -1
  288. package/dist/components/dso-map-controls.js +10 -4
  289. package/dist/components/dso-map-controls.js.map +1 -1
  290. package/dist/components/dso-map-overlays.js +1 -1
  291. package/dist/components/dso-mark-bar.js +1 -1
  292. package/dist/components/dso-modal.js +1 -1
  293. package/dist/components/dso-onboarding-tip.js +5 -1663
  294. package/dist/components/dso-onboarding-tip.js.map +1 -1
  295. package/dist/components/dso-pagination.js +1 -1
  296. package/dist/components/dso-pagination.js.map +1 -1
  297. package/dist/components/dso-plekinfo-card.js +1 -1
  298. package/dist/components/dso-progress-bar.js +1 -1
  299. package/dist/components/dso-project-item.js +1 -1
  300. package/dist/components/dso-skiplink.js +1 -1
  301. package/dist/components/dso-survey-rating.js +3 -3
  302. package/dist/components/dso-tabs.js +1 -1
  303. package/dist/components/dso-tree-view.js +1 -1
  304. package/dist/components/dso-viewer-grid.js +2 -2
  305. package/dist/components/dsot-document-component-demo.js +1 -1
  306. package/dist/components/floating-ui.dom.js +1663 -0
  307. package/dist/components/floating-ui.dom.js.map +1 -0
  308. package/dist/components/icon.js +1 -1
  309. package/dist/components/image-overlay.js +1 -1
  310. package/dist/components/index.d.ts +2 -0
  311. package/dist/components/index.js +1 -0
  312. package/dist/components/index.js.map +1 -1
  313. package/dist/components/info-button.js +1 -1
  314. package/dist/components/info.js +1 -1
  315. package/dist/components/label.js +3 -3
  316. package/dist/components/ozon-content.js +2 -2
  317. package/dist/components/ozon-content.js.map +1 -1
  318. package/dist/components/progress-indicator.js +1 -1
  319. package/dist/components/responsive-element.js +1 -1
  320. package/dist/components/scrollable.js +2 -2
  321. package/dist/components/selectable.js +1 -1
  322. package/dist/components/slide-toggle.js +1 -1
  323. package/dist/components/table.js +2 -2
  324. package/dist/components/table.js.map +1 -1
  325. package/dist/components/toggletip.js +1 -1
  326. package/dist/components/tooltip.js +1804 -8
  327. package/dist/components/tooltip.js.map +1 -1
  328. package/dist/dso-toolkit/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.esm.js.map +1 -1
  329. package/dist/dso-toolkit/dso-annotation-activiteit.entry.esm.js.map +1 -1
  330. package/dist/dso-toolkit/dso-annotation-gebiedsaanwijzing.entry.esm.js.map +1 -1
  331. package/dist/dso-toolkit/dso-annotation-kaart.entry.esm.js.map +1 -1
  332. package/dist/dso-toolkit/dso-annotation-locatie.dso-document-component.entry.esm.js.map +1 -1
  333. package/dist/dso-toolkit/dso-annotation-omgevingsnormwaarde.entry.esm.js.map +1 -1
  334. package/dist/dso-toolkit/dso-button-group.entry.esm.js.map +1 -0
  335. package/dist/dso-toolkit/dso-card.entry.esm.js.map +1 -1
  336. package/dist/dso-toolkit/dso-dropdown-menu.entry.esm.js.map +1 -1
  337. package/dist/dso-toolkit/dso-header.entry.esm.js.map +1 -1
  338. package/dist/dso-toolkit/dso-map-controls.entry.esm.js.map +1 -1
  339. package/dist/dso-toolkit/dso-onboarding-tip.entry.esm.js.map +1 -1
  340. package/dist/dso-toolkit/dso-pagination.entry.esm.js.map +1 -1
  341. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  342. package/dist/dso-toolkit/dso-tooltip.entry.esm.js.map +1 -1
  343. package/dist/dso-toolkit/{p-41f3732b.entry.js → p-088d0493.entry.js} +2 -2
  344. package/dist/dso-toolkit/{p-137404b4.entry.js → p-090ab6fc.entry.js} +2 -2
  345. package/dist/dso-toolkit/{p-b3a8f101.entry.js → p-099c6eb7.entry.js} +2 -2
  346. package/dist/dso-toolkit/{p-27f7b86f.entry.js → p-10901139.entry.js} +2 -2
  347. package/dist/dso-toolkit/p-15e3e714.entry.js +2 -0
  348. package/dist/dso-toolkit/{p-f41b0ba0.entry.js.map → p-15e3e714.entry.js.map} +1 -1
  349. package/dist/dso-toolkit/p-221c7378.entry.js +2 -0
  350. package/dist/dso-toolkit/{p-bfaa3608.entry.js.map → p-221c7378.entry.js.map} +1 -1
  351. package/dist/dso-toolkit/{p-68cff470.entry.js → p-2d4a4552.entry.js} +2 -2
  352. package/dist/dso-toolkit/p-2f070718.entry.js +2 -0
  353. package/dist/dso-toolkit/p-2f070718.entry.js.map +1 -0
  354. package/dist/dso-toolkit/{p-7bedc94d.entry.js → p-2ff601f9.entry.js} +2 -2
  355. package/dist/dso-toolkit/p-351746ae.entry.js +2 -0
  356. package/dist/dso-toolkit/p-351746ae.entry.js.map +1 -0
  357. package/dist/dso-toolkit/{p-5e821c40.entry.js → p-356f8d94.entry.js} +2 -2
  358. package/dist/dso-toolkit/{p-1db24923.entry.js → p-4231f2f8.entry.js} +2 -2
  359. package/dist/dso-toolkit/{p-ffa6ca48.entry.js → p-44d831b6.entry.js} +2 -2
  360. package/dist/dso-toolkit/{p-009bd60a.entry.js → p-451f3c78.entry.js} +2 -2
  361. package/dist/dso-toolkit/{p-071e8dff.entry.js → p-474cc813.entry.js} +2 -2
  362. package/dist/dso-toolkit/p-517cbc20.entry.js +2 -0
  363. package/dist/dso-toolkit/p-54820bbe.entry.js +2 -0
  364. package/dist/dso-toolkit/p-54820bbe.entry.js.map +1 -0
  365. package/dist/dso-toolkit/p-586838c3.entry.js +2 -0
  366. package/dist/dso-toolkit/p-586838c3.entry.js.map +1 -0
  367. package/dist/dso-toolkit/{p-a4618476.entry.js → p-595e12bd.entry.js} +2 -2
  368. package/dist/dso-toolkit/p-595e12bd.entry.js.map +1 -0
  369. package/dist/dso-toolkit/{p-7233cef7.entry.js → p-613f19f9.entry.js} +2 -2
  370. package/dist/dso-toolkit/p-6949021b.entry.js +2 -0
  371. package/dist/dso-toolkit/p-6949021b.entry.js.map +1 -0
  372. package/dist/dso-toolkit/{p-86658809.entry.js → p-74718de8.entry.js} +2 -2
  373. package/dist/dso-toolkit/{p-cc66c346.entry.js → p-83d63542.entry.js} +2 -2
  374. package/dist/dso-toolkit/p-87716442.entry.js +2 -0
  375. package/dist/dso-toolkit/p-87716442.entry.js.map +1 -0
  376. package/dist/dso-toolkit/{p-e4907ab7.entry.js → p-92f93d4d.entry.js} +2 -2
  377. package/dist/dso-toolkit/{p-13512a35.entry.js → p-9674e7d2.entry.js} +2 -2
  378. package/dist/dso-toolkit/{p-8ac044db.entry.js → p-97320fda.entry.js} +2 -2
  379. package/dist/dso-toolkit/{p-eb5e5d0e.entry.js → p-a10cea33.entry.js} +2 -2
  380. package/dist/dso-toolkit/{p-e9ea10ed.entry.js → p-a1dd8602.entry.js} +2 -2
  381. package/dist/dso-toolkit/{p-bcfeeafb.entry.js → p-a3fd0646.entry.js} +2 -2
  382. package/dist/dso-toolkit/{p-903c3603.entry.js → p-b9b0c72d.entry.js} +2 -2
  383. package/dist/dso-toolkit/p-c7318c7e.entry.js +2 -0
  384. package/dist/dso-toolkit/{p-c93fae9e.entry.js.map → p-c7318c7e.entry.js.map} +1 -1
  385. package/dist/dso-toolkit/{p-469b876f.entry.js → p-c9389342.entry.js} +2 -2
  386. package/dist/dso-toolkit/{p-6d3d29ac.entry.js → p-c9645d23.entry.js} +2 -2
  387. package/dist/dso-toolkit/p-cf388db9.entry.js +2 -0
  388. package/dist/dso-toolkit/{p-4f56a26d.entry.js → p-d3e56081.entry.js} +2 -2
  389. package/dist/dso-toolkit/{p-f32bced2.entry.js → p-e0bc1853.entry.js} +2 -2
  390. package/dist/dso-toolkit/{p-e5a25571.entry.js → p-e3883983.entry.js} +2 -2
  391. package/dist/dso-toolkit/p-e41ede6e.entry.js +2 -0
  392. package/dist/dso-toolkit/{p-11cd688b.entry.js.map → p-e41ede6e.entry.js.map} +1 -1
  393. package/dist/dso-toolkit/{p-f63d51f9.entry.js → p-e9f5382c.entry.js} +2 -2
  394. package/dist/dso-toolkit/p-eca54e01.entry.js +2 -0
  395. package/dist/dso-toolkit/{p-75091e9b.entry.js.map → p-eca54e01.entry.js.map} +1 -1
  396. package/dist/dso-toolkit/p-ee48009b.entry.js +2 -0
  397. package/dist/dso-toolkit/{p-bd7d4a27.entry.js.map → p-ee48009b.entry.js.map} +1 -1
  398. package/dist/dso-toolkit/{p-76eb0308.entry.js → p-f0579969.entry.js} +2 -2
  399. package/dist/dso-toolkit/{p-3e8bda7c.entry.js → p-f1f414b6.entry.js} +2 -2
  400. package/dist/dso-toolkit/p-ff80c101.entry.js +2 -0
  401. package/dist/dso-toolkit/{p-9cf46bde.entry.js.map → p-ff80c101.entry.js.map} +1 -1
  402. package/dist/dso-toolkit/p-gdsca1fx.js +2 -0
  403. package/dist/dso-toolkit/p-gdsca1fx.js.map +1 -0
  404. package/dist/esm/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.js.map +1 -1
  405. package/dist/esm/dso-alert_6.entry.js +5 -5
  406. package/dist/esm/dso-alert_6.entry.js.map +1 -1
  407. package/dist/esm/dso-annotation-activiteit.entry.js +1 -1
  408. package/dist/esm/dso-annotation-activiteit.entry.js.map +1 -1
  409. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js +1 -1
  410. package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js.map +1 -1
  411. package/dist/esm/dso-annotation-kaart.entry.js +1 -1
  412. package/dist/esm/dso-annotation-kaart.entry.js.map +1 -1
  413. package/dist/esm/dso-annotation-locatie.dso-document-component.entry.js.map +1 -1
  414. package/dist/esm/dso-annotation-locatie_2.entry.js +3 -3
  415. package/dist/esm/dso-annotation-locatie_2.entry.js.map +1 -1
  416. package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js +1 -1
  417. package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js.map +1 -1
  418. package/dist/esm/dso-button-group.entry.js +41 -0
  419. package/dist/esm/dso-button-group.entry.js.map +1 -0
  420. package/dist/esm/dso-card-container.entry.js +1 -1
  421. package/dist/esm/dso-card.entry.js +3 -3
  422. package/dist/esm/dso-card.entry.js.map +1 -1
  423. package/dist/esm/dso-contact-information.entry.js +1 -1
  424. package/dist/esm/dso-date-picker-legacy.entry.js +3 -3
  425. package/dist/esm/dso-date-picker.entry.js +1 -1
  426. package/dist/esm/dso-document-card.entry.js +1 -1
  427. package/dist/esm/dso-dropdown-menu.entry.js +44 -103
  428. package/dist/esm/dso-dropdown-menu.entry.js.map +1 -1
  429. package/dist/esm/dso-header.entry.js +2 -2
  430. package/dist/esm/dso-header.entry.js.map +1 -1
  431. package/dist/esm/dso-highlight-box.entry.js +1 -1
  432. package/dist/esm/dso-icon.entry.js +1 -1
  433. package/dist/esm/dso-info-button.entry.js +1 -1
  434. package/dist/esm/dso-info_2.entry.js +2 -2
  435. package/dist/esm/dso-input-range.entry.js +2 -2
  436. package/dist/esm/dso-label_3.entry.js +4 -4
  437. package/dist/esm/dso-legend-item.entry.js +1 -1
  438. package/dist/esm/dso-list-button.entry.js +1 -1
  439. package/dist/esm/dso-logo.entry.js +1 -1
  440. package/dist/esm/dso-map-base-layers.entry.js +1 -1
  441. package/dist/esm/dso-map-controls.entry.js +3 -3
  442. package/dist/esm/dso-map-controls.entry.js.map +1 -1
  443. package/dist/esm/dso-map-overlays.entry.js +1 -1
  444. package/dist/esm/dso-mark-bar.entry.js +1 -1
  445. package/dist/esm/dso-modal.entry.js +1 -1
  446. package/dist/esm/dso-onboarding-tip.entry.js +2 -1660
  447. package/dist/esm/dso-onboarding-tip.entry.js.map +1 -1
  448. package/dist/esm/dso-pagination.entry.js +1 -1
  449. package/dist/esm/dso-pagination.entry.js.map +1 -1
  450. package/dist/esm/dso-plekinfo-card.entry.js +1 -1
  451. package/dist/esm/dso-progress-bar.entry.js +1 -1
  452. package/dist/esm/dso-progress-indicator.entry.js +1 -1
  453. package/dist/esm/dso-project-item.entry.js +1 -1
  454. package/dist/esm/dso-responsive-element.entry.js +1 -1
  455. package/dist/esm/dso-scrollable.entry.js +2 -2
  456. package/dist/esm/dso-skiplink.entry.js +1 -1
  457. package/dist/esm/dso-survey-rating.entry.js +3 -3
  458. package/dist/esm/dso-tabs.entry.js +1 -1
  459. package/dist/esm/dso-toggletip.entry.js +1 -1
  460. package/dist/esm/dso-toolkit.js +1 -1
  461. package/dist/esm/dso-tooltip.entry.js +1800 -4
  462. package/dist/esm/dso-tooltip.entry.js.map +1 -1
  463. package/dist/esm/dso-tree-view.entry.js +1 -1
  464. package/dist/esm/dso-viewer-grid.entry.js +2 -2
  465. package/dist/esm/dsot-document-component-demo.entry.js +1 -1
  466. package/dist/esm/floating-ui.dom-gdsca1fx.js +1663 -0
  467. package/dist/esm/floating-ui.dom-gdsca1fx.js.map +1 -0
  468. package/dist/esm/loader.js +1 -1
  469. package/dist/types/components/button-group/button-group.d.ts +16 -0
  470. package/dist/types/components/button-group/button-group.interfaces.d.ts +1 -0
  471. package/dist/types/components/dropdown-menu/dropdown-menu.d.ts +3 -20
  472. package/dist/types/components/map-controls/map-controls.d.ts +2 -2
  473. package/dist/types/components.d.ts +25 -26
  474. package/package.json +3 -3
  475. package/dist/bundle/p-CBwbkAC7.js +0 -314
  476. package/dist/bundle/p-CBwbkAC7.js.map +0 -1
  477. package/dist/bundle/p-CagCGFPb.js +0 -80
  478. package/dist/bundle/p-CsY83cJO.js +0 -1801
  479. package/dist/bundle/p-CsY83cJO.js.map +0 -1
  480. package/dist/bundle/p-Dp31hMfn.js.map +0 -1
  481. package/dist/cjs/has-overflow-B_4p67wC.js.map +0 -1
  482. package/dist/components/has-overflow.js +0 -1801
  483. package/dist/components/has-overflow.js.map +0 -1
  484. package/dist/dso-toolkit/p-11cd688b.entry.js +0 -2
  485. package/dist/dso-toolkit/p-2968e740.entry.js +0 -2
  486. package/dist/dso-toolkit/p-2968e740.entry.js.map +0 -1
  487. package/dist/dso-toolkit/p-5327558b.entry.js +0 -2
  488. package/dist/dso-toolkit/p-75091e9b.entry.js +0 -2
  489. package/dist/dso-toolkit/p-858970da.entry.js +0 -2
  490. package/dist/dso-toolkit/p-858970da.entry.js.map +0 -1
  491. package/dist/dso-toolkit/p-9cf46bde.entry.js +0 -2
  492. package/dist/dso-toolkit/p-CsY83cJO.js +0 -2
  493. package/dist/dso-toolkit/p-CsY83cJO.js.map +0 -1
  494. package/dist/dso-toolkit/p-a4618476.entry.js.map +0 -1
  495. package/dist/dso-toolkit/p-ad8a1705.entry.js +0 -2
  496. package/dist/dso-toolkit/p-b61f1d16.entry.js +0 -2
  497. package/dist/dso-toolkit/p-b61f1d16.entry.js.map +0 -1
  498. package/dist/dso-toolkit/p-bd7d4a27.entry.js +0 -2
  499. package/dist/dso-toolkit/p-bfaa3608.entry.js +0 -2
  500. package/dist/dso-toolkit/p-c93fae9e.entry.js +0 -2
  501. package/dist/dso-toolkit/p-cad0c5d9.entry.js +0 -2
  502. package/dist/dso-toolkit/p-cad0c5d9.entry.js.map +0 -1
  503. package/dist/dso-toolkit/p-cea64895.entry.js +0 -2
  504. package/dist/dso-toolkit/p-cea64895.entry.js.map +0 -1
  505. package/dist/dso-toolkit/p-f41b0ba0.entry.js +0 -2
  506. package/dist/esm/has-overflow-CsY83cJO.js +0 -1801
  507. package/dist/esm/has-overflow-CsY83cJO.js.map +0 -1
  508. /package/dist/dso-toolkit/{p-41f3732b.entry.js.map → p-088d0493.entry.js.map} +0 -0
  509. /package/dist/dso-toolkit/{p-137404b4.entry.js.map → p-090ab6fc.entry.js.map} +0 -0
  510. /package/dist/dso-toolkit/{p-b3a8f101.entry.js.map → p-099c6eb7.entry.js.map} +0 -0
  511. /package/dist/dso-toolkit/{p-27f7b86f.entry.js.map → p-10901139.entry.js.map} +0 -0
  512. /package/dist/dso-toolkit/{p-68cff470.entry.js.map → p-2d4a4552.entry.js.map} +0 -0
  513. /package/dist/dso-toolkit/{p-7bedc94d.entry.js.map → p-2ff601f9.entry.js.map} +0 -0
  514. /package/dist/dso-toolkit/{p-5e821c40.entry.js.map → p-356f8d94.entry.js.map} +0 -0
  515. /package/dist/dso-toolkit/{p-1db24923.entry.js.map → p-4231f2f8.entry.js.map} +0 -0
  516. /package/dist/dso-toolkit/{p-ffa6ca48.entry.js.map → p-44d831b6.entry.js.map} +0 -0
  517. /package/dist/dso-toolkit/{p-009bd60a.entry.js.map → p-451f3c78.entry.js.map} +0 -0
  518. /package/dist/dso-toolkit/{p-071e8dff.entry.js.map → p-474cc813.entry.js.map} +0 -0
  519. /package/dist/dso-toolkit/{p-5327558b.entry.js.map → p-517cbc20.entry.js.map} +0 -0
  520. /package/dist/dso-toolkit/{p-7233cef7.entry.js.map → p-613f19f9.entry.js.map} +0 -0
  521. /package/dist/dso-toolkit/{p-86658809.entry.js.map → p-74718de8.entry.js.map} +0 -0
  522. /package/dist/dso-toolkit/{p-cc66c346.entry.js.map → p-83d63542.entry.js.map} +0 -0
  523. /package/dist/dso-toolkit/{p-e4907ab7.entry.js.map → p-92f93d4d.entry.js.map} +0 -0
  524. /package/dist/dso-toolkit/{p-13512a35.entry.js.map → p-9674e7d2.entry.js.map} +0 -0
  525. /package/dist/dso-toolkit/{p-8ac044db.entry.js.map → p-97320fda.entry.js.map} +0 -0
  526. /package/dist/dso-toolkit/{p-eb5e5d0e.entry.js.map → p-a10cea33.entry.js.map} +0 -0
  527. /package/dist/dso-toolkit/{p-e9ea10ed.entry.js.map → p-a1dd8602.entry.js.map} +0 -0
  528. /package/dist/dso-toolkit/{p-bcfeeafb.entry.js.map → p-a3fd0646.entry.js.map} +0 -0
  529. /package/dist/dso-toolkit/{p-903c3603.entry.js.map → p-b9b0c72d.entry.js.map} +0 -0
  530. /package/dist/dso-toolkit/{p-469b876f.entry.js.map → p-c9389342.entry.js.map} +0 -0
  531. /package/dist/dso-toolkit/{p-6d3d29ac.entry.js.map → p-c9645d23.entry.js.map} +0 -0
  532. /package/dist/dso-toolkit/{p-ad8a1705.entry.js.map → p-cf388db9.entry.js.map} +0 -0
  533. /package/dist/dso-toolkit/{p-4f56a26d.entry.js.map → p-d3e56081.entry.js.map} +0 -0
  534. /package/dist/dso-toolkit/{p-f32bced2.entry.js.map → p-e0bc1853.entry.js.map} +0 -0
  535. /package/dist/dso-toolkit/{p-e5a25571.entry.js.map → p-e3883983.entry.js.map} +0 -0
  536. /package/dist/dso-toolkit/{p-f63d51f9.entry.js.map → p-e9f5382c.entry.js.map} +0 -0
  537. /package/dist/dso-toolkit/{p-76eb0308.entry.js.map → p-f0579969.entry.js.map} +0 -0
  538. /package/dist/dso-toolkit/{p-3e8bda7c.entry.js.map → p-f1f414b6.entry.js.map} +0 -0
@@ -1,9 +1,8 @@
1
- import { createPopper } from "@popperjs/core";
1
+ import { autoUpdate, computePosition, flip, offset } from "@floating-ui/dom";
2
2
  import { Host, h } from "@stencil/core";
3
3
  import { tabbable } from "tabbable";
4
4
  import { v4 as uuidv4 } from "uuid";
5
5
  import { getActiveElement } from "../../utils/get-active-element";
6
- import { hasOverflow } from "../../utils/has-overflow";
7
6
  export class DropdownMenu {
8
7
  constructor() {
9
8
  /**
@@ -23,70 +22,17 @@ export class DropdownMenu {
23
22
  * Whether the menu is checkable.
24
23
  */
25
24
  this.checkable = false;
26
- /**
27
- * Set position strategy of dropdown options
28
- */
29
- this.strategy = "auto";
30
25
  this.focusOutListener = (event) => {
31
26
  if (this.open &&
32
27
  (!(event.relatedTarget instanceof HTMLElement) || !this.tabbables(true).includes(event.relatedTarget))) {
33
- this.open = false;
28
+ this.toggleOptions(false);
34
29
  }
35
30
  };
36
31
  this.escape = () => {
37
32
  this.button.focus();
38
- this.open = false;
33
+ this.toggleOptions(false);
39
34
  };
40
35
  }
41
- watchPosition() {
42
- if (!this.popper) {
43
- return;
44
- }
45
- this.popper.setOptions({
46
- placement: this.placement || (this.dropdownAlign === "right" ? "bottom-end" : "bottom-start"),
47
- });
48
- }
49
- watchOptionsOffset() {
50
- var _a;
51
- (_a = this.popper) === null || _a === void 0 ? void 0 : _a.setOptions({
52
- modifiers: [
53
- {
54
- name: "offset",
55
- options: {
56
- offset: [0, this.dropdownOptionsOffset],
57
- },
58
- },
59
- ],
60
- });
61
- }
62
- watchStrategy() {
63
- this.setStrategy();
64
- }
65
- setStrategy() {
66
- if (!this.popper) {
67
- return;
68
- }
69
- if (this.strategy === "absolute" || this.strategy === "fixed") {
70
- this.popper.setOptions({
71
- strategy: this.strategy,
72
- });
73
- return;
74
- }
75
- let element = this.host;
76
- const boundary = this.boundary || document;
77
- while (element && element.parentNode !== boundary) {
78
- element = element.parentNode instanceof ShadowRoot ? element.parentNode.host : element.parentElement;
79
- if (element !== null && hasOverflow(element)) {
80
- this.popper.setOptions({
81
- strategy: "fixed",
82
- });
83
- return;
84
- }
85
- }
86
- this.popper.setOptions({
87
- strategy: "absolute",
88
- });
89
- }
90
36
  get button() {
91
37
  const button = this.host.querySelector('button[slot="toggle"]');
92
38
  if (!(button instanceof HTMLButtonElement)) {
@@ -104,50 +50,20 @@ export class DropdownMenu {
104
50
  if (!this.button.id) {
105
51
  this.button.id = uuidv4();
106
52
  }
107
- const options = this.host.querySelector(".dso-dropdown-options");
108
- if (!options) {
109
- throw new ReferenceError("Dropdown options not found");
53
+ const dropdownOptionsElement = this.host.querySelector(".dso-dropdown-options");
54
+ if (!(dropdownOptionsElement instanceof HTMLElement)) {
55
+ throw new Error("dropdown options element is not instanceof HTMLElement");
110
56
  }
111
- options.setAttribute("role", "menu");
112
- options.setAttribute("aria-labelledby", this.button.id);
57
+ dropdownOptionsElement.setAttribute("role", "menu");
58
+ dropdownOptionsElement.setAttribute("aria-labelledby", this.button.id);
113
59
  for (const ul of Array.from(this.host.getElementsByTagName("ul"))) {
114
60
  ul.setAttribute("role", "group");
115
61
  for (const li of Array.from(ul.getElementsByTagName("li"))) {
116
62
  li.setAttribute("role", "none");
117
63
  }
118
64
  }
119
- if (this.popper) {
120
- return;
121
- }
122
- const dropdownOptionsElement = this.host.querySelector(".dso-dropdown-options");
123
- if (!(dropdownOptionsElement instanceof HTMLElement)) {
124
- throw new Error("dropdown options element is not instanceof HTMLElement");
125
- }
126
- this.popper = createPopper(this.button, dropdownOptionsElement, {
127
- placement: this.placement || (this.dropdownAlign === "right" ? "bottom-end" : "bottom-start"),
128
- modifiers: [
129
- {
130
- name: "offset",
131
- options: {
132
- offset: [0, this.dropdownOptionsOffset],
133
- },
134
- },
135
- {
136
- name: "preventOverflow",
137
- options: {
138
- boundary: this.boundary ? document.querySelector(this.boundary) : null,
139
- },
140
- enabled: this.boundary !== undefined,
141
- },
142
- ],
143
- });
144
65
  }
145
66
  componentDidRender() {
146
- var _a;
147
- this.setStrategy();
148
- if (this.open) {
149
- (_a = this.popper) === null || _a === void 0 ? void 0 : _a.update();
150
- }
151
67
  for (const li of Array.from(this.host.getElementsByTagName("li"))) {
152
68
  for (const tab of this.host.isConnected ? tabbable(li) : []) {
153
69
  tab.setAttribute("role", this.checkable ? "menuitemradio" : "menuitem");
@@ -157,14 +73,34 @@ export class DropdownMenu {
157
73
  }
158
74
  }
159
75
  this.button.setAttribute("aria-expanded", this.open ? "true" : "false");
76
+ if (this.popoverElement && !this.cleanUp) {
77
+ const element = this.popoverElement;
78
+ this.cleanUp = autoUpdate(this.button, element, () => {
79
+ computePosition(this.button, element, {
80
+ strategy: "fixed",
81
+ middleware: [
82
+ offset(this.dropdownOptionsOffset),
83
+ flip({
84
+ padding: this.dropdownOptionsOffset,
85
+ }),
86
+ ],
87
+ placement: this.dropdownAlign === "right" ? "bottom-end" : "bottom-start",
88
+ }).then(({ x, y }) => {
89
+ Object.assign(element.style, {
90
+ left: `${x}px`,
91
+ top: `${y}px`,
92
+ });
93
+ });
94
+ });
95
+ }
160
96
  }
161
97
  onClick(event) {
162
98
  const composedPath = event.composedPath();
163
99
  if (this.isToggleButtonEvent(composedPath)) {
164
- this.open = !this.open;
100
+ this.toggleOptions();
165
101
  }
166
102
  else if (this.open && this.isMenuItemEvent(composedPath)) {
167
- this.open = false;
103
+ this.toggleOptions(false);
168
104
  }
169
105
  }
170
106
  isToggleButtonEvent(composedPath) {
@@ -173,9 +109,19 @@ export class DropdownMenu {
173
109
  isMenuItemEvent(composedPath) {
174
110
  return composedPath.includes(this.host) && !this.isToggleButtonEvent(composedPath);
175
111
  }
112
+ toggleOptions(force) {
113
+ var _a, _b;
114
+ this.open = force !== null && force !== void 0 ? force : !this.open;
115
+ if ((_a = this.popoverElement) === null || _a === void 0 ? void 0 : _a.isConnected) {
116
+ (_b = this.popoverElement) === null || _b === void 0 ? void 0 : _b.togglePopover(this.open);
117
+ }
118
+ if (!this.open && this.cleanUp) {
119
+ this.cleanUp();
120
+ this.cleanUp = undefined;
121
+ }
122
+ }
176
123
  disconnectedCallback() {
177
- var _a;
178
- (_a = this.popper) === null || _a === void 0 ? void 0 : _a.destroy();
124
+ this.toggleOptions(false);
179
125
  }
180
126
  keyDownListener(event) {
181
127
  if (event.defaultPrevented || !this.open) {
@@ -222,7 +168,7 @@ export class DropdownMenu {
222
168
  (_a = tabbables[nextIndex]) === null || _a === void 0 ? void 0 : _a.focus();
223
169
  }
224
170
  render() {
225
- return (h(Host, { key: '8600535aa05418e2614dc9856681760986966409', onFocusout: this.focusOutListener }, h("slot", { key: '81a01d41c4497ea5564b5733a6beb72b95e11ccc', name: "toggle" }), h("div", { key: '0c0ff5f6e19dec3c03e68bee26fc81aba6b47815', hidden: !this.open }, h("slot", { key: 'f200133562ea767cba2889a190ec408a7bd8a675' }))));
171
+ return (h(Host, { key: '9afd8972737639f89ad1a4692630873b783e4565', onFocusout: this.focusOutListener }, h("slot", { key: '1dcb47d44aa64263048235e5ef126a9c021fc2d9', name: "toggle" }), h("div", { key: 'ad7d1edefabae59820c974da1b2a37088baaf1ce', popover: "manual", ref: (element) => (this.popoverElement = element) }, h("slot", { key: 'b2a5188261a9edca8d948365152d817b69104936' }))));
226
172
  }
227
173
  static get is() { return "dso-dropdown-menu"; }
228
174
  static get encapsulation() { return "shadow"; }
@@ -317,89 +263,10 @@ export class DropdownMenu {
317
263
  "setter": false,
318
264
  "reflect": false,
319
265
  "defaultValue": "false"
320
- },
321
- "boundary": {
322
- "type": "string",
323
- "attribute": "boundary",
324
- "mutable": false,
325
- "complexType": {
326
- "original": "string",
327
- "resolved": "string | undefined",
328
- "references": {}
329
- },
330
- "required": false,
331
- "optional": true,
332
- "docs": {
333
- "tags": [],
334
- "text": "Selector for the element the dropdown options should not be overflowing."
335
- },
336
- "getter": false,
337
- "setter": false,
338
- "reflect": false
339
- },
340
- "placement": {
341
- "type": "string",
342
- "attribute": "placement",
343
- "mutable": false,
344
- "complexType": {
345
- "original": "Placement",
346
- "resolved": "\"auto\" | \"auto-end\" | \"auto-start\" | \"bottom\" | \"bottom-end\" | \"bottom-start\" | \"left\" | \"left-end\" | \"left-start\" | \"right\" | \"right-end\" | \"right-start\" | \"top\" | \"top-end\" | \"top-start\" | undefined",
347
- "references": {
348
- "Placement": {
349
- "location": "import",
350
- "path": "@popperjs/core",
351
- "id": "../../node_modules/@popperjs/core/index.d.ts::Placement"
352
- }
353
- }
354
- },
355
- "required": false,
356
- "optional": true,
357
- "docs": {
358
- "tags": [],
359
- "text": "Force placement of dropdown.\r\n\r\nThis property overrides `dropdownAlign`."
360
- },
361
- "getter": false,
362
- "setter": false,
363
- "reflect": false
364
- },
365
- "strategy": {
366
- "type": "string",
367
- "attribute": "strategy",
368
- "mutable": false,
369
- "complexType": {
370
- "original": "\"auto\" | \"absolute\" | \"fixed\"",
371
- "resolved": "\"absolute\" | \"auto\" | \"fixed\"",
372
- "references": {}
373
- },
374
- "required": false,
375
- "optional": false,
376
- "docs": {
377
- "tags": [],
378
- "text": "Set position strategy of dropdown options"
379
- },
380
- "getter": false,
381
- "setter": false,
382
- "reflect": false,
383
- "defaultValue": "\"auto\""
384
266
  }
385
267
  };
386
268
  }
387
269
  static get elementRef() { return "host"; }
388
- static get watchers() {
389
- return [{
390
- "propName": "placement",
391
- "methodName": "watchPosition"
392
- }, {
393
- "propName": "dropdownAlign",
394
- "methodName": "watchPosition"
395
- }, {
396
- "propName": "dropdownOptionsOffset",
397
- "methodName": "watchOptionsOffset"
398
- }, {
399
- "propName": "strategy",
400
- "methodName": "watchStrategy"
401
- }];
402
- }
403
270
  static get listeners() {
404
271
  return [{
405
272
  "name": "click",
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu.js","sourceRoot":"","sources":["../../../../src/components/dropdown-menu/dropdown-menu.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Instance as PopperInstance, Placement, createPopper } from \"@popperjs/core\";\r\nimport { Component, Element, Host, Listen, Prop, Watch, h } from \"@stencil/core\";\r\nimport { FocusableElement, tabbable } from \"tabbable\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { getActiveElement } from \"../../utils/get-active-element\";\r\nimport { hasOverflow } from \"../../utils/has-overflow\";\r\n\r\n@Component({\r\n tag: \"dso-dropdown-menu\",\r\n styleUrl: \"dropdown-menu.scss\",\r\n shadow: true,\r\n})\r\nexport class DropdownMenu {\r\n /**\r\n * Whether the menu is open or closed.\r\n * This attribute is reflected and mutable.\r\n */\r\n @Prop({ reflect: true, mutable: true })\r\n open = false;\r\n\r\n /**\r\n * Alignment of the dropdown\r\n */\r\n @Prop()\r\n dropdownAlign: \"left\" | \"right\" = \"left\";\r\n\r\n /**\r\n * Space between button and dropdown options\r\n */\r\n @Prop()\r\n dropdownOptionsOffset = 2;\r\n\r\n /**\r\n * Whether the menu is checkable.\r\n */\r\n @Prop()\r\n checkable = false;\r\n\r\n /**\r\n * Selector for the element the dropdown options should not be overflowing.\r\n */\r\n @Prop()\r\n boundary?: string;\r\n\r\n /**\r\n * Force placement of dropdown.\r\n *\r\n * This property overrides `dropdownAlign`.\r\n */\r\n @Prop()\r\n placement?: Placement;\r\n\r\n /**\r\n * Set position strategy of dropdown options\r\n */\r\n @Prop()\r\n strategy: \"auto\" | \"absolute\" | \"fixed\" = \"auto\";\r\n\r\n @Watch(\"placement\")\r\n @Watch(\"dropdownAlign\")\r\n watchPosition() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n this.popper.setOptions({\r\n placement: this.placement || (this.dropdownAlign === \"right\" ? \"bottom-end\" : \"bottom-start\"),\r\n });\r\n }\r\n\r\n @Watch(\"dropdownOptionsOffset\")\r\n watchOptionsOffset() {\r\n this.popper?.setOptions({\r\n modifiers: [\r\n {\r\n name: \"offset\",\r\n options: {\r\n offset: [0, this.dropdownOptionsOffset],\r\n },\r\n },\r\n ],\r\n });\r\n }\r\n\r\n @Watch(\"strategy\")\r\n watchStrategy() {\r\n this.setStrategy();\r\n }\r\n\r\n private setStrategy() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n if (this.strategy === \"absolute\" || this.strategy === \"fixed\") {\r\n this.popper.setOptions({\r\n strategy: this.strategy,\r\n });\r\n\r\n return;\r\n }\r\n\r\n let element: Element | null = this.host;\r\n\r\n const boundary = this.boundary || document;\r\n\r\n while (element && element.parentNode !== boundary) {\r\n element = element.parentNode instanceof ShadowRoot ? element.parentNode.host : element.parentElement;\r\n if (element !== null && hasOverflow(element)) {\r\n this.popper.setOptions({\r\n strategy: \"fixed\",\r\n });\r\n\r\n return;\r\n }\r\n }\r\n\r\n this.popper.setOptions({\r\n strategy: \"absolute\",\r\n });\r\n }\r\n\r\n @Element()\r\n host!: HTMLDsoDropdownMenuElement;\r\n\r\n private popper: PopperInstance | undefined;\r\n\r\n get button(): HTMLButtonElement {\r\n const button = this.host.querySelector('button[slot=\"toggle\"]');\r\n\r\n if (!(button instanceof HTMLButtonElement)) {\r\n throw new ReferenceError(\"Mandatory toggle button not found\");\r\n }\r\n\r\n return button;\r\n }\r\n\r\n private tabbables(withButton: boolean): FocusableElement[] {\r\n const tabbables = this.host.isConnected ? tabbable(this.host) : [];\r\n\r\n return withButton ? tabbables : tabbables.filter((element) => element !== this.button);\r\n }\r\n\r\n componentDidLoad() {\r\n this.button.setAttribute(\"aria-haspopup\", \"menu\");\r\n this.button.setAttribute(\"aria-expanded\", \"false\");\r\n if (!this.button.id) {\r\n this.button.id = uuidv4();\r\n }\r\n\r\n const options = this.host.querySelector(\".dso-dropdown-options\");\r\n if (!options) {\r\n throw new ReferenceError(\"Dropdown options not found\");\r\n }\r\n\r\n options.setAttribute(\"role\", \"menu\");\r\n options.setAttribute(\"aria-labelledby\", this.button.id);\r\n\r\n for (const ul of Array.from(this.host.getElementsByTagName(\"ul\"))) {\r\n ul.setAttribute(\"role\", \"group\");\r\n for (const li of Array.from(ul.getElementsByTagName(\"li\"))) {\r\n li.setAttribute(\"role\", \"none\");\r\n }\r\n }\r\n\r\n if (this.popper) {\r\n return;\r\n }\r\n\r\n const dropdownOptionsElement = this.host.querySelector(\".dso-dropdown-options\");\r\n\r\n if (!(dropdownOptionsElement instanceof HTMLElement)) {\r\n throw new Error(\"dropdown options element is not instanceof HTMLElement\");\r\n }\r\n\r\n this.popper = createPopper(this.button, dropdownOptionsElement, {\r\n placement: this.placement || (this.dropdownAlign === \"right\" ? \"bottom-end\" : \"bottom-start\"),\r\n modifiers: [\r\n {\r\n name: \"offset\",\r\n options: {\r\n offset: [0, this.dropdownOptionsOffset],\r\n },\r\n },\r\n {\r\n name: \"preventOverflow\",\r\n options: {\r\n boundary: this.boundary ? document.querySelector(this.boundary) : null,\r\n },\r\n enabled: this.boundary !== undefined,\r\n },\r\n ],\r\n });\r\n }\r\n\r\n componentDidRender() {\r\n this.setStrategy();\r\n if (this.open) {\r\n this.popper?.update();\r\n }\r\n\r\n for (const li of Array.from(this.host.getElementsByTagName(\"li\"))) {\r\n for (const tab of this.host.isConnected ? tabbable(li) : []) {\r\n tab.setAttribute(\"role\", this.checkable ? \"menuitemradio\" : \"menuitem\");\r\n\r\n if (this.checkable) {\r\n tab.setAttribute(\"aria-checked\", li.classList.contains(\"dso-checked\").toString());\r\n }\r\n }\r\n }\r\n\r\n this.button.setAttribute(\"aria-expanded\", this.open ? \"true\" : \"false\");\r\n }\r\n\r\n @Listen(\"click\", { target: \"window\" })\r\n onClick(event: MouseEvent) {\r\n const composedPath = event.composedPath();\r\n\r\n if (this.isToggleButtonEvent(composedPath)) {\r\n this.open = !this.open;\r\n } else if (this.open && this.isMenuItemEvent(composedPath)) {\r\n this.open = false;\r\n }\r\n }\r\n\r\n private isToggleButtonEvent(composedPath: EventTarget[]) {\r\n return composedPath.includes(this.button);\r\n }\r\n\r\n private isMenuItemEvent(composedPath: EventTarget[]) {\r\n return composedPath.includes(this.host) && !this.isToggleButtonEvent(composedPath);\r\n }\r\n\r\n disconnectedCallback() {\r\n this.popper?.destroy();\r\n }\r\n\r\n private focusOutListener = (event: FocusEvent) => {\r\n if (\r\n this.open &&\r\n (!(event.relatedTarget instanceof HTMLElement) || !this.tabbables(true).includes(event.relatedTarget))\r\n ) {\r\n this.open = false;\r\n }\r\n };\r\n\r\n @Listen(\"keydown\", { target: \"window\" })\r\n keyDownListener(event: KeyboardEvent) {\r\n if (event.defaultPrevented || !this.open) {\r\n return;\r\n }\r\n\r\n switch (event.key) {\r\n case \"Tab\":\r\n if (event.shiftKey) {\r\n this.tabInPopup(this.tabbables(true), -1);\r\n } else {\r\n this.tabInPopup(this.tabbables(true), 1);\r\n }\r\n\r\n break;\r\n case \"ArrowDown\":\r\n this.tabInPopup(this.tabbables(false), 1);\r\n break;\r\n\r\n case \"ArrowUp\":\r\n this.tabInPopup(this.tabbables(false), -1);\r\n break;\r\n\r\n case \"Escape\":\r\n this.escape();\r\n break;\r\n\r\n case \" \":\r\n if (event.target instanceof HTMLElement) {\r\n event.target.click();\r\n }\r\n\r\n break;\r\n\r\n default:\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n }\r\n\r\n private tabInPopup(tabbables: FocusableElement[], direction: number) {\r\n const currentIndex = tabbables.findIndex((e) => e === getActiveElement());\r\n\r\n let nextIndex = currentIndex + direction;\r\n if (nextIndex >= tabbables.length) {\r\n nextIndex = 0;\r\n } else if (nextIndex < 0) {\r\n nextIndex = tabbables.length - 1;\r\n }\r\n\r\n tabbables[nextIndex]?.focus();\r\n }\r\n\r\n private escape = () => {\r\n this.button.focus();\r\n this.open = false;\r\n };\r\n\r\n render() {\r\n return (\r\n <Host onFocusout={this.focusOutListener}>\r\n <slot name=\"toggle\" />\r\n <div hidden={!this.open}>\r\n <slot />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"dropdown-menu.js","sourceRoot":"","sources":["../../../../src/components/dropdown-menu/dropdown-menu.tsx"],"names":[],"mappings":"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","sourcesContent":["import { autoUpdate, computePosition, flip, offset } from \"@floating-ui/dom\";\r\nimport { Component, Element, Host, Listen, Prop, h } from \"@stencil/core\";\r\nimport { FocusableElement, tabbable } from \"tabbable\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { getActiveElement } from \"../../utils/get-active-element\";\r\n\r\n@Component({\r\n tag: \"dso-dropdown-menu\",\r\n styleUrl: \"dropdown-menu.scss\",\r\n shadow: true,\r\n})\r\nexport class DropdownMenu {\r\n /**\r\n * Whether the menu is open or closed.\r\n * This attribute is reflected and mutable.\r\n */\r\n @Prop({ reflect: true, mutable: true })\r\n open = false;\r\n\r\n /**\r\n * Alignment of the dropdown\r\n */\r\n @Prop()\r\n dropdownAlign: \"left\" | \"right\" = \"left\";\r\n\r\n /**\r\n * Space between button and dropdown options\r\n */\r\n @Prop()\r\n dropdownOptionsOffset = 2;\r\n\r\n /**\r\n * Whether the menu is checkable.\r\n */\r\n @Prop()\r\n checkable = false;\r\n\r\n @Element()\r\n host!: HTMLDsoDropdownMenuElement;\r\n\r\n private cleanUp: ReturnType<typeof autoUpdate> | undefined;\r\n\r\n private popoverElement: HTMLDivElement | undefined;\r\n\r\n get button(): HTMLButtonElement {\r\n const button = this.host.querySelector('button[slot=\"toggle\"]');\r\n\r\n if (!(button instanceof HTMLButtonElement)) {\r\n throw new ReferenceError(\"Mandatory toggle button not found\");\r\n }\r\n\r\n return button;\r\n }\r\n\r\n private tabbables(withButton: boolean): FocusableElement[] {\r\n const tabbables = this.host.isConnected ? tabbable(this.host) : [];\r\n\r\n return withButton ? tabbables : tabbables.filter((element) => element !== this.button);\r\n }\r\n\r\n componentDidLoad() {\r\n this.button.setAttribute(\"aria-haspopup\", \"menu\");\r\n this.button.setAttribute(\"aria-expanded\", \"false\");\r\n if (!this.button.id) {\r\n this.button.id = uuidv4();\r\n }\r\n\r\n const dropdownOptionsElement = this.host.querySelector(\".dso-dropdown-options\");\r\n\r\n if (!(dropdownOptionsElement instanceof HTMLElement)) {\r\n throw new Error(\"dropdown options element is not instanceof HTMLElement\");\r\n }\r\n\r\n dropdownOptionsElement.setAttribute(\"role\", \"menu\");\r\n dropdownOptionsElement.setAttribute(\"aria-labelledby\", this.button.id);\r\n\r\n for (const ul of Array.from(this.host.getElementsByTagName(\"ul\"))) {\r\n ul.setAttribute(\"role\", \"group\");\r\n for (const li of Array.from(ul.getElementsByTagName(\"li\"))) {\r\n li.setAttribute(\"role\", \"none\");\r\n }\r\n }\r\n }\r\n\r\n componentDidRender() {\r\n for (const li of Array.from(this.host.getElementsByTagName(\"li\"))) {\r\n for (const tab of this.host.isConnected ? tabbable(li) : []) {\r\n tab.setAttribute(\"role\", this.checkable ? \"menuitemradio\" : \"menuitem\");\r\n\r\n if (this.checkable) {\r\n tab.setAttribute(\"aria-checked\", li.classList.contains(\"dso-checked\").toString());\r\n }\r\n }\r\n }\r\n\r\n this.button.setAttribute(\"aria-expanded\", this.open ? \"true\" : \"false\");\r\n\r\n if (this.popoverElement && !this.cleanUp) {\r\n const element = this.popoverElement;\r\n this.cleanUp = autoUpdate(this.button, element, () => {\r\n computePosition(this.button, element, {\r\n strategy: \"fixed\",\r\n middleware: [\r\n offset(this.dropdownOptionsOffset),\r\n flip({\r\n padding: this.dropdownOptionsOffset,\r\n }),\r\n ],\r\n placement: this.dropdownAlign === \"right\" ? \"bottom-end\" : \"bottom-start\",\r\n }).then(({ x, y }) => {\r\n Object.assign(element.style, {\r\n left: `${x}px`,\r\n top: `${y}px`,\r\n });\r\n });\r\n });\r\n }\r\n }\r\n\r\n @Listen(\"click\", { target: \"window\" })\r\n onClick(event: MouseEvent) {\r\n const composedPath = event.composedPath();\r\n\r\n if (this.isToggleButtonEvent(composedPath)) {\r\n this.toggleOptions();\r\n } else if (this.open && this.isMenuItemEvent(composedPath)) {\r\n this.toggleOptions(false);\r\n }\r\n }\r\n\r\n private isToggleButtonEvent(composedPath: EventTarget[]) {\r\n return composedPath.includes(this.button);\r\n }\r\n\r\n private isMenuItemEvent(composedPath: EventTarget[]) {\r\n return composedPath.includes(this.host) && !this.isToggleButtonEvent(composedPath);\r\n }\r\n\r\n private toggleOptions(force?: boolean) {\r\n this.open = force ?? !this.open;\r\n if (this.popoverElement?.isConnected) {\r\n this.popoverElement?.togglePopover(this.open);\r\n }\r\n\r\n if (!this.open && this.cleanUp) {\r\n this.cleanUp();\r\n this.cleanUp = undefined;\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n this.toggleOptions(false);\r\n }\r\n\r\n private focusOutListener = (event: FocusEvent) => {\r\n if (\r\n this.open &&\r\n (!(event.relatedTarget instanceof HTMLElement) || !this.tabbables(true).includes(event.relatedTarget))\r\n ) {\r\n this.toggleOptions(false);\r\n }\r\n };\r\n\r\n @Listen(\"keydown\", { target: \"window\" })\r\n keyDownListener(event: KeyboardEvent) {\r\n if (event.defaultPrevented || !this.open) {\r\n return;\r\n }\r\n\r\n switch (event.key) {\r\n case \"Tab\":\r\n if (event.shiftKey) {\r\n this.tabInPopup(this.tabbables(true), -1);\r\n } else {\r\n this.tabInPopup(this.tabbables(true), 1);\r\n }\r\n\r\n break;\r\n case \"ArrowDown\":\r\n this.tabInPopup(this.tabbables(false), 1);\r\n break;\r\n\r\n case \"ArrowUp\":\r\n this.tabInPopup(this.tabbables(false), -1);\r\n break;\r\n\r\n case \"Escape\":\r\n this.escape();\r\n break;\r\n\r\n case \" \":\r\n if (event.target instanceof HTMLElement) {\r\n event.target.click();\r\n }\r\n\r\n break;\r\n\r\n default:\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n }\r\n\r\n private tabInPopup(tabbables: FocusableElement[], direction: number) {\r\n const currentIndex = tabbables.findIndex((e) => e === getActiveElement());\r\n\r\n let nextIndex = currentIndex + direction;\r\n if (nextIndex >= tabbables.length) {\r\n nextIndex = 0;\r\n } else if (nextIndex < 0) {\r\n nextIndex = tabbables.length - 1;\r\n }\r\n\r\n tabbables[nextIndex]?.focus();\r\n }\r\n\r\n private escape = () => {\r\n this.button.focus();\r\n this.toggleOptions(false);\r\n };\r\n\r\n render() {\r\n return (\r\n <Host onFocusout={this.focusOutListener}>\r\n <slot name=\"toggle\" />\r\n <div popover=\"manual\" ref={(element) => (this.popoverElement = element)}>\r\n <slot />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
@@ -124,10 +124,10 @@ export class Header {
124
124
  ["use-drop-down"]: this.showDropDown,
125
125
  }), ref: (element) => (this.wrapper = element) }, h("div", { class: "logo-container" }, h("slot", { name: "logo" })), this.showDropDown &&
126
126
  this.mainMenu &&
127
- (this.mainMenu.length > 0 || this.userHomeUrl || this.authStatus !== "none") && (h("div", { class: "dropdown" }, h("dso-dropdown-menu", { "dropdown-align": "right", strategy: "absolute", dropdownOptionsOffset: this.dropdownOptionsOffset, ref: (element) => (this.dropdownElement = element) }, h("button", { type: "button", slot: "toggle" }, h("span", null, this.text("menu")), h("dso-icon", { icon: "chevron-down" })), h("div", { class: "dso-dropdown-options" }, h("ul", null, this.mainMenu.map(this.MenuItem), this.userHomeUrl && (h("li", null, h("a", { href: this.userHomeUrl, onClick: (e) => this.clickHandler(e, "userHome", { url: this.userHomeUrl }) }, this.text("userHome")))), this.userProfileUrl && this.userProfileName && this.authStatus === "loggedIn" && (h("li", null, h("a", { href: this.userProfileUrl, onClick: (e) => this.clickHandler(e, "profile", { url: this.userProfileUrl }) }, this.userProfileName, h("span", { class: "profile-label" }, " - Mijn profiel")))), this.authStatus === "loggedOut" && (h("li", null, this.loginUrl ? (h("a", { href: this.loginUrl, onClick: (e) => this.clickHandler(e, "login", { url: this.loginUrl }) }, this.text("login"))) : (h("button", { type: "button", onClick: (e) => this.clickHandler(e, "login") }, this.text("login"))))), this.authStatus === "loggedIn" && (h("li", null, this.logoutUrl ? (h("a", { href: this.logoutUrl, onClick: (e) => this.clickHandler(e, "logout", { url: this.logoutUrl }) }, this.text("logout"))) : (h("button", { type: "button", onClick: (e) => this.clickHandler(e, "logout") }, this.text("logout"))))), this.showHelp && (h("li", null, this.helpUrl ? (h("a", { href: this.helpUrl, class: "dso-tertiary", onClick: (e) => this.clickHandler(e, "help", { url: this.helpUrl }) }, h("span", null, this.text("help")), h("dso-icon", { icon: "help" }))) : (h("button", { type: "button", class: "dso-tertiary", onClick: (e) => this.clickHandler(e, "help") }, h("span", null, this.text("help")), h("dso-icon", { icon: "help" })))))))))), !this.showDropDown && (h(Fragment, null, h("div", { class: "dso-header-session" }, this.userProfileUrl && this.userProfileName && this.authStatus === "loggedIn" && (h("div", { class: "profile" }, h("a", { href: this.userProfileUrl, class: "dso-tertiary", onClick: (e) => this.clickHandler(e, "profile", { url: this.userProfileUrl }) }, this.userProfileName))), this.authStatus === "loggedOut" && (h("div", { class: "login" }, this.loginUrl ? (h("a", { href: this.loginUrl, class: "dso-tertiary", onClick: (e) => this.clickHandler(e, "login", { url: this.loginUrl }) }, this.text("login"))) : (h("button", { class: "dso-tertiary", type: "button", onClick: (e) => this.clickHandler(e, "login") }, this.text("login"))))), this.authStatus === "loggedIn" && (h("div", { class: "logout" }, this.logoutUrl ? (h("a", { href: this.logoutUrl, class: "dso-tertiary", onClick: (e) => this.clickHandler(e, "logout", { url: this.logoutUrl }) }, this.text("logout"))) : (h("button", { class: "dso-tertiary", type: "button", onClick: (e) => this.clickHandler(e, "logout") }, this.text("logout"))))), this.showHelp && (h("div", { class: "help" }, this.helpUrl ? (h("a", { href: this.helpUrl, class: "dso-tertiary", onClick: (e) => this.clickHandler(e, "help", { url: this.helpUrl }) }, h("span", null, this.text("help")), h("dso-icon", { icon: "help" }))) : (h("button", { class: "dso-tertiary", type: "button", onClick: (e) => this.clickHandler(e, "help") }, h("span", null, this.text("help")), h("dso-icon", { icon: "help" })))))), ((this.mainMenu && this.mainMenu.length > 0) || this.userHomeUrl) && (h("nav", { class: "dso-navbar" }, h("ul", { class: "dso-nav dso-nav-main", ref: (element) => (this.nav = element) }, this.mainMenu &&
127
+ (this.mainMenu.length > 0 || this.userHomeUrl || this.authStatus !== "none") && (h("div", { class: "dropdown" }, h("dso-dropdown-menu", { "dropdown-align": "right", dropdownOptionsOffset: this.dropdownOptionsOffset, ref: (element) => (this.dropdownElement = element) }, h("button", { type: "button", slot: "toggle" }, h("span", null, this.text("menu")), h("dso-icon", { icon: "chevron-down" })), h("div", { class: "dso-dropdown-options" }, h("ul", null, this.mainMenu.map(this.MenuItem), this.userHomeUrl && (h("li", null, h("a", { href: this.userHomeUrl, onClick: (e) => this.clickHandler(e, "userHome", { url: this.userHomeUrl }) }, this.text("userHome")))), this.userProfileUrl && this.userProfileName && this.authStatus === "loggedIn" && (h("li", null, h("a", { href: this.userProfileUrl, onClick: (e) => this.clickHandler(e, "profile", { url: this.userProfileUrl }) }, this.userProfileName, h("span", { class: "profile-label" }, " - Mijn profiel")))), this.authStatus === "loggedOut" && (h("li", null, this.loginUrl ? (h("a", { href: this.loginUrl, onClick: (e) => this.clickHandler(e, "login", { url: this.loginUrl }) }, this.text("login"))) : (h("button", { type: "button", onClick: (e) => this.clickHandler(e, "login") }, this.text("login"))))), this.authStatus === "loggedIn" && (h("li", null, this.logoutUrl ? (h("a", { href: this.logoutUrl, onClick: (e) => this.clickHandler(e, "logout", { url: this.logoutUrl }) }, this.text("logout"))) : (h("button", { type: "button", onClick: (e) => this.clickHandler(e, "logout") }, this.text("logout"))))), this.showHelp && (h("li", null, this.helpUrl ? (h("a", { href: this.helpUrl, class: "dso-tertiary", onClick: (e) => this.clickHandler(e, "help", { url: this.helpUrl }) }, h("span", null, this.text("help")), h("dso-icon", { icon: "help" }))) : (h("button", { type: "button", class: "dso-tertiary", onClick: (e) => this.clickHandler(e, "help") }, h("span", null, this.text("help")), h("dso-icon", { icon: "help" })))))))))), !this.showDropDown && (h(Fragment, null, h("div", { class: "dso-header-session" }, this.userProfileUrl && this.userProfileName && this.authStatus === "loggedIn" && (h("div", { class: "profile" }, h("a", { href: this.userProfileUrl, class: "dso-tertiary", onClick: (e) => this.clickHandler(e, "profile", { url: this.userProfileUrl }) }, this.userProfileName))), this.authStatus === "loggedOut" && (h("div", { class: "login" }, this.loginUrl ? (h("a", { href: this.loginUrl, class: "dso-tertiary", onClick: (e) => this.clickHandler(e, "login", { url: this.loginUrl }) }, this.text("login"))) : (h("button", { class: "dso-tertiary", type: "button", onClick: (e) => this.clickHandler(e, "login") }, this.text("login"))))), this.authStatus === "loggedIn" && (h("div", { class: "logout" }, this.logoutUrl ? (h("a", { href: this.logoutUrl, class: "dso-tertiary", onClick: (e) => this.clickHandler(e, "logout", { url: this.logoutUrl }) }, this.text("logout"))) : (h("button", { class: "dso-tertiary", type: "button", onClick: (e) => this.clickHandler(e, "logout") }, this.text("logout"))))), this.showHelp && (h("div", { class: "help" }, this.helpUrl ? (h("a", { href: this.helpUrl, class: "dso-tertiary", onClick: (e) => this.clickHandler(e, "help", { url: this.helpUrl }) }, h("span", null, this.text("help")), h("dso-icon", { icon: "help" }))) : (h("button", { class: "dso-tertiary", type: "button", onClick: (e) => this.clickHandler(e, "help") }, h("span", null, this.text("help")), h("dso-icon", { icon: "help" })))))), ((this.mainMenu && this.mainMenu.length > 0) || this.userHomeUrl) && (h("nav", { class: "dso-navbar" }, h("ul", { class: "dso-nav dso-nav-main", ref: (element) => (this.nav = element) }, this.mainMenu &&
128
128
  this.mainMenu
129
129
  .filter((_, index) => this.mainMenu && index < this.mainMenu.length - this.overflowMenuItems)
130
- .map(this.MenuItem), this.overflowMenuItems > 0 && (h("li", null, h("dso-dropdown-menu", { placement: "bottom" }, h("button", { type: "button", slot: "toggle" }, h("span", null, this.text("overflowMenu")), h("dso-icon", { icon: "chevron-down" })), h("div", { class: "dso-dropdown-options" }, h("ul", null, this.mainMenu &&
130
+ .map(this.MenuItem), this.overflowMenuItems > 0 && (h("li", null, h("dso-dropdown-menu", null, h("button", { type: "button", slot: "toggle" }, h("span", null, this.text("overflowMenu")), h("dso-icon", { icon: "chevron-down" })), h("div", { class: "dso-dropdown-options" }, h("ul", null, this.mainMenu &&
131
131
  this.mainMenu
132
132
  .filter((_, index) => this.mainMenu && index >= this.mainMenu.length - this.overflowMenuItems)
133
133
  .map(this.MenuItem)))))), this.userHomeUrl && (h("li", { class: clsx("menu-user-home", { "dso-active": this.userHomeActive }) }, h("a", { href: this.userHomeUrl, "aria-current": this.userHomeActive ? "page" : undefined, onClick: (e) => this.clickHandler(e, "userHome", { url: this.userHomeUrl }) }, h("dso-icon", { icon: "user-line" }), this.text("userHome"))))))))))));
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../src/components/header/header.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Fragment, Prop, State, Watch, h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\n\r\nimport { translations } from \"./header.i18n\";\r\nimport { HeaderEvent, HeaderMenuItem, HeaderNavigationType } from \"./header.interfaces\";\r\n\r\nconst minDesktopViewportWidth = 992;\r\n\r\n@Component({\r\n tag: \"dso-header\",\r\n styleUrl: \"header.scss\",\r\n shadow: true,\r\n})\r\nexport class Header {\r\n private clickHandler(\r\n e: MouseEvent,\r\n type: HeaderNavigationType,\r\n options?: { menuItem?: HeaderMenuItem; url?: string },\r\n ) {\r\n this.dsoHeaderClick.emit({\r\n originalEvent: e,\r\n isModifiedEvent: isModifiedEvent(e),\r\n type,\r\n menuItem: options?.menuItem,\r\n url: options?.url ?? options?.menuItem?.url,\r\n });\r\n }\r\n\r\n private dropdownElement?: HTMLElement;\r\n\r\n @Element()\r\n host!: HTMLDsoHeaderElement;\r\n\r\n /**\r\n * The main menu items.\r\n */\r\n @Prop()\r\n mainMenu?: HeaderMenuItem[] = [];\r\n\r\n /**\r\n * Either have the dropdown menu appear automatically or always.\r\n */\r\n @Prop()\r\n useDropDownMenu: \"always\" | \"auto\" = \"auto\";\r\n\r\n /**\r\n * Used to show the login/logout option. 'none' renders nothing.\r\n */\r\n @Prop()\r\n authStatus: \"none\" | \"loggedIn\" | \"loggedOut\" = \"none\";\r\n\r\n /**\r\n * When the `authStatus` is `loggedOut` a loginUrl can be provided.\r\n * The login button will then render as an anchor.\r\n */\r\n @Prop()\r\n loginUrl?: string;\r\n\r\n /**\r\n * The URL to open when the user activates \"logout\".\r\n * If no URL is specified, a button element is used instead.\r\n */\r\n @Prop()\r\n logoutUrl?: string;\r\n\r\n /**\r\n * Show a help-button or link in the header\r\n */\r\n @Prop()\r\n showHelp? = false;\r\n\r\n /**\r\n * The URL to open when the user activates \"help\".\r\n * If no URL is specified, a button element is used instead.\r\n */\r\n @Prop()\r\n helpUrl?: string;\r\n\r\n /**\r\n * The name to show when the user is logged in.\r\n */\r\n @Prop()\r\n userProfileName?: string;\r\n\r\n /**\r\n * The URL to open when the user activates the profile url.\r\n */\r\n @Prop()\r\n userProfileUrl?: string;\r\n\r\n /**\r\n * The URL to open when the user activates \"Mijn Omgevingsloket\".\r\n */\r\n @Prop()\r\n userHomeUrl?: string;\r\n\r\n /**\r\n * Set this to true when the user is at \"Mijn Omgevingsloket\".\r\n */\r\n @Prop()\r\n userHomeActive?: boolean;\r\n\r\n @State()\r\n showDropDown?: boolean;\r\n\r\n @State()\r\n overflowMenuItems = 0;\r\n\r\n @State()\r\n dropdownOptionsOffset = 0;\r\n\r\n /**\r\n * Emitted when something in the header is selected.\r\n *\r\n * `event.detail.type` indicates the functionality the user pressed. eg. `'login'` or `'menuItem'`\r\n */\r\n @Event()\r\n dsoHeaderClick!: EventEmitter<HeaderEvent>;\r\n\r\n @Watch(\"useDropDownMenu\")\r\n setShowDropDown(value: \"always\" | \"auto\") {\r\n if (value === \"auto\") {\r\n this.setDropDownMenu();\r\n\r\n return;\r\n }\r\n\r\n this.showDropDown = value === \"always\";\r\n }\r\n\r\n private wrapper: HTMLDivElement | undefined;\r\n\r\n private nav: HTMLUListElement | undefined;\r\n\r\n private shrinkMenuToFit() {\r\n if (!this.wrapper || !this.nav) {\r\n return;\r\n }\r\n\r\n if (this.wrapper.clientWidth >= this.nav.clientWidth) {\r\n return;\r\n }\r\n\r\n if (this.mainMenu && this.overflowMenuItems >= this.mainMenu.length) {\r\n return;\r\n }\r\n\r\n this.overflowMenuItems++;\r\n }\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n componentDidRender() {\r\n if (!this.host.isConnected) {\r\n return;\r\n }\r\n\r\n if (this.showDropDown) {\r\n this.dropdownOptionsOffset = this.calculateDropdownOptionsOffset();\r\n\r\n return;\r\n }\r\n\r\n window.setTimeout(() => this.shrinkMenuToFit(), 0);\r\n }\r\n\r\n componentDidLoad() {\r\n this.setShowDropDown(this.useDropDownMenu);\r\n\r\n if (this.showDropDown) {\r\n this.dropdownOptionsOffset = this.calculateDropdownOptionsOffset();\r\n }\r\n }\r\n\r\n private setOverflowMenu() {\r\n if (this.showDropDown) {\r\n return;\r\n }\r\n\r\n if (this.overflowMenuItems !== 0) {\r\n this.overflowMenuItems = 0;\r\n return;\r\n }\r\n\r\n this.shrinkMenuToFit();\r\n }\r\n\r\n private setDropDownMenu() {\r\n if (this.useDropDownMenu !== \"auto\") {\r\n return;\r\n }\r\n\r\n this.showDropDown = window.innerWidth < minDesktopViewportWidth;\r\n }\r\n\r\n private calculateDropdownOptionsOffset() {\r\n if (!this.dropdownElement) {\r\n return 0;\r\n }\r\n\r\n return (\r\n this.host.clientHeight -\r\n (this.dropdownElement?.getBoundingClientRect().bottom - this.host.getBoundingClientRect().top)\r\n );\r\n }\r\n\r\n private onWindowResize = debounce(() => {\r\n this.dropdownElement?.removeAttribute(\"open\");\r\n this.dropdownElement?.removeAttribute(\"tabindex\");\r\n\r\n this.setDropDownMenu();\r\n this.setOverflowMenu();\r\n\r\n if (this.showDropDown) {\r\n this.dropdownOptionsOffset = this.calculateDropdownOptionsOffset();\r\n }\r\n }, 100);\r\n\r\n connectedCallback() {\r\n window.addEventListener(\"resize\", this.onWindowResize);\r\n }\r\n\r\n disconnectedCallback() {\r\n window.removeEventListener(\"resize\", this.onWindowResize);\r\n }\r\n\r\n private MenuItem = (item: HeaderMenuItem) => {\r\n return (\r\n <li class={item.active ? \"dso-active\" : undefined}>\r\n <a\r\n href={item.url}\r\n aria-current={item.active ? \"page\" : undefined}\r\n onClick={(e) => this.clickHandler(e, \"menuItem\", { menuItem: item })}\r\n >\r\n {item.label}\r\n </a>\r\n </li>\r\n );\r\n };\r\n\r\n render() {\r\n // Prevent 'flickering' when useDropDownMenu = 'always'\r\n if (this.showDropDown === undefined) {\r\n return;\r\n }\r\n\r\n return (\r\n <>\r\n <div\r\n class={clsx(\"dso-header\", {\r\n [\"use-drop-down\"]: this.showDropDown,\r\n })}\r\n ref={(element) => (this.wrapper = element)}\r\n >\r\n <div class=\"logo-container\">\r\n <slot name=\"logo\" />\r\n </div>\r\n {this.showDropDown &&\r\n this.mainMenu &&\r\n (this.mainMenu.length > 0 || this.userHomeUrl || this.authStatus !== \"none\") && (\r\n <div class=\"dropdown\">\r\n <dso-dropdown-menu\r\n dropdown-align=\"right\"\r\n strategy=\"absolute\"\r\n dropdownOptionsOffset={this.dropdownOptionsOffset}\r\n ref={(element) => (this.dropdownElement = element)}\r\n >\r\n <button type=\"button\" slot=\"toggle\">\r\n <span>{this.text(\"menu\")}</span>\r\n <dso-icon icon=\"chevron-down\"></dso-icon>\r\n </button>\r\n <div class=\"dso-dropdown-options\">\r\n <ul>\r\n {this.mainMenu.map(this.MenuItem)}\r\n {this.userHomeUrl && (\r\n <li>\r\n <a\r\n href={this.userHomeUrl}\r\n onClick={(e) => this.clickHandler(e, \"userHome\", { url: this.userHomeUrl })}\r\n >\r\n {this.text(\"userHome\")}\r\n </a>\r\n </li>\r\n )}\r\n {this.userProfileUrl && this.userProfileName && this.authStatus === \"loggedIn\" && (\r\n <li>\r\n <a\r\n href={this.userProfileUrl}\r\n onClick={(e) => this.clickHandler(e, \"profile\", { url: this.userProfileUrl })}\r\n >\r\n {this.userProfileName}\r\n <span class=\"profile-label\"> - Mijn profiel</span>\r\n </a>\r\n </li>\r\n )}\r\n {this.authStatus === \"loggedOut\" && (\r\n <li>\r\n {this.loginUrl ? (\r\n <a\r\n href={this.loginUrl}\r\n onClick={(e) => this.clickHandler(e, \"login\", { url: this.loginUrl })}\r\n >\r\n {this.text(\"login\")}\r\n </a>\r\n ) : (\r\n <button type=\"button\" onClick={(e) => this.clickHandler(e, \"login\")}>\r\n {this.text(\"login\")}\r\n </button>\r\n )}\r\n </li>\r\n )}\r\n {this.authStatus === \"loggedIn\" && (\r\n <li>\r\n {this.logoutUrl ? (\r\n <a\r\n href={this.logoutUrl}\r\n onClick={(e) => this.clickHandler(e, \"logout\", { url: this.logoutUrl })}\r\n >\r\n {this.text(\"logout\")}\r\n </a>\r\n ) : (\r\n <button type=\"button\" onClick={(e) => this.clickHandler(e, \"logout\")}>\r\n {this.text(\"logout\")}\r\n </button>\r\n )}\r\n </li>\r\n )}\r\n {this.showHelp && (\r\n <li>\r\n {this.helpUrl ? (\r\n <a\r\n href={this.helpUrl}\r\n class=\"dso-tertiary\"\r\n onClick={(e) => this.clickHandler(e, \"help\", { url: this.helpUrl })}\r\n >\r\n <span>{this.text(\"help\")}</span>\r\n <dso-icon icon=\"help\"></dso-icon>\r\n </a>\r\n ) : (\r\n <button type=\"button\" class=\"dso-tertiary\" onClick={(e) => this.clickHandler(e, \"help\")}>\r\n <span>{this.text(\"help\")}</span>\r\n <dso-icon icon=\"help\"></dso-icon>\r\n </button>\r\n )}\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n </dso-dropdown-menu>\r\n </div>\r\n )}\r\n {!this.showDropDown && (\r\n <>\r\n <div class=\"dso-header-session\">\r\n {this.userProfileUrl && this.userProfileName && this.authStatus === \"loggedIn\" && (\r\n <div class=\"profile\">\r\n <a\r\n href={this.userProfileUrl}\r\n class=\"dso-tertiary\"\r\n onClick={(e) => this.clickHandler(e, \"profile\", { url: this.userProfileUrl })}\r\n >\r\n {this.userProfileName}\r\n </a>\r\n </div>\r\n )}\r\n {this.authStatus === \"loggedOut\" && (\r\n <div class=\"login\">\r\n {this.loginUrl ? (\r\n <a\r\n href={this.loginUrl}\r\n class=\"dso-tertiary\"\r\n onClick={(e) => this.clickHandler(e, \"login\", { url: this.loginUrl })}\r\n >\r\n {this.text(\"login\")}\r\n </a>\r\n ) : (\r\n <button class=\"dso-tertiary\" type=\"button\" onClick={(e) => this.clickHandler(e, \"login\")}>\r\n {this.text(\"login\")}\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n {this.authStatus === \"loggedIn\" && (\r\n <div class=\"logout\">\r\n {this.logoutUrl ? (\r\n <a\r\n href={this.logoutUrl}\r\n class=\"dso-tertiary\"\r\n onClick={(e) => this.clickHandler(e, \"logout\", { url: this.logoutUrl })}\r\n >\r\n {this.text(\"logout\")}\r\n </a>\r\n ) : (\r\n <button class=\"dso-tertiary\" type=\"button\" onClick={(e) => this.clickHandler(e, \"logout\")}>\r\n {this.text(\"logout\")}\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n {this.showHelp && (\r\n <div class=\"help\">\r\n {this.helpUrl ? (\r\n <a\r\n href={this.helpUrl}\r\n class=\"dso-tertiary\"\r\n onClick={(e) => this.clickHandler(e, \"help\", { url: this.helpUrl })}\r\n >\r\n <span>{this.text(\"help\")}</span>\r\n <dso-icon icon=\"help\"></dso-icon>\r\n </a>\r\n ) : (\r\n <button class=\"dso-tertiary\" type=\"button\" onClick={(e) => this.clickHandler(e, \"help\")}>\r\n <span>{this.text(\"help\")}</span>\r\n <dso-icon icon=\"help\"></dso-icon>\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n {((this.mainMenu && this.mainMenu.length > 0) || this.userHomeUrl) && (\r\n <nav class=\"dso-navbar\">\r\n <ul class=\"dso-nav dso-nav-main\" ref={(element) => (this.nav = element)}>\r\n {this.mainMenu &&\r\n this.mainMenu\r\n .filter((_, index) => this.mainMenu && index < this.mainMenu.length - this.overflowMenuItems)\r\n .map(this.MenuItem)}\r\n {this.overflowMenuItems > 0 && (\r\n <li>\r\n <dso-dropdown-menu placement=\"bottom\">\r\n <button type=\"button\" slot=\"toggle\">\r\n <span>{this.text(\"overflowMenu\")}</span>\r\n <dso-icon icon=\"chevron-down\"></dso-icon>\r\n </button>\r\n <div class=\"dso-dropdown-options\">\r\n <ul>\r\n {this.mainMenu &&\r\n this.mainMenu\r\n .filter(\r\n (_, index) =>\r\n this.mainMenu && index >= this.mainMenu.length - this.overflowMenuItems,\r\n )\r\n .map(this.MenuItem)}\r\n </ul>\r\n </div>\r\n </dso-dropdown-menu>\r\n </li>\r\n )}\r\n {this.userHomeUrl && (\r\n <li class={clsx(\"menu-user-home\", { \"dso-active\": this.userHomeActive })}>\r\n <a\r\n href={this.userHomeUrl}\r\n aria-current={this.userHomeActive ? \"page\" : undefined}\r\n onClick={(e) => this.clickHandler(e, \"userHome\", { url: this.userHomeUrl })}\r\n >\r\n <dso-icon icon=\"user-line\"></dso-icon>\r\n {this.text(\"userHome\")}\r\n </a>\r\n </li>\r\n )}\r\n </ul>\r\n </nav>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n </>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../src/components/header/header.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Fragment, Prop, State, Watch, h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\n\r\nimport { translations } from \"./header.i18n\";\r\nimport { HeaderEvent, HeaderMenuItem, HeaderNavigationType } from \"./header.interfaces\";\r\n\r\nconst minDesktopViewportWidth = 992;\r\n\r\n@Component({\r\n tag: \"dso-header\",\r\n styleUrl: \"header.scss\",\r\n shadow: true,\r\n})\r\nexport class Header {\r\n private clickHandler(\r\n e: MouseEvent,\r\n type: HeaderNavigationType,\r\n options?: { menuItem?: HeaderMenuItem; url?: string },\r\n ) {\r\n this.dsoHeaderClick.emit({\r\n originalEvent: e,\r\n isModifiedEvent: isModifiedEvent(e),\r\n type,\r\n menuItem: options?.menuItem,\r\n url: options?.url ?? options?.menuItem?.url,\r\n });\r\n }\r\n\r\n private dropdownElement?: HTMLElement;\r\n\r\n @Element()\r\n host!: HTMLDsoHeaderElement;\r\n\r\n /**\r\n * The main menu items.\r\n */\r\n @Prop()\r\n mainMenu?: HeaderMenuItem[] = [];\r\n\r\n /**\r\n * Either have the dropdown menu appear automatically or always.\r\n */\r\n @Prop()\r\n useDropDownMenu: \"always\" | \"auto\" = \"auto\";\r\n\r\n /**\r\n * Used to show the login/logout option. 'none' renders nothing.\r\n */\r\n @Prop()\r\n authStatus: \"none\" | \"loggedIn\" | \"loggedOut\" = \"none\";\r\n\r\n /**\r\n * When the `authStatus` is `loggedOut` a loginUrl can be provided.\r\n * The login button will then render as an anchor.\r\n */\r\n @Prop()\r\n loginUrl?: string;\r\n\r\n /**\r\n * The URL to open when the user activates \"logout\".\r\n * If no URL is specified, a button element is used instead.\r\n */\r\n @Prop()\r\n logoutUrl?: string;\r\n\r\n /**\r\n * Show a help-button or link in the header\r\n */\r\n @Prop()\r\n showHelp? = false;\r\n\r\n /**\r\n * The URL to open when the user activates \"help\".\r\n * If no URL is specified, a button element is used instead.\r\n */\r\n @Prop()\r\n helpUrl?: string;\r\n\r\n /**\r\n * The name to show when the user is logged in.\r\n */\r\n @Prop()\r\n userProfileName?: string;\r\n\r\n /**\r\n * The URL to open when the user activates the profile url.\r\n */\r\n @Prop()\r\n userProfileUrl?: string;\r\n\r\n /**\r\n * The URL to open when the user activates \"Mijn Omgevingsloket\".\r\n */\r\n @Prop()\r\n userHomeUrl?: string;\r\n\r\n /**\r\n * Set this to true when the user is at \"Mijn Omgevingsloket\".\r\n */\r\n @Prop()\r\n userHomeActive?: boolean;\r\n\r\n @State()\r\n showDropDown?: boolean;\r\n\r\n @State()\r\n overflowMenuItems = 0;\r\n\r\n @State()\r\n dropdownOptionsOffset = 0;\r\n\r\n /**\r\n * Emitted when something in the header is selected.\r\n *\r\n * `event.detail.type` indicates the functionality the user pressed. eg. `'login'` or `'menuItem'`\r\n */\r\n @Event()\r\n dsoHeaderClick!: EventEmitter<HeaderEvent>;\r\n\r\n @Watch(\"useDropDownMenu\")\r\n setShowDropDown(value: \"always\" | \"auto\") {\r\n if (value === \"auto\") {\r\n this.setDropDownMenu();\r\n\r\n return;\r\n }\r\n\r\n this.showDropDown = value === \"always\";\r\n }\r\n\r\n private wrapper: HTMLDivElement | undefined;\r\n\r\n private nav: HTMLUListElement | undefined;\r\n\r\n private shrinkMenuToFit() {\r\n if (!this.wrapper || !this.nav) {\r\n return;\r\n }\r\n\r\n if (this.wrapper.clientWidth >= this.nav.clientWidth) {\r\n return;\r\n }\r\n\r\n if (this.mainMenu && this.overflowMenuItems >= this.mainMenu.length) {\r\n return;\r\n }\r\n\r\n this.overflowMenuItems++;\r\n }\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n componentDidRender() {\r\n if (!this.host.isConnected) {\r\n return;\r\n }\r\n\r\n if (this.showDropDown) {\r\n this.dropdownOptionsOffset = this.calculateDropdownOptionsOffset();\r\n\r\n return;\r\n }\r\n\r\n window.setTimeout(() => this.shrinkMenuToFit(), 0);\r\n }\r\n\r\n componentDidLoad() {\r\n this.setShowDropDown(this.useDropDownMenu);\r\n\r\n if (this.showDropDown) {\r\n this.dropdownOptionsOffset = this.calculateDropdownOptionsOffset();\r\n }\r\n }\r\n\r\n private setOverflowMenu() {\r\n if (this.showDropDown) {\r\n return;\r\n }\r\n\r\n if (this.overflowMenuItems !== 0) {\r\n this.overflowMenuItems = 0;\r\n return;\r\n }\r\n\r\n this.shrinkMenuToFit();\r\n }\r\n\r\n private setDropDownMenu() {\r\n if (this.useDropDownMenu !== \"auto\") {\r\n return;\r\n }\r\n\r\n this.showDropDown = window.innerWidth < minDesktopViewportWidth;\r\n }\r\n\r\n private calculateDropdownOptionsOffset() {\r\n if (!this.dropdownElement) {\r\n return 0;\r\n }\r\n\r\n return (\r\n this.host.clientHeight -\r\n (this.dropdownElement?.getBoundingClientRect().bottom - this.host.getBoundingClientRect().top)\r\n );\r\n }\r\n\r\n private onWindowResize = debounce(() => {\r\n this.dropdownElement?.removeAttribute(\"open\");\r\n this.dropdownElement?.removeAttribute(\"tabindex\");\r\n\r\n this.setDropDownMenu();\r\n this.setOverflowMenu();\r\n\r\n if (this.showDropDown) {\r\n this.dropdownOptionsOffset = this.calculateDropdownOptionsOffset();\r\n }\r\n }, 100);\r\n\r\n connectedCallback() {\r\n window.addEventListener(\"resize\", this.onWindowResize);\r\n }\r\n\r\n disconnectedCallback() {\r\n window.removeEventListener(\"resize\", this.onWindowResize);\r\n }\r\n\r\n private MenuItem = (item: HeaderMenuItem) => {\r\n return (\r\n <li class={item.active ? \"dso-active\" : undefined}>\r\n <a\r\n href={item.url}\r\n aria-current={item.active ? \"page\" : undefined}\r\n onClick={(e) => this.clickHandler(e, \"menuItem\", { menuItem: item })}\r\n >\r\n {item.label}\r\n </a>\r\n </li>\r\n );\r\n };\r\n\r\n render() {\r\n // Prevent 'flickering' when useDropDownMenu = 'always'\r\n if (this.showDropDown === undefined) {\r\n return;\r\n }\r\n\r\n return (\r\n <>\r\n <div\r\n class={clsx(\"dso-header\", {\r\n [\"use-drop-down\"]: this.showDropDown,\r\n })}\r\n ref={(element) => (this.wrapper = element)}\r\n >\r\n <div class=\"logo-container\">\r\n <slot name=\"logo\" />\r\n </div>\r\n {this.showDropDown &&\r\n this.mainMenu &&\r\n (this.mainMenu.length > 0 || this.userHomeUrl || this.authStatus !== \"none\") && (\r\n <div class=\"dropdown\">\r\n <dso-dropdown-menu\r\n dropdown-align=\"right\"\r\n dropdownOptionsOffset={this.dropdownOptionsOffset}\r\n ref={(element) => (this.dropdownElement = element)}\r\n >\r\n <button type=\"button\" slot=\"toggle\">\r\n <span>{this.text(\"menu\")}</span>\r\n <dso-icon icon=\"chevron-down\"></dso-icon>\r\n </button>\r\n <div class=\"dso-dropdown-options\">\r\n <ul>\r\n {this.mainMenu.map(this.MenuItem)}\r\n {this.userHomeUrl && (\r\n <li>\r\n <a\r\n href={this.userHomeUrl}\r\n onClick={(e) => this.clickHandler(e, \"userHome\", { url: this.userHomeUrl })}\r\n >\r\n {this.text(\"userHome\")}\r\n </a>\r\n </li>\r\n )}\r\n {this.userProfileUrl && this.userProfileName && this.authStatus === \"loggedIn\" && (\r\n <li>\r\n <a\r\n href={this.userProfileUrl}\r\n onClick={(e) => this.clickHandler(e, \"profile\", { url: this.userProfileUrl })}\r\n >\r\n {this.userProfileName}\r\n <span class=\"profile-label\"> - Mijn profiel</span>\r\n </a>\r\n </li>\r\n )}\r\n {this.authStatus === \"loggedOut\" && (\r\n <li>\r\n {this.loginUrl ? (\r\n <a\r\n href={this.loginUrl}\r\n onClick={(e) => this.clickHandler(e, \"login\", { url: this.loginUrl })}\r\n >\r\n {this.text(\"login\")}\r\n </a>\r\n ) : (\r\n <button type=\"button\" onClick={(e) => this.clickHandler(e, \"login\")}>\r\n {this.text(\"login\")}\r\n </button>\r\n )}\r\n </li>\r\n )}\r\n {this.authStatus === \"loggedIn\" && (\r\n <li>\r\n {this.logoutUrl ? (\r\n <a\r\n href={this.logoutUrl}\r\n onClick={(e) => this.clickHandler(e, \"logout\", { url: this.logoutUrl })}\r\n >\r\n {this.text(\"logout\")}\r\n </a>\r\n ) : (\r\n <button type=\"button\" onClick={(e) => this.clickHandler(e, \"logout\")}>\r\n {this.text(\"logout\")}\r\n </button>\r\n )}\r\n </li>\r\n )}\r\n {this.showHelp && (\r\n <li>\r\n {this.helpUrl ? (\r\n <a\r\n href={this.helpUrl}\r\n class=\"dso-tertiary\"\r\n onClick={(e) => this.clickHandler(e, \"help\", { url: this.helpUrl })}\r\n >\r\n <span>{this.text(\"help\")}</span>\r\n <dso-icon icon=\"help\"></dso-icon>\r\n </a>\r\n ) : (\r\n <button type=\"button\" class=\"dso-tertiary\" onClick={(e) => this.clickHandler(e, \"help\")}>\r\n <span>{this.text(\"help\")}</span>\r\n <dso-icon icon=\"help\"></dso-icon>\r\n </button>\r\n )}\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n </dso-dropdown-menu>\r\n </div>\r\n )}\r\n {!this.showDropDown && (\r\n <>\r\n <div class=\"dso-header-session\">\r\n {this.userProfileUrl && this.userProfileName && this.authStatus === \"loggedIn\" && (\r\n <div class=\"profile\">\r\n <a\r\n href={this.userProfileUrl}\r\n class=\"dso-tertiary\"\r\n onClick={(e) => this.clickHandler(e, \"profile\", { url: this.userProfileUrl })}\r\n >\r\n {this.userProfileName}\r\n </a>\r\n </div>\r\n )}\r\n {this.authStatus === \"loggedOut\" && (\r\n <div class=\"login\">\r\n {this.loginUrl ? (\r\n <a\r\n href={this.loginUrl}\r\n class=\"dso-tertiary\"\r\n onClick={(e) => this.clickHandler(e, \"login\", { url: this.loginUrl })}\r\n >\r\n {this.text(\"login\")}\r\n </a>\r\n ) : (\r\n <button class=\"dso-tertiary\" type=\"button\" onClick={(e) => this.clickHandler(e, \"login\")}>\r\n {this.text(\"login\")}\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n {this.authStatus === \"loggedIn\" && (\r\n <div class=\"logout\">\r\n {this.logoutUrl ? (\r\n <a\r\n href={this.logoutUrl}\r\n class=\"dso-tertiary\"\r\n onClick={(e) => this.clickHandler(e, \"logout\", { url: this.logoutUrl })}\r\n >\r\n {this.text(\"logout\")}\r\n </a>\r\n ) : (\r\n <button class=\"dso-tertiary\" type=\"button\" onClick={(e) => this.clickHandler(e, \"logout\")}>\r\n {this.text(\"logout\")}\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n {this.showHelp && (\r\n <div class=\"help\">\r\n {this.helpUrl ? (\r\n <a\r\n href={this.helpUrl}\r\n class=\"dso-tertiary\"\r\n onClick={(e) => this.clickHandler(e, \"help\", { url: this.helpUrl })}\r\n >\r\n <span>{this.text(\"help\")}</span>\r\n <dso-icon icon=\"help\"></dso-icon>\r\n </a>\r\n ) : (\r\n <button class=\"dso-tertiary\" type=\"button\" onClick={(e) => this.clickHandler(e, \"help\")}>\r\n <span>{this.text(\"help\")}</span>\r\n <dso-icon icon=\"help\"></dso-icon>\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n {((this.mainMenu && this.mainMenu.length > 0) || this.userHomeUrl) && (\r\n <nav class=\"dso-navbar\">\r\n <ul class=\"dso-nav dso-nav-main\" ref={(element) => (this.nav = element)}>\r\n {this.mainMenu &&\r\n this.mainMenu\r\n .filter((_, index) => this.mainMenu && index < this.mainMenu.length - this.overflowMenuItems)\r\n .map(this.MenuItem)}\r\n {this.overflowMenuItems > 0 && (\r\n <li>\r\n <dso-dropdown-menu>\r\n <button type=\"button\" slot=\"toggle\">\r\n <span>{this.text(\"overflowMenu\")}</span>\r\n <dso-icon icon=\"chevron-down\"></dso-icon>\r\n </button>\r\n <div class=\"dso-dropdown-options\">\r\n <ul>\r\n {this.mainMenu &&\r\n this.mainMenu\r\n .filter(\r\n (_, index) =>\r\n this.mainMenu && index >= this.mainMenu.length - this.overflowMenuItems,\r\n )\r\n .map(this.MenuItem)}\r\n </ul>\r\n </div>\r\n </dso-dropdown-menu>\r\n </li>\r\n )}\r\n {this.userHomeUrl && (\r\n <li class={clsx(\"menu-user-home\", { \"dso-active\": this.userHomeActive })}>\r\n <a\r\n href={this.userHomeUrl}\r\n aria-current={this.userHomeActive ? \"page\" : undefined}\r\n onClick={(e) => this.clickHandler(e, \"userHome\", { url: this.userHomeUrl })}\r\n >\r\n <dso-icon icon=\"user-line\"></dso-icon>\r\n {this.text(\"userHome\")}\r\n </a>\r\n </li>\r\n )}\r\n </ul>\r\n </nav>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n </>\r\n );\r\n }\r\n}\r\n"]}
@@ -3,7 +3,7 @@ export class HighlightBox {
3
3
  render() {
4
4
  var _a;
5
5
  const hasCounter = this.step || !!this.element.querySelector("[slot=icon]");
6
- return (h(Host, { key: '1ac773ce6f43d05b3c03be516e6d19a42ba4219c', "has-counter": hasCounter }, hasCounter && h("div", { key: '3d61d88228a27065b1f3b362f5ebef8a95e0faae', class: "dso-step-counter" }, (_a = this.step) !== null && _a !== void 0 ? _a : h("slot", { key: '794c1bbae6bcf93c86faaa42ec4b8e23da43e1ba', name: "icon" })), h("slot", { key: 'c27f824a00a38cb69710faa1a3ab7dc0cedab683' })));
6
+ return (h(Host, { key: '86c4c5ff4f81dc76c1dc7ced1ae0f08ac4ab871c', "has-counter": hasCounter }, hasCounter && h("div", { key: '550d9f9ef78cc89764ceebf7c9cff46587a4ec80', class: "dso-step-counter" }, (_a = this.step) !== null && _a !== void 0 ? _a : h("slot", { key: 'bc7cbca36525b162059ec21356ab96d1f313722f', name: "icon" })), h("slot", { key: 'd4d43a29f08c330a3e6b59604e8509d2af05a50a' })));
7
7
  }
8
8
  static get is() { return "dso-highlight-box"; }
9
9
  static get encapsulation() { return "shadow"; }
@@ -216,7 +216,7 @@ export class Icon {
216
216
  if (!icon) {
217
217
  throw new TypeError(`Unknown svg: ${this.icon}`);
218
218
  }
219
- return h("span", { key: 'c27aa654d2b1f79399d304699639670466897344', class: "icon-container", innerHTML: icon.svg });
219
+ return h("span", { key: 'fb24ae73d46158d43091e9a654b7e2651f428a7c', class: "icon-container", innerHTML: icon.svg });
220
220
  }
221
221
  }
222
222
  static get is() { return "dso-icon"; }
@@ -76,12 +76,12 @@ button::-moz-focus-inner {
76
76
  }
77
77
  .open:hover {
78
78
  background-color: var(--_dso-button-secondary-hover-background-color, #d7e7ce);
79
- border-color: var(--_dso-button-secondary-hover-border-color, #39870c);
80
- color: var(--_dso-button-secondary-hover-color, #39870c);
79
+ border-color: var(--_dso-button-secondary-hover-border-color, #275937);
80
+ color: var(--_dso-button-secondary-hover-color, #275937);
81
81
  }
82
82
  .open:active {
83
- background-color: var(--_dso-button-secondary-active-background-color, #39870c);
84
- border-color: var(--_dso-button-secondary-active-border-color, #39870c);
83
+ background-color: var(--_dso-button-secondary-active-background-color, #275937);
84
+ border-color: var(--_dso-button-secondary-active-border-color, #275937);
85
85
  color: var(--_dso-button-secondary-active-color, #fff);
86
86
  }
87
87
  .open[disabled], .open[disabled]:hover {
@@ -251,12 +251,12 @@ button::-moz-focus-inner {
251
251
  }
252
252
  .close:hover {
253
253
  background-color: var(--_dso-button-secondary-hover-background-color, #d7e7ce);
254
- border-color: var(--_dso-button-secondary-hover-border-color, #39870c);
255
- color: var(--_dso-button-secondary-hover-color, #39870c);
254
+ border-color: var(--_dso-button-secondary-hover-border-color, #275937);
255
+ color: var(--_dso-button-secondary-hover-color, #275937);
256
256
  }
257
257
  .close:active {
258
- background-color: var(--_dso-button-secondary-active-background-color, #39870c);
259
- border-color: var(--_dso-button-secondary-active-border-color, #39870c);
258
+ background-color: var(--_dso-button-secondary-active-background-color, #275937);
259
+ border-color: var(--_dso-button-secondary-active-border-color, #275937);
260
260
  color: var(--_dso-button-secondary-active-color, #fff);
261
261
  }
262
262
  .close[disabled], .close[disabled]:hover {
@@ -1,7 +1,7 @@
1
1
  import { Fragment, h } from "@stencil/core";
2
2
  export class Info {
3
3
  render() {
4
- return (h(Fragment, { key: '3155979f2b9164ed98c842e27b23ee3960aaadd4' }, h("slot", { key: '056134ca144d2b3ab4268d0d12cfaa94b5a46536' }), !this.fixed && (h("button", { key: '7b466d3bf9fde5780a40197c043b86e746d8326c', type: "button", onClick: (e) => this.dsoClose.emit(e) }, h("dso-icon", { key: '43e42fa9309144981d7bf8e96dfc7dc36a16af8d', icon: "times" }), h("span", { key: '19e315ce3c50e0b0d08607f04ac2c5cef4a114b8', class: "sr-only" }, "Sluiten")))));
4
+ return (h(Fragment, { key: '7c3f9fed7a8ab8dbabe817e1b978e940f26f27f8' }, h("slot", { key: '74dbbbdf2d445f448a7de100196ef0df2305734f' }), !this.fixed && (h("button", { key: '5e702078b32a2d57fafb0758941c57548d7a5851', type: "button", onClick: (e) => this.dsoClose.emit(e) }, h("dso-icon", { key: '494887a2f0fa4ab19a2d2b448d9821a001cd9cfb', icon: "times" }), h("span", { key: '052dde259dd0f396097b3c3ead102bb10edda4ff', class: "sr-only" }, "Sluiten")))));
5
5
  }
6
6
  static get is() { return "dso-info"; }
7
7
  static get encapsulation() { return "shadow"; }
@@ -20,7 +20,7 @@ export class InfoButton {
20
20
  this.dsoToggle.emit({ originalEvent: e, active: this.active });
21
21
  }
22
22
  render() {
23
- return (h(Host, { key: '3fe772b2e9a36bc328ce92d53f7bdf4fe782f4a7', onMouseenter: () => (this.hover = true), onMouseleave: () => (this.hover = false) }, h("button", { key: '4e46d72a9300c690da0e0f44d5e874befd358c92', type: "button", class: clsx({ "dso-open": !!this.active, "dso-info-secondary": !!this.secondary }), "aria-expanded": typeof this.active === "boolean" ? this.active.toString() : undefined, onClick: (e) => this.handleToggle(e), ref: (element) => (this.button = element) }, h("dso-icon", { key: '2e9c74db3fa22b57c7c29052c25c0607897f1006', icon: this.active || this.hover ? "info-active" : "info" }), h("span", { key: 'ddac02ec84b4fef5a463c8b162de1b118a633eba', class: "sr-only" }, this.label))));
23
+ return (h(Host, { key: '0943299e0676d7b9abcb7ce7ccc1bf189e0d492a', onMouseenter: () => (this.hover = true), onMouseleave: () => (this.hover = false) }, h("button", { key: '062f533cb31e179a279d1b4f6b18374966434196', type: "button", class: clsx({ "dso-open": !!this.active, "dso-info-secondary": !!this.secondary }), "aria-expanded": typeof this.active === "boolean" ? this.active.toString() : undefined, onClick: (e) => this.handleToggle(e), ref: (element) => (this.button = element) }, h("dso-icon", { key: 'a8a717a778cfbb2fe2306c5420e2a97dddc69be7', icon: this.active || this.hover ? "info-active" : "info" }), h("span", { key: '18c1eb9ca295d6f46f6cd52ce1b379186fe06e53', class: "sr-only" }, this.label))));
24
24
  }
25
25
  static get is() { return "dso-info-button"; }
26
26
  static get encapsulation() { return "shadow"; }