@sbb-esta/lyne-elements-experimental-dev 4.7.0-dev.1773388997 → 4.7.0-dev.1773396173

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 (199) hide show
  1. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +76 -65
  2. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +52 -72
  3. package/autocomplete-grid/autocomplete-grid-button.js +6 -3
  4. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +17 -2
  5. package/autocomplete-grid/autocomplete-grid-cell.js +7 -4
  6. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +21 -20
  7. package/autocomplete-grid/autocomplete-grid-optgroup.js +6 -3
  8. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +33 -2
  9. package/autocomplete-grid/autocomplete-grid-option.js +9 -4
  10. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +22 -2
  11. package/autocomplete-grid/autocomplete-grid-row.js +7 -4
  12. package/autocomplete-grid/autocomplete-grid.js +6 -3
  13. package/autocomplete-grid.js +21 -9
  14. package/autocomplete-grid.pure.js +15 -7
  15. package/core/datetime/date-helper.js +191 -2
  16. package/core/datetime.js +5 -2
  17. package/core/timetable/access-leg-helper.js +71 -76
  18. package/core/timetable/timetable-helper.js +11 -9
  19. package/core/timetable/timetable-properties.js +1 -0
  20. package/core/timetable.js +7 -3
  21. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +122 -114
  22. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +70 -92
  23. package/development/autocomplete-grid/autocomplete-grid-button.js +4 -6
  24. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +29 -2
  25. package/development/autocomplete-grid/autocomplete-grid-cell.js +5 -7
  26. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +22 -27
  27. package/development/autocomplete-grid/autocomplete-grid-optgroup.js +4 -6
  28. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +109 -2
  29. package/development/autocomplete-grid/autocomplete-grid-option.js +7 -7
  30. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +91 -2
  31. package/development/autocomplete-grid/autocomplete-grid-row.js +5 -7
  32. package/development/autocomplete-grid/autocomplete-grid.js +4 -6
  33. package/development/autocomplete-grid.js +14 -10
  34. package/development/autocomplete-grid.pure.js +13 -4
  35. package/development/core/datetime/date-helper.js +285 -2
  36. package/development/core/datetime.js +6 -2
  37. package/development/core/timetable/access-leg-helper.js +82 -104
  38. package/development/core/timetable/timetable-helper.js +17 -16
  39. package/development/core/timetable/timetable-properties.js +2 -0
  40. package/development/core/timetable.js +8 -3
  41. package/development/differenceInMinutes-B0dawX-5.js +26 -0
  42. package/development/format-BMkeaqaF.js +1433 -0
  43. package/development/isValid-BYRch7pV.js +53 -0
  44. package/development/journey-summary/journey-summary.component.js +288 -2
  45. package/development/journey-summary.js +5 -8
  46. package/development/journey-summary.pure.js +5 -2
  47. package/development/pearl-chain/pearl-chain.component.js +634 -2
  48. package/development/pearl-chain-time/pearl-chain-time.component.js +306 -2
  49. package/development/pearl-chain-time.js +5 -8
  50. package/development/pearl-chain-time.pure.js +5 -2
  51. package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +28 -2
  52. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +393 -2
  53. package/development/pearl-chain-vertical-item.js +5 -8
  54. package/development/pearl-chain-vertical-item.pure.js +5 -2
  55. package/development/pearl-chain-vertical.js +5 -8
  56. package/development/pearl-chain-vertical.pure.js +5 -2
  57. package/development/pearl-chain.js +5 -8
  58. package/development/pearl-chain.pure.js +5 -2
  59. package/development/seat-reservation/common/mapper/icon-mapper.js +71 -168
  60. package/development/seat-reservation/common/mapper/mapper.js +122 -153
  61. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.js +559 -570
  62. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.js +972 -992
  63. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-giruno.js +20367 -20334
  64. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.js +1738 -1731
  65. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.js +9782 -9741
  66. package/development/seat-reservation/common/mapper.js +8 -1
  67. package/development/seat-reservation/common/svgs.js +46 -2
  68. package/development/seat-reservation/common/translations/i18n.js +900 -1118
  69. package/development/seat-reservation/common/translations.js +4 -1
  70. package/development/seat-reservation/common/types.js +2 -0
  71. package/development/seat-reservation/common.js +11 -7
  72. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +1230 -1305
  73. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +859 -2
  74. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +106 -2
  75. package/development/seat-reservation/seat-reservation-area.js +5 -7
  76. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +34 -35
  77. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +162 -2
  78. package/development/seat-reservation/seat-reservation-graphic.js +5 -7
  79. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +713 -2
  80. package/development/seat-reservation/seat-reservation-navigation-coach.js +5 -7
  81. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +131 -2
  82. package/development/seat-reservation/seat-reservation-navigation-services.js +5 -7
  83. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +601 -2
  84. package/development/seat-reservation/seat-reservation-place-control.js +5 -7
  85. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +22 -2
  86. package/development/seat-reservation/seat-reservation-scoped.js +5 -7
  87. package/development/seat-reservation/seat-reservation.js +6 -7
  88. package/development/seat-reservation.js +28 -15
  89. package/development/seat-reservation.pure.js +28 -10
  90. package/development/timetable-duration/timetable-duration.component.js +108 -2
  91. package/development/timetable-duration.js +5 -8
  92. package/development/timetable-duration.pure.js +5 -2
  93. package/development/timetable-row/timetable-row.component.js +781 -2
  94. package/development/timetable-row.js +13 -8
  95. package/development/timetable-row.pure.js +12 -2
  96. package/development/toDate-BWb6Z1JD.js +24 -0
  97. package/differenceInMinutes-COvvdYsJ.js +23 -0
  98. package/format-CmKROkbc.js +1186 -0
  99. package/isValid-m3_OsPaB.js +45 -0
  100. package/journey-summary/journey-summary.component.js +194 -2
  101. package/journey-summary.js +4 -5
  102. package/journey-summary.pure.js +4 -2
  103. package/package.json +2 -2
  104. package/pearl-chain/pearl-chain.component.js +165 -2
  105. package/pearl-chain-time/pearl-chain-time.component.js +157 -2
  106. package/pearl-chain-time.js +4 -5
  107. package/pearl-chain-time.pure.js +4 -2
  108. package/pearl-chain-vertical/pearl-chain-vertical.component.js +17 -2
  109. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +77 -2
  110. package/pearl-chain-vertical-item.js +4 -5
  111. package/pearl-chain-vertical-item.pure.js +4 -2
  112. package/pearl-chain-vertical.js +4 -5
  113. package/pearl-chain-vertical.pure.js +4 -2
  114. package/pearl-chain.js +4 -5
  115. package/pearl-chain.pure.js +4 -2
  116. package/seat-reservation/common/mapper/icon-mapper.js +71 -71
  117. package/seat-reservation/common/mapper/mapper.js +89 -95
  118. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.js +558 -568
  119. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.js +970 -989
  120. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-giruno.js +20366 -20332
  121. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.js +1737 -1729
  122. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.js +9781 -9739
  123. package/seat-reservation/common/mapper.js +9 -3
  124. package/seat-reservation/common/svgs.js +243 -2
  125. package/seat-reservation/common/translations/i18n.js +891 -1084
  126. package/seat-reservation/common/translations.js +4 -2
  127. package/seat-reservation/common/types.js +1 -0
  128. package/seat-reservation/common.js +15 -9
  129. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +810 -832
  130. package/seat-reservation/seat-reservation/seat-reservation.component.js +420 -2
  131. package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +51 -2
  132. package/seat-reservation/seat-reservation-area.js +7 -4
  133. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +71 -68
  134. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +75 -2
  135. package/seat-reservation/seat-reservation-graphic.js +7 -4
  136. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +234 -2
  137. package/seat-reservation/seat-reservation-navigation-coach.js +7 -4
  138. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +85 -2
  139. package/seat-reservation/seat-reservation-navigation-services.js +7 -4
  140. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +203 -2
  141. package/seat-reservation/seat-reservation-place-control.js +7 -4
  142. package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +13 -2
  143. package/seat-reservation/seat-reservation-scoped.js +7 -4
  144. package/seat-reservation/seat-reservation.js +9 -5
  145. package/seat-reservation.js +39 -17
  146. package/seat-reservation.pure.js +32 -15
  147. package/timetable-duration/timetable-duration.component.js +57 -2
  148. package/timetable-duration.js +4 -5
  149. package/timetable-duration.pure.js +4 -2
  150. package/timetable-row/timetable-row.component.js +427 -2
  151. package/timetable-row.js +13 -6
  152. package/timetable-row.pure.js +11 -2
  153. package/toDate-Bw2KTWeq.js +15 -0
  154. package/autocomplete-grid-cell.component-Dak9wlBr.js +0 -24
  155. package/autocomplete-grid-option.component-DNRFHOwc.js +0 -37
  156. package/autocomplete-grid-row.component-DBHZQ0GQ.js +0 -27
  157. package/date-helper-CGproP5d.js +0 -185
  158. package/development/autocomplete-grid-cell.component-BBvM4o2H.js +0 -42
  159. package/development/autocomplete-grid-option.component-QzfM5eIE.js +0 -123
  160. package/development/autocomplete-grid-row.component-H8sCTCkT.js +0 -104
  161. package/development/date-helper-8_Y-PuHh.js +0 -520
  162. package/development/differenceInMinutes-DN_1Rk3O.js +0 -110
  163. package/development/format-Bbrn2bgo.js +0 -1848
  164. package/development/isValid-C-HzKv4v.js +0 -178
  165. package/development/journey-summary.component-uGhZvA4p.js +0 -385
  166. package/development/pearl-chain-time.component-B8mayTWD.js +0 -415
  167. package/development/pearl-chain-vertical-item.component-BDzbcIaf.js +0 -435
  168. package/development/pearl-chain-vertical.component-CswE7b3M.js +0 -39
  169. package/development/pearl-chain.component-wpsTvoSe.js +0 -704
  170. package/development/seat-reservation-area.component-BK92ZtFo.js +0 -138
  171. package/development/seat-reservation-graphic.component-cUnsHh5x.js +0 -193
  172. package/development/seat-reservation-navigation-coach.component-D6Bglus8.js +0 -828
  173. package/development/seat-reservation-navigation-services.component-DYJ6Ddkg.js +0 -179
  174. package/development/seat-reservation-place-control.component-Bg9evKBW.js +0 -726
  175. package/development/seat-reservation-scoped.component-DRQ_I702.js +0 -31
  176. package/development/seat-reservation.component-Cq_aJKR0.js +0 -818
  177. package/development/svgs-C3JMWR26.js +0 -28
  178. package/development/timetable-duration.component-DI0lET17.js +0 -125
  179. package/development/timetable-row.component-CAED6Zwc.js +0 -932
  180. package/development/toDate-Biiv3kyf.js +0 -150
  181. package/differenceInMinutes-Dr9gRqtu.js +0 -27
  182. package/format-CM5exOsN.js +0 -1103
  183. package/isValid-B9oVW3lA.js +0 -36
  184. package/journey-summary.component-Cq_4kaOp.js +0 -264
  185. package/pearl-chain-time.component-DGDW5S1c.js +0 -239
  186. package/pearl-chain-vertical-item.component-G22bWhLU.js +0 -108
  187. package/pearl-chain-vertical.component-CXIDT5RD.js +0 -21
  188. package/pearl-chain.component-DmjkVIva.js +0 -194
  189. package/seat-reservation-area.component-n-9rGn_y.js +0 -75
  190. package/seat-reservation-graphic.component-YTXRmKt0.js +0 -102
  191. package/seat-reservation-navigation-coach.component-YJ0vaYmO.js +0 -333
  192. package/seat-reservation-navigation-services.component-C3xnLJg2.js +0 -127
  193. package/seat-reservation-place-control.component-DmBAfM6K.js +0 -322
  194. package/seat-reservation-scoped.component-DPkz6u17.js +0 -17
  195. package/seat-reservation.component-C_anMkgw.js +0 -364
  196. package/svgs-D9arBcqr.js +0 -26
  197. package/timetable-duration.component-DCu8Phts.js +0 -65
  198. package/timetable-row.component-BVRCB3xK.js +0 -559
  199. package/toDate-p-Tpkb7t.js +0 -16
@@ -1,2 +1,234 @@
1
- import { t as e } from "../../seat-reservation-navigation-coach.component-YJ0vaYmO.js";
2
- export { e as SbbSeatReservationNavigationCoachElement };
1
+ var X = (s) => {
2
+ throw TypeError(s);
3
+ };
4
+ var Y = (s, n, b) => n.has(s) || X("Cannot " + b);
5
+ var c = (s, n, b) => (Y(s, n, "read from private field"), b ? b.call(s) : n.get(s)), l = (s, n, b) => n.has(s) ? X("Cannot add the same private member more than once") : n instanceof WeakSet ? n.add(s) : n.set(s, b), t = (s, n, b, A) => (Y(s, n, "write to private field"), A ? A.call(s, b) : n.set(s, b), b);
6
+ import { __runInitializers as o, __esDecorate as v } from "tslib";
7
+ import { SbbElement as ea } from "@sbb-esta/lyne-elements/core/base-elements.js";
8
+ import { SbbLanguageController as ta } from "@sbb-esta/lyne-elements/core/controllers.js";
9
+ import { forceType as g } from "@sbb-esta/lyne-elements/core/decorators.js";
10
+ import { boxSizingStyles as sa } from "@sbb-esta/lyne-elements/core/styles.js";
11
+ import { css as ia, nothing as u, html as d } from "lit";
12
+ import { property as h } from "lit/decorators.js";
13
+ import { classMap as Z } from "lit/directives/class-map.js";
14
+ import { getI18nSeatReservation as _ } from "../common/translations.js";
15
+ import { SbbSeatReservationNavigationServicesElement as oa } from "../seat-reservation-navigation-services/seat-reservation-navigation-services.component.js";
16
+ import "@sbb-esta/lyne-elements/screen-reader-only.js";
17
+ const na = ia`:host{display:inline-block;min-height:calc(44 * var(--sbb-seat-reservation-one-px-rem, .0625rem));--sbb-seat-reservation-navigation-travelclass-spacing: 10;--sbb-seat-reservation-navigation-btn-border-width-default: 1;--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-default );--sbb-seat-reservation-navigation-btn-border-color: var(--sbb-color-granite);--sbb-seat-reservation-navigation-btn-border-color: light-dark( var(--sbb-color-granite), var(--sbb-color-graphite) );--sbb-seat-reservation-navigation-btn-background-color: var(--sbb-color-white);--sbb-seat-reservation-navigation-btn-background-color: light-dark( var(--sbb-color-white), var(--sbb-color-black) );--sbb-seat-reservation-navigation-btn-border-width-selected: 2;--sbb-seat-reservation-navigation-btn-background-color-selected: var(--sbb-color-milk);--sbb-seat-reservation-navigation-btn-background-color-selected: light-dark( var(--sbb-color-milk), var(--sbb-color-iron) );--sbb-seat-reservation-navigation-btn-border-color-selected: var(--sbb-color-black);--sbb-seat-reservation-navigation-btn-border-color-selected: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-navigation-btn-outline-width-focused: 1;--sbb-seat-reservation-navigation-btn-outline-color-focused: var(--sbb-color-black);--sbb-seat-reservation-navigation-btn-outline-color-focused: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-navigation-btn-outline-offset-focused: 4;--sbb-seat-reservation-navigation-btn-background-color-focused: var(--sbb-color-white);--sbb-seat-reservation-navigation-btn-background-color-focused: light-dark( var(--sbb-color-white), var(--sbb-color-black) );--sbb-seat-reservation-navigation-btn-border-width-focused: var( --sbb-seat-reservation-navigation-btn-border-width );--sbb-seat-reservation-navigation-btn-border-color-focused: var(--sbb-color-black);--sbb-seat-reservation-navigation-btn-border-color-focused: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-navigation-btn-border-width-hovered: 2;--sbb-seat-reservation-navigation-btn-background-color-hovered: var(--sbb-color-cloud);--sbb-seat-reservation-navigation-btn-background-color-hovered: light-dark( var(--sbb-color-cloud), var(--sbb-color-midnight) );--sbb-seat-reservation-navigation-btn-border-color-hovered: var(--sbb-color-black);--sbb-seat-reservation-navigation-btn-border-color-hovered: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-navigation-btn-background-color-disabled: var(--sbb-background-color-2);--sbb-seat-reservation-navigation-btn-border-color-disabled: var(--sbb-color-platinum);--sbb-seat-reservation-navigation-btn-border-color-disabled: light-dark( var(--sbb-color-platinum), var(--sbb-color-iron) )}.sbb-sr-navigation__item-coach{display:flex;flex-direction:column;gap:calc(8 * var(--sbb-seat-reservation-one-px-rem, .0625rem));width:calc(80 * var(--sbb-seat-reservation-one-px-rem, .0625rem));list-style-type:none}.sbb-sr-navigation__item-coach.first-coach .sbb-sr-navigation--first-class,.sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation--first-class{width:calc(100% - 18 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation__item-coach.first-coach .sbb-sr-navigation__ctrl-button:not(.sbb-seat-reservation-navigation-driver-area){border-radius:var(--sbb-border-radius-8x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-8x)}.sbb-sr-navigation__item-coach.first-coach .sbb-sr-navigation__ctrl-button:not(.sbb-seat-reservation-navigation-driver-area):before{content:"";position:absolute;width:100%;height:100%;border:calc(var(--sbb-seat-reservation-navigation-btn-border-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-border-color);border-radius:var(--sbb-border-radius-8x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-8x)}.sbb-sr-navigation__item-coach.first-coach .sbb-sr-navigation--first-class{margin-inline-start:calc(var(--sbb-seat-reservation-navigation-travelclass-spacing) * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area){border-radius:var(--sbb-border-radius-2x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-2x)}.sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area):before{content:"";position:absolute;width:100%;height:100%;border:calc(var(--sbb-seat-reservation-navigation-btn-border-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-border-color);border-radius:var(--sbb-border-radius-2x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-2x)}.sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation__additional-information{padding-inline-end:calc(var(--sbb-seat-reservation-navigation-travelclass-spacing) * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation--first-class{margin-inline-end:calc(var(--sbb-seat-reservation-navigation-travelclass-spacing) * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation__ctrl-button{appearance:none;box-sizing:border-box;margin:0;outline:none;border:none;border-radius:0;padding:0;background:none;-webkit-tap-highlight-color:transparent;color:inherit;display:flex;flex-direction:column;justify-content:center;height:calc(36 * var(--sbb-seat-reservation-one-px-rem, .0625rem));position:relative;background-color:var(--sbb-seat-reservation-navigation-btn-background-color);cursor:var(--sbb-cursor-pointer)}.sbb-sr-navigation__ctrl-button.sbb-sr-navigation-driver-area{border-radius:var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x)}.sbb-sr-navigation__ctrl-button.sbb-sr-navigation-driver-area:before{content:"";position:absolute;width:100%;height:100%;border:calc(var(--sbb-seat-reservation-navigation-btn-border-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-border-color);border-radius:var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x)}.sbb-sr-navigation__ctrl-button{border-radius:var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x)}.sbb-sr-navigation__ctrl-button:before{content:"";position:absolute;width:100%;height:100%;border:calc(var(--sbb-seat-reservation-navigation-btn-border-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-border-color);border-radius:var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x)}.sbb-sr-navigation__item-coach--focused .sbb-sr-navigation__ctrl-button{--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-focused );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-focused );--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-focused );outline:calc(var(--sbb-seat-reservation-navigation-btn-outline-width-focused) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-outline-color-focused);outline-offset:calc(var(--sbb-seat-reservation-navigation-btn-outline-offset-focused) * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation__item-coach--focused .sbb-sr-navigation__ctrl-button .sbb-sr-navigation__item-coach-travelclass{background-color:var(--sbb-color-metal);background-color:light-dark(var(--sbb-color-metal),var(--sbb-color-storm))}.sbb-sr-navigation__item-coach--focused .sbb-sr-navigation__ctrl-button .sbb-sr-navigation__item-coach-number{color:var(--sbb-color-anthracite);color:light-dark(var(--sbb-color-anthracite),var(--sbb-color-graphite))}.sbb-sr-navigation__item-coach--selected .sbb-sr-navigation__ctrl-button{--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-selected );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-selected );--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-selected )}.sbb-sr-navigation__item-coach--selected .sbb-sr-navigation__ctrl-button .sbb-sr-navigation__item-coach-travelclass{background-color:var(--sbb-color-black);background-color:light-dark(var(--sbb-color-black),var(--sbb-color-white))}.sbb-sr-navigation__item-coach--selected .sbb-sr-navigation__ctrl-button .sbb-sr-navigation__item-coach-number{color:var(--sbb-color-black);color:light-dark(var(--sbb-color-black),var(--sbb-color-white))}.sbb-sr-navigation__item-coach--selected.sbb-sr-navigation__item-coach--hovered .sbb-sr-navigation__ctrl-button{--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-selected );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-selected );--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-selected );background-color:var(--sbb-seat-reservation-navigation-btn-background-color-hovered)!important}.sbb-sr-navigation__item-coach--selected .sbb-sr-navigation__ctrl-button:focus-visible:not([disabled],:disabled){--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-selected );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-selected );--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-selected )}.sbb-sr-navigation__item-coach--hovered .sbb-sr-navigation__ctrl-button{--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-hovered );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-hovered );--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-hovered )}.sbb-sr-navigation__ctrl-button:hover:not([disabled],:disabled){--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-hovered );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-hovered );--sbb-seat-reservation-navigation-btn-border-width: var( --sbb-seat-reservation-navigation-btn-border-width-hovered )}.sbb-sr-navigation__ctrl-button:hover:not([disabled],:disabled) .sbb-sr-navigation__item-coach-travelclass{background-color:var(--sbb-color-smoke)}.sbb-sr-navigation__ctrl-button:hover:not([disabled],:disabled) .sbb-sr-navigation__item-coach-number{color:var(--sbb-color-iron);color:light-dark(var(--sbb-color-iron),var(--sbb-color-silver))}.sbb-sr-navigation__ctrl-button:is([disabled],:disabled){--sbb-seat-reservation-navigation-btn-background-color: var( --sbb-seat-reservation-navigation-btn-background-color-disabled );--sbb-seat-reservation-navigation-btn-border-color: var( --sbb-seat-reservation-navigation-btn-border-color-disabled );cursor:unset;pointer-events:unset}.sbb-sr-navigation__ctrl-button:is([disabled],:disabled) .sbb-sr-navigation__item-coach-travelclass{background-color:var(--sbb-color-graphite);background-color:light-dark(var(--sbb-color-graphite),var(--sbb-color-granite))}.sbb-sr-navigation__ctrl-button:is([disabled],:disabled) .sbb-sr-navigation__item-coach-number{color:var(--sbb-color-graphite);color:light-dark(var(--sbb-color-graphite),var(--sbb-color-granite))}.sbb-sr-navigation__additional-information{display:flex;justify-content:space-between;align-items:center;flex:1;column-gap:calc(8 * var(--sbb-seat-reservation-one-px-rem, .0625rem));padding-inline:calc(16 * var(--sbb-seat-reservation-one-px-rem, .0625rem));font-family:var(--sbb-typo-font-family);font-weight:700;color:var(--sbb-color-granite);color:light-dark(var(--sbb-color-granite),var(--sbb-color-granite))}@media(forced-colors:active){.sbb-sr-navigation__additional-information{color:var(--sbb-color-milk)}}.sbb-sr-navigation__item-coach-number{color:var(--sbb-color-granite);color:light-dark(var(--sbb-color-granite),var(--sbb-color-graphite))}@media(forced-colors:active){.sbb-sr-navigation__item-coach-number{color:var(--sbb-color-granite);color:light-dark(var(--sbb-color-granite),var(--sbb-color-graphite))}}.sbb-sr-navigation__item-coach-number .sbb-sr-navigation__item-coach-travelclass{background-color:var(--sbb-background-color-2-inverted)}.sbb-sr-navigation--first-class{width:calc(100% - 8 * var(--sbb-seat-reservation-one-px-rem, .0625rem));position:absolute;inset-block-start:calc(3 * var(--sbb-seat-reservation-one-px-rem, .0625rem));inset-inline-start:calc(4 * var(--sbb-seat-reservation-one-px-rem, .0625rem));border:calc(1 * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid transparent;border-radius:var(--sbb-border-radius-1x);margin:auto;background-color:var(--sbb-color-lemon)}.sbb-sr-navigation__item-coach-travelclass{display:flex;align-items:center;justify-content:center;min-height:calc(20 * var(--sbb-seat-reservation-one-px-rem, .0625rem));min-width:calc(20 * var(--sbb-seat-reservation-one-px-rem, .0625rem));border-radius:var(--sbb-border-radius-1x);text-align:center;background-color:var(--sbb-color-granite);background-color:light-dark(var(--sbb-color-granite),var(--sbb-color-graphite));color:var(--sbb-color-white);color:light-dark(var(--sbb-color-white),var(--sbb-color-black))}@media(forced-colors:active){.sbb-sr-navigation__item-coach-travelclass{border:var(--sbb-border-width-1x) solid}}:host([vertical]) .sbb-sr-navigation__item-coach{flex-direction:row}:host([vertical]) .sbb-sr-navigation__item-coach .sbb-sr-navigation__ctrl-button{flex-direction:row-reverse;height:calc(80 * var(--sbb-seat-reservation-one-px-rem, .0625rem));min-width:calc(36 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}:host([vertical]) .sbb-sr-navigation__item-coach .sbb-sr-navigation__additional-information{flex-direction:column-reverse;padding-block:calc(16 * var(--sbb-seat-reservation-one-px-rem, .0625rem));padding-inline-start:unset;padding-inline-end:unset}:host([vertical]) .sbb-sr-navigation__item-coach .sbb-sr-navigation--first-class{height:calc(100% - 8 * var(--sbb-seat-reservation-one-px-rem, .0625rem));width:initial;inset-inline-end:calc(3 * var(--sbb-seat-reservation-one-px-rem, .0625rem));inset-block-start:calc(4 * var(--sbb-seat-reservation-one-px-rem, .0625rem));inset-inline-start:initial}:host([vertical]) .sbb-sr-navigation__item-coach.first-coach .sbb-sr-navigation--first-class,:host([vertical]) .sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation--first-class{height:calc(100% - 18 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}:host([vertical]) .sbb-sr-navigation__item-coach.first-coach:not(.last-coach) .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area){border-radius:var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x)}:host([vertical]) .sbb-sr-navigation__item-coach.first-coach:not(.last-coach) .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area):before{content:"";position:absolute;width:100%;height:100%;border:calc(var(--sbb-seat-reservation-navigation-btn-border-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-border-color);border-radius:var(--sbb-border-radius-8x) var(--sbb-border-radius-8x) var(--sbb-border-radius-2x) var(--sbb-border-radius-2x)}:host([vertical]) .sbb-sr-navigation__item-coach.first-coach:not(.last-coach) .sbb-sr-navigation--first-class{margin-block-start:calc(var(--sbb-seat-reservation-navigation-travelclass-spacing) * var(--sbb-seat-reservation-one-px-rem, .0625rem));margin-inline-start:initial}:host([vertical]) .sbb-sr-navigation__item-coach.last-coach:not(.first-coach) .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area){border-radius:var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x)}:host([vertical]) .sbb-sr-navigation__item-coach.last-coach:not(.first-coach) .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area):before{content:"";position:absolute;width:100%;height:100%;border:calc(var(--sbb-seat-reservation-navigation-btn-border-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem)) solid var(--sbb-seat-reservation-navigation-btn-border-color);border-radius:var(--sbb-border-radius-2x) var(--sbb-border-radius-2x) var(--sbb-border-radius-8x) var(--sbb-border-radius-8x)}:host([vertical]) .sbb-sr-navigation__item-coach.last-coach:not(.first-coach) .sbb-sr-navigation--first-class{margin-block-end:calc(var(--sbb-seat-reservation-navigation-travelclass-spacing) * var(--sbb-seat-reservation-one-px-rem, .0625rem));margin-inline-end:initial}:host([vertical]) .sbb-sr-navigation__item-coach .sbb-sr-navigation-driver-area{height:calc(80 * var(--sbb-seat-reservation-one-px-rem, .0625rem));min-width:calc(36 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}`;
18
+ oa.define();
19
+ let wa = (() => {
20
+ var m, f, p, x, k, w, I, y, D, i;
21
+ let s = ea, n, b = [], A = [], C, T = [], $ = [], z, B = [], E = [], O, S = [], F = [], L, V = [], N = [], j, H = [], U = [], G, K = [], M = [], P, q = [], W = [], J, Q = [], R = [];
22
+ return i = class extends s {
23
+ constructor() {
24
+ super(...arguments);
25
+ l(this, m);
26
+ l(this, f);
27
+ l(this, p);
28
+ l(this, x);
29
+ l(this, k);
30
+ l(this, w);
31
+ l(this, I);
32
+ l(this, y);
33
+ l(this, D);
34
+ t(this, m, o(this, b, !1)), t(this, f, (o(this, A), o(this, T, !1))), t(this, p, (o(this, $), o(this, B, !1))), t(this, x, (o(this, E), o(this, S, !0))), t(this, k, (o(this, F), o(this, V, 0))), t(this, w, (o(this, N), o(this, H, {}))), t(this, I, (o(this, U), o(this, K, !1))), t(this, y, (o(this, M), o(this, q, !1))), t(this, D, (o(this, W), o(this, Q, !1))), this._language = (o(this, R), new ta(this));
35
+ }
36
+ /** Select coach property */
37
+ get selected() {
38
+ return c(this, m);
39
+ }
40
+ set selected(r) {
41
+ t(this, m, r);
42
+ }
43
+ /** Focus coach property */
44
+ get focused() {
45
+ return c(this, f);
46
+ }
47
+ set focused(r) {
48
+ t(this, f, r);
49
+ }
50
+ /** Hover coach property */
51
+ get hovered() {
52
+ return c(this, p);
53
+ }
54
+ set hovered(r) {
55
+ t(this, p, r);
56
+ }
57
+ /** Native focus for this navigation coach is also set when the focused property is changed */
58
+ get nativeFocusActive() {
59
+ return c(this, x);
60
+ }
61
+ set nativeFocusActive(r) {
62
+ t(this, x, r);
63
+ }
64
+ get index() {
65
+ return c(this, k);
66
+ }
67
+ set index(r) {
68
+ t(this, k, r);
69
+ }
70
+ get coachItemDetails() {
71
+ return c(this, w);
72
+ }
73
+ set coachItemDetails(r) {
74
+ t(this, w, r);
75
+ }
76
+ /** Disable the coach navigation */
77
+ get disable() {
78
+ return c(this, I);
79
+ }
80
+ set disable(r) {
81
+ t(this, I, r);
82
+ }
83
+ /** If the coach navigation should be displayed vertically */
84
+ get vertical() {
85
+ return c(this, y);
86
+ }
87
+ set vertical(r) {
88
+ t(this, y, r);
89
+ }
90
+ /** Disable the mouse over title information */
91
+ get showTitleInfo() {
92
+ return c(this, D);
93
+ }
94
+ set showTitleInfo(r) {
95
+ t(this, D, r);
96
+ }
97
+ willUpdate(r) {
98
+ if (super.willUpdate(r), r.has("selected")) {
99
+ const a = this.shadowRoot?.querySelector(".sbb-sr-navigation__ctrl-button");
100
+ this.selected && a && (this.nativeFocusActive && a.focus(), this.dispatchEvent(new Event("focuscoach", { bubbles: !0, composed: !0 })));
101
+ }
102
+ if (r.has("focused") && this.focused) {
103
+ const a = this.shadowRoot?.querySelector(".sbb-sr-navigation__ctrl-button");
104
+ a && this.nativeFocusActive && a.focus();
105
+ }
106
+ }
107
+ /**
108
+ * Render a list of service icons provided by a caller
109
+ *
110
+ * @protected
111
+ */
112
+ render() {
113
+ return d`
114
+ <div
115
+ class="${Z({
116
+ "sbb-sr-navigation__item-coach": !0,
117
+ "last-coach": this.coachItemDetails.driverAreaSide?.right || !1,
118
+ "first-coach": this.coachItemDetails.driverAreaSide?.left || !1,
119
+ "sbb-sr-navigation__item-coach--selected": this.selected,
120
+ "sbb-sr-navigation__item-coach--focused": this.focused,
121
+ "sbb-sr-navigation__item-coach--hovered": this.hovered
122
+ })}"
123
+ >
124
+ ${this._getNavigationButton()}
125
+ ${this.coachItemDetails.propertyIds?.length ? d`<sbb-seat-reservation-navigation-services
126
+ ?vertical="${this.vertical}"
127
+ .propertyIds="${this.coachItemDetails.propertyIds}"
128
+ ?showTitleInfo="${this.showTitleInfo}"
129
+ ></sbb-seat-reservation-navigation-services>` : u}
130
+ </div>
131
+ `;
132
+ }
133
+ _getNavigationButton() {
134
+ const r = this._getCoachServiceClassNumber(), a = this._getTitleDescriptionNavCoachButton(r), e = this._getAriaDescriptionCoachServices();
135
+ return d` <button
136
+ @click=${() => this._selectNavCoach(this.index)}
137
+ class="${Z({
138
+ "sbb-sr-navigation__ctrl-button": !0,
139
+ "sbb-sr-navigation-driver-area": this.coachItemDetails.isDriverArea
140
+ })}"
141
+ ?disabled="${this.disable}"
142
+ title="${this.showTitleInfo ? a : u}"
143
+ type="button"
144
+ aria-describedby="nav-coach-service-descriptions-${this.index}"
145
+ >
146
+ ${this._getBtnInformation(r)}
147
+ <sbb-screen-reader-only id="nav-coach-service-descriptions-${this.index}">
148
+ ${this.showTitleInfo ? u : d`<div>${a}</div>`}
149
+ ${e ? d`<div>${e}</div>` : u}
150
+ </sbb-screen-reader-only>
151
+ </button>`;
152
+ }
153
+ _getBtnInformation(r) {
154
+ return this.coachItemDetails.isDriverArea ? null : d`
155
+ ${r === 1 ? d`<span class="sbb-sr-navigation--first-class"></span>` : u}
156
+ ${this.coachItemDetails.travelClass?.length > 0 || this.coachItemDetails.id ? d`<div class="sbb-sr-navigation__additional-information">
157
+ ${this.coachItemDetails.id ? d`<div class="sbb-sr-navigation__item-coach-number" aria-hidden="true">
158
+ ${this.coachItemDetails.id}
159
+ </div>` : u}
160
+ <div
161
+ ${r ?? u}
162
+ class="sbb-sr-navigation__item-coach-travelclass"
163
+ aria-hidden="true"
164
+ >
165
+ ${r}
166
+ </div>
167
+ </div>` : u}
168
+ `;
169
+ }
170
+ _getTitleDescriptionNavCoachButton(r) {
171
+ if (this.coachItemDetails.isDriverArea && !this.coachItemDetails.driverAreaElements?.driverAreaNoVerticalWall)
172
+ return _("NAVIGATE_COACH_BLOCKED", this._language.current, [
173
+ this.coachItemDetails.id
174
+ ]);
175
+ if (this.coachItemDetails.driverAreaElements?.driverAreaNoVerticalWall)
176
+ return _("COACH_LOCOMOTIVE", this._language.current);
177
+ let a = _("NAVIGATE_TO_COACH", this._language.current, [
178
+ this.coachItemDetails.id
179
+ ]);
180
+ if (r) {
181
+ const aa = _(r === 1 ? "SERVICE_CLASS_FIRST" : "SERVICE_CLASS_SECOND", this._language.current), ra = _("NAVIGATE_TO_COACH_SERVICE_CLASS_SUB", this._language.current, [aa]);
182
+ a = a.concat(ra);
183
+ }
184
+ const e = _("COACH_AVAILABLE_NUMBER_OF_PLACES", this._language.current, [this.coachItemDetails.freePlaces?.seats, this.coachItemDetails.freePlaces?.bicycles]);
185
+ return a = a.concat(". ").concat(e), a;
186
+ }
187
+ _getAriaDescriptionCoachServices() {
188
+ let r = null;
189
+ return this.coachItemDetails.propertyIds?.length && (r = _("COACH_AVAILABLE_SERVICES", this._language.current) + ": ", r += this.coachItemDetails.propertyIds.map((a) => _(a, this._language.current)).join() + "."), r;
190
+ }
191
+ /**
192
+ * emits the index of the coach array for the main navigation.
193
+ * @param coachIndex
194
+ * @private
195
+ */
196
+ _selectNavCoach(r) {
197
+ this.dispatchEvent(new CustomEvent("selectcoach", {
198
+ bubbles: !0,
199
+ composed: !0,
200
+ detail: r
201
+ }));
202
+ }
203
+ _getCoachServiceClassNumber() {
204
+ return this.coachItemDetails.travelClass?.includes("FIRST") ? 1 : this.coachItemDetails.travelClass?.includes("SECOND") ? 2 : null;
205
+ }
206
+ }, m = new WeakMap(), f = new WeakMap(), p = new WeakMap(), x = new WeakMap(), k = new WeakMap(), w = new WeakMap(), I = new WeakMap(), y = new WeakMap(), D = new WeakMap(), (() => {
207
+ const r = typeof Symbol == "function" && Symbol.metadata ? Object.create(s[Symbol.metadata] ?? null) : void 0;
208
+ n = [g(), h({ type: Boolean })], C = [g(), h({ type: Boolean })], z = [g(), h({ type: Boolean })], O = [g(), h({ type: Boolean })], L = [g(), h({ type: Number })], j = [h({ attribute: "coach-item-details", type: Object })], G = [g(), h({ attribute: "disable", type: Boolean })], P = [g(), h({ type: Boolean, reflect: !0, useDefault: !0 })], J = [g(), h({ type: Boolean })], v(i, null, n, { kind: "accessor", name: "selected", static: !1, private: !1, access: { has: (a) => "selected" in a, get: (a) => a.selected, set: (a, e) => {
209
+ a.selected = e;
210
+ } }, metadata: r }, b, A), v(i, null, C, { kind: "accessor", name: "focused", static: !1, private: !1, access: { has: (a) => "focused" in a, get: (a) => a.focused, set: (a, e) => {
211
+ a.focused = e;
212
+ } }, metadata: r }, T, $), v(i, null, z, { kind: "accessor", name: "hovered", static: !1, private: !1, access: { has: (a) => "hovered" in a, get: (a) => a.hovered, set: (a, e) => {
213
+ a.hovered = e;
214
+ } }, metadata: r }, B, E), v(i, null, O, { kind: "accessor", name: "nativeFocusActive", static: !1, private: !1, access: { has: (a) => "nativeFocusActive" in a, get: (a) => a.nativeFocusActive, set: (a, e) => {
215
+ a.nativeFocusActive = e;
216
+ } }, metadata: r }, S, F), v(i, null, L, { kind: "accessor", name: "index", static: !1, private: !1, access: { has: (a) => "index" in a, get: (a) => a.index, set: (a, e) => {
217
+ a.index = e;
218
+ } }, metadata: r }, V, N), v(i, null, j, { kind: "accessor", name: "coachItemDetails", static: !1, private: !1, access: { has: (a) => "coachItemDetails" in a, get: (a) => a.coachItemDetails, set: (a, e) => {
219
+ a.coachItemDetails = e;
220
+ } }, metadata: r }, H, U), v(i, null, G, { kind: "accessor", name: "disable", static: !1, private: !1, access: { has: (a) => "disable" in a, get: (a) => a.disable, set: (a, e) => {
221
+ a.disable = e;
222
+ } }, metadata: r }, K, M), v(i, null, P, { kind: "accessor", name: "vertical", static: !1, private: !1, access: { has: (a) => "vertical" in a, get: (a) => a.vertical, set: (a, e) => {
223
+ a.vertical = e;
224
+ } }, metadata: r }, q, W), v(i, null, J, { kind: "accessor", name: "showTitleInfo", static: !1, private: !1, access: { has: (a) => "showTitleInfo" in a, get: (a) => a.showTitleInfo, set: (a, e) => {
225
+ a.showTitleInfo = e;
226
+ } }, metadata: r }, Q, R), r && Object.defineProperty(i, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: r });
227
+ })(), i.elementName = "sbb-seat-reservation-navigation-coach", i.styles = [sa, na], i.events = {
228
+ selectcoach: "selectcoach",
229
+ focuscoach: "focuscoach"
230
+ }, i;
231
+ })();
232
+ export {
233
+ wa as SbbSeatReservationNavigationCoachElement
234
+ };
@@ -1,4 +1,7 @@
1
- import { t as e } from "../seat-reservation-navigation-coach.component-YJ0vaYmO.js";
2
- e.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/seat-reservation/seat-reservation-navigation-coach.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/seat-reservation.js' or '@sbb-esta/elements-experimental/seat-reservation.pure.js' instead.");
3
- //#endregion
4
- export { e as SbbSeatReservationNavigationCoachElement };
1
+ import { SbbSeatReservationNavigationCoachElement as e } from "./seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js";
2
+ e.define();
3
+ console.warn(`The entrypoint '@sbb-esta/elements-experimental/seat-reservation/seat-reservation-navigation-coach.js' has been deprecated.
4
+ Use either '@sbb-esta/elements-experimental/seat-reservation.js' or '@sbb-esta/elements-experimental/seat-reservation.pure.js' instead.`);
5
+ export {
6
+ e as SbbSeatReservationNavigationCoachElement
7
+ };
@@ -1,2 +1,85 @@
1
- import { t as e } from "../../seat-reservation-navigation-services.component-C3xnLJg2.js";
2
- export { e as SbbSeatReservationNavigationServicesElement };
1
+ var T = (t) => {
2
+ throw TypeError(t);
3
+ };
4
+ var L = (t, s, a) => s.has(t) || T("Cannot " + a);
5
+ var d = (t, s, a) => (L(t, s, "read from private field"), a ? a.call(t) : s.get(t)), f = (t, s, a) => s.has(t) ? T("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(t) : s.set(t, a), n = (t, s, a, m) => (L(t, s, "write to private field"), m ? m.call(t, a) : s.set(t, a), a);
6
+ import { __runInitializers as p, __esDecorate as u } from "tslib";
7
+ import { SbbElement as E } from "@sbb-esta/lyne-elements/core/base-elements.js";
8
+ import { SbbLanguageController as B } from "@sbb-esta/lyne-elements/core/controllers.js";
9
+ import { forceType as z } from "@sbb-esta/lyne-elements/core/decorators.js";
10
+ import { boxSizingStyles as A } from "@sbb-esta/lyne-elements/core/styles.js";
11
+ import { css as D, nothing as b, html as C } from "lit";
12
+ import { property as g } from "lit/decorators.js";
13
+ import { getI18nSeatReservation as _ } from "../common/translations.js";
14
+ import { SbbSeatReservationGraphicElement as $ } from "../seat-reservation-graphic/seat-reservation-graphic.component.js";
15
+ import "@sbb-esta/lyne-elements/screen-reader-only.js";
16
+ const j = D`.sbb-sr-navigation__signs{display:flex;flex-direction:row;justify-content:center;column-gap:var(--sbb-spacing-fixed-2x);overflow:hidden;line-height:normal;color:var(--sbb-color-granite);color:light-dark(var(--sbb-color-granite),var(--sbb-color-graphite))}.sbb-sr-navigation__signs:has(:nth-child(n+3 of.auto-width)):has([name^=SILENCE],[name^=BUSINESS]){column-gap:calc(6 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-navigation__signs:has(:nth-child(n+3 of.auto-width)):has([name^=SILENCE],[name^=BUSINESS]):has([name^=BICYCLE]){column-gap:calc(3 * var(--sbb-seat-reservation-one-px-rem, .0625rem))}:host([vertical]) .sbb-sr-navigation__signs{flex-direction:column;height:100%}`;
17
+ $.define();
18
+ let K = (() => {
19
+ var l, c, h, i;
20
+ let t = E, s, a = [], m = [], I, y = [], v = [], w, x = [], S = [];
21
+ return i = class extends t {
22
+ constructor() {
23
+ super(...arguments);
24
+ f(this, l);
25
+ f(this, c);
26
+ f(this, h);
27
+ n(this, l, p(this, a, [])), n(this, c, (p(this, m), p(this, y, !1))), n(this, h, (p(this, v), p(this, x, !1))), this._language = (p(this, S), new B(this));
28
+ }
29
+ /** Coach service property ids, which are used to display the services in the navigation */
30
+ get propertyIds() {
31
+ return d(this, l);
32
+ }
33
+ set propertyIds(r) {
34
+ n(this, l, r);
35
+ }
36
+ /** If true, the service icons are displayed vertically */
37
+ get vertical() {
38
+ return d(this, c);
39
+ }
40
+ set vertical(r) {
41
+ n(this, c, r);
42
+ }
43
+ /** Disable the mouse over title information */
44
+ get showTitleInfo() {
45
+ return d(this, h);
46
+ }
47
+ set showTitleInfo(r) {
48
+ n(this, h, r);
49
+ }
50
+ render() {
51
+ const r = this.propertyIds?.length ? this._getServiceLabelDescription() : null;
52
+ return C` <div class="sbb-sr-navigation__signs">
53
+ <sbb-screen-reader-only ${r || b}
54
+ >${r}</sbb-screen-reader-only
55
+ >
56
+ ${this.propertyIds?.map((e) => C`
57
+ <sbb-seat-reservation-graphic
58
+ class="auto-width"
59
+ name=${e ?? b}
60
+ title=${this.showTitleInfo ? _(e, this._language.current) : b}
61
+ aria-hidden="true"
62
+ ></sbb-seat-reservation-graphic>
63
+ `)}
64
+ </div>`;
65
+ }
66
+ //Generate the translated service label from the available properties
67
+ _getServiceLabelDescription() {
68
+ let r = null;
69
+ const e = this.propertyIds.map((o) => _(o, this._language.current)).filter((o) => !!o).join(", ");
70
+ return e && (r = _("COACH_AVAILABLE_SERVICES", this._language.current).concat(":").concat(e)), r;
71
+ }
72
+ }, l = new WeakMap(), c = new WeakMap(), h = new WeakMap(), (() => {
73
+ const r = typeof Symbol == "function" && Symbol.metadata ? Object.create(t[Symbol.metadata] ?? null) : void 0;
74
+ s = [g({ attribute: "property-ids", type: Array })], I = [z(), g({ type: Boolean, reflect: !0, useDefault: !0 })], w = [z(), g({ type: Boolean })], u(i, null, s, { kind: "accessor", name: "propertyIds", static: !1, private: !1, access: { has: (e) => "propertyIds" in e, get: (e) => e.propertyIds, set: (e, o) => {
75
+ e.propertyIds = o;
76
+ } }, metadata: r }, a, m), u(i, null, I, { kind: "accessor", name: "vertical", static: !1, private: !1, access: { has: (e) => "vertical" in e, get: (e) => e.vertical, set: (e, o) => {
77
+ e.vertical = o;
78
+ } }, metadata: r }, y, v), u(i, null, w, { kind: "accessor", name: "showTitleInfo", static: !1, private: !1, access: { has: (e) => "showTitleInfo" in e, get: (e) => e.showTitleInfo, set: (e, o) => {
79
+ e.showTitleInfo = o;
80
+ } }, metadata: r }, x, S), r && Object.defineProperty(i, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: r });
81
+ })(), i.elementName = "sbb-seat-reservation-navigation-services", i.styles = [A, j], i;
82
+ })();
83
+ export {
84
+ K as SbbSeatReservationNavigationServicesElement
85
+ };
@@ -1,4 +1,7 @@
1
- import { t as e } from "../seat-reservation-navigation-services.component-C3xnLJg2.js";
2
- e.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/seat-reservation/seat-reservation-navigation-services.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/seat-reservation.js' or '@sbb-esta/elements-experimental/seat-reservation.pure.js' instead.");
3
- //#endregion
4
- export { e as SbbSeatReservationNavigationServicesElement };
1
+ import { SbbSeatReservationNavigationServicesElement as e } from "./seat-reservation-navigation-services/seat-reservation-navigation-services.component.js";
2
+ e.define();
3
+ console.warn(`The entrypoint '@sbb-esta/elements-experimental/seat-reservation/seat-reservation-navigation-services.js' has been deprecated.
4
+ Use either '@sbb-esta/elements-experimental/seat-reservation.js' or '@sbb-esta/elements-experimental/seat-reservation.pure.js' instead.`);
5
+ export {
6
+ e as SbbSeatReservationNavigationServicesElement
7
+ };
@@ -1,2 +1,203 @@
1
- import { t as e } from "../../seat-reservation-place-control.component-DmBAfM6K.js";
2
- export { e as SbbSeatReservationPlaceControlElement };
1
+ var re = (o) => {
2
+ throw TypeError(o);
3
+ };
4
+ var se = (o, l, i) => l.has(o) || re("Cannot " + i);
5
+ var b = (o, l, i) => (se(o, l, "read from private field"), i ? i.call(o) : l.get(o)), n = (o, l, i) => l.has(o) ? re("Cannot add the same private member more than once") : l instanceof WeakSet ? l.add(o) : l.set(o, i), s = (o, l, i, T) => (se(o, l, "write to private field"), T ? T.call(o, i) : l.set(o, i), i);
6
+ import { __esDecorate as p, __runInitializers as a } from "tslib";
7
+ import { SbbButtonBaseElement as ne } from "@sbb-esta/lyne-elements/core/base-elements.js";
8
+ import { SbbLanguageController as pe } from "@sbb-esta/lyne-elements/core/controllers.js";
9
+ import { forceType as d } from "@sbb-esta/lyne-elements/core/decorators.js";
10
+ import { boxSizingStyles as ve } from "@sbb-esta/lyne-elements/core/styles.js";
11
+ import { css as de, nothing as ae, html as ce } from "lit";
12
+ import { property as v } from "lit/decorators.js";
13
+ import { styleMap as he } from "lit/directives/style-map.js";
14
+ import { getI18nSeatReservation as z } from "../common/translations.js";
15
+ import { SbbSeatReservationGraphicElement as fe } from "../seat-reservation-graphic/seat-reservation-graphic.component.js";
16
+ const ge = de`:host{--sbb-seat-reservation-place-control-text-scale-value: 1;--sbb-seat-reservation-place-control-width: 16;--sbb-seat-reservation-place-control-height: 16;--sbb-seat-reservation-place-control-top: 0;--sbb-seat-reservation-place-control-left: 0;--sbb-seat-reservation-place-control-rotation: 0;--sbb-seat-reservation-place-control-text-rotation: 0;--sbb-seat-reservation-place-control-text-size: calc( var(--sbb-seat-reservation-place-control-text-scale-value, 1) * .5 );--sbb-seat-reservation-place-control-default-text: var(--sbb-color-black);--sbb-seat-reservation-place-control-default-text: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-place-control-hover-text: var(--sbb-color-iron);--sbb-seat-reservation-place-control-hover-text: light-dark( var(--sbb-color-iron), var(--sbb-color-silver) );--sbb-seat-reservation-place-control-focus-text: var(--sbb-color-anthracite);--sbb-seat-reservation-place-control-focus-text: light-dark( var(--sbb-color-anthracite), var(--sbb-color-graphite) );--sbb-seat-reservation-place-control-allocated-text: var(--sbb-color-smoke);--sbb-seat-reservation-place-control-allocated-text: light-dark( var(--sbb-color-smoke), var(--sbb-color-metal) );--sbb-seat-reservation-place-control-free-background-default: var(--sbb-background-color-2);--sbb-seat-reservation-place-control-free-background-hover: var(--sbb-color-cloud);--sbb-seat-reservation-place-control-free-background-hover: light-dark( var(--sbb-color-cloud), var(--sbb-color-midnight) );--sbb-seat-reservation-place-control-free-background-focus: var(--sbb-color-silver);--sbb-seat-reservation-place-control-free-background-focus: light-dark( var(--sbb-color-silver), var(--sbb-color-black) );--sbb-seat-reservation-place-control-free-backrest-background-default: var(--sbb-color-black);--sbb-seat-reservation-place-control-free-backrest-background-default: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-place-control-free-backrest-background-hover: var(--sbb-color-black);--sbb-seat-reservation-place-control-free-backrest-background-hover: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-place-control-free-backrest-background-focus: var(--sbb-color-black);--sbb-seat-reservation-place-control-free-backrest-background-focus: light-dark( var(--sbb-color-black), var(--sbb-color-white) );--sbb-seat-reservation-place-control-selected-background-default: var(--sbb-color-primary);--sbb-seat-reservation-place-control-selected-background-hover: var(--sbb-color-primary125);--sbb-seat-reservation-place-control-selected-background-focus: var(--sbb-color-primary150);--sbb-seat-reservation-place-control-selected-backrest-background-default: var( --sbb-color-primary150 );--sbb-seat-reservation-place-control-selected-backrest-background-hover: #7d000f;--sbb-seat-reservation-place-control-selected-backrest-background-focus: #5a000b;--sbb-seat-reservation-place-control-allocated-background-default: var(--sbb-color-milk);--sbb-seat-reservation-place-control-allocated-background-default: light-dark( var(--sbb-color-milk), var(--sbb-color-midnight) );--sbb-seat-reservation-place-control-free-backrest-high-contrast: CanvasText;--sbb-seat-reservation-place-control-free-background-high-contrast: Canvas;--sbb-seat-reservation-place-control-free-text-high-contrast: ButtonText;--sbb-seat-reservation-place-control-free-icon-high-contrast: CanvasText;--sbb-seat-reservation-place-control-allocated-backrest-high-contrast: GrayText;--sbb-seat-reservation-place-control-allocated-background-high-contrast: Canvas;--sbb-seat-reservation-place-control-allocated-text-high-contrast: GrayText;--sbb-seat-reservation-place-control-allocated-icon-high-contrast: GrayText;width:calc(var(--sbb-seat-reservation-place-control-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem));height:calc(var(--sbb-seat-reservation-place-control-height) * var(--sbb-seat-reservation-one-px-rem, .0625rem));position:absolute;inset-block-start:calc(var(--sbb-seat-reservation-place-control-top) * var(--sbb-seat-reservation-one-px-rem, .0625rem));inset-inline-start:calc(var(--sbb-seat-reservation-place-control-left) * var(--sbb-seat-reservation-one-px-rem, .0625rem));font-weight:300;cursor:var(--sbb-cursor-pointer)}:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-free-background-hover)}:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-free-backrest-background-hover)}:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-free-background-hover);color:var(--sbb-seat-reservation-place-control-free-text)}@media(forced-colors:active){:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-free-background-high-contrast)}:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-free-backrest-high-contrast)}:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-icon){fill:var(--sbb-seat-reservation-place-control-free-icon-high-contrast)}:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-seatline){stroke:var(--sbb-seat-reservation-place-control-free-backrest-high-contrast)}:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text{forced-color-adjust:none;background-color:var(--sbb-seat-reservation-place-control-free-background-high-contrast);color:var(--sbb-seat-reservation-place-control-free-text-high-contrast)}}:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-selected-background-hover)}:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-selected-backrest-background-hover)}:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-selected-background-hover);color:var(--sbb-seat-reservation-place-control-selected-text)}:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-free-background-focus)}:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-free-backrest-background-focus)}:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-free-background-focus);color:var(--sbb-seat-reservation-place-control-free-text)}@media(forced-colors:active){:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-free-background-high-contrast)}:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-free-backrest-high-contrast)}:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-icon){fill:var(--sbb-seat-reservation-place-control-free-icon-high-contrast)}:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-seatline){stroke:var(--sbb-seat-reservation-place-control-free-backrest-high-contrast)}:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text{forced-color-adjust:none;background-color:var(--sbb-seat-reservation-place-control-free-background-high-contrast);color:var(--sbb-seat-reservation-place-control-free-text-high-contrast)}}:host(:active) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-selected-background-focus)}:host(:active) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-selected-backrest-background-focus)}:host(:active) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-selected-background-focus);color:var(--sbb-seat-reservation-place-control-selected-text)}:host(:dir(rtl)) :not(.sbb-sr-place-ctrl--type-bicycle,.sbb-sr-place-ctrl--orientation-90,.sbb-sr-place-ctrl--orientation-270,.sbb-sr-place-ctrl--state-selected) ::part(svg-place){rotate:180deg}.sbb-sr-place-ctrl{width:max-content;position:relative;font-size:calc(var(--sbb-seat-reservation-place-control-text-size) * var(--sbb-seat-reservation-one-px-rem, .0625rem))}.sbb-sr-place-ctrl--state-free ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-free-background-default)}.sbb-sr-place-ctrl--state-free ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-free-backrest-background-default)}.sbb-sr-place-ctrl--state-free .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-free-background-default);color:var(--sbb-seat-reservation-place-control-free-text)}@media(forced-colors:active){.sbb-sr-place-ctrl--state-free ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-free-background-high-contrast)}.sbb-sr-place-ctrl--state-free ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-free-backrest-high-contrast)}.sbb-sr-place-ctrl--state-free ::part(svg-icon){fill:var(--sbb-seat-reservation-place-control-free-icon-high-contrast)}.sbb-sr-place-ctrl--state-free ::part(svg-seatline){stroke:var(--sbb-seat-reservation-place-control-free-backrest-high-contrast)}.sbb-sr-place-ctrl--state-free .sbb-sr-place-ctrl__text{forced-color-adjust:none;background-color:var(--sbb-seat-reservation-place-control-free-background-high-contrast);color:var(--sbb-seat-reservation-place-control-free-text-high-contrast)}}.sbb-sr-place-ctrl--state-selected ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-selected-background-default)}.sbb-sr-place-ctrl--state-selected ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-selected-backrest-background-default)}.sbb-sr-place-ctrl--state-selected .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-selected-background-default);color:var(--sbb-seat-reservation-place-control-selected-text)}.sbb-sr-place-ctrl--state-allocated ::part(svg-place),.sbb-sr-place-ctrl--state-restricted ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-allocated-background-default)}.sbb-sr-place-ctrl--state-allocated ::part(svg-backrest),.sbb-sr-place-ctrl--state-restricted ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-allocated-backrest-background-default)}.sbb-sr-place-ctrl--state-allocated .sbb-sr-place-ctrl__text,.sbb-sr-place-ctrl--state-restricted .sbb-sr-place-ctrl__text{background-color:var(--sbb-seat-reservation-place-control-allocated-background-default);color:var(--sbb-seat-reservation-place-control-allocated-text)}@media(forced-colors:active){.sbb-sr-place-ctrl--state-allocated ::part(svg-place),.sbb-sr-place-ctrl--state-restricted ::part(svg-place){fill:var(--sbb-seat-reservation-place-control-allocated-background-high-contrast)}.sbb-sr-place-ctrl--state-allocated ::part(svg-backrest),.sbb-sr-place-ctrl--state-restricted ::part(svg-backrest){fill:var(--sbb-seat-reservation-place-control-allocated-backrest-high-contrast)}.sbb-sr-place-ctrl--state-allocated ::part(svg-icon),.sbb-sr-place-ctrl--state-restricted ::part(svg-icon){fill:var(--sbb-seat-reservation-place-control-allocated-icon-high-contrast)}.sbb-sr-place-ctrl--state-allocated ::part(svg-seatline),.sbb-sr-place-ctrl--state-restricted ::part(svg-seatline){stroke:var(--sbb-seat-reservation-place-control-allocated-backrest-high-contrast)}.sbb-sr-place-ctrl--state-allocated .sbb-sr-place-ctrl__text,.sbb-sr-place-ctrl--state-restricted .sbb-sr-place-ctrl__text{forced-color-adjust:none;background-color:var(--sbb-seat-reservation-place-control-allocated-background-high-contrast);color:var(--sbb-seat-reservation-place-control-allocated-text-high-contrast)}}.sbb-sr-place-ctrl--state-allocated,.sbb-sr-place-ctrl--state-restricted{cursor:not-allowed}.sbb-sr-place-ctrl__text{overflow:hidden;display:none;position:absolute;inset-block-start:50%;translate:-50% -50%;rotate:calc(var(--sbb-seat-reservation-place-control-text-rotation) * 1deg);font-family:var(--sbb-typo-font-family);font-size:.75em;line-height:initial}.sbb-sr-place-ctrl--state-free .sbb-sr-place-ctrl__text,.sbb-sr-place-ctrl--state-allocated .sbb-sr-place-ctrl__text,.sbb-sr-place-ctrl--state-restricted.sbb-sr-place-ctrl--type-bicycle .sbb-sr-place-ctrl__text{display:block}.sbb-sr-place-ctrl--type-bicycle .sbb-sr-place-ctrl__text{inset-block-start:65%;inset-inline-start:50%;transform-origin:center 16%;font-size:.6875em}.sbb-sr-place-ctrl--orientation-0.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text{inset-inline-start:45%}.sbb-sr-place-ctrl--orientation-90.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text{inset-block-start:46%;inset-inline-start:50%}.sbb-sr-place-ctrl--orientation-180.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text{inset-inline-start:55%}.sbb-sr-place-ctrl--orientation-270.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text{inset-block-start:52%;inset-inline-start:52%}:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-0 .sbb-sr-place-ctrl__text{inset-inline-start:3%}:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-90 .sbb-sr-place-ctrl__text,:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-180 .sbb-sr-place-ctrl__text{inset-inline-start:10%}:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-270 .sbb-sr-place-ctrl__text{inset-inline-start:5%}:host(:dir(rtl)) .sbb-sr-place-ctrl--type-bicycle .sbb-sr-place-ctrl__text{inset-inline-start:-10%}`;
17
+ fe.define();
18
+ let Ce = (() => {
19
+ var h, f, g, u, k, _, x, y, m, I, c;
20
+ let o = ne, l, i = [], T = [], C, N = [], L = [], O, R = [], $ = [], A, P = [], j = [], V, S = [], B = [], F, G = [], U = [], Y, H = [], K = [], M, q = [], J = [], Q, W = [], X = [], Z, ee = [], te = [];
21
+ return c = class extends o {
22
+ constructor() {
23
+ super();
24
+ n(this, h);
25
+ n(this, f);
26
+ n(this, g);
27
+ n(this, u);
28
+ n(this, k);
29
+ n(this, _);
30
+ n(this, x);
31
+ n(this, y);
32
+ n(this, m);
33
+ n(this, I);
34
+ s(this, h, a(this, i, "SEAT")), s(this, f, (a(this, T), a(this, N, "FREE"))), s(this, g, (a(this, L), a(this, R, "NONE"))), s(this, u, (a(this, $), a(this, P, []))), s(this, k, (a(this, j), a(this, S, ""))), s(this, _, (a(this, B), a(this, G, null))), s(this, x, (a(this, U), a(this, H, null))), s(this, y, (a(this, K), a(this, q, !1))), s(this, m, (a(this, J), a(this, W, "unfocus"))), s(this, I, (a(this, X), a(this, ee, !1))), this._optionalScreenreaderInfo = (a(this, te), ""), this._language = new pe(this), this.addEventListener("click", () => this._selectPlace());
35
+ }
36
+ /** placeType of the place, e.g. 'SEAT', 'BICYCLE' */
37
+ get placeType() {
38
+ return b(this, h);
39
+ }
40
+ set placeType(t) {
41
+ s(this, h, t);
42
+ }
43
+ /** state of the place, e.g. 'FREE', 'SELECTED', 'BLOCKED' */
44
+ get state() {
45
+ return b(this, f);
46
+ }
47
+ set state(t) {
48
+ s(this, f, t);
49
+ }
50
+ /** direction of a whole train, used to compute an orientation of a place */
51
+ get travelDirection() {
52
+ return b(this, g);
53
+ }
54
+ set travelDirection(t) {
55
+ s(this, g, t);
56
+ }
57
+ /** property ids of the place, to display more info about the place */
58
+ get propertyIds() {
59
+ return b(this, u);
60
+ }
61
+ set propertyIds(t) {
62
+ s(this, u, t);
63
+ }
64
+ /** label of the place, e.g. '1A', '2B' */
65
+ get text() {
66
+ return b(this, k);
67
+ }
68
+ set text(t) {
69
+ s(this, k, t);
70
+ }
71
+ /** Deck Index Prop to identifier the right place to deck */
72
+ get deckIndex() {
73
+ return b(this, _);
74
+ }
75
+ set deckIndex(t) {
76
+ s(this, _, t);
77
+ }
78
+ /** Coach Index Prop to identifier the right place to coach */
79
+ get coachIndex() {
80
+ return b(this, x);
81
+ }
82
+ set coachIndex(t) {
83
+ s(this, x, t);
84
+ }
85
+ /** Prevent click prop prevent any place action */
86
+ get preventClick() {
87
+ return b(this, y);
88
+ }
89
+ set preventClick(t) {
90
+ s(this, y, t);
91
+ }
92
+ /** Set the place focus outline style */
93
+ get keyfocus() {
94
+ return b(this, m);
95
+ }
96
+ set keyfocus(t) {
97
+ s(this, m, t);
98
+ }
99
+ /** Disable the mouse over title information */
100
+ get showTitleInfo() {
101
+ return b(this, I);
102
+ }
103
+ set showTitleInfo(t) {
104
+ s(this, I, t);
105
+ }
106
+ willUpdate(t) {
107
+ super.willUpdate(t), t.has("keyfocus") && this.keyfocus === "focus" && this.focus(), t.has("showTitleInfo") && (this.showTitleInfo || (this.title = ""));
108
+ }
109
+ render() {
110
+ const t = this._getPlaceSvg(this.placeType, this.state), e = this.type.toLowerCase(), r = this.state.toLowerCase(), w = this.text, D = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-width"), oe = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-height"), E = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-rotation"), le = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-text-rotation"), ie = Number(le) - Number(E), be = this.preventClick ? "sbb-reservation-place-control--disabled" : null;
111
+ return this.showTitleInfo ? this.title = this._getTitleDescriptionPlace(E) : this._optionalScreenreaderInfo = this._getTitleDescriptionPlace(E), this.tabIndex = -1, ce`
112
+ <div
113
+ part="sbb-sr-place-part"
114
+ class="sbb-sr-place-ctrl sbb-sr-place-ctrl--orientation-${E} sbb-sr-place-ctrl--state-${r} sbb-sr-place-ctrl--type-${e} ${be}"
115
+ >
116
+ <sbb-seat-reservation-graphic
117
+ style=${he({
118
+ "--sbb-seat-reservation-graphic-width": D,
119
+ "--sbb-seat-reservation-graphic-height": oe,
120
+ "--sbb-seat-reservation-graphic-rotation": E,
121
+ "--sbb-seat-reservation-graphic-inverse-rotation": ie
122
+ })}
123
+ .name=${t}
124
+ aria-hidden="true"
125
+ ></sbb-seat-reservation-graphic>
126
+ <span ${this.text ?? ae} class="sbb-sr-place-ctrl__text" aria-hidden="true"
127
+ >${w}</span
128
+ >
129
+ ${this.showTitleInfo ? ae : ce`<sbb-screen-reader-only id="${this.id}"
130
+ >${this._optionalScreenreaderInfo}</sbb-screen-reader-only
131
+ >`}
132
+ </div>
133
+ `;
134
+ }
135
+ _getPlaceSvg(t, e) {
136
+ return `PLACE_${t}_${e}`;
137
+ }
138
+ _getTitleDescriptionPlace(t) {
139
+ const e = "PLACE_CONTROL_" + this.type + "_" + this.state;
140
+ let r = z(e, this._language.current, [this.text]);
141
+ const w = this._getRelativeTravelDirection(t);
142
+ return (this.propertyIds.length || w) && (r += ". " + z("PLACE_PROPERTY", this._language.current).concat(": "), r += [w, ...this.propertyIds].map((D) => z("PLACE_PROPERTIES." + D, this._language.current)).filter((D) => D).join(", ")), r;
143
+ }
144
+ _getRelativeTravelDirection(t) {
145
+ if (!this.travelDirection || this.travelDirection === "NONE" || this.placeType !== "SEAT" || !t)
146
+ return;
147
+ const e = Number(t);
148
+ if (e === 90 || e === 270)
149
+ return "TRAVEL_DIRECTION_TRANSVERSELY";
150
+ if (e === 0 && this.travelDirection === "RIGHT" || e === 180 && this.travelDirection === "LEFT")
151
+ return "TRAVEL_DIRECTION_IN_DIRECTION";
152
+ if (e === 0 || e === 180)
153
+ return "TRAVEL_DIRECTION_IN_OPPOSITE_DIRECTION";
154
+ }
155
+ /** If the place selectable, we emit the placeSelection object which contains infos to the place state */
156
+ _selectPlace() {
157
+ if ((this.state === "FREE" || this.state === "SELECTED") && !this.preventClick) {
158
+ this.state = this.state === "FREE" ? "SELECTED" : "FREE";
159
+ const e = {
160
+ id: this.id,
161
+ deckIndex: this.deckIndex,
162
+ coachIndex: this.coachIndex,
163
+ number: this.text,
164
+ state: this.state,
165
+ placeType: this.placeType
166
+ };
167
+ this.dispatchEvent(new CustomEvent("selectplace", {
168
+ detail: e,
169
+ bubbles: !0,
170
+ composed: !0
171
+ }));
172
+ }
173
+ }
174
+ }, h = new WeakMap(), f = new WeakMap(), g = new WeakMap(), u = new WeakMap(), k = new WeakMap(), _ = new WeakMap(), x = new WeakMap(), y = new WeakMap(), m = new WeakMap(), I = new WeakMap(), (() => {
175
+ const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(o[Symbol.metadata] ?? null) : void 0;
176
+ l = [d(), v({ attribute: "type" })], C = [d(), v({ attribute: "state", reflect: !0 })], O = [v({ attribute: "travel-direction" })], A = [v({ attribute: "propertyIds", type: Array })], V = [d(), v({ attribute: "text" })], F = [d(), v({ attribute: "deck-index", type: Number })], Y = [d(), v({ attribute: "coach-index", type: Number })], M = [d(), v({ attribute: "prevent-click", type: Boolean })], Q = [d(), v({ attribute: "keyfocus" })], Z = [d(), v({ type: Boolean, useDefault: !0 })], p(c, null, l, { kind: "accessor", name: "placeType", static: !1, private: !1, access: { has: (e) => "placeType" in e, get: (e) => e.placeType, set: (e, r) => {
177
+ e.placeType = r;
178
+ } }, metadata: t }, i, T), p(c, null, C, { kind: "accessor", name: "state", static: !1, private: !1, access: { has: (e) => "state" in e, get: (e) => e.state, set: (e, r) => {
179
+ e.state = r;
180
+ } }, metadata: t }, N, L), p(c, null, O, { kind: "accessor", name: "travelDirection", static: !1, private: !1, access: { has: (e) => "travelDirection" in e, get: (e) => e.travelDirection, set: (e, r) => {
181
+ e.travelDirection = r;
182
+ } }, metadata: t }, R, $), p(c, null, A, { kind: "accessor", name: "propertyIds", static: !1, private: !1, access: { has: (e) => "propertyIds" in e, get: (e) => e.propertyIds, set: (e, r) => {
183
+ e.propertyIds = r;
184
+ } }, metadata: t }, P, j), p(c, null, V, { kind: "accessor", name: "text", static: !1, private: !1, access: { has: (e) => "text" in e, get: (e) => e.text, set: (e, r) => {
185
+ e.text = r;
186
+ } }, metadata: t }, S, B), p(c, null, F, { kind: "accessor", name: "deckIndex", static: !1, private: !1, access: { has: (e) => "deckIndex" in e, get: (e) => e.deckIndex, set: (e, r) => {
187
+ e.deckIndex = r;
188
+ } }, metadata: t }, G, U), p(c, null, Y, { kind: "accessor", name: "coachIndex", static: !1, private: !1, access: { has: (e) => "coachIndex" in e, get: (e) => e.coachIndex, set: (e, r) => {
189
+ e.coachIndex = r;
190
+ } }, metadata: t }, H, K), p(c, null, M, { kind: "accessor", name: "preventClick", static: !1, private: !1, access: { has: (e) => "preventClick" in e, get: (e) => e.preventClick, set: (e, r) => {
191
+ e.preventClick = r;
192
+ } }, metadata: t }, q, J), p(c, null, Q, { kind: "accessor", name: "keyfocus", static: !1, private: !1, access: { has: (e) => "keyfocus" in e, get: (e) => e.keyfocus, set: (e, r) => {
193
+ e.keyfocus = r;
194
+ } }, metadata: t }, W, X), p(c, null, Z, { kind: "accessor", name: "showTitleInfo", static: !1, private: !1, access: { has: (e) => "showTitleInfo" in e, get: (e) => e.showTitleInfo, set: (e, r) => {
195
+ e.showTitleInfo = r;
196
+ } }, metadata: t }, ee, te), t && Object.defineProperty(c, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
197
+ })(), c.elementName = "sbb-seat-reservation-place-control", c.styles = [ve, ge], c.events = {
198
+ selectplace: "selectplace"
199
+ }, c;
200
+ })();
201
+ export {
202
+ Ce as SbbSeatReservationPlaceControlElement
203
+ };
@@ -1,4 +1,7 @@
1
- import { t as e } from "../seat-reservation-place-control.component-DmBAfM6K.js";
2
- e.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/seat-reservation/seat-reservation-place-control.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/seat-reservation.js' or '@sbb-esta/elements-experimental/seat-reservation.pure.js' instead.");
3
- //#endregion
4
- export { e as SbbSeatReservationPlaceControlElement };
1
+ import { SbbSeatReservationPlaceControlElement as e } from "./seat-reservation-place-control/seat-reservation-place-control.component.js";
2
+ e.define();
3
+ console.warn(`The entrypoint '@sbb-esta/elements-experimental/seat-reservation/seat-reservation-place-control.js' has been deprecated.
4
+ Use either '@sbb-esta/elements-experimental/seat-reservation.js' or '@sbb-esta/elements-experimental/seat-reservation.pure.js' instead.`);
5
+ export {
6
+ e as SbbSeatReservationPlaceControlElement
7
+ };