@swisspost/internet-header 1.5.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (508) hide show
  1. package/LICENSE +202 -0
  2. package/dist/cjs/_commonjsHelpers-537d719a.js +22 -0
  3. package/dist/cjs/_commonjsHelpers-537d719a.js.map +1 -0
  4. package/dist/cjs/bodyScrollLock.esm-59f17217.js +285 -0
  5. package/dist/cjs/bodyScrollLock.esm-59f17217.js.map +1 -0
  6. package/dist/cjs/if.component-313f59b8.js +12 -0
  7. package/dist/cjs/if.component-313f59b8.js.map +1 -0
  8. package/dist/cjs/index-5751975e.js +1735 -0
  9. package/dist/cjs/index-5751975e.js.map +1 -0
  10. package/dist/cjs/index-e7245d60.js +144 -0
  11. package/dist/cjs/index-e7245d60.js.map +1 -0
  12. package/dist/cjs/index.cjs.js +4 -0
  13. package/dist/cjs/index.cjs.js.map +1 -0
  14. package/dist/cjs/klp-widget.controller-675b23db.js +15862 -0
  15. package/dist/cjs/klp-widget.controller-675b23db.js.map +1 -0
  16. package/dist/cjs/language.service-a80ae01d.js +152 -0
  17. package/dist/cjs/language.service-a80ae01d.js.map +1 -0
  18. package/dist/cjs/loader.cjs.js +24 -0
  19. package/dist/cjs/loader.cjs.js.map +1 -0
  20. package/dist/cjs/post-klp-login-widget.cjs.entry.js +46 -0
  21. package/dist/cjs/post-klp-login-widget.cjs.entry.js.map +1 -0
  22. package/dist/cjs/post-language-switch.cjs.entry.js +103 -0
  23. package/dist/cjs/post-language-switch.cjs.entry.js.map +1 -0
  24. package/dist/cjs/post-logo.cjs.entry.js +67 -0
  25. package/dist/cjs/post-logo.cjs.entry.js.map +1 -0
  26. package/dist/cjs/post-main-navigation.cjs.entry.js +243 -0
  27. package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -0
  28. package/dist/cjs/post-meta-navigation.cjs.entry.js +28 -0
  29. package/dist/cjs/post-meta-navigation.cjs.entry.js.map +1 -0
  30. package/dist/cjs/post-search.cjs.entry.js +2739 -0
  31. package/dist/cjs/post-search.cjs.entry.js.map +1 -0
  32. package/dist/cjs/post-skiplinks.cjs.entry.js +54 -0
  33. package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -0
  34. package/dist/cjs/store-47e14589.js +202 -0
  35. package/dist/cjs/store-47e14589.js.map +1 -0
  36. package/dist/cjs/svg-icon.component-10fbda11.js +10 -0
  37. package/dist/cjs/svg-icon.component-10fbda11.js.map +1 -0
  38. package/dist/cjs/svg-sprite.component-c3b454b3.js +48 -0
  39. package/dist/cjs/svg-sprite.component-c3b454b3.js.map +1 -0
  40. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +3488 -0
  41. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -0
  42. package/dist/cjs/swisspost-internet-footer.cjs.entry.js +148 -0
  43. package/dist/cjs/swisspost-internet-footer.cjs.entry.js.map +1 -0
  44. package/dist/cjs/swisspost-internet-header.cjs.entry.js +704 -0
  45. package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -0
  46. package/dist/cjs/swisspost-internet-header.cjs.js +28 -0
  47. package/dist/cjs/swisspost-internet-header.cjs.js.map +1 -0
  48. package/dist/cjs/ui.service-db4a8252.js +35 -0
  49. package/dist/cjs/ui.service-db4a8252.js.map +1 -0
  50. package/dist/cjs/utils-b6014257.js +22 -0
  51. package/dist/cjs/utils-b6014257.js.map +1 -0
  52. package/dist/collection/assets/config/test-configuration.json +4067 -0
  53. package/dist/collection/assets/i18n/translations.js +38 -0
  54. package/dist/collection/assets/i18n/translations.js.map +1 -0
  55. package/dist/collection/assets/js/klp-login-widget.js +1716 -0
  56. package/dist/collection/assets/js/sockjs-client.js +5134 -0
  57. package/dist/collection/collection-manifest.json +27 -0
  58. package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js +11 -0
  59. package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js.map +1 -0
  60. package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js +42 -0
  61. package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js.map +1 -0
  62. package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js +8 -0
  63. package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js.map +1 -0
  64. package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js +6 -0
  65. package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js.map +1 -0
  66. package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js +12 -0
  67. package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js.map +1 -0
  68. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.css +2724 -0
  69. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +253 -0
  70. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js.map +1 -0
  71. package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js +12 -0
  72. package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js.map +1 -0
  73. package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js +24 -0
  74. package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js.map +1 -0
  75. package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js +6 -0
  76. package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js.map +1 -0
  77. package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js +6 -0
  78. package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js.map +1 -0
  79. package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js +5 -0
  80. package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js.map +1 -0
  81. package/dist/collection/components/post-internet-footer/post-internet-footer.css +2501 -0
  82. package/dist/collection/components/post-internet-footer/post-internet-footer.js +86 -0
  83. package/dist/collection/components/post-internet-footer/post-internet-footer.js.map +1 -0
  84. package/dist/collection/components/post-internet-header/post-internet-header.css +340 -0
  85. package/dist/collection/components/post-internet-header/post-internet-header.js +676 -0
  86. package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -0
  87. package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js +14 -0
  88. package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js.map +1 -0
  89. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.css +1341 -0
  90. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js +67 -0
  91. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js.map +1 -0
  92. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js +9 -0
  93. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js.map +1 -0
  94. package/dist/collection/components/post-language-switch/post-language-switch.css +321 -0
  95. package/dist/collection/components/post-language-switch/post-language-switch.js +186 -0
  96. package/dist/collection/components/post-language-switch/post-language-switch.js.map +1 -0
  97. package/dist/collection/components/post-logo/logo-sprite.component.js +4 -0
  98. package/dist/collection/components/post-logo/logo-sprite.component.js.map +1 -0
  99. package/dist/collection/components/post-logo/post-logo.css +239 -0
  100. package/dist/collection/components/post-logo/post-logo.js +60 -0
  101. package/dist/collection/components/post-logo/post-logo.js.map +1 -0
  102. package/dist/collection/components/post-main-navigation/components/level-one-action.component.js +13 -0
  103. package/dist/collection/components/post-main-navigation/components/level-one-action.component.js.map +1 -0
  104. package/dist/collection/components/post-main-navigation/post-main-navigation.css +592 -0
  105. package/dist/collection/components/post-main-navigation/post-main-navigation.js +347 -0
  106. package/dist/collection/components/post-main-navigation/post-main-navigation.js.map +1 -0
  107. package/dist/collection/components/post-meta-navigation/post-meta-navigation.css +290 -0
  108. package/dist/collection/components/post-meta-navigation/post-meta-navigation.js +67 -0
  109. package/dist/collection/components/post-meta-navigation/post-meta-navigation.js.map +1 -0
  110. package/dist/collection/components/post-search/post-search.css +3028 -0
  111. package/dist/collection/components/post-search/post-search.js +362 -0
  112. package/dist/collection/components/post-search/post-search.js.map +1 -0
  113. package/dist/collection/components/post-skiplinks/post-skiplinks.css +20 -0
  114. package/dist/collection/components/post-skiplinks/post-skiplinks.js +51 -0
  115. package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +1 -0
  116. package/dist/collection/data/store.js +11 -0
  117. package/dist/collection/data/store.js.map +1 -0
  118. package/dist/collection/index.js +2 -0
  119. package/dist/collection/index.js.map +1 -0
  120. package/dist/collection/models/breadcrumbs.model.js +2 -0
  121. package/dist/collection/models/breadcrumbs.model.js.map +1 -0
  122. package/dist/collection/models/coveo.model.js +2 -0
  123. package/dist/collection/models/coveo.model.js.map +1 -0
  124. package/dist/collection/models/footer.model.js +2 -0
  125. package/dist/collection/models/footer.model.js.map +1 -0
  126. package/dist/collection/models/general.model.js +2 -0
  127. package/dist/collection/models/general.model.js.map +1 -0
  128. package/dist/collection/models/geocode.model.js +10 -0
  129. package/dist/collection/models/geocode.model.js.map +1 -0
  130. package/dist/collection/models/header.model.js +2 -0
  131. package/dist/collection/models/header.model.js.map +1 -0
  132. package/dist/collection/models/implementor.model.js +2 -0
  133. package/dist/collection/models/implementor.model.js.map +1 -0
  134. package/dist/collection/models/language.model.js +2 -0
  135. package/dist/collection/models/language.model.js.map +1 -0
  136. package/dist/collection/models/track-and-trace.model.js +2 -0
  137. package/dist/collection/models/track-and-trace.model.js.map +1 -0
  138. package/dist/collection/services/config.service.js +170 -0
  139. package/dist/collection/services/config.service.js.map +1 -0
  140. package/dist/collection/services/language.service.js +107 -0
  141. package/dist/collection/services/language.service.js.map +1 -0
  142. package/dist/collection/services/route.service.js +163 -0
  143. package/dist/collection/services/route.service.js.map +1 -0
  144. package/dist/collection/services/search/coveo.service.js +34 -0
  145. package/dist/collection/services/search/coveo.service.js.map +1 -0
  146. package/dist/collection/services/search/coveo.settings.js +19 -0
  147. package/dist/collection/services/search/coveo.settings.js.map +1 -0
  148. package/dist/collection/services/search/parcel.service.js +54 -0
  149. package/dist/collection/services/search/parcel.service.js.map +1 -0
  150. package/dist/collection/services/search/places.service.js +95 -0
  151. package/dist/collection/services/search/places.service.js.map +1 -0
  152. package/dist/collection/services/search/places.settings.js +16 -0
  153. package/dist/collection/services/search/places.settings.js.map +1 -0
  154. package/dist/collection/services/search/search-utilities.js +26 -0
  155. package/dist/collection/services/search/search-utilities.js.map +1 -0
  156. package/dist/collection/services/search/search.service.js +42 -0
  157. package/dist/collection/services/search/search.service.js.map +1 -0
  158. package/dist/collection/services/ui.service.js +30 -0
  159. package/dist/collection/services/ui.service.js.map +1 -0
  160. package/dist/collection/tests/setup-tests.js +14 -0
  161. package/dist/collection/tests/setup-tests.js.map +1 -0
  162. package/dist/collection/utils/highlighted.component.js +11 -0
  163. package/dist/collection/utils/highlighted.component.js.map +1 -0
  164. package/dist/collection/utils/if.component.js +7 -0
  165. package/dist/collection/utils/if.component.js.map +1 -0
  166. package/dist/collection/utils/svg-icon.component.js +3 -0
  167. package/dist/collection/utils/svg-icon.component.js.map +1 -0
  168. package/dist/collection/utils/svg-sprite.component.js +3 -0
  169. package/dist/collection/utils/svg-sprite.component.js.map +1 -0
  170. package/dist/collection/utils/utils.js +16 -0
  171. package/dist/collection/utils/utils.js.map +1 -0
  172. package/dist/components/_commonjsHelpers.js +19 -0
  173. package/dist/components/_commonjsHelpers.js.map +1 -0
  174. package/dist/components/bodyScrollLock.esm.js +281 -0
  175. package/dist/components/bodyScrollLock.esm.js.map +1 -0
  176. package/dist/components/index.d.ts +39 -0
  177. package/dist/components/index.js +36 -0
  178. package/dist/components/index.js.map +1 -0
  179. package/dist/components/index2.js +141 -0
  180. package/dist/components/index2.js.map +1 -0
  181. package/dist/components/klp-widget.controller.js +15860 -0
  182. package/dist/components/klp-widget.controller.js.map +1 -0
  183. package/dist/components/language.service.js +148 -0
  184. package/dist/components/language.service.js.map +1 -0
  185. package/dist/components/post-klp-login-widget.d.ts +11 -0
  186. package/dist/components/post-klp-login-widget.js +8 -0
  187. package/dist/components/post-klp-login-widget.js.map +1 -0
  188. package/dist/components/post-klp-login-widget2.js +59 -0
  189. package/dist/components/post-klp-login-widget2.js.map +1 -0
  190. package/dist/components/post-language-switch.d.ts +11 -0
  191. package/dist/components/post-language-switch.js +8 -0
  192. package/dist/components/post-language-switch.js.map +1 -0
  193. package/dist/components/post-language-switch2.js +118 -0
  194. package/dist/components/post-language-switch2.js.map +1 -0
  195. package/dist/components/post-logo.d.ts +11 -0
  196. package/dist/components/post-logo.js +8 -0
  197. package/dist/components/post-logo.js.map +1 -0
  198. package/dist/components/post-logo2.js +80 -0
  199. package/dist/components/post-logo2.js.map +1 -0
  200. package/dist/components/post-main-navigation.d.ts +11 -0
  201. package/dist/components/post-main-navigation.js +8 -0
  202. package/dist/components/post-main-navigation.js.map +1 -0
  203. package/dist/components/post-main-navigation2.js +260 -0
  204. package/dist/components/post-main-navigation2.js.map +1 -0
  205. package/dist/components/post-meta-navigation.d.ts +11 -0
  206. package/dist/components/post-meta-navigation.js +8 -0
  207. package/dist/components/post-meta-navigation.js.map +1 -0
  208. package/dist/components/post-meta-navigation2.js +42 -0
  209. package/dist/components/post-meta-navigation2.js.map +1 -0
  210. package/dist/components/post-search.d.ts +11 -0
  211. package/dist/components/post-search.js +8 -0
  212. package/dist/components/post-search.js.map +1 -0
  213. package/dist/components/post-search2.js +2763 -0
  214. package/dist/components/post-search2.js.map +1 -0
  215. package/dist/components/post-skiplinks.d.ts +11 -0
  216. package/dist/components/post-skiplinks.js +8 -0
  217. package/dist/components/post-skiplinks.js.map +1 -0
  218. package/dist/components/post-skiplinks2.js +64 -0
  219. package/dist/components/post-skiplinks2.js.map +1 -0
  220. package/dist/components/store.js +199 -0
  221. package/dist/components/store.js.map +1 -0
  222. package/dist/components/svg-icon.component.js +8 -0
  223. package/dist/components/svg-icon.component.js.map +1 -0
  224. package/dist/components/svg-sprite.component.js +46 -0
  225. package/dist/components/svg-sprite.component.js.map +1 -0
  226. package/dist/components/swisspost-internet-breadcrumbs.d.ts +11 -0
  227. package/dist/components/swisspost-internet-breadcrumbs.js +3509 -0
  228. package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -0
  229. package/dist/components/swisspost-internet-footer.d.ts +11 -0
  230. package/dist/components/swisspost-internet-footer.js +164 -0
  231. package/dist/components/swisspost-internet-footer.js.map +1 -0
  232. package/dist/components/swisspost-internet-header.d.ts +11 -0
  233. package/dist/components/swisspost-internet-header.js +779 -0
  234. package/dist/components/swisspost-internet-header.js.map +1 -0
  235. package/dist/components/ui.service.js +32 -0
  236. package/dist/components/ui.service.js.map +1 -0
  237. package/dist/components/utils.js +19 -0
  238. package/dist/components/utils.js.map +1 -0
  239. package/dist/esm/_commonjsHelpers-9943807e.js +19 -0
  240. package/dist/esm/_commonjsHelpers-9943807e.js.map +1 -0
  241. package/dist/esm/bodyScrollLock.esm-afcc00e3.js +281 -0
  242. package/dist/esm/bodyScrollLock.esm-afcc00e3.js.map +1 -0
  243. package/dist/esm/if.component-542fb8c3.js +10 -0
  244. package/dist/esm/if.component-542fb8c3.js.map +1 -0
  245. package/dist/esm/index-066666f4.js +1704 -0
  246. package/dist/esm/index-066666f4.js.map +1 -0
  247. package/dist/esm/index-a75df186.js +141 -0
  248. package/dist/esm/index-a75df186.js.map +1 -0
  249. package/dist/esm/index.js +3 -0
  250. package/dist/esm/index.js.map +1 -0
  251. package/dist/esm/klp-widget.controller-be1eeb16.js +15860 -0
  252. package/dist/esm/klp-widget.controller-be1eeb16.js.map +1 -0
  253. package/dist/esm/language.service-e49858e0.js +148 -0
  254. package/dist/esm/language.service-e49858e0.js.map +1 -0
  255. package/dist/esm/loader.js +20 -0
  256. package/dist/esm/loader.js.map +1 -0
  257. package/dist/esm/polyfills/core-js.js +11 -0
  258. package/dist/esm/polyfills/css-shim.js +1 -0
  259. package/dist/esm/polyfills/dom.js +79 -0
  260. package/dist/esm/polyfills/es5-html-element.js +1 -0
  261. package/dist/esm/polyfills/index.js +34 -0
  262. package/dist/esm/polyfills/system.js +6 -0
  263. package/dist/esm/post-klp-login-widget.entry.js +42 -0
  264. package/dist/esm/post-klp-login-widget.entry.js.map +1 -0
  265. package/dist/esm/post-language-switch.entry.js +99 -0
  266. package/dist/esm/post-language-switch.entry.js.map +1 -0
  267. package/dist/esm/post-logo.entry.js +63 -0
  268. package/dist/esm/post-logo.entry.js.map +1 -0
  269. package/dist/esm/post-main-navigation.entry.js +239 -0
  270. package/dist/esm/post-main-navigation.entry.js.map +1 -0
  271. package/dist/esm/post-meta-navigation.entry.js +24 -0
  272. package/dist/esm/post-meta-navigation.entry.js.map +1 -0
  273. package/dist/esm/post-search.entry.js +2735 -0
  274. package/dist/esm/post-search.entry.js.map +1 -0
  275. package/dist/esm/post-skiplinks.entry.js +50 -0
  276. package/dist/esm/post-skiplinks.entry.js.map +1 -0
  277. package/dist/esm/store-d495dc07.js +199 -0
  278. package/dist/esm/store-d495dc07.js.map +1 -0
  279. package/dist/esm/svg-icon.component-1b1b27a2.js +8 -0
  280. package/dist/esm/svg-icon.component-1b1b27a2.js.map +1 -0
  281. package/dist/esm/svg-sprite.component-ec0ac38c.js +46 -0
  282. package/dist/esm/svg-sprite.component-ec0ac38c.js.map +1 -0
  283. package/dist/esm/swisspost-internet-breadcrumbs.entry.js +3484 -0
  284. package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -0
  285. package/dist/esm/swisspost-internet-footer.entry.js +144 -0
  286. package/dist/esm/swisspost-internet-footer.entry.js.map +1 -0
  287. package/dist/esm/swisspost-internet-header.entry.js +700 -0
  288. package/dist/esm/swisspost-internet-header.entry.js.map +1 -0
  289. package/dist/esm/swisspost-internet-header.js +23 -0
  290. package/dist/esm/swisspost-internet-header.js.map +1 -0
  291. package/dist/esm/ui.service-1d9b0f51.js +32 -0
  292. package/dist/esm/ui.service-1d9b0f51.js.map +1 -0
  293. package/dist/esm/utils-5bf107ff.js +19 -0
  294. package/dist/esm/utils-5bf107ff.js.map +1 -0
  295. package/dist/esm-es5/_commonjsHelpers-9943807e.js +2 -0
  296. package/dist/esm-es5/_commonjsHelpers-9943807e.js.map +1 -0
  297. package/dist/esm-es5/bodyScrollLock.esm-afcc00e3.js +2 -0
  298. package/dist/esm-es5/bodyScrollLock.esm-afcc00e3.js.map +1 -0
  299. package/dist/esm-es5/if.component-542fb8c3.js +2 -0
  300. package/dist/esm-es5/if.component-542fb8c3.js.map +1 -0
  301. package/dist/esm-es5/index-066666f4.js +3 -0
  302. package/dist/esm-es5/index-066666f4.js.map +1 -0
  303. package/dist/esm-es5/index-a75df186.js +2 -0
  304. package/dist/esm-es5/index-a75df186.js.map +1 -0
  305. package/dist/esm-es5/index.js +2 -0
  306. package/dist/esm-es5/index.js.map +1 -0
  307. package/dist/esm-es5/klp-widget.controller-be1eeb16.js +27 -0
  308. package/dist/esm-es5/klp-widget.controller-be1eeb16.js.map +1 -0
  309. package/dist/esm-es5/language.service-e49858e0.js +2 -0
  310. package/dist/esm-es5/language.service-e49858e0.js.map +1 -0
  311. package/dist/esm-es5/loader.js +2 -0
  312. package/dist/esm-es5/loader.js.map +1 -0
  313. package/dist/esm-es5/post-klp-login-widget.entry.js +2 -0
  314. package/dist/esm-es5/post-klp-login-widget.entry.js.map +1 -0
  315. package/dist/esm-es5/post-language-switch.entry.js +2 -0
  316. package/dist/esm-es5/post-language-switch.entry.js.map +1 -0
  317. package/dist/esm-es5/post-logo.entry.js +2 -0
  318. package/dist/esm-es5/post-logo.entry.js.map +1 -0
  319. package/dist/esm-es5/post-main-navigation.entry.js +2 -0
  320. package/dist/esm-es5/post-main-navigation.entry.js.map +1 -0
  321. package/dist/esm-es5/post-meta-navigation.entry.js +2 -0
  322. package/dist/esm-es5/post-meta-navigation.entry.js.map +1 -0
  323. package/dist/esm-es5/post-search.entry.js +2 -0
  324. package/dist/esm-es5/post-search.entry.js.map +1 -0
  325. package/dist/esm-es5/post-skiplinks.entry.js +2 -0
  326. package/dist/esm-es5/post-skiplinks.entry.js.map +1 -0
  327. package/dist/esm-es5/store-d495dc07.js +2 -0
  328. package/dist/esm-es5/store-d495dc07.js.map +1 -0
  329. package/dist/esm-es5/svg-icon.component-1b1b27a2.js +2 -0
  330. package/dist/esm-es5/svg-icon.component-1b1b27a2.js.map +1 -0
  331. package/dist/esm-es5/svg-sprite.component-ec0ac38c.js +2 -0
  332. package/dist/esm-es5/svg-sprite.component-ec0ac38c.js.map +1 -0
  333. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +6 -0
  334. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -0
  335. package/dist/esm-es5/swisspost-internet-footer.entry.js +2 -0
  336. package/dist/esm-es5/swisspost-internet-footer.entry.js.map +1 -0
  337. package/dist/esm-es5/swisspost-internet-header.entry.js +2 -0
  338. package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -0
  339. package/dist/esm-es5/swisspost-internet-header.js +2 -0
  340. package/dist/esm-es5/swisspost-internet-header.js.map +1 -0
  341. package/dist/esm-es5/ui.service-1d9b0f51.js +2 -0
  342. package/dist/esm-es5/ui.service-1d9b0f51.js.map +1 -0
  343. package/dist/esm-es5/utils-5bf107ff.js +2 -0
  344. package/dist/esm-es5/utils-5bf107ff.js.map +1 -0
  345. package/dist/index.cjs.js +1 -0
  346. package/dist/index.js +1 -0
  347. package/dist/swisspost-internet-header/assets/config/test-configuration.json +4067 -0
  348. package/dist/swisspost-internet-header/index.esm.js +2 -0
  349. package/dist/swisspost-internet-header/index.esm.js.map +1 -0
  350. package/dist/swisspost-internet-header/p-00fd320e.entry.js +2 -0
  351. package/dist/swisspost-internet-header/p-00fd320e.entry.js.map +1 -0
  352. package/dist/swisspost-internet-header/p-0e2ec555.js +2 -0
  353. package/dist/swisspost-internet-header/p-0e2ec555.js.map +1 -0
  354. package/dist/swisspost-internet-header/p-112455b1.js +2 -0
  355. package/dist/swisspost-internet-header/p-112455b1.js.map +1 -0
  356. package/dist/swisspost-internet-header/p-17a47667.system.js +2 -0
  357. package/dist/swisspost-internet-header/p-17a47667.system.js.map +1 -0
  358. package/dist/swisspost-internet-header/p-1b8f9bc8.system.js +3 -0
  359. package/dist/swisspost-internet-header/p-1b8f9bc8.system.js.map +1 -0
  360. package/dist/swisspost-internet-header/p-2eb04045.entry.js +2 -0
  361. package/dist/swisspost-internet-header/p-2eb04045.entry.js.map +1 -0
  362. package/dist/swisspost-internet-header/p-3ba40afe.js +2 -0
  363. package/dist/swisspost-internet-header/p-3ba40afe.js.map +1 -0
  364. package/dist/swisspost-internet-header/p-3eb881c3.js +2 -0
  365. package/dist/swisspost-internet-header/p-3eb881c3.js.map +1 -0
  366. package/dist/swisspost-internet-header/p-43cbbf42.entry.js +2 -0
  367. package/dist/swisspost-internet-header/p-43cbbf42.entry.js.map +1 -0
  368. package/dist/swisspost-internet-header/p-4654b2af.system.js +2 -0
  369. package/dist/swisspost-internet-header/p-4654b2af.system.js.map +1 -0
  370. package/dist/swisspost-internet-header/p-4c9ec2d8.system.js +27 -0
  371. package/dist/swisspost-internet-header/p-4c9ec2d8.system.js.map +1 -0
  372. package/dist/swisspost-internet-header/p-5032057e.js +3 -0
  373. package/dist/swisspost-internet-header/p-5032057e.js.map +1 -0
  374. package/dist/swisspost-internet-header/p-50ea2036.system.js +2 -0
  375. package/dist/swisspost-internet-header/p-50ea2036.system.js.map +1 -0
  376. package/dist/swisspost-internet-header/p-549b62ba.system.js +2 -0
  377. package/dist/swisspost-internet-header/p-549b62ba.system.js.map +1 -0
  378. package/dist/swisspost-internet-header/p-5e43c5e0.js +2 -0
  379. package/dist/swisspost-internet-header/p-5e43c5e0.js.map +1 -0
  380. package/dist/swisspost-internet-header/p-69c64c29.js +2 -0
  381. package/dist/swisspost-internet-header/p-69c64c29.js.map +1 -0
  382. package/dist/swisspost-internet-header/p-6a09e0b4.system.entry.js +2 -0
  383. package/dist/swisspost-internet-header/p-6a09e0b4.system.entry.js.map +1 -0
  384. package/dist/swisspost-internet-header/p-74932c29.entry.js +6 -0
  385. package/dist/swisspost-internet-header/p-74932c29.entry.js.map +1 -0
  386. package/dist/swisspost-internet-header/p-76ce4acc.system.entry.js +2 -0
  387. package/dist/swisspost-internet-header/p-76ce4acc.system.entry.js.map +1 -0
  388. package/dist/swisspost-internet-header/p-78f653be.system.entry.js +2 -0
  389. package/dist/swisspost-internet-header/p-78f653be.system.entry.js.map +1 -0
  390. package/dist/swisspost-internet-header/p-7e653a26.js +27 -0
  391. package/dist/swisspost-internet-header/p-7e653a26.js.map +1 -0
  392. package/dist/swisspost-internet-header/p-7f16a46b.entry.js +2 -0
  393. package/dist/swisspost-internet-header/p-7f16a46b.entry.js.map +1 -0
  394. package/dist/swisspost-internet-header/p-8717445f.entry.js +2 -0
  395. package/dist/swisspost-internet-header/p-8717445f.entry.js.map +1 -0
  396. package/dist/swisspost-internet-header/p-883f9547.system.entry.js +2 -0
  397. package/dist/swisspost-internet-header/p-883f9547.system.entry.js.map +1 -0
  398. package/dist/swisspost-internet-header/p-9509f6c7.system.js +2 -0
  399. package/dist/swisspost-internet-header/p-9509f6c7.system.js.map +1 -0
  400. package/dist/swisspost-internet-header/p-9d0a7039.entry.js +2 -0
  401. package/dist/swisspost-internet-header/p-9d0a7039.entry.js.map +1 -0
  402. package/dist/swisspost-internet-header/p-a119b38d.js +2 -0
  403. package/dist/swisspost-internet-header/p-a119b38d.js.map +1 -0
  404. package/dist/swisspost-internet-header/p-a4160d23.entry.js +2 -0
  405. package/dist/swisspost-internet-header/p-a4160d23.entry.js.map +1 -0
  406. package/dist/swisspost-internet-header/p-a51ad207.system.entry.js +2 -0
  407. package/dist/swisspost-internet-header/p-a51ad207.system.entry.js.map +1 -0
  408. package/dist/swisspost-internet-header/p-a9c4b2d0.system.entry.js +2 -0
  409. package/dist/swisspost-internet-header/p-a9c4b2d0.system.entry.js.map +1 -0
  410. package/dist/swisspost-internet-header/p-b3014611.system.js +2 -0
  411. package/dist/swisspost-internet-header/p-b3014611.system.js.map +1 -0
  412. package/dist/swisspost-internet-header/p-bdabd6ac.js +2 -0
  413. package/dist/swisspost-internet-header/p-bdabd6ac.js.map +1 -0
  414. package/dist/swisspost-internet-header/p-bdfd2460.entry.js +2 -0
  415. package/dist/swisspost-internet-header/p-bdfd2460.entry.js.map +1 -0
  416. package/dist/swisspost-internet-header/p-c29ec122.system.js +2 -0
  417. package/dist/swisspost-internet-header/p-c29ec122.system.js.map +1 -0
  418. package/dist/swisspost-internet-header/p-c69923cd.system.js +2 -0
  419. package/dist/swisspost-internet-header/p-c69923cd.system.js.map +1 -0
  420. package/dist/swisspost-internet-header/p-c8296f63.system.js +2 -0
  421. package/dist/swisspost-internet-header/p-c8296f63.system.js.map +1 -0
  422. package/dist/swisspost-internet-header/p-c946c5b8.system.entry.js +2 -0
  423. package/dist/swisspost-internet-header/p-c946c5b8.system.entry.js.map +1 -0
  424. package/dist/swisspost-internet-header/p-cb06a633.system.entry.js +2 -0
  425. package/dist/swisspost-internet-header/p-cb06a633.system.entry.js.map +1 -0
  426. package/dist/swisspost-internet-header/p-cb3de015.system.entry.js +2 -0
  427. package/dist/swisspost-internet-header/p-cb3de015.system.entry.js.map +1 -0
  428. package/dist/swisspost-internet-header/p-d713a3b3.system.entry.js +7 -0
  429. package/dist/swisspost-internet-header/p-d713a3b3.system.entry.js.map +1 -0
  430. package/dist/swisspost-internet-header/p-ddcb8258.entry.js +2 -0
  431. package/dist/swisspost-internet-header/p-ddcb8258.entry.js.map +1 -0
  432. package/dist/swisspost-internet-header/p-ec80c8fc.js +2 -0
  433. package/dist/swisspost-internet-header/p-ec80c8fc.js.map +1 -0
  434. package/dist/swisspost-internet-header/p-ee915bbe.system.js +2 -0
  435. package/dist/swisspost-internet-header/p-ee915bbe.system.js.map +1 -0
  436. package/dist/swisspost-internet-header/p-eeff8b03.js +2 -0
  437. package/dist/swisspost-internet-header/p-eeff8b03.js.map +1 -0
  438. package/dist/swisspost-internet-header/p-f4ff1e9e.system.js +2 -0
  439. package/dist/swisspost-internet-header/p-f4ff1e9e.system.js.map +1 -0
  440. package/dist/swisspost-internet-header/p-f887c8bb.system.js +2 -0
  441. package/dist/swisspost-internet-header/p-f887c8bb.system.js.map +1 -0
  442. package/dist/swisspost-internet-header/swisspost-internet-header.css +29 -0
  443. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +2 -0
  444. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js.map +1 -0
  445. package/dist/swisspost-internet-header/swisspost-internet-header.js +131 -0
  446. package/dist/types/assets/i18n/translations.d.ts +37 -0
  447. package/dist/types/components/post-internet-breadcrumbs/components/breadcrumb-list.component.d.ts +9 -0
  448. package/dist/types/components/post-internet-breadcrumbs/components/focus-trap.component.d.ts +12 -0
  449. package/dist/types/components/post-internet-breadcrumbs/components/middle-dropdown.component.d.ts +7 -0
  450. package/dist/types/components/post-internet-breadcrumbs/components/middle-links.component.d.ts +6 -0
  451. package/dist/types/components/post-internet-breadcrumbs/components/overlay.component.d.ts +16 -0
  452. package/dist/types/components/post-internet-breadcrumbs/post-internet-breadcrumbs.d.ts +45 -0
  453. package/dist/types/components/post-internet-footer/components/post-footer-block-address.component.d.ts +5 -0
  454. package/dist/types/components/post-internet-footer/components/post-footer-block-contact.component.d.ts +6 -0
  455. package/dist/types/components/post-internet-footer/components/post-footer-block-custom.component.d.ts +4 -0
  456. package/dist/types/components/post-internet-footer/components/post-footer-block-list.component.d.ts +5 -0
  457. package/dist/types/components/post-internet-footer/components/post-footer-block-socials.component.d.ts +5 -0
  458. package/dist/types/components/post-internet-footer/post-internet-footer.d.ts +10 -0
  459. package/dist/types/components/post-internet-header/post-internet-header.d.ts +124 -0
  460. package/dist/types/components/post-klp-login-widget/klp-widget.controller.d.ts +3 -0
  461. package/dist/types/components/post-klp-login-widget/post-klp-login-widget.d.ts +10 -0
  462. package/dist/types/components/post-language-switch/components/post-language-switch-list.d.ts +6 -0
  463. package/dist/types/components/post-language-switch/post-language-switch.d.ts +27 -0
  464. package/dist/types/components/post-logo/logo-sprite.component.d.ts +4 -0
  465. package/dist/types/components/post-logo/post-logo.d.ts +11 -0
  466. package/dist/types/components/post-main-navigation/components/level-one-action.component.d.ts +8 -0
  467. package/dist/types/components/post-main-navigation/post-main-navigation.d.ts +48 -0
  468. package/dist/types/components/post-meta-navigation/post-meta-navigation.d.ts +5 -0
  469. package/dist/types/components/post-search/post-search.d.ts +61 -0
  470. package/dist/types/components/post-skiplinks/post-skiplinks.d.ts +9 -0
  471. package/dist/types/components.d.ts +365 -0
  472. package/dist/types/data/store.d.ts +16 -0
  473. package/dist/types/index.d.ts +1 -0
  474. package/dist/types/models/breadcrumbs.model.d.ts +36 -0
  475. package/dist/types/models/coveo.model.d.ts +22 -0
  476. package/dist/types/models/footer.model.d.ts +48 -0
  477. package/dist/types/models/general.model.d.ts +46 -0
  478. package/dist/types/models/geocode.model.d.ts +52 -0
  479. package/dist/types/models/header.model.d.ts +163 -0
  480. package/dist/types/models/implementor.model.d.ts +22 -0
  481. package/dist/types/models/language.model.d.ts +6 -0
  482. package/dist/types/models/track-and-trace.model.d.ts +25 -0
  483. package/dist/types/services/config.service.d.ts +56 -0
  484. package/dist/types/services/language.service.d.ts +65 -0
  485. package/dist/types/services/route.service.d.ts +39 -0
  486. package/dist/types/services/search/coveo.service.d.ts +9 -0
  487. package/dist/types/services/search/coveo.settings.d.ts +2 -0
  488. package/dist/types/services/search/parcel.service.d.ts +28 -0
  489. package/dist/types/services/search/places.service.d.ts +24 -0
  490. package/dist/types/services/search/places.settings.d.ts +3 -0
  491. package/dist/types/services/search/search-utilities.d.ts +15 -0
  492. package/dist/types/services/search/search.service.d.ts +24 -0
  493. package/dist/types/services/ui.service.d.ts +23 -0
  494. package/dist/types/stencil-public-runtime.d.ts +1637 -0
  495. package/dist/types/tests/setup-tests.d.ts +0 -0
  496. package/dist/types/utils/highlighted.component.d.ts +4 -0
  497. package/dist/types/utils/if.component.d.ts +4 -0
  498. package/dist/types/utils/svg-icon.component.d.ts +4 -0
  499. package/dist/types/utils/svg-sprite.component.d.ts +1 -0
  500. package/dist/types/utils/utils.d.ts +8 -0
  501. package/loader/cdn.js +3 -0
  502. package/loader/index.cjs.js +3 -0
  503. package/loader/index.d.ts +21 -0
  504. package/loader/index.es2017.js +3 -0
  505. package/loader/index.js +4 -0
  506. package/loader/package.json +11 -0
  507. package/package.json +71 -0
  508. package/readme.md +15 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["markActiveRoute","config","activeRouteProp","compareUrl","resetOverrideConfig","hasActivePortalRoute","resetActiveStateToPortalConfig","URL","window","location","href","document","origin","error","console","warn","scoreList","compileScoreList","length","winnerPair","main","isActiveOverride","sub","filter","nav","isActive","map","Object","assign","flyout","linkList","link","hadAnyActiveLink","forEach","mainNav","score","compareRoutes","url","Infinity","push","_a","linklist","sort","a","b","baseUrl","matchMode","pathname","baseSegments","split","x","compareSegments","getSimilarityScore","Math","min","i","request","osFlyoutCache","getLocalizedConfig","async","projectId","environment","language","cookieKey","localStorageKey","localizedCustomConfig","osFlyoutOverrides","fetchConfig","lang","getUserLang","keys","undefined","Error","localizedConfig","header","navMain","mergeOsFlyoutOverrides","setMainNavigationIds","_b","persistLanguageChoice","id","JSON","parse","stringify","mainNavText","text","mainNavTitle","title","mainNavFlyout","col","index","overrides","slice","isValidProjectId","generateConfigUrl","res","fetch","json","message","isInt","startsWith","host","encodeURIComponent","toString","test","getLocalizedCustomConfig","customConfig","navMainEntities","navMainEntity","uniqueId","postInternetHeaderCss","PostInternetHeader","state","currentLanguage","constructor","hostRef","this","lastScrollTop","scrollY","documentElement","scrollTop","lastWindowWidth","innerWidth","handleClickOutsideBound","handleClickOutside","bind","project","connectedCallback","throttledScroll","throttle","handleScrollEvent","debouncedResize","debounce","handleResize","addEventListener","passive","disconnectedCallback","removeEventListener","dispose","languageSwitchOverrides","languageCookieKey","languageLocalStorageKey","activeRoute","componentDidLoad","requestAnimationFrame","headerLoaded","emit","classList","add","newValue","handleAvailableLanguagesChage","handleSearchChange","search","handleLoginChange","login","handleMetaChange","meta","handleLanguageChangeEvent","event","handleLanguageChange","detail","activeDropdownElement","composedPath","includes","toggleDropdown","handleKeyUp","key","activeFlyout","st","stickyness","toggle","isMainNavOpen","handleDropdownToggled","open","element","setTimeout","setActiveFlyout","handleFlyoutToggled","toggleMobileDropdown","tagName","render","renderMetaNavigation","navMeta","isHomeLink","renderLogin","_c","isLoginWidgetHidden","loginWidgetOptions","renderLanguageSwitch","navLang","h","Host","class","packageJson","version","onKeyup","e","fullWidth","SvgSprite","If","condition","skiplinks","orientation","mode","onDropdownToggled","onClick","mobileMenu","SvgIcon","name","onFlyoutToggled","ref","el"],"sources":["./src/services/route.service.ts","./src/services/config.service.ts","./src/components/post-internet-header/post-internet-header.scss?tag=swisspost-internet-header&encapsulation=shadow","./src/components/post-internet-header/post-internet-header.tsx"],"sourcesContent":["import { ActiveRouteProp } from '../models/general.model';\r\nimport { NavMainEntity, MainNavScoreList } from '../models/header.model';\r\n\r\n/**\r\n * Activate the current route based on the config and the match mode\r\n * @param config Main Navigation Config\r\n * @param activeRouteProp Match mode\r\n * @returns Modified Main Navigation Config\r\n */\r\nexport const markActiveRoute = (\r\n config: NavMainEntity[],\r\n activeRouteProp: ActiveRouteProp,\r\n): NavMainEntity[] => {\r\n // Don't highlight any route\r\n if (activeRouteProp === false) {\r\n return config;\r\n }\r\n\r\n // Set compare URL and check if activeRouteProp is valid\r\n let compareUrl: URL;\r\n config = resetOverrideConfig(config);\r\n\r\n if (activeRouteProp === 'auto' || activeRouteProp === 'exact') {\r\n // Check if an active route is already configured, set override to that and return\r\n if (hasActivePortalRoute(config)) {\r\n return resetActiveStateToPortalConfig(config);\r\n }\r\n\r\n compareUrl = new URL(window.location.href);\r\n } else {\r\n try {\r\n compareUrl = new URL(activeRouteProp, document.location.origin);\r\n } catch (error) {\r\n console.warn(\r\n `Active Route: ${activeRouteProp} is not a valid URL. Navigation highlighting has been disabled.`,\r\n );\r\n return config;\r\n }\r\n }\r\n\r\n const scoreList = compileScoreList(config, compareUrl, activeRouteProp);\r\n\r\n if (scoreList.length === 0) {\r\n // No match found or already active links defined\r\n return config;\r\n }\r\n\r\n const winnerPair = scoreList[0];\r\n winnerPair.main.isActiveOverride = true;\r\n if (winnerPair.sub) winnerPair.sub.isActiveOverride = true;\r\n\r\n return config;\r\n};\r\n\r\n/**\r\n * Check if the portal config set any active route\r\n * @param config Main navigation config\r\n * @returns True if portal set any route as active\r\n */\r\nexport const hasActivePortalRoute = (config: NavMainEntity[]): boolean => {\r\n return config.filter(nav => nav.isActive).length > 0;\r\n};\r\n\r\nexport const resetActiveStateToPortalConfig = (config: NavMainEntity[]): NavMainEntity[] => {\r\n return config.map(nav => ({\r\n ...nav,\r\n isActiveOverride: nav.isActive,\r\n flyout: nav.flyout.map(flyout => ({\r\n ...flyout,\r\n linkList: flyout.linkList.map(link => ({ ...link, isActiveOverride: link.isActive })),\r\n })),\r\n }));\r\n};\r\n\r\nconst resetOverrideConfig = (config: NavMainEntity[]): NavMainEntity[] => {\r\n return config.map(nav => ({\r\n ...nav,\r\n isActiveOverride: false,\r\n flyout: nav.flyout.map(flyout => ({\r\n ...flyout,\r\n linkList: flyout.linkList.map(link => ({ ...link, isActiveOverride: false })),\r\n })),\r\n }));\r\n};\r\n\r\n/**\r\n * Compile a list of scores based on the map mode, sorted in descending order\r\n * @param config Main Nav Config\r\n * @param compareUrl Current Browser URL or a custom URL\r\n * @param activeRouteProp Match mode\r\n * @returns A list of scored URLs if any matched\r\n */\r\nexport const compileScoreList = (\r\n config: NavMainEntity[],\r\n compareUrl: URL,\r\n activeRouteProp: ActiveRouteProp,\r\n): MainNavScoreList => {\r\n // Flag to check if the Portal set any active links or if there are any exact matches\r\n let hadAnyActiveLink = false;\r\n const scoreList: MainNavScoreList = [];\r\n\r\n config.forEach(mainNav => {\r\n if (hadAnyActiveLink || !mainNav) {\r\n return;\r\n }\r\n\r\n try {\r\n const score = compareRoutes(\r\n compareUrl,\r\n new URL(mainNav.url),\r\n activeRouteProp as 'auto' | 'exact',\r\n );\r\n if (score > 0) {\r\n if (score === Infinity) hadAnyActiveLink = true;\r\n scoreList.push({ main: mainNav, score });\r\n }\r\n } catch {\r\n // Not a valid url, continue\r\n }\r\n\r\n // Loop through flyout links 2nd level\r\n if (mainNav.flyout.length) {\r\n mainNav.flyout.forEach(flyout => {\r\n if (flyout.linkList) {\r\n flyout.linkList.forEach(linklist => {\r\n // Don't override if any link is already active\r\n if (linklist.isActive && (activeRouteProp === 'auto' || activeRouteProp === 'exact')) {\r\n hadAnyActiveLink = true;\r\n return;\r\n }\r\n\r\n try {\r\n const url = new URL(linklist.url);\r\n const score = compareRoutes(compareUrl, url, activeRouteProp as 'auto' | 'exact');\r\n if (score > 0) {\r\n if (score === Infinity) hadAnyActiveLink = true;\r\n\r\n // Push score\r\n scoreList.push({\r\n main: mainNav,\r\n sub: linklist,\r\n score,\r\n });\r\n }\r\n } catch {\r\n // Not a valid URL, continue\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n\r\n return scoreList.sort((a, b) => b.score - a.score);\r\n};\r\n\r\n/**\r\n * Compare two URLs for similarity based on a match mode\r\n * @param baseUrl Browser URL\r\n * @param compareUrl Navigatgion URL\r\n * @param matchMode exact or auto matching\r\n * @returns Score\r\n */\r\nexport const compareRoutes = (\r\n baseUrl: URL,\r\n compareUrl: URL,\r\n matchMode?: 'auto' | 'exact',\r\n): number => {\r\n // One url is not defined or they don't share the same orign\r\n if (!baseUrl || !compareUrl || baseUrl.origin !== compareUrl.origin) {\r\n return 0;\r\n }\r\n\r\n // Exact match, origin and pathname are the same\r\n if (baseUrl.pathname === compareUrl.pathname) {\r\n return Infinity;\r\n }\r\n\r\n // The basepath is longer than the comparison, a match is impossible\r\n if (baseUrl.pathname.length < compareUrl.pathname.length) {\r\n return 0;\r\n }\r\n\r\n if (matchMode === 'auto') {\r\n const baseSegments = [baseUrl.origin, ...baseUrl.pathname.split('/').filter(x => !!x)];\r\n const compareSegments = [compareUrl.origin, ...compareUrl.pathname.split('/').filter(x => !!x)];\r\n\r\n const score = getSimilarityScore(baseSegments, compareSegments);\r\n\r\n // If only some segments match, but not the whole smaller array, it's not a match\r\n return Math.min(baseSegments.length, compareSegments.length) === score ? score : 0;\r\n }\r\n\r\n return 0;\r\n};\r\n\r\n/**\r\n * Check how many items in an array match\r\n * @param a Base array\r\n * @param b Compare array\r\n * @returns Score\r\n */\r\nexport const getSimilarityScore = (a: string[], b: string[]): number => {\r\n if (!a?.length || !b?.length) {\r\n return 0;\r\n }\r\n\r\n let i = 0;\r\n for (; i < Math.min(a.length, b.length); i++) {\r\n if (a[i] !== b[i]) {\r\n return 0;\r\n }\r\n }\r\n\r\n return i;\r\n};\r\n","import {\r\n Environment,\r\n IPortalConfig,\r\n ILocalizedConfig,\r\n ICustomConfig,\r\n ILocalizedCustomConfig,\r\n LocalizedConfigParameters,\r\n} from '../models/general.model';\r\nimport { NavMainEntity } from '../models/header.model';\r\nimport { getUserLang, persistLanguageChoice } from './language.service';\r\nimport { uniqueId } from '../utils/utils';\r\nimport { markActiveRoute } from './route.service';\r\n\r\n// Prevent double requests\r\nlet request: Promise<IPortalConfig> | null = null;\r\n\r\n// Cache the original os flyout to use it for updates\r\nlet osFlyoutCache: NavMainEntity | null = null;\r\n\r\n/**\r\n * Get a localized config object\r\n *\r\n * @param projectId String identifying the project\r\n * @param language [optional] Preferred language\r\n * @returns Localized config object\r\n */\r\nexport const getLocalizedConfig = async ({\r\n projectId,\r\n environment,\r\n language,\r\n cookieKey,\r\n localStorageKey,\r\n activeRouteProp,\r\n localizedCustomConfig,\r\n osFlyoutOverrides,\r\n}: LocalizedConfigParameters): Promise<ILocalizedConfig> => {\r\n if (!request) {\r\n request = fetchConfig(projectId, environment);\r\n }\r\n\r\n const config = await request;\r\n const lang = getUserLang(Object.keys(config), language, localStorageKey, cookieKey);\r\n\r\n if (lang === undefined) {\r\n throw new Error('Internet Header: unable to determine current language');\r\n }\r\n\r\n // Clone config for more predictable state updates\r\n let localizedConfig: ILocalizedConfig = { ...config[lang] };\r\n\r\n // Merge custom config with portal config\r\n if (localizedCustomConfig) {\r\n const header = localizedCustomConfig?.header?.navMain\r\n ? {\r\n ...localizedConfig.header,\r\n navMain: [...localizedConfig.header.navMain, ...localizedCustomConfig.header.navMain],\r\n }\r\n : localizedConfig.header;\r\n localizedConfig = {\r\n ...localizedConfig,\r\n header,\r\n };\r\n }\r\n\r\n // Add entries to flyout_os\r\n if (osFlyoutOverrides)\r\n localizedConfig.header.navMain = mergeOsFlyoutOverrides(localizedConfig, osFlyoutOverrides);\r\n\r\n // Mark active route\r\n if (activeRouteProp)\r\n localizedConfig.header.navMain = markActiveRoute(\r\n localizedConfig.header.navMain,\r\n activeRouteProp,\r\n );\r\n\r\n setMainNavigationIds(localizedConfig?.header?.navMain);\r\n\r\n // Set the new language choice\r\n persistLanguageChoice(lang, cookieKey, localStorageKey);\r\n\r\n return localizedConfig;\r\n};\r\n\r\n/**\r\n * Merge portal config with custom os flyout overrides\r\n * @param config Localized config\r\n * @param osFlyoutOverrides Overrides for the flyout\r\n * @returns Merged localized config\r\n */\r\nexport const mergeOsFlyoutOverrides = (\r\n config: ILocalizedConfig,\r\n osFlyoutOverrides: NavMainEntity,\r\n): NavMainEntity[] => {\r\n if (!osFlyoutOverrides) return config.header.navMain;\r\n\r\n return config.header.navMain.map(mainNav => {\r\n if (mainNav.id !== 'flyout_os') return mainNav;\r\n\r\n if (osFlyoutCache === null) {\r\n osFlyoutCache = JSON.parse(JSON.stringify(mainNav)) as NavMainEntity;\r\n }\r\n\r\n const mainNavText = osFlyoutOverrides.text ?? osFlyoutCache.text;\r\n const mainNavTitle = osFlyoutOverrides.title ?? osFlyoutCache.title;\r\n\r\n if (\r\n !osFlyoutCache.flyout ||\r\n osFlyoutCache.flyout.length === 0 ||\r\n !osFlyoutOverrides.flyout ||\r\n osFlyoutOverrides.flyout.length === 0\r\n )\r\n return {\r\n ...mainNav,\r\n title: mainNavTitle,\r\n text: mainNavText,\r\n };\r\n\r\n // Add entries for os flyout columns without overriding existing config\r\n const mainNavFlyout = [\r\n ...osFlyoutCache.flyout.map((col, index) => {\r\n const overrides = osFlyoutOverrides.flyout[index];\r\n const title = overrides.title ?? col.title;\r\n\r\n const linkList = overrides.linkList ? osFlyoutOverrides.flyout[index].linkList : [];\r\n\r\n return {\r\n title,\r\n linkList: [...col.linkList, ...linkList],\r\n };\r\n }),\r\n ...osFlyoutOverrides.flyout.slice(osFlyoutCache.flyout.length),\r\n ];\r\n\r\n return {\r\n ...mainNav,\r\n text: mainNavText,\r\n title: mainNavTitle,\r\n flyout: mainNavFlyout,\r\n } as NavMainEntity;\r\n });\r\n};\r\n\r\n/**\r\n * Fetch the general config based on project id\r\n *\r\n * @returns Promise for Post Portal general config\r\n */\r\nexport const fetchConfig = async (\r\n projectId: string,\r\n environment: Environment,\r\n): Promise<IPortalConfig> => {\r\n // Check if project id is sanitized\r\n if (!isValidProjectId(projectId)) {\r\n throw new Error(`Internet Header: invalid project id \"${projectId}\"`);\r\n }\r\n\r\n if (projectId === 'test') {\r\n environment = 'int01';\r\n }\r\n\r\n let url = generateConfigUrl(projectId, environment);\r\n\r\n // Get the config if cache is invalid\r\n try {\r\n const res = await fetch(url);\r\n return (await res.json()) as IPortalConfig;\r\n } catch (error) {\r\n throw new Error(`Internet Header: fetching config failed. ${error.message}`);\r\n }\r\n};\r\n\r\n/**\r\n * Generate an URL with all necessary query params to get the configuration.\r\n * Project id \"test\" will return a test configuration\r\n * @param projectId string\r\n * @param environment int01, int02 or prod\r\n * @returns URL pointing to the project config\r\n */\r\nexport const generateConfigUrl = (projectId: string, environment: Environment): string => {\r\n if (projectId === 'test') return 'assets/config/test-configuration.json';\r\n\r\n const isInt = environment.startsWith('int');\r\n const host = `https://${isInt ? 'int' : 'www'}.post.ch`;\r\n try {\r\n // Use URL to validate the generated URL\r\n return new URL(\r\n `${host}/api/headerjs/Json?serviceid=${encodeURIComponent(projectId)}${\r\n isInt ? '&environment=' + environment : ''\r\n }`,\r\n ).toString();\r\n } catch (error) {\r\n throw new Error(`Internet Header: Config URL is invalid.`);\r\n }\r\n};\r\n\r\n/**\r\n * Check if project id contains only URL safe characters\r\n *\r\n * @param projectId Project Id string\r\n * @returns The valid project id\r\n */\r\nexport const isValidProjectId = (projectId: string): boolean => {\r\n return projectId !== '' && projectId.length > 0 && /^[a-zA-Z][\\w-]*[a-zA-Z0-9]$/.test(projectId);\r\n};\r\n\r\n/**\r\n * Get the localized config object from a custom config\r\n *\r\n * @param config String or json object of the custom config\r\n * @param language Specific language\r\n * @returns Localized custom config object\r\n */\r\nexport const getLocalizedCustomConfig = (\r\n config: string | ICustomConfig,\r\n language: string,\r\n): ILocalizedCustomConfig | undefined => {\r\n let customConfig: ICustomConfig;\r\n try {\r\n customConfig = typeof config === 'string' ? JSON.parse(config) : config;\r\n } catch (error) {\r\n throw new Error(\r\n `Internet Header: Custom config is invalid. Make sure your custom config contains valid JSON syntax and matches the definition. `,\r\n );\r\n }\r\n let localizedCustomConfig: ILocalizedCustomConfig | undefined = customConfig[language];\r\n if (localizedCustomConfig !== undefined)\r\n setMainNavigationIds(localizedCustomConfig.header.navMain);\r\n return localizedCustomConfig;\r\n};\r\n\r\n/**\r\n * Check if mobile header styles are applied or not\r\n * @returns True if browser is smaller than 1024px\r\n */\r\nexport const isMobile = () => window.innerWidth < 1024;\r\n\r\n/**\r\n * Set unique ID's on main navigation entities but conserve flyout_os to be able to\r\n * identify the online-service flyout, which can be configured by osFlyoutOverrides\r\n */\r\nexport const setMainNavigationIds = (navMainEntities: NavMainEntity[]): void => {\r\n navMainEntities.forEach(navMainEntity => {\r\n navMainEntity.id = navMainEntity.id === 'flyout_os' ? navMainEntity.id : uniqueId('main-nav-');\r\n });\r\n};\r\n","@use '@swisspost/design-system-styles/variables/color';\r\n@use '../../utils/utils.scss';\r\n@use '../../utils/mixins.scss';\r\n\r\n:host {\r\n display: block;\r\n position: relative;\r\n font-size: 1rem;\r\n font-weight: 300;\r\n z-index: var(--header-z-index, 10);\r\n\r\n --header-height: 3.5rem; // 56px\r\n --meta-header-height: 0px; // Not visible on mobile\r\n --language-dropdown-margin-top: 0px;\r\n\r\n @include mixins.min(lg) {\r\n --meta-header-height: 3rem; // 48px\r\n --header-height: 4rem; // 64px\r\n }\r\n\r\n @include mixins.min(xl) {\r\n --header-height: 4.5rem; // 72px\r\n }\r\n}\r\n\r\n// Set height to 0 if meta is never visible\r\n:host([meta='false']) {\r\n --meta-header-height: 0px;\r\n // Compensation for header border-bottom, when language dropdown is displayed within main navigation controls\r\n --language-dropdown-margin-top: 1px;\r\n}\r\n\r\n// Support different kinds of stickyness modes\r\n// Works only in combination with setting header heights dynamically\r\n@supports (position: sticky) {\r\n // If stickyness is none, simply apply no styles, all others are sticky\r\n :host(:not(.stickyness-none)) {\r\n position: sticky;\r\n }\r\n\r\n // Everything is always sticky\r\n :host(.stickyness-full) {\r\n top: 0;\r\n }\r\n\r\n // Only main nav is sticky\r\n :host(.stickyness-main) {\r\n top: calc(var(--meta-header-height, 0px) * -1);\r\n }\r\n\r\n // Hide everything\r\n :host(.stickyness-minimal) {\r\n top: calc((var(--header-height, 0px) + var(--meta-header-height, 0px)) * -1);\r\n transition: top 200ms ease-in;\r\n }\r\n\r\n // Show main when scrolling up or any of the menus are open\r\n :host(.stickyness-minimal.scrolling-up),\r\n :host(.stickyness-minimal.dropdown-open) {\r\n top: calc(var(--meta-header-height, 0px) * -1);\r\n transition: top 200ms ease-out;\r\n }\r\n}\r\n\r\n.post-internet-header {\r\n border-bottom: 1px solid color.$gray-10;\r\n background-color: white;\r\n}\r\n\r\n.main-navigation-container {\r\n display: flex;\r\n\r\n & > .main-navigation-controls {\r\n flex: 0 0 auto;\r\n }\r\n}\r\n\r\n.main-navigation {\r\n display: flex;\r\n}\r\n\r\n.sub-navigation-container {\r\n position: absolute;\r\n top: 100%;\r\n left: 0;\r\n width: 100%;\r\n display: flex;\r\n background: white;\r\n visibility: hidden;\r\n}\r\n\r\n.main-navigation-item:hover .sub-navigation-container {\r\n visibility: visible;\r\n}\r\n\r\n.main-navigation-controls {\r\n display: flex;\r\n margin-left: auto;\r\n\r\n @include mixins.max(lg) {\r\n font-weight: 400;\r\n }\r\n\r\n @include mixins.min(lg) {\r\n font-size: 1.0625rem;\r\n }\r\n\r\n & > * {\r\n border-left: 1px solid color.$gray-10;\r\n }\r\n}\r\n\r\n.menu-button {\r\n display: flex;\r\n align-items: center;\r\n padding: 0 calc(1rem - 1px);\r\n font-weight: 300;\r\n cursor: pointer;\r\n border-left: 1px solid color.$gray-10;\r\n order: 1; /* Display on the far right because of tab order */\r\n\r\n @include mixins.min(lg) {\r\n display: none;\r\n }\r\n\r\n .visually-hidden {\r\n @include mixins.between(rg, lg) {\r\n @include mixins.reset-visually-hidden();\r\n\r\n margin-right: 0.5rem;\r\n }\r\n }\r\n\r\n svg {\r\n width: 1.5rem;\r\n height: 1.5rem;\r\n }\r\n}\r\n\r\n.full-width {\r\n .wide-container {\r\n max-width: none;\r\n }\r\n}\r\n","import {\r\n Component,\r\n Host,\r\n Element,\r\n h,\r\n State,\r\n Prop,\r\n Watch,\r\n Listen,\r\n EventEmitter,\r\n Event,\r\n Method,\r\n} from '@stencil/core';\r\nimport { debounce, throttle } from 'throttle-debounce';\r\nimport {\r\n getLocalizedConfig,\r\n getLocalizedCustomConfig,\r\n isValidProjectId,\r\n} from '../../services/config.service';\r\nimport { state, dispose } from '../../data/store';\r\nimport { DropdownElement, DropdownEvent, NavMainEntity } from '../../models/header.model';\r\nimport { SvgSprite } from '../../utils/svg-sprite.component';\r\nimport { SvgIcon } from '../../utils/svg-icon.component';\r\nimport { StickynessOptions } from '../../models/implementor.model';\r\nimport { ActiveRouteProp, Environment, ICustomConfig } from '../../models/general.model';\r\nimport { IAvailableLanguage } from '../../models/language.model';\r\nimport { If } from '../../utils/if.component';\r\nimport packageJson from '../../../package.json';\r\n\r\n@Component({\r\n tag: 'swisspost-internet-header',\r\n styleUrl: 'post-internet-header.scss',\r\n shadow: true,\r\n})\r\nexport class PostInternetHeader {\r\n /**\r\n * Your project id, previously passed as query string parameter serviceId.\r\n */\r\n @Prop() project: string;\r\n\r\n /**\r\n * Sticky behaviour of the header.\r\n */\r\n @Prop() stickyness: StickynessOptions = 'minimal';\r\n\r\n /**\r\n * Initial language to be used. Overrides automatic language detection.\r\n */\r\n @Prop() language?: string;\r\n\r\n /**\r\n * Toggle the meta navigation.\r\n */\r\n @Prop() meta: boolean = true;\r\n\r\n /**\r\n * Toggle the login link (when logged out) or the user widget (when logged in).\r\n */\r\n @Prop() login: boolean = true;\r\n\r\n /**\r\n * Toggle the search button.\r\n */\r\n @Prop() search: boolean = true;\r\n\r\n /**\r\n * Toggle skiplinks. They help keyboard users to quickly jump to important sections of the page.\r\n */\r\n @Prop() skiplinks: boolean = true;\r\n\r\n /**\r\n * DEPRECATED!: Define a proxy URL for the config fetch request. Will be removed in the next major version\r\n */\r\n @Prop() configProxy?: string;\r\n\r\n /**\r\n * Target environment. Choose 'int01' for local testing.\r\n */\r\n @Prop() environment: Environment = 'prod';\r\n\r\n /**\r\n * Override the language switch links with custom URLs. Helpful when your application contains sub-pages and you\r\n * would like to stay on subpages when the user changes language.\r\n */\r\n @Prop() languageSwitchOverrides?: string | IAvailableLanguage[];\r\n\r\n /**\r\n * Customize the header config loaded from the post portal.\r\n */\r\n @Prop() customConfig?: string | ICustomConfig;\r\n\r\n /**\r\n * The header uses this cookie to set the language. Disables automatic language detection.\r\n */\r\n @Prop() languageCookieKey?: string;\r\n\r\n /**\r\n * The header uses this local storage key to set the language. Disables automatic language selection.\r\n */\r\n @Prop() languageLocalStorageKey?: string = 'swisspost-internet-header-language';\r\n\r\n /**\r\n * Set the currently activated route. If there is a link matching this URL in the header, it will be highlighted.\r\n * Will also highlight partly matching URLs. When set to auto, will use current location.href for comparison.\r\n */\r\n @Prop() activeRoute?: 'auto' | false | string = 'auto';\r\n\r\n /**\r\n * Online Services only: Add custom links to the special online service navigation entry\r\n */\r\n @Prop() osFlyoutOverrides?: string | NavMainEntity;\r\n\r\n /**\r\n * Displays the header at full width for full-screen applications\r\n */\r\n @Prop() fullWidth?: boolean = false;\r\n\r\n /**\r\n * Fires when the header has been rendered to the page.\r\n */\r\n @Event() headerLoaded: EventEmitter<void>;\r\n\r\n @State() activeFlyout: string | null = null;\r\n @State() activeDropdownElement: DropdownElement | null = null;\r\n @Element() host: HTMLElement;\r\n\r\n /**\r\n * Get the currently set language as a two letter string (\"de\", \"fr\" \"it\" or \"en\")\r\n * @returns string\r\n */\r\n @Method()\r\n async getCurrentLanguage(): Promise<'de' | 'fr' | 'it' | 'en' | string> {\r\n return state.currentLanguage ?? 'de';\r\n }\r\n\r\n private mainNav?: HTMLPostMainNavigationElement;\r\n private lastScrollTop = window.scrollY || document.documentElement.scrollTop;\r\n private throttledScroll: throttle<() => void>;\r\n private debouncedResize: debounce<() => void>;\r\n private lastWindowWidth: number = window.innerWidth;\r\n\r\n constructor() {\r\n if (this.project === undefined || this.project === '' || !isValidProjectId(this.project)) {\r\n throw new Error(\r\n `Internet Header project key is \"${this.project}\". Please provide a valid project key.`,\r\n );\r\n }\r\n }\r\n\r\n connectedCallback() {\r\n this.throttledScroll = throttle(300, () => this.handleScrollEvent());\r\n this.debouncedResize = debounce(200, () => this.handleResize());\r\n window.addEventListener('scroll', this.throttledScroll, { passive: true });\r\n window.addEventListener('resize', this.debouncedResize, { passive: true });\r\n }\r\n\r\n disconnectedCallback() {\r\n window.removeEventListener('scroll', this.throttledScroll);\r\n window.removeEventListener('resize', this.debouncedResize);\r\n\r\n // Reset the store to its original state\r\n dispose();\r\n }\r\n\r\n async componentWillLoad() {\r\n // Wait for the config to arrive, then render the header\r\n try {\r\n state.projectId = this.project;\r\n state.environment = this.environment;\r\n if (this.language !== undefined) state.currentLanguage = this.language;\r\n state.languageSwitchOverrides =\r\n typeof this.languageSwitchOverrides === 'string'\r\n ? JSON.parse(this.languageSwitchOverrides)\r\n : this.languageSwitchOverrides;\r\n state.osFlyoutOverrides =\r\n typeof this.osFlyoutOverrides === 'string'\r\n ? JSON.parse(this.osFlyoutOverrides)\r\n : this.osFlyoutOverrides;\r\n\r\n if (this.customConfig !== undefined && state.currentLanguage !== null) {\r\n state.localizedCustomConfig = getLocalizedCustomConfig(\r\n this.customConfig,\r\n state.currentLanguage,\r\n );\r\n }\r\n\r\n state.localizedConfig = await getLocalizedConfig({\r\n projectId: this.project,\r\n environment: this.environment,\r\n language: this.language,\r\n cookieKey: this.languageCookieKey,\r\n localStorageKey: this.languageLocalStorageKey,\r\n activeRouteProp: this.activeRoute,\r\n localizedCustomConfig: state.localizedCustomConfig,\r\n osFlyoutOverrides: state.osFlyoutOverrides,\r\n });\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n window.requestAnimationFrame(() => {\r\n this.handleResize();\r\n this.headerLoaded.emit();\r\n this.host.classList.add('header-loaded');\r\n });\r\n }\r\n\r\n @Watch('language')\r\n async handleLanguageChange(newValue: string) {\r\n state.currentLanguage = newValue;\r\n state.localizedConfig = await getLocalizedConfig({\r\n projectId: this.project,\r\n environment: this.environment,\r\n language: newValue,\r\n cookieKey: this.languageCookieKey,\r\n localStorageKey: this.languageLocalStorageKey,\r\n activeRouteProp: this.activeRoute,\r\n localizedCustomConfig: state.localizedCustomConfig,\r\n osFlyoutOverrides: state.osFlyoutOverrides,\r\n });\r\n if (this.customConfig)\r\n state.localizedCustomConfig = getLocalizedCustomConfig(this.customConfig, newValue);\r\n }\r\n\r\n @Watch('languageSwitchOverrides')\r\n handleAvailableLanguagesChage(newValue: string | IAvailableLanguage[]) {\r\n state.languageSwitchOverrides = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;\r\n }\r\n\r\n @Watch('osFlyoutOverrides')\r\n async handleOsFlyoutOverrides(newValue: string | NavMainEntity) {\r\n state.osFlyoutOverrides = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;\r\n state.localizedConfig = await getLocalizedConfig({\r\n projectId: this.project,\r\n environment: this.environment,\r\n language: this.language,\r\n cookieKey: this.languageCookieKey,\r\n localStorageKey: this.languageLocalStorageKey,\r\n activeRouteProp: this.activeRoute,\r\n localizedCustomConfig: state.localizedCustomConfig,\r\n osFlyoutOverrides: state.osFlyoutOverrides,\r\n });\r\n }\r\n\r\n @Watch('activeRoute')\r\n async handleActiveRouteChange(newValue: string | ActiveRouteProp) {\r\n state.localizedConfig = await getLocalizedConfig({\r\n projectId: this.project,\r\n environment: this.environment,\r\n language: this.language,\r\n cookieKey: this.languageCookieKey,\r\n localStorageKey: this.languageLocalStorageKey,\r\n activeRouteProp: newValue,\r\n localizedCustomConfig: state.localizedCustomConfig,\r\n osFlyoutOverrides: state.osFlyoutOverrides,\r\n });\r\n }\r\n\r\n @Watch('customConfig')\r\n async handleCustomConfigChange(newValue: string | ICustomConfig) {\r\n if (this.language === undefined) return;\r\n const localizedCustomConfig = getLocalizedCustomConfig(newValue, this.language);\r\n state.localizedCustomConfig = localizedCustomConfig;\r\n state.localizedConfig = await getLocalizedConfig({\r\n projectId: this.project,\r\n environment: this.environment,\r\n language: this.language,\r\n cookieKey: this.languageCookieKey,\r\n localStorageKey: this.languageLocalStorageKey,\r\n activeRouteProp: this.activeRoute,\r\n localizedCustomConfig: localizedCustomConfig,\r\n osFlyoutOverrides: state.osFlyoutOverrides,\r\n });\r\n }\r\n\r\n @Watch('search')\r\n handleSearchChange(newValue: boolean) {\r\n state.search = newValue;\r\n }\r\n\r\n @Watch('login')\r\n handleLoginChange(newValue: boolean) {\r\n state.login = newValue;\r\n }\r\n\r\n @Watch('meta')\r\n handleMetaChange(newValue: boolean) {\r\n state.meta = newValue;\r\n }\r\n\r\n @Listen('languageChanged')\r\n handleLanguageChangeEvent(event: CustomEvent<string>) {\r\n this.handleLanguageChange(event.detail);\r\n }\r\n\r\n private handleClickOutsideBound = this.handleClickOutside.bind(this);\r\n\r\n private handleClickOutside(event: Event) {\r\n // Close active dropdown element on click outside of it\r\n if (this.activeDropdownElement && !event.composedPath().includes(this.activeDropdownElement)) {\r\n this.activeDropdownElement.toggleDropdown(false);\r\n }\r\n }\r\n\r\n private handleKeyUp(event: KeyboardEvent) {\r\n if (event.key === 'Escape') {\r\n if (this.activeDropdownElement) {\r\n this.activeDropdownElement.toggleDropdown(false);\r\n }\r\n if (this.activeFlyout !== null && this.mainNav) {\r\n this.mainNav.toggleDropdown(false);\r\n }\r\n }\r\n }\r\n\r\n private handleScrollEvent() {\r\n // Credits: \"https://github.com/qeremy/so/blob/master/so.dom.js#L426\"\r\n const st = window.scrollY || document.documentElement.scrollTop;\r\n\r\n // Toggle class without re-rendering the component if stickyness is minimal\r\n // the other stickyness modes do not need the class\r\n if (this.stickyness === 'minimal') {\r\n this.host.classList.toggle('scrolling-up', st <= this.lastScrollTop);\r\n }\r\n\r\n // For Mobile or negative scrolling\r\n this.lastScrollTop = st <= 0 ? 0 : st;\r\n }\r\n\r\n private handleResize() {\r\n // Close main navigation dropdown if size changed to bigger than 1024px (search dropdown will be kept open)\r\n if (this.isMainNavOpen() && this.lastWindowWidth < 1024 && window.innerWidth >= 1024) {\r\n this.activeDropdownElement?.toggleDropdown(false);\r\n }\r\n\r\n this.lastWindowWidth = window.innerWidth;\r\n }\r\n\r\n /**\r\n * Close open dropdown menus if another is being opened\r\n *\r\n * @param event Dropdown toggled event\r\n * @returns void\r\n */\r\n private handleDropdownToggled(event: CustomEvent<DropdownEvent>) {\r\n if (!event.detail.open && this.activeDropdownElement !== event.detail.element) {\r\n // Some dropdown got closed programmatically (possibly by this function). To prevent\r\n // a circle or an outdated state, we'll not handle this event\r\n return;\r\n }\r\n\r\n if (event.detail.open === true) {\r\n if (this.activeDropdownElement) {\r\n this.activeDropdownElement.toggleDropdown(false);\r\n }\r\n\r\n this.activeDropdownElement = event.detail.element;\r\n\r\n if (window.innerWidth >= 1024) {\r\n // Add event listener to close active dropdown element on click outsite of it\r\n // Also adds 10ms delay in case of an external interaction:\r\n // Some button on the page calls toggleDropdown() -> dropdown opens\r\n // Click event bubbles to the window, this.handleClickOutsideBound closes dropdown again\r\n window.setTimeout(() => {\r\n window.addEventListener('click', this.handleClickOutsideBound);\r\n }, 10);\r\n }\r\n\r\n if (this.activeFlyout !== null && this.mainNav) {\r\n this.mainNav.setActiveFlyout(null);\r\n }\r\n } else {\r\n this.activeDropdownElement = null;\r\n\r\n // Remove event listener as it is not needed if no dropdown element is active\r\n window.removeEventListener('click', this.handleClickOutsideBound);\r\n }\r\n }\r\n\r\n /**\r\n * Close open dropdowns if the flyout is being opened\r\n * @param event Flyout toggle event\r\n */\r\n private handleFlyoutToggled(event: CustomEvent<string | null>) {\r\n this.activeFlyout = event.detail;\r\n\r\n if (this.activeDropdownElement && event.detail && !this.isMainNavOpen()) {\r\n this.activeDropdownElement.toggleDropdown(false);\r\n }\r\n }\r\n\r\n private toggleMobileDropdown() {\r\n this.mainNav?.toggleDropdown();\r\n }\r\n\r\n private isMainNavOpen() {\r\n return (\r\n this.activeDropdownElement && this.activeDropdownElement.tagName === 'POST-MAIN-NAVIGATION'\r\n );\r\n }\r\n\r\n render() {\r\n if (!state.localizedConfig?.header) {\r\n console.error(new Error('Internet Header: Config cannot be loaded'));\r\n return;\r\n }\r\n\r\n const config = state.localizedConfig;\r\n const renderMetaNavigation =\r\n this.meta &&\r\n config.header.navMeta !== undefined &&\r\n config.header.navMeta?.filter(meta => !meta.isHomeLink).length > 0;\r\n const renderLogin =\r\n (this.login ?? !config.header.isLoginWidgetHidden) && config.header.loginWidgetOptions;\r\n const renderLanguageSwitch = config.header.navLang.length > 1;\r\n\r\n return (\r\n <Host\r\n class={`stickyness-${this.stickyness} ${\r\n this.activeDropdownElement || this.activeFlyout ? 'dropdown-open' : ''\r\n }`}\r\n data-version={packageJson.version}\r\n onKeyup={(e: KeyboardEvent) => this.handleKeyUp(e)}\r\n >\r\n <header class={`post-internet-header${this.fullWidth ? ' full-width' : ''}`}>\r\n <SvgSprite />\r\n <If condition={this.skiplinks === true}>\r\n <post-skiplinks></post-skiplinks>\r\n </If>\r\n <If condition={renderMetaNavigation === true}>\r\n <post-meta-navigation\r\n orientation=\"horizontal\"\r\n class=\"hidden-lg\"\r\n full-width={this.fullWidth}\r\n >\r\n <If condition={renderLanguageSwitch === true}>\r\n <post-language-switch\r\n id=\"post-language-switch-desktop\"\r\n mode=\"dropdown\"\r\n onDropdownToggled={e => this.handleDropdownToggled(e)}\r\n ></post-language-switch>\r\n </If>\r\n </post-meta-navigation>\r\n </If>\r\n <div class=\"main-navigation-container wide-container\">\r\n <post-logo></post-logo>\r\n <button class=\"menu-button nav-link\" onClick={() => this.toggleMobileDropdown()}>\r\n <span class=\"menu-button-text visually-hidden\">{config.header.mobileMenu.text}</span>\r\n <SvgIcon name={this.isMainNavOpen() ? 'pi-close' : 'pi-menu'}></SvgIcon>\r\n </button>\r\n <post-main-navigation\r\n onDropdownToggled={e => this.handleDropdownToggled(e)}\r\n onFlyoutToggled={e => this.handleFlyoutToggled(e)}\r\n ref={el => (this.mainNav = el)}\r\n >\r\n <If condition={renderMetaNavigation === true}>\r\n <post-meta-navigation orientation=\"vertical\">\r\n <If condition={renderLanguageSwitch === true}>\r\n <post-language-switch\r\n id=\"post-language-switch-mobile\"\r\n mode=\"list\"\r\n ></post-language-switch>\r\n </If>\r\n </post-meta-navigation>\r\n </If>\r\n </post-main-navigation>\r\n <div class=\"main-navigation-controls\">\r\n <If condition={this.search !== false}>\r\n <post-search onDropdownToggled={e => this.handleDropdownToggled(e)}></post-search>\r\n </If>\r\n <If condition={!!renderLogin}>\r\n <post-klp-login-widget>\r\n <slot name=\"login-widget\"></slot>\r\n </post-klp-login-widget>\r\n </If>\r\n <If condition={renderMetaNavigation === false && renderLanguageSwitch === true}>\r\n <post-language-switch\r\n id=\"post-language-switch-no-meta\"\r\n onDropdownToggled={e => this.handleDropdownToggled(e)}\r\n mode=\"dropdown\"\r\n ></post-language-switch>\r\n </If>\r\n <slot name=\"main\"></slot>\r\n </div>\r\n </div>\r\n </header>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ System.register([],(function(e){"use strict";return{execute:function(){var r=e("u",function(){var e=0;return function(r){r=r||"";e+=1;return r+e}}());var t=e("p",window.matchMedia("(prefers-reduced-motion: reduce)").matches)}}}));
2
+ //# sourceMappingURL=p-c29ec122.system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["uniqueId","exports","num","prefix","prefersReducedMotion","window","matchMedia","matches"],"sources":["src/utils/utils.ts"],"sourcesContent":["/**\r\n * Generates a (sequential) unique ID. If prefix is given, the ID is appended to it.\r\n *\r\n * @param prefix The value to prefix the ID with\r\n * @returns Unique ID\r\n */\r\nexport const uniqueId = (() => {\r\n let num = 0;\r\n return function (prefix?: string) {\r\n prefix = prefix || '';\r\n num += 1;\r\n return prefix + num;\r\n };\r\n})();\r\n\r\nexport const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n"],"mappings":"2EAMaA,EAAQC,EAAA,IAAG,WACtB,IAAIC,EAAM,EACV,OAAO,SAAUC,GACfA,EAASA,GAAU,GACnBD,GAAO,EACP,OAAOC,EAASD,C,CAEnB,CAPuB,I,IASXE,EAAoBH,EAAA,IAAGI,OAAOC,WAAW,oCAAoCC,Q"}
@@ -0,0 +1,2 @@
1
+ System.register(["./p-1b8f9bc8.system.js"],(function(e){"use strict";var n,t;return{setters:[function(e){n=e.a;t=e.f}],execute:function(){var r=function(e,n,t){var r=e.get(n);if(!r){e.set(n,[t])}else if(!r.includes(t)){r.push(t)}};var u=function(e,n){var t;return function(){var r=[];for(var u=0;u<arguments.length;u++){r[u]=arguments[u]}if(t){clearTimeout(t)}t=setTimeout((function(){t=0;e.apply(void 0,r)}),n)}};var i=function(e){return!("isConnected"in e)||e.isConnected};var o=u((function(e){for(var n=0,t=e.keys();n<t.length;n++){var r=t[n];e.set(r,e.get(r).filter(i))}}),2e3);var f=function(){if(typeof n!=="function"){return{}}var e=new Map;return{dispose:function(){return e.clear()},get:function(t){var u=n();if(u){r(e,t,u)}},set:function(n){var r=e.get(n);if(r){e.set(n,r.filter(t))}o(e)},reset:function(){e.forEach((function(e){return e.forEach(t)}));o(e)}}};var s=function(e,n){if(n===void 0){n=function(e,n){return e!==n}}var t=new Map(Object.entries(e!==null&&e!==void 0?e:{}));var r={dispose:[],get:[],set:[],reset:[]};var u=function(){t=new Map(Object.entries(e!==null&&e!==void 0?e:{}));r.reset.forEach((function(e){return e()}))};var i=function(){r.dispose.forEach((function(e){return e()}));u()};var o=function(e){r.get.forEach((function(n){return n(e)}));return t.get(e)};var f=function(e,u){var i=t.get(e);if(n(u,i,e)){t.set(e,u);r.set.forEach((function(n){return n(e,u,i)}))}};var s=typeof Proxy==="undefined"?{}:new Proxy(e,{get:function(e,n){return o(n)},ownKeys:function(e){return Array.from(t.keys())},getOwnPropertyDescriptor:function(){return{enumerable:true,configurable:true}},has:function(e,n){return t.has(n)},set:function(e,n,t){f(n,t);return true}});var a=function(e,n){r[e].push(n);return function(){c(r[e],n)}};var v=function(n,t){var r=a("set",(function(e,r){if(e===n){t(r)}}));var u=a("reset",(function(){return t(e[n])}));return function(){r();u()}};var g=function(){var e=[];for(var n=0;n<arguments.length;n++){e[n]=arguments[n]}var t=e.reduce((function(e,n){if(n.set){e.push(a("set",n.set))}if(n.get){e.push(a("get",n.get))}if(n.reset){e.push(a("reset",n.reset))}if(n.dispose){e.push(a("dispose",n.dispose))}return e}),[]);return function(){return t.forEach((function(e){return e()}))}};var l=function(e){var n=t.get(e);r.set.forEach((function(t){return t(e,n,n)}))};return{state:s,get:o,set:f,on:a,onChange:v,use:g,dispose:i,reset:u,forceUpdate:l}};var c=function(e,n){var t=e.indexOf(n);if(t>=0){e[t]=e[e.length-1];e.length--}};var a=function(e,n){var t=s(e,n);t.use(f());return t};var v=a({projectId:null,currentLanguage:null,localizedConfig:null,environment:"prod",search:true,login:true,meta:true}),g=v.state,l=v.reset,p=v.dispose;e({s:g,d:p})}}}));
2
+ //# sourceMappingURL=p-c69923cd.system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["appendToMap","map","propName","value","items","get","set","includes","push","debounce","fn","ms","timeoutId","args","_i","arguments","length","clearTimeout","setTimeout","apply","isConnected","maybeElement","cleanupElements","_a","keys","key","filter","stencilSubscription","getRenderingRef","elmsToUpdate","Map","dispose","clear","elm","elements","forceUpdate","reset","forEach","elms","createObservableMap","defaultState","shouldUpdate","a","b","states","Object","entries","handlers","cb","oldValue","state","Proxy","_","ownKeys","Array","from","getOwnPropertyDescriptor","enumerable","configurable","has","on","eventName","callback","removeFromArray","onChange","unSet","newValue","unReset","use","subscriptions","unsubs","reduce","subscription","unsub","array","item","index","indexOf","createStore","projectId","currentLanguage","localizedConfig","environment","search","login","meta","exports","s","d"],"sources":["../../node_modules/.pnpm/@stencil+store@1.5.0_@stencil+core@3.0.0/node_modules/@stencil/store/dist/index.mjs","src/data/store.ts"],"sourcesContent":["import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n let states = new Map(Object.entries(defaultState !== null && defaultState !== void 0 ? defaultState : {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n const reset = () => {\n states = new Map(Object.entries(defaultState !== null && defaultState !== void 0 ? defaultState : {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(defaultState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const unSet = on('set', (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n });\n const unReset = on('reset', () => cb(defaultState[propName]));\n return () => {\n unSet();\n unReset();\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n","import { createStore } from '@stencil/store';\r\nimport { Environment, ILocalizedConfig, ILocalizedCustomConfig } from '../models/general.model';\r\nimport { NavMainEntity } from '../models/header.model';\r\nimport { IAvailableLanguage } from '../models/language.model';\r\n\r\nexport interface HeaderState {\r\n localizedConfig: ILocalizedConfig | null;\r\n currentLanguage: string | null;\r\n projectId: string | null;\r\n environment: Environment;\r\n search: boolean;\r\n login: boolean;\r\n meta: boolean;\r\n languageSwitchOverrides?: IAvailableLanguage[];\r\n localizedCustomConfig?: ILocalizedCustomConfig;\r\n osFlyoutOverrides?: NavMainEntity;\r\n}\r\n\r\nexport const { state, reset, dispose } = createStore<HeaderState>({\r\n projectId: null,\r\n currentLanguage: null,\r\n localizedConfig: null,\r\n environment: 'prod',\r\n search: true,\r\n login: true,\r\n meta: true,\r\n});\r\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ System.register([],(function(e){"use strict";return{execute:function(){e({d:t,t:n});function n(e,n,t,f){var i;var u=false;var r=0;function o(){if(i){clearTimeout(i)}}function a(){o();u=true}if(typeof n!=="boolean"){f=t;t=n;n=undefined}function c(){for(var a=arguments.length,c=new Array(a),d=0;d<a;d++){c[d]=arguments[d]}var s=this;var l=Date.now()-r;if(u){return}function v(){r=Date.now();t.apply(s,c)}function y(){i=undefined}if(f&&!i){v()}o();if(f===undefined&&l>e){v()}else if(n!==true){i=setTimeout(f?y:v,f===undefined?e-l:e)}}c.cancel=a;return c}function t(e,t,f){return f===undefined?n(e,t,false):n(e,f,t!==false)}}}}));
2
+ //# sourceMappingURL=p-c8296f63.system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["throttle","delay","noTrailing","callback","debounceMode","timeoutID","cancelled","lastExec","clearExistingTimeout","clearTimeout","cancel","undefined","wrapper","_len","arguments","length","arguments_","Array","_key","self","this","elapsed","Date","now","exec","apply","clear","setTimeout","debounce","atBegin"],"sources":["../../node_modules/.pnpm/throttle-debounce@3.0.1/node_modules/throttle-debounce/esm/index.js"],"sourcesContent":["/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {boolean} [noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds while the\n * throttled-function is being called. If noTrailing is false or unspecified, callback will be executed one final time\n * after the last throttled-function call. (After the throttled-function has not been called for `delay` milliseconds,\n * the internal counter is reset).\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the throttled-function is executed.\n * @param {boolean} [debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is false (at end),\n * schedule `callback` to execute after `delay` ms.\n *\n * @returns {Function} A new, throttled, function.\n */\nfunction throttle (delay, noTrailing, callback, debounceMode) {\n /*\n * After wrapper has stopped being called, this timeout ensures that\n * `callback` is executed at the proper times in `throttle` and `end`\n * debounce modes.\n */\n var timeoutID;\n var cancelled = false; // Keep track of the last time `callback` was executed.\n\n var lastExec = 0; // Function to clear existing timeout\n\n function clearExistingTimeout() {\n if (timeoutID) {\n clearTimeout(timeoutID);\n }\n } // Function to cancel next exec\n\n\n function cancel() {\n clearExistingTimeout();\n cancelled = true;\n } // `noTrailing` defaults to falsy.\n\n\n if (typeof noTrailing !== 'boolean') {\n debounceMode = callback;\n callback = noTrailing;\n noTrailing = undefined;\n }\n /*\n * The `wrapper` function encapsulates all of the throttling / debouncing\n * functionality and when executed will limit the rate at which `callback`\n * is executed.\n */\n\n\n function wrapper() {\n for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {\n arguments_[_key] = arguments[_key];\n }\n\n var self = this;\n var elapsed = Date.now() - lastExec;\n\n if (cancelled) {\n return;\n } // Execute `callback` and update the `lastExec` timestamp.\n\n\n function exec() {\n lastExec = Date.now();\n callback.apply(self, arguments_);\n }\n /*\n * If `debounceMode` is true (at begin) this is used to clear the flag\n * to allow future `callback` executions.\n */\n\n\n function clear() {\n timeoutID = undefined;\n }\n\n if (debounceMode && !timeoutID) {\n /*\n * Since `wrapper` is being called for the first time and\n * `debounceMode` is true (at begin), execute `callback`.\n */\n exec();\n }\n\n clearExistingTimeout();\n\n if (debounceMode === undefined && elapsed > delay) {\n /*\n * In throttle mode, if `delay` time has been exceeded, execute\n * `callback`.\n */\n exec();\n } else if (noTrailing !== true) {\n /*\n * In trailing throttle mode, since `delay` time has not been\n * exceeded, schedule `callback` to execute `delay` ms after most\n * recent execution.\n *\n * If `debounceMode` is true (at begin), schedule `clear` to execute\n * after `delay` ms.\n *\n * If `debounceMode` is false (at end), schedule `callback` to\n * execute after `delay` ms.\n */\n timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n }\n }\n\n wrapper.cancel = cancel; // Return the wrapper function.\n\n return wrapper;\n}\n\n/* eslint-disable no-undefined */\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {boolean} [atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n *\n * @returns {Function} A new, debounced function.\n */\n\nfunction debounce (delay, atBegin, callback) {\n return callback === undefined ? throttle(delay, atBegin, false) : throttle(delay, callback, atBegin !== false);\n}\n\nexport { debounce, throttle };\n//# sourceMappingURL=index.js.map\n"],"mappings":"oFAkBA,SAASA,EAAUC,EAAOC,EAAYC,EAAUC,GAM9C,IAAIC,EACJ,IAAIC,EAAY,MAEhB,IAAIC,EAAW,EAEf,SAASC,IACP,GAAIH,EAAW,CACbI,aAAaJ,E,CAEnB,CAGE,SAASK,IACPF,IACAF,EAAY,IAChB,CAGE,UAAWJ,IAAe,UAAW,CACnCE,EAAeD,EACfA,EAAWD,EACXA,EAAaS,S,CASf,SAASC,IACP,IAAK,IAAIC,EAAOC,UAAUC,OAAQC,EAAa,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAAQ,CAC7FF,EAAWE,GAAQJ,UAAUI,E,CAG/B,IAAIC,EAAOC,KACX,IAAIC,EAAUC,KAAKC,MAAQhB,EAE3B,GAAID,EAAW,CACb,M,CAIF,SAASkB,IACPjB,EAAWe,KAAKC,MAChBpB,EAASsB,MAAMN,EAAMH,EAC3B,CAOI,SAASU,IACPrB,EAAYM,SAClB,CAEI,GAAIP,IAAiBC,EAAW,CAK9BmB,G,CAGFhB,IAEA,GAAIJ,IAAiBO,WAAaU,EAAUpB,EAAO,CAKjDuB,G,MACK,GAAItB,IAAe,KAAM,CAY9BG,EAAYsB,WAAWvB,EAAesB,EAAQF,EAAMpB,IAAiBO,UAAYV,EAAQoB,EAAUpB,E,CAEzG,CAEEW,EAAQF,OAASA,EAEjB,OAAOE,CACT,CAkBA,SAASgB,EAAU3B,EAAO4B,EAAS1B,GACjC,OAAOA,IAAaQ,UAAYX,EAASC,EAAO4B,EAAS,OAAS7B,EAASC,EAAOE,EAAU0B,IAAY,MAC1G,C"}
@@ -0,0 +1,2 @@
1
+ var __awaiter=this&&this.__awaiter||function(t,i,e,n){function o(t){return t instanceof e?t:new e((function(i){i(t)}))}return new(e||(e=Promise))((function(e,r){function a(t){try{s(n.next(t))}catch(t){r(t)}}function l(t){try{s(n["throw"](t))}catch(t){r(t)}}function s(t){t.done?e(t.value):o(t.value).then(a,l)}s((n=n.apply(t,i||[])).next())}))};var __generator=this&&this.__generator||function(t,i){var e={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},n,o,r,a;return a={next:l(0),throw:l(1),return:l(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function l(t){return function(i){return s([t,i])}}function s(l){if(n)throw new TypeError("Generator is already executing.");while(a&&(a=0,l[0]&&(e=0)),e)try{if(n=1,o&&(r=l[0]&2?o["return"]:l[0]?o["throw"]||((r=o["return"])&&r.call(o),0):o.next)&&!(r=r.call(o,l[1])).done)return r;if(o=0,r)l=[l[0]&2,r.value];switch(l[0]){case 0:case 1:r=l;break;case 4:e.label++;return{value:l[1],done:false};case 5:e.label++;o=l[1];l=[0];continue;case 7:l=e.ops.pop();e.trys.pop();continue;default:if(!(r=e.trys,r=r.length>0&&r[r.length-1])&&(l[0]===6||l[0]===2)){e=0;continue}if(l[0]===3&&(!r||l[1]>r[0]&&l[1]<r[3])){e.label=l[1];break}if(l[0]===6&&e.label<r[1]){e.label=r[1];r=l;break}if(r&&e.label<r[2]){e.label=r[2];e.ops.push(l);break}if(r[2])e.ops.pop();e.trys.pop();continue}l=i.call(t,e)}catch(t){l=[6,t];o=0}finally{n=r=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:true}}};System.register(["./p-1b8f9bc8.system.js","./p-c8296f63.system.js","./p-b3014611.system.js","./p-c69923cd.system.js","./p-549b62ba.system.js","./p-4654b2af.system.js","./p-ee915bbe.system.js"],(function(t){"use strict";var i,e,n,o,r,a,l,s,u,d,f,m,c;return{setters:[function(t){i=t.h;e=t.r;n=t.c;o=t.H;r=t.g},function(t){a=t.t},function(t){l=t.c;s=t.d;u=t.e},function(t){d=t.s},function(t){f=t.u},function(t){m=t.S},function(t){c=t.S}],execute:function(){var h=function(t){var e,n,o;var r=t.level.url?"a":"button";return i(r,{class:{"main-link":true,active:!!t.level.isActiveOverride,focus:t.isOpen},href:t.level.url,title:((e=t.level.title)===null||e===void 0?void 0:e.trim())&&((n=t.level.title)===null||n===void 0?void 0:n.trim())!==((o=t.level.text)===null||o===void 0?void 0:o.trim())?t.level.title:undefined,tabindex:t.level.url?undefined:0,"aria-haspopup":!t.level.noFlyout+"","aria-expanded":t.level.noFlyout?null:t.isOpen+"",onTouchEnd:function(i){return t.onTouchEnd(i)},onKeyDown:function(i){return t.onKeyDown(i)},onClick:function(i){return t.onClick(i)}},i("span",null,t.level.text),i("svg",{"aria-hidden":"true"},i("use",{href:"#pi-pointy-arrow-right"})))};var p='.flyout-nav,.flyout-column h3{font-size:0.9375rem;line-height:1.4}@media (min-width: 600px){.flyout-nav,.flyout-column h3{font-size:1rem}}@media (min-width: 1024px){.flyout-nav,.flyout-column h3{font-size:1.0625rem}}.flyout-title{font-size:1.0625rem;line-height:1.4}@media (min-width: 600px){.flyout-title{font-size:1.25rem}}@media (min-width: 1024px){.flyout-title{font-size:1.5rem;line-height:1.1}}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:700;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:400;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:300;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff") format("woff")}*,:host,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{font-family:"Frutiger Neue For Post", system-ui, sans-serif}button{font:inherit;padding:0}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:white}}.main-container,.flyout-linklist,.no-list{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}.btn-blank{background-color:transparent;border:none;border-radius:0;padding:0}.main-link,.flyout-close-button,.flyout-link,.nav-link{text-decoration:none;color:rgba(0, 0, 0, 0.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:transparent;border-radius:0;-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.5rem}.main-link:hover,.flyout-close-button:hover,.flyout-link:hover,.nav-link:hover,.main-link:focus,.flyout-close-button:focus,.flyout-link:focus,.nav-link:focus{color:black}.main-link>svg,.flyout-close-button>svg,.flyout-link>svg,.nav-link>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.main-link>span,.flyout-close-button>span,.flyout-link>span,.nav-link>span{-ms-flex-negative:1;flex-shrink:1}.box>*:first-child{margin-top:0}.box>*:last-child{margin-bottom:0}.mirrored{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.bold{font-weight:700}.light{font-weight:300}.d-flex{display:-ms-flexbox;display:flex}.d-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.align-items-center{-ms-flex-align:center;align-items:center}@media (min-width: 1441px){.wide-container{margin:0 auto;max-width:1440px}}@media (max-width: 599.98px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 600px) and (max-width: 1023.98px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}.visually-hidden{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}@media (max-width: -0.02px){.hidden-xs{display:none}}@media (max-width: 399.98px){.hidden-sm{display:none}}@media (max-width: 599.98px){.hidden-rg{display:none}}@media (max-width: 779.98px){.hidden-md{display:none}}@media (max-width: 1023.98px){.hidden-lg{display:none}}@media (max-width: 1279.98px){.hidden-xl{display:none}}@media (max-width: 1440.98px){.hidden-xxl{display:none}}:host{--host-window-height:var(--window-height, 100vh);--calculated-header-height:calc(var(--header-height) + 1px);display:block;min-width:0;height:var(--header-height)}:host(.no-animation) *{-webkit-animation:none !important;animation:none !important;-webkit-transition:none !important;transition:none !important}@media (min-width: 1024px){.main-navigation,.main-container,.main-container li,.main-link{height:100%}}.main-navigation{font-size:1.125rem}@media (min-width: 1024px){.main-navigation{font-size:1rem}}@media (min-width: 1280px){.main-navigation{margin:0 0.75rem;font-size:1.125rem}}@media (min-width: 1441px){.main-navigation{font-size:1.25rem}}@media (max-width: 1023.98px){.main-navigation{position:absolute;top:var(--calculated-header-height);left:0;background:white;height:calc(var(--host-window-height) - var(--calculated-header-height));width:100%;margin:0;overflow:hidden scroll;-webkit-overflow-scrolling:touch;-ms-scroll-chaining:none;overscroll-behavior:contain;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;z-index:-1;visibility:hidden;-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition:visibility 0.35s, -webkit-transform 0.35s;transition:visibility 0.35s, -webkit-transform 0.35s;transition:transform 0.35s, visibility 0.35s;transition:transform 0.35s, visibility 0.35s, -webkit-transform 0.35s}}@media (max-width: 1023.98px) and (prefers-reduced-motion: reduce){.main-navigation{-webkit-transition:none;transition:none}}@media (max-width: 1023.98px){.main-navigation.open{-webkit-transform:translateY(0);transform:translateY(0);visibility:visible}}.main-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:start;justify-content:flex-start}@media (max-width: 1023.98px){.main-container{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:start;justify-content:flex-start;padding-top:2.5rem;padding-bottom:2.5rem}.main-container>li+li{border-top:1px solid #e6e6e6}}@media (min-width: 1024px){.main-container{padding-right:0;padding-left:0}}.main-container>li{-ms-flex:0 1 auto;flex:0 1 auto;min-width:0}.main-link{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding-right:0.75rem;padding-left:0.75rem;text-align:left;cursor:pointer;width:100%}@media (min-width: 1024px){.main-link svg{display:none}}@media (max-width: 1023.98px){.main-link{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;font-weight:300;padding:0.625rem 0;width:100%;text-align:left}.main-link svg{width:1.5rem;height:1.5rem}}.main-link span{overflow:hidden;text-overflow:ellipsis}.main-link,.flyout-link{position:relative;color:black}.main-link::after,.flyout-link::after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:4px;background-color:transparent;opacity:0;-webkit-transform:scaleX(0.8);transform:scaleX(0.8);-webkit-transition:opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1)}@media (prefers-reduced-motion: reduce){.main-link::after,.flyout-link::after{-webkit-transition:none;transition:none}}.main-link:hover::after,.main-link.focus::after,.flyout-link:hover::after,.flyout-link.focus::after{background-color:#cccccc;opacity:1;-webkit-transform:scale(1);transform:scale(1)}.main-link.active,.flyout-link.active{font-weight:700}.main-link.active::after,.flyout-link.active::after{background-color:#fc0;opacity:1;-webkit-transform:scale(1);transform:scale(1)}.flyout{left:0;width:100%;background:white;padding-bottom:3rem;overflow:auto;-ms-scroll-chaining:none;overscroll-behavior:contain;visibility:hidden}@media (min-width: 1024px){.flyout{position:absolute;top:100%;max-height:calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);z-index:-1;-webkit-box-shadow:0 0 1px 0 rgba(0, 0, 0, 0.4);box-shadow:0 0 1px 0 rgba(0, 0, 0, 0.4);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.flyout.open{-webkit-box-shadow:0 0 8px 0 rgba(0, 0, 0, 0.4);box-shadow:0 0 8px 0 rgba(0, 0, 0, 0.4);-webkit-transform:translateY(0);transform:translateY(0)}}@media (max-width: 1023.98px){.flyout{position:fixed;top:0;height:100%;z-index:1;-webkit-transform:translateX(100%);transform:translateX(100%)}.flyout.open{-webkit-transform:translateX(0);transform:translateX(0)}}.flyout.open{visibility:visible}.flyout.animate{-webkit-transition:visibility 0.35s, -webkit-transform 0.35s, -webkit-box-shadow 0.35s;transition:visibility 0.35s, -webkit-transform 0.35s, -webkit-box-shadow 0.35s;transition:transform 0.35s, visibility 0.35s, box-shadow 0.35s;transition:transform 0.35s, visibility 0.35s, box-shadow 0.35s, -webkit-transform 0.35s, -webkit-box-shadow 0.35s}@media (prefers-reduced-motion: reduce){.flyout.animate{-webkit-transition:none;transition:none}}.flyout-nav{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;min-height:3.5rem;-webkit-box-sizing:content-box;box-sizing:content-box}.flyout-row{display:-ms-flexbox;display:flex;gap:1.5rem}@media (max-width: 1023.98px){.flyout-row{display:grid;grid-template-columns:1fr 1fr}}@media (max-width: 599.98px){.flyout-row{grid-template-columns:1fr}}.flyout-column{-ms-flex:1;flex:1;max-width:25%}@media (max-width: 1023.98px){.flyout-column{max-width:none}}.flyout-column h3{margin-top:0}.flyout-back-button{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-size:1rem;font-weight:400;cursor:pointer}@media (max-width: 599.98px){.flyout-back-button{padding-right:16px;padding-left:16px}}@media (min-width: 600px) and (max-width: 1023.98px){.flyout-back-button{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.flyout-back-button{padding-right:40px;padding-left:40px}}.flyout-back-button svg{width:1.5rem;height:1.5rem}@media (min-width: 1024px){.flyout-back-button{display:none}}.flyout-close-button{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;margin-left:auto;padding:0 1.5rem;cursor:pointer}.flyout-close-button svg{width:1.5rem;height:1.5rem}@media (max-width: 1023.98px){.flyout-close-button{display:none}}.flyout-linklist li{border-top:1px solid #e6e6e6}.flyout-linklist:first-child>li{border-top-color:transparent}.flyout-link{display:block;padding:0.75rem 0}.flyout-title{margin:2.5rem 0 1.5rem 0}@media (min-width: 1024px){.flyout-title{display:none}}';var y=t("post_main_navigation",function(){function t(t){e(this,t);this.dropdownToggled=n(this,"dropdownToggled",7);this.flyoutToggled=n(this,"flyoutToggled",7);this.resizeTimer=null;this.mouseLeaveTimer=null;this.mouseEnterTimer=null;this.activeFlyout=undefined;this.mobileMenuOpen=undefined}t.prototype.connectedCallback=function(){var t=this;this.throttledResize=a(300,(function(){return t.handleResize()}));window.addEventListener("resize",this.throttledResize,{passive:true});this.setWindowHeight()};t.prototype.disconnectedCallback=function(){window.removeEventListener("resize",this.throttledResize);l();if(this.mouseEnterTimer!==null)window.clearTimeout(this.mouseEnterTimer);if(this.mouseLeaveTimer!==null)window.clearTimeout(this.mouseLeaveTimer)};t.prototype.handleResize=function(){var t=this;this.host.classList.add("no-animation");if(this.resizeTimer!==null)window.clearTimeout(this.resizeTimer);this.resizeTimer=window.setTimeout((function(){t.host.classList.remove("no-animation")}),300);this.setWindowHeight()};t.prototype.setWindowHeight=function(){var t=this;if(!this.host){return}this.host.style.setProperty("--window-height","".concat(window.innerHeight,"px"));window.setTimeout((function(){t.host.style.setProperty("--window-height","".concat(window.innerHeight,"px"))}),100)};t.prototype.openFlyout=function(t){var i;var e=(i=this.host.shadowRoot)===null||i===void 0?void 0:i.getElementById(t);if(e&&this.activeFlyout!==""){this.addFlyoutAnimation(e)}this.activeFlyout=t;this.flyoutToggled.emit(t);this.setWindowHeight();if(this.mouseLeaveTimer!==null){window.clearTimeout(this.mouseLeaveTimer);this.mouseLeaveTimer=null}};t.prototype.closeFlyout=function(t){var i;if(t===undefined)return;var e=(i=this.host.shadowRoot)===null||i===void 0?void 0:i.getElementById(t);if(e){this.addFlyoutAnimation(e)}this.activeFlyout=null;this.flyoutToggled.emit()};t.prototype.addFlyoutAnimation=function(t){var i=this;if(!f()){t.classList.add("animate");t.addEventListener("transitionend",(function(){return i.removeFlyoutAnimation(t)}),{once:true})}};t.prototype.removeFlyoutAnimation=function(t){t.classList.remove("animate")};t.prototype.isActiveFlyout=function(t){return t===this.activeFlyout};t.prototype.handleMouseEnter=function(t){var i=this;if(this.mouseEnterTimer!==null){window.clearTimeout(this.mouseEnterTimer);this.mouseEnterTimer=null}if(this.mouseLeaveTimer&&this.activeFlyout===t.id){window.clearTimeout(this.mouseLeaveTimer);this.mouseLeaveTimer=null}if(window.innerWidth>=1024&&t.flyout.length>0&&this.activeFlyout!==t.id){this.mouseEnterTimer=window.setTimeout((function(){i.mouseEnterTimer=null;if(t.id!==undefined)i.openFlyout(t.id)}),200)}};t.prototype.handleMouseLeave=function(t){var i=this;if(this.mouseEnterTimer!==null){window.clearTimeout(this.mouseEnterTimer)}if(this.activeFlyout&&this.activeFlyout!==t.id){return}if(window.innerWidth>=1024&&t.flyout.length>0){this.mouseLeaveTimer=window.setTimeout((function(){i.closeFlyout(t.id)}),300)}};t.prototype.handleTouchEnd=function(t,i){if(!this.isActiveFlyout(i.id)&&!i.noFlyout){if(t.cancelable)t.preventDefault();if(i.id)this.openFlyout(i.id)}};t.prototype.handleKeyPress=function(t,i){if(t.key==="Enter"&&!this.isActiveFlyout(i.id)&&!i.noFlyout){t.preventDefault();if(i.id)this.openFlyout(i.id)}};t.prototype.handleClick=function(t,i){if(!this.isActiveFlyout(i.id)&&!i.noFlyout){t.preventDefault();if(i.id)this.openFlyout(i.id)}};t.prototype.setBodyScroll=function(){if(this.mobileMenuOpen){s(this.flyoutElement)}else{u(this.flyoutElement)}};t.prototype.toggleDropdown=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(i){this.mobileMenuOpen=t===undefined?!this.mobileMenuOpen:t;this.dropdownToggled.emit({open:this.mobileMenuOpen,element:this.host});if(t===false){this.closeFlyout()}this.setBodyScroll();this.setWindowHeight();return[2,this.mobileMenuOpen]}))}))};t.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){var t,i;return __generator(this,(function(e){i=(t=this.host.shadowRoot)===null||t===void 0?void 0:t.querySelector(".main-link");if(i){i.focus()}return[2]}))}))};t.prototype.setActiveFlyout=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(i){this.activeFlyout=t;this.flyoutToggled.emit(this.activeFlyout);return[2]}))}))};t.prototype.render=function(){var t=this;var e;if(((e=d.localizedConfig)===null||e===void 0?void 0:e.header)===undefined)return;var n=d.localizedConfig.header;return i(o,null,i(m,null),i("nav",{id:"post-internet-header-main-navigation",class:{"main-navigation":true,open:this.mobileMenuOpen},ref:function(i){return t.flyoutElement=i}},i("h2",{class:"visually-hidden"},n.translations.navMainAriaLabel),i("ul",{class:"main-container container"},n.navMain.map((function(e){return i("li",{key:e.text,onMouseLeave:function(){return t.handleMouseLeave(e)},onMouseEnter:function(){return t.handleMouseEnter(e)}},i(h,{level:e,isOpen:t.isActiveFlyout(e.id),onTouchEnd:function(i){return t.handleTouchEnd(i,e)},onKeyDown:function(i){return t.handleKeyPress(i,e)},onClick:function(i){return t.handleClick(i,e)}}),!e.noFlyout?i("div",{id:e.id,class:{flyout:true,open:t.isActiveFlyout(e.id)}},i("div",{class:"wide-container"},i("div",{class:"flyout-nav"},i("button",{class:"nav-link flyout-back-button",onClick:function(){return t.closeFlyout(e.id)}},i(c,{name:"pi-pointy-arrow-right",classNames:"mirrored"}),i("span",null,n.translations.backButtonText)),i("button",{class:"flyout-close-button",onClick:function(){return t.closeFlyout(e.id)}},i("span",{class:"visually-hidden"},n.translations.mobileNavToggleClose),i(c,{name:"pi-close"}))),i("h2",{class:"flyout-title container"},i("a",{href:e.url,class:"nav-link"},e.text)),i("div",{class:"flyout-row container"},e.flyout.map((function(t){return i("div",{key:t.title,class:"flyout-column"},t.title?i("h3",null,t.title):null,i("ul",{class:"flyout-linklist"},t.linkList.map((function(t){return i("li",{key:t.url},i("a",{class:{"flyout-link":true,active:!!(t===null||t===void 0?void 0:t.isActiveOverride)},href:t.url,target:t.target},t.title))}))))}))))):null)}))),i("slot",null)))};Object.defineProperty(t.prototype,"host",{get:function(){return r(this)},enumerable:false,configurable:true});return t}());y.style=p}}}));
2
+ //# sourceMappingURL=p-c946c5b8.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["LevelOneAction","props","TagName","level","url","h","class","active","isActiveOverride","focus","isOpen","href","title","_a","trim","_b","_c","text","undefined","tabindex","noFlyout","onTouchEnd","e","onKeyDown","onClick","postMainNavigationCss","PostMainNavigation","exports","this","resizeTimer","mouseLeaveTimer","mouseEnterTimer","class_1","prototype","connectedCallback","_this","throttledResize","throttle","handleResize","window","addEventListener","passive","setWindowHeight","disconnectedCallback","removeEventListener","clearAllBodyScrollLocks","clearTimeout","host","classList","add","setTimeout","remove","style","setProperty","concat","innerHeight","openFlyout","id","flyout","shadowRoot","getElementById","activeFlyout","addFlyoutAnimation","flyoutToggled","emit","closeFlyout","userPrefersReducedMotion","removeFlyoutAnimation","once","isActiveFlyout","handleMouseEnter","innerWidth","length","handleMouseLeave","handleTouchEnd","event","cancelable","preventDefault","handleKeyPress","key","handleClick","setBodyScroll","mobileMenuOpen","disableBodyScroll","flyoutElement","enableBodyScroll","toggleDropdown","force","dropdownToggled","open","element","setFocus","firstLink","querySelector","setActiveFlyout","render","state","localizedConfig","header","headerConfig","Host","SvgSprite","ref","el","translations","navMainAriaLabel","navMain","map","levelOne","onMouseLeave","onMouseEnter","SvgIcon","name","classNames","backButtonText","mobileNavToggleClose","linkList","link","target"],"sources":["src/components/post-main-navigation/components/level-one-action.component.tsx","src/components/post-main-navigation/post-main-navigation.scss?tag=post-main-navigation&encapsulation=shadow","src/components/post-main-navigation/post-main-navigation.tsx"],"sourcesContent":["import { h } from '@stencil/core';\r\nimport { NavMainEntity } from '../../../models/header.model';\r\n\r\nexport const LevelOneAction = (props: {\r\n level: NavMainEntity;\r\n isOpen: boolean;\r\n onTouchEnd: (e: any) => void;\r\n onKeyDown: (e: any) => void;\r\n onClick: (e: any) => void;\r\n}) => {\r\n const TagName = props.level.url ? 'a' : 'button';\r\n\r\n return (\r\n <TagName\r\n class={{\r\n 'main-link': true,\r\n 'active': !!props.level.isActiveOverride,\r\n 'focus': props.isOpen,\r\n }}\r\n href={props.level.url}\r\n title={\r\n props.level.title?.trim() && props.level.title?.trim() !== props.level.text?.trim()\r\n ? props.level.title\r\n : undefined\r\n }\r\n tabindex={props.level.url ? undefined : 0}\r\n aria-haspopup={!props.level.noFlyout + ''}\r\n aria-expanded={props.level.noFlyout ? null : props.isOpen + ''}\r\n onTouchEnd={e => props.onTouchEnd(e)}\r\n onKeyDown={e => props.onKeyDown(e)}\r\n onClick={e => props.onClick(e)}\r\n >\r\n <span>{props.level.text}</span>\r\n <svg aria-hidden=\"true\">\r\n <use href=\"#pi-pointy-arrow-right\" />\r\n </svg>\r\n </TagName>\r\n );\r\n};\r\n","@use '@swisspost/design-system-styles/variables/color';\r\n@use '@swisspost/design-system-styles/placeholders/text';\r\n@use '@swisspost/design-system-styles/functions';\r\n@use '../../utils/utils.scss';\r\n@use '../../utils/mixins.scss';\r\n\r\n:host {\r\n --host-window-height: var(--window-height, 100vh);\r\n --calculated-header-height: calc(var(--header-height) + 1px);\r\n\r\n display: block;\r\n min-width: 0;\r\n height: var(--header-height);\r\n}\r\n\r\n:host(.no-animation) {\r\n * {\r\n animation: none !important;\r\n transition: none !important;\r\n }\r\n}\r\n\r\n.main-navigation,\r\n.main-container,\r\n.main-container li,\r\n.main-link {\r\n @include mixins.min(lg) {\r\n height: 100%;\r\n }\r\n}\r\n\r\n.main-navigation {\r\n font-size: functions.px-to-rem(18px);\r\n\r\n @include mixins.min(lg) {\r\n font-size: functions.px-to-rem(16px);\r\n }\r\n\r\n @include mixins.min(xl) {\r\n margin: 0 0.75rem;\r\n font-size: functions.px-to-rem(18px);\r\n }\r\n\r\n @include mixins.min(xxl) {\r\n font-size: functions.px-to-rem(20px);\r\n }\r\n\r\n @include mixins.max(lg) {\r\n position: absolute;\r\n top: var(--calculated-header-height);\r\n left: 0;\r\n background: white;\r\n height: calc(var(--host-window-height) - var(--calculated-header-height));\r\n width: 100%;\r\n margin: 0;\r\n overflow: hidden scroll;\r\n -webkit-overflow-scrolling: touch;\r\n overscroll-behavior: contain;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n z-index: -1;\r\n visibility: hidden;\r\n transform: translateY(-100%);\r\n transition: transform 0.35s, visibility 0.35s;\r\n\r\n @media (prefers-reduced-motion: reduce) {\r\n transition: none;\r\n }\r\n\r\n &.open {\r\n transform: translateY(0);\r\n visibility: visible;\r\n }\r\n }\r\n}\r\n\r\n.main-container {\r\n @extend %no-list;\r\n\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-start;\r\n\r\n @include mixins.max(lg) {\r\n flex-direction: column;\r\n align-items: stretch;\r\n justify-content: flex-start;\r\n padding-top: 2.5rem;\r\n padding-bottom: 2.5rem;\r\n\r\n > li + li {\r\n border-top: 1px solid color.$gray-10;\r\n }\r\n }\r\n\r\n @include mixins.min(lg) {\r\n padding-right: 0;\r\n padding-left: 0;\r\n }\r\n\r\n > li {\r\n flex: 0 1 auto;\r\n min-width: 0;\r\n }\r\n}\r\n\r\n.main-link {\r\n @extend %nav-link;\r\n\r\n display: flex;\r\n align-items: center;\r\n padding-right: 0.75rem;\r\n padding-left: 0.75rem;\r\n text-align: left;\r\n cursor: pointer;\r\n width: 100%;\r\n\r\n @include mixins.min(lg) {\r\n svg {\r\n display: none;\r\n }\r\n }\r\n\r\n @include mixins.max(lg) {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n font-weight: 300;\r\n padding: 0.625rem 0;\r\n width: 100%;\r\n text-align: left;\r\n\r\n svg {\r\n width: 1.5rem;\r\n height: 1.5rem;\r\n }\r\n }\r\n\r\n span {\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n}\r\n\r\n.main-link,\r\n.flyout-link {\r\n position: relative;\r\n color: black;\r\n\r\n &::after {\r\n content: '';\r\n position: absolute;\r\n bottom: -1px;\r\n left: 0;\r\n width: 100%;\r\n height: 4px;\r\n background-color: transparent;\r\n opacity: 0;\r\n transform: scaleX(0.8);\r\n transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1),\r\n transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);\r\n\r\n @media (prefers-reduced-motion: reduce) {\r\n transition: none;\r\n }\r\n }\r\n\r\n &:hover,\r\n &.focus {\r\n &::after {\r\n background-color: color.$gray-20;\r\n opacity: 1;\r\n transform: scale(1);\r\n }\r\n }\r\n\r\n &.active {\r\n font-weight: 700;\r\n\r\n &::after {\r\n background-color: color.$yellow;\r\n opacity: 1;\r\n transform: scale(1);\r\n }\r\n }\r\n}\r\n\r\n.flyout {\r\n left: 0;\r\n width: 100%;\r\n background: white;\r\n padding-bottom: 3rem;\r\n overflow: auto;\r\n overscroll-behavior: contain;\r\n visibility: hidden;\r\n\r\n @include mixins.min(lg) {\r\n position: absolute;\r\n top: 100%;\r\n max-height: calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);\r\n z-index: -1;\r\n box-shadow: 0 0 1px 0 rgb(0 0 0 / 40%);\r\n transform: translateY(-100%);\r\n\r\n &.open {\r\n box-shadow: 0 0 8px 0 rgb(0 0 0 / 40%);\r\n transform: translateY(0);\r\n }\r\n }\r\n\r\n @include mixins.max(lg) {\r\n position: fixed;\r\n top: 0;\r\n height: 100%;\r\n z-index: 1;\r\n transform: translateX(100%);\r\n\r\n &.open {\r\n transform: translateX(0);\r\n }\r\n }\r\n\r\n &.open {\r\n visibility: visible;\r\n }\r\n\r\n &.animate {\r\n transition: transform 0.35s, visibility 0.35s, box-shadow 0.35s;\r\n\r\n @media (prefers-reduced-motion: reduce) {\r\n transition: none;\r\n }\r\n }\r\n}\r\n\r\n.flyout-nav {\r\n @extend %font-curve-small;\r\n\r\n display: flex;\r\n justify-content: space-between;\r\n min-height: 3.5rem;\r\n\r\n // Change box-sizing to content-box to add 1px border width to flyout-nav hight.\r\n // This ensures flyout-nav has same hight as main-navigation-container.\r\n box-sizing: content-box;\r\n}\r\n\r\n.flyout-row {\r\n display: flex;\r\n gap: 1.5rem;\r\n\r\n @include mixins.max(lg) {\r\n display: grid;\r\n grid-template-columns: 1fr 1fr;\r\n }\r\n\r\n @include mixins.max(rg) {\r\n grid-template-columns: 1fr;\r\n }\r\n}\r\n\r\n.flyout-column {\r\n flex: 1;\r\n max-width: 25%;\r\n\r\n @include mixins.max(lg) {\r\n max-width: none;\r\n }\r\n\r\n h3 {\r\n @extend %font-curve-small;\r\n margin-top: 0;\r\n }\r\n}\r\n\r\n.flyout-back-button {\r\n @include mixins.container-padding();\r\n\r\n display: flex;\r\n align-items: center;\r\n font-size: functions.px-to-rem(16px);\r\n font-weight: 400;\r\n cursor: pointer;\r\n\r\n svg {\r\n width: 1.5rem;\r\n height: 1.5rem;\r\n }\r\n\r\n @include mixins.min(lg) {\r\n display: none;\r\n }\r\n}\r\n\r\n.flyout-close-button {\r\n @extend %nav-link;\r\n\r\n display: flex;\r\n align-items: center;\r\n margin-left: auto;\r\n padding: 0 1.5rem;\r\n cursor: pointer;\r\n\r\n svg {\r\n width: 1.5rem;\r\n height: 1.5rem;\r\n }\r\n\r\n @include mixins.max(lg) {\r\n display: none;\r\n }\r\n}\r\n\r\n.flyout-linklist {\r\n @extend %no-list;\r\n\r\n li {\r\n border-top: 1px solid color.$gray-10;\r\n }\r\n\r\n &:first-child > li {\r\n border-top-color: transparent;\r\n }\r\n}\r\n\r\n.flyout-link {\r\n @extend %nav-link;\r\n\r\n display: block;\r\n padding: 0.75rem 0;\r\n}\r\n\r\n.flyout-title {\r\n @extend %font-curve-bigger-regular;\r\n\r\n margin: 2.5rem 0 1.5rem 0;\r\n\r\n @include mixins.min(lg) {\r\n display: none;\r\n }\r\n}\r\n","import { Component, Host, h, State, Method, Event, Element, EventEmitter } from '@stencil/core';\r\nimport { throttle } from 'throttle-debounce';\r\nimport { disableBodyScroll, enableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock';\r\nimport { state } from '../../data/store';\r\nimport {\r\n DropdownElement,\r\n DropdownEvent,\r\n HasDropdown,\r\n IsFocusable,\r\n NavMainEntity,\r\n} from '../../models/header.model';\r\nimport { userPrefersReducedMotion } from '../../services/ui.service';\r\nimport { SvgSprite } from '../../utils/svg-sprite.component';\r\nimport { SvgIcon } from '../../utils/svg-icon.component';\r\nimport { LevelOneAction } from './components/level-one-action.component';\r\n\r\n@Component({\r\n tag: 'post-main-navigation',\r\n styleUrl: 'post-main-navigation.scss',\r\n shadow: true,\r\n})\r\nexport class PostMainNavigation implements HasDropdown, IsFocusable {\r\n @State() activeFlyout: string | null;\r\n @State() mobileMenuOpen: boolean;\r\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\r\n @Event() flyoutToggled: EventEmitter<string | null>;\r\n @Element() host: DropdownElement;\r\n private throttledResize: throttle<() => void>;\r\n private resizeTimer: number | null = null;\r\n private mouseLeaveTimer: number | null = null;\r\n private mouseEnterTimer: number | null = null;\r\n private flyoutElement: HTMLElement | undefined;\r\n\r\n connectedCallback() {\r\n this.throttledResize = throttle(300, () => this.handleResize());\r\n window.addEventListener('resize', this.throttledResize, { passive: true });\r\n this.setWindowHeight();\r\n }\r\n\r\n disconnectedCallback() {\r\n window.removeEventListener('resize', this.throttledResize);\r\n clearAllBodyScrollLocks();\r\n if (this.mouseEnterTimer !== null) window.clearTimeout(this.mouseEnterTimer);\r\n if (this.mouseLeaveTimer !== null) window.clearTimeout(this.mouseLeaveTimer);\r\n }\r\n\r\n handleResize() {\r\n // Suspend all animations and transitions on window resize\r\n this.host.classList.add('no-animation');\r\n if (this.resizeTimer !== null) window.clearTimeout(this.resizeTimer);\r\n this.resizeTimer = window.setTimeout(() => {\r\n this.host.classList.remove('no-animation');\r\n }, 300);\r\n\r\n this.setWindowHeight();\r\n }\r\n\r\n // Update window height var\r\n setWindowHeight() {\r\n if (!this.host) {\r\n return;\r\n }\r\n this.host.style.setProperty('--window-height', `${window.innerHeight}px`);\r\n\r\n // Safari might or might not show a blank bar at the bottom where the browser\r\n // controls should be. This timeout waits for this bar to appear before resetting the available height\r\n window.setTimeout(() => {\r\n this.host.style.setProperty('--window-height', `${window.innerHeight}px`);\r\n }, 100);\r\n }\r\n\r\n openFlyout(id: string) {\r\n const flyout = this.host.shadowRoot?.getElementById(id);\r\n\r\n if (flyout && this.activeFlyout !== '') {\r\n // Add flyout animation if there's no flyout open\r\n this.addFlyoutAnimation(flyout);\r\n }\r\n\r\n this.activeFlyout = id;\r\n this.flyoutToggled.emit(id);\r\n this.setWindowHeight();\r\n\r\n if (this.mouseLeaveTimer !== null) {\r\n window.clearTimeout(this.mouseLeaveTimer);\r\n this.mouseLeaveTimer = null;\r\n }\r\n }\r\n\r\n closeFlyout(id?: string) {\r\n if (id === undefined) return;\r\n const flyout = this.host.shadowRoot?.getElementById(id);\r\n\r\n if (flyout) {\r\n // Add flyout animation for close action\r\n this.addFlyoutAnimation(flyout);\r\n }\r\n\r\n this.activeFlyout = null;\r\n this.flyoutToggled.emit();\r\n }\r\n\r\n addFlyoutAnimation(flyout: HTMLElement) {\r\n // Check if user prefers to see animations or not\r\n if (!userPrefersReducedMotion()) {\r\n flyout.classList.add('animate');\r\n\r\n // Remove flyout animation after transition ended\r\n flyout.addEventListener('transitionend', () => this.removeFlyoutAnimation(flyout), {\r\n once: true,\r\n });\r\n }\r\n }\r\n\r\n removeFlyoutAnimation(flyout: HTMLElement) {\r\n flyout.classList.remove('animate');\r\n }\r\n\r\n isActiveFlyout(id?: string) {\r\n return id === this.activeFlyout;\r\n }\r\n\r\n handleMouseEnter(level: NavMainEntity) {\r\n // Cancel opening the flyout if there already is one scheduled to open\r\n if (this.mouseEnterTimer !== null) {\r\n window.clearTimeout(this.mouseEnterTimer);\r\n this.mouseEnterTimer = null;\r\n }\r\n\r\n // Cancel closing if we enter again\r\n if (this.mouseLeaveTimer && this.activeFlyout === level.id) {\r\n window.clearTimeout(this.mouseLeaveTimer);\r\n this.mouseLeaveTimer = null;\r\n }\r\n\r\n if (window.innerWidth >= 1024 && level.flyout.length > 0 && this.activeFlyout !== level.id) {\r\n // Delay opening the flyout for a moment to give users a chance to move the mouse over the navigation without triggering the flyout\r\n this.mouseEnterTimer = window.setTimeout(() => {\r\n this.mouseEnterTimer = null;\r\n if (level.id !== undefined) this.openFlyout(level.id);\r\n }, 200);\r\n }\r\n }\r\n\r\n handleMouseLeave(level: NavMainEntity) {\r\n // Cancel opening the flyout if a mouseleave event happens before the flyout opened\r\n if (this.mouseEnterTimer !== null) {\r\n window.clearTimeout(this.mouseEnterTimer);\r\n }\r\n\r\n // Don't close an open flyout if the mouseleave is from another mainnav entry\r\n if (this.activeFlyout && this.activeFlyout !== level.id) {\r\n return;\r\n }\r\n\r\n if (window.innerWidth >= 1024 && level.flyout.length > 0) {\r\n // Allow the pointer to shortly leave the flyout without closing it. This\r\n // allows for user mistakes and makes the experience less nervous\r\n this.mouseLeaveTimer = window.setTimeout(() => {\r\n this.closeFlyout(level.id);\r\n }, 300);\r\n }\r\n }\r\n\r\n handleTouchEnd(event: TouchEvent, level: NavMainEntity) {\r\n if (!this.isActiveFlyout(level.id) && !level.noFlyout) {\r\n // It's the first touchstart and has a flyout, prevent link activation and open the flyout\r\n if (event.cancelable) event.preventDefault();\r\n if (level.id) this.openFlyout(level.id);\r\n }\r\n }\r\n\r\n handleKeyPress(event: KeyboardEvent, level: NavMainEntity) {\r\n if (event.key === 'Enter' && !this.isActiveFlyout(level.id) && !level.noFlyout) {\r\n // It's the first enter keypress and has a flyout, prevent link activation and open the flyout\r\n event.preventDefault();\r\n if (level.id) this.openFlyout(level.id);\r\n }\r\n }\r\n\r\n handleClick(event: MouseEvent, level: NavMainEntity) {\r\n if (!this.isActiveFlyout(level.id) && !level.noFlyout) {\r\n // It's the first click, always open the flyout, never the link\r\n // This is relevant for desktop with active screenreader which\r\n // translates an enter keypress to a click\r\n event.preventDefault();\r\n if (level.id) this.openFlyout(level.id);\r\n }\r\n }\r\n\r\n /**\r\n * Disable or re-enable body scrolling, depending on whether mobile menu is open or closed\r\n */\r\n setBodyScroll() {\r\n if (this.mobileMenuOpen) {\r\n disableBodyScroll(this.flyoutElement);\r\n } else {\r\n enableBodyScroll(this.flyoutElement);\r\n }\r\n }\r\n\r\n /**\r\n * Toggle the main navigation (only visible on mobile)\r\n * @param force Force a state\r\n * @returns Boolean indicating new state\r\n */\r\n @Method()\r\n async toggleDropdown(force?: boolean) {\r\n this.mobileMenuOpen = force === undefined ? !this.mobileMenuOpen : force;\r\n this.dropdownToggled.emit({ open: this.mobileMenuOpen, element: this.host });\r\n\r\n if (force === false) {\r\n this.closeFlyout();\r\n }\r\n\r\n this.setBodyScroll();\r\n this.setWindowHeight();\r\n\r\n return this.mobileMenuOpen;\r\n }\r\n\r\n /**\r\n * Focus the main navigation toggle button\r\n */\r\n @Method()\r\n async setFocus() {\r\n const firstLink = this.host.shadowRoot?.querySelector<HTMLElement>('.main-link');\r\n if (firstLink) {\r\n firstLink.focus();\r\n }\r\n }\r\n\r\n /**\r\n * Open a specific flyout\r\n * @param id Flyout ID\r\n */\r\n @Method()\r\n async setActiveFlyout(id: string | null) {\r\n this.activeFlyout = id;\r\n this.flyoutToggled.emit(this.activeFlyout);\r\n }\r\n\r\n render() {\r\n if (state.localizedConfig?.header === undefined) return;\r\n const headerConfig = state.localizedConfig.header;\r\n\r\n return (\r\n <Host>\r\n <SvgSprite />\r\n <nav\r\n id=\"post-internet-header-main-navigation\"\r\n class={{ 'main-navigation': true, 'open': this.mobileMenuOpen }}\r\n ref={el => (this.flyoutElement = el)}\r\n >\r\n <h2 class=\"visually-hidden\">{headerConfig.translations.navMainAriaLabel}</h2>\r\n <ul class=\"main-container container\">\r\n {headerConfig.navMain.map(levelOne => (\r\n <li\r\n key={levelOne.text}\r\n onMouseLeave={() => this.handleMouseLeave(levelOne)}\r\n onMouseEnter={() => this.handleMouseEnter(levelOne)}\r\n >\r\n <LevelOneAction\r\n level={levelOne}\r\n isOpen={this.isActiveFlyout(levelOne.id)}\r\n onTouchEnd={e => this.handleTouchEnd(e, levelOne)}\r\n onKeyDown={e => this.handleKeyPress(e, levelOne)}\r\n onClick={e => this.handleClick(e, levelOne)}\r\n />\r\n {!levelOne.noFlyout ? (\r\n <div\r\n id={levelOne.id}\r\n class={{ flyout: true, open: this.isActiveFlyout(levelOne.id) }}\r\n >\r\n <div class=\"wide-container\">\r\n <div class=\"flyout-nav\">\r\n <button\r\n class=\"nav-link flyout-back-button\"\r\n onClick={() => this.closeFlyout(levelOne.id)}\r\n >\r\n <SvgIcon name=\"pi-pointy-arrow-right\" classNames=\"mirrored\" />\r\n <span>{headerConfig.translations.backButtonText}</span>\r\n </button>\r\n <button\r\n class=\"flyout-close-button\"\r\n onClick={() => this.closeFlyout(levelOne.id)}\r\n >\r\n <span class=\"visually-hidden\">\r\n {headerConfig.translations.mobileNavToggleClose}\r\n </span>\r\n <SvgIcon name=\"pi-close\" />\r\n </button>\r\n </div>\r\n <h2 class=\"flyout-title container\">\r\n <a href={levelOne.url} class=\"nav-link\">\r\n {levelOne.text}\r\n </a>\r\n </h2>\r\n <div class=\"flyout-row container\">\r\n {levelOne.flyout.map(flyout => (\r\n <div key={flyout.title} class=\"flyout-column\">\r\n {flyout.title ? <h3>{flyout.title}</h3> : null}\r\n <ul class=\"flyout-linklist\">\r\n {flyout.linkList.map(link => (\r\n <li key={link.url}>\r\n <a\r\n class={{\r\n 'flyout-link': true,\r\n 'active': !!link?.isActiveOverride,\r\n }}\r\n href={link.url}\r\n target={link.target}\r\n >\r\n {link.title}\r\n </a>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n ) : null}\r\n </li>\r\n ))}\r\n </ul>\r\n <slot></slot>\r\n </nav>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ var __awaiter=this&&this.__awaiter||function(t,e,i,n){function r(t){return t instanceof i?t:new i((function(e){e(t)}))}return new(i||(i=Promise))((function(i,o){function g(t){try{l(n.next(t))}catch(t){o(t)}}function a(t){try{l(n["throw"](t))}catch(t){o(t)}}function l(t){t.done?i(t.value):r(t.value).then(g,a)}l((n=n.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var i={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},n,r,o,g;return g={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function a(t){return function(e){return l([t,e])}}function l(a){if(n)throw new TypeError("Generator is already executing.");while(g&&(g=0,a[0]&&(i=0)),i)try{if(n=1,r&&(o=a[0]&2?r["return"]:a[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;if(r=0,o)a=[a[0]&2,o.value];switch(a[0]){case 0:case 1:o=a;break;case 4:i.label++;return{value:a[1],done:false};case 5:i.label++;r=a[1];a=[0];continue;case 7:a=i.ops.pop();i.trys.pop();continue;default:if(!(o=i.trys,o=o.length>0&&o[o.length-1])&&(a[0]===6||a[0]===2)){i=0;continue}if(a[0]===3&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(a[0]===6&&i.label<o[1]){i.label=o[1];o=a;break}if(o&&i.label<o[2]){i.label=o[2];i.ops.push(a);break}if(o[2])i.ops.pop();i.trys.pop();continue}a=e.call(t,i)}catch(t){a=[6,t];r=0}finally{n=o=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};System.register(["./p-1b8f9bc8.system.js","./p-c69923cd.system.js","./p-4654b2af.system.js"],(function(t,e){"use strict";var i,n,r,o,g,a;return{setters:[function(t){i=t.r;n=t.h;r=t.H;o=t.g},function(t){g=t.s},function(t){a=t.S}],execute:function(){var l='.btn-default,.btn-secondary{border:2px solid rgba(var(--post-contrast-color-rgb), 0.2)}.btn-default:focus,.btn-secondary:focus,.btn-default:not(:disabled):hover,.btn-secondary:not(:disabled):hover,.pretend-hover.btn-default,.pretend-hover.btn-secondary{border-color:var(--post-contrast-color);color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary{border-color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .pretend-hover.btn-default,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .pretend-hover.btn-secondary{border-color:rgba(var(--post-contrast-color-rgb), 0.4)}.btn-default:disabled,.btn-secondary:disabled{border-color:rgba(var(--post-contrast-color-rgb), 0.4);color:rgba(var(--post-contrast-color-rgb), 0.6)}.btn{min-height:3rem;padding:0 2rem;font-size:1rem;gap:1rem;outline:none;outline-offset:2px;display:-ms-inline-flexbox;display:inline-flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;overflow:hidden;-webkit-transition:opacity 250ms, border-color 250ms, background-color 250ms, color 250ms;transition:opacity 250ms, border-color 250ms, background-color 250ms, color 250ms;border-width:2px;border-style:solid;border-radius:3px;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;color:var(--post-contrast-color);font-family:inherit;font-weight:400;line-height:inherit;text-decoration:none !important;white-space:nowrap}.btn>.pi{width:1.25rem;height:1.25rem}.btn:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.btn-primary{border-color:transparent;background-color:rgba(var(--post-contrast-color-rgb), 0.8);color:var(--post-contrast-color-inverted)}.btn-primary:focus,.btn-primary:not(:disabled):hover,.btn-primary.pretend-hover{background-color:var(--post-contrast-color);color:var(--post-contrast-color-inverted)}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary{background-color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary.pretend-hover{background-color:rgba(var(--post-contrast-color-rgb), 0.8)}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary .pi{-webkit-filter:invert(0);filter:invert(0)}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.btn-primary{border-color:var(--post-contrast-color);background-color:ButtonFace}.btn-primary:not(:disabled,.disabled):hover,.btn-primary:not(:disabled,.disabled):focus-visible{border-color:highlight}.btn-primary .pi{-webkit-filter:invert(1) !important;filter:invert(1) !important}}.btn-primary:disabled{background-color:rgba(var(--post-contrast-color-rgb), 0.4)}.btn-primary .pi{-webkit-filter:invert(1);filter:invert(1);forced-color-adjust:none}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default .pi,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary .pi{-webkit-filter:invert(1);filter:invert(1)}.btn-link,.btn-tertiary{border:0;padding-right:0.375rem;padding-left:0.375rem}.btn-link:focus,.btn-link:not(:disabled):hover,.btn-link.pretend-hover,.btn-tertiary:focus,.btn-tertiary:not(:disabled):hover,.btn-tertiary.pretend-hover{color:rgba(var(--post-contrast-color-rgb), 0.8)}.btn-link:disabled,.btn-tertiary:disabled{color:rgba(var(--post-contrast-color-rgb), 0.6)}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.btn-link,.btn-tertiary{color:linktext;text-decoration:underline !important}}.btn-icon{min-width:3rem;padding-right:0.75rem;padding-left:0.75rem}.btn-icon.btn-sm{min-width:2rem;padding-right:0.375rem;padding-left:0.375rem}.btn-icon.btn-rg{min-width:2.5rem;padding-right:0.5625rem;padding-left:0.5625rem}.btn-icon.btn-lg{min-width:3.5rem;padding-right:0.875rem;padding-left:0.875rem}.btn-animated:not(.btn-link,.btn-tertiary)::after{content:"";position:absolute;right:1.25rem;width:0.625em;height:0.625em;-webkit-transform:rotateZ(315deg) translate(-2px, -2px);transform:rotateZ(315deg) translate(-2px, -2px);-webkit-transform-origin:center center;transform-origin:center center;-webkit-transition:opacity 250ms, -webkit-transform 250ms;transition:opacity 250ms, -webkit-transform 250ms;transition:opacity 250ms, transform 250ms;transition:opacity 250ms, transform 250ms, -webkit-transform 250ms;border-right:2px solid currentColor;border-bottom:2px solid currentColor;opacity:0}.btn-animated:not(.btn-link,.btn-tertiary).btn-sm::after{right:0.5rem}.btn-animated:not(.btn-link,.btn-tertiary).btn-rg::after{right:0.875rem}.btn-animated:not(.btn-link,.btn-tertiary).btn-lg::after{right:1.5rem}.btn-animated:not(.btn-link,.btn-tertiary)>span{-webkit-transition:-webkit-transform 250ms;transition:-webkit-transform 250ms;transition:transform 250ms;transition:transform 250ms, -webkit-transform 250ms}@media (prefers-reduced-motion: no-preference){.btn-animated:not(.btn-link,.btn-tertiary):focus>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover>span{-webkit-transform:translateX(-0.75rem);transform:translateX(-0.75rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-sm>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-sm>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-sm>span{-webkit-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-rg>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-rg>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-rg>span{-webkit-transform:translateX(-0.625rem);transform:translateX(-0.625rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-lg>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-lg>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-lg>span{-webkit-transform:translateX(-1rem);transform:translateX(-1rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus::after,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover::after,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover::after{-webkit-transform:rotateZ(315deg) translate(0, 0);transform:rotateZ(315deg) translate(0, 0);opacity:1}.btn-animated:not(.btn-link,.btn-tertiary)>span{-webkit-transform:translateX(0);transform:translateX(0)}}.btn-sm{min-height:2rem;padding:0 1rem;font-size:0.8125rem;gap:0.5rem}.btn-sm>.pi{width:1rem;height:1rem}.btn-rg{min-height:2.5rem;padding:0 1.5rem;font-size:1rem;gap:0.75rem}.btn-rg>.pi{width:1.125rem;height:1.125rem}.btn-lg{min-height:3.5rem;padding:0 2.5rem;font-size:1.0625rem;gap:1.25rem}.btn-lg>.pi{width:1.5rem;height:1.5rem}.btn-nightblue{border-color:transparent;background-color:#004976;color:#fff}.btn-nightblue:focus,.btn-nightblue:not(:disabled):hover,.btn-nightblue.pretend-hover{background-color:#002943}.btn-nightblue-bright{border-color:transparent;background-color:#0076a8;color:#fff}.btn-nightblue-bright:focus,.btn-nightblue-bright:not(:disabled):hover,.btn-nightblue-bright.pretend-hover{background-color:#005275}.btn-petrol{border-color:transparent;background-color:#006d68;color:#fff}.btn-petrol:focus,.btn-petrol:not(:disabled):hover,.btn-petrol.pretend-hover{background-color:#003a37}.btn-petrol-bright{border-color:transparent;background-color:#00968f;color:#fff}.btn-petrol-bright:focus,.btn-petrol-bright:not(:disabled):hover,.btn-petrol-bright.pretend-hover{background-color:#00635e}.btn-coral{border-color:transparent;background-color:#9e2a2f;color:#fff}.btn-coral:focus,.btn-coral:not(:disabled):hover,.btn-coral.pretend-hover{background-color:#761f23}.btn-coral-bright{border-color:transparent;background-color:#e03c31;color:#fff}.btn-coral-bright:focus,.btn-coral-bright:not(:disabled):hover,.btn-coral-bright.pretend-hover{background-color:#c1271d}.btn-olive{border-color:transparent;background-color:#716135;color:#fff}.btn-olive:focus,.btn-olive:not(:disabled):hover,.btn-olive.pretend-hover{background-color:#4e4325}.btn-olive-bright{border-color:transparent;background-color:#aa9d2e}.btn-olive-bright:focus,.btn-olive-bright:not(:disabled):hover,.btn-olive-bright.pretend-hover{background-color:#827823}.btn-purple{border-color:transparent;background-color:#80276c;color:#fff}.btn-purple:focus,.btn-purple:not(:disabled):hover,.btn-purple.pretend-hover{background-color:#591b4b}.btn-purple-bright{border-color:transparent;background-color:#c5299b;color:#fff}.btn-purple-bright:focus,.btn-purple-bright:not(:disabled):hover,.btn-purple-bright.pretend-hover{background-color:#9b207a}.btn-aubergine{border-color:transparent;background-color:#523178;color:#fff}.btn-aubergine:focus,.btn-aubergine:not(:disabled):hover,.btn-aubergine.pretend-hover{background-color:#392254}.btn-aubergine-bright{border-color:transparent;background-color:#7566a0;color:#fff}.btn-aubergine-bright:focus,.btn-aubergine-bright:not(:disabled):hover,.btn-aubergine-bright.pretend-hover{background-color:#5e5182}.btn-success{border-color:transparent;background-color:#2c911c;color:#fff}.btn-success:focus,.btn-success:not(:disabled):hover,.btn-success.pretend-hover{background-color:#1f6614}.btn-info{border-color:transparent;background-color:#fc0}.btn-info:focus,.btn-info:not(:disabled):hover,.btn-info.pretend-hover{background-color:#cca300}.btn-warning{border-color:transparent;background-color:#f49e00}.btn-warning:focus,.btn-warning:not(:disabled):hover,.btn-warning.pretend-hover{background-color:#c17d00}.btn-danger{border-color:transparent;background-color:#a51728;color:#fff}.btn-danger:focus,.btn-danger:not(:disabled):hover,.btn-danger.pretend-hover{background-color:#78111d}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:700;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:400;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:300;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff") format("woff")}*,:host,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{font-family:"Frutiger Neue For Post", system-ui, sans-serif}button{font:inherit;padding:0}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:white}}.no-list{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}.btn-blank{background-color:transparent;border:none;border-radius:0;padding:0}.nav-link{text-decoration:none;color:rgba(0, 0, 0, 0.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:transparent;border-radius:0;-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.5rem}.nav-link:hover,.nav-link:focus{color:black}.nav-link>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.nav-link>span{-ms-flex-negative:1;flex-shrink:1}.box>*:first-child{margin-top:0}.box>*:last-child{margin-bottom:0}.mirrored{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.bold{font-weight:700}.light{font-weight:300}.d-flex{display:-ms-flexbox;display:flex}.d-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.align-items-center{-ms-flex-align:center;align-items:center}@media (min-width: 1441px){.wide-container{margin:0 auto;max-width:1440px}}@media (max-width: 599.98px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 600px) and (max-width: 1023.98px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}.klp-widget-anonymous__text,.visually-hidden{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}@media (max-width: -0.02px){.hidden-xs{display:none}}@media (max-width: 399.98px){.hidden-sm{display:none}}@media (max-width: 599.98px){.hidden-rg{display:none}}@media (max-width: 779.98px){.hidden-md{display:none}}@media (max-width: 1023.98px){.hidden-lg{display:none}}@media (max-width: 1279.98px){.hidden-xl{display:none}}@media (max-width: 1440.98px){.hidden-xxl{display:none}}/*!\n * ------------------------------------------------------------------------------------------------\n * Copyright 2014 by Swiss Post, Information Technology Services\n * ------------------------------------------------------------------------------------------------\n * $Id$\n * ------------------------------------------------------------------------------------------------\n */.klp-widget-support{background-color:#f49e00 !important}.klp-widget-authenticated-session-link{display:block;padding:12px 10px;text-decoration:none;outline:none}@media (min-width: 600px) and (max-width: 1279px){.klp-widget-authenticated-session-link{padding:12px 12px}}@media (min-width: 1280px){.klp-widget-authenticated-session-link{padding:16px 16px}}.klp-widget-authenticated-menu li{position:relative;display:-ms-inline-flexbox;display:inline-flex;width:296px;height:40px;margin:0;padding:0;list-style-type:none;background-color:white;border-top:none}.notification-link:active{background-color:#ffcc00 !important}.notification-link:hover,.notification-link:focus{background-color:#f4f3f1}.klp-widget-authenticated-menu li:hover>a{color:black}.klp-widget-authenticated-session-name{position:relative;display:table-cell;width:117px;height:55px;overflow:hidden;color:black;font-weight:normal;font-size:15px;font-style:normal;font-stretch:normal;line-height:1;letter-spacing:normal;white-space:nowrap;text-indent:1em;text-overflow:ellipsis;vertical-align:middle}.klp-widget-authenticated-menu a{color:rgba(0, 0, 0, 0.6);font-weight:normal;font-size:17px;font-style:normal;font-stretch:normal;line-height:17px;letter-spacing:normal}.klp-widget-authenticated-menu ul{padding-bottom:8px;padding-left:0;background-color:white;-webkit-box-shadow:0 0 3px 0 rgba(0, 0, 0, 0.4);box-shadow:0 0 3px 0 rgba(0, 0, 0, 0.4)}.klp-widget-authenticated-menu li:nth-child(2){margin:9px 0 0 0}.klp-widget-authenticated-menu li.name-and-surname:active{background-color:white}.klp-widget-authenticated-menu li.name-and-surname:hover{background-color:white}.klp-widget-anonymous{height:100%;overflow:hidden;color:rgba(0, 0, 0, 0.6)}.klp-widget-anonymous__wrapper{height:100%}.klp-widget-anonymous a{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;padding:0 16px;color:rgba(0, 0, 0, 0.6);font-weight:300;font-size:1rem;text-decoration:none;background-color:white;outline-offset:-2px}.klp-widget-anonymous a:hover{color:black}.notification-number-detail{position:relative;width:25px;height:20px;margin-left:23px;padding:2px 6px;color:white;font-size:13px;text-align:center;background-color:#a51728;border-radius:10px}li.name-and-surname{display:-ms-flexbox;display:flex;min-width:296px;height:78px;padding-top:0;vertical-align:middle;border-bottom:1px solid rgba(0, 0, 0, 0.2)}.initials-circle{position:relative;display:table;width:40px;height:40px;margin:19px 16px;overflow:hidden;color:white;background-color:#004976;border-radius:40px}.initials-container{display:table-cell;font-weight:300;font-size:17px;line-height:1.65;letter-spacing:normal;text-align:center;vertical-align:middle}.initials-mobile{display:none;visibility:hidden}.notification-link{display:-ms-flexbox;display:flex;-ms-flex:0 0 100%;flex:0 0 100%;text-decoration:none}.klp-widget-notification-link-text{overflow:hidden;font-weight:normal;font-size:17px;white-space:nowrap;text-overflow:ellipsis}li.name-and-surname span.name{position:relative;display:block;width:12em;overflow:hidden;color:black;font-weight:bold;font-size:17px;line-height:24px}li.name-and-surname span.nameCentered{position:relative;display:block;-ms-flex-item-align:center;align-self:center;width:12em;padding:0;overflow:hidden;color:black;font-weight:bold;font-size:17px;line-height:24px}li.name-and-surname span.info{position:relative;display:block;width:12em;overflow:hidden;color:black;font-weight:normal;font-size:15px;line-height:22px}li.name-and-surname span.infoHidden{position:relative;display:none;width:12em;overflow:hidden;color:black;font-weight:normal;font-size:15px;line-height:22px}.nameAndInfoWrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:224px;height:78px;padding:16px 0;line-height:46px}.widget_icon_profile{display:inline-block;width:24px;height:24px;margin:8px 12px;color:black;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBpZD0iYSIgZD0iTTI0IDQwLjQ0NGE1LjM0IDUuMzQgMCAwIDAgNS4zMzMtNS4zMzNBNS4zNCA1LjM0IDAgMCAwIDI0IDI5Ljc3OGE1LjM0IDUuMzQgMCAwIDAtNS4zMzMgNS4zMzNBNS4zNCA1LjM0IDAgMCAwIDI0IDQwLjQ0NHpNMjQgMjhhNy4xMTggNy4xMTggMCAwIDEgNy4xMTEgNy4xMTFBNy4xMTggNy4xMTggMCAwIDEgMjQgNDIuMjIyYy0zLjkyIDAtNy4xMTEtMy4xOS03LjExMS03LjExQzE2Ljg4OSAzMS4xOSAyMC4wNzkgMjggMjQgMjh6bTgtMi42NjdIMTZjLTQuNDEyIDAtOC0zLjU4OS04LThWNGgxLjc3OHYxMy4zMzNBNi4yMyA2LjIzIDAgMCAwIDE2IDIzLjU1NmgxNmE2LjIzIDYuMjMgMCAwIDAgNi4yMjItNi4yMjNWNEg0MHYxMy4zMzNjMCA0LjQxMS0zLjU4OSA4LTggOHpNMTUuMTExIDRoMS43Nzh2MTIuNDQ0SDE1LjExVjR6bTE2IDBoMS43Nzh2MTIuNDQ0SDMxLjExVjR6Ii8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tNzgxLTQ3OUg2NTl2MTY4MkgtNzgxeiIvPgogICAgICAgIDxtYXNrIGlkPSJiIiBmaWxsPSIjZmZmIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjYSIvPgogICAgICAgIDwvbWFzaz4KICAgICAgICA8ZyBmaWxsPSIjNjY2IiBtYXNrPSJ1cmwoI2IpIj4KICAgICAgICAgICAgPHBhdGggZD0iTTAgMGg0OHY0OEgweiIvPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==");background-repeat:no-repeat;background-size:contain;-webkit-transform:rotate(180deg);transform:rotate(180deg);content:" "}.widget_icon_settings{display:inline-block;width:24px;height:24px;margin:8px 12px;color:black;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url("data:image/svg+xml,%3Csvg version=\'1.1\' xmlns=\'http://www.w3.org/2000/svg\' width=\'32\' height=\'32\' viewBox=\'0 0 32 32\'%3E%3Cpath opacity=\'1\' fill=\'%23000000\' d=\'M26.4 20h4.267v-6.667h-4.267c-0.4-0.267-0.667-0.533-0.8-0.933-0.267-0.4-0.133-0.8-0.133-1.2l3.067-3.067-4.667-4.667-3.067 3.067c-0.4 0.133-0.8 0-1.2-0.133s-0.667-0.4-0.933-0.8v-4.267h-6.667v4.267c-0.267 0.4-0.533 0.667-0.933 0.8-0.267 0.133-0.667 0.267-1.2 0.133l-3.067-3.067-4.667 4.667 3.067 3.067c0.133 0.4 0 0.8-0.133 1.2s-0.4 0.667-0.8 0.933h-4.267v6.667h4.267c0.4 0.267 0.667 0.533 0.8 0.933s0.133 0.8 0.133 1.2l-3.067 3.067 4.667 4.667 3.067-3.067c0.4-0.133 0.8 0 1.2 0.133s0.667 0.4 0.933 0.8v4.267h6.667v-4.267c0.267-0.4 0.533-0.667 0.933-0.8s0.8-0.133 1.2-0.133l3.067 3.067 4.667-4.667-3.067-3.067c-0.133-0.4 0-0.8 0.133-1.2s0.4-0.667 0.8-0.933zM24.267 22.667v0.133l2.4 2.4-2.8 2.8-2.4-2.4h-0.133c-0.8-0.267-1.6-0.133-2.267 0.133s-1.2 0.8-1.6 1.467l-0.133 0.133v3.333h-4v-3.333l-0.133-0.133c-0.4-0.667-0.933-1.2-1.6-1.467v0c-0.667-0.4-1.467-0.4-2.267-0.133h-0.133l-2.4 2.4-2.8-2.8 2.4-2.4v-0.133c0.267-0.8 0.267-1.6-0.133-2.267-0.267-0.667-0.8-1.2-1.467-1.6l-0.133-0.133h-3.333v-4h3.333l0.133-0.133c0.667-0.4 1.2-0.933 1.467-1.6 0.4-0.667 0.4-1.467 0.133-2.267v-0.133l-2.4-2.4 2.8-2.8 2.4 2.4h0.133c0.8 0.267 1.6 0.267 2.267-0.133 0.667-0.267 1.2-0.8 1.6-1.467l0.133-0.133v-3.333h4v3.333l0.133 0.133c0.4 0.667 0.933 1.2 1.6 1.467 0.667 0.4 1.467 0.4 2.267 0.133h0.133l2.4-2.4 2.8 2.8-2.4 2.4v0.133c-0.267 0.8-0.267 1.6 0.133 2.267 0.267 0.667 0.8 1.2 1.467 1.6l0.133 0.133h3.333v4h-3.333l-0.133 0.133c-0.667 0.4-1.2 0.933-1.467 1.6-0.4 0.667-0.4 1.467-0.133 2.267z\'%3E%3C/path%3E %3Cpath opacity=\'1\' fill=\'%23000000\' d=\'M15.333 10.667c-3.333 0-6 2.667-6 6s2.667 6 6 6c3.333 0 6-2.667 6-6s-2.667-6-6-6zM15.333 21.333c-2.533 0-4.667-2.133-4.667-4.667s2.133-4.667 4.667-4.667c2.533 0 4.667 2.133 4.667 4.667s-2.133 4.667-4.667 4.667z\'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;content:" "}.widget_icon_changecompany{display:inline-block;width:24px;height:24px;margin:8px 12px;color:black;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url("data:image/svg+xml;base64,IDxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MDAuMDAwMDAwcHQiIGhlaWdodD0iODYzLjAwMDAwMHB0IiB2aWV3Qm94PSIwIDAgNzAwLjAwMDAwMCA4NjMuMDAwMDAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij4KPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsODYzLjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIgZmlsbD0iIzY2NiIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTY3ODIgODMzOCBjLTE4IC0xOCAtMzk0MCAtMjUgLTQwNTUgLTggLTk4IDE2IC0xMDkgOSAtOTUgLTU2IDkgLTM5CjcgLTE2MiAtNCAtMjQ0IC0yIC0yMCAyIC0yNiAyMSAtMjggMTMgLTIgMzUgMiA0OCA5IDE4IDEwIDM0IDEwIDYyIDMgMjIgLTYKNDggLTcgNjEgLTIgMTIgNCA4NDMgNyAxODQ3IDYgbDE4MjUgLTMgMTkgLTI0IGMxNiAtMTkgMTkgLTQwIDE5IC0xMTYgMCAtNTIKLTUgLTEwNiAtMTAgLTEyMSAtOCAtMTkgLTggLTMwIDAgLTM4IDE1IC0xNSAxNCAtNTk5OCAtMSAtNjAxMyAtNyAtNyAtOSAtMjMKLTUgLTM3IGw2IC0yNSAxMjAgNiBjOTIgNSAxMjcgMyAxNDYgLTcgMzUgLTE5IDYwIC0zIDU1IDM2IC04IDYyIC04IDY0MDQgMAo2NDk5IDEyIDEzNSAxMiAxNDYgMiAxNTUgLTE3IDE2IC00OSAyMCAtNjEgOHoiPjwvcGF0aD4KPHBhdGggZD0iTTUwNCA3MjY1IGMtNCAtMTAgLTIgLTMyIDQgLTQ5IDE3IC00NiAxNyAtNjU3NyAxIC02NTkzIC05IC05IC05Ci0xOSAtMSAtNDAgMTAgLTI1IDkgLTE3NyAtMSAtMzA2IC01IC01NiA2IC02MCAxMjEgLTQ3IDcyIDkgMTA5IDkgMTQwIDEgMjYKLTggNTUgLTggODEgLTIgMjUgNSA1OCA1IDg2IC0xIDMyIC03IDY3IC02IDExMyAyIDg0IDE0IDEyNzggMTMgMTQzMCAtMiAxMTcKLTExIDEzNyAtNSAxMjUgNDEgLTQgMTQgLTYgNTggLTYgOTYgMCAzOSAwIDEwNCAtMSAxNDUgMCA0MSAtMSAzMDYgLTEgNTg4IGwwCjUxNCAyMyAxOCBjMjEgMTcgNTQgMTggNTI3IDIwIGw1MDUgMSAyNSAtMjUgMjUgLTI1IDAgLTY1MCBjLTEgLTM5OCAtNSAtNjUzCi0xMSAtNjU2IC0xNCAtOSAtMTEgLTUxIDYgLTY1IDExIC05IDMzIC0xMCA5MiAtMiA2NSA4IDE3NjkgOCAxOTUyIC0xIDQxIC0yCjQ1IDAgNTMgMjggNSAxOCA0IDQwIC0zIDU3IC0xNSAzNyAtMTYgMTk1IC0xIDIxMCA4IDggOCAxNiAtMSAzMiAtOSAxNiAtMTIKNzM1IC0xMiAzMTc2IDAgMTczNSAyIDMyNDAgNCAzMzQ0IDQgMTc5IDMgMTkwIC0xNSAxOTYgLTEwIDQgLTMwIDMgLTQ0IC0yCi0zMSAtMTAgLTUxMjAgLTQgLTUxNzIgNiAtMzEgNyAtMzkgNSAtNDQgLTl6IG00OTQzIC0zMjggYzE3IC0xNyAxOCAtMTU5IDIwCi0zMTgxIDMgLTMwOTUgMiAtMzE2NSAtMTYgLTMxODggLTE4IC0yMiAtMjYgLTIzIC0xNTYgLTI2IC04NyAtMiAtMTQxIDAgLTE0OQo3IC05IDggLTIyIDggLTQzIDAgLTIwIC03IC0yMDEgLTkgLTU0MSAtNyAtNDg1IDMgLTUxMSA0IC01MzEgMjIgLTIxIDE5IC0yMQoyMSAtMjEgNjczIDAgNDM1IDMgNjYxIDEwIDY3NCA2IDExIDcgMjYgMiAzNCAtNyAxNCAtMTEwIDE2IC04NzcgMTYgbC04NzAgMAotNiAtMjQgYy00IC0xNCAtMyAtMzEgMiAtMzggMTEgLTE4IDExIC0xMzAgMCAtMTQ4IC01IC04IC0zIC0yNCA0IC00MCA5IC0yMAoxMiAtMTU5IDExIC01NzggLTEgLTUxNiAtMiAtNTUzIC0xOSAtNTcwIC0xNyAtMTcgLTYwIC0xOCAtNjg1IC0yMSAtNjc4IC0zCi03MzMgLTEgLTc0NiAzNCAtMyA4IC02IDE0MzcgLTYgMzE3NiAtMSAyOTE3IDEgMzE2MiAxNiAzMTc5IDkgMTAgMzQgMjAgNTgKMjIgMjIgMiAxMDUwIDMgMjI4MyAzIDIxMzkgLTEgMjI0MyAtMiAyMjYwIC0xOXoiPjwvcGF0aD4KPHBhdGggZD0iTTIwNzUgNjIwOSBjLTUgLTcgLTg1IC0xMCAtMjUxIC04IGwtMjQ1IDMgMCAtNjg3IC0xIC02ODcgNjg2IC0xCjY4NyAwIDAgNjkzIDAgNjkzIC0yMSAzIGMtMTIgMiAtMjYgLTEgLTMzIC02IC0xNiAtMTMgLTc4NSAtMTQgLTc5MyAtMSAtNyAxMgotMjEgMTEgLTI5IC0yeiBtNTQ2IC0zMzYgYzExIC0xMyAxNCAtODIgMTQgLTM1MyAwIC0zMTkgLTEgLTMzOSAtMTkgLTM1OSAtMTkKLTIxIC0yNSAtMjEgLTM1NCAtMjAgLTMxNSAxIC0zMzUgMiAtMzUzIDIwIC0xOCAxOCAtMTkgMzggLTE5IDM1NiAwIDI5OSAyCjMzOCAxNyAzNTUgMTUgMTcgMzkgMTggMzU4IDE4IDMwNiAwIDM0NCAtMiAzNTYgLTE3eiI+PC9wYXRoPgo8cGF0aCBkPSJNMzM0MSA2MjExIGMtMTEgLTcgLTEyIC0xOSAtNiAtNTIgOSAtNDYgMTMgLTExOTggNSAtMTI4MiBsLTUgLTQ4CjY4OSAwIGMzNzkgMSA2OTMgNCA2OTYgOCA0IDUgNCA0NCAtMSA4NyAtNiA2NyAtNCAxMTQ0IDQgMTI0NSBsMiAzMyAtNTcwIDIKYy0zMTMgMiAtNTc3IDMgLTU4NSA0IC04IDEgLTUxIDEgLTk1IDAgLTQ0IC0xIC04OSAxIC0xMDAgNSAtMTEgNCAtMjYgMyAtMzQKLTJ6IG0xMDI2IC0zMjYgYzQwIC05IDQ1IC01NiA0MSAtMzkyIC0zIC0yODQgLTUgLTMxNCAtMjEgLTMzMCAtMTYgLTE2IC00NwotMTggLTM1MSAtMjEgLTMxNyAtMyAtMzM0IC0yIC0zNTcgMTcgbC0yNCAxOSAwIDMzNSBjMCAzMTIgMSAzMzYgMTkgMzU1IDEwCjEyIDMyIDIyIDUwIDI0IDUyIDUgNjE5IC0xIDY0MyAtN3oiPjwvcGF0aD4KPHBhdGggZD0iTTI4ODMgNDA4OSBjLTcgLTcgLTIxNSAtOSAtNjYyIC03IC02MjMgMyAtNjUxIDIgLTY1NyAtMTUgLTMgLTEwIC0xCi0zMSA2IC00NiA4IC0yMCAxMCAtMjA2IDggLTY3MiBsLTMgLTY0NCA2ODggMiA2ODggMiAwIDY4OCBjMCA2NTMgLTEgNjg4IC0xOAo2OTQgLTI2IDExIC0zOCAxMCAtNTAgLTJ6IG0tMjYzIC0zNDYgYzIxIC0yOCAyMiAtMzIgMTggLTM1NiBsLTMgLTMyOSAtMjQKLTE5IGMtMjIgLTE4IC00MyAtMTkgLTM1MiAtMTkgLTMxMiAwIC0zMzAgMSAtMzQ4IDE5IC0xOSAxOSAtMjAgMzcgLTIxIDM1NSAwCjMyNCAwIDMzNiAyMCAzNTYgMTkgMTkgMzIgMjAgMzU0IDIwIGwzMzUgMCAyMSAtMjd6Ij48L3BhdGg+CjxwYXRoIGQ9Ik00Njc1IDQwODkgYy0xNiAtNSAtMzI1IC04IC02ODUgLTggbC02NTUgMiA0IC0zNCBjMTAgLTkyIDExIC0xMjQ3CjEgLTEyODcgLTE0IC01NyAtMiAtNzQgNDMgLTYxIDE5IDYgMzAyIDkgNjg3IDggbDY1NSAtMSAtMyAzNCBjLTEgMTggLTUgMzAxCi04IDYyOCAtNSA0NjQgLTMgNjA3IDcgNjQ4IDE1IDY1IDMgODUgLTQ2IDcxeiBtLTI5MCAtMzM5IGMxNiAtMTggMTkgLTQyIDIxCi0xNzcgMiAtMTE4IC0xIC0xNjMgLTExIC0xODMgLTExIC0yMSAtMTEgLTMwIC0yIC0zOSA4IC05IDExIC01NCAxMCAtMTU0IC0zCi0xMzEgLTUgLTE0MyAtMjQgLTE1OSAtMTkgLTE2IC01MiAtMTggLTM0OSAtMTggLTM5OSAwIC0zNzAgLTExIC0zNzEgMTM1IDAKNTUgLTEgMTM0IC0yIDE3NSAtMSA0MSAtMSAxNDggLTEgMjM4IDEgMTQxIDMgMTY1IDE5IDE4MiAxNyAxOSAzMSAyMCAzNTUgMjAKMzI2IDAgMzM3IC0xIDM1NSAtMjB6Ij48L3BhdGg+CjwvZz4KPC9zdmc+");background-repeat:no-repeat;background-size:contain;content:" "}.widget_icon_logout{display:inline-block;width:24px;height:24px;margin:8px 12px;color:black;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBpZD0iYSIgZD0iTTAgMGgyOHYySDJ2NDRoMjZ2MkgwVjB6bTMzLjU4NiAxNGgyLjgyOGwxMSAxMS0xMSAxMWgtMi44MjhsMTAtMTBIMTh2LTJoMjUuNTg2bC0xMC0xMHoiLz4KICAgIDwvZGVmcz4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTS00MTAtMzIwaDE0NDB2MTY4MkgtNDEweiIvPgogICAgICAgIDxtYXNrIGlkPSJiIiBmaWxsPSIjZmZmIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjYSIvPgogICAgICAgIDwvbWFzaz4KICAgICAgICA8ZyBmaWxsPSIjNjY2IiBtYXNrPSJ1cmwoI2IpIj4KICAgICAgICAgICAgPHBhdGggZD0iTTAgMGg0OHY0OEgweiIvPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==");background-repeat:no-repeat;background-size:contain;content:" "}.widget_icon_notification{display:inline-block;width:24px;height:24px;margin:8px 12px;color:black;font-weight:normal;font-size:1em;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBpZD0iYSIgZD0iTTIgNDBoNDRWOEgydjMyem0yMy40NDYtMTEuOTYzYy0uNzYyLjc5Ny0yLjEzLjc5OC0yLjg5Mi0uMDAyTDUuMzM3IDEwaDM3LjMyN0wyNS40NDYgMjguMDM3ek0xNS45MzUgMjRMNCAzNi41MDRWMTEuNDk2TDE1LjkzNSAyNHptMS4zODQgMS40NDhsMy43ODcgMy45NjdBMy45NjYgMy45NjYgMCAwIDAgMjQgMzAuNjU2YTMuOTcgMy45NyAwIDAgMCAyLjg5My0xLjIzOGwzLjc4OC0zLjk3TDQyLjY2MiAzOEg1LjMzOGwxMS45ODEtMTIuNTUyek0zMi4wNjQgMjRMNDQgMTEuNDk1djI1LjAwOUwzMi4wNjQgMjR6Ii8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tMTE0OS0zMThIMjkxdjE2ODJoLTE0NDB6Ii8+CiAgICAgICAgPG1hc2sgaWQ9ImIiIGZpbGw9IiNmZmYiPgogICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNhIi8+CiAgICAgICAgPC9tYXNrPgogICAgICAgIDxnIGZpbGw9IiM2NjYiIG1hc2s9InVybCgjYikiPgogICAgICAgICAgICA8cGF0aCBkPSJNMCAwaDQ4djQ4SDB6Ii8+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K");background-repeat:no-repeat;background-size:contain;content:" "}#post-klp-login-widget.bubble:before{position:absolute;top:calc(100% + 2px);right:50%;z-index:9999;width:0;height:0;margin-right:-7px;border-color:transparent transparent white transparent;border-style:solid;border-width:0 7px 7px 7px;content:""}#post-klp-login-widget.bubble:after{position:absolute;top:100%;right:50%;z-index:9998;width:0;height:0;margin-right:-8px;border-color:transparent transparent rgba(0, 0, 0, 0.07) transparent;border-style:solid;border-width:0 8px 8px 8px;content:""}.klp-widget-anonymous .klp-widget-anonymous__text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;border:0;clip:rect(0 0 0 0)}@media (min-width: 600px) and (max-width: 1023px){.klp-widget-anonymous .klp-widget-anonymous__text{position:static;width:auto;height:auto;margin:0;padding-right:10px;overflow:visible;clip:auto}}@media (min-width: 1024px) and (max-width: 1279px){.klp-widget-anonymous .klp-widget-anonymous__text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;border:0;clip:rect(0 0 0 0)}}@media (min-width: 1280px){.klp-widget-anonymous .klp-widget-anonymous__text{position:static;width:auto;height:auto;margin:0;padding-right:8px;overflow:visible;font-size:17px;clip:auto}}.klp-widget-anonymous a{padding:0 1rem}@media (min-width: 600px) and (max-width: 1023px){.klp-widget-anonymous a{padding:0 16px}}@media (min-width: 1024px){.klp-widget-anonymous a{padding:0 20px}}.initials-mobile{display:block;width:32px;height:32px;color:white;font-weight:normal;font-size:13px;line-height:32px;letter-spacing:1px;text-align:center;background-color:#004976;border-radius:32px;visibility:visible}@media (min-width: 1024px){.initials-mobile{width:40px;height:40px;font-size:15px;line-height:40px;border-radius:40px}}.notification-number{position:absolute;top:6px;right:5px;display:block;width:15px;height:15px;color:white;font-size:12px;line-height:20px;text-align:center;background-color:#a51728;background-clip:padding-box;border:2px solid white;border-radius:10px}@media (min-width: 600px) and (max-width: 1023px){.notification-number{right:8px}}@media (min-width: 1024px) and (max-width: 1279px){.notification-number{right:8px;width:17px;height:17px}}@media (min-width: 1280px){.notification-number{top:10px;right:12px;width:17px;height:17px}}.klp-widget-authenticated-session-name{display:none}.linkContainer{-ms-flex-item-align:center;align-self:center;height:16px;margin:10px 0}.klp-widget-authenticated-menu{position:fixed;top:64px;z-index:3;width:296px}@media (max-width: 399px){.klp-widget-authenticated-menu{right:0;left:0;margin:0 auto}}@media (min-width: 400px) and (max-width: 1023px){.klp-widget-authenticated-menu{position:absolute;top:64px;right:8px}}@media (min-width: 1024px) and (max-width: 1279px){.klp-widget-authenticated-menu{position:absolute;top:72px;right:8px}}@media (min-width: 1280px){.klp-widget-authenticated-menu{position:absolute;top:80px;right:8px}}.klp-widget-authenticated-menu>ul{margin:0}.klp-widget-authenticated{min-width:52px;max-height:55px;background-color:white}@media (min-width: 1024px) and (max-width: 1279px){.klp-widget-authenticated{max-height:64px}}@media (min-width: 1280px){.klp-widget-authenticated{max-height:72px}}.item-centered{-ms-flex-align:center;align-items:center;-ms-flex-item-align:center;align-self:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.item-left{-ms-flex-align:start;align-items:flex-start;-ms-flex-item-align:start;align-self:flex-start}.item-right{-ms-flex-align:end;align-items:flex-end;-ms-flex-item-align:end;align-self:flex-end}.changeAccountModal{display:table}.modal{position:fixed;top:0;left:0;z-index:9999;display:none;width:100vw;height:100vh;padding-top:100px;overflow:auto;background-color:black;background-color:rgba(0, 0, 0, 0.4);}.modal-content{-ms-flex-align:center;align-items:center;width:80%;min-height:20em;margin:auto;background-color:white;border:1px solid #888}@media (min-width: 1024px){.modal-content{max-width:584px;margin:1.75rem auto}}.close{position:absolute;top:0;right:15px;color:#000;font-weight:lighter;font-size:40px}.close:hover,.close:focus{text-decoration:none;cursor:pointer}.btn-modal-container{position:absolute;bottom:1em;width:100%}.pi{display:inline-block;width:1.5rem;height:1.5rem;vertical-align:middle;background-repeat:no-repeat;background-position:center center;background-size:contain;border:none}.pi-2086{width:4.5rem;height:4.5rem;margin-bottom:2em;background-image:url("data:image/svg+xml,%3Csvg version=\'1.1\' xmlns=\'http://www.w3.org/2000/svg\' width=\'32\' height=\'32\' viewBox=\'0 0 32 32\'%3E%3Cpath fill=\'%23000\' d=\'M17.333 25.333v-16h-4.667v2.667h2v13.333h-2v2.667h6.667v-2.667z\'%3E%3C/path%3E %3Cpath fill=\'%23000\' d=\'M14.667 4h2.667v2.667h-2.667v-2.667z\'%3E%3C/path%3E%3C/svg%3E");border-color:#000}.modal-text-container{-ms-flex-line-pack:center;align-content:center;width:100%;min-height:17em;background:#ffcc00}.modal-button-container{-ms-flex-line-pack:center;align-content:center;width:100%;height:6em;margin-right:0;margin-left:0;background:white}.text-align-center{text-align:center}.modal-text{color:black;font-weight:bold}:host{display:block}.widget-wrapper{position:relative}.widget-wrapper,#post-klp-login-widget,.klp-widget-anonymous,.klp-widget-anonymous__wrapper,.klp-widget-anonymous__wrapper a{height:100%}.klp-widget-anonymous__wrapper a{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;color:#333333;text-decoration:none;padding:0 1rem;-webkit-transition:color 200ms;transition:color 200ms}.klp-widget-anonymous__wrapper a:hover,.klp-widget-anonymous__wrapper a:focus{color:black}@media (min-width: 1024px){.klp-widget-anonymous__wrapper a{padding:0 1.125rem}}.klp-widget-anonymous__wrapper a span{margin-right:0.5rem}.klp-widget-anonymous__wrapper a svg{width:1.5rem;height:1.5rem}@media (min-width: 600px) and (max-width: 1023.98px){.klp-widget-anonymous__text{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible}}@media (min-width: 1280px){.klp-widget-anonymous__text{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible}}#post-klp-login-widget .nameAndInfoWrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;width:224px;height:78px;padding:16px 0px;line-height:46px;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.modal-content{position:relative}.modal-text-container{padding-top:3rem}#post-klp-login-widget .modal-button-container{height:auto;padding:2rem}#post-klp-login-widget .modal-button-container>.item-centered{-ms-flex-pack:center;justify-content:center}';var b=t("post_klp_login_widget",function(){function t(t){i(this,t)}t.prototype.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){var t,i;return __generator(this,(function(n){switch(n.label){case 0:return[4,e.import("./p-4c9ec2d8.system.js")];case 1:i=n.sent().initializeKLPLoginWidget;if(((t=g.localizedConfig)===null||t===void 0?void 0:t.header.loginWidgetOptions)===undefined)return[2];i("post-klp-login-widget",Object.assign(Object.assign({},g.localizedConfig.header.loginWidgetOptions),{environment:g.environment}));return[2]}}))}))};t.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){var t,e;return __generator(this,(function(i){e=(t=this.host.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll(".klp-widget-anonymous__wrapper a, .klp-widget-authenticated-session a");if(e&&e.length){e[0].focus()}return[2]}))}))};t.prototype.render=function(){var t,e;if(!((e=(t=g===null||g===void 0?void 0:g.localizedConfig)===null||t===void 0?void 0:t.header)===null||e===void 0?void 0:e.loginWidgetOptions)){console.warn('Internet Header: the login widget is not configured in your portal config. Use <swisspost-internet-header project="'.concat(g.projectId,'" login="false"></swisspost-internet-header> to turn off the login widget or configure it via the portal config.'));return null}return n(r,null,n(a,null),n("div",{class:"widget-wrapper","data-hj-suppress":true},n("div",{id:"post-klp-login-widget"})))};Object.defineProperty(t.prototype,"host",{get:function(){return o(this)},enumerable:false,configurable:true});return t}());b.style=l}}}));
2
+ //# sourceMappingURL=p-cb06a633.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["postKlpLoginWidgetCss","PostKlpLoginWidget","exports","class_1","prototype","componentDidLoad","module","import","initializeKLPLoginWidget","_c","sent","_a","state","localizedConfig","header","loginWidgetOptions","undefined","Object","assign","environment","setFocus","loginButton","this","host","shadowRoot","querySelectorAll","length","focus","render","_b","console","warn","concat","projectId","h","Host","SvgSprite","class","id"],"sources":["src/components/post-klp-login-widget/post-klp-login-widget.scss?tag=post-klp-login-widget&encapsulation=shadow","src/components/post-klp-login-widget/post-klp-login-widget.tsx"],"sourcesContent":["@use '@swisspost/design-system-styles/variables/color';\r\n@use '@swisspost/design-system-styles/components/button';\r\n@use '../../utils/utils.scss';\r\n@use '../../utils/mixins.scss';\r\n\r\n@use './widget-styles.scss';\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.widget-wrapper {\r\n position: relative;\r\n}\r\n\r\n.widget-wrapper,\r\n#post-klp-login-widget,\r\n.klp-widget-anonymous,\r\n.klp-widget-anonymous__wrapper,\r\n.klp-widget-anonymous__wrapper a {\r\n height: 100%;\r\n}\r\n\r\n.klp-widget-anonymous__wrapper a {\r\n display: flex;\r\n align-items: center;\r\n color: color.$gray-80;\r\n text-decoration: none;\r\n padding: 0 1rem;\r\n transition: color 200ms;\r\n\r\n &:hover,\r\n &:focus {\r\n color: black;\r\n }\r\n\r\n @include mixins.min(lg) {\r\n padding: 0 1.125rem;\r\n }\r\n\r\n span {\r\n margin-right: 0.5rem;\r\n }\r\n\r\n svg {\r\n width: 1.5rem;\r\n height: 1.5rem;\r\n }\r\n}\r\n\r\n.klp-widget-anonymous__text {\r\n @extend %visually-hidden;\r\n\r\n @include mixins.between(rg, lg) {\r\n @include mixins.reset-visually-hidden();\r\n }\r\n\r\n @include mixins.min(xl) {\r\n @include mixins.reset-visually-hidden();\r\n }\r\n}\r\n\r\n#post-klp-login-widget .nameAndInfoWrapper {\r\n position: relative;\r\n display: flex;\r\n\r\n align-items: flex-start;\r\n width: 224px;\r\n height: 78px;\r\n padding: 16px 0px;\r\n line-height: 46px;\r\n flex-direction: column;\r\n justify-content: center;\r\n}\r\n\r\n.modal-content {\r\n position: relative;\r\n}\r\n\r\n.modal-text-container {\r\n padding-top: 3rem;\r\n}\r\n\r\n#post-klp-login-widget .modal-button-container {\r\n height: auto;\r\n padding: 2rem;\r\n\r\n & > .item-centered {\r\n justify-content: center;\r\n }\r\n}\r\n","import { Component, Host, h, Method, Element } from '@stencil/core';\r\nimport { state } from '../../data/store';\r\nimport { IsFocusable } from '../../models/header.model';\r\nimport { SvgSprite } from '../../utils/svg-sprite.component';\r\n\r\n@Component({\r\n tag: 'post-klp-login-widget',\r\n styleUrl: 'post-klp-login-widget.scss',\r\n scoped: false,\r\n shadow: true,\r\n})\r\nexport class PostKlpLoginWidget implements IsFocusable {\r\n @Element() host: HTMLElement;\r\n\r\n async componentDidLoad() {\r\n const { initializeKLPLoginWidget } = await import('./klp-widget.controller');\r\n if (state.localizedConfig?.header.loginWidgetOptions === undefined) return;\r\n initializeKLPLoginWidget('post-klp-login-widget', {\r\n ...state.localizedConfig.header.loginWidgetOptions,\r\n environment: state.environment,\r\n });\r\n }\r\n\r\n /**\r\n * Sets the focus on the login button\r\n */\r\n @Method()\r\n async setFocus() {\r\n const loginButton = this.host.shadowRoot?.querySelectorAll<HTMLElement>(\r\n '.klp-widget-anonymous__wrapper a, .klp-widget-authenticated-session a',\r\n );\r\n if (loginButton && loginButton.length) {\r\n loginButton[0].focus();\r\n }\r\n }\r\n\r\n render() {\r\n if (!state?.localizedConfig?.header?.loginWidgetOptions) {\r\n console.warn(\r\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.`,\r\n );\r\n return null;\r\n }\r\n return (\r\n <Host>\r\n <SvgSprite />\r\n <div class=\"widget-wrapper\" data-hj-suppress>\r\n <div id=\"post-klp-login-widget\"></div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"ssDAAA,IAAMA,EAAwB,umqC,ICWjBC,EAAkBC,EAAA,mC,wBAGvBC,EAAAC,UAAAC,iBAAN,W,oHACuC,SAAMC,EAAAC,OAAO,2B,OAA1CC,EAA6BC,EAAAC,OAAuCF,yBAC5E,KAAIG,EAAAC,EAAMC,mBAAe,MAAAF,SAAA,SAAAA,EAAEG,OAAOC,sBAAuBC,UAAW,UACpER,EAAyB,wBAAuBS,OAAAC,OAAAD,OAAAC,OAAA,GAC3CN,EAAMC,gBAAgBC,OAAOC,oBAAkB,CAClDI,YAAaP,EAAMO,e,kBAQjBhB,EAAAC,UAAAgB,SAAN,W,6FACQC,GAAcV,EAAAW,KAAKC,KAAKC,cAAU,MAAAb,SAAA,SAAAA,EAAEc,iBACxC,yEAEF,GAAIJ,GAAeA,EAAYK,OAAQ,CACrCL,EAAY,GAAGM,O,kBAInBxB,EAAAC,UAAAwB,OAAA,W,QACE,MAAKC,GAAAlB,EAAAC,IAAK,MAALA,SAAK,SAALA,EAAOC,mBAAe,MAAAF,SAAA,SAAAA,EAAEG,UAAM,MAAAe,SAAA,SAAAA,EAAEd,oBAAoB,CACvDe,QAAQC,KACN,sHAAAC,OAAsHpB,EAAMqB,UAAS,qHAEvI,OAAO,I,CAET,OACEC,EAACC,EAAI,KACHD,EAACE,EAAS,MACVF,EAAA,OAAKG,MAAM,iBAAgB,yBACzBH,EAAA,OAAKI,GAAG,2B,yHApCa,I"}
@@ -0,0 +1,2 @@
1
+ System.register(["./p-1b8f9bc8.system.js","./p-c69923cd.system.js"],(function(t){"use strict";var e,i,n,a;return{setters:[function(t){e=t.r;i=t.h;n=t.H},function(t){a=t.s}],execute:function(){var o='@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:700;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:400;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:300;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff") format("woff")}*,:host,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{font-family:"Frutiger Neue For Post", system-ui, sans-serif}button{font:inherit;padding:0}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:white}}.meta-list,.no-list{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}.btn-blank{background-color:transparent;border:none;border-radius:0;padding:0}.meta-link,.nav-link{text-decoration:none;color:rgba(0, 0, 0, 0.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:transparent;border-radius:0;-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.5rem}.meta-link:hover,.nav-link:hover,.meta-link:focus,.nav-link:focus{color:black}.meta-link>svg,.nav-link>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.meta-link>span,.nav-link>span{-ms-flex-negative:1;flex-shrink:1}.box>*:first-child{margin-top:0}.box>*:last-child{margin-bottom:0}.mirrored{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.bold{font-weight:700}.light{font-weight:300}.d-flex{display:-ms-flexbox;display:flex}.d-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.align-items-center{-ms-flex-align:center;align-items:center}@media (min-width: 1441px){.wide-container{margin:0 auto;max-width:1440px}}@media (max-width: 599.98px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 600px) and (max-width: 1023.98px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}.visually-hidden{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}@media (max-width: -0.02px){.hidden-xs{display:none}}@media (max-width: 399.98px){.hidden-sm{display:none}}@media (max-width: 599.98px){.hidden-rg{display:none}}@media (max-width: 779.98px){.hidden-md{display:none}}@media (max-width: 1023.98px){.hidden-lg{display:none}}@media (max-width: 1279.98px){.hidden-xl{display:none}}@media (max-width: 1440.98px){.hidden-xxl{display:none}}:host{display:block;background:#faf9f8;font-size:0.875rem}.meta-container{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-align:center;align-items:center;min-height:3rem}@media (min-width: 1441px){.meta-container:not(.full-width){margin:0 auto;max-width:1440px}}.meta-container.vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;padding-top:2.5rem;padding-bottom:2.5rem}@media (max-width: 599.98px){.meta-container.vertical{padding-right:16px;padding-left:16px}}@media (min-width: 600px) and (max-width: 1023.98px){.meta-container.vertical{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.meta-container.vertical{padding-right:40px;padding-left:40px}}@media (min-width: 1024px){.meta-container.vertical{display:none}}.meta-container.horizontal ::slotted(*){--separator-display:block;--separator-height:2.125rem}.horizontal .meta-navigation{padding-right:1rem}.meta-list{display:-ms-flexbox;display:flex}.vertical .meta-list{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start}.meta-link{font-size:0.875rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:0 0.5rem;min-height:2.125rem;border-radius:3px}.meta-link.active{background:#fc0;color:black}.vertical .meta-link{color:black;padding:0}.vertical .meta-link.active{padding:0 0.5rem;margin-left:-0.5rem}';var r=t("post_meta_navigation",function(){function t(t){e(this,t);this.orientation=undefined;this.fullWidth=false}t.prototype.render=function(){var t;if(((t=a.localizedConfig)===null||t===void 0?void 0:t.header.navMeta)===undefined)return;var e=a.localizedConfig.header.navMeta;return i(n,null,i("div",{class:"meta-container ".concat(this.orientation).concat(this.fullWidth?" full-width":"")},i("nav",{class:"meta-navigation"},i("ul",{class:"meta-list"},e===null||e===void 0?void 0:e.filter((function(t){return!t.isHomeLink})).map((function(t){return i("li",{key:t.url},i("a",{class:{active:t.isActive,"meta-link":true},target:t.target,href:t.url},i("span",{"aria-hidden":"true"},t.text)))})))),i("slot",null)))};return t}());r.style=o}}}));
2
+ //# sourceMappingURL=p-cb3de015.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["postMetaNavigationCss","PostMetaNavigation","exports","class_1","prototype","render","_a","state","localizedConfig","header","navMeta","undefined","h","Host","class","concat","this","orientation","fullWidth","filter","meta","isHomeLink","map","key","url","active","isActive","target","href","text"],"sources":["src/components/post-meta-navigation/post-meta-navigation.scss?tag=post-meta-navigation&encapsulation=shadow","src/components/post-meta-navigation/post-meta-navigation.tsx"],"sourcesContent":["@use \"@swisspost/design-system-styles/variables/color\";\r\n@use \"@swisspost/design-system-styles/functions\";\r\n@use \"../../utils/utils.scss\";\r\n@use \"../../utils/mixins.scss\";\r\n\r\n:host {\r\n display: block;\r\n background: color.$gray-background-light;\r\n font-size: functions.px-to-rem(14px);\r\n}\r\n\r\n.meta-container {\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\r\n min-height: functions.px-to-rem(48px);\r\n\r\n @media (min-width: 1441px) {\r\n &:not(.full-width) {\r\n margin: 0 auto;\r\n max-width: 1440px;\r\n }\r\n }\r\n\r\n &.vertical {\r\n @include mixins.container-padding();\r\n\r\n flex-direction: column;\r\n align-items: flex-start;\r\n padding-top: 2.5rem;\r\n padding-bottom: 2.5rem;\r\n\r\n @include mixins.min(lg) {\r\n display: none;\r\n }\r\n }\r\n\r\n &.horizontal {\r\n ::slotted(*) {\r\n --separator-display: block;\r\n --separator-height: #{functions.px-to-rem(34px)};\r\n }\r\n }\r\n}\r\n\r\n.meta-navigation {\r\n .horizontal & {\r\n padding-right: 1rem;\r\n }\r\n}\r\n\r\n.meta-list {\r\n @extend %no-list;\r\n display: flex;\r\n\r\n .vertical & {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n }\r\n}\r\n\r\n.meta-link {\r\n @extend %nav-link;\r\n\r\n font-size: functions.px-to-rem(14px);\r\n display: flex;\r\n align-items: center;\r\n padding: 0 0.5rem;\r\n min-height: functions.px-to-rem(34px);\r\n border-radius: 3px;\r\n\r\n &.active {\r\n background: color.$yellow;\r\n color: black;\r\n }\r\n\r\n .vertical & {\r\n color: black;\r\n padding: 0;\r\n\r\n &.active {\r\n padding: 0 0.5rem;\r\n margin-left: -0.5rem;\r\n }\r\n }\r\n}\r\n","import { Component, Host, h, Prop } from '@stencil/core';\r\nimport { state } from '../../data/store';\r\n\r\n@Component({\r\n tag: 'post-meta-navigation',\r\n styleUrl: 'post-meta-navigation.scss',\r\n shadow: true,\r\n})\r\nexport class PostMetaNavigation {\r\n @Prop() orientation: 'horizontal' | 'vertical';\r\n @Prop() fullWidth?: boolean = false;\r\n\r\n render() {\r\n if (state.localizedConfig?.header.navMeta === undefined) return;\r\n const { navMeta } = state.localizedConfig.header;\r\n\r\n return (\r\n <Host>\r\n <div class={`meta-container ${this.orientation}${this.fullWidth ? ' full-width' : ''}`}>\r\n <nav class=\"meta-navigation\">\r\n <ul class=\"meta-list\">\r\n {navMeta\r\n ?.filter(meta => !meta.isHomeLink)\r\n .map(meta => (\r\n <li key={meta.url}>\r\n <a\r\n class={{ 'active': meta.isActive, 'meta-link': true }}\r\n target={meta.target}\r\n href={meta.url}\r\n >\r\n <span aria-hidden=\"true\">{meta.text}</span>\r\n </a>\r\n </li>\r\n ))}\r\n </ul>\r\n </nav>\r\n <slot></slot>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"gMAAA,IAAMA,EAAwB,84I,ICQjBC,EAAkBC,EAAA,kC,kEAEC,K,CAE9BC,EAAAC,UAAAC,OAAA,W,MACE,KAAIC,EAAAC,EAAMC,mBAAe,MAAAF,SAAA,SAAAA,EAAEG,OAAOC,WAAYC,UAAW,OACjD,IAAAD,EAAYH,EAAMC,gBAAgBC,OAAMC,QAEhD,OACEE,EAACC,EAAI,KACHD,EAAA,OAAKE,MAAO,kBAAAC,OAAkBC,KAAKC,aAAWF,OAAGC,KAAKE,UAAY,cAAgB,KAChFN,EAAA,OAAKE,MAAM,mBACTF,EAAA,MAAIE,MAAM,aACPJ,IAAO,MAAPA,SAAO,SAAPA,EACGS,QAAO,SAAAC,GAAQ,OAACA,EAAKC,UAAN,IAChBC,KAAI,SAAAF,GAAI,OACPR,EAAA,MAAIW,IAAKH,EAAKI,KACZZ,EAAA,KACEE,MAAO,CAAEW,OAAUL,EAAKM,SAAU,YAAa,MAC/CC,OAAQP,EAAKO,OACbC,KAAMR,EAAKI,KAEXZ,EAAA,sBAAkB,QAAQQ,EAAKS,OAP5B,MAafjB,EAAA,c,WA5BqB,I"}