@lynx-js/web-elements 0.3.0 → 0.4.0
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 +33 -0
- package/dist/ScrollView/ScrollViewEvents.js +64 -43
- package/dist/XImage/ImageEvents.d.ts +1 -1
- package/dist/XImage/ImageEvents.js +15 -14
- package/dist/XInput/XInputEvents.js +5 -4
- package/dist/XList/XListEvents.js +209 -188
- package/dist/XOverlayNg/XOverlayAttributes.js +7 -2
- package/dist/XRefreshView/XRefreshViewEventsEmitter.d.ts +1 -1
- package/dist/XRefreshView/XRefreshViewEventsEmitter.js +45 -93
- package/dist/XSvg/XSvg.js +0 -2
- package/dist/XSwiper/XSwiperCircular.js +1 -2
- package/dist/XSwiper/XSwiperEvents.d.ts +1 -1
- package/dist/XSwiper/XSwiperEvents.js +18 -20
- package/dist/XSwiper/XSwiperIndicator.js +0 -1
- package/dist/XText/XTextTruncation.js +5 -5
- package/dist/XTextarea/XTextareaEvents.js +5 -4
- package/dist/XViewpagerNg/XViewpagerNgEvents.d.ts +1 -1
- package/dist/XViewpagerNg/XViewpagerNgEvents.js +40 -32
- package/dist/common/Exposure.d.ts +4 -0
- package/dist/common/Exposure.js +14 -5
- package/dist/common/bindToIntersectionObserver.d.ts +1 -1
- package/package.json +2 -6
- package/dist/lazy.d.ts +0 -1
- package/dist/lazy.js +0 -106
|
@@ -4,118 +4,70 @@ import { __esDecorate, __runInitializers, __setFunctionName } from "tslib";
|
|
|
4
4
|
// Licensed under the Apache License Version 2.0 that can be found in the
|
|
5
5
|
// LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
7
|
+
import { genDomGetter, } from '@lynx-js/web-elements-reactive';
|
|
8
8
|
import { XRefreshIntersectionObserverEvent } from './XRefreshSubElementIntersectionObserver.js';
|
|
9
9
|
import { commonComponentEventSetting } from '../common/commonEventInitConfiguration.js';
|
|
10
|
+
import { registerEventEnableStatusChangeHandler } from '@lynx-js/web-elements-reactive';
|
|
10
11
|
let XRefreshViewEventsEmitter = (() => {
|
|
11
12
|
let _instanceExtraInitializers = [];
|
|
13
|
+
let _private_handleComplexEventEnableAttributes_decorators;
|
|
14
|
+
let _private_handleComplexEventEnableAttributes_descriptor;
|
|
12
15
|
let _private_handleXEnableHeaderOffsetEvent_decorators;
|
|
13
16
|
let _private_handleXEnableHeaderOffsetEvent_descriptor;
|
|
14
|
-
let _private_handleXEnableHeaderShowEvent_decorators;
|
|
15
|
-
let _private_handleXEnableHeaderShowEvent_descriptor;
|
|
16
|
-
let _private_handleXEnableFooterOffsetEvent_decorators;
|
|
17
|
-
let _private_handleXEnableFooterOffsetEvent_descriptor;
|
|
18
|
-
let _private_handleXEnableStartRefreshEvent_decorators;
|
|
19
|
-
let _private_handleXEnableStartRefreshEvent_descriptor;
|
|
20
|
-
let _private_handleXEnableHeaderReleasedEvent_decorators;
|
|
21
|
-
let _private_handleXEnableHeaderReleasedEvent_descriptor;
|
|
22
|
-
let _private_handleXEnableStartLoadMoreEvent_decorators;
|
|
23
|
-
let _private_handleXEnableStartLoadMoreEvent_descriptor;
|
|
24
|
-
let _private_handleXEnableFooterReleasedEvent_decorators;
|
|
25
|
-
let _private_handleXEnableFooterReleasedEvent_descriptor;
|
|
26
17
|
return class XRefreshViewEventsEmitter {
|
|
27
18
|
static {
|
|
28
19
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
20
|
+
_private_handleComplexEventEnableAttributes_decorators = [registerEventEnableStatusChangeHandler('headeroffset'), registerEventEnableStatusChangeHandler('headershow'), registerEventEnableStatusChangeHandler('footeroffset')];
|
|
21
|
+
_private_handleXEnableHeaderOffsetEvent_decorators = [registerEventEnableStatusChangeHandler('startrefresh'), registerEventEnableStatusChangeHandler('headerreleased'), registerEventEnableStatusChangeHandler('startloadmore'), registerEventEnableStatusChangeHandler('footerreleased')];
|
|
22
|
+
__esDecorate(this, _private_handleComplexEventEnableAttributes_descriptor = { value: __setFunctionName(function (status, eventName) {
|
|
23
|
+
this
|
|
24
|
+
.#eventSwitches[eventName] = status;
|
|
25
|
+
const { headeroffset, headershow, footeroffset } = this.#eventSwitches;
|
|
26
|
+
if (headeroffset
|
|
27
|
+
|| headershow
|
|
28
|
+
|| footeroffset) {
|
|
29
|
+
this.#enableComplexRefreshViewEvents();
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
this.#disableComplexRefreshViewEvents();
|
|
33
|
+
}
|
|
34
|
+
}, "#handleComplexEventEnableAttributes") }, _private_handleComplexEventEnableAttributes_decorators, { kind: "method", name: "#handleComplexEventEnableAttributes", static: false, private: true, access: { has: obj => #handleComplexEventEnableAttributes in obj, get: obj => obj.#handleComplexEventEnableAttributes }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
35
|
+
__esDecorate(this, _private_handleXEnableHeaderOffsetEvent_descriptor = { value: __setFunctionName(function (status, eventName) {
|
|
36
|
+
this
|
|
37
|
+
.#eventSwitches[eventName] = status;
|
|
38
|
+
const { startrefresh, headerreleased, startloadmore, footerreleased } = this.#eventSwitches;
|
|
39
|
+
if (headerreleased
|
|
40
|
+
|| footerreleased
|
|
41
|
+
|| startloadmore
|
|
42
|
+
|| startrefresh) {
|
|
43
|
+
this.#enableSimpleRefreshViewEvents();
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
this.#disableSimpleRefreshViewEvents();
|
|
47
|
+
}
|
|
39
48
|
}, "#handleXEnableHeaderOffsetEvent") }, _private_handleXEnableHeaderOffsetEvent_decorators, { kind: "method", name: "#handleXEnableHeaderOffsetEvent", static: false, private: true, access: { has: obj => #handleXEnableHeaderOffsetEvent in obj, get: obj => obj.#handleXEnableHeaderOffsetEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
40
|
-
__esDecorate(this, _private_handleXEnableHeaderShowEvent_descriptor = { value: __setFunctionName(function (newVal) {
|
|
41
|
-
this.#enableHeaderShowEvent = newVal !== null;
|
|
42
|
-
this.#handleComplexEventEnableAttributes();
|
|
43
|
-
}, "#handleXEnableHeaderShowEvent") }, _private_handleXEnableHeaderShowEvent_decorators, { kind: "method", name: "#handleXEnableHeaderShowEvent", static: false, private: true, access: { has: obj => #handleXEnableHeaderShowEvent in obj, get: obj => obj.#handleXEnableHeaderShowEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
44
|
-
__esDecorate(this, _private_handleXEnableFooterOffsetEvent_descriptor = { value: __setFunctionName(function (newVal) {
|
|
45
|
-
this.#enableFooterOffsetEvent = newVal !== null;
|
|
46
|
-
this.#handleComplexEventEnableAttributes();
|
|
47
|
-
}, "#handleXEnableFooterOffsetEvent") }, _private_handleXEnableFooterOffsetEvent_decorators, { kind: "method", name: "#handleXEnableFooterOffsetEvent", static: false, private: true, access: { has: obj => #handleXEnableFooterOffsetEvent in obj, get: obj => obj.#handleXEnableFooterOffsetEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
48
|
-
__esDecorate(this, _private_handleXEnableStartRefreshEvent_descriptor = { value: __setFunctionName(function (newVal) {
|
|
49
|
-
this.#enableStartRefreshEvent = newVal !== null;
|
|
50
|
-
this.#handleSimpleEventEnableAttributes();
|
|
51
|
-
}, "#handleXEnableStartRefreshEvent") }, _private_handleXEnableStartRefreshEvent_decorators, { kind: "method", name: "#handleXEnableStartRefreshEvent", static: false, private: true, access: { has: obj => #handleXEnableStartRefreshEvent in obj, get: obj => obj.#handleXEnableStartRefreshEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
52
|
-
__esDecorate(this, _private_handleXEnableHeaderReleasedEvent_descriptor = { value: __setFunctionName(function (newVal) {
|
|
53
|
-
this.#enableHeaderReleasedEvent = newVal !== null;
|
|
54
|
-
this.#handleSimpleEventEnableAttributes();
|
|
55
|
-
}, "#handleXEnableHeaderReleasedEvent") }, _private_handleXEnableHeaderReleasedEvent_decorators, { kind: "method", name: "#handleXEnableHeaderReleasedEvent", static: false, private: true, access: { has: obj => #handleXEnableHeaderReleasedEvent in obj, get: obj => obj.#handleXEnableHeaderReleasedEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
56
|
-
__esDecorate(this, _private_handleXEnableStartLoadMoreEvent_descriptor = { value: __setFunctionName(function (newVal) {
|
|
57
|
-
this.#enableStartLoadMoreEvent = newVal !== null;
|
|
58
|
-
this.#handleSimpleEventEnableAttributes();
|
|
59
|
-
}, "#handleXEnableStartLoadMoreEvent") }, _private_handleXEnableStartLoadMoreEvent_decorators, { kind: "method", name: "#handleXEnableStartLoadMoreEvent", static: false, private: true, access: { has: obj => #handleXEnableStartLoadMoreEvent in obj, get: obj => obj.#handleXEnableStartLoadMoreEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
60
|
-
__esDecorate(this, _private_handleXEnableFooterReleasedEvent_descriptor = { value: __setFunctionName(function (newVal) {
|
|
61
|
-
this.#enableFooterReleasedEvent = newVal !== null;
|
|
62
|
-
this.#handleSimpleEventEnableAttributes();
|
|
63
|
-
}, "#handleXEnableFooterReleasedEvent") }, _private_handleXEnableFooterReleasedEvent_decorators, { kind: "method", name: "#handleXEnableFooterReleasedEvent", static: false, private: true, access: { has: obj => #handleXEnableFooterReleasedEvent in obj, get: obj => obj.#handleXEnableFooterReleasedEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
64
49
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
65
50
|
}
|
|
66
51
|
#dom = __runInitializers(this, _instanceExtraInitializers);
|
|
67
|
-
|
|
68
|
-
#enableHeaderReleasedEvent = false;
|
|
69
|
-
#enableHeaderOffsetEvent = false;
|
|
70
|
-
#enableHeaderShowEvent = false;
|
|
71
|
-
#enableStartLoadMoreEvent = false;
|
|
72
|
-
#enableFooterReleasedEvent = false;
|
|
73
|
-
#enableFooterOffsetEvent = false;
|
|
74
|
-
static observedAttributes = [
|
|
75
|
-
'x-enable-startrefresh-event',
|
|
76
|
-
'x-enable-headerreleased-event',
|
|
77
|
-
'x-enable-headeroffset-event',
|
|
78
|
-
'x-enable-headershow-event',
|
|
79
|
-
'x-enable-startloadmore-event',
|
|
80
|
-
'x-enable-footerreleased-event',
|
|
81
|
-
'x-enable-footeroffset-event',
|
|
82
|
-
];
|
|
52
|
+
static observedAttributes = [];
|
|
83
53
|
#getXRefreshHeader = genDomGetter(() => this.#dom, 'x-refresh-view > x-refresh-header:first-of-type');
|
|
84
54
|
#getXRefreshFooter = genDomGetter(() => this.#dom, 'x-refresh-view > x-refresh-footer:first-of-type');
|
|
85
55
|
constructor(dom) {
|
|
86
56
|
this.#dom = dom;
|
|
87
57
|
this.#dom.addEventListener(XRefreshIntersectionObserverEvent.EventName, this.#handleSubElementObserverEvent);
|
|
88
58
|
}
|
|
59
|
+
#eventSwitches = {
|
|
60
|
+
headeroffset: false,
|
|
61
|
+
headerreleased: false,
|
|
62
|
+
startrefresh: false,
|
|
63
|
+
footeroffset: false,
|
|
64
|
+
headershow: false,
|
|
65
|
+
footerreleased: false,
|
|
66
|
+
startloadmore: false,
|
|
67
|
+
};
|
|
89
68
|
// complex events switches
|
|
69
|
+
get #handleComplexEventEnableAttributes() { return _private_handleComplexEventEnableAttributes_descriptor.value; }
|
|
90
70
|
get #handleXEnableHeaderOffsetEvent() { return _private_handleXEnableHeaderOffsetEvent_descriptor.value; }
|
|
91
|
-
get #handleXEnableHeaderShowEvent() { return _private_handleXEnableHeaderShowEvent_descriptor.value; }
|
|
92
|
-
get #handleXEnableFooterOffsetEvent() { return _private_handleXEnableFooterOffsetEvent_descriptor.value; }
|
|
93
|
-
#handleComplexEventEnableAttributes() {
|
|
94
|
-
if (this.#enableHeaderOffsetEvent
|
|
95
|
-
|| this.#enableHeaderShowEvent
|
|
96
|
-
|| this.#enableFooterOffsetEvent) {
|
|
97
|
-
this.#enableComplexRefreshViewEvents();
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
this.#disableComplexRefreshViewEvents();
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
// simple events switches
|
|
104
|
-
get #handleXEnableStartRefreshEvent() { return _private_handleXEnableStartRefreshEvent_descriptor.value; }
|
|
105
|
-
get #handleXEnableHeaderReleasedEvent() { return _private_handleXEnableHeaderReleasedEvent_descriptor.value; }
|
|
106
|
-
get #handleXEnableStartLoadMoreEvent() { return _private_handleXEnableStartLoadMoreEvent_descriptor.value; }
|
|
107
|
-
get #handleXEnableFooterReleasedEvent() { return _private_handleXEnableFooterReleasedEvent_descriptor.value; }
|
|
108
|
-
#handleSimpleEventEnableAttributes() {
|
|
109
|
-
if (this.#enableHeaderReleasedEvent
|
|
110
|
-
|| this.#enableFooterReleasedEvent
|
|
111
|
-
|| this.#enableStartLoadMoreEvent
|
|
112
|
-
|| this.#enableStartRefreshEvent) {
|
|
113
|
-
this.#enableSimpleRefreshViewEvents();
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
this.#disableSimpleRefreshViewEvents();
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
71
|
/**
|
|
120
72
|
* handle header/footer showing events
|
|
121
73
|
*/
|
|
@@ -188,7 +140,7 @@ let XRefreshViewEventsEmitter = (() => {
|
|
|
188
140
|
};
|
|
189
141
|
#handleScroll = () => {
|
|
190
142
|
if (this.#headerShowing
|
|
191
|
-
&& (this.#
|
|
143
|
+
&& (this.#eventSwitches.headershow || this.#eventSwitches.headeroffset)) {
|
|
192
144
|
const header = this.#getXRefreshHeader();
|
|
193
145
|
if (header) {
|
|
194
146
|
const height = parseFloat(getComputedStyle(header).height);
|
|
@@ -209,7 +161,7 @@ let XRefreshViewEventsEmitter = (() => {
|
|
|
209
161
|
}));
|
|
210
162
|
}
|
|
211
163
|
}
|
|
212
|
-
else if (this.#footerShowing && this.#
|
|
164
|
+
else if (this.#footerShowing && this.#eventSwitches.footeroffset) {
|
|
213
165
|
const footer = this.#getXRefreshFooter();
|
|
214
166
|
if (footer) {
|
|
215
167
|
const contentDom = this.#dom.shadowRoot.querySelector('#container');
|
package/dist/XSvg/XSvg.js
CHANGED
|
@@ -40,8 +40,6 @@ let XSvgFeatures = (() => {
|
|
|
40
40
|
return `url("${src}")`;
|
|
41
41
|
})));
|
|
42
42
|
#fireLoadEvent = (__runInitializers(this, _private_handleContent_extraInitializers), () => {
|
|
43
|
-
if (this.#dom.getAttribute('x-enable-load-event') === null)
|
|
44
|
-
return;
|
|
45
43
|
const { width, height } = this.#loadEventInvoker;
|
|
46
44
|
this.#dom.dispatchEvent(new CustomEvent('load', {
|
|
47
45
|
...commonComponentEventSetting,
|
|
@@ -17,9 +17,8 @@ let XSwiperCircular = (() => {
|
|
|
17
17
|
_private_handleCircular_decorators = [registerAttributeHandler('circular', false)];
|
|
18
18
|
_private_handleVerticalChange_decorators = [registerAttributeHandler('vertical', true)];
|
|
19
19
|
__esDecorate(this, _private_handleCircular_descriptor = { value: __setFunctionName(function (newVal) {
|
|
20
|
-
this.#listeners.forEach((l) => l(newVal));
|
|
20
|
+
this.#listeners.forEach((l) => l(newVal != null));
|
|
21
21
|
if (newVal !== null) {
|
|
22
|
-
this.#dom.setAttribute('x-enable-change-event-for-indicator', '');
|
|
23
22
|
this.#changeEventHandler({
|
|
24
23
|
detail: {
|
|
25
24
|
current: this.#dom.current,
|
|
@@ -2,7 +2,7 @@ import { type AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
|
|
|
2
2
|
import type { XSwiper } from './XSwiper.js';
|
|
3
3
|
export declare class XSwipeEvents implements InstanceType<AttributeReactiveClass<typeof XSwiper>> {
|
|
4
4
|
#private;
|
|
5
|
-
static observedAttributes:
|
|
5
|
+
static observedAttributes: never[];
|
|
6
6
|
constructor(dom: XSwiper);
|
|
7
7
|
connectedCallback(): void;
|
|
8
8
|
}
|
|
@@ -4,9 +4,10 @@ import { __esDecorate, __runInitializers, __setFunctionName } from "tslib";
|
|
|
4
4
|
// Licensed under the Apache License Version 2.0 that can be found in the
|
|
5
5
|
// LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
import { bindSwitchToEventListener, genDomGetter,
|
|
7
|
+
import { bindSwitchToEventListener, genDomGetter, } from '@lynx-js/web-elements-reactive';
|
|
8
8
|
import { commonComponentEventSetting } from '../common/commonEventInitConfiguration.js';
|
|
9
9
|
import { useScrollEnd } from '../common/constants.js';
|
|
10
|
+
import { registerEventEnableStatusChangeHandler } from '@lynx-js/web-elements-reactive';
|
|
10
11
|
let XSwipeEvents = (() => {
|
|
11
12
|
let _instanceExtraInitializers = [];
|
|
12
13
|
let _private_handleEnableTransitionEvent_decorators;
|
|
@@ -17,29 +18,20 @@ let XSwipeEvents = (() => {
|
|
|
17
18
|
return class XSwipeEvents {
|
|
18
19
|
static {
|
|
19
20
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
20
|
-
_private_handleEnableTransitionEvent_decorators = [
|
|
21
|
-
_private_enableScrollEventProcessor_decorators = [
|
|
22
|
-
__esDecorate(this, _private_enableScrollEventProcessor_descriptor = { value: __setFunctionName(function () {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|| enableScrollstartEvent
|
|
30
|
-
|| enableChangeforindicatorEvent;
|
|
31
|
-
this.#listeners.forEach((l) => l(enableEvent ? '' : null));
|
|
21
|
+
_private_handleEnableTransitionEvent_decorators = [registerEventEnableStatusChangeHandler('transition')];
|
|
22
|
+
_private_enableScrollEventProcessor_decorators = [registerEventEnableStatusChangeHandler('scrollstart'), registerEventEnableStatusChangeHandler('lynxscrollend'), registerEventEnableStatusChangeHandler('change'), registerEventEnableStatusChangeHandler('change-event-for-indicator')];
|
|
23
|
+
__esDecorate(this, _private_enableScrollEventProcessor_descriptor = { value: __setFunctionName(function (value, eventName) {
|
|
24
|
+
this
|
|
25
|
+
.#eventSwitches[eventName] = value;
|
|
26
|
+
const { lynxscrollend, scrollstart, change } = this.#eventSwitches;
|
|
27
|
+
const changeEventEnabled = change || lynxscrollend || scrollstart
|
|
28
|
+
|| this.#eventSwitches['change-event-for-indicator'];
|
|
29
|
+
this.#listeners.forEach((l) => l(changeEventEnabled));
|
|
32
30
|
}, "#enableScrollEventProcessor") }, _private_enableScrollEventProcessor_decorators, { kind: "method", name: "#enableScrollEventProcessor", static: false, private: true, access: { has: obj => #enableScrollEventProcessor in obj, get: obj => obj.#enableScrollEventProcessor }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
33
31
|
__esDecorate(null, null, _private_handleEnableTransitionEvent_decorators, { kind: "field", name: "#handleEnableTransitionEvent", static: false, private: true, access: { has: obj => #handleEnableTransitionEvent in obj, get: obj => obj.#handleEnableTransitionEvent, set: (obj, value) => { obj.#handleEnableTransitionEvent = value; } }, metadata: _metadata }, _private_handleEnableTransitionEvent_initializers, _private_handleEnableTransitionEvent_extraInitializers);
|
|
34
32
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
35
33
|
}
|
|
36
|
-
static observedAttributes = [
|
|
37
|
-
'x-enable-scrollstart-event',
|
|
38
|
-
'x-enable-scrollend-event',
|
|
39
|
-
'x-enable-change-event',
|
|
40
|
-
'x-enable-change-event-for-indicator',
|
|
41
|
-
'x-enable-transition-event',
|
|
42
|
-
];
|
|
34
|
+
static observedAttributes = [];
|
|
43
35
|
#dom = __runInitializers(this, _instanceExtraInitializers);
|
|
44
36
|
#current = 0;
|
|
45
37
|
#pervScrollPosition = 0;
|
|
@@ -130,6 +122,12 @@ let XSwipeEvents = (() => {
|
|
|
130
122
|
bindSwitchToEventListener(this.#getContentContainer, 'touchcancel', this.#handleTouchEndAndCancel.bind(this), { passive: true }),
|
|
131
123
|
bindSwitchToEventListener(this.#getContentContainer, 'scrollend', this.#handleScrollEnd.bind(this), { passive: true }),
|
|
132
124
|
]);
|
|
125
|
+
#eventSwitches = {
|
|
126
|
+
scrollstart: false,
|
|
127
|
+
lynxscrollend: false,
|
|
128
|
+
change: false,
|
|
129
|
+
'change-event-for-indicator': false,
|
|
130
|
+
};
|
|
133
131
|
get #enableScrollEventProcessor() { return _private_enableScrollEventProcessor_descriptor.value; }
|
|
134
132
|
connectedCallback() {
|
|
135
133
|
this.#current = parseFloat(this.#dom.getAttribute('current') ?? '0');
|
|
@@ -86,7 +86,6 @@ let XSwiperIndicator = (() => {
|
|
|
86
86
|
subtree: false,
|
|
87
87
|
});
|
|
88
88
|
if (!CSS.supports('timeline-scope', '--a, --b')) {
|
|
89
|
-
this.#dom.setAttribute('x-enable-change-event-for-indicator', '');
|
|
90
89
|
this.#dom.addEventListener('change', (({ detail }) => {
|
|
91
90
|
const currentPage = detail.current;
|
|
92
91
|
const numberOfChildren = this.#dom.childElementCount;
|
|
@@ -6,6 +6,7 @@ import { __esDecorate, __runInitializers, __setFunctionName } from "tslib";
|
|
|
6
6
|
*/
|
|
7
7
|
import { boostedQueueMicrotask, genDomGetter, registerAttributeHandler, } from '@lynx-js/web-elements-reactive';
|
|
8
8
|
import { commonComponentEventSetting } from '../common/commonEventInitConfiguration.js';
|
|
9
|
+
import { registerEventEnableStatusChangeHandler } from '@lynx-js/web-elements-reactive';
|
|
9
10
|
let XTextTruncation = (() => {
|
|
10
11
|
var _a;
|
|
11
12
|
let _instanceExtraInitializers = [];
|
|
@@ -17,7 +18,7 @@ let XTextTruncation = (() => {
|
|
|
17
18
|
static {
|
|
18
19
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
19
20
|
_private_handleAttributeChange_decorators = [registerAttributeHandler('text-maxlength', true), registerAttributeHandler('text-maxline', true), registerAttributeHandler('tail-color-convert', true)];
|
|
20
|
-
_private_handleEnableLayoutEvent_decorators = [
|
|
21
|
+
_private_handleEnableLayoutEvent_decorators = [registerEventEnableStatusChangeHandler('layout')];
|
|
21
22
|
__esDecorate(this, _private_handleAttributeChange_descriptor = { value: __setFunctionName(function () {
|
|
22
23
|
this.#maxLength = parseFloat(this.#dom.getAttribute('text-maxlength') ?? '');
|
|
23
24
|
this.#maxLine = parseFloat(this.#dom.getAttribute('text-maxline') ?? '');
|
|
@@ -35,8 +36,8 @@ let XTextTruncation = (() => {
|
|
|
35
36
|
}
|
|
36
37
|
this.#layoutText();
|
|
37
38
|
}, "#handleAttributeChange") }, _private_handleAttributeChange_decorators, { kind: "method", name: "#handleAttributeChange", static: false, private: true, access: { has: obj => #handleAttributeChange in obj, get: obj => obj.#handleAttributeChange }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
38
|
-
__esDecorate(this, _private_handleEnableLayoutEvent_descriptor = { value: __setFunctionName(function (
|
|
39
|
-
this.#enableLayoutEvent =
|
|
39
|
+
__esDecorate(this, _private_handleEnableLayoutEvent_descriptor = { value: __setFunctionName(function (status) {
|
|
40
|
+
this.#enableLayoutEvent = status;
|
|
40
41
|
}, "#handleEnableLayoutEvent") }, _private_handleEnableLayoutEvent_decorators, { kind: "method", name: "#handleEnableLayoutEvent", static: false, private: true, access: { has: obj => #handleEnableLayoutEvent in obj, get: obj => obj.#handleEnableLayoutEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
41
42
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
42
43
|
}
|
|
@@ -46,7 +47,6 @@ let XTextTruncation = (() => {
|
|
|
46
47
|
'text-maxlength',
|
|
47
48
|
'text-maxline',
|
|
48
49
|
'tail-color-convert',
|
|
49
|
-
'x-enable-layout-event',
|
|
50
50
|
];
|
|
51
51
|
#scheduledTextLayout = (__runInitializers(this, _instanceExtraInitializers), false);
|
|
52
52
|
#componentConnected = false;
|
|
@@ -337,7 +337,7 @@ let XTextTruncation = (() => {
|
|
|
337
337
|
}
|
|
338
338
|
connectedCallback() {
|
|
339
339
|
this.#componentConnected = true;
|
|
340
|
-
this.#handleEnableLayoutEvent(this.#
|
|
340
|
+
this.#handleEnableLayoutEvent(this.#enableLayoutEvent);
|
|
341
341
|
document.fonts.ready.then(() => {
|
|
342
342
|
this.#handleAttributeChange();
|
|
343
343
|
});
|
|
@@ -7,6 +7,7 @@ import { __esDecorate, __runInitializers, __setFunctionName } from "tslib";
|
|
|
7
7
|
import { genDomGetter, registerAttributeHandler, } from '@lynx-js/web-elements-reactive';
|
|
8
8
|
import { commonComponentEventSetting } from '../common/commonEventInitConfiguration.js';
|
|
9
9
|
import { renameEvent } from '../common/renameEvent.js';
|
|
10
|
+
import { registerEventEnableStatusChangeHandler } from '@lynx-js/web-elements-reactive';
|
|
10
11
|
let XTextareaEvents = (() => {
|
|
11
12
|
let _instanceExtraInitializers = [];
|
|
12
13
|
let _private_handleEnableConfirmEvent_decorators;
|
|
@@ -16,11 +17,11 @@ let XTextareaEvents = (() => {
|
|
|
16
17
|
return class XTextareaEvents {
|
|
17
18
|
static {
|
|
18
19
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
19
|
-
_private_handleEnableConfirmEvent_decorators = [
|
|
20
|
+
_private_handleEnableConfirmEvent_decorators = [registerEventEnableStatusChangeHandler('input')];
|
|
20
21
|
_private_handleSendComposingInput_decorators = [registerAttributeHandler('send-composing-input', true)];
|
|
21
|
-
__esDecorate(this, _private_handleEnableConfirmEvent_descriptor = { value: __setFunctionName(function (
|
|
22
|
+
__esDecorate(this, _private_handleEnableConfirmEvent_descriptor = { value: __setFunctionName(function (status) {
|
|
22
23
|
const textareaElement = this.#getTextareaElement();
|
|
23
|
-
if (
|
|
24
|
+
if (status) {
|
|
24
25
|
textareaElement.addEventListener('input', this.#teleportInput, { passive: true });
|
|
25
26
|
textareaElement.addEventListener('compositionend', this.#teleportCompositionendInput, { passive: true });
|
|
26
27
|
}
|
|
@@ -34,7 +35,7 @@ let XTextareaEvents = (() => {
|
|
|
34
35
|
}, "#handleSendComposingInput") }, _private_handleSendComposingInput_decorators, { kind: "method", name: "#handleSendComposingInput", static: false, private: true, access: { has: obj => #handleSendComposingInput in obj, get: obj => obj.#handleSendComposingInput }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
35
36
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
36
37
|
}
|
|
37
|
-
static observedAttributes = ['
|
|
38
|
+
static observedAttributes = ['send-composing-input'];
|
|
38
39
|
#dom = __runInitializers(this, _instanceExtraInitializers);
|
|
39
40
|
#sendComposingInput = false;
|
|
40
41
|
#getTextareaElement = genDomGetter(() => this.#dom.shadowRoot, '#textarea');
|
|
@@ -2,7 +2,7 @@ import { type AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
|
|
|
2
2
|
import type { XViewpagerNg } from './XViewpagerNg.js';
|
|
3
3
|
export declare class XViewpagerNgEvents implements InstanceType<AttributeReactiveClass<typeof XViewpagerNg>> {
|
|
4
4
|
#private;
|
|
5
|
-
static observedAttributes:
|
|
5
|
+
static observedAttributes: never[];
|
|
6
6
|
constructor(dom: XViewpagerNg);
|
|
7
7
|
connectedCallback(): void;
|
|
8
8
|
dispose(): void;
|
|
@@ -4,50 +4,36 @@ import { __esDecorate, __runInitializers, __setFunctionName } from "tslib";
|
|
|
4
4
|
// Licensed under the Apache License Version 2.0 that can be found in the
|
|
5
5
|
// LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
import { genDomGetter,
|
|
7
|
+
import { genDomGetter, } from '@lynx-js/web-elements-reactive';
|
|
8
8
|
import { commonComponentEventSetting } from '../common/commonEventInitConfiguration.js';
|
|
9
9
|
import { useScrollEnd } from '../common/constants.js';
|
|
10
|
+
import { registerEventEnableStatusChangeHandler } from '@lynx-js/web-elements-reactive';
|
|
10
11
|
let XViewpagerNgEvents = (() => {
|
|
11
12
|
let _instanceExtraInitializers = [];
|
|
12
|
-
let
|
|
13
|
-
let
|
|
13
|
+
let _private_enableChangeEvent_decorators;
|
|
14
|
+
let _private_enableChangeEvent_descriptor;
|
|
15
|
+
let _private_enableOffsetChangeEvent_decorators;
|
|
16
|
+
let _private_enableOffsetChangeEvent_descriptor;
|
|
14
17
|
return class XViewpagerNgEvents {
|
|
15
18
|
static {
|
|
16
19
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
scrollContainer.removeEventListener('scroll', this.#scrollHandler);
|
|
30
|
-
}
|
|
31
|
-
if (useScrollEnd && this.#enableChange) {
|
|
32
|
-
scrollContainer.addEventListener('scrollend', this.#scrollEndHandler, {
|
|
33
|
-
passive: true,
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
scrollContainer.removeEventListener('scrollend', this.#scrollEndHandler);
|
|
38
|
-
}
|
|
39
|
-
}, "#enableScrollEventListener") }, _private_enableScrollEventListener_decorators, { kind: "method", name: "#enableScrollEventListener", static: false, private: true, access: { has: obj => #enableScrollEventListener in obj, get: obj => obj.#enableScrollEventListener }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
20
|
+
_private_enableChangeEvent_decorators = [registerEventEnableStatusChangeHandler('change')];
|
|
21
|
+
_private_enableOffsetChangeEvent_decorators = [registerEventEnableStatusChangeHandler('offsetchange')];
|
|
22
|
+
__esDecorate(this, _private_enableChangeEvent_descriptor = { value: __setFunctionName(function (status) {
|
|
23
|
+
this.#enableChange = status;
|
|
24
|
+
this.#enableScrollEventListener();
|
|
25
|
+
}, "#enableChangeEvent") }, _private_enableChangeEvent_decorators, { kind: "method", name: "#enableChangeEvent", static: false, private: true, access: { has: obj => #enableChangeEvent in obj, get: obj => obj.#enableChangeEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
26
|
+
__esDecorate(this, _private_enableOffsetChangeEvent_descriptor = { value: __setFunctionName(function (status) {
|
|
27
|
+
this.#enableChange = status;
|
|
28
|
+
this.#enableScrollEventListener();
|
|
29
|
+
}, "#enableOffsetChangeEvent") }, _private_enableOffsetChangeEvent_decorators, { kind: "method", name: "#enableOffsetChangeEvent", static: false, private: true, access: { has: obj => #enableOffsetChangeEvent in obj, get: obj => obj.#enableOffsetChangeEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
40
30
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
41
31
|
}
|
|
42
|
-
static observedAttributes = [
|
|
43
|
-
'x-enable-change-event',
|
|
44
|
-
'x-enable-offsetchange-event',
|
|
45
|
-
];
|
|
32
|
+
static observedAttributes = [];
|
|
46
33
|
#dom = __runInitializers(this, _instanceExtraInitializers);
|
|
47
34
|
#isDragging = false;
|
|
48
35
|
#connected = false;
|
|
49
36
|
#currentIndex = 0;
|
|
50
|
-
#enableChange = false;
|
|
51
37
|
#debounceScrollForMockingScrollEnd;
|
|
52
38
|
constructor(dom) {
|
|
53
39
|
this.#dom = dom;
|
|
@@ -93,7 +79,29 @@ let XViewpagerNgEvents = (() => {
|
|
|
93
79
|
#touchEndHandler = () => {
|
|
94
80
|
this.#isDragging = false;
|
|
95
81
|
};
|
|
96
|
-
|
|
82
|
+
#enableChange = false;
|
|
83
|
+
get #enableChangeEvent() { return _private_enableChangeEvent_descriptor.value; }
|
|
84
|
+
#enableOffsetChange = false;
|
|
85
|
+
get #enableOffsetChangeEvent() { return _private_enableOffsetChangeEvent_descriptor.value; }
|
|
86
|
+
#enableScrollEventListener() {
|
|
87
|
+
const scrollContainer = this.#getScrollContainer();
|
|
88
|
+
if (this.#enableOffsetChange || this.#enableChange) {
|
|
89
|
+
scrollContainer.addEventListener('scroll', this.#scrollHandler, {
|
|
90
|
+
passive: true,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
scrollContainer.removeEventListener('scroll', this.#scrollHandler);
|
|
95
|
+
}
|
|
96
|
+
if (useScrollEnd && this.#enableChange) {
|
|
97
|
+
scrollContainer.addEventListener('scrollend', this.#scrollEndHandler, {
|
|
98
|
+
passive: true,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
scrollContainer.removeEventListener('scrollend', this.#scrollEndHandler);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
97
105
|
connectedCallback() {
|
|
98
106
|
this.#connected = true;
|
|
99
107
|
const scrollContainer = this.#getScrollContainer();
|
|
@@ -24,5 +24,9 @@ export declare class LynxExposure {
|
|
|
24
24
|
onExposureParamsChanged: () => void;
|
|
25
25
|
onExposureIdChanged(_: string | null, oldValue: string | null): void;
|
|
26
26
|
attributeChangedHandler: this;
|
|
27
|
+
eventStatusChangedHandler: {
|
|
28
|
+
uiappear: (status: boolean) => void;
|
|
29
|
+
uidisappear: (status: boolean) => void;
|
|
30
|
+
};
|
|
27
31
|
disableExposure(): void;
|
|
28
32
|
}
|
package/dist/common/Exposure.js
CHANGED
|
@@ -6,8 +6,6 @@ import { commonComponentEventSetting } from './commonEventInitConfiguration.js';
|
|
|
6
6
|
import { scrollContainerDom } from './constants.js';
|
|
7
7
|
export class LynxExposure {
|
|
8
8
|
static observedAttributes = [
|
|
9
|
-
'x-enable-uiappear-event',
|
|
10
|
-
'x-enable-uidisappear-event',
|
|
11
9
|
'exposure-id',
|
|
12
10
|
'exposure-area',
|
|
13
11
|
'exposure-screen-margin-top',
|
|
@@ -19,6 +17,8 @@ export class LynxExposure {
|
|
|
19
17
|
'exposure-ui-margin-bottom',
|
|
20
18
|
'exposure-ui-margin-left',
|
|
21
19
|
];
|
|
20
|
+
#uiAppearEnabled = false;
|
|
21
|
+
#uiDisappearEnabled = false;
|
|
22
22
|
#currentElement;
|
|
23
23
|
/**
|
|
24
24
|
* Stores a promise. We will handler the exposure attribute change after all related life-cycle events has been fired by browser.
|
|
@@ -33,9 +33,8 @@ export class LynxExposure {
|
|
|
33
33
|
*/
|
|
34
34
|
#exposureObserver;
|
|
35
35
|
get #exposureEnabled() {
|
|
36
|
-
return (this.#
|
|
37
|
-
|| this.#
|
|
38
|
-
!== null
|
|
36
|
+
return (this.#uiAppearEnabled
|
|
37
|
+
|| this.#uiDisappearEnabled
|
|
39
38
|
|| this.#currentElement.getAttribute('exposure-id') !== null);
|
|
40
39
|
}
|
|
41
40
|
constructor(currentElement) {
|
|
@@ -73,6 +72,16 @@ export class LynxExposure {
|
|
|
73
72
|
return;
|
|
74
73
|
},
|
|
75
74
|
});
|
|
75
|
+
eventStatusChangedHandler = {
|
|
76
|
+
'uiappear': (status) => {
|
|
77
|
+
this.#uiAppearEnabled = status;
|
|
78
|
+
this.onExposureParamsChanged();
|
|
79
|
+
},
|
|
80
|
+
'uidisappear': (status) => {
|
|
81
|
+
this.#uiDisappearEnabled = status;
|
|
82
|
+
this.onExposureParamsChanged();
|
|
83
|
+
},
|
|
84
|
+
};
|
|
76
85
|
#updateExposure() {
|
|
77
86
|
const newParams = {
|
|
78
87
|
exposureID: this.#currentElement.getAttribute('exposure-id'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function bindToIntersectionObserver(rootGetter: () => HTMLElement, targetGetter: () => HTMLElement, callback: IntersectionObserverCallback): (newVal: string | null) => void;
|
|
1
|
+
export declare function bindToIntersectionObserver(rootGetter: () => HTMLElement, targetGetter: () => HTMLElement, callback: IntersectionObserverCallback): (newVal: string | boolean | null) => void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lynx-js/web-elements",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -22,10 +22,6 @@
|
|
|
22
22
|
"types": "./dist/all.d.ts",
|
|
23
23
|
"default": "./dist/all.js"
|
|
24
24
|
},
|
|
25
|
-
"./lazy": {
|
|
26
|
-
"types": "./dist/lazy.d.ts",
|
|
27
|
-
"default": "./dist/lazy.js"
|
|
28
|
-
},
|
|
29
25
|
"./LynxWrapper": {
|
|
30
26
|
"types": "./dist/LynxWrapper/index.d.ts",
|
|
31
27
|
"default": "./dist/LynxWrapper/index.js"
|
|
@@ -104,7 +100,7 @@
|
|
|
104
100
|
"**/*.css"
|
|
105
101
|
],
|
|
106
102
|
"dependencies": {
|
|
107
|
-
"@lynx-js/web-elements-reactive": "0.
|
|
103
|
+
"@lynx-js/web-elements-reactive": "0.2.0"
|
|
108
104
|
},
|
|
109
105
|
"devDependencies": {
|
|
110
106
|
"tslib": "^2.8.1"
|
package/dist/lazy.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function loadElement(tag: string): void;
|