@swisspost/internet-header 1.11.0 → 1.12.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 (471) hide show
  1. package/dist/cjs/{if.component-51d000af.js → if.component-2cd3c1ff.js} +1 -1
  2. package/dist/cjs/if.component-2cd3c1ff.js.map +1 -0
  3. package/dist/cjs/{index-87874f19.js → index-4bd0adf1.js} +197 -43
  4. package/dist/cjs/index-4bd0adf1.js.map +1 -0
  5. package/dist/cjs/index.cjs.js +36 -0
  6. package/dist/cjs/index.cjs.js.map +1 -1
  7. package/dist/cjs/{klp-widget.controller-7908f551.js → klp-widget.controller-59fd5d5e.js} +1 -1
  8. package/dist/cjs/{klp-widget.controller-7908f551.js.map → klp-widget.controller-59fd5d5e.js.map} +1 -1
  9. package/dist/cjs/{language.service-0864d021.js → language.service-dbe2a435.js} +6 -6
  10. package/dist/cjs/language.service-dbe2a435.js.map +1 -0
  11. package/dist/cjs/loader.cjs.js +3 -12
  12. package/dist/cjs/loader.cjs.js.map +1 -1
  13. package/dist/cjs/post-internet-breadcrumbs-09754c05.js +3616 -0
  14. package/dist/cjs/post-internet-breadcrumbs-09754c05.js.map +1 -0
  15. package/dist/cjs/post-internet-footer-b51276d8.js +161 -0
  16. package/dist/cjs/post-internet-footer-b51276d8.js.map +1 -0
  17. package/dist/cjs/post-internet-header-5962d752.js +828 -0
  18. package/dist/cjs/post-internet-header-5962d752.js.map +1 -0
  19. package/dist/cjs/post-klp-login-widget-d03de512.js +63 -0
  20. package/dist/cjs/post-klp-login-widget-d03de512.js.map +1 -0
  21. package/dist/cjs/post-klp-login-widget.cjs.entry.js +6 -40
  22. package/dist/cjs/post-klp-login-widget.cjs.entry.js.map +1 -1
  23. package/dist/cjs/post-language-switch-9cd31034.js +106 -0
  24. package/dist/cjs/post-language-switch-9cd31034.js.map +1 -0
  25. package/dist/cjs/post-language-switch.cjs.entry.js +8 -99
  26. package/dist/cjs/post-language-switch.cjs.entry.js.map +1 -1
  27. package/dist/cjs/post-logo-5867ad55.js +25 -0
  28. package/dist/cjs/post-logo-5867ad55.js.map +1 -0
  29. package/dist/cjs/post-logo.cjs.entry.js +4 -18
  30. package/dist/cjs/post-logo.cjs.entry.js.map +1 -1
  31. package/dist/cjs/post-main-navigation-ab81aac6.js +240 -0
  32. package/dist/cjs/post-main-navigation-ab81aac6.js.map +1 -0
  33. package/dist/cjs/post-main-navigation.cjs.entry.js +9 -233
  34. package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -1
  35. package/dist/cjs/post-meta-navigation-0b73779f.js +26 -0
  36. package/dist/cjs/post-meta-navigation-0b73779f.js.map +1 -0
  37. package/dist/cjs/post-meta-navigation.cjs.entry.js +4 -19
  38. package/dist/cjs/post-meta-navigation.cjs.entry.js.map +1 -1
  39. package/dist/cjs/post-search-2232c291.js +597 -0
  40. package/dist/cjs/post-search-2232c291.js.map +1 -0
  41. package/dist/cjs/post-search.cjs.entry.js +11 -590
  42. package/dist/cjs/post-search.cjs.entry.js.map +1 -1
  43. package/dist/cjs/post-skiplinks-3db1d214.js +52 -0
  44. package/dist/cjs/post-skiplinks-3db1d214.js.map +1 -0
  45. package/dist/cjs/post-skiplinks.cjs.entry.js +6 -45
  46. package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -1
  47. package/dist/cjs/{store-b99affc1.js → store-77668e50.js} +2 -2
  48. package/dist/cjs/store-77668e50.js.map +1 -0
  49. package/dist/cjs/{svg-icon.component-8e05af84.js → svg-icon.component-5965f301.js} +2 -2
  50. package/dist/cjs/svg-icon.component-5965f301.js.map +1 -0
  51. package/dist/cjs/{svg-sprite.component-f1866070.js → svg-sprite.component-4b5677ef.js} +2 -2
  52. package/dist/cjs/svg-sprite.component-4b5677ef.js.map +1 -0
  53. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +11 -3609
  54. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
  55. package/dist/cjs/swisspost-internet-footer.cjs.entry.js +6 -154
  56. package/dist/cjs/swisspost-internet-footer.cjs.entry.js.map +1 -1
  57. package/dist/cjs/swisspost-internet-header.cjs.entry.js +10 -823
  58. package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
  59. package/dist/cjs/swisspost-internet-header.cjs.js +3 -6
  60. package/dist/cjs/swisspost-internet-header.cjs.js.map +1 -1
  61. package/dist/cjs/{ui.service-e1ebb6d4.js → ui.service-488151be.js} +1 -1
  62. package/dist/cjs/ui.service-488151be.js.map +1 -0
  63. package/dist/cjs/{utils-60853c5d.js → utils-717975e0.js} +1 -1
  64. package/dist/cjs/utils-717975e0.js.map +1 -0
  65. package/dist/collection/collection-manifest.json +12 -12
  66. package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js +4 -4
  67. package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js +2 -2
  68. package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js +4 -4
  69. package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js +2 -2
  70. package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js +3 -3
  71. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +16 -13
  72. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js.map +1 -1
  73. package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js +2 -2
  74. package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js +1 -1
  75. package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js +1 -1
  76. package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js +1 -1
  77. package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js +1 -1
  78. package/dist/collection/components/post-internet-footer/post-internet-footer.js +8 -8
  79. package/dist/collection/components/post-internet-header/logo-animation/logo-animation.js +3 -3
  80. package/dist/collection/components/post-internet-header/post-internet-header.js +42 -18
  81. package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -1
  82. package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js +1 -1
  83. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js +48 -7
  84. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js.map +1 -1
  85. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js +3 -3
  86. package/dist/collection/components/post-language-switch/post-language-switch.js +11 -9
  87. package/dist/collection/components/post-language-switch/post-language-switch.js.map +1 -1
  88. package/dist/collection/components/post-logo/post-logo.js +2 -2
  89. package/dist/collection/components/post-main-navigation/components/level-one-action.component.js +2 -2
  90. package/dist/collection/components/post-main-navigation/post-main-navigation.js +18 -13
  91. package/dist/collection/components/post-main-navigation/post-main-navigation.js.map +1 -1
  92. package/dist/collection/components/post-meta-navigation/post-meta-navigation.js +2 -2
  93. package/dist/collection/components/post-search/post-search.css +16 -1
  94. package/dist/collection/components/post-search/post-search.js +22 -18
  95. package/dist/collection/components/post-search/post-search.js.map +1 -1
  96. package/dist/collection/components/post-skiplinks/post-skiplinks.js +4 -4
  97. package/dist/collection/data/store.js +1 -1
  98. package/dist/collection/index.js +11 -1
  99. package/dist/collection/index.js.map +1 -1
  100. package/dist/collection/services/config.service.js +10 -10
  101. package/dist/collection/services/config.service.js.map +1 -1
  102. package/dist/collection/services/language.service.js +6 -6
  103. package/dist/collection/services/language.service.js.map +1 -1
  104. package/dist/collection/services/route.service.js +4 -4
  105. package/dist/collection/services/route.service.js.map +1 -1
  106. package/dist/collection/services/search/coveo.service.js +3 -3
  107. package/dist/collection/services/search/parcel.service.js +1 -1
  108. package/dist/collection/services/search/places.service.js +3 -3
  109. package/dist/collection/services/search/search.service.js +2 -2
  110. package/dist/collection/utils/highlighted.component.js +1 -1
  111. package/dist/collection/utils/svg-icon.component.js +1 -1
  112. package/dist/collection/utils/svg-sprite.component.js +1 -1
  113. package/dist/components/index.d.ts +6 -0
  114. package/dist/components/index.js +11 -1
  115. package/dist/components/index.js.map +1 -1
  116. package/dist/components/klp-widget.controller.js.map +1 -1
  117. package/dist/components/language.service.js +4 -4
  118. package/dist/components/language.service.js.map +1 -1
  119. package/dist/components/post-klp-login-widget2.js +18 -1
  120. package/dist/components/post-klp-login-widget2.js.map +1 -1
  121. package/dist/components/post-language-switch2.js.map +1 -1
  122. package/dist/components/post-logo2.js.map +1 -1
  123. package/dist/components/post-main-navigation2.js.map +1 -1
  124. package/dist/components/post-meta-navigation2.js.map +1 -1
  125. package/dist/components/post-search2.js +1 -1
  126. package/dist/components/post-search2.js.map +1 -1
  127. package/dist/components/post-skiplinks2.js.map +1 -1
  128. package/dist/components/store.js.map +1 -1
  129. package/dist/components/svg-icon.component.js.map +1 -1
  130. package/dist/components/svg-sprite.component.js.map +1 -1
  131. package/dist/components/swisspost-internet-breadcrumbs.js +3 -1
  132. package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
  133. package/dist/components/swisspost-internet-footer.js +1 -1
  134. package/dist/components/swisspost-internet-footer.js.map +1 -1
  135. package/dist/components/swisspost-internet-header.js +37 -28
  136. package/dist/components/swisspost-internet-header.js.map +1 -1
  137. package/dist/components/ui.service.js.map +1 -1
  138. package/dist/components/utils.js.map +1 -1
  139. package/dist/docs.d.ts +334 -235
  140. package/dist/docs.json +461 -15
  141. package/dist/esm/{if.component-0fe54385.js → if.component-3a779aca.js} +1 -1
  142. package/dist/esm/if.component-3a779aca.js.map +1 -0
  143. package/dist/esm/{index-82f4f02c.js → index-2b83f5e9.js} +197 -43
  144. package/dist/esm/index-2b83f5e9.js.map +1 -0
  145. package/dist/esm/index.js +21 -1
  146. package/dist/esm/index.js.map +1 -1
  147. package/dist/esm/{klp-widget.controller-30d47ff4.js → klp-widget.controller-2a0a5183.js} +1 -1
  148. package/dist/esm/{klp-widget.controller-30d47ff4.js.map → klp-widget.controller-2a0a5183.js.map} +1 -1
  149. package/dist/esm/{language.service-109c485e.js → language.service-501b09a8.js} +6 -6
  150. package/dist/esm/language.service-501b09a8.js.map +1 -0
  151. package/dist/esm/loader.js +4 -13
  152. package/dist/esm/loader.js.map +1 -1
  153. package/dist/esm/post-internet-breadcrumbs-474f625e.js +3614 -0
  154. package/dist/esm/post-internet-breadcrumbs-474f625e.js.map +1 -0
  155. package/dist/esm/post-internet-footer-273b0d8d.js +159 -0
  156. package/dist/esm/post-internet-footer-273b0d8d.js.map +1 -0
  157. package/dist/esm/post-internet-header-a825bfd6.js +826 -0
  158. package/dist/esm/post-internet-header-a825bfd6.js.map +1 -0
  159. package/dist/esm/post-klp-login-widget-b1306336.js +61 -0
  160. package/dist/esm/post-klp-login-widget-b1306336.js.map +1 -0
  161. package/dist/esm/post-klp-login-widget.entry.js +5 -43
  162. package/dist/esm/post-klp-login-widget.entry.js.map +1 -1
  163. package/dist/esm/post-language-switch-fd570b9d.js +104 -0
  164. package/dist/esm/post-language-switch-fd570b9d.js.map +1 -0
  165. package/dist/esm/post-language-switch.entry.js +7 -102
  166. package/dist/esm/post-language-switch.entry.js.map +1 -1
  167. package/dist/esm/post-logo-cde3c44d.js +23 -0
  168. package/dist/esm/post-logo-cde3c44d.js.map +1 -0
  169. package/dist/esm/post-logo.entry.js +3 -21
  170. package/dist/esm/post-logo.entry.js.map +1 -1
  171. package/dist/esm/post-main-navigation-12eaef9f.js +238 -0
  172. package/dist/esm/post-main-navigation-12eaef9f.js.map +1 -0
  173. package/dist/esm/post-main-navigation.entry.js +8 -236
  174. package/dist/esm/post-main-navigation.entry.js.map +1 -1
  175. package/dist/esm/post-meta-navigation-09e9bdc8.js +24 -0
  176. package/dist/esm/post-meta-navigation-09e9bdc8.js.map +1 -0
  177. package/dist/esm/post-meta-navigation.entry.js +3 -22
  178. package/dist/esm/post-meta-navigation.entry.js.map +1 -1
  179. package/dist/esm/post-search-5c3a10ac.js +595 -0
  180. package/dist/esm/post-search-5c3a10ac.js.map +1 -0
  181. package/dist/esm/post-search.entry.js +10 -593
  182. package/dist/esm/post-search.entry.js.map +1 -1
  183. package/dist/esm/post-skiplinks-b3c32a77.js +50 -0
  184. package/dist/esm/post-skiplinks-b3c32a77.js.map +1 -0
  185. package/dist/esm/post-skiplinks.entry.js +5 -48
  186. package/dist/esm/post-skiplinks.entry.js.map +1 -1
  187. package/dist/esm/{store-44830922.js → store-80b19c12.js} +2 -2
  188. package/dist/esm/store-80b19c12.js.map +1 -0
  189. package/dist/esm/{svg-icon.component-f2fda279.js → svg-icon.component-7295f7cc.js} +2 -2
  190. package/dist/esm/svg-icon.component-7295f7cc.js.map +1 -0
  191. package/dist/esm/{svg-sprite.component-c140294e.js → svg-sprite.component-29439a18.js} +2 -2
  192. package/dist/esm/svg-sprite.component-29439a18.js.map +1 -0
  193. package/dist/esm/swisspost-internet-breadcrumbs.entry.js +10 -3612
  194. package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  195. package/dist/esm/swisspost-internet-footer.entry.js +5 -157
  196. package/dist/esm/swisspost-internet-footer.entry.js.map +1 -1
  197. package/dist/esm/swisspost-internet-header.entry.js +9 -826
  198. package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
  199. package/dist/esm/swisspost-internet-header.js +4 -7
  200. package/dist/esm/swisspost-internet-header.js.map +1 -1
  201. package/dist/esm/{ui.service-2fbc9c45.js → ui.service-a71cf490.js} +1 -1
  202. package/dist/esm/ui.service-a71cf490.js.map +1 -0
  203. package/dist/esm/{utils-ee79122f.js → utils-3a8ff48f.js} +1 -1
  204. package/dist/esm/utils-3a8ff48f.js.map +1 -0
  205. package/dist/esm-es5/bodyScrollLock.esm-afcc00e3.js +1 -1
  206. package/dist/esm-es5/bodyScrollLock.esm-afcc00e3.js.map +1 -1
  207. package/dist/esm-es5/if.component-3a779aca.js +2 -0
  208. package/dist/esm-es5/index-2b83f5e9.js +2 -0
  209. package/dist/esm-es5/index-2b83f5e9.js.map +1 -0
  210. package/dist/esm-es5/index-d2256e06.js +1 -1
  211. package/dist/esm-es5/index.js +1 -1
  212. package/dist/esm-es5/klp-widget.controller-2a0a5183.js +13 -0
  213. package/dist/esm-es5/{klp-widget.controller-30d47ff4.js.map → klp-widget.controller-2a0a5183.js.map} +1 -1
  214. package/dist/esm-es5/language.service-501b09a8.js +2 -0
  215. package/dist/esm-es5/language.service-501b09a8.js.map +1 -0
  216. package/dist/esm-es5/loader.js +1 -1
  217. package/dist/esm-es5/loader.js.map +1 -1
  218. package/dist/esm-es5/post-internet-breadcrumbs-474f625e.js +7 -0
  219. package/dist/esm-es5/post-internet-breadcrumbs-474f625e.js.map +1 -0
  220. package/dist/esm-es5/post-internet-footer-273b0d8d.js +2 -0
  221. package/dist/esm-es5/post-internet-footer-273b0d8d.js.map +1 -0
  222. package/dist/esm-es5/post-internet-header-a825bfd6.js +2 -0
  223. package/dist/esm-es5/post-internet-header-a825bfd6.js.map +1 -0
  224. package/dist/esm-es5/post-klp-login-widget-b1306336.js +2 -0
  225. package/dist/esm-es5/post-klp-login-widget-b1306336.js.map +1 -0
  226. package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
  227. package/dist/esm-es5/post-klp-login-widget.entry.js.map +1 -1
  228. package/dist/esm-es5/post-language-switch-fd570b9d.js +2 -0
  229. package/dist/esm-es5/post-language-switch-fd570b9d.js.map +1 -0
  230. package/dist/esm-es5/post-language-switch.entry.js +1 -1
  231. package/dist/esm-es5/post-language-switch.entry.js.map +1 -1
  232. package/dist/esm-es5/post-logo-cde3c44d.js +2 -0
  233. package/dist/esm-es5/post-logo-cde3c44d.js.map +1 -0
  234. package/dist/esm-es5/post-logo.entry.js +1 -1
  235. package/dist/esm-es5/post-logo.entry.js.map +1 -1
  236. package/dist/esm-es5/post-main-navigation-12eaef9f.js +2 -0
  237. package/dist/esm-es5/post-main-navigation-12eaef9f.js.map +1 -0
  238. package/dist/esm-es5/post-main-navigation.entry.js +1 -1
  239. package/dist/esm-es5/post-main-navigation.entry.js.map +1 -1
  240. package/dist/esm-es5/post-meta-navigation-09e9bdc8.js +2 -0
  241. package/dist/esm-es5/post-meta-navigation-09e9bdc8.js.map +1 -0
  242. package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
  243. package/dist/esm-es5/post-meta-navigation.entry.js.map +1 -1
  244. package/dist/esm-es5/post-search-5c3a10ac.js +2 -0
  245. package/dist/esm-es5/post-search-5c3a10ac.js.map +1 -0
  246. package/dist/esm-es5/post-search.entry.js +1 -1
  247. package/dist/esm-es5/post-search.entry.js.map +1 -1
  248. package/dist/esm-es5/post-skiplinks-b3c32a77.js +2 -0
  249. package/dist/esm-es5/post-skiplinks-b3c32a77.js.map +1 -0
  250. package/dist/esm-es5/post-skiplinks.entry.js +1 -1
  251. package/dist/esm-es5/post-skiplinks.entry.js.map +1 -1
  252. package/dist/esm-es5/store-80b19c12.js +2 -0
  253. package/dist/esm-es5/store-80b19c12.js.map +1 -0
  254. package/dist/esm-es5/{svg-icon.component-f2fda279.js → svg-icon.component-7295f7cc.js} +2 -2
  255. package/dist/esm-es5/{svg-sprite.component-c140294e.js → svg-sprite.component-29439a18.js} +2 -2
  256. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +1 -6
  257. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  258. package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
  259. package/dist/esm-es5/swisspost-internet-footer.entry.js.map +1 -1
  260. package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
  261. package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
  262. package/dist/esm-es5/swisspost-internet-header.js +1 -1
  263. package/dist/esm-es5/swisspost-internet-header.js.map +1 -1
  264. package/dist/esm-es5/{ui.service-2fbc9c45.js → ui.service-a71cf490.js} +2 -2
  265. package/dist/esm-es5/{utils-ee79122f.js → utils-3a8ff48f.js} +1 -1
  266. package/dist/swisspost-internet-header/index.esm.js +1 -1
  267. package/dist/swisspost-internet-header/{p-cfc4dbfd.entry.js → p-0096509c.js} +2 -2
  268. package/dist/swisspost-internet-header/p-0096509c.js.map +1 -0
  269. package/dist/swisspost-internet-header/{p-334412b2.entry.js → p-05eea2be.js} +2 -2
  270. package/dist/swisspost-internet-header/p-05eea2be.js.map +1 -0
  271. package/dist/swisspost-internet-header/p-0d61ca4e.system.entry.js +2 -0
  272. package/dist/swisspost-internet-header/{p-0c5624c0.system.js → p-0e776d6e.system.js} +2 -2
  273. package/dist/swisspost-internet-header/p-18e9ce89.system.js +2 -0
  274. package/dist/swisspost-internet-header/{p-95a1384f.system.entry.js.map → p-18e9ce89.system.js.map} +1 -1
  275. package/dist/swisspost-internet-header/p-1a9fcba5.entry.js +2 -0
  276. package/dist/swisspost-internet-header/p-1a9fcba5.entry.js.map +1 -0
  277. package/dist/swisspost-internet-header/p-237a408c.entry.js +2 -0
  278. package/dist/swisspost-internet-header/p-237a408c.entry.js.map +1 -0
  279. package/dist/swisspost-internet-header/p-2470951e.js +2 -0
  280. package/dist/swisspost-internet-header/p-2470951e.js.map +1 -0
  281. package/dist/swisspost-internet-header/p-2eb179a7.entry.js +2 -0
  282. package/dist/swisspost-internet-header/p-2eb179a7.entry.js.map +1 -0
  283. package/dist/swisspost-internet-header/{p-d4106bf6.system.entry.js → p-2fb1a3ce.system.js} +2 -2
  284. package/dist/swisspost-internet-header/{p-d4106bf6.system.entry.js.map → p-2fb1a3ce.system.js.map} +1 -1
  285. package/dist/swisspost-internet-header/{p-8bf099a8.js → p-3339310e.js} +1 -1
  286. package/dist/swisspost-internet-header/p-3339310e.js.map +1 -0
  287. package/dist/swisspost-internet-header/p-3672587a.entry.js +2 -0
  288. package/dist/swisspost-internet-header/p-3672587a.entry.js.map +1 -0
  289. package/dist/swisspost-internet-header/p-39785e3d.system.entry.js +2 -0
  290. package/dist/swisspost-internet-header/p-39785e3d.system.entry.js.map +1 -0
  291. package/dist/swisspost-internet-header/p-4248f499.system.entry.js +2 -0
  292. package/dist/swisspost-internet-header/p-4248f499.system.entry.js.map +1 -0
  293. package/dist/swisspost-internet-header/{p-c291d766.system.entry.js → p-56764f7d.system.js} +2 -2
  294. package/dist/swisspost-internet-header/{p-c291d766.system.entry.js.map → p-56764f7d.system.js.map} +1 -1
  295. package/dist/swisspost-internet-header/{p-66d1bf9a.js → p-5a897619.js} +2 -2
  296. package/dist/swisspost-internet-header/p-5a897619.js.map +1 -0
  297. package/dist/swisspost-internet-header/p-5adcdd91.system.js +2 -0
  298. package/dist/swisspost-internet-header/p-5adcdd91.system.js.map +1 -0
  299. package/dist/swisspost-internet-header/{p-b762fba9.js → p-60ea6000.js} +2 -2
  300. package/dist/swisspost-internet-header/p-60ea6000.js.map +1 -0
  301. package/dist/swisspost-internet-header/p-6145b5f1.system.js +2 -0
  302. package/dist/swisspost-internet-header/p-6145b5f1.system.js.map +1 -0
  303. package/dist/swisspost-internet-header/{p-142627fa.entry.js → p-61528220.js} +2 -2
  304. package/dist/swisspost-internet-header/p-61528220.js.map +1 -0
  305. package/dist/swisspost-internet-header/{p-459c3983.js → p-624d732c.js} +2 -2
  306. package/dist/swisspost-internet-header/p-624d732c.js.map +1 -0
  307. package/dist/swisspost-internet-header/p-65ce36ba.entry.js +2 -0
  308. package/dist/swisspost-internet-header/p-65ce36ba.entry.js.map +1 -0
  309. package/dist/swisspost-internet-header/{p-0e4299a3.entry.js → p-70df9137.js} +2 -2
  310. package/dist/swisspost-internet-header/p-70df9137.js.map +1 -0
  311. package/dist/swisspost-internet-header/{p-fb82b748.system.js → p-74fea9b8.system.js} +2 -2
  312. package/dist/swisspost-internet-header/p-771114f0.system.js +2 -0
  313. package/dist/swisspost-internet-header/p-771114f0.system.js.map +1 -0
  314. package/dist/swisspost-internet-header/{p-b5937320.entry.js → p-78e8a405.js} +2 -2
  315. package/dist/swisspost-internet-header/p-78e8a405.js.map +1 -0
  316. package/dist/swisspost-internet-header/{p-0216631b.system.entry.js → p-7a94a2d7.system.js} +2 -2
  317. package/dist/swisspost-internet-header/{p-0216631b.system.entry.js.map → p-7a94a2d7.system.js.map} +1 -1
  318. package/dist/swisspost-internet-header/p-7e78b029.system.entry.js +2 -0
  319. package/dist/swisspost-internet-header/p-7e78b029.system.entry.js.map +1 -0
  320. package/dist/swisspost-internet-header/p-8ddbca59.system.entry.js +2 -0
  321. package/dist/swisspost-internet-header/p-8ddbca59.system.entry.js.map +1 -0
  322. package/dist/swisspost-internet-header/{p-8120031d.system.entry.js → p-96618f42.system.js} +2 -2
  323. package/dist/swisspost-internet-header/{p-8120031d.system.entry.js.map → p-96618f42.system.js.map} +1 -1
  324. package/dist/swisspost-internet-header/p-986a52bc.system.js +2 -0
  325. package/dist/swisspost-internet-header/p-9af33755.system.js +2 -0
  326. package/dist/swisspost-internet-header/p-9af33755.system.js.map +1 -0
  327. package/dist/swisspost-internet-header/p-9b4d5e90.system.js +1 -1
  328. package/dist/swisspost-internet-header/p-9c385f74.system.js +3 -0
  329. package/dist/swisspost-internet-header/p-9c385f74.system.js.map +1 -0
  330. package/dist/swisspost-internet-header/p-a0f5c014.system.entry.js +2 -0
  331. package/dist/swisspost-internet-header/p-a0f5c014.system.entry.js.map +1 -0
  332. package/dist/swisspost-internet-header/p-a119b38d.js.map +1 -1
  333. package/dist/swisspost-internet-header/p-a290e3e2.system.entry.js +2 -0
  334. package/dist/swisspost-internet-header/p-a290e3e2.system.entry.js.map +1 -0
  335. package/dist/swisspost-internet-header/p-a58fc500.system.entry.js +2 -0
  336. package/dist/swisspost-internet-header/p-a58fc500.system.entry.js.map +1 -0
  337. package/dist/swisspost-internet-header/p-a7de7323.system.js +2 -0
  338. package/dist/swisspost-internet-header/{p-77426673.entry.js → p-aab6679b.js} +2 -2
  339. package/dist/swisspost-internet-header/p-aab6679b.js.map +1 -0
  340. package/dist/swisspost-internet-header/{p-194475b8.system.js → p-ad9a417b.system.js} +2 -2
  341. package/dist/swisspost-internet-header/p-ad9a417b.system.js.map +1 -0
  342. package/dist/swisspost-internet-header/p-aeaa2c26.entry.js +2 -0
  343. package/dist/swisspost-internet-header/p-aeaa2c26.entry.js.map +1 -0
  344. package/dist/swisspost-internet-header/p-b3014611.system.js +1 -1
  345. package/dist/swisspost-internet-header/p-b3014611.system.js.map +1 -1
  346. package/dist/swisspost-internet-header/{p-45db66a6.js → p-bbfd407b.js} +1 -1
  347. package/dist/swisspost-internet-header/p-bbfd407b.js.map +1 -0
  348. package/dist/swisspost-internet-header/p-bcd01683.system.js +13 -0
  349. package/dist/swisspost-internet-header/{p-b4c0cb5a.system.js.map → p-bcd01683.system.js.map} +1 -1
  350. package/dist/swisspost-internet-header/p-c4011fc6.system.entry.js +2 -0
  351. package/dist/swisspost-internet-header/p-c4011fc6.system.entry.js.map +1 -0
  352. package/dist/swisspost-internet-header/p-c7945779.system.js +7 -0
  353. package/dist/swisspost-internet-header/{p-0352b702.system.entry.js.map → p-c7945779.system.js.map} +1 -1
  354. package/dist/swisspost-internet-header/p-c8d9cc8c.js +2 -0
  355. package/dist/swisspost-internet-header/p-c8d9cc8c.js.map +1 -0
  356. package/dist/swisspost-internet-header/p-c99a43b0.entry.js +2 -0
  357. package/dist/swisspost-internet-header/p-c99a43b0.entry.js.map +1 -0
  358. package/dist/swisspost-internet-header/{p-a2f9d462.js → p-cf06f703.js} +1 -1
  359. package/dist/swisspost-internet-header/p-cf06f703.js.map +1 -0
  360. package/dist/swisspost-internet-header/p-d9f67b45.entry.js +2 -0
  361. package/dist/swisspost-internet-header/p-d9f67b45.entry.js.map +1 -0
  362. package/dist/swisspost-internet-header/{p-935c70e1.js → p-dc8296bd.js} +2 -2
  363. package/dist/swisspost-internet-header/p-dc8296bd.js.map +1 -0
  364. package/dist/swisspost-internet-header/p-de27fab4.entry.js +2 -0
  365. package/dist/swisspost-internet-header/p-de27fab4.entry.js.map +1 -0
  366. package/dist/swisspost-internet-header/{p-4da084d9.entry.js → p-dee824b8.js} +2 -2
  367. package/dist/swisspost-internet-header/p-dee824b8.js.map +1 -0
  368. package/dist/swisspost-internet-header/{p-37872478.entry.js → p-e187ba33.js} +3 -3
  369. package/dist/swisspost-internet-header/p-e187ba33.js.map +1 -0
  370. package/dist/swisspost-internet-header/p-e2e1c5d4.js +3 -0
  371. package/dist/swisspost-internet-header/p-e2e1c5d4.js.map +1 -0
  372. package/dist/swisspost-internet-header/{p-312fcf55.system.entry.js → p-ee5e0cc6.system.js} +2 -2
  373. package/dist/swisspost-internet-header/{p-312fcf55.system.entry.js.map → p-ee5e0cc6.system.js.map} +1 -1
  374. package/dist/swisspost-internet-header/p-f25c234f.entry.js +2 -0
  375. package/dist/swisspost-internet-header/p-f25c234f.entry.js.map +1 -0
  376. package/dist/swisspost-internet-header/{p-edb2802d.system.js → p-f2a43ce2.system.js} +1 -1
  377. package/dist/swisspost-internet-header/p-f2f69ff4.system.js +2 -0
  378. package/dist/swisspost-internet-header/{p-10bfe973.system.entry.js.map → p-f2f69ff4.system.js.map} +1 -1
  379. package/dist/swisspost-internet-header/p-f5876cc8.js +2 -0
  380. package/dist/swisspost-internet-header/p-f5876cc8.js.map +1 -0
  381. package/dist/swisspost-internet-header/p-f887c8bb.system.js +1 -1
  382. package/dist/swisspost-internet-header/{p-334616bc.system.entry.js → p-fc2417e7.system.js} +2 -2
  383. package/dist/swisspost-internet-header/p-fc2417e7.system.js.map +1 -0
  384. package/dist/swisspost-internet-header/p-fef30370.system.entry.js +2 -0
  385. package/dist/swisspost-internet-header/p-fef30370.system.entry.js.map +1 -0
  386. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
  387. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js.map +1 -1
  388. package/dist/swisspost-internet-header/swisspost-internet-header.js +2 -6
  389. package/dist/types/components/post-internet-header/post-internet-header.d.ts +4 -0
  390. package/dist/types/components/post-klp-login-widget/post-klp-login-widget.d.ts +4 -0
  391. package/dist/types/components.d.ts +62 -0
  392. package/dist/types/index.d.ts +10 -0
  393. package/dist/types/stencil-public-runtime.d.ts +38 -5
  394. package/loader/index.d.ts +1 -1
  395. package/package.json +11 -13
  396. package/dist/cjs/if.component-51d000af.js.map +0 -1
  397. package/dist/cjs/index-87874f19.js.map +0 -1
  398. package/dist/cjs/language.service-0864d021.js.map +0 -1
  399. package/dist/cjs/store-b99affc1.js.map +0 -1
  400. package/dist/cjs/svg-icon.component-8e05af84.js.map +0 -1
  401. package/dist/cjs/svg-sprite.component-f1866070.js.map +0 -1
  402. package/dist/cjs/ui.service-e1ebb6d4.js.map +0 -1
  403. package/dist/cjs/utils-60853c5d.js.map +0 -1
  404. package/dist/esm/if.component-0fe54385.js.map +0 -1
  405. package/dist/esm/index-82f4f02c.js.map +0 -1
  406. package/dist/esm/language.service-109c485e.js.map +0 -1
  407. package/dist/esm/polyfills/css-shim.js +0 -1
  408. package/dist/esm/store-44830922.js.map +0 -1
  409. package/dist/esm/svg-icon.component-f2fda279.js.map +0 -1
  410. package/dist/esm/svg-sprite.component-c140294e.js.map +0 -1
  411. package/dist/esm/ui.service-2fbc9c45.js.map +0 -1
  412. package/dist/esm/utils-ee79122f.js.map +0 -1
  413. package/dist/esm-es5/if.component-0fe54385.js +0 -2
  414. package/dist/esm-es5/index-82f4f02c.js +0 -2
  415. package/dist/esm-es5/index-82f4f02c.js.map +0 -1
  416. package/dist/esm-es5/klp-widget.controller-30d47ff4.js +0 -13
  417. package/dist/esm-es5/language.service-109c485e.js +0 -2
  418. package/dist/esm-es5/language.service-109c485e.js.map +0 -1
  419. package/dist/esm-es5/store-44830922.js +0 -2
  420. package/dist/esm-es5/store-44830922.js.map +0 -1
  421. package/dist/swisspost-internet-header/p-0352b702.system.entry.js +0 -7
  422. package/dist/swisspost-internet-header/p-0e4299a3.entry.js.map +0 -1
  423. package/dist/swisspost-internet-header/p-10bfe973.system.entry.js +0 -2
  424. package/dist/swisspost-internet-header/p-11d05acc.js +0 -2
  425. package/dist/swisspost-internet-header/p-11d05acc.js.map +0 -1
  426. package/dist/swisspost-internet-header/p-142627fa.entry.js.map +0 -1
  427. package/dist/swisspost-internet-header/p-194475b8.system.js.map +0 -1
  428. package/dist/swisspost-internet-header/p-1a526dc3.system.entry.js +0 -2
  429. package/dist/swisspost-internet-header/p-1a526dc3.system.entry.js.map +0 -1
  430. package/dist/swisspost-internet-header/p-1d455921.system.js +0 -3
  431. package/dist/swisspost-internet-header/p-1d455921.system.js.map +0 -1
  432. package/dist/swisspost-internet-header/p-1ec4e0ee.system.js +0 -2
  433. package/dist/swisspost-internet-header/p-1ec4e0ee.system.js.map +0 -1
  434. package/dist/swisspost-internet-header/p-28bcc0a1.entry.js +0 -2
  435. package/dist/swisspost-internet-header/p-28bcc0a1.entry.js.map +0 -1
  436. package/dist/swisspost-internet-header/p-334412b2.entry.js.map +0 -1
  437. package/dist/swisspost-internet-header/p-334616bc.system.entry.js.map +0 -1
  438. package/dist/swisspost-internet-header/p-37872478.entry.js.map +0 -1
  439. package/dist/swisspost-internet-header/p-459c3983.js.map +0 -1
  440. package/dist/swisspost-internet-header/p-45db66a6.js.map +0 -1
  441. package/dist/swisspost-internet-header/p-4da084d9.entry.js.map +0 -1
  442. package/dist/swisspost-internet-header/p-50ea2036.system.js +0 -2
  443. package/dist/swisspost-internet-header/p-55bfdf22.system.js +0 -2
  444. package/dist/swisspost-internet-header/p-5d893017.system.js +0 -2
  445. package/dist/swisspost-internet-header/p-5d893017.system.js.map +0 -1
  446. package/dist/swisspost-internet-header/p-66d1bf9a.js.map +0 -1
  447. package/dist/swisspost-internet-header/p-77426673.entry.js.map +0 -1
  448. package/dist/swisspost-internet-header/p-7ddfd160.entry.js +0 -2
  449. package/dist/swisspost-internet-header/p-7ddfd160.entry.js.map +0 -1
  450. package/dist/swisspost-internet-header/p-88aac12c.system.js +0 -2
  451. package/dist/swisspost-internet-header/p-8bf099a8.js.map +0 -1
  452. package/dist/swisspost-internet-header/p-8e0a4d18.js +0 -3
  453. package/dist/swisspost-internet-header/p-8e0a4d18.js.map +0 -1
  454. package/dist/swisspost-internet-header/p-935c70e1.js.map +0 -1
  455. package/dist/swisspost-internet-header/p-95a1384f.system.entry.js +0 -2
  456. package/dist/swisspost-internet-header/p-a2f9d462.js.map +0 -1
  457. package/dist/swisspost-internet-header/p-b4c0cb5a.system.js +0 -13
  458. package/dist/swisspost-internet-header/p-b5937320.entry.js.map +0 -1
  459. package/dist/swisspost-internet-header/p-b762fba9.js.map +0 -1
  460. package/dist/swisspost-internet-header/p-cfc4dbfd.entry.js.map +0 -1
  461. /package/dist/esm-es5/{if.component-0fe54385.js.map → if.component-3a779aca.js.map} +0 -0
  462. /package/dist/esm-es5/{svg-icon.component-f2fda279.js.map → svg-icon.component-7295f7cc.js.map} +0 -0
  463. /package/dist/esm-es5/{svg-sprite.component-c140294e.js.map → svg-sprite.component-29439a18.js.map} +0 -0
  464. /package/dist/esm-es5/{ui.service-2fbc9c45.js.map → ui.service-a71cf490.js.map} +0 -0
  465. /package/dist/esm-es5/{utils-ee79122f.js.map → utils-3a8ff48f.js.map} +0 -0
  466. /package/dist/swisspost-internet-header/{p-50ea2036.system.js.map → p-0d61ca4e.system.entry.js.map} +0 -0
  467. /package/dist/swisspost-internet-header/{p-0c5624c0.system.js.map → p-0e776d6e.system.js.map} +0 -0
  468. /package/dist/swisspost-internet-header/{p-fb82b748.system.js.map → p-74fea9b8.system.js.map} +0 -0
  469. /package/dist/swisspost-internet-header/{p-88aac12c.system.js.map → p-986a52bc.system.js.map} +0 -0
  470. /package/dist/swisspost-internet-header/{p-55bfdf22.system.js.map → p-a7de7323.system.js.map} +0 -0
  471. /package/dist/swisspost-internet-header/{p-edb2802d.system.js.map → p-f2a43ce2.system.js.map} +0 -0
@@ -1,14 +1,14 @@
1
- import { h, Host, } from '@stencil/core';
2
- import { debounce, throttle } from 'throttle-debounce';
3
- import { getLocalizedConfig, getLocalizedCustomConfig, isValidProjectId, } from '../../services/config.service';
4
- import { dispose, state } from '../../data/store';
5
- import { SvgSprite } from '../../utils/svg-sprite.component';
6
- import { SvgIcon } from '../../utils/svg-icon.component';
7
- import { getUserLang, translate } from '../../services/language.service';
8
- import { If } from '../../utils/if.component';
9
- import packageJson from '../../../package.json';
10
- import { registerLogoAnimationObserver } from './logo-animation/logo-animation';
11
- import { getScrollParent } from '../../utils/scrollparent';
1
+ import { h, Host, } from "@stencil/core";
2
+ import { debounce, throttle } from "throttle-debounce";
3
+ import { getLocalizedConfig, getLocalizedCustomConfig, isValidProjectId, } from "../../services/config.service";
4
+ import { dispose, state } from "../../data/store";
5
+ import { SvgSprite } from "../../utils/svg-sprite.component";
6
+ import { SvgIcon } from "../../utils/svg-icon.component";
7
+ import { getUserLang, translate } from "../../services/language.service";
8
+ import { If } from "../../utils/if.component";
9
+ import packageJson from "../../../package.json";
10
+ import { registerLogoAnimationObserver } from "./logo-animation/logo-animation";
11
+ import { getScrollParent } from "../../utils/scrollparent";
12
12
  export class PostInternetHeader {
13
13
  /**
14
14
  * Get the currently set language as a two letter string ("de", "fr" "it" or "en")
@@ -35,6 +35,7 @@ export class PostInternetHeader {
35
35
  this.customConfig = undefined;
36
36
  this.languageCookieKey = undefined;
37
37
  this.languageLocalStorageKey = 'swisspost-internet-header-language';
38
+ this.logoutUrl = undefined;
38
39
  this.activeRoute = 'auto';
39
40
  this.osFlyoutOverrides = undefined;
40
41
  this.fullWidth = false;
@@ -283,7 +284,7 @@ export class PostInternetHeader {
283
284
  ((_b = config.header.navMeta) === null || _b === void 0 ? void 0 : _b.filter(meta => !meta.isHomeLink).length) > 0;
284
285
  const renderLogin = ((_c = this.login) !== null && _c !== void 0 ? _c : !config.header.isLoginWidgetHidden) && config.header.loginWidgetOptions;
285
286
  const renderLanguageSwitch = config.header.navLang.length > 1;
286
- return (h(Host, { class: `stickyness-${this.stickyness} ${Boolean(this.activeDropdownElement) || Boolean(this.activeFlyout) ? 'dropdown-open' : ''}`, "data-version": packageJson.version, onKeyup: (e) => this.handleKeyUp(e) }, h("header", { class: `post-internet-header${this.fullWidth ? ' full-width' : ''}` }, h(SvgSprite, null), h("h1", { class: "visually-hidden" }, translate('Navigate on post.ch')), h(If, { condition: this.skiplinks }, h("post-skiplinks", null)), h(If, { condition: renderMetaNavigation }, h("post-meta-navigation", { orientation: "horizontal", class: "hidden-lg", "full-width": this.fullWidth, ref: el => (this.metaNav = el) }, h(If, { condition: renderLanguageSwitch }, h("post-language-switch", { id: "post-language-switch-desktop", mode: "dropdown", onDropdownToggled: e => this.handleDropdownToggled(e) })))), h("div", { class: "main-navigation-container wide-container" }, h("post-logo", null), h("button", { class: "menu-button nav-link", onClick: () => this.toggleMobileDropdown(), "aria-haspopup": "menu", "aria-controls": "post-internet-header-main-navigation", "aria-expanded": this.activeDropdownElement ? 'true' : 'false' }, h("span", { class: "menu-button-text visually-hidden" }, config.header.mobileMenu.text), h(SvgIcon, { name: this.isMainNavOpen() ? 'pi-close' : 'pi-menu' })), h("post-main-navigation", { onDropdownToggled: e => this.handleDropdownToggled(e), onFlyoutToggled: e => this.handleFlyoutToggled(e), ref: el => (this.mainNav = el) }, h(If, { condition: renderMetaNavigation }, h("post-meta-navigation", { orientation: "vertical" }, h(If, { condition: renderLanguageSwitch }, h("post-language-switch", { id: "post-language-switch-mobile", mode: "list" }))))), h("div", { class: "main-navigation-controls" }, h(If, { condition: this.search }, h("post-search", { onDropdownToggled: e => this.handleDropdownToggled(e) })), h(If, { condition: !!renderLogin }, h("post-klp-login-widget", null, h("slot", { name: "login-widget" }))), h(If, { condition: !renderMetaNavigation && renderLanguageSwitch }, h("post-language-switch", { id: "post-language-switch-no-meta", onDropdownToggled: e => this.handleDropdownToggled(e), mode: "dropdown" })), h("slot", { name: "main" }))))));
287
+ return (h(Host, { class: `stickyness-${this.stickyness} ${Boolean(this.activeDropdownElement) || Boolean(this.activeFlyout) ? 'dropdown-open' : ''}`, "data-version": packageJson.version, onKeyup: (e) => this.handleKeyUp(e) }, h("header", { class: `post-internet-header${this.fullWidth ? ' full-width' : ''}` }, h(SvgSprite, null), h("h1", { class: "visually-hidden" }, translate('Navigate on post.ch')), h(If, { condition: this.skiplinks }, h("post-skiplinks", null)), h(If, { condition: renderMetaNavigation }, h("post-meta-navigation", { orientation: "horizontal", class: "hidden-lg", "full-width": this.fullWidth, ref: el => (this.metaNav = el) }, h(If, { condition: renderLanguageSwitch }, h("post-language-switch", { id: "post-language-switch-desktop", mode: "dropdown", onDropdownToggled: e => this.handleDropdownToggled(e) })))), h("div", { class: "main-navigation-container wide-container" }, h("post-logo", null), h("button", { class: "menu-button nav-link", onClick: () => this.toggleMobileDropdown(), "aria-haspopup": "menu", "aria-controls": "post-internet-header-main-navigation", "aria-expanded": this.activeDropdownElement ? 'true' : 'false' }, h("span", { class: "menu-button-text visually-hidden" }, config.header.mobileMenu.text), h(SvgIcon, { name: this.isMainNavOpen() ? 'pi-close' : 'pi-menu' })), h("post-main-navigation", { onDropdownToggled: e => this.handleDropdownToggled(e), onFlyoutToggled: e => this.handleFlyoutToggled(e), ref: el => (this.mainNav = el) }, h(If, { condition: renderMetaNavigation }, h("post-meta-navigation", { orientation: "vertical" }, h(If, { condition: renderLanguageSwitch }, h("post-language-switch", { id: "post-language-switch-mobile", mode: "list" }))))), h("div", { class: "main-navigation-controls" }, h(If, { condition: this.search }, h("post-search", { onDropdownToggled: e => this.handleDropdownToggled(e) })), h(If, { condition: !!renderLogin }, h("post-klp-login-widget", { "logout-url": this.logoutUrl }, h("slot", { name: "login-widget" }))), h(If, { condition: !renderMetaNavigation && renderLanguageSwitch }, h("post-language-switch", { id: "post-language-switch-no-meta", onDropdownToggled: e => this.handleDropdownToggled(e), mode: "dropdown" })), h("slot", { name: "main" }))))));
287
288
  }
288
289
  static get is() { return "swisspost-internet-header"; }
289
290
  static get encapsulation() { return "shadow"; }
@@ -325,7 +326,8 @@ export class PostInternetHeader {
325
326
  "references": {
326
327
  "StickynessOptions": {
327
328
  "location": "import",
328
- "path": "../../models/implementor.model"
329
+ "path": "../../models/implementor.model",
330
+ "id": "src/models/implementor.model.ts::StickynessOptions"
329
331
  }
330
332
  }
331
333
  },
@@ -454,7 +456,8 @@ export class PostInternetHeader {
454
456
  "references": {
455
457
  "Environment": {
456
458
  "location": "import",
457
- "path": "../../models/general.model"
459
+ "path": "../../models/general.model",
460
+ "id": "src/models/general.model.ts::Environment"
458
461
  }
459
462
  }
460
463
  },
@@ -477,7 +480,8 @@ export class PostInternetHeader {
477
480
  "references": {
478
481
  "IAvailableLanguage": {
479
482
  "location": "import",
480
- "path": "../../models/language.model"
483
+ "path": "../../models/language.model",
484
+ "id": "src/models/language.model.ts::IAvailableLanguage"
481
485
  }
482
486
  }
483
487
  },
@@ -499,7 +503,8 @@ export class PostInternetHeader {
499
503
  "references": {
500
504
  "ICustomConfig": {
501
505
  "location": "import",
502
- "path": "../../models/general.model"
506
+ "path": "../../models/general.model",
507
+ "id": "src/models/general.model.ts::ICustomConfig"
503
508
  }
504
509
  }
505
510
  },
@@ -547,6 +552,23 @@ export class PostInternetHeader {
547
552
  "reflect": false,
548
553
  "defaultValue": "'swisspost-internet-header-language'"
549
554
  },
555
+ "logoutUrl": {
556
+ "type": "string",
557
+ "mutable": false,
558
+ "complexType": {
559
+ "original": "string",
560
+ "resolved": "string | undefined",
561
+ "references": {}
562
+ },
563
+ "required": false,
564
+ "optional": true,
565
+ "docs": {
566
+ "tags": [],
567
+ "text": "Override the logout-url provided by the portal config."
568
+ },
569
+ "attribute": "logout-url",
570
+ "reflect": false
571
+ },
550
572
  "activeRoute": {
551
573
  "type": "any",
552
574
  "mutable": false,
@@ -574,7 +596,8 @@ export class PostInternetHeader {
574
596
  "references": {
575
597
  "NavMainEntity": {
576
598
  "location": "import",
577
- "path": "../../models/header.model"
599
+ "path": "../../models/header.model",
600
+ "id": "src/models/header.model.ts::NavMainEntity"
578
601
  }
579
602
  }
580
603
  },
@@ -639,7 +662,8 @@ export class PostInternetHeader {
639
662
  "parameters": [],
640
663
  "references": {
641
664
  "Promise": {
642
- "location": "global"
665
+ "location": "global",
666
+ "id": "global::Promise"
643
667
  }
644
668
  },
645
669
  "return": "Promise<string>"
@@ -1 +1 @@
1
- {"version":3,"file":"post-internet-header.js","sourceRoot":"","sources":["../../../../src/components/post-internet-header/post-internet-header.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { debounce, throttle } from 'throttle-debounce';\nimport {\n getLocalizedConfig,\n getLocalizedCustomConfig,\n isValidProjectId,\n} from '../../services/config.service';\nimport { dispose, state } from '../../data/store';\nimport { DropdownElement, DropdownEvent, NavMainEntity } from '../../models/header.model';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { StickynessOptions } from '../../models/implementor.model';\nimport { ActiveRouteProp, Environment, ICustomConfig } from '../../models/general.model';\nimport { IAvailableLanguage } from '../../models/language.model';\nimport { getUserLang, translate } from '../../services/language.service';\nimport { If } from '../../utils/if.component';\nimport packageJson from '../../../package.json';\nimport { registerLogoAnimationObserver } from './logo-animation/logo-animation';\nimport { getScrollParent } from '../../utils/scrollparent';\n\n@Component({\n tag: 'swisspost-internet-header',\n styleUrl: 'post-internet-header.scss',\n shadow: true,\n})\nexport class PostInternetHeader {\n /**\n * Your project id, previously passed as query string parameter serviceId.\n */\n @Prop() project: string;\n\n /**\n * Sticky behaviour of the header.\n */\n @Prop() stickyness: StickynessOptions = 'minimal';\n\n /**\n * Initial language to be used. Overrides automatic language detection.\n */\n @Prop() language?: 'de' | 'fr' | 'it' | 'en';\n\n /**\n * Toggle the meta navigation.\n */\n @Prop() meta: boolean = true;\n\n /**\n * Toggle the login link (when logged out) or the user widget (when logged in).\n */\n @Prop() login: boolean = true;\n\n /**\n * Toggle the search button.\n */\n @Prop() search: boolean = true;\n\n /**\n * Toggle skiplinks. They help keyboard users to quickly jump to important sections of the page.\n */\n @Prop() skiplinks: boolean = true;\n\n /**\n * DEPRECATED!: Define a proxy URL for the config fetch request. Will be removed in the next major version\n */\n @Prop() configProxy?: string;\n\n /**\n * Target environment. Choose 'int01' for local testing.\n */\n @Prop() environment: Environment = 'prod';\n\n /**\n * Override the language switch links with custom URLs. Helpful when your application contains sub-pages, and you\n * would like to stay on subpages when the user changes language.\n */\n @Prop() languageSwitchOverrides?: string | IAvailableLanguage[];\n\n /**\n * Customize the header config loaded from the post portal.\n */\n @Prop() customConfig?: string | ICustomConfig;\n\n /**\n * The header uses this cookie to set the language. Disables automatic language detection.\n */\n @Prop() languageCookieKey?: string;\n\n /**\n * The header uses this local storage key to set the language. Disables automatic language selection.\n */\n @Prop() languageLocalStorageKey?: string = 'swisspost-internet-header-language';\n\n /**\n * Set the currently activated route. If there is a link matching this URL in the header, it will be highlighted.\n * Will also highlight partly matching URLs. When set to auto, will use current location.href for comparison.\n */\n @Prop() activeRoute?: 'auto' | false | string = 'auto';\n\n /**\n * Online Services only: Add custom links to the special online service navigation entry\n */\n @Prop() osFlyoutOverrides?: string | NavMainEntity;\n\n /**\n * Displays the header at full width for full-screen applications\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * Fires when the header has been rendered to the page.\n */\n @Event() headerLoaded: EventEmitter<void>;\n\n @State() activeFlyout: string | null = null;\n @State() activeDropdownElement: DropdownElement | null = null;\n @Element() host: HTMLSwisspostInternetHeaderElement;\n\n /**\n * Get the currently set language as a two letter string (\"de\", \"fr\" \"it\" or \"en\")\n * @returns string\n */\n @Method()\n async getCurrentLanguage(): Promise<'de' | 'fr' | 'it' | 'en' | string> {\n return state.currentLanguage ?? 'de';\n }\n\n private mainNav?: HTMLPostMainNavigationElement;\n private metaNav?: HTMLPostMetaNavigationElement;\n private lastScrollTop = window.scrollY || document.documentElement.scrollTop;\n private throttledScroll: throttle<() => void>;\n private debouncedResize: debounce<() => void>;\n private lastWindowWidth: number = window.innerWidth;\n private updateLogoAnimation: () => void;\n private scrollParent: Element | Document;\n\n constructor() {\n if (this.project === undefined || this.project === '' || !isValidProjectId(this.project)) {\n throw new Error(\n `Internet Header project key is \"${this.project}\". Please provide a valid project key.`,\n );\n }\n }\n\n connectedCallback() {\n this.throttledScroll = throttle(300, () => this.handleScrollEvent());\n this.debouncedResize = debounce(200, () => this.handleResize());\n }\n\n disconnectedCallback() {\n this.scrollParent.removeEventListener('scroll', this.throttledScroll);\n this.scrollParent.removeEventListener('resize', this.debouncedResize);\n\n // Reset the store to its original state\n dispose();\n }\n\n async componentWillLoad() {\n this.scrollParent = getScrollParent(this.host);\n this.scrollParent.addEventListener('scroll', this.throttledScroll, { passive: true });\n this.scrollParent.addEventListener('resize', this.debouncedResize, { passive: true });\n\n // Wait for the config to arrive, then render the header\n try {\n state.projectId = this.project;\n state.stickyness = this.stickyness;\n state.environment = this.environment.toLocaleLowerCase() as Environment;\n if (this.language !== undefined) state.currentLanguage = this.language;\n state.languageSwitchOverrides =\n typeof this.languageSwitchOverrides === 'string'\n ? JSON.parse(this.languageSwitchOverrides)\n : this.languageSwitchOverrides;\n state.osFlyoutOverrides =\n typeof this.osFlyoutOverrides === 'string'\n ? JSON.parse(this.osFlyoutOverrides)\n : this.osFlyoutOverrides;\n\n if (this.customConfig !== undefined) {\n const langs = Object.keys(\n typeof this.customConfig === 'string' ? JSON.parse(this.customConfig) : this.customConfig,\n );\n const lang = state.currentLanguage || getUserLang(langs, this.language);\n state.localizedCustomConfig = getLocalizedCustomConfig(this.customConfig, lang);\n }\n\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: state.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n } catch (error) {\n console.error(error);\n }\n }\n\n componentDidLoad() {\n window.requestAnimationFrame(() => {\n this.handleResize();\n this.headerLoaded.emit();\n this.host.classList.add('header-loaded');\n if (this.meta && this.metaNav) {\n this.updateLogoAnimation = registerLogoAnimationObserver(this.metaNav, this.host);\n }\n });\n\n if (this.stickyness === 'full')\n console.warn('Internet Header: The stickyness=\"full\" option is deprecated.');\n }\n\n @Watch('language')\n async handleLanguageChange(newValue: string) {\n state.currentLanguage = newValue;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: newValue,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n if (this.customConfig)\n state.localizedCustomConfig = getLocalizedCustomConfig(this.customConfig, newValue);\n }\n\n @Watch('languageSwitchOverrides')\n handleAvailableLanguagesChange(newValue: string | IAvailableLanguage[]) {\n state.languageSwitchOverrides = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;\n }\n\n @Watch('osFlyoutOverrides')\n async handleOsFlyoutOverrides(newValue: string | NavMainEntity) {\n state.osFlyoutOverrides = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('activeRoute')\n async handleActiveRouteChange(newValue: string | ActiveRouteProp) {\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: newValue,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('customConfig')\n async handleCustomConfigChange(newValue: string | ICustomConfig) {\n if (this.language === undefined) return;\n const localizedCustomConfig = getLocalizedCustomConfig(newValue, this.language);\n state.localizedCustomConfig = localizedCustomConfig;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('search')\n handleSearchChange(newValue: boolean) {\n state.search = newValue;\n }\n\n @Watch('login')\n handleLoginChange(newValue: boolean) {\n state.login = newValue;\n }\n\n @Watch('meta')\n handleMetaChange(newValue: boolean) {\n state.meta = newValue;\n }\n\n @Listen('languageChanged')\n handleLanguageChangeEvent(event: CustomEvent<string>) {\n void this.handleLanguageChange(event.detail);\n }\n\n @Watch('stickyness')\n handleStickynessChange(newValue: StickynessOptions) {\n state.stickyness = newValue;\n if (typeof this.updateLogoAnimation === 'function') this.updateLogoAnimation();\n }\n\n private handleClickOutsideBound = this.handleClickOutside.bind(this);\n\n private handleClickOutside(event: Event) {\n // Close active dropdown element on click outside of it\n if (this.activeDropdownElement && !event.composedPath().includes(this.activeDropdownElement)) {\n void this.activeDropdownElement.toggleDropdown(false);\n }\n }\n\n private handleKeyUp(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n if (this.activeDropdownElement) {\n void this.activeDropdownElement.toggleDropdown(false);\n }\n if (this.activeFlyout !== null && this.mainNav) {\n void this.mainNav.toggleDropdown(false);\n }\n }\n }\n\n private handleScrollEvent() {\n // Credits: \"https://github.com/qeremy/so/blob/master/so.dom.js#L426\"\n const st =\n this.scrollParent instanceof Document\n ? this.scrollParent.documentElement.scrollTop\n : this.scrollParent.scrollTop;\n\n // Toggle class without re-rendering the component if stickyness is minimal\n // the other stickyness modes do not need the class\n if (this.stickyness === 'minimal') {\n this.host.classList.toggle('scrolling-up', st <= this.lastScrollTop);\n }\n\n // For Mobile or negative scrolling\n this.lastScrollTop = st <= 0 ? 0 : st;\n }\n\n private handleResize() {\n // Close main navigation dropdown if size changed to bigger than 1024px (search dropdown will be kept open)\n if (this.isMainNavOpen() && this.lastWindowWidth < 1024 && window.innerWidth >= 1024) {\n this.activeDropdownElement?.toggleDropdown(false);\n }\n\n this.lastWindowWidth = window.innerWidth;\n }\n\n /**\n * Close open dropdown menus if another is being opened\n *\n * @param event Dropdown toggled event\n * @returns void\n */\n private handleDropdownToggled(event: CustomEvent<DropdownEvent>) {\n if (!event.detail.open && this.activeDropdownElement !== event.detail.element) {\n // Some dropdown got closed programmatically (possibly by this function). To prevent\n // a circle or an outdated state, we'll not handle this event\n return;\n }\n\n if (event.detail.open) {\n if (this.activeDropdownElement) {\n void this.activeDropdownElement.toggleDropdown(false);\n }\n\n this.activeDropdownElement = event.detail.element;\n\n if (window.innerWidth >= 1024) {\n // Add event listener to close active dropdown element on click outside of it\n // Also adds 10ms delay in case of an external interaction:\n // Some button on the page calls toggleDropdown() -> dropdown opens\n // Click event bubbles to the window, this.handleClickOutsideBound closes dropdown again\n window.setTimeout(() => {\n window.addEventListener('click', this.handleClickOutsideBound);\n }, 10);\n }\n\n if (this.activeFlyout !== null && this.mainNav) {\n void this.mainNav.setActiveFlyout(null);\n }\n } else {\n this.activeDropdownElement = null;\n\n // Remove event listener as it is not needed if no dropdown element is active\n window.removeEventListener('click', this.handleClickOutsideBound);\n }\n }\n\n /**\n * Close open dropdowns if the flyout is being opened\n * @param event Flyout toggle event\n */\n private handleFlyoutToggled(event: CustomEvent<string | null>) {\n this.activeFlyout = event.detail;\n\n if (this.activeDropdownElement && event.detail && !this.isMainNavOpen()) {\n void this.activeDropdownElement.toggleDropdown(false);\n }\n }\n\n private toggleMobileDropdown() {\n this.mainNav?.toggleDropdown();\n }\n\n private isMainNavOpen() {\n return (\n this.activeDropdownElement && this.activeDropdownElement.tagName === 'POST-MAIN-NAVIGATION'\n );\n }\n\n render() {\n if (!state.localizedConfig?.header) {\n console.error(new Error('Internet Header: Config cannot be loaded'));\n return;\n }\n\n const config = state.localizedConfig;\n const renderMetaNavigation =\n this.meta &&\n config.header.navMeta !== undefined &&\n config.header.navMeta?.filter(meta => !meta.isHomeLink).length > 0;\n const renderLogin =\n (this.login ?? !config.header.isLoginWidgetHidden) && config.header.loginWidgetOptions;\n const renderLanguageSwitch = config.header.navLang.length > 1;\n\n return (\n <Host\n class={`stickyness-${this.stickyness} ${\n Boolean(this.activeDropdownElement) || Boolean(this.activeFlyout) ? 'dropdown-open' : ''\n }`}\n data-version={packageJson.version}\n onKeyup={(e: KeyboardEvent) => this.handleKeyUp(e)}\n >\n <header class={`post-internet-header${this.fullWidth ? ' full-width' : ''}`}>\n <SvgSprite />\n <h1 class=\"visually-hidden\">{translate('Navigate on post.ch')}</h1>\n <If condition={this.skiplinks}>\n <post-skiplinks></post-skiplinks>\n </If>\n <If condition={renderMetaNavigation}>\n <post-meta-navigation\n orientation=\"horizontal\"\n class=\"hidden-lg\"\n full-width={this.fullWidth}\n ref={el => (this.metaNav = el)}\n >\n <If condition={renderLanguageSwitch}>\n <post-language-switch\n id=\"post-language-switch-desktop\"\n mode=\"dropdown\"\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n ></post-language-switch>\n </If>\n </post-meta-navigation>\n </If>\n <div class=\"main-navigation-container wide-container\">\n <post-logo></post-logo>\n <button\n class=\"menu-button nav-link\"\n onClick={() => this.toggleMobileDropdown()}\n aria-haspopup=\"menu\"\n aria-controls=\"post-internet-header-main-navigation\"\n aria-expanded={this.activeDropdownElement ? 'true' : 'false'}\n >\n <span class=\"menu-button-text visually-hidden\">{config.header.mobileMenu.text}</span>\n <SvgIcon name={this.isMainNavOpen() ? 'pi-close' : 'pi-menu'}></SvgIcon>\n </button>\n <post-main-navigation\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n onFlyoutToggled={e => this.handleFlyoutToggled(e)}\n ref={el => (this.mainNav = el)}\n >\n <If condition={renderMetaNavigation}>\n <post-meta-navigation orientation=\"vertical\">\n <If condition={renderLanguageSwitch}>\n <post-language-switch\n id=\"post-language-switch-mobile\"\n mode=\"list\"\n ></post-language-switch>\n </If>\n </post-meta-navigation>\n </If>\n </post-main-navigation>\n <div class=\"main-navigation-controls\">\n <If condition={this.search}>\n <post-search onDropdownToggled={e => this.handleDropdownToggled(e)}></post-search>\n </If>\n <If condition={!!renderLogin}>\n <post-klp-login-widget>\n <slot name=\"login-widget\"></slot>\n </post-klp-login-widget>\n </If>\n <If condition={!renderMetaNavigation && renderLanguageSwitch}>\n <post-language-switch\n id=\"post-language-switch-no-meta\"\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n mode=\"dropdown\"\n ></post-language-switch>\n </If>\n <slot name=\"main\"></slot>\n </div>\n </div>\n </header>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"post-internet-header.js","sourceRoot":"","sources":["../../../../src/components/post-internet-header/post-internet-header.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,MAAM,EACN,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,GACN,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAIzD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAO3D,MAAM,OAAO,kBAAkB;EAiG7B;;;KAGG;EAEH,KAAK,CAAC,kBAAkB;;IACtB,OAAO,MAAA,KAAK,CAAC,eAAe,mCAAI,IAAI,CAAC;EACvC,CAAC;EAWD;IAPQ,kBAAa,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC;IAGrE,oBAAe,GAAW,MAAM,CAAC,UAAU,CAAC;IAgL5C,4BAAuB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;sBAtR7B,SAAS;;gBAUzB,IAAI;iBAKH,IAAI;kBAKH,IAAI;qBAKD,IAAI;;uBAUE,MAAM;;;;mCAqBE,oCAAoC;;uBAW/B,MAAM;;qBAUxB,KAAK;wBAOI,IAAI;iCACc,IAAI;IAsB3D,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;MACxF,MAAM,IAAI,KAAK,CACb,mCAAmC,IAAI,CAAC,OAAO,wCAAwC,CACxF,CAAC;KACH;GACF;EAED,iBAAiB;IACf,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;EAClE,CAAC;EAED,oBAAoB;IAClB,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACtE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAEtE,wCAAwC;IACxC,OAAO,EAAE,CAAC;EACZ,CAAC;EAED,KAAK,CAAC,iBAAiB;IACrB,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACtF,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtF,wDAAwD;IACxD,IAAI;MACF,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;MAC/B,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;MACnC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAiB,CAAC;MACxE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;QAAE,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;MACvE,KAAK,CAAC,uBAAuB;QAC3B,OAAO,IAAI,CAAC,uBAAuB,KAAK,QAAQ;UAC9C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC;UAC1C,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;MACnC,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ;UACxC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC;UACpC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;MAE7B,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CACvB,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAC1F,CAAC;QACF,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,IAAI,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxE,KAAK,CAAC,qBAAqB,GAAG,wBAAwB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;OACjF;MAED,KAAK,CAAC,eAAe,GAAG,MAAM,kBAAkB,CAAC;QAC/C,SAAS,EAAE,IAAI,CAAC,OAAO;QACvB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,IAAI,CAAC,iBAAiB;QACjC,eAAe,EAAE,IAAI,CAAC,uBAAuB;QAC7C,eAAe,EAAE,IAAI,CAAC,WAAW;QACjC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;QAClD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;OAC3C,CAAC,CAAC;KACJ;IAAC,OAAO,KAAK,EAAE;MACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KACtB;EACH,CAAC;EAED,gBAAgB;IACd,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;MAChC,IAAI,CAAC,YAAY,EAAE,CAAC;MACpB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;MACzB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;MACzC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;QAC7B,IAAI,CAAC,mBAAmB,GAAG,6BAA6B,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;OACnF;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM;MAC5B,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;EACjF,CAAC;EAGD,KAAK,CAAC,oBAAoB,CAAC,QAAgB;IACzC,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;IACjC,KAAK,CAAC,eAAe,GAAG,MAAM,kBAAkB,CAAC;MAC/C,SAAS,EAAE,IAAI,CAAC,OAAO;MACvB,WAAW,EAAE,IAAI,CAAC,WAAW;MAC7B,QAAQ,EAAE,QAAQ;MAClB,SAAS,EAAE,IAAI,CAAC,iBAAiB;MACjC,eAAe,EAAE,IAAI,CAAC,uBAAuB;MAC7C,eAAe,EAAE,IAAI,CAAC,WAAW;MACjC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;MAClD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC3C,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,YAAY;MACnB,KAAK,CAAC,qBAAqB,GAAG,wBAAwB,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;EACxF,CAAC;EAGD,8BAA8B,CAAC,QAAuC;IACpE,KAAK,CAAC,uBAAuB,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;EACjG,CAAC;EAGD,KAAK,CAAC,uBAAuB,CAAC,QAAgC;IAC5D,KAAK,CAAC,iBAAiB,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzF,KAAK,CAAC,eAAe,GAAG,MAAM,kBAAkB,CAAC;MAC/C,SAAS,EAAE,IAAI,CAAC,OAAO;MACvB,WAAW,EAAE,IAAI,CAAC,WAAW;MAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;MACvB,SAAS,EAAE,IAAI,CAAC,iBAAiB;MACjC,eAAe,EAAE,IAAI,CAAC,uBAAuB;MAC7C,eAAe,EAAE,IAAI,CAAC,WAAW;MACjC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;MAClD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC3C,CAAC,CAAC;EACL,CAAC;EAGD,KAAK,CAAC,uBAAuB,CAAC,QAAkC;IAC9D,KAAK,CAAC,eAAe,GAAG,MAAM,kBAAkB,CAAC;MAC/C,SAAS,EAAE,IAAI,CAAC,OAAO;MACvB,WAAW,EAAE,IAAI,CAAC,WAAW;MAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;MACvB,SAAS,EAAE,IAAI,CAAC,iBAAiB;MACjC,eAAe,EAAE,IAAI,CAAC,uBAAuB;MAC7C,eAAe,EAAE,QAAQ;MACzB,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;MAClD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC3C,CAAC,CAAC;EACL,CAAC;EAGD,KAAK,CAAC,wBAAwB,CAAC,QAAgC;IAC7D,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;MAAE,OAAO;IACxC,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChF,KAAK,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IACpD,KAAK,CAAC,eAAe,GAAG,MAAM,kBAAkB,CAAC;MAC/C,SAAS,EAAE,IAAI,CAAC,OAAO;MACvB,WAAW,EAAE,IAAI,CAAC,WAAW;MAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;MACvB,SAAS,EAAE,IAAI,CAAC,iBAAiB;MACjC,eAAe,EAAE,IAAI,CAAC,uBAAuB;MAC7C,eAAe,EAAE,IAAI,CAAC,WAAW;MACjC,qBAAqB,EAAE,qBAAqB;MAC5C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC3C,CAAC,CAAC;EACL,CAAC;EAGD,kBAAkB,CAAC,QAAiB;IAClC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;EAC1B,CAAC;EAGD,iBAAiB,CAAC,QAAiB;IACjC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;EACzB,CAAC;EAGD,gBAAgB,CAAC,QAAiB;IAChC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;EACxB,CAAC;EAGD,yBAAyB,CAAC,KAA0B;IAClD,KAAK,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;EAC/C,CAAC;EAGD,sBAAsB,CAAC,QAA2B;IAChD,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC5B,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,UAAU;MAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;EACjF,CAAC;EAIO,kBAAkB,CAAC,KAAY;IACrC,uDAAuD;IACvD,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE;MAC5F,KAAK,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;KACvD;EACH,CAAC;EAEO,WAAW,CAAC,KAAoB;IACtC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;MAC1B,IAAI,IAAI,CAAC,qBAAqB,EAAE;QAC9B,KAAK,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;OACvD;MACD,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;QAC9C,KAAK,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;OACzC;KACF;EACH,CAAC;EAEO,iBAAiB;IACvB,qEAAqE;IACrE,MAAM,EAAE,GACN,IAAI,CAAC,YAAY,YAAY,QAAQ;MACnC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,SAAS;MAC7C,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;IAElC,2EAA2E;IAC3E,mDAAmD;IACnD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;MACjC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;KACtE;IAED,mCAAmC;IACnC,IAAI,CAAC,aAAa,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;EACxC,CAAC;EAEO,YAAY;;IAClB,2GAA2G;IAC3G,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE;MACpF,MAAA,IAAI,CAAC,qBAAqB,0CAAE,cAAc,CAAC,KAAK,CAAC,CAAC;KACnD;IAED,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC;EAC3C,CAAC;EAED;;;;;KAKG;EACK,qBAAqB,CAAC,KAAiC;IAC7D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,qBAAqB,KAAK,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;MAC7E,oFAAoF;MACpF,6DAA6D;MAC7D,OAAO;KACR;IAED,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;MACrB,IAAI,IAAI,CAAC,qBAAqB,EAAE;QAC9B,KAAK,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;OACvD;MAED,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;MAElD,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE;QAC7B,6EAA6E;QAC7E,2DAA2D;QAC3D,sEAAsE;QACtE,2FAA2F;QAC3F,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;UACrB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACjE,CAAC,EAAE,EAAE,CAAC,CAAC;OACR;MAED,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;QAC9C,KAAK,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;OACzC;KACF;SAAM;MACL,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;MAElC,6EAA6E;MAC7E,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;KACnE;EACH,CAAC;EAED;;;KAGG;EACK,mBAAmB,CAAC,KAAiC;IAC3D,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;IAEjC,IAAI,IAAI,CAAC,qBAAqB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE;MACvE,KAAK,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;KACvD;EACH,CAAC;EAEO,oBAAoB;;IAC1B,MAAA,IAAI,CAAC,OAAO,0CAAE,cAAc,EAAE,CAAC;EACjC,CAAC;EAEO,aAAa;IACnB,OAAO,CACL,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,KAAK,sBAAsB,CAC5F,CAAC;EACJ,CAAC;EAED,MAAM;;IACJ,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,CAAA,EAAE;MAClC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;MACrE,OAAO;KACR;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC;IACrC,MAAM,oBAAoB,GACxB,IAAI,CAAC,IAAI;MACT,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS;MACnC,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,OAAO,0CAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,IAAG,CAAC,CAAC;IACrE,MAAM,WAAW,GACf,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;IACzF,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAE9D,OAAO,CACL,EAAC,IAAI,IACH,KAAK,EAAE,cAAc,IAAI,CAAC,UAAU,IAClC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EACxF,EAAE,kBACY,WAAW,CAAC,OAAO,EACjC,OAAO,EAAE,CAAC,CAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;MAElD,cAAQ,KAAK,EAAE,uBAAuB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE;QACzE,EAAC,SAAS,OAAG;QACb,UAAI,KAAK,EAAC,iBAAiB,IAAE,SAAS,CAAC,qBAAqB,CAAC,CAAM;QACnE,EAAC,EAAE,IAAC,SAAS,EAAE,IAAI,CAAC,SAAS;UAC3B,yBAAiC,CAC9B;QACL,EAAC,EAAE,IAAC,SAAS,EAAE,oBAAoB;UACjC,4BACE,WAAW,EAAC,YAAY,EACxB,KAAK,EAAC,WAAW,gBACL,IAAI,CAAC,SAAS,EAC1B,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAE9B,EAAC,EAAE,IAAC,SAAS,EAAE,oBAAoB;cACjC,4BACE,EAAE,EAAC,8BAA8B,EACjC,IAAI,EAAC,UAAU,EACf,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAC/B,CACrB,CACgB,CACpB;QACL,WAAK,KAAK,EAAC,0CAA0C;UACnD,oBAAuB;UACvB,cACE,KAAK,EAAC,sBAAsB,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,mBAC5B,MAAM,mBACN,sCAAsC,mBACrC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YAE5D,YAAM,KAAK,EAAC,kCAAkC,IAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAQ;YACrF,EAAC,OAAO,IAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,GAAY,CACjE;UACT,4BACE,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EACrD,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EACjD,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAE9B,EAAC,EAAE,IAAC,SAAS,EAAE,oBAAoB;cACjC,4BAAsB,WAAW,EAAC,UAAU;gBAC1C,EAAC,EAAE,IAAC,SAAS,EAAE,oBAAoB;kBACjC,4BACE,EAAE,EAAC,6BAA6B,EAChC,IAAI,EAAC,MAAM,GACW,CACrB,CACgB,CACpB,CACgB;UACvB,WAAK,KAAK,EAAC,0BAA0B;YACnC,EAAC,EAAE,IAAC,SAAS,EAAE,IAAI,CAAC,MAAM;cACxB,mBAAa,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAgB,CAC/E;YACL,EAAC,EAAE,IAAC,SAAS,EAAE,CAAC,CAAC,WAAW;cAC1B,2CAAmC,IAAI,CAAC,SAAS;gBAC/C,YAAM,IAAI,EAAC,cAAc,GAAQ,CACX,CACrB;YACL,EAAC,EAAE,IAAC,SAAS,EAAE,CAAC,oBAAoB,IAAI,oBAAoB;cAC1D,4BACE,EAAE,EAAC,8BAA8B,EACjC,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EACrD,IAAI,EAAC,UAAU,GACO,CACrB;YACL,YAAM,IAAI,EAAC,MAAM,GAAQ,CACrB,CACF,CACC,CACJ,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { debounce, throttle } from 'throttle-debounce';\nimport {\n getLocalizedConfig,\n getLocalizedCustomConfig,\n isValidProjectId,\n} from '../../services/config.service';\nimport { dispose, state } from '../../data/store';\nimport { DropdownElement, DropdownEvent, NavMainEntity } from '../../models/header.model';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { StickynessOptions } from '../../models/implementor.model';\nimport { ActiveRouteProp, Environment, ICustomConfig } from '../../models/general.model';\nimport { IAvailableLanguage } from '../../models/language.model';\nimport { getUserLang, translate } from '../../services/language.service';\nimport { If } from '../../utils/if.component';\nimport packageJson from '../../../package.json';\nimport { registerLogoAnimationObserver } from './logo-animation/logo-animation';\nimport { getScrollParent } from '../../utils/scrollparent';\n\n@Component({\n tag: 'swisspost-internet-header',\n styleUrl: 'post-internet-header.scss',\n shadow: true,\n})\nexport class PostInternetHeader {\n /**\n * Your project id, previously passed as query string parameter serviceId.\n */\n @Prop() project: string;\n\n /**\n * Sticky behaviour of the header.\n */\n @Prop() stickyness: StickynessOptions = 'minimal';\n\n /**\n * Initial language to be used. Overrides automatic language detection.\n */\n @Prop() language?: 'de' | 'fr' | 'it' | 'en';\n\n /**\n * Toggle the meta navigation.\n */\n @Prop() meta: boolean = true;\n\n /**\n * Toggle the login link (when logged out) or the user widget (when logged in).\n */\n @Prop() login: boolean = true;\n\n /**\n * Toggle the search button.\n */\n @Prop() search: boolean = true;\n\n /**\n * Toggle skiplinks. They help keyboard users to quickly jump to important sections of the page.\n */\n @Prop() skiplinks: boolean = true;\n\n /**\n * DEPRECATED!: Define a proxy URL for the config fetch request. Will be removed in the next major version\n */\n @Prop() configProxy?: string;\n\n /**\n * Target environment. Choose 'int01' for local testing.\n */\n @Prop() environment: Environment = 'prod';\n\n /**\n * Override the language switch links with custom URLs. Helpful when your application contains sub-pages, and you\n * would like to stay on subpages when the user changes language.\n */\n @Prop() languageSwitchOverrides?: string | IAvailableLanguage[];\n\n /**\n * Customize the header config loaded from the post portal.\n */\n @Prop() customConfig?: string | ICustomConfig;\n\n /**\n * The header uses this cookie to set the language. Disables automatic language detection.\n */\n @Prop() languageCookieKey?: string;\n\n /**\n * The header uses this local storage key to set the language. Disables automatic language selection.\n */\n @Prop() languageLocalStorageKey?: string = 'swisspost-internet-header-language';\n\n /**\n * Override the logout-url provided by the portal config.\n */\n @Prop() logoutUrl?: string;\n\n /**\n * Set the currently activated route. If there is a link matching this URL in the header, it will be highlighted.\n * Will also highlight partly matching URLs. When set to auto, will use current location.href for comparison.\n */\n @Prop() activeRoute?: 'auto' | false | string = 'auto';\n\n /**\n * Online Services only: Add custom links to the special online service navigation entry\n */\n @Prop() osFlyoutOverrides?: string | NavMainEntity;\n\n /**\n * Displays the header at full width for full-screen applications\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * Fires when the header has been rendered to the page.\n */\n @Event() headerLoaded: EventEmitter<void>;\n\n @State() activeFlyout: string | null = null;\n @State() activeDropdownElement: DropdownElement | null = null;\n @Element() host: HTMLSwisspostInternetHeaderElement;\n\n /**\n * Get the currently set language as a two letter string (\"de\", \"fr\" \"it\" or \"en\")\n * @returns string\n */\n @Method()\n async getCurrentLanguage(): Promise<'de' | 'fr' | 'it' | 'en' | string> {\n return state.currentLanguage ?? 'de';\n }\n\n private mainNav?: HTMLPostMainNavigationElement;\n private metaNav?: HTMLPostMetaNavigationElement;\n private lastScrollTop = window.scrollY || document.documentElement.scrollTop;\n private throttledScroll: throttle<() => void>;\n private debouncedResize: debounce<() => void>;\n private lastWindowWidth: number = window.innerWidth;\n private updateLogoAnimation: () => void;\n private scrollParent: Element | Document;\n\n constructor() {\n if (this.project === undefined || this.project === '' || !isValidProjectId(this.project)) {\n throw new Error(\n `Internet Header project key is \"${this.project}\". Please provide a valid project key.`,\n );\n }\n }\n\n connectedCallback() {\n this.throttledScroll = throttle(300, () => this.handleScrollEvent());\n this.debouncedResize = debounce(200, () => this.handleResize());\n }\n\n disconnectedCallback() {\n this.scrollParent.removeEventListener('scroll', this.throttledScroll);\n this.scrollParent.removeEventListener('resize', this.debouncedResize);\n\n // Reset the store to its original state\n dispose();\n }\n\n async componentWillLoad() {\n this.scrollParent = getScrollParent(this.host);\n this.scrollParent.addEventListener('scroll', this.throttledScroll, { passive: true });\n this.scrollParent.addEventListener('resize', this.debouncedResize, { passive: true });\n\n // Wait for the config to arrive, then render the header\n try {\n state.projectId = this.project;\n state.stickyness = this.stickyness;\n state.environment = this.environment.toLocaleLowerCase() as Environment;\n if (this.language !== undefined) state.currentLanguage = this.language;\n state.languageSwitchOverrides =\n typeof this.languageSwitchOverrides === 'string'\n ? JSON.parse(this.languageSwitchOverrides)\n : this.languageSwitchOverrides;\n state.osFlyoutOverrides =\n typeof this.osFlyoutOverrides === 'string'\n ? JSON.parse(this.osFlyoutOverrides)\n : this.osFlyoutOverrides;\n\n if (this.customConfig !== undefined) {\n const langs = Object.keys(\n typeof this.customConfig === 'string' ? JSON.parse(this.customConfig) : this.customConfig,\n );\n const lang = state.currentLanguage || getUserLang(langs, this.language);\n state.localizedCustomConfig = getLocalizedCustomConfig(this.customConfig, lang);\n }\n\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: state.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n } catch (error) {\n console.error(error);\n }\n }\n\n componentDidLoad() {\n window.requestAnimationFrame(() => {\n this.handleResize();\n this.headerLoaded.emit();\n this.host.classList.add('header-loaded');\n if (this.meta && this.metaNav) {\n this.updateLogoAnimation = registerLogoAnimationObserver(this.metaNav, this.host);\n }\n });\n\n if (this.stickyness === 'full')\n console.warn('Internet Header: The stickyness=\"full\" option is deprecated.');\n }\n\n @Watch('language')\n async handleLanguageChange(newValue: string) {\n state.currentLanguage = newValue;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: newValue,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n if (this.customConfig)\n state.localizedCustomConfig = getLocalizedCustomConfig(this.customConfig, newValue);\n }\n\n @Watch('languageSwitchOverrides')\n handleAvailableLanguagesChange(newValue: string | IAvailableLanguage[]) {\n state.languageSwitchOverrides = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;\n }\n\n @Watch('osFlyoutOverrides')\n async handleOsFlyoutOverrides(newValue: string | NavMainEntity) {\n state.osFlyoutOverrides = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('activeRoute')\n async handleActiveRouteChange(newValue: string | ActiveRouteProp) {\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: newValue,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('customConfig')\n async handleCustomConfigChange(newValue: string | ICustomConfig) {\n if (this.language === undefined) return;\n const localizedCustomConfig = getLocalizedCustomConfig(newValue, this.language);\n state.localizedCustomConfig = localizedCustomConfig;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('search')\n handleSearchChange(newValue: boolean) {\n state.search = newValue;\n }\n\n @Watch('login')\n handleLoginChange(newValue: boolean) {\n state.login = newValue;\n }\n\n @Watch('meta')\n handleMetaChange(newValue: boolean) {\n state.meta = newValue;\n }\n\n @Listen('languageChanged')\n handleLanguageChangeEvent(event: CustomEvent<string>) {\n void this.handleLanguageChange(event.detail);\n }\n\n @Watch('stickyness')\n handleStickynessChange(newValue: StickynessOptions) {\n state.stickyness = newValue;\n if (typeof this.updateLogoAnimation === 'function') this.updateLogoAnimation();\n }\n\n private handleClickOutsideBound = this.handleClickOutside.bind(this);\n\n private handleClickOutside(event: Event) {\n // Close active dropdown element on click outside of it\n if (this.activeDropdownElement && !event.composedPath().includes(this.activeDropdownElement)) {\n void this.activeDropdownElement.toggleDropdown(false);\n }\n }\n\n private handleKeyUp(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n if (this.activeDropdownElement) {\n void this.activeDropdownElement.toggleDropdown(false);\n }\n if (this.activeFlyout !== null && this.mainNav) {\n void this.mainNav.toggleDropdown(false);\n }\n }\n }\n\n private handleScrollEvent() {\n // Credits: \"https://github.com/qeremy/so/blob/master/so.dom.js#L426\"\n const st =\n this.scrollParent instanceof Document\n ? this.scrollParent.documentElement.scrollTop\n : this.scrollParent.scrollTop;\n\n // Toggle class without re-rendering the component if stickyness is minimal\n // the other stickyness modes do not need the class\n if (this.stickyness === 'minimal') {\n this.host.classList.toggle('scrolling-up', st <= this.lastScrollTop);\n }\n\n // For Mobile or negative scrolling\n this.lastScrollTop = st <= 0 ? 0 : st;\n }\n\n private handleResize() {\n // Close main navigation dropdown if size changed to bigger than 1024px (search dropdown will be kept open)\n if (this.isMainNavOpen() && this.lastWindowWidth < 1024 && window.innerWidth >= 1024) {\n this.activeDropdownElement?.toggleDropdown(false);\n }\n\n this.lastWindowWidth = window.innerWidth;\n }\n\n /**\n * Close open dropdown menus if another is being opened\n *\n * @param event Dropdown toggled event\n * @returns void\n */\n private handleDropdownToggled(event: CustomEvent<DropdownEvent>) {\n if (!event.detail.open && this.activeDropdownElement !== event.detail.element) {\n // Some dropdown got closed programmatically (possibly by this function). To prevent\n // a circle or an outdated state, we'll not handle this event\n return;\n }\n\n if (event.detail.open) {\n if (this.activeDropdownElement) {\n void this.activeDropdownElement.toggleDropdown(false);\n }\n\n this.activeDropdownElement = event.detail.element;\n\n if (window.innerWidth >= 1024) {\n // Add event listener to close active dropdown element on click outside of it\n // Also adds 10ms delay in case of an external interaction:\n // Some button on the page calls toggleDropdown() -> dropdown opens\n // Click event bubbles to the window, this.handleClickOutsideBound closes dropdown again\n window.setTimeout(() => {\n window.addEventListener('click', this.handleClickOutsideBound);\n }, 10);\n }\n\n if (this.activeFlyout !== null && this.mainNav) {\n void this.mainNav.setActiveFlyout(null);\n }\n } else {\n this.activeDropdownElement = null;\n\n // Remove event listener as it is not needed if no dropdown element is active\n window.removeEventListener('click', this.handleClickOutsideBound);\n }\n }\n\n /**\n * Close open dropdowns if the flyout is being opened\n * @param event Flyout toggle event\n */\n private handleFlyoutToggled(event: CustomEvent<string | null>) {\n this.activeFlyout = event.detail;\n\n if (this.activeDropdownElement && event.detail && !this.isMainNavOpen()) {\n void this.activeDropdownElement.toggleDropdown(false);\n }\n }\n\n private toggleMobileDropdown() {\n this.mainNav?.toggleDropdown();\n }\n\n private isMainNavOpen() {\n return (\n this.activeDropdownElement && this.activeDropdownElement.tagName === 'POST-MAIN-NAVIGATION'\n );\n }\n\n render() {\n if (!state.localizedConfig?.header) {\n console.error(new Error('Internet Header: Config cannot be loaded'));\n return;\n }\n\n const config = state.localizedConfig;\n const renderMetaNavigation =\n this.meta &&\n config.header.navMeta !== undefined &&\n config.header.navMeta?.filter(meta => !meta.isHomeLink).length > 0;\n const renderLogin =\n (this.login ?? !config.header.isLoginWidgetHidden) && config.header.loginWidgetOptions;\n const renderLanguageSwitch = config.header.navLang.length > 1;\n\n return (\n <Host\n class={`stickyness-${this.stickyness} ${\n Boolean(this.activeDropdownElement) || Boolean(this.activeFlyout) ? 'dropdown-open' : ''\n }`}\n data-version={packageJson.version}\n onKeyup={(e: KeyboardEvent) => this.handleKeyUp(e)}\n >\n <header class={`post-internet-header${this.fullWidth ? ' full-width' : ''}`}>\n <SvgSprite />\n <h1 class=\"visually-hidden\">{translate('Navigate on post.ch')}</h1>\n <If condition={this.skiplinks}>\n <post-skiplinks></post-skiplinks>\n </If>\n <If condition={renderMetaNavigation}>\n <post-meta-navigation\n orientation=\"horizontal\"\n class=\"hidden-lg\"\n full-width={this.fullWidth}\n ref={el => (this.metaNav = el)}\n >\n <If condition={renderLanguageSwitch}>\n <post-language-switch\n id=\"post-language-switch-desktop\"\n mode=\"dropdown\"\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n ></post-language-switch>\n </If>\n </post-meta-navigation>\n </If>\n <div class=\"main-navigation-container wide-container\">\n <post-logo></post-logo>\n <button\n class=\"menu-button nav-link\"\n onClick={() => this.toggleMobileDropdown()}\n aria-haspopup=\"menu\"\n aria-controls=\"post-internet-header-main-navigation\"\n aria-expanded={this.activeDropdownElement ? 'true' : 'false'}\n >\n <span class=\"menu-button-text visually-hidden\">{config.header.mobileMenu.text}</span>\n <SvgIcon name={this.isMainNavOpen() ? 'pi-close' : 'pi-menu'}></SvgIcon>\n </button>\n <post-main-navigation\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n onFlyoutToggled={e => this.handleFlyoutToggled(e)}\n ref={el => (this.mainNav = el)}\n >\n <If condition={renderMetaNavigation}>\n <post-meta-navigation orientation=\"vertical\">\n <If condition={renderLanguageSwitch}>\n <post-language-switch\n id=\"post-language-switch-mobile\"\n mode=\"list\"\n ></post-language-switch>\n </If>\n </post-meta-navigation>\n </If>\n </post-main-navigation>\n <div class=\"main-navigation-controls\">\n <If condition={this.search}>\n <post-search onDropdownToggled={e => this.handleDropdownToggled(e)}></post-search>\n </If>\n <If condition={!!renderLogin}>\n <post-klp-login-widget logout-url={this.logoutUrl}>\n <slot name=\"login-widget\"></slot>\n </post-klp-login-widget>\n </If>\n <If condition={!renderMetaNavigation && renderLanguageSwitch}>\n <post-language-switch\n id=\"post-language-switch-no-meta\"\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n mode=\"dropdown\"\n ></post-language-switch>\n </If>\n <slot name=\"main\"></slot>\n </div>\n </div>\n </header>\n </Host>\n );\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import '../../assets/js/klp-login-widget.js';
1
+ import "../../assets/js/klp-login-widget.js";
2
2
  export const initializeKLPLoginWidget = (containerId, options) => {
3
3
  if (!options) {
4
4
  return;
@@ -1,15 +1,33 @@
1
- import { h, Host } from '@stencil/core';
2
- import { state } from '../../data/store';
3
- import { SvgSprite } from '../../utils/svg-sprite.component';
4
- import { SvgIcon } from '../../utils/svg-icon.component';
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s)
4
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ import { h, Host } from "@stencil/core";
14
+ import { state } from "../../data/store";
15
+ import { SvgSprite } from "../../utils/svg-sprite.component";
16
+ import { SvgIcon } from "../../utils/svg-icon.component";
5
17
  export class PostKlpLoginWidget {
18
+ constructor() {
19
+ this.logoutUrl = undefined;
20
+ }
6
21
  async componentDidLoad() {
7
22
  var _a, _b, _c, _d;
8
23
  if (((_b = (_a = state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header) === null || _b === void 0 ? void 0 : _b.showJobsLoginWidget) ||
9
24
  !((_d = (_c = state.localizedConfig) === null || _c === void 0 ? void 0 : _c.header) === null || _d === void 0 ? void 0 : _d.loginWidgetOptions))
10
25
  return;
11
26
  const { initializeKLPLoginWidget } = await import('./klp-widget.controller.js');
12
- initializeKLPLoginWidget('post-klp-login-widget', Object.assign(Object.assign({}, state.localizedConfig.header.loginWidgetOptions), { environment: state.environment }));
27
+ const _e = state.localizedConfig.header.loginWidgetOptions, { platform } = _e, widgetOptions = __rest(_e, ["platform"]);
28
+ initializeKLPLoginWidget('post-klp-login-widget', Object.assign(Object.assign(Object.assign({}, widgetOptions), { environment: state.environment }), (this.logoutUrl !== undefined
29
+ ? { platform: Object.assign(Object.assign({}, platform), { logoutURL: this.logoutUrl }) }
30
+ : { platform })));
13
31
  }
14
32
  /**
15
33
  * Sets the focus on the login button
@@ -42,6 +60,27 @@ export class PostKlpLoginWidget {
42
60
  "$": ["post-klp-login-widget.css"]
43
61
  };
44
62
  }
63
+ static get properties() {
64
+ return {
65
+ "logoutUrl": {
66
+ "type": "string",
67
+ "mutable": false,
68
+ "complexType": {
69
+ "original": "string",
70
+ "resolved": "string | undefined",
71
+ "references": {}
72
+ },
73
+ "required": false,
74
+ "optional": true,
75
+ "docs": {
76
+ "tags": [],
77
+ "text": "Override the logout-url provided by the portal config."
78
+ },
79
+ "attribute": "logout-url",
80
+ "reflect": false
81
+ }
82
+ };
83
+ }
45
84
  static get methods() {
46
85
  return {
47
86
  "setFocus": {
@@ -50,10 +89,12 @@ export class PostKlpLoginWidget {
50
89
  "parameters": [],
51
90
  "references": {
52
91
  "Promise": {
53
- "location": "global"
92
+ "location": "global",
93
+ "id": "global::Promise"
54
94
  },
55
95
  "HTMLElement": {
56
- "location": "global"
96
+ "location": "global",
97
+ "id": "global::HTMLElement"
57
98
  }
58
99
  },
59
100
  "return": "Promise<void>"
@@ -1 +1 @@
1
- {"version":3,"file":"post-klp-login-widget.js","sourceRoot":"","sources":["../../../../src/components/post-klp-login-widget/post-klp-login-widget.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAQzD,MAAM,OAAO,kBAAkB;EAG7B,KAAK,CAAC,gBAAgB;;IACpB,IACE,CAAA,MAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,0CAAE,mBAAmB;MAClD,CAAC,CAAA,MAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,0CAAE,kBAAkB,CAAA;MAElD,OAAO;IACT,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAChF,wBAAwB,CAAC,uBAAuB,kCAC3C,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,kBAAkB,KAClD,WAAW,EAAE,KAAK,CAAC,WAAW,IAC9B,CAAC;EACL,CAAC;EAED;;KAEG;EAEH,KAAK,CAAC,QAAQ;;IACZ,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,0CAAE,gBAAgB,CACxD,uEAAuE,CACxE,CAAC;IACF,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE;MACrC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;KACxB;EACH,CAAC;EAED,MAAM;;IACJ,IACE,CAAC,CAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,MAAM,0CAAE,kBAAkB,CAAA;MACnD,CAAC,CAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,MAAM,0CAAE,mBAAmB,CAAA,EACpD;MACA,OAAO,CAAC,IAAI,CACV,sHAAsH,KAAK,CAAC,SAAS,kHAAkH,CACxP,CAAC;MACF,OAAO,IAAI,CAAC;KACb;IACD,OAAO,CACL,EAAC,IAAI;MACH,EAAC,SAAS,OAAG;MACb,WAAK,KAAK,EAAC,gBAAgB,8BACxB,CAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,MAAM,0CAAE,mBAAmB,EAAC,CAAC,CAAC,CACrD,SACE,EAAE,EAAC,uBAAuB,EAC1B,KAAK,EAAC,cAAc,EACpB,IAAI,EAAE,MAAA,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,kBAAkB,0CAAE,WAAW;QAElE,YAAM,KAAK,EAAC,iBAAiB,IAC1B,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,CACrD;QACP,EAAC,OAAO,IAAC,IAAI,EAAC,UAAU,GAAG,CACzB,CACL,CAAC,CAAC,CAAC,CACF,WAAK,EAAE,EAAC,uBAAuB,GAAO,CACvC,CACG,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, h, Host, Method } from '@stencil/core';\nimport { state } from '../../data/store';\nimport { IsFocusable } from '../../models/header.model';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\n\n@Component({\n tag: 'post-klp-login-widget',\n styleUrl: 'post-klp-login-widget.scss',\n scoped: false,\n shadow: true,\n})\nexport class PostKlpLoginWidget implements IsFocusable {\n @Element() host: HTMLPostKlpLoginWidgetElement;\n\n async componentDidLoad() {\n if (\n state.localizedConfig?.header?.showJobsLoginWidget ||\n !state.localizedConfig?.header?.loginWidgetOptions\n )\n return;\n const { initializeKLPLoginWidget } = await import('./klp-widget.controller.js');\n initializeKLPLoginWidget('post-klp-login-widget', {\n ...state.localizedConfig.header.loginWidgetOptions,\n environment: state.environment,\n });\n }\n\n /**\n * Sets the focus on the login button\n */\n @Method()\n async setFocus() {\n const loginButton = this.host.shadowRoot?.querySelectorAll<HTMLElement>(\n '.klp-widget-anonymous__wrapper a, .klp-widget-authenticated-session a',\n );\n if (loginButton && loginButton.length) {\n loginButton[0].focus();\n }\n }\n\n render() {\n if (\n !state?.localizedConfig?.header?.loginWidgetOptions &&\n !state?.localizedConfig?.header?.showJobsLoginWidget\n ) {\n console.warn(\n `Internet Header: the login widget is not configured in your portal config. Use <swisspost-internet-header project=\"${state.projectId}\" login=\"false\"></swisspost-internet-header> to turn off the login widget or configure it via the portal config.`,\n );\n return null;\n }\n return (\n <Host>\n <SvgSprite />\n <div class=\"widget-wrapper\" data-hj-suppress>\n {state?.localizedConfig?.header?.showJobsLoginWidget ? (\n <a\n id=\"post-klp-login-widget\"\n class=\"login-button\"\n href={state.localizedConfig.header.loginWidgetOptions?.appLoginUrl}\n >\n <span class=\"visually-hidden\">\n {state.localizedConfig.header.translations.loginWidgetText}\n </span>\n <SvgIcon name=\"pi-login\" />\n </a>\n ) : (\n <div id=\"post-klp-login-widget\"></div>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"post-klp-login-widget.js","sourceRoot":"","sources":["../../../../src/components/post-klp-login-widget/post-klp-login-widget.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAQzD,MAAM,OAAO,kBAAkB;;;;EAQ7B,KAAK,CAAC,gBAAgB;;IACpB,IACE,CAAA,MAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,0CAAE,mBAAmB;MAClD,CAAC,CAAA,MAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,0CAAE,kBAAkB,CAAA;MAElD,OAAO;IACT,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAChF,MAAM,KAAiC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,kBAAkB,EAAhF,EAAE,QAAQ,OAAsE,EAAjE,aAAa,cAA5B,YAA8B,CAAkD,CAAC;IACvF,wBAAwB,CAAC,uBAAuB,gDAC3C,aAAa,KAChB,WAAW,EAAE,KAAK,CAAC,WAAW,KAC3B,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS;MAC9B,CAAC,CAAC,EAAE,QAAQ,kCAAO,QAAQ,KAAE,SAAS,EAAE,IAAI,CAAC,SAAS,GAAE,EAAE;MAC1D,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EACjB,CAAC;EACL,CAAC;EAED;;KAEG;EAEH,KAAK,CAAC,QAAQ;;IACZ,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,0CAAE,gBAAgB,CACxD,uEAAuE,CACxE,CAAC;IACF,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE;MACrC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;KACxB;EACH,CAAC;EAED,MAAM;;IACJ,IACE,CAAC,CAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,MAAM,0CAAE,kBAAkB,CAAA;MACnD,CAAC,CAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,MAAM,0CAAE,mBAAmB,CAAA,EACpD;MACA,OAAO,CAAC,IAAI,CACV,sHAAsH,KAAK,CAAC,SAAS,kHAAkH,CACxP,CAAC;MACF,OAAO,IAAI,CAAC;KACb;IACD,OAAO,CACL,EAAC,IAAI;MACH,EAAC,SAAS,OAAG;MACb,WAAK,KAAK,EAAC,gBAAgB,8BACxB,CAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,MAAM,0CAAE,mBAAmB,EAAC,CAAC,CAAC,CACrD,SACE,EAAE,EAAC,uBAAuB,EAC1B,KAAK,EAAC,cAAc,EACpB,IAAI,EAAE,MAAA,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,kBAAkB,0CAAE,WAAW;QAElE,YAAM,KAAK,EAAC,iBAAiB,IAC1B,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,CACrD;QACP,EAAC,OAAO,IAAC,IAAI,EAAC,UAAU,GAAG,CACzB,CACL,CAAC,CAAC,CAAC,CACF,WAAK,EAAE,EAAC,uBAAuB,GAAO,CACvC,CACG,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, h, Host, Method, Prop } from '@stencil/core';\nimport { state } from '../../data/store';\nimport { IsFocusable } from '../../models/header.model';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\n\n@Component({\n tag: 'post-klp-login-widget',\n styleUrl: 'post-klp-login-widget.scss',\n scoped: false,\n shadow: true,\n})\nexport class PostKlpLoginWidget implements IsFocusable {\n @Element() host: HTMLPostKlpLoginWidgetElement;\n\n /**\n * Override the logout-url provided by the portal config.\n */\n @Prop() logoutUrl?: string;\n\n async componentDidLoad() {\n if (\n state.localizedConfig?.header?.showJobsLoginWidget ||\n !state.localizedConfig?.header?.loginWidgetOptions\n )\n return;\n const { initializeKLPLoginWidget } = await import('./klp-widget.controller.js');\n const { platform, ...widgetOptions } = state.localizedConfig.header.loginWidgetOptions;\n initializeKLPLoginWidget('post-klp-login-widget', {\n ...widgetOptions,\n environment: state.environment,\n ...(this.logoutUrl !== undefined\n ? { platform: { ...platform, logoutURL: this.logoutUrl } }\n : { platform }),\n });\n }\n\n /**\n * Sets the focus on the login button\n */\n @Method()\n async setFocus() {\n const loginButton = this.host.shadowRoot?.querySelectorAll<HTMLElement>(\n '.klp-widget-anonymous__wrapper a, .klp-widget-authenticated-session a',\n );\n if (loginButton && loginButton.length) {\n loginButton[0].focus();\n }\n }\n\n render() {\n if (\n !state?.localizedConfig?.header?.loginWidgetOptions &&\n !state?.localizedConfig?.header?.showJobsLoginWidget\n ) {\n console.warn(\n `Internet Header: the login widget is not configured in your portal config. Use <swisspost-internet-header project=\"${state.projectId}\" login=\"false\"></swisspost-internet-header> to turn off the login widget or configure it via the portal config.`,\n );\n return null;\n }\n return (\n <Host>\n <SvgSprite />\n <div class=\"widget-wrapper\" data-hj-suppress>\n {state?.localizedConfig?.header?.showJobsLoginWidget ? (\n <a\n id=\"post-klp-login-widget\"\n class=\"login-button\"\n href={state.localizedConfig.header.loginWidgetOptions?.appLoginUrl}\n >\n <span class=\"visually-hidden\">\n {state.localizedConfig.header.translations.loginWidgetText}\n </span>\n <SvgIcon name=\"pi-login\" />\n </a>\n ) : (\n <div id=\"post-klp-login-widget\"></div>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
- import { h } from '@stencil/core';
2
- import { translate } from '../../../services/language.service';
3
- import { state } from '../../../data/store';
1
+ import { h } from "@stencil/core";
2
+ import { translate } from "../../../services/language.service";
3
+ import { state } from "../../../data/store";
4
4
  export const PostLanguageSwitchList = (props) => {
5
5
  var _a;
6
6
  if (((_a = state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header) === undefined)
@@ -1,10 +1,10 @@
1
- import { h, Host, } from '@stencil/core';
2
- import { SvgSprite } from '../../utils/svg-sprite.component';
3
- import { SvgIcon } from '../../utils/svg-icon.component';
4
- import { state } from '../../data/store';
5
- import { elementHasTransition, userPrefersReducedMotion } from '../../services/ui.service';
6
- import { translate } from '../../services/language.service';
7
- import { PostLanguageSwitchList } from './components/post-language-switch-list';
1
+ import { h, Host, } from "@stencil/core";
2
+ import { SvgSprite } from "../../utils/svg-sprite.component";
3
+ import { SvgIcon } from "../../utils/svg-icon.component";
4
+ import { state } from "../../data/store";
5
+ import { elementHasTransition, userPrefersReducedMotion } from "../../services/ui.service";
6
+ import { translate } from "../../services/language.service";
7
+ import { PostLanguageSwitchList } from "./components/post-language-switch-list";
8
8
  export class PostLanguageSwitch {
9
9
  constructor() {
10
10
  this.mode = undefined;
@@ -128,7 +128,8 @@ export class PostLanguageSwitch {
128
128
  "references": {
129
129
  "DropdownEvent": {
130
130
  "location": "import",
131
- "path": "../../models/header.model"
131
+ "path": "../../models/header.model",
132
+ "id": "src/models/header.model.ts::DropdownEvent"
132
133
  }
133
134
  }
134
135
  }
@@ -163,7 +164,8 @@ export class PostLanguageSwitch {
163
164
  }],
164
165
  "references": {
165
166
  "Promise": {
166
- "location": "global"
167
+ "location": "global",
168
+ "id": "global::Promise"
167
169
  }
168
170
  },
169
171
  "return": "Promise<boolean>"
@@ -1 +1 @@
1
- {"version":3,"file":"post-language-switch.js","sourceRoot":"","sources":["../../../../src/components/post-language-switch/post-language-switch.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n} from '@stencil/core';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { state } from '../../data/store';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n NavLangEntity,\n} from '../../models/header.model';\nimport { elementHasTransition, userPrefersReducedMotion } from '../../services/ui.service';\nimport { translate } from '../../services/language.service';\nimport { PostLanguageSwitchList } from './components/post-language-switch-list';\nimport { IAvailableLanguage } from '../../models/language.model';\n\n@Component({\n tag: 'post-language-switch',\n styleUrl: 'post-language-switch.scss',\n shadow: true,\n})\nexport class PostLanguageSwitch implements HasDropdown {\n @Prop() mode: 'dropdown' | 'list';\n @State() langSwitchOpen = false;\n @Element() host: DropdownElement;\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\n @Event({ bubbles: true }) languageChanged: EventEmitter<string>;\n private languageSwitchDropdown: HTMLElement | undefined;\n\n componentWillUpdate() {\n // Check if language switch got set to close and if mode is dropdown\n if (this.languageSwitchDropdown && !this.langSwitchOpen && this.mode == 'dropdown') {\n this.languageSwitchDropdown.classList.remove('open');\n\n // Check if element has transition applied and whether user prefers to see animations or not\n if (\n elementHasTransition(this.languageSwitchDropdown, 'transform') &&\n !userPrefersReducedMotion()\n ) {\n // Wait for CSS transition 'transform' to end before continuing\n return new Promise<boolean>(resolve => {\n this.languageSwitchDropdown?.addEventListener('transitionend', event => {\n if (event.propertyName === 'transform') {\n resolve(true);\n }\n });\n });\n }\n }\n }\n\n componentDidUpdate() {\n // Language switch got set to open\n if (this.languageSwitchDropdown && this.langSwitchOpen) {\n // Force browser to redraw/refresh DOM before adding 'open' class\n this.languageSwitchDropdown.getBoundingClientRect();\n this.languageSwitchDropdown.classList.add('open');\n }\n }\n\n /**\n * Open or close the language switch programatically\n * @param force Boolean to force a state\n * @returns Boolean indicating new state\n */\n @Method()\n async toggleDropdown(force?: boolean) {\n this.langSwitchOpen = force ?? !this.langSwitchOpen;\n this.dropdownToggled.emit({ open: this.langSwitchOpen, element: this.host });\n return this.langSwitchOpen;\n }\n\n /**\n * Emit a language change to the parent component\n *\n * @param newLang Config of the new language\n */\n switchLanguage(newLang: NavLangEntity) {\n this.languageChanged.emit(newLang.lang);\n this.toggleDropdown(false);\n }\n\n private getMergedLanguageConfig(config: NavLangEntity[], overrides?: IAvailableLanguage[]) {\n if (overrides === undefined) {\n return config;\n }\n\n return config.map(langConfig =>\n Object.assign(\n {},\n langConfig,\n overrides.find(l => l.lang === langConfig.lang),\n ),\n );\n }\n\n private setDropdownRef(element: HTMLElement | undefined) {\n this.languageSwitchDropdown = element;\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) return;\n const config = state.localizedConfig.header;\n const mergedConfig = this.getMergedLanguageConfig(\n config.navLang,\n state.languageSwitchOverrides,\n );\n\n return (\n <Host>\n <div class={`language-switch ${this.mode}`}>\n <SvgSprite />\n {this.mode === 'dropdown' ? (\n <button\n class=\"lang-btn\"\n aria-expanded={`${this.langSwitchOpen}`}\n aria-haspopup=\"listbox\"\n onClick={() => this.toggleDropdown()}\n >\n <span class=\"visually-hidden\">\n {config.translations.navLangAriaLabel}, {translate('Current language is English')}\n </span>\n <span aria-hidden=\"true\">{state.currentLanguage}</span>\n <SvgIcon name=\"pi-arrow-down\" classNames={this.langSwitchOpen ? 'rotated' : ''} />\n </button>\n ) : (\n <span class=\"bold current-language\">\n <span class=\"visually-hidden\">{translate('Current language is English')}</span>\n <span>{state.currentLanguage}</span>\n </span>\n )}\n {this.langSwitchOpen || this.mode === 'list' ? (\n <PostLanguageSwitchList\n navLang={mergedConfig}\n switchLanguage={e => this.switchLanguage(e)}\n dropdownRef={e => e !== undefined && this.setDropdownRef(e)}\n />\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"post-language-switch.js","sourceRoot":"","sources":["../../../../src/components/post-language-switch/post-language-switch.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n} from '@stencil/core';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { state } from '../../data/store';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n NavLangEntity,\n} from '../../models/header.model';\nimport { elementHasTransition, userPrefersReducedMotion } from '../../services/ui.service';\nimport { translate } from '../../services/language.service';\nimport { PostLanguageSwitchList } from './components/post-language-switch-list';\nimport { IAvailableLanguage } from '../../models/language.model';\n\n@Component({\n tag: 'post-language-switch',\n styleUrl: 'post-language-switch.scss',\n shadow: true,\n})\nexport class PostLanguageSwitch implements HasDropdown {\n @Prop() mode: 'dropdown' | 'list';\n @State() langSwitchOpen = false;\n @Element() host: DropdownElement;\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\n @Event({ bubbles: true }) languageChanged: EventEmitter<string>;\n private languageSwitchDropdown: HTMLElement | undefined;\n\n componentWillUpdate() {\n // Check if language switch got set to close and if mode is dropdown\n if (this.languageSwitchDropdown && !this.langSwitchOpen && this.mode == 'dropdown') {\n this.languageSwitchDropdown.classList.remove('open');\n\n // Check if element has transition applied and whether user prefers to see animations or not\n if (\n elementHasTransition(this.languageSwitchDropdown, 'transform') &&\n !userPrefersReducedMotion()\n ) {\n // Wait for CSS transition 'transform' to end before continuing\n return new Promise<boolean>(resolve => {\n this.languageSwitchDropdown?.addEventListener('transitionend', event => {\n if (event.propertyName === 'transform') {\n resolve(true);\n }\n });\n });\n }\n }\n }\n\n componentDidUpdate() {\n // Language switch got set to open\n if (this.languageSwitchDropdown && this.langSwitchOpen) {\n // Force browser to redraw/refresh DOM before adding 'open' class\n this.languageSwitchDropdown.getBoundingClientRect();\n this.languageSwitchDropdown.classList.add('open');\n }\n }\n\n /**\n * Open or close the language switch programatically\n * @param force Boolean to force a state\n * @returns Boolean indicating new state\n */\n @Method()\n async toggleDropdown(force?: boolean) {\n this.langSwitchOpen = force ?? !this.langSwitchOpen;\n this.dropdownToggled.emit({ open: this.langSwitchOpen, element: this.host });\n return this.langSwitchOpen;\n }\n\n /**\n * Emit a language change to the parent component\n *\n * @param newLang Config of the new language\n */\n switchLanguage(newLang: NavLangEntity) {\n this.languageChanged.emit(newLang.lang);\n this.toggleDropdown(false);\n }\n\n private getMergedLanguageConfig(config: NavLangEntity[], overrides?: IAvailableLanguage[]) {\n if (overrides === undefined) {\n return config;\n }\n\n return config.map(langConfig =>\n Object.assign(\n {},\n langConfig,\n overrides.find(l => l.lang === langConfig.lang),\n ),\n );\n }\n\n private setDropdownRef(element: HTMLElement | undefined) {\n this.languageSwitchDropdown = element;\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) return;\n const config = state.localizedConfig.header;\n const mergedConfig = this.getMergedLanguageConfig(\n config.navLang,\n state.languageSwitchOverrides,\n );\n\n return (\n <Host>\n <div class={`language-switch ${this.mode}`}>\n <SvgSprite />\n {this.mode === 'dropdown' ? (\n <button\n class=\"lang-btn\"\n aria-expanded={`${this.langSwitchOpen}`}\n aria-haspopup=\"listbox\"\n onClick={() => this.toggleDropdown()}\n >\n <span class=\"visually-hidden\">\n {config.translations.navLangAriaLabel}, {translate('Current language is English')}\n </span>\n <span aria-hidden=\"true\">{state.currentLanguage}</span>\n <SvgIcon name=\"pi-arrow-down\" classNames={this.langSwitchOpen ? 'rotated' : ''} />\n </button>\n ) : (\n <span class=\"bold current-language\">\n <span class=\"visually-hidden\">{translate('Current language is English')}</span>\n <span>{state.currentLanguage}</span>\n </span>\n )}\n {this.langSwitchOpen || this.mode === 'list' ? (\n <PostLanguageSwitchList\n navLang={mergedConfig}\n switchLanguage={e => this.switchLanguage(e)}\n dropdownRef={e => e !== undefined && this.setDropdownRef(e)}\n />\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { Host, h } from '@stencil/core';
2
- import { state } from '../../data/store';
1
+ import { Host, h } from "@stencil/core";
2
+ import { state } from "../../data/store";
3
3
  export class PostLogo {
4
4
  render() {
5
5
  var _a;
@@ -1,5 +1,5 @@
1
- import { h } from '@stencil/core';
2
- import { translate } from '../../../services/language.service';
1
+ import { h } from "@stencil/core";
2
+ import { translate } from "../../../services/language.service";
3
3
  export const LevelOneAction = (props) => {
4
4
  var _a, _b, _c;
5
5
  const TagName = props.level.url ? 'a' : 'button';
@@ -1,11 +1,11 @@
1
- import { h, Host } from '@stencil/core';
2
- import { throttle } from 'throttle-debounce';
3
- import { state } from '../../data/store';
4
- import { userPrefersReducedMotion } from '../../services/ui.service';
5
- import { translate } from '../../services/language.service';
6
- import { SvgSprite } from '../../utils/svg-sprite.component';
7
- import { SvgIcon } from '../../utils/svg-icon.component';
8
- import { LevelOneAction } from './components/level-one-action.component';
1
+ import { h, Host } from "@stencil/core";
2
+ import { throttle } from "throttle-debounce";
3
+ import { state } from "../../data/store";
4
+ import { userPrefersReducedMotion } from "../../services/ui.service";
5
+ import { translate } from "../../services/language.service";
6
+ import { SvgSprite } from "../../utils/svg-sprite.component";
7
+ import { SvgIcon } from "../../utils/svg-icon.component";
8
+ import { LevelOneAction } from "./components/level-one-action.component";
9
9
  export class PostMainNavigation {
10
10
  constructor() {
11
11
  this.resizeTimer = null;
@@ -243,7 +243,8 @@ export class PostMainNavigation {
243
243
  "references": {
244
244
  "DropdownEvent": {
245
245
  "location": "import",
246
- "path": "../../models/header.model"
246
+ "path": "../../models/header.model",
247
+ "id": "src/models/header.model.ts::DropdownEvent"
247
248
  }
248
249
  }
249
250
  }
@@ -278,7 +279,8 @@ export class PostMainNavigation {
278
279
  }],
279
280
  "references": {
280
281
  "Promise": {
281
- "location": "global"
282
+ "location": "global",
283
+ "id": "global::Promise"
282
284
  }
283
285
  },
284
286
  "return": "Promise<boolean>"
@@ -300,10 +302,12 @@ export class PostMainNavigation {
300
302
  "parameters": [],
301
303
  "references": {
302
304
  "Promise": {
303
- "location": "global"
305
+ "location": "global",
306
+ "id": "global::Promise"
304
307
  },
305
308
  "HTMLElement": {
306
- "location": "global"
309
+ "location": "global",
310
+ "id": "global::HTMLElement"
307
311
  }
308
312
  },
309
313
  "return": "Promise<void>"
@@ -325,7 +329,8 @@ export class PostMainNavigation {
325
329
  }],
326
330
  "references": {
327
331
  "Promise": {
328
- "location": "global"
332
+ "location": "global",
333
+ "id": "global::Promise"
329
334
  }
330
335
  },
331
336
  "return": "Promise<void>"