@swisspost/internet-header 1.5.1 → 1.5.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 (132) hide show
  1. package/dist/cjs/index-3216e4c8.js +176 -0
  2. package/dist/cjs/index-3216e4c8.js.map +1 -0
  3. package/dist/cjs/{language.service-7dbf739d.js → language.service-41b458b1.js} +6 -1
  4. package/dist/cjs/language.service-41b458b1.js.map +1 -0
  5. package/dist/cjs/post-language-switch.cjs.entry.js +1 -1
  6. package/dist/cjs/post-logo.cjs.entry.js +1 -1
  7. package/dist/cjs/post-main-navigation.cjs.entry.js +1 -1
  8. package/dist/cjs/post-search.cjs.entry.js +1 -1
  9. package/dist/cjs/post-skiplinks.cjs.entry.js +2 -2
  10. package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -1
  11. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +112 -92
  12. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
  13. package/dist/cjs/swisspost-internet-header.cjs.entry.js +15 -13
  14. package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
  15. package/dist/collection/assets/i18n/translations.js +5 -0
  16. package/dist/collection/assets/i18n/translations.js.map +1 -1
  17. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.css +0 -4
  18. package/dist/collection/components/post-skiplinks/post-skiplinks.js +1 -1
  19. package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +1 -1
  20. package/dist/collection/models/general.model.js.map +1 -1
  21. package/dist/collection/services/config.service.js +5 -3
  22. package/dist/collection/services/config.service.js.map +1 -1
  23. package/dist/components/index2.js +67 -35
  24. package/dist/components/index2.js.map +1 -1
  25. package/dist/components/language.service.js +5 -0
  26. package/dist/components/language.service.js.map +1 -1
  27. package/dist/components/post-skiplinks2.js +1 -1
  28. package/dist/components/post-skiplinks2.js.map +1 -1
  29. package/dist/components/swisspost-internet-breadcrumbs.js +110 -90
  30. package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
  31. package/dist/components/swisspost-internet-header.js +13 -11
  32. package/dist/components/swisspost-internet-header.js.map +1 -1
  33. package/dist/esm/index-d2256e06.js +173 -0
  34. package/dist/esm/index-d2256e06.js.map +1 -0
  35. package/dist/esm/{language.service-023d2711.js → language.service-85d8689e.js} +6 -1
  36. package/dist/esm/language.service-85d8689e.js.map +1 -0
  37. package/dist/esm/post-language-switch.entry.js +1 -1
  38. package/dist/esm/post-logo.entry.js +1 -1
  39. package/dist/esm/post-main-navigation.entry.js +1 -1
  40. package/dist/esm/post-search.entry.js +1 -1
  41. package/dist/esm/post-skiplinks.entry.js +2 -2
  42. package/dist/esm/post-skiplinks.entry.js.map +1 -1
  43. package/dist/esm/swisspost-internet-breadcrumbs.entry.js +112 -92
  44. package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  45. package/dist/esm/swisspost-internet-header.entry.js +15 -13
  46. package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
  47. package/dist/esm-es5/index-d2256e06.js +2 -0
  48. package/dist/esm-es5/index-d2256e06.js.map +1 -0
  49. package/dist/esm-es5/language.service-85d8689e.js +2 -0
  50. package/dist/esm-es5/language.service-85d8689e.js.map +1 -0
  51. package/dist/esm-es5/post-language-switch.entry.js +1 -1
  52. package/dist/esm-es5/post-logo.entry.js +1 -1
  53. package/dist/esm-es5/post-main-navigation.entry.js +1 -1
  54. package/dist/esm-es5/post-search.entry.js +1 -1
  55. package/dist/esm-es5/post-skiplinks.entry.js +1 -1
  56. package/dist/esm-es5/post-skiplinks.entry.js.map +1 -1
  57. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +2 -2
  58. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  59. package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
  60. package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
  61. package/dist/swisspost-internet-header/p-17a47667.system.js +1 -1
  62. package/dist/swisspost-internet-header/{p-38d645ba.system.entry.js → p-1f13dad6.system.entry.js} +2 -2
  63. package/dist/swisspost-internet-header/{p-38d645ba.system.entry.js.map → p-1f13dad6.system.entry.js.map} +0 -0
  64. package/dist/swisspost-internet-header/{p-5d2fac3b.system.entry.js → p-2df9df9c.system.entry.js} +2 -2
  65. package/dist/swisspost-internet-header/{p-5d2fac3b.system.entry.js.map → p-2df9df9c.system.entry.js.map} +0 -0
  66. package/dist/swisspost-internet-header/{p-d33734b5.entry.js → p-2fd9a085.entry.js} +2 -2
  67. package/dist/swisspost-internet-header/{p-d33734b5.entry.js.map → p-2fd9a085.entry.js.map} +0 -0
  68. package/dist/swisspost-internet-header/p-324563ab.system.js +2 -0
  69. package/dist/swisspost-internet-header/p-324563ab.system.js.map +1 -0
  70. package/dist/swisspost-internet-header/p-33ff32c6.entry.js +2 -0
  71. package/dist/swisspost-internet-header/p-33ff32c6.entry.js.map +1 -0
  72. package/dist/swisspost-internet-header/{p-493337e1.system.entry.js → p-38f55161.system.entry.js} +2 -2
  73. package/dist/swisspost-internet-header/{p-493337e1.system.entry.js.map → p-38f55161.system.entry.js.map} +0 -0
  74. package/dist/swisspost-internet-header/p-4f39b3a4.system.entry.js +2 -0
  75. package/dist/swisspost-internet-header/p-4f39b3a4.system.entry.js.map +1 -0
  76. package/dist/swisspost-internet-header/p-5adcac2a.entry.js +6 -0
  77. package/dist/swisspost-internet-header/p-5adcac2a.entry.js.map +1 -0
  78. package/dist/swisspost-internet-header/{p-0cba8ab4.entry.js → p-5b22e42c.entry.js} +2 -2
  79. package/dist/swisspost-internet-header/{p-0cba8ab4.entry.js.map → p-5b22e42c.entry.js.map} +0 -0
  80. package/dist/swisspost-internet-header/p-733756a9.system.entry.js +7 -0
  81. package/dist/swisspost-internet-header/p-733756a9.system.entry.js.map +1 -0
  82. package/dist/swisspost-internet-header/{p-322526ef.entry.js → p-812b69b4.entry.js} +2 -2
  83. package/dist/swisspost-internet-header/{p-322526ef.entry.js.map → p-812b69b4.entry.js.map} +0 -0
  84. package/dist/swisspost-internet-header/p-84d73529.system.entry.js +2 -0
  85. package/dist/swisspost-internet-header/p-84d73529.system.entry.js.map +1 -0
  86. package/dist/swisspost-internet-header/{p-62c5cf26.entry.js → p-908c0350.entry.js} +2 -2
  87. package/dist/swisspost-internet-header/{p-62c5cf26.entry.js.map → p-908c0350.entry.js.map} +0 -0
  88. package/dist/swisspost-internet-header/p-9b4d5e90.system.js +2 -0
  89. package/dist/swisspost-internet-header/p-9b4d5e90.system.js.map +1 -0
  90. package/dist/swisspost-internet-header/p-a6001d1e.js +2 -0
  91. package/dist/swisspost-internet-header/p-a6001d1e.js.map +1 -0
  92. package/dist/swisspost-internet-header/p-a74b380d.js +2 -0
  93. package/dist/swisspost-internet-header/p-a74b380d.js.map +1 -0
  94. package/dist/swisspost-internet-header/p-c565414e.entry.js +2 -0
  95. package/dist/swisspost-internet-header/p-c565414e.entry.js.map +1 -0
  96. package/dist/swisspost-internet-header/{p-db87f3e3.system.entry.js → p-c5f85f6e.system.entry.js} +2 -2
  97. package/dist/swisspost-internet-header/{p-db87f3e3.system.entry.js.map → p-c5f85f6e.system.entry.js.map} +0 -0
  98. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
  99. package/dist/types/assets/i18n/translations.d.ts +5 -0
  100. package/dist/types/models/general.model.d.ts +1 -1
  101. package/dist/types/services/language.service.d.ts +5 -0
  102. package/package.json +8 -8
  103. package/dist/cjs/index-e7245d60.js +0 -144
  104. package/dist/cjs/index-e7245d60.js.map +0 -1
  105. package/dist/cjs/language.service-7dbf739d.js.map +0 -1
  106. package/dist/esm/index-a75df186.js +0 -141
  107. package/dist/esm/index-a75df186.js.map +0 -1
  108. package/dist/esm/language.service-023d2711.js.map +0 -1
  109. package/dist/esm-es5/index-a75df186.js +0 -2
  110. package/dist/esm-es5/index-a75df186.js.map +0 -1
  111. package/dist/esm-es5/language.service-023d2711.js +0 -2
  112. package/dist/esm-es5/language.service-023d2711.js.map +0 -1
  113. package/dist/swisspost-internet-header/p-0942595f.js +0 -2
  114. package/dist/swisspost-internet-header/p-0942595f.js.map +0 -1
  115. package/dist/swisspost-internet-header/p-3753a678.system.js +0 -2
  116. package/dist/swisspost-internet-header/p-3753a678.system.js.map +0 -1
  117. package/dist/swisspost-internet-header/p-3df823de.system.entry.js +0 -2
  118. package/dist/swisspost-internet-header/p-3df823de.system.entry.js.map +0 -1
  119. package/dist/swisspost-internet-header/p-69c64c29.js +0 -2
  120. package/dist/swisspost-internet-header/p-69c64c29.js.map +0 -1
  121. package/dist/swisspost-internet-header/p-715ebef7.system.entry.js +0 -7
  122. package/dist/swisspost-internet-header/p-715ebef7.system.entry.js.map +0 -1
  123. package/dist/swisspost-internet-header/p-7709ed5c.entry.js +0 -2
  124. package/dist/swisspost-internet-header/p-7709ed5c.entry.js.map +0 -1
  125. package/dist/swisspost-internet-header/p-c8296f63.system.js +0 -2
  126. package/dist/swisspost-internet-header/p-c8296f63.system.js.map +0 -1
  127. package/dist/swisspost-internet-header/p-ccb522ba.entry.js +0 -2
  128. package/dist/swisspost-internet-header/p-ccb522ba.entry.js.map +0 -1
  129. package/dist/swisspost-internet-header/p-cfa787d7.entry.js +0 -6
  130. package/dist/swisspost-internet-header/p-cfa787d7.entry.js.map +0 -1
  131. package/dist/swisspost-internet-header/p-f38f38f4.system.entry.js +0 -2
  132. package/dist/swisspost-internet-header/p-f38f38f4.system.entry.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h, H as Host, g as getElement } from './index-066666f4.js';
2
2
  import { s as state } from './store-837c3490.js';
3
- import { t as translate } from './language.service-023d2711.js';
3
+ import { t as translate } from './language.service-85d8689e.js';
4
4
  import { S as SvgIcon } from './svg-icon.component-e09b4bf9.js';
5
5
 
6
6
  const postSkiplinksCss = ":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}";
@@ -39,7 +39,7 @@ const PostSkiplinks = class {
39
39
  if (config === undefined) {
40
40
  return;
41
41
  }
42
- return (h(Host, null, h("nav", { class: "skiplinks" }, h("ul", { class: "no-list" }, h("li", null, h("a", { class: "nav-link", href: config.logo.logoLink, accessKey: "0", title: "[ALT + 0]" }, h("span", null, config.logo.logoLinkTitle), h(SvgIcon, { name: "pi-pointy-arrow-right" }))), h("li", null, h("a", { class: "nav-link", href: "#post-internet-header-main-navigation", accessKey: "1", title: "[ALT + 1]", onClick: () => this.focusMain() }, h("span", null, config.translations.navMainAriaLabel), h(SvgIcon, { name: "pi-pointy-arrow-right" }))), mainId ? (h("li", null, h("a", { class: "nav-link", href: `#${mainId}`, accessKey: "2", title: "[ALT + 2]" }, h("span", null, translate('Go to main content')), h(SvgIcon, { name: "pi-pointy-arrow-right" })))) : null, state.search ? (h("li", null, h("a", { class: "nav-link", href: "#post-internet-header-search-button", accessKey: "3", title: "[ALT + 3]", onClick: () => this.focusSearch() }, h("span", null, translate('Go to search')), h(SvgIcon, { name: "pi-pointy-arrow-right" })))) : null, state.login ? (h("li", null, h("a", { class: "nav-link", href: "#post-klp-login-widget", accessKey: "4", title: "[ALT + 4]", onClick: () => this.focusLogin() }, h("span", null, translate('Go to login')), h(SvgIcon, { name: "pi-pointy-arrow-right" })))) : null))));
42
+ return (h(Host, null, h("div", { class: "skiplinks" }, h("h1", { class: "visually-hidden" }, translate('Navigate on post.ch')), h("ul", { class: "no-list" }, h("li", null, h("a", { class: "nav-link", href: config.logo.logoLink, accessKey: "0", title: "[ALT + 0]" }, h("span", null, config.logo.logoLinkTitle), h(SvgIcon, { name: "pi-pointy-arrow-right" }))), h("li", null, h("a", { class: "nav-link", href: "#post-internet-header-main-navigation", accessKey: "1", title: "[ALT + 1]", onClick: () => this.focusMain() }, h("span", null, config.translations.navMainAriaLabel), h(SvgIcon, { name: "pi-pointy-arrow-right" }))), mainId ? (h("li", null, h("a", { class: "nav-link", href: `#${mainId}`, accessKey: "2", title: "[ALT + 2]" }, h("span", null, translate('Go to main content')), h(SvgIcon, { name: "pi-pointy-arrow-right" })))) : null, state.search ? (h("li", null, h("a", { class: "nav-link", href: "#post-internet-header-search-button", accessKey: "3", title: "[ALT + 3]", onClick: () => this.focusSearch() }, h("span", null, translate('Go to search')), h(SvgIcon, { name: "pi-pointy-arrow-right" })))) : null, state.login ? (h("li", null, h("a", { class: "nav-link", href: "#post-klp-login-widget", accessKey: "4", title: "[ALT + 4]", onClick: () => this.focusLogin() }, h("span", null, translate('Go to login')), h(SvgIcon, { name: "pi-pointy-arrow-right" })))) : null))));
43
43
  }
44
44
  get host() { return getElement(this); }
45
45
  };
@@ -1 +1 @@
1
- {"file":"post-skiplinks.entry.js","mappings":";;;;;AAAA,MAAM,gBAAgB,GAAG,qRAAqR;;MCWjS,aAAa;;;;EAGhB,SAAS;;IACf,OAAO,MAAA,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,0CAAE,YAAY,CAAC,IAAI,CAAC,CAAC;GAC/D;EAEO,QAAQ,CAAC,OAAe;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC5D,IAAI,CAAC,QAAQ,EAAE;MACb,OAAO;KACR;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAmB,OAAO,CAAC,CAAC;IACpE,IAAI,SAAS,EAAE;MACb,SAAS,CAAC,QAAQ,EAAE,CAAC;KACtB;GACF;EAEO,SAAS;IACf,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;GACvC;EAEO,WAAW;IACjB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;GAC9B;EAEO,UAAU;IAChB,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;GACxC;EAED,MAAM;;IACJ,MAAM,MAAM,GAAG,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAEhC,IAAI,MAAM,KAAK,SAAS,EAAE;MACxB,OAAO;KACR;IAED,QACE,EAAC,IAAI,QACH,WAAK,KAAK,EAAC,WAAW,IACpB,UAAI,KAAK,EAAC,SAAS,IACjB,cACE,SAAG,KAAK,EAAC,UAAU,EAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAC,GAAG,EAAC,KAAK,EAAC,WAAW,IAC7E,gBAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAQ,EACxC,EAAC,OAAO,IAAC,IAAI,EAAC,uBAAuB,GAAG,CACtC,CACD,EACL,cACE,SACE,KAAK,EAAC,UAAU,EAChB,IAAI,EAAC,uCAAuC,EAC5C,SAAS,EAAC,GAAG,EACb,KAAK,EAAC,WAAW,EACjB,OAAO,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,IAE/B,gBAAO,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAQ,EACnD,EAAC,OAAO,IAAC,IAAI,EAAC,uBAAuB,GAAG,CACtC,CACD,EACJ,MAAM,IACL,cACE,SAAG,KAAK,EAAC,UAAU,EAAC,IAAI,EAAE,IAAI,MAAM,EAAE,EAAE,SAAS,EAAC,GAAG,EAAC,KAAK,EAAC,WAAW,IACrE,gBAAO,SAAS,CAAC,oBAAoB,CAAC,CAAQ,EAC9C,EAAC,OAAO,IAAC,IAAI,EAAC,uBAAuB,GAAG,CACtC,CACD,IACH,IAAI,EACP,KAAK,CAAC,MAAM,IACX,cACE,SACE,KAAK,EAAC,UAAU,EAChB,IAAI,EAAC,qCAAqC,EAC1C,SAAS,EAAC,GAAG,EACb,KAAK,EAAC,WAAW,EACjB,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,IAEjC,gBAAO,SAAS,CAAC,cAAc,CAAC,CAAQ,EACxC,EAAC,OAAO,IAAC,IAAI,EAAC,uBAAuB,GAAG,CACtC,CACD,IACH,IAAI,EACP,KAAK,CAAC,KAAK,IACV,cACE,SACE,KAAK,EAAC,UAAU,EAChB,IAAI,EAAC,wBAAwB,EAC7B,SAAS,EAAC,GAAG,EACb,KAAK,EAAC,WAAW,EACjB,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,IAEhC,gBAAO,SAAS,CAAC,aAAa,CAAC,CAAQ,EACvC,EAAC,OAAO,IAAC,IAAI,EAAC,uBAAuB,GAAG,CACtC,CACD,IACH,IAAI,CACL,CACD,CACD,EACP;GACH;;;;;;;","names":[],"sources":["./src/components/post-skiplinks/post-skiplinks.scss?tag=post-skiplinks","./src/components/post-skiplinks/post-skiplinks.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.skiplinks {\n a {\n position: absolute;\n top: 0.5rem;\n left: 0.5rem;\n clip: rect(0 0 0 0);\n width: 1px;\n overflow: hidden;\n display: flex;\n align-items: center;\n padding: 0.25rem;\n background: white;\n\n &:focus-visible {\n clip: unset;\n width: auto;\n }\n }\n}\n","import { Component, Host, h, Element } from '@stencil/core';\nimport { state } from '../../data/store';\nimport { FocusableElement } from '../../models/header.model';\nimport { translate } from '../../services/language.service';\nimport { SvgIcon } from '../../utils/svg-icon.component';\n\n@Component({\n tag: 'post-skiplinks',\n styleUrl: 'post-skiplinks.scss',\n shadow: false,\n})\nexport class PostSkiplinks {\n @Element() host: HTMLElement;\n\n private getMainId() {\n return document.querySelector('main[id]')?.getAttribute('id');\n }\n\n private setFocus(tagname: string) {\n const rootHost = this.host.closest('.post-internet-header');\n if (!rootHost) {\n return;\n }\n\n const focusable = rootHost.querySelector<FocusableElement>(tagname);\n if (focusable) {\n focusable.setFocus();\n }\n }\n\n private focusMain() {\n this.setFocus('post-main-navigation');\n }\n\n private focusSearch() {\n this.setFocus('post-search');\n }\n\n private focusLogin() {\n this.setFocus('post-klp-login-widget');\n }\n\n render() {\n const config = state.localizedConfig?.header;\n const mainId = this.getMainId();\n\n if (config === undefined) {\n return;\n }\n\n return (\n <Host>\n <nav class=\"skiplinks\">\n <ul class=\"no-list\">\n <li>\n <a class=\"nav-link\" href={config.logo.logoLink} accessKey=\"0\" title=\"[ALT + 0]\">\n <span>{config.logo.logoLinkTitle}</span>\n <SvgIcon name=\"pi-pointy-arrow-right\" />\n </a>\n </li>\n <li>\n <a\n class=\"nav-link\"\n href=\"#post-internet-header-main-navigation\"\n accessKey=\"1\"\n title=\"[ALT + 1]\"\n onClick={() => this.focusMain()}\n >\n <span>{config.translations.navMainAriaLabel}</span>\n <SvgIcon name=\"pi-pointy-arrow-right\" />\n </a>\n </li>\n {mainId ? (\n <li>\n <a class=\"nav-link\" href={`#${mainId}`} accessKey=\"2\" title=\"[ALT + 2]\">\n <span>{translate('Go to main content')}</span>\n <SvgIcon name=\"pi-pointy-arrow-right\" />\n </a>\n </li>\n ) : null}\n {state.search ? (\n <li>\n <a\n class=\"nav-link\"\n href=\"#post-internet-header-search-button\"\n accessKey=\"3\"\n title=\"[ALT + 3]\"\n onClick={() => this.focusSearch()}\n >\n <span>{translate('Go to search')}</span>\n <SvgIcon name=\"pi-pointy-arrow-right\" />\n </a>\n </li>\n ) : null}\n {state.login ? (\n <li>\n <a\n class=\"nav-link\"\n href=\"#post-klp-login-widget\"\n accessKey=\"4\"\n title=\"[ALT + 4]\"\n onClick={() => this.focusLogin()}\n >\n <span>{translate('Go to login')}</span>\n <SvgIcon name=\"pi-pointy-arrow-right\" />\n </a>\n </li>\n ) : null}\n </ul>\n </nav>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"post-skiplinks.entry.js","mappings":"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","names":[],"sources":["./src/components/post-skiplinks/post-skiplinks.scss?tag=post-skiplinks","./src/components/post-skiplinks/post-skiplinks.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.skiplinks {\n a {\n position: absolute;\n top: 0.5rem;\n left: 0.5rem;\n clip: rect(0 0 0 0);\n width: 1px;\n overflow: hidden;\n display: flex;\n align-items: center;\n padding: 0.25rem;\n background: white;\n\n &:focus-visible {\n clip: unset;\n width: auto;\n }\n }\n}\n","import { Component, Host, h, Element } from '@stencil/core';\nimport { state } from '../../data/store';\nimport { FocusableElement } from '../../models/header.model';\nimport { translate } from '../../services/language.service';\nimport { SvgIcon } from '../../utils/svg-icon.component';\n\n@Component({\n tag: 'post-skiplinks',\n styleUrl: 'post-skiplinks.scss',\n shadow: false,\n})\nexport class PostSkiplinks {\n @Element() host: HTMLElement;\n\n private getMainId() {\n return document.querySelector('main[id]')?.getAttribute('id');\n }\n\n private setFocus(tagname: string) {\n const rootHost = this.host.closest('.post-internet-header');\n if (!rootHost) {\n return;\n }\n\n const focusable = rootHost.querySelector<FocusableElement>(tagname);\n if (focusable) {\n focusable.setFocus();\n }\n }\n\n private focusMain() {\n this.setFocus('post-main-navigation');\n }\n\n private focusSearch() {\n this.setFocus('post-search');\n }\n\n private focusLogin() {\n this.setFocus('post-klp-login-widget');\n }\n\n render() {\n const config = state.localizedConfig?.header;\n const mainId = this.getMainId();\n\n if (config === undefined) {\n return;\n }\n\n return (\n <Host>\n <div class=\"skiplinks\">\n <h1 class=\"visually-hidden\">{translate('Navigate on post.ch')}</h1>\n <ul class=\"no-list\">\n <li>\n <a class=\"nav-link\" href={config.logo.logoLink} accessKey=\"0\" title=\"[ALT + 0]\">\n <span>{config.logo.logoLinkTitle}</span>\n <SvgIcon name=\"pi-pointy-arrow-right\" />\n </a>\n </li>\n <li>\n <a\n class=\"nav-link\"\n href=\"#post-internet-header-main-navigation\"\n accessKey=\"1\"\n title=\"[ALT + 1]\"\n onClick={() => this.focusMain()}\n >\n <span>{config.translations.navMainAriaLabel}</span>\n <SvgIcon name=\"pi-pointy-arrow-right\" />\n </a>\n </li>\n {mainId ? (\n <li>\n <a class=\"nav-link\" href={`#${mainId}`} accessKey=\"2\" title=\"[ALT + 2]\">\n <span>{translate('Go to main content')}</span>\n <SvgIcon name=\"pi-pointy-arrow-right\" />\n </a>\n </li>\n ) : null}\n {state.search ? (\n <li>\n <a\n class=\"nav-link\"\n href=\"#post-internet-header-search-button\"\n accessKey=\"3\"\n title=\"[ALT + 3]\"\n onClick={() => this.focusSearch()}\n >\n <span>{translate('Go to search')}</span>\n <SvgIcon name=\"pi-pointy-arrow-right\" />\n </a>\n </li>\n ) : null}\n {state.login ? (\n <li>\n <a\n class=\"nav-link\"\n href=\"#post-klp-login-widget\"\n accessKey=\"4\"\n title=\"[ALT + 4]\"\n onClick={() => this.focusLogin()}\n >\n <span>{translate('Go to login')}</span>\n <SvgIcon name=\"pi-pointy-arrow-right\" />\n </a>\n </li>\n ) : null}\n </ul>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}