@hanzogui/react-native-web-internals 2.0.0-rc.41-hanzoai.5

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 +265 -0
  3. package/dist/cjs/StyleSheet/__tests__/compiler-test.cjs +419 -0
  4. package/dist/cjs/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.cjs +160 -0
  5. package/dist/cjs/StyleSheet/__tests__/index-test.cjs +436 -0
  6. package/dist/cjs/StyleSheet/__tests__/preprocess-test.cjs +121 -0
  7. package/dist/cjs/StyleSheet/__tests__/validate-test.cjs +51 -0
  8. package/dist/cjs/StyleSheet/compiler/createReactDOMStyle.cjs +160 -0
  9. package/dist/cjs/StyleSheet/compiler/hash.cjs +28 -0
  10. package/dist/cjs/StyleSheet/compiler/hyphenateStyleName.cjs +40 -0
  11. package/dist/cjs/StyleSheet/compiler/index.cjs +379 -0
  12. package/dist/cjs/StyleSheet/compiler/normalizeColor.cjs +36 -0
  13. package/dist/cjs/StyleSheet/compiler/normalizeValueWithProperty.cjs +50 -0
  14. package/dist/cjs/StyleSheet/compiler/resolveShadowValue.cjs +52 -0
  15. package/dist/cjs/StyleSheet/dom/createCSSStyleSheet.cjs +52 -0
  16. package/dist/cjs/StyleSheet/dom/createOrderedCSSStyleSheet.cjs +135 -0
  17. package/dist/cjs/StyleSheet/dom/index.cjs +89 -0
  18. package/dist/cjs/StyleSheet/index.cjs +64 -0
  19. package/dist/cjs/StyleSheet/preprocess.cjs +114 -0
  20. package/dist/cjs/StyleSheet/validate.cjs +92 -0
  21. package/dist/cjs/TextAncestorContext.cjs +29 -0
  22. package/dist/cjs/colorProps.cjs +39 -0
  23. package/dist/cjs/index.cjs +105 -0
  24. package/dist/cjs/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.cjs +57 -0
  25. package/dist/cjs/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.cjs +46 -0
  26. package/dist/cjs/modules/AccessibilityUtil/index.cjs +35 -0
  27. package/dist/cjs/modules/AccessibilityUtil/isDisabled.cjs +28 -0
  28. package/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.cjs +64 -0
  29. package/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.cjs +51 -0
  30. package/dist/cjs/modules/AssetRegistry/index.cjs +35 -0
  31. package/dist/cjs/modules/ImageLoader/index.cjs +157 -0
  32. package/dist/cjs/modules/InteractionManager.cjs +240 -0
  33. package/dist/cjs/modules/Platform/__tests__/index-test.cjs +56 -0
  34. package/dist/cjs/modules/Platform/index.cjs +32 -0
  35. package/dist/cjs/modules/TextInputState/index.cjs +70 -0
  36. package/dist/cjs/modules/UIManager/__tests__/index-test.cjs +111 -0
  37. package/dist/cjs/modules/UIManager/index.cjs +65 -0
  38. package/dist/cjs/modules/canUseDOM.cjs +28 -0
  39. package/dist/cjs/modules/createDOMProps/__tests__/index-test.cjs +177 -0
  40. package/dist/cjs/modules/createDOMProps/index.cjs +387 -0
  41. package/dist/cjs/modules/createEventHandle/__tests__/index-test.cjs +422 -0
  42. package/dist/cjs/modules/createEventHandle/index.cjs +88 -0
  43. package/dist/cjs/modules/dismissKeyboard/index.cjs +31 -0
  44. package/dist/cjs/modules/forwardedProps/index.cjs +163 -0
  45. package/dist/cjs/modules/getBoundingClientRect/index.cjs +35 -0
  46. package/dist/cjs/modules/invariant.cjs +42 -0
  47. package/dist/cjs/modules/isSelectionValid/index.cjs +36 -0
  48. package/dist/cjs/modules/isWebColor/index.cjs +28 -0
  49. package/dist/cjs/modules/mergeRefs/__tests__/index-test.cjs +48 -0
  50. package/dist/cjs/modules/mergeRefs/index.cjs +45 -0
  51. package/dist/cjs/modules/modality/__tests__/index-test.cjs +59 -0
  52. package/dist/cjs/modules/modality/index.cjs +212 -0
  53. package/dist/cjs/modules/multiplyStyleLengthValue/__tests__/index-test.cjs +38 -0
  54. package/dist/cjs/modules/multiplyStyleLengthValue/index.cjs +41 -0
  55. package/dist/cjs/modules/normalizeColor/index.cjs +44 -0
  56. package/dist/cjs/modules/pick/index.cjs +38 -0
  57. package/dist/cjs/modules/processColor/__tests__/index-test.cjs +85 -0
  58. package/dist/cjs/modules/processColor/index.cjs +50 -0
  59. package/dist/cjs/modules/requestIdleCallback/index.cjs +46 -0
  60. package/dist/cjs/modules/setValueForStyles/dangerousStyleValue.cjs +55 -0
  61. package/dist/cjs/modules/setValueForStyles/index.cjs +46 -0
  62. package/dist/cjs/modules/unitlessNumbers/index.cjs +89 -0
  63. package/dist/cjs/modules/useElementLayout/index.cjs +44 -0
  64. package/dist/cjs/modules/useEvent/__tests__/index-test.cjs +490 -0
  65. package/dist/cjs/modules/useEvent/index.cjs +57 -0
  66. package/dist/cjs/modules/useHover/__tests__/index-test.cjs +382 -0
  67. package/dist/cjs/modules/useHover/index.cjs +140 -0
  68. package/dist/cjs/modules/useLayoutEffect/index.cjs +41 -0
  69. package/dist/cjs/modules/useLocale/index.cjs +69 -0
  70. package/dist/cjs/modules/useLocale/isLocaleRTL.cjs +88 -0
  71. package/dist/cjs/modules/useMergeRefs/__tests__/index-test.cjs +125 -0
  72. package/dist/cjs/modules/useMergeRefs/index.cjs +45 -0
  73. package/dist/cjs/modules/usePlatformMethods/index.cjs +42 -0
  74. package/dist/cjs/modules/useStable/__tests__/index-test.cjs +122 -0
  75. package/dist/cjs/modules/useStable/index.cjs +47 -0
  76. package/dist/cjs/styleTypes.cjs +18 -0
  77. package/dist/cjs/types.cjs +18 -0
  78. package/dist/esm/StyleSheet/__tests__/compiler-createReactDOMStyle-test.mjs +242 -0
  79. package/dist/esm/StyleSheet/__tests__/compiler-createReactDOMStyle-test.mjs.map +1 -0
  80. package/dist/esm/StyleSheet/__tests__/compiler-test.mjs +420 -0
  81. package/dist/esm/StyleSheet/__tests__/compiler-test.mjs.map +1 -0
  82. package/dist/esm/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.mjs +137 -0
  83. package/dist/esm/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.mjs.map +1 -0
  84. package/dist/esm/StyleSheet/__tests__/index-test.mjs +413 -0
  85. package/dist/esm/StyleSheet/__tests__/index-test.mjs.map +1 -0
  86. package/dist/esm/StyleSheet/__tests__/preprocess-test.mjs +122 -0
  87. package/dist/esm/StyleSheet/__tests__/preprocess-test.mjs.map +1 -0
  88. package/dist/esm/StyleSheet/__tests__/validate-test.mjs +52 -0
  89. package/dist/esm/StyleSheet/__tests__/validate-test.mjs.map +1 -0
  90. package/dist/esm/StyleSheet/compiler/createReactDOMStyle.mjs +134 -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 +15 -0
  95. package/dist/esm/StyleSheet/compiler/hyphenateStyleName.mjs.map +1 -0
  96. package/dist/esm/StyleSheet/compiler/index.mjs +351 -0
  97. package/dist/esm/StyleSheet/compiler/index.mjs.map +1 -0
  98. package/dist/esm/StyleSheet/compiler/normalizeColor.mjs +11 -0
  99. package/dist/esm/StyleSheet/compiler/normalizeColor.mjs.map +1 -0
  100. package/dist/esm/StyleSheet/compiler/normalizeValueWithProperty.mjs +25 -0
  101. package/dist/esm/StyleSheet/compiler/normalizeValueWithProperty.mjs.map +1 -0
  102. package/dist/esm/StyleSheet/compiler/resolveShadowValue.mjs +27 -0
  103. package/dist/esm/StyleSheet/compiler/resolveShadowValue.mjs.map +1 -0
  104. package/dist/esm/StyleSheet/dom/createCSSStyleSheet.mjs +27 -0
  105. package/dist/esm/StyleSheet/dom/createCSSStyleSheet.mjs.map +1 -0
  106. package/dist/esm/StyleSheet/dom/createOrderedCSSStyleSheet.mjs +110 -0
  107. package/dist/esm/StyleSheet/dom/createOrderedCSSStyleSheet.mjs.map +1 -0
  108. package/dist/esm/StyleSheet/dom/index.mjs +64 -0
  109. package/dist/esm/StyleSheet/dom/index.mjs.map +1 -0
  110. package/dist/esm/StyleSheet/index.mjs +38 -0
  111. package/dist/esm/StyleSheet/index.mjs.map +1 -0
  112. package/dist/esm/StyleSheet/preprocess.mjs +86 -0
  113. package/dist/esm/StyleSheet/preprocess.mjs.map +1 -0
  114. package/dist/esm/StyleSheet/validate.mjs +67 -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 +34 -0
  125. package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.mjs.map +1 -0
  126. package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.mjs +23 -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 +39 -0
  133. package/dist/esm/modules/AccessibilityUtil/propsToAccessibilityComponent.mjs.map +1 -0
  134. package/dist/esm/modules/AccessibilityUtil/propsToAriaRole.mjs +26 -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 +131 -0
  139. package/dist/esm/modules/ImageLoader/index.mjs.map +1 -0
  140. package/dist/esm/modules/InteractionManager.mjs +215 -0
  141. package/dist/esm/modules/InteractionManager.mjs.map +1 -0
  142. package/dist/esm/modules/Platform/__tests__/index-test.mjs +33 -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 +45 -0
  147. package/dist/esm/modules/TextInputState/index.mjs.map +1 -0
  148. package/dist/esm/modules/UIManager/__tests__/index-test.mjs +88 -0
  149. package/dist/esm/modules/UIManager/__tests__/index-test.mjs.map +1 -0
  150. package/dist/esm/modules/UIManager/index.mjs +40 -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 +154 -0
  155. package/dist/esm/modules/createDOMProps/__tests__/index-test.mjs.map +1 -0
  156. package/dist/esm/modules/createDOMProps/index.mjs +361 -0
  157. package/dist/esm/modules/createDOMProps/index.mjs.map +1 -0
  158. package/dist/esm/modules/createEventHandle/__tests__/index-test.mjs +399 -0
  159. package/dist/esm/modules/createEventHandle/__tests__/index-test.mjs.map +1 -0
  160. package/dist/esm/modules/createEventHandle/index.mjs +61 -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 +10 -0
  167. package/dist/esm/modules/getBoundingClientRect/index.mjs.map +1 -0
  168. package/dist/esm/modules/invariant.mjs +16 -0
  169. package/dist/esm/modules/invariant.mjs.map +1 -0
  170. package/dist/esm/modules/isSelectionValid/index.mjs +11 -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 +25 -0
  175. package/dist/esm/modules/mergeRefs/__tests__/index-test.mjs.map +1 -0
  176. package/dist/esm/modules/mergeRefs/index.mjs +20 -0
  177. package/dist/esm/modules/mergeRefs/index.mjs.map +1 -0
  178. package/dist/esm/modules/modality/__tests__/index-test.mjs +60 -0
  179. package/dist/esm/modules/modality/__tests__/index-test.mjs.map +1 -0
  180. package/dist/esm/modules/modality/index.mjs +184 -0
  181. package/dist/esm/modules/modality/index.mjs.map +1 -0
  182. package/dist/esm/modules/multiplyStyleLengthValue/__tests__/index-test.mjs +15 -0
  183. package/dist/esm/modules/multiplyStyleLengthValue/__tests__/index-test.mjs.map +1 -0
  184. package/dist/esm/modules/multiplyStyleLengthValue/index.mjs +16 -0
  185. package/dist/esm/modules/multiplyStyleLengthValue/index.mjs.map +1 -0
  186. package/dist/esm/modules/normalizeColor/index.mjs +19 -0
  187. package/dist/esm/modules/normalizeColor/index.mjs.map +1 -0
  188. package/dist/esm/modules/pick/index.mjs +13 -0
  189. package/dist/esm/modules/pick/index.mjs.map +1 -0
  190. package/dist/esm/modules/processColor/__tests__/index-test.mjs +62 -0
  191. package/dist/esm/modules/processColor/__tests__/index-test.mjs.map +1 -0
  192. package/dist/esm/modules/processColor/index.mjs +14 -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 +30 -0
  197. package/dist/esm/modules/setValueForStyles/dangerousStyleValue.mjs.map +1 -0
  198. package/dist/esm/modules/setValueForStyles/index.mjs +21 -0
  199. package/dist/esm/modules/setValueForStyles/index.mjs.map +1 -0
  200. package/dist/esm/modules/unitlessNumbers/index.mjs +64 -0
  201. package/dist/esm/modules/unitlessNumbers/index.mjs.map +1 -0
  202. package/dist/esm/modules/useElementLayout/index.mjs +19 -0
  203. package/dist/esm/modules/useElementLayout/index.mjs.map +1 -0
  204. package/dist/esm/modules/useEvent/__tests__/index-test.mjs +467 -0
  205. package/dist/esm/modules/useEvent/__tests__/index-test.mjs.map +1 -0
  206. package/dist/esm/modules/useEvent/index.mjs +32 -0
  207. package/dist/esm/modules/useEvent/index.mjs.map +1 -0
  208. package/dist/esm/modules/useHover/__tests__/index-test.mjs +359 -0
  209. package/dist/esm/modules/useHover/__tests__/index-test.mjs.map +1 -0
  210. package/dist/esm/modules/useHover/index.mjs +115 -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 +31 -0
  215. package/dist/esm/modules/useLocale/index.mjs.map +1 -0
  216. package/dist/esm/modules/useLocale/isLocaleRTL.mjs +63 -0
  217. package/dist/esm/modules/useLocale/isLocaleRTL.mjs.map +1 -0
  218. package/dist/esm/modules/useMergeRefs/__tests__/index-test.mjs +102 -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 +17 -0
  223. package/dist/esm/modules/usePlatformMethods/index.mjs.map +1 -0
  224. package/dist/esm/modules/useStable/__tests__/index-test.mjs +99 -0
  225. package/dist/esm/modules/useStable/__tests__/index-test.mjs.map +1 -0
  226. package/dist/esm/modules/useStable/index.mjs +11 -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
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) Nicolas Gallagher.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,265 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __copyProps = (to, from, except, desc) => {
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
+ }
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
22
+ value: mod,
23
+ enumerable: true
24
+ }) : target, mod));
25
+ var import_createReactDOMStyle = __toESM(require("../compiler/createReactDOMStyle.cjs"), 1);
26
+ const reactNativeStyle = {
27
+ boxShadow: "1px 1px 1px 1px #000",
28
+ borderWidthLeft: 2,
29
+ borderWidth: 1,
30
+ borderWidthRight: 3,
31
+ display: "flex",
32
+ marginVertical: 0,
33
+ opacity: 0,
34
+ shadowColor: "red",
35
+ shadowOffset: {
36
+ width: 1,
37
+ height: 2
38
+ },
39
+ resizeMode: "contain"
40
+ };
41
+ describe("compiler/createReactDOMStyle", () => {
42
+ test("noop on DOM styles", () => {
43
+ const firstStyle = (0, import_createReactDOMStyle.default)(reactNativeStyle);
44
+ const secondStyle = (0, import_createReactDOMStyle.default)(firstStyle);
45
+ expect(firstStyle).toEqual(secondStyle);
46
+ });
47
+ test("shortform -> longform for inline styles", () => {
48
+ const style = {
49
+ borderStyle: "solid",
50
+ boxSizing: "border-box",
51
+ borderBottomColor: "white",
52
+ borderBottomWidth: 1,
53
+ borderWidth: 0,
54
+ marginTop: 50,
55
+ marginVertical: 25,
56
+ margin: 10,
57
+ overflow: "hidden",
58
+ overscrollBehavior: "contain",
59
+ paddingLeft: 50,
60
+ paddingHorizontal: 25,
61
+ padding: 10
62
+ };
63
+ expect((0, import_createReactDOMStyle.default)(style, true)).toMatchInlineSnapshot(`
64
+ {
65
+ "borderBottomColor": "rgba(255,255,255,1.00)",
66
+ "borderBottomStyle": "solid",
67
+ "borderBottomWidth": "1px",
68
+ "borderLeftStyle": "solid",
69
+ "borderLeftWidth": "0px",
70
+ "borderRightStyle": "solid",
71
+ "borderRightWidth": "0px",
72
+ "borderTopStyle": "solid",
73
+ "borderTopWidth": "0px",
74
+ "boxSizing": "border-box",
75
+ "marginBottom": "25px",
76
+ "marginLeft": "10px",
77
+ "marginRight": "10px",
78
+ "marginTop": "50px",
79
+ "overflowX": "hidden",
80
+ "overflowY": "hidden",
81
+ "overscrollBehaviorX": "contain",
82
+ "overscrollBehaviorY": "contain",
83
+ "paddingBottom": "10px",
84
+ "paddingLeft": "50px",
85
+ "paddingRight": "25px",
86
+ "paddingTop": "10px",
87
+ }
88
+ `);
89
+ });
90
+ test("aspectRatio", () => {
91
+ expect((0, import_createReactDOMStyle.default)({
92
+ aspectRatio: 9 / 16
93
+ })).toEqual({
94
+ aspectRatio: "0.5625"
95
+ });
96
+ });
97
+ describe("flexbox styles", () => {
98
+ test("flex: -1", () => {
99
+ expect((0, import_createReactDOMStyle.default)({
100
+ flex: -1
101
+ })).toEqual({
102
+ flexGrow: 0,
103
+ flexShrink: 1,
104
+ flexBasis: "auto"
105
+ });
106
+ });
107
+ test("flex: 0", () => {
108
+ expect((0, import_createReactDOMStyle.default)({
109
+ flex: 0
110
+ })).toEqual({
111
+ flex: 0
112
+ });
113
+ });
114
+ test("flex: 1", () => {
115
+ expect((0, import_createReactDOMStyle.default)({
116
+ flex: 1
117
+ })).toEqual({
118
+ flex: 1
119
+ });
120
+ });
121
+ test("flex: 10", () => {
122
+ expect((0, import_createReactDOMStyle.default)({
123
+ flex: 10
124
+ })).toEqual({
125
+ flex: 10
126
+ });
127
+ });
128
+ test("flexBasis overrides", () => {
129
+ expect((0, import_createReactDOMStyle.default)({
130
+ flexBasis: "25%"
131
+ })).toEqual({
132
+ flexBasis: "25%"
133
+ });
134
+ expect((0, import_createReactDOMStyle.default)({
135
+ flex: 1,
136
+ flexBasis: "25%"
137
+ })).toEqual({
138
+ flex: 1,
139
+ flexBasis: "25%"
140
+ });
141
+ });
142
+ test("flexShrink overrides", () => {
143
+ expect((0, import_createReactDOMStyle.default)({
144
+ flexShrink: 1
145
+ })).toEqual({
146
+ flexShrink: 1
147
+ });
148
+ expect((0, import_createReactDOMStyle.default)({
149
+ flex: 1,
150
+ flexShrink: 2
151
+ })).toEqual({
152
+ flex: 1,
153
+ flexShrink: 2
154
+ });
155
+ });
156
+ });
157
+ describe("fontFamily", () => {
158
+ test("general case", () => {
159
+ expect((0, import_createReactDOMStyle.default)({
160
+ fontFamily: "Georgia, Times, serif"
161
+ })).toMatchInlineSnapshot(`
162
+ {
163
+ "fontFamily": "Georgia, Times, serif",
164
+ }
165
+ `);
166
+ });
167
+ test('"monospace"', () => {
168
+ expect((0, import_createReactDOMStyle.default)({
169
+ fontFamily: "monospace"
170
+ })).toMatchInlineSnapshot(`
171
+ {
172
+ "fontFamily": "monospace,monospace",
173
+ }
174
+ `);
175
+ });
176
+ test('"System"', () => {
177
+ expect((0, import_createReactDOMStyle.default)({
178
+ fontFamily: "System"
179
+ })).toMatchInlineSnapshot(`
180
+ {
181
+ "fontFamily": "-apple-system,BlinkMacSystemFont,\\"Segoe UI\\",Roboto,Helvetica,Arial,sans-serif",
182
+ }
183
+ `);
184
+ expect((0, import_createReactDOMStyle.default)({
185
+ font: "14px System"
186
+ })).toMatchInlineSnapshot(`
187
+ {
188
+ "font": "14px -apple-system,BlinkMacSystemFont,\\"Segoe UI\\",Roboto,Helvetica,Arial,sans-serif",
189
+ }
190
+ `);
191
+ });
192
+ test('"Noto, System"', () => {
193
+ expect((0, import_createReactDOMStyle.default)({
194
+ fontFamily: "Noto, System"
195
+ })).toMatchInlineSnapshot(`
196
+ {
197
+ "fontFamily": "Noto,-apple-system,BlinkMacSystemFont,\\"Segoe UI\\",Roboto,Helvetica,Arial,sans-serif",
198
+ }
199
+ `);
200
+ expect((0, import_createReactDOMStyle.default)({
201
+ font: "14px Noto, System"
202
+ })).toMatchInlineSnapshot(`
203
+ {
204
+ "font": "14px Noto, -apple-system,BlinkMacSystemFont,\\"Segoe UI\\",Roboto,Helvetica,Arial,sans-serif",
205
+ }
206
+ `);
207
+ });
208
+ test('"Noto, BlinkMacSystemFont"', () => {
209
+ expect((0, import_createReactDOMStyle.default)({
210
+ fontFamily: "Noto, BlinkMacSystemFont"
211
+ })).toMatchInlineSnapshot(`
212
+ {
213
+ "fontFamily": "Noto,BlinkMacSystemFont",
214
+ }
215
+ `);
216
+ });
217
+ });
218
+ test("fontVariant", () => {
219
+ expect((0, import_createReactDOMStyle.default)({
220
+ fontVariant: ["common-ligatures", "small-caps"]
221
+ })).toEqual({
222
+ fontVariant: "common-ligatures small-caps"
223
+ });
224
+ });
225
+ test("textAlignVertical", () => {
226
+ expect((0, import_createReactDOMStyle.default)({
227
+ textAlignVertical: "center"
228
+ })).toEqual({
229
+ verticalAlign: "middle"
230
+ });
231
+ });
232
+ describe("transform", () => {
233
+ test("string", () => {
234
+ const transform = "perspective(50px) scaleX(20) translateX(20px) rotate(20deg)";
235
+ const style = {
236
+ transform
237
+ };
238
+ const resolved = (0, import_createReactDOMStyle.default)(style);
239
+ expect(resolved).toEqual({
240
+ transform
241
+ });
242
+ });
243
+ test("array", () => {
244
+ const style = {
245
+ transform: [{
246
+ perspective: 50
247
+ }, {
248
+ scaleX: 20
249
+ }, {
250
+ translateX: 20
251
+ }, {
252
+ rotate: "20deg"
253
+ }, {
254
+ matrix: [1, 2, 3, 4, 5, 6]
255
+ }, {
256
+ matrix3d: [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4]
257
+ }]
258
+ };
259
+ const resolved = (0, import_createReactDOMStyle.default)(style);
260
+ expect(resolved).toEqual({
261
+ transform: "perspective(50px) scaleX(20) translateX(20px) rotate(20deg) matrix(1,2,3,4,5,6) matrix3d(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4)"
262
+ });
263
+ });
264
+ });
265
+ });
@@ -0,0 +1,419 @@
1
+ var import_compiler = require("../compiler/index.cjs");
2
+ describe("StyleSheet/compile", () => {
3
+ describe("atomic", () => {
4
+ test("converts style to atomic CSS", () => {
5
+ const result = (0, import_compiler.atomic)({
6
+ animationDirection: ["alternate", "alternate-reverse"],
7
+ animationKeyframes: [{
8
+ "0%": {
9
+ top: 0
10
+ },
11
+ "50%": {
12
+ top: 5
13
+ },
14
+ "100%": {
15
+ top: 10
16
+ }
17
+ }, {
18
+ from: {
19
+ left: 0
20
+ },
21
+ to: {
22
+ left: 10
23
+ }
24
+ }],
25
+ fontFamily: "System",
26
+ marginHorizontal: 10,
27
+ marginStart: 1,
28
+ marginEnd: 2,
29
+ placeholderTextColor: "gray",
30
+ scrollbarWidth: "none",
31
+ pointerEvents: "box-only",
32
+ start: "12.34%",
33
+ textAlign: "start",
34
+ transform: [{
35
+ translateX: 50,
36
+ scale: -1
37
+ }]
38
+ });
39
+ expect(result).toMatchInlineSnapshot(`
40
+ [
41
+ {
42
+ "$$css": true,
43
+ "$$css$localize": true,
44
+ "animationDirection": "r-animationDirection-1kmv48j",
45
+ "animationKeyframes": "r-animationKeyframes-zacbmr",
46
+ "fontFamily": "r-fontFamily-1qd0xha",
47
+ "marginEnd": [
48
+ "r-marginRight-a5pmau",
49
+ "r-marginLeft-9cviqr",
50
+ ],
51
+ "marginHorizontal": "r-marginHorizontal-vlx1xi",
52
+ "marginStart": [
53
+ "r-marginLeft-13kc5u0",
54
+ "r-marginRight-1knfw1x",
55
+ ],
56
+ "placeholderTextColor": "r-placeholderTextColor-1418aci",
57
+ "pointerEvents": "r-pointerEvents-ah5dr5",
58
+ "scrollbarWidth": "r-scrollbarWidth-2eszeu",
59
+ "start": [
60
+ "r-left-2s0hu9",
61
+ "r-right-1bnbe1j",
62
+ ],
63
+ "textAlign": [
64
+ "r-textAlign-fdjqy7",
65
+ "r-textAlign-1ff274t",
66
+ ],
67
+ "transform": "r-transform-1ehiua4",
68
+ },
69
+ [
70
+ [
71
+ [
72
+ ".r-animationDirection-1kmv48j{animation-direction:alternate,alternate-reverse;}",
73
+ ],
74
+ 2.2,
75
+ ],
76
+ [
77
+ [
78
+ ".r-animationKeyframes-zacbmr{animation-name:r-animation-8jhqzh,r-animation-5azpl5;}",
79
+ "@-webkit-keyframes r-animation-8jhqzh{0%{top:0px;}50%{top:5px;}100%{top:10px;}}",
80
+ "@keyframes r-animation-8jhqzh{0%{top:0px;}50%{top:5px;}100%{top:10px;}}",
81
+ "@-webkit-keyframes r-animation-5azpl5{from{left:0px;}to{left:10px;}}",
82
+ "@keyframes r-animation-5azpl5{from{left:0px;}to{left:10px;}}",
83
+ ],
84
+ 2.2,
85
+ ],
86
+ [
87
+ [
88
+ ".r-fontFamily-1qd0xha{font-family:-apple-system,BlinkMacSystemFont,\\"Segoe UI\\",Roboto,Helvetica,Arial,sans-serif;}",
89
+ ],
90
+ 2.2,
91
+ ],
92
+ [
93
+ [
94
+ ".r-marginRight-a5pmau{margin-right:2px;}",
95
+ ],
96
+ 2.2,
97
+ ],
98
+ [
99
+ [
100
+ ".r-marginLeft-9cviqr{margin-left:2px;}",
101
+ ],
102
+ 2.2,
103
+ ],
104
+ [
105
+ [
106
+ ".r-marginHorizontal-vlx1xi{margin-left:10px;margin-right:10px;}",
107
+ ],
108
+ 2.1,
109
+ ],
110
+ [
111
+ [
112
+ ".r-marginLeft-13kc5u0{margin-left:1px;}",
113
+ ],
114
+ 2.2,
115
+ ],
116
+ [
117
+ [
118
+ ".r-marginRight-1knfw1x{margin-right:1px;}",
119
+ ],
120
+ 2.2,
121
+ ],
122
+ [
123
+ [
124
+ ".r-placeholderTextColor-1418aci::-webkit-input-placeholder{color:rgba(128,128,128,1.00);opacity:1;}",
125
+ ".r-placeholderTextColor-1418aci::-moz-placeholder{color:rgba(128,128,128,1.00);opacity:1;}",
126
+ ".r-placeholderTextColor-1418aci:-ms-input-placeholder{color:rgba(128,128,128,1.00);opacity:1;}",
127
+ ".r-placeholderTextColor-1418aci::placeholder{color:rgba(128,128,128,1.00);opacity:1;}",
128
+ ],
129
+ 2.2,
130
+ ],
131
+ [
132
+ [
133
+ ".r-pointerEvents-ah5dr5>*{pointer-events:none;}",
134
+ ".r-pointerEvents-ah5dr5{pointer-events:auto!important;}",
135
+ ],
136
+ 2.2,
137
+ ],
138
+ [
139
+ [
140
+ ".r-scrollbarWidth-2eszeu::-webkit-scrollbar{display:none}",
141
+ ".r-scrollbarWidth-2eszeu{scrollbar-width:none;}",
142
+ ],
143
+ 2.2,
144
+ ],
145
+ [
146
+ [
147
+ ".r-left-2s0hu9{left:12.34%;}",
148
+ ],
149
+ 2.2,
150
+ ],
151
+ [
152
+ [
153
+ ".r-right-1bnbe1j{right:12.34%;}",
154
+ ],
155
+ 2.2,
156
+ ],
157
+ [
158
+ [
159
+ ".r-textAlign-fdjqy7{text-align:left;}",
160
+ ],
161
+ 2.2,
162
+ ],
163
+ [
164
+ [
165
+ ".r-textAlign-1ff274t{text-align:right;}",
166
+ ],
167
+ 2.2,
168
+ ],
169
+ [
170
+ [
171
+ ".r-transform-1ehiua4{transform:translateX(50px);}",
172
+ ],
173
+ 2.2,
174
+ ],
175
+ ],
176
+ ]
177
+ `);
178
+ });
179
+ });
180
+ describe("classic", () => {
181
+ test("converts style to classic CSS", () => {
182
+ const result = (0, import_compiler.classic)({
183
+ animationDirection: ["alternate", "alternate-reverse"],
184
+ animationKeyframes: [{
185
+ "0%": {
186
+ top: 0
187
+ },
188
+ "50%": {
189
+ top: 5
190
+ },
191
+ "100%": {
192
+ top: 10
193
+ }
194
+ }, {
195
+ from: {
196
+ left: 0
197
+ },
198
+ to: {
199
+ left: 10
200
+ }
201
+ }],
202
+ marginHorizontal: 10,
203
+ font: "14px System",
204
+ transform: [{
205
+ translateX: 50,
206
+ scale: -1
207
+ }]
208
+ }, "text");
209
+ expect(result).toMatchInlineSnapshot(`
210
+ [
211
+ {
212
+ "$$css": true,
213
+ "css-text-1jr0ypv": "css-text-1jr0ypv",
214
+ },
215
+ [
216
+ [
217
+ [
218
+ "@-webkit-keyframes r-animation-8jhqzh{0%{top:0px;}50%{top:5px;}100%{top:10px;}}",
219
+ "@keyframes r-animation-8jhqzh{0%{top:0px;}50%{top:5px;}100%{top:10px;}}",
220
+ "@-webkit-keyframes r-animation-5azpl5{from{left:0px;}to{left:10px;}}",
221
+ "@keyframes r-animation-5azpl5{from{left:0px;}to{left:10px;}}",
222
+ ".css-text-1jr0ypv{animation-direction:alternate,alternate-reverse;animation-name:r-animation-8jhqzh,r-animation-5azpl5;font:14px -apple-system,BlinkMacSystemFont,\\"Segoe UI\\",Roboto,Helvetica,Arial,sans-serif;margin-left:10px;margin-right:10px;transform:translateX(50px);}",
223
+ ],
224
+ 1,
225
+ ],
226
+ ],
227
+ ]
228
+ `);
229
+ });
230
+ });
231
+ describe("inline", () => {
232
+ test("converts style to inline styles", () => {
233
+ const result = (0, import_compiler.inline)({
234
+ marginHorizontal: 10,
235
+ display: "flex",
236
+ flexShrink: 1
237
+ });
238
+ expect(result).toMatchInlineSnapshot(`
239
+ {
240
+ "display": "flex",
241
+ "flexShrink": 1,
242
+ "marginLeft": "10px",
243
+ "marginRight": "10px",
244
+ }
245
+ `);
246
+ });
247
+ describe("logical style polyfill", () => {
248
+ ;
249
+ [false, true].forEach(isRTL => {
250
+ const dir = isRTL ? "rtl" : "ltr";
251
+ test(`ignores "left" properties for ${dir}`, () => {
252
+ const initial = {
253
+ borderLeftColor: "rgba(255,0,0,1.00)",
254
+ borderLeftStyle: "solid",
255
+ borderLeftWidth: "1px",
256
+ left: "1px",
257
+ marginLeft: "5px",
258
+ paddingLeft: "10px"
259
+ };
260
+ expect((0, import_compiler.inline)(initial, isRTL)).toEqual(initial);
261
+ });
262
+ test(`ignores "right" properties for ${dir}`, () => {
263
+ const initial = {
264
+ borderRightColor: "rgba(255,0,0,1.00)",
265
+ borderRightStyle: "solid",
266
+ borderRightWidth: "1px",
267
+ right: "1px",
268
+ marginRight: "5px",
269
+ paddingRight: "10px"
270
+ };
271
+ expect((0, import_compiler.inline)(initial, isRTL)).toEqual(initial);
272
+ });
273
+ test(`ignores "left" values for ${dir}`, () => {
274
+ const initial = {
275
+ clear: "left",
276
+ float: "left",
277
+ textAlign: "left",
278
+ transitionProperty: "left"
279
+ };
280
+ expect((0, import_compiler.inline)(initial, isRTL)).toEqual(initial);
281
+ });
282
+ test(`ignores "right" values for ${dir}`, () => {
283
+ const initial = {
284
+ clear: "right",
285
+ float: "right",
286
+ textAlign: "right",
287
+ transitionProperty: "right"
288
+ };
289
+ expect((0, import_compiler.inline)(initial, isRTL)).toEqual(initial);
290
+ });
291
+ test(`converts "start" properties for ${dir}`, () => {
292
+ const initial = {
293
+ borderStartColor: "red",
294
+ borderStartStyle: "solid",
295
+ borderStartWidth: 1,
296
+ start: 1,
297
+ marginStart: 5,
298
+ paddingStart: 10
299
+ };
300
+ const expectedLTR = {
301
+ borderLeftColor: "rgba(255,0,0,1.00)",
302
+ borderLeftStyle: "solid",
303
+ borderLeftWidth: "1px",
304
+ left: "1px",
305
+ marginLeft: "5px",
306
+ paddingLeft: "10px"
307
+ };
308
+ const expectedRTL = {
309
+ borderRightColor: "rgba(255,0,0,1.00)",
310
+ borderRightStyle: "solid",
311
+ borderRightWidth: "1px",
312
+ right: "1px",
313
+ marginRight: "5px",
314
+ paddingRight: "10px"
315
+ };
316
+ expect((0, import_compiler.inline)(initial, isRTL)).toEqual(isRTL ? expectedRTL : expectedLTR);
317
+ });
318
+ test(`converts "end" properties for ${dir}`, () => {
319
+ const initial = {
320
+ borderEndColor: "red",
321
+ borderEndStyle: "solid",
322
+ borderEndWidth: 1,
323
+ end: 1,
324
+ marginEnd: 5,
325
+ paddingEnd: 10
326
+ };
327
+ const expectedLTR = {
328
+ borderRightColor: "rgba(255,0,0,1.00)",
329
+ borderRightStyle: "solid",
330
+ borderRightWidth: "1px",
331
+ right: "1px",
332
+ marginRight: "5px",
333
+ paddingRight: "10px"
334
+ };
335
+ const expectedRTL = {
336
+ borderLeftColor: "rgba(255,0,0,1.00)",
337
+ borderLeftStyle: "solid",
338
+ borderLeftWidth: "1px",
339
+ left: "1px",
340
+ marginLeft: "5px",
341
+ paddingLeft: "10px"
342
+ };
343
+ expect((0, import_compiler.inline)(initial, isRTL)).toEqual(isRTL ? expectedRTL : expectedLTR);
344
+ });
345
+ test(`converts "start" values for ${dir}`, () => {
346
+ const initial = {
347
+ clear: "start",
348
+ float: "start",
349
+ textAlign: "start",
350
+ transitionProperty: "start"
351
+ };
352
+ const expectedLTR = {
353
+ clear: "left",
354
+ float: "left",
355
+ textAlign: "left",
356
+ transitionProperty: "left"
357
+ };
358
+ const expectedRTL = {
359
+ clear: "right",
360
+ float: "right",
361
+ textAlign: "right",
362
+ transitionProperty: "right"
363
+ };
364
+ expect((0, import_compiler.inline)(initial, isRTL)).toEqual(isRTL ? expectedRTL : expectedLTR);
365
+ });
366
+ test(`converts "end" values for ${dir}`, () => {
367
+ const initial = {
368
+ clear: "end",
369
+ float: "end",
370
+ textAlign: "end",
371
+ transitionProperty: "end"
372
+ };
373
+ const expectedLTR = {
374
+ clear: "right",
375
+ float: "right",
376
+ textAlign: "right",
377
+ transitionProperty: "right"
378
+ };
379
+ const expectedRTL = {
380
+ clear: "left",
381
+ float: "left",
382
+ textAlign: "left",
383
+ transitionProperty: "left"
384
+ };
385
+ expect((0, import_compiler.inline)(initial, isRTL)).toEqual(isRTL ? expectedRTL : expectedLTR);
386
+ });
387
+ test("end/start properties take precedence over left/right", () => {
388
+ const initialLTR = {
389
+ borderStartWidth: 10,
390
+ borderLeftWidth: 0,
391
+ end: 10,
392
+ right: 0,
393
+ marginStart: 10,
394
+ marginLeft: 0
395
+ };
396
+ const expectedLTR = {
397
+ borderLeftWidth: "10px",
398
+ marginLeft: "10px",
399
+ right: "10px"
400
+ };
401
+ const initialRTL = {
402
+ borderStartWidth: 10,
403
+ borderRightWidth: 0,
404
+ end: 10,
405
+ left: 0,
406
+ marginStart: 10,
407
+ marginRight: 0
408
+ };
409
+ const expectedRTL = {
410
+ borderRightWidth: "10px",
411
+ marginRight: "10px",
412
+ left: "10px"
413
+ };
414
+ expect((0, import_compiler.inline)(isRTL ? initialRTL : initialLTR, isRTL)).toEqual(isRTL ? expectedRTL : expectedLTR);
415
+ });
416
+ });
417
+ });
418
+ });
419
+ });