@visma-swno/vsn-navigation 1.2.0-beta.22 → 1.2.0-beta.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.
@@ -272,43 +272,43 @@ function Oe(e) {
272
272
  }
273
273
  //#endregion
274
274
  //#region node_modules/@lit/localize/init/runtime.js
275
- function w(e) {
275
+ function ke(e) {
276
276
  window.dispatchEvent(new CustomEvent(y, { detail: e }));
277
277
  }
278
- var T = "", E, ke, D, Ae, je, O = new be();
279
- O.resolve();
280
- var k = 0, Me = (e) => (_e(((e, t) => De(je, e, t))), T = ke = e.sourceLocale, D = new Set(e.targetLocales), D.add(e.sourceLocale), Ae = e.loadLocale, {
281
- getLocale: Ne,
282
- setLocale: Pe
283
- }), Ne = () => T, Pe = (e) => {
284
- if (e === (E ?? T)) return O.promise;
285
- if (!D || !Ae) throw Error("Internal error");
286
- if (!D.has(e)) throw Error("Invalid locale code");
287
- k++;
288
- let t = k;
289
- return E = e, O.settled && (O = new be()), w({
278
+ var w = "", Ae, je, T, Me, Ne, E = new be();
279
+ E.resolve();
280
+ var D = 0, Pe = (e) => (_e(((e, t) => De(Ne, e, t))), w = je = e.sourceLocale, T = new Set(e.targetLocales), T.add(e.sourceLocale), Me = e.loadLocale, {
281
+ getLocale: Fe,
282
+ setLocale: Ie
283
+ }), Fe = () => w, Ie = (e) => {
284
+ if (e === (Ae ?? w)) return E.promise;
285
+ if (!T || !Me) throw Error("Internal error");
286
+ if (!T.has(e)) throw Error("Invalid locale code");
287
+ D++;
288
+ let t = D;
289
+ return Ae = e, E.settled && (E = new be()), ke({
290
290
  status: "loading",
291
291
  loadingLocale: e
292
- }), (e === ke ? Promise.resolve({ templates: void 0 }) : Ae(e)).then((n) => {
293
- k === t && (T = e, E = void 0, je = n.templates, w({
292
+ }), (e === je ? Promise.resolve({ templates: void 0 }) : Me(e)).then((n) => {
293
+ D === t && (w = e, Ae = void 0, Ne = n.templates, ke({
294
294
  status: "ready",
295
295
  readyLocale: e
296
- }), O.resolve());
296
+ }), E.resolve());
297
297
  }, (n) => {
298
- k === t && (w({
298
+ D === t && (ke({
299
299
  status: "error",
300
300
  errorLocale: e,
301
301
  errorMessage: n.toString()
302
- }), O.reject(n));
303
- }), O.promise;
304
- }, Fe = () => {
302
+ }), E.reject(n));
303
+ }), E.promise;
304
+ }, Le = () => {
305
305
  if (typeof navigator > "u") return !1;
306
306
  let e = navigator.userAgentData?.platform ?? navigator.platform ?? "";
307
307
  return /mac/i.test(e);
308
- }, Ie = (e) => !e.shiftKey && !e.altKey && (Fe() ? e.metaKey && !e.ctrlKey : e.ctrlKey && !e.metaKey), A = (e) => e.shiftKey || e.altKey || e.ctrlKey || e.metaKey, j = (e) => !A(e), Le = () => x("Choose a service"), Re = () => x("Search"), ze = () => Fe() ? "Cmd+K" : "CTRL+K", Be = (e) => x(b`Type at least ${e} characters to search`), Ve = () => x("Menu items"), He = () => x("Load more"), Ue = () => x("VSN"), We = "survicate-sdk", Ge = "ui-components-feedback", Ke = (e) => `https://survey.survicate.com/workspaces/${e}/web_surveys.js`;
308
+ }, Re = (e) => !e.shiftKey && !e.altKey && (Le() ? e.metaKey && !e.ctrlKey : e.ctrlKey && !e.metaKey), O = (e) => e.shiftKey || e.altKey || e.ctrlKey || e.metaKey, k = (e) => !O(e), ze = () => x("Choose a service"), Be = () => x("Search"), Ve = () => Le() ? "Cmd+K" : "CTRL+K", He = (e) => x(b`Type at least ${e} characters to search`), Ue = () => x("Menu items"), We = () => x("Load more"), Ge = () => x("VSN"), Ke = "survicate-sdk", qe = "ui-components-feedback", Je = (e) => `https://survey.survicate.com/workspaces/${e}/web_surveys.js`;
309
309
  //#endregion
310
310
  //#region src/shared/icons.ts
311
- function M(e, t = 24, r) {
311
+ function A(e, t = 24, r) {
312
312
  return n`<svg
313
313
  xmlns="http://www.w3.org/2000/svg"
314
314
  width="${t}"
@@ -323,23 +323,23 @@ function M(e, t = 24, r) {
323
323
  class=${r ?? ""}
324
324
  >${e}</svg>`;
325
325
  }
326
- var qe = i``, Je = i`
326
+ var Ye = i``, Xe = i`
327
327
  <path d="M4 5h16"/>
328
328
  <path d="M4 12h16"/>
329
329
  <path d="M4 19h16"/>
330
- `, Ye = i`
330
+ `, Ze = i`
331
331
  <path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"/>
332
332
  <path d="M20 2v4"/>
333
333
  <path d="M22 4h-4"/>
334
334
  <circle cx="4" cy="20" r="2"/>
335
- `, Xe = i`
335
+ `, Qe = i`
336
336
  <path d="M10.268 21a2 2 0 0 0 3.464 0"/>
337
337
  <path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"/>
338
- `, Ze = i`
338
+ `, $e = i`
339
339
  <path d="M10.268 21a2 2 0 0 0 3.464 0"/>
340
340
  <path d="M11.68 2.009A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673c-.824-.85-1.678-1.731-2.21-3.348"/>
341
341
  <circle cx="18" cy="5" r="3"/>
342
- `, Qe = i`
342
+ `, et = i`
343
343
  <path d="M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z"/>
344
344
  <path d="M7 10v12"/>
345
345
  `;
@@ -350,14 +350,14 @@ i`
350
350
  <path d="M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2"/>
351
351
  <path d="M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16"/>
352
352
  `;
353
- var $e = i`
353
+ var tt = i`
354
354
  <path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"/>
355
355
  <path d="M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/>
356
- `, et = i`
356
+ `, nt = i`
357
357
  <circle cx="12" cy="12" r="10"/>
358
358
  <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"/>
359
359
  <path d="M12 17h.01"/>
360
- `, tt = i`
360
+ `, rt = i`
361
361
  <circle cx="12" cy="8" r="5"/>
362
362
  <path d="M20 21a8 8 0 0 0-16 0"/>
363
363
  `;
@@ -368,11 +368,11 @@ i`
368
368
  <path d="M12 17v5"/>
369
369
  <path d="M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"/>
370
370
  `;
371
- var nt = i`
371
+ var it = i`
372
372
  <path d="m16 17 5-5-5-5"/>
373
373
  <path d="M21 12H9"/>
374
374
  <path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"/>
375
- `, rt = i`
375
+ `, at = i`
376
376
  <path d="M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6"/>
377
377
  <path d="m21 3-9 9"/>
378
378
  <path d="M15 3h6v6"/>
@@ -381,17 +381,17 @@ i`
381
381
  <circle cx="12" cy="12" r="10"/>
382
382
  <circle cx="12" cy="12" r="1"/>
383
383
  `;
384
- var it = i`
384
+ var ot = i`
385
385
  <path d="m7 15 5 5 5-5"/>
386
386
  <path d="m7 9 5-5 5 5"/>
387
- `, at = i`
387
+ `, st = i`
388
388
  <path d="m18 15-6-6-6 6"/>
389
- `, N = i`
389
+ `, j = i`
390
390
  <path d="m6 9 6 6 6-6"/>
391
- `, ot = i`
391
+ `, ct = i`
392
392
  <circle cx="11" cy="11" r="8"/>
393
393
  <path d="m21 21-4.3-4.3"/>
394
- `, st = i`
394
+ `, lt = i`
395
395
  <circle cx="12" cy="12" r="10"/>
396
396
  <path d="m15 9-6 6"/>
397
397
  <path d="m9 9 6 6"/>
@@ -401,7 +401,7 @@ i`
401
401
  <line x1="12" x2="12" y1="8" y2="12"/>
402
402
  <line x1="12" x2="12.01" y1="16" y2="16"/>
403
403
  `;
404
- var ct = i`
404
+ var ut = i`
405
405
  <path d="M12 16h.01"/>
406
406
  <path d="M12 8v4"/>
407
407
  <path d="M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z"/>
@@ -412,12 +412,12 @@ i`
412
412
  `, i`
413
413
  <path fill-rule="evenodd" clip-rule="evenodd" d="M2.60982 1.03843C2.99778 0.96126 3.39992 1.00087 3.76537 1.15224C4.13082 1.30362 4.44318 1.55996 4.66294 1.88886C4.8827 2.21776 5 2.60444 5 3V4H7V3C7 2.60444 7.1173 2.21776 7.33706 1.88886C7.55682 1.55996 7.86918 1.30362 8.23463 1.15224C8.60009 1.00087 9.00222 0.96126 9.39018 1.03843C9.77814 1.1156 10.1345 1.30608 10.4142 1.58579C10.6939 1.86549 10.8844 2.22186 10.9616 2.60982C11.0387 2.99778 10.9991 3.39992 10.8478 3.76537C10.6964 4.13082 10.44 4.44318 10.1111 4.66294C9.78224 4.8827 9.39556 5 9 5H8V7H9C9.39556 7 9.78224 7.1173 10.1111 7.33706C10.44 7.55682 10.6964 7.86918 10.8478 8.23463C10.9991 8.60009 11.0387 9.00222 10.9616 9.39018C10.8844 9.77814 10.6939 10.1345 10.4142 10.4142C10.1345 10.6939 9.77814 10.8844 9.39018 10.9616C9.00222 11.0387 8.60009 10.9991 8.23463 10.8478C7.86918 10.6964 7.55682 10.44 7.33706 10.1111C7.1173 9.78224 7 9.39556 7 9V8H5V9C5 9.39556 4.8827 9.78224 4.66294 10.1111C4.44318 10.44 4.13082 10.6964 3.76537 10.8478C3.39992 10.9991 2.99778 11.0387 2.60982 10.9616C2.22186 10.8844 1.86549 10.6939 1.58579 10.4142C1.30608 10.1345 1.1156 9.77814 1.03843 9.39018C0.96126 9.00222 1.00087 8.60009 1.15224 8.23463C1.30362 7.86918 1.55996 7.55682 1.88886 7.33706C2.21776 7.1173 2.60444 7 3 7H4V5H3C2.60444 5 2.21776 4.8827 1.88886 4.66294C1.55996 4.44318 1.30362 4.13082 1.15224 3.76537C1.00087 3.39992 0.96126 2.99778 1.03843 2.60982C1.1156 2.22186 1.30608 1.86549 1.58579 1.58579C1.86549 1.30608 2.22186 1.1156 2.60982 1.03843ZM4 4V3C4 2.80222 3.94135 2.60888 3.83147 2.44443C3.72159 2.27998 3.56541 2.15181 3.38268 2.07612C3.19996 2.00043 2.99889 1.98063 2.80491 2.01922C2.61093 2.0578 2.43275 2.15304 2.29289 2.29289C2.15304 2.43275 2.0578 2.61093 2.01922 2.80491C1.98063 2.99889 2.00043 3.19996 2.07612 3.38268C2.15181 3.56541 2.27998 3.72159 2.44443 3.83147C2.60888 3.94135 2.80222 4 3 4H4ZM5 5V7H7V5H5ZM4 8H3C2.80222 8 2.60888 8.05865 2.44443 8.16853C2.27998 8.27841 2.15181 8.43459 2.07612 8.61732C2.00043 8.80004 1.98063 9.00111 2.01922 9.19509C2.0578 9.38907 2.15304 9.56726 2.29289 9.70711C2.43275 9.84696 2.61093 9.9422 2.80491 9.98079C2.99889 10.0194 3.19996 9.99957 3.38268 9.92388C3.56541 9.84819 3.72159 9.72002 3.83147 9.55557C3.94135 9.39112 4 9.19778 4 9V8ZM8 8V9C8 9.19778 8.05865 9.39112 8.16853 9.55557C8.27841 9.72002 8.43459 9.84819 8.61732 9.92388C8.80004 9.99957 9.00111 10.0194 9.19509 9.98079C9.38907 9.9422 9.56726 9.84696 9.70711 9.70711C9.84696 9.56726 9.9422 9.38907 9.98079 9.19509C10.0194 9.00111 9.99957 8.80004 9.92388 8.61732C9.84819 8.43459 9.72002 8.27841 9.55557 8.16853C9.39112 8.05865 9.19778 8 9 8H8ZM8 4H9C9.19778 4 9.39112 3.94135 9.55557 3.83147C9.72002 3.72159 9.84819 3.56541 9.92388 3.38268C9.99957 3.19996 10.0194 2.99889 9.98079 2.80491C9.9422 2.61093 9.84696 2.43275 9.70711 2.29289C9.56726 2.15304 9.38907 2.0578 9.19509 2.01922C9.00111 1.98063 8.80004 2.00043 8.61732 2.07612C8.43459 2.15181 8.27841 2.27998 8.16853 2.44443C8.05865 2.60888 8 2.80222 8 3V4Z"/>
414
414
  `;
415
- var lt = i`
415
+ var dt = i`
416
416
  <path d="m9 18 6-6-6-6"/>
417
417
  `;
418
418
  //#endregion
419
419
  //#region \0@oxc-project+runtime@0.127.0/helpers/decorate.js
420
- function P(e, t, n, r) {
420
+ function M(e, t, n, r) {
421
421
  var i = arguments.length, a = i < 3 ? t : r === null ? r = Object.getOwnPropertyDescriptor(t, n) : r, o;
422
422
  if (typeof Reflect == "object" && typeof Reflect.decorate == "function") a = Reflect.decorate(e, t, n, r);
423
423
  else for (var s = e.length - 1; s >= 0; s--) (o = e[s]) && (a = (i < 3 ? o(a) : i > 3 ? o(t, n, a) : o(t, n)) || a);
@@ -425,9 +425,9 @@ function P(e, t, n, r) {
425
425
  }
426
426
  //#endregion
427
427
  //#region src/components/vsn-side-bar/vsn-menu/vsn-menu-item.ts
428
- var F, I = class extends e {
428
+ var N, P = class extends e {
429
429
  static {
430
- F = this;
430
+ N = this;
431
431
  }
432
432
  static {
433
433
  this._idCounter = 0;
@@ -449,7 +449,7 @@ var F, I = class extends e {
449
449
  super(), this.level = 1, this._currentActiveId = "", this._isActive = !1, this._isExpanded = !1, this._showTooltip = !1, this._tooltipPos = {
450
450
  x: 0,
451
451
  y: 0
452
- }, this._onItemMouseEnter = (e) => {
452
+ }, this.hasPageTitle = !1, this._onItemMouseEnter = (e) => {
453
453
  if (this._showTooltip = !1, this._labelEl && this._labelEl.scrollWidth > this._labelEl.clientWidth) {
454
454
  let t = e.currentTarget.getBoundingClientRect();
455
455
  this._tooltipPos = {
@@ -461,8 +461,8 @@ var F, I = class extends e {
461
461
  this._showTooltip = !1;
462
462
  }, this._onKeyDown = (e) => {
463
463
  let t = this.tree;
464
- if (t !== void 0 && !(e.defaultPrevented || A(e))) {
465
- if (F.menuShortcuts.includes(e.key) && (e.preventDefault(), e.stopPropagation()), e.key === "ArrowUp") {
464
+ if (t !== void 0 && !(e.defaultPrevented || O(e))) {
465
+ if (N.menuShortcuts.includes(e.key) && (e.preventDefault(), e.stopPropagation()), e.key === "ArrowUp") {
466
466
  this._focusManager?.focusPrev(this);
467
467
  return;
468
468
  }
@@ -472,7 +472,7 @@ var F, I = class extends e {
472
472
  }
473
473
  _(t) ? this.handleKeyForParent(e.key) : this.handleKeyForLeaf(e.key);
474
474
  }
475
- }, this._tooltipId = `vsn-side-menu-item-tooltip-${F._idCounter++}`;
475
+ }, this._tooltipId = `vsn-side-menu-item-tooltip-${N._idCounter++}`;
476
476
  }
477
477
  focusSelf() {
478
478
  this.querySelector("a.ga-side-navigation__item, div.ga-side-navigation__item[tabindex=\"0\"]")?.focus();
@@ -500,7 +500,7 @@ var F, I = class extends e {
500
500
  <div class="ga-tooltip ga-tooltip--right-center w-34 max-w-135">${this.tree?.label}</div>
501
501
  </div>
502
502
  <span class="ga-side-navigation__item-icon">
503
- ${e ? this._isExpanded ? M(N, 16) : M(lt, 16) : ""}
503
+ ${e ? this._isExpanded ? A(j, 16) : A(dt, 16) : ""}
504
504
  </span>
505
505
  <div class="ga-side-navigation__item-content">
506
506
  <div class="ga-side-navigation__item-label">${this.tree?.label}</div>
@@ -519,7 +519,7 @@ var F, I = class extends e {
519
519
  switch (e) {
520
520
  case " ":
521
521
  case "Enter":
522
- this._isActive || this.dispatchEvent(new CustomEvent("vsn-menu-item-changed", {
522
+ (!this._isActive || this.hasPageTitle) && this.dispatchEvent(new CustomEvent("vsn-menu-item-changed", {
523
523
  bubbles: !0,
524
524
  composed: !0,
525
525
  detail: this.tree
@@ -560,7 +560,7 @@ var F, I = class extends e {
560
560
  this._isExpanded = !this._isExpanded, e.preventDefault(), e.stopPropagation();
561
561
  return;
562
562
  }
563
- e.button !== 0 || A(e) || (e.preventDefault(), e.stopPropagation(), this._isActive || this.dispatchEvent(new CustomEvent("vsn-menu-item-changed", {
563
+ e.button !== 0 || O(e) || (e.preventDefault(), e.stopPropagation(), (!this._isActive || this.hasPageTitle) && this.dispatchEvent(new CustomEvent("vsn-menu-item-changed", {
564
564
  bubbles: !0,
565
565
  composed: !0,
566
566
  detail: t
@@ -568,15 +568,15 @@ var F, I = class extends e {
568
568
  }
569
569
  }
570
570
  };
571
- P([s({ attribute: !1 })], I.prototype, "tree", void 0), P([s({ type: Number })], I.prototype, "level", void 0), P([ue({
571
+ M([s({ attribute: !1 })], P.prototype, "tree", void 0), M([s({ type: Number })], P.prototype, "level", void 0), M([ue({
572
572
  context: de,
573
573
  subscribe: !0
574
- }), l()], I.prototype, "_currentActiveId", void 0), P([l()], I.prototype, "_isActive", void 0), P([l()], I.prototype, "_isExpanded", void 0), P([l()], I.prototype, "_showTooltip", void 0), P([l()], I.prototype, "_tooltipPos", void 0), P([c(".ga-side-navigation__item-label")], I.prototype, "_labelEl", void 0), P([ue({ context: fe })], I.prototype, "_focusManager", void 0), I = F = P([o("vsn-menu-item")], I);
574
+ }), l()], P.prototype, "_currentActiveId", void 0), M([l()], P.prototype, "_isActive", void 0), M([l()], P.prototype, "_isExpanded", void 0), M([l()], P.prototype, "_showTooltip", void 0), M([l()], P.prototype, "_tooltipPos", void 0), M([c(".ga-side-navigation__item-label")], P.prototype, "_labelEl", void 0), M([ue({ context: fe })], P.prototype, "_focusManager", void 0), M([s({ type: Boolean })], P.prototype, "hasPageTitle", void 0), P = N = M([o("vsn-menu-item")], P);
575
575
  //#endregion
576
576
  //#region src/components/vsn-side-bar/vsn-menu/vsn-menu.ts
577
- var L = class extends e {
577
+ var F = class extends e {
578
578
  constructor(...e) {
579
- super(...e), this.items = [], this._currentActiveId = "", this.currentItem = "", this._focusManager = {
579
+ super(...e), this.items = [], this._currentActiveId = "", this.currentItem = "", this.hasPageTitle = !1, this._focusManager = {
580
580
  focusPrev: (e) => {
581
581
  let t = Array.from(this.querySelectorAll("vsn-menu-item"));
582
582
  t[t.indexOf(e) - 1]?.focusSelf();
@@ -607,18 +607,18 @@ var L = class extends e {
607
607
  }
608
608
  menuItem(e) {
609
609
  return n`
610
- <vsn-menu-item .tree=${e}></vsn-menu-item>`;
610
+ <vsn-menu-item .tree=${e} .hasPageTitle=${this.hasPageTitle}></vsn-menu-item>`;
611
611
  }
612
612
  };
613
- P([s({ attribute: !1 })], L.prototype, "items", void 0), P([le({ context: de }), l()], L.prototype, "_currentActiveId", void 0), P([s()], L.prototype, "currentItem", void 0), P([le({ context: fe })], L.prototype, "_focusManager", void 0), L = P([o("vsn-menu")], L);
613
+ M([s({ attribute: !1 })], F.prototype, "items", void 0), M([le({ context: de }), l()], F.prototype, "_currentActiveId", void 0), M([s()], F.prototype, "currentItem", void 0), M([s({ type: Boolean })], F.prototype, "hasPageTitle", void 0), M([le({ context: fe })], F.prototype, "_focusManager", void 0), F = M([o("vsn-menu")], F);
614
614
  //#endregion
615
615
  //#region src/components/vsn-side-bar/vsn-menu/vsn-menu-button.ts
616
- var R = class extends e {
616
+ var I = class extends e {
617
617
  constructor(...e) {
618
618
  super(...e), this.label = "", this.closeOnClick = !1, this._onKeydown = (e) => {
619
- e.defaultPrevented || j(e) && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), e.stopPropagation(), e.stopImmediatePropagation(), this.click());
619
+ e.defaultPrevented || k(e) && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), e.stopPropagation(), e.stopImmediatePropagation(), this.click());
620
620
  }, this._onClick = (e) => {
621
- e.defaultPrevented || e.button !== 0 || A(e) || this.closeOnClick && this.dispatchEvent(new CustomEvent("vsn-side-bar-close", {
621
+ e.defaultPrevented || e.button !== 0 || O(e) || this.closeOnClick && this.dispatchEvent(new CustomEvent("vsn-side-bar-close", {
622
622
  bubbles: !0,
623
623
  composed: !0
624
624
  }));
@@ -726,13 +726,13 @@ var R = class extends e {
726
726
  `;
727
727
  }
728
728
  };
729
- P([s()], R.prototype, "label", void 0), P([s({
729
+ M([s()], I.prototype, "label", void 0), M([s({
730
730
  type: Boolean,
731
731
  attribute: "close-on-click"
732
- })], R.prototype, "closeOnClick", void 0), R = P([o("vsn-menu-button")], R);
732
+ })], I.prototype, "closeOnClick", void 0), I = M([o("vsn-menu-button")], I);
733
733
  //#endregion
734
734
  //#region src/components/vsn-side-bar/vsn-menu/vsn-menu-separator.ts
735
- var ut = class extends e {
735
+ var ft = class extends e {
736
736
  static {
737
737
  this.styles = [t`
738
738
  /* flow-root establishes a BFC so the .line's margins stay contained.
@@ -756,15 +756,15 @@ var ut = class extends e {
756
756
  return n`<div class="line"></div>`;
757
757
  }
758
758
  };
759
- ut = P([o("vsn-menu-separator")], ut);
759
+ ft = M([o("vsn-menu-separator")], ft);
760
760
  //#endregion
761
761
  //#region src/components/vsn-side-bar/vsn-footer/vsn-footer.keyboard.ts
762
- var dt = class {
762
+ var pt = class {
763
763
  constructor(e) {
764
764
  this._prevExpanded = !1, this.onUserKeydown = (e) => {
765
- e.defaultPrevented || A(e) || (e.key === "Enter" || e.key === " " || e.key === "Escape" && this.host.expanded) && (e.preventDefault(), this.host.expanded = !this.host.expanded);
765
+ e.defaultPrevented || O(e) || (e.key === "Enter" || e.key === " " || e.key === "Escape" && this.host.expanded) && (e.preventDefault(), this.host.expanded = !this.host.expanded);
766
766
  }, this.onDropdownKeydown = (e) => {
767
- if (e.defaultPrevented || A(e)) return;
767
+ if (e.defaultPrevented || O(e)) return;
768
768
  if (e.key === "Enter" || e.key === " ") {
769
769
  let t = e.target;
770
770
  t instanceof HTMLElement && t.classList.contains("ga-side-navigation__footer-dropdown-item") && (e.preventDefault(), t.click());
@@ -789,7 +789,7 @@ var dt = class {
789
789
  } else !this.host.expanded && this._prevExpanded && this.host.querySelector(".ga-side-navigation__user")?.focus();
790
790
  this._prevExpanded = this.host.expanded;
791
791
  }
792
- }, ft = class {
792
+ }, mt = class {
793
793
  constructor(e, t, n) {
794
794
  this._onPointerDown = (e) => {
795
795
  let t = e.composedPath();
@@ -806,18 +806,18 @@ var dt = class {
806
806
  hostDisconnected() {
807
807
  document.removeEventListener("pointerdown", this._onPointerDown, !0);
808
808
  }
809
- }, pt = "initials";
810
- function mt(e, t, n, r) {
809
+ }, ht = "initials";
810
+ function gt(e, t, n, r) {
811
811
  if (!t) return;
812
812
  let i = new URLSearchParams({
813
- type: pt,
813
+ type: ht,
814
814
  size: r
815
815
  });
816
816
  return n && i.set("client_id", n), `${e}${t}?${i}`;
817
817
  }
818
818
  //#endregion
819
819
  //#region src/components/controllers/focus-trapping-controller.ts
820
- var z = class {
820
+ var L = class {
821
821
  constructor(e, t, n = void 0) {
822
822
  this._rootElement = null, this._onKeyDown = (e) => {
823
823
  if (e.defaultPrevented || e.key !== "Tab" || e.ctrlKey || e.altKey || e.metaKey || !this._appliesCallback() || this._rootElement == null) return;
@@ -836,31 +836,31 @@ var z = class {
836
836
  hostUpdated() {
837
837
  this._rootElement == null && this._rootSelector && (this._rootElement = this._host.renderRoot.querySelector(this._rootSelector), this._rootElement != null && this._rootElement.addEventListener("keydown", this._onKeyDown));
838
838
  }
839
- }, ht = {
840
- profile: tt,
841
- logout: nt
842
- }, gt = () => ({
839
+ }, _t = {
840
+ profile: rt,
841
+ logout: it
842
+ }, vt = () => ({
843
843
  profile: x("My profile"),
844
844
  logout: x("Log out")
845
- }), B = class extends e {
845
+ }), R = class extends e {
846
846
  createRenderRoot() {
847
847
  return this;
848
848
  }
849
849
  get _items() {
850
850
  return [{
851
851
  id: "profile",
852
- label: gt().profile,
852
+ label: vt().profile,
853
853
  url: this.myProfileUrl
854
854
  }, {
855
855
  id: "logout",
856
- label: gt().logout,
856
+ label: vt().logout,
857
857
  url: "/logout"
858
858
  }];
859
859
  }
860
860
  constructor() {
861
- super(), this.expanded = !1, this._avatarFailed = !1, this._keyboard = new dt(this), new ft(this, [".ga-side-navigation__footer-dropdown", ".ga-side-navigation__user"], () => {
861
+ super(), this.expanded = !1, this._avatarFailed = !1, this._keyboard = new pt(this), new mt(this, [".ga-side-navigation__footer-dropdown", ".ga-side-navigation__user"], () => {
862
862
  this.expanded = !1;
863
- }), new z(this, () => this.expanded);
863
+ }), new L(this, () => this.expanded);
864
864
  }
865
865
  willUpdate(e) {
866
866
  (e.has("user") || e.has("profilePictureBaseUrl")) && (this._avatarFailed = !1);
@@ -895,7 +895,7 @@ var z = class {
895
895
  </div>
896
896
 
897
897
  <span class="ga-side-navigation__user-action">
898
- ${this.expanded ? M(at, 16) : M(it, 16)}
898
+ ${this.expanded ? A(st, 16) : A(ot, 16)}
899
899
  </span>
900
900
 
901
901
  </div>
@@ -909,14 +909,14 @@ var z = class {
909
909
  ${this._items.map((e) => {
910
910
  let t = n`
911
911
  <span class="ga-side-navigation__footer-dropdown-icon">
912
- ${M(ht[e.id], 16)}
912
+ ${A(_t[e.id], 16)}
913
913
  </span>
914
914
  <span class="ga-side-navigation__footer-dropdown-title">
915
915
  ${e.label}
916
916
  </span>
917
917
  ${e.external ? n`
918
918
  <span class="ga-side-navigation__footer-dropdown-trail">
919
- ${M(rt, 16)}
919
+ ${A(at, 16)}
920
920
  </span>
921
921
  ` : r}
922
922
  `;
@@ -957,7 +957,7 @@ var z = class {
957
957
  }));
958
958
  }
959
959
  renderAvatar() {
960
- let e = mt(this.profilePictureBaseUrl, this.user.userId, this.user.clientId, "small");
960
+ let e = gt(this.profilePictureBaseUrl, this.user.userId, this.user.clientId, "small");
961
961
  return e && !this._avatarFailed ? n`<img
962
962
  class="ga-side-navigation__user-avatar"
963
963
  src=${e}
@@ -965,33 +965,33 @@ var z = class {
965
965
  @error=${() => {
966
966
  this._avatarFailed = !0;
967
967
  }}/>` : n`<span class="ga-side-navigation__user-avatar vsn-side-navigation__user-avatar--icon">
968
- ${M(tt, 24)}
968
+ ${A(rt, 24)}
969
969
  </span>`;
970
970
  }
971
971
  };
972
- P([s({ attribute: !1 })], B.prototype, "user", void 0), P([s()], B.prototype, "profilePictureBaseUrl", void 0), P([s()], B.prototype, "myProfileUrl", void 0), P([s({
972
+ M([s({ attribute: !1 })], R.prototype, "user", void 0), M([s()], R.prototype, "profilePictureBaseUrl", void 0), M([s()], R.prototype, "myProfileUrl", void 0), M([s({
973
973
  type: Boolean,
974
974
  reflect: !0
975
- })], B.prototype, "expanded", void 0), P([l()], B.prototype, "_avatarFailed", void 0), B = P([S(), o("vsn-footer")], B);
975
+ })], R.prototype, "expanded", void 0), M([l()], R.prototype, "_avatarFailed", void 0), R = M([S(), o("vsn-footer")], R);
976
976
  //#endregion
977
977
  //#region src/components/vsn-side-bar/vsn-header/vsn-header.keyboard.ts
978
- var _t = class {
978
+ var yt = class {
979
979
  constructor(e) {
980
980
  this.onSwitcherKeydown = (e) => {
981
- e.defaultPrevented || A(e) || (this.host.expanded && (e.key === "Enter" || e.key === " " || e.key === "Escape") ? this.host.requestClose() && e.preventDefault() : !this.host.expanded && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), (this.host.hasAvailableItems || this.host.modulesLoading) && (this.host.expanded = !this.host.expanded)));
981
+ e.defaultPrevented || O(e) || (this.host.expanded && (e.key === "Enter" || e.key === " " || e.key === "Escape") ? this.host.requestClose() && e.preventDefault() : !this.host.expanded && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), (this.host.hasAvailableItems || this.host.modulesLoading) && (this.host.expanded = !this.host.expanded)));
982
982
  }, this.host = e, e.addController(this);
983
983
  }
984
984
  hostConnected() {}
985
- }, V = class extends e {
985
+ }, z = class extends e {
986
986
  constructor(...e) {
987
987
  super(...e), this.items = [], this.loading = !1, this.maxHeight = 0, this._handleKeydown = (e) => {
988
988
  if (e.defaultPrevented) return;
989
- if (j(e) && (e.key === "Enter" || e.key === " ")) {
989
+ if (k(e) && (e.key === "Enter" || e.key === " ")) {
990
990
  let t = e.target;
991
991
  t instanceof HTMLElement && t.classList.contains("ga-side-navigation__switcher-dropdown-item") && (e.preventDefault(), t.click());
992
992
  return;
993
993
  }
994
- if (A(e) || e.key !== "ArrowDown" && e.key !== "ArrowUp") return;
994
+ if (O(e) || e.key !== "ArrowDown" && e.key !== "ArrowUp") return;
995
995
  e.preventDefault();
996
996
  let t = Array.from(this.querySelectorAll(".ga-side-navigation__switcher-dropdown-item"));
997
997
  if (t.length === 0) return;
@@ -1006,7 +1006,7 @@ var _t = class {
1006
1006
  this.loading || this.querySelector(".ga-side-navigation__switcher-dropdown-item")?.focus();
1007
1007
  }
1008
1008
  _handleItemClick(e, t) {
1009
- A(e) || (e.preventDefault(), this.dispatchEvent(new CustomEvent("item-select", {
1009
+ O(e) || (e.preventDefault(), this.dispatchEvent(new CustomEvent("item-select", {
1010
1010
  detail: { id: t },
1011
1011
  bubbles: !0,
1012
1012
  composed: !0
@@ -1024,9 +1024,9 @@ var _t = class {
1024
1024
  <div class="ga-side-navigation__switcher-dropdown ga-scroll"
1025
1025
  role="menu"
1026
1026
  style=${`max-height: ${Math.max(0, this.maxHeight)}px`}
1027
- aria-label=${Le()}
1027
+ aria-label=${ze()}
1028
1028
  @keydown=${this._handleKeydown}>
1029
- <span class="ga-side-navigation__switcher-dropdown-header">${Le()}</span>
1029
+ <span class="ga-side-navigation__switcher-dropdown-header">${ze()}</span>
1030
1030
  ${this.items.map((e) => n`
1031
1031
  <a class="ga-side-navigation__switcher-dropdown-item"
1032
1032
  href=${e.url ?? ""}
@@ -1039,10 +1039,10 @@ var _t = class {
1039
1039
  `;
1040
1040
  }
1041
1041
  };
1042
- P([s({ attribute: !1 })], V.prototype, "items", void 0), P([s({ type: Boolean })], V.prototype, "loading", void 0), P([s({ attribute: !1 })], V.prototype, "maxHeight", void 0), V = P([S(), o("vsn-switcher-menu")], V);
1042
+ M([s({ attribute: !1 })], z.prototype, "items", void 0), M([s({ type: Boolean })], z.prototype, "loading", void 0), M([s({ attribute: !1 })], z.prototype, "maxHeight", void 0), z = M([S(), o("vsn-switcher-menu")], z);
1043
1043
  //#endregion
1044
1044
  //#region src/components/vsn-side-bar/vsn-search/vsn-search.ts
1045
- var H = class extends e {
1045
+ var B = class extends e {
1046
1046
  constructor(...e) {
1047
1047
  super(...e), this.shortcut = "", this.value = "", this.loading = !1, this._scheduleAutoSearch = () => {
1048
1048
  this._cancelDebounce(), this._debounceTimer = window.setTimeout(this._emitSearch, 200);
@@ -1060,7 +1060,7 @@ var H = class extends e {
1060
1060
  composed: !0
1061
1061
  }));
1062
1062
  }, this._handleEscape = (e) => {
1063
- e.defaultPrevented || j(e) && e.key === "Escape" && this.value.length > 0 && (e.preventDefault(), this._emitSearchCleared());
1063
+ e.defaultPrevented || k(e) && e.key === "Escape" && this.value.length > 0 && (e.preventDefault(), this._emitSearchCleared());
1064
1064
  };
1065
1065
  }
1066
1066
  createRenderRoot() {
@@ -1085,7 +1085,7 @@ var H = class extends e {
1085
1085
  this._cancelDebounce(), super.disconnectedCallback();
1086
1086
  }
1087
1087
  _handleEnter(e) {
1088
- e.defaultPrevented || j(e) && e.key === "Enter" && this._emitSearch();
1088
+ e.defaultPrevented || k(e) && e.key === "Enter" && this._emitSearch();
1089
1089
  }
1090
1090
  render() {
1091
1091
  let e = this.value.length > 0 && this.value.length < 3;
@@ -1097,17 +1097,17 @@ var H = class extends e {
1097
1097
  aria-label=${x("Search")}
1098
1098
  ?disabled=${!this._canSearch}
1099
1099
  @click=${this._emitSearch}>
1100
- ${M(ot, 24)}
1100
+ ${A(ct, 24)}
1101
1101
  </button>
1102
1102
  <input type="search"
1103
- .placeholder=${Re()}
1103
+ .placeholder=${Be()}
1104
1104
  .value=${this.value}
1105
1105
  @input=${this._handleInput}
1106
1106
  @keydown=${this._handleEnter}/>
1107
1107
  ${this._trailingSlot()}
1108
1108
  </div>
1109
1109
  ${u(e, () => n`
1110
- <div class="vsn-search__helper">${Be(3)}</div>`)}
1110
+ <div class="vsn-search__helper">${He(3)}</div>`)}
1111
1111
  `;
1112
1112
  }
1113
1113
  _trailingSlot() {
@@ -1125,7 +1125,7 @@ var H = class extends e {
1125
1125
  return n`
1126
1126
  <button class="vsn-search__clear" aria-label=${x("Clear search")}
1127
1127
  @click=${this._emitSearchCleared}>
1128
- ${M(st, 16)}
1128
+ ${A(lt, 16)}
1129
1129
  </button>
1130
1130
  `;
1131
1131
  }
@@ -1133,17 +1133,17 @@ var H = class extends e {
1133
1133
  return n`<kbd class="ga-side-navigation__search-shortcut">${this.shortcut}</kbd>`;
1134
1134
  }
1135
1135
  };
1136
- P([s()], H.prototype, "shortcut", void 0), P([s()], H.prototype, "value", void 0), P([s({ type: Boolean })], H.prototype, "loading", void 0), H = P([S(), o("vsn-search")], H);
1136
+ M([s()], B.prototype, "shortcut", void 0), M([s()], B.prototype, "value", void 0), M([s({ type: Boolean })], B.prototype, "loading", void 0), B = M([S(), o("vsn-search")], B);
1137
1137
  //#endregion
1138
1138
  //#region src/components/vsn-side-bar/vsn-header/vsn-header.ts
1139
- var U = class extends e {
1139
+ var V = class extends e {
1140
1140
  createRenderRoot() {
1141
1141
  return this;
1142
1142
  }
1143
1143
  constructor() {
1144
- super(), this.modules = [], this.modulesLoading = !1, this.hasMenu = !1, this.moduleSwitcherMaxHeight = 0, this.searchValue = "", this.searchLoading = !1, this.expanded = !1, this._keyboard = new _t(this), new ft(this, [".ga-side-navigation__switcher-dropdown", ".ga-side-navigation__switcher"], () => {
1144
+ super(), this.modules = [], this.modulesLoading = !1, this.hasMenu = !1, this.moduleSwitcherMaxHeight = 0, this.searchValue = "", this.searchLoading = !1, this.expanded = !1, this._keyboard = new yt(this), new mt(this, [".ga-side-navigation__switcher-dropdown", ".ga-side-navigation__switcher"], () => {
1145
1145
  this.canClose && (this.expanded = !1);
1146
- }), new z(this, () => this.expanded, ".vsn-switcher-anchor");
1146
+ }), new L(this, () => this.expanded, ".vsn-switcher-anchor");
1147
1147
  }
1148
1148
  focus() {
1149
1149
  let e = this.querySelector("vsn-search");
@@ -1168,7 +1168,7 @@ var U = class extends e {
1168
1168
  title="">
1169
1169
  <span class="ga-side-navigation__switcher-title">${e.title}</span>
1170
1170
  <span class="ga-side-navigation__switcher-action">
1171
- ${this.canClose ? this.expanded ? M(N, 16) : M(it, 16) : M(qe, 16)}
1171
+ ${this.canClose ? this.expanded ? A(j, 16) : A(ot, 16) : A(Ye, 16)}
1172
1172
  </span>
1173
1173
  </div>
1174
1174
 
@@ -1183,7 +1183,7 @@ var U = class extends e {
1183
1183
 
1184
1184
  ${u(this.search?.enabled, () => n`
1185
1185
  <vsn-search
1186
- .shortcut=${ze()}
1186
+ .shortcut=${Ve()}
1187
1187
  .value=${this.searchValue}
1188
1188
  .loading=${this.searchLoading}>
1189
1189
  </vsn-search>`)}
@@ -1193,7 +1193,7 @@ var U = class extends e {
1193
1193
  get _state() {
1194
1194
  if (this.modulesLoading) return {
1195
1195
  kind: "loading",
1196
- title: this.activeModuleLabel || Ue()
1196
+ title: this.activeModuleLabel || Ge()
1197
1197
  };
1198
1198
  let e = this.modules.find((e) => e.id === this.activeModuleId);
1199
1199
  return e ? {
@@ -1202,7 +1202,7 @@ var U = class extends e {
1202
1202
  available: this.modules.filter((t) => t.id !== e.id)
1203
1203
  } : {
1204
1204
  kind: "no-active",
1205
- title: Ue(),
1205
+ title: Ge(),
1206
1206
  available: this.modules
1207
1207
  };
1208
1208
  }
@@ -1240,16 +1240,16 @@ var U = class extends e {
1240
1240
  }), !0);
1241
1241
  }
1242
1242
  };
1243
- P([s({ attribute: !1 })], U.prototype, "modules", void 0), P([s()], U.prototype, "activeModuleId", void 0), P([s()], U.prototype, "activeModuleLabel", void 0), P([s({ type: Boolean })], U.prototype, "modulesLoading", void 0), P([s({ type: Boolean })], U.prototype, "hasMenu", void 0), P([s({ attribute: !1 })], U.prototype, "moduleSwitcherMaxHeight", void 0), P([s({ attribute: !1 })], U.prototype, "search", void 0), P([s()], U.prototype, "searchValue", void 0), P([s({ type: Boolean })], U.prototype, "searchLoading", void 0), P([s({
1243
+ M([s({ attribute: !1 })], V.prototype, "modules", void 0), M([s()], V.prototype, "activeModuleId", void 0), M([s()], V.prototype, "activeModuleLabel", void 0), M([s({ type: Boolean })], V.prototype, "modulesLoading", void 0), M([s({ type: Boolean })], V.prototype, "hasMenu", void 0), M([s({ attribute: !1 })], V.prototype, "moduleSwitcherMaxHeight", void 0), M([s({ attribute: !1 })], V.prototype, "search", void 0), M([s()], V.prototype, "searchValue", void 0), M([s({ type: Boolean })], V.prototype, "searchLoading", void 0), M([s({
1244
1244
  type: Boolean,
1245
1245
  reflect: !0
1246
- })], U.prototype, "expanded", void 0), U = P([S(), o("vsn-header")], U);
1246
+ })], V.prototype, "expanded", void 0), V = M([S(), o("vsn-header")], V);
1247
1247
  //#endregion
1248
1248
  //#region src/components/vsn-side-bar/vsn-search-results/vsn-search-results.keyboard.ts
1249
- var vt = class {
1249
+ var bt = class {
1250
1250
  constructor(e) {
1251
1251
  this.onResultsKeydown = (e) => {
1252
- if (e.defaultPrevented || A(e) || e.key !== "ArrowDown" && e.key !== "ArrowUp") return;
1252
+ if (e.defaultPrevented || O(e) || e.key !== "ArrowDown" && e.key !== "ArrowUp") return;
1253
1253
  e.preventDefault();
1254
1254
  let t = Array.from(this.host.querySelectorAll(".ga-side-navigation__search-results-item"));
1255
1255
  if (t.length === 0) return;
@@ -1260,9 +1260,9 @@ var vt = class {
1260
1260
  }, this.host = e, e.addController(this);
1261
1261
  }
1262
1262
  hostConnected() {}
1263
- }, yt, W = class extends e {
1263
+ }, H, U = class extends e {
1264
1264
  static {
1265
- yt = this;
1265
+ H = this;
1266
1266
  }
1267
1267
  createRenderRoot() {
1268
1268
  return this;
@@ -1284,7 +1284,7 @@ var vt = class {
1284
1284
  }
1285
1285
  }, this._onItemMouseLeave = () => {
1286
1286
  this._showTooltip = !1;
1287
- }, this._tooltipId = `vsn-search-result-item-tooltip-${yt._idCounter++}`;
1287
+ }, this._tooltipId = `vsn-search-result-item-tooltip-${H._idCounter++}`;
1288
1288
  }
1289
1289
  render() {
1290
1290
  let e = this.item;
@@ -1318,12 +1318,12 @@ var vt = class {
1318
1318
  }));
1319
1319
  }
1320
1320
  };
1321
- P([s({ attribute: !1 })], W.prototype, "item", void 0), P([l()], W.prototype, "_showTooltip", void 0), P([l()], W.prototype, "_tooltipPos", void 0), P([c(".ga-side-navigation__search-results-item-label")], W.prototype, "_labelEl", void 0), W = yt = P([o("vsn-search-result-item")], W);
1321
+ M([s({ attribute: !1 })], U.prototype, "item", void 0), M([l()], U.prototype, "_showTooltip", void 0), M([l()], U.prototype, "_tooltipPos", void 0), M([c(".ga-side-navigation__search-results-item-label")], U.prototype, "_labelEl", void 0), U = H = M([o("vsn-search-result-item")], U);
1322
1322
  //#endregion
1323
1323
  //#region src/components/vsn-side-bar/vsn-search-results/vsn-search-results.ts
1324
- var G = class extends e {
1324
+ var W = class extends e {
1325
1325
  constructor(...e) {
1326
- super(...e), this.loadingMore = !1, this._keyboard = new vt(this);
1326
+ super(...e), this.loadingMore = !1, this._keyboard = new bt(this);
1327
1327
  }
1328
1328
  createRenderRoot() {
1329
1329
  return this;
@@ -1365,7 +1365,7 @@ var G = class extends e {
1365
1365
  class="vsn-search-results__load-more"
1366
1366
  ?disabled=${this.loadingMore}
1367
1367
  @click=${this._onLoadMore}>
1368
- ${He()}
1368
+ ${We()}
1369
1369
  </button>
1370
1370
  `)}
1371
1371
  </div>
@@ -1378,16 +1378,16 @@ var G = class extends e {
1378
1378
  }));
1379
1379
  }
1380
1380
  };
1381
- P([s({ attribute: !1 })], G.prototype, "results", void 0), P([s()], G.prototype, "errorMessage", void 0), P([s()], G.prototype, "nextCursor", void 0), P([s({ type: Boolean })], G.prototype, "loadingMore", void 0), G = P([S(), o("vsn-search-results")], G);
1381
+ M([s({ attribute: !1 })], W.prototype, "results", void 0), M([s()], W.prototype, "errorMessage", void 0), M([s()], W.prototype, "nextCursor", void 0), M([s({ type: Boolean })], W.prototype, "loadingMore", void 0), W = M([S(), o("vsn-search-results")], W);
1382
1382
  //#endregion
1383
1383
  //#region src/components/vsn-side-bar/vsn-template/vsn-template.ts
1384
- var bt = [
1384
+ var xt = [
1385
1385
  160,
1386
1386
  96,
1387
1387
  144,
1388
1388
  192,
1389
1389
  160
1390
- ], xt = class extends e {
1390
+ ], St = class extends e {
1391
1391
  createRenderRoot() {
1392
1392
  return this;
1393
1393
  }
@@ -1397,7 +1397,7 @@ var bt = [
1397
1397
  role="status"
1398
1398
  aria-busy="true"
1399
1399
  aria-label=${x("Loading results")}>
1400
- ${bt.map((e) => n`
1400
+ ${xt.map((e) => n`
1401
1401
  <div class="vsn-template__row">
1402
1402
  <div class="vsn-template__bar" style="width: ${e}px"></div>
1403
1403
  </div>
@@ -1406,17 +1406,17 @@ var bt = [
1406
1406
  `;
1407
1407
  }
1408
1408
  };
1409
- xt = P([S(), o("vsn-template")], xt);
1409
+ St = M([S(), o("vsn-template")], St);
1410
1410
  //#endregion
1411
1411
  //#region src/components/vsn-side-bar/vsn-error-state/vsn-error-state.ts
1412
- var St = class extends e {
1412
+ var Ct = class extends e {
1413
1413
  createRenderRoot() {
1414
1414
  return this;
1415
1415
  }
1416
1416
  render() {
1417
1417
  return n`
1418
1418
  <div class="vsn-error-state" role="alert" aria-live="assertive">
1419
- <div class="vsn-error-state__icon">${M(ct, 24)}</div>
1419
+ <div class="vsn-error-state__icon">${A(ut, 24)}</div>
1420
1420
  <div class="vsn-error-state__title">${x("Loading error")}</div>
1421
1421
  <div class="vsn-error-state__message">${x("We're unable to load the menu.")}</div>
1422
1422
  <div class="vsn-error-state__hint">${x("Please check your internet connection and try again.")}</div>
@@ -1425,15 +1425,15 @@ var St = class extends e {
1425
1425
  `;
1426
1426
  }
1427
1427
  };
1428
- St = P([S(), o("vsn-error-state")], St);
1428
+ Ct = M([S(), o("vsn-error-state")], Ct);
1429
1429
  //#endregion
1430
1430
  //#region src/components/vsn-side-bar/vsn-search-scopes/vsn-search-scopes.ts
1431
- var Ct, K = class extends e {
1431
+ var wt, G = class extends e {
1432
1432
  static {
1433
- Ct = this;
1433
+ wt = this;
1434
1434
  }
1435
1435
  constructor(...e) {
1436
- super(...e), this.scopes = [], this.selectedScopeId = "", this._name = `vsn-search-scope-${++Ct._counter}`;
1436
+ super(...e), this.scopes = [], this.selectedScopeId = "", this._name = `vsn-search-scope-${++wt._counter}`;
1437
1437
  }
1438
1438
  createRenderRoot() {
1439
1439
  return this;
@@ -1472,16 +1472,16 @@ var Ct, K = class extends e {
1472
1472
  }));
1473
1473
  }
1474
1474
  };
1475
- P([s({ attribute: !1 })], K.prototype, "scopes", void 0), P([s()], K.prototype, "selectedScopeId", void 0), K = Ct = P([S(), o("vsn-search-scopes")], K);
1475
+ M([s({ attribute: !1 })], G.prototype, "scopes", void 0), M([s()], G.prototype, "selectedScopeId", void 0), G = wt = M([S(), o("vsn-search-scopes")], G);
1476
1476
  //#endregion
1477
1477
  //#region src/shared/lang/locale-codes.ts
1478
- var wt = "en", Tt = [
1478
+ var Tt = "en", Et = [
1479
1479
  "da",
1480
1480
  "fi",
1481
1481
  "nl",
1482
1482
  "no",
1483
1483
  "sv"
1484
- ], Et = /* @__PURE__ */ p({ templates: () => Dt }), Dt = {
1484
+ ], Dt = /* @__PURE__ */ p({ templates: () => Ot }), Ot = {
1485
1485
  s09a45db408570a7a: "Min profil",
1486
1486
  s119f9875b7d4cdfc: "Har du brug for hjælp? Kontakt support.",
1487
1487
  s1228605ee65ddefa: b`${0} resultat`,
@@ -1511,7 +1511,7 @@ var wt = "en", Tt = [
1511
1511
  sfbf31f663cef6cc2: "Prøv andre søgeord eller tjek stavningen.",
1512
1512
  s7c510419ea376840: "VSN",
1513
1513
  s38385cd359b17f7a: "Loading modules"
1514
- }, Ot = /* @__PURE__ */ p({ templates: () => kt }), kt = {
1514
+ }, kt = /* @__PURE__ */ p({ templates: () => At }), At = {
1515
1515
  s09a45db408570a7a: "Oma profiili",
1516
1516
  s119f9875b7d4cdfc: "Tarvitsetko apua? Ota yhteyttä tukeen.",
1517
1517
  s1228605ee65ddefa: b`${0} tulos`,
@@ -1541,7 +1541,7 @@ var wt = "en", Tt = [
1541
1541
  sfbf31f663cef6cc2: "Kokeile eri hakusanoja tai tarkista kirjoitusasu.",
1542
1542
  s7c510419ea376840: "VSN",
1543
1543
  s38385cd359b17f7a: "Loading modules"
1544
- }, At = /* @__PURE__ */ p({ templates: () => jt }), jt = {
1544
+ }, jt = /* @__PURE__ */ p({ templates: () => Mt }), Mt = {
1545
1545
  s09a45db408570a7a: "Mijn profiel",
1546
1546
  s119f9875b7d4cdfc: "Hulp nodig? Neem contact op met ondersteuning.",
1547
1547
  s1228605ee65ddefa: b`${0} resultaat`,
@@ -1571,7 +1571,7 @@ var wt = "en", Tt = [
1571
1571
  sfbf31f663cef6cc2: "Probeer andere zoekwoorden of controleer de spelling.",
1572
1572
  s7c510419ea376840: "VSN",
1573
1573
  s38385cd359b17f7a: "Loading modules"
1574
- }, Mt = /* @__PURE__ */ p({ templates: () => Nt }), Nt = {
1574
+ }, Nt = /* @__PURE__ */ p({ templates: () => Pt }), Pt = {
1575
1575
  s09a45db408570a7a: "Min profil",
1576
1576
  s119f9875b7d4cdfc: "Trenger du hjelp? Kontakt støtte.",
1577
1577
  s1228605ee65ddefa: b`${0} resultat`,
@@ -1601,7 +1601,7 @@ var wt = "en", Tt = [
1601
1601
  sfbf31f663cef6cc2: "Prøv andre søkeord eller sjekk stavemåten.",
1602
1602
  s7c510419ea376840: "VSN",
1603
1603
  s38385cd359b17f7a: "Loading modules"
1604
- }, Pt = /* @__PURE__ */ p({ templates: () => Ft }), Ft = {
1604
+ }, Ft = /* @__PURE__ */ p({ templates: () => It }), It = {
1605
1605
  s09a45db408570a7a: "Min profil",
1606
1606
  s119f9875b7d4cdfc: "Behöver du hjälp? Kontakta support.",
1607
1607
  s1228605ee65ddefa: b`${0} resultat`,
@@ -1631,17 +1631,17 @@ var wt = "en", Tt = [
1631
1631
  sfbf31f663cef6cc2: "Prova andra sökord eller kontrollera stavningen.",
1632
1632
  s7c510419ea376840: "VSN",
1633
1633
  s38385cd359b17f7a: "Loading modules"
1634
- }, It = {
1635
- da: Et,
1636
- fi: Ot,
1637
- nl: At,
1638
- no: Mt,
1639
- sv: Pt
1640
- }, { getLocale: Lt, setLocale: Rt } = Me({
1641
- sourceLocale: wt,
1642
- targetLocales: Tt,
1643
- loadLocale: (e) => It[e] ? Promise.resolve(It[e]) : Promise.reject(/* @__PURE__ */ Error(`Unknown locale: ${e}`))
1644
- }), zt = t`
1634
+ }, Lt = {
1635
+ da: Dt,
1636
+ fi: kt,
1637
+ nl: jt,
1638
+ no: Nt,
1639
+ sv: Ft
1640
+ }, { getLocale: Rt, setLocale: zt } = Pe({
1641
+ sourceLocale: Tt,
1642
+ targetLocales: Et,
1643
+ loadLocale: (e) => Lt[e] ? Promise.resolve(Lt[e]) : Promise.reject(/* @__PURE__ */ Error(`Unknown locale: ${e}`))
1644
+ }), Bt = t`
1645
1645
  @layer components {
1646
1646
  vsn-footer {
1647
1647
  display: block;
@@ -1682,7 +1682,7 @@ var wt = "en", Tt = [
1682
1682
  justify-content: center;
1683
1683
  }
1684
1684
  }
1685
- `, Bt = t`
1685
+ `, Vt = t`
1686
1686
  @layer components {
1687
1687
  .vsn-switcher-anchor {
1688
1688
  position: relative;
@@ -1696,7 +1696,7 @@ var wt = "en", Tt = [
1696
1696
  z-index: 10;
1697
1697
  }
1698
1698
  }
1699
- `, Vt = t`
1699
+ `, Ht = t`
1700
1700
  .vsn-search__trigger,
1701
1701
  .vsn-search__clear {
1702
1702
  display: inline-flex;
@@ -1745,7 +1745,7 @@ var wt = "en", Tt = [
1745
1745
  .ga-side-navigation__search input::placeholder {
1746
1746
  color: var(--ga-color-text-disable-selected);
1747
1747
  }
1748
- `, Ht = t`
1748
+ `, Ut = t`
1749
1749
  .vsn-search-results__empty {
1750
1750
  display: flex;
1751
1751
  flex-direction: column;
@@ -1814,7 +1814,7 @@ var wt = "en", Tt = [
1814
1814
  cursor: not-allowed;
1815
1815
  opacity: 0.5;
1816
1816
  }
1817
- `, Ut = t`
1817
+ `, Wt = t`
1818
1818
  @layer components {
1819
1819
  vsn-search-scopes {
1820
1820
  display: block;
@@ -1835,7 +1835,7 @@ var wt = "en", Tt = [
1835
1835
  text-overflow: ellipsis;
1836
1836
  }
1837
1837
  }
1838
- `, Wt = t`
1838
+ `, Gt = t`
1839
1839
  .vsn-template__row {
1840
1840
  display: flex;
1841
1841
  flex-direction: column;
@@ -1850,7 +1850,7 @@ var wt = "en", Tt = [
1850
1850
  background: var(--ga-color-miscellaneous-skeleton-element, #F2F3F5);
1851
1851
  flex-shrink: 0;
1852
1852
  }
1853
- `, Gt = t`
1853
+ `, Kt = t`
1854
1854
  .vsn-error-state {
1855
1855
  display: flex;
1856
1856
  flex-direction: column;
@@ -1889,7 +1889,7 @@ var wt = "en", Tt = [
1889
1889
  font-weight: 400;
1890
1890
  color: var(--ga-color-text-on-disabled);
1891
1891
  }
1892
- `, Kt = t`
1892
+ `, qt = t`
1893
1893
  .vsn-spinner {
1894
1894
  display: inline-block;
1895
1895
  flex-shrink: 0;
@@ -1909,7 +1909,7 @@ var wt = "en", Tt = [
1909
1909
  @keyframes vsn-spin {
1910
1910
  to { transform: rotate(360deg); }
1911
1911
  }
1912
- `, qt = class {
1912
+ `, Jt = class {
1913
1913
  constructor(e, t, n) {
1914
1914
  this._onHostClick = (e) => {
1915
1915
  let t = this._host.renderRoot.querySelector(this._clickedSelector);
@@ -1922,14 +1922,14 @@ var wt = "en", Tt = [
1922
1922
  hostDisconnected() {
1923
1923
  this._host.removeEventListener("click", this._onHostClick);
1924
1924
  }
1925
- }, Jt = "button:not([disabled]), a[href], [tabindex]:not([tabindex=\"-1\"])", Yt = class {
1925
+ }, Yt = "button:not([disabled]), a[href], [tabindex]:not([tabindex=\"-1\"])", Xt = class {
1926
1926
  constructor(e) {
1927
1927
  this.onKeydown = (e) => {
1928
- if (e.defaultPrevented || A(e) || e.key !== "ArrowDown" && e.key !== "ArrowUp") return;
1928
+ if (e.defaultPrevented || O(e) || e.key !== "ArrowDown" && e.key !== "ArrowUp") return;
1929
1929
  let t = this.host.renderRoot.querySelector("slot[name=\"nav-footer\"]");
1930
1930
  if (!t) return;
1931
1931
  let n = [];
1932
- for (let e of t.assignedElements({ flatten: !0 })) e.matches(Jt) && n.push(e), n.push(...Array.from(e.querySelectorAll(Jt)));
1932
+ for (let e of t.assignedElements({ flatten: !0 })) e.matches(Yt) && n.push(e), n.push(...Array.from(e.querySelectorAll(Yt)));
1933
1933
  if (n.length === 0) return;
1934
1934
  let r = e.composedPath()[0];
1935
1935
  if (!(r instanceof HTMLElement)) return;
@@ -1941,12 +1941,12 @@ var wt = "en", Tt = [
1941
1941
  }, this.host = e, e.addController(this);
1942
1942
  }
1943
1943
  hostConnected() {}
1944
- }, Xt = t`
1944
+ }, Zt = t`
1945
1945
  .ga-scroll {
1946
1946
  scrollbar-color: var(--ga-color-text-disabled) var(--ga-color-surface-page);
1947
1947
  scrollbar-width: thin;
1948
1948
  }
1949
- `, Zt = t`
1949
+ `, Qt = t`
1950
1950
  @layer components {
1951
1951
  .ga-side-navigation__item:focus-visible::after {
1952
1952
  position: absolute;
@@ -1959,20 +1959,20 @@ var wt = "en", Tt = [
1959
1959
  content: var(--tw-content);
1960
1960
  }
1961
1961
  }
1962
- `, q = class extends e {
1962
+ `, K = class extends e {
1963
1963
  static {
1964
1964
  this.styles = [
1965
1965
  h,
1966
- Xt,
1967
- Bt,
1968
1966
  Zt,
1969
- zt,
1970
1967
  Vt,
1968
+ Qt,
1969
+ Bt,
1971
1970
  Ht,
1972
1971
  Ut,
1973
1972
  Wt,
1974
1973
  Gt,
1975
1974
  Kt,
1975
+ qt,
1976
1976
  t`
1977
1977
  :host {
1978
1978
  position: absolute;
@@ -1987,7 +1987,7 @@ var wt = "en", Tt = [
1987
1987
  ];
1988
1988
  }
1989
1989
  constructor() {
1990
- super(), this.modules = [], this.modulesLoading = !1, this.lang = "en", this.error = !1, this.open = !1, this._searchQuery = "", this._searchLoading = !1, this._activeScopeId = "menu", this._searchLoadingMore = !1, this._moduleSwitcherMaxHeight = 0, this._navFooterKeyboard = new Yt(this), this._customWidthPerLanguage = { fi: "30em" }, this._onNavigate = (e) => {
1990
+ super(), this.modules = [], this.modulesLoading = !1, this.lang = "en", this.error = !1, this.open = !1, this._searchQuery = "", this._searchLoading = !1, this._activeScopeId = "menu", this._searchLoadingMore = !1, this._moduleSwitcherMaxHeight = 0, this._hasPageTitle = !1, this._navFooterKeyboard = new Xt(this), this._customWidthPerLanguage = { fi: "30em" }, this._onNavigate = (e) => {
1991
1991
  this._searchQuery = "", this._searchResults = void 0, this.dispatchEvent(new CustomEvent("vsn-side-bar-close", {
1992
1992
  bubbles: !0,
1993
1993
  composed: !0
@@ -2004,18 +2004,18 @@ var wt = "en", Tt = [
2004
2004
  }));
2005
2005
  }, this._onScopeChanged = (e) => {
2006
2006
  this._activeScopeId = e.detail.scopeId, this._runSearch(this._searchQuery, this._activeScopeId), this.focusSearch();
2007
- }, new qt(this, ".ga-side-navigation", () => this.dispatchEvent(new CustomEvent("vsn-side-bar-close", {
2007
+ }, new Jt(this, ".ga-side-navigation", () => this.dispatchEvent(new CustomEvent("vsn-side-bar-close", {
2008
2008
  bubbles: !0,
2009
2009
  composed: !0
2010
2010
  }))), this._resizeObserver = new ResizeObserver((e) => {
2011
2011
  this._observeMenuSize(e);
2012
- }), this._resizeObserver.observe(this), new z(this, () => this.open);
2012
+ }), this._resizeObserver.observe(this), new L(this, () => this.open);
2013
2013
  }
2014
2014
  _observeMenuSize(e) {
2015
2015
  this._moduleSwitcherMaxHeight = Math.max(0, e[0].contentRect.height - 134);
2016
2016
  }
2017
2017
  willUpdate(e) {
2018
- e.has("lang") && Rt(this.lang).catch(console.error), e.has("open") && e.get("open") && !this.open && (this._searchQuery = "", this._activeScopeId = "menu", this._clearSearchState(), this.renderRoot.querySelector("vsn-header")?.reset(), this.renderRoot.querySelector("vsn-footer")?.reset());
2018
+ e.has("lang") && zt(this.lang).catch(console.error), e.has("open") && e.get("open") && !this.open && (this._searchQuery = "", this._activeScopeId = "menu", this._clearSearchState(), this.renderRoot.querySelector("vsn-header")?.reset(), this.renderRoot.querySelector("vsn-footer")?.reset()), e.has("menu") && (this._hasPageTitle = this.menu?.pageTitle !== void 0);
2019
2019
  }
2020
2020
  updated(e) {
2021
2021
  e.has("open") && this.open && this._scrollActiveItemIntoView(), e.has("menu") && this.open && this.menu?.currentItem && (e.get("menu")?.currentItem || this._scrollActiveItemIntoView());
@@ -2182,7 +2182,7 @@ var wt = "en", Tt = [
2182
2182
  <vsn-search-scopes
2183
2183
  .scopes=${[{
2184
2184
  id: "menu",
2185
- label: Ve()
2185
+ label: Ue()
2186
2186
  }, ...e.map((e) => ({
2187
2187
  id: e.id,
2188
2188
  label: e.label
@@ -2194,7 +2194,7 @@ var wt = "en", Tt = [
2194
2194
  }
2195
2195
  renderMenu(e) {
2196
2196
  return n`
2197
- <vsn-menu class="flex-1 min-h-0" .items=${e?.items ?? []} .currentItem=${e?.currentItem ?? ""}></vsn-menu>`;
2197
+ <vsn-menu class="flex-1 min-h-0" .items=${e?.items ?? []} .currentItem=${e?.currentItem ?? ""} .hasPageTitle=${this._hasPageTitle}></vsn-menu>`;
2198
2198
  }
2199
2199
  footer(e) {
2200
2200
  return n`
@@ -2206,15 +2206,15 @@ var wt = "en", Tt = [
2206
2206
  `;
2207
2207
  }
2208
2208
  };
2209
- P([s({ attribute: !1 })], q.prototype, "modules", void 0), P([s()], q.prototype, "activeModuleId", void 0), P([s()], q.prototype, "activeModuleLabel", void 0), P([s({ type: Boolean })], q.prototype, "modulesLoading", void 0), P([s()], q.prototype, "lang", void 0), P([s({ attribute: !1 })], q.prototype, "auth", void 0), P([s({ type: Boolean })], q.prototype, "error", void 0), P([s({
2209
+ M([s({ attribute: !1 })], K.prototype, "modules", void 0), M([s()], K.prototype, "activeModuleId", void 0), M([s()], K.prototype, "activeModuleLabel", void 0), M([s({ type: Boolean })], K.prototype, "modulesLoading", void 0), M([s()], K.prototype, "lang", void 0), M([s({ attribute: !1 })], K.prototype, "auth", void 0), M([s({ type: Boolean })], K.prototype, "error", void 0), M([s({
2210
2210
  type: Boolean,
2211
2211
  reflect: !0
2212
- })], q.prototype, "open", void 0), P([s({ attribute: !1 })], q.prototype, "menu", void 0), P([l()], q.prototype, "_searchQuery", void 0), P([l()], q.prototype, "_searchResults", void 0), P([l()], q.prototype, "_searchLoading", void 0), P([l()], q.prototype, "_activeScopeId", void 0), P([l()], q.prototype, "_searchError", void 0), P([l()], q.prototype, "_searchNextCursor", void 0), P([l()], q.prototype, "_searchLoadingMore", void 0), P([l()], q.prototype, "_moduleSwitcherMaxHeight", void 0), q = P([o("vsn-side-bar")], q);
2212
+ })], K.prototype, "open", void 0), M([s({ attribute: !1 })], K.prototype, "menu", void 0), M([l()], K.prototype, "_searchQuery", void 0), M([l()], K.prototype, "_searchResults", void 0), M([l()], K.prototype, "_searchLoading", void 0), M([l()], K.prototype, "_activeScopeId", void 0), M([l()], K.prototype, "_searchError", void 0), M([l()], K.prototype, "_searchNextCursor", void 0), M([l()], K.prototype, "_searchLoadingMore", void 0), M([l()], K.prototype, "_moduleSwitcherMaxHeight", void 0), M([l()], K.prototype, "_hasPageTitle", void 0), K = M([o("vsn-side-bar")], K);
2213
2213
  //#endregion
2214
2214
  //#region src/components/vsn-top-bar/vsn-breadcrumb-menu-item.ts
2215
- var Qt, J = class extends e {
2215
+ var $t, q = class extends e {
2216
2216
  static {
2217
- Qt = this;
2217
+ $t = this;
2218
2218
  }
2219
2219
  static {
2220
2220
  this._idCounter = 0;
@@ -2234,15 +2234,15 @@ var Qt, J = class extends e {
2234
2234
  }, this._onItemMouseLeave = () => {
2235
2235
  this._showTooltip = !1;
2236
2236
  }, this._onKeyDown = (e) => {
2237
- e.defaultPrevented || A(e) || (e.key === "Enter" || e.key === " " ? (e.preventDefault(), this._isExpanded = !this._isExpanded) : e.key === "ArrowRight" ? (e.preventDefault(), this._isExpanded = !0) : e.key === "ArrowLeft" && (e.preventDefault(), this._isExpanded = !1));
2237
+ e.defaultPrevented || O(e) || (e.key === "Enter" || e.key === " " ? (e.preventDefault(), this._isExpanded = !this._isExpanded) : e.key === "ArrowRight" ? (e.preventDefault(), this._isExpanded = !0) : e.key === "ArrowLeft" && (e.preventDefault(), this._isExpanded = !1));
2238
2238
  }, this._onClick = (e) => {
2239
2239
  if (e.defaultPrevented) return;
2240
2240
  if (this._isParent()) {
2241
- if (A(e)) return;
2241
+ if (O(e)) return;
2242
2242
  e.preventDefault(), this._isExpanded = !this._isExpanded;
2243
2243
  return;
2244
2244
  }
2245
- if (!this.tree || e.button !== 0 || A(e)) return;
2245
+ if (!this.tree || e.button !== 0 || O(e)) return;
2246
2246
  e.preventDefault();
2247
2247
  let t = [...this.ancestorPath, this.tree];
2248
2248
  this.dispatchEvent(new CustomEvent("vsn-breadcrumb-menu-leaf-select", {
@@ -2250,7 +2250,7 @@ var Qt, J = class extends e {
2250
2250
  bubbles: !0,
2251
2251
  composed: !0
2252
2252
  }));
2253
- }, this._tooltipId = `vsn-menu-item-tooltip-${Qt._idCounter++}`, new z(this, () => this._isExpanded);
2253
+ }, this._tooltipId = `vsn-menu-item-tooltip-${$t._idCounter++}`, new L(this, () => this._isExpanded);
2254
2254
  }
2255
2255
  createRenderRoot() {
2256
2256
  return this;
@@ -2276,7 +2276,7 @@ var Qt, J = class extends e {
2276
2276
  <div class="ga-tooltip ga-tooltip--right-start" style="white-space: nowrap">${e}</div>
2277
2277
  </div>
2278
2278
  <span class="ga-side-navigation__item-icon">
2279
- ${this._isParent() ? this._isExpanded ? M(N, 16) : M(lt, 16) : ""}
2279
+ ${this._isParent() ? this._isExpanded ? A(j, 16) : A(dt, 16) : ""}
2280
2280
  </span>
2281
2281
  <div class="ga-side-navigation__item-content">
2282
2282
  <div class="ga-side-navigation__item-label">${e}</div>
@@ -2300,13 +2300,13 @@ var Qt, J = class extends e {
2300
2300
  if (this.tree && _(this.tree)) return this.tree.items.length > 0;
2301
2301
  }
2302
2302
  };
2303
- P([s({ attribute: !1 })], J.prototype, "tree", void 0), P([s({ type: Number })], J.prototype, "level", void 0), P([s({ type: Array })], J.prototype, "ancestorPath", void 0), P([l()], J.prototype, "_isExpanded", void 0), P([l()], J.prototype, "_showTooltip", void 0), P([l()], J.prototype, "_tooltipPos", void 0), P([c(".ga-side-navigation__item-label")], J.prototype, "_labelEl", void 0), J = Qt = P([o("vsn-breadcrumb-menu-item")], J);
2303
+ M([s({ attribute: !1 })], q.prototype, "tree", void 0), M([s({ type: Number })], q.prototype, "level", void 0), M([s({ type: Array })], q.prototype, "ancestorPath", void 0), M([l()], q.prototype, "_isExpanded", void 0), M([l()], q.prototype, "_showTooltip", void 0), M([l()], q.prototype, "_tooltipPos", void 0), M([c(".ga-side-navigation__item-label")], q.prototype, "_labelEl", void 0), q = $t = M([o("vsn-breadcrumb-menu-item")], q);
2304
2304
  //#endregion
2305
2305
  //#region src/components/vsn-top-bar/vsn-breadcrumb-menu.ts
2306
- var $t = class extends e {
2306
+ var J = class extends e {
2307
2307
  constructor() {
2308
2308
  super(), this._handleKeyDown = (e) => {
2309
- if (e.defaultPrevented || A(e)) return;
2309
+ if (e.defaultPrevented || O(e)) return;
2310
2310
  if (e.key === "Escape") {
2311
2311
  e.preventDefault(), this.dispatchEvent(new CustomEvent("vsn-breadcrumb-menu-close", {
2312
2312
  bubbles: !0,
@@ -2323,7 +2323,7 @@ var $t = class extends e {
2323
2323
  if (!t.length) return;
2324
2324
  let n = t.indexOf(e.target);
2325
2325
  n !== -1 && (e.preventDefault(), e.key === "ArrowDown" ? n < t.length - 1 && t[n + 1].focus() : n > 0 && t[n - 1].focus());
2326
- }, new z(this, () => !0);
2326
+ }, new L(this, () => !0);
2327
2327
  }
2328
2328
  createRenderRoot() {
2329
2329
  return this;
@@ -2350,7 +2350,7 @@ var $t = class extends e {
2350
2350
  `;
2351
2351
  }
2352
2352
  };
2353
- P([s({ attribute: !1 })], $t.prototype, "treeList", void 0), $t = P([o("vsn-breadcrumb-menu")], $t);
2353
+ M([s({ attribute: !1 })], J.prototype, "treeList", void 0), J = M([o("vsn-breadcrumb-menu")], J);
2354
2354
  //#endregion
2355
2355
  //#region src/components/vsn-top-bar/vsn-breadcrumbs.ts
2356
2356
  var Y = class extends e {
@@ -2374,8 +2374,8 @@ var Y = class extends e {
2374
2374
  static {
2375
2375
  this.styles = [
2376
2376
  h,
2377
- Xt,
2378
- Kt,
2377
+ Zt,
2378
+ qt,
2379
2379
  t`
2380
2380
  .vsn-bc-modules-loading {
2381
2381
  display: flex;
@@ -2518,6 +2518,13 @@ var Y = class extends e {
2518
2518
  _popoverItemTriggerId(e) {
2519
2519
  return `vsn-bc-item-${e}-trigger`;
2520
2520
  }
2521
+ _onLeafAsAncestorClick(e) {
2522
+ this.dispatchEvent(new CustomEvent("vsn-menu-item-changed", {
2523
+ detail: e,
2524
+ bubbles: !0,
2525
+ composed: !0
2526
+ }));
2527
+ }
2521
2528
  _handlePopoverBeforeToggle(e, t) {
2522
2529
  if (t.newState !== "open") return;
2523
2530
  let n = this.shadowRoot.getElementById(e), r = t.target;
@@ -2629,7 +2636,7 @@ var Y = class extends e {
2629
2636
  <div class="ga-breadcrumb-item ga-breadcrumb-item--link ga-breadcrumb-item--ancestor"
2630
2637
  aria-describedby=${this._tooltip ? "vsn-breadcrumb-tooltip" : r}
2631
2638
  data-tooltip-label="${e.label ?? ""}" @mouseenter=${this._onBreadcrumbMouseEnter}
2632
- @mouseleave=${this._onBreadcrumbMouseLeave}>
2639
+ @mouseleave=${this._onBreadcrumbMouseLeave} @click="${() => this._onLeafAsAncestorClick(e)}">
2633
2640
  <span class="ga-breadcrumb-item__trigger">
2634
2641
  <span class="ga-breadcrumb-item__label">${e.label ?? ""}</span>
2635
2642
  </span>
@@ -2759,7 +2766,7 @@ var Y = class extends e {
2759
2766
  `;
2760
2767
  }
2761
2768
  };
2762
- P([s({ attribute: !1 })], Y.prototype, "tree", void 0), P([s({ type: Array })], Y.prototype, "modules", void 0), P([s()], Y.prototype, "activeModuleId", void 0), P([s({ type: Boolean })], Y.prototype, "modulesLoading", void 0), P([l()], Y.prototype, "_openPopoverId", void 0), P([l()], Y.prototype, "_displayMode", void 0), P([l()], Y.prototype, "_overflowCount", void 0), P([l()], Y.prototype, "_tooltip", void 0), Y = P([S(), o("vsn-breadcrumbs")], Y);
2769
+ M([s({ attribute: !1 })], Y.prototype, "tree", void 0), M([s({ type: Array })], Y.prototype, "modules", void 0), M([s()], Y.prototype, "activeModuleId", void 0), M([s({ type: Boolean })], Y.prototype, "modulesLoading", void 0), M([l()], Y.prototype, "_openPopoverId", void 0), M([l()], Y.prototype, "_displayMode", void 0), M([l()], Y.prototype, "_overflowCount", void 0), M([l()], Y.prototype, "_tooltip", void 0), Y = M([S(), o("vsn-breadcrumbs")], Y);
2763
2770
  //#endregion
2764
2771
  //#region src/components/vsn-top-bar/vsn-ai-assistant.ts
2765
2772
  var en = class extends e {
@@ -2777,12 +2784,12 @@ var en = class extends e {
2777
2784
  return n`
2778
2785
  <button type="button" class="ga-button ga-button--secondary ga-button--icon-only"
2779
2786
  aria-label=${x("Open AI assistant")} @click=${this._handleClick}>
2780
- <span class="ga-icon">${M(Ye)}</span>
2787
+ <span class="ga-icon">${A(Ze)}</span>
2781
2788
  </button>
2782
2789
  `;
2783
2790
  }
2784
2791
  };
2785
- en = P([S(), o("vsn-ai-assistant")], en);
2792
+ en = M([S(), o("vsn-ai-assistant")], en);
2786
2793
  //#endregion
2787
2794
  //#region src/components/vsn-top-bar/vsn-feedback.ts
2788
2795
  var X = class extends e {
@@ -2801,7 +2808,9 @@ var X = class extends e {
2801
2808
  if (super.updated(e), e.has("feedback") && this.feedback?.workspaceId && !document.getElementById("survicate-sdk") && !window._sva) {
2802
2809
  window._sva = window._sva ?? {}, window._sva.forcedLanguage = this.lang;
2803
2810
  let e = document.createElement("script");
2804
- e.id = We, e.src = Ke(this.feedback.workspaceId), e.async = !0, e.onload = () => this._applyVisitorTraits(), document.head.appendChild(e);
2811
+ e.id = Ke, e.src = Je(this.feedback.workspaceId), e.async = !0, e.onload = () => this._applyVisitorTraits(), e.onerror = () => {
2812
+ console.warn("[vsn-feedback] Survicate SDK failed to load."), e.remove(), window._sva = void 0;
2813
+ }, document.head.appendChild(e);
2805
2814
  }
2806
2815
  if (e.has("auth")) {
2807
2816
  let t = e.get("auth");
@@ -2811,9 +2820,16 @@ var X = class extends e {
2811
2820
  }
2812
2821
  _applyVisitorTraits() {
2813
2822
  let e = this.auth?.user.userEmail;
2814
- if (!e) return;
2815
- let t = window._sva?.setVisitorTraits;
2816
- t && (t({ email: e }), this._traitSet = !0);
2823
+ if (!e) {
2824
+ this.auth && this.feedback?.workspaceId && console.warn("[vsn-feedback] setVisitorTraits skipped: auth.user.userEmail is missing");
2825
+ return;
2826
+ }
2827
+ if (!window._sva?.setVisitorTraits) {
2828
+ let e = !!document.getElementById(Ke);
2829
+ this.feedback?.workspaceId && console.warn(e ? "[vsn-feedback] setVisitorTraits skipped: Survicate SDK not initialized yet" : "[vsn-feedback] setVisitorTraits skipped: Survicate SDK script not present");
2830
+ return;
2831
+ }
2832
+ window._sva.setVisitorTraits({ email: e }), this._traitSet = !0;
2817
2833
  }
2818
2834
  disconnectedCallback() {
2819
2835
  super.disconnectedCallback(), this._mqMobile.removeEventListener("change", this._handleMediaChange), this._traitSet && window._sva?.reset?.();
@@ -2822,13 +2838,13 @@ var X = class extends e {
2822
2838
  this.dispatchEvent(new CustomEvent("vsn-feedback", {
2823
2839
  bubbles: !0,
2824
2840
  composed: !0
2825
- })), this.feedback?.surveyId && (this._applyVisitorTraits(), window._sva?.invokeEvent?.(Ge));
2841
+ })), this.feedback?.surveyId && (this._applyVisitorTraits(), window._sva?.invokeEvent?.(qe));
2826
2842
  }
2827
2843
  render() {
2828
2844
  return this._compact ? n`
2829
2845
  <button type="button" class="ga-button ga-button--secondary ga-button--icon-only"
2830
2846
  aria-label=${x("Send feedback")} @click=${this._handleClick}>
2831
- <span class="ga-icon">${M(Qe)}</span>
2847
+ <span class="ga-icon">${A(et)}</span>
2832
2848
  </button>
2833
2849
  ` : n`
2834
2850
  <button type="button" class="ga-button ga-button--secondary" aria-label=${x("Send feedback")}
@@ -2838,7 +2854,7 @@ var X = class extends e {
2838
2854
  `;
2839
2855
  }
2840
2856
  };
2841
- P([l()], X.prototype, "_compact", void 0), P([s({ attribute: !1 })], X.prototype, "feedback", void 0), P([s({ attribute: !1 })], X.prototype, "auth", void 0), P([s()], X.prototype, "lang", void 0), X = P([S(), o("vsn-feedback")], X);
2857
+ M([l()], X.prototype, "_compact", void 0), M([s({ attribute: !1 })], X.prototype, "feedback", void 0), M([s({ attribute: !1 })], X.prototype, "auth", void 0), M([s()], X.prototype, "lang", void 0), X = M([S(), o("vsn-feedback")], X);
2842
2858
  //#endregion
2843
2859
  //#region src/components/vsn-top-bar/vsn-home.ts
2844
2860
  var tn = class extends e {
@@ -2860,12 +2876,12 @@ var tn = class extends e {
2860
2876
  return this.landingPageUrl ? n`
2861
2877
  <a href=${this.landingPageUrl} class="ga-button ga-button--ghost ga-button--icon-only" aria-label=${x("Home")}
2862
2878
  @click=${this._handleClick}>
2863
- <span class="ga-icon">${M($e)}</span>
2879
+ <span class="ga-icon">${A(tt)}</span>
2864
2880
  </a>
2865
2881
  ` : r;
2866
2882
  }
2867
2883
  };
2868
- P([s({ attribute: "landing-page-url" })], tn.prototype, "landingPageUrl", void 0), tn = P([S(), o("vsn-home")], tn);
2884
+ M([s({ attribute: "landing-page-url" })], tn.prototype, "landingPageUrl", void 0), tn = M([S(), o("vsn-home")], tn);
2869
2885
  //#endregion
2870
2886
  //#region src/components/vsn-top-bar/vsn-menu-toggle.ts
2871
2887
  var nn = class extends e {
@@ -2895,17 +2911,17 @@ var nn = class extends e {
2895
2911
  @click=${this._handleClick}
2896
2912
  @mouseenter=${this._onActivate}
2897
2913
  @mouseleave=${this._onDeactivate}>
2898
- <span class="ga-icon">${M(Je)}</span>
2914
+ <span class="ga-icon">${A(Xe)}</span>
2899
2915
  </button>
2900
2916
  <div id="vsn-menu-toggle-tooltip" role="tooltip"
2901
2917
  style="position: fixed; inset: unset; margin: 0; padding: 0; border: none; background: transparent; overflow: visible; pointer-events: none; z-index: 9999;"
2902
2918
  popover="manual">
2903
- <div class="ga-tooltip ga-tooltip--bottom-start" style="white-space: nowrap">${ze()}</div>
2919
+ <div class="ga-tooltip ga-tooltip--bottom-start" style="white-space: nowrap">${Ve()}</div>
2904
2920
  </div>
2905
2921
  `;
2906
2922
  }
2907
2923
  };
2908
- P([c("div[role=\"tooltip\"]", !0)], nn.prototype, "_tooltipElement", void 0), nn = P([S(), o("vsn-menu-toggle")], nn);
2924
+ M([c("div[role=\"tooltip\"]", !0)], nn.prototype, "_tooltipElement", void 0), nn = M([S(), o("vsn-menu-toggle")], nn);
2909
2925
  //#endregion
2910
2926
  //#region src/components/vsn-top-bar/vsn-notifications.ts
2911
2927
  var rn = class extends e {
@@ -2923,20 +2939,20 @@ var rn = class extends e {
2923
2939
  }));
2924
2940
  }
2925
2941
  render() {
2926
- let e = this.notificationActive ? Ze : Xe;
2942
+ let e = this.notificationActive ? $e : Qe;
2927
2943
  return n`
2928
2944
  <button type="button" class="ga-button ga-button--secondary ga-button--icon-only"
2929
2945
  aria-label=${x("Notifications")} @click=${this._handleClick}>
2930
- <span class="ga-icon">${M(e)}</span>
2946
+ <span class="ga-icon">${A(e)}</span>
2931
2947
  </button>
2932
2948
  `;
2933
2949
  }
2934
2950
  };
2935
- P([s({
2951
+ M([s({
2936
2952
  type: Boolean,
2937
2953
  attribute: "notification-active",
2938
2954
  reflect: !0
2939
- })], rn.prototype, "notificationActive", void 0), rn = P([S(), o("vsn-notifications")], rn);
2955
+ })], rn.prototype, "notificationActive", void 0), rn = M([S(), o("vsn-notifications")], rn);
2940
2956
  //#endregion
2941
2957
  //#region src/components/vsn-top-bar/vsn-help.ts
2942
2958
  function an(e) {
@@ -2962,25 +2978,25 @@ var Z = class extends e {
2962
2978
  return this.helpUrl && an(this.helpUrl) ? n`
2963
2979
  <a href=${this.helpUrl} target="_blank" rel="noopener noreferrer" class="ga-button ga-button--secondary ga-button--icon-only"
2964
2980
  aria-label=${x("Help")}>
2965
- <span class="ga-icon">${M(et)}</span>
2981
+ <span class="ga-icon">${A(nt)}</span>
2966
2982
  </a>
2967
2983
  ` : n`
2968
2984
  <button type="button" class="ga-button ga-button--secondary ga-button--icon-only" aria-label=${x("Help")}
2969
2985
  @click=${this._handleClick}>
2970
- <span class="ga-icon">${M(et)}</span>
2986
+ <span class="ga-icon">${A(nt)}</span>
2971
2987
  </button>
2972
2988
  `;
2973
2989
  }
2974
2990
  };
2975
- P([s({ attribute: "help-url" })], Z.prototype, "helpUrl", void 0), Z = P([S(), o("vsn-help")], Z);
2991
+ M([s({ attribute: "help-url" })], Z.prototype, "helpUrl", void 0), Z = M([S(), o("vsn-help")], Z);
2976
2992
  //#endregion
2977
2993
  //#region src/components/vsn-top-bar/vsn-top-bar.ts
2978
2994
  var Q = class extends e {
2979
2995
  constructor() {
2980
- super(), this.modules = [], this.feedback = null, this.showHelp = !1, this.showNotification = !1, this.notificationActive = !1, this.modulesLoading = !1, this.lang = "en", new z(this, () => !0);
2996
+ super(), this.modules = [], this.feedback = null, this.showHelp = !1, this.showNotification = !1, this.notificationActive = !1, this.modulesLoading = !1, this.lang = "en", new L(this, () => !0);
2981
2997
  }
2982
2998
  willUpdate(e) {
2983
- e.has("lang") && Rt(this.lang).catch(console.error);
2999
+ e.has("lang") && zt(this.lang).catch(console.error);
2984
3000
  }
2985
3001
  focusMenuToggle() {
2986
3002
  this.renderRoot.querySelector("vsn-menu-toggle")?.focus();
@@ -3082,28 +3098,28 @@ var Q = class extends e {
3082
3098
  `;
3083
3099
  }
3084
3100
  };
3085
- P([s({ attribute: !1 })], Q.prototype, "tree", void 0), P([s({ type: Array })], Q.prototype, "modules", void 0), P([s()], Q.prototype, "activeModuleId", void 0), P([s({ attribute: "landing-page-url" })], Q.prototype, "landingPageUrl", void 0), P([s({ attribute: !1 })], Q.prototype, "feedback", void 0), P([s({ attribute: !1 })], Q.prototype, "auth", void 0), P([s({
3101
+ M([s({ attribute: !1 })], Q.prototype, "tree", void 0), M([s({ type: Array })], Q.prototype, "modules", void 0), M([s()], Q.prototype, "activeModuleId", void 0), M([s({ attribute: "landing-page-url" })], Q.prototype, "landingPageUrl", void 0), M([s({ attribute: !1 })], Q.prototype, "feedback", void 0), M([s({ attribute: !1 })], Q.prototype, "auth", void 0), M([s({
3086
3102
  type: Boolean,
3087
3103
  attribute: "show-help"
3088
- })], Q.prototype, "showHelp", void 0), P([s({ attribute: "help-url" })], Q.prototype, "helpUrl", void 0), P([s({
3104
+ })], Q.prototype, "showHelp", void 0), M([s({ attribute: "help-url" })], Q.prototype, "helpUrl", void 0), M([s({
3089
3105
  type: Boolean,
3090
3106
  attribute: "show-notification"
3091
- })], Q.prototype, "showNotification", void 0), P([s({
3107
+ })], Q.prototype, "showNotification", void 0), M([s({
3092
3108
  type: Boolean,
3093
3109
  attribute: "notification-active"
3094
- })], Q.prototype, "notificationActive", void 0), P([s({ type: Boolean })], Q.prototype, "modulesLoading", void 0), P([s()], Q.prototype, "lang", void 0), Q = P([o("vsn-top-bar")], Q);
3110
+ })], Q.prototype, "notificationActive", void 0), M([s({ type: Boolean })], Q.prototype, "modulesLoading", void 0), M([s()], Q.prototype, "lang", void 0), Q = M([o("vsn-top-bar")], Q);
3095
3111
  //#endregion
3096
3112
  //#region src/components/vsn-navigation.ts
3097
3113
  var $ = class extends e {
3098
3114
  constructor(...e) {
3099
3115
  super(...e), this.lang = "en", this.showHelp = !1, this.feedback = null, this.showNotification = !1, this.notificationActive = !1, this.open = !1, this._currentItem = "", this._resolvedModules = [], this._modulesLoading = !1, this._modulesLoadToken = 0, this._restoreFocusToToggle = !1, this._onShortcut = (e) => {
3100
- e.defaultPrevented || !Ie(e) || e.key.toLowerCase() !== "k" || (e.preventDefault(), this.dispatchEvent(new CustomEvent("vsn-open", {
3116
+ e.defaultPrevented || !Re(e) || e.key.toLowerCase() !== "k" || (e.preventDefault(), this.dispatchEvent(new CustomEvent("vsn-open", {
3101
3117
  cancelable: !0,
3102
3118
  bubbles: !0,
3103
3119
  composed: !0
3104
3120
  })) && this._openAndFocusSearch());
3105
3121
  }, this._onEscape = (e) => {
3106
- e.defaultPrevented || this.open && j(e) && e.key === "Escape" && (e.preventDefault(), this.open = !1);
3122
+ e.defaultPrevented || this.open && k(e) && e.key === "Escape" && (e.preventDefault(), this.open = !1);
3107
3123
  };
3108
3124
  }
3109
3125
  _resolveModules() {
@@ -3126,7 +3142,7 @@ var $ = class extends e {
3126
3142
  static {
3127
3143
  this.styles = [
3128
3144
  h,
3129
- Xt,
3145
+ Zt,
3130
3146
  t`
3131
3147
  :host {
3132
3148
  display: flex;
@@ -3164,6 +3180,7 @@ var $ = class extends e {
3164
3180
  let e = this.tree?.items[0];
3165
3181
  if (!(!e || !_(e))) return {
3166
3182
  items: e.items,
3183
+ pageTitle: this.tree?.pageTitle,
3167
3184
  currentItem: this._currentItem,
3168
3185
  search: this.tree?.search
3169
3186
  };
@@ -3238,19 +3255,19 @@ var $ = class extends e {
3238
3255
  `;
3239
3256
  }
3240
3257
  };
3241
- P([s()], $.prototype, "lang", void 0), P([s({ attribute: !1 })], $.prototype, "tree", void 0), P([s({ attribute: !1 })], $.prototype, "modules", void 0), P([s({ attribute: !1 })], $.prototype, "auth", void 0), P([s({ attribute: "landing-page-url" })], $.prototype, "landingPageUrl", void 0), P([s({
3258
+ M([s()], $.prototype, "lang", void 0), M([s({ attribute: !1 })], $.prototype, "tree", void 0), M([s({ attribute: !1 })], $.prototype, "modules", void 0), M([s({ attribute: !1 })], $.prototype, "auth", void 0), M([s({ attribute: "landing-page-url" })], $.prototype, "landingPageUrl", void 0), M([s({
3242
3259
  type: Boolean,
3243
3260
  attribute: "show-help"
3244
- })], $.prototype, "showHelp", void 0), P([s({ attribute: "help-url" })], $.prototype, "helpUrl", void 0), P([s({ attribute: !1 })], $.prototype, "feedback", void 0), P([s({
3261
+ })], $.prototype, "showHelp", void 0), M([s({ attribute: "help-url" })], $.prototype, "helpUrl", void 0), M([s({ attribute: !1 })], $.prototype, "feedback", void 0), M([s({
3245
3262
  type: Boolean,
3246
3263
  attribute: "show-notification"
3247
- })], $.prototype, "showNotification", void 0), P([s({
3264
+ })], $.prototype, "showNotification", void 0), M([s({
3248
3265
  type: Boolean,
3249
3266
  attribute: "notification-active"
3250
- })], $.prototype, "notificationActive", void 0), P([s({
3267
+ })], $.prototype, "notificationActive", void 0), M([s({
3251
3268
  type: Boolean,
3252
3269
  attribute: "open",
3253
3270
  reflect: !0
3254
- })], $.prototype, "open", void 0), P([l()], $.prototype, "_currentItem", void 0), P([l()], $.prototype, "_resolvedModules", void 0), P([l()], $.prototype, "_modulesLoading", void 0), $ = P([o("vsn-navigation")], $);
3271
+ })], $.prototype, "open", void 0), M([l()], $.prototype, "_currentItem", void 0), M([l()], $.prototype, "_resolvedModules", void 0), M([l()], $.prototype, "_modulesLoading", void 0), $ = M([o("vsn-navigation")], $);
3255
3272
  //#endregion
3256
3273
  export { v as SearchError, $ as VSNNavigation, g as isTreeLeaf, _ as isTreeParent };