@swisspost/internet-header 1.7.1 → 1.7.2

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 (178) hide show
  1. package/dist/cjs/{klp-widget.controller-5d5afa10.js → klp-widget.controller-d23f72bb.js} +784 -1047
  2. package/dist/cjs/klp-widget.controller-d23f72bb.js.map +1 -0
  3. package/dist/cjs/{language.service-56d68ec3.js → language.service-dcd7bae3.js} +16 -1
  4. package/dist/cjs/language.service-dcd7bae3.js.map +1 -0
  5. package/dist/cjs/post-klp-login-widget.cjs.entry.js +1 -1
  6. package/dist/cjs/post-language-switch.cjs.entry.js +3 -4
  7. package/dist/cjs/post-language-switch.cjs.entry.js.map +1 -1
  8. package/dist/cjs/post-main-navigation.cjs.entry.js +22 -25
  9. package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -1
  10. package/dist/cjs/post-meta-navigation.cjs.entry.js +3 -3
  11. package/dist/cjs/post-meta-navigation.cjs.entry.js.map +1 -1
  12. package/dist/cjs/post-search.cjs.entry.js +2 -2
  13. package/dist/cjs/post-search.cjs.entry.js.map +1 -1
  14. package/dist/cjs/post-skiplinks.cjs.entry.js +2 -2
  15. package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -1
  16. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +4 -4
  17. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
  18. package/dist/cjs/swisspost-internet-header.cjs.entry.js +9 -9
  19. package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
  20. package/dist/collection/assets/i18n/translations.js +15 -0
  21. package/dist/collection/assets/i18n/translations.js.map +1 -1
  22. package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js +1 -1
  23. package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js.map +1 -1
  24. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +1 -1
  25. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js.map +1 -1
  26. package/dist/collection/components/post-internet-header/post-internet-header.js +2 -1
  27. package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -1
  28. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js +1 -1
  29. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js.map +1 -1
  30. package/dist/collection/components/post-main-navigation/components/level-one-action.component.js +2 -1
  31. package/dist/collection/components/post-main-navigation/components/level-one-action.component.js.map +1 -1
  32. package/dist/collection/components/post-main-navigation/post-main-navigation.js +21 -25
  33. package/dist/collection/components/post-main-navigation/post-main-navigation.js.map +1 -1
  34. package/dist/collection/components/post-meta-navigation/post-meta-navigation.js +3 -3
  35. package/dist/collection/components/post-meta-navigation/post-meta-navigation.js.map +1 -1
  36. package/dist/collection/components/post-search/post-search.js +2 -2
  37. package/dist/collection/components/post-search/post-search.js.map +1 -1
  38. package/dist/collection/components/post-skiplinks/post-skiplinks.js +1 -1
  39. package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +1 -1
  40. package/dist/components/klp-widget.controller.js +783 -1046
  41. package/dist/components/klp-widget.controller.js.map +1 -1
  42. package/dist/components/language.service.js +15 -0
  43. package/dist/components/language.service.js.map +1 -1
  44. package/dist/components/post-language-switch2.js +2 -3
  45. package/dist/components/post-language-switch2.js.map +1 -1
  46. package/dist/components/post-main-navigation2.js +22 -25
  47. package/dist/components/post-main-navigation2.js.map +1 -1
  48. package/dist/components/post-meta-navigation2.js +3 -3
  49. package/dist/components/post-meta-navigation2.js.map +1 -1
  50. package/dist/components/post-search2.js +2 -2
  51. package/dist/components/post-search2.js.map +1 -1
  52. package/dist/components/post-skiplinks2.js +1 -1
  53. package/dist/components/post-skiplinks2.js.map +1 -1
  54. package/dist/components/swisspost-internet-breadcrumbs.js +3 -3
  55. package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
  56. package/dist/components/swisspost-internet-header.js +9 -9
  57. package/dist/components/swisspost-internet-header.js.map +1 -1
  58. package/dist/esm/{klp-widget.controller-9f7e3c54.js → klp-widget.controller-945d9271.js} +784 -1047
  59. package/dist/esm/klp-widget.controller-945d9271.js.map +1 -0
  60. package/dist/esm/{language.service-74bc1f43.js → language.service-55e5ef74.js} +16 -1
  61. package/dist/esm/language.service-55e5ef74.js.map +1 -0
  62. package/dist/esm/post-klp-login-widget.entry.js +1 -1
  63. package/dist/esm/post-language-switch.entry.js +3 -4
  64. package/dist/esm/post-language-switch.entry.js.map +1 -1
  65. package/dist/esm/post-main-navigation.entry.js +22 -25
  66. package/dist/esm/post-main-navigation.entry.js.map +1 -1
  67. package/dist/esm/post-meta-navigation.entry.js +3 -3
  68. package/dist/esm/post-meta-navigation.entry.js.map +1 -1
  69. package/dist/esm/post-search.entry.js +2 -2
  70. package/dist/esm/post-search.entry.js.map +1 -1
  71. package/dist/esm/post-skiplinks.entry.js +2 -2
  72. package/dist/esm/post-skiplinks.entry.js.map +1 -1
  73. package/dist/esm/swisspost-internet-breadcrumbs.entry.js +4 -4
  74. package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  75. package/dist/esm/swisspost-internet-header.entry.js +9 -9
  76. package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
  77. package/dist/esm-es5/klp-widget.controller-945d9271.js +13 -0
  78. package/dist/esm-es5/klp-widget.controller-945d9271.js.map +1 -0
  79. package/dist/esm-es5/language.service-55e5ef74.js +2 -0
  80. package/dist/esm-es5/language.service-55e5ef74.js.map +1 -0
  81. package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
  82. package/dist/esm-es5/post-language-switch.entry.js +1 -1
  83. package/dist/esm-es5/post-language-switch.entry.js.map +1 -1
  84. package/dist/esm-es5/post-main-navigation.entry.js +1 -1
  85. package/dist/esm-es5/post-main-navigation.entry.js.map +1 -1
  86. package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
  87. package/dist/esm-es5/post-meta-navigation.entry.js.map +1 -1
  88. package/dist/esm-es5/post-search.entry.js +1 -1
  89. package/dist/esm-es5/post-search.entry.js.map +1 -1
  90. package/dist/esm-es5/post-skiplinks.entry.js +1 -1
  91. package/dist/esm-es5/post-skiplinks.entry.js.map +1 -1
  92. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +3 -3
  93. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  94. package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
  95. package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
  96. package/dist/swisspost-internet-header/p-0d7864f3.js +13 -0
  97. package/dist/swisspost-internet-header/p-0d7864f3.js.map +1 -0
  98. package/dist/swisspost-internet-header/p-1195cffa.entry.js +2 -0
  99. package/dist/swisspost-internet-header/p-1195cffa.entry.js.map +1 -0
  100. package/dist/swisspost-internet-header/{p-f62f50ce.system.entry.js → p-1c0ba4e8.system.entry.js} +2 -2
  101. package/dist/swisspost-internet-header/p-1c0ba4e8.system.entry.js.map +1 -0
  102. package/dist/swisspost-internet-header/p-242b61d1.system.js +2 -0
  103. package/dist/swisspost-internet-header/p-242b61d1.system.js.map +1 -0
  104. package/dist/swisspost-internet-header/p-30695393.entry.js +7 -0
  105. package/dist/swisspost-internet-header/{p-3f72b002.entry.js.map → p-30695393.entry.js.map} +1 -1
  106. package/dist/swisspost-internet-header/{p-6032d37e.entry.js → p-3462fe1c.entry.js} +2 -2
  107. package/dist/swisspost-internet-header/p-3462fe1c.entry.js.map +1 -0
  108. package/dist/swisspost-internet-header/p-3cabcfa7.entry.js +2 -0
  109. package/dist/swisspost-internet-header/{p-21ef11a4.entry.js.map → p-3cabcfa7.entry.js.map} +1 -1
  110. package/dist/swisspost-internet-header/p-3df8cabd.system.entry.js +2 -0
  111. package/dist/swisspost-internet-header/p-3df8cabd.system.entry.js.map +1 -0
  112. package/dist/swisspost-internet-header/p-49fe20ff.system.js +1 -1
  113. package/dist/swisspost-internet-header/p-4c9f1f1a.system.entry.js +7 -0
  114. package/dist/swisspost-internet-header/{p-8f34abed.system.entry.js.map → p-4c9f1f1a.system.entry.js.map} +1 -1
  115. package/dist/swisspost-internet-header/{p-996a552e.system.entry.js → p-57f4eea0.system.entry.js} +2 -2
  116. package/dist/swisspost-internet-header/p-6582303e.js +2 -0
  117. package/dist/swisspost-internet-header/p-6582303e.js.map +1 -0
  118. package/dist/swisspost-internet-header/p-73208b0d.system.entry.js +2 -0
  119. package/dist/swisspost-internet-header/p-73208b0d.system.entry.js.map +1 -0
  120. package/dist/swisspost-internet-header/p-96623613.system.entry.js +2 -0
  121. package/dist/swisspost-internet-header/{p-73b6ce0d.system.entry.js.map → p-96623613.system.entry.js.map} +1 -1
  122. package/dist/swisspost-internet-header/{p-c435e138.entry.js → p-99228f51.entry.js} +2 -2
  123. package/dist/swisspost-internet-header/p-99228f51.entry.js.map +1 -0
  124. package/dist/swisspost-internet-header/p-9a6083cb.entry.js +2 -0
  125. package/dist/swisspost-internet-header/p-9a6083cb.entry.js.map +1 -0
  126. package/dist/swisspost-internet-header/p-afdd23a8.system.entry.js +2 -0
  127. package/dist/swisspost-internet-header/p-afdd23a8.system.entry.js.map +1 -0
  128. package/dist/swisspost-internet-header/p-b8d05765.system.js +13 -0
  129. package/dist/swisspost-internet-header/p-b8d05765.system.js.map +1 -0
  130. package/dist/swisspost-internet-header/p-d5d1f301.entry.js +2 -0
  131. package/dist/swisspost-internet-header/p-d5d1f301.entry.js.map +1 -0
  132. package/dist/swisspost-internet-header/{p-5e5d587a.entry.js → p-e95ed009.entry.js} +2 -2
  133. package/dist/swisspost-internet-header/{p-30335ce0.system.entry.js → p-f349687c.system.entry.js} +2 -2
  134. package/dist/swisspost-internet-header/p-f349687c.system.entry.js.map +1 -0
  135. package/dist/swisspost-internet-header/swisspost-internet-header.css +1 -1
  136. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
  137. package/dist/types/assets/i18n/translations.d.ts +15 -0
  138. package/dist/types/components/post-main-navigation/post-main-navigation.d.ts +1 -7
  139. package/dist/types/services/language.service.d.ts +19 -1
  140. package/package.json +7 -7
  141. package/dist/cjs/klp-widget.controller-5d5afa10.js.map +0 -1
  142. package/dist/cjs/language.service-56d68ec3.js.map +0 -1
  143. package/dist/esm/klp-widget.controller-9f7e3c54.js.map +0 -1
  144. package/dist/esm/language.service-74bc1f43.js.map +0 -1
  145. package/dist/esm-es5/klp-widget.controller-9f7e3c54.js +0 -27
  146. package/dist/esm-es5/klp-widget.controller-9f7e3c54.js.map +0 -1
  147. package/dist/esm-es5/language.service-74bc1f43.js +0 -2
  148. package/dist/esm-es5/language.service-74bc1f43.js.map +0 -1
  149. package/dist/swisspost-internet-header/p-21ef11a4.entry.js +0 -2
  150. package/dist/swisspost-internet-header/p-2fd2c574.system.entry.js +0 -2
  151. package/dist/swisspost-internet-header/p-2fd2c574.system.entry.js.map +0 -1
  152. package/dist/swisspost-internet-header/p-30335ce0.system.entry.js.map +0 -1
  153. package/dist/swisspost-internet-header/p-3f72b002.entry.js +0 -7
  154. package/dist/swisspost-internet-header/p-6032d37e.entry.js.map +0 -1
  155. package/dist/swisspost-internet-header/p-6df0c486.entry.js +0 -2
  156. package/dist/swisspost-internet-header/p-6df0c486.entry.js.map +0 -1
  157. package/dist/swisspost-internet-header/p-73b6ce0d.system.entry.js +0 -2
  158. package/dist/swisspost-internet-header/p-8bd39c64.js +0 -2
  159. package/dist/swisspost-internet-header/p-8bd39c64.js.map +0 -1
  160. package/dist/swisspost-internet-header/p-8f34abed.system.entry.js +0 -7
  161. package/dist/swisspost-internet-header/p-9efee6d6.system.entry.js +0 -2
  162. package/dist/swisspost-internet-header/p-9efee6d6.system.entry.js.map +0 -1
  163. package/dist/swisspost-internet-header/p-ad7071ea.system.js +0 -27
  164. package/dist/swisspost-internet-header/p-ad7071ea.system.js.map +0 -1
  165. package/dist/swisspost-internet-header/p-c24585eb.entry.js +0 -2
  166. package/dist/swisspost-internet-header/p-c24585eb.entry.js.map +0 -1
  167. package/dist/swisspost-internet-header/p-c435e138.entry.js.map +0 -1
  168. package/dist/swisspost-internet-header/p-cce32859.entry.js +0 -2
  169. package/dist/swisspost-internet-header/p-cce32859.entry.js.map +0 -1
  170. package/dist/swisspost-internet-header/p-f0396178.system.entry.js +0 -2
  171. package/dist/swisspost-internet-header/p-f0396178.system.entry.js.map +0 -1
  172. package/dist/swisspost-internet-header/p-f4f5ca86.system.js +0 -2
  173. package/dist/swisspost-internet-header/p-f4f5ca86.system.js.map +0 -1
  174. package/dist/swisspost-internet-header/p-f62f50ce.system.entry.js.map +0 -1
  175. package/dist/swisspost-internet-header/p-fefa1082.js +0 -27
  176. package/dist/swisspost-internet-header/p-fefa1082.js.map +0 -1
  177. /package/dist/swisspost-internet-header/{p-996a552e.system.entry.js.map → p-57f4eea0.system.entry.js.map} +0 -0
  178. /package/dist/swisspost-internet-header/{p-5e5d587a.entry.js.map → p-e95ed009.entry.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{s as state}from"./store-b78e2d3b.js";var translations={"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"}};var getUserLang=function(e,n,a,r){if(e.length===0){return undefined}if(e.length===1){return e[0]}var t=new URL(window.location.href);var i=[n,t.searchParams.get("lang"),t.pathname.split("/").find((function(n){return e.includes(n)})),a!==undefined?window.localStorage.getItem(a):null,getCookie("language"),getCookie("lang"),r!==undefined?getCookie(r):null,document.documentElement.lang,getPreferredLanguageFromBrowser(e),state.currentLanguage].filter((function(e){return!!e}));var o=i.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,r=navigator.languages;a<r.length;a++){var t=r[a];var n=extractLanguage(t);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 r,t,i;return(i=(r=a[e])===null||r===void 0?void 0:r[(t=n!==null&&n!==void 0?n:state.currentLanguage)!==null&&t!==void 0?t:""])!==null&&i!==void 0?i:e};export{getUserLang as g,persistLanguageChoice as p,translate as t};
2
- //# sourceMappingURL=language.service-74bc1f43.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 '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};\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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"}
@@ -1,2 +0,0 @@
1
- import{r as i,h as n,H as s,g as t}from"./p-2945db6c.js";import{s as l}from"./p-22e64bf2.js";import{t as o}from"./p-8bd39c64.js";import{S as a}from"./p-32fe68f0.js";const e=":host{display:block}.skiplinks a{position:absolute;top:0.5rem;left:0.5rem;clip:rect(0 0 0 0);width:1px;overflow:hidden;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:0.25rem;background:white}.skiplinks a:focus-visible{clip:unset;width:auto}";const r=class{constructor(n){i(this,n)}getMainId(){var i;return(i=document.querySelector("main[id]"))===null||i===void 0?void 0:i.getAttribute("id")}setFocus(i){const n=this.host.closest(".post-internet-header");if(!n){return}const s=n.querySelector(i);if(s){s.setFocus()}}focusMain(){this.setFocus("post-main-navigation")}focusSearch(){this.setFocus("post-search")}focusLogin(){this.setFocus("post-klp-login-widget")}render(){var i;const t=(i=l.localizedConfig)===null||i===void 0?void 0:i.header;const e=this.getMainId();if(t===undefined){return}return n(s,null,n("div",{class:"skiplinks"},n("h1",{class:"visually-hidden"},o("Navigate on post.ch")),n("ul",{class:"no-list"},n("li",null,n("a",{class:"nav-link",href:t.logo.logoLink},n("span",null,t.logo.logoLinkTitle),n(a,{name:"pi-pointy-arrow-right"}))),n("li",null,n("a",{class:"nav-link",href:"#post-internet-header-main-navigation",onClick:()=>this.focusMain()},n("span",null,t.translations.navMainAriaLabel),n(a,{name:"pi-pointy-arrow-right"}))),e?n("li",null,n("a",{class:"nav-link",href:`#${e}`},n("span",null,o("Go to main content")),n(a,{name:"pi-pointy-arrow-right"}))):null,l.search?n("li",null,n("a",{class:"nav-link",href:"#post-internet-header-search-button",onClick:()=>this.focusSearch()},n("span",null,o("Go to search")),n(a,{name:"pi-pointy-arrow-right"}))):null,l.login?n("li",null,n("a",{class:"nav-link",href:"#post-klp-login-widget",onClick:()=>this.focusLogin()},n("span",null,o("Go to login")),n(a,{name:"pi-pointy-arrow-right"}))):null)))}get host(){return t(this)}};r.style=e;export{r as post_skiplinks};
2
- //# sourceMappingURL=p-21ef11a4.entry.js.map
@@ -1,2 +0,0 @@
1
- var __awaiter=this&&this.__awaiter||function(t,i,e,n){function o(t){return t instanceof e?t:new e((function(i){i(t)}))}return new(e||(e=Promise))((function(e,a){function r(t){try{s(n.next(t))}catch(t){a(t)}}function l(t){try{s(n["throw"](t))}catch(t){a(t)}}function s(t){t.done?e(t.value):o(t.value).then(r,l)}s((n=n.apply(t,i||[])).next())}))};var __generator=this&&this.__generator||function(t,i){var e={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},n,o,a,r;return r={next:l(0),throw:l(1),return:l(2)},typeof Symbol==="function"&&(r[Symbol.iterator]=function(){return this}),r;function l(t){return function(i){return s([t,i])}}function s(l){if(n)throw new TypeError("Generator is already executing.");while(r&&(r=0,l[0]&&(e=0)),e)try{if(n=1,o&&(a=l[0]&2?o["return"]:l[0]?o["throw"]||((a=o["return"])&&a.call(o),0):o.next)&&!(a=a.call(o,l[1])).done)return a;if(o=0,a)l=[l[0]&2,a.value];switch(l[0]){case 0:case 1:a=l;break;case 4:e.label++;return{value:l[1],done:false};case 5:e.label++;o=l[1];l=[0];continue;case 7:l=e.ops.pop();e.trys.pop();continue;default:if(!(a=e.trys,a=a.length>0&&a[a.length-1])&&(l[0]===6||l[0]===2)){e=0;continue}if(l[0]===3&&(!a||l[1]>a[0]&&l[1]<a[3])){e.label=l[1];break}if(l[0]===6&&e.label<a[1]){e.label=a[1];a=l;break}if(a&&e.label<a[2]){e.label=a[2];e.ops.push(l);break}if(a[2])e.ops.pop();e.trys.pop();continue}l=i.call(t,e)}catch(t){l=[6,t];o=0}finally{n=a=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:true}}};System.register(["./p-5e9ba287.system.js","./p-9b4d5e90.system.js","./p-b3014611.system.js","./p-3819c4ce.system.js","./p-88aac12c.system.js","./p-4d015bfc.system.js","./p-91035a2a.system.js"],(function(t){"use strict";var i,e,n,o,a,r,l,s,u,d,f,m,c;return{setters:[function(t){i=t.h;e=t.r;n=t.c;o=t.H;a=t.g},function(t){r=t.t},function(t){l=t.c;s=t.d;u=t.e},function(t){d=t.s},function(t){f=t.u},function(t){m=t.S},function(t){c=t.S}],execute:function(){var h=function(t){var e,n,o;var a=t.level.url?"a":"button";return i(a,{class:{"main-link":true,active:!!t.level.isActiveOverride,focus:t.isOpen},href:t.level.url,title:((e=t.level.title)===null||e===void 0?void 0:e.trim())&&((n=t.level.title)===null||n===void 0?void 0:n.trim())!==((o=t.level.text)===null||o===void 0?void 0:o.trim())?t.level.title:undefined,tabindex:t.level.url?undefined:0,"aria-haspopup":!t.level.noFlyout+"","aria-expanded":t.level.noFlyout?null:t.isOpen+"",onTouchEnd:function(i){return t.onTouchEnd(i)},onKeyDown:function(i){return t.onKeyDown(i)},onClick:function(i){return t.onClick(i)}},i("span",null,t.level.text),i("svg",{"aria-hidden":"true"},i("use",{href:"#pi-pointy-arrow-right"})))};var p='.flyout-nav,.flyout-column h3{font-size:0.9375rem}@media (min-width: 600px){.flyout-nav,.flyout-column h3{font-size:1rem}}@media (min-width: 1024px){.flyout-nav,.flyout-column h3{font-size:1.0625rem}}.flyout-title{font-size:1.0625rem}@media (min-width: 600px){.flyout-title{font-size:1.25rem}}@media (min-width: 1024px){.flyout-title{font-size:1.5rem}}@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}}.main-container,.flyout-linklist,.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}.main-link,.flyout-close-button,.flyout-link,.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}.main-link:hover,.flyout-close-button:hover,.flyout-link:hover,.nav-link:hover,.main-link:focus,.flyout-close-button:focus,.flyout-link:focus,.nav-link:focus{color:black}.main-link>svg,.flyout-close-button>svg,.flyout-link>svg,.nav-link>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.main-link>span,.flyout-close-button>span,.flyout-link>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{--host-window-height:var(--window-height, 100vh);--calculated-header-height:calc(var(--header-height) + 1px);display:block;min-width:0;height:var(--header-height)}:host(.no-animation) *{-webkit-animation:none !important;animation:none !important;-webkit-transition:none !important;transition:none !important}@media (min-width: 1024px){.main-navigation,.main-container,.main-container li,.main-link{height:100%}}.main-navigation{font-size:1.125rem}@media (min-width: 1024px){.main-navigation{font-size:1rem;margin:0 0.75rem}}@media (min-width: 1280px){.main-navigation{font-size:1.125rem}}@media (min-width: 1441px){.main-navigation{font-size:1.25rem}}@media (max-width: 1023.98px){.main-navigation{position:absolute;top:var(--calculated-header-height);left:0;background:white;height:calc(var(--host-window-height) - var(--calculated-header-height));width:100%;margin:0;overflow:hidden scroll;-webkit-overflow-scrolling:touch;-ms-scroll-chaining:none;overscroll-behavior:contain;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;z-index:-1;visibility:hidden;-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition:visibility 0.35s, -webkit-transform 0.35s;transition:visibility 0.35s, -webkit-transform 0.35s;transition:transform 0.35s, visibility 0.35s;transition:transform 0.35s, visibility 0.35s, -webkit-transform 0.35s}}@media (max-width: 1023.98px) and (prefers-reduced-motion: reduce){.main-navigation{-webkit-transition:none;transition:none}}@media (max-width: 1023.98px){.main-navigation.open{-webkit-transform:translateY(0);transform:translateY(0);visibility:visible}}.main-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:start;justify-content:flex-start}@media (max-width: 1023.98px){.main-container{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:start;justify-content:flex-start;padding-top:2.5rem;padding-bottom:2.5rem}.main-container>li+li{border-top:1px solid hsl(0, 0%, 90%)}}@media (min-width: 1024px){.main-container{padding-right:0;padding-left:0}}.main-container>li{-ms-flex:0 1 auto;flex:0 1 auto;min-width:0}.main-link{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding-right:0.75rem;padding-left:0.75rem;text-align:left;cursor:pointer;width:100%}@media (min-width: 1024px){.main-link svg{display:none}}@media (max-width: 1023.98px){.main-link{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;font-weight:300;padding:0.625rem 0;width:100%;text-align:left}.main-link svg{width:1.5rem;height:1.5rem}}.main-link span{overflow:hidden;text-overflow:ellipsis}.main-link,.flyout-link{position:relative;color:black}.main-link::after,.flyout-link::after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:4px;background-color:transparent;opacity:0;-webkit-transform:scaleX(0.8);transform:scaleX(0.8);-webkit-transition:opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1)}@media (prefers-reduced-motion: reduce){.main-link::after,.flyout-link::after{-webkit-transition:none;transition:none}}.main-link:hover::after,.main-link.focus::after,.flyout-link:hover::after,.flyout-link.focus::after{background-color:hsl(0, 0%, 80%);opacity:1;-webkit-transform:scale(1);transform:scale(1)}.main-link.active,.flyout-link.active{font-weight:700}.main-link.active::after,.flyout-link.active::after{background-color:#fc0;opacity:1;-webkit-transform:scale(1);transform:scale(1)}.flyout{left:0;width:100%;background:white;padding-bottom:3rem;overflow:auto;-ms-scroll-chaining:none;overscroll-behavior:contain;visibility:hidden}@media (min-width: 1024px){.flyout{position:absolute;top:100%;max-height:calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);z-index:-1;-webkit-box-shadow:0 0 1px 0 rgba(0, 0, 0, 0.4);box-shadow:0 0 1px 0 rgba(0, 0, 0, 0.4);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.flyout.open{-webkit-box-shadow:0 0 8px 0 rgba(0, 0, 0, 0.4);box-shadow:0 0 8px 0 rgba(0, 0, 0, 0.4);-webkit-transform:translateY(0);transform:translateY(0)}}@media (max-width: 1023.98px){.flyout{position:fixed;top:0;height:100%;z-index:1;-webkit-transform:translateX(100%);transform:translateX(100%)}.flyout.open{-webkit-transform:translateX(0);transform:translateX(0)}}.flyout.open{visibility:visible}.flyout.animate{-webkit-transition:visibility 0.35s, -webkit-transform 0.35s, -webkit-box-shadow 0.35s;transition:visibility 0.35s, -webkit-transform 0.35s, -webkit-box-shadow 0.35s;transition:transform 0.35s, visibility 0.35s, box-shadow 0.35s;transition:transform 0.35s, visibility 0.35s, box-shadow 0.35s, -webkit-transform 0.35s, -webkit-box-shadow 0.35s}@media (prefers-reduced-motion: reduce){.flyout.animate{-webkit-transition:none;transition:none}}.flyout-nav{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;min-height:3.5rem;-webkit-box-sizing:content-box;box-sizing:content-box}.flyout-row{display:-ms-flexbox;display:flex;gap:1.5rem}@media (max-width: 1023.98px){.flyout-row{display:grid;grid-template-columns:1fr 1fr}}@media (max-width: 599.98px){.flyout-row{grid-template-columns:1fr}}.flyout-column{-ms-flex:1;flex:1;max-width:25%}@media (max-width: 1023.98px){.flyout-column{max-width:none}}.flyout-column h3{margin-top:0}.flyout-back-button{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-size:1rem;font-weight:400;cursor:pointer}@media (max-width: 599.98px){.flyout-back-button{padding-right:16px;padding-left:16px}}@media (min-width: 600px) and (max-width: 1023.98px){.flyout-back-button{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.flyout-back-button{padding-right:40px;padding-left:40px}}.flyout-back-button svg{width:1.5rem;height:1.5rem}@media (min-width: 1024px){.flyout-back-button{display:none}}.flyout-close-button{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;margin-left:auto;padding:0 1.5rem;cursor:pointer}.flyout-close-button svg{width:1.5rem;height:1.5rem}@media (max-width: 1023.98px){.flyout-close-button{display:none}}.flyout-linklist li{border-top:1px solid hsl(0, 0%, 90%)}.flyout-linklist:first-child>li{border-top-color:transparent}.flyout-link{display:block;padding:0.75rem 0}.flyout-title{margin:2.5rem 0 1.5rem 0}@media (min-width: 1024px){.flyout-title{display:none}}';var y=t("post_main_navigation",function(){function t(t){e(this,t);this.dropdownToggled=n(this,"dropdownToggled",7);this.flyoutToggled=n(this,"flyoutToggled",7);this.resizeTimer=null;this.mouseLeaveTimer=null;this.mouseEnterTimer=null;this.activeFlyout=undefined;this.mobileMenuOpen=undefined}t.prototype.connectedCallback=function(){var t=this;this.throttledResize=r(300,(function(){return t.handleResize()}));window.addEventListener("resize",this.throttledResize,{passive:true});this.setWindowHeight()};t.prototype.disconnectedCallback=function(){window.removeEventListener("resize",this.throttledResize);l();if(this.mouseEnterTimer!==null)window.clearTimeout(this.mouseEnterTimer);if(this.mouseLeaveTimer!==null)window.clearTimeout(this.mouseLeaveTimer)};t.prototype.handleResize=function(){var t=this;this.host.classList.add("no-animation");if(this.resizeTimer!==null)window.clearTimeout(this.resizeTimer);this.resizeTimer=window.setTimeout((function(){t.host.classList.remove("no-animation")}),300);this.setWindowHeight()};t.prototype.setWindowHeight=function(){var t=this;if(!this.host){return}this.host.style.setProperty("--window-height","".concat(window.innerHeight,"px"));window.setTimeout((function(){t.host.style.setProperty("--window-height","".concat(window.innerHeight,"px"))}),100)};t.prototype.openFlyout=function(t){var i;var e=(i=this.host.shadowRoot)===null||i===void 0?void 0:i.getElementById(t);if(e&&this.activeFlyout!==""){this.addFlyoutAnimation(e)}this.activeFlyout=t;this.flyoutToggled.emit(t);this.setWindowHeight();if(this.mouseLeaveTimer!==null){window.clearTimeout(this.mouseLeaveTimer);this.mouseLeaveTimer=null}};t.prototype.closeFlyout=function(t){var i;if(t===undefined)return;var e=(i=this.host.shadowRoot)===null||i===void 0?void 0:i.getElementById(t);if(e){this.addFlyoutAnimation(e)}this.activeFlyout=null;this.flyoutToggled.emit()};t.prototype.addFlyoutAnimation=function(t){var i=this;if(!f()){t.classList.add("animate");t.addEventListener("transitionend",(function(){return i.removeFlyoutAnimation(t)}),{once:true})}};t.prototype.removeFlyoutAnimation=function(t){t.classList.remove("animate")};t.prototype.isActiveFlyout=function(t){return t===this.activeFlyout};t.prototype.handleMouseEnter=function(t){var i=this;if(this.mouseEnterTimer!==null){window.clearTimeout(this.mouseEnterTimer);this.mouseEnterTimer=null}if(this.mouseLeaveTimer&&this.activeFlyout===t.id){window.clearTimeout(this.mouseLeaveTimer);this.mouseLeaveTimer=null}if(window.innerWidth>=1024&&t.flyout.length>0&&this.activeFlyout!==t.id){this.mouseEnterTimer=window.setTimeout((function(){i.mouseEnterTimer=null;if(t.id!==undefined)i.openFlyout(t.id)}),200)}};t.prototype.handleMouseLeave=function(t){var i=this;if(this.mouseEnterTimer!==null){window.clearTimeout(this.mouseEnterTimer)}if(this.activeFlyout&&this.activeFlyout!==t.id){return}if(window.innerWidth>=1024&&t.flyout.length>0){this.mouseLeaveTimer=window.setTimeout((function(){i.closeFlyout(t.id)}),300)}};t.prototype.handleTouchEnd=function(t,i){if(!this.isActiveFlyout(i.id)&&!i.noFlyout){if(t.cancelable)t.preventDefault();if(i.id)this.openFlyout(i.id)}};t.prototype.handleKeyPress=function(t,i){if(t.key==="Enter"&&!this.isActiveFlyout(i.id)&&!i.noFlyout){t.preventDefault();if(i.id)this.openFlyout(i.id)}};t.prototype.handleClick=function(t,i){if(!this.isActiveFlyout(i.id)&&!i.noFlyout){t.preventDefault();if(i.id)this.openFlyout(i.id)}};t.prototype.setBodyScroll=function(){if(this.mobileMenuOpen){s(this.flyoutElement)}else{u(this.flyoutElement)}};t.prototype.toggleDropdown=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(i){this.mobileMenuOpen=t===undefined?!this.mobileMenuOpen:t;this.dropdownToggled.emit({open:this.mobileMenuOpen,element:this.host});if(t===false){this.closeFlyout()}this.setBodyScroll();this.setWindowHeight();return[2,this.mobileMenuOpen]}))}))};t.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){var t,i;return __generator(this,(function(e){i=(t=this.host.shadowRoot)===null||t===void 0?void 0:t.querySelector(".main-link");if(i){i.focus()}return[2]}))}))};t.prototype.setActiveFlyout=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(i){this.activeFlyout=t;this.flyoutToggled.emit(this.activeFlyout);return[2]}))}))};t.prototype.render=function(){var t=this;var e;if(((e=d.localizedConfig)===null||e===void 0?void 0:e.header)===undefined)return;var n=d.localizedConfig.header;return i(o,null,i(m,null),i("nav",{id:"post-internet-header-main-navigation",class:{"main-navigation":true,open:this.mobileMenuOpen},role:"menu",ref:function(i){return t.flyoutElement=i}},i("h1",{class:"visually-hidden"},n.translations.navMainAriaLabel),i("ul",{class:"main-container container"},n.navMain.map((function(e){return i("li",{key:e.text,onMouseLeave:function(){return t.handleMouseLeave(e)},onMouseEnter:function(){return t.handleMouseEnter(e)}},i(h,{level:e,isOpen:t.isActiveFlyout(e.id),onTouchEnd:function(i){return t.handleTouchEnd(i,e)},onKeyDown:function(i){return t.handleKeyPress(i,e)},onClick:function(i){return t.handleClick(i,e)}}),!e.noFlyout?i("div",{id:e.id,class:{flyout:true,open:t.isActiveFlyout(e.id)}},i("div",{class:"wide-container"},i("div",{class:"flyout-nav"},i("button",{class:"nav-link flyout-back-button",onClick:function(){return t.closeFlyout(e.id)}},i(c,{name:"pi-pointy-arrow-right",classNames:"mirrored"}),i("span",null,n.translations.backButtonText)),i("button",{class:"flyout-close-button",onClick:function(){return t.closeFlyout(e.id)}},i("span",{class:"visually-hidden"},e.text,", ",n.translations.mobileNavToggleClose),i(c,{name:"pi-close"}))),i("h2",{class:"flyout-title container"},i("a",{href:e.url,class:"nav-link"},e.text)),i("div",{class:"flyout-row container"},e.flyout.map((function(t,n){return i("div",{key:t.title,class:"flyout-column"},t.title?i("h3",{id:"".concat(e.id,"-column-").concat(n)},t.title):null,i("ul",{class:"flyout-linklist","aria-labelledby":t.title?"".concat(e.id,"-column-").concat(n):undefined},t.linkList.map((function(t){return i("li",{key:t.url},i("a",{class:{"flyout-link":true,active:!!(t===null||t===void 0?void 0:t.isActiveOverride)},href:t.url,target:t.target},t.title))}))))}))))):null)}))),i("slot",null)))};Object.defineProperty(t.prototype,"host",{get:function(){return a(this)},enumerable:false,configurable:true});return t}());y.style=p}}}));
2
- //# sourceMappingURL=p-2fd2c574.system.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["LevelOneAction","props","TagName","level","url","h","class","active","isActiveOverride","focus","isOpen","href","title","_a","trim","_b","_c","text","undefined","tabindex","noFlyout","onTouchEnd","e","onKeyDown","onClick","postMainNavigationCss","PostMainNavigation","exports","this","resizeTimer","mouseLeaveTimer","mouseEnterTimer","class_1","prototype","connectedCallback","_this","throttledResize","throttle","handleResize","window","addEventListener","passive","setWindowHeight","disconnectedCallback","removeEventListener","clearAllBodyScrollLocks","clearTimeout","host","classList","add","setTimeout","remove","style","setProperty","concat","innerHeight","openFlyout","id","flyout","shadowRoot","getElementById","activeFlyout","addFlyoutAnimation","flyoutToggled","emit","closeFlyout","userPrefersReducedMotion","removeFlyoutAnimation","once","isActiveFlyout","handleMouseEnter","innerWidth","length","handleMouseLeave","handleTouchEnd","event","cancelable","preventDefault","handleKeyPress","key","handleClick","setBodyScroll","mobileMenuOpen","disableBodyScroll","flyoutElement","enableBodyScroll","toggleDropdown","force","dropdownToggled","open","element","setFocus","firstLink","querySelector","setActiveFlyout","render","state","localizedConfig","header","headerConfig","Host","SvgSprite","role","ref","el","translations","navMainAriaLabel","navMain","map","levelOne","onMouseLeave","onMouseEnter","SvgIcon","name","classNames","backButtonText","mobileNavToggleClose","i","linkList","link","target"],"sources":["src/components/post-main-navigation/components/level-one-action.component.tsx","src/components/post-main-navigation/post-main-navigation.scss?tag=post-main-navigation&encapsulation=shadow","src/components/post-main-navigation/post-main-navigation.tsx"],"sourcesContent":["import { h } from '@stencil/core';\nimport { NavMainEntity } from '../../../models/header.model';\n\nexport const LevelOneAction = (props: {\n level: NavMainEntity;\n isOpen: boolean;\n onTouchEnd: (e: any) => void;\n onKeyDown: (e: any) => void;\n onClick: (e: any) => void;\n}) => {\n const TagName = props.level.url ? 'a' : 'button';\n\n return (\n <TagName\n class={{\n 'main-link': true,\n 'active': !!props.level.isActiveOverride,\n 'focus': props.isOpen,\n }}\n href={props.level.url}\n title={\n props.level.title?.trim() && props.level.title?.trim() !== props.level.text?.trim()\n ? props.level.title\n : undefined\n }\n tabindex={props.level.url ? undefined : 0}\n aria-haspopup={!props.level.noFlyout + ''}\n aria-expanded={props.level.noFlyout ? null : props.isOpen + ''}\n onTouchEnd={e => props.onTouchEnd(e)}\n onKeyDown={e => props.onKeyDown(e)}\n onClick={e => props.onClick(e)}\n >\n <span>{props.level.text}</span>\n <svg aria-hidden=\"true\">\n <use href=\"#pi-pointy-arrow-right\" />\n </svg>\n </TagName>\n );\n};\n","@use '@swisspost/design-system-styles/variables/color';\n@use '@swisspost/design-system-styles/placeholders/text';\n@use '@swisspost/design-system-styles/functions';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n\n:host {\n --host-window-height: var(--window-height, 100vh);\n --calculated-header-height: calc(var(--header-height) + 1px);\n\n display: block;\n min-width: 0;\n height: var(--header-height);\n}\n\n:host(.no-animation) {\n * {\n animation: none !important;\n transition: none !important;\n }\n}\n\n.main-navigation,\n.main-container,\n.main-container li,\n.main-link {\n @include mixins.min(lg) {\n height: 100%;\n }\n}\n\n.main-navigation {\n font-size: functions.px-to-rem(18px);\n\n @include mixins.min(lg) {\n font-size: functions.px-to-rem(16px);\n margin: 0 0.75rem;\n }\n\n @include mixins.min(xl) {\n font-size: functions.px-to-rem(18px);\n }\n\n @include mixins.min(xxl) {\n font-size: functions.px-to-rem(20px);\n }\n\n @include mixins.max(lg) {\n position: absolute;\n top: var(--calculated-header-height);\n left: 0;\n background: white;\n height: calc(var(--host-window-height) - var(--calculated-header-height));\n width: 100%;\n margin: 0;\n overflow: hidden scroll;\n -webkit-overflow-scrolling: touch;\n overscroll-behavior: contain;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n z-index: -1;\n visibility: hidden;\n transform: translateY(-100%);\n transition: transform 0.35s, visibility 0.35s;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n &.open {\n transform: translateY(0);\n visibility: visible;\n }\n }\n}\n\n.main-container {\n @extend %no-list;\n\n display: flex;\n align-items: center;\n justify-content: flex-start;\n\n @include mixins.max(lg) {\n flex-direction: column;\n align-items: stretch;\n justify-content: flex-start;\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n\n > li + li {\n border-top: 1px solid color.$gray-10;\n }\n }\n\n @include mixins.min(lg) {\n padding-right: 0;\n padding-left: 0;\n }\n\n > li {\n flex: 0 1 auto;\n min-width: 0;\n }\n}\n\n.main-link {\n @extend %nav-link;\n\n display: flex;\n align-items: center;\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n text-align: left;\n cursor: pointer;\n width: 100%;\n\n @include mixins.min(lg) {\n svg {\n display: none;\n }\n }\n\n @include mixins.max(lg) {\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-weight: 300;\n padding: 0.625rem 0;\n width: 100%;\n text-align: left;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n }\n\n span {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n\n.main-link,\n.flyout-link {\n position: relative;\n color: black;\n\n &::after {\n content: '';\n position: absolute;\n bottom: -1px;\n left: 0;\n width: 100%;\n height: 4px;\n background-color: transparent;\n opacity: 0;\n transform: scaleX(0.8);\n transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1),\n transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n\n &:hover,\n &.focus {\n &::after {\n background-color: color.$gray-20;\n opacity: 1;\n transform: scale(1);\n }\n }\n\n &.active {\n font-weight: 700;\n\n &::after {\n background-color: color.$yellow;\n opacity: 1;\n transform: scale(1);\n }\n }\n}\n\n.flyout {\n left: 0;\n width: 100%;\n background: white;\n padding-bottom: 3rem;\n overflow: auto;\n overscroll-behavior: contain;\n visibility: hidden;\n\n @include mixins.min(lg) {\n position: absolute;\n top: 100%;\n max-height: calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);\n z-index: -1;\n box-shadow: 0 0 1px 0 rgb(0 0 0 / 40%);\n transform: translateY(-100%);\n\n &.open {\n box-shadow: 0 0 8px 0 rgb(0 0 0 / 40%);\n transform: translateY(0);\n }\n }\n\n @include mixins.max(lg) {\n position: fixed;\n top: 0;\n height: 100%;\n z-index: 1;\n transform: translateX(100%);\n\n &.open {\n transform: translateX(0);\n }\n }\n\n &.open {\n visibility: visible;\n }\n\n &.animate {\n transition: transform 0.35s, visibility 0.35s, box-shadow 0.35s;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n}\n\n.flyout-nav {\n @extend %font-curve-small;\n\n display: flex;\n justify-content: space-between;\n min-height: 3.5rem;\n\n // Change box-sizing to content-box to add 1px border width to flyout-nav hight.\n // This ensures flyout-nav has same hight as main-navigation-container.\n box-sizing: content-box;\n}\n\n.flyout-row {\n display: flex;\n gap: 1.5rem;\n\n @include mixins.max(lg) {\n display: grid;\n grid-template-columns: 1fr 1fr;\n }\n\n @include mixins.max(rg) {\n grid-template-columns: 1fr;\n }\n}\n\n.flyout-column {\n flex: 1;\n max-width: 25%;\n\n @include mixins.max(lg) {\n max-width: none;\n }\n\n h3 {\n @extend %font-curve-small;\n margin-top: 0;\n }\n}\n\n.flyout-back-button {\n @include mixins.container-padding();\n\n display: flex;\n align-items: center;\n font-size: functions.px-to-rem(16px);\n font-weight: 400;\n cursor: pointer;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n\n @include mixins.min(lg) {\n display: none;\n }\n}\n\n.flyout-close-button {\n @extend %nav-link;\n\n display: flex;\n align-items: center;\n margin-left: auto;\n padding: 0 1.5rem;\n cursor: pointer;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n\n @include mixins.max(lg) {\n display: none;\n }\n}\n\n.flyout-linklist {\n @extend %no-list;\n\n li {\n border-top: 1px solid color.$gray-10;\n }\n\n &:first-child > li {\n border-top-color: transparent;\n }\n}\n\n.flyout-link {\n @extend %nav-link;\n\n display: block;\n padding: 0.75rem 0;\n}\n\n.flyout-title {\n @extend %font-curve-bigger-regular;\n\n margin: 2.5rem 0 1.5rem 0;\n\n @include mixins.min(lg) {\n display: none;\n }\n}\n","import { Component, Host, h, State, Method, Event, Element, EventEmitter } from '@stencil/core';\nimport { throttle } from 'throttle-debounce';\nimport { disableBodyScroll, enableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock';\nimport { state } from '../../data/store';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n IsFocusable,\n NavMainEntity,\n} from '../../models/header.model';\nimport { userPrefersReducedMotion } from '../../services/ui.service';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { LevelOneAction } from './components/level-one-action.component';\n\n@Component({\n tag: 'post-main-navigation',\n styleUrl: 'post-main-navigation.scss',\n shadow: true,\n})\nexport class PostMainNavigation implements HasDropdown, IsFocusable {\n @State() activeFlyout: string | null;\n @State() mobileMenuOpen: boolean;\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\n @Event() flyoutToggled: EventEmitter<string | null>;\n @Element() host: DropdownElement;\n private throttledResize: throttle<() => void>;\n private resizeTimer: number | null = null;\n private mouseLeaveTimer: number | null = null;\n private mouseEnterTimer: number | null = null;\n private flyoutElement: HTMLElement | undefined;\n\n connectedCallback() {\n this.throttledResize = throttle(300, () => this.handleResize());\n window.addEventListener('resize', this.throttledResize, { passive: true });\n this.setWindowHeight();\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.throttledResize);\n clearAllBodyScrollLocks();\n if (this.mouseEnterTimer !== null) window.clearTimeout(this.mouseEnterTimer);\n if (this.mouseLeaveTimer !== null) window.clearTimeout(this.mouseLeaveTimer);\n }\n\n handleResize() {\n // Suspend all animations and transitions on window resize\n this.host.classList.add('no-animation');\n if (this.resizeTimer !== null) window.clearTimeout(this.resizeTimer);\n this.resizeTimer = window.setTimeout(() => {\n this.host.classList.remove('no-animation');\n }, 300);\n\n this.setWindowHeight();\n }\n\n // Update window height var\n setWindowHeight() {\n if (!this.host) {\n return;\n }\n this.host.style.setProperty('--window-height', `${window.innerHeight}px`);\n\n // Safari might or might not show a blank bar at the bottom where the browser\n // controls should be. This timeout waits for this bar to appear before resetting the available height\n window.setTimeout(() => {\n this.host.style.setProperty('--window-height', `${window.innerHeight}px`);\n }, 100);\n }\n\n openFlyout(id: string) {\n const flyout = this.host.shadowRoot?.getElementById(id);\n\n if (flyout && this.activeFlyout !== '') {\n // Add flyout animation if there's no flyout open\n this.addFlyoutAnimation(flyout);\n }\n\n this.activeFlyout = id;\n this.flyoutToggled.emit(id);\n this.setWindowHeight();\n\n if (this.mouseLeaveTimer !== null) {\n window.clearTimeout(this.mouseLeaveTimer);\n this.mouseLeaveTimer = null;\n }\n }\n\n closeFlyout(id?: string) {\n if (id === undefined) return;\n const flyout = this.host.shadowRoot?.getElementById(id);\n\n if (flyout) {\n // Add flyout animation for close action\n this.addFlyoutAnimation(flyout);\n }\n\n this.activeFlyout = null;\n this.flyoutToggled.emit();\n }\n\n addFlyoutAnimation(flyout: HTMLElement) {\n // Check if user prefers to see animations or not\n if (!userPrefersReducedMotion()) {\n flyout.classList.add('animate');\n\n // Remove flyout animation after transition ended\n flyout.addEventListener('transitionend', () => this.removeFlyoutAnimation(flyout), {\n once: true,\n });\n }\n }\n\n removeFlyoutAnimation(flyout: HTMLElement) {\n flyout.classList.remove('animate');\n }\n\n isActiveFlyout(id?: string) {\n return id === this.activeFlyout;\n }\n\n handleMouseEnter(level: NavMainEntity) {\n // Cancel opening the flyout if there already is one scheduled to open\n if (this.mouseEnterTimer !== null) {\n window.clearTimeout(this.mouseEnterTimer);\n this.mouseEnterTimer = null;\n }\n\n // Cancel closing if we enter again\n if (this.mouseLeaveTimer && this.activeFlyout === level.id) {\n window.clearTimeout(this.mouseLeaveTimer);\n this.mouseLeaveTimer = null;\n }\n\n if (window.innerWidth >= 1024 && level.flyout.length > 0 && this.activeFlyout !== level.id) {\n // Delay opening the flyout for a moment to give users a chance to move the mouse over the navigation without triggering the flyout\n this.mouseEnterTimer = window.setTimeout(() => {\n this.mouseEnterTimer = null;\n if (level.id !== undefined) this.openFlyout(level.id);\n }, 200);\n }\n }\n\n handleMouseLeave(level: NavMainEntity) {\n // Cancel opening the flyout if a mouseleave event happens before the flyout opened\n if (this.mouseEnterTimer !== null) {\n window.clearTimeout(this.mouseEnterTimer);\n }\n\n // Don't close an open flyout if the mouseleave is from another mainnav entry\n if (this.activeFlyout && this.activeFlyout !== level.id) {\n return;\n }\n\n if (window.innerWidth >= 1024 && level.flyout.length > 0) {\n // Allow the pointer to shortly leave the flyout without closing it. This\n // allows for user mistakes and makes the experience less nervous\n this.mouseLeaveTimer = window.setTimeout(() => {\n this.closeFlyout(level.id);\n }, 300);\n }\n }\n\n handleTouchEnd(event: TouchEvent, level: NavMainEntity) {\n if (!this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first touchstart and has a flyout, prevent link activation and open the flyout\n if (event.cancelable) event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n handleKeyPress(event: KeyboardEvent, level: NavMainEntity) {\n if (event.key === 'Enter' && !this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first enter keypress and has a flyout, prevent link activation and open the flyout\n event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n handleClick(event: MouseEvent, level: NavMainEntity) {\n if (!this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first click, always open the flyout, never the link\n // This is relevant for desktop with active screenreader which\n // translates an enter keypress to a click\n event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n /**\n * Disable or re-enable body scrolling, depending on whether mobile menu is open or closed\n */\n setBodyScroll() {\n if (this.mobileMenuOpen) {\n disableBodyScroll(this.flyoutElement);\n } else {\n enableBodyScroll(this.flyoutElement);\n }\n }\n\n /**\n * Toggle the main navigation (only visible on mobile)\n * @param force Force a state\n * @returns Boolean indicating new state\n */\n @Method()\n async toggleDropdown(force?: boolean) {\n this.mobileMenuOpen = force === undefined ? !this.mobileMenuOpen : force;\n this.dropdownToggled.emit({ open: this.mobileMenuOpen, element: this.host });\n\n if (force === false) {\n this.closeFlyout();\n }\n\n this.setBodyScroll();\n this.setWindowHeight();\n\n return this.mobileMenuOpen;\n }\n\n /**\n * Focus the main navigation toggle button\n */\n @Method()\n async setFocus() {\n const firstLink = this.host.shadowRoot?.querySelector<HTMLElement>('.main-link');\n if (firstLink) {\n firstLink.focus();\n }\n }\n\n /**\n * Open a specific flyout\n * @param id Flyout ID\n */\n @Method()\n async setActiveFlyout(id: string | null) {\n this.activeFlyout = id;\n this.flyoutToggled.emit(this.activeFlyout);\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) return;\n const headerConfig = state.localizedConfig.header;\n\n return (\n <Host>\n <SvgSprite />\n <nav\n id=\"post-internet-header-main-navigation\"\n class={{ 'main-navigation': true, 'open': this.mobileMenuOpen }}\n role=\"menu\"\n ref={el => (this.flyoutElement = el)}\n >\n <h1 class=\"visually-hidden\">{headerConfig.translations.navMainAriaLabel}</h1>\n <ul class=\"main-container container\">\n {headerConfig.navMain.map(levelOne => (\n <li\n key={levelOne.text}\n onMouseLeave={() => this.handleMouseLeave(levelOne)}\n onMouseEnter={() => this.handleMouseEnter(levelOne)}\n >\n <LevelOneAction\n level={levelOne}\n isOpen={this.isActiveFlyout(levelOne.id)}\n onTouchEnd={e => this.handleTouchEnd(e, levelOne)}\n onKeyDown={e => this.handleKeyPress(e, levelOne)}\n onClick={e => this.handleClick(e, levelOne)}\n />\n {!levelOne.noFlyout ? (\n <div\n id={levelOne.id}\n class={{ flyout: true, open: this.isActiveFlyout(levelOne.id) }}\n >\n <div class=\"wide-container\">\n <div class=\"flyout-nav\">\n <button\n class=\"nav-link flyout-back-button\"\n onClick={() => this.closeFlyout(levelOne.id)}\n >\n <SvgIcon name=\"pi-pointy-arrow-right\" classNames=\"mirrored\" />\n <span>{headerConfig.translations.backButtonText}</span>\n </button>\n <button\n class=\"flyout-close-button\"\n onClick={() => this.closeFlyout(levelOne.id)}\n >\n <span class=\"visually-hidden\">\n {levelOne.text}, {headerConfig.translations.mobileNavToggleClose}\n </span>\n <SvgIcon name=\"pi-close\" />\n </button>\n </div>\n <h2 class=\"flyout-title container\">\n <a href={levelOne.url} class=\"nav-link\">\n {levelOne.text}\n </a>\n </h2>\n <div class=\"flyout-row container\">\n {levelOne.flyout.map((flyout, i) => (\n <div key={flyout.title} class=\"flyout-column\">\n {flyout.title ? <h3 id={`${levelOne.id}-column-${i}`}>{flyout.title}</h3> : null}\n <ul\n class=\"flyout-linklist\"\n aria-labelledby={flyout.title ? `${levelOne.id}-column-${i}` : undefined}\n >\n {flyout.linkList.map(link => (\n <li key={link.url}>\n <a\n class={{\n 'flyout-link': true,\n 'active': !!link?.isActiveOverride,\n }}\n href={link.url}\n target={link.target}\n >\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n </div>\n ))}\n </div>\n </div>\n </div>\n ) : null}\n </li>\n ))}\n </ul>\n <slot></slot>\n </nav>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["postMetaNavigationCss","PostMetaNavigation","exports","class_1","prototype","render","_a","state","localizedConfig","header","navMeta","undefined","h","Host","class","concat","this","orientation","fullWidth","filter","meta","isHomeLink","map","key","url","active","isActive","target","href","text"],"sources":["src/components/post-meta-navigation/post-meta-navigation.scss?tag=post-meta-navigation&encapsulation=shadow","src/components/post-meta-navigation/post-meta-navigation.tsx"],"sourcesContent":["@use \"@swisspost/design-system-styles/variables/color\";\n@use \"@swisspost/design-system-styles/functions\";\n@use \"../../utils/utils.scss\";\n@use \"../../utils/mixins.scss\";\n\n:host {\n display: block;\n background: color.$gray-background-light;\n font-size: functions.px-to-rem(14px);\n}\n\n.meta-container {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n min-height: functions.px-to-rem(48px);\n\n @media (min-width: 1441px) {\n &:not(.full-width) {\n margin: 0 auto;\n max-width: 1440px;\n }\n }\n\n &.vertical {\n @include mixins.container-padding();\n\n flex-direction: column;\n align-items: flex-start;\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n\n @include mixins.min(lg) {\n display: none;\n }\n }\n\n &.horizontal {\n ::slotted(*) {\n --separator-display: block;\n --separator-height: #{functions.px-to-rem(34px)};\n }\n }\n}\n\n.meta-navigation {\n .horizontal & {\n padding-right: 1rem;\n }\n}\n\n.meta-list {\n @extend %no-list;\n display: flex;\n\n .vertical & {\n flex-direction: column;\n align-items: flex-start;\n }\n}\n\n.meta-link {\n @extend %nav-link;\n\n font-size: functions.px-to-rem(14px);\n display: flex;\n align-items: center;\n padding: 0 0.5rem;\n min-height: functions.px-to-rem(34px);\n border-radius: 3px;\n\n &.active {\n background: color.$yellow;\n color: black;\n }\n\n .vertical & {\n color: black;\n padding: 0;\n\n &.active {\n padding: 0 0.5rem;\n margin-left: -0.5rem;\n }\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\nimport { state } from '../../data/store';\n\n@Component({\n tag: 'post-meta-navigation',\n styleUrl: 'post-meta-navigation.scss',\n shadow: true,\n})\nexport class PostMetaNavigation {\n @Prop() orientation: 'horizontal' | 'vertical';\n @Prop() fullWidth?: boolean = false;\n\n render() {\n if (state.localizedConfig?.header.navMeta === undefined) return;\n const { navMeta } = state.localizedConfig.header;\n\n return (\n <Host>\n <div class={`meta-container ${this.orientation}${this.fullWidth ? ' full-width' : ''}`}>\n <nav class=\"meta-navigation\">\n <ul class=\"meta-list\">\n {navMeta\n ?.filter(meta => !meta.isHomeLink)\n .map(meta => (\n <li key={meta.url}>\n <a\n class={{ 'active': meta.isActive, 'meta-link': true }}\n target={meta.target}\n href={meta.url}\n >\n <span aria-hidden=\"true\">{meta.text}</span>\n </a>\n </li>\n ))}\n </ul>\n </nav>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"gMAAA,IAAMA,EAAwB,84I,ICQjBC,EAAkBC,EAAA,kC,kEAEC,K,CAE9BC,EAAAC,UAAAC,OAAA,W,MACE,KAAIC,EAAAC,EAAMC,mBAAe,MAAAF,SAAA,SAAAA,EAAEG,OAAOC,WAAYC,UAAW,OACjD,IAAAD,EAAYH,EAAMC,gBAAgBC,OAAMC,QAEhD,OACEE,EAACC,EAAI,KACHD,EAAA,OAAKE,MAAO,kBAAAC,OAAkBC,KAAKC,aAAWF,OAAGC,KAAKE,UAAY,cAAgB,KAChFN,EAAA,OAAKE,MAAM,mBACTF,EAAA,MAAIE,MAAM,aACPJ,IAAO,MAAPA,SAAO,SAAPA,EACGS,QAAO,SAAAC,GAAQ,OAACA,EAAKC,UAAN,IAChBC,KAAI,SAAAF,GAAI,OACPR,EAAA,MAAIW,IAAKH,EAAKI,KACZZ,EAAA,KACEE,MAAO,CAAEW,OAAUL,EAAKM,SAAU,YAAa,MAC/CC,OAAQP,EAAKO,OACbC,KAAMR,EAAKI,KAEXZ,EAAA,sBAAkB,QAAQQ,EAAKS,OAP5B,MAafjB,EAAA,c,WA5BqB,I"}
@@ -1,7 +0,0 @@
1
- import{h as e,r as t,H as r,g as o}from"./p-2945db6c.js";import{d as i}from"./p-a74b380d.js";import{c as n,d as a,e as l}from"./p-a119b38d.js";import{S as s}from"./p-32fe68f0.js";import{s as f}from"./p-22e64bf2.js";import{c as d}from"./p-112455b1.js";import{S as g}from"./p-e2db30e1.js";import{t as u}from"./p-8bd39c64.js";import{p as b}from"./p-8bf099a8.js";
2
- /*!
3
- * tabbable 6.1.1
4
- * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
5
- */
6
- var c=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"];var m=c.join(",");var h=typeof Element==="undefined";var x=h?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector;var p=!h&&Element.prototype.getRootNode?function(e){var t;return e===null||e===void 0?void 0:(t=e.getRootNode)===null||t===void 0?void 0:t.call(e)}:function(e){return e===null||e===void 0?void 0:e.ownerDocument};var w=function e(t,r){var o;if(r===void 0){r=true}var i=t===null||t===void 0?void 0:(o=t.getAttribute)===null||o===void 0?void 0:o.call(t,"inert");var n=i===""||i==="true";var a=n||r&&t&&e(t.parentNode);return a};var v=function e(t){var r;var o=t===null||t===void 0?void 0:(r=t.getAttribute)===null||r===void 0?void 0:r.call(t,"contenteditable");return o===""||o==="true"};var y=function e(t,r,o){if(w(t)){return[]}var i=Array.prototype.slice.apply(t.querySelectorAll(m));if(r&&x.call(t,m)){i.unshift(t)}i=i.filter(o);return i};var k=function e(t,r,o){var i=[];var n=Array.from(t);while(n.length){var a=n.shift();if(w(a,false)){continue}if(a.tagName==="SLOT"){var l=a.assignedElements();var s=l.length?l:a.children;var f=e(s,true,o);if(o.flatten){i.push.apply(i,f)}else{i.push({scopeParent:a,candidates:f})}}else{var d=x.call(a,m);if(d&&o.filter(a)&&(r||!t.includes(a))){i.push(a)}var g=a.shadowRoot||typeof o.getShadowRoot==="function"&&o.getShadowRoot(a);var u=!w(g,false)&&(!o.shadowRootFilter||o.shadowRootFilter(a));if(g&&u){var b=e(g===true?a.children:g.children,true,o);if(o.flatten){i.push.apply(i,b)}else{i.push({scopeParent:a,candidates:b})}}else{n.unshift.apply(n,a.children)}}}return i};var I=function e(t,r){if(t.tabIndex<0){if((r||/^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName)||v(t))&&isNaN(parseInt(t.getAttribute("tabindex"),10))){return 0}}return t.tabIndex};var T=function e(t,r){return t.tabIndex===r.tabIndex?t.documentOrder-r.documentOrder:t.tabIndex-r.tabIndex};var E=function e(t){return t.tagName==="INPUT"};var N=function e(t){return E(t)&&t.type==="hidden"};var O=function e(t){var r=t.tagName==="DETAILS"&&Array.prototype.slice.apply(t.children).some((function(e){return e.tagName==="SUMMARY"}));return r};var C=function e(t,r){for(var o=0;o<t.length;o++){if(t[o].checked&&t[o].form===r){return t[o]}}};var R=function e(t){if(!t.name){return true}var r=t.form||p(t);var o=function e(t){return r.querySelectorAll('input[type="radio"][name="'+t+'"]')};var i;if(typeof window!=="undefined"&&typeof window.CSS!=="undefined"&&typeof window.CSS.escape==="function"){i=o(window.CSS.escape(t.name))}else{try{i=o(t.name)}catch(e){console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",e.message);return false}}var n=C(i,t.form);return!n||n===t};var S=function e(t){return E(t)&&t.type==="radio"};var F=function e(t){return S(t)&&!R(t)};var z=function e(t){var r;var o=t&&p(t);var i=(r=o)===null||r===void 0?void 0:r.host;var n=false;if(o&&o!==t){var a,l,s;n=!!((a=i)!==null&&a!==void 0&&(l=a.ownerDocument)!==null&&l!==void 0&&l.contains(i)||t!==null&&t!==void 0&&(s=t.ownerDocument)!==null&&s!==void 0&&s.contains(t));while(!n&&i){var f,d,g;o=p(i);i=(f=o)===null||f===void 0?void 0:f.host;n=!!((d=i)!==null&&d!==void 0&&(g=d.ownerDocument)!==null&&g!==void 0&&g.contains(i))}}return n};var A=function e(t){var r=t.getBoundingClientRect(),o=r.width,i=r.height;return o===0&&i===0};var M=function e(t,r){var o=r.displayCheck,i=r.getShadowRoot;if(getComputedStyle(t).visibility==="hidden"){return true}var n=x.call(t,"details>summary:first-of-type");var a=n?t.parentElement:t;if(x.call(a,"details:not([open]) *")){return true}if(!o||o==="full"||o==="legacy-full"){if(typeof i==="function"){var l=t;while(t){var s=t.parentElement;var f=p(t);if(s&&!s.shadowRoot&&i(s)===true){return A(t)}else if(t.assignedSlot){t=t.assignedSlot}else if(!s&&f!==t.ownerDocument){t=f.host}else{t=s}}t=l}if(z(t)){return!t.getClientRects().length}if(o!=="legacy-full"){return true}}else if(o==="non-zero-area"){return A(t)}return false};var H=function e(t){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName)){var r=t.parentElement;while(r){if(r.tagName==="FIELDSET"&&r.disabled){for(var o=0;o<r.children.length;o++){var i=r.children.item(o);if(i.tagName==="LEGEND"){return x.call(r,"fieldset[disabled] *")?true:!i.contains(t)}}return true}r=r.parentElement}}return false};var L=function e(t,r){if(r.disabled||w(r)||N(r)||M(r,t)||O(r)||H(r)){return false}return true};var j=function e(t,r){if(F(r)||I(r)<0||!L(t,r)){return false}return true};var W=function e(t){var r=parseInt(t.getAttribute("tabindex"),10);if(isNaN(r)||r>=0){return true}return false};var P=function e(t){var r=[];var o=[];t.forEach((function(t,i){var n=!!t.scopeParent;var a=n?t.scopeParent:t;var l=I(a,n);var s=n?e(t.candidates):a;if(l===0){n?r.push.apply(r,s):r.push(a)}else{o.push({documentOrder:i,tabIndex:l,item:t,isScope:n,content:s})}}));return o.sort(T).reduce((function(e,t){t.isScope?e.push.apply(e,t.content):e.push(t.content);return e}),[]).concat(r)};var D=function e(t,r){r=r||{};var o;if(r.getShadowRoot){o=k([t],r.includeContainer,{filter:j.bind(null,r),flatten:false,getShadowRoot:r.getShadowRoot,shadowRootFilter:W})}else{o=y(t,r.includeContainer,j.bind(null,r))}return P(o)};let U=0;const B=(t,r)=>{var o;const i=(o=t.active)!==null&&o!==void 0?o:false;const n=(e,t)=>{if(!r.length){return}const o=t==="first"?0:r.length-1;const i=r[o].t;const n=D(i);if(!n.length){return}e.preventDefault();e.stopPropagation();const a=t==="first"?0:n.length-1;let l=n[a];l.focus()};U++;return[e("input",{type:"text","aria-hidden":"true",class:"visually-hidden",key:`focus-trap-before-${U}`,onFocusin:e=>i&&n(e,"last")}),r,e("input",{type:"text","aria-hidden":"true",class:"visually-hidden",key:`focus-trap-after-${U}`,onFocusin:e=>i&&n(e,"first")})]};const X=t=>e("div",{class:"overlay",onClick:()=>t.onClick(),onKeyDown:e=>t.onKeyDown!==undefined&&t.onKeyDown(e),ref:e=>e!==undefined&&t.overlayRef(e)},e("div",{class:"container",role:"dialog"},e(B,null,e("div",{class:"overlay-container",tabindex:"-1",role:"document",onClick:e=>e.stopPropagation()},e("button",{class:`overlay-close btn-blank d-inline-flex align-items-center nav-link ${t.overlay.id}`,onClick:()=>t.onClick()},e("span",{class:"visually-hidden"},t.closeButtonText),e(s,{name:"pi-close"})),e("iframe",{src:t.overlay.target,frameborder:"0",class:"frame",ref:e=>e!==undefined&&t.iFrameRef(e)}))),e("div",{class:"loader-wrapper"},e("div",{class:"loader"}))));var V=d((function(e){(function(t){if(typeof window==="undefined")return;var r=0,o=false,i=false,n="message",a=n.length,l="[iFrameSizer]",s=l.length,f=null,d=window.requestAnimationFrame,g=Object.freeze({max:1,scroll:1,bodyScroll:1,documentElementScroll:1}),u={},b=null,c=Object.freeze({autoResize:true,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:true,inPageLinks:false,enablePublicMethods:true,heightCalculationMethod:"bodyOffset",id:"iFrameResizer",interval:32,log:false,maxHeight:Infinity,maxWidth:Infinity,minHeight:0,minWidth:0,mouseEvents:true,resizeFrom:"parent",scrolling:false,sizeHeight:true,sizeWidth:false,warningTimeout:5e3,tolerance:0,widthCalculationMethod:"scroll",onClose:function(){return true},onClosed:function(){},onInit:function(){},onMessage:function(){T("onMessage function not defined")},onMouseEnter:function(){},onMouseLeave:function(){},onResized:function(){},onScroll:function(){return true}});function m(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function h(e,t,r){e.addEventListener(t,r,false)}function x(e,t,r){e.removeEventListener(t,r,false)}function p(){var e=["moz","webkit","o","ms"];var t;for(t=0;t<e.length&&!d;t+=1){d=window[e[t]+"RequestAnimationFrame"]}if(d){d=d.bind(window)}else{k("setup","RequestAnimationFrame not supported")}}function w(e){var t="Host page: "+e;if(window.top!==window.self){t=window.parentIFrame&&window.parentIFrame.getId?window.parentIFrame.getId()+": "+e:"Nested host page: "+e}return t}function v(e){return l+"["+w(e)+"]"}function y(e){return u[e]?u[e].log:o}function k(e,t){E("log",e,t,y(e))}function I(e,t){E("info",e,t,y(e))}function T(e,t){E("warn",e,t,true)}function E(e,t,r,o){if(true===o&&"object"===typeof window.console){console[e](v(t),r)}}function N(e){function t(){function e(){M($);F(J);U("onResized",$)}n("Height");n("Width");H(e,$,"init")}function r(){var e=q.slice(s).split(":");var t=e[1]?parseInt(e[1],10):0;var r=u[e[0]]&&u[e[0]].iframe;var n=getComputedStyle(r);return{iframe:r,id:e[0],height:t+o(n)+i(n),width:e[2],type:e[3]}}function o(e){if(e.boxSizing!=="border-box"){return 0}var t=e.paddingTop?parseInt(e.paddingTop,10):0;var r=e.paddingBottom?parseInt(e.paddingBottom,10):0;return t+r}function i(e){if(e.boxSizing!=="border-box"){return 0}var t=e.borderTopWidth?parseInt(e.borderTopWidth,10):0;var r=e.borderBottomWidth?parseInt(e.borderBottomWidth,10):0;return t+r}function n(e){var t=Number(u[J]["max"+e]),r=Number(u[J]["min"+e]),o=e.toLowerCase(),i=Number($[o]);k(J,"Checking "+o+" is in range "+r+"-"+t);if(i<r){i=r;k(J,"Set "+o+" to min value")}if(i>t){i=t;k(J,"Set "+o+" to max value")}$[o]=""+i}function d(){function t(){function e(){var e=0,t=false;k(J,"Checking connection is from allowed list of origins: "+o);for(;e<o.length;e++){if(o[e]===r){t=true;break}}return t}function t(){var e=u[J]&&u[J].remoteHost;k(J,"Checking connection is from: "+e);return r===e}return o.constructor===Array?e():t()}var r=e.origin,o=u[J]&&u[J].checkOrigin;if(o&&""+r!=="null"&&!t()){throw new Error("Unexpected message received from: "+r+" for "+$.iframe.id+". Message was: "+e.data+". This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.")}return true}function g(){return l===(""+q).slice(0,s)&&q.slice(s).split(":")[0]in u}function b(){var e=$.type in{true:1,false:1,undefined:1};if(e){k(J,"Ignoring init message from meta parent page")}return e}function c(e){return q.slice(q.indexOf(":")+a+e)}function m(e){k(J,"onMessage passed: {iframe: "+$.iframe.id+", message: "+e+"}");U("onMessage",{iframe:$.iframe,message:JSON.parse(e)});k(J,"--")}function p(){var e=document.body.getBoundingClientRect(),t=$.iframe.getBoundingClientRect();return JSON.stringify({iframeHeight:t.height,iframeWidth:t.width,clientHeight:Math.max(document.documentElement.clientHeight,window.innerHeight||0),clientWidth:Math.max(document.documentElement.clientWidth,window.innerWidth||0),offsetTop:parseInt(t.top-e.top,10),offsetLeft:parseInt(t.left-e.left,10),scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,documentHeight:document.documentElement.clientHeight,documentWidth:document.documentElement.clientWidth,windowHeight:window.innerHeight,windowWidth:window.innerWidth})}function w(e,t){function r(){L("Send Page Info","pageInfo:"+p(),e,t)}B(r,32,t)}function v(){function e(e,r){function i(){if(u[o]){w(u[o].iframe,o)}else{t()}}["scroll","resize"].forEach((function(t){k(o,e+t+" listener for sendPageInfo");r(window,t,i)}))}function t(){e("Remove ",x)}function r(){e("Add ",h)}var o=J;r();if(u[o]){u[o].stopPageInfo=t}}function y(){if(u[J]&&u[J].stopPageInfo){u[J].stopPageInfo();delete u[J].stopPageInfo}}function E(){var e=true;if(null===$.iframe){T(J,"IFrame ("+$.id+") not found");e=false}return e}function N(e){var t=e.getBoundingClientRect();S(J);return{x:Math.floor(Number(t.left)+Number(f.x)),y:Math.floor(Number(t.top)+Number(f.y))}}function C(e){function t(){f=n;W();k(J,"--")}function r(){return{x:Number($.width)+i.x,y:Number($.height)+i.y}}function o(){if(window.parentIFrame){window.parentIFrame["scrollTo"+(e?"Offset":"")](n.x,n.y)}else{T(J,"Unable to scroll to requested position, window.parentIFrame not found")}}var i=e?N($.iframe):{x:0,y:0},n=r();k(J,"Reposition requested from iFrame (offset x:"+i.x+" y:"+i.y+")");if(window.top===window.self){t()}else{o()}}function W(){if(false===U("onScroll",f)){z()}else{F(J)}}function P(e){function t(){var e=N(n);k(J,"Moving to in page link (#"+o+") at x: "+e.x+" y: "+e.y);f={x:e.x,y:e.y};W();k(J,"--")}function r(){if(window.parentIFrame){window.parentIFrame.moveToAnchor(o)}else{k(J,"In page link #"+o+" not found and window.parentIFrame not found")}}var o=e.split("#")[1]||"",i=decodeURIComponent(o),n=document.getElementById(i)||document.getElementsByName(i)[0];if(n){t()}else if(window.top===window.self){k(J,"In page link #"+o+" not found")}else{r()}}function D(e){var t={};if(Number($.width)===0&&Number($.height)===0){var r=c(9).split(":");t={x:r[1],y:r[0]}}else{t={x:$.width,y:$.height}}U(e,{iframe:$.iframe,screenX:Number(t.x),screenY:Number(t.y),type:$.type})}function U(e,t){return O(J,e,t)}function X(){if(u[J]&&u[J].firstRun)G();switch($.type){case"close":{R($.iframe);break}case"message":{m(c(6));break}case"mouseenter":{D("onMouseEnter");break}case"mouseleave":{D("onMouseLeave");break}case"autoResize":{u[J].autoResize=JSON.parse(c(9));break}case"scrollTo":{C(false);break}case"scrollToOffset":{C(true);break}case"pageInfo":{w(u[J]&&u[J].iframe,J);v();break}case"pageInfoStop":{y();break}case"inPageLink":{P(c(9));break}case"reset":{A($);break}case"init":{t();U("onInit",$.iframe);break}default:{if(Number($.width)===0&&Number($.height)===0){T("Unsupported message received ("+$.type+"), this is likely due to the iframe containing a later "+"version of iframe-resizer than the parent page")}else{t()}}}}function V(e){var t=true;if(!u[e]){t=false;T($.type+" No settings for "+e+". Message was: "+q)}return t}function Y(){for(var e in u){L("iFrame requested init",j(e),u[e].iframe,e)}}function G(){if(u[J]){u[J].firstRun=false}}var q=e.data,$={},J=null;if("[iFrameResizerChild]Ready"===q){Y()}else if(g()){$=r();J=$.id;if(u[J]){u[J].loaded=true}if(!b()&&V(J)){k(J,"Received: "+q);if(E()&&d()){X()}}}else{I(J,"Ignored: "+q)}}function O(e,t,r){var o=null,i=null;if(u[e]){o=u[e][t];if("function"===typeof o){i=o(r)}else{throw new TypeError(t+" on iFrame["+e+"] is not a function")}}return i}function C(e){var t=e.id;delete u[t]}function R(e){var t=e.id;if(O(t,"onClose",t)===false){k(t,"Close iframe cancelled by onClose event");return}k(t,"Removing iFrame: "+t);try{if(e.parentNode){e.parentNode.removeChild(e)}}catch(e){T(e)}O(t,"onClosed",t);k(t,"--");C(e)}function S(e){if(null===f){f={x:window.pageXOffset===t?document.documentElement.scrollLeft:window.pageXOffset,y:window.pageYOffset===t?document.documentElement.scrollTop:window.pageYOffset};k(e,"Get page position: "+f.x+","+f.y)}}function F(e){if(null!==f){window.scrollTo(f.x,f.y);k(e,"Set page position: "+f.x+","+f.y);z()}}function z(){f=null}function A(e){function t(){M(e);L("reset","reset",e.iframe,e.id)}k(e.id,"Size reset requested by "+("init"===e.type?"host page":"iFrame"));S(e.id);H(t,e,"reset")}function M(e){function t(t){if(!e.id){k("undefined","messageData id not set");return}e.iframe.style[t]=e[t]+"px";k(e.id,"IFrame ("+n+") "+t+" set to "+e[t]+"px")}function r(t){if(!i&&"0"===e[t]){i=true;k(n,"Hidden iFrame detected, creating visibility listener");X()}}function o(e){t(e);r(e)}var n=e.iframe.id;if(u[n]){if(u[n].sizeHeight){o("height")}if(u[n].sizeWidth){o("width")}}}function H(e,t,r){if(r!==t.type&&d&&!window.jasmine){k(t.id,"Requesting animation frame");d(e)}else{e()}}function L(e,t,r,o,i){function n(){var i=u[o]&&u[o].targetOrigin;k(o,"["+e+"] Sending msg to iframe["+o+"] ("+t+") targetOrigin: "+i);r.contentWindow.postMessage(l+t,i)}function a(){T(o,"["+e+"] IFrame("+o+") not found")}function s(){if(r&&"contentWindow"in r&&null!==r.contentWindow){n()}else{a()}}function f(){function e(){if(u[o]&&!u[o].loaded&&!d){d=true;T(o,"IFrame has not responded within "+u[o].warningTimeout/1e3+" seconds. Check iFrameResizer.contentWindow.js has been loaded in iFrame. This message can be ignored if everything is working, or you can set the warningTimeout option to a higher value or zero to suppress this warning.")}}if(!!i&&u[o]&&!!u[o].warningTimeout){u[o].msgTimeout=setTimeout(e,u[o].warningTimeout)}}var d=false;o=o||r.id;if(u[o]){s();f()}}function j(e){return e+":"+u[e].bodyMarginV1+":"+u[e].sizeWidth+":"+u[e].log+":"+u[e].interval+":"+u[e].enablePublicMethods+":"+u[e].autoResize+":"+u[e].bodyMargin+":"+u[e].heightCalculationMethod+":"+u[e].bodyBackground+":"+u[e].bodyPadding+":"+u[e].tolerance+":"+u[e].inPageLinks+":"+u[e].resizeFrom+":"+u[e].widthCalculationMethod+":"+u[e].mouseEvents}function W(e){return typeof e==="number"}function P(e,i){function n(){function t(t){var r=u[N][t];if(Infinity!==r&&0!==r){e.style[t]=W(r)?r+"px":r;k(N,"Set "+t+" = "+e.style[t])}}function r(e){if(u[N]["min"+e]>u[N]["max"+e]){throw new Error("Value for min"+e+" can not be greater than max"+e)}}r("Height");r("Width");t("maxHeight");t("minHeight");t("maxWidth");t("minWidth")}function a(){var e=i&&i.id||c.id+r++;if(null!==document.getElementById(e)){e+=r++}return e}function l(t){if(typeof t!=="string"){throw new TypeError("Invaild id for iFrame. Expected String")}if(""===t){e.id=t=a();o=(i||{}).log;k(t,"Added missing iframe ID: "+t+" ("+e.src+")")}return t}function s(){k(N,"IFrame scrolling "+(u[N]&&u[N].scrolling?"enabled":"disabled")+" for "+N);e.style.overflow=false===(u[N]&&u[N].scrolling)?"hidden":"auto";switch(u[N]&&u[N].scrolling){case"omit":{break}case true:{e.scrolling="yes";break}case false:{e.scrolling="no";break}default:{e.scrolling=u[N]?u[N].scrolling:"no"}}}function f(){if("number"===typeof(u[N]&&u[N].bodyMargin)||"0"===(u[N]&&u[N].bodyMargin)){u[N].bodyMarginV1=u[N].bodyMargin;u[N].bodyMargin=""+u[N].bodyMargin+"px"}}function d(){var t=u[N]&&u[N].firstRun,r=u[N]&&u[N].heightCalculationMethod in g;if(!t&&r){A({iframe:e,height:0,width:0,type:"init"})}}function b(){if(u[N]){u[N].iframe.iFrameResizer={close:R.bind(null,u[N].iframe),removeListeners:C.bind(null,u[N].iframe),resize:L.bind(null,"Window resize","resize",u[N].iframe),moveToAnchor:function(e){L("Move to anchor","moveToAnchor:"+e,u[N].iframe,N)},sendMessage:function(e){e=JSON.stringify(e);L("Send Message","message:"+e,u[N].iframe,N)}}}}function x(r){function o(){L("iFrame.onload",r,e,t,true);d()}function i(t){if(!e.parentNode){return}var r=new t((function(t){t.forEach((function(t){var r=Array.prototype.slice.call(t.removedNodes);r.forEach((function(t){if(t===e){R(e)}}))}))}));r.observe(e.parentNode,{childList:true})}var n=m();if(n){i(n)}h(e,"load",o);L("init",r,e,t,true)}function p(e){if("object"!==typeof e){throw new TypeError("Options is not an object")}}function w(e){for(var t in c){if(Object.prototype.hasOwnProperty.call(c,t)){u[N][t]=Object.prototype.hasOwnProperty.call(e,t)?e[t]:c[t]}}}function v(e){return""===e||null!==e.match(/^(about:blank|javascript:|file:\/\/)/)?"*":e}function y(e){var t=e.split("Callback");if(t.length===2){var r="on"+t[0].charAt(0).toUpperCase()+t[0].slice(1);this[r]=this[e];delete this[e];T(N,"Deprecated: '"+e+"' has been renamed '"+r+"'. The old method will be removed in the next major version.")}}function I(t){t=t||{};u[N]=Object.create(null);u[N].iframe=e;u[N].firstRun=true;u[N].remoteHost=e.src&&e.src.split("/").slice(0,3).join("/");p(t);Object.keys(t).forEach(y,t);w(t);if(u[N]){u[N].targetOrigin=true===u[N].checkOrigin?v(u[N].remoteHost):"*"}}function E(){return N in u&&"iFrameResizer"in e}var N=l(e.id);if(E()){T(N,"Ignored iFrame, already setup.")}else{I(i);s();n();f();x(j(N));b()}}function D(e,t){if(null===b){b=setTimeout((function(){b=null;e()}),t)}}var U={};function B(e,t,r){if(!U[r]){U[r]=setTimeout((function(){U[r]=null;e()}),t)}}function X(){function e(){function e(e){function t(t){return"0px"===(u[e]&&u[e].iframe.style[t])}function r(e){return null!==e.offsetParent}if(u[e]&&r(u[e].iframe)&&(t("height")||t("width"))){L("Visibility change","resize",u[e].iframe,e)}}Object.keys(u).forEach((function(t){e(t)}))}function t(t){k("window","Mutation observed: "+t[0].target+" "+t[0].type);D(e,16)}function r(){var e=document.querySelector("body"),r={attributes:true,attributeOldValue:false,characterData:true,characterDataOldValue:false,childList:true,subtree:true},i=new o(t);i.observe(e,r)}var o=m();if(o){r()}}function V(e){function t(){G("Window "+e,"resize")}k("window","Trigger event: "+e);D(t,16)}function Y(){function e(){G("Tab Visible","resize")}if("hidden"!==document.visibilityState){k("document","Trigger event: Visibility change");D(e,16)}}function G(e,t){function r(e){return u[e]&&"parent"===u[e].resizeFrom&&u[e].autoResize&&!u[e].firstRun}Object.keys(u).forEach((function(o){if(r(o)){L(e,t,u[o].iframe,o)}}))}function q(){h(window,"message",N);h(window,"resize",(function(){V("resize")}));h(document,"visibilitychange",Y);h(document,"-webkit-visibilitychange",Y)}function $(){function e(e,t){function r(){if(!t.tagName){throw new TypeError("Object is not a valid DOM element")}else if("IFRAME"!==t.tagName.toUpperCase()){throw new TypeError("Expected <IFRAME> tag, found <"+t.tagName+">")}}if(t){r();P(t,e);o.push(t)}}function r(e){if(e&&e.enablePublicMethods){T("enablePublicMethods option has been removed, public methods are now always available in the iFrame")}}var o;p();q();return function i(n,a){o=[];r(n);switch(typeof a){case"undefined":case"string":{Array.prototype.forEach.call(document.querySelectorAll(a||"iframe"),e.bind(t,n));break}case"object":{e(n,a);break}default:{throw new TypeError("Unexpected data type ("+typeof a+")")}}return o}}function J(e){if(!e.fn){I("","Unable to bind to jQuery, it is not fully loaded.")}else if(!e.fn.iFrameResize){e.fn.iFrameResize=function e(t){function r(e,r){P(r,t)}return this.filter("iframe").each(r).end()}}}if(window.jQuery!==t){J(window.jQuery)}if(typeof t==="function"&&t.amd){t([],$)}else{e.exports=$()}window.iFrameResize=window.iFrameResize||$()})()}));const Y=t=>t.items.slice(1,-1).map((r=>e("li",{key:r.url},e("a",{href:r.url,class:"nav-link",tabindex:t.focusable===false?"-1":undefined},e("span",null,r.text)),t.icons?e(s,{name:"pi-arrow-down",classNames:"rotate-270"}):null)));const G=t=>e("div",{class:"middle-dropdown-container"},e("button",{class:"middle-dropdown-button btn btn-blank",type:"button",onClick:e=>t.clickHandler(e),tabindex:t.focusable===false?"-1":undefined},e("span",{class:"visually-hidden"},u("Open menu")),e("span",{"aria-hidden":"true"},"...")),e(s,{name:"pi-arrow-down",classNames:"rotate-270"}),t.dropdownOpen?e("nav",{class:"middle-dropdown"},e("ul",{class:"no-list"},e(Y,{items:t.items,icons:false,focusable:t.focusable}))):null);const q=t=>{var r;const o=t.items[0];const i=t.items[t.items.length-1];return e("ol",{class:"no-list breadcrumbs-list"},e("li",null,e("a",{class:"home-link nav-link",href:o.url,tabindex:t.focusable===false?"-1":undefined},e("span",{class:"visually-hidden"},o.text),e(s,{name:"pi-home"})),e(s,{name:"pi-arrow-down",classNames:"rotate-270"})),t.isConcatenated?e("li",null,e(G,{items:t.items,dropdownOpen:(r=t.dropdownOpen)!==null&&r!==void 0?r:false,clickHandler:e=>t.clickHandler(e),focusable:t.focusable})):e(Y,{items:t.items,icons:true,focusable:t.focusable}),e("li",null,e("a",{class:"last-link nav-link",href:i.url,tabindex:t.focusable===false?"-1":undefined,ref:e=>t.lastItemRef!==undefined?t.lastItemRef(e):null},i.text)))};const $='/*!\n * Bootstrap Utilities v5.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n\n * The MIT License (MIT)\n\n * Copyright (c) 2011-2020 Twitter, Inc.\n * Copyright (c) 2011-2020 The Bootstrap Authors\n\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the "Software"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */.btn-close{-webkit-box-sizing:content-box;box-sizing:content-box;width:1.5rem;height:1.5rem;padding:1rem 1rem;color:#000;background:transparent url("data:image/svg+xml,%3Csvg version=\'1.1\' xmlns=\'http://www.w3.org/2000/svg\' width=\'32\' height=\'32\' viewBox=\'0 0 32 32\'%3E%3Cpath opacity=\'1\' fill=\'%23000000\' d=\'M16.267 16.667l6.667-6.533-0.933-1.067-6.667 6.667-6.667-6.667-0.933 1.067 6.667 6.533-6.667 6.667 1.067 0.933 6.533-6.667 6.667 6.667 0.933-1.067z\'%3E%3C/path%3E%3C/svg%3E") center/1.5rem auto no-repeat;border:0;border-radius:3px;opacity:0.5}.btn-close:hover{color:#000;text-decoration:none;opacity:0.75}.btn-close:focus{outline:0;-webkit-box-shadow:0 0 0 0.125rem rgba(51, 51, 51, 0.25);box-shadow:0 0 0 0.125rem rgba(51, 51, 51, 0.25);opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:0.25}.btn-close-white{-webkit-filter:invert(1) grayscale(100%) brightness(200%);filter:invert(1) grayscale(100%) brightness(200%)}.btn-close{height:unset;min-height:1.5rem}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.btn-close{opacity:1;background:transparent url("data:image/svg+xml,%3Csvg version=\'1.1\' xmlns=\'http://www.w3.org/2000/svg\' width=\'32\' height=\'32\' viewBox=\'0 0 32 32\'%3E%3Cpath opacity=\'1\' fill=\'%23ffffff\' d=\'M16.267 16.667l6.667-6.533-0.933-1.067-6.667 6.667-6.667-6.667-0.933 1.067 6.667 6.533-6.667 6.667 1.067 0.933 6.533-6.667 6.667 6.667 0.933-1.067z\'%3E%3C/path%3E%3C/svg%3E") center/1.5rem auto no-repeat}}.btn-close:focus{outline:2px solid var(--post-contrast-color);-webkit-box-shadow:none;box-shadow:none}.btn-close:focus:not(:focus-visible){outline:0}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.btn-close-white{-webkit-filter:none;filter:none}}.btn-default,.btn-secondary{border:2px solid rgba(var(--post-contrast-color-rgb), 0.2)}.btn-default:focus,.btn-secondary:focus,.btn-default:not(:disabled):hover,.btn-secondary:not(:disabled):hover,.pretend-hover.btn-default,.pretend-hover.btn-secondary{border-color:var(--post-contrast-color);color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary{border-color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .pretend-hover.btn-default,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .pretend-hover.btn-secondary{border-color:rgba(var(--post-contrast-color-rgb), 0.4)}.btn-default:disabled,.btn-secondary:disabled{border-color:rgba(var(--post-contrast-color-rgb), 0.4);color:rgba(var(--post-contrast-color-rgb), 0.6)}.btn{min-height:3rem;padding:0 2rem;font-size:1rem;gap:1rem;outline:none;outline-offset:2px;display:-ms-inline-flexbox;display:inline-flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;overflow:hidden;-webkit-transition:opacity 250ms, border-color 250ms, background-color 250ms, color 250ms;transition:opacity 250ms, border-color 250ms, background-color 250ms, color 250ms;border-width:2px;border-style:solid;border-radius:3px;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;color:var(--post-contrast-color);font-family:inherit;font-weight:400;text-decoration:none !important;white-space:nowrap}.btn>.pi{width:1.25rem;height:1.25rem}.btn:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.btn-primary{border-color:transparent;background-color:rgba(var(--post-contrast-color-rgb), 0.8);color:var(--post-contrast-color-inverted)}.btn-primary:focus,.btn-primary:not(:disabled):hover,.btn-primary.pretend-hover{background-color:var(--post-contrast-color);color:var(--post-contrast-color-inverted)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary{background-color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary.pretend-hover{background-color:rgba(var(--post-contrast-color-rgb), 0.8)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary .pi{-webkit-filter:invert(0);filter:invert(0)}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.btn-primary{border-color:var(--post-contrast-color);background-color:ButtonFace}.btn-primary:not(:disabled,.disabled):hover,.btn-primary:not(:disabled,.disabled):focus-visible{border-color:highlight}.btn-primary .pi{-webkit-filter:invert(1) !important;filter:invert(1) !important}}.btn-primary:disabled{background-color:rgba(var(--post-contrast-color-rgb), 0.4)}.btn-primary .pi{-webkit-filter:invert(1);filter:invert(1);forced-color-adjust:none}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default .pi,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary .pi{-webkit-filter:invert(1);filter:invert(1)}.btn-link,.btn-tertiary{border:0;padding-right:0.375rem;padding-left:0.375rem}.btn-link:focus,.btn-link:not(:disabled):hover,.btn-link.pretend-hover,.btn-tertiary:focus,.btn-tertiary:not(:disabled):hover,.btn-tertiary.pretend-hover{color:rgba(var(--post-contrast-color-rgb), 0.8)}.btn-link:disabled,.btn-tertiary:disabled{color:rgba(var(--post-contrast-color-rgb), 0.6)}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.btn-link,.btn-tertiary{color:linktext;text-decoration:underline !important}}.btn-icon{min-width:3rem;padding-right:0.75rem;padding-left:0.75rem}.btn-icon.btn-sm{min-width:2rem;padding-right:0.375rem;padding-left:0.375rem}.btn-icon.btn-rg{min-width:2.5rem;padding-right:0.5625rem;padding-left:0.5625rem}.btn-icon.btn-lg{min-width:3.5rem;padding-right:0.875rem;padding-left:0.875rem}.btn-animated:not(.btn-link,.btn-tertiary)::after{content:"";position:absolute;right:1.25rem;width:0.625em;height:0.625em;-webkit-transform:rotateZ(315deg) translate(-2px, -2px);transform:rotateZ(315deg) translate(-2px, -2px);-webkit-transform-origin:center center;transform-origin:center center;-webkit-transition:opacity 250ms, -webkit-transform 250ms;transition:opacity 250ms, -webkit-transform 250ms;transition:opacity 250ms, transform 250ms;transition:opacity 250ms, transform 250ms, -webkit-transform 250ms;border-right:2px solid currentColor;border-bottom:2px solid currentColor;opacity:0}.btn-animated:not(.btn-link,.btn-tertiary).btn-sm::after{right:0.5rem}.btn-animated:not(.btn-link,.btn-tertiary).btn-rg::after{right:0.875rem}.btn-animated:not(.btn-link,.btn-tertiary).btn-lg::after{right:1.5rem}.btn-animated:not(.btn-link,.btn-tertiary)>span{-webkit-transition:-webkit-transform 250ms;transition:-webkit-transform 250ms;transition:transform 250ms;transition:transform 250ms, -webkit-transform 250ms}@media (prefers-reduced-motion: no-preference){.btn-animated:not(.btn-link,.btn-tertiary):focus>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover>span{-webkit-transform:translateX(-0.75rem);transform:translateX(-0.75rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-sm>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-sm>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-sm>span{-webkit-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-rg>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-rg>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-rg>span{-webkit-transform:translateX(-0.625rem);transform:translateX(-0.625rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-lg>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-lg>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-lg>span{-webkit-transform:translateX(-1rem);transform:translateX(-1rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus::after,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover::after,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover::after{-webkit-transform:rotateZ(315deg) translate(0, 0);transform:rotateZ(315deg) translate(0, 0);opacity:1}.btn-animated:not(.btn-link,.btn-tertiary)>span{-webkit-transform:translateX(0);transform:translateX(0)}}.btn-sm{min-height:2rem;padding:0 1rem;font-size:0.8125rem;gap:0.5rem}.btn-sm>.pi{width:1rem;height:1rem}.btn-rg{min-height:2.5rem;padding:0 1.5rem;font-size:1rem;gap:0.75rem}.btn-rg>.pi{width:1.125rem;height:1.125rem}.btn-lg{min-height:3.5rem;padding:0 2.5rem;font-size:1.0625rem;gap:1.25rem}.btn-lg>.pi{width:1.5rem;height:1.5rem}.btn-nightblue{border-color:transparent;background-color:#004976;color:#fff}.btn-nightblue:focus,.btn-nightblue:not(:disabled):hover,.btn-nightblue.pretend-hover{background-color:#002943;color:#fff}.btn-nightblue-bright{border-color:transparent;background-color:#0076a8;color:#fff}.btn-nightblue-bright:focus,.btn-nightblue-bright:not(:disabled):hover,.btn-nightblue-bright.pretend-hover{background-color:#005275;color:#fff}.btn-petrol{border-color:transparent;background-color:#006d68;color:#fff}.btn-petrol:focus,.btn-petrol:not(:disabled):hover,.btn-petrol.pretend-hover{background-color:#003a37;color:#fff}.btn-petrol-bright{border-color:transparent;background-color:#00968f;color:#000}.btn-petrol-bright:focus,.btn-petrol-bright:not(:disabled):hover,.btn-petrol-bright.pretend-hover{background-color:#00635e;color:#fff}.btn-coral{border-color:transparent;background-color:#9e2a2f;color:#fff}.btn-coral:focus,.btn-coral:not(:disabled):hover,.btn-coral.pretend-hover{background-color:#761f23;color:#fff}.btn-coral-bright{border-color:transparent;background-color:#e03c31;color:#000}.btn-coral-bright:focus,.btn-coral-bright:not(:disabled):hover,.btn-coral-bright.pretend-hover{background-color:#c1271d;color:#fff}.btn-olive{border-color:transparent;background-color:#716135;color:#fff}.btn-olive:focus,.btn-olive:not(:disabled):hover,.btn-olive.pretend-hover{background-color:#4e4325;color:#fff}.btn-olive-bright{border-color:transparent;background-color:#aa9d2e;color:#000}.btn-olive-bright:focus,.btn-olive-bright:not(:disabled):hover,.btn-olive-bright.pretend-hover{background-color:#827823;color:#000}.btn-purple{border-color:transparent;background-color:#80276c;color:#fff}.btn-purple:focus,.btn-purple:not(:disabled):hover,.btn-purple.pretend-hover{background-color:#591b4b;color:#fff}.btn-purple-bright{border-color:transparent;background-color:#c5299b;color:#fff}.btn-purple-bright:focus,.btn-purple-bright:not(:disabled):hover,.btn-purple-bright.pretend-hover{background-color:#9b207a;color:#fff}.btn-aubergine{border-color:transparent;background-color:#523178;color:#fff}.btn-aubergine:focus,.btn-aubergine:not(:disabled):hover,.btn-aubergine.pretend-hover{background-color:#392254;color:#fff}.btn-aubergine-bright{border-color:transparent;background-color:#7566a0;color:#fff}.btn-aubergine-bright:focus,.btn-aubergine-bright:not(:disabled):hover,.btn-aubergine-bright.pretend-hover{background-color:#5e5182;color:#fff}.btn-success{border-color:transparent;background-color:#2c911c;color:#000}.btn-success:focus,.btn-success:not(:disabled):hover,.btn-success.pretend-hover{background-color:#1f6614;color:#fff}.btn-info{border-color:transparent;background-color:#cce4ee;color:#000}.btn-info:focus,.btn-info:not(:disabled):hover,.btn-info.pretend-hover{background-color:#a6d0e1;color:#000}.btn-warning{border-color:transparent;background-color:#f49e00;color:#000}.btn-warning:focus,.btn-warning:not(:disabled):hover,.btn-warning.pretend-hover{background-color:#c17d00;color:#000}.btn-danger{border-color:transparent;background-color:#a51728;color:#fff}.btn-danger:focus,.btn-danger:not(:disabled):hover,.btn-danger.pretend-hover{background-color:#78111d;color:#fff}.row{--bs-gutter-x:30px;--bs-gutter-y:0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-0.5 * var(--bs-gutter-x));margin-left:calc(-0.5 * var(--bs-gutter-x))}.row>*{-ms-flex-negative:0;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * 0.5);padding-left:calc(var(--bs-gutter-x) * 0.5);margin-top:var(--bs-gutter-y)}.col{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width: 400px){.col-sm{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-sm-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-sm-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-sm-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-sm-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-sm-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-sm-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width: 600px){.col-rg{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-rg-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-rg-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-rg-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-rg-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-rg-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-rg-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-rg-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-rg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-rg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-rg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-rg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-rg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-rg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-rg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-rg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-rg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-rg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-rg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-rg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-rg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-rg-0{margin-left:0}.offset-rg-1{margin-left:8.33333333%}.offset-rg-2{margin-left:16.66666667%}.offset-rg-3{margin-left:25%}.offset-rg-4{margin-left:33.33333333%}.offset-rg-5{margin-left:41.66666667%}.offset-rg-6{margin-left:50%}.offset-rg-7{margin-left:58.33333333%}.offset-rg-8{margin-left:66.66666667%}.offset-rg-9{margin-left:75%}.offset-rg-10{margin-left:83.33333333%}.offset-rg-11{margin-left:91.66666667%}.g-rg-0,.gx-rg-0{--bs-gutter-x:0}.g-rg-0,.gy-rg-0{--bs-gutter-y:0}.g-rg-1,.gx-rg-1{--bs-gutter-x:0.25rem}.g-rg-1,.gy-rg-1{--bs-gutter-y:0.25rem}.g-rg-2,.gx-rg-2{--bs-gutter-x:0.5rem}.g-rg-2,.gy-rg-2{--bs-gutter-y:0.5rem}.g-rg-3,.gx-rg-3{--bs-gutter-x:1rem}.g-rg-3,.gy-rg-3{--bs-gutter-y:1rem}.g-rg-4,.gx-rg-4{--bs-gutter-x:1.5rem}.g-rg-4,.gy-rg-4{--bs-gutter-y:1.5rem}.g-rg-5,.gx-rg-5{--bs-gutter-x:3rem}.g-rg-5,.gy-rg-5{--bs-gutter-y:3rem}}@media (min-width: 780px){.col-md{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-md-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-md-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-md-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-md-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-md-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-md-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width: 1024px){.col-lg{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-lg-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-lg-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-lg-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-lg-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-lg-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-lg-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width: 1280px){.col-xl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xl-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xl-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xl-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xl-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xl-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xl-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width: 1441px){.col-xxl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xxl-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xxl-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xxl-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xxl-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xxl-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xxl-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xxl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-xxl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xxl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xxl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-xxl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-xxl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xxl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-xxl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-xxl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xxl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-xxl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-xxl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.container,.container-fluid,.container-xs{--bs-gutter-x:30px;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * 0.5);padding-left:calc(var(--bs-gutter-x) * 0.5);margin-right:auto;margin-left:auto}.container{max-width:1440px}.vertical-gutters{margin-bottom:-30px}.vertical-gutters>.col,.vertical-gutters>[class*=col-]{padding-bottom:30px}.row.border-gutters{margin-right:-1px;margin-bottom:-1px;margin-left:0}.row.border-gutters>.col,.row.border-gutters>[class*=col-]{padding-right:1px;padding-bottom:1px;padding-left:0}.container{padding-right:12px;padding-left:12px}.container-reset{margin-right:-12px;margin-left:-12px}.container-reset-left{margin-left:-12px}.container-reset-right{margin-right:-12px}@media (max-width: 399.98px){.container-fluid-xs{padding-right:1rem;padding-left:1rem}}@media (min-width: 400px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 400px){.container-reset{margin-right:-16px;margin-left:-16px}}@media (min-width: 400px){.container-reset-left{margin-left:-16px}}@media (min-width: 400px){.container-reset-right{margin-right:-16px}}@media (min-width: 400px) and (max-width: 599.98px){.container-fluid-sm{padding-right:1rem;padding-left:1rem}}@media (min-width: 600px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 600px){.container-reset{margin-right:-32px;margin-left:-32px}}@media (min-width: 600px){.container-reset-left{margin-left:-32px}}@media (min-width: 600px){.container-reset-right{margin-right:-32px}}@media (min-width: 600px) and (max-width: 779.98px){.container-fluid-rg{padding-right:1rem;padding-left:1rem}}@media (min-width: 780px) and (max-width: 1023.98px){.container-fluid-md{padding-right:1rem;padding-left:1rem}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}@media (min-width: 1024px){.container-reset{margin-right:-40px;margin-left:-40px}}@media (min-width: 1024px){.container-reset-left{margin-left:-40px}}@media (min-width: 1024px){.container-reset-right{margin-right:-40px}}@media (min-width: 1024px) and (max-width: 1279.98px){.container-fluid-lg{padding-right:1rem;padding-left:1rem}}@media (min-width: 1280px){.container{padding-right:128px;padding-left:128px}}@media (min-width: 1280px){.container-reset{margin-right:-128px;margin-left:-128px}}@media (min-width: 1280px){.container-reset-left{margin-left:-128px}}@media (min-width: 1280px){.container-reset-right{margin-right:-128px}}@media (min-width: 1280px) and (max-width: 1440.98px){.container-fluid-xl{padding-right:1rem;padding-left:1rem}}@media (min-width: 1441px){.container-fluid-xxl{padding-right:1rem;padding-left:1rem}}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:hsl(0, 0%, 80%);--bs-progress-border-radius:3px;--bs-progress-box-shadow:inset 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:hsl(0, 0%, 20%);--bs-progress-bar-transition:width 0.6s ease;display:-ms-flexbox;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);-webkit-transition:var(--bs-progress-bar-transition);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{-webkit-transition:none;transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-bg{position:absolute;z-index:990;top:0;left:0;width:100%;height:100%}.loading-modal{display:-ms-inline-flexbox;display:inline-flex;position:absolute;z-index:990;top:0;right:0;bottom:0;left:0}.loader{width:3.5rem;height:3.5rem;-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite;border:6px solid #fc0;border-radius:50%;border-right-color:transparent;border-bottom-color:hsl(0, 0%, 90%)}.loader.loader-sm{width:2rem;height:2rem;border-width:0.25rem}.loader.loader-xs{width:0.75rem;height:0.75rem;border-width:2px}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.loader{border-color:Highlight;border-bottom-color:CanvasText;border-right-color:Canvas}@supports (forced-color-adjust: none){.loader{forced-color-adjust:none;border-right-color:transparent}}}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:700;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:400;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:300;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff") format("woff")}*,:host,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{font-family:"Frutiger Neue For Post", system-ui, sans-serif}button{font:inherit;padding:0}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:white}}.no-list{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}.btn-blank{background-color:transparent;border:none;border-radius:0;padding:0}.nav-link{text-decoration:none;color:rgba(0, 0, 0, 0.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:transparent;border-radius:0;-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.5rem}.nav-link:hover,.nav-link:focus{color:black}.nav-link>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.nav-link>span{-ms-flex-negative:1;flex-shrink:1}.box>*:first-child{margin-top:0}.box>*:last-child{margin-bottom:0}.mirrored{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.bold{font-weight:700}.light{font-weight:300}.d-flex{display:-ms-flexbox;display:flex}.d-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.align-items-center{-ms-flex-align:center;align-items:center}@media (min-width: 1441px){.wide-container{margin:0 auto;max-width:1440px}}@media (max-width: 599.98px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 600px) and (max-width: 1023.98px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}.visually-hidden{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}@media (max-width: -0.02px){.hidden-xs{display:none}}@media (max-width: 399.98px){.hidden-sm{display:none}}@media (max-width: 599.98px){.hidden-rg{display:none}}@media (max-width: 779.98px){.hidden-md{display:none}}@media (max-width: 1023.98px){.hidden-lg{display:none}}@media (max-width: 1279.98px){.hidden-xl{display:none}}@media (max-width: 1440.98px){.hidden-xxl{display:none}}:host{display:block;position:relative}.breadcrumbs{font-size:1rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;gap:1rem}@media (max-width: 599.98px){.breadcrumbs{font-size:0.875rem}}.breadcrumbs-nav{white-space:nowrap;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:1;flex-shrink:1;min-width:0}.breadcrumbs-list,.nav-link{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.breadcrumbs-list li{display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}.breadcrumbs-list li:last-child{-ms-flex-negative:2;flex-shrink:2;min-width:0;overflow:hidden;text-overflow:ellipsis}.breadcrumbs-list li:last-child a{border:2px solid transparent;outline-offset:0}.breadcrumbs-list svg{margin-left:0 !important;width:1.5em;height:1.5em;color:rgba(0, 0, 0, 0.6)}.breadcrumb-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;gap:1rem;-ms-flex-negative:0;flex-shrink:0}.breadcrumb-buttons .btn{cursor:pointer;gap:0.5rem;font-size:inherit}.breadcrumb-buttons .btn.btn-secondary>svg{width:1.5rem;height:1.5rem;margin:0}@media (min-width: 1024px){.breadcrumb-buttons .btn span{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible}}.nav-link{gap:0;color:rgba(0, 0, 0, 0.6);font-weight:400}.middle-dropdown-container{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.middle-dropdown{position:absolute;top:100%;left:0;background:white;border:1px solid hsl(0, 0%, 90%);padding:0.5rem 0;z-index:1}.middle-dropdown .nav-link{padding:0.5rem 1rem;-webkit-transition:color 200ms;transition:color 200ms}.middle-dropdown .nav-link:hover{background-color:hsl(0, 0%, 90%)}.middle-dropdown-button{cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.25rem;font-size:inherit;color:inherit}.middle-dropdown-button span{margin:0}.middle-dropdown-button svg{margin:0;-ms-flex-negative:0;flex-shrink:0;width:1.4em;height:1.4em}.overlay{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.6);z-index:calc(var(--header-z-index, 10) + 1);opacity:0;visibility:hidden;-webkit-transition:opacity 500ms, visibility 0s 500ms;transition:opacity 500ms, visibility 0s 500ms}.overlay.open{visibility:visible;opacity:1;-webkit-transition:opacity 500ms, visibility 0s 0s;transition:opacity 500ms, visibility 0s 0s}.overlay-container{position:relative;background:white;-webkit-box-shadow:0 0 40px rgba(0, 0, 0, 0.6);box-shadow:0 0 40px rgba(0, 0, 0, 0.6);visibility:hidden;-webkit-transform:translateY(3rem);transform:translateY(3rem);opacity:0;-webkit-transition:opacity 500ms, -webkit-transform 500ms;transition:opacity 500ms, -webkit-transform 500ms;transition:transform 500ms, opacity 500ms;transition:transform 500ms, opacity 500ms, -webkit-transform 500ms}iframe{display:block;width:1px;min-width:100%;overflow:auto;max-height:80vh}.overlay-close{position:absolute;top:1rem;right:1rem;cursor:pointer;padding:0.5rem;color:rgba(0, 0, 0, 0.8)}.overlay-close:hover,.overlay-close:focus{color:black}.overlay-close.phone{color:white}.overlay-close.phone:hover,.overlay-close.phone:focus{color:rgba(255, 255, 255, 0.8)}@media (min-width: 600px){.overlay-close span{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible}}.loader-wrapper{position:absolute;display:grid;place-items:center;width:100%;height:100%;top:0;left:0}.loaded~.loader-wrapper{display:none}.hidden-control-breadcrumbs{position:absolute;top:100%;width:0;overflow:hidden;display:-ms-flexbox;display:flex;pointer-events:none}.hidden-control-breadcrumbs .breadcrumbs-nav{-ms-flex-negative:0;flex-shrink:0}.hidden-control-breadcrumbs .breadcrumbs-list li{-ms-flex-negative:0;flex-shrink:0}';const J=class{constructor(e){t(this,e);this.customItems=undefined;this.customBreadcrumbItems=undefined;this.overlayVisible=undefined;this.isConcatenated=undefined;this.dropdownOpen=false;this.refsReady=false}connectedCallback(){this.debouncedResize=i(200,this.handleResize.bind(this));window.addEventListener("resize",this.debouncedResize,{passive:true})}disconnectedCallback(){window.removeEventListener("resize",this.debouncedResize);window.removeEventListener("click",this.handleWindowClick);n()}async componentWillLoad(){try{this.customBreadcrumbItems=typeof this.customItems==="string"?JSON.parse(this.customItems):this.customItems}catch(e){console.error(e)}}componentDidLoad(){window.requestAnimationFrame((()=>{this.handleResize()}))}handleCustomConfigChage(e){try{this.customBreadcrumbItems=typeof e==="string"?JSON.parse(e):e}catch(e){console.error(e)}}handleResize(){if(window.innerWidth===this.lastWindowWidth){return}this.lastWindowWidth=window.innerWidth;this.checkConcatenation()}checkConcatenation(){if(this.controlNavRef&&this.visibleNavRef){this.refsReady=true;window.requestAnimationFrame((()=>{if(this.controlNavRef&&this.visibleNavRef){this.isConcatenated=this.controlNavRef.clientWidth>this.visibleNavRef.clientWidth}}))}}toggleOverlay(e,t){var r;const o=t!==null&&t!==void 0?t:!this.overlayVisible;if(o){this.overlayVisible=o;this.currentOverlay=e;this.setBodyScroll(e)}else{const t=(r=this.host.shadowRoot)===null||r===void 0?void 0:r.querySelector('.breadcrumb-buttons [aria-expanded="true"]');if(this.openAnimation&&this.loadedAnimation){this.openAnimation.reverse();this.loadedAnimation.reverse();Promise.all([this.openAnimation.finished,this.loadedAnimation.finished]).then((()=>{if(t){t.focus()}this.overlayVisible=o;this.setBodyScroll(e)}))}}}setBodyScroll(e){if(this.overlayVisible){a(e,{reserveScrollBarGap:true})}else{l(e)}}toggleDropdown(e){this.dropdownOpen=e!==null&&e!==void 0?e:!this.dropdownOpen;if(this.dropdownOpen){requestAnimationFrame((()=>{document.addEventListener("click",this.handleWindowClick.bind(this),{once:true})}))}}handleWindowClick(){this.toggleDropdown(false)}registerIFrameResizer(e){if(!e){return}e.addEventListener("load",(()=>{var t,r,o;V({heightCalculationMethod:"taggedElement",scrolling:true,checkOrigin:false},e);const i=b?0:300;this.loadedAnimation=(t=e.parentElement)===null||t===void 0?void 0:t.animate([{opacity:1,visibility:"visible",transform:"translateY(0px)"}],{duration:i,fill:"forwards"});(r=e.parentElement)===null||r===void 0?void 0:r.classList.add("loaded");(o=this.loadedAnimation)===null||o===void 0?void 0:o.finished.then((()=>{var t;(t=e.parentElement)===null||t===void 0?void 0:t.focus()}))}))}overlayRef(e){if(!e){return}const t=b?0:500;this.openAnimation=e.animate([{opacity:1,visibility:"visible"}],{duration:t,fill:"forwards"})}handleKeyDown(e){if(e.key.toLowerCase()==="escape"){this.toggleOverlay(this.currentOverlay,false)}}handleToggleDropdown(){this.toggleDropdown()}handleToggleOverlay(){this.toggleOverlay(this.currentOverlay,false)}handleControlNavRef(e){this.controlNavRef=e;this.checkConcatenation()}handleVisibleNavRef(e){this.visibleNavRef=e;this.checkConcatenation()}render(){if(!f){console.warn(`Internet Breadcrumbs: Could not load config. Please make sure that you included the <swisspost-internet-header></swisspost-internet-header> component.`);return null}if(!f.localizedConfig){return null}if(!f.localizedConfig.breadcrumb){console.warn(`Internet Header: Current project "${f.projectId}" does not include a breadcrumb config. The breadcrumbs will not be rendered. Remove `,document.querySelector("swisspost-internet-breadcrumbs"),`from your markup or configure the breadcrumbs in your portal config to stop seeing this warning.`);return null}const t=f.localizedConfig.breadcrumb;const o=this.customBreadcrumbItems!==undefined?[...t.items,...this.customBreadcrumbItems]:t.items;return e(r,null,e(g,null),e("div",{class:"breadcrumbs"},e("div",{class:"hidden-control-breadcrumbs","aria-hidden":"true",tabindex:"-1"},e("nav",{class:"breadcrumbs-nav",ref:e=>e!==undefined&&this.handleControlNavRef(e)},e(q,{items:o,focusable:false,clickHandler:()=>{}}))),e("h2",{class:"visually-hidden"},t.a11yLabel),e("nav",{ref:e=>e!==undefined&&this.handleVisibleNavRef(e),class:{"breadcrumbs-nav":true,"visually-hidden":!this.refsReady}},e(q,{items:o,dropdownOpen:this.dropdownOpen,isConcatenated:this.isConcatenated,clickHandler:()=>this.handleToggleDropdown()})),e("div",{class:"breadcrumb-buttons"},t.buttons.map((t=>e("button",{class:"btn btn-secondary btn-icon",key:t.text,"aria-expanded":`${!!this.overlayVisible&&this.currentOverlay===t.overlay}`,onClick:()=>this.toggleOverlay(t.overlay,true)},e(s,{name:t.svgIcon.name}),e("span",{class:"visually-hidden"},t.text))))),this.overlayVisible&&e(X,{overlayRef:e=>e!==undefined&&this.overlayRef(e),iFrameRef:e=>e!==undefined&&this.registerIFrameResizer(e),overlay:this.currentOverlay,onClick:()=>this.handleToggleOverlay(),onKeyDown:e=>this.handleKeyDown(e),closeButtonText:f.localizedConfig.header.translations.closeButtonText})),e("slot",null))}get host(){return o(this)}static get watchers(){return{customItems:["handleCustomConfigChage"]}}};J.style=$;export{J as swisspost_internet_breadcrumbs};
7
- //# sourceMappingURL=p-3f72b002.entry.js.map
@@ -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/core' as post;\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 .form-control + label {\n padding-right: post.$input-padding-x * 3;\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\n id=\"post-internet-header-search-recommendations-title\"\n class=\"bold\"\n >{search.searchRecommendations.title}</h2>\n )}\n <ul\n class=\"suggestions no-list\"\n onMouseLeave={() => this.handleMouseLeaveSuggestions()}\n aria-labelledby={showPortalRecommendations\n ? 'post-internet-header-search-recommendations-title'\n : undefined\n }\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-2945db6c.js";import{S as a}from"./p-e2db30e1.js";import{S as r}from"./p-32fe68f0.js";import{s}from"./p-22e64bf2.js";import{e as d,u as l}from"./p-45db66a6.js";import{t as g}from"./p-8bd39c64.js";const p=e=>{var n;if(((n=s.localizedConfig)===null||n===void 0?void 0:n.header)===undefined)return;const o=s.localizedConfig.header;return t("nav",{class:"language-switch-dropdown",ref:t=>e.dropdownRef(t)},t("h3",{class:"visually-hidden"},g("Change language")),t("ul",{"aria-label":o.translations.navLangAriaLabel},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,", ",g("Current language is English")),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-6df0c486.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["PostLanguageSwitchList","props","_a","state","localizedConfig","header","undefined","config","h","class","ref","e","dropdownRef","translate","translations","navLangAriaLabel","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","addEventListener","event","propertyName","componentDidUpdate","getBoundingClientRect","add","async","force","dropdownToggled","emit","open","element","host","newLang","languageChanged","toggleDropdown","getMergedLanguageConfig","overrides","langConfig","Object","assign","find","l","setDropdownRef","render","mergedConfig","languageSwitchOverrides","Host","SvgSprite","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';\nimport { state } from '../../../data/store';\n\nexport const PostLanguageSwitchList = (props: {\n navLang: NavLangEntity[];\n switchLanguage: (lang: NavLangEntity) => void;\n dropdownRef: (element: HTMLElement | undefined) => void;\n}) => {\n if (state.localizedConfig?.header === undefined) return;\n const config = state.localizedConfig.header;\n\n return (\n <nav class=\"language-switch-dropdown\" ref={e => props.dropdownRef(e)}>\n <h3 class=\"visually-hidden\">{translate('Change language')}</h3>\n <ul aria-label={config.translations.navLangAriaLabel}>\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};\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\">\n {config.translations.navLangAriaLabel}, {translate('Current language is English')}\n </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
- System.register(["./p-5e9ba287.system.js","./p-3819c4ce.system.js","./p-f4f5ca86.system.js","./p-91035a2a.system.js"],(function(n){"use strict";var t,i,e,o,s,l,r;return{setters:[function(n){t=n.r;i=n.h;e=n.H;o=n.g},function(n){s=n.s},function(n){l=n.t},function(n){r=n.S}],execute:function(){var a=":host{display:block}.skiplinks a{position:absolute;top:0.5rem;left:0.5rem;clip:rect(0 0 0 0);width:1px;overflow:hidden;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:0.25rem;background:white}.skiplinks a:focus-visible{clip:unset;width:auto}";var u=n("post_skiplinks",function(){function n(n){t(this,n)}n.prototype.getMainId=function(){var n;return(n=document.querySelector("main[id]"))===null||n===void 0?void 0:n.getAttribute("id")};n.prototype.setFocus=function(n){var t=this.host.closest(".post-internet-header");if(!t){return}var i=t.querySelector(n);if(i){i.setFocus()}};n.prototype.focusMain=function(){this.setFocus("post-main-navigation")};n.prototype.focusSearch=function(){this.setFocus("post-search")};n.prototype.focusLogin=function(){this.setFocus("post-klp-login-widget")};n.prototype.render=function(){var n=this;var t;var o=(t=s.localizedConfig)===null||t===void 0?void 0:t.header;var a=this.getMainId();if(o===undefined){return}return i(e,null,i("div",{class:"skiplinks"},i("h1",{class:"visually-hidden"},l("Navigate on post.ch")),i("ul",{class:"no-list"},i("li",null,i("a",{class:"nav-link",href:o.logo.logoLink},i("span",null,o.logo.logoLinkTitle),i(r,{name:"pi-pointy-arrow-right"}))),i("li",null,i("a",{class:"nav-link",href:"#post-internet-header-main-navigation",onClick:function(){return n.focusMain()}},i("span",null,o.translations.navMainAriaLabel),i(r,{name:"pi-pointy-arrow-right"}))),a?i("li",null,i("a",{class:"nav-link",href:"#".concat(a)},i("span",null,l("Go to main content")),i(r,{name:"pi-pointy-arrow-right"}))):null,s.search?i("li",null,i("a",{class:"nav-link",href:"#post-internet-header-search-button",onClick:function(){return n.focusSearch()}},i("span",null,l("Go to search")),i(r,{name:"pi-pointy-arrow-right"}))):null,s.login?i("li",null,i("a",{class:"nav-link",href:"#post-klp-login-widget",onClick:function(){return n.focusLogin()}},i("span",null,l("Go to login")),i(r,{name:"pi-pointy-arrow-right"}))):null)))};Object.defineProperty(n.prototype,"host",{get:function(){return o(this)},enumerable:false,configurable:true});return n}());u.style=a}}}));
2
- //# sourceMappingURL=p-73b6ce0d.system.entry.js.map
@@ -1,2 +0,0 @@
1
- import{s as e}from"./p-22e64bf2.js";const n={"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"}};const i=(n,i,r,t)=>{if(n.length===0){return undefined}if(n.length===1){return n[0]}const l=new URL(window.location.href);let u=[i,l.searchParams.get("lang"),l.pathname.split("/").find((e=>n.includes(e))),r!==undefined?window.localStorage.getItem(r):null,o("language"),o("lang"),t!==undefined?o(t):null,document.documentElement.lang,a(n),e.currentLanguage].filter((e=>!!e));const s=u.find((e=>n.includes(e)))||n[0];if(!s||s.length!==2){throw new Error(`Current language could not be determined from settings or the language provided (${s}) is not supported by the Header API.`)}return s};const r=(n,i,r)=>{if(r!==undefined){window.localStorage.setItem(r,n)}if(i!==undefined){t(i,n)}e.currentLanguage=n};const o=e=>{var n;return((n=document.cookie.match("(^|;)\\s*"+e+"\\s*=\\s*([^;]+)"))===null||n===void 0?void 0:n.pop())||""};const t=(e,n)=>{document.cookie=`${encodeURIComponent(e)}=${encodeURIComponent(n)}`};const a=e=>{if(navigator.language){const n=l(navigator.language);if(e.indexOf(n)!==-1){return n}}if(navigator.languages){for(const n of navigator.languages){const i=l(n);if(e.indexOf(i)!==-1){return i}}}return null};const l=e=>e.substring(0,2).toLowerCase();const u=(i,r,o=n)=>{var t,a,l;return(l=(t=o[i])===null||t===void 0?void 0:t[(a=r!==null&&r!==void 0?r:e.currentLanguage)!==null&&a!==void 0?a:""])!==null&&l!==void 0?l:i};export{i as g,r as p,u as t};
2
- //# sourceMappingURL=p-8bd39c64.js.map