@sbb-esta/lyne-elements-experimental 3.5.0 → 3.6.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 (18) hide show
  1. package/custom-elements.json +72 -0
  2. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts.map +1 -1
  3. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +8 -4
  4. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +13 -0
  5. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
  6. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +43 -23
  7. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
  8. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +6 -2
  9. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +11 -14
  10. package/package.json +2 -2
  11. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts.map +1 -1
  12. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +30 -26
  13. package/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +13 -0
  14. package/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
  15. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +59 -45
  16. package/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
  17. package/seat-reservation/seat-reservation/seat-reservation.component.js +5 -1
  18. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +1 -1
@@ -67,6 +67,7 @@ export declare class SeatReservationBaseElement extends LitElement {
67
67
  readonly Tab: "Tab";
68
68
  readonly Enter: "Enter";
69
69
  };
70
+ private _scrollTimeout;
70
71
  protected willUpdate(changedProperties: PropertyValues<this>): void;
71
72
  protected navigateByDirectionBtn(btnDirection: string): void;
72
73
  /**
@@ -75,6 +76,13 @@ export declare class SeatReservationBaseElement extends LitElement {
75
76
  */
76
77
  protected initPrepairSeatReservationData(): void;
77
78
  protected initNavigationSelectionByScrollEvent(): void;
79
+ /**
80
+ * Scroll event handler managed the end of scrolling inside the coach scroll area.
81
+ * Timeout event handling to check if the scrolling has been completed.
82
+ * It is required because the Safari browser does not handle scrollend event
83
+ * and we therefore imitate this event -> scrollend.
84
+ */
85
+ protected coachAreaScrollend(): void;
78
86
  /**
79
87
  * If no navigation exists (property setting -> hasNavigation) and a table coach gets the focus,
80
88
  * the first place in the coach must be automatically preselected to control the place navigation via keyboard
@@ -104,6 +112,11 @@ export declare class SeatReservationBaseElement extends LitElement {
104
112
  * @returns An Object with count of free seats and free bicycle places
105
113
  */
106
114
  protected getAvailableFreePlacesNumFromCoach(coachIndex: number): CoachNumberOfFreePlaces;
115
+ /**
116
+ * At the end of a scroll Event from the coach scrollable area,
117
+ * the reached coach is marked as selected
118
+ */
119
+ private _handleCoachAreaScrollEvent;
107
120
  /**
108
121
  * Performs an automatic main navigation scroll to the specified selectedNavCoachIndex.
109
122
  * Calculates the central scroll offset of the nav coach to be selected.
@@ -1 +1 @@
1
- {"version":3,"file":"seat-reservation-base-element.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/seat-reservation/seat-reservation/seat-reservation-base-element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seat-reservation-base-element.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/seat-reservation/seat-reservation/seat-reservation-base-element.ts"],"names":[],"mappings":"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"}
@@ -1,37 +1,37 @@
1
- var ue = (h) => {
1
+ var ve = (h) => {
2
2
  throw TypeError(h);
3
3
  };
4
- var ge = (h, d, u) => d.has(h) || ue("Cannot " + u);
5
- var g = (h, d, u) => (ge(h, d, "read from private field"), u ? u.call(h) : d.get(h)), v = (h, d, u) => d.has(h) ? ue("Cannot add the same private member more than once") : d instanceof WeakSet ? d.add(h) : d.set(h, u), o = (h, d, u, w) => (ge(h, d, "write to private field"), w ? w.call(h, u) : d.set(h, u), u);
4
+ var fe = (h, d, u) => d.has(h) || ve("Cannot " + u);
5
+ var g = (h, d, u) => (fe(h, d, "read from private field"), u ? u.call(h) : d.get(h)), v = (h, d, u) => d.has(h) ? ve("Cannot add the same private member more than once") : d instanceof WeakSet ? d.add(h) : d.set(h, u), o = (h, d, u, w) => (fe(h, d, "write to private field"), w ? w.call(h, u) : d.set(h, u), u);
6
6
  import { __runInitializers as r, __esDecorate as f } from "tslib";
7
- import { isArrowKeyOrPageKeysPressed as ve } from "@sbb-esta/lyne-elements/core/a11y.js";
7
+ import { isArrowKeyOrPageKeysPressed as Se } from "@sbb-esta/lyne-elements/core/a11y.js";
8
8
  import { forceType as C } from "@sbb-esta/lyne-elements/core/decorators.js";
9
- import { LitElement as fe, isServer as Se } from "lit";
10
- import { property as S, state as B } from "lit/decorators.js";
11
- import { mapPlaceInfosToPlaceSelection as Ce, mapPlaceAndCoachToSeatReservationPlaceSelection as xe, mapCoachInfosToCoachSelection as Ie } from "../common/mapper.js";
9
+ import { LitElement as Ce, isServer as xe } from "lit";
10
+ import { property as S, state as T, eventOptions as Ie } from "lit/decorators.js";
11
+ import { mapPlaceInfosToPlaceSelection as pe, mapPlaceAndCoachToSeatReservationPlaceSelection as me, mapCoachInfosToCoachSelection as be } from "../common/mapper.js";
12
12
  var x;
13
13
  (function(h) {
14
14
  h.right = "right", h.left = "left";
15
15
  })(x || (x = {}));
16
- let ke = (() => {
17
- var I, p, b, m, y, _, P, A, R, k, E, N, n;
18
- let h = fe, d, u = [], w = [], T, D = [], z = [], F, G = [], V = [], L, O = [], W = [], X, H = [], K = [], U, q = [], M = [], $, j = [], J = [], Q, Y = [], Z = [], ee, te = [], ie = [], se, ae = [], ce = [], oe, re = [], le = [], he, ne = [], de = [];
16
+ let we = (() => {
17
+ var I, p, m, b, _, y, P, A, R, k, E, N, n;
18
+ let h = Ce, d = [], u, w = [], B = [], D, z = [], F = [], G, V = [], O = [], L, W = [], X = [], H, K = [], U = [], q, M = [], $ = [], j, J = [], Q = [], Y, Z = [], ee = [], te, ie = [], se = [], ae, ce = [], oe = [], re, le = [], he = [], ne, de = [], ue = [], ge;
19
19
  return n = class extends h {
20
20
  constructor() {
21
21
  super(...arguments);
22
22
  v(this, I);
23
23
  v(this, p);
24
- v(this, b);
25
24
  v(this, m);
26
- v(this, y);
25
+ v(this, b);
27
26
  v(this, _);
27
+ v(this, y);
28
28
  v(this, P);
29
29
  v(this, A);
30
30
  v(this, R);
31
31
  v(this, k);
32
32
  v(this, E);
33
33
  v(this, N);
34
- o(this, I, r(this, u, null)), o(this, p, (r(this, w), r(this, D, !0))), o(this, b, (r(this, z), r(this, G, !1))), o(this, m, (r(this, V), r(this, O, 16))), o(this, y, (r(this, W), r(this, H, null))), o(this, _, (r(this, K), r(this, q, -1))), o(this, P, (r(this, M), r(this, j, -1))), o(this, A, (r(this, J), r(this, Y, !1))), o(this, R, (r(this, Z), r(this, te, -1))), o(this, k, (r(this, ie), r(this, ae, -1))), o(this, E, (r(this, ce), r(this, re, -1))), o(this, N, (r(this, le), r(this, ne, -1))), this.coachBorderPadding = (r(this, de), 6), this.gapBetweenCoaches = 4, this.coachBorderOffset = this.coachBorderPadding / this.baseGridSize, this.gapBetweenCoachDecks = 48, this.coachNavButtonDim = 0, this.currScrollDirection = x.right, this.maxCalcCoachsWidth = 0, this.scrollCoachsAreaWidth = 0, this.scrollNavigationAreaDim = 0, this.triggerCoachPositionsCollection = [], this.firstTabElement = null, this.lastTabElement = null, this.navigationScrollArea = null, this.coachScrollArea = null, this.currSelectedPlace = null, this.currSelectedPlaceElementId = null, this.currSelectedCoachIndex = -1, this.currSelectedDeckIndex = 0, this.preventCoachScrollByPlaceClick = !1, this.selectedSeatReservationPlaces = {
34
+ o(this, I, (r(this, d), r(this, w, null))), o(this, p, (r(this, B), r(this, z, !0))), o(this, m, (r(this, F), r(this, V, !1))), o(this, b, (r(this, O), r(this, W, 16))), o(this, _, (r(this, X), r(this, K, null))), o(this, y, (r(this, U), r(this, M, -1))), o(this, P, (r(this, $), r(this, J, -1))), o(this, A, (r(this, Q), r(this, Z, !1))), o(this, R, (r(this, ee), r(this, ie, -1))), o(this, k, (r(this, se), r(this, ce, -1))), o(this, E, (r(this, oe), r(this, le, -1))), o(this, N, (r(this, he), r(this, de, -1))), this.coachBorderPadding = (r(this, ue), 6), this.gapBetweenCoaches = 4, this.coachBorderOffset = this.coachBorderPadding / this.baseGridSize, this.gapBetweenCoachDecks = 48, this.coachNavButtonDim = 0, this.currScrollDirection = x.right, this.maxCalcCoachsWidth = 0, this.scrollCoachsAreaWidth = 0, this.scrollNavigationAreaDim = 0, this.triggerCoachPositionsCollection = [], this.firstTabElement = null, this.lastTabElement = null, this.navigationScrollArea = null, this.coachScrollArea = null, this.currSelectedPlace = null, this.currSelectedPlaceElementId = null, this.currSelectedCoachIndex = -1, this.currSelectedDeckIndex = 0, this.preventCoachScrollByPlaceClick = !1, this.selectedSeatReservationPlaces = {
35
35
  seats: [],
36
36
  bicycles: []
37
37
  }, this.seatReservationWithoutNavigationHasFocus = !1, this.isCoachGridFocusable = !1, this.isAutoScrolling = !1, this.isKeyboardNavigation = !1, this.hasMultipleDecks = !1, this.keyboardNavigationEvents = {
@@ -59,31 +59,31 @@ let ke = (() => {
59
59
  }
60
60
  /** The seat reservation area is aligned vertically */
61
61
  get alignVertical() {
62
- return g(this, b);
62
+ return g(this, m);
63
63
  }
64
64
  set alignVertical(e) {
65
- o(this, b, e);
65
+ o(this, m, e);
66
66
  }
67
67
  /** The seat reservation area's base grid size */
68
68
  get baseGridSize() {
69
- return g(this, m);
69
+ return g(this, b);
70
70
  }
71
71
  set baseGridSize(e) {
72
- o(this, m, e);
72
+ o(this, b, e);
73
73
  }
74
74
  /** The seat reservation area's width */
75
75
  get height() {
76
- return g(this, y);
76
+ return g(this, _);
77
77
  }
78
78
  set height(e) {
79
- o(this, y, e);
79
+ o(this, _, e);
80
80
  }
81
81
  /** Maximal number of possible clickable seats */
82
82
  get maxSeatReservations() {
83
- return g(this, _);
83
+ return g(this, y);
84
84
  }
85
85
  set maxSeatReservations(e) {
86
- o(this, _, e);
86
+ o(this, y, e);
87
87
  }
88
88
  /** Maximal number of possible clickable bicycle places */
89
89
  get maxBicycleReservations() {
@@ -168,12 +168,18 @@ let ke = (() => {
168
168
  end: t,
169
169
  width: c
170
170
  };
171
- }), this.maxCalcCoachsWidth = t, this.coachScrollArea.addEventListener("scrollend", () => {
172
- const i = this.isAutoScrolling ? this.currSelectedCoachIndex : this._getCoachIndexByScrollTriggerPosition();
173
- this.currSelectedCoachIndex === -1 && (this.currSelectedCoachIndex = i), this._isScrollableToSelectedCoach() ? this.currSelectedCoachIndex = i : this.currSelectedCoachIndex = i < this.currSelectedCoachIndex ? this.currSelectedCoachIndex : i, this.isAutoScrolling || this._scrollToSelectedNavigationButton(i), this.preventCoachScrollByPlaceClick = !1, this.updateCurrentSelectedCoach(), this.hasNavigation || (this.preselectPlaceInCoach(), this.isAutoScrolling = !1);
174
- });
171
+ }), this.maxCalcCoachsWidth = t;
175
172
  }
176
173
  }
174
+ /**
175
+ * Scroll event handler managed the end of scrolling inside the coach scroll area.
176
+ * Timeout event handling to check if the scrolling has been completed.
177
+ * It is required because the Safari browser does not handle scrollend event
178
+ * and we therefore imitate this event -> scrollend.
179
+ */
180
+ coachAreaScrollend() {
181
+ this._scrollTimeout && clearTimeout(this._scrollTimeout), this._scrollTimeout = setTimeout(() => this._handleCoachAreaScrollEvent(), 150);
182
+ }
177
183
  /**
178
184
  * If no navigation exists (property setting -> hasNavigation) and a table coach gets the focus,
179
185
  * the first place in the coach must be automatically preselected to control the place navigation via keyboard
@@ -199,7 +205,7 @@ let ke = (() => {
199
205
  return;
200
206
  }
201
207
  }
202
- if (this.currSelectedCoachIndex !== -1 && ve(e))
208
+ if (this.currSelectedCoachIndex !== -1 && Se(e))
203
209
  switch (e.preventDefault(), t) {
204
210
  case this.keyboardNavigationEvents.ArrowLeft:
205
211
  {
@@ -284,6 +290,14 @@ let ke = (() => {
284
290
  const t = { seats: 0, bicycles: 0 }, i = this.seatReservations[this.currSelectedDeckIndex].coachItems[e].places?.reduce((s, c) => (c.state !== "FREE" || (c.type === "SEAT" ? s.seats++ : s.bicycles++), s), t);
285
291
  return i || t;
286
292
  }
293
+ /**
294
+ * At the end of a scroll Event from the coach scrollable area,
295
+ * the reached coach is marked as selected
296
+ */
297
+ _handleCoachAreaScrollEvent() {
298
+ const e = this.isAutoScrolling ? this.currSelectedCoachIndex : this._getCoachIndexByScrollTriggerPosition();
299
+ this.currSelectedCoachIndex === -1 && (this.currSelectedCoachIndex = e), this._isScrollableToSelectedCoach() ? this.currSelectedCoachIndex = e : this.currSelectedCoachIndex = e < this.currSelectedCoachIndex ? this.currSelectedCoachIndex : e, this.isAutoScrolling || this._scrollToSelectedNavigationButton(e), this.preventCoachScrollByPlaceClick = !1, this.updateCurrentSelectedCoach(), this.hasNavigation || (this.preselectPlaceInCoach(), this.isAutoScrolling = !1);
300
+ }
287
301
  /**
288
302
  * Performs an automatic main navigation scroll to the specified selectedNavCoachIndex.
289
303
  * Calculates the central scroll offset of the nav coach to be selected.
@@ -457,7 +471,7 @@ let ke = (() => {
457
471
  _initSeatReservationPlaceSelection() {
458
472
  this.seatReservations?.forEach((e) => e.coachItems.map((t, i) => {
459
473
  t.places?.filter((s) => s.state === "SELECTED")?.forEach((s) => {
460
- const c = Ce(s, e.deckCoachIndex, i), l = this._getSeatReservationPlaceSelection(c);
474
+ const c = pe(s, e.deckCoachIndex, i), l = this._getSeatReservationPlaceSelection(c);
461
475
  l && (l.placeType === "SEAT" ? this.selectedSeatReservationPlaces.seats.push(l) : this.selectedSeatReservationPlaces.bicycles.push(l));
462
476
  });
463
477
  }));
@@ -477,13 +491,13 @@ let ke = (() => {
477
491
  }
478
492
  _getSeatReservationPlaceSelection(e) {
479
493
  const t = this.seatReservations[this.currSelectedDeckIndex].coachItems[e.coachIndex], i = t.places?.find((s) => s.number === e.number);
480
- return i ? xe(i, t, e.deckIndex, e.coachIndex) : null;
494
+ return i ? me(i, t, e.deckIndex, e.coachIndex) : null;
481
495
  }
482
496
  _getSeatReservationSelectedCoach(e) {
483
497
  if (!this.seatReservations[this.currSelectedDeckIndex].coachItems[e])
484
498
  return null;
485
499
  const t = this.seatReservations[this.currSelectedDeckIndex].coachItems[e], i = this.getAvailableFreePlacesNumFromCoach(e);
486
- return Ie(e, t, i);
500
+ return be(e, t, i);
487
501
  }
488
502
  _setCurrSelectedPlaceElementId(e) {
489
503
  e ? this.currSelectedPlaceElementId = "seat-reservation__place-button-" + this.currSelectedDeckIndex + "-" + this.currSelectedCoachIndex + "-" + e.number : this.currSelectedPlaceElementId = null;
@@ -493,7 +507,7 @@ let ke = (() => {
493
507
  * to be determined in order to correctly calculate css values with rem
494
508
  * */
495
509
  _determineBaseFontSize() {
496
- if (!Se) {
510
+ if (!xe) {
497
511
  const t = 1 / parseInt(window.getComputedStyle(document.body).fontSize, 10);
498
512
  this.style?.setProperty("--sbb-seat-reservation-one-px-rem", `${t + "rem"}`);
499
513
  }
@@ -523,38 +537,38 @@ let ke = (() => {
523
537
  _getPlaceHtmlElement() {
524
538
  return this.currSelectedPlaceElementId && this.shadowRoot?.getElementById(this.currSelectedPlaceElementId) || null;
525
539
  }
526
- }, I = new WeakMap(), p = new WeakMap(), b = new WeakMap(), m = new WeakMap(), y = new WeakMap(), _ = new WeakMap(), P = new WeakMap(), A = new WeakMap(), R = new WeakMap(), k = new WeakMap(), E = new WeakMap(), N = new WeakMap(), (() => {
540
+ }, I = new WeakMap(), p = new WeakMap(), m = new WeakMap(), b = new WeakMap(), _ = new WeakMap(), y = new WeakMap(), P = new WeakMap(), A = new WeakMap(), R = new WeakMap(), k = new WeakMap(), E = new WeakMap(), N = new WeakMap(), (() => {
527
541
  const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(h[Symbol.metadata] ?? null) : void 0;
528
- d = [S({ attribute: "seat-reservations", type: Array })], T = [C(), S({ attribute: "has-navigation", type: Boolean })], F = [C(), S({ attribute: "align-vertical", type: Boolean, reflect: !0, useDefault: !0 })], L = [C(), S({ attribute: "base-grid-size", type: Number })], X = [C(), S({ attribute: "height", type: Number })], U = [C(), S({ attribute: "max-seat-reservations", type: Number })], $ = [C(), S({ attribute: "max-bicycle-reservations", type: Number })], Q = [C(), S({ attribute: "prevent-place-click", type: Boolean })], ee = [C(), S({ attribute: "preselect-coach-index", type: Number })], se = [B()], oe = [B()], he = [B()], f(n, null, d, { kind: "accessor", name: "seatReservations", static: !1, private: !1, access: { has: (t) => "seatReservations" in t, get: (t) => t.seatReservations, set: (t, i) => {
542
+ u = [S({ attribute: "seat-reservations", type: Array })], D = [C(), S({ attribute: "has-navigation", type: Boolean })], G = [C(), S({ attribute: "align-vertical", type: Boolean, reflect: !0, useDefault: !0 })], L = [C(), S({ attribute: "base-grid-size", type: Number })], H = [C(), S({ attribute: "height", type: Number })], q = [C(), S({ attribute: "max-seat-reservations", type: Number })], j = [C(), S({ attribute: "max-bicycle-reservations", type: Number })], Y = [C(), S({ attribute: "prevent-place-click", type: Boolean })], te = [C(), S({ attribute: "preselect-coach-index", type: Number })], ae = [T()], re = [T()], ne = [T()], ge = [Ie({ passive: !0 })], f(n, null, u, { kind: "accessor", name: "seatReservations", static: !1, private: !1, access: { has: (t) => "seatReservations" in t, get: (t) => t.seatReservations, set: (t, i) => {
529
543
  t.seatReservations = i;
530
- } }, metadata: e }, u, w), f(n, null, T, { kind: "accessor", name: "hasNavigation", static: !1, private: !1, access: { has: (t) => "hasNavigation" in t, get: (t) => t.hasNavigation, set: (t, i) => {
544
+ } }, metadata: e }, w, B), f(n, null, D, { kind: "accessor", name: "hasNavigation", static: !1, private: !1, access: { has: (t) => "hasNavigation" in t, get: (t) => t.hasNavigation, set: (t, i) => {
531
545
  t.hasNavigation = i;
532
- } }, metadata: e }, D, z), f(n, null, F, { kind: "accessor", name: "alignVertical", static: !1, private: !1, access: { has: (t) => "alignVertical" in t, get: (t) => t.alignVertical, set: (t, i) => {
546
+ } }, metadata: e }, z, F), f(n, null, G, { kind: "accessor", name: "alignVertical", static: !1, private: !1, access: { has: (t) => "alignVertical" in t, get: (t) => t.alignVertical, set: (t, i) => {
533
547
  t.alignVertical = i;
534
- } }, metadata: e }, G, V), f(n, null, L, { kind: "accessor", name: "baseGridSize", static: !1, private: !1, access: { has: (t) => "baseGridSize" in t, get: (t) => t.baseGridSize, set: (t, i) => {
548
+ } }, metadata: e }, V, O), f(n, null, L, { kind: "accessor", name: "baseGridSize", static: !1, private: !1, access: { has: (t) => "baseGridSize" in t, get: (t) => t.baseGridSize, set: (t, i) => {
535
549
  t.baseGridSize = i;
536
- } }, metadata: e }, O, W), f(n, null, X, { kind: "accessor", name: "height", static: !1, private: !1, access: { has: (t) => "height" in t, get: (t) => t.height, set: (t, i) => {
550
+ } }, metadata: e }, W, X), f(n, null, H, { kind: "accessor", name: "height", static: !1, private: !1, access: { has: (t) => "height" in t, get: (t) => t.height, set: (t, i) => {
537
551
  t.height = i;
538
- } }, metadata: e }, H, K), f(n, null, U, { kind: "accessor", name: "maxSeatReservations", static: !1, private: !1, access: { has: (t) => "maxSeatReservations" in t, get: (t) => t.maxSeatReservations, set: (t, i) => {
552
+ } }, metadata: e }, K, U), f(n, null, q, { kind: "accessor", name: "maxSeatReservations", static: !1, private: !1, access: { has: (t) => "maxSeatReservations" in t, get: (t) => t.maxSeatReservations, set: (t, i) => {
539
553
  t.maxSeatReservations = i;
540
- } }, metadata: e }, q, M), f(n, null, $, { kind: "accessor", name: "maxBicycleReservations", static: !1, private: !1, access: { has: (t) => "maxBicycleReservations" in t, get: (t) => t.maxBicycleReservations, set: (t, i) => {
554
+ } }, metadata: e }, M, $), f(n, null, j, { kind: "accessor", name: "maxBicycleReservations", static: !1, private: !1, access: { has: (t) => "maxBicycleReservations" in t, get: (t) => t.maxBicycleReservations, set: (t, i) => {
541
555
  t.maxBicycleReservations = i;
542
- } }, metadata: e }, j, J), f(n, null, Q, { kind: "accessor", name: "preventPlaceClick", static: !1, private: !1, access: { has: (t) => "preventPlaceClick" in t, get: (t) => t.preventPlaceClick, set: (t, i) => {
556
+ } }, metadata: e }, J, Q), f(n, null, Y, { kind: "accessor", name: "preventPlaceClick", static: !1, private: !1, access: { has: (t) => "preventPlaceClick" in t, get: (t) => t.preventPlaceClick, set: (t, i) => {
543
557
  t.preventPlaceClick = i;
544
- } }, metadata: e }, Y, Z), f(n, null, ee, { kind: "accessor", name: "preselectCoachIndex", static: !1, private: !1, access: { has: (t) => "preselectCoachIndex" in t, get: (t) => t.preselectCoachIndex, set: (t, i) => {
558
+ } }, metadata: e }, Z, ee), f(n, null, te, { kind: "accessor", name: "preselectCoachIndex", static: !1, private: !1, access: { has: (t) => "preselectCoachIndex" in t, get: (t) => t.preselectCoachIndex, set: (t, i) => {
545
559
  t.preselectCoachIndex = i;
546
- } }, metadata: e }, te, ie), f(n, null, se, { kind: "accessor", name: "selectedCoachIndex", static: !1, private: !1, access: { has: (t) => "selectedCoachIndex" in t, get: (t) => t.selectedCoachIndex, set: (t, i) => {
560
+ } }, metadata: e }, ie, se), f(n, null, ae, { kind: "accessor", name: "selectedCoachIndex", static: !1, private: !1, access: { has: (t) => "selectedCoachIndex" in t, get: (t) => t.selectedCoachIndex, set: (t, i) => {
547
561
  t.selectedCoachIndex = i;
548
- } }, metadata: e }, ae, ce), f(n, null, oe, { kind: "accessor", name: "focusedCoachIndex", static: !1, private: !1, access: { has: (t) => "focusedCoachIndex" in t, get: (t) => t.focusedCoachIndex, set: (t, i) => {
562
+ } }, metadata: e }, ce, oe), f(n, null, re, { kind: "accessor", name: "focusedCoachIndex", static: !1, private: !1, access: { has: (t) => "focusedCoachIndex" in t, get: (t) => t.focusedCoachIndex, set: (t, i) => {
549
563
  t.focusedCoachIndex = i;
550
- } }, metadata: e }, re, le), f(n, null, he, { kind: "accessor", name: "hoveredScrollCoachIndex", static: !1, private: !1, access: { has: (t) => "hoveredScrollCoachIndex" in t, get: (t) => t.hoveredScrollCoachIndex, set: (t, i) => {
564
+ } }, metadata: e }, le, he), f(n, null, ne, { kind: "accessor", name: "hoveredScrollCoachIndex", static: !1, private: !1, access: { has: (t) => "hoveredScrollCoachIndex" in t, get: (t) => t.hoveredScrollCoachIndex, set: (t, i) => {
551
565
  t.hoveredScrollCoachIndex = i;
552
- } }, metadata: e }, ne, de), e && Object.defineProperty(n, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
566
+ } }, metadata: e }, de, ue), f(n, null, ge, { kind: "method", name: "coachAreaScrollend", static: !1, private: !1, access: { has: (t) => "coachAreaScrollend" in t, get: (t) => t.coachAreaScrollend }, metadata: e }, null, d), e && Object.defineProperty(n, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
553
567
  })(), n.events = {
554
568
  selectedplaces: "selectedplaces",
555
569
  selectedcoach: "selectedcoach"
556
570
  }, n;
557
571
  })();
558
572
  export {
559
- ke as SeatReservationBaseElement
573
+ we as SeatReservationBaseElement
560
574
  };
@@ -1 +1 @@
1
- {"version":3,"file":"seat-reservation.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/seat-reservation/seat-reservation/seat-reservation.component.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAe1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAGhF,OAAO,mCAAmC,CAAC;AAC3C,OAAO,+CAA+C,CAAC;AACvD,OAAO,6BAA6B,CAAC;AACrC,OAAO,gCAAgC,CAAC;AACxC,OAAO,sCAAsC,CAAC;AAC9C,OAAO,yCAAyC,CAAC;AACjD,OAAO,+BAA+B,CAAC;AACvC,OAAO,4CAA4C,CAAC;AAEpD;;;GAGG;AACH,qBAEM,yBAA0B,SAAQ,0BAA0B;IAChE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,oBAAoB,CAAC,CAAiB;IAE9C,OAAO,CAAC,gBAAgB,CAQtB;IAGF,OAAO,CAAC,2BAA2B,CAAkB;cAElC,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAgBzD,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAc3D,MAAM,IAAI,cAAc,GAAG,IAAI;IAKlD,OAAO,CAAC,uCAAuC;IAgD/C,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,8BAA8B;IAkCtC,OAAO,CAAC,iBAAiB;IA4CzB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,mBAAmB;IAqC3B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA4BhC,OAAO,CAAC,qBAAqB;IA8B7B,OAAO,CAAC,wBAAwB;IAoDhC,OAAO,CAAC,6BAA6B;IAgCrC;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;IA2EjC,OAAO,CAAC,4BAA4B;IAuCpC,OAAO,CAAC,2BAA2B;IAwCnC;;;;OAIG;IACH,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,gBAAgB;IASxB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAWhB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,yBAAyB;IAkCjC,OAAO,CAAC,8BAA8B;CAyBvC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,sBAAsB,EAAE,yBAAyB,CAAC;KACnD;CACF"}
1
+ {"version":3,"file":"seat-reservation.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/seat-reservation/seat-reservation/seat-reservation.component.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAe1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAGhF,OAAO,mCAAmC,CAAC;AAC3C,OAAO,+CAA+C,CAAC;AACvD,OAAO,6BAA6B,CAAC;AACrC,OAAO,gCAAgC,CAAC;AACxC,OAAO,sCAAsC,CAAC;AAC9C,OAAO,yCAAyC,CAAC;AACjD,OAAO,+BAA+B,CAAC;AACvC,OAAO,4CAA4C,CAAC;AAEpD;;;GAGG;AACH,qBAEM,yBAA0B,SAAQ,0BAA0B;IAChE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,oBAAoB,CAAC,CAAiB;IAE9C,OAAO,CAAC,gBAAgB,CAQtB;IAGF,OAAO,CAAC,2BAA2B,CAAkB;cAElC,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAgBzD,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAc3D,MAAM,IAAI,cAAc,GAAG,IAAI;IAKlD,OAAO,CAAC,uCAAuC;IAoD/C,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,8BAA8B;IAkCtC,OAAO,CAAC,iBAAiB;IA4CzB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,mBAAmB;IAqC3B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA4BhC,OAAO,CAAC,qBAAqB;IA8B7B,OAAO,CAAC,wBAAwB;IAoDhC,OAAO,CAAC,6BAA6B;IAgCrC;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;IA2EjC,OAAO,CAAC,4BAA4B;IAuCpC,OAAO,CAAC,2BAA2B;IAwCnC;;;;OAIG;IACH,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,gBAAgB;IASxB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAWhB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,yBAAyB;IAkCjC,OAAO,CAAC,8BAA8B;CAyBvC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,sBAAsB,EAAE,yBAAyB,CAAC;KACnD;CACF"}
@@ -57,7 +57,11 @@ let q = (() => {
57
57
  <div class="coaches-grid">
58
58
  <div class="sbb-sr__wrapper-coach-decks">
59
59
  <div class="sbb-sr__wrapper-deck-labels">${this._renderDeckLabels()}</div>
60
- <div id="sbb-sr__wrapper-scrollarea" class="sbb-sr__wrapper">
60
+ <div
61
+ id="sbb-sr__wrapper-scrollarea"
62
+ class="sbb-sr__wrapper"
63
+ @scroll=${() => this.coachAreaScrollend()}
64
+ >
61
65
  <div id="sbb-sr__parent-area" class="sbb-sr__parent" tabindex="-1">
62
66
  <ul
63
67
  class="${m({
@@ -12,7 +12,7 @@ import { customElement as ne, property as v } from "lit/decorators.js";
12
12
  import { styleMap as be } from "lit/directives/style-map.js";
13
13
  import { getI18nSeatReservation as E } from "../common.js";
14
14
  import "../seat-reservation-graphic.js";
15
- const pe = le`*,:before,:after{box-sizing:border-box}:host{--sbb-seat-reservation-place-control-text-scale-value: 1;--sbb-seat-reservation-place-control-width: 16;--sbb-seat-reservation-place-control-height: 16;--sbb-seat-reservation-place-control-top: 0;--sbb-seat-reservation-place-control-left: 0;--sbb-seat-reservation-place-control-rotation: 0;--sbb-seat-reservation-place-control-text-rotation: 0;--sbb-seat-reservation-place-control-text-size: calc( var(--sbb-seat-reservation-place-control-text-scale-value, 1) * .5 );--sbb-seat-reservation-place-control-default-text: var(--sbb-color-black);--sbb-seat-reservation-place-control-hover-text: var(--sbb-color-iron);--sbb-seat-reservation-place-control-focus-text: var(--sbb-color-anthracite);--sbb-seat-reservation-place-control-allocated-text: var(--sbb-color-smoke);--sbb-seat-reservation-place-control-free-background-default: var(--sbb-color-white);--sbb-seat-reservation-place-control-free-background-hover: var(--sbb-color-cloud);--sbb-seat-reservation-place-control-free-background-focus: var(--sbb-color-silver);--sbb-seat-reservation-place-control-free-backrest-background-default: var(--sbb-color-black);--sbb-seat-reservation-place-control-free-backrest-background-hover: var(--sbb-color-black);--sbb-seat-reservation-place-control-free-backrest-background-focus: var(--sbb-color-black);--sbb-seat-reservation-place-control-selected-background-default: var(--sbb-color-red);--sbb-seat-reservation-place-control-selected-background-hover: var(--sbb-color-red125);--sbb-seat-reservation-place-control-selected-background-focus: var(--sbb-color-red150);--sbb-seat-reservation-place-control-selected-backrest-background-default: var( --sbb-color-red150 );--sbb-seat-reservation-place-control-selected-backrest-background-hover: #7d000f;--sbb-seat-reservation-place-control-selected-backrest-background-focus: #5a000b;--sbb-seat-reservation-place-control-allocated-background-default: var(--sbb-color-milk);width:calc(var(--sbb-seat-reservation-place-control-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem));height:calc(var(--sbb-seat-reservation-place-control-height) * var(--sbb-seat-reservation-one-px-rem, .0625rem));position:absolute;inset-block-start:calc(var(--sbb-seat-reservation-place-control-top) * var(--sbb-seat-reservation-one-px-rem, .0625rem));inset-inline-start:calc(var(--sbb-seat-reservation-place-control-left) * var(--sbb-seat-reservation-one-px-rem, .0625rem));cursor:pointer}:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-free-background-hover)}:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-free-backrest-background-hover)}:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-free-background-hover);color:var(--sbb-seat-reservation-place-control-free-text)}:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-selected-background-hover)}:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-selected-backrest-background-hover)}:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-selected-background-hover);color:var(--sbb-seat-reservation-place-control-selected-text)}:host(:focus){border-radius:var(--sbb-border-width-1x);outline:calc(2 * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-color-black)}:host(:focus) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-free-background-focus)}:host(:focus) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-free-backrest-background-focus)}:host(:focus) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-free-background-focus);color:var(--sbb-seat-reservation-place-control-free-text)}:host(:focus) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-selected-background-focus)}:host(:focus) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-selected-backrest-background-focus)}:host(:focus) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-selected-background-focus);color:var(--sbb-seat-reservation-place-control-selected-text)}:host(:dir(rtl)) :not(.sbb-sr-place-ctrl--type-bicycle,.sbb-sr-place-ctrl--orientation-90,.sbb-sr-place-ctrl--orientation-270,.sbb-sr-place-ctrl--state-selected) ::part(svg-place){rotate:180deg}.sbb-sr-place-ctrl{width:max-content;position:relative;font-size:calc(var(--sbb-seat-reservation-place-control-text-size) * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-place-ctrl--state-free ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-free-background-default)}.sbb-sr-place-ctrl--state-free ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-free-backrest-background-default)}.sbb-sr-place-ctrl--state-free .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-free-background-default);color:var(--sbb-seat-reservation-place-control-free-text)}.sbb-sr-place-ctrl--state-selected ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-selected-background-default)}.sbb-sr-place-ctrl--state-selected ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-selected-backrest-background-default)}.sbb-sr-place-ctrl--state-selected .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-selected-background-default);color:var(--sbb-seat-reservation-place-control-selected-text)}.sbb-sr-place-ctrl--state-allocated,.sbb-sr-place-ctrl--state-restricted{cursor:not-allowed}.sbb-sr-place-ctrl--state-allocated ::part(svg-place),.sbb-sr-place-ctrl--state-restricted ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-allocated-background-default)}.sbb-sr-place-ctrl--state-allocated ::part(svg-backrest),.sbb-sr-place-ctrl--state-restricted ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-allocated-backrest-background-default)}.sbb-sr-place-ctrl--state-allocated .sbb-sr-place-ctrl__text,.sbb-sr-place-ctrl--state-restricted .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-allocated-background-default);color:var(--sbb-seat-reservation-place-control-allocated-text)}.sbb-sr-place-ctrl__text{overflow:hidden;display:none;position:absolute;inset-block-start:50%;translate:-50% -50%;rotate:calc(var(--sbb-seat-reservation-place-control-text-rotation) * 1deg);font-family:var(--sbb-typo-font-family);font-size:.75em;line-height:initial}.sbb-sr-place-ctrl--state-free .sbb-sr-place-ctrl__text,.sbb-sr-place-ctrl--state-allocated .sbb-sr-place-ctrl__text,.sbb-sr-place-ctrl--state-restricted.sbb-sr-place-ctrl--type-bicycle .sbb-sr-place-ctrl__text{display:block}.sbb-sr-place-ctrl--type-bicycle .sbb-sr-place-ctrl__text{inset-block-start:65%;inset-inline-start:50%;transform-origin:center 16%;font-size:.6875em}.sbb-sr-place-ctrl--orientation-0.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text{inset-inline-start:45%}.sbb-sr-place-ctrl--orientation-90.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text{inset-block-start:46%;inset-inline-start:50%}.sbb-sr-place-ctrl--orientation-180.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text{inset-inline-start:55%}.sbb-sr-place-ctrl--orientation-270.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text{inset-block-start:52%;inset-inline-start:52%}:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-0 .sbb-sr-place-ctrl__text{inset-inline-start:3%}:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-90 .sbb-sr-place-ctrl__text,:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-180 .sbb-sr-place-ctrl__text{inset-inline-start:10%}:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-270 .sbb-sr-place-ctrl__text{inset-inline-start:5%}:host(:dir(rtl)) .sbb-sr-place-ctrl--type-bicycle .sbb-sr-place-ctrl__text{inset-inline-start:-10%}`;
15
+ const pe = le`*,:before,:after{box-sizing:border-box}:host{--sbb-seat-reservation-place-control-text-scale-value: 1;--sbb-seat-reservation-place-control-width: 16;--sbb-seat-reservation-place-control-height: 16;--sbb-seat-reservation-place-control-top: 0;--sbb-seat-reservation-place-control-left: 0;--sbb-seat-reservation-place-control-rotation: 0;--sbb-seat-reservation-place-control-text-rotation: 0;--sbb-seat-reservation-place-control-text-size: calc( var(--sbb-seat-reservation-place-control-text-scale-value, 1) * .5 );--sbb-seat-reservation-place-control-default-text: var(--sbb-color-black);--sbb-seat-reservation-place-control-hover-text: var(--sbb-color-iron);--sbb-seat-reservation-place-control-focus-text: var(--sbb-color-anthracite);--sbb-seat-reservation-place-control-allocated-text: var(--sbb-color-smoke);--sbb-seat-reservation-place-control-free-background-default: var(--sbb-color-white);--sbb-seat-reservation-place-control-free-background-hover: var(--sbb-color-cloud);--sbb-seat-reservation-place-control-free-background-focus: var(--sbb-color-silver);--sbb-seat-reservation-place-control-free-backrest-background-default: var(--sbb-color-black);--sbb-seat-reservation-place-control-free-backrest-background-hover: var(--sbb-color-black);--sbb-seat-reservation-place-control-free-backrest-background-focus: var(--sbb-color-black);--sbb-seat-reservation-place-control-selected-background-default: var(--sbb-color-red);--sbb-seat-reservation-place-control-selected-background-hover: var(--sbb-color-red125);--sbb-seat-reservation-place-control-selected-background-focus: var(--sbb-color-red150);--sbb-seat-reservation-place-control-selected-backrest-background-default: var( --sbb-color-red150 );--sbb-seat-reservation-place-control-selected-backrest-background-hover: #7d000f;--sbb-seat-reservation-place-control-selected-backrest-background-focus: #5a000b;--sbb-seat-reservation-place-control-allocated-background-default: var(--sbb-color-milk);width:calc(var(--sbb-seat-reservation-place-control-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem));height:calc(var(--sbb-seat-reservation-place-control-height) * var(--sbb-seat-reservation-one-px-rem, .0625rem));position:absolute;inset-block-start:calc(var(--sbb-seat-reservation-place-control-top) * var(--sbb-seat-reservation-one-px-rem, .0625rem));inset-inline-start:calc(var(--sbb-seat-reservation-place-control-left) * var(--sbb-seat-reservation-one-px-rem, .0625rem));cursor:pointer}:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-free-background-hover)}:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-free-backrest-background-hover)}:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-free-background-hover);color:var(--sbb-seat-reservation-place-control-free-text)}:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-selected-background-hover)}:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-selected-backrest-background-hover)}:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-selected-background-hover);color:var(--sbb-seat-reservation-place-control-selected-text)}:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-free-background-focus)}:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-free-backrest-background-focus)}:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-free-background-focus);color:var(--sbb-seat-reservation-place-control-free-text)}:host(:active) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-selected-background-focus)}:host(:active) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-selected-backrest-background-focus)}:host(:active) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-selected-background-focus);color:var(--sbb-seat-reservation-place-control-selected-text)}:host(:dir(rtl)) :not(.sbb-sr-place-ctrl--type-bicycle,.sbb-sr-place-ctrl--orientation-90,.sbb-sr-place-ctrl--orientation-270,.sbb-sr-place-ctrl--state-selected) ::part(svg-place){rotate:180deg}.sbb-sr-place-ctrl{width:max-content;position:relative;font-size:calc(var(--sbb-seat-reservation-place-control-text-size) * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-place-ctrl--state-free ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-free-background-default)}.sbb-sr-place-ctrl--state-free ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-free-backrest-background-default)}.sbb-sr-place-ctrl--state-free .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-free-background-default);color:var(--sbb-seat-reservation-place-control-free-text)}.sbb-sr-place-ctrl--state-selected ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-selected-background-default)}.sbb-sr-place-ctrl--state-selected ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-selected-backrest-background-default)}.sbb-sr-place-ctrl--state-selected .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-selected-background-default);color:var(--sbb-seat-reservation-place-control-selected-text)}.sbb-sr-place-ctrl--state-allocated ::part(svg-place),.sbb-sr-place-ctrl--state-restricted ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-allocated-background-default)}.sbb-sr-place-ctrl--state-allocated ::part(svg-backrest),.sbb-sr-place-ctrl--state-restricted ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-allocated-backrest-background-default)}.sbb-sr-place-ctrl--state-allocated .sbb-sr-place-ctrl__text,.sbb-sr-place-ctrl--state-restricted .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-allocated-background-default);color:var(--sbb-seat-reservation-place-control-allocated-text)}.sbb-sr-place-ctrl--state-allocated,.sbb-sr-place-ctrl--state-restricted{cursor:not-allowed}.sbb-sr-place-ctrl__text{overflow:hidden;display:none;position:absolute;inset-block-start:50%;translate:-50% -50%;rotate:calc(var(--sbb-seat-reservation-place-control-text-rotation) * 1deg);font-family:var(--sbb-typo-font-family);font-size:.75em;line-height:initial}.sbb-sr-place-ctrl--state-free .sbb-sr-place-ctrl__text,.sbb-sr-place-ctrl--state-allocated .sbb-sr-place-ctrl__text,.sbb-sr-place-ctrl--state-restricted.sbb-sr-place-ctrl--type-bicycle .sbb-sr-place-ctrl__text{display:block}.sbb-sr-place-ctrl--type-bicycle .sbb-sr-place-ctrl__text{inset-block-start:65%;inset-inline-start:50%;transform-origin:center 16%;font-size:.6875em}.sbb-sr-place-ctrl--orientation-0.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text{inset-inline-start:45%}.sbb-sr-place-ctrl--orientation-90.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text{inset-block-start:46%;inset-inline-start:50%}.sbb-sr-place-ctrl--orientation-180.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text{inset-inline-start:55%}.sbb-sr-place-ctrl--orientation-270.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text{inset-block-start:52%;inset-inline-start:52%}:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-0 .sbb-sr-place-ctrl__text{inset-inline-start:3%}:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-90 .sbb-sr-place-ctrl__text,:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-180 .sbb-sr-place-ctrl__text{inset-inline-start:10%}:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-270 .sbb-sr-place-ctrl__text{inset-inline-start:5%}:host(:dir(rtl)) .sbb-sr-place-ctrl--type-bicycle .sbb-sr-place-ctrl__text{inset-inline-start:-10%}`;
16
16
  let Ie = (() => {
17
17
  var u, f, _, g, k, x, y, m, l;
18
18
  let r = [ne("sbb-seat-reservation-place-control")], o, i = [], n, C = ae, z, T = [], S = [], w, P = [], R = [], L, $ = [], D = [], A, N = [], O = [], F, V = [], j = [], B, U = [], K = [], M, Y = [], q = [], G, H = [], J = [];