@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,559 +0,0 @@
1
- import { t as e } from "./format-CM5exOsN.js";
2
- import { __esDecorate as t, __runInitializers as n } from "tslib";
3
- import { SbbElement as r } from "@sbb-esta/lyne-elements/core/base-elements.js";
4
- import { SbbLanguageController as i } from "@sbb-esta/lyne-elements/core/controllers.js";
5
- import { forceType as a } from "@sbb-esta/lyne-elements/core/decorators.js";
6
- import { boxSizingStyles as o } from "@sbb-esta/lyne-elements/core/styles.js";
7
- import "@sbb-esta/lyne-elements/icon.js";
8
- import { css as s, html as c, nothing as l } from "lit";
9
- import { setOrRemoveAttribute as u } from "@sbb-esta/lyne-elements/core/dom.js";
10
- import { defaultDateAdapter as d } from "@sbb-esta/lyne-elements/core/datetime.js";
11
- import { i18nArrival as f, i18nClass as p, i18nDeparture as m, i18nDirection as h, i18nFromPlatform as g, i18nMeansOfTransport as _, i18nNew as v, i18nOccupancy as y, i18nRealTimeInfo as b, i18nSupersaver as x, i18nTransferProcedure as S, i18nTransferProcedures as ee, i18nTravelhints as te, i18nTripDuration as C, i18nTripQuayChange as w } from "@sbb-esta/lyne-elements/core/i18n.js";
12
- import { property as T } from "lit/decorators.js";
13
- import { durationToTime as E, removeTimezoneFromISOTimeString as D } from "./core/datetime.js";
14
- import "./pearl-chain-time.js";
15
- import { getDepartureArrivalTimeAttribute as ne, isRideLeg as O } from "./core/timetable.js";
16
- import "@sbb-esta/lyne-elements/card.js";
17
- import "@sbb-esta/lyne-elements/timetable-occupancy.js";
18
- //#region src/elements-experimental/timetable-row/timetable-row.scss?lit&inline
19
- var k = s`:host{--sbb-timetable-row-gap:var(--sbb-spacing-fixed-2x);--sbb-timetable-row-height:1.5625rem;--sbb-timetable-row-height-header:1.25rem;--sbb-timetable-row-height-footer:1rem;--sbb-timetable-row-skeleton-pulse-duration:1.8s;display:block}:host([disable-animation]){--sbb-timetable-row-skeleton-pulse-duration:0}.sbb-timetable__row-transport-icon{--sbb-icon-svg-width:1.25rem;--sbb-icon-svg-height:1.25rem}.sbb-travel-hints__item{--sbb-icon-svg-height:.875rem}.sbb-screen-reader-only{clip-path:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sbb-timetable__row--quay{margin-inline-end:var(--sbb-spacing-fixed-1x)}.sbb-timetable__row--quay-type{float:left}ul{font-size:inherit;margin:0;padding:0;list-style:none;display:inline-flex}li,.sbb-timetable__row-transport{align-self:center;display:inline-flex}.sbb-timetable__row-transportnumber,.sbb-timetable__row-time{--sbb-text-font-size:var(--sbb-text-font-size-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-text);letter-spacing:var(--sbb-typo-letter-spacing-text);font-size:var(--sbb-text-font-size);font-weight:700;line-height:unset;white-space:nowrap;align-self:center}.sbb-timetable__row{--sbb-text-font-size:var(--sbb-text-font-size-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-text);letter-spacing:var(--sbb-typo-letter-spacing-text);font-size:var(--sbb-text-font-size);gap:var(--sbb-timetable-row-gap);flex-direction:column;display:flex}.sbb-timetable__row-header,.sbb-timetable__row-footer{animation:none}.sbb-timetable__row-header{gap:var(--sbb-spacing-fixed-2x);line-height:var(--sbb-timetable-row-height-header);align-items:center;display:flex}.sbb-timetable__row-details,.sbb-timetable__row-hints{gap:var(--sbb-spacing-fixed-1x);align-items:center;display:inline-flex}.sbb-timetable__row-header p{white-space:nowrap;text-overflow:ellipsis;align-self:center;margin:0;overflow:hidden}.sbb-timetable__row-footer{justify-content:space-between;align-items:center;gap:var(--sbb-spacing-fixed-2x);line-height:var(--sbb-timetable-row-height-footer);flex-wrap:wrap;display:flex}.sbb-timetable__row-footer>span{align-self:center}.sbb-timetable__row-footer :only-child{margin-inline-start:auto}.sbb-timetable__row-quay--changed{color:var(--sbb-color-primary)}.sbb-timetable__row-transport-wrapper,.sbb-timetable__row-warning{display:inline-flex}.sbb-loading{pointer-events:none}.sbb-loading__wrapper{gap:var(--sbb-spacing-fixed-2x);flex-direction:column;display:flex}.sbb-loading__row{border-radius:var(--sbb-border-radius-1x);width:100%;height:var(--sbb-timetable-row-height)}@media (width>=64rem){.sbb-loading__row{height:1.75rem}}@media (forced-colors:active){.sbb-loading__row{border:var(--sbb-border-width-1x) solid ButtonBorder!important}}.sbb-loading__row,.sbb-loading__badge{background:var(--sbb-background-color-4);animation:skeleton-pulse var(--sbb-timetable-row-skeleton-pulse-duration) ease-out infinite}.sbb-loading__row:first-of-type{height:var(--sbb-timetable-row-height-header);width:50%}.sbb-loading__row:last-of-type{height:var(--sbb-timetable-row-height-footer)}.sbb-loading__badge{margin-inline:auto calc(var(--sbb-spacing-fixed-3x) * -1);transform:var(--sbb-card-badge-skew);border-end-start-radius:var(--sbb-card-badge-border-radius);width:7.1875rem;height:1.25rem;padding-inline-end:var(--sbb-spacing-fixed-6x)}@keyframes skeleton-pulse{0%{background:var(--sbb-background-color-4)}17%{background:var(--sbb-background-color-4)}50%{background:var(--sbb-background-color-3)}67%{background:var(--sbb-background-color-3)}to{background:var(--sbb-background-color-4)}}`, A = (e, t) => c`<span class="sbb-timetable__row-transport">
20
- <sbb-icon name=${e}></sbb-icon>
21
- <span class="sbb-screen-reader-only">${t}</span>
22
- </span>`, j = (e, t) => {
23
- let n = [
24
- "M",
25
- "B",
26
- "T"
27
- ].includes(e) ? " " : "";
28
- return c`<span class="sbb-timetable__row-transportnumber">
29
- ${t === null ? e : e + n + t}
30
- </span>`;
31
- }, M = (e) => e?.find((e) => e.serviceJourney?.serviceAlteration?.reachableText)?.serviceJourney?.serviceAlteration?.reachableText, N = (e) => e?.find((e) => e.serviceJourney?.serviceAlteration?.delayText)?.serviceJourney?.serviceAlteration?.delayText, P = (e) => e?.find((e) => !!e.serviceJourney?.serviceAlteration?.redirectedText)?.serviceJourney?.serviceAlteration?.redirectedText, F = (e) => e?.find((e) => !!e.serviceJourney?.serviceAlteration?.unplannedStopPointsText)?.serviceJourney?.serviceAlteration?.unplannedStopPointsText, I = (e) => {
32
- let t = {
33
- DISTURBANCE: 0,
34
- INFORMATION: 1,
35
- DELAY: 2,
36
- TRAIN_REPLACEMENT_BY_BUS: 3,
37
- CONSTRUCTION_SITE: 4,
38
- END_MESSAGE: 5
39
- };
40
- return [...e]?.sort((e, n) => t[e.cause] - t[n.cause]);
41
- }, L = (e) => {
42
- switch (e?.cause) {
43
- case "DISTURBANCE": return {
44
- name: "disruption",
45
- text: e?.broadcastMessages?.length ? e?.broadcastMessages[0].title : ""
46
- };
47
- case "INFORMATION": return {
48
- name: "info",
49
- text: e?.broadcastMessages.length ? e?.broadcastMessages[0].title : ""
50
- };
51
- case "DELAY": return {
52
- name: "delay",
53
- text: e?.broadcastMessages.length ? e?.broadcastMessages[0].title : ""
54
- };
55
- case "TRAIN_REPLACEMENT_BY_BUS": return {
56
- name: "replacementbus",
57
- text: e?.broadcastMessages.length ? e?.broadcastMessages[0].title : ""
58
- };
59
- case "CONSTRUCTION_SITE": return {
60
- name: "construction",
61
- text: e?.broadcastMessages.length ? e?.broadcastMessages[0].title : ""
62
- };
63
- default: return {
64
- name: "info",
65
- text: e?.broadcastMessages.length ? e?.broadcastMessages[0].title : ""
66
- };
67
- }
68
- }, R = (e, t) => {
69
- let { summary: n, legs: r } = e || {}, i = r?.filter((e) => O(e)), { tripStatus: a } = n || {};
70
- if (a?.cancelled || a?.partiallyCancelled) return {
71
- name: "cancellation",
72
- text: a?.cancelledText
73
- };
74
- if (M(i)) return {
75
- name: "missed-connection",
76
- text: M(i)
77
- };
78
- if (a?.alternative) return {
79
- name: "alternative",
80
- text: a.alternativeText
81
- };
82
- if (P(i)) return {
83
- name: "reroute",
84
- text: P(i)
85
- };
86
- if (F(i)) return {
87
- name: "add-stop",
88
- text: F(i)
89
- };
90
- if (a?.delayed || a?.delayedUnknown) return {
91
- name: "delay",
92
- text: N(i)
93
- };
94
- if (a?.quayChanged) {
95
- let e = i[0].departure;
96
- return {
97
- name: "platform-change",
98
- text: e.quayChanged ? e.quayChangedText : w[t]
99
- };
100
- }
101
- return {};
102
- }, z = (e) => {
103
- let t = [
104
- "RR",
105
- "RK",
106
- "RC",
107
- "RL",
108
- "RM",
109
- "RS",
110
- "RU",
111
- "XP",
112
- "XR",
113
- "XT"
114
- ];
115
- return e.reduce((e, n) => {
116
- if (e) return e;
117
- if (t.includes(n.name)) return {
118
- ...n,
119
- name: "RR"
120
- };
121
- }, void 0);
122
- }, B = (e) => {
123
- let t = [
124
- "Z",
125
- "SB",
126
- "SZ",
127
- "VR",
128
- "TG"
129
- ];
130
- return e.filter((t, n) => e.findIndex((e) => e.name === t.name) === n).filter((e) => t.includes(e.name)).sort((e, n) => t.indexOf(e.name) - t.indexOf(n.name));
131
- }, V = (e) => {
132
- let t = z(e), n = B(e);
133
- return t === void 0 ? n : n.length ? n[0].name === "Z" && n[1] ? [
134
- n[0],
135
- t,
136
- n[1]
137
- ].concat(n.slice(2)) : [t, ...n] : [t];
138
- }, H = (() => {
139
- let s = r, w = [], M, N = [], P = [], F, z = [], B = [], H, U = [], W = [], G, K = [], q = [], J, Y = [], X = [], Z, Q = [], $ = [], re, ie = [], ae = [], oe, se = [], ce = [], le, ue = [], de = [], fe, pe = [], me = [], he;
140
- return class extends s {
141
- constructor() {
142
- super(...arguments), this.#e = (n(this, w), n(this, N, null)), this.#t = (n(this, P), n(this, z, null)), this.#n = (n(this, B), n(this, U, !1)), this.#r = (n(this, W), n(this, K, null)), this.#i = (n(this, q), n(this, Y, !1)), this.#a = (n(this, X), n(this, Q, !1)), this.#o = (n(this, $), n(this, ie, !1)), this.#s = (n(this, ae), n(this, se, "")), this.#c = (n(this, ce), n(this, ue, !1)), this.#l = (n(this, de), n(this, pe, !1)), this._now = (n(this, me), null), this._language = new i(this);
143
- }
144
- static {
145
- let e = typeof Symbol == "function" && Symbol.metadata ? Object.create(s[Symbol.metadata] ?? null) : void 0;
146
- M = [T({ type: Object })], F = [T({ type: Object })], H = [a(), T({
147
- attribute: "disable-animation",
148
- reflect: !0,
149
- type: Boolean
150
- })], G = [T({ type: Object })], J = [a(), T({
151
- attribute: "loading-trip",
152
- type: Boolean
153
- })], Z = [a(), T({
154
- attribute: "a11y-footpath",
155
- type: Boolean
156
- })], re = [a(), T({
157
- attribute: "loading-price",
158
- type: Boolean
159
- })], oe = [a(), T({ attribute: "card-action-label" })], le = [a(), T({
160
- attribute: "accessibility-expanded",
161
- type: Boolean
162
- })], fe = [a(), T({ type: Boolean })], he = [T()], t(this, null, M, {
163
- kind: "accessor",
164
- name: "trip",
165
- static: !1,
166
- private: !1,
167
- access: {
168
- has: (e) => "trip" in e,
169
- get: (e) => e.trip,
170
- set: (e, t) => {
171
- e.trip = t;
172
- }
173
- },
174
- metadata: e
175
- }, N, P), t(this, null, F, {
176
- kind: "accessor",
177
- name: "price",
178
- static: !1,
179
- private: !1,
180
- access: {
181
- has: (e) => "price" in e,
182
- get: (e) => e.price,
183
- set: (e, t) => {
184
- e.price = t;
185
- }
186
- },
187
- metadata: e
188
- }, z, B), t(this, null, H, {
189
- kind: "accessor",
190
- name: "disableAnimation",
191
- static: !1,
192
- private: !1,
193
- access: {
194
- has: (e) => "disableAnimation" in e,
195
- get: (e) => e.disableAnimation,
196
- set: (e, t) => {
197
- e.disableAnimation = t;
198
- }
199
- },
200
- metadata: e
201
- }, U, W), t(this, null, G, {
202
- kind: "accessor",
203
- name: "boarding",
204
- static: !1,
205
- private: !1,
206
- access: {
207
- has: (e) => "boarding" in e,
208
- get: (e) => e.boarding,
209
- set: (e, t) => {
210
- e.boarding = t;
211
- }
212
- },
213
- metadata: e
214
- }, K, q), t(this, null, J, {
215
- kind: "accessor",
216
- name: "loadingTrip",
217
- static: !1,
218
- private: !1,
219
- access: {
220
- has: (e) => "loadingTrip" in e,
221
- get: (e) => e.loadingTrip,
222
- set: (e, t) => {
223
- e.loadingTrip = t;
224
- }
225
- },
226
- metadata: e
227
- }, Y, X), t(this, null, Z, {
228
- kind: "accessor",
229
- name: "a11yFootpath",
230
- static: !1,
231
- private: !1,
232
- access: {
233
- has: (e) => "a11yFootpath" in e,
234
- get: (e) => e.a11yFootpath,
235
- set: (e, t) => {
236
- e.a11yFootpath = t;
237
- }
238
- },
239
- metadata: e
240
- }, Q, $), t(this, null, re, {
241
- kind: "accessor",
242
- name: "loadingPrice",
243
- static: !1,
244
- private: !1,
245
- access: {
246
- has: (e) => "loadingPrice" in e,
247
- get: (e) => e.loadingPrice,
248
- set: (e, t) => {
249
- e.loadingPrice = t;
250
- }
251
- },
252
- metadata: e
253
- }, ie, ae), t(this, null, oe, {
254
- kind: "accessor",
255
- name: "cardActionLabel",
256
- static: !1,
257
- private: !1,
258
- access: {
259
- has: (e) => "cardActionLabel" in e,
260
- get: (e) => e.cardActionLabel,
261
- set: (e, t) => {
262
- e.cardActionLabel = t;
263
- }
264
- },
265
- metadata: e
266
- }, se, ce), t(this, null, le, {
267
- kind: "accessor",
268
- name: "accessibilityExpanded",
269
- static: !1,
270
- private: !1,
271
- access: {
272
- has: (e) => "accessibilityExpanded" in e,
273
- get: (e) => e.accessibilityExpanded,
274
- set: (e, t) => {
275
- e.accessibilityExpanded = t;
276
- }
277
- },
278
- metadata: e
279
- }, ue, de), t(this, null, fe, {
280
- kind: "accessor",
281
- name: "active",
282
- static: !1,
283
- private: !1,
284
- access: {
285
- has: (e) => "active" in e,
286
- get: (e) => e.active,
287
- set: (e, t) => {
288
- e.active = t;
289
- }
290
- },
291
- metadata: e
292
- }, pe, me), t(this, null, he, {
293
- kind: "setter",
294
- name: "now",
295
- static: !1,
296
- private: !1,
297
- access: {
298
- has: (e) => "now" in e,
299
- set: (e, t) => {
300
- e.now = t;
301
- }
302
- },
303
- metadata: e
304
- }, null, w), e && Object.defineProperty(this, Symbol.metadata, {
305
- enumerable: !0,
306
- configurable: !0,
307
- writable: !0,
308
- value: e
309
- });
310
- }
311
- static {
312
- this.elementName = "sbb-timetable-row";
313
- }
314
- static {
315
- this.styles = [o, k];
316
- }
317
- #e;
318
- get trip() {
319
- return this.#e;
320
- }
321
- set trip(e) {
322
- this.#e = e;
323
- }
324
- #t;
325
- get price() {
326
- return this.#t;
327
- }
328
- set price(e) {
329
- this.#t = e;
330
- }
331
- #n;
332
- get disableAnimation() {
333
- return this.#n;
334
- }
335
- set disableAnimation(e) {
336
- this.#n = e;
337
- }
338
- #r;
339
- get boarding() {
340
- return this.#r;
341
- }
342
- set boarding(e) {
343
- this.#r = e;
344
- }
345
- #i;
346
- get loadingTrip() {
347
- return this.#i;
348
- }
349
- set loadingTrip(e) {
350
- this.#i = e;
351
- }
352
- #a;
353
- get a11yFootpath() {
354
- return this.#a;
355
- }
356
- set a11yFootpath(e) {
357
- this.#a = e;
358
- }
359
- #o;
360
- get loadingPrice() {
361
- return this.#o;
362
- }
363
- set loadingPrice(e) {
364
- this.#o = e;
365
- }
366
- #s;
367
- get cardActionLabel() {
368
- return this.#s;
369
- }
370
- set cardActionLabel(e) {
371
- this.#s = e;
372
- }
373
- #c;
374
- get accessibilityExpanded() {
375
- return this.#c;
376
- }
377
- set accessibilityExpanded(e) {
378
- this.#c = e;
379
- }
380
- #l;
381
- get active() {
382
- return this.#l;
383
- }
384
- set active(e) {
385
- this.#l = e;
386
- }
387
- set now(e) {
388
- this._now = d.getValidDateOrNull(d.deserialize(e));
389
- }
390
- get now() {
391
- return this._now ?? /* @__PURE__ */ new Date();
392
- }
393
- willUpdate(e) {
394
- super.willUpdate(e), e.has("loadingTrip") && u(this, "role", this.loadingTrip ? null : "rowgroup");
395
- }
396
- _renderSkeleton() {
397
- return c`
398
- <sbb-card class="sbb-loading sbb-card-spacing-4x-xxs">
399
- ${this.loadingPrice ? c`<div class="sbb-loading__badge" slot="badge"></div>` : l}
400
- <div class="sbb-loading__wrapper">
401
- <div class="sbb-loading__row"></div>
402
- <div class="sbb-loading__row"></div>
403
- <div class="sbb-loading__row"></div>
404
- </div>
405
- </sbb-card>
406
- `;
407
- }
408
- _getRideLegs() {
409
- return this.trip?.legs?.filter((e) => O(e)) ?? [];
410
- }
411
- _getQuayTypeStrings() {
412
- if (!this.trip.summary?.product) return null;
413
- let e = this._getRideLegs(), t = this.trip.summary.product?.vehicleMode === "TRAIN" ? e[0].serviceJourney.quayTypeShortName || "" : e[0].serviceJourney.quayTypeName || "";
414
- return {
415
- long: g[this._language.current] + " " + t,
416
- short: t
417
- };
418
- }
419
- _renderQuayType() {
420
- if (!this.trip.summary?.product) return;
421
- let e = this._getQuayTypeStrings();
422
- return c`
423
- <span class="sbb-timetable__row--quay">
424
- <span class="sbb-screen-reader-only">${e?.long}&nbsp;</span>
425
- <span class="sbb-timetable__row--quay-type" aria-hidden="true"
426
- >${e?.short}</span
427
- >
428
- </span>
429
- `;
430
- }
431
- _handleHimCus(e) {
432
- let { situations: t } = e || {}, n = t && I(t), r = R(e, this._language.current);
433
- return {
434
- cus: Object.keys(r)?.length ? r : null,
435
- him: t?.length ? L(n[0]) : null
436
- };
437
- }
438
- _getAccessibilityText(t) {
439
- let { summary: n, legs: r, notices: i } = t || {}, { departureWalk: a, arrivalWalk: o, departure: s, arrival: c, product: l, direction: u, occupancy: d, duration: g } = n || {}, { departureTimeAttribute: w, arrivalTimeAttribute: T } = ne(r, a || 0, o || 0, this._language.current, this.a11yFootpath), O = this._getRideLegs(), k = s?.time ? D(s.time) : void 0, A = c?.time ? D(c.time) : void 0, j = w ? `${w.text} ${w.duration}, ` : "", M = T ? `${T.text} ${T.duration}, ` : "", N = k ? `${m[this._language.current]}: ${e(k, "HH:mm")}, ` : "", P = () => s?.quayFormatted ? `${s?.quayChanged ? `${v[this._language.current]} ` : ""}${this._getQuayTypeStrings()?.long} ${s?.quayFormatted}, ` : "", F = l && l.vehicleMode ? _[l.vehicleMode.toLowerCase()] && `${_[l.vehicleMode.toLowerCase()][this._language.current]}, ` : "", I = l?.vehicleSubModeShortName ? `${l.vehicleSubModeShortName} ${l.line || ""}, ` : "", L = `${h[this._language.current]} ${u}, `, R = this._handleHimCus(t), z = R?.cus?.text ? `${b[this._language.current]}: ${R?.cus?.text}, ` : "", B = R?.him?.text ? `${b[this._language.current]}: ${R?.him?.text}, ` : "", H = this.boarding ? `${this.boarding.text}, ` : "", U = `${this.price?.isDiscount ? x[this._language.current] : ""} ${this.price?.text && this.price?.price ? (this.price?.text || "") + " " + (this.price?.price || "") + ", " : ""}`, W = O.length > 2 ? `${O.length - 1} ${ee[this._language.current]}, ` : O.length > 1 ? `${O.length - 1} ${S[this._language.current]}, ` : "", G = A ? `${f[this._language.current]}: ${e(A, "HH:mm")}, ` : "", K = "";
440
- d && (d.firstClass && d.firstClass !== "UNKNOWN" && (K += `${p.first[this._language.current]} ${y[d.firstClass.toLowerCase()]?.[this._language.current]}.`), d.secondClass && d.secondClass !== "UNKNOWN" && (K += ` ${p.second[this._language.current]} ${y[d.secondClass.toLowerCase()]?.[this._language.current]}.`));
441
- let q = i && V(i).length && V(i)?.map((e, t) => t < 4 && e.text?.template).join(", ") + ", ", J = q ? `${te[this._language.current]}: ${q}` : "", Y = g && g > 0 ? `${C[this._language.current]} ${E(g, this._language.current).long}, ` : "";
442
- return [
443
- j,
444
- N,
445
- P(),
446
- F,
447
- I,
448
- L,
449
- z,
450
- H,
451
- U,
452
- z ? "" : B,
453
- G,
454
- M,
455
- Y,
456
- W,
457
- K,
458
- J
459
- ].map((e) => e?.trim()).filter((e) => e && e.length > 0).join(" ");
460
- }
461
- render() {
462
- if (this.loadingTrip) return this._renderSkeleton();
463
- let { legs: e, id: t, notices: n, summary: r } = this.trip || {}, { product: i, direction: a, departureWalk: o, departure: s, arrival: u, arrivalWalk: d, occupancy: f, duration: p } = r || {}, g = this._handleHimCus(this.trip), y = !!g.cus || !!g.him, b = n && V(n), S = p ? E(p, this._language.current) : null;
464
- return c`
465
- <sbb-card class="sbb-card-spacing-4x-xxs" id=${t}>
466
- <sbb-card-button
467
- ?active=${this.active}
468
- aria-expanded=${this.accessibilityExpanded ? "true" : l}
469
- >
470
- ${this.cardActionLabel ? this.cardActionLabel : this._getAccessibilityText(this.trip)}
471
- </sbb-card-button>
472
- ${this.loadingPrice ? c`<div class="sbb-loading__badge" slot="badge"></div>` : l}
473
- ${this.price && !this.loadingPrice ? c`<sbb-card-badge color=${this.price.isDiscount ? "charcoal" : "white"}>
474
- ${this.price.isDiscount ? c`<span aria-hidden="true">
475
- %<span class="sbb-screen-reader-only"
476
- >${x[this._language.current]}</span
477
- >
478
- </span>` : l}
479
- ${this.price.text ? c`<span>${this.price.text}</span>` : l}
480
- ${this.price.price ? c`<span>${this.price.price}</span>` : l}
481
- </sbb-card-badge>` : l}
482
- <div class="sbb-timetable__row" role="row">
483
- <div class="sbb-timetable__row-header" role="gridcell">
484
- <div class="sbb-timetable__row-details">
485
- ${i?.corporateIdentityPictogram && c`<span class="sbb-timetable__row-transport-wrapper">
486
- <sbb-icon
487
- class="sbb-timetable__row-transport-icon"
488
- name="picto:${i.corporateIdentityPictogram}"
489
- ></sbb-icon>
490
- <span class="sbb-screen-reader-only">
491
- ${i && i.vehicleMode && _[i.vehicleMode.toLowerCase()] && _[i.vehicleMode.toLowerCase()][this._language.current]}
492
- &nbsp;
493
- </span>
494
- </span>`}
495
- ${i && (i.corporateIdentityIcon ? A(i.corporateIdentityIcon, i.name) : i.vehicleSubModeShortName && j(i.vehicleSubModeShortName, i?.line))}
496
- </div>
497
- ${a ? c`<p>${`${h[this._language.current]} ${a}`}</p>` : l}
498
- </div>
499
- <sbb-pearl-chain-time
500
- role="gridcell"
501
- .legs=${e}
502
- .departureTime=${s?.time}
503
- .arrivalTime=${u?.time}
504
- .departureWalk=${o}
505
- .arrivalWalk=${d}
506
- ?disable-animation=${this.disableAnimation}
507
- ?a11y-footpath=${this.a11yFootpath}
508
- .now=${this.now}
509
- ></sbb-pearl-chain-time>
510
- <div class="sbb-timetable__row-footer" role="gridcell">
511
- ${i && s?.quayFormatted ? c`<span
512
- class=${s?.quayChanged ? "sbb-timetable__row-quay--changed" : l}
513
- >
514
- <span class="sbb-screen-reader-only">
515
- ${`${m[this._language.current]} ${s?.quayChanged ? v[this._language.current] : ""}`}
516
- &nbsp;
517
- </span>
518
- ${this._renderQuayType()} ${s?.quayFormatted}
519
- </span>` : l}
520
- ${f?.firstClass && f?.firstClass !== "UNKNOWN" || f?.secondClass && f.secondClass !== "UNKNOWN" ? c`<sbb-timetable-occupancy
521
- .firstClassOccupancy=${f?.firstClass?.toLowerCase()}
522
- .secondClassOccupancy=${f?.secondClass?.toLowerCase()}
523
- ></sbb-timetable-occupancy>` : l}
524
- ${b && b.length || this.boarding ? c`<ul class="sbb-timetable__row-hints" role="list">
525
- ${b?.map((e, t) => t < 4 ? c`<li>
526
- <sbb-icon
527
- class="sbb-travel-hints__item"
528
- name=${"sa-" + e.name?.toLowerCase()}
529
- ></sbb-icon>
530
- <span class="sbb-screen-reader-only">${e.text?.template}</span>
531
- </li>` : l)}
532
- ${this.boarding ? c`<li>
533
- <sbb-icon
534
- class="sbb-travel-hints__item"
535
- name=${this.boarding?.name}
536
- aria-label=${this.boarding?.text}
537
- aria-hidden="false"
538
- ></sbb-icon>
539
- </li>` : l}
540
- </ul>` : l}
541
- ${p && p > 0 ? c`<time>
542
- <span class="sbb-screen-reader-only">
543
- ${`${C[this._language.current]} ${S.long}`}
544
- </span>
545
- <span aria-hidden="true">${S.short}</span>
546
- </time>` : l}
547
- ${y && (g.cus || g.him) ? c`<span class="sbb-timetable__row-warning">
548
- <sbb-icon name=${(g.cus || g.him).name}></sbb-icon>
549
- <span class="sbb-screen-reader-only">${(g.cus || g.him).text}</span>
550
- </span>` : l}
551
- </div>
552
- </div>
553
- </sbb-card>
554
- `;
555
- }
556
- };
557
- })();
558
- //#endregion
559
- export { V as a, I as c, L as i, B as n, A as o, R as r, j as s, H as t };
@@ -1,16 +0,0 @@
1
- //#region node_modules/date-fns/constants.js
2
- var e = 365.2425, t = 6048e5, n = 864e5, r = 6e4, i = 36e5, a = 3600 * 24;
3
- a * 7, a * e / 12 * 3;
4
- var o = Symbol.for("constructDateFrom");
5
- //#endregion
6
- //#region node_modules/date-fns/constructFrom.js
7
- function s(e, t) {
8
- return typeof e == "function" ? e(t) : e && typeof e == "object" && o in e ? e[o](t) : e instanceof Date ? new e.constructor(t) : new Date(t);
9
- }
10
- //#endregion
11
- //#region node_modules/date-fns/toDate.js
12
- function c(e, t) {
13
- return s(t || e, e);
14
- }
15
- //#endregion
16
- export { r as a, i, s as n, t as o, n as r, c as t };