@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.
Files changed (198) hide show
  1. package/dist/cjs/StyleSheet/__tests__/{compiler-createReactDOMStyle-test.js → compiler-createReactDOMStyle-test.cjs} +98 -50
  2. package/dist/cjs/StyleSheet/__tests__/{compiler-test.js → compiler-test.cjs} +158 -129
  3. package/dist/cjs/StyleSheet/__tests__/{dom-createOrderedCSSStyleSheet-test.js → dom-createOrderedCSSStyleSheet-test.cjs} +23 -19
  4. package/dist/cjs/StyleSheet/__tests__/{index-test.js → index-test.cjs} +173 -116
  5. package/dist/cjs/StyleSheet/__tests__/preprocess-test.cjs +108 -0
  6. package/dist/cjs/StyleSheet/__tests__/validate-test.cjs +36 -0
  7. package/dist/cjs/StyleSheet/compiler/createReactDOMStyle.cjs +99 -0
  8. package/dist/cjs/StyleSheet/compiler/hash.cjs +26 -0
  9. package/dist/cjs/StyleSheet/compiler/hyphenateStyleName.cjs +37 -0
  10. package/dist/cjs/StyleSheet/compiler/index.cjs +329 -0
  11. package/dist/cjs/StyleSheet/compiler/{normalizeColor.js → normalizeColor.cjs} +30 -20
  12. package/dist/cjs/StyleSheet/compiler/{normalizeValueWithProperty.js → normalizeValueWithProperty.cjs} +24 -15
  13. package/dist/cjs/StyleSheet/compiler/resolveShadowValue.cjs +60 -0
  14. package/dist/cjs/StyleSheet/dom/createCSSStyleSheet.cjs +48 -0
  15. package/dist/cjs/StyleSheet/dom/{createOrderedCSSStyleSheet.js → createOrderedCSSStyleSheet.cjs} +36 -20
  16. package/dist/cjs/StyleSheet/dom/index.cjs +78 -0
  17. package/dist/cjs/StyleSheet/{index.js → index.cjs} +24 -19
  18. package/dist/cjs/StyleSheet/preprocess.cjs +112 -0
  19. package/dist/cjs/StyleSheet/validate.cjs +69 -0
  20. package/dist/cjs/TextAncestorContext.cjs +29 -0
  21. package/dist/cjs/{colorProps.js → colorProps.cjs} +16 -11
  22. package/dist/cjs/index.cjs +113 -0
  23. package/dist/cjs/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.cjs +50 -0
  24. package/dist/cjs/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.cjs +40 -0
  25. package/dist/cjs/modules/AccessibilityUtil/{index.js → index.cjs} +25 -15
  26. package/dist/cjs/modules/AccessibilityUtil/isDisabled.cjs +27 -0
  27. package/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.cjs +69 -0
  28. package/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.cjs +48 -0
  29. package/dist/cjs/modules/AssetRegistry/{index.js → index.cjs} +16 -11
  30. package/dist/cjs/modules/ImageLoader/index.cjs +112 -0
  31. package/dist/cjs/modules/{InteractionManager.js → InteractionManager.cjs} +26 -20
  32. package/dist/cjs/modules/Platform/__tests__/index-test.cjs +48 -0
  33. package/dist/cjs/modules/Platform/index.cjs +31 -0
  34. package/dist/cjs/modules/TextInputState/{index.js → index.cjs} +23 -15
  35. package/dist/cjs/modules/UIManager/__tests__/{index-test.js → index-test.cjs} +56 -32
  36. package/dist/cjs/modules/UIManager/index.cjs +138 -0
  37. package/dist/cjs/modules/canUseDOM.cjs +28 -0
  38. package/dist/cjs/modules/createDOMProps/__tests__/index-test.cjs +156 -0
  39. package/dist/cjs/modules/createDOMProps/index.cjs +138 -0
  40. package/dist/cjs/modules/createEventHandle/__tests__/index-test.cjs +344 -0
  41. package/dist/cjs/modules/createEventHandle/{index.js → index.cjs} +38 -34
  42. package/dist/cjs/modules/dismissKeyboard/{index.js → index.cjs} +23 -15
  43. package/dist/cjs/modules/forwardedProps/index.cjs +160 -0
  44. package/dist/cjs/modules/getBoundingClientRect/index.cjs +29 -0
  45. package/dist/cjs/modules/invariant.cjs +36 -0
  46. package/dist/cjs/modules/isSelectionValid/index.cjs +35 -0
  47. package/dist/cjs/modules/isWebColor/index.cjs +27 -0
  48. package/dist/cjs/modules/mergeRefs/__tests__/index-test.cjs +42 -0
  49. package/dist/cjs/modules/mergeRefs/index.cjs +42 -0
  50. package/dist/cjs/modules/modality/__tests__/{index-test.js → index-test.cjs} +20 -8
  51. package/dist/cjs/modules/modality/{index.js → index.cjs} +75 -19
  52. package/dist/cjs/modules/multiplyStyleLengthValue/__tests__/{index-test.js → index-test.cjs} +16 -14
  53. package/dist/cjs/modules/multiplyStyleLengthValue/index.cjs +36 -0
  54. package/dist/cjs/modules/normalizeColor/{index.js → index.cjs} +29 -18
  55. package/dist/cjs/modules/pick/index.cjs +30 -0
  56. package/dist/cjs/modules/processColor/__tests__/{index-test.js → index-test.cjs} +17 -15
  57. package/dist/cjs/modules/processColor/{index.js → index.cjs} +25 -19
  58. package/dist/cjs/modules/requestIdleCallback/index.cjs +56 -0
  59. package/dist/cjs/modules/setValueForStyles/{dangerousStyleValue.js → dangerousStyleValue.cjs} +23 -15
  60. package/dist/cjs/modules/setValueForStyles/{index.js → index.cjs} +26 -18
  61. package/dist/cjs/modules/unitlessNumbers/index.cjs +87 -0
  62. package/dist/cjs/modules/useElementLayout/{index.js → index.cjs} +40 -23
  63. package/dist/cjs/modules/useEvent/__tests__/{index-test.js → index-test.cjs} +218 -99
  64. package/dist/cjs/modules/useEvent/index.cjs +56 -0
  65. package/dist/cjs/modules/useHover/__tests__/{index-test.js → index-test.cjs} +118 -40
  66. package/dist/cjs/modules/useHover/index.cjs +108 -0
  67. package/dist/cjs/modules/useLayoutEffect/{index.js → index.cjs} +24 -15
  68. package/dist/cjs/modules/useLocale/index.cjs +66 -0
  69. package/dist/cjs/modules/useLocale/{isLocaleRTL.js → isLocaleRTL.cjs} +23 -31
  70. package/dist/cjs/modules/useMergeRefs/__tests__/index-test.cjs +102 -0
  71. package/dist/cjs/modules/useMergeRefs/index.cjs +43 -0
  72. package/dist/cjs/modules/usePlatformMethods/index.cjs +48 -0
  73. package/dist/cjs/modules/useStable/__tests__/{index-test.js → index-test.cjs} +46 -23
  74. package/dist/cjs/modules/useStable/{index.js → index.cjs} +22 -14
  75. package/dist/cjs/styleTypes.cjs +16 -0
  76. package/dist/cjs/types.cjs +16 -0
  77. package/package.json +9 -8
  78. package/dist/cjs/StyleSheet/__tests__/preprocess-test.js +0 -77
  79. package/dist/cjs/StyleSheet/__tests__/validate-test.js +0 -18
  80. package/dist/cjs/StyleSheet/compiler/createReactDOMStyle.js +0 -121
  81. package/dist/cjs/StyleSheet/compiler/hash.js +0 -21
  82. package/dist/cjs/StyleSheet/compiler/hyphenateStyleName.js +0 -31
  83. package/dist/cjs/StyleSheet/compiler/index.js +0 -253
  84. package/dist/cjs/StyleSheet/compiler/resolveShadowValue.js +0 -35
  85. package/dist/cjs/StyleSheet/dom/createCSSStyleSheet.js +0 -44
  86. package/dist/cjs/StyleSheet/dom/index.js +0 -74
  87. package/dist/cjs/StyleSheet/preprocess.js +0 -67
  88. package/dist/cjs/StyleSheet/validate.js +0 -66
  89. package/dist/cjs/TextAncestorContext.js +0 -24
  90. package/dist/cjs/index.js +0 -73
  91. package/dist/cjs/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.js +0 -46
  92. package/dist/cjs/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.js +0 -30
  93. package/dist/cjs/modules/AccessibilityUtil/isDisabled.js +0 -22
  94. package/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.js +0 -60
  95. package/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.js +0 -43
  96. package/dist/cjs/modules/ImageLoader/index.js +0 -102
  97. package/dist/cjs/modules/Platform/__tests__/index-test.js +0 -46
  98. package/dist/cjs/modules/Platform/index.js +0 -26
  99. package/dist/cjs/modules/UIManager/index.js +0 -101
  100. package/dist/cjs/modules/canUseDOM.js +0 -23
  101. package/dist/cjs/modules/createDOMProps/__tests__/index-test.js +0 -106
  102. package/dist/cjs/modules/createDOMProps/index.js +0 -121
  103. package/dist/cjs/modules/createEventHandle/__tests__/index-test.js +0 -242
  104. package/dist/cjs/modules/forwardedProps/index.js +0 -145
  105. package/dist/cjs/modules/getBoundingClientRect/index.js +0 -25
  106. package/dist/cjs/modules/invariant.js +0 -35
  107. package/dist/cjs/modules/isSelectionValid/index.js +0 -27
  108. package/dist/cjs/modules/isWebColor/index.js +0 -22
  109. package/dist/cjs/modules/mergeRefs/__tests__/index-test.js +0 -34
  110. package/dist/cjs/modules/mergeRefs/index.js +0 -41
  111. package/dist/cjs/modules/multiplyStyleLengthValue/index.js +0 -28
  112. package/dist/cjs/modules/pick/index.js +0 -26
  113. package/dist/cjs/modules/requestIdleCallback/index.js +0 -44
  114. package/dist/cjs/modules/unitlessNumbers/index.js +0 -80
  115. package/dist/cjs/modules/useEvent/index.js +0 -45
  116. package/dist/cjs/modules/useHover/index.js +0 -81
  117. package/dist/cjs/modules/useLocale/index.js +0 -54
  118. package/dist/cjs/modules/useMergeRefs/__tests__/index-test.js +0 -68
  119. package/dist/cjs/modules/useMergeRefs/index.js +0 -36
  120. package/dist/cjs/modules/usePlatformMethods/index.js +0 -39
  121. package/dist/cjs/styleTypes.js +0 -14
  122. package/dist/cjs/types.js +0 -14
  123. /package/dist/cjs/StyleSheet/__tests__/{compiler-createReactDOMStyle-test.js.map → compiler-createReactDOMStyle-test.cjs.map} +0 -0
  124. /package/dist/cjs/StyleSheet/__tests__/{compiler-test.js.map → compiler-test.cjs.map} +0 -0
  125. /package/dist/cjs/StyleSheet/__tests__/{dom-createOrderedCSSStyleSheet-test.js.map → dom-createOrderedCSSStyleSheet-test.cjs.map} +0 -0
  126. /package/dist/cjs/StyleSheet/__tests__/{index-test.js.map → index-test.cjs.map} +0 -0
  127. /package/dist/cjs/StyleSheet/__tests__/{preprocess-test.js.map → preprocess-test.cjs.map} +0 -0
  128. /package/dist/cjs/StyleSheet/__tests__/{validate-test.js.map → validate-test.cjs.map} +0 -0
  129. /package/dist/cjs/StyleSheet/compiler/{createReactDOMStyle.js.map → createReactDOMStyle.cjs.map} +0 -0
  130. /package/dist/cjs/StyleSheet/compiler/{hash.js.map → hash.cjs.map} +0 -0
  131. /package/dist/cjs/StyleSheet/compiler/{hyphenateStyleName.js.map → hyphenateStyleName.cjs.map} +0 -0
  132. /package/dist/cjs/StyleSheet/compiler/{index.js.map → index.cjs.map} +0 -0
  133. /package/dist/cjs/StyleSheet/compiler/{normalizeColor.js.map → normalizeColor.cjs.map} +0 -0
  134. /package/dist/cjs/StyleSheet/compiler/{normalizeValueWithProperty.js.map → normalizeValueWithProperty.cjs.map} +0 -0
  135. /package/dist/cjs/StyleSheet/compiler/{resolveShadowValue.js.map → resolveShadowValue.cjs.map} +0 -0
  136. /package/dist/cjs/StyleSheet/dom/{createCSSStyleSheet.js.map → createCSSStyleSheet.cjs.map} +0 -0
  137. /package/dist/cjs/StyleSheet/dom/{createOrderedCSSStyleSheet.js.map → createOrderedCSSStyleSheet.cjs.map} +0 -0
  138. /package/dist/cjs/StyleSheet/dom/{index.js.map → index.cjs.map} +0 -0
  139. /package/dist/cjs/StyleSheet/{index.js.map → index.cjs.map} +0 -0
  140. /package/dist/cjs/StyleSheet/{preprocess.js.map → preprocess.cjs.map} +0 -0
  141. /package/dist/cjs/StyleSheet/{validate.js.map → validate.cjs.map} +0 -0
  142. /package/dist/cjs/{TextAncestorContext.js.map → TextAncestorContext.cjs.map} +0 -0
  143. /package/dist/cjs/{colorProps.js.map → colorProps.cjs.map} +0 -0
  144. /package/dist/cjs/{index.js.map → index.cjs.map} +0 -0
  145. /package/dist/cjs/modules/AccessibilityUtil/__tests__/{propsToAccessibilityComponent-test.js.map → propsToAccessibilityComponent-test.cjs.map} +0 -0
  146. /package/dist/cjs/modules/AccessibilityUtil/__tests__/{propsToAriaRole-test.js.map → propsToAriaRole-test.cjs.map} +0 -0
  147. /package/dist/cjs/modules/AccessibilityUtil/{index.js.map → index.cjs.map} +0 -0
  148. /package/dist/cjs/modules/AccessibilityUtil/{isDisabled.js.map → isDisabled.cjs.map} +0 -0
  149. /package/dist/cjs/modules/AccessibilityUtil/{propsToAccessibilityComponent.js.map → propsToAccessibilityComponent.cjs.map} +0 -0
  150. /package/dist/cjs/modules/AccessibilityUtil/{propsToAriaRole.js.map → propsToAriaRole.cjs.map} +0 -0
  151. /package/dist/cjs/modules/AssetRegistry/{index.js.map → index.cjs.map} +0 -0
  152. /package/dist/cjs/modules/ImageLoader/{index.js.map → index.cjs.map} +0 -0
  153. /package/dist/cjs/modules/{InteractionManager.js.map → InteractionManager.cjs.map} +0 -0
  154. /package/dist/cjs/modules/Platform/__tests__/{index-test.js.map → index-test.cjs.map} +0 -0
  155. /package/dist/cjs/modules/Platform/{index.js.map → index.cjs.map} +0 -0
  156. /package/dist/cjs/modules/TextInputState/{index.js.map → index.cjs.map} +0 -0
  157. /package/dist/cjs/modules/UIManager/__tests__/{index-test.js.map → index-test.cjs.map} +0 -0
  158. /package/dist/cjs/modules/UIManager/{index.js.map → index.cjs.map} +0 -0
  159. /package/dist/cjs/modules/{canUseDOM.js.map → canUseDOM.cjs.map} +0 -0
  160. /package/dist/cjs/modules/createDOMProps/__tests__/{index-test.js.map → index-test.cjs.map} +0 -0
  161. /package/dist/cjs/modules/createDOMProps/{index.js.map → index.cjs.map} +0 -0
  162. /package/dist/cjs/modules/createEventHandle/__tests__/{index-test.js.map → index-test.cjs.map} +0 -0
  163. /package/dist/cjs/modules/createEventHandle/{index.js.map → index.cjs.map} +0 -0
  164. /package/dist/cjs/modules/dismissKeyboard/{index.js.map → index.cjs.map} +0 -0
  165. /package/dist/cjs/modules/forwardedProps/{index.js.map → index.cjs.map} +0 -0
  166. /package/dist/cjs/modules/getBoundingClientRect/{index.js.map → index.cjs.map} +0 -0
  167. /package/dist/cjs/modules/{invariant.js.map → invariant.cjs.map} +0 -0
  168. /package/dist/cjs/modules/isSelectionValid/{index.js.map → index.cjs.map} +0 -0
  169. /package/dist/cjs/modules/isWebColor/{index.js.map → index.cjs.map} +0 -0
  170. /package/dist/cjs/modules/mergeRefs/__tests__/{index-test.js.map → index-test.cjs.map} +0 -0
  171. /package/dist/cjs/modules/mergeRefs/{index.js.map → index.cjs.map} +0 -0
  172. /package/dist/cjs/modules/modality/__tests__/{index-test.js.map → index-test.cjs.map} +0 -0
  173. /package/dist/cjs/modules/modality/{index.js.map → index.cjs.map} +0 -0
  174. /package/dist/cjs/modules/multiplyStyleLengthValue/__tests__/{index-test.js.map → index-test.cjs.map} +0 -0
  175. /package/dist/cjs/modules/multiplyStyleLengthValue/{index.js.map → index.cjs.map} +0 -0
  176. /package/dist/cjs/modules/normalizeColor/{index.js.map → index.cjs.map} +0 -0
  177. /package/dist/cjs/modules/pick/{index.js.map → index.cjs.map} +0 -0
  178. /package/dist/cjs/modules/processColor/__tests__/{index-test.js.map → index-test.cjs.map} +0 -0
  179. /package/dist/cjs/modules/processColor/{index.js.map → index.cjs.map} +0 -0
  180. /package/dist/cjs/modules/requestIdleCallback/{index.js.map → index.cjs.map} +0 -0
  181. /package/dist/cjs/modules/setValueForStyles/{dangerousStyleValue.js.map → dangerousStyleValue.cjs.map} +0 -0
  182. /package/dist/cjs/modules/setValueForStyles/{index.js.map → index.cjs.map} +0 -0
  183. /package/dist/cjs/modules/unitlessNumbers/{index.js.map → index.cjs.map} +0 -0
  184. /package/dist/cjs/modules/useElementLayout/{index.js.map → index.cjs.map} +0 -0
  185. /package/dist/cjs/modules/useEvent/__tests__/{index-test.js.map → index-test.cjs.map} +0 -0
  186. /package/dist/cjs/modules/useEvent/{index.js.map → index.cjs.map} +0 -0
  187. /package/dist/cjs/modules/useHover/__tests__/{index-test.js.map → index-test.cjs.map} +0 -0
  188. /package/dist/cjs/modules/useHover/{index.js.map → index.cjs.map} +0 -0
  189. /package/dist/cjs/modules/useLayoutEffect/{index.js.map → index.cjs.map} +0 -0
  190. /package/dist/cjs/modules/useLocale/{index.js.map → index.cjs.map} +0 -0
  191. /package/dist/cjs/modules/useLocale/{isLocaleRTL.js.map → isLocaleRTL.cjs.map} +0 -0
  192. /package/dist/cjs/modules/useMergeRefs/__tests__/{index-test.js.map → index-test.cjs.map} +0 -0
  193. /package/dist/cjs/modules/useMergeRefs/{index.js.map → index.cjs.map} +0 -0
  194. /package/dist/cjs/modules/usePlatformMethods/{index.js.map → index.cjs.map} +0 -0
  195. /package/dist/cjs/modules/useStable/__tests__/{index-test.js.map → index-test.cjs.map} +0 -0
  196. /package/dist/cjs/modules/useStable/{index.js.map → index.cjs.map} +0 -0
  197. /package/dist/cjs/{styleTypes.js.map → styleTypes.cjs.map} +0 -0
  198. /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, __hasOwnProp = Object.prototype.hasOwnProperty;
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
- 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 });
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
- // 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__ = __toESM(require("..")), import_jsx_runtime = require("react/jsx-runtime");
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(), targetRef = React.createRef();
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__ */ (0, import_jsx_runtime.jsx)("div", { ref: targetRef });
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__ */ (0, import_jsx_runtime.jsx)(Component, {}));
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(), listenerCapture = jest.fn(), targetRef = React.createRef(), parentRef = React.createRef();
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"), addClickCaptureListener = (0, import__.default)("click", { capture: !0 });
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__ */ (0, import_jsx_runtime.jsx)("div", { ref: parentRef, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref: targetRef }) });
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__ */ (0, import_jsx_runtime.jsx)(Component, {}));
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 = [], listener = jest.fn(() => {
67
- log.push("bubble");
68
- }), listenerCapture = jest.fn(() => {
69
- log.push("capture");
70
- }), targetRef = React.createRef(), childRef = React.createRef();
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"), addClickCaptureListener = (0, import__.default)("click", { capture: !0 });
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__ */ (0, import_jsx_runtime.jsx)("div", { ref: targetRef, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref: childRef }) });
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__ */ (0, import_jsx_runtime.jsx)(Component, {}));
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(), targetRef = React.createRef(), childRef = React.createRef();
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__ */ (0, import_jsx_runtime.jsx)("div", { ref: targetRef, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref: childRef, children: "text" }) });
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__ */ (0, import_jsx_runtime.jsx)(Component, {}));
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(), targetRef = React.createRef();
101
- function Component({ target: target2 }) {
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__ */ (0, import_jsx_runtime.jsx)("div", { ref: targetRef });
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__ */ (0, import_jsx_runtime.jsx)(Component, { target: document }));
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(), targetRef = React.createRef();
116
- function Component({ target: target2 }) {
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__ */ (0, import_jsx_runtime.jsx)("div", { ref: targetRef });
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__ */ (0, import_jsx_runtime.jsx)(Component, { target: window }));
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(), listenerAlt = jest.fn(), targetRef = React.createRef();
131
- function Component({ onClick }) {
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__ */ (0, import_jsx_runtime.jsx)("div", { ref: targetRef });
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__ */ (0, import_jsx_runtime.jsx)(Component, { onClick: listener }));
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__ */ (0, import_jsx_runtime.jsx)(Component, { onClick: listenerAlt }));
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(), targetRef = React.createRef();
150
- function Component({ off }) {
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__ */ (0, import_jsx_runtime.jsx)("div", { ref: targetRef });
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__ */ (0, import_jsx_runtime.jsx)(Component, { off: !1 }));
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__ */ (0, import_jsx_runtime.jsx)(Component, { off: !0 }));
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(), targetRef = React.createRef();
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__ */ (0, import_jsx_runtime.jsx)("div", { ref: targetRef });
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__ */ (0, import_jsx_runtime.jsx)(Component, {}));
254
+ root.render(/* @__PURE__ */(0, import_jsx_runtime.jsx)(Component, {}));
177
255
  }), (0, import_test_utils.act)(() => {
178
- const event = new CustomEvent("magic-event", { bubbles: !0 });
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 = [], targetRef = React.createRef(), parentRef = React.createRef(), childRef = React.createRef(), listener = jest.fn((e) => {
183
- log.push(["bubble", e.currentTarget.id]);
184
- }), listenerCapture = jest.fn((e) => {
185
- log.push(["capture", e.currentTarget.id]);
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"), addClickCaptureListener = (0, import__.default)("click", { capture: !0 });
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__ */ (0, import_jsx_runtime.jsx)("div", { id: "parent", ref: parentRef, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { id: "target", ref: targetRef, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref: childRef }) }) });
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__ */ (0, import_jsx_runtime.jsx)(Component, {}));
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 = [], targetRef = React.createRef(), childRef = React.createRef(), listener = jest.fn((e) => {
207
- log.push(["bubble", "target"]);
208
- }), listenerAlt = jest.fn((e) => {
209
- log.push(["bubble", "target-alt"]);
210
- }), listenerCapture = jest.fn((e) => {
211
- log.push(["capture", "target"]);
212
- }), listenerCaptureAlt = jest.fn((e) => {
213
- log.push(["capture", "target-alt"]);
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"), addClickAltListener = (0, import__.default)("click"), addClickCaptureListener = (0, import__.default)("click", { capture: !0 }), addClickCaptureAltListener = (0, import__.default)("click", { capture: !0 });
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__ */ (0, import_jsx_runtime.jsx)("div", { id: "target", ref: targetRef, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref: childRef }) });
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__ */ (0, import_jsx_runtime.jsx)(Component, {}));
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__ */ (0, import_jsx_runtime.jsx)("div", {});
348
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {});
242
349
  }
243
350
  (0, import_test_utils.act)(() => {
244
- root.render(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, {})), root.render(null);
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((e) => {
254
- e.stopPropagation();
255
- }), targetListener = jest.fn(), targetRef = React.createRef(), childRef = React.createRef();
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__ */ (0, import_jsx_runtime.jsx)("div", { ref: targetRef, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref: childRef }) });
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__ */ (0, import_jsx_runtime.jsx)(Component, {}));
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((e) => {
271
- e.stopImmediatePropagation();
272
- }), secondListener = jest.fn(), targetRef = React.createRef();
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"), addSecondClickListener = (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__ */ (0, import_jsx_runtime.jsx)("div", { ref: targetRef });
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__ */ (0, import_jsx_runtime.jsx)(Component, {}));
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
+ }