@sbb-esta/lyne-elements-experimental 4.8.0 → 4.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/README.md +2 -2
  2. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  3. package/autocomplete-grid/autocomplete-grid-cell.js +1 -1
  4. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  5. package/autocomplete-grid/autocomplete-grid-option.js +1 -1
  6. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  7. package/autocomplete-grid/autocomplete-grid-row.js +1 -1
  8. package/{autocomplete-grid-cell.component-Dak9wlBr.js → autocomplete-grid-cell.component-DnCfVJ2l.js} +1 -1
  9. package/autocomplete-grid-option.component-BlMPM6eh.js +37 -0
  10. package/autocomplete-grid-row.component-Bo2ZbXVX.js +27 -0
  11. package/autocomplete-grid.js +3 -3
  12. package/autocomplete-grid.pure.js +3 -3
  13. package/custom-elements.json +70 -2
  14. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +3 -0
  15. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
  16. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +30 -2
  17. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
  18. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
  19. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +1 -1
  20. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +1 -1
  21. package/development/seat-reservation/seat-reservation-graphic.js +1 -1
  22. package/development/seat-reservation/seat-reservation.js +1 -1
  23. package/development/seat-reservation-graphic.component-D0xEXmP9.js +203 -0
  24. package/development/{seat-reservation.component-MOv5kHDC.js → seat-reservation.component-BS53sZR3.js} +8 -5
  25. package/development/seat-reservation.js +2 -2
  26. package/development/seat-reservation.pure.js +2 -2
  27. package/journey-summary/journey-summary.component.js +1 -1
  28. package/{journey-summary.component-Cq_4kaOp.js → journey-summary.component-DcpXXucp.js} +1 -1
  29. package/journey-summary.js +1 -1
  30. package/journey-summary.pure.js +1 -1
  31. package/package.json +2 -2
  32. package/pearl-chain/pearl-chain.component.js +1 -1
  33. package/pearl-chain-time/pearl-chain-time.component.js +1 -1
  34. package/{pearl-chain-time.component-DGDW5S1c.js → pearl-chain-time.component-v6zRg_3j.js} +1 -1
  35. package/pearl-chain-time.js +1 -1
  36. package/pearl-chain-time.pure.js +1 -1
  37. package/pearl-chain-vertical/pearl-chain-vertical.component.js +1 -1
  38. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +1 -1
  39. package/pearl-chain-vertical-item.component-M2KRK6Xv.js +108 -0
  40. package/pearl-chain-vertical-item.js +1 -1
  41. package/pearl-chain-vertical-item.pure.js +1 -1
  42. package/{pearl-chain-vertical.component-CXIDT5RD.js → pearl-chain-vertical.component-BvJwcGpS.js} +1 -1
  43. package/pearl-chain-vertical.js +1 -1
  44. package/pearl-chain-vertical.pure.js +1 -1
  45. package/pearl-chain.component-B-XTTo6h.js +194 -0
  46. package/pearl-chain.js +1 -1
  47. package/pearl-chain.pure.js +1 -1
  48. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +24 -4
  49. package/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
  50. package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +1 -1
  51. package/seat-reservation/seat-reservation-area.js +1 -1
  52. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +1 -1
  53. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +1 -1
  54. package/seat-reservation/seat-reservation-graphic.js +1 -1
  55. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +1 -1
  56. package/seat-reservation/seat-reservation-navigation-coach.js +1 -1
  57. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +1 -1
  58. package/seat-reservation/seat-reservation-navigation-services.js +1 -1
  59. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +1 -1
  60. package/seat-reservation/seat-reservation-place-control.js +1 -1
  61. package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +1 -1
  62. package/seat-reservation/seat-reservation-scoped.js +1 -1
  63. package/seat-reservation/seat-reservation.js +1 -1
  64. package/{seat-reservation-area.component-COD6CXhP.js → seat-reservation-area.component-CY56r75x.js} +1 -1
  65. package/seat-reservation-graphic.component-DCMFf9uY.js +102 -0
  66. package/seat-reservation-navigation-coach.component-CXUv1pZM.js +333 -0
  67. package/{seat-reservation-navigation-services.component-QL0UnilZ.js → seat-reservation-navigation-services.component-ViyU_adt.js} +1 -1
  68. package/seat-reservation-place-control.component-Dj5Tm0Oa.js +322 -0
  69. package/{seat-reservation-scoped.component-CY04BT_4.js → seat-reservation-scoped.component-CuACI8ST.js} +1 -1
  70. package/{seat-reservation.component-zrQHTRl3.js → seat-reservation.component-Dl6bnC7-.js} +8 -5
  71. package/seat-reservation.js +7 -7
  72. package/seat-reservation.pure.js +7 -7
  73. package/timetable-duration/timetable-duration.component.js +1 -1
  74. package/{timetable-duration.component-DaYoJUGS.js → timetable-duration.component-Puonwsnr.js} +1 -1
  75. package/timetable-duration.js +1 -1
  76. package/timetable-duration.pure.js +1 -1
  77. package/timetable-row/timetable-row.component.js +1 -1
  78. package/{timetable-row.component-BDMAEsbR.js → timetable-row.component-DMCZaOPM.js} +1 -1
  79. package/timetable-row.js +1 -1
  80. package/timetable-row.pure.js +1 -1
  81. package/autocomplete-grid-option.component-DNRFHOwc.js +0 -37
  82. package/autocomplete-grid-row.component-DBHZQ0GQ.js +0 -27
  83. package/development/seat-reservation-graphic.component-lZXqHWIz.js +0 -193
  84. package/pearl-chain-vertical-item.component-G22bWhLU.js +0 -108
  85. package/pearl-chain.component-DmjkVIva.js +0 -194
  86. package/seat-reservation-graphic.component-BNfU5tQM.js +0 -102
  87. package/seat-reservation-navigation-coach.component-Bh9ILq60.js +0 -333
  88. package/seat-reservation-place-control.component-BfnZUyHv.js +0 -322
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../seat-reservation-graphic.component-BNfU5tQM.js";
1
+ import { t as e } from "../../seat-reservation-graphic.component-DCMFf9uY.js";
2
2
  export { e as SbbSeatReservationGraphicElement };
@@ -1,4 +1,4 @@
1
- import { t as e } from "../seat-reservation-graphic.component-BNfU5tQM.js";
1
+ import { t as e } from "../seat-reservation-graphic.component-DCMFf9uY.js";
2
2
  e.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/seat-reservation/seat-reservation-graphic.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/seat-reservation.js' or '@sbb-esta/elements-experimental/seat-reservation.pure.js' instead.");
3
3
  //#endregion
4
4
  export { e as SbbSeatReservationGraphicElement };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../seat-reservation-navigation-coach.component-Bh9ILq60.js";
1
+ import { t as e } from "../../seat-reservation-navigation-coach.component-CXUv1pZM.js";
2
2
  export { e as SbbSeatReservationNavigationCoachElement };
@@ -1,4 +1,4 @@
1
- import { t as e } from "../seat-reservation-navigation-coach.component-Bh9ILq60.js";
1
+ import { t as e } from "../seat-reservation-navigation-coach.component-CXUv1pZM.js";
2
2
  e.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/seat-reservation/seat-reservation-navigation-coach.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/seat-reservation.js' or '@sbb-esta/elements-experimental/seat-reservation.pure.js' instead.");
3
3
  //#endregion
4
4
  export { e as SbbSeatReservationNavigationCoachElement };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../seat-reservation-navigation-services.component-QL0UnilZ.js";
1
+ import { t as e } from "../../seat-reservation-navigation-services.component-ViyU_adt.js";
2
2
  export { e as SbbSeatReservationNavigationServicesElement };
@@ -1,4 +1,4 @@
1
- import { t as e } from "../seat-reservation-navigation-services.component-QL0UnilZ.js";
1
+ import { t as e } from "../seat-reservation-navigation-services.component-ViyU_adt.js";
2
2
  e.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/seat-reservation/seat-reservation-navigation-services.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/seat-reservation.js' or '@sbb-esta/elements-experimental/seat-reservation.pure.js' instead.");
3
3
  //#endregion
4
4
  export { e as SbbSeatReservationNavigationServicesElement };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../seat-reservation-place-control.component-BfnZUyHv.js";
1
+ import { t as e } from "../../seat-reservation-place-control.component-Dj5Tm0Oa.js";
2
2
  export { e as SbbSeatReservationPlaceControlElement };
@@ -1,4 +1,4 @@
1
- import { t as e } from "../seat-reservation-place-control.component-BfnZUyHv.js";
1
+ import { t as e } from "../seat-reservation-place-control.component-Dj5Tm0Oa.js";
2
2
  e.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/seat-reservation/seat-reservation-place-control.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/seat-reservation.js' or '@sbb-esta/elements-experimental/seat-reservation.pure.js' instead.");
3
3
  //#endregion
4
4
  export { e as SbbSeatReservationPlaceControlElement };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../seat-reservation-scoped.component-CY04BT_4.js";
1
+ import { t as e } from "../../seat-reservation-scoped.component-CuACI8ST.js";
2
2
  export { e as SbbSeatReservationScopedElement };
@@ -1,4 +1,4 @@
1
- import { t as e } from "../seat-reservation-scoped.component-CY04BT_4.js";
1
+ import { t as e } from "../seat-reservation-scoped.component-CuACI8ST.js";
2
2
  e.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/seat-reservation/seat-reservation-scoped.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/seat-reservation.js' or '@sbb-esta/elements-experimental/seat-reservation.pure.js' instead.");
3
3
  //#endregion
4
4
  export { e as SbbSeatReservationScopedElement };
@@ -1,5 +1,5 @@
1
1
  import { SeatReservationBaseElement as e } from "./seat-reservation/seat-reservation-base-element.js";
2
- import { t } from "../seat-reservation.component-zrQHTRl3.js";
2
+ import { t } from "../seat-reservation.component-Dl6bnC7-.js";
3
3
  t.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/seat-reservation/seat-reservation.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/seat-reservation.js' or '@sbb-esta/elements-experimental/seat-reservation.pure.js' instead.");
4
4
  //#endregion
5
5
  export { t as SbbSeatReservationElement, e as SeatReservationBaseElement };
@@ -5,7 +5,7 @@ import { boxSizingStyles as i } from "@sbb-esta/lyne-elements/core/styles.js";
5
5
  import { css as a, html as o } from "lit";
6
6
  import { property as s } from "lit/decorators.js";
7
7
  //#region src/elements-experimental/seat-reservation/seat-reservation-area/seat-reservation-area.scss?lit&inline
8
- var c = a`:host{--sbb-seat-reservation-area-border-radius:var(--sbb-border-width-4x);--sbb-seat-reservation-area-rotation:0;height:calc(var(--sbb-seat-reservation-area-height) * var(--sbb-seat-reservation-one-px-rem,.0625rem));width:calc(var(--sbb-seat-reservation-area-width) * var(--sbb-seat-reservation-one-px-rem,.0625rem));border:var(--sbb-border-width-1x) solid var(--sbb-color-graphite);border:var(--sbb-border-width-1x) solid var(--lightningcss-light,var(--sbb-color-graphite))var(--lightningcss-dark,var(--sbb-color-granite));border-radius:var(--sbb-seat-reservation-area-border-radius);rotate:calc(var(--sbb-seat-reservation-area-rotation) * 1deg);background-color:var(--sbb-background-color-2);justify-content:center;align-items:center;line-height:normal;display:flex;position:absolute;inset-block-start:calc(var(--sbb-seat-reservation-area-top) * var(--sbb-seat-reservation-one-px-rem,.0625rem));inset-inline-start:calc(var(--sbb-seat-reservation-area-left) * var(--sbb-seat-reservation-one-px-rem,.0625rem))}:host([background=dark]){background-color:var(--sbb-color-milk);background-color:var(--lightningcss-light,var(--sbb-color-milk))var(--lightningcss-dark,var(--sbb-color-iron))}:host([mounting=upper-border]){border-radius:0 0 var(--sbb-seat-reservation-area-border-radius) var(--sbb-seat-reservation-area-border-radius);border-block-start-width:0}:host([mounting=lower-border]){border-radius:var(--sbb-seat-reservation-area-border-radius) var(--sbb-seat-reservation-area-border-radius) 0 0;border-block-end-width:0}:host([mounting=upper-to-lower-border]){border-block:none;border-radius:0}:host(.sbb-seat-reservation-area--cursor-pointer){cursor:var(--sbb-cursor-pointer)}`, l = (() => {
8
+ var c = a`:host{--sbb-seat-reservation-area-border-radius: var(--sbb-border-width-4x);--sbb-seat-reservation-area-rotation: 0;display:flex;justify-content:center;align-items:center;height:calc(var(--sbb-seat-reservation-area-height) * var(--sbb-seat-reservation-one-px-rem, .0625rem));width:calc(var(--sbb-seat-reservation-area-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem));border:var(--sbb-border-width-1x) solid var(--sbb-color-graphite);border:var(--sbb-border-width-1x) solid light-dark(var(--sbb-color-graphite),var(--sbb-color-granite));border-radius:var(--sbb-seat-reservation-area-border-radius);position:absolute;inset-block-start:calc(var(--sbb-seat-reservation-area-top) * var(--sbb-seat-reservation-one-px-rem, .0625rem));inset-inline-start:calc(var(--sbb-seat-reservation-area-left) * var(--sbb-seat-reservation-one-px-rem, .0625rem));rotate:calc(var(--sbb-seat-reservation-area-rotation) * 1deg);line-height:normal;background-color:var(--sbb-background-color-2)}:host([background=dark]){background-color:var(--sbb-color-milk);background-color:light-dark(var(--sbb-color-milk),var(--sbb-color-iron))}:host([mounting=upper-border]){border-block-start-width:0;border-radius:0 0 var(--sbb-seat-reservation-area-border-radius) var(--sbb-seat-reservation-area-border-radius)}:host([mounting=lower-border]){border-block-end-width:0;border-radius:var(--sbb-seat-reservation-area-border-radius) var(--sbb-seat-reservation-area-border-radius) 0 0}:host([mounting=upper-to-lower-border]){border-block-start:none;border-block-end:none;border-radius:0}:host(.sbb-seat-reservation-area--cursor-pointer){cursor:var(--sbb-cursor-pointer)}`, l = (() => {
9
9
  let a = n, l, u = [], d = [], f, p = [], m = [];
10
10
  return class extends a {
11
11
  static {
@@ -0,0 +1,102 @@
1
+ import { __esDecorate as e, __runInitializers as t } from "tslib";
2
+ import { SbbElement as n } from "@sbb-esta/lyne-elements/core/base-elements.js";
3
+ import { SbbLanguageController as r } from "@sbb-esta/lyne-elements/core/controllers.js";
4
+ import { forceType as i } from "@sbb-esta/lyne-elements/core/decorators.js";
5
+ import { boxSizingStyles as a } from "@sbb-esta/lyne-elements/core/styles.js";
6
+ import "@sbb-esta/lyne-elements/icon.js";
7
+ import { css as o, html as s, isServer as c } from "lit";
8
+ import { property as l } from "lit/decorators.js";
9
+ import { mapIconToSvg as u } from "./seat-reservation/common/mapper.js";
10
+ import { classMap as d } from "lit/directives/class-map.js";
11
+ import { getI18nSeatReservation as f } from "./seat-reservation/common/translations.js";
12
+ //#region src/elements-experimental/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.scss?lit&inline
13
+ var p = o`:host{--sbb-seat-reservation-graphic-max-width: auto;--sbb-seat-reservation-graphic-max-height: auto;--sbb-seat-reservation-graphic-width: 16;--sbb-seat-reservation-graphic-height: 16;--sbb-seat-reservation-graphic-rotation: 0;--sbb-seat-reservation-graphic-inverse-rotation: 0;--sbb-seat-reservation-graphic-padding-percent: 1;--sbb-seat-reservation-graphic-position: initial;--sbb-seat-reservation-graphic-left: 0;--sbb-seat-reservation-graphic-top: 0;--sbb-icon-svg-width: calc( var(--sbb-seat-reservation-graphic-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem) );--sbb-icon-svg-height: calc( var(--sbb-seat-reservation-graphic-height) * var(--sbb-seat-reservation-one-px-rem, .0625rem) );display:flex;justify-content:center;align-items:center;width:calc(var(--sbb-seat-reservation-graphic-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem));height:calc(var(--sbb-seat-reservation-graphic-height) * var(--sbb-seat-reservation-one-px-rem, .0625rem));position:var(--sbb-seat-reservation-graphic-position);inset-inline-start:calc(var(--sbb-seat-reservation-graphic-left) * var(--sbb-seat-reservation-one-px-rem, .0625rem));inset-block-start:calc(var(--sbb-seat-reservation-graphic-top) * var(--sbb-seat-reservation-one-px-rem, .0625rem))}:host(.auto-width){--sbb-icon-svg-width: auto;max-width:calc(var(--sbb-seat-reservation-graphic-max-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem));width:auto}:host(.sbb-sr-graphic__dimension--square-dim){--sbb-icon-svg-width: min(min(var(--sbb-seat-reservation-graphic-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem), var(--sbb-seat-reservation-graphic-height) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) * var(--sbb-seat-reservation-graphic-padding-percent), min(var(--sbb-seat-reservation-graphic-max-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem), var(--sbb-seat-reservation-graphic-max-height) * var(--sbb-seat-reservation-one-px-rem, .0625rem)));--sbb-icon-svg-height: min(min(var(--sbb-seat-reservation-graphic-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem), var(--sbb-seat-reservation-graphic-height) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) * var(--sbb-seat-reservation-graphic-padding-percent), min(var(--sbb-seat-reservation-graphic-max-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem), var(--sbb-seat-reservation-graphic-max-height) * var(--sbb-seat-reservation-one-px-rem, .0625rem)));width:min(min(var(--sbb-seat-reservation-graphic-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem),var(--sbb-seat-reservation-graphic-height) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) * var(--sbb-seat-reservation-graphic-padding-percent),min(var(--sbb-seat-reservation-graphic-max-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem),var(--sbb-seat-reservation-graphic-max-height) * var(--sbb-seat-reservation-one-px-rem, .0625rem)));height:min(min(var(--sbb-seat-reservation-graphic-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem),var(--sbb-seat-reservation-graphic-height) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) * var(--sbb-seat-reservation-graphic-padding-percent),min(var(--sbb-seat-reservation-graphic-max-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem),var(--sbb-seat-reservation-graphic-max-height) * var(--sbb-seat-reservation-one-px-rem, .0625rem)))}:host(.sbb-seat-reservation-graphic--cursor-pointer){cursor:var(--sbb-cursor-pointer)}.sbb-sr-icon,.sbb-sr-graphic{width:inherit;height:inherit;transform-origin:center;rotate:calc(var(--sbb-seat-reservation-graphic-rotation) * 1deg)}.sbb-sr-icon{color:var(--sbb-color-granite);color:light-dark(var(--sbb-color-granite),var(--sbb-color-graphite))}.sbb-sr-graphic svg{width:100%;height:100%}.sbb-sr-graphic svg .fix-rotation-inverse{transform-origin:center;rotate:calc(var(--sbb-seat-reservation-graphic-inverse-rotation) * 1deg)}@media(forced-colors:active){.sbb-sr-graphic svg:not(.color-immutable) [fill]:not([fill=none]){fill:currentcolor}.sbb-sr-graphic .no-bg{fill:transparent}}`, m = (() => {
14
+ let o = n, m, h = [], g = [], _, v = [], y = [];
15
+ return class extends o {
16
+ constructor() {
17
+ super(...arguments), this.#e = t(this, h, ""), this.#t = (t(this, g), t(this, v, !1)), this._language = (t(this, y), new r(this));
18
+ }
19
+ static {
20
+ let t = typeof Symbol == "function" && Symbol.metadata ? Object.create(o[Symbol.metadata] ?? null) : void 0;
21
+ m = [i(), l({ attribute: "name" })], _ = [i(), l({
22
+ attribute: "stretch",
23
+ type: Boolean
24
+ })], e(this, null, m, {
25
+ kind: "accessor",
26
+ name: "name",
27
+ static: !1,
28
+ private: !1,
29
+ access: {
30
+ has: (e) => "name" in e,
31
+ get: (e) => e.name,
32
+ set: (e, t) => {
33
+ e.name = t;
34
+ }
35
+ },
36
+ metadata: t
37
+ }, h, g), e(this, null, _, {
38
+ kind: "accessor",
39
+ name: "stretch",
40
+ static: !1,
41
+ private: !1,
42
+ access: {
43
+ has: (e) => "stretch" in e,
44
+ get: (e) => e.stretch,
45
+ set: (e, t) => {
46
+ e.stretch = t;
47
+ }
48
+ },
49
+ metadata: t
50
+ }, v, y), t && Object.defineProperty(this, Symbol.metadata, {
51
+ enumerable: !0,
52
+ configurable: !0,
53
+ writable: !0,
54
+ value: t
55
+ });
56
+ }
57
+ static {
58
+ this.elementName = "sbb-seat-reservation-graphic";
59
+ }
60
+ static {
61
+ this.styles = [a, p];
62
+ }
63
+ #e;
64
+ get name() {
65
+ return this.#e;
66
+ }
67
+ set name(e) {
68
+ this.#e = e;
69
+ }
70
+ #t;
71
+ get stretch() {
72
+ return this.#t;
73
+ }
74
+ set stretch(e) {
75
+ this.#t = e;
76
+ }
77
+ render() {
78
+ let e = u[this.name];
79
+ return !e?.svg && !e?.svgName ? null : s`<span
80
+ class="${d({
81
+ "sbb-sr-icon": !!e.svgName,
82
+ "sbb-sr-graphic": !!e.svg
83
+ })}"
84
+ >
85
+ ${e.svgName ? s` <sbb-icon
86
+ name="${e.svgName || ""}"
87
+ aria-hidden="false"
88
+ aria-label="${f(e.svgName, this._language.current)}"
89
+ ></sbb-icon>` : s`${this._getSvgElement(e.svg)}`}
90
+ </span>`;
91
+ }
92
+ _getSvgElement(e) {
93
+ if (!c) {
94
+ let t = new DOMParser(), n = e || "<svg></svg>", r = t.parseFromString(n, "image/svg+xml").firstElementChild;
95
+ return this.stretch && r?.nodeName.toLowerCase() === "svg" && r.setAttribute("preserveAspectRatio", "none"), r;
96
+ }
97
+ return null;
98
+ }
99
+ };
100
+ })();
101
+ //#endregion
102
+ export { m as t };
@@ -0,0 +1,333 @@
1
+ import { __esDecorate as e, __runInitializers as t } from "tslib";
2
+ import { SbbElement as n } from "@sbb-esta/lyne-elements/core/base-elements.js";
3
+ import { SbbLanguageController as r } from "@sbb-esta/lyne-elements/core/controllers.js";
4
+ import { forceType as i } from "@sbb-esta/lyne-elements/core/decorators.js";
5
+ import { boxSizingStyles as a } from "@sbb-esta/lyne-elements/core/styles.js";
6
+ import { css as o, html as s, nothing as c } from "lit";
7
+ import { property as l } from "lit/decorators.js";
8
+ import "@sbb-esta/lyne-elements/screen-reader-only.js";
9
+ import { classMap as u } from "lit/directives/class-map.js";
10
+ import { getI18nSeatReservation as d } from "./seat-reservation/common/translations.js";
11
+ import { SbbSeatReservationNavigationServicesElement as f } from "./seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js";
12
+ //#region src/elements-experimental/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.scss?lit&inline
13
+ var p = o`:host{display:inline-block;min-height:calc(44 * var(--sbb-seat-reservation-one-px-rem, .0625rem));--sbb-seat-reservation-navigation-travelclass-spacing: 10;--sbb-seat-reservation-navigation-btn-border-width-default: 1;--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-default );--sbb-seat-reservation-navigation-btn-border-color: var(--sbb-color-granite);--sbb-seat-reservation-navigation-btn-border-color: light-dark( var(--sbb-color-granite), var(--sbb-color-graphite) );--sbb-seat-reservation-navigation-btn-background-color: var(--sbb-color-white);--sbb-seat-reservation-navigation-btn-background-color: light-dark( var(--sbb-color-white), var(--sbb-color-black) );--sbb-seat-reservation-navigation-btn-border-width-selected: 2;--sbb-seat-reservation-navigation-btn-background-color-selected: var(--sbb-color-milk);--sbb-seat-reservation-navigation-btn-background-color-selected: light-dark( var(--sbb-color-milk), var(--sbb-color-iron) );--sbb-seat-reservation-navigation-btn-border-color-selected: var(--sbb-color-black);--sbb-seat-reservation-navigation-btn-border-color-selected: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-navigation-btn-outline-width-focused: 1;--sbb-seat-reservation-navigation-btn-outline-color-focused: var(--sbb-color-black);--sbb-seat-reservation-navigation-btn-outline-color-focused: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-navigation-btn-outline-offset-focused: 4;--sbb-seat-reservation-navigation-btn-background-color-focused: var(--sbb-color-white);--sbb-seat-reservation-navigation-btn-background-color-focused: light-dark( var(--sbb-color-white), var(--sbb-color-black) );--sbb-seat-reservation-navigation-btn-border-width-focused: var( --sbb-seat-reservation-navigation-btn-border-width );--sbb-seat-reservation-navigation-btn-border-color-focused: var(--sbb-color-black);--sbb-seat-reservation-navigation-btn-border-color-focused: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-navigation-btn-border-width-hovered: 2;--sbb-seat-reservation-navigation-btn-background-color-hovered: var(--sbb-color-cloud);--sbb-seat-reservation-navigation-btn-background-color-hovered: light-dark( var(--sbb-color-cloud), var(--sbb-color-midnight) );--sbb-seat-reservation-navigation-btn-border-color-hovered: var(--sbb-color-black);--sbb-seat-reservation-navigation-btn-border-color-hovered: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-navigation-btn-background-color-disabled: var(--sbb-background-color-2);--sbb-seat-reservation-navigation-btn-border-color-disabled: var(--sbb-color-platinum);--sbb-seat-reservation-navigation-btn-border-color-disabled: light-dark( var(--sbb-color-platinum), var(--sbb-color-iron) )}.sbb-sr-navigation__item-coach{display:flex;flex-direction:column;gap:calc(8 * var(--sbb-seat-reservation-one-px-rem, .0625rem));width:calc(80 * var(--sbb-seat-reservation-one-px-rem, .0625rem));list-style-type:none}.sbb-sr-navigation__item-coach.first-coach .sbb-sr-navigation--first-class,.sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation--first-class{width:calc(100% - 18 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation__item-coach.first-coach .sbb-sr-navigation__ctrl-button:not(.sbb-seat-reservation-navigation-driver-area){border-radius:var(--sbb-border-radius-8x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-8x)}.sbb-sr-navigation__item-coach.first-coach .sbb-sr-navigation__ctrl-button:not(.sbb-seat-reservation-navigation-driver-area):before{content:"";position:absolute;width:100%;height:100%;border:calc(var(--sbb-seat-reservation-navigation-btn-border-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-border-color);border-radius:var(--sbb-border-radius-8x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-8x)}.sbb-sr-navigation__item-coach.first-coach .sbb-sr-navigation--first-class{margin-inline-start:calc(var(--sbb-seat-reservation-navigation-travelclass-spacing) * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area){border-radius:var(--sbb-border-radius-2x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-2x)}.sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area):before{content:"";position:absolute;width:100%;height:100%;border:calc(var(--sbb-seat-reservation-navigation-btn-border-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-border-color);border-radius:var(--sbb-border-radius-2x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-2x)}.sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation__additional-information{padding-inline-end:calc(var(--sbb-seat-reservation-navigation-travelclass-spacing) * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation--first-class{margin-inline-end:calc(var(--sbb-seat-reservation-navigation-travelclass-spacing) * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation__ctrl-button{appearance:none;box-sizing:border-box;margin:0;outline:none;border:none;border-radius:0;padding:0;background:none;-webkit-tap-highlight-color:transparent;color:inherit;display:flex;flex-direction:column;justify-content:center;height:calc(36 * var(--sbb-seat-reservation-one-px-rem, .0625rem));position:relative;background-color:var(--sbb-seat-reservation-navigation-btn-background-color);cursor:var(--sbb-cursor-pointer)}.sbb-sr-navigation__ctrl-button.sbb-sr-navigation-driver-area{border-radius:var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x)}.sbb-sr-navigation__ctrl-button.sbb-sr-navigation-driver-area:before{content:"";position:absolute;width:100%;height:100%;border:calc(var(--sbb-seat-reservation-navigation-btn-border-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-border-color);border-radius:var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x)}.sbb-sr-navigation__ctrl-button{border-radius:var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x)}.sbb-sr-navigation__ctrl-button:before{content:"";position:absolute;width:100%;height:100%;border:calc(var(--sbb-seat-reservation-navigation-btn-border-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-border-color);border-radius:var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x)}.sbb-sr-navigation__item-coach--focused .sbb-sr-navigation__ctrl-button{--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-focused );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-focused );--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-focused );outline:calc(var(--sbb-seat-reservation-navigation-btn-outline-width-focused) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-outline-color-focused);outline-offset:calc(var(--sbb-seat-reservation-navigation-btn-outline-offset-focused) * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation__item-coach--focused .sbb-sr-navigation__ctrl-button .sbb-sr-navigation__item-coach-travelclass{background-color:var(--sbb-color-metal);background-color:light-dark(var(--sbb-color-metal),var(--sbb-color-storm))}.sbb-sr-navigation__item-coach--focused .sbb-sr-navigation__ctrl-button .sbb-sr-navigation__item-coach-number{color:var(--sbb-color-anthracite);color:light-dark(var(--sbb-color-anthracite),var(--sbb-color-graphite))}.sbb-sr-navigation__item-coach--selected .sbb-sr-navigation__ctrl-button{--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-selected );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-selected );--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-selected )}.sbb-sr-navigation__item-coach--selected .sbb-sr-navigation__ctrl-button .sbb-sr-navigation__item-coach-travelclass{background-color:var(--sbb-color-black);background-color:light-dark(var(--sbb-color-black),var(--sbb-color-white))}.sbb-sr-navigation__item-coach--selected .sbb-sr-navigation__ctrl-button .sbb-sr-navigation__item-coach-number{color:var(--sbb-color-black);color:light-dark(var(--sbb-color-black),var(--sbb-color-white))}.sbb-sr-navigation__item-coach--selected.sbb-sr-navigation__item-coach--hovered .sbb-sr-navigation__ctrl-button{--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-selected );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-selected );--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-selected );background-color:var(--sbb-seat-reservation-navigation-btn-background-color-hovered)!important}.sbb-sr-navigation__item-coach--selected .sbb-sr-navigation__ctrl-button:focus-visible:not([disabled],:disabled){--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-selected );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-selected );--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-selected )}.sbb-sr-navigation__item-coach--hovered .sbb-sr-navigation__ctrl-button{--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-hovered );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-hovered );--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-hovered )}.sbb-sr-navigation__ctrl-button:hover:not([disabled],:disabled){--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-hovered );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-hovered );--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-hovered )}.sbb-sr-navigation__ctrl-button:hover:not([disabled],:disabled) .sbb-sr-navigation__item-coach-travelclass{background-color:var(--sbb-color-smoke)}.sbb-sr-navigation__ctrl-button:hover:not([disabled],:disabled) .sbb-sr-navigation__item-coach-number{color:var(--sbb-color-iron);color:light-dark(var(--sbb-color-iron),var(--sbb-color-silver))}.sbb-sr-navigation__ctrl-button:is([disabled],:disabled){--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-disabled );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-disabled );cursor:unset;pointer-events:unset}.sbb-sr-navigation__ctrl-button:is([disabled],:disabled) .sbb-sr-navigation__item-coach-travelclass{background-color:var(--sbb-color-graphite);background-color:light-dark(var(--sbb-color-graphite),var(--sbb-color-granite))}.sbb-sr-navigation__ctrl-button:is([disabled],:disabled) .sbb-sr-navigation__item-coach-number{color:var(--sbb-color-graphite);color:light-dark(var(--sbb-color-graphite),var(--sbb-color-granite))}.sbb-sr-navigation__additional-information{display:flex;justify-content:space-between;align-items:center;flex:1;column-gap:calc(8 * var(--sbb-seat-reservation-one-px-rem, .0625rem));padding-inline:calc(16 * var(--sbb-seat-reservation-one-px-rem, .0625rem));font-family:var(--sbb-typo-font-family);font-weight:700;color:var(--sbb-color-granite);color:light-dark(var(--sbb-color-granite),var(--sbb-color-granite))}@media(forced-colors:active){.sbb-sr-navigation__additional-information{color:var(--sbb-color-milk)}}.sbb-sr-navigation__item-coach-number{color:var(--sbb-color-granite);color:light-dark(var(--sbb-color-granite),var(--sbb-color-graphite))}@media(forced-colors:active){.sbb-sr-navigation__item-coach-number{color:var(--sbb-color-granite);color:light-dark(var(--sbb-color-granite),var(--sbb-color-graphite))}}.sbb-sr-navigation__item-coach-number .sbb-sr-navigation__item-coach-travelclass{background-color:var(--sbb-background-color-2-inverted)}.sbb-sr-navigation--first-class{width:calc(100% - 8 * var(--sbb-seat-reservation-one-px-rem, .0625rem));position:absolute;inset-block-start:calc(3 * var(--sbb-seat-reservation-one-px-rem, .0625rem));inset-inline-start:calc(4 * var(--sbb-seat-reservation-one-px-rem, .0625rem));border:calc(1 * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid transparent;border-radius:var(--sbb-border-radius-1x);margin:auto;background-color:var(--sbb-color-lemon)}.sbb-sr-navigation__item-coach-travelclass{display:flex;align-items:center;justify-content:center;min-height:calc(20 * var(--sbb-seat-reservation-one-px-rem, .0625rem));min-width:calc(20 * var(--sbb-seat-reservation-one-px-rem, .0625rem));border-radius:var(--sbb-border-radius-1x);text-align:center;background-color:var(--sbb-color-granite);background-color:light-dark(var(--sbb-color-granite),var(--sbb-color-graphite));color:var(--sbb-color-white);color:light-dark(var(--sbb-color-white),var(--sbb-color-black))}@media(forced-colors:active){.sbb-sr-navigation__item-coach-travelclass{border:var(--sbb-border-width-1x) solid}}:host([vertical]) .sbb-sr-navigation__item-coach{flex-direction:row}:host([vertical]) .sbb-sr-navigation__item-coach .sbb-sr-navigation__ctrl-button{flex-direction:row-reverse;height:calc(80 * var(--sbb-seat-reservation-one-px-rem, .0625rem));min-width:calc(36 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}:host([vertical]) .sbb-sr-navigation__item-coach .sbb-sr-navigation__additional-information{flex-direction:column-reverse;padding-block:calc(16 * var(--sbb-seat-reservation-one-px-rem, .0625rem));padding-inline-start:unset;padding-inline-end:unset}:host([vertical]) .sbb-sr-navigation__item-coach .sbb-sr-navigation--first-class{height:calc(100% - 8 * var(--sbb-seat-reservation-one-px-rem, .0625rem));width:initial;inset-inline-end:calc(3 * var(--sbb-seat-reservation-one-px-rem, .0625rem));inset-block-start:calc(4 * var(--sbb-seat-reservation-one-px-rem, .0625rem));inset-inline-start:initial}:host([vertical]) .sbb-sr-navigation__item-coach.first-coach .sbb-sr-navigation--first-class,:host([vertical]) .sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation--first-class{height:calc(100% - 18 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}:host([vertical]) .sbb-sr-navigation__item-coach.first-coach:not(.last-coach) .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area){border-radius:var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x)}:host([vertical]) .sbb-sr-navigation__item-coach.first-coach:not(.last-coach) .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area):before{content:"";position:absolute;width:100%;height:100%;border:calc(var(--sbb-seat-reservation-navigation-btn-border-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-border-color);border-radius:var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x)}:host([vertical]) .sbb-sr-navigation__item-coach.first-coach:not(.last-coach) .sbb-sr-navigation--first-class{margin-block-start:calc(var(--sbb-seat-reservation-navigation-travelclass-spacing) * var(--sbb-seat-reservation-one-px-rem, .0625rem));margin-inline-start:initial}:host([vertical]) .sbb-sr-navigation__item-coach.last-coach:not(.first-coach) .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area){border-radius:var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x)}:host([vertical]) .sbb-sr-navigation__item-coach.last-coach:not(.first-coach) .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area):before{content:"";position:absolute;width:100%;height:100%;border:calc(var(--sbb-seat-reservation-navigation-btn-border-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-border-color);border-radius:var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x)}:host([vertical]) .sbb-sr-navigation__item-coach.last-coach:not(.first-coach) .sbb-sr-navigation--first-class{margin-block-end:calc(var(--sbb-seat-reservation-navigation-travelclass-spacing) * var(--sbb-seat-reservation-one-px-rem, .0625rem));margin-inline-end:initial}:host([vertical]) .sbb-sr-navigation__item-coach .sbb-sr-navigation-driver-area{height:calc(80 * var(--sbb-seat-reservation-one-px-rem, .0625rem));min-width:calc(36 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}`;
14
+ //#endregion
15
+ //#region src/elements-experimental/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.ts
16
+ f.define();
17
+ var m = (() => {
18
+ let o = n, f, m = [], h = [], g, _ = [], v = [], y, b = [], x = [], S, C = [], w = [], T, E = [], D = [], O, k = [], A = [], j, M = [], N = [], P, F = [], I = [], L, R = [], z = [];
19
+ return class extends o {
20
+ constructor() {
21
+ super(...arguments), this.#e = t(this, m, !1), this.#t = (t(this, h), t(this, _, !1)), this.#n = (t(this, v), t(this, b, !1)), this.#r = (t(this, x), t(this, C, !0)), this.#i = (t(this, w), t(this, E, 0)), this.#a = (t(this, D), t(this, k, {})), this.#o = (t(this, A), t(this, M, !1)), this.#s = (t(this, N), t(this, F, !1)), this.#c = (t(this, I), t(this, R, !1)), this._language = (t(this, z), new r(this));
22
+ }
23
+ static {
24
+ let t = typeof Symbol == "function" && Symbol.metadata ? Object.create(o[Symbol.metadata] ?? null) : void 0;
25
+ f = [i(), l({ type: Boolean })], g = [i(), l({ type: Boolean })], y = [i(), l({ type: Boolean })], S = [i(), l({ type: Boolean })], T = [i(), l({ type: Number })], O = [l({
26
+ attribute: "coach-item-details",
27
+ type: Object
28
+ })], j = [i(), l({
29
+ attribute: "disable",
30
+ type: Boolean
31
+ })], P = [i(), l({
32
+ type: Boolean,
33
+ reflect: !0,
34
+ useDefault: !0
35
+ })], L = [i(), l({ type: Boolean })], e(this, null, f, {
36
+ kind: "accessor",
37
+ name: "selected",
38
+ static: !1,
39
+ private: !1,
40
+ access: {
41
+ has: (e) => "selected" in e,
42
+ get: (e) => e.selected,
43
+ set: (e, t) => {
44
+ e.selected = t;
45
+ }
46
+ },
47
+ metadata: t
48
+ }, m, h), e(this, null, g, {
49
+ kind: "accessor",
50
+ name: "focused",
51
+ static: !1,
52
+ private: !1,
53
+ access: {
54
+ has: (e) => "focused" in e,
55
+ get: (e) => e.focused,
56
+ set: (e, t) => {
57
+ e.focused = t;
58
+ }
59
+ },
60
+ metadata: t
61
+ }, _, v), e(this, null, y, {
62
+ kind: "accessor",
63
+ name: "hovered",
64
+ static: !1,
65
+ private: !1,
66
+ access: {
67
+ has: (e) => "hovered" in e,
68
+ get: (e) => e.hovered,
69
+ set: (e, t) => {
70
+ e.hovered = t;
71
+ }
72
+ },
73
+ metadata: t
74
+ }, b, x), e(this, null, S, {
75
+ kind: "accessor",
76
+ name: "nativeFocusActive",
77
+ static: !1,
78
+ private: !1,
79
+ access: {
80
+ has: (e) => "nativeFocusActive" in e,
81
+ get: (e) => e.nativeFocusActive,
82
+ set: (e, t) => {
83
+ e.nativeFocusActive = t;
84
+ }
85
+ },
86
+ metadata: t
87
+ }, C, w), e(this, null, T, {
88
+ kind: "accessor",
89
+ name: "index",
90
+ static: !1,
91
+ private: !1,
92
+ access: {
93
+ has: (e) => "index" in e,
94
+ get: (e) => e.index,
95
+ set: (e, t) => {
96
+ e.index = t;
97
+ }
98
+ },
99
+ metadata: t
100
+ }, E, D), e(this, null, O, {
101
+ kind: "accessor",
102
+ name: "coachItemDetails",
103
+ static: !1,
104
+ private: !1,
105
+ access: {
106
+ has: (e) => "coachItemDetails" in e,
107
+ get: (e) => e.coachItemDetails,
108
+ set: (e, t) => {
109
+ e.coachItemDetails = t;
110
+ }
111
+ },
112
+ metadata: t
113
+ }, k, A), e(this, null, j, {
114
+ kind: "accessor",
115
+ name: "disable",
116
+ static: !1,
117
+ private: !1,
118
+ access: {
119
+ has: (e) => "disable" in e,
120
+ get: (e) => e.disable,
121
+ set: (e, t) => {
122
+ e.disable = t;
123
+ }
124
+ },
125
+ metadata: t
126
+ }, M, N), e(this, null, P, {
127
+ kind: "accessor",
128
+ name: "vertical",
129
+ static: !1,
130
+ private: !1,
131
+ access: {
132
+ has: (e) => "vertical" in e,
133
+ get: (e) => e.vertical,
134
+ set: (e, t) => {
135
+ e.vertical = t;
136
+ }
137
+ },
138
+ metadata: t
139
+ }, F, I), e(this, null, L, {
140
+ kind: "accessor",
141
+ name: "showTitleInfo",
142
+ static: !1,
143
+ private: !1,
144
+ access: {
145
+ has: (e) => "showTitleInfo" in e,
146
+ get: (e) => e.showTitleInfo,
147
+ set: (e, t) => {
148
+ e.showTitleInfo = t;
149
+ }
150
+ },
151
+ metadata: t
152
+ }, R, z), t && Object.defineProperty(this, Symbol.metadata, {
153
+ enumerable: !0,
154
+ configurable: !0,
155
+ writable: !0,
156
+ value: t
157
+ });
158
+ }
159
+ static {
160
+ this.elementName = "sbb-seat-reservation-navigation-coach";
161
+ }
162
+ static {
163
+ this.styles = [a, p];
164
+ }
165
+ static {
166
+ this.events = {
167
+ selectcoach: "selectcoach",
168
+ focuscoach: "focuscoach"
169
+ };
170
+ }
171
+ #e;
172
+ get selected() {
173
+ return this.#e;
174
+ }
175
+ set selected(e) {
176
+ this.#e = e;
177
+ }
178
+ #t;
179
+ get focused() {
180
+ return this.#t;
181
+ }
182
+ set focused(e) {
183
+ this.#t = e;
184
+ }
185
+ #n;
186
+ get hovered() {
187
+ return this.#n;
188
+ }
189
+ set hovered(e) {
190
+ this.#n = e;
191
+ }
192
+ #r;
193
+ get nativeFocusActive() {
194
+ return this.#r;
195
+ }
196
+ set nativeFocusActive(e) {
197
+ this.#r = e;
198
+ }
199
+ #i;
200
+ get index() {
201
+ return this.#i;
202
+ }
203
+ set index(e) {
204
+ this.#i = e;
205
+ }
206
+ #a;
207
+ get coachItemDetails() {
208
+ return this.#a;
209
+ }
210
+ set coachItemDetails(e) {
211
+ this.#a = e;
212
+ }
213
+ #o;
214
+ get disable() {
215
+ return this.#o;
216
+ }
217
+ set disable(e) {
218
+ this.#o = e;
219
+ }
220
+ #s;
221
+ get vertical() {
222
+ return this.#s;
223
+ }
224
+ set vertical(e) {
225
+ this.#s = e;
226
+ }
227
+ #c;
228
+ get showTitleInfo() {
229
+ return this.#c;
230
+ }
231
+ set showTitleInfo(e) {
232
+ this.#c = e;
233
+ }
234
+ willUpdate(e) {
235
+ if (super.willUpdate(e), e.has("selected")) {
236
+ let e = this.shadowRoot?.querySelector(".sbb-sr-navigation__ctrl-button");
237
+ this.selected && e && (this.nativeFocusActive && e.focus(), this.dispatchEvent(new Event("focuscoach", {
238
+ bubbles: !0,
239
+ composed: !0
240
+ })));
241
+ }
242
+ if (e.has("focused") && this.focused) {
243
+ let e = this.shadowRoot?.querySelector(".sbb-sr-navigation__ctrl-button");
244
+ e && this.nativeFocusActive && e.focus();
245
+ }
246
+ }
247
+ render() {
248
+ return s`
249
+ <div
250
+ class="${u({
251
+ "sbb-sr-navigation__item-coach": !0,
252
+ "last-coach": this.coachItemDetails.driverAreaSide?.right || !1,
253
+ "first-coach": this.coachItemDetails.driverAreaSide?.left || !1,
254
+ "sbb-sr-navigation__item-coach--selected": this.selected,
255
+ "sbb-sr-navigation__item-coach--focused": this.focused,
256
+ "sbb-sr-navigation__item-coach--hovered": this.hovered
257
+ })}"
258
+ >
259
+ ${this._getNavigationButton()}
260
+ ${this.coachItemDetails.propertyIds?.length ? s`<sbb-seat-reservation-navigation-services
261
+ ?vertical="${this.vertical}"
262
+ .propertyIds="${this.coachItemDetails.propertyIds}"
263
+ ?showTitleInfo="${this.showTitleInfo}"
264
+ ></sbb-seat-reservation-navigation-services>` : c}
265
+ </div>
266
+ `;
267
+ }
268
+ _getNavigationButton() {
269
+ let e = this._getCoachServiceClassNumber(), t = this._getTitleDescriptionNavCoachButton(e), n = this._getAriaDescriptionCoachServices();
270
+ return s` <button
271
+ @click=${() => this._selectNavCoach(this.index)}
272
+ class="${u({
273
+ "sbb-sr-navigation__ctrl-button": !0,
274
+ "sbb-sr-navigation-driver-area": this.coachItemDetails.isDriverArea
275
+ })}"
276
+ ?disabled="${this.disable}"
277
+ title="${this.showTitleInfo ? t : c}"
278
+ type="button"
279
+ aria-describedby="nav-coach-service-descriptions-${this.index}"
280
+ >
281
+ ${this._getBtnInformation(e)}
282
+ <sbb-screen-reader-only id="nav-coach-service-descriptions-${this.index}">
283
+ ${this.showTitleInfo ? c : s`<div>${t}</div>`}
284
+ ${n ? s`<div>${n}</div>` : c}
285
+ </sbb-screen-reader-only>
286
+ </button>`;
287
+ }
288
+ _getBtnInformation(e) {
289
+ return this.coachItemDetails.isDriverArea ? null : s`
290
+ ${e === 1 ? s`<span class="sbb-sr-navigation--first-class"></span>` : c}
291
+ ${this.coachItemDetails.travelClass?.length > 0 || this.coachItemDetails.id ? s`<div class="sbb-sr-navigation__additional-information">
292
+ ${this.coachItemDetails.id ? s`<div class="sbb-sr-navigation__item-coach-number" aria-hidden="true">
293
+ ${this.coachItemDetails.id}
294
+ </div>` : c}
295
+ <div
296
+ ${e ?? c}
297
+ class="sbb-sr-navigation__item-coach-travelclass"
298
+ aria-hidden="true"
299
+ >
300
+ ${e}
301
+ </div>
302
+ </div>` : c}
303
+ `;
304
+ }
305
+ _getTitleDescriptionNavCoachButton(e) {
306
+ if (this.coachItemDetails.isDriverArea && !this.coachItemDetails.driverAreaElements?.driverAreaNoVerticalWall) return d("NAVIGATE_COACH_BLOCKED", this._language.current, [this.coachItemDetails.id]);
307
+ if (this.coachItemDetails.driverAreaElements?.driverAreaNoVerticalWall) return d("COACH_LOCOMOTIVE", this._language.current);
308
+ let t = d("NAVIGATE_TO_COACH", this._language.current, [this.coachItemDetails.id]);
309
+ if (e) {
310
+ let n = d(e === 1 ? "SERVICE_CLASS_FIRST" : "SERVICE_CLASS_SECOND", this._language.current), r = d("NAVIGATE_TO_COACH_SERVICE_CLASS_SUB", this._language.current, [n]);
311
+ t = t.concat(r);
312
+ }
313
+ let n = d("COACH_AVAILABLE_NUMBER_OF_PLACES", this._language.current, [this.coachItemDetails.freePlaces?.seats, this.coachItemDetails.freePlaces?.bicycles]);
314
+ return t = t.concat(". ").concat(n), t;
315
+ }
316
+ _getAriaDescriptionCoachServices() {
317
+ let e = null;
318
+ return this.coachItemDetails.propertyIds?.length && (e = d("COACH_AVAILABLE_SERVICES", this._language.current) + ": ", e += this.coachItemDetails.propertyIds.map((e) => d(e, this._language.current)).join() + "."), e;
319
+ }
320
+ _selectNavCoach(e) {
321
+ this.dispatchEvent(new CustomEvent("selectcoach", {
322
+ bubbles: !0,
323
+ composed: !0,
324
+ detail: e
325
+ }));
326
+ }
327
+ _getCoachServiceClassNumber() {
328
+ return this.coachItemDetails.travelClass?.includes("FIRST") ? 1 : this.coachItemDetails.travelClass?.includes("SECOND") ? 2 : null;
329
+ }
330
+ };
331
+ })();
332
+ //#endregion
333
+ export { m as t };
@@ -9,7 +9,7 @@ import "@sbb-esta/lyne-elements/screen-reader-only.js";
9
9
  import { getI18nSeatReservation as u } from "./seat-reservation/common/translations.js";
10
10
  import { SbbSeatReservationGraphicElement as d } from "./seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js";
11
11
  //#region src/elements-experimental/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.scss?lit&inline
12
- var f = o`.sbb-sr-navigation__signs{justify-content:center;gap:var(--sbb-spacing-fixed-2x);color:var(--lightningcss-light,var(--sbb-color-granite))var(--lightningcss-dark,var(--sbb-color-graphite));flex-direction:row;line-height:normal;display:flex;overflow:hidden}.sbb-sr-navigation__signs:has(:nth-child(n+3 of .auto-width)):has([name^=SILENCE],[name^=BUSINESS]){gap:calc(6 * var(--sbb-seat-reservation-one-px-rem,.0625rem))}.sbb-sr-navigation__signs:has(:nth-child(n+3 of .auto-width)):has([name^=SILENCE],[name^=BUSINESS]):has([name^=BICYCLE]){gap:calc(3 * var(--sbb-seat-reservation-one-px-rem,.0625rem))}:host([vertical]) .sbb-sr-navigation__signs{flex-direction:column;height:100%}`;
12
+ var f = o`.sbb-sr-navigation__signs{display:flex;flex-direction:row;justify-content:center;gap:var(--sbb-spacing-fixed-2x);overflow:hidden;line-height:normal;color:var(--sbb-color-granite);color:light-dark(var(--sbb-color-granite),var(--sbb-color-graphite))}.sbb-sr-navigation__signs:has(:nth-child(n+3 of.auto-width)):has([name^=SILENCE],[name^=BUSINESS]){gap:calc(6 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation__signs:has(:nth-child(n+3 of.auto-width)):has([name^=SILENCE],[name^=BUSINESS]):has([name^=BICYCLE]){gap:calc(3 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}:host([vertical]) .sbb-sr-navigation__signs{flex-direction:column;height:100%}`;
13
13
  //#endregion
14
14
  //#region src/elements-experimental/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.ts
15
15
  d.define();