@sbb-esta/lyne-elements 3.13.0 → 3.13.1
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/carousel/carousel/carousel.component.d.ts +2 -1
- package/carousel/carousel/carousel.component.d.ts.map +1 -1
- package/carousel/carousel/carousel.component.js +32 -27
- package/carousel/carousel-list/carousel-list.component.d.ts +1 -1
- package/carousel/carousel-list/carousel-list.component.d.ts.map +1 -1
- package/carousel/carousel-list/carousel-list.component.js +26 -31
- package/custom-elements.json +13 -11
- package/development/carousel/carousel/carousel.component.d.ts +2 -1
- package/development/carousel/carousel/carousel.component.d.ts.map +1 -1
- package/development/carousel/carousel/carousel.component.js +19 -8
- package/development/carousel/carousel-list/carousel-list.component.d.ts +1 -1
- package/development/carousel/carousel-list/carousel-list.component.d.ts.map +1 -1
- package/development/carousel/carousel-list/carousel-list.component.js +7 -14
- package/package.json +1 -1
|
@@ -21,7 +21,8 @@ export declare class SbbCarouselElement extends SbbCarouselElement_base {
|
|
|
21
21
|
firstUpdated(_changedProperties: PropertyValues): void;
|
|
22
22
|
disconnectedCallback(): void;
|
|
23
23
|
private _handleSlotchange;
|
|
24
|
-
private
|
|
24
|
+
private _setupPaginator;
|
|
25
|
+
private _scrollAtPaginatorChange;
|
|
25
26
|
protected render(): TemplateResult;
|
|
26
27
|
}
|
|
27
28
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carousel.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/carousel/carousel/carousel.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAmBvC,OAAO,6BAA6B,CAAC;;AAIrC;;;;GAIG;AACH,qBAEM,kBAAmB,SAAQ,uBAAoC;IACnE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;OAEG;IACH,SAEgB,MAAM,EAAE,OAAO,CAAS;IAExC,OAAO,CAAC,UAAU,CAA2C;IAC7D,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,8BAA8B,CAAM;;IAwB5B,iBAAiB,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"carousel.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/carousel/carousel/carousel.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAmBvC,OAAO,6BAA6B,CAAC;;AAIrC;;;;GAIG;AACH,qBAEM,kBAAmB,SAAQ,uBAAoC;IACnE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;OAEG;IACH,SAEgB,MAAM,EAAE,OAAO,CAAS;IAExC,OAAO,CAAC,UAAU,CAA2C;IAC7D,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,8BAA8B,CAAM;;IAwB5B,iBAAiB,IAAI,IAAI;IASzB,YAAY,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAQtD,oBAAoB,IAAI,IAAI;IAK5C,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,wBAAwB;cAwBb,MAAM,IAAI,cAAc;CAU5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,cAAc,EAAE,kBAAkB,CAAC;KACpC;CACF"}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
var
|
|
1
|
+
var p = (a) => {
|
|
2
2
|
throw TypeError(a);
|
|
3
3
|
};
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var _ = (a, t, s) => t.has(a) || p("Cannot " + s);
|
|
5
|
+
var v = (a, t, s) => (_(a, t, "read from private field"), s ? s.call(a) : t.get(a)), m = (a, t, s) => t.has(a) ? p("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(a) : t.set(a, s), b = (a, t, s, r) => (_(a, t, "write to private field"), r ? r.call(a, s) : t.set(a, s), s);
|
|
6
6
|
import { __esDecorate as w, __runInitializers as c } from "tslib";
|
|
7
7
|
import { css as y, LitElement as x, html as P } from "lit";
|
|
8
8
|
import { customElement as S, property as C } from "lit/decorators.js";
|
|
9
9
|
import { SbbLanguageController as I } from "../../core/controllers/language-controller.js";
|
|
10
|
-
import { forceType as
|
|
11
|
-
import { i18nNextSlide as
|
|
10
|
+
import { forceType as k } from "../../core/decorators.js";
|
|
11
|
+
import { i18nNextSlide as L, i18nPreviousSlide as q, i18nSlide as A, i18nCarouselArrowsNavigationHint as E } from "../../core/i18n/i18n.js";
|
|
12
12
|
import { SbbElementInternalsMixin as B } from "../../core/mixins.js";
|
|
13
13
|
import "../../screen-reader-only.js";
|
|
14
14
|
const z = y`*,:before,:after{box-sizing:border-box}:host{--sbb-carousel-border-radius: var(--sbb-border-radius-4x);--sbb-carousel-background-color: var(--sbb-background-color-1);display:inline-block;overflow:hidden;border-radius:var(--sbb-carousel-border-radius) var(--sbb-carousel-border-radius) 0 0}:host([shadow]){box-shadow:var(--sbb-shadow-elevation-level-9-shadow-2-offset-x) var(--sbb-shadow-elevation-level-9-shadow-2-offset-y) var(--sbb-shadow-elevation-level-9-shadow-2-blur) var(--sbb-shadow-elevation-level-9-shadow-2-spread) var(--sbb-shadow-color-hard-2),var(--sbb-shadow-elevation-level-9-shadow-1-offset-x) var(--sbb-shadow-elevation-level-9-shadow-1-offset-y) var(--sbb-shadow-elevation-level-9-shadow-1-blur) var(--sbb-shadow-elevation-level-9-shadow-1-spread) var(--sbb-shadow-color-hard-1);border-radius:var(--sbb-carousel-border-radius)}:host(:not([shadow])) ::slotted(sbb-carousel-list){--sbb-carousel-inherit-border-radius: var(--sbb-carousel-border-radius)}.sbb-carousel{display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:var(--sbb-carousel-background-color)}::slotted(sbb-compact-paginator){padding:var(--sbb-spacing-responsive-xs)}`;
|
|
15
15
|
let W = (() => {
|
|
16
|
-
var n,
|
|
17
|
-
let a = [S("sbb-carousel")],
|
|
18
|
-
return
|
|
16
|
+
var n, i;
|
|
17
|
+
let a = [S("sbb-carousel")], t, s = [], r, h = B(x), u, g = [], f = [];
|
|
18
|
+
return i = class extends h {
|
|
19
19
|
constructor() {
|
|
20
20
|
super();
|
|
21
|
-
|
|
21
|
+
m(this, n);
|
|
22
22
|
b(this, n, c(this, g, !1)), this._paginator = (c(this, f), null), this._abortController = null, this._language = new I(this), this._requestedPageIndexByPaginator = -1, this.addEventListener?.("show", (e) => {
|
|
23
23
|
this._requestedPageIndexByPaginator !== -1 && this._requestedPageIndexByPaginator !== e.detail.index || (this._paginator && e.detail.index !== this._paginator.pageIndex && (this._paginator.pageIndex = e.detail.index), this._requestedPageIndexByPaginator = -1);
|
|
24
24
|
});
|
|
@@ -27,13 +27,13 @@ let W = (() => {
|
|
|
27
27
|
* Used to display a box-shadow around the component.
|
|
28
28
|
*/
|
|
29
29
|
get shadow() {
|
|
30
|
-
return
|
|
30
|
+
return v(this, n);
|
|
31
31
|
}
|
|
32
32
|
set shadow(e) {
|
|
33
33
|
b(this, n, e);
|
|
34
34
|
}
|
|
35
35
|
connectedCallback() {
|
|
36
|
-
super.connectedCallback(), this.internals.role = "region", this.internals.ariaLabel = "carousel";
|
|
36
|
+
super.connectedCallback(), this.internals.role = "region", this.internals.ariaLabel = "carousel", this._setupPaginator();
|
|
37
37
|
}
|
|
38
38
|
firstUpdated(e) {
|
|
39
39
|
super.firstUpdated(e), this.internals.ariaDescribedByElements = [
|
|
@@ -44,20 +44,25 @@ let W = (() => {
|
|
|
44
44
|
super.disconnectedCallback(), this._abortController?.abort();
|
|
45
45
|
}
|
|
46
46
|
_handleSlotchange() {
|
|
47
|
-
const e = Array.from(this.children).find((
|
|
48
|
-
if (!e || !
|
|
47
|
+
const e = Array.from(this.children).find((d) => d.localName === "sbb-compact-paginator"), o = Array.from(this.children).find((d) => d.localName === "sbb-carousel-list");
|
|
48
|
+
if (!e || !o)
|
|
49
49
|
return;
|
|
50
|
-
const
|
|
51
|
-
|
|
50
|
+
const l = o.querySelectorAll("sbb-carousel-item");
|
|
51
|
+
l && l.length > 0 && (e.length = l.length, e.pageSize = 1), e.accessibilityNextPageLabel ||= L[this._language.current], e.accessibilityPreviousPageLabel ||= q[this._language.current], e.accessibilityPageLabel ||= A[this._language.current], e !== this._paginator && (this._paginator = e, this._setupPaginator());
|
|
52
|
+
}
|
|
53
|
+
_setupPaginator() {
|
|
54
|
+
this._abortController?.abort(), this._paginator && (this._abortController = new AbortController(), this._paginator.addEventListener("click", () => this._scrollAtPaginatorChange(), {
|
|
52
55
|
signal: this._abortController.signal
|
|
53
|
-
})
|
|
56
|
+
}));
|
|
54
57
|
}
|
|
55
|
-
|
|
56
|
-
this.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
_scrollAtPaginatorChange() {
|
|
59
|
+
if (!this._paginator)
|
|
60
|
+
return;
|
|
61
|
+
this._requestedPageIndexByPaginator = this._paginator.pageIndex;
|
|
62
|
+
const e = this.querySelector("sbb-carousel-list");
|
|
63
|
+
if (e) {
|
|
64
|
+
const l = e.querySelectorAll("sbb-carousel-item")[this._paginator.pageIndex].offsetLeft - this.offsetLeft;
|
|
65
|
+
(e.clientWidth <= 100 || Math.abs(e.scrollLeft - l) > 50) && e.scrollTo({ left: l });
|
|
61
66
|
}
|
|
62
67
|
}
|
|
63
68
|
render() {
|
|
@@ -70,12 +75,12 @@ let W = (() => {
|
|
|
70
75
|
</div>
|
|
71
76
|
`;
|
|
72
77
|
}
|
|
73
|
-
}, n = new WeakMap(),
|
|
78
|
+
}, n = new WeakMap(), r = i, (() => {
|
|
74
79
|
const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(h[Symbol.metadata] ?? null) : void 0;
|
|
75
|
-
u = [
|
|
76
|
-
|
|
77
|
-
} }, metadata: e }, g, f), w(null,
|
|
78
|
-
})(),
|
|
80
|
+
u = [k(), C({ reflect: !0, type: Boolean })], w(i, null, u, { kind: "accessor", name: "shadow", static: !1, private: !1, access: { has: (o) => "shadow" in o, get: (o) => o.shadow, set: (o, l) => {
|
|
81
|
+
o.shadow = l;
|
|
82
|
+
} }, metadata: e }, g, f), w(null, t = { value: r }, a, { kind: "class", name: r.name, metadata: e }, null, s), r = t.value, e && Object.defineProperty(r, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
|
|
83
|
+
})(), i.styles = z, c(r, s), r;
|
|
79
84
|
})();
|
|
80
85
|
export {
|
|
81
86
|
W as SbbCarouselElement
|
|
@@ -12,7 +12,7 @@ export declare class SbbCarouselListElement extends SbbCarouselListElement_base
|
|
|
12
12
|
private _observedCarouselItems;
|
|
13
13
|
private _beforeShowObserver;
|
|
14
14
|
private _showObserver;
|
|
15
|
-
private
|
|
15
|
+
private _resizeObserverController;
|
|
16
16
|
constructor();
|
|
17
17
|
/** Gets the slotted items. */
|
|
18
18
|
private _carouselItems;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carousel-list.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/carousel/carousel-list/carousel-list.component.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"carousel-list.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/carousel/carousel-list/carousel-list.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAQ,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;;AAcjF;;;;GAIG;AACH,qBAEM,sBAAuB,SAAQ,2BAAoC;IACvE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,sBAAsB,CAAgC;IAE9D,OAAO,CAAC,mBAAmB,CAgBxB;IAEH,OAAO,CAAC,aAAa,CAwBlB;IAEH,OAAO,CAAC,yBAAyB,CAG9B;;IAQH,8BAA8B;IAC9B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,iBAAiB;IAoBzB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,UAAU;IAwBF,iBAAiB,IAAI,IAAI;cAOtB,MAAM,IAAI,cAAc;CAG5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,mBAAmB,EAAE,sBAAsB,CAAC;KAC7C;CACF"}
|
|
@@ -1,38 +1,39 @@
|
|
|
1
1
|
import { __esDecorate as b, __runInitializers as d } from "tslib";
|
|
2
|
-
import { IntersectionController as
|
|
3
|
-
import {
|
|
2
|
+
import { IntersectionController as c } from "@lit-labs/observers/intersection-controller.js";
|
|
3
|
+
import { ResizeController as f } from "@lit-labs/observers/resize-controller.js";
|
|
4
|
+
import { css as m, LitElement as _, html as v } from "lit";
|
|
4
5
|
import { customElement as g } from "lit/decorators.js";
|
|
5
6
|
import { isArrowKeyPressed as I } from "../../core/a11y.js";
|
|
6
|
-
import { SbbLanguageController as
|
|
7
|
-
import { i18nCarouselItemAriaLabel as
|
|
7
|
+
import { SbbLanguageController as p } from "../../core/controllers.js";
|
|
8
|
+
import { i18nCarouselItemAriaLabel as w } from "../../core/i18n.js";
|
|
8
9
|
import { SbbElementInternalsMixin as x } from "../../core/mixins.js";
|
|
9
|
-
const y =
|
|
10
|
+
const y = m`*,:before,:after{box-sizing:border-box}:host{--sbb-carousel-list-border-radius: var(--sbb-border-radius-4x);display:flex;height:var(--sbb-carousel-list-height);width:var(--sbb-carousel-list-width, 0);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;outline:none;border-radius:var(--sbb-carousel-inherit-border-radius)}:host(:focus-visible):before{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);content:"";position:absolute;height:inherit;width:inherit;border-start-start-radius:var(--sbb-carousel-list-border-radius);border-start-end-radius:var(--sbb-carousel-list-border-radius);border-end-start-radius:var(--sbb-carousel-inherit-border-radius);border-end-end-radius:var(--sbb-carousel-inherit-border-radius)}`;
|
|
10
11
|
let H = (() => {
|
|
11
|
-
var
|
|
12
|
-
let u = [g("sbb-carousel-list")],
|
|
13
|
-
return
|
|
12
|
+
var o;
|
|
13
|
+
let u = [g("sbb-carousel-list")], n, a = [], s, l = x(_);
|
|
14
|
+
return o = class extends l {
|
|
14
15
|
constructor() {
|
|
15
|
-
super(), this._currentIndex = 0, this._language = new
|
|
16
|
+
super(), this._currentIndex = 0, this._language = new p(this), this._observedCarouselItems = [], this._beforeShowObserver = new c(this, {
|
|
16
17
|
target: null,
|
|
17
18
|
callback: (e) => {
|
|
18
19
|
e.filter((r) => r.isIntersecting && r.target !== this).forEach((r) => {
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
detail: { index: this._carouselItems().findIndex((h) => h ===
|
|
20
|
+
const i = r.target;
|
|
21
|
+
i.dispatchEvent(new CustomEvent("beforeshow", {
|
|
22
|
+
detail: { index: this._carouselItems().findIndex((h) => h === i) },
|
|
22
23
|
bubbles: !0,
|
|
23
24
|
composed: !0
|
|
24
25
|
}));
|
|
25
26
|
});
|
|
26
27
|
},
|
|
27
28
|
config: { threshold: 0.01, root: this, rootMargin: "100% 0% 100% 0%" }
|
|
28
|
-
}), this._showObserver = new
|
|
29
|
+
}), this._showObserver = new c(this, {
|
|
29
30
|
target: null,
|
|
30
31
|
callback: (e) => {
|
|
31
32
|
for (const t of e) {
|
|
32
33
|
if (t.target === this)
|
|
33
34
|
continue;
|
|
34
35
|
const r = t.target;
|
|
35
|
-
t.isIntersecting ? (r.ariaHidden = null, this._currentIndex = this._carouselItems().findIndex((
|
|
36
|
+
t.isIntersecting ? (r.ariaHidden = null, this._currentIndex = this._carouselItems().findIndex((i) => i === r), r.dispatchEvent(new CustomEvent("show", {
|
|
36
37
|
detail: { index: this._currentIndex },
|
|
37
38
|
bubbles: !0,
|
|
38
39
|
composed: !0
|
|
@@ -40,15 +41,9 @@ let H = (() => {
|
|
|
40
41
|
}
|
|
41
42
|
},
|
|
42
43
|
config: { threshold: 0.99, root: this, rootMargin: "100% 0% 100% 0%" }
|
|
43
|
-
}), this.
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
t.intersectionRatio > 0 && (this._readDimensions(), this._firstVisibleIntersectionController.unobserve(this));
|
|
47
|
-
});
|
|
48
|
-
},
|
|
49
|
-
config: {
|
|
50
|
-
root: _ ? null : document?.documentElement
|
|
51
|
-
}
|
|
44
|
+
}), this._resizeObserverController = new f(this, {
|
|
45
|
+
skipInitial: !0,
|
|
46
|
+
callback: () => this._readDimensions()
|
|
52
47
|
}), this.addEventListener?.("keydown", (e) => this._onKeyDown(e));
|
|
53
48
|
}
|
|
54
49
|
/** Gets the slotted items. */
|
|
@@ -61,7 +56,7 @@ let H = (() => {
|
|
|
61
56
|
});
|
|
62
57
|
const e = this._carouselItems();
|
|
63
58
|
e.forEach((t, r) => {
|
|
64
|
-
t.ariaLabel ||=
|
|
59
|
+
t.ariaLabel ||= w(r + 1, e.length)[this._language.current], t.ariaHidden = r === this._currentIndex ? null : "true";
|
|
65
60
|
}), this._readDimensions();
|
|
66
61
|
}
|
|
67
62
|
/**
|
|
@@ -75,15 +70,15 @@ let H = (() => {
|
|
|
75
70
|
const t = e[0];
|
|
76
71
|
t.clientHeight > 0 && this.style.setProperty("--sbb-carousel-list-height", `${t.clientHeight}px`), t.clientWidth > 0 && (this.style.setProperty("--sbb-carousel-list-width", `${t.clientWidth}px`), e.forEach((r) => {
|
|
77
72
|
this._beforeShowObserver.observe(r), this._showObserver.observe(r);
|
|
78
|
-
}), this._observedCarouselItems = e);
|
|
73
|
+
}), this._observedCarouselItems = e, this._resizeObserverController.unobserve(this));
|
|
79
74
|
}
|
|
80
75
|
_onKeyDown(e) {
|
|
81
76
|
if (!I(e))
|
|
82
77
|
return;
|
|
83
78
|
e.preventDefault();
|
|
84
79
|
let t = this._currentIndex;
|
|
85
|
-
const r = e.key === "ArrowUp" || e.key === "ArrowLeft",
|
|
86
|
-
r ? t = Math.max(0, this._currentIndex - 1) :
|
|
80
|
+
const r = e.key === "ArrowUp" || e.key === "ArrowLeft", i = e.key === "ArrowDown" || e.key === "ArrowRight";
|
|
81
|
+
r ? t = Math.max(0, this._currentIndex - 1) : i && (t = Math.min(this._carouselItems().length - 1, this._currentIndex + 1)), t !== this._currentIndex && (this._currentIndex = t, this.scrollTo({
|
|
87
82
|
left: this._carouselItems()[this._currentIndex].offsetLeft - this.offsetLeft
|
|
88
83
|
}));
|
|
89
84
|
}
|
|
@@ -93,10 +88,10 @@ let H = (() => {
|
|
|
93
88
|
render() {
|
|
94
89
|
return v`<slot @slotchange=${this._handleSlotchange}></slot>`;
|
|
95
90
|
}
|
|
96
|
-
}, s =
|
|
97
|
-
const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(
|
|
98
|
-
b(null,
|
|
99
|
-
})(),
|
|
91
|
+
}, s = o, (() => {
|
|
92
|
+
const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(l[Symbol.metadata] ?? null) : void 0;
|
|
93
|
+
b(null, n = { value: s }, u, { kind: "class", name: s.name, metadata: e }, null, a), s = n.value, e && Object.defineProperty(s, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
|
|
94
|
+
})(), o.styles = y, d(s, a), s;
|
|
100
95
|
})();
|
|
101
96
|
export {
|
|
102
97
|
H as SbbCarouselListElement
|
package/custom-elements.json
CHANGED
|
@@ -39229,21 +39229,23 @@
|
|
|
39229
39229
|
},
|
|
39230
39230
|
{
|
|
39231
39231
|
"kind": "method",
|
|
39232
|
-
"name": "
|
|
39232
|
+
"name": "_setupPaginator",
|
|
39233
39233
|
"privacy": "private",
|
|
39234
39234
|
"return": {
|
|
39235
39235
|
"type": {
|
|
39236
39236
|
"text": "void"
|
|
39237
39237
|
}
|
|
39238
|
-
}
|
|
39239
|
-
|
|
39240
|
-
|
|
39241
|
-
|
|
39242
|
-
|
|
39243
|
-
|
|
39244
|
-
|
|
39238
|
+
}
|
|
39239
|
+
},
|
|
39240
|
+
{
|
|
39241
|
+
"kind": "method",
|
|
39242
|
+
"name": "_scrollAtPaginatorChange",
|
|
39243
|
+
"privacy": "private",
|
|
39244
|
+
"return": {
|
|
39245
|
+
"type": {
|
|
39246
|
+
"text": "void"
|
|
39245
39247
|
}
|
|
39246
|
-
|
|
39248
|
+
}
|
|
39247
39249
|
},
|
|
39248
39250
|
{
|
|
39249
39251
|
"kind": "method",
|
|
@@ -39477,9 +39479,9 @@
|
|
|
39477
39479
|
},
|
|
39478
39480
|
{
|
|
39479
39481
|
"kind": "field",
|
|
39480
|
-
"name": "
|
|
39482
|
+
"name": "_resizeObserverController",
|
|
39481
39483
|
"privacy": "private",
|
|
39482
|
-
"default": "new
|
|
39484
|
+
"default": "new ResizeController(this, { skipInitial: true, callback: () => this._readDimensions(), })"
|
|
39483
39485
|
},
|
|
39484
39486
|
{
|
|
39485
39487
|
"kind": "method",
|
|
@@ -21,7 +21,8 @@ export declare class SbbCarouselElement extends SbbCarouselElement_base {
|
|
|
21
21
|
firstUpdated(_changedProperties: PropertyValues): void;
|
|
22
22
|
disconnectedCallback(): void;
|
|
23
23
|
private _handleSlotchange;
|
|
24
|
-
private
|
|
24
|
+
private _setupPaginator;
|
|
25
|
+
private _scrollAtPaginatorChange;
|
|
25
26
|
protected render(): TemplateResult;
|
|
26
27
|
}
|
|
27
28
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carousel.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/carousel/carousel/carousel.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAmBvC,OAAO,6BAA6B,CAAC;;AAIrC;;;;GAIG;AACH,qBAEM,kBAAmB,SAAQ,uBAAoC;IACnE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;OAEG;IACH,SAEgB,MAAM,EAAE,OAAO,CAAS;IAExC,OAAO,CAAC,UAAU,CAA2C;IAC7D,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,8BAA8B,CAAM;;IAwB5B,iBAAiB,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"carousel.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/carousel/carousel/carousel.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAmBvC,OAAO,6BAA6B,CAAC;;AAIrC;;;;GAIG;AACH,qBAEM,kBAAmB,SAAQ,uBAAoC;IACnE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;OAEG;IACH,SAEgB,MAAM,EAAE,OAAO,CAAS;IAExC,OAAO,CAAC,UAAU,CAA2C;IAC7D,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,8BAA8B,CAAM;;IAwB5B,iBAAiB,IAAI,IAAI;IASzB,YAAY,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAQtD,oBAAoB,IAAI,IAAI;IAK5C,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,wBAAwB;cAwBb,MAAM,IAAI,cAAc;CAU5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,cAAc,EAAE,kBAAkB,CAAC;KACpC;CACF"}
|
|
@@ -91,6 +91,7 @@ let SbbCarouselElement = (() => {
|
|
|
91
91
|
super.connectedCallback();
|
|
92
92
|
this.internals.role = "region";
|
|
93
93
|
this.internals.ariaLabel = "carousel";
|
|
94
|
+
this._setupPaginator();
|
|
94
95
|
}
|
|
95
96
|
firstUpdated(_changedProperties) {
|
|
96
97
|
super.firstUpdated(_changedProperties);
|
|
@@ -117,19 +118,29 @@ let SbbCarouselElement = (() => {
|
|
|
117
118
|
paginator.accessibilityPreviousPageLabel ||= i18nPreviousSlide[this._language.current];
|
|
118
119
|
paginator.accessibilityPageLabel ||= i18nSlide[this._language.current];
|
|
119
120
|
if (paginator !== this._paginator) {
|
|
120
|
-
this._abortController = new AbortController();
|
|
121
|
-
paginator.addEventListener("page", (e) => this._scrollAtPageChange(e), {
|
|
122
|
-
signal: this._abortController.signal
|
|
123
|
-
});
|
|
124
121
|
this._paginator = paginator;
|
|
122
|
+
this._setupPaginator();
|
|
125
123
|
}
|
|
126
124
|
}
|
|
127
|
-
|
|
128
|
-
this.
|
|
125
|
+
_setupPaginator() {
|
|
126
|
+
this._abortController?.abort();
|
|
127
|
+
if (!this._paginator) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
this._abortController = new AbortController();
|
|
131
|
+
this._paginator.addEventListener("click", () => this._scrollAtPaginatorChange(), {
|
|
132
|
+
signal: this._abortController.signal
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
_scrollAtPaginatorChange() {
|
|
136
|
+
if (!this._paginator) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
this._requestedPageIndexByPaginator = this._paginator.pageIndex;
|
|
129
140
|
const list = this.querySelector("sbb-carousel-list");
|
|
130
141
|
if (list) {
|
|
131
142
|
const items = list.querySelectorAll("sbb-carousel-item");
|
|
132
|
-
const offsetLeft = items[
|
|
143
|
+
const offsetLeft = items[this._paginator.pageIndex].offsetLeft - this.offsetLeft;
|
|
133
144
|
if (list.clientWidth <= 100 || Math.abs(list.scrollLeft - offsetLeft) > 50) {
|
|
134
145
|
list.scrollTo({ left: offsetLeft });
|
|
135
146
|
}
|
|
@@ -160,4 +171,4 @@ let SbbCarouselElement = (() => {
|
|
|
160
171
|
export {
|
|
161
172
|
SbbCarouselElement
|
|
162
173
|
};
|
|
163
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdAbGl0L3JlYWN0aXZlLWVsZW1lbnQnO1xuaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy9sYW5ndWFnZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQge1xuICBpMThuQ2Fyb3VzZWxBcnJvd3NOYXZpZ2F0aW9uSGludCxcbiAgaTE4bk5leHRTbGlkZSxcbiAgaTE4blByZXZpb3VzU2xpZGUsXG4gIGkxOG5TbGlkZSxcbn0gZnJvbSAnLi4vLi4vY29yZS9pMThuL2kxOG4uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJQYWdpbmF0b3JQYWdlRXZlbnREZXRhaWxzIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB7IFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiQ29tcGFjdFBhZ2luYXRvckVsZW1lbnQgfSBmcm9tICcuLi8uLi9wYWdpbmF0b3IvY29tcGFjdC1wYWdpbmF0b3IvY29tcGFjdC1wYWdpbmF0b3IuY29tcG9uZW50LmpzJztcbmltcG9ydCB0eXBlIHtcbiAgU2JiQ2Fyb3VzZWxJdGVtRWxlbWVudCxcbiAgU2JiQ2Fyb3VzZWxJdGVtRXZlbnREZXRhaWwsXG59IGZyb20gJy4uL2Nhcm91c2VsLWl0ZW0vY2Fyb3VzZWwtaXRlbS5jb21wb25lbnQuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJDYXJvdXNlbExpc3RFbGVtZW50IH0gZnJvbSAnLi4vY2Fyb3VzZWwtbGlzdC9jYXJvdXNlbC1saXN0LmNvbXBvbmVudC5qcyc7XG5pbXBvcnQgJy4uLy4uL3NjcmVlbi1yZWFkZXItb25seS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2Nhcm91c2VsLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBjYXJvdXNlbCBjb21wb25lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgdGhlIGBzYmItY2Fyb3VzZWwtbGlzdGAgZm9yIGNvbnRlbnQgYW5kIGEgYHNiYi1wYWdpbmF0b3JgIGZvciBjb250cm9scy5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWNhcm91c2VsJylcbmNsYXNzIFNiYkNhcm91c2VsRWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGRpc3BsYXkgYSBib3gtc2hhZG93IGFyb3VuZCB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIHNoYWRvdzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3BhZ2luYXRvcjogU2JiQ29tcGFjdFBhZ2luYXRvckVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfYWJvcnRDb250cm9sbGVyOiBBYm9ydENvbnRyb2xsZXIgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9yZXF1ZXN0ZWRQYWdlSW5kZXhCeVBhZ2luYXRvciA9IC0xO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgLy8gSWYgdGhlIGxpc3QgaXMgc2Nyb2xsZWQgdXNpbmcgbW91c2Uva2V5Ym9hcmQsIGl0IGtlZXBzIHRoZSBwYWdpbmF0b3IgdXBkYXRlZC5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Lignc2hvdycsIChlOiBDdXN0b21FdmVudDxTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbD4pID0+IHtcbiAgICAgIC8vIFdlIGhhdmUgdG8gZ2l2ZSBwcmlvcml0eSB0byB0aGUgcGFnaW5hdG9yIGZvciB0aGUgY2FzZSxcbiAgICAgIC8vIGlmIGR1cmluZyBhbiBhbmltYXRpb24gdGhlIG5leHQgcGFnZSBpcyBjYWxsZWQgZnJvbSB0aGUgcGFnaW5hdG9yLCB0aGUgcGFnaW5hdG9yIGlzIHJlc2V0LlxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLl9yZXF1ZXN0ZWRQYWdlSW5kZXhCeVBhZ2luYXRvciAhPT0gLTEgJiZcbiAgICAgICAgdGhpcy5fcmVxdWVzdGVkUGFnZUluZGV4QnlQYWdpbmF0b3IgIT09IGUuZGV0YWlsLmluZGV4XG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuX3BhZ2luYXRvcikge1xuICAgICAgICBpZiAoZS5kZXRhaWwuaW5kZXggIT09IHRoaXMuX3BhZ2luYXRvci5wYWdlSW5kZXgpIHtcbiAgICAgICAgICB0aGlzLl9wYWdpbmF0b3IucGFnZUluZGV4ID0gZS5kZXRhaWwuaW5kZXg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuX3JlcXVlc3RlZFBhZ2VJbmRleEJ5UGFnaW5hdG9yID0gLTE7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIHRoaXMuaW50ZXJuYWxzLnJvbGUgPSAncmVnaW9uJztcbiAgICB0aGlzLmludGVybmFscy5hcmlhTGFiZWwgPSAnY2Fyb3VzZWwnO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChfY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzKTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKF9jaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLmludGVybmFscy5hcmlhRGVzY3JpYmVkQnlFbGVtZW50cyA9IFtcbiAgICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignI3NiYi1jYXJvdXNlbC1hcnJvd3MtbmF2aWdhdGlvbi1oaW50JykhLFxuICAgIF07XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIGNvbnN0IHBhZ2luYXRvcjogU2JiQ29tcGFjdFBhZ2luYXRvckVsZW1lbnQgPSBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4pLmZpbmQoXG4gICAgICAoZWwpID0+IGVsLmxvY2FsTmFtZSA9PT0gJ3NiYi1jb21wYWN0LXBhZ2luYXRvcicsXG4gICAgKSBhcyBTYmJDb21wYWN0UGFnaW5hdG9yRWxlbWVudDtcbiAgICBjb25zdCBsaXN0OiBTYmJDYXJvdXNlbExpc3RFbGVtZW50ID0gQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuKS5maW5kKFxuICAgICAgKGVsKSA9PiBlbC5sb2NhbE5hbWUgPT09ICdzYmItY2Fyb3VzZWwtbGlzdCcsXG4gICAgKSBhcyBTYmJDYXJvdXNlbExpc3RFbGVtZW50O1xuICAgIGlmICghcGFnaW5hdG9yIHx8ICFsaXN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGl0ZW1zID0gbGlzdC5xdWVyeVNlbGVjdG9yQWxsPFNiYkNhcm91c2VsSXRlbUVsZW1lbnQ+KCdzYmItY2Fyb3VzZWwtaXRlbScpO1xuICAgIGlmIChpdGVtcyAmJiBpdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICBwYWdpbmF0b3IubGVuZ3RoID0gaXRlbXMubGVuZ3RoO1xuICAgICAgcGFnaW5hdG9yLnBhZ2VTaXplID0gMTtcbiAgICB9XG4gICAgcGFnaW5hdG9yLmFjY2Vzc2liaWxpdHlOZXh0UGFnZUxhYmVsIHx8PSBpMThuTmV4dFNsaWRlW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdO1xuICAgIHBhZ2luYXRvci5hY2Nlc3NpYmlsaXR5UHJldmlvdXNQYWdlTGFiZWwgfHw9IGkxOG5QcmV2aW91c1NsaWRlW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdO1xuICAgIHBhZ2luYXRvci5hY2Nlc3NpYmlsaXR5UGFnZUxhYmVsIHx8PSBpMThuU2xpZGVbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF07XG5cbiAgICBpZiAocGFnaW5hdG9yICE9PSB0aGlzLl9wYWdpbmF0b3IpIHtcbiAgICAgIHRoaXMuX2Fib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICAgIHBhZ2luYXRvci5hZGRFdmVudExpc3RlbmVyKCdwYWdlJywgKGUpID0+IHRoaXMuX3Njcm9sbEF0UGFnZUNoYW5nZShlKSwge1xuICAgICAgICBzaWduYWw6IHRoaXMuX2Fib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuX3BhZ2luYXRvciA9IHBhZ2luYXRvcjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zY3JvbGxBdFBhZ2VDaGFuZ2UoZTogQ3VzdG9tRXZlbnQ8U2JiUGFnaW5hdG9yUGFnZUV2ZW50RGV0YWlscz4pOiB2b2lkIHtcbiAgICB0aGlzLl9yZXF1ZXN0ZWRQYWdlSW5kZXhCeVBhZ2luYXRvciA9IGUuZGV0YWlsLnBhZ2VJbmRleDtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5xdWVyeVNlbGVjdG9yPFNiYkNhcm91c2VsTGlzdEVsZW1lbnQ+KCdzYmItY2Fyb3VzZWwtbGlzdCcpO1xuXG4gICAgaWYgKGxpc3QpIHtcbiAgICAgIGNvbnN0IGl0ZW1zID0gbGlzdC5xdWVyeVNlbGVjdG9yQWxsPFNiYkNhcm91c2VsSXRlbUVsZW1lbnQ+KCdzYmItY2Fyb3VzZWwtaXRlbScpO1xuXG4gICAgICAvLyBBcyB0aGUgb2Zmc2V0TGVmdCBpcyBhbHdheXMgcmVuZGVyZWQgZnJvbSB0aGUgdmlld3BvcnQgYm91bmRhcmllcywgd2UgbmVlZCB0byBzdWJ0cmFjdCB0aGUgb2Zmc2V0TGVmdFxuICAgICAgLy8gZnJvbSB0aGUgY2Fyb3VzZWwgdG8gZ2V0IHRoZSBvZmZzZXQgaW5zaWRlIHRoZSBzY3JvbGwgYXJlYS5cbiAgICAgIGNvbnN0IG9mZnNldExlZnQgPSBpdGVtc1tlLmRldGFpbC5wYWdlSW5kZXhdLm9mZnNldExlZnQgLSB0aGlzLm9mZnNldExlZnQ7XG5cbiAgICAgIC8vIFByZXZlbnRzIHJlZHVuZGFudCBzY3JvbGxpbmcgd2hlbiB0aGUgcGFnaW5hdG9yIHVwZGF0ZXMgYWZ0ZXIgYSBzY3JvbGwgZXZlbnRcbiAgICAgIC8vIGJ5IGNoZWNraW5nIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBjdXJyZW50IGFuZCB0YXJnZXQgc2Nyb2xsIHBvc2l0aW9ucy5cbiAgICAgIC8vIChzaG93IGV2ZW50IGlzIHRyaWdnZXJlZCBzbGlnaHRseSBiZWZvcmUgZnVsbHkgc2Nyb2xsZWQpLlxuICAgICAgaWYgKGxpc3QuY2xpZW50V2lkdGggPD0gMTAwIHx8IE1hdGguYWJzKGxpc3Quc2Nyb2xsTGVmdCAtIG9mZnNldExlZnQpID4gNTApIHtcbiAgICAgICAgbGlzdC5zY3JvbGxUbyh7IGxlZnQ6IG9mZnNldExlZnQgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWNhcm91c2VsXCI+XG4gICAgICAgIDxzYmItc2NyZWVuLXJlYWRlci1vbmx5IGlkPVwic2JiLWNhcm91c2VsLWFycm93cy1uYXZpZ2F0aW9uLWhpbnRcIlxuICAgICAgICAgID4ke2kxOG5DYXJvdXNlbEFycm93c05hdmlnYXRpb25IaW50W3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfTwvc2JiLXNjcmVlbi1yZWFkZXItb25seVxuICAgICAgICA+XG4gICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNhcm91c2VsJzogU2JiQ2Fyb3VzZWxFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWdDTSxzQkFBa0IsTUFBQTs7MEJBRHZCLGNBQWMsY0FBYyxDQUFDOzs7O29CQUNHLHlCQUF5QixVQUFVOzs7O0FBQTNDLEVBQUEsbUJBQVEsWUFBb0M7QUFBQSxJQWVuRSxjQUFBO0FBQ0UsWUFBQTtBQVJGO0FBQWdCLHlCQUFBLDBCQUFBLGtCQUFBLE1BQUEsc0JBQWtCLEtBQUs7QUFFL0IsV0FBQSxjQUFVLGtC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
|
|
174
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdAbGl0L3JlYWN0aXZlLWVsZW1lbnQnO1xuaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy9sYW5ndWFnZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQge1xuICBpMThuQ2Fyb3VzZWxBcnJvd3NOYXZpZ2F0aW9uSGludCxcbiAgaTE4bk5leHRTbGlkZSxcbiAgaTE4blByZXZpb3VzU2xpZGUsXG4gIGkxOG5TbGlkZSxcbn0gZnJvbSAnLi4vLi4vY29yZS9pMThuL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiRWxlbWVudEludGVybmFsc01peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJDb21wYWN0UGFnaW5hdG9yRWxlbWVudCB9IGZyb20gJy4uLy4uL3BhZ2luYXRvci9jb21wYWN0LXBhZ2luYXRvci9jb21wYWN0LXBhZ2luYXRvci5jb21wb25lbnQuanMnO1xuaW1wb3J0IHR5cGUge1xuICBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50LFxuICBTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbCxcbn0gZnJvbSAnLi4vY2Fyb3VzZWwtaXRlbS9jYXJvdXNlbC1pdGVtLmNvbXBvbmVudC5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkNhcm91c2VsTGlzdEVsZW1lbnQgfSBmcm9tICcuLi9jYXJvdXNlbC1saXN0L2Nhcm91c2VsLWxpc3QuY29tcG9uZW50LmpzJztcblxuaW1wb3J0ICcuLi8uLi9zY3JlZW4tcmVhZGVyLW9ubHkuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9jYXJvdXNlbC5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgY2Fyb3VzZWwgY29tcG9uZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIHRoZSBgc2JiLWNhcm91c2VsLWxpc3RgIGZvciBjb250ZW50IGFuZCBhIGBzYmItcGFnaW5hdG9yYCBmb3IgY29udHJvbHMuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1jYXJvdXNlbCcpXG5jbGFzcyBTYmJDYXJvdXNlbEVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKipcbiAgICogVXNlZCB0byBkaXNwbGF5IGEgYm94LXNoYWRvdyBhcm91bmQgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzaGFkb3c6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9wYWdpbmF0b3I6IFNiYkNvbXBhY3RQYWdpbmF0b3JFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2Fib3J0Q29udHJvbGxlcjogQWJvcnRDb250cm9sbGVyIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfcmVxdWVzdGVkUGFnZUluZGV4QnlQYWdpbmF0b3IgPSAtMTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIC8vIElmIHRoZSBsaXN0IGlzIHNjcm9sbGVkIHVzaW5nIG1vdXNlL2tleWJvYXJkLCBpdCBrZWVwcyB0aGUgcGFnaW5hdG9yIHVwZGF0ZWQuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3Nob3cnLCAoZTogQ3VzdG9tRXZlbnQ8U2JiQ2Fyb3VzZWxJdGVtRXZlbnREZXRhaWw+KSA9PiB7XG4gICAgICAvLyBXZSBoYXZlIHRvIGdpdmUgcHJpb3JpdHkgdG8gdGhlIHBhZ2luYXRvciBmb3IgdGhlIGNhc2UsXG4gICAgICAvLyBpZiBkdXJpbmcgYW4gYW5pbWF0aW9uIHRoZSBuZXh0IHBhZ2UgaXMgY2FsbGVkIGZyb20gdGhlIHBhZ2luYXRvciwgdGhlIHBhZ2luYXRvciBpcyByZXNldC5cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5fcmVxdWVzdGVkUGFnZUluZGV4QnlQYWdpbmF0b3IgIT09IC0xICYmXG4gICAgICAgIHRoaXMuX3JlcXVlc3RlZFBhZ2VJbmRleEJ5UGFnaW5hdG9yICE9PSBlLmRldGFpbC5pbmRleFxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLl9wYWdpbmF0b3IpIHtcbiAgICAgICAgaWYgKGUuZGV0YWlsLmluZGV4ICE9PSB0aGlzLl9wYWdpbmF0b3IucGFnZUluZGV4KSB7XG4gICAgICAgICAgdGhpcy5fcGFnaW5hdG9yLnBhZ2VJbmRleCA9IGUuZGV0YWlsLmluZGV4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLl9yZXF1ZXN0ZWRQYWdlSW5kZXhCeVBhZ2luYXRvciA9IC0xO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICB0aGlzLmludGVybmFscy5yb2xlID0gJ3JlZ2lvbic7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gJ2Nhcm91c2VsJztcblxuICAgIHRoaXMuX3NldHVwUGFnaW5hdG9yKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKF9jaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXMpOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoX2NoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFEZXNjcmliZWRCeUVsZW1lbnRzID0gW1xuICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcjc2JiLWNhcm91c2VsLWFycm93cy1uYXZpZ2F0aW9uLWhpbnQnKSEsXG4gICAgXTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX2Fib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgcGFnaW5hdG9yOiBTYmJDb21wYWN0UGFnaW5hdG9yRWxlbWVudCA9IEFycmF5LmZyb20odGhpcy5jaGlsZHJlbikuZmluZChcbiAgICAgIChlbCkgPT4gZWwubG9jYWxOYW1lID09PSAnc2JiLWNvbXBhY3QtcGFnaW5hdG9yJyxcbiAgICApIGFzIFNiYkNvbXBhY3RQYWdpbmF0b3JFbGVtZW50O1xuICAgIGNvbnN0IGxpc3Q6IFNiYkNhcm91c2VsTGlzdEVsZW1lbnQgPSBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4pLmZpbmQoXG4gICAgICAoZWwpID0+IGVsLmxvY2FsTmFtZSA9PT0gJ3NiYi1jYXJvdXNlbC1saXN0JyxcbiAgICApIGFzIFNiYkNhcm91c2VsTGlzdEVsZW1lbnQ7XG4gICAgaWYgKCFwYWdpbmF0b3IgfHwgIWxpc3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaXRlbXMgPSBsaXN0LnF1ZXJ5U2VsZWN0b3JBbGw8U2JiQ2Fyb3VzZWxJdGVtRWxlbWVudD4oJ3NiYi1jYXJvdXNlbC1pdGVtJyk7XG4gICAgaWYgKGl0ZW1zICYmIGl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHBhZ2luYXRvci5sZW5ndGggPSBpdGVtcy5sZW5ndGg7XG4gICAgICBwYWdpbmF0b3IucGFnZVNpemUgPSAxO1xuICAgIH1cbiAgICBwYWdpbmF0b3IuYWNjZXNzaWJpbGl0eU5leHRQYWdlTGFiZWwgfHw9IGkxOG5OZXh0U2xpZGVbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF07XG4gICAgcGFnaW5hdG9yLmFjY2Vzc2liaWxpdHlQcmV2aW91c1BhZ2VMYWJlbCB8fD0gaTE4blByZXZpb3VzU2xpZGVbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF07XG4gICAgcGFnaW5hdG9yLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWwgfHw9IGkxOG5TbGlkZVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XTtcblxuICAgIGlmIChwYWdpbmF0b3IgIT09IHRoaXMuX3BhZ2luYXRvcikge1xuICAgICAgdGhpcy5fcGFnaW5hdG9yID0gcGFnaW5hdG9yO1xuICAgICAgdGhpcy5fc2V0dXBQYWdpbmF0b3IoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXR1cFBhZ2luYXRvcigpOiB2b2lkIHtcbiAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG5cbiAgICBpZiAoIXRoaXMuX3BhZ2luYXRvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgICAvLyBCeSBsaXN0ZW5pbmcgdG8gdGhlIGNsaWNrIGV2ZW50IG9uIHRoZSBwYWdpbmF0b3IsIHdlIGNhbiBlbnN1cmUgdGhhdCB0aGUgY2hhbmdlIHdhcyB1c2VyIHRyaWdnZXJlZC5cbiAgICAvLyBJZiB3ZSBpbnN0ZWFkIHVzZSB0aGUgcGFnZSBldmVudCwgd2Ugd291bGQgYWxzbyBjYXRjaCBwcm9ncmFtbWF0aWMgY2hhbmdlcyB0byB0aGUgcGFnaW5hdG9yXG4gICAgLy8gd2hpY2ggY2FuIGNhdXNlIGEgbG9vcCBhbmQgd3JvbmcgdGltaW5nIGFzIHdlIGFsc28gbGlzdGVuIHRvIHRoZSBzaG93IGV2ZW50LlxuICAgIHRoaXMuX3BhZ2luYXRvci5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMuX3Njcm9sbEF0UGFnaW5hdG9yQ2hhbmdlKCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fYWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3Njcm9sbEF0UGFnaW5hdG9yQ2hhbmdlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fcGFnaW5hdG9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3JlcXVlc3RlZFBhZ2VJbmRleEJ5UGFnaW5hdG9yID0gdGhpcy5fcGFnaW5hdG9yLnBhZ2VJbmRleDtcblxuICAgIGNvbnN0IGxpc3QgPSB0aGlzLnF1ZXJ5U2VsZWN0b3I8U2JiQ2Fyb3VzZWxMaXN0RWxlbWVudD4oJ3NiYi1jYXJvdXNlbC1saXN0Jyk7XG5cbiAgICBpZiAobGlzdCkge1xuICAgICAgY29uc3QgaXRlbXMgPSBsaXN0LnF1ZXJ5U2VsZWN0b3JBbGw8U2JiQ2Fyb3VzZWxJdGVtRWxlbWVudD4oJ3NiYi1jYXJvdXNlbC1pdGVtJyk7XG5cbiAgICAgIC8vIEFzIHRoZSBvZmZzZXRMZWZ0IGlzIGFsd2F5cyByZW5kZXJlZCBmcm9tIHRoZSB2aWV3cG9ydCBib3VuZGFyaWVzLCB3ZSBuZWVkIHRvIHN1YnRyYWN0IHRoZSBvZmZzZXRMZWZ0XG4gICAgICAvLyBmcm9tIHRoZSBjYXJvdXNlbCB0byBnZXQgdGhlIG9mZnNldCBpbnNpZGUgdGhlIHNjcm9sbCBhcmVhLlxuICAgICAgY29uc3Qgb2Zmc2V0TGVmdCA9IGl0ZW1zW3RoaXMuX3BhZ2luYXRvci5wYWdlSW5kZXhdLm9mZnNldExlZnQgLSB0aGlzLm9mZnNldExlZnQ7XG5cbiAgICAgIC8vIFByZXZlbnRzIHJlZHVuZGFudCBzY3JvbGxpbmcgd2hlbiB0aGUgcGFnaW5hdG9yIHVwZGF0ZXMgYWZ0ZXIgYSBzY3JvbGwgZXZlbnRcbiAgICAgIC8vIGJ5IGNoZWNraW5nIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBjdXJyZW50IGFuZCB0YXJnZXQgc2Nyb2xsIHBvc2l0aW9ucy5cbiAgICAgIC8vIChzaG93IGV2ZW50IGlzIHRyaWdnZXJlZCBzbGlnaHRseSBiZWZvcmUgZnVsbHkgc2Nyb2xsZWQpLlxuICAgICAgaWYgKGxpc3QuY2xpZW50V2lkdGggPD0gMTAwIHx8IE1hdGguYWJzKGxpc3Quc2Nyb2xsTGVmdCAtIG9mZnNldExlZnQpID4gNTApIHtcbiAgICAgICAgbGlzdC5zY3JvbGxUbyh7IGxlZnQ6IG9mZnNldExlZnQgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWNhcm91c2VsXCI+XG4gICAgICAgIDxzYmItc2NyZWVuLXJlYWRlci1vbmx5IGlkPVwic2JiLWNhcm91c2VsLWFycm93cy1uYXZpZ2F0aW9uLWhpbnRcIlxuICAgICAgICAgID4ke2kxOG5DYXJvdXNlbEFycm93c05hdmlnYXRpb25IaW50W3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfTwvc2JiLXNjcmVlbi1yZWFkZXItb25seVxuICAgICAgICA+XG4gICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNhcm91c2VsJzogU2JiQ2Fyb3VzZWxFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWdDTSxzQkFBa0IsTUFBQTs7MEJBRHZCLGNBQWMsY0FBYyxDQUFDOzs7O29CQUNHLHlCQUF5QixVQUFVOzs7O0FBQTNDLEVBQUEsbUJBQVEsWUFBb0M7QUFBQSxJQWVuRSxjQUFBO0FBQ0UsWUFBQTtBQVJGO0FBQWdCLHlCQUFBLDBCQUFBLGtCQUFBLE1BQUEsc0JBQWtCLEtBQUs7QUFFL0IsV0FBQSxjQUFVLGtCQUFBLE1BQUEseUJBQUEsR0FBc0M7QUFDaEQsV0FBQSxtQkFBMkM7QUFDM0MsV0FBQSxZQUFZLElBQUksc0JBQXNCLElBQUk7QUFDMUMsV0FBQSxpQ0FBaUM7QUFNdkMsV0FBSyxtQkFBbUIsUUFBUSxDQUFDLE1BQThDO0FBRzdFLFlBQ0UsS0FBSyxtQ0FBbUMsTUFDeEMsS0FBSyxtQ0FBbUMsRUFBRSxPQUFPLE9BQ2pEO0FBQ0E7QUFBQSxRQUNGO0FBQ0EsWUFBSSxLQUFLLFlBQVk7QUFDbkIsY0FBSSxFQUFFLE9BQU8sVUFBVSxLQUFLLFdBQVcsV0FBVztBQUNoRCxpQkFBSyxXQUFXLFlBQVksRUFBRSxPQUFPO0FBQUEsVUFDdkM7QUFBQSxRQUNGO0FBQ0EsYUFBSyxpQ0FBaUM7QUFBQSxNQUN4QyxDQUFDO0FBQUEsSUFDSDtBQUFBO0FBQUE7QUFBQTtBQUFBLElBM0JBLElBQWdCLFNBQU07QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQXRCLElBQWdCLE9BQU0sT0FBQTtBQUFBLHlCQUFBLDBC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
|
|
@@ -12,7 +12,7 @@ export declare class SbbCarouselListElement extends SbbCarouselListElement_base
|
|
|
12
12
|
private _observedCarouselItems;
|
|
13
13
|
private _beforeShowObserver;
|
|
14
14
|
private _showObserver;
|
|
15
|
-
private
|
|
15
|
+
private _resizeObserverController;
|
|
16
16
|
constructor();
|
|
17
17
|
/** Gets the slotted items. */
|
|
18
18
|
private _carouselItems;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carousel-list.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/carousel/carousel-list/carousel-list.component.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"carousel-list.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/carousel/carousel-list/carousel-list.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAQ,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;;AAcjF;;;;GAIG;AACH,qBAEM,sBAAuB,SAAQ,2BAAoC;IACvE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,sBAAsB,CAAgC;IAE9D,OAAO,CAAC,mBAAmB,CAgBxB;IAEH,OAAO,CAAC,aAAa,CAwBlB;IAEH,OAAO,CAAC,yBAAyB,CAG9B;;IAQH,8BAA8B;IAC9B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,iBAAiB;IAoBzB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,UAAU;IAwBF,iBAAiB,IAAI,IAAI;cAOtB,MAAM,IAAI,cAAc;CAG5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,mBAAmB,EAAE,sBAAsB,CAAC;KAC7C;CACF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
2
|
import { IntersectionController } from "@lit-labs/observers/intersection-controller.js";
|
|
3
|
-
import {
|
|
3
|
+
import { ResizeController } from "@lit-labs/observers/resize-controller.js";
|
|
4
|
+
import { css, LitElement, html } from "lit";
|
|
4
5
|
import { customElement } from "lit/decorators.js";
|
|
5
6
|
import { isArrowKeyPressed } from "../../core/a11y.js";
|
|
6
7
|
import { SbbLanguageController } from "../../core/controllers.js";
|
|
@@ -88,18 +89,9 @@ let SbbCarouselListElement = (() => {
|
|
|
88
89
|
},
|
|
89
90
|
config: { threshold: 0.99, root: this, rootMargin: "100% 0% 100% 0%" }
|
|
90
91
|
});
|
|
91
|
-
this.
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
if (entry.intersectionRatio > 0) {
|
|
95
|
-
this._readDimensions();
|
|
96
|
-
this._firstVisibleIntersectionController.unobserve(this);
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
},
|
|
100
|
-
config: {
|
|
101
|
-
root: !isServer ? document?.documentElement : null
|
|
102
|
-
}
|
|
92
|
+
this._resizeObserverController = new ResizeController(this, {
|
|
93
|
+
skipInitial: true,
|
|
94
|
+
callback: () => this._readDimensions()
|
|
103
95
|
});
|
|
104
96
|
this.addEventListener?.("keydown", (e) => this._onKeyDown(e));
|
|
105
97
|
}
|
|
@@ -139,6 +131,7 @@ let SbbCarouselListElement = (() => {
|
|
|
139
131
|
this._showObserver.observe(item);
|
|
140
132
|
});
|
|
141
133
|
this._observedCarouselItems = carouselItems;
|
|
134
|
+
this._resizeObserverController.unobserve(this);
|
|
142
135
|
}
|
|
143
136
|
}
|
|
144
137
|
_onKeyDown(evt) {
|
|
@@ -180,4 +173,4 @@ let SbbCarouselListElement = (() => {
|
|
|
180
173
|
export {
|
|
181
174
|
SbbCarouselListElement
|
|
182
175
|
};
|
|
183
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJvdXNlbC9jYXJvdXNlbC1saXN0L2Nhcm91c2VsLWxpc3QuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVyc2VjdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL2ludGVyc2VjdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIGlzU2VydmVyLCBMaXRFbGVtZW50LCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgaTE4bkNhcm91c2VsSXRlbUFyaWFMYWJlbCB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7XG4gIFNiYkNhcm91c2VsSXRlbUVsZW1lbnQsXG4gIFNiYkNhcm91c2VsSXRlbUV2ZW50RGV0YWlsLFxufSBmcm9tICcuLi9jYXJvdXNlbC1pdGVtL2Nhcm91c2VsLWl0ZW0uY29tcG9uZW50LmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vY2Fyb3VzZWwtbGlzdC5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgbGlzdCBvZiBgc2JiLWNhcm91c2VsLWl0ZW1gIGNvbXBvbmVudHMuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1jYXJvdXNlbC1pdGVtYCBlbGVtZW50cy5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWNhcm91c2VsLWxpc3QnKVxuY2xhc3MgU2JiQ2Fyb3VzZWxMaXN0RWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIHByaXZhdGUgX2N1cnJlbnRJbmRleCA9IDA7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfb2JzZXJ2ZWRDYXJvdXNlbEl0ZW1zOiBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50W10gPSBbXTtcblxuICBwcml2YXRlIF9iZWZvcmVTaG93T2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoZW50cnkpID0+IHtcbiAgICAgIGNvbnN0IGl0ZW0gPSBlbnRyeS5maWx0ZXIoKGUpID0+IGUuaXNJbnRlcnNlY3RpbmcgJiYgZS50YXJnZXQgIT09IHRoaXMpO1xuICAgICAgaXRlbS5mb3JFYWNoKChlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIFNiYkNhcm91c2VsSXRlbUVsZW1lbnQ7XG4gICAgICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgIG5ldyBDdXN0b21FdmVudDxTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbD4oJ2JlZm9yZXNob3cnLCB7XG4gICAgICAgICAgICBkZXRhaWw6IHsgaW5kZXg6IHRoaXMuX2Nhcm91c2VsSXRlbXMoKS5maW5kSW5kZXgoKGUpID0+IGUgPT09IHRhcmdldCkgfSxcbiAgICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgICBjb21wb3NlZDogdHJ1ZSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgY29uZmlnOiB7IHRocmVzaG9sZDogMC4wMSwgcm9vdDogdGhpcywgcm9vdE1hcmdpbjogJzEwMCUgMCUgMTAwJSAwJScgfSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfc2hvd09ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBjYWxsYmFjazogKGVudHJ5QXJyKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJ5QXJyKSB7XG4gICAgICAgIGlmIChlbnRyeS50YXJnZXQgPT09IHRoaXMpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0YXJnZXQgPSBlbnRyeS50YXJnZXQgYXMgU2JiQ2Fyb3VzZWxJdGVtRWxlbWVudDtcbiAgICAgICAgaWYgKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSB7XG4gICAgICAgICAgdGFyZ2V0LmFyaWFIaWRkZW4gPSBudWxsO1xuICAgICAgICAgIHRoaXMuX2N1cnJlbnRJbmRleCA9IHRoaXMuX2Nhcm91c2VsSXRlbXMoKS5maW5kSW5kZXgoKGVsKSA9PiBlbCA9PT0gdGFyZ2V0KTtcbiAgICAgICAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudDxTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbD4oJ3Nob3cnLCB7XG4gICAgICAgICAgICAgIGRldGFpbDogeyBpbmRleDogdGhpcy5fY3VycmVudEluZGV4IH0sXG4gICAgICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0YXJnZXQuYXJpYUhpZGRlbiA9ICd0cnVlJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgY29uZmlnOiB7IHRocmVzaG9sZDogMC45OSwgcm9vdDogdGhpcywgcm9vdE1hcmdpbjogJzEwMCUgMCUgMTAwJSAwJScgfSxcbiAgfSk7XG5cbiAgLy8gT2JzZXJ2ZXIgdG8gcmVhZCB0aGUgZGltZW5zaW9ucyBvZiB0aGUgZmlyc3QgaXRlbSB3aGVuIGl0IGJlY29tZXMgdmlzaWJsZS5cbiAgcHJpdmF0ZSBfZmlyc3RWaXNpYmxlSW50ZXJzZWN0aW9uQ29udHJvbGxlciA9IG5ldyBJbnRlcnNlY3Rpb25Db250cm9sbGVyKHRoaXMsIHtcbiAgICBjYWxsYmFjazogKGVudHJpZXMpID0+IHtcbiAgICAgIGVudHJpZXMuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgICAgaWYgKGVudHJ5LmludGVyc2VjdGlvblJhdGlvID4gMCkge1xuICAgICAgICAgIHRoaXMuX3JlYWREaW1lbnNpb25zKCk7XG4gICAgICAgICAgdGhpcy5fZmlyc3RWaXNpYmxlSW50ZXJzZWN0aW9uQ29udHJvbGxlci51bm9ic2VydmUodGhpcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0sXG4gICAgY29uZmlnOiB7XG4gICAgICByb290OiAhaXNTZXJ2ZXIgPyBkb2N1bWVudD8uZG9jdW1lbnRFbGVtZW50IDogbnVsbCxcbiAgICB9LFxuICB9KTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX29uS2V5RG93bihlKSk7XG4gIH1cblxuICAvKiogR2V0cyB0aGUgc2xvdHRlZCBpdGVtcy4gKi9cbiAgcHJpdmF0ZSBfY2Fyb3VzZWxJdGVtcygpOiBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItY2Fyb3VzZWwtaXRlbScpID8/IFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgLy8gSW4gY2FzZSBvZiByZW1vdmVkIGNhcm91c2VsIGl0ZW1zLCB3ZSBuZWVkIHRvIHVub2JzZXJ2ZSB0aGUgY3VycmVudCBvYnNlcnZlcnMuXG4gICAgdGhpcy5fb2JzZXJ2ZWRDYXJvdXNlbEl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIHRoaXMuX2JlZm9yZVNob3dPYnNlcnZlci51bm9ic2VydmUoaXRlbSk7XG4gICAgICB0aGlzLl9zaG93T2JzZXJ2ZXIudW5vYnNlcnZlKGl0ZW0pO1xuICAgIH0pO1xuXG4gICAgY29uc3QgY2Fyb3VzZWxJdGVtcyA9IHRoaXMuX2Nhcm91c2VsSXRlbXMoKTtcblxuICAgIC8vIFNldCB0aGUgYXJpYS1sYWJlbCBpZiBub3QgcHJvdmlkZWRcbiAgICBjYXJvdXNlbEl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICBpdGVtLmFyaWFMYWJlbCB8fD0gaTE4bkNhcm91c2VsSXRlbUFyaWFMYWJlbChpbmRleCArIDEsIGNhcm91c2VsSXRlbXMubGVuZ3RoKVtcbiAgICAgICAgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudFxuICAgICAgXTtcbiAgICAgIGl0ZW0uYXJpYUhpZGRlbiA9IGluZGV4ID09PSB0aGlzLl9jdXJyZW50SW5kZXggPyBudWxsIDogJ3RydWUnO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fcmVhZERpbWVuc2lvbnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFkcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgZmlyc3QgY2Fyb3VzZWwgaXRlbSBhbmQgc2V0cyB0aGUgQ1NTIHByb3BlcnRpZXMgYWNjb3JkaW5nbHkuXG4gICAqIFNob3VsZCBzZXQgdGhlIGRpbWVuc2lvbnMgb25seSBvbmNlLCB3aGVuIHRoZSBmaXJzdCBpdGVtIGJlY29tZXMgdmlzaWJsZSBhbmQgaWYgdGhlIHZhbHVlIGlzIG5vbi16ZXJvLlxuICAgKi9cbiAgcHJpdmF0ZSBfcmVhZERpbWVuc2lvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgY2Fyb3VzZWxJdGVtcyA9IHRoaXMuX2Nhcm91c2VsSXRlbXMoKTtcbiAgICBpZiAoY2Fyb3VzZWxJdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdEl0ZW0gPSBjYXJvdXNlbEl0ZW1zWzBdO1xuXG4gICAgaWYgKGZpcnN0SXRlbS5jbGllbnRIZWlnaHQgPiAwKSB7XG4gICAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1jYXJvdXNlbC1saXN0LWhlaWdodCcsIGAke2ZpcnN0SXRlbS5jbGllbnRIZWlnaHR9cHhgKTtcbiAgICB9XG5cbiAgICBpZiAoZmlyc3RJdGVtLmNsaWVudFdpZHRoID4gMCkge1xuICAgICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItY2Fyb3VzZWwtbGlzdC13aWR0aCcsIGAke2ZpcnN0SXRlbS5jbGllbnRXaWR0aH1weGApO1xuXG4gICAgICAvLyBXZSBzaG91bGQgb25seSBvYnNlcnZlIHRoZSBpdGVtcyBpZiB0aGV5IGhhdmUgYSBub24temVybyB3aWR0aC4gT3RoZXJ3aXNlLCBhbiB1bndhbnRlZCBzY3JvbGxpbmcgY2FuIGhhcHBlbi5cbiAgICAgIGNhcm91c2VsSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICB0aGlzLl9iZWZvcmVTaG93T2JzZXJ2ZXIub2JzZXJ2ZShpdGVtKTtcbiAgICAgICAgdGhpcy5fc2hvd09ic2VydmVyLm9ic2VydmUoaXRlbSk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuX29ic2VydmVkQ2Fyb3VzZWxJdGVtcyA9IGNhcm91c2VsSXRlbXM7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25LZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGxldCBuZXdJbmRleCA9IHRoaXMuX2N1cnJlbnRJbmRleDtcbiAgICBjb25zdCBpc1ByZXYgPSBldnQua2V5ID09PSAnQXJyb3dVcCcgfHwgZXZ0LmtleSA9PT0gJ0Fycm93TGVmdCc7XG4gICAgY29uc3QgaXNOZXh0ID0gZXZ0LmtleSA9PT0gJ0Fycm93RG93bicgfHwgZXZ0LmtleSA9PT0gJ0Fycm93UmlnaHQnO1xuXG4gICAgaWYgKGlzUHJldikge1xuICAgICAgbmV3SW5kZXggPSBNYXRoLm1heCgwLCB0aGlzLl9jdXJyZW50SW5kZXggLSAxKTtcbiAgICB9IGVsc2UgaWYgKGlzTmV4dCkge1xuICAgICAgbmV3SW5kZXggPSBNYXRoLm1pbih0aGlzLl9jYXJvdXNlbEl0ZW1zKCkubGVuZ3RoIC0gMSwgdGhpcy5fY3VycmVudEluZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgaWYgKG5ld0luZGV4ICE9PSB0aGlzLl9jdXJyZW50SW5kZXgpIHtcbiAgICAgIHRoaXMuX2N1cnJlbnRJbmRleCA9IG5ld0luZGV4O1xuICAgICAgdGhpcy5zY3JvbGxUbyh7XG4gICAgICAgIGxlZnQ6IHRoaXMuX2Nhcm91c2VsSXRlbXMoKVt0aGlzLl9jdXJyZW50SW5kZXhdLm9mZnNldExlZnQgLSB0aGlzLm9mZnNldExlZnQsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMaXZlID0gJ3BvbGl0ZSc7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUF0b21pYyA9ICd0cnVlJztcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jYXJvdXNlbC1saXN0JzogU2JiQ2Fyb3VzZWxMaXN0RWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXNCTSwwQkFBc0IsTUFBQTs7MEJBRDNCLGNBQWMsbUJBQW1CLENBQUM7Ozs7b0JBQ0UseUJBQXlCLFVBQVU7QUFBM0MsRUFBQSxtQkFBUSxZQUFvQztBQUFBLElBa0V2RSxjQUFBO0FBQ0UsWUFBQTtBQWhFTSxXQUFBLGdCQUFnQjtBQUNoQixXQUFBLFlBQVksSUFBSSxzQkFBc0IsSUFBSTtBQUMxQyxXQUFBLHlCQUFtRCxDQUFBO0FBRW5ELFdBQUEsc0JBQXNCLElBQUksdUJBQXVCLE1BQU07QUFBQSxRQUM3RCxRQUFRO0FBQUEsUUFDUixVQUFVLENBQUMsVUFBUztBQUNsQixnQkFBTSxPQUFPLE1BQU0sT0FBTyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLElBQUk7QUFDdEUsZUFBSyxRQUFRLENBQUMsTUFBSztBQUNqQixrQkFBTSxTQUFTLEVBQUU7QUFDakIsbUJBQU8sY0FDTCxJQUFJLFlBQXdDLGNBQWM7QUFBQSxjQUN4RCxRQUFRLEVBQUUsT0FBTyxLQUFLLGVBQUEsRUFBaUIsVUFBVSxDQUFDQSxPQUFNQSxPQUFNLE1BQU0sRUFBQTtBQUFBLGNBQ3BFLFNBQVM7QUFBQSxjQUNULFVBQVU7QUFBQSxZQUFBLENBQ1gsQ0FBQztBQUFBLFVBRU4sQ0FBQztBQUFBLFFBQ0g7QUFBQSxRQUNBLFFBQVEsRUFBRSxXQUFXLE1BQU0sTUFBTSxNQUFNLFlBQVks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
|
|
176
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJvdXNlbC9jYXJvdXNlbC1saXN0L2Nhcm91c2VsLWxpc3QuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVyc2VjdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL2ludGVyc2VjdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIExpdEVsZW1lbnQsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBpMThuQ2Fyb3VzZWxJdGVtQXJpYUxhYmVsIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgU2JiQ2Fyb3VzZWxJdGVtRWxlbWVudCxcbiAgU2JiQ2Fyb3VzZWxJdGVtRXZlbnREZXRhaWwsXG59IGZyb20gJy4uL2Nhcm91c2VsLWl0ZW0vY2Fyb3VzZWwtaXRlbS5jb21wb25lbnQuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9jYXJvdXNlbC1saXN0LnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBsaXN0IG9mIGBzYmItY2Fyb3VzZWwtaXRlbWAgY29tcG9uZW50cy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLWNhcm91c2VsLWl0ZW1gIGVsZW1lbnRzLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItY2Fyb3VzZWwtbGlzdCcpXG5jbGFzcyBTYmJDYXJvdXNlbExpc3RFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudEludGVybmFsc01peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgcHJpdmF0ZSBfY3VycmVudEluZGV4ID0gMDtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9vYnNlcnZlZENhcm91c2VsSXRlbXM6IFNiYkNhcm91c2VsSXRlbUVsZW1lbnRbXSA9IFtdO1xuXG4gIHByaXZhdGUgX2JlZm9yZVNob3dPYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25Db250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgY2FsbGJhY2s6IChlbnRyeSkgPT4ge1xuICAgICAgY29uc3QgaXRlbSA9IGVudHJ5LmZpbHRlcigoZSkgPT4gZS5pc0ludGVyc2VjdGluZyAmJiBlLnRhcmdldCAhPT0gdGhpcyk7XG4gICAgICBpdGVtLmZvckVhY2goKGUpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQgYXMgU2JiQ2Fyb3VzZWxJdGVtRWxlbWVudDtcbiAgICAgICAgdGFyZ2V0LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYkNhcm91c2VsSXRlbUV2ZW50RGV0YWlsPignYmVmb3Jlc2hvdycsIHtcbiAgICAgICAgICAgIGRldGFpbDogeyBpbmRleDogdGhpcy5fY2Fyb3VzZWxJdGVtcygpLmZpbmRJbmRleCgoZSkgPT4gZSA9PT0gdGFyZ2V0KSB9LFxuICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBjb25maWc6IHsgdGhyZXNob2xkOiAwLjAxLCByb290OiB0aGlzLCByb290TWFyZ2luOiAnMTAwJSAwJSAxMDAlIDAlJyB9LFxuICB9KTtcblxuICBwcml2YXRlIF9zaG93T2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoZW50cnlBcnIpID0+IHtcbiAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cnlBcnIpIHtcbiAgICAgICAgaWYgKGVudHJ5LnRhcmdldCA9PT0gdGhpcykge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGVudHJ5LnRhcmdldCBhcyBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50O1xuICAgICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHtcbiAgICAgICAgICB0YXJnZXQuYXJpYUhpZGRlbiA9IG51bGw7XG4gICAgICAgICAgdGhpcy5fY3VycmVudEluZGV4ID0gdGhpcy5fY2Fyb3VzZWxJdGVtcygpLmZpbmRJbmRleCgoZWwpID0+IGVsID09PSB0YXJnZXQpO1xuICAgICAgICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYkNhcm91c2VsSXRlbUV2ZW50RGV0YWlsPignc2hvdycsIHtcbiAgICAgICAgICAgICAgZGV0YWlsOiB7IGluZGV4OiB0aGlzLl9jdXJyZW50SW5kZXggfSxcbiAgICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhcmdldC5hcmlhSGlkZGVuID0gJ3RydWUnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBjb25maWc6IHsgdGhyZXNob2xkOiAwLjk5LCByb290OiB0aGlzLCByb290TWFyZ2luOiAnMTAwJSAwJSAxMDAlIDAlJyB9LFxuICB9KTtcblxuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlckNvbnRyb2xsZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX3JlYWREaW1lbnNpb25zKCksXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5fb25LZXlEb3duKGUpKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBzbG90dGVkIGl0ZW1zLiAqL1xuICBwcml2YXRlIF9jYXJvdXNlbEl0ZW1zKCk6IFNiYkNhcm91c2VsSXRlbUVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1jYXJvdXNlbC1pdGVtJykgPz8gW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlU2xvdGNoYW5nZSgpOiB2b2lkIHtcbiAgICAvLyBJbiBjYXNlIG9mIHJlbW92ZWQgY2Fyb3VzZWwgaXRlbXMsIHdlIG5lZWQgdG8gdW5vYnNlcnZlIHRoZSBjdXJyZW50IG9ic2VydmVycy5cbiAgICB0aGlzLl9vYnNlcnZlZENhcm91c2VsSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgdGhpcy5fYmVmb3JlU2hvd09ic2VydmVyLnVub2JzZXJ2ZShpdGVtKTtcbiAgICAgIHRoaXMuX3Nob3dPYnNlcnZlci51bm9ic2VydmUoaXRlbSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBjYXJvdXNlbEl0ZW1zID0gdGhpcy5fY2Fyb3VzZWxJdGVtcygpO1xuXG4gICAgLy8gU2V0IHRoZSBhcmlhLWxhYmVsIGlmIG5vdCBwcm92aWRlZFxuICAgIGNhcm91c2VsSXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGl0ZW0uYXJpYUxhYmVsIHx8PSBpMThuQ2Fyb3VzZWxJdGVtQXJpYUxhYmVsKGluZGV4ICsgMSwgY2Fyb3VzZWxJdGVtcy5sZW5ndGgpW1xuICAgICAgICB0aGlzLl9sYW5ndWFnZS5jdXJyZW50XG4gICAgICBdO1xuICAgICAgaXRlbS5hcmlhSGlkZGVuID0gaW5kZXggPT09IHRoaXMuX2N1cnJlbnRJbmRleCA/IG51bGwgOiAndHJ1ZSc7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9yZWFkRGltZW5zaW9ucygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBmaXJzdCBjYXJvdXNlbCBpdGVtIGFuZCBzZXRzIHRoZSBDU1MgcHJvcGVydGllcyBhY2NvcmRpbmdseS5cbiAgICogU2hvdWxkIHNldCB0aGUgZGltZW5zaW9ucyBvbmx5IG9uY2UsIHdoZW4gdGhlIGZpcnN0IGl0ZW0gYmVjb21lcyB2aXNpYmxlIGFuZCBpZiB0aGUgdmFsdWUgaXMgbm9uLXplcm8uXG4gICAqL1xuICBwcml2YXRlIF9yZWFkRGltZW5zaW9ucygpOiB2b2lkIHtcbiAgICBjb25zdCBjYXJvdXNlbEl0ZW1zID0gdGhpcy5fY2Fyb3VzZWxJdGVtcygpO1xuICAgIGlmIChjYXJvdXNlbEl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0SXRlbSA9IGNhcm91c2VsSXRlbXNbMF07XG5cbiAgICBpZiAoZmlyc3RJdGVtLmNsaWVudEhlaWdodCA+IDApIHtcbiAgICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLWNhcm91c2VsLWxpc3QtaGVpZ2h0JywgYCR7Zmlyc3RJdGVtLmNsaWVudEhlaWdodH1weGApO1xuICAgIH1cblxuICAgIGlmIChmaXJzdEl0ZW0uY2xpZW50V2lkdGggPiAwKSB7XG4gICAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1jYXJvdXNlbC1saXN0LXdpZHRoJywgYCR7Zmlyc3RJdGVtLmNsaWVudFdpZHRofXB4YCk7XG5cbiAgICAgIC8vIFdlIHNob3VsZCBvbmx5IG9ic2VydmUgdGhlIGl0ZW1zIGlmIHRoZXkgaGF2ZSBhIG5vbi16ZXJvIHdpZHRoLiBPdGhlcndpc2UsIGFuIHVud2FudGVkIHNjcm9sbGluZyBjYW4gaGFwcGVuLlxuICAgICAgY2Fyb3VzZWxJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIHRoaXMuX2JlZm9yZVNob3dPYnNlcnZlci5vYnNlcnZlKGl0ZW0pO1xuICAgICAgICB0aGlzLl9zaG93T2JzZXJ2ZXIub2JzZXJ2ZShpdGVtKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5fb2JzZXJ2ZWRDYXJvdXNlbEl0ZW1zID0gY2Fyb3VzZWxJdGVtcztcbiAgICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyQ29udHJvbGxlci51bm9ic2VydmUodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25LZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGxldCBuZXdJbmRleCA9IHRoaXMuX2N1cnJlbnRJbmRleDtcbiAgICBjb25zdCBpc1ByZXYgPSBldnQua2V5ID09PSAnQXJyb3dVcCcgfHwgZXZ0LmtleSA9PT0gJ0Fycm93TGVmdCc7XG4gICAgY29uc3QgaXNOZXh0ID0gZXZ0LmtleSA9PT0gJ0Fycm93RG93bicgfHwgZXZ0LmtleSA9PT0gJ0Fycm93UmlnaHQnO1xuXG4gICAgaWYgKGlzUHJldikge1xuICAgICAgbmV3SW5kZXggPSBNYXRoLm1heCgwLCB0aGlzLl9jdXJyZW50SW5kZXggLSAxKTtcbiAgICB9IGVsc2UgaWYgKGlzTmV4dCkge1xuICAgICAgbmV3SW5kZXggPSBNYXRoLm1pbih0aGlzLl9jYXJvdXNlbEl0ZW1zKCkubGVuZ3RoIC0gMSwgdGhpcy5fY3VycmVudEluZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgaWYgKG5ld0luZGV4ICE9PSB0aGlzLl9jdXJyZW50SW5kZXgpIHtcbiAgICAgIHRoaXMuX2N1cnJlbnRJbmRleCA9IG5ld0luZGV4O1xuICAgICAgdGhpcy5zY3JvbGxUbyh7XG4gICAgICAgIGxlZnQ6IHRoaXMuX2Nhcm91c2VsSXRlbXMoKVt0aGlzLl9jdXJyZW50SW5kZXhdLm9mZnNldExlZnQgLSB0aGlzLm9mZnNldExlZnQsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMaXZlID0gJ3BvbGl0ZSc7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUF0b21pYyA9ICd0cnVlJztcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jYXJvdXNlbC1saXN0JzogU2JiQ2Fyb3VzZWxMaXN0RWxlbWVudDtcbiAgfVxufVxuIl0s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
|