@hanzogui/react-native-web-internals 3.0.6 → 4.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/dist/cjs/StyleSheet/__tests__/compiler-createReactDOMStyle-test.cjs +62 -37
  2. package/dist/cjs/StyleSheet/__tests__/compiler-test.cjs +129 -117
  3. package/dist/cjs/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.cjs +69 -30
  4. package/dist/cjs/StyleSheet/__tests__/index-test.cjs +127 -95
  5. package/dist/cjs/StyleSheet/__tests__/preprocess-test.cjs +26 -13
  6. package/dist/cjs/StyleSheet/__tests__/validate-test.cjs +30 -15
  7. package/dist/cjs/StyleSheet/compiler/createReactDOMStyle.cjs +141 -68
  8. package/dist/cjs/StyleSheet/compiler/hash.cjs +12 -10
  9. package/dist/cjs/StyleSheet/compiler/hyphenateStyleName.cjs +18 -14
  10. package/dist/cjs/StyleSheet/compiler/index.cjs +234 -173
  11. package/dist/cjs/StyleSheet/compiler/normalizeColor.cjs +27 -18
  12. package/dist/cjs/StyleSheet/compiler/normalizeValueWithProperty.cjs +30 -23
  13. package/dist/cjs/StyleSheet/compiler/resolveShadowValue.cjs +36 -32
  14. package/dist/cjs/StyleSheet/dom/createCSSStyleSheet.cjs +30 -15
  15. package/dist/cjs/StyleSheet/dom/createOrderedCSSStyleSheet.cjs +62 -37
  16. package/dist/cjs/StyleSheet/dom/index.cjs +56 -34
  17. package/dist/cjs/StyleSheet/index.cjs +25 -18
  18. package/dist/cjs/StyleSheet/preprocess.cjs +94 -81
  19. package/dist/cjs/StyleSheet/validate.cjs +67 -44
  20. package/dist/cjs/TextAncestorContext.cjs +13 -11
  21. package/dist/cjs/colorProps.cjs +22 -20
  22. package/dist/cjs/index.cjs +47 -45
  23. package/dist/cjs/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.cjs +19 -12
  24. package/dist/cjs/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.cjs +17 -11
  25. package/dist/cjs/modules/AccessibilityUtil/index.cjs +15 -13
  26. package/dist/cjs/modules/AccessibilityUtil/isDisabled.cjs +12 -10
  27. package/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.cjs +45 -38
  28. package/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.cjs +34 -30
  29. package/dist/cjs/modules/AssetRegistry/index.cjs +12 -10
  30. package/dist/cjs/modules/ImageLoader/index.cjs +117 -71
  31. package/dist/cjs/modules/InteractionManager.cjs +155 -99
  32. package/dist/cjs/modules/Platform/__tests__/index-test.cjs +21 -13
  33. package/dist/cjs/modules/Platform/index.cjs +12 -10
  34. package/dist/cjs/modules/TextInputState/index.cjs +28 -13
  35. package/dist/cjs/modules/UIManager/__tests__/index-test.cjs +77 -56
  36. package/dist/cjs/modules/UIManager/index.cjs +47 -42
  37. package/dist/cjs/modules/canUseDOM.cjs +13 -11
  38. package/dist/cjs/modules/createDOMProps/__tests__/index-test.cjs +75 -54
  39. package/dist/cjs/modules/createDOMProps/index.cjs +353 -145
  40. package/dist/cjs/modules/createEventHandle/__tests__/index-test.cjs +238 -160
  41. package/dist/cjs/modules/createEventHandle/index.cjs +46 -25
  42. package/dist/cjs/modules/dismissKeyboard/index.cjs +12 -10
  43. package/dist/cjs/modules/forwardedProps/index.cjs +137 -135
  44. package/dist/cjs/modules/getBoundingClientRect/index.cjs +18 -11
  45. package/dist/cjs/modules/invariant.cjs +21 -15
  46. package/dist/cjs/modules/isSelectionValid/index.cjs +18 -17
  47. package/dist/cjs/modules/isWebColor/index.cjs +12 -10
  48. package/dist/cjs/modules/mergeRefs/__tests__/index-test.cjs +21 -15
  49. package/dist/cjs/modules/mergeRefs/index.cjs +24 -21
  50. package/dist/cjs/modules/modality/__tests__/index-test.cjs +44 -17
  51. package/dist/cjs/modules/modality/index.cjs +148 -71
  52. package/dist/cjs/modules/multiplyStyleLengthValue/__tests__/index-test.cjs +18 -10
  53. package/dist/cjs/modules/multiplyStyleLengthValue/index.cjs +26 -20
  54. package/dist/cjs/modules/normalizeColor/index.cjs +22 -17
  55. package/dist/cjs/modules/pick/index.cjs +19 -11
  56. package/dist/cjs/modules/processColor/__tests__/index-test.cjs +43 -24
  57. package/dist/cjs/modules/processColor/index.cjs +32 -24
  58. package/dist/cjs/modules/requestIdleCallback/index.cjs +28 -26
  59. package/dist/cjs/modules/setValueForStyles/dangerousStyleValue.cjs +38 -18
  60. package/dist/cjs/modules/setValueForStyles/index.cjs +25 -14
  61. package/dist/cjs/modules/unitlessNumbers/index.cjs +68 -64
  62. package/dist/cjs/modules/useElementLayout/index.cjs +25 -20
  63. package/dist/cjs/modules/useEvent/__tests__/index-test.cjs +255 -173
  64. package/dist/cjs/modules/useEvent/index.cjs +40 -28
  65. package/dist/cjs/modules/useHover/__tests__/index-test.cjs +233 -124
  66. package/dist/cjs/modules/useHover/index.cjs +105 -62
  67. package/dist/cjs/modules/useLayoutEffect/index.cjs +26 -24
  68. package/dist/cjs/modules/useLocale/index.cjs +33 -30
  69. package/dist/cjs/modules/useLocale/isLocaleRTL.cjs +63 -58
  70. package/dist/cjs/modules/useMergeRefs/__tests__/index-test.cjs +54 -31
  71. package/dist/cjs/modules/useMergeRefs/index.cjs +26 -24
  72. package/dist/cjs/modules/usePlatformMethods/index.cjs +21 -14
  73. package/dist/cjs/modules/useStable/__tests__/index-test.cjs +60 -30
  74. package/dist/cjs/modules/useStable/index.cjs +29 -24
  75. package/dist/cjs/styleTypes.cjs +7 -5
  76. package/dist/cjs/types.cjs +7 -5
  77. package/dist/esm/StyleSheet/__tests__/compiler-createReactDOMStyle-test.mjs +53 -30
  78. package/dist/esm/StyleSheet/__tests__/compiler-createReactDOMStyle-test.mjs.map +1 -1
  79. package/dist/esm/StyleSheet/__tests__/compiler-test.mjs +129 -117
  80. package/dist/esm/StyleSheet/__tests__/compiler-test.mjs.map +1 -1
  81. package/dist/esm/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.mjs +60 -23
  82. package/dist/esm/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.mjs.map +1 -1
  83. package/dist/esm/StyleSheet/__tests__/index-test.mjs +118 -88
  84. package/dist/esm/StyleSheet/__tests__/index-test.mjs.map +1 -1
  85. package/dist/esm/StyleSheet/__tests__/preprocess-test.mjs +26 -13
  86. package/dist/esm/StyleSheet/__tests__/preprocess-test.mjs.map +1 -1
  87. package/dist/esm/StyleSheet/__tests__/validate-test.mjs +30 -15
  88. package/dist/esm/StyleSheet/__tests__/validate-test.mjs.map +1 -1
  89. package/dist/esm/StyleSheet/compiler/createReactDOMStyle.mjs +127 -56
  90. package/dist/esm/StyleSheet/compiler/createReactDOMStyle.mjs.map +1 -1
  91. package/dist/esm/StyleSheet/compiler/hyphenateStyleName.mjs +6 -4
  92. package/dist/esm/StyleSheet/compiler/hyphenateStyleName.mjs.map +1 -1
  93. package/dist/esm/StyleSheet/compiler/index.mjs +218 -159
  94. package/dist/esm/StyleSheet/compiler/index.mjs.map +1 -1
  95. package/dist/esm/StyleSheet/compiler/normalizeColor.mjs +13 -6
  96. package/dist/esm/StyleSheet/compiler/normalizeColor.mjs.map +1 -1
  97. package/dist/esm/StyleSheet/compiler/normalizeValueWithProperty.mjs +16 -11
  98. package/dist/esm/StyleSheet/compiler/normalizeValueWithProperty.mjs.map +1 -1
  99. package/dist/esm/StyleSheet/compiler/resolveShadowValue.mjs +22 -20
  100. package/dist/esm/StyleSheet/compiler/resolveShadowValue.mjs.map +1 -1
  101. package/dist/esm/StyleSheet/dom/createCSSStyleSheet.mjs +18 -5
  102. package/dist/esm/StyleSheet/dom/createCSSStyleSheet.mjs.map +1 -1
  103. package/dist/esm/StyleSheet/dom/createOrderedCSSStyleSheet.mjs +50 -27
  104. package/dist/esm/StyleSheet/dom/createOrderedCSSStyleSheet.mjs.map +1 -1
  105. package/dist/esm/StyleSheet/dom/index.mjs +41 -21
  106. package/dist/esm/StyleSheet/dom/index.mjs.map +1 -1
  107. package/dist/esm/StyleSheet/index.mjs +13 -8
  108. package/dist/esm/StyleSheet/index.mjs.map +1 -1
  109. package/dist/esm/StyleSheet/preprocess.mjs +80 -69
  110. package/dist/esm/StyleSheet/preprocess.mjs.map +1 -1
  111. package/dist/esm/StyleSheet/validate.mjs +55 -34
  112. package/dist/esm/StyleSheet/validate.mjs.map +1 -1
  113. package/dist/esm/TextAncestorContext.mjs +1 -1
  114. package/dist/esm/TextAncestorContext.mjs.map +1 -1
  115. package/dist/esm/colorProps.mjs +10 -10
  116. package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.mjs +10 -5
  117. package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.mjs.map +1 -1
  118. package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.mjs +8 -4
  119. package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.mjs.map +1 -1
  120. package/dist/esm/modules/AccessibilityUtil/propsToAccessibilityComponent.mjs +33 -28
  121. package/dist/esm/modules/AccessibilityUtil/propsToAccessibilityComponent.mjs.map +1 -1
  122. package/dist/esm/modules/AccessibilityUtil/propsToAriaRole.mjs +22 -20
  123. package/dist/esm/modules/AccessibilityUtil/propsToAriaRole.mjs.map +1 -1
  124. package/dist/esm/modules/ImageLoader/index.mjs +105 -61
  125. package/dist/esm/modules/ImageLoader/index.mjs.map +1 -1
  126. package/dist/esm/modules/InteractionManager.mjs +141 -87
  127. package/dist/esm/modules/InteractionManager.mjs.map +1 -1
  128. package/dist/esm/modules/Platform/__tests__/index-test.mjs +12 -6
  129. package/dist/esm/modules/Platform/__tests__/index-test.mjs.map +1 -1
  130. package/dist/esm/modules/TextInputState/index.mjs +16 -3
  131. package/dist/esm/modules/TextInputState/index.mjs.map +1 -1
  132. package/dist/esm/modules/UIManager/__tests__/index-test.mjs +68 -49
  133. package/dist/esm/modules/UIManager/__tests__/index-test.mjs.map +1 -1
  134. package/dist/esm/modules/UIManager/index.mjs +35 -32
  135. package/dist/esm/modules/UIManager/index.mjs.map +1 -1
  136. package/dist/esm/modules/canUseDOM.mjs +1 -1
  137. package/dist/esm/modules/canUseDOM.mjs.map +1 -1
  138. package/dist/esm/modules/createDOMProps/__tests__/index-test.mjs +66 -47
  139. package/dist/esm/modules/createDOMProps/__tests__/index-test.mjs.map +1 -1
  140. package/dist/esm/modules/createDOMProps/index.mjs +339 -133
  141. package/dist/esm/modules/createDOMProps/index.mjs.map +1 -1
  142. package/dist/esm/modules/createEventHandle/__tests__/index-test.mjs +222 -146
  143. package/dist/esm/modules/createEventHandle/__tests__/index-test.mjs.map +1 -1
  144. package/dist/esm/modules/createEventHandle/index.mjs +34 -15
  145. package/dist/esm/modules/createEventHandle/index.mjs.map +1 -1
  146. package/dist/esm/modules/forwardedProps/index.mjs +125 -125
  147. package/dist/esm/modules/forwardedProps/index.mjs.map +1 -1
  148. package/dist/esm/modules/getBoundingClientRect/index.mjs +6 -1
  149. package/dist/esm/modules/getBoundingClientRect/index.mjs.map +1 -1
  150. package/dist/esm/modules/invariant.mjs +9 -5
  151. package/dist/esm/modules/invariant.mjs.map +1 -1
  152. package/dist/esm/modules/isSelectionValid/index.mjs +6 -7
  153. package/dist/esm/modules/isSelectionValid/index.mjs.map +1 -1
  154. package/dist/esm/modules/mergeRefs/__tests__/index-test.mjs +8 -4
  155. package/dist/esm/modules/mergeRefs/__tests__/index-test.mjs.map +1 -1
  156. package/dist/esm/modules/mergeRefs/index.mjs +12 -11
  157. package/dist/esm/modules/mergeRefs/index.mjs.map +1 -1
  158. package/dist/esm/modules/modality/__tests__/index-test.mjs +42 -15
  159. package/dist/esm/modules/modality/__tests__/index-test.mjs.map +1 -1
  160. package/dist/esm/modules/modality/index.mjs +134 -59
  161. package/dist/esm/modules/modality/index.mjs.map +1 -1
  162. package/dist/esm/modules/multiplyStyleLengthValue/__tests__/index-test.mjs +9 -3
  163. package/dist/esm/modules/multiplyStyleLengthValue/__tests__/index-test.mjs.map +1 -1
  164. package/dist/esm/modules/multiplyStyleLengthValue/index.mjs +14 -10
  165. package/dist/esm/modules/multiplyStyleLengthValue/index.mjs.map +1 -1
  166. package/dist/esm/modules/normalizeColor/index.mjs +8 -5
  167. package/dist/esm/modules/normalizeColor/index.mjs.map +1 -1
  168. package/dist/esm/modules/pick/index.mjs +7 -1
  169. package/dist/esm/modules/pick/index.mjs.map +1 -1
  170. package/dist/esm/modules/processColor/__tests__/index-test.mjs +34 -17
  171. package/dist/esm/modules/processColor/__tests__/index-test.mjs.map +1 -1
  172. package/dist/esm/modules/processColor/index.mjs +8 -2
  173. package/dist/esm/modules/processColor/index.mjs.map +1 -1
  174. package/dist/esm/modules/requestIdleCallback/index.mjs +16 -16
  175. package/dist/esm/modules/requestIdleCallback/index.mjs.map +1 -1
  176. package/dist/esm/modules/setValueForStyles/dangerousStyleValue.mjs +24 -6
  177. package/dist/esm/modules/setValueForStyles/dangerousStyleValue.mjs.map +1 -1
  178. package/dist/esm/modules/setValueForStyles/index.mjs +13 -4
  179. package/dist/esm/modules/setValueForStyles/index.mjs.map +1 -1
  180. package/dist/esm/modules/unitlessNumbers/index.mjs +56 -54
  181. package/dist/esm/modules/unitlessNumbers/index.mjs.map +1 -1
  182. package/dist/esm/modules/useElementLayout/index.mjs +11 -8
  183. package/dist/esm/modules/useElementLayout/index.mjs.map +1 -1
  184. package/dist/esm/modules/useEvent/__tests__/index-test.mjs +240 -160
  185. package/dist/esm/modules/useEvent/__tests__/index-test.mjs.map +1 -1
  186. package/dist/esm/modules/useEvent/index.mjs +25 -15
  187. package/dist/esm/modules/useEvent/index.mjs.map +1 -1
  188. package/dist/esm/modules/useHover/__tests__/index-test.mjs +217 -110
  189. package/dist/esm/modules/useHover/__tests__/index-test.mjs.map +1 -1
  190. package/dist/esm/modules/useHover/index.mjs +90 -49
  191. package/dist/esm/modules/useHover/index.mjs.map +1 -1
  192. package/dist/esm/modules/useLocale/index.mjs +6 -5
  193. package/dist/esm/modules/useLocale/index.mjs.map +1 -1
  194. package/dist/esm/modules/useLocale/isLocaleRTL.mjs +51 -48
  195. package/dist/esm/modules/useLocale/isLocaleRTL.mjs.map +1 -1
  196. package/dist/esm/modules/useMergeRefs/__tests__/index-test.mjs +40 -19
  197. package/dist/esm/modules/useMergeRefs/__tests__/index-test.mjs.map +1 -1
  198. package/dist/esm/modules/usePlatformMethods/index.mjs +7 -2
  199. package/dist/esm/modules/usePlatformMethods/index.mjs.map +1 -1
  200. package/dist/esm/modules/useStable/__tests__/index-test.mjs +47 -19
  201. package/dist/esm/modules/useStable/__tests__/index-test.mjs.map +1 -1
  202. package/dist/esm/modules/useStable/index.mjs +5 -2
  203. package/dist/esm/modules/useStable/index.mjs.map +1 -1
  204. package/package.json +1 -1
  205. package/src/StyleSheet/compiler/normalizeColor.tsx +1 -1
@@ -3,95 +3,138 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
5
  var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: !0
9
- });
10
- },
11
- __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
13
14
  get: () => from[key],
14
15
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
16
  });
16
- return to;
17
- };
17
+ }
18
+ return to;
19
+ };
18
20
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
- value: !0
21
+ value: true
20
22
  }), mod);
21
23
  var useHover_exports = {};
22
24
  __export(useHover_exports, {
23
25
  useHover: () => useHover
24
26
  });
25
27
  module.exports = __toCommonJS(useHover_exports);
26
- var import_modality = require("../modality/index.cjs"),
27
- import_useEvent = require("../useEvent/index.cjs"),
28
- import_useLayoutEffect = require("../useLayoutEffect/index.cjs");
29
- const emptyObject = {},
30
- opts = {
31
- passive: !0
32
- },
33
- lockEventType = "react-gui:hover:lock",
34
- unlockEventType = "react-gui:hover:unlock",
35
- supportsPointerEvent = () => typeof window < "u" && window.PointerEvent != null;
28
+ var import_modality = require("../modality/index.cjs");
29
+ var import_useEvent = require("../useEvent/index.cjs");
30
+ var import_useLayoutEffect = require("../useLayoutEffect/index.cjs");
31
+ const emptyObject = {};
32
+ const opts = {
33
+ passive: true
34
+ };
35
+ const lockEventType = "react-gui:hover:lock";
36
+ const unlockEventType = "react-gui:hover:unlock";
37
+ const supportsPointerEvent = () => !!(typeof window !== "undefined" && window.PointerEvent != null);
36
38
  function dispatchCustomEvent(target, type, payload) {
37
- const event = document.createEvent("CustomEvent"),
38
- {
39
- bubbles = !0,
40
- cancelable = !0,
41
- detail
42
- } = payload || emptyObject;
43
- event.initCustomEvent(type, bubbles, cancelable, detail), target.dispatchEvent(event);
39
+ const event = document.createEvent("CustomEvent");
40
+ const {
41
+ bubbles = true,
42
+ cancelable = true,
43
+ detail
44
+ } = payload || emptyObject;
45
+ event.initCustomEvent(type, bubbles, cancelable, detail);
46
+ target.dispatchEvent(event);
44
47
  }
45
48
  function getPointerType(event) {
46
49
  const {
47
50
  pointerType
48
51
  } = event;
49
- return pointerType ?? (0, import_modality.getModality)();
52
+ return pointerType != null ? pointerType : (0, import_modality.getModality)();
50
53
  }
51
54
  function useHover(targetRef, config) {
52
55
  const {
53
- contain,
54
- disabled,
55
- onHoverStart,
56
- onHoverChange,
57
- onHoverUpdate,
58
- onHoverEnd
59
- } = config,
60
- canUsePE = supportsPointerEvent(),
61
- addMoveListener = (0, import_useEvent.useEvent)(canUsePE ? "pointermove" : "mousemove", opts),
62
- addEnterListener = (0, import_useEvent.useEvent)(canUsePE ? "pointerenter" : "mouseenter", opts),
63
- addLeaveListener = (0, import_useEvent.useEvent)(canUsePE ? "pointerleave" : "mouseleave", opts),
64
- addLockListener = (0, import_useEvent.useEvent)(lockEventType, opts),
65
- addUnlockListener = (0, import_useEvent.useEvent)(unlockEventType, opts);
56
+ contain,
57
+ disabled,
58
+ onHoverStart,
59
+ onHoverChange,
60
+ onHoverUpdate,
61
+ onHoverEnd
62
+ } = config;
63
+ const canUsePE = supportsPointerEvent();
64
+ const addMoveListener = (0, import_useEvent.useEvent)(canUsePE ? "pointermove" : "mousemove", opts);
65
+ const addEnterListener = (0, import_useEvent.useEvent)(canUsePE ? "pointerenter" : "mouseenter", opts);
66
+ const addLeaveListener = (0, import_useEvent.useEvent)(canUsePE ? "pointerleave" : "mouseleave", opts);
67
+ const addLockListener = (0, import_useEvent.useEvent)(lockEventType, opts);
68
+ const addUnlockListener = (0, import_useEvent.useEvent)(unlockEventType, opts);
66
69
  (0, import_useLayoutEffect.useLayoutEffectImpl)(() => {
67
70
  const target = targetRef.current;
68
71
  if (target !== null) {
69
72
  const hoverEnd = function (e) {
70
- onHoverEnd?.(e), onHoverChange?.(!1), addMoveListener(target, null), addLeaveListener(target, null);
71
- },
72
- leaveListener = function (e) {
73
- const target2 = targetRef.current;
74
- target2 != null && getPointerType(e) !== "touch" && (contain && dispatchCustomEvent(target2, unlockEventType), hoverEnd(e));
75
- },
76
- moveListener = function (e) {
77
- getPointerType(e) !== "touch" && onHoverUpdate != null && (e.x == null && (e.x = e.clientX), e.y == null && (e.y = e.clientY), onHoverUpdate(e));
78
- },
79
- hoverStart = function (e) {
80
- onHoverStart?.(e), onHoverChange?.(!0), onHoverUpdate != null && addMoveListener(target, disabled ? null : moveListener), addLeaveListener(target, disabled ? null : leaveListener);
81
- };
82
- addEnterListener(target, disabled ? null : function (e) {
73
+ if (onHoverEnd != null) {
74
+ onHoverEnd(e);
75
+ }
76
+ if (onHoverChange != null) {
77
+ onHoverChange(false);
78
+ }
79
+ addMoveListener(target, null);
80
+ addLeaveListener(target, null);
81
+ };
82
+ const leaveListener = function (e) {
83
+ const target2 = targetRef.current;
84
+ if (target2 != null && getPointerType(e) !== "touch") {
85
+ if (contain) {
86
+ dispatchCustomEvent(target2, unlockEventType);
87
+ }
88
+ hoverEnd(e);
89
+ }
90
+ };
91
+ const moveListener = function (e) {
92
+ if (getPointerType(e) !== "touch") {
93
+ if (onHoverUpdate != null) {
94
+ if (e.x == null) {
95
+ e.x = e.clientX;
96
+ }
97
+ if (e.y == null) {
98
+ e.y = e.clientY;
99
+ }
100
+ onHoverUpdate(e);
101
+ }
102
+ }
103
+ };
104
+ const hoverStart = function (e) {
105
+ if (onHoverStart != null) {
106
+ onHoverStart(e);
107
+ }
108
+ if (onHoverChange != null) {
109
+ onHoverChange(true);
110
+ }
111
+ if (onHoverUpdate != null) {
112
+ addMoveListener(target, !disabled ? moveListener : null);
113
+ }
114
+ addLeaveListener(target, !disabled ? leaveListener : null);
115
+ };
116
+ const enterListener = function (e) {
83
117
  const target2 = targetRef.current;
84
118
  if (target2 != null && getPointerType(e) !== "touch") {
85
- contain && dispatchCustomEvent(target2, lockEventType), hoverStart(e);
119
+ if (contain) {
120
+ dispatchCustomEvent(target2, lockEventType);
121
+ }
122
+ hoverStart(e);
86
123
  const lockListener = function (lockEvent) {
87
- lockEvent.target !== target2 && hoverEnd(e);
88
- },
89
- unlockListener = function (lockEvent) {
90
- lockEvent.target !== target2 && hoverStart(e);
91
- };
92
- addLockListener(target2, disabled ? null : lockListener), addUnlockListener(target2, disabled ? null : unlockListener);
124
+ if (lockEvent.target !== target2) {
125
+ hoverEnd(e);
126
+ }
127
+ };
128
+ const unlockListener = function (lockEvent) {
129
+ if (lockEvent.target !== target2) {
130
+ hoverStart(e);
131
+ }
132
+ };
133
+ addLockListener(target2, !disabled ? lockListener : null);
134
+ addUnlockListener(target2, !disabled ? unlockListener : null);
93
135
  }
94
- });
136
+ };
137
+ addEnterListener(target, !disabled ? enterListener : null);
95
138
  }
96
139
  }, [addEnterListener, addMoveListener, addLeaveListener, addLockListener, addUnlockListener, contain, disabled, onHoverStart, onHoverChange, onHoverUpdate, onHoverEnd, targetRef]);
97
140
  }
@@ -2,38 +2,40 @@ var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf,
6
- __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
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, {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
15
16
  get: () => from[key],
16
17
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
18
  });
18
- return to;
19
- };
19
+ }
20
+ return to;
21
+ };
20
22
  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);
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: true
30
+ }) : target, mod));
31
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: true
33
+ }), mod);
32
34
  var useLayoutEffect_exports = {};
33
35
  __export(useLayoutEffect_exports, {
34
36
  useLayoutEffectImpl: () => useLayoutEffectImpl
35
37
  });
36
38
  module.exports = __toCommonJS(useLayoutEffect_exports);
37
- var import_react = __toESM(require("react"), 1),
38
- import_canUseDOM = require("../canUseDOM.cjs");
39
+ var import_react = __toESM(require("react"), 1);
40
+ var import_canUseDOM = require("../canUseDOM.cjs");
39
41
  const useLayoutEffectImpl = import_canUseDOM.canUseDOM ? import_react.default.useLayoutEffect : import_react.default.useEffect;
@@ -2,33 +2,35 @@ var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf,
6
- __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
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, {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
15
16
  get: () => from[key],
16
17
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
18
  });
18
- return to;
19
- };
19
+ }
20
+ return to;
21
+ };
20
22
  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);
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: true
30
+ }) : target, mod));
31
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: true
33
+ }), mod);
32
34
  var useLocale_exports = {};
33
35
  __export(useLocale_exports, {
34
36
  LocaleProvider: () => LocaleProvider,
@@ -36,14 +38,14 @@ __export(useLocale_exports, {
36
38
  useLocaleContext: () => useLocaleContext
37
39
  });
38
40
  module.exports = __toCommonJS(useLocale_exports);
39
- var import_react = __toESM(require("react"), 1),
40
- import_isLocaleRTL = require("./isLocaleRTL.cjs"),
41
- import_jsx_runtime = require("react/jsx-runtime");
41
+ var import_react = __toESM(require("react"), 1);
42
+ var import_isLocaleRTL = require("./isLocaleRTL.cjs");
43
+ var import_jsx_runtime = require("react/jsx-runtime");
42
44
  const defaultLocale = {
43
- direction: "ltr",
44
- locale: "en-US"
45
- },
46
- LocaleContext = import_react.default.createContext(defaultLocale);
45
+ direction: "ltr",
46
+ locale: "en-US"
47
+ };
48
+ const LocaleContext = import_react.default.createContext(defaultLocale);
47
49
  function getLocaleDirection(locale) {
48
50
  return (0, import_isLocaleRTL.isLocaleRTL)(locale) ? "rtl" : "ltr";
49
51
  }
@@ -53,7 +55,8 @@ function LocaleProvider(props) {
53
55
  locale,
54
56
  children
55
57
  } = props;
56
- return direction || locale ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(LocaleContext.Provider, {
58
+ const needsContext = direction || locale;
59
+ return needsContext ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(LocaleContext.Provider, {
57
60
  value: {
58
61
  direction: locale ? getLocaleDirection(locale) : direction,
59
62
  locale
@@ -3,75 +3,79 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
5
  var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: !0
9
- });
10
- },
11
- __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
13
14
  get: () => from[key],
14
15
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
16
  });
16
- return to;
17
- };
17
+ }
18
+ return to;
19
+ };
18
20
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
- value: !0
21
+ value: true
20
22
  }), mod);
21
23
  var isLocaleRTL_exports = {};
22
24
  __export(isLocaleRTL_exports, {
23
25
  isLocaleRTL: () => isLocaleRTL
24
26
  });
25
27
  module.exports = __toCommonJS(isLocaleRTL_exports);
26
- const rtlScripts = /* @__PURE__ */new Set(["Arab", "Syrc", "Samr", "Mand", "Thaa", "Mend", "Nkoo", "Adlm", "Rohg", "Hebr"]),
27
- rtlLangs = /* @__PURE__ */new Set(["ae",
28
- // Avestan
29
- "ar",
30
- // Arabic
31
- "arc",
32
- // Aramaic
33
- "bcc",
34
- // Southern Balochi
35
- "bqi",
36
- // Bakthiari
37
- "ckb",
38
- // Sorani
39
- "dv",
40
- // Dhivehi
41
- "fa", "far",
42
- // Persian
43
- "glk",
44
- // Gilaki
45
- "he", "iw",
46
- // Hebrew
47
- "khw",
48
- // Khowar
49
- "ks",
50
- // Kashmiri
51
- "ku",
52
- // Kurdish
53
- "mzn",
54
- // Mazanderani
55
- "nqo",
56
- // N'Ko
57
- "pnb",
58
- // Western Punjabi
59
- "ps",
60
- // Pashto
61
- "sd",
62
- // Sindhi
63
- "ug",
64
- // Uyghur
65
- "ur",
66
- // Urdu
67
- "yi"
68
- // Yiddish
69
- ]),
70
- cache = /* @__PURE__ */new Map();
28
+ const rtlScripts = /* @__PURE__ */new Set(["Arab", "Syrc", "Samr", "Mand", "Thaa", "Mend", "Nkoo", "Adlm", "Rohg", "Hebr"]);
29
+ const rtlLangs = /* @__PURE__ */new Set(["ae",
30
+ // Avestan
31
+ "ar",
32
+ // Arabic
33
+ "arc",
34
+ // Aramaic
35
+ "bcc",
36
+ // Southern Balochi
37
+ "bqi",
38
+ // Bakthiari
39
+ "ckb",
40
+ // Sorani
41
+ "dv",
42
+ // Dhivehi
43
+ "fa", "far",
44
+ // Persian
45
+ "glk",
46
+ // Gilaki
47
+ "he", "iw",
48
+ // Hebrew
49
+ "khw",
50
+ // Khowar
51
+ "ks",
52
+ // Kashmiri
53
+ "ku",
54
+ // Kurdish
55
+ "mzn",
56
+ // Mazanderani
57
+ "nqo",
58
+ // N'Ko
59
+ "pnb",
60
+ // Western Punjabi
61
+ "ps",
62
+ // Pashto
63
+ "sd",
64
+ // Sindhi
65
+ "ug",
66
+ // Uyghur
67
+ "ur",
68
+ // Urdu
69
+ "yi"
70
+ // Yiddish
71
+ ]);
72
+ const cache = /* @__PURE__ */new Map();
71
73
  function isLocaleRTL(locale) {
72
74
  const cachedRTL = cache.get(locale);
73
- if (cachedRTL) return cachedRTL;
74
- let isRTL = !1;
75
+ if (cachedRTL) {
76
+ return cachedRTL;
77
+ }
78
+ let isRTL = false;
75
79
  if (Intl.Locale) {
76
80
  const script = new Intl.Locale(locale).maximize().script;
77
81
  isRTL = rtlScripts.has(script);
@@ -79,5 +83,6 @@ function isLocaleRTL(locale) {
79
83
  const lang = locale.split("-")[0];
80
84
  isRTL = rtlLangs.has(lang);
81
85
  }
82
- return cache.set(locale, isRTL), isRTL;
86
+ cache.set(locale, isRTL);
87
+ return isRTL;
83
88
  }
@@ -2,13 +2,15 @@ var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf,
6
- __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __copyProps = (to, from, except, desc) => {
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
- });
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
10
+ get: () => from[key],
11
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
12
+ });
13
+ }
12
14
  return to;
13
15
  };
14
16
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
@@ -18,13 +20,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
18
20
  // "default" to the CommonJS "module.exports" for node compatibility.
19
21
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
20
22
  value: mod,
21
- enumerable: !0
23
+ enumerable: true
22
24
  }) : target, mod));
23
- var import_react = require("@testing-library/react"),
24
- React = __toESM(require("react"), 1),
25
- import_test_utils = require("react-dom/test-utils"),
26
- import__ = __toESM(require("../index.cjs"), 1),
27
- import_jsx_runtime = require("react/jsx-runtime");
25
+ var import_react = require("@testing-library/react");
26
+ var React = __toESM(require("react"), 1);
27
+ var import_test_utils = require("react-dom/test-utils");
28
+ var import__ = __toESM(require("../index.cjs"), 1);
29
+ var import_jsx_runtime = require("react/jsx-runtime");
28
30
  describe("modules/useMergeRefs/index.js", () => {
29
31
  function TestComponent({
30
32
  refs,
@@ -36,67 +38,88 @@ describe("modules/useMergeRefs/index.js", () => {
36
38
  ...rest
37
39
  });
38
40
  }
39
- afterEach(import_react.cleanup), test("handles no refs", () => {
41
+ afterEach(import_react.cleanup);
42
+ test("handles no refs", () => {
40
43
  (0, import_test_utils.act)(() => {
41
44
  (0, import_react.render)(/* @__PURE__ */(0, import_jsx_runtime.jsx)(TestComponent, {
42
45
  refs: []
43
46
  }));
44
47
  });
45
- }), test("merges any number of varying refs", () => {
46
- const callbackRef1 = jest.fn(),
47
- callbackRef2 = jest.fn(),
48
- objectRef1 = React.createRef(),
49
- objectRef2 = React.createRef(),
50
- nullRef = null;
48
+ });
49
+ test("merges any number of varying refs", () => {
50
+ const callbackRef1 = jest.fn();
51
+ const callbackRef2 = jest.fn();
52
+ const objectRef1 = React.createRef();
53
+ const objectRef2 = React.createRef();
54
+ const nullRef = null;
51
55
  (0, import_test_utils.act)(() => {
52
56
  (0, import_react.render)(/* @__PURE__ */(0, import_jsx_runtime.jsx)(TestComponent, {
53
57
  refs: [callbackRef1, callbackRef2, objectRef1, objectRef2, nullRef]
54
58
  }));
55
- }), expect(callbackRef1).toHaveBeenCalledTimes(1), expect(callbackRef2).toHaveBeenCalledTimes(1), expect(objectRef1.current).toBeInstanceOf(HTMLDivElement), expect(objectRef2.current).toBeInstanceOf(HTMLDivElement);
56
- }), test("ref is called when ref changes", () => {
57
- const ref = jest.fn(),
58
- nextRef = jest.fn();
59
+ });
60
+ expect(callbackRef1).toHaveBeenCalledTimes(1);
61
+ expect(callbackRef2).toHaveBeenCalledTimes(1);
62
+ expect(objectRef1.current).toBeInstanceOf(HTMLDivElement);
63
+ expect(objectRef2.current).toBeInstanceOf(HTMLDivElement);
64
+ });
65
+ test("ref is called when ref changes", () => {
66
+ const ref = jest.fn();
67
+ const nextRef = jest.fn();
59
68
  let rerender;
60
69
  (0, import_test_utils.act)(() => {
70
+ ;
61
71
  ({
62
72
  rerender
63
73
  } = (0, import_react.render)(/* @__PURE__ */(0, import_jsx_runtime.jsx)(TestComponent, {
64
74
  refs: [ref]
65
75
  })));
66
- }), expect(ref).toHaveBeenCalled(), (0, import_test_utils.act)(() => {
76
+ });
77
+ expect(ref).toHaveBeenCalled();
78
+ (0, import_test_utils.act)(() => {
67
79
  rerender(/* @__PURE__ */(0, import_jsx_runtime.jsx)(TestComponent, {
68
80
  refs: [nextRef]
69
81
  }));
70
- }), expect(nextRef).toHaveBeenCalled();
71
- }), test("ref is not called for each rerender", () => {
82
+ });
83
+ expect(nextRef).toHaveBeenCalled();
84
+ });
85
+ test("ref is not called for each rerender", () => {
72
86
  const ref = jest.fn();
73
87
  let rerender;
74
88
  (0, import_test_utils.act)(() => {
89
+ ;
75
90
  ({
76
91
  rerender
77
92
  } = (0, import_react.render)(/* @__PURE__ */(0, import_jsx_runtime.jsx)(TestComponent, {
78
93
  refs: [ref]
79
94
  })));
80
- }), expect(ref).toHaveBeenCalledTimes(1), (0, import_test_utils.act)(() => {
95
+ });
96
+ expect(ref).toHaveBeenCalledTimes(1);
97
+ (0, import_test_utils.act)(() => {
81
98
  rerender(/* @__PURE__ */(0, import_jsx_runtime.jsx)(TestComponent, {
82
99
  refs: [ref]
83
100
  }));
84
- }), expect(ref).toHaveBeenCalledTimes(1);
85
- }), test("ref is not called for props changes", () => {
101
+ });
102
+ expect(ref).toHaveBeenCalledTimes(1);
103
+ });
104
+ test("ref is not called for props changes", () => {
86
105
  const ref = jest.fn();
87
106
  let rerender;
88
107
  (0, import_test_utils.act)(() => {
108
+ ;
89
109
  ({
90
110
  rerender
91
111
  } = (0, import_react.render)(/* @__PURE__ */(0, import_jsx_runtime.jsx)(TestComponent, {
92
112
  id: "foo",
93
113
  refs: [ref]
94
114
  })));
95
- }), expect(ref).toHaveBeenCalledTimes(1), (0, import_test_utils.act)(() => {
115
+ });
116
+ expect(ref).toHaveBeenCalledTimes(1);
117
+ (0, import_test_utils.act)(() => {
96
118
  rerender(/* @__PURE__ */(0, import_jsx_runtime.jsx)(TestComponent, {
97
119
  id: "bar",
98
120
  refs: [ref]
99
121
  }));
100
- }), expect(ref).toHaveBeenCalledTimes(1);
122
+ });
123
+ expect(ref).toHaveBeenCalledTimes(1);
101
124
  });
102
125
  });