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