@hanzogui/react-native-web-internals 2.0.0

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 (420) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/StyleSheet/__tests__/compiler-createReactDOMStyle-test.cjs +240 -0
  3. package/dist/cjs/StyleSheet/__tests__/compiler-test.cjs +407 -0
  4. package/dist/cjs/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.cjs +121 -0
  5. package/dist/cjs/StyleSheet/__tests__/index-test.cjs +404 -0
  6. package/dist/cjs/StyleSheet/__tests__/preprocess-test.cjs +108 -0
  7. package/dist/cjs/StyleSheet/__tests__/validate-test.cjs +36 -0
  8. package/dist/cjs/StyleSheet/compiler/createReactDOMStyle.cjs +87 -0
  9. package/dist/cjs/StyleSheet/compiler/hash.cjs +26 -0
  10. package/dist/cjs/StyleSheet/compiler/hyphenateStyleName.cjs +36 -0
  11. package/dist/cjs/StyleSheet/compiler/index.cjs +318 -0
  12. package/dist/cjs/StyleSheet/compiler/normalizeColor.cjs +40 -0
  13. package/dist/cjs/StyleSheet/compiler/normalizeValueWithProperty.cjs +43 -0
  14. package/dist/cjs/StyleSheet/compiler/resolveShadowValue.cjs +48 -0
  15. package/dist/cjs/StyleSheet/dom/createCSSStyleSheet.cjs +37 -0
  16. package/dist/cjs/StyleSheet/dom/createOrderedCSSStyleSheet.cjs +110 -0
  17. package/dist/cjs/StyleSheet/dom/index.cjs +67 -0
  18. package/dist/cjs/StyleSheet/index.cjs +57 -0
  19. package/dist/cjs/StyleSheet/preprocess.cjs +101 -0
  20. package/dist/cjs/StyleSheet/validate.cjs +69 -0
  21. package/dist/cjs/TextAncestorContext.cjs +27 -0
  22. package/dist/cjs/colorProps.cjs +37 -0
  23. package/dist/cjs/index.cjs +103 -0
  24. package/dist/cjs/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.cjs +50 -0
  25. package/dist/cjs/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.cjs +40 -0
  26. package/dist/cjs/modules/AccessibilityUtil/index.cjs +33 -0
  27. package/dist/cjs/modules/AccessibilityUtil/isDisabled.cjs +26 -0
  28. package/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.cjs +57 -0
  29. package/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.cjs +47 -0
  30. package/dist/cjs/modules/AssetRegistry/index.cjs +33 -0
  31. package/dist/cjs/modules/ImageLoader/index.cjs +111 -0
  32. package/dist/cjs/modules/InteractionManager.cjs +184 -0
  33. package/dist/cjs/modules/Platform/__tests__/index-test.cjs +48 -0
  34. package/dist/cjs/modules/Platform/index.cjs +30 -0
  35. package/dist/cjs/modules/TextInputState/index.cjs +55 -0
  36. package/dist/cjs/modules/UIManager/__tests__/index-test.cjs +90 -0
  37. package/dist/cjs/modules/UIManager/index.cjs +60 -0
  38. package/dist/cjs/modules/canUseDOM.cjs +26 -0
  39. package/dist/cjs/modules/createDOMProps/__tests__/index-test.cjs +156 -0
  40. package/dist/cjs/modules/createDOMProps/index.cjs +179 -0
  41. package/dist/cjs/modules/createEventHandle/__tests__/index-test.cjs +344 -0
  42. package/dist/cjs/modules/createEventHandle/index.cjs +67 -0
  43. package/dist/cjs/modules/dismissKeyboard/index.cjs +29 -0
  44. package/dist/cjs/modules/forwardedProps/index.cjs +161 -0
  45. package/dist/cjs/modules/getBoundingClientRect/index.cjs +28 -0
  46. package/dist/cjs/modules/invariant.cjs +36 -0
  47. package/dist/cjs/modules/isSelectionValid/index.cjs +35 -0
  48. package/dist/cjs/modules/isWebColor/index.cjs +26 -0
  49. package/dist/cjs/modules/mergeRefs/__tests__/index-test.cjs +42 -0
  50. package/dist/cjs/modules/mergeRefs/index.cjs +42 -0
  51. package/dist/cjs/modules/modality/__tests__/index-test.cjs +32 -0
  52. package/dist/cjs/modules/modality/index.cjs +135 -0
  53. package/dist/cjs/modules/multiplyStyleLengthValue/__tests__/index-test.cjs +30 -0
  54. package/dist/cjs/modules/multiplyStyleLengthValue/index.cjs +35 -0
  55. package/dist/cjs/modules/normalizeColor/index.cjs +39 -0
  56. package/dist/cjs/modules/pick/index.cjs +30 -0
  57. package/dist/cjs/modules/processColor/__tests__/index-test.cjs +66 -0
  58. package/dist/cjs/modules/processColor/index.cjs +42 -0
  59. package/dist/cjs/modules/requestIdleCallback/index.cjs +44 -0
  60. package/dist/cjs/modules/setValueForStyles/dangerousStyleValue.cjs +35 -0
  61. package/dist/cjs/modules/setValueForStyles/index.cjs +35 -0
  62. package/dist/cjs/modules/unitlessNumbers/index.cjs +85 -0
  63. package/dist/cjs/modules/useElementLayout/index.cjs +39 -0
  64. package/dist/cjs/modules/useEvent/__tests__/index-test.cjs +408 -0
  65. package/dist/cjs/modules/useEvent/index.cjs +45 -0
  66. package/dist/cjs/modules/useHover/__tests__/index-test.cjs +273 -0
  67. package/dist/cjs/modules/useHover/index.cjs +97 -0
  68. package/dist/cjs/modules/useLayoutEffect/index.cjs +39 -0
  69. package/dist/cjs/modules/useLocale/index.cjs +66 -0
  70. package/dist/cjs/modules/useLocale/isLocaleRTL.cjs +83 -0
  71. package/dist/cjs/modules/useMergeRefs/__tests__/index-test.cjs +102 -0
  72. package/dist/cjs/modules/useMergeRefs/index.cjs +43 -0
  73. package/dist/cjs/modules/usePlatformMethods/index.cjs +35 -0
  74. package/dist/cjs/modules/useStable/__tests__/index-test.cjs +92 -0
  75. package/dist/cjs/modules/useStable/index.cjs +42 -0
  76. package/dist/cjs/styleTypes.cjs +16 -0
  77. package/dist/cjs/types.cjs +16 -0
  78. package/dist/esm/StyleSheet/__tests__/compiler-createReactDOMStyle-test.mjs +219 -0
  79. package/dist/esm/StyleSheet/__tests__/compiler-createReactDOMStyle-test.mjs.map +1 -0
  80. package/dist/esm/StyleSheet/__tests__/compiler-test.mjs +408 -0
  81. package/dist/esm/StyleSheet/__tests__/compiler-test.mjs.map +1 -0
  82. package/dist/esm/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.mjs +100 -0
  83. package/dist/esm/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.mjs.map +1 -0
  84. package/dist/esm/StyleSheet/__tests__/index-test.mjs +383 -0
  85. package/dist/esm/StyleSheet/__tests__/index-test.mjs.map +1 -0
  86. package/dist/esm/StyleSheet/__tests__/preprocess-test.mjs +109 -0
  87. package/dist/esm/StyleSheet/__tests__/preprocess-test.mjs.map +1 -0
  88. package/dist/esm/StyleSheet/__tests__/validate-test.mjs +37 -0
  89. package/dist/esm/StyleSheet/__tests__/validate-test.mjs.map +1 -0
  90. package/dist/esm/StyleSheet/compiler/createReactDOMStyle.mjs +63 -0
  91. package/dist/esm/StyleSheet/compiler/createReactDOMStyle.mjs.map +1 -0
  92. package/dist/esm/StyleSheet/compiler/hash.mjs +3 -0
  93. package/dist/esm/StyleSheet/compiler/hash.mjs.map +1 -0
  94. package/dist/esm/StyleSheet/compiler/hyphenateStyleName.mjs +13 -0
  95. package/dist/esm/StyleSheet/compiler/hyphenateStyleName.mjs.map +1 -0
  96. package/dist/esm/StyleSheet/compiler/index.mjs +292 -0
  97. package/dist/esm/StyleSheet/compiler/index.mjs.map +1 -0
  98. package/dist/esm/StyleSheet/compiler/normalizeColor.mjs +17 -0
  99. package/dist/esm/StyleSheet/compiler/normalizeColor.mjs.map +1 -0
  100. package/dist/esm/StyleSheet/compiler/normalizeValueWithProperty.mjs +20 -0
  101. package/dist/esm/StyleSheet/compiler/normalizeValueWithProperty.mjs.map +1 -0
  102. package/dist/esm/StyleSheet/compiler/resolveShadowValue.mjs +25 -0
  103. package/dist/esm/StyleSheet/compiler/resolveShadowValue.mjs.map +1 -0
  104. package/dist/esm/StyleSheet/dom/createCSSStyleSheet.mjs +14 -0
  105. package/dist/esm/StyleSheet/dom/createCSSStyleSheet.mjs.map +1 -0
  106. package/dist/esm/StyleSheet/dom/createOrderedCSSStyleSheet.mjs +87 -0
  107. package/dist/esm/StyleSheet/dom/createOrderedCSSStyleSheet.mjs.map +1 -0
  108. package/dist/esm/StyleSheet/dom/index.mjs +44 -0
  109. package/dist/esm/StyleSheet/dom/index.mjs.map +1 -0
  110. package/dist/esm/StyleSheet/index.mjs +33 -0
  111. package/dist/esm/StyleSheet/index.mjs.map +1 -0
  112. package/dist/esm/StyleSheet/preprocess.mjs +75 -0
  113. package/dist/esm/StyleSheet/preprocess.mjs.map +1 -0
  114. package/dist/esm/StyleSheet/validate.mjs +46 -0
  115. package/dist/esm/StyleSheet/validate.mjs.map +1 -0
  116. package/dist/esm/TextAncestorContext.mjs +4 -0
  117. package/dist/esm/TextAncestorContext.mjs.map +1 -0
  118. package/dist/esm/colorProps.mjs +14 -0
  119. package/dist/esm/colorProps.mjs.map +1 -0
  120. package/dist/esm/index.js +45 -0
  121. package/dist/esm/index.js.map +1 -0
  122. package/dist/esm/index.mjs +45 -0
  123. package/dist/esm/index.mjs.map +1 -0
  124. package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.mjs +29 -0
  125. package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.mjs.map +1 -0
  126. package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.mjs +19 -0
  127. package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.mjs.map +1 -0
  128. package/dist/esm/modules/AccessibilityUtil/index.mjs +10 -0
  129. package/dist/esm/modules/AccessibilityUtil/index.mjs.map +1 -0
  130. package/dist/esm/modules/AccessibilityUtil/isDisabled.mjs +3 -0
  131. package/dist/esm/modules/AccessibilityUtil/isDisabled.mjs.map +1 -0
  132. package/dist/esm/modules/AccessibilityUtil/propsToAccessibilityComponent.mjs +34 -0
  133. package/dist/esm/modules/AccessibilityUtil/propsToAccessibilityComponent.mjs.map +1 -0
  134. package/dist/esm/modules/AccessibilityUtil/propsToAriaRole.mjs +24 -0
  135. package/dist/esm/modules/AccessibilityUtil/propsToAriaRole.mjs.map +1 -0
  136. package/dist/esm/modules/AssetRegistry/index.mjs +9 -0
  137. package/dist/esm/modules/AssetRegistry/index.mjs.map +1 -0
  138. package/dist/esm/modules/ImageLoader/index.mjs +87 -0
  139. package/dist/esm/modules/ImageLoader/index.mjs.map +1 -0
  140. package/dist/esm/modules/InteractionManager.mjs +161 -0
  141. package/dist/esm/modules/InteractionManager.mjs.map +1 -0
  142. package/dist/esm/modules/Platform/__tests__/index-test.mjs +27 -0
  143. package/dist/esm/modules/Platform/__tests__/index-test.mjs.map +1 -0
  144. package/dist/esm/modules/Platform/index.mjs +7 -0
  145. package/dist/esm/modules/Platform/index.mjs.map +1 -0
  146. package/dist/esm/modules/TextInputState/index.mjs +32 -0
  147. package/dist/esm/modules/TextInputState/index.mjs.map +1 -0
  148. package/dist/esm/modules/UIManager/__tests__/index-test.mjs +69 -0
  149. package/dist/esm/modules/UIManager/__tests__/index-test.mjs.map +1 -0
  150. package/dist/esm/modules/UIManager/index.mjs +37 -0
  151. package/dist/esm/modules/UIManager/index.mjs.map +1 -0
  152. package/dist/esm/modules/canUseDOM.mjs +3 -0
  153. package/dist/esm/modules/canUseDOM.mjs.map +1 -0
  154. package/dist/esm/modules/createDOMProps/__tests__/index-test.mjs +135 -0
  155. package/dist/esm/modules/createDOMProps/__tests__/index-test.mjs.map +1 -0
  156. package/dist/esm/modules/createDOMProps/index.mjs +155 -0
  157. package/dist/esm/modules/createDOMProps/index.mjs.map +1 -0
  158. package/dist/esm/modules/createEventHandle/__tests__/index-test.mjs +323 -0
  159. package/dist/esm/modules/createEventHandle/__tests__/index-test.mjs.map +1 -0
  160. package/dist/esm/modules/createEventHandle/index.mjs +42 -0
  161. package/dist/esm/modules/createEventHandle/index.mjs.map +1 -0
  162. package/dist/esm/modules/dismissKeyboard/index.mjs +6 -0
  163. package/dist/esm/modules/dismissKeyboard/index.mjs.map +1 -0
  164. package/dist/esm/modules/forwardedProps/index.mjs +128 -0
  165. package/dist/esm/modules/forwardedProps/index.mjs.map +1 -0
  166. package/dist/esm/modules/getBoundingClientRect/index.mjs +5 -0
  167. package/dist/esm/modules/getBoundingClientRect/index.mjs.map +1 -0
  168. package/dist/esm/modules/invariant.mjs +12 -0
  169. package/dist/esm/modules/invariant.mjs.map +1 -0
  170. package/dist/esm/modules/isSelectionValid/index.mjs +12 -0
  171. package/dist/esm/modules/isSelectionValid/index.mjs.map +1 -0
  172. package/dist/esm/modules/isWebColor/index.mjs +3 -0
  173. package/dist/esm/modules/isWebColor/index.mjs.map +1 -0
  174. package/dist/esm/modules/mergeRefs/__tests__/index-test.mjs +21 -0
  175. package/dist/esm/modules/mergeRefs/__tests__/index-test.mjs.map +1 -0
  176. package/dist/esm/modules/mergeRefs/index.mjs +19 -0
  177. package/dist/esm/modules/mergeRefs/index.mjs.map +1 -0
  178. package/dist/esm/modules/modality/__tests__/index-test.mjs +33 -0
  179. package/dist/esm/modules/modality/__tests__/index-test.mjs.map +1 -0
  180. package/dist/esm/modules/modality/index.mjs +109 -0
  181. package/dist/esm/modules/modality/index.mjs.map +1 -0
  182. package/dist/esm/modules/multiplyStyleLengthValue/__tests__/index-test.mjs +9 -0
  183. package/dist/esm/modules/multiplyStyleLengthValue/__tests__/index-test.mjs.map +1 -0
  184. package/dist/esm/modules/multiplyStyleLengthValue/index.mjs +12 -0
  185. package/dist/esm/modules/multiplyStyleLengthValue/index.mjs.map +1 -0
  186. package/dist/esm/modules/normalizeColor/index.mjs +16 -0
  187. package/dist/esm/modules/normalizeColor/index.mjs.map +1 -0
  188. package/dist/esm/modules/pick/index.mjs +7 -0
  189. package/dist/esm/modules/pick/index.mjs.map +1 -0
  190. package/dist/esm/modules/processColor/__tests__/index-test.mjs +45 -0
  191. package/dist/esm/modules/processColor/__tests__/index-test.mjs.map +1 -0
  192. package/dist/esm/modules/processColor/index.mjs +8 -0
  193. package/dist/esm/modules/processColor/index.mjs.map +1 -0
  194. package/dist/esm/modules/requestIdleCallback/index.mjs +20 -0
  195. package/dist/esm/modules/requestIdleCallback/index.mjs.map +1 -0
  196. package/dist/esm/modules/setValueForStyles/dangerousStyleValue.mjs +12 -0
  197. package/dist/esm/modules/setValueForStyles/dangerousStyleValue.mjs.map +1 -0
  198. package/dist/esm/modules/setValueForStyles/index.mjs +12 -0
  199. package/dist/esm/modules/setValueForStyles/index.mjs.map +1 -0
  200. package/dist/esm/modules/unitlessNumbers/index.mjs +62 -0
  201. package/dist/esm/modules/unitlessNumbers/index.mjs.map +1 -0
  202. package/dist/esm/modules/useElementLayout/index.mjs +16 -0
  203. package/dist/esm/modules/useElementLayout/index.mjs.map +1 -0
  204. package/dist/esm/modules/useEvent/__tests__/index-test.mjs +387 -0
  205. package/dist/esm/modules/useEvent/__tests__/index-test.mjs.map +1 -0
  206. package/dist/esm/modules/useEvent/index.mjs +22 -0
  207. package/dist/esm/modules/useEvent/index.mjs.map +1 -0
  208. package/dist/esm/modules/useHover/__tests__/index-test.mjs +252 -0
  209. package/dist/esm/modules/useHover/__tests__/index-test.mjs.map +1 -0
  210. package/dist/esm/modules/useHover/index.mjs +74 -0
  211. package/dist/esm/modules/useHover/index.mjs.map +1 -0
  212. package/dist/esm/modules/useLayoutEffect/index.mjs +5 -0
  213. package/dist/esm/modules/useLayoutEffect/index.mjs.map +1 -0
  214. package/dist/esm/modules/useLocale/index.mjs +30 -0
  215. package/dist/esm/modules/useLocale/index.mjs.map +1 -0
  216. package/dist/esm/modules/useLocale/isLocaleRTL.mjs +60 -0
  217. package/dist/esm/modules/useLocale/isLocaleRTL.mjs.map +1 -0
  218. package/dist/esm/modules/useMergeRefs/__tests__/index-test.mjs +81 -0
  219. package/dist/esm/modules/useMergeRefs/__tests__/index-test.mjs.map +1 -0
  220. package/dist/esm/modules/useMergeRefs/index.mjs +9 -0
  221. package/dist/esm/modules/useMergeRefs/index.mjs.map +1 -0
  222. package/dist/esm/modules/usePlatformMethods/index.mjs +12 -0
  223. package/dist/esm/modules/usePlatformMethods/index.mjs.map +1 -0
  224. package/dist/esm/modules/useStable/__tests__/index-test.mjs +71 -0
  225. package/dist/esm/modules/useStable/__tests__/index-test.mjs.map +1 -0
  226. package/dist/esm/modules/useStable/index.mjs +8 -0
  227. package/dist/esm/modules/useStable/index.mjs.map +1 -0
  228. package/dist/esm/styleTypes.mjs +2 -0
  229. package/dist/esm/styleTypes.mjs.map +1 -0
  230. package/dist/esm/types.mjs +2 -0
  231. package/dist/esm/types.mjs.map +1 -0
  232. package/package.json +58 -0
  233. package/src/StyleSheet/__tests__/compiler-createReactDOMStyle-test.tsx +236 -0
  234. package/src/StyleSheet/__tests__/compiler-test.tsx +426 -0
  235. package/src/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.tsx +169 -0
  236. package/src/StyleSheet/__tests__/index-test.tsx +406 -0
  237. package/src/StyleSheet/__tests__/preprocess-test.tsx +107 -0
  238. package/src/StyleSheet/__tests__/validate-test.tsx +42 -0
  239. package/src/StyleSheet/compiler/createReactDOMStyle.tsx +215 -0
  240. package/src/StyleSheet/compiler/hash.tsx +1 -0
  241. package/src/StyleSheet/compiler/hyphenateStyleName.tsx +25 -0
  242. package/src/StyleSheet/compiler/index.tsx +478 -0
  243. package/src/StyleSheet/compiler/normalizeColor.tsx +35 -0
  244. package/src/StyleSheet/compiler/normalizeValueWithProperty.tsx +34 -0
  245. package/src/StyleSheet/compiler/resolveShadowValue.tsx +26 -0
  246. package/src/StyleSheet/dom/createCSSStyleSheet.tsx +42 -0
  247. package/src/StyleSheet/dom/createOrderedCSSStyleSheet.tsx +195 -0
  248. package/src/StyleSheet/dom/index.tsx +92 -0
  249. package/src/StyleSheet/index.tsx +99 -0
  250. package/src/StyleSheet/preprocess.tsx +119 -0
  251. package/src/StyleSheet/validate.tsx +90 -0
  252. package/src/TextAncestorContext.tsx +13 -0
  253. package/src/colorProps.tsx +12 -0
  254. package/src/index.tsx +58 -0
  255. package/src/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.tsx +44 -0
  256. package/src/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.tsx +25 -0
  257. package/src/modules/AccessibilityUtil/index.tsx +18 -0
  258. package/src/modules/AccessibilityUtil/isDisabled.tsx +13 -0
  259. package/src/modules/AccessibilityUtil/propsToAccessibilityComponent.tsx +54 -0
  260. package/src/modules/AccessibilityUtil/propsToAriaRole.tsx +37 -0
  261. package/src/modules/AssetRegistry/index.tsx +32 -0
  262. package/src/modules/ImageLoader/index.tsx +165 -0
  263. package/src/modules/InteractionManager.tsx +315 -0
  264. package/src/modules/Platform/__tests__/index-test.tsx +45 -0
  265. package/src/modules/Platform/index.tsx +15 -0
  266. package/src/modules/TextInputState/index.tsx +62 -0
  267. package/src/modules/UIManager/__tests__/index-test.tsx +87 -0
  268. package/src/modules/UIManager/index.tsx +68 -0
  269. package/src/modules/canUseDOM.tsx +14 -0
  270. package/src/modules/createDOMProps/__tests__/index-test.tsx +138 -0
  271. package/src/modules/createDOMProps/index.tsx +436 -0
  272. package/src/modules/createEventHandle/__tests__/index-test.tsx +459 -0
  273. package/src/modules/createEventHandle/index.tsx +100 -0
  274. package/src/modules/dismissKeyboard/index.tsx +14 -0
  275. package/src/modules/forwardedProps/index.tsx +145 -0
  276. package/src/modules/getBoundingClientRect/index.tsx +17 -0
  277. package/src/modules/invariant.ts +23 -0
  278. package/src/modules/isSelectionValid/index.tsx +20 -0
  279. package/src/modules/isWebColor/index.tsx +14 -0
  280. package/src/modules/mergeRefs/__tests__/index-test.tsx +32 -0
  281. package/src/modules/mergeRefs/index.tsx +36 -0
  282. package/src/modules/modality/__tests__/index-test.tsx +66 -0
  283. package/src/modules/modality/index.tsx +228 -0
  284. package/src/modules/multiplyStyleLengthValue/__tests__/index-test.tsx +23 -0
  285. package/src/modules/multiplyStyleLengthValue/index.tsx +26 -0
  286. package/src/modules/normalizeColor/index.tsx +32 -0
  287. package/src/modules/pick/index.tsx +25 -0
  288. package/src/modules/processColor/__tests__/index-test.tsx +78 -0
  289. package/src/modules/processColor/index.tsx +28 -0
  290. package/src/modules/requestIdleCallback/index.tsx +35 -0
  291. package/src/modules/setValueForStyles/dangerousStyleValue.tsx +74 -0
  292. package/src/modules/setValueForStyles/index.tsx +39 -0
  293. package/src/modules/unitlessNumbers/index.tsx +77 -0
  294. package/src/modules/useElementLayout/index.tsx +28 -0
  295. package/src/modules/useEvent/__tests__/index-test.tsx +511 -0
  296. package/src/modules/useEvent/index.tsx +64 -0
  297. package/src/modules/useHover/__tests__/index-test.tsx +342 -0
  298. package/src/modules/useHover/index.tsx +181 -0
  299. package/src/modules/useLayoutEffect/index.ts +15 -0
  300. package/src/modules/useLocale/index.tsx +57 -0
  301. package/src/modules/useLocale/isLocaleRTL.tsx +74 -0
  302. package/src/modules/useMergeRefs/__tests__/index-test.tsx +91 -0
  303. package/src/modules/useMergeRefs/index.tsx +22 -0
  304. package/src/modules/usePlatformMethods/index.tsx +40 -0
  305. package/src/modules/useStable/__tests__/index-test.tsx +101 -0
  306. package/src/modules/useStable/index.tsx +24 -0
  307. package/src/styleTypes.ts +321 -0
  308. package/src/types.ts +77 -0
  309. package/types/StyleSheet/compiler/createReactDOMStyle.d.ts +18 -0
  310. package/types/StyleSheet/compiler/createReactDOMStyle.d.ts.map +1 -0
  311. package/types/StyleSheet/compiler/hash.d.ts +2 -0
  312. package/types/StyleSheet/compiler/hash.d.ts.map +1 -0
  313. package/types/StyleSheet/compiler/hyphenateStyleName.d.ts +10 -0
  314. package/types/StyleSheet/compiler/hyphenateStyleName.d.ts.map +1 -0
  315. package/types/StyleSheet/compiler/index.d.ts +39 -0
  316. package/types/StyleSheet/compiler/index.d.ts.map +1 -0
  317. package/types/StyleSheet/compiler/normalizeColor.d.ts +10 -0
  318. package/types/StyleSheet/compiler/normalizeColor.d.ts.map +1 -0
  319. package/types/StyleSheet/compiler/normalizeValueWithProperty.d.ts +10 -0
  320. package/types/StyleSheet/compiler/normalizeValueWithProperty.d.ts.map +1 -0
  321. package/types/StyleSheet/compiler/resolveShadowValue.d.ts +10 -0
  322. package/types/StyleSheet/compiler/resolveShadowValue.d.ts.map +1 -0
  323. package/types/StyleSheet/dom/createCSSStyleSheet.d.ts +10 -0
  324. package/types/StyleSheet/dom/createCSSStyleSheet.d.ts.map +1 -0
  325. package/types/StyleSheet/dom/createOrderedCSSStyleSheet.d.ts +29 -0
  326. package/types/StyleSheet/dom/createOrderedCSSStyleSheet.d.ts.map +1 -0
  327. package/types/StyleSheet/dom/index.d.ts +15 -0
  328. package/types/StyleSheet/dom/index.d.ts.map +1 -0
  329. package/types/StyleSheet/index.d.ts +69 -0
  330. package/types/StyleSheet/index.d.ts.map +1 -0
  331. package/types/StyleSheet/preprocess.d.ts +16 -0
  332. package/types/StyleSheet/preprocess.d.ts.map +1 -0
  333. package/types/StyleSheet/validate.d.ts +10 -0
  334. package/types/StyleSheet/validate.d.ts.map +1 -0
  335. package/types/TextAncestorContext.d.ts +11 -0
  336. package/types/TextAncestorContext.d.ts.map +1 -0
  337. package/types/colorProps.d.ts +13 -0
  338. package/types/colorProps.d.ts.map +1 -0
  339. package/types/index.d.ts +45 -0
  340. package/types/index.d.ts.map +1 -0
  341. package/types/modules/AccessibilityUtil/index.d.ts +16 -0
  342. package/types/modules/AccessibilityUtil/index.d.ts.map +1 -0
  343. package/types/modules/AccessibilityUtil/isDisabled.d.ts +10 -0
  344. package/types/modules/AccessibilityUtil/isDisabled.d.ts.map +1 -0
  345. package/types/modules/AccessibilityUtil/propsToAccessibilityComponent.d.ts +10 -0
  346. package/types/modules/AccessibilityUtil/propsToAccessibilityComponent.d.ts.map +1 -0
  347. package/types/modules/AccessibilityUtil/propsToAriaRole.d.ts +12 -0
  348. package/types/modules/AccessibilityUtil/propsToAriaRole.d.ts.map +1 -0
  349. package/types/modules/AssetRegistry/index.d.ts +22 -0
  350. package/types/modules/AssetRegistry/index.d.ts.map +1 -0
  351. package/types/modules/ImageLoader/index.d.ts +27 -0
  352. package/types/modules/ImageLoader/index.d.ts.map +1 -0
  353. package/types/modules/InteractionManager.d.ts +48 -0
  354. package/types/modules/InteractionManager.d.ts.map +1 -0
  355. package/types/modules/Platform/index.d.ts +15 -0
  356. package/types/modules/Platform/index.d.ts.map +1 -0
  357. package/types/modules/TextInputState/index.d.ts +38 -0
  358. package/types/modules/TextInputState/index.d.ts.map +1 -0
  359. package/types/modules/UIManager/index.d.ts +23 -0
  360. package/types/modules/UIManager/index.d.ts.map +1 -0
  361. package/types/modules/canUseDOM.d.ts +10 -0
  362. package/types/modules/canUseDOM.d.ts.map +1 -0
  363. package/types/modules/createDOMProps/index.d.ts +12 -0
  364. package/types/modules/createDOMProps/index.d.ts.map +1 -0
  365. package/types/modules/createEventHandle/index.d.ts +20 -0
  366. package/types/modules/createEventHandle/index.d.ts.map +1 -0
  367. package/types/modules/dismissKeyboard/index.d.ts +10 -0
  368. package/types/modules/dismissKeyboard/index.d.ts.map +1 -0
  369. package/types/modules/forwardedProps/index.d.ts +383 -0
  370. package/types/modules/forwardedProps/index.d.ts.map +1 -0
  371. package/types/modules/getBoundingClientRect/index.d.ts +10 -0
  372. package/types/modules/getBoundingClientRect/index.d.ts.map +1 -0
  373. package/types/modules/invariant.d.ts +3 -0
  374. package/types/modules/invariant.d.ts.map +1 -0
  375. package/types/modules/isSelectionValid/index.d.ts +10 -0
  376. package/types/modules/isSelectionValid/index.d.ts.map +1 -0
  377. package/types/modules/isWebColor/index.d.ts +10 -0
  378. package/types/modules/isWebColor/index.d.ts.map +1 -0
  379. package/types/modules/mergeRefs/index.d.ts +11 -0
  380. package/types/modules/mergeRefs/index.d.ts.map +1 -0
  381. package/types/modules/modality/index.d.ts +17 -0
  382. package/types/modules/modality/index.d.ts.map +1 -0
  383. package/types/modules/multiplyStyleLengthValue/index.d.ts +10 -0
  384. package/types/modules/multiplyStyleLengthValue/index.d.ts.map +1 -0
  385. package/types/modules/normalizeColor/index.d.ts +10 -0
  386. package/types/modules/normalizeColor/index.d.ts.map +1 -0
  387. package/types/modules/pick/index.d.ts +12 -0
  388. package/types/modules/pick/index.d.ts.map +1 -0
  389. package/types/modules/processColor/index.d.ts +11 -0
  390. package/types/modules/processColor/index.d.ts.map +1 -0
  391. package/types/modules/requestIdleCallback/index.d.ts +3 -0
  392. package/types/modules/requestIdleCallback/index.d.ts.map +1 -0
  393. package/types/modules/setValueForStyles/dangerousStyleValue.d.ts +11 -0
  394. package/types/modules/setValueForStyles/dangerousStyleValue.d.ts.map +1 -0
  395. package/types/modules/setValueForStyles/index.d.ts +9 -0
  396. package/types/modules/setValueForStyles/index.d.ts.map +1 -0
  397. package/types/modules/unitlessNumbers/index.d.ts +60 -0
  398. package/types/modules/unitlessNumbers/index.d.ts.map +1 -0
  399. package/types/modules/useElementLayout/index.d.ts +4 -0
  400. package/types/modules/useElementLayout/index.d.ts.map +1 -0
  401. package/types/modules/useEvent/index.d.ts +24 -0
  402. package/types/modules/useEvent/index.d.ts.map +1 -0
  403. package/types/modules/useHover/index.d.ts +21 -0
  404. package/types/modules/useHover/index.d.ts.map +1 -0
  405. package/types/modules/useLayoutEffect/index.d.ts +13 -0
  406. package/types/modules/useLayoutEffect/index.d.ts.map +1 -0
  407. package/types/modules/useLocale/index.d.ts +14 -0
  408. package/types/modules/useLocale/index.d.ts.map +1 -0
  409. package/types/modules/useLocale/isLocaleRTL.d.ts +13 -0
  410. package/types/modules/useLocale/isLocaleRTL.d.ts.map +1 -0
  411. package/types/modules/useMergeRefs/index.d.ts +11 -0
  412. package/types/modules/useMergeRefs/index.d.ts.map +1 -0
  413. package/types/modules/usePlatformMethods/index.d.ts +18 -0
  414. package/types/modules/usePlatformMethods/index.d.ts.map +1 -0
  415. package/types/modules/useStable/index.d.ts +10 -0
  416. package/types/modules/useStable/index.d.ts.map +1 -0
  417. package/types/styleTypes.d.ts +211 -0
  418. package/types/styleTypes.d.ts.map +1 -0
  419. package/types/types.d.ts +46 -0
  420. package/types/types.d.ts.map +1 -0
@@ -0,0 +1,91 @@
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 { cleanup, render } from '@testing-library/react'
9
+ import * as React from 'react'
10
+ import { act } from 'react-dom/test-utils'
11
+
12
+ import useMergeRefs from '..'
13
+
14
+ describe('modules/useMergeRefs/index.js', () => {
15
+ function TestComponent({ refs, ...rest }) {
16
+ const mergedRef = useMergeRefs(...refs)
17
+ return <div ref={mergedRef} {...rest} />
18
+ }
19
+
20
+ afterEach(cleanup)
21
+
22
+ test('handles no refs', () => {
23
+ act(() => {
24
+ render(<TestComponent refs={[]} />)
25
+ })
26
+ })
27
+
28
+ test('merges any number of varying refs', () => {
29
+ const callbackRef1 = jest.fn()
30
+ const callbackRef2 = jest.fn()
31
+ const objectRef1 = React.createRef()
32
+ const objectRef2 = React.createRef()
33
+ const nullRef = null
34
+
35
+ act(() => {
36
+ render(
37
+ <TestComponent
38
+ refs={[callbackRef1, callbackRef2, objectRef1, objectRef2, nullRef]}
39
+ />
40
+ )
41
+ })
42
+
43
+ expect(callbackRef1).toHaveBeenCalledTimes(1)
44
+ expect(callbackRef2).toHaveBeenCalledTimes(1)
45
+ expect(objectRef1.current).toBeInstanceOf(HTMLDivElement)
46
+ expect(objectRef2.current).toBeInstanceOf(HTMLDivElement)
47
+ })
48
+
49
+ test('ref is called when ref changes', () => {
50
+ const ref = jest.fn()
51
+ const nextRef = jest.fn()
52
+ let rerender
53
+
54
+ act(() => {
55
+ ;({ rerender } = render(<TestComponent refs={[ref]} />))
56
+ })
57
+ expect(ref).toHaveBeenCalled()
58
+ act(() => {
59
+ rerender(<TestComponent refs={[nextRef]} />)
60
+ })
61
+ expect(nextRef).toHaveBeenCalled()
62
+ })
63
+
64
+ test('ref is not called for each rerender', () => {
65
+ const ref = jest.fn()
66
+ let rerender
67
+
68
+ act(() => {
69
+ ;({ rerender } = render(<TestComponent refs={[ref]} />))
70
+ })
71
+ expect(ref).toHaveBeenCalledTimes(1)
72
+ act(() => {
73
+ rerender(<TestComponent refs={[ref]} />)
74
+ })
75
+ expect(ref).toHaveBeenCalledTimes(1)
76
+ })
77
+
78
+ test('ref is not called for props changes', () => {
79
+ const ref = jest.fn()
80
+ let rerender
81
+
82
+ act(() => {
83
+ ;({ rerender } = render(<TestComponent id="foo" refs={[ref]} />))
84
+ })
85
+ expect(ref).toHaveBeenCalledTimes(1)
86
+ act(() => {
87
+ rerender(<TestComponent id="bar" refs={[ref]} />)
88
+ })
89
+ expect(ref).toHaveBeenCalledTimes(1)
90
+ })
91
+ })
@@ -0,0 +1,22 @@
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 * as React from 'react'
11
+
12
+ import { mergeRefs } from '../mergeRefs/index'
13
+
14
+ export function useMergeRefs(
15
+ ...args: ReadonlyArray<React.Ref<any>>
16
+ ): (node: HTMLElement | null) => void {
17
+ return React.useMemo(
18
+ () => mergeRefs(...args),
19
+ // eslint-disable-next-line
20
+ [...args]
21
+ )
22
+ }
@@ -0,0 +1,40 @@
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
+ * @flow
8
+ */
9
+
10
+ import {
11
+ createMeasure,
12
+ createMeasureInWindow,
13
+ createMeasureLayout,
14
+ } from '@hanzogui/use-element-layout'
15
+ import type { GenericStyleProp } from '../../types'
16
+ import { useStable } from '../useStable/index'
17
+
18
+ /**
19
+ * Adds non-standard methods to the hode element. This is temporarily until an
20
+ * API like `ReactNative.measure(hostRef, callback)` is added to React Native.
21
+ */
22
+ export function usePlatformMethods({
23
+ pointerEvents,
24
+ style,
25
+ }: {
26
+ style?: GenericStyleProp<unknown>
27
+ pointerEvents?: any
28
+ }): (hostNode: any) => void {
29
+ // Avoid creating a new ref on every render. The props only need to be
30
+ // available to 'setNativeProps' when it is called.
31
+ const ref = useStable(() => (hostNode: any) => {
32
+ if (hostNode != null) {
33
+ hostNode.measure = createMeasure(hostNode)
34
+ hostNode.measureLayout = createMeasureLayout(hostNode)
35
+ hostNode.measureInWindow = createMeasureInWindow(hostNode)
36
+ }
37
+ })
38
+
39
+ return ref
40
+ }
@@ -0,0 +1,101 @@
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
8
+ */
9
+
10
+ import * as React from 'react'
11
+ import * as ReactDOM from 'react-dom'
12
+ import { act } from 'react-dom/test-utils'
13
+
14
+ import useStable from '..'
15
+
16
+ function createRoot(rootNode) {
17
+ return {
18
+ render(element) {
19
+ ReactDOM.render(element, rootNode)
20
+ },
21
+ }
22
+ }
23
+
24
+ describe('useStable', () => {
25
+ let root
26
+ let rootNode
27
+ let spy = {}
28
+
29
+ const TestComponent = ({ initialValueCallback }): React.ReactNode => {
30
+ const value = useStable(initialValueCallback)
31
+ spy.value = value
32
+ return null
33
+ }
34
+
35
+ beforeEach(() => {
36
+ spy = {}
37
+ rootNode = document.createElement('div')
38
+ document.body.appendChild(rootNode)
39
+ root = createRoot(rootNode)
40
+ })
41
+
42
+ afterEach(() => {
43
+ root.render(null)
44
+ document.body.removeChild(rootNode)
45
+ rootNode = null
46
+ root = null
47
+ })
48
+
49
+ test('correctly sets the initial value', () => {
50
+ const initialValueCallback = () => 5
51
+ act(() => {
52
+ root.render(<TestComponent initialValueCallback={initialValueCallback} />)
53
+ })
54
+ expect(spy.value).toBe(5)
55
+ })
56
+
57
+ test('does not change the value', () => {
58
+ let counter = 0
59
+ const initialValueCallback = () => counter++
60
+ act(() => {
61
+ root.render(<TestComponent initialValueCallback={initialValueCallback} />)
62
+ })
63
+ expect(spy.value).toBe(0)
64
+ act(() => {
65
+ root.render(<TestComponent initialValueCallback={initialValueCallback} />)
66
+ })
67
+ expect(spy.value).toBe(0)
68
+ })
69
+
70
+ test('only calls the callback once', () => {
71
+ let counter = 0
72
+ const initialValueCallback = () => counter++
73
+ act(() => {
74
+ root.render(<TestComponent initialValueCallback={initialValueCallback} />)
75
+ })
76
+ expect(counter).toBe(1)
77
+ act(() => {
78
+ root.render(<TestComponent initialValueCallback={initialValueCallback} />)
79
+ })
80
+ expect(counter).toBe(1)
81
+ })
82
+
83
+ test('does not change the value if the callback initially returns null', () => {
84
+ let counter = 0
85
+ const initialValueCallback = () => {
86
+ if (counter === 0) {
87
+ counter++
88
+ return null
89
+ }
90
+ return counter++
91
+ }
92
+ act(() => {
93
+ root.render(<TestComponent initialValueCallback={initialValueCallback} />)
94
+ })
95
+ expect(spy.value).toBe(null)
96
+ act(() => {
97
+ root.render(<TestComponent initialValueCallback={initialValueCallback} />)
98
+ })
99
+ expect(spy.value).toBe(null)
100
+ })
101
+ })
@@ -0,0 +1,24 @@
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 * as React from 'react'
11
+
12
+ const UNINITIALIZED =
13
+ typeof Symbol === 'function' && typeof Symbol() === 'symbol'
14
+ ? Symbol()
15
+ : Object.freeze({})
16
+
17
+ export function useStable<T>(getInitialValue: () => T): T {
18
+ const ref = React.useRef<any>(UNINITIALIZED)
19
+ if (ref.current === UNINITIALIZED) {
20
+ ref.current = getInitialValue()
21
+ }
22
+ // @ts-ignore (#64650789) Trouble refining types where `Symbol` is concerned.
23
+ return ref.current
24
+ }
@@ -0,0 +1,321 @@
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
+ * @flow
8
+ */
9
+
10
+ import type { ColorValue, DimensionValue } from './types'
11
+
12
+ type NumberOrString = number | string
13
+
14
+ /**
15
+ * Animations and transitions
16
+ */
17
+
18
+ type AnimationDirection = 'alternate' | 'alternate-reverse' | 'normal' | 'reverse'
19
+
20
+ type AnimationFillMode = 'none' | 'forwards' | 'backwards' | 'both'
21
+ type AnimationIterationCount = number | 'infinite'
22
+ type AnimationKeyframes = string | object
23
+ type AnimationPlayState = 'paused' | 'running'
24
+
25
+ export type AnimationStyles = {
26
+ animationDelay?: string | Array<string> | null
27
+ animationDirection?: AnimationDirection | Array<AnimationDirection> | null
28
+ animationDuration?: string | Array<string> | null
29
+ animationFillMode?: AnimationFillMode | Array<AnimationFillMode> | null
30
+ animationIterationCount?:
31
+ | AnimationIterationCount
32
+ | Array<AnimationIterationCount>
33
+ | null
34
+ animationKeyframes?: AnimationKeyframes | Array<AnimationKeyframes> | null
35
+ animationPlayState?: AnimationPlayState | Array<AnimationPlayState> | null
36
+ animationTimingFunction?: string | Array<string> | null
37
+ transitionDelay?: string | Array<string> | null
38
+ transitionDuration?: string | Array<string> | null
39
+ transitionProperty?: string | Array<string> | null
40
+ transitionTimingFunction?: string | Array<string> | null
41
+ }
42
+
43
+ /**
44
+ * Border
45
+ */
46
+
47
+ type BorderRadiusValue = number | string
48
+
49
+ type BorderStyleValue = 'solid' | 'dotted' | 'dashed'
50
+
51
+ export type BorderStyles = {
52
+ borderColor?: ColorValue | null
53
+ borderBottomColor?: ColorValue | null
54
+ borderEndColor?: ColorValue | null
55
+ borderLeftColor?: ColorValue | null
56
+ borderRightColor?: ColorValue | null
57
+ borderStartColor?: ColorValue | null
58
+ borderTopColor?: ColorValue | null
59
+ borderRadius?: BorderRadiusValue | null
60
+ borderBottomEndRadius?: BorderRadiusValue | null
61
+ borderBottomLeftRadius?: BorderRadiusValue | null
62
+ borderBottomRightRadius?: BorderRadiusValue | null
63
+ borderBottomStartRadius?: BorderRadiusValue | null
64
+ borderTopEndRadius?: BorderRadiusValue | null
65
+ borderTopLeftRadius?: BorderRadiusValue | null
66
+ borderTopRightRadius?: BorderRadiusValue | null
67
+ borderTopStartRadius?: BorderRadiusValue | null
68
+ borderStyle?: BorderStyleValue | null
69
+ borderBottomStyle?: BorderStyleValue | null
70
+ borderEndStyle?: BorderStyleValue | null
71
+ borderLeftStyle?: BorderStyleValue | null
72
+ borderRightStyle?: BorderStyleValue | null
73
+ borderStartStyle?: BorderStyleValue | null
74
+ borderTopStyle?: BorderStyleValue | null
75
+ }
76
+
77
+ /**
78
+ * Interactions
79
+ */
80
+
81
+ type CursorValue =
82
+ | 'alias'
83
+ | 'all-scroll'
84
+ | 'auto'
85
+ | 'cell'
86
+ | 'context-menu'
87
+ | 'copy'
88
+ | 'crosshair'
89
+ | 'default'
90
+ | 'grab'
91
+ | 'grabbing'
92
+ | 'help'
93
+ | 'pointer'
94
+ | 'progress'
95
+ | 'wait'
96
+ | 'text'
97
+ | 'vertical-text'
98
+ | 'move'
99
+ | 'none'
100
+ | 'no-drop'
101
+ | 'not-allowed'
102
+ | 'zoom-in' // resize
103
+ | 'zoom-out'
104
+ | 'col-resize'
105
+ | 'e-resize'
106
+ | 'ew-resize'
107
+ | 'n-resize'
108
+ | 'ne-resize'
109
+ | 'ns-resize'
110
+ | 'nw-resize'
111
+ | 'row-resize'
112
+ | 's-resize'
113
+ | 'se-resize'
114
+ | 'sw-resize'
115
+ | 'w-resize'
116
+ | 'nesw-resize'
117
+ | 'nwse-resize'
118
+
119
+ type TouchActionValue =
120
+ | 'auto'
121
+ | 'inherit'
122
+ | 'manipulation'
123
+ | 'none'
124
+ | 'pan-down'
125
+ | 'pan-left'
126
+ | 'pan-right'
127
+ | 'pan-up'
128
+ | 'pan-x'
129
+ | 'pan-y'
130
+ | 'pinch-zoom'
131
+ type UserSelect = 'all' | 'auto' | 'contain' | 'none' | 'text'
132
+
133
+ export type InteractionStyles = {
134
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Formal_syntax
135
+ cursor?: CursorValue | null
136
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action#Formal_syntax
137
+ touchAction?: TouchActionValue | null
138
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/user-select#Formal_syntax_2
139
+ userSelect?: UserSelect | null
140
+ willChange?: string | null
141
+ }
142
+
143
+ /**
144
+ * Layout
145
+ */
146
+
147
+ type OverflowValue = 'auto' | 'hidden' | 'scroll' | 'visible'
148
+
149
+ type VisiblilityValue = 'hidden' | 'visible'
150
+
151
+ export type LayoutStyles = {
152
+ alignContent?:
153
+ | 'center'
154
+ | 'flex-end'
155
+ | 'flex-start'
156
+ | 'space-around'
157
+ | 'space-between'
158
+ | 'stretch'
159
+ alignItems?: 'baseline' | 'center' | 'flex-end' | 'flex-start' | 'stretch' | null
160
+ alignSelf?:
161
+ | 'auto'
162
+ | 'baseline'
163
+ | 'center'
164
+ | 'flex-end'
165
+ | 'flex-start'
166
+ | 'stretch'
167
+ | null
168
+ aspectRatio?: number | null
169
+ backfaceVisibility?: VisiblilityValue | null
170
+ borderWidth?: DimensionValue | null
171
+ borderBottomWidth?: DimensionValue | null
172
+ borderEndWidth?: DimensionValue | null
173
+ borderLeftWidth?: DimensionValue | null
174
+ borderRightWidth?: DimensionValue | null
175
+ borderStartWidth?: DimensionValue | null
176
+ borderTopWidth?: DimensionValue | null
177
+ bottom?: DimensionValue | null
178
+ boxSizing?: 'border-box' | 'content-box' | 'padding-box' | null
179
+ direction?: 'inherit' | 'ltr' | 'rtl' | null
180
+ display?: string | null
181
+ end?: DimensionValue | null
182
+ flex?: number | null
183
+ flexBasis?: DimensionValue | null
184
+ flexDirection?: 'column' | 'column-reverse' | 'row' | 'row-reverse' | null
185
+ flexGrow?: number | null
186
+ flexShrink?: number | null
187
+ flexWrap?: 'nowrap' | 'wrap' | 'wrap-reverse' | null
188
+ height?: DimensionValue | null
189
+ justifyContent?:
190
+ | 'center'
191
+ | 'flex-end'
192
+ | 'flex-start'
193
+ | 'space-around'
194
+ | 'space-between'
195
+ | 'space-evenly'
196
+ | null
197
+ left?: DimensionValue | null
198
+ margin?: DimensionValue | null
199
+ marginBottom?: DimensionValue | null
200
+ marginHorizontal?: DimensionValue | null
201
+ marginEnd?: DimensionValue | null
202
+ marginLeft?: DimensionValue | null
203
+ marginRight?: DimensionValue | null
204
+ marginStart?: DimensionValue | null
205
+ marginTop?: DimensionValue | null
206
+ marginVertical?: DimensionValue | null
207
+ maxHeight?: DimensionValue | null
208
+ maxWidth?: DimensionValue | null
209
+ minHeight?: DimensionValue | null
210
+ minWidth?: DimensionValue | null
211
+ order?: number | null
212
+ overflow?: OverflowValue | null
213
+ overflowX?: OverflowValue | null
214
+ overflowY?: OverflowValue | null
215
+ padding?: DimensionValue | null
216
+ paddingBottom?: DimensionValue | null
217
+ paddingHorizontal?: DimensionValue | null
218
+ paddingEnd?: DimensionValue | null
219
+ paddingLeft?: DimensionValue | null
220
+ paddingRight?: DimensionValue | null
221
+ paddingStart?: DimensionValue | null
222
+ paddingTop?: DimensionValue | null
223
+ paddingVertical?: DimensionValue | null
224
+ position?: 'absolute' | 'fixed' | 'relative' | 'static' | 'sticky' | null
225
+ right?: DimensionValue | null
226
+ start?: DimensionValue | null
227
+ top?: DimensionValue | null
228
+ visibility?: VisiblilityValue | null
229
+ width?: DimensionValue | null
230
+ zIndex?: number | null
231
+ /**
232
+ * @platform web
233
+ */
234
+ gridAutoColumns?: string | null
235
+ gridAutoFlow?: string | null
236
+ gridAutoRows?: string | null
237
+ gridColumnEnd?: string | null
238
+ gridColumnGap?: string | null
239
+ gridColumnStart?: string | null
240
+ gridRowEnd?: string | null
241
+ gridRowGap?: string | null
242
+ gridRowStart?: string | null
243
+ gridTemplateColumns?: string | null
244
+ gridTemplateRows?: string | null
245
+ gridTemplateAreas?: string | null
246
+ }
247
+
248
+ /**
249
+ * Shadows
250
+ */
251
+
252
+ export type ShadowStyles = {
253
+ shadowColor?: ColorValue | null
254
+ shadowOffset?: {
255
+ width?: DimensionValue
256
+ height?: DimensionValue
257
+ }
258
+ shadowOpacity?: number | null
259
+ shadowRadius?: DimensionValue | null
260
+ }
261
+
262
+ /**
263
+ * Transforms
264
+ */
265
+
266
+ export type TransformStyles = {
267
+ perspective?: NumberOrString | null
268
+ perspectiveOrigin?: string | null
269
+ transform?: Array<
270
+ | {
271
+ readonly perspective: NumberOrString
272
+ }
273
+ | {
274
+ readonly rotate: string
275
+ }
276
+ | {
277
+ readonly rotateX: string
278
+ }
279
+ | {
280
+ readonly rotateY: string
281
+ }
282
+ | {
283
+ readonly rotateZ: string
284
+ }
285
+ | {
286
+ readonly scale: number
287
+ }
288
+ | {
289
+ readonly scaleX: number
290
+ }
291
+ | {
292
+ readonly scaleY: number
293
+ }
294
+ | {
295
+ readonly scaleZ: number
296
+ }
297
+ | {
298
+ readonly scale3d: string
299
+ }
300
+ | {
301
+ readonly skewX: string
302
+ }
303
+ | {
304
+ readonly skewY: string
305
+ }
306
+ | {
307
+ readonly translateX: NumberOrString
308
+ }
309
+ | {
310
+ readonly translateY: NumberOrString
311
+ }
312
+ | {
313
+ readonly translateZ: NumberOrString
314
+ }
315
+ | {
316
+ readonly translate3d: string
317
+ }
318
+ >
319
+ transformOrigin?: string | null
320
+ transformStyle?: 'flat' | 'preserve-3d' | null
321
+ }
package/src/types.ts ADDED
@@ -0,0 +1,77 @@
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
+ * @flow
8
+ */
9
+
10
+ export type ColorValue = null | string
11
+
12
+ export type DimensionValue = null | number | string
13
+
14
+ export type EdgeInsetsValue = {
15
+ top: number
16
+ left: number
17
+ right: number
18
+ bottom: number
19
+ }
20
+
21
+ export type GenericStyleProp<T> =
22
+ | null
23
+ | void
24
+ | T
25
+ | false
26
+ | ''
27
+ | ReadonlyArray<GenericStyleProp<T>>
28
+
29
+ export type LayoutValue = {
30
+ x: number
31
+ y: number
32
+ width: number
33
+ height: number
34
+ }
35
+
36
+ export type LayoutEvent = {
37
+ nativeEvent: {
38
+ layout: LayoutValue
39
+ target: any
40
+ }
41
+ timeStamp: number
42
+ }
43
+
44
+ export type PointValue = {
45
+ x: number
46
+ y: number
47
+ }
48
+
49
+ type LayoutCallback = (
50
+ x: number,
51
+ y: number,
52
+ width: number,
53
+ height: number,
54
+ left: number,
55
+ top: number
56
+ ) => void
57
+
58
+ type MeasureInWindowCallback = (
59
+ left: number,
60
+ top: number,
61
+ width: number,
62
+ height: number
63
+ ) => void
64
+
65
+ // Mixin to HTMLElement that represents additions from the `usePlatformMethods` hook
66
+ export interface PlatformMethods {
67
+ blur: () => void
68
+ focus: () => void
69
+ measure: (callback: LayoutCallback) => void
70
+ measureInWindow: (callback: MeasureInWindowCallback) => void
71
+ measureLayout: (
72
+ relativeToNativeNode: {},
73
+ onSuccess: LayoutCallback,
74
+ onFail: () => void
75
+ ) => void
76
+ setNativeProps: (nativeProps: {}) => void
77
+ }
@@ -0,0 +1,18 @@
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
+ * @flow
8
+ */
9
+ type Style = {
10
+ [K in string]: any;
11
+ };
12
+ export declare const createTransformValue: (style: Style) => string;
13
+ /**
14
+ * Reducer
15
+ */
16
+ export declare const createReactDOMStyle: (style: Style, isInline?: boolean) => Style;
17
+ export {};
18
+ //# sourceMappingURL=createReactDOMStyle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createReactDOMStyle.d.ts","sourceRoot":"","sources":["../../../src/StyleSheet/compiler/createReactDOMStyle.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAKH,KAAK,KAAK,GAAG;KACV,CAAC,IAAI,MAAM,GAAG,GAAG;CACnB,CAAA;AAqFD,eAAO,MAAM,oBAAoB,GAAI,OAAO,KAAK,KAAG,MAMnD,CAAA;AAED;;GAEG;AAEH,eAAO,MAAM,mBAAmB,GAAI,OAAO,KAAK,EAAE,WAAW,OAAO,KAAG,KAsGtE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { simpleHash as default } from '@hanzogui/simple-hash';
2
+ //# sourceMappingURL=hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../../src/StyleSheet/compiler/hash.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAA"}