@dso-toolkit/core 78.0.0 → 79.0.0-pre.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 (324) 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 +4 -4
  6. package/dist/bundle/dso-annotation-gebiedsaanwijzing.js +4 -4
  7. package/dist/bundle/dso-annotation-kaart.js +2 -2
  8. package/dist/bundle/dso-annotation-locatie.js +1 -1
  9. package/dist/bundle/dso-annotation-omgevingsnormwaarde.js +4 -4
  10. package/dist/bundle/dso-attachments-counter.js +1 -1
  11. package/dist/bundle/dso-autosuggest.js +3 -3
  12. package/dist/bundle/dso-card.js +1 -1
  13. package/dist/bundle/dso-date-picker-legacy.js +1 -1
  14. package/dist/bundle/dso-document-card.js +1 -1
  15. package/dist/bundle/dso-document-component.js +1 -1
  16. package/dist/bundle/dso-dropdown-menu.js +1 -1
  17. package/dist/bundle/dso-header.js +98 -97
  18. package/dist/bundle/dso-header.js.map +1 -1
  19. package/dist/bundle/dso-highlight-box.js +1 -1
  20. package/dist/bundle/dso-icon.js +1 -1
  21. package/dist/bundle/dso-image-overlay.js +1 -1
  22. package/dist/bundle/dso-info-button.js +1 -1
  23. package/dist/bundle/dso-info.js +1 -1
  24. package/dist/bundle/dso-input-range.js +2 -2
  25. package/dist/bundle/dso-label.js +1 -1
  26. package/dist/bundle/dso-legend-item.js +6 -6
  27. package/dist/bundle/dso-list-button.js +5 -5
  28. package/dist/bundle/dso-logo.js +2 -2
  29. package/dist/bundle/dso-logo.js.map +1 -1
  30. package/dist/bundle/dso-map-base-layers.js +5 -5
  31. package/dist/bundle/dso-map-controls.js +3 -3
  32. package/dist/bundle/dso-map-overlays.js +5 -5
  33. package/dist/bundle/dso-mark-bar.js +2 -2
  34. package/dist/bundle/dso-modal.js +3 -3
  35. package/dist/bundle/dso-onboarding-tip.js +2 -2
  36. package/dist/bundle/dso-ozon-content.js +1 -1
  37. package/dist/bundle/dso-pagination.js +2 -2
  38. package/dist/bundle/dso-panel.js +1 -1
  39. package/dist/bundle/dso-plekinfo-card.js +2 -2
  40. package/dist/bundle/dso-progress-bar.js +1 -1
  41. package/dist/bundle/dso-progress-indicator.js +1 -1
  42. package/dist/bundle/dso-project-item.js +4 -4
  43. package/dist/bundle/dso-responsive-element.js +1 -1
  44. package/dist/bundle/dso-scrollable.js +1 -1
  45. package/dist/bundle/dso-selectable.js +1 -1
  46. package/dist/bundle/dso-skiplink.js +2 -2
  47. package/dist/bundle/dso-slide-toggle.js +1 -1
  48. package/dist/bundle/dso-survey-rating.js +4 -4
  49. package/dist/bundle/dso-table.js +1 -1
  50. package/dist/bundle/dso-tabs.js +1 -1
  51. package/dist/bundle/dso-toggletip.js +1 -1
  52. package/dist/bundle/dso-tooltip.js +1 -1
  53. package/dist/bundle/dso-tree-view.js +3 -3
  54. package/dist/bundle/dso-viewer-grid.js +1 -1
  55. package/dist/bundle/dsot-document-component-demo.js +12 -12
  56. package/dist/bundle/{p-lE-KxpG-.js → p-7ffg336s.js} +3 -3
  57. package/dist/bundle/{p-lE-KxpG-.js.map → p-7ffg336s.js.map} +1 -1
  58. package/dist/bundle/{p-BZUv4Fwx.js → p-B3Alb07i.js} +6 -6
  59. package/dist/bundle/{p-BZUv4Fwx.js.map → p-B3Alb07i.js.map} +1 -1
  60. package/dist/bundle/{p-CUZmPl-a.js → p-BELL2NPR.js} +7 -7
  61. package/dist/bundle/{p-CUZmPl-a.js.map → p-BELL2NPR.js.map} +1 -1
  62. package/dist/bundle/{p-BQF5fCSD.js → p-BOvMM9C8.js} +3 -3
  63. package/dist/bundle/{p-BQF5fCSD.js.map → p-BOvMM9C8.js.map} +1 -1
  64. package/dist/bundle/{p-BnSdv9VD.js → p-B_9Gan2F.js} +10 -10
  65. package/dist/bundle/{p-BnSdv9VD.js.map → p-B_9Gan2F.js.map} +1 -1
  66. package/dist/bundle/{p-D0gB2lgu.js → p-Bgqhjszl.js} +3 -3
  67. package/dist/bundle/{p-D0gB2lgu.js.map → p-Bgqhjszl.js.map} +1 -1
  68. package/dist/bundle/{p-D92MZVkr.js → p-BqKuHNTU.js} +3 -3
  69. package/dist/bundle/{p-D92MZVkr.js.map → p-BqKuHNTU.js.map} +1 -1
  70. package/dist/bundle/{p-DNULhBX2.js → p-BrQ3aUVb.js} +3 -3
  71. package/dist/bundle/{p-DNULhBX2.js.map → p-BrQ3aUVb.js.map} +1 -1
  72. package/dist/bundle/{p-DcxEm1dI.js → p-C5KKL3gn.js} +7 -7
  73. package/dist/bundle/{p-DcxEm1dI.js.map → p-C5KKL3gn.js.map} +1 -1
  74. package/dist/bundle/{p-CwKyBrf3.js → p-CEFYoazH.js} +4 -4
  75. package/dist/bundle/{p-CwKyBrf3.js.map → p-CEFYoazH.js.map} +1 -1
  76. package/dist/bundle/{p-CXEXoC_s.js → p-CeXiA7z5.js} +3 -3
  77. package/dist/bundle/{p-CXEXoC_s.js.map → p-CeXiA7z5.js.map} +1 -1
  78. package/dist/bundle/{p-WmD5BfeO.js → p-CynPODEC.js} +4 -4
  79. package/dist/bundle/{p-WmD5BfeO.js.map → p-CynPODEC.js.map} +1 -1
  80. package/dist/bundle/{p-Dt1j98T1.js → p-DAJsc8Jk.js} +3 -3
  81. package/dist/bundle/{p-Dt1j98T1.js.map → p-DAJsc8Jk.js.map} +1 -1
  82. package/dist/bundle/{p-C2Ek2dWW.js → p-DRH8HBCF.js} +3 -3
  83. package/dist/bundle/{p-C2Ek2dWW.js.map → p-DRH8HBCF.js.map} +1 -1
  84. package/dist/bundle/{p--iZjxqv3.js → p-DrWTFwlB.js} +4 -4
  85. package/dist/bundle/{p--iZjxqv3.js.map → p-DrWTFwlB.js.map} +1 -1
  86. package/dist/bundle/{p-D3I3eS2K.js → p-DrrX-h-R.js} +4 -4
  87. package/dist/bundle/{p-D3I3eS2K.js.map → p-DrrX-h-R.js.map} +1 -1
  88. package/dist/bundle/{p-BLPc0VWK.js → p-S0YMB18e.js} +6 -6
  89. package/dist/bundle/{p-BLPc0VWK.js.map → p-S0YMB18e.js.map} +1 -1
  90. package/dist/bundle/{p-CH8BjCNJ.js → p-X4ksz0z1.js} +6 -6
  91. package/dist/bundle/{p-CH8BjCNJ.js.map → p-X4ksz0z1.js.map} +1 -1
  92. package/dist/bundle/{p-CYNNmESE.js → p-_H6ui1La.js} +3 -3
  93. package/dist/bundle/{p-CYNNmESE.js.map → p-_H6ui1La.js.map} +1 -1
  94. package/dist/bundle/{p-ChsWtZdt.js → p-uUOjJ6kU.js} +4 -4
  95. package/dist/bundle/{p-ChsWtZdt.js.map → p-uUOjJ6kU.js.map} +1 -1
  96. package/dist/cjs/dso-alert_6.cjs.entry.js +2 -2
  97. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +1 -1
  98. package/dist/cjs/dso-dropdown-menu.cjs.entry.js.map +1 -1
  99. package/dist/cjs/dso-dropdown-menu.entry.cjs.js.map +1 -1
  100. package/dist/cjs/dso-header.cjs.entry.js +91 -89
  101. package/dist/cjs/dso-header.cjs.entry.js.map +1 -1
  102. package/dist/cjs/dso-header.entry.cjs.js.map +1 -1
  103. package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
  104. package/dist/cjs/dso-icon.cjs.entry.js +1 -1
  105. package/dist/cjs/dso-info-button.cjs.entry.js +1 -1
  106. package/dist/cjs/dso-info_2.cjs.entry.js +2 -2
  107. package/dist/cjs/dso-input-range.cjs.entry.js +2 -2
  108. package/dist/cjs/dso-label_3.cjs.entry.js +4 -4
  109. package/dist/cjs/dso-legend-item.cjs.entry.js +1 -1
  110. package/dist/cjs/dso-list-button.cjs.entry.js +1 -1
  111. package/dist/cjs/dso-logo.cjs.entry.js +2 -2
  112. package/dist/cjs/dso-logo.cjs.entry.js.map +1 -1
  113. package/dist/cjs/dso-logo.entry.cjs.js.map +1 -1
  114. package/dist/cjs/dso-map-base-layers.cjs.entry.js +1 -1
  115. package/dist/cjs/dso-map-controls.cjs.entry.js +1 -1
  116. package/dist/cjs/dso-map-overlays.cjs.entry.js +1 -1
  117. package/dist/cjs/dso-mark-bar.cjs.entry.js +1 -1
  118. package/dist/cjs/dso-modal.cjs.entry.js +1 -1
  119. package/dist/cjs/dso-onboarding-tip.cjs.entry.js +1 -1
  120. package/dist/cjs/dso-plekinfo-card.cjs.entry.js +1 -1
  121. package/dist/cjs/dso-progress-bar.cjs.entry.js +1 -1
  122. package/dist/cjs/dso-progress-indicator.cjs.entry.js +1 -1
  123. package/dist/cjs/dso-project-item.cjs.entry.js +1 -1
  124. package/dist/cjs/dso-responsive-element.cjs.entry.js +1 -1
  125. package/dist/cjs/dso-scrollable.cjs.entry.js +2 -2
  126. package/dist/cjs/dso-skiplink.cjs.entry.js +1 -1
  127. package/dist/cjs/dso-survey-rating.cjs.entry.js +2 -2
  128. package/dist/cjs/dso-tabs.cjs.entry.js +1 -1
  129. package/dist/cjs/dso-toggletip.cjs.entry.js +1 -1
  130. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  131. package/dist/cjs/dso-tooltip.cjs.entry.js +1 -1
  132. package/dist/cjs/dso-tree-view.cjs.entry.js +1 -1
  133. package/dist/cjs/dso-viewer-grid.cjs.entry.js +1 -1
  134. package/dist/cjs/loader.cjs.js +1 -1
  135. package/dist/collection/components/dropdown-menu/dropdown-menu.js +1 -1
  136. package/dist/collection/components/dropdown-menu/dropdown-menu.js.map +1 -1
  137. package/dist/collection/components/header/header.css +28 -28
  138. package/dist/collection/components/header/header.interfaces.js.map +1 -1
  139. package/dist/collection/components/header/header.js +126 -107
  140. package/dist/collection/components/header/header.js.map +1 -1
  141. package/dist/collection/components/header/menu-item.functional-component.js +6 -0
  142. package/dist/collection/components/header/menu-item.functional-component.js.map +1 -0
  143. package/dist/collection/components/highlight-box/highlight-box.js +1 -1
  144. package/dist/collection/components/icon/icon.js +1 -1
  145. package/dist/collection/components/info/info.js +1 -1
  146. package/dist/collection/components/info-button/info-button.js +1 -1
  147. package/dist/collection/components/input-range/input-range.js +2 -2
  148. package/dist/collection/components/label/label.js +3 -3
  149. package/dist/collection/components/legend-item/legend-item.js +1 -1
  150. package/dist/collection/components/list-button/list-button.js +1 -1
  151. package/dist/collection/components/logo/logo.css +2 -8
  152. package/dist/collection/components/logo/logo.js +1 -1
  153. package/dist/collection/components/map-base-layers/map-base-layers.js +1 -1
  154. package/dist/collection/components/map-controls/map-controls.js +1 -1
  155. package/dist/collection/components/map-overlays/map-overlays.js +1 -1
  156. package/dist/collection/components/mark-bar/mark-bar.js +1 -1
  157. package/dist/collection/components/modal/modal.js +1 -1
  158. package/dist/collection/components/onboarding-tip/onboarding-tip.js +1 -1
  159. package/dist/collection/components/ozon-content/ozon-content.js +1 -1
  160. package/dist/collection/components/plekinfo-card/plekinfo-card.js +1 -1
  161. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  162. package/dist/collection/components/progress-indicator/progress-indicator.js +1 -1
  163. package/dist/collection/components/project-item/project-item.js +1 -1
  164. package/dist/collection/components/responsive-element/responsive-element.js +1 -1
  165. package/dist/collection/components/scrollable/scrollable.js +2 -2
  166. package/dist/collection/components/selectable/selectable.js +1 -1
  167. package/dist/collection/components/skiplink/skiplink.js +1 -1
  168. package/dist/collection/components/slide-toggle/slide-toggle.js +1 -1
  169. package/dist/collection/components/survey-rating/survey-rating.js +2 -2
  170. package/dist/collection/components/table/table.js +1 -1
  171. package/dist/collection/components/tabs/tabs.js +1 -1
  172. package/dist/collection/components/toggletip/toggletip.js +1 -1
  173. package/dist/collection/components/tooltip/tooltip.js +1 -1
  174. package/dist/collection/components/tree-view/tree-view.js +1 -1
  175. package/dist/collection/components/viewer-grid/viewer-grid.js +1 -1
  176. package/dist/components/dropdown-menu.js +1 -1
  177. package/dist/components/dropdown-menu.js.map +1 -1
  178. package/dist/components/dso-header.js +96 -95
  179. package/dist/components/dso-header.js.map +1 -1
  180. package/dist/components/dso-highlight-box.js +1 -1
  181. package/dist/components/dso-input-range.js +2 -2
  182. package/dist/components/dso-legend-item.js +1 -1
  183. package/dist/components/dso-list-button.js +1 -1
  184. package/dist/components/dso-logo.js +2 -2
  185. package/dist/components/dso-logo.js.map +1 -1
  186. package/dist/components/dso-map-base-layers.js +1 -1
  187. package/dist/components/dso-map-controls.js +1 -1
  188. package/dist/components/dso-map-overlays.js +1 -1
  189. package/dist/components/dso-mark-bar.js +1 -1
  190. package/dist/components/dso-modal.js +1 -1
  191. package/dist/components/dso-onboarding-tip.js +1 -1
  192. package/dist/components/dso-plekinfo-card.js +1 -1
  193. package/dist/components/dso-progress-bar.js +1 -1
  194. package/dist/components/dso-project-item.js +1 -1
  195. package/dist/components/dso-skiplink.js +1 -1
  196. package/dist/components/dso-survey-rating.js +2 -2
  197. package/dist/components/dso-tabs.js +1 -1
  198. package/dist/components/dso-tree-view.js +1 -1
  199. package/dist/components/dso-viewer-grid.js +1 -1
  200. package/dist/components/icon.js +1 -1
  201. package/dist/components/info-button.js +1 -1
  202. package/dist/components/info.js +1 -1
  203. package/dist/components/label.js +3 -3
  204. package/dist/components/ozon-content.js +1 -1
  205. package/dist/components/progress-indicator.js +1 -1
  206. package/dist/components/responsive-element.js +1 -1
  207. package/dist/components/scrollable.js +2 -2
  208. package/dist/components/selectable.js +1 -1
  209. package/dist/components/slide-toggle.js +1 -1
  210. package/dist/components/table.js +1 -1
  211. package/dist/components/toggletip.js +1 -1
  212. package/dist/components/tooltip.js +1 -1
  213. package/dist/dso-toolkit/dso-dropdown-menu.entry.esm.js.map +1 -1
  214. package/dist/dso-toolkit/dso-header.entry.esm.js.map +1 -1
  215. package/dist/dso-toolkit/dso-logo.entry.esm.js.map +1 -1
  216. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  217. package/dist/dso-toolkit/{p-53466f70.entry.js → p-01e90e48.entry.js} +2 -2
  218. package/dist/dso-toolkit/{p-78a12530.entry.js → p-071846be.entry.js} +2 -2
  219. package/dist/dso-toolkit/{p-8128fe57.entry.js → p-08efe022.entry.js} +2 -2
  220. package/dist/dso-toolkit/{p-f055ab17.entry.js → p-1cc4cc04.entry.js} +2 -2
  221. package/dist/dso-toolkit/{p-6aff6420.entry.js → p-257a4650.entry.js} +2 -2
  222. package/dist/dso-toolkit/p-2660ebab.entry.js +2 -0
  223. package/dist/dso-toolkit/p-2660ebab.entry.js.map +1 -0
  224. package/dist/dso-toolkit/{p-443a78e5.entry.js → p-275e5ec7.entry.js} +2 -2
  225. package/dist/dso-toolkit/{p-3300fe1e.entry.js → p-2cec1fea.entry.js} +2 -2
  226. package/dist/dso-toolkit/{p-53a81213.entry.js → p-445aba67.entry.js} +2 -2
  227. package/dist/dso-toolkit/{p-7731d7bb.entry.js → p-55637fe3.entry.js} +2 -2
  228. package/dist/dso-toolkit/{p-c359f83e.entry.js → p-67b6a838.entry.js} +2 -2
  229. package/dist/dso-toolkit/{p-b245449a.entry.js → p-6902ffb5.entry.js} +2 -2
  230. package/dist/dso-toolkit/{p-17219f16.entry.js → p-81711068.entry.js} +2 -2
  231. package/dist/dso-toolkit/{p-afaee982.entry.js → p-898de91a.entry.js} +2 -2
  232. package/dist/dso-toolkit/{p-6a813c6c.entry.js → p-951d879a.entry.js} +2 -2
  233. package/dist/dso-toolkit/{p-6a813c6c.entry.js.map → p-951d879a.entry.js.map} +1 -1
  234. package/dist/dso-toolkit/{p-02491a35.entry.js → p-9566b0a7.entry.js} +2 -2
  235. package/dist/dso-toolkit/p-9b2ca189.entry.js +2 -0
  236. package/dist/dso-toolkit/{p-3522c1dd.entry.js.map → p-9b2ca189.entry.js.map} +1 -1
  237. package/dist/dso-toolkit/{p-16255f29.entry.js → p-a38fbc5c.entry.js} +2 -2
  238. package/dist/dso-toolkit/{p-5c0322dc.entry.js → p-a62f368d.entry.js} +2 -2
  239. package/dist/dso-toolkit/{p-d51d9d66.entry.js → p-add3ca45.entry.js} +2 -2
  240. package/dist/dso-toolkit/{p-04d6ae97.entry.js → p-b4931ff4.entry.js} +2 -2
  241. package/dist/dso-toolkit/{p-f8557ec8.entry.js → p-b4ba87ac.entry.js} +2 -2
  242. package/dist/dso-toolkit/{p-ea71badf.entry.js → p-c45258d3.entry.js} +2 -2
  243. package/dist/dso-toolkit/{p-d0e82c62.entry.js → p-d864f7da.entry.js} +2 -2
  244. package/dist/dso-toolkit/{p-4d885de2.entry.js → p-d947dd25.entry.js} +2 -2
  245. package/dist/dso-toolkit/{p-1aa49aa7.entry.js → p-e299ac60.entry.js} +2 -2
  246. package/dist/dso-toolkit/{p-8fd586d4.entry.js → p-ef042313.entry.js} +2 -2
  247. package/dist/dso-toolkit/{p-fd42a8cd.entry.js → p-f2a61198.entry.js} +2 -2
  248. package/dist/dso-toolkit/{p-218b1fe3.entry.js → p-f4a1a07b.entry.js} +2 -2
  249. package/dist/dso-toolkit/p-f65ace88.entry.js +2 -0
  250. package/dist/dso-toolkit/p-f65ace88.entry.js.map +1 -0
  251. package/dist/dso-toolkit/{p-43564b05.entry.js → p-f9bc4e87.entry.js} +2 -2
  252. package/dist/esm/dso-alert_6.entry.js +2 -2
  253. package/dist/esm/dso-dropdown-menu.entry.js +1 -1
  254. package/dist/esm/dso-dropdown-menu.entry.js.map +1 -1
  255. package/dist/esm/dso-header.entry.js +92 -90
  256. package/dist/esm/dso-header.entry.js.map +1 -1
  257. package/dist/esm/dso-highlight-box.entry.js +1 -1
  258. package/dist/esm/dso-icon.entry.js +1 -1
  259. package/dist/esm/dso-info-button.entry.js +1 -1
  260. package/dist/esm/dso-info_2.entry.js +2 -2
  261. package/dist/esm/dso-input-range.entry.js +2 -2
  262. package/dist/esm/dso-label_3.entry.js +4 -4
  263. package/dist/esm/dso-legend-item.entry.js +1 -1
  264. package/dist/esm/dso-list-button.entry.js +1 -1
  265. package/dist/esm/dso-logo.entry.js +2 -2
  266. package/dist/esm/dso-logo.entry.js.map +1 -1
  267. package/dist/esm/dso-map-base-layers.entry.js +1 -1
  268. package/dist/esm/dso-map-controls.entry.js +1 -1
  269. package/dist/esm/dso-map-overlays.entry.js +1 -1
  270. package/dist/esm/dso-mark-bar.entry.js +1 -1
  271. package/dist/esm/dso-modal.entry.js +1 -1
  272. package/dist/esm/dso-onboarding-tip.entry.js +1 -1
  273. package/dist/esm/dso-plekinfo-card.entry.js +1 -1
  274. package/dist/esm/dso-progress-bar.entry.js +1 -1
  275. package/dist/esm/dso-progress-indicator.entry.js +1 -1
  276. package/dist/esm/dso-project-item.entry.js +1 -1
  277. package/dist/esm/dso-responsive-element.entry.js +1 -1
  278. package/dist/esm/dso-scrollable.entry.js +2 -2
  279. package/dist/esm/dso-skiplink.entry.js +1 -1
  280. package/dist/esm/dso-survey-rating.entry.js +2 -2
  281. package/dist/esm/dso-tabs.entry.js +1 -1
  282. package/dist/esm/dso-toggletip.entry.js +1 -1
  283. package/dist/esm/dso-toolkit.js +1 -1
  284. package/dist/esm/dso-tooltip.entry.js +1 -1
  285. package/dist/esm/dso-tree-view.entry.js +1 -1
  286. package/dist/esm/dso-viewer-grid.entry.js +1 -1
  287. package/dist/esm/loader.js +1 -1
  288. package/dist/types/components/header/header.d.ts +38 -26
  289. package/dist/types/components/header/header.interfaces.d.ts +2 -0
  290. package/dist/types/components/header/menu-item.functional-component.d.ts +9 -0
  291. package/dist/types/components.d.ts +20 -18
  292. package/package.json +3 -3
  293. package/dist/dso-toolkit/p-1a06ea3b.entry.js +0 -2
  294. package/dist/dso-toolkit/p-1a06ea3b.entry.js.map +0 -1
  295. package/dist/dso-toolkit/p-3522c1dd.entry.js +0 -2
  296. package/dist/dso-toolkit/p-a85afaa8.entry.js +0 -2
  297. package/dist/dso-toolkit/p-a85afaa8.entry.js.map +0 -1
  298. /package/dist/dso-toolkit/{p-53466f70.entry.js.map → p-01e90e48.entry.js.map} +0 -0
  299. /package/dist/dso-toolkit/{p-78a12530.entry.js.map → p-071846be.entry.js.map} +0 -0
  300. /package/dist/dso-toolkit/{p-8128fe57.entry.js.map → p-08efe022.entry.js.map} +0 -0
  301. /package/dist/dso-toolkit/{p-f055ab17.entry.js.map → p-1cc4cc04.entry.js.map} +0 -0
  302. /package/dist/dso-toolkit/{p-6aff6420.entry.js.map → p-257a4650.entry.js.map} +0 -0
  303. /package/dist/dso-toolkit/{p-443a78e5.entry.js.map → p-275e5ec7.entry.js.map} +0 -0
  304. /package/dist/dso-toolkit/{p-3300fe1e.entry.js.map → p-2cec1fea.entry.js.map} +0 -0
  305. /package/dist/dso-toolkit/{p-53a81213.entry.js.map → p-445aba67.entry.js.map} +0 -0
  306. /package/dist/dso-toolkit/{p-7731d7bb.entry.js.map → p-55637fe3.entry.js.map} +0 -0
  307. /package/dist/dso-toolkit/{p-c359f83e.entry.js.map → p-67b6a838.entry.js.map} +0 -0
  308. /package/dist/dso-toolkit/{p-b245449a.entry.js.map → p-6902ffb5.entry.js.map} +0 -0
  309. /package/dist/dso-toolkit/{p-17219f16.entry.js.map → p-81711068.entry.js.map} +0 -0
  310. /package/dist/dso-toolkit/{p-afaee982.entry.js.map → p-898de91a.entry.js.map} +0 -0
  311. /package/dist/dso-toolkit/{p-02491a35.entry.js.map → p-9566b0a7.entry.js.map} +0 -0
  312. /package/dist/dso-toolkit/{p-16255f29.entry.js.map → p-a38fbc5c.entry.js.map} +0 -0
  313. /package/dist/dso-toolkit/{p-5c0322dc.entry.js.map → p-a62f368d.entry.js.map} +0 -0
  314. /package/dist/dso-toolkit/{p-d51d9d66.entry.js.map → p-add3ca45.entry.js.map} +0 -0
  315. /package/dist/dso-toolkit/{p-04d6ae97.entry.js.map → p-b4931ff4.entry.js.map} +0 -0
  316. /package/dist/dso-toolkit/{p-f8557ec8.entry.js.map → p-b4ba87ac.entry.js.map} +0 -0
  317. /package/dist/dso-toolkit/{p-ea71badf.entry.js.map → p-c45258d3.entry.js.map} +0 -0
  318. /package/dist/dso-toolkit/{p-d0e82c62.entry.js.map → p-d864f7da.entry.js.map} +0 -0
  319. /package/dist/dso-toolkit/{p-4d885de2.entry.js.map → p-d947dd25.entry.js.map} +0 -0
  320. /package/dist/dso-toolkit/{p-1aa49aa7.entry.js.map → p-e299ac60.entry.js.map} +0 -0
  321. /package/dist/dso-toolkit/{p-8fd586d4.entry.js.map → p-ef042313.entry.js.map} +0 -0
  322. /package/dist/dso-toolkit/{p-fd42a8cd.entry.js.map → p-f2a61198.entry.js.map} +0 -0
  323. /package/dist/dso-toolkit/{p-218b1fe3.entry.js.map → p-f4a1a07b.entry.js.map} +0 -0
  324. /package/dist/dso-toolkit/{p-43564b05.entry.js.map → p-f9bc4e87.entry.js.map} +0 -0
@@ -1,9 +1,10 @@
1
- import { Fragment, h } from "@stencil/core";
1
+ import { Fragment, Host, forceUpdate, h, } from "@stencil/core";
2
2
  import clsx from "clsx";
3
3
  import debounce from "debounce";
4
4
  import { i18n } from "../../utils/i18n";
5
5
  import { isModifiedEvent } from "../../utils/is-modified-event";
6
6
  import { translations } from "./header.i18n";
7
+ import { MenuItem } from "./menu-item.functional-component";
7
8
  const minDesktopViewportWidth = 992;
8
9
  export class Header {
9
10
  constructor() {
@@ -12,9 +13,10 @@ export class Header {
12
13
  */
13
14
  this.mainMenu = [];
14
15
  /**
15
- * Either have the dropdown menu appear automatically or always.
16
+ * Set to "always" to force the header to be compact. Otherwise it will be compact when
17
+ * the viewport is smaller than 992px.
16
18
  */
17
- this.useDropDownMenu = "auto";
19
+ this.compact = "auto";
18
20
  /**
19
21
  * Used to show the login/logout option. 'none' renders nothing.
20
22
  */
@@ -23,83 +25,73 @@ export class Header {
23
25
  * Show a help-button or link in the header
24
26
  */
25
27
  this.showHelp = false;
26
- this.overflowMenuItems = 0;
28
+ /**
29
+ * Set this to true when the user is at "Mijn Omgevingsloket".
30
+ */
31
+ this.userHomeActive = false;
32
+ this.visibleMenuItemsCount = undefined;
27
33
  this.dropdownOptionsOffset = 0;
28
- this.text = i18n(() => this.host, translations);
29
- this.onWindowResize = debounce(() => {
34
+ this.onWindowResize = debounce(() => this.resetVisibleMenuItems(), 20);
35
+ this.resetVisibleMenuItems = () => {
36
+ this.visibleMenuItemsCount = undefined;
37
+ forceUpdate(this.host);
38
+ };
39
+ this.clickHandler = (e, type, options) => {
30
40
  var _a, _b;
31
- (_a = this.dropdownElement) === null || _a === void 0 ? void 0 : _a.removeAttribute("open");
32
- (_b = this.dropdownElement) === null || _b === void 0 ? void 0 : _b.removeAttribute("tabindex");
33
- this.setDropDownMenu();
34
- this.setOverflowMenu();
35
- if (this.showDropDown) {
36
- this.dropdownOptionsOffset = this.calculateDropdownOptionsOffset();
37
- }
38
- }, 100);
39
- this.MenuItem = (item) => {
40
- return (h("li", { class: item.active ? "dso-active" : undefined }, h("a", { href: item.url, "aria-current": item.active ? "page" : undefined, onClick: (e) => this.clickHandler(e, "menuItem", { menuItem: item }) }, item.label)));
41
+ this.dsoHeaderClick.emit({
42
+ originalEvent: e,
43
+ isModifiedEvent: isModifiedEvent(e),
44
+ type,
45
+ menuItem: options === null || options === void 0 ? void 0 : options.menuItem,
46
+ url: (_a = options === null || options === void 0 ? void 0 : options.url) !== null && _a !== void 0 ? _a : (_b = options === null || options === void 0 ? void 0 : options.menuItem) === null || _b === void 0 ? void 0 : _b.url,
47
+ });
41
48
  };
49
+ this.menuItemElementRefs = [];
50
+ this.text = i18n(() => this.host, translations);
42
51
  }
43
- clickHandler(e, type, options) {
44
- var _a, _b;
45
- this.dsoHeaderClick.emit({
46
- originalEvent: e,
47
- isModifiedEvent: isModifiedEvent(e),
48
- type,
49
- menuItem: options === null || options === void 0 ? void 0 : options.menuItem,
50
- url: (_a = options === null || options === void 0 ? void 0 : options.url) !== null && _a !== void 0 ? _a : (_b = options === null || options === void 0 ? void 0 : options.menuItem) === null || _b === void 0 ? void 0 : _b.url,
51
- });
52
+ mainMenuChanged() {
53
+ this.resetVisibleMenuItems();
52
54
  }
53
- setShowDropDown(value) {
54
- if (value === "auto") {
55
- this.setDropDownMenu();
56
- return;
57
- }
58
- this.showDropDown = value === "always";
55
+ resizeListener() {
56
+ this.onWindowResize();
59
57
  }
60
- shrinkMenuToFit() {
61
- if (!this.wrapper || !this.nav) {
62
- return;
63
- }
64
- if (this.wrapper.clientWidth >= this.nav.clientWidth) {
65
- return;
66
- }
67
- if (this.mainMenu && this.overflowMenuItems >= this.mainMenu.length) {
68
- return;
69
- }
70
- this.overflowMenuItems++;
58
+ get isCompact() {
59
+ return this.compact === "always" || window.innerWidth < minDesktopViewportWidth;
71
60
  }
72
- componentDidRender() {
73
- if (!this.host.isConnected) {
74
- return;
75
- }
76
- if (this.showDropDown) {
77
- this.dropdownOptionsOffset = this.calculateDropdownOptionsOffset();
78
- return;
79
- }
80
- window.setTimeout(() => this.shrinkMenuToFit(), 0);
81
- }
82
- componentDidLoad() {
83
- this.setShowDropDown(this.useDropDownMenu);
84
- if (this.showDropDown) {
85
- this.dropdownOptionsOffset = this.calculateDropdownOptionsOffset();
86
- }
87
- }
88
- setOverflowMenu() {
89
- if (this.showDropDown) {
90
- return;
61
+ /**
62
+ * Before determining the visible menu items, all the menu items are rendered (including the dropdown menu item and the user home menu item).
63
+ * Then the visible menu items are calculated in componentDidRender() and ONLY when the visibleMenuItemsCount is undefined.
64
+ *
65
+ * When the window resizes or this.mainMenu changes, a reset is triggered to recalculate the visible menu items.
66
+ *
67
+ * @param navElement The navigation element to calculate the overflow menu item count for.
68
+ * @returns The number of menu items that can fit in the available space.
69
+ */
70
+ calculateOverflowMenuItemCount(navElement) {
71
+ var _a;
72
+ const availableWidth = navElement.offsetWidth;
73
+ const lastMenuItem = this.menuItemElementRefs[this.menuItemElementRefs.length - 1];
74
+ const mostRightMenuItem = (_a = this.userHomeMenuItemElementRef) !== null && _a !== void 0 ? _a : lastMenuItem;
75
+ const dropdownMenuItem = this.dropdownMenuItemElementRef;
76
+ if (!mostRightMenuItem || !dropdownMenuItem || !lastMenuItem) {
77
+ return this.menuItemElementRefs.length;
91
78
  }
92
- if (this.overflowMenuItems !== 0) {
93
- this.overflowMenuItems = 0;
94
- return;
79
+ const dropdownMenuItemEffectiveWidth = dropdownMenuItem.offsetLeft + dropdownMenuItem.offsetWidth - (lastMenuItem.offsetLeft + lastMenuItem.offsetWidth);
80
+ const requiredWidth = mostRightMenuItem.offsetLeft + mostRightMenuItem.offsetWidth - dropdownMenuItemEffectiveWidth;
81
+ if (requiredWidth <= availableWidth) {
82
+ return this.menuItemElementRefs.length;
95
83
  }
96
- this.shrinkMenuToFit();
97
- }
98
- setDropDownMenu() {
99
- if (this.useDropDownMenu !== "auto") {
100
- return;
84
+ const userHomeMenuItemEffectiveWidth = this.userHomeMenuItemElementRef
85
+ ? this.userHomeMenuItemElementRef.offsetLeft +
86
+ this.userHomeMenuItemElementRef.offsetWidth -
87
+ (dropdownMenuItem.offsetLeft + dropdownMenuItem.offsetWidth)
88
+ : 0;
89
+ const remainingWidth = availableWidth - dropdownMenuItemEffectiveWidth - userHomeMenuItemEffectiveWidth;
90
+ const visibleMenuItems = this.menuItemElementRefs.findIndex((menuItem) => menuItem && menuItem.offsetLeft + menuItem.offsetWidth > remainingWidth);
91
+ if (visibleMenuItems < 0) {
92
+ return this.menuItemElementRefs.length;
101
93
  }
102
- this.showDropDown = window.innerWidth < minDesktopViewportWidth;
94
+ return visibleMenuItems;
103
95
  }
104
96
  calculateDropdownOptionsOffset() {
105
97
  var _a;
@@ -109,28 +101,34 @@ export class Header {
109
101
  return (this.host.clientHeight -
110
102
  (((_a = this.dropdownElement) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().bottom) - this.host.getBoundingClientRect().top));
111
103
  }
112
- connectedCallback() {
113
- window.addEventListener("resize", this.onWindowResize);
104
+ get visibleMainMenuItems() {
105
+ return typeof this.visibleMenuItemsCount === "number"
106
+ ? this.mainMenu.slice(0, this.visibleMenuItemsCount)
107
+ : this.mainMenu;
114
108
  }
115
- disconnectedCallback() {
116
- window.removeEventListener("resize", this.onWindowResize);
109
+ get hiddenMainMenuItems() {
110
+ return typeof this.visibleMenuItemsCount === "number" ? this.mainMenu.slice(this.visibleMenuItemsCount) : [];
117
111
  }
118
- render() {
119
- // Prevent 'flickering' when useDropDownMenu = 'always'
120
- if (this.showDropDown === undefined) {
112
+ componentDidRender() {
113
+ if (!this.host.isConnected) {
121
114
  return;
122
115
  }
123
- return (h(Fragment, null, h("div", { class: clsx("dso-header", {
124
- ["use-drop-down"]: this.showDropDown,
125
- }), ref: (element) => (this.wrapper = element) }, h("div", { class: "logo-container" }, h("slot", { name: "logo" })), this.showDropDown &&
126
- 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
- this.mainMenu
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", 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
- this.mainMenu
132
- .filter((_, index) => this.mainMenu && index >= this.mainMenu.length - this.overflowMenuItems)
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"))))))))))));
116
+ if (this.isCompact && this.dropdownElement) {
117
+ this.dropdownElement.dropdownOptionsOffset = this.calculateDropdownOptionsOffset();
118
+ }
119
+ if (typeof this.visibleMenuItemsCount === "undefined" && this.navElement) {
120
+ this.visibleMenuItemsCount = this.calculateOverflowMenuItemCount(this.navElement);
121
+ }
122
+ }
123
+ render() {
124
+ return (h(Host, { key: '8e00a5489946b71addacb1b71c2f9f36d443c14f', "is-compact": this.isCompact }, h("div", { key: '220b6faaeb955c2631dd038434fb91f74f90f233', class: "dso-header" }, h("div", { key: '00800011fd196a1c59e6401309ecbd3e97d7be6f', class: "logo-container" }, h("slot", { key: '6285ba06ebca475c7d38d3fb4ab60fdbb82a60e3', name: "logo" })), this.isCompact ? this.renderCompact() : this.renderNormal())));
125
+ }
126
+ renderCompact() {
127
+ return ((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((menuItem) => (h(MenuItem, { item: menuItem, onClick: (e) => this.clickHandler(e, "menuItem", { 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" })))))))))));
128
+ }
129
+ renderNormal() {
130
+ this.menuItemElementRefs = [];
131
+ return (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.length > 0 || this.userHomeUrl) && (h("nav", { class: "dso-navbar" }, h("ul", { class: clsx("dso-nav", "dso-nav-main", { ready: this.visibleMenuItemsCount !== undefined }), ref: (element) => (this.navElement = element) }, this.visibleMainMenuItems.map((menuItem, i) => (h(MenuItem, { item: menuItem, onClick: (e) => this.clickHandler(e, "menuItem", { menuItem }), key: menuItem.label, ref: (el) => (this.menuItemElementRefs[i] = el) }))), (this.visibleMenuItemsCount === undefined || this.hiddenMainMenuItems.length > 0) && (h("li", { "aria-hidden": this.visibleMenuItemsCount === undefined, ref: (el) => (this.dropdownMenuItemElementRef = el), class: "dropdown-menu-item" }, h("dso-dropdown-menu", null, h("button", { type: "button", slot: "toggle" }, h("span", null, this.text("overflowMenu")), h("dso-icon", { icon: "chevron-down", class: "main-menu-item-icon" })), h("div", { class: "dso-dropdown-options" }, h("ul", null, this.hiddenMainMenuItems.map((menuItem) => (h(MenuItem, { item: menuItem, onClick: (e) => this.clickHandler(e, "menuItem", { menuItem }) })))))))), this.userHomeUrl && (h("li", { class: clsx("menu-user-home", { "dso-active": this.userHomeActive }), ref: (el) => (this.userHomeMenuItemElementRef = el) }, 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", class: "main-menu-item-icon" }), this.text("userHome")))))))));
134
132
  }
135
133
  static get is() { return "dso-header"; }
136
134
  static get encapsulation() { return "shadow"; }
@@ -152,7 +150,7 @@ export class Header {
152
150
  "mutable": false,
153
151
  "complexType": {
154
152
  "original": "HeaderMenuItem[]",
155
- "resolved": "HeaderMenuItem[] | undefined",
153
+ "resolved": "HeaderMenuItem[]",
156
154
  "references": {
157
155
  "HeaderMenuItem": {
158
156
  "location": "import",
@@ -162,7 +160,7 @@ export class Header {
162
160
  }
163
161
  },
164
162
  "required": false,
165
- "optional": true,
163
+ "optional": false,
166
164
  "docs": {
167
165
  "tags": [],
168
166
  "text": "The main menu items."
@@ -171,20 +169,26 @@ export class Header {
171
169
  "setter": false,
172
170
  "defaultValue": "[]"
173
171
  },
174
- "useDropDownMenu": {
172
+ "compact": {
175
173
  "type": "string",
176
- "attribute": "use-drop-down-menu",
174
+ "attribute": "compact",
177
175
  "mutable": false,
178
176
  "complexType": {
179
- "original": "\"always\" | \"auto\"",
177
+ "original": "HeaderCompactMode",
180
178
  "resolved": "\"always\" | \"auto\"",
181
- "references": {}
179
+ "references": {
180
+ "HeaderCompactMode": {
181
+ "location": "import",
182
+ "path": "./header.interfaces",
183
+ "id": "src/components/header/header.interfaces.ts::HeaderCompactMode"
184
+ }
185
+ }
182
186
  },
183
187
  "required": false,
184
188
  "optional": false,
185
189
  "docs": {
186
190
  "tags": [],
187
- "text": "Either have the dropdown menu appear automatically or always."
191
+ "text": "Set to \"always\" to force the header to be compact. Otherwise it will be compact when\r\nthe viewport is smaller than 992px."
188
192
  },
189
193
  "getter": false,
190
194
  "setter": false,
@@ -196,9 +200,15 @@ export class Header {
196
200
  "attribute": "auth-status",
197
201
  "mutable": false,
198
202
  "complexType": {
199
- "original": "\"none\" | \"loggedIn\" | \"loggedOut\"",
203
+ "original": "HeaderAuthStatus",
200
204
  "resolved": "\"loggedIn\" | \"loggedOut\" | \"none\"",
201
- "references": {}
205
+ "references": {
206
+ "HeaderAuthStatus": {
207
+ "location": "import",
208
+ "path": "./header.interfaces",
209
+ "id": "src/components/header/header.interfaces.ts::HeaderAuthStatus"
210
+ }
211
+ }
202
212
  },
203
213
  "required": false,
204
214
  "optional": false,
@@ -254,12 +264,12 @@ export class Header {
254
264
  "attribute": "show-help",
255
265
  "mutable": false,
256
266
  "complexType": {
257
- "original": "boolean | undefined",
258
- "resolved": "boolean | undefined",
267
+ "original": "boolean",
268
+ "resolved": "boolean",
259
269
  "references": {}
260
270
  },
261
271
  "required": false,
262
- "optional": true,
272
+ "optional": false,
263
273
  "docs": {
264
274
  "tags": [],
265
275
  "text": "Show a help-button or link in the header"
@@ -351,25 +361,25 @@ export class Header {
351
361
  "mutable": false,
352
362
  "complexType": {
353
363
  "original": "boolean",
354
- "resolved": "boolean | undefined",
364
+ "resolved": "boolean",
355
365
  "references": {}
356
366
  },
357
367
  "required": false,
358
- "optional": true,
368
+ "optional": false,
359
369
  "docs": {
360
370
  "tags": [],
361
371
  "text": "Set this to true when the user is at \"Mijn Omgevingsloket\"."
362
372
  },
363
373
  "getter": false,
364
374
  "setter": false,
365
- "reflect": false
375
+ "reflect": false,
376
+ "defaultValue": "false"
366
377
  }
367
378
  };
368
379
  }
369
380
  static get states() {
370
381
  return {
371
- "showDropDown": {},
372
- "overflowMenuItems": {},
382
+ "visibleMenuItemsCount": {},
373
383
  "dropdownOptionsOffset": {}
374
384
  };
375
385
  }
@@ -400,8 +410,17 @@ export class Header {
400
410
  static get elementRef() { return "host"; }
401
411
  static get watchers() {
402
412
  return [{
403
- "propName": "useDropDownMenu",
404
- "methodName": "setShowDropDown"
413
+ "propName": "mainMenu",
414
+ "methodName": "mainMenuChanged"
415
+ }];
416
+ }
417
+ static get listeners() {
418
+ return [{
419
+ "name": "resize",
420
+ "method": "resizeListener",
421
+ "target": "window",
422
+ "capture": false,
423
+ "passive": true
405
424
  }];
406
425
  }
407
426
  }
@@ -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 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"]}
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../src/components/header/header.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Host,\r\n Listen,\r\n Prop,\r\n State,\r\n Watch,\r\n forceUpdate,\r\n h,\r\n} 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 {\r\n HeaderAuthStatus,\r\n HeaderCompactMode,\r\n HeaderEvent,\r\n HeaderMenuItem,\r\n HeaderNavigationType,\r\n} from \"./header.interfaces\";\r\nimport { MenuItem } from \"./menu-item.functional-component\";\r\n\r\nconst minDesktopViewportWidth = 992;\r\n\r\ninterface ClickHandlerOptions {\r\n menuItem?: HeaderMenuItem;\r\n url?: string;\r\n}\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 implements ComponentInterface {\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 * Set to \"always\" to force the header to be compact. Otherwise it will be compact when\r\n * the viewport is smaller than 992px.\r\n */\r\n @Prop()\r\n compact: HeaderCompactMode = \"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: HeaderAuthStatus = \"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 = false;\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 @State()\r\n visibleMenuItemsCount: number | undefined = undefined;\r\n\r\n @State()\r\n dropdownOptionsOffset = 0;\r\n\r\n @Watch(\"mainMenu\")\r\n mainMenuChanged() {\r\n this.resetVisibleMenuItems();\r\n }\r\n\r\n @Listen(\"resize\", { target: \"window\" })\r\n resizeListener() {\r\n this.onWindowResize();\r\n }\r\n\r\n private onWindowResize = debounce(() => this.resetVisibleMenuItems(), 20);\r\n\r\n private resetVisibleMenuItems = () => {\r\n this.visibleMenuItemsCount = undefined;\r\n\r\n forceUpdate(this.host);\r\n };\r\n\r\n private get isCompact() {\r\n return this.compact === \"always\" || window.innerWidth < minDesktopViewportWidth;\r\n }\r\n\r\n private clickHandler = (e: MouseEvent, type: HeaderNavigationType, options?: ClickHandlerOptions) => {\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: HTMLDsoDropdownMenuElement | undefined;\r\n private navElement: HTMLUListElement | undefined;\r\n private menuItemElementRefs: (HTMLLIElement | undefined)[] = [];\r\n private dropdownMenuItemElementRef: HTMLLIElement | undefined;\r\n private userHomeMenuItemElementRef: HTMLLIElement | undefined;\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n /**\r\n * Before determining the visible menu items, all the menu items are rendered (including the dropdown menu item and the user home menu item).\r\n * Then the visible menu items are calculated in componentDidRender() and ONLY when the visibleMenuItemsCount is undefined.\r\n *\r\n * When the window resizes or this.mainMenu changes, a reset is triggered to recalculate the visible menu items.\r\n *\r\n * @param navElement The navigation element to calculate the overflow menu item count for.\r\n * @returns The number of menu items that can fit in the available space.\r\n */\r\n private calculateOverflowMenuItemCount(navElement: HTMLUListElement): number {\r\n const availableWidth = navElement.offsetWidth;\r\n\r\n const lastMenuItem = this.menuItemElementRefs[this.menuItemElementRefs.length - 1];\r\n const mostRightMenuItem = this.userHomeMenuItemElementRef ?? lastMenuItem;\r\n const dropdownMenuItem = this.dropdownMenuItemElementRef;\r\n\r\n if (!mostRightMenuItem || !dropdownMenuItem || !lastMenuItem) {\r\n return this.menuItemElementRefs.length;\r\n }\r\n\r\n const dropdownMenuItemEffectiveWidth =\r\n dropdownMenuItem.offsetLeft + dropdownMenuItem.offsetWidth - (lastMenuItem.offsetLeft + lastMenuItem.offsetWidth);\r\n\r\n const requiredWidth = mostRightMenuItem.offsetLeft + mostRightMenuItem.offsetWidth - dropdownMenuItemEffectiveWidth;\r\n\r\n if (requiredWidth <= availableWidth) {\r\n return this.menuItemElementRefs.length;\r\n }\r\n\r\n const userHomeMenuItemEffectiveWidth = this.userHomeMenuItemElementRef\r\n ? this.userHomeMenuItemElementRef.offsetLeft +\r\n this.userHomeMenuItemElementRef.offsetWidth -\r\n (dropdownMenuItem.offsetLeft + dropdownMenuItem.offsetWidth)\r\n : 0;\r\n\r\n const remainingWidth = availableWidth - dropdownMenuItemEffectiveWidth - userHomeMenuItemEffectiveWidth;\r\n\r\n const visibleMenuItems = this.menuItemElementRefs.findIndex(\r\n (menuItem) => menuItem && menuItem.offsetLeft + menuItem.offsetWidth > remainingWidth,\r\n );\r\n\r\n if (visibleMenuItems < 0) {\r\n return this.menuItemElementRefs.length;\r\n }\r\n\r\n return visibleMenuItems;\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 get visibleMainMenuItems(): HeaderMenuItem[] {\r\n return typeof this.visibleMenuItemsCount === \"number\"\r\n ? this.mainMenu.slice(0, this.visibleMenuItemsCount)\r\n : this.mainMenu;\r\n }\r\n\r\n private get hiddenMainMenuItems(): HeaderMenuItem[] {\r\n return typeof this.visibleMenuItemsCount === \"number\" ? this.mainMenu.slice(this.visibleMenuItemsCount) : [];\r\n }\r\n\r\n componentDidRender() {\r\n if (!this.host.isConnected) {\r\n return;\r\n }\r\n\r\n if (this.isCompact && this.dropdownElement) {\r\n this.dropdownElement.dropdownOptionsOffset = this.calculateDropdownOptionsOffset();\r\n }\r\n\r\n if (typeof this.visibleMenuItemsCount === \"undefined\" && this.navElement) {\r\n this.visibleMenuItemsCount = this.calculateOverflowMenuItemCount(this.navElement);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <Host is-compact={this.isCompact}>\r\n <div class=\"dso-header\">\r\n <div class=\"logo-container\">\r\n <slot name=\"logo\" />\r\n </div>\r\n {this.isCompact ? this.renderCompact() : this.renderNormal()}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n private renderCompact() {\r\n return (\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((menuItem) => (\r\n <MenuItem item={menuItem} onClick={(e) => this.clickHandler(e, \"menuItem\", { menuItem })} />\r\n ))}\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 href={this.loginUrl} onClick={(e) => this.clickHandler(e, \"login\", { url: this.loginUrl })}>\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 href={this.logoutUrl} onClick={(e) => this.clickHandler(e, \"logout\", { url: this.logoutUrl })}>\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 );\r\n }\r\n\r\n private renderNormal() {\r\n this.menuItemElementRefs = [];\r\n\r\n return (\r\n <Fragment>\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.length > 0 || this.userHomeUrl) && (\r\n <nav class=\"dso-navbar\">\r\n <ul\r\n class={clsx(\"dso-nav\", \"dso-nav-main\", { ready: this.visibleMenuItemsCount !== undefined })}\r\n ref={(element) => (this.navElement = element)}\r\n >\r\n {this.visibleMainMenuItems.map((menuItem, i) => (\r\n <MenuItem\r\n item={menuItem}\r\n onClick={(e) => this.clickHandler(e, \"menuItem\", { menuItem })}\r\n key={menuItem.label}\r\n ref={(el) => (this.menuItemElementRefs[i] = el)}\r\n />\r\n ))}\r\n {(this.visibleMenuItemsCount === undefined || this.hiddenMainMenuItems.length > 0) && (\r\n <li\r\n aria-hidden={this.visibleMenuItemsCount === undefined}\r\n ref={(el) => (this.dropdownMenuItemElementRef = el)}\r\n class=\"dropdown-menu-item\"\r\n >\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\" class=\"main-menu-item-icon\"></dso-icon>\r\n </button>\r\n <div class=\"dso-dropdown-options\">\r\n <ul>\r\n {this.hiddenMainMenuItems.map((menuItem) => (\r\n <MenuItem item={menuItem} onClick={(e) => this.clickHandler(e, \"menuItem\", { menuItem })} />\r\n ))}\r\n </ul>\r\n </div>\r\n </dso-dropdown-menu>\r\n </li>\r\n )}\r\n {this.userHomeUrl && (\r\n <li\r\n class={clsx(\"menu-user-home\", { \"dso-active\": this.userHomeActive })}\r\n ref={(el) => (this.userHomeMenuItemElementRef = el)}\r\n >\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\" class=\"main-menu-item-icon\"></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 </Fragment>\r\n );\r\n }\r\n}\r\n"]}
@@ -0,0 +1,6 @@
1
+ import { h } from "@stencil/core";
2
+ import { clsx } from "clsx";
3
+ export const MenuItem = ({ item, onClick, key, ref }) => {
4
+ return (h("li", { class: clsx({ "dso-active": item.active }), key: key, ref: ref }, h("a", { href: item.url, "aria-current": item.active ? "page" : undefined, onClick: onClick }, item.label)));
5
+ };
6
+ //# sourceMappingURL=menu-item.functional-component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-item.functional-component.js","sourceRoot":"","sources":["../../../../src/components/header/menu-item.functional-component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,CAAC,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAW5B,MAAM,CAAC,MAAM,QAAQ,GAAuC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;IAC1F,OAAO,CACL,UAAI,KAAK,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChE,SAAG,IAAI,EAAE,IAAI,CAAC,GAAG,kBAAgB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,IAChF,IAAI,CAAC,KAAK,CACT,CACD,CACN,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { FunctionalComponent, h } from \"@stencil/core\";\r\nimport { clsx } from \"clsx\";\r\n\r\nimport { HeaderMenuItem } from \"./header.interfaces\";\r\n\r\nexport interface MenuItemProps {\r\n item: HeaderMenuItem;\r\n onClick: (event: MouseEvent) => void;\r\n key?: string;\r\n ref?: (el: HTMLLIElement | undefined) => void;\r\n}\r\n\r\nexport const MenuItem: FunctionalComponent<MenuItemProps> = ({ item, onClick, key, ref }) => {\r\n return (\r\n <li class={clsx({ \"dso-active\": item.active })} key={key} ref={ref}>\r\n <a href={item.url} aria-current={item.active ? \"page\" : undefined} onClick={onClick}>\r\n {item.label}\r\n </a>\r\n </li>\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: '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' })));
6
+ return (h(Host, { key: 'a17c902d2d0218ca9535995de35277932314703a', "has-counter": hasCounter }, hasCounter && h("div", { key: '51784bd453e91291a9b6f89f63a53860bd0015dd', class: "dso-step-counter" }, (_a = this.step) !== null && _a !== void 0 ? _a : h("slot", { key: '48e88b38b2ea9e9b696db3830bb489ffcf129ff6', name: "icon" })), h("slot", { key: 'cd1d9e7ab981c5c155c624dc604a58b6b5a1ca65' })));
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: 'fb24ae73d46158d43091e9a654b7e2651f428a7c', class: "icon-container", innerHTML: icon.svg });
219
+ return h("span", { key: '487ea1db4f0bb118860e08fe8d7fc16ca1705f94', class: "icon-container", innerHTML: icon.svg });
220
220
  }
221
221
  }
222
222
  static get is() { return "dso-icon"; }
@@ -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: '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")))));
4
+ return (h(Fragment, { key: '5819c33391f64495faebc5b480e6cf4146f06e21' }, h("slot", { key: 'b7e232a77cab0b9f32c3b7053a2b02c1a42402d8' }), !this.fixed && (h("button", { key: 'bcb06304bf67ed32bfc0063fdda0f20b79658374', type: "button", onClick: (e) => this.dsoClose.emit(e) }, h("dso-icon", { key: '17998edf989e2de6d49ec3fa0cbf02a0207a14a9', icon: "times" }), h("span", { key: 'fc858fe44cf7ed69fb0b4883554998f0fc3cb872', 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: '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))));
23
+ return (h(Host, { key: 'eb293ebed30eed249b8be309def6ead14b1cf24a', onMouseenter: () => (this.hover = true), onMouseleave: () => (this.hover = false) }, h("button", { key: '3e288bbba8b56cc92ca338df47811cbdded8a3df', 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: '9c11b0fcb3d77c441e7732d098fe14f4538cb2f5', icon: this.active || this.hover ? "info-active" : "info" }), h("span", { key: 'aff325d3fefac7a17259b40753104177dc3ac8f6', class: "sr-only" }, this.label))));
24
24
  }
25
25
  static get is() { return "dso-info-button"; }
26
26
  static get encapsulation() { return "shadow"; }
@@ -10,13 +10,13 @@ export class InputRange {
10
10
  const min = this.min || 0;
11
11
  const max = this.max || 100;
12
12
  const step = this.step || 1;
13
- return (h(Fragment, null, this.description && (h("span", { key: 'bd3e2d52c55adab4c14bb2b2e77fd03d786a5963', id: "description", hidden: true }, this.description)), h("span", { key: 'f882c7f95664ab0bc13ff5025f9cc29d2d6d7350', class: "counter min", "aria-hidden": "true" }, min, this.unit), h("input", { key: '0618bbb18445fc1284a8ff569fa1d29cbdc36edd', type: "range", min: this.min, max: this.max, value: this.value, class: "input", "aria-label": this.label, "aria-describedby": this.description ? "description" : undefined, onChange: (event) => this.dsoChange.emit({
13
+ return (h(Fragment, null, this.description && (h("span", { key: '7ac9735224c60c717a0ebff59e2f8c40623e2f34', id: "description", hidden: true }, this.description)), h("span", { key: 'fd65b63bda56de9516e6bef05781777b13cc8245', class: "counter min", "aria-hidden": "true" }, min, this.unit), h("input", { key: '8a0a67fff0a51267565ad447c572e4ba0d20009a', type: "range", min: this.min, max: this.max, value: this.value, class: "input", "aria-label": this.label, "aria-describedby": this.description ? "description" : undefined, onChange: (event) => this.dsoChange.emit({
14
14
  originalEvent: event,
15
15
  value: event.target instanceof HTMLInputElement ? parseInt(event.target.value, 10) : undefined,
16
16
  max,
17
17
  min,
18
18
  step,
19
- }) }), h("span", { key: '6ebeab32da3617ea9c7c1fa192e018fb30ca815e', class: "counter max", "aria-hidden": "true" }, max, this.unit)));
19
+ }) }), h("span", { key: '3d22eb9d281b35f52a0cdaa3565448375e1435c9', class: "counter max", "aria-hidden": "true" }, max, this.unit)));
20
20
  }
21
21
  static get is() { return "dso-input-range"; }
22
22
  static get encapsulation() { return "shadow"; }