@sbb-esta/lyne-elements-experimental-dev 0.0.0 → 4.5.1-dev.1771849274
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/README.md +55 -0
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +86 -0
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +54 -0
- package/autocomplete-grid/autocomplete-grid-button.js +4 -0
- package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +25 -0
- package/autocomplete-grid/autocomplete-grid-cell.js +4 -0
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +29 -0
- package/autocomplete-grid/autocomplete-grid-optgroup.js +4 -0
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +41 -0
- package/autocomplete-grid/autocomplete-grid-option.js +5 -0
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +28 -0
- package/autocomplete-grid/autocomplete-grid-row.js +4 -0
- package/autocomplete-grid/autocomplete-grid.js +4 -0
- package/autocomplete-grid.js +15 -0
- package/core/datetime/date-helper.js +191 -0
- package/core/datetime.js +5 -0
- package/core/timetable/access-leg-helper.js +91 -0
- package/core/timetable/timetable-helper.js +12 -0
- package/core/timetable/timetable-properties.js +1 -0
- package/core/timetable.js +8 -0
- package/custom-elements.json +8211 -0
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +39 -0
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +141 -0
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +31 -0
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +82 -0
- package/development/autocomplete-grid/autocomplete-grid-button.d.ts +5 -0
- package/development/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-button.js +5 -0
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts +19 -0
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +40 -0
- package/development/autocomplete-grid/autocomplete-grid-cell.d.ts +5 -0
- package/development/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-cell.js +5 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts +19 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +40 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts +5 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup.js +5 -0
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +26 -0
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +134 -0
- package/development/autocomplete-grid/autocomplete-grid-option.d.ts +5 -0
- package/development/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-option.js +6 -0
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts +20 -0
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +115 -0
- package/development/autocomplete-grid/autocomplete-grid-row.d.ts +5 -0
- package/development/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-row.js +5 -0
- package/development/autocomplete-grid/autocomplete-grid.d.ts +5 -0
- package/development/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid.js +5 -0
- package/development/autocomplete-grid.d.ts +10 -0
- package/development/autocomplete-grid.d.ts.map +1 -0
- package/development/autocomplete-grid.js +16 -0
- package/development/core/datetime/date-helper.d.ts +27 -0
- package/development/core/datetime/date-helper.d.ts.map +1 -0
- package/development/core/datetime/date-helper.js +285 -0
- package/development/core/datetime.d.ts +5 -0
- package/development/core/datetime.d.ts.map +1 -0
- package/development/core/datetime.js +6 -0
- package/development/core/timetable/access-leg-helper.d.ts +26 -0
- package/development/core/timetable/access-leg-helper.d.ts.map +1 -0
- package/development/core/timetable/access-leg-helper.js +125 -0
- package/development/core/timetable/timetable-helper.d.ts +12 -0
- package/development/core/timetable/timetable-helper.d.ts.map +1 -0
- package/development/core/timetable/timetable-helper.js +20 -0
- package/development/core/timetable/timetable-properties.d.ts +308 -0
- package/development/core/timetable/timetable-properties.d.ts.map +1 -0
- package/development/core/timetable/timetable-properties.js +2 -0
- package/development/core/timetable.d.ts +7 -0
- package/development/core/timetable.d.ts.map +1 -0
- package/development/core/timetable.js +9 -0
- package/development/differenceInMinutes-B0dawX-5.js +26 -0
- package/development/format-BMkeaqaF.js +1433 -0
- package/development/isValid-BYRch7pV.js +53 -0
- package/development/journey-summary/journey-summary.component.d.ts +65 -0
- package/development/journey-summary/journey-summary.component.d.ts.map +1 -0
- package/development/journey-summary/journey-summary.component.js +294 -0
- package/development/journey-summary.d.ts +5 -0
- package/development/journey-summary.d.ts.map +1 -0
- package/development/journey-summary.js +5 -0
- package/development/pearl-chain/pearl-chain.component.d.ts +42 -0
- package/development/pearl-chain/pearl-chain.component.d.ts.map +1 -0
- package/development/pearl-chain/pearl-chain.component.js +639 -0
- package/development/pearl-chain-time/pearl-chain-time.component.d.ts +47 -0
- package/development/pearl-chain-time/pearl-chain-time.component.d.ts.map +1 -0
- package/development/pearl-chain-time/pearl-chain-time.component.js +312 -0
- package/development/pearl-chain-time.d.ts +5 -0
- package/development/pearl-chain-time.d.ts.map +1 -0
- package/development/pearl-chain-time.js +5 -0
- package/development/pearl-chain-vertical/pearl-chain-vertical.component.d.ts +16 -0
- package/development/pearl-chain-vertical/pearl-chain-vertical.component.d.ts.map +1 -0
- package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +40 -0
- package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts +34 -0
- package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts.map +1 -0
- package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +398 -0
- package/development/pearl-chain-vertical-item.d.ts +5 -0
- package/development/pearl-chain-vertical-item.d.ts.map +1 -0
- package/development/pearl-chain-vertical-item.js +5 -0
- package/development/pearl-chain-vertical.d.ts +5 -0
- package/development/pearl-chain-vertical.d.ts.map +1 -0
- package/development/pearl-chain-vertical.js +5 -0
- package/development/pearl-chain.d.ts +5 -0
- package/development/pearl-chain.d.ts.map +1 -0
- package/development/pearl-chain.js +5 -0
- package/development/seat-reservation/common/mapper/icon-mapper.d.ts +106 -0
- package/development/seat-reservation/common/mapper/icon-mapper.d.ts.map +1 -0
- package/development/seat-reservation/common/mapper/icon-mapper.js +72 -0
- package/development/seat-reservation/common/mapper/mapper.d.ts +34 -0
- package/development/seat-reservation/common/mapper/mapper.d.ts.map +1 -0
- package/development/seat-reservation/common/mapper/mapper.js +129 -0
- package/development/seat-reservation/common/mapper/seat-reservation-sample-data.d.ts +372 -0
- package/development/seat-reservation/common/mapper/seat-reservation-sample-data.d.ts.map +1 -0
- package/development/seat-reservation/common/mapper/seat-reservation-sample-data.js +31673 -0
- package/development/seat-reservation/common/mapper.d.ts +3 -0
- package/development/seat-reservation/common/mapper.d.ts.map +1 -0
- package/development/seat-reservation/common/mapper.js +10 -0
- package/development/seat-reservation/common/svgs.d.ts +24 -0
- package/development/seat-reservation/common/svgs.d.ts.map +1 -0
- package/development/seat-reservation/common/svgs.js +46 -0
- package/development/seat-reservation/common/translations/i18n.d.ts +28 -0
- package/development/seat-reservation/common/translations/i18n.d.ts.map +1 -0
- package/development/seat-reservation/common/translations/i18n.js +871 -0
- package/development/seat-reservation/common/translations.d.ts +2 -0
- package/development/seat-reservation/common/translations.d.ts.map +1 -0
- package/development/seat-reservation/common/translations.js +5 -0
- package/development/seat-reservation/common/types.d.ts +97 -0
- package/development/seat-reservation/common/types.d.ts.map +1 -0
- package/development/seat-reservation/common/types.js +2 -0
- package/development/seat-reservation/common.d.ts +8 -0
- package/development/seat-reservation/common.d.ts.map +1 -0
- package/development/seat-reservation/common.js +14 -0
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +273 -0
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +1171 -0
- package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts +75 -0
- package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation/seat-reservation.component.js +832 -0
- package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts +18 -0
- package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +112 -0
- package/development/seat-reservation/seat-reservation-area.d.ts +5 -0
- package/development/seat-reservation/seat-reservation-area.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-area.js +5 -0
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.d.ts +9 -0
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +303 -0
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts +20 -0
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +167 -0
- package/development/seat-reservation/seat-reservation-graphic.d.ts +5 -0
- package/development/seat-reservation/seat-reservation-graphic.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-graphic.js +5 -0
- package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts +65 -0
- package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +798 -0
- package/development/seat-reservation/seat-reservation-navigation-coach.d.ts +5 -0
- package/development/seat-reservation/seat-reservation-navigation-coach.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-navigation-coach.js +5 -0
- package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts +21 -0
- package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +120 -0
- package/development/seat-reservation/seat-reservation-navigation-services.d.ts +5 -0
- package/development/seat-reservation/seat-reservation-navigation-services.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-navigation-services.js +5 -0
- package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +42 -0
- package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +462 -0
- package/development/seat-reservation/seat-reservation-place-control.d.ts +5 -0
- package/development/seat-reservation/seat-reservation-place-control.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-place-control.js +5 -0
- package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts +14 -0
- package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +34 -0
- package/development/seat-reservation/seat-reservation-scoped.d.ts +5 -0
- package/development/seat-reservation/seat-reservation-scoped.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-scoped.js +5 -0
- package/development/seat-reservation/seat-reservation.d.ts +6 -0
- package/development/seat-reservation/seat-reservation.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation.js +7 -0
- package/development/seat-reservation.d.ts +12 -0
- package/development/seat-reservation.d.ts.map +1 -0
- package/development/seat-reservation.js +30 -0
- package/development/timetable-duration/timetable-duration.component.d.ts +22 -0
- package/development/timetable-duration/timetable-duration.component.d.ts.map +1 -0
- package/development/timetable-duration/timetable-duration.component.js +114 -0
- package/development/timetable-duration.d.ts +5 -0
- package/development/timetable-duration.d.ts.map +1 -0
- package/development/timetable-duration.js +5 -0
- package/development/timetable-row/timetable-row.component.d.ts +87 -0
- package/development/timetable-row/timetable-row.component.d.ts.map +1 -0
- package/development/timetable-row/timetable-row.component.js +787 -0
- package/development/timetable-row.d.ts +5 -0
- package/development/timetable-row.d.ts.map +1 -0
- package/development/timetable-row.js +12 -0
- package/development/toDate-BWb6Z1JD.js +24 -0
- package/differenceInMinutes-COvvdYsJ.js +23 -0
- package/format-CmKROkbc.js +1186 -0
- package/index.d.ts +44 -0
- package/index.js +43 -0
- package/isValid-m3_OsPaB.js +45 -0
- package/journey-summary/journey-summary.component.js +193 -0
- package/journey-summary.js +4 -0
- package/package.json +161 -1
- package/pearl-chain/pearl-chain.component.js +164 -0
- package/pearl-chain-time/pearl-chain-time.component.js +156 -0
- package/pearl-chain-time.js +4 -0
- package/pearl-chain-vertical/pearl-chain-vertical.component.js +24 -0
- package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +76 -0
- package/pearl-chain-vertical-item.js +4 -0
- package/pearl-chain-vertical.js +4 -0
- package/pearl-chain.js +4 -0
- package/seat-reservation/common/mapper/icon-mapper.js +71 -0
- package/seat-reservation/common/mapper/mapper.js +89 -0
- package/seat-reservation/common/mapper/seat-reservation-sample-data.js +31668 -0
- package/seat-reservation/common/mapper.js +9 -0
- package/seat-reservation/common/svgs.js +243 -0
- package/seat-reservation/common/translations/i18n.js +861 -0
- package/seat-reservation/common/translations.js +4 -0
- package/seat-reservation/common/types.js +1 -0
- package/seat-reservation/common.js +13 -0
- package/seat-reservation/seat-reservation/seat-reservation-base-element.js +756 -0
- package/seat-reservation/seat-reservation/seat-reservation.component.js +410 -0
- package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +50 -0
- package/seat-reservation/seat-reservation-area.js +4 -0
- package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +292 -0
- package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +73 -0
- package/seat-reservation/seat-reservation-graphic.js +4 -0
- package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +277 -0
- package/seat-reservation/seat-reservation-navigation-coach.js +4 -0
- package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +73 -0
- package/seat-reservation/seat-reservation-navigation-services.js +4 -0
- package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +167 -0
- package/seat-reservation/seat-reservation-place-control.js +4 -0
- package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +20 -0
- package/seat-reservation/seat-reservation-scoped.js +4 -0
- package/seat-reservation/seat-reservation.js +6 -0
- package/seat-reservation.js +29 -0
- package/timetable-duration/timetable-duration.component.js +56 -0
- package/timetable-duration.js +4 -0
- package/timetable-row/timetable-row.component.js +426 -0
- package/timetable-row.js +11 -0
- package/toDate-Bw2KTWeq.js +15 -0
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
var ka = (o) => {
|
|
2
|
+
throw TypeError(o);
|
|
3
|
+
};
|
|
4
|
+
var ya = (o, n, d) => n.has(o) || ka("Cannot " + d);
|
|
5
|
+
var b = (o, n, d) => (ya(o, n, "read from private field"), d ? d.call(o) : n.get(o)), c = (o, n, d) => n.has(o) ? ka("Cannot add the same private member more than once") : n instanceof WeakSet ? n.add(o) : n.set(o, d), t = (o, n, d, g) => (ya(o, n, "write to private field"), g ? g.call(o, d) : n.set(o, d), d);
|
|
6
|
+
import { __runInitializers as s, __esDecorate as l } from "tslib";
|
|
7
|
+
import { SbbLanguageController as Ca } from "@sbb-esta/lyne-elements/core/controllers.js";
|
|
8
|
+
import { forceType as h } from "@sbb-esta/lyne-elements/core/decorators.js";
|
|
9
|
+
import { boxSizingStyles as Sa } from "@sbb-esta/lyne-elements/core/styles.js";
|
|
10
|
+
import { css as Ba, LitElement as za, nothing as T, html as u } from "lit";
|
|
11
|
+
import { customElement as Ea, property as v } from "lit/decorators.js";
|
|
12
|
+
import { classMap as wa } from "lit/directives/class-map.js";
|
|
13
|
+
import { getI18nSeatReservation as _ } from "../common/translations.js";
|
|
14
|
+
import "@sbb-esta/lyne-elements/screen-reader-only.js";
|
|
15
|
+
import "../seat-reservation-navigation-services.js";
|
|
16
|
+
const Ta = Ba`:host{display:inline-block;min-height:calc(44 * var(--sbb-seat-reservation-one-px-rem, .0625rem));--sbb-seat-reservation-navigation-travelclass-spacing: 10;--sbb-seat-reservation-navigation-btn-border-width-default: 1;--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-default );--sbb-seat-reservation-navigation-btn-border-color: var(--sbb-color-granite);--sbb-seat-reservation-navigation-btn-border-color: light-dark( var(--sbb-color-granite), var(--sbb-color-graphite) );--sbb-seat-reservation-navigation-btn-background-color: var(--sbb-color-white);--sbb-seat-reservation-navigation-btn-background-color: light-dark( var(--sbb-color-white), var(--sbb-color-black) );--sbb-seat-reservation-navigation-btn-border-width-selected: 2;--sbb-seat-reservation-navigation-btn-background-color-selected: var(--sbb-color-milk);--sbb-seat-reservation-navigation-btn-background-color-selected: light-dark( var(--sbb-color-milk), var(--sbb-color-iron) );--sbb-seat-reservation-navigation-btn-border-color-selected: var(--sbb-color-black);--sbb-seat-reservation-navigation-btn-border-color-selected: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-navigation-btn-outline-width-focused: 1;--sbb-seat-reservation-navigation-btn-outline-color-focused: var(--sbb-color-black);--sbb-seat-reservation-navigation-btn-outline-color-focused: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-navigation-btn-outline-offset-focused: 4;--sbb-seat-reservation-navigation-btn-background-color-focused: var(--sbb-color-white);--sbb-seat-reservation-navigation-btn-background-color-focused: light-dark( var(--sbb-color-white), var(--sbb-color-black) );--sbb-seat-reservation-navigation-btn-border-width-focused: var( --sbb-seat-reservation-navigation-btn-border-width );--sbb-seat-reservation-navigation-btn-border-color-focused: var(--sbb-color-black);--sbb-seat-reservation-navigation-btn-border-color-focused: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-navigation-btn-border-width-hovered: 2;--sbb-seat-reservation-navigation-btn-background-color-hovered: var(--sbb-color-cloud);--sbb-seat-reservation-navigation-btn-background-color-hovered: light-dark( var(--sbb-color-cloud), var(--sbb-color-midnight) );--sbb-seat-reservation-navigation-btn-border-color-hovered: var(--sbb-color-black);--sbb-seat-reservation-navigation-btn-border-color-hovered: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-navigation-btn-background-color-disabled: var(--sbb-background-color-2);--sbb-seat-reservation-navigation-btn-border-color-disabled: var(--sbb-color-platinum);--sbb-seat-reservation-navigation-btn-border-color-disabled: light-dark( var(--sbb-color-platinum), var(--sbb-color-iron) )}.sbb-sr-navigation__item-coach{display:flex;flex-direction:column;gap:calc(8 * var(--sbb-seat-reservation-one-px-rem, .0625rem));width:calc(80 * var(--sbb-seat-reservation-one-px-rem, .0625rem));list-style-type:none}.sbb-sr-navigation__item-coach.first-coach .sbb-sr-navigation--first-class,.sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation--first-class{width:calc(100% - 18 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation__item-coach.first-coach .sbb-sr-navigation__ctrl-button:not(.sbb-seat-reservation-navigation-driver-area){border-radius:var(--sbb-border-radius-8x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-8x)}.sbb-sr-navigation__item-coach.first-coach .sbb-sr-navigation__ctrl-button:not(.sbb-seat-reservation-navigation-driver-area):before{content:"";position:absolute;width:100%;height:100%;border:calc(var(--sbb-seat-reservation-navigation-btn-border-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-border-color);border-radius:var(--sbb-border-radius-8x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-8x)}.sbb-sr-navigation__item-coach.first-coach .sbb-sr-navigation--first-class{margin-inline-start:calc(var(--sbb-seat-reservation-navigation-travelclass-spacing) * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area){border-radius:var(--sbb-border-radius-2x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-2x)}.sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area):before{content:"";position:absolute;width:100%;height:100%;border:calc(var(--sbb-seat-reservation-navigation-btn-border-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-border-color);border-radius:var(--sbb-border-radius-2x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-2x)}.sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation__additional-information{padding-inline-end:calc(var(--sbb-seat-reservation-navigation-travelclass-spacing) * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation--first-class{margin-inline-end:calc(var(--sbb-seat-reservation-navigation-travelclass-spacing) * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation__ctrl-button{appearance:none;box-sizing:border-box;margin:0;outline:none;border:none;border-radius:0;padding:0;background:none;-webkit-tap-highlight-color:transparent;color:inherit;display:flex;flex-direction:column;justify-content:center;height:calc(36 * var(--sbb-seat-reservation-one-px-rem, .0625rem));position:relative;background-color:var(--sbb-seat-reservation-navigation-btn-background-color);cursor:var(--sbb-cursor-pointer)}.sbb-sr-navigation__ctrl-button.sbb-sr-navigation-driver-area{border-radius:var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x)}.sbb-sr-navigation__ctrl-button.sbb-sr-navigation-driver-area:before{content:"";position:absolute;width:100%;height:100%;border:calc(var(--sbb-seat-reservation-navigation-btn-border-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-border-color);border-radius:var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x)}.sbb-sr-navigation__ctrl-button{border-radius:var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x)}.sbb-sr-navigation__ctrl-button:before{content:"";position:absolute;width:100%;height:100%;border:calc(var(--sbb-seat-reservation-navigation-btn-border-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-border-color);border-radius:var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x)}.sbb-sr-navigation__item-coach--focused .sbb-sr-navigation__ctrl-button{--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-focused );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-focused );--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-focused );outline:calc(var(--sbb-seat-reservation-navigation-btn-outline-width-focused) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-outline-color-focused);outline-offset:calc(var(--sbb-seat-reservation-navigation-btn-outline-offset-focused) * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation__item-coach--focused .sbb-sr-navigation__ctrl-button .sbb-sr-navigation__item-coach-travelclass{background-color:var(--sbb-color-metal);background-color:light-dark(var(--sbb-color-metal),var(--sbb-color-storm))}.sbb-sr-navigation__item-coach--focused .sbb-sr-navigation__ctrl-button .sbb-sr-navigation__item-coach-number{color:var(--sbb-color-anthracite);color:light-dark(var(--sbb-color-anthracite),var(--sbb-color-graphite))}.sbb-sr-navigation__item-coach--selected .sbb-sr-navigation__ctrl-button{--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-selected );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-selected );--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-selected )}.sbb-sr-navigation__item-coach--selected .sbb-sr-navigation__ctrl-button .sbb-sr-navigation__item-coach-travelclass{background-color:var(--sbb-color-black);background-color:light-dark(var(--sbb-color-black),var(--sbb-color-white))}.sbb-sr-navigation__item-coach--selected .sbb-sr-navigation__ctrl-button .sbb-sr-navigation__item-coach-number{color:var(--sbb-color-black);color:light-dark(var(--sbb-color-black),var(--sbb-color-white))}.sbb-sr-navigation__item-coach--selected.sbb-sr-navigation__item-coach--hovered .sbb-sr-navigation__ctrl-button{--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-selected );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-selected );--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-selected );background-color:var(--sbb-seat-reservation-navigation-btn-background-color-hovered)!important}.sbb-sr-navigation__item-coach--selected .sbb-sr-navigation__ctrl-button:focus-visible:not([disabled],:disabled){--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-selected );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-selected );--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-selected )}.sbb-sr-navigation__item-coach--hovered .sbb-sr-navigation__ctrl-button{--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-hovered );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-hovered );--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-hovered )}.sbb-sr-navigation__ctrl-button:hover:not([disabled],:disabled){--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-hovered );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-hovered );--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-hovered )}.sbb-sr-navigation__ctrl-button:hover:not([disabled],:disabled) .sbb-sr-navigation__item-coach-travelclass{background-color:var(--sbb-color-smoke)}.sbb-sr-navigation__ctrl-button:hover:not([disabled],:disabled) .sbb-sr-navigation__item-coach-number{color:var(--sbb-color-iron);color:light-dark(var(--sbb-color-iron),var(--sbb-color-silver))}.sbb-sr-navigation__ctrl-button:is([disabled],:disabled){--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-disabled );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-disabled );cursor:unset;pointer-events:unset}.sbb-sr-navigation__ctrl-button:is([disabled],:disabled) .sbb-sr-navigation__item-coach-travelclass{background-color:var(--sbb-color-graphite);background-color:light-dark(var(--sbb-color-graphite),var(--sbb-color-granite))}.sbb-sr-navigation__ctrl-button:is([disabled],:disabled) .sbb-sr-navigation__item-coach-number{color:var(--sbb-color-graphite);color:light-dark(var(--sbb-color-graphite),var(--sbb-color-granite))}.sbb-sr-navigation__additional-information{display:flex;justify-content:space-between;align-items:center;flex:1;column-gap:calc(8 * var(--sbb-seat-reservation-one-px-rem, .0625rem));padding-inline:calc(16 * var(--sbb-seat-reservation-one-px-rem, .0625rem));font-family:var(--sbb-typo-font-family);font-weight:700;color:var(--sbb-color-granite);color:light-dark(var(--sbb-color-granite),var(--sbb-color-granite))}@media(forced-colors:active){.sbb-sr-navigation__additional-information{color:var(--sbb-color-milk)}}.sbb-sr-navigation__item-coach-number{color:var(--sbb-color-granite);color:light-dark(var(--sbb-color-granite),var(--sbb-color-graphite))}@media(forced-colors:active){.sbb-sr-navigation__item-coach-number{color:var(--sbb-color-granite);color:light-dark(var(--sbb-color-granite),var(--sbb-color-graphite))}}@media(forced-colors:active)and (forced-colors:active){.sbb-sr-navigation__item-coach-number{color:inherit}}.sbb-sr-navigation__item-coach-number .sbb-sr-navigation__item-coach-travelclass{background-color:var(--sbb-background-color-2-inverted)}.sbb-sr-navigation--first-class{width:calc(100% - 8 * var(--sbb-seat-reservation-one-px-rem, .0625rem));position:absolute;inset-block-start:calc(3 * var(--sbb-seat-reservation-one-px-rem, .0625rem));inset-inline-start:calc(4 * var(--sbb-seat-reservation-one-px-rem, .0625rem));border:calc(1 * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid transparent;border-radius:var(--sbb-border-radius-1x);margin:auto;background-color:var(--sbb-color-lemon)}.sbb-sr-navigation__item-coach-travelclass{display:flex;align-items:center;justify-content:center;min-height:calc(20 * var(--sbb-seat-reservation-one-px-rem, .0625rem));min-width:calc(20 * var(--sbb-seat-reservation-one-px-rem, .0625rem));border-radius:var(--sbb-border-radius-1x);text-align:center;background-color:var(--sbb-color-granite);background-color:light-dark(var(--sbb-color-granite),var(--sbb-color-graphite));color:var(--sbb-color-white);color:light-dark(var(--sbb-color-white),var(--sbb-color-black))}:host([vertical]) .sbb-sr-navigation__item-coach{flex-direction:row}:host([vertical]) .sbb-sr-navigation__item-coach .sbb-sr-navigation__ctrl-button{flex-direction:row-reverse;height:calc(80 * var(--sbb-seat-reservation-one-px-rem, .0625rem));min-width:calc(36 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}:host([vertical]) .sbb-sr-navigation__item-coach .sbb-sr-navigation__additional-information{flex-direction:column-reverse;padding-block:calc(16 * var(--sbb-seat-reservation-one-px-rem, .0625rem));padding-inline-start:unset;padding-inline-end:unset}:host([vertical]) .sbb-sr-navigation__item-coach .sbb-sr-navigation--first-class{height:calc(100% - 8 * var(--sbb-seat-reservation-one-px-rem, .0625rem));width:initial;inset-inline-end:calc(3 * var(--sbb-seat-reservation-one-px-rem, .0625rem));inset-block-start:calc(4 * var(--sbb-seat-reservation-one-px-rem, .0625rem));inset-inline-start:initial}:host([vertical]) .sbb-sr-navigation__item-coach.first-coach .sbb-sr-navigation--first-class,:host([vertical]) .sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation--first-class{height:calc(100% - 18 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}:host([vertical]) .sbb-sr-navigation__item-coach.first-coach:not(.last-coach) .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area){border-radius:var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x)}:host([vertical]) .sbb-sr-navigation__item-coach.first-coach:not(.last-coach) .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area):before{content:"";position:absolute;width:100%;height:100%;border:calc(var(--sbb-seat-reservation-navigation-btn-border-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-border-color);border-radius:var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x)}:host([vertical]) .sbb-sr-navigation__item-coach.first-coach:not(.last-coach) .sbb-sr-navigation--first-class{margin-block-start:calc(var(--sbb-seat-reservation-navigation-travelclass-spacing) * var(--sbb-seat-reservation-one-px-rem, .0625rem));margin-inline-start:initial}:host([vertical]) .sbb-sr-navigation__item-coach.last-coach:not(.first-coach) .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area){border-radius:var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x)}:host([vertical]) .sbb-sr-navigation__item-coach.last-coach:not(.first-coach) .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area):before{content:"";position:absolute;width:100%;height:100%;border:calc(var(--sbb-seat-reservation-navigation-btn-border-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-border-color);border-radius:var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x)}:host([vertical]) .sbb-sr-navigation__item-coach.last-coach:not(.first-coach) .sbb-sr-navigation--first-class{margin-block-end:calc(var(--sbb-seat-reservation-navigation-travelclass-spacing) * var(--sbb-seat-reservation-one-px-rem, .0625rem));margin-inline-end:initial}:host([vertical]) .sbb-sr-navigation__item-coach .sbb-sr-navigation-driver-area{height:calc(80 * var(--sbb-seat-reservation-one-px-rem, .0625rem));min-width:calc(36 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}`;
|
|
17
|
+
let Ka = (() => {
|
|
18
|
+
var m, p, f, x, k, y, w, I, A, C, S, B, z, E, i;
|
|
19
|
+
let o = [Ea("sbb-seat-reservation-navigation-coach")], n, d = [], g, $ = za, N, F = [], D = [], O, L = [], P = [], R, V = [], j = [], H, U = [], G = [], K, q = [], M = [], Y, J = [], Q = [], W, X = [], Z = [], aa, ra = [], ea = [], ta, sa = [], ia = [], oa, na = [], ba = [], ca, la = [], va = [], da, ha = [], ga = [], ua, _a = [], ma = [], pa, fa = [], xa = [];
|
|
20
|
+
return i = class extends $ {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(...arguments);
|
|
23
|
+
c(this, m);
|
|
24
|
+
c(this, p);
|
|
25
|
+
c(this, f);
|
|
26
|
+
c(this, x);
|
|
27
|
+
c(this, k);
|
|
28
|
+
c(this, y);
|
|
29
|
+
c(this, w);
|
|
30
|
+
c(this, I);
|
|
31
|
+
c(this, A);
|
|
32
|
+
c(this, C);
|
|
33
|
+
c(this, S);
|
|
34
|
+
c(this, B);
|
|
35
|
+
c(this, z);
|
|
36
|
+
c(this, E);
|
|
37
|
+
t(this, m, s(this, F, "")), t(this, p, (s(this, D), s(this, L, []))), t(this, f, (s(this, P), s(this, V, !1))), t(this, x, (s(this, j), s(this, U, !1))), t(this, k, (s(this, G), s(this, q, !1))), t(this, y, (s(this, M), s(this, J, !0))), t(this, w, (s(this, Q), s(this, X, 0))), t(this, I, (s(this, Z), s(this, ra, { seats: 0, bicycles: 0 }))), t(this, A, (s(this, ea), s(this, sa, ["ANY_CLASS"]))), t(this, C, (s(this, ia), s(this, na, !1))), t(this, S, (s(this, ba), s(this, la, !1))), t(this, B, (s(this, va), s(this, ha, !1))), t(this, z, (s(this, ga), s(this, _a, !1))), t(this, E, (s(this, ma), s(this, fa, !1))), this._language = (s(this, xa), new Ca(this));
|
|
38
|
+
}
|
|
39
|
+
/** Coach ID, which is used to identify the coach in the navigation */
|
|
40
|
+
get coachId() {
|
|
41
|
+
return b(this, m);
|
|
42
|
+
}
|
|
43
|
+
set coachId(r) {
|
|
44
|
+
t(this, m, r);
|
|
45
|
+
}
|
|
46
|
+
/** Coach service property ids, which are used to display the services in the navigation */
|
|
47
|
+
get propertyIds() {
|
|
48
|
+
return b(this, p);
|
|
49
|
+
}
|
|
50
|
+
set propertyIds(r) {
|
|
51
|
+
t(this, p, r);
|
|
52
|
+
}
|
|
53
|
+
/** Select coach property */
|
|
54
|
+
get selected() {
|
|
55
|
+
return b(this, f);
|
|
56
|
+
}
|
|
57
|
+
set selected(r) {
|
|
58
|
+
t(this, f, r);
|
|
59
|
+
}
|
|
60
|
+
/** Focus coach property */
|
|
61
|
+
get focused() {
|
|
62
|
+
return b(this, x);
|
|
63
|
+
}
|
|
64
|
+
set focused(r) {
|
|
65
|
+
t(this, x, r);
|
|
66
|
+
}
|
|
67
|
+
/** Hover coach property */
|
|
68
|
+
get hovered() {
|
|
69
|
+
return b(this, k);
|
|
70
|
+
}
|
|
71
|
+
set hovered(r) {
|
|
72
|
+
t(this, k, r);
|
|
73
|
+
}
|
|
74
|
+
/** Native focus for this navigation coach is also set when the focused property is changed */
|
|
75
|
+
get nativeFocusActive() {
|
|
76
|
+
return b(this, y);
|
|
77
|
+
}
|
|
78
|
+
set nativeFocusActive(r) {
|
|
79
|
+
t(this, y, r);
|
|
80
|
+
}
|
|
81
|
+
get index() {
|
|
82
|
+
return b(this, w);
|
|
83
|
+
}
|
|
84
|
+
set index(r) {
|
|
85
|
+
t(this, w, r);
|
|
86
|
+
}
|
|
87
|
+
/** Representation of places available for selecting, counting seat places and bicycle places separately */
|
|
88
|
+
get freePlacesByType() {
|
|
89
|
+
return b(this, I);
|
|
90
|
+
}
|
|
91
|
+
set freePlacesByType(r) {
|
|
92
|
+
t(this, I, r);
|
|
93
|
+
}
|
|
94
|
+
/** Travel class of the coach */
|
|
95
|
+
get travelClass() {
|
|
96
|
+
return b(this, A);
|
|
97
|
+
}
|
|
98
|
+
set travelClass(r) {
|
|
99
|
+
t(this, A, r);
|
|
100
|
+
}
|
|
101
|
+
/** If the coach is a driver/restricted area */
|
|
102
|
+
get driverArea() {
|
|
103
|
+
return b(this, C);
|
|
104
|
+
}
|
|
105
|
+
set driverArea(r) {
|
|
106
|
+
t(this, C, r);
|
|
107
|
+
}
|
|
108
|
+
/** If the coach is the first in the navigation */
|
|
109
|
+
get first() {
|
|
110
|
+
return b(this, S);
|
|
111
|
+
}
|
|
112
|
+
set first(r) {
|
|
113
|
+
t(this, S, r);
|
|
114
|
+
}
|
|
115
|
+
/** If the coach is the last in the navigation */
|
|
116
|
+
get last() {
|
|
117
|
+
return b(this, B);
|
|
118
|
+
}
|
|
119
|
+
set last(r) {
|
|
120
|
+
t(this, B, r);
|
|
121
|
+
}
|
|
122
|
+
/** Disable the coach navigation */
|
|
123
|
+
get disable() {
|
|
124
|
+
return b(this, z);
|
|
125
|
+
}
|
|
126
|
+
set disable(r) {
|
|
127
|
+
t(this, z, r);
|
|
128
|
+
}
|
|
129
|
+
/** If the coach navigation should be displayed vertically */
|
|
130
|
+
get vertical() {
|
|
131
|
+
return b(this, E);
|
|
132
|
+
}
|
|
133
|
+
set vertical(r) {
|
|
134
|
+
t(this, E, r);
|
|
135
|
+
}
|
|
136
|
+
willUpdate(r) {
|
|
137
|
+
if (super.willUpdate(r), r.has("selected")) {
|
|
138
|
+
const a = this.shadowRoot?.querySelector(".sbb-sr-navigation__ctrl-button");
|
|
139
|
+
this.selected && a && (this.nativeFocusActive && a.focus(), this.dispatchEvent(new Event("focuscoach", { bubbles: !0, composed: !0 })));
|
|
140
|
+
}
|
|
141
|
+
if (r.has("focused") && this.focused) {
|
|
142
|
+
const a = this.shadowRoot?.querySelector(".sbb-sr-navigation__ctrl-button");
|
|
143
|
+
a && this.nativeFocusActive && a.focus();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Render a list of service icons provided by a caller
|
|
148
|
+
*
|
|
149
|
+
* @protected
|
|
150
|
+
*/
|
|
151
|
+
render() {
|
|
152
|
+
return u`
|
|
153
|
+
<div
|
|
154
|
+
class="${wa({
|
|
155
|
+
"sbb-sr-navigation__item-coach": !0,
|
|
156
|
+
"last-coach": this.last,
|
|
157
|
+
"first-coach": this.first,
|
|
158
|
+
"sbb-sr-navigation__item-coach--selected": this.selected,
|
|
159
|
+
"sbb-sr-navigation__item-coach--focused": this.focused,
|
|
160
|
+
"sbb-sr-navigation__item-coach--hovered": this.hovered
|
|
161
|
+
})}"
|
|
162
|
+
>
|
|
163
|
+
${this._getNavigationButton()}
|
|
164
|
+
${this.propertyIds?.length ? u`<sbb-seat-reservation-navigation-services
|
|
165
|
+
?vertical="${this.vertical}"
|
|
166
|
+
.propertyIds="${this.propertyIds}"
|
|
167
|
+
></sbb-seat-reservation-navigation-services>` : T}
|
|
168
|
+
</div>
|
|
169
|
+
`;
|
|
170
|
+
}
|
|
171
|
+
_getNavigationButton() {
|
|
172
|
+
const r = this._getCoachServiceClassNumber(), a = this._getTitleDescriptionNavCoachButton(r), e = this._getAriaDescriptionCoachServices();
|
|
173
|
+
return u` <button
|
|
174
|
+
@click=${() => this._selectNavCoach(this.index)}
|
|
175
|
+
class="${wa({
|
|
176
|
+
"sbb-sr-navigation__ctrl-button": !0,
|
|
177
|
+
"sbb-sr-navigation-driver-area": this.driverArea
|
|
178
|
+
})}"
|
|
179
|
+
?disabled="${this.disable}"
|
|
180
|
+
title="${a}"
|
|
181
|
+
type="button"
|
|
182
|
+
aria-describedby="nav-coach-service-descriptions-${this.index}"
|
|
183
|
+
>
|
|
184
|
+
${this._getBtnInformation(r)}
|
|
185
|
+
</button>
|
|
186
|
+
<sbb-screen-reader-only id="nav-coach-service-descriptions-${this.index}"
|
|
187
|
+
>${e}</sbb-screen-reader-only
|
|
188
|
+
>`;
|
|
189
|
+
}
|
|
190
|
+
_getBtnInformation(r) {
|
|
191
|
+
return this.driverArea ? null : u`
|
|
192
|
+
${r === 1 ? u`<span class="sbb-sr-navigation--first-class"></span>` : T}
|
|
193
|
+
${this.travelClass?.length > 0 || this.coachId ? u`<div class="sbb-sr-navigation__additional-information">
|
|
194
|
+
${this.coachId ? u`<div class="sbb-sr-navigation__item-coach-number" aria-hidden="true">
|
|
195
|
+
${this.coachId}
|
|
196
|
+
</div>` : T}
|
|
197
|
+
<div
|
|
198
|
+
${r ?? T}
|
|
199
|
+
class="sbb-sr-navigation__item-coach-travelclass"
|
|
200
|
+
aria-hidden="true"
|
|
201
|
+
>
|
|
202
|
+
${r}
|
|
203
|
+
</div>
|
|
204
|
+
</div>` : T}
|
|
205
|
+
`;
|
|
206
|
+
}
|
|
207
|
+
_getTitleDescriptionNavCoachButton(r) {
|
|
208
|
+
if (this.driverArea)
|
|
209
|
+
return _("NAVIGATE_COACH_BLOCKED", this._language.current, [
|
|
210
|
+
this.coachId
|
|
211
|
+
]);
|
|
212
|
+
let a = _("NAVIGATE_TO_COACH", this._language.current, [this.coachId]);
|
|
213
|
+
if (r) {
|
|
214
|
+
const Ia = _(r === 1 ? "SERVICE_CLASS_FIRST" : "SERVICE_CLASS_SECOND", this._language.current), Aa = _("NAVIGATE_TO_COACH_SERVICE_CLASS_SUB", this._language.current, [Ia]);
|
|
215
|
+
a = a.concat(Aa);
|
|
216
|
+
}
|
|
217
|
+
const e = _("COACH_AVAILABLE_NUMBER_OF_PLACES", this._language.current, [this.freePlacesByType.seats, this.freePlacesByType.bicycles]);
|
|
218
|
+
return a = a.concat(". ").concat(e), a;
|
|
219
|
+
}
|
|
220
|
+
_getAriaDescriptionCoachServices() {
|
|
221
|
+
let r = null;
|
|
222
|
+
return this.propertyIds.length && (r = _("COACH_AVAILABLE_SERVICES", this._language.current) + ": ", r += this.propertyIds.map((a) => _(a, this._language.current)).join()), r;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* emits the index of the coach array for the main navigation.
|
|
226
|
+
* @param coachIndex
|
|
227
|
+
* @private
|
|
228
|
+
*/
|
|
229
|
+
_selectNavCoach(r) {
|
|
230
|
+
this.dispatchEvent(new CustomEvent("selectcoach", {
|
|
231
|
+
bubbles: !0,
|
|
232
|
+
composed: !0,
|
|
233
|
+
detail: r
|
|
234
|
+
}));
|
|
235
|
+
}
|
|
236
|
+
_getCoachServiceClassNumber() {
|
|
237
|
+
return this.travelClass?.includes("FIRST") ? 1 : this.travelClass?.includes("SECOND") ? 2 : null;
|
|
238
|
+
}
|
|
239
|
+
}, m = new WeakMap(), p = new WeakMap(), f = new WeakMap(), x = new WeakMap(), k = new WeakMap(), y = new WeakMap(), w = new WeakMap(), I = new WeakMap(), A = new WeakMap(), C = new WeakMap(), S = new WeakMap(), B = new WeakMap(), z = new WeakMap(), E = new WeakMap(), g = i, (() => {
|
|
240
|
+
const r = typeof Symbol == "function" && Symbol.metadata ? Object.create($[Symbol.metadata] ?? null) : void 0;
|
|
241
|
+
N = [h(), v({ attribute: "coach-id" })], O = [v({ attribute: "property-ids", type: Array })], R = [h(), v({ type: Boolean })], H = [h(), v({ type: Boolean })], K = [h(), v({ type: Boolean })], Y = [h(), v({ type: Boolean })], W = [h(), v({ type: Number })], aa = [v({ attribute: "free-places-by-type", type: Object })], ta = [v({ attribute: "travel-class", type: Array })], oa = [h(), v({ attribute: "driver-area", type: Boolean })], ca = [h(), v({ type: Boolean })], da = [h(), v({ type: Boolean })], ua = [h(), v({ attribute: "disable", type: Boolean })], pa = [h(), v({ type: Boolean, reflect: !0, useDefault: !0 })], l(i, null, N, { kind: "accessor", name: "coachId", static: !1, private: !1, access: { has: (a) => "coachId" in a, get: (a) => a.coachId, set: (a, e) => {
|
|
242
|
+
a.coachId = e;
|
|
243
|
+
} }, metadata: r }, F, D), l(i, null, O, { kind: "accessor", name: "propertyIds", static: !1, private: !1, access: { has: (a) => "propertyIds" in a, get: (a) => a.propertyIds, set: (a, e) => {
|
|
244
|
+
a.propertyIds = e;
|
|
245
|
+
} }, metadata: r }, L, P), l(i, null, R, { kind: "accessor", name: "selected", static: !1, private: !1, access: { has: (a) => "selected" in a, get: (a) => a.selected, set: (a, e) => {
|
|
246
|
+
a.selected = e;
|
|
247
|
+
} }, metadata: r }, V, j), l(i, null, H, { kind: "accessor", name: "focused", static: !1, private: !1, access: { has: (a) => "focused" in a, get: (a) => a.focused, set: (a, e) => {
|
|
248
|
+
a.focused = e;
|
|
249
|
+
} }, metadata: r }, U, G), l(i, null, K, { kind: "accessor", name: "hovered", static: !1, private: !1, access: { has: (a) => "hovered" in a, get: (a) => a.hovered, set: (a, e) => {
|
|
250
|
+
a.hovered = e;
|
|
251
|
+
} }, metadata: r }, q, M), l(i, null, Y, { kind: "accessor", name: "nativeFocusActive", static: !1, private: !1, access: { has: (a) => "nativeFocusActive" in a, get: (a) => a.nativeFocusActive, set: (a, e) => {
|
|
252
|
+
a.nativeFocusActive = e;
|
|
253
|
+
} }, metadata: r }, J, Q), l(i, null, W, { kind: "accessor", name: "index", static: !1, private: !1, access: { has: (a) => "index" in a, get: (a) => a.index, set: (a, e) => {
|
|
254
|
+
a.index = e;
|
|
255
|
+
} }, metadata: r }, X, Z), l(i, null, aa, { kind: "accessor", name: "freePlacesByType", static: !1, private: !1, access: { has: (a) => "freePlacesByType" in a, get: (a) => a.freePlacesByType, set: (a, e) => {
|
|
256
|
+
a.freePlacesByType = e;
|
|
257
|
+
} }, metadata: r }, ra, ea), l(i, null, ta, { kind: "accessor", name: "travelClass", static: !1, private: !1, access: { has: (a) => "travelClass" in a, get: (a) => a.travelClass, set: (a, e) => {
|
|
258
|
+
a.travelClass = e;
|
|
259
|
+
} }, metadata: r }, sa, ia), l(i, null, oa, { kind: "accessor", name: "driverArea", static: !1, private: !1, access: { has: (a) => "driverArea" in a, get: (a) => a.driverArea, set: (a, e) => {
|
|
260
|
+
a.driverArea = e;
|
|
261
|
+
} }, metadata: r }, na, ba), l(i, null, ca, { kind: "accessor", name: "first", static: !1, private: !1, access: { has: (a) => "first" in a, get: (a) => a.first, set: (a, e) => {
|
|
262
|
+
a.first = e;
|
|
263
|
+
} }, metadata: r }, la, va), l(i, null, da, { kind: "accessor", name: "last", static: !1, private: !1, access: { has: (a) => "last" in a, get: (a) => a.last, set: (a, e) => {
|
|
264
|
+
a.last = e;
|
|
265
|
+
} }, metadata: r }, ha, ga), l(i, null, ua, { kind: "accessor", name: "disable", static: !1, private: !1, access: { has: (a) => "disable" in a, get: (a) => a.disable, set: (a, e) => {
|
|
266
|
+
a.disable = e;
|
|
267
|
+
} }, metadata: r }, _a, ma), l(i, null, pa, { kind: "accessor", name: "vertical", static: !1, private: !1, access: { has: (a) => "vertical" in a, get: (a) => a.vertical, set: (a, e) => {
|
|
268
|
+
a.vertical = e;
|
|
269
|
+
} }, metadata: r }, fa, xa), l(null, n = { value: g }, o, { kind: "class", name: g.name, metadata: r }, null, d), g = n.value, r && Object.defineProperty(g, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: r });
|
|
270
|
+
})(), i.styles = [Sa, Ta], i.events = {
|
|
271
|
+
selectcoach: "selectcoach",
|
|
272
|
+
focuscoach: "focuscoach"
|
|
273
|
+
}, s(g, d), g;
|
|
274
|
+
})();
|
|
275
|
+
export {
|
|
276
|
+
Ka as SbbSeatReservationNavigationCoachElement
|
|
277
|
+
};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
var E = (e) => {
|
|
2
|
+
throw TypeError(e);
|
|
3
|
+
};
|
|
4
|
+
var x = (e, a, s) => a.has(e) || E("Cannot " + s);
|
|
5
|
+
var b = (e, a, s) => (x(e, a, "read from private field"), s ? s.call(e) : a.get(e)), h = (e, a, s) => a.has(e) ? E("Cannot add the same private member more than once") : a instanceof WeakSet ? a.add(e) : a.set(e, s), p = (e, a, s, i) => (x(e, a, "write to private field"), i ? i.call(e, s) : a.set(e, s), s);
|
|
6
|
+
import { __runInitializers as m, __esDecorate as u } from "tslib";
|
|
7
|
+
import { SbbLanguageController as z } from "@sbb-esta/lyne-elements/core/controllers.js";
|
|
8
|
+
import { forceType as D } from "@sbb-esta/lyne-elements/core/decorators.js";
|
|
9
|
+
import { boxSizingStyles as A } from "@sbb-esta/lyne-elements/core/styles.js";
|
|
10
|
+
import { css as B, LitElement as N, nothing as L, html as C } from "lit";
|
|
11
|
+
import { customElement as $, property as w } from "lit/decorators.js";
|
|
12
|
+
import { getI18nSeatReservation as d } from "../common.js";
|
|
13
|
+
import "@sbb-esta/lyne-elements/screen-reader-only.js";
|
|
14
|
+
import "../seat-reservation-graphic.js";
|
|
15
|
+
const j = B`.sbb-sr-navigation__signs{display:flex;flex-direction:row;justify-content:center;column-gap:var(--sbb-spacing-fixed-2x);overflow:hidden;line-height:normal;color:var(--sbb-color-granite);color:light-dark(var(--sbb-color-granite),var(--sbb-color-graphite))}.sbb-sr-navigation__signs:has(:nth-child(n+3 of.auto-width)):has([name^=SILENCE],[name^=BUSINESS]){column-gap:calc(6 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation__signs:has(:nth-child(n+3 of.auto-width)):has([name^=SILENCE],[name^=BUSINESS]):has([name^=BICYCLE]){column-gap:calc(3 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}:host([vertical]) .sbb-sr-navigation__signs{flex-direction:column;height:100%}`;
|
|
16
|
+
let G = (() => {
|
|
17
|
+
var l, c, n;
|
|
18
|
+
let e = [$("sbb-seat-reservation-navigation-services")], a, s = [], i, g = N, v, _ = [], y = [], f, S = [], I = [];
|
|
19
|
+
return n = class extends g {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments);
|
|
22
|
+
h(this, l);
|
|
23
|
+
h(this, c);
|
|
24
|
+
p(this, l, m(this, _, [])), p(this, c, (m(this, y), m(this, S, !1))), this._language = (m(this, I), new z(this));
|
|
25
|
+
}
|
|
26
|
+
/** Coach service property ids, which are used to display the services in the navigation */
|
|
27
|
+
get propertyIds() {
|
|
28
|
+
return b(this, l);
|
|
29
|
+
}
|
|
30
|
+
set propertyIds(r) {
|
|
31
|
+
p(this, l, r);
|
|
32
|
+
}
|
|
33
|
+
/** If true, the service icons are displayed vertically */
|
|
34
|
+
get vertical() {
|
|
35
|
+
return b(this, c);
|
|
36
|
+
}
|
|
37
|
+
set vertical(r) {
|
|
38
|
+
p(this, c, r);
|
|
39
|
+
}
|
|
40
|
+
render() {
|
|
41
|
+
const r = this.propertyIds?.length ? this._getServiceLabelDescription() : null;
|
|
42
|
+
return C` <div class="sbb-sr-navigation__signs">
|
|
43
|
+
<sbb-screen-reader-only ${r || L}
|
|
44
|
+
>${r}</sbb-screen-reader-only
|
|
45
|
+
>
|
|
46
|
+
${this.propertyIds?.map((t) => C`
|
|
47
|
+
<sbb-seat-reservation-graphic
|
|
48
|
+
class="auto-width"
|
|
49
|
+
name=${t ?? L}
|
|
50
|
+
title=${d(t, this._language.current)}
|
|
51
|
+
aria-hidden="true"
|
|
52
|
+
></sbb-seat-reservation-graphic>
|
|
53
|
+
`)}
|
|
54
|
+
</div>`;
|
|
55
|
+
}
|
|
56
|
+
//Generate the translated service label from the available properties
|
|
57
|
+
_getServiceLabelDescription() {
|
|
58
|
+
let r = null;
|
|
59
|
+
const t = this.propertyIds.map((o) => d(o, this._language.current)).filter((o) => !!o).join(", ");
|
|
60
|
+
return t && (r = d("COACH_AVAILABLE_SERVICES", this._language.current).concat(":").concat(t)), r;
|
|
61
|
+
}
|
|
62
|
+
}, l = new WeakMap(), c = new WeakMap(), i = n, (() => {
|
|
63
|
+
const r = typeof Symbol == "function" && Symbol.metadata ? Object.create(g[Symbol.metadata] ?? null) : void 0;
|
|
64
|
+
v = [w({ attribute: "property-ids", type: Array })], f = [D(), w({ type: Boolean, reflect: !0, useDefault: !0 })], u(n, null, v, { kind: "accessor", name: "propertyIds", static: !1, private: !1, access: { has: (t) => "propertyIds" in t, get: (t) => t.propertyIds, set: (t, o) => {
|
|
65
|
+
t.propertyIds = o;
|
|
66
|
+
} }, metadata: r }, _, y), u(n, null, f, { kind: "accessor", name: "vertical", static: !1, private: !1, access: { has: (t) => "vertical" in t, get: (t) => t.vertical, set: (t, o) => {
|
|
67
|
+
t.vertical = o;
|
|
68
|
+
} }, metadata: r }, S, I), u(null, a = { value: i }, e, { kind: "class", name: i.name, metadata: r }, null, s), i = a.value, r && Object.defineProperty(i, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: r });
|
|
69
|
+
})(), n.styles = [A, j], m(i, s), i;
|
|
70
|
+
})();
|
|
71
|
+
export {
|
|
72
|
+
G as SbbSeatReservationNavigationServicesElement
|
|
73
|
+
};
|
package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
var W = (s) => {
|
|
2
|
+
throw TypeError(s);
|
|
3
|
+
};
|
|
4
|
+
var X = (s, o, b) => o.has(s) || W("Cannot " + b);
|
|
5
|
+
var n = (s, o, b) => (X(s, o, "read from private field"), b ? b.call(s) : o.get(s)), p = (s, o, b) => o.has(s) ? W("Cannot add the same private member more than once") : o instanceof WeakSet ? o.add(s) : o.set(s, b), a = (s, o, b, i) => (X(s, o, "write to private field"), i ? i.call(s, b) : o.set(s, b), b);
|
|
6
|
+
import { __esDecorate as d, __runInitializers as c } from "tslib";
|
|
7
|
+
import { SbbButtonBaseElement as ae } from "@sbb-esta/lyne-elements/core/base-elements.js";
|
|
8
|
+
import { SbbLanguageController as ce } from "@sbb-esta/lyne-elements/core/controllers.js";
|
|
9
|
+
import { forceType as h } from "@sbb-esta/lyne-elements/core/decorators.js";
|
|
10
|
+
import { boxSizingStyles as le } from "@sbb-esta/lyne-elements/core/styles.js";
|
|
11
|
+
import { css as oe, nothing as be, html as ie } from "lit";
|
|
12
|
+
import { customElement as ne, property as v } from "lit/decorators.js";
|
|
13
|
+
import { styleMap as pe } from "lit/directives/style-map.js";
|
|
14
|
+
import { getI18nSeatReservation as E } from "../common.js";
|
|
15
|
+
import "../seat-reservation-graphic.js";
|
|
16
|
+
const de = oe`:host{--sbb-seat-reservation-place-control-text-scale-value: 1;--sbb-seat-reservation-place-control-width: 16;--sbb-seat-reservation-place-control-height: 16;--sbb-seat-reservation-place-control-top: 0;--sbb-seat-reservation-place-control-left: 0;--sbb-seat-reservation-place-control-rotation: 0;--sbb-seat-reservation-place-control-text-rotation: 0;--sbb-seat-reservation-place-control-text-size: calc( var(--sbb-seat-reservation-place-control-text-scale-value, 1) * .5 );--sbb-seat-reservation-place-control-default-text: var(--sbb-color-black);--sbb-seat-reservation-place-control-default-text: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-place-control-hover-text: var(--sbb-color-iron);--sbb-seat-reservation-place-control-hover-text: light-dark( var(--sbb-color-iron), var(--sbb-color-silver) );--sbb-seat-reservation-place-control-focus-text: var(--sbb-color-anthracite);--sbb-seat-reservation-place-control-focus-text: light-dark( var(--sbb-color-anthracite), var(--sbb-color-graphite) );--sbb-seat-reservation-place-control-allocated-text: var(--sbb-color-smoke);--sbb-seat-reservation-place-control-allocated-text: light-dark( var(--sbb-color-smoke), var(--sbb-color-metal) );--sbb-seat-reservation-place-control-free-background-default: var(--sbb-background-color-2);--sbb-seat-reservation-place-control-free-background-hover: var(--sbb-color-cloud);--sbb-seat-reservation-place-control-free-background-hover: light-dark( var(--sbb-color-cloud), var(--sbb-color-midnight) );--sbb-seat-reservation-place-control-free-background-focus: var(--sbb-color-silver);--sbb-seat-reservation-place-control-free-background-focus: light-dark( var(--sbb-color-silver), var(--sbb-color-black) );--sbb-seat-reservation-place-control-free-backrest-background-default: var(--sbb-color-black);--sbb-seat-reservation-place-control-free-backrest-background-default: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-place-control-free-backrest-background-hover: var(--sbb-color-black);--sbb-seat-reservation-place-control-free-backrest-background-hover: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-place-control-free-backrest-background-focus: var(--sbb-color-black);--sbb-seat-reservation-place-control-free-backrest-background-focus: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-place-control-selected-background-default: var(--sbb-color-primary);--sbb-seat-reservation-place-control-selected-background-hover: var(--sbb-color-primary125);--sbb-seat-reservation-place-control-selected-background-focus: var(--sbb-color-primary150);--sbb-seat-reservation-place-control-selected-backrest-background-default: var( --sbb-color-primary150 );--sbb-seat-reservation-place-control-selected-backrest-background-hover: #7d000f;--sbb-seat-reservation-place-control-selected-backrest-background-focus: #5a000b;--sbb-seat-reservation-place-control-allocated-background-default: var(--sbb-color-milk);--sbb-seat-reservation-place-control-allocated-background-default: light-dark( var(--sbb-color-milk), var(--sbb-color-midnight) );width:calc(var(--sbb-seat-reservation-place-control-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem));height:calc(var(--sbb-seat-reservation-place-control-height) * var(--sbb-seat-reservation-one-px-rem, .0625rem));position:absolute;inset-block-start:calc(var(--sbb-seat-reservation-place-control-top) * var(--sbb-seat-reservation-one-px-rem, .0625rem));inset-inline-start:calc(var(--sbb-seat-reservation-place-control-left) * var(--sbb-seat-reservation-one-px-rem, .0625rem));font-weight:300;cursor:var(--sbb-cursor-pointer)}:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-free-background-hover)}:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-free-backrest-background-hover)}:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-free-background-hover);color:var(--sbb-seat-reservation-place-control-free-text)}:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-selected-background-hover)}:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-selected-backrest-background-hover)}:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-selected-background-hover);color:var(--sbb-seat-reservation-place-control-selected-text)}:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-free-background-focus)}:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-free-backrest-background-focus)}:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-free-background-focus);color:var(--sbb-seat-reservation-place-control-free-text)}:host(:active) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-selected-background-focus)}:host(:active) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-selected-backrest-background-focus)}:host(:active) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-selected-background-focus);color:var(--sbb-seat-reservation-place-control-selected-text)}: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(svg-place){rotate:180deg}.sbb-sr-place-ctrl{width:max-content;position:relative;font-size:calc(var(--sbb-seat-reservation-place-control-text-size) * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-place-ctrl--state-free ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-free-background-default)}.sbb-sr-place-ctrl--state-free ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-free-backrest-background-default)}.sbb-sr-place-ctrl--state-free .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-free-background-default);color:var(--sbb-seat-reservation-place-control-free-text)}.sbb-sr-place-ctrl--state-selected ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-selected-background-default)}.sbb-sr-place-ctrl--state-selected ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-selected-backrest-background-default)}.sbb-sr-place-ctrl--state-selected .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-selected-background-default);color:var(--sbb-seat-reservation-place-control-selected-text)}.sbb-sr-place-ctrl--state-allocated ::part(svg-place),.sbb-sr-place-ctrl--state-restricted ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-allocated-background-default)}.sbb-sr-place-ctrl--state-allocated ::part(svg-backrest),.sbb-sr-place-ctrl--state-restricted ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-allocated-backrest-background-default)}.sbb-sr-place-ctrl--state-allocated .sbb-sr-place-ctrl__text,.sbb-sr-place-ctrl--state-restricted .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-allocated-background-default);color:var(--sbb-seat-reservation-place-control-allocated-text)}.sbb-sr-place-ctrl--state-allocated,.sbb-sr-place-ctrl--state-restricted{cursor:not-allowed}.sbb-sr-place-ctrl__text{overflow:hidden;display:none;position:absolute;inset-block-start:50%;translate:-50% -50%;rotate:calc(var(--sbb-seat-reservation-place-control-text-rotation) * 1deg);font-family:var(--sbb-typo-font-family);font-size:.75em;line-height:initial}.sbb-sr-place-ctrl--state-free .sbb-sr-place-ctrl__text,.sbb-sr-place-ctrl--state-allocated .sbb-sr-place-ctrl__text,.sbb-sr-place-ctrl--state-restricted.sbb-sr-place-ctrl--type-bicycle .sbb-sr-place-ctrl__text{display:block}.sbb-sr-place-ctrl--type-bicycle .sbb-sr-place-ctrl__text{inset-block-start:65%;inset-inline-start:50%;transform-origin:center 16%;font-size:.6875em}.sbb-sr-place-ctrl--orientation-0.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text{inset-inline-start:45%}.sbb-sr-place-ctrl--orientation-90.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text{inset-block-start:46%;inset-inline-start:50%}.sbb-sr-place-ctrl--orientation-180.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text{inset-inline-start:55%}.sbb-sr-place-ctrl--orientation-270.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text{inset-block-start:52%;inset-inline-start:52%}:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-0 .sbb-sr-place-ctrl__text{inset-inline-start:3%}:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-90 .sbb-sr-place-ctrl__text,:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-180 .sbb-sr-place-ctrl__text{inset-inline-start:10%}:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-270 .sbb-sr-place-ctrl__text{inset-inline-start:5%}:host(:dir(rtl)) .sbb-sr-place-ctrl--type-bicycle .sbb-sr-place-ctrl__text{inset-inline-start:-10%}`;
|
|
17
|
+
let Ce = (() => {
|
|
18
|
+
var u, k, f, g, _, x, y, m, l;
|
|
19
|
+
let s = [ne("sbb-seat-reservation-place-control")], o, b = [], i, C = ae, z, S = [], T = [], w, P = [], R = [], L, $ = [], D = [], A, O = [], N = [], F, V = [], j = [], B, U = [], K = [], M, Y = [], q = [], G, H = [], J = [];
|
|
20
|
+
return l = class extends C {
|
|
21
|
+
constructor() {
|
|
22
|
+
super();
|
|
23
|
+
p(this, u);
|
|
24
|
+
p(this, k);
|
|
25
|
+
p(this, f);
|
|
26
|
+
p(this, g);
|
|
27
|
+
p(this, _);
|
|
28
|
+
p(this, x);
|
|
29
|
+
p(this, y);
|
|
30
|
+
p(this, m);
|
|
31
|
+
a(this, u, c(this, S, "SEAT")), a(this, k, (c(this, T), c(this, P, "FREE"))), a(this, f, (c(this, R), c(this, $, []))), a(this, g, (c(this, D), c(this, O, ""))), a(this, _, (c(this, N), c(this, V, null))), a(this, x, (c(this, j), c(this, U, null))), a(this, y, (c(this, K), c(this, Y, !1))), a(this, m, (c(this, q), c(this, H, "unfocus"))), this._language = (c(this, J), new ce(this)), this.addEventListener("click", () => this._selectPlace());
|
|
32
|
+
}
|
|
33
|
+
/** placeType of the place, e.g. 'SEAT', 'BICYCLE' */
|
|
34
|
+
get placeType() {
|
|
35
|
+
return n(this, u);
|
|
36
|
+
}
|
|
37
|
+
set placeType(t) {
|
|
38
|
+
a(this, u, t);
|
|
39
|
+
}
|
|
40
|
+
/** state of the place, e.g. 'FREE', 'SELECTED', 'BLOCKED' */
|
|
41
|
+
get state() {
|
|
42
|
+
return n(this, k);
|
|
43
|
+
}
|
|
44
|
+
set state(t) {
|
|
45
|
+
a(this, k, t);
|
|
46
|
+
}
|
|
47
|
+
/** property ids of the place, to display more info about the place */
|
|
48
|
+
get propertyIds() {
|
|
49
|
+
return n(this, f);
|
|
50
|
+
}
|
|
51
|
+
set propertyIds(t) {
|
|
52
|
+
a(this, f, t);
|
|
53
|
+
}
|
|
54
|
+
/** label of the place, e.g. '1A', '2B' */
|
|
55
|
+
get text() {
|
|
56
|
+
return n(this, g);
|
|
57
|
+
}
|
|
58
|
+
set text(t) {
|
|
59
|
+
a(this, g, t);
|
|
60
|
+
}
|
|
61
|
+
/** Deck Index Prop to identifier the right place to deck */
|
|
62
|
+
get deckIndex() {
|
|
63
|
+
return n(this, _);
|
|
64
|
+
}
|
|
65
|
+
set deckIndex(t) {
|
|
66
|
+
a(this, _, t);
|
|
67
|
+
}
|
|
68
|
+
/** Coach Index Prop to identifier the right place to coach */
|
|
69
|
+
get coachIndex() {
|
|
70
|
+
return n(this, x);
|
|
71
|
+
}
|
|
72
|
+
set coachIndex(t) {
|
|
73
|
+
a(this, x, t);
|
|
74
|
+
}
|
|
75
|
+
/** Prevent click prop prevent any place action */
|
|
76
|
+
get preventClick() {
|
|
77
|
+
return n(this, y);
|
|
78
|
+
}
|
|
79
|
+
set preventClick(t) {
|
|
80
|
+
a(this, y, t);
|
|
81
|
+
}
|
|
82
|
+
/** Set the place focus outline style */
|
|
83
|
+
get keyfocus() {
|
|
84
|
+
return n(this, m);
|
|
85
|
+
}
|
|
86
|
+
set keyfocus(t) {
|
|
87
|
+
a(this, m, t);
|
|
88
|
+
}
|
|
89
|
+
willUpdate(t) {
|
|
90
|
+
super.willUpdate(t), t.has("keyfocus") && this.keyfocus === "focus" && this.focus();
|
|
91
|
+
}
|
|
92
|
+
render() {
|
|
93
|
+
const t = this._getPlaceSvg(this.placeType, this.state), e = this.type.toLowerCase(), r = this.state.toLowerCase(), Q = this.text, Z = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-width"), ee = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-height"), I = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-rotation"), te = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-text-rotation"), re = Number(te) - Number(I), se = this.preventClick ? "sbb-reservation-place-control--disabled" : null;
|
|
94
|
+
return this.title = this._getTitleDescriptionPlace(), this.tabIndex = -1, ie`
|
|
95
|
+
<div
|
|
96
|
+
part="sbb-sr-place-part"
|
|
97
|
+
class="sbb-sr-place-ctrl sbb-sr-place-ctrl--orientation-${I} sbb-sr-place-ctrl--state-${r} sbb-sr-place-ctrl--type-${e} ${se}"
|
|
98
|
+
>
|
|
99
|
+
<sbb-seat-reservation-graphic
|
|
100
|
+
style=${pe({
|
|
101
|
+
"--sbb-seat-reservation-graphic-width": Z,
|
|
102
|
+
"--sbb-seat-reservation-graphic-height": ee,
|
|
103
|
+
"--sbb-seat-reservation-graphic-rotation": I,
|
|
104
|
+
"--sbb-seat-reservation-graphic-inverse-rotation": re
|
|
105
|
+
})}
|
|
106
|
+
.name=${t}
|
|
107
|
+
aria-hidden="true"
|
|
108
|
+
></sbb-seat-reservation-graphic>
|
|
109
|
+
<span ${this.text ?? be} class="sbb-sr-place-ctrl__text" aria-hidden="true"
|
|
110
|
+
>${Q}</span
|
|
111
|
+
>
|
|
112
|
+
</div>
|
|
113
|
+
`;
|
|
114
|
+
}
|
|
115
|
+
_getPlaceSvg(t, e) {
|
|
116
|
+
return `PLACE_${t}_${e}`;
|
|
117
|
+
}
|
|
118
|
+
_getTitleDescriptionPlace() {
|
|
119
|
+
const t = "PLACE_CONTROL_" + this.type + "_" + this.state;
|
|
120
|
+
let e = E(t, this._language.current, [this.text]);
|
|
121
|
+
return this.propertyIds.length && (e += ". " + E("PLACE_PROPERTY", this._language.current).concat(": "), e += this.propertyIds.map((r) => E("PLACE_PROPERTIES." + r, this._language.current)).filter((r) => r).join(", ")), e;
|
|
122
|
+
}
|
|
123
|
+
/** If the place selectable, we emit the placeSelection object which contains infos to the place state */
|
|
124
|
+
_selectPlace() {
|
|
125
|
+
if ((this.state === "FREE" || this.state === "SELECTED") && !this.preventClick) {
|
|
126
|
+
this.state = this.state === "FREE" ? "SELECTED" : "FREE";
|
|
127
|
+
const e = {
|
|
128
|
+
id: this.id,
|
|
129
|
+
deckIndex: this.deckIndex,
|
|
130
|
+
coachIndex: this.coachIndex,
|
|
131
|
+
number: this.text,
|
|
132
|
+
state: this.state,
|
|
133
|
+
placeType: this.placeType
|
|
134
|
+
};
|
|
135
|
+
this.dispatchEvent(new CustomEvent("selectplace", {
|
|
136
|
+
detail: e,
|
|
137
|
+
bubbles: !0,
|
|
138
|
+
composed: !0
|
|
139
|
+
}));
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}, u = new WeakMap(), k = new WeakMap(), f = new WeakMap(), g = new WeakMap(), _ = new WeakMap(), x = new WeakMap(), y = new WeakMap(), m = new WeakMap(), i = l, (() => {
|
|
143
|
+
const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(C[Symbol.metadata] ?? null) : void 0;
|
|
144
|
+
z = [h(), v({ attribute: "type" })], w = [h(), v({ attribute: "state", reflect: !0 })], L = [v({ attribute: "propertyIds", type: Array })], A = [h(), v({ attribute: "text" })], F = [h(), v({ attribute: "deck-index", type: Number })], B = [h(), v({ attribute: "coach-index", type: Number })], M = [h(), v({ attribute: "prevent-click", type: Boolean })], G = [h(), v({ attribute: "keyfocus" })], d(l, null, z, { kind: "accessor", name: "placeType", static: !1, private: !1, access: { has: (e) => "placeType" in e, get: (e) => e.placeType, set: (e, r) => {
|
|
145
|
+
e.placeType = r;
|
|
146
|
+
} }, metadata: t }, S, T), d(l, null, w, { kind: "accessor", name: "state", static: !1, private: !1, access: { has: (e) => "state" in e, get: (e) => e.state, set: (e, r) => {
|
|
147
|
+
e.state = r;
|
|
148
|
+
} }, metadata: t }, P, R), d(l, null, L, { kind: "accessor", name: "propertyIds", static: !1, private: !1, access: { has: (e) => "propertyIds" in e, get: (e) => e.propertyIds, set: (e, r) => {
|
|
149
|
+
e.propertyIds = r;
|
|
150
|
+
} }, metadata: t }, $, D), d(l, null, A, { kind: "accessor", name: "text", static: !1, private: !1, access: { has: (e) => "text" in e, get: (e) => e.text, set: (e, r) => {
|
|
151
|
+
e.text = r;
|
|
152
|
+
} }, metadata: t }, O, N), d(l, null, F, { kind: "accessor", name: "deckIndex", static: !1, private: !1, access: { has: (e) => "deckIndex" in e, get: (e) => e.deckIndex, set: (e, r) => {
|
|
153
|
+
e.deckIndex = r;
|
|
154
|
+
} }, metadata: t }, V, j), d(l, null, B, { kind: "accessor", name: "coachIndex", static: !1, private: !1, access: { has: (e) => "coachIndex" in e, get: (e) => e.coachIndex, set: (e, r) => {
|
|
155
|
+
e.coachIndex = r;
|
|
156
|
+
} }, metadata: t }, U, K), d(l, null, M, { kind: "accessor", name: "preventClick", static: !1, private: !1, access: { has: (e) => "preventClick" in e, get: (e) => e.preventClick, set: (e, r) => {
|
|
157
|
+
e.preventClick = r;
|
|
158
|
+
} }, metadata: t }, Y, q), d(l, null, G, { kind: "accessor", name: "keyfocus", static: !1, private: !1, access: { has: (e) => "keyfocus" in e, get: (e) => e.keyfocus, set: (e, r) => {
|
|
159
|
+
e.keyfocus = r;
|
|
160
|
+
} }, metadata: t }, H, J), d(null, o = { value: i }, s, { kind: "class", name: i.name, metadata: t }, null, b), i = o.value, t && Object.defineProperty(i, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
|
|
161
|
+
})(), l.styles = [le, de], l.events = {
|
|
162
|
+
selectplace: "selectplace"
|
|
163
|
+
}, c(i, b), i;
|
|
164
|
+
})();
|
|
165
|
+
export {
|
|
166
|
+
Ce as SbbSeatReservationPlaceControlElement
|
|
167
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { __esDecorate as i, __runInitializers as c } from "tslib";
|
|
2
|
+
import { boxSizingStyles as n } from "@sbb-esta/lyne-elements/core/styles.js";
|
|
3
|
+
import { css as m, LitElement as b, html as d } from "lit";
|
|
4
|
+
import { customElement as p } from "lit/decorators.js";
|
|
5
|
+
const u = m`:host{--sbb-seat-reservation-scoped-width: 0;--sbb-seat-reservation-scoped-height: 0;display:block;width:calc(var(--sbb-seat-reservation-scoped-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem));height:calc(var(--sbb-seat-reservation-scoped-height) * var(--sbb-seat-reservation-one-px-rem, .0625rem))}`;
|
|
6
|
+
let _ = (() => {
|
|
7
|
+
var t;
|
|
8
|
+
let l = [p("sbb-seat-reservation-scoped")], a, r = [], e, o = b;
|
|
9
|
+
return t = class extends o {
|
|
10
|
+
render() {
|
|
11
|
+
return d`<slot></slot>`;
|
|
12
|
+
}
|
|
13
|
+
}, e = t, (() => {
|
|
14
|
+
const s = typeof Symbol == "function" && Symbol.metadata ? Object.create(o[Symbol.metadata] ?? null) : void 0;
|
|
15
|
+
i(null, a = { value: e }, l, { kind: "class", name: e.name, metadata: s }, null, r), e = a.value, s && Object.defineProperty(e, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: s });
|
|
16
|
+
})(), t.styles = [n, u], c(e, r), e;
|
|
17
|
+
})();
|
|
18
|
+
export {
|
|
19
|
+
_ as SbbSeatReservationScopedElement
|
|
20
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { SbbSeatReservationElement as o } from "./seat-reservation/seat-reservation.component.js";
|
|
2
|
+
import { SeatReservationBaseElement as a } from "./seat-reservation/seat-reservation-base-element.js";
|
|
3
|
+
export {
|
|
4
|
+
o as SbbSeatReservationElement,
|
|
5
|
+
a as SeatReservationBaseElement
|
|
6
|
+
};
|