@sbb-esta/lyne-elements-experimental-dev 5.10.0-dev.1790653544 → 5.10.0-dev.1790694686

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.
@@ -18505,6 +18505,28 @@
18505
18505
  "description": "The price Prop, which consists of the data for the badge.",
18506
18506
  "attribute": "price"
18507
18507
  },
18508
+ {
18509
+ "kind": "field",
18510
+ "name": "badgeLabel",
18511
+ "type": {
18512
+ "text": "string"
18513
+ },
18514
+ "privacy": "public",
18515
+ "default": "''",
18516
+ "description": "The label for the badge. Can be used to override the content of the badge.",
18517
+ "attribute": "badge-label"
18518
+ },
18519
+ {
18520
+ "kind": "field",
18521
+ "name": "badgeColor",
18522
+ "type": {
18523
+ "text": "'light' | 'dark' | null"
18524
+ },
18525
+ "privacy": "public",
18526
+ "default": "null",
18527
+ "description": "Forces the badge color. If not set, the color is derived from `price.isDiscount`.",
18528
+ "attribute": "badge-color"
18529
+ },
18508
18530
  {
18509
18531
  "kind": "field",
18510
18532
  "name": "disableAnimation",
@@ -18988,6 +19010,24 @@
18988
19010
  "description": "The price Prop, which consists of the data for the badge.",
18989
19011
  "fieldName": "price"
18990
19012
  },
19013
+ {
19014
+ "name": "badge-label",
19015
+ "type": {
19016
+ "text": "string"
19017
+ },
19018
+ "default": "''",
19019
+ "description": "The label for the badge. Can be used to override the content of the badge.",
19020
+ "fieldName": "badgeLabel"
19021
+ },
19022
+ {
19023
+ "name": "badge-color",
19024
+ "type": {
19025
+ "text": "'light' | 'dark' | null"
19026
+ },
19027
+ "default": "null",
19028
+ "description": "Forces the badge color. If not set, the color is derived from `price.isDiscount`.",
19029
+ "fieldName": "badgeColor"
19030
+ },
18991
19031
  {
18992
19032
  "name": "disable-animation",
18993
19033
  "type": {
@@ -34,6 +34,10 @@ export declare class SbbTimetableRowElement extends SbbElement {
34
34
  accessor trip: ITripItem;
35
35
  /** The price Prop, which consists of the data for the badge. */
36
36
  accessor price: Price;
37
+ /** The label for the badge. Can be used to override the content of the badge. */
38
+ accessor badgeLabel: string;
39
+ /** Forces the badge color. If not set, the color is derived from `price.isDiscount`. */
40
+ accessor badgeColor: 'light' | 'dark' | null;
37
41
  /** This will be forwarded to the sbb-pearl-chain component - if true the position won't be animated. */
38
42
  accessor disableAnimation: boolean;
39
43
  /** This will be forwarded to the notices section */
@@ -2450,6 +2450,12 @@ let SbbTimetableRowElement = (() => {
2450
2450
  let _price_decorators;
2451
2451
  let _price_initializers = [];
2452
2452
  let _price_extraInitializers = [];
2453
+ let _badgeLabel_decorators;
2454
+ let _badgeLabel_initializers = [];
2455
+ let _badgeLabel_extraInitializers = [];
2456
+ let _badgeColor_decorators;
2457
+ let _badgeColor_initializers = [];
2458
+ let _badgeColor_extraInitializers = [];
2453
2459
  let _disableAnimation_decorators;
2454
2460
  let _disableAnimation_initializers = [];
2455
2461
  let _disableAnimation_extraInitializers = [];
@@ -2480,7 +2486,9 @@ let SbbTimetableRowElement = (() => {
2480
2486
  super(...arguments);
2481
2487
  this.#trip_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _trip_initializers, null));
2482
2488
  this.#price_accessor_storage = (__runInitializers(this, _trip_extraInitializers), __runInitializers(this, _price_initializers, null));
2483
- this.#disableAnimation_accessor_storage = (__runInitializers(this, _price_extraInitializers), __runInitializers(this, _disableAnimation_initializers, false));
2489
+ this.#badgeLabel_accessor_storage = (__runInitializers(this, _price_extraInitializers), __runInitializers(this, _badgeLabel_initializers, ""));
2490
+ this.#badgeColor_accessor_storage = (__runInitializers(this, _badgeLabel_extraInitializers), __runInitializers(this, _badgeColor_initializers, null));
2491
+ this.#disableAnimation_accessor_storage = (__runInitializers(this, _badgeColor_extraInitializers), __runInitializers(this, _disableAnimation_initializers, false));
2484
2492
  this.#boarding_accessor_storage = (__runInitializers(this, _disableAnimation_extraInitializers), __runInitializers(this, _boarding_initializers, null));
2485
2493
  this.#loadingTrip_accessor_storage = (__runInitializers(this, _boarding_extraInitializers), __runInitializers(this, _loadingTrip_initializers, false));
2486
2494
  this.#a11yFootpath_accessor_storage = (__runInitializers(this, _loadingTrip_extraInitializers), __runInitializers(this, _a11yFootpath_initializers, false));
@@ -2495,6 +2503,11 @@ let SbbTimetableRowElement = (() => {
2495
2503
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
2496
2504
  _trip_decorators = [property({ type: Object })];
2497
2505
  _price_decorators = [property({ type: Object })];
2506
+ _badgeLabel_decorators = [forceType(), property({
2507
+ type: String,
2508
+ attribute: "badge-label"
2509
+ })];
2510
+ _badgeColor_decorators = [property({ attribute: "badge-color" })];
2498
2511
  _disableAnimation_decorators = [forceType(), property({
2499
2512
  attribute: "disable-animation",
2500
2513
  reflect: true,
@@ -2548,6 +2561,34 @@ let SbbTimetableRowElement = (() => {
2548
2561
  },
2549
2562
  metadata: _metadata
2550
2563
  }, _price_initializers, _price_extraInitializers);
2564
+ __esDecorate(this, null, _badgeLabel_decorators, {
2565
+ kind: "accessor",
2566
+ name: "badgeLabel",
2567
+ static: false,
2568
+ private: false,
2569
+ access: {
2570
+ has: (obj) => "badgeLabel" in obj,
2571
+ get: (obj) => obj.badgeLabel,
2572
+ set: (obj, value) => {
2573
+ obj.badgeLabel = value;
2574
+ }
2575
+ },
2576
+ metadata: _metadata
2577
+ }, _badgeLabel_initializers, _badgeLabel_extraInitializers);
2578
+ __esDecorate(this, null, _badgeColor_decorators, {
2579
+ kind: "accessor",
2580
+ name: "badgeColor",
2581
+ static: false,
2582
+ private: false,
2583
+ access: {
2584
+ has: (obj) => "badgeColor" in obj,
2585
+ get: (obj) => obj.badgeColor,
2586
+ set: (obj, value) => {
2587
+ obj.badgeColor = value;
2588
+ }
2589
+ },
2590
+ metadata: _metadata
2591
+ }, _badgeColor_initializers, _badgeColor_extraInitializers);
2551
2592
  __esDecorate(this, null, _disableAnimation_decorators, {
2552
2593
  kind: "accessor",
2553
2594
  name: "disableAnimation",
@@ -2716,6 +2757,22 @@ let SbbTimetableRowElement = (() => {
2716
2757
  set price(value) {
2717
2758
  this.#price_accessor_storage = value;
2718
2759
  }
2760
+ #badgeLabel_accessor_storage;
2761
+ /** The label for the badge. Can be used to override the content of the badge. */
2762
+ get badgeLabel() {
2763
+ return this.#badgeLabel_accessor_storage;
2764
+ }
2765
+ set badgeLabel(value) {
2766
+ this.#badgeLabel_accessor_storage = value;
2767
+ }
2768
+ #badgeColor_accessor_storage;
2769
+ /** Forces the badge color. If not set, the color is derived from `price.isDiscount`. */
2770
+ get badgeColor() {
2771
+ return this.#badgeColor_accessor_storage;
2772
+ }
2773
+ set badgeColor(value) {
2774
+ this.#badgeColor_accessor_storage = value;
2775
+ }
2719
2776
  #disableAnimation_accessor_storage;
2720
2777
  /** This will be forwarded to the sbb-pearl-chain component - if true the position won't be animated. */
2721
2778
  get disableAnimation() {
@@ -2875,7 +2932,7 @@ let SbbTimetableRowElement = (() => {
2875
2932
  const cusText = himCus?.cus?.text ? `${i18nRealTimeInfo[this._language.current]}: ${himCus?.cus?.text}, ` : "";
2876
2933
  const himText = himCus?.him?.text ? `${i18nRealTimeInfo[this._language.current]}: ${himCus?.him?.text}, ` : "";
2877
2934
  const boardingText = this.boarding ? `${this.boarding.text}, ` : "";
2878
- const priceText = `${this.price?.isDiscount ? i18nSupersaver[this._language.current] : ""} ${this.price?.text && this.price?.price ? (this.price?.text || "") + " " + (this.price?.price || "") + ", " : ""}`;
2935
+ const badgeContent = this.badgeLabel ? `${this.badgeLabel}, ` : `${this.price?.isDiscount ? i18nSupersaver[this._language.current] : ""} ${this.price?.text && this.price?.price ? (this.price?.text || "") + " " + (this.price?.price || "") + ", " : ""}`;
2879
2936
  const transferProcedures = rideLegs.length > 2 ? `${rideLegs.length - 1} ${i18nTransferProcedures[this._language.current]}, ` : rideLegs.length > 1 ? `${rideLegs.length - 1} ${i18nTransferProcedure[this._language.current]}, ` : "";
2880
2937
  const arrivalTimeText = arrivalTime ? `${i18nArrival[this._language.current]}: ${format(arrivalTime, "HH:mm")}, ` : "";
2881
2938
  let occupancyText = "";
@@ -2895,7 +2952,7 @@ let SbbTimetableRowElement = (() => {
2895
2952
  directionText,
2896
2953
  cusText,
2897
2954
  boardingText,
2898
- priceText,
2955
+ badgeContent,
2899
2956
  cusText ? "" : himText,
2900
2957
  arrivalTimeText,
2901
2958
  arrivalWalkText,
@@ -2922,14 +2979,16 @@ let SbbTimetableRowElement = (() => {
2922
2979
  ${this.cardActionLabel ? this.cardActionLabel : this._getAccessibilityText(this.trip)}
2923
2980
  </sbb-card-button>
2924
2981
  ${this.loadingPrice ? html`<div class="sbb-loading__badge" slot="badge"></div>` : nothing}
2925
- ${this.price && !this.loadingPrice ? html`<sbb-card-badge color=${this.price.isDiscount ? "charcoal" : "white"}>
2926
- ${this.price.isDiscount ? html`<span aria-hidden="true">
2982
+ ${(this.price || this.badgeLabel) && !this.loadingPrice ? html`<sbb-card-badge
2983
+ color=${this.price?.isDiscount && !this.badgeColor || this.badgeColor === "dark" ? "charcoal" : "white"}
2984
+ >
2985
+ ${this.price?.isDiscount && !this.badgeLabel ? html`<span aria-hidden="true">
2927
2986
  %<span class="sbb-screen-reader-only"
2928
2987
  >${i18nSupersaver[this._language.current]}</span
2929
2988
  >
2930
2989
  </span>` : nothing}
2931
- ${this.price.text ? html`<span>${this.price.text}</span>` : nothing}
2932
- ${this.price.price ? html`<span>${this.price.price}</span>` : nothing}
2990
+ ${this.price?.text || this.badgeLabel ? html`<span>${this.badgeLabel || this.price.text}</span>` : nothing}
2991
+ ${this.price?.price && !this.badgeLabel ? html`<span>${this.price.price}</span>` : nothing}
2933
2992
  </sbb-card-badge>` : nothing}
2934
2993
  <div class="sbb-timetable__row" role="row">
2935
2994
  <div class="sbb-timetable__row-header" role="gridcell">
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@sbb-esta/lyne-elements-experimental-dev",
3
- "version": "5.10.0-dev.1790653544",
3
+ "version": "5.10.0-dev.1790694686",
4
4
  "description": "Lyne Design System",
5
5
  "keywords": [
6
6
  "design system",
7
7
  "web components",
8
8
  "lit",
9
- "https://github.com/sbb-design-systems/lyne-components/commit/bc9fdc0f0cad4bb25ddfd7dca35609d0ce2cd246"
9
+ "https://github.com/sbb-design-systems/lyne-components/commit/09be34ddb50ad3b8c7c06ec64903fcf80bf02d9b"
10
10
  ],
11
11
  "type": "module",
12
12
  "exports": {
@@ -1,47 +1,49 @@
1
- import{__esDecorate as e,__runInitializers as t}from"tslib";import{SbbCardBadgeElement as n,SbbCardButtonElement as r,SbbCardElement as i}from"@sbb-esta/lyne-elements/card.pure.js";import{SbbElement as a,SbbLanguageController as o,defaultDateAdapter as s,forceType as c,i18nArrival as l,i18nClass as u,i18nDeparture as ee,i18nDirection as te,i18nFromPlatform as d,i18nMeansOfTransport as f,i18nNew as ne,i18nOccupancy as p,i18nRealTimeInfo as re,i18nSupersaver as ie,i18nTransferProcedure as m,i18nTransferProcedures as ae,i18nTravelhints as oe,i18nTripDuration as se,i18nTripQuayChange as h,listResetStyles as g,screenReaderOnlyStyles as _}from"@sbb-esta/lyne-elements/core.js";import{SbbIconElement as v}from"@sbb-esta/lyne-elements/icon.pure.js";import{SbbTimetableOccupancyElement as y}from"@sbb-esta/lyne-elements/timetable-occupancy.pure.js";import{html as b,nothing as x,unsafeCSS as ce}from"lit";import{property as S}from"lit/decorators.js";import{durationToTime as le,getDepartureArrivalTimeAttribute as ue,isRideLeg as C,removeTimezoneFromISOTimeString as de}from"./core.js";import{SbbPearlChainTimeElement as fe}from"./pearl-chain-time.pure.js";const w=6048e5,T=Symbol.for(`constructDateFrom`);function E(e,t){return typeof e==`function`?e(t):e&&typeof e==`object`&&T in e?e[T](t):e instanceof Date?new e.constructor(t):new Date(t)}function D(e,t){return E(t||e,e)}let O={};function k(){return O}function A(e,t){let n=k(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=D(e,t?.in),a=i.getDay(),o=(a<r?7:0)+a-r;return i.setDate(i.getDate()-o),i.setHours(0,0,0,0),i}function j(e,t){return A(e,{...t,weekStartsOn:1})}function M(e,t){let n=D(e,t?.in),r=n.getFullYear(),i=E(n,0);i.setFullYear(r+1,0,4),i.setHours(0,0,0,0);let a=j(i),o=E(n,0);o.setFullYear(r,0,4),o.setHours(0,0,0,0);let s=j(o);return n.getTime()>=a.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function N(e){let t=D(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-n}function P(e,...t){let n=E.bind(null,e||t.find(e=>typeof e==`object`));return t.map(n)}function F(e,t){let n=D(e,t?.in);return n.setHours(0,0,0,0),n}function I(e,t,n){let[r,i]=P(n?.in,e,t),a=F(r),o=F(i),s=+a-N(a),c=+o-N(o);return Math.round((s-c)/864e5)}function L(e,t){let n=M(e,t),r=E(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),j(r)}function R(e){return e instanceof Date||typeof e==`object`&&Object.prototype.toString.call(e)===`[object Date]`}function z(e){return!(!R(e)&&typeof e!=`number`||isNaN(+D(e)))}function B(e,t){let n=D(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}const V={lessThanXSeconds:{one:`less than a second`,other:`less than {{count}} seconds`},xSeconds:{one:`1 second`,other:`{{count}} seconds`},halfAMinute:`half a minute`,lessThanXMinutes:{one:`less than a minute`,other:`less than {{count}} minutes`},xMinutes:{one:`1 minute`,other:`{{count}} minutes`},aboutXHours:{one:`about 1 hour`,other:`about {{count}} hours`},xHours:{one:`1 hour`,other:`{{count}} hours`},xDays:{one:`1 day`,other:`{{count}} days`},aboutXWeeks:{one:`about 1 week`,other:`about {{count}} weeks`},xWeeks:{one:`1 week`,other:`{{count}} weeks`},aboutXMonths:{one:`about 1 month`,other:`about {{count}} months`},xMonths:{one:`1 month`,other:`{{count}} months`},aboutXYears:{one:`about 1 year`,other:`about {{count}} years`},xYears:{one:`1 year`,other:`{{count}} years`},overXYears:{one:`over 1 year`,other:`over {{count}} years`},almostXYears:{one:`almost 1 year`,other:`almost {{count}} years`}},H=(e,t,n)=>{let r,i=V[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:r+` ago`:r};function U(e){return(t={})=>{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const W={date:U({formats:{full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},defaultWidth:`full`}),time:U({formats:{full:`h:mm:ss a zzzz`,long:`h:mm:ss a z`,medium:`h:mm:ss a`,short:`h:mm a`},defaultWidth:`full`}),dateTime:U({formats:{full:`{{date}} 'at' {{time}}`,long:`{{date}} 'at' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},G={lastWeek:`'last' eeee 'at' p`,yesterday:`'yesterday at' p`,today:`'today at' p`,tomorrow:`'tomorrow at' p`,nextWeek:`eeee 'at' p`,other:`P`},K=(e,t,n,r)=>G[e];function q(e){return(t,n)=>{let r=n?.context?String(n.context):`standalone`,i;if(r===`formatting`&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=n?.width?String(n.width):t;i=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=n?.width?String(n.width):e.defaultWidth;i=e.values[r]||e.values[t]}let a=e.argumentCallback?e.argumentCallback(t):t;return i[a]}}const pe={ordinalNumber:(e,t)=>{let n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+`st`;case 2:return n+`nd`;case 3:return n+`rd`}return n+`th`},era:q({values:{narrow:[`B`,`A`],abbreviated:[`BC`,`AD`],wide:[`Before Christ`,`Anno Domini`]},defaultWidth:`wide`}),quarter:q({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1st quarter`,`2nd quarter`,`3rd quarter`,`4th quarter`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:q({values:{narrow:[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],wide:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]},defaultWidth:`wide`}),day:q({values:{narrow:[`S`,`M`,`T`,`W`,`T`,`F`,`S`],short:[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`],abbreviated:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],wide:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`]},defaultWidth:`wide`}),dayPeriod:q({values:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`}},defaultFormattingWidth:`wide`})};function J(e){return(t,n={})=>{let r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(i);if(!a)return null;let o=a[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?he(s,e=>e.test(o)):me(s,e=>e.test(o)),l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;let u=t.slice(o.length);return{value:l,rest:u}}}function me(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function he(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function ge(e){return(t,n={})=>{let r=t.match(e.matchPattern);if(!r)return null;let i=r[0],a=t.match(e.parsePattern);if(!a)return null;let o=e.valueCallback?e.valueCallback(a[0]):a[0];o=n.valueCallback?n.valueCallback(o):o;let s=t.slice(i.length);return{value:o,rest:s}}}const _e={code:`en-US`,formatDistance:H,formatLong:W,formatRelative:K,localize:pe,match:{ordinalNumber:ge({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:J({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:`any`}),quarter:J({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:J({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:J({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:J({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function ve(e,t){let n=D(e,t?.in);return I(n,B(n))+1}function ye(e,t){let n=D(e,t?.in),r=+j(n)-L(n);return Math.round(r/w)+1}function be(e,t){let n=D(e,t?.in),r=n.getFullYear(),i=k(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=E(t?.in||e,0);o.setFullYear(r+1,0,a),o.setHours(0,0,0,0);let s=A(o,t),c=E(t?.in||e,0);c.setFullYear(r,0,a),c.setHours(0,0,0,0);let l=A(c,t);return+n>=+s?r+1:+n>=+l?r:r-1}function xe(e,t){let n=k(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=be(e,t),a=E(t?.in||e,0);return a.setFullYear(i,0,r),a.setHours(0,0,0,0),A(a,t)}function Se(e,t){let n=D(e,t?.in),r=+A(n,t)-xe(n,t);return Math.round(r/w)+1}function Y(e,t){return(e<0?`-`:``)+Math.abs(e).toString().padStart(t,`0`)}const X={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return Y(t===`yy`?r%100:r,t.length)},M(e,t){let n=e.getMonth();return t===`M`?String(n+1):Y(n+1,2)},d(e,t){return Y(e.getDate(),t.length)},a(e,t){let n=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.toUpperCase();case`aaa`:return n;case`aaaaa`:return n[0];default:return n===`am`?`a.m.`:`p.m.`}},h(e,t){return Y(e.getHours()%12||12,t.length)},H(e,t){return Y(e.getHours(),t.length)},m(e,t){return Y(e.getMinutes(),t.length)},s(e,t){return Y(e.getSeconds(),t.length)},S(e,t){let n=t.length,r=e.getMilliseconds();return Y(Math.trunc(r*10**(n-3)),t.length)}},Z={am:`am`,pm:`pm`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},Ce={G:function(e,t,n){let r=+(e.getFullYear()>0);switch(t){case`G`:case`GG`:case`GGG`:return n.era(r,{width:`abbreviated`});case`GGGGG`:return n.era(r,{width:`narrow`});default:return n.era(r,{width:`wide`})}},y:function(e,t,n){if(t===`yo`){let t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:`year`})}return X.y(e,t)},Y:function(e,t,n,r){let i=be(e,r),a=i>0?i:1-i;return t===`YY`?Y(a%100,2):t===`Yo`?n.ordinalNumber(a,{unit:`year`}):Y(a,t.length)},R:function(e,t){return Y(M(e),t.length)},u:function(e,t){return Y(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`Q`:return String(r);case`QQ`:return Y(r,2);case`Qo`:return n.ordinalNumber(r,{unit:`quarter`});case`QQQ`:return n.quarter(r,{width:`abbreviated`,context:`formatting`});case`QQQQQ`:return n.quarter(r,{width:`narrow`,context:`formatting`});default:return n.quarter(r,{width:`wide`,context:`formatting`})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`q`:return String(r);case`qq`:return Y(r,2);case`qo`:return n.ordinalNumber(r,{unit:`quarter`});case`qqq`:return n.quarter(r,{width:`abbreviated`,context:`standalone`});case`qqqqq`:return n.quarter(r,{width:`narrow`,context:`standalone`});default:return n.quarter(r,{width:`wide`,context:`standalone`})}},M:function(e,t,n){let r=e.getMonth();switch(t){case`M`:case`MM`:return X.M(e,t);case`Mo`:return n.ordinalNumber(r+1,{unit:`month`});case`MMM`:return n.month(r,{width:`abbreviated`,context:`formatting`});case`MMMMM`:return n.month(r,{width:`narrow`,context:`formatting`});default:return n.month(r,{width:`wide`,context:`formatting`})}},L:function(e,t,n){let r=e.getMonth();switch(t){case`L`:return String(r+1);case`LL`:return Y(r+1,2);case`Lo`:return n.ordinalNumber(r+1,{unit:`month`});case`LLL`:return n.month(r,{width:`abbreviated`,context:`standalone`});case`LLLLL`:return n.month(r,{width:`narrow`,context:`standalone`});default:return n.month(r,{width:`wide`,context:`standalone`})}},w:function(e,t,n,r){let i=Se(e,r);return t===`wo`?n.ordinalNumber(i,{unit:`week`}):Y(i,t.length)},I:function(e,t,n){let r=ye(e);return t===`Io`?n.ordinalNumber(r,{unit:`week`}):Y(r,t.length)},d:function(e,t,n){return t===`do`?n.ordinalNumber(e.getDate(),{unit:`date`}):X.d(e,t)},D:function(e,t,n){let r=ve(e);return t===`Do`?n.ordinalNumber(r,{unit:`dayOfYear`}):Y(r,t.length)},E:function(e,t,n){let r=e.getDay();switch(t){case`E`:case`EE`:case`EEE`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`EEEEE`:return n.day(r,{width:`narrow`,context:`formatting`});case`EEEEEE`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},e:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`e`:return String(a);case`ee`:return Y(a,2);case`eo`:return n.ordinalNumber(a,{unit:`day`});case`eee`:return n.day(i,{width:`abbreviated`,context:`formatting`});case`eeeee`:return n.day(i,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(i,{width:`short`,context:`formatting`});default:return n.day(i,{width:`wide`,context:`formatting`})}},c:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`c`:return String(a);case`cc`:return Y(a,t.length);case`co`:return n.ordinalNumber(a,{unit:`day`});case`ccc`:return n.day(i,{width:`abbreviated`,context:`standalone`});case`ccccc`:return n.day(i,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(i,{width:`short`,context:`standalone`});default:return n.day(i,{width:`wide`,context:`standalone`})}},i:function(e,t,n){let r=e.getDay(),i=r===0?7:r;switch(t){case`i`:return String(i);case`ii`:return Y(i,t.length);case`io`:return n.ordinalNumber(i,{unit:`day`});case`iii`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`iiiii`:return n.day(r,{width:`narrow`,context:`formatting`});case`iiiiii`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},a:function(e,t,n){let r=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`});case`aaa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`aaaaa`:return n.dayPeriod(r,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(r,{width:`wide`,context:`formatting`})}},b:function(e,t,n){let r=e.getHours(),i;switch(i=r===12?Z.noon:r===0?Z.midnight:r/12>=1?`pm`:`am`,t){case`b`:case`bb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`bbb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`bbbbb`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},B:function(e,t,n){let r=e.getHours(),i;switch(i=r>=17?Z.evening:r>=12?Z.afternoon:r>=4?Z.morning:Z.night,t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`BBBBB`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},h:function(e,t,n){if(t===`ho`){let t=e.getHours()%12;return t===0&&(t=12),n.ordinalNumber(t,{unit:`hour`})}return X.h(e,t)},H:function(e,t,n){return t===`Ho`?n.ordinalNumber(e.getHours(),{unit:`hour`}):X.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return t===`Ko`?n.ordinalNumber(r,{unit:`hour`}):Y(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t===`ko`?n.ordinalNumber(r,{unit:`hour`}):Y(r,t.length)},m:function(e,t,n){return t===`mo`?n.ordinalNumber(e.getMinutes(),{unit:`minute`}):X.m(e,t)},s:function(e,t,n){return t===`so`?n.ordinalNumber(e.getSeconds(),{unit:`second`}):X.s(e,t)},S:function(e,t){return X.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(r===0)return`Z`;switch(t){case`X`:return Te(r);case`XXXX`:case`XX`:return Q(r);default:return Q(r,`:`)}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`x`:return Te(r);case`xxxx`:case`xx`:return Q(r);default:return Q(r,`:`)}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`O`:case`OO`:case`OOO`:return`GMT`+we(r,`:`);default:return`GMT`+Q(r,`:`)}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`z`:case`zz`:case`zzz`:return`GMT`+we(r,`:`);default:return`GMT`+Q(r,`:`)}},t:function(e,t,n){return Y(Math.trunc(e/1e3),t.length)},T:function(e,t,n){return Y(+e,t.length)}};function we(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Math.trunc(r/60),a=r%60;return a===0?n+String(i):n+String(i)+t+Y(a,2)}function Te(e,t){return e%60==0?(e>0?`-`:`+`)+Y(Math.abs(e)/60,2):Q(e,t)}function Q(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Y(Math.trunc(r/60),2),a=Y(r%60,2);return n+i+t+a}const Ee=(e,t)=>{switch(e){case`P`:return t.date({width:`short`});case`PP`:return t.date({width:`medium`});case`PPP`:return t.date({width:`long`});default:return t.date({width:`full`})}},De=(e,t)=>{switch(e){case`p`:return t.time({width:`short`});case`pp`:return t.time({width:`medium`});case`ppp`:return t.time({width:`long`});default:return t.time({width:`full`})}},Oe={p:De,P:(e,t)=>{let n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return Ee(e,t);let a;switch(r){case`P`:a=t.dateTime({width:`short`});break;case`PP`:a=t.dateTime({width:`medium`});break;case`PPP`:a=t.dateTime({width:`long`});break;default:a=t.dateTime({width:`full`})}return a.replace(`{{date}}`,Ee(r,t)).replace(`{{time}}`,De(i,t))}},ke=/^D+$/,Ae=/^Y+$/,je=[`D`,`DD`,`YY`,`YYYY`];function Me(e){return ke.test(e)}function Ne(e){return Ae.test(e)}function Pe(e,t,n){let r=Fe(e,t,n);if(console.warn(r),je.includes(e))throw RangeError(r)}function Fe(e,t,n){let r=e[0]===`Y`?`years`:`days of the month`;return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Ie=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Le=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Re=/^'([^]*?)'?$/,ze=/''/g,Be=/[a-zA-Z]/;function Ve(e,t,n){let r=k(),i=n?.locale??r.locale??_e,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=D(e,n?.in);if(!z(s))throw RangeError(`Invalid time value`);let c=t.match(Le).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=Oe[t];return n(e,i.formatLong)}return e}).join(``).match(Ie).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:He(e)};if(Ce[t])return{isToken:!0,value:e};if(t.match(Be))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));let l={firstWeekContainsDate:a,weekStartsOn:o,locale:i};return c.map(r=>{if(!r.isToken)return r.value;let a=r.value;(!n?.useAdditionalWeekYearTokens&&Ne(a)||!n?.useAdditionalDayOfYearTokens&&Me(a))&&Pe(a,t,String(e));let o=Ce[a[0]];return o(s,a,i.localize,l)}).join(``)}function He(e){let t=e.match(Re);return t?t[1].replace(ze,`'`):e}var Ue=`: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-timetable__row--quay{margin-inline-end:var(--sbb-spacing-fixed-1x)}.sbb-timetable__row--quay-type{float:left}ul{display:inline-flex}li,.sbb-timetable__row-transport{align-self:center;display:inline-flex}.sbb-timetable__row-transportnumber,.sbb-timetable__row-time{--sbb-text-font-size:var(--sbb-text-font-size-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-text);letter-spacing:var(--sbb-letter-spacing-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-text-font-size-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-text);letter-spacing:var(--sbb-letter-spacing-text);font-size:var(--sbb-text-font-size);gap:var(--sbb-timetable-row-gap);flex-direction:column;display:flex}.sbb-timetable__row-header,.sbb-timetable__row-footer{animation:none}.sbb-timetable__row-card{--sbb-card-padding-block:var(--sbb-card-with-badge-padding-block)}.sbb-timetable__row-header{gap:var(--sbb-spacing-fixed-2x);line-height:var(--sbb-timetable-row-height-header);align-items:center;display:flex}.sbb-timetable__row-details,.sbb-timetable__row-hints{gap:var(--sbb-spacing-fixed-1x);align-items:center;display:inline-flex}.sbb-timetable__row-header p{white-space:nowrap;text-overflow:ellipsis;align-self:center;margin:0;overflow:hidden}.sbb-timetable__row-footer{justify-content:space-between;align-items:center;gap:var(--sbb-spacing-fixed-2x);line-height:var(--sbb-timetable-row-height-footer);flex-wrap:wrap;display:flex}.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-primary)}.sbb-timetable__row-transport-wrapper,.sbb-timetable__row-warning{display:inline-flex}.sbb-loading{pointer-events:none}.sbb-loading__wrapper{gap:var(--sbb-spacing-fixed-2x);flex-direction:column;display:flex}.sbb-loading__row{border-radius:var(--sbb-border-radius-1x);width:100%;height:var(--sbb-timetable-row-height)}@media (width>=64rem){.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-background-color-4);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);transform:var(--sbb-card-badge-skew);border-end-start-radius:var(--sbb-card-badge-border-radius);width:7.1875rem;height:1.25rem;padding-inline-end:var(--sbb-spacing-fixed-6x)}@keyframes skeleton-pulse{0%{background:var(--sbb-background-color-4)}17%{background:var(--sbb-background-color-4)}50%{background:var(--sbb-background-color-3)}67%{background:var(--sbb-background-color-3)}to{background:var(--sbb-background-color-4)}}
2
- `;const We=(e,t)=>b`<span class="sbb-timetable__row-transport">
1
+ import{__esDecorate as e,__runInitializers as t}from"tslib";import{SbbCardBadgeElement as n,SbbCardButtonElement as r,SbbCardElement as i}from"@sbb-esta/lyne-elements/card.pure.js";import{SbbElement as a,SbbLanguageController as o,defaultDateAdapter as s,forceType as c,i18nArrival as l,i18nClass as u,i18nDeparture as ee,i18nDirection as te,i18nFromPlatform as d,i18nMeansOfTransport as f,i18nNew as ne,i18nOccupancy as p,i18nRealTimeInfo as re,i18nSupersaver as ie,i18nTransferProcedure as m,i18nTransferProcedures as h,i18nTravelhints as ae,i18nTripDuration as oe,i18nTripQuayChange as g,listResetStyles as _,screenReaderOnlyStyles as v}from"@sbb-esta/lyne-elements/core.js";import{SbbIconElement as y}from"@sbb-esta/lyne-elements/icon.pure.js";import{SbbTimetableOccupancyElement as b}from"@sbb-esta/lyne-elements/timetable-occupancy.pure.js";import{html as x,nothing as S,unsafeCSS as se}from"lit";import{property as C}from"lit/decorators.js";import{durationToTime as ce,getDepartureArrivalTimeAttribute as le,isRideLeg as ue,removeTimezoneFromISOTimeString as de}from"./core.js";import{SbbPearlChainTimeElement as fe}from"./pearl-chain-time.pure.js";const w=6048e5,T=Symbol.for(`constructDateFrom`);function E(e,t){return typeof e==`function`?e(t):e&&typeof e==`object`&&T in e?e[T](t):e instanceof Date?new e.constructor(t):new Date(t)}function D(e,t){return E(t||e,e)}let O={};function k(){return O}function A(e,t){let n=k(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=D(e,t?.in),a=i.getDay(),o=(a<r?7:0)+a-r;return i.setDate(i.getDate()-o),i.setHours(0,0,0,0),i}function j(e,t){return A(e,{...t,weekStartsOn:1})}function M(e,t){let n=D(e,t?.in),r=n.getFullYear(),i=E(n,0);i.setFullYear(r+1,0,4),i.setHours(0,0,0,0);let a=j(i),o=E(n,0);o.setFullYear(r,0,4),o.setHours(0,0,0,0);let s=j(o);return n.getTime()>=a.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function N(e){let t=D(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-n}function P(e,...t){let n=E.bind(null,e||t.find(e=>typeof e==`object`));return t.map(n)}function F(e,t){let n=D(e,t?.in);return n.setHours(0,0,0,0),n}function I(e,t,n){let[r,i]=P(n?.in,e,t),a=F(r),o=F(i),s=+a-N(a),c=+o-N(o);return Math.round((s-c)/864e5)}function L(e,t){let n=M(e,t),r=E(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),j(r)}function R(e){return e instanceof Date||typeof e==`object`&&Object.prototype.toString.call(e)===`[object Date]`}function z(e){return!(!R(e)&&typeof e!=`number`||isNaN(+D(e)))}function B(e,t){let n=D(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}const V={lessThanXSeconds:{one:`less than a second`,other:`less than {{count}} seconds`},xSeconds:{one:`1 second`,other:`{{count}} seconds`},halfAMinute:`half a minute`,lessThanXMinutes:{one:`less than a minute`,other:`less than {{count}} minutes`},xMinutes:{one:`1 minute`,other:`{{count}} minutes`},aboutXHours:{one:`about 1 hour`,other:`about {{count}} hours`},xHours:{one:`1 hour`,other:`{{count}} hours`},xDays:{one:`1 day`,other:`{{count}} days`},aboutXWeeks:{one:`about 1 week`,other:`about {{count}} weeks`},xWeeks:{one:`1 week`,other:`{{count}} weeks`},aboutXMonths:{one:`about 1 month`,other:`about {{count}} months`},xMonths:{one:`1 month`,other:`{{count}} months`},aboutXYears:{one:`about 1 year`,other:`about {{count}} years`},xYears:{one:`1 year`,other:`{{count}} years`},overXYears:{one:`over 1 year`,other:`over {{count}} years`},almostXYears:{one:`almost 1 year`,other:`almost {{count}} years`}},H=(e,t,n)=>{let r,i=V[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:r+` ago`:r};function U(e){return(t={})=>{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const W={date:U({formats:{full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},defaultWidth:`full`}),time:U({formats:{full:`h:mm:ss a zzzz`,long:`h:mm:ss a z`,medium:`h:mm:ss a`,short:`h:mm a`},defaultWidth:`full`}),dateTime:U({formats:{full:`{{date}} 'at' {{time}}`,long:`{{date}} 'at' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},pe={lastWeek:`'last' eeee 'at' p`,yesterday:`'yesterday at' p`,today:`'today at' p`,tomorrow:`'tomorrow at' p`,nextWeek:`eeee 'at' p`,other:`P`},G=(e,t,n,r)=>pe[e];function K(e){return(t,n)=>{let r=n?.context?String(n.context):`standalone`,i;if(r===`formatting`&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=n?.width?String(n.width):t;i=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=n?.width?String(n.width):e.defaultWidth;i=e.values[r]||e.values[t]}let a=e.argumentCallback?e.argumentCallback(t):t;return i[a]}}const me={ordinalNumber:(e,t)=>{let n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+`st`;case 2:return n+`nd`;case 3:return n+`rd`}return n+`th`},era:K({values:{narrow:[`B`,`A`],abbreviated:[`BC`,`AD`],wide:[`Before Christ`,`Anno Domini`]},defaultWidth:`wide`}),quarter:K({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1st quarter`,`2nd quarter`,`3rd quarter`,`4th quarter`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:K({values:{narrow:[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],wide:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]},defaultWidth:`wide`}),day:K({values:{narrow:[`S`,`M`,`T`,`W`,`T`,`F`,`S`],short:[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`],abbreviated:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],wide:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`]},defaultWidth:`wide`}),dayPeriod:K({values:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`}},defaultFormattingWidth:`wide`})};function q(e){return(t,n={})=>{let r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(i);if(!a)return null;let o=a[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?ge(s,e=>e.test(o)):he(s,e=>e.test(o)),l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;let u=t.slice(o.length);return{value:l,rest:u}}}function he(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function ge(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function _e(e){return(t,n={})=>{let r=t.match(e.matchPattern);if(!r)return null;let i=r[0],a=t.match(e.parsePattern);if(!a)return null;let o=e.valueCallback?e.valueCallback(a[0]):a[0];o=n.valueCallback?n.valueCallback(o):o;let s=t.slice(i.length);return{value:o,rest:s}}}const ve={code:`en-US`,formatDistance:H,formatLong:W,formatRelative:G,localize:me,match:{ordinalNumber:_e({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:q({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:`any`}),quarter:q({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:q({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:q({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:q({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function ye(e,t){let n=D(e,t?.in);return I(n,B(n))+1}function be(e,t){let n=D(e,t?.in),r=+j(n)-L(n);return Math.round(r/w)+1}function J(e,t){let n=D(e,t?.in),r=n.getFullYear(),i=k(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=E(t?.in||e,0);o.setFullYear(r+1,0,a),o.setHours(0,0,0,0);let s=A(o,t),c=E(t?.in||e,0);c.setFullYear(r,0,a),c.setHours(0,0,0,0);let l=A(c,t);return+n>=+s?r+1:+n>=+l?r:r-1}function xe(e,t){let n=k(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=J(e,t),a=E(t?.in||e,0);return a.setFullYear(i,0,r),a.setHours(0,0,0,0),A(a,t)}function Se(e,t){let n=D(e,t?.in),r=+A(n,t)-xe(n,t);return Math.round(r/w)+1}function Y(e,t){return(e<0?`-`:``)+Math.abs(e).toString().padStart(t,`0`)}const X={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return Y(t===`yy`?r%100:r,t.length)},M(e,t){let n=e.getMonth();return t===`M`?String(n+1):Y(n+1,2)},d(e,t){return Y(e.getDate(),t.length)},a(e,t){let n=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.toUpperCase();case`aaa`:return n;case`aaaaa`:return n[0];default:return n===`am`?`a.m.`:`p.m.`}},h(e,t){return Y(e.getHours()%12||12,t.length)},H(e,t){return Y(e.getHours(),t.length)},m(e,t){return Y(e.getMinutes(),t.length)},s(e,t){return Y(e.getSeconds(),t.length)},S(e,t){let n=t.length,r=e.getMilliseconds();return Y(Math.trunc(r*10**(n-3)),t.length)}},Z={am:`am`,pm:`pm`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},Ce={G:function(e,t,n){let r=+(e.getFullYear()>0);switch(t){case`G`:case`GG`:case`GGG`:return n.era(r,{width:`abbreviated`});case`GGGGG`:return n.era(r,{width:`narrow`});default:return n.era(r,{width:`wide`})}},y:function(e,t,n){if(t===`yo`){let t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:`year`})}return X.y(e,t)},Y:function(e,t,n,r){let i=J(e,r),a=i>0?i:1-i;return t===`YY`?Y(a%100,2):t===`Yo`?n.ordinalNumber(a,{unit:`year`}):Y(a,t.length)},R:function(e,t){return Y(M(e),t.length)},u:function(e,t){return Y(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`Q`:return String(r);case`QQ`:return Y(r,2);case`Qo`:return n.ordinalNumber(r,{unit:`quarter`});case`QQQ`:return n.quarter(r,{width:`abbreviated`,context:`formatting`});case`QQQQQ`:return n.quarter(r,{width:`narrow`,context:`formatting`});default:return n.quarter(r,{width:`wide`,context:`formatting`})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`q`:return String(r);case`qq`:return Y(r,2);case`qo`:return n.ordinalNumber(r,{unit:`quarter`});case`qqq`:return n.quarter(r,{width:`abbreviated`,context:`standalone`});case`qqqqq`:return n.quarter(r,{width:`narrow`,context:`standalone`});default:return n.quarter(r,{width:`wide`,context:`standalone`})}},M:function(e,t,n){let r=e.getMonth();switch(t){case`M`:case`MM`:return X.M(e,t);case`Mo`:return n.ordinalNumber(r+1,{unit:`month`});case`MMM`:return n.month(r,{width:`abbreviated`,context:`formatting`});case`MMMMM`:return n.month(r,{width:`narrow`,context:`formatting`});default:return n.month(r,{width:`wide`,context:`formatting`})}},L:function(e,t,n){let r=e.getMonth();switch(t){case`L`:return String(r+1);case`LL`:return Y(r+1,2);case`Lo`:return n.ordinalNumber(r+1,{unit:`month`});case`LLL`:return n.month(r,{width:`abbreviated`,context:`standalone`});case`LLLLL`:return n.month(r,{width:`narrow`,context:`standalone`});default:return n.month(r,{width:`wide`,context:`standalone`})}},w:function(e,t,n,r){let i=Se(e,r);return t===`wo`?n.ordinalNumber(i,{unit:`week`}):Y(i,t.length)},I:function(e,t,n){let r=be(e);return t===`Io`?n.ordinalNumber(r,{unit:`week`}):Y(r,t.length)},d:function(e,t,n){return t===`do`?n.ordinalNumber(e.getDate(),{unit:`date`}):X.d(e,t)},D:function(e,t,n){let r=ye(e);return t===`Do`?n.ordinalNumber(r,{unit:`dayOfYear`}):Y(r,t.length)},E:function(e,t,n){let r=e.getDay();switch(t){case`E`:case`EE`:case`EEE`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`EEEEE`:return n.day(r,{width:`narrow`,context:`formatting`});case`EEEEEE`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},e:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`e`:return String(a);case`ee`:return Y(a,2);case`eo`:return n.ordinalNumber(a,{unit:`day`});case`eee`:return n.day(i,{width:`abbreviated`,context:`formatting`});case`eeeee`:return n.day(i,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(i,{width:`short`,context:`formatting`});default:return n.day(i,{width:`wide`,context:`formatting`})}},c:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`c`:return String(a);case`cc`:return Y(a,t.length);case`co`:return n.ordinalNumber(a,{unit:`day`});case`ccc`:return n.day(i,{width:`abbreviated`,context:`standalone`});case`ccccc`:return n.day(i,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(i,{width:`short`,context:`standalone`});default:return n.day(i,{width:`wide`,context:`standalone`})}},i:function(e,t,n){let r=e.getDay(),i=r===0?7:r;switch(t){case`i`:return String(i);case`ii`:return Y(i,t.length);case`io`:return n.ordinalNumber(i,{unit:`day`});case`iii`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`iiiii`:return n.day(r,{width:`narrow`,context:`formatting`});case`iiiiii`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},a:function(e,t,n){let r=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`});case`aaa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`aaaaa`:return n.dayPeriod(r,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(r,{width:`wide`,context:`formatting`})}},b:function(e,t,n){let r=e.getHours(),i;switch(i=r===12?Z.noon:r===0?Z.midnight:r/12>=1?`pm`:`am`,t){case`b`:case`bb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`bbb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`bbbbb`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},B:function(e,t,n){let r=e.getHours(),i;switch(i=r>=17?Z.evening:r>=12?Z.afternoon:r>=4?Z.morning:Z.night,t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`BBBBB`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},h:function(e,t,n){if(t===`ho`){let t=e.getHours()%12;return t===0&&(t=12),n.ordinalNumber(t,{unit:`hour`})}return X.h(e,t)},H:function(e,t,n){return t===`Ho`?n.ordinalNumber(e.getHours(),{unit:`hour`}):X.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return t===`Ko`?n.ordinalNumber(r,{unit:`hour`}):Y(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t===`ko`?n.ordinalNumber(r,{unit:`hour`}):Y(r,t.length)},m:function(e,t,n){return t===`mo`?n.ordinalNumber(e.getMinutes(),{unit:`minute`}):X.m(e,t)},s:function(e,t,n){return t===`so`?n.ordinalNumber(e.getSeconds(),{unit:`second`}):X.s(e,t)},S:function(e,t){return X.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(r===0)return`Z`;switch(t){case`X`:return Te(r);case`XXXX`:case`XX`:return Q(r);default:return Q(r,`:`)}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`x`:return Te(r);case`xxxx`:case`xx`:return Q(r);default:return Q(r,`:`)}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`O`:case`OO`:case`OOO`:return`GMT`+we(r,`:`);default:return`GMT`+Q(r,`:`)}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`z`:case`zz`:case`zzz`:return`GMT`+we(r,`:`);default:return`GMT`+Q(r,`:`)}},t:function(e,t,n){return Y(Math.trunc(e/1e3),t.length)},T:function(e,t,n){return Y(+e,t.length)}};function we(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Math.trunc(r/60),a=r%60;return a===0?n+String(i):n+String(i)+t+Y(a,2)}function Te(e,t){return e%60==0?(e>0?`-`:`+`)+Y(Math.abs(e)/60,2):Q(e,t)}function Q(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Y(Math.trunc(r/60),2),a=Y(r%60,2);return n+i+t+a}const Ee=(e,t)=>{switch(e){case`P`:return t.date({width:`short`});case`PP`:return t.date({width:`medium`});case`PPP`:return t.date({width:`long`});default:return t.date({width:`full`})}},De=(e,t)=>{switch(e){case`p`:return t.time({width:`short`});case`pp`:return t.time({width:`medium`});case`ppp`:return t.time({width:`long`});default:return t.time({width:`full`})}},Oe={p:De,P:(e,t)=>{let n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return Ee(e,t);let a;switch(r){case`P`:a=t.dateTime({width:`short`});break;case`PP`:a=t.dateTime({width:`medium`});break;case`PPP`:a=t.dateTime({width:`long`});break;default:a=t.dateTime({width:`full`})}return a.replace(`{{date}}`,Ee(r,t)).replace(`{{time}}`,De(i,t))}},ke=/^D+$/,Ae=/^Y+$/,je=[`D`,`DD`,`YY`,`YYYY`];function Me(e){return ke.test(e)}function Ne(e){return Ae.test(e)}function Pe(e,t,n){let r=Fe(e,t,n);if(console.warn(r),je.includes(e))throw RangeError(r)}function Fe(e,t,n){let r=e[0]===`Y`?`years`:`days of the month`;return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Ie=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Le=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Re=/^'([^]*?)'?$/,ze=/''/g,Be=/[a-zA-Z]/;function Ve(e,t,n){let r=k(),i=n?.locale??r.locale??ve,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=D(e,n?.in);if(!z(s))throw RangeError(`Invalid time value`);let c=t.match(Le).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=Oe[t];return n(e,i.formatLong)}return e}).join(``).match(Ie).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:He(e)};if(Ce[t])return{isToken:!0,value:e};if(t.match(Be))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));let l={firstWeekContainsDate:a,weekStartsOn:o,locale:i};return c.map(r=>{if(!r.isToken)return r.value;let a=r.value;(!n?.useAdditionalWeekYearTokens&&Ne(a)||!n?.useAdditionalDayOfYearTokens&&Me(a))&&Pe(a,t,String(e));let o=Ce[a[0]];return o(s,a,i.localize,l)}).join(``)}function He(e){let t=e.match(Re);return t?t[1].replace(ze,`'`):e}var Ue=`: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-timetable__row--quay{margin-inline-end:var(--sbb-spacing-fixed-1x)}.sbb-timetable__row--quay-type{float:left}ul{display:inline-flex}li,.sbb-timetable__row-transport{align-self:center;display:inline-flex}.sbb-timetable__row-transportnumber,.sbb-timetable__row-time{--sbb-text-font-size:var(--sbb-text-font-size-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-text);letter-spacing:var(--sbb-letter-spacing-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-text-font-size-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-text);letter-spacing:var(--sbb-letter-spacing-text);font-size:var(--sbb-text-font-size);gap:var(--sbb-timetable-row-gap);flex-direction:column;display:flex}.sbb-timetable__row-header,.sbb-timetable__row-footer{animation:none}.sbb-timetable__row-card{--sbb-card-padding-block:var(--sbb-card-with-badge-padding-block)}.sbb-timetable__row-header{gap:var(--sbb-spacing-fixed-2x);line-height:var(--sbb-timetable-row-height-header);align-items:center;display:flex}.sbb-timetable__row-details,.sbb-timetable__row-hints{gap:var(--sbb-spacing-fixed-1x);align-items:center;display:inline-flex}.sbb-timetable__row-header p{white-space:nowrap;text-overflow:ellipsis;align-self:center;margin:0;overflow:hidden}.sbb-timetable__row-footer{justify-content:space-between;align-items:center;gap:var(--sbb-spacing-fixed-2x);line-height:var(--sbb-timetable-row-height-footer);flex-wrap:wrap;display:flex}.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-primary)}.sbb-timetable__row-transport-wrapper,.sbb-timetable__row-warning{display:inline-flex}.sbb-loading{pointer-events:none}.sbb-loading__wrapper{gap:var(--sbb-spacing-fixed-2x);flex-direction:column;display:flex}.sbb-loading__row{border-radius:var(--sbb-border-radius-1x);width:100%;height:var(--sbb-timetable-row-height)}@media (width>=64rem){.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-background-color-4);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);transform:var(--sbb-card-badge-skew);border-end-start-radius:var(--sbb-card-badge-border-radius);width:7.1875rem;height:1.25rem;padding-inline-end:var(--sbb-spacing-fixed-6x)}@keyframes skeleton-pulse{0%{background:var(--sbb-background-color-4)}17%{background:var(--sbb-background-color-4)}50%{background:var(--sbb-background-color-3)}67%{background:var(--sbb-background-color-3)}to{background:var(--sbb-background-color-4)}}
2
+ `;const We=(e,t)=>x`<span class="sbb-timetable__row-transport">
3
3
  <sbb-icon name=${e}></sbb-icon>
4
4
  <span class="sbb-screen-reader-only">${t}</span>
5
- </span>`,Ge=(e,t)=>{let n=[`M`,`B`,`T`].includes(e)?` `:``;return b`<span class="sbb-timetable__row-transportnumber">
5
+ </span>`,Ge=(e,t)=>{let n=[`M`,`B`,`T`].includes(e)?` `:``;return x`<span class="sbb-timetable__row-transportnumber">
6
6
  ${t===null?e:e+n+t}
7
- </span>`},Ke=e=>e?.find(e=>e.serviceJourney?.serviceAlteration?.reachableText)?.serviceJourney?.serviceAlteration?.reachableText,qe=e=>e?.find(e=>e.serviceJourney?.serviceAlteration?.delayText)?.serviceJourney?.serviceAlteration?.delayText,Je=e=>e?.find(e=>!!e.serviceJourney?.serviceAlteration?.redirectedText)?.serviceJourney?.serviceAlteration?.redirectedText,Ye=e=>e?.find(e=>!!e.serviceJourney?.serviceAlteration?.unplannedStopPointsText)?.serviceJourney?.serviceAlteration?.unplannedStopPointsText,Xe=e=>{let t={DISTURBANCE:0,INFORMATION:1,DELAY:2,TRAIN_REPLACEMENT_BY_BUS:3,CONSTRUCTION_SITE:4,END_MESSAGE:5};return[...e].sort((e,n)=>t[e.cause]-t[n.cause])},Ze=e=>{switch(e?.cause){case`DISTURBANCE`:return{name:`disruption`,text:e?.broadcastMessages?.length?e?.broadcastMessages[0].title:``};case`INFORMATION`:return{name:`info`,text:e?.broadcastMessages.length?e?.broadcastMessages[0].title:``};case`DELAY`:return{name:`delay`,text:e?.broadcastMessages.length?e?.broadcastMessages[0].title:``};case`TRAIN_REPLACEMENT_BY_BUS`:return{name:`replacementbus`,text:e?.broadcastMessages.length?e?.broadcastMessages[0].title:``};case`CONSTRUCTION_SITE`:return{name:`construction`,text:e?.broadcastMessages.length?e?.broadcastMessages[0].title:``};default:return{name:`info`,text:e?.broadcastMessages.length?e?.broadcastMessages[0].title:``}}},Qe=(e,t)=>{let{summary:n,legs:r}=e||{},i=r?.filter(e=>C(e)),{tripStatus:a}=n||{};if(a?.cancelled||a?.partiallyCancelled)return{name:`cancellation`,text:a?.cancelledText};if(i?.some(e=>e.serviceJourney?.serviceAlteration?.cancelledExpected))return{name:`disruption`,text:a?.cancelledText};if(Ke(i))return{name:`missed-connection`,text:Ke(i)};if(a?.alternative)return{name:`alternative`,text:a.alternativeText};if(Je(i))return{name:`reroute`,text:Je(i)};if(Ye(i))return{name:`add-stop`,text:Ye(i)};if(a?.delayed||a?.delayedUnknown)return{name:`delay`,text:qe(i)};if(a?.quayChanged){let e=i[0].departure;return{name:`platform-change`,text:e.quayChanged?e.quayChangedText:h[t]}}return{}},$e=e=>{let t=[`RR`,`RK`,`RC`,`RL`,`RM`,`RS`,`RU`,`XP`,`XR`,`XT`];return e.reduce((e,n)=>{if(e)return e;if(t.includes(n.name))return{...n,name:`RR`}},void 0)},et=e=>{let t=[`Z`,`SB`,`SZ`,`VR`,`TG`];return e.filter((t,n)=>e.findIndex(e=>e.name===t.name)===n).filter(e=>t.includes(e.name)).sort((e,n)=>t.indexOf(e.name)-t.indexOf(n.name))},$=e=>{let t=$e(e),n=et(e);return t===void 0?n:n.length?n[0].name===`Z`&&n[1]?[n[0],t,n[1]].concat(n.slice(2)):[t,...n]:[t]};let tt=(()=>{let h=a,w=[],T,E=[],D=[],O,k=[],A=[],j,M=[],N=[],P,F=[],I=[],L,R=[],z=[],B,V=[],H=[],U,W=[],G=[],K,q=[],pe=[],J,me=[],he=[],ge,_e=[],ve=[],ye;return class extends h{constructor(){super(...arguments),this.#e=(t(this,w),t(this,E,null)),this.#t=(t(this,D),t(this,k,null)),this.#n=(t(this,A),t(this,M,!1)),this.#r=(t(this,N),t(this,F,null)),this.#i=(t(this,I),t(this,R,!1)),this.#a=(t(this,z),t(this,V,!1)),this.#o=(t(this,H),t(this,W,!1)),this.#s=(t(this,G),t(this,q,``)),this.#c=(t(this,pe),t(this,me,!1)),this.#l=(t(this,he),t(this,_e,!1)),this._now=(t(this,ve),null),this._language=new o(this)}static{let t=typeof Symbol==`function`&&Symbol.metadata?Object.create(h[Symbol.metadata]??null):void 0;T=[S({type:Object})],O=[S({type:Object})],j=[c(),S({attribute:`disable-animation`,reflect:!0,type:Boolean})],P=[S({type:Object})],L=[c(),S({attribute:`loading-trip`,type:Boolean})],B=[c(),S({attribute:`a11y-footpath`,type:Boolean})],U=[c(),S({attribute:`loading-price`,type:Boolean})],K=[c(),S({attribute:`card-action-label`})],J=[c(),S({attribute:`accessibility-expanded`,type:Boolean})],ge=[c(),S({type:Boolean})],ye=[S()],e(this,null,T,{kind:`accessor`,name:`trip`,static:!1,private:!1,access:{has:e=>`trip`in e,get:e=>e.trip,set:(e,t)=>{e.trip=t}},metadata:t},E,D),e(this,null,O,{kind:`accessor`,name:`price`,static:!1,private:!1,access:{has:e=>`price`in e,get:e=>e.price,set:(e,t)=>{e.price=t}},metadata:t},k,A),e(this,null,j,{kind:`accessor`,name:`disableAnimation`,static:!1,private:!1,access:{has:e=>`disableAnimation`in e,get:e=>e.disableAnimation,set:(e,t)=>{e.disableAnimation=t}},metadata:t},M,N),e(this,null,P,{kind:`accessor`,name:`boarding`,static:!1,private:!1,access:{has:e=>`boarding`in e,get:e=>e.boarding,set:(e,t)=>{e.boarding=t}},metadata:t},F,I),e(this,null,L,{kind:`accessor`,name:`loadingTrip`,static:!1,private:!1,access:{has:e=>`loadingTrip`in e,get:e=>e.loadingTrip,set:(e,t)=>{e.loadingTrip=t}},metadata:t},R,z),e(this,null,B,{kind:`accessor`,name:`a11yFootpath`,static:!1,private:!1,access:{has:e=>`a11yFootpath`in e,get:e=>e.a11yFootpath,set:(e,t)=>{e.a11yFootpath=t}},metadata:t},V,H),e(this,null,U,{kind:`accessor`,name:`loadingPrice`,static:!1,private:!1,access:{has:e=>`loadingPrice`in e,get:e=>e.loadingPrice,set:(e,t)=>{e.loadingPrice=t}},metadata:t},W,G),e(this,null,K,{kind:`accessor`,name:`cardActionLabel`,static:!1,private:!1,access:{has:e=>`cardActionLabel`in e,get:e=>e.cardActionLabel,set:(e,t)=>{e.cardActionLabel=t}},metadata:t},q,pe),e(this,null,J,{kind:`accessor`,name:`accessibilityExpanded`,static:!1,private:!1,access:{has:e=>`accessibilityExpanded`in e,get:e=>e.accessibilityExpanded,set:(e,t)=>{e.accessibilityExpanded=t}},metadata:t},me,he),e(this,null,ge,{kind:`accessor`,name:`active`,static:!1,private:!1,access:{has:e=>`active`in e,get:e=>e.active,set:(e,t)=>{e.active=t}},metadata:t},_e,ve),e(this,null,ye,{kind:`setter`,name:`now`,static:!1,private:!1,access:{has:e=>`now`in e,set:(e,t)=>{e.now=t}},metadata:t},null,w),t&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})}static{this.elementName=`sbb-timetable-row`}static{this.elementDependencies=[i,n,r,v,y,fe]}static{this.styles=[g,_,ce(Ue)]}#e;get trip(){return this.#e}set trip(e){this.#e=e}#t;get price(){return this.#t}set price(e){this.#t=e}#n;get disableAnimation(){return this.#n}set disableAnimation(e){this.#n=e}#r;get boarding(){return this.#r}set boarding(e){this.#r=e}#i;get loadingTrip(){return this.#i}set loadingTrip(e){this.#i=e}#a;get a11yFootpath(){return this.#a}set a11yFootpath(e){this.#a=e}#o;get loadingPrice(){return this.#o}set loadingPrice(e){this.#o=e}#s;get cardActionLabel(){return this.#s}set cardActionLabel(e){this.#s=e}#c;get accessibilityExpanded(){return this.#c}set accessibilityExpanded(e){this.#c=e}#l;get active(){return this.#l}set active(e){this.#l=e}set now(e){this._now=s.getValidDateOrNull(s.deserialize(e))}get now(){return this._now??/* @__PURE__ */ new Date}willUpdate(e){super.willUpdate(e),e.has(`loadingTrip`)&&(this.internals.role=this.loadingTrip?null:`rowgroup`)}_renderSkeleton(){return b`
7
+ </span>`},Ke=e=>e?.find(e=>e.serviceJourney?.serviceAlteration?.reachableText)?.serviceJourney?.serviceAlteration?.reachableText,qe=e=>e?.find(e=>e.serviceJourney?.serviceAlteration?.delayText)?.serviceJourney?.serviceAlteration?.delayText,Je=e=>e?.find(e=>!!e.serviceJourney?.serviceAlteration?.redirectedText)?.serviceJourney?.serviceAlteration?.redirectedText,Ye=e=>e?.find(e=>!!e.serviceJourney?.serviceAlteration?.unplannedStopPointsText)?.serviceJourney?.serviceAlteration?.unplannedStopPointsText,Xe=e=>{let t={DISTURBANCE:0,INFORMATION:1,DELAY:2,TRAIN_REPLACEMENT_BY_BUS:3,CONSTRUCTION_SITE:4,END_MESSAGE:5};return[...e].sort((e,n)=>t[e.cause]-t[n.cause])},Ze=e=>{switch(e?.cause){case`DISTURBANCE`:return{name:`disruption`,text:e?.broadcastMessages?.length?e?.broadcastMessages[0].title:``};case`INFORMATION`:return{name:`info`,text:e?.broadcastMessages.length?e?.broadcastMessages[0].title:``};case`DELAY`:return{name:`delay`,text:e?.broadcastMessages.length?e?.broadcastMessages[0].title:``};case`TRAIN_REPLACEMENT_BY_BUS`:return{name:`replacementbus`,text:e?.broadcastMessages.length?e?.broadcastMessages[0].title:``};case`CONSTRUCTION_SITE`:return{name:`construction`,text:e?.broadcastMessages.length?e?.broadcastMessages[0].title:``};default:return{name:`info`,text:e?.broadcastMessages.length?e?.broadcastMessages[0].title:``}}},Qe=(e,t)=>{let{summary:n,legs:r}=e||{},i=r?.filter(e=>ue(e)),{tripStatus:a}=n||{};if(a?.cancelled||a?.partiallyCancelled)return{name:`cancellation`,text:a?.cancelledText};if(i?.some(e=>e.serviceJourney?.serviceAlteration?.cancelledExpected))return{name:`disruption`,text:a?.cancelledText};if(Ke(i))return{name:`missed-connection`,text:Ke(i)};if(a?.alternative)return{name:`alternative`,text:a.alternativeText};if(Je(i))return{name:`reroute`,text:Je(i)};if(Ye(i))return{name:`add-stop`,text:Ye(i)};if(a?.delayed||a?.delayedUnknown)return{name:`delay`,text:qe(i)};if(a?.quayChanged){let e=i[0].departure;return{name:`platform-change`,text:e.quayChanged?e.quayChangedText:g[t]}}return{}},$e=e=>{let t=[`RR`,`RK`,`RC`,`RL`,`RM`,`RS`,`RU`,`XP`,`XR`,`XT`];return e.reduce((e,n)=>{if(e)return e;if(t.includes(n.name))return{...n,name:`RR`}},void 0)},et=e=>{let t=[`Z`,`SB`,`SZ`,`VR`,`TG`];return e.filter((t,n)=>e.findIndex(e=>e.name===t.name)===n).filter(e=>t.includes(e.name)).sort((e,n)=>t.indexOf(e.name)-t.indexOf(n.name))},$=e=>{let t=$e(e),n=et(e);return t===void 0?n:n.length?n[0].name===`Z`&&n[1]?[n[0],t,n[1]].concat(n.slice(2)):[t,...n]:[t]};let tt=(()=>{let g=a,w=[],T,E=[],D=[],O,k=[],A=[],j,M=[],N=[],P,F=[],I=[],L,R=[],z=[],B,V=[],H=[],U,W=[],pe=[],G,K=[],me=[],q,he=[],ge=[],_e,ve=[],ye=[],be,J=[],xe=[],Se,Y=[],X=[],Z;return class extends g{constructor(){super(...arguments),this.#e=(t(this,w),t(this,E,null)),this.#t=(t(this,D),t(this,k,null)),this.#n=(t(this,A),t(this,M,``)),this.#r=(t(this,N),t(this,F,null)),this.#i=(t(this,I),t(this,R,!1)),this.#a=(t(this,z),t(this,V,null)),this.#o=(t(this,H),t(this,W,!1)),this.#s=(t(this,pe),t(this,K,!1)),this.#c=(t(this,me),t(this,he,!1)),this.#l=(t(this,ge),t(this,ve,``)),this.#u=(t(this,ye),t(this,J,!1)),this.#d=(t(this,xe),t(this,Y,!1)),this._now=(t(this,X),null),this._language=new o(this)}static{let t=typeof Symbol==`function`&&Symbol.metadata?Object.create(g[Symbol.metadata]??null):void 0;T=[C({type:Object})],O=[C({type:Object})],j=[c(),C({type:String,attribute:`badge-label`})],P=[C({attribute:`badge-color`})],L=[c(),C({attribute:`disable-animation`,reflect:!0,type:Boolean})],B=[C({type:Object})],U=[c(),C({attribute:`loading-trip`,type:Boolean})],G=[c(),C({attribute:`a11y-footpath`,type:Boolean})],q=[c(),C({attribute:`loading-price`,type:Boolean})],_e=[c(),C({attribute:`card-action-label`})],be=[c(),C({attribute:`accessibility-expanded`,type:Boolean})],Se=[c(),C({type:Boolean})],Z=[C()],e(this,null,T,{kind:`accessor`,name:`trip`,static:!1,private:!1,access:{has:e=>`trip`in e,get:e=>e.trip,set:(e,t)=>{e.trip=t}},metadata:t},E,D),e(this,null,O,{kind:`accessor`,name:`price`,static:!1,private:!1,access:{has:e=>`price`in e,get:e=>e.price,set:(e,t)=>{e.price=t}},metadata:t},k,A),e(this,null,j,{kind:`accessor`,name:`badgeLabel`,static:!1,private:!1,access:{has:e=>`badgeLabel`in e,get:e=>e.badgeLabel,set:(e,t)=>{e.badgeLabel=t}},metadata:t},M,N),e(this,null,P,{kind:`accessor`,name:`badgeColor`,static:!1,private:!1,access:{has:e=>`badgeColor`in e,get:e=>e.badgeColor,set:(e,t)=>{e.badgeColor=t}},metadata:t},F,I),e(this,null,L,{kind:`accessor`,name:`disableAnimation`,static:!1,private:!1,access:{has:e=>`disableAnimation`in e,get:e=>e.disableAnimation,set:(e,t)=>{e.disableAnimation=t}},metadata:t},R,z),e(this,null,B,{kind:`accessor`,name:`boarding`,static:!1,private:!1,access:{has:e=>`boarding`in e,get:e=>e.boarding,set:(e,t)=>{e.boarding=t}},metadata:t},V,H),e(this,null,U,{kind:`accessor`,name:`loadingTrip`,static:!1,private:!1,access:{has:e=>`loadingTrip`in e,get:e=>e.loadingTrip,set:(e,t)=>{e.loadingTrip=t}},metadata:t},W,pe),e(this,null,G,{kind:`accessor`,name:`a11yFootpath`,static:!1,private:!1,access:{has:e=>`a11yFootpath`in e,get:e=>e.a11yFootpath,set:(e,t)=>{e.a11yFootpath=t}},metadata:t},K,me),e(this,null,q,{kind:`accessor`,name:`loadingPrice`,static:!1,private:!1,access:{has:e=>`loadingPrice`in e,get:e=>e.loadingPrice,set:(e,t)=>{e.loadingPrice=t}},metadata:t},he,ge),e(this,null,_e,{kind:`accessor`,name:`cardActionLabel`,static:!1,private:!1,access:{has:e=>`cardActionLabel`in e,get:e=>e.cardActionLabel,set:(e,t)=>{e.cardActionLabel=t}},metadata:t},ve,ye),e(this,null,be,{kind:`accessor`,name:`accessibilityExpanded`,static:!1,private:!1,access:{has:e=>`accessibilityExpanded`in e,get:e=>e.accessibilityExpanded,set:(e,t)=>{e.accessibilityExpanded=t}},metadata:t},J,xe),e(this,null,Se,{kind:`accessor`,name:`active`,static:!1,private:!1,access:{has:e=>`active`in e,get:e=>e.active,set:(e,t)=>{e.active=t}},metadata:t},Y,X),e(this,null,Z,{kind:`setter`,name:`now`,static:!1,private:!1,access:{has:e=>`now`in e,set:(e,t)=>{e.now=t}},metadata:t},null,w),t&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})}static{this.elementName=`sbb-timetable-row`}static{this.elementDependencies=[i,n,r,y,b,fe]}static{this.styles=[_,v,se(Ue)]}#e;get trip(){return this.#e}set trip(e){this.#e=e}#t;get price(){return this.#t}set price(e){this.#t=e}#n;get badgeLabel(){return this.#n}set badgeLabel(e){this.#n=e}#r;get badgeColor(){return this.#r}set badgeColor(e){this.#r=e}#i;get disableAnimation(){return this.#i}set disableAnimation(e){this.#i=e}#a;get boarding(){return this.#a}set boarding(e){this.#a=e}#o;get loadingTrip(){return this.#o}set loadingTrip(e){this.#o=e}#s;get a11yFootpath(){return this.#s}set a11yFootpath(e){this.#s=e}#c;get loadingPrice(){return this.#c}set loadingPrice(e){this.#c=e}#l;get cardActionLabel(){return this.#l}set cardActionLabel(e){this.#l=e}#u;get accessibilityExpanded(){return this.#u}set accessibilityExpanded(e){this.#u=e}#d;get active(){return this.#d}set active(e){this.#d=e}set now(e){this._now=s.getValidDateOrNull(s.deserialize(e))}get now(){return this._now??/* @__PURE__ */ new Date}willUpdate(e){super.willUpdate(e),e.has(`loadingTrip`)&&(this.internals.role=this.loadingTrip?null:`rowgroup`)}_renderSkeleton(){return x`
8
8
  <sbb-card class="sbb-loading sbb-card-spacing-4x-xxs sbb-timetable__row-card">
9
- ${this.loadingPrice?b`<div class="sbb-loading__badge" slot="badge"></div>`:x}
9
+ ${this.loadingPrice?x`<div class="sbb-loading__badge" slot="badge"></div>`:S}
10
10
  <div class="sbb-loading__wrapper">
11
11
  <div class="sbb-loading__row"></div>
12
12
  <div class="sbb-loading__row"></div>
13
13
  <div class="sbb-loading__row"></div>
14
14
  </div>
15
15
  </sbb-card>
16
- `}_getRideLegs(){return this.trip?.legs?.filter(e=>C(e))??[]}_getQuayTypeStrings(){if(!this.trip.summary?.product)return null;let e=this._getRideLegs(),t=this.trip.summary.product?.vehicleMode===`TRAIN`?e[0].serviceJourney.quayTypeShortName||``:e[0].serviceJourney.quayTypeName||``;return{long:d[this._language.current]+` `+t,short:t}}_renderQuayType(){if(!this.trip.summary?.product)return;let e=this._getQuayTypeStrings();return b`
16
+ `}_getRideLegs(){return this.trip?.legs?.filter(e=>ue(e))??[]}_getQuayTypeStrings(){if(!this.trip.summary?.product)return null;let e=this._getRideLegs(),t=this.trip.summary.product?.vehicleMode===`TRAIN`?e[0].serviceJourney.quayTypeShortName||``:e[0].serviceJourney.quayTypeName||``;return{long:d[this._language.current]+` `+t,short:t}}_renderQuayType(){if(!this.trip.summary?.product)return;let e=this._getQuayTypeStrings();return x`
17
17
  <span class="sbb-timetable__row--quay">
18
18
  <span class="sbb-screen-reader-only">${e?.long}&nbsp;</span>
19
19
  <span class="sbb-timetable__row--quay-type" aria-hidden="true"
20
20
  >${e?.short}</span
21
21
  >
22
22
  </span>
23
- `}_handleHimCus(e){let{situations:t}=e||{},n=t&&Xe(t),r=Qe(e,this._language.current);return{cus:Object.keys(r)?.length?r:null,him:t?.length?Ze(n[0]):null}}_getAccessibilityText(e){let{summary:t,legs:n,notices:r}=e||{},{departureWalk:i,arrivalWalk:a,departure:o,arrival:s,product:c,direction:d,occupancy:h,duration:g}=t||{},{departureTimeAttribute:_,arrivalTimeAttribute:v}=ue(n,i||0,a||0,this._language.current,this.a11yFootpath),y=this._getRideLegs(),b=o?.time?de(o.time):void 0,x=s?.time?de(s.time):void 0,ce=_?`${_.text} ${_.duration}, `:``,S=v?`${v.text} ${v.duration}, `:``,C=b?`${ee[this._language.current]}: ${Ve(b,`HH:mm`)}, `:``,fe=()=>o?.quayFormatted?`${o?.quayChanged?`${ne[this._language.current]} `:``}${this._getQuayTypeStrings()?.long} ${o?.quayFormatted}, `:``,w=c&&c.vehicleMode?f[c.vehicleMode.toLowerCase()]&&`${f[c.vehicleMode.toLowerCase()][this._language.current]}, `:``,T=c?.vehicleSubModeShortName?`${c.vehicleSubModeShortName} ${c.line||``}, `:``,E=`${te[this._language.current]} ${d}, `,D=this._handleHimCus(e),O=D?.cus?.text?`${re[this._language.current]}: ${D?.cus?.text}, `:``,k=D?.him?.text?`${re[this._language.current]}: ${D?.him?.text}, `:``,A=this.boarding?`${this.boarding.text}, `:``,j=`${this.price?.isDiscount?ie[this._language.current]:``} ${this.price?.text&&this.price?.price?(this.price?.text||``)+` `+(this.price?.price||``)+`, `:``}`,M=y.length>2?`${y.length-1} ${ae[this._language.current]}, `:y.length>1?`${y.length-1} ${m[this._language.current]}, `:``,N=x?`${l[this._language.current]}: ${Ve(x,`HH:mm`)}, `:``,P=``;h&&(h.firstClass&&h.firstClass!==`UNKNOWN`&&(P+=`${u.first[this._language.current]} ${p[h.firstClass.toLowerCase()]?.[this._language.current]}.`),h.secondClass&&h.secondClass!==`UNKNOWN`&&(P+=` ${u.second[this._language.current]} ${p[h.secondClass.toLowerCase()]?.[this._language.current]}.`));let F=r&&$(r).length&&$(r)?.map((e,t)=>t<4&&e.text?.template).join(`, `)+`, `,I=F?`${oe[this._language.current]}: ${F}`:``,L=g&&g>0?`${se[this._language.current]} ${le(g,this._language.current).long}, `:``;return[ce,C,fe(),w,T,E,O,A,j,O?``:k,N,S,L,M,P,I].map(e=>e?.trim()).filter(e=>e&&e.length>0).join(` `)}render(){if(this.loadingTrip)return this._renderSkeleton();let{legs:e,id:t,notices:n,summary:r}=this.trip||{},{product:i,direction:a,departureWalk:o,departure:s,arrival:c,arrivalWalk:l,occupancy:u,duration:d}=r||{},p=this._handleHimCus(this.trip),re=!!p.cus||!!p.him,m=n&&$(n),ae=d?le(d,this._language.current):null;return b`
23
+ `}_handleHimCus(e){let{situations:t}=e||{},n=t&&Xe(t),r=Qe(e,this._language.current);return{cus:Object.keys(r)?.length?r:null,him:t?.length?Ze(n[0]):null}}_getAccessibilityText(e){let{summary:t,legs:n,notices:r}=e||{},{departureWalk:i,arrivalWalk:a,departure:o,arrival:s,product:c,direction:d,occupancy:g,duration:_}=t||{},{departureTimeAttribute:v,arrivalTimeAttribute:y}=le(n,i||0,a||0,this._language.current,this.a11yFootpath),b=this._getRideLegs(),x=o?.time?de(o.time):void 0,S=s?.time?de(s.time):void 0,se=v?`${v.text} ${v.duration}, `:``,C=y?`${y.text} ${y.duration}, `:``,ue=x?`${ee[this._language.current]}: ${Ve(x,`HH:mm`)}, `:``,fe=()=>o?.quayFormatted?`${o?.quayChanged?`${ne[this._language.current]} `:``}${this._getQuayTypeStrings()?.long} ${o?.quayFormatted}, `:``,w=c&&c.vehicleMode?f[c.vehicleMode.toLowerCase()]&&`${f[c.vehicleMode.toLowerCase()][this._language.current]}, `:``,T=c?.vehicleSubModeShortName?`${c.vehicleSubModeShortName} ${c.line||``}, `:``,E=`${te[this._language.current]} ${d}, `,D=this._handleHimCus(e),O=D?.cus?.text?`${re[this._language.current]}: ${D?.cus?.text}, `:``,k=D?.him?.text?`${re[this._language.current]}: ${D?.him?.text}, `:``,A=this.boarding?`${this.boarding.text}, `:``,j=this.badgeLabel?`${this.badgeLabel}, `:`${this.price?.isDiscount?ie[this._language.current]:``} ${this.price?.text&&this.price?.price?(this.price?.text||``)+` `+(this.price?.price||``)+`, `:``}`,M=b.length>2?`${b.length-1} ${h[this._language.current]}, `:b.length>1?`${b.length-1} ${m[this._language.current]}, `:``,N=S?`${l[this._language.current]}: ${Ve(S,`HH:mm`)}, `:``,P=``;g&&(g.firstClass&&g.firstClass!==`UNKNOWN`&&(P+=`${u.first[this._language.current]} ${p[g.firstClass.toLowerCase()]?.[this._language.current]}.`),g.secondClass&&g.secondClass!==`UNKNOWN`&&(P+=` ${u.second[this._language.current]} ${p[g.secondClass.toLowerCase()]?.[this._language.current]}.`));let F=r&&$(r).length&&$(r)?.map((e,t)=>t<4&&e.text?.template).join(`, `)+`, `,I=F?`${ae[this._language.current]}: ${F}`:``,L=_&&_>0?`${oe[this._language.current]} ${ce(_,this._language.current).long}, `:``;return[se,ue,fe(),w,T,E,O,A,j,O?``:k,N,C,L,M,P,I].map(e=>e?.trim()).filter(e=>e&&e.length>0).join(` `)}render(){if(this.loadingTrip)return this._renderSkeleton();let{legs:e,id:t,notices:n,summary:r}=this.trip||{},{product:i,direction:a,departureWalk:o,departure:s,arrival:c,arrivalWalk:l,occupancy:u,duration:d}=r||{},p=this._handleHimCus(this.trip),re=!!p.cus||!!p.him,m=n&&$(n),h=d?ce(d,this._language.current):null;return x`
24
24
  <sbb-card class="sbb-card-spacing-4x-xxs sbb-timetable__row-card" id=${t}>
25
25
  <sbb-card-button
26
26
  ?active=${this.active}
27
- aria-expanded=${this.accessibilityExpanded?`true`:x}
27
+ aria-expanded=${this.accessibilityExpanded?`true`:S}
28
28
  >
29
29
  ${this.cardActionLabel?this.cardActionLabel:this._getAccessibilityText(this.trip)}
30
30
  </sbb-card-button>
31
- ${this.loadingPrice?b`<div class="sbb-loading__badge" slot="badge"></div>`:x}
32
- ${this.price&&!this.loadingPrice?b`<sbb-card-badge color=${this.price.isDiscount?`charcoal`:`white`}>
33
- ${this.price.isDiscount?b`<span aria-hidden="true">
31
+ ${this.loadingPrice?x`<div class="sbb-loading__badge" slot="badge"></div>`:S}
32
+ ${(this.price||this.badgeLabel)&&!this.loadingPrice?x`<sbb-card-badge
33
+ color=${this.price?.isDiscount&&!this.badgeColor||this.badgeColor===`dark`?`charcoal`:`white`}
34
+ >
35
+ ${this.price?.isDiscount&&!this.badgeLabel?x`<span aria-hidden="true">
34
36
  %<span class="sbb-screen-reader-only"
35
37
  >${ie[this._language.current]}</span
36
38
  >
37
- </span>`:x}
38
- ${this.price.text?b`<span>${this.price.text}</span>`:x}
39
- ${this.price.price?b`<span>${this.price.price}</span>`:x}
40
- </sbb-card-badge>`:x}
39
+ </span>`:S}
40
+ ${this.price?.text||this.badgeLabel?x`<span>${this.badgeLabel||this.price.text}</span>`:S}
41
+ ${this.price?.price&&!this.badgeLabel?x`<span>${this.price.price}</span>`:S}
42
+ </sbb-card-badge>`:S}
41
43
  <div class="sbb-timetable__row" role="row">
42
44
  <div class="sbb-timetable__row-header" role="gridcell">
43
45
  <div class="sbb-timetable__row-details">
44
- ${i?.corporateIdentityPictogram&&b`<span class="sbb-timetable__row-transport-wrapper">
46
+ ${i?.corporateIdentityPictogram&&x`<span class="sbb-timetable__row-transport-wrapper">
45
47
  <sbb-icon
46
48
  class="sbb-timetable__row-transport-icon"
47
49
  name="picto:${i.corporateIdentityPictogram}"
@@ -53,7 +55,7 @@ import{__esDecorate as e,__runInitializers as t}from"tslib";import{SbbCardBadgeE
53
55
  </span>`}
54
56
  ${i&&(i.corporateIdentityIcon?We(i.corporateIdentityIcon,i.name):i.vehicleSubModeShortName&&Ge(i.vehicleSubModeShortName,i?.line))}
55
57
  </div>
56
- ${a?b`<p>${`${te[this._language.current]} ${a}`}</p>`:x}
58
+ ${a?x`<p>${`${te[this._language.current]} ${a}`}</p>`:S}
57
59
  </div>
58
60
  <sbb-pearl-chain-time
59
61
  role="gridcell"
@@ -67,46 +69,46 @@ import{__esDecorate as e,__runInitializers as t}from"tslib";import{SbbCardBadgeE
67
69
  .now=${this.now}
68
70
  ></sbb-pearl-chain-time>
69
71
  <div class="sbb-timetable__row-footer" role="gridcell">
70
- ${i&&s?.quayFormatted?b`<span
71
- class=${s?.quayChanged?`sbb-timetable__row-quay--changed`:x}
72
+ ${i&&s?.quayFormatted?x`<span
73
+ class=${s?.quayChanged?`sbb-timetable__row-quay--changed`:S}
72
74
  >
73
75
  <span class="sbb-screen-reader-only">
74
76
  ${`${ee[this._language.current]} ${s?.quayChanged?ne[this._language.current]:``}`}
75
77
  &nbsp;
76
78
  </span>
77
79
  ${this._renderQuayType()} ${s?.quayFormatted}
78
- </span>`:x}
79
- ${u?.firstClass&&u?.firstClass!==`UNKNOWN`||u?.secondClass&&u.secondClass!==`UNKNOWN`?b`<sbb-timetable-occupancy
80
+ </span>`:S}
81
+ ${u?.firstClass&&u?.firstClass!==`UNKNOWN`||u?.secondClass&&u.secondClass!==`UNKNOWN`?x`<sbb-timetable-occupancy
80
82
  .firstClassOccupancy=${u?.firstClass?.toLowerCase()}
81
83
  .secondClassOccupancy=${u?.secondClass?.toLowerCase()}
82
- ></sbb-timetable-occupancy>`:x}
83
- ${m&&m.length||this.boarding?b`<ul class="sbb-timetable__row-hints" role="list">
84
- ${m?.map((e,t)=>t<4?b`<li>
84
+ ></sbb-timetable-occupancy>`:S}
85
+ ${m&&m.length||this.boarding?x`<ul class="sbb-timetable__row-hints" role="list">
86
+ ${m?.map((e,t)=>t<4?x`<li>
85
87
  <sbb-icon
86
88
  class="sbb-travel-hints__item"
87
89
  name=${`sa-`+e.name?.toLowerCase()}
88
90
  ></sbb-icon>
89
91
  <span class="sbb-screen-reader-only">${e.text?.template}</span>
90
- </li>`:x)}
91
- ${this.boarding?b`<li>
92
+ </li>`:S)}
93
+ ${this.boarding?x`<li>
92
94
  <sbb-icon
93
95
  class="sbb-travel-hints__item"
94
96
  name=${this.boarding?.name}
95
97
  aria-label=${this.boarding?.text}
96
98
  aria-hidden="false"
97
99
  ></sbb-icon>
98
- </li>`:x}
99
- </ul>`:x}
100
- ${d&&d>0?b`<time>
100
+ </li>`:S}
101
+ </ul>`:S}
102
+ ${d&&d>0?x`<time>
101
103
  <span class="sbb-screen-reader-only">
102
- ${`${se[this._language.current]} ${ae.long}`}
104
+ ${`${oe[this._language.current]} ${h.long}`}
103
105
  </span>
104
- <span aria-hidden="true">${ae.short}</span>
105
- </time>`:x}
106
- ${re&&(p.cus||p.him)?b`<span class="sbb-timetable__row-warning">
106
+ <span aria-hidden="true">${h.short}</span>
107
+ </time>`:S}
108
+ ${re&&(p.cus||p.him)?x`<span class="sbb-timetable__row-warning">
107
109
  <sbb-icon name=${(p.cus||p.him).name}></sbb-icon>
108
110
  <span class="sbb-screen-reader-only">${(p.cus||p.him).text}</span>
109
- </span>`:x}
111
+ </span>`:S}
110
112
  </div>
111
113
  </div>
112
114
  </sbb-card>