@swisspost/internet-header 1.14.8 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/cjs/index.cjs.js +3 -3
  2. package/dist/cjs/{post-internet-header-46256304.js → post-internet-header-d8394275.js} +22 -12
  3. package/dist/cjs/{post-main-navigation-8e804e67.js → post-main-navigation-f1c72969.js} +7 -3
  4. package/dist/cjs/post-main-navigation.cjs.entry.js +1 -1
  5. package/dist/cjs/post-search-5e173700.js +603 -0
  6. package/dist/cjs/post-search.cjs.entry.js +1 -1
  7. package/dist/cjs/swisspost-internet-header.cjs.entry.js +1 -1
  8. package/dist/collection/components/post-main-navigation/post-main-navigation.js +7 -3
  9. package/dist/collection/components/post-search/post-search.css +1 -1
  10. package/dist/collection/services/config.service.js +7 -6
  11. package/dist/collection/services/route.service.js +13 -4
  12. package/dist/components/post-main-navigation2.js +7 -3
  13. package/dist/components/post-search2.js +1 -1
  14. package/dist/components/swisspost-internet-header.js +22 -12
  15. package/dist/docs.json +2 -2
  16. package/dist/esm/index.js +3 -3
  17. package/dist/esm/{post-internet-header-cce3ba28.js → post-internet-header-b8322d64.js} +22 -12
  18. package/dist/esm/{post-main-navigation-3f8bd754.js → post-main-navigation-1105de2a.js} +7 -3
  19. package/dist/esm/post-main-navigation.entry.js +1 -1
  20. package/dist/esm/post-search-4314142a.js +601 -0
  21. package/dist/esm/post-search.entry.js +1 -1
  22. package/dist/esm/swisspost-internet-header.entry.js +1 -1
  23. package/dist/esm-es5/index.js +1 -1
  24. package/dist/esm-es5/post-internet-header-b8322d64.js +1 -0
  25. package/dist/esm-es5/{post-main-navigation-3f8bd754.js → post-main-navigation-1105de2a.js} +1 -1
  26. package/dist/esm-es5/post-main-navigation.entry.js +1 -1
  27. package/dist/esm-es5/post-search-4314142a.js +1 -0
  28. package/dist/esm-es5/post-search.entry.js +1 -1
  29. package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
  30. package/dist/swisspost-internet-header/index.esm.js +1 -1
  31. package/dist/swisspost-internet-header/{p-22a39458.system.entry.js → p-08083b29.system.entry.js} +1 -1
  32. package/dist/swisspost-internet-header/p-3036187e.js +1 -0
  33. package/dist/swisspost-internet-header/p-695fe962.system.js +1 -1
  34. package/dist/swisspost-internet-header/{p-90d92483.system.js → p-7c0498aa.system.js} +1 -1
  35. package/dist/swisspost-internet-header/p-85119fa1.system.js +1 -0
  36. package/dist/swisspost-internet-header/{p-e0de60a7.system.entry.js → p-91092813.system.entry.js} +1 -1
  37. package/dist/swisspost-internet-header/{p-dd441f54.system.js → p-9af11364.system.js} +1 -1
  38. package/dist/swisspost-internet-header/p-a38fcaca.js +1 -0
  39. package/dist/swisspost-internet-header/{p-5e6812b4.system.entry.js → p-a8863898.system.entry.js} +1 -1
  40. package/dist/swisspost-internet-header/{p-b2159d69.entry.js → p-bb181ae4.entry.js} +1 -1
  41. package/dist/swisspost-internet-header/p-c2740557.js +1 -0
  42. package/dist/swisspost-internet-header/p-d504b43a.system.js +1 -0
  43. package/dist/swisspost-internet-header/{p-e231657a.entry.js → p-e9f5f372.entry.js} +1 -1
  44. package/dist/swisspost-internet-header/{p-43fc36bc.entry.js → p-fcccc35e.entry.js} +1 -1
  45. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
  46. package/dist/types/models/header.model.d.ts +1 -1
  47. package/package.json +2 -2
  48. package/dist/cjs/post-search-6c43f01f.js +0 -603
  49. package/dist/esm/post-search-c629b46f.js +0 -601
  50. package/dist/esm-es5/post-internet-header-cce3ba28.js +0 -1
  51. package/dist/esm-es5/post-search-c629b46f.js +0 -1
  52. package/dist/swisspost-internet-header/p-1555a1e1.js +0 -1
  53. package/dist/swisspost-internet-header/p-690be405.js +0 -1
  54. package/dist/swisspost-internet-header/p-98e6a60a.system.js +0 -1
  55. package/dist/swisspost-internet-header/p-cdd08a92.system.js +0 -1
  56. package/dist/swisspost-internet-header/p-fb47b78f.js +0 -1
@@ -2,15 +2,15 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const postInternetHeader = require('./post-internet-header-46256304.js');
5
+ const postInternetHeader = require('./post-internet-header-d8394275.js');
6
6
  const postInternetBreadcrumbs = require('./post-internet-breadcrumbs-1a8bd582.js');
7
7
  const postInternetFooter = require('./post-internet-footer-ca621ca9.js');
8
8
  const postSkiplinks = require('./post-skiplinks-894eb1ca.js');
9
9
  const postMetaNavigation = require('./post-meta-navigation-f66b734d.js');
10
10
  const postLanguageSwitch = require('./post-language-switch-768195ef.js');
11
11
  const postLogo = require('./post-logo-c7b8f044.js');
12
- const postMainNavigation = require('./post-main-navigation-8e804e67.js');
13
- const postSearch = require('./post-search-6c43f01f.js');
12
+ const postMainNavigation = require('./post-main-navigation-f1c72969.js');
13
+ const postSearch = require('./post-search-5e173700.js');
14
14
  const postKlpLoginWidget = require('./post-klp-login-widget-8946e37f.js');
15
15
  require('./index-ecd8c9bb.js');
16
16
  require('./index-fbcc9ff3.js');
@@ -59,10 +59,18 @@ const hasActivePortalRoute = (config) => {
59
59
  return config.filter(nav => nav.isActive).length > 0;
60
60
  };
61
61
  const resetActiveStateToPortalConfig = (config) => {
62
- return config.map(nav => (Object.assign(Object.assign({}, nav), { isActiveOverride: nav.isActive, flyout: nav.flyout.map(flyout => (Object.assign(Object.assign({}, flyout), { linkList: flyout.linkList.map(link => (Object.assign(Object.assign({}, link), { isActiveOverride: link.isActive }))) }))) })));
62
+ return config.map(nav => {
63
+ var _a;
64
+ return (Object.assign(Object.assign({}, nav), { isActiveOverride: nav.isActive, flyout: (_a = nav.flyout) === null || _a === void 0 ? void 0 : _a.map(flyout => (Object.assign(Object.assign({}, flyout), { linkList: flyout.linkList.map(link => (Object.assign(Object.assign({}, link), { isActiveOverride: link.isActive }))) }))) }));
65
+ });
63
66
  };
64
67
  const resetOverrideConfig = (config) => {
65
- return config.map(nav => (Object.assign(Object.assign({}, nav), { isActiveOverride: false, flyout: nav.flyout.map(flyout => (Object.assign(Object.assign({}, flyout), { linkList: flyout.linkList.map(link => (Object.assign(Object.assign({}, link), { isActiveOverride: false }))) }))) })));
68
+ return config.map(nav => {
69
+ var _a;
70
+ return (Object.assign(Object.assign({}, nav), { isActiveOverride: false,
71
+ // Initialize flyout as an empty array if it's undefined
72
+ flyout: ((_a = nav.flyout) === null || _a === void 0 ? void 0 : _a.map(flyout => (Object.assign(Object.assign({}, flyout), { linkList: flyout.linkList.map(link => (Object.assign(Object.assign({}, link), { isActiveOverride: false }))) })))) || [] }));
73
+ });
66
74
  };
67
75
  /**
68
76
  * Compile a list of scores based on the map mode, sorted in descending order
@@ -78,15 +86,16 @@ const compileScoreList = (config, compareUrl, activeRouteProp) => {
78
86
  config
79
87
  .filter(mainNav => !hadAnyActiveLink && mainNav)
80
88
  .forEach(mainNav => {
89
+ var _a;
81
90
  try {
82
91
  const score = compareRoutes(compareUrl, new URL(mainNav.url), activeRouteProp);
83
92
  hadAnyActiveLink = updateScoreList(scoreList, score, { main: mainNav, score }, hadAnyActiveLink);
84
93
  }
85
- catch (_a) {
94
+ catch (_b) {
86
95
  // Not a valid url, continue
87
96
  }
88
97
  // Loop through flyout links 2nd level
89
- mainNav.flyout.forEach(flyout => {
98
+ (_a = mainNav.flyout) === null || _a === void 0 ? void 0 : _a.forEach(flyout => {
90
99
  var _a;
91
100
  (_a = flyout.linkList) === null || _a === void 0 ? void 0 : _a.forEach(linklist => {
92
101
  // Don't override if any link is already active
@@ -243,7 +252,7 @@ const mergeOsFlyoutOverrides = (config, osFlyoutOverrides) => {
243
252
  if (osFlyoutOverrides == null)
244
253
  return config.header.navMain;
245
254
  return config.header.navMain.map(mainNav => {
246
- var _a, _b;
255
+ var _a, _b, _c;
247
256
  if (mainNav.id !== 'flyout_os')
248
257
  return mainNav;
249
258
  if (osFlyoutCache === null) {
@@ -259,16 +268,17 @@ const mergeOsFlyoutOverrides = (config, osFlyoutOverrides) => {
259
268
  // Add entries for os flyout columns without overriding existing config
260
269
  const mainNavFlyout = [
261
270
  ...osFlyoutCache.flyout.map((col, index) => {
262
- var _a;
263
- const overrides = osFlyoutOverrides.flyout[index];
264
- const title = (_a = overrides.title) !== null && _a !== void 0 ? _a : col.title;
265
- const linkList = overrides.linkList != null ? osFlyoutOverrides.flyout[index].linkList : [];
271
+ var _a, _b;
272
+ const overrides = (_a = osFlyoutOverrides.flyout) === null || _a === void 0 ? void 0 : _a[index]; // Check if overrides exist
273
+ const title = (_b = overrides === null || overrides === void 0 ? void 0 : overrides.title) !== null && _b !== void 0 ? _b : col.title;
274
+ // Check if the linkList exists in the overrides and then use it
275
+ const linkList = (overrides === null || overrides === void 0 ? void 0 : overrides.linkList) != null ? overrides.linkList : [];
266
276
  return {
267
277
  title,
268
278
  linkList: [...col.linkList, ...linkList],
269
279
  };
270
280
  }),
271
- ...osFlyoutOverrides.flyout.slice(osFlyoutCache.flyout.length),
281
+ ...(((_c = osFlyoutOverrides.flyout) === null || _c === void 0 ? void 0 : _c.slice(osFlyoutCache.flyout.length)) || []),
272
282
  ];
273
283
  return Object.assign(Object.assign({}, mainNav), { text: mainNavText, title: mainNavTitle, flyout: mainNavFlyout });
274
284
  });
@@ -358,7 +368,7 @@ const setMainNavigationIds = (navMainEntities) => {
358
368
  };
359
369
 
360
370
  const name = "@swisspost/internet-header";
361
- const version = "1.14.8";
371
+ const version = "1.15.0";
362
372
  const description = "The header for client facing applications.";
363
373
  const author = "Swiss Post <design-system@post.ch>";
364
374
  const license = "Apache-2.0";
@@ -399,7 +409,7 @@ const scripts = {
399
409
  generate: "stencil generate"
400
410
  };
401
411
  const dependencies = {
402
- "@swisspost/design-system-styles": "workspace:8.3.0",
412
+ "@swisspost/design-system-styles": "workspace:8.5.0",
403
413
  "body-scroll-lock": "4.0.0-beta.0",
404
414
  "iframe-resizer": "4.4.5",
405
415
  jquery: "3.7.1",
@@ -133,7 +133,10 @@ const PostMainNavigation = class {
133
133
  window.clearTimeout(this.mouseLeaveTimer);
134
134
  this.mouseLeaveTimer = null;
135
135
  }
136
- if (window.innerWidth >= 1024 && level.flyout.length > 0 && this.activeFlyout !== level.id) {
136
+ if (window.innerWidth >= 1024 &&
137
+ level.flyout &&
138
+ level.flyout.length > 0 &&
139
+ this.activeFlyout !== level.id) {
137
140
  // Delay opening the flyout for a moment to give users a chance to move the mouse over the navigation without triggering the flyout
138
141
  this.mouseEnterTimer = window.setTimeout(() => {
139
142
  this.mouseEnterTimer = null;
@@ -151,7 +154,7 @@ const PostMainNavigation = class {
151
154
  if (this.activeFlyout !== undefined && this.activeFlyout !== level.id) {
152
155
  return;
153
156
  }
154
- if (window.innerWidth >= 1024 && level.flyout.length > 0) {
157
+ if (window.innerWidth >= 1024 && level.flyout && level.flyout.length > 0) {
155
158
  // Allow the pointer to shortly leave the flyout without closing it. This
156
159
  // allows for user mistakes and makes the experience less nervous
157
160
  this.mouseLeaveTimer = window.setTimeout(() => {
@@ -225,7 +228,8 @@ const PostMainNavigation = class {
225
228
  const headerConfig = store.state.localizedConfig.header;
226
229
  return (index.h(index.Host, null, index.h(svgSprite_component.SvgSprite, null), index.h("nav", { "aria-label": headerConfig.translations.navMainAriaLabel, id: "post-internet-header-main-navigation", class: { 'main-navigation': true, 'open': this.mobileMenuOpen } }, index.h("ul", { class: "main-container container" }, headerConfig.navMain.map(levelOne => (index.h("li", { key: levelOne.text, onMouseLeave: () => this.handleMouseLeave(levelOne), onMouseEnter: () => this.handleMouseEnter(levelOne) }, index.h(LevelOneAction, { level: levelOne, isOpen: this.isActiveFlyout(levelOne.id), onTouchEnd: e => this.handleTouchEnd(e, levelOne), onKeyDown: e => this.handleKeyPress(e, levelOne), onClick: e => this.handleClick(e, levelOne) }), !levelOne.noFlyout ? renderLevelOneFlyout.bind(this)(levelOne) : null)))), index.h("slot", null))));
227
230
  function renderLevelOneFlyout(levelOne) {
228
- return (index.h("div", { id: levelOne.id, class: { flyout: true, open: this.isActiveFlyout(levelOne.id) } }, index.h("div", { class: "wide-container" }, index.h("div", { class: "flyout-nav" }, index.h("button", { class: "nav-link flyout-back-button", onClick: () => this.closeFlyout(levelOne.id) }, index.h(svgIcon_component.SvgIcon, { name: "pi-pointy-arrow-right", classNames: "mirrored" }), index.h("span", null, headerConfig.translations.backButtonText)), index.h("button", { class: "flyout-close-button", onClick: () => this.closeFlyout(levelOne.id) }, index.h("span", { class: "visually-hidden" }, levelOne.text, ", ", headerConfig.translations.mobileNavToggleClose), index.h(svgIcon_component.SvgIcon, { name: "pi-close" }))), index.h("h2", { class: "flyout-title container" }, index.h("a", { href: levelOne.url, class: "nav-link" }, levelOne.text)), index.h("div", { class: "flyout-row container" }, levelOne.flyout.map((flyout, i) => (index.h("div", { key: flyout.title, class: "flyout-column" }, flyout.title !== undefined ? (index.h("h3", { id: `${levelOne.id}-column-${i}` }, flyout.title)) : null, index.h("ul", { class: "flyout-linklist", "aria-labelledby": flyout.title !== undefined ? `${levelOne.id}-column-${i}` : undefined }, flyout.linkList.map(link => (index.h("li", { key: link.url }, index.h("a", { class: {
231
+ var _a;
232
+ return (index.h("div", { id: levelOne.id, class: { flyout: true, open: this.isActiveFlyout(levelOne.id) } }, index.h("div", { class: "wide-container" }, index.h("div", { class: "flyout-nav" }, index.h("button", { class: "nav-link flyout-back-button", onClick: () => this.closeFlyout(levelOne.id) }, index.h(svgIcon_component.SvgIcon, { name: "pi-pointy-arrow-right", classNames: "mirrored" }), index.h("span", null, headerConfig.translations.backButtonText)), index.h("button", { class: "flyout-close-button", onClick: () => this.closeFlyout(levelOne.id) }, index.h("span", { class: "visually-hidden" }, levelOne.text, ", ", headerConfig.translations.mobileNavToggleClose), index.h(svgIcon_component.SvgIcon, { name: "pi-close" }))), index.h("h2", { class: "flyout-title container" }, index.h("a", { href: levelOne.url, class: "nav-link" }, levelOne.text)), index.h("div", { class: "flyout-row container" }, (_a = levelOne.flyout) === null || _a === void 0 ? void 0 : _a.map((flyout, i) => (index.h("div", { key: flyout.title, class: "flyout-column" }, flyout.title !== undefined ? (index.h("h3", { id: `${levelOne.id}-column-${i}` }, flyout.title)) : null, index.h("ul", { class: "flyout-linklist", "aria-labelledby": flyout.title !== undefined ? `${levelOne.id}-column-${i}` : undefined }, flyout.linkList.map(link => (index.h("li", { key: link.url }, index.h("a", { class: {
229
233
  'flyout-link': true,
230
234
  'active': !!(link === null || link === void 0 ? void 0 : link.isActiveOverride),
231
235
  }, href: link.url, target: link.target }, link.title, (link === null || link === void 0 ? void 0 : link.isActiveOverride) ? (index.h("span", { class: "visually-hidden" }, ", ", language_service.translate('Active navigation element'))) : null))))))))))));
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const postMainNavigation = require('./post-main-navigation-8e804e67.js');
5
+ const postMainNavigation = require('./post-main-navigation-f1c72969.js');
6
6
  require('./index-ecd8c9bb.js');
7
7
  require('./index-fbcc9ff3.js');
8
8
  require('./store-eabc7f7a.js');