@swisspost/internet-header 1.9.1 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/dist/cjs/{language.service-9334ca5d.js → language.service-0864d021.js} +7 -2
  2. package/dist/cjs/language.service-0864d021.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/post-klp-login-widget.cjs.entry.js +1 -1
  5. package/dist/cjs/post-klp-login-widget.cjs.entry.js.map +1 -1
  6. package/dist/cjs/post-language-switch.cjs.entry.js +2 -2
  7. package/dist/cjs/post-language-switch.cjs.entry.js.map +1 -1
  8. package/dist/cjs/post-logo.cjs.entry.js +1 -1
  9. package/dist/cjs/post-logo.cjs.entry.js.map +1 -1
  10. package/dist/cjs/post-main-navigation.cjs.entry.js +2 -2
  11. package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -1
  12. package/dist/cjs/post-meta-navigation.cjs.entry.js +1 -1
  13. package/dist/cjs/post-meta-navigation.cjs.entry.js.map +1 -1
  14. package/dist/cjs/post-search.cjs.entry.js +25 -2
  15. package/dist/cjs/post-search.cjs.entry.js.map +1 -1
  16. package/dist/cjs/post-skiplinks.cjs.entry.js +2 -2
  17. package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -1
  18. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +1329 -8
  19. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
  20. package/dist/cjs/swisspost-internet-footer.cjs.entry.js +2 -2
  21. package/dist/cjs/swisspost-internet-footer.cjs.entry.js.map +1 -1
  22. package/dist/cjs/swisspost-internet-header.cjs.entry.js +67 -37
  23. package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
  24. package/dist/cjs/swisspost-internet-header.cjs.js +1 -1
  25. package/dist/collection/assets/i18n/translations.js +5 -0
  26. package/dist/collection/assets/i18n/translations.js.map +1 -1
  27. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.css +2 -2480
  28. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +77 -7
  29. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js.map +1 -1
  30. package/dist/collection/components/post-internet-footer/post-internet-footer.css +1 -2300
  31. package/dist/collection/components/post-internet-header/logo-animation/logo-animation.js +6 -3
  32. package/dist/collection/components/post-internet-header/logo-animation/logo-animation.js.map +1 -1
  33. package/dist/collection/components/post-internet-header/post-internet-header.css +1 -403
  34. package/dist/collection/components/post-internet-header/post-internet-header.js +33 -26
  35. package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -1
  36. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.css +2 -1447
  37. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js +1 -1
  38. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js.map +1 -1
  39. package/dist/collection/components/post-language-switch/post-language-switch.css +1 -370
  40. package/dist/collection/components/post-language-switch/post-language-switch.js +2 -2
  41. package/dist/collection/components/post-language-switch/post-language-switch.js.map +1 -1
  42. package/dist/collection/components/post-logo/post-logo.css +1 -265
  43. package/dist/collection/components/post-main-navigation/post-main-navigation.css +1 -637
  44. package/dist/collection/components/post-main-navigation/post-main-navigation.js +1 -1
  45. package/dist/collection/components/post-main-navigation/post-main-navigation.js.map +1 -1
  46. package/dist/collection/components/post-meta-navigation/post-meta-navigation.css +1 -345
  47. package/dist/collection/components/post-search/post-search.css +4 -2927
  48. package/dist/collection/components/post-search/post-search.js +28 -5
  49. package/dist/collection/components/post-search/post-search.js.map +1 -1
  50. package/dist/collection/components/post-skiplinks/post-skiplinks.css +1 -21
  51. package/dist/collection/components/post-skiplinks/post-skiplinks.js +1 -1
  52. package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +1 -1
  53. package/dist/collection/services/language.service.js +1 -1
  54. package/dist/collection/services/language.service.js.map +1 -1
  55. package/dist/collection/utils/scrollparent.js +21 -0
  56. package/dist/collection/utils/scrollparent.js.map +1 -0
  57. package/dist/components/language.service.js +6 -1
  58. package/dist/components/language.service.js.map +1 -1
  59. package/dist/components/post-klp-login-widget2.js +1 -1
  60. package/dist/components/post-klp-login-widget2.js.map +1 -1
  61. package/dist/components/post-language-switch2.js +1 -1
  62. package/dist/components/post-language-switch2.js.map +1 -1
  63. package/dist/components/post-logo2.js +1 -1
  64. package/dist/components/post-logo2.js.map +1 -1
  65. package/dist/components/post-main-navigation2.js +1 -1
  66. package/dist/components/post-main-navigation2.js.map +1 -1
  67. package/dist/components/post-meta-navigation2.js +1 -1
  68. package/dist/components/post-meta-navigation2.js.map +1 -1
  69. package/dist/components/post-search2.js +25 -2
  70. package/dist/components/post-search2.js.map +1 -1
  71. package/dist/components/post-skiplinks2.js +1 -1
  72. package/dist/components/post-skiplinks2.js.map +1 -1
  73. package/dist/components/swisspost-internet-breadcrumbs.js +1331 -8
  74. package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
  75. package/dist/components/swisspost-internet-footer.js +1 -1
  76. package/dist/components/swisspost-internet-footer.js.map +1 -1
  77. package/dist/components/swisspost-internet-header.js +68 -38
  78. package/dist/components/swisspost-internet-header.js.map +1 -1
  79. package/dist/docs.json +51 -4
  80. package/dist/esm/{language.service-bd0f3b6f.js → language.service-109c485e.js} +7 -2
  81. package/dist/esm/language.service-109c485e.js.map +1 -0
  82. package/dist/esm/loader.js +1 -1
  83. package/dist/esm/post-klp-login-widget.entry.js +1 -1
  84. package/dist/esm/post-klp-login-widget.entry.js.map +1 -1
  85. package/dist/esm/post-language-switch.entry.js +2 -2
  86. package/dist/esm/post-language-switch.entry.js.map +1 -1
  87. package/dist/esm/post-logo.entry.js +1 -1
  88. package/dist/esm/post-logo.entry.js.map +1 -1
  89. package/dist/esm/post-main-navigation.entry.js +2 -2
  90. package/dist/esm/post-main-navigation.entry.js.map +1 -1
  91. package/dist/esm/post-meta-navigation.entry.js +1 -1
  92. package/dist/esm/post-meta-navigation.entry.js.map +1 -1
  93. package/dist/esm/post-search.entry.js +25 -2
  94. package/dist/esm/post-search.entry.js.map +1 -1
  95. package/dist/esm/post-skiplinks.entry.js +2 -2
  96. package/dist/esm/post-skiplinks.entry.js.map +1 -1
  97. package/dist/esm/swisspost-internet-breadcrumbs.entry.js +1329 -8
  98. package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  99. package/dist/esm/swisspost-internet-footer.entry.js +2 -2
  100. package/dist/esm/swisspost-internet-footer.entry.js.map +1 -1
  101. package/dist/esm/swisspost-internet-header.entry.js +67 -37
  102. package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
  103. package/dist/esm/swisspost-internet-header.js +1 -1
  104. package/dist/esm-es5/language.service-109c485e.js +2 -0
  105. package/dist/esm-es5/language.service-109c485e.js.map +1 -0
  106. package/dist/esm-es5/loader.js +1 -1
  107. package/dist/esm-es5/loader.js.map +1 -1
  108. package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
  109. package/dist/esm-es5/post-klp-login-widget.entry.js.map +1 -1
  110. package/dist/esm-es5/post-language-switch.entry.js +1 -1
  111. package/dist/esm-es5/post-language-switch.entry.js.map +1 -1
  112. package/dist/esm-es5/post-logo.entry.js +1 -1
  113. package/dist/esm-es5/post-logo.entry.js.map +1 -1
  114. package/dist/esm-es5/post-main-navigation.entry.js +1 -1
  115. package/dist/esm-es5/post-main-navigation.entry.js.map +1 -1
  116. package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
  117. package/dist/esm-es5/post-meta-navigation.entry.js.map +1 -1
  118. package/dist/esm-es5/post-search.entry.js +1 -1
  119. package/dist/esm-es5/post-search.entry.js.map +1 -1
  120. package/dist/esm-es5/post-skiplinks.entry.js +1 -1
  121. package/dist/esm-es5/post-skiplinks.entry.js.map +1 -1
  122. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +2 -2
  123. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  124. package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
  125. package/dist/esm-es5/swisspost-internet-footer.entry.js.map +1 -1
  126. package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
  127. package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
  128. package/dist/esm-es5/swisspost-internet-header.js +1 -1
  129. package/dist/esm-es5/swisspost-internet-header.js.map +1 -1
  130. package/dist/swisspost-internet-header/p-0216631b.system.entry.js +2 -0
  131. package/dist/swisspost-internet-header/{p-e2df6e93.system.entry.js.map → p-0216631b.system.entry.js.map} +1 -1
  132. package/dist/swisspost-internet-header/p-0352b702.system.entry.js +7 -0
  133. package/dist/swisspost-internet-header/p-0352b702.system.entry.js.map +1 -0
  134. package/dist/swisspost-internet-header/p-0e4299a3.entry.js +2 -0
  135. package/dist/swisspost-internet-header/{p-6bb07a80.entry.js.map → p-0e4299a3.entry.js.map} +1 -1
  136. package/dist/swisspost-internet-header/p-10bfe973.system.entry.js +2 -0
  137. package/dist/swisspost-internet-header/p-10bfe973.system.entry.js.map +1 -0
  138. package/dist/swisspost-internet-header/p-142627fa.entry.js +2 -0
  139. package/dist/swisspost-internet-header/{p-9ab24fb3.entry.js.map → p-142627fa.entry.js.map} +1 -1
  140. package/dist/swisspost-internet-header/p-194475b8.system.js +2 -0
  141. package/dist/swisspost-internet-header/p-194475b8.system.js.map +1 -0
  142. package/dist/swisspost-internet-header/p-1a526dc3.system.entry.js +2 -0
  143. package/dist/swisspost-internet-header/p-1a526dc3.system.entry.js.map +1 -0
  144. package/dist/swisspost-internet-header/p-28bcc0a1.entry.js +2 -0
  145. package/dist/swisspost-internet-header/p-28bcc0a1.entry.js.map +1 -0
  146. package/dist/swisspost-internet-header/p-312fcf55.system.entry.js +2 -0
  147. package/dist/swisspost-internet-header/{p-fed8d74d.system.entry.js.map → p-312fcf55.system.entry.js.map} +1 -1
  148. package/dist/swisspost-internet-header/p-334412b2.entry.js +2 -0
  149. package/dist/swisspost-internet-header/p-334412b2.entry.js.map +1 -0
  150. package/dist/swisspost-internet-header/p-334616bc.system.entry.js +2 -0
  151. package/dist/swisspost-internet-header/{p-0bfadd54.system.entry.js.map → p-334616bc.system.entry.js.map} +1 -1
  152. package/dist/swisspost-internet-header/p-37872478.entry.js +7 -0
  153. package/dist/swisspost-internet-header/p-37872478.entry.js.map +1 -0
  154. package/dist/swisspost-internet-header/p-4da084d9.entry.js +2 -0
  155. package/dist/swisspost-internet-header/{p-273fd39b.entry.js.map → p-4da084d9.entry.js.map} +1 -1
  156. package/dist/swisspost-internet-header/p-5d893017.system.js +1 -1
  157. package/dist/swisspost-internet-header/p-5d893017.system.js.map +1 -1
  158. package/dist/swisspost-internet-header/p-77426673.entry.js +2 -0
  159. package/dist/swisspost-internet-header/{p-0dd2de97.entry.js.map → p-77426673.entry.js.map} +1 -1
  160. package/dist/swisspost-internet-header/p-7ddfd160.entry.js +2 -0
  161. package/dist/swisspost-internet-header/p-7ddfd160.entry.js.map +1 -0
  162. package/dist/swisspost-internet-header/p-8120031d.system.entry.js +2 -0
  163. package/dist/swisspost-internet-header/{p-3c8504b4.system.entry.js.map → p-8120031d.system.entry.js.map} +1 -1
  164. package/dist/swisspost-internet-header/p-935c70e1.js +2 -0
  165. package/dist/swisspost-internet-header/p-935c70e1.js.map +1 -0
  166. package/dist/swisspost-internet-header/p-95a1384f.system.entry.js +2 -0
  167. package/dist/swisspost-internet-header/p-95a1384f.system.entry.js.map +1 -0
  168. package/dist/swisspost-internet-header/p-b5937320.entry.js +2 -0
  169. package/dist/swisspost-internet-header/p-b5937320.entry.js.map +1 -0
  170. package/dist/swisspost-internet-header/p-c291d766.system.entry.js +2 -0
  171. package/dist/swisspost-internet-header/{p-131078ce.system.entry.js.map → p-c291d766.system.entry.js.map} +1 -1
  172. package/dist/swisspost-internet-header/p-cfc4dbfd.entry.js +2 -0
  173. package/dist/swisspost-internet-header/{p-51c15273.entry.js.map → p-cfc4dbfd.entry.js.map} +1 -1
  174. package/dist/swisspost-internet-header/p-d4106bf6.system.entry.js +2 -0
  175. package/dist/swisspost-internet-header/{p-a366648c.system.entry.js.map → p-d4106bf6.system.entry.js.map} +1 -1
  176. package/dist/swisspost-internet-header/swisspost-internet-header.css +2 -4
  177. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
  178. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js.map +1 -1
  179. package/dist/types/assets/i18n/translations.d.ts +5 -0
  180. package/dist/types/components/post-internet-breadcrumbs/post-internet-breadcrumbs.d.ts +13 -4
  181. package/dist/types/components/post-internet-header/post-internet-header.d.ts +4 -3
  182. package/dist/types/components/post-klp-login-widget/post-klp-login-widget.d.ts +1 -1
  183. package/dist/types/components/post-search/post-search.d.ts +6 -0
  184. package/dist/types/components/post-skiplinks/post-skiplinks.d.ts +1 -1
  185. package/dist/types/components.d.ts +19 -6
  186. package/dist/types/services/language.service.d.ts +7 -5
  187. package/dist/types/utils/scrollparent.d.ts +1 -0
  188. package/package.json +13 -12
  189. package/dist/cjs/language.service-9334ca5d.js.map +0 -1
  190. package/dist/esm/language.service-bd0f3b6f.js.map +0 -1
  191. package/dist/esm-es5/language.service-bd0f3b6f.js +0 -2
  192. package/dist/esm-es5/language.service-bd0f3b6f.js.map +0 -1
  193. package/dist/swisspost-internet-header/p-06d32a28.entry.js +0 -7
  194. package/dist/swisspost-internet-header/p-06d32a28.entry.js.map +0 -1
  195. package/dist/swisspost-internet-header/p-0bfadd54.system.entry.js +0 -2
  196. package/dist/swisspost-internet-header/p-0dd2de97.entry.js +0 -2
  197. package/dist/swisspost-internet-header/p-1078e964.system.entry.js +0 -2
  198. package/dist/swisspost-internet-header/p-1078e964.system.entry.js.map +0 -1
  199. package/dist/swisspost-internet-header/p-131078ce.system.entry.js +0 -2
  200. package/dist/swisspost-internet-header/p-262611f7.entry.js +0 -2
  201. package/dist/swisspost-internet-header/p-262611f7.entry.js.map +0 -1
  202. package/dist/swisspost-internet-header/p-273fd39b.entry.js +0 -2
  203. package/dist/swisspost-internet-header/p-3c8504b4.system.entry.js +0 -2
  204. package/dist/swisspost-internet-header/p-4099b274.system.js +0 -2
  205. package/dist/swisspost-internet-header/p-4099b274.system.js.map +0 -1
  206. package/dist/swisspost-internet-header/p-51c15273.entry.js +0 -2
  207. package/dist/swisspost-internet-header/p-5baac371.system.entry.js +0 -2
  208. package/dist/swisspost-internet-header/p-5baac371.system.entry.js.map +0 -1
  209. package/dist/swisspost-internet-header/p-64e1182b.entry.js +0 -2
  210. package/dist/swisspost-internet-header/p-64e1182b.entry.js.map +0 -1
  211. package/dist/swisspost-internet-header/p-6bb07a80.entry.js +0 -2
  212. package/dist/swisspost-internet-header/p-6f69aff4.system.entry.js +0 -2
  213. package/dist/swisspost-internet-header/p-6f69aff4.system.entry.js.map +0 -1
  214. package/dist/swisspost-internet-header/p-7bed0797.js +0 -2
  215. package/dist/swisspost-internet-header/p-7bed0797.js.map +0 -1
  216. package/dist/swisspost-internet-header/p-97c90e22.system.entry.js +0 -7
  217. package/dist/swisspost-internet-header/p-97c90e22.system.entry.js.map +0 -1
  218. package/dist/swisspost-internet-header/p-9ab24fb3.entry.js +0 -2
  219. package/dist/swisspost-internet-header/p-9ec1f474.entry.js +0 -2
  220. package/dist/swisspost-internet-header/p-9ec1f474.entry.js.map +0 -1
  221. package/dist/swisspost-internet-header/p-a366648c.system.entry.js +0 -2
  222. package/dist/swisspost-internet-header/p-e2df6e93.system.entry.js +0 -2
  223. package/dist/swisspost-internet-header/p-f531c1ea.entry.js +0 -2
  224. package/dist/swisspost-internet-header/p-f531c1ea.entry.js.map +0 -1
  225. package/dist/swisspost-internet-header/p-fed8d74d.system.entry.js +0 -2
@@ -1,2 +1,2 @@
1
- import{p as e,b as o}from"./p-8e0a4d18.js";export{s as setNonce}from"./p-8e0a4d18.js";const t=()=>{const o=import.meta.url;const t={};if(o!==""){t.resourcesUrl=new URL(".",o).href}return e(t)};t().then((e=>o([["p-f531c1ea",[[1,"swisspost-internet-header",{project:[1],stickyness:[1],language:[1],meta:[4],login:[4],search:[4],skiplinks:[4],configProxy:[1,"config-proxy"],environment:[1],languageSwitchOverrides:[1,"language-switch-overrides"],customConfig:[1,"custom-config"],languageCookieKey:[1,"language-cookie-key"],languageLocalStorageKey:[1,"language-local-storage-key"],activeRoute:[8,"active-route"],osFlyoutOverrides:[1,"os-flyout-overrides"],fullWidth:[4,"full-width"],activeFlyout:[32],activeDropdownElement:[32],getCurrentLanguage:[64]},[[0,"languageChanged","handleLanguageChangeEvent"]]]]],["p-06d32a28",[[1,"swisspost-internet-breadcrumbs",{customItems:[1,"custom-items"],customBreadcrumbItems:[32],overlayVisible:[32],isConcatenated:[32],dropdownOpen:[32],refsReady:[32]}]]],["p-9ab24fb3",[[1,"swisspost-internet-footer",{liveSupportEnabled:[32],cookieSettingsEnabled:[32]}]]],["p-64e1182b",[[1,"post-klp-login-widget",{setFocus:[64]}]]],["p-0dd2de97",[[1,"post-language-switch",{mode:[1],langSwitchOpen:[32],toggleDropdown:[64]}]]],["p-6bb07a80",[[1,"post-logo"]]],["p-273fd39b",[[1,"post-main-navigation",{activeFlyout:[32],mobileMenuOpen:[32],toggleDropdown:[64],setFocus:[64],setActiveFlyout:[64]}]]],["p-51c15273",[[1,"post-meta-navigation",{orientation:[1],fullWidth:[4,"full-width"]}]]],["p-262611f7",[[1,"post-search",{searchDropdownOpen:[32],coveoSuggestions:[32],placeSuggestions:[32],parcelSuggestion:[32],toggleDropdown:[64],setFocus:[64]}]]],["p-9ec1f474",[[0,"post-skiplinks"]]]],e)));
1
+ import{p as e,b as o}from"./p-8e0a4d18.js";export{s as setNonce}from"./p-8e0a4d18.js";const t=()=>{const o=import.meta.url;const t={};if(o!==""){t.resourcesUrl=new URL(".",o).href}return e(t)};t().then((e=>o([["p-7ddfd160",[[1,"swisspost-internet-header",{project:[1],stickyness:[1],language:[1],meta:[4],login:[4],search:[4],skiplinks:[4],configProxy:[1,"config-proxy"],environment:[1],languageSwitchOverrides:[1,"language-switch-overrides"],customConfig:[1,"custom-config"],languageCookieKey:[1,"language-cookie-key"],languageLocalStorageKey:[1,"language-local-storage-key"],activeRoute:[8,"active-route"],osFlyoutOverrides:[1,"os-flyout-overrides"],fullWidth:[4,"full-width"],activeFlyout:[32],activeDropdownElement:[32],getCurrentLanguage:[64]},[[0,"languageChanged","handleLanguageChangeEvent"]]]]],["p-37872478",[[1,"swisspost-internet-breadcrumbs",{customItems:[1,"custom-items"],hideButtons:[4,"hide-buttons"],customBreadcrumbItems:[32],overlayVisible:[32],isConcatenated:[32],dropdownOpen:[32],refsReady:[32],toggleOverlayById:[64]}]]],["p-142627fa",[[1,"swisspost-internet-footer",{liveSupportEnabled:[32],cookieSettingsEnabled:[32]}]]],["p-334412b2",[[1,"post-klp-login-widget",{setFocus:[64]}]]],["p-77426673",[[1,"post-language-switch",{mode:[1],langSwitchOpen:[32],toggleDropdown:[64]}]]],["p-0e4299a3",[[1,"post-logo"]]],["p-4da084d9",[[1,"post-main-navigation",{activeFlyout:[32],mobileMenuOpen:[32],toggleDropdown:[64],setFocus:[64],setActiveFlyout:[64]}]]],["p-cfc4dbfd",[[1,"post-meta-navigation",{orientation:[1],fullWidth:[4,"full-width"]}]]],["p-28bcc0a1",[[1,"post-search",{searchDropdownOpen:[32],coveoSuggestions:[32],placeSuggestions:[32],parcelSuggestion:[32],toggleDropdown:[64],setFocus:[64]}]]],["p-b5937320",[[0,"post-skiplinks"]]]],e)));
2
2
  //# sourceMappingURL=swisspost-internet-header.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["patchBrowser","importMeta","url","opts","resourcesUrl","URL","href","promiseResolve","then","options","bootstrapLazy","project","stickyness","language","meta","login","search","skiplinks","configProxy","environment","languageSwitchOverrides","customConfig","languageCookieKey","languageLocalStorageKey","activeRoute","osFlyoutOverrides","fullWidth","activeFlyout","activeDropdownElement","getCurrentLanguage","customItems","customBreadcrumbItems","overlayVisible","isConcatenated","dropdownOpen","refsReady","liveSupportEnabled","cookieSettingsEnabled","setFocus","mode","langSwitchOpen","toggleDropdown","mobileMenuOpen","setActiveFlyout","orientation","searchDropdownOpen","coveoSuggestions","placeSuggestions","parcelSuggestion"],"sources":["../../node_modules/.pnpm/@stencil+core@3.4.2/node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v3.4.2 | MIT Licensed | https://stenciljs.com\n */\nimport { BUILD, NAMESPACE } from '@stencil/core/internal/app-data';\nimport { consoleDevInfo, plt, win, doc, promiseResolve, H } from '@stencil/core';\n/**\n * Helper method for querying a `meta` tag that contains a nonce value\n * out of a DOM's head.\n *\n * @param doc The DOM containing the `head` to query against\n * @returns The content of the meta tag representing the nonce value, or `undefined` if no tag\n * exists or the tag has no content.\n */\nfunction queryNonceMetaTagContent(doc) {\n var _a, _b, _c;\n return (_c = (_b = (_a = doc.head) === null || _a === void 0 ? void 0 : _a.querySelector('meta[name=\"csp-nonce\"]')) === null || _b === void 0 ? void 0 : _b.getAttribute('content')) !== null && _c !== void 0 ? _c : undefined;\n}\n// TODO(STENCIL-661): Remove code related to the dynamic import shim\nconst getDynamicImportFunction = (namespace) => `__sc_import_${namespace.replace(/\\s|-/g, '_')}`;\nconst patchBrowser = () => {\n // NOTE!! This fn cannot use async/await!\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo('Running in development mode.');\n }\n // TODO(STENCIL-659): Remove code implementing the CSS variable shim\n if (BUILD.cssVarShim) {\n // shim css vars\n // TODO(STENCIL-659): Remove code implementing the CSS variable shim\n plt.$cssShim$ = win.__cssshim;\n }\n if (BUILD.cloneNodeFix) {\n // opted-in to polyfill cloneNode() for slot polyfilled components\n patchCloneNodeFix(H.prototype);\n }\n if (BUILD.profile && !performance.mark) {\n // not all browsers support performance.mark/measure (Safari 10)\n // because the mark/measure APIs are designed to write entries to a buffer in the browser that does not exist,\n // simply stub the implementations out.\n // TODO(STENCIL-323): Remove this patch when support for older browsers is removed (breaking)\n // @ts-ignore\n performance.mark = performance.measure = () => {\n /*noop*/\n };\n performance.getEntriesByName = () => [];\n }\n // @ts-ignore\n const scriptElm = \n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n BUILD.scriptDataOpts || BUILD.safari10 || BUILD.dynamicImportShim\n ? Array.from(doc.querySelectorAll('script')).find((s) => new RegExp(`\\/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) ||\n s.getAttribute('data-stencil-namespace') === NAMESPACE)\n : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})['data-opts'] || {} : {};\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n if (BUILD.safari10 && 'onbeforeload' in scriptElm && !history.scrollRestoration /* IS_ESM_BUILD */) {\n // Safari < v11 support: This IF is true if it's Safari below v11.\n // This fn cannot use async/await since Safari didn't support it until v11,\n // however, Safari 10 did support modules. Safari 10 also didn't support \"nomodule\",\n // so both the ESM file and nomodule file would get downloaded. Only Safari\n // has 'onbeforeload' in the script, and \"history.scrollRestoration\" was added\n // to Safari in v11. Return a noop then() so the async/await ESM code doesn't continue.\n // IS_ESM_BUILD is replaced at build time so this check doesn't happen in systemjs builds.\n return {\n then() {\n /* promise noop */\n },\n };\n }\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n if (!BUILD.safari10 && importMeta !== '') {\n opts.resourcesUrl = new URL('.', importMeta).href;\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n }\n else if (BUILD.dynamicImportShim || BUILD.safari10) {\n opts.resourcesUrl = new URL('.', new URL(scriptElm.getAttribute('data-resources-url') || scriptElm.src, win.location.href)).href;\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n if (BUILD.dynamicImportShim) {\n patchDynamicImport(opts.resourcesUrl, scriptElm);\n }\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n if (BUILD.dynamicImportShim && !win.customElements) {\n // module support, but no custom elements support (Old Edge)\n // @ts-ignore\n return import(/* webpackChunkName: \"polyfills-dom\" */ './dom.js').then(() => opts);\n }\n }\n return promiseResolve(opts);\n};\n// TODO(STENCIL-661): Remove code related to the dynamic import shim\nconst patchDynamicImport = (base, orgScriptElm) => {\n const importFunctionName = getDynamicImportFunction(NAMESPACE);\n try {\n // test if this browser supports dynamic imports\n // There is a caching issue in V8, that breaks using import() in Function\n // By generating a random string, we can workaround it\n // Check https://bugs.chromium.org/p/chromium/issues/detail?id=990810 for more info\n win[importFunctionName] = new Function('w', `return import(w);//${Math.random()}`);\n }\n catch (e) {\n // this shim is specifically for browsers that do support \"esm\" imports\n // however, they do NOT support \"dynamic\" imports\n // basically this code is for old Edge, v18 and below\n const moduleMap = new Map();\n win[importFunctionName] = (src) => {\n var _a;\n const url = new URL(src, base).href;\n let mod = moduleMap.get(url);\n if (!mod) {\n const script = doc.createElement('script');\n script.type = 'module';\n script.crossOrigin = orgScriptElm.crossOrigin;\n script.src = URL.createObjectURL(new Blob([`import * as m from '${url}'; window.${importFunctionName}.m = m;`], {\n type: 'application/javascript',\n }));\n // Apply CSP nonce to the script tag if it exists\n const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);\n if (nonce != null) {\n script.setAttribute('nonce', nonce);\n }\n mod = new Promise((resolve) => {\n script.onload = () => {\n resolve(win[importFunctionName].m);\n script.remove();\n };\n });\n moduleMap.set(url, mod);\n doc.head.appendChild(script);\n }\n return mod;\n };\n }\n};\nconst patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function (deep) {\n if (this.nodeName === 'TEMPLATE') {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n // Node.ATTRIBUTE_NODE === 2, and checking because IE11\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport { patchBrowser };\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(options => {\n globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"mappings":"sFAmBA,MAAMA,EAAe,KAkCjB,MAAMC,cAAyBC,IAC/B,MAAMC,EAAqE,GAiB3E,GAAuBF,IAAe,GAAI,CACtCE,EAAKC,aAAe,IAAIC,IAAI,IAAKJ,GAAYK,IAGrD,CAcI,OAAOC,EAAeJ,EAAK,ECrF/BH,IAAeQ,MAAKC,GAEXC,EAAc,+CAAuC,CAAAC,QAAA,IAAAC,WAAA,IAAAC,SAAA,IAAAC,KAAA,IAAAC,MAAA,IAAAC,OAAA,IAAAC,UAAA,IAAAC,YAAA,mBAAAC,YAAA,IAAAC,wBAAA,gCAAAC,aAAA,oBAAAC,kBAAA,0BAAAC,wBAAA,iCAAAC,YAAA,mBAAAC,kBAAA,0BAAAC,UAAA,iBAAAC,aAAA,KAAAC,sBAAA,KAAAC,mBAAA,iHAAAC,YAAA,mBAAAC,sBAAA,KAAAC,eAAA,KAAAC,eAAA,KAAAC,aAAA,KAAAC,UAAA,wDAAAC,mBAAA,KAAAC,sBAAA,oDAAAC,SAAA,mDAAAC,KAAA,IAAAC,eAAA,KAAAC,eAAA,oFAAAd,aAAA,KAAAe,eAAA,KAAAD,eAAA,KAAAH,SAAA,KAAAK,gBAAA,mDAAAC,YAAA,IAAAlB,UAAA,sDAAAmB,mBAAA,KAAAC,iBAAA,KAAAC,iBAAA,KAAAC,iBAAA,KAAAP,eAAA,KAAAH,SAAA,gDAAA7B"}
1
+ {"version":3,"names":["patchBrowser","importMeta","url","opts","resourcesUrl","URL","href","promiseResolve","then","options","bootstrapLazy","project","stickyness","language","meta","login","search","skiplinks","configProxy","environment","languageSwitchOverrides","customConfig","languageCookieKey","languageLocalStorageKey","activeRoute","osFlyoutOverrides","fullWidth","activeFlyout","activeDropdownElement","getCurrentLanguage","customItems","hideButtons","customBreadcrumbItems","overlayVisible","isConcatenated","dropdownOpen","refsReady","toggleOverlayById","liveSupportEnabled","cookieSettingsEnabled","setFocus","mode","langSwitchOpen","toggleDropdown","mobileMenuOpen","setActiveFlyout","orientation","searchDropdownOpen","coveoSuggestions","placeSuggestions","parcelSuggestion"],"sources":["../../node_modules/.pnpm/@stencil+core@3.4.2/node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v3.4.2 | MIT Licensed | https://stenciljs.com\n */\nimport { BUILD, NAMESPACE } from '@stencil/core/internal/app-data';\nimport { consoleDevInfo, plt, win, doc, promiseResolve, H } from '@stencil/core';\n/**\n * Helper method for querying a `meta` tag that contains a nonce value\n * out of a DOM's head.\n *\n * @param doc The DOM containing the `head` to query against\n * @returns The content of the meta tag representing the nonce value, or `undefined` if no tag\n * exists or the tag has no content.\n */\nfunction queryNonceMetaTagContent(doc) {\n var _a, _b, _c;\n return (_c = (_b = (_a = doc.head) === null || _a === void 0 ? void 0 : _a.querySelector('meta[name=\"csp-nonce\"]')) === null || _b === void 0 ? void 0 : _b.getAttribute('content')) !== null && _c !== void 0 ? _c : undefined;\n}\n// TODO(STENCIL-661): Remove code related to the dynamic import shim\nconst getDynamicImportFunction = (namespace) => `__sc_import_${namespace.replace(/\\s|-/g, '_')}`;\nconst patchBrowser = () => {\n // NOTE!! This fn cannot use async/await!\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo('Running in development mode.');\n }\n // TODO(STENCIL-659): Remove code implementing the CSS variable shim\n if (BUILD.cssVarShim) {\n // shim css vars\n // TODO(STENCIL-659): Remove code implementing the CSS variable shim\n plt.$cssShim$ = win.__cssshim;\n }\n if (BUILD.cloneNodeFix) {\n // opted-in to polyfill cloneNode() for slot polyfilled components\n patchCloneNodeFix(H.prototype);\n }\n if (BUILD.profile && !performance.mark) {\n // not all browsers support performance.mark/measure (Safari 10)\n // because the mark/measure APIs are designed to write entries to a buffer in the browser that does not exist,\n // simply stub the implementations out.\n // TODO(STENCIL-323): Remove this patch when support for older browsers is removed (breaking)\n // @ts-ignore\n performance.mark = performance.measure = () => {\n /*noop*/\n };\n performance.getEntriesByName = () => [];\n }\n // @ts-ignore\n const scriptElm = \n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n BUILD.scriptDataOpts || BUILD.safari10 || BUILD.dynamicImportShim\n ? Array.from(doc.querySelectorAll('script')).find((s) => new RegExp(`\\/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) ||\n s.getAttribute('data-stencil-namespace') === NAMESPACE)\n : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})['data-opts'] || {} : {};\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n if (BUILD.safari10 && 'onbeforeload' in scriptElm && !history.scrollRestoration /* IS_ESM_BUILD */) {\n // Safari < v11 support: This IF is true if it's Safari below v11.\n // This fn cannot use async/await since Safari didn't support it until v11,\n // however, Safari 10 did support modules. Safari 10 also didn't support \"nomodule\",\n // so both the ESM file and nomodule file would get downloaded. Only Safari\n // has 'onbeforeload' in the script, and \"history.scrollRestoration\" was added\n // to Safari in v11. Return a noop then() so the async/await ESM code doesn't continue.\n // IS_ESM_BUILD is replaced at build time so this check doesn't happen in systemjs builds.\n return {\n then() {\n /* promise noop */\n },\n };\n }\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n if (!BUILD.safari10 && importMeta !== '') {\n opts.resourcesUrl = new URL('.', importMeta).href;\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n }\n else if (BUILD.dynamicImportShim || BUILD.safari10) {\n opts.resourcesUrl = new URL('.', new URL(scriptElm.getAttribute('data-resources-url') || scriptElm.src, win.location.href)).href;\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n if (BUILD.dynamicImportShim) {\n patchDynamicImport(opts.resourcesUrl, scriptElm);\n }\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n if (BUILD.dynamicImportShim && !win.customElements) {\n // module support, but no custom elements support (Old Edge)\n // @ts-ignore\n return import(/* webpackChunkName: \"polyfills-dom\" */ './dom.js').then(() => opts);\n }\n }\n return promiseResolve(opts);\n};\n// TODO(STENCIL-661): Remove code related to the dynamic import shim\nconst patchDynamicImport = (base, orgScriptElm) => {\n const importFunctionName = getDynamicImportFunction(NAMESPACE);\n try {\n // test if this browser supports dynamic imports\n // There is a caching issue in V8, that breaks using import() in Function\n // By generating a random string, we can workaround it\n // Check https://bugs.chromium.org/p/chromium/issues/detail?id=990810 for more info\n win[importFunctionName] = new Function('w', `return import(w);//${Math.random()}`);\n }\n catch (e) {\n // this shim is specifically for browsers that do support \"esm\" imports\n // however, they do NOT support \"dynamic\" imports\n // basically this code is for old Edge, v18 and below\n const moduleMap = new Map();\n win[importFunctionName] = (src) => {\n var _a;\n const url = new URL(src, base).href;\n let mod = moduleMap.get(url);\n if (!mod) {\n const script = doc.createElement('script');\n script.type = 'module';\n script.crossOrigin = orgScriptElm.crossOrigin;\n script.src = URL.createObjectURL(new Blob([`import * as m from '${url}'; window.${importFunctionName}.m = m;`], {\n type: 'application/javascript',\n }));\n // Apply CSP nonce to the script tag if it exists\n const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);\n if (nonce != null) {\n script.setAttribute('nonce', nonce);\n }\n mod = new Promise((resolve) => {\n script.onload = () => {\n resolve(win[importFunctionName].m);\n script.remove();\n };\n });\n moduleMap.set(url, mod);\n doc.head.appendChild(script);\n }\n return mod;\n };\n }\n};\nconst patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function (deep) {\n if (this.nodeName === 'TEMPLATE') {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n // Node.ATTRIBUTE_NODE === 2, and checking because IE11\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport { patchBrowser };\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(options => {\n globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"mappings":"sFAmBA,MAAMA,EAAe,KAkCjB,MAAMC,cAAyBC,IAC/B,MAAMC,EAAqE,GAiB3E,GAAuBF,IAAe,GAAI,CACtCE,EAAKC,aAAe,IAAIC,IAAI,IAAKJ,GAAYK,IAGrD,CAcI,OAAOC,EAAeJ,EAAK,ECrF/BH,IAAeQ,MAAKC,GAEXC,EAAc,+CAAuC,CAAAC,QAAA,IAAAC,WAAA,IAAAC,SAAA,IAAAC,KAAA,IAAAC,MAAA,IAAAC,OAAA,IAAAC,UAAA,IAAAC,YAAA,mBAAAC,YAAA,IAAAC,wBAAA,gCAAAC,aAAA,oBAAAC,kBAAA,0BAAAC,wBAAA,iCAAAC,YAAA,mBAAAC,kBAAA,0BAAAC,UAAA,iBAAAC,aAAA,KAAAC,sBAAA,KAAAC,mBAAA,iHAAAC,YAAA,mBAAAC,YAAA,mBAAAC,sBAAA,KAAAC,eAAA,KAAAC,eAAA,KAAAC,aAAA,KAAAC,UAAA,KAAAC,kBAAA,wDAAAC,mBAAA,KAAAC,sBAAA,oDAAAC,SAAA,mDAAAC,KAAA,IAAAC,eAAA,KAAAC,eAAA,oFAAAhB,aAAA,KAAAiB,eAAA,KAAAD,eAAA,KAAAH,SAAA,KAAAK,gBAAA,mDAAAC,YAAA,IAAApB,UAAA,sDAAAqB,mBAAA,KAAAC,iBAAA,KAAAC,iBAAA,KAAAC,iBAAA,KAAAP,eAAA,KAAAH,SAAA,gDAAA/B"}
@@ -59,4 +59,9 @@ export declare const translations: {
59
59
  fr: string;
60
60
  it: string;
61
61
  };
62
+ 'Delete search term': {
63
+ de: string;
64
+ fr: string;
65
+ it: string;
66
+ };
62
67
  };
@@ -1,12 +1,21 @@
1
- import { IBreadcrumbOverlay, IBreadcrumbItem } from '../../models/breadcrumbs.model';
1
+ import { IBreadcrumbItem, IBreadcrumbOverlay } from '../../models/breadcrumbs.model';
2
2
  export declare class PostInternetBreadcrumbs {
3
3
  customItems?: string | IBreadcrumbItem[];
4
+ /**
5
+ * Hide all buttons.
6
+ */
7
+ hideButtons: boolean;
4
8
  customBreadcrumbItems?: IBreadcrumbItem[];
5
9
  overlayVisible: boolean;
6
10
  isConcatenated: boolean;
7
11
  dropdownOpen: boolean;
8
12
  refsReady: boolean;
9
- host: Element;
13
+ host: HTMLSwisspostInternetBreadcrumbsElement;
14
+ /**
15
+ * Toggle an overlay associated with a button.
16
+ * @param {IBreadcrumbOverlay['id']} overlayId
17
+ */
18
+ toggleOverlayById(overlayId: IBreadcrumbOverlay['id']): Promise<void>;
10
19
  private controlNavRef?;
11
20
  private visibleNavRef?;
12
21
  private currentOverlay;
@@ -18,7 +27,7 @@ export declare class PostInternetBreadcrumbs {
18
27
  disconnectedCallback(): void;
19
28
  componentWillLoad(): Promise<void>;
20
29
  componentDidLoad(): void;
21
- handleCustomConfigChage(newValue: string | IBreadcrumbItem[]): void;
30
+ handleCustomConfigChange(newValue: string | IBreadcrumbItem[]): void;
22
31
  handleResize(): void;
23
32
  checkConcatenation(): void;
24
33
  toggleOverlay(overlay: IBreadcrumbOverlay, force?: boolean): void;
@@ -28,7 +37,7 @@ export declare class PostInternetBreadcrumbs {
28
37
  setBodyScroll(overlay: IBreadcrumbOverlay): void;
29
38
  toggleDropdown(force?: boolean): void;
30
39
  handleWindowClick(): void;
31
- registerIFrameResizer(iFrame: HTMLIFrameElement): void;
40
+ registerIFrameResizer(iFrame: HTMLIFrameElement | undefined): void;
32
41
  /**
33
42
  * Reference function for the overlay element got called. It is either null (overlay closed)
34
43
  * or contains the overlay element as parameter.
@@ -15,7 +15,7 @@ export declare class PostInternetHeader {
15
15
  /**
16
16
  * Initial language to be used. Overrides automatic language detection.
17
17
  */
18
- language?: string;
18
+ language?: 'de' | 'fr' | 'it' | 'en';
19
19
  /**
20
20
  * Toggle the meta navigation.
21
21
  */
@@ -41,7 +41,7 @@ export declare class PostInternetHeader {
41
41
  */
42
42
  environment: Environment;
43
43
  /**
44
- * Override the language switch links with custom URLs. Helpful when your application contains sub-pages and you
44
+ * Override the language switch links with custom URLs. Helpful when your application contains sub-pages, and you
45
45
  * would like to stay on subpages when the user changes language.
46
46
  */
47
47
  languageSwitchOverrides?: string | IAvailableLanguage[];
@@ -89,13 +89,14 @@ export declare class PostInternetHeader {
89
89
  private debouncedResize;
90
90
  private lastWindowWidth;
91
91
  private updateLogoAnimation;
92
+ private scrollParent;
92
93
  constructor();
93
94
  connectedCallback(): void;
94
95
  disconnectedCallback(): void;
95
96
  componentWillLoad(): Promise<void>;
96
97
  componentDidLoad(): void;
97
98
  handleLanguageChange(newValue: string): Promise<void>;
98
- handleAvailableLanguagesChage(newValue: string | IAvailableLanguage[]): void;
99
+ handleAvailableLanguagesChange(newValue: string | IAvailableLanguage[]): void;
99
100
  handleOsFlyoutOverrides(newValue: string | NavMainEntity): Promise<void>;
100
101
  handleActiveRouteChange(newValue: string | ActiveRouteProp): Promise<void>;
101
102
  handleCustomConfigChange(newValue: string | ICustomConfig): Promise<void>;
@@ -1,6 +1,6 @@
1
1
  import { IsFocusable } from '../../models/header.model';
2
2
  export declare class PostKlpLoginWidget implements IsFocusable {
3
- host: HTMLElement;
3
+ host: HTMLPostKlpLoginWidgetElement;
4
4
  componentDidLoad(): Promise<void>;
5
5
  /**
6
6
  * Sets the focus on the login button
@@ -15,6 +15,7 @@ export declare class PostSearch implements HasDropdown, IsFocusable {
15
15
  private searchBox?;
16
16
  private searchFlyout;
17
17
  private throttledResize;
18
+ private clearButton?;
18
19
  connectedCallback(): void;
19
20
  disconnectedCallback(): void;
20
21
  componentWillUpdate(): Promise<boolean> | undefined;
@@ -34,6 +35,11 @@ export declare class PostSearch implements HasDropdown, IsFocusable {
34
35
  * Fetch suggestions from all available sources
35
36
  */
36
37
  private handleSearchInput;
38
+ /**
39
+ * clear Search box
40
+ * calls handleSearchInput to update/remove suggestions
41
+ */
42
+ private handleClearSearchBox;
37
43
  /**
38
44
  * Start search on enter
39
45
  * @param event
@@ -1,5 +1,5 @@
1
1
  export declare class PostSkiplinks {
2
- host: HTMLElement;
2
+ host: HTMLPostSkiplinksElement;
3
3
  private getMainId;
4
4
  private setFocus;
5
5
  private focusMain;
@@ -6,12 +6,12 @@
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  import { DropdownEvent, NavMainEntity } from "./models/header.model";
9
- import { IBreadcrumbItem } from "./models/breadcrumbs.model";
9
+ import { IBreadcrumbItem, IBreadcrumbOverlay } from "./models/breadcrumbs.model";
10
10
  import { StickynessOptions } from "./models/implementor.model";
11
11
  import { Environment, ICustomConfig } from "./models/general.model";
12
12
  import { IAvailableLanguage } from "./models/language.model";
13
13
  export { DropdownEvent, NavMainEntity } from "./models/header.model";
14
- export { IBreadcrumbItem } from "./models/breadcrumbs.model";
14
+ export { IBreadcrumbItem, IBreadcrumbOverlay } from "./models/breadcrumbs.model";
15
15
  export { StickynessOptions } from "./models/implementor.model";
16
16
  export { Environment, ICustomConfig } from "./models/general.model";
17
17
  export { IAvailableLanguage } from "./models/language.model";
@@ -70,6 +70,15 @@ export namespace Components {
70
70
  }
71
71
  interface SwisspostInternetBreadcrumbs {
72
72
  "customItems"?: string | IBreadcrumbItem[];
73
+ /**
74
+ * Hide all buttons.
75
+ */
76
+ "hideButtons": boolean;
77
+ /**
78
+ * Toggle an overlay associated with a button.
79
+ * @param overlayId
80
+ */
81
+ "toggleOverlayById": (overlayId: IBreadcrumbOverlay['id']) => Promise<void>;
73
82
  }
74
83
  interface SwisspostInternetFooter {
75
84
  }
@@ -102,7 +111,7 @@ export namespace Components {
102
111
  /**
103
112
  * Initial language to be used. Overrides automatic language detection.
104
113
  */
105
- "language"?: string;
114
+ "language"?: 'de' | 'fr' | 'it' | 'en';
106
115
  /**
107
116
  * The header uses this cookie to set the language. Disables automatic language detection.
108
117
  */
@@ -112,7 +121,7 @@ export namespace Components {
112
121
  */
113
122
  "languageLocalStorageKey"?: string;
114
123
  /**
115
- * Override the language switch links with custom URLs. Helpful when your application contains sub-pages and you would like to stay on subpages when the user changes language.
124
+ * Override the language switch links with custom URLs. Helpful when your application contains sub-pages, and you would like to stay on subpages when the user changes language.
116
125
  */
117
126
  "languageSwitchOverrides"?: string | IAvailableLanguage[];
118
127
  /**
@@ -260,6 +269,10 @@ declare namespace LocalJSX {
260
269
  }
261
270
  interface SwisspostInternetBreadcrumbs {
262
271
  "customItems"?: string | IBreadcrumbItem[];
272
+ /**
273
+ * Hide all buttons.
274
+ */
275
+ "hideButtons"?: boolean;
263
276
  }
264
277
  interface SwisspostInternetFooter {
265
278
  }
@@ -287,7 +300,7 @@ declare namespace LocalJSX {
287
300
  /**
288
301
  * Initial language to be used. Overrides automatic language detection.
289
302
  */
290
- "language"?: string;
303
+ "language"?: 'de' | 'fr' | 'it' | 'en';
291
304
  /**
292
305
  * The header uses this cookie to set the language. Disables automatic language detection.
293
306
  */
@@ -297,7 +310,7 @@ declare namespace LocalJSX {
297
310
  */
298
311
  "languageLocalStorageKey"?: string;
299
312
  /**
300
- * Override the language switch links with custom URLs. Helpful when your application contains sub-pages and you would like to stay on subpages when the user changes language.
313
+ * Override the language switch links with custom URLs. Helpful when your application contains sub-pages, and you would like to stay on subpages when the user changes language.
301
314
  */
302
315
  "languageSwitchOverrides"?: string | IAvailableLanguage[];
303
316
  /**
@@ -1,4 +1,4 @@
1
- export declare const getUserLang: (supportedLanguages: string[], implementorPreferredLanguage?: string, localStorageKey?: string, cookieKey?: string) => string | undefined;
1
+ export declare const getUserLang: (supportedLanguages: string[], implementorPreferredLanguage?: string, localStorageKey?: string, cookieKey?: string) => string;
2
2
  /**
3
3
  * Persist chosen language to local storage
4
4
  * @param lang Currently chose language, two char string
@@ -44,10 +44,7 @@ export declare const translate: (key: string, lang?: string, translationObject?:
44
44
  };
45
45
  'Change language': {
46
46
  de: string;
47
- fr: string; /**
48
- * Build array of possible language definitions in order of importance.
49
- * At the end is a filter function that will weed out any undefined or null entries.
50
- */
47
+ fr: string;
51
48
  it: string;
52
49
  };
53
50
  'Go to main content': {
@@ -90,4 +87,9 @@ export declare const translate: (key: string, lang?: string, translationObject?:
90
87
  fr: string;
91
88
  it: string;
92
89
  };
90
+ 'Delete search term': {
91
+ de: string;
92
+ fr: string;
93
+ it: string;
94
+ };
93
95
  }) => any;
@@ -0,0 +1 @@
1
+ export declare const getScrollParent: (node: Element) => Element | Document;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swisspost/internet-header",
3
- "version": "1.9.1",
3
+ "version": "1.11.0",
4
4
  "description": "The header for client facing applications.",
5
5
  "author": "Swiss Post <oss@post.ch>",
6
6
  "license": "Apache-2.0",
@@ -31,28 +31,29 @@
31
31
  "dependencies": {
32
32
  "@stencil/core": "3.4.2",
33
33
  "@stencil/store": "2.0.9",
34
- "@swisspost/design-system-styles": "6.4.0",
34
+ "@swisspost/design-system-styles": "6.4.2",
35
35
  "body-scroll-lock": "4.0.0-beta.0",
36
- "iframe-resizer": "4.3.6",
36
+ "iframe-resizer": "4.3.7",
37
37
  "jquery": "3.7.1",
38
38
  "tabbable": "6.2.0",
39
39
  "throttle-debounce": "5.0.0",
40
40
  "url-polyfill": "1.1.12"
41
41
  },
42
42
  "devDependencies": {
43
- "@babel/core": "7.22.11",
44
- "@percy/cli": "1.26.3",
43
+ "@babel/core": "7.22.20",
44
+ "@percy/cli": "1.27.2",
45
45
  "@percy/cypress": "3.1.2",
46
- "@stencil/eslint-plugin": "0.4.0",
46
+ "@stencil-community/eslint-plugin": "0.5.0",
47
47
  "@stencil/sass": "3.0.5",
48
+ "@types/body-scroll-lock": "3.1.0",
48
49
  "@types/iframe-resizer": "3.5.9",
49
50
  "@types/jest": "27.5.2",
50
- "@types/jquery": "3.5.17",
51
- "@types/node": "18.17.12",
51
+ "@types/jquery": "3.5.19",
52
+ "@types/node": "18.17.19",
52
53
  "@types/throttle-debounce": "5.0.0",
53
54
  "babel-loader": "9.1.3",
54
- "bootstrap": "5.3.1",
55
- "cypress": "12.17.4",
55
+ "bootstrap": "5.3.2",
56
+ "cypress": "13.2.0",
56
57
  "cypress-each": "1.13.3",
57
58
  "cypress-storybook": "0.5.1",
58
59
  "eslint-plugin-react": "7.33.2",
@@ -62,8 +63,8 @@
62
63
  "rollup-plugin-node-polyfills": "0.2.1",
63
64
  "rollup-plugin-scss": "4.0.0",
64
65
  "rollup-plugin-visualizer": "5.9.2",
65
- "sass": "1.66.1",
66
- "start-server-and-test": "2.0.0",
66
+ "sass": "1.68.0",
67
+ "start-server-and-test": "2.0.1",
67
68
  "ts-jest": "27.1.5",
68
69
  "typescript": "4.9.5"
69
70
  },
@@ -1 +0,0 @@
1
- {"file":"language.service-9334ca5d.js","mappings":";;;;AAAO,MAAM,YAAY,GAAG;EAC1B,2BAA2B,EAAE;IAC3B,EAAE,EAAE,4BAA4B;IAChC,EAAE,EAAE,6BAA6B;IACjC,EAAE,EAAE,gCAAgC;GACrC;EACD,eAAe,EAAE;IACf,EAAE,EAAE,oBAAoB;IACxB,EAAE,EAAE,yBAAyB;IAC7B,EAAE,EAAE,wBAAwB;GAC7B;EACD,6BAA6B,EAAE;IAC7B,EAAE,EAAE,kCAAkC;IACtC,EAAE,EAAE,oCAAoC;IACxC,EAAE,EAAE,iCAAiC;GACtC;EACD,iBAAiB,EAAE;IACjB,EAAE,EAAE,kBAAkB;IACtB,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,eAAe;GACpB;EACD,oBAAoB,EAAE;IACpB,EAAE,EAAE,0BAA0B;IAC9B,EAAE,EAAE,4BAA4B;IAChC,EAAE,EAAE,6BAA6B;GAClC;EACD,cAAc,EAAE;IACd,EAAE,EAAE,oBAAoB;IACxB,EAAE,EAAE,sBAAsB;IAC1B,EAAE,EAAE,kBAAkB;GACvB;EACD,aAAa,EAAE;IACb,EAAE,EAAE,oBAAoB;IACxB,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,cAAc;GACnB;EACD,WAAW,EAAE;IACX,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,cAAc;GACnB;EACD,qBAAqB,EAAE;IACrB,EAAE,EAAE,wBAAwB;IAC5B,EAAE,EAAE,sBAAsB;IAC1B,EAAE,EAAE,qBAAqB;GAC1B;EACD,YAAY,EAAE;IACZ,EAAE,EAAE,cAAc;IAClB,EAAE,EAAE,kBAAkB;IACtB,EAAE,EAAE,cAAc;GACnB;EACD,oBAAoB,EAAE;IACpB,EAAE,EAAE,oBAAoB;IACxB,EAAE,EAAE,sBAAsB;IAC1B,EAAE,EAAE,wBAAwB;GAC7B;EACD,iBAAiB,EAAE;IACjB,EAAE,EAAE,sBAAsB;IAC1B,EAAE,EAAE,4BAA4B;IAChC,EAAE,EAAE,yBAAyB;GAC9B;CACF;;MC1DY,WAAW,GAAG,CACzB,kBAA4B,EAC5B,4BAAqC,EACrC,eAAwB,EACxB,SAAkB;;EAGlB,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;IACnC,OAAO,SAAS,CAAC;GAClB;;EAGD,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;IACnC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC;GAC9B;EAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;;;;;EAM1C,IAAI,YAAY,GAAkB;;IAEhC,4BAA4B;;IAG5B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;;IAG5B,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;;IAG7E,eAAe,KAAK,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;;IAGnF,SAAS,CAAC,UAAU,CAAC;IACrB,SAAS,CAAC,MAAM,CAAC;IACjB,SAAS,KAAK,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,IAAI;;IAGrD,QAAQ,CAAC,eAAe,CAAC,IAAI;;IAG7B,+BAA+B,CAAC,kBAAkB,CAAC;;IAGnDA,WAAK,CAAC,eAAe;GACtB,CAAC,MAAM,CAAC,CAAC,IAAI,KAAqB,CAAC,CAAC,IAAI,CAAC,CAAC;;;;EAK3C,MAAM,IAAI,GACR,YAAY,CAAC,IAAI,CAAC,QAAQ,IAAI,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;EAEhG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;IAC9B,MAAM,IAAI,KAAK,CACb,oFAAoF,IAAI,uCAAuC,CAChI,CAAC;GACH;EAED,OAAO,IAAI,CAAC;AACd,EAAE;AAEF;;;;MAIa,qBAAqB,GAAG,CACnC,IAAY,EACZ,SAAkB,EAClB,eAAwB;EAExB,IAAI,eAAe,KAAK,SAAS,EAAE;IACjC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;GACpD;EAED,IAAI,SAAS,KAAK,SAAS,EAAE;IAC3B,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;GAC5B;EAEDA,WAAK,CAAC,eAAe,GAAG,IAAI,CAAC;AAC/B,EAAE;AAEF;;;;;;AAMO,MAAM,SAAS,GAAG,CAAC,IAAY;;EACpC,OAAO,CAAA,MAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,GAAG,kBAAkB,CAAC,0CAAE,GAAG,EAAE,KAAI,EAAE,CAAC;AACrF,CAAC,CAAC;AAEF;;;;;;AAMO,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,KAAa;EAClD,QAAQ,CAAC,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,+BAA+B,GAAG,CAAC,kBAA4B;;EAEnE,IAAI,SAAS,CAAC,QAAQ,EAAE;IACtB,MAAM,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;MAC3C,OAAO,IAAI,CAAC;KACb;GACF;;EAGD,IAAI,SAAS,CAAC,SAAS,EAAE;IACvB,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,SAAS,EAAE;MACnC,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;MAChC,IAAI,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;QAC3C,OAAO,IAAI,CAAC;OACb;KACF;GACF;EAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,QAAgB,KAAa,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAE7F;;;;;;;;MAQa,SAAS,GAAG,CAAC,GAAW,EAAE,IAAa,EAAE,iBAAiB,GAAG,YAAY,uBACpF,OAAA,MAAA,MAAA,iBAAiB,CAAC,GAAG,CAAC,0CAAG,MAAA,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAIA,WAAK,CAAC,eAAe,mCAAI,EAAE,CAAC,mCAAI,GAAG,CAAA;;;;;;","names":["state"],"sources":["./src/assets/i18n/translations.ts","./src/services/language.service.ts"],"sourcesContent":["export const translations = {\n 'Active navigation element': {\n de: 'Aktives Navigationselement',\n fr: 'Élément de navigation actif',\n it: 'Elemento di navigazione attivo',\n },\n 'Close overlay': {\n de: 'Overlay Schliessen',\n fr: 'Fermer la superposition',\n it: 'Chiudi sovrapposizione',\n },\n 'Current language is English': {\n de: 'Die aktuelle Sprache ist Deutsch',\n fr: 'La langue actuelle est le français',\n it: \"La lingua corrente è l'italiano\",\n },\n 'Change language': {\n de: 'Sprache wechseln',\n fr: 'Changer de langue',\n it: 'Cambia lingua',\n },\n 'Go to main content': {\n de: 'Zum Hauptinhalt springen',\n fr: 'Aller au contenu principal',\n it: 'Vai al contenuto principale',\n },\n 'Go to search': {\n de: 'Zur Suche springen',\n fr: 'Aller à la recherche',\n it: 'Vai alla ricerca',\n },\n 'Go to login': {\n de: 'Zum Login springen',\n fr: 'Aller au login',\n it: 'Vai al login',\n },\n 'Open menu': {\n de: 'Menü öffnen',\n fr: 'Ouvrir le menu',\n it: 'Apri il menu',\n },\n 'Navigate on post.ch': {\n de: 'Navigieren auf post.ch',\n fr: 'Naviguer sur post.ch',\n it: 'Navigate su post.ch',\n },\n 'Skip Links': {\n de: 'Sprung Links',\n fr: 'Sauter les liens',\n it: 'Salta i link',\n },\n 'Intermediary links': {\n de: 'Intermediäre Links',\n fr: 'Liens intermédiaires',\n it: 'Collegamenti intermedi',\n },\n 'Cookie Settings': {\n de: 'Cookie-Einstellungen',\n fr: 'Configurations des cookies',\n it: 'Impostazioni dei cookie',\n },\n};\n","import { translations } from '../assets/i18n/translations';\nimport { state } from '../data/store';\n\nexport const getUserLang = (\n supportedLanguages: string[],\n implementorPreferredLanguage?: string,\n localStorageKey?: string,\n cookieKey?: string,\n) => {\n // If there are no supported languages, well...\n if (supportedLanguages.length === 0) {\n return undefined;\n }\n\n // If there is only one language in the config, use this\n if (supportedLanguages.length === 1) {\n return supportedLanguages[0];\n }\n\n const url = new URL(window.location.href);\n\n /**\n * Build array of possible language definitions in order of importance.\n * At the end is a filter function that will weed out any undefined or null entries.\n */\n let languagesSet: Array<string> = [\n // Check if implementor overrides lang config\n implementorPreferredLanguage,\n\n // Check query string param\n url.searchParams.get('lang'),\n\n // Check url pathname\n url.pathname.split('/').find(segment => supportedLanguages.includes(segment)),\n\n // Check local storage with the key provided\n localStorageKey !== undefined ? window.localStorage.getItem(localStorageKey) : null,\n\n // Check cookies\n getCookie('language'),\n getCookie('lang'),\n cookieKey !== undefined ? getCookie(cookieKey) : null,\n\n // Check document language\n document.documentElement.lang,\n\n // Check browser preferred language\n getPreferredLanguageFromBrowser(supportedLanguages),\n\n // Check the state\n state.currentLanguage,\n ].filter((lang): lang is string => !!lang);\n\n // Check the set of languages to see if it matches\n // any of the supported languages. Return the first\n // supported language if there is none set\n const lang =\n languagesSet.find(language => supportedLanguages.includes(language)) || supportedLanguages[0];\n\n if (!lang || lang.length !== 2) {\n throw new Error(\n `Current language could not be determined from settings or the language provided (${lang}) is not supported by the Header API.`,\n );\n }\n\n return lang;\n};\n\n/**\n * Persist chosen language to local storage\n * @param lang Currently chose language, two char string\n */\nexport const persistLanguageChoice = (\n lang: string,\n cookieKey?: string,\n localStorageKey?: string,\n) => {\n if (localStorageKey !== undefined) {\n window.localStorage.setItem(localStorageKey, lang);\n }\n\n if (cookieKey !== undefined) {\n setCookie(cookieKey, lang);\n }\n\n state.currentLanguage = lang;\n};\n\n/**\n * Read a cookie by name\n * https://stackoverflow.com/questions/5639346/what-is-the-shortest-function-for-reading-a-cookie-by-name-in-javascript?rq=1\n * @param name Cookie name\n * @returns Cookie value or an empty string\n */\nexport const getCookie = (name: string) => {\n return document.cookie.match('(^|;)\\\\s*' + name + '\\\\s*=\\\\s*([^;]+)')?.pop() || '';\n};\n\n/**\n * Write a new cookie\n * https://developer.mozilla.org/en-US/docs/Web/API/document/cookie#A_little_framework.3A_a_complete_cookies_reader.2Fwriter_with_full_unicode_support\n * @param key\n * @param value\n */\nexport const setCookie = (key: string, value: string) => {\n document.cookie = `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;\n};\n\nconst getPreferredLanguageFromBrowser = (supportedLanguages: string[]): string | null => {\n // IE & Chrome\n if (navigator.language) {\n const lang = extractLanguage(navigator.language);\n if (supportedLanguages.indexOf(lang) !== -1) {\n return lang;\n }\n }\n\n // Chrome supports a list of preferred languages: if the preferred is not supported, we go down the list.\n if (navigator.languages) {\n for (const l of navigator.languages) {\n const lang = extractLanguage(l);\n if (supportedLanguages.indexOf(lang) !== -1) {\n return lang;\n }\n }\n }\n\n return null;\n};\n\nconst extractLanguage = (language: string): string => language.substring(0, 2).toLowerCase();\n\n/**\n * Simple translate function for general header UI strings\n *\n * @param key Translation key\n * @param lang Force a language\n * @param translationObject Optionally provide translations\n * @returns Translated string or the key\n */\nexport const translate = (key: string, lang?: string, translationObject = translations) =>\n translationObject[key]?.[lang ?? state.currentLanguage ?? ''] ?? key;\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"language.service-bd0f3b6f.js","mappings":"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","names":[],"sources":["./src/assets/i18n/translations.ts","./src/services/language.service.ts"],"sourcesContent":["export const translations = {\n 'Active navigation element': {\n de: 'Aktives Navigationselement',\n fr: 'Élément de navigation actif',\n it: 'Elemento di navigazione attivo',\n },\n 'Close overlay': {\n de: 'Overlay Schliessen',\n fr: 'Fermer la superposition',\n it: 'Chiudi sovrapposizione',\n },\n 'Current language is English': {\n de: 'Die aktuelle Sprache ist Deutsch',\n fr: 'La langue actuelle est le français',\n it: \"La lingua corrente è l'italiano\",\n },\n 'Change language': {\n de: 'Sprache wechseln',\n fr: 'Changer de langue',\n it: 'Cambia lingua',\n },\n 'Go to main content': {\n de: 'Zum Hauptinhalt springen',\n fr: 'Aller au contenu principal',\n it: 'Vai al contenuto principale',\n },\n 'Go to search': {\n de: 'Zur Suche springen',\n fr: 'Aller à la recherche',\n it: 'Vai alla ricerca',\n },\n 'Go to login': {\n de: 'Zum Login springen',\n fr: 'Aller au login',\n it: 'Vai al login',\n },\n 'Open menu': {\n de: 'Menü öffnen',\n fr: 'Ouvrir le menu',\n it: 'Apri il menu',\n },\n 'Navigate on post.ch': {\n de: 'Navigieren auf post.ch',\n fr: 'Naviguer sur post.ch',\n it: 'Navigate su post.ch',\n },\n 'Skip Links': {\n de: 'Sprung Links',\n fr: 'Sauter les liens',\n it: 'Salta i link',\n },\n 'Intermediary links': {\n de: 'Intermediäre Links',\n fr: 'Liens intermédiaires',\n it: 'Collegamenti intermedi',\n },\n 'Cookie Settings': {\n de: 'Cookie-Einstellungen',\n fr: 'Configurations des cookies',\n it: 'Impostazioni dei cookie',\n },\n};\n","import { translations } from '../assets/i18n/translations';\nimport { state } from '../data/store';\n\nexport const getUserLang = (\n supportedLanguages: string[],\n implementorPreferredLanguage?: string,\n localStorageKey?: string,\n cookieKey?: string,\n) => {\n // If there are no supported languages, well...\n if (supportedLanguages.length === 0) {\n return undefined;\n }\n\n // If there is only one language in the config, use this\n if (supportedLanguages.length === 1) {\n return supportedLanguages[0];\n }\n\n const url = new URL(window.location.href);\n\n /**\n * Build array of possible language definitions in order of importance.\n * At the end is a filter function that will weed out any undefined or null entries.\n */\n let languagesSet: Array<string> = [\n // Check if implementor overrides lang config\n implementorPreferredLanguage,\n\n // Check query string param\n url.searchParams.get('lang'),\n\n // Check url pathname\n url.pathname.split('/').find(segment => supportedLanguages.includes(segment)),\n\n // Check local storage with the key provided\n localStorageKey !== undefined ? window.localStorage.getItem(localStorageKey) : null,\n\n // Check cookies\n getCookie('language'),\n getCookie('lang'),\n cookieKey !== undefined ? getCookie(cookieKey) : null,\n\n // Check document language\n document.documentElement.lang,\n\n // Check browser preferred language\n getPreferredLanguageFromBrowser(supportedLanguages),\n\n // Check the state\n state.currentLanguage,\n ].filter((lang): lang is string => !!lang);\n\n // Check the set of languages to see if it matches\n // any of the supported languages. Return the first\n // supported language if there is none set\n const lang =\n languagesSet.find(language => supportedLanguages.includes(language)) || supportedLanguages[0];\n\n if (!lang || lang.length !== 2) {\n throw new Error(\n `Current language could not be determined from settings or the language provided (${lang}) is not supported by the Header API.`,\n );\n }\n\n return lang;\n};\n\n/**\n * Persist chosen language to local storage\n * @param lang Currently chose language, two char string\n */\nexport const persistLanguageChoice = (\n lang: string,\n cookieKey?: string,\n localStorageKey?: string,\n) => {\n if (localStorageKey !== undefined) {\n window.localStorage.setItem(localStorageKey, lang);\n }\n\n if (cookieKey !== undefined) {\n setCookie(cookieKey, lang);\n }\n\n state.currentLanguage = lang;\n};\n\n/**\n * Read a cookie by name\n * https://stackoverflow.com/questions/5639346/what-is-the-shortest-function-for-reading-a-cookie-by-name-in-javascript?rq=1\n * @param name Cookie name\n * @returns Cookie value or an empty string\n */\nexport const getCookie = (name: string) => {\n return document.cookie.match('(^|;)\\\\s*' + name + '\\\\s*=\\\\s*([^;]+)')?.pop() || '';\n};\n\n/**\n * Write a new cookie\n * https://developer.mozilla.org/en-US/docs/Web/API/document/cookie#A_little_framework.3A_a_complete_cookies_reader.2Fwriter_with_full_unicode_support\n * @param key\n * @param value\n */\nexport const setCookie = (key: string, value: string) => {\n document.cookie = `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;\n};\n\nconst getPreferredLanguageFromBrowser = (supportedLanguages: string[]): string | null => {\n // IE & Chrome\n if (navigator.language) {\n const lang = extractLanguage(navigator.language);\n if (supportedLanguages.indexOf(lang) !== -1) {\n return lang;\n }\n }\n\n // Chrome supports a list of preferred languages: if the preferred is not supported, we go down the list.\n if (navigator.languages) {\n for (const l of navigator.languages) {\n const lang = extractLanguage(l);\n if (supportedLanguages.indexOf(lang) !== -1) {\n return lang;\n }\n }\n }\n\n return null;\n};\n\nconst extractLanguage = (language: string): string => language.substring(0, 2).toLowerCase();\n\n/**\n * Simple translate function for general header UI strings\n *\n * @param key Translation key\n * @param lang Force a language\n * @param translationObject Optionally provide translations\n * @returns Translated string or the key\n */\nexport const translate = (key: string, lang?: string, translationObject = translations) =>\n translationObject[key]?.[lang ?? state.currentLanguage ?? ''] ?? key;\n"],"version":3}
@@ -1,2 +0,0 @@
1
- import{s as state}from"./store-44830922.js";var translations={"Active navigation element":{de:"Aktives Navigationselement",fr:"Élément de navigation actif",it:"Elemento di navigazione attivo"},"Close overlay":{de:"Overlay Schliessen",fr:"Fermer la superposition",it:"Chiudi sovrapposizione"},"Current language is English":{de:"Die aktuelle Sprache ist Deutsch",fr:"La langue actuelle est le français",it:"La lingua corrente è l'italiano"},"Change language":{de:"Sprache wechseln",fr:"Changer de langue",it:"Cambia lingua"},"Go to main content":{de:"Zum Hauptinhalt springen",fr:"Aller au contenu principal",it:"Vai al contenuto principale"},"Go to search":{de:"Zur Suche springen",fr:"Aller à la recherche",it:"Vai alla ricerca"},"Go to login":{de:"Zum Login springen",fr:"Aller au login",it:"Vai al login"},"Open menu":{de:"Menü öffnen",fr:"Ouvrir le menu",it:"Apri il menu"},"Navigate on post.ch":{de:"Navigieren auf post.ch",fr:"Naviguer sur post.ch",it:"Navigate su post.ch"},"Skip Links":{de:"Sprung Links",fr:"Sauter les liens",it:"Salta i link"},"Intermediary links":{de:"Intermediäre Links",fr:"Liens intermédiaires",it:"Collegamenti intermedi"},"Cookie Settings":{de:"Cookie-Einstellungen",fr:"Configurations des cookies",it:"Impostazioni dei cookie"}};var getUserLang=function(e,n,a,t){if(e.length===0){return undefined}if(e.length===1){return e[0]}var i=new URL(window.location.href);var r=[n,i.searchParams.get("lang"),i.pathname.split("/").find((function(n){return e.includes(n)})),a!==undefined?window.localStorage.getItem(a):null,getCookie("language"),getCookie("lang"),t!==undefined?getCookie(t):null,document.documentElement.lang,getPreferredLanguageFromBrowser(e),state.currentLanguage].filter((function(e){return!!e}));var o=r.find((function(n){return e.includes(n)}))||e[0];if(!o||o.length!==2){throw new Error("Current language could not be determined from settings or the language provided (".concat(o,") is not supported by the Header API."))}return o};var persistLanguageChoice=function(e,n,a){if(a!==undefined){window.localStorage.setItem(a,e)}if(n!==undefined){setCookie(n,e)}state.currentLanguage=e};var getCookie=function(e){var n;return((n=document.cookie.match("(^|;)\\s*"+e+"\\s*=\\s*([^;]+)"))===null||n===void 0?void 0:n.pop())||""};var setCookie=function(e,n){document.cookie="".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(n))};var getPreferredLanguageFromBrowser=function(e){if(navigator.language){var n=extractLanguage(navigator.language);if(e.indexOf(n)!==-1){return n}}if(navigator.languages){for(var a=0,t=navigator.languages;a<t.length;a++){var i=t[a];var n=extractLanguage(i);if(e.indexOf(n)!==-1){return n}}}return null};var extractLanguage=function(e){return e.substring(0,2).toLowerCase()};var translate=function(e,n,a){if(a===void 0){a=translations}var t,i,r;return(r=(t=a[e])===null||t===void 0?void 0:t[(i=n!==null&&n!==void 0?n:state.currentLanguage)!==null&&i!==void 0?i:""])!==null&&r!==void 0?r:e};export{getUserLang as g,persistLanguageChoice as p,translate as t};
2
- //# sourceMappingURL=language.service-bd0f3b6f.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["translations","de","fr","it","getUserLang","supportedLanguages","implementorPreferredLanguage","localStorageKey","cookieKey","length","undefined","url","URL","window","location","href","languagesSet","searchParams","get","pathname","split","find","segment","includes","localStorage","getItem","getCookie","document","documentElement","lang","getPreferredLanguageFromBrowser","state","currentLanguage","filter","language","Error","concat","persistLanguageChoice","setItem","setCookie","name","_a","cookie","match","pop","key","value","encodeURIComponent","navigator","extractLanguage","indexOf","languages","_i","_d","l","substring","toLowerCase","translate","translationObject","_b","_c"],"sources":["src/assets/i18n/translations.ts","src/services/language.service.ts"],"sourcesContent":["export const translations = {\n 'Active navigation element': {\n de: 'Aktives Navigationselement',\n fr: 'Élément de navigation actif',\n it: 'Elemento di navigazione attivo',\n },\n 'Close overlay': {\n de: 'Overlay Schliessen',\n fr: 'Fermer la superposition',\n it: 'Chiudi sovrapposizione',\n },\n 'Current language is English': {\n de: 'Die aktuelle Sprache ist Deutsch',\n fr: 'La langue actuelle est le français',\n it: \"La lingua corrente è l'italiano\",\n },\n 'Change language': {\n de: 'Sprache wechseln',\n fr: 'Changer de langue',\n it: 'Cambia lingua',\n },\n 'Go to main content': {\n de: 'Zum Hauptinhalt springen',\n fr: 'Aller au contenu principal',\n it: 'Vai al contenuto principale',\n },\n 'Go to search': {\n de: 'Zur Suche springen',\n fr: 'Aller à la recherche',\n it: 'Vai alla ricerca',\n },\n 'Go to login': {\n de: 'Zum Login springen',\n fr: 'Aller au login',\n it: 'Vai al login',\n },\n 'Open menu': {\n de: 'Menü öffnen',\n fr: 'Ouvrir le menu',\n it: 'Apri il menu',\n },\n 'Navigate on post.ch': {\n de: 'Navigieren auf post.ch',\n fr: 'Naviguer sur post.ch',\n it: 'Navigate su post.ch',\n },\n 'Skip Links': {\n de: 'Sprung Links',\n fr: 'Sauter les liens',\n it: 'Salta i link',\n },\n 'Intermediary links': {\n de: 'Intermediäre Links',\n fr: 'Liens intermédiaires',\n it: 'Collegamenti intermedi',\n },\n 'Cookie Settings': {\n de: 'Cookie-Einstellungen',\n fr: 'Configurations des cookies',\n it: 'Impostazioni dei cookie',\n },\n};\n","import { translations } from '../assets/i18n/translations';\nimport { state } from '../data/store';\n\nexport const getUserLang = (\n supportedLanguages: string[],\n implementorPreferredLanguage?: string,\n localStorageKey?: string,\n cookieKey?: string,\n) => {\n // If there are no supported languages, well...\n if (supportedLanguages.length === 0) {\n return undefined;\n }\n\n // If there is only one language in the config, use this\n if (supportedLanguages.length === 1) {\n return supportedLanguages[0];\n }\n\n const url = new URL(window.location.href);\n\n /**\n * Build array of possible language definitions in order of importance.\n * At the end is a filter function that will weed out any undefined or null entries.\n */\n let languagesSet: Array<string> = [\n // Check if implementor overrides lang config\n implementorPreferredLanguage,\n\n // Check query string param\n url.searchParams.get('lang'),\n\n // Check url pathname\n url.pathname.split('/').find(segment => supportedLanguages.includes(segment)),\n\n // Check local storage with the key provided\n localStorageKey !== undefined ? window.localStorage.getItem(localStorageKey) : null,\n\n // Check cookies\n getCookie('language'),\n getCookie('lang'),\n cookieKey !== undefined ? getCookie(cookieKey) : null,\n\n // Check document language\n document.documentElement.lang,\n\n // Check browser preferred language\n getPreferredLanguageFromBrowser(supportedLanguages),\n\n // Check the state\n state.currentLanguage,\n ].filter((lang): lang is string => !!lang);\n\n // Check the set of languages to see if it matches\n // any of the supported languages. Return the first\n // supported language if there is none set\n const lang =\n languagesSet.find(language => supportedLanguages.includes(language)) || supportedLanguages[0];\n\n if (!lang || lang.length !== 2) {\n throw new Error(\n `Current language could not be determined from settings or the language provided (${lang}) is not supported by the Header API.`,\n );\n }\n\n return lang;\n};\n\n/**\n * Persist chosen language to local storage\n * @param lang Currently chose language, two char string\n */\nexport const persistLanguageChoice = (\n lang: string,\n cookieKey?: string,\n localStorageKey?: string,\n) => {\n if (localStorageKey !== undefined) {\n window.localStorage.setItem(localStorageKey, lang);\n }\n\n if (cookieKey !== undefined) {\n setCookie(cookieKey, lang);\n }\n\n state.currentLanguage = lang;\n};\n\n/**\n * Read a cookie by name\n * https://stackoverflow.com/questions/5639346/what-is-the-shortest-function-for-reading-a-cookie-by-name-in-javascript?rq=1\n * @param name Cookie name\n * @returns Cookie value or an empty string\n */\nexport const getCookie = (name: string) => {\n return document.cookie.match('(^|;)\\\\s*' + name + '\\\\s*=\\\\s*([^;]+)')?.pop() || '';\n};\n\n/**\n * Write a new cookie\n * https://developer.mozilla.org/en-US/docs/Web/API/document/cookie#A_little_framework.3A_a_complete_cookies_reader.2Fwriter_with_full_unicode_support\n * @param key\n * @param value\n */\nexport const setCookie = (key: string, value: string) => {\n document.cookie = `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;\n};\n\nconst getPreferredLanguageFromBrowser = (supportedLanguages: string[]): string | null => {\n // IE & Chrome\n if (navigator.language) {\n const lang = extractLanguage(navigator.language);\n if (supportedLanguages.indexOf(lang) !== -1) {\n return lang;\n }\n }\n\n // Chrome supports a list of preferred languages: if the preferred is not supported, we go down the list.\n if (navigator.languages) {\n for (const l of navigator.languages) {\n const lang = extractLanguage(l);\n if (supportedLanguages.indexOf(lang) !== -1) {\n return lang;\n }\n }\n }\n\n return null;\n};\n\nconst extractLanguage = (language: string): string => language.substring(0, 2).toLowerCase();\n\n/**\n * Simple translate function for general header UI strings\n *\n * @param key Translation key\n * @param lang Force a language\n * @param translationObject Optionally provide translations\n * @returns Translated string or the key\n */\nexport const translate = (key: string, lang?: string, translationObject = translations) =>\n translationObject[key]?.[lang ?? state.currentLanguage ?? ''] ?? key;\n"],"mappings":"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"}