@swisspost/internet-header 1.10.0 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (512) hide show
  1. package/dist/cjs/{if.component-51d000af.js → if.component-2cd3c1ff.js} +1 -1
  2. package/dist/cjs/if.component-2cd3c1ff.js.map +1 -0
  3. package/dist/cjs/{index-87874f19.js → index-4bd0adf1.js} +197 -43
  4. package/dist/cjs/index-4bd0adf1.js.map +1 -0
  5. package/dist/cjs/index.cjs.js +36 -0
  6. package/dist/cjs/index.cjs.js.map +1 -1
  7. package/dist/cjs/{klp-widget.controller-7908f551.js → klp-widget.controller-59fd5d5e.js} +1 -1
  8. package/dist/cjs/{klp-widget.controller-7908f551.js.map → klp-widget.controller-59fd5d5e.js.map} +1 -1
  9. package/dist/cjs/{language.service-672abba5.js → language.service-dbe2a435.js} +11 -6
  10. package/dist/cjs/language.service-dbe2a435.js.map +1 -0
  11. package/dist/cjs/loader.cjs.js +3 -12
  12. package/dist/cjs/loader.cjs.js.map +1 -1
  13. package/dist/cjs/post-internet-breadcrumbs-09754c05.js +3616 -0
  14. package/dist/cjs/post-internet-breadcrumbs-09754c05.js.map +1 -0
  15. package/dist/cjs/post-internet-footer-b51276d8.js +161 -0
  16. package/dist/cjs/post-internet-footer-b51276d8.js.map +1 -0
  17. package/dist/cjs/post-internet-header-5962d752.js +828 -0
  18. package/dist/cjs/post-internet-header-5962d752.js.map +1 -0
  19. package/dist/cjs/post-klp-login-widget-d03de512.js +63 -0
  20. package/dist/cjs/post-klp-login-widget-d03de512.js.map +1 -0
  21. package/dist/cjs/post-klp-login-widget.cjs.entry.js +6 -40
  22. package/dist/cjs/post-klp-login-widget.cjs.entry.js.map +1 -1
  23. package/dist/cjs/post-language-switch-9cd31034.js +106 -0
  24. package/dist/cjs/post-language-switch-9cd31034.js.map +1 -0
  25. package/dist/cjs/post-language-switch.cjs.entry.js +8 -99
  26. package/dist/cjs/post-language-switch.cjs.entry.js.map +1 -1
  27. package/dist/cjs/post-logo-5867ad55.js +25 -0
  28. package/dist/cjs/post-logo-5867ad55.js.map +1 -0
  29. package/dist/cjs/post-logo.cjs.entry.js +4 -18
  30. package/dist/cjs/post-logo.cjs.entry.js.map +1 -1
  31. package/dist/cjs/post-main-navigation-ab81aac6.js +240 -0
  32. package/dist/cjs/post-main-navigation-ab81aac6.js.map +1 -0
  33. package/dist/cjs/post-main-navigation.cjs.entry.js +9 -233
  34. package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -1
  35. package/dist/cjs/post-meta-navigation-0b73779f.js +26 -0
  36. package/dist/cjs/post-meta-navigation-0b73779f.js.map +1 -0
  37. package/dist/cjs/post-meta-navigation.cjs.entry.js +4 -19
  38. package/dist/cjs/post-meta-navigation.cjs.entry.js.map +1 -1
  39. package/dist/cjs/post-search-2232c291.js +597 -0
  40. package/dist/cjs/post-search-2232c291.js.map +1 -0
  41. package/dist/cjs/post-search.cjs.entry.js +11 -570
  42. package/dist/cjs/post-search.cjs.entry.js.map +1 -1
  43. package/dist/cjs/post-skiplinks-3db1d214.js +52 -0
  44. package/dist/cjs/post-skiplinks-3db1d214.js.map +1 -0
  45. package/dist/cjs/post-skiplinks.cjs.entry.js +6 -45
  46. package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -1
  47. package/dist/cjs/{store-b99affc1.js → store-77668e50.js} +2 -2
  48. package/dist/cjs/store-77668e50.js.map +1 -0
  49. package/dist/cjs/{svg-icon.component-8e05af84.js → svg-icon.component-5965f301.js} +2 -2
  50. package/dist/cjs/svg-icon.component-5965f301.js.map +1 -0
  51. package/dist/cjs/{svg-sprite.component-f1866070.js → svg-sprite.component-4b5677ef.js} +2 -2
  52. package/dist/cjs/svg-sprite.component-4b5677ef.js.map +1 -0
  53. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +11 -3608
  54. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
  55. package/dist/cjs/swisspost-internet-footer.cjs.entry.js +6 -154
  56. package/dist/cjs/swisspost-internet-footer.cjs.entry.js.map +1 -1
  57. package/dist/cjs/swisspost-internet-header.cjs.entry.js +10 -823
  58. package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
  59. package/dist/cjs/swisspost-internet-header.cjs.js +3 -6
  60. package/dist/cjs/swisspost-internet-header.cjs.js.map +1 -1
  61. package/dist/cjs/{ui.service-e1ebb6d4.js → ui.service-488151be.js} +1 -1
  62. package/dist/cjs/ui.service-488151be.js.map +1 -0
  63. package/dist/cjs/{utils-60853c5d.js → utils-717975e0.js} +1 -1
  64. package/dist/cjs/utils-717975e0.js.map +1 -0
  65. package/dist/collection/assets/i18n/translations.js +5 -0
  66. package/dist/collection/assets/i18n/translations.js.map +1 -1
  67. package/dist/collection/collection-manifest.json +12 -12
  68. package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js +4 -4
  69. package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js +2 -2
  70. package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js +4 -4
  71. package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js +2 -2
  72. package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js +3 -3
  73. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.css +2 -2488
  74. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +38 -16
  75. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js.map +1 -1
  76. package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js +2 -2
  77. package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js +1 -1
  78. package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js +1 -1
  79. package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js +1 -1
  80. package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js +1 -1
  81. package/dist/collection/components/post-internet-footer/post-internet-footer.css +1 -2308
  82. package/dist/collection/components/post-internet-footer/post-internet-footer.js +8 -8
  83. package/dist/collection/components/post-internet-header/logo-animation/logo-animation.js +3 -3
  84. package/dist/collection/components/post-internet-header/post-internet-header.css +1 -403
  85. package/dist/collection/components/post-internet-header/post-internet-header.js +42 -18
  86. package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -1
  87. package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js +1 -1
  88. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.css +2 -1451
  89. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js +48 -7
  90. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js.map +1 -1
  91. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js +3 -3
  92. package/dist/collection/components/post-language-switch/post-language-switch.css +1 -370
  93. package/dist/collection/components/post-language-switch/post-language-switch.js +11 -9
  94. package/dist/collection/components/post-language-switch/post-language-switch.js.map +1 -1
  95. package/dist/collection/components/post-logo/post-logo.css +1 -265
  96. package/dist/collection/components/post-logo/post-logo.js +2 -2
  97. package/dist/collection/components/post-main-navigation/components/level-one-action.component.js +2 -2
  98. package/dist/collection/components/post-main-navigation/post-main-navigation.css +1 -641
  99. package/dist/collection/components/post-main-navigation/post-main-navigation.js +18 -13
  100. package/dist/collection/components/post-main-navigation/post-main-navigation.js.map +1 -1
  101. package/dist/collection/components/post-meta-navigation/post-meta-navigation.css +1 -345
  102. package/dist/collection/components/post-meta-navigation/post-meta-navigation.js +2 -2
  103. package/dist/collection/components/post-search/post-search.css +19 -2482
  104. package/dist/collection/components/post-search/post-search.js +42 -18
  105. package/dist/collection/components/post-search/post-search.js.map +1 -1
  106. package/dist/collection/components/post-skiplinks/post-skiplinks.css +1 -21
  107. package/dist/collection/components/post-skiplinks/post-skiplinks.js +4 -4
  108. package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +1 -1
  109. package/dist/collection/data/store.js +1 -1
  110. package/dist/collection/index.js +11 -1
  111. package/dist/collection/index.js.map +1 -1
  112. package/dist/collection/services/config.service.js +10 -10
  113. package/dist/collection/services/config.service.js.map +1 -1
  114. package/dist/collection/services/language.service.js +6 -6
  115. package/dist/collection/services/language.service.js.map +1 -1
  116. package/dist/collection/services/route.service.js +4 -4
  117. package/dist/collection/services/route.service.js.map +1 -1
  118. package/dist/collection/services/search/coveo.service.js +3 -3
  119. package/dist/collection/services/search/parcel.service.js +1 -1
  120. package/dist/collection/services/search/places.service.js +3 -3
  121. package/dist/collection/services/search/search.service.js +2 -2
  122. package/dist/collection/utils/highlighted.component.js +1 -1
  123. package/dist/collection/utils/svg-icon.component.js +1 -1
  124. package/dist/collection/utils/svg-sprite.component.js +1 -1
  125. package/dist/components/index.d.ts +6 -0
  126. package/dist/components/index.js +11 -1
  127. package/dist/components/index.js.map +1 -1
  128. package/dist/components/klp-widget.controller.js.map +1 -1
  129. package/dist/components/language.service.js +9 -4
  130. package/dist/components/language.service.js.map +1 -1
  131. package/dist/components/post-klp-login-widget2.js +19 -2
  132. package/dist/components/post-klp-login-widget2.js.map +1 -1
  133. package/dist/components/post-language-switch2.js +1 -1
  134. package/dist/components/post-language-switch2.js.map +1 -1
  135. package/dist/components/post-logo2.js +1 -1
  136. package/dist/components/post-logo2.js.map +1 -1
  137. package/dist/components/post-main-navigation2.js +1 -1
  138. package/dist/components/post-main-navigation2.js.map +1 -1
  139. package/dist/components/post-meta-navigation2.js +1 -1
  140. package/dist/components/post-meta-navigation2.js.map +1 -1
  141. package/dist/components/post-search2.js +22 -2
  142. package/dist/components/post-search2.js.map +1 -1
  143. package/dist/components/post-skiplinks2.js +1 -1
  144. package/dist/components/post-skiplinks2.js.map +1 -1
  145. package/dist/components/store.js.map +1 -1
  146. package/dist/components/svg-icon.component.js.map +1 -1
  147. package/dist/components/svg-sprite.component.js.map +1 -1
  148. package/dist/components/swisspost-internet-breadcrumbs.js +9 -5
  149. package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
  150. package/dist/components/swisspost-internet-footer.js +2 -2
  151. package/dist/components/swisspost-internet-footer.js.map +1 -1
  152. package/dist/components/swisspost-internet-header.js +39 -30
  153. package/dist/components/swisspost-internet-header.js.map +1 -1
  154. package/dist/components/ui.service.js.map +1 -1
  155. package/dist/components/utils.js.map +1 -1
  156. package/dist/docs.d.ts +334 -235
  157. package/dist/docs.json +478 -15
  158. package/dist/esm/{if.component-0fe54385.js → if.component-3a779aca.js} +1 -1
  159. package/dist/esm/if.component-3a779aca.js.map +1 -0
  160. package/dist/esm/{index-82f4f02c.js → index-2b83f5e9.js} +197 -43
  161. package/dist/esm/index-2b83f5e9.js.map +1 -0
  162. package/dist/esm/index.js +21 -1
  163. package/dist/esm/index.js.map +1 -1
  164. package/dist/esm/{klp-widget.controller-30d47ff4.js → klp-widget.controller-2a0a5183.js} +1 -1
  165. package/dist/esm/{klp-widget.controller-30d47ff4.js.map → klp-widget.controller-2a0a5183.js.map} +1 -1
  166. package/dist/esm/{language.service-4289815d.js → language.service-501b09a8.js} +11 -6
  167. package/dist/esm/language.service-501b09a8.js.map +1 -0
  168. package/dist/esm/loader.js +4 -13
  169. package/dist/esm/loader.js.map +1 -1
  170. package/dist/esm/post-internet-breadcrumbs-474f625e.js +3614 -0
  171. package/dist/esm/post-internet-breadcrumbs-474f625e.js.map +1 -0
  172. package/dist/esm/post-internet-footer-273b0d8d.js +159 -0
  173. package/dist/esm/post-internet-footer-273b0d8d.js.map +1 -0
  174. package/dist/esm/post-internet-header-a825bfd6.js +826 -0
  175. package/dist/esm/post-internet-header-a825bfd6.js.map +1 -0
  176. package/dist/esm/post-klp-login-widget-b1306336.js +61 -0
  177. package/dist/esm/post-klp-login-widget-b1306336.js.map +1 -0
  178. package/dist/esm/post-klp-login-widget.entry.js +5 -43
  179. package/dist/esm/post-klp-login-widget.entry.js.map +1 -1
  180. package/dist/esm/post-language-switch-fd570b9d.js +104 -0
  181. package/dist/esm/post-language-switch-fd570b9d.js.map +1 -0
  182. package/dist/esm/post-language-switch.entry.js +7 -102
  183. package/dist/esm/post-language-switch.entry.js.map +1 -1
  184. package/dist/esm/post-logo-cde3c44d.js +23 -0
  185. package/dist/esm/post-logo-cde3c44d.js.map +1 -0
  186. package/dist/esm/post-logo.entry.js +3 -21
  187. package/dist/esm/post-logo.entry.js.map +1 -1
  188. package/dist/esm/post-main-navigation-12eaef9f.js +238 -0
  189. package/dist/esm/post-main-navigation-12eaef9f.js.map +1 -0
  190. package/dist/esm/post-main-navigation.entry.js +8 -236
  191. package/dist/esm/post-main-navigation.entry.js.map +1 -1
  192. package/dist/esm/post-meta-navigation-09e9bdc8.js +24 -0
  193. package/dist/esm/post-meta-navigation-09e9bdc8.js.map +1 -0
  194. package/dist/esm/post-meta-navigation.entry.js +3 -22
  195. package/dist/esm/post-meta-navigation.entry.js.map +1 -1
  196. package/dist/esm/post-search-5c3a10ac.js +595 -0
  197. package/dist/esm/post-search-5c3a10ac.js.map +1 -0
  198. package/dist/esm/post-search.entry.js +10 -573
  199. package/dist/esm/post-search.entry.js.map +1 -1
  200. package/dist/esm/post-skiplinks-b3c32a77.js +50 -0
  201. package/dist/esm/post-skiplinks-b3c32a77.js.map +1 -0
  202. package/dist/esm/post-skiplinks.entry.js +5 -48
  203. package/dist/esm/post-skiplinks.entry.js.map +1 -1
  204. package/dist/esm/{store-44830922.js → store-80b19c12.js} +2 -2
  205. package/dist/esm/store-80b19c12.js.map +1 -0
  206. package/dist/esm/{svg-icon.component-f2fda279.js → svg-icon.component-7295f7cc.js} +2 -2
  207. package/dist/esm/svg-icon.component-7295f7cc.js.map +1 -0
  208. package/dist/esm/{svg-sprite.component-c140294e.js → svg-sprite.component-29439a18.js} +2 -2
  209. package/dist/esm/svg-sprite.component-29439a18.js.map +1 -0
  210. package/dist/esm/swisspost-internet-breadcrumbs.entry.js +10 -3611
  211. package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  212. package/dist/esm/swisspost-internet-footer.entry.js +5 -157
  213. package/dist/esm/swisspost-internet-footer.entry.js.map +1 -1
  214. package/dist/esm/swisspost-internet-header.entry.js +9 -826
  215. package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
  216. package/dist/esm/swisspost-internet-header.js +4 -7
  217. package/dist/esm/swisspost-internet-header.js.map +1 -1
  218. package/dist/esm/{ui.service-2fbc9c45.js → ui.service-a71cf490.js} +1 -1
  219. package/dist/esm/ui.service-a71cf490.js.map +1 -0
  220. package/dist/esm/{utils-ee79122f.js → utils-3a8ff48f.js} +1 -1
  221. package/dist/esm/utils-3a8ff48f.js.map +1 -0
  222. package/dist/esm-es5/bodyScrollLock.esm-afcc00e3.js +1 -1
  223. package/dist/esm-es5/bodyScrollLock.esm-afcc00e3.js.map +1 -1
  224. package/dist/esm-es5/if.component-3a779aca.js +2 -0
  225. package/dist/esm-es5/index-2b83f5e9.js +2 -0
  226. package/dist/esm-es5/index-2b83f5e9.js.map +1 -0
  227. package/dist/esm-es5/index-d2256e06.js +1 -1
  228. package/dist/esm-es5/index.js +1 -1
  229. package/dist/esm-es5/klp-widget.controller-2a0a5183.js +13 -0
  230. package/dist/esm-es5/{klp-widget.controller-30d47ff4.js.map → klp-widget.controller-2a0a5183.js.map} +1 -1
  231. package/dist/esm-es5/language.service-501b09a8.js +2 -0
  232. package/dist/esm-es5/language.service-501b09a8.js.map +1 -0
  233. package/dist/esm-es5/loader.js +1 -1
  234. package/dist/esm-es5/loader.js.map +1 -1
  235. package/dist/esm-es5/post-internet-breadcrumbs-474f625e.js +7 -0
  236. package/dist/esm-es5/post-internet-breadcrumbs-474f625e.js.map +1 -0
  237. package/dist/esm-es5/post-internet-footer-273b0d8d.js +2 -0
  238. package/dist/esm-es5/post-internet-footer-273b0d8d.js.map +1 -0
  239. package/dist/esm-es5/post-internet-header-a825bfd6.js +2 -0
  240. package/dist/esm-es5/post-internet-header-a825bfd6.js.map +1 -0
  241. package/dist/esm-es5/post-klp-login-widget-b1306336.js +2 -0
  242. package/dist/esm-es5/post-klp-login-widget-b1306336.js.map +1 -0
  243. package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
  244. package/dist/esm-es5/post-klp-login-widget.entry.js.map +1 -1
  245. package/dist/esm-es5/post-language-switch-fd570b9d.js +2 -0
  246. package/dist/esm-es5/post-language-switch-fd570b9d.js.map +1 -0
  247. package/dist/esm-es5/post-language-switch.entry.js +1 -1
  248. package/dist/esm-es5/post-language-switch.entry.js.map +1 -1
  249. package/dist/esm-es5/post-logo-cde3c44d.js +2 -0
  250. package/dist/esm-es5/post-logo-cde3c44d.js.map +1 -0
  251. package/dist/esm-es5/post-logo.entry.js +1 -1
  252. package/dist/esm-es5/post-logo.entry.js.map +1 -1
  253. package/dist/esm-es5/post-main-navigation-12eaef9f.js +2 -0
  254. package/dist/esm-es5/post-main-navigation-12eaef9f.js.map +1 -0
  255. package/dist/esm-es5/post-main-navigation.entry.js +1 -1
  256. package/dist/esm-es5/post-main-navigation.entry.js.map +1 -1
  257. package/dist/esm-es5/post-meta-navigation-09e9bdc8.js +2 -0
  258. package/dist/esm-es5/post-meta-navigation-09e9bdc8.js.map +1 -0
  259. package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
  260. package/dist/esm-es5/post-meta-navigation.entry.js.map +1 -1
  261. package/dist/esm-es5/post-search-5c3a10ac.js +2 -0
  262. package/dist/esm-es5/post-search-5c3a10ac.js.map +1 -0
  263. package/dist/esm-es5/post-search.entry.js +1 -1
  264. package/dist/esm-es5/post-search.entry.js.map +1 -1
  265. package/dist/esm-es5/post-skiplinks-b3c32a77.js +2 -0
  266. package/dist/esm-es5/post-skiplinks-b3c32a77.js.map +1 -0
  267. package/dist/esm-es5/post-skiplinks.entry.js +1 -1
  268. package/dist/esm-es5/post-skiplinks.entry.js.map +1 -1
  269. package/dist/esm-es5/store-80b19c12.js +2 -0
  270. package/dist/esm-es5/store-80b19c12.js.map +1 -0
  271. package/dist/esm-es5/{svg-icon.component-f2fda279.js → svg-icon.component-7295f7cc.js} +2 -2
  272. package/dist/esm-es5/{svg-sprite.component-c140294e.js → svg-sprite.component-29439a18.js} +2 -2
  273. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +1 -6
  274. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  275. package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
  276. package/dist/esm-es5/swisspost-internet-footer.entry.js.map +1 -1
  277. package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
  278. package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
  279. package/dist/esm-es5/swisspost-internet-header.js +1 -1
  280. package/dist/esm-es5/swisspost-internet-header.js.map +1 -1
  281. package/dist/esm-es5/{ui.service-2fbc9c45.js → ui.service-a71cf490.js} +2 -2
  282. package/dist/esm-es5/{utils-ee79122f.js → utils-3a8ff48f.js} +1 -1
  283. package/dist/swisspost-internet-header/index.esm.js +1 -1
  284. package/dist/swisspost-internet-header/p-0096509c.js +2 -0
  285. package/dist/swisspost-internet-header/p-0096509c.js.map +1 -0
  286. package/dist/swisspost-internet-header/p-05eea2be.js +2 -0
  287. package/dist/swisspost-internet-header/p-05eea2be.js.map +1 -0
  288. package/dist/swisspost-internet-header/p-0d61ca4e.system.entry.js +2 -0
  289. package/dist/swisspost-internet-header/{p-0c5624c0.system.js → p-0e776d6e.system.js} +2 -2
  290. package/dist/swisspost-internet-header/p-18e9ce89.system.js +2 -0
  291. package/dist/swisspost-internet-header/p-18e9ce89.system.js.map +1 -0
  292. package/dist/swisspost-internet-header/p-1a9fcba5.entry.js +2 -0
  293. package/dist/swisspost-internet-header/p-1a9fcba5.entry.js.map +1 -0
  294. package/dist/swisspost-internet-header/p-237a408c.entry.js +2 -0
  295. package/dist/swisspost-internet-header/p-237a408c.entry.js.map +1 -0
  296. package/dist/swisspost-internet-header/p-2470951e.js +2 -0
  297. package/dist/swisspost-internet-header/p-2470951e.js.map +1 -0
  298. package/dist/swisspost-internet-header/p-2eb179a7.entry.js +2 -0
  299. package/dist/swisspost-internet-header/p-2eb179a7.entry.js.map +1 -0
  300. package/dist/swisspost-internet-header/p-2fb1a3ce.system.js +2 -0
  301. package/dist/swisspost-internet-header/{p-cf9fb780.system.entry.js.map → p-2fb1a3ce.system.js.map} +1 -1
  302. package/dist/swisspost-internet-header/{p-8bf099a8.js → p-3339310e.js} +1 -1
  303. package/dist/swisspost-internet-header/p-3339310e.js.map +1 -0
  304. package/dist/swisspost-internet-header/p-3672587a.entry.js +2 -0
  305. package/dist/swisspost-internet-header/p-3672587a.entry.js.map +1 -0
  306. package/dist/swisspost-internet-header/p-39785e3d.system.entry.js +2 -0
  307. package/dist/swisspost-internet-header/p-39785e3d.system.entry.js.map +1 -0
  308. package/dist/swisspost-internet-header/p-4248f499.system.entry.js +2 -0
  309. package/dist/swisspost-internet-header/p-4248f499.system.entry.js.map +1 -0
  310. package/dist/swisspost-internet-header/p-56764f7d.system.js +2 -0
  311. package/dist/swisspost-internet-header/{p-a691c791.system.entry.js.map → p-56764f7d.system.js.map} +1 -1
  312. package/dist/swisspost-internet-header/{p-66d1bf9a.js → p-5a897619.js} +2 -2
  313. package/dist/swisspost-internet-header/p-5a897619.js.map +1 -0
  314. package/dist/swisspost-internet-header/p-5adcdd91.system.js +2 -0
  315. package/dist/swisspost-internet-header/p-5adcdd91.system.js.map +1 -0
  316. package/dist/swisspost-internet-header/{p-b762fba9.js → p-60ea6000.js} +2 -2
  317. package/dist/swisspost-internet-header/p-60ea6000.js.map +1 -0
  318. package/dist/swisspost-internet-header/p-6145b5f1.system.js +2 -0
  319. package/dist/swisspost-internet-header/p-6145b5f1.system.js.map +1 -0
  320. package/dist/swisspost-internet-header/p-61528220.js +2 -0
  321. package/dist/swisspost-internet-header/p-61528220.js.map +1 -0
  322. package/dist/swisspost-internet-header/{p-459c3983.js → p-624d732c.js} +2 -2
  323. package/dist/swisspost-internet-header/p-624d732c.js.map +1 -0
  324. package/dist/swisspost-internet-header/p-65ce36ba.entry.js +2 -0
  325. package/dist/swisspost-internet-header/p-65ce36ba.entry.js.map +1 -0
  326. package/dist/swisspost-internet-header/p-70df9137.js +2 -0
  327. package/dist/swisspost-internet-header/p-70df9137.js.map +1 -0
  328. package/dist/swisspost-internet-header/{p-fb82b748.system.js → p-74fea9b8.system.js} +2 -2
  329. package/dist/swisspost-internet-header/p-771114f0.system.js +2 -0
  330. package/dist/swisspost-internet-header/p-771114f0.system.js.map +1 -0
  331. package/dist/swisspost-internet-header/p-78e8a405.js +2 -0
  332. package/dist/swisspost-internet-header/p-78e8a405.js.map +1 -0
  333. package/dist/swisspost-internet-header/p-7a94a2d7.system.js +2 -0
  334. package/dist/swisspost-internet-header/{p-34da85e6.system.entry.js.map → p-7a94a2d7.system.js.map} +1 -1
  335. package/dist/swisspost-internet-header/p-7e78b029.system.entry.js +2 -0
  336. package/dist/swisspost-internet-header/p-7e78b029.system.entry.js.map +1 -0
  337. package/dist/swisspost-internet-header/p-8ddbca59.system.entry.js +2 -0
  338. package/dist/swisspost-internet-header/p-8ddbca59.system.entry.js.map +1 -0
  339. package/dist/swisspost-internet-header/p-96618f42.system.js +2 -0
  340. package/dist/swisspost-internet-header/{p-3c8504b4.system.entry.js.map → p-96618f42.system.js.map} +1 -1
  341. package/dist/swisspost-internet-header/p-986a52bc.system.js +2 -0
  342. package/dist/swisspost-internet-header/p-9af33755.system.js +2 -0
  343. package/dist/swisspost-internet-header/p-9af33755.system.js.map +1 -0
  344. package/dist/swisspost-internet-header/p-9b4d5e90.system.js +1 -1
  345. package/dist/swisspost-internet-header/p-9c385f74.system.js +3 -0
  346. package/dist/swisspost-internet-header/p-9c385f74.system.js.map +1 -0
  347. package/dist/swisspost-internet-header/p-a0f5c014.system.entry.js +2 -0
  348. package/dist/swisspost-internet-header/p-a0f5c014.system.entry.js.map +1 -0
  349. package/dist/swisspost-internet-header/p-a119b38d.js.map +1 -1
  350. package/dist/swisspost-internet-header/p-a290e3e2.system.entry.js +2 -0
  351. package/dist/swisspost-internet-header/p-a290e3e2.system.entry.js.map +1 -0
  352. package/dist/swisspost-internet-header/p-a58fc500.system.entry.js +2 -0
  353. package/dist/swisspost-internet-header/p-a58fc500.system.entry.js.map +1 -0
  354. package/dist/swisspost-internet-header/p-a7de7323.system.js +2 -0
  355. package/dist/swisspost-internet-header/p-aab6679b.js +2 -0
  356. package/dist/swisspost-internet-header/p-aab6679b.js.map +1 -0
  357. package/dist/swisspost-internet-header/{p-bf99c127.system.js → p-ad9a417b.system.js} +2 -2
  358. package/dist/swisspost-internet-header/p-ad9a417b.system.js.map +1 -0
  359. package/dist/swisspost-internet-header/p-aeaa2c26.entry.js +2 -0
  360. package/dist/swisspost-internet-header/p-aeaa2c26.entry.js.map +1 -0
  361. package/dist/swisspost-internet-header/p-b3014611.system.js +1 -1
  362. package/dist/swisspost-internet-header/p-b3014611.system.js.map +1 -1
  363. package/dist/swisspost-internet-header/{p-45db66a6.js → p-bbfd407b.js} +1 -1
  364. package/dist/swisspost-internet-header/p-bbfd407b.js.map +1 -0
  365. package/dist/swisspost-internet-header/p-bcd01683.system.js +13 -0
  366. package/dist/swisspost-internet-header/{p-b4c0cb5a.system.js.map → p-bcd01683.system.js.map} +1 -1
  367. package/dist/swisspost-internet-header/p-c4011fc6.system.entry.js +2 -0
  368. package/dist/swisspost-internet-header/p-c4011fc6.system.entry.js.map +1 -0
  369. package/dist/swisspost-internet-header/p-c7945779.system.js +7 -0
  370. package/dist/swisspost-internet-header/p-c7945779.system.js.map +1 -0
  371. package/dist/swisspost-internet-header/p-c8d9cc8c.js +2 -0
  372. package/dist/swisspost-internet-header/p-c8d9cc8c.js.map +1 -0
  373. package/dist/swisspost-internet-header/p-c99a43b0.entry.js +2 -0
  374. package/dist/swisspost-internet-header/p-c99a43b0.entry.js.map +1 -0
  375. package/dist/swisspost-internet-header/{p-a2f9d462.js → p-cf06f703.js} +1 -1
  376. package/dist/swisspost-internet-header/p-cf06f703.js.map +1 -0
  377. package/dist/swisspost-internet-header/p-d9f67b45.entry.js +2 -0
  378. package/dist/swisspost-internet-header/p-d9f67b45.entry.js.map +1 -0
  379. package/dist/swisspost-internet-header/p-dc8296bd.js +2 -0
  380. package/dist/swisspost-internet-header/p-dc8296bd.js.map +1 -0
  381. package/dist/swisspost-internet-header/p-de27fab4.entry.js +2 -0
  382. package/dist/swisspost-internet-header/p-de27fab4.entry.js.map +1 -0
  383. package/dist/swisspost-internet-header/p-dee824b8.js +2 -0
  384. package/dist/swisspost-internet-header/p-dee824b8.js.map +1 -0
  385. package/dist/swisspost-internet-header/p-e187ba33.js +7 -0
  386. package/dist/swisspost-internet-header/p-e187ba33.js.map +1 -0
  387. package/dist/swisspost-internet-header/p-e2e1c5d4.js +3 -0
  388. package/dist/swisspost-internet-header/p-e2e1c5d4.js.map +1 -0
  389. package/dist/swisspost-internet-header/p-ee5e0cc6.system.js +2 -0
  390. package/dist/swisspost-internet-header/{p-fed8d74d.system.entry.js.map → p-ee5e0cc6.system.js.map} +1 -1
  391. package/dist/swisspost-internet-header/p-f25c234f.entry.js +2 -0
  392. package/dist/swisspost-internet-header/p-f25c234f.entry.js.map +1 -0
  393. package/dist/swisspost-internet-header/{p-edb2802d.system.js → p-f2a43ce2.system.js} +1 -1
  394. package/dist/swisspost-internet-header/p-f2f69ff4.system.js +2 -0
  395. package/dist/swisspost-internet-header/p-f2f69ff4.system.js.map +1 -0
  396. package/dist/swisspost-internet-header/p-f5876cc8.js +2 -0
  397. package/dist/swisspost-internet-header/p-f5876cc8.js.map +1 -0
  398. package/dist/swisspost-internet-header/p-f887c8bb.system.js +1 -1
  399. package/dist/swisspost-internet-header/p-fc2417e7.system.js +2 -0
  400. package/dist/swisspost-internet-header/p-fc2417e7.system.js.map +1 -0
  401. package/dist/swisspost-internet-header/p-fef30370.system.entry.js +2 -0
  402. package/dist/swisspost-internet-header/p-fef30370.system.entry.js.map +1 -0
  403. package/dist/swisspost-internet-header/swisspost-internet-header.css +2 -2
  404. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
  405. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js.map +1 -1
  406. package/dist/swisspost-internet-header/swisspost-internet-header.js +2 -6
  407. package/dist/types/assets/i18n/translations.d.ts +5 -0
  408. package/dist/types/components/post-internet-breadcrumbs/post-internet-breadcrumbs.d.ts +5 -1
  409. package/dist/types/components/post-internet-header/post-internet-header.d.ts +4 -0
  410. package/dist/types/components/post-klp-login-widget/post-klp-login-widget.d.ts +5 -1
  411. package/dist/types/components/post-search/post-search.d.ts +6 -0
  412. package/dist/types/components/post-skiplinks/post-skiplinks.d.ts +1 -1
  413. package/dist/types/components.d.ts +70 -0
  414. package/dist/types/index.d.ts +10 -0
  415. package/dist/types/services/language.service.d.ts +5 -0
  416. package/dist/types/stencil-public-runtime.d.ts +38 -5
  417. package/loader/index.d.ts +1 -1
  418. package/package.json +12 -14
  419. package/dist/cjs/if.component-51d000af.js.map +0 -1
  420. package/dist/cjs/index-87874f19.js.map +0 -1
  421. package/dist/cjs/language.service-672abba5.js.map +0 -1
  422. package/dist/cjs/store-b99affc1.js.map +0 -1
  423. package/dist/cjs/svg-icon.component-8e05af84.js.map +0 -1
  424. package/dist/cjs/svg-sprite.component-f1866070.js.map +0 -1
  425. package/dist/cjs/ui.service-e1ebb6d4.js.map +0 -1
  426. package/dist/cjs/utils-60853c5d.js.map +0 -1
  427. package/dist/esm/if.component-0fe54385.js.map +0 -1
  428. package/dist/esm/index-82f4f02c.js.map +0 -1
  429. package/dist/esm/language.service-4289815d.js.map +0 -1
  430. package/dist/esm/polyfills/css-shim.js +0 -1
  431. package/dist/esm/store-44830922.js.map +0 -1
  432. package/dist/esm/svg-icon.component-f2fda279.js.map +0 -1
  433. package/dist/esm/svg-sprite.component-c140294e.js.map +0 -1
  434. package/dist/esm/ui.service-2fbc9c45.js.map +0 -1
  435. package/dist/esm/utils-ee79122f.js.map +0 -1
  436. package/dist/esm-es5/if.component-0fe54385.js +0 -2
  437. package/dist/esm-es5/index-82f4f02c.js +0 -2
  438. package/dist/esm-es5/index-82f4f02c.js.map +0 -1
  439. package/dist/esm-es5/klp-widget.controller-30d47ff4.js +0 -13
  440. package/dist/esm-es5/language.service-4289815d.js +0 -2
  441. package/dist/esm-es5/language.service-4289815d.js.map +0 -1
  442. package/dist/esm-es5/store-44830922.js +0 -2
  443. package/dist/esm-es5/store-44830922.js.map +0 -1
  444. package/dist/swisspost-internet-header/p-02df8ca4.entry.js +0 -2
  445. package/dist/swisspost-internet-header/p-02df8ca4.entry.js.map +0 -1
  446. package/dist/swisspost-internet-header/p-0de024c6.system.entry.js +0 -2
  447. package/dist/swisspost-internet-header/p-0de024c6.system.entry.js.map +0 -1
  448. package/dist/swisspost-internet-header/p-11d05acc.js +0 -2
  449. package/dist/swisspost-internet-header/p-11d05acc.js.map +0 -1
  450. package/dist/swisspost-internet-header/p-1d455921.system.js +0 -3
  451. package/dist/swisspost-internet-header/p-1d455921.system.js.map +0 -1
  452. package/dist/swisspost-internet-header/p-1ec4e0ee.system.js +0 -2
  453. package/dist/swisspost-internet-header/p-1ec4e0ee.system.js.map +0 -1
  454. package/dist/swisspost-internet-header/p-2ab12ef9.entry.js +0 -2
  455. package/dist/swisspost-internet-header/p-2ab12ef9.entry.js.map +0 -1
  456. package/dist/swisspost-internet-header/p-33f6c69f.entry.js +0 -2
  457. package/dist/swisspost-internet-header/p-33f6c69f.entry.js.map +0 -1
  458. package/dist/swisspost-internet-header/p-34da85e6.system.entry.js +0 -2
  459. package/dist/swisspost-internet-header/p-3c8504b4.system.entry.js +0 -2
  460. package/dist/swisspost-internet-header/p-3cfe4534.entry.js +0 -2
  461. package/dist/swisspost-internet-header/p-3cfe4534.entry.js.map +0 -1
  462. package/dist/swisspost-internet-header/p-43320028.system.entry.js +0 -2
  463. package/dist/swisspost-internet-header/p-43320028.system.entry.js.map +0 -1
  464. package/dist/swisspost-internet-header/p-459c3983.js.map +0 -1
  465. package/dist/swisspost-internet-header/p-45db66a6.js.map +0 -1
  466. package/dist/swisspost-internet-header/p-50ea2036.system.js +0 -2
  467. package/dist/swisspost-internet-header/p-51c15273.entry.js +0 -2
  468. package/dist/swisspost-internet-header/p-51c15273.entry.js.map +0 -1
  469. package/dist/swisspost-internet-header/p-55bfdf22.system.js +0 -2
  470. package/dist/swisspost-internet-header/p-55fbc914.entry.js +0 -2
  471. package/dist/swisspost-internet-header/p-55fbc914.entry.js.map +0 -1
  472. package/dist/swisspost-internet-header/p-5d893017.system.js +0 -2
  473. package/dist/swisspost-internet-header/p-5d893017.system.js.map +0 -1
  474. package/dist/swisspost-internet-header/p-66d1bf9a.js.map +0 -1
  475. package/dist/swisspost-internet-header/p-6bb07a80.entry.js +0 -2
  476. package/dist/swisspost-internet-header/p-6bb07a80.entry.js.map +0 -1
  477. package/dist/swisspost-internet-header/p-6dc0fc47.system.entry.js +0 -2
  478. package/dist/swisspost-internet-header/p-6dc0fc47.system.entry.js.map +0 -1
  479. package/dist/swisspost-internet-header/p-75dde9a2.entry.js +0 -7
  480. package/dist/swisspost-internet-header/p-75dde9a2.entry.js.map +0 -1
  481. package/dist/swisspost-internet-header/p-781ea7c2.system.entry.js +0 -2
  482. package/dist/swisspost-internet-header/p-781ea7c2.system.entry.js.map +0 -1
  483. package/dist/swisspost-internet-header/p-88aac12c.system.js +0 -2
  484. package/dist/swisspost-internet-header/p-8bf099a8.js.map +0 -1
  485. package/dist/swisspost-internet-header/p-8e0a4d18.js +0 -3
  486. package/dist/swisspost-internet-header/p-8e0a4d18.js.map +0 -1
  487. package/dist/swisspost-internet-header/p-a2f9d462.js.map +0 -1
  488. package/dist/swisspost-internet-header/p-a5f5bb55.js +0 -2
  489. package/dist/swisspost-internet-header/p-a5f5bb55.js.map +0 -1
  490. package/dist/swisspost-internet-header/p-a691c791.system.entry.js +0 -2
  491. package/dist/swisspost-internet-header/p-b4c0cb5a.system.js +0 -13
  492. package/dist/swisspost-internet-header/p-b5758d6a.system.entry.js +0 -7
  493. package/dist/swisspost-internet-header/p-b5758d6a.system.entry.js.map +0 -1
  494. package/dist/swisspost-internet-header/p-b762fba9.js.map +0 -1
  495. package/dist/swisspost-internet-header/p-bf99c127.system.js.map +0 -1
  496. package/dist/swisspost-internet-header/p-cbba35a8.entry.js +0 -2
  497. package/dist/swisspost-internet-header/p-cbba35a8.entry.js.map +0 -1
  498. package/dist/swisspost-internet-header/p-cf9fb780.system.entry.js +0 -2
  499. package/dist/swisspost-internet-header/p-db8023e1.entry.js +0 -2
  500. package/dist/swisspost-internet-header/p-db8023e1.entry.js.map +0 -1
  501. package/dist/swisspost-internet-header/p-fed8d74d.system.entry.js +0 -2
  502. /package/dist/esm-es5/{if.component-0fe54385.js.map → if.component-3a779aca.js.map} +0 -0
  503. /package/dist/esm-es5/{svg-icon.component-f2fda279.js.map → svg-icon.component-7295f7cc.js.map} +0 -0
  504. /package/dist/esm-es5/{svg-sprite.component-c140294e.js.map → svg-sprite.component-29439a18.js.map} +0 -0
  505. /package/dist/esm-es5/{ui.service-2fbc9c45.js.map → ui.service-a71cf490.js.map} +0 -0
  506. /package/dist/esm-es5/{utils-ee79122f.js.map → utils-3a8ff48f.js.map} +0 -0
  507. /package/dist/swisspost-internet-header/{p-50ea2036.system.js.map → p-0d61ca4e.system.entry.js.map} +0 -0
  508. /package/dist/swisspost-internet-header/{p-0c5624c0.system.js.map → p-0e776d6e.system.js.map} +0 -0
  509. /package/dist/swisspost-internet-header/{p-fb82b748.system.js.map → p-74fea9b8.system.js.map} +0 -0
  510. /package/dist/swisspost-internet-header/{p-88aac12c.system.js.map → p-986a52bc.system.js.map} +0 -0
  511. /package/dist/swisspost-internet-header/{p-55bfdf22.system.js.map → p-a7de7323.system.js.map} +0 -0
  512. /package/dist/swisspost-internet-header/{p-edb2802d.system.js.map → p-f2a43ce2.system.js.map} +0 -0
@@ -0,0 +1,597 @@
1
+ 'use strict';
2
+
3
+ const index = require('./index-4bd0adf1.js');
4
+ const index$1 = require('./index-3216e4c8.js');
5
+ const bodyScrollLock_esm = require('./bodyScrollLock.esm-59f17217.js');
6
+ const store = require('./store-77668e50.js');
7
+ const ui_service = require('./ui.service-488151be.js');
8
+ const svgSprite_component = require('./svg-sprite.component-4b5677ef.js');
9
+ const svgIcon_component = require('./svg-icon.component-5965f301.js');
10
+ const if_component = require('./if.component-2cd3c1ff.js');
11
+ const language_service = require('./language.service-dbe2a435.js');
12
+
13
+ let parcelController;
14
+ // https://www.post.ch/api/trackandtrace?id=99.00.306600.01004883
15
+ // Track and trace URL
16
+ const getTrackAndTraceApiUrl = (id) => {
17
+ const lang = store.state.currentLanguage;
18
+ return `https://www.post.ch/${lang}/api/trackandtrace?id=${encodeURIComponent(id)}`;
19
+ };
20
+ // Get the redire
21
+ const getTrackAndTraceRedirectUrl = (query, { packageTrackingRedirectUrl }) => {
22
+ return packageTrackingRedirectUrl.replace('{trackingNumber}', encodeURIComponent(query));
23
+ };
24
+ /**
25
+ * Check whether a query is a tracking id
26
+ *
27
+ * @param query User query
28
+ * @returns Boolean
29
+ */
30
+ const isParcel = async (query, searchConfig) => {
31
+ const parcelInfo = await getParcelInfo(query, searchConfig);
32
+ return 'sending' in parcelInfo;
33
+ };
34
+ /**
35
+ * Try to get parcel info from a query that is possibly a tracking id.
36
+ * This is mainly used to check if a search should redirect to track&trace instead of the regular search.
37
+ *
38
+ * @param query User query that is possibly a tracking number
39
+ * @returns Track and trace info
40
+ */
41
+ const getParcelInfo = async (query, { redirectPattern }) => {
42
+ const trackingNrPattern = new RegExp(redirectPattern);
43
+ if (trackingNrPattern.test(query)) {
44
+ const url = getTrackAndTraceApiUrl(query);
45
+ if (parcelController)
46
+ parcelController.abort();
47
+ parcelController = new AbortController();
48
+ return new Promise((resolve, reject) => {
49
+ fetch(url, { signal: parcelController.signal })
50
+ .then(response => response.json())
51
+ .then((trackAndTraceResult) => {
52
+ resolve(Object.assign(Object.assign({}, trackAndTraceResult), { ok: trackAndTraceResult.ok }));
53
+ })
54
+ .catch(error => {
55
+ if (error.name !== 'AbortError') {
56
+ console.error(`Could not check track and trace API due to error: ${error.message}`);
57
+ reject(error);
58
+ }
59
+ });
60
+ });
61
+ }
62
+ return { ok: false, timestamp: new Date().toDateString() };
63
+ };
64
+ /**
65
+ * Get parcel info if query is a parcel or null
66
+ *
67
+ * @param query Parcel id
68
+ * @returns Parcel info and a redirect url or null if not a parcel
69
+ */
70
+ const getParcelSuggestion = async (query, searchConfig) => {
71
+ const parcelInfo = await getParcelInfo(query, searchConfig);
72
+ return parcelInfo.ok
73
+ ? Object.assign(Object.assign({}, parcelInfo), { url: getTrackAndTraceRedirectUrl(query, searchConfig) }) : null;
74
+ };
75
+
76
+ /**
77
+ * Construct a search page url from a query
78
+ *
79
+ * @param query Search term
80
+ * @returns
81
+ */
82
+ const getSearchRedirectUrl = async (query, searchConfig) => {
83
+ const isTrackTraceId = await isParcel(query, searchConfig);
84
+ return isTrackTraceId
85
+ ? getTrackAndTraceRedirectUrl(query, searchConfig)
86
+ : getSearchPageUrl(query);
87
+ };
88
+ /**
89
+ * Stitch toghether the search page URL
90
+ *
91
+ * @param query Search term
92
+ * @returns Search page URL
93
+ */
94
+ const getSearchPageUrl = (query) => {
95
+ var _a;
96
+ if (((_a = store.state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header.search) === undefined) {
97
+ return;
98
+ }
99
+ const { searchPageUrl } = store.state.localizedConfig.header.search;
100
+ const searchParam = `#q=${encodeURIComponent(query)}`;
101
+ return `${searchPageUrl}${searchParam}&t=AllTab`;
102
+ };
103
+ /**
104
+ * Equalize the length of two arrays while filling up empty slots up to max. length
105
+ *
106
+ * @param arrayA First array
107
+ * @param arrayB Second array
108
+ * @param maxLength Max. length of result array
109
+ * @returns Array with two resulting arrays
110
+ */
111
+ const equalizeArrays = (arrayA, arrayB, maxLength = 7) => {
112
+ const coveoSliced = arrayA.slice(0, Math.max(maxLength / 2, maxLength - arrayB.length));
113
+ return [coveoSliced, arrayB.slice(0, maxLength - coveoSliced.length)];
114
+ };
115
+
116
+ // Coveo constants
117
+ const coveo = {
118
+ url: 'https://platform-eu.cloud.coveo.com/rest/search/v2/querySuggest',
119
+ environment: {
120
+ prod: {
121
+ organisation: 'postchagprod6ef4sbet',
122
+ token: 'xx5b629890-23b9-4fbe-b601-0e8719186969',
123
+ },
124
+ int01: {
125
+ organisation: 'postchagnonprods5sq57qt',
126
+ token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',
127
+ },
128
+ int02: {
129
+ organisation: 'postchagnonprods5sq57qt',
130
+ token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',
131
+ },
132
+ dev01: {
133
+ organisation: 'postchagnonprods5sq57qt',
134
+ token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',
135
+ },
136
+ dev02: {
137
+ organisation: 'postchagnonprods5sq57qt',
138
+ token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',
139
+ },
140
+ devs1: {
141
+ organisation: 'postchagnonprods5sq57qt',
142
+ token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',
143
+ },
144
+ test: {
145
+ organisation: 'postchagnonprods5sq57qt',
146
+ token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',
147
+ },
148
+ },
149
+ };
150
+
151
+ let suggestionsController;
152
+ /**
153
+ * Get suggestions from coveo
154
+ * https://docs.coveo.com/en/1459/build-a-search-ui/get-query-suggestions#context-object
155
+ *
156
+ * @param query Search term
157
+ * @returns
158
+ */
159
+ const getCoveoSuggestions = async (query) => {
160
+ var _a, _b, _c, _d;
161
+ if (((_b = (_a = store.state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header) === null || _b === void 0 ? void 0 : _b.search) === undefined ||
162
+ ((_d = (_c = store.state.localizedConfig) === null || _c === void 0 ? void 0 : _c.header) === null || _d === void 0 ? void 0 : _d.search.isCustomSuggestionHidden) === true)
163
+ return [];
164
+ const config = store.state.localizedConfig.header.search;
165
+ const { token, organisation } = coveo.environment[store.state.environment];
166
+ const url = `${coveo.url}?q=${query}&locale=${store.state.currentLanguage}&searchHub=${config.searchHubName}&pipeline=${config.searchPipelineName}&organizationId=${organisation}`;
167
+ if (suggestionsController)
168
+ suggestionsController.abort();
169
+ suggestionsController = new AbortController();
170
+ return new Promise((resolve, reject) => {
171
+ fetch(url, {
172
+ signal: suggestionsController.signal,
173
+ method: 'GET',
174
+ headers: {
175
+ Authorization: `Bearer ${token}`,
176
+ },
177
+ })
178
+ .then(response => response.json())
179
+ .then((coveoJSON) => {
180
+ resolve(coveoJSON.completions.map(completion => (Object.assign(Object.assign({}, completion), { redirectUrl: getSearchPageUrl(completion.expression) }))));
181
+ })
182
+ .catch(error => {
183
+ if (error.name !== 'AbortError') {
184
+ console.error(`Fetching coveo suggestions failed, ${error}\nDid you add "*.coveo.com" to your connect-src content security policy and tried turning off your adblocker?`);
185
+ reject(error);
186
+ }
187
+ });
188
+ });
189
+ };
190
+
191
+ // Implement some TOPOS logic into the header search
192
+ const gisAPIUrl = 'https://places.post.ch/StandortSuche/StaoCacheService';
193
+ const placesUrl = 'https://places.post.ch';
194
+
195
+ /**
196
+ * Transform to lowercase, extract accents to separate unicode chars,
197
+ * replace all accent unicode chars so only standard latin chars remain
198
+ * https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript/37511463#37511463
199
+ *
200
+ * @param str Input string
201
+ * @returns
202
+ */
203
+ const hardNormalize = (str) => str
204
+ .toLowerCase()
205
+ .normalize('NFD')
206
+ .replace(/[\u0300-\u036f]/g, '');
207
+
208
+ let placesController;
209
+ /**
210
+ * Query the Gis API for locations and localities (pois)
211
+ *
212
+ * @param query User input string
213
+ * @returns
214
+ */
215
+ const queryPlaces = async (query) => {
216
+ if (query.length === 0) {
217
+ return [];
218
+ }
219
+ const searchParameters = Object.entries({
220
+ query: encodeURIComponent(query),
221
+ lang: store.state.currentLanguage,
222
+ limit: 7,
223
+ }).reduce((s, [k, v], i) => `${s}${i === 0 ? '?' : '&'}${k}=${v}`, '');
224
+ const url = `${gisAPIUrl}/Geocode${searchParameters}`;
225
+ if (placesController)
226
+ placesController.abort();
227
+ placesController = new AbortController();
228
+ return new Promise((resolve, reject) => {
229
+ fetch(url, { signal: placesController.signal })
230
+ .then(response => response.json())
231
+ .then((geocodeJSON) => {
232
+ if (!geocodeJSON.ok)
233
+ throw new Error(geocodeJSON.info);
234
+ resolve(geocodeJSON.locations);
235
+ })
236
+ .catch(error => {
237
+ if (error.name !== 'AbortError') {
238
+ console.error(`Fetching places failed, ${error}\nDid you add "places.post.ch" to your connect-src content security policy?`);
239
+ reject(error);
240
+ }
241
+ });
242
+ });
243
+ };
244
+ /**
245
+ * Try to highlight place suggestions
246
+ * Limitation: accented chars are not handled by this basic function
247
+ *
248
+ * @param query Search term
249
+ * @param place Name of the suggested place
250
+ * @returns
251
+ */
252
+ const highlightPlacesString = (query, place) => {
253
+ if (query === undefined)
254
+ return place;
255
+ // Strip accents from the string
256
+ const reference = hardNormalize(place);
257
+ const q = hardNormalize(query);
258
+ const indexOfQuery = reference.indexOf(q);
259
+ if (indexOfQuery < 0) {
260
+ return place;
261
+ }
262
+ return `${place.substring(0, indexOfQuery)}{${place.substring(indexOfQuery, indexOfQuery + query.length)}}${place.substring(indexOfQuery + query.length, place.length)}`;
263
+ };
264
+ /**
265
+ * Get the deeplink to any location found via geocoder
266
+ *
267
+ * @param location A location from the Gis API Geocode endpoint
268
+ * @returns
269
+ */
270
+ const getPlacesUrl = (location) => {
271
+ let url;
272
+ if (location.id) {
273
+ url = `${placesUrl}/${store.state.currentLanguage}/${location.id}/detail`;
274
+ }
275
+ else {
276
+ url = `${placesUrl}?preselecttext=${encodeURIComponent(location.name)}`;
277
+ }
278
+ return url;
279
+ };
280
+
281
+ const HighlightedText = (props) => {
282
+ var _a;
283
+ const highlightClass = (_a = props.highlightClass) !== null && _a !== void 0 ? _a : 'bold';
284
+ const highlightedString = props.text
285
+ .replace(/[{(]/g, `<span class="${highlightClass}">`)
286
+ .replace(/[})]/g, '</span>')
287
+ .replace(/[\[\]]/g, '');
288
+ return index.h("span", { innerHTML: highlightedString });
289
+ };
290
+
291
+ const postSearchCss = "/*!\n * Copyright 2021 by Swiss Post, Information Technology\n *//*!\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 */.form-label{margin-bottom:.5rem;color:rgba(var(--post-contrast-color-rgb), 0.8)}.col-form-label{padding-top:calc(0.875rem + 2px);padding-bottom:calc(0.875rem + 2px);margin-bottom:0;font-size:inherit;line-height:1.5;color:rgba(var(--post-contrast-color-rgb), 0.8)}.col-form-label-lg{padding-top:calc(1.25rem + 2px);padding-bottom:calc(1.25rem + 2px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(0.375rem + 2px);padding-bottom:calc(0.375rem + 2px);font-size:0.875rem}.form-text{margin-top:.25rem;font-size:0.8125rem;color:var(--post-contrast-color)}.form-control{display:block;width:100%;padding:.875rem 1.125rem;font-size:1rem;font-weight:400;line-height:1.5;color:#000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-clip:padding-box;border:2px solid #666;border-radius:0;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{-webkit-transition:none;transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#000;background-color:#fff;border-color:var(--post-contrast-color-rgb);outline:0;-webkit-box-shadow:0 0 0 .125rem rgba(var(--post-contrast-color-rgb), 0.25);box-shadow:0 0 0 .125rem rgba(var(--post-contrast-color-rgb), 0.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-webkit-input-placeholder{color:#666;opacity:1}.form-control::-moz-placeholder{color:#666;opacity:1}.form-control:-ms-input-placeholder{color:#666;opacity:1}.form-control::-ms-input-placeholder{color:#666;opacity:1}.form-control::placeholder{color:#666;opacity:1}.form-control:disabled{color:#666;background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6);border-color:#ccc;opacity:1}.form-control::-webkit-file-upload-button{padding:.875rem 1.125rem;margin:-0.875rem -1.125rem;-webkit-margin-end:1.125rem;margin-inline-end:1.125rem;color:#000;background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:2px;border-radius:0;-webkit-transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms}.form-control::file-selector-button{padding:.875rem 1.125rem;margin:-0.875rem -1.125rem;-webkit-margin-end:1.125rem;margin-inline-end:1.125rem;color:#000;background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:2px;border-radius:0;-webkit-transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms}@media (prefers-reduced-motion: reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#fff}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#fff}.form-control-plaintext{display:block;width:100%;padding:.875rem 0;margin-bottom:0;line-height:1.5;color:var(--post-contrast-color);background-color:rgba(0,0,0,0);border:solid rgba(0,0,0,0);border-width:2px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg,.form-floating>.form-control-plaintext.form-control,.form-floating>.form-control-plaintext.form-select{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.96875rem + 4px);padding:.375rem .875rem;font-size:0.875rem;border-radius:0}.form-control-sm::-webkit-file-upload-button{padding:.375rem .875rem;margin:-0.375rem -0.875rem;-webkit-margin-end:.875rem;margin-inline-end:.875rem}.form-control-sm::file-selector-button{padding:.375rem .875rem;margin:-0.375rem -0.875rem;-webkit-margin-end:.875rem;margin-inline-end:.875rem}.form-control-lg,.form-floating>.form-control,.form-floating>.form-select{min-height:calc(4.375rem + 4px);padding:1.25rem 1.375rem;font-size:1.25rem;border-radius:0}.form-control-lg::-webkit-file-upload-button,.form-floating>.form-control::-webkit-file-upload-button,.form-floating>.form-select::-webkit-file-upload-button{padding:1.25rem 1.375rem;margin:-1.25rem -1.375rem;-webkit-margin-end:1.375rem;margin-inline-end:1.375rem}.form-control-lg::file-selector-button,.form-floating>.form-control::file-selector-button,.form-floating>.form-select::file-selector-button{padding:1.25rem 1.375rem;margin:-1.25rem -1.375rem;-webkit-margin-end:1.375rem;margin-inline-end:1.375rem}textarea.form-control{min-height:calc(3.25rem + 4px)}textarea.form-control-sm{min-height:calc(1.96875rem + 4px)}textarea.form-control-lg,.form-floating>textarea.form-control,.form-floating>textarea.form-select{min-height:calc(4.375rem + 4px)}.form-control-color{width:3rem;height:calc(3.25rem + 4px);padding:.875rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:0}.form-control-color::-webkit-color-swatch{border:0 !important;border-radius:0}.form-control-color.form-control-sm{height:calc(1.96875rem + 4px)}.form-control-color.form-control-lg,.form-floating>.form-control-color.form-control,.form-floating>.form-control-color.form-select{height:calc(4.375rem + 4px)}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.875rem 1.125rem;font-size:1rem;font-weight:400;line-height:1.5;color:#000;text-align:center;white-space:nowrap;background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6);border:2px solid #666;border-radius:0}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:1.25rem 1.375rem;font-size:1.25rem;border-radius:0}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.375rem .875rem;font-size:0.875rem;border-radius:0}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:4.5rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(2px * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.form-control-rg{padding:.625rem .875rem;font-size:1rem;line-height:1.5}select.form-control-rg:not([size]):not([multiple]){height:calc(2.75rem + 4px)}.form-control{position:relative}.form-control:disabled{color:#666}.form-control[readonly]:not(:disabled){border-color:#666;background-color:#fff}.form-control[type=file]{position:relative;min-height:calc(3.25rem + 4px)}.form-control[type=file]::-webkit-file-upload-button{display:block;position:absolute;top:0;bottom:0;right:0;margin-inline:0;height:auto;background-color:inherit;border-right:0 none;border-left:inherit}.form-control[type=file]::file-selector-button{display:block;position:absolute;top:0;bottom:0;right:0;margin-inline:0;height:auto;background-color:inherit;border-right:0 none;border-left:inherit}@supports (background: -webkit-named-image(i)){.form-control[type=file]::-webkit-file-upload-button{display:initial;position:initial;margin-inline:0;padding-inline:0;width:0;border:0 none}.form-control[type=file]::file-selector-button{display:initial;position:initial;margin-inline:0;padding-inline:0;width:0;border:0 none}.form-control[type=file]::after{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;content:\"Choose File\";position:absolute;top:0;bottom:0;right:0;z-index:2;padding-inline:.875rem;background-color:inherit;border-left:inherit;text-align:center}[lang=de] .form-control[type=file]::after{content:\"Datei auswählen\"}[lang=fr] .form-control[type=file]::after{content:\"Choisir un fichier\"}[lang=it] .form-control[type=file]::after{content:\"Scegli file\"}.form-control[type=file][multiple]::after{content:\"Choose Files\"}[lang=de] .form-control[type=file][multiple]::after{content:\"Dateien auswählen\"}[lang=fr] .form-control[type=file][multiple]::after{content:\"Choisir des fichiers\"}}.form-control[type=file].form-control-sm{min-height:calc(2.25rem + 4px)}.form-control[type=file].form-control-sm::after{padding-inline:.375rem}.form-control[type=file].form-control-rg{min-height:calc(2.75rem + 4px)}.form-control[type=file].form-control-rg::after{padding-inline:.625rem}.form-control[type=file].form-control-lg{min-height:calc(4rem + 4px)}.form-control[type=file].form-control-lg::after{padding-inline:1.25rem}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-control:hover:not(:disabled),.form-control:focus:not(:disabled){border-color:Highlight}.form-control:hover:not(:disabled)::-webkit-file-upload-button,.form-control:focus:not(:disabled)::-webkit-file-upload-button{border-left-color:Highlight}.form-control:hover:not(:disabled)::file-selector-button,.form-control:focus:not(:disabled)::file-selector-button{border-left-color:Highlight}}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(4.375rem + 4px);min-height:calc(4.375rem + 4px);line-height:1.5}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1.25rem 1.375rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:2px solid rgba(0,0,0,0);-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1);transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1)}@media (prefers-reduced-motion: reduce){.form-floating>label{-webkit-transition:none;transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1.25rem 1.375rem}.form-floating>.form-control::-webkit-input-placeholder,.form-floating>.form-control-plaintext::-webkit-input-placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control::-moz-placeholder,.form-floating>.form-control-plaintext::-moz-placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control:-ms-input-placeholder,.form-floating>.form-control-plaintext:-ms-input-placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control::-ms-input-placeholder,.form-floating>.form-control-plaintext::-ms-input-placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control:not(:-moz-placeholder-shown),.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:not(:-ms-input-placeholder),.form-floating>.form-control-plaintext:not(:-ms-input-placeholder){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.5rem;padding-bottom:0}.form-floating>.form-select{padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb), 1);transform:scale(0.7647058824)}.form-floating>.form-control:not(:-ms-input-placeholder)~label{color:rgba(var(--bs-body-color-rgb), 1);transform:scale(0.7647058824)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb), 1);-webkit-transform:scale(0.7647058824);transform:scale(0.7647058824)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label::after{position:absolute;inset:1.25rem .6875rem;z-index:-1;height:4.375rem;content:\"\";background-color:#fff;border-radius:0}.form-floating>.form-control:not(:-ms-input-placeholder)~label::after{position:absolute;inset:1.25rem .6875rem;z-index:-1;height:4.375rem;content:\"\";background-color:#fff;border-radius:0}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-control-plaintext~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1.25rem .6875rem;z-index:-1;height:4.375rem;content:\"\";background-color:#fff;border-radius:0}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb), 1);-webkit-transform:scale(0.7647058824);transform:scale(0.7647058824)}.form-floating>.form-control-plaintext~label{border-width:2px 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label::after,.form-floating>.form-control:disabled~label::after{background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6)}.form-floating>label{display:block;top:2px;left:2px;margin:0;padding-inline:1.375rem;padding-top:calc(\n 2px + 2.1875rem - 0.796875rem\n );padding-bottom:0;border:0;color:#666;font-size:1.0625rem;width:auto;height:auto;max-width:calc(100% - (4px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-transform-origin:1.375rem 0;transform-origin:1.375rem 0;-webkit-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1),width 0ms linear;transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1),width 0ms linear}.form-floating>.form-control:focus::-webkit-input-placeholder{color:rgba(var(--post-contrast-color-rgb), 0.6)}.form-floating>.form-control:focus::-moz-placeholder{color:rgba(var(--post-contrast-color-rgb), 0.6)}.form-floating>.form-control:focus:-ms-input-placeholder{color:rgba(var(--post-contrast-color-rgb), 0.6)}.form-floating>.form-control:focus::-ms-input-placeholder{color:rgba(var(--post-contrast-color-rgb), 0.6)}.form-floating>.form-control:focus::placeholder{color:rgba(var(--post-contrast-color-rgb), 0.6)}.form-floating>.form-control:focus::input-placeholder{color:rgba(var(--post-contrast-color-rgb), 0.6)}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:not(:-ms-input-placeholder){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{padding-top:.7rem;max-width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px\n );-moz-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1),width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1);transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1),width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1)}.form-floating>.form-control:not(:-ms-input-placeholder)~label{padding-top:.7rem;max-width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px\n );-ms-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1),width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1);transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1),width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label{padding-top:.7rem;max-width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px\n );-webkit-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1),width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1);transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1),width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1)}.form-floating>.form-control[type=file]:not(:-moz-placeholder-shown){padding-top:1.995rem}.form-floating>.form-control[type=file]:not(:-ms-input-placeholder){padding-top:1.995rem}.form-floating>.form-control[type=file]:focus,.form-floating>.form-control[type=file]:not(:placeholder-shown){padding-top:1.995rem}.form-floating>.form-select{padding-top:1.5rem;padding-bottom:0;background-size:32px 32px}.form-floating>.form-select~label{padding-top:.7rem;max-width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px\n );-webkit-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1),width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1);transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1),width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1)}.form-floating>.form-select:empty{padding-top:1.5rem;padding-bottom:0}.form-floating>.form-select:empty~label{padding-top:1.25rem;max-width:calc(100% - (4px));-webkit-transform:none;transform:none}.form-floating>.form-select[multiple]{padding-top:2.25rem;padding-bottom:0;height:auto}.form-floating>.form-select[multiple]~label{padding-top:.9558823529rem;padding-bottom:0;width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem\n );height:auto;background:#fff}.form-floating>.form-select[multiple]:empty~label{padding-top:1.25rem;padding-bottom:1.25rem;width:calc(\n 100% - (4px) - 1.375rem\n );height:4.375rem}.form-floating>textarea.form-control{padding-top:1.875rem;padding-bottom:1.25rem;height:auto}.form-floating>textarea.form-control~label{padding-bottom:0;width:calc(100% - (4px));max-width:none;height:unset}.form-floating>textarea.form-control:not(:-moz-placeholder-shown){padding-top:1.875rem;padding-bottom:1.25rem}.form-floating>textarea.form-control:not(:-ms-input-placeholder){padding-top:1.875rem;padding-bottom:1.25rem}.form-floating>textarea.form-control:focus,.form-floating>textarea.form-control:not(:placeholder-shown){padding-top:1.875rem;padding-bottom:1.25rem}.form-floating>textarea.form-control:not(:-moz-placeholder-shown)~label{padding-top:.9558823529rem;width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem\n );max-width:none;background:#fff}.form-floating>textarea.form-control:not(:-ms-input-placeholder)~label{padding-top:.9558823529rem;width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem\n );max-width:none;background:#fff}.form-floating>textarea.form-control:focus~label,.form-floating>textarea.form-control:not(:placeholder-shown)~label{padding-top:.9558823529rem;width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem\n );max-width:none;background:#fff}.form-floating>textarea.form-control:is(.is-valid,.is-invalid)~label{width:calc(\n 100% - (4px) - 1.375rem - 0.5rem -\n 2rem\n )}.form-floating>textarea.form-control:is(.is-valid,.is-invalid):not(:-moz-placeholder-shown)~label{width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem - 0.6538461538rem - 2.6153846154rem\n )}.form-floating>textarea.form-control:is(.is-valid,.is-invalid):not(:-ms-input-placeholder)~label{width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem - 0.6538461538rem - 2.6153846154rem\n )}.form-floating>textarea.form-control:is(.is-valid,.is-invalid):focus~label,.form-floating>textarea.form-control:is(.is-valid,.is-invalid):not(:placeholder-shown)~label{width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem - 0.6538461538rem - 2.6153846154rem\n )}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-floating>input::-webkit-input-placeholder,.form-floating>textarea::-webkit-input-placeholder{opacity:0}.form-floating>input::-moz-placeholder,.form-floating>textarea::-moz-placeholder{opacity:0}.form-floating>input:-ms-input-placeholder,.form-floating>textarea:-ms-input-placeholder{opacity:0}.form-floating>input::-ms-input-placeholder,.form-floating>textarea::-ms-input-placeholder{opacity:0}.form-floating>input::placeholder,.form-floating>textarea::placeholder{opacity:0}.form-floating>input::input-placeholder,.form-floating>textarea::input-placeholder{opacity:0}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:400px;--bs-breakpoint-rg:600px;--bs-breakpoint-md:780px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-xxl:1441px}.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)*.5);padding-left:calc(var(--bs-gutter-x)*.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.33333333%}.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.66666667%}.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.33333333%}.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.66666667%}.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.33333333%}.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.66666667%}.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.33333333%}.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.66666667%}.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.33333333%}.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.66666667%}.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.33333333%}.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.66666667%}.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.33333333%}.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.66666667%}.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-xxl,.container-xl{--bs-gutter-x:30px;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-right:auto;margin-left:auto}@media (min-width: 1280px){.container-xl,.container-lg,.container-md,.container-rg,.container-sm,.container{max-width:1280px}}@media (min-width: 1441px){.container-xxl,.container-xl,.container-lg,.container-md,.container-rg,.container-sm,.container{max-width:1440px}}.container{padding-inline:var(--post-container-padding-x)}.container-fluid{padding-inline:var(--post-container-fluid-padding-x)}.container{--post-container-padding-x:12px}.container-fluid{--post-container-fluid-padding-x:12px}.row{--bs-gutter-x:12px}@media (min-width: 400px){.container{--post-container-padding-x:16px}}@media (min-width: 400px){.container-fluid{--post-container-fluid-padding-x:16px}}@media (min-width: 400px){.row{--bs-gutter-x:16px}}@media (min-width: 780px){.container{--post-container-padding-x:32px}}@media (min-width: 780px){.container-fluid{--post-container-fluid-padding-x:32px}}@media (min-width: 1280px){.container{--post-container-padding-x:40px}}@media (min-width: 1441px){.container{--post-container-padding-x:120px}}.g-0,.gx-0{--bs-gutter-x:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}@media (min-width: 400px){.g-sm-0,.gx-sm-0{--bs-gutter-x:0}}@media (min-width: 400px){.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}}@media (min-width: 400px){.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}}@media (min-width: 400px){.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}}@media (min-width: 400px){.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}}@media (min-width: 400px){.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}}@media (min-width: 600px){.g-rg-0,.gx-rg-0{--bs-gutter-x:0}}@media (min-width: 600px){.g-rg-1,.gx-rg-1{--bs-gutter-x:0.25rem}}@media (min-width: 600px){.g-rg-2,.gx-rg-2{--bs-gutter-x:0.5rem}}@media (min-width: 600px){.g-rg-3,.gx-rg-3{--bs-gutter-x:1rem}}@media (min-width: 600px){.g-rg-4,.gx-rg-4{--bs-gutter-x:1.5rem}}@media (min-width: 600px){.g-rg-5,.gx-rg-5{--bs-gutter-x:3rem}}@media (min-width: 780px){.g-md-0,.gx-md-0{--bs-gutter-x:0}}@media (min-width: 780px){.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}}@media (min-width: 780px){.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}}@media (min-width: 780px){.g-md-3,.gx-md-3{--bs-gutter-x:1rem}}@media (min-width: 780px){.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}}@media (min-width: 780px){.g-md-5,.gx-md-5{--bs-gutter-x:3rem}}@media (min-width: 1024px){.g-lg-0,.gx-lg-0{--bs-gutter-x:0}}@media (min-width: 1024px){.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}}@media (min-width: 1024px){.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}}@media (min-width: 1024px){.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}}@media (min-width: 1024px){.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}}@media (min-width: 1024px){.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}}@media (min-width: 1280px){.g-xl-0,.gx-xl-0{--bs-gutter-x:0}}@media (min-width: 1280px){.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}}@media (min-width: 1280px){.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}}@media (min-width: 1280px){.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}}@media (min-width: 1280px){.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}}@media (min-width: 1280px){.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}}@media (min-width: 1441px){.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}}@media (min-width: 1441px){.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}}@media (min-width: 1441px){.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}}@media (min-width: 1441px){.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}}@media (min-width: 1441px){.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}}@media (min-width: 1441px){.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}}.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-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-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)and (max-width: 779.98px){.container-fluid-rg{padding-right:1rem;padding-left:1rem}}@media (min-width: 780px){.container-reset{margin-right:-32px;margin-left:-32px}}@media (min-width: 780px){.container-reset-left{margin-left:-32px}}@media (min-width: 780px){.container-reset-right{margin-right:-32px}}@media (min-width: 780px)and (max-width: 1023.98px){.container-fluid-md{padding-right:1rem;padding-left:1rem}}@media (min-width: 1024px)and (max-width: 1279.98px){.container-fluid-lg{padding-right:1rem;padding-left:1rem}}@media (min-width: 1280px){.container-reset{margin-right:-40px;margin-left:-40px}}@media (min-width: 1280px){.container-reset-left{margin-left:-40px}}@media (min-width: 1280px){.container-reset-right{margin-right:-40px}}@media (min-width: 1280px)and (max-width: 1440.98px){.container-fluid-xl{padding-right:1rem;padding-left:1rem}}@media (min-width: 1441px){.container-reset{margin-right:-120px;margin-left:-120px}}@media (min-width: 1441px){.container-reset-left{margin-left:-120px}}@media (min-width: 1441px){.container-reset-right{margin-right:-120px}}@media (min-width: 1441px){.container-fluid-xxl{padding-right:1rem;padding-left:1rem}}@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:700;font-style:italic;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-BdIt.woff2\") format(\"woff2\"),url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-BdIt.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:400;font-style:italic;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-It.woff2\") format(\"woff2\"),url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-It.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\")}@font-face{font-display:swap;font-family:\"Frutiger Neue For Post\";font-weight:300;font-style:italic;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-LtIt.woff2\") format(\"woff2\"),url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-LtIt.woff\") format(\"woff\")}.visually-hidden{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.btn-blank{background-color:rgba(0,0,0,0);border:none;border-radius:0;padding:0}.nav-link,.search-button{outline:none;outline-offset:2px;text-decoration:none;color:rgba(0,0,0,.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:rgba(0,0,0,0);-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:.5rem}.nav-link:is(:focus-visible,:focus-within,.pretend-focus),.search-button:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.nav-link:hover,.search-button:hover,.nav-link:focus,.search-button:focus{color:#000}.nav-link:is(:focus-visible,:focus-within,.pretend-focus),.search-button:is(:focus-visible,:focus-within,.pretend-focus){z-index:1;position:relative}.nav-link>svg,.search-button>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.nav-link>span,.search-button>span{-ms-flex-negative:1;flex-shrink:1}.no-list{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}*,: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}a,button{border-radius:4px;outline:none;outline-offset:2px}a:is(:focus-visible,:focus-within,.pretend-focus),button:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color);border-radius:4px}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:#fff}}.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}}@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}.search,:host{height:100%}.search-button{height:100%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;cursor:pointer;padding-right:calc(1rem - 1px);padding-left:calc(1rem - 1px)}@media (min-width: 1024px){.search-button{padding:0 calc(1.125rem - 1px)}}@media (min-width: 1280px){.search-button{padding:0 calc(1.5rem - 1px)}}.search-button svg{width:1.5rem;height:1.5rem}@media (min-width: 600px)and (max-width: 1023.98px){.search-button .visually-hidden{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible;font-weight:300;margin-right:.5rem;cursor:pointer}}.flyout{position:absolute;top:100%;left:0;width:100%;background:#fff;overflow:auto;-ms-scroll-chaining:none;overscroll-behavior:contain;padding-top:3.25rem;padding-bottom:3.25rem;z-index:-1;-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition:-webkit-transform .35s,-webkit-box-shadow .35s;transition:-webkit-transform .35s,-webkit-box-shadow .35s;transition:transform .35s,box-shadow .35s;transition:transform .35s,box-shadow .35s,-webkit-transform .35s,-webkit-box-shadow .35s}@media (prefers-reduced-motion: reduce){.flyout{-webkit-transition:none;transition:none}}@media (min-width: 1024px){.flyout{max-height:calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);-webkit-box-shadow:0 0 1px 0 rgba(0,0,0,.4);box-shadow:0 0 1px 0 rgba(0,0,0,.4)}.flyout.open{-webkit-box-shadow:0 0 8px 0 rgba(0,0,0,.4);box-shadow:0 0 8px 0 rgba(0,0,0,.4)}}@media (max-width: 1023.98px){.flyout{height:calc(100vh - var(--header-height) - 1px)}}.flyout.open{-webkit-transform:translateY(0);transform:translateY(0)}.form-floating .form-control,.form-floating .form-control+label{padding-right:5.625rem}.start-search-button,.clear-search-button{position:absolute;top:0;right:0;height:100%;padding-right:1rem;padding-left:.5rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;cursor:pointer;background:none;border:0;-webkit-box-shadow:none;box-shadow:none}.start-search-button svg,.clear-search-button svg{width:1.5rem;height:1.5rem}.clear-search-button{right:3rem;padding-right:.5rem;visibility:hidden}.suggestions{margin:1.5rem 0}.suggestions a{padding:.75rem 1rem}.suggestions a:hover,.suggestions a:focus,.suggestions a.selected{background:#f4f3f1}.suggestions a.parcel-suggestion{-ms-flex-wrap:wrap;flex-wrap:wrap}.search-recommendation__icon{height:1.5em;width:1.5em}";
292
+
293
+ const PostSearch = class {
294
+ constructor(hostRef) {
295
+ index.registerInstance(this, hostRef);
296
+ this.dropdownToggled = index.createEvent(this, "dropdownToggled", 7);
297
+ this.searchDropdownOpen = false;
298
+ this.coveoSuggestions = [];
299
+ this.placeSuggestions = [];
300
+ this.parcelSuggestion = null;
301
+ }
302
+ connectedCallback() {
303
+ this.throttledResize = index$1.throttle(300, () => this.handleResize());
304
+ window.addEventListener('resize', this.throttledResize, { passive: true });
305
+ }
306
+ disconnectedCallback() {
307
+ window.removeEventListener('resize', this.throttledResize);
308
+ bodyScrollLock_esm.clearAllBodyScrollLocks();
309
+ }
310
+ componentWillUpdate() {
311
+ // Check if search flyout got set to close
312
+ if (this.searchFlyout && !this.searchDropdownOpen) {
313
+ this.searchFlyout.classList.remove('open');
314
+ // Check if element has transition applied and whether user prefers to see animations or not
315
+ if (ui_service.elementHasTransition(this.searchFlyout, 'transform') && !ui_service.userPrefersReducedMotion()) {
316
+ // Wait for CSS transition 'transform' to end before continuing
317
+ return new Promise(resolve => {
318
+ if (this.searchFlyout === undefined) {
319
+ return resolve(true);
320
+ }
321
+ this.searchFlyout.addEventListener('transitionend', event => {
322
+ if (event.propertyName === 'transform') {
323
+ resolve(true);
324
+ }
325
+ });
326
+ });
327
+ }
328
+ }
329
+ }
330
+ componentDidUpdate() {
331
+ // Search flyout got set to open
332
+ if (this.searchFlyout && this.searchDropdownOpen) {
333
+ // Force browser to redraw/refresh DOM before adding 'open' class
334
+ this.searchFlyout.getBoundingClientRect();
335
+ this.searchFlyout.classList.add('open');
336
+ }
337
+ // Focus on the searchBox whenever the dropdown is opened
338
+ if (this.searchDropdownOpen && this.searchBox) {
339
+ this.searchBox.focus({ preventScroll: true });
340
+ }
341
+ }
342
+ /**
343
+ * Toggle the dropdown and optionally force an open/closed state
344
+ * @param force Boolean to force open/closed state
345
+ * @returns Boolean indicating open state of the component
346
+ */
347
+ async toggleDropdown(force) {
348
+ this.searchDropdownOpen =
349
+ force === undefined || typeof force !== 'boolean' ? !this.searchDropdownOpen : force;
350
+ this.dropdownToggled.emit({ open: this.searchDropdownOpen, element: this.host });
351
+ if (!this.searchDropdownOpen) {
352
+ // Reset suggestions when dropdown closes
353
+ this.coveoSuggestions = [];
354
+ this.placeSuggestions = [];
355
+ if (this.searchBox)
356
+ this.searchBox.value = '';
357
+ void this.setFocus();
358
+ }
359
+ else {
360
+ // Get basic suggestions when dropdown opens
361
+ try {
362
+ this.coveoSuggestions = await getCoveoSuggestions('');
363
+ }
364
+ catch (_a) { }
365
+ }
366
+ this.setBodyScroll();
367
+ return this.searchDropdownOpen;
368
+ }
369
+ /**
370
+ * Sets the focus on the search button
371
+ */
372
+ async setFocus() {
373
+ const shadowRoot = this.host.shadowRoot;
374
+ if (shadowRoot === null) {
375
+ return;
376
+ }
377
+ const toggleButton = shadowRoot.querySelector('.search-button');
378
+ if (toggleButton) {
379
+ toggleButton.focus();
380
+ }
381
+ }
382
+ handleResize() {
383
+ // Only enable/disable body scroll on resize if the search dropdown is open, otherwise this could lead to side effects in other controls
384
+ if (this.searchDropdownOpen) {
385
+ this.setBodyScroll();
386
+ }
387
+ }
388
+ /**
389
+ * Disable or re-enable body scrolling, depending on whether search dropdown is open or closed in mobile view (width < 1024px)
390
+ */
391
+ setBodyScroll() {
392
+ if (!this.searchFlyout) {
393
+ return;
394
+ }
395
+ if (this.searchDropdownOpen && window.innerWidth < 1024) {
396
+ bodyScrollLock_esm.disableBodyScroll(this.searchFlyout);
397
+ }
398
+ else {
399
+ bodyScrollLock_esm.enableBodyScroll(this.searchFlyout);
400
+ }
401
+ }
402
+ /**
403
+ * Fetch suggestions from all available sources
404
+ */
405
+ async handleSearchInput() {
406
+ var _a;
407
+ if (this.searchBox === undefined || ((_a = store.state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header.search) === undefined) {
408
+ return;
409
+ }
410
+ const query = this.searchBox.value.trim();
411
+ // shows or hides clearButton depending on the content of the searchbar
412
+ if (this.clearButton) {
413
+ if (query !== '') {
414
+ this.clearButton.style.visibility = 'visible';
415
+ }
416
+ else {
417
+ this.clearButton.style.visibility = 'hidden';
418
+ }
419
+ }
420
+ const [placeSuggestions, coveoSuggestions, trackAndTraceInfo] = await Promise.all([
421
+ queryPlaces(query),
422
+ getCoveoSuggestions(query),
423
+ getParcelSuggestion(query, store.state.localizedConfig.header.search),
424
+ ]);
425
+ this.parcelSuggestion = trackAndTraceInfo;
426
+ // Parcel suggestion is more important than any other
427
+ if (trackAndTraceInfo) {
428
+ this.placeSuggestions = [];
429
+ this.coveoSuggestions = [];
430
+ }
431
+ else {
432
+ [this.coveoSuggestions, this.placeSuggestions] = equalizeArrays(coveoSuggestions, placeSuggestions, 7);
433
+ }
434
+ this.deselectSuggestion();
435
+ }
436
+ /**
437
+ * clear Search box
438
+ * calls handleSearchInput to update/remove suggestions
439
+ */
440
+ handleClearSearchBox() {
441
+ if (this.searchBox !== undefined) {
442
+ this.searchBox.value = '';
443
+ this.handleSearchInput();
444
+ }
445
+ }
446
+ /**
447
+ * Start search on enter
448
+ * @param event
449
+ */
450
+ handleKeyDown(event) {
451
+ var _a, _b, _c, _d, _e;
452
+ if (this.searchFlyout === undefined) {
453
+ return;
454
+ }
455
+ const selectedSuggestion = this.searchFlyout.querySelector('.suggestions > li > a.selected');
456
+ const selectedHref = (_a = selectedSuggestion === null || selectedSuggestion === void 0 ? void 0 : selectedSuggestion.getAttribute('href')) !== null && _a !== void 0 ? _a : null;
457
+ const suggestions = this.searchFlyout.querySelectorAll('.suggestions > li > a');
458
+ switch (event.key.toLowerCase()) {
459
+ case 'enter':
460
+ if (selectedHref !== null) {
461
+ window.location.href = selectedHref;
462
+ }
463
+ else {
464
+ void this.startSearch();
465
+ }
466
+ break;
467
+ case 'arrowdown':
468
+ this.deselectSuggestion();
469
+ if ((_c = (_b = selectedSuggestion === null || selectedSuggestion === void 0 ? void 0 : selectedSuggestion.parentElement) === null || _b === void 0 ? void 0 : _b.nextElementSibling) === null || _c === void 0 ? void 0 : _c.firstElementChild) {
470
+ // Select next suggestion if there's any, otherwise none will be selected
471
+ selectedSuggestion.parentElement.nextElementSibling.firstElementChild.classList.add('selected');
472
+ // If there are any suggestions, select first suggestion in list
473
+ }
474
+ else if (suggestions.length > 0) {
475
+ suggestions[0].classList.add('selected');
476
+ }
477
+ this.updateSearchBoxWithSuggestion();
478
+ break;
479
+ case 'arrowup':
480
+ this.deselectSuggestion();
481
+ if ((_e = (_d = selectedSuggestion === null || selectedSuggestion === void 0 ? void 0 : selectedSuggestion.parentElement) === null || _d === void 0 ? void 0 : _d.previousElementSibling) === null || _e === void 0 ? void 0 : _e.firstElementChild) {
482
+ // Select previous suggestion if there's any, otherwise none will be selected
483
+ selectedSuggestion.parentElement.previousElementSibling.firstElementChild.classList.add('selected');
484
+ // If there are any suggestions, select last suggestion in list
485
+ }
486
+ else if (suggestions.length > 0) {
487
+ suggestions[suggestions.length - 1].classList.add('selected');
488
+ }
489
+ this.updateSearchBoxWithSuggestion();
490
+ break;
491
+ }
492
+ }
493
+ /**
494
+ * Set selected suggestion on mouse enter
495
+ * @param event
496
+ */
497
+ handleMouseEnterSuggestion(event) {
498
+ this.deselectSuggestion();
499
+ // Set hovered suggestion element as selected
500
+ event.target.classList.add('selected');
501
+ }
502
+ /**
503
+ * Set selected suggestion on mouse enter
504
+ * @param event
505
+ */
506
+ handleMouseLeaveSuggestions() {
507
+ this.deselectSuggestion();
508
+ }
509
+ /**
510
+ * Deselect any previously selected suggestion
511
+ */
512
+ deselectSuggestion() {
513
+ if (this.searchFlyout === undefined)
514
+ return;
515
+ const selectedSuggestion = this.searchFlyout.querySelector('.suggestions .selected');
516
+ if (selectedSuggestion) {
517
+ selectedSuggestion.classList.remove('selected');
518
+ }
519
+ }
520
+ /**
521
+ * Update search box with selected suggestion
522
+ */
523
+ updateSearchBoxWithSuggestion() {
524
+ if (this.searchFlyout === undefined)
525
+ return;
526
+ // Get the newly selected suggestion
527
+ const selectedSuggestion = this.searchFlyout.querySelector('.suggestions > li > a.selected');
528
+ const suggestedText = selectedSuggestion === null || selectedSuggestion === void 0 ? void 0 : selectedSuggestion.dataset.suggestionText;
529
+ // Update search box value with selected suggestion text
530
+ if (suggestedText !== undefined && this.searchBox) {
531
+ this.searchBox.value = suggestedText;
532
+ }
533
+ }
534
+ /**
535
+ * Redirect to the post search page
536
+ */
537
+ async startSearch() {
538
+ var _a;
539
+ if (this.searchBox && ((_a = store.state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header.search)) {
540
+ const redirectUrl = await getSearchRedirectUrl(this.searchBox.value.trim(), store.state.localizedConfig.header.search);
541
+ if (!redirectUrl)
542
+ return;
543
+ window.location.href = redirectUrl;
544
+ }
545
+ }
546
+ trackRecommendationClick(recommendation) {
547
+ if (!('dataLayer' in window))
548
+ return;
549
+ const trackingAttributes = recommendation.additionalAttributes.reduce((acc, curr) => {
550
+ acc[curr.name] = curr.value;
551
+ return acc;
552
+ }, {});
553
+ window.dataLayer.push({
554
+ event: trackingAttributes['data-event'],
555
+ text: trackingAttributes['data-text'],
556
+ link_url: trackingAttributes['data-linkurl'],
557
+ label: trackingAttributes['data-label'],
558
+ type: trackingAttributes['data-type'],
559
+ });
560
+ }
561
+ render() {
562
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
563
+ if (((_a = store.state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header) === undefined) {
564
+ return;
565
+ }
566
+ const { translations, search } = store.state.localizedConfig.header;
567
+ const isParcelTrackingNr = this.parcelSuggestion && 'sending' in this.parcelSuggestion;
568
+ const showPortalRecommendations = ((_b = this.searchBox) === null || _b === void 0 ? void 0 : _b.value) === '' && ((_c = search.searchRecommendations) === null || _c === void 0 ? void 0 : _c.links.length) > 0;
569
+ return (index.h(index.Host, { role: "search" }, index.h(svgSprite_component.SvgSprite, null), index.h("div", { class: "search" }, index.h("button", { id: "post-internet-header-search-button", class: "search-button", type: "button", "aria-expanded": `${this.searchDropdownOpen}`, onClick: e => void this.toggleDropdown(e) }, index.h("span", { class: "visually-hidden" }, this.searchDropdownOpen
570
+ ? translations.searchToggleExpanded
571
+ : translations.searchToggle), index.h(svgIcon_component.SvgIcon, { name: this.searchDropdownOpen ? 'pi-close' : 'pi-search' })), index.h(if_component.If, { condition: this.searchDropdownOpen }, index.h("div", { class: "flyout", ref: e => (this.searchFlyout = e) }, index.h("div", { class: "container box" }, index.h("div", { class: "row" }, index.h("div", { class: "col-xs-12 col-md-10 col-lg-8" }, index.h("div", { class: "form-group form-floating" }, index.h("input", { type: "text", role: "searchbox", id: "searchBox", class: "form-control form-control-lg", placeholder: translations.flyoutSearchBoxFloatingLabel, autocomplete: "off", ref: el => (this.searchBox = el), onInput: () => void this.handleSearchInput(), onKeyDown: e => this.handleKeyDown(e) }), index.h("label", { htmlFor: "searchBox" }, translations.flyoutSearchBoxFloatingLabel), index.h("button", { onClick: () => this.handleClearSearchBox(), class: "clear-search-button", type: "reset", id: "clearButton", ref: el => (this.clearButton = el) }, index.h("span", { class: "visually-hidden" }, language_service.translate('Delete search term')), index.h(svgIcon_component.SvgIcon, { name: "pi-close" })), index.h("button", { onClick: () => void this.startSearch(), class: "start-search-button" }, index.h("span", { class: "visually-hidden" }, translations.searchSubmit), index.h(svgIcon_component.SvgIcon, { name: "pi-search" }))), showPortalRecommendations && (index.h("h2", { id: "post-internet-header-search-recommendations-title", class: "bold" }, search.searchRecommendations.title)), index.h("ul", { class: "suggestions no-list", onMouseLeave: () => this.handleMouseLeaveSuggestions(), "aria-labelledby": showPortalRecommendations
572
+ ? 'post-internet-header-search-recommendations-title'
573
+ : undefined }, showPortalRecommendations &&
574
+ search.searchRecommendations.links.map(recommendation => (index.h("li", { key: recommendation.href }, index.h("a", { class: "nav-link search-recommendation", href: new URL(recommendation.href, 'https://post.ch').href, "data-suggestion-text": recommendation.label, onMouseEnter: e => this.handleMouseEnterSuggestion(e), onClick: () => this.trackRecommendationClick(recommendation) }, index.h("span", { class: "search-recommendation__icon", innerHTML: recommendation.inlineSvg }), index.h("span", null, recommendation.label))))), isParcelTrackingNr && (index.h("li", null, index.h("a", { class: "nav-link parcel-suggestion", href: this.parcelSuggestion.url, "data-suggestion-text": (_d = this.searchBox) === null || _d === void 0 ? void 0 : _d.value, onMouseEnter: e => this.handleMouseEnterSuggestion(e) }, index.h(svgIcon_component.SvgIcon, { name: "pi-letter-parcel" }), index.h("span", { class: "bold" }, (_f = (_e = this.parcelSuggestion) === null || _e === void 0 ? void 0 : _e.sending) === null || _f === void 0 ? void 0 :
575
+ _f.id, ":\u00A0"), index.h("span", null, [
576
+ (_h = (_g = this.parcelSuggestion) === null || _g === void 0 ? void 0 : _g.sending) === null || _h === void 0 ? void 0 : _h.product,
577
+ ' ' + ((_k = (_j = this.parcelSuggestion) === null || _j === void 0 ? void 0 : _j.sending) === null || _k === void 0 ? void 0 : _k.recipient.zipcode),
578
+ ' ' + ((_m = (_l = this.parcelSuggestion) === null || _l === void 0 ? void 0 : _l.sending) === null || _m === void 0 ? void 0 : _m.recipient.city),
579
+ ', ' + ((_p = (_o = this.parcelSuggestion) === null || _o === void 0 ? void 0 : _o.sending) === null || _p === void 0 ? void 0 : _p.state),
580
+ ]
581
+ .filter(s => s !== '' && s !== ' ')
582
+ .join(''))))), !showPortalRecommendations &&
583
+ this.coveoSuggestions &&
584
+ this.coveoSuggestions.map(suggestion => (index.h("li", { key: suggestion.objectId }, index.h("a", { class: "nav-link", href: suggestion.redirectUrl, "data-suggestion-text": suggestion.expression, onMouseEnter: e => this.handleMouseEnterSuggestion(e) }, index.h(svgIcon_component.SvgIcon, { name: "pi-search" }), index.h(HighlightedText, { text: suggestion.highlighted }))))), !showPortalRecommendations &&
585
+ this.placeSuggestions &&
586
+ this.placeSuggestions.map(suggestion => {
587
+ var _a, _b;
588
+ return (index.h("li", { key: suggestion.id }, index.h("a", { class: "nav-link", href: getPlacesUrl(suggestion), "data-suggestion-text": suggestion.name, onMouseEnter: e => this.handleMouseEnterSuggestion(e) }, index.h(svgIcon_component.SvgIcon, { name: "pi-place" }), index.h(HighlightedText, { text: highlightPlacesString((_b = (_a = this.searchBox) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.trim(), suggestion.name) }))));
589
+ }))))))))));
590
+ }
591
+ get host() { return index.getElement(this); }
592
+ };
593
+ PostSearch.style = postSearchCss;
594
+
595
+ exports.PostSearch = PostSearch;
596
+
597
+ //# sourceMappingURL=post-search-2232c291.js.map