@lynx-js/web-elements 0.2.4 → 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.
Files changed (59) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/dist/ScrollView/FadeEdgeLengthAttribute.d.ts +2 -2
  3. package/dist/ScrollView/ScrollAttributes.d.ts +2 -2
  4. package/dist/ScrollView/ScrollIntoView.d.ts +2 -2
  5. package/dist/ScrollView/ScrollIntoView.js +6 -0
  6. package/dist/ScrollView/ScrollView.js +1 -1
  7. package/dist/ScrollView/ScrollViewEvents.d.ts +1 -1
  8. package/dist/ScrollView/ScrollViewEvents.js +64 -43
  9. package/dist/XAudioTT/XAudioAttribute.d.ts +1 -1
  10. package/dist/XAudioTT/XAudioEvents.d.ts +1 -1
  11. package/dist/XCanvas/CanvasAttributes.d.ts +2 -2
  12. package/dist/XFoldViewNg/XFoldviewHeaderNgFeatures.d.ts +1 -1
  13. package/dist/XFoldViewNg/XFoldviewNgEvents.d.ts +2 -2
  14. package/dist/XFoldViewNg/XFoldviewSlotNgTouchEventsHandler.d.ts +1 -1
  15. package/dist/XImage/DropShadow.d.ts +1 -1
  16. package/dist/XImage/ImageEvents.d.ts +2 -2
  17. package/dist/XImage/ImageEvents.js +15 -14
  18. package/dist/XInput/InputBaseAttributes.d.ts +1 -1
  19. package/dist/XInput/Placeholder.d.ts +1 -1
  20. package/dist/XInput/XInputAttribute.d.ts +1 -1
  21. package/dist/XInput/XInputEvents.d.ts +1 -1
  22. package/dist/XInput/XInputEvents.js +5 -4
  23. package/dist/XList/XList.js +1 -1
  24. package/dist/XList/XListAttributes.d.ts +1 -1
  25. package/dist/XList/XListEvents.d.ts +1 -1
  26. package/dist/XList/XListEvents.js +209 -188
  27. package/dist/XOverlayNg/XOverlayAttributes.d.ts +2 -2
  28. package/dist/XOverlayNg/XOverlayAttributes.js +7 -2
  29. package/dist/XRefreshView/XRefreshSubElementIntersectionObserver.d.ts +3 -3
  30. package/dist/XRefreshView/XRefreshViewEventsEmitter.d.ts +2 -2
  31. package/dist/XRefreshView/XRefreshViewEventsEmitter.js +45 -93
  32. package/dist/XSvg/XSvg.d.ts +1 -1
  33. package/dist/XSvg/XSvg.js +0 -2
  34. package/dist/XSwiper/XSwiperAutoScroll.d.ts +2 -2
  35. package/dist/XSwiper/XSwiperCircular.d.ts +2 -2
  36. package/dist/XSwiper/XSwiperCircular.js +1 -2
  37. package/dist/XSwiper/XSwiperEvents.d.ts +2 -2
  38. package/dist/XSwiper/XSwiperEvents.js +18 -20
  39. package/dist/XSwiper/XSwiperIndicator.d.ts +2 -2
  40. package/dist/XSwiper/XSwiperIndicator.js +0 -1
  41. package/dist/XText/InlineImage.d.ts +1 -1
  42. package/dist/XText/XTextTruncation.d.ts +1 -1
  43. package/dist/XText/XTextTruncation.js +5 -5
  44. package/dist/XTextarea/Placeholder.d.ts +1 -1
  45. package/dist/XTextarea/Placeholder.js +1 -0
  46. package/dist/XTextarea/TextareaBaseAttributes.d.ts +1 -1
  47. package/dist/XTextarea/XTextareaAttributes.d.ts +1 -1
  48. package/dist/XTextarea/XTextareaEvents.d.ts +1 -1
  49. package/dist/XTextarea/XTextareaEvents.js +5 -4
  50. package/dist/XView/BlurRadius.d.ts +2 -2
  51. package/dist/XViewpagerNg/XViewpagerNgEvents.d.ts +2 -2
  52. package/dist/XViewpagerNg/XViewpagerNgEvents.js +40 -32
  53. package/dist/common/Exposure.d.ts +4 -0
  54. package/dist/common/Exposure.js +14 -5
  55. package/dist/common/bindToIntersectionObserver.d.ts +1 -1
  56. package/package.json +7 -6
  57. package/src/common-css/linear.css +1 -11
  58. package/dist/lazy.d.ts +0 -1
  59. 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 { registerAttributeHandler, genDomGetter, } from '@lynx-js/web-elements-reactive';
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
- _private_handleXEnableHeaderOffsetEvent_decorators = [registerAttributeHandler('x-enable-headeroffset-event', true)];
30
- _private_handleXEnableHeaderShowEvent_decorators = [registerAttributeHandler('x-enable-headershow-event', true)];
31
- _private_handleXEnableFooterOffsetEvent_decorators = [registerAttributeHandler('x-enable-footeroffset-event', true)];
32
- _private_handleXEnableStartRefreshEvent_decorators = [registerAttributeHandler('x-enable-startrefresh-event', true)];
33
- _private_handleXEnableHeaderReleasedEvent_decorators = [registerAttributeHandler('x-enable-headerreleased-event', true)];
34
- _private_handleXEnableStartLoadMoreEvent_decorators = [registerAttributeHandler('x-enable-startloadmore-event', true)];
35
- _private_handleXEnableFooterReleasedEvent_decorators = [registerAttributeHandler('x-enable-footerreleased-event', true)];
36
- __esDecorate(this, _private_handleXEnableHeaderOffsetEvent_descriptor = { value: __setFunctionName(function (newVal) {
37
- this.#enableHeaderOffsetEvent = newVal !== null;
38
- this.#handleComplexEventEnableAttributes();
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
- #enableStartRefreshEvent = false;
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.#enableHeaderShowEvent || this.#enableHeaderOffsetEvent)) {
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.#enableFooterOffsetEvent) {
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');
@@ -1,4 +1,4 @@
1
- import { AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
1
+ import { type AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
2
2
  export declare class XSvgFeatures implements InstanceType<AttributeReactiveClass<typeof XSvg>> {
3
3
  #private;
4
4
  static observedAttributes: string[];
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,
@@ -1,5 +1,5 @@
1
- import { AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
2
- import { XSwiper } from './XSwiper.js';
1
+ import { type AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
2
+ import type { XSwiper } from './XSwiper.js';
3
3
  export declare class XSwiperAutoScroll implements InstanceType<AttributeReactiveClass<typeof XSwiper>> {
4
4
  #private;
5
5
  static observedAttributes: string[];
@@ -1,5 +1,5 @@
1
- import { AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
2
- import { XSwiper } from './XSwiper.js';
1
+ import { type AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
2
+ import type { XSwiper } from './XSwiper.js';
3
3
  export declare class XSwiperCircular implements InstanceType<AttributeReactiveClass<typeof XSwiper>> {
4
4
  #private;
5
5
  static observedAttributes: string[];
@@ -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,
@@ -1,8 +1,8 @@
1
1
  import { type AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
2
- import { XSwiper } from './XSwiper.js';
2
+ import type { XSwiper } from './XSwiper.js';
3
3
  export declare class XSwipeEvents implements InstanceType<AttributeReactiveClass<typeof XSwiper>> {
4
4
  #private;
5
- static observedAttributes: string[];
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, registerAttributeHandler, } from '@lynx-js/web-elements-reactive';
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 = [registerAttributeHandler('x-enable-transition-event', true)];
21
- _private_enableScrollEventProcessor_decorators = [registerAttributeHandler('x-enable-scrollstart-event', false), registerAttributeHandler('x-enable-scrollend-event', false), registerAttributeHandler('x-enable-change-event', false), registerAttributeHandler('x-enable-change-event-for-indicator', false)];
22
- __esDecorate(this, _private_enableScrollEventProcessor_descriptor = { value: __setFunctionName(function () {
23
- const enableScrollstartEvent = this.#dom.getAttribute('x-enable-scrollstart-event') !== null;
24
- const enableScrollendEvent = this.#dom.getAttribute('x-enable-scrollend-event') !== null;
25
- const enableChangeEvent = this.#dom.getAttribute('x-enable-change-event') !== null;
26
- const enableChangeforindicatorEvent = this.#dom.getAttribute('x-enable-change-event-for-indicator') !== null;
27
- const enableEvent = enableChangeEvent
28
- || enableScrollendEvent
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');
@@ -1,5 +1,5 @@
1
- import { AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
2
- import { XSwiper } from './XSwiper.js';
1
+ import { type AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
2
+ import type { XSwiper } from './XSwiper.js';
3
3
  export declare class XSwiperIndicator implements InstanceType<AttributeReactiveClass<typeof XSwiper>> {
4
4
  #private;
5
5
  static observedAttributes: string[];
@@ -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;
@@ -1,4 +1,4 @@
1
- import { AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
1
+ import { type AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
2
2
  export declare class InlineImageAttributes implements InstanceType<AttributeReactiveClass<typeof InlineImage>> {
3
3
  #private;
4
4
  static observedAttributes: string[];
@@ -1,5 +1,5 @@
1
1
  import { type AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
2
- import { XText } from './XText.js';
2
+ import type { XText } from './XText.js';
3
3
  export declare class XTextTruncation implements InstanceType<AttributeReactiveClass<typeof XText>> {
4
4
  #private;
5
5
  static exceedMathLengthAttribute: "x-text-clipped";
@@ -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 = [registerAttributeHandler('x-enable-layout-event', true)];
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 (newVal) {
39
- this.#enableLayoutEvent = newVal !== null;
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.#dom.getAttribute('x-enable-layout-event'));
340
+ this.#handleEnableLayoutEvent(this.#enableLayoutEvent);
341
341
  document.fonts.ready.then(() => {
342
342
  this.#handleAttributeChange();
343
343
  });
@@ -1,4 +1,4 @@
1
- import { AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
1
+ import { type AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
2
2
  import { XTextarea } from './XTextarea.js';
3
3
  export declare class Placeholder implements InstanceType<AttributeReactiveClass<typeof XTextarea>> {
4
4
  #private;
@@ -5,6 +5,7 @@ import { __esDecorate, __runInitializers } from "tslib";
5
5
  // LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import { bindToAttribute, bindToStyle, genDomGetter, registerAttributeHandler, } from '@lynx-js/web-elements-reactive';
8
+ import { XTextarea } from './XTextarea.js';
8
9
  let Placeholder = (() => {
9
10
  let _private_updatePlaceholderColor_decorators;
10
11
  let _private_updatePlaceholderColor_initializers = [];
@@ -1,4 +1,4 @@
1
- import { AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
1
+ import { type AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
2
2
  export declare class TextareaBaseAttributes implements InstanceType<AttributeReactiveClass<typeof HTMLElement>> {
3
3
  #private;
4
4
  static observedAttributes: string[];
@@ -1,4 +1,4 @@
1
- import { AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
1
+ import { type AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
2
2
  export declare class XTextareaAttributes implements InstanceType<AttributeReactiveClass<typeof HTMLElement>> {
3
3
  #private;
4
4
  static observedAttributes: string[];
@@ -1,4 +1,4 @@
1
- import { AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
1
+ import { type AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
2
2
  export declare class XTextareaEvents implements InstanceType<AttributeReactiveClass<typeof HTMLElement>> {
3
3
  #private;
4
4
  static observedAttributes: string[];
@@ -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 = [registerAttributeHandler('x-enable-input-event', true)];
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 (newValue) {
22
+ __esDecorate(this, _private_handleEnableConfirmEvent_descriptor = { value: __setFunctionName(function (status) {
22
23
  const textareaElement = this.#getTextareaElement();
23
- if (newValue !== null) {
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 = ['x-enable-input-event', 'send-composing-input'];
38
+ static observedAttributes = ['send-composing-input'];
38
39
  #dom = __runInitializers(this, _instanceExtraInitializers);
39
40
  #sendComposingInput = false;
40
41
  #getTextareaElement = genDomGetter(() => this.#dom.shadowRoot, '#textarea');
@@ -1,5 +1,5 @@
1
- import { AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
2
- import { XBlurView } from './XBlurView.js';
1
+ import { type AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
2
+ import type { XBlurView } from './XBlurView.js';
3
3
  export declare class BlurRadius implements InstanceType<AttributeReactiveClass<typeof XBlurView>> {
4
4
  #private;
5
5
  static observedAttributes: string[];
@@ -1,8 +1,8 @@
1
1
  import { type AttributeReactiveClass } from '@lynx-js/web-elements-reactive';
2
- import { XViewpagerNg } from './XViewpagerNg.js';
2
+ import type { XViewpagerNg } from './XViewpagerNg.js';
3
3
  export declare class XViewpagerNgEvents implements InstanceType<AttributeReactiveClass<typeof XViewpagerNg>> {
4
4
  #private;
5
- static observedAttributes: string[];
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, registerAttributeHandler, } from '@lynx-js/web-elements-reactive';
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 _private_enableScrollEventListener_decorators;
13
- let _private_enableScrollEventListener_descriptor;
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
- _private_enableScrollEventListener_decorators = [registerAttributeHandler('x-enable-change-event', true), registerAttributeHandler('x-enable-offsetchange-event', true)];
18
- __esDecorate(this, _private_enableScrollEventListener_descriptor = { value: __setFunctionName(function () {
19
- this.#enableChange =
20
- this.#dom.getAttribute('x-enable-change-event') !== null;
21
- const enableOffsetChange = this.#dom.getAttribute('x-enable-offsetchange-event') !== null;
22
- const scrollContainer = this.#getScrollContainer();
23
- if (enableOffsetChange !== null || this.#enableChange) {
24
- scrollContainer.addEventListener('scroll', this.#scrollHandler, {
25
- passive: true,
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
- get #enableScrollEventListener() { return _private_enableScrollEventListener_descriptor.value; }
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
  }