@swisspost/internet-header 1.5.0-beta.2 → 1.5.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 (446) hide show
  1. package/LICENSE +202 -202
  2. package/dist/cjs/{if.component-313f59b8.js → if.component-51d000af.js} +6 -6
  3. package/dist/cjs/if.component-51d000af.js.map +1 -0
  4. package/dist/cjs/{klp-widget.controller-84642428.js → klp-widget.controller-d8941c4e.js} +4811 -4811
  5. package/dist/cjs/{klp-widget.controller-84642428.js.map → klp-widget.controller-d8941c4e.js.map} +1 -1
  6. package/dist/cjs/{language.service-a80ae01d.js → language.service-7dbf739d.js} +141 -141
  7. package/dist/cjs/language.service-7dbf739d.js.map +1 -0
  8. package/dist/cjs/post-klp-login-widget.cjs.entry.js +33 -33
  9. package/dist/cjs/post-klp-login-widget.cjs.entry.js.map +1 -1
  10. package/dist/cjs/post-language-switch.cjs.entry.js +88 -88
  11. package/dist/cjs/post-language-switch.cjs.entry.js.map +1 -1
  12. package/dist/cjs/post-logo.cjs.entry.js +51 -51
  13. package/dist/cjs/post-logo.cjs.entry.js.map +1 -1
  14. package/dist/cjs/post-main-navigation.cjs.entry.js +226 -226
  15. package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -1
  16. package/dist/cjs/post-meta-navigation.cjs.entry.js +15 -15
  17. package/dist/cjs/post-meta-navigation.cjs.entry.js.map +1 -1
  18. package/dist/cjs/post-search.cjs.entry.js +556 -534
  19. package/dist/cjs/post-search.cjs.entry.js.map +1 -1
  20. package/dist/cjs/post-skiplinks.cjs.entry.js +41 -41
  21. package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -1
  22. package/dist/cjs/{store-47e14589.js → store-d0d514fc.js} +20 -13
  23. package/dist/cjs/store-d0d514fc.js.map +1 -0
  24. package/dist/cjs/{svg-icon.component-10fbda11.js → svg-icon.component-be93f876.js} +2 -2
  25. package/dist/cjs/svg-icon.component-be93f876.js.map +1 -0
  26. package/dist/cjs/{svg-sprite.component-c3b454b3.js → svg-sprite.component-1bd7a058.js} +40 -40
  27. package/dist/cjs/svg-sprite.component-1bd7a058.js.map +1 -0
  28. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +370 -392
  29. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
  30. package/dist/cjs/swisspost-internet-footer.cjs.entry.js +125 -125
  31. package/dist/cjs/swisspost-internet-footer.cjs.entry.js.map +1 -1
  32. package/dist/cjs/swisspost-internet-header.cjs.entry.js +608 -608
  33. package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
  34. package/dist/cjs/{ui.service-db4a8252.js → ui.service-e1ebb6d4.js} +28 -28
  35. package/dist/cjs/ui.service-e1ebb6d4.js.map +1 -0
  36. package/dist/cjs/{utils-b6014257.js → utils-60853c5d.js} +15 -15
  37. package/dist/cjs/utils-60853c5d.js.map +1 -0
  38. package/dist/collection/assets/config/test-configuration.json +4067 -4067
  39. package/dist/collection/assets/i18n/translations.js +38 -38
  40. package/dist/collection/assets/i18n/translations.js.map +1 -1
  41. package/dist/collection/assets/js/sockjs-client.js +5134 -5134
  42. package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js +11 -11
  43. package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js.map +1 -1
  44. package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js +42 -42
  45. package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js.map +1 -1
  46. package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js +8 -8
  47. package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js.map +1 -1
  48. package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js +6 -6
  49. package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js.map +1 -1
  50. package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js +12 -12
  51. package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js.map +1 -1
  52. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +253 -253
  53. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js.map +1 -1
  54. package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js +12 -12
  55. package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js.map +1 -1
  56. package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js +24 -24
  57. package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js.map +1 -1
  58. package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js +6 -6
  59. package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js.map +1 -1
  60. package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js +6 -6
  61. package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js.map +1 -1
  62. package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js +5 -5
  63. package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js.map +1 -1
  64. package/dist/collection/components/post-internet-footer/post-internet-footer.js +86 -86
  65. package/dist/collection/components/post-internet-footer/post-internet-footer.js.map +1 -1
  66. package/dist/collection/components/post-internet-header/post-internet-header.js +676 -676
  67. package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -1
  68. package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js +14 -14
  69. package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js.map +1 -1
  70. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js +67 -67
  71. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js.map +1 -1
  72. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js +9 -9
  73. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js.map +1 -1
  74. package/dist/collection/components/post-language-switch/post-language-switch.js +186 -186
  75. package/dist/collection/components/post-language-switch/post-language-switch.js.map +1 -1
  76. package/dist/collection/components/post-logo/logo-sprite.component.js +4 -4
  77. package/dist/collection/components/post-logo/logo-sprite.component.js.map +1 -1
  78. package/dist/collection/components/post-logo/post-logo.js +60 -60
  79. package/dist/collection/components/post-logo/post-logo.js.map +1 -1
  80. package/dist/collection/components/post-main-navigation/components/level-one-action.component.js +13 -13
  81. package/dist/collection/components/post-main-navigation/components/level-one-action.component.js.map +1 -1
  82. package/dist/collection/components/post-main-navigation/post-main-navigation.js +347 -347
  83. package/dist/collection/components/post-main-navigation/post-main-navigation.js.map +1 -1
  84. package/dist/collection/components/post-meta-navigation/post-meta-navigation.js +67 -67
  85. package/dist/collection/components/post-meta-navigation/post-meta-navigation.js.map +1 -1
  86. package/dist/collection/components/post-search/post-search.js +362 -362
  87. package/dist/collection/components/post-search/post-search.js.map +1 -1
  88. package/dist/collection/components/post-skiplinks/post-skiplinks.js +51 -51
  89. package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +1 -1
  90. package/dist/collection/data/store.js +11 -11
  91. package/dist/collection/data/store.js.map +1 -1
  92. package/dist/collection/index.js +2 -2
  93. package/dist/collection/index.js.map +1 -1
  94. package/dist/collection/models/breadcrumbs.model.js +2 -2
  95. package/dist/collection/models/breadcrumbs.model.js.map +1 -1
  96. package/dist/collection/models/coveo.model.js +2 -2
  97. package/dist/collection/models/coveo.model.js.map +1 -1
  98. package/dist/collection/models/footer.model.js +2 -2
  99. package/dist/collection/models/footer.model.js.map +1 -1
  100. package/dist/collection/models/general.model.js +2 -2
  101. package/dist/collection/models/general.model.js.map +1 -1
  102. package/dist/collection/models/geocode.model.js +10 -10
  103. package/dist/collection/models/geocode.model.js.map +1 -1
  104. package/dist/collection/models/header.model.js +2 -2
  105. package/dist/collection/models/header.model.js.map +1 -1
  106. package/dist/collection/models/implementor.model.js +2 -2
  107. package/dist/collection/models/implementor.model.js.map +1 -1
  108. package/dist/collection/models/language.model.js +2 -2
  109. package/dist/collection/models/language.model.js.map +1 -1
  110. package/dist/collection/models/track-and-trace.model.js +2 -2
  111. package/dist/collection/models/track-and-trace.model.js.map +1 -1
  112. package/dist/collection/services/config.service.js +170 -170
  113. package/dist/collection/services/config.service.js.map +1 -1
  114. package/dist/collection/services/language.service.js +107 -107
  115. package/dist/collection/services/language.service.js.map +1 -1
  116. package/dist/collection/services/route.service.js +163 -163
  117. package/dist/collection/services/route.service.js.map +1 -1
  118. package/dist/collection/services/search/coveo.service.js +34 -34
  119. package/dist/collection/services/search/coveo.service.js.map +1 -1
  120. package/dist/collection/services/search/coveo.settings.js +19 -19
  121. package/dist/collection/services/search/coveo.settings.js.map +1 -1
  122. package/dist/collection/services/search/parcel.service.js +54 -54
  123. package/dist/collection/services/search/parcel.service.js.map +1 -1
  124. package/dist/collection/services/search/places.service.js +95 -95
  125. package/dist/collection/services/search/places.service.js.map +1 -1
  126. package/dist/collection/services/search/places.settings.js +16 -16
  127. package/dist/collection/services/search/places.settings.js.map +1 -1
  128. package/dist/collection/services/search/search-utilities.js +26 -26
  129. package/dist/collection/services/search/search-utilities.js.map +1 -1
  130. package/dist/collection/services/search/search.service.js +42 -42
  131. package/dist/collection/services/search/search.service.js.map +1 -1
  132. package/dist/collection/services/ui.service.js +30 -30
  133. package/dist/collection/services/ui.service.js.map +1 -1
  134. package/dist/collection/tests/setup-tests.js +14 -14
  135. package/dist/collection/tests/setup-tests.js.map +1 -1
  136. package/dist/collection/utils/highlighted.component.js +11 -11
  137. package/dist/collection/utils/highlighted.component.js.map +1 -1
  138. package/dist/collection/utils/if.component.js +7 -7
  139. package/dist/collection/utils/if.component.js.map +1 -1
  140. package/dist/collection/utils/svg-icon.component.js +3 -3
  141. package/dist/collection/utils/svg-icon.component.js.map +1 -1
  142. package/dist/collection/utils/svg-sprite.component.js +3 -3
  143. package/dist/collection/utils/svg-sprite.component.js.map +1 -1
  144. package/dist/collection/utils/utils.js +16 -16
  145. package/dist/collection/utils/utils.js.map +1 -1
  146. package/dist/components/klp-widget.controller.js +4810 -4810
  147. package/dist/components/klp-widget.controller.js.map +1 -1
  148. package/dist/components/language.service.js +139 -139
  149. package/dist/components/language.service.js.map +1 -1
  150. package/dist/components/post-klp-login-widget2.js +48 -48
  151. package/dist/components/post-klp-login-widget2.js.map +1 -1
  152. package/dist/components/post-language-switch2.js +102 -102
  153. package/dist/components/post-language-switch2.js.map +1 -1
  154. package/dist/components/post-logo2.js +67 -67
  155. package/dist/components/post-logo2.js.map +1 -1
  156. package/dist/components/post-main-navigation2.js +243 -243
  157. package/dist/components/post-main-navigation2.js.map +1 -1
  158. package/dist/components/post-meta-navigation2.js +32 -32
  159. package/dist/components/post-meta-navigation2.js.map +1 -1
  160. package/dist/components/post-search2.js +577 -555
  161. package/dist/components/post-search2.js.map +1 -1
  162. package/dist/components/post-skiplinks2.js +52 -52
  163. package/dist/components/post-skiplinks2.js.map +1 -1
  164. package/dist/components/store.js +19 -12
  165. package/dist/components/store.js.map +1 -1
  166. package/dist/components/svg-icon.component.js +1 -1
  167. package/dist/components/svg-icon.component.js.map +1 -1
  168. package/dist/components/svg-sprite.component.js +39 -39
  169. package/dist/components/svg-sprite.component.js.map +1 -1
  170. package/dist/components/swisspost-internet-breadcrumbs.js +387 -409
  171. package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
  172. package/dist/components/swisspost-internet-footer.js +140 -140
  173. package/dist/components/swisspost-internet-footer.js.map +1 -1
  174. package/dist/components/swisspost-internet-header.js +672 -672
  175. package/dist/components/swisspost-internet-header.js.map +1 -1
  176. package/dist/components/ui.service.js +27 -27
  177. package/dist/components/ui.service.js.map +1 -1
  178. package/dist/components/utils.js +14 -14
  179. package/dist/components/utils.js.map +1 -1
  180. package/dist/esm/{if.component-542fb8c3.js → if.component-0fe54385.js} +6 -6
  181. package/dist/esm/if.component-0fe54385.js.map +1 -0
  182. package/dist/esm/{klp-widget.controller-903e0422.js → klp-widget.controller-55366e6a.js} +4811 -4811
  183. package/dist/esm/{klp-widget.controller-903e0422.js.map → klp-widget.controller-55366e6a.js.map} +1 -1
  184. package/dist/esm/{language.service-e49858e0.js → language.service-023d2711.js} +141 -141
  185. package/dist/esm/language.service-023d2711.js.map +1 -0
  186. package/dist/esm/post-klp-login-widget.entry.js +33 -33
  187. package/dist/esm/post-klp-login-widget.entry.js.map +1 -1
  188. package/dist/esm/post-language-switch.entry.js +88 -88
  189. package/dist/esm/post-language-switch.entry.js.map +1 -1
  190. package/dist/esm/post-logo.entry.js +51 -51
  191. package/dist/esm/post-logo.entry.js.map +1 -1
  192. package/dist/esm/post-main-navigation.entry.js +226 -226
  193. package/dist/esm/post-main-navigation.entry.js.map +1 -1
  194. package/dist/esm/post-meta-navigation.entry.js +15 -15
  195. package/dist/esm/post-meta-navigation.entry.js.map +1 -1
  196. package/dist/esm/post-search.entry.js +556 -534
  197. package/dist/esm/post-search.entry.js.map +1 -1
  198. package/dist/esm/post-skiplinks.entry.js +41 -41
  199. package/dist/esm/post-skiplinks.entry.js.map +1 -1
  200. package/dist/esm/{store-d495dc07.js → store-837c3490.js} +20 -13
  201. package/dist/esm/store-837c3490.js.map +1 -0
  202. package/dist/esm/{svg-icon.component-1b1b27a2.js → svg-icon.component-e09b4bf9.js} +2 -2
  203. package/dist/esm/svg-icon.component-e09b4bf9.js.map +1 -0
  204. package/dist/esm/{svg-sprite.component-ec0ac38c.js → svg-sprite.component-cf60303f.js} +40 -40
  205. package/dist/esm/svg-sprite.component-cf60303f.js.map +1 -0
  206. package/dist/esm/swisspost-internet-breadcrumbs.entry.js +370 -392
  207. package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  208. package/dist/esm/swisspost-internet-footer.entry.js +125 -125
  209. package/dist/esm/swisspost-internet-footer.entry.js.map +1 -1
  210. package/dist/esm/swisspost-internet-header.entry.js +608 -608
  211. package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
  212. package/dist/esm/{ui.service-1d9b0f51.js → ui.service-2fbc9c45.js} +28 -28
  213. package/dist/esm/ui.service-2fbc9c45.js.map +1 -0
  214. package/dist/esm/{utils-5bf107ff.js → utils-ee79122f.js} +15 -15
  215. package/dist/esm/utils-ee79122f.js.map +1 -0
  216. package/dist/esm-es5/{if.component-542fb8c3.js → if.component-0fe54385.js} +1 -1
  217. package/dist/esm-es5/if.component-0fe54385.js.map +1 -0
  218. package/dist/esm-es5/{klp-widget.controller-903e0422.js → klp-widget.controller-55366e6a.js} +1 -1
  219. package/dist/{swisspost-internet-header/p-83f6cd1e.js.map → esm-es5/klp-widget.controller-55366e6a.js.map} +1 -1
  220. package/dist/esm-es5/{language.service-e49858e0.js → language.service-023d2711.js} +2 -2
  221. package/dist/esm-es5/language.service-023d2711.js.map +1 -0
  222. package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
  223. package/dist/esm-es5/post-klp-login-widget.entry.js.map +1 -1
  224. package/dist/esm-es5/post-language-switch.entry.js +1 -1
  225. package/dist/esm-es5/post-language-switch.entry.js.map +1 -1
  226. package/dist/esm-es5/post-logo.entry.js +1 -1
  227. package/dist/esm-es5/post-logo.entry.js.map +1 -1
  228. package/dist/esm-es5/post-main-navigation.entry.js +1 -1
  229. package/dist/esm-es5/post-main-navigation.entry.js.map +1 -1
  230. package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
  231. package/dist/esm-es5/post-meta-navigation.entry.js.map +1 -1
  232. package/dist/esm-es5/post-search.entry.js +1 -1
  233. package/dist/esm-es5/post-search.entry.js.map +1 -1
  234. package/dist/esm-es5/post-skiplinks.entry.js +1 -1
  235. package/dist/esm-es5/post-skiplinks.entry.js.map +1 -1
  236. package/dist/esm-es5/store-837c3490.js +2 -0
  237. package/dist/esm-es5/store-837c3490.js.map +1 -0
  238. package/dist/esm-es5/{svg-icon.component-1b1b27a2.js → svg-icon.component-e09b4bf9.js} +1 -1
  239. package/dist/esm-es5/svg-icon.component-e09b4bf9.js.map +1 -0
  240. package/dist/esm-es5/{svg-sprite.component-ec0ac38c.js → svg-sprite.component-cf60303f.js} +1 -1
  241. package/dist/esm-es5/svg-sprite.component-cf60303f.js.map +1 -0
  242. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +3 -3
  243. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  244. package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
  245. package/dist/esm-es5/swisspost-internet-footer.entry.js.map +1 -1
  246. package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
  247. package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
  248. package/dist/esm-es5/{ui.service-1d9b0f51.js → ui.service-2fbc9c45.js} +1 -1
  249. package/dist/esm-es5/ui.service-2fbc9c45.js.map +1 -0
  250. package/dist/esm-es5/{utils-5bf107ff.js → utils-ee79122f.js} +1 -1
  251. package/dist/esm-es5/utils-ee79122f.js.map +1 -0
  252. package/dist/swisspost-internet-header/assets/config/test-configuration.json +4067 -4067
  253. package/dist/swisspost-internet-header/p-06649b46.js +2 -0
  254. package/dist/swisspost-internet-header/p-06649b46.js.map +1 -0
  255. package/dist/swisspost-internet-header/{p-ec80c8fc.js → p-0942595f.js} +2 -2
  256. package/dist/swisspost-internet-header/p-0942595f.js.map +1 -0
  257. package/dist/swisspost-internet-header/{p-c29ec122.system.js → p-0c5624c0.system.js} +1 -1
  258. package/dist/swisspost-internet-header/p-0c5624c0.system.js.map +1 -0
  259. package/dist/swisspost-internet-header/{p-2eb04045.entry.js → p-0cba8ab4.entry.js} +2 -2
  260. package/dist/swisspost-internet-header/p-0cba8ab4.entry.js.map +1 -0
  261. package/dist/swisspost-internet-header/p-17a47667.system.js +1 -1
  262. package/dist/swisspost-internet-header/{p-ddcb8258.entry.js → p-26879023.entry.js} +2 -2
  263. package/dist/swisspost-internet-header/p-26879023.entry.js.map +1 -0
  264. package/dist/swisspost-internet-header/{p-cb3de015.system.entry.js → p-28e6362f.system.entry.js} +2 -2
  265. package/dist/swisspost-internet-header/p-28e6362f.system.entry.js.map +1 -0
  266. package/dist/swisspost-internet-header/{p-00fd320e.entry.js → p-322526ef.entry.js} +2 -2
  267. package/dist/swisspost-internet-header/p-322526ef.entry.js.map +1 -0
  268. package/dist/swisspost-internet-header/{p-f4ff1e9e.system.js → p-3753a678.system.js} +2 -2
  269. package/dist/swisspost-internet-header/p-3753a678.system.js.map +1 -0
  270. package/dist/swisspost-internet-header/{p-a9c4b2d0.system.entry.js → p-38d645ba.system.entry.js} +2 -2
  271. package/dist/swisspost-internet-header/p-38d645ba.system.entry.js.map +1 -0
  272. package/dist/swisspost-internet-header/{p-872a76a4.system.js → p-42695801.system.js} +1 -1
  273. package/dist/swisspost-internet-header/p-42695801.system.js.map +1 -0
  274. package/dist/swisspost-internet-header/{p-bdabd6ac.js → p-45db66a6.js} +1 -1
  275. package/dist/swisspost-internet-header/p-45db66a6.js.map +1 -0
  276. package/dist/swisspost-internet-header/p-493337e1.system.entry.js +2 -0
  277. package/dist/swisspost-internet-header/p-493337e1.system.entry.js.map +1 -0
  278. package/dist/swisspost-internet-header/{p-78f653be.system.entry.js → p-5d2fac3b.system.entry.js} +2 -2
  279. package/dist/swisspost-internet-header/p-5d2fac3b.system.entry.js.map +1 -0
  280. package/dist/swisspost-internet-header/p-62c5cf26.entry.js +2 -0
  281. package/dist/swisspost-internet-header/p-62c5cf26.entry.js.map +1 -0
  282. package/dist/swisspost-internet-header/{p-9d0a7039.entry.js → p-64cb215a.entry.js} +2 -2
  283. package/dist/swisspost-internet-header/p-64cb215a.entry.js.map +1 -0
  284. package/dist/swisspost-internet-header/{p-a51ad207.system.entry.js → p-66144e99.system.entry.js} +2 -2
  285. package/dist/swisspost-internet-header/p-66144e99.system.entry.js.map +1 -0
  286. package/dist/swisspost-internet-header/p-715ebef7.system.entry.js +7 -0
  287. package/dist/swisspost-internet-header/p-715ebef7.system.entry.js.map +1 -0
  288. package/dist/swisspost-internet-header/{p-12baacf0.entry.js → p-77d5e07f.entry.js} +2 -2
  289. package/dist/swisspost-internet-header/p-77d5e07f.entry.js.map +1 -0
  290. package/dist/swisspost-internet-header/p-7ea26ee9.entry.js +2 -0
  291. package/dist/swisspost-internet-header/p-7ea26ee9.entry.js.map +1 -0
  292. package/dist/swisspost-internet-header/p-7fcba2e7.system.js +2 -0
  293. package/dist/swisspost-internet-header/p-7fcba2e7.system.js.map +1 -0
  294. package/dist/swisspost-internet-header/{p-549b62ba.system.js → p-88aac12c.system.js} +1 -1
  295. package/dist/swisspost-internet-header/p-88aac12c.system.js.map +1 -0
  296. package/dist/swisspost-internet-header/{p-0e2ec555.js → p-8bf099a8.js} +1 -1
  297. package/dist/swisspost-internet-header/p-8bf099a8.js.map +1 -0
  298. package/dist/swisspost-internet-header/{p-8717445f.entry.js → p-95b81c4d.entry.js} +2 -2
  299. package/dist/swisspost-internet-header/p-95b81c4d.entry.js.map +1 -0
  300. package/dist/swisspost-internet-header/{p-3eb881c3.js → p-a2f9d462.js} +1 -1
  301. package/dist/swisspost-internet-header/p-a2f9d462.js.map +1 -0
  302. package/dist/swisspost-internet-header/{p-eeff8b03.js → p-ab1dd269.js} +1 -1
  303. package/dist/swisspost-internet-header/p-ab1dd269.js.map +1 -0
  304. package/dist/swisspost-internet-header/p-b228fe49.system.entry.js +2 -0
  305. package/dist/swisspost-internet-header/p-b228fe49.system.entry.js.map +1 -0
  306. package/dist/swisspost-internet-header/{p-a4160d23.entry.js → p-ccb522ba.entry.js} +2 -2
  307. package/dist/swisspost-internet-header/p-ccb522ba.entry.js.map +1 -0
  308. package/dist/swisspost-internet-header/p-cfa787d7.entry.js +6 -0
  309. package/dist/swisspost-internet-header/p-cfa787d7.entry.js.map +1 -0
  310. package/dist/swisspost-internet-header/{p-c946c5b8.system.entry.js → p-d6539597.system.entry.js} +2 -2
  311. package/dist/swisspost-internet-header/p-d6539597.system.entry.js.map +1 -0
  312. package/dist/swisspost-internet-header/{p-b406315a.system.entry.js → p-e2990968.system.entry.js} +2 -2
  313. package/dist/swisspost-internet-header/p-e2990968.system.entry.js.map +1 -0
  314. package/dist/swisspost-internet-header/{p-83f6cd1e.js → p-ed24b372.js} +1 -1
  315. package/dist/swisspost-internet-header/p-ed24b372.js.map +1 -0
  316. package/dist/swisspost-internet-header/{p-9509f6c7.system.js → p-edb2802d.system.js} +1 -1
  317. package/dist/swisspost-internet-header/p-edb2802d.system.js.map +1 -0
  318. package/dist/swisspost-internet-header/{p-ee915bbe.system.js → p-ee119d2e.system.js} +1 -1
  319. package/dist/swisspost-internet-header/p-ee119d2e.system.js.map +1 -0
  320. package/dist/swisspost-internet-header/{p-883f9547.system.entry.js → p-f38f38f4.system.entry.js} +2 -2
  321. package/dist/swisspost-internet-header/p-f38f38f4.system.entry.js.map +1 -0
  322. package/dist/swisspost-internet-header/{p-3ba40afe.js → p-f7c0cf7b.js} +1 -1
  323. package/dist/swisspost-internet-header/p-f7c0cf7b.js.map +1 -0
  324. package/dist/swisspost-internet-header/{p-4654b2af.system.js → p-ffc59851.system.js} +1 -1
  325. package/dist/swisspost-internet-header/p-ffc59851.system.js.map +1 -0
  326. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
  327. package/dist/types/assets/i18n/translations.d.ts +37 -37
  328. package/dist/types/components/post-internet-breadcrumbs/components/breadcrumb-list.component.d.ts +9 -9
  329. package/dist/types/components/post-internet-breadcrumbs/components/focus-trap.component.d.ts +12 -12
  330. package/dist/types/components/post-internet-breadcrumbs/components/middle-dropdown.component.d.ts +7 -7
  331. package/dist/types/components/post-internet-breadcrumbs/components/middle-links.component.d.ts +6 -6
  332. package/dist/types/components/post-internet-breadcrumbs/components/overlay.component.d.ts +16 -16
  333. package/dist/types/components/post-internet-breadcrumbs/post-internet-breadcrumbs.d.ts +45 -45
  334. package/dist/types/components/post-internet-footer/components/post-footer-block-address.component.d.ts +5 -5
  335. package/dist/types/components/post-internet-footer/components/post-footer-block-contact.component.d.ts +6 -6
  336. package/dist/types/components/post-internet-footer/components/post-footer-block-custom.component.d.ts +4 -4
  337. package/dist/types/components/post-internet-footer/components/post-footer-block-list.component.d.ts +5 -5
  338. package/dist/types/components/post-internet-footer/components/post-footer-block-socials.component.d.ts +5 -5
  339. package/dist/types/components/post-internet-footer/post-internet-footer.d.ts +10 -10
  340. package/dist/types/components/post-internet-header/post-internet-header.d.ts +124 -124
  341. package/dist/types/components/post-klp-login-widget/klp-widget.controller.d.ts +3 -3
  342. package/dist/types/components/post-klp-login-widget/post-klp-login-widget.d.ts +10 -10
  343. package/dist/types/components/post-language-switch/components/post-language-switch-list.d.ts +6 -6
  344. package/dist/types/components/post-language-switch/post-language-switch.d.ts +27 -27
  345. package/dist/types/components/post-logo/logo-sprite.component.d.ts +4 -4
  346. package/dist/types/components/post-logo/post-logo.d.ts +11 -11
  347. package/dist/types/components/post-main-navigation/components/level-one-action.component.d.ts +8 -8
  348. package/dist/types/components/post-main-navigation/post-main-navigation.d.ts +48 -48
  349. package/dist/types/components/post-meta-navigation/post-meta-navigation.d.ts +5 -5
  350. package/dist/types/components/post-search/post-search.d.ts +61 -61
  351. package/dist/types/components/post-skiplinks/post-skiplinks.d.ts +9 -9
  352. package/dist/types/data/store.d.ts +16 -16
  353. package/dist/types/index.d.ts +1 -1
  354. package/dist/types/models/breadcrumbs.model.d.ts +36 -36
  355. package/dist/types/models/coveo.model.d.ts +22 -22
  356. package/dist/types/models/footer.model.d.ts +48 -48
  357. package/dist/types/models/general.model.d.ts +46 -46
  358. package/dist/types/models/geocode.model.d.ts +52 -52
  359. package/dist/types/models/header.model.d.ts +163 -163
  360. package/dist/types/models/implementor.model.d.ts +22 -22
  361. package/dist/types/models/language.model.d.ts +6 -6
  362. package/dist/types/models/track-and-trace.model.d.ts +25 -25
  363. package/dist/types/services/config.service.d.ts +56 -56
  364. package/dist/types/services/language.service.d.ts +65 -65
  365. package/dist/types/services/route.service.d.ts +39 -39
  366. package/dist/types/services/search/coveo.service.d.ts +9 -9
  367. package/dist/types/services/search/coveo.settings.d.ts +2 -2
  368. package/dist/types/services/search/parcel.service.d.ts +28 -28
  369. package/dist/types/services/search/places.service.d.ts +24 -24
  370. package/dist/types/services/search/places.settings.d.ts +3 -3
  371. package/dist/types/services/search/search-utilities.d.ts +15 -15
  372. package/dist/types/services/search/search.service.d.ts +24 -24
  373. package/dist/types/services/ui.service.d.ts +23 -23
  374. package/dist/types/utils/highlighted.component.d.ts +4 -4
  375. package/dist/types/utils/if.component.d.ts +4 -4
  376. package/dist/types/utils/svg-icon.component.d.ts +4 -4
  377. package/dist/types/utils/svg-sprite.component.d.ts +1 -1
  378. package/dist/types/utils/utils.d.ts +8 -8
  379. package/package.json +7 -7
  380. package/readme.md +57 -15
  381. package/dist/cjs/if.component-313f59b8.js.map +0 -1
  382. package/dist/cjs/language.service-a80ae01d.js.map +0 -1
  383. package/dist/cjs/store-47e14589.js.map +0 -1
  384. package/dist/cjs/svg-icon.component-10fbda11.js.map +0 -1
  385. package/dist/cjs/svg-sprite.component-c3b454b3.js.map +0 -1
  386. package/dist/cjs/ui.service-db4a8252.js.map +0 -1
  387. package/dist/cjs/utils-b6014257.js.map +0 -1
  388. package/dist/esm/if.component-542fb8c3.js.map +0 -1
  389. package/dist/esm/language.service-e49858e0.js.map +0 -1
  390. package/dist/esm/store-d495dc07.js.map +0 -1
  391. package/dist/esm/svg-icon.component-1b1b27a2.js.map +0 -1
  392. package/dist/esm/svg-sprite.component-ec0ac38c.js.map +0 -1
  393. package/dist/esm/ui.service-1d9b0f51.js.map +0 -1
  394. package/dist/esm/utils-5bf107ff.js.map +0 -1
  395. package/dist/esm-es5/if.component-542fb8c3.js.map +0 -1
  396. package/dist/esm-es5/klp-widget.controller-903e0422.js.map +0 -1
  397. package/dist/esm-es5/language.service-e49858e0.js.map +0 -1
  398. package/dist/esm-es5/store-d495dc07.js +0 -2
  399. package/dist/esm-es5/store-d495dc07.js.map +0 -1
  400. package/dist/esm-es5/svg-icon.component-1b1b27a2.js.map +0 -1
  401. package/dist/esm-es5/svg-sprite.component-ec0ac38c.js.map +0 -1
  402. package/dist/esm-es5/ui.service-1d9b0f51.js.map +0 -1
  403. package/dist/esm-es5/utils-5bf107ff.js.map +0 -1
  404. package/dist/swisspost-internet-header/p-00fd320e.entry.js.map +0 -1
  405. package/dist/swisspost-internet-header/p-0e2ec555.js.map +0 -1
  406. package/dist/swisspost-internet-header/p-12baacf0.entry.js.map +0 -1
  407. package/dist/swisspost-internet-header/p-2eb04045.entry.js.map +0 -1
  408. package/dist/swisspost-internet-header/p-3ba40afe.js.map +0 -1
  409. package/dist/swisspost-internet-header/p-3eb881c3.js.map +0 -1
  410. package/dist/swisspost-internet-header/p-458c9862.system.entry.js +0 -2
  411. package/dist/swisspost-internet-header/p-458c9862.system.entry.js.map +0 -1
  412. package/dist/swisspost-internet-header/p-4654b2af.system.js.map +0 -1
  413. package/dist/swisspost-internet-header/p-549b62ba.system.js.map +0 -1
  414. package/dist/swisspost-internet-header/p-5e43c5e0.js +0 -2
  415. package/dist/swisspost-internet-header/p-5e43c5e0.js.map +0 -1
  416. package/dist/swisspost-internet-header/p-74932c29.entry.js +0 -6
  417. package/dist/swisspost-internet-header/p-74932c29.entry.js.map +0 -1
  418. package/dist/swisspost-internet-header/p-76ce4acc.system.entry.js +0 -2
  419. package/dist/swisspost-internet-header/p-76ce4acc.system.entry.js.map +0 -1
  420. package/dist/swisspost-internet-header/p-78f653be.system.entry.js.map +0 -1
  421. package/dist/swisspost-internet-header/p-7f16a46b.entry.js +0 -2
  422. package/dist/swisspost-internet-header/p-7f16a46b.entry.js.map +0 -1
  423. package/dist/swisspost-internet-header/p-8717445f.entry.js.map +0 -1
  424. package/dist/swisspost-internet-header/p-872a76a4.system.js.map +0 -1
  425. package/dist/swisspost-internet-header/p-883f9547.system.entry.js.map +0 -1
  426. package/dist/swisspost-internet-header/p-9509f6c7.system.js.map +0 -1
  427. package/dist/swisspost-internet-header/p-9d0a7039.entry.js.map +0 -1
  428. package/dist/swisspost-internet-header/p-a4160d23.entry.js.map +0 -1
  429. package/dist/swisspost-internet-header/p-a51ad207.system.entry.js.map +0 -1
  430. package/dist/swisspost-internet-header/p-a9c4b2d0.system.entry.js.map +0 -1
  431. package/dist/swisspost-internet-header/p-b406315a.system.entry.js.map +0 -1
  432. package/dist/swisspost-internet-header/p-bdabd6ac.js.map +0 -1
  433. package/dist/swisspost-internet-header/p-c29ec122.system.js.map +0 -1
  434. package/dist/swisspost-internet-header/p-c69923cd.system.js +0 -2
  435. package/dist/swisspost-internet-header/p-c69923cd.system.js.map +0 -1
  436. package/dist/swisspost-internet-header/p-c946c5b8.system.entry.js.map +0 -1
  437. package/dist/swisspost-internet-header/p-cb3de015.system.entry.js.map +0 -1
  438. package/dist/swisspost-internet-header/p-d713a3b3.system.entry.js +0 -7
  439. package/dist/swisspost-internet-header/p-d713a3b3.system.entry.js.map +0 -1
  440. package/dist/swisspost-internet-header/p-ddcb8258.entry.js.map +0 -1
  441. package/dist/swisspost-internet-header/p-ec80c8fc.js.map +0 -1
  442. package/dist/swisspost-internet-header/p-ee915bbe.system.js.map +0 -1
  443. package/dist/swisspost-internet-header/p-eeff8b03.js.map +0 -1
  444. package/dist/swisspost-internet-header/p-f4ff1e9e.system.js.map +0 -1
  445. package/dist/swisspost-internet-header/p-fa0c66c7.entry.js +0 -2
  446. package/dist/swisspost-internet-header/p-fa0c66c7.entry.js.map +0 -1
@@ -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","this","resizeTimer","mouseLeaveTimer","mouseEnterTimer","connectedCallback","throttledResize","throttle","handleResize","window","addEventListener","passive","setWindowHeight","disconnectedCallback","removeEventListener","clearAllBodyScrollLocks","clearTimeout","host","classList","add","setTimeout","remove","style","setProperty","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","async","force","dropdownToggled","open","element","firstLink","querySelector","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';\nimport { NavMainEntity } from '../../../models/header.model';\n\nexport const LevelOneAction = (props: {\n level: NavMainEntity;\n isOpen: boolean;\n onTouchEnd: (e: any) => void;\n onKeyDown: (e: any) => void;\n onClick: (e: any) => void;\n}) => {\n const TagName = props.level.url ? 'a' : 'button';\n\n return (\n <TagName\n class={{\n 'main-link': true,\n 'active': !!props.level.isActiveOverride,\n 'focus': props.isOpen,\n }}\n href={props.level.url}\n title={\n props.level.title?.trim() && props.level.title?.trim() !== props.level.text?.trim()\n ? props.level.title\n : undefined\n }\n tabindex={props.level.url ? undefined : 0}\n aria-haspopup={!props.level.noFlyout + ''}\n aria-expanded={props.level.noFlyout ? null : props.isOpen + ''}\n onTouchEnd={e => props.onTouchEnd(e)}\n onKeyDown={e => props.onKeyDown(e)}\n onClick={e => props.onClick(e)}\n >\n <span>{props.level.text}</span>\n <svg aria-hidden=\"true\">\n <use href=\"#pi-pointy-arrow-right\" />\n </svg>\n </TagName>\n );\n};\n","@use '@swisspost/design-system-styles/variables/color';\n@use '@swisspost/design-system-styles/placeholders/text';\n@use '@swisspost/design-system-styles/functions';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n\n:host {\n --host-window-height: var(--window-height, 100vh);\n --calculated-header-height: calc(var(--header-height) + 1px);\n\n display: block;\n min-width: 0;\n height: var(--header-height);\n}\n\n:host(.no-animation) {\n * {\n animation: none !important;\n transition: none !important;\n }\n}\n\n.main-navigation,\n.main-container,\n.main-container li,\n.main-link {\n @include mixins.min(lg) {\n height: 100%;\n }\n}\n\n.main-navigation {\n font-size: functions.px-to-rem(18px);\n\n @include mixins.min(lg) {\n font-size: functions.px-to-rem(16px);\n }\n\n @include mixins.min(xl) {\n margin: 0 0.75rem;\n font-size: functions.px-to-rem(18px);\n }\n\n @include mixins.min(xxl) {\n font-size: functions.px-to-rem(20px);\n }\n\n @include mixins.max(lg) {\n position: absolute;\n top: var(--calculated-header-height);\n left: 0;\n background: white;\n height: calc(var(--host-window-height) - var(--calculated-header-height));\n width: 100%;\n margin: 0;\n overflow: hidden scroll;\n -webkit-overflow-scrolling: touch;\n overscroll-behavior: contain;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n z-index: -1;\n visibility: hidden;\n transform: translateY(-100%);\n transition: transform 0.35s, visibility 0.35s;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n &.open {\n transform: translateY(0);\n visibility: visible;\n }\n }\n}\n\n.main-container {\n @extend %no-list;\n\n display: flex;\n align-items: center;\n justify-content: flex-start;\n\n @include mixins.max(lg) {\n flex-direction: column;\n align-items: stretch;\n justify-content: flex-start;\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n\n > li + li {\n border-top: 1px solid color.$gray-10;\n }\n }\n\n @include mixins.min(lg) {\n padding-right: 0;\n padding-left: 0;\n }\n\n > li {\n flex: 0 1 auto;\n min-width: 0;\n }\n}\n\n.main-link {\n @extend %nav-link;\n\n display: flex;\n align-items: center;\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n text-align: left;\n cursor: pointer;\n width: 100%;\n\n @include mixins.min(lg) {\n svg {\n display: none;\n }\n }\n\n @include mixins.max(lg) {\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-weight: 300;\n padding: 0.625rem 0;\n width: 100%;\n text-align: left;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n }\n\n span {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n\n.main-link,\n.flyout-link {\n position: relative;\n color: black;\n\n &::after {\n content: '';\n position: absolute;\n bottom: -1px;\n left: 0;\n width: 100%;\n height: 4px;\n background-color: transparent;\n opacity: 0;\n transform: scaleX(0.8);\n transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1),\n transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n\n &:hover,\n &.focus {\n &::after {\n background-color: color.$gray-20;\n opacity: 1;\n transform: scale(1);\n }\n }\n\n &.active {\n font-weight: 700;\n\n &::after {\n background-color: color.$yellow;\n opacity: 1;\n transform: scale(1);\n }\n }\n}\n\n.flyout {\n left: 0;\n width: 100%;\n background: white;\n padding-bottom: 3rem;\n overflow: auto;\n overscroll-behavior: contain;\n visibility: hidden;\n\n @include mixins.min(lg) {\n position: absolute;\n top: 100%;\n max-height: calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);\n z-index: -1;\n box-shadow: 0 0 1px 0 rgb(0 0 0 / 40%);\n transform: translateY(-100%);\n\n &.open {\n box-shadow: 0 0 8px 0 rgb(0 0 0 / 40%);\n transform: translateY(0);\n }\n }\n\n @include mixins.max(lg) {\n position: fixed;\n top: 0;\n height: 100%;\n z-index: 1;\n transform: translateX(100%);\n\n &.open {\n transform: translateX(0);\n }\n }\n\n &.open {\n visibility: visible;\n }\n\n &.animate {\n transition: transform 0.35s, visibility 0.35s, box-shadow 0.35s;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n}\n\n.flyout-nav {\n @extend %font-curve-small;\n\n display: flex;\n justify-content: space-between;\n min-height: 3.5rem;\n\n // Change box-sizing to content-box to add 1px border width to flyout-nav hight.\n // This ensures flyout-nav has same hight as main-navigation-container.\n box-sizing: content-box;\n}\n\n.flyout-row {\n display: flex;\n gap: 1.5rem;\n\n @include mixins.max(lg) {\n display: grid;\n grid-template-columns: 1fr 1fr;\n }\n\n @include mixins.max(rg) {\n grid-template-columns: 1fr;\n }\n}\n\n.flyout-column {\n flex: 1;\n max-width: 25%;\n\n @include mixins.max(lg) {\n max-width: none;\n }\n\n h3 {\n @extend %font-curve-small;\n margin-top: 0;\n }\n}\n\n.flyout-back-button {\n @include mixins.container-padding();\n\n display: flex;\n align-items: center;\n font-size: functions.px-to-rem(16px);\n font-weight: 400;\n cursor: pointer;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n\n @include mixins.min(lg) {\n display: none;\n }\n}\n\n.flyout-close-button {\n @extend %nav-link;\n\n display: flex;\n align-items: center;\n margin-left: auto;\n padding: 0 1.5rem;\n cursor: pointer;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n\n @include mixins.max(lg) {\n display: none;\n }\n}\n\n.flyout-linklist {\n @extend %no-list;\n\n li {\n border-top: 1px solid color.$gray-10;\n }\n\n &:first-child > li {\n border-top-color: transparent;\n }\n}\n\n.flyout-link {\n @extend %nav-link;\n\n display: block;\n padding: 0.75rem 0;\n}\n\n.flyout-title {\n @extend %font-curve-bigger-regular;\n\n margin: 2.5rem 0 1.5rem 0;\n\n @include mixins.min(lg) {\n display: none;\n }\n}\n","import { Component, Host, h, State, Method, Event, Element, EventEmitter } from '@stencil/core';\nimport { throttle } from 'throttle-debounce';\nimport { disableBodyScroll, enableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock';\nimport { state } from '../../data/store';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n IsFocusable,\n NavMainEntity,\n} from '../../models/header.model';\nimport { userPrefersReducedMotion } from '../../services/ui.service';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { LevelOneAction } from './components/level-one-action.component';\n\n@Component({\n tag: 'post-main-navigation',\n styleUrl: 'post-main-navigation.scss',\n shadow: true,\n})\nexport class PostMainNavigation implements HasDropdown, IsFocusable {\n @State() activeFlyout: string | null;\n @State() mobileMenuOpen: boolean;\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\n @Event() flyoutToggled: EventEmitter<string | null>;\n @Element() host: DropdownElement;\n private throttledResize: throttle<() => void>;\n private resizeTimer: number | null = null;\n private mouseLeaveTimer: number | null = null;\n private mouseEnterTimer: number | null = null;\n private flyoutElement: HTMLElement | undefined;\n\n connectedCallback() {\n this.throttledResize = throttle(300, () => this.handleResize());\n window.addEventListener('resize', this.throttledResize, { passive: true });\n this.setWindowHeight();\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.throttledResize);\n clearAllBodyScrollLocks();\n if (this.mouseEnterTimer !== null) window.clearTimeout(this.mouseEnterTimer);\n if (this.mouseLeaveTimer !== null) window.clearTimeout(this.mouseLeaveTimer);\n }\n\n handleResize() {\n // Suspend all animations and transitions on window resize\n this.host.classList.add('no-animation');\n if (this.resizeTimer !== null) window.clearTimeout(this.resizeTimer);\n this.resizeTimer = window.setTimeout(() => {\n this.host.classList.remove('no-animation');\n }, 300);\n\n this.setWindowHeight();\n }\n\n // Update window height var\n setWindowHeight() {\n if (!this.host) {\n return;\n }\n this.host.style.setProperty('--window-height', `${window.innerHeight}px`);\n\n // Safari might or might not show a blank bar at the bottom where the browser\n // controls should be. This timeout waits for this bar to appear before resetting the available height\n window.setTimeout(() => {\n this.host.style.setProperty('--window-height', `${window.innerHeight}px`);\n }, 100);\n }\n\n openFlyout(id: string) {\n const flyout = this.host.shadowRoot?.getElementById(id);\n\n if (flyout && this.activeFlyout !== '') {\n // Add flyout animation if there's no flyout open\n this.addFlyoutAnimation(flyout);\n }\n\n this.activeFlyout = id;\n this.flyoutToggled.emit(id);\n this.setWindowHeight();\n\n if (this.mouseLeaveTimer !== null) {\n window.clearTimeout(this.mouseLeaveTimer);\n this.mouseLeaveTimer = null;\n }\n }\n\n closeFlyout(id?: string) {\n if (id === undefined) return;\n const flyout = this.host.shadowRoot?.getElementById(id);\n\n if (flyout) {\n // Add flyout animation for close action\n this.addFlyoutAnimation(flyout);\n }\n\n this.activeFlyout = null;\n this.flyoutToggled.emit();\n }\n\n addFlyoutAnimation(flyout: HTMLElement) {\n // Check if user prefers to see animations or not\n if (!userPrefersReducedMotion()) {\n flyout.classList.add('animate');\n\n // Remove flyout animation after transition ended\n flyout.addEventListener('transitionend', () => this.removeFlyoutAnimation(flyout), {\n once: true,\n });\n }\n }\n\n removeFlyoutAnimation(flyout: HTMLElement) {\n flyout.classList.remove('animate');\n }\n\n isActiveFlyout(id?: string) {\n return id === this.activeFlyout;\n }\n\n handleMouseEnter(level: NavMainEntity) {\n // Cancel opening the flyout if there already is one scheduled to open\n if (this.mouseEnterTimer !== null) {\n window.clearTimeout(this.mouseEnterTimer);\n this.mouseEnterTimer = null;\n }\n\n // Cancel closing if we enter again\n if (this.mouseLeaveTimer && this.activeFlyout === level.id) {\n window.clearTimeout(this.mouseLeaveTimer);\n this.mouseLeaveTimer = null;\n }\n\n if (window.innerWidth >= 1024 && level.flyout.length > 0 && this.activeFlyout !== level.id) {\n // Delay opening the flyout for a moment to give users a chance to move the mouse over the navigation without triggering the flyout\n this.mouseEnterTimer = window.setTimeout(() => {\n this.mouseEnterTimer = null;\n if (level.id !== undefined) this.openFlyout(level.id);\n }, 200);\n }\n }\n\n handleMouseLeave(level: NavMainEntity) {\n // Cancel opening the flyout if a mouseleave event happens before the flyout opened\n if (this.mouseEnterTimer !== null) {\n window.clearTimeout(this.mouseEnterTimer);\n }\n\n // Don't close an open flyout if the mouseleave is from another mainnav entry\n if (this.activeFlyout && this.activeFlyout !== level.id) {\n return;\n }\n\n if (window.innerWidth >= 1024 && level.flyout.length > 0) {\n // Allow the pointer to shortly leave the flyout without closing it. This\n // allows for user mistakes and makes the experience less nervous\n this.mouseLeaveTimer = window.setTimeout(() => {\n this.closeFlyout(level.id);\n }, 300);\n }\n }\n\n handleTouchEnd(event: TouchEvent, level: NavMainEntity) {\n if (!this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first touchstart and has a flyout, prevent link activation and open the flyout\n if (event.cancelable) event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n handleKeyPress(event: KeyboardEvent, level: NavMainEntity) {\n if (event.key === 'Enter' && !this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first enter keypress and has a flyout, prevent link activation and open the flyout\n event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n handleClick(event: MouseEvent, level: NavMainEntity) {\n if (!this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first click, always open the flyout, never the link\n // This is relevant for desktop with active screenreader which\n // translates an enter keypress to a click\n event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n /**\n * Disable or re-enable body scrolling, depending on whether mobile menu is open or closed\n */\n setBodyScroll() {\n if (this.mobileMenuOpen) {\n disableBodyScroll(this.flyoutElement);\n } else {\n enableBodyScroll(this.flyoutElement);\n }\n }\n\n /**\n * Toggle the main navigation (only visible on mobile)\n * @param force Force a state\n * @returns Boolean indicating new state\n */\n @Method()\n async toggleDropdown(force?: boolean) {\n this.mobileMenuOpen = force === undefined ? !this.mobileMenuOpen : force;\n this.dropdownToggled.emit({ open: this.mobileMenuOpen, element: this.host });\n\n if (force === false) {\n this.closeFlyout();\n }\n\n this.setBodyScroll();\n this.setWindowHeight();\n\n return this.mobileMenuOpen;\n }\n\n /**\n * Focus the main navigation toggle button\n */\n @Method()\n async setFocus() {\n const firstLink = this.host.shadowRoot?.querySelector<HTMLElement>('.main-link');\n if (firstLink) {\n firstLink.focus();\n }\n }\n\n /**\n * Open a specific flyout\n * @param id Flyout ID\n */\n @Method()\n async setActiveFlyout(id: string | null) {\n this.activeFlyout = id;\n this.flyoutToggled.emit(this.activeFlyout);\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) return;\n const headerConfig = state.localizedConfig.header;\n\n return (\n <Host>\n <SvgSprite />\n <nav\n id=\"post-internet-header-main-navigation\"\n class={{ 'main-navigation': true, 'open': this.mobileMenuOpen }}\n ref={el => (this.flyoutElement = el)}\n >\n <h2 class=\"visually-hidden\">{headerConfig.translations.navMainAriaLabel}</h2>\n <ul class=\"main-container container\">\n {headerConfig.navMain.map(levelOne => (\n <li\n key={levelOne.text}\n onMouseLeave={() => this.handleMouseLeave(levelOne)}\n onMouseEnter={() => this.handleMouseEnter(levelOne)}\n >\n <LevelOneAction\n level={levelOne}\n isOpen={this.isActiveFlyout(levelOne.id)}\n onTouchEnd={e => this.handleTouchEnd(e, levelOne)}\n onKeyDown={e => this.handleKeyPress(e, levelOne)}\n onClick={e => this.handleClick(e, levelOne)}\n />\n {!levelOne.noFlyout ? (\n <div\n id={levelOne.id}\n class={{ flyout: true, open: this.isActiveFlyout(levelOne.id) }}\n >\n <div class=\"wide-container\">\n <div class=\"flyout-nav\">\n <button\n class=\"nav-link flyout-back-button\"\n onClick={() => this.closeFlyout(levelOne.id)}\n >\n <SvgIcon name=\"pi-pointy-arrow-right\" classNames=\"mirrored\" />\n <span>{headerConfig.translations.backButtonText}</span>\n </button>\n <button\n class=\"flyout-close-button\"\n onClick={() => this.closeFlyout(levelOne.id)}\n >\n <span class=\"visually-hidden\">\n {headerConfig.translations.mobileNavToggleClose}\n </span>\n <SvgIcon name=\"pi-close\" />\n </button>\n </div>\n <h2 class=\"flyout-title container\">\n <a href={levelOne.url} class=\"nav-link\">\n {levelOne.text}\n </a>\n </h2>\n <div class=\"flyout-row container\">\n {levelOne.flyout.map(flyout => (\n <div key={flyout.title} class=\"flyout-column\">\n {flyout.title ? <h3>{flyout.title}</h3> : null}\n <ul class=\"flyout-linklist\">\n {flyout.linkList.map(link => (\n <li key={link.url}>\n <a\n class={{\n 'flyout-link': true,\n 'active': !!link?.isActiveOverride,\n }}\n href={link.url}\n target={link.target}\n >\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n </div>\n ))}\n </div>\n </div>\n </div>\n ) : null}\n </li>\n ))}\n </ul>\n <slot></slot>\n </nav>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  const r=(r,n)=>{if(!r.condition){return null}return n};export{r as I};
2
- //# sourceMappingURL=p-3eb881c3.js.map
2
+ //# sourceMappingURL=p-a2f9d462.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["If","props","children","condition"],"sources":["./src/utils/if.component.tsx"],"sourcesContent":["import { JSXBase } from '@stencil/core/internal';\n\nexport const If = (\n props: {\n condition: boolean;\n },\n children: JSXBase.IntrinsicElements,\n) => {\n if (!props.condition) {\n return null;\n }\n return children;\n};\n"],"mappings":"MAEaA,EAAK,CAChBC,EAGAC,KAEA,IAAKD,EAAME,UAAW,CACpB,OAAO,I,CAET,OAAOD,CAAQ,S"}
@@ -1,2 +1,2 @@
1
1
  import{h as e}from"./p-5032057e.js";const s=s=>e("svg",{viewBox:"0 0 32 32","aria-hidden":"true",class:s.classNames},e("use",{href:`#${s.name}`}));export{s as S};
2
- //# sourceMappingURL=p-eeff8b03.js.map
2
+ //# sourceMappingURL=p-ab1dd269.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SvgIcon","props","h","viewBox","class","classNames","href","name"],"sources":["./src/utils/svg-icon.component.tsx"],"sourcesContent":["import { h } from '@stencil/core';\n\nexport const SvgIcon = (props: { name: string; classNames?: string }) => (\n <svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" class={props.classNames}>\n <use href={`#${props.name}`} />\n </svg>\n);\n"],"mappings":"0CAEaA,EAAWC,GACtBC,EAAA,OAAKC,QAAQ,YAAW,cAAa,OAAOC,MAAOH,EAAMI,YACvDH,EAAA,OAAKI,KAAM,IAAIL,EAAMM,iB"}
@@ -0,0 +1,2 @@
1
+ var __awaiter=this&&this.__awaiter||function(e,t,n,i){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,r){function a(e){try{l(i.next(e))}catch(e){r(e)}}function s(e){try{l(i["throw"](e))}catch(e){r(e)}}function l(e){e.done?n(e.value):o(e.value).then(a,s)}l((i=i.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},i,o,r,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(e){return function(t){return l([e,t])}}function l(s){if(i)throw new TypeError("Generator is already executing.");while(a&&(a=0,s[0]&&(n=0)),n)try{if(i=1,o&&(r=s[0]&2?o["return"]:s[0]?o["throw"]||((r=o["return"])&&r.call(o),0):o.next)&&!(r=r.call(o,s[1])).done)return r;if(o=0,r)s=[s[0]&2,r.value];switch(s[0]){case 0:case 1:r=s;break;case 4:n.label++;return{value:s[1],done:false};case 5:n.label++;o=s[1];s=[0];continue;case 7:s=n.ops.pop();n.trys.pop();continue;default:if(!(r=n.trys,r=r.length>0&&r[r.length-1])&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!r||s[1]>r[0]&&s[1]<r[3])){n.label=s[1];break}if(s[0]===6&&n.label<r[1]){n.label=r[1];r=s;break}if(r&&n.label<r[2]){n.label=r[2];n.ops.push(s);break}if(r[2])n.ops.pop();n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e];o=0}finally{i=r=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,t,n){if(n||arguments.length===2)for(var i=0,o=t.length,r;i<o;i++){if(r||!(i in t)){if(!r)r=Array.prototype.slice.call(t,0,i);r[i]=t[i]}}return e.concat(r||Array.prototype.slice.call(t))};System.register(["./p-1b8f9bc8.system.js","./p-c8296f63.system.js","./p-3753a678.system.js","./p-0c5624c0.system.js","./p-7fcba2e7.system.js","./p-ffc59851.system.js","./p-ee119d2e.system.js","./p-edb2802d.system.js"],(function(e){"use strict";var t,n,i,o,r,a,s,l,d,u,c,h,f,g,p;return{setters:[function(e){t=e.r;n=e.c;i=e.h;o=e.H;r=e.g},function(e){a=e.t;s=e.d},function(e){l=e.g;d=e.p},function(e){u=e.u},function(e){c=e.s;h=e.d},function(e){f=e.S},function(e){g=e.S},function(e){p=e.I}],execute:function(){var v=this;var m=function(e,t){if(t===false){return e}var n;e=b(e);if(t==="auto"||t==="exact"){if(y(e)){return w(e)}n=new URL(window.location.href)}else{try{n=new URL(t,document.location.origin)}catch(n){console.warn("Active Route: ".concat(t," is not a valid URL. Navigation highlighting has been disabled."));return e}}var i=x(e,n,t);if(i.length===0){return e}var o=i[0];o.main.isActiveOverride=true;if(o.sub)o.sub.isActiveOverride=true;return e};var y=function(e){return e.filter((function(e){return e.isActive})).length>0};var w=function(e){return e.map((function(e){return Object.assign(Object.assign({},e),{isActiveOverride:e.isActive,flyout:e.flyout.map((function(e){return Object.assign(Object.assign({},e),{linkList:e.linkList.map((function(e){return Object.assign(Object.assign({},e),{isActiveOverride:e.isActive})}))})}))})}))};var b=function(e){return e.map((function(e){return Object.assign(Object.assign({},e),{isActiveOverride:false,flyout:e.flyout.map((function(e){return Object.assign(Object.assign({},e),{linkList:e.linkList.map((function(e){return Object.assign(Object.assign({},e),{isActiveOverride:false})}))})}))})}))};var x=function(e,t,n){var i=false;var o=[];e.forEach((function(e){if(i||!e){return}try{var r=k(t,new URL(e.url),n);if(r>0){if(r===Infinity)i=true;o.push({main:e,score:r})}}catch(e){}if(e.flyout.length){e.flyout.forEach((function(r){if(r.linkList){r.linkList.forEach((function(r){if(r.isActive&&(n==="auto"||n==="exact")){i=true;return}try{var a=new URL(r.url);var s=k(t,a,n);if(s>0){if(s===Infinity)i=true;o.push({main:e,sub:r,score:s})}}catch(e){}}))}}))}}));return o.sort((function(e,t){return t.score-e.score}))};var k=function(e,t,n){if(!e||!t||e.origin!==t.origin){return 0}if(e.pathname===t.pathname){return Infinity}if(e.pathname.length<t.pathname.length){return 0}if(n==="auto"){var i=__spreadArray([e.origin],e.pathname.split("/").filter((function(e){return!!e})),true);var o=__spreadArray([t.origin],t.pathname.split("/").filter((function(e){return!!e})),true);var r=C(i,o);return Math.min(i.length,o.length)===r?r:0}return 0};var C=function(e,t){if(!(e===null||e===void 0?void 0:e.length)||!(t===null||t===void 0?void 0:t.length)){return 0}var n=0;for(;n<Math.min(e.length,t.length);n++){if(e[n]!==t[n]){return 0}}return n};var O=null;var j=null;var _=function(e){var t=e.projectId,n=e.environment,i=e.language,o=e.cookieKey,r=e.localStorageKey,a=e.activeRouteProp,s=e.localizedCustomConfig,u=e.osFlyoutOverrides;return __awaiter(v,void 0,void 0,(function(){var e,c,h,f,g,p;return __generator(this,(function(v){switch(v.label){case 0:if(!O){O=S(t,n)}return[4,O];case 1:h=v.sent();f=l(Object.keys(h),i,r,o);if(f===undefined){throw new Error("Internet Header: unable to determine current language")}g=Object.assign({},h[f]);if(s){p=((e=s===null||s===void 0?void 0:s.header)===null||e===void 0?void 0:e.navMain)?Object.assign(Object.assign({},g.header),{navMain:__spreadArray(__spreadArray([],g.header.navMain,true),s.header.navMain,true)}):g.header;g=Object.assign(Object.assign({},g),{header:p})}if(u)g.header.navMain=L(g,u);if(a)g.header.navMain=m(g.header.navMain,a);D((c=g===null||g===void 0?void 0:g.header)===null||c===void 0?void 0:c.navMain);d(f,o,r);return[2,g]}}))}))};var L=function(e,t){if(!t)return e.header.navMain;return e.header.navMain.map((function(e){var n,i;if(e.id!=="flyout_os")return e;if(j===null){j=JSON.parse(JSON.stringify(e))}var o=(n=t.text)!==null&&n!==void 0?n:j.text;var r=(i=t.title)!==null&&i!==void 0?i:j.title;if(!j.flyout||j.flyout.length===0||!t.flyout||t.flyout.length===0)return Object.assign(Object.assign({},e),{title:r,text:o});var a=__spreadArray(__spreadArray([],j.flyout.map((function(e,n){var i;var o=t.flyout[n];var r=(i=o.title)!==null&&i!==void 0?i:e.title;var a=o.linkList?t.flyout[n].linkList:[];return{title:r,linkList:__spreadArray(__spreadArray([],e.linkList,true),a,true)}})),true),t.flyout.slice(j.flyout.length),true);return Object.assign(Object.assign({},e),{text:o,title:r,flyout:a})}))};var S=function(e,t){return __awaiter(v,void 0,void 0,(function(){var n,i,o;return __generator(this,(function(r){switch(r.label){case 0:if(!E(e)){throw new Error('Internet Header: invalid project id "'.concat(e,'"'))}if(e==="test"){t="int01"}n=F(e,t);r.label=1;case 1:r.trys.push([1,4,,5]);return[4,fetch(n)];case 2:i=r.sent();return[4,i.json()];case 3:return[2,r.sent()];case 4:o=r.sent();throw new Error("Internet Header: fetching config failed. ".concat(o.message));case 5:return[2]}}))}))};var F=function(e,t){if(e==="test")return"assets/config/test-configuration.json";var n=t.startsWith("int");var i="https://".concat(n?"int":"www",".post.ch");try{return new URL("".concat(i,"/api/headerjs/Json?serviceid=").concat(encodeURIComponent(e)).concat(n?"&environment="+t:"")).toString()}catch(e){throw new Error("Internet Header: Config URL is invalid.")}};var E=function(e){return e!==""&&e.length>0&&/^[a-zA-Z][\w-]*[a-zA-Z0-9]$/.test(e)};var z=function(e,t){var n;try{n=typeof e==="string"?JSON.parse(e):e}catch(e){throw new Error("Internet Header: Custom config is invalid. Make sure your custom config contains valid JSON syntax and matches the definition. ")}var i=n[t];if(i!==undefined)D(i.header.navMain);return i};var D=function(e){e.forEach((function(e){e.id=e.id==="flyout_os"?e.id:u("main-nav-")}))};var A="@swisspost/internet-header";var N="1.5.0";var R="Swiss Post Internet Header";var K="Apache-2.0";var M="loader/index.cjs.js";var P="loader/index.js";var I="loader/index.es2017.js";var W="loader/index.es2017.js";var T="loader/index.d.ts";var H="dist/collection/collection-manifest.json";var U="loader/cdn.js";var J={access:"public"};var B=["dist/","loader/"];var q={build:"npm run stencil:build",clean:"rimraf www dist loader storybook-static",start:"npm run stencil:serve",test:"jest",lint:"eslint src/**/*{.ts,.tsx}","lint:fix":"eslint src/**/*{.ts,.tsx} --fix","stencil:start":"stencil build --docs --watch","stencil:build":"stencil build --docs","stencil:serve":"stencil build --watch --serve --docs",generate:"stencil generate",jest:"jest","jest:watch":"jest --watch"};var G={"@sindresorhus/slugify":"2.2.0","@stencil/core":"3.0.0","@stencil/store":"2.0.3","body-scroll-lock":"4.0.0-beta.0","iframe-resizer":"4.3.2",jquery:"3.6.3",tabbable:"6.0.1","throttle-debounce":"3.0.1","url-polyfill":"1.1.12"};var X={"@babel/core":"7.20.12","@stencil/eslint-plugin":"0.4.0","@stencil/sass":"2.0.3","@swisspost/design-system-styles":"5.3.0","@types/iframe-resizer":"3.5.9","@types/jest":"27.5.2","@types/jquery":"3.5.16","@types/node":"18.11.18","@types/throttle-debounce":"2.1.0","babel-loader":"9.1.2",bootstrap:"5.1","eslint-plugin-react":"^7.32.0",globby:"13.1.3",jest:"27.5.1",rimraf:"3.0.2","rollup-plugin-node-polyfills":"0.2.1","rollup-plugin-scss":"4.0.0","rollup-plugin-visualizer":"5.9.0",sass:"1.57.1","start-server-and-test":"1.15.3","ts-jest":"27.1.5",typescript:"4.8.4"};var Y={name:A,version:N,description:R,license:K,main:M,module:P,es2015:I,es2017:W,"jsnext:main":"loader/index.es2017.js",types:T,collection:H,"collection:main":"dist/collection/index.js",unpkg:U,publishConfig:J,files:B,scripts:q,dependencies:G,devDependencies:X};var Z='@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}}.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;position:relative;font-size:1rem;font-weight:300;z-index:var(--header-z-index, 10);--header-height:3.5rem;--meta-header-height:0px;--language-dropdown-margin-top:0px}@media (min-width: 1024px){:host{--meta-header-height:3rem;--header-height:4rem}}@media (min-width: 1280px){:host{--header-height:4.5rem}}:host([meta=false]){--meta-header-height:0px;--language-dropdown-margin-top:1px}@supports ((position: -webkit-sticky) or (position: sticky)){:host(:not(.stickyness-none)){position:-webkit-sticky;position:sticky}:host(.stickyness-full){top:0}:host(.stickyness-main){top:calc(var(--meta-header-height, 0px) * -1)}:host(.stickyness-minimal){top:calc((var(--header-height, 0px) + var(--meta-header-height, 0px)) * -1);-webkit-transition:top 200ms ease-in;transition:top 200ms ease-in}:host(.stickyness-minimal.scrolling-up),:host(.stickyness-minimal.dropdown-open){top:calc(var(--meta-header-height, 0px) * -1);-webkit-transition:top 200ms ease-out;transition:top 200ms ease-out}}.post-internet-header{border-bottom:1px solid #e6e6e6;background-color:white}.main-navigation-container{display:-ms-flexbox;display:flex}.main-navigation-container>.main-navigation-controls{-ms-flex:0 0 auto;flex:0 0 auto}.main-navigation{display:-ms-flexbox;display:flex}.sub-navigation-container{position:absolute;top:100%;left:0;width:100%;display:-ms-flexbox;display:flex;background:white;visibility:hidden}.main-navigation-item:hover .sub-navigation-container{visibility:visible}.main-navigation-controls{display:-ms-flexbox;display:flex;margin-left:auto}@media (max-width: 1023.98px){.main-navigation-controls{font-weight:400}}@media (min-width: 1024px){.main-navigation-controls{font-size:1.0625rem}}.main-navigation-controls>*{border-left:1px solid #e6e6e6}.menu-button{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:0 calc(1rem - 1px);font-weight:300;cursor:pointer;border-left:1px solid #e6e6e6;-ms-flex-order:1;order:1;}@media (min-width: 1024px){.menu-button{display:none}}@media (min-width: 600px) and (max-width: 1023.98px){.menu-button .visually-hidden{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible;margin-right:0.5rem}}.menu-button svg{width:1.5rem;height:1.5rem}.full-width .wide-container{max-width:none}';var V=e("swisspost_internet_header",function(){function e(e){t(this,e);this.headerLoaded=n(this,"headerLoaded",7);this.lastScrollTop=window.scrollY||document.documentElement.scrollTop;this.lastWindowWidth=window.innerWidth;this.handleClickOutsideBound=this.handleClickOutside.bind(this);this.project=undefined;this.stickyness="minimal";this.language=undefined;this.meta=true;this.login=true;this.search=true;this.skiplinks=true;this.configProxy=undefined;this.environment="prod";this.languageSwitchOverrides=undefined;this.customConfig=undefined;this.languageCookieKey=undefined;this.languageLocalStorageKey="swisspost-internet-header-language";this.activeRoute="auto";this.osFlyoutOverrides=undefined;this.fullWidth=false;this.activeFlyout=null;this.activeDropdownElement=null;if(this.project===undefined||this.project===""||!E(this.project)){throw new Error('Internet Header project key is "'.concat(this.project,'". Please provide a valid project key.'))}}e.prototype.getCurrentLanguage=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){return[2,(e=c.currentLanguage)!==null&&e!==void 0?e:"de"]}))}))};e.prototype.connectedCallback=function(){var e=this;this.throttledScroll=a(300,(function(){return e.handleScrollEvent()}));this.debouncedResize=s(200,(function(){return e.handleResize()}));window.addEventListener("scroll",this.throttledScroll,{passive:true});window.addEventListener("resize",this.debouncedResize,{passive:true})};e.prototype.disconnectedCallback=function(){window.removeEventListener("scroll",this.throttledScroll);window.removeEventListener("resize",this.debouncedResize);h()};e.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){var e,t;return __generator(this,(function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);c.projectId=this.project;c.environment=this.environment;if(this.language!==undefined)c.currentLanguage=this.language;c.languageSwitchOverrides=typeof this.languageSwitchOverrides==="string"?JSON.parse(this.languageSwitchOverrides):this.languageSwitchOverrides;c.osFlyoutOverrides=typeof this.osFlyoutOverrides==="string"?JSON.parse(this.osFlyoutOverrides):this.osFlyoutOverrides;if(this.customConfig!==undefined&&c.currentLanguage!==null){c.localizedCustomConfig=z(this.customConfig,c.currentLanguage)}e=c;return[4,_({projectId:this.project,environment:this.environment,language:this.language,cookieKey:this.languageCookieKey,localStorageKey:this.languageLocalStorageKey,activeRouteProp:this.activeRoute,localizedCustomConfig:c.localizedCustomConfig,osFlyoutOverrides:c.osFlyoutOverrides})];case 1:e.localizedConfig=n.sent();return[3,3];case 2:t=n.sent();console.error(t);return[3,3];case 3:return[2]}}))}))};e.prototype.componentDidLoad=function(){var e=this;window.requestAnimationFrame((function(){e.handleResize();e.headerLoaded.emit();e.host.classList.add("header-loaded")}))};e.prototype.handleLanguageChange=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(n){switch(n.label){case 0:c.currentLanguage=e;t=c;return[4,_({projectId:this.project,environment:this.environment,language:e,cookieKey:this.languageCookieKey,localStorageKey:this.languageLocalStorageKey,activeRouteProp:this.activeRoute,localizedCustomConfig:c.localizedCustomConfig,osFlyoutOverrides:c.osFlyoutOverrides})];case 1:t.localizedConfig=n.sent();if(this.customConfig)c.localizedCustomConfig=z(this.customConfig,e);return[2]}}))}))};e.prototype.handleAvailableLanguagesChage=function(e){c.languageSwitchOverrides=typeof e==="string"?JSON.parse(e):e};e.prototype.handleOsFlyoutOverrides=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(n){switch(n.label){case 0:c.osFlyoutOverrides=typeof e==="string"?JSON.parse(e):e;t=c;return[4,_({projectId:this.project,environment:this.environment,language:this.language,cookieKey:this.languageCookieKey,localStorageKey:this.languageLocalStorageKey,activeRouteProp:this.activeRoute,localizedCustomConfig:c.localizedCustomConfig,osFlyoutOverrides:c.osFlyoutOverrides})];case 1:t.localizedConfig=n.sent();return[2]}}))}))};e.prototype.handleActiveRouteChange=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(n){switch(n.label){case 0:t=c;return[4,_({projectId:this.project,environment:this.environment,language:this.language,cookieKey:this.languageCookieKey,localStorageKey:this.languageLocalStorageKey,activeRouteProp:e,localizedCustomConfig:c.localizedCustomConfig,osFlyoutOverrides:c.osFlyoutOverrides})];case 1:t.localizedConfig=n.sent();return[2]}}))}))};e.prototype.handleCustomConfigChange=function(e){return __awaiter(this,void 0,void 0,(function(){var t,n;return __generator(this,(function(i){switch(i.label){case 0:if(this.language===undefined)return[2];t=z(e,this.language);c.localizedCustomConfig=t;n=c;return[4,_({projectId:this.project,environment:this.environment,language:this.language,cookieKey:this.languageCookieKey,localStorageKey:this.languageLocalStorageKey,activeRouteProp:this.activeRoute,localizedCustomConfig:t,osFlyoutOverrides:c.osFlyoutOverrides})];case 1:n.localizedConfig=i.sent();return[2]}}))}))};e.prototype.handleSearchChange=function(e){c.search=e};e.prototype.handleLoginChange=function(e){c.login=e};e.prototype.handleMetaChange=function(e){c.meta=e};e.prototype.handleLanguageChangeEvent=function(e){this.handleLanguageChange(e.detail)};e.prototype.handleClickOutside=function(e){if(this.activeDropdownElement&&!e.composedPath().includes(this.activeDropdownElement)){this.activeDropdownElement.toggleDropdown(false)}};e.prototype.handleKeyUp=function(e){if(e.key==="Escape"){if(this.activeDropdownElement){this.activeDropdownElement.toggleDropdown(false)}if(this.activeFlyout!==null&&this.mainNav){this.mainNav.toggleDropdown(false)}}};e.prototype.handleScrollEvent=function(){var e=window.scrollY||document.documentElement.scrollTop;if(this.stickyness==="minimal"){this.host.classList.toggle("scrolling-up",e<=this.lastScrollTop)}this.lastScrollTop=e<=0?0:e};e.prototype.handleResize=function(){var e;if(this.isMainNavOpen()&&this.lastWindowWidth<1024&&window.innerWidth>=1024){(e=this.activeDropdownElement)===null||e===void 0?void 0:e.toggleDropdown(false)}this.lastWindowWidth=window.innerWidth};e.prototype.handleDropdownToggled=function(e){var t=this;if(!e.detail.open&&this.activeDropdownElement!==e.detail.element){return}if(e.detail.open===true){if(this.activeDropdownElement){this.activeDropdownElement.toggleDropdown(false)}this.activeDropdownElement=e.detail.element;if(window.innerWidth>=1024){window.setTimeout((function(){window.addEventListener("click",t.handleClickOutsideBound)}),10)}if(this.activeFlyout!==null&&this.mainNav){this.mainNav.setActiveFlyout(null)}}else{this.activeDropdownElement=null;window.removeEventListener("click",this.handleClickOutsideBound)}};e.prototype.handleFlyoutToggled=function(e){this.activeFlyout=e.detail;if(this.activeDropdownElement&&e.detail&&!this.isMainNavOpen()){this.activeDropdownElement.toggleDropdown(false)}};e.prototype.toggleMobileDropdown=function(){var e;(e=this.mainNav)===null||e===void 0?void 0:e.toggleDropdown()};e.prototype.isMainNavOpen=function(){return this.activeDropdownElement&&this.activeDropdownElement.tagName==="POST-MAIN-NAVIGATION"};e.prototype.render=function(){var e=this;var t,n,r;if(!((t=c.localizedConfig)===null||t===void 0?void 0:t.header)){console.error(new Error("Internet Header: Config cannot be loaded"));return}var a=c.localizedConfig;var s=this.meta&&a.header.navMeta!==undefined&&((n=a.header.navMeta)===null||n===void 0?void 0:n.filter((function(e){return!e.isHomeLink})).length)>0;var l=((r=this.login)!==null&&r!==void 0?r:!a.header.isLoginWidgetHidden)&&a.header.loginWidgetOptions;var d=a.header.navLang.length>1;return i(o,{class:"stickyness-".concat(this.stickyness," ").concat(this.activeDropdownElement||this.activeFlyout?"dropdown-open":""),"data-version":Y.version,onKeyup:function(t){return e.handleKeyUp(t)}},i("header",{class:"post-internet-header".concat(this.fullWidth?" full-width":"")},i(f,null),i(p,{condition:this.skiplinks===true},i("post-skiplinks",null)),i(p,{condition:s===true},i("post-meta-navigation",{orientation:"horizontal",class:"hidden-lg","full-width":this.fullWidth},i(p,{condition:d===true},i("post-language-switch",{id:"post-language-switch-desktop",mode:"dropdown",onDropdownToggled:function(t){return e.handleDropdownToggled(t)}})))),i("div",{class:"main-navigation-container wide-container"},i("post-logo",null),i("button",{class:"menu-button nav-link",onClick:function(){return e.toggleMobileDropdown()}},i("span",{class:"menu-button-text visually-hidden"},a.header.mobileMenu.text),i(g,{name:this.isMainNavOpen()?"pi-close":"pi-menu"})),i("post-main-navigation",{onDropdownToggled:function(t){return e.handleDropdownToggled(t)},onFlyoutToggled:function(t){return e.handleFlyoutToggled(t)},ref:function(t){return e.mainNav=t}},i(p,{condition:s===true},i("post-meta-navigation",{orientation:"vertical"},i(p,{condition:d===true},i("post-language-switch",{id:"post-language-switch-mobile",mode:"list"}))))),i("div",{class:"main-navigation-controls"},i(p,{condition:this.search!==false},i("post-search",{onDropdownToggled:function(t){return e.handleDropdownToggled(t)}})),i(p,{condition:!!l},i("post-klp-login-widget",null,i("slot",{name:"login-widget"}))),i(p,{condition:s===false&&d===true},i("post-language-switch",{id:"post-language-switch-no-meta",onDropdownToggled:function(t){return e.handleDropdownToggled(t)},mode:"dropdown"})),i("slot",{name:"main"})))))};Object.defineProperty(e.prototype,"host",{get:function(){return r(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{language:["handleLanguageChange"],languageSwitchOverrides:["handleAvailableLanguagesChage"],osFlyoutOverrides:["handleOsFlyoutOverrides"],activeRoute:["handleActiveRouteChange"],customConfig:["handleCustomConfigChange"],search:["handleSearchChange"],login:["handleLoginChange"],meta:["handleMetaChange"]}},enumerable:false,configurable:true});return e}());V.style=Z}}}));
2
+ //# sourceMappingURL=p-b228fe49.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["markActiveRoute","config","activeRouteProp","compareUrl","resetOverrideConfig","hasActivePortalRoute","resetActiveStateToPortalConfig","URL","window","location","href","document","origin","error","console","warn","concat","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","__spreadArray","split","x","compareSegments","getSimilarityScore","Math","min","i","request","osFlyoutCache","getLocalizedConfig","_d","projectId","environment","language","cookieKey","localStorageKey","localizedCustomConfig","osFlyoutOverrides","fetchConfig","_e","sent","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","__awaiter","_this","isValidProjectId","generateConfigUrl","fetch","res","json","error_1","message","isInt","startsWith","host","encodeURIComponent","toString","test","getLocalizedCustomConfig","customConfig","navMainEntities","navMainEntity","uniqueId","postInternetHeaderCss","PostInternetHeader","exports","class_1","hostRef","this","lastScrollTop","scrollY","documentElement","scrollTop","lastWindowWidth","innerWidth","handleClickOutsideBound","handleClickOutside","bind","project","prototype","getCurrentLanguage","state","currentLanguage","connectedCallback","throttledScroll","throttle","handleScrollEvent","debouncedResize","debounce","handleResize","addEventListener","passive","disconnectedCallback","removeEventListener","dispose","componentWillLoad","languageSwitchOverrides","languageCookieKey","languageLocalStorageKey","activeRoute","error_2","componentDidLoad","requestAnimationFrame","headerLoaded","emit","classList","add","handleLanguageChange","newValue","handleAvailableLanguagesChage","handleOsFlyoutOverrides","handleActiveRouteChange","handleCustomConfigChange","handleSearchChange","search","handleLoginChange","login","handleMetaChange","meta","handleLanguageChangeEvent","event","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';\nimport { NavMainEntity, MainNavScoreList } from '../models/header.model';\n\n/**\n * Activate the current route based on the config and the match mode\n * @param config Main Navigation Config\n * @param activeRouteProp Match mode\n * @returns Modified Main Navigation Config\n */\nexport const markActiveRoute = (\n config: NavMainEntity[],\n activeRouteProp: ActiveRouteProp,\n): NavMainEntity[] => {\n // Don't highlight any route\n if (activeRouteProp === false) {\n return config;\n }\n\n // Set compare URL and check if activeRouteProp is valid\n let compareUrl: URL;\n config = resetOverrideConfig(config);\n\n if (activeRouteProp === 'auto' || activeRouteProp === 'exact') {\n // Check if an active route is already configured, set override to that and return\n if (hasActivePortalRoute(config)) {\n return resetActiveStateToPortalConfig(config);\n }\n\n compareUrl = new URL(window.location.href);\n } else {\n try {\n compareUrl = new URL(activeRouteProp, document.location.origin);\n } catch (error) {\n console.warn(\n `Active Route: ${activeRouteProp} is not a valid URL. Navigation highlighting has been disabled.`,\n );\n return config;\n }\n }\n\n const scoreList = compileScoreList(config, compareUrl, activeRouteProp);\n\n if (scoreList.length === 0) {\n // No match found or already active links defined\n return config;\n }\n\n const winnerPair = scoreList[0];\n winnerPair.main.isActiveOverride = true;\n if (winnerPair.sub) winnerPair.sub.isActiveOverride = true;\n\n return config;\n};\n\n/**\n * Check if the portal config set any active route\n * @param config Main navigation config\n * @returns True if portal set any route as active\n */\nexport const hasActivePortalRoute = (config: NavMainEntity[]): boolean => {\n return config.filter(nav => nav.isActive).length > 0;\n};\n\nexport const resetActiveStateToPortalConfig = (config: NavMainEntity[]): NavMainEntity[] => {\n return config.map(nav => ({\n ...nav,\n isActiveOverride: nav.isActive,\n flyout: nav.flyout.map(flyout => ({\n ...flyout,\n linkList: flyout.linkList.map(link => ({ ...link, isActiveOverride: link.isActive })),\n })),\n }));\n};\n\nconst resetOverrideConfig = (config: NavMainEntity[]): NavMainEntity[] => {\n return config.map(nav => ({\n ...nav,\n isActiveOverride: false,\n flyout: nav.flyout.map(flyout => ({\n ...flyout,\n linkList: flyout.linkList.map(link => ({ ...link, isActiveOverride: false })),\n })),\n }));\n};\n\n/**\n * Compile a list of scores based on the map mode, sorted in descending order\n * @param config Main Nav Config\n * @param compareUrl Current Browser URL or a custom URL\n * @param activeRouteProp Match mode\n * @returns A list of scored URLs if any matched\n */\nexport const compileScoreList = (\n config: NavMainEntity[],\n compareUrl: URL,\n activeRouteProp: ActiveRouteProp,\n): MainNavScoreList => {\n // Flag to check if the Portal set any active links or if there are any exact matches\n let hadAnyActiveLink = false;\n const scoreList: MainNavScoreList = [];\n\n config.forEach(mainNav => {\n if (hadAnyActiveLink || !mainNav) {\n return;\n }\n\n try {\n const score = compareRoutes(\n compareUrl,\n new URL(mainNav.url),\n activeRouteProp as 'auto' | 'exact',\n );\n if (score > 0) {\n if (score === Infinity) hadAnyActiveLink = true;\n scoreList.push({ main: mainNav, score });\n }\n } catch {\n // Not a valid url, continue\n }\n\n // Loop through flyout links 2nd level\n if (mainNav.flyout.length) {\n mainNav.flyout.forEach(flyout => {\n if (flyout.linkList) {\n flyout.linkList.forEach(linklist => {\n // Don't override if any link is already active\n if (linklist.isActive && (activeRouteProp === 'auto' || activeRouteProp === 'exact')) {\n hadAnyActiveLink = true;\n return;\n }\n\n try {\n const url = new URL(linklist.url);\n const score = compareRoutes(compareUrl, url, activeRouteProp as 'auto' | 'exact');\n if (score > 0) {\n if (score === Infinity) hadAnyActiveLink = true;\n\n // Push score\n scoreList.push({\n main: mainNav,\n sub: linklist,\n score,\n });\n }\n } catch {\n // Not a valid URL, continue\n }\n });\n }\n });\n }\n });\n\n return scoreList.sort((a, b) => b.score - a.score);\n};\n\n/**\n * Compare two URLs for similarity based on a match mode\n * @param baseUrl Browser URL\n * @param compareUrl Navigatgion URL\n * @param matchMode exact or auto matching\n * @returns Score\n */\nexport const compareRoutes = (\n baseUrl: URL,\n compareUrl: URL,\n matchMode?: 'auto' | 'exact',\n): number => {\n // One url is not defined or they don't share the same orign\n if (!baseUrl || !compareUrl || baseUrl.origin !== compareUrl.origin) {\n return 0;\n }\n\n // Exact match, origin and pathname are the same\n if (baseUrl.pathname === compareUrl.pathname) {\n return Infinity;\n }\n\n // The basepath is longer than the comparison, a match is impossible\n if (baseUrl.pathname.length < compareUrl.pathname.length) {\n return 0;\n }\n\n if (matchMode === 'auto') {\n const baseSegments = [baseUrl.origin, ...baseUrl.pathname.split('/').filter(x => !!x)];\n const compareSegments = [compareUrl.origin, ...compareUrl.pathname.split('/').filter(x => !!x)];\n\n const score = getSimilarityScore(baseSegments, compareSegments);\n\n // If only some segments match, but not the whole smaller array, it's not a match\n return Math.min(baseSegments.length, compareSegments.length) === score ? score : 0;\n }\n\n return 0;\n};\n\n/**\n * Check how many items in an array match\n * @param a Base array\n * @param b Compare array\n * @returns Score\n */\nexport const getSimilarityScore = (a: string[], b: string[]): number => {\n if (!a?.length || !b?.length) {\n return 0;\n }\n\n let i = 0;\n for (; i < Math.min(a.length, b.length); i++) {\n if (a[i] !== b[i]) {\n return 0;\n }\n }\n\n return i;\n};\n","import {\n Environment,\n IPortalConfig,\n ILocalizedConfig,\n ICustomConfig,\n ILocalizedCustomConfig,\n LocalizedConfigParameters,\n} from '../models/general.model';\nimport { NavMainEntity } from '../models/header.model';\nimport { getUserLang, persistLanguageChoice } from './language.service';\nimport { uniqueId } from '../utils/utils';\nimport { markActiveRoute } from './route.service';\n\n// Prevent double requests\nlet request: Promise<IPortalConfig> | null = null;\n\n// Cache the original os flyout to use it for updates\nlet osFlyoutCache: NavMainEntity | null = null;\n\n/**\n * Get a localized config object\n *\n * @param projectId String identifying the project\n * @param language [optional] Preferred language\n * @returns Localized config object\n */\nexport const getLocalizedConfig = async ({\n projectId,\n environment,\n language,\n cookieKey,\n localStorageKey,\n activeRouteProp,\n localizedCustomConfig,\n osFlyoutOverrides,\n}: LocalizedConfigParameters): Promise<ILocalizedConfig> => {\n if (!request) {\n request = fetchConfig(projectId, environment);\n }\n\n const config = await request;\n const lang = getUserLang(Object.keys(config), language, localStorageKey, cookieKey);\n\n if (lang === undefined) {\n throw new Error('Internet Header: unable to determine current language');\n }\n\n // Clone config for more predictable state updates\n let localizedConfig: ILocalizedConfig = { ...config[lang] };\n\n // Merge custom config with portal config\n if (localizedCustomConfig) {\n const header = localizedCustomConfig?.header?.navMain\n ? {\n ...localizedConfig.header,\n navMain: [...localizedConfig.header.navMain, ...localizedCustomConfig.header.navMain],\n }\n : localizedConfig.header;\n localizedConfig = {\n ...localizedConfig,\n header,\n };\n }\n\n // Add entries to flyout_os\n if (osFlyoutOverrides)\n localizedConfig.header.navMain = mergeOsFlyoutOverrides(localizedConfig, osFlyoutOverrides);\n\n // Mark active route\n if (activeRouteProp)\n localizedConfig.header.navMain = markActiveRoute(\n localizedConfig.header.navMain,\n activeRouteProp,\n );\n\n setMainNavigationIds(localizedConfig?.header?.navMain);\n\n // Set the new language choice\n persistLanguageChoice(lang, cookieKey, localStorageKey);\n\n return localizedConfig;\n};\n\n/**\n * Merge portal config with custom os flyout overrides\n * @param config Localized config\n * @param osFlyoutOverrides Overrides for the flyout\n * @returns Merged localized config\n */\nexport const mergeOsFlyoutOverrides = (\n config: ILocalizedConfig,\n osFlyoutOverrides: NavMainEntity,\n): NavMainEntity[] => {\n if (!osFlyoutOverrides) return config.header.navMain;\n\n return config.header.navMain.map(mainNav => {\n if (mainNav.id !== 'flyout_os') return mainNav;\n\n if (osFlyoutCache === null) {\n osFlyoutCache = JSON.parse(JSON.stringify(mainNav)) as NavMainEntity;\n }\n\n const mainNavText = osFlyoutOverrides.text ?? osFlyoutCache.text;\n const mainNavTitle = osFlyoutOverrides.title ?? osFlyoutCache.title;\n\n if (\n !osFlyoutCache.flyout ||\n osFlyoutCache.flyout.length === 0 ||\n !osFlyoutOverrides.flyout ||\n osFlyoutOverrides.flyout.length === 0\n )\n return {\n ...mainNav,\n title: mainNavTitle,\n text: mainNavText,\n };\n\n // Add entries for os flyout columns without overriding existing config\n const mainNavFlyout = [\n ...osFlyoutCache.flyout.map((col, index) => {\n const overrides = osFlyoutOverrides.flyout[index];\n const title = overrides.title ?? col.title;\n\n const linkList = overrides.linkList ? osFlyoutOverrides.flyout[index].linkList : [];\n\n return {\n title,\n linkList: [...col.linkList, ...linkList],\n };\n }),\n ...osFlyoutOverrides.flyout.slice(osFlyoutCache.flyout.length),\n ];\n\n return {\n ...mainNav,\n text: mainNavText,\n title: mainNavTitle,\n flyout: mainNavFlyout,\n } as NavMainEntity;\n });\n};\n\n/**\n * Fetch the general config based on project id\n *\n * @returns Promise for Post Portal general config\n */\nexport const fetchConfig = async (\n projectId: string,\n environment: Environment,\n): Promise<IPortalConfig> => {\n // Check if project id is sanitized\n if (!isValidProjectId(projectId)) {\n throw new Error(`Internet Header: invalid project id \"${projectId}\"`);\n }\n\n if (projectId === 'test') {\n environment = 'int01';\n }\n\n let url = generateConfigUrl(projectId, environment);\n\n // Get the config if cache is invalid\n try {\n const res = await fetch(url);\n return (await res.json()) as IPortalConfig;\n } catch (error) {\n throw new Error(`Internet Header: fetching config failed. ${error.message}`);\n }\n};\n\n/**\n * Generate an URL with all necessary query params to get the configuration.\n * Project id \"test\" will return a test configuration\n * @param projectId string\n * @param environment int01, int02 or prod\n * @returns URL pointing to the project config\n */\nexport const generateConfigUrl = (projectId: string, environment: Environment): string => {\n if (projectId === 'test') return 'assets/config/test-configuration.json';\n\n const isInt = environment.startsWith('int');\n const host = `https://${isInt ? 'int' : 'www'}.post.ch`;\n try {\n // Use URL to validate the generated URL\n return new URL(\n `${host}/api/headerjs/Json?serviceid=${encodeURIComponent(projectId)}${\n isInt ? '&environment=' + environment : ''\n }`,\n ).toString();\n } catch (error) {\n throw new Error(`Internet Header: Config URL is invalid.`);\n }\n};\n\n/**\n * Check if project id contains only URL safe characters\n *\n * @param projectId Project Id string\n * @returns The valid project id\n */\nexport const isValidProjectId = (projectId: string): boolean => {\n return projectId !== '' && projectId.length > 0 && /^[a-zA-Z][\\w-]*[a-zA-Z0-9]$/.test(projectId);\n};\n\n/**\n * Get the localized config object from a custom config\n *\n * @param config String or json object of the custom config\n * @param language Specific language\n * @returns Localized custom config object\n */\nexport const getLocalizedCustomConfig = (\n config: string | ICustomConfig,\n language: string,\n): ILocalizedCustomConfig | undefined => {\n let customConfig: ICustomConfig;\n try {\n customConfig = typeof config === 'string' ? JSON.parse(config) : config;\n } catch (error) {\n throw new Error(\n `Internet Header: Custom config is invalid. Make sure your custom config contains valid JSON syntax and matches the definition. `,\n );\n }\n let localizedCustomConfig: ILocalizedCustomConfig | undefined = customConfig[language];\n if (localizedCustomConfig !== undefined)\n setMainNavigationIds(localizedCustomConfig.header.navMain);\n return localizedCustomConfig;\n};\n\n/**\n * Check if mobile header styles are applied or not\n * @returns True if browser is smaller than 1024px\n */\nexport const isMobile = () => window.innerWidth < 1024;\n\n/**\n * Set unique ID's on main navigation entities but conserve flyout_os to be able to\n * identify the online-service flyout, which can be configured by osFlyoutOverrides\n */\nexport const setMainNavigationIds = (navMainEntities: NavMainEntity[]): void => {\n navMainEntities.forEach(navMainEntity => {\n navMainEntity.id = navMainEntity.id === 'flyout_os' ? navMainEntity.id : uniqueId('main-nav-');\n });\n};\n","@use '@swisspost/design-system-styles/variables/color';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n\n:host {\n display: block;\n position: relative;\n font-size: 1rem;\n font-weight: 300;\n z-index: var(--header-z-index, 10);\n\n --header-height: 3.5rem; // 56px\n --meta-header-height: 0px; // Not visible on mobile\n --language-dropdown-margin-top: 0px;\n\n @include mixins.min(lg) {\n --meta-header-height: 3rem; // 48px\n --header-height: 4rem; // 64px\n }\n\n @include mixins.min(xl) {\n --header-height: 4.5rem; // 72px\n }\n}\n\n// Set height to 0 if meta is never visible\n:host([meta='false']) {\n --meta-header-height: 0px;\n // Compensation for header border-bottom, when language dropdown is displayed within main navigation controls\n --language-dropdown-margin-top: 1px;\n}\n\n// Support different kinds of stickyness modes\n// Works only in combination with setting header heights dynamically\n@supports (position: sticky) {\n // If stickyness is none, simply apply no styles, all others are sticky\n :host(:not(.stickyness-none)) {\n position: sticky;\n }\n\n // Everything is always sticky\n :host(.stickyness-full) {\n top: 0;\n }\n\n // Only main nav is sticky\n :host(.stickyness-main) {\n top: calc(var(--meta-header-height, 0px) * -1);\n }\n\n // Hide everything\n :host(.stickyness-minimal) {\n top: calc((var(--header-height, 0px) + var(--meta-header-height, 0px)) * -1);\n transition: top 200ms ease-in;\n }\n\n // Show main when scrolling up or any of the menus are open\n :host(.stickyness-minimal.scrolling-up),\n :host(.stickyness-minimal.dropdown-open) {\n top: calc(var(--meta-header-height, 0px) * -1);\n transition: top 200ms ease-out;\n }\n}\n\n.post-internet-header {\n border-bottom: 1px solid color.$gray-10;\n background-color: white;\n}\n\n.main-navigation-container {\n display: flex;\n\n & > .main-navigation-controls {\n flex: 0 0 auto;\n }\n}\n\n.main-navigation {\n display: flex;\n}\n\n.sub-navigation-container {\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n display: flex;\n background: white;\n visibility: hidden;\n}\n\n.main-navigation-item:hover .sub-navigation-container {\n visibility: visible;\n}\n\n.main-navigation-controls {\n display: flex;\n margin-left: auto;\n\n @include mixins.max(lg) {\n font-weight: 400;\n }\n\n @include mixins.min(lg) {\n font-size: 1.0625rem;\n }\n\n & > * {\n border-left: 1px solid color.$gray-10;\n }\n}\n\n.menu-button {\n display: flex;\n align-items: center;\n padding: 0 calc(1rem - 1px);\n font-weight: 300;\n cursor: pointer;\n border-left: 1px solid color.$gray-10;\n order: 1; /* Display on the far right because of tab order */\n\n @include mixins.min(lg) {\n display: none;\n }\n\n .visually-hidden {\n @include mixins.between(rg, lg) {\n @include mixins.reset-visually-hidden();\n\n margin-right: 0.5rem;\n }\n }\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n}\n\n.full-width {\n .wide-container {\n max-width: none;\n }\n}\n","import {\n Component,\n Host,\n Element,\n h,\n State,\n Prop,\n Watch,\n Listen,\n EventEmitter,\n Event,\n Method,\n} from '@stencil/core';\nimport { debounce, throttle } from 'throttle-debounce';\nimport {\n getLocalizedConfig,\n getLocalizedCustomConfig,\n isValidProjectId,\n} from '../../services/config.service';\nimport { state, dispose } from '../../data/store';\nimport { DropdownElement, DropdownEvent, NavMainEntity } from '../../models/header.model';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { StickynessOptions } from '../../models/implementor.model';\nimport { ActiveRouteProp, Environment, ICustomConfig } from '../../models/general.model';\nimport { IAvailableLanguage } from '../../models/language.model';\nimport { If } from '../../utils/if.component';\nimport packageJson from '../../../package.json';\n\n@Component({\n tag: 'swisspost-internet-header',\n styleUrl: 'post-internet-header.scss',\n shadow: true,\n})\nexport class PostInternetHeader {\n /**\n * Your project id, previously passed as query string parameter serviceId.\n */\n @Prop() project: string;\n\n /**\n * Sticky behaviour of the header.\n */\n @Prop() stickyness: StickynessOptions = 'minimal';\n\n /**\n * Initial language to be used. Overrides automatic language detection.\n */\n @Prop() language?: string;\n\n /**\n * Toggle the meta navigation.\n */\n @Prop() meta: boolean = true;\n\n /**\n * Toggle the login link (when logged out) or the user widget (when logged in).\n */\n @Prop() login: boolean = true;\n\n /**\n * Toggle the search button.\n */\n @Prop() search: boolean = true;\n\n /**\n * Toggle skiplinks. They help keyboard users to quickly jump to important sections of the page.\n */\n @Prop() skiplinks: boolean = true;\n\n /**\n * DEPRECATED!: Define a proxy URL for the config fetch request. Will be removed in the next major version\n */\n @Prop() configProxy?: string;\n\n /**\n * Target environment. Choose 'int01' for local testing.\n */\n @Prop() environment: Environment = 'prod';\n\n /**\n * Override the language switch links with custom URLs. Helpful when your application contains sub-pages and you\n * would like to stay on subpages when the user changes language.\n */\n @Prop() languageSwitchOverrides?: string | IAvailableLanguage[];\n\n /**\n * Customize the header config loaded from the post portal.\n */\n @Prop() customConfig?: string | ICustomConfig;\n\n /**\n * The header uses this cookie to set the language. Disables automatic language detection.\n */\n @Prop() languageCookieKey?: string;\n\n /**\n * The header uses this local storage key to set the language. Disables automatic language selection.\n */\n @Prop() languageLocalStorageKey?: string = 'swisspost-internet-header-language';\n\n /**\n * Set the currently activated route. If there is a link matching this URL in the header, it will be highlighted.\n * Will also highlight partly matching URLs. When set to auto, will use current location.href for comparison.\n */\n @Prop() activeRoute?: 'auto' | false | string = 'auto';\n\n /**\n * Online Services only: Add custom links to the special online service navigation entry\n */\n @Prop() osFlyoutOverrides?: string | NavMainEntity;\n\n /**\n * Displays the header at full width for full-screen applications\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * Fires when the header has been rendered to the page.\n */\n @Event() headerLoaded: EventEmitter<void>;\n\n @State() activeFlyout: string | null = null;\n @State() activeDropdownElement: DropdownElement | null = null;\n @Element() host: HTMLElement;\n\n /**\n * Get the currently set language as a two letter string (\"de\", \"fr\" \"it\" or \"en\")\n * @returns string\n */\n @Method()\n async getCurrentLanguage(): Promise<'de' | 'fr' | 'it' | 'en' | string> {\n return state.currentLanguage ?? 'de';\n }\n\n private mainNav?: HTMLPostMainNavigationElement;\n private lastScrollTop = window.scrollY || document.documentElement.scrollTop;\n private throttledScroll: throttle<() => void>;\n private debouncedResize: debounce<() => void>;\n private lastWindowWidth: number = window.innerWidth;\n\n constructor() {\n if (this.project === undefined || this.project === '' || !isValidProjectId(this.project)) {\n throw new Error(\n `Internet Header project key is \"${this.project}\". Please provide a valid project key.`,\n );\n }\n }\n\n connectedCallback() {\n this.throttledScroll = throttle(300, () => this.handleScrollEvent());\n this.debouncedResize = debounce(200, () => this.handleResize());\n window.addEventListener('scroll', this.throttledScroll, { passive: true });\n window.addEventListener('resize', this.debouncedResize, { passive: true });\n }\n\n disconnectedCallback() {\n window.removeEventListener('scroll', this.throttledScroll);\n window.removeEventListener('resize', this.debouncedResize);\n\n // Reset the store to its original state\n dispose();\n }\n\n async componentWillLoad() {\n // Wait for the config to arrive, then render the header\n try {\n state.projectId = this.project;\n state.environment = this.environment;\n if (this.language !== undefined) state.currentLanguage = this.language;\n state.languageSwitchOverrides =\n typeof this.languageSwitchOverrides === 'string'\n ? JSON.parse(this.languageSwitchOverrides)\n : this.languageSwitchOverrides;\n state.osFlyoutOverrides =\n typeof this.osFlyoutOverrides === 'string'\n ? JSON.parse(this.osFlyoutOverrides)\n : this.osFlyoutOverrides;\n\n if (this.customConfig !== undefined && state.currentLanguage !== null) {\n state.localizedCustomConfig = getLocalizedCustomConfig(\n this.customConfig,\n state.currentLanguage,\n );\n }\n\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n } catch (error) {\n console.error(error);\n }\n }\n\n componentDidLoad() {\n window.requestAnimationFrame(() => {\n this.handleResize();\n this.headerLoaded.emit();\n this.host.classList.add('header-loaded');\n });\n }\n\n @Watch('language')\n async handleLanguageChange(newValue: string) {\n state.currentLanguage = newValue;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: newValue,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n if (this.customConfig)\n state.localizedCustomConfig = getLocalizedCustomConfig(this.customConfig, newValue);\n }\n\n @Watch('languageSwitchOverrides')\n handleAvailableLanguagesChage(newValue: string | IAvailableLanguage[]) {\n state.languageSwitchOverrides = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;\n }\n\n @Watch('osFlyoutOverrides')\n async handleOsFlyoutOverrides(newValue: string | NavMainEntity) {\n state.osFlyoutOverrides = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('activeRoute')\n async handleActiveRouteChange(newValue: string | ActiveRouteProp) {\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: newValue,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('customConfig')\n async handleCustomConfigChange(newValue: string | ICustomConfig) {\n if (this.language === undefined) return;\n const localizedCustomConfig = getLocalizedCustomConfig(newValue, this.language);\n state.localizedCustomConfig = localizedCustomConfig;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('search')\n handleSearchChange(newValue: boolean) {\n state.search = newValue;\n }\n\n @Watch('login')\n handleLoginChange(newValue: boolean) {\n state.login = newValue;\n }\n\n @Watch('meta')\n handleMetaChange(newValue: boolean) {\n state.meta = newValue;\n }\n\n @Listen('languageChanged')\n handleLanguageChangeEvent(event: CustomEvent<string>) {\n this.handleLanguageChange(event.detail);\n }\n\n private handleClickOutsideBound = this.handleClickOutside.bind(this);\n\n private handleClickOutside(event: Event) {\n // Close active dropdown element on click outside of it\n if (this.activeDropdownElement && !event.composedPath().includes(this.activeDropdownElement)) {\n this.activeDropdownElement.toggleDropdown(false);\n }\n }\n\n private handleKeyUp(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n if (this.activeDropdownElement) {\n this.activeDropdownElement.toggleDropdown(false);\n }\n if (this.activeFlyout !== null && this.mainNav) {\n this.mainNav.toggleDropdown(false);\n }\n }\n }\n\n private handleScrollEvent() {\n // Credits: \"https://github.com/qeremy/so/blob/master/so.dom.js#L426\"\n const st = window.scrollY || document.documentElement.scrollTop;\n\n // Toggle class without re-rendering the component if stickyness is minimal\n // the other stickyness modes do not need the class\n if (this.stickyness === 'minimal') {\n this.host.classList.toggle('scrolling-up', st <= this.lastScrollTop);\n }\n\n // For Mobile or negative scrolling\n this.lastScrollTop = st <= 0 ? 0 : st;\n }\n\n private handleResize() {\n // Close main navigation dropdown if size changed to bigger than 1024px (search dropdown will be kept open)\n if (this.isMainNavOpen() && this.lastWindowWidth < 1024 && window.innerWidth >= 1024) {\n this.activeDropdownElement?.toggleDropdown(false);\n }\n\n this.lastWindowWidth = window.innerWidth;\n }\n\n /**\n * Close open dropdown menus if another is being opened\n *\n * @param event Dropdown toggled event\n * @returns void\n */\n private handleDropdownToggled(event: CustomEvent<DropdownEvent>) {\n if (!event.detail.open && this.activeDropdownElement !== event.detail.element) {\n // Some dropdown got closed programmatically (possibly by this function). To prevent\n // a circle or an outdated state, we'll not handle this event\n return;\n }\n\n if (event.detail.open === true) {\n if (this.activeDropdownElement) {\n this.activeDropdownElement.toggleDropdown(false);\n }\n\n this.activeDropdownElement = event.detail.element;\n\n if (window.innerWidth >= 1024) {\n // Add event listener to close active dropdown element on click outsite of it\n // Also adds 10ms delay in case of an external interaction:\n // Some button on the page calls toggleDropdown() -> dropdown opens\n // Click event bubbles to the window, this.handleClickOutsideBound closes dropdown again\n window.setTimeout(() => {\n window.addEventListener('click', this.handleClickOutsideBound);\n }, 10);\n }\n\n if (this.activeFlyout !== null && this.mainNav) {\n this.mainNav.setActiveFlyout(null);\n }\n } else {\n this.activeDropdownElement = null;\n\n // Remove event listener as it is not needed if no dropdown element is active\n window.removeEventListener('click', this.handleClickOutsideBound);\n }\n }\n\n /**\n * Close open dropdowns if the flyout is being opened\n * @param event Flyout toggle event\n */\n private handleFlyoutToggled(event: CustomEvent<string | null>) {\n this.activeFlyout = event.detail;\n\n if (this.activeDropdownElement && event.detail && !this.isMainNavOpen()) {\n this.activeDropdownElement.toggleDropdown(false);\n }\n }\n\n private toggleMobileDropdown() {\n this.mainNav?.toggleDropdown();\n }\n\n private isMainNavOpen() {\n return (\n this.activeDropdownElement && this.activeDropdownElement.tagName === 'POST-MAIN-NAVIGATION'\n );\n }\n\n render() {\n if (!state.localizedConfig?.header) {\n console.error(new Error('Internet Header: Config cannot be loaded'));\n return;\n }\n\n const config = state.localizedConfig;\n const renderMetaNavigation =\n this.meta &&\n config.header.navMeta !== undefined &&\n config.header.navMeta?.filter(meta => !meta.isHomeLink).length > 0;\n const renderLogin =\n (this.login ?? !config.header.isLoginWidgetHidden) && config.header.loginWidgetOptions;\n const renderLanguageSwitch = config.header.navLang.length > 1;\n\n return (\n <Host\n class={`stickyness-${this.stickyness} ${\n this.activeDropdownElement || this.activeFlyout ? 'dropdown-open' : ''\n }`}\n data-version={packageJson.version}\n onKeyup={(e: KeyboardEvent) => this.handleKeyUp(e)}\n >\n <header class={`post-internet-header${this.fullWidth ? ' full-width' : ''}`}>\n <SvgSprite />\n <If condition={this.skiplinks === true}>\n <post-skiplinks></post-skiplinks>\n </If>\n <If condition={renderMetaNavigation === true}>\n <post-meta-navigation\n orientation=\"horizontal\"\n class=\"hidden-lg\"\n full-width={this.fullWidth}\n >\n <If condition={renderLanguageSwitch === true}>\n <post-language-switch\n id=\"post-language-switch-desktop\"\n mode=\"dropdown\"\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n ></post-language-switch>\n </If>\n </post-meta-navigation>\n </If>\n <div class=\"main-navigation-container wide-container\">\n <post-logo></post-logo>\n <button class=\"menu-button nav-link\" onClick={() => this.toggleMobileDropdown()}>\n <span class=\"menu-button-text visually-hidden\">{config.header.mobileMenu.text}</span>\n <SvgIcon name={this.isMainNavOpen() ? 'pi-close' : 'pi-menu'}></SvgIcon>\n </button>\n <post-main-navigation\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n onFlyoutToggled={e => this.handleFlyoutToggled(e)}\n ref={el => (this.mainNav = el)}\n >\n <If condition={renderMetaNavigation === true}>\n <post-meta-navigation orientation=\"vertical\">\n <If condition={renderLanguageSwitch === true}>\n <post-language-switch\n id=\"post-language-switch-mobile\"\n mode=\"list\"\n ></post-language-switch>\n </If>\n </post-meta-navigation>\n </If>\n </post-main-navigation>\n <div class=\"main-navigation-controls\">\n <If condition={this.search !== false}>\n <post-search onDropdownToggled={e => this.handleDropdownToggled(e)}></post-search>\n </If>\n <If condition={!!renderLogin}>\n <post-klp-login-widget>\n <slot name=\"login-widget\"></slot>\n </post-klp-login-widget>\n </If>\n <If condition={renderMetaNavigation === false && renderLanguageSwitch === true}>\n <post-language-switch\n id=\"post-language-switch-no-meta\"\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n mode=\"dropdown\"\n ></post-language-switch>\n </If>\n <slot name=\"main\"></slot>\n </div>\n </div>\n </header>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as i,h as n,H as s,g as t}from"./p-5032057e.js";import{s as l}from"./p-5e43c5e0.js";import{t as e}from"./p-ec80c8fc.js";import{S as a}from"./p-eeff8b03.js";const o=":host{display:block}.skiplinks a{position:absolute;top:0.5rem;left:0.5rem;clip:rect(0 0 0 0);width:1px;overflow:hidden;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:0.25rem;background:white}.skiplinks a:focus-visible{clip:unset;width:auto}";const r=class{constructor(n){i(this,n)}getMainId(){var i;return(i=document.querySelector("main[id]"))===null||i===void 0?void 0:i.getAttribute("id")}setFocus(i){const n=this.host.closest(".post-internet-header");if(!n){return}const s=n.querySelector(i);if(s){s.setFocus()}}focusMain(){this.setFocus("post-main-navigation")}focusSearch(){this.setFocus("post-search")}focusLogin(){this.setFocus("post-klp-login-widget")}render(){var i;const t=(i=l.localizedConfig)===null||i===void 0?void 0:i.header;const o=this.getMainId();if(t===undefined){return}return n(s,null,n("nav",{class:"skiplinks"},n("ul",{class:"no-list"},n("li",null,n("a",{class:"nav-link",href:t.logo.logoLink,accessKey:"0",title:"[ALT + 0]"},n("span",null,t.logo.logoLinkTitle),n(a,{name:"pi-pointy-arrow-right"}))),n("li",null,n("a",{class:"nav-link",href:"#post-internet-header-main-navigation",accessKey:"1",title:"[ALT + 1]",onClick:()=>this.focusMain()},n("span",null,t.translations.navMainAriaLabel),n(a,{name:"pi-pointy-arrow-right"}))),o?n("li",null,n("a",{class:"nav-link",href:`#${o}`,accessKey:"2",title:"[ALT + 2]"},n("span",null,e("Go to main content")),n(a,{name:"pi-pointy-arrow-right"}))):null,l.search?n("li",null,n("a",{class:"nav-link",href:"#post-internet-header-search-button",accessKey:"3",title:"[ALT + 3]",onClick:()=>this.focusSearch()},n("span",null,e("Go to search")),n(a,{name:"pi-pointy-arrow-right"}))):null,l.login?n("li",null,n("a",{class:"nav-link",href:"#post-klp-login-widget",accessKey:"4",title:"[ALT + 4]",onClick:()=>this.focusLogin()},n("span",null,e("Go to login")),n(a,{name:"pi-pointy-arrow-right"}))):null)))}get host(){return t(this)}};r.style=o;export{r as post_skiplinks};
2
- //# sourceMappingURL=p-a4160d23.entry.js.map
1
+ import{r as i,h as n,H as s,g as t}from"./p-5032057e.js";import{s as l}from"./p-06649b46.js";import{t as e}from"./p-0942595f.js";import{S as a}from"./p-ab1dd269.js";const o=":host{display:block}.skiplinks a{position:absolute;top:0.5rem;left:0.5rem;clip:rect(0 0 0 0);width:1px;overflow:hidden;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:0.25rem;background:white}.skiplinks a:focus-visible{clip:unset;width:auto}";const r=class{constructor(n){i(this,n)}getMainId(){var i;return(i=document.querySelector("main[id]"))===null||i===void 0?void 0:i.getAttribute("id")}setFocus(i){const n=this.host.closest(".post-internet-header");if(!n){return}const s=n.querySelector(i);if(s){s.setFocus()}}focusMain(){this.setFocus("post-main-navigation")}focusSearch(){this.setFocus("post-search")}focusLogin(){this.setFocus("post-klp-login-widget")}render(){var i;const t=(i=l.localizedConfig)===null||i===void 0?void 0:i.header;const o=this.getMainId();if(t===undefined){return}return n(s,null,n("nav",{class:"skiplinks"},n("ul",{class:"no-list"},n("li",null,n("a",{class:"nav-link",href:t.logo.logoLink,accessKey:"0",title:"[ALT + 0]"},n("span",null,t.logo.logoLinkTitle),n(a,{name:"pi-pointy-arrow-right"}))),n("li",null,n("a",{class:"nav-link",href:"#post-internet-header-main-navigation",accessKey:"1",title:"[ALT + 1]",onClick:()=>this.focusMain()},n("span",null,t.translations.navMainAriaLabel),n(a,{name:"pi-pointy-arrow-right"}))),o?n("li",null,n("a",{class:"nav-link",href:`#${o}`,accessKey:"2",title:"[ALT + 2]"},n("span",null,e("Go to main content")),n(a,{name:"pi-pointy-arrow-right"}))):null,l.search?n("li",null,n("a",{class:"nav-link",href:"#post-internet-header-search-button",accessKey:"3",title:"[ALT + 3]",onClick:()=>this.focusSearch()},n("span",null,e("Go to search")),n(a,{name:"pi-pointy-arrow-right"}))):null,l.login?n("li",null,n("a",{class:"nav-link",href:"#post-klp-login-widget",accessKey:"4",title:"[ALT + 4]",onClick:()=>this.focusLogin()},n("span",null,e("Go to login")),n(a,{name:"pi-pointy-arrow-right"}))):null)))}get host(){return t(this)}};r.style=o;export{r as post_skiplinks};
2
+ //# sourceMappingURL=p-ccb522ba.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["postSkiplinksCss","PostSkiplinks","getMainId","_a","document","querySelector","getAttribute","setFocus","tagname","rootHost","this","host","closest","focusable","focusMain","focusSearch","focusLogin","render","config","state","localizedConfig","header","mainId","undefined","h","Host","class","href","logo","logoLink","accessKey","title","logoLinkTitle","SvgIcon","name","onClick","translations","navMainAriaLabel","translate","search","login"],"sources":["./src/components/post-skiplinks/post-skiplinks.scss?tag=post-skiplinks","./src/components/post-skiplinks/post-skiplinks.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.skiplinks {\n a {\n position: absolute;\n top: 0.5rem;\n left: 0.5rem;\n clip: rect(0 0 0 0);\n width: 1px;\n overflow: hidden;\n display: flex;\n align-items: center;\n padding: 0.25rem;\n background: white;\n\n &:focus-visible {\n clip: unset;\n width: auto;\n }\n }\n}\n","import { Component, Host, h, Element } from '@stencil/core';\nimport { state } from '../../data/store';\nimport { FocusableElement } from '../../models/header.model';\nimport { translate } from '../../services/language.service';\nimport { SvgIcon } from '../../utils/svg-icon.component';\n\n@Component({\n tag: 'post-skiplinks',\n styleUrl: 'post-skiplinks.scss',\n shadow: false,\n})\nexport class PostSkiplinks {\n @Element() host: HTMLElement;\n\n private getMainId() {\n return document.querySelector('main[id]')?.getAttribute('id');\n }\n\n private setFocus(tagname: string) {\n const rootHost = this.host.closest('.post-internet-header');\n if (!rootHost) {\n return;\n }\n\n const focusable = rootHost.querySelector<FocusableElement>(tagname);\n if (focusable) {\n focusable.setFocus();\n }\n }\n\n private focusMain() {\n this.setFocus('post-main-navigation');\n }\n\n private focusSearch() {\n this.setFocus('post-search');\n }\n\n private focusLogin() {\n this.setFocus('post-klp-login-widget');\n }\n\n render() {\n const config = state.localizedConfig?.header;\n const mainId = this.getMainId();\n\n if (config === undefined) {\n return;\n }\n\n return (\n <Host>\n <nav class=\"skiplinks\">\n <ul class=\"no-list\">\n <li>\n <a class=\"nav-link\" href={config.logo.logoLink} accessKey=\"0\" title=\"[ALT + 0]\">\n <span>{config.logo.logoLinkTitle}</span>\n <SvgIcon name=\"pi-pointy-arrow-right\" />\n </a>\n </li>\n <li>\n <a\n class=\"nav-link\"\n href=\"#post-internet-header-main-navigation\"\n accessKey=\"1\"\n title=\"[ALT + 1]\"\n onClick={() => this.focusMain()}\n >\n <span>{config.translations.navMainAriaLabel}</span>\n <SvgIcon name=\"pi-pointy-arrow-right\" />\n </a>\n </li>\n {mainId ? (\n <li>\n <a class=\"nav-link\" href={`#${mainId}`} accessKey=\"2\" title=\"[ALT + 2]\">\n <span>{translate('Go to main content')}</span>\n <SvgIcon name=\"pi-pointy-arrow-right\" />\n </a>\n </li>\n ) : null}\n {state.search ? (\n <li>\n <a\n class=\"nav-link\"\n href=\"#post-internet-header-search-button\"\n accessKey=\"3\"\n title=\"[ALT + 3]\"\n onClick={() => this.focusSearch()}\n >\n <span>{translate('Go to search')}</span>\n <SvgIcon name=\"pi-pointy-arrow-right\" />\n </a>\n </li>\n ) : null}\n {state.login ? (\n <li>\n <a\n class=\"nav-link\"\n href=\"#post-klp-login-widget\"\n accessKey=\"4\"\n title=\"[ALT + 4]\"\n onClick={() => this.focusLogin()}\n >\n <span>{translate('Go to login')}</span>\n <SvgIcon name=\"pi-pointy-arrow-right\" />\n </a>\n </li>\n ) : null}\n </ul>\n </nav>\n </Host>\n );\n }\n}\n"],"mappings":"qKAAA,MAAMA,EAAmB,sR,MCWZC,EAAa,M,yBAGhBC,Y,MACN,OAAOC,EAAAC,SAASC,cAAc,eAAW,MAAAF,SAAA,SAAAA,EAAEG,aAAa,K,CAGlDC,SAASC,GACf,MAAMC,EAAWC,KAAKC,KAAKC,QAAQ,yBACnC,IAAKH,EAAU,CACb,M,CAGF,MAAMI,EAAYJ,EAASJ,cAAgCG,GAC3D,GAAIK,EAAW,CACbA,EAAUN,U,EAINO,YACNJ,KAAKH,SAAS,uB,CAGRQ,cACNL,KAAKH,SAAS,c,CAGRS,aACNN,KAAKH,SAAS,wB,CAGhBU,S,MACE,MAAMC,GAASf,EAAAgB,EAAMC,mBAAe,MAAAjB,SAAA,SAAAA,EAAEkB,OACtC,MAAMC,EAASZ,KAAKR,YAEpB,GAAIgB,IAAWK,UAAW,CACxB,M,CAGF,OACEC,EAACC,EAAI,KACHD,EAAA,OAAKE,MAAM,aACTF,EAAA,MAAIE,MAAM,WACRF,EAAA,UACEA,EAAA,KAAGE,MAAM,WAAWC,KAAMT,EAAOU,KAAKC,SAAUC,UAAU,IAAIC,MAAM,aAClEP,EAAA,YAAON,EAAOU,KAAKI,eACnBR,EAACS,EAAO,CAACC,KAAK,4BAGlBV,EAAA,UACEA,EAAA,KACEE,MAAM,WACNC,KAAK,wCACLG,UAAU,IACVC,MAAM,YACNI,QAAS,IAAMzB,KAAKI,aAEpBU,EAAA,YAAON,EAAOkB,aAAaC,kBAC3Bb,EAACS,EAAO,CAACC,KAAK,4BAGjBZ,EACCE,EAAA,UACEA,EAAA,KAAGE,MAAM,WAAWC,KAAM,IAAIL,IAAUQ,UAAU,IAAIC,MAAM,aAC1DP,EAAA,YAAOc,EAAU,uBACjBd,EAACS,EAAO,CAACC,KAAK,4BAGhB,KACHf,EAAMoB,OACLf,EAAA,UACEA,EAAA,KACEE,MAAM,WACNC,KAAK,sCACLG,UAAU,IACVC,MAAM,YACNI,QAAS,IAAMzB,KAAKK,eAEpBS,EAAA,YAAOc,EAAU,iBACjBd,EAACS,EAAO,CAACC,KAAK,4BAGhB,KACHf,EAAMqB,MACLhB,EAAA,UACEA,EAAA,KACEE,MAAM,WACNC,KAAK,yBACLG,UAAU,IACVC,MAAM,YACNI,QAAS,IAAMzB,KAAKM,cAEpBQ,EAAA,YAAOc,EAAU,gBACjBd,EAACS,EAAO,CAACC,KAAK,4BAGhB,O"}
@@ -0,0 +1,6 @@
1
+ import{h as e,r as t,H as n,g as r}from"./p-5032057e.js";import{d as o}from"./p-69c64c29.js";import{c as i,d as a,e as l}from"./p-a119b38d.js";import{S as s}from"./p-ab1dd269.js";import{s as f}from"./p-06649b46.js";import{c as u}from"./p-112455b1.js";import{S as d}from"./p-f7c0cf7b.js";import{t as g}from"./p-0942595f.js";import{p as c}from"./p-8bf099a8.js";
2
+ /*!
3
+ * tabbable 6.0.1
4
+ * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
5
+ */var m=["input","select","textarea","a[href]","button","[tabindex]:not(slot)","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])',"details>summary:first-of-type","details"];var b=m.join(",");var h=typeof Element==="undefined";var p=h?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector;var x=!h&&Element.prototype.getRootNode?function(e){return e.getRootNode()}:function(e){return e.ownerDocument};var w=function e(t,n,r){var o=Array.prototype.slice.apply(t.querySelectorAll(b));if(n&&p.call(t,b)){o.unshift(t)}o=o.filter(r);return o};var v=function e(t,n,r){var o=[];var i=Array.from(t);while(i.length){var a=i.shift();if(a.tagName==="SLOT"){var l=a.assignedElements();var s=l.length?l:a.children;var f=e(s,true,r);if(r.flatten){o.push.apply(o,f)}else{o.push({scopeParent:a,candidates:f})}}else{var u=p.call(a,b);if(u&&r.filter(a)&&(n||!t.includes(a))){o.push(a)}var d=a.shadowRoot||typeof r.getShadowRoot==="function"&&r.getShadowRoot(a);var g=!r.shadowRootFilter||r.shadowRootFilter(a);if(d&&g){var c=e(d===true?a.children:d.children,true,r);if(r.flatten){o.push.apply(o,c)}else{o.push({scopeParent:a,candidates:c})}}else{i.unshift.apply(i,a.children)}}}return o};var y=function e(t,n){if(t.tabIndex<0){if((n||/^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName)||t.isContentEditable)&&isNaN(parseInt(t.getAttribute("tabindex"),10))){return 0}}return t.tabIndex};var k=function e(t,n){return t.tabIndex===n.tabIndex?t.documentOrder-n.documentOrder:t.tabIndex-n.tabIndex};var T=function e(t){return t.tagName==="INPUT"};var I=function e(t){return T(t)&&t.type==="hidden"};var N=function e(t){var n=t.tagName==="DETAILS"&&Array.prototype.slice.apply(t.children).some((function(e){return e.tagName==="SUMMARY"}));return n};var E=function e(t,n){for(var r=0;r<t.length;r++){if(t[r].checked&&t[r].form===n){return t[r]}}};var O=function e(t){if(!t.name){return true}var n=t.form||x(t);var r=function e(t){return n.querySelectorAll('input[type="radio"][name="'+t+'"]')};var o;if(typeof window!=="undefined"&&typeof window.CSS!=="undefined"&&typeof window.CSS.escape==="function"){o=r(window.CSS.escape(t.name))}else{try{o=r(t.name)}catch(e){console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",e.message);return false}}var i=E(o,t.form);return!i||i===t};var S=function e(t){return T(t)&&t.type==="radio"};var R=function e(t){return S(t)&&!O(t)};var C=function e(t){var n;var r=x(t).host;var o=!!((n=r)!==null&&n!==void 0&&n.ownerDocument.contains(r)||t.ownerDocument.contains(t));while(!o&&r){var i;r=x(r).host;o=!!((i=r)!==null&&i!==void 0&&i.ownerDocument.contains(r))}return o};var M=function e(t){var n=t.getBoundingClientRect(),r=n.width,o=n.height;return r===0&&o===0};var z=function e(t,n){var r=n.displayCheck,o=n.getShadowRoot;if(getComputedStyle(t).visibility==="hidden"){return true}var i=p.call(t,"details>summary:first-of-type");var a=i?t.parentElement:t;if(p.call(a,"details:not([open]) *")){return true}if(!r||r==="full"||r==="legacy-full"){if(typeof o==="function"){var l=t;while(t){var s=t.parentElement;var f=x(t);if(s&&!s.shadowRoot&&o(s)===true){return M(t)}else if(t.assignedSlot){t=t.assignedSlot}else if(!s&&f!==t.ownerDocument){t=f.host}else{t=s}}t=l}if(C(t)){return!t.getClientRects().length}if(r!=="legacy-full"){return true}}else if(r==="non-zero-area"){return M(t)}return false};var F=function e(t){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName)){var n=t.parentElement;while(n){if(n.tagName==="FIELDSET"&&n.disabled){for(var r=0;r<n.children.length;r++){var o=n.children.item(r);if(o.tagName==="LEGEND"){return p.call(n,"fieldset[disabled] *")?true:!o.contains(t)}}return true}n=n.parentElement}}return false};var A=function e(t,n){if(n.disabled||I(n)||z(n,t)||N(n)||F(n)){return false}return true};var L=function e(t,n){if(R(n)||y(n)<0||!A(t,n)){return false}return true};var P=function e(t){var n=parseInt(t.getAttribute("tabindex"),10);if(isNaN(n)||n>=0){return true}return false};var H=function e(t){var n=[];var r=[];t.forEach((function(t,o){var i=!!t.scopeParent;var a=i?t.scopeParent:t;var l=y(a,i);var s=i?e(t.candidates):a;if(l===0){i?n.push.apply(n,s):n.push(a)}else{r.push({documentOrder:o,tabIndex:l,item:t,isScope:i,content:s})}}));return r.sort(k).reduce((function(e,t){t.isScope?e.push.apply(e,t.content):e.push(t.content);return e}),[]).concat(n)};var j=function e(t,n){n=n||{};var r;if(n.getShadowRoot){r=v([t],n.includeContainer,{filter:L.bind(null,n),flatten:false,getShadowRoot:n.getShadowRoot,shadowRootFilter:P})}else{r=w(t,n.includeContainer,L.bind(null,n))}return H(r)};let D=0;const W=(t,n)=>{var r;const o=(r=t.active)!==null&&r!==void 0?r:false;const i=(e,t)=>{if(!n.length){return}const r=t==="first"?0:n.length-1;const o=n[r].t;const i=j(o);if(!i.length){return}e.preventDefault();e.stopPropagation();const a=t==="first"?0:i.length-1;let l=i[a];l.focus()};D++;return[e("input",{type:"text","aria-hidden":"true",class:"visually-hidden",key:`focus-trap-before-${D}`,onFocusin:e=>o&&i(e,"last")}),n,e("input",{type:"text","aria-hidden":"true",class:"visually-hidden",key:`focus-trap-after-${D}`,onFocusin:e=>o&&i(e,"first")})]};const U=t=>e("div",{class:"overlay",onClick:()=>t.onClick(),onKeyDown:e=>t.onKeyDown!==undefined&&t.onKeyDown(e),ref:e=>e!==undefined&&t.overlayRef(e)},e("div",{class:"container",role:"dialog"},e(W,null,e("div",{class:"overlay-container",tabindex:"-1",role:"document",onClick:e=>e.stopPropagation()},e("button",{class:`overlay-close btn-blank d-inline-flex align-items-center nav-link ${t.overlay.id}`,onClick:()=>t.onClick()},e("span",{class:"visually-hidden"},t.closeButtonText),e(s,{name:"pi-close"})),e("iframe",{src:t.overlay.target,frameborder:"0",class:"frame",ref:e=>e!==undefined&&t.iFrameRef(e)}))),e("div",{class:"loader-wrapper"},e("div",{class:"loader"}))));var B=u((function(e){(function(t){if(typeof window==="undefined")return;var n=0,r=false,o=false,i="message",a=i.length,l="[iFrameSizer]",s=l.length,f=null,u=window.requestAnimationFrame,d={max:1,scroll:1,bodyScroll:1,documentElementScroll:1},g={},c=null,m={autoResize:true,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:true,inPageLinks:false,enablePublicMethods:true,heightCalculationMethod:"bodyOffset",id:"iFrameResizer",interval:32,log:false,maxHeight:Infinity,maxWidth:Infinity,minHeight:0,minWidth:0,mouseEvents:true,resizeFrom:"parent",scrolling:false,sizeHeight:true,sizeWidth:false,warningTimeout:5e3,tolerance:0,widthCalculationMethod:"scroll",onClose:function(){return true},onClosed:function(){},onInit:function(){},onMessage:function(){I("onMessage function not defined")},onMouseEnter:function(){},onMouseLeave:function(){},onResized:function(){},onScroll:function(){return true}};function b(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function h(e,t,n){e.addEventListener(t,n,false)}function p(e,t,n){e.removeEventListener(t,n,false)}function x(){var e=["moz","webkit","o","ms"];var t;for(t=0;t<e.length&&!u;t+=1){u=window[e[t]+"RequestAnimationFrame"]}if(!u){k("setup","RequestAnimationFrame not supported")}else{u=u.bind(window)}}function w(e){var t="Host page: "+e;if(window.top!==window.self){t=window.parentIFrame&&window.parentIFrame.getId?window.parentIFrame.getId()+": "+e:"Nested host page: "+e}return t}function v(e){return l+"["+w(e)+"]"}function y(e){return g[e]?g[e].log:r}function k(e,t){N("log",e,t,y(e))}function T(e,t){N("info",e,t,y(e))}function I(e,t){N("warn",e,t,true)}function N(e,t,n,r){if(true===r&&"object"===typeof window.console){console[e](v(t),n)}}function E(e){function t(){function e(){A(G);M($);U("onResized",G)}i("Height");i("Width");L(e,G,"init")}function n(){var e=q.substr(s).split(":");var t=e[1]?parseInt(e[1],10):0;var n=g[e[0]]&&g[e[0]].iframe;var i=getComputedStyle(n);return{iframe:n,id:e[0],height:t+r(i)+o(i),width:e[2],type:e[3]}}function r(e){if(e.boxSizing!=="border-box"){return 0}var t=e.paddingTop?parseInt(e.paddingTop,10):0;var n=e.paddingBottom?parseInt(e.paddingBottom,10):0;return t+n}function o(e){if(e.boxSizing!=="border-box"){return 0}var t=e.borderTopWidth?parseInt(e.borderTopWidth,10):0;var n=e.borderBottomWidth?parseInt(e.borderBottomWidth,10):0;return t+n}function i(e){var t=Number(g[$]["max"+e]),n=Number(g[$]["min"+e]),r=e.toLowerCase(),o=Number(G[r]);k($,"Checking "+r+" is in range "+n+"-"+t);if(o<n){o=n;k($,"Set "+r+" to min value")}if(o>t){o=t;k($,"Set "+r+" to max value")}G[r]=""+o}function u(){function t(){function e(){var e=0,t=false;k($,"Checking connection is from allowed list of origins: "+r);for(;e<r.length;e++){if(r[e]===n){t=true;break}}return t}function t(){var e=g[$]&&g[$].remoteHost;k($,"Checking connection is from: "+e);return n===e}return r.constructor===Array?e():t()}var n=e.origin,r=g[$]&&g[$].checkOrigin;if(r&&""+n!=="null"&&!t()){throw new Error("Unexpected message received from: "+n+" for "+G.iframe.id+". Message was: "+e.data+". This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.")}return true}function d(){return l===(""+q).substr(0,s)&&q.substr(s).split(":")[0]in g}function c(){var e=G.type in{true:1,false:1,undefined:1};if(e){k($,"Ignoring init message from meta parent page")}return e}function m(e){return q.substr(q.indexOf(":")+a+e)}function b(e){k($,"onMessage passed: {iframe: "+G.iframe.id+", message: "+e+"}");U("onMessage",{iframe:G.iframe,message:JSON.parse(e)});k($,"--")}function x(){var e=document.body.getBoundingClientRect(),t=G.iframe.getBoundingClientRect();return JSON.stringify({iframeHeight:t.height,iframeWidth:t.width,clientHeight:Math.max(document.documentElement.clientHeight,window.innerHeight||0),clientWidth:Math.max(document.documentElement.clientWidth,window.innerWidth||0),offsetTop:parseInt(t.top-e.top,10),offsetLeft:parseInt(t.left-e.left,10),scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,documentHeight:document.documentElement.clientHeight,documentWidth:document.documentElement.clientWidth,windowHeight:window.innerHeight,windowWidth:window.innerWidth})}function w(e,t){function n(){P("Send Page Info","pageInfo:"+x(),e,t)}B(n,32,t)}function v(){function e(e,n){function o(){if(g[r]){w(g[r].iframe,r)}else{t()}}["scroll","resize"].forEach((function(t){k(r,e+t+" listener for sendPageInfo");n(window,t,o)}))}function t(){e("Remove ",p)}function n(){e("Add ",h)}var r=$;n();if(g[r]){g[r].stopPageInfo=t}}function y(){if(g[$]&&g[$].stopPageInfo){g[$].stopPageInfo();delete g[$].stopPageInfo}}function N(){var e=true;if(null===G.iframe){I($,"IFrame ("+G.id+") not found");e=false}return e}function E(e){var t=e.getBoundingClientRect();C($);return{x:Math.floor(Number(t.left)+Number(f.x)),y:Math.floor(Number(t.top)+Number(f.y))}}function S(e){function t(){f=i;j();k($,"--")}function n(){return{x:Number(G.width)+o.x,y:Number(G.height)+o.y}}function r(){if(window.parentIFrame){window.parentIFrame["scrollTo"+(e?"Offset":"")](i.x,i.y)}else{I($,"Unable to scroll to requested position, window.parentIFrame not found")}}var o=e?E(G.iframe):{x:0,y:0},i=n();k($,"Reposition requested from iFrame (offset x:"+o.x+" y:"+o.y+")");if(window.top!==window.self){r()}else{t()}}function j(){if(false!==U("onScroll",f)){M($)}else{z()}}function D(e){function t(){var e=E(i);k($,"Moving to in page link (#"+r+") at x: "+e.x+" y: "+e.y);f={x:e.x,y:e.y};j();k($,"--")}function n(){if(window.parentIFrame){window.parentIFrame.moveToAnchor(r)}else{k($,"In page link #"+r+" not found and window.parentIFrame not found")}}var r=e.split("#")[1]||"",o=decodeURIComponent(r),i=document.getElementById(o)||document.getElementsByName(o)[0];if(i){t()}else if(window.top!==window.self){n()}else{k($,"In page link #"+r+" not found")}}function W(e){var t={};if(Number(G.width)===0&&Number(G.height)===0){var n=m(9).split(":");t={x:n[1],y:n[0]}}else{t={x:G.width,y:G.height}}U(e,{iframe:G.iframe,screenX:Number(t.x),screenY:Number(t.y),type:G.type})}function U(e,t){return O($,e,t)}function X(){if(g[$]&&g[$].firstRun)Y();switch(G.type){case"close":R(G.iframe);break;case"message":b(m(6));break;case"mouseenter":W("onMouseEnter");break;case"mouseleave":W("onMouseLeave");break;case"autoResize":g[$].autoResize=JSON.parse(m(9));break;case"scrollTo":S(false);break;case"scrollToOffset":S(true);break;case"pageInfo":w(g[$]&&g[$].iframe,$);v();break;case"pageInfoStop":y();break;case"inPageLink":D(m(9));break;case"reset":F(G);break;case"init":t();U("onInit",G.iframe);break;default:if(Number(G.width)===0&&Number(G.height)===0){I("Unsupported message received ("+G.type+"), this is likely due to the iframe containing a later "+"version of iframe-resizer than the parent page")}else{t()}}}function V(e){var t=true;if(!g[e]){t=false;I(G.type+" No settings for "+e+". Message was: "+q)}return t}function J(){for(var e in g){P("iFrame requested init",H(e),g[e].iframe,e)}}function Y(){if(g[$]){g[$].firstRun=false}}var q=e.data,G={},$=null;if("[iFrameResizerChild]Ready"===q){J()}else if(d()){G=n();$=G.id;if(g[$]){g[$].loaded=true}if(!c()&&V($)){k($,"Received: "+q);if(N()&&u()){X()}}}else{T($,"Ignored: "+q)}}function O(e,t,n){var r=null,o=null;if(g[e]){r=g[e][t];if("function"===typeof r){o=r(n)}else{throw new TypeError(t+" on iFrame["+e+"] is not a function")}}return o}function S(e){var t=e.id;delete g[t]}function R(e){var t=e.id;if(O(t,"onClose",t)===false){k(t,"Close iframe cancelled by onClose event");return}k(t,"Removing iFrame: "+t);try{if(e.parentNode){e.parentNode.removeChild(e)}}catch(e){I(e)}O(t,"onClosed",t);k(t,"--");S(e)}function C(e){if(null===f){f={x:window.pageXOffset!==t?window.pageXOffset:document.documentElement.scrollLeft,y:window.pageYOffset!==t?window.pageYOffset:document.documentElement.scrollTop};k(e,"Get page position: "+f.x+","+f.y)}}function M(e){if(null!==f){window.scrollTo(f.x,f.y);k(e,"Set page position: "+f.x+","+f.y);z()}}function z(){f=null}function F(e){function t(){A(e);P("reset","reset",e.iframe,e.id)}k(e.id,"Size reset requested by "+("init"===e.type?"host page":"iFrame"));C(e.id);L(t,e,"reset")}function A(e){function t(t){if(!e.id){k("undefined","messageData id not set");return}e.iframe.style[t]=e[t]+"px";k(e.id,"IFrame ("+i+") "+t+" set to "+e[t]+"px")}function n(t){if(!o&&"0"===e[t]){o=true;k(i,"Hidden iFrame detected, creating visibility listener");X()}}function r(e){t(e);n(e)}var i=e.iframe.id;if(g[i]){if(g[i].sizeHeight){r("height")}if(g[i].sizeWidth){r("width")}}}function L(e,t,n){if(n!==t.type&&u&&!window.jasmine){k(t.id,"Requesting animation frame");u(e)}else{e()}}function P(e,t,n,r,o){function i(){var o=g[r]&&g[r].targetOrigin;k(r,"["+e+"] Sending msg to iframe["+r+"] ("+t+") targetOrigin: "+o);n.contentWindow.postMessage(l+t,o)}function a(){I(r,"["+e+"] IFrame("+r+") not found")}function s(){if(n&&"contentWindow"in n&&null!==n.contentWindow){i()}else{a()}}function f(){function e(){if(g[r]&&!g[r].loaded&&!u){u=true;I(r,"IFrame has not responded within "+g[r].warningTimeout/1e3+" seconds. Check iFrameResizer.contentWindow.js has been loaded in iFrame. This message can be ignored if everything is working, or you can set the warningTimeout option to a higher value or zero to suppress this warning.")}}if(!!o&&g[r]&&!!g[r].warningTimeout){g[r].msgTimeout=setTimeout(e,g[r].warningTimeout)}}var u=false;r=r||n.id;if(g[r]){s();f()}}function H(e){return e+":"+g[e].bodyMarginV1+":"+g[e].sizeWidth+":"+g[e].log+":"+g[e].interval+":"+g[e].enablePublicMethods+":"+g[e].autoResize+":"+g[e].bodyMargin+":"+g[e].heightCalculationMethod+":"+g[e].bodyBackground+":"+g[e].bodyPadding+":"+g[e].tolerance+":"+g[e].inPageLinks+":"+g[e].resizeFrom+":"+g[e].widthCalculationMethod+":"+g[e].mouseEvents}function j(e){return typeof e==="number"}function D(e,o){function i(){function t(t){var n=g[E][t];if(Infinity!==n&&0!==n){e.style[t]=j(n)?n+"px":n;k(E,"Set "+t+" = "+e.style[t])}}function n(e){if(g[E]["min"+e]>g[E]["max"+e]){throw new Error("Value for min"+e+" can not be greater than max"+e)}}n("Height");n("Width");t("maxHeight");t("minHeight");t("maxWidth");t("minWidth")}function a(){var e=o&&o.id||m.id+n++;if(null!==document.getElementById(e)){e+=n++}return e}function l(t){if(""===t){e.id=t=a();r=(o||{}).log;k(t,"Added missing iframe ID: "+t+" ("+e.src+")")}return t}function s(){k(E,"IFrame scrolling "+(g[E]&&g[E].scrolling?"enabled":"disabled")+" for "+E);e.style.overflow=false===(g[E]&&g[E].scrolling)?"hidden":"auto";switch(g[E]&&g[E].scrolling){case"omit":break;case true:e.scrolling="yes";break;case false:e.scrolling="no";break;default:e.scrolling=g[E]?g[E].scrolling:"no"}}function f(){if("number"===typeof(g[E]&&g[E].bodyMargin)||"0"===(g[E]&&g[E].bodyMargin)){g[E].bodyMarginV1=g[E].bodyMargin;g[E].bodyMargin=""+g[E].bodyMargin+"px"}}function u(){var t=g[E]&&g[E].firstRun,n=g[E]&&g[E].heightCalculationMethod in d;if(!t&&n){F({iframe:e,height:0,width:0,type:"init"})}}function c(){if(g[E]){g[E].iframe.iFrameResizer={close:R.bind(null,g[E].iframe),removeListeners:S.bind(null,g[E].iframe),resize:P.bind(null,"Window resize","resize",g[E].iframe),moveToAnchor:function(e){P("Move to anchor","moveToAnchor:"+e,g[E].iframe,E)},sendMessage:function(e){e=JSON.stringify(e);P("Send Message","message:"+e,g[E].iframe,E)}}}}function p(n){function r(){P("iFrame.onload",n,e,t,true);u()}function o(t){if(!e.parentNode){return}var n=new t((function(t){t.forEach((function(t){var n=Array.prototype.slice.call(t.removedNodes);n.forEach((function(t){if(t===e){R(e)}}))}))}));n.observe(e.parentNode,{childList:true})}var i=b();if(i){o(i)}h(e,"load",r);P("init",n,e,t,true)}function x(e){if("object"!==typeof e){throw new TypeError("Options is not an object")}}function w(e){for(var t in m){if(Object.prototype.hasOwnProperty.call(m,t)){g[E][t]=Object.prototype.hasOwnProperty.call(e,t)?e[t]:m[t]}}}function v(e){return""===e||null!==e.match(/^(about:blank|javascript:|file:\/\/)/)?"*":e}function y(e){var t=e.split("Callback");if(t.length===2){var n="on"+t[0].charAt(0).toUpperCase()+t[0].slice(1);this[n]=this[e];delete this[e];I(E,"Deprecated: '"+e+"' has been renamed '"+n+"'. The old method will be removed in the next major version.")}}function T(t){t=t||{};g[E]={firstRun:true,iframe:e,remoteHost:e.src&&e.src.split("/").slice(0,3).join("/")};x(t);Object.keys(t).forEach(y,t);w(t);if(g[E]){g[E].targetOrigin=true===g[E].checkOrigin?v(g[E].remoteHost):"*"}}function N(){return E in g&&"iFrameResizer"in e}var E=l(e.id);if(!N()){T(o);s();i();f();p(H(E));c()}else{I(E,"Ignored iFrame, already setup.")}}function W(e,t){if(null===c){c=setTimeout((function(){c=null;e()}),t)}}var U={};function B(e,t,n){if(!U[n]){U[n]=setTimeout((function(){U[n]=null;e()}),t)}}function X(){function e(){function e(e){function t(t){return"0px"===(g[e]&&g[e].iframe.style[t])}function n(e){return null!==e.offsetParent}if(g[e]&&n(g[e].iframe)&&(t("height")||t("width"))){P("Visibility change","resize",g[e].iframe,e)}}Object.keys(g).forEach((function(t){e(t)}))}function t(t){k("window","Mutation observed: "+t[0].target+" "+t[0].type);W(e,16)}function n(){var e=document.querySelector("body"),n={attributes:true,attributeOldValue:false,characterData:true,characterDataOldValue:false,childList:true,subtree:true},o=new r(t);o.observe(e,n)}var r=b();if(r){n()}}function V(e){function t(){Y("Window "+e,"resize")}k("window","Trigger event: "+e);W(t,16)}function J(){function e(){Y("Tab Visable","resize")}if("hidden"!==document.visibilityState){k("document","Trigger event: Visiblity change");W(e,16)}}function Y(e,t){function n(e){return g[e]&&"parent"===g[e].resizeFrom&&g[e].autoResize&&!g[e].firstRun}Object.keys(g).forEach((function(r){if(n(r)){P(e,t,g[r].iframe,r)}}))}function q(){h(window,"message",E);h(window,"resize",(function(){V("resize")}));h(document,"visibilitychange",J);h(document,"-webkit-visibilitychange",J)}function G(){function e(e,t){function n(){if(!t.tagName){throw new TypeError("Object is not a valid DOM element")}else if("IFRAME"!==t.tagName.toUpperCase()){throw new TypeError("Expected <IFRAME> tag, found <"+t.tagName+">")}}if(t){n();D(t,e);r.push(t)}}function n(e){if(e&&e.enablePublicMethods){I("enablePublicMethods option has been removed, public methods are now always available in the iFrame")}}var r;x();q();return function o(i,a){r=[];n(i);switch(typeof a){case"undefined":case"string":Array.prototype.forEach.call(document.querySelectorAll(a||"iframe"),e.bind(t,i));break;case"object":e(i,a);break;default:throw new TypeError("Unexpected data type ("+typeof a+")")}return r}}function $(e){if(!e.fn){T("","Unable to bind to jQuery, it is not fully loaded.")}else if(!e.fn.iFrameResize){e.fn.iFrameResize=function e(t){function n(e,n){D(n,t)}return this.filter("iframe").each(n).end()}}}if(window.jQuery){$(window.jQuery)}if(typeof t==="function"&&t.amd){t([],G)}else{e.exports=G()}window.iFrameResize=window.iFrameResize||G()})()}));var X=u((function(e){(function(t){if(typeof window==="undefined")return;var n=true,r=10,o="",i=0,a="",l=null,s="",f=false,u={resize:1,click:1},d=128,g=true,c=1,m="bodyOffset",b=m,h=true,p="",x={},w=32,v=null,y=false,k=false,T="[iFrameSizer]",I=T.length,N="",E={max:1,min:1,bodyScroll:1,documentElementScroll:1},O="child",S=window.parent,R="*",C=0,M=false,z=null,F=16,A=1,L="scroll",P=L,H=window,j=function(){Q("onMessage function not defined")},D=function(){},W=function(){},U={height:function(){Q("Custom height calculation function not defined");return document.documentElement.offsetHeight},width:function(){Q("Custom width calculation function not defined");return document.body.scrollWidth}},B={},X=false;function V(){}try{var J=Object.create({},{passive:{get:function(){X=true}}});window.addEventListener("test",V,J);window.removeEventListener("test",V,J)}catch(e){}function Y(e,t,n,r){e.addEventListener(t,n,X?r||{}:false)}function q(e,t,n){e.removeEventListener(t,n,false)}function G(e){return e.charAt(0).toUpperCase()+e.slice(1)}function $(e){var t,n,r,o=null,i=0,a=function(){i=Date.now();o=null;r=e.apply(t,n);if(!o){t=n=null}};return function(){var l=Date.now();if(!i){i=l}var s=F-(l-i);t=this;n=arguments;if(s<=0||s>F){if(o){clearTimeout(o);o=null}i=l;r=e.apply(t,n);if(!o){t=n=null}}else if(!o){o=setTimeout(a,s)}return r}}function K(e){return T+"["+N+"] "+e}function Z(e){if(y&&"object"===typeof window.console){console.log(K(e))}}function Q(e){if("object"===typeof window.console){console.warn(K(e))}}function _(){ee();Z("Initialising iFrame ("+window.location.href+")");ne();ie();oe("background",o);oe("padding",s);be();ue();de();ae();xe();pe();ge();x=he();ze("init","Init message from host page");D()}function ee(){function e(e){return"true"===e}var r=p.substr(I).split(":");N=r[0];i=t!==r[1]?Number(r[1]):i;f=t!==r[2]?e(r[2]):f;y=t!==r[3]?e(r[3]):y;w=t!==r[4]?Number(r[4]):w;n=t!==r[6]?e(r[6]):n;a=r[7];b=t!==r[8]?r[8]:b;o=r[9];s=r[10];C=t!==r[11]?Number(r[11]):C;x.enable=t!==r[12]?e(r[12]):false;O=t!==r[13]?r[13]:O;P=t!==r[14]?r[14]:P;k=t!==r[15]?Boolean(r[15]):k}function te(e){var t=e.split("Callback");if(t.length===2){var n="on"+t[0].charAt(0).toUpperCase()+t[0].slice(1);this[n]=this[e];delete this[e];Q("Deprecated: '"+e+"' has been renamed '"+n+"'. The old method will be removed in the next major version.")}}function ne(){function e(){var e=window.iFrameResizer;Z("Reading data from page: "+JSON.stringify(e));Object.keys(e).forEach(te,e);j="onMessage"in e?e.onMessage:j;D="onReady"in e?e.onReady:D;R="targetOrigin"in e?e.targetOrigin:R;b="heightCalculationMethod"in e?e.heightCalculationMethod:b;P="widthCalculationMethod"in e?e.widthCalculationMethod:P}function t(e,t){if("function"===typeof e){Z("Setup custom "+t+"CalcMethod");U[t]=e;e="custom"}return e}if("iFrameResizer"in window&&Object===window.iFrameResizer.constructor){e();b=t(b,"height");P=t(P,"width")}Z("TargetOrigin for parent set to: "+R)}function re(e,t){if(-1!==t.indexOf("-")){Q("Negative CSS value ignored for "+e);t=""}return t}function oe(e,n){if(t!==n&&""!==n&&"null"!==n){document.body.style[e]=n;Z("Body "+e+' set to "'+n+'"')}}function ie(){if(t===a){a=i+"px"}oe("margin",re("margin",a))}function ae(){document.documentElement.style.height="";document.body.style.height="";Z('HTML & body height set to "auto"')}function le(e){var t={add:function(t){function n(){ze(e.eventName,e.eventType)}B[t]=n;Y(window,t,n,{passive:true})},remove:function(e){var t=B[e];delete B[e];q(window,e,t)}};if(e.eventNames&&Array.prototype.map){e.eventName=e.eventNames[0];e.eventNames.map(t[e.method])}else{t[e.method](e.eventName)}Z(G(e.method)+" event listener: "+e.eventType)}function se(e){le({method:e,eventType:"Animation Start",eventNames:["animationstart","webkitAnimationStart"]});le({method:e,eventType:"Animation Iteration",eventNames:["animationiteration","webkitAnimationIteration"]});le({method:e,eventType:"Animation End",eventNames:["animationend","webkitAnimationEnd"]});le({method:e,eventType:"Input",eventName:"input"});le({method:e,eventType:"Mouse Up",eventName:"mouseup"});le({method:e,eventType:"Mouse Down",eventName:"mousedown"});le({method:e,eventType:"Orientation Change",eventName:"orientationchange"});le({method:e,eventType:"Print",eventName:["afterprint","beforeprint"]});le({method:e,eventType:"Ready State Change",eventName:"readystatechange"});le({method:e,eventType:"Touch Start",eventName:"touchstart"});le({method:e,eventType:"Touch End",eventName:"touchend"});le({method:e,eventType:"Touch Cancel",eventName:"touchcancel"});le({method:e,eventType:"Transition Start",eventNames:["transitionstart","webkitTransitionStart","MSTransitionStart","oTransitionStart","otransitionstart"]});le({method:e,eventType:"Transition Iteration",eventNames:["transitioniteration","webkitTransitionIteration","MSTransitionIteration","oTransitionIteration","otransitioniteration"]});le({method:e,eventType:"Transition End",eventNames:["transitionend","webkitTransitionEnd","MSTransitionEnd","oTransitionEnd","otransitionend"]});if("child"===O){le({method:e,eventType:"IFrame Resized",eventName:"resize"})}}function fe(e,t,n,r){if(t!==e){if(!(e in n)){Q(e+" is not a valid option for "+r+"CalculationMethod.");e=t}Z(r+' calculation method set to "'+e+'"')}return e}function ue(){b=fe(b,m,Se,"height")}function de(){P=fe(P,L,Re,"width")}function ge(){if(true===n){se("add");ye()}else{Z("Auto Resize disabled")}}function ce(){if(null!==l){l.disconnect()}}function me(){se("remove");ce();clearInterval(v)}function be(){var e=document.createElement("div");e.style.clear="both";e.style.display="block";e.style.height="0";document.body.appendChild(e)}function he(){function e(){return{x:window.pageXOffset!==t?window.pageXOffset:document.documentElement.scrollLeft,y:window.pageYOffset!==t?window.pageYOffset:document.documentElement.scrollTop}}function n(t){var n=t.getBoundingClientRect(),r=e();return{x:parseInt(n.left,10)+parseInt(r.x,10),y:parseInt(n.top,10)+parseInt(r.y,10)}}function r(e){function r(e){var t=n(e);Z("Moving to in page link (#"+o+") at x: "+t.x+" y: "+t.y);Pe(t.y,t.x,"scrollToOffset")}var o=e.split("#")[1]||e,i=decodeURIComponent(o),a=document.getElementById(i)||document.getElementsByName(i)[0];if(t!==a){r(a)}else{Z("In page link (#"+o+") not found in iFrame, so sending to parent");Pe(0,0,"inPageLink","#"+o)}}function o(){var e=window.location.hash;var t=window.location.href;if(""!==e&&"#"!==e){r(t)}}function i(){function e(e){function t(e){e.preventDefault();r(this.getAttribute("href"))}if("#"!==e.getAttribute("href")){Y(e,"click",t)}}Array.prototype.forEach.call(document.querySelectorAll('a[href^="#"]'),e)}function a(){Y(window,"hashchange",o)}function l(){setTimeout(o,d)}function s(){if(Array.prototype.forEach&&document.querySelectorAll){Z("Setting up location.hash handlers");i();a();l()}else{Q("In page linking not fully supported in this browser! (See README.md for IE8 workaround)")}}if(x.enable){s()}else{Z("In page linking not enabled")}return{findTarget:r}}function pe(){if(k!==true)return;function e(e){Pe(0,0,e.type,e.screenY+":"+e.screenX)}function t(t,n){Z("Add event listener: "+n);Y(window.document,t,e)}t("mouseenter","Mouse Enter");t("mouseleave","Mouse Leave")}function xe(){Z("Enable public methods");H.parentIFrame={autoResize:function e(t){if(true===t&&false===n){n=true;ge()}else if(false===t&&true===n){n=false;me()}Pe(0,0,"autoResize",JSON.stringify(n));return n},close:function e(){Pe(0,0,"close")},getId:function e(){return N},getPageInfo:function e(t){if("function"===typeof t){W=t;Pe(0,0,"pageInfo")}else{W=function(){};Pe(0,0,"pageInfoStop")}},moveToAnchor:function e(t){x.findTarget(t)},reset:function e(){Le("parentIFrame.reset")},scrollTo:function e(t,n){Pe(n,t,"scrollTo")},scrollToOffset:function e(t,n){Pe(n,t,"scrollToOffset")},sendMessage:function e(t,n){Pe(0,0,"message",JSON.stringify(t),n)},setHeightCalculationMethod:function e(t){b=t;ue()},setWidthCalculationMethod:function e(t){P=t;de()},setTargetOrigin:function e(t){Z("Set targetOrigin: "+t);R=t},size:function e(t,n){var r=""+(t||"")+(n?","+n:"");ze("size","parentIFrame.size("+r+")",t,n)}}}function we(){if(0!==w){Z("setInterval: "+w+"ms");v=setInterval((function(){ze("interval","setInterval: "+w)}),Math.abs(w))}}function ve(){function e(e){function t(e){if(false===e.complete){Z("Attach listeners to "+e.src);e.addEventListener("load",o,false);e.addEventListener("error",i,false);s.push(e)}}if(e.type==="attributes"&&e.attributeName==="src"){t(e.target)}else if(e.type==="childList"){Array.prototype.forEach.call(e.target.querySelectorAll("img"),t)}}function t(e){s.splice(s.indexOf(e),1)}function n(e){Z("Remove listeners from "+e.src);e.removeEventListener("load",o,false);e.removeEventListener("error",i,false);t(e)}function r(e,t,r){n(e.target);ze(t,r+": "+e.target.src)}function o(e){r(e,"imageLoad","Image loaded")}function i(e){r(e,"imageLoadFailed","Image load failed")}function a(t){ze("mutationObserver","mutationObserver: "+t[0].target+" "+t[0].type);t.forEach(e)}function l(){var e=document.querySelector("body"),t={attributes:true,attributeOldValue:false,characterData:true,characterDataOldValue:false,childList:true,subtree:true};u=new f(a);Z("Create body MutationObserver");u.observe(e,t);return u}var s=[],f=window.MutationObserver||window.WebKitMutationObserver,u=l();return{disconnect:function(){if("disconnect"in u){Z("Disconnect body MutationObserver");u.disconnect();s.forEach(n)}}}}function ye(){var e=0>w;if(window.MutationObserver||window.WebKitMutationObserver){if(e){we()}else{l=ve()}}else{Z("MutationObserver not supported in this browser!");we()}}function ke(e,t){var n=0;t=t||document.body;n=document.defaultView.getComputedStyle(t,null);n=null!==n?n[e]:0;return parseInt(n,r)}function Te(e){if(e>F/2){F=2*e;Z("Event throttle increased to "+F+"ms")}}function Ie(e,t){var n=t.length,r=0,o=0,i=G(e),a=Date.now();for(var l=0;l<n;l++){r=t[l].getBoundingClientRect()[e]+ke("margin"+i,t[l]);if(r>o){o=r}}a=Date.now()-a;Z("Parsed "+n+" HTML elements");Z("Element position calculated in "+a+"ms");Te(a);return o}function Ne(e){return[e.bodyOffset(),e.bodyScroll(),e.documentElementOffset(),e.documentElementScroll()]}function Ee(e,t){function n(){Q("No tagged elements ("+t+") found on page");return document.querySelectorAll("body *")}var r=document.querySelectorAll("["+t+"]");if(r.length===0)n();return Ie(e,r)}function Oe(){return document.querySelectorAll("body *")}var Se={bodyOffset:function e(){return document.body.offsetHeight+ke("marginTop")+ke("marginBottom")},offset:function(){return Se.bodyOffset()},bodyScroll:function e(){return document.body.scrollHeight},custom:function e(){return U.height()},documentElementOffset:function e(){return document.documentElement.offsetHeight},documentElementScroll:function e(){return document.documentElement.scrollHeight},max:function e(){return Math.max.apply(null,Ne(Se))},min:function e(){return Math.min.apply(null,Ne(Se))},grow:function e(){return Se.max()},lowestElement:function e(){return Math.max(Se.bodyOffset()||Se.documentElementOffset(),Ie("bottom",Oe()))},taggedElement:function e(){return Ee("bottom","data-iframe-height")}},Re={bodyScroll:function e(){return document.body.scrollWidth},bodyOffset:function e(){return document.body.offsetWidth},custom:function e(){return U.width()},documentElementScroll:function e(){return document.documentElement.scrollWidth},documentElementOffset:function e(){return document.documentElement.offsetWidth},scroll:function e(){return Math.max(Re.bodyScroll(),Re.documentElementScroll())},max:function e(){return Math.max.apply(null,Ne(Re))},min:function e(){return Math.min.apply(null,Ne(Re))},rightMostElement:function e(){return Ie("right",Oe())},taggedElement:function e(){return Ee("right","data-iframe-width")}};function Ce(e,n,r,o){function i(){c=g;A=m;Pe(c,A,e)}function a(){function e(e,t){var n=Math.abs(e-t)<=C;return!n}g=t!==r?r:Se[b]();m=t!==o?o:Re[P]();return e(c,g)||f&&e(A,m)}function l(){return!(e in{init:1,interval:1,size:1})}function s(){return b in E||f&&P in E}function u(){Z("No change in size detected")}function d(){if(l()&&s()){Le(n)}else if(!(e in{interval:1})){u()}}var g,m;if(a()||"init"===e){Fe();i()}else{d()}}var Me=$(Ce);function ze(e,t,n,r){function o(){if(!(e in{reset:1,resetPage:1,init:1})){Z("Trigger event: "+t)}}function i(){return M&&e in u}if(!i()){o();if(e==="init"){Ce(e,t,n,r)}else{Me(e,t,n,r)}}else{Z("Trigger event cancelled: "+e)}}function Fe(){if(!M){M=true;Z("Trigger event lock on")}clearTimeout(z);z=setTimeout((function(){M=false;Z("Trigger event lock off");Z("--")}),d)}function Ae(e){c=Se[b]();A=Re[P]();Pe(c,A,e)}function Le(e){var t=b;b=m;Z("Reset trigger event: "+e);Fe();Ae("reset");b=t}function Pe(e,n,r,o,i){function a(){if(t===i){i=R}else{Z("Message targetOrigin: "+i)}}function l(){var a=e+":"+n,l=N+":"+a+":"+r+(t!==o?":"+o:"");Z("Sending message to host page ("+l+")");S.postMessage(T+l,i)}{a();l()}}function He(t){var n={init:function e(){p=t.data;S=t.source;_();g=false;setTimeout((function(){h=false}),d)},reset:function e(){if(!h){Z("Page size reset by host page");Ae("resetPage")}else{Z("Page reset ignored by init")}},resize:function e(){ze("resizeParent","Parent window requested size check")},moveToAnchor:function e(){x.findTarget(i())},inPageLink:function e(){this.moveToAnchor()},pageInfo:function e(){var t=i();Z("PageInfoFromParent called from parent: "+t);W(JSON.parse(t));Z(" --")},message:function e(){var t=i();Z("onMessage called from parent: "+t);j(JSON.parse(t));Z(" --")}};function r(){return T===(""+t.data).substr(0,I)}function o(){return t.data.split("]")[1].split(":")[0]}function i(){return t.data.substr(t.data.indexOf(":")+1)}function a(){return!e.exports&&"iFrameResize"in window||"jQuery"in window&&"iFrameResize"in window.jQuery.prototype}function l(){return t.data.split(":")[2]in{true:1,false:1}}function s(){var e=o();if(e in n){n[e]()}else if(!a()&&!l()){Q("Unexpected message ("+t.data+")")}}function f(){if(false===g){s()}else if(l()){n.init()}else{Z('Ignored message of type "'+o()+'". Received before initialization.')}}if(r()){f()}}function je(){if("loading"!==document.readyState){window.parent.postMessage("[iFrameResizerChild]Ready","*")}}Y(window,"message",He);Y(window,"readystatechange",je);je()})()}));var V=B;var J=B;var Y=X;var q={iframeResize:V,iframeResizer:J,iframeResizerContentWindow:Y};var G=q;const $=t=>t.items.slice(1,-1).map((n=>e("li",{key:n.url},e("a",{href:n.url,class:"nav-link",tabindex:t.focusable===false?"-1":undefined},e("span",null,n.text)),t.icons?e(s,{name:"pi-arrow-down",classNames:"rotate-270"}):null)));const K=t=>e("div",{class:"middle-dropdown-container"},e("button",{class:"middle-dropdown-button btn btn-blank",type:"button",onClick:e=>t.clickHandler(e),tabindex:t.focusable===false?"-1":undefined},e("span",{class:"visually-hidden"},g("Open menu")),e("span",{"aria-hidden":"true"},"...")),e(s,{name:"pi-arrow-down",classNames:"rotate-270"}),t.dropdownOpen?e("nav",{class:"middle-dropdown"},e("ul",{class:"no-list"},e($,{items:t.items,icons:false,focusable:t.focusable}))):null);const Z=t=>{var n;const r=t.items[0];const o=t.items[t.items.length-1];return e("ol",{class:"no-list breadcrumbs-list"},e("li",null,e("a",{class:"home-link nav-link",href:r.url,tabindex:t.focusable===false?"-1":undefined},e("span",{class:"visually-hidden"},r.text),e(s,{name:"pi-home"})),e(s,{name:"pi-arrow-down",classNames:"rotate-270"})),t.isConcatenated?e("li",null,e(K,{items:t.items,dropdownOpen:(n=t.dropdownOpen)!==null&&n!==void 0?n:false,clickHandler:e=>t.clickHandler(e),focusable:t.focusable})):e($,{items:t.items,icons:true,focusable:t.focusable}),e("li",null,e("a",{class:"last-link nav-link",href:o.url,tabindex:t.focusable===false?"-1":undefined,ref:e=>t.lastItemRef!==undefined?t.lastItemRef(e):null},o.text)))};const Q='/*!\n * Bootstrap Utilities v5.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n\n * The MIT License (MIT)\n\n * Copyright (c) 2011-2020 Twitter, Inc.\n * Copyright (c) 2011-2020 The Bootstrap Authors\n\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the "Software"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */.btn-close{-webkit-box-sizing:content-box;box-sizing:content-box;width:1.5rem;height:1.5rem;padding:1rem 1rem;color:#000;background:transparent 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=\'M16.267 16.667l6.667-6.533-0.933-1.067-6.667 6.667-6.667-6.667-0.933 1.067 6.667 6.533-6.667 6.667 1.067 0.933 6.533-6.667 6.667 6.667 0.933-1.067z\'%3E%3C/path%3E%3C/svg%3E") center/1.5rem auto no-repeat;border:0;border-radius:3px;opacity:0.5}.btn-close:hover{color:#000;text-decoration:none;opacity:0.75}.btn-close:focus{outline:0;-webkit-box-shadow:0 0 0 0.125rem rgba(51, 51, 51, 0.25);box-shadow:0 0 0 0.125rem rgba(51, 51, 51, 0.25);opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:0.25}.btn-close-white{-webkit-filter:invert(1) grayscale(100%) brightness(200%);filter:invert(1) grayscale(100%) brightness(200%)}.btn-close{height:unset;min-height:1.5rem}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.btn-close{opacity:1;background:transparent 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=\'%23ffffff\' d=\'M16.267 16.667l6.667-6.533-0.933-1.067-6.667 6.667-6.667-6.667-0.933 1.067 6.667 6.533-6.667 6.667 1.067 0.933 6.533-6.667 6.667 6.667 0.933-1.067z\'%3E%3C/path%3E%3C/svg%3E") center/1.5rem auto no-repeat}}.btn-close:focus{outline:2px solid var(--post-contrast-color);-webkit-box-shadow:none;box-shadow:none}.btn-close:focus:not(:focus-visible){outline:0}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.btn-close-white{-webkit-filter:none;filter:none}}.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}.row{--bs-gutter-x:30px;--bs-gutter-y:0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-0.5 * var(--bs-gutter-x));margin-left:calc(-0.5 * var(--bs-gutter-x))}.row>*{-ms-flex-negative:0;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * 0.5);padding-left:calc(var(--bs-gutter-x) * 0.5);margin-top:var(--bs-gutter-y)}.col{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width: 400px){.col-sm{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-sm-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-sm-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-sm-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-sm-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-sm-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-sm-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width: 600px){.col-rg{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-rg-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-rg-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-rg-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-rg-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-rg-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-rg-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-rg-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-rg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-rg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-rg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-rg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-rg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-rg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-rg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-rg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-rg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-rg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-rg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-rg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-rg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-rg-0{margin-left:0}.offset-rg-1{margin-left:8.33333333%}.offset-rg-2{margin-left:16.66666667%}.offset-rg-3{margin-left:25%}.offset-rg-4{margin-left:33.33333333%}.offset-rg-5{margin-left:41.66666667%}.offset-rg-6{margin-left:50%}.offset-rg-7{margin-left:58.33333333%}.offset-rg-8{margin-left:66.66666667%}.offset-rg-9{margin-left:75%}.offset-rg-10{margin-left:83.33333333%}.offset-rg-11{margin-left:91.66666667%}.g-rg-0,.gx-rg-0{--bs-gutter-x:0}.g-rg-0,.gy-rg-0{--bs-gutter-y:0}.g-rg-1,.gx-rg-1{--bs-gutter-x:0.25rem}.g-rg-1,.gy-rg-1{--bs-gutter-y:0.25rem}.g-rg-2,.gx-rg-2{--bs-gutter-x:0.5rem}.g-rg-2,.gy-rg-2{--bs-gutter-y:0.5rem}.g-rg-3,.gx-rg-3{--bs-gutter-x:1rem}.g-rg-3,.gy-rg-3{--bs-gutter-y:1rem}.g-rg-4,.gx-rg-4{--bs-gutter-x:1.5rem}.g-rg-4,.gy-rg-4{--bs-gutter-y:1.5rem}.g-rg-5,.gx-rg-5{--bs-gutter-x:3rem}.g-rg-5,.gy-rg-5{--bs-gutter-y:3rem}}@media (min-width: 780px){.col-md{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-md-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-md-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-md-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-md-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-md-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-md-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width: 1024px){.col-lg{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-lg-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-lg-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-lg-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-lg-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-lg-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-lg-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width: 1280px){.col-xl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xl-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xl-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xl-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xl-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xl-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xl-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width: 1441px){.col-xxl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xxl-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xxl-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xxl-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xxl-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xxl-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xxl-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xxl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-xxl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xxl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xxl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-xxl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-xxl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xxl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-xxl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-xxl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xxl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-xxl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-xxl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.container,.container-fluid,.container-xs{width:100%;padding-right:var(--bs-gutter-x, 15px);padding-left:var(--bs-gutter-x, 15px);margin-right:auto;margin-left:auto}.container{max-width:1440px}.vertical-gutters{margin-bottom:-30px}.vertical-gutters>.col,.vertical-gutters>[class*=col-]{padding-bottom:30px}.row.border-gutters{margin-right:-1px;margin-bottom:-1px;margin-left:0}.row.border-gutters>.col,.row.border-gutters>[class*=col-]{padding-right:1px;padding-bottom:1px;padding-left:0}.container{padding-right:12px;padding-left:12px}.container-reset{margin-right:-12px;margin-left:-12px}.container-reset-left{margin-left:-12px}.container-reset-right{margin-right:-12px}@media (max-width: 399.98px){.container-fluid-xs{padding-right:1rem;padding-left:1rem}}@media (min-width: 400px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 400px){.container-reset{margin-right:-16px;margin-left:-16px}}@media (min-width: 400px){.container-reset-left{margin-left:-16px}}@media (min-width: 400px){.container-reset-right{margin-right:-16px}}@media (min-width: 400px) and (max-width: 599.98px){.container-fluid-sm{padding-right:1rem;padding-left:1rem}}@media (min-width: 600px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 600px){.container-reset{margin-right:-32px;margin-left:-32px}}@media (min-width: 600px){.container-reset-left{margin-left:-32px}}@media (min-width: 600px){.container-reset-right{margin-right:-32px}}@media (min-width: 600px) and (max-width: 779.98px){.container-fluid-rg{padding-right:1rem;padding-left:1rem}}@media (min-width: 780px) and (max-width: 1023.98px){.container-fluid-md{padding-right:1rem;padding-left:1rem}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}@media (min-width: 1024px){.container-reset{margin-right:-40px;margin-left:-40px}}@media (min-width: 1024px){.container-reset-left{margin-left:-40px}}@media (min-width: 1024px){.container-reset-right{margin-right:-40px}}@media (min-width: 1024px) and (max-width: 1279.98px){.container-fluid-lg{padding-right:1rem;padding-left:1rem}}@media (min-width: 1280px){.container{padding-right:128px;padding-left:128px}}@media (min-width: 1280px){.container-reset{margin-right:-128px;margin-left:-128px}}@media (min-width: 1280px){.container-reset-left{margin-left:-128px}}@media (min-width: 1280px){.container-reset-right{margin-right:-128px}}@media (min-width: 1280px) and (max-width: 1440.98px){.container-fluid-xl{padding-right:1rem;padding-left:1rem}}@media (min-width: 1441px){.container-fluid-xxl{padding-right:1rem;padding-left:1rem}}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:0.75rem;background-color:#cccccc;border-radius:3px}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#333333;-webkit-transition:width 0.6s ease;transition:width 0.6s ease}@media (prefers-reduced-motion: reduce){.progress-bar{-webkit-transition:none;transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-bg{position:absolute;z-index:990;top:0;left:0;width:100%;height:100%}.loading-modal{display:-ms-inline-flexbox;display:inline-flex;position:absolute;z-index:990;top:0;right:0;bottom:0;left:0}.loader{width:3.5rem;height:3.5rem;-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite;border:6px solid #fc0;border-radius:50%;border-right-color:transparent;border-bottom-color:#e6e6e6}.loader.loader-sm{width:2rem;height:2rem;border-width:0.25rem}.loader.loader-xs{width:0.75rem;height:0.75rem;border-width:2px}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.loader{border-color:Highlight;border-bottom-color:CanvasText;border-right-color:Canvas}@supports (forced-color-adjust: none){.loader{forced-color-adjust:none;border-right-color:transparent}}}@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}}.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;position:relative}.breadcrumbs{font-size:1rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;gap:1rem}@media (max-width: 599.98px){.breadcrumbs{font-size:0.875rem}}.breadcrumbs-nav{white-space:nowrap;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:1;flex-shrink:1;min-width:0}.breadcrumbs-list,.nav-link{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.breadcrumbs-list li{display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}.breadcrumbs-list li:last-child{-ms-flex-negative:2;flex-shrink:2;min-width:0;overflow:hidden;text-overflow:ellipsis}.breadcrumbs-list li:last-child a{border:2px solid transparent;outline-offset:0}.breadcrumbs-list svg{margin-left:0 !important;width:1.5em;height:1.5em;color:rgba(0, 0, 0, 0.6)}.breadcrumb-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;gap:1rem;-ms-flex-negative:0;flex-shrink:0}.breadcrumb-buttons .btn{cursor:pointer;gap:0.5rem;font-size:inherit}.breadcrumb-buttons .btn.btn-secondary>svg{width:1.5rem;height:1.5rem;margin:0}@media (min-width: 1024px){.breadcrumb-buttons .btn span{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible}}.nav-link{gap:0;color:rgba(0, 0, 0, 0.6);font-weight:400}.middle-dropdown-container{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.middle-dropdown{position:absolute;top:100%;left:0;background:white;border:1px solid #e6e6e6;padding:0.5rem 0;z-index:1}.middle-dropdown .nav-link{padding:0.5rem 1rem;-webkit-transition:color 200ms;transition:color 200ms}.middle-dropdown .nav-link:hover{background-color:#e6e6e6}.middle-dropdown-button{cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.25rem;font-size:inherit;color:inherit}.middle-dropdown-button span{margin:0}.middle-dropdown-button svg{margin:0;-ms-flex-negative:0;flex-shrink:0;width:1.4em;height:1.4em}.overlay{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.6);z-index:calc(var(--header-z-index, 10) + 1);opacity:0;visibility:hidden;-webkit-transition:opacity 500ms, visibility 0s 500ms;transition:opacity 500ms, visibility 0s 500ms}.overlay.open{visibility:visible;opacity:1;-webkit-transition:opacity 500ms, visibility 0s 0s;transition:opacity 500ms, visibility 0s 0s}.overlay-container{position:relative;background:white;-webkit-box-shadow:0 0 40px rgba(0, 0, 0, 0.6);box-shadow:0 0 40px rgba(0, 0, 0, 0.6);visibility:hidden;-webkit-transform:translateY(3rem);transform:translateY(3rem);opacity:0;-webkit-transition:opacity 500ms, -webkit-transform 500ms;transition:opacity 500ms, -webkit-transform 500ms;transition:transform 500ms, opacity 500ms;transition:transform 500ms, opacity 500ms, -webkit-transform 500ms}iframe{display:block;width:1px;min-width:100%;overflow:auto;max-height:80vh}.overlay-close{position:absolute;top:1rem;right:1rem;cursor:pointer;padding:0.5rem;color:rgba(0, 0, 0, 0.8)}.overlay-close:hover,.overlay-close:focus{color:black}.overlay-close.phone{color:white}.overlay-close.phone:hover,.overlay-close.phone:focus{color:rgba(255, 255, 255, 0.8)}@media (min-width: 600px){.overlay-close span{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible}}.loader-wrapper{position:absolute;display:grid;place-items:center;width:100%;height:100%;top:0;left:0}.loaded~.loader-wrapper{display:none}.hidden-control-breadcrumbs{position:absolute;top:100%;width:0;overflow:hidden;display:-ms-flexbox;display:flex;pointer-events:none}.hidden-control-breadcrumbs .breadcrumbs-nav{-ms-flex-negative:0;flex-shrink:0}.hidden-control-breadcrumbs .breadcrumbs-list li{-ms-flex-negative:0;flex-shrink:0}.visually-hidden{visibility:hidden}';const _=class{constructor(e){t(this,e);this.customItems=undefined;this.customBreadcrumbItems=undefined;this.overlayVisible=undefined;this.isConcatenated=undefined;this.dropdownOpen=false;this.refsReady=false}connectedCallback(){this.debouncedResize=o(200,this.handleResize.bind(this));window.addEventListener("resize",this.debouncedResize,{passive:true})}disconnectedCallback(){window.removeEventListener("resize",this.debouncedResize);window.removeEventListener("click",this.handleWindowClick);i()}async componentWillLoad(){try{this.customBreadcrumbItems=typeof this.customItems==="string"?JSON.parse(this.customItems):this.customItems}catch(e){console.error(e)}}componentDidLoad(){window.requestAnimationFrame((()=>{this.handleResize()}))}handleCustomConfigChage(e){try{this.customBreadcrumbItems=typeof e==="string"?JSON.parse(e):e}catch(e){console.error(e)}}handleResize(){if(window.innerWidth===this.lastWindowWidth){return}this.lastWindowWidth=window.innerWidth;this.checkConcatenation()}checkConcatenation(){if(this.controlNavRef&&this.visibleNavRef){this.refsReady=true;window.requestAnimationFrame((()=>{if(this.controlNavRef&&this.visibleNavRef){this.isConcatenated=this.controlNavRef.clientWidth>this.visibleNavRef.clientWidth}}))}}toggleOverlay(e,t){var n;const r=t!==null&&t!==void 0?t:!this.overlayVisible;if(r){this.overlayVisible=r;this.currentOverlay=e;this.setBodyScroll(e)}else{const t=(n=this.host.shadowRoot)===null||n===void 0?void 0:n.querySelector('.breadcrumb-buttons [aria-expanded="true"]');if(this.openAnimation&&this.loadedAnimation){this.openAnimation.reverse();this.loadedAnimation.reverse();Promise.all([this.openAnimation.finished,this.loadedAnimation.finished]).then((()=>{if(t){t.focus()}this.overlayVisible=r;this.setBodyScroll(e)}))}}}setBodyScroll(e){if(this.overlayVisible){a(e,{reserveScrollBarGap:true})}else{l(e)}}toggleDropdown(e){this.dropdownOpen=e!==null&&e!==void 0?e:!this.dropdownOpen;if(this.dropdownOpen){requestAnimationFrame((()=>{document.addEventListener("click",this.handleWindowClick.bind(this),{once:true})}))}}handleWindowClick(){this.toggleDropdown(false)}registerIFrameResizer(e){if(!e){return}e.addEventListener("load",(()=>{var t,n,r;G.iframeResizer({heightCalculationMethod:"taggedElement",scrolling:true,checkOrigin:false},e);const o=c?0:300;this.loadedAnimation=(t=e.parentElement)===null||t===void 0?void 0:t.animate([{opacity:1,visibility:"visible",transform:"translateY(0px)"}],{duration:o,fill:"forwards"});(n=e.parentElement)===null||n===void 0?void 0:n.classList.add("loaded");(r=this.loadedAnimation)===null||r===void 0?void 0:r.finished.then((()=>{var t;(t=e.parentElement)===null||t===void 0?void 0:t.focus()}))}))}overlayRef(e){if(!e){return}const t=c?0:500;this.openAnimation=e.animate([{opacity:1,visibility:"visible"}],{duration:t,fill:"forwards"})}handleKeyDown(e){if(e.key.toLowerCase()==="escape"){this.toggleOverlay(this.currentOverlay,false)}}handleToggleDropdown(){this.toggleDropdown()}handleToggleOverlay(){this.toggleOverlay(this.currentOverlay,false)}handleControlNavRef(e){this.controlNavRef=e;this.checkConcatenation()}handleVisibleNavRef(e){this.visibleNavRef=e;this.checkConcatenation()}render(){if(!f){console.warn(`Internet Breadcrumbs: Could not load config. Please make sure that you included the <swisspost-internet-header></swisspost-internet-header> component.`);return null}if(!f.localizedConfig){return null}if(!f.localizedConfig.breadcrumb){console.warn(`Internet Header: Current project "${f.projectId}" does not include a breadcrumb config. The breadcrumbs will not be rendered. Remove `,document.querySelector("swisspost-internet-breadcrumbs"),`from your markup or configure the breadcrumbs in your portal config to stop seeing this warning.`);return null}const t=f.localizedConfig.breadcrumb;const r=this.customBreadcrumbItems!==undefined?[...t.items,...this.customBreadcrumbItems]:t.items;return e(n,null,e(d,null),e("div",{class:"breadcrumbs"},e("div",{class:"hidden-control-breadcrumbs","aria-hidden":"true",tabindex:"-1"},e("nav",{class:"breadcrumbs-nav",ref:e=>e!==undefined&&this.handleControlNavRef(e)},e(Z,{items:r,focusable:false,clickHandler:()=>{}}))),e("h2",{class:"visually-hidden"},t.a11yLabel),e("nav",{ref:e=>e!==undefined&&this.handleVisibleNavRef(e),class:{"breadcrumbs-nav":true,"visually-hidden":!this.refsReady}},e(Z,{items:r,dropdownOpen:this.dropdownOpen,isConcatenated:this.isConcatenated,clickHandler:()=>this.handleToggleDropdown()})),e("div",{class:"breadcrumb-buttons"},t.buttons.map((t=>e("button",{class:"btn btn-secondary btn-icon",key:t.text,"aria-expanded":`${!!this.overlayVisible&&this.currentOverlay===t.overlay}`,onClick:()=>this.toggleOverlay(t.overlay,true)},e(s,{name:t.svgIcon.name}),e("span",{class:"visually-hidden"},t.text))))),this.overlayVisible&&e(U,{overlayRef:e=>e!==undefined&&this.overlayRef(e),iFrameRef:e=>e!==undefined&&this.registerIFrameResizer(e),overlay:this.currentOverlay,onClick:()=>this.handleToggleOverlay(),onKeyDown:e=>this.handleKeyDown(e),closeButtonText:f.localizedConfig.header.translations.closeButtonText})),e("slot",null))}get host(){return r(this)}static get watchers(){return{customItems:["handleCustomConfigChage"]}}};_.style=Q;export{_ as swisspost_internet_breadcrumbs};
6
+ //# sourceMappingURL=p-cfa787d7.entry.js.map