@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.
- package/dist/cjs/index.cjs.js +3 -3
- package/dist/cjs/{post-internet-header-46256304.js → post-internet-header-d8394275.js} +22 -12
- package/dist/cjs/{post-main-navigation-8e804e67.js → post-main-navigation-f1c72969.js} +7 -3
- package/dist/cjs/post-main-navigation.cjs.entry.js +1 -1
- package/dist/cjs/post-search-5e173700.js +603 -0
- package/dist/cjs/post-search.cjs.entry.js +1 -1
- package/dist/cjs/swisspost-internet-header.cjs.entry.js +1 -1
- package/dist/collection/components/post-main-navigation/post-main-navigation.js +7 -3
- package/dist/collection/components/post-search/post-search.css +1 -1
- package/dist/collection/services/config.service.js +7 -6
- package/dist/collection/services/route.service.js +13 -4
- package/dist/components/post-main-navigation2.js +7 -3
- package/dist/components/post-search2.js +1 -1
- package/dist/components/swisspost-internet-header.js +22 -12
- package/dist/docs.json +2 -2
- package/dist/esm/index.js +3 -3
- package/dist/esm/{post-internet-header-cce3ba28.js → post-internet-header-b8322d64.js} +22 -12
- package/dist/esm/{post-main-navigation-3f8bd754.js → post-main-navigation-1105de2a.js} +7 -3
- package/dist/esm/post-main-navigation.entry.js +1 -1
- package/dist/esm/post-search-4314142a.js +601 -0
- package/dist/esm/post-search.entry.js +1 -1
- package/dist/esm/swisspost-internet-header.entry.js +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/post-internet-header-b8322d64.js +1 -0
- package/dist/esm-es5/{post-main-navigation-3f8bd754.js → post-main-navigation-1105de2a.js} +1 -1
- package/dist/esm-es5/post-main-navigation.entry.js +1 -1
- package/dist/esm-es5/post-search-4314142a.js +1 -0
- package/dist/esm-es5/post-search.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
- package/dist/swisspost-internet-header/index.esm.js +1 -1
- package/dist/swisspost-internet-header/{p-22a39458.system.entry.js → p-08083b29.system.entry.js} +1 -1
- package/dist/swisspost-internet-header/p-3036187e.js +1 -0
- package/dist/swisspost-internet-header/p-695fe962.system.js +1 -1
- package/dist/swisspost-internet-header/{p-90d92483.system.js → p-7c0498aa.system.js} +1 -1
- package/dist/swisspost-internet-header/p-85119fa1.system.js +1 -0
- package/dist/swisspost-internet-header/{p-e0de60a7.system.entry.js → p-91092813.system.entry.js} +1 -1
- package/dist/swisspost-internet-header/{p-dd441f54.system.js → p-9af11364.system.js} +1 -1
- package/dist/swisspost-internet-header/p-a38fcaca.js +1 -0
- package/dist/swisspost-internet-header/{p-5e6812b4.system.entry.js → p-a8863898.system.entry.js} +1 -1
- package/dist/swisspost-internet-header/{p-b2159d69.entry.js → p-bb181ae4.entry.js} +1 -1
- package/dist/swisspost-internet-header/p-c2740557.js +1 -0
- package/dist/swisspost-internet-header/p-d504b43a.system.js +1 -0
- package/dist/swisspost-internet-header/{p-e231657a.entry.js → p-e9f5f372.entry.js} +1 -1
- package/dist/swisspost-internet-header/{p-43fc36bc.entry.js → p-fcccc35e.entry.js} +1 -1
- package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
- package/dist/types/models/header.model.d.ts +1 -1
- package/package.json +2 -2
- package/dist/cjs/post-search-6c43f01f.js +0 -603
- package/dist/esm/post-search-c629b46f.js +0 -601
- package/dist/esm-es5/post-internet-header-cce3ba28.js +0 -1
- package/dist/esm-es5/post-search-c629b46f.js +0 -1
- package/dist/swisspost-internet-header/p-1555a1e1.js +0 -1
- package/dist/swisspost-internet-header/p-690be405.js +0 -1
- package/dist/swisspost-internet-header/p-98e6a60a.system.js +0 -1
- package/dist/swisspost-internet-header/p-cdd08a92.system.js +0 -1
- package/dist/swisspost-internet-header/p-fb47b78f.js +0 -1
|
@@ -64,10 +64,18 @@ const hasActivePortalRoute = (config) => {
|
|
|
64
64
|
return config.filter(nav => nav.isActive).length > 0;
|
|
65
65
|
};
|
|
66
66
|
const resetActiveStateToPortalConfig = (config) => {
|
|
67
|
-
return config.map(nav =>
|
|
67
|
+
return config.map(nav => {
|
|
68
|
+
var _a;
|
|
69
|
+
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 }))) }))) }));
|
|
70
|
+
});
|
|
68
71
|
};
|
|
69
72
|
const resetOverrideConfig = (config) => {
|
|
70
|
-
return config.map(nav =>
|
|
73
|
+
return config.map(nav => {
|
|
74
|
+
var _a;
|
|
75
|
+
return (Object.assign(Object.assign({}, nav), { isActiveOverride: false,
|
|
76
|
+
// Initialize flyout as an empty array if it's undefined
|
|
77
|
+
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 }))) })))) || [] }));
|
|
78
|
+
});
|
|
71
79
|
};
|
|
72
80
|
/**
|
|
73
81
|
* Compile a list of scores based on the map mode, sorted in descending order
|
|
@@ -83,15 +91,16 @@ const compileScoreList = (config, compareUrl, activeRouteProp) => {
|
|
|
83
91
|
config
|
|
84
92
|
.filter(mainNav => !hadAnyActiveLink && mainNav)
|
|
85
93
|
.forEach(mainNav => {
|
|
94
|
+
var _a;
|
|
86
95
|
try {
|
|
87
96
|
const score = compareRoutes(compareUrl, new URL(mainNav.url), activeRouteProp);
|
|
88
97
|
hadAnyActiveLink = updateScoreList(scoreList, score, { main: mainNav, score }, hadAnyActiveLink);
|
|
89
98
|
}
|
|
90
|
-
catch (
|
|
99
|
+
catch (_b) {
|
|
91
100
|
// Not a valid url, continue
|
|
92
101
|
}
|
|
93
102
|
// Loop through flyout links 2nd level
|
|
94
|
-
mainNav.flyout.forEach(flyout => {
|
|
103
|
+
(_a = mainNav.flyout) === null || _a === void 0 ? void 0 : _a.forEach(flyout => {
|
|
95
104
|
var _a;
|
|
96
105
|
(_a = flyout.linkList) === null || _a === void 0 ? void 0 : _a.forEach(linklist => {
|
|
97
106
|
// Don't override if any link is already active
|
|
@@ -248,7 +257,7 @@ const mergeOsFlyoutOverrides = (config, osFlyoutOverrides) => {
|
|
|
248
257
|
if (osFlyoutOverrides == null)
|
|
249
258
|
return config.header.navMain;
|
|
250
259
|
return config.header.navMain.map(mainNav => {
|
|
251
|
-
var _a, _b;
|
|
260
|
+
var _a, _b, _c;
|
|
252
261
|
if (mainNav.id !== 'flyout_os')
|
|
253
262
|
return mainNav;
|
|
254
263
|
if (osFlyoutCache === null) {
|
|
@@ -264,16 +273,17 @@ const mergeOsFlyoutOverrides = (config, osFlyoutOverrides) => {
|
|
|
264
273
|
// Add entries for os flyout columns without overriding existing config
|
|
265
274
|
const mainNavFlyout = [
|
|
266
275
|
...osFlyoutCache.flyout.map((col, index) => {
|
|
267
|
-
var _a;
|
|
268
|
-
const overrides = osFlyoutOverrides.flyout[index];
|
|
269
|
-
const title = (
|
|
270
|
-
|
|
276
|
+
var _a, _b;
|
|
277
|
+
const overrides = (_a = osFlyoutOverrides.flyout) === null || _a === void 0 ? void 0 : _a[index]; // Check if overrides exist
|
|
278
|
+
const title = (_b = overrides === null || overrides === void 0 ? void 0 : overrides.title) !== null && _b !== void 0 ? _b : col.title;
|
|
279
|
+
// Check if the linkList exists in the overrides and then use it
|
|
280
|
+
const linkList = (overrides === null || overrides === void 0 ? void 0 : overrides.linkList) != null ? overrides.linkList : [];
|
|
271
281
|
return {
|
|
272
282
|
title,
|
|
273
283
|
linkList: [...col.linkList, ...linkList],
|
|
274
284
|
};
|
|
275
285
|
}),
|
|
276
|
-
...osFlyoutOverrides.flyout.slice(osFlyoutCache.flyout.length),
|
|
286
|
+
...(((_c = osFlyoutOverrides.flyout) === null || _c === void 0 ? void 0 : _c.slice(osFlyoutCache.flyout.length)) || []),
|
|
277
287
|
];
|
|
278
288
|
return Object.assign(Object.assign({}, mainNav), { text: mainNavText, title: mainNavTitle, flyout: mainNavFlyout });
|
|
279
289
|
});
|
|
@@ -363,7 +373,7 @@ const setMainNavigationIds = (navMainEntities) => {
|
|
|
363
373
|
};
|
|
364
374
|
|
|
365
375
|
const name = "@swisspost/internet-header";
|
|
366
|
-
const version = "1.
|
|
376
|
+
const version = "1.15.0";
|
|
367
377
|
const description = "The header for client facing applications.";
|
|
368
378
|
const author = "Swiss Post <design-system@post.ch>";
|
|
369
379
|
const license = "Apache-2.0";
|
|
@@ -404,7 +414,7 @@ const scripts = {
|
|
|
404
414
|
generate: "stencil generate"
|
|
405
415
|
};
|
|
406
416
|
const dependencies = {
|
|
407
|
-
"@swisspost/design-system-styles": "workspace:8.
|
|
417
|
+
"@swisspost/design-system-styles": "workspace:8.5.0",
|
|
408
418
|
"body-scroll-lock": "4.0.0-beta.0",
|
|
409
419
|
"iframe-resizer": "4.4.5",
|
|
410
420
|
jquery: "3.7.1",
|
package/dist/docs.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"timestamp": "2024-
|
|
2
|
+
"timestamp": "2024-11-11T15:34:33",
|
|
3
3
|
"compiler": {
|
|
4
4
|
"name": "@stencil/core",
|
|
5
5
|
"version": "4.19.2",
|
|
@@ -1446,7 +1446,7 @@
|
|
|
1446
1446
|
"path": "src/models/general.model.ts"
|
|
1447
1447
|
},
|
|
1448
1448
|
"src/models/header.model.ts::NavMainEntity": {
|
|
1449
|
-
"declaration": "export interface NavMainEntity {\n id?: string;\n text: string;\n title: string;\n url: string;\n isActive?: boolean;\n isActiveOverride?: boolean;\n noFlyout?: boolean;\n flyout
|
|
1449
|
+
"declaration": "export interface NavMainEntity {\n id?: string;\n text: string;\n title: string;\n url: string;\n isActive?: boolean;\n isActiveOverride?: boolean;\n noFlyout?: boolean;\n flyout?: FlyoutEntity[];\n}",
|
|
1450
1450
|
"docstring": "",
|
|
1451
1451
|
"path": "src/models/header.model.ts"
|
|
1452
1452
|
},
|
package/dist/esm/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export { P as PostInternetHeader } from './post-internet-header-
|
|
1
|
+
export { P as PostInternetHeader } from './post-internet-header-b8322d64.js';
|
|
2
2
|
export { P as PostInternetBreadcrumbs } from './post-internet-breadcrumbs-2370e12d.js';
|
|
3
3
|
export { P as PostInternetFooter } from './post-internet-footer-e6980e19.js';
|
|
4
4
|
export { P as PostSkiplinks } from './post-skiplinks-8c64cda3.js';
|
|
5
5
|
export { P as PostMetaNavigation } from './post-meta-navigation-c90e0eab.js';
|
|
6
6
|
export { P as PostLanguageSwitch } from './post-language-switch-05672675.js';
|
|
7
7
|
export { P as PostLogo } from './post-logo-a10a7614.js';
|
|
8
|
-
export { P as PostMainNavigation } from './post-main-navigation-
|
|
9
|
-
export { P as PostSearch } from './post-search-
|
|
8
|
+
export { P as PostMainNavigation } from './post-main-navigation-1105de2a.js';
|
|
9
|
+
export { P as PostSearch } from './post-search-4314142a.js';
|
|
10
10
|
export { P as PostKlpLoginWidget } from './post-klp-login-widget-d0cb76d7.js';
|
|
11
11
|
import './index-bb0e68fd.js';
|
|
12
12
|
import './index-d3f1363d.js';
|
|
@@ -57,10 +57,18 @@ const hasActivePortalRoute = (config) => {
|
|
|
57
57
|
return config.filter(nav => nav.isActive).length > 0;
|
|
58
58
|
};
|
|
59
59
|
const resetActiveStateToPortalConfig = (config) => {
|
|
60
|
-
return config.map(nav =>
|
|
60
|
+
return config.map(nav => {
|
|
61
|
+
var _a;
|
|
62
|
+
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 }))) }))) }));
|
|
63
|
+
});
|
|
61
64
|
};
|
|
62
65
|
const resetOverrideConfig = (config) => {
|
|
63
|
-
return config.map(nav =>
|
|
66
|
+
return config.map(nav => {
|
|
67
|
+
var _a;
|
|
68
|
+
return (Object.assign(Object.assign({}, nav), { isActiveOverride: false,
|
|
69
|
+
// Initialize flyout as an empty array if it's undefined
|
|
70
|
+
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 }))) })))) || [] }));
|
|
71
|
+
});
|
|
64
72
|
};
|
|
65
73
|
/**
|
|
66
74
|
* Compile a list of scores based on the map mode, sorted in descending order
|
|
@@ -76,15 +84,16 @@ const compileScoreList = (config, compareUrl, activeRouteProp) => {
|
|
|
76
84
|
config
|
|
77
85
|
.filter(mainNav => !hadAnyActiveLink && mainNav)
|
|
78
86
|
.forEach(mainNav => {
|
|
87
|
+
var _a;
|
|
79
88
|
try {
|
|
80
89
|
const score = compareRoutes(compareUrl, new URL(mainNav.url), activeRouteProp);
|
|
81
90
|
hadAnyActiveLink = updateScoreList(scoreList, score, { main: mainNav, score }, hadAnyActiveLink);
|
|
82
91
|
}
|
|
83
|
-
catch (
|
|
92
|
+
catch (_b) {
|
|
84
93
|
// Not a valid url, continue
|
|
85
94
|
}
|
|
86
95
|
// Loop through flyout links 2nd level
|
|
87
|
-
mainNav.flyout.forEach(flyout => {
|
|
96
|
+
(_a = mainNav.flyout) === null || _a === void 0 ? void 0 : _a.forEach(flyout => {
|
|
88
97
|
var _a;
|
|
89
98
|
(_a = flyout.linkList) === null || _a === void 0 ? void 0 : _a.forEach(linklist => {
|
|
90
99
|
// Don't override if any link is already active
|
|
@@ -241,7 +250,7 @@ const mergeOsFlyoutOverrides = (config, osFlyoutOverrides) => {
|
|
|
241
250
|
if (osFlyoutOverrides == null)
|
|
242
251
|
return config.header.navMain;
|
|
243
252
|
return config.header.navMain.map(mainNav => {
|
|
244
|
-
var _a, _b;
|
|
253
|
+
var _a, _b, _c;
|
|
245
254
|
if (mainNav.id !== 'flyout_os')
|
|
246
255
|
return mainNav;
|
|
247
256
|
if (osFlyoutCache === null) {
|
|
@@ -257,16 +266,17 @@ const mergeOsFlyoutOverrides = (config, osFlyoutOverrides) => {
|
|
|
257
266
|
// Add entries for os flyout columns without overriding existing config
|
|
258
267
|
const mainNavFlyout = [
|
|
259
268
|
...osFlyoutCache.flyout.map((col, index) => {
|
|
260
|
-
var _a;
|
|
261
|
-
const overrides = osFlyoutOverrides.flyout[index];
|
|
262
|
-
const title = (
|
|
263
|
-
|
|
269
|
+
var _a, _b;
|
|
270
|
+
const overrides = (_a = osFlyoutOverrides.flyout) === null || _a === void 0 ? void 0 : _a[index]; // Check if overrides exist
|
|
271
|
+
const title = (_b = overrides === null || overrides === void 0 ? void 0 : overrides.title) !== null && _b !== void 0 ? _b : col.title;
|
|
272
|
+
// Check if the linkList exists in the overrides and then use it
|
|
273
|
+
const linkList = (overrides === null || overrides === void 0 ? void 0 : overrides.linkList) != null ? overrides.linkList : [];
|
|
264
274
|
return {
|
|
265
275
|
title,
|
|
266
276
|
linkList: [...col.linkList, ...linkList],
|
|
267
277
|
};
|
|
268
278
|
}),
|
|
269
|
-
...osFlyoutOverrides.flyout.slice(osFlyoutCache.flyout.length),
|
|
279
|
+
...(((_c = osFlyoutOverrides.flyout) === null || _c === void 0 ? void 0 : _c.slice(osFlyoutCache.flyout.length)) || []),
|
|
270
280
|
];
|
|
271
281
|
return Object.assign(Object.assign({}, mainNav), { text: mainNavText, title: mainNavTitle, flyout: mainNavFlyout });
|
|
272
282
|
});
|
|
@@ -356,7 +366,7 @@ const setMainNavigationIds = (navMainEntities) => {
|
|
|
356
366
|
};
|
|
357
367
|
|
|
358
368
|
const name = "@swisspost/internet-header";
|
|
359
|
-
const version = "1.
|
|
369
|
+
const version = "1.15.0";
|
|
360
370
|
const description = "The header for client facing applications.";
|
|
361
371
|
const author = "Swiss Post <design-system@post.ch>";
|
|
362
372
|
const license = "Apache-2.0";
|
|
@@ -397,7 +407,7 @@ const scripts = {
|
|
|
397
407
|
generate: "stencil generate"
|
|
398
408
|
};
|
|
399
409
|
const dependencies = {
|
|
400
|
-
"@swisspost/design-system-styles": "workspace:8.
|
|
410
|
+
"@swisspost/design-system-styles": "workspace:8.5.0",
|
|
401
411
|
"body-scroll-lock": "4.0.0-beta.0",
|
|
402
412
|
"iframe-resizer": "4.4.5",
|
|
403
413
|
jquery: "3.7.1",
|
|
@@ -131,7 +131,10 @@ const PostMainNavigation = class {
|
|
|
131
131
|
window.clearTimeout(this.mouseLeaveTimer);
|
|
132
132
|
this.mouseLeaveTimer = null;
|
|
133
133
|
}
|
|
134
|
-
if (window.innerWidth >= 1024 &&
|
|
134
|
+
if (window.innerWidth >= 1024 &&
|
|
135
|
+
level.flyout &&
|
|
136
|
+
level.flyout.length > 0 &&
|
|
137
|
+
this.activeFlyout !== level.id) {
|
|
135
138
|
// Delay opening the flyout for a moment to give users a chance to move the mouse over the navigation without triggering the flyout
|
|
136
139
|
this.mouseEnterTimer = window.setTimeout(() => {
|
|
137
140
|
this.mouseEnterTimer = null;
|
|
@@ -149,7 +152,7 @@ const PostMainNavigation = class {
|
|
|
149
152
|
if (this.activeFlyout !== undefined && this.activeFlyout !== level.id) {
|
|
150
153
|
return;
|
|
151
154
|
}
|
|
152
|
-
if (window.innerWidth >= 1024 && level.flyout.length > 0) {
|
|
155
|
+
if (window.innerWidth >= 1024 && level.flyout && level.flyout.length > 0) {
|
|
153
156
|
// Allow the pointer to shortly leave the flyout without closing it. This
|
|
154
157
|
// allows for user mistakes and makes the experience less nervous
|
|
155
158
|
this.mouseLeaveTimer = window.setTimeout(() => {
|
|
@@ -223,7 +226,8 @@ const PostMainNavigation = class {
|
|
|
223
226
|
const headerConfig = state.localizedConfig.header;
|
|
224
227
|
return (h(Host, null, h(SvgSprite, null), h("nav", { "aria-label": headerConfig.translations.navMainAriaLabel, id: "post-internet-header-main-navigation", class: { 'main-navigation': true, 'open': this.mobileMenuOpen } }, h("ul", { class: "main-container container" }, headerConfig.navMain.map(levelOne => (h("li", { key: levelOne.text, onMouseLeave: () => this.handleMouseLeave(levelOne), onMouseEnter: () => this.handleMouseEnter(levelOne) }, 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)))), h("slot", null))));
|
|
225
228
|
function renderLevelOneFlyout(levelOne) {
|
|
226
|
-
|
|
229
|
+
var _a;
|
|
230
|
+
return (h("div", { id: levelOne.id, class: { flyout: true, open: this.isActiveFlyout(levelOne.id) } }, h("div", { class: "wide-container" }, h("div", { class: "flyout-nav" }, h("button", { class: "nav-link flyout-back-button", onClick: () => this.closeFlyout(levelOne.id) }, h(SvgIcon, { name: "pi-pointy-arrow-right", classNames: "mirrored" }), h("span", null, headerConfig.translations.backButtonText)), h("button", { class: "flyout-close-button", onClick: () => this.closeFlyout(levelOne.id) }, h("span", { class: "visually-hidden" }, levelOne.text, ", ", headerConfig.translations.mobileNavToggleClose), h(SvgIcon, { name: "pi-close" }))), h("h2", { class: "flyout-title container" }, h("a", { href: levelOne.url, class: "nav-link" }, levelOne.text)), h("div", { class: "flyout-row container" }, (_a = levelOne.flyout) === null || _a === void 0 ? void 0 : _a.map((flyout, i) => (h("div", { key: flyout.title, class: "flyout-column" }, flyout.title !== undefined ? (h("h3", { id: `${levelOne.id}-column-${i}` }, flyout.title)) : null, h("ul", { class: "flyout-linklist", "aria-labelledby": flyout.title !== undefined ? `${levelOne.id}-column-${i}` : undefined }, flyout.linkList.map(link => (h("li", { key: link.url }, h("a", { class: {
|
|
227
231
|
'flyout-link': true,
|
|
228
232
|
'active': !!(link === null || link === void 0 ? void 0 : link.isActiveOverride),
|
|
229
233
|
}, href: link.url, target: link.target }, link.title, (link === null || link === void 0 ? void 0 : link.isActiveOverride) ? (h("span", { class: "visually-hidden" }, ", ", translate('Active navigation element'))) : null))))))))))));
|