@visma-swno/vsn-navigation 1.4.0-beta.9 → 1.4.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.
|
@@ -147,6 +147,8 @@ export declare class VSNNavigation extends LitElement {
|
|
|
147
147
|
helpUrl?: string;
|
|
148
148
|
/** Configuration for the feedback component */
|
|
149
149
|
feedback: FeedbackConfig | null;
|
|
150
|
+
/** Keep the module switcher permanently open (non-closable). Default false. */
|
|
151
|
+
moduleSwitcherAlwaysOpen: boolean;
|
|
150
152
|
/** Show notification icon in the top bar */
|
|
151
153
|
showNotification: boolean;
|
|
152
154
|
/** Notification icon shows active state */
|
|
@@ -177,7 +179,8 @@ export declare class VSNNavigation extends LitElement {
|
|
|
177
179
|
updated(changed: Map<string, unknown>): void;
|
|
178
180
|
connectedCallback(): void;
|
|
179
181
|
disconnectedCallback(): void;
|
|
180
|
-
/**
|
|
182
|
+
/** Toggles the side-bar: opens and focuses search when closed, closes when open.
|
|
183
|
+
* Shortcut: Cmd+O on Mac (Ctrl+O also accepted as a Safari fallback); Ctrl+O on all other platforms. */
|
|
181
184
|
private _onShortcut;
|
|
182
185
|
private _onEscape;
|
|
183
186
|
private _onTopBarClick;
|
|
@@ -206,6 +209,8 @@ export declare type VsnNavigation = {
|
|
|
206
209
|
auth?: VsnAuth;
|
|
207
210
|
/** Configuration for the feedback component */
|
|
208
211
|
feedback?: FeedbackConfig | null;
|
|
212
|
+
/** Keep the module switcher permanently open (non-closable). Default false. */
|
|
213
|
+
moduleSwitcherAlwaysOpen?: boolean;
|
|
209
214
|
};
|
|
210
215
|
|
|
211
216
|
export declare class VSNSkipToMain extends LitElement {
|
|
@@ -129,7 +129,7 @@ var w = 0, we = (e) => (se(((e, t) => _e(Ce, e, t))), x = xe = e.sourceLocale, S
|
|
|
129
129
|
if (typeof navigator > "u") return !1;
|
|
130
130
|
let e = navigator.userAgentData?.platform ?? navigator.platform ?? "";
|
|
131
131
|
return /mac/i.test(e);
|
|
132
|
-
}, Oe = (e) => !e.shiftKey && !e.altKey && (De() ? e.
|
|
132
|
+
}, Oe = (e) => !e.shiftKey && !e.altKey && (De() ? e.ctrlKey !== e.metaKey : e.ctrlKey && !e.metaKey), T = (e) => e.shiftKey || e.altKey || e.ctrlKey || e.metaKey, E = (e) => !T(e), ke = () => v("Choose a service"), Ae = () => v("Search"), je = () => De() ? "Cmd+O / Ctrl+O" : "Ctrl+O", Me = (e) => v(_`Type at least ${e} characters to search`), Ne = () => v("Menu items"), Pe = () => v("Load more"), Fe = () => v("Services"), Ie = () => v("Services"), D = "menu", Le = "survicate-sdk", Re = "ui-components-feedback", ze = (e) => `https://survey.survicate.com/workspaces/${e}/web_surveys.js`;
|
|
133
133
|
//#endregion
|
|
134
134
|
//#region src/shared/icons.ts
|
|
135
135
|
function O(e, t = 24, r) {
|
|
@@ -1156,7 +1156,7 @@ var B = class extends e {
|
|
|
1156
1156
|
return this;
|
|
1157
1157
|
}
|
|
1158
1158
|
constructor() {
|
|
1159
|
-
super(), this.modules = [], this.modulesLoading = !1, this.
|
|
1159
|
+
super(), this.modules = [], this.modulesLoading = !1, this.moduleSwitcherAlwaysOpen = !1, this.moduleSwitcherMaxHeight = 0, this.searchValue = "", this.searchLoading = !1, this.expanded = !1, this._keyboard = new St(this), new _t(this, [".ga-side-navigation__switcher-dropdown", ".ga-side-navigation__switcher"], () => {
|
|
1160
1160
|
this.canClose && (this.expanded = !1);
|
|
1161
1161
|
}), new I(this, () => this.canClose && this.expanded, ".vsn-switcher-anchor");
|
|
1162
1162
|
}
|
|
@@ -1170,7 +1170,7 @@ var B = class extends e {
|
|
|
1170
1170
|
<div class="ga-side-navigation__header">
|
|
1171
1171
|
<div class="vsn-switcher-anchor"
|
|
1172
1172
|
@keydown=${this._keyboard.onSwitcherKeydown}>
|
|
1173
|
-
${this.
|
|
1173
|
+
${this.canToggle ? n`
|
|
1174
1174
|
<button type="button"
|
|
1175
1175
|
class="ga-side-navigation__switcher ${this.expanded ? "ga-side-navigation__switcher--active" : ""}"
|
|
1176
1176
|
aria-label=${v(_`Service menu, ${e.title}`)}
|
|
@@ -1183,9 +1183,9 @@ var B = class extends e {
|
|
|
1183
1183
|
</span>
|
|
1184
1184
|
</button>
|
|
1185
1185
|
` : n`
|
|
1186
|
-
<div class="ga-side-navigation__switcher ga-side-navigation__switcher--active"
|
|
1187
|
-
aria-expanded="
|
|
1188
|
-
aria-haspopup="menu"
|
|
1186
|
+
<div class="ga-side-navigation__switcher ${this._isOpen ? "ga-side-navigation__switcher--active" : ""}"
|
|
1187
|
+
aria-expanded="${this._isOpen}"
|
|
1188
|
+
aria-haspopup="${this._isOpen ? "menu" : "false"}"
|
|
1189
1189
|
title="">
|
|
1190
1190
|
<span class="ga-side-navigation__switcher-title">${e.title}</span>
|
|
1191
1191
|
<span class="ga-side-navigation__switcher-action">
|
|
@@ -1194,10 +1194,10 @@ var B = class extends e {
|
|
|
1194
1194
|
</div>
|
|
1195
1195
|
`}
|
|
1196
1196
|
|
|
1197
|
-
${f(this.
|
|
1197
|
+
${f(this._isOpen, () => n`
|
|
1198
1198
|
<vsn-switcher-menu
|
|
1199
|
-
.items=${e.kind === "loading" ? [] : e.available}
|
|
1200
|
-
.loading=${e.kind === "loading"}
|
|
1199
|
+
.items=${e.kind === "module-loading" ? [] : e.available}
|
|
1200
|
+
.loading=${e.kind === "module-loading"}
|
|
1201
1201
|
.maxHeight=${this.moduleSwitcherMaxHeight}
|
|
1202
1202
|
@item-select=${this._onItemSelect}>
|
|
1203
1203
|
</vsn-switcher-menu>`)}
|
|
@@ -1214,34 +1214,33 @@ var B = class extends e {
|
|
|
1214
1214
|
}
|
|
1215
1215
|
get _state() {
|
|
1216
1216
|
if (this.modulesLoading) return {
|
|
1217
|
-
kind: "loading",
|
|
1217
|
+
kind: "module-loading",
|
|
1218
1218
|
title: this.activeModuleLabel || Fe()
|
|
1219
1219
|
};
|
|
1220
1220
|
let e = this.modules.find((e) => e.id === this.activeModuleId);
|
|
1221
1221
|
return e ? {
|
|
1222
|
-
kind: "
|
|
1222
|
+
kind: "module-selected",
|
|
1223
1223
|
title: e.label,
|
|
1224
1224
|
available: this.modules.filter((t) => t.id !== e.id)
|
|
1225
1225
|
} : {
|
|
1226
|
-
kind: "
|
|
1226
|
+
kind: "module-unmatched",
|
|
1227
1227
|
title: this.activeModuleId && this.activeModuleLabel ? this.activeModuleLabel : Fe(),
|
|
1228
1228
|
available: this.modules
|
|
1229
1229
|
};
|
|
1230
1230
|
}
|
|
1231
1231
|
get canClose() {
|
|
1232
|
-
return
|
|
1232
|
+
return !this.moduleSwitcherAlwaysOpen;
|
|
1233
1233
|
}
|
|
1234
1234
|
get hasAvailableItems() {
|
|
1235
1235
|
let e = this._state;
|
|
1236
|
-
return e.kind !== "loading" && e.available.length > 0;
|
|
1236
|
+
return e.kind !== "module-loading" && e.available.length > 0;
|
|
1237
|
+
}
|
|
1238
|
+
get _isOpen() {
|
|
1239
|
+
return this.moduleSwitcherAlwaysOpen || this.expanded;
|
|
1237
1240
|
}
|
|
1238
1241
|
get canToggle() {
|
|
1239
1242
|
return this.canClose && (this.hasAvailableItems || this.modulesLoading || this.expanded);
|
|
1240
1243
|
}
|
|
1241
|
-
willUpdate() {
|
|
1242
|
-
let e = this._state;
|
|
1243
|
-
e.kind !== "loading" && (this.hasMenu || e.kind !== "no-active" || e.available.length === 0 || (this.expanded = !0));
|
|
1244
|
-
}
|
|
1245
1244
|
reset() {
|
|
1246
1245
|
this.expanded = !1;
|
|
1247
1246
|
}
|
|
@@ -1265,7 +1264,7 @@ var B = class extends e {
|
|
|
1265
1264
|
}), !0);
|
|
1266
1265
|
}
|
|
1267
1266
|
};
|
|
1268
|
-
j([s({ attribute: !1 })], B.prototype, "modules", void 0), j([s()], B.prototype, "activeModuleId", void 0), j([s()], B.prototype, "activeModuleLabel", void 0), j([s({ type: Boolean })], B.prototype, "modulesLoading", void 0), j([s({ type: Boolean })], B.prototype, "
|
|
1267
|
+
j([s({ attribute: !1 })], B.prototype, "modules", void 0), j([s()], B.prototype, "activeModuleId", void 0), j([s()], B.prototype, "activeModuleLabel", void 0), j([s({ type: Boolean })], B.prototype, "modulesLoading", void 0), j([s({ type: Boolean })], B.prototype, "moduleSwitcherAlwaysOpen", void 0), j([s({ attribute: !1 })], B.prototype, "moduleSwitcherMaxHeight", void 0), j([s({ attribute: !1 })], B.prototype, "search", void 0), j([s()], B.prototype, "searchValue", void 0), j([s({ type: Boolean })], B.prototype, "searchLoading", void 0), j([s({
|
|
1269
1268
|
type: Boolean,
|
|
1270
1269
|
reflect: !0
|
|
1271
1270
|
})], B.prototype, "expanded", void 0), B = j([y(), o("vsn-header")], B);
|
|
@@ -1515,6 +1514,7 @@ var kt = "en", At = [
|
|
|
1515
1514
|
s352719d86112de9a: "Hjælp",
|
|
1516
1515
|
s387a4a41718122cb: _`${0} resultater`,
|
|
1517
1516
|
s3fb7db4771812f0c: "Hvis problemet fortsætter, genindlæs siden eller kontakt support.",
|
|
1517
|
+
s442010a1a0adb81d: "Vis skjulte brødkrummer",
|
|
1518
1518
|
s457d59d649765619: "Gå til hovedindhold",
|
|
1519
1519
|
s4b0c6b66b4efd7d8: "Vælg en tjeneste",
|
|
1520
1520
|
s58a1dace5a9acc5b: _`Tjenestemenu, ${0}`,
|
|
@@ -1552,6 +1552,7 @@ var kt = "en", At = [
|
|
|
1552
1552
|
s352719d86112de9a: "Ohje",
|
|
1553
1553
|
s387a4a41718122cb: _`${0} tulosta`,
|
|
1554
1554
|
s3fb7db4771812f0c: "Jos ongelma jatkuu, lataa sivu uudelleen tai ota yhteyttä tukeen.",
|
|
1555
|
+
s442010a1a0adb81d: "Näytä piilotetut murupolun kohteet",
|
|
1555
1556
|
s457d59d649765619: "Siirry pääsisältöön",
|
|
1556
1557
|
s4b0c6b66b4efd7d8: "Valitse palvelu",
|
|
1557
1558
|
s58a1dace5a9acc5b: _`Palveluvalikko, ${0}`,
|
|
@@ -1589,6 +1590,7 @@ var kt = "en", At = [
|
|
|
1589
1590
|
s352719d86112de9a: "Hulp",
|
|
1590
1591
|
s387a4a41718122cb: _`${0} resultaten`,
|
|
1591
1592
|
s3fb7db4771812f0c: "Als het probleem aanhoudt, laad de pagina opnieuw of neem contact op met ondersteuning.",
|
|
1593
|
+
s442010a1a0adb81d: "Toon verborgen broodkruimels",
|
|
1592
1594
|
s457d59d649765619: "Ga naar hoofdinhoud",
|
|
1593
1595
|
s4b0c6b66b4efd7d8: "Kies een service",
|
|
1594
1596
|
s58a1dace5a9acc5b: _`Servicemenu, ${0}`,
|
|
@@ -1626,6 +1628,7 @@ var kt = "en", At = [
|
|
|
1626
1628
|
s352719d86112de9a: "Hjelp",
|
|
1627
1629
|
s387a4a41718122cb: _`${0} resultater`,
|
|
1628
1630
|
s3fb7db4771812f0c: "Hvis problemet vedvarer, last inn siden på nytt eller kontakt støtte.",
|
|
1631
|
+
s442010a1a0adb81d: "Vis skjulte brødsmuleelementer",
|
|
1629
1632
|
s457d59d649765619: "Hopp til hovedinnhold",
|
|
1630
1633
|
s4b0c6b66b4efd7d8: "Velg en tjeneste",
|
|
1631
1634
|
s58a1dace5a9acc5b: _`Tjenestemeny, ${0}`,
|
|
@@ -1663,6 +1666,7 @@ var kt = "en", At = [
|
|
|
1663
1666
|
s352719d86112de9a: "Hjälp",
|
|
1664
1667
|
s387a4a41718122cb: _`${0} resultat`,
|
|
1665
1668
|
s3fb7db4771812f0c: "Om problemet kvarstår, ladda om sidan eller kontakta support.",
|
|
1669
|
+
s442010a1a0adb81d: "Visa dolda brödsmulor",
|
|
1666
1670
|
s457d59d649765619: "Hoppa till huvudinnehåll",
|
|
1667
1671
|
s4b0c6b66b4efd7d8: "Välj en tjänst",
|
|
1668
1672
|
s58a1dace5a9acc5b: _`Tjänstemeny, ${0}`,
|
|
@@ -2072,7 +2076,7 @@ var kt = "en", At = [
|
|
|
2072
2076
|
};
|
|
2073
2077
|
}
|
|
2074
2078
|
constructor() {
|
|
2075
|
-
super(), this.modules = [], this.modulesLoading = !1, this.lang = "en", this.error = !1, this.open = !1, this._searchQuery = "", this._searchLoading = !1, this._activeScopeId = D, this._searchLoadingMore = !1, this._moduleSwitcherMaxHeight = 0, this._hasPageTitle = !1, this._navFooterKeyboard = new $t(this), this._customWidthPerLanguage = { fi: "30em" }, this._onNavigate = (e) => {
|
|
2079
|
+
super(), this.modules = [], this.modulesLoading = !1, this.moduleSwitcherAlwaysOpen = !1, this.lang = "en", this.error = !1, this.open = !1, this._searchQuery = "", this._searchLoading = !1, this._activeScopeId = D, this._searchLoadingMore = !1, this._moduleSwitcherMaxHeight = 0, this._hasPageTitle = !1, this._navFooterKeyboard = new $t(this), this._customWidthPerLanguage = { fi: "30em" }, this._onNavigate = (e) => {
|
|
2076
2080
|
this._searchQuery = "", this._searchResults = void 0, this.dispatchEvent(new CustomEvent("vsn-side-bar-close", {
|
|
2077
2081
|
bubbles: !0,
|
|
2078
2082
|
composed: !0
|
|
@@ -2258,7 +2262,7 @@ var kt = "en", At = [
|
|
|
2258
2262
|
.activeModuleId=${this.activeModuleId}
|
|
2259
2263
|
.activeModuleLabel=${this.activeModuleLabel}
|
|
2260
2264
|
.modulesLoading=${this.modulesLoading}
|
|
2261
|
-
.
|
|
2265
|
+
.moduleSwitcherAlwaysOpen=${this.moduleSwitcherAlwaysOpen}
|
|
2262
2266
|
.search=${e}
|
|
2263
2267
|
.searchValue=${this._searchQuery}
|
|
2264
2268
|
.searchLoading=${this._searchLoading}
|
|
@@ -2300,7 +2304,7 @@ var kt = "en", At = [
|
|
|
2300
2304
|
`;
|
|
2301
2305
|
}
|
|
2302
2306
|
};
|
|
2303
|
-
j([s({ attribute: !1 })], K.prototype, "modules", void 0), j([s()], K.prototype, "activeModuleId", void 0), j([s()], K.prototype, "activeModuleLabel", void 0), j([s({ type: Boolean })], K.prototype, "modulesLoading", void 0), j([s()], K.prototype, "lang", void 0), j([s({ attribute: !1 })], K.prototype, "auth", void 0), j([s({ type: Boolean })], K.prototype, "error", void 0), j([s({
|
|
2307
|
+
j([s({ attribute: !1 })], K.prototype, "modules", void 0), j([s()], K.prototype, "activeModuleId", void 0), j([s()], K.prototype, "activeModuleLabel", void 0), j([s({ type: Boolean })], K.prototype, "modulesLoading", void 0), j([s({ type: Boolean })], K.prototype, "moduleSwitcherAlwaysOpen", void 0), j([s()], K.prototype, "lang", void 0), j([s({ attribute: !1 })], K.prototype, "auth", void 0), j([s({ type: Boolean })], K.prototype, "error", void 0), j([s({
|
|
2304
2308
|
type: Boolean,
|
|
2305
2309
|
reflect: !0
|
|
2306
2310
|
})], K.prototype, "open", void 0), j([s({ attribute: !1 })], K.prototype, "menu", void 0), j([l()], K.prototype, "_searchQuery", void 0), j([l()], K.prototype, "_searchResults", void 0), j([l()], K.prototype, "_searchLoading", void 0), j([l()], K.prototype, "_activeScopeId", void 0), j([l()], K.prototype, "_searchError", void 0), j([l()], K.prototype, "_searchNextCursor", void 0), j([l()], K.prototype, "_searchLoadingMore", void 0), j([l()], K.prototype, "_moduleSwitcherMaxHeight", void 0), j([l()], K.prototype, "_hasPageTitle", void 0), K = j([o("vsn-side-bar")], K);
|
|
@@ -2527,6 +2531,11 @@ var J = class extends e {
|
|
|
2527
2531
|
padding-inline: calc(0.25rem * var(--ga-base-scaling-factor, 1));
|
|
2528
2532
|
}
|
|
2529
2533
|
|
|
2534
|
+
a.ga-breadcrumb-item__trigger {
|
|
2535
|
+
color: inherit;
|
|
2536
|
+
text-decoration: none;
|
|
2537
|
+
}
|
|
2538
|
+
|
|
2530
2539
|
/* Focus indicator for keyboard navigation inside breadcrumb dropdowns */
|
|
2531
2540
|
.ga-breadcrumb-item__menu .ga-side-navigation__item:focus-visible {
|
|
2532
2541
|
outline: var(--_focus-ring-offset) solid var(--ga-color-border-focus);
|
|
@@ -2562,7 +2571,7 @@ var J = class extends e {
|
|
|
2562
2571
|
if (this._displayMode !== "overflow") return;
|
|
2563
2572
|
let e = this.shadowRoot?.querySelector(".ga-breadcrumb");
|
|
2564
2573
|
if (!e) return;
|
|
2565
|
-
let t = Math.max(0, this._breadcrumbPath.length - 1);
|
|
2574
|
+
let t = this.tree?.pageTitle ? this._breadcrumbPath.length : Math.max(0, this._breadcrumbPath.length - 1);
|
|
2566
2575
|
for (; e.scrollWidth > e.clientWidth + 1 && this._overflowCount < t;) this._overflowCount++, await this.updateComplete;
|
|
2567
2576
|
}
|
|
2568
2577
|
async _tryExpandOverflow() {
|
|
@@ -2599,12 +2608,12 @@ var J = class extends e {
|
|
|
2599
2608
|
_popoverItemTriggerId(e) {
|
|
2600
2609
|
return `vsn-bc-item-${e}-trigger`;
|
|
2601
2610
|
}
|
|
2602
|
-
_onLeafAsAncestorClick(e) {
|
|
2603
|
-
this.dispatchEvent(new CustomEvent("vsn-menu-item-changed", {
|
|
2604
|
-
detail:
|
|
2611
|
+
_onLeafAsAncestorClick(e, t) {
|
|
2612
|
+
e.button !== 0 || T(e) || (e.preventDefault(), this.dispatchEvent(new CustomEvent("vsn-menu-item-changed", {
|
|
2613
|
+
detail: t,
|
|
2605
2614
|
bubbles: !0,
|
|
2606
2615
|
composed: !0
|
|
2607
|
-
}));
|
|
2616
|
+
})));
|
|
2608
2617
|
}
|
|
2609
2618
|
_handlePopoverBeforeToggle(e, t) {
|
|
2610
2619
|
if (t.newState !== "open") return;
|
|
@@ -2713,14 +2722,17 @@ var J = class extends e {
|
|
|
2713
2722
|
}));
|
|
2714
2723
|
}
|
|
2715
2724
|
_renderLeafAsAncestor(e) {
|
|
2725
|
+
let t = k(e) ? n`<a class="ga-breadcrumb-item__trigger" href=${e.url} @click=${(t) => this._onLeafAsAncestorClick(t, e)}>
|
|
2726
|
+
<span class="ga-breadcrumb-item__label">${e.label ?? ""}</span>
|
|
2727
|
+
</a>` : n`<span class="ga-breadcrumb-item__trigger">
|
|
2728
|
+
<span class="ga-breadcrumb-item__label">${e.label ?? ""}</span>
|
|
2729
|
+
</span>`;
|
|
2716
2730
|
return n`
|
|
2717
2731
|
<div class="ga-breadcrumb-item ga-breadcrumb-item--link"
|
|
2718
2732
|
aria-describedby=${this._tooltip ? "vsn-breadcrumb-tooltip" : r}
|
|
2719
2733
|
data-tooltip-label="${e.label ?? ""}" @mouseenter=${this._onBreadcrumbMouseEnter}
|
|
2720
|
-
@mouseleave=${this._onBreadcrumbMouseLeave}
|
|
2721
|
-
|
|
2722
|
-
<span class="ga-breadcrumb-item__label">${e.label ?? ""}</span>
|
|
2723
|
-
</span>
|
|
2734
|
+
@mouseleave=${this._onBreadcrumbMouseLeave}>
|
|
2735
|
+
${t}
|
|
2724
2736
|
<span class="ga-breadcrumb-item__separator" aria-hidden="true">/</span>
|
|
2725
2737
|
</div>`;
|
|
2726
2738
|
}
|
|
@@ -2784,44 +2796,46 @@ var J = class extends e {
|
|
|
2784
2796
|
let e = this._breadcrumbPath, t = this.tree?.pageTitle;
|
|
2785
2797
|
return n`${this._renderModules()}${e.map((n, r) => r === e.length - 1 ? this._renderLastItem(n, r, t) : this._renderBreadcrumbItem(n, r))}`;
|
|
2786
2798
|
}
|
|
2799
|
+
_renderOverflowDropdown(e) {
|
|
2800
|
+
return n`
|
|
2801
|
+
<div class="ga-breadcrumb-item ga-breadcrumb-item--overflow">
|
|
2802
|
+
<button
|
|
2803
|
+
id="vsn-bc-overflow-trigger"
|
|
2804
|
+
class="ga-breadcrumb-item__trigger"
|
|
2805
|
+
type="button"
|
|
2806
|
+
aria-label=${v("Show hidden breadcrumb items")}
|
|
2807
|
+
aria-expanded=${this._openPopoverId === "vsn-bc-overflow-popover"}
|
|
2808
|
+
aria-haspopup="menu"
|
|
2809
|
+
popovertarget="vsn-bc-overflow-popover"
|
|
2810
|
+
>
|
|
2811
|
+
<span class="ga-breadcrumb-item__label" aria-hidden="true">...</span>
|
|
2812
|
+
</button>
|
|
2813
|
+
<div
|
|
2814
|
+
id="vsn-bc-overflow-popover"
|
|
2815
|
+
class="ga-breadcrumb-item__menu"
|
|
2816
|
+
popover="auto"
|
|
2817
|
+
@beforetoggle=${(e) => this._handlePopoverBeforeToggle("vsn-bc-overflow-trigger", e)}
|
|
2818
|
+
@toggle=${(e) => this._handlePopoverToggle("vsn-bc-overflow-popover", e)}
|
|
2819
|
+
@vsn-breadcrumb-menu-close=${() => this._handleMenuClose("vsn-bc-overflow-trigger", "vsn-bc-overflow-popover")}
|
|
2820
|
+
>
|
|
2821
|
+
<vsn-breadcrumb-menu
|
|
2822
|
+
.treeList=${e}
|
|
2823
|
+
@vsn-breadcrumb-menu-leaf-select=${(e) => this._handleLeafSelect(e, "vsn-bc-overflow-popover")}
|
|
2824
|
+
></vsn-breadcrumb-menu>
|
|
2825
|
+
</div>
|
|
2826
|
+
<span class="ga-breadcrumb-item__separator" aria-hidden="true">/</span>
|
|
2827
|
+
</div>`;
|
|
2828
|
+
}
|
|
2787
2829
|
_renderOverflowBreadcrumbs() {
|
|
2788
2830
|
let e = this._breadcrumbPath, t = this.tree?.pageTitle;
|
|
2789
2831
|
if (e.length === 0) return n`${this._renderModules()}`;
|
|
2790
2832
|
let r = e[e.length - 1];
|
|
2791
|
-
if (e.length === 1) return n`${this._renderModules()}${this._renderLastItem(r, 0, t)}`;
|
|
2792
|
-
let i = [e[0]], a = e.slice(this._overflowCount, e.length - 1);
|
|
2833
|
+
if (e.length === 1) return t && this._overflowCount >= e.length ? n`${this._renderOverflowDropdown([r])}${this._renderPageTitle(t)}` : n`${this._renderModules()}${this._renderLastItem(r, 0, t)}`;
|
|
2834
|
+
let i = [e[0]], a = e.slice(this._overflowCount, e.length - 1), o = !!t && this._overflowCount >= e.length;
|
|
2793
2835
|
return n`
|
|
2794
|
-
${this._overflowCount === 0 ? this._renderModules() :
|
|
2795
|
-
${this._overflowCount > 0 ? n`
|
|
2796
|
-
<div class="ga-breadcrumb-item ga-breadcrumb-item--overflow">
|
|
2797
|
-
<button
|
|
2798
|
-
id="vsn-bc-overflow-trigger"
|
|
2799
|
-
class="ga-breadcrumb-item__trigger"
|
|
2800
|
-
type="button"
|
|
2801
|
-
aria-expanded=${this._openPopoverId === "vsn-bc-overflow-popover"}
|
|
2802
|
-
aria-haspopup="menu"
|
|
2803
|
-
popovertarget="vsn-bc-overflow-popover"
|
|
2804
|
-
>
|
|
2805
|
-
<span class="ga-breadcrumb-item__label">...</span>
|
|
2806
|
-
</button>
|
|
2807
|
-
<div
|
|
2808
|
-
id="vsn-bc-overflow-popover"
|
|
2809
|
-
class="ga-breadcrumb-item__menu"
|
|
2810
|
-
popover="auto"
|
|
2811
|
-
@beforetoggle=${(e) => this._handlePopoverBeforeToggle("vsn-bc-overflow-trigger", e)}
|
|
2812
|
-
@toggle=${(e) => this._handlePopoverToggle("vsn-bc-overflow-popover", e)}
|
|
2813
|
-
@vsn-breadcrumb-menu-close=${() => this._handleMenuClose("vsn-bc-overflow-trigger", "vsn-bc-overflow-popover")}
|
|
2814
|
-
>
|
|
2815
|
-
<vsn-breadcrumb-menu
|
|
2816
|
-
.treeList=${i}
|
|
2817
|
-
@vsn-breadcrumb-menu-leaf-select=${(e) => this._handleLeafSelect(e, "vsn-bc-overflow-popover")}
|
|
2818
|
-
></vsn-breadcrumb-menu>
|
|
2819
|
-
</div>
|
|
2820
|
-
<span class="ga-breadcrumb-item__separator" aria-hidden="true">/</span>
|
|
2821
|
-
</div>
|
|
2822
|
-
` : ""}
|
|
2836
|
+
${this._overflowCount === 0 ? this._renderModules() : this._renderOverflowDropdown(i)}
|
|
2823
2837
|
${a.map((e, t) => this._renderBreadcrumbItem(e, this._overflowCount + t))}
|
|
2824
|
-
${this._renderLastItem(r, e.length - 1, t)}`;
|
|
2838
|
+
${o ? this._renderPageTitle(t) : this._renderLastItem(r, e.length - 1, t)}`;
|
|
2825
2839
|
}
|
|
2826
2840
|
_renderMobileBreadcrumbs() {
|
|
2827
2841
|
let e = this._breadcrumbPath;
|
|
@@ -3338,7 +3352,7 @@ j([s()], Q.prototype, "href", void 0), Q = j([y(), o("vsn-skip-to-main")], Q);
|
|
|
3338
3352
|
//#region src/components/vsn-navigation.ts
|
|
3339
3353
|
var $ = class extends e {
|
|
3340
3354
|
constructor(...e) {
|
|
3341
|
-
super(...e), this.lang = "en", this.showHelp = !1, this.feedback = null, this.showNotification = !1, this.notificationActive = !1, this.open = !1, this._resolvedModules = [], this._modulesLoading = !1, this._modulesLoadToken = 0, this._restoreFocusToToggle = !1, this._onTopBarMenuItemChanged = (e) => {
|
|
3355
|
+
super(...e), this.lang = "en", this.showHelp = !1, this.feedback = null, this.moduleSwitcherAlwaysOpen = !1, this.showNotification = !1, this.notificationActive = !1, this.open = !1, this._resolvedModules = [], this._modulesLoading = !1, this._modulesLoadToken = 0, this._restoreFocusToToggle = !1, this._onTopBarMenuItemChanged = (e) => {
|
|
3342
3356
|
e.stopPropagation(), this.dispatchEvent(new CustomEvent("vsn-menu-item-changed", {
|
|
3343
3357
|
bubbles: !0,
|
|
3344
3358
|
composed: !0,
|
|
@@ -3356,11 +3370,15 @@ var $ = class extends e {
|
|
|
3356
3370
|
detail: t
|
|
3357
3371
|
}));
|
|
3358
3372
|
}, this._onShortcut = (e) => {
|
|
3359
|
-
e.defaultPrevented
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
|
|
3363
|
-
|
|
3373
|
+
if (!e.defaultPrevented && !e.repeat && !(!Oe(e) || e.key.toLowerCase() !== "o")) if (e.preventDefault(), this.open) this._closeSideBar();
|
|
3374
|
+
else {
|
|
3375
|
+
if (!this.dispatchEvent(new CustomEvent("vsn-open", {
|
|
3376
|
+
cancelable: !0,
|
|
3377
|
+
bubbles: !0,
|
|
3378
|
+
composed: !0
|
|
3379
|
+
}))) return;
|
|
3380
|
+
this._openAndFocusSearch();
|
|
3381
|
+
}
|
|
3364
3382
|
}, this._onEscape = (e) => {
|
|
3365
3383
|
e.defaultPrevented || this.open && E(e) && e.key === "Escape" && (e.preventDefault(), this.open = !1);
|
|
3366
3384
|
};
|
|
@@ -3487,6 +3505,7 @@ var $ = class extends e {
|
|
|
3487
3505
|
.activeModuleId=${this.modules?.activeModuleId}
|
|
3488
3506
|
.activeModuleLabel=${this.modules?.activeModuleLabel}
|
|
3489
3507
|
.modulesLoading=${this._modulesLoading}
|
|
3508
|
+
.moduleSwitcherAlwaysOpen=${this.moduleSwitcherAlwaysOpen}
|
|
3490
3509
|
.auth=${this.auth}
|
|
3491
3510
|
?open=${this.open}
|
|
3492
3511
|
@vsn-side-bar-close=${this._closeSideBar}
|
|
@@ -3505,6 +3524,9 @@ j([s()], $.prototype, "lang", void 0), j([s({ attribute: !1 })], $.prototype, "t
|
|
|
3505
3524
|
type: Boolean,
|
|
3506
3525
|
attribute: "show-help"
|
|
3507
3526
|
})], $.prototype, "showHelp", void 0), j([s({ attribute: "help-url" })], $.prototype, "helpUrl", void 0), j([s({ attribute: !1 })], $.prototype, "feedback", void 0), j([s({
|
|
3527
|
+
type: Boolean,
|
|
3528
|
+
attribute: "module-switcher-always-open"
|
|
3529
|
+
})], $.prototype, "moduleSwitcherAlwaysOpen", void 0), j([s({
|
|
3508
3530
|
type: Boolean,
|
|
3509
3531
|
attribute: "show-notification"
|
|
3510
3532
|
})], $.prototype, "showNotification", void 0), j([s({
|