@lynx-js/web-mainthread-apis-canary 0.18.5-canary-20251203-06ba61c9 → 0.18.5-canary-20251203-40c3a1a0
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 +4 -2
- package/dist/createMainThreadGlobalThis.js +28 -6
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
# @lynx-js/web-mainthread-apis
|
|
2
2
|
|
|
3
|
-
## 0.18.5-canary-
|
|
3
|
+
## 0.18.5-canary-20251203084300-40c3a1a0436701e46b505301c4ba66a8f68de7c0
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
+
- fix: capture and bind event listener should be trigger correctly ([#1972](https://github.com/lynx-family/lynx-stack/pull/1972))
|
|
8
|
+
|
|
7
9
|
- fix: the l-p-comp-uid of page should be '1' ([#1970](https://github.com/lynx-family/lynx-stack/pull/1970))
|
|
8
10
|
|
|
9
11
|
- Updated dependencies []:
|
|
10
|
-
- @lynx-js/web-constants@0.18.5-canary-
|
|
12
|
+
- @lynx-js/web-constants@0.18.5-canary-20251203084300-40c3a1a0436701e46b505301c4ba66a8f68de7c0
|
|
11
13
|
|
|
12
14
|
## 0.18.4
|
|
13
15
|
|
|
@@ -27,12 +27,22 @@ export function createMainThreadGlobalThis(config) {
|
|
|
27
27
|
?.deref();
|
|
28
28
|
let uniqueIdInc = lynxUniqueIdToElement.length || 1;
|
|
29
29
|
const exposureChangedElements = new Set();
|
|
30
|
-
const commonHandler = (event) => {
|
|
30
|
+
const commonHandler = (event, capture) => {
|
|
31
31
|
if (!event.currentTarget) {
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
34
|
+
// The `capture false` event should not be triggered during the capture-phase
|
|
35
|
+
// The `capture true` event should not be triggered during the bubbling phase
|
|
36
|
+
if ((event.eventPhase === Event.CAPTURING_PHASE && capture === false)
|
|
37
|
+
|| (event.eventPhase === Event.BUBBLING_PHASE && capture === true)) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
34
40
|
const currentTarget = event.currentTarget;
|
|
35
|
-
|
|
41
|
+
// When the event is triggered by the target element, `event.eventPhase` is always `target`, and the listener type is determined by the passed-in `capture`.
|
|
42
|
+
// When the event is triggered by a non-target element, the listener type is determined by `event.eventPhase` (1, 3).
|
|
43
|
+
const isCapture = event.eventPhase === Event.AT_TARGET
|
|
44
|
+
? capture
|
|
45
|
+
: event.eventPhase === event.CAPTURING_PHASE;
|
|
36
46
|
const lynxEventName = W3cEventNameToLynx[event.type] ?? event.type;
|
|
37
47
|
const runtimeInfo = elementToRuntimeInfoMap.get(currentTarget);
|
|
38
48
|
if (runtimeInfo) {
|
|
@@ -70,11 +80,23 @@ export function createMainThreadGlobalThis(config) {
|
|
|
70
80
|
}
|
|
71
81
|
return false;
|
|
72
82
|
};
|
|
73
|
-
const
|
|
74
|
-
|
|
83
|
+
const captureHandler = (e) => {
|
|
84
|
+
commonHandler(e, true);
|
|
85
|
+
};
|
|
86
|
+
const defaultHandler = (e) => {
|
|
87
|
+
commonHandler(e, false);
|
|
88
|
+
};
|
|
89
|
+
const commonCatchHandler = (event, isCapture) => {
|
|
90
|
+
const handlerTriggered = commonHandler(event, isCapture);
|
|
75
91
|
if (handlerTriggered)
|
|
76
92
|
event.stopPropagation();
|
|
77
93
|
};
|
|
94
|
+
const catchCaptureHandler = (e) => {
|
|
95
|
+
commonCatchHandler(e, true);
|
|
96
|
+
};
|
|
97
|
+
const defaultCatchHandler = (e) => {
|
|
98
|
+
commonCatchHandler(e, false);
|
|
99
|
+
};
|
|
78
100
|
const __AddEvent = (element, eventType, eventName, newEventHandler) => {
|
|
79
101
|
eventName = eventName.toLowerCase();
|
|
80
102
|
const isCatch = eventType === 'catchEvent' || eventType === 'capture-catch';
|
|
@@ -88,8 +110,8 @@ export function createMainThreadGlobalThis(config) {
|
|
|
88
110
|
? runtimeInfo.eventHandlerMap[eventName]?.capture
|
|
89
111
|
: runtimeInfo.eventHandlerMap[eventName]?.bind;
|
|
90
112
|
const currentRegisteredHandler = isCatch
|
|
91
|
-
?
|
|
92
|
-
:
|
|
113
|
+
? (isCapture ? catchCaptureHandler : defaultCatchHandler)
|
|
114
|
+
: (isCapture ? captureHandler : defaultHandler);
|
|
93
115
|
if (currentHandler) {
|
|
94
116
|
if (!newEventHandler) {
|
|
95
117
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lynx-js/web-mainthread-apis-canary",
|
|
3
|
-
"version": "0.18.5-canary-20251203-
|
|
3
|
+
"version": "0.18.5-canary-20251203-40c3a1a0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "",
|
|
6
6
|
"keywords": [],
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"**/*.css"
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@lynx-js/web-constants": "npm:@lynx-js/web-constants-canary@0.18.5-canary-20251203-
|
|
29
|
+
"@lynx-js/web-constants": "npm:@lynx-js/web-constants-canary@0.18.5-canary-20251203-40c3a1a0",
|
|
30
30
|
"hyphenate-style-name": "^1.1.0",
|
|
31
31
|
"wasm-feature-detect": "^1.8.0"
|
|
32
32
|
},
|