@sbb-esta/lyne-elements-experimental 3.4.0 → 3.6.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 (42) hide show
  1. package/custom-elements.json +105 -173
  2. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts.map +1 -1
  3. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +8 -4
  4. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +18 -0
  5. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
  6. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +57 -25
  7. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts +0 -1
  8. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
  9. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +46 -50
  10. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +5 -5
  11. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts +1 -10
  12. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts.map +1 -1
  13. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +4 -83
  14. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -1
  15. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +16 -17
  16. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +1 -1
  17. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +11 -14
  18. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +0 -8
  19. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -1
  20. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +30 -100
  21. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +2 -4
  22. package/package.json +2 -2
  23. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts.map +1 -1
  24. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +30 -26
  25. package/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +18 -0
  26. package/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
  27. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +70 -46
  28. package/seat-reservation/seat-reservation/seat-reservation.component.d.ts +0 -1
  29. package/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
  30. package/seat-reservation/seat-reservation/seat-reservation.component.js +134 -135
  31. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +6 -6
  32. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts +1 -10
  33. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts.map +1 -1
  34. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +47 -90
  35. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -1
  36. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +75 -76
  37. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +1 -1
  38. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +32 -35
  39. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +0 -8
  40. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -1
  41. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +92 -129
  42. 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,30 +39,29 @@ 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>
62
57
  <div class="coaches-grid">
63
58
  <div class="sbb-sr__wrapper-coach-decks">
64
59
  <div class="sbb-sr__wrapper-deck-labels">${this._renderDeckLabels()}</div>
65
- <div id="sbb-sr__wrapper-scrollarea" class="sbb-sr__wrapper">
60
+ <div
61
+ id="sbb-sr__wrapper-scrollarea"
62
+ class="sbb-sr__wrapper"
63
+ @scroll=${() => this.coachAreaScrollend()}
64
+ >
66
65
  <div id="sbb-sr__parent-area" class="sbb-sr__parent" tabindex="-1">
67
66
  <ul
68
67
  class="${m({
@@ -70,9 +69,9 @@ let K = (() => {
70
69
  "sbb-sr__list-decks--gap": this.hasMultipleDecks
71
70
  })}"
72
71
  >
73
- ${this.seatReservations?.map((e, t) => b`<li class="sbb-sr__list-item-deck">
72
+ ${this.seatReservations?.map((r, e) => n`<li class="sbb-sr__list-item-deck">
74
73
  <ul class="sbb-sr__list-coaches" role="presentation">
75
- ${this._renderCoaches(e, t)}
74
+ ${this._renderCoaches(r, e)}
76
75
  </ul>
77
76
  </li>`)}
78
77
  </ul>
@@ -91,38 +90,38 @@ let K = (() => {
91
90
  }
92
91
  _renderDeckLabels() {
93
92
  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>`;
93
+ const e = b(r.deckCoachLevel, this._language.current);
94
+ return n`<b aria-hidden="true">${e}</b>`;
96
95
  }) : null;
97
96
  }
98
97
  _renderNavigationControlButton(r) {
99
98
  if (!this.hasNavigation || !this.seatReservations)
100
99
  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
100
+ 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);
101
+ let t = !0;
102
+ 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
103
  @click="${() => this.navigateByDirectionBtn(r)}"
105
104
  id="${e}"
106
105
  class="sbb-sr__navigation-control-button"
107
106
  size="s"
108
- icon-name="${t}"
107
+ icon-name="${a}"
109
108
  type="button"
110
109
  aria-label="${s}"
111
110
  role="contentinfo"
112
- .disabledInteractive="${a || v}"
111
+ .disabledInteractive="${t || g}"
113
112
  ></sbb-secondary-button>`;
114
113
  }
115
114
  _renderNavigation() {
116
- return !this.hasNavigation || !this.seatReservations ? null : b`<div class="sbb-sr-navigation-wrapper">
115
+ return !this.hasNavigation || !this.seatReservations ? null : n`<div class="sbb-sr-navigation-wrapper">
117
116
  <nav id="sbb-sr-navigation" class="sbb-sr-navigation">
118
117
  <ul
119
118
  id="sbb-sr__navigation-list-coaches"
120
119
  class="sbb-sr-navigation__list-coaches"
121
- aria-label="${n("SEAT_RESERVATION_NAVIGATION", this._language.current)}"
120
+ aria-label="${b("SEAT_RESERVATION_NAVIGATION", this._language.current)}"
122
121
  >
123
122
  ${this.seatReservations[this.currSelectedDeckIndex]?.coachItems.map((r, e) => {
124
- const t = this.getAvailableFreePlacesNumFromCoach(e);
125
- return b`<li>
123
+ const a = this.getAvailableFreePlacesNumFromCoach(e);
124
+ return n`<li>
126
125
  <sbb-seat-reservation-navigation-coach
127
126
  @selectcoach=${(s) => this._onSelectNavCoach(s)}
128
127
  @focuscoach=${() => this._onFocusNavCoach()}
@@ -131,7 +130,7 @@ let K = (() => {
131
130
  })}"
132
131
  index="${e}"
133
132
  coach-id="${r.id}"
134
- .freePlacesByType="${t}"
133
+ .freePlacesByType="${a}"
135
134
  .selected=${this.selectedCoachIndex === e}
136
135
  .focused=${this.focusedCoachIndex === e}
137
136
  .propertyIds="${r.propertyIds}"
@@ -154,24 +153,24 @@ let K = (() => {
154
153
  * @returns
155
154
  */
156
155
  _renderCoaches(r, e) {
157
- const t = JSON.parse(JSON.stringify(r?.coachItems));
158
- return t ? t.map((s, a) => b`
156
+ const a = JSON.parse(JSON.stringify(r?.coachItems));
157
+ return a ? a.map((s, t) => n`
159
158
  <li class="sbb-sr__item-coach">
160
- ${this._renderCoachElement(s, a, e)}
159
+ ${this._renderCoachElement(s, t, e)}
161
160
  </li>
162
161
  `) : null;
163
162
  }
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({
163
+ _renderCoachElement(r, e, a) {
164
+ const s = this.getCalculatedDimension(r.dimension), t = this._getDescriptionTableCoach(r, e);
165
+ return n`<sbb-seat-reservation-scoped
166
+ style=${v({
168
167
  "--sbb-seat-reservation-scoped-width": s.w,
169
168
  "--sbb-seat-reservation-scoped-height": s.h
170
169
  })}
171
170
  >
172
171
  ${this._getRenderedCoachBorders(r)}
173
- ${this._getRenderedGraphicalElements(r.graphicElements || [], r.dimension, e, t)}
174
- ${this._getRenderedServiceElements(e, t, r.serviceElements)}
172
+ ${this._getRenderedGraphicalElements(r.graphicElements || [], r.dimension, e, a)}
173
+ ${this._getRenderedServiceElements(e, a, r.serviceElements)}
175
174
 
176
175
  <table
177
176
  @focus=${() => this.onFocusTableCoachAndPreselectPlace(e)}
@@ -180,9 +179,9 @@ let K = (() => {
180
179
  aria-describedby="sbb-sr-coach-caption-${e}"
181
180
  >
182
181
  <caption id="sbb-sr-coach-caption-${e}" tabindex="-1">
183
- <sbb-screen-reader-only>${a}</sbb-screen-reader-only>
182
+ <sbb-screen-reader-only>${t}</sbb-screen-reader-only>
184
183
  </caption>
185
- ${this._getRenderedRowPlaces(r, e, t)}
184
+ ${this._getRenderedRowPlaces(r, e, a)}
186
185
  </table>
187
186
  </sbb-seat-reservation-scoped>`;
188
187
  }
@@ -191,14 +190,14 @@ let K = (() => {
191
190
  * depending on whether the coach is with a driver area or without.
192
191
  */
193
192
  _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`
193
+ 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;
194
+ return n`
196
195
  <sbb-seat-reservation-graphic
197
- style=${g({
198
- "--sbb-seat-reservation-graphic-width": a * this.baseGridSize,
199
- "--sbb-seat-reservation-graphic-height": o,
196
+ style=${v({
197
+ "--sbb-seat-reservation-graphic-width": t * this.baseGridSize,
198
+ "--sbb-seat-reservation-graphic-height": i,
200
199
  "--sbb-seat-reservation-graphic-top": this.coachBorderPadding * -1,
201
- "--sbb-seat-reservation-graphic-left": i,
200
+ "--sbb-seat-reservation-graphic-left": o,
202
201
  "--sbb-seat-reservation-graphic-position": "absolute"
203
202
  })}
204
203
  name="COACH_BORDER_MIDDLE"
@@ -207,47 +206,45 @@ let K = (() => {
207
206
  ></sbb-seat-reservation-graphic>
208
207
  `;
209
208
  }
210
- _getRenderedRowPlaces(r, e, t) {
209
+ _getRenderedRowPlaces(r, e, a) {
211
210
  if (!r.places)
212
211
  return null;
213
212
  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)}
213
+ for (const t of r.places)
214
+ s[t.position.y] ? s[t.position.y].push(t) : s[t.position.y] = [t];
215
+ return Object.values(s).map((t, i) => n`
216
+ <tr id="row-${e}-${t[0].position.y}" data-row-index=${i}>
217
+ ${this._getRenderedColumnPlaces(t, e, a)}
219
218
  </tr>
220
- `).flatMap((a) => a);
219
+ `).flatMap((t) => t);
221
220
  }
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`
221
+ _getRenderedColumnPlaces(r, e, a) {
222
+ return r.sort((s, t) => Number(s.position.x) - Number(t.position.x)), r?.map((s, t) => {
223
+ const i = this.getCalculatedDimension(s.dimension), o = this.getCalculatedPosition(s.position), l = s.rotation || 0, p = this.alignVertical ? -90 : 0;
224
+ return n`
226
225
  <td
227
- id="cell-${t}-${e}-${s.position.y}-${a}"
226
+ id="cell-${a}-${e}-${s.position.y}-${t}"
228
227
  class="graphical-element"
229
228
  >
230
229
  <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
230
+ style=${v({
231
+ "--sbb-seat-reservation-place-control-text-scale-value": Math.min(i.w, i.h),
232
+ "--sbb-seat-reservation-place-control-width": i.w,
233
+ "--sbb-seat-reservation-place-control-height": i.h,
234
+ "--sbb-seat-reservation-place-control-top": o.y,
235
+ "--sbb-seat-reservation-place-control-left": o.x,
236
+ "--sbb-seat-reservation-place-control-rotation": l,
237
+ "--sbb-seat-reservation-place-control-text-rotation": p
236
238
  })}
237
- @selectplace=${(h) => this._onSelectPlace(h)}
239
+ @selectplace=${(c) => this._onSelectPlace(c)}
238
240
  exportparts="sbb-sr-place-part"
239
- id="seat-reservation__place-button-${t}-${e}-${s.number}"
241
+ id="seat-reservation__place-button-${a}-${e}-${s.number}"
240
242
  class="seat-reservation-place-control"
241
- data-cell-id="${e}-${s.position.y}-${a}"
242
243
  text=${s.number}
243
244
  type=${s.type}
244
245
  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
246
  coach-index=${e}
250
- deck-index=${t}
247
+ deck-index=${a}
251
248
  .propertyIds=${s.propertyIds}
252
249
  .preventClick=${this.preventPlaceClick}
253
250
  ></sbb-seat-reservation-place-control>
@@ -255,10 +252,10 @@ let K = (() => {
255
252
  `;
256
253
  });
257
254
  }
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);
255
+ _getRenderedGraphicalElements(r, e, a, s) {
256
+ return r ? r?.map((t) => {
257
+ const i = t.icon ?? "", o = t.rotation || 0, l = this._notFixedRotatableAreaIcons.indexOf(t.icon) === -1, p = this.alignVertical && l ? o - 90 : o;
258
+ return this._notAreaElements.findIndex((c) => c === i) > -1 ? this._getRenderElementWithoutArea(t, o, e) : this._getRenderElementWithArea(t, p, e, a, s);
262
259
  }) : null;
263
260
  }
264
261
  /**
@@ -269,16 +266,16 @@ let K = (() => {
269
266
  * @param coachIndex used to generate a unique id for the popover trigger
270
267
  * @private
271
268
  */
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}`;
269
+ _getRenderElementWithArea(r, e, a, s, t) {
270
+ 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
271
  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`
272
+ 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
273
  <sbb-seat-reservation-area
277
274
  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,
275
+ class="${m({ "sbb-seat-reservation-area--cursor-pointer": o !== null })}"
276
+ style=${v({
277
+ "--sbb-seat-reservation-area-width": c.w,
278
+ "--sbb-seat-reservation-area-height": c.h,
282
279
  "--sbb-seat-reservation-area-top": _.y,
283
280
  "--sbb-seat-reservation-area-left": _.x
284
281
  })}
@@ -286,56 +283,58 @@ let K = (() => {
286
283
  background="dark"
287
284
  aria-hidden="true"
288
285
  >
289
- ${i ? b`
286
+ ${o ? n`
290
287
  <sbb-seat-reservation-graphic
291
- name=${i}
292
- width=${this.baseGridSize}
293
- height=${this.baseGridSize}
294
- rotation=${e}
288
+ style=${v({
289
+ "--sbb-seat-reservation-graphic-width": this.baseGridSize,
290
+ "--sbb-seat-reservation-graphic-height": this.baseGridSize,
291
+ "--sbb-seat-reservation-graphic-rotation": e
292
+ })}
293
+ name=${o}
295
294
  role="img"
296
295
  aria-hidden="true"
297
296
  ></sbb-seat-reservation-graphic>
298
- ` : v}
297
+ ` : g}
299
298
  </sbb-seat-reservation-area>
300
- ${i ? this._popover(x, h) : v}
299
+ ${o ? this._popover(x, p) : g}
301
300
  `;
302
301
  }
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({
302
+ _getRenderElementWithoutArea(r, e, a) {
303
+ 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);
304
+ return n` <sbb-seat-reservation-graphic
305
+ style=${v({
307
306
  "--sbb-seat-reservation-graphic-width": s.w,
308
307
  "--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"
308
+ "--sbb-seat-reservation-graphic-top": t.y,
309
+ "--sbb-seat-reservation-graphic-left": t.x,
310
+ "--sbb-seat-reservation-graphic-position": "absolute",
311
+ "--sbb-seat-reservation-graphic-rotation": e
312
312
  })}
313
- name=${o ?? v}
314
- rotation=${e}
313
+ name=${i ?? g}
315
314
  aria-hidden="true"
316
315
  ?stretch=${!0}
317
316
  ></sbb-seat-reservation-graphic>`;
318
317
  }
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`
318
+ _getRenderedServiceElements(r, e, a) {
319
+ return a ? a?.map((s) => {
320
+ 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}`;
321
+ return n`
323
322
  <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"
323
+ id="${c}"
324
+ style=${v({
325
+ "--sbb-seat-reservation-graphic-width": i.w,
326
+ "--sbb-seat-reservation-graphic-height": i.h,
327
+ "--sbb-seat-reservation-graphic-top": o.y,
328
+ "--sbb-seat-reservation-graphic-left": o.x,
329
+ "--sbb-seat-reservation-graphic-position": "absolute",
330
+ "--sbb-seat-reservation-graphic-rotation": p
331
331
  })}
332
332
  class="sbb-seat-reservation-graphic--cursor-pointer"
333
- name=${s.icon ?? v}
334
- .rotation=${h}
333
+ name=${s.icon ?? g}
335
334
  role="img"
336
335
  aria-hidden="true"
337
336
  ></sbb-seat-reservation-graphic>
338
- ${this._popover(p, a)}
337
+ ${this._popover(c, t)}
339
338
  `;
340
339
  }) : null;
341
340
  }
@@ -362,7 +361,7 @@ let K = (() => {
362
361
  * @private
363
362
  */
364
363
  _popover(r, e) {
365
- return b`
364
+ return n`
366
365
  <sbb-popover trigger="${r}">
367
366
  <p class="sbb-text-s sbb-sr-popover">${e}</p>
368
367
  </sbb-popover>
@@ -377,34 +376,34 @@ let K = (() => {
377
376
  }
378
377
  _getDescriptionTableCoach(r, e) {
379
378
  if (!r.places?.length)
380
- return n("COACH_BLOCKED_TABLE_CAPTION", this._language.current, [
379
+ return b("COACH_BLOCKED_TABLE_CAPTION", this._language.current, [
381
380
  r.id
382
381
  ]);
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, [
382
+ let a;
383
+ const s = this._getTitleDescriptionListString(r.graphicElements), t = this._getTitleDescriptionListString(r.serviceElements);
384
+ if (a = b("COACH_TABLE_CAPTION", this._language.current, [
386
385
  r.id
387
386
  ]), !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(". ");
387
+ const i = this.getAvailableFreePlacesNumFromCoach(e), o = b("COACH_AVAILABLE_NUMBER_OF_PLACES", this._language.current, [i.seats, i.bicycles]);
388
+ a = a.concat(". ").concat(o).concat(". ");
390
389
  }
391
- return (s || a) && (t += ". " + n("COACH_AVAILABLE_SERVICES", this._language.current) + ": ", t += a + ", " + s + "."), t;
390
+ return (s || t) && (a += ". " + b("COACH_AVAILABLE_SERVICES", this._language.current) + ": ", a += t + ", " + s + "."), a;
392
391
  }
393
392
  _getTitleDescriptionListString(r) {
394
393
  const e = [];
395
- return r?.map((t) => {
396
- const s = t.icon;
394
+ return r?.map((a) => {
395
+ const s = a.icon;
397
396
  if (!s)
398
397
  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(", ");
398
+ const t = e.indexOf(s) > -1, i = b(a.icon, this._language.current), o = this._notFixedRotatableAreaIcons.indexOf(s) === -1 && this._notAreaElements.indexOf(s) === -1;
399
+ return t || e.push(a.icon), i && !t && o ? i : null;
400
+ }).filter((a) => !!a).join(", ");
402
401
  }
403
- }, c = d, (() => {
402
+ }, d = h, (() => {
404
403
  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;
404
+ $(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 });
405
+ })(), h.styles = T, A(d, f), d;
407
406
  })();
408
407
  export {
409
- K as SbbSeatReservationElement
408
+ q as SbbSeatReservationElement
410
409
  };
@@ -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"}