@sbb-esta/lyne-elements-experimental 0.52.0 → 0.52.1

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 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";
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";
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
- import { f as oe } from "./format-CEz7IGRJ.js";
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;
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;
19
19
  };
20
- const ke = (e, t) => b`<span class="sbb-timetable__row-transport">
20
+ const Le = (e, t) => l`<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>`, 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}
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}
27
27
  </span>`;
28
- }, le = (e) => {
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
28
  }, 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;
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
+ }, 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;
46
46
  }, ce = (e) => {
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;
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;
52
52
  }, De = (e) => {
53
53
  const t = {
54
54
  DISTURBANCE: 0,
@@ -59,7 +59,7 @@ const ke = (e, t) => b`<span class="sbb-timetable__row-transport">
59
59
  END_MESSAGE: 5
60
60
  };
61
61
  return [...e].sort(
62
- (a, n) => t[a.cause] - t[n.cause]
62
+ (s, i) => t[s.cause] - t[i.cause]
63
63
  );
64
64
  }, Be = (e) => {
65
65
  var t;
@@ -96,62 +96,58 @@ const ke = (e, t) => b`<span class="sbb-timetable__row-transport">
96
96
  };
97
97
  }
98
98
  }, Ue = (e, t) => {
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)
105
- return { name: "alternative", text: s.alternativeText };
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 };
106
102
  if (be(r))
107
- return { name: "reroute", text: be(r) };
108
- if (ce(r))
109
- return { name: "add-stop", text: ce(r) };
110
- if (s != null && s.delayed || s != null && s.delayedUnknown)
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) };
106
+ if (ce(r)) return { name: "add-stop", text: ce(r) };
107
+ if (a != null && a.delayed || a != null && a.delayedUnknown)
111
108
  return { name: "delay", text: Ee(r) };
112
- if (s != null && s.quayChanged) {
113
- const i = r[0].departure;
109
+ if (a != null && a.quayChanged) {
110
+ const n = r[0].departure;
114
111
  return {
115
112
  name: "platform-change",
116
- text: i.quayChanged ? i.quayChangedText : we[t]
113
+ text: n.quayChanged ? n.quayChangedText : xe[t]
117
114
  };
118
115
  }
119
116
  return {};
120
117
  }, ze = (e) => {
121
118
  const t = ["RR", "RK", "RC", "RL", "RM", "RS", "RU", "XP", "XR", "XT"];
122
- return e.reduce((a, n) => {
123
- if (a)
124
- return a;
125
- if (t.includes(n.name))
126
- return { ...n, name: "RR" };
119
+ return e.reduce((s, i) => {
120
+ if (s) return s;
121
+ if (t.includes(i.name))
122
+ return { ...i, name: "RR" };
127
123
  }, void 0);
128
124
  }, We = (e) => {
129
125
  const t = ["Z", "SB", "SZ", "VR", "TG"];
130
- 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));
131
- }, P = (e) => {
132
- const t = ze(e), a = We(e);
133
- return t === void 0 ? a : a.length ? a[0].name === "Z" && a[1] ? [a[0], t, a[1]].concat(
134
- a.slice(2)
135
- ) : [t, ...a] : [t];
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];
136
132
  };
137
- let p = class extends Ae {
133
+ let m = class extends Ae {
138
134
  constructor() {
139
- super(...arguments), this.loadingTrip = !1, this.loadingPrice = !1, this._now = null, this._language = new fe(this);
135
+ super(...arguments), this.loadingTrip = !1, this.loadingPrice = !1, this.b = null, this.a = new ve(this);
140
136
  }
141
137
  set now(e) {
142
- this._now = Y.getValidDateOrNull(Y.deserialize(e));
138
+ this.b = Q.getValidDateOrNull(Q.deserialize(e));
143
139
  }
144
140
  get now() {
145
- return this._now ?? /* @__PURE__ */ new Date();
141
+ return this.b ?? /* @__PURE__ */ new Date();
146
142
  }
147
143
  willUpdate(e) {
148
- super.willUpdate(e), e.has("loadingTrip") && ve(this, "role", this.loadingTrip ? null : "rowgroup");
144
+ super.willUpdate(e), e.has("loadingTrip") && _e(this, "role", this.loadingTrip ? null : "rowgroup");
149
145
  }
150
146
  /** The skeleton render function for the loading state */
151
- _renderSkeleton() {
152
- return b`
147
+ f() {
148
+ return l`
153
149
  <sbb-card size="l" class="sbb-loading">
154
- ${this.loadingPrice ? b`<sbb-card-badge class="sbb-loading__badge"></sbb-card-badge>` : c}
150
+ ${this.loadingPrice ? l`<sbb-card-badge class="sbb-loading__badge"></sbb-card-badge>` : c}
155
151
  <div class="sbb-loading__wrapper">
156
152
  <div class="sbb-loading__row"></div>
157
153
  <div class="sbb-loading__row"></div>
@@ -160,12 +156,12 @@ let p = class extends Ae {
160
156
  </sbb-card>
161
157
  `;
162
158
  }
163
- _getQuayType(e) {
159
+ c(e) {
164
160
  switch (e) {
165
161
  case "TRAIN":
166
- return ye;
162
+ return $e;
167
163
  case "SHIP":
168
- return xe;
164
+ return we;
169
165
  case "TRAMWAY":
170
166
  return X;
171
167
  case "BUS":
@@ -174,23 +170,21 @@ let p = class extends Ae {
174
170
  return;
175
171
  }
176
172
  }
177
- _getQuayTypeStrings() {
178
- var t, a;
179
- if (!((t = this.trip.summary) != null && t.product))
180
- return null;
181
- const e = this._getQuayType((a = this.trip.summary.product) == null ? void 0 : a.vehicleMode);
173
+ d() {
174
+ var t, s;
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);
182
177
  return {
183
- long: e == null ? void 0 : e.long[this._language.current],
184
- short: e == null ? void 0 : e.short[this._language.current]
178
+ long: e == null ? void 0 : e.long[this.a.current],
179
+ short: e == null ? void 0 : e.short[this.a.current]
185
180
  };
186
181
  }
187
182
  /** map Quay */
188
- _renderQuayType() {
183
+ g() {
189
184
  var t;
190
- if (!((t = this.trip.summary) != null && t.product))
191
- return;
192
- const e = this._getQuayTypeStrings();
193
- return b`
185
+ if (!((t = this.trip.summary) != null && t.product)) return;
186
+ const e = this.d();
187
+ return l`
194
188
  <span class="sbb-timetable__row--quay">
195
189
  <span class="sbb-screen-reader-only">${e == null ? void 0 : e.long}&nbsp;</span>
196
190
  <span class="sbb-timetable__row--quay-type" aria-hidden="true"
@@ -199,146 +193,146 @@ let p = class extends Ae {
199
193
  </span>
200
194
  `;
201
195
  }
202
- _handleHimCus(e) {
196
+ e(e) {
203
197
  var r;
204
- const { situations: t } = e || {}, a = t && De(t), n = Ue(e, this._language.current);
198
+ const { situations: t } = e || {}, s = t && De(t), i = Ue(e, this.a.current);
205
199
  return {
206
- cus: (r = Object.keys(n)) != null && r.length ? n : null,
207
- him: t != null && t.length ? Be(a[0]) : null
200
+ cus: (r = Object.keys(i)) != null && r.length ? i : null,
201
+ him: t != null && t.length ? Be(s[0]) : null
208
202
  };
209
203
  }
210
- _getAccessibilityText(e) {
211
- var L, E, D, B, U, z, W, Q, q, F, H, j;
212
- const { summary: t, legs: a, notices: n } = e || {}, {
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 || {}, {
213
207
  departureWalk: r,
214
- arrivalWalk: s,
215
- departure: i,
216
- arrival: l,
217
- product: g,
208
+ arrivalWalk: a,
209
+ departure: n,
210
+ arrival: b,
211
+ product: h,
218
212
  direction: R,
219
213
  occupancy: o,
220
- duration: _
221
- } = t || {}, { departureTimeAttribute: h, arrivalTimeAttribute: v } = Re(
222
- a,
214
+ duration: u
215
+ } = t || {}, { departureTimeAttribute: p, arrivalTimeAttribute: _ } = Re(
216
+ s,
223
217
  r || 0,
224
- s || 0,
225
- this._language.current
226
- ), 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 = () => {
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 = () => {
227
221
  var M;
228
- 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}, ` : "";
229
- }, 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")}, ` : "";
230
- let I = "";
231
- 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]}.`));
232
- const k = n && P(n).length && ((j = P(n)) == null ? void 0 : j.map((J, M) => {
233
- var K;
234
- return M < 4 && ((K = J.text) == null ? void 0 : K.template);
235
- }).join(", ")) + ", ", ue = k ? `${Ce[this._language.current]}: ${k}` : "", _e = _ && _ > 0 ? `${ae[this._language.current]} ${ie(_, this._language.current).long}, ` : "";
236
- return `${y} ${T} ${C()} ${N} ${A} ${S} ${x} ${ge} ${pe} ${x ? "" : de} ${me} ${$} ${_e} ${he} ${I} ${ue}`;
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}`;
237
231
  }
238
232
  render() {
239
- var y, $, T, C, N;
233
+ var $, y, T, N, C;
240
234
  if (this.loadingTrip)
241
- return this._renderSkeleton();
242
- const { legs: e, id: t, notices: a, summary: n } = this.trip || {}, {
235
+ return this.f();
236
+ const { legs: e, id: t, notices: s, summary: i } = this.trip || {}, {
243
237
  product: r,
244
- direction: s,
245
- departureWalk: i,
246
- departure: l,
247
- arrival: g,
238
+ direction: a,
239
+ departureWalk: n,
240
+ departure: b,
241
+ arrival: h,
248
242
  arrivalWalk: R,
249
243
  occupancy: o,
250
- duration: _
251
- } = n || {}, h = this._handleHimCus(this.trip), v = !!h.cus || !!h.him, f = a && P(a), w = _ ? ie(_, this._language.current) : null;
252
- return b`
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`
253
247
  <sbb-card size="l" id=${t}>
254
248
  <sbb-card-button
255
249
  ?active=${this.active}
256
- aria-expanded=${((y = this.accessibilityExpanded) == null ? void 0 : y.toString()) ?? c}
250
+ aria-expanded=${(($ = this.accessibilityExpanded) == null ? void 0 : $.toString()) ?? c}
257
251
  >
258
- ${this.cardActionLabel ? this.cardActionLabel : this._getAccessibilityText(this.trip)}
252
+ ${this.cardActionLabel ? this.cardActionLabel : this.h(this.trip)}
259
253
  </sbb-card-button>
260
- ${this.loadingPrice ? b`<sbb-card-badge class="sbb-loading__badge"></sbb-card-badge>` : c}
261
- ${this.price && !this.loadingPrice ? b`<sbb-card-badge color=${this.price.isDiscount ? "charcoal" : "white"}>
262
- ${this.price.isDiscount ? b`<span aria-hidden="true">
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">
263
257
  %<span class="sbb-screen-reader-only"
264
- >${ee[this._language.current]}</span
258
+ >${ee[this.a.current]}</span
265
259
  >
266
260
  </span>` : c}
267
- ${this.price.text ? b`<span>${this.price.text}</span>` : c}
268
- ${this.price.price ? b`<span>${this.price.price}</span>` : c}
261
+ ${this.price.text ? l`<span>${this.price.text}</span>` : c}
262
+ ${this.price.price ? l`<span>${this.price.price}</span>` : c}
269
263
  </sbb-card-badge>` : c}
270
264
  <div class="sbb-timetable__row" role="row">
271
265
  <div class="sbb-timetable__row-header" role="gridcell">
272
266
  <div class="sbb-timetable__row-details">
273
- ${(r == null ? void 0 : r.corporateIdentityPictogram) && b`<span class="sbb-timetable__row-transport-wrapper">
267
+ ${(r == null ? void 0 : r.corporateIdentityPictogram) && l`<span class="sbb-timetable__row-transport-wrapper">
274
268
  <sbb-icon
275
269
  class="sbb-timetable__row-transport-icon"
276
270
  name="picto:${r.corporateIdentityPictogram}"
277
271
  ></sbb-icon>
278
272
  <span class="sbb-screen-reader-only">
279
- ${r && r.vehicleMode && O[r.vehicleMode.toLowerCase()] && O[r.vehicleMode.toLowerCase()][this._language.current]}
273
+ ${r && r.vehicleMode && O[r.vehicleMode.toLowerCase()] && O[r.vehicleMode.toLowerCase()][this.a.current]}
280
274
  &nbsp;
281
275
  </span>
282
276
  </span>`}
283
- ${r && (r.corporateIdentityIcon ? ke(r.corporateIdentityIcon, r.name) : r.vehicleSubModeShortName && Le(r.vehicleSubModeShortName, r == null ? void 0 : r.line))}
277
+ ${r && (r.corporateIdentityIcon ? Le(r.corporateIdentityIcon, r.name) : r.vehicleSubModeShortName && Se(r.vehicleSubModeShortName, r == null ? void 0 : r.line))}
284
278
  </div>
285
- ${s ? b`<p>${`${G[this._language.current]} ${s}`}</p>` : c}
279
+ ${a ? l`<p>${`${G[this.a.current]} ${a}`}</p>` : c}
286
280
  </div>
287
281
  <sbb-pearl-chain-time
288
282
  role="gridcell"
289
283
  .legs=${e}
290
- .departureTime=${l == null ? void 0 : l.time}
291
- .arrivalTime=${g == null ? void 0 : g.time}
292
- .departureWalk=${i}
284
+ .departureTime=${b == null ? void 0 : b.time}
285
+ .arrivalTime=${h == null ? void 0 : h.time}
286
+ .departureWalk=${n}
293
287
  .arrivalWalk=${R}
294
288
  ?disable-animation=${this.disableAnimation}
295
289
  .now=${this.now}
296
290
  ></sbb-pearl-chain-time>
297
291
  <div class="sbb-timetable__row-footer" role="gridcell">
298
- ${r && this._getQuayType(r.vehicleMode) && (l != null && l.quayFormatted) ? b`<span
299
- class=${l != null && l.quayChanged ? "sbb-timetable__row-quay--changed" : c}
292
+ ${r && this.c(r.vehicleMode) && (b != null && b.quayFormatted) ? l`<span
293
+ class=${b != null && b.quayChanged ? "sbb-timetable__row-quay--changed" : c}
300
294
  >
301
295
  <span class="sbb-screen-reader-only">
302
- ${`${Z[this._language.current]} ${l != null && l.quayChanged ? se[this._language.current] : ""}`}
296
+ ${`${Z[this.a.current]} ${b != null && b.quayChanged ? ae[this.a.current] : ""}`}
303
297
  &nbsp;
304
298
  </span>
305
- ${this._renderQuayType()} ${l == null ? void 0 : l.quayFormatted}
299
+ ${this.g()} ${b == null ? void 0 : b.quayFormatted}
306
300
  </span>` : c}
307
- ${o != null && o.firstClass && (o == null ? void 0 : o.firstClass) !== "UNKNOWN" || o != null && o.secondClass && o.secondClass !== "UNKNOWN" ? b`<sbb-timetable-occupancy
308
- .firstClassOccupancy=${($ = o == null ? void 0 : o.firstClass) == null ? void 0 : $.toLowerCase()}
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()}
309
303
  .secondClassOccupancy=${(T = o == null ? void 0 : o.secondClass) == null ? void 0 : T.toLowerCase()}
310
304
  ></sbb-timetable-occupancy>` : c}
311
- ${f && f.length || this.boarding ? b`<ul class="sbb-timetable__row-hints" role="list">
312
- ${f == null ? void 0 : f.map(
313
- (A, S) => {
314
- var d, x;
315
- return S < 4 ? b`<li>
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>
316
310
  <sbb-icon
317
311
  class="sbb-travel-hints__item"
318
312
  name=${"sa-" + ((d = A.name) == null ? void 0 : d.toLowerCase())}
319
313
  ></sbb-icon>
320
- <span class="sbb-screen-reader-only">${(x = A.text) == null ? void 0 : x.template}</span>
314
+ <span class="sbb-screen-reader-only">${(w = A.text) == null ? void 0 : w.template}</span>
321
315
  </li>` : c;
322
316
  }
323
317
  )}
324
- ${this.boarding ? b`<li>
318
+ ${this.boarding ? l`<li>
325
319
  <sbb-icon
326
320
  class="sbb-travel-hints__item"
327
- name=${(C = this.boarding) == null ? void 0 : C.name}
328
- aria-label=${(N = this.boarding) == null ? void 0 : N.text}
321
+ name=${(N = this.boarding) == null ? void 0 : N.name}
322
+ aria-label=${(C = this.boarding) == null ? void 0 : C.text}
329
323
  aria-hidden="false"
330
324
  ></sbb-icon>
331
325
  </li>` : c}
332
326
  </ul>` : c}
333
- ${_ && _ > 0 ? b`<time>
327
+ ${u && u > 0 ? l`<time>
334
328
  <span class="sbb-screen-reader-only">
335
- ${`${ae[this._language.current]} ${w.long}`}
329
+ ${`${se[this.a.current]} ${x.long}`}
336
330
  </span>
337
- <span aria-hidden="true">${w.short}</span>
331
+ <span aria-hidden="true">${x.short}</span>
338
332
  </time>` : c}
339
- ${v && (h.cus || h.him) ? b`<span class="sbb-timetable__row-warning">
340
- <sbb-icon name=${(h.cus || h.him).name}></sbb-icon>
341
- <span class="sbb-screen-reader-only">${(h.cus || h.him).text}</span>
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>
342
336
  </span>` : c}
343
337
  </div>
344
338
  </div>
@@ -346,47 +340,47 @@ let p = class extends Ae {
346
340
  `;
347
341
  }
348
342
  };
349
- p.styles = Se;
350
- m([
351
- u({ type: Object })
352
- ], p.prototype, "trip", 2);
353
- m([
354
- u({ type: Object })
355
- ], p.prototype, "price", 2);
356
- m([
357
- u({ attribute: "disable-animation", reflect: !0, type: Boolean })
358
- ], p.prototype, "disableAnimation", 2);
359
- m([
360
- u({ type: Object })
361
- ], p.prototype, "boarding", 2);
362
- m([
363
- u({ attribute: "loading-trip", type: Boolean })
364
- ], p.prototype, "loadingTrip", 2);
365
- m([
366
- u({ attribute: "loading-price", type: Boolean })
367
- ], p.prototype, "loadingPrice", 2);
368
- m([
369
- u({ attribute: "card-action-label" })
370
- ], p.prototype, "cardActionLabel", 2);
371
- m([
372
- u({ attribute: "accessibility-expanded", type: Boolean })
373
- ], p.prototype, "accessibilityExpanded", 2);
374
- m([
375
- u({ type: Boolean })
376
- ], p.prototype, "active", 2);
377
- m([
378
- u()
379
- ], p.prototype, "now", 1);
380
- p = m([
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([
381
375
  Me("sbb-timetable-row")
382
- ], p);
376
+ ], m);
383
377
  export {
384
- p as SbbTimetableRowElement,
378
+ m as SbbTimetableRowElement,
385
379
  We as filterNotices,
386
380
  Ue as getCus,
387
381
  Be as getHimIcon,
388
- P as handleNotices,
389
- ke as renderIconProduct,
390
- Le as renderStringProduct,
382
+ k as handleNotices,
383
+ Le as renderIconProduct,
384
+ Se as renderStringProduct,
391
385
  De as sortSituation
392
386
  };