@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.
- package/dist/cjs/index-3216e4c8.js +176 -0
- package/dist/cjs/index-3216e4c8.js.map +1 -0
- package/dist/cjs/{language.service-7dbf739d.js → language.service-41b458b1.js} +6 -1
- package/dist/cjs/language.service-41b458b1.js.map +1 -0
- package/dist/cjs/post-language-switch.cjs.entry.js +1 -1
- package/dist/cjs/post-logo.cjs.entry.js +1 -1
- package/dist/cjs/post-main-navigation.cjs.entry.js +1 -1
- package/dist/cjs/post-search.cjs.entry.js +1 -1
- package/dist/cjs/post-skiplinks.cjs.entry.js +2 -2
- package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +112 -92
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-header.cjs.entry.js +15 -13
- package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
- package/dist/collection/assets/i18n/translations.js +5 -0
- package/dist/collection/assets/i18n/translations.js.map +1 -1
- package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.css +0 -4
- package/dist/collection/components/post-skiplinks/post-skiplinks.js +1 -1
- package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +1 -1
- package/dist/collection/models/general.model.js.map +1 -1
- package/dist/collection/services/config.service.js +5 -3
- package/dist/collection/services/config.service.js.map +1 -1
- package/dist/components/index2.js +67 -35
- package/dist/components/index2.js.map +1 -1
- package/dist/components/language.service.js +5 -0
- package/dist/components/language.service.js.map +1 -1
- package/dist/components/post-skiplinks2.js +1 -1
- package/dist/components/post-skiplinks2.js.map +1 -1
- package/dist/components/swisspost-internet-breadcrumbs.js +110 -90
- package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
- package/dist/components/swisspost-internet-header.js +13 -11
- package/dist/components/swisspost-internet-header.js.map +1 -1
- package/dist/esm/index-d2256e06.js +173 -0
- package/dist/esm/index-d2256e06.js.map +1 -0
- package/dist/esm/{language.service-023d2711.js → language.service-85d8689e.js} +6 -1
- package/dist/esm/language.service-85d8689e.js.map +1 -0
- package/dist/esm/post-language-switch.entry.js +1 -1
- package/dist/esm/post-logo.entry.js +1 -1
- package/dist/esm/post-main-navigation.entry.js +1 -1
- package/dist/esm/post-search.entry.js +1 -1
- package/dist/esm/post-skiplinks.entry.js +2 -2
- package/dist/esm/post-skiplinks.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js +112 -92
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-header.entry.js +15 -13
- package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
- package/dist/esm-es5/index-d2256e06.js +2 -0
- package/dist/esm-es5/index-d2256e06.js.map +1 -0
- package/dist/esm-es5/language.service-85d8689e.js +2 -0
- package/dist/esm-es5/language.service-85d8689e.js.map +1 -0
- package/dist/esm-es5/post-language-switch.entry.js +1 -1
- package/dist/esm-es5/post-logo.entry.js +1 -1
- package/dist/esm-es5/post-main-navigation.entry.js +1 -1
- package/dist/esm-es5/post-search.entry.js +1 -1
- package/dist/esm-es5/post-skiplinks.entry.js +1 -1
- package/dist/esm-es5/post-skiplinks.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +2 -2
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
- package/dist/swisspost-internet-header/p-17a47667.system.js +1 -1
- package/dist/swisspost-internet-header/{p-38d645ba.system.entry.js → p-1f13dad6.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-38d645ba.system.entry.js.map → p-1f13dad6.system.entry.js.map} +0 -0
- package/dist/swisspost-internet-header/{p-5d2fac3b.system.entry.js → p-2df9df9c.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-5d2fac3b.system.entry.js.map → p-2df9df9c.system.entry.js.map} +0 -0
- package/dist/swisspost-internet-header/{p-d33734b5.entry.js → p-2fd9a085.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-d33734b5.entry.js.map → p-2fd9a085.entry.js.map} +0 -0
- package/dist/swisspost-internet-header/p-324563ab.system.js +2 -0
- package/dist/swisspost-internet-header/p-324563ab.system.js.map +1 -0
- package/dist/swisspost-internet-header/p-33ff32c6.entry.js +2 -0
- package/dist/swisspost-internet-header/p-33ff32c6.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-493337e1.system.entry.js → p-38f55161.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-493337e1.system.entry.js.map → p-38f55161.system.entry.js.map} +0 -0
- package/dist/swisspost-internet-header/p-4f39b3a4.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-4f39b3a4.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-5adcac2a.entry.js +6 -0
- package/dist/swisspost-internet-header/p-5adcac2a.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-0cba8ab4.entry.js → p-5b22e42c.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-0cba8ab4.entry.js.map → p-5b22e42c.entry.js.map} +0 -0
- package/dist/swisspost-internet-header/p-733756a9.system.entry.js +7 -0
- package/dist/swisspost-internet-header/p-733756a9.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-322526ef.entry.js → p-812b69b4.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-322526ef.entry.js.map → p-812b69b4.entry.js.map} +0 -0
- package/dist/swisspost-internet-header/p-84d73529.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-84d73529.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-62c5cf26.entry.js → p-908c0350.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-62c5cf26.entry.js.map → p-908c0350.entry.js.map} +0 -0
- package/dist/swisspost-internet-header/p-9b4d5e90.system.js +2 -0
- package/dist/swisspost-internet-header/p-9b4d5e90.system.js.map +1 -0
- package/dist/swisspost-internet-header/p-a6001d1e.js +2 -0
- package/dist/swisspost-internet-header/p-a6001d1e.js.map +1 -0
- package/dist/swisspost-internet-header/p-a74b380d.js +2 -0
- package/dist/swisspost-internet-header/p-a74b380d.js.map +1 -0
- package/dist/swisspost-internet-header/p-c565414e.entry.js +2 -0
- package/dist/swisspost-internet-header/p-c565414e.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-db87f3e3.system.entry.js → p-c5f85f6e.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-db87f3e3.system.entry.js.map → p-c5f85f6e.system.entry.js.map} +0 -0
- package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
- package/dist/types/assets/i18n/translations.d.ts +5 -0
- package/dist/types/models/general.model.d.ts +1 -1
- package/dist/types/services/language.service.d.ts +5 -0
- package/package.json +8 -8
- package/dist/cjs/index-e7245d60.js +0 -144
- package/dist/cjs/index-e7245d60.js.map +0 -1
- package/dist/cjs/language.service-7dbf739d.js.map +0 -1
- package/dist/esm/index-a75df186.js +0 -141
- package/dist/esm/index-a75df186.js.map +0 -1
- package/dist/esm/language.service-023d2711.js.map +0 -1
- package/dist/esm-es5/index-a75df186.js +0 -2
- package/dist/esm-es5/index-a75df186.js.map +0 -1
- package/dist/esm-es5/language.service-023d2711.js +0 -2
- package/dist/esm-es5/language.service-023d2711.js.map +0 -1
- package/dist/swisspost-internet-header/p-0942595f.js +0 -2
- package/dist/swisspost-internet-header/p-0942595f.js.map +0 -1
- package/dist/swisspost-internet-header/p-3753a678.system.js +0 -2
- package/dist/swisspost-internet-header/p-3753a678.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-3df823de.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-3df823de.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-69c64c29.js +0 -2
- package/dist/swisspost-internet-header/p-69c64c29.js.map +0 -1
- package/dist/swisspost-internet-header/p-715ebef7.system.entry.js +0 -7
- package/dist/swisspost-internet-header/p-715ebef7.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-7709ed5c.entry.js +0 -2
- package/dist/swisspost-internet-header/p-7709ed5c.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-c8296f63.system.js +0 -2
- package/dist/swisspost-internet-header/p-c8296f63.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-ccb522ba.entry.js +0 -2
- package/dist/swisspost-internet-header/p-ccb522ba.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-cfa787d7.entry.js +0 -6
- package/dist/swisspost-internet-header/p-cfa787d7.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-f38f38f4.system.entry.js +0 -2
- 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-
|
|
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("
|
|
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 <
|
|
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}
|