@sbb-esta/lyne-elements-dev 5.0.0-next.3-dev.1779195190 → 5.0.0-next.3-dev.1779200097
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/autocomplete/autocomplete-base-element.js +2 -2
- package/autocomplete/autocomplete.component.js +1 -1
- package/{autocomplete-base-element-DRGjFF9_.js → autocomplete-base-element-6leI6UF4.js} +24 -14
- package/autocomplete.js +4 -4
- package/autocomplete.pure.js +3 -3
- package/calendar/calendar/calendar.component.js +2 -2
- package/{calendar.component-oS_T4s4k.js → calendar.component-BK4w5GWV.js} +35 -29
- package/calendar.js +4 -4
- package/calendar.pure.js +3 -3
- package/carousel/carousel/carousel.component.js +1 -1
- package/carousel/carousel-item/carousel-item.component.js +2 -2
- package/carousel/carousel-list/carousel-list.component.js +1 -1
- package/{carousel-item.component-DyZAdXL_.js → carousel-item.component-B6WmZPkW.js} +12 -2
- package/{carousel-list.component-Ai0uJWB7.js → carousel-list.component-CnZehdy6.js} +6 -13
- package/{carousel.component-9oMMOyWo.js → carousel.component-ZrkGeJgZ.js} +1 -1
- package/carousel.js +5 -5
- package/carousel.pure.js +4 -4
- package/chip/chip-group/chip-group.component.js +1 -1
- package/{chip-group.component-DJORKUef.js → chip-group.component-BIP7c2G0.js} +2 -7
- package/chip.js +1 -1
- package/chip.pure.js +1 -1
- package/core/overlay/overlay-outside-pointer-event-listener.js +1 -1
- package/custom-elements.json +3886 -3393
- package/datepicker/datepicker/datepicker.component.js +1 -1
- package/development/autocomplete/autocomplete-base-element.d.ts +6 -3
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete/autocomplete-base-element.js +2 -2
- package/development/autocomplete/autocomplete.component.js +1 -1
- package/development/autocomplete-base-element-qnPoRLvM.js +695 -0
- package/development/autocomplete.js +2 -2
- package/development/autocomplete.pure.js +2 -2
- package/development/calendar/calendar/calendar.component.d.ts +8 -0
- package/development/calendar/calendar/calendar.component.d.ts.map +1 -1
- package/development/calendar/calendar/calendar.component.js +2 -2
- package/development/calendar.component-BKWvdgzO.js +1461 -0
- package/development/calendar.js +2 -2
- package/development/calendar.pure.js +2 -2
- package/development/carousel/carousel/carousel.component.js +1 -1
- package/development/carousel/carousel-item/carousel-item.component.d.ts +8 -6
- package/development/carousel/carousel-item/carousel-item.component.d.ts.map +1 -1
- package/development/carousel/carousel-item/carousel-item.component.js +2 -2
- package/development/carousel/carousel-list/carousel-list.component.d.ts.map +1 -1
- package/development/carousel/carousel-list/carousel-list.component.js +1 -1
- package/development/{carousel-item.component-B_0wdIAu.js → carousel-item.component-nuo7jAt3.js} +16 -4
- package/development/carousel-list.component-B8PUREwS.js +126 -0
- package/development/carousel.component-D_KIJ9Bb.js +139 -0
- package/development/carousel.js +4 -4
- package/development/carousel.pure.js +4 -4
- package/development/chip/chip-group/chip-group.component.d.ts +1 -23
- package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
- package/development/chip/chip-group/chip-group.component.js +1 -1
- package/development/chip-group.component-CVizDsAz.js +395 -0
- package/development/chip.js +1 -1
- package/development/chip.pure.js +1 -1
- package/development/core/overlay/overlay-outside-pointer-event-listener.d.ts +1 -1
- package/development/core/overlay/overlay-outside-pointer-event-listener.d.ts.map +1 -1
- package/development/core/overlay/overlay-outside-pointer-event-listener.js +2 -2
- package/development/core.d.ts +0 -1
- package/development/core.d.ts.map +1 -1
- package/development/datepicker/datepicker/datepicker.component.d.ts +1 -1
- package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
- package/development/datepicker/datepicker/datepicker.component.js +3 -3
- package/development/dialog/dialog/dialog.component.d.ts +2 -3
- package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
- package/development/dialog/dialog/dialog.component.js +1 -1
- package/development/{dialog.component-AItB8ixG.js → dialog.component-D8B2dVck.js} +4 -7
- package/development/dialog.js +1 -1
- package/development/dialog.pure.js +1 -1
- package/development/file-selector/common/file-selector-common.d.ts +5 -0
- package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
- package/development/file-selector/common/file-selector-common.js +2 -2
- package/development/{file-selector-common-CGL95Rnw.js → file-selector-common-mZ5UYxOF.js} +17 -8
- package/development/file-selector.js +2 -2
- package/development/file-selector.pure.js +2 -2
- package/development/form-field/form-field/form-field.component.d.ts +1 -1
- package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
- package/development/form-field.component-CPWBCHer.js +1 -1
- package/development/overlay/overlay-base-element.d.ts +4 -4
- package/development/overlay/overlay-base-element.d.ts.map +1 -1
- package/development/overlay/overlay-base-element.js +3 -9
- package/development/overlay/overlay.component.d.ts +3 -3
- package/development/overlay/overlay.component.d.ts.map +1 -1
- package/development/overlay/overlay.component.js +1 -1
- package/development/{overlay.component-rFmitc_r.js → overlay.component-YSCuGeme.js} +4 -7
- package/development/overlay.js +1 -1
- package/development/overlay.pure.js +1 -1
- package/development/paginator/common/paginator-common.d.ts +11 -6
- package/development/paginator/common/paginator-common.d.ts.map +1 -1
- package/development/paginator/common/paginator-common.js +2 -2
- package/development/paginator-common-B7iba0wQ.js +432 -0
- package/development/paginator.js +2 -2
- package/development/paginator.pure.js +2 -2
- package/development/popover/popover.component.d.ts +7 -0
- package/development/popover/popover.component.d.ts.map +1 -1
- package/development/popover/popover.component.js +2 -2
- package/development/popover.component-CKUZbWbV.js +578 -0
- package/development/popover.js +2 -2
- package/development/popover.pure.js +2 -2
- package/development/{step.component-CcjtUFyR.js → step.component-B_YHm1tz.js} +32 -10
- package/development/stepper/step/step.component.d.ts +14 -1
- package/development/stepper/step/step.component.d.ts.map +1 -1
- package/development/stepper/step/step.component.js +2 -2
- package/development/stepper/stepper/stepper.component.d.ts +9 -5
- package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
- package/development/stepper/stepper/stepper.component.js +1 -1
- package/development/stepper.component-BeqeUIRN.js +443 -0
- package/development/stepper.js +3 -3
- package/development/stepper.pure.js +3 -3
- package/development/tab-group.component-CGMBihsQ.js +297 -0
- package/development/{tab-label.component-CNX8bsJL.js → tab-label.component-CQOLO2t7.js} +11 -13
- package/development/tabs/tab-group/tab-group.component.d.ts +15 -8
- package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
- package/development/tabs/tab-group/tab-group.component.js +2 -2
- package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
- package/development/tabs/tab-label/tab-label.component.js +1 -1
- package/development/tabs.js +3 -3
- package/development/tabs.pure.js +3 -3
- package/dialog/dialog/dialog.component.js +1 -1
- package/{dialog.component-4O3__zyd.js → dialog.component-CsBryhM-.js} +3 -6
- package/dialog.js +1 -1
- package/dialog.pure.js +1 -1
- package/file-selector/common/file-selector-common.js +2 -2
- package/{file-selector-common-BE780nIa.js → file-selector-common-VNwWFEmM.js} +26 -19
- package/file-selector.js +5 -5
- package/file-selector.pure.js +4 -4
- package/overlay/overlay-base-element.js +2 -8
- package/overlay/overlay.component.js +1 -1
- package/{overlay.component-C80XN61v.js → overlay.component-myJflfLY.js} +3 -6
- package/overlay.js +1 -1
- package/overlay.pure.js +1 -1
- package/package.json +2 -2
- package/paginator/common/paginator-common.js +2 -2
- package/{paginator-common-uoCIcl4X.js → paginator-common-BWewgXga.js} +42 -24
- package/paginator.js +5 -5
- package/paginator.pure.js +4 -4
- package/popover/popover.component.js +2 -2
- package/{popover.component-DJruKzY-.js → popover.component-Dm_86bPY.js} +19 -7
- package/popover.js +3 -3
- package/popover.pure.js +2 -2
- package/{step.component-BY6_2Wh2.js → step.component-tJh-Pb_E.js} +23 -8
- package/stepper/step/step.component.js +2 -2
- package/stepper/stepper/stepper.component.js +1 -1
- package/{stepper.component-lh0YSbT1.js → stepper.component-BCl77LVa.js} +20 -3
- package/stepper.js +4 -4
- package/stepper.pure.js +3 -3
- package/{tab-group.component-t4eeCNf-.js → tab-group.component-CDhggNpe.js} +27 -2
- package/{tab-label.component-DvvSohaG.js → tab-label.component-BuF2qt1T.js} +23 -22
- package/tabs/tab-group/tab-group.component.js +2 -2
- package/tabs/tab-label/tab-label.component.js +1 -1
- package/tabs.js +7 -7
- package/tabs.pure.js +6 -6
- package/development/autocomplete-base-element-DQiZ6hhk.js +0 -683
- package/development/calendar.component-CjlcDyS5.js +0 -1450
- package/development/carousel-list.component-DpDh5tqB.js +0 -133
- package/development/carousel.component-ClWvnZ8s.js +0 -139
- package/development/chip-group.component-Sgmi-kSy.js +0 -403
- package/development/core/interfaces/overlay-close-details.d.ts +0 -6
- package/development/core/interfaces/overlay-close-details.d.ts.map +0 -1
- package/development/paginator-common-BCeNUko_.js +0 -410
- package/development/popover.component-BmTfHMFw.js +0 -564
- package/development/stepper.component-80S-oXrH.js +0 -422
- package/development/tab-group.component-D4fvd6Uu.js +0 -265
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { html, unsafeCSS } from "lit";
|
|
2
|
-
import { SbbElement, SbbLanguageController, i18nCarouselItemAriaLabel, isArrowKeyPressed } from "./core.js";
|
|
3
|
-
import { ResizeController } from "@lit-labs/observers/resize-controller.js";
|
|
4
|
-
import { IntersectionController } from "@lit-labs/observers/intersection-controller.js";
|
|
5
|
-
//#region src/elements/carousel/carousel-list/carousel-list.scss?inline
|
|
6
|
-
var carousel_list_default = ":host {\n --sbb-carousel-list-border-radius: var(--sbb-border-radius-4x);\n display: flex;\n height: var(--sbb-carousel-list-height);\n width: var(--sbb-carousel-list-width, 0);\n overflow-x: auto;\n scroll-snap-type: x mandatory;\n scroll-behavior: smooth;\n scrollbar-width: none;\n outline: none;\n border-radius: var(--sbb-carousel-inherit-border-radius);\n}\n\n:host(:focus-visible)::before {\n outline-offset: var(--sbb-focus-outline-offset);\n outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);\n content: \"\";\n position: absolute;\n height: inherit;\n width: inherit;\n border-start-start-radius: var(--sbb-carousel-list-border-radius);\n border-start-end-radius: var(--sbb-carousel-list-border-radius);\n border-end-start-radius: var(--sbb-carousel-inherit-border-radius);\n border-end-end-radius: var(--sbb-carousel-inherit-border-radius);\n}";
|
|
7
|
-
//#endregion
|
|
8
|
-
//#region src/elements/carousel/carousel-list/carousel-list.component.ts
|
|
9
|
-
/**
|
|
10
|
-
* It displays a list of `sbb-carousel-item` components.
|
|
11
|
-
*
|
|
12
|
-
* @slot - Use the unnamed slot to add `sbb-carousel-item` elements.
|
|
13
|
-
*/
|
|
14
|
-
var SbbCarouselListElement = class extends SbbElement {
|
|
15
|
-
static {
|
|
16
|
-
this.elementName = "sbb-carousel-list";
|
|
17
|
-
}
|
|
18
|
-
static {
|
|
19
|
-
this.styles = [unsafeCSS(carousel_list_default)];
|
|
20
|
-
}
|
|
21
|
-
constructor() {
|
|
22
|
-
super();
|
|
23
|
-
this._currentIndex = 0;
|
|
24
|
-
this._language = new SbbLanguageController(this);
|
|
25
|
-
this._observedCarouselItems = [];
|
|
26
|
-
this._beforeShowObserver = new IntersectionController(this, {
|
|
27
|
-
target: null,
|
|
28
|
-
callback: (entry) => {
|
|
29
|
-
entry.filter((e) => e.isIntersecting && e.target !== this).forEach((e) => {
|
|
30
|
-
const target = e.target;
|
|
31
|
-
target.dispatchEvent(new CustomEvent("beforeshow", {
|
|
32
|
-
detail: { index: this._carouselItems().findIndex((e) => e === target) },
|
|
33
|
-
bubbles: true,
|
|
34
|
-
composed: true
|
|
35
|
-
}));
|
|
36
|
-
});
|
|
37
|
-
},
|
|
38
|
-
config: {
|
|
39
|
-
threshold: .01,
|
|
40
|
-
root: this,
|
|
41
|
-
rootMargin: "100% 0% 100% 0%"
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
this._showObserver = new IntersectionController(this, {
|
|
45
|
-
target: null,
|
|
46
|
-
callback: (entryArr) => {
|
|
47
|
-
for (const entry of entryArr) {
|
|
48
|
-
if (entry.target === this) continue;
|
|
49
|
-
const target = entry.target;
|
|
50
|
-
if (entry.isIntersecting) {
|
|
51
|
-
target.ariaHidden = null;
|
|
52
|
-
this._currentIndex = this._carouselItems().findIndex((el) => el === target);
|
|
53
|
-
target.dispatchEvent(new CustomEvent("show", {
|
|
54
|
-
detail: { index: this._currentIndex },
|
|
55
|
-
bubbles: true,
|
|
56
|
-
composed: true
|
|
57
|
-
}));
|
|
58
|
-
} else target.ariaHidden = "true";
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
config: {
|
|
62
|
-
threshold: .99,
|
|
63
|
-
root: this,
|
|
64
|
-
rootMargin: "100% 0% 100% 0%"
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
this._resizeObserverController = new ResizeController(this, {
|
|
68
|
-
skipInitial: true,
|
|
69
|
-
callback: () => this._readDimensions()
|
|
70
|
-
});
|
|
71
|
-
this.addEventListener?.("keydown", (e) => this._onKeyDown(e));
|
|
72
|
-
}
|
|
73
|
-
/** Gets the slotted items. */
|
|
74
|
-
_carouselItems() {
|
|
75
|
-
return Array.from(this.querySelectorAll?.("sbb-carousel-item") ?? []);
|
|
76
|
-
}
|
|
77
|
-
_handleSlotchange() {
|
|
78
|
-
this._observedCarouselItems.forEach((item) => {
|
|
79
|
-
this._beforeShowObserver.unobserve(item);
|
|
80
|
-
this._showObserver.unobserve(item);
|
|
81
|
-
});
|
|
82
|
-
const carouselItems = this._carouselItems();
|
|
83
|
-
carouselItems.forEach((item, index) => {
|
|
84
|
-
item.ariaLabel ||= i18nCarouselItemAriaLabel(index + 1, carouselItems.length)[this._language.current];
|
|
85
|
-
item.ariaHidden = index === this._currentIndex ? null : "true";
|
|
86
|
-
});
|
|
87
|
-
this._readDimensions();
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Reads the dimensions of the first carousel item and sets the CSS properties accordingly.
|
|
91
|
-
* Should set the dimensions only once, when the first item becomes visible and if the value is non-zero.
|
|
92
|
-
*/
|
|
93
|
-
_readDimensions() {
|
|
94
|
-
const carouselItems = this._carouselItems();
|
|
95
|
-
if (carouselItems.length === 0) return;
|
|
96
|
-
const firstItem = carouselItems[0];
|
|
97
|
-
if (firstItem.clientHeight > 0) this.style.setProperty("--sbb-carousel-list-height", `${firstItem.clientHeight}px`);
|
|
98
|
-
if (firstItem.clientWidth > 0) {
|
|
99
|
-
this.style.setProperty("--sbb-carousel-list-width", `${firstItem.clientWidth}px`);
|
|
100
|
-
carouselItems.forEach((item) => {
|
|
101
|
-
this._beforeShowObserver.observe(item);
|
|
102
|
-
this._showObserver.observe(item);
|
|
103
|
-
});
|
|
104
|
-
this._observedCarouselItems = carouselItems;
|
|
105
|
-
this._resizeObserverController.unobserve(this);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
_onKeyDown(evt) {
|
|
109
|
-
if (!isArrowKeyPressed(evt)) return;
|
|
110
|
-
evt.preventDefault();
|
|
111
|
-
let newIndex = this._currentIndex;
|
|
112
|
-
const isPrev = evt.key === "ArrowUp" || evt.key === "ArrowLeft";
|
|
113
|
-
const isNext = evt.key === "ArrowDown" || evt.key === "ArrowRight";
|
|
114
|
-
if (isPrev) newIndex = Math.max(0, this._currentIndex - 1);
|
|
115
|
-
else if (isNext) newIndex = Math.min(this._carouselItems().length - 1, this._currentIndex + 1);
|
|
116
|
-
if (newIndex !== this._currentIndex) {
|
|
117
|
-
this._currentIndex = newIndex;
|
|
118
|
-
this.scrollTo({ left: this._carouselItems()[this._currentIndex].offsetLeft - this.offsetLeft });
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
connectedCallback() {
|
|
122
|
-
super.connectedCallback();
|
|
123
|
-
this.internals.ariaLive = "polite";
|
|
124
|
-
this.internals.ariaAtomic = "true";
|
|
125
|
-
}
|
|
126
|
-
render() {
|
|
127
|
-
return html`<slot @slotchange=${this._handleSlotchange}></slot>`;
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
|
-
//#endregion
|
|
131
|
-
export { SbbCarouselListElement as t };
|
|
132
|
-
|
|
133
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtbGlzdC5jb21wb25lbnQtRHBEaDV0cUIuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLWxpc3QvY2Fyb3VzZWwtbGlzdC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJvdXNlbC9jYXJvdXNlbC1saXN0L2Nhcm91c2VsLWxpc3QuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItY2Fyb3VzZWwtbGlzdC1ib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy00eCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItY2Fyb3VzZWwtbGlzdC1oZWlnaHQpO1xuXG4gIC8vIFNldHRpbmcgMHB4IGFzIGZhbGxiYWNrIHRvIGF2b2lkIGluc3RhbnQgc2Nyb2xsaW5nIG9uIFNhZmFyaSB3aGVuIGxvYWRpbmcgdGhlIHBhZ2VcbiAgd2lkdGg6IHZhcigtLXNiYi1jYXJvdXNlbC1saXN0LXdpZHRoLCAwKTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1jYXJvdXNlbC1pbmhlcml0LWJvcmRlci1yYWRpdXMpO1xufVxuXG46aG9zdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuXG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1zYmItY2Fyb3VzZWwtbGlzdC1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogdmFyKC0tc2JiLWNhcm91c2VsLWxpc3QtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IHZhcigtLXNiYi1jYXJvdXNlbC1pbmhlcml0LWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogdmFyKC0tc2JiLWNhcm91c2VsLWluaGVyaXQtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cbiIsImltcG9ydCB7IEludGVyc2VjdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL2ludGVyc2VjdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7XG4gIGkxOG5DYXJvdXNlbEl0ZW1BcmlhTGFiZWwsXG4gIGlzQXJyb3dLZXlQcmVzc2VkLFxuICBTYmJFbGVtZW50LFxuICBTYmJMYW5ndWFnZUNvbnRyb2xsZXIsXG59IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHR5cGUge1xuICBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50LFxuICBTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbCxcbn0gZnJvbSAnLi4vY2Fyb3VzZWwtaXRlbS9jYXJvdXNlbC1pdGVtLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2Nhcm91c2VsLWxpc3Quc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgbGlzdCBvZiBgc2JiLWNhcm91c2VsLWl0ZW1gIGNvbXBvbmVudHMuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1jYXJvdXNlbC1pdGVtYCBlbGVtZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkNhcm91c2VsTGlzdEVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1jYXJvdXNlbC1saXN0JztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gIHByaXZhdGUgX2N1cnJlbnRJbmRleCA9IDA7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfb2JzZXJ2ZWRDYXJvdXNlbEl0ZW1zOiBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50W10gPSBbXTtcblxuICBwcml2YXRlIF9iZWZvcmVTaG93T2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoZW50cnkpID0+IHtcbiAgICAgIGNvbnN0IGl0ZW0gPSBlbnRyeS5maWx0ZXIoKGUpID0+IGUuaXNJbnRlcnNlY3RpbmcgJiYgZS50YXJnZXQgIT09IHRoaXMpO1xuICAgICAgaXRlbS5mb3JFYWNoKChlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIFNiYkNhcm91c2VsSXRlbUVsZW1lbnQ7XG4gICAgICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgIG5ldyBDdXN0b21FdmVudDxTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbD4oJ2JlZm9yZXNob3cnLCB7XG4gICAgICAgICAgICBkZXRhaWw6IHsgaW5kZXg6IHRoaXMuX2Nhcm91c2VsSXRlbXMoKS5maW5kSW5kZXgoKGUpID0+IGUgPT09IHRhcmdldCkgfSxcbiAgICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgICBjb21wb3NlZDogdHJ1ZSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgY29uZmlnOiB7IHRocmVzaG9sZDogMC4wMSwgcm9vdDogdGhpcywgcm9vdE1hcmdpbjogJzEwMCUgMCUgMTAwJSAwJScgfSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfc2hvd09ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBjYWxsYmFjazogKGVudHJ5QXJyKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJ5QXJyKSB7XG4gICAgICAgIGlmIChlbnRyeS50YXJnZXQgPT09IHRoaXMpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0YXJnZXQgPSBlbnRyeS50YXJnZXQgYXMgU2JiQ2Fyb3VzZWxJdGVtRWxlbWVudDtcbiAgICAgICAgaWYgKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSB7XG4gICAgICAgICAgdGFyZ2V0LmFyaWFIaWRkZW4gPSBudWxsO1xuICAgICAgICAgIHRoaXMuX2N1cnJlbnRJbmRleCA9IHRoaXMuX2Nhcm91c2VsSXRlbXMoKS5maW5kSW5kZXgoKGVsKSA9PiBlbCA9PT0gdGFyZ2V0KTtcbiAgICAgICAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudDxTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbD4oJ3Nob3cnLCB7XG4gICAgICAgICAgICAgIGRldGFpbDogeyBpbmRleDogdGhpcy5fY3VycmVudEluZGV4IH0sXG4gICAgICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0YXJnZXQuYXJpYUhpZGRlbiA9ICd0cnVlJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgY29uZmlnOiB7IHRocmVzaG9sZDogMC45OSwgcm9vdDogdGhpcywgcm9vdE1hcmdpbjogJzEwMCUgMCUgMTAwJSAwJScgfSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXJDb250cm9sbGVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9yZWFkRGltZW5zaW9ucygpLFxuICB9KTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX29uS2V5RG93bihlKSk7XG4gIH1cblxuICAvKiogR2V0cyB0aGUgc2xvdHRlZCBpdGVtcy4gKi9cbiAgcHJpdmF0ZSBfY2Fyb3VzZWxJdGVtcygpOiBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItY2Fyb3VzZWwtaXRlbScpID8/IFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgLy8gSW4gY2FzZSBvZiByZW1vdmVkIGNhcm91c2VsIGl0ZW1zLCB3ZSBuZWVkIHRvIHVub2JzZXJ2ZSB0aGUgY3VycmVudCBvYnNlcnZlcnMuXG4gICAgdGhpcy5fb2JzZXJ2ZWRDYXJvdXNlbEl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIHRoaXMuX2JlZm9yZVNob3dPYnNlcnZlci51bm9ic2VydmUoaXRlbSk7XG4gICAgICB0aGlzLl9zaG93T2JzZXJ2ZXIudW5vYnNlcnZlKGl0ZW0pO1xuICAgIH0pO1xuXG4gICAgY29uc3QgY2Fyb3VzZWxJdGVtcyA9IHRoaXMuX2Nhcm91c2VsSXRlbXMoKTtcblxuICAgIC8vIFNldCB0aGUgYXJpYS1sYWJlbCBpZiBub3QgcHJvdmlkZWRcbiAgICBjYXJvdXNlbEl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICBpdGVtLmFyaWFMYWJlbCB8fD0gaTE4bkNhcm91c2VsSXRlbUFyaWFMYWJlbChpbmRleCArIDEsIGNhcm91c2VsSXRlbXMubGVuZ3RoKVtcbiAgICAgICAgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudFxuICAgICAgXTtcbiAgICAgIGl0ZW0uYXJpYUhpZGRlbiA9IGluZGV4ID09PSB0aGlzLl9jdXJyZW50SW5kZXggPyBudWxsIDogJ3RydWUnO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fcmVhZERpbWVuc2lvbnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFkcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgZmlyc3QgY2Fyb3VzZWwgaXRlbSBhbmQgc2V0cyB0aGUgQ1NTIHByb3BlcnRpZXMgYWNjb3JkaW5nbHkuXG4gICAqIFNob3VsZCBzZXQgdGhlIGRpbWVuc2lvbnMgb25seSBvbmNlLCB3aGVuIHRoZSBmaXJzdCBpdGVtIGJlY29tZXMgdmlzaWJsZSBhbmQgaWYgdGhlIHZhbHVlIGlzIG5vbi16ZXJvLlxuICAgKi9cbiAgcHJpdmF0ZSBfcmVhZERpbWVuc2lvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgY2Fyb3VzZWxJdGVtcyA9IHRoaXMuX2Nhcm91c2VsSXRlbXMoKTtcbiAgICBpZiAoY2Fyb3VzZWxJdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdEl0ZW0gPSBjYXJvdXNlbEl0ZW1zWzBdO1xuXG4gICAgaWYgKGZpcnN0SXRlbS5jbGllbnRIZWlnaHQgPiAwKSB7XG4gICAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1jYXJvdXNlbC1saXN0LWhlaWdodCcsIGAke2ZpcnN0SXRlbS5jbGllbnRIZWlnaHR9cHhgKTtcbiAgICB9XG5cbiAgICBpZiAoZmlyc3RJdGVtLmNsaWVudFdpZHRoID4gMCkge1xuICAgICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItY2Fyb3VzZWwtbGlzdC13aWR0aCcsIGAke2ZpcnN0SXRlbS5jbGllbnRXaWR0aH1weGApO1xuXG4gICAgICAvLyBXZSBzaG91bGQgb25seSBvYnNlcnZlIHRoZSBpdGVtcyBpZiB0aGV5IGhhdmUgYSBub24temVybyB3aWR0aC4gT3RoZXJ3aXNlLCBhbiB1bndhbnRlZCBzY3JvbGxpbmcgY2FuIGhhcHBlbi5cbiAgICAgIGNhcm91c2VsSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICB0aGlzLl9iZWZvcmVTaG93T2JzZXJ2ZXIub2JzZXJ2ZShpdGVtKTtcbiAgICAgICAgdGhpcy5fc2hvd09ic2VydmVyLm9ic2VydmUoaXRlbSk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuX29ic2VydmVkQ2Fyb3VzZWxJdGVtcyA9IGNhcm91c2VsSXRlbXM7XG4gICAgICB0aGlzLl9yZXNpemVPYnNlcnZlckNvbnRyb2xsZXIudW5vYnNlcnZlKHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIWlzQXJyb3dLZXlQcmVzc2VkKGV2dCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBsZXQgbmV3SW5kZXggPSB0aGlzLl9jdXJyZW50SW5kZXg7XG4gICAgY29uc3QgaXNQcmV2ID0gZXZ0LmtleSA9PT0gJ0Fycm93VXAnIHx8IGV2dC5rZXkgPT09ICdBcnJvd0xlZnQnO1xuICAgIGNvbnN0IGlzTmV4dCA9IGV2dC5rZXkgPT09ICdBcnJvd0Rvd24nIHx8IGV2dC5rZXkgPT09ICdBcnJvd1JpZ2h0JztcblxuICAgIGlmIChpc1ByZXYpIHtcbiAgICAgIG5ld0luZGV4ID0gTWF0aC5tYXgoMCwgdGhpcy5fY3VycmVudEluZGV4IC0gMSk7XG4gICAgfSBlbHNlIGlmIChpc05leHQpIHtcbiAgICAgIG5ld0luZGV4ID0gTWF0aC5taW4odGhpcy5fY2Fyb3VzZWxJdGVtcygpLmxlbmd0aCAtIDEsIHRoaXMuX2N1cnJlbnRJbmRleCArIDEpO1xuICAgIH1cblxuICAgIGlmIChuZXdJbmRleCAhPT0gdGhpcy5fY3VycmVudEluZGV4KSB7XG4gICAgICB0aGlzLl9jdXJyZW50SW5kZXggPSBuZXdJbmRleDtcbiAgICAgIHRoaXMuc2Nyb2xsVG8oe1xuICAgICAgICBsZWZ0OiB0aGlzLl9jYXJvdXNlbEl0ZW1zKClbdGhpcy5fY3VycmVudEluZGV4XS5vZmZzZXRMZWZ0IC0gdGhpcy5vZmZzZXRMZWZ0LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICB0aGlzLmludGVybmFscy5hcmlhTGl2ZSA9ICdwb2xpdGUnO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFBdG9taWMgPSAndHJ1ZSc7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX2hhbmRsZVNsb3RjaGFuZ2V9Pjwvc2xvdD5gO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItY2Fyb3VzZWwtbGlzdCc6IFNiYkNhcm91c2VsTGlzdEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5n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
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
import { html, unsafeCSS } from "lit";
|
|
3
|
-
import { property } from "lit/decorators.js";
|
|
4
|
-
import { SbbElement, SbbLanguageController, forceType, i18nCarouselArrowsNavigationHint, i18nNextSlide, i18nPreviousSlide, i18nSlide, screenReaderOnlyStyles } from "./core.js";
|
|
5
|
-
//#region src/elements/carousel/carousel/carousel.scss?inline
|
|
6
|
-
var carousel_default = ":host {\n display: inline-block;\n overflow: hidden;\n border-radius: var(--sbb-carousel-border-radius) var(--sbb-carousel-border-radius) 0 0;\n}\n\n:host([shadow]) {\n box-shadow: var(--sbb-carousel-box-shadow);\n border-radius: var(--sbb-carousel-border-radius);\n}\n\n:host(:not([shadow])) ::slotted(sbb-carousel-list) {\n --sbb-carousel-inherit-border-radius: var(--sbb-carousel-border-radius);\n}\n\n.sbb-carousel {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n background-color: var(--sbb-carousel-background-color);\n}\n\n::slotted(sbb-compact-paginator) {\n padding: var(--sbb-carousel-paginator-padding);\n}";
|
|
7
|
-
//#endregion
|
|
8
|
-
//#region src/elements/carousel/carousel/carousel.component.ts
|
|
9
|
-
/**
|
|
10
|
-
* It displays a carousel component.
|
|
11
|
-
*
|
|
12
|
-
* @slot - Use the unnamed slot to add the `sbb-carousel-list` for content and a `sbb-paginator` for controls.
|
|
13
|
-
*/
|
|
14
|
-
var SbbCarouselElement = (() => {
|
|
15
|
-
let _classSuper = SbbElement;
|
|
16
|
-
let _shadow_decorators;
|
|
17
|
-
let _shadow_initializers = [];
|
|
18
|
-
let _shadow_extraInitializers = [];
|
|
19
|
-
return class SbbCarouselElement extends _classSuper {
|
|
20
|
-
static {
|
|
21
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
22
|
-
_shadow_decorators = [forceType(), property({
|
|
23
|
-
reflect: true,
|
|
24
|
-
type: Boolean
|
|
25
|
-
})];
|
|
26
|
-
__esDecorate(this, null, _shadow_decorators, {
|
|
27
|
-
kind: "accessor",
|
|
28
|
-
name: "shadow",
|
|
29
|
-
static: false,
|
|
30
|
-
private: false,
|
|
31
|
-
access: {
|
|
32
|
-
has: (obj) => "shadow" in obj,
|
|
33
|
-
get: (obj) => obj.shadow,
|
|
34
|
-
set: (obj, value) => {
|
|
35
|
-
obj.shadow = value;
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
metadata: _metadata
|
|
39
|
-
}, _shadow_initializers, _shadow_extraInitializers);
|
|
40
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, {
|
|
41
|
-
enumerable: true,
|
|
42
|
-
configurable: true,
|
|
43
|
-
writable: true,
|
|
44
|
-
value: _metadata
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
static {
|
|
48
|
-
this.elementName = "sbb-carousel";
|
|
49
|
-
}
|
|
50
|
-
static {
|
|
51
|
-
this.styles = [screenReaderOnlyStyles, unsafeCSS(carousel_default)];
|
|
52
|
-
}
|
|
53
|
-
#shadow_accessor_storage;
|
|
54
|
-
/**
|
|
55
|
-
* Used to display a box-shadow around the component.
|
|
56
|
-
*/
|
|
57
|
-
get shadow() {
|
|
58
|
-
return this.#shadow_accessor_storage;
|
|
59
|
-
}
|
|
60
|
-
set shadow(value) {
|
|
61
|
-
this.#shadow_accessor_storage = value;
|
|
62
|
-
}
|
|
63
|
-
constructor() {
|
|
64
|
-
super();
|
|
65
|
-
this.#shadow_accessor_storage = __runInitializers(this, _shadow_initializers, false);
|
|
66
|
-
this._paginator = (__runInitializers(this, _shadow_extraInitializers), null);
|
|
67
|
-
this._abortController = null;
|
|
68
|
-
this._language = new SbbLanguageController(this);
|
|
69
|
-
this._requestedPageIndexByPaginator = -1;
|
|
70
|
-
this.addEventListener?.("show", (e) => {
|
|
71
|
-
if (this._requestedPageIndexByPaginator !== -1 && this._requestedPageIndexByPaginator !== e.detail.index) return;
|
|
72
|
-
if (this._paginator) {
|
|
73
|
-
if (e.detail.index !== this._paginator.pageIndex) this._paginator.pageIndex = e.detail.index;
|
|
74
|
-
}
|
|
75
|
-
this._requestedPageIndexByPaginator = -1;
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
connectedCallback() {
|
|
79
|
-
super.connectedCallback();
|
|
80
|
-
this.internals.role = "region";
|
|
81
|
-
this.internals.ariaLabel = "carousel";
|
|
82
|
-
this._setupPaginator();
|
|
83
|
-
}
|
|
84
|
-
firstUpdated(_changedProperties) {
|
|
85
|
-
super.firstUpdated(_changedProperties);
|
|
86
|
-
this.internals.ariaDescribedByElements = [this.shadowRoot.querySelector("#sbb-carousel-arrows-navigation-hint")];
|
|
87
|
-
}
|
|
88
|
-
disconnectedCallback() {
|
|
89
|
-
super.disconnectedCallback();
|
|
90
|
-
this._abortController?.abort();
|
|
91
|
-
}
|
|
92
|
-
_handleSlotchange() {
|
|
93
|
-
const paginator = Array.from(this.children).find((el) => el.localName === "sbb-compact-paginator");
|
|
94
|
-
const list = Array.from(this.children).find((el) => el.localName === "sbb-carousel-list");
|
|
95
|
-
if (!paginator || !list) return;
|
|
96
|
-
const items = list.querySelectorAll("sbb-carousel-item");
|
|
97
|
-
if (items && items.length > 0) {
|
|
98
|
-
paginator.length = items.length;
|
|
99
|
-
paginator.pageSize = 1;
|
|
100
|
-
}
|
|
101
|
-
paginator.accessibilityNextPageLabel ||= i18nNextSlide[this._language.current];
|
|
102
|
-
paginator.accessibilityPreviousPageLabel ||= i18nPreviousSlide[this._language.current];
|
|
103
|
-
paginator.accessibilityPageLabel ||= i18nSlide[this._language.current];
|
|
104
|
-
if (paginator !== this._paginator) {
|
|
105
|
-
this._paginator = paginator;
|
|
106
|
-
this._setupPaginator();
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
_setupPaginator() {
|
|
110
|
-
this._abortController?.abort();
|
|
111
|
-
if (!this._paginator) return;
|
|
112
|
-
this._abortController = new AbortController();
|
|
113
|
-
this._paginator.addEventListener("click", () => this._scrollAtPaginatorChange(), { signal: this._abortController.signal });
|
|
114
|
-
}
|
|
115
|
-
_scrollAtPaginatorChange() {
|
|
116
|
-
if (!this._paginator) return;
|
|
117
|
-
this._requestedPageIndexByPaginator = this._paginator.pageIndex;
|
|
118
|
-
const list = this.querySelector("sbb-carousel-list");
|
|
119
|
-
if (list) {
|
|
120
|
-
const offsetLeft = list.querySelectorAll("sbb-carousel-item")[this._paginator.pageIndex].offsetLeft - this.offsetLeft;
|
|
121
|
-
if (list.clientWidth <= 100 || Math.abs(list.scrollLeft - offsetLeft) > 50) list.scrollTo({ left: offsetLeft });
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
render() {
|
|
125
|
-
return html`
|
|
126
|
-
<div class="sbb-carousel">
|
|
127
|
-
<span class="sbb-screen-reader-only" id="sbb-carousel-arrows-navigation-hint"
|
|
128
|
-
>${i18nCarouselArrowsNavigationHint[this._language.current]}</span
|
|
129
|
-
>
|
|
130
|
-
<slot @slotchange=${this._handleSlotchange}></slot>
|
|
131
|
-
</div>
|
|
132
|
-
`;
|
|
133
|
-
}
|
|
134
|
-
};
|
|
135
|
-
})();
|
|
136
|
-
//#endregion
|
|
137
|
-
export { SbbCarouselElement as t };
|
|
138
|
-
|
|
139
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LUNsV3ZuWjhzLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJvdXNlbC9jYXJvdXNlbC9jYXJvdXNlbC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJvdXNlbC9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1jYXJvdXNlbC1ib3JkZXItcmFkaXVzKSB2YXIoLS1zYmItY2Fyb3VzZWwtYm9yZGVyLXJhZGl1cykgMCAwO1xufVxuXG46aG9zdChbc2hhZG93XSkge1xuICBib3gtc2hhZG93OiB2YXIoLS1zYmItY2Fyb3VzZWwtYm94LXNoYWRvdyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1jYXJvdXNlbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuOmhvc3QoOm5vdChbc2hhZG93XSkpIDo6c2xvdHRlZChzYmItY2Fyb3VzZWwtbGlzdCkge1xuICAtLXNiYi1jYXJvdXNlbC1pbmhlcml0LWJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1jYXJvdXNlbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLnNiYi1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItY2Fyb3VzZWwtYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbjo6c2xvdHRlZChzYmItY29tcGFjdC1wYWdpbmF0b3IpIHtcbiAgcGFkZGluZzogdmFyKC0tc2JiLWNhcm91c2VsLXBhZ2luYXRvci1wYWRkaW5nKTtcbn1cbiIsImltcG9ydCB0eXBlIHsgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdAbGl0L3JlYWN0aXZlLWVsZW1lbnQnO1xuaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQge1xuICBmb3JjZVR5cGUsXG4gIGkxOG5DYXJvdXNlbEFycm93c05hdmlnYXRpb25IaW50LFxuICBpMThuTmV4dFNsaWRlLFxuICBpMThuUHJldmlvdXNTbGlkZSxcbiAgaTE4blNsaWRlLFxuICBTYmJFbGVtZW50LFxuICBTYmJMYW5ndWFnZUNvbnRyb2xsZXIsXG4gIHNjcmVlblJlYWRlck9ubHlTdHlsZXMsXG59IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJDb21wYWN0UGFnaW5hdG9yRWxlbWVudCB9IGZyb20gJy4uLy4uL3BhZ2luYXRvci5wdXJlLnRzJztcbmltcG9ydCB0eXBlIHtcbiAgU2JiQ2Fyb3VzZWxJdGVtRWxlbWVudCxcbiAgU2JiQ2Fyb3VzZWxJdGVtRXZlbnREZXRhaWwsXG59IGZyb20gJy4uL2Nhcm91c2VsLWl0ZW0vY2Fyb3VzZWwtaXRlbS5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJDYXJvdXNlbExpc3RFbGVtZW50IH0gZnJvbSAnLi4vY2Fyb3VzZWwtbGlzdC9jYXJvdXNlbC1saXN0LmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2Nhcm91c2VsLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGNhcm91c2VsIGNvbXBvbmVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCB0aGUgYHNiYi1jYXJvdXNlbC1saXN0YCBmb3IgY29udGVudCBhbmQgYSBgc2JiLXBhZ2luYXRvcmAgZm9yIGNvbnRyb2xzLlxuICovXG5leHBvcnQgY2xhc3MgU2JiQ2Fyb3VzZWxFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItY2Fyb3VzZWwnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbc2NyZWVuUmVhZGVyT25seVN0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gZGlzcGxheSBhIGJveC1zaGFkb3cgYXJvdW5kIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3Igc2hhZG93OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfcGFnaW5hdG9yOiBTYmJDb21wYWN0UGFnaW5hdG9yRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9hYm9ydENvbnRyb2xsZXI6IEFib3J0Q29udHJvbGxlciB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX3JlcXVlc3RlZFBhZ2VJbmRleEJ5UGFnaW5hdG9yID0gLTE7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICAvLyBJZiB0aGUgbGlzdCBpcyBzY3JvbGxlZCB1c2luZyBtb3VzZS9rZXlib2FyZCwgaXQga2VlcHMgdGhlIHBhZ2luYXRvciB1cGRhdGVkLlxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdzaG93JywgKGU6IEN1c3RvbUV2ZW50PFNiYkNhcm91c2VsSXRlbUV2ZW50RGV0YWlsPikgPT4ge1xuICAgICAgLy8gV2UgaGF2ZSB0byBnaXZlIHByaW9yaXR5IHRvIHRoZSBwYWdpbmF0b3IgZm9yIHRoZSBjYXNlLFxuICAgICAgLy8gaWYgZHVyaW5nIGFuIGFuaW1hdGlvbiB0aGUgbmV4dCBwYWdlIGlzIGNhbGxlZCBmcm9tIHRoZSBwYWdpbmF0b3IsIHRoZSBwYWdpbmF0b3IgaXMgcmVzZXQuXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuX3JlcXVlc3RlZFBhZ2VJbmRleEJ5UGFnaW5hdG9yICE9PSAtMSAmJlxuICAgICAgICB0aGlzLl9yZXF1ZXN0ZWRQYWdlSW5kZXhCeVBhZ2luYXRvciAhPT0gZS5kZXRhaWwuaW5kZXhcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5fcGFnaW5hdG9yKSB7XG4gICAgICAgIGlmIChlLmRldGFpbC5pbmRleCAhPT0gdGhpcy5fcGFnaW5hdG9yLnBhZ2VJbmRleCkge1xuICAgICAgICAgIHRoaXMuX3BhZ2luYXRvci5wYWdlSW5kZXggPSBlLmRldGFpbC5pbmRleDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5fcmVxdWVzdGVkUGFnZUluZGV4QnlQYWdpbmF0b3IgPSAtMTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgdGhpcy5pbnRlcm5hbHMucm9sZSA9ICdyZWdpb24nO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbCA9ICdjYXJvdXNlbCc7XG5cbiAgICB0aGlzLl9zZXR1cFBhZ2luYXRvcigpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChfY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzKTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKF9jaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLmludGVybmFscy5hcmlhRGVzY3JpYmVkQnlFbGVtZW50cyA9IFtcbiAgICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignI3NiYi1jYXJvdXNlbC1hcnJvd3MtbmF2aWdhdGlvbi1oaW50JykhLFxuICAgIF07XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIGNvbnN0IHBhZ2luYXRvcjogU2JiQ29tcGFjdFBhZ2luYXRvckVsZW1lbnQgPSBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4pLmZpbmQoXG4gICAgICAoZWwpID0+IGVsLmxvY2FsTmFtZSA9PT0gJ3NiYi1jb21wYWN0LXBhZ2luYXRvcicsXG4gICAgKSBhcyBTYmJDb21wYWN0UGFnaW5hdG9yRWxlbWVudDtcbiAgICBjb25zdCBsaXN0OiBTYmJDYXJvdXNlbExpc3RFbGVtZW50ID0gQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuKS5maW5kKFxuICAgICAgKGVsKSA9PiBlbC5sb2NhbE5hbWUgPT09ICdzYmItY2Fyb3VzZWwtbGlzdCcsXG4gICAgKSBhcyBTYmJDYXJvdXNlbExpc3RFbGVtZW50O1xuICAgIGlmICghcGFnaW5hdG9yIHx8ICFsaXN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGl0ZW1zID0gbGlzdC5xdWVyeVNlbGVjdG9yQWxsPFNiYkNhcm91c2VsSXRlbUVsZW1lbnQ+KCdzYmItY2Fyb3VzZWwtaXRlbScpO1xuICAgIGlmIChpdGVtcyAmJiBpdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICBwYWdpbmF0b3IubGVuZ3RoID0gaXRlbXMubGVuZ3RoO1xuICAgICAgcGFnaW5hdG9yLnBhZ2VTaXplID0gMTtcbiAgICB9XG4gICAgcGFnaW5hdG9yLmFjY2Vzc2liaWxpdHlOZXh0UGFnZUxhYmVsIHx8PSBpMThuTmV4dFNsaWRlW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdO1xuICAgIHBhZ2luYXRvci5hY2Nlc3NpYmlsaXR5UHJldmlvdXNQYWdlTGFiZWwgfHw9IGkxOG5QcmV2aW91c1NsaWRlW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdO1xuICAgIHBhZ2luYXRvci5hY2Nlc3NpYmlsaXR5UGFnZUxhYmVsIHx8PSBpMThuU2xpZGVbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF07XG5cbiAgICBpZiAocGFnaW5hdG9yICE9PSB0aGlzLl9wYWdpbmF0b3IpIHtcbiAgICAgIHRoaXMuX3BhZ2luYXRvciA9IHBhZ2luYXRvcjtcbiAgICAgIHRoaXMuX3NldHVwUGFnaW5hdG9yKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0dXBQYWdpbmF0b3IoKTogdm9pZCB7XG4gICAgdGhpcy5fYWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuXG4gICAgaWYgKCF0aGlzLl9wYWdpbmF0b3IpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gICAgLy8gQnkgbGlzdGVuaW5nIHRvIHRoZSBjbGljayBldmVudCBvbiB0aGUgcGFnaW5hdG9yLCB3ZSBjYW4gZW5zdXJlIHRoYXQgdGhlIGNoYW5nZSB3YXMgdXNlciB0cmlnZ2VyZWQuXG4gICAgLy8gSWYgd2UgaW5zdGVhZCB1c2UgdGhlIHBhZ2UgZXZlbnQsIHdlIHdvdWxkIGFsc28gY2F0Y2ggcHJvZ3JhbW1hdGljIGNoYW5nZXMgdG8gdGhlIHBhZ2luYXRvclxuICAgIC8vIHdoaWNoIGNhbiBjYXVzZSBhIGxvb3AgYW5kIHdyb25nIHRpbWluZyBhcyB3ZSBhbHNvIGxpc3RlbiB0byB0aGUgc2hvdyBldmVudC5cbiAgICB0aGlzLl9wYWdpbmF0b3IuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLl9zY3JvbGxBdFBhZ2luYXRvckNoYW5nZSgpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX2Fib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9zY3JvbGxBdFBhZ2luYXRvckNoYW5nZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3BhZ2luYXRvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9yZXF1ZXN0ZWRQYWdlSW5kZXhCeVBhZ2luYXRvciA9IHRoaXMuX3BhZ2luYXRvci5wYWdlSW5kZXg7XG5cbiAgICBjb25zdCBsaXN0ID0gdGhpcy5xdWVyeVNlbGVjdG9yPFNiYkNhcm91c2VsTGlzdEVsZW1lbnQ+KCdzYmItY2Fyb3VzZWwtbGlzdCcpO1xuXG4gICAgaWYgKGxpc3QpIHtcbiAgICAgIGNvbnN0IGl0ZW1zID0gbGlzdC5xdWVyeVNlbGVjdG9yQWxsPFNiYkNhcm91c2VsSXRlbUVsZW1lbnQ+KCdzYmItY2Fyb3VzZWwtaXRlbScpO1xuXG4gICAgICAvLyBBcyB0aGUgb2Zmc2V0TGVmdCBpcyBhbHdheXMgcmVuZGVyZWQgZnJvbSB0aGUgdmlld3BvcnQgYm91bmRhcmllcywgd2UgbmVlZCB0byBzdWJ0cmFjdCB0aGUgb2Zmc2V0TGVmdFxuICAgICAgLy8gZnJvbSB0aGUgY2Fyb3VzZWwgdG8gZ2V0IHRoZSBvZmZzZXQgaW5zaWRlIHRoZSBzY3JvbGwgYXJlYS5cbiAgICAgIGNvbnN0IG9mZnNldExlZnQgPSBpdGVtc1t0aGlzLl9wYWdpbmF0b3IucGFnZUluZGV4XS5vZmZzZXRMZWZ0IC0gdGhpcy5vZmZzZXRMZWZ0O1xuXG4gICAgICAvLyBQcmV2ZW50cyByZWR1bmRhbnQgc2Nyb2xsaW5nIHdoZW4gdGhlIHBhZ2luYXRvciB1cGRhdGVzIGFmdGVyIGEgc2Nyb2xsIGV2ZW50XG4gICAgICAvLyBieSBjaGVja2luZyB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgY3VycmVudCBhbmQgdGFyZ2V0IHNjcm9sbCBwb3NpdGlvbnMuXG4gICAgICAvLyAoc2hvdyBldmVudCBpcyB0cmlnZ2VyZWQgc2xpZ2h0bHkgYmVmb3JlIGZ1bGx5IHNjcm9sbGVkKS5cbiAgICAgIGlmIChsaXN0LmNsaWVudFdpZHRoIDw9IDEwMCB8fCBNYXRoLmFicyhsaXN0LnNjcm9sbExlZnQgLSBvZmZzZXRMZWZ0KSA+IDUwKSB7XG4gICAgICAgIGxpc3Quc2Nyb2xsVG8oeyBsZWZ0OiBvZmZzZXRMZWZ0IH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1jYXJvdXNlbFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIiBpZD1cInNiYi1jYXJvdXNlbC1hcnJvd3MtbmF2aWdhdGlvbi1oaW50XCJcbiAgICAgICAgICA+JHtpMThuQ2Fyb3VzZWxBcnJvd3NOYXZpZ2F0aW9uSGludFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX08L3NwYW5cbiAgICAgICAgPlxuICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX2hhbmRsZVNsb3RjaGFuZ2V9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jYXJvdXNlbCc6IFNiYkNhcm91c2VsRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0lDNEJhLDRCQUFrQjttQkFBUzs7OztjQUEzQiwyQkFBMkIsWUFBVTs7O3lCQU8vQyxVQUFTLEdBQ1QsU0FBUztJQUFFLFNBQVM7SUFBTSxNQUFNO0dBQU8sQ0FBRSxD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
|