@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
@@ -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.#currentElement.getAttribute('x-enable-uiappear-event') !== null
37
- || this.#currentElement.getAttribute('x-enable-uidisappear-event')
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,7 +1,12 @@
1
1
  {
2
2
  "name": "@lynx-js/web-elements",
3
- "version": "0.2.4",
3
+ "version": "0.4.0",
4
4
  "private": false,
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/lynx-family/lynx-stack.git",
8
+ "directory": "packages/web-platform/web-elements"
9
+ },
5
10
  "license": "Apache-2.0",
6
11
  "sideEffects": true,
7
12
  "type": "module",
@@ -17,10 +22,6 @@
17
22
  "types": "./dist/all.d.ts",
18
23
  "default": "./dist/all.js"
19
24
  },
20
- "./lazy": {
21
- "types": "./dist/lazy.d.ts",
22
- "default": "./dist/lazy.js"
23
- },
24
25
  "./LynxWrapper": {
25
26
  "types": "./dist/LynxWrapper/index.d.ts",
26
27
  "default": "./dist/LynxWrapper/index.js"
@@ -99,7 +100,7 @@
99
100
  "**/*.css"
100
101
  ],
101
102
  "dependencies": {
102
- "@lynx-js/web-elements-reactive": "0.1.0"
103
+ "@lynx-js/web-elements-reactive": "0.2.0"
103
104
  },
104
105
  "devDependencies": {
105
106
  "tslib": "^2.8.1"
@@ -66,14 +66,6 @@
66
66
  syntax: "*";
67
67
  inherits: false;
68
68
  }
69
- @property --justify-content {
70
- syntax: "*";
71
- inherits: false;
72
- }
73
- @property --align-self {
74
- syntax: "*";
75
- inherits: false;
76
- }
77
69
  @property --flex-grow {
78
70
  syntax: "<number>";
79
71
  inherits: false;
@@ -207,8 +199,7 @@ x-viewpager-ng {
207
199
  --lynx-display-flex,
208
200
  var(--flex-direction)
209
201
  );
210
- justify-content: var(--lynx-display-linear, var(--linear-justify-content))
211
- var(--lynx-display-flex, var(--justify-content));
202
+ justify-content: var(--lynx-display-linear, var(--linear-justify-content));
212
203
  }
213
204
 
214
205
  /** For @container
@@ -318,7 +309,6 @@ x-viewpager-ng {
318
309
  flex-grow: var(--flex-grow);
319
310
  flex-shrink: var(--flex-shrink);
320
311
  flex-basis: var(--flex-basis);
321
- align-self: var(--align-self);
322
312
  }
323
313
  }
324
314
 
package/dist/lazy.d.ts DELETED
@@ -1 +0,0 @@
1
- export declare function loadElement(tag: string): void;
package/dist/lazy.js DELETED
@@ -1,106 +0,0 @@
1
- // Copyright 2024 The Lynx Authors. All rights reserved.
2
- // Licensed under the Apache License Version 2.0 that can be found in the
3
- // LICENSE file in the root directory of this source tree.
4
- const loadingElementPromises = new Set();
5
- export function loadElement(tag) {
6
- if (loadingElementPromises.has(tag)) {
7
- return;
8
- }
9
- if (customElements.get(tag)) {
10
- return;
11
- }
12
- switch (tag) {
13
- case 'lynx-wrapper':
14
- import('./LynxWrapper/index.js');
15
- loadingElementPromises.add(tag);
16
- return;
17
- case 'scroll-view':
18
- import('./ScrollView/index.js');
19
- loadingElementPromises.add(tag);
20
- return;
21
- case 'x-audio-tt':
22
- import('./XAudioTT/index.js');
23
- loadingElementPromises.add(tag);
24
- return;
25
- case 'x-canvas':
26
- import('./XCanvas/index.js');
27
- loadingElementPromises.add(tag);
28
- return;
29
- case 'x-foldview-ng':
30
- case 'x-foldview-header-ng':
31
- case 'x-foldview-toolbar-ng':
32
- case 'x-foldview-slot-ng':
33
- case 'x-foldview-slot-drag-ng':
34
- import('./XFoldViewNg/index.js');
35
- loadingElementPromises.add('x-foldview-ng');
36
- loadingElementPromises.add('x-foldview-header-ng');
37
- loadingElementPromises.add('x-foldview-toolbar-ng');
38
- loadingElementPromises.add('x-foldview-slot-ng');
39
- loadingElementPromises.add('x-foldview-slot-drag-ng');
40
- return;
41
- case 'x-image':
42
- case 'filter-image':
43
- import('./XImage/index.js');
44
- loadingElementPromises.add('x-image');
45
- loadingElementPromises.add('filter-image');
46
- return;
47
- case 'x-input':
48
- import('./XInput/index.js');
49
- loadingElementPromises.add(tag);
50
- return;
51
- case 'x-list':
52
- import('./XList/index.js');
53
- loadingElementPromises.add('x-list');
54
- loadingElementPromises.add('list-item');
55
- return;
56
- case 'x-overlay-ng':
57
- import('./XOverlayNg/index.js');
58
- loadingElementPromises.add(tag);
59
- return;
60
- case 'x-refresh-view':
61
- case 'x-refresh-header':
62
- case 'x-refresh-footer':
63
- import('./XRefreshView/index.js');
64
- loadingElementPromises.add('x-refresh-view');
65
- loadingElementPromises.add('x-refresh-header');
66
- loadingElementPromises.add('x-refresh-footer');
67
- return;
68
- case 'x-svg':
69
- import('./XSvg/index.js');
70
- loadingElementPromises.add(tag);
71
- return;
72
- case 'x-swiper':
73
- case 'x-swiper-item':
74
- import('./XSwiper/index.js');
75
- loadingElementPromises.add('x-swiper');
76
- loadingElementPromises.add('x-swiper-item');
77
- return;
78
- case 'x-text':
79
- case 'inline-text':
80
- case 'inline-image':
81
- case 'inline-truncation':
82
- case 'raw-text':
83
- import('./XText/index.js');
84
- loadingElementPromises.add('x-text');
85
- loadingElementPromises.add('inline-text');
86
- loadingElementPromises.add('inline-image');
87
- loadingElementPromises.add('inline-truncation');
88
- loadingElementPromises.add('raw-text');
89
- return;
90
- case 'x-textarea':
91
- import('./XTextarea/index.js');
92
- loadingElementPromises.add(tag);
93
- return;
94
- case 'x-view':
95
- import('./XView/index.js');
96
- loadingElementPromises.add(tag);
97
- return;
98
- case 'x-viewpager-ng':
99
- case 'x-viewpager-item-ng':
100
- import('./XViewpagerNg/index.js');
101
- loadingElementPromises.add('x-viewpager-ng');
102
- loadingElementPromises.add('x-viewpager-item-ng');
103
- return;
104
- }
105
- }
106
- //# sourceMappingURL=lazy.js.map