@postnord/pn-marketweb-components 1.0.19 → 1.0.24

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 (63) hide show
  1. package/cjs/loader.cjs.js +1 -1
  2. package/cjs/pn-filter-checkbox.cjs.entry.js +68 -0
  3. package/cjs/pn-language-selector_9.cjs.entry.js +29 -13
  4. package/cjs/pn-mainnav-link.cjs.entry.js +1 -1
  5. package/cjs/{pn-mainnav-store-661b0b11.js → pn-mainnav-store-87a95686.js} +1 -0
  6. package/cjs/pn-market-web-components.cjs.js +1 -1
  7. package/cjs/pn-marketweb-siteheader.cjs.entry.js +29 -8
  8. package/collection/collection-manifest.json +1 -0
  9. package/collection/components/input/pn-filter-checkbox/checkbox.stories.js +34 -0
  10. package/collection/components/input/pn-filter-checkbox/pn-filter-checkbox.css +73 -0
  11. package/collection/components/input/pn-filter-checkbox/pn-filter-checkbox.js +184 -0
  12. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js +44 -5
  13. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-loginmanager.js +9 -5
  14. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.js +77 -8
  15. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.stories.js +18 -3
  16. package/collection/components/navigation/pn-language-selector/pn-language-selector.js +19 -2
  17. package/collection/components/navigation/pn-mainnav/pn-mainnav-level.css +4 -0
  18. package/collection/components/navigation/pn-mainnav/pn-mainnav-level.js +5 -1
  19. package/collection/components/navigation/pn-mainnav/pn-mainnav-store.js +1 -0
  20. package/collection/components/navigation/pn-mainnav/pn-mainnav.js +1 -1
  21. package/custom-elements/index.d.ts +6 -0
  22. package/custom-elements/index.js +127 -24
  23. package/esm/loader.js +1 -1
  24. package/esm/pn-filter-checkbox.entry.js +64 -0
  25. package/esm/pn-language-selector_9.entry.js +30 -14
  26. package/esm/pn-mainnav-link.entry.js +1 -1
  27. package/esm/{pn-mainnav-store-4b030e31.js → pn-mainnav-store-8e518460.js} +1 -0
  28. package/esm/pn-market-web-components.js +1 -1
  29. package/esm/pn-marketweb-siteheader.entry.js +29 -8
  30. package/esm-es5/loader.js +1 -1
  31. package/esm-es5/pn-filter-checkbox.entry.js +1 -0
  32. package/esm-es5/pn-language-selector_9.entry.js +1 -1
  33. package/esm-es5/pn-mainnav-link.entry.js +1 -1
  34. package/esm-es5/pn-mainnav-store-8e518460.js +1 -0
  35. package/esm-es5/pn-market-web-components.js +1 -1
  36. package/esm-es5/pn-marketweb-siteheader.entry.js +1 -1
  37. package/package.json +2 -2
  38. package/pn-market-web-components/p-015a433e.entry.js +1 -0
  39. package/pn-market-web-components/{p-facf4ecb.system.entry.js → p-251d44f2.system.entry.js} +1 -1
  40. package/pn-market-web-components/p-25bdf3f8.system.js +1 -1
  41. package/pn-market-web-components/p-4feb3557.system.entry.js +1 -0
  42. package/pn-market-web-components/p-86a9f853.system.js +1 -0
  43. package/pn-market-web-components/p-88ab0d91.system.entry.js +1 -0
  44. package/pn-market-web-components/p-8dad5ed9.js +1 -0
  45. package/pn-market-web-components/p-96c77769.entry.js +1 -0
  46. package/pn-market-web-components/p-d7441208.entry.js +1 -0
  47. package/pn-market-web-components/{p-f7d60229.entry.js → p-e220ea83.entry.js} +1 -1
  48. package/pn-market-web-components/p-eb814816.system.entry.js +1 -0
  49. package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
  50. package/types/components/input/pn-filter-checkbox/pn-filter-checkbox.d.ts +22 -0
  51. package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.d.ts +3 -0
  52. package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-loginmanager.d.ts +7 -2
  53. package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.d.ts +8 -1
  54. package/types/components/navigation/pn-language-selector/pn-language-selector.d.ts +2 -0
  55. package/types/components/navigation/pn-mainnav/pn-mainnav-store.d.ts +2 -0
  56. package/types/components.d.ts +63 -0
  57. package/esm-es5/pn-mainnav-store-4b030e31.js +0 -1
  58. package/pn-market-web-components/p-14f9acfd.entry.js +0 -1
  59. package/pn-market-web-components/p-2da203c9.system.entry.js +0 -1
  60. package/pn-market-web-components/p-582dbd9c.entry.js +0 -1
  61. package/pn-market-web-components/p-6b735c44.system.js +0 -1
  62. package/pn-market-web-components/p-7f853b67.system.entry.js +0 -1
  63. package/pn-market-web-components/p-a74e5481.js +0 -1
package/cjs/loader.cjs.js CHANGED
@@ -14,7 +14,7 @@ const patchEsm = () => {
14
14
  const defineCustomElements = (win, options) => {
15
15
  if (typeof window === 'undefined') return Promise.resolve();
16
16
  return patchEsm().then(() => {
17
- return index.bootstrapLazy([["pn-marketweb-siteheader.cjs",[[4,"pn-marketweb-siteheader",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"hideSiteSelector":[1540,"hide-site-selector"],"hideLanguageSelector":[1540,"hide-language-selector"],"hideSearch":[1540,"hide-search"],"hideLogin":[1540,"hide-login"],"i18n":[32],"gotData":[32],"fetchingData":[32],"menuItems":[32],"siteDefinition":[32],"search":[32],"siteSelector":[32],"languageSelector":[32],"loginDialog":[32],"minimizeSearch":[32]},[[9,"resize","handleResize"]]]]],["pn-find-service-and-price.cjs",[[0,"pn-find-service-and-price",{"source":[1],"language":[1025],"market":[1025],"filteredItems":[32],"postagetype":[32],"weight":[32],"weightvalue":[32],"deliveryscope":[32],"sourceData":[32]}]]],["pn-product-pricelist.cjs",[[4,"pn-product-pricelist",{"source":[1],"language":[1025],"market":[1025],"productid":[1],"filteredItems":[32],"sourceData":[32],"gotData":[32],"loading":[32],"postagetype":[32],"weight":[32],"weightvalue":[32]}]]],["pn-marketweb-sitefooter.cjs",[[0,"pn-marketweb-sitefooter",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"siteDefinition":[32],"footerContent":[32],"i18n":[32],"gotData":[32],"fetchingData":[32]}]]],["pn-filter-search.cjs",[[1,"pn-filter-search",{"disabled":[4],"placeholder":[1],"inputid":[1],"name":[1],"autocomplete":[1],"value":[1],"label":[1],"loading":[4],"button":[1],"light":[4]},[[0,"input","inputHandler"]]]]],["pn-sidenav.cjs",[[4,"pn-sidenav",{"language":[1],"navLabel":[1,"nav-label"],"i18n":[32]},[[0,"language","setLanguage"],[0,"openSubMenuLevelChange","onOpenSubMenuLevelChange"]]]]],["pn-sidenav-level.cjs",[[4,"pn-sidenav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"alignment":[32]}]]],["pn-sidenav-link.cjs",[[4,"pn-sidenav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"icon":[1],"current":[4],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["pn-product-pricelist-result.cjs",[[0,"pn-product-pricelist-result",{"item":[1040],"shownitems":[16],"weightText":[32]}]]],["pn-choice-button_2.cjs",[[0,"pn-find-service-and-price-result",{"item":[1040],"shownitems":[16],"weightText":[32]}],[4,"pn-choice-button",{"value":[520],"name":[1],"choiceid":[1],"type":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["pn-site-footer_2.cjs",[[4,"pn-site-footer",{"url":[1]}],[4,"pn-site-footer-col"]]],["pn-mainnav-link.cjs",[[4,"pn-mainnav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["pn-language-selector_9.cjs",[[4,"pn-mainnav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"listCount":[32],"alignment":[32]}],[4,"pn-language-selector",{"value":[513],"selectedLanguageName":[32],"options":[32],"i18n":[32]}],[0,"pn-language-selector-option",{"name":[1],"code":[1],"url":[1],"selected":[4],"currentLanguage":[1,"current-language"]}],[4,"pn-mainnav",{"market":[1],"language":[1],"navigationId":[1,"navigation-id"],"openMenu":[1028,"open-menu"],"navLabel":[1,"nav-label"]},[[0,"language","setLanguage"],[0,"market","setMarket"],[0,"menuLanguageChange","onLanguageChange"],[0,"setmenuopenstate","setMenuOpenState"],[0,"openMenuLevelChange","onOpenMenuLevelChange"]]],[4,"pn-mainnav-list",{"heading":[1],"linkCount":[32]}],[0,"pn-marketweb-siteheader-login",{"endpoint":[1],"i18n":[8,"i-1-8n"],"loginDialog":[1040],"loginManager":[32],"loggedIn":[32],"toggleButtonText":[32]}],[0,"pn-marketweb-siteheader-search",{"i18n":[8,"i-1-8n"],"showOnlyLink":[1028,"show-only-link"],"hideSearch":[1028,"hide-search"],"search":[1040]}],[4,"pn-site-selector",{"buttontext":[1537],"heading":[1537],"language":[1537],"i18n":[32]}],[0,"pn-site-selector-item",{"url":[1],"heading":[1],"description":[1],"newwindow":[4]}]]],["pn-product-tile_3.cjs",[[4,"pn-product-tile"],[0,"pn-product-tile-info",{"label":[1],"text":[1],"icon":[1]}],[0,"pn-product-tile-price",{"label":[1],"amount":[1],"currency":[1],"url":[1]}]]]], options);
17
+ return index.bootstrapLazy([["pn-marketweb-siteheader.cjs",[[4,"pn-marketweb-siteheader",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"hideSiteSelector":[1540,"hide-site-selector"],"hideLanguageSelector":[1540,"hide-language-selector"],"hideSearch":[1540,"hide-search"],"hideLogin":[1540,"hide-login"],"sessionForward":[4,"session-forward"],"spaMode":[4,"spa-mode"],"i18n":[32],"gotData":[32],"fetchingData":[32],"menuItems":[32],"siteDefinition":[32],"search":[32],"siteSelector":[32],"languageSelector":[32],"loginDialog":[32],"minimizeSearch":[32]},[[0,"setLanguage","onLanguageSelectorChange"],[0,"loginStateChange","onLoginStateChange"],[9,"resize","handleResize"]]]]],["pn-find-service-and-price.cjs",[[0,"pn-find-service-and-price",{"source":[1],"language":[1025],"market":[1025],"filteredItems":[32],"postagetype":[32],"weight":[32],"weightvalue":[32],"deliveryscope":[32],"sourceData":[32]}]]],["pn-product-pricelist.cjs",[[4,"pn-product-pricelist",{"source":[1],"language":[1025],"market":[1025],"productid":[1],"filteredItems":[32],"sourceData":[32],"gotData":[32],"loading":[32],"postagetype":[32],"weight":[32],"weightvalue":[32]}]]],["pn-marketweb-sitefooter.cjs",[[0,"pn-marketweb-sitefooter",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"siteDefinition":[32],"footerContent":[32],"i18n":[32],"gotData":[32],"fetchingData":[32]}]]],["pn-filter-checkbox.cjs",[[1,"pn-filter-checkbox",{"value":[520],"name":[1],"checkboxid":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["pn-filter-search.cjs",[[1,"pn-filter-search",{"disabled":[4],"placeholder":[1],"inputid":[1],"name":[1],"autocomplete":[1],"value":[1],"label":[1],"loading":[4],"button":[1],"light":[4]},[[0,"input","inputHandler"]]]]],["pn-sidenav.cjs",[[4,"pn-sidenav",{"language":[1],"navLabel":[1,"nav-label"],"i18n":[32]},[[0,"language","setLanguage"],[0,"openSubMenuLevelChange","onOpenSubMenuLevelChange"]]]]],["pn-sidenav-level.cjs",[[4,"pn-sidenav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"alignment":[32]}]]],["pn-sidenav-link.cjs",[[4,"pn-sidenav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"icon":[1],"current":[4],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["pn-product-pricelist-result.cjs",[[0,"pn-product-pricelist-result",{"item":[1040],"shownitems":[16],"weightText":[32]}]]],["pn-choice-button_2.cjs",[[0,"pn-find-service-and-price-result",{"item":[1040],"shownitems":[16],"weightText":[32]}],[4,"pn-choice-button",{"value":[520],"name":[1],"choiceid":[1],"type":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["pn-site-footer_2.cjs",[[4,"pn-site-footer",{"url":[1]}],[4,"pn-site-footer-col"]]],["pn-mainnav-link.cjs",[[4,"pn-mainnav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["pn-language-selector_9.cjs",[[4,"pn-mainnav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"listCount":[32],"alignment":[32]}],[4,"pn-language-selector",{"value":[1537],"selectedLanguageName":[32],"options":[32],"i18n":[32]}],[0,"pn-language-selector-option",{"name":[1],"code":[1],"url":[1],"selected":[4],"currentLanguage":[1,"current-language"]}],[4,"pn-mainnav",{"market":[1],"language":[1],"navigationId":[1,"navigation-id"],"openMenu":[1028,"open-menu"],"navLabel":[1,"nav-label"]},[[0,"language","setLanguage"],[0,"market","setMarket"],[0,"menuLanguageChange","onLanguageChange"],[0,"setmenuopenstate","setMenuOpenState"],[0,"openMenuLevelChange","onOpenMenuLevelChange"]]],[4,"pn-mainnav-list",{"heading":[1],"linkCount":[32]}],[0,"pn-marketweb-siteheader-login",{"endpoint":[1],"i18n":[8,"i-1-8n"],"emitEvents":[4,"emit-events"],"loginDialog":[1040],"loginManager":[32],"loggedIn":[32],"toggleButtonText":[32]}],[0,"pn-marketweb-siteheader-search",{"i18n":[8,"i-1-8n"],"showOnlyLink":[1028,"show-only-link"],"hideSearch":[1028,"hide-search"],"search":[1040]}],[4,"pn-site-selector",{"buttontext":[1537],"heading":[1537],"language":[1537],"i18n":[32]}],[0,"pn-site-selector-item",{"url":[1],"heading":[1],"description":[1],"newwindow":[4]}]]],["pn-product-tile_3.cjs",[[4,"pn-product-tile"],[0,"pn-product-tile-info",{"label":[1],"text":[1],"icon":[1]}],[0,"pn-product-tile-price",{"label":[1],"amount":[1],"currency":[1],"url":[1]}]]]], options);
18
18
  });
19
19
  };
20
20
 
@@ -0,0 +1,68 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-0404c97e.js');
6
+
7
+ const pnFilterCheckboxCss = ":host{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host input{opacity:0;position:absolute}:host input[type=checkbox]+label.pn-checkbox{width:1.5em;min-width:1.5em;height:1.5em;min-height:1.5em;background:#fff;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;position:relative;border:0.1rem solid #969087;cursor:pointer;border-radius:0.4rem;cursor:pointer;-webkit-transition-duration:220ms;transition-duration:220ms;-webkit-transition-timing-function:cubic-bezier(0.79, 0.14, 0.15, 0.86);transition-timing-function:cubic-bezier(0.79, 0.14, 0.15, 0.86);-webkit-transition-property:border, background, -webkit-box-shadow;transition-property:border, background, -webkit-box-shadow;transition-property:border, background, box-shadow;transition-property:border, background, box-shadow, -webkit-box-shadow}:host input[type=checkbox]+label.pn-checkbox svg{width:80%;fill:none}:host input[type=checkbox]+label.pn-checkbox svg polyline{stroke:#FFF;-webkit-transform-origin:0 0;transform-origin:0 0;stroke-linecap:round;stroke-dasharray:23;stroke-dashoffset:23;-webkit-transition-delay:none;transition-delay:none;-webkit-transition:stroke-dashoffset 180ms cubic-bezier(0.79, 0.14, 0.15, 0.86);transition:stroke-dashoffset 180ms cubic-bezier(0.79, 0.14, 0.15, 0.86)}:host input[type=checkbox]:hover+label.pn-checkbox{border:0.1rem solid #005D92;background:#E0F8FF}:host input[type=checkbox]:checked+label.pn-checkbox,:host input[type=checkbox]:indeterminate+label.pn-checkbox{background:#005D92;border:0.1rem solid #005D92}:host input[type=checkbox]:checked+label.pn-checkbox svg polyline,:host input[type=checkbox]:indeterminate+label.pn-checkbox svg polyline{-webkit-transition-delay:220ms;transition-delay:220ms}:host input[type=checkbox]:checked+label.pn-checkbox svg polyline.checkmark-path{stroke-dashoffset:0}:host input[type=checkbox]:indeterminate+label.pn-checkbox svg polyline.indeterminate-path{stroke-dashoffset:0}:host input[type=checkbox]:focus+label.pn-checkbox,:host input[type=checkbox]:active+label.pn-checkbox{-webkit-box-shadow:0 0 0 0.1rem white, 0 0 0 0.3rem #005D92;box-shadow:0 0 0 0.1rem white, 0 0 0 0.3rem #005D92}:host input[type=checkbox]:disabled+label.pn-checkbox{background-color:#D3CECB;border:0.1rem solid #969087;cursor:not-allowed}:host input[type=checkbox]:disabled+label.pn-checkbox svg polyline{stroke:#969087}:host input[type=checkbox]:disabled:checked+label.pn-checkbox{border:0.1rem solid transparent}:host input[type=checkbox]:disabled:active+label.pn-checkbox{-webkit-box-shadow:none;box-shadow:none}";
8
+
9
+ let PnFilterCheckbox = class {
10
+ constructor(hostRef) {
11
+ index.registerInstance(this, hostRef);
12
+ this.disabled = false;
13
+ this.checked = false;
14
+ this.indeterminate = false;
15
+ }
16
+ handlechange() {
17
+ this.indeterminate = false;
18
+ }
19
+ componentDidLoad() {
20
+ this.checkAndSetIndeterminateState();
21
+ this.bindEvents();
22
+ }
23
+ componentDidUpdate() {
24
+ this.checkAndSetIndeterminateState();
25
+ }
26
+ bindEvents() {
27
+ const labels = document.querySelectorAll('label[for="' + this.checkboxid + '"]');
28
+ labels.forEach((label) => {
29
+ label.addEventListener('click', () => {
30
+ this.hostElement.shadowRoot.querySelector('label').click();
31
+ });
32
+ });
33
+ const checkboxInput = this.hostElement.shadowRoot.querySelector('input');
34
+ checkboxInput.addEventListener('change', this.onCheckboxChange.bind(this, checkboxInput));
35
+ }
36
+ onCheckboxChange(checkboxInput) {
37
+ let outsideInput = this.hostElement.querySelector("input.hidden-" + this.checkboxid);
38
+ if (outsideInput) {
39
+ outsideInput.value = (checkboxInput.checked) ? this.value : "";
40
+ outsideInput.dispatchEvent(new CustomEvent("change", { detail: outsideInput }));
41
+ }
42
+ }
43
+ checkAndSetIndeterminateState() {
44
+ let checkbox = this.hostElement.querySelector(`#${this.checkboxid}`);
45
+ if (checkbox) {
46
+ checkbox.indeterminate = this.indeterminate;
47
+ }
48
+ }
49
+ renderInputOutsideShadowRoot() {
50
+ var _a;
51
+ let input = this.hostElement.querySelector("input.hidden-" + this.checkboxid);
52
+ if (!input) {
53
+ input = this.hostElement.ownerDocument.createElement("input");
54
+ input.type = "hidden";
55
+ input.classList.add("hidden-" + this.checkboxid);
56
+ this.hostElement.appendChild(input);
57
+ }
58
+ input.name = (_a = this.name) !== null && _a !== void 0 ? _a : this.checkboxid;
59
+ }
60
+ render() {
61
+ this.renderInputOutsideShadowRoot();
62
+ return (index.h(index.Host, { checked: this.checked, id: this.checkboxid }, index.h("input", { type: "checkbox", id: this.checkboxid, value: this.value, name: this.name || this.checkboxid, disabled: this.disabled, checked: this.checked }), index.h("label", { htmlFor: this.checkboxid, class: "pn-checkbox" }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none" }, index.h("polyline", { class: "checkmark-path", points: "4,12 9,17 20,6", "stroke-width": "3" }), index.h("polyline", { class: "indeterminate-path", points: "4,12 20,12", "stroke-width": "3" })))));
63
+ }
64
+ get hostElement() { return index.getElement(this); }
65
+ };
66
+ PnFilterCheckbox.style = pnFilterCheckboxCss;
67
+
68
+ exports.pn_filter_checkbox = PnFilterCheckbox;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-0404c97e.js');
6
- const pnMainnavStore = require('./pn-mainnav-store-661b0b11.js');
6
+ const pnMainnavStore = require('./pn-mainnav-store-87a95686.js');
7
7
  require('./index-ea886985.js');
8
8
 
9
9
  const translations$1 = {
@@ -29,6 +29,7 @@ const pnLanguageSelectorCss = ".languageselector{position:relative}.languagesele
29
29
  let PnlanguageSelector = class {
30
30
  constructor(hostRef) {
31
31
  index.registerInstance(this, hostRef);
32
+ this.setLanguage = index.createEvent(this, "setLanguage", 7);
32
33
  /* Current language code */
33
34
  this.value = "";
34
35
  this.selectedLanguageName = "";
@@ -68,6 +69,7 @@ let PnlanguageSelector = class {
68
69
  onSetCurrentLanguage(option) {
69
70
  this.value = option.code;
70
71
  this.selectedLanguageName = option.name;
72
+ this.setLanguage.emit(this.value);
71
73
  }
72
74
  setTranslations() {
73
75
  if (translations$1[this.value]) {
@@ -217,13 +219,13 @@ let PnMainnav = class {
217
219
  pnMainnavStore.state.openLevel = event.detail;
218
220
  }
219
221
  render() {
220
- return (index.h(index.Host, null, index.h("div", { class: "mainnav-toggle" }, index.h("button", { "aria-controls": this.navigationId, "aria-expanded": pnMainnavStore.state.openMenu + '', onClick: this.setMenuOpenState.bind(this) }, pnMainnavStore.state.i18n.mainMenuButton, index.h("pn-icon", { symbol: pnMainnavStore.state.openMenu ? "close" : "bars", color: "white" }))), index.h("nav", { class: "mainnav", "aria-label": this.navLabel, "data-menu-open": pnMainnavStore.state.openMenu + '', id: this.navigationId }, index.h("slot", null))));
222
+ return (index.h(index.Host, null, index.h("div", { class: "mainnav-toggle" }, index.h("button", { "aria-controls": this.navigationId, "aria-expanded": pnMainnavStore.state.openMenu + '', onClick: this.setMenuOpenState.bind(this) }, pnMainnavStore.state.i18n.mainMenuButton, index.h("pn-icon", { symbol: pnMainnavStore.state.openMenu ? "close" : "bars", color: "white" }))), index.h("nav", { class: "mainnav", "aria-label": this.navLabel, "data-menu-open": pnMainnavStore.state.openMenu + '', "data-menu-currentlevel": pnMainnavStore.state.currentLevel, id: this.navigationId }, index.h("slot", null))));
221
223
  }
222
224
  get hostElement() { return index.getElement(this); }
223
225
  };
224
226
  PnMainnav.style = pnMainnavCss;
225
227
 
226
- const pnMainnavLevelCss = "pn-mainnav-level{display:block}pn-mainnav-level[data-level=\"1\"]{width:100%;right:0;overflow-y:scroll;overflow-x:hidden;-ms-flex:1;flex:1}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"1\"]{width:auto;overflow:initial}pn-mainnav-level[data-level=\"1\"]::-webkit-scrollbar{display:none}}pn-mainnav-level[data-level=\"2\"]{position:absolute;top:0;bottom:0;left:0;width:100vw;padding:0;background-color:#FFFFFF;z-index:1;-webkit-transform:translateX(100vw);transform:translateX(100vw);-webkit-transition:-webkit-transform 0.2s 0s;transition:-webkit-transform 0.2s 0s;transition:transform 0.2s 0s;transition:transform 0.2s 0s, -webkit-transform 0.2s 0s;-webkit-transition-property:visibility, -webkit-transform;transition-property:visibility, -webkit-transform;transition-property:transform, visibility;transition-property:transform, visibility, -webkit-transform;overflow:scroll;visibility:hidden}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"]{left:0;top:calc(100% + 1rem);bottom:auto;border-radius:1.6rem;width:auto;padding:1.6rem 1.6rem 0 1.6rem;-webkit-box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);-moz-box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);height:auto;z-index:3;display:none}pn-mainnav-level[data-level=\"2\"][data-menuitem-rightaligned=true]{right:0;left:unset}}@media screen and (max-height: 33.125em){pn-mainnav-level[data-level=\"2\"]{-ms-overflow-style:none;scrollbar-width:none}pn-mainnav-level[data-level=\"2\"]::-webkit-scrollbar{display:none}}pn-mainnav-level[data-level=\"2\"][aria-hidden=false]{-webkit-transform:translateX(0);transform:translateX(0);visibility:visible}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"][aria-hidden=false]{display:block;overflow:visible}pn-mainnav-level[data-level=\"2\"][aria-hidden=false]:not([data-level-listcount=\"1\"]){display:grid;grid-template-columns:minmax(12em, 20em) 1fr;grid-template-rows:auto auto;gap:0px 1.6rem;grid-template-areas:\"top top\" \"left right\"}}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"][data-level-alignment=left]{right:0;left:unset}}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"][data-level-alignment=center]{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}}pn-mainnav-level[data-level=\"2\"] a{color:#005D92;text-decoration:none}pn-mainnav-level [slot=top]{display:-ms-flexbox;display:flex}@media screen and (min-width: 48em){pn-mainnav-level [slot=top]{display:none}}.mainnav-level-header{grid-area:top}.mainnav-level-header>label{position:absolute;width:0.1rem;height:0.1rem;padding:0;margin:-0.1rem;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;white-space:nowrap}.mainnav-level-header>button{display:block;position:relative;border:none;background-color:transparent;color:#005D92;padding:2.4rem 0 2.4rem 6.2rem;width:100%;text-align:left}@media screen and (min-width: 64em){.mainnav-level-header>button{display:none;speak:none}}.mainnav-level-header>button>pn-icon{speak:none;position:absolute;height:2.4rem;width:2.4rem;left:3rem;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-level=\"2\"] .mainnav-level-header>pn-mainnav-link>a{font-size:2.4rem}";
228
+ const pnMainnavLevelCss = "pn-mainnav-level{display:block}pn-mainnav-level[data-level=\"1\"]{width:100%;right:0;overflow-y:scroll;overflow-x:hidden;-ms-flex:1;flex:1}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"1\"]{width:auto;overflow:initial}pn-mainnav-level[data-level=\"1\"]::-webkit-scrollbar{display:none}}pn-mainnav-level[data-level=\"2\"]{position:absolute;top:0;bottom:0;left:0;width:100vw;padding:0;background-color:#FFFFFF;z-index:1;-webkit-transform:translateX(100vw);transform:translateX(100vw);-webkit-transition:-webkit-transform 0.2s 0s;transition:-webkit-transform 0.2s 0s;transition:transform 0.2s 0s;transition:transform 0.2s 0s, -webkit-transform 0.2s 0s;-webkit-transition-property:visibility, -webkit-transform;transition-property:visibility, -webkit-transform;transition-property:transform, visibility;transition-property:transform, visibility, -webkit-transform;overflow:scroll;visibility:hidden}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"]{left:0;top:calc(100% + 1rem);bottom:auto;border-radius:1.6rem;width:auto;padding:1.6rem 1.6rem 0 1.6rem;-webkit-box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);-moz-box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);height:auto;z-index:3;display:none}pn-mainnav-level[data-level=\"2\"][data-menuitem-rightaligned=true]{right:0;left:unset}}@media screen and (max-height: 33.125em){pn-mainnav-level[data-level=\"2\"]{-ms-overflow-style:none;scrollbar-width:none}pn-mainnav-level[data-level=\"2\"]::-webkit-scrollbar{display:none}}pn-mainnav-level[data-level=\"2\"][aria-hidden=false]{-webkit-transform:translateX(0);transform:translateX(0);visibility:visible}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"][aria-hidden=false]{display:block;overflow:visible}pn-mainnav-level[data-level=\"2\"][aria-hidden=false]:not([data-level-listcount=\"1\"]){display:grid;grid-template-columns:minmax(12em, 20em) 1fr;grid-template-rows:auto auto;gap:0px 1.6rem;grid-template-areas:\"top top\" \"left right\"}}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"][data-level-alignment=left]{right:0;left:unset}}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"][data-level-alignment=center]{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}}pn-mainnav-level[data-level=\"2\"] a{color:#005D92;text-decoration:none}pn-mainnav-level [slot=top]{display:-ms-flexbox;display:flex}@media screen and (min-width: 48em){pn-mainnav-level [slot=top]{display:none}}[data-menu-currentlevel=\"2\"] pn-mainnav-level [slot=footer]{display:none;-ms-scroll-chaining:none;overscroll-behavior:contain}.mainnav-level-header{grid-area:top}.mainnav-level-header>label{position:absolute;width:0.1rem;height:0.1rem;padding:0;margin:-0.1rem;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;white-space:nowrap}.mainnav-level-header>button{display:block;position:relative;border:none;background-color:transparent;color:#005D92;padding:2.4rem 0 2.4rem 6.2rem;width:100%;text-align:left}@media screen and (min-width: 64em){.mainnav-level-header>button{display:none;speak:none}}.mainnav-level-header>button>pn-icon{speak:none;position:absolute;height:2.4rem;width:2.4rem;left:3rem;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-level=\"2\"] .mainnav-level-header>pn-mainnav-link>a{font-size:2.4rem}";
227
229
 
228
230
  let PnMainnavLevel = class {
229
231
  constructor(hostRef) {
@@ -282,9 +284,13 @@ let PnMainnavLevel = class {
282
284
  }
283
285
  onChangeOpenLevel() {
284
286
  this.isOpen = pnMainnavStore.state.openLevel === this.levelId;
287
+ pnMainnavStore.state.currentLevel = this.level;
285
288
  }
286
289
  render() {
287
- return (index.h(index.Host, Object.assign({ role: "navigation" }, ((this.level > 1 && this.levelId) ? { 'aria-hidden': (!this.isOpen) + '' } : {}), { "data-level-listcount": this.listCount + '', "data-level-alignment": this.alignment, "data-level": this.level + '' }, (this.levelId ? { id: this.levelId } : {})), (this.level > 1) ? (index.h("div", { class: "mainnav-level-header" }, index.h("label", { htmlFor: this.levelId }, pnMainnavStore.state.i18n.menuGoBackButton), index.h("button", { class: "secondlevel-backbtn", onClick: () => pnMainnavStore.state.openLevel = '', "aria-expanded": (pnMainnavStore.state.openLevel === this.levelId) + '' }, index.h("pn-icon", { symbol: "arrow-left", color: "blue700" }), pnMainnavStore.state.i18n.menuStartButton), (this.parentHref && this.parentName) ? index.h("pn-mainnav-link", { href: this.parentHref, name: this.parentName, linkid: this.parentLinkId }) : null)) : null, index.h("slot", { name: "top" }), index.h("slot", null), index.h("slot", { name: "additional" }), index.h("slot", { name: "footer" })));
290
+ return (index.h(index.Host, Object.assign({ role: "navigation" }, ((this.level > 1 && this.levelId) ? { 'aria-hidden': (!this.isOpen) + '' } : {}), { "data-level-listcount": this.listCount + '', "data-level-alignment": this.alignment, "data-level": this.level + '' }, (this.levelId ? { id: this.levelId } : {})), (this.level > 1) ? (index.h("div", { class: "mainnav-level-header" }, index.h("label", { htmlFor: this.levelId }, pnMainnavStore.state.i18n.menuGoBackButton), index.h("button", { class: "secondlevel-backbtn", onClick: () => {
291
+ pnMainnavStore.state.openLevel = '';
292
+ pnMainnavStore.state.currentLevel = 1;
293
+ }, "aria-expanded": (pnMainnavStore.state.openLevel === this.levelId) + '' }, index.h("pn-icon", { symbol: "arrow-left", color: "blue700" }), pnMainnavStore.state.i18n.menuStartButton), (this.parentHref && this.parentName) ? index.h("pn-mainnav-link", { href: this.parentHref, name: this.parentName, linkid: this.parentLinkId }) : null)) : null, index.h("slot", { name: "top" }), index.h("slot", null), index.h("slot", { name: "additional" }), index.h("slot", { name: "footer" })));
288
294
  }
289
295
  get hostElement() { return index.getElement(this); }
290
296
  static get watchers() { return {
@@ -422,10 +428,11 @@ class PNLoginManager {
422
428
  const params = new URLSearchParams(window.location.search);
423
429
  if (params.get("oneTimeCode")) {
424
430
  const oneTimeCode = params.get("oneTimeCode");
425
- this.getToken(oneTimeCode);
426
- const currentHref = window.location.href;
427
- const paramPrefix = (currentHref.indexOf('?oneTimeCode') !== -1) ? "?" : "&";
428
- history.replaceState({}, document.querySelector('title').innerText, currentHref.replace(`${paramPrefix}oneTimeCode=${oneTimeCode}`, ''));
431
+ this.exchangeToken(oneTimeCode).then(() => {
432
+ const currentHref = window.location.href;
433
+ const paramPrefix = (currentHref.indexOf('?oneTimeCode') !== -1) ? "?" : "&";
434
+ history.replaceState({}, document.querySelector('title').innerText, currentHref.replace(`${paramPrefix}oneTimeCode=${oneTimeCode}`, ''));
435
+ });
429
436
  }
430
437
  }
431
438
  async fetchUserInfo() {
@@ -461,7 +468,10 @@ class PNLoginManager {
461
468
  this.store.remove(this.keys.expire);
462
469
  this.store.remove(this.keys.expireDate);
463
470
  }
464
- async getToken(oneTimeCode) {
471
+ getToken() {
472
+ return this.store.get(this.keys.token);
473
+ }
474
+ async exchangeToken(oneTimeCode) {
465
475
  this.clearUserData();
466
476
  const response = await fetch(`${this.getBaseUrl()}${this.endpoints.tokenExchangeEndpoint}?oneTimeCode=${oneTimeCode}`);
467
477
  const { token } = await response.json();
@@ -501,8 +511,10 @@ const pnMarketwebSiteheaderLoginCss = "pn-marketweb-siteheader-login{padding:1re
501
511
  let PnMarketwebSiteheaderLogin = class {
502
512
  constructor(hostRef) {
503
513
  index.registerInstance(this, hostRef);
514
+ this.loginStateChange = index.createEvent(this, "loginStateChange", 7);
504
515
  /** Specifies which endpoint domain we should load from */
505
516
  this.endpoint = "";
517
+ this.emitEvents = true;
506
518
  // Login dialog
507
519
  this.loginDialog = null;
508
520
  this.loginManager = null;
@@ -511,11 +523,12 @@ let PnMarketwebSiteheaderLogin = class {
511
523
  }
512
524
  componentWillLoad() {
513
525
  this.loginManager = new PNLoginManager({ endpoint: this.endpoint, eventTarget: this.hostElement });
526
+ this.hostElement["loginmanager"] = this.loginManager;
527
+ this.hostElement.addEventListener(this.loginManager.events.loginstatechange, this.onLoginStateChange.bind(this));
514
528
  this.init();
515
529
  }
516
530
  async init() {
517
531
  this.toggleButtonText = this.loginDialog.loginMenuLinkText;
518
- this.hostElement.addEventListener(this.loginManager.events.loginstatechange, this.onLoginStateChange.bind(this));
519
532
  this.loginManager.init();
520
533
  this.setToggleButtonText();
521
534
  }
@@ -534,8 +547,11 @@ let PnMarketwebSiteheaderLogin = class {
534
547
  }
535
548
  }
536
549
  onLoginStateChange(e) {
537
- this.loggedIn = e.detail;
538
- this.setToggleButtonText();
550
+ if (this.loggedIn !== e.detail && this.emitEvents) {
551
+ this.loggedIn = e.detail;
552
+ this.loginStateChange.emit({ loggedIn: this.loggedIn, token: this.loginManager.getToken() });
553
+ this.setToggleButtonText();
554
+ }
539
555
  }
540
556
  render() {
541
557
  var _a, _b, _c;
@@ -553,7 +569,7 @@ let PnMarketwebSiteheaderLogin = class {
553
569
  :
554
570
  index.h("div", null, index.h("ul", null, this.loginDialog.loggedInLinks.map((link) => {
555
571
  const isLogoutLink = link.href.indexOf('logout');
556
- const href = (isLogoutLink) ? this.loginManager.getLogoutUrl(link.href.replace('logout', '')) : link.href;
572
+ const href = (isLogoutLink) ? this.loginManager.getLogoutUrl(link.href.replace('logout', '').replace('http://window.location.href/?', '').replace('https://window.location.href/?', '')) : link.href;
557
573
  return (index.h("li", null, index.h("a", Object.assign({ href: href }, (link.openInNewWindow && { target: '_blank' })), index.h("pn-button", { appearance: (link.primaryLinkApperance ? "dark" : "light"), onClick: () => {
558
574
  if (isLogoutLink) {
559
575
  this.loginManager.clearUserData();
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-0404c97e.js');
6
- const pnMainnavStore = require('./pn-mainnav-store-661b0b11.js');
6
+ const pnMainnavStore = require('./pn-mainnav-store-87a95686.js');
7
7
  require('./index-ea886985.js');
8
8
 
9
9
  const pnMainnavLinkCss = "pn-mainnav-link{display:block}pn-mainnav-link button,pn-mainnav-link a{font-weight:normal;position:relative;border:0 none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;background-color:transparent;color:#005D92}pn-mainnav-link button:hover,pn-mainnav-link button:focus,pn-mainnav-link a:hover,pn-mainnav-link a:focus{background-color:#FFFFFF;color:#005D92;outline:0;-webkit-box-shadow:none;box-shadow:none}pn-mainnav-link button:active,pn-mainnav-link a:active{background-color:#F3F2F2;color:#00A0D6;-webkit-box-shadow:none;box-shadow:none}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link{height:100%;padding-left:0;position:relative;scroll-snap-align:center}}[data-level=\"1\"] pn-mainnav-link:first-child{border-top:0.1rem solid #F3F2F2}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link:first-child{border:0}}[data-level=\"1\"] pn-mainnav-link>button,[data-level=\"1\"] pn-mainnav-link>a{font-size:2rem;width:100%;border-bottom:0.1rem solid #F3F2F2;height:auto;padding:1.9rem 0 1.9rem 3rem}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link>button,[data-level=\"1\"] pn-mainnav-link>a{height:100%;border:0;font-size:1.6rem;font-weight:normal;position:relative;outline:0;overflow:hidden;padding:1.6rem 1.6rem;white-space:nowrap}[data-level=\"1\"] pn-mainnav-link>button::before,[data-level=\"1\"] pn-mainnav-link>a::before{content:\"\";background-color:#00A0D6;position:absolute;bottom:0;left:0;width:100%;height:0.5em;border-radius:0.5em 0.5em 0 0;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition:-webkit-transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92);transition:-webkit-transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92);transition:transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92);transition:transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92), -webkit-transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92)}[data-level=\"1\"] pn-mainnav-link>button:hover::before,[data-level=\"1\"] pn-mainnav-link>button:focus::before,[data-level=\"1\"] pn-mainnav-link>a:hover::before,[data-level=\"1\"] pn-mainnav-link>a:focus::before{-webkit-transform:translateY(0);transform:translateY(0)}[data-level=\"1\"] pn-mainnav-link>button:active,[data-level=\"1\"] pn-mainnav-link>a:active{outline:0;-webkit-box-shadow:none;box-shadow:none;color:#005D92}[data-level=\"1\"] pn-mainnav-link>button:active::before,[data-level=\"1\"] pn-mainnav-link>a:active::before{background-color:#8EDDF9;-webkit-transform:translateY(0);transform:translateY(0)}}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link>button:hover,[data-level=\"1\"] pn-mainnav-link>button:focus,[data-level=\"1\"] pn-mainnav-link>a:hover,[data-level=\"1\"] pn-mainnav-link>a:focus{text-decoration:none}}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link>button[aria-expanded=true]::before,[data-level=\"1\"] pn-mainnav-link>a[aria-expanded=true]::before{content:\"\";background-color:#00A0D6;position:absolute;bottom:0;left:0;width:100%;height:0.5em;border-radius:0.5em 0.5em 0 0;-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition:-webkit-transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92);transition:-webkit-transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92);transition:transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92);transition:transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92), -webkit-transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92)}}[data-level=\"1\"] pn-mainnav-link [aria-expanded=true] .first-level_icon{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}[data-level=\"1\"] pn-mainnav-link pn-icon.first-level_icon{-webkit-transition:0.25s linear transform;transition:0.25s linear transform;width:1.92rem;height:1.92rem;display:none}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link pn-icon.first-level_icon{display:block}}[data-level=\"1\"] pn-mainnav-link pn-icon.first-level_arrow{display:block;position:absolute;height:2.4rem;width:2.4rem;right:2.4rem;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link pn-icon.first-level_arrow{display:none}}[data-level=\"1\"] pn-mainnav-link pn-icon svg{pointer-events:none;speak:none;width:100%;height:100%}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"]:not([data-level-listcount=\"1\"]) pn-mainnav-list:last-child pn-mainnav-link>a{min-width:unset}}[data-level=\"2\"] pn-mainnav-link{position:static;display:inline-block;width:100%;height:auto}@media screen and (min-width: 64em){[data-level=\"2\"] pn-mainnav-link{padding-left:0;margin-bottom:1.6rem}}[data-level=\"2\"] pn-mainnav-link>a{font-size:1.6rem;border-bottom:0.1rem solid #F3F2F2;padding:2.2rem 0 2.2rem 3rem;white-space:normal}@media screen and (min-width: 64em){[data-level=\"2\"] pn-mainnav-link>a{min-width:16em;border:0;border-radius:1rem;padding:1.4rem 1.6rem}}[data-level=\"2\"] pn-mainnav-link>a:hover{background-color:#FFFFFF;color:#005D92}[data-level=\"2\"] pn-mainnav-link>a:hover,[data-level=\"2\"] pn-mainnav-link>a:focus{-webkit-box-shadow:none;box-shadow:none}@media screen and (min-width: 64em){[data-level=\"2\"] pn-mainnav-link>a:hover,[data-level=\"2\"] pn-mainnav-link>a:focus{background-color:#F3F2F2;color:#005D92;text-decoration:underline;outline:0}}[data-level=\"2\"] pn-mainnav-link>a:hover::before,[data-level=\"2\"] pn-mainnav-link>a:focus::before{content:none}[data-level=\"2\"] pn-mainnav-link>a:active{-webkit-box-shadow:none;box-shadow:none}@media screen and (min-width: 64em){[data-level=\"2\"] pn-mainnav-link>a:active{background-color:#F3F2F2;color:#00A0D6;outline:0}}[data-level=\"2\"] pn-mainnav-link>a:active::before{content:none}[data-level=\"2\"] pn-mainnav-link pn-icon{display:inline-block;margin-left:0.2em;min-width:1.5rem;width:1.5rem;height:1.5rem}";
@@ -5,6 +5,7 @@ const index = require('./index-ea886985.js');
5
5
  // Read more about how stencil stores work here: https://stenciljs.com/docs/stencil-store
6
6
  const { state, onChange } = index.createStore({
7
7
  openLevel: '',
8
+ currentLevel: 1,
8
9
  openMenu: false,
9
10
  i18n: {
10
11
  menuHomeButton: '',
@@ -55,5 +55,5 @@ const patchCloneNodeFix = (HTMLElementPrototype) => {
55
55
  };
56
56
 
57
57
  patchBrowser().then(options => {
58
- return index.bootstrapLazy([["pn-marketweb-siteheader.cjs",[[4,"pn-marketweb-siteheader",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"hideSiteSelector":[1540,"hide-site-selector"],"hideLanguageSelector":[1540,"hide-language-selector"],"hideSearch":[1540,"hide-search"],"hideLogin":[1540,"hide-login"],"i18n":[32],"gotData":[32],"fetchingData":[32],"menuItems":[32],"siteDefinition":[32],"search":[32],"siteSelector":[32],"languageSelector":[32],"loginDialog":[32],"minimizeSearch":[32]},[[9,"resize","handleResize"]]]]],["pn-find-service-and-price.cjs",[[0,"pn-find-service-and-price",{"source":[1],"language":[1025],"market":[1025],"filteredItems":[32],"postagetype":[32],"weight":[32],"weightvalue":[32],"deliveryscope":[32],"sourceData":[32]}]]],["pn-product-pricelist.cjs",[[4,"pn-product-pricelist",{"source":[1],"language":[1025],"market":[1025],"productid":[1],"filteredItems":[32],"sourceData":[32],"gotData":[32],"loading":[32],"postagetype":[32],"weight":[32],"weightvalue":[32]}]]],["pn-marketweb-sitefooter.cjs",[[0,"pn-marketweb-sitefooter",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"siteDefinition":[32],"footerContent":[32],"i18n":[32],"gotData":[32],"fetchingData":[32]}]]],["pn-filter-search.cjs",[[1,"pn-filter-search",{"disabled":[4],"placeholder":[1],"inputid":[1],"name":[1],"autocomplete":[1],"value":[1],"label":[1],"loading":[4],"button":[1],"light":[4]},[[0,"input","inputHandler"]]]]],["pn-sidenav.cjs",[[4,"pn-sidenav",{"language":[1],"navLabel":[1,"nav-label"],"i18n":[32]},[[0,"language","setLanguage"],[0,"openSubMenuLevelChange","onOpenSubMenuLevelChange"]]]]],["pn-sidenav-level.cjs",[[4,"pn-sidenav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"alignment":[32]}]]],["pn-sidenav-link.cjs",[[4,"pn-sidenav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"icon":[1],"current":[4],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["pn-product-pricelist-result.cjs",[[0,"pn-product-pricelist-result",{"item":[1040],"shownitems":[16],"weightText":[32]}]]],["pn-choice-button_2.cjs",[[0,"pn-find-service-and-price-result",{"item":[1040],"shownitems":[16],"weightText":[32]}],[4,"pn-choice-button",{"value":[520],"name":[1],"choiceid":[1],"type":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["pn-site-footer_2.cjs",[[4,"pn-site-footer",{"url":[1]}],[4,"pn-site-footer-col"]]],["pn-mainnav-link.cjs",[[4,"pn-mainnav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["pn-language-selector_9.cjs",[[4,"pn-mainnav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"listCount":[32],"alignment":[32]}],[4,"pn-language-selector",{"value":[513],"selectedLanguageName":[32],"options":[32],"i18n":[32]}],[0,"pn-language-selector-option",{"name":[1],"code":[1],"url":[1],"selected":[4],"currentLanguage":[1,"current-language"]}],[4,"pn-mainnav",{"market":[1],"language":[1],"navigationId":[1,"navigation-id"],"openMenu":[1028,"open-menu"],"navLabel":[1,"nav-label"]},[[0,"language","setLanguage"],[0,"market","setMarket"],[0,"menuLanguageChange","onLanguageChange"],[0,"setmenuopenstate","setMenuOpenState"],[0,"openMenuLevelChange","onOpenMenuLevelChange"]]],[4,"pn-mainnav-list",{"heading":[1],"linkCount":[32]}],[0,"pn-marketweb-siteheader-login",{"endpoint":[1],"i18n":[8,"i-1-8n"],"loginDialog":[1040],"loginManager":[32],"loggedIn":[32],"toggleButtonText":[32]}],[0,"pn-marketweb-siteheader-search",{"i18n":[8,"i-1-8n"],"showOnlyLink":[1028,"show-only-link"],"hideSearch":[1028,"hide-search"],"search":[1040]}],[4,"pn-site-selector",{"buttontext":[1537],"heading":[1537],"language":[1537],"i18n":[32]}],[0,"pn-site-selector-item",{"url":[1],"heading":[1],"description":[1],"newwindow":[4]}]]],["pn-product-tile_3.cjs",[[4,"pn-product-tile"],[0,"pn-product-tile-info",{"label":[1],"text":[1],"icon":[1]}],[0,"pn-product-tile-price",{"label":[1],"amount":[1],"currency":[1],"url":[1]}]]]], options);
58
+ return index.bootstrapLazy([["pn-marketweb-siteheader.cjs",[[4,"pn-marketweb-siteheader",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"hideSiteSelector":[1540,"hide-site-selector"],"hideLanguageSelector":[1540,"hide-language-selector"],"hideSearch":[1540,"hide-search"],"hideLogin":[1540,"hide-login"],"sessionForward":[4,"session-forward"],"spaMode":[4,"spa-mode"],"i18n":[32],"gotData":[32],"fetchingData":[32],"menuItems":[32],"siteDefinition":[32],"search":[32],"siteSelector":[32],"languageSelector":[32],"loginDialog":[32],"minimizeSearch":[32]},[[0,"setLanguage","onLanguageSelectorChange"],[0,"loginStateChange","onLoginStateChange"],[9,"resize","handleResize"]]]]],["pn-find-service-and-price.cjs",[[0,"pn-find-service-and-price",{"source":[1],"language":[1025],"market":[1025],"filteredItems":[32],"postagetype":[32],"weight":[32],"weightvalue":[32],"deliveryscope":[32],"sourceData":[32]}]]],["pn-product-pricelist.cjs",[[4,"pn-product-pricelist",{"source":[1],"language":[1025],"market":[1025],"productid":[1],"filteredItems":[32],"sourceData":[32],"gotData":[32],"loading":[32],"postagetype":[32],"weight":[32],"weightvalue":[32]}]]],["pn-marketweb-sitefooter.cjs",[[0,"pn-marketweb-sitefooter",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"siteDefinition":[32],"footerContent":[32],"i18n":[32],"gotData":[32],"fetchingData":[32]}]]],["pn-filter-checkbox.cjs",[[1,"pn-filter-checkbox",{"value":[520],"name":[1],"checkboxid":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["pn-filter-search.cjs",[[1,"pn-filter-search",{"disabled":[4],"placeholder":[1],"inputid":[1],"name":[1],"autocomplete":[1],"value":[1],"label":[1],"loading":[4],"button":[1],"light":[4]},[[0,"input","inputHandler"]]]]],["pn-sidenav.cjs",[[4,"pn-sidenav",{"language":[1],"navLabel":[1,"nav-label"],"i18n":[32]},[[0,"language","setLanguage"],[0,"openSubMenuLevelChange","onOpenSubMenuLevelChange"]]]]],["pn-sidenav-level.cjs",[[4,"pn-sidenav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"alignment":[32]}]]],["pn-sidenav-link.cjs",[[4,"pn-sidenav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"icon":[1],"current":[4],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["pn-product-pricelist-result.cjs",[[0,"pn-product-pricelist-result",{"item":[1040],"shownitems":[16],"weightText":[32]}]]],["pn-choice-button_2.cjs",[[0,"pn-find-service-and-price-result",{"item":[1040],"shownitems":[16],"weightText":[32]}],[4,"pn-choice-button",{"value":[520],"name":[1],"choiceid":[1],"type":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["pn-site-footer_2.cjs",[[4,"pn-site-footer",{"url":[1]}],[4,"pn-site-footer-col"]]],["pn-mainnav-link.cjs",[[4,"pn-mainnav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["pn-language-selector_9.cjs",[[4,"pn-mainnav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"listCount":[32],"alignment":[32]}],[4,"pn-language-selector",{"value":[1537],"selectedLanguageName":[32],"options":[32],"i18n":[32]}],[0,"pn-language-selector-option",{"name":[1],"code":[1],"url":[1],"selected":[4],"currentLanguage":[1,"current-language"]}],[4,"pn-mainnav",{"market":[1],"language":[1],"navigationId":[1,"navigation-id"],"openMenu":[1028,"open-menu"],"navLabel":[1,"nav-label"]},[[0,"language","setLanguage"],[0,"market","setMarket"],[0,"menuLanguageChange","onLanguageChange"],[0,"setmenuopenstate","setMenuOpenState"],[0,"openMenuLevelChange","onOpenMenuLevelChange"]]],[4,"pn-mainnav-list",{"heading":[1],"linkCount":[32]}],[0,"pn-marketweb-siteheader-login",{"endpoint":[1],"i18n":[8,"i-1-8n"],"emitEvents":[4,"emit-events"],"loginDialog":[1040],"loginManager":[32],"loggedIn":[32],"toggleButtonText":[32]}],[0,"pn-marketweb-siteheader-search",{"i18n":[8,"i-1-8n"],"showOnlyLink":[1028,"show-only-link"],"hideSearch":[1028,"hide-search"],"search":[1040]}],[4,"pn-site-selector",{"buttontext":[1537],"heading":[1537],"language":[1537],"i18n":[32]}],[0,"pn-site-selector-item",{"url":[1],"heading":[1],"description":[1],"newwindow":[4]}]]],["pn-product-tile_3.cjs",[[4,"pn-product-tile"],[0,"pn-product-tile-info",{"label":[1],"text":[1],"icon":[1]}],[0,"pn-product-tile-price",{"label":[1],"amount":[1],"currency":[1],"url":[1]}]]]], options);
59
59
  });
@@ -79,6 +79,10 @@ let PnMarketwebSiteheader = class {
79
79
  this.hideSearch = false;
80
80
  /** Hides the login if set to true*/
81
81
  this.hideLogin = false;
82
+ /** Forward session to backend */
83
+ this.sessionForward = false;
84
+ /** Event based only language switch */
85
+ this.spaMode = false;
82
86
  this.gotData = false;
83
87
  this.fetchingData = false;
84
88
  // Menu state
@@ -119,11 +123,6 @@ let PnMarketwebSiteheader = class {
119
123
  this.endpoint = "";
120
124
  }
121
125
  }
122
- // TODO
123
- //* Expose market and language attributes when changed internally
124
- //* Business logic to select market and language depending on domains / html tag.
125
- //* Property to stop language change from changeing url, throw an event instead.
126
- //* Fetch new data when langauge or market is changed
127
126
  async init() {
128
127
  this.setTranslations();
129
128
  await this.fetchData();
@@ -134,6 +133,9 @@ let PnMarketwebSiteheader = class {
134
133
  this.i18n = translations[this.language];
135
134
  }
136
135
  }
136
+ onLanguageSelectorChange(e) {
137
+ this.language = e.detail;
138
+ }
137
139
  onLanguageChange() {
138
140
  this.setTranslations();
139
141
  this.changeLanguage.emit(this.language);
@@ -153,9 +155,12 @@ let PnMarketwebSiteheader = class {
153
155
  const fetchUrl = `${endpointBase}${this.endpointPath}?market=${this.market}&language=${this.language}`;
154
156
  const response = await fetch(fetchUrl);
155
157
  const data = await response.json();
156
- this.setStateFromData(data);
158
+ await this.setStateFromData(data);
157
159
  }
158
160
  getLanguageVersionUrl(item) {
161
+ if (this.spaMode) {
162
+ return null;
163
+ }
159
164
  const alternativeTag = document.querySelector(`link[rel="alternate"][hreflang="${item.twoLetterISOLanguageName}"]`);
160
165
  if (alternativeTag) {
161
166
  return alternativeTag.getAttribute('href');
@@ -164,7 +169,7 @@ let PnMarketwebSiteheader = class {
164
169
  // Add trailing slash to domain if it's missing
165
170
  return siteUrl + ((siteUrl.lastIndexOf("/") !== siteUrl.length - 1) ? "/" : "") + item.twoLetterISOLanguageName;
166
171
  }
167
- setStateFromData(data) {
172
+ async setStateFromData(data) {
168
173
  if (typeof data !== "object") {
169
174
  console.warn('Data was not valid', data);
170
175
  }
@@ -188,10 +193,26 @@ let PnMarketwebSiteheader = class {
188
193
  // Set language selector
189
194
  this.languageSelector = data.languageSelectorViewModel;
190
195
  this.loginDialog = data.loginViewModel;
196
+ await this.spaModeAdjustments();
191
197
  this.gotData = true;
192
198
  this.fetchingData = true;
193
199
  window.setTimeout(() => { this.checkMenuOverflow(); }, 100);
194
200
  }
201
+ async spaModeAdjustments() {
202
+ if (!this.spaMode) {
203
+ return;
204
+ }
205
+ return;
206
+ }
207
+ onLoginStateChange(e) {
208
+ var _a, _b;
209
+ if (((_a = e.detail) === null || _a === void 0 ? void 0 : _a.loggedIn) && ((_b = e.detail) === null || _b === void 0 ? void 0 : _b.token) && this.sessionForward) {
210
+ try {
211
+ fetch('/api/userprofile/sync?token=' + e.detail.token);
212
+ }
213
+ catch (e) { }
214
+ }
215
+ }
195
216
  promotedItemId(item) {
196
217
  return "promo-" + item.linkText.replace(/[^A-Za-z0-9.\\\/]/igm, "");
197
218
  }
@@ -236,7 +257,7 @@ let PnMarketwebSiteheader = class {
236
257
  return (index.h("pn-mainnav-link", { name: childitem.name, href: childitem.href, target: (_a = childitem.linkTarget) !== null && _a !== void 0 ? _a : "_self", linkid: childitem.trackingId }));
237
258
  })), (item.promotedMenuItems && item.promotedMenuItems.length > 0) &&
238
259
  index.h("pn-mainnav-list", { heading: item.promotedMenuItemsHeader }, item.promotedMenuItems.map((childitem) => (index.h("pn-mainnav-link", { href: childitem.href, name: childitem.linkText, target: childitem.openInNewWindow ? "_blank" : "_self", linkid: this.promotedItemId(childitem) })))))));
239
- })), index.h("div", { slot: "footer", class: "siteheader-menu-footer" }, (this.gotData && this.loginDialog && !this.hideLogin) && (index.h("pn-marketweb-siteheader-login", { loginDialog: this.loginDialog, endpoint: this.endpoint, i18n: this.i18n })), (this.gotData && ((_h = this.languageSelector) === null || _h === void 0 ? void 0 : _h.languages)) && !this.hideLanguageSelector &&
260
+ })), index.h("div", { slot: "footer", class: "siteheader-menu-footer" }, (this.gotData && this.loginDialog && !this.hideLogin) && (index.h("pn-marketweb-siteheader-login", { emitEvents: false, loginDialog: this.loginDialog, endpoint: this.endpoint, i18n: this.i18n })), (this.gotData && ((_h = this.languageSelector) === null || _h === void 0 ? void 0 : _h.languages)) && !this.hideLanguageSelector &&
240
261
  index.h("pn-language-selector", { value: this.language }, this.languageSelector.languages.map(language => index.h("pn-language-selector-option", { name: language.nativeName, code: language.twoLetterISOLanguageName, selected: language.isCurrent, url: this.getLanguageVersionUrl(language) }))), !this.hideSiteSelector &&
241
262
  index.h("pn-site-selector", { language: this.language }, (this.gotData && ((_j = this.siteSelector) === null || _j === void 0 ? void 0 : _j.currentSiteTitle)) &&
242
263
  index.h("pn-site-selector-item", { heading: this.siteSelector.currentSiteTitle, description: this.siteSelector.currentSiteDescription }), (this.gotData && ((_k = this.siteSelector) === null || _k === void 0 ? void 0 : _k.siteSelections)) && this.siteSelector.siteSelections.map((site) => index.h("pn-site-selector-item", { heading: site.linkText, description: site.linkDescription, url: site.pageLink, newwindow: site.openInNewWindow })))), index.h("div", { slot: "top", class: "siteheader-menu-top" }, index.h("pn-marketweb-siteheader-search", { search: this.search, "hide-search": this.hideSearch, i18n: this.i18n }))))), index.h("pn-marketweb-siteheader-search", { search: this.search, "hide-search": this.hideSearch, "show-only-link": this.minimizeSearch, i18n: this.i18n })))));
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "entries": [
3
3
  "./components/input/pn-choice-button/pn-choice-button.js",
4
+ "./components/input/pn-filter-checkbox/pn-filter-checkbox.js",
4
5
  "./components/input/pn-filter-search/pn-filter-search.js",
5
6
  "./components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter.js",
6
7
  "./components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js",
@@ -0,0 +1,34 @@
1
+ import readme from "./readme.md";
2
+
3
+ export default {
4
+ title: "input/Filter Checkbox",
5
+ parameters: {
6
+ notes: readme,
7
+ layout: 'centered'
8
+ }
9
+ };
10
+
11
+
12
+ const Template = ({ ...args }) => {
13
+ return `
14
+ <div style="display: flex; align-items: center;">
15
+ <form method="get" target="_blank">
16
+ <pn-filter-checkbox checkboxid="${args.checkboxid}" value="${args.value}" name="${args.name}" checked="${args.checked}" indeterminate="${args.indeterminate}" disabled="${args.disabled}"></pn-filter-checkbox>
17
+ <label style="margin-left: .5em;" for="${args.checkboxid}">${args.value}</label>
18
+
19
+ <br/><br/>
20
+ <pn-button type="submit">Submit</pn-button>
21
+ </form>
22
+ </div>
23
+ `;
24
+ };
25
+
26
+ export const Primary = Template.bind({})
27
+ Primary.args = {
28
+ disabled: false,
29
+ checked: false,
30
+ indeterminate: false,
31
+ checkboxid: 'test-id',
32
+ value: 'test value',
33
+ name: 'test-name',
34
+ };
@@ -0,0 +1,73 @@
1
+ :host {
2
+ display: inline-block;
3
+ user-select: none;
4
+ }
5
+ :host input {
6
+ opacity: 0;
7
+ position: absolute;
8
+ }
9
+ :host input[type=checkbox] + label.pn-checkbox {
10
+ width: 1.5em;
11
+ min-width: 1.5em;
12
+ height: 1.5em;
13
+ min-height: 1.5em;
14
+ background: #fff;
15
+ display: flex;
16
+ justify-content: center;
17
+ align-items: center;
18
+ position: relative;
19
+ border: 0.1rem solid #969087;
20
+ cursor: pointer;
21
+ border-radius: 0.4rem;
22
+ cursor: pointer;
23
+ transition-duration: 220ms;
24
+ transition-timing-function: cubic-bezier(0.79, 0.14, 0.15, 0.86);
25
+ transition-property: border, background, box-shadow;
26
+ }
27
+ :host input[type=checkbox] + label.pn-checkbox svg {
28
+ width: 80%;
29
+ fill: none;
30
+ }
31
+ :host input[type=checkbox] + label.pn-checkbox svg polyline {
32
+ stroke: #FFF;
33
+ transform-origin: 0 0;
34
+ stroke-linecap: round;
35
+ stroke-dasharray: 23;
36
+ stroke-dashoffset: 23;
37
+ transition-delay: none;
38
+ transition: stroke-dashoffset 180ms cubic-bezier(0.79, 0.14, 0.15, 0.86);
39
+ }
40
+ :host input[type=checkbox]:hover + label.pn-checkbox {
41
+ border: 0.1rem solid #005D92;
42
+ background: #E0F8FF;
43
+ }
44
+ :host input[type=checkbox]:checked + label.pn-checkbox, :host input[type=checkbox]:indeterminate + label.pn-checkbox {
45
+ background: #005D92;
46
+ border: 0.1rem solid #005D92;
47
+ }
48
+ :host input[type=checkbox]:checked + label.pn-checkbox svg polyline, :host input[type=checkbox]:indeterminate + label.pn-checkbox svg polyline {
49
+ transition-delay: 220ms;
50
+ }
51
+ :host input[type=checkbox]:checked + label.pn-checkbox svg polyline.checkmark-path {
52
+ stroke-dashoffset: 0;
53
+ }
54
+ :host input[type=checkbox]:indeterminate + label.pn-checkbox svg polyline.indeterminate-path {
55
+ stroke-dashoffset: 0;
56
+ }
57
+ :host input[type=checkbox]:focus + label.pn-checkbox, :host input[type=checkbox]:active + label.pn-checkbox {
58
+ box-shadow: 0 0 0 0.1rem white, 0 0 0 0.3rem #005D92;
59
+ }
60
+ :host input[type=checkbox]:disabled + label.pn-checkbox {
61
+ background-color: #D3CECB;
62
+ border: 0.1rem solid #969087;
63
+ cursor: not-allowed;
64
+ }
65
+ :host input[type=checkbox]:disabled + label.pn-checkbox svg polyline {
66
+ stroke: #969087;
67
+ }
68
+ :host input[type=checkbox]:disabled:checked + label.pn-checkbox {
69
+ border: 0.1rem solid transparent;
70
+ }
71
+ :host input[type=checkbox]:disabled:active + label.pn-checkbox {
72
+ box-shadow: none;
73
+ }