@sbb-esta/lyne-elements-experimental 3.3.2 → 3.5.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.
Files changed (40) hide show
  1. package/custom-elements.json +33 -173
  2. package/development/seat-reservation/common/translations/i18n.js +4 -4
  3. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +5 -0
  4. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
  5. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +15 -3
  6. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts +0 -1
  7. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
  8. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +41 -49
  9. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +5 -5
  10. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts +1 -10
  11. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts.map +1 -1
  12. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +4 -83
  13. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -1
  14. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +16 -17
  15. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +1 -1
  16. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +11 -14
  17. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +0 -8
  18. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -1
  19. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +20 -87
  20. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +2 -4
  21. package/package.json +2 -2
  22. package/seat-reservation/common/translations/i18n.js +3 -3
  23. package/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +5 -0
  24. package/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
  25. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +24 -14
  26. package/seat-reservation/seat-reservation/seat-reservation.component.d.ts +0 -1
  27. package/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
  28. package/seat-reservation/seat-reservation/seat-reservation.component.js +129 -134
  29. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +6 -6
  30. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts +1 -10
  31. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts.map +1 -1
  32. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +47 -90
  33. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -1
  34. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +75 -76
  35. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +1 -1
  36. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +32 -35
  37. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +0 -8
  38. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -1
  39. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +92 -129
  40. package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +2 -2
@@ -1,11 +1,11 @@
1
- import { __esDecorate as C, __runInitializers as S } from "tslib";
1
+ import { __esDecorate as $, __runInitializers as A } from "tslib";
2
2
  import { SbbLanguageController as y } from "@sbb-esta/lyne-elements/core/controllers.js";
3
- import { css as A, isServer as R, html as b, nothing as v } from "lit";
4
- import { customElement as E } from "lit/decorators.js";
3
+ import { css as S, html as n, nothing as g } from "lit";
4
+ import { customElement as R } from "lit/decorators.js";
5
5
  import { classMap as m } from "lit/directives/class-map.js";
6
- import { styleMap as g } from "lit/directives/style-map.js";
7
- import { getI18nSeatReservation as n } from "../common.js";
8
- import { SeatReservationBaseElement as P } from "./seat-reservation-base-element.js";
6
+ import { styleMap as v } from "lit/directives/style-map.js";
7
+ import { getI18nSeatReservation as b } from "../common.js";
8
+ import { SeatReservationBaseElement as E } from "./seat-reservation-base-element.js";
9
9
  import "@sbb-esta/lyne-elements/button.js";
10
10
  import "@sbb-esta/lyne-elements/screen-reader-only.js";
11
11
  import "../seat-reservation-area.js";
@@ -14,11 +14,11 @@ import "../seat-reservation-place-control.js";
14
14
  import "../seat-reservation-navigation-coach.js";
15
15
  import "../seat-reservation-scoped.js";
16
16
  import "@sbb-esta/lyne-elements/popover/popover.js";
17
- const T = A`*,:before,:after{box-sizing:border-box}: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-color-white)}@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}.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;grid-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: var(--sbb-color-black-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);--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{--sbb-scrollbar-color: var(--sbb-color-white-alpha-0);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: var(--sbb-color-black-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);--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}.sbb-sr.sbb-sr__grid--vertical{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%}.sbb-sr.sbb-sr__grid--vertical .sbb-sr-navigation-first-grid{grid-column:2/3;grid-row-start:1}.sbb-sr.sbb-sr__grid--vertical .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}.sbb-sr.sbb-sr__grid--vertical .sbb-sr-navigation-last-grid{grid-column:2/3;grid-row:3/4}.sbb-sr.sbb-sr__grid--vertical .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}.sbb-sr.sbb-sr__grid--vertical .sbb-sr-navigation-wrapper{padding-block-end:initial;padding-inline-start:calc(16 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr.sbb-sr__grid--vertical .sbb-sr__component{grid-column:1/3;grid-row:1/4}.sbb-sr.sbb-sr__grid--vertical .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%}.sbb-sr.sbb-sr__grid--vertical .sbb-sr-grid-inner .nav-grid{grid-column:2/3;grid-row:2/3;height:100%}.sbb-sr.sbb-sr__grid--vertical .sbb-sr-grid-inner .nav-grid .sbb-sr-navigation{display:block;overflow:hidden scroll;height:100%}.sbb-sr.sbb-sr__grid--vertical .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))}.sbb-sr.sbb-sr__grid--vertical .sbb-sr-grid-inner .coaches-grid{grid-column:1/2;grid-row:1/4;overflow:hidden;position:relative}.sbb-sr.sbb-sr__grid--vertical .sbb-sr-grid-inner .coaches-grid .sbb-sr__wrapper-coach-decks{flex-direction:column}.sbb-sr.sbb-sr__grid--vertical .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}.sbb-sr.sbb-sr__grid--vertical .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}.sbb-sr.sbb-sr__grid--vertical .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: var(--sbb-color-black-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);--sbb-scrollbar-track-color: transparent;--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x)}.sbb-sr.sbb-sr__grid--vertical .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)}.sbb-sr.sbb-sr__grid--vertical .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)}.sbb-sr.sbb-sr__grid--vertical .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}.sbb-sr.sbb-sr__grid--vertical .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)))}.sbb-sr.sbb-sr__grid--vertical .sbb-sr-grid-inner .coaches-grid .sbb-sr__wrapper-coach-decks .sbb-sr__wrapper::-webkit-scrollbar-button,.sbb-sr.sbb-sr__grid--vertical .sbb-sr-grid-inner .coaches-grid .sbb-sr__wrapper-coach-decks .sbb-sr__wrapper::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-sr.sbb-sr__grid--vertical .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)}}.sbb-sr.sbb-sr__grid--vertical .sbb-sr-grid-inner .coaches-grid .sbb-sr__wrapper-coach-decks .sbb-sr__wrapper{overflow:hidden scroll;height:100%;padding:0}.sbb-sr.sbb-sr__grid--vertical .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))}`;
18
- let K = (() => {
19
- var d;
20
- let $ = [E("sbb-seat-reservation")], w, f = [], c, k = P;
21
- return d = class extends k {
17
+ const T = S`*,:before,:after{box-sizing:border-box}: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-color-white)}@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}.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;grid-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: var(--sbb-color-black-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);--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{--sbb-scrollbar-color: var(--sbb-color-white-alpha-0);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: var(--sbb-color-black-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);--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{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%}: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: var(--sbb-color-black-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);--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))}`;
18
+ let q = (() => {
19
+ var h;
20
+ let C = [R("sbb-seat-reservation")], w, f = [], d, k = E;
21
+ return h = class extends k {
22
22
  constructor() {
23
23
  super(...arguments), this._language = new y(this), this._notAreaElements = [
24
24
  "DRIVER_AREA",
@@ -39,23 +39,18 @@ let K = (() => {
39
39
  });
40
40
  }
41
41
  render() {
42
- return R || this._determineBaseFontSize(), this._initVehicleSeatReservationConstruction(), this._coachesHtmlTemplate || null;
43
- }
44
- _determineBaseFontSize() {
45
- const e = 1 / parseInt(window.getComputedStyle(document.body).fontSize, 10);
46
- this.style?.setProperty("--sbb-seat-reservation-one-px-rem", `${e + "rem"}`);
42
+ return this._initVehicleSeatReservationConstruction(), this._coachesHtmlTemplate || null;
47
43
  }
48
44
  _initVehicleSeatReservationConstruction() {
49
- const r = this.alignVertical ? "sbb-sr__grid--vertical" : "";
50
- this._coachesHtmlTemplate = b`
45
+ this._coachesHtmlTemplate = n`
51
46
  <div class="sbb-sr__container">
52
- <div class="sbb-sr sbb-sr__grid ${r}">
47
+ <div class="sbb-sr sbb-sr__grid">
53
48
  <div class="sbb-sr-navigation-first-grid">
54
49
  ${this._renderNavigationControlButton("DIRECTION_LEFT")}
55
50
  </div>
56
51
  <div
57
52
  class="sbb-sr__component"
58
- @keydown=${(e) => this.handleKeyboardEvent(e)}
53
+ @keydown=${(r) => this.handleKeyboardEvent(r)}
59
54
  >
60
55
  <div class="sbb-sr-grid-inner">
61
56
  <div class="nav-grid">${this._renderNavigation()}</div>
@@ -70,9 +65,9 @@ let K = (() => {
70
65
  "sbb-sr__list-decks--gap": this.hasMultipleDecks
71
66
  })}"
72
67
  >
73
- ${this.seatReservations?.map((e, t) => b`<li class="sbb-sr__list-item-deck">
68
+ ${this.seatReservations?.map((r, e) => n`<li class="sbb-sr__list-item-deck">
74
69
  <ul class="sbb-sr__list-coaches" role="presentation">
75
- ${this._renderCoaches(e, t)}
70
+ ${this._renderCoaches(r, e)}
76
71
  </ul>
77
72
  </li>`)}
78
73
  </ul>
@@ -91,38 +86,38 @@ let K = (() => {
91
86
  }
92
87
  _renderDeckLabels() {
93
88
  return this.hasMultipleDecks ? this.seatReservations.map((r) => {
94
- const e = n(r.deckCoachLevel, this._language.current);
95
- return b`<b aria-hidden="true">${e}</b>`;
89
+ const e = b(r.deckCoachLevel, this._language.current);
90
+ return n`<b aria-hidden="true">${e}</b>`;
96
91
  }) : null;
97
92
  }
98
93
  _renderNavigationControlButton(r) {
99
94
  if (!this.hasNavigation || !this.seatReservations)
100
95
  return null;
101
- const e = r == "DIRECTION_RIGHT" ? "last-tab-element" : "first-tab-element", t = r == "DIRECTION_RIGHT" ? "arrow-right-small" : "arrow-left-small", s = r == "DIRECTION_RIGHT" ? n("SEAT_RESERVATION_END", this._language.current) : n("SEAT_RESERVATION_BEGIN", this._language.current);
102
- let a = !0;
103
- return (r == "DIRECTION_LEFT" && this.selectedCoachIndex > 0 || r == "DIRECTION_RIGHT" && this.selectedCoachIndex < this.seatReservations[this.currSelectedDeckIndex].coachItems.length - 1) && (a = !1), b`<sbb-secondary-button
96
+ const e = r == "DIRECTION_RIGHT" ? "last-tab-element" : "first-tab-element", a = r == "DIRECTION_RIGHT" ? "arrow-right-small" : "arrow-left-small", s = r == "DIRECTION_RIGHT" ? b("SEAT_RESERVATION_END", this._language.current) : b("SEAT_RESERVATION_BEGIN", this._language.current);
97
+ let t = !0;
98
+ return (r == "DIRECTION_LEFT" && this.selectedCoachIndex > 0 || r == "DIRECTION_RIGHT" && this.selectedCoachIndex < this.seatReservations[this.currSelectedDeckIndex].coachItems.length - 1) && (t = !1), n`<sbb-secondary-button
104
99
  @click="${() => this.navigateByDirectionBtn(r)}"
105
100
  id="${e}"
106
101
  class="sbb-sr__navigation-control-button"
107
102
  size="s"
108
- icon-name="${t}"
103
+ icon-name="${a}"
109
104
  type="button"
110
105
  aria-label="${s}"
111
106
  role="contentinfo"
112
- .disabledInteractive="${a || v}"
107
+ .disabledInteractive="${t || g}"
113
108
  ></sbb-secondary-button>`;
114
109
  }
115
110
  _renderNavigation() {
116
- return !this.hasNavigation || !this.seatReservations ? null : b`<div class="sbb-sr-navigation-wrapper">
111
+ return !this.hasNavigation || !this.seatReservations ? null : n`<div class="sbb-sr-navigation-wrapper">
117
112
  <nav id="sbb-sr-navigation" class="sbb-sr-navigation">
118
113
  <ul
119
114
  id="sbb-sr__navigation-list-coaches"
120
115
  class="sbb-sr-navigation__list-coaches"
121
- aria-label="${n("SEAT_RESERVATION_NAVIGATION", this._language.current)}"
116
+ aria-label="${b("SEAT_RESERVATION_NAVIGATION", this._language.current)}"
122
117
  >
123
118
  ${this.seatReservations[this.currSelectedDeckIndex]?.coachItems.map((r, e) => {
124
- const t = this.getAvailableFreePlacesNumFromCoach(e);
125
- return b`<li>
119
+ const a = this.getAvailableFreePlacesNumFromCoach(e);
120
+ return n`<li>
126
121
  <sbb-seat-reservation-navigation-coach
127
122
  @selectcoach=${(s) => this._onSelectNavCoach(s)}
128
123
  @focuscoach=${() => this._onFocusNavCoach()}
@@ -131,7 +126,7 @@ let K = (() => {
131
126
  })}"
132
127
  index="${e}"
133
128
  coach-id="${r.id}"
134
- .freePlacesByType="${t}"
129
+ .freePlacesByType="${a}"
135
130
  .selected=${this.selectedCoachIndex === e}
136
131
  .focused=${this.focusedCoachIndex === e}
137
132
  .propertyIds="${r.propertyIds}"
@@ -154,24 +149,24 @@ let K = (() => {
154
149
  * @returns
155
150
  */
156
151
  _renderCoaches(r, e) {
157
- const t = JSON.parse(JSON.stringify(r?.coachItems));
158
- return t ? t.map((s, a) => b`
152
+ const a = JSON.parse(JSON.stringify(r?.coachItems));
153
+ return a ? a.map((s, t) => n`
159
154
  <li class="sbb-sr__item-coach">
160
- ${this._renderCoachElement(s, a, e)}
155
+ ${this._renderCoachElement(s, t, e)}
161
156
  </li>
162
157
  `) : null;
163
158
  }
164
- _renderCoachElement(r, e, t) {
165
- const s = this.getCalculatedDimension(r.dimension), a = this._getDescriptionTableCoach(r, e);
166
- return b`<sbb-seat-reservation-scoped
167
- style=${g({
159
+ _renderCoachElement(r, e, a) {
160
+ const s = this.getCalculatedDimension(r.dimension), t = this._getDescriptionTableCoach(r, e);
161
+ return n`<sbb-seat-reservation-scoped
162
+ style=${v({
168
163
  "--sbb-seat-reservation-scoped-width": s.w,
169
164
  "--sbb-seat-reservation-scoped-height": s.h
170
165
  })}
171
166
  >
172
167
  ${this._getRenderedCoachBorders(r)}
173
- ${this._getRenderedGraphicalElements(r.graphicElements || [], r.dimension, e, t)}
174
- ${this._getRenderedServiceElements(e, t, r.serviceElements)}
168
+ ${this._getRenderedGraphicalElements(r.graphicElements || [], r.dimension, e, a)}
169
+ ${this._getRenderedServiceElements(e, a, r.serviceElements)}
175
170
 
176
171
  <table
177
172
  @focus=${() => this.onFocusTableCoachAndPreselectPlace(e)}
@@ -180,9 +175,9 @@ let K = (() => {
180
175
  aria-describedby="sbb-sr-coach-caption-${e}"
181
176
  >
182
177
  <caption id="sbb-sr-coach-caption-${e}" tabindex="-1">
183
- <sbb-screen-reader-only>${a}</sbb-screen-reader-only>
178
+ <sbb-screen-reader-only>${t}</sbb-screen-reader-only>
184
179
  </caption>
185
- ${this._getRenderedRowPlaces(r, e, t)}
180
+ ${this._getRenderedRowPlaces(r, e, a)}
186
181
  </table>
187
182
  </sbb-seat-reservation-scoped>`;
188
183
  }
@@ -191,14 +186,14 @@ let K = (() => {
191
186
  * depending on whether the coach is with a driver area or without.
192
187
  */
193
188
  _getRenderedCoachBorders(r) {
194
- const s = r.graphicElements?.find((l) => l.icon === "DRIVER_AREA"), a = s ? r.dimension.w - s.dimension.w - 1 : r.dimension.w - 2, o = (r.dimension.h + this.coachBorderOffset * 2) * this.baseGridSize, i = s && s.position.x === 0 ? s?.dimension.w * this.baseGridSize : this.baseGridSize;
195
- return b`
189
+ const s = r.graphicElements?.find((l) => l.icon === "DRIVER_AREA"), t = s ? r.dimension.w - s.dimension.w - 1 : r.dimension.w - 2, i = (r.dimension.h + this.coachBorderOffset * 2) * this.baseGridSize, o = s && s.position.x === 0 ? s?.dimension.w * this.baseGridSize : this.baseGridSize;
190
+ return n`
196
191
  <sbb-seat-reservation-graphic
197
- style=${g({
198
- "--sbb-seat-reservation-graphic-width": a * this.baseGridSize,
199
- "--sbb-seat-reservation-graphic-height": o,
192
+ style=${v({
193
+ "--sbb-seat-reservation-graphic-width": t * this.baseGridSize,
194
+ "--sbb-seat-reservation-graphic-height": i,
200
195
  "--sbb-seat-reservation-graphic-top": this.coachBorderPadding * -1,
201
- "--sbb-seat-reservation-graphic-left": i,
196
+ "--sbb-seat-reservation-graphic-left": o,
202
197
  "--sbb-seat-reservation-graphic-position": "absolute"
203
198
  })}
204
199
  name="COACH_BORDER_MIDDLE"
@@ -207,47 +202,45 @@ let K = (() => {
207
202
  ></sbb-seat-reservation-graphic>
208
203
  `;
209
204
  }
210
- _getRenderedRowPlaces(r, e, t) {
205
+ _getRenderedRowPlaces(r, e, a) {
211
206
  if (!r.places)
212
207
  return null;
213
208
  const s = {};
214
- for (const a of r.places)
215
- s[a.position.y] ? s[a.position.y].push(a) : s[a.position.y] = [a];
216
- return Object.values(s).map((a, o) => b`
217
- <tr id="row-${e}-${a[0].position.y}" data-row-index=${o}>
218
- ${this._getRenderedColumnPlaces(a, e, t)}
209
+ for (const t of r.places)
210
+ s[t.position.y] ? s[t.position.y].push(t) : s[t.position.y] = [t];
211
+ return Object.values(s).map((t, i) => n`
212
+ <tr id="row-${e}-${t[0].position.y}" data-row-index=${i}>
213
+ ${this._getRenderedColumnPlaces(t, e, a)}
219
214
  </tr>
220
- `).flatMap((a) => a);
215
+ `).flatMap((t) => t);
221
216
  }
222
- _getRenderedColumnPlaces(r, e, t) {
223
- return r.sort((s, a) => Number(s.position.x) - Number(a.position.x)), r?.map((s, a) => {
224
- const o = this.getCalculatedDimension(s.dimension), i = this.getCalculatedPosition(s.position), l = this.alignVertical ? -90 : 0;
225
- return b`
217
+ _getRenderedColumnPlaces(r, e, a) {
218
+ return r.sort((s, t) => Number(s.position.x) - Number(t.position.x)), r?.map((s, t) => {
219
+ const i = this.getCalculatedDimension(s.dimension), o = this.getCalculatedPosition(s.position), l = s.rotation || 0, p = this.alignVertical ? -90 : 0;
220
+ return n`
226
221
  <td
227
- id="cell-${t}-${e}-${s.position.y}-${a}"
222
+ id="cell-${a}-${e}-${s.position.y}-${t}"
228
223
  class="graphical-element"
229
224
  >
230
225
  <sbb-seat-reservation-place-control
231
- style=${g({
232
- "--sbb-seat-reservation-place-control-width": o.w,
233
- "--sbb-seat-reservation-place-control-height": o.h,
234
- "--sbb-seat-reservation-place-control-top": i.y,
235
- "--sbb-seat-reservation-place-control-left": i.x
226
+ style=${v({
227
+ "--sbb-seat-reservation-place-control-text-scale-value": Math.min(i.w, i.h),
228
+ "--sbb-seat-reservation-place-control-width": i.w,
229
+ "--sbb-seat-reservation-place-control-height": i.h,
230
+ "--sbb-seat-reservation-place-control-top": o.y,
231
+ "--sbb-seat-reservation-place-control-left": o.x,
232
+ "--sbb-seat-reservation-place-control-rotation": l,
233
+ "--sbb-seat-reservation-place-control-text-rotation": p
236
234
  })}
237
- @selectplace=${(h) => this._onSelectPlace(h)}
235
+ @selectplace=${(c) => this._onSelectPlace(c)}
238
236
  exportparts="sbb-sr-place-part"
239
- id="seat-reservation__place-button-${t}-${e}-${s.number}"
237
+ id="seat-reservation__place-button-${a}-${e}-${s.number}"
240
238
  class="seat-reservation-place-control"
241
- data-cell-id="${e}-${s.position.y}-${a}"
242
239
  text=${s.number}
243
240
  type=${s.type}
244
241
  state=${s.state}
245
- width=${s.dimension.w * this.baseGridSize}
246
- height=${s.dimension.h * this.baseGridSize}
247
- rotation=${s.rotation ?? v}
248
- text-rotation=${l}
249
242
  coach-index=${e}
250
- deck-index=${t}
243
+ deck-index=${a}
251
244
  .propertyIds=${s.propertyIds}
252
245
  .preventClick=${this.preventPlaceClick}
253
246
  ></sbb-seat-reservation-place-control>
@@ -255,10 +248,10 @@ let K = (() => {
255
248
  `;
256
249
  });
257
250
  }
258
- _getRenderedGraphicalElements(r, e, t, s) {
259
- return r ? r?.map((a) => {
260
- const o = a.icon ?? "", i = a.rotation || 0, l = this._notFixedRotatableAreaIcons.indexOf(a.icon) === -1, h = this.alignVertical && l ? i - 90 : i;
261
- return this._notAreaElements.findIndex((p) => p === o) > -1 ? this._getRenderElementWithoutArea(a, i, e) : this._getRenderElementWithArea(a, h, e, t, s);
251
+ _getRenderedGraphicalElements(r, e, a, s) {
252
+ return r ? r?.map((t) => {
253
+ const i = t.icon ?? "", o = t.rotation || 0, l = this._notFixedRotatableAreaIcons.indexOf(t.icon) === -1, p = this.alignVertical && l ? o - 90 : o;
254
+ return this._notAreaElements.findIndex((c) => c === i) > -1 ? this._getRenderElementWithoutArea(t, o, e) : this._getRenderElementWithArea(t, p, e, a, s);
262
255
  }) : null;
263
256
  }
264
257
  /**
@@ -269,16 +262,16 @@ let K = (() => {
269
262
  * @param coachIndex used to generate a unique id for the popover trigger
270
263
  * @private
271
264
  */
272
- _getRenderElementWithArea(r, e, t, s, a) {
273
- const o = r.icon?.indexOf("TABLE") === -1, i = r.icon && o ? r.icon : null, l = i !== "ENTRY_EXIT", h = r.icon ? n(r.icon, this._language.current) : v, p = this.getCalculatedDimension(r.dimension, t, !0, l), _ = this.getCalculatedPosition(r.position, r.dimension, t, !0), x = `popover-trigger-${a}-${s}-${_.x}-${_.y}`;
265
+ _getRenderElementWithArea(r, e, a, s, t) {
266
+ const i = r.icon?.indexOf("TABLE") === -1, o = r.icon && i ? r.icon : null, l = o !== "ENTRY_EXIT", p = r.icon ? b(r.icon, this._language.current) : g, c = this.getCalculatedDimension(r.dimension, a, !0, l), _ = this.getCalculatedPosition(r.position, r.dimension, a, !0), x = `popover-trigger-${t}-${s}-${_.x}-${_.y}`;
274
267
  let u = "free";
275
- return r.position.y === this.coachBorderOffset * -1 ? u = "upper-border" : r.position.y + r.dimension.h === t.h + this.coachBorderOffset && (u = "lower-border"), b`
268
+ return r.position.y === this.coachBorderOffset * -1 ? u = "upper-border" : r.position.y + r.dimension.h === a.h + this.coachBorderOffset && (u = "lower-border"), n`
276
269
  <sbb-seat-reservation-area
277
270
  id="${x}"
278
- class="${m({ "sbb-seat-reservation-area--cursor-pointer": i !== null })}"
279
- style=${g({
280
- "--sbb-seat-reservation-area-width": p.w,
281
- "--sbb-seat-reservation-area-height": p.h,
271
+ class="${m({ "sbb-seat-reservation-area--cursor-pointer": o !== null })}"
272
+ style=${v({
273
+ "--sbb-seat-reservation-area-width": c.w,
274
+ "--sbb-seat-reservation-area-height": c.h,
282
275
  "--sbb-seat-reservation-area-top": _.y,
283
276
  "--sbb-seat-reservation-area-left": _.x
284
277
  })}
@@ -286,56 +279,58 @@ let K = (() => {
286
279
  background="dark"
287
280
  aria-hidden="true"
288
281
  >
289
- ${i ? b`
282
+ ${o ? n`
290
283
  <sbb-seat-reservation-graphic
291
- name=${i}
292
- width=${this.baseGridSize}
293
- height=${this.baseGridSize}
294
- rotation=${e}
284
+ style=${v({
285
+ "--sbb-seat-reservation-graphic-width": this.baseGridSize,
286
+ "--sbb-seat-reservation-graphic-height": this.baseGridSize,
287
+ "--sbb-seat-reservation-graphic-rotation": e
288
+ })}
289
+ name=${o}
295
290
  role="img"
296
291
  aria-hidden="true"
297
292
  ></sbb-seat-reservation-graphic>
298
- ` : v}
293
+ ` : g}
299
294
  </sbb-seat-reservation-area>
300
- ${i ? this._popover(x, h) : v}
295
+ ${o ? this._popover(x, p) : g}
301
296
  `;
302
297
  }
303
- _getRenderElementWithoutArea(r, e, t) {
304
- const s = this.getCalculatedDimension(r.dimension, t), a = this.getCalculatedPosition(r.position, r.dimension, t), o = r.icon && r.icon.indexOf("DRIVER_AREA") === -1 ? r.icon : r.icon?.concat("_", this.seatReservations[this.currSelectedDeckIndex].vehicleType);
305
- return b` <sbb-seat-reservation-graphic
306
- style=${g({
298
+ _getRenderElementWithoutArea(r, e, a) {
299
+ const s = this.getCalculatedDimension(r.dimension, a), t = this.getCalculatedPosition(r.position, r.dimension, a), i = r.icon && r.icon.indexOf("DRIVER_AREA") === -1 ? r.icon : r.icon?.concat("_", this.seatReservations[this.currSelectedDeckIndex].vehicleType);
300
+ return n` <sbb-seat-reservation-graphic
301
+ style=${v({
307
302
  "--sbb-seat-reservation-graphic-width": s.w,
308
303
  "--sbb-seat-reservation-graphic-height": s.h,
309
- "--sbb-seat-reservation-graphic-top": a.y,
310
- "--sbb-seat-reservation-graphic-left": a.x,
311
- "--sbb-seat-reservation-graphic-position": "absolute"
304
+ "--sbb-seat-reservation-graphic-top": t.y,
305
+ "--sbb-seat-reservation-graphic-left": t.x,
306
+ "--sbb-seat-reservation-graphic-position": "absolute",
307
+ "--sbb-seat-reservation-graphic-rotation": e
312
308
  })}
313
- name=${o ?? v}
314
- rotation=${e}
309
+ name=${i ?? g}
315
310
  aria-hidden="true"
316
311
  ?stretch=${!0}
317
312
  ></sbb-seat-reservation-graphic>`;
318
313
  }
319
- _getRenderedServiceElements(r, e, t) {
320
- return t ? t?.map((s) => {
321
- const a = s.icon ? n(s.icon, this._language.current) : null, o = this.getCalculatedDimension(s.dimension), i = this.getCalculatedPosition(s.position), l = s.rotation || 0, h = this.alignVertical ? l - 90 : l, p = `popover-trigger-${e}-${r}-${i.x}-${i.y}`;
322
- return b`
314
+ _getRenderedServiceElements(r, e, a) {
315
+ return a ? a?.map((s) => {
316
+ const t = s.icon ? b(s.icon, this._language.current) : null, i = this.getCalculatedDimension(s.dimension), o = this.getCalculatedPosition(s.position), l = s.rotation || 0, p = this.alignVertical ? l - 90 : l, c = `popover-trigger-${e}-${r}-${o.x}-${o.y}`;
317
+ return n`
323
318
  <sbb-seat-reservation-graphic
324
- id="${p}"
325
- style=${g({
326
- "--sbb-seat-reservation-graphic-width": o.w,
327
- "--sbb-seat-reservation-graphic-height": o.h,
328
- "--sbb-seat-reservation-graphic-top": i.y,
329
- "--sbb-seat-reservation-graphic-left": i.x,
330
- "--sbb-seat-reservation-graphic-position": "absolute"
319
+ id="${c}"
320
+ style=${v({
321
+ "--sbb-seat-reservation-graphic-width": i.w,
322
+ "--sbb-seat-reservation-graphic-height": i.h,
323
+ "--sbb-seat-reservation-graphic-top": o.y,
324
+ "--sbb-seat-reservation-graphic-left": o.x,
325
+ "--sbb-seat-reservation-graphic-position": "absolute",
326
+ "--sbb-seat-reservation-graphic-rotation": p
331
327
  })}
332
328
  class="sbb-seat-reservation-graphic--cursor-pointer"
333
- name=${s.icon ?? v}
334
- .rotation=${h}
329
+ name=${s.icon ?? g}
335
330
  role="img"
336
331
  aria-hidden="true"
337
332
  ></sbb-seat-reservation-graphic>
338
- ${this._popover(p, a)}
333
+ ${this._popover(c, t)}
339
334
  `;
340
335
  }) : null;
341
336
  }
@@ -362,7 +357,7 @@ let K = (() => {
362
357
  * @private
363
358
  */
364
359
  _popover(r, e) {
365
- return b`
360
+ return n`
366
361
  <sbb-popover trigger="${r}">
367
362
  <p class="sbb-text-s sbb-sr-popover">${e}</p>
368
363
  </sbb-popover>
@@ -377,34 +372,34 @@ let K = (() => {
377
372
  }
378
373
  _getDescriptionTableCoach(r, e) {
379
374
  if (!r.places?.length)
380
- return n("COACH_BLOCKED_TABLE_CAPTION", this._language.current, [
375
+ return b("COACH_BLOCKED_TABLE_CAPTION", this._language.current, [
381
376
  r.id
382
377
  ]);
383
- let t;
384
- const s = this._getTitleDescriptionListString(r.graphicElements), a = this._getTitleDescriptionListString(r.serviceElements);
385
- if (t = n("COACH_TABLE_CAPTION", this._language.current, [
378
+ let a;
379
+ const s = this._getTitleDescriptionListString(r.graphicElements), t = this._getTitleDescriptionListString(r.serviceElements);
380
+ if (a = b("COACH_TABLE_CAPTION", this._language.current, [
386
381
  r.id
387
382
  ]), !this.hasNavigation) {
388
- const o = this.getAvailableFreePlacesNumFromCoach(e), i = n("COACH_AVAILABLE_NUMBER_OF_PLACES", this._language.current, [o.seats, o.bicycles]);
389
- t = t.concat(". ").concat(i).concat(". ");
383
+ const i = this.getAvailableFreePlacesNumFromCoach(e), o = b("COACH_AVAILABLE_NUMBER_OF_PLACES", this._language.current, [i.seats, i.bicycles]);
384
+ a = a.concat(". ").concat(o).concat(". ");
390
385
  }
391
- return (s || a) && (t += ". " + n("COACH_AVAILABLE_SERVICES", this._language.current) + ": ", t += a + ", " + s + "."), t;
386
+ return (s || t) && (a += ". " + b("COACH_AVAILABLE_SERVICES", this._language.current) + ": ", a += t + ", " + s + "."), a;
392
387
  }
393
388
  _getTitleDescriptionListString(r) {
394
389
  const e = [];
395
- return r?.map((t) => {
396
- const s = t.icon;
390
+ return r?.map((a) => {
391
+ const s = a.icon;
397
392
  if (!s)
398
393
  return null;
399
- const a = e.indexOf(s) > -1, o = n(t.icon, this._language.current), i = this._notFixedRotatableAreaIcons.indexOf(s) === -1 && this._notAreaElements.indexOf(s) === -1;
400
- return a || e.push(t.icon), o && !a && i ? o : null;
401
- }).filter((t) => !!t).join(", ");
394
+ const t = e.indexOf(s) > -1, i = b(a.icon, this._language.current), o = this._notFixedRotatableAreaIcons.indexOf(s) === -1 && this._notAreaElements.indexOf(s) === -1;
395
+ return t || e.push(a.icon), i && !t && o ? i : null;
396
+ }).filter((a) => !!a).join(", ");
402
397
  }
403
- }, c = d, (() => {
398
+ }, d = h, (() => {
404
399
  const r = typeof Symbol == "function" && Symbol.metadata ? Object.create(k[Symbol.metadata] ?? null) : void 0;
405
- C(null, w = { value: c }, $, { kind: "class", name: c.name, metadata: r }, null, f), c = w.value, r && Object.defineProperty(c, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: r });
406
- })(), d.styles = T, S(c, f), c;
400
+ $(null, w = { value: d }, C, { kind: "class", name: d.name, metadata: r }, null, f), d = w.value, r && Object.defineProperty(d, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: r });
401
+ })(), h.styles = T, A(d, f), d;
407
402
  })();
408
403
  export {
409
- K as SbbSeatReservationElement
404
+ q as SbbSeatReservationElement
410
405
  };
@@ -226,14 +226,14 @@ const E = (A) => d`
226
226
  <td>DRIVER_AREA</td>
227
227
  </tr>
228
228
  <tr>
229
- <td>${t("DRIVER_AREA_FULL_TRAIN")}</td>
229
+ <td>${t("DRIVER_AREA_TRAIN")}</td>
230
230
  <td>Driver: Train</td>
231
- <td>DRIVER_AREA_FULL_TRAIN</td>
231
+ <td>DRIVER_AREA_TRAIN</td>
232
232
  </tr>
233
233
  <tr>
234
- <td>${t("DRIVER_AREA_FULL_BUS")}</td>
234
+ <td>${t("DRIVER_AREA_BUS")}</td>
235
235
  <td>Driver: Bus</td>
236
- <td>DRIVER_AREA_FULL_BUS</td>
236
+ <td>DRIVER_AREA_BUS</td>
237
237
  </tr>
238
238
  <tr>
239
239
  <td>${t("COMPARTMENT_PASSAGE_HIGH")}</td>
@@ -286,7 +286,7 @@ const E = (A) => d`
286
286
  </tbody>
287
287
  </table>
288
288
  </sbb-table-wrapper>
289
- `, L = d`
289
+ `, c = d`
290
290
  <style>
291
291
  .story-asset {
292
292
  width: max-content;
@@ -304,6 +304,6 @@ const E = (A) => d`
304
304
  ${o}
305
305
  `;
306
306
  export {
307
- L as assetsTemplate,
307
+ c as assetsTemplate,
308
308
  t as svgImageByOSDMCode
309
309
  };
@@ -1,4 +1,4 @@
1
- import { CSSResultGroup, PropertyValues, TemplateResult, LitElement } from 'lit';
1
+ import { CSSResultGroup, TemplateResult, LitElement } from 'lit';
2
2
  /**
3
3
  * Output one of the SVG graphics based on its code.
4
4
  */
@@ -8,16 +8,7 @@ export declare class SbbSeatReservationGraphicElement extends LitElement {
8
8
  accessor name: string;
9
9
  /** if true, scale the graphic content of the given element non-uniformly if necessary */
10
10
  accessor stretch: boolean;
11
- /** handles the rotation of the SVG graphic */
12
- accessor rotation: number;
13
- /** Inverse rotation for part of an SVG that can be rotated opposite to the normal rotation */
14
- accessor inverseRotation: number;
15
- /** width of the svg in pixels (without unit) */
16
- accessor width: number;
17
- /** height of the svg in pixels (without unit) */
18
- accessor height: number;
19
11
  private _language;
20
- protected willUpdate(_changedProperties: PropertyValues): void;
21
12
  protected render(): TemplateResult | null;
22
13
  private _getSvgElement;
23
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"seat-reservation-graphic.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACpF,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAQvC,OAAO,iCAAiC,CAAC;AAEzC;;GAEG;AACH,qBAEM,gCAAiC,SAAQ,UAAU;IACvD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,+CAA+C;IAC/C,SAEgB,IAAI,EAAE,MAAM,CAAM;IAElC,yFAAyF;IACzF,SAEgB,OAAO,EAAE,OAAO,CAAS;IAEzC,8CAA8C;IAC9C,SAEgB,QAAQ,EAAE,MAAM,CAAK;IAErC,8FAA8F;IAC9F,SAEgB,eAAe,EAAE,MAAM,CAAK;IAE5C,gDAAgD;IAChD,SAEgB,KAAK,EAAE,MAAM,CAAS;IAEtC,iDAAiD;IACjD,SAEgB,MAAM,EAAE,MAAM,CAAS;IAEvC,OAAO,CAAC,SAAS,CAAmC;cAEjC,UAAU,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;cAsBpD,MAAM,IAAI,cAAc,GAAG,IAAI;IAuBlD,OAAO,CAAC,cAAc;CASvB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,8BAA8B,EAAE,gCAAgC,CAAC;KAClE;CACF"}
1
+ {"version":3,"file":"seat-reservation-graphic.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAC/D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAQvC,OAAO,iCAAiC,CAAC;AAEzC;;GAEG;AACH,qBAEM,gCAAiC,SAAQ,UAAU;IACvD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,+CAA+C;IAC/C,SAEgB,IAAI,EAAE,MAAM,CAAM;IAElC,yFAAyF;IACzF,SAEgB,OAAO,EAAE,OAAO,CAAS;IAEzC,OAAO,CAAC,SAAS,CAAmC;cAEjC,MAAM,IAAI,cAAc,GAAG,IAAI;IAuBlD,OAAO,CAAC,cAAc;CASvB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,8BAA8B,EAAE,gCAAgC,CAAC;KAClE;CACF"}