@lynx-js/web-elements-canary 0.9.0-canary-20251205-6400f87b → 0.9.1-canary-20251223-71b9083d
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/CHANGELOG.md +16 -2
- package/dist/ScrollView/FadeEdgeLengthAttribute.d.ts +2 -0
- package/dist/ScrollView/FadeEdgeLengthAttribute.js +15 -16
- package/dist/ScrollView/ScrollAttributes.d.ts +2 -0
- package/dist/ScrollView/ScrollAttributes.js +52 -54
- package/dist/ScrollView/ScrollViewEvents.d.ts +6 -0
- package/dist/ScrollView/ScrollViewEvents.js +41 -41
- package/dist/XAudioTT/XAudioAttribute.d.ts +3 -0
- package/dist/XAudioTT/XAudioAttribute.js +57 -60
- package/dist/XFoldViewNg/XFoldviewNgEvents.d.ts +2 -0
- package/dist/XFoldViewNg/XFoldviewNgEvents.js +23 -25
- package/dist/XFoldViewNg/XFoldviewSlotNgTouchEventsHandler.js +0 -1
- package/dist/XImage/DropShadow.d.ts +1 -0
- package/dist/XImage/DropShadow.js +7 -7
- package/dist/XImage/ImageEvents.d.ts +2 -0
- package/dist/XImage/ImageEvents.js +27 -29
- package/dist/XImage/ImageSrc.d.ts +5 -0
- package/dist/XImage/ImageSrc.js +35 -36
- package/dist/XInput/InputBaseAttributes.d.ts +5 -0
- package/dist/XInput/InputBaseAttributes.js +56 -58
- package/dist/XInput/Placeholder.d.ts +5 -0
- package/dist/XInput/Placeholder.js +31 -31
- package/dist/XInput/XInputAttribute.d.ts +3 -0
- package/dist/XInput/XInputAttribute.js +31 -32
- package/dist/XInput/XInputEvents.d.ts +3 -0
- package/dist/XInput/XInputEvents.js +34 -37
- package/dist/XList/ListItemAttributes.d.ts +1 -0
- package/dist/XList/ListItemAttributes.js +8 -9
- package/dist/XList/XListAttributes.d.ts +2 -0
- package/dist/XList/XListAttributes.js +13 -13
- package/dist/XList/XListEvents.d.ts +7 -0
- package/dist/XList/XListEvents.js +76 -78
- package/dist/XList/XListWaterfall.d.ts +2 -0
- package/dist/XList/XListWaterfall.js +66 -68
- package/dist/XOverlayNg/XOverlayAttributes.d.ts +2 -0
- package/dist/XOverlayNg/XOverlayAttributes.js +32 -34
- package/dist/XRefreshView/XRefreshViewEventsEmitter.d.ts +2 -0
- package/dist/XRefreshView/XRefreshViewEventsEmitter.js +34 -37
- package/dist/XSvg/XSvg.d.ts +3 -0
- package/dist/XSvg/XSvg.js +42 -45
- package/dist/XSwiper/XSwiperAutoScroll.d.ts +2 -0
- package/dist/XSwiper/XSwiperAutoScroll.js +23 -25
- package/dist/XSwiper/XSwiperCircular.d.ts +2 -0
- package/dist/XSwiper/XSwiperCircular.js +23 -25
- package/dist/XSwiper/XSwiperEvents.d.ts +2 -0
- package/dist/XSwiper/XSwiperEvents.js +19 -20
- package/dist/XSwiper/XSwiperIndicator.d.ts +5 -0
- package/dist/XSwiper/XSwiperIndicator.js +31 -31
- package/dist/XText/InlineImage.d.ts +1 -0
- package/dist/XText/InlineImage.js +10 -11
- package/dist/XText/RawText.d.ts +1 -0
- package/dist/XText/RawText.js +11 -12
- package/dist/XText/XTextTruncation.d.ts +2 -0
- package/dist/XText/XTextTruncation.js +29 -31
- package/dist/XTextarea/Placeholder.d.ts +5 -0
- package/dist/XTextarea/Placeholder.js +31 -31
- package/dist/XTextarea/TextareaBaseAttributes.d.ts +5 -0
- package/dist/XTextarea/TextareaBaseAttributes.js +31 -31
- package/dist/XTextarea/XTextareaAttributes.d.ts +5 -0
- package/dist/XTextarea/XTextareaAttributes.js +43 -45
- package/dist/XTextarea/XTextareaEvents.d.ts +3 -0
- package/dist/XTextarea/XTextareaEvents.js +34 -37
- package/dist/XView/BlurRadius.d.ts +1 -0
- package/dist/XView/BlurRadius.js +14 -15
- package/dist/XViewpagerNg/XViewpagerNgEvents.d.ts +2 -0
- package/dist/XViewpagerNg/XViewpagerNgEvents.js +15 -17
- package/dist/common/CommonEventsAndMethods.d.ts +1 -0
- package/dist/common/CommonEventsAndMethods.js +5 -1
- package/elements.css +18 -0
- package/index.css +1 -14
- package/package.json +21 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
# @lynx-js/web-elements
|
|
2
2
|
|
|
3
|
-
## 0.9.
|
|
3
|
+
## 0.9.1-canary-20251223075424-71b9083d7c117666ae815e62ced38709c3d207e6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- refactor: change code structure for improved readability and maintainability ([#2004](https://github.com/lynx-family/lynx-stack/pull/2004))
|
|
8
|
+
|
|
9
|
+
- enable noUnusedLocals for web-elements
|
|
10
|
+
- add source field for supporting @rsbuild/plugin-source-build
|
|
11
|
+
|
|
12
|
+
This is a part of #1937
|
|
13
|
+
|
|
14
|
+
- Updated dependencies []:
|
|
15
|
+
- @lynx-js/web-elements-template@0.9.1-canary-20251223075424-71b9083d7c117666ae815e62ced38709c3d207e6
|
|
16
|
+
|
|
17
|
+
## 0.9.0
|
|
4
18
|
|
|
5
19
|
### Minor Changes
|
|
6
20
|
|
|
@@ -11,7 +25,7 @@
|
|
|
11
25
|
- fix: x-input display should add !important to avoid override ([#1960](https://github.com/lynx-family/lynx-stack/pull/1960))
|
|
12
26
|
|
|
13
27
|
- Updated dependencies []:
|
|
14
|
-
- @lynx-js/web-elements-template@0.9.0
|
|
28
|
+
- @lynx-js/web-elements-template@0.9.0
|
|
15
29
|
|
|
16
30
|
## 0.8.11
|
|
17
31
|
|
|
@@ -5,6 +5,8 @@ export declare class FadeEdgeLengthAttribute implements InstanceType<AttributeRe
|
|
|
5
5
|
static observedAttributes: string[];
|
|
6
6
|
static observedCSSProperties: string[];
|
|
7
7
|
constructor(dom: ScrollView);
|
|
8
|
+
_handleFadingEdgeLength: (this: void, newVal: string | null) => void;
|
|
9
|
+
_backgroundColorToVariable(backGroundColor: string | null): void;
|
|
8
10
|
connectedCallback?(): void;
|
|
9
11
|
dispose(): void;
|
|
10
12
|
}
|
|
@@ -1,27 +1,23 @@
|
|
|
1
|
-
import { __esDecorate, __runInitializers, __setFunctionName } from "tslib";
|
|
2
1
|
/*
|
|
3
2
|
// Copyright 2024 The Lynx Authors. All rights reserved.
|
|
4
3
|
// Licensed under the Apache License Version 2.0 that can be found in the
|
|
5
4
|
// LICENSE file in the root directory of this source tree.
|
|
6
5
|
*/
|
|
6
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
7
7
|
import { bindToStyle, genDomGetter, registerAttributeHandler, registerStyleChangeHandler, } from '@lynx-js/web-elements-reactive';
|
|
8
8
|
let FadeEdgeLengthAttribute = (() => {
|
|
9
9
|
let _instanceExtraInitializers = [];
|
|
10
|
-
let
|
|
11
|
-
let
|
|
12
|
-
let
|
|
13
|
-
let
|
|
14
|
-
let _private_backgroundColorToVariable_descriptor;
|
|
10
|
+
let __handleFadingEdgeLength_decorators;
|
|
11
|
+
let __handleFadingEdgeLength_initializers = [];
|
|
12
|
+
let __handleFadingEdgeLength_extraInitializers = [];
|
|
13
|
+
let __backgroundColorToVariable_decorators;
|
|
15
14
|
return class FadeEdgeLengthAttribute {
|
|
16
15
|
static {
|
|
17
16
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
__esDecorate(this,
|
|
21
|
-
|
|
22
|
-
this.#getBotFadeMask().style.setProperty('--scroll-view-bg-color', backGroundColor);
|
|
23
|
-
}, "#backgroundColorToVariable") }, _private_backgroundColorToVariable_decorators, { kind: "method", name: "#backgroundColorToVariable", static: false, private: true, access: { has: obj => #backgroundColorToVariable in obj, get: obj => obj.#backgroundColorToVariable }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
24
|
-
__esDecorate(null, null, _private_handleFadingEdgeLength_decorators, { kind: "field", name: "#handleFadingEdgeLength", static: false, private: true, access: { has: obj => #handleFadingEdgeLength in obj, get: obj => obj.#handleFadingEdgeLength, set: (obj, value) => { obj.#handleFadingEdgeLength = value; } }, metadata: _metadata }, _private_handleFadingEdgeLength_initializers, _private_handleFadingEdgeLength_extraInitializers);
|
|
17
|
+
__handleFadingEdgeLength_decorators = [registerAttributeHandler('fading-edge-length', true)];
|
|
18
|
+
__backgroundColorToVariable_decorators = [registerStyleChangeHandler('background'), registerStyleChangeHandler('background-color')];
|
|
19
|
+
__esDecorate(this, null, __backgroundColorToVariable_decorators, { kind: "method", name: "_backgroundColorToVariable", static: false, private: false, access: { has: obj => "_backgroundColorToVariable" in obj, get: obj => obj._backgroundColorToVariable }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
20
|
+
__esDecorate(null, null, __handleFadingEdgeLength_decorators, { kind: "field", name: "_handleFadingEdgeLength", static: false, private: false, access: { has: obj => "_handleFadingEdgeLength" in obj, get: obj => obj._handleFadingEdgeLength, set: (obj, value) => { obj._handleFadingEdgeLength = value; } }, metadata: _metadata }, __handleFadingEdgeLength_initializers, __handleFadingEdgeLength_extraInitializers);
|
|
25
21
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
26
22
|
}
|
|
27
23
|
#dom = __runInitializers(this, _instanceExtraInitializers);
|
|
@@ -30,11 +26,14 @@ let FadeEdgeLengthAttribute = (() => {
|
|
|
30
26
|
static observedAttributes = ['fading-edge-length'];
|
|
31
27
|
static observedCSSProperties = ['background', 'background-color'];
|
|
32
28
|
constructor(dom) {
|
|
33
|
-
__runInitializers(this,
|
|
29
|
+
__runInitializers(this, __handleFadingEdgeLength_extraInitializers);
|
|
34
30
|
this.#dom = dom;
|
|
35
31
|
}
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
_handleFadingEdgeLength = __runInitializers(this, __handleFadingEdgeLength_initializers, bindToStyle(() => this.#dom, '--scroll-view-fading-edge-length', (v) => `${parseFloat(v)}px`));
|
|
33
|
+
_backgroundColorToVariable(backGroundColor) {
|
|
34
|
+
this.#getTopFadeMask().style.setProperty('--scroll-view-bg-color', backGroundColor);
|
|
35
|
+
this.#getBotFadeMask().style.setProperty('--scroll-view-bg-color', backGroundColor);
|
|
36
|
+
}
|
|
38
37
|
connectedCallback() { }
|
|
39
38
|
dispose() { }
|
|
40
39
|
};
|
|
@@ -4,5 +4,7 @@ export declare class ScrollAttributes implements InstanceType<AttributeReactiveC
|
|
|
4
4
|
#private;
|
|
5
5
|
static observedAttributes: string[];
|
|
6
6
|
constructor(dom: ScrollView);
|
|
7
|
+
_handleInitialScrollOffset(newVal: string | null, _: string | null, attributeName: string): void;
|
|
8
|
+
_handleInitialScrollIndex(newVal: string | null): void;
|
|
7
9
|
dispose(): void;
|
|
8
10
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __esDecorate, __runInitializers
|
|
1
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
2
|
/*
|
|
3
3
|
// Copyright 2024 The Lynx Authors. All rights reserved.
|
|
4
4
|
// Licensed under the Apache License Version 2.0 that can be found in the
|
|
@@ -7,60 +7,15 @@ import { __esDecorate, __runInitializers, __setFunctionName } from "tslib";
|
|
|
7
7
|
import { registerAttributeHandler, } from '@lynx-js/web-elements-reactive';
|
|
8
8
|
let ScrollAttributes = (() => {
|
|
9
9
|
let _instanceExtraInitializers = [];
|
|
10
|
-
let
|
|
11
|
-
let
|
|
12
|
-
let _private_handleInitialScrollIndex_decorators;
|
|
13
|
-
let _private_handleInitialScrollIndex_descriptor;
|
|
10
|
+
let __handleInitialScrollOffset_decorators;
|
|
11
|
+
let __handleInitialScrollIndex_decorators;
|
|
14
12
|
return class ScrollAttributes {
|
|
15
13
|
static {
|
|
16
14
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
__esDecorate(this,
|
|
20
|
-
|
|
21
|
-
const scrollValue = parseFloat(newVal);
|
|
22
|
-
const scrollOrientation = this.#dom.getAttribute('scroll-orientation');
|
|
23
|
-
const scrollY = this.#dom.getAttribute('scroll-y');
|
|
24
|
-
const scrollX = this.#dom.getAttribute('scroll-x');
|
|
25
|
-
const topScrollDistance = (attributeName === 'scroll-top'
|
|
26
|
-
|| attributeName === 'initial-scroll-offset')
|
|
27
|
-
&& (scrollY === ''
|
|
28
|
-
|| scrollY === 'true'
|
|
29
|
-
|| scrollOrientation === 'vertical'
|
|
30
|
-
|| scrollOrientation === 'both');
|
|
31
|
-
const leftScrollDistance = (attributeName === 'scroll-left'
|
|
32
|
-
|| attributeName === 'initial-scroll-offset')
|
|
33
|
-
&& (scrollX === ''
|
|
34
|
-
|| scrollX === 'true'
|
|
35
|
-
|| scrollOrientation === 'vertical'
|
|
36
|
-
|| scrollOrientation === 'both');
|
|
37
|
-
requestAnimationFrame(() => {
|
|
38
|
-
if (topScrollDistance) {
|
|
39
|
-
this.#dom.scrollTo(0, scrollValue);
|
|
40
|
-
}
|
|
41
|
-
if (leftScrollDistance) {
|
|
42
|
-
this.#dom.scrollLeft = scrollValue;
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
}, "#handleInitialScrollOffset") }, _private_handleInitialScrollOffset_decorators, { kind: "method", name: "#handleInitialScrollOffset", static: false, private: true, access: { has: obj => #handleInitialScrollOffset in obj, get: obj => obj.#handleInitialScrollOffset }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
47
|
-
__esDecorate(this, _private_handleInitialScrollIndex_descriptor = { value: __setFunctionName(function (newVal) {
|
|
48
|
-
if (newVal) {
|
|
49
|
-
const scrollValue = parseFloat(newVal);
|
|
50
|
-
const childrenElement = this.#dom.children.item(scrollValue);
|
|
51
|
-
if (childrenElement && childrenElement instanceof HTMLElement) {
|
|
52
|
-
const scrollX = this.#dom.getAttribute('scroll-x') !== null;
|
|
53
|
-
requestAnimationFrame(() => {
|
|
54
|
-
if (scrollX) {
|
|
55
|
-
this.#dom.scrollLeft = childrenElement.offsetLeft;
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
this.#dom.scrollTop = childrenElement.offsetTop;
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}, "#handleInitialScrollIndex") }, _private_handleInitialScrollIndex_decorators, { kind: "method", name: "#handleInitialScrollIndex", static: false, private: true, access: { has: obj => #handleInitialScrollIndex in obj, get: obj => obj.#handleInitialScrollIndex }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
15
|
+
__handleInitialScrollOffset_decorators = [registerAttributeHandler('scroll-top', false), registerAttributeHandler('scroll-left', false), registerAttributeHandler('initial-scroll-offset', false)];
|
|
16
|
+
__handleInitialScrollIndex_decorators = [registerAttributeHandler('scroll-to-index', false), registerAttributeHandler('initial-scroll-to-index', false)];
|
|
17
|
+
__esDecorate(this, null, __handleInitialScrollOffset_decorators, { kind: "method", name: "_handleInitialScrollOffset", static: false, private: false, access: { has: obj => "_handleInitialScrollOffset" in obj, get: obj => obj._handleInitialScrollOffset }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
18
|
+
__esDecorate(this, null, __handleInitialScrollIndex_decorators, { kind: "method", name: "_handleInitialScrollIndex", static: false, private: false, access: { has: obj => "_handleInitialScrollIndex" in obj, get: obj => obj._handleInitialScrollIndex }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
64
19
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
65
20
|
}
|
|
66
21
|
#dom = __runInitializers(this, _instanceExtraInitializers);
|
|
@@ -74,8 +29,51 @@ let ScrollAttributes = (() => {
|
|
|
74
29
|
constructor(dom) {
|
|
75
30
|
this.#dom = dom;
|
|
76
31
|
}
|
|
77
|
-
|
|
78
|
-
|
|
32
|
+
_handleInitialScrollOffset(newVal, _, attributeName) {
|
|
33
|
+
if (newVal) {
|
|
34
|
+
const scrollValue = parseFloat(newVal);
|
|
35
|
+
const scrollOrientation = this.#dom.getAttribute('scroll-orientation');
|
|
36
|
+
const scrollY = this.#dom.getAttribute('scroll-y');
|
|
37
|
+
const scrollX = this.#dom.getAttribute('scroll-x');
|
|
38
|
+
const topScrollDistance = (attributeName === 'scroll-top'
|
|
39
|
+
|| attributeName === 'initial-scroll-offset')
|
|
40
|
+
&& (scrollY === ''
|
|
41
|
+
|| scrollY === 'true'
|
|
42
|
+
|| scrollOrientation === 'vertical'
|
|
43
|
+
|| scrollOrientation === 'both');
|
|
44
|
+
const leftScrollDistance = (attributeName === 'scroll-left'
|
|
45
|
+
|| attributeName === 'initial-scroll-offset')
|
|
46
|
+
&& (scrollX === ''
|
|
47
|
+
|| scrollX === 'true'
|
|
48
|
+
|| scrollOrientation === 'vertical'
|
|
49
|
+
|| scrollOrientation === 'both');
|
|
50
|
+
requestAnimationFrame(() => {
|
|
51
|
+
if (topScrollDistance) {
|
|
52
|
+
this.#dom.scrollTo(0, scrollValue);
|
|
53
|
+
}
|
|
54
|
+
if (leftScrollDistance) {
|
|
55
|
+
this.#dom.scrollLeft = scrollValue;
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
_handleInitialScrollIndex(newVal) {
|
|
61
|
+
if (newVal) {
|
|
62
|
+
const scrollValue = parseFloat(newVal);
|
|
63
|
+
const childrenElement = this.#dom.children.item(scrollValue);
|
|
64
|
+
if (childrenElement && childrenElement instanceof HTMLElement) {
|
|
65
|
+
const scrollX = this.#dom.getAttribute('scroll-x') !== null;
|
|
66
|
+
requestAnimationFrame(() => {
|
|
67
|
+
if (scrollX) {
|
|
68
|
+
this.#dom.scrollLeft = childrenElement.offsetLeft;
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
this.#dom.scrollTop = childrenElement.offsetTop;
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
79
77
|
dispose() { }
|
|
80
78
|
};
|
|
81
79
|
})();
|
|
@@ -4,6 +4,12 @@ export declare class ScrollViewEvents implements InstanceType<AttributeReactiveC
|
|
|
4
4
|
#private;
|
|
5
5
|
constructor(dom: ScrollView);
|
|
6
6
|
static observedAttributes: string[];
|
|
7
|
+
_handleScrollUpperThresholdEventEnabled: (enabled: boolean) => void;
|
|
8
|
+
_handleScrollLowerThresholdEventEnabled: (enabled: boolean) => void;
|
|
9
|
+
_updateUpperThreshold: (this: void, newVal: string | null) => void;
|
|
10
|
+
_updateLowerThreshold: (this: void, newVal: string | null) => void;
|
|
11
|
+
_handleScrollEventEnabled: (enabled: boolean) => void;
|
|
12
|
+
_handleScrollEndEventEnabled: (enabled: boolean) => void;
|
|
7
13
|
connectedCallback?(): void;
|
|
8
14
|
dispose(): void;
|
|
9
15
|
}
|
|
@@ -10,39 +10,39 @@ import { bindToIntersectionObserver } from '../common/bindToIntersectionObserver
|
|
|
10
10
|
import { useScrollEnd } from '../common/constants.js';
|
|
11
11
|
import { registerEventEnableStatusChangeHandler } from '@lynx-js/web-elements-reactive';
|
|
12
12
|
let ScrollViewEvents = (() => {
|
|
13
|
-
let
|
|
14
|
-
let
|
|
15
|
-
let
|
|
16
|
-
let
|
|
17
|
-
let
|
|
18
|
-
let
|
|
19
|
-
let
|
|
20
|
-
let
|
|
21
|
-
let
|
|
22
|
-
let
|
|
23
|
-
let
|
|
24
|
-
let
|
|
25
|
-
let
|
|
26
|
-
let
|
|
27
|
-
let
|
|
28
|
-
let
|
|
29
|
-
let
|
|
30
|
-
let
|
|
13
|
+
let __handleScrollUpperThresholdEventEnabled_decorators;
|
|
14
|
+
let __handleScrollUpperThresholdEventEnabled_initializers = [];
|
|
15
|
+
let __handleScrollUpperThresholdEventEnabled_extraInitializers = [];
|
|
16
|
+
let __handleScrollLowerThresholdEventEnabled_decorators;
|
|
17
|
+
let __handleScrollLowerThresholdEventEnabled_initializers = [];
|
|
18
|
+
let __handleScrollLowerThresholdEventEnabled_extraInitializers = [];
|
|
19
|
+
let __updateUpperThreshold_decorators;
|
|
20
|
+
let __updateUpperThreshold_initializers = [];
|
|
21
|
+
let __updateUpperThreshold_extraInitializers = [];
|
|
22
|
+
let __updateLowerThreshold_decorators;
|
|
23
|
+
let __updateLowerThreshold_initializers = [];
|
|
24
|
+
let __updateLowerThreshold_extraInitializers = [];
|
|
25
|
+
let __handleScrollEventEnabled_decorators;
|
|
26
|
+
let __handleScrollEventEnabled_initializers = [];
|
|
27
|
+
let __handleScrollEventEnabled_extraInitializers = [];
|
|
28
|
+
let __handleScrollEndEventEnabled_decorators;
|
|
29
|
+
let __handleScrollEndEventEnabled_initializers = [];
|
|
30
|
+
let __handleScrollEndEventEnabled_extraInitializers = [];
|
|
31
31
|
return class ScrollViewEvents {
|
|
32
32
|
static {
|
|
33
33
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
__esDecorate(null, null,
|
|
41
|
-
__esDecorate(null, null,
|
|
42
|
-
__esDecorate(null, null,
|
|
43
|
-
__esDecorate(null, null,
|
|
44
|
-
__esDecorate(null, null,
|
|
45
|
-
__esDecorate(null, null,
|
|
34
|
+
__handleScrollUpperThresholdEventEnabled_decorators = [registerEventEnableStatusChangeHandler('scrolltoupper')];
|
|
35
|
+
__handleScrollLowerThresholdEventEnabled_decorators = [registerEventEnableStatusChangeHandler('scrolltolower')];
|
|
36
|
+
__updateUpperThreshold_decorators = [registerAttributeHandler('upper-threshold', true)];
|
|
37
|
+
__updateLowerThreshold_decorators = [registerAttributeHandler('lower-threshold', true)];
|
|
38
|
+
__handleScrollEventEnabled_decorators = [registerEventEnableStatusChangeHandler('lynxscroll')];
|
|
39
|
+
__handleScrollEndEventEnabled_decorators = [registerEventEnableStatusChangeHandler('lynxscrollend')];
|
|
40
|
+
__esDecorate(null, null, __handleScrollUpperThresholdEventEnabled_decorators, { kind: "field", name: "_handleScrollUpperThresholdEventEnabled", static: false, private: false, access: { has: obj => "_handleScrollUpperThresholdEventEnabled" in obj, get: obj => obj._handleScrollUpperThresholdEventEnabled, set: (obj, value) => { obj._handleScrollUpperThresholdEventEnabled = value; } }, metadata: _metadata }, __handleScrollUpperThresholdEventEnabled_initializers, __handleScrollUpperThresholdEventEnabled_extraInitializers);
|
|
41
|
+
__esDecorate(null, null, __handleScrollLowerThresholdEventEnabled_decorators, { kind: "field", name: "_handleScrollLowerThresholdEventEnabled", static: false, private: false, access: { has: obj => "_handleScrollLowerThresholdEventEnabled" in obj, get: obj => obj._handleScrollLowerThresholdEventEnabled, set: (obj, value) => { obj._handleScrollLowerThresholdEventEnabled = value; } }, metadata: _metadata }, __handleScrollLowerThresholdEventEnabled_initializers, __handleScrollLowerThresholdEventEnabled_extraInitializers);
|
|
42
|
+
__esDecorate(null, null, __updateUpperThreshold_decorators, { kind: "field", name: "_updateUpperThreshold", static: false, private: false, access: { has: obj => "_updateUpperThreshold" in obj, get: obj => obj._updateUpperThreshold, set: (obj, value) => { obj._updateUpperThreshold = value; } }, metadata: _metadata }, __updateUpperThreshold_initializers, __updateUpperThreshold_extraInitializers);
|
|
43
|
+
__esDecorate(null, null, __updateLowerThreshold_decorators, { kind: "field", name: "_updateLowerThreshold", static: false, private: false, access: { has: obj => "_updateLowerThreshold" in obj, get: obj => obj._updateLowerThreshold, set: (obj, value) => { obj._updateLowerThreshold = value; } }, metadata: _metadata }, __updateLowerThreshold_initializers, __updateLowerThreshold_extraInitializers);
|
|
44
|
+
__esDecorate(null, null, __handleScrollEventEnabled_decorators, { kind: "field", name: "_handleScrollEventEnabled", static: false, private: false, access: { has: obj => "_handleScrollEventEnabled" in obj, get: obj => obj._handleScrollEventEnabled, set: (obj, value) => { obj._handleScrollEventEnabled = value; } }, metadata: _metadata }, __handleScrollEventEnabled_initializers, __handleScrollEventEnabled_extraInitializers);
|
|
45
|
+
__esDecorate(null, null, __handleScrollEndEventEnabled_decorators, { kind: "field", name: "_handleScrollEndEventEnabled", static: false, private: false, access: { has: obj => "_handleScrollEndEventEnabled" in obj, get: obj => obj._handleScrollEndEventEnabled, set: (obj, value) => { obj._handleScrollEndEventEnabled = value; } }, metadata: _metadata }, __handleScrollEndEventEnabled_initializers, __handleScrollEndEventEnabled_extraInitializers);
|
|
46
46
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
47
47
|
}
|
|
48
48
|
#dom;
|
|
@@ -50,7 +50,7 @@ let ScrollViewEvents = (() => {
|
|
|
50
50
|
#prevX = 0;
|
|
51
51
|
#prevY = 0;
|
|
52
52
|
constructor(dom) {
|
|
53
|
-
__runInitializers(this,
|
|
53
|
+
__runInitializers(this, __handleScrollEndEventEnabled_extraInitializers);
|
|
54
54
|
this.#dom = dom;
|
|
55
55
|
}
|
|
56
56
|
#getScrollContainer = () => this.#dom;
|
|
@@ -78,22 +78,22 @@ let ScrollViewEvents = (() => {
|
|
|
78
78
|
'upper-threshold',
|
|
79
79
|
'lower-threshold',
|
|
80
80
|
];
|
|
81
|
-
|
|
81
|
+
_handleScrollUpperThresholdEventEnabled = __runInitializers(this, __handleScrollUpperThresholdEventEnabled_initializers, (enabled) => {
|
|
82
82
|
enabled
|
|
83
83
|
? this.#dom.setAttribute('x-enable-scrolltoupper-event', '')
|
|
84
84
|
: this.#dom.removeAttribute('x-enable-scrolltoupper-event'); // css needs this;
|
|
85
85
|
this.#updateUpperIntersectionObserver(enabled);
|
|
86
86
|
});
|
|
87
|
-
#updateUpperIntersectionObserver = (__runInitializers(this,
|
|
88
|
-
|
|
87
|
+
#updateUpperIntersectionObserver = (__runInitializers(this, __handleScrollUpperThresholdEventEnabled_extraInitializers), bindToIntersectionObserver(this.#getScrollContainer, this.#getUpperThresholdObserverDom, this.#handleObserver));
|
|
88
|
+
_handleScrollLowerThresholdEventEnabled = __runInitializers(this, __handleScrollLowerThresholdEventEnabled_initializers, (enabled) => {
|
|
89
89
|
enabled
|
|
90
90
|
? this.#dom.setAttribute('x-enable-scrolltolower-event', '')
|
|
91
91
|
: this.#dom.removeAttribute('x-enable-scrolltolower-event'); // css needs this;
|
|
92
92
|
this.#updateLowerIntersectionObserver(enabled);
|
|
93
93
|
});
|
|
94
|
-
#updateLowerIntersectionObserver = (__runInitializers(this,
|
|
95
|
-
|
|
96
|
-
|
|
94
|
+
#updateLowerIntersectionObserver = (__runInitializers(this, __handleScrollLowerThresholdEventEnabled_extraInitializers), bindToIntersectionObserver(this.#getScrollContainer, this.#getLowerThresholdObserverDom, this.#handleObserver));
|
|
95
|
+
_updateUpperThreshold = __runInitializers(this, __updateUpperThreshold_initializers, bindToStyle(this.#getUpperThresholdObserverDom, 'flex-basis', (v) => `${parseInt(v)}px`));
|
|
96
|
+
_updateLowerThreshold = (__runInitializers(this, __updateUpperThreshold_extraInitializers), __runInitializers(this, __updateLowerThreshold_initializers, bindToStyle(this.#getLowerThresholdObserverDom, 'flex-basis', (v) => `${parseInt(v)}px`)));
|
|
97
97
|
#getScrollDetail() {
|
|
98
98
|
let { scrollTop, scrollLeft, scrollHeight, scrollWidth } = this
|
|
99
99
|
.#getScrollContainer();
|
|
@@ -116,7 +116,7 @@ let ScrollViewEvents = (() => {
|
|
|
116
116
|
this.#prevY = scrollTop;
|
|
117
117
|
return detail;
|
|
118
118
|
}
|
|
119
|
-
#handleScroll = (__runInitializers(this,
|
|
119
|
+
#handleScroll = (__runInitializers(this, __updateLowerThreshold_extraInitializers), () => {
|
|
120
120
|
if (this.#scrollEndEventEnabled && !useScrollEnd) {
|
|
121
121
|
// debounce
|
|
122
122
|
clearTimeout(this.#debounceScrollForMockingScrollEnd);
|
|
@@ -136,12 +136,12 @@ let ScrollViewEvents = (() => {
|
|
|
136
136
|
}));
|
|
137
137
|
};
|
|
138
138
|
#scrollEventEnabled = false;
|
|
139
|
-
|
|
139
|
+
_handleScrollEventEnabled = __runInitializers(this, __handleScrollEventEnabled_initializers, (enabled) => {
|
|
140
140
|
this.#scrollEventEnabled = enabled;
|
|
141
141
|
this.#handleScrollEventsSwitches();
|
|
142
142
|
});
|
|
143
|
-
#scrollEndEventEnabled = (__runInitializers(this,
|
|
144
|
-
|
|
143
|
+
#scrollEndEventEnabled = (__runInitializers(this, __handleScrollEventEnabled_extraInitializers), false);
|
|
144
|
+
_handleScrollEndEventEnabled = __runInitializers(this, __handleScrollEndEventEnabled_initializers, (enabled) => {
|
|
145
145
|
this.#scrollEndEventEnabled = enabled;
|
|
146
146
|
this.#handleScrollEventsSwitches();
|
|
147
147
|
});
|
|
@@ -3,5 +3,8 @@ import type { XAudioTT } from './XAudioTT.js';
|
|
|
3
3
|
export declare class XAudioAttribute implements InstanceType<AttributeReactiveClass<typeof HTMLElement>> {
|
|
4
4
|
#private;
|
|
5
5
|
static observedAttributes: string[];
|
|
6
|
+
_handleSrc(newValue: string | null): void;
|
|
7
|
+
_handleLoop: (this: void, newVal: string | null) => void;
|
|
8
|
+
_handlePauseOnHide(newValue: string | null): void;
|
|
6
9
|
constructor(dom: XAudioTT);
|
|
7
10
|
}
|
|
@@ -3,69 +3,26 @@
|
|
|
3
3
|
// Licensed under the Apache License Version 2.0 that can be found in the
|
|
4
4
|
// LICENSE file in the root directory of this source tree.
|
|
5
5
|
*/
|
|
6
|
-
import { __esDecorate, __runInitializers
|
|
6
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
7
7
|
import { bindToAttribute, genDomGetter, registerAttributeHandler, } from '@lynx-js/web-elements-reactive';
|
|
8
8
|
import { XAudioErrorCode, xAudioBlob, xAudioSrc } from './utils.js';
|
|
9
9
|
import { commonComponentEventSetting } from '../common/commonEventInitConfiguration.js';
|
|
10
10
|
let XAudioAttribute = (() => {
|
|
11
11
|
let _instanceExtraInitializers = [];
|
|
12
|
-
let
|
|
13
|
-
let
|
|
14
|
-
let
|
|
15
|
-
let
|
|
16
|
-
let
|
|
17
|
-
let _private_handlePauseOnHide_decorators;
|
|
18
|
-
let _private_handlePauseOnHide_descriptor;
|
|
12
|
+
let __handleSrc_decorators;
|
|
13
|
+
let __handleLoop_decorators;
|
|
14
|
+
let __handleLoop_initializers = [];
|
|
15
|
+
let __handleLoop_extraInitializers = [];
|
|
16
|
+
let __handlePauseOnHide_decorators;
|
|
19
17
|
return class XAudioAttribute {
|
|
20
18
|
static {
|
|
21
19
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
__esDecorate(this,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
parsedSrc = JSON.parse(newValue || '') || {};
|
|
29
|
-
}
|
|
30
|
-
catch (error) {
|
|
31
|
-
console.error(`JSON.parse src error: ${error}`);
|
|
32
|
-
parsedSrc = {};
|
|
33
|
-
}
|
|
34
|
-
if (newValue === null) {
|
|
35
|
-
this.#dom.dispatchEvent(new CustomEvent('error', {
|
|
36
|
-
...commonComponentEventSetting,
|
|
37
|
-
detail: {
|
|
38
|
-
code: XAudioErrorCode.SrcError,
|
|
39
|
-
msg: '',
|
|
40
|
-
from: 'res loader',
|
|
41
|
-
currentSrcID: this.#dom[xAudioSrc]?.id,
|
|
42
|
-
},
|
|
43
|
-
}));
|
|
44
|
-
}
|
|
45
|
-
else if (parsedSrc?.id === undefined || parsedSrc?.play_url === undefined) {
|
|
46
|
-
this.#dom.dispatchEvent(new CustomEvent('error', {
|
|
47
|
-
...commonComponentEventSetting,
|
|
48
|
-
detail: {
|
|
49
|
-
code: XAudioErrorCode.SrcJsonError,
|
|
50
|
-
msg: '',
|
|
51
|
-
from: 'res loader',
|
|
52
|
-
currentSrcID: this.#dom[xAudioSrc]?.id,
|
|
53
|
-
},
|
|
54
|
-
}));
|
|
55
|
-
}
|
|
56
|
-
this.#dom[xAudioSrc] = parsedSrc;
|
|
57
|
-
this.#dom[xAudioBlob] = undefined;
|
|
58
|
-
this.#dom.stop();
|
|
59
|
-
}, "#handleSrc") }, _private_handleSrc_decorators, { kind: "method", name: "#handleSrc", static: false, private: true, access: { has: obj => #handleSrc in obj, get: obj => obj.#handleSrc }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
60
|
-
__esDecorate(this, _private_handlePauseOnHide_descriptor = { value: __setFunctionName(function (newValue) {
|
|
61
|
-
if (newValue !== null) {
|
|
62
|
-
document.addEventListener('visibilitychange', this.#documentVisibilitychange, { passive: true });
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
document.removeEventListener('visibilitychange', this.#documentVisibilitychange);
|
|
66
|
-
}
|
|
67
|
-
}, "#handlePauseOnHide") }, _private_handlePauseOnHide_decorators, { kind: "method", name: "#handlePauseOnHide", static: false, private: true, access: { has: obj => #handlePauseOnHide in obj, get: obj => obj.#handlePauseOnHide }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
68
|
-
__esDecorate(null, null, _private_handleLoop_decorators, { kind: "field", name: "#handleLoop", static: false, private: true, access: { has: obj => #handleLoop in obj, get: obj => obj.#handleLoop, set: (obj, value) => { obj.#handleLoop = value; } }, metadata: _metadata }, _private_handleLoop_initializers, _private_handleLoop_extraInitializers);
|
|
20
|
+
__handleSrc_decorators = [registerAttributeHandler('src', true)];
|
|
21
|
+
__handleLoop_decorators = [registerAttributeHandler('loop', true)];
|
|
22
|
+
__handlePauseOnHide_decorators = [registerAttributeHandler('pause-on-hide', true)];
|
|
23
|
+
__esDecorate(this, null, __handleSrc_decorators, { kind: "method", name: "_handleSrc", static: false, private: false, access: { has: obj => "_handleSrc" in obj, get: obj => obj._handleSrc }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
24
|
+
__esDecorate(this, null, __handlePauseOnHide_decorators, { kind: "method", name: "_handlePauseOnHide", static: false, private: false, access: { has: obj => "_handlePauseOnHide" in obj, get: obj => obj._handlePauseOnHide }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
25
|
+
__esDecorate(null, null, __handleLoop_decorators, { kind: "field", name: "_handleLoop", static: false, private: false, access: { has: obj => "_handleLoop" in obj, get: obj => obj._handleLoop, set: (obj, value) => { obj._handleLoop = value; } }, metadata: _metadata }, __handleLoop_initializers, __handleLoop_extraInitializers);
|
|
69
26
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
70
27
|
}
|
|
71
28
|
static observedAttributes = [
|
|
@@ -75,15 +32,55 @@ let XAudioAttribute = (() => {
|
|
|
75
32
|
];
|
|
76
33
|
#dom = __runInitializers(this, _instanceExtraInitializers);
|
|
77
34
|
#getAudioElement = genDomGetter(() => this.#dom.shadowRoot, '#audio');
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
35
|
+
_handleSrc(newValue) {
|
|
36
|
+
let parsedSrc;
|
|
37
|
+
try {
|
|
38
|
+
parsedSrc = JSON.parse(newValue || '') || {};
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
console.error(`JSON.parse src error: ${error}`);
|
|
42
|
+
parsedSrc = {};
|
|
43
|
+
}
|
|
44
|
+
if (newValue === null) {
|
|
45
|
+
this.#dom.dispatchEvent(new CustomEvent('error', {
|
|
46
|
+
...commonComponentEventSetting,
|
|
47
|
+
detail: {
|
|
48
|
+
code: XAudioErrorCode.SrcError,
|
|
49
|
+
msg: '',
|
|
50
|
+
from: 'res loader',
|
|
51
|
+
currentSrcID: this.#dom[xAudioSrc]?.id,
|
|
52
|
+
},
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
else if (parsedSrc?.id === undefined || parsedSrc?.play_url === undefined) {
|
|
56
|
+
this.#dom.dispatchEvent(new CustomEvent('error', {
|
|
57
|
+
...commonComponentEventSetting,
|
|
58
|
+
detail: {
|
|
59
|
+
code: XAudioErrorCode.SrcJsonError,
|
|
60
|
+
msg: '',
|
|
61
|
+
from: 'res loader',
|
|
62
|
+
currentSrcID: this.#dom[xAudioSrc]?.id,
|
|
63
|
+
},
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
this.#dom[xAudioSrc] = parsedSrc;
|
|
67
|
+
this.#dom[xAudioBlob] = undefined;
|
|
68
|
+
this.#dom.stop();
|
|
69
|
+
}
|
|
70
|
+
_handleLoop = __runInitializers(this, __handleLoop_initializers, bindToAttribute(this.#getAudioElement, 'loop'));
|
|
71
|
+
#documentVisibilitychange = (__runInitializers(this, __handleLoop_extraInitializers), () => {
|
|
82
72
|
if (document.visibilityState === 'hidden') {
|
|
83
73
|
this.#dom.pause();
|
|
84
74
|
}
|
|
85
75
|
});
|
|
86
|
-
|
|
76
|
+
_handlePauseOnHide(newValue) {
|
|
77
|
+
if (newValue !== null) {
|
|
78
|
+
document.addEventListener('visibilitychange', this.#documentVisibilitychange, { passive: true });
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
document.removeEventListener('visibilitychange', this.#documentVisibilitychange);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
87
84
|
constructor(dom) {
|
|
88
85
|
this.#dom = dom;
|
|
89
86
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __esDecorate, __runInitializers
|
|
1
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
2
|
/*
|
|
3
3
|
// Copyright 2024 The Lynx Authors. All rights reserved.
|
|
4
4
|
// Licensed under the Apache License Version 2.0 that can be found in the
|
|
@@ -9,31 +9,15 @@ import { commonComponentEventSetting } from '../common/commonEventInitConfigurat
|
|
|
9
9
|
import { scrollableLength } from './XFoldviewNg.js';
|
|
10
10
|
let XFoldviewNgEvents = (() => {
|
|
11
11
|
let _instanceExtraInitializers = [];
|
|
12
|
-
let
|
|
13
|
-
let
|
|
14
|
-
let _private_enableOffsetEvent_decorators;
|
|
15
|
-
let _private_enableOffsetEvent_descriptor;
|
|
12
|
+
let __handleGranularity_decorators;
|
|
13
|
+
let __enableOffsetEvent_decorators;
|
|
16
14
|
return class XFoldviewNgEvents {
|
|
17
15
|
static {
|
|
18
16
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
__esDecorate(this,
|
|
22
|
-
|
|
23
|
-
this.#granularity = parseFloat(newVal);
|
|
24
|
-
else
|
|
25
|
-
this.#granularity = 0.01;
|
|
26
|
-
}, "#handleGranularity") }, _private_handleGranularity_decorators, { kind: "method", name: "#handleGranularity", static: false, private: true, access: { has: obj => #handleGranularity in obj, get: obj => obj.#handleGranularity }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
27
|
-
__esDecorate(this, _private_enableOffsetEvent_descriptor = { value: __setFunctionName(function (enable) {
|
|
28
|
-
if (enable) {
|
|
29
|
-
this.#dom.addEventListener('scroll', this.#handleScroll, {
|
|
30
|
-
passive: true,
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
this.#dom.removeEventListener('scroll', this.#handleScroll);
|
|
35
|
-
}
|
|
36
|
-
}, "#enableOffsetEvent") }, _private_enableOffsetEvent_decorators, { kind: "method", name: "#enableOffsetEvent", static: false, private: true, access: { has: obj => #enableOffsetEvent in obj, get: obj => obj.#enableOffsetEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
17
|
+
__handleGranularity_decorators = [registerAttributeHandler('granularity', true)];
|
|
18
|
+
__enableOffsetEvent_decorators = [registerEventEnableStatusChangeHandler('offset')];
|
|
19
|
+
__esDecorate(this, null, __handleGranularity_decorators, { kind: "method", name: "_handleGranularity", static: false, private: false, access: { has: obj => "_handleGranularity" in obj, get: obj => obj._handleGranularity }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
20
|
+
__esDecorate(this, null, __enableOffsetEvent_decorators, { kind: "method", name: "_enableOffsetEvent", static: false, private: false, access: { has: obj => "_enableOffsetEvent" in obj, get: obj => obj._enableOffsetEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
37
21
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
38
22
|
}
|
|
39
23
|
#dom = __runInitializers(this, _instanceExtraInitializers);
|
|
@@ -43,8 +27,22 @@ let XFoldviewNgEvents = (() => {
|
|
|
43
27
|
this.#dom = dom;
|
|
44
28
|
}
|
|
45
29
|
static observedAttributes = ['granularity'];
|
|
46
|
-
|
|
47
|
-
|
|
30
|
+
_handleGranularity(newVal) {
|
|
31
|
+
if (newVal && newVal !== '')
|
|
32
|
+
this.#granularity = parseFloat(newVal);
|
|
33
|
+
else
|
|
34
|
+
this.#granularity = 0.01;
|
|
35
|
+
}
|
|
36
|
+
_enableOffsetEvent(enable) {
|
|
37
|
+
if (enable) {
|
|
38
|
+
this.#dom.addEventListener('scroll', this.#handleScroll, {
|
|
39
|
+
passive: true,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
this.#dom.removeEventListener('scroll', this.#handleScroll);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
48
46
|
#handleScroll = () => {
|
|
49
47
|
const currentScrollTop = this.#dom.scrollTop;
|
|
50
48
|
const scrollLength = Math.abs(this.#pervScroll - currentScrollTop);
|