react-native-unistyles 3.0.0-alpha.8 → 3.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (596) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +30 -41
  3. package/Unistyles.podspec +1 -1
  4. package/android/CMakeLists.txt +22 -45
  5. package/android/build.gradle +16 -5
  6. package/android/src/main/cxx/NativeUnistylesModule.cpp +71 -0
  7. package/android/src/main/cxx/NativeUnistylesModule.h +42 -0
  8. package/android/src/main/cxx/cpp-adapter.cpp +8 -86
  9. package/android/src/main/java/com/unistyles/Equatable.kt +61 -0
  10. package/android/src/main/java/com/unistyles/NativePlatform+android.kt +294 -0
  11. package/android/src/main/java/com/unistyles/NativePlatform+insets.kt +152 -0
  12. package/android/src/main/java/com/unistyles/NativePlatform+listener.kt +59 -0
  13. package/android/src/main/java/com/unistyles/UnistylesModule.kt +51 -0
  14. package/android/src/main/java/com/unistyles/UnistylesPackage.kt +16 -14
  15. package/cxx/NativePlatform.h +11 -0
  16. package/cxx/common/Constants.h +3 -0
  17. package/cxx/common/Helpers.h +116 -5
  18. package/cxx/core/HostStyle.cpp +7 -2
  19. package/cxx/core/HostStyle.h +1 -1
  20. package/cxx/core/StyleSheet.h +0 -1
  21. package/cxx/core/Unistyle.h +8 -11
  22. package/cxx/core/UnistyleData.h +5 -3
  23. package/cxx/core/UnistyleWrapper.h +108 -13
  24. package/cxx/core/UnistylesCommitHook.cpp +14 -18
  25. package/cxx/core/UnistylesCommitHook.h +6 -11
  26. package/cxx/core/UnistylesCommitShadowNode.h +13 -0
  27. package/cxx/core/UnistylesMountHook.cpp +28 -0
  28. package/cxx/core/UnistylesMountHook.h +27 -0
  29. package/cxx/core/UnistylesRegistry.cpp +109 -48
  30. package/cxx/core/UnistylesRegistry.h +11 -10
  31. package/cxx/core/UnistylesState.cpp +29 -8
  32. package/cxx/core/UnistylesState.h +5 -2
  33. package/cxx/hybridObjects/HybridNavigationBar.cpp +0 -4
  34. package/cxx/hybridObjects/HybridNavigationBar.h +3 -4
  35. package/cxx/hybridObjects/HybridShadowRegistry.cpp +18 -11
  36. package/cxx/hybridObjects/HybridStatusBar.cpp +0 -4
  37. package/cxx/hybridObjects/HybridStatusBar.h +3 -4
  38. package/cxx/hybridObjects/HybridStyleSheet.cpp +145 -19
  39. package/cxx/hybridObjects/HybridStyleSheet.h +27 -5
  40. package/cxx/hybridObjects/HybridUnistylesRuntime.cpp +78 -11
  41. package/cxx/hybridObjects/HybridUnistylesRuntime.h +17 -3
  42. package/cxx/parser/Parser.cpp +211 -128
  43. package/cxx/parser/Parser.h +7 -6
  44. package/cxx/shadowTree/ShadowLeafUpdate.h +3 -1
  45. package/cxx/shadowTree/ShadowTrafficController.h +71 -0
  46. package/cxx/shadowTree/ShadowTreeManager.cpp +28 -19
  47. package/cxx/shadowTree/ShadowTreeManager.h +3 -2
  48. package/ios/Equatable.swift +2 -1
  49. package/ios/Extensions.swift +3 -1
  50. package/ios/NativePlatform+ios.swift +34 -9
  51. package/ios/NativePlatform+keyboard.swift +83 -0
  52. package/ios/NativePlatformListener+ios.swift +36 -24
  53. package/ios/Unistyles.h +1 -0
  54. package/ios/UnistylesModuleOnLoad.h +8 -2
  55. package/ios/UnistylesModuleOnLoad.mm +9 -1
  56. package/lib/commonjs/components/Display.js +18 -0
  57. package/lib/commonjs/components/Display.js.map +1 -0
  58. package/lib/commonjs/components/Hide.js +18 -0
  59. package/lib/commonjs/components/Hide.js.map +1 -0
  60. package/lib/commonjs/components/Pressable.js +74 -0
  61. package/lib/commonjs/components/Pressable.js.map +1 -0
  62. package/lib/commonjs/components/Pressable.web.js +115 -0
  63. package/lib/commonjs/components/Pressable.web.js.map +1 -0
  64. package/lib/commonjs/components/index.js +27 -0
  65. package/lib/commonjs/components/index.js.map +1 -0
  66. package/lib/commonjs/core/createUnistylesComponent.js +79 -0
  67. package/lib/commonjs/core/createUnistylesComponent.js.map +1 -0
  68. package/lib/commonjs/core/createUnistylesComponent.native.js +82 -0
  69. package/lib/commonjs/core/createUnistylesComponent.native.js.map +1 -0
  70. package/lib/commonjs/core/getBoundArgs.js +18 -0
  71. package/lib/commonjs/core/getBoundArgs.js.map +1 -0
  72. package/lib/commonjs/core/getId.js +9 -0
  73. package/lib/commonjs/core/getId.js.map +1 -0
  74. package/lib/commonjs/core/index.js +27 -0
  75. package/lib/commonjs/core/index.js.map +1 -0
  76. package/lib/commonjs/hooks/index.js +13 -0
  77. package/lib/commonjs/hooks/index.js.map +1 -0
  78. package/lib/commonjs/hooks/useMedia.js +59 -0
  79. package/lib/commonjs/hooks/useMedia.js.map +1 -0
  80. package/lib/commonjs/hooks/useMedia.web.js +43 -0
  81. package/lib/commonjs/hooks/useMedia.web.js.map +1 -0
  82. package/lib/commonjs/index.js +28 -11
  83. package/lib/commonjs/index.js.map +1 -1
  84. package/lib/commonjs/mq.js +31 -18
  85. package/lib/commonjs/mq.js.map +1 -1
  86. package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js +1 -0
  87. package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js.map +1 -1
  88. package/lib/commonjs/specs/NavigtionBar/index.js +0 -15
  89. package/lib/commonjs/specs/NavigtionBar/index.js.map +1 -1
  90. package/lib/commonjs/specs/ShadowRegistry/index.js +11 -8
  91. package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
  92. package/lib/commonjs/specs/StatusBar/index.js +0 -5
  93. package/lib/commonjs/specs/StatusBar/index.js.map +1 -1
  94. package/lib/commonjs/specs/StyleSheet/index.js +1 -0
  95. package/lib/commonjs/specs/StyleSheet/index.js.map +1 -1
  96. package/lib/commonjs/specs/TurboUnistyles/NativeTurboUnistyles.js +1 -2
  97. package/lib/commonjs/specs/TurboUnistyles/NativeTurboUnistyles.js.map +1 -1
  98. package/lib/commonjs/specs/UnistylesRuntime/index.js +0 -2
  99. package/lib/commonjs/specs/UnistylesRuntime/index.js.map +1 -1
  100. package/lib/commonjs/specs/index.js +7 -0
  101. package/lib/commonjs/specs/index.js.map +1 -1
  102. package/lib/commonjs/specs/index.web.js +0 -7
  103. package/lib/commonjs/specs/index.web.js.map +1 -1
  104. package/lib/commonjs/types/stylesheet.js.map +1 -1
  105. package/lib/commonjs/utils.js +26 -0
  106. package/lib/commonjs/utils.js.map +1 -0
  107. package/lib/commonjs/web/convert/index.js +27 -24
  108. package/lib/commonjs/web/convert/index.js.map +1 -1
  109. package/lib/commonjs/web/convert/object/boxShadow.js +59 -0
  110. package/lib/commonjs/web/convert/object/boxShadow.js.map +1 -0
  111. package/lib/commonjs/web/convert/object/filter.js +42 -0
  112. package/lib/commonjs/web/convert/object/filter.js.map +1 -0
  113. package/lib/commonjs/web/convert/object/index.js +39 -0
  114. package/lib/commonjs/web/convert/object/index.js.map +1 -0
  115. package/lib/commonjs/web/convert/object/objectStyle.js +56 -0
  116. package/lib/commonjs/web/convert/object/objectStyle.js.map +1 -0
  117. package/lib/commonjs/web/convert/object/transform.js +27 -0
  118. package/lib/commonjs/web/convert/object/transform.js.map +1 -0
  119. package/lib/commonjs/web/convert/pseudo.js +10 -0
  120. package/lib/commonjs/web/convert/pseudo.js.map +1 -0
  121. package/lib/commonjs/web/convert/{boxShadow.js → shadow/boxShadow.js} +22 -37
  122. package/lib/commonjs/web/convert/shadow/boxShadow.js.map +1 -0
  123. package/lib/commonjs/web/convert/shadow/getShadowBreakpoints.js +38 -0
  124. package/lib/commonjs/web/convert/shadow/getShadowBreakpoints.js.map +1 -0
  125. package/lib/commonjs/web/convert/shadow/index.js +28 -0
  126. package/lib/commonjs/web/convert/shadow/index.js.map +1 -0
  127. package/lib/commonjs/web/convert/{textShadow.js → shadow/textShadow.js} +21 -35
  128. package/lib/commonjs/web/convert/shadow/textShadow.js.map +1 -0
  129. package/lib/commonjs/web/convert/style.js +11 -7
  130. package/lib/commonjs/web/convert/style.js.map +1 -1
  131. package/lib/commonjs/web/convert/types.js.map +1 -1
  132. package/lib/commonjs/web/convert/utils.js +8 -4
  133. package/lib/commonjs/web/convert/utils.js.map +1 -1
  134. package/lib/commonjs/web/create.js +35 -67
  135. package/lib/commonjs/web/create.js.map +1 -1
  136. package/lib/commonjs/web/index.js +18 -7
  137. package/lib/commonjs/web/index.js.map +1 -1
  138. package/lib/commonjs/web/listener.js +61 -0
  139. package/lib/commonjs/web/listener.js.map +1 -0
  140. package/lib/commonjs/web/mock.js +2 -12
  141. package/lib/commonjs/web/mock.js.map +1 -1
  142. package/lib/commonjs/web/registry.js +154 -19
  143. package/lib/commonjs/web/registry.js.map +1 -1
  144. package/lib/commonjs/web/runtime.js +22 -13
  145. package/lib/commonjs/web/runtime.js.map +1 -1
  146. package/lib/commonjs/web/shadowRegistry.js +143 -0
  147. package/lib/commonjs/web/shadowRegistry.js.map +1 -0
  148. package/lib/commonjs/web/state.js +31 -72
  149. package/lib/commonjs/web/state.js.map +1 -1
  150. package/lib/commonjs/web/utils/common.js +39 -0
  151. package/lib/commonjs/web/utils/common.js.map +1 -0
  152. package/lib/commonjs/web/utils/index.js +28 -0
  153. package/lib/commonjs/web/utils/index.js.map +1 -0
  154. package/lib/commonjs/web/utils/unistyle.js +77 -0
  155. package/lib/commonjs/web/utils/unistyle.js.map +1 -0
  156. package/lib/commonjs/web/{variants/getVariants.js → variants.js} +2 -2
  157. package/lib/commonjs/web/variants.js.map +1 -0
  158. package/lib/module/components/Display.js +13 -0
  159. package/lib/module/components/Display.js.map +1 -0
  160. package/lib/module/components/Hide.js +13 -0
  161. package/lib/module/components/Hide.js.map +1 -0
  162. package/lib/module/components/Pressable.js +68 -0
  163. package/lib/module/components/Pressable.js.map +1 -0
  164. package/lib/module/components/Pressable.web.js +109 -0
  165. package/lib/module/components/Pressable.web.js.map +1 -0
  166. package/lib/module/components/index.js +6 -0
  167. package/lib/module/components/index.js.map +1 -0
  168. package/lib/module/core/createUnistylesComponent.js +72 -0
  169. package/lib/module/core/createUnistylesComponent.js.map +1 -0
  170. package/lib/module/core/createUnistylesComponent.native.js +75 -0
  171. package/lib/module/core/createUnistylesComponent.native.js.map +1 -0
  172. package/lib/module/core/getBoundArgs.js +13 -0
  173. package/lib/module/core/getBoundArgs.js.map +1 -0
  174. package/lib/module/core/getId.js +4 -0
  175. package/lib/module/core/getId.js.map +1 -0
  176. package/lib/module/core/index.js +6 -0
  177. package/lib/module/core/index.js.map +1 -0
  178. package/lib/module/hooks/index.js +4 -0
  179. package/lib/module/hooks/index.js.map +1 -0
  180. package/lib/module/hooks/useMedia.js +54 -0
  181. package/lib/module/hooks/useMedia.js.map +1 -0
  182. package/lib/module/hooks/useMedia.web.js +38 -0
  183. package/lib/module/hooks/useMedia.web.js.map +1 -0
  184. package/lib/module/index.js +2 -9
  185. package/lib/module/index.js.map +1 -1
  186. package/lib/module/mq.js +27 -17
  187. package/lib/module/mq.js.map +1 -1
  188. package/lib/module/specs/NativePlatform/NativePlatform.nitro.js +1 -0
  189. package/lib/module/specs/NativePlatform/NativePlatform.nitro.js.map +1 -1
  190. package/lib/module/specs/NavigtionBar/index.js +0 -10
  191. package/lib/module/specs/NavigtionBar/index.js.map +1 -1
  192. package/lib/module/specs/ShadowRegistry/index.js +11 -8
  193. package/lib/module/specs/ShadowRegistry/index.js.map +1 -1
  194. package/lib/module/specs/StatusBar/index.js +1 -6
  195. package/lib/module/specs/StatusBar/index.js.map +1 -1
  196. package/lib/module/specs/StyleSheet/index.js +1 -0
  197. package/lib/module/specs/StyleSheet/index.js.map +1 -1
  198. package/lib/module/specs/TurboUnistyles/NativeTurboUnistyles.js +1 -2
  199. package/lib/module/specs/TurboUnistyles/NativeTurboUnistyles.js.map +1 -1
  200. package/lib/module/specs/UnistylesRuntime/index.js +0 -2
  201. package/lib/module/specs/UnistylesRuntime/index.js.map +1 -1
  202. package/lib/module/specs/index.js +2 -1
  203. package/lib/module/specs/index.js.map +1 -1
  204. package/lib/module/specs/index.web.js +0 -1
  205. package/lib/module/specs/index.web.js.map +1 -1
  206. package/lib/module/types/stylesheet.js.map +1 -1
  207. package/lib/module/utils.js +21 -0
  208. package/lib/module/utils.js.map +1 -0
  209. package/lib/module/web/convert/index.js +23 -20
  210. package/lib/module/web/convert/index.js.map +1 -1
  211. package/lib/module/web/convert/object/boxShadow.js +54 -0
  212. package/lib/module/web/convert/object/boxShadow.js.map +1 -0
  213. package/lib/module/web/convert/object/filter.js +37 -0
  214. package/lib/module/web/convert/object/filter.js.map +1 -0
  215. package/lib/module/web/convert/object/index.js +6 -0
  216. package/lib/module/web/convert/object/index.js.map +1 -0
  217. package/lib/module/web/convert/object/objectStyle.js +51 -0
  218. package/lib/module/web/convert/object/objectStyle.js.map +1 -0
  219. package/lib/module/web/convert/object/transform.js +22 -0
  220. package/lib/module/web/convert/object/transform.js.map +1 -0
  221. package/lib/module/web/convert/pseudo.js +5 -0
  222. package/lib/module/web/convert/pseudo.js.map +1 -0
  223. package/lib/module/web/convert/shadow/boxShadow.js +57 -0
  224. package/lib/module/web/convert/shadow/boxShadow.js.map +1 -0
  225. package/lib/module/web/convert/shadow/getShadowBreakpoints.js +33 -0
  226. package/lib/module/web/convert/shadow/getShadowBreakpoints.js.map +1 -0
  227. package/lib/module/web/convert/shadow/index.js +5 -0
  228. package/lib/module/web/convert/shadow/index.js.map +1 -0
  229. package/lib/module/web/convert/shadow/textShadow.js +54 -0
  230. package/lib/module/web/convert/shadow/textShadow.js.map +1 -0
  231. package/lib/module/web/convert/style.js +11 -7
  232. package/lib/module/web/convert/style.js.map +1 -1
  233. package/lib/module/web/convert/types.js.map +1 -1
  234. package/lib/module/web/convert/utils.js +5 -3
  235. package/lib/module/web/convert/utils.js.map +1 -1
  236. package/lib/module/web/create.js +37 -69
  237. package/lib/module/web/create.js.map +1 -1
  238. package/lib/module/web/index.js +9 -3
  239. package/lib/module/web/index.js.map +1 -1
  240. package/lib/module/web/listener.js +57 -0
  241. package/lib/module/web/listener.js.map +1 -0
  242. package/lib/module/web/mock.js +1 -11
  243. package/lib/module/web/mock.js.map +1 -1
  244. package/lib/module/web/registry.js +155 -20
  245. package/lib/module/web/registry.js.map +1 -1
  246. package/lib/module/web/runtime.js +23 -14
  247. package/lib/module/web/runtime.js.map +1 -1
  248. package/lib/module/web/shadowRegistry.js +139 -0
  249. package/lib/module/web/shadowRegistry.js.map +1 -0
  250. package/lib/module/web/state.js +32 -73
  251. package/lib/module/web/state.js.map +1 -1
  252. package/lib/module/web/utils/common.js +28 -0
  253. package/lib/module/web/utils/common.js.map +1 -0
  254. package/lib/module/web/utils/index.js +5 -0
  255. package/lib/module/web/utils/index.js.map +1 -0
  256. package/lib/module/web/utils/unistyle.js +65 -0
  257. package/lib/module/web/utils/unistyle.js.map +1 -0
  258. package/lib/module/web/{variants/getVariants.js → variants.js} +2 -2
  259. package/lib/module/web/variants.js.map +1 -0
  260. package/lib/typescript/src/components/Display.d.ts +7 -0
  261. package/lib/typescript/src/components/Display.d.ts.map +1 -0
  262. package/lib/typescript/src/components/Hide.d.ts +7 -0
  263. package/lib/typescript/src/components/Hide.d.ts.map +1 -0
  264. package/lib/typescript/src/components/Pressable.d.ts +8 -0
  265. package/lib/typescript/src/components/Pressable.d.ts.map +1 -0
  266. package/lib/typescript/src/components/Pressable.web.d.ts +14 -0
  267. package/lib/typescript/src/components/Pressable.web.d.ts.map +1 -0
  268. package/lib/typescript/src/components/index.d.ts +4 -0
  269. package/lib/typescript/src/components/index.d.ts.map +1 -0
  270. package/lib/typescript/src/core/createUnistylesComponent.d.ts +8 -0
  271. package/lib/typescript/src/core/createUnistylesComponent.d.ts.map +1 -0
  272. package/lib/typescript/src/core/createUnistylesComponent.native.d.ts +8 -0
  273. package/lib/typescript/src/core/createUnistylesComponent.native.d.ts.map +1 -0
  274. package/lib/typescript/src/core/getBoundArgs.d.ts +2 -0
  275. package/lib/typescript/src/core/getBoundArgs.d.ts.map +1 -0
  276. package/lib/typescript/src/core/getId.d.ts +2 -0
  277. package/lib/typescript/src/core/getId.d.ts.map +1 -0
  278. package/lib/typescript/src/core/index.d.ts +4 -0
  279. package/lib/typescript/src/core/index.d.ts.map +1 -0
  280. package/lib/typescript/src/hooks/index.d.ts +2 -0
  281. package/lib/typescript/src/hooks/index.d.ts.map +1 -0
  282. package/lib/typescript/src/hooks/useMedia.d.ts +6 -0
  283. package/lib/typescript/src/hooks/useMedia.d.ts.map +1 -0
  284. package/lib/typescript/src/hooks/useMedia.web.d.ts +6 -0
  285. package/lib/typescript/src/hooks/useMedia.web.d.ts.map +1 -0
  286. package/lib/typescript/src/index.d.ts +3 -0
  287. package/lib/typescript/src/index.d.ts.map +1 -1
  288. package/lib/typescript/src/mq.d.ts +8 -0
  289. package/lib/typescript/src/mq.d.ts.map +1 -1
  290. package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts +8 -6
  291. package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts.map +1 -1
  292. package/lib/typescript/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.d.ts +0 -1
  293. package/lib/typescript/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.d.ts.map +1 -1
  294. package/lib/typescript/src/specs/NavigtionBar/index.d.ts +1 -10
  295. package/lib/typescript/src/specs/NavigtionBar/index.d.ts.map +1 -1
  296. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts +4 -4
  297. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
  298. package/lib/typescript/src/specs/ShadowRegistry/types.d.ts +4 -0
  299. package/lib/typescript/src/specs/ShadowRegistry/types.d.ts.map +1 -1
  300. package/lib/typescript/src/specs/StatusBar/UnistylesStatusBar.nitro.d.ts +0 -1
  301. package/lib/typescript/src/specs/StatusBar/UnistylesStatusBar.nitro.d.ts.map +1 -1
  302. package/lib/typescript/src/specs/StatusBar/index.d.ts +2 -4
  303. package/lib/typescript/src/specs/StatusBar/index.d.ts.map +1 -1
  304. package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts +3 -1
  305. package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts.map +1 -1
  306. package/lib/typescript/src/specs/StyleSheet/index.d.ts +5 -3
  307. package/lib/typescript/src/specs/StyleSheet/index.d.ts.map +1 -1
  308. package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts +1 -1
  309. package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts.map +1 -1
  310. package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts +4 -2
  311. package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts.map +1 -1
  312. package/lib/typescript/src/specs/index.d.ts +4 -2
  313. package/lib/typescript/src/specs/index.d.ts.map +1 -1
  314. package/lib/typescript/src/specs/index.web.d.ts +0 -2
  315. package/lib/typescript/src/specs/index.web.d.ts.map +1 -1
  316. package/lib/typescript/src/types/breakpoints.d.ts +11 -11
  317. package/lib/typescript/src/types/breakpoints.d.ts.map +1 -1
  318. package/lib/typescript/src/types/common.d.ts +2 -0
  319. package/lib/typescript/src/types/common.d.ts.map +1 -1
  320. package/lib/typescript/src/types/index.d.ts +2 -2
  321. package/lib/typescript/src/types/index.d.ts.map +1 -1
  322. package/lib/typescript/src/types/stylesheet.d.ts +6 -4
  323. package/lib/typescript/src/types/stylesheet.d.ts.map +1 -1
  324. package/lib/typescript/src/types/variants.d.ts +4 -1
  325. package/lib/typescript/src/types/variants.d.ts.map +1 -1
  326. package/lib/typescript/src/utils.d.ts +2 -0
  327. package/lib/typescript/src/utils.d.ts.map +1 -0
  328. package/lib/typescript/src/web/convert/index.d.ts +1 -2
  329. package/lib/typescript/src/web/convert/index.d.ts.map +1 -1
  330. package/lib/typescript/src/web/convert/object/boxShadow.d.ts +9 -0
  331. package/lib/typescript/src/web/convert/object/boxShadow.d.ts.map +1 -0
  332. package/lib/typescript/src/web/convert/object/filter.d.ts +3 -0
  333. package/lib/typescript/src/web/convert/object/filter.d.ts.map +1 -0
  334. package/lib/typescript/src/web/convert/object/index.d.ts +4 -0
  335. package/lib/typescript/src/web/convert/object/index.d.ts.map +1 -0
  336. package/lib/typescript/src/web/convert/object/objectStyle.d.ts +5 -0
  337. package/lib/typescript/src/web/convert/object/objectStyle.d.ts.map +1 -0
  338. package/lib/typescript/src/web/convert/object/transform.d.ts +3 -0
  339. package/lib/typescript/src/web/convert/object/transform.d.ts.map +1 -0
  340. package/lib/typescript/src/web/convert/pseudo.d.ts +6 -0
  341. package/lib/typescript/src/web/convert/pseudo.d.ts.map +1 -0
  342. package/lib/typescript/src/web/convert/shadow/boxShadow.d.ts +8 -0
  343. package/lib/typescript/src/web/convert/shadow/boxShadow.d.ts.map +1 -0
  344. package/lib/typescript/src/web/convert/shadow/getShadowBreakpoints.d.ts +2 -0
  345. package/lib/typescript/src/web/convert/shadow/getShadowBreakpoints.d.ts.map +1 -0
  346. package/lib/typescript/src/web/convert/shadow/index.d.ts +3 -0
  347. package/lib/typescript/src/web/convert/shadow/index.d.ts.map +1 -0
  348. package/lib/typescript/src/web/convert/shadow/textShadow.d.ts +8 -0
  349. package/lib/typescript/src/web/convert/shadow/textShadow.d.ts.map +1 -0
  350. package/lib/typescript/src/web/convert/style.d.ts +1 -2
  351. package/lib/typescript/src/web/convert/style.d.ts.map +1 -1
  352. package/lib/typescript/src/web/convert/types.d.ts +7 -1
  353. package/lib/typescript/src/web/convert/types.d.ts.map +1 -1
  354. package/lib/typescript/src/web/convert/utils.d.ts +8 -4
  355. package/lib/typescript/src/web/convert/utils.d.ts.map +1 -1
  356. package/lib/typescript/src/web/create.d.ts +215 -1221
  357. package/lib/typescript/src/web/create.d.ts.map +1 -1
  358. package/lib/typescript/src/web/index.d.ts +223 -1222
  359. package/lib/typescript/src/web/index.d.ts.map +1 -1
  360. package/lib/typescript/src/web/{listener/listener.d.ts → listener.d.ts} +5 -2
  361. package/lib/typescript/src/web/listener.d.ts.map +1 -0
  362. package/lib/typescript/src/web/mock.d.ts +0 -9
  363. package/lib/typescript/src/web/mock.d.ts.map +1 -1
  364. package/lib/typescript/src/web/registry.d.ts +18 -6
  365. package/lib/typescript/src/web/registry.d.ts.map +1 -1
  366. package/lib/typescript/src/web/runtime.d.ts +6 -5
  367. package/lib/typescript/src/web/runtime.d.ts.map +1 -1
  368. package/lib/typescript/src/web/shadowRegistry.d.ts +17 -0
  369. package/lib/typescript/src/web/shadowRegistry.d.ts.map +1 -0
  370. package/lib/typescript/src/web/state.d.ts +3 -9
  371. package/lib/typescript/src/web/state.d.ts.map +1 -1
  372. package/lib/typescript/src/web/utils/common.d.ts +8 -0
  373. package/lib/typescript/src/web/utils/common.d.ts.map +1 -0
  374. package/lib/typescript/src/web/utils/index.d.ts +3 -0
  375. package/lib/typescript/src/web/utils/index.d.ts.map +1 -0
  376. package/lib/typescript/src/web/utils/unistyle.d.ts +19 -0
  377. package/lib/typescript/src/web/utils/unistyle.d.ts.map +1 -0
  378. package/lib/typescript/src/web/{variants/getVariants.d.ts → variants.d.ts} +2 -2
  379. package/lib/typescript/src/web/variants.d.ts.map +1 -0
  380. package/nitrogen/generated/android/c++/JColorScheme.hpp +2 -2
  381. package/nitrogen/generated/android/c++/JFunc_void_UnistylesNativeMiniRuntime.hpp +57 -0
  382. package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.hpp +69 -0
  383. package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.cpp +35 -34
  384. package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.hpp +15 -6
  385. package/nitrogen/generated/android/c++/JOrientation.hpp +2 -2
  386. package/nitrogen/generated/android/c++/JUnistyleDependency.hpp +5 -2
  387. package/nitrogen/generated/android/c++/JUnistylesNativeMiniRuntime.hpp +9 -7
  388. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/ColorScheme.kt +5 -1
  389. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Dimensions.kt +1 -0
  390. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/{Func_void_std__vector_UnistyleDependency_.kt → Func_void_UnistylesNativeMiniRuntime.kt} +6 -5
  391. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Func_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.kt +46 -0
  392. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/HybridNativePlatformSpec.kt +25 -13
  393. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Insets.kt +1 -0
  394. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Orientation.kt +5 -1
  395. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistyleDependency.kt +6 -1
  396. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistylesNativeMiniRuntime.kt +3 -1
  397. package/nitrogen/generated/android/unistyles+autolinking.cmake +13 -1
  398. package/nitrogen/generated/android/unistyles+autolinking.gradle +2 -0
  399. package/nitrogen/generated/android/{UnistylesOnLoad.cpp → unistylesOnLoad.cpp} +6 -4
  400. package/nitrogen/generated/android/{UnistylesOnLoad.hpp → unistylesOnLoad.hpp} +1 -1
  401. package/nitrogen/generated/ios/Unistyles+autolinking.rb +6 -4
  402. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.cpp +25 -0
  403. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.hpp +73 -38
  404. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Umbrella.hpp +1 -30
  405. package/nitrogen/generated/ios/c++/HybridNativePlatformSpecSwift.hpp +8 -8
  406. package/nitrogen/generated/ios/swift/HybridNativePlatformSpec.swift +4 -16
  407. package/nitrogen/generated/ios/swift/HybridNativePlatformSpecCxx.swift +156 -115
  408. package/nitrogen/generated/ios/swift/UnistyleDependency.swift +4 -0
  409. package/nitrogen/generated/ios/swift/UnistylesNativeMiniRuntime.swift +16 -5
  410. package/nitrogen/generated/shared/c++/ColorScheme.hpp +2 -2
  411. package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.cpp +2 -2
  412. package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.hpp +6 -3
  413. package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.cpp +0 -1
  414. package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.hpp +3 -1
  415. package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.cpp +1 -0
  416. package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.hpp +5 -0
  417. package/nitrogen/generated/shared/c++/HybridUnistylesShadowRegistrySpec.hpp +3 -0
  418. package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.cpp +0 -1
  419. package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.hpp +3 -1
  420. package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.cpp +2 -1
  421. package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.hpp +10 -4
  422. package/nitrogen/generated/shared/c++/Orientation.hpp +2 -2
  423. package/nitrogen/generated/shared/c++/UnistyleDependency.hpp +2 -1
  424. package/nitrogen/generated/shared/c++/UnistylesCxxMiniRuntime.hpp +10 -9
  425. package/nitrogen/generated/shared/c++/UnistylesNativeMiniRuntime.hpp +9 -8
  426. package/package.json +24 -37
  427. package/plugin/common.js +27 -2
  428. package/plugin/import.js +29 -3
  429. package/plugin/index.js +104 -15
  430. package/plugin/ref.js +58 -44
  431. package/plugin/style.js +443 -9
  432. package/plugin/stylesheet.js +10 -3
  433. package/src/components/Display.tsx +12 -0
  434. package/src/components/Hide.tsx +12 -0
  435. package/src/components/Pressable.tsx +89 -0
  436. package/src/components/Pressable.web.tsx +129 -0
  437. package/src/components/index.ts +3 -0
  438. package/src/core/createUnistylesComponent.native.tsx +83 -0
  439. package/src/core/createUnistylesComponent.tsx +84 -0
  440. package/src/core/getBoundArgs.ts +15 -0
  441. package/src/core/getId.ts +1 -0
  442. package/src/core/index.ts +3 -0
  443. package/src/hooks/index.ts +1 -0
  444. package/src/hooks/useMedia.ts +64 -0
  445. package/src/hooks/useMedia.web.ts +47 -0
  446. package/src/index.ts +3 -12
  447. package/src/mq.ts +33 -15
  448. package/src/specs/NativePlatform/NativePlatform.nitro.ts +8 -6
  449. package/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.ts +0 -1
  450. package/src/specs/NavigtionBar/index.ts +1 -25
  451. package/src/specs/ShadowRegistry/index.ts +17 -12
  452. package/src/specs/ShadowRegistry/types.ts +6 -2
  453. package/src/specs/StatusBar/UnistylesStatusBar.nitro.ts +0 -1
  454. package/src/specs/StatusBar/index.ts +2 -12
  455. package/src/specs/StyleSheet/UnistylesStyleSheet.nitro.ts +4 -1
  456. package/src/specs/StyleSheet/index.ts +7 -3
  457. package/src/specs/TurboUnistyles/NativeTurboUnistyles.ts +1 -2
  458. package/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.ts +2 -2
  459. package/src/specs/UnistylesRuntime/index.ts +4 -3
  460. package/src/specs/index.ts +6 -2
  461. package/src/specs/index.web.ts +0 -4
  462. package/src/types/breakpoints.ts +25 -13
  463. package/src/types/common.ts +2 -0
  464. package/src/types/index.ts +2 -2
  465. package/src/types/stylesheet.ts +7 -5
  466. package/src/types/variants.ts +7 -1
  467. package/src/utils.ts +22 -0
  468. package/src/web/convert/index.ts +24 -24
  469. package/src/web/convert/object/boxShadow.ts +55 -0
  470. package/src/web/convert/object/filter.ts +39 -0
  471. package/src/web/convert/object/index.ts +3 -0
  472. package/src/web/convert/object/objectStyle.ts +69 -0
  473. package/src/web/convert/object/transform.ts +24 -0
  474. package/src/web/convert/pseudo.ts +137 -0
  475. package/src/web/convert/shadow/boxShadow.ts +50 -0
  476. package/src/web/convert/shadow/getShadowBreakpoints.ts +34 -0
  477. package/src/web/convert/shadow/index.ts +2 -0
  478. package/src/web/convert/shadow/textShadow.ts +48 -0
  479. package/src/web/convert/style.ts +61 -10
  480. package/src/web/convert/types.ts +8 -1
  481. package/src/web/convert/utils.ts +13 -7
  482. package/src/web/create.ts +35 -83
  483. package/src/web/index.ts +9 -4
  484. package/src/web/listener.ts +65 -0
  485. package/src/web/mock.ts +1 -12
  486. package/src/web/registry.ts +202 -28
  487. package/src/web/runtime.ts +29 -18
  488. package/src/web/shadowRegistry.ts +149 -0
  489. package/src/web/state.ts +52 -87
  490. package/src/web/utils/common.ts +45 -0
  491. package/src/web/utils/index.ts +2 -0
  492. package/src/web/utils/unistyle.ts +94 -0
  493. package/src/web/{variants/getVariants.ts → variants.ts} +2 -2
  494. package/android/src/main/cxx/helpers.cpp +0 -105
  495. package/android/src/main/cxx/helpers.h +0 -16
  496. package/android/src/main/cxx/platform.cpp +0 -170
  497. package/android/src/main/cxx/platform.h +0 -20
  498. package/lib/commonjs/web/convert/boxShadow.js.map +0 -1
  499. package/lib/commonjs/web/convert/breakpoint.js +0 -25
  500. package/lib/commonjs/web/convert/breakpoint.js.map +0 -1
  501. package/lib/commonjs/web/convert/shadow.js +0 -68
  502. package/lib/commonjs/web/convert/shadow.js.map +0 -1
  503. package/lib/commonjs/web/convert/textShadow.js.map +0 -1
  504. package/lib/commonjs/web/convert/transform.js +0 -72
  505. package/lib/commonjs/web/convert/transform.js.map +0 -1
  506. package/lib/commonjs/web/listener/index.js +0 -13
  507. package/lib/commonjs/web/listener/index.js.map +0 -1
  508. package/lib/commonjs/web/listener/listener.js +0 -36
  509. package/lib/commonjs/web/listener/listener.js.map +0 -1
  510. package/lib/commonjs/web/mq.js +0 -23
  511. package/lib/commonjs/web/mq.js.map +0 -1
  512. package/lib/commonjs/web/pseudo.js +0 -11
  513. package/lib/commonjs/web/pseudo.js.map +0 -1
  514. package/lib/commonjs/web/utils.js +0 -78
  515. package/lib/commonjs/web/utils.js.map +0 -1
  516. package/lib/commonjs/web/variants/getVariants.js.map +0 -1
  517. package/lib/commonjs/web/variants/index.js +0 -28
  518. package/lib/commonjs/web/variants/index.js.map +0 -1
  519. package/lib/commonjs/web/variants/useVariants.js +0 -75
  520. package/lib/commonjs/web/variants/useVariants.js.map +0 -1
  521. package/lib/module/web/convert/boxShadow.js +0 -72
  522. package/lib/module/web/convert/boxShadow.js.map +0 -1
  523. package/lib/module/web/convert/breakpoint.js +0 -20
  524. package/lib/module/web/convert/breakpoint.js.map +0 -1
  525. package/lib/module/web/convert/shadow.js +0 -63
  526. package/lib/module/web/convert/shadow.js.map +0 -1
  527. package/lib/module/web/convert/textShadow.js +0 -68
  528. package/lib/module/web/convert/textShadow.js.map +0 -1
  529. package/lib/module/web/convert/transform.js +0 -67
  530. package/lib/module/web/convert/transform.js.map +0 -1
  531. package/lib/module/web/listener/index.js +0 -4
  532. package/lib/module/web/listener/index.js.map +0 -1
  533. package/lib/module/web/listener/listener.js +0 -31
  534. package/lib/module/web/listener/listener.js.map +0 -1
  535. package/lib/module/web/mq.js +0 -17
  536. package/lib/module/web/mq.js.map +0 -1
  537. package/lib/module/web/pseudo.js +0 -6
  538. package/lib/module/web/pseudo.js.map +0 -1
  539. package/lib/module/web/utils.js +0 -65
  540. package/lib/module/web/utils.js.map +0 -1
  541. package/lib/module/web/variants/getVariants.js.map +0 -1
  542. package/lib/module/web/variants/index.js +0 -5
  543. package/lib/module/web/variants/index.js.map +0 -1
  544. package/lib/module/web/variants/useVariants.js +0 -70
  545. package/lib/module/web/variants/useVariants.js.map +0 -1
  546. package/lib/typescript/example/App.d.ts +0 -4
  547. package/lib/typescript/example/App.d.ts.map +0 -1
  548. package/lib/typescript/example/Typography.d.ts +0 -11
  549. package/lib/typescript/example/Typography.d.ts.map +0 -1
  550. package/lib/typescript/example/unistyles.d.ts +0 -63
  551. package/lib/typescript/example/unistyles.d.ts.map +0 -1
  552. package/lib/typescript/expo-example/App.d.ts +0 -4
  553. package/lib/typescript/expo-example/App.d.ts.map +0 -1
  554. package/lib/typescript/expo-example/unistyles.d.ts +0 -63
  555. package/lib/typescript/expo-example/unistyles.d.ts.map +0 -1
  556. package/lib/typescript/src/web/convert/boxShadow.d.ts +0 -3
  557. package/lib/typescript/src/web/convert/boxShadow.d.ts.map +0 -1
  558. package/lib/typescript/src/web/convert/breakpoint.d.ts +0 -3
  559. package/lib/typescript/src/web/convert/breakpoint.d.ts.map +0 -1
  560. package/lib/typescript/src/web/convert/shadow.d.ts +0 -2
  561. package/lib/typescript/src/web/convert/shadow.d.ts.map +0 -1
  562. package/lib/typescript/src/web/convert/textShadow.d.ts +0 -3
  563. package/lib/typescript/src/web/convert/textShadow.d.ts.map +0 -1
  564. package/lib/typescript/src/web/convert/transform.d.ts +0 -5
  565. package/lib/typescript/src/web/convert/transform.d.ts.map +0 -1
  566. package/lib/typescript/src/web/listener/index.d.ts +0 -2
  567. package/lib/typescript/src/web/listener/index.d.ts.map +0 -1
  568. package/lib/typescript/src/web/listener/listener.d.ts.map +0 -1
  569. package/lib/typescript/src/web/mq.d.ts +0 -4
  570. package/lib/typescript/src/web/mq.d.ts.map +0 -1
  571. package/lib/typescript/src/web/pseudo.d.ts +0 -4
  572. package/lib/typescript/src/web/pseudo.d.ts.map +0 -1
  573. package/lib/typescript/src/web/utils.d.ts +0 -20
  574. package/lib/typescript/src/web/utils.d.ts.map +0 -1
  575. package/lib/typescript/src/web/variants/getVariants.d.ts.map +0 -1
  576. package/lib/typescript/src/web/variants/index.d.ts +0 -3
  577. package/lib/typescript/src/web/variants/index.d.ts.map +0 -1
  578. package/lib/typescript/src/web/variants/useVariants.d.ts +0 -3
  579. package/lib/typescript/src/web/variants/useVariants.d.ts.map +0 -1
  580. package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency_.hpp +0 -60
  581. package/plugin/__tests__/dependencies.spec.js +0 -438
  582. package/plugin/__tests__/ref.spec.js +0 -1181
  583. package/plugin/__tests__/stylesheet.spec.js +0 -489
  584. package/src/web/convert/boxShadow.ts +0 -72
  585. package/src/web/convert/breakpoint.ts +0 -21
  586. package/src/web/convert/shadow.ts +0 -68
  587. package/src/web/convert/textShadow.ts +0 -69
  588. package/src/web/convert/transform.ts +0 -89
  589. package/src/web/listener/index.ts +0 -1
  590. package/src/web/listener/listener.ts +0 -33
  591. package/src/web/mq.ts +0 -19
  592. package/src/web/pseudo.ts +0 -11
  593. package/src/web/utils.ts +0 -95
  594. package/src/web/variants/index.ts +0 -2
  595. package/src/web/variants/useVariants.ts +0 -79
  596. /package/nitrogen/generated/android/{UnistylesOnLoad.kt → unistylesOnLoad.kt} +0 -0
@@ -1,489 +0,0 @@
1
- import { pluginTester } from 'babel-plugin-tester'
2
- import plugin from '../'
3
-
4
- pluginTester({
5
- plugin,
6
- pluginOptions: {
7
- debug: false
8
- },
9
- babelOptions: {
10
- plugins: ['@babel/plugin-syntax-jsx'],
11
- generatorOpts: {
12
- retainLines: true
13
- }
14
- },
15
- tests: [
16
- {
17
- title: 'Should not add dependencies to StyleSheet if user is not using theme or miniRuntime',
18
- code: `
19
- import { StyleSheet } from 'react-native-unistyles'
20
-
21
- export const Example = () => {
22
- return (
23
- <View style={styles.container}>
24
- <Text>Hello world</Text>
25
- </View>
26
- )
27
- }
28
-
29
- const styles = StyleSheet.create({
30
- container: {
31
- backgroundColor: 'red'
32
- }
33
- })
34
- `,
35
- output: `
36
- import { UnistylesShadowRegistry } from 'react-native-unistyles'
37
- import { StyleSheet } from 'react-native-unistyles'
38
-
39
- export const Example = () => {
40
- return (
41
- <View
42
- style={styles.container}
43
- ref={ref => {
44
- UnistylesShadowRegistry.add(ref, styles.container, undefined)
45
- return () => UnistylesShadowRegistry.remove(ref, styles.container)
46
- }}
47
- >
48
- <Text>Hello world</Text>
49
- </View>
50
- )
51
- }
52
-
53
- const styles = StyleSheet.create(
54
- {
55
- container: {
56
- backgroundColor: 'red'
57
- }
58
- },
59
- 793953373
60
- )
61
- `
62
- },
63
- {
64
- title: 'Should add dependencies to StyleSheet if user is using theme',
65
- code: `
66
- import { StyleSheet } from 'react-native-unistyles'
67
-
68
- export const Example = () => {
69
- return (
70
- <View style={styles.container}>
71
- <Text>Hello world</Text>
72
- </View>
73
- )
74
- }
75
-
76
- const styles = StyleSheet.create(theme => ({
77
- container: {
78
- backgroundColor: theme.colors.background
79
- }
80
- }))
81
- `,
82
- output: `
83
- import { UnistylesShadowRegistry } from 'react-native-unistyles'
84
- import { StyleSheet } from 'react-native-unistyles'
85
-
86
- export const Example = () => {
87
- return (
88
- <View
89
- style={styles.container}
90
- ref={ref => {
91
- UnistylesShadowRegistry.add(ref, styles.container, undefined)
92
- return () => UnistylesShadowRegistry.remove(ref, styles.container)
93
- }}
94
- >
95
- <Text>Hello world</Text>
96
- </View>
97
- )
98
- }
99
-
100
- const styles = StyleSheet.create(
101
- theme => ({
102
- container: {
103
- backgroundColor: theme.colors.background,
104
- uni__dependencies: [0]
105
- }
106
- }),
107
- 793953373
108
- )
109
- `
110
- },
111
- {
112
- title: 'Should add dependencies to StyleSheet even if user did rename import',
113
- code: `
114
- import { StyleSheet as ST } from 'react-native-unistyles'
115
-
116
- export const Example = () => {
117
- return (
118
- <View style={styles.container}>
119
- <Text>Hello world</Text>
120
- </View>
121
- )
122
- }
123
-
124
- const styles = ST.create(theme => ({
125
- container: {
126
- backgroundColor: theme.colors.background
127
- }
128
- }))
129
- `,
130
- output: `
131
- import { UnistylesShadowRegistry } from 'react-native-unistyles'
132
- import { StyleSheet as ST } from 'react-native-unistyles'
133
-
134
- export const Example = () => {
135
- return (
136
- <View
137
- style={styles.container}
138
- ref={ref => {
139
- UnistylesShadowRegistry.add(ref, styles.container, undefined)
140
- return () => UnistylesShadowRegistry.remove(ref, styles.container)
141
- }}
142
- >
143
- <Text>Hello world</Text>
144
- </View>
145
- )
146
- }
147
-
148
- const styles = ST.create(
149
- theme => ({
150
- container: {
151
- backgroundColor: theme.colors.background,
152
- uni__dependencies: [0]
153
- }
154
- }),
155
- 793953373
156
- )
157
- `
158
- },
159
- {
160
- title: 'Should detect variants for object StyleSheet',
161
- code: `
162
- import { StyleSheet } from 'react-native-unistyles'
163
-
164
- export const Example = () => {
165
- return (
166
- <View style={styles.container}>
167
- <Text>Hello world</Text>
168
- </View>
169
- )
170
- }
171
-
172
- const styles = StyleSheet.create({
173
- container: {
174
- backgroundColor: 'red',
175
- variants: {}
176
- }
177
- })
178
- `,
179
- output: `
180
- import { UnistylesShadowRegistry } from 'react-native-unistyles'
181
- import { StyleSheet } from 'react-native-unistyles'
182
-
183
- export const Example = () => {
184
- return (
185
- <View
186
- style={styles.container}
187
- ref={ref => {
188
- UnistylesShadowRegistry.add(ref, styles.container, undefined)
189
- return () => UnistylesShadowRegistry.remove(ref, styles.container)
190
- }}
191
- >
192
- <Text>Hello world</Text>
193
- </View>
194
- )
195
- }
196
-
197
- const styles = StyleSheet.create(
198
- {
199
- container: {
200
- backgroundColor: 'red',
201
- variants: {},
202
- uni__dependencies: [4]
203
- }
204
- },
205
- 793953373
206
- )
207
- `
208
- },
209
- {
210
- title: 'Should detect variants for object StyleSheet and dynamic function',
211
- code: `
212
- import { StyleSheet } from 'react-native-unistyles'
213
-
214
- export const Example = () => {
215
- return (
216
- <View style={styles.container}>
217
- <Text>Hello world</Text>
218
- </View>
219
- )
220
- }
221
-
222
- const styles = StyleSheet.create({
223
- container: () => ({
224
- backgroundColor: 'red',
225
- variants: {}
226
- })
227
- })
228
- `,
229
- output: `
230
- import { UnistylesShadowRegistry } from 'react-native-unistyles'
231
- import { StyleSheet } from 'react-native-unistyles'
232
-
233
- export const Example = () => {
234
- return (
235
- <View
236
- style={styles.container}
237
- ref={ref => {
238
- UnistylesShadowRegistry.add(ref, styles.container, undefined)
239
- return () => UnistylesShadowRegistry.remove(ref, styles.container)
240
- }}
241
- >
242
- <Text>Hello world</Text>
243
- </View>
244
- )
245
- }
246
-
247
- const styles = StyleSheet.create(
248
- {
249
- container: () => ({
250
- backgroundColor: 'red',
251
- variants: {},
252
- uni__dependencies: [4]
253
- })
254
- },
255
- 793953373
256
- )
257
- `
258
- },
259
- {
260
- title: 'Should detect miniRuntime dependency',
261
- code: `
262
- import { StyleSheet } from 'react-native-unistyles'
263
-
264
- export const Example = () => {
265
- return (
266
- <View style={styles.container}>
267
- <Text>Hello world</Text>
268
- </View>
269
- )
270
- }
271
-
272
- const styles = StyleSheet.create((_, rt) => ({
273
- container: () => ({
274
- backgroundColor: 'red',
275
- variants: {},
276
- paddingTop: rt.insets.top
277
- })
278
- }))
279
- `,
280
- output: `
281
- import { UnistylesShadowRegistry } from 'react-native-unistyles'
282
- import { StyleSheet } from 'react-native-unistyles'
283
-
284
- export const Example = () => {
285
- return (
286
- <View
287
- style={styles.container}
288
- ref={ref => {
289
- UnistylesShadowRegistry.add(ref, styles.container, undefined)
290
- return () => UnistylesShadowRegistry.remove(ref, styles.container)
291
- }}
292
- >
293
- <Text>Hello world</Text>
294
- </View>
295
- )
296
- }
297
-
298
- const styles = StyleSheet.create(
299
- (_, rt) => ({
300
- container: () => ({
301
- backgroundColor: 'red',
302
- variants: {},
303
- paddingTop: rt.insets.top,
304
- uni__dependencies: [4, 9]
305
- })
306
- }),
307
- 793953373
308
- )
309
- `
310
- },
311
- {
312
- title: 'Should detect miniRuntime and theme dependencies even if user renamed it\'s names',
313
- code: `
314
- import { StyleSheet } from 'react-native-unistyles'
315
-
316
- export const Example = () => {
317
- return (
318
- <View style={styles.container}>
319
- <Text>Hello world</Text>
320
- </View>
321
- )
322
- }
323
-
324
- const styles = StyleSheet.create((hhsa, dee) => ({
325
- container: () => ({
326
- backgroundColor: hhsa.colors.background,
327
- variants: {},
328
- paddingTop: dee.colorScheme === 'dark' ? 0 : 10
329
- })
330
- }))
331
- `,
332
- output: `
333
- import { UnistylesShadowRegistry } from 'react-native-unistyles'
334
- import { StyleSheet } from 'react-native-unistyles'
335
-
336
- export const Example = () => {
337
- return (
338
- <View
339
- style={styles.container}
340
- ref={ref => {
341
- UnistylesShadowRegistry.add(ref, styles.container, undefined)
342
- return () => UnistylesShadowRegistry.remove(ref, styles.container)
343
- }}
344
- >
345
- <Text>Hello world</Text>
346
- </View>
347
- )
348
- }
349
-
350
- const styles = StyleSheet.create(
351
- (hhsa, dee) => ({
352
- container: () => ({
353
- backgroundColor: hhsa.colors.background,
354
- variants: {},
355
- paddingTop: dee.colorScheme === 'dark' ? 0 : 10,
356
- uni__dependencies: [0, 4, 5]
357
- })
358
- }),
359
- 793953373
360
- )
361
- `
362
- },
363
- {
364
- title: 'Should detect dependencies in function',
365
- code: `
366
- import { StyleSheet } from 'react-native-unistyles'
367
-
368
- export const Example = () => {
369
- return (
370
- <View style={styles.container}>
371
- <Text>Hello world</Text>
372
- </View>
373
- )
374
- }
375
-
376
- const styles = StyleSheet.create((theme, rt) => {
377
- return {
378
- container: () => ({
379
- backgroundColor: theme.colors.background,
380
- variants: {},
381
- paddingTop: rt.insets.top
382
- })
383
- }
384
- })
385
- `,
386
- output: `
387
- import { UnistylesShadowRegistry } from 'react-native-unistyles'
388
- import { StyleSheet } from 'react-native-unistyles'
389
-
390
- export const Example = () => {
391
- return (
392
- <View
393
- style={styles.container}
394
- ref={ref => {
395
- UnistylesShadowRegistry.add(ref, styles.container, undefined)
396
- return () => UnistylesShadowRegistry.remove(ref, styles.container)
397
- }}
398
- >
399
- <Text>Hello world</Text>
400
- </View>
401
- )
402
- }
403
-
404
- const styles = StyleSheet.create((theme, rt) => {
405
- return {
406
- container: () => ({
407
- backgroundColor: theme.colors.background,
408
- variants: {},
409
- paddingTop: rt.insets.top,
410
- uni__dependencies: [0, 4, 9]
411
- })
412
- }
413
- }, 793953373)
414
- `
415
- },
416
- {
417
- title: 'Should generates two different ids for 2 stylesheets in the same file',
418
- code: `
419
- import { StyleSheet } from 'react-native-unistyles'
420
-
421
- export const Example = () => {
422
- return (
423
- <View style={styles.container}>
424
- <Text>Hello world</Text>
425
- </View>
426
- )
427
- }
428
-
429
- const styles = StyleSheet.create((theme, rt) => {
430
- return {
431
- container: () => ({
432
- backgroundColor: theme.colors.background,
433
- variants: {},
434
- paddingTop: rt.insets.top
435
- })
436
- }
437
- })
438
- const styles2 = StyleSheet.create((theme, rt) => {
439
- return {
440
- container: () => ({
441
- backgroundColor: theme.colors.background,
442
- variants: {},
443
- paddingTop: rt.insets.top
444
- })
445
- }
446
- })
447
- `,
448
- output: `
449
- import { UnistylesShadowRegistry } from 'react-native-unistyles'
450
- import { StyleSheet } from 'react-native-unistyles'
451
-
452
- export const Example = () => {
453
- return (
454
- <View
455
- style={styles.container}
456
- ref={ref => {
457
- UnistylesShadowRegistry.add(ref, styles.container, undefined)
458
- return () => UnistylesShadowRegistry.remove(ref, styles.container)
459
- }}
460
- >
461
- <Text>Hello world</Text>
462
- </View>
463
- )
464
- }
465
-
466
- const styles = StyleSheet.create((theme, rt) => {
467
- return {
468
- container: () => ({
469
- backgroundColor: theme.colors.background,
470
- variants: {},
471
- paddingTop: rt.insets.top,
472
- uni__dependencies: [0, 4, 9]
473
- })
474
- }
475
- }, 793953373)
476
- const styles2 = StyleSheet.create((theme, rt) => {
477
- return {
478
- container: () => ({
479
- backgroundColor: theme.colors.background,
480
- variants: {},
481
- paddingTop: rt.insets.top,
482
- uni__dependencies: [0, 4, 9]
483
- })
484
- }
485
- }, 793953374)
486
- `
487
- },
488
- ]
489
- })
@@ -1,72 +0,0 @@
1
- import { media } from 'typestyle'
2
- import type { NestedCSSProperties } from 'typestyle/lib/types'
3
- import { deepMergeObjects, warn } from '../utils'
4
- import { validateShadow } from './shadow'
5
- import { convertBreakpoint } from './breakpoint'
6
- import { BOX_SHADOW_STYLES, type BoxShadow } from './types'
7
- import { extractShadowValue, normalizeColor, normalizeNumericValue } from './utils'
8
-
9
- const createBoxShadowValue = (style: BoxShadow) => {
10
- // at this point every prop is present
11
- const { shadowColor, shadowOffset, shadowOpacity, shadowRadius } = style
12
- const offsetX = normalizeNumericValue(shadowOffset.width)
13
- const offsetY = normalizeNumericValue(shadowOffset.height)
14
- const radius = normalizeNumericValue(shadowRadius)
15
- const color = normalizeColor(shadowColor as string, shadowOpacity as number)
16
-
17
- return `${offsetX} ${offsetY} ${radius} ${color}`
18
- }
19
-
20
- export const getBoxShadowStyle = (styles: Record<string, any>): NestedCSSProperties => {
21
- const missingStyles = BOX_SHADOW_STYLES.filter(key => !(key in styles))
22
-
23
- if (missingStyles.length) {
24
- warn(`can't apply box shadow as you miss these properties: ${missingStyles.join(', ')}`)
25
-
26
- return {}
27
- }
28
-
29
- const breakpointsSet = new Set<string>()
30
-
31
- try {
32
- validateShadow(BOX_SHADOW_STYLES, styles, breakpointsSet)
33
- } catch (error) {
34
- if (typeof error === 'string') {
35
- warn(error)
36
- }
37
-
38
- return {}
39
- }
40
-
41
- const breakpoints = Array.from(breakpointsSet)
42
-
43
- // If no breakpoints were used return styles without media queries
44
- if (breakpoints.length === 0) {
45
- return {
46
- boxShadow: createBoxShadowValue(styles as BoxShadow)
47
- }
48
- }
49
-
50
- // Create boxShadow for each breakpoint
51
- const breakpointStyles = breakpoints.map(breakpoint => {
52
- const color = extractShadowValue('shadowColor', breakpoint, styles)
53
- const { width, height } = extractShadowValue('shadowOffset', breakpoint, styles)
54
- const radius = extractShadowValue('shadowRadius', breakpoint, styles)
55
- const opacity = extractShadowValue('shadowOpacity', breakpoint, styles)
56
-
57
- return media(convertBreakpoint(breakpoint), {
58
- boxShadow: createBoxShadowValue({
59
- shadowColor: color,
60
- shadowOffset: {
61
- width,
62
- height
63
- },
64
- shadowRadius: radius,
65
- shadowOpacity: opacity
66
- })
67
- })
68
- })
69
-
70
- // Merge all breakpoints styles into one
71
- return deepMergeObjects(...breakpointStyles)
72
- }
@@ -1,21 +0,0 @@
1
- import type { MediaQuery } from 'typestyle/lib/types'
2
- import { UnistylesState } from '../state'
3
- import { keyInObject } from '../utils'
4
- import { isUnistylesMq, parseMq } from '../mq'
5
- import { Orientation } from '../../specs/types'
6
-
7
- export const convertBreakpoint = (breakpoint: string): MediaQuery => {
8
- if (Object.values(Orientation).includes(breakpoint as Orientation)) {
9
- return {
10
- orientation: breakpoint as Orientation
11
- }
12
- }
13
-
14
- if (isUnistylesMq(breakpoint)) {
15
- return parseMq(breakpoint)
16
- }
17
-
18
- return {
19
- minWidth: UnistylesState.breakpoints && keyInObject(UnistylesState.breakpoints, breakpoint) ? UnistylesState.breakpoints[breakpoint] : undefined,
20
- }
21
- }
@@ -1,68 +0,0 @@
1
- import type { ShadowOffset } from './types'
2
-
3
- export const validateShadow = (shadowProperties: ReadonlyArray<string>, styles: Record<string, any>, breakpoints: Set<string>) => {
4
- // Collect breakpoints
5
- shadowProperties.forEach(key => {
6
- const value = styles[key]
7
-
8
- if (typeof value !== 'object') {
9
- return
10
- }
11
-
12
- if (key === 'shadowOffset' || key === 'textShadowOffset') {
13
- const { width, height } = value as ShadowOffset
14
-
15
- // If shadowOffset.width has breakpoints
16
- if (typeof width === 'object') {
17
- Object.keys(width).forEach(breakpoint => breakpoints.add(breakpoint))
18
- }
19
-
20
- // If shadowOffset.height has breakpoints
21
- if (typeof height === 'object') {
22
- Object.keys(height).forEach(breakpoint => breakpoints.add(breakpoint))
23
- }
24
-
25
- return
26
- }
27
-
28
- // Collect regular breakpoints
29
- Object.keys(value).forEach(breakpoint => breakpoints.add(breakpoint))
30
- })
31
-
32
- // Validate if all breakpoints are present
33
- shadowProperties.forEach(key => {
34
- const value = styles[key]
35
-
36
- if (typeof value !== 'object') {
37
- return
38
- }
39
-
40
- if (key === 'shadowOffset' || key === 'textShadowOffset') {
41
- const { width, height } = value as ShadowOffset
42
-
43
- if (typeof width === 'object') {
44
- const missingBreakpoints = Array.from(breakpoints).filter(breakpoint => !(breakpoint in width))
45
-
46
- if (missingBreakpoints.length) {
47
- throw `missing breakpoints in ${key}.width: ${missingBreakpoints.join(', ')}`
48
- }
49
- }
50
-
51
- if (typeof height === 'object') {
52
- const missingBreakpoints = Array.from(breakpoints).filter(breakpoint => !(breakpoint in height))
53
-
54
- if (missingBreakpoints.length) {
55
- throw `missing breakpoints in ${key}.height: ${missingBreakpoints.join(', ')}`
56
- }
57
- }
58
-
59
- return
60
- }
61
-
62
- const missingBreakpoints = Array.from(breakpoints).filter(breakpoint => !(breakpoint in value))
63
-
64
- if (missingBreakpoints.length) {
65
- throw `missing breakpoints in ${key}: ${missingBreakpoints.join(', ')}`
66
- }
67
- })
68
- }