@swisspost/internet-header 1.7.0 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/dist/cjs/{index-eb482698.js → index-92e9d4f8.js} +75 -22
  2. package/dist/cjs/index-92e9d4f8.js.map +1 -0
  3. package/dist/cjs/{language.service-830d8d9b.js → language.service-56d68ec3.js} +2 -2
  4. package/dist/cjs/{language.service-830d8d9b.js.map → language.service-56d68ec3.js.map} +1 -1
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/loader.cjs.js.map +1 -1
  7. package/dist/cjs/post-klp-login-widget.cjs.entry.js +3 -3
  8. package/dist/cjs/post-language-switch.cjs.entry.js +23 -17
  9. package/dist/cjs/post-language-switch.cjs.entry.js.map +1 -1
  10. package/dist/cjs/post-logo.cjs.entry.js +2 -2
  11. package/dist/cjs/post-main-navigation.cjs.entry.js +5 -5
  12. package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -1
  13. package/dist/cjs/post-meta-navigation.cjs.entry.js +2 -2
  14. package/dist/cjs/post-search.cjs.entry.js +8 -6
  15. package/dist/cjs/post-search.cjs.entry.js.map +1 -1
  16. package/dist/cjs/post-skiplinks.cjs.entry.js +5 -5
  17. package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -1
  18. package/dist/cjs/{store-a866bc4a.js → store-638313d5.js} +2 -2
  19. package/dist/cjs/{store-a866bc4a.js.map → store-638313d5.js.map} +1 -1
  20. package/dist/cjs/{svg-icon.component-83a42c36.js → svg-icon.component-f07628a9.js} +2 -2
  21. package/dist/cjs/{svg-icon.component-83a42c36.js.map → svg-icon.component-f07628a9.js.map} +1 -1
  22. package/dist/cjs/{svg-sprite.component-b8f7a7a7.js → svg-sprite.component-dc8e2e95.js} +2 -2
  23. package/dist/cjs/{svg-sprite.component-b8f7a7a7.js.map → svg-sprite.component-dc8e2e95.js.map} +1 -1
  24. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +5 -5
  25. package/dist/cjs/swisspost-internet-footer.cjs.entry.js +3 -3
  26. package/dist/cjs/swisspost-internet-header.cjs.entry.js +17 -17
  27. package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
  28. package/dist/cjs/swisspost-internet-header.cjs.js +2 -2
  29. package/dist/cjs/swisspost-internet-header.cjs.js.map +1 -1
  30. package/dist/collection/collection-manifest.json +1 -1
  31. package/dist/collection/components/post-internet-header/post-internet-header.js +1 -1
  32. package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -1
  33. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js +13 -6
  34. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js.map +1 -1
  35. package/dist/collection/components/post-language-switch/post-language-switch.js +1 -1
  36. package/dist/collection/components/post-language-switch/post-language-switch.js.map +1 -1
  37. package/dist/collection/components/post-main-navigation/post-main-navigation.js +1 -1
  38. package/dist/collection/components/post-main-navigation/post-main-navigation.js.map +1 -1
  39. package/dist/collection/components/post-search/post-search.css +53 -52
  40. package/dist/collection/components/post-search/post-search.js +3 -1
  41. package/dist/collection/components/post-search/post-search.js.map +1 -1
  42. package/dist/collection/components/post-skiplinks/post-skiplinks.js +1 -1
  43. package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +1 -1
  44. package/dist/components/post-language-switch2.js +18 -12
  45. package/dist/components/post-language-switch2.js.map +1 -1
  46. package/dist/components/post-main-navigation2.js +1 -1
  47. package/dist/components/post-main-navigation2.js.map +1 -1
  48. package/dist/components/post-search2.js +4 -2
  49. package/dist/components/post-search2.js.map +1 -1
  50. package/dist/components/post-skiplinks2.js +1 -1
  51. package/dist/components/post-skiplinks2.js.map +1 -1
  52. package/dist/components/store.js.map +1 -1
  53. package/dist/components/swisspost-internet-header.js +12 -12
  54. package/dist/components/swisspost-internet-header.js.map +1 -1
  55. package/dist/esm/{index-78606a15.js → index-35186c69.js} +75 -22
  56. package/dist/esm/index-35186c69.js.map +1 -0
  57. package/dist/esm/{language.service-b62eadfa.js → language.service-74bc1f43.js} +2 -2
  58. package/dist/esm/{language.service-b62eadfa.js.map → language.service-74bc1f43.js.map} +1 -1
  59. package/dist/esm/loader.js +3 -3
  60. package/dist/esm/loader.js.map +1 -1
  61. package/dist/esm/post-klp-login-widget.entry.js +3 -3
  62. package/dist/esm/post-language-switch.entry.js +23 -17
  63. package/dist/esm/post-language-switch.entry.js.map +1 -1
  64. package/dist/esm/post-logo.entry.js +2 -2
  65. package/dist/esm/post-main-navigation.entry.js +5 -5
  66. package/dist/esm/post-main-navigation.entry.js.map +1 -1
  67. package/dist/esm/post-meta-navigation.entry.js +2 -2
  68. package/dist/esm/post-search.entry.js +8 -6
  69. package/dist/esm/post-search.entry.js.map +1 -1
  70. package/dist/esm/post-skiplinks.entry.js +5 -5
  71. package/dist/esm/post-skiplinks.entry.js.map +1 -1
  72. package/dist/esm/{store-17acb817.js → store-b78e2d3b.js} +2 -2
  73. package/dist/esm/{store-17acb817.js.map → store-b78e2d3b.js.map} +1 -1
  74. package/dist/esm/{svg-icon.component-1497ec37.js → svg-icon.component-7bac7397.js} +2 -2
  75. package/dist/esm/{svg-icon.component-1497ec37.js.map → svg-icon.component-7bac7397.js.map} +1 -1
  76. package/dist/esm/{svg-sprite.component-bbdea5b3.js → svg-sprite.component-f319da57.js} +2 -2
  77. package/dist/esm/{svg-sprite.component-bbdea5b3.js.map → svg-sprite.component-f319da57.js.map} +1 -1
  78. package/dist/esm/swisspost-internet-breadcrumbs.entry.js +5 -5
  79. package/dist/esm/swisspost-internet-footer.entry.js +3 -3
  80. package/dist/esm/swisspost-internet-header.entry.js +17 -17
  81. package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
  82. package/dist/esm/swisspost-internet-header.js +3 -3
  83. package/dist/esm/swisspost-internet-header.js.map +1 -1
  84. package/dist/esm-es5/index-35186c69.js +3 -0
  85. package/dist/esm-es5/index-35186c69.js.map +1 -0
  86. package/dist/esm-es5/{language.service-b62eadfa.js → language.service-74bc1f43.js} +2 -2
  87. package/dist/esm-es5/loader.js +1 -1
  88. package/dist/esm-es5/loader.js.map +1 -1
  89. package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
  90. package/dist/esm-es5/post-language-switch.entry.js +1 -1
  91. package/dist/esm-es5/post-language-switch.entry.js.map +1 -1
  92. package/dist/esm-es5/post-logo.entry.js +1 -1
  93. package/dist/esm-es5/post-main-navigation.entry.js +1 -1
  94. package/dist/esm-es5/post-main-navigation.entry.js.map +1 -1
  95. package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
  96. package/dist/esm-es5/post-search.entry.js +1 -1
  97. package/dist/esm-es5/post-search.entry.js.map +1 -1
  98. package/dist/esm-es5/post-skiplinks.entry.js +1 -1
  99. package/dist/esm-es5/post-skiplinks.entry.js.map +1 -1
  100. package/dist/esm-es5/{store-17acb817.js → store-b78e2d3b.js} +2 -2
  101. package/dist/esm-es5/{store-17acb817.js.map → store-b78e2d3b.js.map} +1 -1
  102. package/dist/esm-es5/svg-icon.component-7bac7397.js +2 -0
  103. package/dist/esm-es5/{svg-sprite.component-bbdea5b3.js → svg-sprite.component-f319da57.js} +2 -2
  104. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +1 -1
  105. package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
  106. package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
  107. package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
  108. package/dist/esm-es5/swisspost-internet-header.js +1 -1
  109. package/dist/esm-es5/swisspost-internet-header.js.map +1 -1
  110. package/dist/swisspost-internet-header/{p-208f6e0d.system.entry.js → p-02bb40cf.system.entry.js} +2 -2
  111. package/dist/swisspost-internet-header/{p-03f017ef.system.entry.js → p-055f51f2.system.entry.js} +2 -2
  112. package/dist/swisspost-internet-header/p-21ef11a4.entry.js +2 -0
  113. package/dist/swisspost-internet-header/p-21ef11a4.entry.js.map +1 -0
  114. package/dist/swisspost-internet-header/{p-10df5210.js → p-22e64bf2.js} +2 -2
  115. package/dist/swisspost-internet-header/{p-10df5210.js.map → p-22e64bf2.js.map} +1 -1
  116. package/dist/swisspost-internet-header/p-2945db6c.js +3 -0
  117. package/dist/swisspost-internet-header/p-2945db6c.js.map +1 -0
  118. package/dist/swisspost-internet-header/{p-a6cde721.system.entry.js → p-2fd2c574.system.entry.js} +2 -2
  119. package/dist/swisspost-internet-header/p-2fd2c574.system.entry.js.map +1 -0
  120. package/dist/swisspost-internet-header/{p-7d94c528.system.entry.js → p-30335ce0.system.entry.js} +2 -2
  121. package/dist/swisspost-internet-header/p-32fe68f0.js +2 -0
  122. package/dist/swisspost-internet-header/{p-3d4741e0.system.js → p-3819c4ce.system.js} +2 -2
  123. package/dist/swisspost-internet-header/{p-3d4741e0.system.js.map → p-3819c4ce.system.js.map} +1 -1
  124. package/dist/swisspost-internet-header/{p-caaccb1b.entry.js → p-3f72b002.entry.js} +2 -2
  125. package/dist/swisspost-internet-header/{p-d05c1317.system.js → p-49fe20ff.system.js} +2 -2
  126. package/dist/swisspost-internet-header/{p-d05c1317.system.js.map → p-49fe20ff.system.js.map} +1 -1
  127. package/dist/swisspost-internet-header/{p-ee5ae350.system.js → p-4d015bfc.system.js} +2 -2
  128. package/dist/swisspost-internet-header/{p-7198fb8e.entry.js → p-5e5d587a.entry.js} +2 -2
  129. package/dist/swisspost-internet-header/p-5e9ba287.system.js +3 -0
  130. package/dist/swisspost-internet-header/p-5e9ba287.system.js.map +1 -0
  131. package/dist/swisspost-internet-header/p-6032d37e.entry.js +2 -0
  132. package/dist/swisspost-internet-header/p-6032d37e.entry.js.map +1 -0
  133. package/dist/swisspost-internet-header/{p-491deab8.entry.js → p-6a22a9c3.entry.js} +2 -2
  134. package/dist/swisspost-internet-header/{p-20d95fad.system.entry.js → p-6df0c486.entry.js} +2 -2
  135. package/dist/swisspost-internet-header/p-6df0c486.entry.js.map +1 -0
  136. package/dist/swisspost-internet-header/p-73b6ce0d.system.entry.js +2 -0
  137. package/dist/swisspost-internet-header/p-73b6ce0d.system.entry.js.map +1 -0
  138. package/dist/swisspost-internet-header/{p-1be304cd.js → p-8bd39c64.js} +2 -2
  139. package/dist/swisspost-internet-header/{p-2d6bb138.system.entry.js → p-8f34abed.system.entry.js} +2 -2
  140. package/dist/swisspost-internet-header/{p-6ae971d9.system.js → p-91035a2a.system.js} +2 -2
  141. package/dist/swisspost-internet-header/{p-248800c9.system.entry.js → p-996a552e.system.entry.js} +2 -2
  142. package/dist/swisspost-internet-header/p-9efee6d6.system.entry.js +2 -0
  143. package/dist/swisspost-internet-header/p-9efee6d6.system.entry.js.map +1 -0
  144. package/dist/swisspost-internet-header/{p-f7e7c0ff.entry.js → p-b9bcb22a.entry.js} +2 -2
  145. package/dist/swisspost-internet-header/p-c24585eb.entry.js +2 -0
  146. package/dist/swisspost-internet-header/{p-536e6ce1.entry.js.map → p-c24585eb.entry.js.map} +1 -1
  147. package/dist/swisspost-internet-header/{p-03a31033.entry.js → p-c435e138.entry.js} +2 -2
  148. package/dist/swisspost-internet-header/{p-9bbabe3d.entry.js → p-cce32859.entry.js} +2 -2
  149. package/dist/swisspost-internet-header/p-cce32859.entry.js.map +1 -0
  150. package/dist/swisspost-internet-header/{p-f98e732f.js → p-e2db30e1.js} +2 -2
  151. package/dist/swisspost-internet-header/p-f0396178.system.entry.js +2 -0
  152. package/dist/swisspost-internet-header/{p-c6df26bc.system.entry.js.map → p-f0396178.system.entry.js.map} +1 -1
  153. package/dist/swisspost-internet-header/{p-1e5511b0.system.js → p-f4f5ca86.system.js} +2 -2
  154. package/dist/swisspost-internet-header/p-f62f50ce.system.entry.js +2 -0
  155. package/dist/swisspost-internet-header/p-f62f50ce.system.entry.js.map +1 -0
  156. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
  157. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js.map +1 -1
  158. package/dist/swisspost-internet-header/swisspost-internet-header.js +1 -1
  159. package/dist/types/stencil-public-runtime.d.ts +1 -0
  160. package/package.json +11 -11
  161. package/dist/cjs/index-eb482698.js.map +0 -1
  162. package/dist/esm/index-78606a15.js.map +0 -1
  163. package/dist/esm-es5/index-78606a15.js +0 -3
  164. package/dist/esm-es5/index-78606a15.js.map +0 -1
  165. package/dist/esm-es5/svg-icon.component-1497ec37.js +0 -2
  166. package/dist/swisspost-internet-header/p-0f245a12.js +0 -2
  167. package/dist/swisspost-internet-header/p-1d492bf7.system.entry.js +0 -2
  168. package/dist/swisspost-internet-header/p-1d492bf7.system.entry.js.map +0 -1
  169. package/dist/swisspost-internet-header/p-20d95fad.system.entry.js.map +0 -1
  170. package/dist/swisspost-internet-header/p-536e6ce1.entry.js +0 -2
  171. package/dist/swisspost-internet-header/p-8e7844f9.system.js +0 -3
  172. package/dist/swisspost-internet-header/p-8e7844f9.system.js.map +0 -1
  173. package/dist/swisspost-internet-header/p-9bbabe3d.entry.js.map +0 -1
  174. package/dist/swisspost-internet-header/p-9e003388.js +0 -3
  175. package/dist/swisspost-internet-header/p-9e003388.js.map +0 -1
  176. package/dist/swisspost-internet-header/p-a6cde721.system.entry.js.map +0 -1
  177. package/dist/swisspost-internet-header/p-c6df26bc.system.entry.js +0 -2
  178. package/dist/swisspost-internet-header/p-d18bd8c3.system.entry.js +0 -2
  179. package/dist/swisspost-internet-header/p-d18bd8c3.system.entry.js.map +0 -1
  180. package/dist/swisspost-internet-header/p-d4c4656c.entry.js +0 -2
  181. package/dist/swisspost-internet-header/p-d4c4656c.entry.js.map +0 -1
  182. package/dist/swisspost-internet-header/p-e350a2cd.entry.js +0 -2
  183. package/dist/swisspost-internet-header/p-e350a2cd.entry.js.map +0 -1
  184. package/dist/swisspost-internet-header/p-fdbd28fa.entry.js +0 -2
  185. package/dist/swisspost-internet-header/p-fdbd28fa.entry.js.map +0 -1
  186. /package/dist/esm-es5/{language.service-b62eadfa.js.map → language.service-74bc1f43.js.map} +0 -0
  187. /package/dist/esm-es5/{svg-icon.component-1497ec37.js.map → svg-icon.component-7bac7397.js.map} +0 -0
  188. /package/dist/esm-es5/{svg-sprite.component-bbdea5b3.js.map → svg-sprite.component-f319da57.js.map} +0 -0
  189. /package/dist/swisspost-internet-header/{p-208f6e0d.system.entry.js.map → p-02bb40cf.system.entry.js.map} +0 -0
  190. /package/dist/swisspost-internet-header/{p-03f017ef.system.entry.js.map → p-055f51f2.system.entry.js.map} +0 -0
  191. /package/dist/swisspost-internet-header/{p-7d94c528.system.entry.js.map → p-30335ce0.system.entry.js.map} +0 -0
  192. /package/dist/swisspost-internet-header/{p-0f245a12.js.map → p-32fe68f0.js.map} +0 -0
  193. /package/dist/swisspost-internet-header/{p-caaccb1b.entry.js.map → p-3f72b002.entry.js.map} +0 -0
  194. /package/dist/swisspost-internet-header/{p-ee5ae350.system.js.map → p-4d015bfc.system.js.map} +0 -0
  195. /package/dist/swisspost-internet-header/{p-7198fb8e.entry.js.map → p-5e5d587a.entry.js.map} +0 -0
  196. /package/dist/swisspost-internet-header/{p-491deab8.entry.js.map → p-6a22a9c3.entry.js.map} +0 -0
  197. /package/dist/swisspost-internet-header/{p-1be304cd.js.map → p-8bd39c64.js.map} +0 -0
  198. /package/dist/swisspost-internet-header/{p-2d6bb138.system.entry.js.map → p-8f34abed.system.entry.js.map} +0 -0
  199. /package/dist/swisspost-internet-header/{p-6ae971d9.system.js.map → p-91035a2a.system.js.map} +0 -0
  200. /package/dist/swisspost-internet-header/{p-248800c9.system.entry.js.map → p-996a552e.system.entry.js.map} +0 -0
  201. /package/dist/swisspost-internet-header/{p-f7e7c0ff.entry.js.map → p-b9bcb22a.entry.js.map} +0 -0
  202. /package/dist/swisspost-internet-header/{p-03a31033.entry.js.map → p-c435e138.entry.js.map} +0 -0
  203. /package/dist/swisspost-internet-header/{p-f98e732f.js.map → p-e2db30e1.js.map} +0 -0
  204. /package/dist/swisspost-internet-header/{p-1e5511b0.system.js.map → p-f4f5ca86.system.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["LevelOneAction","props","TagName","level","url","h","class","active","isActiveOverride","focus","isOpen","href","title","_a","trim","_b","_c","text","undefined","tabindex","noFlyout","onTouchEnd","e","onKeyDown","onClick","postMainNavigationCss","PostMainNavigation","exports","this","resizeTimer","mouseLeaveTimer","mouseEnterTimer","class_1","prototype","connectedCallback","_this","throttledResize","throttle","handleResize","window","addEventListener","passive","setWindowHeight","disconnectedCallback","removeEventListener","clearAllBodyScrollLocks","clearTimeout","host","classList","add","setTimeout","remove","style","setProperty","concat","innerHeight","openFlyout","id","flyout","shadowRoot","getElementById","activeFlyout","addFlyoutAnimation","flyoutToggled","emit","closeFlyout","userPrefersReducedMotion","removeFlyoutAnimation","once","isActiveFlyout","handleMouseEnter","innerWidth","length","handleMouseLeave","handleTouchEnd","event","cancelable","preventDefault","handleKeyPress","key","handleClick","setBodyScroll","mobileMenuOpen","disableBodyScroll","flyoutElement","enableBodyScroll","toggleDropdown","force","dropdownToggled","open","element","setFocus","firstLink","querySelector","setActiveFlyout","render","state","localizedConfig","header","headerConfig","Host","SvgSprite","ref","el","translations","navMainAriaLabel","navMain","map","levelOne","onMouseLeave","onMouseEnter","SvgIcon","name","classNames","backButtonText","mobileNavToggleClose","linkList","link","target"],"sources":["src/components/post-main-navigation/components/level-one-action.component.tsx","src/components/post-main-navigation/post-main-navigation.scss?tag=post-main-navigation&encapsulation=shadow","src/components/post-main-navigation/post-main-navigation.tsx"],"sourcesContent":["import { h } from '@stencil/core';\nimport { NavMainEntity } from '../../../models/header.model';\n\nexport const LevelOneAction = (props: {\n level: NavMainEntity;\n isOpen: boolean;\n onTouchEnd: (e: any) => void;\n onKeyDown: (e: any) => void;\n onClick: (e: any) => void;\n}) => {\n const TagName = props.level.url ? 'a' : 'button';\n\n return (\n <TagName\n class={{\n 'main-link': true,\n 'active': !!props.level.isActiveOverride,\n 'focus': props.isOpen,\n }}\n href={props.level.url}\n title={\n props.level.title?.trim() && props.level.title?.trim() !== props.level.text?.trim()\n ? props.level.title\n : undefined\n }\n tabindex={props.level.url ? undefined : 0}\n aria-haspopup={!props.level.noFlyout + ''}\n aria-expanded={props.level.noFlyout ? null : props.isOpen + ''}\n onTouchEnd={e => props.onTouchEnd(e)}\n onKeyDown={e => props.onKeyDown(e)}\n onClick={e => props.onClick(e)}\n >\n <span>{props.level.text}</span>\n <svg aria-hidden=\"true\">\n <use href=\"#pi-pointy-arrow-right\" />\n </svg>\n </TagName>\n );\n};\n","@use '@swisspost/design-system-styles/variables/color';\n@use '@swisspost/design-system-styles/placeholders/text';\n@use '@swisspost/design-system-styles/functions';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n\n:host {\n --host-window-height: var(--window-height, 100vh);\n --calculated-header-height: calc(var(--header-height) + 1px);\n\n display: block;\n min-width: 0;\n height: var(--header-height);\n}\n\n:host(.no-animation) {\n * {\n animation: none !important;\n transition: none !important;\n }\n}\n\n.main-navigation,\n.main-container,\n.main-container li,\n.main-link {\n @include mixins.min(lg) {\n height: 100%;\n }\n}\n\n.main-navigation {\n font-size: functions.px-to-rem(18px);\n\n @include mixins.min(lg) {\n font-size: functions.px-to-rem(16px);\n margin: 0 0.75rem;\n }\n\n @include mixins.min(xl) {\n font-size: functions.px-to-rem(18px);\n }\n\n @include mixins.min(xxl) {\n font-size: functions.px-to-rem(20px);\n }\n\n @include mixins.max(lg) {\n position: absolute;\n top: var(--calculated-header-height);\n left: 0;\n background: white;\n height: calc(var(--host-window-height) - var(--calculated-header-height));\n width: 100%;\n margin: 0;\n overflow: hidden scroll;\n -webkit-overflow-scrolling: touch;\n overscroll-behavior: contain;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n z-index: -1;\n visibility: hidden;\n transform: translateY(-100%);\n transition: transform 0.35s, visibility 0.35s;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n &.open {\n transform: translateY(0);\n visibility: visible;\n }\n }\n}\n\n.main-container {\n @extend %no-list;\n\n display: flex;\n align-items: center;\n justify-content: flex-start;\n\n @include mixins.max(lg) {\n flex-direction: column;\n align-items: stretch;\n justify-content: flex-start;\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n\n > li + li {\n border-top: 1px solid color.$gray-10;\n }\n }\n\n @include mixins.min(lg) {\n padding-right: 0;\n padding-left: 0;\n }\n\n > li {\n flex: 0 1 auto;\n min-width: 0;\n }\n}\n\n.main-link {\n @extend %nav-link;\n\n display: flex;\n align-items: center;\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n text-align: left;\n cursor: pointer;\n width: 100%;\n\n @include mixins.min(lg) {\n svg {\n display: none;\n }\n }\n\n @include mixins.max(lg) {\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-weight: 300;\n padding: 0.625rem 0;\n width: 100%;\n text-align: left;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n }\n\n span {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n\n.main-link,\n.flyout-link {\n position: relative;\n color: black;\n\n &::after {\n content: '';\n position: absolute;\n bottom: -1px;\n left: 0;\n width: 100%;\n height: 4px;\n background-color: transparent;\n opacity: 0;\n transform: scaleX(0.8);\n transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1),\n transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n\n &:hover,\n &.focus {\n &::after {\n background-color: color.$gray-20;\n opacity: 1;\n transform: scale(1);\n }\n }\n\n &.active {\n font-weight: 700;\n\n &::after {\n background-color: color.$yellow;\n opacity: 1;\n transform: scale(1);\n }\n }\n}\n\n.flyout {\n left: 0;\n width: 100%;\n background: white;\n padding-bottom: 3rem;\n overflow: auto;\n overscroll-behavior: contain;\n visibility: hidden;\n\n @include mixins.min(lg) {\n position: absolute;\n top: 100%;\n max-height: calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);\n z-index: -1;\n box-shadow: 0 0 1px 0 rgb(0 0 0 / 40%);\n transform: translateY(-100%);\n\n &.open {\n box-shadow: 0 0 8px 0 rgb(0 0 0 / 40%);\n transform: translateY(0);\n }\n }\n\n @include mixins.max(lg) {\n position: fixed;\n top: 0;\n height: 100%;\n z-index: 1;\n transform: translateX(100%);\n\n &.open {\n transform: translateX(0);\n }\n }\n\n &.open {\n visibility: visible;\n }\n\n &.animate {\n transition: transform 0.35s, visibility 0.35s, box-shadow 0.35s;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n}\n\n.flyout-nav {\n @extend %font-curve-small;\n\n display: flex;\n justify-content: space-between;\n min-height: 3.5rem;\n\n // Change box-sizing to content-box to add 1px border width to flyout-nav hight.\n // This ensures flyout-nav has same hight as main-navigation-container.\n box-sizing: content-box;\n}\n\n.flyout-row {\n display: flex;\n gap: 1.5rem;\n\n @include mixins.max(lg) {\n display: grid;\n grid-template-columns: 1fr 1fr;\n }\n\n @include mixins.max(rg) {\n grid-template-columns: 1fr;\n }\n}\n\n.flyout-column {\n flex: 1;\n max-width: 25%;\n\n @include mixins.max(lg) {\n max-width: none;\n }\n\n h3 {\n @extend %font-curve-small;\n margin-top: 0;\n }\n}\n\n.flyout-back-button {\n @include mixins.container-padding();\n\n display: flex;\n align-items: center;\n font-size: functions.px-to-rem(16px);\n font-weight: 400;\n cursor: pointer;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n\n @include mixins.min(lg) {\n display: none;\n }\n}\n\n.flyout-close-button {\n @extend %nav-link;\n\n display: flex;\n align-items: center;\n margin-left: auto;\n padding: 0 1.5rem;\n cursor: pointer;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n\n @include mixins.max(lg) {\n display: none;\n }\n}\n\n.flyout-linklist {\n @extend %no-list;\n\n li {\n border-top: 1px solid color.$gray-10;\n }\n\n &:first-child > li {\n border-top-color: transparent;\n }\n}\n\n.flyout-link {\n @extend %nav-link;\n\n display: block;\n padding: 0.75rem 0;\n}\n\n.flyout-title {\n @extend %font-curve-bigger-regular;\n\n margin: 2.5rem 0 1.5rem 0;\n\n @include mixins.min(lg) {\n display: none;\n }\n}\n","import { Component, Host, h, State, Method, Event, Element, EventEmitter } from '@stencil/core';\nimport { throttle } from 'throttle-debounce';\nimport { disableBodyScroll, enableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock';\nimport { state } from '../../data/store';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n IsFocusable,\n NavMainEntity,\n} from '../../models/header.model';\nimport { userPrefersReducedMotion } from '../../services/ui.service';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { LevelOneAction } from './components/level-one-action.component';\n\n@Component({\n tag: 'post-main-navigation',\n styleUrl: 'post-main-navigation.scss',\n shadow: true,\n})\nexport class PostMainNavigation implements HasDropdown, IsFocusable {\n @State() activeFlyout: string | null;\n @State() mobileMenuOpen: boolean;\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\n @Event() flyoutToggled: EventEmitter<string | null>;\n @Element() host: DropdownElement;\n private throttledResize: throttle<() => void>;\n private resizeTimer: number | null = null;\n private mouseLeaveTimer: number | null = null;\n private mouseEnterTimer: number | null = null;\n private flyoutElement: HTMLElement | undefined;\n\n connectedCallback() {\n this.throttledResize = throttle(300, () => this.handleResize());\n window.addEventListener('resize', this.throttledResize, { passive: true });\n this.setWindowHeight();\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.throttledResize);\n clearAllBodyScrollLocks();\n if (this.mouseEnterTimer !== null) window.clearTimeout(this.mouseEnterTimer);\n if (this.mouseLeaveTimer !== null) window.clearTimeout(this.mouseLeaveTimer);\n }\n\n handleResize() {\n // Suspend all animations and transitions on window resize\n this.host.classList.add('no-animation');\n if (this.resizeTimer !== null) window.clearTimeout(this.resizeTimer);\n this.resizeTimer = window.setTimeout(() => {\n this.host.classList.remove('no-animation');\n }, 300);\n\n this.setWindowHeight();\n }\n\n // Update window height var\n setWindowHeight() {\n if (!this.host) {\n return;\n }\n this.host.style.setProperty('--window-height', `${window.innerHeight}px`);\n\n // Safari might or might not show a blank bar at the bottom where the browser\n // controls should be. This timeout waits for this bar to appear before resetting the available height\n window.setTimeout(() => {\n this.host.style.setProperty('--window-height', `${window.innerHeight}px`);\n }, 100);\n }\n\n openFlyout(id: string) {\n const flyout = this.host.shadowRoot?.getElementById(id);\n\n if (flyout && this.activeFlyout !== '') {\n // Add flyout animation if there's no flyout open\n this.addFlyoutAnimation(flyout);\n }\n\n this.activeFlyout = id;\n this.flyoutToggled.emit(id);\n this.setWindowHeight();\n\n if (this.mouseLeaveTimer !== null) {\n window.clearTimeout(this.mouseLeaveTimer);\n this.mouseLeaveTimer = null;\n }\n }\n\n closeFlyout(id?: string) {\n if (id === undefined) return;\n const flyout = this.host.shadowRoot?.getElementById(id);\n\n if (flyout) {\n // Add flyout animation for close action\n this.addFlyoutAnimation(flyout);\n }\n\n this.activeFlyout = null;\n this.flyoutToggled.emit();\n }\n\n addFlyoutAnimation(flyout: HTMLElement) {\n // Check if user prefers to see animations or not\n if (!userPrefersReducedMotion()) {\n flyout.classList.add('animate');\n\n // Remove flyout animation after transition ended\n flyout.addEventListener('transitionend', () => this.removeFlyoutAnimation(flyout), {\n once: true,\n });\n }\n }\n\n removeFlyoutAnimation(flyout: HTMLElement) {\n flyout.classList.remove('animate');\n }\n\n isActiveFlyout(id?: string) {\n return id === this.activeFlyout;\n }\n\n handleMouseEnter(level: NavMainEntity) {\n // Cancel opening the flyout if there already is one scheduled to open\n if (this.mouseEnterTimer !== null) {\n window.clearTimeout(this.mouseEnterTimer);\n this.mouseEnterTimer = null;\n }\n\n // Cancel closing if we enter again\n if (this.mouseLeaveTimer && this.activeFlyout === level.id) {\n window.clearTimeout(this.mouseLeaveTimer);\n this.mouseLeaveTimer = null;\n }\n\n if (window.innerWidth >= 1024 && level.flyout.length > 0 && this.activeFlyout !== level.id) {\n // Delay opening the flyout for a moment to give users a chance to move the mouse over the navigation without triggering the flyout\n this.mouseEnterTimer = window.setTimeout(() => {\n this.mouseEnterTimer = null;\n if (level.id !== undefined) this.openFlyout(level.id);\n }, 200);\n }\n }\n\n handleMouseLeave(level: NavMainEntity) {\n // Cancel opening the flyout if a mouseleave event happens before the flyout opened\n if (this.mouseEnterTimer !== null) {\n window.clearTimeout(this.mouseEnterTimer);\n }\n\n // Don't close an open flyout if the mouseleave is from another mainnav entry\n if (this.activeFlyout && this.activeFlyout !== level.id) {\n return;\n }\n\n if (window.innerWidth >= 1024 && level.flyout.length > 0) {\n // Allow the pointer to shortly leave the flyout without closing it. This\n // allows for user mistakes and makes the experience less nervous\n this.mouseLeaveTimer = window.setTimeout(() => {\n this.closeFlyout(level.id);\n }, 300);\n }\n }\n\n handleTouchEnd(event: TouchEvent, level: NavMainEntity) {\n if (!this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first touchstart and has a flyout, prevent link activation and open the flyout\n if (event.cancelable) event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n handleKeyPress(event: KeyboardEvent, level: NavMainEntity) {\n if (event.key === 'Enter' && !this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first enter keypress and has a flyout, prevent link activation and open the flyout\n event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n handleClick(event: MouseEvent, level: NavMainEntity) {\n if (!this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first click, always open the flyout, never the link\n // This is relevant for desktop with active screenreader which\n // translates an enter keypress to a click\n event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n /**\n * Disable or re-enable body scrolling, depending on whether mobile menu is open or closed\n */\n setBodyScroll() {\n if (this.mobileMenuOpen) {\n disableBodyScroll(this.flyoutElement);\n } else {\n enableBodyScroll(this.flyoutElement);\n }\n }\n\n /**\n * Toggle the main navigation (only visible on mobile)\n * @param force Force a state\n * @returns Boolean indicating new state\n */\n @Method()\n async toggleDropdown(force?: boolean) {\n this.mobileMenuOpen = force === undefined ? !this.mobileMenuOpen : force;\n this.dropdownToggled.emit({ open: this.mobileMenuOpen, element: this.host });\n\n if (force === false) {\n this.closeFlyout();\n }\n\n this.setBodyScroll();\n this.setWindowHeight();\n\n return this.mobileMenuOpen;\n }\n\n /**\n * Focus the main navigation toggle button\n */\n @Method()\n async setFocus() {\n const firstLink = this.host.shadowRoot?.querySelector<HTMLElement>('.main-link');\n if (firstLink) {\n firstLink.focus();\n }\n }\n\n /**\n * Open a specific flyout\n * @param id Flyout ID\n */\n @Method()\n async setActiveFlyout(id: string | null) {\n this.activeFlyout = id;\n this.flyoutToggled.emit(this.activeFlyout);\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) return;\n const headerConfig = state.localizedConfig.header;\n\n return (\n <Host>\n <SvgSprite />\n <nav\n id=\"post-internet-header-main-navigation\"\n class={{ 'main-navigation': true, 'open': this.mobileMenuOpen }}\n ref={el => (this.flyoutElement = el)}\n >\n <h1 class=\"visually-hidden\">{headerConfig.translations.navMainAriaLabel}</h1>\n <ul class=\"main-container container\">\n {headerConfig.navMain.map(levelOne => (\n <li\n key={levelOne.text}\n onMouseLeave={() => this.handleMouseLeave(levelOne)}\n onMouseEnter={() => this.handleMouseEnter(levelOne)}\n >\n <LevelOneAction\n level={levelOne}\n isOpen={this.isActiveFlyout(levelOne.id)}\n onTouchEnd={e => this.handleTouchEnd(e, levelOne)}\n onKeyDown={e => this.handleKeyPress(e, levelOne)}\n onClick={e => this.handleClick(e, levelOne)}\n />\n {!levelOne.noFlyout ? (\n <div\n id={levelOne.id}\n class={{ flyout: true, open: this.isActiveFlyout(levelOne.id) }}\n >\n <div class=\"wide-container\">\n <div class=\"flyout-nav\">\n <button\n class=\"nav-link flyout-back-button\"\n onClick={() => this.closeFlyout(levelOne.id)}\n >\n <SvgIcon name=\"pi-pointy-arrow-right\" classNames=\"mirrored\" />\n <span>{headerConfig.translations.backButtonText}</span>\n </button>\n <button\n class=\"flyout-close-button\"\n onClick={() => this.closeFlyout(levelOne.id)}\n >\n <span class=\"visually-hidden\">\n {headerConfig.translations.mobileNavToggleClose}\n </span>\n <SvgIcon name=\"pi-close\" />\n </button>\n </div>\n <h2 class=\"flyout-title container\">\n <a href={levelOne.url} class=\"nav-link\">\n {levelOne.text}\n </a>\n </h2>\n <div class=\"flyout-row container\">\n {levelOne.flyout.map(flyout => (\n <div key={flyout.title} class=\"flyout-column\">\n {flyout.title ? <h3>{flyout.title}</h3> : null}\n <ul class=\"flyout-linklist\">\n {flyout.linkList.map(link => (\n <li key={link.url}>\n <a\n class={{\n 'flyout-link': true,\n 'active': !!link?.isActiveOverride,\n }}\n href={link.url}\n target={link.target}\n >\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n </div>\n ))}\n </div>\n </div>\n </div>\n ) : null}\n </li>\n ))}\n </ul>\n <slot></slot>\n </nav>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,n,i){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,r){function a(e){try{l(i.next(e))}catch(e){r(e)}}function s(e){try{l(i["throw"](e))}catch(e){r(e)}}function l(e){e.done?n(e.value):o(e.value).then(a,s)}l((i=i.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},i,o,r,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(e){return function(t){return l([e,t])}}function l(s){if(i)throw new TypeError("Generator is already executing.");while(a&&(a=0,s[0]&&(n=0)),n)try{if(i=1,o&&(r=s[0]&2?o["return"]:s[0]?o["throw"]||((r=o["return"])&&r.call(o),0):o.next)&&!(r=r.call(o,s[1])).done)return r;if(o=0,r)s=[s[0]&2,r.value];switch(s[0]){case 0:case 1:r=s;break;case 4:n.label++;return{value:s[1],done:false};case 5:n.label++;o=s[1];s=[0];continue;case 7:s=n.ops.pop();n.trys.pop();continue;default:if(!(r=n.trys,r=r.length>0&&r[r.length-1])&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!r||s[1]>r[0]&&s[1]<r[3])){n.label=s[1];break}if(s[0]===6&&n.label<r[1]){n.label=r[1];r=s;break}if(r&&n.label<r[2]){n.label=r[2];n.ops.push(s);break}if(r[2])n.ops.pop();n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e];o=0}finally{i=r=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,t,n){if(n||arguments.length===2)for(var i=0,o=t.length,r;i<o;i++){if(r||!(i in t)){if(!r)r=Array.prototype.slice.call(t,0,i);r[i]=t[i]}}return e.concat(r||Array.prototype.slice.call(t))};System.register(["./p-8e7844f9.system.js","./p-9b4d5e90.system.js","./p-1e5511b0.system.js","./p-0c5624c0.system.js","./p-3d4741e0.system.js","./p-ee5ae350.system.js","./p-6ae971d9.system.js","./p-edb2802d.system.js"],(function(e){"use strict";var t,n,i,o,r,a,s,l,d,u,c,h,g,f,p;return{setters:[function(e){t=e.r;n=e.c;i=e.h;o=e.H;r=e.g},function(e){a=e.t;s=e.d},function(e){l=e.g;d=e.p},function(e){u=e.u},function(e){c=e.s;h=e.d},function(e){g=e.S},function(e){f=e.S},function(e){p=e.I}],execute:function(){var v=this;var m=function(e,t){if(t===false){return e}var n;e=b(e);if(t==="auto"||t==="exact"){if(y(e)){return w(e)}n=new URL(window.location.href)}else{try{n=new URL(t,document.location.origin)}catch(n){console.warn("Active Route: ".concat(t," is not a valid URL. Navigation highlighting has been disabled."));return e}}var i=x(e,n,t);if(i.length===0){return e}var o=i[0];o.main.isActiveOverride=true;if(o.sub)o.sub.isActiveOverride=true;return e};var y=function(e){return e.filter((function(e){return e.isActive})).length>0};var w=function(e){return e.map((function(e){return Object.assign(Object.assign({},e),{isActiveOverride:e.isActive,flyout:e.flyout.map((function(e){return Object.assign(Object.assign({},e),{linkList:e.linkList.map((function(e){return Object.assign(Object.assign({},e),{isActiveOverride:e.isActive})}))})}))})}))};var b=function(e){return e.map((function(e){return Object.assign(Object.assign({},e),{isActiveOverride:false,flyout:e.flyout.map((function(e){return Object.assign(Object.assign({},e),{linkList:e.linkList.map((function(e){return Object.assign(Object.assign({},e),{isActiveOverride:false})}))})}))})}))};var x=function(e,t,n){var i=false;var o=[];e.forEach((function(e){if(i||!e){return}try{var r=k(t,new URL(e.url),n);if(r>0){if(r===Infinity)i=true;o.push({main:e,score:r})}}catch(e){}if(e.flyout.length){e.flyout.forEach((function(r){if(r.linkList){r.linkList.forEach((function(r){if(r.isActive&&(n==="auto"||n==="exact")){i=true;return}try{var a=new URL(r.url);var s=k(t,a,n);if(s>0){if(s===Infinity)i=true;o.push({main:e,sub:r,score:s})}}catch(e){}}))}}))}}));return o.sort((function(e,t){return t.score-e.score}))};var k=function(e,t,n){if(!e||!t||e.origin!==t.origin){return 0}if(e.pathname===t.pathname){return Infinity}if(e.pathname.length<t.pathname.length){return 0}if(n==="auto"){var i=__spreadArray([e.origin],e.pathname.split("/").filter((function(e){return!!e})),true);var o=__spreadArray([t.origin],t.pathname.split("/").filter((function(e){return!!e})),true);var r=C(i,o);return Math.min(i.length,o.length)===r?r:0}return 0};var C=function(e,t){if(!(e===null||e===void 0?void 0:e.length)||!(t===null||t===void 0?void 0:t.length)){return 0}var n=0;for(;n<Math.min(e.length,t.length);n++){if(e[n]!==t[n]){return 0}}return n};var O=null;var j=null;var _=function(){var e=document.querySelector("#PPM_HEADER_DATA");if(e===null||e===void 0?void 0:e.textContent){return JSON.parse(e.textContent)}return null};var L=function(e){var t=e.projectId,n=e.environment,i=e.language,o=e.cookieKey,r=e.localStorageKey,a=e.activeRouteProp,s=e.localizedCustomConfig,u=e.osFlyoutOverrides;return __awaiter(v,void 0,void 0,(function(){var e,c,h,g,f,p,v;return __generator(this,(function(y){switch(y.label){case 0:h=_();f=null;if(!h)return[3,1];g=h;p=document.documentElement.lang;return[3,3];case 1:if(!O){O=E(t,n)}return[4,O];case 2:f=y.sent();p=l(Object.keys(f),i,r,o);if(p===undefined){throw new Error("Internet Header: unable to determine current language")}g=Object.assign({},f[p]);y.label=3;case 3:if(s){v=((e=s===null||s===void 0?void 0:s.header)===null||e===void 0?void 0:e.navMain)?Object.assign(Object.assign({},g.header),{navMain:__spreadArray(__spreadArray([],g.header.navMain,true),s.header.navMain,true)}):g.header;g=Object.assign(Object.assign({},g),{header:v})}if(u)g.header.navMain=S(g,u);if(a)g.header.navMain=m(g.header.navMain,a);A((c=g===null||g===void 0?void 0:g.header)===null||c===void 0?void 0:c.navMain);d(p,o,r);return[2,g]}}))}))};var S=function(e,t){if(!t)return e.header.navMain;return e.header.navMain.map((function(e){var n,i;if(e.id!=="flyout_os")return e;if(j===null){j=JSON.parse(JSON.stringify(e))}var o=(n=t.text)!==null&&n!==void 0?n:j.text;var r=(i=t.title)!==null&&i!==void 0?i:j.title;if(!j.flyout||j.flyout.length===0||!t.flyout||t.flyout.length===0)return Object.assign(Object.assign({},e),{title:r,text:o});var a=__spreadArray(__spreadArray([],j.flyout.map((function(e,n){var i;var o=t.flyout[n];var r=(i=o.title)!==null&&i!==void 0?i:e.title;var a=o.linkList?t.flyout[n].linkList:[];return{title:r,linkList:__spreadArray(__spreadArray([],e.linkList,true),a,true)}})),true),t.flyout.slice(j.flyout.length),true);return Object.assign(Object.assign({},e),{text:o,title:r,flyout:a})}))};var E=function(e,t){return __awaiter(v,void 0,void 0,(function(){var n,i,o;return __generator(this,(function(r){switch(r.label){case 0:if(!z(e)){throw new Error('Internet Header: invalid project id "'.concat(e,'"'))}if(e==="test"){t="int01"}n=F(e,t);r.label=1;case 1:r.trys.push([1,4,,5]);return[4,fetch(n)];case 2:i=r.sent();return[4,i.json()];case 3:return[2,r.sent()];case 4:o=r.sent();throw new Error("Internet Header: fetching config failed. ".concat(o.message));case 5:return[2]}}))}))};var F=function(e,t){if(e==="test")return"assets/config/test-configuration.json";var n=t.toLowerCase();var i=n==="prod";var o="https://".concat(i?"www":"int",".post.ch");try{return new URL("".concat(o,"/api/headerjs/Json?serviceid=").concat(encodeURIComponent(e)).concat(!i?"&environment="+n:"")).toString()}catch(e){throw new Error("Internet Header: Config URL is invalid.")}};var z=function(e){return e!==""&&e.length>0&&/^[a-zA-Z][\w-]*[a-zA-Z0-9]$/.test(e)};var D=function(e,t){var n;var i;try{i=typeof e==="string"?JSON.parse(e):e}catch(e){throw new Error("Internet Header: Custom config is invalid. Make sure your custom config contains valid JSON syntax and matches the definition. ")}var o=i[t];if((n=o===null||o===void 0?void 0:o.header)===null||n===void 0?void 0:n.navMain)A(o.header.navMain);return o};var A=function(e){e.forEach((function(e){e.id=e.id==="flyout_os"?e.id:u("main-nav-")}))};var N="@swisspost/internet-header";var R="1.7.0";var M="The header for client facing applications.";var K="Swiss Post <oss@post.ch>";var P="Apache-2.0";var T={type:"git",url:"https://github.com/swisspost/design-system.git"};var I="https://next.design-system.post.ch";var W={url:"https://github.com/swisspost/design-system/issues"};var H="loader/index.cjs.js";var J="loader/index.js";var U="loader/index.es2017.js";var B="loader/index.es2017.js";var q="loader/index.d.ts";var G="dist/collection/collection-manifest.json";var X="loader/cdn.js";var Y={access:"public"};var Z=["dist/","loader/"];var V={start:"stencil build --docs --watch",dev:"stencil build --watch --serve --docs",build:"stencil build --docs",test:"npm run unit",unit:"jest","unit:watch":"jest --watch",e2e:"cypress run","e2e:watch":"cypress open",clean:"rimraf www dist loader storybook-static",lint:"eslint src/**/*{.ts,.tsx}","lint:fix":"eslint src/**/*{.ts,.tsx} --fix",generate:"stencil generate"};var $={"@stencil/core":"3.2.1","@stencil/store":"2.0.5","body-scroll-lock":"4.0.0-beta.0","iframe-resizer":"4.3.6",jquery:"3.6.4",tabbable:"6.1.1","throttle-debounce":"5.0.0","url-polyfill":"1.1.12"};var Q={"@babel/core":"7.21.4","@percy/cli":"1.23.0","@percy/cypress":"3.1.2","@stencil/eslint-plugin":"0.4.0","@stencil/sass":"3.0.1","@swisspost/design-system-styles":"workspace:6.2.0","@types/iframe-resizer":"3.5.9","@types/jest":"27.5.2","@types/jquery":"3.5.16","@types/node":"18.15.12","@types/throttle-debounce":"5.0.0","babel-loader":"9.1.2",bootstrap:"5.2.3",cypress:"12.10.0","cypress-each":"1.13.1","cypress-storybook":"0.5.1","eslint-plugin-react":"7.32.2",globby:"13.1.4",jest:"27.5.1",rimraf:"4.4.1","rollup-plugin-node-polyfills":"0.2.1","rollup-plugin-scss":"4.0.0","rollup-plugin-visualizer":"5.9.0",sass:"1.62.0","start-server-and-test":"2.0.0","ts-jest":"27.1.5",typescript:"4.9.5"};var ee={name:N,version:R,description:M,author:K,license:P,repository:T,homepage:I,bugs:W,main:H,module:J,es2015:U,es2017:B,"jsnext:main":"loader/index.es2017.js",types:q,collection:G,"collection:main":"dist/collection/index.js",unpkg:X,publishConfig:Y,files:Z,scripts:V,dependencies:$,devDependencies:Q};var te='@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:700;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:400;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:300;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff") format("woff")}*,:host,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{font-family:"Frutiger Neue For Post", system-ui, sans-serif}button{font:inherit;padding:0}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:white}}.no-list{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}.btn-blank{background-color:transparent;border:none;border-radius:0;padding:0}.nav-link{text-decoration:none;color:rgba(0, 0, 0, 0.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:transparent;border-radius:0;-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.5rem}.nav-link:hover,.nav-link:focus{color:black}.nav-link>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.nav-link>span{-ms-flex-negative:1;flex-shrink:1}.box>*:first-child{margin-top:0}.box>*:last-child{margin-bottom:0}.mirrored{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.bold{font-weight:700}.light{font-weight:300}.d-flex{display:-ms-flexbox;display:flex}.d-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.align-items-center{-ms-flex-align:center;align-items:center}@media (min-width: 1441px){.wide-container{margin:0 auto;max-width:1440px}}@media (max-width: 599.98px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 600px) and (max-width: 1023.98px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}.visually-hidden{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}@media (max-width: -0.02px){.hidden-xs{display:none}}@media (max-width: 399.98px){.hidden-sm{display:none}}@media (max-width: 599.98px){.hidden-rg{display:none}}@media (max-width: 779.98px){.hidden-md{display:none}}@media (max-width: 1023.98px){.hidden-lg{display:none}}@media (max-width: 1279.98px){.hidden-xl{display:none}}@media (max-width: 1440.98px){.hidden-xxl{display:none}}:host{display:block;position:relative;font-size:1rem;font-weight:300;z-index:var(--header-z-index, 10);--header-height:3.5rem;--meta-header-height:0px;--language-dropdown-margin-top:0px}@media (min-width: 1024px){:host{--meta-header-height:3rem;--header-height:4rem}}@media (min-width: 1280px){:host{--header-height:4.5rem}}:host([meta=false]){--meta-header-height:0px;--language-dropdown-margin-top:1px}@supports ((position: -webkit-sticky) or (position: sticky)){:host(:not(.stickyness-none)){position:-webkit-sticky;position:sticky}:host(.stickyness-full){top:0}:host(.stickyness-main){top:calc(var(--meta-header-height, 0px) * -1)}:host(.stickyness-minimal){top:calc((var(--header-height, 0px) + var(--meta-header-height, 0px)) * -1);-webkit-transition:top 200ms ease-in;transition:top 200ms ease-in}:host(.stickyness-minimal.scrolling-up),:host(.stickyness-minimal.dropdown-open){top:calc(var(--meta-header-height, 0px) * -1);-webkit-transition:top 200ms ease-out;transition:top 200ms ease-out}}.post-internet-header{border-bottom:1px solid hsl(0, 0%, 90%);background-color:white}.main-navigation-container{display:-ms-flexbox;display:flex}.main-navigation-container>.main-navigation-controls{-ms-flex:0 0 auto;flex:0 0 auto}.main-navigation{display:-ms-flexbox;display:flex}.sub-navigation-container{position:absolute;top:100%;left:0;width:100%;display:-ms-flexbox;display:flex;background:white;visibility:hidden}.main-navigation-item:hover .sub-navigation-container{visibility:visible}.main-navigation-controls{display:-ms-flexbox;display:flex;margin-left:auto}@media (max-width: 1023.98px){.main-navigation-controls{font-weight:400}}@media (min-width: 1024px){.main-navigation-controls{font-size:1.0625rem}}.main-navigation-controls>*{border-left:1px solid hsl(0, 0%, 90%)}.menu-button{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:0 calc(1rem - 1px);font-weight:300;cursor:pointer;border-left:1px solid hsl(0, 0%, 90%);-ms-flex-order:1;order:1;}@media (min-width: 1024px){.menu-button{display:none}}@media (min-width: 600px) and (max-width: 1023.98px){.menu-button .visually-hidden{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible;margin-right:0.5rem}}.menu-button svg{width:1.5rem;height:1.5rem}.full-width .wide-container{max-width:none}';var ne=e("swisspost_internet_header",function(){function e(e){t(this,e);this.headerLoaded=n(this,"headerLoaded",7);this.lastScrollTop=window.scrollY||document.documentElement.scrollTop;this.lastWindowWidth=window.innerWidth;this.handleClickOutsideBound=this.handleClickOutside.bind(this);this.project=undefined;this.stickyness="minimal";this.language=undefined;this.meta=true;this.login=true;this.search=true;this.skiplinks=true;this.configProxy=undefined;this.environment="prod";this.languageSwitchOverrides=undefined;this.customConfig=undefined;this.languageCookieKey=undefined;this.languageLocalStorageKey="swisspost-internet-header-language";this.activeRoute="auto";this.osFlyoutOverrides=undefined;this.fullWidth=false;this.activeFlyout=null;this.activeDropdownElement=null;if(this.project===undefined||this.project===""||!z(this.project)){throw new Error('Internet Header project key is "'.concat(this.project,'". Please provide a valid project key.'))}}e.prototype.getCurrentLanguage=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){return[2,(e=c.currentLanguage)!==null&&e!==void 0?e:"de"]}))}))};e.prototype.connectedCallback=function(){var e=this;this.throttledScroll=a(300,(function(){return e.handleScrollEvent()}));this.debouncedResize=s(200,(function(){return e.handleResize()}));window.addEventListener("scroll",this.throttledScroll,{passive:true});window.addEventListener("resize",this.debouncedResize,{passive:true})};e.prototype.disconnectedCallback=function(){window.removeEventListener("scroll",this.throttledScroll);window.removeEventListener("resize",this.debouncedResize);h()};e.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){var e,t;return __generator(this,(function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);c.projectId=this.project;c.environment=this.environment;if(this.language!==undefined)c.currentLanguage=this.language;c.languageSwitchOverrides=typeof this.languageSwitchOverrides==="string"?JSON.parse(this.languageSwitchOverrides):this.languageSwitchOverrides;c.osFlyoutOverrides=typeof this.osFlyoutOverrides==="string"?JSON.parse(this.osFlyoutOverrides):this.osFlyoutOverrides;if(this.customConfig!==undefined&&c.currentLanguage!==null){c.localizedCustomConfig=D(this.customConfig,c.currentLanguage)}e=c;return[4,L({projectId:this.project,environment:this.environment,language:this.language,cookieKey:this.languageCookieKey,localStorageKey:this.languageLocalStorageKey,activeRouteProp:this.activeRoute,localizedCustomConfig:c.localizedCustomConfig,osFlyoutOverrides:c.osFlyoutOverrides})];case 1:e.localizedConfig=n.sent();return[3,3];case 2:t=n.sent();console.error(t);return[3,3];case 3:return[2]}}))}))};e.prototype.componentDidLoad=function(){var e=this;window.requestAnimationFrame((function(){e.handleResize();e.headerLoaded.emit();e.host.classList.add("header-loaded")}))};e.prototype.handleLanguageChange=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(n){switch(n.label){case 0:c.currentLanguage=e;t=c;return[4,L({projectId:this.project,environment:this.environment,language:e,cookieKey:this.languageCookieKey,localStorageKey:this.languageLocalStorageKey,activeRouteProp:this.activeRoute,localizedCustomConfig:c.localizedCustomConfig,osFlyoutOverrides:c.osFlyoutOverrides})];case 1:t.localizedConfig=n.sent();if(this.customConfig)c.localizedCustomConfig=D(this.customConfig,e);return[2]}}))}))};e.prototype.handleAvailableLanguagesChage=function(e){c.languageSwitchOverrides=typeof e==="string"?JSON.parse(e):e};e.prototype.handleOsFlyoutOverrides=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(n){switch(n.label){case 0:c.osFlyoutOverrides=typeof e==="string"?JSON.parse(e):e;t=c;return[4,L({projectId:this.project,environment:this.environment,language:this.language,cookieKey:this.languageCookieKey,localStorageKey:this.languageLocalStorageKey,activeRouteProp:this.activeRoute,localizedCustomConfig:c.localizedCustomConfig,osFlyoutOverrides:c.osFlyoutOverrides})];case 1:t.localizedConfig=n.sent();return[2]}}))}))};e.prototype.handleActiveRouteChange=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(n){switch(n.label){case 0:t=c;return[4,L({projectId:this.project,environment:this.environment,language:this.language,cookieKey:this.languageCookieKey,localStorageKey:this.languageLocalStorageKey,activeRouteProp:e,localizedCustomConfig:c.localizedCustomConfig,osFlyoutOverrides:c.osFlyoutOverrides})];case 1:t.localizedConfig=n.sent();return[2]}}))}))};e.prototype.handleCustomConfigChange=function(e){return __awaiter(this,void 0,void 0,(function(){var t,n;return __generator(this,(function(i){switch(i.label){case 0:if(this.language===undefined)return[2];t=D(e,this.language);c.localizedCustomConfig=t;n=c;return[4,L({projectId:this.project,environment:this.environment,language:this.language,cookieKey:this.languageCookieKey,localStorageKey:this.languageLocalStorageKey,activeRouteProp:this.activeRoute,localizedCustomConfig:t,osFlyoutOverrides:c.osFlyoutOverrides})];case 1:n.localizedConfig=i.sent();return[2]}}))}))};e.prototype.handleSearchChange=function(e){c.search=e};e.prototype.handleLoginChange=function(e){c.login=e};e.prototype.handleMetaChange=function(e){c.meta=e};e.prototype.handleLanguageChangeEvent=function(e){this.handleLanguageChange(e.detail)};e.prototype.handleClickOutside=function(e){if(this.activeDropdownElement&&!e.composedPath().includes(this.activeDropdownElement)){this.activeDropdownElement.toggleDropdown(false)}};e.prototype.handleKeyUp=function(e){if(e.key==="Escape"){if(this.activeDropdownElement){this.activeDropdownElement.toggleDropdown(false)}if(this.activeFlyout!==null&&this.mainNav){this.mainNav.toggleDropdown(false)}}};e.prototype.handleScrollEvent=function(){var e=window.scrollY||document.documentElement.scrollTop;if(this.stickyness==="minimal"){this.host.classList.toggle("scrolling-up",e<=this.lastScrollTop)}this.lastScrollTop=e<=0?0:e};e.prototype.handleResize=function(){var e;if(this.isMainNavOpen()&&this.lastWindowWidth<1024&&window.innerWidth>=1024){(e=this.activeDropdownElement)===null||e===void 0?void 0:e.toggleDropdown(false)}this.lastWindowWidth=window.innerWidth};e.prototype.handleDropdownToggled=function(e){var t=this;if(!e.detail.open&&this.activeDropdownElement!==e.detail.element){return}if(e.detail.open===true){if(this.activeDropdownElement){this.activeDropdownElement.toggleDropdown(false)}this.activeDropdownElement=e.detail.element;if(window.innerWidth>=1024){window.setTimeout((function(){window.addEventListener("click",t.handleClickOutsideBound)}),10)}if(this.activeFlyout!==null&&this.mainNav){this.mainNav.setActiveFlyout(null)}}else{this.activeDropdownElement=null;window.removeEventListener("click",this.handleClickOutsideBound)}};e.prototype.handleFlyoutToggled=function(e){this.activeFlyout=e.detail;if(this.activeDropdownElement&&e.detail&&!this.isMainNavOpen()){this.activeDropdownElement.toggleDropdown(false)}};e.prototype.toggleMobileDropdown=function(){var e;(e=this.mainNav)===null||e===void 0?void 0:e.toggleDropdown()};e.prototype.isMainNavOpen=function(){return this.activeDropdownElement&&this.activeDropdownElement.tagName==="POST-MAIN-NAVIGATION"};e.prototype.render=function(){var e=this;var t,n,r;if(!((t=c.localizedConfig)===null||t===void 0?void 0:t.header)){console.error(new Error("Internet Header: Config cannot be loaded"));return}var a=c.localizedConfig;var s=this.meta&&a.header.navMeta!==undefined&&((n=a.header.navMeta)===null||n===void 0?void 0:n.filter((function(e){return!e.isHomeLink})).length)>0;var l=((r=this.login)!==null&&r!==void 0?r:!a.header.isLoginWidgetHidden)&&a.header.loginWidgetOptions;var d=a.header.navLang.length>1;return i(o,{class:"stickyness-".concat(this.stickyness," ").concat(this.activeDropdownElement||this.activeFlyout?"dropdown-open":""),"data-version":ee.version,onKeyup:function(t){return e.handleKeyUp(t)}},i("header",{class:"post-internet-header".concat(this.fullWidth?" full-width":"")},i(g,null),i(p,{condition:this.skiplinks===true},i("post-skiplinks",null)),i(p,{condition:s===true},i("post-meta-navigation",{orientation:"horizontal",class:"hidden-lg","full-width":this.fullWidth},i(p,{condition:d===true},i("post-language-switch",{id:"post-language-switch-desktop",mode:"dropdown",onDropdownToggled:function(t){return e.handleDropdownToggled(t)}})))),i("div",{class:"main-navigation-container wide-container"},i("post-logo",null),i("button",{class:"menu-button nav-link",onClick:function(){return e.toggleMobileDropdown()}},i("span",{class:"menu-button-text visually-hidden"},a.header.mobileMenu.text),i(f,{name:this.isMainNavOpen()?"pi-close":"pi-menu"})),i("post-main-navigation",{onDropdownToggled:function(t){return e.handleDropdownToggled(t)},onFlyoutToggled:function(t){return e.handleFlyoutToggled(t)},ref:function(t){return e.mainNav=t}},i(p,{condition:s===true},i("post-meta-navigation",{orientation:"vertical"},i(p,{condition:d===true},i("post-language-switch",{id:"post-language-switch-mobile",mode:"list"}))))),i("div",{class:"main-navigation-controls"},i(p,{condition:this.search!==false},i("post-search",{onDropdownToggled:function(t){return e.handleDropdownToggled(t)}})),i(p,{condition:!!l},i("post-klp-login-widget",null,i("slot",{name:"login-widget"}))),i(p,{condition:s===false&&d===true},i("post-language-switch",{id:"post-language-switch-no-meta",onDropdownToggled:function(t){return e.handleDropdownToggled(t)},mode:"dropdown"})),i("slot",{name:"main"})))))};Object.defineProperty(e.prototype,"host",{get:function(){return r(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{language:["handleLanguageChange"],languageSwitchOverrides:["handleAvailableLanguagesChage"],osFlyoutOverrides:["handleOsFlyoutOverrides"],activeRoute:["handleActiveRouteChange"],customConfig:["handleCustomConfigChange"],search:["handleSearchChange"],login:["handleLoginChange"],meta:["handleMetaChange"]}},enumerable:false,configurable:true});return e}());ne.style=te}}}));
2
- //# sourceMappingURL=p-c6df26bc.system.entry.js.map
@@ -1,2 +0,0 @@
1
- var __awaiter=this&&this.__awaiter||function(o,t,e,r){function i(o){return o instanceof e?o:new e((function(t){t(o)}))}return new(e||(e=Promise))((function(e,n){function a(o){try{s(r.next(o))}catch(o){n(o)}}function l(o){try{s(r["throw"](o))}catch(o){n(o)}}function s(o){o.done?e(o.value):i(o.value).then(a,l)}s((r=r.apply(o,t||[])).next())}))};var __generator=this&&this.__generator||function(o,t){var e={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},r,i,n,a;return a={next:l(0),throw:l(1),return:l(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function l(o){return function(t){return s([o,t])}}function s(l){if(r)throw new TypeError("Generator is already executing.");while(a&&(a=0,l[0]&&(e=0)),e)try{if(r=1,i&&(n=l[0]&2?i["return"]:l[0]?i["throw"]||((n=i["return"])&&n.call(i),0):i.next)&&!(n=n.call(i,l[1])).done)return n;if(i=0,n)l=[l[0]&2,n.value];switch(l[0]){case 0:case 1:n=l;break;case 4:e.label++;return{value:l[1],done:false};case 5:e.label++;i=l[1];l=[0];continue;case 7:l=e.ops.pop();e.trys.pop();continue;default:if(!(n=e.trys,n=n.length>0&&n[n.length-1])&&(l[0]===6||l[0]===2)){e=0;continue}if(l[0]===3&&(!n||l[1]>n[0]&&l[1]<n[3])){e.label=l[1];break}if(l[0]===6&&e.label<n[1]){e.label=n[1];n=l;break}if(n&&e.label<n[2]){e.label=n[2];e.ops.push(l);break}if(n[2])e.ops.pop();e.trys.pop();continue}l=t.call(o,e)}catch(o){l=[6,o];i=0}finally{r=n=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:true}}};System.register(["./p-8e7844f9.system.js","./p-9b4d5e90.system.js","./p-b3014611.system.js","./p-3d4741e0.system.js","./p-88aac12c.system.js","./p-ee5ae350.system.js","./p-6ae971d9.system.js","./p-edb2802d.system.js"],(function(o){"use strict";var t,e,r,i,n,a,l,s,c,d,f,m,g,u,p;return{setters:[function(o){t=o.h;e=o.r;r=o.c;i=o.H;n=o.g},function(o){a=o.t},function(o){l=o.c;s=o.d;c=o.e},function(o){d=o.s},function(o){f=o.e;m=o.u},function(o){g=o.S},function(o){u=o.S},function(o){p=o.I}],execute:function(){var h=this;var x=function(o){var t=d.currentLanguage;return"https://www.post.ch/".concat(t,"/api/trackandtrace?id=").concat(encodeURIComponent(o))};var b=function(o,t){var e=t.packageTrackingRedirectUrl;return e.replace("{trackingNumber}",encodeURIComponent(o))};var w=function(o,t){return __awaiter(h,void 0,void 0,(function(){var e;return __generator(this,(function(r){switch(r.label){case 0:return[4,v(o,t)];case 1:e=r.sent();return[2,e.ok]}}))}))};var v=function(o,t){var e=t.redirectPattern;return __awaiter(h,void 0,void 0,(function(){var t,r,i,n;return __generator(this,(function(a){switch(a.label){case 0:t=new RegExp(e);if(!t.test(o))return[3,5];a.label=1;case 1:a.trys.push([1,4,,5]);return[4,fetch(x(o))];case 2:r=a.sent();return[4,r.json()];case 3:i=a.sent();return[2,Object.assign(Object.assign({},i),{ok:i.ok==="true"})];case 4:n=a.sent();console.warn("Could not check track and trace API due to error: ".concat(n.message));return[3,5];case 5:return[2,{ok:false,timestamp:(new Date).toDateString()}]}}))}))};var k=function(o,t){return __awaiter(h,void 0,void 0,(function(){var e;return __generator(this,(function(r){switch(r.label){case 0:return[4,v(o,t)];case 1:e=r.sent();return[2,e.ok?Object.assign(Object.assign({},e),{url:b(o,t)}):null]}}))}))};var y=function(o,t){return __awaiter(h,void 0,void 0,(function(){var e;return __generator(this,(function(r){switch(r.label){case 0:return[4,w(o,t)];case 1:e=r.sent();return[2,e?b(o,t):z(o)]}}))}))};var z=function(o){var t;if(((t=d.localizedConfig)===null||t===void 0?void 0:t.header.search)===undefined){return}var e=d.localizedConfig.header.search.searchPageUrl;var r="#q=".concat(encodeURIComponent(o));return"".concat(e).concat(r,"&t=AllTab")};var E=function(o,t,e){if(e===void 0){e=7}var r=o.slice(0,Math.max(e/2,e-t.length));return[r,t.slice(0,e-r.length)]};var C={url:"https://platform-eu.cloud.coveo.com/rest/search/v2/querySuggest",environment:{prod:{organisation:"postchagprod6ef4sbet",token:"xx5b629890-23b9-4fbe-b601-0e8719186969"},int01:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"},int02:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"},dev01:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"},dev02:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"},devs1:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"},test:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"}}};var S=function(o){return __awaiter(h,void 0,void 0,(function(){var t,e,r,i,n,a,l,s,c,f,m;return __generator(this,(function(g){switch(g.label){case 0:if(((e=(t=d.localizedConfig)===null||t===void 0?void 0:t.header)===null||e===void 0?void 0:e.search)===undefined)return[2,[]];r=d.localizedConfig.header.search;i=C.environment[d.environment],n=i.token,a=i.organisation;l="".concat(C.url,"?q=").concat(o,"&locale=").concat(d.currentLanguage,"&searchHub=").concat(r.searchHubName,"&pipeline=").concat(r.searchPipelineName,"&organizationId=").concat(a);g.label=1;case 1:g.trys.push([1,4,,5]);return[4,fetch(l,{method:"GET",headers:{Authorization:"Bearer ".concat(n)}})];case 2:c=g.sent();return[4,c.json()];case 3:f=g.sent();s=f.completions.map((function(o){return Object.assign(Object.assign({},o),{redirectUrl:z(o.expression)})}));return[3,5];case 4:m=g.sent();console.error('Connection to coveo failed. Did you add "*.coveo.com" to your connect-src content security policy and tried turning off your adblocker?');return[3,5];case 5:return[2,s===undefined?[]:s]}}))}))};var L="https://places.post.ch/StandortSuche/StaoCacheService";var F="https://places.post.ch";var T=function(o){return o.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"")};var O=function(o){return __awaiter(h,void 0,void 0,(function(){var t,e,r,i,n;return __generator(this,(function(a){switch(a.label){case 0:if(o.length===0){return[2,[]]}t=Object.entries({query:encodeURIComponent(o),lang:d.currentLanguage,limit:7}).reduce((function(o,t,e){var r=t[0],i=t[1];return"".concat(o).concat(e===0?"?":"&").concat(r,"=").concat(i)}),"");e="".concat(L,"/Geocode").concat(t);a.label=1;case 1:a.trys.push([1,4,,5]);return[4,fetch(e)];case 2:r=a.sent();return[4,r.json()];case 3:i=a.sent();if(!i.ok){throw new Error(i.info)}return[2,i.locations];case 4:n=a.sent();console.error('Fetching places failed. Did you add "places.post.ch" to your connect-src content security policy?');throw n;case 5:return[2]}}))}))};var R=function(o,t){if(o===undefined)return t;var e=T(t);var r=T(o);var i=e.indexOf(r);if(i<0){return t}return"".concat(t.substring(0,i),"{").concat(t.substring(i,i+o.length),"}").concat(t.substring(i+o.length,t.length))};var I=function(o){var t;if(o.id){t="".concat(F,"/").concat(d.currentLanguage,"/").concat(o.id,"/detail")}else{t="".concat(F,"?preselecttext=").concat(encodeURIComponent(o.name))}return t};var _=function(o){var e;var r=(e=o.highlightClass)!==null&&e!==void 0?e:"bold";var i=o.text.replace(/[{(]/g,'<span class="'.concat(r,'">')).replace(/[})]/g,"</span>").replace(/[\[\]]/g,"");return t("span",{innerHTML:i})};var B="@charset \"UTF-8\";/*!\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:0.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:0.25rem;font-size:0.8125rem;color:var(--post-contrast-color)}.form-control{display:block;width:100%;padding:0.875rem 1.125rem;font-size:1rem;font-weight:400;line-height:1.5;color:#000;background-color:#fff;background-clip:padding-box;border:2px solid hsl(0, 0%, 40%);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;-webkit-transition:border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.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:#000;outline:0;-webkit-box-shadow:0 0 0 0.125rem rgba(51, 51, 51, 0.25);box-shadow:0 0 0 0.125rem rgba(51, 51, 51, 0.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-webkit-input-placeholder{color:hsl(0, 0%, 40%);opacity:1}.form-control::-moz-placeholder{color:hsl(0, 0%, 40%);opacity:1}.form-control:-ms-input-placeholder{color:hsl(0, 0%, 40%);opacity:1}.form-control::-ms-input-placeholder{color:hsl(0, 0%, 40%);opacity:1}.form-control::placeholder{color:hsl(0, 0%, 40%);opacity:1}.form-control:disabled{color:hsl(0, 0%, 40%);background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6);border-color:hsl(0, 0%, 80%);opacity:1}.form-control::-webkit-file-upload-button{padding:0.875rem 1.125rem;margin:-0.875rem -1.125rem;-webkit-margin-end:1.125rem;margin-inline-end:1.125rem;color:#000;background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6);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:0.875rem 1.125rem;margin:-0.875rem -1.125rem;-webkit-margin-end:1.125rem;margin-inline-end:1.125rem;color:#000;background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6);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:0.875rem 0;margin-bottom:0;line-height:1.5;color:var(--post-contrast-color);background-color:transparent;border:solid transparent;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:0.375rem 0.875rem;font-size:0.875rem;border-radius:0}.form-control-sm::-webkit-file-upload-button{padding:0.375rem 0.875rem;margin:-0.375rem -0.875rem;-webkit-margin-end:0.875rem;margin-inline-end:0.875rem}.form-control-sm::file-selector-button{padding:0.375rem 0.875rem;margin:-0.375rem -0.875rem;-webkit-margin-end:0.875rem;margin-inline-end:0.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:0.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-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)}.form-select{display:block;width:100%;padding:0.875rem 3.375rem 0.875rem 1.125rem;-moz-padding-start:calc(1.125rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#000;background-color:#fff;background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath opacity='1' fill='%23000000' d='M27.6 10.667l-11.6 11.6-11.467-11.6-1.067 1.067 12.533 12.4 12.533-12.4z'%3E%3C/path%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 1.125rem center;background-size:14px 14px;border:2px solid hsl(0, 0%, 40%);border-radius:0;-webkit-transition:border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion: reduce){.form-select{-webkit-transition:none;transition:none}}.form-select:focus{border-color:#000;outline:0;-webkit-box-shadow:0 0 0 0.125rem rgba(51, 51, 51, 0.25);box-shadow:0 0 0 0.125rem rgba(51, 51, 51, 0.25)}.form-select[multiple],.form-select[size]:not([size=\"1\"]){padding-right:1.125rem;background-image:none}.form-select:disabled{color:hsl(0, 0%, 40%);background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6);border-color:hsl(0, 0%, 80%)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.form-select-sm{padding-top:0.375rem;padding-bottom:0.375rem;padding-left:0.875rem;font-size:0.875rem;border-radius:0}.form-select-lg{padding-top:1.25rem;padding-bottom:1.25rem;padding-left:1.375rem;font-size:1.25rem;border-radius:0}.form-check{display:block;min-height:1.5rem;padding-left:0;margin-bottom:1rem}.form-check .form-check-input{float:left;margin-left:0}.form-check-reverse{padding-right:0;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:0;margin-left:0}.form-check-input{width:1.5rem;height:1.5rem;margin-top:0rem;vertical-align:top;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:contain;border:2px solid hsl(0, 0%, 40%);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:0}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{-webkit-filter:none;filter:none}.form-check-input:focus{border-color:#000;outline:0;-webkit-box-shadow:0 0 0 0.125rem rgba(0, 0, 0, 0.25);box-shadow:0 0 0 0.125rem rgba(0, 0, 0, 0.25)}.form-check-input:checked{background-color:transparent;border-color:#000}.form-check-input:checked[type=checkbox]{background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath opacity='1' fill='%23000000' d='M12.667 23.6l-7.2-7.067 1.067-1.067 6.133 6.267 12.8-12.933 1.067 1.067z'%3E%3C/path%3E%3C/svg%3E\")}.form-check-input:checked[type=radio]{background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' viewBox='-3 -3 6 6'%3E%3Ccircle opacity='1' fill='%23000000' r='2'%3E%3C/circle%3E%3C/svg%3E\")}.form-check-input[type=checkbox]:indeterminate{background-color:transparent;border-color:#000;background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath opacity='1' fill='%23000000' d='M5.333 16.010l20-0.021 0.001 1.333-20 0.021-0.001-1.333z'%3E%3C/path%3E%3C/svg%3E\")}.form-check-input:disabled{pointer-events:none;-webkit-filter:none;filter:none;opacity:0.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:0.5}.form-check-label{color:rgba(var(--post-contrast-color-rgb), 0.8);cursor:pointer}.form-switch{padding-left:0}.form-switch .form-check-input{width:4rem;margin-left:0;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-16 -16 32 32'%3e%3ccircle r='15' stroke='hsl%280, 0%, 40%%29' stroke-width='2' fill='%23fff'/%3e%3c/svg%3e\");background-position:left center;border-radius:4rem;-webkit-transition:background-position 250ms cubic-bezier(0.4, 0, 0.2, 1), background-color 250ms;transition:background-position 250ms cubic-bezier(0.4, 0, 0.2, 1), background-color 250ms}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{-webkit-transition:none;transition:none}}.form-switch .form-check-input:focus{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-16 -16 32 32'%3e%3ccircle r='15' stroke='%23000' stroke-width='2' fill='%23fff'/%3e%3c/svg%3e\")}.form-switch .form-check-input:checked{background-position:right center;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-16 -16 32 32'%3e%3ccircle r='15' stroke='%23000' stroke-width='2' fill='%23fff'/%3e%3c/svg%3e\")}.form-switch.form-check-reverse{padding-right:0;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:0;margin-left:0}.form-check-inline{display:inline-block;margin-right:1.5rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;-webkit-filter:none;filter:none;opacity:0.4}.form-range{width:100%;height:2.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 1px #000, 0 0 0 0.2rem rgba(51, 51, 51, 0.25);box-shadow:0 0 0 1px #000, 0 0 0 0.2rem rgba(51, 51, 51, 0.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #000, 0 0 0 0.2rem rgba(51, 51, 51, 0.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:2rem;height:2rem;margin-top:-0.9rem;background-color:#fff;border:2px solid #000;border-radius:1rem;-webkit-transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#fff}.form-range::-webkit-slider-runnable-track{width:100%;height:0.2rem;color:transparent;cursor:pointer;background-color:hsl(0, 0%, 80%);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:2rem;height:2rem;background-color:#fff;border:2px solid #000;border-radius:1rem;-moz-transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#fff}.form-range::-moz-range-track{width:100%;height:0.2rem;color:transparent;cursor:pointer;background-color:hsl(0, 0%, 80%);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#fff}.form-range:disabled::-moz-range-thumb{background-color:#fff}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(4.375rem + 4px);line-height:1.5}.form-floating>label{position:absolute;top:0;left:0;width:100%;height:100%;padding:1.25rem 1.375rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:2px solid transparent;-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:transparent}.form-floating>.form-control::-moz-placeholder,.form-floating>.form-control-plaintext::-moz-placeholder{color:transparent}.form-floating>.form-control:-ms-input-placeholder,.form-floating>.form-control-plaintext:-ms-input-placeholder{color:transparent}.form-floating>.form-control::-ms-input-placeholder,.form-floating>.form-control-plaintext::-ms-input-placeholder{color:transparent}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.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{opacity:1;transform:scale(0.7647058824)}.form-floating>.form-control:not(:-ms-input-placeholder)~label{opacity: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{opacity:1;-webkit-transform:scale(0.7647058824);transform:scale(0.7647058824)}.form-floating>.form-control:-webkit-autofill~label{opacity:1;-webkit-transform:scale(0.7647058824);transform:scale(0.7647058824)}.form-floating>.form-control-plaintext~label{border-width:2px 0}.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:0.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 hsl(0, 0%, 40%);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:0.375rem 0.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:-2px;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}.valid-feedback{display:none;width:100%;margin-top:0;font-size:1rem;color:hsl(0, 0%, 40%)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:0.25rem 0.5rem;margin-top:0.1rem;font-size:1rem;color:#fff;background-color:#666666;border-radius:0}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:hsl(0, 0%, 40%);padding-right:3.25rem;background-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24pt' height='24pt' viewBox='0 0 24 24' version='1.1'%3E%3Cg id='surface1'%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb%280%25,50.588235%25,22.745098%25%29;fill-opacity:1;' d='M 9.5 18.398438 L 3.800781 12.699219 L 5.199219 11.300781 L 9.5 15.597656 L 18.800781 6.300781 L 20.199219 7.699219 Z M 9.5 18.398438 '/%3E%3C/g%3E%3C/svg%3E%0A\");background-repeat:no-repeat;background-position:right calc(0.375em + 0.4375rem) center;background-size:calc(0.75em + 0.875rem) calc(0.75em + 0.875rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:hsl(0, 0%, 40%);-webkit-box-shadow:0 0 0 0.125rem rgba(102, 102, 102, 0.25);box-shadow:0 0 0 0.125rem rgba(102, 102, 102, 0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:3.25rem;background-position:top calc(0.375em + 0.4375rem) right calc(0.375em + 0.4375rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:hsl(0, 0%, 40%)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size=\"1\"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size=\"1\"]{padding-right:6.1875rem;background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath opacity='1' fill='%23000000' d='M27.6 10.667l-11.6 11.6-11.467-11.6-1.067 1.067 12.533 12.4 12.533-12.4z'%3E%3C/path%3E%3C/svg%3E\"), url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24pt' height='24pt' viewBox='0 0 24 24' version='1.1'%3E%3Cg id='surface1'%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb%280%25,50.588235%25,22.745098%25%29;fill-opacity:1;' d='M 9.5 18.398438 L 3.800781 12.699219 L 5.199219 11.300781 L 9.5 15.597656 L 18.800781 6.300781 L 20.199219 7.699219 Z M 9.5 18.398438 '/%3E%3C/g%3E%3C/svg%3E%0A\");background-position:right 1.125rem center, center right 3.375rem;background-size:14px 14px, calc(0.75em + 0.875rem) calc(0.75em + 0.875rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:hsl(0, 0%, 40%);-webkit-box-shadow:0 0 0 0.125rem rgba(102, 102, 102, 0.25);box-shadow:0 0 0 0.125rem rgba(102, 102, 102, 0.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:6.25rem}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:hsl(0, 0%, 40%)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:hsl(0, 0%, 40%)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{-webkit-box-shadow:0 0 0 0.125rem rgba(102, 102, 102, 0.25);box-shadow:0 0 0 0.125rem rgba(102, 102, 102, 0.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:hsl(0, 0%, 40%)}.form-check-inline .form-check-input~.valid-feedback{margin-left:0.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:0;font-size:1rem;color:#a51728}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:0.25rem 0.5rem;margin-top:0.1rem;font-size:1rem;color:#fff;background-color:#a51728;border-radius:0}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#a51728;padding-right:3.25rem;background-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24pt' height='24pt' viewBox='0 0 24 24' version='1.1'%3E%3Cg id='surface1'%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb%2864.705882%25,9.019608%25,15.686275%25%29;fill-opacity:1;' d='M 11 3 L 13 3 L 13 17 L 11 17 Z M 11 3 '/%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb%2864.705882%25,9.019608%25,15.686275%25%29;fill-opacity:1;' d='M 11 19 L 13 19 L 13 21 L 11 21 Z M 11 19 '/%3E%3C/g%3E%3C/svg%3E%0A\");background-repeat:no-repeat;background-position:right calc(0.375em + 0.4375rem) center;background-size:calc(0.75em + 0.875rem) calc(0.75em + 0.875rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#a51728;-webkit-box-shadow:0 0 0 0.125rem rgba(165, 23, 40, 0.25);box-shadow:0 0 0 0.125rem rgba(165, 23, 40, 0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:3.25rem;background-position:top calc(0.375em + 0.4375rem) right calc(0.375em + 0.4375rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#a51728}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size=\"1\"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size=\"1\"]{padding-right:6.1875rem;background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath opacity='1' fill='%23000000' d='M27.6 10.667l-11.6 11.6-11.467-11.6-1.067 1.067 12.533 12.4 12.533-12.4z'%3E%3C/path%3E%3C/svg%3E\"), url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24pt' height='24pt' viewBox='0 0 24 24' version='1.1'%3E%3Cg id='surface1'%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb%2864.705882%25,9.019608%25,15.686275%25%29;fill-opacity:1;' d='M 11 3 L 13 3 L 13 17 L 11 17 Z M 11 3 '/%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb%2864.705882%25,9.019608%25,15.686275%25%29;fill-opacity:1;' d='M 11 19 L 13 19 L 13 21 L 11 21 Z M 11 19 '/%3E%3C/g%3E%3C/svg%3E%0A\");background-position:right 1.125rem center, center right 3.375rem;background-size:14px 14px, calc(0.75em + 0.875rem) calc(0.75em + 0.875rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#a51728;-webkit-box-shadow:0 0 0 0.125rem rgba(165, 23, 40, 0.25);box-shadow:0 0 0 0.125rem rgba(165, 23, 40, 0.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:6.25rem}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#a51728}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#a51728}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{-webkit-box-shadow:0 0 0 0.125rem rgba(165, 23, 40, 0.25);box-shadow:0 0 0 0.125rem rgba(165, 23, 40, 0.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#a51728}.form-check-inline .form-check-input~.invalid-feedback{margin-left:0.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.form-control-rg{height:calc(2.75rem + 4px);padding:0.625rem 0.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:hsl(0, 0%, 40%)}.form-control[readonly]:not(:disabled){border-color:hsl(0, 0%, 40%);background-color:#fff}.form-control[type=file]{min-height:calc(3.25rem + 4px)}.form-control[type=file]::-webkit-file-upload-button{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:0;margin-inline-end:0;padding-left:0;padding-right:0;width:0;border:0 none}.form-control[type=file]::file-selector-button{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:0;margin-inline-end:0;padding-left:0;padding-right: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-left:inherit;padding-right:inherit;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].form-control-sm{min-height:calc(2.25rem + 4px)}.form-control[type=file].form-control-rg{min-height:calc(2.75rem + 4px)}.form-control[type=file].form-control-lg{min-height:calc(4rem + 4px)}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.form-control:hover,.form-control:focus{border-color:Highlight}.form-control:hover[type=file]::after,.form-control:focus[type=file]::after{border-color:Highlight}}.form-floating>label{display:block;top:2px;left:2px;margin:0;padding-inline:1.375rem;padding-block:calc(\n 2px + 2.1875rem - 0.796875rem\n );height:4.375rem;border:0;color:hsl(0, 0%, 40%);font-size:1.0625rem;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{}.form-floating>.form-control[type=file]::-webkit-file-upload-button{padding-top:1.75rem}.form-floating>.form-control[type=file]::file-selector-button{padding-top:1.75rem}.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)[type=file]::file-selector-button{padding-top:1.75rem}.form-floating>.form-control:not(:-ms-input-placeholder)[type=file]::file-selector-button{padding-top:1.75rem}.form-floating>.form-control:focus[type=file]::-webkit-file-upload-button,.form-floating>.form-control:not(:placeholder-shown)[type=file]::-webkit-file-upload-button{padding-top:1.75rem}.form-floating>.form-control:focus[type=file]::file-selector-button,.form-floating>.form-control:not(:placeholder-shown)[type=file]::file-selector-button{padding-top:1.75rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{padding-top:0.7rem;max-width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px);-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:0.7rem;max-width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px);-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:0.7rem;max-width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px);-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{padding-top:1.5rem;padding-bottom:0}.form-floating>.form-select~label{padding-top:0.7rem;max-width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px);-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:0.9558823529rem;padding-bottom:0;width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem);height:auto;background:#fff}.form-floating>.form-select[multiple]:empty~label{padding-top:1.25rem;padding-bottom:1.25rem;width:calc(100% - 4px - 1.375rem);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:0.9558823529rem;width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem);max-width:none;background:#fff}.form-floating>textarea.form-control:not(:-ms-input-placeholder)~label{padding-top:0.9558823529rem;width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem);max-width:none;background:#fff}.form-floating>textarea.form-control:focus~label,.form-floating>textarea.form-control:not(:placeholder-shown)~label{padding-top:0.9558823529rem;width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem);max-width:none;background:#fff}.form-floating>textarea.form-control:is(.is-valid,.is-invalid)~label{width:calc(100% - 4px - 1.375rem - 0.5rem - 2rem)}.form-floating>textarea.form-control:is(.is-valid,.is-invalid):not(:-moz-placeholder-shown)~label{width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem - 0.6538461538rem - 2.6153846154rem)}.form-floating>textarea.form-control:is(.is-valid,.is-invalid):not(:-ms-input-placeholder)~label{width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem - 0.6538461538rem - 2.6153846154rem)}.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(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem - 0.6538461538rem - 2.6153846154rem)}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.form-floating>input,.form-floating>textarea{}.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}}.row{--bs-gutter-x:30px;--bs-gutter-y:0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-0.5 * var(--bs-gutter-x));margin-left:calc(-0.5 * var(--bs-gutter-x))}.row>*{-ms-flex-negative:0;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * 0.5);padding-left:calc(var(--bs-gutter-x) * 0.5);margin-top:var(--bs-gutter-y)}.col{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width: 400px){.col-sm{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-sm-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-sm-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-sm-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-sm-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-sm-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-sm-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width: 600px){.col-rg{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-rg-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-rg-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-rg-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-rg-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-rg-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-rg-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-rg-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-rg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-rg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-rg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-rg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-rg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-rg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-rg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-rg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-rg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-rg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-rg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-rg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-rg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-rg-0{margin-left:0}.offset-rg-1{margin-left:8.33333333%}.offset-rg-2{margin-left:16.66666667%}.offset-rg-3{margin-left:25%}.offset-rg-4{margin-left:33.33333333%}.offset-rg-5{margin-left:41.66666667%}.offset-rg-6{margin-left:50%}.offset-rg-7{margin-left:58.33333333%}.offset-rg-8{margin-left:66.66666667%}.offset-rg-9{margin-left:75%}.offset-rg-10{margin-left:83.33333333%}.offset-rg-11{margin-left:91.66666667%}.g-rg-0,.gx-rg-0{--bs-gutter-x:0}.g-rg-0,.gy-rg-0{--bs-gutter-y:0}.g-rg-1,.gx-rg-1{--bs-gutter-x:0.25rem}.g-rg-1,.gy-rg-1{--bs-gutter-y:0.25rem}.g-rg-2,.gx-rg-2{--bs-gutter-x:0.5rem}.g-rg-2,.gy-rg-2{--bs-gutter-y:0.5rem}.g-rg-3,.gx-rg-3{--bs-gutter-x:1rem}.g-rg-3,.gy-rg-3{--bs-gutter-y:1rem}.g-rg-4,.gx-rg-4{--bs-gutter-x:1.5rem}.g-rg-4,.gy-rg-4{--bs-gutter-y:1.5rem}.g-rg-5,.gx-rg-5{--bs-gutter-x:3rem}.g-rg-5,.gy-rg-5{--bs-gutter-y:3rem}}@media (min-width: 780px){.col-md{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-md-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-md-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-md-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-md-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-md-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-md-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width: 1024px){.col-lg{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-lg-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-lg-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-lg-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-lg-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-lg-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-lg-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width: 1280px){.col-xl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xl-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xl-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xl-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xl-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xl-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xl-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width: 1441px){.col-xxl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xxl-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xxl-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xxl-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xxl-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xxl-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xxl-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xxl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-xxl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xxl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xxl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-xxl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-xxl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xxl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-xxl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-xxl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xxl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-xxl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-xxl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.container,.container-fluid,.container-xs{--bs-gutter-x:30px;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * 0.5);padding-left:calc(var(--bs-gutter-x) * 0.5);margin-right:auto;margin-left:auto}.container{max-width:1440px}.vertical-gutters{margin-bottom:-30px}.vertical-gutters>.col,.vertical-gutters>[class*=col-]{padding-bottom:30px}.row.border-gutters{margin-right:-1px;margin-bottom:-1px;margin-left:0}.row.border-gutters>.col,.row.border-gutters>[class*=col-]{padding-right:1px;padding-bottom:1px;padding-left:0}.container{padding-right:12px;padding-left:12px}.container-reset{margin-right:-12px;margin-left:-12px}.container-reset-left{margin-left:-12px}.container-reset-right{margin-right:-12px}@media (max-width: 399.98px){.container-fluid-xs{padding-right:1rem;padding-left:1rem}}@media (min-width: 400px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 400px){.container-reset{margin-right:-16px;margin-left:-16px}}@media (min-width: 400px){.container-reset-left{margin-left:-16px}}@media (min-width: 400px){.container-reset-right{margin-right:-16px}}@media (min-width: 400px) and (max-width: 599.98px){.container-fluid-sm{padding-right:1rem;padding-left:1rem}}@media (min-width: 600px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 600px){.container-reset{margin-right:-32px;margin-left:-32px}}@media (min-width: 600px){.container-reset-left{margin-left:-32px}}@media (min-width: 600px){.container-reset-right{margin-right:-32px}}@media (min-width: 600px) and (max-width: 779.98px){.container-fluid-rg{padding-right:1rem;padding-left:1rem}}@media (min-width: 780px) and (max-width: 1023.98px){.container-fluid-md{padding-right:1rem;padding-left:1rem}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}@media (min-width: 1024px){.container-reset{margin-right:-40px;margin-left:-40px}}@media (min-width: 1024px){.container-reset-left{margin-left:-40px}}@media (min-width: 1024px){.container-reset-right{margin-right:-40px}}@media (min-width: 1024px) and (max-width: 1279.98px){.container-fluid-lg{padding-right:1rem;padding-left:1rem}}@media (min-width: 1280px){.container{padding-right:128px;padding-left:128px}}@media (min-width: 1280px){.container-reset{margin-right:-128px;margin-left:-128px}}@media (min-width: 1280px){.container-reset-left{margin-left:-128px}}@media (min-width: 1280px){.container-reset-right{margin-right:-128px}}@media (min-width: 1280px) and (max-width: 1440.98px){.container-fluid-xl{padding-right:1rem;padding-left:1rem}}@media (min-width: 1441px){.container-fluid-xxl{padding-right:1rem;padding-left:1rem}}@font-face{font-display:swap;font-family:\"Frutiger Neue For Post\";font-weight:700;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff\") format(\"woff\")}@font-face{font-display:swap;font-family:\"Frutiger Neue For Post\";font-weight:400;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff\") format(\"woff\")}@font-face{font-display:swap;font-family:\"Frutiger Neue For Post\";font-weight:300;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff\") format(\"woff\")}*,:host,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{font-family:\"Frutiger Neue For Post\", system-ui, sans-serif}button{font:inherit;padding:0}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:white}}.no-list{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}.btn-blank{background-color:transparent;border:none;border-radius:0;padding:0}.search-button,.nav-link{text-decoration:none;color:rgba(0, 0, 0, 0.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:transparent;border-radius:0;-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.5rem}.search-button:hover,.nav-link:hover,.search-button:focus,.nav-link:focus{color:black}.search-button>svg,.nav-link>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.search-button>span,.nav-link>span{-ms-flex-negative:1;flex-shrink:1}.box>*:first-child{margin-top:0}.box>*:last-child{margin-bottom:0}.mirrored{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.bold{font-weight:700}.light{font-weight:300}.d-flex{display:-ms-flexbox;display:flex}.d-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.align-items-center{-ms-flex-align:center;align-items:center}@media (min-width: 1441px){.wide-container{margin:0 auto;max-width:1440px}}@media (max-width: 599.98px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 600px) and (max-width: 1023.98px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}.visually-hidden{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}@media (max-width: -0.02px){.hidden-xs{display:none}}@media (max-width: 399.98px){.hidden-sm{display:none}}@media (max-width: 599.98px){.hidden-rg{display:none}}@media (max-width: 779.98px){.hidden-md{display:none}}@media (max-width: 1023.98px){.hidden-lg{display:none}}@media (max-width: 1279.98px){.hidden-xl{display:none}}@media (max-width: 1440.98px){.hidden-xxl{display:none}}:host{display:block}.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:0.5rem;cursor:pointer}}.flyout{position:absolute;top:100%;left:0;width:100%;background:white;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 0.35s, -webkit-box-shadow 0.35s;transition:-webkit-transform 0.35s, -webkit-box-shadow 0.35s;transition:transform 0.35s, box-shadow 0.35s;transition:transform 0.35s, box-shadow 0.35s, -webkit-transform 0.35s, -webkit-box-shadow 0.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, 0.4);box-shadow:0 0 1px 0 rgba(0, 0, 0, 0.4)}.flyout.open{-webkit-box-shadow:0 0 8px 0 rgba(0, 0, 0, 0.4);box-shadow:0 0 8px 0 rgba(0, 0, 0, 0.4)}}@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{padding-right:3.5rem}.start-search-button{position:absolute;top:0;right:0;height:100%;padding-right:1rem;padding-left:1rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;cursor:pointer}.start-search-button svg{width:1.5rem;height:1.5rem}.suggestions{margin:1.5rem 0}.suggestions a{padding:0.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}";var N=o("post_search",function(){function o(o){e(this,o);this.dropdownToggled=r(this,"dropdownToggled",7);this.searchDropdownOpen=false;this.coveoSuggestions=[];this.placeSuggestions=[];this.parcelSuggestion=null}o.prototype.connectedCallback=function(){var o=this;this.throttledResize=a(300,(function(){return o.handleResize()}));window.addEventListener("resize",this.throttledResize,{passive:true})};o.prototype.disconnectedCallback=function(){window.removeEventListener("resize",this.throttledResize);l()};o.prototype.componentWillUpdate=function(){var o=this;if(this.searchFlyout&&!this.searchDropdownOpen){this.searchFlyout.classList.remove("open");if(f(this.searchFlyout,"transform")&&!m()){return new Promise((function(t){if(o.searchFlyout===undefined){return t(true)}o.searchFlyout.addEventListener("transitionend",(function(o){if(o.propertyName==="transform"){t(true)}}))}))}}};o.prototype.componentDidUpdate=function(){if(this.searchFlyout&&this.searchDropdownOpen){this.searchFlyout.getBoundingClientRect();this.searchFlyout.classList.add("open")}if(this.searchDropdownOpen&&this.searchBox){this.searchBox.focus({preventScroll:true})}};o.prototype.toggleDropdown=function(o){return __awaiter(this,void 0,void 0,(function(){var t,e;return __generator(this,(function(r){switch(r.label){case 0:this.searchDropdownOpen=o===undefined||typeof o!=="boolean"?!this.searchDropdownOpen:o;this.dropdownToggled.emit({open:this.searchDropdownOpen,element:this.host});if(!!this.searchDropdownOpen)return[3,1];this.coveoSuggestions=[];this.placeSuggestions=[];if(this.searchBox)this.searchBox.value="";this.setFocus();return[3,4];case 1:r.trys.push([1,3,,4]);t=this;return[4,S("")];case 2:t.coveoSuggestions=r.sent();return[3,4];case 3:e=r.sent();return[3,4];case 4:this.setBodyScroll();return[2,this.searchDropdownOpen]}}))}))};o.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){var o,t;return __generator(this,(function(e){o=this.host.shadowRoot;if(o===null){return[2]}t=o.querySelector(".search-button");if(t){t.focus()}return[2]}))}))};o.prototype.handleResize=function(){if(this.searchDropdownOpen){this.setBodyScroll()}};o.prototype.setBodyScroll=function(){if(this.searchDropdownOpen&&window.innerWidth<1024){s(this.searchFlyout)}else{c(this.searchFlyout)}};o.prototype.handleSearchInput=function(){return __awaiter(this,void 0,void 0,(function(){var o,t,e,r,i,n;var a;return __generator(this,(function(l){switch(l.label){case 0:if(this.searchBox===undefined||((o=d.localizedConfig)===null||o===void 0?void 0:o.header.search)===undefined){return[2]}t=this.searchBox.value.trim();return[4,Promise.all([O(t),S(t),k(t,d.localizedConfig.header.search)])];case 1:e=l.sent(),r=e[0],i=e[1],n=e[2];this.parcelSuggestion=n;if(n){this.placeSuggestions=[];this.coveoSuggestions=[]}else{a=E(i,r,7),this.coveoSuggestions=a[0],this.placeSuggestions=a[1]}this.deselectSuggestion();return[2]}}))}))};o.prototype.handleKeyDown=function(o){var t,e,r,i;if(this.searchFlyout===undefined){return}var n=this.searchFlyout.querySelector(".suggestions > li > a.selected");switch(o.key.toLowerCase()){case"enter":if(n){var a=n.getAttribute("href");if(a!==null){window.location.href=a}}else{this.startSearch()}break;case"arrowdown":case"arrowup":var l=this.searchFlyout.querySelectorAll(".suggestions > li > a");this.deselectSuggestion();if(o.key.toLowerCase()==="arrowdown"){if((e=(t=n===null||n===void 0?void 0:n.parentElement)===null||t===void 0?void 0:t.nextElementSibling)===null||e===void 0?void 0:e.firstElementChild){n.parentElement.nextElementSibling.firstElementChild.classList.add("selected")}else{if(l.length>0){l[0].classList.add("selected")}}}else if(o.key.toLowerCase()==="arrowup"){if((i=(r=n===null||n===void 0?void 0:n.parentElement)===null||r===void 0?void 0:r.previousElementSibling)===null||i===void 0?void 0:i.firstElementChild){n.parentElement.previousElementSibling.firstElementChild.classList.add("selected")}else{if(l.length>0){l[l.length-1].classList.add("selected")}}}n=this.searchFlyout.querySelector(".suggestions > li > a.selected");var s=n===null||n===void 0?void 0:n.dataset.suggestionText;if(s!==undefined&&this.searchBox){this.searchBox.value=s}break}};o.prototype.handleMouseEnterSuggestion=function(o){this.deselectSuggestion();o.target.classList.add("selected")};o.prototype.handleMouseLeaveSuggestions=function(){this.deselectSuggestion()};o.prototype.deselectSuggestion=function(){if(this.searchFlyout===undefined)return;var o=this.searchFlyout.querySelector(".suggestions .selected");if(o){o.classList.remove("selected")}};o.prototype.startSearch=function(){return __awaiter(this,void 0,void 0,(function(){var o,t;return __generator(this,(function(e){switch(e.label){case 0:if(!(this.searchBox&&((o=d.localizedConfig)===null||o===void 0?void 0:o.header.search)))return[3,2];return[4,y(this.searchBox.value.trim(),d.localizedConfig.header.search)];case 1:t=e.sent();if(!t)return[2];window.location.href=t;e.label=2;case 2:return[2]}}))}))};o.prototype.render=function(){var o=this;var e,r,n,a,l,s,c,f,m,h,x,b,w,v;if(((e=d.localizedConfig)===null||e===void 0?void 0:e.header)===undefined){return}var k=d.localizedConfig.header,y=k.translations,z=k.search;var E=((r=this.searchBox)===null||r===void 0?void 0:r.value)===""&&((n=z.searchRecommendations)===null||n===void 0?void 0:n.links.length)>0;return t(i,null,t(g,null),t("div",{class:"search"},t("button",{id:"post-internet-header-search-button",class:"search-button",type:"button","aria-expanded":"".concat(this.searchDropdownOpen),onClick:function(t){return o.toggleDropdown(t)}},t("span",{class:"visually-hidden"},this.searchDropdownOpen?y.searchToggleExpanded:y.searchToggle),t(u,{name:this.searchDropdownOpen?"pi-close":"pi-search"})),t(p,{condition:this.searchDropdownOpen},t("div",{class:"flyout",ref:function(t){return o.searchFlyout=t}},t("div",{class:"container box"},t("div",{class:"row"},t("div",{class:"col-xs-12 col-md-10 col-lg-8"},t("div",{class:"form-group form-floating"},t("input",{type:"text",id:"searchBox",class:"form-control form-control-lg",placeholder:y.flyoutSearchBoxFloatingLabel,autocomplete:"off",ref:function(t){return o.searchBox=t},onInput:function(){return o.handleSearchInput()},onKeyDown:function(t){return o.handleKeyDown(t)}}),t("label",{htmlFor:"searchBox"},y.flyoutSearchBoxFloatingLabel),t("button",{onClick:function(){return o.startSearch()},class:"nav-link start-search-button"},t("span",{class:"visually-hidden"},y.searchSubmit),t(u,{name:"pi-search"}))),E&&t("h2",{class:"bold"},z.searchRecommendations.title),t("ul",{class:"suggestions no-list",onMouseLeave:function(){return o.handleMouseLeaveSuggestions()}},E&&z.searchRecommendations.links.map((function(e){return t("li",{key:e.href},t("a",{class:"nav-link search-recommendation",href:new URL(e.href,"https://post.ch").href,"data-suggestion-text":e.label,onMouseEnter:function(t){return o.handleMouseEnterSuggestion(t)}},t("span",{class:"search-recommendation__icon",innerHTML:e.inlineSvg}),t("span",null,e.label)))})),this.parcelSuggestion&&this.parcelSuggestion.ok&&t("li",null,t("a",{class:"nav-link parcel-suggestion",href:this.parcelSuggestion.url,"data-suggestion-text":(a=this.searchBox)===null||a===void 0?void 0:a.value,onMouseEnter:function(t){return o.handleMouseEnterSuggestion(t)}},t(u,{name:"pi-letter-parcel"}),t("span",{class:"bold"},(s=(l=this.parcelSuggestion)===null||l===void 0?void 0:l.sending)===null||s===void 0?void 0:s.id,": "),t("span",null,(f=(c=this.parcelSuggestion)===null||c===void 0?void 0:c.sending)===null||f===void 0?void 0:f.product,","," ",(h=(m=this.parcelSuggestion)===null||m===void 0?void 0:m.sending)===null||h===void 0?void 0:h.recipient.zipcode," ",(b=(x=this.parcelSuggestion)===null||x===void 0?void 0:x.sending)===null||b===void 0?void 0:b.recipient.city,","," ",(v=(w=this.parcelSuggestion)===null||w===void 0?void 0:w.sending)===null||v===void 0?void 0:v.state))),!E&&this.coveoSuggestions&&this.coveoSuggestions.map((function(e){return t("li",{key:e.objectId},t("a",{class:"nav-link",href:e.redirectUrl,"data-suggestion-text":e.expression,onMouseEnter:function(t){return o.handleMouseEnterSuggestion(t)}},t(u,{name:"pi-search"}),t(_,{text:e.highlighted})))})),!E&&this.placeSuggestions&&this.placeSuggestions.map((function(e){var r,i;return t("li",{key:e.id},t("a",{class:"nav-link",href:I(e),"data-suggestion-text":e.name,onMouseEnter:function(t){return o.handleMouseEnterSuggestion(t)}},t(u,{name:"pi-place"}),t(_,{text:R((i=(r=o.searchBox)===null||r===void 0?void 0:r.value)===null||i===void 0?void 0:i.trim(),e.name)})))}))))))))))};Object.defineProperty(o.prototype,"host",{get:function(){return n(this)},enumerable:false,configurable:true});return o}());N.style=B}}}));
2
- //# sourceMappingURL=p-d18bd8c3.system.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getTrackAndTraceApiUrl","id","lang","state","currentLanguage","concat","encodeURIComponent","getTrackAndTraceRedirectUrl","query","_q","packageTrackingRedirectUrl","replace","isParcel","searchConfig","__awaiter","_this","getParcelInfo","parcelInfo","sent","ok","redirectPattern","trackingNrPattern","RegExp","test","fetch","trackAndTraceReqest","_r","json","trackAndTraceResult","Object","assign","console","warn","error_1","message","timestamp","Date","toDateString","getParcelSuggestion","url","getSearchRedirectUrl","isTrackTraceId","getSearchPageUrl","_a","localizedConfig","header","search","undefined","searchPageUrl","searchParam","equalizeArrays","arrayA","arrayB","maxLength","coveoSliced","slice","Math","max","length","coveo","environment","prod","organisation","token","int01","int02","dev01","dev02","devs1","getCoveoSuggestions","_b","config","searchHubName","searchPipelineName","method","headers","Authorization","coveoResponse","coveoJSON","coveoCompletions","completions","map","completion","redirectUrl","expression","error","gisAPIUrl","placesUrl","hardNormalize","str","toLowerCase","normalize","queryPlaces","searchParameters","entries","limit","reduce","s","i","k","v","geocoderUrl","geocodeResponse","geocodeJSON","Error","info","locations","error_3","highlightPlacesString","place","reference","q","indexOfQuery","indexOf","substring","getPlacesUrl","location","name","HighlightedText","props","highlightClass","highlightedString","text","h","innerHTML","postSearchCss","PostSearch","exports","class_1","prototype","connectedCallback","this","throttledResize","throttle","handleResize","window","addEventListener","passive","disconnectedCallback","removeEventListener","clearAllBodyScrollLocks","componentWillUpdate","searchFlyout","searchDropdownOpen","classList","remove","elementHasTransition","userPrefersReducedMotion","Promise","resolve","event","propertyName","componentDidUpdate","getBoundingClientRect","add","searchBox","focus","preventScroll","toggleDropdown","force","dropdownToggled","emit","open","element","host","coveoSuggestions","placeSuggestions","value","setFocus","setBodyScroll","shadowRoot","toggleButton","querySelector","innerWidth","disableBodyScroll","enableBodyScroll","handleSearchInput","trim","all","_s","trackAndTraceInfo","parcelSuggestion","deselectSuggestion","handleKeyDown","selectedSuggestion","key","selectedHref","getAttribute","href","startSearch","suggestions","querySelectorAll","parentElement","nextElementSibling","firstElementChild","_d","_c","previousElementSibling","suggestedText","dataset","suggestionText","handleMouseEnterSuggestion","target","handleMouseLeaveSuggestions","render","translations","showPortalRecommendations","searchRecommendations","links","Host","SvgSprite","class","type","onClick","e","searchToggleExpanded","searchToggle","SvgIcon","If","condition","ref","placeholder","flyoutSearchBoxFloatingLabel","autocomplete","el","onInput","onKeyDown","htmlFor","searchSubmit","title","onMouseLeave","recommendation","URL","label","onMouseEnter","inlineSvg","_f","_e","sending","_h","_g","product","_k","_j","recipient","zipcode","_m","_l","city","_p","_o","suggestion","objectId","highlighted"],"sources":["src/services/search/parcel.service.ts","src/services/search/search.service.ts","src/services/search/coveo.settings.ts","src/services/search/coveo.service.ts","src/services/search/places.settings.ts","src/services/search/search-utilities.ts","src/services/search/places.service.ts","src/utils/highlighted.component.tsx","src/components/post-search/post-search.scss?tag=post-search&encapsulation=shadow","src/components/post-search/post-search.tsx"],"sourcesContent":["import { state } from '../../data/store';\nimport { ISearchConfig } from '../../models/header.model';\nimport { TrackAndTraceInfo } from '../../models/track-and-trace.model';\n\n// https://www.post.ch/api/trackandtrace?id=99.00.306600.01004883\n\n// Track and trace URL\nexport const getTrackAndTraceApiUrl = (id: string) => {\n const lang = state.currentLanguage;\n return `https://www.post.ch/${lang}/api/trackandtrace?id=${encodeURIComponent(id)}`;\n};\n\n// Get the redire\nexport const getTrackAndTraceRedirectUrl = (\n query: string,\n { packageTrackingRedirectUrl }: ISearchConfig,\n) => {\n return packageTrackingRedirectUrl.replace('{trackingNumber}', encodeURIComponent(query));\n};\n\n/**\n * Check whether a query is a tracking id\n *\n * @param query User query\n * @returns Boolean\n */\nexport const isParcel = async (query: string, searchConfig: ISearchConfig): Promise<boolean> => {\n const parcelInfo = await getParcelInfo(query, searchConfig);\n return parcelInfo.ok;\n};\n\n/**\n * Try to get parcel info from a query that is possibly a tracking id.\n * This is mainly used to check if a search should redirect to track&trace instead of the regular search.\n *\n * @param query User query that is possibly a tracking number\n * @returns Track and trace info\n */\nexport const getParcelInfo = async (\n query: string,\n { redirectPattern }: ISearchConfig,\n): Promise<TrackAndTraceInfo> => {\n const trackingNrPattern = new RegExp(redirectPattern);\n\n if (trackingNrPattern.test(query)) {\n try {\n const trackAndTraceReqest = await fetch(getTrackAndTraceApiUrl(query));\n const trackAndTraceResult = await trackAndTraceReqest.json();\n return { ...trackAndTraceResult, ok: trackAndTraceResult.ok === 'true' };\n } catch (error) {\n console.warn(`Could not check track and trace API due to error: ${error.message}`);\n }\n }\n\n return { ok: false, timestamp: new Date().toDateString() };\n};\n\n/**\n * Get parcel info if query is a parcel or null\n *\n * @param query Parcel id\n * @returns Parcel info and a redirect url or null if not a parcel\n */\nexport const getParcelSuggestion = async (\n query: string,\n searchConfig: ISearchConfig,\n): Promise<(TrackAndTraceInfo & { url: string }) | null> => {\n const parcelInfo = await getParcelInfo(query, searchConfig);\n return parcelInfo.ok\n ? { ...parcelInfo, url: getTrackAndTraceRedirectUrl(query, searchConfig) }\n : null;\n};\n","import { state } from '../../data/store';\nimport { ISearchConfig } from '../../models/header.model';\nimport { getTrackAndTraceRedirectUrl, isParcel } from './parcel.service';\n\n/**\n * Construct a search page url from a query\n *\n * @param query Search term\n * @returns\n */\nexport const getSearchRedirectUrl = async (\n query: string,\n searchConfig: ISearchConfig,\n): Promise<string | undefined> => {\n const isTrackTraceId = await isParcel(query, searchConfig);\n return isTrackTraceId\n ? getTrackAndTraceRedirectUrl(query, searchConfig)\n : getSearchPageUrl(query);\n};\n\n/**\n * Stitch toghether the search page URL\n *\n * @param query Search term\n * @returns Search page URL\n */\nexport const getSearchPageUrl = (query: string): string | undefined => {\n if (state.localizedConfig?.header.search === undefined) {\n return;\n }\n const { searchPageUrl } = state.localizedConfig.header.search;\n const searchParam = `#q=${encodeURIComponent(query)}`;\n return `${searchPageUrl}${searchParam}&t=AllTab`;\n};\n\n/**\n * Equalize the length of two arrays while filling up empty slots up to max. length\n *\n * @param arrayA First array\n * @param arrayB Second array\n * @param maxLength Max. length of result array\n * @returns Array with two resulting arrays\n */\nexport const equalizeArrays = <A, B>(arrayA: A[], arrayB: B[], maxLength = 7): [A[], B[]] => {\n const coveoSliced = arrayA.slice(0, Math.max(maxLength / 2, maxLength - arrayB.length));\n return [coveoSliced, arrayB.slice(0, maxLength - coveoSliced.length)];\n};\n","import { CoveoOptions } from '../../models/coveo.model';\n\n// Coveo constants\nexport const coveo: CoveoOptions = {\n url: 'https://platform-eu.cloud.coveo.com/rest/search/v2/querySuggest',\n environment: {\n prod: {\n organisation: 'postchagprod6ef4sbet',\n token: 'xx5b629890-23b9-4fbe-b601-0e8719186969',\n },\n int01: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n int02: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n dev01: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n dev02: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n devs1: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n test: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n },\n};\n","import { state } from '../../data/store';\nimport { CoveoCompletion, CoveoResponse } from '../../models/coveo.model';\nimport { coveo } from './coveo.settings';\nimport { getSearchPageUrl } from './search.service';\n\n/**\n * Get suggestions from coveo\n * https://docs.coveo.com/en/1459/build-a-search-ui/get-query-suggestions#context-object\n *\n * @param query Search term\n * @returns\n */\nexport const getCoveoSuggestions = async (query: string): Promise<CoveoCompletion[]> => {\n if (state.localizedConfig?.header?.search === undefined) return [];\n const config = state.localizedConfig.header.search;\n const { token, organisation } = coveo.environment[state.environment];\n const url = `${coveo.url}?q=${query}&locale=${state.currentLanguage}&searchHub=${config.searchHubName}&pipeline=${config.searchPipelineName}&organizationId=${organisation}`;\n let coveoCompletions: CoveoCompletion[] | undefined;\n\n try {\n const coveoResponse = await fetch(url, {\n method: 'GET',\n headers: {\n Authorization: `Bearer ${token}`,\n },\n });\n const coveoJSON = (await coveoResponse.json()) as CoveoResponse;\n coveoCompletions = coveoJSON.completions.map(completion => ({\n ...completion,\n redirectUrl: getSearchPageUrl(completion.expression),\n }));\n } catch (error) {\n console.error(\n 'Connection to coveo failed. Did you add \"*.coveo.com\" to your connect-src content security policy and tried turning off your adblocker?',\n );\n }\n\n return coveoCompletions === undefined ? [] : coveoCompletions;\n};\n","// Implement some TOPOS logic into the header search\nexport const gisAPIUrl = 'https://places.post.ch/StandortSuche/StaoCacheService';\nexport const placesUrl = 'https://places.post.ch';\nexport const pois = [\n '001PST',\n '001MP24',\n '001AG-PICK',\n '001PFFIL',\n '001PFST',\n '001BZ',\n '001LZB',\n '001PZ',\n '001LZP',\n '001AL',\n];\n","/**\n * Transform to lowercase, extract accents to separate unicode chars,\n * replace all accent unicode chars so only standard latin chars remain\n * https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript/37511463#37511463\n *\n * @param str Input string\n * @returns\n */\nexport const hardNormalize = (str: string): string =>\n str\n .toLowerCase()\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '');\n","import { state } from '../../data/store';\nimport { GeocodeLocation, GeocodeResponse } from '../../models/geocode.model';\nimport { gisAPIUrl, placesUrl } from './places.settings';\nimport { hardNormalize } from './search-utilities';\n\n/**\n * Query the Gis API for locations and localities (pois)\n *\n * @param query User input string\n * @returns\n */\nexport const queryPlaces = async (query: string): Promise<GeocodeLocation[]> => {\n if (query.length === 0) {\n return [];\n }\n\n const searchParameters = Object.entries({\n query: encodeURIComponent(query),\n lang: state.currentLanguage,\n limit: 7,\n }).reduce((s, [k, v], i) => `${s}${i === 0 ? '?' : '&'}${k}=${v}`, '');\n\n const geocoderUrl = `${gisAPIUrl}/Geocode${searchParameters}`;\n\n try {\n const geocodeResponse = await fetch(geocoderUrl);\n const geocodeJSON = (await geocodeResponse.json()) as GeocodeResponse;\n if (!geocodeJSON.ok) {\n throw new Error(geocodeJSON.info);\n }\n return geocodeJSON.locations;\n } catch (error) {\n console.error(\n 'Fetching places failed. Did you add \"places.post.ch\" to your connect-src content security policy?',\n );\n throw error;\n }\n};\n\n/**\n * Try to highlight place suggestions\n * Limitation: accented chars are not handled by this basic function\n *\n * @param query Search term\n * @param place Name of the suggested place\n * @returns\n */\nexport const highlightPlacesString = (query: string | undefined, place: string) => {\n if (query === undefined) return place;\n\n // Strip accents from the string\n const reference = hardNormalize(place);\n const q = hardNormalize(query);\n const indexOfQuery = reference.indexOf(q);\n\n if (indexOfQuery < 0) {\n return place;\n }\n\n return `${place.substring(0, indexOfQuery)}{${place.substring(\n indexOfQuery,\n indexOfQuery + query.length,\n )}}${place.substring(indexOfQuery + query.length, place.length)}`;\n};\n\n/**\n * Get the deeplink to any location found via geocoder\n *\n * @param location A location from the Gis API Geocode endpoint\n * @returns\n */\nexport const getPlacesUrl = (location: GeocodeLocation): string => {\n let url: string;\n\n if (location.id) {\n url = `${placesUrl}/${state.currentLanguage}/${location.id}/detail`;\n } else {\n url = `${placesUrl}?preselecttext=${encodeURIComponent(location.name)}`;\n }\n\n return url;\n};\n","import { h } from '@stencil/core';\n\nexport const HighlightedText = (props: { text: string; highlightClass?: string }) => {\n const highlightClass = props.highlightClass ?? 'bold';\n const highlightedString = props.text\n .replace(/[{(]/g, `<span class=\"${highlightClass}\">`)\n .replace(/[})]/g, '</span>')\n .replace(/[\\[\\]]/g, '');\n return <span innerHTML={highlightedString}></span>;\n};\n","@use \"@swisspost/design-system-styles/variables/color\";\n@use \"@swisspost/design-system-styles/components/forms\";\n@use \"@swisspost/design-system-styles/components/floating-label\";\n@use \"@swisspost/design-system-styles/components/grid\";\n@use \"../../utils/utils.scss\";\n@use \"../../utils/mixins.scss\";\n\n:host {\n display: block;\n}\n\n.search,\n:host {\n height: 100%;\n}\n\n.search-button {\n @extend %nav-link;\n\n height: 100%;\n display: flex;\n align-items: center;\n cursor: pointer;\n padding-right: calc(1rem - 1px);\n padding-left: calc(1rem - 1px);\n\n @include mixins.min(lg) {\n padding: 0 calc(1.125rem - 1px);\n }\n\n @include mixins.min(xl) {\n padding: 0 calc(1.5rem - 1px);\n }\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n\n .visually-hidden {\n @include mixins.between(rg, lg) {\n @include mixins.reset-visually-hidden();\n\n font-weight: 300;\n margin-right: 0.5rem;\n cursor: pointer;\n }\n }\n}\n\n.flyout {\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n background: white;\n overflow: auto;\n overscroll-behavior: contain;\n padding-top: 3.25rem;\n padding-bottom: 3.25rem;\n z-index: -1;\n transform: translateY(-100%);\n transition: transform 0.35s, box-shadow 0.35s;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n @include mixins.min(lg) {\n max-height: calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);\n box-shadow: 0 0 1px 0 rgb(0 0 0 / 40%);\n\n &.open {\n box-shadow: 0 0 8px 0 rgb(0 0 0 / 40%);\n }\n }\n\n @include mixins.max(lg) {\n height: calc(100vh - var(--header-height) - 1px);\n }\n\n &.open {\n transform: translateY(0);\n }\n}\n\n.form-floating {\n .form-control {\n padding-right: 3.5rem;\n }\n}\n\n.start-search-button {\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\n display: flex;\n align-items: center;\n cursor: pointer;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n}\n\n.suggestions {\n margin: 1.5rem 0;\n\n a {\n padding: 0.75rem 1rem;\n\n &:hover,\n &:focus,\n &.selected {\n background: color.$gray-background;\n }\n\n &.parcel-suggestion {\n flex-wrap: wrap;\n }\n }\n}\n\n.search-recommendation__icon {\n height: 1.5em;\n width: 1.5em;\n}\n","import { Component, Host, h, State, Event, EventEmitter, Method, Element } from '@stencil/core';\nimport { throttle } from 'throttle-debounce';\nimport { disableBodyScroll, enableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock';\nimport { state } from '../../data/store';\nimport { CoveoCompletion } from '../../models/coveo.model';\nimport { GeocodeLocation } from '../../models/geocode.model';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n IsFocusable,\n} from '../../models/header.model';\nimport { getSearchRedirectUrl, equalizeArrays } from '../../services/search/search.service';\nimport { getCoveoSuggestions } from '../../services/search/coveo.service';\nimport {\n getPlacesUrl,\n highlightPlacesString,\n queryPlaces,\n} from '../../services/search/places.service';\nimport { userPrefersReducedMotion, elementHasTransition } from '../../services/ui.service';\nimport { HighlightedText } from '../../utils/highlighted.component';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { TrackAndTraceInfo } from '../../models/track-and-trace.model';\nimport { getParcelSuggestion } from '../../services/search/parcel.service';\nimport { If } from '../../utils/if.component';\n\n@Component({\n tag: 'post-search',\n styleUrl: 'post-search.scss',\n shadow: true,\n})\nexport class PostSearch implements HasDropdown, IsFocusable {\n @State() searchDropdownOpen = false;\n @State() coveoSuggestions: CoveoCompletion[] = [];\n @State() placeSuggestions: GeocodeLocation[] = [];\n @State() parcelSuggestion: (TrackAndTraceInfo & { url: string }) | null = null;\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\n @Element() host: DropdownElement;\n private searchBox?: HTMLInputElement;\n private searchFlyout: HTMLElement | undefined;\n private throttledResize: throttle<() => void>;\n\n connectedCallback() {\n this.throttledResize = throttle(300, () => this.handleResize());\n window.addEventListener('resize', this.throttledResize, { passive: true });\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.throttledResize);\n clearAllBodyScrollLocks();\n }\n\n componentWillUpdate() {\n // Check if search flyout got set to close\n if (this.searchFlyout && !this.searchDropdownOpen) {\n this.searchFlyout.classList.remove('open');\n\n // Check if element has transition applied and whether user prefers to see animations or not\n if (elementHasTransition(this.searchFlyout, 'transform') && !userPrefersReducedMotion()) {\n // Wait for CSS transition 'transform' to end before continuing\n return new Promise<boolean>(resolve => {\n if (this.searchFlyout === undefined) {\n return resolve(true);\n }\n\n this.searchFlyout.addEventListener('transitionend', event => {\n if (event.propertyName === 'transform') {\n resolve(true);\n }\n });\n });\n }\n }\n }\n\n componentDidUpdate() {\n // Search flyout got set to open\n if (this.searchFlyout && this.searchDropdownOpen) {\n // Force browser to redraw/refresh DOM before adding 'open' class\n this.searchFlyout.getBoundingClientRect();\n this.searchFlyout.classList.add('open');\n }\n\n // Focus on the searchBox whenever the dropdown is opened\n if (this.searchDropdownOpen && this.searchBox) {\n this.searchBox.focus({ preventScroll: true });\n }\n }\n\n public async toggleDropdown(event?: Event): Promise<boolean>;\n public async toggleDropdown(force?: boolean): Promise<boolean>;\n\n /**\n * Toggle the dropdown and optionally force an open/closed state\n * @param force Boolean to force open/closed state\n * @returns Boolean indicating open state of the component\n */\n @Method()\n async toggleDropdown(force?: unknown) {\n this.searchDropdownOpen =\n force === undefined || typeof force !== 'boolean' ? !this.searchDropdownOpen : force;\n this.dropdownToggled.emit({ open: this.searchDropdownOpen, element: this.host });\n\n if (!this.searchDropdownOpen) {\n // Reset suggestions when dropdown closes\n this.coveoSuggestions = [];\n this.placeSuggestions = [];\n if (this.searchBox) this.searchBox.value = '';\n this.setFocus();\n } else {\n // Get basic suggestions when dropdown opens\n try {\n this.coveoSuggestions = await getCoveoSuggestions('');\n } catch {}\n }\n\n this.setBodyScroll();\n\n return this.searchDropdownOpen;\n }\n\n /**\n * Sets the focus on the search button\n */\n @Method()\n public async setFocus() {\n const shadowRoot = this.host.shadowRoot;\n if (shadowRoot === null) {\n return;\n }\n const toggleButton = shadowRoot.querySelector<HTMLElement>('.search-button');\n if (toggleButton) {\n toggleButton.focus();\n }\n }\n\n private handleResize() {\n // Only enable/disable body scroll on resize if the search dropdown is open, otherwise this could lead to side effects in other controls\n if (this.searchDropdownOpen) {\n this.setBodyScroll();\n }\n }\n\n /**\n * Disable or re-enable body scrolling, depending on whether search dropdown is open or closed in mobile view (width < 1024px)\n */\n private setBodyScroll() {\n if (this.searchDropdownOpen && window.innerWidth < 1024) {\n disableBodyScroll(this.searchFlyout);\n } else {\n enableBodyScroll(this.searchFlyout);\n }\n }\n\n /**\n * Fetch suggestions from all available sources\n */\n private async handleSearchInput() {\n if (this.searchBox === undefined || state.localizedConfig?.header.search === undefined) {\n return;\n }\n const query = this.searchBox.value.trim();\n\n const [placeSuggestions, coveoSuggestions, trackAndTraceInfo] = await Promise.all([\n queryPlaces(query),\n getCoveoSuggestions(query),\n getParcelSuggestion(query, state.localizedConfig.header.search),\n ]);\n\n this.parcelSuggestion = trackAndTraceInfo;\n\n // Parcel suggestion is more important than any other\n if (trackAndTraceInfo) {\n this.placeSuggestions = [];\n this.coveoSuggestions = [];\n } else {\n [this.coveoSuggestions, this.placeSuggestions] = equalizeArrays(\n coveoSuggestions,\n placeSuggestions,\n 7,\n );\n }\n\n this.deselectSuggestion();\n }\n\n /**\n * Start search on enter\n * @param event\n */\n private handleKeyDown(event: KeyboardEvent) {\n if (this.searchFlyout === undefined) {\n return;\n }\n\n let selectedSuggestion = this.searchFlyout.querySelector<HTMLElement>(\n '.suggestions > li > a.selected',\n );\n\n switch (event.key.toLowerCase()) {\n case 'enter':\n if (selectedSuggestion) {\n const selectedHref = selectedSuggestion.getAttribute('href');\n if (selectedHref !== null) {\n window.location.href = selectedHref;\n }\n } else {\n this.startSearch();\n }\n\n break;\n case 'arrowdown':\n case 'arrowup':\n const suggestions = this.searchFlyout.querySelectorAll('.suggestions > li > a');\n\n this.deselectSuggestion();\n\n if (event.key.toLowerCase() === 'arrowdown') {\n if (selectedSuggestion?.parentElement?.nextElementSibling?.firstElementChild) {\n // Select next suggestion if there's any, otherwise none will be selected\n selectedSuggestion.parentElement.nextElementSibling.firstElementChild.classList.add(\n 'selected',\n );\n } else {\n // If there are any suggestions, select first suggestion in list\n if (suggestions.length > 0) {\n suggestions[0].classList.add('selected');\n }\n }\n } else if (event.key.toLowerCase() === 'arrowup') {\n if (selectedSuggestion?.parentElement?.previousElementSibling?.firstElementChild) {\n // Select previous suggestion if there's any, otherwise none will be selected\n\n selectedSuggestion.parentElement.previousElementSibling.firstElementChild.classList.add(\n 'selected',\n );\n } else {\n // If there are any suggestions, select last suggestion in list\n if (suggestions.length > 0) {\n suggestions[suggestions.length - 1].classList.add('selected');\n }\n }\n }\n\n // Get the newly selected suggestion\n selectedSuggestion = this.searchFlyout.querySelector('.suggestions > li > a.selected');\n const suggestedText = selectedSuggestion?.dataset.suggestionText;\n\n // Update search box value with selected suggestion text\n if (suggestedText !== undefined && this.searchBox) {\n this.searchBox.value = suggestedText;\n }\n\n break;\n }\n }\n\n /**\n * Set selected suggestion on mouse enter\n * @param event\n */\n private handleMouseEnterSuggestion(event: MouseEvent) {\n this.deselectSuggestion();\n\n // Set hovered suggestion element as selected\n (event.target as HTMLElement).classList.add('selected');\n }\n\n /**\n * Set selected suggestion on mouse enter\n * @param event\n */\n private handleMouseLeaveSuggestions() {\n this.deselectSuggestion();\n }\n\n /**\n * Deselect any previously selected suggestion\n */\n private deselectSuggestion() {\n if (this.searchFlyout === undefined) return;\n\n const selectedSuggestion = this.searchFlyout.querySelector('.suggestions .selected');\n\n if (selectedSuggestion) {\n selectedSuggestion.classList.remove('selected');\n }\n }\n\n /**\n * Redirect to the post search page\n */\n private async startSearch() {\n if (this.searchBox && state.localizedConfig?.header.search) {\n const redirectUrl = await getSearchRedirectUrl(\n this.searchBox.value.trim(),\n state.localizedConfig.header.search,\n );\n if (!redirectUrl) return;\n window.location.href = redirectUrl;\n }\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) {\n return;\n }\n const { translations, search } = state.localizedConfig.header;\n const showPortalRecommendations =\n this.searchBox?.value === '' && search.searchRecommendations?.links.length > 0;\n\n return (\n <Host>\n <SvgSprite />\n <div class=\"search\">\n <button\n id=\"post-internet-header-search-button\"\n class=\"search-button\"\n type=\"button\"\n aria-expanded={`${this.searchDropdownOpen}`}\n onClick={e => this.toggleDropdown(e)}\n >\n <span class=\"visually-hidden\">\n {this.searchDropdownOpen\n ? translations.searchToggleExpanded\n : translations.searchToggle}\n </span>\n <SvgIcon name={this.searchDropdownOpen ? 'pi-close' : 'pi-search'} />\n </button>\n <If condition={this.searchDropdownOpen}>\n <div class=\"flyout\" ref={e => (this.searchFlyout = e)}>\n <div class=\"container box\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-md-10 col-lg-8\">\n <div class=\"form-group form-floating\">\n <input\n type=\"text\"\n id=\"searchBox\"\n class=\"form-control form-control-lg\"\n placeholder={translations.flyoutSearchBoxFloatingLabel}\n autocomplete=\"off\"\n ref={el => (this.searchBox = el)}\n onInput={() => this.handleSearchInput()}\n onKeyDown={e => this.handleKeyDown(e)}\n />\n <label htmlFor=\"searchBox\">{translations.flyoutSearchBoxFloatingLabel}</label>\n <button\n onClick={() => this.startSearch()}\n class=\"nav-link start-search-button\"\n >\n <span class=\"visually-hidden\">{translations.searchSubmit}</span>\n <SvgIcon name=\"pi-search\" />\n </button>\n </div>\n {showPortalRecommendations && (\n <h2 class=\"bold\">{search.searchRecommendations.title}</h2>\n )}\n <ul\n class=\"suggestions no-list\"\n onMouseLeave={() => this.handleMouseLeaveSuggestions()}\n >\n {showPortalRecommendations &&\n search.searchRecommendations.links.map(recommendation => (\n <li key={recommendation.href}>\n <a\n class=\"nav-link search-recommendation\"\n href={new URL(recommendation.href, 'https://post.ch').href}\n data-suggestion-text={recommendation.label}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <span\n class=\"search-recommendation__icon\"\n innerHTML={recommendation.inlineSvg}\n ></span>\n <span>{recommendation.label}</span>\n </a>\n </li>\n ))}\n {this.parcelSuggestion && this.parcelSuggestion.ok && (\n <li>\n <a\n class=\"nav-link parcel-suggestion\"\n href={this.parcelSuggestion.url}\n data-suggestion-text={this.searchBox?.value}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <SvgIcon name=\"pi-letter-parcel\" />\n <span class=\"bold\">{this.parcelSuggestion?.sending?.id}:&nbsp;</span>\n <span>\n {this.parcelSuggestion?.sending?.product},{' '}\n {this.parcelSuggestion?.sending?.recipient.zipcode}{' '}\n {this.parcelSuggestion?.sending?.recipient.city},{' '}\n {this.parcelSuggestion?.sending?.state}\n </span>\n </a>\n </li>\n )}\n {!showPortalRecommendations &&\n this.coveoSuggestions &&\n this.coveoSuggestions.map(suggestion => (\n <li key={suggestion.objectId}>\n <a\n class=\"nav-link\"\n href={suggestion.redirectUrl}\n data-suggestion-text={suggestion.expression}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <SvgIcon name=\"pi-search\" />\n <HighlightedText text={suggestion.highlighted} />\n </a>\n </li>\n ))}\n {!showPortalRecommendations &&\n this.placeSuggestions &&\n this.placeSuggestions.map(suggestion => (\n <li key={suggestion.id}>\n <a\n class=\"nav-link\"\n href={getPlacesUrl(suggestion)}\n data-suggestion-text={suggestion.name}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <SvgIcon name=\"pi-place\" />\n <HighlightedText\n text={highlightPlacesString(\n this.searchBox?.value?.trim(),\n suggestion.name,\n )}\n />\n </a>\n </li>\n ))}\n </ul>\n </div>\n </div>\n </div>\n </div>\n </If>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"q9DAOO,IAAMA,EAAyB,SAACC,GACrC,IAAMC,EAAOC,EAAMC,gBACnB,MAAO,uBAAAC,OAAuBH,EAAI,0BAAAG,OAAyBC,mBAAmBL,GAChF,EAGO,IAAMM,EAA8B,SACzCC,EACAC,G,IAAEC,EAA0BD,EAAAC,2BAE5B,OAAOA,EAA2BC,QAAQ,mBAAoBL,mBAAmBE,GACnF,EAQO,IAAMI,EAAW,SAAOJ,EAAeK,GAA2B,OAAAC,UAAAC,OAAA,qB,kEACpD,SAAMC,EAAcR,EAAOK,I,OAAxCI,EAAaR,EAAAS,OACnB,SAAOD,EAAWE,I,QAUb,IAAMH,EAAgB,SAC3BR,EACAC,G,IAAEW,EAAeX,EAAAW,gB,qHAEXC,EAAoB,IAAIC,OAAOF,G,IAEjCC,EAAkBE,KAAKf,GAAvB,Y,uCAE4B,SAAMgB,MAAMxB,EAAuBQ,K,OAAzDiB,EAAsBC,EAAAR,OACA,SAAMO,EAAoBE,Q,OAAhDC,EAAsBF,EAAAR,OAC5B,SAAAW,OAAAC,OAAAD,OAAAC,OAAA,GAAYF,GAAmB,CAAET,GAAIS,EAAoBT,KAAO,U,kBAEhEY,QAAQC,KAAK,qDAAA3B,OAAqD4B,EAAMC,U,mBAI5E,SAAO,CAAEf,GAAI,MAAOgB,WAAW,IAAIC,MAAOC,iB,QASrC,IAAMC,EAAsB,SACjC9B,EACAK,GAA2B,OAAAC,UAAAC,OAAA,qB,kEAER,SAAMC,EAAcR,EAAOK,I,OAAxCI,EAAaR,EAAAS,OACnB,SAAOD,EAAWE,G,+BACTF,GAAU,CAAEsB,IAAKhC,EAA4BC,EAAOK,KACzD,M,QC5DC,IAAM2B,EAAuB,SAClChC,EACAK,GAA2B,OAAAC,UAAAC,OAAA,qB,kEAEJ,SAAMH,EAASJ,EAAOK,I,OAAvC4B,EAAiBhC,EAAAS,OACvB,SAAOuB,EACHlC,EAA4BC,EAAOK,GACnC6B,EAAiBlC,I,QAShB,IAAMkC,EAAmB,SAAClC,G,MAC/B,KAAImC,EAAAxC,EAAMyC,mBAAe,MAAAD,SAAA,SAAAA,EAAEE,OAAOC,UAAWC,UAAW,CACtD,M,CAEM,IAAAC,EAAkB7C,EAAMyC,gBAAgBC,OAAOC,OAAME,cAC7D,IAAMC,EAAc,MAAA5C,OAAMC,mBAAmBE,IAC7C,MAAO,GAAAH,OAAG2C,GAAa3C,OAAG4C,EAAW,YACvC,EAUO,IAAMC,EAAiB,SAAOC,EAAaC,EAAaC,GAAA,GAAAA,SAAA,GAAAA,EAAA,CAAa,CAC1E,IAAMC,EAAcH,EAAOI,MAAM,EAAGC,KAAKC,IAAIJ,EAAY,EAAGA,EAAYD,EAAOM,SAC/E,MAAO,CAACJ,EAAaF,EAAOG,MAAM,EAAGF,EAAYC,EAAYI,QAC/D,EC3CO,IAAMC,EAAsB,CACjCpB,IAAK,kEACLqB,YAAa,CACXC,KAAM,CACJC,aAAc,uBACdC,MAAO,0CAETC,MAAO,CACLF,aAAc,0BACdC,MAAO,0CAETE,MAAO,CACLH,aAAc,0BACdC,MAAO,0CAETG,MAAO,CACLJ,aAAc,0BACdC,MAAO,0CAETI,MAAO,CACLL,aAAc,0BACdC,MAAO,0CAETK,MAAO,CACLN,aAAc,0BACdC,MAAO,0CAETxC,KAAM,CACJuC,aAAc,0BACdC,MAAO,4CCpBN,IAAMM,EAAsB,SAAO7D,GAAa,OAAAM,UAAAC,OAAA,qB,sFACrD,KAAIuD,GAAA3B,EAAAxC,EAAMyC,mBAAe,MAAAD,SAAA,SAAAA,EAAEE,UAAM,MAAAyB,SAAA,SAAAA,EAAExB,UAAWC,UAAW,SAAO,IAC1DwB,EAASpE,EAAMyC,gBAAgBC,OAAOC,OACtCrC,EAA0BkD,EAAMC,YAAYzD,EAAMyD,aAAhDG,EAAKtD,EAAAsD,MAAED,EAAYrD,EAAAqD,aACrBvB,EAAM,GAAAlC,OAAGsD,EAAMpB,IAAG,OAAAlC,OAAMG,EAAK,YAAAH,OAAWF,EAAMC,gBAAe,eAAAC,OAAckE,EAAOC,cAAa,cAAAnE,OAAakE,EAAOE,mBAAkB,oBAAApE,OAAmByD,G,uCAItI,SAAMtC,MAAMe,EAAK,CACrCmC,OAAQ,MACRC,QAAS,CACPC,cAAe,UAAAvE,OAAU0D,O,OAHvBc,EAAgBnD,EAAAR,OAMH,SAAM2D,EAAclD,Q,OAAjCmD,EAAapD,EAAAR,OACnB6D,EAAmBD,EAAUE,YAAYC,KAAI,SAAAC,GAAU,OAAArD,OAAAC,OAAAD,OAAAC,OAAA,GAClDoD,GAAU,CACbC,YAAazC,EAAiBwC,EAAWE,aAFY,I,8BAKvDrD,QAAQsD,MACN,2I,mBAIJ,SAAON,IAAqBhC,UAAY,GAAKgC,G,QCpCxC,IAAMO,EAAY,wDAClB,IAAMC,EAAY,yBCMlB,IAAMC,EAAgB,SAACC,GAC5B,OAAAA,EACGC,cACAC,UAAU,OACVhF,QAAQ,mBAAoB,GAH/B,ECEK,IAAMiF,EAAc,SAAOpF,GAAa,OAAAM,UAAAC,OAAA,qB,0EAC7C,GAAIP,EAAMkD,SAAW,EAAG,CACtB,SAAO,G,CAGHmC,EAAmBhE,OAAOiE,QAAQ,CACtCtF,MAAOF,mBAAmBE,GAC1BN,KAAMC,EAAMC,gBACZ2F,MAAO,IACNC,QAAO,SAACC,EAAGxF,EAAQyF,G,IAAPC,EAAC1F,EAAA,GAAE2F,EAAC3F,EAAA,GAAS,SAAAJ,OAAG4F,GAAC5F,OAAG6F,IAAM,EAAI,IAAM,KAAG7F,OAAG8F,EAAC,KAAA9F,OAAI+F,EAAlC,GAAuC,IAE7DC,EAAc,GAAAhG,OAAGiF,EAAS,YAAAjF,OAAWwF,G,uCAGjB,SAAMrE,MAAM6E,I,OAA9BC,EAAkB7F,EAAAS,OACH,SAAMoF,EAAgB3E,Q,OAArC4E,EAAe9F,EAAAS,OACrB,IAAKqF,EAAYpF,GAAI,CACnB,MAAM,IAAIqF,MAAMD,EAAYE,K,CAE9B,SAAOF,EAAYG,W,kBAEnB3E,QAAQsD,MACN,qGAEF,MAAMsB,E,yBAYH,IAAMC,EAAwB,SAACpG,EAA2BqG,GAC/D,GAAIrG,IAAUuC,UAAW,OAAO8D,EAGhC,IAAMC,EAAYtB,EAAcqB,GAChC,IAAME,EAAIvB,EAAchF,GACxB,IAAMwG,EAAeF,EAAUG,QAAQF,GAEvC,GAAIC,EAAe,EAAG,CACpB,OAAOH,C,CAGT,MAAO,GAAAxG,OAAGwG,EAAMK,UAAU,EAAGF,GAAa,KAAA3G,OAAIwG,EAAMK,UAClDF,EACAA,EAAexG,EAAMkD,QACtB,KAAArD,OAAIwG,EAAMK,UAAUF,EAAexG,EAAMkD,OAAQmD,EAAMnD,QAC1D,EAQO,IAAMyD,EAAe,SAACC,GAC3B,IAAI7E,EAEJ,GAAI6E,EAASnH,GAAI,CACfsC,EAAM,GAAAlC,OAAGkF,EAAS,KAAAlF,OAAIF,EAAMC,gBAAe,KAAAC,OAAI+G,EAASnH,GAAE,U,KACrD,CACLsC,EAAM,GAAAlC,OAAGkF,EAAS,mBAAAlF,OAAkBC,mBAAmB8G,EAASC,M,CAGlE,OAAO9E,CACT,EC/EO,IAAM+E,EAAkB,SAACC,G,MAC9B,IAAMC,GAAiB7E,EAAA4E,EAAMC,kBAAc,MAAA7E,SAAA,EAAAA,EAAI,OAC/C,IAAM8E,EAAoBF,EAAMG,KAC7B/G,QAAQ,QAAS,gBAAAN,OAAgBmH,EAAc,OAC/C7G,QAAQ,QAAS,WACjBA,QAAQ,UAAW,IACtB,OAAOgH,EAAA,QAAMC,UAAWH,GAC1B,ECTA,IAAMI,EAAgB,ix1D,ICgCTC,EAAUC,EAAA,yB,iGACS,M,sBACiB,G,sBACA,G,sBAC2B,I,CAO1EC,EAAAC,UAAAC,kBAAA,eAAAnH,EAAAoH,KACEA,KAAKC,gBAAkBC,EAAS,KAAK,WAAM,OAAAtH,EAAKuH,cAAL,IAC3CC,OAAOC,iBAAiB,SAAUL,KAAKC,gBAAiB,CAAEK,QAAS,M,EAGrET,EAAAC,UAAAS,qBAAA,WACEH,OAAOI,oBAAoB,SAAUR,KAAKC,iBAC1CQ,G,EAGFZ,EAAAC,UAAAY,oBAAA,eAAA9H,EAAAoH,KAEE,GAAIA,KAAKW,eAAiBX,KAAKY,mBAAoB,CACjDZ,KAAKW,aAAaE,UAAUC,OAAO,QAGnC,GAAIC,EAAqBf,KAAKW,aAAc,eAAiBK,IAA4B,CAEvF,OAAO,IAAIC,SAAiB,SAAAC,GAC1B,GAAItI,EAAK+H,eAAiB/F,UAAW,CACnC,OAAOsG,EAAQ,K,CAGjBtI,EAAK+H,aAAaN,iBAAiB,iBAAiB,SAAAc,GAClD,GAAIA,EAAMC,eAAiB,YAAa,CACtCF,EAAQ,K,WAQpBrB,EAAAC,UAAAuB,mBAAA,WAEE,GAAIrB,KAAKW,cAAgBX,KAAKY,mBAAoB,CAEhDZ,KAAKW,aAAaW,wBAClBtB,KAAKW,aAAaE,UAAUU,IAAI,O,CAIlC,GAAIvB,KAAKY,oBAAsBZ,KAAKwB,UAAW,CAC7CxB,KAAKwB,UAAUC,MAAM,CAAEC,cAAe,M,GAapC7B,EAAAC,UAAA6B,eAAN,SAAqBC,G,oHACnB5B,KAAKY,mBACHgB,IAAUhH,kBAAoBgH,IAAU,WAAa5B,KAAKY,mBAAqBgB,EACjF5B,KAAK6B,gBAAgBC,KAAK,CAAEC,KAAM/B,KAAKY,mBAAoBoB,QAAShC,KAAKiC,O,KAEpEjC,KAAKY,mBAAN,YAEFZ,KAAKkC,iBAAmB,GACxBlC,KAAKmC,iBAAmB,GACxB,GAAInC,KAAKwB,UAAWxB,KAAKwB,UAAUY,MAAQ,GAC3CpC,KAAKqC,W,yCAIH/J,EAAA0H,KAAwB,SAAM9D,EAAoB,K,OAAlD5D,EAAK4J,iBAAmB3I,EAAAR,O,iDAI5BiH,KAAKsC,gBAEL,SAAOtC,KAAKY,oB,QAODf,EAAAC,UAAAuC,SAAN,W,6FACCE,EAAavC,KAAKiC,KAAKM,WAC7B,GAAIA,IAAe,KAAM,CACvB,S,CAEIC,EAAeD,EAAWE,cAA2B,kBAC3D,GAAID,EAAc,CAChBA,EAAaf,O,kBAIT5B,EAAAC,UAAAK,aAAA,WAEN,GAAIH,KAAKY,mBAAoB,CAC3BZ,KAAKsC,e,GAODzC,EAAAC,UAAAwC,cAAA,WACN,GAAItC,KAAKY,oBAAsBR,OAAOsC,WAAa,KAAM,CACvDC,EAAkB3C,KAAKW,a,KAClB,CACLiC,EAAiB5C,KAAKW,a,GAOZd,EAAAC,UAAA+C,kBAAN,W,kIACN,GAAI7C,KAAKwB,YAAc5G,aAAaJ,EAAAxC,EAAMyC,mBAAe,MAAAD,SAAA,SAAAA,EAAEE,OAAOC,UAAWC,UAAW,CACtF,S,CAEIvC,EAAQ2H,KAAKwB,UAAUY,MAAMU,OAE6B,SAAM7B,QAAQ8B,IAAI,CAChFtF,EAAYpF,GACZ6D,EAAoB7D,GACpB8B,EAAoB9B,EAAOL,EAAMyC,gBAAgBC,OAAOC,W,OAHpDrC,EAA0D0K,EAAAjK,OAAzDoJ,EAAgB7J,EAAA,GAAE4J,EAAgB5J,EAAA,GAAE2K,EAAiB3K,EAAA,GAM5D0H,KAAKkD,iBAAmBD,EAGxB,GAAIA,EAAmB,CACrBjD,KAAKmC,iBAAmB,GACxBnC,KAAKkC,iBAAmB,E,KACnB,CACL3I,EAAiDwB,EAC/CmH,EACAC,EACA,GAHDnC,KAAKkC,iBAAgB3I,EAAA,GAAEyG,KAAKmC,iBAAgB5I,EAAA,E,CAO/CyG,KAAKmD,qB,kBAOCtD,EAAAC,UAAAsD,cAAA,SAAcjC,G,YACpB,GAAInB,KAAKW,eAAiB/F,UAAW,CACnC,M,CAGF,IAAIyI,EAAqBrD,KAAKW,aAAa8B,cACzC,kCAGF,OAAQtB,EAAMmC,IAAI/F,eAChB,IAAK,QACH,GAAI8F,EAAoB,CACtB,IAAME,EAAeF,EAAmBG,aAAa,QACrD,GAAID,IAAiB,KAAM,CACzBnD,OAAOnB,SAASwE,KAAOF,C,MAEpB,CACLvD,KAAK0D,a,CAGP,MACF,IAAK,YACL,IAAK,UACH,IAAMC,EAAc3D,KAAKW,aAAaiD,iBAAiB,yBAEvD5D,KAAKmD,qBAEL,GAAIhC,EAAMmC,IAAI/F,gBAAkB,YAAa,CAC3C,IAAIpB,GAAA3B,EAAA6I,IAAkB,MAAlBA,SAAkB,SAAlBA,EAAoBQ,iBAAa,MAAArJ,SAAA,SAAAA,EAAEsJ,sBAAkB,MAAA3H,SAAA,SAAAA,EAAE4H,kBAAmB,CAE5EV,EAAmBQ,cAAcC,mBAAmBC,kBAAkBlD,UAAUU,IAC9E,W,KAEG,CAEL,GAAIoC,EAAYpI,OAAS,EAAG,CAC1BoI,EAAY,GAAG9C,UAAUU,IAAI,W,QAG5B,GAAIJ,EAAMmC,IAAI/F,gBAAkB,UAAW,CAChD,IAAIyG,GAAAC,EAAAZ,IAAkB,MAAlBA,SAAkB,SAAlBA,EAAoBQ,iBAAa,MAAAI,SAAA,SAAAA,EAAEC,0BAAsB,MAAAF,SAAA,SAAAA,EAAED,kBAAmB,CAGhFV,EAAmBQ,cAAcK,uBAAuBH,kBAAkBlD,UAAUU,IAClF,W,KAEG,CAEL,GAAIoC,EAAYpI,OAAS,EAAG,CAC1BoI,EAAYA,EAAYpI,OAAS,GAAGsF,UAAUU,IAAI,W,GAMxD8B,EAAqBrD,KAAKW,aAAa8B,cAAc,kCACrD,IAAM0B,EAAgBd,IAAkB,MAAlBA,SAAkB,SAAlBA,EAAoBe,QAAQC,eAGlD,GAAIF,IAAkBvJ,WAAaoF,KAAKwB,UAAW,CACjDxB,KAAKwB,UAAUY,MAAQ+B,C,CAGzB,M,EAQEtE,EAAAC,UAAAwE,2BAAA,SAA2BnD,GACjCnB,KAAKmD,qBAGJhC,EAAMoD,OAAuB1D,UAAUU,IAAI,W,EAOtC1B,EAAAC,UAAA0E,4BAAA,WACNxE,KAAKmD,oB,EAMCtD,EAAAC,UAAAqD,mBAAA,WACN,GAAInD,KAAKW,eAAiB/F,UAAW,OAErC,IAAMyI,EAAqBrD,KAAKW,aAAa8B,cAAc,0BAE3D,GAAIY,EAAoB,CACtBA,EAAmBxC,UAAUC,OAAO,W,GAO1BjB,EAAAC,UAAA4D,YAAN,W,yHACF1D,KAAKwB,aAAahH,EAAAxC,EAAMyC,mBAAe,MAAAD,SAAA,SAAAA,EAAEE,OAAOC,SAAhD,YACkB,SAAMN,EACxB2F,KAAKwB,UAAUY,MAAMU,OACrB9K,EAAMyC,gBAAgBC,OAAOC,S,OAFzBqC,EAAc1E,EAAAS,OAIpB,IAAKiE,EAAa,UAClBoD,OAAOnB,SAASwE,KAAOzG,E,mCAI3B6C,EAAAC,UAAA2E,OAAA,eAAA7L,EAAAoH,K,gCACE,KAAIxF,EAAAxC,EAAMyC,mBAAe,MAAAD,SAAA,SAAAA,EAAEE,UAAWE,UAAW,CAC/C,M,CAEI,IAAAtC,EAA2BN,EAAMyC,gBAAgBC,OAA/CgK,EAAYpM,EAAAoM,aAAE/J,EAAMrC,EAAAqC,OAC5B,IAAMgK,IACJxI,EAAA6D,KAAKwB,aAAS,MAAArF,SAAA,SAAAA,EAAEiG,SAAU,MAAM6B,EAAAtJ,EAAOiK,yBAAqB,MAAAX,SAAA,SAAAA,EAAEY,MAAMtJ,QAAS,EAE/E,OACEiE,EAACsF,EAAI,KACHtF,EAACuF,EAAS,MACVvF,EAAA,OAAKwF,MAAM,UACTxF,EAAA,UACE1H,GAAG,qCACHkN,MAAM,gBACNC,KAAK,SAAQ,gBACE,GAAA/M,OAAG8H,KAAKY,oBACvBsE,QAAS,SAAAC,GAAK,OAAAvM,EAAK+I,eAAewD,EAApB,GAEd3F,EAAA,QAAMwF,MAAM,mBACThF,KAAKY,mBACF8D,EAAaU,qBACbV,EAAaW,cAEnB7F,EAAC8F,EAAO,CAACpG,KAAMc,KAAKY,mBAAqB,WAAa,eAExDpB,EAAC+F,EAAE,CAACC,UAAWxF,KAAKY,oBAClBpB,EAAA,OAAKwF,MAAM,SAASS,IAAK,SAAAN,GAAC,OAAKvM,EAAK+H,aAAewE,CAAzB,GACxB3F,EAAA,OAAKwF,MAAM,iBACTxF,EAAA,OAAKwF,MAAM,OACTxF,EAAA,OAAKwF,MAAM,gCACTxF,EAAA,OAAKwF,MAAM,4BACTxF,EAAA,SACEyF,KAAK,OACLnN,GAAG,YACHkN,MAAM,+BACNU,YAAahB,EAAaiB,6BAC1BC,aAAa,MACbH,IAAK,SAAAI,GAAE,OAAKjN,EAAK4I,UAAYqE,CAAtB,EACPC,QAAS,WAAM,OAAAlN,EAAKiK,mBAAL,EACfkD,UAAW,SAAAZ,GAAK,OAAAvM,EAAKwK,cAAc+B,EAAnB,IAElB3F,EAAA,SAAOwG,QAAQ,aAAatB,EAAaiB,8BACzCnG,EAAA,UACE0F,QAAS,WAAM,OAAAtM,EAAK8K,aAAL,EACfsB,MAAM,gCAENxF,EAAA,QAAMwF,MAAM,mBAAmBN,EAAauB,cAC5CzG,EAAC8F,EAAO,CAACpG,KAAK,gBAGjByF,GACCnF,EAAA,MAAIwF,MAAM,QAAQrK,EAAOiK,sBAAsBsB,OAEjD1G,EAAA,MACEwF,MAAM,sBACNmB,aAAc,WAAM,OAAAvN,EAAK4L,6BAAL,GAEnBG,GACChK,EAAOiK,sBAAsBC,MAAM/H,KAAI,SAAAsJ,GAAc,OACnD5G,EAAA,MAAI8D,IAAK8C,EAAe3C,MACtBjE,EAAA,KACEwF,MAAM,iCACNvB,KAAM,IAAI4C,IAAID,EAAe3C,KAAM,mBAAmBA,KAAI,uBACpC2C,EAAeE,MACrCC,aAAc,SAAApB,GAAK,OAAAvM,EAAK0L,2BAA2Ba,EAAhC,GAEnB3F,EAAA,QACEwF,MAAM,8BACNvF,UAAW2G,EAAeI,YAE5BhH,EAAA,YAAO4G,EAAeE,QAZyB,IAgBtDtG,KAAKkD,kBAAoBlD,KAAKkD,iBAAiBlK,IAC9CwG,EAAA,UACEA,EAAA,KACEwF,MAAM,6BACNvB,KAAMzD,KAAKkD,iBAAiB9I,IAAG,wBACT4J,EAAAhE,KAAKwB,aAAS,MAAAwC,SAAA,SAAAA,EAAE5B,MACtCmE,aAAc,SAAApB,GAAK,OAAAvM,EAAK0L,2BAA2Ba,EAAhC,GAEnB3F,EAAC8F,EAAO,CAACpG,KAAK,qBACdM,EAAA,QAAMwF,MAAM,SAAQyB,GAAAC,EAAA1G,KAAKkD,oBAAgB,MAAAwD,SAAA,SAAAA,EAAEC,WAAO,MAAAF,SAAA,S,EAAE3O,GAAE,MACtD0H,EAAA,aACGoH,GAAAC,EAAA7G,KAAKkD,oBAAgB,MAAA2D,SAAA,SAAAA,EAAEF,WAAO,MAAAC,SAAA,S,EAAEE,QAAO,IAAG,KAC1CC,GAAAC,EAAAhH,KAAKkD,oBAAgB,MAAA8D,SAAA,SAAAA,EAAEL,WAAO,MAAAI,SAAA,S,EAAEE,UAAUC,QAAS,KACnDC,GAAAC,EAAApH,KAAKkD,oBAAgB,MAAAkE,SAAA,SAAAA,EAAET,WAAO,MAAAQ,SAAA,S,EAAEF,UAAUI,KAAI,IAAG,KACjDC,GAAAC,EAAAvH,KAAKkD,oBAAgB,MAAAqE,SAAA,SAAAA,EAAEZ,WAAO,MAAAW,SAAA,S,EAAEtP,UAKvC2M,GACA3E,KAAKkC,kBACLlC,KAAKkC,iBAAiBpF,KAAI,SAAA0K,GAAU,OAClChI,EAAA,MAAI8D,IAAKkE,EAAWC,UAClBjI,EAAA,KACEwF,MAAM,WACNvB,KAAM+D,EAAWxK,YAAW,uBACNwK,EAAWvK,WACjCsJ,aAAc,SAAApB,GAAK,OAAAvM,EAAK0L,2BAA2Ba,EAAhC,GAEnB3F,EAAC8F,EAAO,CAACpG,KAAK,cACdM,EAACL,EAAe,CAACI,KAAMiI,EAAWE,eATJ,KAapC/C,GACA3E,KAAKmC,kBACLnC,KAAKmC,iBAAiBrF,KAAI,SAAA0K,G,QAAc,OACtChI,EAAA,MAAI8D,IAAKkE,EAAW1P,IAClB0H,EAAA,KACEwF,MAAM,WACNvB,KAAMzE,EAAawI,GAAW,uBACRA,EAAWtI,KACjCqH,aAAc,SAAApB,GAAK,OAAAvM,EAAK0L,2BAA2Ba,EAAhC,GAEnB3F,EAAC8F,EAAO,CAACpG,KAAK,aACdM,EAACL,EAAe,CACdI,KAAMd,GACJtC,GAAA3B,EAAA5B,EAAK4I,aAAS,MAAAhH,SAAA,SAAAA,EAAE4H,SAAK,MAAAjG,SAAA,SAAAA,EAAE2G,OACvB0E,EAAWtI,S,oIA3YtB,I"}
@@ -1,2 +0,0 @@
1
- import{h as t,r as e,c as n,H as o,g as i}from"./p-9e003388.js";import{S as a}from"./p-f98e732f.js";import{S as r}from"./p-0f245a12.js";import{s}from"./p-10df5210.js";import{e as d,u as l}from"./p-45db66a6.js";import{t as g}from"./p-1be304cd.js";const p=e=>t("nav",{class:"language-switch-dropdown",ref:t=>e.dropdownRef(t)},t("h3",{class:"visually-hidden"},g("Change language")),t("ul",null,e.navLang.filter((t=>!t.isCurrent)).map((n=>{const o=n.url===null?"button":"a";return t("li",{key:n.lang},t(o,{onClick:()=>e.switchLanguage(n),href:n.url,lang:n.lang,title:n.title},t("span",{class:"visually-hidden"},n.title),t("span",{"aria-hidden":"true"},n.text)))}))));const f='@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:700;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:400;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:300;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff") format("woff")}*,:host,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{font-family:"Frutiger Neue For Post", system-ui, sans-serif}button{font:inherit;padding:0}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:white}}.language-switch-dropdown ul,.no-list{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}.btn-blank{background-color:transparent;border:none;border-radius:0;padding:0}.language-switch-dropdown a,.language-switch-dropdown button,.nav-link{text-decoration:none;color:rgba(0, 0, 0, 0.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:transparent;border-radius:0;-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.5rem}.language-switch-dropdown a:hover,.language-switch-dropdown button:hover,.nav-link:hover,.language-switch-dropdown a:focus,.language-switch-dropdown button:focus,.nav-link:focus{color:black}.language-switch-dropdown a>svg,.language-switch-dropdown button>svg,.nav-link>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.language-switch-dropdown a>span,.language-switch-dropdown button>span,.nav-link>span{-ms-flex-negative:1;flex-shrink:1}.box>*:first-child{margin-top:0}.box>*:last-child{margin-bottom:0}.mirrored{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.bold{font-weight:700}.light{font-weight:300}.d-flex{display:-ms-flexbox;display:flex}.d-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.align-items-center{-ms-flex-align:center;align-items:center}@media (min-width: 1441px){.wide-container{margin:0 auto;max-width:1440px}}@media (max-width: 599.98px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 600px) and (max-width: 1023.98px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}.visually-hidden{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}@media (max-width: -0.02px){.hidden-xs{display:none}}@media (max-width: 399.98px){.hidden-sm{display:none}}@media (max-width: 599.98px){.hidden-rg{display:none}}@media (max-width: 779.98px){.hidden-md{display:none}}@media (max-width: 1023.98px){.hidden-lg{display:none}}@media (max-width: 1279.98px){.hidden-xl{display:none}}@media (max-width: 1440.98px){.hidden-xxl{display:none}}:host{--separator-display:none;--separator-height:100%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-item-align:stretch;align-self:stretch}:host::before{display:var(--separator-display);height:var(--separator-height);border-left:1px solid hsl(0, 0%, 90%);content:""}.lang-btn{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;height:100%;padding:0 1rem;border:none;-webkit-box-shadow:none;box-shadow:none;background:none;text-transform:uppercase;cursor:pointer;color:rgba(0, 0, 0, 0.8)}.lang-btn:hover,.lang-btn:focus{color:black}.lang-btn svg{width:1.5em;height:1.5em;-webkit-transition:-webkit-transform 250ms;transition:-webkit-transform 250ms;transition:transform 250ms;transition:transform 250ms, -webkit-transform 250ms}.lang-btn svg.rotated{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.language-switch{position:relative;-ms-flex-item-align:stretch;align-self:stretch;height:100%}.language-switch.list{margin-top:1.5rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.current-language{text-transform:uppercase;border-right:1px solid hsl(0, 0%, 80%);padding:0.5rem 1rem 0.5rem 0}.dropdown .language-switch-dropdown{position:absolute;top:100%;width:100%;background:white;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2), 0 2px 6px 2px rgba(0, 0, 0, 0.1);box-shadow:0 1px 2px rgba(0, 0, 0, 0.2), 0 2px 6px 2px rgba(0, 0, 0, 0.1);z-index:1;-webkit-transform:scale(0.1);transform:scale(0.1);-webkit-transform-origin:center top;transform-origin:center top;-webkit-transition:-webkit-transform 0.1s;transition:-webkit-transform 0.1s;transition:transform 0.1s;transition:transform 0.1s, -webkit-transform 0.1s;margin-top:var(--language-dropdown-margin-top)}@media (prefers-reduced-motion: reduce){.dropdown .language-switch-dropdown{-webkit-transition:none;transition:none}}.dropdown .language-switch-dropdown.open{-webkit-transform:scale(1);transform:scale(1)}.list .language-switch-dropdown ul{display:-ms-flexbox;display:flex}.list .language-switch-dropdown ul>li+li{border-left:1px solid hsl(0, 0%, 80%)}.language-switch-dropdown a,.language-switch-dropdown button{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:3rem;padding:0 0.25rem;text-transform:uppercase;cursor:pointer;-webkit-transition:background-color 200ms, color 200ms;transition:background-color 200ms, color 200ms}.language-switch-dropdown a:hover,.language-switch-dropdown a:focus,.language-switch-dropdown button:hover,.language-switch-dropdown button:focus{background:#f4f3f1}.language-switch-dropdown a span,.language-switch-dropdown button span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.list .language-switch-dropdown a,.list .language-switch-dropdown button{color:black;height:auto;padding:0.5rem 1rem}';const h=class{constructor(t){e(this,t);this.dropdownToggled=n(this,"dropdownToggled",7);this.languageChanged=n(this,"languageChanged",7);this.mode=undefined;this.langSwitchOpen=false}componentWillUpdate(){if(this.languageSwitchDropdown&&!this.langSwitchOpen&&this.mode=="dropdown"){this.languageSwitchDropdown.classList.remove("open");if(d(this.languageSwitchDropdown,"transform")&&!l()){return new Promise((t=>{var e;(e=this.languageSwitchDropdown)===null||e===void 0?void 0:e.addEventListener("transitionend",(e=>{if(e.propertyName==="transform"){t(true)}}))}))}}}componentDidUpdate(){if(this.languageSwitchDropdown&&this.langSwitchOpen){this.languageSwitchDropdown.getBoundingClientRect();this.languageSwitchDropdown.classList.add("open")}}async toggleDropdown(t){this.langSwitchOpen=t!==null&&t!==void 0?t:!this.langSwitchOpen;this.dropdownToggled.emit({open:this.langSwitchOpen,element:this.host});return this.langSwitchOpen}switchLanguage(t){this.languageChanged.emit(t.lang);this.toggleDropdown(false)}getMergedLanguageConfig(t,e){if(e===undefined){return t}return t.map((t=>Object.assign({},t,e.find((e=>e.lang===t.lang)))))}setDropdownRef(t){this.languageSwitchDropdown=t}render(){var e;if(((e=s.localizedConfig)===null||e===void 0?void 0:e.header)===undefined)return;const n=s.localizedConfig.header;const i=this.getMergedLanguageConfig(n.navLang,s.languageSwitchOverrides);return t(o,null,t("div",{class:`language-switch ${this.mode}`},t(a,null),this.mode==="dropdown"?t("button",{class:"lang-btn","aria-expanded":`${this.langSwitchOpen}`,"aria-haspopup":"listbox",onClick:()=>this.toggleDropdown()},t("span",{class:"visually-hidden"},n.translations.navLangAriaLabel),t("span",{"aria-hidden":"true"},s.currentLanguage),t(r,{name:"pi-arrow-down",classNames:this.langSwitchOpen?"rotated":""})):t("span",{class:"bold current-language"},t("span",{class:"visually-hidden"},g("Current language is English")),t("span",null,s.currentLanguage)),this.langSwitchOpen||this.mode==="list"?t(p,{navLang:i,switchLanguage:t=>this.switchLanguage(t),dropdownRef:t=>t!==undefined&&this.setDropdownRef(t)}):null))}get host(){return i(this)}};h.style=f;export{h as post_language_switch};
2
- //# sourceMappingURL=p-d4c4656c.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["PostLanguageSwitchList","props","h","class","ref","e","dropdownRef","translate","navLang","filter","lang","isCurrent","map","TagName","url","key","onClick","switchLanguage","href","title","text","postLanguageSwitchCss","PostLanguageSwitch","componentWillUpdate","this","languageSwitchDropdown","langSwitchOpen","mode","classList","remove","elementHasTransition","userPrefersReducedMotion","Promise","resolve","_a","addEventListener","event","propertyName","componentDidUpdate","getBoundingClientRect","add","async","force","dropdownToggled","emit","open","element","host","newLang","languageChanged","toggleDropdown","getMergedLanguageConfig","config","overrides","undefined","langConfig","Object","assign","find","l","setDropdownRef","render","state","localizedConfig","header","mergedConfig","languageSwitchOverrides","Host","SvgSprite","translations","navLangAriaLabel","currentLanguage","SvgIcon","name","classNames"],"sources":["./src/components/post-language-switch/components/post-language-switch-list.tsx","./src/components/post-language-switch/post-language-switch.scss?tag=post-language-switch&encapsulation=shadow","./src/components/post-language-switch/post-language-switch.tsx"],"sourcesContent":["import { h } from '@stencil/core';\nimport { NavLangEntity } from '../../../models/header.model';\nimport { translate } from '../../../services/language.service';\n\nexport const PostLanguageSwitchList = (props: {\n navLang: NavLangEntity[];\n switchLanguage: (lang: NavLangEntity) => void;\n dropdownRef: (element: HTMLElement | undefined) => void;\n}) => (\n <nav class=\"language-switch-dropdown\" ref={e => props.dropdownRef(e)}>\n <h3 class=\"visually-hidden\">{translate('Change language')}</h3>\n <ul>\n {props.navLang\n .filter(lang => !lang.isCurrent)\n .map(lang => {\n const TagName = lang.url === null ? 'button' : 'a';\n return (\n <li key={lang.lang}>\n <TagName\n onClick={() => props.switchLanguage(lang)}\n href={lang.url}\n lang={lang.lang}\n title={lang.title}\n >\n <span class=\"visually-hidden\">{lang.title}</span>\n <span aria-hidden=\"true\">{lang.text}</span>\n </TagName>\n </li>\n );\n })}\n </ul>\n </nav>\n);\n","@use \"@swisspost/design-system-styles/variables/color\";\n@use \"@swisspost/design-system-styles/functions\";\n@use \"../../utils/utils.scss\";\n\n:host {\n --separator-display: none;\n --separator-height: 100%;\n\n display: flex;\n align-items: center;\n align-self: stretch;\n\n &::before {\n display: var(--separator-display);\n height: var(--separator-height);\n border-left: 1px solid color.$gray-10;\n content: '';\n }\n}\n\n.lang-btn {\n display: flex;\n align-items: center;\n height: 100%;\n padding: 0 1rem;\n border: none;\n box-shadow: none;\n background: none;\n text-transform: uppercase;\n cursor: pointer;\n color: rgba(color.$black, 0.8);\n\n &:hover,\n &:focus {\n color: black;\n }\n\n svg {\n width: 1.5em;\n height: 1.5em;\n transition: transform 250ms;\n\n &.rotated {\n transform: rotate(180deg);\n }\n }\n}\n\n.language-switch {\n position: relative;\n align-self: stretch;\n height: 100%;\n\n &.list {\n margin-top: 1.5rem;\n display: flex;\n align-items: center;\n }\n}\n\n.current-language {\n text-transform: uppercase;\n border-right: 1px solid color.$gray-20;\n padding: 0.5rem 1rem 0.5rem 0;\n}\n\n.language-switch-dropdown {\n .dropdown & {\n position: absolute;\n top: 100%;\n width: 100%;\n background: white;\n box-shadow: 0 1px 2px rgb(0 0 0 / 20%), 0 2px 6px 2px rgb(0 0 0 / 10%);\n z-index: 1;\n transform: scale(0.1);\n transform-origin: center top;\n transition: transform 0.1s;\n margin-top: var(--language-dropdown-margin-top);\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n &.open {\n transform: scale(1);\n }\n }\n\n ul {\n @extend %no-list;\n\n .list & {\n display: flex;\n\n > li + li {\n border-left: 1px solid color.$gray-20;\n }\n }\n }\n\n a,\n button {\n @extend %nav-link;\n\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: functions.px-to-rem(48px);\n padding: 0 0.25rem;\n text-transform: uppercase;\n cursor: pointer;\n transition: background-color 200ms, color 200ms;\n\n &:hover,\n &:focus {\n background: color.$gray-background;\n }\n\n span {\n // Worst case scenario\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n .list & {\n color: black;\n height: auto;\n padding: 0.5rem 1rem;\n }\n }\n}\n","import {\n Component,\n Event,\n Host,\n h,\n Method,\n EventEmitter,\n State,\n Prop,\n Element,\n} from '@stencil/core';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { state } from '../../data/store';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n NavLangEntity,\n} from '../../models/header.model';\nimport { userPrefersReducedMotion, elementHasTransition } from '../../services/ui.service';\nimport { translate } from '../../services/language.service';\nimport { PostLanguageSwitchList } from './components/post-language-switch-list';\nimport { IAvailableLanguage } from '../../models/language.model';\n\n@Component({\n tag: 'post-language-switch',\n styleUrl: 'post-language-switch.scss',\n shadow: true,\n})\nexport class PostLanguageSwitch implements HasDropdown {\n @Prop() mode: 'dropdown' | 'list';\n @State() langSwitchOpen = false;\n @Element() host: DropdownElement;\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\n @Event({ bubbles: true }) languageChanged: EventEmitter<string>;\n private languageSwitchDropdown: HTMLElement | undefined;\n\n componentWillUpdate() {\n // Check if language switch got set to close and if mode is dropdown\n if (this.languageSwitchDropdown && !this.langSwitchOpen && this.mode == 'dropdown') {\n this.languageSwitchDropdown.classList.remove('open');\n\n // Check if element has transition applied and whether user prefers to see animations or not\n if (\n elementHasTransition(this.languageSwitchDropdown, 'transform') &&\n !userPrefersReducedMotion()\n ) {\n // Wait for CSS transition 'transform' to end before continuing\n return new Promise<boolean>(resolve => {\n this.languageSwitchDropdown?.addEventListener('transitionend', event => {\n if (event.propertyName === 'transform') {\n resolve(true);\n }\n });\n });\n }\n }\n }\n\n componentDidUpdate() {\n // Language switch got set to open\n if (this.languageSwitchDropdown && this.langSwitchOpen) {\n // Force browser to redraw/refresh DOM before adding 'open' class\n this.languageSwitchDropdown.getBoundingClientRect();\n this.languageSwitchDropdown.classList.add('open');\n }\n }\n\n /**\n * Open or close the language switch programatically\n * @param force Boolean to force a state\n * @returns Boolean indicating new state\n */\n @Method()\n async toggleDropdown(force?: boolean) {\n this.langSwitchOpen = force ?? !this.langSwitchOpen;\n this.dropdownToggled.emit({ open: this.langSwitchOpen, element: this.host });\n return this.langSwitchOpen;\n }\n\n /**\n * Emit a language change to the parent component\n *\n * @param newLang Config of the new language\n */\n switchLanguage(newLang: NavLangEntity) {\n this.languageChanged.emit(newLang.lang);\n this.toggleDropdown(false);\n }\n\n private getMergedLanguageConfig(config: NavLangEntity[], overrides?: IAvailableLanguage[]) {\n if (overrides === undefined) {\n return config;\n }\n\n return config.map(langConfig =>\n Object.assign(\n {},\n langConfig,\n overrides.find(l => l.lang === langConfig.lang),\n ),\n );\n }\n\n private setDropdownRef(element: HTMLElement | undefined) {\n this.languageSwitchDropdown = element;\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) return;\n const config = state.localizedConfig.header;\n const mergedConfig = this.getMergedLanguageConfig(\n config.navLang,\n state.languageSwitchOverrides,\n );\n\n return (\n <Host>\n <div class={`language-switch ${this.mode}`}>\n <SvgSprite />\n {this.mode === 'dropdown' ? (\n <button\n class=\"lang-btn\"\n aria-expanded={`${this.langSwitchOpen}`}\n aria-haspopup=\"listbox\"\n onClick={() => this.toggleDropdown()}\n >\n <span class=\"visually-hidden\">{config.translations.navLangAriaLabel}</span>\n <span aria-hidden=\"true\">{state.currentLanguage}</span>\n <SvgIcon name=\"pi-arrow-down\" classNames={this.langSwitchOpen ? 'rotated' : ''} />\n </button>\n ) : (\n <span class=\"bold current-language\">\n <span class=\"visually-hidden\">{translate('Current language is English')}</span>\n <span>{state.currentLanguage}</span>\n </span>\n )}\n {this.langSwitchOpen || this.mode === 'list' ? (\n <PostLanguageSwitchList\n navLang={mergedConfig}\n switchLanguage={e => this.switchLanguage(e)}\n dropdownRef={e => e !== undefined && this.setDropdownRef(e)}\n />\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}