@swisspost/internet-header 1.11.0 → 1.12.1

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 (351) 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/{klp-widget.controller-7908f551.js → klp-widget.controller-59fd5d5e.js} +1 -1
  6. package/dist/cjs/{klp-widget.controller-7908f551.js.map → klp-widget.controller-59fd5d5e.js.map} +1 -1
  7. package/dist/cjs/{language.service-0864d021.js → language.service-dbe2a435.js} +6 -6
  8. package/dist/cjs/language.service-dbe2a435.js.map +1 -0
  9. package/dist/cjs/loader.cjs.js +3 -12
  10. package/dist/cjs/loader.cjs.js.map +1 -1
  11. package/dist/cjs/post-klp-login-widget.cjs.entry.js +22 -6
  12. package/dist/cjs/post-klp-login-widget.cjs.entry.js.map +1 -1
  13. package/dist/cjs/post-language-switch.cjs.entry.js +6 -6
  14. package/dist/cjs/post-language-switch.cjs.entry.js.map +1 -1
  15. package/dist/cjs/post-logo.cjs.entry.js +2 -2
  16. package/dist/cjs/post-logo.cjs.entry.js.map +1 -1
  17. package/dist/cjs/post-main-navigation.cjs.entry.js +6 -6
  18. package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -1
  19. package/dist/cjs/post-meta-navigation.cjs.entry.js +2 -2
  20. package/dist/cjs/post-meta-navigation.cjs.entry.js.map +1 -1
  21. package/dist/cjs/post-search.cjs.entry.js +8 -8
  22. package/dist/cjs/post-search.cjs.entry.js.map +1 -1
  23. package/dist/cjs/post-skiplinks.cjs.entry.js +4 -4
  24. package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -1
  25. package/dist/cjs/{store-b99affc1.js → store-77668e50.js} +2 -2
  26. package/dist/cjs/store-77668e50.js.map +1 -0
  27. package/dist/cjs/{svg-icon.component-8e05af84.js → svg-icon.component-5965f301.js} +2 -2
  28. package/dist/cjs/svg-icon.component-5965f301.js.map +1 -0
  29. package/dist/cjs/{svg-sprite.component-f1866070.js → svg-sprite.component-4b5677ef.js} +2 -2
  30. package/dist/cjs/svg-sprite.component-4b5677ef.js.map +1 -0
  31. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +6 -6
  32. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
  33. package/dist/cjs/swisspost-internet-footer.cjs.entry.js +4 -4
  34. package/dist/cjs/swisspost-internet-footer.cjs.entry.js.map +1 -1
  35. package/dist/cjs/swisspost-internet-header.cjs.entry.js +26 -25
  36. package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
  37. package/dist/cjs/swisspost-internet-header.cjs.js +3 -6
  38. package/dist/cjs/swisspost-internet-header.cjs.js.map +1 -1
  39. package/dist/cjs/{ui.service-e1ebb6d4.js → ui.service-488151be.js} +1 -1
  40. package/dist/cjs/ui.service-488151be.js.map +1 -0
  41. package/dist/cjs/{utils-60853c5d.js → utils-717975e0.js} +1 -1
  42. package/dist/cjs/utils-717975e0.js.map +1 -0
  43. package/dist/collection/collection-manifest.json +12 -12
  44. package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js +4 -4
  45. package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js +2 -2
  46. package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js +4 -4
  47. package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js +2 -2
  48. package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js +3 -3
  49. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +16 -13
  50. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js.map +1 -1
  51. package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js +2 -2
  52. package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js +1 -1
  53. package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js +1 -1
  54. package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js +1 -1
  55. package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js +1 -1
  56. package/dist/collection/components/post-internet-footer/post-internet-footer.js +8 -8
  57. package/dist/collection/components/post-internet-header/logo-animation/logo-animation.js +3 -3
  58. package/dist/collection/components/post-internet-header/post-internet-header.js +42 -18
  59. package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -1
  60. package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js +1 -1
  61. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js +48 -7
  62. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js.map +1 -1
  63. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js +3 -3
  64. package/dist/collection/components/post-language-switch/post-language-switch.js +11 -9
  65. package/dist/collection/components/post-language-switch/post-language-switch.js.map +1 -1
  66. package/dist/collection/components/post-logo/post-logo.js +2 -2
  67. package/dist/collection/components/post-main-navigation/components/level-one-action.component.js +2 -2
  68. package/dist/collection/components/post-main-navigation/post-main-navigation.js +18 -13
  69. package/dist/collection/components/post-main-navigation/post-main-navigation.js.map +1 -1
  70. package/dist/collection/components/post-meta-navigation/post-meta-navigation.js +2 -2
  71. package/dist/collection/components/post-search/post-search.css +16 -1
  72. package/dist/collection/components/post-search/post-search.js +22 -18
  73. package/dist/collection/components/post-search/post-search.js.map +1 -1
  74. package/dist/collection/components/post-skiplinks/post-skiplinks.js +4 -4
  75. package/dist/collection/data/store.js +1 -1
  76. package/dist/collection/services/config.service.js +10 -10
  77. package/dist/collection/services/config.service.js.map +1 -1
  78. package/dist/collection/services/language.service.js +6 -6
  79. package/dist/collection/services/language.service.js.map +1 -1
  80. package/dist/collection/services/route.service.js +4 -4
  81. package/dist/collection/services/route.service.js.map +1 -1
  82. package/dist/collection/services/search/coveo.service.js +3 -3
  83. package/dist/collection/services/search/parcel.service.js +1 -1
  84. package/dist/collection/services/search/places.service.js +3 -3
  85. package/dist/collection/services/search/search.service.js +2 -2
  86. package/dist/collection/utils/highlighted.component.js +1 -1
  87. package/dist/collection/utils/svg-icon.component.js +1 -1
  88. package/dist/collection/utils/svg-sprite.component.js +1 -1
  89. package/dist/components/index.d.ts +6 -0
  90. package/dist/components/index.js +1 -1
  91. package/dist/components/klp-widget.controller.js.map +1 -1
  92. package/dist/components/language.service.js +4 -4
  93. package/dist/components/language.service.js.map +1 -1
  94. package/dist/components/post-klp-login-widget2.js +18 -1
  95. package/dist/components/post-klp-login-widget2.js.map +1 -1
  96. package/dist/components/post-language-switch2.js.map +1 -1
  97. package/dist/components/post-logo2.js.map +1 -1
  98. package/dist/components/post-main-navigation2.js.map +1 -1
  99. package/dist/components/post-meta-navigation2.js.map +1 -1
  100. package/dist/components/post-search2.js +1 -1
  101. package/dist/components/post-search2.js.map +1 -1
  102. package/dist/components/post-skiplinks2.js.map +1 -1
  103. package/dist/components/store.js.map +1 -1
  104. package/dist/components/svg-icon.component.js.map +1 -1
  105. package/dist/components/svg-sprite.component.js.map +1 -1
  106. package/dist/components/swisspost-internet-breadcrumbs.js +2 -0
  107. package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
  108. package/dist/components/swisspost-internet-footer.js.map +1 -1
  109. package/dist/components/swisspost-internet-header.js +31 -19
  110. package/dist/components/swisspost-internet-header.js.map +1 -1
  111. package/dist/components/ui.service.js.map +1 -1
  112. package/dist/components/utils.js.map +1 -1
  113. package/dist/docs.d.ts +334 -235
  114. package/dist/docs.json +461 -15
  115. package/dist/esm/{if.component-0fe54385.js → if.component-3a779aca.js} +1 -1
  116. package/dist/esm/if.component-3a779aca.js.map +1 -0
  117. package/dist/esm/{index-82f4f02c.js → index-2b83f5e9.js} +197 -43
  118. package/dist/esm/index-2b83f5e9.js.map +1 -0
  119. package/dist/esm/{klp-widget.controller-30d47ff4.js → klp-widget.controller-2a0a5183.js} +1 -1
  120. package/dist/esm/{klp-widget.controller-30d47ff4.js.map → klp-widget.controller-2a0a5183.js.map} +1 -1
  121. package/dist/esm/{language.service-109c485e.js → language.service-501b09a8.js} +6 -6
  122. package/dist/esm/language.service-501b09a8.js.map +1 -0
  123. package/dist/esm/loader.js +4 -13
  124. package/dist/esm/loader.js.map +1 -1
  125. package/dist/esm/post-klp-login-widget.entry.js +22 -6
  126. package/dist/esm/post-klp-login-widget.entry.js.map +1 -1
  127. package/dist/esm/post-language-switch.entry.js +6 -6
  128. package/dist/esm/post-language-switch.entry.js.map +1 -1
  129. package/dist/esm/post-logo.entry.js +2 -2
  130. package/dist/esm/post-logo.entry.js.map +1 -1
  131. package/dist/esm/post-main-navigation.entry.js +6 -6
  132. package/dist/esm/post-main-navigation.entry.js.map +1 -1
  133. package/dist/esm/post-meta-navigation.entry.js +2 -2
  134. package/dist/esm/post-meta-navigation.entry.js.map +1 -1
  135. package/dist/esm/post-search.entry.js +8 -8
  136. package/dist/esm/post-search.entry.js.map +1 -1
  137. package/dist/esm/post-skiplinks.entry.js +4 -4
  138. package/dist/esm/post-skiplinks.entry.js.map +1 -1
  139. package/dist/esm/{store-44830922.js → store-80b19c12.js} +2 -2
  140. package/dist/esm/store-80b19c12.js.map +1 -0
  141. package/dist/esm/{svg-icon.component-f2fda279.js → svg-icon.component-7295f7cc.js} +2 -2
  142. package/dist/esm/svg-icon.component-7295f7cc.js.map +1 -0
  143. package/dist/esm/{svg-sprite.component-c140294e.js → svg-sprite.component-29439a18.js} +2 -2
  144. package/dist/esm/svg-sprite.component-29439a18.js.map +1 -0
  145. package/dist/esm/swisspost-internet-breadcrumbs.entry.js +6 -6
  146. package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  147. package/dist/esm/swisspost-internet-footer.entry.js +4 -4
  148. package/dist/esm/swisspost-internet-footer.entry.js.map +1 -1
  149. package/dist/esm/swisspost-internet-header.entry.js +26 -25
  150. package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
  151. package/dist/esm/swisspost-internet-header.js +4 -7
  152. package/dist/esm/swisspost-internet-header.js.map +1 -1
  153. package/dist/esm/{ui.service-2fbc9c45.js → ui.service-a71cf490.js} +1 -1
  154. package/dist/esm/ui.service-a71cf490.js.map +1 -0
  155. package/dist/esm/{utils-ee79122f.js → utils-3a8ff48f.js} +1 -1
  156. package/dist/esm/utils-3a8ff48f.js.map +1 -0
  157. package/dist/esm-es5/bodyScrollLock.esm-afcc00e3.js +1 -1
  158. package/dist/esm-es5/bodyScrollLock.esm-afcc00e3.js.map +1 -1
  159. package/dist/esm-es5/if.component-3a779aca.js +2 -0
  160. package/dist/esm-es5/index-2b83f5e9.js +2 -0
  161. package/dist/esm-es5/index-2b83f5e9.js.map +1 -0
  162. package/dist/esm-es5/index-d2256e06.js +1 -1
  163. package/dist/esm-es5/klp-widget.controller-2a0a5183.js +13 -0
  164. package/dist/esm-es5/{klp-widget.controller-30d47ff4.js.map → klp-widget.controller-2a0a5183.js.map} +1 -1
  165. package/dist/esm-es5/language.service-501b09a8.js +2 -0
  166. package/dist/esm-es5/language.service-501b09a8.js.map +1 -0
  167. package/dist/esm-es5/loader.js +1 -1
  168. package/dist/esm-es5/loader.js.map +1 -1
  169. package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
  170. package/dist/esm-es5/post-klp-login-widget.entry.js.map +1 -1
  171. package/dist/esm-es5/post-language-switch.entry.js +1 -1
  172. package/dist/esm-es5/post-logo.entry.js +1 -1
  173. package/dist/esm-es5/post-main-navigation.entry.js +1 -1
  174. package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
  175. package/dist/esm-es5/post-search.entry.js +1 -1
  176. package/dist/esm-es5/post-search.entry.js.map +1 -1
  177. package/dist/esm-es5/post-skiplinks.entry.js +1 -1
  178. package/dist/esm-es5/store-80b19c12.js +2 -0
  179. package/dist/esm-es5/store-80b19c12.js.map +1 -0
  180. package/dist/esm-es5/{svg-icon.component-f2fda279.js → svg-icon.component-7295f7cc.js} +2 -2
  181. package/dist/esm-es5/{svg-sprite.component-c140294e.js → svg-sprite.component-29439a18.js} +2 -2
  182. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +2 -2
  183. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  184. package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
  185. package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
  186. package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
  187. package/dist/esm-es5/swisspost-internet-header.js +1 -1
  188. package/dist/esm-es5/swisspost-internet-header.js.map +1 -1
  189. package/dist/esm-es5/{ui.service-2fbc9c45.js → ui.service-a71cf490.js} +2 -2
  190. package/dist/esm-es5/{utils-ee79122f.js → utils-3a8ff48f.js} +1 -1
  191. package/dist/swisspost-internet-header/{p-334412b2.entry.js → p-04b1cab7.entry.js} +2 -2
  192. package/dist/swisspost-internet-header/p-04b1cab7.entry.js.map +1 -0
  193. package/dist/swisspost-internet-header/p-069dbe32.entry.js +2 -0
  194. package/dist/swisspost-internet-header/p-069dbe32.entry.js.map +1 -0
  195. package/dist/swisspost-internet-header/{p-0c5624c0.system.js → p-0e776d6e.system.js} +2 -2
  196. package/dist/swisspost-internet-header/{p-142627fa.entry.js → p-21d8e5bc.entry.js} +2 -2
  197. package/dist/swisspost-internet-header/p-21d8e5bc.entry.js.map +1 -0
  198. package/dist/swisspost-internet-header/p-2470951e.js +2 -0
  199. package/dist/swisspost-internet-header/p-2470951e.js.map +1 -0
  200. package/dist/swisspost-internet-header/{p-77426673.entry.js → p-2e334cfc.entry.js} +2 -2
  201. package/dist/swisspost-internet-header/p-2e334cfc.entry.js.map +1 -0
  202. package/dist/swisspost-internet-header/{p-8bf099a8.js → p-3339310e.js} +1 -1
  203. package/dist/swisspost-internet-header/p-3339310e.js.map +1 -0
  204. package/dist/swisspost-internet-header/p-50da051d.system.entry.js +7 -0
  205. package/dist/swisspost-internet-header/{p-0352b702.system.entry.js.map → p-50da051d.system.entry.js.map} +1 -1
  206. package/dist/swisspost-internet-header/{p-66d1bf9a.js → p-5a897619.js} +2 -2
  207. package/dist/swisspost-internet-header/p-5a897619.js.map +1 -0
  208. package/dist/swisspost-internet-header/p-5adcdd91.system.js +2 -0
  209. package/dist/swisspost-internet-header/p-5adcdd91.system.js.map +1 -0
  210. package/dist/swisspost-internet-header/{p-8120031d.system.entry.js → p-5ec6e2de.system.entry.js} +2 -2
  211. package/dist/swisspost-internet-header/{p-b762fba9.js → p-60ea6000.js} +2 -2
  212. package/dist/swisspost-internet-header/p-60ea6000.js.map +1 -0
  213. package/dist/swisspost-internet-header/{p-b5937320.entry.js → p-61074cb4.entry.js} +2 -2
  214. package/dist/swisspost-internet-header/p-61074cb4.entry.js.map +1 -0
  215. package/dist/swisspost-internet-header/{p-459c3983.js → p-624d732c.js} +2 -2
  216. package/dist/swisspost-internet-header/p-624d732c.js.map +1 -0
  217. package/dist/swisspost-internet-header/{p-d4106bf6.system.entry.js → p-62ae68ad.system.entry.js} +2 -2
  218. package/dist/swisspost-internet-header/{p-334616bc.system.entry.js → p-64b3fabe.system.entry.js} +2 -2
  219. package/dist/swisspost-internet-header/p-64b3fabe.system.entry.js.map +1 -0
  220. package/dist/swisspost-internet-header/p-65cd41a6.system.entry.js +2 -0
  221. package/dist/swisspost-internet-header/p-65cd41a6.system.entry.js.map +1 -0
  222. package/dist/swisspost-internet-header/p-6b18b251.system.entry.js +2 -0
  223. package/dist/swisspost-internet-header/{p-10bfe973.system.entry.js.map → p-6b18b251.system.entry.js.map} +1 -1
  224. package/dist/swisspost-internet-header/{p-fb82b748.system.js → p-74fea9b8.system.js} +2 -2
  225. package/dist/swisspost-internet-header/{p-37872478.entry.js → p-76e3cd9c.entry.js} +2 -2
  226. package/dist/swisspost-internet-header/p-76e3cd9c.entry.js.map +1 -0
  227. package/dist/swisspost-internet-header/p-986a52bc.system.js +2 -0
  228. package/dist/swisspost-internet-header/{p-312fcf55.system.entry.js → p-9acc06ba.system.entry.js} +2 -2
  229. package/dist/swisspost-internet-header/p-9af33755.system.js +2 -0
  230. package/dist/swisspost-internet-header/p-9af33755.system.js.map +1 -0
  231. package/dist/swisspost-internet-header/p-9b4d5e90.system.js +1 -1
  232. package/dist/swisspost-internet-header/p-9c385f74.system.js +3 -0
  233. package/dist/swisspost-internet-header/p-9c385f74.system.js.map +1 -0
  234. package/dist/swisspost-internet-header/{p-0216631b.system.entry.js → p-9d827167.system.entry.js} +2 -2
  235. package/dist/swisspost-internet-header/{p-c291d766.system.entry.js → p-a097e677.system.entry.js} +2 -2
  236. package/dist/swisspost-internet-header/p-a119b38d.js.map +1 -1
  237. package/dist/swisspost-internet-header/p-a7de7323.system.js +2 -0
  238. package/dist/swisspost-internet-header/{p-194475b8.system.js → p-ad9a417b.system.js} +2 -2
  239. package/dist/swisspost-internet-header/p-ad9a417b.system.js.map +1 -0
  240. package/dist/swisspost-internet-header/p-b3014611.system.js +1 -1
  241. package/dist/swisspost-internet-header/p-b3014611.system.js.map +1 -1
  242. package/dist/swisspost-internet-header/p-b3ad4f8a.entry.js +2 -0
  243. package/dist/swisspost-internet-header/p-b3ad4f8a.entry.js.map +1 -0
  244. package/dist/swisspost-internet-header/{p-0e4299a3.entry.js → p-b8368eca.entry.js} +2 -2
  245. package/dist/swisspost-internet-header/p-b8368eca.entry.js.map +1 -0
  246. package/dist/swisspost-internet-header/{p-45db66a6.js → p-bbfd407b.js} +1 -1
  247. package/dist/swisspost-internet-header/p-bbfd407b.js.map +1 -0
  248. package/dist/swisspost-internet-header/p-bcd01683.system.js +13 -0
  249. package/dist/swisspost-internet-header/{p-b4c0cb5a.system.js.map → p-bcd01683.system.js.map} +1 -1
  250. package/dist/swisspost-internet-header/p-c201f1b3.system.entry.js +2 -0
  251. package/dist/swisspost-internet-header/{p-a2f9d462.js → p-cf06f703.js} +1 -1
  252. package/dist/swisspost-internet-header/p-cf06f703.js.map +1 -0
  253. package/dist/swisspost-internet-header/{p-4da084d9.entry.js → p-d2fd2ff6.entry.js} +2 -2
  254. package/dist/swisspost-internet-header/p-d2fd2ff6.entry.js.map +1 -0
  255. package/dist/swisspost-internet-header/{p-935c70e1.js → p-dc8296bd.js} +2 -2
  256. package/dist/swisspost-internet-header/p-dc8296bd.js.map +1 -0
  257. package/dist/swisspost-internet-header/p-e2e1c5d4.js +3 -0
  258. package/dist/swisspost-internet-header/p-e2e1c5d4.js.map +1 -0
  259. package/dist/swisspost-internet-header/{p-edb2802d.system.js → p-f2a43ce2.system.js} +1 -1
  260. package/dist/swisspost-internet-header/{p-cfc4dbfd.entry.js → p-f5a1e4a6.entry.js} +2 -2
  261. package/dist/swisspost-internet-header/p-f5a1e4a6.entry.js.map +1 -0
  262. package/dist/swisspost-internet-header/p-f887c8bb.system.js +1 -1
  263. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
  264. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js.map +1 -1
  265. package/dist/swisspost-internet-header/swisspost-internet-header.js +2 -6
  266. package/dist/types/components/post-internet-header/post-internet-header.d.ts +4 -0
  267. package/dist/types/components/post-klp-login-widget/post-klp-login-widget.d.ts +4 -0
  268. package/dist/types/components.d.ts +62 -0
  269. package/dist/types/stencil-public-runtime.d.ts +38 -5
  270. package/loader/index.d.ts +1 -1
  271. package/package.json +6 -6
  272. package/dist/cjs/if.component-51d000af.js.map +0 -1
  273. package/dist/cjs/index-87874f19.js.map +0 -1
  274. package/dist/cjs/language.service-0864d021.js.map +0 -1
  275. package/dist/cjs/store-b99affc1.js.map +0 -1
  276. package/dist/cjs/svg-icon.component-8e05af84.js.map +0 -1
  277. package/dist/cjs/svg-sprite.component-f1866070.js.map +0 -1
  278. package/dist/cjs/ui.service-e1ebb6d4.js.map +0 -1
  279. package/dist/cjs/utils-60853c5d.js.map +0 -1
  280. package/dist/esm/if.component-0fe54385.js.map +0 -1
  281. package/dist/esm/index-82f4f02c.js.map +0 -1
  282. package/dist/esm/language.service-109c485e.js.map +0 -1
  283. package/dist/esm/polyfills/css-shim.js +0 -1
  284. package/dist/esm/store-44830922.js.map +0 -1
  285. package/dist/esm/svg-icon.component-f2fda279.js.map +0 -1
  286. package/dist/esm/svg-sprite.component-c140294e.js.map +0 -1
  287. package/dist/esm/ui.service-2fbc9c45.js.map +0 -1
  288. package/dist/esm/utils-ee79122f.js.map +0 -1
  289. package/dist/esm-es5/if.component-0fe54385.js +0 -2
  290. package/dist/esm-es5/index-82f4f02c.js +0 -2
  291. package/dist/esm-es5/index-82f4f02c.js.map +0 -1
  292. package/dist/esm-es5/klp-widget.controller-30d47ff4.js +0 -13
  293. package/dist/esm-es5/language.service-109c485e.js +0 -2
  294. package/dist/esm-es5/language.service-109c485e.js.map +0 -1
  295. package/dist/esm-es5/store-44830922.js +0 -2
  296. package/dist/esm-es5/store-44830922.js.map +0 -1
  297. package/dist/swisspost-internet-header/p-0352b702.system.entry.js +0 -7
  298. package/dist/swisspost-internet-header/p-0e4299a3.entry.js.map +0 -1
  299. package/dist/swisspost-internet-header/p-10bfe973.system.entry.js +0 -2
  300. package/dist/swisspost-internet-header/p-11d05acc.js +0 -2
  301. package/dist/swisspost-internet-header/p-11d05acc.js.map +0 -1
  302. package/dist/swisspost-internet-header/p-142627fa.entry.js.map +0 -1
  303. package/dist/swisspost-internet-header/p-194475b8.system.js.map +0 -1
  304. package/dist/swisspost-internet-header/p-1a526dc3.system.entry.js +0 -2
  305. package/dist/swisspost-internet-header/p-1a526dc3.system.entry.js.map +0 -1
  306. package/dist/swisspost-internet-header/p-1d455921.system.js +0 -3
  307. package/dist/swisspost-internet-header/p-1d455921.system.js.map +0 -1
  308. package/dist/swisspost-internet-header/p-1ec4e0ee.system.js +0 -2
  309. package/dist/swisspost-internet-header/p-1ec4e0ee.system.js.map +0 -1
  310. package/dist/swisspost-internet-header/p-28bcc0a1.entry.js +0 -2
  311. package/dist/swisspost-internet-header/p-28bcc0a1.entry.js.map +0 -1
  312. package/dist/swisspost-internet-header/p-334412b2.entry.js.map +0 -1
  313. package/dist/swisspost-internet-header/p-334616bc.system.entry.js.map +0 -1
  314. package/dist/swisspost-internet-header/p-37872478.entry.js.map +0 -1
  315. package/dist/swisspost-internet-header/p-459c3983.js.map +0 -1
  316. package/dist/swisspost-internet-header/p-45db66a6.js.map +0 -1
  317. package/dist/swisspost-internet-header/p-4da084d9.entry.js.map +0 -1
  318. package/dist/swisspost-internet-header/p-55bfdf22.system.js +0 -2
  319. package/dist/swisspost-internet-header/p-5d893017.system.js +0 -2
  320. package/dist/swisspost-internet-header/p-5d893017.system.js.map +0 -1
  321. package/dist/swisspost-internet-header/p-66d1bf9a.js.map +0 -1
  322. package/dist/swisspost-internet-header/p-77426673.entry.js.map +0 -1
  323. package/dist/swisspost-internet-header/p-7ddfd160.entry.js +0 -2
  324. package/dist/swisspost-internet-header/p-7ddfd160.entry.js.map +0 -1
  325. package/dist/swisspost-internet-header/p-88aac12c.system.js +0 -2
  326. package/dist/swisspost-internet-header/p-8bf099a8.js.map +0 -1
  327. package/dist/swisspost-internet-header/p-8e0a4d18.js +0 -3
  328. package/dist/swisspost-internet-header/p-8e0a4d18.js.map +0 -1
  329. package/dist/swisspost-internet-header/p-935c70e1.js.map +0 -1
  330. package/dist/swisspost-internet-header/p-95a1384f.system.entry.js +0 -2
  331. package/dist/swisspost-internet-header/p-a2f9d462.js.map +0 -1
  332. package/dist/swisspost-internet-header/p-b4c0cb5a.system.js +0 -13
  333. package/dist/swisspost-internet-header/p-b5937320.entry.js.map +0 -1
  334. package/dist/swisspost-internet-header/p-b762fba9.js.map +0 -1
  335. package/dist/swisspost-internet-header/p-cfc4dbfd.entry.js.map +0 -1
  336. /package/dist/esm-es5/{if.component-0fe54385.js.map → if.component-3a779aca.js.map} +0 -0
  337. /package/dist/esm-es5/{svg-icon.component-f2fda279.js.map → svg-icon.component-7295f7cc.js.map} +0 -0
  338. /package/dist/esm-es5/{svg-sprite.component-c140294e.js.map → svg-sprite.component-29439a18.js.map} +0 -0
  339. /package/dist/esm-es5/{ui.service-2fbc9c45.js.map → ui.service-a71cf490.js.map} +0 -0
  340. /package/dist/esm-es5/{utils-ee79122f.js.map → utils-3a8ff48f.js.map} +0 -0
  341. /package/dist/swisspost-internet-header/{p-0c5624c0.system.js.map → p-0e776d6e.system.js.map} +0 -0
  342. /package/dist/swisspost-internet-header/{p-8120031d.system.entry.js.map → p-5ec6e2de.system.entry.js.map} +0 -0
  343. /package/dist/swisspost-internet-header/{p-d4106bf6.system.entry.js.map → p-62ae68ad.system.entry.js.map} +0 -0
  344. /package/dist/swisspost-internet-header/{p-fb82b748.system.js.map → p-74fea9b8.system.js.map} +0 -0
  345. /package/dist/swisspost-internet-header/{p-88aac12c.system.js.map → p-986a52bc.system.js.map} +0 -0
  346. /package/dist/swisspost-internet-header/{p-312fcf55.system.entry.js.map → p-9acc06ba.system.entry.js.map} +0 -0
  347. /package/dist/swisspost-internet-header/{p-0216631b.system.entry.js.map → p-9d827167.system.entry.js.map} +0 -0
  348. /package/dist/swisspost-internet-header/{p-c291d766.system.entry.js.map → p-a097e677.system.entry.js.map} +0 -0
  349. /package/dist/swisspost-internet-header/{p-55bfdf22.system.js.map → p-a7de7323.system.js.map} +0 -0
  350. /package/dist/swisspost-internet-header/{p-95a1384f.system.entry.js.map → p-c201f1b3.system.entry.js.map} +0 -0
  351. /package/dist/swisspost-internet-header/{p-edb2802d.system.js.map → p-f2a43ce2.system.js.map} +0 -0
@@ -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":"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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 * 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":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,GACN,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAOzC,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAQhF,MAAM,OAAO,kBAAkB;;;0BAEH,KAAK;;EAM/B,mBAAmB;IACjB,oEAAoE;IACpE,IAAI,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;MAClF,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;MAErD,4FAA4F;MAC5F,IACE,oBAAoB,CAAC,IAAI,CAAC,sBAAsB,EAAE,WAAW,CAAC;QAC9D,CAAC,wBAAwB,EAAE,EAC3B;QACA,+DAA+D;QAC/D,OAAO,IAAI,OAAO,CAAU,OAAO,CAAC,EAAE;;UACpC,MAAA,IAAI,CAAC,sBAAsB,0CAAE,gBAAgB,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE;YACrE,IAAI,KAAK,CAAC,YAAY,KAAK,WAAW,EAAE;cACtC,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;UACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;OACJ;KACF;EACH,CAAC;EAED,kBAAkB;IAChB,kCAAkC;IAClC,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,cAAc,EAAE;MACtD,iEAAiE;MACjE,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,EAAE,CAAC;MACpD,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;KACnD;EACH,CAAC;EAED;;;;KAIG;EAEH,KAAK,CAAC,cAAc,CAAC,KAAe;IAClC,IAAI,CAAC,cAAc,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC,IAAI,CAAC,cAAc,CAAC;IACpD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7E,OAAO,IAAI,CAAC,cAAc,CAAC;EAC7B,CAAC;EAED;;;;KAIG;EACH,cAAc,CAAC,OAAsB;IACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;EAC7B,CAAC;EAEO,uBAAuB,CAAC,MAAuB,EAAE,SAAgC;IACvF,IAAI,SAAS,KAAK,SAAS,EAAE;MAC3B,OAAO,MAAM,CAAC;KACf;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAC7B,MAAM,CAAC,MAAM,CACX,EAAE,EACF,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,CAChD,CACF,CAAC;EACJ,CAAC;EAEO,cAAc,CAAC,OAAgC;IACrD,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC;EACxC,CAAC;EAED,MAAM;;IACJ,IAAI,CAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,MAAK,SAAS;MAAE,OAAO;IACxD,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC;IAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAC/C,MAAM,CAAC,OAAO,EACd,KAAK,CAAC,uBAAuB,CAC9B,CAAC;IAEF,OAAO,CACL,EAAC,IAAI;MACH,WAAK,KAAK,EAAE,mBAAmB,IAAI,CAAC,IAAI,EAAE;QACxC,EAAC,SAAS,OAAG;QACZ,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAC1B,cACE,KAAK,EAAC,UAAU,mBACD,GAAG,IAAI,CAAC,cAAc,EAAE,mBACzB,SAAS,EACvB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;UAEpC,YAAM,KAAK,EAAC,iBAAiB;YAC1B,MAAM,CAAC,YAAY,CAAC,gBAAgB;;YAAI,SAAS,CAAC,6BAA6B,CAAC,CAC5E;UACP,2BAAkB,MAAM,IAAE,KAAK,CAAC,eAAe,CAAQ;UACvD,EAAC,OAAO,IAAC,IAAI,EAAC,eAAe,EAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAI,CAC3E,CACV,CAAC,CAAC,CAAC,CACF,YAAM,KAAK,EAAC,uBAAuB;UACjC,YAAM,KAAK,EAAC,iBAAiB,IAAE,SAAS,CAAC,6BAA6B,CAAC,CAAQ;UAC/E,gBAAO,KAAK,CAAC,eAAe,CAAQ,CAC/B,CACR;QACA,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAC7C,EAAC,sBAAsB,IACrB,OAAO,EAAE,YAAY,EACrB,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAC3C,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAC3D,CACH,CAAC,CAAC,CAAC,IAAI,CACJ,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","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>"
@@ -1 +1 @@
1
- {"version":3,"file":"post-main-navigation.js","sourceRoot":"","sources":["../../../../src/components/post-main-navigation/post-main-navigation.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Host, Method, State } from '@stencil/core';\nimport { throttle } from 'throttle-debounce';\nimport { state } from '../../data/store';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n IsFocusable,\n NavMainEntity,\n} from '../../models/header.model';\nimport { userPrefersReducedMotion } from '../../services/ui.service';\nimport { translate } from '../../services/language.service';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { LevelOneAction } from './components/level-one-action.component';\n\n@Component({\n tag: 'post-main-navigation',\n styleUrl: 'post-main-navigation.scss',\n shadow: true,\n})\nexport class PostMainNavigation implements HasDropdown, IsFocusable {\n @State() activeFlyout: string | null;\n @State() mobileMenuOpen: boolean;\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\n @Event() flyoutToggled: EventEmitter<string | null>;\n @Element() host: DropdownElement;\n private throttledResize: throttle<() => void>;\n private resizeTimer: number | null = null;\n private mouseLeaveTimer: number | null = null;\n private mouseEnterTimer: number | null = null;\n\n connectedCallback() {\n this.throttledResize = throttle(300, () => this.handleResize());\n window.addEventListener('resize', this.throttledResize, { passive: true });\n this.setWindowHeight();\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.throttledResize);\n if (this.mouseEnterTimer !== null) window.clearTimeout(this.mouseEnterTimer);\n if (this.mouseLeaveTimer !== null) window.clearTimeout(this.mouseLeaveTimer);\n }\n\n handleResize() {\n // Suspend all animations and transitions on window resize\n this.host.classList.add('no-animation');\n if (this.resizeTimer !== null) window.clearTimeout(this.resizeTimer);\n this.resizeTimer = window.setTimeout(() => {\n this.host.classList.remove('no-animation');\n }, 300);\n\n this.setWindowHeight();\n }\n\n // Update window height var\n setWindowHeight() {\n if (!this.host) {\n return;\n }\n this.host.style.setProperty('--window-height', `${window.innerHeight}px`);\n\n // Safari might or might not show a blank bar at the bottom where the browser\n // controls should be. This timeout waits for this bar to appear before resetting the available height\n window.setTimeout(() => {\n this.host.style.setProperty('--window-height', `${window.innerHeight}px`);\n }, 100);\n }\n\n openFlyout(id: string) {\n const flyout = this.host.shadowRoot?.getElementById(id);\n\n if (flyout && this.activeFlyout !== '') {\n // Add flyout animation if there's no flyout open\n this.addFlyoutAnimation(flyout, 'expand');\n }\n\n this.activeFlyout = id;\n this.flyoutToggled.emit(id);\n this.setWindowHeight();\n\n if (this.mouseLeaveTimer !== null) {\n window.clearTimeout(this.mouseLeaveTimer);\n this.mouseLeaveTimer = null;\n }\n }\n\n closeFlyout(id?: string, manageFocus = true) {\n if (id === undefined) return;\n const flyout = this.host.shadowRoot?.getElementById(id);\n\n if (flyout) {\n // Add flyout animation for close action\n this.addFlyoutAnimation(flyout, 'collapse', manageFocus);\n }\n\n this.activeFlyout = null;\n this.flyoutToggled.emit();\n }\n\n addFlyoutAnimation(flyout: HTMLElement, direction?: 'expand' | 'collapse', manageFocus = true) {\n // Check if user prefers to see animations or not\n if (!userPrefersReducedMotion()) {\n flyout.classList.add('animate');\n\n // Remove flyout animation after transition ended\n flyout.addEventListener(\n 'transitionend',\n () => {\n if (manageFocus) {\n if (direction === 'expand') {\n flyout.querySelector<HTMLElement>('button.flyout-back-button')?.focus();\n } else if (direction === 'collapse') {\n flyout.parentElement?.querySelector<HTMLElement>('a.main-link')?.focus();\n }\n }\n\n flyout.classList.remove('animate');\n },\n {\n once: true,\n },\n );\n }\n }\n\n isActiveFlyout(id?: string) {\n return id === this.activeFlyout;\n }\n\n handleMouseEnter(level: NavMainEntity) {\n // Cancel opening the flyout if there already is one scheduled to open\n if (this.mouseEnterTimer !== null) {\n window.clearTimeout(this.mouseEnterTimer);\n this.mouseEnterTimer = null;\n }\n\n // Cancel closing if we enter again\n if (this.mouseLeaveTimer && this.activeFlyout === level.id) {\n window.clearTimeout(this.mouseLeaveTimer);\n this.mouseLeaveTimer = null;\n }\n\n if (window.innerWidth >= 1024 && level.flyout.length > 0 && this.activeFlyout !== level.id) {\n // Delay opening the flyout for a moment to give users a chance to move the mouse over the navigation without triggering the flyout\n this.mouseEnterTimer = window.setTimeout(() => {\n this.mouseEnterTimer = null;\n if (level.id !== undefined) this.openFlyout(level.id);\n }, 200);\n }\n }\n\n handleMouseLeave(level: NavMainEntity) {\n // Cancel opening the flyout if a mouseleave event happens before the flyout opened\n if (this.mouseEnterTimer !== null) {\n window.clearTimeout(this.mouseEnterTimer);\n }\n\n // Don't close an open flyout if the mouseleave is from another mainnav entry\n if (this.activeFlyout && this.activeFlyout !== level.id) {\n return;\n }\n\n if (window.innerWidth >= 1024 && level.flyout.length > 0) {\n // Allow the pointer to shortly leave the flyout without closing it. This\n // allows for user mistakes and makes the experience less nervous\n this.mouseLeaveTimer = window.setTimeout(() => {\n this.closeFlyout(level.id, false);\n }, 300);\n }\n }\n\n handleTouchEnd(event: TouchEvent, level: NavMainEntity) {\n if (!this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first touchstart and has a flyout, prevent link activation and open the flyout\n if (event.cancelable) event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n handleKeyPress(event: KeyboardEvent, level: NavMainEntity) {\n if (event.key === 'Enter' && !this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first enter keypress and has a flyout, prevent link activation and open the flyout\n event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n handleClick(event: MouseEvent, level: NavMainEntity) {\n if (!this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first click, always open the flyout, never the link\n // This is relevant for desktop with active screenreader which\n // translates an enter keypress to a click\n event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n /**\n * Toggle the main navigation (only visible on mobile)\n * @param force Force a state\n * @returns Boolean indicating new state\n */\n @Method()\n async toggleDropdown(force?: boolean) {\n this.mobileMenuOpen = force === undefined ? !this.mobileMenuOpen : force;\n this.dropdownToggled.emit({ open: this.mobileMenuOpen, element: this.host });\n\n if (force === false) {\n this.closeFlyout();\n }\n\n this.setWindowHeight();\n\n return this.mobileMenuOpen;\n }\n\n /**\n * Focus the main navigation toggle button\n */\n @Method()\n async setFocus() {\n const firstLink = this.host.shadowRoot?.querySelector<HTMLElement>('.main-link');\n if (firstLink) {\n firstLink.focus();\n }\n }\n\n /**\n * Open a specific flyout\n * @param id Flyout ID\n */\n @Method()\n async setActiveFlyout(id: string | null) {\n this.activeFlyout = id;\n this.flyoutToggled.emit(this.activeFlyout);\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) return;\n const headerConfig = state.localizedConfig.header;\n\n return (\n <Host>\n <SvgSprite />\n <nav\n aria-label={headerConfig.translations.navMainAriaLabel}\n id=\"post-internet-header-main-navigation\"\n class={{ 'main-navigation': true, 'open': this.mobileMenuOpen }}\n role=\"menu\"\n >\n <ul class=\"main-container container\">\n {headerConfig.navMain.map(levelOne => (\n <li\n key={levelOne.text}\n onMouseLeave={() => this.handleMouseLeave(levelOne)}\n onMouseEnter={() => this.handleMouseEnter(levelOne)}\n >\n <LevelOneAction\n level={levelOne}\n isOpen={this.isActiveFlyout(levelOne.id)}\n onTouchEnd={e => this.handleTouchEnd(e, levelOne)}\n onKeyDown={e => this.handleKeyPress(e, levelOne)}\n onClick={e => this.handleClick(e, levelOne)}\n />\n {!levelOne.noFlyout ? renderLevelOneFlyout.bind(this)(levelOne) : null}\n </li>\n ))}\n </ul>\n <slot></slot>\n </nav>\n </Host>\n );\n\n function renderLevelOneFlyout(levelOne: NavMainEntity) {\n return (\n <div id={levelOne.id} class={{ flyout: true, open: this.isActiveFlyout(levelOne.id) }}>\n <div class=\"wide-container\">\n <div class=\"flyout-nav\">\n <button\n class=\"nav-link flyout-back-button\"\n onClick={() => this.closeFlyout(levelOne.id)}\n >\n <SvgIcon name=\"pi-pointy-arrow-right\" classNames=\"mirrored\" />\n <span>{headerConfig.translations.backButtonText}</span>\n </button>\n <button class=\"flyout-close-button\" onClick={() => this.closeFlyout(levelOne.id)}>\n <span class=\"visually-hidden\">\n {levelOne.text}, {headerConfig.translations.mobileNavToggleClose}\n </span>\n <SvgIcon name=\"pi-close\" />\n </button>\n </div>\n <h2 class=\"flyout-title container\">\n <a href={levelOne.url} class=\"nav-link\">\n {levelOne.text}\n </a>\n </h2>\n <div class=\"flyout-row container\">\n {levelOne.flyout.map((flyout, i) => (\n <div key={flyout.title} class=\"flyout-column\">\n {flyout.title ? <h3 id={`${levelOne.id}-column-${i}`}>{flyout.title}</h3> : null}\n <ul\n class=\"flyout-linklist\"\n aria-labelledby={flyout.title ? `${levelOne.id}-column-${i}` : undefined}\n >\n {flyout.linkList.map(link => (\n <li key={link.url}>\n <a\n class={{\n 'flyout-link': true,\n 'active': !!link?.isActiveOverride,\n }}\n href={link.url}\n target={link.target}\n >\n {link.title}\n {link?.isActiveOverride ? (\n <span class=\"visually-hidden\">\n , {translate('Active navigation element')}\n </span>\n ) : null}\n </a>\n </li>\n ))}\n </ul>\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n }\n }\n}\n"]}
1
+ {"version":3,"file":"post-main-navigation.js","sourceRoot":"","sources":["../../../../src/components/post-main-navigation/post-main-navigation.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Host, Method, State } from '@stencil/core';\nimport { throttle } from 'throttle-debounce';\nimport { state } from '../../data/store';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n IsFocusable,\n NavMainEntity,\n} from '../../models/header.model';\nimport { userPrefersReducedMotion } from '../../services/ui.service';\nimport { translate } from '../../services/language.service';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { LevelOneAction } from './components/level-one-action.component';\n\n@Component({\n tag: 'post-main-navigation',\n styleUrl: 'post-main-navigation.scss',\n shadow: true,\n})\nexport class PostMainNavigation implements HasDropdown, IsFocusable {\n @State() activeFlyout: string | null;\n @State() mobileMenuOpen: boolean;\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\n @Event() flyoutToggled: EventEmitter<string | null>;\n @Element() host: DropdownElement;\n private throttledResize: throttle<() => void>;\n private resizeTimer: number | null = null;\n private mouseLeaveTimer: number | null = null;\n private mouseEnterTimer: number | null = null;\n\n connectedCallback() {\n this.throttledResize = throttle(300, () => this.handleResize());\n window.addEventListener('resize', this.throttledResize, { passive: true });\n this.setWindowHeight();\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.throttledResize);\n if (this.mouseEnterTimer !== null) window.clearTimeout(this.mouseEnterTimer);\n if (this.mouseLeaveTimer !== null) window.clearTimeout(this.mouseLeaveTimer);\n }\n\n handleResize() {\n // Suspend all animations and transitions on window resize\n this.host.classList.add('no-animation');\n if (this.resizeTimer !== null) window.clearTimeout(this.resizeTimer);\n this.resizeTimer = window.setTimeout(() => {\n this.host.classList.remove('no-animation');\n }, 300);\n\n this.setWindowHeight();\n }\n\n // Update window height var\n setWindowHeight() {\n if (!this.host) {\n return;\n }\n this.host.style.setProperty('--window-height', `${window.innerHeight}px`);\n\n // Safari might or might not show a blank bar at the bottom where the browser\n // controls should be. This timeout waits for this bar to appear before resetting the available height\n window.setTimeout(() => {\n this.host.style.setProperty('--window-height', `${window.innerHeight}px`);\n }, 100);\n }\n\n openFlyout(id: string) {\n const flyout = this.host.shadowRoot?.getElementById(id);\n\n if (flyout && this.activeFlyout !== '') {\n // Add flyout animation if there's no flyout open\n this.addFlyoutAnimation(flyout, 'expand');\n }\n\n this.activeFlyout = id;\n this.flyoutToggled.emit(id);\n this.setWindowHeight();\n\n if (this.mouseLeaveTimer !== null) {\n window.clearTimeout(this.mouseLeaveTimer);\n this.mouseLeaveTimer = null;\n }\n }\n\n closeFlyout(id?: string, manageFocus = true) {\n if (id === undefined) return;\n const flyout = this.host.shadowRoot?.getElementById(id);\n\n if (flyout) {\n // Add flyout animation for close action\n this.addFlyoutAnimation(flyout, 'collapse', manageFocus);\n }\n\n this.activeFlyout = null;\n this.flyoutToggled.emit();\n }\n\n addFlyoutAnimation(flyout: HTMLElement, direction?: 'expand' | 'collapse', manageFocus = true) {\n // Check if user prefers to see animations or not\n if (!userPrefersReducedMotion()) {\n flyout.classList.add('animate');\n\n // Remove flyout animation after transition ended\n flyout.addEventListener(\n 'transitionend',\n () => {\n if (manageFocus) {\n if (direction === 'expand') {\n flyout.querySelector<HTMLElement>('button.flyout-back-button')?.focus();\n } else if (direction === 'collapse') {\n flyout.parentElement?.querySelector<HTMLElement>('a.main-link')?.focus();\n }\n }\n\n flyout.classList.remove('animate');\n },\n {\n once: true,\n },\n );\n }\n }\n\n isActiveFlyout(id?: string) {\n return id === this.activeFlyout;\n }\n\n handleMouseEnter(level: NavMainEntity) {\n // Cancel opening the flyout if there already is one scheduled to open\n if (this.mouseEnterTimer !== null) {\n window.clearTimeout(this.mouseEnterTimer);\n this.mouseEnterTimer = null;\n }\n\n // Cancel closing if we enter again\n if (this.mouseLeaveTimer && this.activeFlyout === level.id) {\n window.clearTimeout(this.mouseLeaveTimer);\n this.mouseLeaveTimer = null;\n }\n\n if (window.innerWidth >= 1024 && level.flyout.length > 0 && this.activeFlyout !== level.id) {\n // Delay opening the flyout for a moment to give users a chance to move the mouse over the navigation without triggering the flyout\n this.mouseEnterTimer = window.setTimeout(() => {\n this.mouseEnterTimer = null;\n if (level.id !== undefined) this.openFlyout(level.id);\n }, 200);\n }\n }\n\n handleMouseLeave(level: NavMainEntity) {\n // Cancel opening the flyout if a mouseleave event happens before the flyout opened\n if (this.mouseEnterTimer !== null) {\n window.clearTimeout(this.mouseEnterTimer);\n }\n\n // Don't close an open flyout if the mouseleave is from another mainnav entry\n if (this.activeFlyout && this.activeFlyout !== level.id) {\n return;\n }\n\n if (window.innerWidth >= 1024 && level.flyout.length > 0) {\n // Allow the pointer to shortly leave the flyout without closing it. This\n // allows for user mistakes and makes the experience less nervous\n this.mouseLeaveTimer = window.setTimeout(() => {\n this.closeFlyout(level.id, false);\n }, 300);\n }\n }\n\n handleTouchEnd(event: TouchEvent, level: NavMainEntity) {\n if (!this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first touchstart and has a flyout, prevent link activation and open the flyout\n if (event.cancelable) event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n handleKeyPress(event: KeyboardEvent, level: NavMainEntity) {\n if (event.key === 'Enter' && !this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first enter keypress and has a flyout, prevent link activation and open the flyout\n event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n handleClick(event: MouseEvent, level: NavMainEntity) {\n if (!this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first click, always open the flyout, never the link\n // This is relevant for desktop with active screenreader which\n // translates an enter keypress to a click\n event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n /**\n * Toggle the main navigation (only visible on mobile)\n * @param force Force a state\n * @returns Boolean indicating new state\n */\n @Method()\n async toggleDropdown(force?: boolean) {\n this.mobileMenuOpen = force === undefined ? !this.mobileMenuOpen : force;\n this.dropdownToggled.emit({ open: this.mobileMenuOpen, element: this.host });\n\n if (force === false) {\n this.closeFlyout();\n }\n\n this.setWindowHeight();\n\n return this.mobileMenuOpen;\n }\n\n /**\n * Focus the main navigation toggle button\n */\n @Method()\n async setFocus() {\n const firstLink = this.host.shadowRoot?.querySelector<HTMLElement>('.main-link');\n if (firstLink) {\n firstLink.focus();\n }\n }\n\n /**\n * Open a specific flyout\n * @param id Flyout ID\n */\n @Method()\n async setActiveFlyout(id: string | null) {\n this.activeFlyout = id;\n this.flyoutToggled.emit(this.activeFlyout);\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) return;\n const headerConfig = state.localizedConfig.header;\n\n return (\n <Host>\n <SvgSprite />\n <nav\n aria-label={headerConfig.translations.navMainAriaLabel}\n id=\"post-internet-header-main-navigation\"\n class={{ 'main-navigation': true, 'open': this.mobileMenuOpen }}\n role=\"menu\"\n >\n <ul class=\"main-container container\">\n {headerConfig.navMain.map(levelOne => (\n <li\n key={levelOne.text}\n onMouseLeave={() => this.handleMouseLeave(levelOne)}\n onMouseEnter={() => this.handleMouseEnter(levelOne)}\n >\n <LevelOneAction\n level={levelOne}\n isOpen={this.isActiveFlyout(levelOne.id)}\n onTouchEnd={e => this.handleTouchEnd(e, levelOne)}\n onKeyDown={e => this.handleKeyPress(e, levelOne)}\n onClick={e => this.handleClick(e, levelOne)}\n />\n {!levelOne.noFlyout ? renderLevelOneFlyout.bind(this)(levelOne) : null}\n </li>\n ))}\n </ul>\n <slot></slot>\n </nav>\n </Host>\n );\n\n function renderLevelOneFlyout(levelOne: NavMainEntity) {\n return (\n <div id={levelOne.id} class={{ flyout: true, open: this.isActiveFlyout(levelOne.id) }}>\n <div class=\"wide-container\">\n <div class=\"flyout-nav\">\n <button\n class=\"nav-link flyout-back-button\"\n onClick={() => this.closeFlyout(levelOne.id)}\n >\n <SvgIcon name=\"pi-pointy-arrow-right\" classNames=\"mirrored\" />\n <span>{headerConfig.translations.backButtonText}</span>\n </button>\n <button class=\"flyout-close-button\" onClick={() => this.closeFlyout(levelOne.id)}>\n <span class=\"visually-hidden\">\n {levelOne.text}, {headerConfig.translations.mobileNavToggleClose}\n </span>\n <SvgIcon name=\"pi-close\" />\n </button>\n </div>\n <h2 class=\"flyout-title container\">\n <a href={levelOne.url} class=\"nav-link\">\n {levelOne.text}\n </a>\n </h2>\n <div class=\"flyout-row container\">\n {levelOne.flyout.map((flyout, i) => (\n <div key={flyout.title} class=\"flyout-column\">\n {flyout.title ? <h3 id={`${levelOne.id}-column-${i}`}>{flyout.title}</h3> : null}\n <ul\n class=\"flyout-linklist\"\n aria-labelledby={flyout.title ? `${levelOne.id}-column-${i}` : undefined}\n >\n {flyout.linkList.map(link => (\n <li key={link.url}>\n <a\n class={{\n 'flyout-link': true,\n 'active': !!link?.isActiveOverride,\n }}\n href={link.url}\n target={link.target}\n >\n {link.title}\n {link?.isActiveOverride ? (\n <span class=\"visually-hidden\">\n , {translate('Active navigation element')}\n </span>\n ) : null}\n </a>\n </li>\n ))}\n </ul>\n </div>\n ))}\n </div>\n </div>\n </div>\n );\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 PostMetaNavigation {
4
4
  constructor() {
5
5
  this.orientation = undefined;