@tamagui/react-native-web-internals 1.116.1 → 1.116.3
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 +192 -0
- package/dist/cjs/StyleSheet/__tests__/compiler-test.js +378 -0
- package/dist/cjs/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.js +117 -0
- package/dist/cjs/StyleSheet/__tests__/index-test.js +347 -0
- package/dist/cjs/StyleSheet/__tests__/preprocess-test.js +77 -0
- package/dist/cjs/StyleSheet/__tests__/validate-test.js +18 -0
- package/dist/cjs/StyleSheet/compiler/createReactDOMStyle.js +121 -0
- package/dist/cjs/StyleSheet/compiler/hash.js +21 -0
- package/dist/cjs/StyleSheet/compiler/hyphenateStyleName.js +31 -0
- package/dist/cjs/StyleSheet/compiler/index.js +253 -0
- package/dist/cjs/StyleSheet/compiler/normalizeColor.js +42 -0
- package/dist/cjs/StyleSheet/compiler/normalizeValueWithProperty.js +45 -0
- package/dist/cjs/StyleSheet/compiler/resolveShadowValue.js +35 -0
- package/dist/cjs/StyleSheet/dom/createCSSStyleSheet.js +44 -0
- package/dist/cjs/StyleSheet/dom/createOrderedCSSStyleSheet.js +94 -0
- package/dist/cjs/StyleSheet/dom/index.js +74 -0
- package/dist/cjs/StyleSheet/index.js +52 -0
- package/dist/cjs/StyleSheet/preprocess.js +67 -0
- package/dist/cjs/StyleSheet/validate.js +66 -0
- package/dist/cjs/TextAncestorContext.js +24 -0
- package/dist/cjs/colorProps.js +32 -0
- package/dist/cjs/index.js +73 -0
- package/dist/cjs/index.js.map +6 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.js +46 -0
- package/dist/cjs/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.js +30 -0
- package/dist/cjs/modules/AccessibilityUtil/index.js +36 -0
- package/dist/cjs/modules/AccessibilityUtil/isDisabled.js +22 -0
- package/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.js +60 -0
- package/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.js +43 -0
- package/dist/cjs/modules/AssetRegistry/index.js +28 -0
- package/dist/cjs/modules/ImageLoader/index.js +102 -0
- package/dist/cjs/modules/InteractionManager.js +68 -0
- package/dist/cjs/modules/Platform/__tests__/index-test.js +46 -0
- package/dist/cjs/modules/Platform/index.js +26 -0
- package/dist/cjs/modules/TextInputState/index.js +59 -0
- package/dist/cjs/modules/UIManager/__tests__/index-test.js +66 -0
- package/dist/cjs/modules/UIManager/index.js +101 -0
- package/dist/cjs/modules/canUseDOM.js +23 -0
- package/dist/cjs/modules/createDOMProps/__tests__/index-test.js +106 -0
- package/dist/cjs/modules/createDOMProps/index.js +121 -0
- package/dist/cjs/modules/createEventHandle/__tests__/index-test.js +242 -0
- package/dist/cjs/modules/createEventHandle/index.js +74 -0
- package/dist/cjs/modules/dismissKeyboard/index.js +33 -0
- package/dist/cjs/modules/forwardedProps/index.js +145 -0
- package/dist/cjs/modules/getBoundingClientRect/index.js +25 -0
- package/dist/cjs/modules/invariant.js +35 -0
- package/dist/cjs/modules/isSelectionValid/index.js +27 -0
- package/dist/cjs/modules/isWebColor/index.js +22 -0
- package/dist/cjs/modules/mergeRefs/__tests__/index-test.js +34 -0
- package/dist/cjs/modules/mergeRefs/index.js +41 -0
- package/dist/cjs/modules/modality/__tests__/index-test.js +20 -0
- package/dist/cjs/modules/modality/index.js +90 -0
- package/dist/cjs/modules/multiplyStyleLengthValue/__tests__/index-test.js +28 -0
- package/dist/cjs/modules/multiplyStyleLengthValue/index.js +28 -0
- package/dist/cjs/modules/normalizeColor/index.js +40 -0
- package/dist/cjs/modules/pick/index.js +26 -0
- package/dist/cjs/modules/processColor/__tests__/index-test.js +64 -0
- package/dist/cjs/modules/processColor/index.js +36 -0
- package/dist/cjs/modules/requestIdleCallback/index.js +44 -0
- package/dist/cjs/modules/setValueForStyles/dangerousStyleValue.js +34 -0
- package/dist/cjs/modules/setValueForStyles/index.js +39 -0
- package/dist/cjs/modules/unitlessNumbers/index.js +80 -0
- package/dist/cjs/modules/useElementLayout/index.js +65 -0
- package/dist/cjs/modules/useEvent/__tests__/index-test.js +289 -0
- package/dist/cjs/modules/useEvent/index.js +45 -0
- package/dist/cjs/modules/useHover/__tests__/index-test.js +195 -0
- package/dist/cjs/modules/useHover/index.js +81 -0
- package/dist/cjs/modules/useLayoutEffect/index.js +31 -0
- package/dist/cjs/modules/useLocale/index.js +54 -0
- package/dist/cjs/modules/useLocale/isLocaleRTL.js +91 -0
- package/dist/cjs/modules/useMergeRefs/__tests__/index-test.js +68 -0
- package/dist/cjs/modules/useMergeRefs/index.js +36 -0
- package/dist/cjs/modules/usePlatformMethods/index.js +39 -0
- package/dist/cjs/modules/useStable/__tests__/index-test.js +69 -0
- package/dist/cjs/modules/useStable/index.js +34 -0
- package/dist/cjs/styleTypes.js +14 -0
- package/dist/cjs/types.js +14 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js.map +1 -1
- package/package.json +7 -7
- package/src/index.tsx +10 -0
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/dist/cjs/index.cjs.map +0 -6
- /package/dist/cjs/StyleSheet/__tests__/{compiler-createReactDOMStyle-test.cjs.map → compiler-createReactDOMStyle-test.js.map} +0 -0
- /package/dist/cjs/StyleSheet/__tests__/{compiler-test.cjs.map → compiler-test.js.map} +0 -0
- /package/dist/cjs/StyleSheet/__tests__/{dom-createOrderedCSSStyleSheet-test.cjs.map → dom-createOrderedCSSStyleSheet-test.js.map} +0 -0
- /package/dist/cjs/StyleSheet/__tests__/{index-test.cjs.map → index-test.js.map} +0 -0
- /package/dist/cjs/StyleSheet/__tests__/{preprocess-test.cjs.map → preprocess-test.js.map} +0 -0
- /package/dist/cjs/StyleSheet/__tests__/{validate-test.cjs.map → validate-test.js.map} +0 -0
- /package/dist/cjs/StyleSheet/compiler/{createReactDOMStyle.cjs.map → createReactDOMStyle.js.map} +0 -0
- /package/dist/cjs/StyleSheet/compiler/{hash.cjs.map → hash.js.map} +0 -0
- /package/dist/cjs/StyleSheet/compiler/{hyphenateStyleName.cjs.map → hyphenateStyleName.js.map} +0 -0
- /package/dist/cjs/StyleSheet/compiler/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/StyleSheet/compiler/{normalizeColor.cjs.map → normalizeColor.js.map} +0 -0
- /package/dist/cjs/StyleSheet/compiler/{normalizeValueWithProperty.cjs.map → normalizeValueWithProperty.js.map} +0 -0
- /package/dist/cjs/StyleSheet/compiler/{resolveShadowValue.cjs.map → resolveShadowValue.js.map} +0 -0
- /package/dist/cjs/StyleSheet/dom/{createCSSStyleSheet.cjs.map → createCSSStyleSheet.js.map} +0 -0
- /package/dist/cjs/StyleSheet/dom/{createOrderedCSSStyleSheet.cjs.map → createOrderedCSSStyleSheet.js.map} +0 -0
- /package/dist/cjs/StyleSheet/dom/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/StyleSheet/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/StyleSheet/{preprocess.cjs.map → preprocess.js.map} +0 -0
- /package/dist/cjs/StyleSheet/{validate.cjs.map → validate.js.map} +0 -0
- /package/dist/cjs/{TextAncestorContext.cjs.map → TextAncestorContext.js.map} +0 -0
- /package/dist/cjs/{colorProps.cjs.map → colorProps.js.map} +0 -0
- /package/dist/cjs/modules/AccessibilityUtil/__tests__/{propsToAccessibilityComponent-test.cjs.map → propsToAccessibilityComponent-test.js.map} +0 -0
- /package/dist/cjs/modules/AccessibilityUtil/__tests__/{propsToAriaRole-test.cjs.map → propsToAriaRole-test.js.map} +0 -0
- /package/dist/cjs/modules/AccessibilityUtil/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/AccessibilityUtil/{isDisabled.cjs.map → isDisabled.js.map} +0 -0
- /package/dist/cjs/modules/AccessibilityUtil/{propsToAccessibilityComponent.cjs.map → propsToAccessibilityComponent.js.map} +0 -0
- /package/dist/cjs/modules/AccessibilityUtil/{propsToAriaRole.cjs.map → propsToAriaRole.js.map} +0 -0
- /package/dist/cjs/modules/AssetRegistry/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/ImageLoader/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/{InteractionManager.cjs.map → InteractionManager.js.map} +0 -0
- /package/dist/cjs/modules/Platform/__tests__/{index-test.cjs.map → index-test.js.map} +0 -0
- /package/dist/cjs/modules/Platform/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/TextInputState/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/UIManager/__tests__/{index-test.cjs.map → index-test.js.map} +0 -0
- /package/dist/cjs/modules/UIManager/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/{canUseDOM.cjs.map → canUseDOM.js.map} +0 -0
- /package/dist/cjs/modules/createDOMProps/__tests__/{index-test.cjs.map → index-test.js.map} +0 -0
- /package/dist/cjs/modules/createDOMProps/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/createEventHandle/__tests__/{index-test.cjs.map → index-test.js.map} +0 -0
- /package/dist/cjs/modules/createEventHandle/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/dismissKeyboard/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/forwardedProps/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/getBoundingClientRect/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/{invariant.cjs.map → invariant.js.map} +0 -0
- /package/dist/cjs/modules/isSelectionValid/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/isWebColor/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/mergeRefs/__tests__/{index-test.cjs.map → index-test.js.map} +0 -0
- /package/dist/cjs/modules/mergeRefs/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/modality/__tests__/{index-test.cjs.map → index-test.js.map} +0 -0
- /package/dist/cjs/modules/modality/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/multiplyStyleLengthValue/__tests__/{index-test.cjs.map → index-test.js.map} +0 -0
- /package/dist/cjs/modules/multiplyStyleLengthValue/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/normalizeColor/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/pick/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/processColor/__tests__/{index-test.cjs.map → index-test.js.map} +0 -0
- /package/dist/cjs/modules/processColor/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/requestIdleCallback/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/setValueForStyles/{dangerousStyleValue.cjs.map → dangerousStyleValue.js.map} +0 -0
- /package/dist/cjs/modules/setValueForStyles/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/unitlessNumbers/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/useElementLayout/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/useEvent/__tests__/{index-test.cjs.map → index-test.js.map} +0 -0
- /package/dist/cjs/modules/useEvent/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/useHover/__tests__/{index-test.cjs.map → index-test.js.map} +0 -0
- /package/dist/cjs/modules/useHover/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/useLayoutEffect/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/useLocale/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/useLocale/{isLocaleRTL.cjs.map → isLocaleRTL.js.map} +0 -0
- /package/dist/cjs/modules/useMergeRefs/__tests__/{index-test.cjs.map → index-test.js.map} +0 -0
- /package/dist/cjs/modules/useMergeRefs/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/usePlatformMethods/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/modules/useStable/__tests__/{index-test.cjs.map → index-test.js.map} +0 -0
- /package/dist/cjs/modules/useStable/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/{styleTypes.cjs.map → styleTypes.js.map} +0 -0
- /package/dist/cjs/{types.cjs.map → types.js.map} +0 -0
|
@@ -0,0 +1,195 @@
|
|
|
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, __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
return to;
|
|
11
|
+
};
|
|
12
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
13
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
14
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
15
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
16
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
17
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
18
|
+
mod
|
|
19
|
+
));
|
|
20
|
+
var import_dom_event_testing_library = require("dom-event-testing-library"), React = __toESM(require("react")), ReactDOM = __toESM(require("react-dom")), import_test_utils = require("react-dom/test-utils"), import_modality = require("../../modality/index"), import__ = __toESM(require("..")), import_jsx_runtime = require("react/jsx-runtime");
|
|
21
|
+
function createRoot(rootNode) {
|
|
22
|
+
return {
|
|
23
|
+
render(element) {
|
|
24
|
+
ReactDOM.render(element, rootNode);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
(0, import_dom_event_testing_library.describeWithPointerEvent)("useHover", (hasPointerEvents) => {
|
|
29
|
+
let root, rootNode;
|
|
30
|
+
beforeEach(() => {
|
|
31
|
+
(0, import_dom_event_testing_library.setPointerEvent)(hasPointerEvents), rootNode = document.createElement("div"), document.body.appendChild(rootNode), root = createRoot(rootNode);
|
|
32
|
+
}), afterEach(() => {
|
|
33
|
+
root.render(null), document.body.removeChild(rootNode), rootNode = null, root = null, (0, import_modality.testOnly_resetActiveModality)(), (0, import_dom_event_testing_library.clearPointers)();
|
|
34
|
+
}), describe("contain", () => {
|
|
35
|
+
let onHoverChange, onHoverStart, onHoverUpdate, onHoverEnd, ref, childRef;
|
|
36
|
+
const componentInit = () => {
|
|
37
|
+
onHoverChange = jest.fn(), onHoverStart = jest.fn(), onHoverUpdate = jest.fn(), onHoverEnd = jest.fn(), ref = React.createRef(), childRef = React.createRef();
|
|
38
|
+
const Component = () => ((0, import__.default)(ref, {
|
|
39
|
+
onHoverChange,
|
|
40
|
+
onHoverStart,
|
|
41
|
+
onHoverUpdate,
|
|
42
|
+
onHoverEnd
|
|
43
|
+
}), (0, import__.default)(childRef, { contain: !0 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref: childRef }) }));
|
|
44
|
+
(0, import_test_utils.act)(() => {
|
|
45
|
+
root.render(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, {}));
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
test("contains the hover gesture", () => {
|
|
49
|
+
componentInit();
|
|
50
|
+
const target = (0, import_dom_event_testing_library.createEventTarget)(ref.current), child = (0, import_dom_event_testing_library.createEventTarget)(childRef.current);
|
|
51
|
+
(0, import_test_utils.act)(() => {
|
|
52
|
+
target.pointerover(), target.pointerout(), child.pointerover();
|
|
53
|
+
}), expect(onHoverEnd).toBeCalled(), (0, import_test_utils.act)(() => {
|
|
54
|
+
child.pointerout();
|
|
55
|
+
}), expect(onHoverStart).toBeCalled();
|
|
56
|
+
});
|
|
57
|
+
}), describe("disabled", () => {
|
|
58
|
+
let onHoverChange, onHoverStart, onHoverUpdate, onHoverEnd, ref;
|
|
59
|
+
const componentInit = () => {
|
|
60
|
+
onHoverChange = jest.fn(), onHoverStart = jest.fn(), onHoverUpdate = jest.fn(), onHoverEnd = jest.fn(), ref = React.createRef();
|
|
61
|
+
const Component = () => ((0, import__.default)(ref, {
|
|
62
|
+
disabled: !0,
|
|
63
|
+
onHoverChange,
|
|
64
|
+
onHoverStart,
|
|
65
|
+
onHoverUpdate,
|
|
66
|
+
onHoverEnd
|
|
67
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref }));
|
|
68
|
+
(0, import_test_utils.act)(() => {
|
|
69
|
+
root.render(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, {}));
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
test("does not call callbacks", () => {
|
|
73
|
+
componentInit();
|
|
74
|
+
const target = (0, import_dom_event_testing_library.createEventTarget)(ref.current);
|
|
75
|
+
(0, import_test_utils.act)(() => {
|
|
76
|
+
target.pointerover(), target.pointerout();
|
|
77
|
+
}), expect(onHoverChange).not.toBeCalled(), expect(onHoverStart).not.toBeCalled(), expect(onHoverUpdate).not.toBeCalled(), expect(onHoverEnd).not.toBeCalled();
|
|
78
|
+
});
|
|
79
|
+
}), describe("onHoverStart", () => {
|
|
80
|
+
let onHoverStart, ref;
|
|
81
|
+
const componentInit = () => {
|
|
82
|
+
onHoverStart = jest.fn(), ref = React.createRef();
|
|
83
|
+
const Component = () => ((0, import__.default)(ref, { onHoverStart }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref }));
|
|
84
|
+
(0, import_test_utils.act)(() => {
|
|
85
|
+
root.render(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, {}));
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
test("is called for mouse pointers", () => {
|
|
89
|
+
componentInit();
|
|
90
|
+
const target = (0, import_dom_event_testing_library.createEventTarget)(ref.current);
|
|
91
|
+
(0, import_test_utils.act)(() => {
|
|
92
|
+
target.pointerover({ pointerType: "mouse" });
|
|
93
|
+
}), expect(onHoverStart).toBeCalledTimes(1);
|
|
94
|
+
}), test("is not called for touch pointers", () => {
|
|
95
|
+
componentInit();
|
|
96
|
+
const target = (0, import_dom_event_testing_library.createEventTarget)(ref.current);
|
|
97
|
+
(0, import_test_utils.act)(() => {
|
|
98
|
+
target.pointerdown({ pointerType: "touch" }), target.pointerup({ pointerType: "touch" });
|
|
99
|
+
}), expect(onHoverStart).not.toBeCalled();
|
|
100
|
+
}), test("is called if a mouse pointer is used after a touch pointer", () => {
|
|
101
|
+
componentInit();
|
|
102
|
+
const target = (0, import_dom_event_testing_library.createEventTarget)(ref.current);
|
|
103
|
+
(0, import_test_utils.act)(() => {
|
|
104
|
+
target.pointerdown({ pointerType: "touch" }), target.pointerup({ pointerType: "touch" }), target.pointerover({ pointerType: "mouse" });
|
|
105
|
+
}), expect(onHoverStart).toBeCalledTimes(1);
|
|
106
|
+
});
|
|
107
|
+
}), describe("onHoverChange", () => {
|
|
108
|
+
let onHoverChange, ref;
|
|
109
|
+
const componentInit = () => {
|
|
110
|
+
onHoverChange = jest.fn(), ref = React.createRef();
|
|
111
|
+
const Component = () => ((0, import__.default)(ref, { onHoverChange }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref }));
|
|
112
|
+
(0, import_test_utils.act)(() => {
|
|
113
|
+
root.render(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, {}));
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
test("is called for mouse pointers", () => {
|
|
117
|
+
componentInit();
|
|
118
|
+
const target = (0, import_dom_event_testing_library.createEventTarget)(ref.current);
|
|
119
|
+
(0, import_test_utils.act)(() => {
|
|
120
|
+
target.pointerover();
|
|
121
|
+
}), expect(onHoverChange).toBeCalledTimes(1), expect(onHoverChange).toBeCalledWith(!0), (0, import_test_utils.act)(() => {
|
|
122
|
+
target.pointerout();
|
|
123
|
+
}), expect(onHoverChange).toBeCalledTimes(2), expect(onHoverChange).toBeCalledWith(!1);
|
|
124
|
+
}), test("is not called for touch pointers", () => {
|
|
125
|
+
componentInit();
|
|
126
|
+
const target = (0, import_dom_event_testing_library.createEventTarget)(ref.current);
|
|
127
|
+
(0, import_test_utils.act)(() => {
|
|
128
|
+
target.pointerdown({ pointerType: "touch" }), target.pointerup({ pointerType: "touch" });
|
|
129
|
+
}), expect(onHoverChange).not.toBeCalled();
|
|
130
|
+
});
|
|
131
|
+
}), describe("onHoverEnd", () => {
|
|
132
|
+
let onHoverEnd, ref, childRef;
|
|
133
|
+
const componentInit = () => {
|
|
134
|
+
onHoverEnd = jest.fn(), ref = React.createRef(), childRef = React.createRef();
|
|
135
|
+
const Component = () => ((0, import__.default)(ref, { onHoverEnd }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref: childRef }) }));
|
|
136
|
+
(0, import_test_utils.act)(() => {
|
|
137
|
+
root.render(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, {}));
|
|
138
|
+
});
|
|
139
|
+
};
|
|
140
|
+
test("is called for mouse pointers", () => {
|
|
141
|
+
componentInit();
|
|
142
|
+
const target = (0, import_dom_event_testing_library.createEventTarget)(ref.current);
|
|
143
|
+
(0, import_test_utils.act)(() => {
|
|
144
|
+
target.pointerover(), target.pointerout();
|
|
145
|
+
}), expect(onHoverEnd).toBeCalledTimes(1);
|
|
146
|
+
}), test("is not called for touch pointers", () => {
|
|
147
|
+
componentInit();
|
|
148
|
+
const target = (0, import_dom_event_testing_library.createEventTarget)(ref.current);
|
|
149
|
+
(0, import_test_utils.act)(() => {
|
|
150
|
+
target.pointerdown({ pointerType: "touch" }), target.pointerup({ pointerType: "touch" });
|
|
151
|
+
}), expect(onHoverEnd).not.toBeCalled();
|
|
152
|
+
}), test("is not called when entering children of the target", () => {
|
|
153
|
+
componentInit();
|
|
154
|
+
const target = (0, import_dom_event_testing_library.createEventTarget)(ref.current), child = (0, import_dom_event_testing_library.createEventTarget)(childRef.current);
|
|
155
|
+
(0, import_test_utils.act)(() => {
|
|
156
|
+
target.pointerover(), target.pointerout({ relatedTarget: childRef.current }), child.pointerover({ relatedTarget: target.node });
|
|
157
|
+
}), expect(onHoverEnd).not.toBeCalled();
|
|
158
|
+
});
|
|
159
|
+
}), describe("onHoverUpdate", () => {
|
|
160
|
+
test('is called after the active pointer moves"', () => {
|
|
161
|
+
const onHoverUpdate = jest.fn(), ref = React.createRef(), Component = () => ((0, import__.default)(ref, { onHoverUpdate }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref }));
|
|
162
|
+
(0, import_test_utils.act)(() => {
|
|
163
|
+
root.render(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, {}));
|
|
164
|
+
});
|
|
165
|
+
const target = (0, import_dom_event_testing_library.createEventTarget)(ref.current);
|
|
166
|
+
(0, import_test_utils.act)(() => {
|
|
167
|
+
target.pointerover(), target.pointerhover({ x: 0, y: 0 }), target.pointerhover({ x: 1, y: 1 });
|
|
168
|
+
}), expect(onHoverUpdate).toBeCalledTimes(2);
|
|
169
|
+
});
|
|
170
|
+
}), describe("repeat use", () => {
|
|
171
|
+
let onHoverChange, onHoverStart, onHoverUpdate, onHoverEnd, ref;
|
|
172
|
+
const componentInit = () => {
|
|
173
|
+
onHoverChange = jest.fn(), onHoverStart = jest.fn(), onHoverUpdate = jest.fn(), onHoverEnd = jest.fn(), ref = React.createRef();
|
|
174
|
+
const Component = () => ((0, import__.default)(ref, {
|
|
175
|
+
onHoverChange,
|
|
176
|
+
onHoverStart,
|
|
177
|
+
onHoverUpdate,
|
|
178
|
+
onHoverEnd
|
|
179
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref }));
|
|
180
|
+
(0, import_test_utils.act)(() => {
|
|
181
|
+
root.render(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, {}));
|
|
182
|
+
});
|
|
183
|
+
};
|
|
184
|
+
test("callbacks are called each time", () => {
|
|
185
|
+
componentInit();
|
|
186
|
+
const target = (0, import_dom_event_testing_library.createEventTarget)(ref.current);
|
|
187
|
+
(0, import_test_utils.act)(() => {
|
|
188
|
+
target.pointerover(), target.pointerhover({ x: 1, y: 1 }), target.pointerout();
|
|
189
|
+
}), expect(onHoverStart).toBeCalledTimes(1), expect(onHoverUpdate).toBeCalledTimes(1), expect(onHoverEnd).toBeCalledTimes(1), expect(onHoverChange).toBeCalledTimes(2), (0, import_test_utils.act)(() => {
|
|
190
|
+
target.pointerover(), target.pointerhover({ x: 1, y: 1 }), target.pointerout();
|
|
191
|
+
}), expect(onHoverStart).toBeCalledTimes(2), expect(onHoverUpdate).toBeCalledTimes(2), expect(onHoverEnd).toBeCalledTimes(2), expect(onHoverChange).toBeCalledTimes(4);
|
|
192
|
+
});
|
|
193
|
+
});
|
|
194
|
+
});
|
|
195
|
+
//# sourceMappingURL=index-test.js.map
|
|
@@ -0,0 +1,81 @@
|
|
|
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, __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
9
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
+
return to;
|
|
14
|
+
};
|
|
15
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
16
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
17
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
18
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
19
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
21
|
+
mod
|
|
22
|
+
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
23
|
+
var useHover_exports = {};
|
|
24
|
+
__export(useHover_exports, {
|
|
25
|
+
default: () => useHover
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(useHover_exports);
|
|
28
|
+
var import_modality = require("../modality/index"), import_useEvent = __toESM(require("../useEvent/index")), import_useLayoutEffect = __toESM(require("../useLayoutEffect/index"));
|
|
29
|
+
const emptyObject = {}, opts = { passive: !0 }, lockEventType = "react-gui:hover:lock", unlockEventType = "react-gui:hover:unlock", supportsPointerEvent = () => typeof window < "u" && window.PointerEvent != null;
|
|
30
|
+
function dispatchCustomEvent(target, type, payload) {
|
|
31
|
+
const event = document.createEvent("CustomEvent"), { bubbles = !0, cancelable = !0, detail } = payload || emptyObject;
|
|
32
|
+
event.initCustomEvent(type, bubbles, cancelable, detail), target.dispatchEvent(event);
|
|
33
|
+
}
|
|
34
|
+
function getPointerType(event) {
|
|
35
|
+
const { pointerType } = event;
|
|
36
|
+
return pointerType ?? (0, import_modality.getModality)();
|
|
37
|
+
}
|
|
38
|
+
function useHover(targetRef, config) {
|
|
39
|
+
const { contain, disabled, onHoverStart, onHoverChange, onHoverUpdate, onHoverEnd } = config, canUsePE = supportsPointerEvent(), addMoveListener = (0, import_useEvent.default)(canUsePE ? "pointermove" : "mousemove", opts), addEnterListener = (0, import_useEvent.default)(canUsePE ? "pointerenter" : "mouseenter", opts), addLeaveListener = (0, import_useEvent.default)(canUsePE ? "pointerleave" : "mouseleave", opts), addLockListener = (0, import_useEvent.default)(lockEventType, opts), addUnlockListener = (0, import_useEvent.default)(unlockEventType, opts);
|
|
40
|
+
(0, import_useLayoutEffect.default)(() => {
|
|
41
|
+
const target = targetRef.current;
|
|
42
|
+
if (target !== null) {
|
|
43
|
+
const hoverEnd = function(e) {
|
|
44
|
+
onHoverEnd?.(e), onHoverChange?.(!1), addMoveListener(target, null), addLeaveListener(target, null);
|
|
45
|
+
}, leaveListener = function(e) {
|
|
46
|
+
const target2 = targetRef.current;
|
|
47
|
+
target2 != null && getPointerType(e) !== "touch" && (contain && dispatchCustomEvent(target2, unlockEventType), hoverEnd(e));
|
|
48
|
+
}, moveListener = function(e) {
|
|
49
|
+
getPointerType(e) !== "touch" && onHoverUpdate != null && (e.x == null && (e.x = e.clientX), e.y == null && (e.y = e.clientY), onHoverUpdate(e));
|
|
50
|
+
}, hoverStart = function(e) {
|
|
51
|
+
onHoverStart?.(e), onHoverChange?.(!0), onHoverUpdate != null && addMoveListener(target, disabled ? null : moveListener), addLeaveListener(target, disabled ? null : leaveListener);
|
|
52
|
+
};
|
|
53
|
+
addEnterListener(target, disabled ? null : function(e) {
|
|
54
|
+
const target2 = targetRef.current;
|
|
55
|
+
if (target2 != null && getPointerType(e) !== "touch") {
|
|
56
|
+
contain && dispatchCustomEvent(target2, lockEventType), hoverStart(e);
|
|
57
|
+
const lockListener = function(lockEvent) {
|
|
58
|
+
lockEvent.target !== target2 && hoverEnd(e);
|
|
59
|
+
}, unlockListener = function(lockEvent) {
|
|
60
|
+
lockEvent.target !== target2 && hoverStart(e);
|
|
61
|
+
};
|
|
62
|
+
addLockListener(target2, disabled ? null : lockListener), addUnlockListener(target2, disabled ? null : unlockListener);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}, [
|
|
67
|
+
addEnterListener,
|
|
68
|
+
addMoveListener,
|
|
69
|
+
addLeaveListener,
|
|
70
|
+
addLockListener,
|
|
71
|
+
addUnlockListener,
|
|
72
|
+
contain,
|
|
73
|
+
disabled,
|
|
74
|
+
onHoverStart,
|
|
75
|
+
onHoverChange,
|
|
76
|
+
onHoverUpdate,
|
|
77
|
+
onHoverEnd,
|
|
78
|
+
targetRef
|
|
79
|
+
]);
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,31 @@
|
|
|
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, __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
9
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
+
return to;
|
|
14
|
+
};
|
|
15
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
16
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
17
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
18
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
19
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
21
|
+
mod
|
|
22
|
+
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
23
|
+
var useLayoutEffect_exports = {};
|
|
24
|
+
__export(useLayoutEffect_exports, {
|
|
25
|
+
default: () => useLayoutEffect_default
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(useLayoutEffect_exports);
|
|
28
|
+
var import_react = __toESM(require("react")), import_canUseDOM = __toESM(require("../canUseDOM"));
|
|
29
|
+
const useLayoutEffectImpl = import_canUseDOM.default ? import_react.default.useLayoutEffect : import_react.default.useEffect;
|
|
30
|
+
var useLayoutEffect_default = useLayoutEffectImpl;
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,54 @@
|
|
|
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, __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
9
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
+
return to;
|
|
14
|
+
};
|
|
15
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
16
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
17
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
18
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
19
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
21
|
+
mod
|
|
22
|
+
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
23
|
+
var useLocale_exports = {};
|
|
24
|
+
__export(useLocale_exports, {
|
|
25
|
+
LocaleProvider: () => LocaleProvider,
|
|
26
|
+
getLocaleDirection: () => getLocaleDirection,
|
|
27
|
+
useLocaleContext: () => useLocaleContext
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(useLocale_exports);
|
|
30
|
+
var import_react = __toESM(require("react")), import_isLocaleRTL = require("./isLocaleRTL"), import_jsx_runtime = require("react/jsx-runtime");
|
|
31
|
+
const defaultLocale = {
|
|
32
|
+
direction: "ltr",
|
|
33
|
+
locale: "en-US"
|
|
34
|
+
}, LocaleContext = import_react.default.createContext(defaultLocale);
|
|
35
|
+
function getLocaleDirection(locale) {
|
|
36
|
+
return (0, import_isLocaleRTL.isLocaleRTL)(locale) ? "rtl" : "ltr";
|
|
37
|
+
}
|
|
38
|
+
function LocaleProvider(props) {
|
|
39
|
+
const { direction, locale, children } = props;
|
|
40
|
+
return direction || locale ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
41
|
+
LocaleContext.Provider,
|
|
42
|
+
{
|
|
43
|
+
value: {
|
|
44
|
+
direction: locale ? getLocaleDirection(locale) : direction,
|
|
45
|
+
locale
|
|
46
|
+
},
|
|
47
|
+
children
|
|
48
|
+
}
|
|
49
|
+
) : children;
|
|
50
|
+
}
|
|
51
|
+
function useLocaleContext() {
|
|
52
|
+
return import_react.default.useContext(LocaleContext);
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
+
var isLocaleRTL_exports = {};
|
|
16
|
+
__export(isLocaleRTL_exports, {
|
|
17
|
+
isLocaleRTL: () => isLocaleRTL
|
|
18
|
+
});
|
|
19
|
+
module.exports = __toCommonJS(isLocaleRTL_exports);
|
|
20
|
+
const rtlScripts = /* @__PURE__ */ new Set([
|
|
21
|
+
"Arab",
|
|
22
|
+
"Syrc",
|
|
23
|
+
"Samr",
|
|
24
|
+
"Mand",
|
|
25
|
+
"Thaa",
|
|
26
|
+
"Mend",
|
|
27
|
+
"Nkoo",
|
|
28
|
+
"Adlm",
|
|
29
|
+
"Rohg",
|
|
30
|
+
"Hebr"
|
|
31
|
+
]), rtlLangs = /* @__PURE__ */ new Set([
|
|
32
|
+
"ae",
|
|
33
|
+
// Avestan
|
|
34
|
+
"ar",
|
|
35
|
+
// Arabic
|
|
36
|
+
"arc",
|
|
37
|
+
// Aramaic
|
|
38
|
+
"bcc",
|
|
39
|
+
// Southern Balochi
|
|
40
|
+
"bqi",
|
|
41
|
+
// Bakthiari
|
|
42
|
+
"ckb",
|
|
43
|
+
// Sorani
|
|
44
|
+
"dv",
|
|
45
|
+
// Dhivehi
|
|
46
|
+
"fa",
|
|
47
|
+
"far",
|
|
48
|
+
// Persian
|
|
49
|
+
"glk",
|
|
50
|
+
// Gilaki
|
|
51
|
+
"he",
|
|
52
|
+
"iw",
|
|
53
|
+
// Hebrew
|
|
54
|
+
"khw",
|
|
55
|
+
// Khowar
|
|
56
|
+
"ks",
|
|
57
|
+
// Kashmiri
|
|
58
|
+
"ku",
|
|
59
|
+
// Kurdish
|
|
60
|
+
"mzn",
|
|
61
|
+
// Mazanderani
|
|
62
|
+
"nqo",
|
|
63
|
+
// N'Ko
|
|
64
|
+
"pnb",
|
|
65
|
+
// Western Punjabi
|
|
66
|
+
"ps",
|
|
67
|
+
// Pashto
|
|
68
|
+
"sd",
|
|
69
|
+
// Sindhi
|
|
70
|
+
"ug",
|
|
71
|
+
// Uyghur
|
|
72
|
+
"ur",
|
|
73
|
+
// Urdu
|
|
74
|
+
"yi"
|
|
75
|
+
// Yiddish
|
|
76
|
+
]), cache = /* @__PURE__ */ new Map();
|
|
77
|
+
function isLocaleRTL(locale) {
|
|
78
|
+
const cachedRTL = cache.get(locale);
|
|
79
|
+
if (cachedRTL)
|
|
80
|
+
return cachedRTL;
|
|
81
|
+
let isRTL = !1;
|
|
82
|
+
if (Intl.Locale) {
|
|
83
|
+
const script = new Intl.Locale(locale).maximize().script;
|
|
84
|
+
isRTL = rtlScripts.has(script);
|
|
85
|
+
} else {
|
|
86
|
+
const lang = locale.split("-")[0];
|
|
87
|
+
isRTL = rtlLangs.has(lang);
|
|
88
|
+
}
|
|
89
|
+
return cache.set(locale, isRTL), isRTL;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=isLocaleRTL.js.map
|
|
@@ -0,0 +1,68 @@
|
|
|
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, __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
return to;
|
|
11
|
+
};
|
|
12
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
13
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
14
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
15
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
16
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
17
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
18
|
+
mod
|
|
19
|
+
));
|
|
20
|
+
var import_react = require("@testing-library/react"), React = __toESM(require("react")), import_test_utils = require("react-dom/test-utils"), import__ = __toESM(require("..")), import_jsx_runtime = require("react/jsx-runtime");
|
|
21
|
+
describe("modules/useMergeRefs/index.js", () => {
|
|
22
|
+
function TestComponent({ refs, ...rest }) {
|
|
23
|
+
const mergedRef = (0, import__.default)(...refs);
|
|
24
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref: mergedRef, ...rest });
|
|
25
|
+
}
|
|
26
|
+
afterEach(import_react.cleanup), test("handles no refs", () => {
|
|
27
|
+
(0, import_test_utils.act)(() => {
|
|
28
|
+
(0, import_react.render)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TestComponent, { refs: [] }));
|
|
29
|
+
});
|
|
30
|
+
}), test("merges any number of varying refs", () => {
|
|
31
|
+
const callbackRef1 = jest.fn(), callbackRef2 = jest.fn(), objectRef1 = React.createRef(), objectRef2 = React.createRef(), nullRef = null;
|
|
32
|
+
(0, import_test_utils.act)(() => {
|
|
33
|
+
(0, import_react.render)(
|
|
34
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
35
|
+
TestComponent,
|
|
36
|
+
{
|
|
37
|
+
refs: [callbackRef1, callbackRef2, objectRef1, objectRef2, nullRef]
|
|
38
|
+
}
|
|
39
|
+
)
|
|
40
|
+
);
|
|
41
|
+
}), expect(callbackRef1).toHaveBeenCalledTimes(1), expect(callbackRef2).toHaveBeenCalledTimes(1), expect(objectRef1.current).toBeInstanceOf(HTMLDivElement), expect(objectRef2.current).toBeInstanceOf(HTMLDivElement);
|
|
42
|
+
}), test("ref is called when ref changes", () => {
|
|
43
|
+
const ref = jest.fn(), nextRef = jest.fn();
|
|
44
|
+
let rerender;
|
|
45
|
+
(0, import_test_utils.act)(() => {
|
|
46
|
+
({ rerender } = (0, import_react.render)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TestComponent, { refs: [ref] })));
|
|
47
|
+
}), expect(ref).toHaveBeenCalled(), (0, import_test_utils.act)(() => {
|
|
48
|
+
rerender(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TestComponent, { refs: [nextRef] }));
|
|
49
|
+
}), expect(nextRef).toHaveBeenCalled();
|
|
50
|
+
}), test("ref is not called for each rerender", () => {
|
|
51
|
+
const ref = jest.fn();
|
|
52
|
+
let rerender;
|
|
53
|
+
(0, import_test_utils.act)(() => {
|
|
54
|
+
({ rerender } = (0, import_react.render)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TestComponent, { refs: [ref] })));
|
|
55
|
+
}), expect(ref).toHaveBeenCalledTimes(1), (0, import_test_utils.act)(() => {
|
|
56
|
+
rerender(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TestComponent, { refs: [ref] }));
|
|
57
|
+
}), expect(ref).toHaveBeenCalledTimes(1);
|
|
58
|
+
}), test("ref is not called for props changes", () => {
|
|
59
|
+
const ref = jest.fn();
|
|
60
|
+
let rerender;
|
|
61
|
+
(0, import_test_utils.act)(() => {
|
|
62
|
+
({ rerender } = (0, import_react.render)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TestComponent, { id: "foo", refs: [ref] })));
|
|
63
|
+
}), expect(ref).toHaveBeenCalledTimes(1), (0, import_test_utils.act)(() => {
|
|
64
|
+
rerender(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TestComponent, { id: "bar", refs: [ref] }));
|
|
65
|
+
}), expect(ref).toHaveBeenCalledTimes(1);
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=index-test.js.map
|
|
@@ -0,0 +1,36 @@
|
|
|
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, __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
9
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
+
return to;
|
|
14
|
+
};
|
|
15
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
16
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
17
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
18
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
19
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
21
|
+
mod
|
|
22
|
+
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
23
|
+
var useMergeRefs_exports = {};
|
|
24
|
+
__export(useMergeRefs_exports, {
|
|
25
|
+
useMergeRefs: () => useMergeRefs
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(useMergeRefs_exports);
|
|
28
|
+
var React = __toESM(require("react")), import_mergeRefs = require("../mergeRefs/index");
|
|
29
|
+
function useMergeRefs(...args) {
|
|
30
|
+
return React.useMemo(
|
|
31
|
+
() => (0, import_mergeRefs.mergeRefs)(...args),
|
|
32
|
+
// eslint-disable-next-line
|
|
33
|
+
[...args]
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,39 @@
|
|
|
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, __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
9
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
+
return to;
|
|
14
|
+
};
|
|
15
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
16
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
17
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
18
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
19
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
21
|
+
mod
|
|
22
|
+
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
23
|
+
var usePlatformMethods_exports = {};
|
|
24
|
+
__export(usePlatformMethods_exports, {
|
|
25
|
+
default: () => usePlatformMethods_default,
|
|
26
|
+
usePlatformMethods: () => usePlatformMethods
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(usePlatformMethods_exports);
|
|
29
|
+
var import_UIManager = __toESM(require("../UIManager/index")), import_useStable = __toESM(require("../useStable/index"));
|
|
30
|
+
function usePlatformMethods({
|
|
31
|
+
pointerEvents,
|
|
32
|
+
style
|
|
33
|
+
}) {
|
|
34
|
+
return (0, import_useStable.default)(() => (hostNode) => {
|
|
35
|
+
hostNode != null && (hostNode.measure = (callback) => import_UIManager.default.measure(hostNode, callback), hostNode.measureLayout = (relativeToNode, success, failure) => import_UIManager.default.measureLayout(hostNode, relativeToNode, failure, success), hostNode.measureInWindow = (callback) => import_UIManager.default.measureInWindow(hostNode, callback));
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
var usePlatformMethods_default = usePlatformMethods;
|
|
39
|
+
//# sourceMappingURL=index.js.map
|