@sbb-esta/lyne-elements-experimental-dev 0.0.0 → 4.0.0-dev.1775551727
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.
- package/README.md +55 -0
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +67 -0
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +73 -0
- package/autocomplete-grid/autocomplete-grid-button.js +4 -0
- package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +2 -0
- package/autocomplete-grid/autocomplete-grid-cell.js +4 -0
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +21 -0
- package/autocomplete-grid/autocomplete-grid-optgroup.js +4 -0
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +2 -0
- package/autocomplete-grid/autocomplete-grid-option.js +4 -0
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -0
- package/autocomplete-grid/autocomplete-grid-row.js +4 -0
- package/autocomplete-grid/autocomplete-grid.js +4 -0
- package/autocomplete-grid-cell.component-DkD9aFKc.js +24 -0
- package/autocomplete-grid-option.component-CtATJy7n.js +37 -0
- package/autocomplete-grid-row.component-6nJv5PMj.js +27 -0
- package/autocomplete-grid.js +10 -0
- package/autocomplete-grid.pure.js +7 -0
- package/core/datetime/date-helper.js +2 -0
- package/core/datetime.js +2 -0
- package/core/styles/core.scss +13 -0
- package/core/styles/lean-theme.scss +3 -0
- package/core/styles/off-brand-theme.scss +3 -0
- package/core/styles/safety-theme.scss +3 -0
- package/core/styles/standard-theme.scss +3 -0
- package/core/styles/theme.scss +5 -0
- package/core/timetable/access-leg-helper.js +96 -0
- package/core/timetable/timetable-helper.js +10 -0
- package/core/timetable/timetable-properties.js +0 -0
- package/core/timetable.js +4 -0
- package/core.css +13 -0
- package/custom-elements.json +8629 -0
- package/date-helper-CGproP5d.js +185 -0
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +40 -0
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +120 -0
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +32 -0
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +103 -0
- package/development/autocomplete-grid/autocomplete-grid-button.d.ts +2 -0
- package/development/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-button.js +10 -0
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts +19 -0
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +2 -0
- package/development/autocomplete-grid/autocomplete-grid-cell.d.ts +2 -0
- package/development/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-cell.js +10 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts +20 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +30 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts +2 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup.js +10 -0
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +27 -0
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +2 -0
- package/development/autocomplete-grid/autocomplete-grid-option.d.ts +2 -0
- package/development/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-option.js +10 -0
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts +20 -0
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -0
- package/development/autocomplete-grid/autocomplete-grid-row.d.ts +2 -0
- package/development/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-row.js +10 -0
- package/development/autocomplete-grid/autocomplete-grid.d.ts +2 -0
- package/development/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid.js +10 -0
- package/development/autocomplete-grid-cell.component-BxkWGaX0.js +34 -0
- package/development/autocomplete-grid-option.component-5mPGswUO.js +61 -0
- package/development/autocomplete-grid-row.component-DEm6zyHZ.js +39 -0
- package/development/autocomplete-grid.d.ts +2 -0
- package/development/autocomplete-grid.d.ts.map +1 -0
- package/development/autocomplete-grid.js +19 -0
- package/development/autocomplete-grid.pure.d.ts +8 -0
- package/development/autocomplete-grid.pure.d.ts.map +1 -0
- package/development/autocomplete-grid.pure.js +7 -0
- package/development/core/datetime/date-helper.d.ts +27 -0
- package/development/core/datetime/date-helper.d.ts.map +1 -0
- package/development/core/datetime/date-helper.js +2 -0
- package/development/core/datetime.d.ts +3 -0
- package/development/core/datetime.d.ts.map +1 -0
- package/development/core/datetime.js +2 -0
- package/development/core/timetable/access-leg-helper.d.ts +26 -0
- package/development/core/timetable/access-leg-helper.d.ts.map +1 -0
- package/development/core/timetable/access-leg-helper.js +147 -0
- package/development/core/timetable/timetable-helper.d.ts +12 -0
- package/development/core/timetable/timetable-helper.d.ts.map +1 -0
- package/development/core/timetable/timetable-helper.js +19 -0
- package/development/core/timetable/timetable-properties.d.ts +308 -0
- package/development/core/timetable/timetable-properties.d.ts.map +1 -0
- package/development/core/timetable/timetable-properties.js +0 -0
- package/development/core/timetable.d.ts +5 -0
- package/development/core/timetable.d.ts.map +1 -0
- package/development/core/timetable.js +4 -0
- package/development/date-helper-qNdwgC9O.js +520 -0
- package/development/differenceInMinutes-B7_GTDq7.js +110 -0
- package/development/format-DFx4997p.js +1848 -0
- package/development/isValid-JpZ7FphI.js +178 -0
- package/development/journey-summary/journey-summary.component.d.ts +67 -0
- package/development/journey-summary/journey-summary.component.d.ts.map +1 -0
- package/development/journey-summary/journey-summary.component.js +2 -0
- package/development/journey-summary.component-BZwgD4im.js +340 -0
- package/development/journey-summary.d.ts +2 -0
- package/development/journey-summary.d.ts.map +1 -0
- package/development/journey-summary.js +9 -0
- package/development/journey-summary.pure.d.ts +3 -0
- package/development/journey-summary.pure.d.ts.map +1 -0
- package/development/journey-summary.pure.js +2 -0
- package/development/mapper-hWWm7Uke.js +11454 -0
- package/development/pearl-chain/pearl-chain.component.d.ts +44 -0
- package/development/pearl-chain/pearl-chain.component.d.ts.map +1 -0
- package/development/pearl-chain/pearl-chain.component.js +2 -0
- package/development/pearl-chain-time/pearl-chain-time.component.d.ts +49 -0
- package/development/pearl-chain-time/pearl-chain-time.component.d.ts.map +1 -0
- package/development/pearl-chain-time/pearl-chain-time.component.js +2 -0
- package/development/pearl-chain-time.component-B2_BI6E_.js +319 -0
- package/development/pearl-chain-time.d.ts +2 -0
- package/development/pearl-chain-time.d.ts.map +1 -0
- package/development/pearl-chain-time.js +9 -0
- package/development/pearl-chain-time.pure.d.ts +3 -0
- package/development/pearl-chain-time.pure.d.ts.map +1 -0
- package/development/pearl-chain-time.pure.js +2 -0
- package/development/pearl-chain-vertical/pearl-chain-vertical.component.d.ts +18 -0
- package/development/pearl-chain-vertical/pearl-chain-vertical.component.d.ts.map +1 -0
- package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +2 -0
- package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts +36 -0
- package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts.map +1 -0
- package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +2 -0
- package/development/pearl-chain-vertical-item.component-DcmH13Vb.js +133 -0
- package/development/pearl-chain-vertical-item.d.ts +2 -0
- package/development/pearl-chain-vertical-item.d.ts.map +1 -0
- package/development/pearl-chain-vertical-item.js +9 -0
- package/development/pearl-chain-vertical-item.pure.d.ts +3 -0
- package/development/pearl-chain-vertical-item.pure.d.ts.map +1 -0
- package/development/pearl-chain-vertical-item.pure.js +2 -0
- package/development/pearl-chain-vertical.component-CpcNFl-x.js +31 -0
- package/development/pearl-chain-vertical.d.ts +2 -0
- package/development/pearl-chain-vertical.d.ts.map +1 -0
- package/development/pearl-chain-vertical.js +9 -0
- package/development/pearl-chain-vertical.pure.d.ts +3 -0
- package/development/pearl-chain-vertical.pure.d.ts.map +1 -0
- package/development/pearl-chain-vertical.pure.js +2 -0
- package/development/pearl-chain.component-oQZUzsyW.js +316 -0
- package/development/pearl-chain.d.ts +2 -0
- package/development/pearl-chain.d.ts.map +1 -0
- package/development/pearl-chain.js +9 -0
- package/development/pearl-chain.pure.d.ts +3 -0
- package/development/pearl-chain.pure.d.ts.map +1 -0
- package/development/pearl-chain.pure.js +2 -0
- package/development/seat-reservation/common/mapper/icon-mapper.d.ts +106 -0
- package/development/seat-reservation/common/mapper/icon-mapper.d.ts.map +1 -0
- package/development/seat-reservation/common/mapper/icon-mapper.js +170 -0
- package/development/seat-reservation/common/mapper/mapper.d.ts +34 -0
- package/development/seat-reservation/common/mapper/mapper.d.ts.map +1 -0
- package/development/seat-reservation/common/mapper/mapper.js +2 -0
- package/development/seat-reservation/common/mapper.d.ts +3 -0
- package/development/seat-reservation/common/mapper.d.ts.map +1 -0
- package/development/seat-reservation/common/mapper.js +3 -0
- package/development/seat-reservation/common/svgs.d.ts +24 -0
- package/development/seat-reservation/common/svgs.d.ts.map +1 -0
- package/development/seat-reservation/common/svgs.js +2 -0
- package/development/seat-reservation/common/translations/i18n.d.ts +28 -0
- package/development/seat-reservation/common/translations/i18n.d.ts.map +1 -0
- package/development/seat-reservation/common/translations/i18n.js +1120 -0
- package/development/seat-reservation/common/translations.d.ts +2 -0
- package/development/seat-reservation/common/translations.d.ts.map +1 -0
- package/development/seat-reservation/common/translations.js +2 -0
- package/development/seat-reservation/common/types.d.ts +102 -0
- package/development/seat-reservation/common/types.d.ts.map +1 -0
- package/development/seat-reservation/common/types.js +0 -0
- package/development/seat-reservation/common.d.ts +6 -0
- package/development/seat-reservation/common.d.ts.map +1 -0
- package/development/seat-reservation/common.js +12 -0
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +294 -0
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +1350 -0
- package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts +77 -0
- package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation/seat-reservation.component.js +2 -0
- package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts +20 -0
- package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +2 -0
- package/development/seat-reservation/seat-reservation-area.d.ts +2 -0
- package/development/seat-reservation/seat-reservation-area.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-area.js +10 -0
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.d.ts +9 -0
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +306 -0
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts +22 -0
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +2 -0
- package/development/seat-reservation/seat-reservation-graphic.d.ts +2 -0
- package/development/seat-reservation/seat-reservation-graphic.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-graphic.js +10 -0
- package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts +56 -0
- package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +2 -0
- package/development/seat-reservation/seat-reservation-navigation-coach.d.ts +2 -0
- package/development/seat-reservation/seat-reservation-navigation-coach.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-navigation-coach.js +10 -0
- package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts +25 -0
- package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +2 -0
- package/development/seat-reservation/seat-reservation-navigation-services.d.ts +2 -0
- package/development/seat-reservation/seat-reservation-navigation-services.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-navigation-services.js +10 -0
- package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +49 -0
- package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +2 -0
- package/development/seat-reservation/seat-reservation-place-control.d.ts +2 -0
- package/development/seat-reservation/seat-reservation-place-control.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-place-control.js +10 -0
- package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts +16 -0
- package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +2 -0
- package/development/seat-reservation/seat-reservation-scoped.d.ts +2 -0
- package/development/seat-reservation/seat-reservation-scoped.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-scoped.js +10 -0
- package/development/seat-reservation/seat-reservation.d.ts +3 -0
- package/development/seat-reservation/seat-reservation.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation.js +11 -0
- package/development/seat-reservation-area.component-DbeuTnXT.js +96 -0
- package/development/seat-reservation-graphic.component-DlrHtlia.js +129 -0
- package/development/seat-reservation-navigation-coach.component-CjoDkcVU.js +428 -0
- package/development/seat-reservation-navigation-services.component-CGel7__P.js +159 -0
- package/development/seat-reservation-place-control.component-CM9efId7.js +429 -0
- package/development/seat-reservation-scoped.component-CFA_bJ3o.js +25 -0
- package/development/seat-reservation.component-DFJVFmrI.js +510 -0
- package/development/seat-reservation.d.ts +2 -0
- package/development/seat-reservation.d.ts.map +1 -0
- package/development/seat-reservation.js +27 -0
- package/development/seat-reservation.pure.d.ts +15 -0
- package/development/seat-reservation.pure.d.ts.map +1 -0
- package/development/seat-reservation.pure.js +15 -0
- package/development/svgs-kDpBCto5.js +28 -0
- package/development/timetable-duration/timetable-duration.component.d.ts +24 -0
- package/development/timetable-duration/timetable-duration.component.d.ts.map +1 -0
- package/development/timetable-duration/timetable-duration.component.js +2 -0
- package/development/timetable-duration.component-BhFlqYbV.js +100 -0
- package/development/timetable-duration.d.ts +2 -0
- package/development/timetable-duration.d.ts.map +1 -0
- package/development/timetable-duration.js +9 -0
- package/development/timetable-duration.pure.d.ts +3 -0
- package/development/timetable-duration.pure.d.ts.map +1 -0
- package/development/timetable-duration.pure.js +2 -0
- package/development/timetable-row/timetable-row.component.d.ts +89 -0
- package/development/timetable-row/timetable-row.component.d.ts.map +1 -0
- package/development/timetable-row/timetable-row.component.js +2 -0
- package/development/timetable-row.component-Dko8laRT.js +729 -0
- package/development/timetable-row.d.ts +2 -0
- package/development/timetable-row.d.ts.map +1 -0
- package/development/timetable-row.js +9 -0
- package/development/timetable-row.pure.d.ts +3 -0
- package/development/timetable-row.pure.d.ts.map +1 -0
- package/development/timetable-row.pure.js +2 -0
- package/development/toDate-DOFAOjP-.js +150 -0
- package/differenceInMinutes-Dr9gRqtu.js +27 -0
- package/format-CM5exOsN.js +1103 -0
- package/index.d.ts +33 -0
- package/index.js +32 -0
- package/isValid-B9oVW3lA.js +36 -0
- package/journey-summary/journey-summary.component.js +2 -0
- package/journey-summary.component-DC7-qPHY.js +264 -0
- package/journey-summary.js +6 -0
- package/journey-summary.pure.js +2 -0
- package/mapper-DkiDDseD.js +11382 -0
- package/off-brand-theme.css +13 -0
- package/package.json +222 -1
- package/pearl-chain/pearl-chain.component.js +2 -0
- package/pearl-chain-time/pearl-chain-time.component.js +2 -0
- package/pearl-chain-time.component-CkKsrbgQ.js +239 -0
- package/pearl-chain-time.js +6 -0
- package/pearl-chain-time.pure.js +2 -0
- package/pearl-chain-vertical/pearl-chain-vertical.component.js +2 -0
- package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +2 -0
- package/pearl-chain-vertical-item.component-BUqZ-3Ay.js +108 -0
- package/pearl-chain-vertical-item.js +6 -0
- package/pearl-chain-vertical-item.pure.js +2 -0
- package/pearl-chain-vertical.component-Df9CvRxo.js +21 -0
- package/pearl-chain-vertical.js +6 -0
- package/pearl-chain-vertical.pure.js +2 -0
- package/pearl-chain.component-CpISVoAu.js +194 -0
- package/pearl-chain.js +6 -0
- package/pearl-chain.pure.js +2 -0
- package/safety-theme.css +13 -0
- package/seat-reservation/common/mapper/icon-mapper.js +72 -0
- package/seat-reservation/common/mapper/mapper.js +2 -0
- package/seat-reservation/common/mapper.js +3 -0
- package/seat-reservation/common/svgs.js +2 -0
- package/seat-reservation/common/translations/i18n.js +1085 -0
- package/seat-reservation/common/translations.js +2 -0
- package/seat-reservation/common/types.js +0 -0
- package/seat-reservation/common.js +9 -0
- package/seat-reservation/seat-reservation/seat-reservation-base-element.js +861 -0
- package/seat-reservation/seat-reservation/seat-reservation.component.js +2 -0
- package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +2 -0
- package/seat-reservation/seat-reservation-area.js +4 -0
- package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +291 -0
- package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +2 -0
- package/seat-reservation/seat-reservation-graphic.js +4 -0
- package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +2 -0
- package/seat-reservation/seat-reservation-navigation-coach.js +4 -0
- package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +2 -0
- package/seat-reservation/seat-reservation-navigation-services.js +4 -0
- package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +2 -0
- package/seat-reservation/seat-reservation-place-control.js +4 -0
- package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +2 -0
- package/seat-reservation/seat-reservation-scoped.js +4 -0
- package/seat-reservation/seat-reservation.js +5 -0
- package/seat-reservation-area.component-CtYawDjE.js +75 -0
- package/seat-reservation-graphic.component-Cm_pVxaB.js +102 -0
- package/seat-reservation-navigation-coach.component-sug9IBTH.js +333 -0
- package/seat-reservation-navigation-services.component-C9dDYD_M.js +127 -0
- package/seat-reservation-place-control.component-CE7d9M2b.js +322 -0
- package/seat-reservation-scoped.component-DVyP2JGE.js +17 -0
- package/seat-reservation.component-DajC6fqU.js +367 -0
- package/seat-reservation.js +17 -0
- package/seat-reservation.pure.js +15 -0
- package/standard-theme.css +13 -0
- package/svgs-D5DhLHxC.js +26 -0
- package/timetable-duration/timetable-duration.component.js +2 -0
- package/timetable-duration.component-BnJA8wSb.js +65 -0
- package/timetable-duration.js +6 -0
- package/timetable-duration.pure.js +2 -0
- package/timetable-row/timetable-row.component.js +2 -0
- package/timetable-row.component-DbzBCpKR.js +559 -0
- package/timetable-row.js +6 -0
- package/timetable-row.pure.js +2 -0
- 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,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,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,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 };
|
package/core/datetime.js
ADDED
|
@@ -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,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}
|
|
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
|
+
}
|