@sbb-esta/lyne-elements-experimental-dev 4.7.0-dev.1773349433 → 4.7.0-dev.1773388997

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 (199) hide show
  1. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +65 -76
  2. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +72 -52
  3. package/autocomplete-grid/autocomplete-grid-button.js +3 -6
  4. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +2 -17
  5. package/autocomplete-grid/autocomplete-grid-cell.js +4 -7
  6. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +20 -21
  7. package/autocomplete-grid/autocomplete-grid-optgroup.js +3 -6
  8. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +2 -33
  9. package/autocomplete-grid/autocomplete-grid-option.js +4 -9
  10. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -22
  11. package/autocomplete-grid/autocomplete-grid-row.js +4 -7
  12. package/autocomplete-grid/autocomplete-grid.js +3 -6
  13. package/autocomplete-grid-cell.component-Dak9wlBr.js +24 -0
  14. package/autocomplete-grid-option.component-DNRFHOwc.js +37 -0
  15. package/autocomplete-grid-row.component-DBHZQ0GQ.js +27 -0
  16. package/autocomplete-grid.js +9 -21
  17. package/autocomplete-grid.pure.js +7 -15
  18. package/core/datetime/date-helper.js +2 -191
  19. package/core/datetime.js +2 -5
  20. package/core/timetable/access-leg-helper.js +76 -71
  21. package/core/timetable/timetable-helper.js +9 -11
  22. package/core/timetable/timetable-properties.js +0 -1
  23. package/core/timetable.js +3 -7
  24. package/date-helper-CGproP5d.js +185 -0
  25. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +114 -122
  26. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +92 -70
  27. package/development/autocomplete-grid/autocomplete-grid-button.js +6 -4
  28. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +2 -29
  29. package/development/autocomplete-grid/autocomplete-grid-cell.js +7 -5
  30. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +27 -22
  31. package/development/autocomplete-grid/autocomplete-grid-optgroup.js +6 -4
  32. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +2 -109
  33. package/development/autocomplete-grid/autocomplete-grid-option.js +7 -7
  34. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -91
  35. package/development/autocomplete-grid/autocomplete-grid-row.js +7 -5
  36. package/development/autocomplete-grid/autocomplete-grid.js +6 -4
  37. package/development/autocomplete-grid-cell.component-BBvM4o2H.js +42 -0
  38. package/development/autocomplete-grid-option.component-QzfM5eIE.js +123 -0
  39. package/development/autocomplete-grid-row.component-H8sCTCkT.js +104 -0
  40. package/development/autocomplete-grid.js +10 -14
  41. package/development/autocomplete-grid.pure.js +4 -13
  42. package/development/core/datetime/date-helper.js +2 -285
  43. package/development/core/datetime.js +2 -6
  44. package/development/core/timetable/access-leg-helper.js +104 -82
  45. package/development/core/timetable/timetable-helper.js +16 -17
  46. package/development/core/timetable/timetable-properties.js +0 -2
  47. package/development/core/timetable.js +3 -8
  48. package/development/date-helper-8_Y-PuHh.js +520 -0
  49. package/development/differenceInMinutes-DN_1Rk3O.js +110 -0
  50. package/development/format-Bbrn2bgo.js +1848 -0
  51. package/development/isValid-C-HzKv4v.js +178 -0
  52. package/development/journey-summary/journey-summary.component.js +2 -288
  53. package/development/journey-summary.component-uGhZvA4p.js +385 -0
  54. package/development/journey-summary.js +8 -5
  55. package/development/journey-summary.pure.js +2 -5
  56. package/development/pearl-chain/pearl-chain.component.js +2 -634
  57. package/development/pearl-chain-time/pearl-chain-time.component.js +2 -306
  58. package/development/pearl-chain-time.component-B8mayTWD.js +415 -0
  59. package/development/pearl-chain-time.js +8 -5
  60. package/development/pearl-chain-time.pure.js +2 -5
  61. package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +2 -28
  62. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +2 -393
  63. package/development/pearl-chain-vertical-item.component-BDzbcIaf.js +435 -0
  64. package/development/pearl-chain-vertical-item.js +8 -5
  65. package/development/pearl-chain-vertical-item.pure.js +2 -5
  66. package/development/pearl-chain-vertical.component-CswE7b3M.js +39 -0
  67. package/development/pearl-chain-vertical.js +8 -5
  68. package/development/pearl-chain-vertical.pure.js +2 -5
  69. package/development/pearl-chain.component-wpsTvoSe.js +704 -0
  70. package/development/pearl-chain.js +8 -5
  71. package/development/pearl-chain.pure.js +2 -5
  72. package/development/seat-reservation/common/mapper/icon-mapper.js +168 -71
  73. package/development/seat-reservation/common/mapper/mapper.js +153 -122
  74. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.js +570 -559
  75. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.js +992 -972
  76. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-giruno.js +20334 -20367
  77. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.js +1731 -1738
  78. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.js +9741 -9782
  79. package/development/seat-reservation/common/mapper.js +1 -8
  80. package/development/seat-reservation/common/svgs.js +2 -46
  81. package/development/seat-reservation/common/translations/i18n.js +1118 -900
  82. package/development/seat-reservation/common/translations.js +1 -4
  83. package/development/seat-reservation/common/types.js +0 -2
  84. package/development/seat-reservation/common.js +7 -11
  85. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +1305 -1230
  86. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +2 -859
  87. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +2 -106
  88. package/development/seat-reservation/seat-reservation-area.js +7 -5
  89. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +35 -34
  90. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +2 -162
  91. package/development/seat-reservation/seat-reservation-graphic.js +7 -5
  92. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +2 -713
  93. package/development/seat-reservation/seat-reservation-navigation-coach.js +7 -5
  94. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +2 -131
  95. package/development/seat-reservation/seat-reservation-navigation-services.js +7 -5
  96. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +2 -601
  97. package/development/seat-reservation/seat-reservation-place-control.js +7 -5
  98. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +2 -22
  99. package/development/seat-reservation/seat-reservation-scoped.js +7 -5
  100. package/development/seat-reservation/seat-reservation.js +7 -6
  101. package/development/seat-reservation-area.component-BK92ZtFo.js +138 -0
  102. package/development/seat-reservation-graphic.component-cUnsHh5x.js +193 -0
  103. package/development/seat-reservation-navigation-coach.component-D6Bglus8.js +828 -0
  104. package/development/seat-reservation-navigation-services.component-DYJ6Ddkg.js +179 -0
  105. package/development/seat-reservation-place-control.component-Bg9evKBW.js +726 -0
  106. package/development/seat-reservation-scoped.component-DRQ_I702.js +31 -0
  107. package/development/seat-reservation.component-Cq_aJKR0.js +818 -0
  108. package/development/seat-reservation.js +15 -28
  109. package/development/seat-reservation.pure.js +10 -28
  110. package/development/svgs-C3JMWR26.js +28 -0
  111. package/development/timetable-duration/timetable-duration.component.js +2 -108
  112. package/development/timetable-duration.component-DI0lET17.js +125 -0
  113. package/development/timetable-duration.js +8 -5
  114. package/development/timetable-duration.pure.js +2 -5
  115. package/development/timetable-row/timetable-row.component.js +2 -781
  116. package/development/timetable-row.component-CAED6Zwc.js +932 -0
  117. package/development/timetable-row.js +8 -13
  118. package/development/timetable-row.pure.js +2 -12
  119. package/development/toDate-Biiv3kyf.js +150 -0
  120. package/differenceInMinutes-Dr9gRqtu.js +27 -0
  121. package/format-CM5exOsN.js +1103 -0
  122. package/isValid-B9oVW3lA.js +36 -0
  123. package/journey-summary/journey-summary.component.js +2 -194
  124. package/journey-summary.component-Cq_4kaOp.js +264 -0
  125. package/journey-summary.js +5 -4
  126. package/journey-summary.pure.js +2 -4
  127. package/package.json +2 -2
  128. package/pearl-chain/pearl-chain.component.js +2 -165
  129. package/pearl-chain-time/pearl-chain-time.component.js +2 -157
  130. package/pearl-chain-time.component-DGDW5S1c.js +239 -0
  131. package/pearl-chain-time.js +5 -4
  132. package/pearl-chain-time.pure.js +2 -4
  133. package/pearl-chain-vertical/pearl-chain-vertical.component.js +2 -17
  134. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +2 -77
  135. package/pearl-chain-vertical-item.component-G22bWhLU.js +108 -0
  136. package/pearl-chain-vertical-item.js +5 -4
  137. package/pearl-chain-vertical-item.pure.js +2 -4
  138. package/pearl-chain-vertical.component-CXIDT5RD.js +21 -0
  139. package/pearl-chain-vertical.js +5 -4
  140. package/pearl-chain-vertical.pure.js +2 -4
  141. package/pearl-chain.component-DmjkVIva.js +194 -0
  142. package/pearl-chain.js +5 -4
  143. package/pearl-chain.pure.js +2 -4
  144. package/seat-reservation/common/mapper/icon-mapper.js +71 -71
  145. package/seat-reservation/common/mapper/mapper.js +95 -89
  146. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.js +568 -558
  147. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.js +989 -970
  148. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-giruno.js +20332 -20366
  149. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.js +1729 -1737
  150. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.js +9739 -9781
  151. package/seat-reservation/common/mapper.js +3 -9
  152. package/seat-reservation/common/svgs.js +2 -243
  153. package/seat-reservation/common/translations/i18n.js +1084 -891
  154. package/seat-reservation/common/translations.js +2 -4
  155. package/seat-reservation/common/types.js +0 -1
  156. package/seat-reservation/common.js +9 -15
  157. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +832 -810
  158. package/seat-reservation/seat-reservation/seat-reservation.component.js +2 -420
  159. package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +2 -51
  160. package/seat-reservation/seat-reservation-area.js +4 -7
  161. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +68 -71
  162. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +2 -75
  163. package/seat-reservation/seat-reservation-graphic.js +4 -7
  164. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +2 -234
  165. package/seat-reservation/seat-reservation-navigation-coach.js +4 -7
  166. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +2 -85
  167. package/seat-reservation/seat-reservation-navigation-services.js +4 -7
  168. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +2 -203
  169. package/seat-reservation/seat-reservation-place-control.js +4 -7
  170. package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +2 -13
  171. package/seat-reservation/seat-reservation-scoped.js +4 -7
  172. package/seat-reservation/seat-reservation.js +5 -9
  173. package/seat-reservation-area.component-n-9rGn_y.js +75 -0
  174. package/seat-reservation-graphic.component-YTXRmKt0.js +102 -0
  175. package/seat-reservation-navigation-coach.component-YJ0vaYmO.js +333 -0
  176. package/seat-reservation-navigation-services.component-C3xnLJg2.js +127 -0
  177. package/seat-reservation-place-control.component-DmBAfM6K.js +322 -0
  178. package/seat-reservation-scoped.component-DPkz6u17.js +17 -0
  179. package/seat-reservation.component-C_anMkgw.js +364 -0
  180. package/seat-reservation.js +17 -39
  181. package/seat-reservation.pure.js +15 -32
  182. package/svgs-D9arBcqr.js +26 -0
  183. package/timetable-duration/timetable-duration.component.js +2 -57
  184. package/timetable-duration.component-DCu8Phts.js +65 -0
  185. package/timetable-duration.js +5 -4
  186. package/timetable-duration.pure.js +2 -4
  187. package/timetable-row/timetable-row.component.js +2 -427
  188. package/timetable-row.component-BVRCB3xK.js +559 -0
  189. package/timetable-row.js +6 -13
  190. package/timetable-row.pure.js +2 -11
  191. package/toDate-p-Tpkb7t.js +16 -0
  192. package/development/differenceInMinutes-B0dawX-5.js +0 -26
  193. package/development/format-BMkeaqaF.js +0 -1433
  194. package/development/isValid-BYRch7pV.js +0 -53
  195. package/development/toDate-BWb6Z1JD.js +0 -24
  196. package/differenceInMinutes-COvvdYsJ.js +0 -23
  197. package/format-CmKROkbc.js +0 -1186
  198. package/isValid-m3_OsPaB.js +0 -45
  199. package/toDate-Bw2KTWeq.js +0 -15
@@ -1,13 +1,2 @@
1
- import { SbbElement as e } from "@sbb-esta/lyne-elements/core/base-elements.js";
2
- import { boxSizingStyles as r } from "@sbb-esta/lyne-elements/core/styles.js";
3
- import { css as o, html as i } from "lit";
4
- const a = o`:host{--sbb-seat-reservation-scoped-width: 0;--sbb-seat-reservation-scoped-height: 0;display:block;width:calc(var(--sbb-seat-reservation-scoped-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem));height:calc(var(--sbb-seat-reservation-scoped-height) * var(--sbb-seat-reservation-one-px-rem, .0625rem))}`, s = class s extends e {
5
- render() {
6
- return i`<slot></slot>`;
7
- }
8
- };
9
- s.elementName = "sbb-seat-reservation-scoped", s.styles = [r, a];
10
- let t = s;
11
- export {
12
- t as SbbSeatReservationScopedElement
13
- };
1
+ import { t as e } from "../../seat-reservation-scoped.component-DPkz6u17.js";
2
+ export { e as SbbSeatReservationScopedElement };
@@ -1,7 +1,4 @@
1
- import { SbbSeatReservationScopedElement as e } from "./seat-reservation-scoped/seat-reservation-scoped.component.js";
2
- e.define();
3
- console.warn(`The entrypoint '@sbb-esta/elements-experimental/seat-reservation/seat-reservation-scoped.js' has been deprecated.
4
- Use either '@sbb-esta/elements-experimental/seat-reservation.js' or '@sbb-esta/elements-experimental/seat-reservation.pure.js' instead.`);
5
- export {
6
- e as SbbSeatReservationScopedElement
7
- };
1
+ import { t as e } from "../seat-reservation-scoped.component-DPkz6u17.js";
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
+ //#endregion
4
+ export { e as SbbSeatReservationScopedElement };
@@ -1,9 +1,5 @@
1
- import { SbbSeatReservationElement as e } from "./seat-reservation/seat-reservation.component.js";
2
- import { SeatReservationBaseElement as a } from "./seat-reservation/seat-reservation-base-element.js";
3
- e.define();
4
- console.warn(`The entrypoint '@sbb-esta/elements-experimental/seat-reservation/seat-reservation.js' has been deprecated.
5
- Use either '@sbb-esta/elements-experimental/seat-reservation.js' or '@sbb-esta/elements-experimental/seat-reservation.pure.js' instead.`);
6
- export {
7
- e as SbbSeatReservationElement,
8
- a as SeatReservationBaseElement
9
- };
1
+ import { SeatReservationBaseElement as e } from "./seat-reservation/seat-reservation-base-element.js";
2
+ import { t } from "../seat-reservation.component-C_anMkgw.js";
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
+ //#endregion
5
+ export { t as SbbSeatReservationElement, e as SeatReservationBaseElement };
@@ -0,0 +1,75 @@
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 { forceType as r } from "@sbb-esta/lyne-elements/core/decorators.js";
4
+ import { boxSizingStyles as i } from "@sbb-esta/lyne-elements/core/styles.js";
5
+ import { css as a, html as o } from "lit";
6
+ import { property as s } from "lit/decorators.js";
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 = (() => {
9
+ let a = n, l, u = [], d = [], f, p = [], m = [];
10
+ return class extends a {
11
+ static {
12
+ let t = typeof Symbol == "function" && Symbol.metadata ? Object.create(a[Symbol.metadata] ?? null) : void 0;
13
+ l = [r(), s({ reflect: !0 })], f = [r(), s({ reflect: !0 })], e(this, null, l, {
14
+ kind: "accessor",
15
+ name: "mounting",
16
+ static: !1,
17
+ private: !1,
18
+ access: {
19
+ has: (e) => "mounting" in e,
20
+ get: (e) => e.mounting,
21
+ set: (e, t) => {
22
+ e.mounting = t;
23
+ }
24
+ },
25
+ metadata: t
26
+ }, u, d), e(this, null, f, {
27
+ kind: "accessor",
28
+ name: "background",
29
+ static: !1,
30
+ private: !1,
31
+ access: {
32
+ has: (e) => "background" in e,
33
+ get: (e) => e.background,
34
+ set: (e, t) => {
35
+ e.background = t;
36
+ }
37
+ },
38
+ metadata: t
39
+ }, p, m), t && Object.defineProperty(this, Symbol.metadata, {
40
+ enumerable: !0,
41
+ configurable: !0,
42
+ writable: !0,
43
+ value: t
44
+ });
45
+ }
46
+ static {
47
+ this.elementName = "sbb-seat-reservation-area";
48
+ }
49
+ static {
50
+ this.styles = [i, c];
51
+ }
52
+ #e = t(this, u, "free");
53
+ get mounting() {
54
+ return this.#e;
55
+ }
56
+ set mounting(e) {
57
+ this.#e = e;
58
+ }
59
+ #t = (t(this, d), t(this, p, "light"));
60
+ get background() {
61
+ return this.#t;
62
+ }
63
+ set background(e) {
64
+ this.#t = e;
65
+ }
66
+ render() {
67
+ return o`<slot></slot>`;
68
+ }
69
+ constructor() {
70
+ super(...arguments), t(this, m);
71
+ }
72
+ };
73
+ })();
74
+ //#endregion
75
+ export { l as t };
@@ -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-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-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));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);justify-content:center;align-items:center;display:flex;inset-block-start:calc(var(--sbb-seat-reservation-graphic-top) * var(--sbb-seat-reservation-one-px-rem,.0625rem));inset-inline-start:calc(var(--sbb-seat-reservation-graphic-left) * 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-seat-reservation-graphic--cursor-pointer){cursor:var(--sbb-cursor-pointer)}.sbb-sr-icon,.sbb-sr-graphic{width:inherit;height:inherit;transform-origin:50%;rotate:calc(var(--sbb-seat-reservation-graphic-rotation) * 1deg)}.sbb-sr-icon{color:var(--lightningcss-light,var(--sbb-color-granite))var(--lightningcss-dark,var(--sbb-color-graphite))}.sbb-sr-graphic svg{width:100%;height:100%}.sbb-sr-graphic svg .fix-rotation-inverse{transform-origin:50%;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:#0000}}`, 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{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(--lightningcss-light,var(--sbb-color-granite))var(--lightningcss-dark,var(--sbb-color-graphite));--sbb-seat-reservation-navigation-btn-background-color:var(--lightningcss-light,var(--sbb-color-white))var(--lightningcss-dark,var(--sbb-color-black));--sbb-seat-reservation-navigation-btn-border-width-selected:2;--sbb-seat-reservation-navigation-btn-background-color-selected:var(--lightningcss-light,var(--sbb-color-milk))var(--lightningcss-dark,var(--sbb-color-iron));--sbb-seat-reservation-navigation-btn-border-color-selected:var(--lightningcss-light,var(--sbb-color-black))var(--lightningcss-dark,var(--sbb-color-white));--sbb-seat-reservation-navigation-btn-outline-width-focused:1;--sbb-seat-reservation-navigation-btn-outline-color-focused:var(--lightningcss-light,var(--sbb-color-black))var(--lightningcss-dark,var(--sbb-color-white));--sbb-seat-reservation-navigation-btn-outline-offset-focused:4;--sbb-seat-reservation-navigation-btn-background-color-focused:var(--lightningcss-light,var(--sbb-color-white))var(--lightningcss-dark,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(--lightningcss-light,var(--sbb-color-black))var(--lightningcss-dark,var(--sbb-color-white));--sbb-seat-reservation-navigation-btn-border-width-hovered:2;--sbb-seat-reservation-navigation-btn-background-color-hovered:var(--lightningcss-light,var(--sbb-color-cloud))var(--lightningcss-dark,var(--sbb-color-midnight));--sbb-seat-reservation-navigation-btn-border-color-hovered:var(--lightningcss-light,var(--sbb-color-black))var(--lightningcss-dark,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(--lightningcss-light,var(--sbb-color-platinum))var(--lightningcss-dark,var(--sbb-color-iron));display:inline-block}.sbb-sr-navigation__item-coach{gap:calc(8 * var(--sbb-seat-reservation-one-px-rem,.0625rem));width:calc(80 * var(--sbb-seat-reservation-one-px-rem,.0625rem));flex-direction:column;list-style-type:none;display:flex}.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:"";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);width:100%;height:100%;position:absolute}.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:"";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);width:100%;height:100%;position:absolute}.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;-webkit-tap-highlight-color:transparent;color:inherit;height:calc(36 * var(--sbb-seat-reservation-one-px-rem,.0625rem));background:0 0;background-color:var(--sbb-seat-reservation-navigation-btn-background-color);cursor:var(--sbb-cursor-pointer);border:none;border-radius:0;outline:none;flex-direction:column;justify-content:center;margin:0;padding:0;display:flex;position:relative}.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:"";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);width:100%;height:100%;position:absolute}.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:"";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);width:100%;height:100%;position:absolute}.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:var(--lightningcss-light,var(--sbb-color-metal))var(--lightningcss-dark,var(--sbb-color-storm))}.sbb-sr-navigation__item-coach--focused .sbb-sr-navigation__ctrl-button .sbb-sr-navigation__item-coach-number{color:var(--lightningcss-light,var(--sbb-color-anthracite))var(--lightningcss-dark,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:var(--lightningcss-light,var(--sbb-color-black))var(--lightningcss-dark,var(--sbb-color-white))}.sbb-sr-navigation__item-coach--selected .sbb-sr-navigation__ctrl-button .sbb-sr-navigation__item-coach-number{color:var(--lightningcss-light,var(--sbb-color-black))var(--lightningcss-dark,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-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(--lightningcss-light,var(--sbb-color-iron))var(--lightningcss-dark,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:var(--lightningcss-light,var(--sbb-color-graphite))var(--lightningcss-dark,var(--sbb-color-granite))}.sbb-sr-navigation__ctrl-button:is([disabled],:disabled) .sbb-sr-navigation__item-coach-number{color:var(--lightningcss-light,var(--sbb-color-graphite))var(--lightningcss-dark,var(--sbb-color-granite))}.sbb-sr-navigation__additional-information{justify-content:space-between;align-items:center;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);color:var(--lightningcss-light,var(--sbb-color-granite))var(--lightningcss-dark,var(--sbb-color-granite));flex:1;font-weight:700;display:flex}@media (forced-colors:active){.sbb-sr-navigation__additional-information{color:var(--sbb-color-milk)}}.sbb-sr-navigation__item-coach-number{color:var(--lightningcss-light,var(--sbb-color-granite))var(--lightningcss-dark,var(--sbb-color-graphite))}@media (forced-colors:active){.sbb-sr-navigation__item-coach-number{color:var(--lightningcss-light,var(--sbb-color-granite))var(--lightningcss-dark,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));border:calc(1 * var(--sbb-seat-reservation-one-px-rem,.0625rem)) solid transparent;border-radius:var(--sbb-border-radius-1x);background-color:var(--sbb-color-lemon);margin:auto;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))}.sbb-sr-navigation__item-coach-travelclass{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:var(--lightningcss-light,var(--sbb-color-granite))var(--lightningcss-dark,var(--sbb-color-graphite));color:var(--lightningcss-light,var(--sbb-color-white))var(--lightningcss-dark,var(--sbb-color-black));justify-content:center;align-items:center;display:flex}@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{height:calc(80 * var(--sbb-seat-reservation-one-px-rem,.0625rem));min-width:calc(36 * var(--sbb-seat-reservation-one-px-rem,.0625rem));flex-direction:row-reverse}:host([vertical]) .sbb-sr-navigation__item-coach .sbb-sr-navigation__additional-information{padding-block:calc(16 * var(--sbb-seat-reservation-one-px-rem,.0625rem));flex-direction:column-reverse;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-block-start:calc(4 * var(--sbb-seat-reservation-one-px-rem,.0625rem));inset-inline-start:initial;inset-inline-end:calc(3 * var(--sbb-seat-reservation-one-px-rem,.0625rem))}: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:"";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);width:100%;height:100%;position:absolute}: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:"";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);width:100%;height:100%;position:absolute}: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 };