@hanzogui/react-native-web-internals 3.0.6 → 4.3.1
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/dist/cjs/StyleSheet/__tests__/compiler-createReactDOMStyle-test.cjs +62 -37
- package/dist/cjs/StyleSheet/__tests__/compiler-test.cjs +129 -117
- package/dist/cjs/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.cjs +69 -30
- package/dist/cjs/StyleSheet/__tests__/index-test.cjs +127 -95
- package/dist/cjs/StyleSheet/__tests__/preprocess-test.cjs +26 -13
- package/dist/cjs/StyleSheet/__tests__/validate-test.cjs +30 -15
- package/dist/cjs/StyleSheet/compiler/createReactDOMStyle.cjs +141 -68
- package/dist/cjs/StyleSheet/compiler/hash.cjs +12 -10
- package/dist/cjs/StyleSheet/compiler/hyphenateStyleName.cjs +18 -14
- package/dist/cjs/StyleSheet/compiler/index.cjs +234 -173
- package/dist/cjs/StyleSheet/compiler/normalizeColor.cjs +27 -18
- package/dist/cjs/StyleSheet/compiler/normalizeValueWithProperty.cjs +30 -23
- package/dist/cjs/StyleSheet/compiler/resolveShadowValue.cjs +36 -32
- package/dist/cjs/StyleSheet/dom/createCSSStyleSheet.cjs +30 -15
- package/dist/cjs/StyleSheet/dom/createOrderedCSSStyleSheet.cjs +62 -37
- package/dist/cjs/StyleSheet/dom/index.cjs +56 -34
- package/dist/cjs/StyleSheet/index.cjs +25 -18
- package/dist/cjs/StyleSheet/preprocess.cjs +94 -81
- package/dist/cjs/StyleSheet/validate.cjs +67 -44
- package/dist/cjs/TextAncestorContext.cjs +13 -11
- package/dist/cjs/colorProps.cjs +22 -20
- package/dist/cjs/index.cjs +47 -45
- package/dist/cjs/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.cjs +19 -12
- package/dist/cjs/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.cjs +17 -11
- package/dist/cjs/modules/AccessibilityUtil/index.cjs +15 -13
- package/dist/cjs/modules/AccessibilityUtil/isDisabled.cjs +12 -10
- package/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.cjs +45 -38
- package/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.cjs +34 -30
- package/dist/cjs/modules/AssetRegistry/index.cjs +12 -10
- package/dist/cjs/modules/ImageLoader/index.cjs +117 -71
- package/dist/cjs/modules/InteractionManager.cjs +155 -99
- package/dist/cjs/modules/Platform/__tests__/index-test.cjs +21 -13
- package/dist/cjs/modules/Platform/index.cjs +12 -10
- package/dist/cjs/modules/TextInputState/index.cjs +28 -13
- package/dist/cjs/modules/UIManager/__tests__/index-test.cjs +77 -56
- package/dist/cjs/modules/UIManager/index.cjs +47 -42
- package/dist/cjs/modules/canUseDOM.cjs +13 -11
- package/dist/cjs/modules/createDOMProps/__tests__/index-test.cjs +75 -54
- package/dist/cjs/modules/createDOMProps/index.cjs +353 -145
- package/dist/cjs/modules/createEventHandle/__tests__/index-test.cjs +238 -160
- package/dist/cjs/modules/createEventHandle/index.cjs +46 -25
- package/dist/cjs/modules/dismissKeyboard/index.cjs +12 -10
- package/dist/cjs/modules/forwardedProps/index.cjs +137 -135
- package/dist/cjs/modules/getBoundingClientRect/index.cjs +18 -11
- package/dist/cjs/modules/invariant.cjs +21 -15
- package/dist/cjs/modules/isSelectionValid/index.cjs +18 -17
- package/dist/cjs/modules/isWebColor/index.cjs +12 -10
- package/dist/cjs/modules/mergeRefs/__tests__/index-test.cjs +21 -15
- package/dist/cjs/modules/mergeRefs/index.cjs +24 -21
- package/dist/cjs/modules/modality/__tests__/index-test.cjs +44 -17
- package/dist/cjs/modules/modality/index.cjs +148 -71
- package/dist/cjs/modules/multiplyStyleLengthValue/__tests__/index-test.cjs +18 -10
- package/dist/cjs/modules/multiplyStyleLengthValue/index.cjs +26 -20
- package/dist/cjs/modules/normalizeColor/index.cjs +22 -17
- package/dist/cjs/modules/pick/index.cjs +19 -11
- package/dist/cjs/modules/processColor/__tests__/index-test.cjs +43 -24
- package/dist/cjs/modules/processColor/index.cjs +32 -24
- package/dist/cjs/modules/requestIdleCallback/index.cjs +28 -26
- package/dist/cjs/modules/setValueForStyles/dangerousStyleValue.cjs +38 -18
- package/dist/cjs/modules/setValueForStyles/index.cjs +25 -14
- package/dist/cjs/modules/unitlessNumbers/index.cjs +68 -64
- package/dist/cjs/modules/useElementLayout/index.cjs +25 -20
- package/dist/cjs/modules/useEvent/__tests__/index-test.cjs +255 -173
- package/dist/cjs/modules/useEvent/index.cjs +40 -28
- package/dist/cjs/modules/useHover/__tests__/index-test.cjs +233 -124
- package/dist/cjs/modules/useHover/index.cjs +105 -62
- package/dist/cjs/modules/useLayoutEffect/index.cjs +26 -24
- package/dist/cjs/modules/useLocale/index.cjs +33 -30
- package/dist/cjs/modules/useLocale/isLocaleRTL.cjs +63 -58
- package/dist/cjs/modules/useMergeRefs/__tests__/index-test.cjs +54 -31
- package/dist/cjs/modules/useMergeRefs/index.cjs +26 -24
- package/dist/cjs/modules/usePlatformMethods/index.cjs +21 -14
- package/dist/cjs/modules/useStable/__tests__/index-test.cjs +60 -30
- package/dist/cjs/modules/useStable/index.cjs +29 -24
- package/dist/cjs/styleTypes.cjs +7 -5
- package/dist/cjs/types.cjs +7 -5
- package/dist/esm/StyleSheet/__tests__/compiler-createReactDOMStyle-test.mjs +53 -30
- package/dist/esm/StyleSheet/__tests__/compiler-createReactDOMStyle-test.mjs.map +1 -1
- package/dist/esm/StyleSheet/__tests__/compiler-test.mjs +129 -117
- package/dist/esm/StyleSheet/__tests__/compiler-test.mjs.map +1 -1
- package/dist/esm/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.mjs +60 -23
- package/dist/esm/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.mjs.map +1 -1
- package/dist/esm/StyleSheet/__tests__/index-test.mjs +118 -88
- package/dist/esm/StyleSheet/__tests__/index-test.mjs.map +1 -1
- package/dist/esm/StyleSheet/__tests__/preprocess-test.mjs +26 -13
- package/dist/esm/StyleSheet/__tests__/preprocess-test.mjs.map +1 -1
- package/dist/esm/StyleSheet/__tests__/validate-test.mjs +30 -15
- package/dist/esm/StyleSheet/__tests__/validate-test.mjs.map +1 -1
- package/dist/esm/StyleSheet/compiler/createReactDOMStyle.mjs +127 -56
- package/dist/esm/StyleSheet/compiler/createReactDOMStyle.mjs.map +1 -1
- package/dist/esm/StyleSheet/compiler/hyphenateStyleName.mjs +6 -4
- package/dist/esm/StyleSheet/compiler/hyphenateStyleName.mjs.map +1 -1
- package/dist/esm/StyleSheet/compiler/index.mjs +218 -159
- package/dist/esm/StyleSheet/compiler/index.mjs.map +1 -1
- package/dist/esm/StyleSheet/compiler/normalizeColor.mjs +13 -6
- package/dist/esm/StyleSheet/compiler/normalizeColor.mjs.map +1 -1
- package/dist/esm/StyleSheet/compiler/normalizeValueWithProperty.mjs +16 -11
- package/dist/esm/StyleSheet/compiler/normalizeValueWithProperty.mjs.map +1 -1
- package/dist/esm/StyleSheet/compiler/resolveShadowValue.mjs +22 -20
- package/dist/esm/StyleSheet/compiler/resolveShadowValue.mjs.map +1 -1
- package/dist/esm/StyleSheet/dom/createCSSStyleSheet.mjs +18 -5
- package/dist/esm/StyleSheet/dom/createCSSStyleSheet.mjs.map +1 -1
- package/dist/esm/StyleSheet/dom/createOrderedCSSStyleSheet.mjs +50 -27
- package/dist/esm/StyleSheet/dom/createOrderedCSSStyleSheet.mjs.map +1 -1
- package/dist/esm/StyleSheet/dom/index.mjs +41 -21
- package/dist/esm/StyleSheet/dom/index.mjs.map +1 -1
- package/dist/esm/StyleSheet/index.mjs +13 -8
- package/dist/esm/StyleSheet/index.mjs.map +1 -1
- package/dist/esm/StyleSheet/preprocess.mjs +80 -69
- package/dist/esm/StyleSheet/preprocess.mjs.map +1 -1
- package/dist/esm/StyleSheet/validate.mjs +55 -34
- package/dist/esm/StyleSheet/validate.mjs.map +1 -1
- package/dist/esm/TextAncestorContext.mjs +1 -1
- package/dist/esm/TextAncestorContext.mjs.map +1 -1
- package/dist/esm/colorProps.mjs +10 -10
- package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.mjs +10 -5
- package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.mjs.map +1 -1
- package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.mjs +8 -4
- package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.mjs.map +1 -1
- package/dist/esm/modules/AccessibilityUtil/propsToAccessibilityComponent.mjs +33 -28
- package/dist/esm/modules/AccessibilityUtil/propsToAccessibilityComponent.mjs.map +1 -1
- package/dist/esm/modules/AccessibilityUtil/propsToAriaRole.mjs +22 -20
- package/dist/esm/modules/AccessibilityUtil/propsToAriaRole.mjs.map +1 -1
- package/dist/esm/modules/ImageLoader/index.mjs +105 -61
- package/dist/esm/modules/ImageLoader/index.mjs.map +1 -1
- package/dist/esm/modules/InteractionManager.mjs +141 -87
- package/dist/esm/modules/InteractionManager.mjs.map +1 -1
- package/dist/esm/modules/Platform/__tests__/index-test.mjs +12 -6
- package/dist/esm/modules/Platform/__tests__/index-test.mjs.map +1 -1
- package/dist/esm/modules/TextInputState/index.mjs +16 -3
- package/dist/esm/modules/TextInputState/index.mjs.map +1 -1
- package/dist/esm/modules/UIManager/__tests__/index-test.mjs +68 -49
- package/dist/esm/modules/UIManager/__tests__/index-test.mjs.map +1 -1
- package/dist/esm/modules/UIManager/index.mjs +35 -32
- package/dist/esm/modules/UIManager/index.mjs.map +1 -1
- package/dist/esm/modules/canUseDOM.mjs +1 -1
- package/dist/esm/modules/canUseDOM.mjs.map +1 -1
- package/dist/esm/modules/createDOMProps/__tests__/index-test.mjs +66 -47
- package/dist/esm/modules/createDOMProps/__tests__/index-test.mjs.map +1 -1
- package/dist/esm/modules/createDOMProps/index.mjs +339 -133
- package/dist/esm/modules/createDOMProps/index.mjs.map +1 -1
- package/dist/esm/modules/createEventHandle/__tests__/index-test.mjs +222 -146
- package/dist/esm/modules/createEventHandle/__tests__/index-test.mjs.map +1 -1
- package/dist/esm/modules/createEventHandle/index.mjs +34 -15
- package/dist/esm/modules/createEventHandle/index.mjs.map +1 -1
- package/dist/esm/modules/forwardedProps/index.mjs +125 -125
- package/dist/esm/modules/forwardedProps/index.mjs.map +1 -1
- package/dist/esm/modules/getBoundingClientRect/index.mjs +6 -1
- package/dist/esm/modules/getBoundingClientRect/index.mjs.map +1 -1
- package/dist/esm/modules/invariant.mjs +9 -5
- package/dist/esm/modules/invariant.mjs.map +1 -1
- package/dist/esm/modules/isSelectionValid/index.mjs +6 -7
- package/dist/esm/modules/isSelectionValid/index.mjs.map +1 -1
- package/dist/esm/modules/mergeRefs/__tests__/index-test.mjs +8 -4
- package/dist/esm/modules/mergeRefs/__tests__/index-test.mjs.map +1 -1
- package/dist/esm/modules/mergeRefs/index.mjs +12 -11
- package/dist/esm/modules/mergeRefs/index.mjs.map +1 -1
- package/dist/esm/modules/modality/__tests__/index-test.mjs +42 -15
- package/dist/esm/modules/modality/__tests__/index-test.mjs.map +1 -1
- package/dist/esm/modules/modality/index.mjs +134 -59
- package/dist/esm/modules/modality/index.mjs.map +1 -1
- package/dist/esm/modules/multiplyStyleLengthValue/__tests__/index-test.mjs +9 -3
- package/dist/esm/modules/multiplyStyleLengthValue/__tests__/index-test.mjs.map +1 -1
- package/dist/esm/modules/multiplyStyleLengthValue/index.mjs +14 -10
- package/dist/esm/modules/multiplyStyleLengthValue/index.mjs.map +1 -1
- package/dist/esm/modules/normalizeColor/index.mjs +8 -5
- package/dist/esm/modules/normalizeColor/index.mjs.map +1 -1
- package/dist/esm/modules/pick/index.mjs +7 -1
- package/dist/esm/modules/pick/index.mjs.map +1 -1
- package/dist/esm/modules/processColor/__tests__/index-test.mjs +34 -17
- package/dist/esm/modules/processColor/__tests__/index-test.mjs.map +1 -1
- package/dist/esm/modules/processColor/index.mjs +8 -2
- package/dist/esm/modules/processColor/index.mjs.map +1 -1
- package/dist/esm/modules/requestIdleCallback/index.mjs +16 -16
- package/dist/esm/modules/requestIdleCallback/index.mjs.map +1 -1
- package/dist/esm/modules/setValueForStyles/dangerousStyleValue.mjs +24 -6
- package/dist/esm/modules/setValueForStyles/dangerousStyleValue.mjs.map +1 -1
- package/dist/esm/modules/setValueForStyles/index.mjs +13 -4
- package/dist/esm/modules/setValueForStyles/index.mjs.map +1 -1
- package/dist/esm/modules/unitlessNumbers/index.mjs +56 -54
- package/dist/esm/modules/unitlessNumbers/index.mjs.map +1 -1
- package/dist/esm/modules/useElementLayout/index.mjs +11 -8
- package/dist/esm/modules/useElementLayout/index.mjs.map +1 -1
- package/dist/esm/modules/useEvent/__tests__/index-test.mjs +240 -160
- package/dist/esm/modules/useEvent/__tests__/index-test.mjs.map +1 -1
- package/dist/esm/modules/useEvent/index.mjs +25 -15
- package/dist/esm/modules/useEvent/index.mjs.map +1 -1
- package/dist/esm/modules/useHover/__tests__/index-test.mjs +217 -110
- package/dist/esm/modules/useHover/__tests__/index-test.mjs.map +1 -1
- package/dist/esm/modules/useHover/index.mjs +90 -49
- package/dist/esm/modules/useHover/index.mjs.map +1 -1
- package/dist/esm/modules/useLocale/index.mjs +6 -5
- package/dist/esm/modules/useLocale/index.mjs.map +1 -1
- package/dist/esm/modules/useLocale/isLocaleRTL.mjs +51 -48
- package/dist/esm/modules/useLocale/isLocaleRTL.mjs.map +1 -1
- package/dist/esm/modules/useMergeRefs/__tests__/index-test.mjs +40 -19
- package/dist/esm/modules/useMergeRefs/__tests__/index-test.mjs.map +1 -1
- package/dist/esm/modules/usePlatformMethods/index.mjs +7 -2
- package/dist/esm/modules/usePlatformMethods/index.mjs.map +1 -1
- package/dist/esm/modules/useStable/__tests__/index-test.mjs +47 -19
- package/dist/esm/modules/useStable/__tests__/index-test.mjs.map +1 -1
- package/dist/esm/modules/useStable/index.mjs +5 -2
- package/dist/esm/modules/useStable/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/StyleSheet/compiler/normalizeColor.tsx +1 -1
|
@@ -2,13 +2,15 @@ var __create = Object.create;
|
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf
|
|
6
|
-
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
7
|
var __copyProps = (to, from, except, desc) => {
|
|
8
|
-
if (from && typeof from
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
9
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
10
|
+
get: () => from[key],
|
|
11
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
12
|
+
});
|
|
13
|
+
}
|
|
12
14
|
return to;
|
|
13
15
|
};
|
|
14
16
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
@@ -18,15 +20,15 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
18
20
|
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
19
21
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
20
22
|
value: mod,
|
|
21
|
-
enumerable:
|
|
23
|
+
enumerable: true
|
|
22
24
|
}) : target, mod));
|
|
23
|
-
var import_dom_event_testing_library = require("dom-event-testing-library")
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
var import_dom_event_testing_library = require("dom-event-testing-library");
|
|
26
|
+
var React = __toESM(require("react"), 1);
|
|
27
|
+
var ReactDOM = __toESM(require("react-dom"), 1);
|
|
28
|
+
var ReactDOMServer = __toESM(require("react-dom/server"), 1);
|
|
29
|
+
var import_test_utils = require("react-dom/test-utils");
|
|
30
|
+
var import__ = __toESM(require("../index.cjs"), 1);
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
30
32
|
function createRoot(rootNode) {
|
|
31
33
|
return {
|
|
32
34
|
render(element) {
|
|
@@ -35,29 +37,44 @@ function createRoot(rootNode) {
|
|
|
35
37
|
};
|
|
36
38
|
}
|
|
37
39
|
describe("create-event-handle", () => {
|
|
38
|
-
let root
|
|
40
|
+
let root;
|
|
41
|
+
let rootNode;
|
|
39
42
|
beforeEach(() => {
|
|
40
|
-
rootNode = document.createElement("div")
|
|
41
|
-
|
|
42
|
-
root
|
|
43
|
-
})
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
rootNode = document.createElement("div");
|
|
44
|
+
document.body.appendChild(rootNode);
|
|
45
|
+
root = createRoot(rootNode);
|
|
46
|
+
});
|
|
47
|
+
afterEach(() => {
|
|
48
|
+
root.render(null);
|
|
49
|
+
document.body.removeChild(rootNode);
|
|
50
|
+
rootNode = null;
|
|
51
|
+
root = null;
|
|
52
|
+
});
|
|
53
|
+
test("can render correctly using ReactDOMServer", () => {
|
|
54
|
+
const listener = jest.fn();
|
|
55
|
+
const targetRef = React.createRef();
|
|
56
|
+
const addClickListener = (0, import__.default)("click");
|
|
47
57
|
function Component() {
|
|
48
|
-
|
|
58
|
+
React.useEffect(() => {
|
|
59
|
+
return addClickListener(targetRef.current, listener);
|
|
60
|
+
});
|
|
61
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
49
62
|
ref: targetRef
|
|
50
63
|
});
|
|
51
64
|
}
|
|
52
65
|
const output = ReactDOMServer.renderToString(/* @__PURE__ */(0, import_jsx_runtime.jsx)(Component, {}));
|
|
53
66
|
expect(output).toBe('<div data-reactroot=""></div>');
|
|
54
|
-
})
|
|
67
|
+
});
|
|
68
|
+
describe("createEventTarget()", () => {
|
|
55
69
|
test("event dispatched on target", () => {
|
|
56
|
-
const listener = jest.fn()
|
|
57
|
-
|
|
58
|
-
|
|
70
|
+
const listener = jest.fn();
|
|
71
|
+
const targetRef = React.createRef();
|
|
72
|
+
const addClickListener = (0, import__.default)("click");
|
|
59
73
|
function Component() {
|
|
60
|
-
|
|
74
|
+
React.useEffect(() => {
|
|
75
|
+
return addClickListener(targetRef.current, listener);
|
|
76
|
+
});
|
|
77
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
61
78
|
ref: targetRef
|
|
62
79
|
});
|
|
63
80
|
}
|
|
@@ -67,24 +84,28 @@ describe("create-event-handle", () => {
|
|
|
67
84
|
const target = (0, import_dom_event_testing_library.createEventTarget)(targetRef.current);
|
|
68
85
|
(0, import_test_utils.act)(() => {
|
|
69
86
|
target.click();
|
|
70
|
-
})
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
87
|
+
});
|
|
88
|
+
expect(listener).toBeCalledTimes(1);
|
|
89
|
+
});
|
|
90
|
+
test("event dispatched on parent", () => {
|
|
91
|
+
const listener = jest.fn();
|
|
92
|
+
const listenerCapture = jest.fn();
|
|
93
|
+
const targetRef = React.createRef();
|
|
94
|
+
const parentRef = React.createRef();
|
|
95
|
+
const addClickListener = (0, import__.default)("click");
|
|
96
|
+
const addClickCaptureListener = (0, import__.default)("click", {
|
|
97
|
+
capture: true
|
|
98
|
+
});
|
|
80
99
|
function Component() {
|
|
81
|
-
|
|
82
|
-
const removeClickListener = addClickListener(targetRef.current, listener)
|
|
83
|
-
|
|
100
|
+
React.useEffect(() => {
|
|
101
|
+
const removeClickListener = addClickListener(targetRef.current, listener);
|
|
102
|
+
const removeClickCaptureListener = addClickCaptureListener(targetRef.current, listenerCapture);
|
|
84
103
|
return () => {
|
|
85
|
-
removeClickListener()
|
|
104
|
+
removeClickListener();
|
|
105
|
+
removeClickCaptureListener();
|
|
86
106
|
};
|
|
87
|
-
})
|
|
107
|
+
});
|
|
108
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
88
109
|
ref: parentRef,
|
|
89
110
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
90
111
|
ref: targetRef
|
|
@@ -97,29 +118,34 @@ describe("create-event-handle", () => {
|
|
|
97
118
|
const parent = (0, import_dom_event_testing_library.createEventTarget)(parentRef.current);
|
|
98
119
|
(0, import_test_utils.act)(() => {
|
|
99
120
|
parent.click();
|
|
100
|
-
})
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
121
|
+
});
|
|
122
|
+
expect(listener).toBeCalledTimes(0);
|
|
123
|
+
expect(listenerCapture).toBeCalledTimes(0);
|
|
124
|
+
});
|
|
125
|
+
test("event dispatched on child", () => {
|
|
126
|
+
const log = [];
|
|
127
|
+
const listener = jest.fn(() => {
|
|
128
|
+
log.push("bubble");
|
|
129
|
+
});
|
|
130
|
+
const listenerCapture = jest.fn(() => {
|
|
131
|
+
log.push("capture");
|
|
132
|
+
});
|
|
133
|
+
const targetRef = React.createRef();
|
|
134
|
+
const childRef = React.createRef();
|
|
135
|
+
const addClickListener = (0, import__.default)("click");
|
|
136
|
+
const addClickCaptureListener = (0, import__.default)("click", {
|
|
137
|
+
capture: true
|
|
138
|
+
});
|
|
115
139
|
function Component() {
|
|
116
|
-
|
|
117
|
-
const removeClickListener = addClickListener(targetRef.current, listener)
|
|
118
|
-
|
|
140
|
+
React.useEffect(() => {
|
|
141
|
+
const removeClickListener = addClickListener(targetRef.current, listener);
|
|
142
|
+
const removeClickCaptureListener = addClickCaptureListener(targetRef.current, listenerCapture);
|
|
119
143
|
return () => {
|
|
120
|
-
removeClickListener()
|
|
144
|
+
removeClickListener();
|
|
145
|
+
removeClickCaptureListener();
|
|
121
146
|
};
|
|
122
|
-
})
|
|
147
|
+
});
|
|
148
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
123
149
|
ref: targetRef,
|
|
124
150
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
125
151
|
ref: childRef
|
|
@@ -132,14 +158,21 @@ describe("create-event-handle", () => {
|
|
|
132
158
|
const child = (0, import_dom_event_testing_library.createEventTarget)(childRef.current);
|
|
133
159
|
(0, import_test_utils.act)(() => {
|
|
134
160
|
child.click();
|
|
135
|
-
})
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
161
|
+
});
|
|
162
|
+
expect(listenerCapture).toBeCalledTimes(1);
|
|
163
|
+
expect(listener).toBeCalledTimes(1);
|
|
164
|
+
expect(log).toEqual(["capture", "bubble"]);
|
|
165
|
+
});
|
|
166
|
+
test("event dispatched on text node", () => {
|
|
167
|
+
const listener = jest.fn();
|
|
168
|
+
const targetRef = React.createRef();
|
|
169
|
+
const childRef = React.createRef();
|
|
170
|
+
const addClickListener = (0, import__.default)("click");
|
|
141
171
|
function Component() {
|
|
142
|
-
|
|
172
|
+
React.useEffect(() => {
|
|
173
|
+
return addClickListener(targetRef.current, listener);
|
|
174
|
+
});
|
|
175
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
143
176
|
ref: targetRef,
|
|
144
177
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
145
178
|
ref: childRef,
|
|
@@ -153,15 +186,20 @@ describe("create-event-handle", () => {
|
|
|
153
186
|
const text = (0, import_dom_event_testing_library.createEventTarget)(childRef.current.firstChild);
|
|
154
187
|
(0, import_test_utils.act)(() => {
|
|
155
188
|
text.click();
|
|
156
|
-
})
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
189
|
+
});
|
|
190
|
+
expect(listener).toBeCalledTimes(1);
|
|
191
|
+
});
|
|
192
|
+
test("listener can be attached to document", () => {
|
|
193
|
+
const listener = jest.fn();
|
|
194
|
+
const targetRef = React.createRef();
|
|
195
|
+
const addClickListener = (0, import__.default)("click");
|
|
161
196
|
function Component({
|
|
162
197
|
target: target2
|
|
163
198
|
}) {
|
|
164
|
-
|
|
199
|
+
React.useEffect(() => {
|
|
200
|
+
return addClickListener(target2, listener);
|
|
201
|
+
});
|
|
202
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
165
203
|
ref: targetRef
|
|
166
204
|
});
|
|
167
205
|
}
|
|
@@ -173,15 +211,20 @@ describe("create-event-handle", () => {
|
|
|
173
211
|
const target = (0, import_dom_event_testing_library.createEventTarget)(targetRef.current);
|
|
174
212
|
(0, import_test_utils.act)(() => {
|
|
175
213
|
target.click();
|
|
176
|
-
})
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
214
|
+
});
|
|
215
|
+
expect(listener).toBeCalledTimes(1);
|
|
216
|
+
});
|
|
217
|
+
test("listener can be attached to window ", () => {
|
|
218
|
+
const listener = jest.fn();
|
|
219
|
+
const targetRef = React.createRef();
|
|
220
|
+
const addClickListener = (0, import__.default)("click");
|
|
181
221
|
function Component({
|
|
182
222
|
target: target2
|
|
183
223
|
}) {
|
|
184
|
-
|
|
224
|
+
React.useEffect(() => {
|
|
225
|
+
return addClickListener(target2, listener);
|
|
226
|
+
});
|
|
227
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
185
228
|
ref: targetRef
|
|
186
229
|
});
|
|
187
230
|
}
|
|
@@ -193,43 +236,55 @@ describe("create-event-handle", () => {
|
|
|
193
236
|
const target = (0, import_dom_event_testing_library.createEventTarget)(targetRef.current);
|
|
194
237
|
(0, import_test_utils.act)(() => {
|
|
195
238
|
target.click();
|
|
196
|
-
})
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
239
|
+
});
|
|
240
|
+
expect(listener).toBeCalledTimes(1);
|
|
241
|
+
});
|
|
242
|
+
test("custom event dispatched on target", () => {
|
|
243
|
+
const listener = jest.fn();
|
|
244
|
+
const targetRef = React.createRef();
|
|
245
|
+
const addMagicEventListener = (0, import__.default)("magic-event");
|
|
201
246
|
function Component() {
|
|
202
|
-
|
|
247
|
+
React.useEffect(() => {
|
|
248
|
+
return addMagicEventListener(targetRef.current, listener);
|
|
249
|
+
});
|
|
250
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
203
251
|
ref: targetRef
|
|
204
252
|
});
|
|
205
253
|
}
|
|
206
254
|
(0, import_test_utils.act)(() => {
|
|
207
255
|
root.render(/* @__PURE__ */(0, import_jsx_runtime.jsx)(Component, {}));
|
|
208
|
-
})
|
|
256
|
+
});
|
|
257
|
+
(0, import_test_utils.act)(() => {
|
|
209
258
|
const event = new CustomEvent("magic-event", {
|
|
210
|
-
bubbles:
|
|
259
|
+
bubbles: true
|
|
211
260
|
});
|
|
212
261
|
targetRef.current.dispatchEvent(event);
|
|
213
|
-
})
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
262
|
+
});
|
|
263
|
+
expect(listener).toBeCalledTimes(1);
|
|
264
|
+
});
|
|
265
|
+
test("listeners can be set on multiple targets simultaneously", () => {
|
|
266
|
+
const log = [];
|
|
267
|
+
const targetRef = React.createRef();
|
|
268
|
+
const parentRef = React.createRef();
|
|
269
|
+
const childRef = React.createRef();
|
|
270
|
+
const addClickListener = (0, import__.default)("click");
|
|
271
|
+
const addClickCaptureListener = (0, import__.default)("click", {
|
|
272
|
+
capture: true
|
|
273
|
+
});
|
|
274
|
+
const listener = jest.fn(e => {
|
|
275
|
+
log.push(["bubble", e.currentTarget.id]);
|
|
276
|
+
});
|
|
277
|
+
const listenerCapture = jest.fn(e => {
|
|
278
|
+
log.push(["capture", e.currentTarget.id]);
|
|
279
|
+
});
|
|
229
280
|
function Component() {
|
|
230
|
-
|
|
231
|
-
addClickListener(targetRef.current, listener)
|
|
232
|
-
|
|
281
|
+
React.useEffect(() => {
|
|
282
|
+
addClickListener(targetRef.current, listener);
|
|
283
|
+
addClickListener(parentRef.current, listener);
|
|
284
|
+
addClickCaptureListener(targetRef.current, listenerCapture);
|
|
285
|
+
addClickCaptureListener(parentRef.current, listenerCapture);
|
|
286
|
+
});
|
|
287
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
233
288
|
id: "parent",
|
|
234
289
|
ref: parentRef,
|
|
235
290
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
@@ -247,35 +302,43 @@ describe("create-event-handle", () => {
|
|
|
247
302
|
const child = (0, import_dom_event_testing_library.createEventTarget)(childRef.current);
|
|
248
303
|
(0, import_test_utils.act)(() => {
|
|
249
304
|
child.click();
|
|
250
|
-
})
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
305
|
+
});
|
|
306
|
+
expect(listenerCapture).toBeCalledTimes(2);
|
|
307
|
+
expect(listener).toBeCalledTimes(2);
|
|
308
|
+
expect(log).toEqual([["capture", "parent"], ["capture", "target"], ["bubble", "target"], ["bubble", "parent"]]);
|
|
309
|
+
});
|
|
310
|
+
test("listeners are specific to each event handle", () => {
|
|
311
|
+
const log = [];
|
|
312
|
+
const targetRef = React.createRef();
|
|
313
|
+
const childRef = React.createRef();
|
|
314
|
+
const addClickListener = (0, import__.default)("click");
|
|
315
|
+
const addClickAltListener = (0, import__.default)("click");
|
|
316
|
+
const addClickCaptureListener = (0, import__.default)("click", {
|
|
317
|
+
capture: true
|
|
318
|
+
});
|
|
319
|
+
const addClickCaptureAltListener = (0, import__.default)("click", {
|
|
320
|
+
capture: true
|
|
321
|
+
});
|
|
322
|
+
const listener = jest.fn(e => {
|
|
323
|
+
log.push(["bubble", "target"]);
|
|
324
|
+
});
|
|
325
|
+
const listenerAlt = jest.fn(e => {
|
|
326
|
+
log.push(["bubble", "target-alt"]);
|
|
327
|
+
});
|
|
328
|
+
const listenerCapture = jest.fn(e => {
|
|
329
|
+
log.push(["capture", "target"]);
|
|
330
|
+
});
|
|
331
|
+
const listenerCaptureAlt = jest.fn(e => {
|
|
332
|
+
log.push(["capture", "target-alt"]);
|
|
333
|
+
});
|
|
275
334
|
function Component() {
|
|
276
|
-
|
|
277
|
-
addClickListener(targetRef.current, listener)
|
|
278
|
-
|
|
335
|
+
React.useEffect(() => {
|
|
336
|
+
addClickListener(targetRef.current, listener);
|
|
337
|
+
addClickAltListener(targetRef.current, listenerAlt);
|
|
338
|
+
addClickCaptureListener(targetRef.current, listenerCapture);
|
|
339
|
+
addClickCaptureAltListener(targetRef.current, listenerCaptureAlt);
|
|
340
|
+
});
|
|
341
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
279
342
|
id: "target",
|
|
280
343
|
ref: targetRef,
|
|
281
344
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
@@ -289,21 +352,29 @@ describe("create-event-handle", () => {
|
|
|
289
352
|
const child = (0, import_dom_event_testing_library.createEventTarget)(childRef.current);
|
|
290
353
|
(0, import_test_utils.act)(() => {
|
|
291
354
|
child.click();
|
|
292
|
-
})
|
|
355
|
+
});
|
|
356
|
+
expect(listenerCapture).toBeCalledTimes(1);
|
|
357
|
+
expect(listenerCaptureAlt).toBeCalledTimes(1);
|
|
358
|
+
expect(listener).toBeCalledTimes(1);
|
|
359
|
+
expect(listenerAlt).toBeCalledTimes(1);
|
|
360
|
+
expect(log).toEqual([["capture", "target"], ["capture", "target-alt"], ["bubble", "target"], ["bubble", "target-alt"]]);
|
|
293
361
|
});
|
|
294
|
-
})
|
|
362
|
+
});
|
|
363
|
+
describe("stopPropagation and stopImmediatePropagation", () => {
|
|
295
364
|
test("stopPropagation works as expected", () => {
|
|
296
365
|
const childListener = jest.fn(e => {
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
366
|
+
e.stopPropagation();
|
|
367
|
+
});
|
|
368
|
+
const targetListener = jest.fn();
|
|
369
|
+
const targetRef = React.createRef();
|
|
370
|
+
const childRef = React.createRef();
|
|
371
|
+
const addClickListener = (0, import__.default)("click");
|
|
303
372
|
function Component() {
|
|
304
|
-
|
|
305
|
-
addClickListener(childRef.current, childListener)
|
|
306
|
-
|
|
373
|
+
React.useEffect(() => {
|
|
374
|
+
addClickListener(childRef.current, childListener);
|
|
375
|
+
addClickListener(targetRef.current, targetListener);
|
|
376
|
+
});
|
|
377
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
307
378
|
ref: targetRef,
|
|
308
379
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
309
380
|
ref: childRef
|
|
@@ -316,19 +387,24 @@ describe("create-event-handle", () => {
|
|
|
316
387
|
const child = (0, import_dom_event_testing_library.createEventTarget)(childRef.current);
|
|
317
388
|
(0, import_test_utils.act)(() => {
|
|
318
389
|
child.click();
|
|
319
|
-
})
|
|
320
|
-
|
|
390
|
+
});
|
|
391
|
+
expect(childListener).toBeCalledTimes(1);
|
|
392
|
+
expect(targetListener).toBeCalledTimes(0);
|
|
393
|
+
});
|
|
394
|
+
test("stopImmediatePropagation works as expected", () => {
|
|
321
395
|
const firstListener = jest.fn(e => {
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
396
|
+
e.stopImmediatePropagation();
|
|
397
|
+
});
|
|
398
|
+
const secondListener = jest.fn();
|
|
399
|
+
const targetRef = React.createRef();
|
|
400
|
+
const addFirstClickListener = (0, import__.default)("click");
|
|
401
|
+
const addSecondClickListener = (0, import__.default)("click");
|
|
328
402
|
function Component() {
|
|
329
|
-
|
|
330
|
-
addFirstClickListener(targetRef.current, firstListener)
|
|
331
|
-
|
|
403
|
+
React.useEffect(() => {
|
|
404
|
+
addFirstClickListener(targetRef.current, firstListener);
|
|
405
|
+
addSecondClickListener(targetRef.current, secondListener);
|
|
406
|
+
});
|
|
407
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
332
408
|
ref: targetRef
|
|
333
409
|
});
|
|
334
410
|
}
|
|
@@ -338,7 +414,9 @@ describe("create-event-handle", () => {
|
|
|
338
414
|
const target = (0, import_dom_event_testing_library.createEventTarget)(targetRef.current);
|
|
339
415
|
(0, import_test_utils.act)(() => {
|
|
340
416
|
target.click();
|
|
341
|
-
})
|
|
417
|
+
});
|
|
418
|
+
expect(firstListener).toBeCalledTimes(1);
|
|
419
|
+
expect(secondListener).toBeCalledTimes(0);
|
|
342
420
|
});
|
|
343
421
|
});
|
|
344
422
|
});
|
|
@@ -5,20 +5,22 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
7
|
var __export = (target, all) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
15
16
|
get: () => from[key],
|
|
16
17
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
18
|
});
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
20
22
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
-
value:
|
|
23
|
+
value: true
|
|
22
24
|
}), mod);
|
|
23
25
|
var createEventHandle_exports = {};
|
|
24
26
|
__export(createEventHandle_exports, {
|
|
@@ -28,20 +30,28 @@ module.exports = __toCommonJS(createEventHandle_exports);
|
|
|
28
30
|
var import_canUseDOM = require("../canUseDOM.cjs");
|
|
29
31
|
const emptyFunction = () => {};
|
|
30
32
|
function supportsPassiveEvents() {
|
|
31
|
-
let supported =
|
|
32
|
-
if (import_canUseDOM.canUseDOM)
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
33
|
+
let supported = false;
|
|
34
|
+
if (import_canUseDOM.canUseDOM) {
|
|
35
|
+
try {
|
|
36
|
+
const options = {};
|
|
37
|
+
Object.defineProperty(options, "passive", {
|
|
38
|
+
get() {
|
|
39
|
+
supported = true;
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
window.addEventListener("test", null, options);
|
|
44
|
+
window.removeEventListener("test", null, options);
|
|
45
|
+
} catch (e) {}
|
|
46
|
+
}
|
|
40
47
|
return supported;
|
|
41
48
|
}
|
|
42
49
|
const canUsePassiveEvents = supportsPassiveEvents();
|
|
43
50
|
function getOptions(options) {
|
|
44
|
-
|
|
51
|
+
if (options == null) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
return canUsePassiveEvents ? options : Boolean(options.capture);
|
|
45
55
|
}
|
|
46
56
|
function isPropagationStopped() {
|
|
47
57
|
return this.cancelBubble;
|
|
@@ -50,18 +60,29 @@ function isDefaultPrevented() {
|
|
|
50
60
|
return this.defaultPrevented;
|
|
51
61
|
}
|
|
52
62
|
function normalizeEvent(event) {
|
|
53
|
-
|
|
63
|
+
event.nativeEvent = event;
|
|
64
|
+
event.persist = emptyFunction;
|
|
65
|
+
event.isDefaultPrevented = isDefaultPrevented;
|
|
66
|
+
event.isPropagationStopped = isPropagationStopped;
|
|
67
|
+
return event;
|
|
54
68
|
}
|
|
55
69
|
function createEventHandle(type, options) {
|
|
56
70
|
const opts = getOptions(options);
|
|
57
71
|
return function (target, listener) {
|
|
58
|
-
if (target == null || typeof target.addEventListener
|
|
72
|
+
if (target == null || typeof target.addEventListener !== "function") {
|
|
73
|
+
throw new Error("createEventHandle: called on an invalid target.");
|
|
74
|
+
}
|
|
59
75
|
const element = target;
|
|
60
76
|
if (listener != null) {
|
|
61
77
|
const compatListener = e => listener(normalizeEvent(e));
|
|
62
|
-
|
|
63
|
-
|
|
78
|
+
element.addEventListener(type, compatListener, opts);
|
|
79
|
+
return function removeListener() {
|
|
80
|
+
if (element != null) {
|
|
81
|
+
element.removeEventListener(type, compatListener, opts);
|
|
82
|
+
}
|
|
64
83
|
};
|
|
65
|
-
} else
|
|
84
|
+
} else {
|
|
85
|
+
return emptyFunction;
|
|
86
|
+
}
|
|
66
87
|
};
|
|
67
88
|
}
|