@sbb-esta/lyne-elements-experimental 4.9.0 → 4.10.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 (182) hide show
  1. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +1 -1
  2. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  3. package/autocomplete-grid/autocomplete-grid-cell.js +1 -1
  4. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  5. package/autocomplete-grid/autocomplete-grid-option.js +1 -1
  6. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  7. package/autocomplete-grid/autocomplete-grid-row.js +1 -1
  8. package/{autocomplete-grid-cell.component-DnCfVJ2l.js → autocomplete-grid-cell.component-DkD9aFKc.js} +5 -5
  9. package/autocomplete-grid-option.component-CtATJy7n.js +37 -0
  10. package/autocomplete-grid-row.component-6nJv5PMj.js +27 -0
  11. package/autocomplete-grid.js +3 -3
  12. package/autocomplete-grid.pure.js +3 -3
  13. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +2 -2
  14. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +1 -1
  15. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  16. package/development/autocomplete-grid/autocomplete-grid-cell.js +1 -1
  17. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  18. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  19. package/development/autocomplete-grid/autocomplete-grid-option.js +1 -1
  20. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +1 -1
  21. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  22. package/development/autocomplete-grid/autocomplete-grid-row.js +1 -1
  23. package/development/autocomplete-grid-cell.component-BxkWGaX0.js +34 -0
  24. package/development/autocomplete-grid-option.component-5mPGswUO.js +61 -0
  25. package/development/autocomplete-grid-row.component-DEm6zyHZ.js +39 -0
  26. package/development/autocomplete-grid.js +3 -3
  27. package/development/autocomplete-grid.pure.js +3 -3
  28. package/development/core/datetime/date-helper.js +1 -1
  29. package/development/core/datetime.js +1 -1
  30. package/development/{date-helper-8_Y-PuHh.js → date-helper-qNdwgC9O.js} +4 -4
  31. package/development/{differenceInMinutes-DN_1Rk3O.js → differenceInMinutes-B7_GTDq7.js} +2 -2
  32. package/development/{format-Bbrn2bgo.js → format-DFx4997p.js} +3 -3
  33. package/development/{isValid-C-HzKv4v.js → isValid-JpZ7FphI.js} +2 -2
  34. package/development/journey-summary/journey-summary.component.d.ts.map +1 -1
  35. package/development/journey-summary/journey-summary.component.js +1 -1
  36. package/development/journey-summary.component-BZwgD4im.js +340 -0
  37. package/development/journey-summary.js +1 -1
  38. package/development/journey-summary.pure.js +1 -1
  39. package/development/pearl-chain/pearl-chain.component.d.ts.map +1 -1
  40. package/development/pearl-chain/pearl-chain.component.js +1 -1
  41. package/development/pearl-chain-time/pearl-chain-time.component.d.ts.map +1 -1
  42. package/development/pearl-chain-time/pearl-chain-time.component.js +1 -1
  43. package/development/pearl-chain-time.component-B2_BI6E_.js +319 -0
  44. package/development/pearl-chain-time.js +1 -1
  45. package/development/pearl-chain-time.pure.js +1 -1
  46. package/development/pearl-chain-vertical/pearl-chain-vertical.component.d.ts.map +1 -1
  47. package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +1 -1
  48. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts.map +1 -1
  49. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +1 -1
  50. package/development/pearl-chain-vertical-item.component-DcmH13Vb.js +133 -0
  51. package/development/pearl-chain-vertical-item.js +1 -1
  52. package/development/pearl-chain-vertical-item.pure.js +1 -1
  53. package/development/pearl-chain-vertical.component-CpcNFl-x.js +31 -0
  54. package/development/pearl-chain-vertical.js +1 -1
  55. package/development/pearl-chain-vertical.pure.js +1 -1
  56. package/development/pearl-chain.component-oQZUzsyW.js +316 -0
  57. package/development/pearl-chain.js +1 -1
  58. package/development/pearl-chain.pure.js +1 -1
  59. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
  60. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +8 -1
  61. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
  62. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
  63. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts.map +1 -1
  64. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +1 -1
  65. package/development/seat-reservation/seat-reservation-area.js +1 -1
  66. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +1 -1
  67. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts.map +1 -1
  68. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +1 -1
  69. package/development/seat-reservation/seat-reservation-graphic.js +1 -1
  70. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -1
  71. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +1 -1
  72. package/development/seat-reservation/seat-reservation-navigation-coach.js +1 -1
  73. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +1 -1
  74. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +1 -1
  75. package/development/seat-reservation/seat-reservation-navigation-services.js +1 -1
  76. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -1
  77. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +1 -1
  78. package/development/seat-reservation/seat-reservation-place-control.js +1 -1
  79. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts.map +1 -1
  80. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +1 -1
  81. package/development/seat-reservation/seat-reservation-scoped.js +1 -1
  82. package/development/seat-reservation/seat-reservation.js +1 -1
  83. package/development/seat-reservation-area.component-DbeuTnXT.js +96 -0
  84. package/development/seat-reservation-graphic.component-DlrHtlia.js +129 -0
  85. package/development/seat-reservation-navigation-coach.component-CjoDkcVU.js +428 -0
  86. package/development/seat-reservation-navigation-services.component-CGel7__P.js +159 -0
  87. package/development/seat-reservation-place-control.component-CM9efId7.js +429 -0
  88. package/development/seat-reservation-scoped.component-CFA_bJ3o.js +25 -0
  89. package/development/seat-reservation.component-DFJVFmrI.js +510 -0
  90. package/development/seat-reservation.js +7 -7
  91. package/development/seat-reservation.pure.js +7 -7
  92. package/development/timetable-duration/timetable-duration.component.d.ts.map +1 -1
  93. package/development/timetable-duration/timetable-duration.component.js +1 -1
  94. package/development/timetable-duration.component-BhFlqYbV.js +100 -0
  95. package/development/timetable-duration.js +1 -1
  96. package/development/timetable-duration.pure.js +1 -1
  97. package/development/timetable-row/timetable-row.component.d.ts.map +1 -1
  98. package/development/timetable-row/timetable-row.component.js +1 -1
  99. package/development/timetable-row.component-Dko8laRT.js +729 -0
  100. package/development/timetable-row.js +1 -1
  101. package/development/timetable-row.pure.js +1 -1
  102. package/development/{toDate-Biiv3kyf.js → toDate-DOFAOjP-.js} +2 -2
  103. package/journey-summary/journey-summary.component.js +1 -1
  104. package/{journey-summary.component-DcpXXucp.js → journey-summary.component-DC7-qPHY.js} +38 -38
  105. package/journey-summary.js +1 -1
  106. package/journey-summary.pure.js +1 -1
  107. package/package.json +2 -2
  108. package/pearl-chain/pearl-chain.component.js +1 -1
  109. package/pearl-chain-time/pearl-chain-time.component.js +1 -1
  110. package/{pearl-chain-time.component-v6zRg_3j.js → pearl-chain-time.component-CkKsrbgQ.js} +28 -28
  111. package/pearl-chain-time.js +1 -1
  112. package/pearl-chain-time.pure.js +1 -1
  113. package/pearl-chain-vertical/pearl-chain-vertical.component.js +1 -1
  114. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +1 -1
  115. package/pearl-chain-vertical-item.component-BUqZ-3Ay.js +108 -0
  116. package/pearl-chain-vertical-item.js +1 -1
  117. package/pearl-chain-vertical-item.pure.js +1 -1
  118. package/{pearl-chain-vertical.component-BvJwcGpS.js → pearl-chain-vertical.component-Df9CvRxo.js} +5 -5
  119. package/pearl-chain-vertical.js +1 -1
  120. package/pearl-chain-vertical.pure.js +1 -1
  121. package/pearl-chain.component-CpISVoAu.js +194 -0
  122. package/pearl-chain.js +1 -1
  123. package/pearl-chain.pure.js +1 -1
  124. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +6 -0
  125. package/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
  126. package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +1 -1
  127. package/seat-reservation/seat-reservation-area.js +1 -1
  128. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +1 -1
  129. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +1 -1
  130. package/seat-reservation/seat-reservation-graphic.js +1 -1
  131. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +1 -1
  132. package/seat-reservation/seat-reservation-navigation-coach.js +1 -1
  133. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +1 -1
  134. package/seat-reservation/seat-reservation-navigation-services.js +1 -1
  135. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +1 -1
  136. package/seat-reservation/seat-reservation-place-control.js +1 -1
  137. package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +1 -1
  138. package/seat-reservation/seat-reservation-scoped.js +1 -1
  139. package/seat-reservation/seat-reservation.js +1 -1
  140. package/seat-reservation-area.component-CtYawDjE.js +75 -0
  141. package/seat-reservation-graphic.component-Cm_pVxaB.js +102 -0
  142. package/seat-reservation-navigation-coach.component-sug9IBTH.js +333 -0
  143. package/{seat-reservation-navigation-services.component-ViyU_adt.js → seat-reservation-navigation-services.component-C9dDYD_M.js} +19 -19
  144. package/seat-reservation-place-control.component-CE7d9M2b.js +322 -0
  145. package/seat-reservation-scoped.component-DVyP2JGE.js +17 -0
  146. package/{seat-reservation.component-Dl6bnC7-.js → seat-reservation.component-DajC6fqU.js} +51 -51
  147. package/seat-reservation.js +7 -7
  148. package/seat-reservation.pure.js +7 -7
  149. package/timetable-duration/timetable-duration.component.js +1 -1
  150. package/{timetable-duration.component-Puonwsnr.js → timetable-duration.component-BnJA8wSb.js} +12 -12
  151. package/timetable-duration.js +1 -1
  152. package/timetable-duration.pure.js +1 -1
  153. package/timetable-row/timetable-row.component.js +1 -1
  154. package/{timetable-row.component-DMCZaOPM.js → timetable-row.component-DbzBCpKR.js} +59 -59
  155. package/timetable-row.js +1 -1
  156. package/timetable-row.pure.js +1 -1
  157. package/autocomplete-grid-option.component-BlMPM6eh.js +0 -37
  158. package/autocomplete-grid-row.component-Bo2ZbXVX.js +0 -27
  159. package/development/autocomplete-grid-cell.component-BBvM4o2H.js +0 -42
  160. package/development/autocomplete-grid-option.component-QzfM5eIE.js +0 -123
  161. package/development/autocomplete-grid-row.component-H8sCTCkT.js +0 -104
  162. package/development/journey-summary.component-uGhZvA4p.js +0 -385
  163. package/development/pearl-chain-time.component-B8mayTWD.js +0 -415
  164. package/development/pearl-chain-vertical-item.component-BDzbcIaf.js +0 -435
  165. package/development/pearl-chain-vertical.component-CswE7b3M.js +0 -39
  166. package/development/pearl-chain.component-wpsTvoSe.js +0 -704
  167. package/development/seat-reservation-area.component-ORuli_DC.js +0 -138
  168. package/development/seat-reservation-graphic.component-D0xEXmP9.js +0 -203
  169. package/development/seat-reservation-navigation-coach.component-D2QXTMJJ.js +0 -828
  170. package/development/seat-reservation-navigation-services.component-Bg1adRlU.js +0 -179
  171. package/development/seat-reservation-place-control.component-CwUX-QYO.js +0 -726
  172. package/development/seat-reservation-scoped.component-uLT33P9y.js +0 -31
  173. package/development/seat-reservation.component-BS53sZR3.js +0 -824
  174. package/development/timetable-duration.component-D21SXsQq.js +0 -125
  175. package/development/timetable-row.component-Y5w8vEwP.js +0 -932
  176. package/pearl-chain-vertical-item.component-M2KRK6Xv.js +0 -108
  177. package/pearl-chain.component-B-XTTo6h.js +0 -194
  178. package/seat-reservation-area.component-CY56r75x.js +0 -75
  179. package/seat-reservation-graphic.component-DCMFf9uY.js +0 -102
  180. package/seat-reservation-navigation-coach.component-CXUv1pZM.js +0 -333
  181. package/seat-reservation-place-control.component-Dj5Tm0Oa.js +0 -322
  182. package/seat-reservation-scoped.component-CuACI8ST.js +0 -17
@@ -0,0 +1,108 @@
1
+ import { __esDecorate as e, __runInitializers as t } from "tslib";
2
+ import { SbbElement as n } from "@sbb-esta/lyne-elements/core/base-elements.js";
3
+ import { forceType as r } from "@sbb-esta/lyne-elements/core/decorators.js";
4
+ import { boxSizingStyles as i } from "@sbb-esta/lyne-elements/core/styles.js";
5
+ import { html as a, nothing as o, unsafeCSS as s } from "lit";
6
+ import { property as c } from "lit/decorators.js";
7
+ import { styleMap as l } from "lit/directives/style-map.js";
8
+ //#region src/elements-experimental/pearl-chain-vertical-item/pearl-chain-vertical-item.scss?inline
9
+ var u = ":host{--sbb-pearl-chain-position-color: var(--sbb-color-primary);--sbb-pearl-chain-bullet-size-start-end: .625rem;--sbb-pearl-chain-bullet-size-stop: .5rem;--sbb-pearl-chain-bullet-color: var(--sbb-background-color-3-inverted);--sbb-pearl-chain-bullet-color-past: var(--sbb-color-metal);--sbb-pearl-chain-bullet-color-past: light-dark(var(--sbb-color-metal), var(--sbb-color-granite));--sbb-pearl-chain-bullet-color-irrelevant: var(--sbb-color-metal);--sbb-pearl-chain-bullet-color-irrelevant: light-dark( var(--sbb-color-metal), var(--sbb-color-granite) );--sbb-pearl-chain-bullet-color-disruption: var(--sbb-color-error);--sbb-pearl-chain-bullet-border-width: var(--sbb-border-width-2x);--sbb-pearl-chain-bullet-animation-duration: 1.92s;--sbb-pearl-chain-bullet-animation-easing: ease-out;--sbb-pearl-chain-bullet-crossed-width: .88375rem;--sbb-pearl-chain-bullet-crossed-height: .21875rem;--sbb-pearl-chain-bullet-crossed-border-width: .09375rem;display:table-row;position:relative;--sbb-pearl-chain-vertical-right-item-width: 100%;--sbb-pearl-chain-vertical-middle-item-min-width: var(--sbb-pearl-chain-bullet-size-start-end);--sbb-pearl-chain-vertical-item-border-width: var(--sbb-border-width-2x);--sbb-pearl-chain-vertical-item-border-width-thin: var(--sbb-border-width-1x);--sbb-pearl-chain-vertical-item-spacing-small: var(--sbb-spacing-fixed-1x);--sbb-pearl-chain-vertical-item-color-default: var(--sbb-pearl-chain-bullet-color);--sbb-pearl-chain-vertical-item-color-disruption: var(--sbb-pearl-chain-bullet-color-disruption);--sbb-pearl-chain-vertical-item-color-past: var(--sbb-pearl-chain-bullet-color-past);--sbb-pearl-chain-vertical-item-color-walk: var(--sbb-color-sky);--sbb-pearl-chain-vertical-item-inline-start: 50%;--sbb-pearl-chain-vertical-item-transform: translateX(-50%)}slot[name=right],.sbb-pearl-chain-vertical-item__column{display:table-cell;position:relative;vertical-align:top}slot[name=right]{width:var(--sbb-pearl-chain-vertical-right-item-width)}.sbb-pearl-chain-vertical-item__column--middle{min-width:var(--sbb-pearl-chain-vertical-middle-item-min-width, --sbb-pearl-chain-vertical-middle-min-width)}slot[name=left]::slotted(*){margin-block-start:var(--sbb-pearl-chain-vertical-left-item-block-start);padding-inline-end:var(--sbb-pearl-chain-vertical-left-item-inline-end)}slot[name=right]::slotted(*){margin-block-start:var(--sbb-pearl-chain-vertical-right-item-block-start);padding-inline-start:var(--sbb-pearl-chain-vertical-right-item-inline-start)}.sbb-pearl-chain-vertical-item__middle{vertical-align:top;border-spacing:0}.sbb-pearl-chain-vertical-item__line{position:absolute;bottom:0;inset-inline-start:var(--sbb-pearl-chain-vertical-item-inline-start);transform:var(--sbb-pearl-chain-vertical-item-transform);width:var(--sbb-border-width-2x);inset-block-start:calc(var(--sbb-pearl-chain-bullet-size-start-end) / 2)}.sbb-pearl-chain-vertical-item__line:after{content:\"\";position:absolute;inset-inline-start:0;inset-block-start:0;height:var(--sbb-pearl-chain-vertical-item-leg-status);width:var(--sbb-pearl-chain-vertical-item-border-width);background-color:var(--sbb-pearl-chain-vertical-item-color-past)}@media(forced-colors:active){.sbb-pearl-chain-vertical-item__line:after{--sbb-pearl-chain-vertical-item-color-past: GrayText}}.sbb-pearl-chain-vertical-item__line--dotted{background-color:unset;border-color:unset;background-image:linear-gradient(to bottom,currentcolor 0%,currentcolor 50%,Canvas 50%);background-repeat:repeat-y;background-size:calc(2 * var(--sbb-pearl-chain-vertical-item-spacing-small)) var(--sbb-pearl-chain-vertical-item-spacing-small)}@media(forced-colors:active){.sbb-pearl-chain-vertical-item__line--dotted{background-color:unset!important;border-inline-start:.0625rem dashed Highlight;transform:translateY(.0625rem)}}.sbb-pearl-chain-vertical-item__line--thin{width:var(--sbb-pearl-chain-vertical-item-border-width-thin)}.sbb-pearl-chain-vertical-item__line--default{background-color:var(--sbb-pearl-chain-vertical-item-color-default);border-color:var(--sbb-pearl-chain-vertical-item-color-default);color:var(--sbb-pearl-chain-vertical-item-color-default)}@media(forced-colors:active){.sbb-pearl-chain-vertical-item__line--default{--sbb-pearl-chain-vertical-item-color-default: CanvasText}}.sbb-pearl-chain-vertical-item__line--disruption{border-color:var(--sbb-pearl-chain-vertical-item-color-disruption);background-color:var(--sbb-pearl-chain-vertical-item-color-disruption);color:var(--sbb-pearl-chain-vertical-item-color-disruption)}@media(forced-colors:active){.sbb-pearl-chain-vertical-item__line--disruption{--sbb-pearl-chain-vertical-item-color-disruption: Highlight}}.sbb-pearl-chain-vertical-item__line--past{border-color:var(--sbb-pearl-chain-vertical-item-color-past);background-color:var(--sbb-pearl-chain-vertical-item-color-past);color:var(--sbb-pearl-chain-vertical-item-color-past)}@media(forced-colors:active){.sbb-pearl-chain-vertical-item__line--past{--sbb-pearl-chain-vertical-item-color-past: GrayText}}.sbb-pearl-chain-vertical-item__line--walk{border-color:var(--sbb-pearl-chain-vertical-item-color-walk);background-color:var(--sbb-pearl-chain-vertical-item-color-walk);color:var(--sbb-pearl-chain-vertical-item-color-walk)}.sbb-pearl-chain-vertical-item__bullet{position:relative;inset-inline-start:var(--sbb-pearl-chain-vertical-item-inline-start);transform:var(--sbb-pearl-chain-vertical-item-transform);background:var(--sbb-pearl-chain-bullet-color);color:var(--sbb-pearl-chain-bullet-color);border-color:var(--sbb-pearl-chain-bullet-color);border-radius:100%}@media(forced-colors:active){.sbb-pearl-chain-vertical-item__bullet{--sbb-pearl-chain-bullet-color: CanvasText}}.sbb-pearl-chain-vertical-item__bullet--start-end{min-height:var(--sbb-pearl-chain-bullet-size-start-end);min-width:var(--sbb-pearl-chain-bullet-size-start-end);height:var(--sbb-pearl-chain-bullet-size-start-end);width:var(--sbb-pearl-chain-bullet-size-start-end)}.sbb-pearl-chain-vertical-item__bullet--stop{min-height:var(--sbb-pearl-chain-bullet-size-stop);min-width:var(--sbb-pearl-chain-bullet-size-stop);height:var(--sbb-pearl-chain-bullet-size-stop);width:var(--sbb-pearl-chain-bullet-size-stop);border:var(--sbb-pearl-chain-bullet-border-width) solid currentcolor;background:Canvas}.sbb-pearl-chain-vertical-item__bullet--disruption{--sbb-pearl-chain-bullet-color: var(--sbb-pearl-chain-bullet-color-disruption)}@media(forced-colors:active){.sbb-pearl-chain-vertical-item__bullet--disruption{--sbb-pearl-chain-bullet-color: Highlight}}.sbb-pearl-chain-vertical-item__bullet--irrelevant,.sbb-pearl-chain-vertical-item__bullet--past{--sbb-pearl-chain-bullet-color: var(--sbb-pearl-chain-bullet-color-past)}@media(forced-colors:active){.sbb-pearl-chain-vertical-item__bullet--irrelevant,.sbb-pearl-chain-vertical-item__bullet--past{--sbb-pearl-chain-bullet-color: GrayText !important}}.sbb-pearl-chain-vertical-item__bullet--stop.sbb-pearl-chain-vertical-item__bullet--irrelevant{--sbb-pearl-chain-bullet-border-width: var(--sbb-border-width-1x);min-height:var(--sbb-pearl-chain-bullet-size-stop);min-width:var(--sbb-pearl-chain-bullet-size-stop);height:var(--sbb-pearl-chain-bullet-size-stop);width:var(--sbb-pearl-chain-bullet-size-stop);border:var(--sbb-pearl-chain-bullet-border-width) solid currentcolor;background:Canvas}.sbb-pearl-chain-vertical-item__bullet--start-end.sbb-pearl-chain-vertical-item__bullet--skipped{border:var(--sbb-pearl-chain-bullet-border-width) solid currentcolor;background:Canvas}.sbb-pearl-chain-vertical-item__bullet--start-end.sbb-pearl-chain-vertical-item__bullet--skipped:before{content:\"\";position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%) rotate(45deg);border-block-start:var(--sbb-pearl-chain-bullet-crossed-border-width) solid canvas;background:var(--sbb-pearl-chain-bullet-color-disruption);height:var(--sbb-pearl-chain-bullet-crossed-height);width:var(--sbb-pearl-chain-bullet-crossed-width)}@media(forced-colors:active){.sbb-pearl-chain-vertical-item__bullet--start-end.sbb-pearl-chain-vertical-item__bullet--skipped:before{background:Highlight}}.sbb-pearl-chain-vertical-item__bullet--stop.sbb-pearl-chain-vertical-item__bullet--skipped{--sbb-pearl-chain-bullet-crossed-width: .706875rem;--sbb-pearl-chain-bullet-crossed-height: .1875rem;min-height:var(--sbb-pearl-chain-bullet-size-stop);min-width:var(--sbb-pearl-chain-bullet-size-stop);height:var(--sbb-pearl-chain-bullet-size-stop);width:var(--sbb-pearl-chain-bullet-size-stop);border:var(--sbb-pearl-chain-bullet-border-width) solid currentcolor;background:Canvas}.sbb-pearl-chain-vertical-item__bullet--stop.sbb-pearl-chain-vertical-item__bullet--skipped:before{content:\"\";position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%) rotate(45deg);border-block-start:var(--sbb-pearl-chain-bullet-crossed-border-width) solid canvas;background:var(--sbb-pearl-chain-bullet-color-disruption);height:var(--sbb-pearl-chain-bullet-crossed-height);width:var(--sbb-pearl-chain-bullet-crossed-width)}@media(forced-colors:active){.sbb-pearl-chain-vertical-item__bullet--stop.sbb-pearl-chain-vertical-item__bullet--skipped:before{background:Highlight}}.sbb-pearl-chain-vertical-item__bullet--position{inset-block-start:var(--sbb-pearl-chain-vertical-item-position);position:absolute;left:50%;transform:translate(-50%);min-height:var(--sbb-pearl-chain-bullet-size-start-end);min-width:var(--sbb-pearl-chain-bullet-size-start-end);height:var(--sbb-pearl-chain-bullet-size-start-end);width:var(--sbb-pearl-chain-bullet-size-start-end);background:var(--sbb-pearl-chain-bullet-color);color:var(--sbb-pearl-chain-bullet-color);border-color:var(--sbb-pearl-chain-bullet-color);border-radius:100%}@media(forced-colors:active){.sbb-pearl-chain-vertical-item__bullet--position{--sbb-pearl-chain-bullet-color: CanvasText}}.sbb-pearl-chain-vertical-item__bullet--position{--sbb-pearl-chain-bullet-color: var(--sbb-pearl-chain-position-color)}@media(forced-colors:active){.sbb-pearl-chain-vertical-item__bullet--position{--sbb-pearl-chain-position-color: Highlight}}@keyframes pearl-chain-bullet-position-pulse{0%{box-shadow:0 0 0 0 var(--sbb-pearl-chain-position-color)}25%{box-shadow:0 0 0 0 var(--sbb-pearl-chain-position-color)}50%{box-shadow:0 0 0 .1875rem color-mix(in srgb,var(--sbb-pearl-chain-position-color) 20%,transparent)}to{box-shadow:0 0 0 0 var(--sbb-pearl-chain-position-color)}}.sbb-pearl-chain-vertical-item__bullet--position{animation:pearl-chain-bullet-position-pulse var(--sbb-pearl-chain-bullet-animation-duration) var(--sbb-pearl-chain-bullet-animation-easing) infinite}:host([disable-animation]) .sbb-pearl-chain-vertical-item__bullet--position{animation:unset!important}", d = (() => {
10
+ let d = n, f, p = [], m = [], h, g = [], _ = [];
11
+ return class extends d {
12
+ static {
13
+ let t = typeof Symbol == "function" && Symbol.metadata ? Object.create(d[Symbol.metadata] ?? null) : void 0;
14
+ f = [c({
15
+ attribute: "pearl-chain-vertical-item-attributes",
16
+ type: Object
17
+ })], h = [r(), c({
18
+ attribute: "disable-animation",
19
+ reflect: !0,
20
+ type: Boolean
21
+ })], e(this, null, f, {
22
+ kind: "accessor",
23
+ name: "pearlChainVerticalItemAttributes",
24
+ static: !1,
25
+ private: !1,
26
+ access: {
27
+ has: (e) => "pearlChainVerticalItemAttributes" in e,
28
+ get: (e) => e.pearlChainVerticalItemAttributes,
29
+ set: (e, t) => {
30
+ e.pearlChainVerticalItemAttributes = t;
31
+ }
32
+ },
33
+ metadata: t
34
+ }, p, m), e(this, null, h, {
35
+ kind: "accessor",
36
+ name: "disableAnimation",
37
+ static: !1,
38
+ private: !1,
39
+ access: {
40
+ has: (e) => "disableAnimation" in e,
41
+ get: (e) => e.disableAnimation,
42
+ set: (e, t) => {
43
+ e.disableAnimation = t;
44
+ }
45
+ },
46
+ metadata: t
47
+ }, g, _), t && Object.defineProperty(this, Symbol.metadata, {
48
+ enumerable: !0,
49
+ configurable: !0,
50
+ writable: !0,
51
+ value: t
52
+ });
53
+ }
54
+ static {
55
+ this.elementName = "sbb-pearl-chain-vertical-item";
56
+ }
57
+ static {
58
+ this.styles = [i, s(u)];
59
+ }
60
+ #e = t(this, p, null);
61
+ get pearlChainVerticalItemAttributes() {
62
+ return this.#e;
63
+ }
64
+ set pearlChainVerticalItemAttributes(e) {
65
+ this.#e = e;
66
+ }
67
+ #t = (t(this, m), t(this, g, !1));
68
+ get disableAnimation() {
69
+ return this.#t;
70
+ }
71
+ set disableAnimation(e) {
72
+ this.#t = e;
73
+ }
74
+ render() {
75
+ let { bulletType: e, lineType: t, lineColor: n, hideLine: r, minHeight: i, bulletSize: s, position: c } = this.pearlChainVerticalItemAttributes || {}, u = c && c > 0 && c <= 100 ? "sbb-pearl-chain-vertical-item__bullet--past" : `sbb-pearl-chain-vertical-item__bullet--${e}`;
76
+ return a`
77
+ <div
78
+ class="sbb-pearl-chain-vertical-item__column"
79
+ style=${l({ height: `${i}px` })}
80
+ >
81
+ <slot name="left"></slot>
82
+ </div>
83
+ <div
84
+ aria-hidden="true"
85
+ class="sbb-pearl-chain-vertical-item__column sbb-pearl-chain-vertical-item__column--middle"
86
+ >
87
+ ${r ? o : a`<div
88
+ style=${l({ "--sbb-pearl-chain-vertical-item-leg-status": `${c}%` })}
89
+ class="sbb-pearl-chain-vertical-item__line sbb-pearl-chain-vertical-item__line--${t} sbb-pearl-chain-vertical-item__line--${n}"
90
+ ></div>`}
91
+ ${e ? a`<div
92
+ class="sbb-pearl-chain-vertical-item__bullet sbb-pearl-chain-vertical-item__bullet--${s} ${u}"
93
+ ></div>` : o}
94
+ ${c && c > 0 ? a`<div
95
+ style=${l({ "--sbb-pearl-chain-vertical-item-position": `${c}%` })}
96
+ class="sbb-pearl-chain-vertical-item__bullet--position"
97
+ ></div>` : o}
98
+ </div>
99
+ <slot name="right"></slot>
100
+ `;
101
+ }
102
+ constructor() {
103
+ super(...arguments), t(this, _);
104
+ }
105
+ };
106
+ })();
107
+ //#endregion
108
+ export { d as t };
@@ -1,4 +1,4 @@
1
- import { t as e } from "./pearl-chain-vertical-item.component-M2KRK6Xv.js";
1
+ import { t as e } from "./pearl-chain-vertical-item.component-BUqZ-3Ay.js";
2
2
  import "./pearl-chain-vertical-item.pure.js";
3
3
  //#region src/elements-experimental/pearl-chain-vertical-item.ts
4
4
  e.define();
@@ -1,2 +1,2 @@
1
- import { t as e } from "./pearl-chain-vertical-item.component-M2KRK6Xv.js";
1
+ import { t as e } from "./pearl-chain-vertical-item.component-BUqZ-3Ay.js";
2
2
  export { e as SbbPearlChainVerticalItemElement };
@@ -1,16 +1,16 @@
1
1
  import { SbbElement as e } from "@sbb-esta/lyne-elements/core/base-elements.js";
2
2
  import { boxSizingStyles as t } from "@sbb-esta/lyne-elements/core/styles.js";
3
- import { css as n, html as r } from "lit";
4
- //#region src/elements-experimental/pearl-chain-vertical/pearl-chain-vertical.scss?lit&inline
5
- var i = n`:host{--sbb-pearl-chain-vertical-width: 100%;display:block}.sbb-pearl-chain-vertical{display:table;width:var(--sbb-pearl-chain-vertical-width)}`, a = class extends e {
3
+ import { html as n, unsafeCSS as r } from "lit";
4
+ //#region src/elements-experimental/pearl-chain-vertical/pearl-chain-vertical.scss?inline
5
+ var i = ":host{--sbb-pearl-chain-vertical-width: 100%;display:block}.sbb-pearl-chain-vertical{display:table;width:var(--sbb-pearl-chain-vertical-width)}", a = class extends e {
6
6
  static {
7
7
  this.elementName = "sbb-pearl-chain-vertical";
8
8
  }
9
9
  static {
10
- this.styles = [t, i];
10
+ this.styles = [t, r(i)];
11
11
  }
12
12
  render() {
13
- return r`
13
+ return n`
14
14
  <div class="sbb-pearl-chain-vertical">
15
15
  <slot></slot>
16
16
  </div>
@@ -1,4 +1,4 @@
1
- import { t as e } from "./pearl-chain-vertical.component-BvJwcGpS.js";
1
+ import { t as e } from "./pearl-chain-vertical.component-Df9CvRxo.js";
2
2
  import "./pearl-chain-vertical.pure.js";
3
3
  //#region src/elements-experimental/pearl-chain-vertical.ts
4
4
  e.define();
@@ -1,2 +1,2 @@
1
- import { t as e } from "./pearl-chain-vertical.component-BvJwcGpS.js";
1
+ import { t as e } from "./pearl-chain-vertical.component-Df9CvRxo.js";
2
2
  export { e as SbbPearlChainVerticalElement };
@@ -0,0 +1,194 @@
1
+ import { t as e } from "./toDate-p-Tpkb7t.js";
2
+ import { r as t, t as n } from "./differenceInMinutes-Dr9gRqtu.js";
3
+ import { __esDecorate as r, __runInitializers as i } from "tslib";
4
+ import { SbbElement as a } from "@sbb-esta/lyne-elements/core/base-elements.js";
5
+ import { forceType as o } from "@sbb-esta/lyne-elements/core/decorators.js";
6
+ import { boxSizingStyles as s } from "@sbb-esta/lyne-elements/core/styles.js";
7
+ import { html as c, nothing as l, unsafeCSS as u } from "lit";
8
+ import { defaultDateAdapter as d } from "@sbb-esta/lyne-elements/core/datetime.js";
9
+ import { property as f } from "lit/decorators.js";
10
+ import { removeTimezoneFromISOTimeString as p } from "./core/datetime.js";
11
+ import { isRideLeg as m } from "./core/timetable.js";
12
+ import { styleMap as h } from "lit/directives/style-map.js";
13
+ //#region node_modules/date-fns/isAfter.js
14
+ function g(t, n) {
15
+ return +e(t) > +e(n);
16
+ }
17
+ //#endregion
18
+ //#region node_modules/date-fns/isBefore.js
19
+ function _(t, n) {
20
+ return +e(t) < +e(n);
21
+ }
22
+ //#endregion
23
+ //#region src/elements-experimental/pearl-chain/pearl-chain.scss?inline
24
+ var v = ":host{--sbb-pearl-chain-height: var(--sbb-border-width-2x);--sbb-pearl-chain-spacing-small: .125rem;--sbb-pearl-chain-color: var(--sbb-pearl-chain-bullet-color);--sbb-pearl-chain-color-disruption: var(--sbb-pearl-chain-bullet-color-disruption);--sbb-pearl-chain-color-past: var(--sbb-pearl-chain-bullet-color-past);--sbb-pearl-chain-leg-width: 100%;display:block;--sbb-pearl-chain-position-color: var(--sbb-color-primary);--sbb-pearl-chain-bullet-size-start-end: .625rem;--sbb-pearl-chain-bullet-size-stop: .5rem;--sbb-pearl-chain-bullet-color: var(--sbb-background-color-3-inverted);--sbb-pearl-chain-bullet-color-past: var(--sbb-color-metal);--sbb-pearl-chain-bullet-color-past: light-dark(var(--sbb-color-metal), var(--sbb-color-granite));--sbb-pearl-chain-bullet-color-irrelevant: var(--sbb-color-metal);--sbb-pearl-chain-bullet-color-irrelevant: light-dark( var(--sbb-color-metal), var(--sbb-color-granite) );--sbb-pearl-chain-bullet-color-disruption: var(--sbb-color-error);--sbb-pearl-chain-bullet-border-width: var(--sbb-border-width-2x);--sbb-pearl-chain-bullet-animation-duration: 1.92s;--sbb-pearl-chain-bullet-animation-easing: ease-out;--sbb-pearl-chain-bullet-crossed-width: .88375rem;--sbb-pearl-chain-bullet-crossed-height: .21875rem;--sbb-pearl-chain-bullet-crossed-border-width: .09375rem}.sbb-pearl-chain{position:relative;display:flex;justify-content:space-between;flex-wrap:nowrap;color:var(--sbb-pearl-chain-color);width:100%;padding-block:calc((var(--sbb-pearl-chain-bullet-size-start-end) - var(--sbb-pearl-chain-height)) / 2);padding-inline-end:var(--sbb-pearl-chain-bullet-size-start-end)}.sbb-pearl-chain__bullet{min-height:var(--sbb-pearl-chain-bullet-size-start-end);min-width:var(--sbb-pearl-chain-bullet-size-start-end);height:var(--sbb-pearl-chain-bullet-size-start-end);width:var(--sbb-pearl-chain-bullet-size-start-end);background:var(--sbb-pearl-chain-bullet-color);color:var(--sbb-pearl-chain-bullet-color);border-color:var(--sbb-pearl-chain-bullet-color);border-radius:100%}@media(forced-colors:active){.sbb-pearl-chain__bullet{--sbb-pearl-chain-bullet-color: CanvasText}}.sbb-pearl-chain__bullet{content:\"\";position:absolute;background-color:currentcolor;inset-block-start:0;z-index:3}.sbb-pearl-chain__bullet:first-of-type{inset-inline-start:0}.sbb-pearl-chain__bullet:last-of-type{inset-inline-end:0}.sbb-pearl-chain__leg{flex-shrink:0;flex-grow:0;position:relative;height:var(--sbb-pearl-chain-height);border-inline-end:var(--sbb-pearl-chain-spacing-small) solid Canvas;background-color:currentcolor;width:var(--sbb-pearl-chain-leg-width);display:flex;align-items:center}@media(forced-colors:active){.sbb-pearl-chain__leg{background-color:CanvasText}.sbb-pearl-chain--past .sbb-pearl-chain__leg{background-color:GrayText}}.sbb-pearl-chain__leg:last-of-type{border:none}.sbb-pearl-chain__stop{position:relative;z-index:2;background:var(--sbb-pearl-chain-bullet-color);color:var(--sbb-pearl-chain-bullet-color);border-color:var(--sbb-pearl-chain-bullet-color);border-radius:100%}@media(forced-colors:active){.sbb-pearl-chain__stop{--sbb-pearl-chain-bullet-color: CanvasText}}.sbb-pearl-chain__stop{min-height:var(--sbb-pearl-chain-bullet-size-stop);min-width:var(--sbb-pearl-chain-bullet-size-stop);height:var(--sbb-pearl-chain-bullet-size-stop);width:var(--sbb-pearl-chain-bullet-size-stop);border:var(--sbb-pearl-chain-bullet-border-width) solid currentcolor;background:Canvas}.sbb-pearl-chain__bullet--future{background:var(--sbb-pearl-chain-bullet-color);color:var(--sbb-pearl-chain-bullet-color);border-color:var(--sbb-pearl-chain-bullet-color);border-radius:100%}@media(forced-colors:active){.sbb-pearl-chain__bullet--future{--sbb-pearl-chain-bullet-color: CanvasText}}.sbb-pearl-chain__leg--past,.sbb-pearl-chain--past,.sbb-pearl-chain__leg--past:after,.sbb-pearl-chain__leg--progress:after,.sbb-pearl-chain__leg--progress .sbb-pearl-chain__stop,.sbb-pearl-chain--progress,.sbb-pearl-chain__bullet--past{color:var(--sbb-pearl-chain-color-past);--sbb-pearl-chain-bullet-color: var(--sbb-pearl-chain-bullet-color-past)}@media(forced-colors:active){.sbb-pearl-chain__leg--past,.sbb-pearl-chain--past,.sbb-pearl-chain__leg--past:after,.sbb-pearl-chain__leg--progress:after,.sbb-pearl-chain__leg--progress .sbb-pearl-chain__stop,.sbb-pearl-chain--progress,.sbb-pearl-chain__bullet--past{--sbb-pearl-chain-bullet-color: GrayText !important}}@media(forced-colors:active){.sbb-pearl-chain__leg--past,.sbb-pearl-chain--past,.sbb-pearl-chain__leg--past:after,.sbb-pearl-chain__leg--progress:after,.sbb-pearl-chain__leg--progress .sbb-pearl-chain__stop,.sbb-pearl-chain--progress,.sbb-pearl-chain__bullet--past{background-color:GrayText!important}}.sbb-pearl-chain__bullet--progress{background:var(--sbb-pearl-chain-bullet-color);--sbb-pearl-chain-bullet-color: var(--sbb-pearl-chain-bullet-color-past)}@media(forced-colors:active){.sbb-pearl-chain__bullet--progress{--sbb-pearl-chain-bullet-color: GrayText !important}}.sbb-pearl-chain__bullet--departure-disruption,.sbb-pearl-chain--arrival-disruption,.sbb-pearl-chain--departure-disruption,.sbb-pearl-chain__leg--disruption{color:var(--sbb-pearl-chain-color-disruption);--sbb-pearl-chain-bullet-color: var(--sbb-pearl-chain-bullet-color-disruption)}@media(forced-colors:active){.sbb-pearl-chain__bullet--departure-disruption,.sbb-pearl-chain--arrival-disruption,.sbb-pearl-chain--departure-disruption,.sbb-pearl-chain__leg--disruption{--sbb-pearl-chain-bullet-color: Highlight}}@media(forced-colors:active){.sbb-pearl-chain__bullet--departure-disruption,.sbb-pearl-chain--arrival-disruption,.sbb-pearl-chain--departure-disruption,.sbb-pearl-chain__leg--disruption{color:Highlight;background:Highlight}}.sbb-pearl-chain__leg--disruption .sbb-pearl-chain__stop{--sbb-pearl-chain-bullet-color: var(--sbb-pearl-chain-bullet-color-disruption)}@media(forced-colors:active){.sbb-pearl-chain__leg--disruption .sbb-pearl-chain__stop{--sbb-pearl-chain-bullet-color: Highlight}}.sbb-pearl-chain__leg--past .sbb-pearl-chain__stop{--sbb-pearl-chain-bullet-color: var(--sbb-pearl-chain-bullet-color-past)}@media(forced-colors:active){.sbb-pearl-chain__leg--past .sbb-pearl-chain__stop{--sbb-pearl-chain-bullet-color: GrayText !important}}.sbb-pearl-chain__leg--disruption:after{background-color:unset;background-image:linear-gradient(to right,currentcolor 0%,currentcolor 50%,Canvas 50%);background-repeat:repeat-x;background-size:calc(2 * var(--sbb-pearl-chain-spacing-small)) var(--sbb-pearl-chain-height);inset-inline-end:var(--sbb-pearl-chain-height)}@media(forced-colors:active){.sbb-pearl-chain__leg--disruption:after{background:unset;border-block-start:.0625rem dashed Highlight;transform:translateY(.0625rem)}}.sbb-pearl-chain__leg--skipped{color:var(--sbb-pearl-chain-color-disruption)}.sbb-pearl-chain__leg--skipped:after{background-color:unset;background-image:linear-gradient(to right,currentcolor 0%,currentcolor 50%,Canvas 50%);background-repeat:repeat-x;background-size:calc(2 * var(--sbb-pearl-chain-spacing-small)) var(--sbb-pearl-chain-height);inset-inline-end:var(--sbb-pearl-chain-height)}@media(forced-colors:active){.sbb-pearl-chain__leg--skipped:after{background:unset;border-block-start:.0625rem dashed Highlight;transform:translateY(.0625rem)}}.sbb-pearl-chain__stop--departure-skipped{min-height:var(--sbb-pearl-chain-bullet-size-stop);min-width:var(--sbb-pearl-chain-bullet-size-stop);height:var(--sbb-pearl-chain-bullet-size-stop);width:var(--sbb-pearl-chain-bullet-size-stop);border:var(--sbb-pearl-chain-bullet-border-width) solid currentcolor;background:Canvas}.sbb-pearl-chain__stop--departure-skipped:before{content:\"\";position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%) rotate(45deg);border-block-start:var(--sbb-pearl-chain-bullet-crossed-border-width) solid canvas;background:var(--sbb-pearl-chain-bullet-color-disruption);height:var(--sbb-pearl-chain-bullet-crossed-height);width:var(--sbb-pearl-chain-bullet-crossed-width)}@media(forced-colors:active){.sbb-pearl-chain__stop--departure-skipped:before{background:Highlight}}.sbb-pearl-chain--arrival-skipped,.sbb-pearl-chain--departure-skipped{min-height:var(--sbb-pearl-chain-bullet-size-start-end);min-width:var(--sbb-pearl-chain-bullet-size-start-end);height:var(--sbb-pearl-chain-bullet-size-start-end);width:var(--sbb-pearl-chain-bullet-size-start-end);border:var(--sbb-pearl-chain-bullet-border-width) solid currentcolor;background:Canvas}.sbb-pearl-chain--arrival-skipped:before,.sbb-pearl-chain--departure-skipped:before{content:\"\";position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%) rotate(45deg);border-block-start:var(--sbb-pearl-chain-bullet-crossed-border-width) solid canvas;background:var(--sbb-pearl-chain-bullet-color-disruption);height:var(--sbb-pearl-chain-bullet-crossed-height);width:var(--sbb-pearl-chain-bullet-crossed-width)}@media(forced-colors:active){.sbb-pearl-chain--arrival-skipped:before,.sbb-pearl-chain--departure-skipped:before{background:Highlight}}.sbb-pearl-chain__leg:after{content:\"\";position:absolute;inset-block:0;inset-inline-start:0;background-color:currentcolor;border-radius:var(--sbb-pearl-chain-height);z-index:1}@media(forced-colors:active){.sbb-pearl-chain__leg:after{background-color:CanvasText}.sbb-pearl-chain--past .sbb-pearl-chain__leg:after{background-color:GrayText}}.sbb-pearl-chain__leg:last-of-type:after{inset-inline-end:calc(-1 * var(--sbb-pearl-chain-height))}.sbb-pearl-chain__leg--progress:after{background-color:var(--sbb-pearl-chain-color-past);width:var(--sbb-pearl-chain-leg-status)}.sbb-pearl-chain__position{min-height:var(--sbb-pearl-chain-bullet-size-start-end);min-width:var(--sbb-pearl-chain-bullet-size-start-end);height:var(--sbb-pearl-chain-bullet-size-start-end);width:var(--sbb-pearl-chain-bullet-size-start-end);background:var(--sbb-pearl-chain-bullet-color);color:var(--sbb-pearl-chain-bullet-color);border-color:var(--sbb-pearl-chain-bullet-color);border-radius:100%}@media(forced-colors:active){.sbb-pearl-chain__position{--sbb-pearl-chain-bullet-color: CanvasText}}.sbb-pearl-chain__position{--sbb-pearl-chain-bullet-color: var(--sbb-pearl-chain-position-color)}@media(forced-colors:active){.sbb-pearl-chain__position{--sbb-pearl-chain-position-color: Highlight}}@keyframes pearl-chain-bullet-position-pulse{0%{box-shadow:0 0 0 0 var(--sbb-pearl-chain-position-color)}25%{box-shadow:0 0 0 0 var(--sbb-pearl-chain-position-color)}50%{box-shadow:0 0 0 .1875rem color-mix(in srgb,var(--sbb-pearl-chain-position-color) 20%,transparent)}to{box-shadow:0 0 0 0 var(--sbb-pearl-chain-position-color)}}.sbb-pearl-chain__position{animation:pearl-chain-bullet-position-pulse var(--sbb-pearl-chain-bullet-animation-duration) var(--sbb-pearl-chain-bullet-animation-easing) infinite;position:absolute;inset-block-start:-200%;z-index:4;inset-inline-start:var(--sbb-pearl-chain-status-position)}.sbb-pearl-chain__position--no-animation{animation:unset}.sbb-screen-reader-only{border:0;clip-path:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}", y = (() => {
25
+ let e = a, y = [], b, x = [], S = [], C, w = [], T = [], E;
26
+ return class extends e {
27
+ constructor() {
28
+ super(...arguments), this.#e = (i(this, y), i(this, x, [])), this.#t = (i(this, S), i(this, w, !1)), this._now = (i(this, T), null);
29
+ }
30
+ static {
31
+ let t = typeof Symbol == "function" && Symbol.metadata ? Object.create(e[Symbol.metadata] ?? null) : void 0;
32
+ b = [f({ type: Array })], C = [o(), f({
33
+ attribute: "disable-animation",
34
+ type: Boolean
35
+ })], E = [f()], r(this, null, b, {
36
+ kind: "accessor",
37
+ name: "legs",
38
+ static: !1,
39
+ private: !1,
40
+ access: {
41
+ has: (e) => "legs" in e,
42
+ get: (e) => e.legs,
43
+ set: (e, t) => {
44
+ e.legs = t;
45
+ }
46
+ },
47
+ metadata: t
48
+ }, x, S), r(this, null, C, {
49
+ kind: "accessor",
50
+ name: "disableAnimation",
51
+ static: !1,
52
+ private: !1,
53
+ access: {
54
+ has: (e) => "disableAnimation" in e,
55
+ get: (e) => e.disableAnimation,
56
+ set: (e, t) => {
57
+ e.disableAnimation = t;
58
+ }
59
+ },
60
+ metadata: t
61
+ }, w, T), r(this, null, E, {
62
+ kind: "setter",
63
+ name: "now",
64
+ static: !1,
65
+ private: !1,
66
+ access: {
67
+ has: (e) => "now" in e,
68
+ set: (e, t) => {
69
+ e.now = t;
70
+ }
71
+ },
72
+ metadata: t
73
+ }, null, y), t && Object.defineProperty(this, Symbol.metadata, {
74
+ enumerable: !0,
75
+ configurable: !0,
76
+ writable: !0,
77
+ value: t
78
+ });
79
+ }
80
+ static {
81
+ this.elementName = "sbb-pearl-chain";
82
+ }
83
+ static {
84
+ this.styles = [s, u(v)];
85
+ }
86
+ #e;
87
+ get legs() {
88
+ return this.#e;
89
+ }
90
+ set legs(e) {
91
+ this.#e = e;
92
+ }
93
+ #t;
94
+ get disableAnimation() {
95
+ return this.#t;
96
+ }
97
+ set disableAnimation(e) {
98
+ this.#t = e;
99
+ }
100
+ set now(e) {
101
+ this._now = d.getValidDateOrNull(d.deserialize(e));
102
+ }
103
+ get now() {
104
+ return this._now;
105
+ }
106
+ _getAllDuration(e) {
107
+ return e?.reduce((e, t) => {
108
+ let r = p(t.arrival?.time), i = p(t.departure?.time);
109
+ return r && i ? e + n(p(t.arrival.time), p(t.departure.time)) : e;
110
+ }, 0);
111
+ }
112
+ _isAllCancelled(e) {
113
+ return e?.every((e) => e?.serviceJourney?.serviceAlteration?.cancelled);
114
+ }
115
+ _getRelativeDuration(e, t) {
116
+ let r = p(t.arrival?.time), i = p(t.departure?.time);
117
+ if (r && i) {
118
+ let r = n(p(t.arrival.time), p(t.departure.time)), i = this._getAllDuration(e);
119
+ return i === 0 ? 100 : r / i * 100;
120
+ }
121
+ return 0;
122
+ }
123
+ _getProgress(e, r, i) {
124
+ if (!r?.time || !i?.time) return 0;
125
+ let a = t(r.time, r.delay ?? 0), o = n(t(i.time, i.delay ?? 0), a), s = n(e, a);
126
+ return o && s / o * 100;
127
+ }
128
+ _getStatus(e, n, r) {
129
+ let i = n && n.time && t(n.time, n.delay ?? 0), a = r && r.time && t(r.time, r.delay ?? 0);
130
+ return i && _(i, e) && a && g(a, e) ? "progress" : a && _(a, e) ? "past" : "future";
131
+ }
132
+ _renderPosition(e, t, n) {
133
+ let r = this._getProgress(e, t, n);
134
+ if (r < 0 && r > 100) return;
135
+ let i = () => ({
136
+ "--sbb-pearl-chain-status-position": `${r}%`,
137
+ ...r >= 50 ? { transform: "translateX(-100%)" } : {}
138
+ }), a = this.disableAnimation ? "sbb-pearl-chain__position--no-animation" : "";
139
+ return c`<span
140
+ style=${h(i())}
141
+ class="sbb-pearl-chain__position ${a}"
142
+ ></span>`;
143
+ }
144
+ render() {
145
+ let e = this.now ?? /* @__PURE__ */ new Date(), t = this.legs?.filter((e) => m(e)), n = t?.length && p(t[0]?.departure?.time), r = n && {
146
+ time: n,
147
+ delay: t[0].departure.delay ?? 0
148
+ }, i = t?.length && p(t[t.length - 1].arrival?.time), a = i && {
149
+ time: i,
150
+ delay: t[t.length - 1]?.arrival.delay ?? 0
151
+ }, o = t && t[0]?.serviceJourney?.stopPoints && t[0]?.serviceJourney?.stopPoints[0].stopStatus === "NOT_SERVICED" ? "sbb-pearl-chain--departure-skipped" : "", s = (() => {
152
+ let e = t && t[t.length - 1], n = e && e.serviceJourney?.stopPoints;
153
+ return n && n[n.length - 1].stopStatus === "NOT_SERVICED" ? "sbb-pearl-chain--arrival-skipped" : "";
154
+ })(), u = t && t[0]?.serviceJourney?.serviceAlteration?.cancelled ? "sbb-pearl-chain--departure-disruption" : "", d = t && t[t.length - 1]?.serviceJourney?.serviceAlteration?.cancelled ? "sbb-pearl-chain--arrival-disruption" : "", f = r && a && this._getStatus(e, r, a), g = t && f && !u ? "sbb-pearl-chain__bullet--" + f : "", _ = t && f && !d ? "sbb-pearl-chain__bullet--" + this._getStatus(e, void 0, a) : "";
155
+ return this._isAllCancelled(t) ? c`
156
+ <div class="sbb-pearl-chain">
157
+ <span class="sbb-pearl-chain__bullet sbb-pearl-chain--departure-disruption"></span>
158
+ <div class="sbb-pearl-chain__leg sbb-pearl-chain__leg--disruption"></div>
159
+ <span class="sbb-pearl-chain__bullet sbb-pearl-chain--departure-disruption"></span>
160
+ </div>
161
+ ` : c`
162
+ <div class="sbb-pearl-chain">
163
+ <span
164
+ class="sbb-pearl-chain__bullet ${g} ${o} ${u}"
165
+ ></span>
166
+ ${t?.map((n, r) => {
167
+ let { stopPoints: i, serviceAlteration: a } = n?.serviceJourney || {}, o = this._getRelativeDuration(t, n), s = p(n.departure?.time), u = p(n.arrival?.time), d = i && i[i.length - 1]?.stopStatus === "NOT_SERVICED", f = i && i[i.length - 1]?.stopStatus === "PLANNED", m = i && i[0]?.stopStatus === "NOT_SERVICED", g = r > 0 && t[r - 1].serviceJourney.stopPoints, _ = g && g[g.length - 1]?.stopStatus === "NOT_SERVICED", v = d || m && f ? "sbb-pearl-chain__leg--skipped" : "", y = m || _ ? "sbb-pearl-chain__stop--departure-skipped" : "", b = a?.cancelled || a?.partiallyCancelled ? "sbb-pearl-chain__leg--disruption" : "", x = {
168
+ time: s,
169
+ delay: n.departure?.delay ?? 0
170
+ }, S = {
171
+ time: u,
172
+ delay: n.arrival?.delay ?? 0
173
+ }, C = this._getStatus(e, x, S);
174
+ return c` <div
175
+ class="sbb-pearl-chain__leg ${!b && !v && "sbb-pearl-chain__leg--" + C || ""} ${b} ${v}"
176
+ style=${h({
177
+ "--sbb-pearl-chain-leg-width": `${o}%`,
178
+ ...C === "progress" && !b && !v ? { "--sbb-pearl-chain-leg-status": `${this._getProgress(e, x, S)}%` } : {}
179
+ })}
180
+ >
181
+ ${r > 0 && r < t.length ? c`<span class="sbb-pearl-chain__stop ${y}"></span>` : l}
182
+ ${C === "progress" && !b && !v ? this._renderPosition(e, x, S) : l}
183
+ </div>`;
184
+ })}
185
+ <span
186
+ class="sbb-pearl-chain__bullet ${_} ${s} ${d}"
187
+ ></span>
188
+ </div>
189
+ `;
190
+ }
191
+ };
192
+ })();
193
+ //#endregion
194
+ export { y as t };
package/pearl-chain.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as e } from "./pearl-chain.component-B-XTTo6h.js";
1
+ import { t as e } from "./pearl-chain.component-CpISVoAu.js";
2
2
  import "./pearl-chain.pure.js";
3
3
  //#region src/elements-experimental/pearl-chain.ts
4
4
  e.define();
@@ -1,2 +1,2 @@
1
- import { t as e } from "./pearl-chain.component-B-XTTo6h.js";
1
+ import { t as e } from "./pearl-chain.component-CpISVoAu.js";
2
2
  export { e as SbbPearlChainElement };
@@ -784,6 +784,12 @@ var ie = 3, ae = [
784
784
  });
785
785
  let t = e[Math.floor(e.length / 2)];
786
786
  this.globalAreaIconDim = this.getCalculatedDimension(t);
787
+ } else {
788
+ let e = this.seatReservations.flatMap((e) => e.coachItems.map((e) => e.dimension.h)).reduce((e, t) => Math.max(e, t), 0), t = Math.floor(e * .2);
789
+ this.globalAreaIconDim = this.getCalculatedDimension({
790
+ w: t,
791
+ h: t
792
+ });
787
793
  }
788
794
  }
789
795
  }
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../seat-reservation.component-Dl6bnC7-.js";
1
+ import { t as e } from "../../seat-reservation.component-DajC6fqU.js";
2
2
  export { e as SbbSeatReservationElement };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../seat-reservation-area.component-CY56r75x.js";
1
+ import { t as e } from "../../seat-reservation-area.component-CtYawDjE.js";
2
2
  export { e as SbbSeatReservationAreaElement };
@@ -1,4 +1,4 @@
1
- import { t as e } from "../seat-reservation-area.component-CY56r75x.js";
1
+ import { t as e } from "../seat-reservation-area.component-CtYawDjE.js";
2
2
  e.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/seat-reservation/seat-reservation-area.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/seat-reservation.js' or '@sbb-esta/elements-experimental/seat-reservation.pure.js' instead.");
3
3
  //#endregion
4
4
  export { e as SbbSeatReservationAreaElement };
@@ -1,4 +1,4 @@
1
- import { t as e } from "../../seat-reservation-graphic.component-DCMFf9uY.js";
1
+ import { t as e } from "../../seat-reservation-graphic.component-Cm_pVxaB.js";
2
2
  import { html as t } from "lit";
3
3
  import { unsafeHTML as n } from "lit/directives/unsafe-html.js";
4
4
  import { mapIconToSvg as r } from "../common/mapper.js";
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../seat-reservation-graphic.component-DCMFf9uY.js";
1
+ import { t as e } from "../../seat-reservation-graphic.component-Cm_pVxaB.js";
2
2
  export { e as SbbSeatReservationGraphicElement };
@@ -1,4 +1,4 @@
1
- import { t as e } from "../seat-reservation-graphic.component-DCMFf9uY.js";
1
+ import { t as e } from "../seat-reservation-graphic.component-Cm_pVxaB.js";
2
2
  e.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/seat-reservation/seat-reservation-graphic.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/seat-reservation.js' or '@sbb-esta/elements-experimental/seat-reservation.pure.js' instead.");
3
3
  //#endregion
4
4
  export { e as SbbSeatReservationGraphicElement };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../seat-reservation-navigation-coach.component-CXUv1pZM.js";
1
+ import { t as e } from "../../seat-reservation-navigation-coach.component-sug9IBTH.js";
2
2
  export { e as SbbSeatReservationNavigationCoachElement };
@@ -1,4 +1,4 @@
1
- import { t as e } from "../seat-reservation-navigation-coach.component-CXUv1pZM.js";
1
+ import { t as e } from "../seat-reservation-navigation-coach.component-sug9IBTH.js";
2
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
3
  //#endregion
4
4
  export { e as SbbSeatReservationNavigationCoachElement };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../seat-reservation-navigation-services.component-ViyU_adt.js";
1
+ import { t as e } from "../../seat-reservation-navigation-services.component-C9dDYD_M.js";
2
2
  export { e as SbbSeatReservationNavigationServicesElement };
@@ -1,4 +1,4 @@
1
- import { t as e } from "../seat-reservation-navigation-services.component-ViyU_adt.js";
1
+ import { t as e } from "../seat-reservation-navigation-services.component-C9dDYD_M.js";
2
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
3
  //#endregion
4
4
  export { e as SbbSeatReservationNavigationServicesElement };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../seat-reservation-place-control.component-Dj5Tm0Oa.js";
1
+ import { t as e } from "../../seat-reservation-place-control.component-CE7d9M2b.js";
2
2
  export { e as SbbSeatReservationPlaceControlElement };
@@ -1,4 +1,4 @@
1
- import { t as e } from "../seat-reservation-place-control.component-Dj5Tm0Oa.js";
1
+ import { t as e } from "../seat-reservation-place-control.component-CE7d9M2b.js";
2
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
3
  //#endregion
4
4
  export { e as SbbSeatReservationPlaceControlElement };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../seat-reservation-scoped.component-CuACI8ST.js";
1
+ import { t as e } from "../../seat-reservation-scoped.component-DVyP2JGE.js";
2
2
  export { e as SbbSeatReservationScopedElement };
@@ -1,4 +1,4 @@
1
- import { t as e } from "../seat-reservation-scoped.component-CuACI8ST.js";
1
+ import { t as e } from "../seat-reservation-scoped.component-DVyP2JGE.js";
2
2
  e.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/seat-reservation/seat-reservation-scoped.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/seat-reservation.js' or '@sbb-esta/elements-experimental/seat-reservation.pure.js' instead.");
3
3
  //#endregion
4
4
  export { e as SbbSeatReservationScopedElement };
@@ -1,5 +1,5 @@
1
1
  import { SeatReservationBaseElement as e } from "./seat-reservation/seat-reservation-base-element.js";
2
- import { t } from "../seat-reservation.component-Dl6bnC7-.js";
2
+ import { t } from "../seat-reservation.component-DajC6fqU.js";
3
3
  t.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/seat-reservation/seat-reservation.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/seat-reservation.js' or '@sbb-esta/elements-experimental/seat-reservation.pure.js' instead.");
4
4
  //#endregion
5
5
  export { t as SbbSeatReservationElement, e as SeatReservationBaseElement };
@@ -0,0 +1,75 @@
1
+ import { __esDecorate as e, __runInitializers as t } from "tslib";
2
+ import { SbbElement as n } from "@sbb-esta/lyne-elements/core/base-elements.js";
3
+ import { forceType as r } from "@sbb-esta/lyne-elements/core/decorators.js";
4
+ import { boxSizingStyles as i } from "@sbb-esta/lyne-elements/core/styles.js";
5
+ import { html as a, unsafeCSS as o } from "lit";
6
+ import { property as s } from "lit/decorators.js";
7
+ //#region src/elements-experimental/seat-reservation/seat-reservation-area/seat-reservation-area.scss?inline
8
+ var c = ":host{--sbb-seat-reservation-area-border-radius: var(--sbb-border-width-4x);--sbb-seat-reservation-area-rotation: 0;display:flex;justify-content:center;align-items:center;height:calc(var(--sbb-seat-reservation-area-height) * var(--sbb-seat-reservation-one-px-rem, .0625rem));width:calc(var(--sbb-seat-reservation-area-width) * var(--sbb-seat-reservation-one-px-rem, .0625rem));border:var(--sbb-border-width-1x) solid var(--sbb-color-graphite);border:var(--sbb-border-width-1x) solid light-dark(var(--sbb-color-graphite),var(--sbb-color-granite));border-radius:var(--sbb-seat-reservation-area-border-radius);position:absolute;inset-block-start:calc(var(--sbb-seat-reservation-area-top) * var(--sbb-seat-reservation-one-px-rem, .0625rem));inset-inline-start:calc(var(--sbb-seat-reservation-area-left) * var(--sbb-seat-reservation-one-px-rem, .0625rem));rotate:calc(var(--sbb-seat-reservation-area-rotation) * 1deg);line-height:normal;background-color:var(--sbb-background-color-2)}:host([background=dark]){background-color:var(--sbb-color-milk);background-color:light-dark(var(--sbb-color-milk),var(--sbb-color-iron))}:host([mounting=upper-border]){border-block-start-width:0;border-radius:0 0 var(--sbb-seat-reservation-area-border-radius) var(--sbb-seat-reservation-area-border-radius)}:host([mounting=lower-border]){border-block-end-width:0;border-radius:var(--sbb-seat-reservation-area-border-radius) var(--sbb-seat-reservation-area-border-radius) 0 0}:host([mounting=upper-to-lower-border]){border-block-start:none;border-block-end:none;border-radius:0}:host(.sbb-seat-reservation-area--cursor-pointer){cursor:var(--sbb-cursor-pointer)}", l = (() => {
9
+ let l = n, u, d = [], f = [], p, m = [], h = [];
10
+ return class extends l {
11
+ static {
12
+ let t = typeof Symbol == "function" && Symbol.metadata ? Object.create(l[Symbol.metadata] ?? null) : void 0;
13
+ u = [r(), s({ reflect: !0 })], p = [r(), s({ reflect: !0 })], e(this, null, u, {
14
+ kind: "accessor",
15
+ name: "mounting",
16
+ static: !1,
17
+ private: !1,
18
+ access: {
19
+ has: (e) => "mounting" in e,
20
+ get: (e) => e.mounting,
21
+ set: (e, t) => {
22
+ e.mounting = t;
23
+ }
24
+ },
25
+ metadata: t
26
+ }, d, f), e(this, null, p, {
27
+ kind: "accessor",
28
+ name: "background",
29
+ static: !1,
30
+ private: !1,
31
+ access: {
32
+ has: (e) => "background" in e,
33
+ get: (e) => e.background,
34
+ set: (e, t) => {
35
+ e.background = t;
36
+ }
37
+ },
38
+ metadata: t
39
+ }, m, h), t && Object.defineProperty(this, Symbol.metadata, {
40
+ enumerable: !0,
41
+ configurable: !0,
42
+ writable: !0,
43
+ value: t
44
+ });
45
+ }
46
+ static {
47
+ this.elementName = "sbb-seat-reservation-area";
48
+ }
49
+ static {
50
+ this.styles = [i, o(c)];
51
+ }
52
+ #e = t(this, d, "free");
53
+ get mounting() {
54
+ return this.#e;
55
+ }
56
+ set mounting(e) {
57
+ this.#e = e;
58
+ }
59
+ #t = (t(this, f), t(this, m, "light"));
60
+ get background() {
61
+ return this.#t;
62
+ }
63
+ set background(e) {
64
+ this.#t = e;
65
+ }
66
+ render() {
67
+ return a`<slot></slot>`;
68
+ }
69
+ constructor() {
70
+ super(...arguments), t(this, h);
71
+ }
72
+ };
73
+ })();
74
+ //#endregion
75
+ export { l as t };