@sbb-esta/lyne-elements-experimental-dev 0.0.0 → 4.5.1-dev.1771849274
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 +86 -0
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +54 -0
- package/autocomplete-grid/autocomplete-grid-button.js +4 -0
- package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +25 -0
- package/autocomplete-grid/autocomplete-grid-cell.js +4 -0
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +29 -0
- package/autocomplete-grid/autocomplete-grid-optgroup.js +4 -0
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +41 -0
- package/autocomplete-grid/autocomplete-grid-option.js +5 -0
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +28 -0
- package/autocomplete-grid/autocomplete-grid-row.js +4 -0
- package/autocomplete-grid/autocomplete-grid.js +4 -0
- package/autocomplete-grid.js +15 -0
- package/core/datetime/date-helper.js +191 -0
- package/core/datetime.js +5 -0
- package/core/timetable/access-leg-helper.js +91 -0
- package/core/timetable/timetable-helper.js +12 -0
- package/core/timetable/timetable-properties.js +1 -0
- package/core/timetable.js +8 -0
- package/custom-elements.json +8211 -0
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +39 -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 +141 -0
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +31 -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 +82 -0
- package/development/autocomplete-grid/autocomplete-grid-button.d.ts +5 -0
- package/development/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-button.js +5 -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 +40 -0
- package/development/autocomplete-grid/autocomplete-grid-cell.d.ts +5 -0
- package/development/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-cell.js +5 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts +19 -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 +40 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts +5 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup.js +5 -0
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +26 -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 +134 -0
- package/development/autocomplete-grid/autocomplete-grid-option.d.ts +5 -0
- package/development/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-option.js +6 -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 +115 -0
- package/development/autocomplete-grid/autocomplete-grid-row.d.ts +5 -0
- package/development/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-row.js +5 -0
- package/development/autocomplete-grid/autocomplete-grid.d.ts +5 -0
- package/development/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid.js +5 -0
- package/development/autocomplete-grid.d.ts +10 -0
- package/development/autocomplete-grid.d.ts.map +1 -0
- package/development/autocomplete-grid.js +16 -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 +285 -0
- package/development/core/datetime.d.ts +5 -0
- package/development/core/datetime.d.ts.map +1 -0
- package/development/core/datetime.js +6 -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 +125 -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 +20 -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 +2 -0
- package/development/core/timetable.d.ts +7 -0
- package/development/core/timetable.d.ts.map +1 -0
- package/development/core/timetable.js +9 -0
- package/development/differenceInMinutes-B0dawX-5.js +26 -0
- package/development/format-BMkeaqaF.js +1433 -0
- package/development/isValid-BYRch7pV.js +53 -0
- package/development/journey-summary/journey-summary.component.d.ts +65 -0
- package/development/journey-summary/journey-summary.component.d.ts.map +1 -0
- package/development/journey-summary/journey-summary.component.js +294 -0
- package/development/journey-summary.d.ts +5 -0
- package/development/journey-summary.d.ts.map +1 -0
- package/development/journey-summary.js +5 -0
- package/development/pearl-chain/pearl-chain.component.d.ts +42 -0
- package/development/pearl-chain/pearl-chain.component.d.ts.map +1 -0
- package/development/pearl-chain/pearl-chain.component.js +639 -0
- package/development/pearl-chain-time/pearl-chain-time.component.d.ts +47 -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 +312 -0
- package/development/pearl-chain-time.d.ts +5 -0
- package/development/pearl-chain-time.d.ts.map +1 -0
- package/development/pearl-chain-time.js +5 -0
- package/development/pearl-chain-vertical/pearl-chain-vertical.component.d.ts +16 -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 +40 -0
- package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts +34 -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 +398 -0
- package/development/pearl-chain-vertical-item.d.ts +5 -0
- package/development/pearl-chain-vertical-item.d.ts.map +1 -0
- package/development/pearl-chain-vertical-item.js +5 -0
- package/development/pearl-chain-vertical.d.ts +5 -0
- package/development/pearl-chain-vertical.d.ts.map +1 -0
- package/development/pearl-chain-vertical.js +5 -0
- package/development/pearl-chain.d.ts +5 -0
- package/development/pearl-chain.d.ts.map +1 -0
- package/development/pearl-chain.js +5 -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 +72 -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 +129 -0
- package/development/seat-reservation/common/mapper/seat-reservation-sample-data.d.ts +372 -0
- package/development/seat-reservation/common/mapper/seat-reservation-sample-data.d.ts.map +1 -0
- package/development/seat-reservation/common/mapper/seat-reservation-sample-data.js +31673 -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 +10 -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 +46 -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 +871 -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 +5 -0
- package/development/seat-reservation/common/types.d.ts +97 -0
- package/development/seat-reservation/common/types.d.ts.map +1 -0
- package/development/seat-reservation/common/types.js +2 -0
- package/development/seat-reservation/common.d.ts +8 -0
- package/development/seat-reservation/common.d.ts.map +1 -0
- package/development/seat-reservation/common.js +14 -0
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +273 -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 +1171 -0
- package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts +75 -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 +832 -0
- package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts +18 -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 +112 -0
- package/development/seat-reservation/seat-reservation-area.d.ts +5 -0
- package/development/seat-reservation/seat-reservation-area.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-area.js +5 -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 +303 -0
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts +20 -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 +167 -0
- package/development/seat-reservation/seat-reservation-graphic.d.ts +5 -0
- package/development/seat-reservation/seat-reservation-graphic.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-graphic.js +5 -0
- package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts +65 -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 +798 -0
- package/development/seat-reservation/seat-reservation-navigation-coach.d.ts +5 -0
- package/development/seat-reservation/seat-reservation-navigation-coach.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-navigation-coach.js +5 -0
- package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts +21 -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 +120 -0
- package/development/seat-reservation/seat-reservation-navigation-services.d.ts +5 -0
- package/development/seat-reservation/seat-reservation-navigation-services.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-navigation-services.js +5 -0
- package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +42 -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 +462 -0
- package/development/seat-reservation/seat-reservation-place-control.d.ts +5 -0
- package/development/seat-reservation/seat-reservation-place-control.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-place-control.js +5 -0
- package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts +14 -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 +34 -0
- package/development/seat-reservation/seat-reservation-scoped.d.ts +5 -0
- package/development/seat-reservation/seat-reservation-scoped.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-scoped.js +5 -0
- package/development/seat-reservation/seat-reservation.d.ts +6 -0
- package/development/seat-reservation/seat-reservation.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation.js +7 -0
- package/development/seat-reservation.d.ts +12 -0
- package/development/seat-reservation.d.ts.map +1 -0
- package/development/seat-reservation.js +30 -0
- package/development/timetable-duration/timetable-duration.component.d.ts +22 -0
- package/development/timetable-duration/timetable-duration.component.d.ts.map +1 -0
- package/development/timetable-duration/timetable-duration.component.js +114 -0
- package/development/timetable-duration.d.ts +5 -0
- package/development/timetable-duration.d.ts.map +1 -0
- package/development/timetable-duration.js +5 -0
- package/development/timetable-row/timetable-row.component.d.ts +87 -0
- package/development/timetable-row/timetable-row.component.d.ts.map +1 -0
- package/development/timetable-row/timetable-row.component.js +787 -0
- package/development/timetable-row.d.ts +5 -0
- package/development/timetable-row.d.ts.map +1 -0
- package/development/timetable-row.js +12 -0
- package/development/toDate-BWb6Z1JD.js +24 -0
- package/differenceInMinutes-COvvdYsJ.js +23 -0
- package/format-CmKROkbc.js +1186 -0
- package/index.d.ts +44 -0
- package/index.js +43 -0
- package/isValid-m3_OsPaB.js +45 -0
- package/journey-summary/journey-summary.component.js +193 -0
- package/journey-summary.js +4 -0
- package/package.json +161 -1
- package/pearl-chain/pearl-chain.component.js +164 -0
- package/pearl-chain-time/pearl-chain-time.component.js +156 -0
- package/pearl-chain-time.js +4 -0
- package/pearl-chain-vertical/pearl-chain-vertical.component.js +24 -0
- package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +76 -0
- package/pearl-chain-vertical-item.js +4 -0
- package/pearl-chain-vertical.js +4 -0
- package/pearl-chain.js +4 -0
- package/seat-reservation/common/mapper/icon-mapper.js +71 -0
- package/seat-reservation/common/mapper/mapper.js +89 -0
- package/seat-reservation/common/mapper/seat-reservation-sample-data.js +31668 -0
- package/seat-reservation/common/mapper.js +9 -0
- package/seat-reservation/common/svgs.js +243 -0
- package/seat-reservation/common/translations/i18n.js +861 -0
- package/seat-reservation/common/translations.js +4 -0
- package/seat-reservation/common/types.js +1 -0
- package/seat-reservation/common.js +13 -0
- package/seat-reservation/seat-reservation/seat-reservation-base-element.js +756 -0
- package/seat-reservation/seat-reservation/seat-reservation.component.js +410 -0
- package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +50 -0
- package/seat-reservation/seat-reservation-area.js +4 -0
- package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +292 -0
- package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +73 -0
- package/seat-reservation/seat-reservation-graphic.js +4 -0
- package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +277 -0
- package/seat-reservation/seat-reservation-navigation-coach.js +4 -0
- package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +73 -0
- package/seat-reservation/seat-reservation-navigation-services.js +4 -0
- package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +167 -0
- package/seat-reservation/seat-reservation-place-control.js +4 -0
- package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +20 -0
- package/seat-reservation/seat-reservation-scoped.js +4 -0
- package/seat-reservation/seat-reservation.js +6 -0
- package/seat-reservation.js +29 -0
- package/timetable-duration/timetable-duration.component.js +56 -0
- package/timetable-duration.js +4 -0
- package/timetable-row/timetable-row.component.js +426 -0
- package/timetable-row.js +11 -0
- package/toDate-Bw2KTWeq.js +15 -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 [Storybook](https://lyne-storybook.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: [Storybook](https://lyne-storybook.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,86 @@
|
|
|
1
|
+
import { __esDecorate as v, __runInitializers as f } from "tslib";
|
|
2
|
+
import { SbbAutocompleteBaseElement as g } from "@sbb-esta/lyne-elements/autocomplete.js";
|
|
3
|
+
import { getNextElementIndex as m } from "@sbb-esta/lyne-elements/core/a11y.js";
|
|
4
|
+
import { isSafari as A } from "@sbb-esta/lyne-elements/core/dom.js";
|
|
5
|
+
import { ɵstateController as a } from "@sbb-esta/lyne-elements/core/mixins.js";
|
|
6
|
+
import { setAriaComboBoxAttributes as O } from "@sbb-esta/lyne-elements/core/overlay.js";
|
|
7
|
+
import { customElement as x } from "lit/decorators.js";
|
|
8
|
+
import { SbbAutocompleteGridOptionElement as b } from "../autocomplete-grid-option.js";
|
|
9
|
+
let y = 0;
|
|
10
|
+
const d = A;
|
|
11
|
+
let D = (() => {
|
|
12
|
+
var o;
|
|
13
|
+
let p = [x("sbb-autocomplete-grid")], n, c = [], i, u = g;
|
|
14
|
+
return o = class extends u {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments), this.overlayId = `sbb-autocomplete-grid-${++y}`, this.panelRole = "grid", this._activeColumnIndex = 0;
|
|
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((t) => t.negative = this.negative), this.querySelectorAll?.("sbb-autocomplete-grid-row, sbb-autocomplete-grid-option, sbb-autocomplete-grid-optgroup").forEach((t) => a(t).toggle("negative", this.negative));
|
|
23
|
+
}
|
|
24
|
+
openedPanelKeyboardInteraction(t) {
|
|
25
|
+
if (this.isOpen)
|
|
26
|
+
switch (t.key) {
|
|
27
|
+
case "Enter":
|
|
28
|
+
this.selectByKeyboard(t);
|
|
29
|
+
break;
|
|
30
|
+
case "ArrowDown":
|
|
31
|
+
case "ArrowUp":
|
|
32
|
+
this.setNextActiveOption(t);
|
|
33
|
+
break;
|
|
34
|
+
case "ArrowRight":
|
|
35
|
+
case "ArrowLeft":
|
|
36
|
+
this._setNextHorizontalActiveElement(t);
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Select an element on 'Enter' keypress.
|
|
42
|
+
*
|
|
43
|
+
* Due to keyboard navigation code, the `_activeColumnIndex` is zero when an option is 'focused'
|
|
44
|
+
* and greater than zero when a button is 'focused', so asking for `querySelectorAll(...)[this._activeColumnIndex]`
|
|
45
|
+
* would always return a `SbbAutocompleteGridButtonElement`.
|
|
46
|
+
*/
|
|
47
|
+
selectByKeyboard(t) {
|
|
48
|
+
this.activeOption && (t.preventDefault(), this._activeColumnIndex !== 0 ? this.activeOption.closest("sbb-autocomplete-grid-row")?.querySelectorAll("sbb-autocomplete-grid-button")[
|
|
49
|
+
// We ignore the option in the selector. Therefore, we have to shift the activeColumnIndex by one.
|
|
50
|
+
this._activeColumnIndex - 1
|
|
51
|
+
]?.click() : this.activeOption.selectViaUserInteraction(!0));
|
|
52
|
+
}
|
|
53
|
+
setNextActiveOption(t) {
|
|
54
|
+
const e = this.options.filter((r) => !r.matches(":is(:state(disabled),[state--disabled])"));
|
|
55
|
+
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((r) => a(r).delete("focus-visible")), this._activeColumnIndex = 0, !e.length) {
|
|
56
|
+
this.activeOption = null;
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const l = this.activeOption ? e.indexOf(this.activeOption) : -1, s = m(t, l, e.length);
|
|
60
|
+
this.activeOption = e[s], 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);
|
|
61
|
+
}
|
|
62
|
+
_setNextHorizontalActiveElement(t) {
|
|
63
|
+
if (!this.activeOption)
|
|
64
|
+
return;
|
|
65
|
+
const e = Array.from(this.activeOption?.closest("sbb-autocomplete-grid-row")?.querySelectorAll("sbb-autocomplete-grid-option, sbb-autocomplete-grid-button") ?? [])?.filter((h) => !h.matches(":is(:state(disabled),[state--disabled])"));
|
|
66
|
+
if (!e.length)
|
|
67
|
+
return;
|
|
68
|
+
const l = m(t, this._activeColumnIndex, e.length), s = e[l];
|
|
69
|
+
s instanceof b ? s.setActive(!0) : a(s).add("focus-visible");
|
|
70
|
+
const r = e[this._activeColumnIndex];
|
|
71
|
+
r instanceof b ? r.setActive(!1) : a(r).delete("focus-visible"), this.triggerElement?.setAttribute("aria-activedescendant", s.id), s.scrollIntoView({ block: "nearest" }), this._activeColumnIndex = l;
|
|
72
|
+
}
|
|
73
|
+
resetActiveElement() {
|
|
74
|
+
this._activeColumnIndex !== 0 && this.activeOption?.closest("sbb-autocomplete-grid-row")?.querySelectorAll("sbb-autocomplete-grid-button").forEach((t) => a(t).delete("focus-visible")), this.activeOption?.setActive(!1), this.activeOption = null, this._activeColumnIndex = 0, this.triggerElement?.removeAttribute("aria-activedescendant");
|
|
75
|
+
}
|
|
76
|
+
setTriggerAttributes(t) {
|
|
77
|
+
O(t, d ? this.id : this.overlayId, !1, "grid");
|
|
78
|
+
}
|
|
79
|
+
}, i = o, (() => {
|
|
80
|
+
const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(u[Symbol.metadata] ?? null) : void 0;
|
|
81
|
+
v(null, n = { value: i }, p, { kind: "class", name: i.name, metadata: t }, null, c), i = n.value, t && Object.defineProperty(i, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
|
|
82
|
+
})(), o.role = d ? "grid" : null, f(i, c), i;
|
|
83
|
+
})();
|
|
84
|
+
export {
|
|
85
|
+
D as SbbAutocompleteGridElement
|
|
86
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { __esDecorate as o, __runInitializers as n } from "tslib";
|
|
2
|
+
import { miniButtonStyle as d } from "@sbb-esta/lyne-elements/button/common.js";
|
|
3
|
+
import { SbbActionBaseElement as u } from "@sbb-esta/lyne-elements/core/base-elements.js";
|
|
4
|
+
import { SbbPropertyWatcherController as b } from "@sbb-esta/lyne-elements/core/controllers.js";
|
|
5
|
+
import { hostAttributes as c } from "@sbb-esta/lyne-elements/core/decorators.js";
|
|
6
|
+
import { isEventPrevented as m } from "@sbb-esta/lyne-elements/core/eventing.js";
|
|
7
|
+
import { SbbDisabledMixin as p, SbbNegativeMixin as h } from "@sbb-esta/lyne-elements/core/mixins.js";
|
|
8
|
+
import { boxSizingStyles as f } from "@sbb-esta/lyne-elements/core/styles.js";
|
|
9
|
+
import { SbbIconNameMixin as S } from "@sbb-esta/lyne-elements/icon.js";
|
|
10
|
+
import { isServer as g } from "lit";
|
|
11
|
+
import { customElement as _ } from "lit/decorators.js";
|
|
12
|
+
let y = 0, M = (() => {
|
|
13
|
+
var t;
|
|
14
|
+
let l = [_("sbb-autocomplete-grid-button"), c({
|
|
15
|
+
tabindex: null
|
|
16
|
+
})], i, r = [], s, a = p(h(S(u)));
|
|
17
|
+
return t = class extends a {
|
|
18
|
+
/** Gets the SbbAutocompleteGridOptionElement on the same row of the button. */
|
|
19
|
+
get option() {
|
|
20
|
+
return this.closest("sbb-autocomplete-grid-row")?.querySelector("sbb-autocomplete-grid-option") || null;
|
|
21
|
+
}
|
|
22
|
+
get optgroup() {
|
|
23
|
+
return this.closest("sbb-autocomplete-grid-optgroup");
|
|
24
|
+
}
|
|
25
|
+
constructor() {
|
|
26
|
+
super(), this._handleButtonClick = async (e) => {
|
|
27
|
+
await m(e) || this.closest("form");
|
|
28
|
+
}, this.internals.states.add("button"), g || (this.setupBaseEventHandlers(), this.addEventListener("click", this._handleButtonClick), this.addController(new b(this, () => this.closest("sbb-autocomplete-grid-optgroup"), {
|
|
29
|
+
disabled: () => this._updateInternals()
|
|
30
|
+
})));
|
|
31
|
+
}
|
|
32
|
+
isDisabledExternally() {
|
|
33
|
+
return this.optgroup?.disabled ?? !1;
|
|
34
|
+
}
|
|
35
|
+
renderTemplate() {
|
|
36
|
+
return super.renderIconSlot();
|
|
37
|
+
}
|
|
38
|
+
connectedCallback() {
|
|
39
|
+
super.connectedCallback(), this.id ||= `sbb-autocomplete-grid-button-${++y}`;
|
|
40
|
+
}
|
|
41
|
+
willUpdate(e) {
|
|
42
|
+
super.willUpdate(e), e.has("disabled") && this._updateInternals();
|
|
43
|
+
}
|
|
44
|
+
_updateInternals() {
|
|
45
|
+
this.disabled || this.optgroup?.disabled ? (this.internals.states.add("disabled"), this.internals.ariaDisabled = "true") : (this.internals.states.delete("disabled"), this.internals.ariaDisabled = null);
|
|
46
|
+
}
|
|
47
|
+
}, s = t, (() => {
|
|
48
|
+
const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(a[Symbol.metadata] ?? null) : void 0;
|
|
49
|
+
o(null, i = { value: s }, l, { kind: "class", name: s.name, metadata: e }, null, r), s = i.value, e && Object.defineProperty(s, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
|
|
50
|
+
})(), t.role = "button", t.styles = [f, d], n(s, r), s;
|
|
51
|
+
})();
|
|
52
|
+
export {
|
|
53
|
+
M as SbbAutocompleteGridButtonElement
|
|
54
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { __esDecorate as o, __runInitializers as c } from "tslib";
|
|
2
|
+
import { SbbElementInternalsMixin as m } from "@sbb-esta/lyne-elements/core/mixins.js";
|
|
3
|
+
import { boxSizingStyles as n } from "@sbb-esta/lyne-elements/core/styles.js";
|
|
4
|
+
import { css as b, LitElement as u, html as p } from "lit";
|
|
5
|
+
import { customElement as d } from "lit/decorators.js";
|
|
6
|
+
const f = b`:host{display:block}.sbb-autocomplete-grid-cell{display:flex;column-gap:var(--sbb-spacing-fixed-6x)}`;
|
|
7
|
+
let h = (() => {
|
|
8
|
+
var t;
|
|
9
|
+
let i = [d("sbb-autocomplete-grid-cell")], a, s = [], e, r = m(u);
|
|
10
|
+
return t = class extends r {
|
|
11
|
+
render() {
|
|
12
|
+
return p`
|
|
13
|
+
<span class="sbb-autocomplete-grid-cell">
|
|
14
|
+
<slot></slot>
|
|
15
|
+
</span>
|
|
16
|
+
`;
|
|
17
|
+
}
|
|
18
|
+
}, e = t, (() => {
|
|
19
|
+
const l = typeof Symbol == "function" && Symbol.metadata ? Object.create(r[Symbol.metadata] ?? null) : void 0;
|
|
20
|
+
o(null, a = { value: e }, i, { kind: "class", name: e.name, metadata: l }, null, s), e = a.value, l && Object.defineProperty(e, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: l });
|
|
21
|
+
})(), t.role = "gridcell", t.styles = [n, f], c(e, s), e;
|
|
22
|
+
})();
|
|
23
|
+
export {
|
|
24
|
+
h as SbbAutocompleteGridCellElement
|
|
25
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { __esDecorate as i, __runInitializers as n } from "tslib";
|
|
2
|
+
import { SbbPropertyWatcherController as u } from "@sbb-esta/lyne-elements/core/controllers.js";
|
|
3
|
+
import { SbbOptgroupBaseElement as c } from "@sbb-esta/lyne-elements/option/optgroup.js";
|
|
4
|
+
import { customElement as m } from "lit/decorators.js";
|
|
5
|
+
let f = (() => {
|
|
6
|
+
var e;
|
|
7
|
+
let s = [m("sbb-autocomplete-grid-optgroup")], o, a = [], t, l = c;
|
|
8
|
+
return e = class extends l {
|
|
9
|
+
get options() {
|
|
10
|
+
return Array.from(this.querySelectorAll?.("sbb-autocomplete-grid-option") ?? []);
|
|
11
|
+
}
|
|
12
|
+
constructor() {
|
|
13
|
+
super(), this.addController(new u(this, () => this.closest("sbb-autocomplete-grid"), {
|
|
14
|
+
negative: (r) => {
|
|
15
|
+
this.toggleState("negative", r.negative), this.requestUpdate();
|
|
16
|
+
}
|
|
17
|
+
}));
|
|
18
|
+
}
|
|
19
|
+
getAutocompleteParent() {
|
|
20
|
+
return this.closest?.("sbb-autocomplete-grid") || null;
|
|
21
|
+
}
|
|
22
|
+
}, t = e, (() => {
|
|
23
|
+
const r = typeof Symbol == "function" && Symbol.metadata ? Object.create(l[Symbol.metadata] ?? null) : void 0;
|
|
24
|
+
i(null, o = { value: t }, s, { kind: "class", name: t.name, metadata: r }, null, a), t = o.value, r && Object.defineProperty(t, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: r }), n(t, a);
|
|
25
|
+
})(), t;
|
|
26
|
+
})();
|
|
27
|
+
export {
|
|
28
|
+
f as SbbAutocompleteGridOptgroupElement
|
|
29
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { __esDecorate as n, __runInitializers as c } from "tslib";
|
|
2
|
+
import { SbbPropertyWatcherController as l } from "@sbb-esta/lyne-elements/core/controllers.js";
|
|
3
|
+
import { ɵstateController as b } from "@sbb-esta/lyne-elements/core/mixins.js";
|
|
4
|
+
import { boxSizingStyles as p } from "@sbb-esta/lyne-elements/core/styles.js";
|
|
5
|
+
import { SbbOptionBaseElement as d } from "@sbb-esta/lyne-elements/option.js";
|
|
6
|
+
import { customElement as h } from "lit/decorators.js";
|
|
7
|
+
import { css as m } from "lit";
|
|
8
|
+
const u = m`:host{--sbb-option-color: var(--sbb-color-3);--sbb-option-column-gap: var(--sbb-spacing-responsive-xxxs);--sbb-option-icon-color: var(--sbb-color-metal);--sbb-option-icon-color: light-dark(var(--sbb-color-metal), var(--sbb-color-smoke));--sbb-option-border-radius: var(--sbb-border-radius-4x);--sbb-option-padding-inline: var(--sbb-spacing-responsive-xxxs);--sbb-option-min-height: var(--sbb-size-element-s);--sbb-option-focus-outline-color: transparent;--sbb-option-focus-outline-inset: var(--sbb-spacing-fixed-1x);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{--sbb-text-font-size: var(--sbb-text-font-size-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-text);letter-spacing:var(--sbb-typo-letter-spacing-text);font-size:var(--sbb-text-font-size);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)}`, g = "sbb-autocomplete-grid-option";
|
|
9
|
+
let z = (() => {
|
|
10
|
+
var o;
|
|
11
|
+
let r = [h("sbb-autocomplete-grid-option")], e, s = [], i, a = d;
|
|
12
|
+
return o = class extends a {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(), this.optionId = g, this.addController(new l(this, () => this.closest("sbb-autocomplete-grid-optgroup"), {
|
|
15
|
+
disabled: (t) => {
|
|
16
|
+
this.disabledFromGroup = t.disabled, b(this.closest?.("sbb-autocomplete-grid-row"))?.toggle("disabled", this.disabled || this.disabledFromGroup), this.updateAriaDisabled();
|
|
17
|
+
},
|
|
18
|
+
label: (t) => this.groupLabel = t.label
|
|
19
|
+
})), this.addController(new l(this, () => this.closest("sbb-autocomplete-grid"), {
|
|
20
|
+
negative: (t) => this.toggleState("negative", t.negative)
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
23
|
+
willUpdate(t) {
|
|
24
|
+
super.willUpdate(t), t.has("disabled") && (b(this.closest?.("sbb-autocomplete-grid-row"))?.toggle("disabled", this.disabled || this.disabledFromGroup), this.updateAriaDisabled());
|
|
25
|
+
}
|
|
26
|
+
selectByClick(t) {
|
|
27
|
+
if (this.disabled || this.disabledFromGroup) {
|
|
28
|
+
t.stopPropagation();
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
this.selectViaUserInteraction(!0);
|
|
32
|
+
}
|
|
33
|
+
}, i = o, (() => {
|
|
34
|
+
const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(a[Symbol.metadata] ?? null) : void 0;
|
|
35
|
+
n(null, e = { value: i }, r, { kind: "class", name: i.name, metadata: t }, null, s), i = e.value, t && Object.defineProperty(i, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
|
|
36
|
+
})(), o.role = "gridcell", o.styles = [p, u], c(i, s), i;
|
|
37
|
+
})();
|
|
38
|
+
export {
|
|
39
|
+
z as SbbAutocompleteGridOptionElement,
|
|
40
|
+
g as autocompleteGridOptionId
|
|
41
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { __esDecorate as l, __runInitializers as i } from "tslib";
|
|
2
|
+
import { SbbElementInternalsMixin as c } from "@sbb-esta/lyne-elements/core/mixins.js";
|
|
3
|
+
import { boxSizingStyles as d } from "@sbb-esta/lyne-elements/core/styles.js";
|
|
4
|
+
import { css as n, LitElement as u, html as g } from "lit";
|
|
5
|
+
import { customElement as m } from "lit/decorators.js";
|
|
6
|
+
const p = n`:host{--sbb-autocomplete-grid-row-color: var(--sbb-color-3);--sbb-autocomplete-grid-row-background-color: inherit;--sbb-autocomplete-grid-row-background-color-hover: var(--sbb-background-color-3);--sbb-autocomplete-grid-row-disabled-border-color: var(--sbb-color-graphite);--sbb-autocomplete-grid-row-disabled-border-color: light-dark( var(--sbb-color-graphite), var(--sbb-color-smoke) );--sbb-autocomplete-grid-row-disabled-background-color: var(--sbb-background-color-3);--sbb-autocomplete-grid-row-padding-inline-end: var(--sbb-spacing-responsive-xxxs);--sbb-autocomplete-grid-row-justify-content: space-between;--sbb-autocomplete-grid-row-cursor: var(--sbb-cursor-pointer);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);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}}`;
|
|
7
|
+
let v = 0, y = (() => {
|
|
8
|
+
var o;
|
|
9
|
+
let b = [m("sbb-autocomplete-grid-row")], t, a = [], e, s = c(u);
|
|
10
|
+
return o = class extends s {
|
|
11
|
+
connectedCallback() {
|
|
12
|
+
super.connectedCallback(), this.id ||= `sbb-autocomplete-grid-row-${++v}`;
|
|
13
|
+
}
|
|
14
|
+
render() {
|
|
15
|
+
return g`
|
|
16
|
+
<span class="sbb-autocomplete-grid-row">
|
|
17
|
+
<slot></slot>
|
|
18
|
+
</span>
|
|
19
|
+
`;
|
|
20
|
+
}
|
|
21
|
+
}, e = o, (() => {
|
|
22
|
+
const r = typeof Symbol == "function" && Symbol.metadata ? Object.create(s[Symbol.metadata] ?? null) : void 0;
|
|
23
|
+
l(null, t = { value: e }, b, { kind: "class", name: e.name, metadata: r }, null, a), e = t.value, r && Object.defineProperty(e, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: r });
|
|
24
|
+
})(), o.role = "row", o.styles = [d, p], i(e, a), e;
|
|
25
|
+
})();
|
|
26
|
+
export {
|
|
27
|
+
y as SbbAutocompleteGridRowElement
|
|
28
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SbbAutocompleteGridElement as t } from "./autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js";
|
|
2
|
+
import { SbbAutocompleteGridButtonElement as m } from "./autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js";
|
|
3
|
+
import { SbbAutocompleteGridCellElement as l } from "./autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js";
|
|
4
|
+
import { SbbAutocompleteGridOptgroupElement as i } from "./autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js";
|
|
5
|
+
import { SbbAutocompleteGridOptionElement as u, autocompleteGridOptionId as d } from "./autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js";
|
|
6
|
+
import { SbbAutocompleteGridRowElement as G } from "./autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js";
|
|
7
|
+
export {
|
|
8
|
+
m as SbbAutocompleteGridButtonElement,
|
|
9
|
+
l as SbbAutocompleteGridCellElement,
|
|
10
|
+
t as SbbAutocompleteGridElement,
|
|
11
|
+
i as SbbAutocompleteGridOptgroupElement,
|
|
12
|
+
u as SbbAutocompleteGridOptionElement,
|
|
13
|
+
G as SbbAutocompleteGridRowElement,
|
|
14
|
+
d as autocompleteGridOptionId
|
|
15
|
+
};
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { i18nDurationDay as N, i18nDurationHour as h, i18nDurationMinute as T } from "@sbb-esta/lyne-elements/core/i18n.js";
|
|
2
|
+
import { n as w, d as y, i as U } from "../../isValid-m3_OsPaB.js";
|
|
3
|
+
import { t as d, c as g, b as m, m as I } from "../../toDate-Bw2KTWeq.js";
|
|
4
|
+
import { g as C, a as Y, d as F } from "../../differenceInMinutes-COvvdYsJ.js";
|
|
5
|
+
function x(e, t, n) {
|
|
6
|
+
const i = d(e, n?.in);
|
|
7
|
+
return isNaN(t) ? g(e, NaN) : (t && i.setDate(i.getDate() + t), i);
|
|
8
|
+
}
|
|
9
|
+
function z(e, t, n) {
|
|
10
|
+
return g(e, +d(e) + t);
|
|
11
|
+
}
|
|
12
|
+
function H(e, t, n) {
|
|
13
|
+
return z(e, t * m);
|
|
14
|
+
}
|
|
15
|
+
function S(e, t, n) {
|
|
16
|
+
const [i, s] = w(
|
|
17
|
+
n?.in,
|
|
18
|
+
e,
|
|
19
|
+
t
|
|
20
|
+
), r = M(i, s), a = Math.abs(
|
|
21
|
+
y(i, s)
|
|
22
|
+
);
|
|
23
|
+
i.setDate(i.getDate() - r * a);
|
|
24
|
+
const o = +(M(i, s) === -r), u = r * (a - o);
|
|
25
|
+
return u === 0 ? 0 : u;
|
|
26
|
+
}
|
|
27
|
+
function M(e, t) {
|
|
28
|
+
const n = e.getFullYear() - t.getFullYear() || e.getMonth() - t.getMonth() || e.getDate() - t.getDate() || e.getHours() - t.getHours() || e.getMinutes() - t.getMinutes() || e.getSeconds() - t.getSeconds() || e.getMilliseconds() - t.getMilliseconds();
|
|
29
|
+
return n < 0 ? -1 : n > 0 ? 1 : n;
|
|
30
|
+
}
|
|
31
|
+
function Z(e, t, n) {
|
|
32
|
+
const [i, s] = w(
|
|
33
|
+
n?.in,
|
|
34
|
+
e,
|
|
35
|
+
t
|
|
36
|
+
), r = (+i - +s) / m;
|
|
37
|
+
return C(n?.roundingMethod)(r);
|
|
38
|
+
}
|
|
39
|
+
function v(e, t, n) {
|
|
40
|
+
return x(e, -t, n);
|
|
41
|
+
}
|
|
42
|
+
function O(e, t) {
|
|
43
|
+
const n = () => g(t?.in, NaN), s = k(e);
|
|
44
|
+
let r;
|
|
45
|
+
if (s.date) {
|
|
46
|
+
const c = W(s.date, 2);
|
|
47
|
+
r = j(c.restDateString, c.year);
|
|
48
|
+
}
|
|
49
|
+
if (!r || isNaN(+r)) return n();
|
|
50
|
+
const a = +r;
|
|
51
|
+
let o = 0, u;
|
|
52
|
+
if (s.time && (o = A(s.time), isNaN(o)))
|
|
53
|
+
return n();
|
|
54
|
+
if (s.timezone) {
|
|
55
|
+
if (u = E(s.timezone), isNaN(u)) return n();
|
|
56
|
+
} else {
|
|
57
|
+
const c = new Date(a + o), p = d(0, t?.in);
|
|
58
|
+
return p.setFullYear(
|
|
59
|
+
c.getUTCFullYear(),
|
|
60
|
+
c.getUTCMonth(),
|
|
61
|
+
c.getUTCDate()
|
|
62
|
+
), p.setHours(
|
|
63
|
+
c.getUTCHours(),
|
|
64
|
+
c.getUTCMinutes(),
|
|
65
|
+
c.getUTCSeconds(),
|
|
66
|
+
c.getUTCMilliseconds()
|
|
67
|
+
), p;
|
|
68
|
+
}
|
|
69
|
+
return d(a + o + u, t?.in);
|
|
70
|
+
}
|
|
71
|
+
const l = {
|
|
72
|
+
dateTimeDelimiter: /[T ]/,
|
|
73
|
+
timeZoneDelimiter: /[Z ]/i,
|
|
74
|
+
timezone: /([Z+-].*)$/
|
|
75
|
+
}, _ = /^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/, b = /^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/, R = /^([+-])(\d{2})(?::?(\d{2}))?$/;
|
|
76
|
+
function k(e) {
|
|
77
|
+
const t = {}, n = e.split(l.dateTimeDelimiter);
|
|
78
|
+
let i;
|
|
79
|
+
if (n.length > 2)
|
|
80
|
+
return t;
|
|
81
|
+
if (/:/.test(n[0]) ? i = n[0] : (t.date = n[0], i = n[1], l.timeZoneDelimiter.test(t.date) && (t.date = e.split(l.timeZoneDelimiter)[0], i = e.substr(
|
|
82
|
+
t.date.length,
|
|
83
|
+
e.length
|
|
84
|
+
))), i) {
|
|
85
|
+
const s = l.timezone.exec(i);
|
|
86
|
+
s ? (t.time = i.replace(s[1], ""), t.timezone = s[1]) : t.time = i;
|
|
87
|
+
}
|
|
88
|
+
return t;
|
|
89
|
+
}
|
|
90
|
+
function W(e, t) {
|
|
91
|
+
const n = new RegExp(
|
|
92
|
+
"^(?:(\\d{4}|[+-]\\d{" + (4 + t) + "})|(\\d{2}|[+-]\\d{" + (2 + t) + "})$)"
|
|
93
|
+
), i = e.match(n);
|
|
94
|
+
if (!i) return { year: NaN, restDateString: "" };
|
|
95
|
+
const s = i[1] ? parseInt(i[1]) : null, r = i[2] ? parseInt(i[2]) : null;
|
|
96
|
+
return {
|
|
97
|
+
year: r === null ? s : r * 100,
|
|
98
|
+
restDateString: e.slice((i[1] || i[2]).length)
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
function j(e, t) {
|
|
102
|
+
if (t === null) return /* @__PURE__ */ new Date(NaN);
|
|
103
|
+
const n = e.match(_);
|
|
104
|
+
if (!n) return /* @__PURE__ */ new Date(NaN);
|
|
105
|
+
const i = !!n[4], s = f(n[1]), r = f(n[2]) - 1, a = f(n[3]), o = f(n[4]), u = f(n[5]) - 1;
|
|
106
|
+
if (i)
|
|
107
|
+
return G(t, o, u) ? J(t, o, u) : /* @__PURE__ */ new Date(NaN);
|
|
108
|
+
{
|
|
109
|
+
const c = /* @__PURE__ */ new Date(0);
|
|
110
|
+
return !q(t, r, a) || !B(t, s) ? /* @__PURE__ */ new Date(NaN) : (c.setUTCFullYear(t, r, Math.max(s, a)), c);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
function f(e) {
|
|
114
|
+
return e ? parseInt(e) : 1;
|
|
115
|
+
}
|
|
116
|
+
function A(e) {
|
|
117
|
+
const t = e.match(b);
|
|
118
|
+
if (!t) return NaN;
|
|
119
|
+
const n = D(t[1]), i = D(t[2]), s = D(t[3]);
|
|
120
|
+
return K(n, i, s) ? n * m + i * I + s * 1e3 : NaN;
|
|
121
|
+
}
|
|
122
|
+
function D(e) {
|
|
123
|
+
return e && parseFloat(e.replace(",", ".")) || 0;
|
|
124
|
+
}
|
|
125
|
+
function E(e) {
|
|
126
|
+
if (e === "Z") return 0;
|
|
127
|
+
const t = e.match(R);
|
|
128
|
+
if (!t) return 0;
|
|
129
|
+
const n = t[1] === "+" ? -1 : 1, i = parseInt(t[2]), s = t[3] && parseInt(t[3]) || 0;
|
|
130
|
+
return P(i, s) ? n * (i * m + s * I) : NaN;
|
|
131
|
+
}
|
|
132
|
+
function J(e, t, n) {
|
|
133
|
+
const i = /* @__PURE__ */ new Date(0);
|
|
134
|
+
i.setUTCFullYear(e, 0, 4);
|
|
135
|
+
const s = i.getUTCDay() || 7, r = (t - 1) * 7 + n + 1 - s;
|
|
136
|
+
return i.setUTCDate(i.getUTCDate() + r), i;
|
|
137
|
+
}
|
|
138
|
+
const V = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
|
139
|
+
function $(e) {
|
|
140
|
+
return e % 400 === 0 || e % 4 === 0 && e % 100 !== 0;
|
|
141
|
+
}
|
|
142
|
+
function q(e, t, n) {
|
|
143
|
+
return t >= 0 && t <= 11 && n >= 1 && n <= (V[t] || ($(e) ? 29 : 28));
|
|
144
|
+
}
|
|
145
|
+
function B(e, t) {
|
|
146
|
+
return t >= 1 && t <= ($(e) ? 366 : 365);
|
|
147
|
+
}
|
|
148
|
+
function G(e, t, n) {
|
|
149
|
+
return t >= 1 && t <= 53 && n >= 0 && n <= 6;
|
|
150
|
+
}
|
|
151
|
+
function K(e, t, n) {
|
|
152
|
+
return e === 24 ? t === 0 && n === 0 : n >= 0 && n < 60 && t >= 0 && t < 60 && e >= 0 && e < 25;
|
|
153
|
+
}
|
|
154
|
+
function P(e, t) {
|
|
155
|
+
return t >= 0 && t <= 59;
|
|
156
|
+
}
|
|
157
|
+
function Q(e, t, n) {
|
|
158
|
+
return H(e, -t);
|
|
159
|
+
}
|
|
160
|
+
function nt(e) {
|
|
161
|
+
if (!e)
|
|
162
|
+
return;
|
|
163
|
+
const t = O(e);
|
|
164
|
+
if (U(t)) {
|
|
165
|
+
if (e.includes("Z"))
|
|
166
|
+
return new Date(e.replace("Z", ""));
|
|
167
|
+
if (e.includes("T")) {
|
|
168
|
+
const n = e.split("T");
|
|
169
|
+
if (n[1] && (n[1].includes("+") || n[1].includes("-")))
|
|
170
|
+
return /* @__PURE__ */ new Date(`${n[0]}T${n[1].split(/[+-]/)[0]}`);
|
|
171
|
+
}
|
|
172
|
+
return new Date(e);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
const it = (e, t) => {
|
|
176
|
+
const n = [], i = [];
|
|
177
|
+
let r = Y(0, e);
|
|
178
|
+
const a = S(r, 0);
|
|
179
|
+
a > 0 && (n.push(`${a} d`), t && i.push(`${a} ${a > 1 ? N.multiple.long[t] : N.single.long[t]}`), r = v(r, a));
|
|
180
|
+
const o = Z(r, 0);
|
|
181
|
+
o > 0 && (n.push(`${o} h`), t && i.push(`${o} ${o > 1 ? h.multiple.long[t] : h.single.long[t]}`), r = Q(r, o));
|
|
182
|
+
const u = F(r, 0);
|
|
183
|
+
return u > 0 && (n.push(`${u} min`), t && i.push(`${u} ${u > 1 ? T.multiple.long[t] : T.single.long[t]}`)), {
|
|
184
|
+
short: n.join(" "),
|
|
185
|
+
long: i.join(" ")
|
|
186
|
+
};
|
|
187
|
+
};
|
|
188
|
+
export {
|
|
189
|
+
it as durationToTime,
|
|
190
|
+
nt as removeTimezoneFromISOTimeString
|
|
191
|
+
};
|