@sbb-esta/lyne-elements-experimental 4.0.0-next.3 → 4.0.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/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +27 -26
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +7 -8
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts +1 -1
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +17 -12
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +0 -1
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +19 -20
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +12 -12
- package/core/timetable/access-leg-helper.d.ts +5 -5
- package/custom-elements.json +109 -152
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +9 -8
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +5 -5
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts +1 -1
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +11 -5
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +0 -1
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +13 -18
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +7 -7
- package/development/core/timetable/access-leg-helper.d.ts +5 -5
- package/development/core/timetable/access-leg-helper.js +1 -1
- package/development/seat-reservation/common/mapper/mapper.d.ts +3 -1
- package/development/seat-reservation/common/mapper/mapper.d.ts.map +1 -1
- package/development/seat-reservation/common/mapper/mapper.js +1 -1
- package/development/seat-reservation/common/mapper/seat-reservation-sample-data.d.ts +0 -88
- package/development/seat-reservation/common/mapper/seat-reservation-sample-data.d.ts.map +1 -1
- package/development/seat-reservation/common/mapper/seat-reservation-sample-data.js +1 -815
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +4 -4
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +8 -9
- package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts +1 -1
- package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation/seat-reservation.component.js +7 -7
- package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts +1 -1
- package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +6 -6
- package/development/timetable-row/timetable-row.component.d.ts.map +1 -1
- package/development/timetable-row/timetable-row.component.js +7 -7
- package/package.json +2 -2
- package/seat-reservation/common/mapper/mapper.d.ts +3 -1
- package/seat-reservation/common/mapper/mapper.d.ts.map +1 -1
- package/seat-reservation/common/mapper/seat-reservation-sample-data.d.ts +0 -88
- package/seat-reservation/common/mapper/seat-reservation-sample-data.d.ts.map +1 -1
- package/seat-reservation/common/mapper/seat-reservation-sample-data.js +2 -815
- package/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +4 -4
- package/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
- package/seat-reservation/seat-reservation/seat-reservation-base-element.js +8 -8
- package/seat-reservation/seat-reservation/seat-reservation.component.d.ts +1 -1
- package/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
- package/seat-reservation/seat-reservation/seat-reservation.component.js +27 -27
- package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts +1 -1
- package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +1 -1
- package/timetable-row/timetable-row.component.d.ts.map +1 -1
- package/timetable-row/timetable-row.component.js +18 -18
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LitElement, PropertyValues } from 'lit';
|
|
2
|
-
import { CoachNumberOfFreePlaces, ElementDimension, ElementPosition, Place, PlaceSelection, SeatReservation, SeatReservationSelectedPlaces
|
|
2
|
+
import { BaseElement, CoachNumberOfFreePlaces, ElementDimension, ElementPosition, NavigationCoachItem, Place, PlaceSelection, SeatReservation, SeatReservationSelectedPlaces } from '../common.ts';
|
|
3
3
|
declare enum ScrollDirection {
|
|
4
4
|
right = "right",
|
|
5
5
|
left = "left"
|
|
@@ -82,7 +82,7 @@ export declare class SeatReservationBaseElement extends LitElement {
|
|
|
82
82
|
/**
|
|
83
83
|
* Scroll event handler managed the end of scrolling inside the coach scroll area.
|
|
84
84
|
* Timeout event handling to check if the scrolling has been completed.
|
|
85
|
-
* It is required because the Safari browser does not handle scrollend event
|
|
85
|
+
* It is required because the Safari browser does not handle scrollend event,
|
|
86
86
|
* and we therefore imitate this event -> scrollend.
|
|
87
87
|
*/
|
|
88
88
|
protected coachAreaScrollend(): void;
|
|
@@ -162,7 +162,7 @@ export declare class SeatReservationBaseElement extends LitElement {
|
|
|
162
162
|
* Get the first place of current selected coach by table cell coordinate 0-0 id.
|
|
163
163
|
* @returns Place or null
|
|
164
164
|
*/
|
|
165
|
-
private
|
|
165
|
+
private _getFirstPlaceInSelectedCoach;
|
|
166
166
|
private _getSwitchedCoachDeckIndexByKeyNavigation;
|
|
167
167
|
/**
|
|
168
168
|
* To get the correct closest place of current pressed key and the current selected place,
|
|
@@ -230,7 +230,7 @@ export declare class SeatReservationBaseElement extends LitElement {
|
|
|
230
230
|
* @returns number
|
|
231
231
|
*/
|
|
232
232
|
private _getDeckIndexByPlaceId;
|
|
233
|
-
private
|
|
233
|
+
private _isValidCoachIndex;
|
|
234
234
|
/**
|
|
235
235
|
* Returns existing coach deck index depending on the selected coach.
|
|
236
236
|
* This method is necessary to get an available coach deck index during keyboard navigation, which can vary between coaches with different decks.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seat-reservation-base-element.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/seat-reservation/seat-reservation/seat-reservation-base-element.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"seat-reservation-base-element.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/seat-reservation/seat-reservation/seat-reservation-base-element.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAShE,OAAO,KAAK,EACV,WAAW,EAEX,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,KAAK,EACL,cAAc,EAEd,eAAe,EAGf,6BAA6B,EAC9B,MAAM,cAAc,CAAC;AAGtB,aAAK,eAAe;IAClB,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,UAAU,uBAAuB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAaD,qBAAa,0BAA2B,SAAQ,UAAU;IACxD,gBAAuB,MAAM;;;MAGlB;IAEX,kEAAkE;IAClE,SACgB,gBAAgB,EAAE,eAAe,EAAE,CAAS;IAE5D,sEAAsE;IACtE,SAEgB,aAAa,EAAE,OAAO,CAAQ;IAE9C,sDAAsD;IACtD,SAEgB,aAAa,EAAE,OAAO,CAAS;IAE/C,iDAAiD;IACjD,SAEgB,YAAY,EAAE,MAAM,CAAM;IAE1C,wCAAwC;IACxC,SAEgB,MAAM,EAAE,MAAM,CAAS;IAEvC,iDAAiD;IACjD,SAEgB,mBAAmB,EAAE,MAAM,CAAM;IAEjD,0DAA0D;IAC1D,SAEgB,sBAAsB,EAAE,MAAM,CAAM;IAEpD,2CAA2C;IAC3C,SAEgB,iBAAiB,EAAE,OAAO,CAAS;IAEnD,SAEgB,mBAAmB,EAAE,MAAM,CAAM;IAExC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAM;IACnD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAM;IAElD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAM;IAGjE,SAAS,CAAC,kBAAkB,SAAK;IAEjC,SAAS,CAAC,iBAAiB,SAAK;IAGhC,SAAS,CAAC,iBAAiB,SAA+C;IAE1E,SAAS,CAAC,oBAAoB,SAAM;IAEpC,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAK;IACxC,SAAS,CAAC,YAAY,EAAE,mBAAmB,EAAE,CAAM;IACnD,SAAS,CAAC,mBAAmB,EAAE,eAAe,CAAyB;IACvE,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAK;IACzC,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAK;IAC5C,SAAS,CAAC,uBAAuB,EAAE,MAAM,CAAK;IAC9C,SAAS,CAAC,+BAA+B,EAAE,uBAAuB,EAAE,CAAM;IAC1E,SAAS,CAAC,eAAe,EAAE,WAAW,CAAS;IAC/C,SAAS,CAAC,cAAc,EAAE,WAAW,CAAS;IAC9C,SAAS,CAAC,oBAAoB,EAAE,WAAW,CAAS;IACpD,SAAS,CAAC,eAAe,EAAE,WAAW,CAAS;IAC/C,SAAS,CAAC,iBAAiB,EAAE,KAAK,GAAG,IAAI,CAAQ;IACjD,SAAS,CAAC,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC3D,SAAS,CAAC,sBAAsB,EAAE,MAAM,CAAM;IAC9C,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAK;IAC5C,SAAS,CAAC,8BAA8B,EAAE,OAAO,CAAS;IAC1D,SAAS,CAAC,6BAA6B,EAAE,6BAA6B,CAGpE;IACF,SAAS,CAAC,wCAAwC,UAAS;IAC3D,SAAS,CAAC,oBAAoB,UAAS;IACvC,SAAS,CAAC,eAAe,UAAS;IAClC,SAAS,CAAC,oBAAoB,UAAS;IACvC,SAAS,CAAC,gBAAgB,UAAS;IACnC,SAAS,CAAC,6BAA6B,UAAS;IAChD,SAAS,CAAC,wBAAwB;;;;;;;MAOvB;IAEX,OAAO,CAAC,cAAc,CAA4C;cAE/C,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAyC5E,SAAS,CAAC,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAiB5D;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IAYvC,sDAAsD;IACtD,SAAS,CAAC,oCAAoC,IAAI,IAAI;IAqEtD;;;;;OAKG;IAEH,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAUpC;;;;;OAKG;IACH,SAAS,CAAC,kCAAkC,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI;IAW3E;;;OAGG;IACH,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IA0EzD;;;OAGG;IACH,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAuBvC,SAAS,CAAC,wBAAwB,CAAC,qBAAqB,EAAE,MAAM,GAAG,IAAI;IA+BvE,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI;IAatD,SAAS,CAAC,mBAAmB,IAAI,IAAI;IASrC,SAAS,CAAC,sBAAsB,CAC9B,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,CAAC,EAAE,gBAAgB,EACjC,cAAc,CAAC,EAAE,OAAO,EACxB,eAAe,CAAC,EAAE,OAAO,GACxB,gBAAgB;IAmBnB,SAAS,CAAC,qBAAqB,CAC7B,eAAe,EAAE,eAAe,EAChC,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,cAAc,CAAC,EAAE,gBAAgB,EACjC,cAAc,CAAC,EAAE,OAAO,GACvB,eAAe;IAoBlB;;;;;OAKG;IACH,SAAS,CAAC,yBAAyB,CACjC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,gBAAgB,GAC/B,OAAO;IAOV;;;;;OAKG;IACH,SAAS,CAAC,kCAAkC,CAC1C,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,GAC1B,uBAAuB;IAiB1B;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IA4CtC;;;;OAIG;IACH,OAAO,CAAC,iCAAiC;IAqBzC;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAOvC;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAYhC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAapC;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAkBpC;;;OAGG;IACH,OAAO,CAAC,qCAAqC;IAU7C;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IAkBrC,OAAO,CAAC,yCAAyC;IA6BjD;;;;;OAKG;IACH,OAAO,CAAC,8BAA8B;IAgHtC,OAAO,CAAC,kCAAkC;IAoE1C,OAAO,CAAC,0BAA0B;IAkClC,SAAS,CAAC,0BAA0B,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM;IAOnE,SAAS,CAAC,0BAA0B,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM;IAKnE,SAAS,CAAC,mCAAmC,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IAwBnF,OAAO,CAAC,oCAAoC;IAkC5C,SAAS,CAAC,iCAAiC,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IA+BjF,SAAS,CAAC,0BAA0B,IAAI,IAAI;IAmB5C,SAAS,CAAC,iBAAiB,CACzB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,MAAM;IAMT;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;IA+BlC;;;OAGG;IACH,OAAO,CAAC,kCAAkC;IA4B1C;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAwBhC,OAAO,CAAC,iCAAiC;IAoBzC,OAAO,CAAC,gCAAgC;IAUxC,OAAO,CAAC,8BAA8B;IAUtC;;;SAGK;IACL,OAAO,CAAC,sBAAsB;IAS9B;;;;;;;SAOK;IACL,OAAO,CAAC,2BAA2B;IA+BnC,OAAO,CAAC,6BAA6B;IAMrC,OAAO,CAAC,gCAAgC;IAsBxC,OAAO,CAAC,8BAA8B,CA4BpC;IAEF;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,kBAAkB;IAO1B;;;;;;;;;OASG;IACH,OAAO,CAAC,0BAA0B;IAkBlC;;;;;OAKG;IACH,OAAO,CAAC,+BAA+B;CAKxC"}
|
|
@@ -193,7 +193,7 @@ let ze = (() => {
|
|
|
193
193
|
/**
|
|
194
194
|
* Scroll event handler managed the end of scrolling inside the coach scroll area.
|
|
195
195
|
* Timeout event handling to check if the scrolling has been completed.
|
|
196
|
-
* It is required because the Safari browser does not handle scrollend event
|
|
196
|
+
* It is required because the Safari browser does not handle scrollend event,
|
|
197
197
|
* and we therefore imitate this event -> scrollend.
|
|
198
198
|
*/
|
|
199
199
|
coachAreaScrollend() {
|
|
@@ -261,7 +261,7 @@ let ze = (() => {
|
|
|
261
261
|
e && this.unfocusPlaceElement(), this.isKeyboardNavigation && this.isAutoScrolling ? e && this.focusPlaceElement(e) : (this.currSelectedPlace = e, this._setFocusToSelectedCoachGrid());
|
|
262
262
|
}
|
|
263
263
|
scrollToSelectedNavCoach(e) {
|
|
264
|
-
if (this.
|
|
264
|
+
if (this._isValidCoachIndex(e) && e !== this.currSelectedCoachIndex) {
|
|
265
265
|
this.isAutoScrolling = !0, this.isCoachGridFocusable = !0, this.currSelectedCoachIndex = e, this.currSelectedDeckIndex = this._getExistingCoachDeckIndex(), this._setScrollDirectionByCoachIndex();
|
|
266
266
|
const t = this._getCoachScrollPositionX();
|
|
267
267
|
(this.selectedCoachIndex !== -1 || this.currSelectedCoachIndex > 0) && this._isScrollableToSelectedCoach() ? this.coachScrollArea.scrollTo({
|
|
@@ -393,7 +393,7 @@ let ze = (() => {
|
|
|
393
393
|
* Get the first place of current selected coach by table cell coordinate 0-0 id.
|
|
394
394
|
* @returns Place or null
|
|
395
395
|
*/
|
|
396
|
-
|
|
396
|
+
_getFirstPlaceInSelectedCoach() {
|
|
397
397
|
let e = null;
|
|
398
398
|
const t = this.seatReservations[this.currSelectedDeckIndex].coachItems[this.currSelectedCoachIndex], s = "cell-" + this.currSelectedDeckIndex + "-" + this.currSelectedCoachIndex + "-0-0", i = this.shadowRoot?.querySelector("#" + s)?.querySelector("sbb-seat-reservation-place-control")?.getAttribute("text") || null;
|
|
399
399
|
return t && i && (e = t.places?.find((a) => a.number === i) || null), e;
|
|
@@ -420,10 +420,10 @@ let ze = (() => {
|
|
|
420
420
|
a !== null && s && (this.currSelectedDeckIndex = a);
|
|
421
421
|
}
|
|
422
422
|
} else
|
|
423
|
-
return this.
|
|
423
|
+
return this._getFirstPlaceInSelectedCoach();
|
|
424
424
|
return s;
|
|
425
425
|
}
|
|
426
|
-
// Handling for Tab navigation if
|
|
426
|
+
// Handling for Tab navigation if a place is selected inside the coach.
|
|
427
427
|
// This controls the focused coach from the current selected coach.
|
|
428
428
|
_navigateCoachNavigationByKeyboard(e) {
|
|
429
429
|
const t = this.focusedCoachIndex === -1 ? this.currSelectedCoachIndex === -1 ? 0 : this.currSelectedCoachIndex : this.focusedCoachIndex, s = e === "NEXT_TAB" ? this.getNextAvailableCoachIndex(t) : this.getPrevAvailableCoachIndex(t);
|
|
@@ -464,8 +464,8 @@ let ze = (() => {
|
|
|
464
464
|
return t > 0 ? t - 1 : t;
|
|
465
465
|
}
|
|
466
466
|
updateSelectedSeatReservationPlaces(e) {
|
|
467
|
-
const t = e.placeType === "SEAT" ? "seats" : "bicycles", s = e.placeType === "SEAT" ? this.maxSeatReservations : this.maxBicycleReservations, i = this.selectedSeatReservationPlaces[t]
|
|
468
|
-
this.selectedSeatReservationPlaces[t] =
|
|
467
|
+
const t = e.placeType === "SEAT" ? "seats" : "bicycles", s = e.placeType === "SEAT" ? this.maxSeatReservations : this.maxBicycleReservations, i = this.selectedSeatReservationPlaces[t];
|
|
468
|
+
this.selectedSeatReservationPlaces[t] = this._updateSelectedSeatReservationPlaces(i, s, e), this.dispatchEvent(new CustomEvent("selectedplaces", {
|
|
469
469
|
bubbles: !0,
|
|
470
470
|
composed: !0,
|
|
471
471
|
detail: this.selectedSeatReservationPlaces
|
|
@@ -637,7 +637,7 @@ let ze = (() => {
|
|
|
637
637
|
const t = this.shadowRoot?.querySelector("#" + e)?.getAttribute("data-deck-index");
|
|
638
638
|
return t && !isNaN(+t) ? +t : null;
|
|
639
639
|
}
|
|
640
|
-
|
|
640
|
+
_isValidCoachIndex(e) {
|
|
641
641
|
return e >= 0 && e <= this.seatReservations[this.seatReservations.length - 1].coachItems.length;
|
|
642
642
|
}
|
|
643
643
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seat-reservation.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/seat-reservation/seat-reservation/seat-reservation.component.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"seat-reservation.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/seat-reservation/seat-reservation/seat-reservation.component.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAgB1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAGhF,OAAO,mCAAmC,CAAC;AAC3C,OAAO,+CAA+C,CAAC;AACvD,OAAO,oCAAoC,CAAC;AAC5C,OAAO,6BAA6B,CAAC;AACrC,OAAO,gCAAgC,CAAC;AACxC,OAAO,sCAAsC,CAAC;AAC9C,OAAO,yCAAyC,CAAC;AACjD,OAAO,+BAA+B,CAAC;AAEvC;;;GAGG;AACH,qBAEM,yBAA0B,SAAQ,0BAA0B;IAChE,OAAuB,MAAM,EAAE,cAAc,CAA4B;IAEzE,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,oBAAoB,CAAC,CAAiB;IAE9C,OAAO,CAAC,gBAAgB,CAQtB;IAGF,OAAO,CAAC,2BAA2B,CAAkB;cAElC,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAgBzD,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAS3D,MAAM,IAAI,cAAc,GAAG,IAAI;IAKlD,OAAO,CAAC,uCAAuC;IAoD/C,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,8BAA8B;IAmCtC,OAAO,CAAC,iBAAiB;IAsCzB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,mBAAmB;IAsC3B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA8BhC,OAAO,CAAC,qBAAqB;IAoC7B,OAAO,CAAC,wBAAwB;IAsDhC,OAAO,CAAC,6BAA6B;IAgCrC;;;;;;;;OAQG;IACH,OAAO,CAAC,yBAAyB;IAgFjC,OAAO,CAAC,4BAA4B;IAuCpC,OAAO,CAAC,2BAA2B;IAwCnC;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,gBAAgB;IASxB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAWhB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,yBAAyB;IAkCjC,OAAO,CAAC,8BAA8B;CAyBvC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,sBAAsB,EAAE,yBAAyB,CAAC;KACnD;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __esDecorate as $, __runInitializers as y } from "tslib";
|
|
2
2
|
import { SbbLanguageController as A } from "@sbb-esta/lyne-elements/core/controllers.js";
|
|
3
3
|
import { boxSizingStyles as R } from "@sbb-esta/lyne-elements/core/styles.js";
|
|
4
|
-
import { css as S, html as
|
|
4
|
+
import { css as S, html as n, nothing as u } from "lit";
|
|
5
5
|
import { customElement as E } from "lit/decorators.js";
|
|
6
6
|
import { classMap as x } from "lit/directives/class-map.js";
|
|
7
7
|
import { styleMap as v } from "lit/directives/style-map.js";
|
|
@@ -9,12 +9,12 @@ import { getI18nSeatReservation as l } from "../common.js";
|
|
|
9
9
|
import { SeatReservationBaseElement as T } from "./seat-reservation-base-element.js";
|
|
10
10
|
import "@sbb-esta/lyne-elements/button.js";
|
|
11
11
|
import "@sbb-esta/lyne-elements/screen-reader-only.js";
|
|
12
|
+
import "@sbb-esta/lyne-elements/popover.js";
|
|
12
13
|
import "../seat-reservation-area.js";
|
|
13
14
|
import "../seat-reservation-graphic.js";
|
|
14
15
|
import "../seat-reservation-place-control.js";
|
|
15
16
|
import "../seat-reservation-navigation-coach.js";
|
|
16
17
|
import "../seat-reservation-scoped.js";
|
|
17
|
-
import "@sbb-esta/lyne-elements/popover/popover.js";
|
|
18
18
|
const N = S`:host{--sbb-seat-reservation-grid-size: 16px;--sbb-seat-reservation-height: 0;--sbb-seat-reservation-decks: 1;display:block;height:inherit}:host ::part(coach-floor){fill:var(--sbb-background-color-2)}@media(forced-colors:active){:host ::part(coach-floor){fill:transparent}}:host(:dir(rtl)) :not(.sbb-sr-place-ctrl--type-bicycle,.sbb-sr-place-ctrl--orientation-90,.sbb-sr-place-ctrl--orientation-270,.sbb-sr-place-ctrl--state-selected) ::part(coach-floor){rotate:180deg}[popover]:where(sbb-popover){margin:0;padding:0;border:none;width:auto;height:auto;background-color:transparent;color:inherit;pointer-events:none}.sbb-sr__container{display:flex;height:inherit}.sbb-sr__grid{display:grid;grid-template-columns:20% 1fr 20%;grid-template-rows:auto auto}.sbb-sr__grid .sbb-sr-navigation-first-grid,.sbb-sr__grid .sbb-sr-navigation-last-grid{grid-row-start:1;position:relative;margin-block-start:calc(4 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr__grid .sbb-sr-navigation-first-grid{grid-column:1/2}.sbb-sr__grid .sbb-sr-navigation-last-grid{grid-column:3/4}.sbb-sr__grid .sbb-sr__component{display:flex;grid-column:1/4;grid-row:1/3}.sbb-sr__grid .sbb-sr-grid-inner{display:grid;grid-template-columns:20% 60% 20%;grid-template-rows:auto 1fr;gap:0}.sbb-sr__grid .sbb-sr-grid-inner .nav-grid{grid-column:2/3;grid-row:1/2;display:inherit}.sbb-sr__grid .sbb-sr-grid-inner .coaches-grid{grid-column:1/4;grid-row:2/3;display:inherit}.sbb-sr__navigation-control-button{position:absolute;z-index:10}.sbb-sr__navigation-control-button#first-tab-element{inset-inline-end:calc(8 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr__navigation-control-button#last-tab-element{inset-inline-start:calc(8 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation-wrapper{overflow:hidden;padding-block:0 calc(32 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation{--sbb-scrollbar-thumb-width: .125rem;--sbb-scrollbar-thumb-width-hover: .25rem;--sbb-scrollbar-width-firefox: thin;--sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-black) 30%, transparent);--sbb-scrollbar-color: light-dark( color-mix(in srgb, var(--sbb-color-black) 30%, transparent), color-mix(in srgb, var(--sbb-color-white) 30%, transparent) );--sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);--sbb-scrollbar-color-hover: light-dark( color-mix(in srgb, var(--sbb-color-black) 60%, transparent), color-mix(in srgb, var(--sbb-color-white) 60%, transparent) );--sbb-scrollbar-track-color: transparent;--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x)}.sbb-sr-navigation::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-sr-navigation::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-sr-navigation::-webkit-scrollbar-thumb{background-color:var(--sbb-scrollbar-color, currentcolor);border:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;border-radius:var(--sbb-border-radius-4x);background-clip:padding-box}.sbb-sr-navigation::-webkit-scrollbar-thumb:hover{background-color:var(--sbb-scrollbar-color-hover, currentcolor);border-width:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)))}.sbb-sr-navigation::-webkit-scrollbar-button,.sbb-sr-navigation::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-sr-navigation{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}.sbb-sr-navigation{padding-block-start:calc(4 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation{--sbb-scrollbar-color: transparent;display:flex;overflow:scroll hidden;position:relative}.sbb-sr-navigation__list-coaches{list-style:none;margin:0;padding:0;font-size:inherit;display:flex;flex-wrap:nowrap;gap:calc(4 * var(--sbb-seat-reservation-one-px-rem, .0625rem));padding:calc(2 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr__wrapper-coach-decks{display:flex;overflow:hidden;height:inherit}.sbb-sr__wrapper-coach-decks .sbb-sr__wrapper-deck-labels{display:flex;justify-content:space-between;height:calc(var(--sbb-seat-reservation-height) * var(--sbb-seat-reservation-one-px-rem, .0625rem));writing-mode:vertical-lr}.sbb-sr__wrapper-coach-decks .sbb-sr__wrapper-deck-labels b{height:calc(50% - 16 * var(--sbb-seat-reservation-one-px-rem, .0625rem));width:calc(20 * var(--sbb-seat-reservation-one-px-rem, .0625rem));margin-block-end:16px;rotate:180deg;text-align:center;line-height:calc(20 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr__wrapper{--sbb-scrollbar-thumb-width: .125rem;--sbb-scrollbar-thumb-width-hover: .25rem;--sbb-scrollbar-width-firefox: thin;--sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-black) 30%, transparent);--sbb-scrollbar-color: light-dark( color-mix(in srgb, var(--sbb-color-black) 30%, transparent), color-mix(in srgb, var(--sbb-color-white) 30%, transparent) );--sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);--sbb-scrollbar-color-hover: light-dark( color-mix(in srgb, var(--sbb-color-black) 60%, transparent), color-mix(in srgb, var(--sbb-color-white) 60%, transparent) );--sbb-scrollbar-track-color: transparent;--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x)}.sbb-sr__wrapper::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-sr__wrapper::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-sr__wrapper::-webkit-scrollbar-thumb{background-color:var(--sbb-scrollbar-color, currentcolor);border:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;border-radius:var(--sbb-border-radius-4x);background-clip:padding-box}.sbb-sr__wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--sbb-scrollbar-color-hover, currentcolor);border-width:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)))}.sbb-sr__wrapper::-webkit-scrollbar-button,.sbb-sr__wrapper::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-sr__wrapper{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}.sbb-sr__wrapper{overflow-x:scroll;padding-block:calc(8 * var(--sbb-seat-reservation-one-px-rem, .0625rem)) calc(16 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr__wrapper .sbb-sr__parent{display:flex;flex-direction:column;position:relative}.sbb-sr__list-decks{list-style:none;margin:0;padding:0;font-size:inherit;display:flex;flex-direction:column}.sbb-sr__list-decks--gap{gap:calc(48 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr__list-item-deck{position:relative}.sbb-sr__list-coaches{list-style:none;margin:0;padding:0;font-size:inherit;display:flex;gap:calc(4 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr__item-coach{position:relative}.sbb-sr-popover{margin:0}.sbb-sr-coach-wrapper__table{outline:0}:host([align-vertical]) .sbb-sr{grid-template-columns:calc((var(--sbb-seat-reservation-height) + 24) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) 1fr;grid-template-rows:20% 60% 20%}:host([align-vertical]) .sbb-sr .sbb-sr-navigation-first-grid,:host([align-vertical]) .sbb-sr .sbb-sr-navigation-last-grid{margin-inline-start:calc(4 * var(--sbb-seat-reservation-one-px-rem, .0625rem));margin-block-start:0}:host([align-vertical]) .sbb-sr .sbb-sr-navigation-first-grid{grid-column:2/3;grid-row-start:1}:host([align-vertical]) .sbb-sr .sbb-sr-navigation-first-grid #first-tab-element{position:absolute;inset-block-end:calc(16 * var(--sbb-seat-reservation-one-px-rem, .0625rem));inset-inline-start:calc(16 * var(--sbb-seat-reservation-one-px-rem, .0625rem));inset-inline-end:initial;rotate:90deg}:host([align-vertical]) .sbb-sr .sbb-sr-navigation-last-grid{grid-column:2/3;grid-row:3/4}:host([align-vertical]) .sbb-sr .sbb-sr-navigation-last-grid #last-tab-element{inset-block-start:calc(16 * var(--sbb-seat-reservation-one-px-rem, .0625rem));inset-inline-start:calc(16 * var(--sbb-seat-reservation-one-px-rem, .0625rem));rotate:90deg}:host([align-vertical]) .sbb-sr .sbb-sr-navigation-wrapper{padding-block-end:initial;padding-inline-start:calc(16 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}:host([align-vertical]) .sbb-sr .sbb-sr__component{grid-column:1/3;grid-row:1/4}:host([align-vertical]) .sbb-sr .sbb-sr-grid-inner{grid-template-columns:calc((var(--sbb-seat-reservation-height) + 24) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) 1fr;grid-template-rows:20% 60% 20%}:host([align-vertical]) .sbb-sr .sbb-sr-grid-inner .nav-grid{grid-column:2/3;grid-row:2/3;height:100%}:host([align-vertical]) .sbb-sr .sbb-sr-grid-inner .nav-grid .sbb-sr-navigation{display:block;overflow:hidden scroll;height:100%;padding-block-start:0;padding-inline-start:calc(4 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}:host([align-vertical]) .sbb-sr .sbb-sr-grid-inner .nav-grid .sbb-sr-navigation .sbb-sr-navigation__list-coaches{flex-direction:column;padding:calc(2 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}:host([align-vertical]) .sbb-sr .sbb-sr-grid-inner .coaches-grid{grid-column:1/2;grid-row:1/4;overflow:hidden;position:relative}:host([align-vertical]) .sbb-sr .sbb-sr-grid-inner .coaches-grid .sbb-sr__wrapper-coach-decks{flex-direction:column}:host([align-vertical]) .sbb-sr .sbb-sr-grid-inner .coaches-grid .sbb-sr__wrapper-coach-decks .sbb-sr__wrapper-deck-labels{flex-direction:column-reverse;width:calc(100% - 24 * var(--sbb-seat-reservation-one-px-rem, .0625rem));height:initial}:host([align-vertical]) .sbb-sr .sbb-sr-grid-inner .coaches-grid .sbb-sr__wrapper-coach-decks .sbb-sr__wrapper-deck-labels b{width:calc(50% - 16 * var(--sbb-seat-reservation-one-px-rem, .0625rem));height:calc(20 * var(--sbb-seat-reservation-one-px-rem, .0625rem));margin-bottom:16px;rotate:initial;writing-mode:initial}:host([align-vertical]) .sbb-sr .sbb-sr-grid-inner .coaches-grid .sbb-sr__wrapper-coach-decks .sbb-sr__wrapper{--sbb-scrollbar-thumb-width: .125rem;--sbb-scrollbar-thumb-width-hover: .25rem;--sbb-scrollbar-width-firefox: thin;--sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-black) 30%, transparent);--sbb-scrollbar-color: light-dark( color-mix(in srgb, var(--sbb-color-black) 30%, transparent), color-mix(in srgb, var(--sbb-color-white) 30%, transparent) );--sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);--sbb-scrollbar-color-hover: light-dark( color-mix(in srgb, var(--sbb-color-black) 60%, transparent), color-mix(in srgb, var(--sbb-color-white) 60%, transparent) );--sbb-scrollbar-track-color: transparent;--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x)}:host([align-vertical]) .sbb-sr .sbb-sr-grid-inner .coaches-grid .sbb-sr__wrapper-coach-decks .sbb-sr__wrapper::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}:host([align-vertical]) .sbb-sr .sbb-sr-grid-inner .coaches-grid .sbb-sr__wrapper-coach-decks .sbb-sr__wrapper::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}:host([align-vertical]) .sbb-sr .sbb-sr-grid-inner .coaches-grid .sbb-sr__wrapper-coach-decks .sbb-sr__wrapper::-webkit-scrollbar-thumb{background-color:var(--sbb-scrollbar-color, currentcolor);border:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;border-radius:var(--sbb-border-radius-4x);background-clip:padding-box}:host([align-vertical]) .sbb-sr .sbb-sr-grid-inner .coaches-grid .sbb-sr__wrapper-coach-decks .sbb-sr__wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--sbb-scrollbar-color-hover, currentcolor);border-width:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)))}:host([align-vertical]) .sbb-sr .sbb-sr-grid-inner .coaches-grid .sbb-sr__wrapper-coach-decks .sbb-sr__wrapper::-webkit-scrollbar-button,:host([align-vertical]) .sbb-sr .sbb-sr-grid-inner .coaches-grid .sbb-sr__wrapper-coach-decks .sbb-sr__wrapper::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){:host([align-vertical]) .sbb-sr .sbb-sr-grid-inner .coaches-grid .sbb-sr__wrapper-coach-decks .sbb-sr__wrapper{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}:host([align-vertical]) .sbb-sr .sbb-sr-grid-inner .coaches-grid .sbb-sr__wrapper-coach-decks .sbb-sr__wrapper{overflow:hidden scroll;height:100%;padding:0}:host([align-vertical]) .sbb-sr .sbb-sr-grid-inner .coaches-grid .sbb-sr__wrapper-coach-decks .sbb-sr__parent{rotate:90deg;transform-origin:calc((var(--sbb-seat-reservation-height) + 24 - 24 - 6 * (var(--sbb-seat-reservation-decks) - 1)) / 2 * var(--sbb-seat-reservation-one-px-rem, .0625rem)) calc((var(--sbb-seat-reservation-height) + 24 - 24 - 6 * (var(--sbb-seat-reservation-decks) - 1)) / 2 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}`;
|
|
19
19
|
let X = (() => {
|
|
20
20
|
var h;
|
|
@@ -43,7 +43,7 @@ let X = (() => {
|
|
|
43
43
|
return this._initVehicleSeatReservationConstruction(), this._coachesHtmlTemplate || null;
|
|
44
44
|
}
|
|
45
45
|
_initVehicleSeatReservationConstruction() {
|
|
46
|
-
this._coachesHtmlTemplate =
|
|
46
|
+
this._coachesHtmlTemplate = n`
|
|
47
47
|
<div class="sbb-sr__container">
|
|
48
48
|
<div class="sbb-sr sbb-sr__grid">
|
|
49
49
|
<div class="sbb-sr-navigation-first-grid">
|
|
@@ -70,7 +70,7 @@ let X = (() => {
|
|
|
70
70
|
"sbb-sr__list-decks--gap": this.hasMultipleDecks
|
|
71
71
|
})}"
|
|
72
72
|
>
|
|
73
|
-
${this.seatReservations?.map((r, e) =>
|
|
73
|
+
${this.seatReservations?.map((r, e) => n`<li class="sbb-sr__list-item-deck">
|
|
74
74
|
<ul class="sbb-sr__list-coaches" role="presentation">
|
|
75
75
|
${this._renderCoaches(r, e)}
|
|
76
76
|
</ul>
|
|
@@ -92,7 +92,7 @@ let X = (() => {
|
|
|
92
92
|
_renderDeckLabels() {
|
|
93
93
|
return this.hasMultipleDecks ? this.seatReservations.map((r) => {
|
|
94
94
|
const e = l(r.deckCoachLevel, this._language.current);
|
|
95
|
-
return
|
|
95
|
+
return n`<b aria-hidden="true">${e}</b>`;
|
|
96
96
|
}) : null;
|
|
97
97
|
}
|
|
98
98
|
_renderNavigationControlButton(r) {
|
|
@@ -100,7 +100,7 @@ let X = (() => {
|
|
|
100
100
|
return null;
|
|
101
101
|
const e = r == "DIRECTION_RIGHT" ? "last-tab-element" : "first-tab-element", t = r == "DIRECTION_RIGHT" ? "chevron-small-right-small" : "chevron-small-left-small", a = r == "DIRECTION_RIGHT" ? l("SEAT_RESERVATION_END", this._language.current) : l("SEAT_RESERVATION_BEGIN", this._language.current);
|
|
102
102
|
let s = !0;
|
|
103
|
-
return (r == "DIRECTION_LEFT" && this.selectedCoachIndex > 0 || r == "DIRECTION_RIGHT" && this.selectedCoachIndex < this.seatReservations[this.currSelectedDeckIndex].coachItems.length - 1) && (s = !1),
|
|
103
|
+
return (r == "DIRECTION_LEFT" && this.selectedCoachIndex > 0 || r == "DIRECTION_RIGHT" && this.selectedCoachIndex < this.seatReservations[this.currSelectedDeckIndex].coachItems.length - 1) && (s = !1), n`<sbb-secondary-button
|
|
104
104
|
@click="${() => this.navigateByDirectionBtn(r)}"
|
|
105
105
|
id="${e}"
|
|
106
106
|
class="sbb-sr__navigation-control-button"
|
|
@@ -113,14 +113,14 @@ let X = (() => {
|
|
|
113
113
|
></sbb-secondary-button>`;
|
|
114
114
|
}
|
|
115
115
|
_renderNavigation() {
|
|
116
|
-
return !this.hasNavigation || !this.seatReservations ? null :
|
|
116
|
+
return !this.hasNavigation || !this.seatReservations ? null : n`<div class="sbb-sr-navigation-wrapper">
|
|
117
117
|
<nav id="sbb-sr-navigation" class="sbb-sr-navigation">
|
|
118
118
|
<ul
|
|
119
119
|
id="sbb-sr__navigation-list-coaches"
|
|
120
120
|
class="sbb-sr-navigation__list-coaches"
|
|
121
121
|
aria-label="${l("SEAT_RESERVATION_NAVIGATION", this._language.current)}"
|
|
122
122
|
>
|
|
123
|
-
${this.coachNavData.map((r, e) =>
|
|
123
|
+
${this.coachNavData.map((r, e) => n`<li>
|
|
124
124
|
<sbb-seat-reservation-navigation-coach
|
|
125
125
|
@selectcoach=${(t) => this._onSelectNavCoach(t)}
|
|
126
126
|
@focuscoach=${() => this._onFocusNavCoach()}
|
|
@@ -148,11 +148,11 @@ let X = (() => {
|
|
|
148
148
|
*
|
|
149
149
|
* @returns
|
|
150
150
|
* @param seatReservation
|
|
151
|
-
* @param
|
|
151
|
+
* @param coachDeckIndex
|
|
152
152
|
*/
|
|
153
153
|
_renderCoaches(r, e) {
|
|
154
154
|
const t = JSON.parse(JSON.stringify(r?.coachItems));
|
|
155
|
-
return t ? t.map((a, s) =>
|
|
155
|
+
return t ? t.map((a, s) => n`
|
|
156
156
|
<li class="sbb-sr__item-coach">
|
|
157
157
|
${this._renderCoachElement(a, s, e, r.deckCoachIndex)}
|
|
158
158
|
</li>
|
|
@@ -160,7 +160,7 @@ let X = (() => {
|
|
|
160
160
|
}
|
|
161
161
|
_renderCoachElement(r, e, t, a) {
|
|
162
162
|
const s = this.getCalculatedDimension(r.dimension), i = this._getDescriptionTableCoach(r);
|
|
163
|
-
return
|
|
163
|
+
return n`<sbb-seat-reservation-scoped
|
|
164
164
|
style=${v({
|
|
165
165
|
"--sbb-seat-reservation-scoped-width": s.w,
|
|
166
166
|
"--sbb-seat-reservation-scoped-height": s.h
|
|
@@ -190,8 +190,8 @@ let X = (() => {
|
|
|
190
190
|
_getRenderedCoachBorders(r) {
|
|
191
191
|
if (!r.graphicElements)
|
|
192
192
|
return null;
|
|
193
|
-
const e = 1, a = r.graphicElements?.find((
|
|
194
|
-
return
|
|
193
|
+
const e = 1, a = r.graphicElements?.find((b) => b.icon === "DRIVER_AREA"), s = a ? r.dimension.w - a.dimension.w - e : r.dimension.w - e * 2, i = (r.dimension.h + this.coachBorderOffset * 2) * this.baseGridSize, o = a && a.position.x === 0 ? a?.dimension.w * this.baseGridSize : this.baseGridSize;
|
|
194
|
+
return n`
|
|
195
195
|
<sbb-seat-reservation-graphic
|
|
196
196
|
style=${v({
|
|
197
197
|
"--sbb-seat-reservation-graphic-width": s * this.baseGridSize,
|
|
@@ -212,7 +212,7 @@ let X = (() => {
|
|
|
212
212
|
const s = {};
|
|
213
213
|
for (const i of r.places)
|
|
214
214
|
s[i.position.y] ? s[i.position.y].push(i) : s[i.position.y] = [i];
|
|
215
|
-
return Object.values(s).map((i, o) =>
|
|
215
|
+
return Object.values(s).map((i, o) => n`
|
|
216
216
|
<tr id="row-${e}-${i[0].position.y}" data-row-index=${o}>
|
|
217
217
|
${this._getRenderedColumnPlaces(i, e, t, a)}
|
|
218
218
|
</tr>
|
|
@@ -220,8 +220,8 @@ let X = (() => {
|
|
|
220
220
|
}
|
|
221
221
|
_getRenderedColumnPlaces(r, e, t, a) {
|
|
222
222
|
return r.sort((s, i) => Number(s.position.x) - Number(i.position.x)), r?.map((s, i) => {
|
|
223
|
-
const o = this.getCalculatedDimension(s.dimension),
|
|
224
|
-
return
|
|
223
|
+
const o = this.getCalculatedDimension(s.dimension), b = this.getCalculatedPosition(s.position), p = s.rotation || 0, c = this.alignVertical ? -90 : 0, g = this.getPlaceElementId(t, e, s.number);
|
|
224
|
+
return n`
|
|
225
225
|
<td
|
|
226
226
|
id="cell-${t}-${e}-${s.position.y}-${i}"
|
|
227
227
|
class="graphical-element"
|
|
@@ -231,8 +231,8 @@ let X = (() => {
|
|
|
231
231
|
"--sbb-seat-reservation-place-control-text-scale-value": Math.min(o.w, o.h),
|
|
232
232
|
"--sbb-seat-reservation-place-control-width": o.w,
|
|
233
233
|
"--sbb-seat-reservation-place-control-height": o.h,
|
|
234
|
-
"--sbb-seat-reservation-place-control-top":
|
|
235
|
-
"--sbb-seat-reservation-place-control-left":
|
|
234
|
+
"--sbb-seat-reservation-place-control-top": b.y,
|
|
235
|
+
"--sbb-seat-reservation-place-control-left": b.x,
|
|
236
236
|
"--sbb-seat-reservation-place-control-rotation": p,
|
|
237
237
|
"--sbb-seat-reservation-place-control-text-rotation": c
|
|
238
238
|
})}
|
|
@@ -255,7 +255,7 @@ let X = (() => {
|
|
|
255
255
|
}
|
|
256
256
|
_getRenderedGraphicalElements(r, e, t, a) {
|
|
257
257
|
return r ? r?.map((s) => {
|
|
258
|
-
const i = s.icon ?? "", o = s.rotation || 0,
|
|
258
|
+
const i = s.icon ?? "", o = s.rotation || 0, b = this._notFixedRotatableAreaIcons.indexOf(s.icon) === -1, p = this.alignVertical && b ? o - 90 : o;
|
|
259
259
|
return this._notAreaElements.findIndex((c) => c === i) > -1 ? this._getRenderElementWithoutArea(s, o, e) : this._getRenderElementWithArea(s, p, e, t, a);
|
|
260
260
|
}) : null;
|
|
261
261
|
}
|
|
@@ -269,9 +269,9 @@ let X = (() => {
|
|
|
269
269
|
* @private
|
|
270
270
|
*/
|
|
271
271
|
_getRenderElementWithArea(r, e, t, a, s) {
|
|
272
|
-
const i = r.icon?.indexOf("TABLE") === -1, o = r.icon && i ? r.icon : null,
|
|
272
|
+
const i = r.icon?.indexOf("TABLE") === -1, o = r.icon && i ? r.icon : null, b = this.isElementDirectlyOnBorder(r, t) && o !== "ENTRY_EXIT", p = r.icon ? l(r.icon, this._language.current) : u, c = this.getCalculatedDimension(r.dimension, t, !0, b), g = this.getCalculatedPosition(r.position, r.dimension, t, !0), _ = `popover-trigger-${s}-${a}-${g.x}-${g.y}`;
|
|
273
273
|
let m = "free";
|
|
274
|
-
return r.position.y === this.coachBorderOffset * -1 ? m = "upper-border" : r.position.y + r.dimension.h === t.h + this.coachBorderOffset && (m = "lower-border"),
|
|
274
|
+
return r.position.y === this.coachBorderOffset * -1 ? m = "upper-border" : r.position.y + r.dimension.h === t.h + this.coachBorderOffset && (m = "lower-border"), n`
|
|
275
275
|
<sbb-seat-reservation-area
|
|
276
276
|
id="${_}"
|
|
277
277
|
class="${x({ "sbb-seat-reservation-area--cursor-pointer": o !== null })}"
|
|
@@ -285,7 +285,7 @@ let X = (() => {
|
|
|
285
285
|
background="dark"
|
|
286
286
|
aria-hidden="true"
|
|
287
287
|
>
|
|
288
|
-
${o ?
|
|
288
|
+
${o ? n`
|
|
289
289
|
<sbb-seat-reservation-graphic
|
|
290
290
|
style=${v({
|
|
291
291
|
"--sbb-seat-reservation-graphic-max-width": c.w,
|
|
@@ -304,7 +304,7 @@ let X = (() => {
|
|
|
304
304
|
}
|
|
305
305
|
_getRenderElementWithoutArea(r, e, t) {
|
|
306
306
|
const a = this.getCalculatedDimension(r.dimension, t), s = this.getCalculatedPosition(r.position, r.dimension, t), i = r.icon && r.icon.indexOf("DRIVER_AREA") === -1 ? r.icon : r.icon?.concat("_", this.seatReservations[this.currSelectedDeckIndex].vehicleType);
|
|
307
|
-
return
|
|
307
|
+
return n` <sbb-seat-reservation-graphic
|
|
308
308
|
style=${v({
|
|
309
309
|
"--sbb-seat-reservation-graphic-width": a.w,
|
|
310
310
|
"--sbb-seat-reservation-graphic-height": a.h,
|
|
@@ -320,8 +320,8 @@ let X = (() => {
|
|
|
320
320
|
}
|
|
321
321
|
_getRenderedServiceElements(r, e, t) {
|
|
322
322
|
return t ? t?.map((a) => {
|
|
323
|
-
const s = a.icon ? l(a.icon, this._language.current) : null, i = this.getCalculatedDimension(a.dimension), o = this.getCalculatedPosition(a.position),
|
|
324
|
-
return
|
|
323
|
+
const s = a.icon ? l(a.icon, this._language.current) : null, i = this.getCalculatedDimension(a.dimension), o = this.getCalculatedPosition(a.position), b = a.rotation || 0, p = this.alignVertical ? b - 90 : b, c = `popover-trigger-${e}-${r}-${o.x}-${o.y}`;
|
|
324
|
+
return n`
|
|
325
325
|
<sbb-seat-reservation-graphic
|
|
326
326
|
id="${c}"
|
|
327
327
|
style=${v({
|
|
@@ -364,7 +364,7 @@ let X = (() => {
|
|
|
364
364
|
* @private
|
|
365
365
|
*/
|
|
366
366
|
_popover(r, e) {
|
|
367
|
-
return
|
|
367
|
+
return n`
|
|
368
368
|
<sbb-popover trigger="${r}" hover-trigger="">
|
|
369
369
|
<p class="sbb-text-s sbb-sr-popover">${e}</p>
|
|
370
370
|
</sbb-popover>
|
|
@@ -375,7 +375,7 @@ let X = (() => {
|
|
|
375
375
|
* @private
|
|
376
376
|
*/
|
|
377
377
|
_closePopover() {
|
|
378
|
-
this.shadowRoot?.querySelectorAll(
|
|
378
|
+
this.shadowRoot?.querySelectorAll("sbb-popover:is(:state(state-opened),[state--state-opened])").forEach((r) => r.close());
|
|
379
379
|
}
|
|
380
380
|
_getDescriptionTableCoach(r) {
|
|
381
381
|
if (!r.places?.length)
|
|
@@ -23,7 +23,7 @@ export declare class SbbSeatReservationNavigationCoachElement extends LitElement
|
|
|
23
23
|
/** Native focus for this navigation coach is also set when the focused property is changed */
|
|
24
24
|
accessor nativeFocusActive: boolean;
|
|
25
25
|
accessor index: number;
|
|
26
|
-
/** Representation of places available for selecting, counting seat places and bicycle places
|
|
26
|
+
/** Representation of places available for selecting, counting seat places and bicycle places separately */
|
|
27
27
|
accessor freePlacesByType: CoachNumberOfFreePlaces;
|
|
28
28
|
/** Travel class of the coach */
|
|
29
29
|
accessor travelClass: PlaceTravelClass[];
|
|
@@ -84,7 +84,7 @@ let Ke = (() => {
|
|
|
84
84
|
set index(a) {
|
|
85
85
|
r(this, I, a);
|
|
86
86
|
}
|
|
87
|
-
/** Representation of places available for selecting, counting seat places and bicycle places
|
|
87
|
+
/** Representation of places available for selecting, counting seat places and bicycle places separately */
|
|
88
88
|
get freePlacesByType() {
|
|
89
89
|
return c(this, A);
|
|
90
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timetable-row.component.d.ts","sourceRoot":"","sources":["../../../src/elements-experimental/timetable-row/timetable-row.component.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAIhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAa,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKtF,OAAO,iCAAiC,CAAC;AACzC,OAAO,iCAAiC,CAAC;AACzC,OAAO,gDAAgD,CAAC;AACxD,OAAO,wBAAwB,CAAC;AAEhC,qDAAqD;AACrD,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,4DAA4D;AAC5D,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,KAAK;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,EAAE,MAAM,MAAM,KAAG,cAK9D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,aAAa,MAAM,EAAE,OAAO,MAAM,GAAG,IAAI,KAAG,cAK/E,CAAC;AAsBF,eAAO,MAAM,aAAa,GAAI,YAAY,WAAW,EAAE,KAAG,WAAW,EAapE,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,WAAW,WAAW,KAAG,MAiCnD,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,MAAM,SAAS,EAAE,iBAAiB,MAAM,KAAG,MAuBjE,CAAC;AAaF,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,KAAG,MAAM,EAUvD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,KAAG,MAAM,EAcvD,CAAC;AAEF;;KAEK;AACL,qBAEM,sBAAuB,SAAQ,UAAU;IAC7C,OAAuB,MAAM,EAAE,cAAc,CAA4B;IAEzE,qBAAqB;IACrB,SAA4C,IAAI,EAAE,SAAS,CAAS;IAEpE,gEAAgE;IAChE,SAA4C,KAAK,EAAE,KAAK,CAAS;IAEjE,wGAAwG;IACxG,SAEgB,gBAAgB,EAAE,OAAO,CAAS;IAElD,oDAAoD;IACpD,SAA4C,QAAQ,EAAE,QAAQ,CAAS;IAEvE;;;OAGG;IACH,SAEgB,WAAW,EAAE,OAAO,CAAS;IAE7C;;;;;OAKG;IACH,SAEgB,YAAY,EAAE,OAAO,CAAS;IAE9C;;;OAGG;IACH,SAEgB,YAAY,EAAE,OAAO,CAAS;IAE9C;;OAEG;IACH,SAEgB,eAAe,EAAE,MAAM,CAAM;IAE7C,yEAAyE;IACzE,SAEgB,qBAAqB,EAAE,OAAO,CAAS;IAEvD,uEAAuE;IACvE,SAEgB,MAAM,EAAE,OAAO,CAAS;IAExC;;;OAGG;IACH,IACW,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,EAEhC;IACD,IAAW,GAAG,IAAI,IAAI,CAErB;IACD,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO,CAAC,SAAS,CAAmC;cAEjC,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQ5E,yDAAyD;IACzD,OAAO,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"timetable-row.component.d.ts","sourceRoot":"","sources":["../../../src/elements-experimental/timetable-row/timetable-row.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,10 @@ var Ne = (t, i, s) => i.has(t) || ke("Cannot " + s);
|
|
|
5
5
|
var f = (t, i, s) => (Ne(t, i, "read from private field"), s ? s.call(t) : i.get(t)), y = (t, i, s) => i.has(t) ? ke("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(t) : i.set(t, s), l = (t, i, s, n) => (Ne(t, i, "write to private field"), n ? n.call(t, s) : i.set(t, s), s);
|
|
6
6
|
import { __runInitializers as o, __esDecorate as _ } from "tslib";
|
|
7
7
|
import { SbbLanguageController as nt } from "@sbb-esta/lyne-elements/core/controllers.js";
|
|
8
|
-
import { defaultDateAdapter as
|
|
8
|
+
import { defaultDateAdapter as Ie } from "@sbb-esta/lyne-elements/core/datetime.js";
|
|
9
9
|
import { forceType as N } from "@sbb-esta/lyne-elements/core/decorators.js";
|
|
10
10
|
import { setOrRemoveAttribute as ot } from "@sbb-esta/lyne-elements/core/dom.js";
|
|
11
|
-
import { i18nFromPlatform as lt, i18nDeparture as
|
|
11
|
+
import { i18nFromPlatform as lt, i18nDeparture as ze, i18nMeansOfTransport as J, i18nDirection as Le, i18nRealTimeInfo as Re, i18nSupersaver as Me, i18nTransferProcedures as ct, i18nTransferProcedure as bt, i18nArrival as dt, i18nClass as Ee, i18nOccupancy as Oe, i18nTravelhints as gt, i18nTripDuration as Pe, i18nNew as De, i18nTripQuayChange as pt } from "@sbb-esta/lyne-elements/core/i18n.js";
|
|
12
12
|
import { boxSizingStyles as ut } from "@sbb-esta/lyne-elements/core/styles.js";
|
|
13
13
|
import { css as ht, LitElement as mt, nothing as g, html as c } from "lit";
|
|
14
14
|
import { customElement as _t, property as v } from "lit/decorators.js";
|
|
@@ -19,7 +19,7 @@ import "@sbb-esta/lyne-elements/icon.js";
|
|
|
19
19
|
import "@sbb-esta/lyne-elements/timetable-occupancy.js";
|
|
20
20
|
import "../pearl-chain-time.js";
|
|
21
21
|
import { f as Be } from "../format-lqeCzmzS.js";
|
|
22
|
-
const yt = ht`:host{--sbb-timetable-row-gap: var(--sbb-spacing-fixed-2x);--sbb-timetable-row-height: 1.5625rem;--sbb-timetable-row-height-header: 1.25rem;--sbb-timetable-row-height-footer: 1rem;--sbb-timetable-row-skeleton-pulse-duration: 1.8s;display:block}:host([disable-animation]){--sbb-timetable-row-skeleton-pulse-duration: 0}.sbb-timetable__row-transport-icon{--sbb-icon-svg-width: 1.25rem;--sbb-icon-svg-height: 1.25rem}.sbb-travel-hints__item{--sbb-icon-svg-height: .875rem}.sbb-screen-reader-only{border:0;clip-path:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sbb-timetable__row--quay{margin-inline-end:var(--sbb-spacing-fixed-1x)}.sbb-timetable__row--quay-type{float:left}ul{list-style:none;margin:0;padding:0;font-size:inherit;display:inline-flex}li,.sbb-timetable__row-transport{display:inline-flex;align-self:center}.sbb-timetable__row-transportnumber,.sbb-timetable__row-time{--sbb-text-font-size: var(--sbb-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);display:flex;flex-direction:column;gap:var(--sbb-timetable-row-gap)}.sbb-timetable__row-header,.sbb-timetable__row-footer{animation:none}.sbb-timetable__row-header{display:flex;gap:var(--sbb-spacing-fixed-2x);align-items:center;line-height:var(--sbb-timetable-row-height-header)}.sbb-timetable__row-details,.sbb-timetable__row-hints{display:inline-flex;gap:var(--sbb-spacing-fixed-1x);align-items:center}.sbb-timetable__row-header p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0;align-self:center}.sbb-timetable__row-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--sbb-spacing-fixed-2x);line-height:var(--sbb-timetable-row-height-footer)}.sbb-timetable__row-footer>span{align-self:center}.sbb-timetable__row-footer :only-child{margin-inline-start:auto}.sbb-timetable__row-quay--changed{color:var(--sbb-color-primary)}.sbb-timetable__row-transport-wrapper,.sbb-timetable__row-warning{display:inline-flex}.sbb-loading{pointer-events:none}.sbb-loading__wrapper{display:flex;flex-direction:column;gap:var(--sbb-spacing-fixed-2x)}.sbb-loading__row{width:100%;border-radius:var(--sbb-border-radius-1x);height:var(--sbb-timetable-row-height)}@media(min-width: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);padding-inline-end:var(--sbb-spacing-fixed-6x);border-end-start-radius:var(--sbb-border-radius
|
|
22
|
+
const yt = ht`:host{--sbb-timetable-row-gap: var(--sbb-spacing-fixed-2x);--sbb-timetable-row-height: 1.5625rem;--sbb-timetable-row-height-header: 1.25rem;--sbb-timetable-row-height-footer: 1rem;--sbb-timetable-row-skeleton-pulse-duration: 1.8s;display:block}:host([disable-animation]){--sbb-timetable-row-skeleton-pulse-duration: 0}.sbb-timetable__row-transport-icon{--sbb-icon-svg-width: 1.25rem;--sbb-icon-svg-height: 1.25rem}.sbb-travel-hints__item{--sbb-icon-svg-height: .875rem}.sbb-screen-reader-only{border:0;clip-path:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sbb-timetable__row--quay{margin-inline-end:var(--sbb-spacing-fixed-1x)}.sbb-timetable__row--quay-type{float:left}ul{list-style:none;margin:0;padding:0;font-size:inherit;display:inline-flex}li,.sbb-timetable__row-transport{display:inline-flex;align-self:center}.sbb-timetable__row-transportnumber,.sbb-timetable__row-time{--sbb-text-font-size: var(--sbb-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);display:flex;flex-direction:column;gap:var(--sbb-timetable-row-gap)}.sbb-timetable__row-header,.sbb-timetable__row-footer{animation:none}.sbb-timetable__row-header{display:flex;gap:var(--sbb-spacing-fixed-2x);align-items:center;line-height:var(--sbb-timetable-row-height-header)}.sbb-timetable__row-details,.sbb-timetable__row-hints{display:inline-flex;gap:var(--sbb-spacing-fixed-1x);align-items:center}.sbb-timetable__row-header p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0;align-self:center}.sbb-timetable__row-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--sbb-spacing-fixed-2x);line-height:var(--sbb-timetable-row-height-footer)}.sbb-timetable__row-footer>span{align-self:center}.sbb-timetable__row-footer :only-child{margin-inline-start:auto}.sbb-timetable__row-quay--changed{color:var(--sbb-color-primary)}.sbb-timetable__row-transport-wrapper,.sbb-timetable__row-warning{display:inline-flex}.sbb-loading{pointer-events:none}.sbb-loading__wrapper{display:flex;flex-direction:column;gap:var(--sbb-spacing-fixed-2x)}.sbb-loading__row{width:100%;border-radius:var(--sbb-border-radius-1x);height:var(--sbb-timetable-row-height)}@media(min-width: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);padding-inline-end:var(--sbb-spacing-fixed-6x);border-end-start-radius:var(--sbb-card-badge-border-radius);transform:var(--sbb-card-badge-skew);width:7.1875rem;height:1.25rem}@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)}}`, vt = (t, i) => c`<span class="sbb-timetable__row-transport">
|
|
23
23
|
<sbb-icon name=${t}></sbb-icon>
|
|
24
24
|
<span class="sbb-screen-reader-only">${i}</span>
|
|
25
25
|
</span>`, xt = (t, i) => {
|
|
@@ -108,13 +108,13 @@ const yt = ht`:host{--sbb-timetable-row-gap: var(--sbb-spacing-fixed-2x);--sbb-t
|
|
|
108
108
|
return i === void 0 ? s : s.length ? s[0].name === "Z" && s[1] ? [s[0], i, s[1]].concat(s.slice(2)) : [i, ...s] : [i];
|
|
109
109
|
};
|
|
110
110
|
let Ht = (() => {
|
|
111
|
-
var
|
|
111
|
+
var I, z, L, R, M, E, O, P, D, F, b;
|
|
112
112
|
let t = [_t("sbb-timetable-row")], i, s = [], n, p = mt, h = [], S, X = [], Z = [], G, V = [], ee = [], te, ae = [], ie = [], se, re = [], ne = [], oe, le = [], ce = [], be, de = [], ge = [], pe, ue = [], he = [], me, _e = [], fe = [], ye, ve = [], xe = [], we, $e = [], Te = [], Ae;
|
|
113
113
|
return b = class extends p {
|
|
114
114
|
constructor() {
|
|
115
115
|
super(...arguments);
|
|
116
|
-
y(this, z);
|
|
117
116
|
y(this, I);
|
|
117
|
+
y(this, z);
|
|
118
118
|
y(this, L);
|
|
119
119
|
y(this, R);
|
|
120
120
|
y(this, M);
|
|
@@ -123,21 +123,21 @@ let Ht = (() => {
|
|
|
123
123
|
y(this, P);
|
|
124
124
|
y(this, D);
|
|
125
125
|
y(this, F);
|
|
126
|
-
l(this,
|
|
126
|
+
l(this, I, (o(this, h), o(this, X, null))), l(this, z, (o(this, Z), o(this, V, null))), l(this, L, (o(this, ee), o(this, ae, !1))), l(this, R, (o(this, ie), o(this, re, null))), l(this, M, (o(this, ne), o(this, le, !1))), l(this, E, (o(this, ce), o(this, de, !1))), l(this, O, (o(this, ge), o(this, ue, !1))), l(this, P, (o(this, he), o(this, _e, ""))), l(this, D, (o(this, fe), o(this, ve, !1))), l(this, F, (o(this, xe), o(this, $e, !1))), this._now = (o(this, Te), null), this._language = new nt(this);
|
|
127
127
|
}
|
|
128
128
|
/** The trip Prop. */
|
|
129
129
|
get trip() {
|
|
130
|
-
return f(this,
|
|
130
|
+
return f(this, I);
|
|
131
131
|
}
|
|
132
132
|
set trip(a) {
|
|
133
|
-
l(this,
|
|
133
|
+
l(this, I, a);
|
|
134
134
|
}
|
|
135
135
|
/** The price Prop, which consists of the data for the badge. */
|
|
136
136
|
get price() {
|
|
137
|
-
return f(this,
|
|
137
|
+
return f(this, z);
|
|
138
138
|
}
|
|
139
139
|
set price(a) {
|
|
140
|
-
l(this,
|
|
140
|
+
l(this, z, a);
|
|
141
141
|
}
|
|
142
142
|
/** This will be forwarded to the sbb-pearl-chain component - if true the position won't be animated. */
|
|
143
143
|
get disableAnimation() {
|
|
@@ -213,7 +213,7 @@ let Ht = (() => {
|
|
|
213
213
|
* Only recommended for testing purposes.
|
|
214
214
|
*/
|
|
215
215
|
set now(a) {
|
|
216
|
-
this._now =
|
|
216
|
+
this._now = Ie.getValidDateOrNull(Ie.deserialize(a));
|
|
217
217
|
}
|
|
218
218
|
get now() {
|
|
219
219
|
return this._now ?? /* @__PURE__ */ new Date();
|
|
@@ -224,8 +224,8 @@ let Ht = (() => {
|
|
|
224
224
|
/** The skeleton render function for the loading state */
|
|
225
225
|
_renderSkeleton() {
|
|
226
226
|
return c`
|
|
227
|
-
<sbb-card
|
|
228
|
-
${this.loadingPrice ? c`<
|
|
227
|
+
<sbb-card class="sbb-loading sbb-card-spacing-4x-xxs">
|
|
228
|
+
${this.loadingPrice ? c`<div class="sbb-loading__badge" slot="badge"></div>` : g}
|
|
229
229
|
<div class="sbb-loading__wrapper">
|
|
230
230
|
<div class="sbb-loading__row"></div>
|
|
231
231
|
<div class="sbb-loading__row"></div>
|
|
@@ -268,7 +268,7 @@ let Ht = (() => {
|
|
|
268
268
|
};
|
|
269
269
|
}
|
|
270
270
|
_getAccessibilityText(a) {
|
|
271
|
-
const { summary: e, legs: r, notices: w } = a || {}, { departureWalk: d, arrivalWalk: W, departure: C, arrival: $, product: x, direction: H, occupancy: u, duration: T } = e || {}, { departureTimeAttribute: m, arrivalTimeAttribute: q } = ft(r, d || 0, W || 0, this._language.current, this.a11yFootpath), A = this._getRideLegs(), B = C?.time ? Fe(C.time) : void 0, U = $?.time ? Fe($.time) : void 0, Q = m ? `${m.text} ${m.duration}, ` : "", He = q ? `${q.text} ${q.duration}, ` : "", Qe = B ? `${
|
|
271
|
+
const { summary: e, legs: r, notices: w } = a || {}, { departureWalk: d, arrivalWalk: W, departure: C, arrival: $, product: x, direction: H, occupancy: u, duration: T } = e || {}, { departureTimeAttribute: m, arrivalTimeAttribute: q } = ft(r, d || 0, W || 0, this._language.current, this.a11yFootpath), A = this._getRideLegs(), B = C?.time ? Fe(C.time) : void 0, U = $?.time ? Fe($.time) : void 0, Q = m ? `${m.text} ${m.duration}, ` : "", He = q ? `${q.text} ${q.duration}, ` : "", Qe = B ? `${ze[this._language.current]}: ${Be(B, "HH:mm")}, ` : "", Ke = () => C?.quayFormatted ? `${C?.quayChanged ? `${De[this._language.current]} ` : ""}${this._getQuayTypeStrings()?.long} ${C?.quayFormatted}, ` : "", Ye = x && x.vehicleMode ? J[x.vehicleMode.toLowerCase()] && `${J[x.vehicleMode.toLowerCase()][this._language.current]}, ` : "", Xe = x?.vehicleSubModeShortName ? `${x.vehicleSubModeShortName} ${x.line || ""}, ` : "", Ze = `${Le[this._language.current]} ${H}, `, j = this._handleHimCus(a), Se = j?.cus?.text ? `${Re[this._language.current]}: ${j?.cus?.text}, ` : "", Ge = j?.him?.text ? `${Re[this._language.current]}: ${j?.him?.text}, ` : "", Ve = this.boarding ? `${this.boarding.text}, ` : "", et = `${this.price?.isDiscount ? Me[this._language.current] : ""} ${this.price?.text && this.price?.price ? (this.price?.text || "") + " " + (this.price?.price || "") + ", " : ""}`, tt = A.length > 2 ? `${A.length - 1} ${ct[this._language.current]}, ` : A.length > 1 ? `${A.length - 1} ${bt[this._language.current]}, ` : "", at = U ? `${dt[this._language.current]}: ${Be(U, "HH:mm")}, ` : "";
|
|
272
272
|
let K = "";
|
|
273
273
|
u && (u.firstClass && u.firstClass !== "UNKNOWN" && (K += `${Ee.first[this._language.current]} ${Oe[u.firstClass.toLowerCase()]?.[this._language.current]}.`), u.secondClass && u.secondClass !== "UNKNOWN" && (K += ` ${Ee.second[this._language.current]} ${Oe[u.secondClass.toLowerCase()]?.[this._language.current]}.`));
|
|
274
274
|
const Ce = w && Y(w).length && Y(w)?.map((k, rt) => rt < 4 && k.text?.template).join(", ") + ", ", it = Ce ? `${gt[this._language.current]}: ${Ce}` : "", st = T && T > 0 ? `${Pe[this._language.current]} ${qe(T, this._language.current).long}, ` : "";
|
|
@@ -296,14 +296,14 @@ let Ht = (() => {
|
|
|
296
296
|
return this._renderSkeleton();
|
|
297
297
|
const { legs: a, id: e, notices: r, summary: w } = this.trip || {}, { product: d, direction: W, departureWalk: C, departure: $, arrival: x, arrivalWalk: H, occupancy: u, duration: T } = w || {}, m = this._handleHimCus(this.trip), q = !!m.cus || !!m.him, A = r && Y(r), B = T ? qe(T, this._language.current) : null;
|
|
298
298
|
return c`
|
|
299
|
-
<sbb-card
|
|
299
|
+
<sbb-card class="sbb-card-spacing-4x-xxs" id=${e}>
|
|
300
300
|
<sbb-card-button
|
|
301
301
|
?active=${this.active}
|
|
302
302
|
aria-expanded=${this.accessibilityExpanded ? "true" : g}
|
|
303
303
|
>
|
|
304
304
|
${this.cardActionLabel ? this.cardActionLabel : this._getAccessibilityText(this.trip)}
|
|
305
305
|
</sbb-card-button>
|
|
306
|
-
${this.loadingPrice ? c`<
|
|
306
|
+
${this.loadingPrice ? c`<div class="sbb-loading__badge" slot="badge"></div>` : g}
|
|
307
307
|
${this.price && !this.loadingPrice ? c`<sbb-card-badge color=${this.price.isDiscount ? "charcoal" : "white"}>
|
|
308
308
|
${this.price.isDiscount ? c`<span aria-hidden="true">
|
|
309
309
|
%<span class="sbb-screen-reader-only"
|
|
@@ -346,7 +346,7 @@ let Ht = (() => {
|
|
|
346
346
|
class=${$?.quayChanged ? "sbb-timetable__row-quay--changed" : g}
|
|
347
347
|
>
|
|
348
348
|
<span class="sbb-screen-reader-only">
|
|
349
|
-
${`${
|
|
349
|
+
${`${ze[this._language.current]} ${$?.quayChanged ? De[this._language.current] : ""}`}
|
|
350
350
|
|
|
351
351
|
</span>
|
|
352
352
|
${this._renderQuayType()} ${$?.quayFormatted}
|
|
@@ -387,7 +387,7 @@ let Ht = (() => {
|
|
|
387
387
|
</sbb-card>
|
|
388
388
|
`;
|
|
389
389
|
}
|
|
390
|
-
},
|
|
390
|
+
}, I = new WeakMap(), z = new WeakMap(), L = new WeakMap(), R = new WeakMap(), M = new WeakMap(), E = new WeakMap(), O = new WeakMap(), P = new WeakMap(), D = new WeakMap(), F = new WeakMap(), n = b, (() => {
|
|
391
391
|
const a = typeof Symbol == "function" && Symbol.metadata ? Object.create(p[Symbol.metadata] ?? null) : void 0;
|
|
392
392
|
S = [v({ type: Object })], G = [v({ type: Object })], te = [N(), v({ attribute: "disable-animation", reflect: !0, type: Boolean })], se = [v({ type: Object })], oe = [N(), v({ attribute: "loading-trip", type: Boolean })], be = [N(), v({ attribute: "a11y-footpath", type: Boolean })], pe = [N(), v({ attribute: "loading-price", type: Boolean })], me = [N(), v({ attribute: "card-action-label" })], ye = [N(), v({ attribute: "accessibility-expanded", type: Boolean })], we = [N(), v({ type: Boolean })], Ae = [v()], _(b, null, S, { kind: "accessor", name: "trip", static: !1, private: !1, access: { has: (e) => "trip" in e, get: (e) => e.trip, set: (e, r) => {
|
|
393
393
|
e.trip = r;
|