@sbb-esta/lyne-elements-experimental 0.52.1 → 0.53.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.
package/timetable-row.js CHANGED
@@ -1,54 +1,54 @@
1
- import { SbbLanguageController as ve } from "@sbb-esta/lyne-elements/core/controllers.js";
2
- import { defaultDateAdapter as Q } from "@sbb-esta/lyne-elements/core/datetime.js";
3
- import { setOrRemoveAttribute as _e } from "@sbb-esta/lyne-elements/core/dom.js";
4
- import { i18nTripQuayChange as xe, i18nFromStand as X, i18nFromPier as we, i18nFromPlatform as $e, i18nDeparture as Z, i18nMeansOfTransport as O, i18nDirection as G, i18nRealTimeInfo as V, i18nSupersaver as ee, i18nTransferProcedures as ye, i18nArrival as Te, i18nClass as te, i18nOccupancy as re, i18nTravelhints as Ne, i18nTripDuration as se, i18nNew as ae } from "@sbb-esta/lyne-elements/core/i18n.js";
5
- import { css as Ce, html as l, LitElement as Ae, nothing as c } from "lit";
6
- import { property as f, customElement as Me } from "lit/decorators.js";
7
- import { removeTimezoneFromISOTimeString as ie, durationToTime as ne } from "./core/datetime.js";
1
+ import { SbbLanguageController as fe } from "@sbb-esta/lyne-elements/core/controllers.js";
2
+ import { defaultDateAdapter as Y } from "@sbb-esta/lyne-elements/core/datetime.js";
3
+ import { setOrRemoveAttribute as ve } from "@sbb-esta/lyne-elements/core/dom.js";
4
+ import { i18nTripQuayChange as we, i18nFromStand as X, i18nFromPier as xe, i18nFromPlatform as ye, i18nDeparture as Z, i18nMeansOfTransport as O, i18nDirection as G, i18nRealTimeInfo as V, i18nSupersaver as ee, i18nTransferProcedures as $e, i18nArrival as Te, i18nClass as te, i18nOccupancy as re, i18nTravelhints as Ce, i18nTripDuration as ae, i18nNew as se } from "@sbb-esta/lyne-elements/core/i18n.js";
5
+ import { css as Ne, html as b, LitElement as Ae, nothing as c } from "lit";
6
+ import { property as u, customElement as Me } from "lit/decorators.js";
7
+ import { removeTimezoneFromISOTimeString as ne, durationToTime as ie } from "./core/datetime.js";
8
8
  import { isRideLeg as Oe, getDepartureArrivalTimeAttribute as Re } from "./core/timetable.js";
9
9
  import "@sbb-esta/lyne-elements/card.js";
10
10
  import "@sbb-esta/lyne-elements/icon.js";
11
11
  import "@sbb-esta/lyne-elements/timetable-occupancy.js";
12
12
  import "./pearl-chain-time.js";
13
13
  import { f as oe } from "./format-qHhIvnY8.js";
14
- const Ie = Ce`*,:before,:after{box-sizing:border-box}:host{--sbb-timetable-row-gap: var(--sbb-spacing-fixed-2x);--sbb-timetable-row-height: 1.5625rem;--sbb-timetable-row-height-header: 1.25rem;--sbb-timetable-row-height-footer: 1rem;--sbb-timetable-row-skeleton-pulse-duration: 1.8s;display:block}:host([disable-animation]){--sbb-timetable-row-skeleton-pulse-duration: 0}.sbb-timetable__row-transport-icon{--sbb-icon-svg-width: 1.25rem;--sbb-icon-svg-height: 1.25rem}.sbb-travel-hints__item{--sbb-icon-svg-height: .875rem}.sbb-screen-reader-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sbb-timetable__row--quay{margin-inline-end:var(--sbb-spacing-fixed-1x)}.sbb-timetable__row--quay-type{float:left}ul{list-style:none;margin:0;padding:0;font-size:inherit;display:inline-flex}li,.sbb-timetable__row-transport{display:inline-flex;align-self:center}.sbb-timetable__row-transportnumber,.sbb-timetable__row-time{--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);font-weight:700;line-height:unset;white-space:nowrap;align-self:center}.sbb-timetable__row{--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);display:flex;flex-direction:column;gap:var(--sbb-timetable-row-gap)}.sbb-timetable__row-header,.sbb-timetable__row-footer{animation:none}.sbb-timetable__row-header{display:flex;gap:var(--sbb-spacing-fixed-2x);align-items:center;line-height:var(--sbb-timetable-row-height-header)}.sbb-timetable__row-details,.sbb-timetable__row-hints{display:inline-flex;gap:var(--sbb-spacing-fixed-1x);align-items:center}.sbb-timetable__row-header p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0;align-self:center}.sbb-timetable__row-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--sbb-spacing-fixed-2x);line-height:var(--sbb-timetable-row-height-footer)}.sbb-timetable__row-footer>span{align-self:center}.sbb-timetable__row-footer :only-child{margin-inline-start:auto}.sbb-timetable__row-quay--changed{color:var(--sbb-color-red)}.sbb-timetable__row-transport-wrapper,.sbb-timetable__row-warning{display:inline-flex}.sbb-loading{pointer-events:none}.sbb-loading__wrapper{display:flex;flex-direction:column;gap:var(--sbb-spacing-fixed-2x)}.sbb-loading__row{width:100%;border-radius:var(--sbb-border-radius-1x);height:var(--sbb-timetable-row-height)}@media (min-width: 52.5rem){.sbb-loading__row{height:1.75rem}}@media (forced-colors: active){.sbb-loading__row{border:var(--sbb-border-width-1x) solid ButtonBorder!important}}.sbb-loading__row,.sbb-loading__badge{background:var(--sbb-color-cloud);animation:skeleton-pulse var(--sbb-timetable-row-skeleton-pulse-duration) ease-out infinite}.sbb-loading__row:first-of-type{height:var(--sbb-timetable-row-height-header);width:50%}.sbb-loading__row:last-of-type{height:var(--sbb-timetable-row-height-footer)}.sbb-loading__badge{margin-inline:auto calc(var(--sbb-spacing-fixed-3x) * -1);padding-inline-end:var(--sbb-spacing-fixed-6x);border-end-start-radius:var(--sbb-border-radius-4x);transform:skew(16deg);width:7.1875rem;height:1.25rem}@keyframes skeleton-pulse{0%{background:var(--sbb-color-cloud)}17%{background:var(--sbb-color-cloud)}50%{background:var(--sbb-color-milk)}67%{background:var(--sbb-color-milk)}to{background:var(--sbb-color-cloud)}}`;
15
- var Pe = Object.defineProperty, ke = Object.getOwnPropertyDescriptor, g = (e, t, s, i) => {
16
- for (var r = i > 1 ? void 0 : i ? ke(t, s) : t, a = e.length - 1, n; a >= 0; a--)
17
- (n = e[a]) && (r = (i ? n(t, s, r) : n(r)) || r);
18
- return i && r && Pe(t, s, r), r;
14
+ const Se = Ne`*,:before,:after{box-sizing:border-box}:host{--sbb-timetable-row-gap: var(--sbb-spacing-fixed-2x);--sbb-timetable-row-height: 1.5625rem;--sbb-timetable-row-height-header: 1.25rem;--sbb-timetable-row-height-footer: 1rem;--sbb-timetable-row-skeleton-pulse-duration: 1.8s;display:block}:host([disable-animation]){--sbb-timetable-row-skeleton-pulse-duration: 0}.sbb-timetable__row-transport-icon{--sbb-icon-svg-width: 1.25rem;--sbb-icon-svg-height: 1.25rem}.sbb-travel-hints__item{--sbb-icon-svg-height: .875rem}.sbb-screen-reader-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sbb-timetable__row--quay{margin-inline-end:var(--sbb-spacing-fixed-1x)}.sbb-timetable__row--quay-type{float:left}ul{list-style:none;margin:0;padding:0;font-size:inherit;display:inline-flex}li,.sbb-timetable__row-transport{display:inline-flex;align-self:center}.sbb-timetable__row-transportnumber,.sbb-timetable__row-time{--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);font-weight:700;line-height:unset;white-space:nowrap;align-self:center}.sbb-timetable__row{--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);display:flex;flex-direction:column;gap:var(--sbb-timetable-row-gap)}.sbb-timetable__row-header,.sbb-timetable__row-footer{animation:none}.sbb-timetable__row-header{display:flex;gap:var(--sbb-spacing-fixed-2x);align-items:center;line-height:var(--sbb-timetable-row-height-header)}.sbb-timetable__row-details,.sbb-timetable__row-hints{display:inline-flex;gap:var(--sbb-spacing-fixed-1x);align-items:center}.sbb-timetable__row-header p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0;align-self:center}.sbb-timetable__row-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--sbb-spacing-fixed-2x);line-height:var(--sbb-timetable-row-height-footer)}.sbb-timetable__row-footer>span{align-self:center}.sbb-timetable__row-footer :only-child{margin-inline-start:auto}.sbb-timetable__row-quay--changed{color:var(--sbb-color-red)}.sbb-timetable__row-transport-wrapper,.sbb-timetable__row-warning{display:inline-flex}.sbb-loading{pointer-events:none}.sbb-loading__wrapper{display:flex;flex-direction:column;gap:var(--sbb-spacing-fixed-2x)}.sbb-loading__row{width:100%;border-radius:var(--sbb-border-radius-1x);height:var(--sbb-timetable-row-height)}@media (min-width: 52.5rem){.sbb-loading__row{height:1.75rem}}@media (forced-colors: active){.sbb-loading__row{border:var(--sbb-border-width-1x) solid ButtonBorder!important}}.sbb-loading__row,.sbb-loading__badge{background:var(--sbb-color-cloud);animation:skeleton-pulse var(--sbb-timetable-row-skeleton-pulse-duration) ease-out infinite}.sbb-loading__row:first-of-type{height:var(--sbb-timetable-row-height-header);width:50%}.sbb-loading__row:last-of-type{height:var(--sbb-timetable-row-height-footer)}.sbb-loading__badge{margin-inline:auto calc(var(--sbb-spacing-fixed-3x) * -1);padding-inline-end:var(--sbb-spacing-fixed-6x);border-end-start-radius:var(--sbb-border-radius-4x);transform:skew(16deg);width:7.1875rem;height:1.25rem}@keyframes skeleton-pulse{0%{background:var(--sbb-color-cloud)}17%{background:var(--sbb-color-cloud)}50%{background:var(--sbb-color-milk)}67%{background:var(--sbb-color-milk)}to{background:var(--sbb-color-cloud)}}`;
15
+ var Ie = Object.defineProperty, Pe = Object.getOwnPropertyDescriptor, m = (e, t, a, n) => {
16
+ for (var r = n > 1 ? void 0 : n ? Pe(t, a) : t, s = e.length - 1, i; s >= 0; s--)
17
+ (i = e[s]) && (r = (n ? i(t, a, r) : i(r)) || r);
18
+ return n && r && Ie(t, a, r), r;
19
19
  };
20
- const Le = (e, t) => l`<span class="sbb-timetable__row-transport">
20
+ const ke = (e, t) => b`<span class="sbb-timetable__row-transport">
21
21
  <sbb-icon name=${e}></sbb-icon>
22
22
  <span class="sbb-screen-reader-only">${t}</span>
23
- </span>`, Se = (e, t) => {
24
- const s = ["M", "B", "T"].includes(e) ? " " : "";
25
- return l`<span class="sbb-timetable__row-transportnumber">
26
- ${t !== null ? e + s + t : e}
23
+ </span>`, Le = (e, t) => {
24
+ const a = ["M", "B", "T"].includes(e) ? " " : "";
25
+ return b`<span class="sbb-timetable__row-transportnumber">
26
+ ${t !== null ? e + a + t : e}
27
27
  </span>`;
28
- }, be = (e) => {
29
- var t, s, i;
30
- return (i = (s = (t = e == null ? void 0 : e.find((r) => {
31
- var a, n;
32
- return (n = (a = r.serviceJourney) == null ? void 0 : a.serviceAlteration) == null ? void 0 : n.reachableText;
33
- })) == null ? void 0 : t.serviceJourney) == null ? void 0 : s.serviceAlteration) == null ? void 0 : i.reachableText;
34
- }, Ee = (e) => {
35
- var t, s, i;
36
- return (i = (s = (t = e == null ? void 0 : e.find((r) => {
37
- var a, n;
38
- return (n = (a = r.serviceJourney) == null ? void 0 : a.serviceAlteration) == null ? void 0 : n.delayText;
39
- })) == null ? void 0 : t.serviceJourney) == null ? void 0 : s.serviceAlteration) == null ? void 0 : i.delayText;
40
28
  }, le = (e) => {
41
- var t, s, i;
42
- return (i = (s = (t = e == null ? void 0 : e.find((r) => {
43
- var a, n;
44
- return !!((n = (a = r.serviceJourney) == null ? void 0 : a.serviceAlteration) != null && n.redirectedText);
45
- })) == null ? void 0 : t.serviceJourney) == null ? void 0 : s.serviceAlteration) == null ? void 0 : i.redirectedText;
29
+ var t, a, n;
30
+ return (n = (a = (t = e == null ? void 0 : e.find((r) => {
31
+ var s, i;
32
+ return (i = (s = r.serviceJourney) == null ? void 0 : s.serviceAlteration) == null ? void 0 : i.reachableText;
33
+ })) == null ? void 0 : t.serviceJourney) == null ? void 0 : a.serviceAlteration) == null ? void 0 : n.reachableText;
34
+ }, Ee = (e) => {
35
+ var t, a, n;
36
+ return (n = (a = (t = e == null ? void 0 : e.find((r) => {
37
+ var s, i;
38
+ return (i = (s = r.serviceJourney) == null ? void 0 : s.serviceAlteration) == null ? void 0 : i.delayText;
39
+ })) == null ? void 0 : t.serviceJourney) == null ? void 0 : a.serviceAlteration) == null ? void 0 : n.delayText;
40
+ }, be = (e) => {
41
+ var t, a, n;
42
+ return (n = (a = (t = e == null ? void 0 : e.find((r) => {
43
+ var s, i;
44
+ return !!((i = (s = r.serviceJourney) == null ? void 0 : s.serviceAlteration) != null && i.redirectedText);
45
+ })) == null ? void 0 : t.serviceJourney) == null ? void 0 : a.serviceAlteration) == null ? void 0 : n.redirectedText;
46
46
  }, ce = (e) => {
47
- var t, s, i;
48
- return (i = (s = (t = e == null ? void 0 : e.find((r) => {
49
- var a, n;
50
- return !!((n = (a = r.serviceJourney) == null ? void 0 : a.serviceAlteration) != null && n.unplannedStopPointsText);
51
- })) == null ? void 0 : t.serviceJourney) == null ? void 0 : s.serviceAlteration) == null ? void 0 : i.unplannedStopPointsText;
47
+ var t, a, n;
48
+ return (n = (a = (t = e == null ? void 0 : e.find((r) => {
49
+ var s, i;
50
+ return !!((i = (s = r.serviceJourney) == null ? void 0 : s.serviceAlteration) != null && i.unplannedStopPointsText);
51
+ })) == null ? void 0 : t.serviceJourney) == null ? void 0 : a.serviceAlteration) == null ? void 0 : n.unplannedStopPointsText;
52
52
  }, De = (e) => {
53
53
  const t = {
54
54
  DISTURBANCE: 0,
@@ -59,7 +59,7 @@ const Le = (e, t) => l`<span class="sbb-timetable__row-transport">
59
59
  END_MESSAGE: 5
60
60
  };
61
61
  return [...e].sort(
62
- (s, i) => t[s.cause] - t[i.cause]
62
+ (a, n) => t[a.cause] - t[n.cause]
63
63
  );
64
64
  }, Be = (e) => {
65
65
  var t;
@@ -96,58 +96,58 @@ const Le = (e, t) => l`<span class="sbb-timetable__row-transport">
96
96
  };
97
97
  }
98
98
  }, Ue = (e, t) => {
99
- const { summary: s, legs: i } = e || {}, r = i == null ? void 0 : i.filter((n) => Oe(n)), { tripStatus: a } = s || {};
100
- if (a != null && a.cancelled || a != null && a.partiallyCancelled)
101
- return { name: "cancellation", text: a == null ? void 0 : a.cancelledText };
102
- if (be(r))
103
- return { name: "missed-connection", text: be(r) };
104
- if (a != null && a.alternative) return { name: "alternative", text: a.alternativeText };
105
- if (le(r)) return { name: "reroute", text: le(r) };
99
+ const { summary: a, legs: n } = e || {}, r = n == null ? void 0 : n.filter((i) => Oe(i)), { tripStatus: s } = a || {};
100
+ if (s != null && s.cancelled || s != null && s.partiallyCancelled)
101
+ return { name: "cancellation", text: s == null ? void 0 : s.cancelledText };
102
+ if (le(r))
103
+ return { name: "missed-connection", text: le(r) };
104
+ if (s != null && s.alternative) return { name: "alternative", text: s.alternativeText };
105
+ if (be(r)) return { name: "reroute", text: be(r) };
106
106
  if (ce(r)) return { name: "add-stop", text: ce(r) };
107
- if (a != null && a.delayed || a != null && a.delayedUnknown)
107
+ if (s != null && s.delayed || s != null && s.delayedUnknown)
108
108
  return { name: "delay", text: Ee(r) };
109
- if (a != null && a.quayChanged) {
110
- const n = r[0].departure;
109
+ if (s != null && s.quayChanged) {
110
+ const i = r[0].departure;
111
111
  return {
112
112
  name: "platform-change",
113
- text: n.quayChanged ? n.quayChangedText : xe[t]
113
+ text: i.quayChanged ? i.quayChangedText : we[t]
114
114
  };
115
115
  }
116
116
  return {};
117
117
  }, ze = (e) => {
118
118
  const t = ["RR", "RK", "RC", "RL", "RM", "RS", "RU", "XP", "XR", "XT"];
119
- return e.reduce((s, i) => {
120
- if (s) return s;
121
- if (t.includes(i.name))
122
- return { ...i, name: "RR" };
119
+ return e.reduce((a, n) => {
120
+ if (a) return a;
121
+ if (t.includes(n.name))
122
+ return { ...n, name: "RR" };
123
123
  }, void 0);
124
124
  }, We = (e) => {
125
125
  const t = ["Z", "SB", "SZ", "VR", "TG"];
126
- return e.filter((i, r) => e.findIndex((a) => a.name === i.name) === r).filter((i) => t.includes(i.name)).sort((i, r) => t.indexOf(i.name) - t.indexOf(r.name));
127
- }, k = (e) => {
128
- const t = ze(e), s = We(e);
129
- return t === void 0 ? s : s.length ? s[0].name === "Z" && s[1] ? [s[0], t, s[1]].concat(
130
- s.slice(2)
131
- ) : [t, ...s] : [t];
126
+ return e.filter((n, r) => e.findIndex((s) => s.name === n.name) === r).filter((n) => t.includes(n.name)).sort((n, r) => t.indexOf(n.name) - t.indexOf(r.name));
127
+ }, P = (e) => {
128
+ const t = ze(e), a = We(e);
129
+ return t === void 0 ? a : a.length ? a[0].name === "Z" && a[1] ? [a[0], t, a[1]].concat(
130
+ a.slice(2)
131
+ ) : [t, ...a] : [t];
132
132
  };
133
- let m = class extends Ae {
133
+ let p = class extends Ae {
134
134
  constructor() {
135
- super(...arguments), this.loadingTrip = !1, this.loadingPrice = !1, this.b = null, this.a = new ve(this);
135
+ super(...arguments), this.loadingTrip = !1, this.loadingPrice = !1, this._now = null, this._language = new fe(this);
136
136
  }
137
137
  set now(e) {
138
- this.b = Q.getValidDateOrNull(Q.deserialize(e));
138
+ this._now = Y.getValidDateOrNull(Y.deserialize(e));
139
139
  }
140
140
  get now() {
141
- return this.b ?? /* @__PURE__ */ new Date();
141
+ return this._now ?? /* @__PURE__ */ new Date();
142
142
  }
143
143
  willUpdate(e) {
144
- super.willUpdate(e), e.has("loadingTrip") && _e(this, "role", this.loadingTrip ? null : "rowgroup");
144
+ super.willUpdate(e), e.has("loadingTrip") && ve(this, "role", this.loadingTrip ? null : "rowgroup");
145
145
  }
146
146
  /** The skeleton render function for the loading state */
147
- f() {
148
- return l`
147
+ _renderSkeleton() {
148
+ return b`
149
149
  <sbb-card size="l" class="sbb-loading">
150
- ${this.loadingPrice ? l`<sbb-card-badge class="sbb-loading__badge"></sbb-card-badge>` : c}
150
+ ${this.loadingPrice ? b`<sbb-card-badge class="sbb-loading__badge"></sbb-card-badge>` : c}
151
151
  <div class="sbb-loading__wrapper">
152
152
  <div class="sbb-loading__row"></div>
153
153
  <div class="sbb-loading__row"></div>
@@ -156,12 +156,12 @@ let m = class extends Ae {
156
156
  </sbb-card>
157
157
  `;
158
158
  }
159
- c(e) {
159
+ _getQuayType(e) {
160
160
  switch (e) {
161
161
  case "TRAIN":
162
- return $e;
162
+ return ye;
163
163
  case "SHIP":
164
- return we;
164
+ return xe;
165
165
  case "TRAMWAY":
166
166
  return X;
167
167
  case "BUS":
@@ -170,21 +170,21 @@ let m = class extends Ae {
170
170
  return;
171
171
  }
172
172
  }
173
- d() {
174
- var t, s;
173
+ _getQuayTypeStrings() {
174
+ var t, a;
175
175
  if (!((t = this.trip.summary) != null && t.product)) return null;
176
- const e = this.c((s = this.trip.summary.product) == null ? void 0 : s.vehicleMode);
176
+ const e = this._getQuayType((a = this.trip.summary.product) == null ? void 0 : a.vehicleMode);
177
177
  return {
178
- long: e == null ? void 0 : e.long[this.a.current],
179
- short: e == null ? void 0 : e.short[this.a.current]
178
+ long: e == null ? void 0 : e.long[this._language.current],
179
+ short: e == null ? void 0 : e.short[this._language.current]
180
180
  };
181
181
  }
182
182
  /** map Quay */
183
- g() {
183
+ _renderQuayType() {
184
184
  var t;
185
185
  if (!((t = this.trip.summary) != null && t.product)) return;
186
- const e = this.d();
187
- return l`
186
+ const e = this._getQuayTypeStrings();
187
+ return b`
188
188
  <span class="sbb-timetable__row--quay">
189
189
  <span class="sbb-screen-reader-only">${e == null ? void 0 : e.long}&nbsp;</span>
190
190
  <span class="sbb-timetable__row--quay-type" aria-hidden="true"
@@ -193,146 +193,146 @@ let m = class extends Ae {
193
193
  </span>
194
194
  `;
195
195
  }
196
- e(e) {
196
+ _handleHimCus(e) {
197
197
  var r;
198
- const { situations: t } = e || {}, s = t && De(t), i = Ue(e, this.a.current);
198
+ const { situations: t } = e || {}, a = t && De(t), n = Ue(e, this._language.current);
199
199
  return {
200
- cus: (r = Object.keys(i)) != null && r.length ? i : null,
201
- him: t != null && t.length ? Be(s[0]) : null
200
+ cus: (r = Object.keys(n)) != null && r.length ? n : null,
201
+ him: t != null && t.length ? Be(a[0]) : null
202
202
  };
203
203
  }
204
- h(e) {
205
- var S, E, D, B, U, z, W, q, F, j, J, H;
206
- const { summary: t, legs: s, notices: i } = e || {}, {
204
+ _getAccessibilityText(e) {
205
+ var L, E, D, B, U, z, W, Q, q, F, H, j;
206
+ const { summary: t, legs: a, notices: n } = e || {}, {
207
207
  departureWalk: r,
208
- arrivalWalk: a,
209
- departure: n,
210
- arrival: b,
211
- product: h,
208
+ arrivalWalk: s,
209
+ departure: i,
210
+ arrival: l,
211
+ product: g,
212
212
  direction: R,
213
213
  occupancy: o,
214
- duration: u
215
- } = t || {}, { departureTimeAttribute: p, arrivalTimeAttribute: _ } = Re(
216
- s,
214
+ duration: _
215
+ } = t || {}, { departureTimeAttribute: h, arrivalTimeAttribute: v } = Re(
216
+ a,
217
217
  r || 0,
218
- a || 0,
219
- this.a.current
220
- ), v = n != null && n.time ? ie(n.time) : void 0, x = b != null && b.time ? ie(b.time) : void 0, $ = p ? `${p.text} ${p.duration}, ` : "", y = _ ? `${_.text} ${_.duration}, ` : "", T = v ? `${Z[this.a.current]}: ${oe(v, "HH:mm")}, ` : "", N = () => {
218
+ s || 0,
219
+ this._language.current
220
+ ), f = i != null && i.time ? ne(i.time) : void 0, w = l != null && l.time ? ne(l.time) : void 0, y = h ? `${h.text} ${h.duration}, ` : "", $ = v ? `${v.text} ${v.duration}, ` : "", T = f ? `${Z[this._language.current]}: ${oe(f, "HH:mm")}, ` : "", C = () => {
221
221
  var M;
222
- return n != null && n.quayFormatted ? `${n != null && n.quayChanged ? `${ae[this.a.current]} ` : ""}${(M = this.d()) == null ? void 0 : M.long} ${n == null ? void 0 : n.quayFormatted}, ` : "";
223
- }, C = h && h.vehicleMode ? O[h.vehicleMode.toLowerCase()] && `${O[h.vehicleMode.toLowerCase()][this.a.current]}, ` : "", A = h != null && h.vehicleSubModeShortName ? `${h.vehicleSubModeShortName} ${h.line || ""}, ` : "", I = `${G[this.a.current]} ${R}, `, d = this.e(e), w = (S = d == null ? void 0 : d.cus) != null && S.text ? `${V[this.a.current]}: ${(E = d == null ? void 0 : d.cus) == null ? void 0 : E.text}, ` : "", de = (D = d == null ? void 0 : d.him) != null && D.text ? `${V[this.a.current]}: ${(B = d == null ? void 0 : d.him) == null ? void 0 : B.text}, ` : "", he = this.boarding ? `${this.boarding.text}, ` : "", me = `${(U = this.price) != null && U.isDiscount ? ee[this.a.current] : ""} ${(z = this.price) != null && z.text && ((W = this.price) != null && W.price) ? (((q = this.price) == null ? void 0 : q.text) || "") + " " + (((F = this.price) == null ? void 0 : F.price) || "") + ", " : ""}`, pe = (s == null ? void 0 : s.length) > 1 ? `${(s == null ? void 0 : s.length) - 1} ${ye[this.a.current]}, ` : "", ge = x ? `${Te[this.a.current]}: ${oe(x, "HH:mm")}, ` : "";
224
- let P = "";
225
- o && (o.firstClass && o.firstClass !== "UNKNOWN" && (P += `${te.first[this.a.current]} ${(j = re[o.firstClass.toLowerCase()]) == null ? void 0 : j[this.a.current]}.`), o.secondClass && o.secondClass !== "UNKNOWN" && (P += ` ${te.second[this.a.current]} ${(J = re[o.secondClass.toLowerCase()]) == null ? void 0 : J[this.a.current]}.`));
226
- const L = i && k(i).length && ((H = k(i)) == null ? void 0 : H.map((K, M) => {
227
- var Y;
228
- return M < 4 && ((Y = K.text) == null ? void 0 : Y.template);
229
- }).join(", ")) + ", ", fe = L ? `${Ne[this.a.current]}: ${L}` : "", ue = u && u > 0 ? `${se[this.a.current]} ${ne(u, this.a.current).long}, ` : "";
230
- return `${$} ${T} ${N()} ${C} ${A} ${I} ${w} ${he} ${me} ${w ? "" : de} ${ge} ${y} ${ue} ${pe} ${P} ${fe}`;
222
+ return i != null && i.quayFormatted ? `${i != null && i.quayChanged ? `${se[this._language.current]} ` : ""}${(M = this._getQuayTypeStrings()) == null ? void 0 : M.long} ${i == null ? void 0 : i.quayFormatted}, ` : "";
223
+ }, N = g && g.vehicleMode ? O[g.vehicleMode.toLowerCase()] && `${O[g.vehicleMode.toLowerCase()][this._language.current]}, ` : "", A = g != null && g.vehicleSubModeShortName ? `${g.vehicleSubModeShortName} ${g.line || ""}, ` : "", S = `${G[this._language.current]} ${R}, `, d = this._handleHimCus(e), x = (L = d == null ? void 0 : d.cus) != null && L.text ? `${V[this._language.current]}: ${(E = d == null ? void 0 : d.cus) == null ? void 0 : E.text}, ` : "", de = (D = d == null ? void 0 : d.him) != null && D.text ? `${V[this._language.current]}: ${(B = d == null ? void 0 : d.him) == null ? void 0 : B.text}, ` : "", ge = this.boarding ? `${this.boarding.text}, ` : "", pe = `${(U = this.price) != null && U.isDiscount ? ee[this._language.current] : ""} ${(z = this.price) != null && z.text && ((W = this.price) != null && W.price) ? (((Q = this.price) == null ? void 0 : Q.text) || "") + " " + (((q = this.price) == null ? void 0 : q.price) || "") + ", " : ""}`, he = (a == null ? void 0 : a.length) > 1 ? `${(a == null ? void 0 : a.length) - 1} ${$e[this._language.current]}, ` : "", me = w ? `${Te[this._language.current]}: ${oe(w, "HH:mm")}, ` : "";
224
+ let I = "";
225
+ o && (o.firstClass && o.firstClass !== "UNKNOWN" && (I += `${te.first[this._language.current]} ${(F = re[o.firstClass.toLowerCase()]) == null ? void 0 : F[this._language.current]}.`), o.secondClass && o.secondClass !== "UNKNOWN" && (I += ` ${te.second[this._language.current]} ${(H = re[o.secondClass.toLowerCase()]) == null ? void 0 : H[this._language.current]}.`));
226
+ const k = n && P(n).length && ((j = P(n)) == null ? void 0 : j.map((J, M) => {
227
+ var K;
228
+ return M < 4 && ((K = J.text) == null ? void 0 : K.template);
229
+ }).join(", ")) + ", ", ue = k ? `${Ce[this._language.current]}: ${k}` : "", _e = _ && _ > 0 ? `${ae[this._language.current]} ${ie(_, this._language.current).long}, ` : "";
230
+ return `${y} ${T} ${C()} ${N} ${A} ${S} ${x} ${ge} ${pe} ${x ? "" : de} ${me} ${$} ${_e} ${he} ${I} ${ue}`;
231
231
  }
232
232
  render() {
233
- var $, y, T, N, C;
233
+ var y, $, T, C, N;
234
234
  if (this.loadingTrip)
235
- return this.f();
236
- const { legs: e, id: t, notices: s, summary: i } = this.trip || {}, {
235
+ return this._renderSkeleton();
236
+ const { legs: e, id: t, notices: a, summary: n } = this.trip || {}, {
237
237
  product: r,
238
- direction: a,
239
- departureWalk: n,
240
- departure: b,
241
- arrival: h,
238
+ direction: s,
239
+ departureWalk: i,
240
+ departure: l,
241
+ arrival: g,
242
242
  arrivalWalk: R,
243
243
  occupancy: o,
244
- duration: u
245
- } = i || {}, p = this.e(this.trip), _ = !!p.cus || !!p.him, v = s && k(s), x = u ? ne(u, this.a.current) : null;
246
- return l`
244
+ duration: _
245
+ } = n || {}, h = this._handleHimCus(this.trip), v = !!h.cus || !!h.him, f = a && P(a), w = _ ? ie(_, this._language.current) : null;
246
+ return b`
247
247
  <sbb-card size="l" id=${t}>
248
248
  <sbb-card-button
249
249
  ?active=${this.active}
250
- aria-expanded=${(($ = this.accessibilityExpanded) == null ? void 0 : $.toString()) ?? c}
250
+ aria-expanded=${((y = this.accessibilityExpanded) == null ? void 0 : y.toString()) ?? c}
251
251
  >
252
- ${this.cardActionLabel ? this.cardActionLabel : this.h(this.trip)}
252
+ ${this.cardActionLabel ? this.cardActionLabel : this._getAccessibilityText(this.trip)}
253
253
  </sbb-card-button>
254
- ${this.loadingPrice ? l`<sbb-card-badge class="sbb-loading__badge"></sbb-card-badge>` : c}
255
- ${this.price && !this.loadingPrice ? l`<sbb-card-badge color=${this.price.isDiscount ? "charcoal" : "white"}>
256
- ${this.price.isDiscount ? l`<span aria-hidden="true">
254
+ ${this.loadingPrice ? b`<sbb-card-badge class="sbb-loading__badge"></sbb-card-badge>` : c}
255
+ ${this.price && !this.loadingPrice ? b`<sbb-card-badge color=${this.price.isDiscount ? "charcoal" : "white"}>
256
+ ${this.price.isDiscount ? b`<span aria-hidden="true">
257
257
  %<span class="sbb-screen-reader-only"
258
- >${ee[this.a.current]}</span
258
+ >${ee[this._language.current]}</span
259
259
  >
260
260
  </span>` : c}
261
- ${this.price.text ? l`<span>${this.price.text}</span>` : c}
262
- ${this.price.price ? l`<span>${this.price.price}</span>` : c}
261
+ ${this.price.text ? b`<span>${this.price.text}</span>` : c}
262
+ ${this.price.price ? b`<span>${this.price.price}</span>` : c}
263
263
  </sbb-card-badge>` : c}
264
264
  <div class="sbb-timetable__row" role="row">
265
265
  <div class="sbb-timetable__row-header" role="gridcell">
266
266
  <div class="sbb-timetable__row-details">
267
- ${(r == null ? void 0 : r.corporateIdentityPictogram) && l`<span class="sbb-timetable__row-transport-wrapper">
267
+ ${(r == null ? void 0 : r.corporateIdentityPictogram) && b`<span class="sbb-timetable__row-transport-wrapper">
268
268
  <sbb-icon
269
269
  class="sbb-timetable__row-transport-icon"
270
270
  name="picto:${r.corporateIdentityPictogram}"
271
271
  ></sbb-icon>
272
272
  <span class="sbb-screen-reader-only">
273
- ${r && r.vehicleMode && O[r.vehicleMode.toLowerCase()] && O[r.vehicleMode.toLowerCase()][this.a.current]}
273
+ ${r && r.vehicleMode && O[r.vehicleMode.toLowerCase()] && O[r.vehicleMode.toLowerCase()][this._language.current]}
274
274
  &nbsp;
275
275
  </span>
276
276
  </span>`}
277
- ${r && (r.corporateIdentityIcon ? Le(r.corporateIdentityIcon, r.name) : r.vehicleSubModeShortName && Se(r.vehicleSubModeShortName, r == null ? void 0 : r.line))}
277
+ ${r && (r.corporateIdentityIcon ? ke(r.corporateIdentityIcon, r.name) : r.vehicleSubModeShortName && Le(r.vehicleSubModeShortName, r == null ? void 0 : r.line))}
278
278
  </div>
279
- ${a ? l`<p>${`${G[this.a.current]} ${a}`}</p>` : c}
279
+ ${s ? b`<p>${`${G[this._language.current]} ${s}`}</p>` : c}
280
280
  </div>
281
281
  <sbb-pearl-chain-time
282
282
  role="gridcell"
283
283
  .legs=${e}
284
- .departureTime=${b == null ? void 0 : b.time}
285
- .arrivalTime=${h == null ? void 0 : h.time}
286
- .departureWalk=${n}
284
+ .departureTime=${l == null ? void 0 : l.time}
285
+ .arrivalTime=${g == null ? void 0 : g.time}
286
+ .departureWalk=${i}
287
287
  .arrivalWalk=${R}
288
288
  ?disable-animation=${this.disableAnimation}
289
289
  .now=${this.now}
290
290
  ></sbb-pearl-chain-time>
291
291
  <div class="sbb-timetable__row-footer" role="gridcell">
292
- ${r && this.c(r.vehicleMode) && (b != null && b.quayFormatted) ? l`<span
293
- class=${b != null && b.quayChanged ? "sbb-timetable__row-quay--changed" : c}
292
+ ${r && this._getQuayType(r.vehicleMode) && (l != null && l.quayFormatted) ? b`<span
293
+ class=${l != null && l.quayChanged ? "sbb-timetable__row-quay--changed" : c}
294
294
  >
295
295
  <span class="sbb-screen-reader-only">
296
- ${`${Z[this.a.current]} ${b != null && b.quayChanged ? ae[this.a.current] : ""}`}
296
+ ${`${Z[this._language.current]} ${l != null && l.quayChanged ? se[this._language.current] : ""}`}
297
297
  &nbsp;
298
298
  </span>
299
- ${this.g()} ${b == null ? void 0 : b.quayFormatted}
299
+ ${this._renderQuayType()} ${l == null ? void 0 : l.quayFormatted}
300
300
  </span>` : c}
301
- ${o != null && o.firstClass && (o == null ? void 0 : o.firstClass) !== "UNKNOWN" || o != null && o.secondClass && o.secondClass !== "UNKNOWN" ? l`<sbb-timetable-occupancy
302
- .firstClassOccupancy=${(y = o == null ? void 0 : o.firstClass) == null ? void 0 : y.toLowerCase()}
301
+ ${o != null && o.firstClass && (o == null ? void 0 : o.firstClass) !== "UNKNOWN" || o != null && o.secondClass && o.secondClass !== "UNKNOWN" ? b`<sbb-timetable-occupancy
302
+ .firstClassOccupancy=${($ = o == null ? void 0 : o.firstClass) == null ? void 0 : $.toLowerCase()}
303
303
  .secondClassOccupancy=${(T = o == null ? void 0 : o.secondClass) == null ? void 0 : T.toLowerCase()}
304
304
  ></sbb-timetable-occupancy>` : c}
305
- ${v && v.length || this.boarding ? l`<ul class="sbb-timetable__row-hints" role="list">
306
- ${v == null ? void 0 : v.map(
307
- (A, I) => {
308
- var d, w;
309
- return I < 4 ? l`<li>
305
+ ${f && f.length || this.boarding ? b`<ul class="sbb-timetable__row-hints" role="list">
306
+ ${f == null ? void 0 : f.map(
307
+ (A, S) => {
308
+ var d, x;
309
+ return S < 4 ? b`<li>
310
310
  <sbb-icon
311
311
  class="sbb-travel-hints__item"
312
312
  name=${"sa-" + ((d = A.name) == null ? void 0 : d.toLowerCase())}
313
313
  ></sbb-icon>
314
- <span class="sbb-screen-reader-only">${(w = A.text) == null ? void 0 : w.template}</span>
314
+ <span class="sbb-screen-reader-only">${(x = A.text) == null ? void 0 : x.template}</span>
315
315
  </li>` : c;
316
316
  }
317
317
  )}
318
- ${this.boarding ? l`<li>
318
+ ${this.boarding ? b`<li>
319
319
  <sbb-icon
320
320
  class="sbb-travel-hints__item"
321
- name=${(N = this.boarding) == null ? void 0 : N.name}
322
- aria-label=${(C = this.boarding) == null ? void 0 : C.text}
321
+ name=${(C = this.boarding) == null ? void 0 : C.name}
322
+ aria-label=${(N = this.boarding) == null ? void 0 : N.text}
323
323
  aria-hidden="false"
324
324
  ></sbb-icon>
325
325
  </li>` : c}
326
326
  </ul>` : c}
327
- ${u && u > 0 ? l`<time>
327
+ ${_ && _ > 0 ? b`<time>
328
328
  <span class="sbb-screen-reader-only">
329
- ${`${se[this.a.current]} ${x.long}`}
329
+ ${`${ae[this._language.current]} ${w.long}`}
330
330
  </span>
331
- <span aria-hidden="true">${x.short}</span>
331
+ <span aria-hidden="true">${w.short}</span>
332
332
  </time>` : c}
333
- ${_ && (p.cus || p.him) ? l`<span class="sbb-timetable__row-warning">
334
- <sbb-icon name=${(p.cus || p.him).name}></sbb-icon>
335
- <span class="sbb-screen-reader-only">${(p.cus || p.him).text}</span>
333
+ ${v && (h.cus || h.him) ? b`<span class="sbb-timetable__row-warning">
334
+ <sbb-icon name=${(h.cus || h.him).name}></sbb-icon>
335
+ <span class="sbb-screen-reader-only">${(h.cus || h.him).text}</span>
336
336
  </span>` : c}
337
337
  </div>
338
338
  </div>
@@ -340,47 +340,47 @@ let m = class extends Ae {
340
340
  `;
341
341
  }
342
342
  };
343
- m.styles = Ie;
344
- g([
345
- f({ type: Object })
346
- ], m.prototype, "trip", 2);
347
- g([
348
- f({ type: Object })
349
- ], m.prototype, "price", 2);
350
- g([
351
- f({ attribute: "disable-animation", reflect: !0, type: Boolean })
352
- ], m.prototype, "disableAnimation", 2);
353
- g([
354
- f({ type: Object })
355
- ], m.prototype, "boarding", 2);
356
- g([
357
- f({ attribute: "loading-trip", type: Boolean })
358
- ], m.prototype, "loadingTrip", 2);
359
- g([
360
- f({ attribute: "loading-price", type: Boolean })
361
- ], m.prototype, "loadingPrice", 2);
362
- g([
363
- f({ attribute: "card-action-label" })
364
- ], m.prototype, "cardActionLabel", 2);
365
- g([
366
- f({ attribute: "accessibility-expanded", type: Boolean })
367
- ], m.prototype, "accessibilityExpanded", 2);
368
- g([
369
- f({ type: Boolean })
370
- ], m.prototype, "active", 2);
371
- g([
372
- f()
373
- ], m.prototype, "now", 1);
374
- m = g([
343
+ p.styles = Se;
344
+ m([
345
+ u({ type: Object })
346
+ ], p.prototype, "trip", 2);
347
+ m([
348
+ u({ type: Object })
349
+ ], p.prototype, "price", 2);
350
+ m([
351
+ u({ attribute: "disable-animation", reflect: !0, type: Boolean })
352
+ ], p.prototype, "disableAnimation", 2);
353
+ m([
354
+ u({ type: Object })
355
+ ], p.prototype, "boarding", 2);
356
+ m([
357
+ u({ attribute: "loading-trip", type: Boolean })
358
+ ], p.prototype, "loadingTrip", 2);
359
+ m([
360
+ u({ attribute: "loading-price", type: Boolean })
361
+ ], p.prototype, "loadingPrice", 2);
362
+ m([
363
+ u({ attribute: "card-action-label" })
364
+ ], p.prototype, "cardActionLabel", 2);
365
+ m([
366
+ u({ attribute: "accessibility-expanded", type: Boolean })
367
+ ], p.prototype, "accessibilityExpanded", 2);
368
+ m([
369
+ u({ type: Boolean })
370
+ ], p.prototype, "active", 2);
371
+ m([
372
+ u()
373
+ ], p.prototype, "now", 1);
374
+ p = m([
375
375
  Me("sbb-timetable-row")
376
- ], m);
376
+ ], p);
377
377
  export {
378
- m as SbbTimetableRowElement,
378
+ p as SbbTimetableRowElement,
379
379
  We as filterNotices,
380
380
  Ue as getCus,
381
381
  Be as getHimIcon,
382
- k as handleNotices,
383
- Le as renderIconProduct,
384
- Se as renderStringProduct,
382
+ P as handleNotices,
383
+ ke as renderIconProduct,
384
+ Le as renderStringProduct,
385
385
  De as sortSituation
386
386
  };