@sbb-esta/lyne-elements-experimental 5.0.2 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autocomplete-grid.js +1 -10
- package/autocomplete-grid.pure.js +12 -7
- package/core.js +31 -5
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +0 -1
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +4 -5
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts +1 -2
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts +2 -3
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +1 -2
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts +1 -2
- package/development/autocomplete-grid.d.ts +0 -1
- package/development/autocomplete-grid.js +5 -10
- package/development/autocomplete-grid.pure.d.ts +0 -1
- package/development/autocomplete-grid.pure.js +328 -7
- package/development/core/datetime/date-helper.d.ts +0 -1
- package/development/core/timetable/access-leg-helper.d.ts +3 -3
- package/development/core/timetable/timetable-helper.d.ts +1 -2
- package/development/core/timetable/timetable-properties.d.ts +2 -1
- package/development/core.d.ts +0 -1
- package/development/core.js +1195 -5
- package/development/journey-summary/journey-summary.component.d.ts +3 -4
- package/development/journey-summary.d.ts +0 -1
- package/development/journey-summary.js +5 -5
- package/development/journey-summary.pure.d.ts +0 -1
- package/development/journey-summary.pure.js +2605 -2
- package/development/pearl-chain/pearl-chain.component.d.ts +2 -3
- package/development/pearl-chain-time/pearl-chain-time.component.d.ts +3 -4
- package/development/pearl-chain-time.d.ts +0 -1
- package/development/pearl-chain-time.js +5 -5
- package/development/pearl-chain-time.pure.d.ts +0 -1
- package/development/pearl-chain-time.pure.js +2582 -2
- package/development/pearl-chain-vertical/pearl-chain-vertical.component.d.ts +1 -2
- package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts +1 -2
- package/development/pearl-chain-vertical-item.d.ts +0 -1
- package/development/pearl-chain-vertical-item.js +5 -5
- package/development/pearl-chain-vertical-item.pure.d.ts +0 -1
- package/development/pearl-chain-vertical-item.pure.js +132 -2
- package/development/pearl-chain-vertical.d.ts +0 -1
- package/development/pearl-chain-vertical.js +5 -5
- package/development/pearl-chain-vertical.pure.d.ts +0 -1
- package/development/pearl-chain-vertical.pure.js +31 -2
- package/development/pearl-chain.d.ts +0 -1
- package/development/pearl-chain.js +5 -5
- package/development/pearl-chain.pure.d.ts +0 -1
- package/development/pearl-chain.pure.js +619 -2
- package/development/seat-reservation/common/mapper/icon-mapper.d.ts +0 -1
- package/development/seat-reservation/common/mapper/mapper.d.ts +1 -2
- package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.private.d.ts +68 -0
- package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.private.d.ts +122 -0
- package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.private.d.ts +68 -0
- package/development/seat-reservation/common/mapper.d.ts +0 -1
- package/development/seat-reservation/common/svgs.d.ts +20 -21
- package/development/seat-reservation/common/translations/i18n.d.ts +0 -1
- package/development/seat-reservation/common/translations.d.ts +0 -1
- package/development/seat-reservation/common/types.d.ts +0 -1
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +2 -3
- package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts +2 -3
- package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts +1 -2
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts +2 -3
- package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts +3 -4
- package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts +2 -3
- package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +3 -4
- package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts +1 -2
- package/development/seat-reservation.d.ts +0 -1
- package/development/seat-reservation.js +5 -16
- package/development/seat-reservation.pure.d.ts +0 -1
- package/development/seat-reservation.pure.js +16019 -14
- package/development/timetable-duration/timetable-duration.component.d.ts +1 -2
- package/development/timetable-duration.d.ts +0 -1
- package/development/timetable-duration.js +5 -5
- package/development/timetable-duration.pure.d.ts +0 -1
- package/development/timetable-duration.pure.js +97 -2
- package/development/timetable-row/timetable-row.component.d.ts +3 -4
- package/development/timetable-row.d.ts +0 -1
- package/development/timetable-row.js +5 -5
- package/development/timetable-row.pure.d.ts +0 -1
- package/development/timetable-row.pure.js +3005 -2
- package/journey-summary.js +1 -6
- package/journey-summary.pure.js +55 -2
- package/package.json +3 -4
- package/pearl-chain-time.js +1 -6
- package/pearl-chain-time.pure.js +28 -2
- package/pearl-chain-vertical-item.js +1 -6
- package/pearl-chain-vertical-item.pure.js +26 -2
- package/pearl-chain-vertical.js +1 -6
- package/pearl-chain-vertical.pure.js +6 -2
- package/pearl-chain.js +1 -6
- package/pearl-chain.pure.js +27 -2
- package/seat-reservation.js +1 -16
- package/seat-reservation.pure.js +468 -14
- package/timetable-duration.js +1 -6
- package/timetable-duration.pure.js +9 -2
- package/timetable-row.js +1 -6
- package/timetable-row.pure.js +113 -2
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +0 -65
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +0 -44
- package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +0 -2
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +0 -21
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +0 -2
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +0 -2
- package/autocomplete-grid-cell.component-79IjA__I.js +0 -23
- package/autocomplete-grid-option.component-DUFBhQwI.js +0 -35
- package/autocomplete-grid-row.component-B3U15Rwa.js +0 -26
- package/core/datetime/date-helper.js +0 -2
- package/core/timetable/access-leg-helper.js +0 -96
- package/core/timetable/timetable-helper.js +0 -10
- package/core/timetable/timetable-properties.js +0 -0
- package/date-helper-DNzMLcyb.js +0 -185
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +0 -1
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +0 -118
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +0 -1
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +0 -69
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +0 -1
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +0 -2
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts.map +0 -1
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +0 -30
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +0 -1
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +0 -2
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +0 -1
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +0 -2
- package/development/autocomplete-grid-cell.component-BbdELDro.js +0 -33
- package/development/autocomplete-grid-option.component-C7WuqRit.js +0 -57
- package/development/autocomplete-grid-row.component-DoXbOsQM.js +0 -38
- package/development/autocomplete-grid.d.ts.map +0 -1
- package/development/autocomplete-grid.pure.d.ts.map +0 -1
- package/development/core/datetime/date-helper.d.ts.map +0 -1
- package/development/core/datetime/date-helper.js +0 -2
- package/development/core/timetable/access-leg-helper.d.ts.map +0 -1
- package/development/core/timetable/access-leg-helper.js +0 -147
- package/development/core/timetable/timetable-helper.d.ts.map +0 -1
- package/development/core/timetable/timetable-helper.js +0 -19
- package/development/core/timetable/timetable-properties.d.ts.map +0 -1
- package/development/core/timetable/timetable-properties.js +0 -0
- package/development/core.d.ts.map +0 -1
- package/development/date-helper-BcTDWVeP.js +0 -539
- package/development/differenceInMinutes-CxAbGYQ3.js +0 -110
- package/development/format-Cx3zmmaF.js +0 -1848
- package/development/isValid-40Olgzo1.js +0 -178
- package/development/journey-summary/journey-summary.component.d.ts.map +0 -1
- package/development/journey-summary/journey-summary.component.js +0 -2
- package/development/journey-summary.component-BsC7wBIn.js +0 -341
- package/development/journey-summary.d.ts.map +0 -1
- package/development/journey-summary.pure.d.ts.map +0 -1
- package/development/mapper-BrZOqqfe.js +0 -11454
- package/development/pearl-chain/pearl-chain.component.d.ts.map +0 -1
- package/development/pearl-chain/pearl-chain.component.js +0 -2
- package/development/pearl-chain-time/pearl-chain-time.component.d.ts.map +0 -1
- package/development/pearl-chain-time/pearl-chain-time.component.js +0 -2
- package/development/pearl-chain-time.component-C-CuC1ke.js +0 -317
- package/development/pearl-chain-time.d.ts.map +0 -1
- package/development/pearl-chain-time.pure.d.ts.map +0 -1
- package/development/pearl-chain-vertical/pearl-chain-vertical.component.d.ts.map +0 -1
- package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +0 -2
- package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts.map +0 -1
- package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +0 -2
- package/development/pearl-chain-vertical-item.component-CLu9QrqJ.js +0 -131
- package/development/pearl-chain-vertical-item.d.ts.map +0 -1
- package/development/pearl-chain-vertical-item.pure.d.ts.map +0 -1
- package/development/pearl-chain-vertical.component-DbPz5k_R.js +0 -30
- package/development/pearl-chain-vertical.d.ts.map +0 -1
- package/development/pearl-chain-vertical.pure.d.ts.map +0 -1
- package/development/pearl-chain.component-10OsJZIX.js +0 -318
- package/development/pearl-chain.d.ts.map +0 -1
- package/development/pearl-chain.pure.d.ts.map +0 -1
- package/development/seat-reservation/common/mapper/icon-mapper.d.ts.map +0 -1
- package/development/seat-reservation/common/mapper/icon-mapper.js +0 -170
- package/development/seat-reservation/common/mapper/mapper.d.ts.map +0 -1
- package/development/seat-reservation/common/mapper/mapper.js +0 -2
- package/development/seat-reservation/common/mapper.d.ts.map +0 -1
- package/development/seat-reservation/common/mapper.js +0 -3
- package/development/seat-reservation/common/svgs.d.ts.map +0 -1
- package/development/seat-reservation/common/svgs.js +0 -2
- package/development/seat-reservation/common/translations/i18n.d.ts.map +0 -1
- package/development/seat-reservation/common/translations/i18n.js +0 -1120
- package/development/seat-reservation/common/translations.d.ts.map +0 -1
- package/development/seat-reservation/common/translations.js +0 -2
- package/development/seat-reservation/common/types.d.ts.map +0 -1
- package/development/seat-reservation/common/types.js +0 -0
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +0 -1
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +0 -1476
- package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +0 -1
- package/development/seat-reservation/seat-reservation/seat-reservation.component.js +0 -2
- package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts.map +0 -1
- package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +0 -2
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts.map +0 -1
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +0 -2
- package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +0 -1
- package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +0 -2
- package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +0 -1
- package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +0 -2
- package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +0 -1
- package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +0 -2
- package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts.map +0 -1
- package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +0 -2
- package/development/seat-reservation-area.component-DPhQJFid.js +0 -94
- package/development/seat-reservation-graphic.component-0LYsmerm.js +0 -129
- package/development/seat-reservation-navigation-coach.component-B97jKD7Y.js +0 -438
- package/development/seat-reservation-navigation-services.component-Cx0Is97w.js +0 -159
- package/development/seat-reservation-place-control.component-DaL1g8WH.js +0 -431
- package/development/seat-reservation-scoped.component-BHbORVsR.js +0 -24
- package/development/seat-reservation.component-DI9pSlzt.js +0 -473
- package/development/seat-reservation.d.ts.map +0 -1
- package/development/seat-reservation.pure.d.ts.map +0 -1
- package/development/svgs-Dj-RKmRs.js +0 -28
- package/development/timetable-duration/timetable-duration.component.d.ts.map +0 -1
- package/development/timetable-duration/timetable-duration.component.js +0 -2
- package/development/timetable-duration.component-Chk5D4Is.js +0 -96
- package/development/timetable-duration.d.ts.map +0 -1
- package/development/timetable-duration.pure.d.ts.map +0 -1
- package/development/timetable-row/timetable-row.component.d.ts.map +0 -1
- package/development/timetable-row/timetable-row.component.js +0 -2
- package/development/timetable-row.component-nzrQzxL6.js +0 -736
- package/development/timetable-row.d.ts.map +0 -1
- package/development/timetable-row.pure.d.ts.map +0 -1
- package/development/toDate-CDWut5fS.js +0 -150
- package/differenceInMinutes-BAZ-Fham.js +0 -27
- package/format-DjgG1QPc.js +0 -1103
- package/isValid-CXnsFZVu.js +0 -36
- package/journey-summary/journey-summary.component.js +0 -2
- package/journey-summary.component-DNoO3OCf.js +0 -265
- package/mapper-Dcou8VEf.js +0 -11382
- package/pearl-chain/pearl-chain.component.js +0 -2
- package/pearl-chain-time/pearl-chain-time.component.js +0 -2
- package/pearl-chain-time.component-BuvA6IE1.js +0 -237
- package/pearl-chain-vertical/pearl-chain-vertical.component.js +0 -2
- package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +0 -2
- package/pearl-chain-vertical-item.component-QZ4s8Jbv.js +0 -106
- package/pearl-chain-vertical.component-Dc3vaHsQ.js +0 -20
- package/pearl-chain.component-DtGXXkY6.js +0 -190
- package/seat-reservation/common/mapper/icon-mapper.js +0 -72
- package/seat-reservation/common/mapper/mapper.js +0 -2
- package/seat-reservation/common/mapper.js +0 -3
- package/seat-reservation/common/svgs.js +0 -2
- package/seat-reservation/common/translations/i18n.js +0 -1085
- package/seat-reservation/common/translations.js +0 -2
- package/seat-reservation/common/types.js +0 -0
- package/seat-reservation/seat-reservation/seat-reservation-base-element.js +0 -926
- package/seat-reservation/seat-reservation/seat-reservation.component.js +0 -2
- package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +0 -2
- package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +0 -2
- package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +0 -2
- package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +0 -2
- package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +0 -2
- package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +0 -2
- package/seat-reservation-area.component-G9lHb7S8.js +0 -73
- package/seat-reservation-graphic.component-BXFcQDxY.js +0 -102
- package/seat-reservation-navigation-coach.component-BXy8EkJe.js +0 -338
- package/seat-reservation-navigation-services.component-49XmV9rv.js +0 -124
- package/seat-reservation-place-control.component-DToIW328.js +0 -317
- package/seat-reservation-scoped.component-D8dAmrP7.js +0 -16
- package/seat-reservation.component--0XnrCkk.js +0 -372
- package/svgs-D4fuYTHV.js +0 -26
- package/timetable-duration/timetable-duration.component.js +0 -2
- package/timetable-duration.component-iMCvh1zr.js +0 -61
- package/timetable-row/timetable-row.component.js +0 -2
- package/timetable-row.component-mNKmhRmP.js +0 -566
- package/toDate-BhNUyM4s.js +0 -16
package/timetable-duration.js
CHANGED
|
@@ -1,6 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import "./timetable-duration.pure.js";
|
|
3
|
-
//#region src/elements-experimental/timetable-duration.ts
|
|
4
|
-
e.define();
|
|
5
|
-
//#endregion
|
|
6
|
-
export { e as SbbTimetableDurationElement };
|
|
1
|
+
import{SbbTimetableDurationElement as e}from"./timetable-duration.pure.js";export*from"./timetable-duration.pure.js";e.define();
|
|
@@ -1,2 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import{__esDecorate as e,__runInitializers as t}from"tslib";import{SbbElement as n,SbbLanguageController as r,forceType as i,i18nDurationHour as a,i18nDurationMinute as o,screenReaderOnlyStyles as s}from"@sbb-esta/lyne-elements/core.js";import{html as c,unsafeCSS as l}from"lit";import{property as u}from"lit/decorators.js";var d=`:host{display:inline-block}.duration{--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-typo-letter-spacing-text);font-size:var(--sbb-text-font-size);white-space:nowrap;margin:0}
|
|
2
|
+
`;let f=(()=>{let f=n,p,m=[],h=[];return class extends f{constructor(){super(...arguments),this.#e=t(this,m,``),this._language=(t(this,h),new r(this))}static{let t=typeof Symbol==`function`&&Symbol.metadata?Object.create(f[Symbol.metadata]??null):void 0;p=[i(),u()],e(this,null,p,{kind:`accessor`,name:`config`,static:!1,private:!1,access:{has:e=>`config`in e,get:e=>e.config,set:(e,t)=>{e.config=t}},metadata:t},m,h),t&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})}static{this.elementName=`sbb-timetable-duration`}static{this.styles=[s,l(d)]}#e;get config(){return this.#e}set config(e){this.#e=e}render(){let e=JSON.parse(this.config),t=a.multiple.short[this._language.current],n=o.multiple.short[this._language.current],r=``,i=``,s=a.multiple.long[this._language.current],l=o.multiple.long[this._language.current];return e.hours===1&&(s=a.single.long[this._language.current]),e.minutes===1&&(l=o.single.long[this._language.current]),e.hours!==0&&(r+=`${e.hours} ${t}`,i+=`${e.hours} ${s}`),r+=` ${e.minutes} ${n}`,i+=` ${e.minutes} ${l}.`,c`
|
|
3
|
+
<p aria-label=${i} class="duration" role="text">
|
|
4
|
+
<span aria-hidden="true" class="duration__text--visual" role="presentation">
|
|
5
|
+
${r}
|
|
6
|
+
</span>
|
|
7
|
+
<span class="sbb-screen-reader-only">${i}</span>
|
|
8
|
+
</p>
|
|
9
|
+
`}}})();export{f as SbbTimetableDurationElement};
|
package/timetable-row.js
CHANGED
|
@@ -1,6 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import "./timetable-row.pure.js";
|
|
3
|
-
//#region src/elements-experimental/timetable-row.ts
|
|
4
|
-
s.define();
|
|
5
|
-
//#endregion
|
|
6
|
-
export { s as SbbTimetableRowElement, r as filterNotices, a as getCus, n as getHimIcon, e as handleNotices, i as renderIconProduct, o as renderStringProduct, t as sortSituation };
|
|
1
|
+
import{SbbTimetableRowElement as e}from"./timetable-row.pure.js";export*from"./timetable-row.pure.js";e.define();
|
package/timetable-row.pure.js
CHANGED
|
@@ -1,2 +1,113 @@
|
|
|
1
|
-
import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "./timetable-row.component-mNKmhRmP.js";
|
|
2
|
-
|
|
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`});break}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-typo-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-typo-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">
|
|
3
|
+
<sbb-icon name=${e}></sbb-icon>
|
|
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">
|
|
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??new Date}willUpdate(e){super.willUpdate(e),e.has(`loadingTrip`)&&(this.internals.role=this.loadingTrip?null:`rowgroup`)}_renderSkeleton(){return b`
|
|
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}
|
|
10
|
+
<div class="sbb-loading__wrapper">
|
|
11
|
+
<div class="sbb-loading__row"></div>
|
|
12
|
+
<div class="sbb-loading__row"></div>
|
|
13
|
+
<div class="sbb-loading__row"></div>
|
|
14
|
+
</div>
|
|
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`
|
|
17
|
+
<span class="sbb-timetable__row--quay">
|
|
18
|
+
<span class="sbb-screen-reader-only">${e?.long} </span>
|
|
19
|
+
<span class="sbb-timetable__row--quay-type" aria-hidden="true"
|
|
20
|
+
>${e?.short}</span
|
|
21
|
+
>
|
|
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`
|
|
24
|
+
<sbb-card class="sbb-card-spacing-4x-xxs sbb-timetable__row-card" id=${t}>
|
|
25
|
+
<sbb-card-button
|
|
26
|
+
?active=${this.active}
|
|
27
|
+
aria-expanded=${this.accessibilityExpanded?`true`:x}
|
|
28
|
+
>
|
|
29
|
+
${this.cardActionLabel?this.cardActionLabel:this._getAccessibilityText(this.trip)}
|
|
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">
|
|
34
|
+
%<span class="sbb-screen-reader-only"
|
|
35
|
+
>${ie[this._language.current]}</span
|
|
36
|
+
>
|
|
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}
|
|
41
|
+
<div class="sbb-timetable__row" role="row">
|
|
42
|
+
<div class="sbb-timetable__row-header" role="gridcell">
|
|
43
|
+
<div class="sbb-timetable__row-details">
|
|
44
|
+
${i?.corporateIdentityPictogram&&b`<span class="sbb-timetable__row-transport-wrapper">
|
|
45
|
+
<sbb-icon
|
|
46
|
+
class="sbb-timetable__row-transport-icon"
|
|
47
|
+
name="picto:${i.corporateIdentityPictogram}"
|
|
48
|
+
></sbb-icon>
|
|
49
|
+
<span class="sbb-screen-reader-only">
|
|
50
|
+
${i&&i.vehicleMode&&f[i.vehicleMode.toLowerCase()]&&f[i.vehicleMode.toLowerCase()][this._language.current]}
|
|
51
|
+
|
|
52
|
+
</span>
|
|
53
|
+
</span>`}
|
|
54
|
+
${i&&(i.corporateIdentityIcon?We(i.corporateIdentityIcon,i.name):i.vehicleSubModeShortName&&Ge(i.vehicleSubModeShortName,i?.line))}
|
|
55
|
+
</div>
|
|
56
|
+
${a?b`<p>${`${te[this._language.current]} ${a}`}</p>`:x}
|
|
57
|
+
</div>
|
|
58
|
+
<sbb-pearl-chain-time
|
|
59
|
+
role="gridcell"
|
|
60
|
+
.legs=${e}
|
|
61
|
+
.departureTime=${s?.time}
|
|
62
|
+
.arrivalTime=${c?.time}
|
|
63
|
+
.departureWalk=${o}
|
|
64
|
+
.arrivalWalk=${l}
|
|
65
|
+
?disable-animation=${this.disableAnimation}
|
|
66
|
+
?a11y-footpath=${this.a11yFootpath}
|
|
67
|
+
.now=${this.now}
|
|
68
|
+
></sbb-pearl-chain-time>
|
|
69
|
+
<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
|
+
>
|
|
73
|
+
<span class="sbb-screen-reader-only">
|
|
74
|
+
${`${ee[this._language.current]} ${s?.quayChanged?ne[this._language.current]:``}`}
|
|
75
|
+
|
|
76
|
+
</span>
|
|
77
|
+
${this._renderQuayType()} ${s?.quayFormatted}
|
|
78
|
+
</span>`:x}
|
|
79
|
+
${u?.firstClass&&u?.firstClass!==`UNKNOWN`||u?.secondClass&&u.secondClass!==`UNKNOWN`?b`<sbb-timetable-occupancy
|
|
80
|
+
.firstClassOccupancy=${u?.firstClass?.toLowerCase()}
|
|
81
|
+
.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>
|
|
85
|
+
<sbb-icon
|
|
86
|
+
class="sbb-travel-hints__item"
|
|
87
|
+
name=${`sa-`+e.name?.toLowerCase()}
|
|
88
|
+
></sbb-icon>
|
|
89
|
+
<span class="sbb-screen-reader-only">${e.text?.template}</span>
|
|
90
|
+
</li>`:x)}
|
|
91
|
+
${this.boarding?b`<li>
|
|
92
|
+
<sbb-icon
|
|
93
|
+
class="sbb-travel-hints__item"
|
|
94
|
+
name=${this.boarding?.name}
|
|
95
|
+
aria-label=${this.boarding?.text}
|
|
96
|
+
aria-hidden="false"
|
|
97
|
+
></sbb-icon>
|
|
98
|
+
</li>`:x}
|
|
99
|
+
</ul>`:x}
|
|
100
|
+
${d&&d>0?b`<time>
|
|
101
|
+
<span class="sbb-screen-reader-only">
|
|
102
|
+
${`${se[this._language.current]} ${ae.long}`}
|
|
103
|
+
</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">
|
|
107
|
+
<sbb-icon name=${(p.cus||p.him).name}></sbb-icon>
|
|
108
|
+
<span class="sbb-screen-reader-only">${(p.cus||p.him).text}</span>
|
|
109
|
+
</span>`:x}
|
|
110
|
+
</div>
|
|
111
|
+
</div>
|
|
112
|
+
</sbb-card>
|
|
113
|
+
`}}})();export{tt as SbbTimetableRowElement,et as filterNotices,Qe as getCus,Ze as getHimIcon,$ as handleNotices,We as renderIconProduct,Ge as renderStringProduct,Xe as sortSituation};
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { getNextElementIndex as e, isSafari as t, setAriaComboBoxAttributes as n, ɵstateController as r } from "@sbb-esta/lyne-elements/core.js";
|
|
2
|
-
import { SbbAutocompleteBaseElement as i } from "@sbb-esta/lyne-elements/autocomplete.pure.js";
|
|
3
|
-
import { SbbAutocompleteGridOptionElement as a } from "../autocomplete-grid-option/autocomplete-grid-option.component.js";
|
|
4
|
-
//#region src/elements-experimental/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.ts
|
|
5
|
-
var o = 0, s = t, c = class extends i {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments), this.overlayId = `sbb-autocomplete-grid-${++o}`, this.panelRole = "grid", this._activeColumnIndex = 0;
|
|
8
|
-
}
|
|
9
|
-
static {
|
|
10
|
-
this.elementName = "sbb-autocomplete-grid";
|
|
11
|
-
}
|
|
12
|
-
static {
|
|
13
|
-
this.role = s ? "grid" : null;
|
|
14
|
-
}
|
|
15
|
-
get options() {
|
|
16
|
-
return Array.from(this.querySelectorAll?.("sbb-autocomplete-grid-option") ?? []);
|
|
17
|
-
}
|
|
18
|
-
syncNegative() {
|
|
19
|
-
this.querySelectorAll?.("sbb-divider, sbb-autocomplete-grid-button, sbb-option-hint").forEach((e) => e.negative = this.negative), this.querySelectorAll?.("sbb-autocomplete-grid-row, sbb-autocomplete-grid-option, sbb-autocomplete-grid-optgroup").forEach((e) => r(e).toggle("negative", this.negative));
|
|
20
|
-
}
|
|
21
|
-
openedPanelKeyboardInteraction(e) {
|
|
22
|
-
if (this.isOpen) switch (e.key) {
|
|
23
|
-
case "Enter":
|
|
24
|
-
this.selectByKeyboard(e);
|
|
25
|
-
break;
|
|
26
|
-
case "ArrowDown":
|
|
27
|
-
case "ArrowUp":
|
|
28
|
-
this.setNextActiveOption(e);
|
|
29
|
-
break;
|
|
30
|
-
case "ArrowRight":
|
|
31
|
-
case "ArrowLeft":
|
|
32
|
-
this._setNextHorizontalActiveElement(e);
|
|
33
|
-
break;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
selectByKeyboard(e) {
|
|
37
|
-
this.activeOption && (e.preventDefault(), this._activeColumnIndex === 0 ? this.activeOption.selectViaUserInteraction(!0) : this.activeOption.closest("sbb-autocomplete-grid-row")?.querySelectorAll("sbb-autocomplete-grid-button")[this._activeColumnIndex - 1]?.click());
|
|
38
|
-
}
|
|
39
|
-
setNextActiveOption(t) {
|
|
40
|
-
let n = this.options.filter((e) => !e.matches(":is(:state(disabled),[state--disabled])"));
|
|
41
|
-
if (this.activeOption?.setActive(!1), this.triggerElement.ariaActiveDescendantElement = null, Array.from(this.querySelectorAll?.("sbb-autocomplete-grid-row :is(:state(focus-visible),[state--focus-visible])") ?? []).forEach((e) => r(e).delete("focus-visible")), this._activeColumnIndex = 0, !n.length) {
|
|
42
|
-
this.activeOption = null;
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
let i = e(t, this.activeOption ? n.indexOf(this.activeOption) : -1, n.length);
|
|
46
|
-
this.activeOption = n[i], this.activeOption.setActive(!0), this.triggerElement.ariaActiveDescendantElement = this.activeOption, this.activeOption.scrollIntoView({ block: "nearest" }), t && t.preventDefault(), this.autoSelectActiveOption && t && this.setPendingSelection(this.activeOption);
|
|
47
|
-
}
|
|
48
|
-
_setNextHorizontalActiveElement(t) {
|
|
49
|
-
if (!this.activeOption) return;
|
|
50
|
-
let n = Array.from(this.activeOption?.closest("sbb-autocomplete-grid-row")?.querySelectorAll("sbb-autocomplete-grid-option, sbb-autocomplete-grid-button") ?? [])?.filter((e) => !e.matches(":is(:state(disabled),[state--disabled])"));
|
|
51
|
-
if (!n.length) return;
|
|
52
|
-
let i = e(t, this._activeColumnIndex, n.length), o = n[i];
|
|
53
|
-
o instanceof a ? o.setActive(!0) : r(o).add("focus-visible");
|
|
54
|
-
let s = n[this._activeColumnIndex];
|
|
55
|
-
s instanceof a ? s.setActive(!1) : r(s).delete("focus-visible"), this.triggerElement.ariaActiveDescendantElement = o, o.scrollIntoView({ block: "nearest" }), this._activeColumnIndex = i;
|
|
56
|
-
}
|
|
57
|
-
resetActiveElement() {
|
|
58
|
-
this._activeColumnIndex !== 0 && this.activeOption?.closest("sbb-autocomplete-grid-row")?.querySelectorAll("sbb-autocomplete-grid-button").forEach((e) => r(e).delete("focus-visible")), this.activeOption?.setActive(!1), this.activeOption = null, this._activeColumnIndex = 0, this.triggerElement && (this.triggerElement.ariaActiveDescendantElement = null);
|
|
59
|
-
}
|
|
60
|
-
setTriggerAttributes(e) {
|
|
61
|
-
n(e, s ? this.id : this.overlayId, !1, "grid");
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
//#endregion
|
|
65
|
-
export { c as SbbAutocompleteGridElement };
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { miniButtonStyle as e } from "@sbb-esta/lyne-elements/button.pure.js";
|
|
2
|
-
import { SbbActionBaseElement as t, SbbDisabledMixin as n, SbbNegativeMixin as r, SbbPropertyWatcherController as i, isEventPrevented as a } from "@sbb-esta/lyne-elements/core.js";
|
|
3
|
-
import { SbbIconNameMixin as o } from "@sbb-esta/lyne-elements/icon.pure.js";
|
|
4
|
-
import { isServer as s } from "lit";
|
|
5
|
-
//#region src/elements-experimental/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.ts
|
|
6
|
-
var c = 0, l = class extends n(r(o(t))) {
|
|
7
|
-
static {
|
|
8
|
-
this.elementName = "sbb-autocomplete-grid-button";
|
|
9
|
-
}
|
|
10
|
-
static {
|
|
11
|
-
this.role = "button";
|
|
12
|
-
}
|
|
13
|
-
static {
|
|
14
|
-
this.styles = [e];
|
|
15
|
-
}
|
|
16
|
-
get option() {
|
|
17
|
-
return this.closest("sbb-autocomplete-grid-row")?.querySelector("sbb-autocomplete-grid-option") || null;
|
|
18
|
-
}
|
|
19
|
-
get optgroup() {
|
|
20
|
-
return this.closest("sbb-autocomplete-grid-optgroup");
|
|
21
|
-
}
|
|
22
|
-
constructor() {
|
|
23
|
-
super(), this._handleButtonClick = async (e) => {
|
|
24
|
-
await a(e) || this.closest("form");
|
|
25
|
-
}, this.internals.states.add("button"), s || (this.setupBaseEventHandlers(), this.addEventListener("click", this._handleButtonClick), this.addController(new i(this, () => this.closest("sbb-autocomplete-grid-optgroup"), { disabled: () => this._updateInternals() })));
|
|
26
|
-
}
|
|
27
|
-
isDisabledExternally() {
|
|
28
|
-
return this.optgroup?.disabled ?? !1;
|
|
29
|
-
}
|
|
30
|
-
renderTemplate() {
|
|
31
|
-
return super.renderIconSlot();
|
|
32
|
-
}
|
|
33
|
-
connectedCallback() {
|
|
34
|
-
super.connectedCallback(), this.id ||= `sbb-autocomplete-grid-button-${++c}`, this.removeAttribute("tabindex");
|
|
35
|
-
}
|
|
36
|
-
willUpdate(e) {
|
|
37
|
-
super.willUpdate(e), e.has("disabled") && this._updateInternals();
|
|
38
|
-
}
|
|
39
|
-
_updateInternals() {
|
|
40
|
-
this.disabled || this.optgroup?.disabled ? (this.internals.states.add("disabled"), this.internals.ariaDisabled = "true") : (this.internals.states.delete("disabled"), this.internals.ariaDisabled = null);
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
//#endregion
|
|
44
|
-
export { l as SbbAutocompleteGridButtonElement };
|
package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { SbbPropertyWatcherController as e } from "@sbb-esta/lyne-elements/core.js";
|
|
2
|
-
import { SbbOptgroupBaseElement as t } from "@sbb-esta/lyne-elements/option.pure.js";
|
|
3
|
-
//#region src/elements-experimental/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.ts
|
|
4
|
-
var n = class extends t {
|
|
5
|
-
static {
|
|
6
|
-
this.elementName = "sbb-autocomplete-grid-optgroup";
|
|
7
|
-
}
|
|
8
|
-
get options() {
|
|
9
|
-
return Array.from(this.querySelectorAll?.("sbb-autocomplete-grid-option") ?? []);
|
|
10
|
-
}
|
|
11
|
-
constructor() {
|
|
12
|
-
super(), this.addController(new e(this, () => this.closest("sbb-autocomplete-grid"), { negative: (e) => {
|
|
13
|
-
this.toggleState("negative", e.negative), this.requestUpdate();
|
|
14
|
-
} }));
|
|
15
|
-
}
|
|
16
|
-
getAutocompleteParent() {
|
|
17
|
-
return this.closest?.("sbb-autocomplete-grid") || null;
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
//#endregion
|
|
21
|
-
export { n as SbbAutocompleteGridOptgroupElement };
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { SbbElement as e } from "@sbb-esta/lyne-elements/core.js";
|
|
2
|
-
import { html as t, unsafeCSS as n } from "lit";
|
|
3
|
-
//#region src/elements-experimental/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.scss?inline
|
|
4
|
-
var r = ":host{--sbb-autocomplete-grid-cell-gap: var(--sbb-spacing-fixed-6x);display:block}.sbb-autocomplete-grid-cell{display:flex;column-gap:var(--sbb-autocomplete-grid-cell-gap)}", i = class extends e {
|
|
5
|
-
static {
|
|
6
|
-
this.elementName = "sbb-autocomplete-grid-cell";
|
|
7
|
-
}
|
|
8
|
-
static {
|
|
9
|
-
this.role = "gridcell";
|
|
10
|
-
}
|
|
11
|
-
static {
|
|
12
|
-
this.styles = [n(r)];
|
|
13
|
-
}
|
|
14
|
-
render() {
|
|
15
|
-
return t`
|
|
16
|
-
<span class="sbb-autocomplete-grid-cell">
|
|
17
|
-
<slot></slot>
|
|
18
|
-
</span>
|
|
19
|
-
`;
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
//#endregion
|
|
23
|
-
export { i as t };
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { SbbPropertyWatcherController as e, ɵstateController as t } from "@sbb-esta/lyne-elements/core.js";
|
|
2
|
-
import { unsafeCSS as n } from "lit";
|
|
3
|
-
import { SbbOptionBaseElement as r } from "@sbb-esta/lyne-elements/option.pure.js";
|
|
4
|
-
//#region src/elements-experimental/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.scss?inline
|
|
5
|
-
var i = ":host{--sbb-focus-outline-offset: var(--sbb-option-focus-outline-offset);display:block}:host(:is(:state(negative),[state--negative])){--sbb-option-color: var(--sbb-color-3-negative);--sbb-option-icon-color: var(--sbb-color-5)}:host(:is(:state(size-s),[state--size-s])){--sbb-option-min-height: var(--sbb-size-element-xxs);--sbb-option-focus-outline-offset: calc(-1 * var(--sbb-spacing-fixed-1x));--sbb-option-focus-outline-inset: 0 var(--sbb-spacing-fixed-1x)}:host(:is(:state(size-m),[state--size-m])){--sbb-option-min-height: var(--sbb-size-element-s);--sbb-option-focus-outline-offset: inherit;--sbb-option-focus-outline-inset: var(--sbb-spacing-fixed-1x)}:host(:not(:is(:state(disable-highlight),[state--disable-highlight]))) .sbb-option__label slot{display:none}:host(:is(:state(active),[state--active])){--sbb-option-focus-outline-color: var(--sbb-focus-outline-color)}.sbb-option{font-size:var(--sbb-option-font-size);letter-spacing:var(--sbb-typo-letter-spacing-text);position:relative;display:flex;align-items:center;column-gap:var(--sbb-option-column-gap);justify-content:start;min-height:var(--sbb-option-min-height);padding-inline:var(--sbb-option-padding-inline);color:var(--sbb-option-color)}.sbb-option:after{content:\"\";display:block;position:absolute;inset:var(--sbb-option-focus-outline-inset);pointer-events:none;border:var(--sbb-focus-outline-width) solid var(--sbb-option-focus-outline-color);border-radius:var(--sbb-option-border-radius)}:host(:not(:is(:state(disabled),[state--disabled]))) .sbb-option__label--highlight{font-weight:700}@media(forced-colors:active){:host(:not(:is(:state(disabled),[state--disabled]))) .sbb-option__label--highlight{color:Highlight}}.sbb-option__icon{display:flex;min-width:var(--sbb-size-icon-ui-small);min-height:var(--sbb-size-icon-ui-small);color:var(--sbb-option-icon-color)}:host(:not(:is(:state(slotted-icon),[state--slotted-icon]),:is(:state(has-icon-name),[state--has-icon-name]))) .sbb-option__icon{display:var(--sbb-option-icon-container-display, none)}.sbb-option__label{text-overflow:var(--sbb-option-text-overflow);overflow:var(--sbb-option-overflow);white-space:var(--sbb-option-white-space, initial)}", a = "sbb-autocomplete-grid-option", o = class extends r {
|
|
6
|
-
static {
|
|
7
|
-
this.elementName = "sbb-autocomplete-grid-option";
|
|
8
|
-
}
|
|
9
|
-
static {
|
|
10
|
-
this.role = "gridcell";
|
|
11
|
-
}
|
|
12
|
-
static {
|
|
13
|
-
this.styles = [n(i)];
|
|
14
|
-
}
|
|
15
|
-
constructor() {
|
|
16
|
-
super(), this.addController(new e(this, () => this.closest("sbb-autocomplete-grid-optgroup"), {
|
|
17
|
-
disabled: (e) => {
|
|
18
|
-
this.disabledFromGroup = e.disabled, t(this.closest?.("sbb-autocomplete-grid-row"))?.toggle("disabled", this.disabled || this.disabledFromGroup), this.updateAriaDisabled();
|
|
19
|
-
},
|
|
20
|
-
label: (e) => this.groupLabel = e.label
|
|
21
|
-
}));
|
|
22
|
-
}
|
|
23
|
-
willUpdate(e) {
|
|
24
|
-
super.willUpdate(e), e.has("disabled") && (t(this.closest?.("sbb-autocomplete-grid-row"))?.toggle("disabled", this.disabled || this.disabledFromGroup), this.updateAriaDisabled());
|
|
25
|
-
}
|
|
26
|
-
selectByClick(e) {
|
|
27
|
-
if (this.disabled || this.disabledFromGroup) {
|
|
28
|
-
e.stopPropagation();
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
this.selectViaUserInteraction(!0);
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
//#endregion
|
|
35
|
-
export { a as n, o as t };
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { SbbElement as e } from "@sbb-esta/lyne-elements/core.js";
|
|
2
|
-
import { html as t, unsafeCSS as n } from "lit";
|
|
3
|
-
//#region src/elements-experimental/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.scss?inline
|
|
4
|
-
var r = ":host{display:block}:host(:is(:state(negative),[state--negative])){--sbb-autocomplete-grid-row-color: var(--sbb-color-3-negative);--sbb-autocomplete-grid-row-background-color-hover: var(--sbb-background-color-3-negative);--sbb-autocomplete-grid-row-disabled-border-color: var(--sbb-border-color-5);--sbb-autocomplete-grid-row-disabled-background-color: var(--sbb-background-color-3-negative);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark)}@media(any-hover:hover){:host(:hover:not(:is(:state(disabled),[state--disabled]))){--sbb-autocomplete-grid-row-background-color: var( --sbb-autocomplete-grid-row-background-color-hover )}}:host(:is(:state(disabled),[state--disabled])){--sbb-autocomplete-grid-row-cursor: var(--sbb-cursor-default)}@media(forced-colors:active){:host(:is(:state(disabled),[state--disabled])){--sbb-autocomplete-grid-row-color: GrayText}}::slotted(sbb-autocomplete-grid-option){flex:1 1 auto;margin-right:calc(-1 * var(--sbb-spacing-fixed-2x));overflow-x:hidden}.sbb-autocomplete-grid-row{display:flex;align-items:center;padding-inline-end:var(--sbb-autocomplete-grid-row-padding-inline-end);justify-content:var(--sbb-autocomplete-grid-row-justify-content);gap:var(--sbb-spacing-fixed-6x);color:var(--sbb-autocomplete-grid-row-color);background-color:var(--sbb-autocomplete-grid-row-background-color, inherit);cursor:var(--sbb-autocomplete-grid-row-cursor);-webkit-tap-highlight-color:transparent;-webkit-text-fill-color:var(--sbb-autocomplete-grid-row-color)}:host(:is(:state(disabled),[state--disabled])) .sbb-autocomplete-grid-row{position:relative;z-index:0}:host(:is(:state(disabled),[state--disabled])) .sbb-autocomplete-grid-row:before{content:\"\";display:block;position:absolute;inset:.375rem;border:var(--sbb-border-width-1x) dashed var(--sbb-autocomplete-grid-row-disabled-border-color);border-radius:var(--sbb-border-radius-2x);background-color:var(--sbb-autocomplete-grid-row-disabled-background-color);z-index:-1}@media(forced-colors:active){:host(:is(:state(disabled),[state--disabled])) .sbb-autocomplete-grid-row:before{border-color:GrayText}}", i = 0, a = class extends e {
|
|
5
|
-
static {
|
|
6
|
-
this.elementName = "sbb-autocomplete-grid-row";
|
|
7
|
-
}
|
|
8
|
-
static {
|
|
9
|
-
this.role = "row";
|
|
10
|
-
}
|
|
11
|
-
static {
|
|
12
|
-
this.styles = [n(r)];
|
|
13
|
-
}
|
|
14
|
-
connectedCallback() {
|
|
15
|
-
super.connectedCallback(), this.id ||= `sbb-autocomplete-grid-row-${++i}`;
|
|
16
|
-
}
|
|
17
|
-
render() {
|
|
18
|
-
return t`
|
|
19
|
-
<span class="sbb-autocomplete-grid-row">
|
|
20
|
-
<slot></slot>
|
|
21
|
-
</span>
|
|
22
|
-
`;
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
//#endregion
|
|
26
|
-
export { a as t };
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { extractTimeAndStringFromNoticeText as e, isConnectionLeg as t, isRideLeg as n } from "./timetable-helper.js";
|
|
2
|
-
import { i18nWalkingDistanceArrival as r, i18nWalkingDistanceDeparture as i } from "@sbb-esta/lyne-elements/core.js";
|
|
3
|
-
import "@sbb-esta/lyne-elements/icon.pure.js";
|
|
4
|
-
import { html as a, nothing as o } from "lit";
|
|
5
|
-
//#region src/elements-experimental/core/timetable/access-leg-helper.ts
|
|
6
|
-
function s(e, n) {
|
|
7
|
-
let r = t(e) ? e : null, i = r ? r?.notices?.filter((e) => n.includes(e.name))[0] : null;
|
|
8
|
-
return i ? {
|
|
9
|
-
duration: r?.duration || 0,
|
|
10
|
-
text: i?.text?.template || "",
|
|
11
|
-
icon: "walk-small"
|
|
12
|
-
} : null;
|
|
13
|
-
}
|
|
14
|
-
function c(t, r, a, o) {
|
|
15
|
-
let s = n(t) ? t?.serviceJourney?.notices?.filter((e) => ["CI"].includes(e.name))[0] : null, c = s && e(s);
|
|
16
|
-
return s ? {
|
|
17
|
-
duration: (c?.duration || 0) + (r || 0),
|
|
18
|
-
text: a ? i[o] : c?.text || "",
|
|
19
|
-
icon: a ? "wheelchair-small" : `sa-${s?.name?.toLowerCase()}`
|
|
20
|
-
} : null;
|
|
21
|
-
}
|
|
22
|
-
function l(t, i, a, o) {
|
|
23
|
-
let s = n(t) ? t?.serviceJourney?.notices?.filter((e) => ["CO"].includes(e.name))[0] : null, c = s && e(s);
|
|
24
|
-
return s ? {
|
|
25
|
-
duration: (c?.duration || 0) + (i || 0),
|
|
26
|
-
text: a ? r[o] : c?.text || "",
|
|
27
|
-
icon: a ? "wheelchair-small" : `sa-${s?.name?.toLowerCase()}`
|
|
28
|
-
} : null;
|
|
29
|
-
}
|
|
30
|
-
function u(e, t, n, s, c) {
|
|
31
|
-
return a`
|
|
32
|
-
<span class="sbb-pearl-chain__time-transfer sbb-pearl-chain__time-transfer--${t}-${c}">
|
|
33
|
-
<sbb-icon name=${t}></sbb-icon>
|
|
34
|
-
<time datetime=${e + "M"}>
|
|
35
|
-
<span class="sbb-screen-reader-only">
|
|
36
|
-
${!s && c ? c === "departure" ? i[n] : r[n] : o}
|
|
37
|
-
${s ? a`<span>${s}</span>` : o}
|
|
38
|
-
</span>
|
|
39
|
-
${e}
|
|
40
|
-
<span class="sbb-pearl-chain__time-walktime-prime-symbol" aria-hidden="true">'</span>
|
|
41
|
-
<span class="sbb-screen-reader-only">min</span>
|
|
42
|
-
</time>
|
|
43
|
-
</span>
|
|
44
|
-
`;
|
|
45
|
-
}
|
|
46
|
-
function d(e, t, n, r) {
|
|
47
|
-
return a`
|
|
48
|
-
<span class="sbb-pearl-chain__time-walktime sbb-pearl-chain__time-walktime--${r}-${n}">
|
|
49
|
-
<sbb-icon name=${r}></sbb-icon>
|
|
50
|
-
<time datetime=${e + "M"}>
|
|
51
|
-
<span class="sbb-screen-reader-only">${t}</span>
|
|
52
|
-
${e}
|
|
53
|
-
<span class="sbb-pearl-chain__time-walktime-prime-symbol" aria-hidden="true">'</span>
|
|
54
|
-
</time>
|
|
55
|
-
</span>
|
|
56
|
-
`;
|
|
57
|
-
}
|
|
58
|
-
function f(e, f, p, m, h) {
|
|
59
|
-
let g = e && e.filter((e) => n(e) || t(e))[0], _ = [
|
|
60
|
-
"YM",
|
|
61
|
-
"YB",
|
|
62
|
-
"Y",
|
|
63
|
-
"YT"
|
|
64
|
-
], v = s(g, _), y = c(g, f, h, m), b = f ? {
|
|
65
|
-
text: i[m],
|
|
66
|
-
duration: f,
|
|
67
|
-
icon: h ? "wheelchair-small" : "walk-small"
|
|
68
|
-
} : null, x = () => v || (b && !y && !v ? b : y || null);
|
|
69
|
-
function S() {
|
|
70
|
-
return a`
|
|
71
|
-
${v ? d(v.duration, v.text, "left", v.icon) : o}
|
|
72
|
-
${b && !y && !v ? d(b.duration, b.text, "left", b.icon) : o}
|
|
73
|
-
${y ? h ? d(y.duration, y.text, "left", y.icon) : u(y.duration, y.icon, m, y.text, "departure") : o}
|
|
74
|
-
`;
|
|
75
|
-
}
|
|
76
|
-
let C = e && e[e.length - 1], w = (t(C) || n(C)) && C, T = w && s(w, _), E = w && l(w, p, h, m), D = p ? {
|
|
77
|
-
text: r[m],
|
|
78
|
-
duration: p,
|
|
79
|
-
icon: h ? "wheelchair-small" : "walk-small"
|
|
80
|
-
} : null, O = () => T || (D && !E && !T ? D : E || null);
|
|
81
|
-
function k() {
|
|
82
|
-
return a`
|
|
83
|
-
${T ? d(T.duration, T.text, "right", T.icon) : o}
|
|
84
|
-
${D && !E && !T ? d(D.duration, D.text, "right", D.icon) : o}
|
|
85
|
-
${E ? h ? d(E.duration, E.text, "right", E.icon) : u(E.duration, E.icon, m, E.text, "arrival") : o}
|
|
86
|
-
`;
|
|
87
|
-
}
|
|
88
|
-
return {
|
|
89
|
-
renderDepartureTimeAttribute: S,
|
|
90
|
-
renderArrivalTimeAttribute: k,
|
|
91
|
-
departureTimeAttribute: x(),
|
|
92
|
-
arrivalTimeAttribute: O()
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
//#endregion
|
|
96
|
-
export { f as getDepartureArrivalTimeAttribute };
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
//#region src/elements-experimental/core/timetable/timetable-helper.ts
|
|
2
|
-
var e = (e) => e?.__typename === "PTRideLeg", t = (e) => e?.__typename === "PTConnectionLeg", n = (e) => {
|
|
3
|
-
let t = e?.text?.template && e.text.template.indexOf("(") + 1, n = e?.text?.template?.substring(t || 0, e?.text?.template.indexOf(")"));
|
|
4
|
-
return {
|
|
5
|
-
duration: n && +n.substring(0, n.length - 1) || 0,
|
|
6
|
-
text: e?.text?.template?.split("(")[0] || ""
|
|
7
|
-
};
|
|
8
|
-
};
|
|
9
|
-
//#endregion
|
|
10
|
-
export { n as extractTimeAndStringFromNoticeText, t as isConnectionLeg, e as isRideLeg };
|
|
File without changes
|