@tamagui/react-native-web-internals 2.7.7 → 3.0.0-0.canary.1791056644527

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 (298) hide show
  1. package/dist/cjs/StyleSheet/compiler/createReactDOMStyle.cjs +150 -136
  2. package/dist/cjs/StyleSheet/compiler/hash.cjs +14 -18
  3. package/dist/cjs/StyleSheet/compiler/hyphenateStyleName.cjs +20 -24
  4. package/dist/cjs/StyleSheet/compiler/index.cjs +294 -321
  5. package/dist/cjs/StyleSheet/compiler/normalizeColor.cjs +19 -23
  6. package/dist/cjs/StyleSheet/compiler/normalizeValueWithProperty.cjs +31 -35
  7. package/dist/cjs/StyleSheet/compiler/resolveShadowValue.cjs +26 -38
  8. package/dist/cjs/StyleSheet/dom/createCSSStyleSheet.cjs +36 -40
  9. package/dist/cjs/StyleSheet/dom/createOrderedCSSStyleSheet.cjs +107 -111
  10. package/dist/cjs/StyleSheet/dom/index.cjs +69 -72
  11. package/dist/cjs/StyleSheet/index.cjs +32 -34
  12. package/dist/cjs/StyleSheet/preprocess.cjs +73 -94
  13. package/dist/cjs/StyleSheet/validate.cjs +71 -75
  14. package/dist/cjs/TextAncestorContext.cjs +14 -18
  15. package/dist/cjs/colorProps.cjs +24 -28
  16. package/dist/cjs/index.cjs +48 -50
  17. package/dist/cjs/modules/AccessibilityUtil/index.cjs +17 -21
  18. package/dist/cjs/modules/AccessibilityUtil/isDisabled.cjs +14 -18
  19. package/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.cjs +45 -49
  20. package/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.cjs +33 -39
  21. package/dist/cjs/modules/AssetRegistry/index.cjs +17 -19
  22. package/dist/cjs/modules/ImageLoader/index.cjs +134 -141
  23. package/dist/cjs/modules/InteractionManager.cjs +211 -219
  24. package/dist/cjs/modules/Platform/index.cjs +17 -21
  25. package/dist/cjs/modules/TextInputState/index.cjs +54 -58
  26. package/dist/cjs/modules/UIManager/index.cjs +45 -51
  27. package/dist/cjs/modules/canUseDOM.cjs +14 -18
  28. package/dist/cjs/modules/createDOMProps/index.cjs +284 -359
  29. package/dist/cjs/modules/createEventHandle/index.cjs +56 -62
  30. package/dist/cjs/modules/dismissKeyboard/index.cjs +15 -19
  31. package/dist/cjs/modules/forwardedProps/index.cjs +127 -130
  32. package/dist/cjs/modules/getBoundingClientRect/index.cjs +21 -25
  33. package/dist/cjs/modules/invariant.cjs +25 -27
  34. package/dist/cjs/modules/isSelectionValid/index.cjs +21 -25
  35. package/dist/cjs/modules/isWebColor/index.cjs +14 -18
  36. package/dist/cjs/modules/mergeRefs/index.cjs +30 -34
  37. package/dist/cjs/modules/modality/index.cjs +130 -134
  38. package/dist/cjs/modules/multiplyStyleLengthValue/index.cjs +24 -28
  39. package/dist/cjs/modules/normalizeColor/index.cjs +27 -31
  40. package/dist/cjs/modules/pick/index.cjs +21 -27
  41. package/dist/cjs/modules/processColor/index.cjs +27 -36
  42. package/dist/cjs/modules/requestIdleCallback/index.cjs +27 -29
  43. package/dist/cjs/modules/setValueForStyles/dangerousStyleValue.cjs +38 -42
  44. package/dist/cjs/modules/setValueForStyles/index.cjs +27 -34
  45. package/dist/cjs/modules/unitlessNumbers/index.cjs +68 -75
  46. package/dist/cjs/modules/useElementLayout/index.cjs +23 -31
  47. package/dist/cjs/modules/useEvent/index.cjs +39 -43
  48. package/dist/cjs/modules/useHover/index.cjs +112 -118
  49. package/dist/cjs/modules/useLayoutEffect/index.cjs +17 -26
  50. package/dist/cjs/modules/useLocale/index.cjs +32 -43
  51. package/dist/cjs/modules/useLocale/isLocaleRTL.cjs +65 -76
  52. package/dist/cjs/modules/useMergeRefs/index.cjs +18 -29
  53. package/dist/cjs/modules/usePlatformMethods/index.cjs +23 -30
  54. package/dist/cjs/modules/useStable/index.cjs +23 -32
  55. package/dist/cjs/styleTypes.cjs +9 -11
  56. package/dist/cjs/types.cjs +9 -11
  57. package/dist/esm/StyleSheet/compiler/createReactDOMStyle.mjs +137 -119
  58. package/dist/esm/StyleSheet/compiler/createReactDOMStyle.mjs.map +1 -1
  59. package/dist/esm/StyleSheet/compiler/hash.mjs +2 -2
  60. package/dist/esm/StyleSheet/compiler/hyphenateStyleName.mjs +7 -6
  61. package/dist/esm/StyleSheet/compiler/hyphenateStyleName.mjs.map +1 -1
  62. package/dist/esm/StyleSheet/compiler/index.mjs +279 -302
  63. package/dist/esm/StyleSheet/compiler/index.mjs.map +1 -1
  64. package/dist/esm/StyleSheet/compiler/normalizeColor.mjs +7 -5
  65. package/dist/esm/StyleSheet/compiler/normalizeColor.mjs.map +1 -1
  66. package/dist/esm/StyleSheet/compiler/normalizeValueWithProperty.mjs +19 -17
  67. package/dist/esm/StyleSheet/compiler/normalizeValueWithProperty.mjs.map +1 -1
  68. package/dist/esm/StyleSheet/compiler/resolveShadowValue.mjs +14 -20
  69. package/dist/esm/StyleSheet/compiler/resolveShadowValue.mjs.map +1 -1
  70. package/dist/esm/StyleSheet/dom/createCSSStyleSheet.mjs +24 -22
  71. package/dist/esm/StyleSheet/dom/createCSSStyleSheet.mjs.map +1 -1
  72. package/dist/esm/StyleSheet/dom/createOrderedCSSStyleSheet.mjs +94 -93
  73. package/dist/esm/StyleSheet/dom/createOrderedCSSStyleSheet.mjs.map +1 -1
  74. package/dist/esm/StyleSheet/dom/index.mjs +57 -54
  75. package/dist/esm/StyleSheet/dom/index.mjs.map +1 -1
  76. package/dist/esm/StyleSheet/index.mjs +18 -17
  77. package/dist/esm/StyleSheet/index.mjs.map +1 -1
  78. package/dist/esm/StyleSheet/preprocess.mjs +58 -75
  79. package/dist/esm/StyleSheet/preprocess.mjs.map +1 -1
  80. package/dist/esm/StyleSheet/validate.mjs +58 -57
  81. package/dist/esm/StyleSheet/validate.mjs.map +1 -1
  82. package/dist/esm/TextAncestorContext.mjs +2 -0
  83. package/dist/esm/TextAncestorContext.mjs.map +1 -1
  84. package/dist/esm/colorProps.mjs +11 -10
  85. package/dist/esm/colorProps.mjs.map +1 -1
  86. package/dist/esm/index.js +22 -15
  87. package/dist/esm/index.mjs +22 -15
  88. package/dist/esm/modules/AccessibilityUtil/index.mjs +5 -3
  89. package/dist/esm/modules/AccessibilityUtil/index.mjs.map +1 -1
  90. package/dist/esm/modules/AccessibilityUtil/isDisabled.mjs +2 -1
  91. package/dist/esm/modules/AccessibilityUtil/isDisabled.mjs.map +1 -1
  92. package/dist/esm/modules/AccessibilityUtil/propsToAccessibilityComponent.mjs +33 -31
  93. package/dist/esm/modules/AccessibilityUtil/propsToAccessibilityComponent.mjs.map +1 -1
  94. package/dist/esm/modules/AccessibilityUtil/propsToAriaRole.mjs +20 -21
  95. package/dist/esm/modules/AccessibilityUtil/propsToAriaRole.mjs.map +1 -1
  96. package/dist/esm/modules/AssetRegistry/index.mjs +3 -2
  97. package/dist/esm/modules/AssetRegistry/index.mjs.map +1 -1
  98. package/dist/esm/modules/ImageLoader/index.mjs +120 -124
  99. package/dist/esm/modules/ImageLoader/index.mjs.map +1 -1
  100. package/dist/esm/modules/InteractionManager.mjs +199 -201
  101. package/dist/esm/modules/InteractionManager.mjs.map +1 -1
  102. package/dist/esm/modules/Platform/index.mjs +4 -3
  103. package/dist/esm/modules/Platform/index.mjs.map +1 -1
  104. package/dist/esm/modules/TextInputState/index.mjs +42 -40
  105. package/dist/esm/modules/TextInputState/index.mjs.map +1 -1
  106. package/dist/esm/modules/UIManager/index.mjs +33 -33
  107. package/dist/esm/modules/UIManager/index.mjs.map +1 -1
  108. package/dist/esm/modules/canUseDOM.mjs +1 -0
  109. package/dist/esm/modules/canUseDOM.mjs.map +1 -1
  110. package/dist/esm/modules/createDOMProps/index.mjs +271 -342
  111. package/dist/esm/modules/createDOMProps/index.mjs.map +1 -1
  112. package/dist/esm/modules/createEventHandle/index.mjs +44 -44
  113. package/dist/esm/modules/createEventHandle/index.mjs.map +1 -1
  114. package/dist/esm/modules/dismissKeyboard/index.mjs +3 -1
  115. package/dist/esm/modules/dismissKeyboard/index.mjs.map +1 -1
  116. package/dist/esm/modules/forwardedProps/index.mjs +104 -104
  117. package/dist/esm/modules/forwardedProps/index.mjs.map +1 -1
  118. package/dist/esm/modules/getBoundingClientRect/index.mjs +8 -7
  119. package/dist/esm/modules/getBoundingClientRect/index.mjs.map +1 -1
  120. package/dist/esm/modules/invariant.mjs +11 -10
  121. package/dist/esm/modules/invariant.mjs.map +1 -1
  122. package/dist/esm/modules/isSelectionValid/index.mjs +8 -7
  123. package/dist/esm/modules/isSelectionValid/index.mjs.map +1 -1
  124. package/dist/esm/modules/isWebColor/index.mjs +2 -1
  125. package/dist/esm/modules/isWebColor/index.mjs.map +1 -1
  126. package/dist/esm/modules/mergeRefs/index.mjs +17 -16
  127. package/dist/esm/modules/mergeRefs/index.mjs.map +1 -1
  128. package/dist/esm/modules/modality/index.mjs +115 -115
  129. package/dist/esm/modules/modality/index.mjs.map +1 -1
  130. package/dist/esm/modules/multiplyStyleLengthValue/index.mjs +11 -10
  131. package/dist/esm/modules/multiplyStyleLengthValue/index.mjs.map +1 -1
  132. package/dist/esm/modules/normalizeColor/index.mjs +15 -13
  133. package/dist/esm/modules/normalizeColor/index.mjs.map +1 -1
  134. package/dist/esm/modules/pick/index.mjs +8 -9
  135. package/dist/esm/modules/pick/index.mjs.map +1 -1
  136. package/dist/esm/modules/processColor/index.mjs +12 -10
  137. package/dist/esm/modules/processColor/index.mjs.map +1 -1
  138. package/dist/esm/modules/requestIdleCallback/index.mjs +14 -12
  139. package/dist/esm/modules/requestIdleCallback/index.mjs.map +1 -1
  140. package/dist/esm/modules/setValueForStyles/dangerousStyleValue.mjs +27 -25
  141. package/dist/esm/modules/setValueForStyles/dangerousStyleValue.mjs.map +1 -1
  142. package/dist/esm/modules/setValueForStyles/index.mjs +15 -16
  143. package/dist/esm/modules/setValueForStyles/index.mjs.map +1 -1
  144. package/dist/esm/modules/unitlessNumbers/index.mjs +55 -57
  145. package/dist/esm/modules/unitlessNumbers/index.mjs.map +1 -1
  146. package/dist/esm/modules/useElementLayout/index.mjs +12 -14
  147. package/dist/esm/modules/useElementLayout/index.mjs.map +1 -1
  148. package/dist/esm/modules/useEvent/index.mjs +28 -26
  149. package/dist/esm/modules/useEvent/index.mjs.map +1 -1
  150. package/dist/esm/modules/useHover/index.mjs +101 -101
  151. package/dist/esm/modules/useHover/index.mjs.map +1 -1
  152. package/dist/esm/modules/useLayoutEffect/index.mjs +2 -0
  153. package/dist/esm/modules/useLayoutEffect/index.mjs.map +1 -1
  154. package/dist/esm/modules/useLocale/index.mjs +15 -17
  155. package/dist/esm/modules/useLocale/index.mjs.map +1 -1
  156. package/dist/esm/modules/useLocale/isLocaleRTL.mjs +52 -58
  157. package/dist/esm/modules/useLocale/isLocaleRTL.mjs.map +1 -1
  158. package/dist/esm/modules/useMergeRefs/index.mjs +3 -3
  159. package/dist/esm/modules/useMergeRefs/index.mjs.map +1 -1
  160. package/dist/esm/modules/usePlatformMethods/index.mjs +11 -12
  161. package/dist/esm/modules/usePlatformMethods/index.mjs.map +1 -1
  162. package/dist/esm/modules/useStable/index.mjs +8 -6
  163. package/dist/esm/modules/useStable/index.mjs.map +1 -1
  164. package/dist/esm/styleTypes.mjs +0 -2
  165. package/dist/esm/types.mjs +0 -2
  166. package/package.json +12 -11
  167. package/src/StyleSheet/compiler/index.tsx +2 -5
  168. package/src/StyleSheet/preprocess.tsx +1 -4
  169. package/src/modules/createDOMProps/index.tsx +8 -22
  170. package/src/modules/forwardedProps/index.tsx +0 -1
  171. package/src/modules/mergeRefs/index.tsx +1 -1
  172. package/src/modules/pick/index.tsx +2 -4
  173. package/src/modules/setValueForStyles/dangerousStyleValue.tsx +1 -1
  174. package/src/modules/setValueForStyles/index.tsx +0 -3
  175. package/src/modules/unitlessNumbers/index.tsx +0 -5
  176. package/types/StyleSheet/compiler/createReactDOMStyle.d.ts.map +1 -1
  177. package/types/StyleSheet/compiler/index.d.ts.map +1 -1
  178. package/types/StyleSheet/compiler/normalizeColor.d.ts.map +1 -1
  179. package/types/StyleSheet/compiler/resolveShadowValue.d.ts.map +1 -1
  180. package/types/StyleSheet/index.d.ts +15 -16
  181. package/types/StyleSheet/index.d.ts.map +1 -1
  182. package/types/StyleSheet/preprocess.d.ts +1 -1
  183. package/types/StyleSheet/preprocess.d.ts.map +1 -1
  184. package/types/colorProps.d.ts.map +1 -1
  185. package/types/modules/AccessibilityUtil/index.d.ts +6 -5
  186. package/types/modules/AccessibilityUtil/index.d.ts.map +1 -1
  187. package/types/modules/AccessibilityUtil/isDisabled.d.ts.map +1 -1
  188. package/types/modules/AccessibilityUtil/propsToAccessibilityComponent.d.ts.map +1 -1
  189. package/types/modules/AccessibilityUtil/propsToAriaRole.d.ts.map +1 -1
  190. package/types/modules/ImageLoader/index.d.ts +1 -1
  191. package/types/modules/ImageLoader/index.d.ts.map +1 -1
  192. package/types/modules/InteractionManager.d.ts +3 -3
  193. package/types/modules/InteractionManager.d.ts.map +1 -1
  194. package/types/modules/Platform/index.d.ts.map +1 -1
  195. package/types/modules/TextInputState/index.d.ts.map +1 -1
  196. package/types/modules/UIManager/index.d.ts +1 -6
  197. package/types/modules/UIManager/index.d.ts.map +1 -1
  198. package/types/modules/createDOMProps/index.d.ts.map +1 -1
  199. package/types/modules/forwardedProps/index.d.ts +70 -74
  200. package/types/modules/forwardedProps/index.d.ts.map +1 -1
  201. package/types/modules/getBoundingClientRect/index.d.ts.map +1 -1
  202. package/types/modules/isWebColor/index.d.ts.map +1 -1
  203. package/types/modules/multiplyStyleLengthValue/index.d.ts.map +1 -1
  204. package/types/modules/normalizeColor/index.d.ts.map +1 -1
  205. package/types/modules/pick/index.d.ts.map +1 -1
  206. package/types/modules/processColor/index.d.ts.map +1 -1
  207. package/types/modules/requestIdleCallback/index.d.ts +3 -1
  208. package/types/modules/requestIdleCallback/index.d.ts.map +1 -1
  209. package/types/modules/setValueForStyles/index.d.ts.map +1 -1
  210. package/types/modules/unitlessNumbers/index.d.ts +0 -5
  211. package/types/modules/unitlessNumbers/index.d.ts.map +1 -1
  212. package/types/modules/useLayoutEffect/index.d.ts +1 -1
  213. package/types/modules/useLayoutEffect/index.d.ts.map +1 -1
  214. package/dist/cjs/StyleSheet/__tests__/compiler-createReactDOMStyle-test.cjs +0 -265
  215. package/dist/cjs/StyleSheet/__tests__/compiler-test.cjs +0 -419
  216. package/dist/cjs/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.cjs +0 -160
  217. package/dist/cjs/StyleSheet/__tests__/index-test.cjs +0 -436
  218. package/dist/cjs/StyleSheet/__tests__/preprocess-test.cjs +0 -121
  219. package/dist/cjs/StyleSheet/__tests__/validate-test.cjs +0 -51
  220. package/dist/cjs/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.cjs +0 -57
  221. package/dist/cjs/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.cjs +0 -46
  222. package/dist/cjs/modules/Platform/__tests__/index-test.cjs +0 -56
  223. package/dist/cjs/modules/UIManager/__tests__/index-test.cjs +0 -111
  224. package/dist/cjs/modules/createDOMProps/__tests__/index-test.cjs +0 -177
  225. package/dist/cjs/modules/createEventHandle/__tests__/index-test.cjs +0 -422
  226. package/dist/cjs/modules/mergeRefs/__tests__/index-test.cjs +0 -48
  227. package/dist/cjs/modules/modality/__tests__/index-test.cjs +0 -59
  228. package/dist/cjs/modules/multiplyStyleLengthValue/__tests__/index-test.cjs +0 -38
  229. package/dist/cjs/modules/processColor/__tests__/index-test.cjs +0 -85
  230. package/dist/cjs/modules/useEvent/__tests__/index-test.cjs +0 -490
  231. package/dist/cjs/modules/useHover/__tests__/index-test.cjs +0 -382
  232. package/dist/cjs/modules/useMergeRefs/__tests__/index-test.cjs +0 -125
  233. package/dist/cjs/modules/useStable/__tests__/index-test.cjs +0 -122
  234. package/dist/esm/StyleSheet/__tests__/compiler-createReactDOMStyle-test.mjs +0 -242
  235. package/dist/esm/StyleSheet/__tests__/compiler-createReactDOMStyle-test.mjs.map +0 -1
  236. package/dist/esm/StyleSheet/__tests__/compiler-test.mjs +0 -420
  237. package/dist/esm/StyleSheet/__tests__/compiler-test.mjs.map +0 -1
  238. package/dist/esm/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.mjs +0 -137
  239. package/dist/esm/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.mjs.map +0 -1
  240. package/dist/esm/StyleSheet/__tests__/index-test.mjs +0 -413
  241. package/dist/esm/StyleSheet/__tests__/index-test.mjs.map +0 -1
  242. package/dist/esm/StyleSheet/__tests__/preprocess-test.mjs +0 -122
  243. package/dist/esm/StyleSheet/__tests__/preprocess-test.mjs.map +0 -1
  244. package/dist/esm/StyleSheet/__tests__/validate-test.mjs +0 -52
  245. package/dist/esm/StyleSheet/__tests__/validate-test.mjs.map +0 -1
  246. package/dist/esm/StyleSheet/compiler/hash.mjs.map +0 -1
  247. package/dist/esm/index.js.map +0 -1
  248. package/dist/esm/index.mjs.map +0 -1
  249. package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.mjs +0 -34
  250. package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.mjs.map +0 -1
  251. package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.mjs +0 -23
  252. package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.mjs.map +0 -1
  253. package/dist/esm/modules/Platform/__tests__/index-test.mjs +0 -33
  254. package/dist/esm/modules/Platform/__tests__/index-test.mjs.map +0 -1
  255. package/dist/esm/modules/UIManager/__tests__/index-test.mjs +0 -88
  256. package/dist/esm/modules/UIManager/__tests__/index-test.mjs.map +0 -1
  257. package/dist/esm/modules/createDOMProps/__tests__/index-test.mjs +0 -154
  258. package/dist/esm/modules/createDOMProps/__tests__/index-test.mjs.map +0 -1
  259. package/dist/esm/modules/createEventHandle/__tests__/index-test.mjs +0 -399
  260. package/dist/esm/modules/createEventHandle/__tests__/index-test.mjs.map +0 -1
  261. package/dist/esm/modules/mergeRefs/__tests__/index-test.mjs +0 -25
  262. package/dist/esm/modules/mergeRefs/__tests__/index-test.mjs.map +0 -1
  263. package/dist/esm/modules/modality/__tests__/index-test.mjs +0 -60
  264. package/dist/esm/modules/modality/__tests__/index-test.mjs.map +0 -1
  265. package/dist/esm/modules/multiplyStyleLengthValue/__tests__/index-test.mjs +0 -15
  266. package/dist/esm/modules/multiplyStyleLengthValue/__tests__/index-test.mjs.map +0 -1
  267. package/dist/esm/modules/processColor/__tests__/index-test.mjs +0 -62
  268. package/dist/esm/modules/processColor/__tests__/index-test.mjs.map +0 -1
  269. package/dist/esm/modules/useEvent/__tests__/index-test.mjs +0 -467
  270. package/dist/esm/modules/useEvent/__tests__/index-test.mjs.map +0 -1
  271. package/dist/esm/modules/useHover/__tests__/index-test.mjs +0 -359
  272. package/dist/esm/modules/useHover/__tests__/index-test.mjs.map +0 -1
  273. package/dist/esm/modules/useMergeRefs/__tests__/index-test.mjs +0 -102
  274. package/dist/esm/modules/useMergeRefs/__tests__/index-test.mjs.map +0 -1
  275. package/dist/esm/modules/useStable/__tests__/index-test.mjs +0 -99
  276. package/dist/esm/modules/useStable/__tests__/index-test.mjs.map +0 -1
  277. package/dist/esm/styleTypes.mjs.map +0 -1
  278. package/dist/esm/types.mjs.map +0 -1
  279. package/src/StyleSheet/__tests__/compiler-createReactDOMStyle-test.tsx +0 -236
  280. package/src/StyleSheet/__tests__/compiler-test.tsx +0 -426
  281. package/src/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.tsx +0 -169
  282. package/src/StyleSheet/__tests__/index-test.tsx +0 -406
  283. package/src/StyleSheet/__tests__/preprocess-test.tsx +0 -107
  284. package/src/StyleSheet/__tests__/validate-test.tsx +0 -42
  285. package/src/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.tsx +0 -44
  286. package/src/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.tsx +0 -25
  287. package/src/modules/Platform/__tests__/index-test.tsx +0 -45
  288. package/src/modules/UIManager/__tests__/index-test.tsx +0 -87
  289. package/src/modules/createDOMProps/__tests__/index-test.tsx +0 -138
  290. package/src/modules/createEventHandle/__tests__/index-test.tsx +0 -459
  291. package/src/modules/mergeRefs/__tests__/index-test.tsx +0 -32
  292. package/src/modules/modality/__tests__/index-test.tsx +0 -66
  293. package/src/modules/multiplyStyleLengthValue/__tests__/index-test.tsx +0 -23
  294. package/src/modules/processColor/__tests__/index-test.tsx +0 -78
  295. package/src/modules/useEvent/__tests__/index-test.tsx +0 -511
  296. package/src/modules/useHover/__tests__/index-test.tsx +0 -342
  297. package/src/modules/useMergeRefs/__tests__/index-test.tsx +0 -91
  298. package/src/modules/useStable/__tests__/index-test.tsx +0 -101
@@ -1,459 +0,0 @@
1
- /**
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- * @flow strict-local
8
- */
9
-
10
- import { createEventTarget } from 'dom-event-testing-library'
11
- import * as React from 'react'
12
- import * as ReactDOM from 'react-dom'
13
- import * as ReactDOMServer from 'react-dom/server'
14
- import { act } from 'react-dom/test-utils'
15
-
16
- import createEventHandle from '..'
17
-
18
- function createRoot(rootNode) {
19
- return {
20
- render(element) {
21
- ReactDOM.render(element, rootNode)
22
- },
23
- }
24
- }
25
-
26
- describe('create-event-handle', () => {
27
- let root
28
- let rootNode
29
-
30
- beforeEach(() => {
31
- rootNode = document.createElement('div')
32
- document.body.appendChild(rootNode)
33
- root = createRoot(rootNode)
34
- })
35
-
36
- afterEach(() => {
37
- root.render(null)
38
- document.body.removeChild(rootNode)
39
- rootNode = null
40
- root = null
41
- })
42
-
43
- test('can render correctly using ReactDOMServer', () => {
44
- const listener = jest.fn()
45
- const targetRef = React.createRef()
46
- const addClickListener = createEventHandle('click')
47
-
48
- function Component() {
49
- React.useEffect(() => {
50
- return addClickListener(targetRef.current, listener)
51
- })
52
- return <div ref={targetRef} />
53
- }
54
-
55
- const output = ReactDOMServer.renderToString(<Component />)
56
- expect(output).toBe('<div data-reactroot=""></div>')
57
- })
58
-
59
- describe('createEventTarget()', () => {
60
- test('event dispatched on target', () => {
61
- const listener = jest.fn()
62
- const targetRef = React.createRef()
63
- const addClickListener = createEventHandle('click')
64
-
65
- function Component() {
66
- React.useEffect(() => {
67
- return addClickListener(targetRef.current, listener)
68
- })
69
- return <div ref={targetRef} />
70
- }
71
-
72
- act(() => {
73
- root.render(<Component />)
74
- })
75
-
76
- const target = createEventTarget(targetRef.current)
77
-
78
- act(() => {
79
- target.click()
80
- })
81
-
82
- expect(listener).toBeCalledTimes(1)
83
- })
84
-
85
- test('event dispatched on parent', () => {
86
- const listener = jest.fn()
87
- const listenerCapture = jest.fn()
88
- const targetRef = React.createRef()
89
- const parentRef = React.createRef()
90
- const addClickListener = createEventHandle('click')
91
- const addClickCaptureListener = createEventHandle('click', {
92
- capture: true,
93
- })
94
-
95
- function Component() {
96
- React.useEffect(() => {
97
- const removeClickListener = addClickListener(targetRef.current, listener)
98
- const removeClickCaptureListener = addClickCaptureListener(
99
- targetRef.current,
100
- listenerCapture
101
- )
102
- return () => {
103
- removeClickListener()
104
- removeClickCaptureListener()
105
- }
106
- })
107
- return (
108
- <div ref={parentRef}>
109
- <div ref={targetRef} />
110
- </div>
111
- )
112
- }
113
-
114
- act(() => {
115
- root.render(<Component />)
116
- })
117
-
118
- const parent = createEventTarget(parentRef.current)
119
-
120
- act(() => {
121
- parent.click()
122
- })
123
-
124
- expect(listener).toBeCalledTimes(0)
125
- expect(listenerCapture).toBeCalledTimes(0)
126
- })
127
-
128
- test('event dispatched on child', () => {
129
- const log = []
130
- const listener = jest.fn(() => {
131
- log.push('bubble')
132
- })
133
- const listenerCapture = jest.fn(() => {
134
- log.push('capture')
135
- })
136
- const targetRef = React.createRef()
137
- const childRef = React.createRef()
138
- const addClickListener = createEventHandle('click')
139
- const addClickCaptureListener = createEventHandle('click', {
140
- capture: true,
141
- })
142
-
143
- function Component() {
144
- React.useEffect(() => {
145
- const removeClickListener = addClickListener(targetRef.current, listener)
146
- const removeClickCaptureListener = addClickCaptureListener(
147
- targetRef.current,
148
- listenerCapture
149
- )
150
- return () => {
151
- removeClickListener()
152
- removeClickCaptureListener()
153
- }
154
- })
155
- return (
156
- <div ref={targetRef}>
157
- <div ref={childRef} />
158
- </div>
159
- )
160
- }
161
-
162
- act(() => {
163
- root.render(<Component />)
164
- })
165
-
166
- const child = createEventTarget(childRef.current)
167
-
168
- act(() => {
169
- child.click()
170
- })
171
-
172
- expect(listenerCapture).toBeCalledTimes(1)
173
- expect(listener).toBeCalledTimes(1)
174
- expect(log).toEqual(['capture', 'bubble'])
175
- })
176
-
177
- test('event dispatched on text node', () => {
178
- const listener = jest.fn()
179
- const targetRef = React.createRef()
180
- const childRef = React.createRef()
181
- const addClickListener = createEventHandle('click')
182
-
183
- function Component() {
184
- React.useEffect(() => {
185
- return addClickListener(targetRef.current, listener)
186
- })
187
- return (
188
- <div ref={targetRef}>
189
- <div ref={childRef}>text</div>
190
- </div>
191
- )
192
- }
193
-
194
- act(() => {
195
- root.render(<Component />)
196
- })
197
-
198
- const text = createEventTarget(childRef.current.firstChild)
199
-
200
- act(() => {
201
- text.click()
202
- })
203
-
204
- expect(listener).toBeCalledTimes(1)
205
- })
206
-
207
- test('listener can be attached to document', () => {
208
- const listener = jest.fn()
209
- const targetRef = React.createRef()
210
- const addClickListener = createEventHandle('click')
211
-
212
- function Component({ target }) {
213
- React.useEffect(() => {
214
- return addClickListener(target, listener)
215
- })
216
- return <div ref={targetRef} />
217
- }
218
-
219
- act(() => {
220
- root.render(<Component target={document} />)
221
- })
222
- const target = createEventTarget(targetRef.current)
223
- act(() => {
224
- target.click()
225
- })
226
-
227
- expect(listener).toBeCalledTimes(1)
228
- })
229
-
230
- test('listener can be attached to window ', () => {
231
- const listener = jest.fn()
232
- const targetRef = React.createRef()
233
- const addClickListener = createEventHandle('click')
234
-
235
- function Component({ target }) {
236
- React.useEffect(() => {
237
- return addClickListener(target, listener)
238
- })
239
- return <div ref={targetRef} />
240
- }
241
-
242
- act(() => {
243
- root.render(<Component target={window} />)
244
- })
245
- const target = createEventTarget(targetRef.current)
246
- act(() => {
247
- target.click()
248
- })
249
-
250
- expect(listener).toBeCalledTimes(1)
251
- })
252
-
253
- test('custom event dispatched on target', () => {
254
- const listener = jest.fn()
255
- const targetRef = React.createRef()
256
- const addMagicEventListener = createEventHandle('magic-event')
257
-
258
- function Component() {
259
- React.useEffect(() => {
260
- return addMagicEventListener(targetRef.current, listener)
261
- })
262
- return <div ref={targetRef} />
263
- }
264
-
265
- act(() => {
266
- root.render(<Component />)
267
- })
268
-
269
- act(() => {
270
- const event = new CustomEvent('magic-event', { bubbles: true })
271
- targetRef.current.dispatchEvent(event)
272
- })
273
-
274
- expect(listener).toBeCalledTimes(1)
275
- })
276
-
277
- test('listeners can be set on multiple targets simultaneously', () => {
278
- const log = []
279
- const targetRef = React.createRef()
280
- const parentRef = React.createRef()
281
- const childRef = React.createRef()
282
- const addClickListener = createEventHandle('click')
283
- const addClickCaptureListener = createEventHandle('click', {
284
- capture: true,
285
- })
286
- const listener = jest.fn((e) => {
287
- log.push(['bubble', e.currentTarget.id])
288
- })
289
- const listenerCapture = jest.fn((e) => {
290
- log.push(['capture', e.currentTarget.id])
291
- })
292
-
293
- function Component() {
294
- React.useEffect(() => {
295
- // the same event handle is used to set listeners on different targets
296
- addClickListener(targetRef.current, listener)
297
- addClickListener(parentRef.current, listener)
298
- addClickCaptureListener(targetRef.current, listenerCapture)
299
- addClickCaptureListener(parentRef.current, listenerCapture)
300
- })
301
- return (
302
- <div id="parent" ref={parentRef}>
303
- <div id="target" ref={targetRef}>
304
- <div ref={childRef} />
305
- </div>
306
- </div>
307
- )
308
- }
309
-
310
- act(() => {
311
- root.render(<Component />)
312
- })
313
-
314
- const child = createEventTarget(childRef.current)
315
-
316
- act(() => {
317
- child.click()
318
- })
319
-
320
- expect(listenerCapture).toBeCalledTimes(2)
321
- expect(listener).toBeCalledTimes(2)
322
- expect(log).toEqual([
323
- ['capture', 'parent'],
324
- ['capture', 'target'],
325
- ['bubble', 'target'],
326
- ['bubble', 'parent'],
327
- ])
328
- })
329
-
330
- test('listeners are specific to each event handle', () => {
331
- const log = []
332
- const targetRef = React.createRef()
333
- const childRef = React.createRef()
334
- const addClickListener = createEventHandle('click')
335
- const addClickAltListener = createEventHandle('click')
336
- const addClickCaptureListener = createEventHandle('click', {
337
- capture: true,
338
- })
339
- const addClickCaptureAltListener = createEventHandle('click', {
340
- capture: true,
341
- })
342
- const listener = jest.fn((e) => {
343
- log.push(['bubble', 'target'])
344
- })
345
- const listenerAlt = jest.fn((e) => {
346
- log.push(['bubble', 'target-alt'])
347
- })
348
- const listenerCapture = jest.fn((e) => {
349
- log.push(['capture', 'target'])
350
- })
351
- const listenerCaptureAlt = jest.fn((e) => {
352
- log.push(['capture', 'target-alt'])
353
- })
354
-
355
- function Component() {
356
- React.useEffect(() => {
357
- addClickListener(targetRef.current, listener)
358
- addClickAltListener(targetRef.current, listenerAlt)
359
- addClickCaptureListener(targetRef.current, listenerCapture)
360
- addClickCaptureAltListener(targetRef.current, listenerCaptureAlt)
361
- })
362
- return (
363
- <div id="target" ref={targetRef}>
364
- <div ref={childRef} />
365
- </div>
366
- )
367
- }
368
-
369
- act(() => {
370
- root.render(<Component />)
371
- })
372
-
373
- const child = createEventTarget(childRef.current)
374
-
375
- act(() => {
376
- child.click()
377
- })
378
-
379
- expect(listenerCapture).toBeCalledTimes(1)
380
- expect(listenerCaptureAlt).toBeCalledTimes(1)
381
- expect(listener).toBeCalledTimes(1)
382
- expect(listenerAlt).toBeCalledTimes(1)
383
- expect(log).toEqual([
384
- ['capture', 'target'],
385
- ['capture', 'target-alt'],
386
- ['bubble', 'target'],
387
- ['bubble', 'target-alt'],
388
- ])
389
- })
390
- })
391
-
392
- describe('stopPropagation and stopImmediatePropagation', () => {
393
- test('stopPropagation works as expected', () => {
394
- const childListener = jest.fn((e) => {
395
- e.stopPropagation()
396
- })
397
- const targetListener = jest.fn()
398
- const targetRef = React.createRef()
399
- const childRef = React.createRef()
400
- const addClickListener = createEventHandle('click')
401
-
402
- function Component() {
403
- React.useEffect(() => {
404
- addClickListener(childRef.current, childListener)
405
- addClickListener(targetRef.current, targetListener)
406
- })
407
- return (
408
- <div ref={targetRef}>
409
- <div ref={childRef} />
410
- </div>
411
- )
412
- }
413
-
414
- act(() => {
415
- root.render(<Component />)
416
- })
417
-
418
- const child = createEventTarget(childRef.current)
419
-
420
- act(() => {
421
- child.click()
422
- })
423
-
424
- expect(childListener).toBeCalledTimes(1)
425
- expect(targetListener).toBeCalledTimes(0)
426
- })
427
-
428
- test('stopImmediatePropagation works as expected', () => {
429
- const firstListener = jest.fn((e) => {
430
- e.stopImmediatePropagation()
431
- })
432
- const secondListener = jest.fn()
433
- const targetRef = React.createRef()
434
- const addFirstClickListener = createEventHandle('click')
435
- const addSecondClickListener = createEventHandle('click')
436
-
437
- function Component() {
438
- React.useEffect(() => {
439
- addFirstClickListener(targetRef.current, firstListener)
440
- addSecondClickListener(targetRef.current, secondListener)
441
- })
442
- return <div ref={targetRef} />
443
- }
444
-
445
- act(() => {
446
- root.render(<Component />)
447
- })
448
-
449
- const target = createEventTarget(targetRef.current)
450
-
451
- act(() => {
452
- target.click()
453
- })
454
-
455
- expect(firstListener).toBeCalledTimes(1)
456
- expect(secondListener).toBeCalledTimes(0)
457
- })
458
- })
459
- })
@@ -1,32 +0,0 @@
1
- /**
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- import { render } from '@testing-library/react'
9
- import * as React from 'react'
10
-
11
- import mergeRefs from '..'
12
-
13
- describe('modules/mergeRefs', () => {
14
- test('merges refs of different types', () => {
15
- const ref = React.createRef(null)
16
- let functionRefValue = null
17
- let hookRef
18
- function Component() {
19
- const functionRef = (x) => {
20
- functionRefValue = x
21
- }
22
- hookRef = React.useRef(null)
23
- return <div ref={mergeRefs(ref, hookRef, functionRef)} />
24
- }
25
-
26
- render(<Component />)
27
-
28
- expect(ref.current).toBeInstanceOf(HTMLDivElement)
29
- expect(hookRef.current).toBeInstanceOf(HTMLDivElement)
30
- expect(functionRefValue).toBeInstanceOf(HTMLDivElement)
31
- })
32
- })
@@ -1,66 +0,0 @@
1
- /**
2
- * Copyright (c) Nicolas Gallagher.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- import {
9
- clearPointers,
10
- createEventTarget,
11
- describeWithPointerEvent,
12
- setPointerEvent,
13
- testWithPointerType,
14
- } from 'dom-event-testing-library'
15
-
16
- import { getActiveModality, getModality, testOnly_resetActiveModality } from '..'
17
-
18
- describeWithPointerEvent('modules/modality', (hasPointerEvent) => {
19
- let rootNode
20
-
21
- beforeEach(() => {
22
- setPointerEvent(hasPointerEvent)
23
- rootNode = document.createElement('div')
24
- document.body.appendChild(rootNode)
25
- })
26
-
27
- afterEach(() => {
28
- document.body.removeChild(rootNode)
29
- rootNode = null
30
- clearPointers()
31
- testOnly_resetActiveModality()
32
- })
33
-
34
- describe('getModality', () => {
35
- testWithPointerType('reflects currently-in-use modality', (pointerType) => {
36
- const target = createEventTarget(rootNode)
37
- expect(getModality()).toBe('keyboard')
38
- target.pointerdown({ pointerType })
39
- expect(getModality()).toBe(pointerType)
40
- target.pointerup({ pointerType })
41
- target.keydown()
42
- expect(getModality()).toBe('keyboard')
43
- if (pointerType !== 'touch') {
44
- target.pointermove({ pointerType })
45
- expect(getModality()).toBe(pointerType)
46
- target.keydown()
47
- expect(getModality()).toBe('keyboard')
48
- }
49
- })
50
- })
51
-
52
- describe('getActiveModality', () => {
53
- testWithPointerType('reflects last actively used modality', (pointerType) => {
54
- const target = createEventTarget(rootNode)
55
- expect(getActiveModality()).toBe('keyboard')
56
- target.pointerdown({ pointerType })
57
- expect(getActiveModality()).toBe(pointerType)
58
- target.pointerup({ pointerType })
59
- target.keydown()
60
- if (pointerType !== 'touch') {
61
- target.pointermove({ pointerType })
62
- expect(getActiveModality()).toBe('keyboard')
63
- }
64
- })
65
- })
66
- })
@@ -1,23 +0,0 @@
1
- /**
2
- * Copyright (c) Nicolas Gallagher.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- import multiplyStyleLengthValue from '..'
9
-
10
- describe('modules/multiplyStyleLengthValue', () => {
11
- test('number', () => {
12
- expect(multiplyStyleLengthValue(2, -1)).toEqual(-2)
13
- expect(multiplyStyleLengthValue(2, 2)).toEqual(4)
14
- expect(multiplyStyleLengthValue(2.5, 2)).toEqual(5)
15
- })
16
-
17
- test('length', () => {
18
- expect(multiplyStyleLengthValue('2rem', -1)).toEqual('-2rem')
19
- expect(multiplyStyleLengthValue('2px', 2)).toEqual('4px')
20
- expect(multiplyStyleLengthValue('2.5em', 2)).toEqual('5em')
21
- expect(multiplyStyleLengthValue('2e3px', 2)).toEqual('4000px')
22
- })
23
- })
@@ -1,78 +0,0 @@
1
- /**
2
- * Copyright (c) Nicolas Gallagher.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- import processColor from '..'
9
-
10
- const platformSpecific = (x) => x
11
-
12
- describe('processColor', () => {
13
- describe('predefined color names', () => {
14
- it('should convert red', () => {
15
- const colorFromString = processColor('red')
16
- const expectedInt = 0xffff0000
17
- expect(colorFromString).toEqual(platformSpecific(expectedInt))
18
- })
19
-
20
- it('should convert white', () => {
21
- const colorFromString = processColor('white')
22
- const expectedInt = 0xffffffff
23
- expect(colorFromString).toEqual(platformSpecific(expectedInt))
24
- })
25
-
26
- it('should convert black', () => {
27
- const colorFromString = processColor('black')
28
- const expectedInt = 0xff000000
29
- expect(colorFromString).toEqual(platformSpecific(expectedInt))
30
- })
31
-
32
- it('should convert transparent', () => {
33
- const colorFromString = processColor('transparent')
34
- const expectedInt = 0x00000000
35
- expect(colorFromString).toEqual(platformSpecific(expectedInt))
36
- })
37
- })
38
-
39
- describe('RGB strings', () => {
40
- it('should convert rgb(x, y, z)', () => {
41
- const colorFromString = processColor('rgb(10, 20, 30)')
42
- const expectedInt = 0xff0a141e
43
- expect(colorFromString).toEqual(platformSpecific(expectedInt))
44
- })
45
- })
46
-
47
- describe('RGBA strings', () => {
48
- it('should convert rgba(x, y, z, a)', () => {
49
- const colorFromString = processColor('rgba(10, 20, 30, 0.4)')
50
- const expectedInt = 0x660a141e
51
- expect(colorFromString).toEqual(platformSpecific(expectedInt))
52
- })
53
- })
54
-
55
- describe('HSL strings', () => {
56
- it('should convert hsl(x, y%, z%)', () => {
57
- const colorFromString = processColor('hsl(318, 69%, 55%)')
58
- const expectedInt = 0xffdb3dac
59
- expect(colorFromString).toEqual(platformSpecific(expectedInt))
60
- })
61
- })
62
-
63
- describe('HSLA strings', () => {
64
- it('should convert hsla(x, y%, z%, a)', () => {
65
- const colorFromString = processColor('hsla(318, 69%, 55%, 0.25)')
66
- const expectedInt = 0x40db3dac
67
- expect(colorFromString).toEqual(platformSpecific(expectedInt))
68
- })
69
- })
70
-
71
- describe('hex strings', () => {
72
- it('should convert #xxxxxx', () => {
73
- const colorFromString = processColor('#1e83c9')
74
- const expectedInt = 0xff1e83c9
75
- expect(colorFromString).toEqual(platformSpecific(expectedInt))
76
- })
77
- })
78
- })