@swisspost/internet-header 1.6.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 (222) hide show
  1. package/dist/cjs/{index-333f9e15.js → index-92e9d4f8.js} +75 -22
  2. package/dist/cjs/index-92e9d4f8.js.map +1 -0
  3. package/dist/cjs/{language.service-a3d9e957.js → language.service-56d68ec3.js} +2 -2
  4. package/dist/cjs/{language.service-a3d9e957.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 +4 -17
  11. package/dist/cjs/post-logo.cjs.entry.js.map +1 -1
  12. package/dist/cjs/post-main-navigation.cjs.entry.js +5 -5
  13. package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -1
  14. package/dist/cjs/post-meta-navigation.cjs.entry.js +2 -2
  15. package/dist/cjs/post-search.cjs.entry.js +8 -6
  16. package/dist/cjs/post-search.cjs.entry.js.map +1 -1
  17. package/dist/cjs/post-skiplinks.cjs.entry.js +5 -5
  18. package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -1
  19. package/dist/cjs/{store-89411b58.js → store-638313d5.js} +2 -2
  20. package/dist/cjs/{store-89411b58.js.map → store-638313d5.js.map} +1 -1
  21. package/dist/cjs/{svg-icon.component-4f6cd874.js → svg-icon.component-f07628a9.js} +2 -2
  22. package/dist/cjs/{svg-icon.component-4f6cd874.js.map → svg-icon.component-f07628a9.js.map} +1 -1
  23. package/dist/cjs/{svg-sprite.component-4c755fd2.js → svg-sprite.component-dc8e2e95.js} +2 -2
  24. package/dist/cjs/{svg-sprite.component-4c755fd2.js.map → svg-sprite.component-dc8e2e95.js.map} +1 -1
  25. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +5 -5
  26. package/dist/cjs/swisspost-internet-footer.cjs.entry.js +3 -3
  27. package/dist/cjs/swisspost-internet-header.cjs.entry.js +19 -19
  28. package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
  29. package/dist/cjs/swisspost-internet-header.cjs.js +2 -2
  30. package/dist/cjs/swisspost-internet-header.cjs.js.map +1 -1
  31. package/dist/collection/collection-manifest.json +1 -1
  32. package/dist/collection/components/post-internet-header/post-internet-header.js +1 -1
  33. package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -1
  34. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js +13 -6
  35. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js.map +1 -1
  36. package/dist/collection/components/post-language-switch/post-language-switch.js +1 -1
  37. package/dist/collection/components/post-language-switch/post-language-switch.js.map +1 -1
  38. package/dist/collection/components/post-logo/post-logo.css +2 -21
  39. package/dist/collection/components/post-logo/post-logo.js +1 -2
  40. package/dist/collection/components/post-logo/post-logo.js.map +1 -1
  41. package/dist/collection/components/post-main-navigation/post-main-navigation.js +1 -1
  42. package/dist/collection/components/post-main-navigation/post-main-navigation.js.map +1 -1
  43. package/dist/collection/components/post-search/post-search.css +53 -52
  44. package/dist/collection/components/post-search/post-search.js +3 -1
  45. package/dist/collection/components/post-search/post-search.js.map +1 -1
  46. package/dist/collection/components/post-skiplinks/post-skiplinks.js +1 -1
  47. package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +1 -1
  48. package/dist/components/post-klp-login-widget2.js +1 -1
  49. package/dist/components/post-language-switch2.js +19 -13
  50. package/dist/components/post-language-switch2.js.map +1 -1
  51. package/dist/components/post-logo2.js +4 -17
  52. package/dist/components/post-logo2.js.map +1 -1
  53. package/dist/components/post-main-navigation2.js +2 -2
  54. package/dist/components/post-main-navigation2.js.map +1 -1
  55. package/dist/components/post-meta-navigation2.js +1 -1
  56. package/dist/components/post-search2.js +5 -3
  57. package/dist/components/post-search2.js.map +1 -1
  58. package/dist/components/post-skiplinks2.js +2 -2
  59. package/dist/components/post-skiplinks2.js.map +1 -1
  60. package/dist/components/store.js.map +1 -1
  61. package/dist/components/swisspost-internet-breadcrumbs.js +1 -1
  62. package/dist/components/swisspost-internet-footer.js +1 -1
  63. package/dist/components/swisspost-internet-header.js +15 -15
  64. package/dist/components/swisspost-internet-header.js.map +1 -1
  65. package/dist/esm/{index-447227c7.js → index-35186c69.js} +75 -22
  66. package/dist/esm/index-35186c69.js.map +1 -0
  67. package/dist/esm/{language.service-3e2fe7e8.js → language.service-74bc1f43.js} +2 -2
  68. package/dist/esm/{language.service-3e2fe7e8.js.map → language.service-74bc1f43.js.map} +1 -1
  69. package/dist/esm/loader.js +3 -3
  70. package/dist/esm/loader.js.map +1 -1
  71. package/dist/esm/post-klp-login-widget.entry.js +3 -3
  72. package/dist/esm/post-language-switch.entry.js +23 -17
  73. package/dist/esm/post-language-switch.entry.js.map +1 -1
  74. package/dist/esm/post-logo.entry.js +4 -17
  75. package/dist/esm/post-logo.entry.js.map +1 -1
  76. package/dist/esm/post-main-navigation.entry.js +5 -5
  77. package/dist/esm/post-main-navigation.entry.js.map +1 -1
  78. package/dist/esm/post-meta-navigation.entry.js +2 -2
  79. package/dist/esm/post-search.entry.js +8 -6
  80. package/dist/esm/post-search.entry.js.map +1 -1
  81. package/dist/esm/post-skiplinks.entry.js +5 -5
  82. package/dist/esm/post-skiplinks.entry.js.map +1 -1
  83. package/dist/esm/{store-f0cb4f1a.js → store-b78e2d3b.js} +2 -2
  84. package/dist/esm/{store-f0cb4f1a.js.map → store-b78e2d3b.js.map} +1 -1
  85. package/dist/esm/{svg-icon.component-4ca05eb2.js → svg-icon.component-7bac7397.js} +2 -2
  86. package/dist/esm/{svg-icon.component-4ca05eb2.js.map → svg-icon.component-7bac7397.js.map} +1 -1
  87. package/dist/esm/{svg-sprite.component-0394cd67.js → svg-sprite.component-f319da57.js} +2 -2
  88. package/dist/esm/{svg-sprite.component-0394cd67.js.map → svg-sprite.component-f319da57.js.map} +1 -1
  89. package/dist/esm/swisspost-internet-breadcrumbs.entry.js +5 -5
  90. package/dist/esm/swisspost-internet-footer.entry.js +3 -3
  91. package/dist/esm/swisspost-internet-header.entry.js +19 -19
  92. package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
  93. package/dist/esm/swisspost-internet-header.js +3 -3
  94. package/dist/esm/swisspost-internet-header.js.map +1 -1
  95. package/dist/esm-es5/index-35186c69.js +3 -0
  96. package/dist/esm-es5/index-35186c69.js.map +1 -0
  97. package/dist/esm-es5/{language.service-3e2fe7e8.js → language.service-74bc1f43.js} +2 -2
  98. package/dist/esm-es5/loader.js +1 -1
  99. package/dist/esm-es5/loader.js.map +1 -1
  100. package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
  101. package/dist/esm-es5/post-language-switch.entry.js +1 -1
  102. package/dist/esm-es5/post-language-switch.entry.js.map +1 -1
  103. package/dist/esm-es5/post-logo.entry.js +1 -1
  104. package/dist/esm-es5/post-logo.entry.js.map +1 -1
  105. package/dist/esm-es5/post-main-navigation.entry.js +1 -1
  106. package/dist/esm-es5/post-main-navigation.entry.js.map +1 -1
  107. package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
  108. package/dist/esm-es5/post-search.entry.js +1 -1
  109. package/dist/esm-es5/post-search.entry.js.map +1 -1
  110. package/dist/esm-es5/post-skiplinks.entry.js +1 -1
  111. package/dist/esm-es5/post-skiplinks.entry.js.map +1 -1
  112. package/dist/esm-es5/{store-f0cb4f1a.js → store-b78e2d3b.js} +2 -2
  113. package/dist/esm-es5/{store-f0cb4f1a.js.map → store-b78e2d3b.js.map} +1 -1
  114. package/dist/esm-es5/{svg-icon.component-4ca05eb2.js → svg-icon.component-7bac7397.js} +2 -2
  115. package/dist/esm-es5/{svg-sprite.component-0394cd67.js → svg-sprite.component-f319da57.js} +2 -2
  116. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +1 -1
  117. package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
  118. package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
  119. package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
  120. package/dist/esm-es5/swisspost-internet-header.js +1 -1
  121. package/dist/esm-es5/swisspost-internet-header.js.map +1 -1
  122. package/dist/swisspost-internet-header/{p-bc800d7f.system.entry.js → p-02bb40cf.system.entry.js} +2 -2
  123. package/dist/swisspost-internet-header/p-055f51f2.system.entry.js +2 -0
  124. package/dist/swisspost-internet-header/p-055f51f2.system.entry.js.map +1 -0
  125. package/dist/swisspost-internet-header/p-21ef11a4.entry.js +2 -0
  126. package/dist/swisspost-internet-header/p-21ef11a4.entry.js.map +1 -0
  127. package/dist/swisspost-internet-header/p-22e64bf2.js +2 -0
  128. package/dist/swisspost-internet-header/{p-d8a834ef.js.map → p-22e64bf2.js.map} +1 -1
  129. package/dist/swisspost-internet-header/p-2945db6c.js +3 -0
  130. package/dist/swisspost-internet-header/p-2945db6c.js.map +1 -0
  131. package/dist/swisspost-internet-header/{p-9fddc119.system.entry.js → p-2fd2c574.system.entry.js} +2 -2
  132. package/dist/swisspost-internet-header/p-2fd2c574.system.entry.js.map +1 -0
  133. package/dist/swisspost-internet-header/{p-f5c099b1.system.entry.js → p-30335ce0.system.entry.js} +2 -2
  134. package/dist/swisspost-internet-header/p-32fe68f0.js +2 -0
  135. package/dist/swisspost-internet-header/{p-ed6c1eec.system.js → p-3819c4ce.system.js} +2 -2
  136. package/dist/swisspost-internet-header/{p-ed6c1eec.system.js.map → p-3819c4ce.system.js.map} +1 -1
  137. package/dist/swisspost-internet-header/{p-e58de121.entry.js → p-3f72b002.entry.js} +2 -2
  138. package/dist/swisspost-internet-header/{p-4c655e05.system.js → p-49fe20ff.system.js} +2 -2
  139. package/dist/swisspost-internet-header/{p-4c655e05.system.js.map → p-49fe20ff.system.js.map} +1 -1
  140. package/dist/swisspost-internet-header/{p-86c5610e.system.js → p-4d015bfc.system.js} +2 -2
  141. package/dist/swisspost-internet-header/{p-ca5bfb68.entry.js → p-5e5d587a.entry.js} +2 -2
  142. package/dist/swisspost-internet-header/p-5e9ba287.system.js +3 -0
  143. package/dist/swisspost-internet-header/p-5e9ba287.system.js.map +1 -0
  144. package/dist/swisspost-internet-header/p-6032d37e.entry.js +2 -0
  145. package/dist/swisspost-internet-header/p-6032d37e.entry.js.map +1 -0
  146. package/dist/swisspost-internet-header/{p-69b7fbf4.entry.js → p-6a22a9c3.entry.js} +2 -2
  147. package/dist/swisspost-internet-header/{p-d7e49083.system.entry.js → p-6df0c486.entry.js} +2 -2
  148. package/dist/swisspost-internet-header/p-6df0c486.entry.js.map +1 -0
  149. package/dist/swisspost-internet-header/p-73b6ce0d.system.entry.js +2 -0
  150. package/dist/swisspost-internet-header/p-73b6ce0d.system.entry.js.map +1 -0
  151. package/dist/swisspost-internet-header/{p-9e389f57.js → p-8bd39c64.js} +2 -2
  152. package/dist/swisspost-internet-header/{p-e75e4c7e.system.entry.js → p-8f34abed.system.entry.js} +2 -2
  153. package/dist/swisspost-internet-header/{p-59a0d27b.system.js → p-91035a2a.system.js} +2 -2
  154. package/dist/swisspost-internet-header/{p-f052a22f.system.entry.js → p-996a552e.system.entry.js} +2 -2
  155. package/dist/swisspost-internet-header/p-9efee6d6.system.entry.js +2 -0
  156. package/dist/swisspost-internet-header/p-9efee6d6.system.entry.js.map +1 -0
  157. package/dist/swisspost-internet-header/p-b9bcb22a.entry.js +2 -0
  158. package/dist/swisspost-internet-header/p-b9bcb22a.entry.js.map +1 -0
  159. package/dist/swisspost-internet-header/{p-1f28e7ef.entry.js → p-c24585eb.entry.js} +2 -2
  160. package/dist/swisspost-internet-header/{p-1f28e7ef.entry.js.map → p-c24585eb.entry.js.map} +1 -1
  161. package/dist/swisspost-internet-header/{p-b1e20b23.entry.js → p-c435e138.entry.js} +2 -2
  162. package/dist/swisspost-internet-header/{p-ad9eb765.entry.js → p-cce32859.entry.js} +2 -2
  163. package/dist/swisspost-internet-header/p-cce32859.entry.js.map +1 -0
  164. package/dist/swisspost-internet-header/{p-bf8fc7fa.js → p-e2db30e1.js} +2 -2
  165. package/dist/swisspost-internet-header/{p-137d0cb3.system.entry.js → p-f0396178.system.entry.js} +2 -2
  166. package/dist/swisspost-internet-header/{p-137d0cb3.system.entry.js.map → p-f0396178.system.entry.js.map} +1 -1
  167. package/dist/swisspost-internet-header/{p-4772446c.system.js → p-f4f5ca86.system.js} +2 -2
  168. package/dist/swisspost-internet-header/p-f62f50ce.system.entry.js +2 -0
  169. package/dist/swisspost-internet-header/p-f62f50ce.system.entry.js.map +1 -0
  170. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
  171. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js.map +1 -1
  172. package/dist/swisspost-internet-header/swisspost-internet-header.js +1 -1
  173. package/dist/types/stencil-public-runtime.d.ts +1 -0
  174. package/loader/index.d.ts +1 -1
  175. package/package.json +13 -13
  176. package/dist/cjs/index-333f9e15.js.map +0 -1
  177. package/dist/collection/components/post-logo/logo-sprite.component.js +0 -4
  178. package/dist/collection/components/post-logo/logo-sprite.component.js.map +0 -1
  179. package/dist/esm/index-447227c7.js.map +0 -1
  180. package/dist/esm-es5/index-447227c7.js +0 -3
  181. package/dist/esm-es5/index-447227c7.js.map +0 -1
  182. package/dist/swisspost-internet-header/p-2a402f35.system.entry.js +0 -2
  183. package/dist/swisspost-internet-header/p-2a402f35.system.entry.js.map +0 -1
  184. package/dist/swisspost-internet-header/p-2e5d2ce1.entry.js +0 -2
  185. package/dist/swisspost-internet-header/p-2e5d2ce1.entry.js.map +0 -1
  186. package/dist/swisspost-internet-header/p-2fd19fc1.system.entry.js +0 -2
  187. package/dist/swisspost-internet-header/p-2fd19fc1.system.entry.js.map +0 -1
  188. package/dist/swisspost-internet-header/p-5d2a1c2d.entry.js +0 -2
  189. package/dist/swisspost-internet-header/p-5d2a1c2d.entry.js.map +0 -1
  190. package/dist/swisspost-internet-header/p-7c9d0994.entry.js +0 -2
  191. package/dist/swisspost-internet-header/p-7c9d0994.entry.js.map +0 -1
  192. package/dist/swisspost-internet-header/p-8b840367.entry.js +0 -2
  193. package/dist/swisspost-internet-header/p-8b840367.entry.js.map +0 -1
  194. package/dist/swisspost-internet-header/p-9c5ef36c.system.js +0 -3
  195. package/dist/swisspost-internet-header/p-9c5ef36c.system.js.map +0 -1
  196. package/dist/swisspost-internet-header/p-9fddc119.system.entry.js.map +0 -1
  197. package/dist/swisspost-internet-header/p-ad9eb765.entry.js.map +0 -1
  198. package/dist/swisspost-internet-header/p-cc23da7a.system.entry.js +0 -2
  199. package/dist/swisspost-internet-header/p-cc23da7a.system.entry.js.map +0 -1
  200. package/dist/swisspost-internet-header/p-d7e49083.system.entry.js.map +0 -1
  201. package/dist/swisspost-internet-header/p-d8a834ef.js +0 -2
  202. package/dist/swisspost-internet-header/p-e8d72284.js +0 -2
  203. package/dist/swisspost-internet-header/p-ebd5ee13.js +0 -3
  204. package/dist/swisspost-internet-header/p-ebd5ee13.js.map +0 -1
  205. package/dist/types/components/post-logo/logo-sprite.component.d.ts +0 -4
  206. /package/dist/esm-es5/{language.service-3e2fe7e8.js.map → language.service-74bc1f43.js.map} +0 -0
  207. /package/dist/esm-es5/{svg-icon.component-4ca05eb2.js.map → svg-icon.component-7bac7397.js.map} +0 -0
  208. /package/dist/esm-es5/{svg-sprite.component-0394cd67.js.map → svg-sprite.component-f319da57.js.map} +0 -0
  209. /package/dist/swisspost-internet-header/{p-bc800d7f.system.entry.js.map → p-02bb40cf.system.entry.js.map} +0 -0
  210. /package/dist/swisspost-internet-header/{p-f5c099b1.system.entry.js.map → p-30335ce0.system.entry.js.map} +0 -0
  211. /package/dist/swisspost-internet-header/{p-e8d72284.js.map → p-32fe68f0.js.map} +0 -0
  212. /package/dist/swisspost-internet-header/{p-e58de121.entry.js.map → p-3f72b002.entry.js.map} +0 -0
  213. /package/dist/swisspost-internet-header/{p-86c5610e.system.js.map → p-4d015bfc.system.js.map} +0 -0
  214. /package/dist/swisspost-internet-header/{p-ca5bfb68.entry.js.map → p-5e5d587a.entry.js.map} +0 -0
  215. /package/dist/swisspost-internet-header/{p-69b7fbf4.entry.js.map → p-6a22a9c3.entry.js.map} +0 -0
  216. /package/dist/swisspost-internet-header/{p-9e389f57.js.map → p-8bd39c64.js.map} +0 -0
  217. /package/dist/swisspost-internet-header/{p-e75e4c7e.system.entry.js.map → p-8f34abed.system.entry.js.map} +0 -0
  218. /package/dist/swisspost-internet-header/{p-59a0d27b.system.js.map → p-91035a2a.system.js.map} +0 -0
  219. /package/dist/swisspost-internet-header/{p-f052a22f.system.entry.js.map → p-996a552e.system.entry.js.map} +0 -0
  220. /package/dist/swisspost-internet-header/{p-b1e20b23.entry.js.map → p-c435e138.entry.js.map} +0 -0
  221. /package/dist/swisspost-internet-header/{p-bf8fc7fa.js.map → p-e2db30e1.js.map} +0 -0
  222. /package/dist/swisspost-internet-header/{p-4772446c.system.js.map → p-f4f5ca86.system.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["getTrackAndTraceApiUrl","id","lang","state","currentLanguage","encodeURIComponent","getTrackAndTraceRedirectUrl","query","packageTrackingRedirectUrl","replace","isParcel","async","searchConfig","parcelInfo","getParcelInfo","ok","redirectPattern","trackingNrPattern","RegExp","test","trackAndTraceReqest","fetch","trackAndTraceResult","json","Object","assign","error","console","warn","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","coveoCompletions","coveoResponse","method","headers","Authorization","coveoJSON","completions","map","completion","redirectUrl","expression","gisAPIUrl","placesUrl","hardNormalize","str","toLowerCase","normalize","queryPlaces","searchParameters","entries","limit","reduce","s","k","v","i","geocoderUrl","geocodeResponse","geocodeJSON","Error","info","locations","highlightPlacesString","place","reference","q","indexOfQuery","indexOf","substring","getPlacesUrl","location","name","HighlightedText","props","highlightClass","highlightedString","text","h","innerHTML","postSearchCss","PostSearch","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","force","dropdownToggled","emit","open","element","host","coveoSuggestions","placeSuggestions","value","setFocus","setBodyScroll","shadowRoot","toggleButton","querySelector","innerWidth","disableBodyScroll","enableBodyScroll","trim","trackAndTraceInfo","all","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","toggleDropdown","searchToggleExpanded","searchToggle","SvgIcon","If","condition","ref","placeholder","flyoutSearchBoxFloatingLabel","autocomplete","el","onInput","handleSearchInput","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":"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"}
@@ -1,2 +0,0 @@
1
- import{h as t,r as e,c as n,H as o,g as i}from"./p-ebd5ee13.js";import{S as a}from"./p-bf8fc7fa.js";import{S as r}from"./p-e8d72284.js";import{s}from"./p-d8a834ef.js";import{e as d,u as l}from"./p-45db66a6.js";import{t as g}from"./p-9e389f57.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-7c9d0994.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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"}
@@ -1,2 +0,0 @@
1
- import{h as i,r as e,H as o,g as t}from"./p-ebd5ee13.js";import{t as n}from"./p-a74b380d.js";import{s}from"./p-d8a834ef.js";const r=()=>i("svg",{"aria-hidden":"true",style:{display:"none"}},i("symbol",{id:"favicon",viewBox:"0 0 48 48"},i("g",{"clip-path":"url(#a)"},i("path",{fill:"#FC0",d:"M47.2 0H0v47.2h47.2V0Z"}),i("path",{fill:"#fff","fill-rule":"evenodd",d:"m18.68 35.91 1.48-7.02H6.42l-1.47 7.02h13.73Z","clip-rule":"evenodd"}),i("path",{fill:"#000","fill-rule":"evenodd",d:"M16.96 16.56c-.47-.07-.94-.1-1.42-.1H11.6L8.5 31.1h3.1l.95-4.47h1.8c.74.02 1.48-.07 2.18-.27a5.8 5.8 0 0 0 4-4.59c.49-2.73-.87-4.76-3.57-5.2Zm.47 5.06a2.63 2.63 0 0 1-2.06 2.22c-.33.06-.66.1-1 .1h-1.25l1-4.78h1.36c.31-.01.62.03.92.11.77.26 1.24 1.03 1.03 2.35","clip-rule":"evenodd"}),i("path",{fill:"red","fill-rule":"evenodd",d:"m34.5 16.43 1.86-8.84H24.63l-2.45 11.58h2.9l1.87-8.84h5.93L31 19.17h8.8l-1.17 5.53h-8.75l-1.75 8.28H21.5l-.57 2.78h9.54l1.75-8.3h8.72l2.34-11.03H34.5Z","clip-rule":"evenodd"})),i("defs",null,i("clipPath",{id:"a"},i("path",{fill:"#fff",d:"M0 0h47.2v47.2H0z"})))));const a=e=>i("svg",{viewBox:"0 0 48 48",class:e.className,"aria-hidden":"true"},i("use",{href:"#favicon"}));const l='@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}.logo{display:block;-ms-flex-align:center;align-items:center;background:#fc0}svg,.logo-svg{display:block;height:var(--header-height)}.square-logo{display:block}@media (min-width: 400px){.square-logo{display:none}}.full-logo{display:none}@media (min-width: 400px){.full-logo{display:block}}';const d=class{constructor(i){e(this,i);this.showFaviconLogo=undefined;this.throttledResize=n(300,(()=>this.handleResize()));window.addEventListener("resize",this.throttledResize,{passive:true});this.resizeObserver=new ResizeObserver(this.handleResize.bind(this));this.handleResize()}componentDidLoad(){var i;const e=(i=this.host.parentElement)===null||i===void 0?void 0:i.querySelector(".main-navigation-controls");if(e){this.resizeObserver.observe(e)}}disconnectedCallback(){window.removeEventListener("resize",this.throttledResize);this.resizeObserver.disconnect()}handleResize(){var i,e;const o=(i=this.host.parentElement)===null||i===void 0?void 0:i.querySelector(".main-navigation-controls");const t=(e=this.host.parentElement)===null||e===void 0?void 0:e.querySelector(".menu-button");if(o&&t)this.showFaviconLogo=window.innerWidth-(150+o.clientWidth+t.clientWidth)<=0}render(){var e;if(((e=s.localizedConfig)===null||e===void 0?void 0:e.header.logo)===undefined)return;const t=s.localizedConfig.header.logo;return i(o,null,i(r,null),i("a",{href:t.logoLink,class:"logo"},i("span",{class:"visually-hidden"},t.logoLinkTitle),i(a,{className:"square-logo"}),i("img",{class:"logo-svg full-logo",src:t.logoSvg,alt:t.logoText})))}get host(){return t(this)}};d.style=l;export{d as post_logo};
2
- //# sourceMappingURL=p-8b840367.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["LogoSprite","h","style","display","id","viewBox","fill","d","FaviconSvg","props","class","className","href","postLogoCss","PostLogo","constructor","hostRef","this","throttledResize","throttle","handleResize","window","addEventListener","passive","resizeObserver","ResizeObserver","bind","componentDidLoad","mainNavControls","_a","host","parentElement","querySelector","observe","disconnectedCallback","removeEventListener","disconnect","menuButton","_b","showFaviconLogo","innerWidth","clientWidth","render","state","localizedConfig","header","logo","undefined","config","Host","logoLink","logoLinkTitle","src","logoSvg","alt","logoText"],"sources":["./src/components/post-logo/logo-sprite.component.tsx","./src/components/post-logo/post-logo.scss?tag=post-logo&encapsulation=shadow","./src/components/post-logo/post-logo.tsx"],"sourcesContent":["import { h } from '@stencil/core';\n\nexport const LogoSprite = () => (\n <svg aria-hidden=\"true\" style={{ display: 'none' }}>\n <symbol id=\"favicon\" viewBox=\"0 0 48 48\">\n <g clip-path=\"url(#a)\">\n <path fill=\"#FC0\" d=\"M47.2 0H0v47.2h47.2V0Z\" />\n <path\n fill=\"#fff\"\n fill-rule=\"evenodd\"\n d=\"m18.68 35.91 1.48-7.02H6.42l-1.47 7.02h13.73Z\"\n clip-rule=\"evenodd\"\n />\n <path\n fill=\"#000\"\n fill-rule=\"evenodd\"\n d=\"M16.96 16.56c-.47-.07-.94-.1-1.42-.1H11.6L8.5 31.1h3.1l.95-4.47h1.8c.74.02 1.48-.07 2.18-.27a5.8 5.8 0 0 0 4-4.59c.49-2.73-.87-4.76-3.57-5.2Zm.47 5.06a2.63 2.63 0 0 1-2.06 2.22c-.33.06-.66.1-1 .1h-1.25l1-4.78h1.36c.31-.01.62.03.92.11.77.26 1.24 1.03 1.03 2.35\"\n clip-rule=\"evenodd\"\n />\n <path\n fill=\"red\"\n fill-rule=\"evenodd\"\n d=\"m34.5 16.43 1.86-8.84H24.63l-2.45 11.58h2.9l1.87-8.84h5.93L31 19.17h8.8l-1.17 5.53h-8.75l-1.75 8.28H21.5l-.57 2.78h9.54l1.75-8.3h8.72l2.34-11.03H34.5Z\"\n clip-rule=\"evenodd\"\n />\n </g>\n <defs>\n <clipPath id=\"a\">\n <path fill=\"#fff\" d=\"M0 0h47.2v47.2H0z\" />\n </clipPath>\n </defs>\n </symbol>\n </svg>\n);\n\nexport const FaviconSvg = (props: { className?: string }) => (\n <svg viewBox=\"0 0 48 48\" class={props.className} aria-hidden=\"true\">\n <use href=\"#favicon\" />\n </svg>\n);\n","@use \"@swisspost/design-system-styles/variables/color\";\n@use \"../../utils/utils.scss\";\n@use \"../../utils/mixins.scss\";\n\n:host {\n display: block;\n}\n\n.logo {\n display: block;\n align-items: center;\n background: color.$yellow;\n\n}\n\nsvg,\n.logo-svg {\n display: block;\n height: var(--header-height);\n}\n\n.square-logo {\n display: block;\n\n @include mixins.min(sm) {\n display: none;\n }\n}\n\n.full-logo {\n display: none;\n\n @include mixins.min(sm) {\n display: block;\n }\n}\n","import { Component, Host, h, State, Element } from '@stencil/core';\nimport { throttle } from 'throttle-debounce';\nimport { state } from '../../data/store';\nimport { LogoSprite, FaviconSvg } from './logo-sprite.component';\n\n@Component({\n tag: 'post-logo',\n styleUrl: 'post-logo.scss',\n shadow: true,\n})\nexport class PostLogo {\n @State() showFaviconLogo: boolean;\n @Element() host: HTMLPostLogoElement;\n private throttledResize: throttle<() => void>;\n private resizeObserver: ResizeObserver;\n\n constructor() {\n // Register window resize event listener and a resize observer on the mainnav controls (they change size while controls are being loaded) to display an accurately sized logo\n this.throttledResize = throttle(300, () => this.handleResize());\n window.addEventListener('resize', this.throttledResize, { passive: true });\n this.resizeObserver = new ResizeObserver(this.handleResize.bind(this));\n\n // Initially call the resize handler\n this.handleResize();\n }\n\n componentDidLoad() {\n const mainNavControls = this.host.parentElement?.querySelector('.main-navigation-controls');\n if (mainNavControls) {\n this.resizeObserver.observe(mainNavControls);\n }\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.throttledResize);\n this.resizeObserver.disconnect();\n }\n\n handleResize() {\n const mainNavControls = this.host.parentElement?.querySelector('.main-navigation-controls');\n const menuButton = this.host.parentElement?.querySelector('.menu-button');\n if (mainNavControls && menuButton)\n this.showFaviconLogo =\n window.innerWidth - (150 + mainNavControls.clientWidth + menuButton.clientWidth) <= 0;\n }\n\n render() {\n if (state.localizedConfig?.header.logo === undefined) return;\n const config = state.localizedConfig.header.logo;\n\n return (\n <Host>\n <LogoSprite />\n <a href={config.logoLink} class=\"logo\">\n <span class=\"visually-hidden\">{config.logoLinkTitle}</span>\n <FaviconSvg className=\"square-logo\" />\n <img class=\"logo-svg full-logo\" src={config.logoSvg} alt={config.logoText} />\n </a>\n </Host>\n );\n }\n}\n"],"mappings":"4HAEO,MAAMA,EAAa,IACxBC,EAAA,qBAAiB,OAAOC,MAAO,CAAEC,QAAS,SACxCF,EAAA,UAAQG,GAAG,UAAUC,QAAQ,aAC3BJ,EAAA,iBAAa,WACXA,EAAA,QAAMK,KAAK,OAAOC,EAAE,2BACpBN,EAAA,QACEK,KAAK,OAAM,YACD,UACVC,EAAE,gDAA+C,YACvC,YAEZN,EAAA,QACEK,KAAK,OAAM,YACD,UACVC,EAAE,sQAAqQ,YAC7P,YAEZN,EAAA,QACEK,KAAK,MAAK,YACA,UACVC,EAAE,yJAAwJ,YAChJ,aAGdN,EAAA,YACEA,EAAA,YAAUG,GAAG,KACXH,EAAA,QAAMK,KAAK,OAAOC,EAAE,0BAOvB,MAAMC,EAAcC,GACzBR,EAAA,OAAKI,QAAQ,YAAYK,MAAOD,EAAME,UAAS,cAAc,QAC3DV,EAAA,OAAKW,KAAK,cCrCd,MAAMC,EAAc,mtG,MCUPC,EAAQ,MAMnBC,YAAAC,G,yCAEEC,KAAKC,gBAAkBC,EAAS,KAAK,IAAMF,KAAKG,iBAChDC,OAAOC,iBAAiB,SAAUL,KAAKC,gBAAiB,CAAEK,QAAS,OACnEN,KAAKO,eAAiB,IAAIC,eAAeR,KAAKG,aAAaM,KAAKT,OAGhEA,KAAKG,c,CAGPO,mB,MACE,MAAMC,GAAkBC,EAAAZ,KAAKa,KAAKC,iBAAa,MAAAF,SAAA,SAAAA,EAAEG,cAAc,6BAC/D,GAAIJ,EAAiB,CACnBX,KAAKO,eAAeS,QAAQL,E,EAIhCM,uBACEb,OAAOc,oBAAoB,SAAUlB,KAAKC,iBAC1CD,KAAKO,eAAeY,Y,CAGtBhB,e,QACE,MAAMQ,GAAkBC,EAAAZ,KAAKa,KAAKC,iBAAa,MAAAF,SAAA,SAAAA,EAAEG,cAAc,6BAC/D,MAAMK,GAAaC,EAAArB,KAAKa,KAAKC,iBAAa,MAAAO,SAAA,SAAAA,EAAEN,cAAc,gBAC1D,GAAIJ,GAAmBS,EACrBpB,KAAKsB,gBACHlB,OAAOmB,YAAc,IAAMZ,EAAgBa,YAAcJ,EAAWI,cAAgB,C,CAG1FC,S,MACE,KAAIb,EAAAc,EAAMC,mBAAe,MAAAf,SAAA,SAAAA,EAAEgB,OAAOC,QAASC,UAAW,OACtD,MAAMC,EAASL,EAAMC,gBAAgBC,OAAOC,KAE5C,OACE7C,EAACgD,EAAI,KACHhD,EAACD,EAAU,MACXC,EAAA,KAAGW,KAAMoC,EAAOE,SAAUxC,MAAM,QAC9BT,EAAA,QAAMS,MAAM,mBAAmBsC,EAAOG,eACtClD,EAACO,EAAU,CAACG,UAAU,gBACtBV,EAAA,OAAKS,MAAM,qBAAqB0C,IAAKJ,EAAOK,QAASC,IAAKN,EAAOO,Y"}
@@ -1,3 +0,0 @@
1
- var __extends=this&&this.__extends||function(){var e=function(n,t){e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)if(Object.prototype.hasOwnProperty.call(n,t))e[t]=n[t]};return e(n,t)};return function(n,t){if(typeof t!=="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");e(n,t);function r(){this.constructor=n}n.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();var __awaiter=this&&this.__awaiter||function(e,n,t,r){function a(e){return e instanceof t?e:new t((function(n){n(e)}))}return new(t||(t=Promise))((function(t,i){function l(e){try{o(r.next(e))}catch(e){i(e)}}function s(e){try{o(r["throw"](e))}catch(e){i(e)}}function o(e){e.done?t(e.value):a(e.value).then(l,s)}o((r=r.apply(e,n||[])).next())}))};var __generator=this&&this.__generator||function(e,n){var t={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,a,i,l;return l={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(l[Symbol.iterator]=function(){return this}),l;function s(e){return function(n){return o([e,n])}}function o(s){if(r)throw new TypeError("Generator is already executing.");while(l&&(l=0,s[0]&&(t=0)),t)try{if(r=1,a&&(i=s[0]&2?a["return"]:s[0]?a["throw"]||((i=a["return"])&&i.call(a),0):a.next)&&!(i=i.call(a,s[1])).done)return i;if(a=0,i)s=[s[0]&2,i.value];switch(s[0]){case 0:case 1:i=s;break;case 4:t.label++;return{value:s[1],done:false};case 5:t.label++;a=s[1];s=[0];continue;case 7:s=t.ops.pop();t.trys.pop();continue;default:if(!(i=t.trys,i=i.length>0&&i[i.length-1])&&(s[0]===6||s[0]===2)){t=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]<i[3])){t.label=s[1];break}if(s[0]===6&&t.label<i[1]){t.label=i[1];i=s;break}if(i&&t.label<i[2]){t.label=i[2];t.ops.push(s);break}if(i[2])t.ops.pop();t.trys.pop();continue}s=n.call(e,t)}catch(e){s=[6,e];a=0}finally{r=i=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,n,t){if(t||arguments.length===2)for(var r=0,a=n.length,i;r<a;r++){if(i||!(r in n)){if(!i)i=Array.prototype.slice.call(n,0,r);i[r]=n[r]}}return e.concat(i||Array.prototype.slice.call(n))};System.register([],(function(e,n){"use strict";return{execute:function(){var t=this;var r="swisspost-internet-header";var a;var i;var l=false;var s=null;var o=false;var f=function(e,n){if(n===void 0){n=""}{return function(){return}}};var u=function(e,n){{return function(){return}}};var $="{visibility:hidden}.hydrated{visibility:inherit}";var c={};var v="http://www.w3.org/2000/svg";var d="http://www.w3.org/1999/xhtml";var p=function(e){return e!=null};var h=function(e){e=typeof e;return e==="object"||e==="function"};function m(e){var n,t,r;return(r=(t=(n=e.head)===null||n===void 0?void 0:n.querySelector('meta[name="csp-nonce"]'))===null||t===void 0?void 0:t.getAttribute("content"))!==null&&r!==void 0?r:undefined}var y=e("h",(function(e,n){var t=[];for(var r=2;r<arguments.length;r++){t[r-2]=arguments[r]}var a=null;var i=null;var l=false;var s=false;var o=[];var f=function(n){for(var t=0;t<n.length;t++){a=n[t];if(Array.isArray(a)){f(a)}else if(a!=null&&typeof a!=="boolean"){if(l=typeof e!=="function"&&!h(a)){a=String(a)}if(l&&s){o[o.length-1].$text$+=a}else{o.push(l?g(null,a):a)}s=l}}};f(t);if(n){if(n.key){i=n.key}{var u=n.className||n.class;if(u){n.class=typeof u!=="object"?u:Object.keys(u).filter((function(e){return u[e]})).join(" ")}}}if(typeof e==="function"){return e(n===null?{}:n,o,_)}var $=g(e,null);$.$attrs$=n;if(o.length>0){$.$children$=o}{$.$key$=i}return $}));var g=function(e,n){var t={$flags$:0,$tag$:e,$text$:n,$elm$:null,$children$:null};{t.$attrs$=null}{t.$key$=null}return t};var b=e("H",{});var w=function(e){return e&&e.$tag$===b};var _={forEach:function(e,n){return e.map(S).forEach(n)},map:function(e,n){return e.map(S).map(n).map(k)}};var S=function(e){return{vattrs:e.$attrs$,vchildren:e.$children$,vkey:e.$key$,vname:e.$name$,vtag:e.$tag$,vtext:e.$text$}};var k=function(e){if(typeof e.vtag==="function"){var n=Object.assign({},e.vattrs);if(e.vkey){n.key=e.vkey}if(e.vname){n.name=e.vname}return y.apply(void 0,__spreadArray([e.vtag,n],e.vchildren||[],false))}var t=g(e.vtag,e.vtext);t.$attrs$=e.vattrs;t.$children$=e.vchildren;t.$key$=e.vkey;t.$name$=e.vname;return t};var x=function(e,n){if(e!=null&&!h(e)){if(n&4){return e==="false"?false:e===""||!!e}if(n&1){return String(e)}return e}return e};var N=e("g",(function(e){return me(e).$hostElement$}));var R=e("c",(function(e,n,t){var r=N(e);return{emit:function(e){return E(r,n,{bubbles:!!(t&4),composed:!!(t&2),cancelable:!!(t&1),detail:e})}}}));var E=function(e,n,t){var r=Re.ce(n,t);e.dispatchEvent(r);return r};var L=new WeakMap;var j=function(e,n,t){var r=ke.get(e);if(Le&&t){r=r||new CSSStyleSheet;if(typeof r==="string"){r=n}else{r.replaceSync(n)}}else{r=n}ke.set(e,r)};var C=function(e,n,t,r){var a;var i=A(n);var l=ke.get(i);e=e.nodeType===11?e:Ne;if(l){if(typeof l==="string"){e=e.head||e;var s=L.get(e);var o=void 0;if(!s){L.set(e,s=new Set)}if(!s.has(i)){{{o=Ne.createElement("style");o.innerHTML=l}var f=(a=Re.$nonce$)!==null&&a!==void 0?a:m(Ne);if(f!=null){o.setAttribute("nonce",f)}e.insertBefore(o,e.querySelector("link"))}if(s){s.add(i)}}}else if(!e.adoptedStyleSheets.includes(l)){e.adoptedStyleSheets=__spreadArray(__spreadArray([],e.adoptedStyleSheets,true),[l],false)}}return i};var P=function(e){var n=e.$cmpMeta$;var t=e.$hostElement$;var r=n.$flags$;var a=f("attachStyles",n.$tagName$);var i=C(t.shadowRoot?t.shadowRoot:t.getRootNode(),n);if(r&10){t["s-sc"]=i;t.classList.add(i+"-h")}a()};var A=function(e,n){return"sc-"+e.$tagName$};var O=function(e,n,t,r,a,i){if(t!==r){var l=be(e,n);var s=n.toLowerCase();if(n==="class"){var o=e.classList;var f=M(t);var u=M(r);o.remove.apply(o,f.filter((function(e){return e&&!u.includes(e)})));o.add.apply(o,u.filter((function(e){return e&&!f.includes(e)})))}else if(n==="style"){{for(var $ in t){if(!r||r[$]==null){if($.includes("-")){e.style.removeProperty($)}else{e.style[$]=""}}}}for(var $ in r){if(!t||r[$]!==t[$]){if($.includes("-")){e.style.setProperty($,r[$])}else{e.style[$]=r[$]}}}}else if(n==="key");else if(n==="ref"){if(r){r(e)}}else if(!l&&n[0]==="o"&&n[1]==="n"){if(n[2]==="-"){n=n.slice(3)}else if(be(xe,s)){n=s.slice(2)}else{n=s[2]+n.slice(3)}if(t){Re.rel(e,n,t,false)}if(r){Re.ael(e,n,r,false)}}else{var c=h(r);if((l||c&&r!==null)&&!a){try{if(!e.tagName.includes("-")){var v=r==null?"":r;if(n==="list"){l=false}else if(t==null||e[n]!=v){e[n]=v}}else{e[n]=r}}catch(e){}}if(r==null||r===false){if(r!==false||e.getAttribute(n)===""){{e.removeAttribute(n)}}}else if((!l||i&4||a)&&!c){r=r===true?"":r;{e.setAttribute(n,r)}}}}};var I=/\s/;var M=function(e){return!e?[]:e.split(I)};var z=function(e,n,t,r){var a=n.$elm$.nodeType===11&&n.$elm$.host?n.$elm$.host:n.$elm$;var i=e&&e.$attrs$||c;var l=n.$attrs$||c;{for(r in i){if(!(r in l)){O(a,r,i[r],undefined,t,n.$flags$)}}}for(r in l){O(a,r,i[r],l[r],t,n.$flags$)}};var T=function(e,n,t,r){var i=n.$children$[t];var s=0;var o;var f;if(i.$text$!==null){o=i.$elm$=Ne.createTextNode(i.$text$)}else{if(!l){l=i.$tag$==="svg"}o=i.$elm$=Ne.createElementNS(l?v:d,i.$tag$);if(l&&i.$tag$==="foreignObject"){l=false}{z(null,i,l)}if(p(a)&&o["s-si"]!==a){o.classList.add(o["s-si"]=a)}if(i.$children$){for(s=0;s<i.$children$.length;++s){f=T(e,i,s);if(f){o.appendChild(f)}}}{if(i.$tag$==="svg"){l=false}else if(o.tagName==="foreignObject"){l=true}}}return o};var q=function(e,n,t,r,a,l){var s=e;var o;if(s.shadowRoot&&s.tagName===i){s=s.shadowRoot}for(;a<=l;++a){if(r[a]){o=T(null,t,a);if(o){r[a].$elm$=o;s.insertBefore(o,n)}}}};var U=function(e,n,t,r,a){for(;n<=t;++n){if(r=e[n]){a=r.$elm$;W(r);a.remove()}}};var B=function(e,n,t,r){var a=0;var i=0;var l=0;var s=0;var o=n.length-1;var f=n[0];var u=n[o];var $=r.length-1;var c=r[0];var v=r[$];var d;var p;while(a<=o&&i<=$){if(f==null){f=n[++a]}else if(u==null){u=n[--o]}else if(c==null){c=r[++i]}else if(v==null){v=r[--$]}else if(H(f,c)){V(f,c);f=n[++a];c=r[++i]}else if(H(u,v)){V(u,v);u=n[--o];v=r[--$]}else if(H(f,v)){V(f,v);e.insertBefore(f.$elm$,u.$elm$.nextSibling);f=n[++a];v=r[--$]}else if(H(u,c)){V(u,c);e.insertBefore(u.$elm$,f.$elm$);u=n[--o];c=r[++i]}else{l=-1;{for(s=a;s<=o;++s){if(n[s]&&n[s].$key$!==null&&n[s].$key$===c.$key$){l=s;break}}}if(l>=0){p=n[l];if(p.$tag$!==c.$tag$){d=T(n&&n[i],t,l)}else{V(p,c);n[l]=undefined;d=p.$elm$}c=r[++i]}else{d=T(n&&n[i],t,i);c=r[++i]}if(d){{f.$elm$.parentNode.insertBefore(d,f.$elm$)}}}}if(a>o){q(e,r[$+1]==null?null:r[$+1].$elm$,t,r,i,$)}else if(i>$){U(n,a,o)}};var H=function(e,n){if(e.$tag$===n.$tag$){{return e.$key$===n.$key$}}return false};var V=function(e,n){var t=n.$elm$=e.$elm$;var r=e.$children$;var a=n.$children$;var i=n.$tag$;var s=n.$text$;if(s===null){{l=i==="svg"?true:i==="foreignObject"?false:l}{if(i==="slot");else{z(e,n,l)}}if(r!==null&&a!==null){B(t,r,n,a)}else if(a!==null){if(e.$text$!==null){t.textContent=""}q(t,null,n,a,0,a.length-1)}else if(r!==null){U(r,0,r.length-1)}if(l&&i==="svg"){l=false}}else if(e.$text$!==s){t.data=s}};var W=function(e){{e.$attrs$&&e.$attrs$.ref&&e.$attrs$.ref(null);e.$children$&&e.$children$.map(W)}};var D=function(e,n){var t=e.$hostElement$;var r=e.$vnode$||g(null,null);var l=w(n)?n:y(null,null,n);i=t.tagName;l.$tag$=null;l.$flags$|=4;e.$vnode$=l;l.$elm$=r.$elm$=t.shadowRoot||t;{a=t["s-sc"]}V(r,l)};var F=function(e,n){if(n&&!e.$onRenderResolve$&&n["s-p"]){n["s-p"].push(new Promise((function(n){return e.$onRenderResolve$=n})))}};var G=function(e,n){{e.$flags$|=16}if(e.$flags$&4){e.$flags$|=512;return}F(e,e.$ancestorComponent$);var t=function(){return J(e,n)};return Me(t)};var J=function(e,n){var t=f("scheduleUpdate",e.$cmpMeta$.$tagName$);var r=e.$lazyInstance$;var a;if(n){{e.$flags$|=256;if(e.$queuedListeners$){e.$queuedListeners$.map((function(e){var n=e[0],t=e[1];return ne(r,n,t)}));e.$queuedListeners$=null}}{a=ne(r,"componentWillLoad")}}else{{a=ne(r,"componentWillUpdate")}}t();return te(a,(function(){return K(e,r,n)}))};var K=function(e,n,r){return __awaiter(t,void 0,void 0,(function(){var t,a,i,l,s,o;return __generator(this,(function(u){t=e.$hostElement$;a=f("update",e.$cmpMeta$.$tagName$);i=t["s-rc"];if(r){P(e)}l=f("render",e.$cmpMeta$.$tagName$);{Q(e,n)}if(i){i.map((function(e){return e()}));t["s-rc"]=undefined}l();a();{s=t["s-p"];o=function(){return Y(e)};if(s.length===0){o()}else{Promise.all(s).then(o);e.$flags$|=4;s.length=0}}return[2]}))}))};var Q=function(e,n,t){try{s=n;n=n.render();{e.$flags$&=~16}{e.$flags$|=2}{{{D(e,n)}}}}catch(n){we(n,e.$hostElement$)}s=null;return null};var X=e("a",(function(){return s}));var Y=function(e){var n=e.$cmpMeta$.$tagName$;var t=e.$hostElement$;var r=f("postUpdate",n);var a=e.$lazyInstance$;var i=e.$ancestorComponent$;if(!(e.$flags$&64)){e.$flags$|=64;{re(t)}{ne(a,"componentDidLoad")}r();{e.$onReadyResolve$(t);if(!i){ee()}}}else{{ne(a,"componentDidUpdate")}r()}{e.$onInstanceResolve$(t)}{if(e.$onRenderResolve$){e.$onRenderResolve$();e.$onRenderResolve$=undefined}if(e.$flags$&512){Ie((function(){return G(e,false)}))}e.$flags$&=~(4|512)}};var Z=e("f",(function(e){{var n=me(e);var t=n.$hostElement$.isConnected;if(t&&(n.$flags$&(2|16))===2){G(n,false)}return t}}));var ee=function(e){{re(Ne.documentElement)}Ie((function(){return E(xe,"appload",{detail:{namespace:r}})}))};var ne=function(e,n,t){if(e&&e[n]){try{return e[n](t)}catch(e){we(e)}}return undefined};var te=function(e,n){return e&&e.then?e.then(n):n()};var re=function(e){return e.classList.add("hydrated")};var ae=function(e,n){return me(e).$instanceValues$.get(n)};var ie=function(e,n,t,r){var a=me(e);var i=a.$hostElement$;var l=a.$instanceValues$.get(n);var s=a.$flags$;var o=a.$lazyInstance$;t=x(t,r.$members$[n][0]);var f=Number.isNaN(l)&&Number.isNaN(t);var u=t!==l&&!f;if((!(s&8)||l===undefined)&&u){a.$instanceValues$.set(n,t);if(o){if(r.$watchers$&&s&128){var $=r.$watchers$[n];if($){$.map((function(e){try{o[e](t,l,n)}catch(e){we(e,i)}}))}}if((s&(2|16))===2){G(a,false)}}}};var le=function(e,n,t){if(n.$members$){if(e.watchers){n.$watchers$=e.watchers}var r=Object.entries(n.$members$);var a=e.prototype;r.map((function(e){var r=e[0],i=e[1][0];if(i&31||t&2&&i&32){Object.defineProperty(a,r,{get:function(){return ae(this,r)},set:function(e){ie(this,r,e,n)},configurable:true,enumerable:true})}else if(t&1&&i&64){Object.defineProperty(a,r,{value:function(){var e=[];for(var n=0;n<arguments.length;n++){e[n]=arguments[n]}var t=me(this);return t.$onInstancePromise$.then((function(){var n;return(n=t.$lazyInstance$)[r].apply(n,e)}))}})}}));if(t&1){var i=new Map;a.attributeChangedCallback=function(e,n,t){var r=this;Re.jmp((function(){var n=i.get(e);if(r.hasOwnProperty(n)){t=r[n];delete r[n]}else if(a.hasOwnProperty(n)&&typeof r[n]==="number"&&r[n]==t){return}r[n]=t===null&&typeof r[n]==="boolean"?false:t}))};e.observedAttributes=r.filter((function(e){var n=e[0],t=e[1];return t[0]&15})).map((function(e){var n=e[0],t=e[1];var r=t[1]||n;i.set(r,n);return r}))}}return e};var se=function(e,n,r,a,i){return __awaiter(t,void 0,void 0,(function(){var e,t,a,l,s,o,$;return __generator(this,(function(c){switch(c.label){case 0:if(!((n.$flags$&32)===0))return[3,3];n.$flags$|=32;i=Se(r);if(!i.then)return[3,2];e=u();return[4,i];case 1:i=c.sent();e();c.label=2;case 2:if(!i.isProxied){{r.$watchers$=i.watchers}le(i,r,2);i.isProxied=true}t=f("createInstance",r.$tagName$);{n.$flags$|=8}try{new i(n)}catch(e){we(e)}{n.$flags$&=~8}{n.$flags$|=128}t();oe(n.$lazyInstance$);if(i.style){a=i.style;l=A(r);if(!ke.has(l)){s=f("registerStyles",r.$tagName$);j(l,a,!!(r.$flags$&1));s()}}c.label=3;case 3:o=n.$ancestorComponent$;$=function(){return G(n,true)};if(o&&o["s-rc"]){o["s-rc"].push($)}else{$()}return[2]}}))}))};var oe=function(e){{ne(e,"connectedCallback")}};var fe=function(e){if((Re.$flags$&1)===0){var n=me(e);var t=n.$cmpMeta$;var r=f("connectedCallback",t.$tagName$);if(!(n.$flags$&1)){n.$flags$|=1;{var a=e;while(a=a.parentNode||a.host){if(a["s-p"]){F(n,n.$ancestorComponent$=a);break}}}if(t.$members$){Object.entries(t.$members$).map((function(n){var t=n[0],r=n[1][0];if(r&31&&e.hasOwnProperty(t)){var a=e[t];delete e[t];e[t]=a}}))}{se(e,n,t)}}else{ce(e,n,t.$listeners$);oe(n.$lazyInstance$)}r()}};var ue=function(e){if((Re.$flags$&1)===0){var n=me(e);var t=n.$lazyInstance$;{if(n.$rmListeners$){n.$rmListeners$.map((function(e){return e()}));n.$rmListeners$=undefined}}{ne(t,"disconnectedCallback")}}};var $e=e("b",(function(e,n){if(n===void 0){n={}}var t;var r=f();var a=[];var i=n.exclude||[];var l=xe.customElements;var s=Ne.head;var o=s.querySelector("meta[charset]");var u=Ne.createElement("style");var c=[];var v;var d=true;Object.assign(Re,n);Re.$resourcesUrl$=new URL(n.resourcesUrl||"./",Ne.baseURI).href;e.map((function(e){e[1].map((function(n){var t={$flags$:n[0],$tagName$:n[1],$members$:n[2],$listeners$:n[3]};{t.$members$=n[2]}{t.$listeners$=n[3]}{t.$watchers$={}}var r=t.$tagName$;var s=function(e){__extends(n,e);function n(n){var r=e.call(this,n)||this;n=r;ge(n,t);if(t.$flags$&1){{{n.attachShadow({mode:"open"})}}}return r}n.prototype.connectedCallback=function(){var e=this;if(v){clearTimeout(v);v=null}if(d){c.push(this)}else{Re.jmp((function(){return fe(e)}))}};n.prototype.disconnectedCallback=function(){var e=this;Re.jmp((function(){return ue(e)}))};n.prototype.componentOnReady=function(){return me(this).$onReadyPromise$};return n}(HTMLElement);t.$lazyBundleId$=e[0];if(!i.includes(r)&&!l.get(r)){a.push(r);l.define(r,le(s,t,1))}}))}));{u.innerHTML=a+$;u.setAttribute("data-styles","");var p=(t=Re.$nonce$)!==null&&t!==void 0?t:m(Ne);if(p!=null){u.setAttribute("nonce",p)}s.insertBefore(u,o?o.nextSibling:s.firstChild)}d=false;if(c.length){c.map((function(e){return e.connectedCallback()}))}else{{Re.jmp((function(){return v=setTimeout(ee,30)}))}}r()}));var ce=function(e,n,t,r){if(t){t.map((function(t){var r=t[0],a=t[1],i=t[2];var l=e;var s=ve(n,i);var o=de(r);Re.ael(l,a,s,o);(n.$rmListeners$=n.$rmListeners$||[]).push((function(){return Re.rel(l,a,s,o)}))}))}};var ve=function(e,n){return function(t){try{{if(e.$flags$&256){e.$lazyInstance$[n](t)}else{(e.$queuedListeners$=e.$queuedListeners$||[]).push([n,t])}}}catch(e){we(e)}}};var de=function(e){return(e&2)!==0};var pe=e("s",(function(e){return Re.$nonce$=e}));var he=new WeakMap;var me=function(e){return he.get(e)};var ye=e("r",(function(e,n){return he.set(n.$lazyInstance$=e,n)}));var ge=function(e,n){var t={$flags$:0,$hostElement$:e,$cmpMeta$:n,$instanceValues$:new Map};{t.$onInstancePromise$=new Promise((function(e){return t.$onInstanceResolve$=e}))}{t.$onReadyPromise$=new Promise((function(e){return t.$onReadyResolve$=e}));e["s-p"]=[];e["s-rc"]=[]}ce(e,t,n.$listeners$);return he.set(e,t)};var be=function(e,n){return n in e};var we=function(e,n){return(0,console.error)(e,n)};var _e=new Map;var Se=function(e,t,r){var a=e.$tagName$.replace(/-/g,"_");var i=e.$lazyBundleId$;var l=_e.get(i);if(l){return l[a]}
2
- /*!__STENCIL_STATIC_IMPORT_SWITCH__*/return n.import("./".concat(i,".entry.js").concat("")).then((function(e){{_e.set(i,e)}return e[a]}),we)};var ke=new Map;var xe=typeof window!=="undefined"?window:{};var Ne=xe.document||{head:{}};var Re={$flags$:0,$resourcesUrl$:"",jmp:function(e){return e()},raf:function(e){return requestAnimationFrame(e)},ael:function(e,n,t,r){return e.addEventListener(n,t,r)},rel:function(e,n,t,r){return e.removeEventListener(n,t,r)},ce:function(e,n){return new CustomEvent(e,n)}};var Ee=e("p",(function(e){return Promise.resolve(e)}));var Le=function(){try{new CSSStyleSheet;return typeof(new CSSStyleSheet).replaceSync==="function"}catch(e){}return false}();var je=[];var Ce=[];var Pe=function(e,n){return function(t){e.push(t);if(!o){o=true;if(n&&Re.$flags$&4){Ie(Oe)}else{Re.raf(Oe)}}}};var Ae=function(e){for(var n=0;n<e.length;n++){try{e[n](performance.now())}catch(e){we(e)}}e.length=0};var Oe=function(){Ae(je);{Ae(Ce);if(o=je.length>0){Re.raf(Oe)}}};var Ie=function(e){return Ee().then(e)};var Me=Pe(Ce,true)}}}));
3
- //# sourceMappingURL=p-9c5ef36c.system.js.map