@sbb-esta/lyne-elements-experimental 4.6.0 → 4.7.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 (77) hide show
  1. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +6 -6
  2. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +12 -12
  3. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +11 -11
  4. package/core/styles/core.scss +13 -0
  5. package/core/styles/lean-theme.scss +3 -0
  6. package/core/styles/off-brand-theme.scss +3 -0
  7. package/core/styles/safety-theme.scss +3 -0
  8. package/core/styles/standard-theme.scss +3 -0
  9. package/core/styles/theme.scss +5 -0
  10. package/core.css +13 -0
  11. package/custom-elements.json +404 -209
  12. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +3 -2
  13. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +2 -15
  14. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -14
  15. package/development/pearl-chain/pearl-chain.component.js +9 -8
  16. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +9 -8
  17. package/development/seat-reservation/common/mapper/icon-mapper.d.ts.map +1 -1
  18. package/development/seat-reservation/common/mapper/icon-mapper.js +2 -1
  19. package/development/seat-reservation/common/mapper/mapper.js +6 -4
  20. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.d.ts +69 -0
  21. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.d.ts.map +1 -0
  22. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.js +559 -0
  23. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.d.ts +123 -0
  24. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.d.ts.map +1 -0
  25. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.js +972 -0
  26. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-giruno.d.ts +114 -0
  27. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-giruno.d.ts.map +1 -0
  28. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-giruno.js +20368 -0
  29. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.d.ts +85 -0
  30. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.d.ts.map +1 -0
  31. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.js +1739 -0
  32. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.d.ts +69 -0
  33. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.d.ts.map +1 -0
  34. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.js +9783 -0
  35. package/development/seat-reservation/common/svgs.js +7 -7
  36. package/development/seat-reservation/common/translations/i18n.d.ts.map +1 -1
  37. package/development/seat-reservation/common/translations/i18n.js +32 -1
  38. package/development/seat-reservation/common/types.d.ts +8 -3
  39. package/development/seat-reservation/common/types.d.ts.map +1 -1
  40. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +13 -3
  41. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
  42. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +68 -15
  43. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts +1 -0
  44. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
  45. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +64 -29
  46. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts +4 -15
  47. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -1
  48. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +75 -155
  49. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts +2 -0
  50. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +1 -1
  51. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +21 -5
  52. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +7 -1
  53. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -1
  54. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +154 -9
  55. package/off-brand-theme.css +13 -0
  56. package/package.json +18 -2
  57. package/pearl-chain/pearl-chain.component.js +1 -1
  58. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +15 -15
  59. package/safety-theme.css +13 -0
  60. package/seat-reservation/common/mapper/icon-mapper.js +1 -0
  61. package/seat-reservation/common/mapper/mapper.js +25 -23
  62. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.js +558 -0
  63. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.js +970 -0
  64. package/seat-reservation/common/mapper/{seat-reservation-sample-data.js → sample-data/seat-reservation-sample-data-giruno.js} +3 -11304
  65. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.js +1738 -0
  66. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.js +9782 -0
  67. package/seat-reservation/common/svgs.js +51 -51
  68. package/seat-reservation/common/translations/i18n.js +31 -0
  69. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +128 -88
  70. package/seat-reservation/seat-reservation/seat-reservation.component.js +137 -125
  71. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +141 -186
  72. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +54 -44
  73. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +106 -71
  74. package/standard-theme.css +13 -0
  75. package/development/seat-reservation/common/mapper/seat-reservation-sample-data.d.ts +0 -372
  76. package/development/seat-reservation/common/mapper/seat-reservation-sample-data.d.ts.map +0 -1
  77. package/development/seat-reservation/common/mapper/seat-reservation-sample-data.js +0 -31673
@@ -1,53 +1,61 @@
1
- var E = (e) => {
2
- throw TypeError(e);
1
+ var C = (s) => {
2
+ throw TypeError(s);
3
3
  };
4
- var x = (e, a, s) => a.has(e) || E("Cannot " + s);
5
- var b = (e, a, s) => (x(e, a, "read from private field"), s ? s.call(e) : a.get(e)), h = (e, a, s) => a.has(e) ? E("Cannot add the same private member more than once") : a instanceof WeakSet ? a.add(e) : a.set(e, s), p = (e, a, s, i) => (x(e, a, "write to private field"), i ? i.call(e, s) : a.set(e, s), s);
6
- import { __runInitializers as m, __esDecorate as u } from "tslib";
7
- import { SbbLanguageController as z } from "@sbb-esta/lyne-elements/core/controllers.js";
8
- import { forceType as D } from "@sbb-esta/lyne-elements/core/decorators.js";
9
- import { boxSizingStyles as A } from "@sbb-esta/lyne-elements/core/styles.js";
10
- import { css as B, LitElement as N, nothing as L, html as C } from "lit";
11
- import { customElement as $, property as w } from "lit/decorators.js";
12
- import { getI18nSeatReservation as d } from "../common.js";
4
+ var D = (s, r, a) => r.has(s) || C("Cannot " + a);
5
+ var b = (s, r, a) => (D(s, r, "read from private field"), a ? a.call(s) : r.get(s)), d = (s, r, a) => r.has(s) ? C("Cannot add the same private member more than once") : r instanceof WeakSet ? r.add(s) : r.set(s, a), l = (s, r, a, i) => (D(s, r, "write to private field"), i ? i.call(s, a) : r.set(s, a), a);
6
+ import { __runInitializers as c, __esDecorate as u } from "tslib";
7
+ import { SbbLanguageController as A } from "@sbb-esta/lyne-elements/core/controllers.js";
8
+ import { forceType as B } from "@sbb-esta/lyne-elements/core/decorators.js";
9
+ import { boxSizingStyles as N } from "@sbb-esta/lyne-elements/core/styles.js";
10
+ import { css as $, LitElement as j, nothing as _, html as k } from "lit";
11
+ import { customElement as O, property as g } from "lit/decorators.js";
12
+ import { getI18nSeatReservation as v } from "../common.js";
13
13
  import "@sbb-esta/lyne-elements/screen-reader-only.js";
14
14
  import "../seat-reservation-graphic.js";
15
- const j = B`.sbb-sr-navigation__signs{display:flex;flex-direction:row;justify-content:center;column-gap:var(--sbb-spacing-fixed-2x);overflow:hidden;line-height:normal;color:var(--sbb-color-granite);color:light-dark(var(--sbb-color-granite),var(--sbb-color-graphite))}.sbb-sr-navigation__signs:has(:nth-child(n+3 of.auto-width)):has([name^=SILENCE],[name^=BUSINESS]){column-gap:calc(6 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation__signs:has(:nth-child(n+3 of.auto-width)):has([name^=SILENCE],[name^=BUSINESS]):has([name^=BICYCLE]){column-gap:calc(3 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}:host([vertical]) .sbb-sr-navigation__signs{flex-direction:column;height:100%}`;
16
- let G = (() => {
17
- var l, c, n;
18
- let e = [$("sbb-seat-reservation-navigation-services")], a, s = [], i, g = N, v, _ = [], y = [], f, S = [], I = [];
19
- return n = class extends g {
15
+ const R = $`.sbb-sr-navigation__signs{display:flex;flex-direction:row;justify-content:center;column-gap:var(--sbb-spacing-fixed-2x);overflow:hidden;line-height:normal;color:var(--sbb-color-granite);color:light-dark(var(--sbb-color-granite),var(--sbb-color-graphite))}.sbb-sr-navigation__signs:has(:nth-child(n+3 of.auto-width)):has([name^=SILENCE],[name^=BUSINESS]){column-gap:calc(6 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation__signs:has(:nth-child(n+3 of.auto-width)):has([name^=SILENCE],[name^=BUSINESS]):has([name^=BICYCLE]){column-gap:calc(3 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}:host([vertical]) .sbb-sr-navigation__signs{flex-direction:column;height:100%}`;
16
+ let Q = (() => {
17
+ var h, p, m, o;
18
+ let s = [O("sbb-seat-reservation-navigation-services")], r, a = [], i, f = j, I, y = [], S = [], w, x = [], E = [], T, L = [], z = [];
19
+ return o = class extends f {
20
20
  constructor() {
21
21
  super(...arguments);
22
- h(this, l);
23
- h(this, c);
24
- p(this, l, m(this, _, [])), p(this, c, (m(this, y), m(this, S, !1))), this._language = (m(this, I), new z(this));
22
+ d(this, h);
23
+ d(this, p);
24
+ d(this, m);
25
+ l(this, h, c(this, y, [])), l(this, p, (c(this, S), c(this, x, !1))), l(this, m, (c(this, E), c(this, L, !1))), this._language = (c(this, z), new A(this));
25
26
  }
26
27
  /** Coach service property ids, which are used to display the services in the navigation */
27
28
  get propertyIds() {
28
- return b(this, l);
29
+ return b(this, h);
29
30
  }
30
- set propertyIds(r) {
31
- p(this, l, r);
31
+ set propertyIds(t) {
32
+ l(this, h, t);
32
33
  }
33
34
  /** If true, the service icons are displayed vertically */
34
35
  get vertical() {
35
- return b(this, c);
36
+ return b(this, p);
36
37
  }
37
- set vertical(r) {
38
- p(this, c, r);
38
+ set vertical(t) {
39
+ l(this, p, t);
40
+ }
41
+ /** Disable the mouse over title information */
42
+ get showTitleInfo() {
43
+ return b(this, m);
44
+ }
45
+ set showTitleInfo(t) {
46
+ l(this, m, t);
39
47
  }
40
48
  render() {
41
- const r = this.propertyIds?.length ? this._getServiceLabelDescription() : null;
42
- return C` <div class="sbb-sr-navigation__signs">
43
- <sbb-screen-reader-only ${r || L}
44
- >${r}</sbb-screen-reader-only
49
+ const t = this.propertyIds?.length ? this._getServiceLabelDescription() : null;
50
+ return k` <div class="sbb-sr-navigation__signs">
51
+ <sbb-screen-reader-only ${t || _}
52
+ >${t}</sbb-screen-reader-only
45
53
  >
46
- ${this.propertyIds?.map((t) => C`
54
+ ${this.propertyIds?.map((e) => k`
47
55
  <sbb-seat-reservation-graphic
48
56
  class="auto-width"
49
- name=${t ?? L}
50
- title=${d(t, this._language.current)}
57
+ name=${e ?? _}
58
+ title=${this.showTitleInfo ? v(e, this._language.current) : _}
51
59
  aria-hidden="true"
52
60
  ></sbb-seat-reservation-graphic>
53
61
  `)}
@@ -55,19 +63,21 @@ let G = (() => {
55
63
  }
56
64
  //Generate the translated service label from the available properties
57
65
  _getServiceLabelDescription() {
58
- let r = null;
59
- const t = this.propertyIds.map((o) => d(o, this._language.current)).filter((o) => !!o).join(", ");
60
- return t && (r = d("COACH_AVAILABLE_SERVICES", this._language.current).concat(":").concat(t)), r;
66
+ let t = null;
67
+ const e = this.propertyIds.map((n) => v(n, this._language.current)).filter((n) => !!n).join(", ");
68
+ return e && (t = v("COACH_AVAILABLE_SERVICES", this._language.current).concat(":").concat(e)), t;
61
69
  }
62
- }, l = new WeakMap(), c = new WeakMap(), i = n, (() => {
63
- const r = typeof Symbol == "function" && Symbol.metadata ? Object.create(g[Symbol.metadata] ?? null) : void 0;
64
- v = [w({ attribute: "property-ids", type: Array })], f = [D(), w({ type: Boolean, reflect: !0, useDefault: !0 })], u(n, null, v, { kind: "accessor", name: "propertyIds", static: !1, private: !1, access: { has: (t) => "propertyIds" in t, get: (t) => t.propertyIds, set: (t, o) => {
65
- t.propertyIds = o;
66
- } }, metadata: r }, _, y), u(n, null, f, { kind: "accessor", name: "vertical", static: !1, private: !1, access: { has: (t) => "vertical" in t, get: (t) => t.vertical, set: (t, o) => {
67
- t.vertical = o;
68
- } }, metadata: r }, S, I), u(null, a = { value: i }, e, { kind: "class", name: i.name, metadata: r }, null, s), i = a.value, r && Object.defineProperty(i, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: r });
69
- })(), n.styles = [A, j], m(i, s), i;
70
+ }, h = new WeakMap(), p = new WeakMap(), m = new WeakMap(), i = o, (() => {
71
+ const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(f[Symbol.metadata] ?? null) : void 0;
72
+ I = [g({ attribute: "property-ids", type: Array })], w = [B(), g({ type: Boolean, reflect: !0, useDefault: !0 })], T = [B(), g({ type: Boolean })], u(o, null, I, { kind: "accessor", name: "propertyIds", static: !1, private: !1, access: { has: (e) => "propertyIds" in e, get: (e) => e.propertyIds, set: (e, n) => {
73
+ e.propertyIds = n;
74
+ } }, metadata: t }, y, S), u(o, null, w, { kind: "accessor", name: "vertical", static: !1, private: !1, access: { has: (e) => "vertical" in e, get: (e) => e.vertical, set: (e, n) => {
75
+ e.vertical = n;
76
+ } }, metadata: t }, x, E), u(o, null, T, { kind: "accessor", name: "showTitleInfo", static: !1, private: !1, access: { has: (e) => "showTitleInfo" in e, get: (e) => e.showTitleInfo, set: (e, n) => {
77
+ e.showTitleInfo = n;
78
+ } }, metadata: t }, L, z), u(null, r = { value: i }, s, { kind: "class", name: i.name, metadata: t }, null, a), i = r.value, t && Object.defineProperty(i, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
79
+ })(), o.styles = [N, R], c(i, a), i;
70
80
  })();
71
81
  export {
72
- G as SbbSeatReservationNavigationServicesElement
82
+ Q as SbbSeatReservationNavigationServicesElement
73
83
  };
@@ -1,124 +1,155 @@
1
- var W = (s) => {
2
- throw TypeError(s);
1
+ var oe = (o) => {
2
+ throw TypeError(o);
3
3
  };
4
- var X = (s, o, b) => o.has(s) || W("Cannot " + b);
5
- var n = (s, o, b) => (X(s, o, "read from private field"), b ? b.call(s) : o.get(s)), p = (s, o, b) => o.has(s) ? W("Cannot add the same private member more than once") : o instanceof WeakSet ? o.add(s) : o.set(s, b), a = (s, o, b, i) => (X(s, o, "write to private field"), i ? i.call(s, b) : o.set(s, b), b);
6
- import { __esDecorate as d, __runInitializers as c } from "tslib";
7
- import { SbbButtonBaseElement as ae } from "@sbb-esta/lyne-elements/core/base-elements.js";
8
- import { SbbLanguageController as ce } from "@sbb-esta/lyne-elements/core/controllers.js";
4
+ var le = (o, l, i) => l.has(o) || oe("Cannot " + i);
5
+ var n = (o, l, i) => (le(o, l, "read from private field"), i ? i.call(o) : l.get(o)), b = (o, l, i) => l.has(o) ? oe("Cannot add the same private member more than once") : l instanceof WeakSet ? l.add(o) : l.set(o, i), s = (o, l, i, v) => (le(o, l, "write to private field"), v ? v.call(o, i) : l.set(o, i), i);
6
+ import { __esDecorate as p, __runInitializers as a } from "tslib";
7
+ import { SbbButtonBaseElement as he } from "@sbb-esta/lyne-elements/core/base-elements.js";
8
+ import { SbbLanguageController as fe } from "@sbb-esta/lyne-elements/core/controllers.js";
9
9
  import { forceType as h } from "@sbb-esta/lyne-elements/core/decorators.js";
10
- import { boxSizingStyles as le } from "@sbb-esta/lyne-elements/core/styles.js";
11
- import { css as oe, nothing as be, html as ie } from "lit";
12
- import { customElement as ne, property as v } from "lit/decorators.js";
13
- import { styleMap as pe } from "lit/directives/style-map.js";
14
- import { getI18nSeatReservation as E } from "../common.js";
10
+ import { boxSizingStyles as ge } from "@sbb-esta/lyne-elements/core/styles.js";
11
+ import { css as ue, nothing as ie, html as ne } from "lit";
12
+ import { customElement as ke, property as d } from "lit/decorators.js";
13
+ import { styleMap as _e } from "lit/directives/style-map.js";
14
+ import { getI18nSeatReservation as D } from "../common.js";
15
15
  import "../seat-reservation-graphic.js";
16
- const de = oe`: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-default-text: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-place-control-hover-text: var(--sbb-color-iron);--sbb-seat-reservation-place-control-hover-text: light-dark( var(--sbb-color-iron), var(--sbb-color-silver) );--sbb-seat-reservation-place-control-focus-text: var(--sbb-color-anthracite);--sbb-seat-reservation-place-control-focus-text: light-dark( var(--sbb-color-anthracite), var(--sbb-color-graphite) );--sbb-seat-reservation-place-control-allocated-text: var(--sbb-color-smoke);--sbb-seat-reservation-place-control-allocated-text: light-dark( var(--sbb-color-smoke), var(--sbb-color-metal) );--sbb-seat-reservation-place-control-free-background-default: var(--sbb-background-color-2);--sbb-seat-reservation-place-control-free-background-hover: var(--sbb-color-cloud);--sbb-seat-reservation-place-control-free-background-hover: light-dark( var(--sbb-color-cloud), var(--sbb-color-midnight) );--sbb-seat-reservation-place-control-free-background-focus: var(--sbb-color-silver);--sbb-seat-reservation-place-control-free-background-focus: light-dark( var(--sbb-color-silver), var(--sbb-color-black) );--sbb-seat-reservation-place-control-free-backrest-background-default: var(--sbb-color-black);--sbb-seat-reservation-place-control-free-backrest-background-default: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-place-control-free-backrest-background-hover: var(--sbb-color-black);--sbb-seat-reservation-place-control-free-backrest-background-hover: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-place-control-free-backrest-background-focus: var(--sbb-color-black);--sbb-seat-reservation-place-control-free-backrest-background-focus: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-place-control-selected-background-default: var(--sbb-color-primary);--sbb-seat-reservation-place-control-selected-background-hover: var(--sbb-color-primary125);--sbb-seat-reservation-place-control-selected-background-focus: var(--sbb-color-primary150);--sbb-seat-reservation-place-control-selected-backrest-background-default: var( --sbb-color-primary150 );--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);--sbb-seat-reservation-place-control-allocated-background-default: light-dark( var(--sbb-color-milk), var(--sbb-color-midnight) );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));font-weight:300;cursor:var(--sbb-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%}`;
17
- let Ce = (() => {
18
- var u, k, f, g, _, x, y, m, l;
19
- let s = [ne("sbb-seat-reservation-place-control")], o, b = [], i, C = ae, z, S = [], T = [], w, P = [], R = [], L, $ = [], D = [], A, O = [], N = [], F, V = [], j = [], B, U = [], K = [], M, Y = [], q = [], G, H = [], J = [];
20
- return l = class extends C {
16
+ const xe = ue`: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-default-text: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-place-control-hover-text: var(--sbb-color-iron);--sbb-seat-reservation-place-control-hover-text: light-dark( var(--sbb-color-iron), var(--sbb-color-silver) );--sbb-seat-reservation-place-control-focus-text: var(--sbb-color-anthracite);--sbb-seat-reservation-place-control-focus-text: light-dark( var(--sbb-color-anthracite), var(--sbb-color-graphite) );--sbb-seat-reservation-place-control-allocated-text: var(--sbb-color-smoke);--sbb-seat-reservation-place-control-allocated-text: light-dark( var(--sbb-color-smoke), var(--sbb-color-metal) );--sbb-seat-reservation-place-control-free-background-default: var(--sbb-background-color-2);--sbb-seat-reservation-place-control-free-background-hover: var(--sbb-color-cloud);--sbb-seat-reservation-place-control-free-background-hover: light-dark( var(--sbb-color-cloud), var(--sbb-color-midnight) );--sbb-seat-reservation-place-control-free-background-focus: var(--sbb-color-silver);--sbb-seat-reservation-place-control-free-background-focus: light-dark( var(--sbb-color-silver), var(--sbb-color-black) );--sbb-seat-reservation-place-control-free-backrest-background-default: var(--sbb-color-black);--sbb-seat-reservation-place-control-free-backrest-background-default: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-place-control-free-backrest-background-hover: var(--sbb-color-black);--sbb-seat-reservation-place-control-free-backrest-background-hover: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-place-control-free-backrest-background-focus: var(--sbb-color-black);--sbb-seat-reservation-place-control-free-backrest-background-focus: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-place-control-selected-background-default: var(--sbb-color-primary);--sbb-seat-reservation-place-control-selected-background-hover: var(--sbb-color-primary125);--sbb-seat-reservation-place-control-selected-background-focus: var(--sbb-color-primary150);--sbb-seat-reservation-place-control-selected-backrest-background-default: var( --sbb-color-primary150 );--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);--sbb-seat-reservation-place-control-allocated-background-default: light-dark( var(--sbb-color-milk), var(--sbb-color-midnight) );--sbb-seat-reservation-place-control-free-backrest-high-contrast: CanvasText;--sbb-seat-reservation-place-control-free-background-high-contrast: Canvas;--sbb-seat-reservation-place-control-free-text-high-contrast: ButtonText;--sbb-seat-reservation-place-control-free-icon-high-contrast: CanvasText;--sbb-seat-reservation-place-control-allocated-backrest-high-contrast: GrayText;--sbb-seat-reservation-place-control-allocated-background-high-contrast: Canvas;--sbb-seat-reservation-place-control-allocated-text-high-contrast: GrayText;--sbb-seat-reservation-place-control-allocated-icon-high-contrast: GrayText;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));font-weight:300;cursor:var(--sbb-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)}@media(forced-colors:active){: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-high-contrast)}: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-high-contrast)}:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-icon){fill:var(--sbb-seat-reservation-place-control-free-icon-high-contrast)}:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-seatline){stroke:var(--sbb-seat-reservation-place-control-free-backrest-high-contrast)}:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text{forced-color-adjust:none;background-color:var(--sbb-seat-reservation-place-control-free-background-high-contrast);color:var(--sbb-seat-reservation-place-control-free-text-high-contrast)}}: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)}@media(forced-colors:active){: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-high-contrast)}: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-high-contrast)}:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-icon){fill:var(--sbb-seat-reservation-place-control-free-icon-high-contrast)}:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-seatline){stroke:var(--sbb-seat-reservation-place-control-free-backrest-high-contrast)}:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text{forced-color-adjust:none;background-color:var(--sbb-seat-reservation-place-control-free-background-high-contrast);color:var(--sbb-seat-reservation-place-control-free-text-high-contrast)}}: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)}@media(forced-colors:active){.sbb-sr-place-ctrl--state-free ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-free-background-high-contrast)}.sbb-sr-place-ctrl--state-free ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-free-backrest-high-contrast)}.sbb-sr-place-ctrl--state-free ::part(svg-icon){fill:var(--sbb-seat-reservation-place-control-free-icon-high-contrast)}.sbb-sr-place-ctrl--state-free ::part(svg-seatline){stroke:var(--sbb-seat-reservation-place-control-free-backrest-high-contrast)}.sbb-sr-place-ctrl--state-free .sbb-sr-place-ctrl__text{forced-color-adjust:none;background-color:var(--sbb-seat-reservation-place-control-free-background-high-contrast);color:var(--sbb-seat-reservation-place-control-free-text-high-contrast)}}.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)}@media(forced-colors:active){.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-high-contrast)}.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-high-contrast)}.sbb-sr-place-ctrl--state-allocated ::part(svg-icon),.sbb-sr-place-ctrl--state-restricted ::part(svg-icon){fill:var(--sbb-seat-reservation-place-control-allocated-icon-high-contrast)}.sbb-sr-place-ctrl--state-allocated ::part(svg-seatline),.sbb-sr-place-ctrl--state-restricted ::part(svg-seatline){stroke:var(--sbb-seat-reservation-place-control-allocated-backrest-high-contrast)}.sbb-sr-place-ctrl--state-allocated .sbb-sr-place-ctrl__text,.sbb-sr-place-ctrl--state-restricted .sbb-sr-place-ctrl__text{forced-color-adjust:none;background-color:var(--sbb-seat-reservation-place-control-allocated-background-high-contrast);color:var(--sbb-seat-reservation-place-control-allocated-text-high-contrast)}}.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%}`;
17
+ let Ne = (() => {
18
+ var f, g, u, k, _, x, y, m, I, T, c;
19
+ let o = [ke("sbb-seat-reservation-place-control")], l, i = [], v, S = he, z, R = [], P = [], N, L = [], O = [], $, A = [], j = [], V, B = [], F = [], G, U = [], Y = [], H, K = [], M = [], q, J = [], Q = [], W, X = [], Z = [], ee, te = [], re = [], se, ae = [], ce = [];
20
+ return c = class extends S {
21
21
  constructor() {
22
22
  super();
23
- p(this, u);
24
- p(this, k);
25
- p(this, f);
26
- p(this, g);
27
- p(this, _);
28
- p(this, x);
29
- p(this, y);
30
- p(this, m);
31
- a(this, u, c(this, S, "SEAT")), a(this, k, (c(this, T), c(this, P, "FREE"))), a(this, f, (c(this, R), c(this, $, []))), a(this, g, (c(this, D), c(this, O, ""))), a(this, _, (c(this, N), c(this, V, null))), a(this, x, (c(this, j), c(this, U, null))), a(this, y, (c(this, K), c(this, Y, !1))), a(this, m, (c(this, q), c(this, H, "unfocus"))), this._language = (c(this, J), new ce(this)), this.addEventListener("click", () => this._selectPlace());
23
+ b(this, f);
24
+ b(this, g);
25
+ b(this, u);
26
+ b(this, k);
27
+ b(this, _);
28
+ b(this, x);
29
+ b(this, y);
30
+ b(this, m);
31
+ b(this, I);
32
+ b(this, T);
33
+ s(this, f, a(this, R, "SEAT")), s(this, g, (a(this, P), a(this, L, "FREE"))), s(this, u, (a(this, O), a(this, A, "NONE"))), s(this, k, (a(this, j), a(this, B, []))), s(this, _, (a(this, F), a(this, U, ""))), s(this, x, (a(this, Y), a(this, K, null))), s(this, y, (a(this, M), a(this, J, null))), s(this, m, (a(this, Q), a(this, X, !1))), s(this, I, (a(this, Z), a(this, te, "unfocus"))), s(this, T, (a(this, re), a(this, ae, !1))), this._optionalScreenreaderInfo = (a(this, ce), ""), this._language = new fe(this), this.addEventListener("click", () => this._selectPlace());
32
34
  }
33
35
  /** placeType of the place, e.g. 'SEAT', 'BICYCLE' */
34
36
  get placeType() {
35
- return n(this, u);
37
+ return n(this, f);
36
38
  }
37
39
  set placeType(t) {
38
- a(this, u, t);
40
+ s(this, f, t);
39
41
  }
40
42
  /** state of the place, e.g. 'FREE', 'SELECTED', 'BLOCKED' */
41
43
  get state() {
42
- return n(this, k);
44
+ return n(this, g);
43
45
  }
44
46
  set state(t) {
45
- a(this, k, t);
47
+ s(this, g, t);
48
+ }
49
+ /** direction of a whole train, used to compute an orientation of a place */
50
+ get travelDirection() {
51
+ return n(this, u);
52
+ }
53
+ set travelDirection(t) {
54
+ s(this, u, t);
46
55
  }
47
56
  /** property ids of the place, to display more info about the place */
48
57
  get propertyIds() {
49
- return n(this, f);
58
+ return n(this, k);
50
59
  }
51
60
  set propertyIds(t) {
52
- a(this, f, t);
61
+ s(this, k, t);
53
62
  }
54
63
  /** label of the place, e.g. '1A', '2B' */
55
64
  get text() {
56
- return n(this, g);
65
+ return n(this, _);
57
66
  }
58
67
  set text(t) {
59
- a(this, g, t);
68
+ s(this, _, t);
60
69
  }
61
70
  /** Deck Index Prop to identifier the right place to deck */
62
71
  get deckIndex() {
63
- return n(this, _);
72
+ return n(this, x);
64
73
  }
65
74
  set deckIndex(t) {
66
- a(this, _, t);
75
+ s(this, x, t);
67
76
  }
68
77
  /** Coach Index Prop to identifier the right place to coach */
69
78
  get coachIndex() {
70
- return n(this, x);
79
+ return n(this, y);
71
80
  }
72
81
  set coachIndex(t) {
73
- a(this, x, t);
82
+ s(this, y, t);
74
83
  }
75
84
  /** Prevent click prop prevent any place action */
76
85
  get preventClick() {
77
- return n(this, y);
86
+ return n(this, m);
78
87
  }
79
88
  set preventClick(t) {
80
- a(this, y, t);
89
+ s(this, m, t);
81
90
  }
82
91
  /** Set the place focus outline style */
83
92
  get keyfocus() {
84
- return n(this, m);
93
+ return n(this, I);
85
94
  }
86
95
  set keyfocus(t) {
87
- a(this, m, t);
96
+ s(this, I, t);
97
+ }
98
+ /** Disable the mouse over title information */
99
+ get showTitleInfo() {
100
+ return n(this, T);
101
+ }
102
+ set showTitleInfo(t) {
103
+ s(this, T, t);
88
104
  }
89
105
  willUpdate(t) {
90
- super.willUpdate(t), t.has("keyfocus") && this.keyfocus === "focus" && this.focus();
106
+ super.willUpdate(t), t.has("keyfocus") && this.keyfocus === "focus" && this.focus(), t.has("showTitleInfo") && (this.showTitleInfo || (this.title = ""));
91
107
  }
92
108
  render() {
93
- const t = this._getPlaceSvg(this.placeType, this.state), e = this.type.toLowerCase(), r = this.state.toLowerCase(), Q = this.text, Z = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-width"), ee = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-height"), I = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-rotation"), te = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-text-rotation"), re = Number(te) - Number(I), se = this.preventClick ? "sbb-reservation-place-control--disabled" : null;
94
- return this.title = this._getTitleDescriptionPlace(), this.tabIndex = -1, ie`
109
+ const t = this._getPlaceSvg(this.placeType, this.state), e = this.type.toLowerCase(), r = this.state.toLowerCase(), E = this.text, w = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-width"), be = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-height"), C = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-rotation"), pe = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-text-rotation"), ve = Number(pe) - Number(C), de = this.preventClick ? "sbb-reservation-place-control--disabled" : null;
110
+ return this.showTitleInfo ? this.title = this._getTitleDescriptionPlace(C) : this._optionalScreenreaderInfo = this._getTitleDescriptionPlace(C), this.tabIndex = -1, ne`
95
111
  <div
96
112
  part="sbb-sr-place-part"
97
- class="sbb-sr-place-ctrl sbb-sr-place-ctrl--orientation-${I} sbb-sr-place-ctrl--state-${r} sbb-sr-place-ctrl--type-${e} ${se}"
113
+ class="sbb-sr-place-ctrl sbb-sr-place-ctrl--orientation-${C} sbb-sr-place-ctrl--state-${r} sbb-sr-place-ctrl--type-${e} ${de}"
98
114
  >
99
115
  <sbb-seat-reservation-graphic
100
- style=${pe({
101
- "--sbb-seat-reservation-graphic-width": Z,
102
- "--sbb-seat-reservation-graphic-height": ee,
103
- "--sbb-seat-reservation-graphic-rotation": I,
104
- "--sbb-seat-reservation-graphic-inverse-rotation": re
116
+ style=${_e({
117
+ "--sbb-seat-reservation-graphic-width": w,
118
+ "--sbb-seat-reservation-graphic-height": be,
119
+ "--sbb-seat-reservation-graphic-rotation": C,
120
+ "--sbb-seat-reservation-graphic-inverse-rotation": ve
105
121
  })}
106
122
  .name=${t}
107
123
  aria-hidden="true"
108
124
  ></sbb-seat-reservation-graphic>
109
- <span ${this.text ?? be} class="sbb-sr-place-ctrl__text" aria-hidden="true"
110
- >${Q}</span
125
+ <span ${this.text ?? ie} class="sbb-sr-place-ctrl__text" aria-hidden="true"
126
+ >${E}</span
111
127
  >
128
+ ${this.showTitleInfo ? ie : ne`<sbb-screen-reader-only id="${this.id}"
129
+ >${this._optionalScreenreaderInfo}</sbb-screen-reader-only
130
+ >`}
112
131
  </div>
113
132
  `;
114
133
  }
115
134
  _getPlaceSvg(t, e) {
116
135
  return `PLACE_${t}_${e}`;
117
136
  }
118
- _getTitleDescriptionPlace() {
119
- const t = "PLACE_CONTROL_" + this.type + "_" + this.state;
120
- let e = E(t, this._language.current, [this.text]);
121
- return this.propertyIds.length && (e += ". " + E("PLACE_PROPERTY", this._language.current).concat(": "), e += this.propertyIds.map((r) => E("PLACE_PROPERTIES." + r, this._language.current)).filter((r) => r).join(", ")), e;
137
+ _getTitleDescriptionPlace(t) {
138
+ const e = "PLACE_CONTROL_" + this.type + "_" + this.state;
139
+ let r = D(e, this._language.current, [this.text]);
140
+ const E = this._getRelativeTravelDirection(t);
141
+ return (this.propertyIds.length || E) && (r += ". " + D("PLACE_PROPERTY", this._language.current).concat(": "), r += [E, ...this.propertyIds].map((w) => D("PLACE_PROPERTIES." + w, this._language.current)).filter((w) => w).join(", ")), r;
142
+ }
143
+ _getRelativeTravelDirection(t) {
144
+ if (!this.travelDirection || this.travelDirection === "NONE" || this.placeType !== "SEAT" || !t)
145
+ return;
146
+ const e = Number(t);
147
+ if (e === 90 || e === 270)
148
+ return "TRAVEL_DIRECTION_TRANSVERSELY";
149
+ if (e === 0 && this.travelDirection === "RIGHT" || e === 180 && this.travelDirection === "LEFT")
150
+ return "TRAVEL_DIRECTION_IN_DIRECTION";
151
+ if (e === 0 || e === 180)
152
+ return "TRAVEL_DIRECTION_IN_OPPOSITE_DIRECTION";
122
153
  }
123
154
  /** If the place selectable, we emit the placeSelection object which contains infos to the place state */
124
155
  _selectPlace() {
@@ -139,29 +170,33 @@ let Ce = (() => {
139
170
  }));
140
171
  }
141
172
  }
142
- }, u = new WeakMap(), k = new WeakMap(), f = new WeakMap(), g = new WeakMap(), _ = new WeakMap(), x = new WeakMap(), y = new WeakMap(), m = new WeakMap(), i = l, (() => {
143
- const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(C[Symbol.metadata] ?? null) : void 0;
144
- z = [h(), v({ attribute: "type" })], w = [h(), v({ attribute: "state", reflect: !0 })], L = [v({ attribute: "propertyIds", type: Array })], A = [h(), v({ attribute: "text" })], F = [h(), v({ attribute: "deck-index", type: Number })], B = [h(), v({ attribute: "coach-index", type: Number })], M = [h(), v({ attribute: "prevent-click", type: Boolean })], G = [h(), v({ attribute: "keyfocus" })], d(l, null, z, { kind: "accessor", name: "placeType", static: !1, private: !1, access: { has: (e) => "placeType" in e, get: (e) => e.placeType, set: (e, r) => {
173
+ }, f = new WeakMap(), g = new WeakMap(), u = new WeakMap(), k = new WeakMap(), _ = new WeakMap(), x = new WeakMap(), y = new WeakMap(), m = new WeakMap(), I = new WeakMap(), T = new WeakMap(), v = c, (() => {
174
+ const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(S[Symbol.metadata] ?? null) : void 0;
175
+ z = [h(), d({ attribute: "type" })], N = [h(), d({ attribute: "state", reflect: !0 })], $ = [d({ attribute: "travel-direction" })], V = [d({ attribute: "propertyIds", type: Array })], G = [h(), d({ attribute: "text" })], H = [h(), d({ attribute: "deck-index", type: Number })], q = [h(), d({ attribute: "coach-index", type: Number })], W = [h(), d({ attribute: "prevent-click", type: Boolean })], ee = [h(), d({ attribute: "keyfocus" })], se = [h(), d({ type: Boolean, useDefault: !0 })], p(c, null, z, { kind: "accessor", name: "placeType", static: !1, private: !1, access: { has: (e) => "placeType" in e, get: (e) => e.placeType, set: (e, r) => {
145
176
  e.placeType = r;
146
- } }, metadata: t }, S, T), d(l, null, w, { kind: "accessor", name: "state", static: !1, private: !1, access: { has: (e) => "state" in e, get: (e) => e.state, set: (e, r) => {
177
+ } }, metadata: t }, R, P), p(c, null, N, { kind: "accessor", name: "state", static: !1, private: !1, access: { has: (e) => "state" in e, get: (e) => e.state, set: (e, r) => {
147
178
  e.state = r;
148
- } }, metadata: t }, P, R), d(l, null, L, { kind: "accessor", name: "propertyIds", static: !1, private: !1, access: { has: (e) => "propertyIds" in e, get: (e) => e.propertyIds, set: (e, r) => {
179
+ } }, metadata: t }, L, O), p(c, null, $, { kind: "accessor", name: "travelDirection", static: !1, private: !1, access: { has: (e) => "travelDirection" in e, get: (e) => e.travelDirection, set: (e, r) => {
180
+ e.travelDirection = r;
181
+ } }, metadata: t }, A, j), p(c, null, V, { kind: "accessor", name: "propertyIds", static: !1, private: !1, access: { has: (e) => "propertyIds" in e, get: (e) => e.propertyIds, set: (e, r) => {
149
182
  e.propertyIds = r;
150
- } }, metadata: t }, $, D), d(l, null, A, { kind: "accessor", name: "text", static: !1, private: !1, access: { has: (e) => "text" in e, get: (e) => e.text, set: (e, r) => {
183
+ } }, metadata: t }, B, F), p(c, null, G, { kind: "accessor", name: "text", static: !1, private: !1, access: { has: (e) => "text" in e, get: (e) => e.text, set: (e, r) => {
151
184
  e.text = r;
152
- } }, metadata: t }, O, N), d(l, null, F, { kind: "accessor", name: "deckIndex", static: !1, private: !1, access: { has: (e) => "deckIndex" in e, get: (e) => e.deckIndex, set: (e, r) => {
185
+ } }, metadata: t }, U, Y), p(c, null, H, { kind: "accessor", name: "deckIndex", static: !1, private: !1, access: { has: (e) => "deckIndex" in e, get: (e) => e.deckIndex, set: (e, r) => {
153
186
  e.deckIndex = r;
154
- } }, metadata: t }, V, j), d(l, null, B, { kind: "accessor", name: "coachIndex", static: !1, private: !1, access: { has: (e) => "coachIndex" in e, get: (e) => e.coachIndex, set: (e, r) => {
187
+ } }, metadata: t }, K, M), p(c, null, q, { kind: "accessor", name: "coachIndex", static: !1, private: !1, access: { has: (e) => "coachIndex" in e, get: (e) => e.coachIndex, set: (e, r) => {
155
188
  e.coachIndex = r;
156
- } }, metadata: t }, U, K), d(l, null, M, { kind: "accessor", name: "preventClick", static: !1, private: !1, access: { has: (e) => "preventClick" in e, get: (e) => e.preventClick, set: (e, r) => {
189
+ } }, metadata: t }, J, Q), p(c, null, W, { kind: "accessor", name: "preventClick", static: !1, private: !1, access: { has: (e) => "preventClick" in e, get: (e) => e.preventClick, set: (e, r) => {
157
190
  e.preventClick = r;
158
- } }, metadata: t }, Y, q), d(l, null, G, { kind: "accessor", name: "keyfocus", static: !1, private: !1, access: { has: (e) => "keyfocus" in e, get: (e) => e.keyfocus, set: (e, r) => {
191
+ } }, metadata: t }, X, Z), p(c, null, ee, { kind: "accessor", name: "keyfocus", static: !1, private: !1, access: { has: (e) => "keyfocus" in e, get: (e) => e.keyfocus, set: (e, r) => {
159
192
  e.keyfocus = r;
160
- } }, metadata: t }, H, J), d(null, o = { value: i }, s, { kind: "class", name: i.name, metadata: t }, null, b), i = o.value, t && Object.defineProperty(i, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
161
- })(), l.styles = [le, de], l.events = {
193
+ } }, metadata: t }, te, re), p(c, null, se, { kind: "accessor", name: "showTitleInfo", static: !1, private: !1, access: { has: (e) => "showTitleInfo" in e, get: (e) => e.showTitleInfo, set: (e, r) => {
194
+ e.showTitleInfo = r;
195
+ } }, metadata: t }, ae, ce), p(null, l = { value: v }, o, { kind: "class", name: v.name, metadata: t }, null, i), v = l.value, t && Object.defineProperty(v, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
196
+ })(), c.styles = [ge, xe], c.events = {
162
197
  selectplace: "selectplace"
163
- }, c(i, b), i;
198
+ }, a(v, i), v;
164
199
  })();
165
200
  export {
166
- Ce as SbbSeatReservationPlaceControlElement
201
+ Ne as SbbSeatReservationPlaceControlElement
167
202
  };
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --sbb-autocomplete-grid-row-color: var(--sbb-color-3);
3
+ --sbb-autocomplete-grid-row-background-color-hover: var(--sbb-background-color-3);
4
+ --sbb-autocomplete-grid-row-disabled-border-color: var(--sbb-color-graphite);
5
+ --sbb-autocomplete-grid-row-disabled-border-color: light-dark(
6
+ var(--sbb-color-graphite),
7
+ var(--sbb-color-smoke)
8
+ );
9
+ --sbb-autocomplete-grid-row-disabled-background-color: var(--sbb-background-color-3);
10
+ --sbb-autocomplete-grid-row-padding-inline-end: var(--sbb-spacing-responsive-xxxs);
11
+ --sbb-autocomplete-grid-row-justify-content: space-between;
12
+ --sbb-autocomplete-grid-row-cursor: var(--sbb-cursor-pointer);
13
+ }