@sbb-esta/lyne-elements-experimental-dev 0.0.0 → 4.0.0-dev.1775550888

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 (331) hide show
  1. package/README.md +55 -0
  2. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +67 -0
  3. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +73 -0
  4. package/autocomplete-grid/autocomplete-grid-button.js +4 -0
  5. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +2 -0
  6. package/autocomplete-grid/autocomplete-grid-cell.js +4 -0
  7. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +21 -0
  8. package/autocomplete-grid/autocomplete-grid-optgroup.js +4 -0
  9. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +2 -0
  10. package/autocomplete-grid/autocomplete-grid-option.js +4 -0
  11. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -0
  12. package/autocomplete-grid/autocomplete-grid-row.js +4 -0
  13. package/autocomplete-grid/autocomplete-grid.js +4 -0
  14. package/autocomplete-grid-cell.component-DkD9aFKc.js +24 -0
  15. package/autocomplete-grid-option.component-CtATJy7n.js +37 -0
  16. package/autocomplete-grid-row.component-6nJv5PMj.js +27 -0
  17. package/autocomplete-grid.js +10 -0
  18. package/autocomplete-grid.pure.js +7 -0
  19. package/core/datetime/date-helper.js +2 -0
  20. package/core/datetime.js +2 -0
  21. package/core/styles/core.scss +13 -0
  22. package/core/styles/lean-theme.scss +3 -0
  23. package/core/styles/off-brand-theme.scss +3 -0
  24. package/core/styles/safety-theme.scss +3 -0
  25. package/core/styles/standard-theme.scss +3 -0
  26. package/core/styles/theme.scss +5 -0
  27. package/core/timetable/access-leg-helper.js +96 -0
  28. package/core/timetable/timetable-helper.js +10 -0
  29. package/core/timetable/timetable-properties.js +0 -0
  30. package/core/timetable.js +4 -0
  31. package/core.css +13 -0
  32. package/custom-elements.json +8629 -0
  33. package/date-helper-CGproP5d.js +185 -0
  34. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +40 -0
  35. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -0
  36. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +120 -0
  37. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +32 -0
  38. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -0
  39. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +103 -0
  40. package/development/autocomplete-grid/autocomplete-grid-button.d.ts +2 -0
  41. package/development/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -0
  42. package/development/autocomplete-grid/autocomplete-grid-button.js +10 -0
  43. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts +19 -0
  44. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +1 -0
  45. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +2 -0
  46. package/development/autocomplete-grid/autocomplete-grid-cell.d.ts +2 -0
  47. package/development/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -0
  48. package/development/autocomplete-grid/autocomplete-grid-cell.js +10 -0
  49. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts +20 -0
  50. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts.map +1 -0
  51. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +30 -0
  52. package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts +2 -0
  53. package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -0
  54. package/development/autocomplete-grid/autocomplete-grid-optgroup.js +10 -0
  55. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +27 -0
  56. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -0
  57. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +2 -0
  58. package/development/autocomplete-grid/autocomplete-grid-option.d.ts +2 -0
  59. package/development/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -0
  60. package/development/autocomplete-grid/autocomplete-grid-option.js +10 -0
  61. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts +20 -0
  62. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +1 -0
  63. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -0
  64. package/development/autocomplete-grid/autocomplete-grid-row.d.ts +2 -0
  65. package/development/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -0
  66. package/development/autocomplete-grid/autocomplete-grid-row.js +10 -0
  67. package/development/autocomplete-grid/autocomplete-grid.d.ts +2 -0
  68. package/development/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
  69. package/development/autocomplete-grid/autocomplete-grid.js +10 -0
  70. package/development/autocomplete-grid-cell.component-BxkWGaX0.js +34 -0
  71. package/development/autocomplete-grid-option.component-5mPGswUO.js +61 -0
  72. package/development/autocomplete-grid-row.component-DEm6zyHZ.js +39 -0
  73. package/development/autocomplete-grid.d.ts +2 -0
  74. package/development/autocomplete-grid.d.ts.map +1 -0
  75. package/development/autocomplete-grid.js +19 -0
  76. package/development/autocomplete-grid.pure.d.ts +8 -0
  77. package/development/autocomplete-grid.pure.d.ts.map +1 -0
  78. package/development/autocomplete-grid.pure.js +7 -0
  79. package/development/core/datetime/date-helper.d.ts +27 -0
  80. package/development/core/datetime/date-helper.d.ts.map +1 -0
  81. package/development/core/datetime/date-helper.js +2 -0
  82. package/development/core/datetime.d.ts +3 -0
  83. package/development/core/datetime.d.ts.map +1 -0
  84. package/development/core/datetime.js +2 -0
  85. package/development/core/timetable/access-leg-helper.d.ts +26 -0
  86. package/development/core/timetable/access-leg-helper.d.ts.map +1 -0
  87. package/development/core/timetable/access-leg-helper.js +147 -0
  88. package/development/core/timetable/timetable-helper.d.ts +12 -0
  89. package/development/core/timetable/timetable-helper.d.ts.map +1 -0
  90. package/development/core/timetable/timetable-helper.js +19 -0
  91. package/development/core/timetable/timetable-properties.d.ts +308 -0
  92. package/development/core/timetable/timetable-properties.d.ts.map +1 -0
  93. package/development/core/timetable/timetable-properties.js +0 -0
  94. package/development/core/timetable.d.ts +5 -0
  95. package/development/core/timetable.d.ts.map +1 -0
  96. package/development/core/timetable.js +4 -0
  97. package/development/date-helper-qNdwgC9O.js +520 -0
  98. package/development/differenceInMinutes-B7_GTDq7.js +110 -0
  99. package/development/format-DFx4997p.js +1848 -0
  100. package/development/isValid-JpZ7FphI.js +178 -0
  101. package/development/journey-summary/journey-summary.component.d.ts +67 -0
  102. package/development/journey-summary/journey-summary.component.d.ts.map +1 -0
  103. package/development/journey-summary/journey-summary.component.js +2 -0
  104. package/development/journey-summary.component-BZwgD4im.js +340 -0
  105. package/development/journey-summary.d.ts +2 -0
  106. package/development/journey-summary.d.ts.map +1 -0
  107. package/development/journey-summary.js +9 -0
  108. package/development/journey-summary.pure.d.ts +3 -0
  109. package/development/journey-summary.pure.d.ts.map +1 -0
  110. package/development/journey-summary.pure.js +2 -0
  111. package/development/mapper-hWWm7Uke.js +11454 -0
  112. package/development/pearl-chain/pearl-chain.component.d.ts +44 -0
  113. package/development/pearl-chain/pearl-chain.component.d.ts.map +1 -0
  114. package/development/pearl-chain/pearl-chain.component.js +2 -0
  115. package/development/pearl-chain-time/pearl-chain-time.component.d.ts +49 -0
  116. package/development/pearl-chain-time/pearl-chain-time.component.d.ts.map +1 -0
  117. package/development/pearl-chain-time/pearl-chain-time.component.js +2 -0
  118. package/development/pearl-chain-time.component-B2_BI6E_.js +319 -0
  119. package/development/pearl-chain-time.d.ts +2 -0
  120. package/development/pearl-chain-time.d.ts.map +1 -0
  121. package/development/pearl-chain-time.js +9 -0
  122. package/development/pearl-chain-time.pure.d.ts +3 -0
  123. package/development/pearl-chain-time.pure.d.ts.map +1 -0
  124. package/development/pearl-chain-time.pure.js +2 -0
  125. package/development/pearl-chain-vertical/pearl-chain-vertical.component.d.ts +18 -0
  126. package/development/pearl-chain-vertical/pearl-chain-vertical.component.d.ts.map +1 -0
  127. package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +2 -0
  128. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts +36 -0
  129. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts.map +1 -0
  130. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +2 -0
  131. package/development/pearl-chain-vertical-item.component-DcmH13Vb.js +133 -0
  132. package/development/pearl-chain-vertical-item.d.ts +2 -0
  133. package/development/pearl-chain-vertical-item.d.ts.map +1 -0
  134. package/development/pearl-chain-vertical-item.js +9 -0
  135. package/development/pearl-chain-vertical-item.pure.d.ts +3 -0
  136. package/development/pearl-chain-vertical-item.pure.d.ts.map +1 -0
  137. package/development/pearl-chain-vertical-item.pure.js +2 -0
  138. package/development/pearl-chain-vertical.component-CpcNFl-x.js +31 -0
  139. package/development/pearl-chain-vertical.d.ts +2 -0
  140. package/development/pearl-chain-vertical.d.ts.map +1 -0
  141. package/development/pearl-chain-vertical.js +9 -0
  142. package/development/pearl-chain-vertical.pure.d.ts +3 -0
  143. package/development/pearl-chain-vertical.pure.d.ts.map +1 -0
  144. package/development/pearl-chain-vertical.pure.js +2 -0
  145. package/development/pearl-chain.component-oQZUzsyW.js +316 -0
  146. package/development/pearl-chain.d.ts +2 -0
  147. package/development/pearl-chain.d.ts.map +1 -0
  148. package/development/pearl-chain.js +9 -0
  149. package/development/pearl-chain.pure.d.ts +3 -0
  150. package/development/pearl-chain.pure.d.ts.map +1 -0
  151. package/development/pearl-chain.pure.js +2 -0
  152. package/development/seat-reservation/common/mapper/icon-mapper.d.ts +106 -0
  153. package/development/seat-reservation/common/mapper/icon-mapper.d.ts.map +1 -0
  154. package/development/seat-reservation/common/mapper/icon-mapper.js +170 -0
  155. package/development/seat-reservation/common/mapper/mapper.d.ts +34 -0
  156. package/development/seat-reservation/common/mapper/mapper.d.ts.map +1 -0
  157. package/development/seat-reservation/common/mapper/mapper.js +2 -0
  158. package/development/seat-reservation/common/mapper.d.ts +3 -0
  159. package/development/seat-reservation/common/mapper.d.ts.map +1 -0
  160. package/development/seat-reservation/common/mapper.js +3 -0
  161. package/development/seat-reservation/common/svgs.d.ts +24 -0
  162. package/development/seat-reservation/common/svgs.d.ts.map +1 -0
  163. package/development/seat-reservation/common/svgs.js +2 -0
  164. package/development/seat-reservation/common/translations/i18n.d.ts +28 -0
  165. package/development/seat-reservation/common/translations/i18n.d.ts.map +1 -0
  166. package/development/seat-reservation/common/translations/i18n.js +1120 -0
  167. package/development/seat-reservation/common/translations.d.ts +2 -0
  168. package/development/seat-reservation/common/translations.d.ts.map +1 -0
  169. package/development/seat-reservation/common/translations.js +2 -0
  170. package/development/seat-reservation/common/types.d.ts +102 -0
  171. package/development/seat-reservation/common/types.d.ts.map +1 -0
  172. package/development/seat-reservation/common/types.js +0 -0
  173. package/development/seat-reservation/common.d.ts +6 -0
  174. package/development/seat-reservation/common.d.ts.map +1 -0
  175. package/development/seat-reservation/common.js +12 -0
  176. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +294 -0
  177. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -0
  178. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +1350 -0
  179. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts +77 -0
  180. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -0
  181. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +2 -0
  182. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts +20 -0
  183. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts.map +1 -0
  184. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +2 -0
  185. package/development/seat-reservation/seat-reservation-area.d.ts +2 -0
  186. package/development/seat-reservation/seat-reservation-area.d.ts.map +1 -0
  187. package/development/seat-reservation/seat-reservation-area.js +10 -0
  188. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.d.ts +9 -0
  189. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.d.ts.map +1 -0
  190. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +306 -0
  191. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts +22 -0
  192. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts.map +1 -0
  193. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +2 -0
  194. package/development/seat-reservation/seat-reservation-graphic.d.ts +2 -0
  195. package/development/seat-reservation/seat-reservation-graphic.d.ts.map +1 -0
  196. package/development/seat-reservation/seat-reservation-graphic.js +10 -0
  197. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts +56 -0
  198. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -0
  199. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +2 -0
  200. package/development/seat-reservation/seat-reservation-navigation-coach.d.ts +2 -0
  201. package/development/seat-reservation/seat-reservation-navigation-coach.d.ts.map +1 -0
  202. package/development/seat-reservation/seat-reservation-navigation-coach.js +10 -0
  203. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts +25 -0
  204. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +1 -0
  205. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +2 -0
  206. package/development/seat-reservation/seat-reservation-navigation-services.d.ts +2 -0
  207. package/development/seat-reservation/seat-reservation-navigation-services.d.ts.map +1 -0
  208. package/development/seat-reservation/seat-reservation-navigation-services.js +10 -0
  209. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +49 -0
  210. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -0
  211. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +2 -0
  212. package/development/seat-reservation/seat-reservation-place-control.d.ts +2 -0
  213. package/development/seat-reservation/seat-reservation-place-control.d.ts.map +1 -0
  214. package/development/seat-reservation/seat-reservation-place-control.js +10 -0
  215. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts +16 -0
  216. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts.map +1 -0
  217. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +2 -0
  218. package/development/seat-reservation/seat-reservation-scoped.d.ts +2 -0
  219. package/development/seat-reservation/seat-reservation-scoped.d.ts.map +1 -0
  220. package/development/seat-reservation/seat-reservation-scoped.js +10 -0
  221. package/development/seat-reservation/seat-reservation.d.ts +3 -0
  222. package/development/seat-reservation/seat-reservation.d.ts.map +1 -0
  223. package/development/seat-reservation/seat-reservation.js +11 -0
  224. package/development/seat-reservation-area.component-DbeuTnXT.js +96 -0
  225. package/development/seat-reservation-graphic.component-DlrHtlia.js +129 -0
  226. package/development/seat-reservation-navigation-coach.component-CjoDkcVU.js +428 -0
  227. package/development/seat-reservation-navigation-services.component-CGel7__P.js +159 -0
  228. package/development/seat-reservation-place-control.component-CM9efId7.js +429 -0
  229. package/development/seat-reservation-scoped.component-CFA_bJ3o.js +25 -0
  230. package/development/seat-reservation.component-DFJVFmrI.js +510 -0
  231. package/development/seat-reservation.d.ts +2 -0
  232. package/development/seat-reservation.d.ts.map +1 -0
  233. package/development/seat-reservation.js +27 -0
  234. package/development/seat-reservation.pure.d.ts +15 -0
  235. package/development/seat-reservation.pure.d.ts.map +1 -0
  236. package/development/seat-reservation.pure.js +15 -0
  237. package/development/svgs-kDpBCto5.js +28 -0
  238. package/development/timetable-duration/timetable-duration.component.d.ts +24 -0
  239. package/development/timetable-duration/timetable-duration.component.d.ts.map +1 -0
  240. package/development/timetable-duration/timetable-duration.component.js +2 -0
  241. package/development/timetable-duration.component-BhFlqYbV.js +100 -0
  242. package/development/timetable-duration.d.ts +2 -0
  243. package/development/timetable-duration.d.ts.map +1 -0
  244. package/development/timetable-duration.js +9 -0
  245. package/development/timetable-duration.pure.d.ts +3 -0
  246. package/development/timetable-duration.pure.d.ts.map +1 -0
  247. package/development/timetable-duration.pure.js +2 -0
  248. package/development/timetable-row/timetable-row.component.d.ts +89 -0
  249. package/development/timetable-row/timetable-row.component.d.ts.map +1 -0
  250. package/development/timetable-row/timetable-row.component.js +2 -0
  251. package/development/timetable-row.component-Dko8laRT.js +729 -0
  252. package/development/timetable-row.d.ts +2 -0
  253. package/development/timetable-row.d.ts.map +1 -0
  254. package/development/timetable-row.js +9 -0
  255. package/development/timetable-row.pure.d.ts +3 -0
  256. package/development/timetable-row.pure.d.ts.map +1 -0
  257. package/development/timetable-row.pure.js +2 -0
  258. package/development/toDate-DOFAOjP-.js +150 -0
  259. package/differenceInMinutes-Dr9gRqtu.js +27 -0
  260. package/format-CM5exOsN.js +1103 -0
  261. package/index.d.ts +33 -0
  262. package/index.js +32 -0
  263. package/isValid-B9oVW3lA.js +36 -0
  264. package/journey-summary/journey-summary.component.js +2 -0
  265. package/journey-summary.component-DC7-qPHY.js +264 -0
  266. package/journey-summary.js +6 -0
  267. package/journey-summary.pure.js +2 -0
  268. package/mapper-DkiDDseD.js +11382 -0
  269. package/off-brand-theme.css +13 -0
  270. package/package.json +222 -1
  271. package/pearl-chain/pearl-chain.component.js +2 -0
  272. package/pearl-chain-time/pearl-chain-time.component.js +2 -0
  273. package/pearl-chain-time.component-CkKsrbgQ.js +239 -0
  274. package/pearl-chain-time.js +6 -0
  275. package/pearl-chain-time.pure.js +2 -0
  276. package/pearl-chain-vertical/pearl-chain-vertical.component.js +2 -0
  277. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +2 -0
  278. package/pearl-chain-vertical-item.component-BUqZ-3Ay.js +108 -0
  279. package/pearl-chain-vertical-item.js +6 -0
  280. package/pearl-chain-vertical-item.pure.js +2 -0
  281. package/pearl-chain-vertical.component-Df9CvRxo.js +21 -0
  282. package/pearl-chain-vertical.js +6 -0
  283. package/pearl-chain-vertical.pure.js +2 -0
  284. package/pearl-chain.component-CpISVoAu.js +194 -0
  285. package/pearl-chain.js +6 -0
  286. package/pearl-chain.pure.js +2 -0
  287. package/safety-theme.css +13 -0
  288. package/seat-reservation/common/mapper/icon-mapper.js +72 -0
  289. package/seat-reservation/common/mapper/mapper.js +2 -0
  290. package/seat-reservation/common/mapper.js +3 -0
  291. package/seat-reservation/common/svgs.js +2 -0
  292. package/seat-reservation/common/translations/i18n.js +1085 -0
  293. package/seat-reservation/common/translations.js +2 -0
  294. package/seat-reservation/common/types.js +0 -0
  295. package/seat-reservation/common.js +9 -0
  296. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +861 -0
  297. package/seat-reservation/seat-reservation/seat-reservation.component.js +2 -0
  298. package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +2 -0
  299. package/seat-reservation/seat-reservation-area.js +4 -0
  300. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +291 -0
  301. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +2 -0
  302. package/seat-reservation/seat-reservation-graphic.js +4 -0
  303. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +2 -0
  304. package/seat-reservation/seat-reservation-navigation-coach.js +4 -0
  305. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +2 -0
  306. package/seat-reservation/seat-reservation-navigation-services.js +4 -0
  307. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +2 -0
  308. package/seat-reservation/seat-reservation-place-control.js +4 -0
  309. package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +2 -0
  310. package/seat-reservation/seat-reservation-scoped.js +4 -0
  311. package/seat-reservation/seat-reservation.js +5 -0
  312. package/seat-reservation-area.component-CtYawDjE.js +75 -0
  313. package/seat-reservation-graphic.component-Cm_pVxaB.js +102 -0
  314. package/seat-reservation-navigation-coach.component-sug9IBTH.js +333 -0
  315. package/seat-reservation-navigation-services.component-C9dDYD_M.js +127 -0
  316. package/seat-reservation-place-control.component-CE7d9M2b.js +322 -0
  317. package/seat-reservation-scoped.component-DVyP2JGE.js +17 -0
  318. package/seat-reservation.component-DajC6fqU.js +367 -0
  319. package/seat-reservation.js +17 -0
  320. package/seat-reservation.pure.js +15 -0
  321. package/standard-theme.css +13 -0
  322. package/svgs-D5DhLHxC.js +26 -0
  323. package/timetable-duration/timetable-duration.component.js +2 -0
  324. package/timetable-duration.component-BnJA8wSb.js +65 -0
  325. package/timetable-duration.js +6 -0
  326. package/timetable-duration.pure.js +2 -0
  327. package/timetable-row/timetable-row.component.js +2 -0
  328. package/timetable-row.component-DbzBCpKR.js +559 -0
  329. package/timetable-row.js +6 -0
  330. package/timetable-row.pure.js +2 -0
  331. package/toDate-p-Tpkb7t.js +16 -0
package/README.md ADDED
@@ -0,0 +1,55 @@
1
+ # Lyne Components
2
+
3
+ > Lyne Components are the building blocks of the Lyne Design System
4
+ > and are based on standard compliant Web Components
5
+ > created using [Lit](https://lit.dev/) and
6
+ > browsable through [Docs App](https://lyne-elements.app.sbb.ch/)
7
+
8
+ ## 🎯 Our aim
9
+
10
+ To fulfill our [Vision](./docs/VISION.md), we are building and maintaining Lyne, our Design System, which is and acts
11
+ as our common language — our Single Source of Truth.
12
+ For this purpose we use [Design Tokens](https://github.com/sbb-design-systems/lyne-design-tokens) as our design abstractions.
13
+ Those [Design Tokens](https://github.com/sbb-design-systems/lyne-design-tokens) are consumed by Lyne Components and are integrated within our documentation.
14
+
15
+ Lyne Design Tokens and Lyne Components are available for developers and designers.
16
+
17
+ ## 📚 Documentation
18
+
19
+ - General docs: [digital.sbb.ch](https://digital.sbb.ch)
20
+ - [Component docs](https://lyne-elements.app.sbb.ch)
21
+ - [Getting started guide](./docs/GETTING_STARTED.md)
22
+
23
+ ## 🔗 Packages
24
+
25
+ | Package | Description |
26
+ | -------------------------------------- | --------------------------------------------------------------------------- |
27
+ | `@sbb-esta/lyne-elements` | Web components built on top of the Lyne Design System |
28
+ | `@sbb-esta/lyne-elements-experimental` | Web components that do not yet align with our architecture or testing goals |
29
+ | `@sbb-esta/lyne-react` | React wrappers for `@sbb-esta/lyne-elements` |
30
+ | `@sbb-esta/lyne-react-experimental` | React wrappers for `@sbb-esta/lyne-elements-experimental` |
31
+
32
+ - [NPM Packages](https://www.npmjs.com/search?q=%40sbb-esta%2Flyne-)
33
+
34
+ ## 🖥 Browser and screen reader support
35
+
36
+ This library supports the most recent two versions of all major browsers: Chrome (including Android), Firefox, Safari (including iOS), and Edge.
37
+
38
+ We aim for great user experience with the following screen readers:
39
+
40
+ Windows: NVDA and JAWS with FF / Chrome.
41
+ macOS: VoiceOver with Safari / Chrome.
42
+ iOS: VoiceOver with Safari
43
+ Android: Android Accessibility Suite (formerly TalkBack) with Chrome.
44
+
45
+ ## 🙌 Contributing
46
+
47
+ - [General contribution guide](./docs/CONTRIBUTING.md)
48
+ - [Developer guide](./docs/DEVELOPER.md) for developers to get started working with this repo.
49
+ - [Coding standards](./docs/CODING_STANDARDS.md) for developers.
50
+ - [Code of conduct](./docs/CODE_OF_CONDUCT.md)
51
+
52
+ ## 📝 License
53
+
54
+ This software is published by SBB-CFF-FFS under the [MIT](/LICENSE) licence and unsupported unless otherwise clearly stated.
55
+ Use at your own risk.
@@ -0,0 +1,67 @@
1
+ import { ɵstateController as e } from "@sbb-esta/lyne-elements/core/mixins.js";
2
+ import { SbbAutocompleteBaseElement as t } from "@sbb-esta/lyne-elements/autocomplete.js";
3
+ import { getNextElementIndex as n } from "@sbb-esta/lyne-elements/core/a11y.js";
4
+ import { isSafari as r } from "@sbb-esta/lyne-elements/core/dom.js";
5
+ import { setAriaComboBoxAttributes as i } from "@sbb-esta/lyne-elements/core/overlay.js";
6
+ import { SbbAutocompleteGridOptionElement as a } from "../autocomplete-grid-option/autocomplete-grid-option.component.js";
7
+ //#region src/elements-experimental/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.ts
8
+ var o = 0, s = r, c = class extends t {
9
+ constructor() {
10
+ super(...arguments), this.overlayId = `sbb-autocomplete-grid-${++o}`, this.panelRole = "grid", this._activeColumnIndex = 0;
11
+ }
12
+ static {
13
+ this.elementName = "sbb-autocomplete-grid";
14
+ }
15
+ static {
16
+ this.role = s ? "grid" : null;
17
+ }
18
+ get options() {
19
+ return Array.from(this.querySelectorAll?.("sbb-autocomplete-grid-option") ?? []);
20
+ }
21
+ syncNegative() {
22
+ this.querySelectorAll?.("sbb-divider, sbb-autocomplete-grid-button, sbb-option-hint").forEach((e) => e.negative = this.negative), this.querySelectorAll?.("sbb-autocomplete-grid-row, sbb-autocomplete-grid-option, sbb-autocomplete-grid-optgroup").forEach((t) => e(t).toggle("negative", this.negative));
23
+ }
24
+ openedPanelKeyboardInteraction(e) {
25
+ if (this.isOpen) switch (e.key) {
26
+ case "Enter":
27
+ this.selectByKeyboard(e);
28
+ break;
29
+ case "ArrowDown":
30
+ case "ArrowUp":
31
+ this.setNextActiveOption(e);
32
+ break;
33
+ case "ArrowRight":
34
+ case "ArrowLeft":
35
+ this._setNextHorizontalActiveElement(e);
36
+ break;
37
+ }
38
+ }
39
+ selectByKeyboard(e) {
40
+ this.activeOption && (e.preventDefault(), this._activeColumnIndex === 0 ? this.activeOption.selectViaUserInteraction(!0) : this.activeOption.closest("sbb-autocomplete-grid-row")?.querySelectorAll("sbb-autocomplete-grid-button")[this._activeColumnIndex - 1]?.click());
41
+ }
42
+ setNextActiveOption(t) {
43
+ let r = this.options.filter((e) => !e.matches(":is(:state(disabled),[state--disabled])"));
44
+ if (this.activeOption?.setActive(!1), this.triggerElement?.removeAttribute("aria-activedescendant"), Array.from(this.querySelectorAll?.("sbb-autocomplete-grid-row :is(:state(focus-visible),[state--focus-visible])") ?? []).forEach((t) => e(t).delete("focus-visible")), this._activeColumnIndex = 0, !r.length) {
45
+ this.activeOption = null;
46
+ return;
47
+ }
48
+ this.activeOption = r[n(t, this.activeOption ? r.indexOf(this.activeOption) : -1, r.length)], this.activeOption.setActive(!0), this.triggerElement?.setAttribute("aria-activedescendant", this.activeOption.id), this.activeOption.scrollIntoView({ block: "nearest" }), t && t.preventDefault(), this.autoSelectActiveOption && t && this.setPendingSelection(this.activeOption);
49
+ }
50
+ _setNextHorizontalActiveElement(t) {
51
+ if (!this.activeOption) return;
52
+ let r = Array.from(this.activeOption?.closest("sbb-autocomplete-grid-row")?.querySelectorAll("sbb-autocomplete-grid-option, sbb-autocomplete-grid-button") ?? [])?.filter((e) => !e.matches(":is(:state(disabled),[state--disabled])"));
53
+ if (!r.length) return;
54
+ let i = n(t, this._activeColumnIndex, r.length), o = r[i];
55
+ o instanceof a ? o.setActive(!0) : e(o).add("focus-visible");
56
+ let s = r[this._activeColumnIndex];
57
+ s instanceof a ? s.setActive(!1) : e(s).delete("focus-visible"), this.triggerElement?.setAttribute("aria-activedescendant", o.id), o.scrollIntoView({ block: "nearest" }), this._activeColumnIndex = i;
58
+ }
59
+ resetActiveElement() {
60
+ this._activeColumnIndex !== 0 && this.activeOption?.closest("sbb-autocomplete-grid-row")?.querySelectorAll("sbb-autocomplete-grid-button").forEach((t) => e(t).delete("focus-visible")), this.activeOption?.setActive(!1), this.activeOption = null, this._activeColumnIndex = 0, this.triggerElement?.removeAttribute("aria-activedescendant");
61
+ }
62
+ setTriggerAttributes(e) {
63
+ i(e, s ? this.id : this.overlayId, !1, "grid");
64
+ }
65
+ };
66
+ //#endregion
67
+ export { c as SbbAutocompleteGridElement };
@@ -0,0 +1,73 @@
1
+ import { __esDecorate as e, __runInitializers as t } from "tslib";
2
+ import { miniButtonStyle as n } from "@sbb-esta/lyne-elements/button.pure.js";
3
+ import { SbbActionBaseElement as r } from "@sbb-esta/lyne-elements/core/base-elements.js";
4
+ import { SbbPropertyWatcherController as i } from "@sbb-esta/lyne-elements/core/controllers.js";
5
+ import { hostAttributes as a } from "@sbb-esta/lyne-elements/core/decorators.js";
6
+ import { isEventPrevented as o } from "@sbb-esta/lyne-elements/core/eventing.js";
7
+ import { SbbDisabledMixin as s, SbbNegativeMixin as c } from "@sbb-esta/lyne-elements/core/mixins.js";
8
+ import { boxSizingStyles as l } from "@sbb-esta/lyne-elements/core/styles.js";
9
+ import { SbbIconNameMixin as u } from "@sbb-esta/lyne-elements/icon.js";
10
+ import { isServer as d } from "lit";
11
+ //#region src/elements-experimental/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.ts
12
+ var f = 0, p = (() => {
13
+ let p = [a({ tabindex: null })], m, h = [], g, _ = s(c(u(r)));
14
+ var v = class extends _ {
15
+ static {
16
+ g = this;
17
+ }
18
+ static {
19
+ let t = typeof Symbol == "function" && Symbol.metadata ? Object.create(_[Symbol.metadata] ?? null) : void 0;
20
+ e(null, m = { value: g }, p, {
21
+ kind: "class",
22
+ name: g.name,
23
+ metadata: t
24
+ }, null, h), v = g = m.value, t && Object.defineProperty(g, Symbol.metadata, {
25
+ enumerable: !0,
26
+ configurable: !0,
27
+ writable: !0,
28
+ value: t
29
+ });
30
+ }
31
+ static {
32
+ this.elementName = "sbb-autocomplete-grid-button";
33
+ }
34
+ static {
35
+ this.role = "button";
36
+ }
37
+ static {
38
+ this.styles = [l, n];
39
+ }
40
+ get option() {
41
+ return this.closest("sbb-autocomplete-grid-row")?.querySelector("sbb-autocomplete-grid-option") || null;
42
+ }
43
+ get optgroup() {
44
+ return this.closest("sbb-autocomplete-grid-optgroup");
45
+ }
46
+ constructor() {
47
+ super(), this._handleButtonClick = async (e) => {
48
+ await o(e) || this.closest("form");
49
+ }, this.internals.states.add("button"), d || (this.setupBaseEventHandlers(), this.addEventListener("click", this._handleButtonClick), this.addController(new i(this, () => this.closest("sbb-autocomplete-grid-optgroup"), { disabled: () => this._updateInternals() })));
50
+ }
51
+ isDisabledExternally() {
52
+ return this.optgroup?.disabled ?? !1;
53
+ }
54
+ renderTemplate() {
55
+ return super.renderIconSlot();
56
+ }
57
+ connectedCallback() {
58
+ super.connectedCallback(), this.id ||= `sbb-autocomplete-grid-button-${++f}`;
59
+ }
60
+ willUpdate(e) {
61
+ super.willUpdate(e), e.has("disabled") && this._updateInternals();
62
+ }
63
+ _updateInternals() {
64
+ this.disabled || this.optgroup?.disabled ? (this.internals.states.add("disabled"), this.internals.ariaDisabled = "true") : (this.internals.states.delete("disabled"), this.internals.ariaDisabled = null);
65
+ }
66
+ static {
67
+ t(g, h);
68
+ }
69
+ };
70
+ return g;
71
+ })();
72
+ //#endregion
73
+ export { p as SbbAutocompleteGridButtonElement };
@@ -0,0 +1,4 @@
1
+ import { SbbAutocompleteGridButtonElement as e } from "./autocomplete-grid-button/autocomplete-grid-button.component.js";
2
+ e.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/autocomplete-grid/autocomplete-grid-button.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/autocomplete-grid.js' or '@sbb-esta/elements-experimental/autocomplete-grid.pure.js' instead.");
3
+ //#endregion
4
+ export { e as SbbAutocompleteGridButtonElement };
@@ -0,0 +1,2 @@
1
+ import { t as e } from "../../autocomplete-grid-cell.component-DkD9aFKc.js";
2
+ export { e as SbbAutocompleteGridCellElement };
@@ -0,0 +1,4 @@
1
+ import { t as e } from "../autocomplete-grid-cell.component-DkD9aFKc.js";
2
+ e.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/autocomplete-grid/autocomplete-grid-cell.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/autocomplete-grid.js' or '@sbb-esta/elements-experimental/autocomplete-grid.pure.js' instead.");
3
+ //#endregion
4
+ export { e as SbbAutocompleteGridCellElement };
@@ -0,0 +1,21 @@
1
+ import { SbbPropertyWatcherController as e } from "@sbb-esta/lyne-elements/core/controllers.js";
2
+ import { SbbOptgroupBaseElement as t } from "@sbb-esta/lyne-elements/option.pure.js";
3
+ //#region src/elements-experimental/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.ts
4
+ var n = class extends t {
5
+ static {
6
+ this.elementName = "sbb-autocomplete-grid-optgroup";
7
+ }
8
+ get options() {
9
+ return Array.from(this.querySelectorAll?.("sbb-autocomplete-grid-option") ?? []);
10
+ }
11
+ constructor() {
12
+ super(), this.addController(new e(this, () => this.closest("sbb-autocomplete-grid"), { negative: (e) => {
13
+ this.toggleState("negative", e.negative), this.requestUpdate();
14
+ } }));
15
+ }
16
+ getAutocompleteParent() {
17
+ return this.closest?.("sbb-autocomplete-grid") || null;
18
+ }
19
+ };
20
+ //#endregion
21
+ export { n as SbbAutocompleteGridOptgroupElement };
@@ -0,0 +1,4 @@
1
+ import { SbbAutocompleteGridOptgroupElement as e } from "./autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js";
2
+ e.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/autocomplete-grid/autocomplete-grid-optgroup.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/autocomplete-grid.js' or '@sbb-esta/elements-experimental/autocomplete-grid.pure.js' instead.");
3
+ //#endregion
4
+ export { e as SbbAutocompleteGridOptgroupElement };
@@ -0,0 +1,2 @@
1
+ import { n as e, t } from "../../autocomplete-grid-option.component-CtATJy7n.js";
2
+ export { t as SbbAutocompleteGridOptionElement, e as autocompleteGridOptionId };
@@ -0,0 +1,4 @@
1
+ import { n as e, t } from "../autocomplete-grid-option.component-CtATJy7n.js";
2
+ t.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/autocomplete-grid/autocomplete-grid-option.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/autocomplete-grid.js' or '@sbb-esta/elements-experimental/autocomplete-grid.pure.js' instead.");
3
+ //#endregion
4
+ export { t as SbbAutocompleteGridOptionElement, e as autocompleteGridOptionId };
@@ -0,0 +1,2 @@
1
+ import { t as e } from "../../autocomplete-grid-row.component-6nJv5PMj.js";
2
+ export { e as SbbAutocompleteGridRowElement };
@@ -0,0 +1,4 @@
1
+ import { t as e } from "../autocomplete-grid-row.component-6nJv5PMj.js";
2
+ e.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/autocomplete-grid/autocomplete-grid-row.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/autocomplete-grid.js' or '@sbb-esta/elements-experimental/autocomplete-grid.pure.js' instead.");
3
+ //#endregion
4
+ export { e as SbbAutocompleteGridRowElement };
@@ -0,0 +1,4 @@
1
+ import { SbbAutocompleteGridElement as e } from "./autocomplete-grid/autocomplete-grid.component.js";
2
+ e.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/autocomplete-grid/autocomplete-grid.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/autocomplete-grid.js' or '@sbb-esta/elements-experimental/autocomplete-grid.pure.js' instead.");
3
+ //#endregion
4
+ export { e as SbbAutocompleteGridElement };
@@ -0,0 +1,24 @@
1
+ import { SbbElement as e } from "@sbb-esta/lyne-elements/core/base-elements.js";
2
+ import { boxSizingStyles as t } from "@sbb-esta/lyne-elements/core/styles.js";
3
+ import { html as n, unsafeCSS as r } from "lit";
4
+ //#region src/elements-experimental/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.scss?inline
5
+ var i = ":host{--sbb-autocomplete-grid-cell-gap: var(--sbb-spacing-fixed-6x);display:block}.sbb-autocomplete-grid-cell{display:flex;column-gap:var(--sbb-autocomplete-grid-cell-gap)}", a = class extends e {
6
+ static {
7
+ this.elementName = "sbb-autocomplete-grid-cell";
8
+ }
9
+ static {
10
+ this.role = "gridcell";
11
+ }
12
+ static {
13
+ this.styles = [t, r(i)];
14
+ }
15
+ render() {
16
+ return n`
17
+ <span class="sbb-autocomplete-grid-cell">
18
+ <slot></slot>
19
+ </span>
20
+ `;
21
+ }
22
+ };
23
+ //#endregion
24
+ export { a as t };
@@ -0,0 +1,37 @@
1
+ import { SbbPropertyWatcherController as e } from "@sbb-esta/lyne-elements/core/controllers.js";
2
+ import { ɵstateController as t } from "@sbb-esta/lyne-elements/core/mixins.js";
3
+ import { boxSizingStyles as n } from "@sbb-esta/lyne-elements/core/styles.js";
4
+ import { unsafeCSS as r } from "lit";
5
+ import { SbbOptionBaseElement as i } from "@sbb-esta/lyne-elements/option.js";
6
+ //#region src/elements-experimental/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.scss?inline
7
+ var a = ":host{display:block}:host(:is(:state(negative),[state--negative])){--sbb-option-color: var(--sbb-color-3-negative);--sbb-option-icon-color: var(--sbb-color-5)}:host(:not(:is(:state(disable-highlight),[state--disable-highlight]))) .sbb-option__label slot{display:none}:host(:is(:state(active),[state--active])){--sbb-option-focus-outline-color: var(--sbb-focus-outline-color)}.sbb-option{font-size:var(--sbb-option-font-size);letter-spacing:var(--sbb-typo-letter-spacing-text);position:relative;display:flex;align-items:center;column-gap:var(--sbb-option-column-gap);justify-content:start;min-height:var(--sbb-option-min-height);padding-inline:var(--sbb-option-padding-inline);color:var(--sbb-option-color)}.sbb-option:after{content:\"\";display:block;position:absolute;inset:var(--sbb-option-focus-outline-inset);pointer-events:none;border:var(--sbb-focus-outline-width) solid var(--sbb-option-focus-outline-color);border-radius:var(--sbb-option-border-radius)}:host(:not(:is(:state(disabled),[state--disabled]))) .sbb-option__label--highlight{font-weight:700}@media(forced-colors:active){:host(:not(:is(:state(disabled),[state--disabled]))) .sbb-option__label--highlight{color:Highlight}}.sbb-option__icon{display:flex;min-width:var(--sbb-size-icon-ui-small);min-height:var(--sbb-size-icon-ui-small);color:var(--sbb-option-icon-color)}:host(:not(:is(:state(slotted-icon),[state--slotted-icon]),:is(:state(has-icon-name),[state--has-icon-name]))) .sbb-option__icon{display:var(--sbb-option-icon-container-display, none)}.sbb-option__label{text-overflow:var(--sbb-option-text-overflow);overflow:var(--sbb-option-overflow);white-space:var(--sbb-option-white-space, initial)}", o = "sbb-autocomplete-grid-option", s = class extends i {
8
+ static {
9
+ this.elementName = "sbb-autocomplete-grid-option";
10
+ }
11
+ static {
12
+ this.role = "gridcell";
13
+ }
14
+ static {
15
+ this.styles = [n, r(a)];
16
+ }
17
+ constructor() {
18
+ super(), this.optionId = o, this.addController(new e(this, () => this.closest("sbb-autocomplete-grid-optgroup"), {
19
+ disabled: (e) => {
20
+ this.disabledFromGroup = e.disabled, t(this.closest?.("sbb-autocomplete-grid-row"))?.toggle("disabled", this.disabled || this.disabledFromGroup), this.updateAriaDisabled();
21
+ },
22
+ label: (e) => this.groupLabel = e.label
23
+ })), this.addController(new e(this, () => this.closest("sbb-autocomplete-grid"), { negative: (e) => this.toggleState("negative", e.negative) }));
24
+ }
25
+ willUpdate(e) {
26
+ super.willUpdate(e), e.has("disabled") && (t(this.closest?.("sbb-autocomplete-grid-row"))?.toggle("disabled", this.disabled || this.disabledFromGroup), this.updateAriaDisabled());
27
+ }
28
+ selectByClick(e) {
29
+ if (this.disabled || this.disabledFromGroup) {
30
+ e.stopPropagation();
31
+ return;
32
+ }
33
+ this.selectViaUserInteraction(!0);
34
+ }
35
+ };
36
+ //#endregion
37
+ export { o as n, s as t };
@@ -0,0 +1,27 @@
1
+ import { SbbElement as e } from "@sbb-esta/lyne-elements/core/base-elements.js";
2
+ import { boxSizingStyles as t } from "@sbb-esta/lyne-elements/core/styles.js";
3
+ import { html as n, unsafeCSS as r } from "lit";
4
+ //#region src/elements-experimental/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.scss?inline
5
+ var i = ":host{display:block}:host(:is(:state(negative),[state--negative])){--sbb-autocomplete-grid-row-color: var(--sbb-color-3-negative);--sbb-autocomplete-grid-row-background-color-hover: var(--sbb-background-color-3-negative);--sbb-autocomplete-grid-row-disabled-border-color: var(--sbb-border-color-5);--sbb-autocomplete-grid-row-disabled-background-color: var(--sbb-background-color-3-negative);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark)}@media(any-hover:hover){:host(:hover:not(:is(:state(disabled),[state--disabled]))){--sbb-autocomplete-grid-row-background-color: var( --sbb-autocomplete-grid-row-background-color-hover )}}:host(:is(:state(disabled),[state--disabled])){--sbb-autocomplete-grid-row-cursor: var(--sbb-cursor-default)}@media(forced-colors:active){:host(:is(:state(disabled),[state--disabled])){--sbb-autocomplete-grid-row-color: GrayText}}::slotted(sbb-autocomplete-grid-option){flex:1 1 auto;margin-right:calc(-1 * var(--sbb-spacing-fixed-2x));overflow-x:hidden}.sbb-autocomplete-grid-row{display:flex;align-items:center;padding-inline-end:var(--sbb-autocomplete-grid-row-padding-inline-end);justify-content:var(--sbb-autocomplete-grid-row-justify-content);gap:var(--sbb-spacing-fixed-6x);color:var(--sbb-autocomplete-grid-row-color);background-color:var(--sbb-autocomplete-grid-row-background-color, inherit);cursor:var(--sbb-autocomplete-grid-row-cursor);-webkit-tap-highlight-color:transparent;-webkit-text-fill-color:var(--sbb-autocomplete-grid-row-color)}:host(:is(:state(disabled),[state--disabled])) .sbb-autocomplete-grid-row{position:relative;z-index:0}:host(:is(:state(disabled),[state--disabled])) .sbb-autocomplete-grid-row:before{content:\"\";display:block;position:absolute;inset:.375rem;border:var(--sbb-border-width-1x) dashed var(--sbb-autocomplete-grid-row-disabled-border-color);border-radius:var(--sbb-border-radius-2x);background-color:var(--sbb-autocomplete-grid-row-disabled-background-color);z-index:-1}@media(forced-colors:active){:host(:is(:state(disabled),[state--disabled])) .sbb-autocomplete-grid-row:before{border-color:GrayText}}", a = 0, o = class extends e {
6
+ static {
7
+ this.elementName = "sbb-autocomplete-grid-row";
8
+ }
9
+ static {
10
+ this.role = "row";
11
+ }
12
+ static {
13
+ this.styles = [t, r(i)];
14
+ }
15
+ connectedCallback() {
16
+ super.connectedCallback(), this.id ||= `sbb-autocomplete-grid-row-${++a}`;
17
+ }
18
+ render() {
19
+ return n`
20
+ <span class="sbb-autocomplete-grid-row">
21
+ <slot></slot>
22
+ </span>
23
+ `;
24
+ }
25
+ };
26
+ //#endregion
27
+ export { o as t };
@@ -0,0 +1,10 @@
1
+ import { SbbAutocompleteGridButtonElement as e } from "./autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js";
2
+ import { t } from "./autocomplete-grid-cell.component-DkD9aFKc.js";
3
+ import { SbbAutocompleteGridOptgroupElement as n } from "./autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js";
4
+ import { n as r, t as i } from "./autocomplete-grid-option.component-CtATJy7n.js";
5
+ import { t as a } from "./autocomplete-grid-row.component-6nJv5PMj.js";
6
+ import { SbbAutocompleteGridElement as o } from "./autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js";
7
+ import "./autocomplete-grid.pure.js";
8
+ o.define(), e.define(), t.define(), n.define(), i.define(), a.define();
9
+ //#endregion
10
+ export { e as SbbAutocompleteGridButtonElement, t as SbbAutocompleteGridCellElement, o as SbbAutocompleteGridElement, n as SbbAutocompleteGridOptgroupElement, i as SbbAutocompleteGridOptionElement, a as SbbAutocompleteGridRowElement, r as autocompleteGridOptionId };
@@ -0,0 +1,7 @@
1
+ import { SbbAutocompleteGridButtonElement as e } from "./autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js";
2
+ import { t } from "./autocomplete-grid-cell.component-DkD9aFKc.js";
3
+ import { SbbAutocompleteGridOptgroupElement as n } from "./autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js";
4
+ import { n as r, t as i } from "./autocomplete-grid-option.component-CtATJy7n.js";
5
+ import { t as a } from "./autocomplete-grid-row.component-6nJv5PMj.js";
6
+ import { SbbAutocompleteGridElement as o } from "./autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js";
7
+ export { e as SbbAutocompleteGridButtonElement, t as SbbAutocompleteGridCellElement, o as SbbAutocompleteGridElement, n as SbbAutocompleteGridOptgroupElement, i as SbbAutocompleteGridOptionElement, a as SbbAutocompleteGridRowElement, r as autocompleteGridOptionId };
@@ -0,0 +1,2 @@
1
+ import { n as e, t } from "../../date-helper-CGproP5d.js";
2
+ export { t as durationToTime, e as removeTimezoneFromISOTimeString };
@@ -0,0 +1,2 @@
1
+ import { n as e, t } from "../date-helper-CGproP5d.js";
2
+ export { t as durationToTime, e as removeTimezoneFromISOTimeString };
@@ -0,0 +1,13 @@
1
+ $theme: 'standard' !default;
2
+
3
+ @use 'sass:string';
4
+
5
+ @use '../../autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.global' as
6
+ autocomplete-grid-row with (
7
+ $theme: $theme
8
+ );
9
+
10
+ // Core variables
11
+ :root {
12
+ @include autocomplete-grid-row.base;
13
+ }
@@ -0,0 +1,3 @@
1
+ @use './theme' with (
2
+ $theme: 'lean'
3
+ );
@@ -0,0 +1,3 @@
1
+ @use './theme' with (
2
+ $theme: 'off-brand'
3
+ );
@@ -0,0 +1,3 @@
1
+ @use './theme' with (
2
+ $theme: 'safety'
3
+ );
@@ -0,0 +1,3 @@
1
+ @use './theme' with (
2
+ $theme: 'standard'
3
+ );
@@ -0,0 +1,5 @@
1
+ $theme: 'standard' !default;
2
+
3
+ @use './core' with (
4
+ $theme: $theme
5
+ );
@@ -0,0 +1,96 @@
1
+ import { extractTimeAndStringFromNoticeText as e, isConnectionLeg as t, isRideLeg as n } from "./timetable-helper.js";
2
+ import "@sbb-esta/lyne-elements/icon.js";
3
+ import { html as r, nothing as i } from "lit";
4
+ import { i18nWalkingDistanceArrival as a, i18nWalkingDistanceDeparture as o } from "@sbb-esta/lyne-elements/core/i18n.js";
5
+ //#region src/elements-experimental/core/timetable/access-leg-helper.ts
6
+ function s(e, n) {
7
+ let r = t(e) ? e : null, i = r ? r?.notices?.filter((e) => n.includes(e.name))[0] : null;
8
+ return i ? {
9
+ duration: r?.duration || 0,
10
+ text: i?.text?.template || "",
11
+ icon: "walk-small"
12
+ } : null;
13
+ }
14
+ function c(t, r, i, a) {
15
+ let s = n(t) ? t?.serviceJourney?.notices?.filter((e) => ["CI"].includes(e.name))[0] : null, c = s && e(s);
16
+ return s ? {
17
+ duration: (c?.duration || 0) + (r || 0),
18
+ text: i ? o[a] : c?.text || "",
19
+ icon: i ? "wheelchair-small" : `sa-${s?.name?.toLowerCase()}`
20
+ } : null;
21
+ }
22
+ function l(t, r, i, o) {
23
+ let s = n(t) ? t?.serviceJourney?.notices?.filter((e) => ["CO"].includes(e.name))[0] : null, c = s && e(s);
24
+ return s ? {
25
+ duration: (c?.duration || 0) + (r || 0),
26
+ text: i ? a[o] : c?.text || "",
27
+ icon: i ? "wheelchair-small" : `sa-${s?.name?.toLowerCase()}`
28
+ } : null;
29
+ }
30
+ function u(e, t, n, s, c) {
31
+ return r`
32
+ <span class="sbb-pearl-chain__time-transfer sbb-pearl-chain__time-transfer--${t}-${c}">
33
+ <sbb-icon name=${t}></sbb-icon>
34
+ <time datetime=${e + "M"}>
35
+ <span class="sbb-screen-reader-only">
36
+ ${!s && c ? c === "departure" ? o[n] : a[n] : i}
37
+ ${s ? r`<span>${s}</span>` : i}&nbsp;
38
+ </span>
39
+ ${e}
40
+ <span class="sbb-pearl-chain__time-walktime-prime-symbol" aria-hidden="true">'</span>
41
+ <span class="sbb-screen-reader-only">min</span>
42
+ </time>
43
+ </span>
44
+ `;
45
+ }
46
+ function d(e, t, n, i) {
47
+ return r`
48
+ <span class="sbb-pearl-chain__time-walktime sbb-pearl-chain__time-walktime--${i}-${n}">
49
+ <sbb-icon name=${i}></sbb-icon>
50
+ <time datetime=${e + "M"}>
51
+ <span class="sbb-screen-reader-only">${t}</span>
52
+ ${e}
53
+ <span class="sbb-pearl-chain__time-walktime-prime-symbol" aria-hidden="true">'</span>
54
+ </time>
55
+ </span>
56
+ `;
57
+ }
58
+ function f(e, f, p, m, h) {
59
+ let g = e && e.filter((e) => n(e) || t(e))[0], _ = [
60
+ "YM",
61
+ "YB",
62
+ "Y",
63
+ "YT"
64
+ ], v = s(g, _), y = c(g, f, h, m), b = f ? {
65
+ text: o[m],
66
+ duration: f,
67
+ icon: h ? "wheelchair-small" : "walk-small"
68
+ } : null, x = () => v || (b && !y && !v ? b : y || null);
69
+ function S() {
70
+ return r`
71
+ ${v ? d(v.duration, v.text, "left", v.icon) : i}
72
+ ${b && !y && !v ? d(b.duration, b.text, "left", b.icon) : i}
73
+ ${y ? h ? d(y.duration, y.text, "left", y.icon) : u(y.duration, y.icon, m, y.text, "departure") : i}
74
+ `;
75
+ }
76
+ let C = e && e[e.length - 1], w = (t(C) || n(C)) && C, T = w && s(w, _), E = w && l(w, p, h, m), D = p ? {
77
+ text: a[m],
78
+ duration: p,
79
+ icon: h ? "wheelchair-small" : "walk-small"
80
+ } : null, O = () => T || (D && !E && !T ? D : E || null);
81
+ function k() {
82
+ return r`
83
+ ${T ? d(T.duration, T.text, "right", T.icon) : i}
84
+ ${D && !E && !T ? d(D.duration, D.text, "right", D.icon) : i}
85
+ ${E ? h ? d(E.duration, E.text, "right", E.icon) : u(E.duration, E.icon, m, E.text, "arrival") : i}
86
+ `;
87
+ }
88
+ return {
89
+ renderDepartureTimeAttribute: S,
90
+ renderArrivalTimeAttribute: k,
91
+ departureTimeAttribute: x(),
92
+ arrivalTimeAttribute: O()
93
+ };
94
+ }
95
+ //#endregion
96
+ export { f as getDepartureArrivalTimeAttribute };
@@ -0,0 +1,10 @@
1
+ //#region src/elements-experimental/core/timetable/timetable-helper.ts
2
+ var e = (e) => e?.__typename === "PTRideLeg", t = (e) => e?.__typename === "PTConnectionLeg", n = (e) => {
3
+ let t = e?.text?.template && e.text.template.indexOf("(") + 1, n = e?.text?.template?.substring(t || 0, e?.text?.template.indexOf(")"));
4
+ return {
5
+ duration: n && +n.substring(0, n.length - 1) || 0,
6
+ text: e?.text?.template?.split("(")[0] || ""
7
+ };
8
+ };
9
+ //#endregion
10
+ export { n as extractTimeAndStringFromNoticeText, t as isConnectionLeg, e as isRideLeg };
File without changes
@@ -0,0 +1,4 @@
1
+ import { extractTimeAndStringFromNoticeText as e, isConnectionLeg as t, isRideLeg as n } from "./timetable/timetable-helper.js";
2
+ import { getDepartureArrivalTimeAttribute as r } from "./timetable/access-leg-helper.js";
3
+ import "./timetable/timetable-properties.js";
4
+ export { e as extractTimeAndStringFromNoticeText, r as getDepartureArrivalTimeAttribute, t as isConnectionLeg, n as isRideLeg };
package/core.css ADDED
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --sbb-autocomplete-grid-row-color: var(--sbb-color-3);
3
+ --sbb-autocomplete-grid-row-background-color-hover: var(--sbb-background-color-3);
4
+ --sbb-autocomplete-grid-row-disabled-border-color: var(--sbb-color-graphite);
5
+ --sbb-autocomplete-grid-row-disabled-border-color: light-dark(
6
+ var(--sbb-color-graphite),
7
+ var(--sbb-color-smoke)
8
+ );
9
+ --sbb-autocomplete-grid-row-disabled-background-color: var(--sbb-background-color-3);
10
+ --sbb-autocomplete-grid-row-padding-inline-end: var(--sbb-spacing-responsive-xxxs);
11
+ --sbb-autocomplete-grid-row-justify-content: space-between;
12
+ --sbb-autocomplete-grid-row-cursor: var(--sbb-cursor-pointer);
13
+ }