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