react-native-unistyles 3.0.0-alpha.3 → 3.0.0-alpha.30

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 (541) hide show
  1. package/README.md +7 -0
  2. package/android/CMakeLists.txt +12 -21
  3. package/cxx/common/Constants.h +3 -0
  4. package/cxx/common/Helpers.h +118 -5
  5. package/cxx/core/HostStyle.cpp +12 -8
  6. package/cxx/core/HostStyle.h +4 -0
  7. package/cxx/core/StyleSheet.h +0 -2
  8. package/cxx/core/StyleSheetRegistry.cpp +10 -13
  9. package/cxx/core/StyleSheetRegistry.h +4 -4
  10. package/cxx/core/Unistyle.h +7 -10
  11. package/cxx/core/UnistyleData.h +23 -0
  12. package/cxx/core/UnistyleWrapper.h +61 -12
  13. package/cxx/core/UnistylesCommitHook.cpp +17 -16
  14. package/cxx/core/UnistylesCommitHook.h +7 -11
  15. package/cxx/core/UnistylesCommitShadowNode.h +13 -0
  16. package/cxx/core/UnistylesMountHook.cpp +26 -0
  17. package/cxx/core/UnistylesMountHook.h +24 -0
  18. package/cxx/core/UnistylesRegistry.cpp +85 -88
  19. package/cxx/core/UnistylesRegistry.h +16 -13
  20. package/cxx/core/UnistylesState.cpp +29 -11
  21. package/cxx/core/UnistylesState.h +5 -2
  22. package/cxx/hybridObjects/HybridShadowRegistry.cpp +15 -13
  23. package/cxx/hybridObjects/HybridStyleSheet.cpp +144 -46
  24. package/cxx/hybridObjects/HybridStyleSheet.h +23 -4
  25. package/cxx/hybridObjects/HybridUnistylesRuntime.cpp +51 -8
  26. package/cxx/hybridObjects/HybridUnistylesRuntime.h +12 -1
  27. package/cxx/parser/Parser.cpp +209 -176
  28. package/cxx/parser/Parser.h +10 -14
  29. package/cxx/shadowTree/ShadowLeafUpdate.h +1 -1
  30. package/cxx/shadowTree/ShadowTrafficController.h +37 -0
  31. package/cxx/shadowTree/ShadowTreeManager.cpp +16 -15
  32. package/cxx/shadowTree/ShadowTreeManager.h +2 -1
  33. package/ios/Equatable.swift +2 -1
  34. package/ios/NativePlatform+ios.swift +21 -5
  35. package/ios/NativePlatform+keyboard.swift +83 -0
  36. package/ios/NativePlatformListener+ios.swift +36 -23
  37. package/ios/Unistyles.h +1 -0
  38. package/ios/UnistylesModuleOnLoad.h +13 -2
  39. package/ios/UnistylesModuleOnLoad.mm +11 -1
  40. package/lib/commonjs/common.js.map +1 -1
  41. package/lib/commonjs/core/createUnistylesComponent.js +18 -0
  42. package/lib/commonjs/core/createUnistylesComponent.js.map +1 -0
  43. package/lib/commonjs/core/createUnistylesComponent.native.js +45 -0
  44. package/lib/commonjs/core/createUnistylesComponent.native.js.map +2 -0
  45. package/lib/commonjs/core/index.js +27 -0
  46. package/lib/commonjs/core/index.js.map +1 -0
  47. package/lib/commonjs/core/useBreakpoint.js +22 -0
  48. package/lib/commonjs/core/useBreakpoint.js.map +1 -0
  49. package/lib/commonjs/core/useBreakpoint.native.js +24 -0
  50. package/lib/commonjs/core/useBreakpoint.native.js.map +2 -0
  51. package/lib/commonjs/core/useTheme.js +22 -0
  52. package/lib/commonjs/core/useTheme.js.map +2 -0
  53. package/lib/commonjs/core/useTheme.native.js +24 -0
  54. package/lib/commonjs/core/useTheme.native.js.map +2 -0
  55. package/lib/commonjs/global.js +3 -0
  56. package/lib/commonjs/index.js +23 -11
  57. package/lib/commonjs/index.js.map +1 -1
  58. package/lib/commonjs/mq.js +1 -4
  59. package/lib/commonjs/mq.js.map +2 -1
  60. package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js +6 -4
  61. package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js.map +1 -1
  62. package/lib/commonjs/specs/NativePlatform/index.js.map +1 -1
  63. package/lib/commonjs/specs/NavigtionBar/index.js +1 -1
  64. package/lib/commonjs/specs/NavigtionBar/index.js.map +1 -1
  65. package/lib/commonjs/specs/ShadowRegistry/ShadowRegistry.nitro.js.map +1 -1
  66. package/lib/commonjs/specs/ShadowRegistry/index.js +7 -6
  67. package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
  68. package/lib/commonjs/specs/ShadowRegistry/types.js +3 -0
  69. package/lib/commonjs/specs/StatusBar/UnistylesStatusBar.nitro.js.map +1 -1
  70. package/lib/commonjs/specs/StatusBar/index.js +1 -1
  71. package/lib/commonjs/specs/StatusBar/index.js.map +2 -1
  72. package/lib/commonjs/specs/StyleSheet/UnistylesStyleSheet.nitro.js +2 -4
  73. package/lib/commonjs/specs/StyleSheet/UnistylesStyleSheet.nitro.js.map +1 -1
  74. package/lib/commonjs/specs/StyleSheet/index.js +1 -0
  75. package/lib/commonjs/specs/StyleSheet/index.js.map +1 -1
  76. package/lib/commonjs/specs/TurboUnistyles/NativeTurboUnistyles.js +1 -3
  77. package/lib/commonjs/specs/TurboUnistyles/NativeTurboUnistyles.js.map +2 -1
  78. package/lib/commonjs/specs/UnistylesRuntime/index.js +1 -1
  79. package/lib/commonjs/specs/UnistylesRuntime/index.js.map +1 -1
  80. package/lib/commonjs/specs/index.js +7 -0
  81. package/lib/commonjs/specs/index.js.map +1 -1
  82. package/lib/commonjs/specs/index.web.js +1 -1
  83. package/lib/commonjs/specs/types.js.map +1 -0
  84. package/lib/commonjs/types/accessibility.js +9 -9
  85. package/lib/commonjs/types/accessibility.js.map +1 -1
  86. package/lib/commonjs/types/common.js +3 -0
  87. package/lib/commonjs/types/core.js.map +1 -1
  88. package/lib/commonjs/types/index.js.map +2 -1
  89. package/lib/commonjs/types/stylesheet.js +1 -2
  90. package/lib/commonjs/types/stylesheet.js.map +1 -1
  91. package/lib/commonjs/web/convert/boxShadow.js +77 -0
  92. package/lib/commonjs/web/convert/boxShadow.js.map +1 -0
  93. package/lib/commonjs/web/convert/index.js +68 -0
  94. package/lib/commonjs/web/convert/index.js.map +2 -0
  95. package/lib/commonjs/web/convert/module.d.js +2 -0
  96. package/lib/commonjs/web/convert/module.d.js.map +1 -0
  97. package/lib/commonjs/web/convert/pseudo.js +10 -0
  98. package/lib/commonjs/web/convert/pseudo.js.map +2 -0
  99. package/lib/commonjs/web/convert/shadow.js +68 -0
  100. package/lib/commonjs/web/convert/shadow.js.map +2 -0
  101. package/lib/commonjs/web/convert/style.js +93 -0
  102. package/lib/commonjs/web/convert/style.js.map +2 -0
  103. package/lib/commonjs/web/convert/textShadow.js +70 -0
  104. package/lib/commonjs/web/convert/textShadow.js.map +2 -0
  105. package/lib/commonjs/web/convert/transform.js +72 -0
  106. package/lib/commonjs/web/convert/transform.js.map +2 -0
  107. package/lib/commonjs/web/convert/types.js +9 -0
  108. package/lib/commonjs/web/convert/types.js.map +1 -0
  109. package/lib/commonjs/web/convert/utils.js +54 -0
  110. package/lib/commonjs/web/convert/utils.js.map +2 -0
  111. package/lib/commonjs/web/create.js +48 -0
  112. package/lib/commonjs/web/create.js.map +1 -0
  113. package/lib/commonjs/web/index.js +60 -0
  114. package/lib/commonjs/web/index.js.map +2 -0
  115. package/lib/commonjs/web/listener.js +35 -0
  116. package/lib/commonjs/web/listener.js.map +2 -0
  117. package/lib/commonjs/web/mock.js +28 -0
  118. package/lib/commonjs/web/mock.js.map +2 -0
  119. package/lib/commonjs/web/mq.js +23 -0
  120. package/lib/commonjs/web/mq.js.map +1 -0
  121. package/lib/commonjs/web/registry.js +183 -0
  122. package/lib/commonjs/web/registry.js.map +2 -0
  123. package/lib/commonjs/web/runtime.js +167 -0
  124. package/lib/commonjs/web/runtime.js.map +2 -0
  125. package/lib/commonjs/web/shadowRegistry.js +114 -0
  126. package/lib/commonjs/web/shadowRegistry.js.map +2 -0
  127. package/lib/commonjs/web/state.js +69 -0
  128. package/lib/commonjs/web/state.js.map +2 -0
  129. package/lib/commonjs/web/utils/common.js +90 -0
  130. package/lib/commonjs/web/utils/common.js.map +2 -0
  131. package/lib/commonjs/web/utils/index.js +28 -0
  132. package/lib/commonjs/web/utils/index.js.map +1 -0
  133. package/lib/commonjs/web/utils/unistyle.js +82 -0
  134. package/lib/commonjs/web/utils/unistyle.js.map +2 -0
  135. package/lib/commonjs/web/variants/getVariants.js +39 -0
  136. package/lib/commonjs/web/variants/getVariants.js.map +1 -0
  137. package/lib/commonjs/web/variants/index.js +28 -0
  138. package/lib/commonjs/web/variants/index.js.map +1 -0
  139. package/lib/commonjs/web/variants/useVariants.js +58 -0
  140. package/lib/commonjs/web/variants/useVariants.js.map +2 -0
  141. package/lib/module/core/createUnistylesComponent.js +11 -0
  142. package/lib/module/core/createUnistylesComponent.js.map +2 -0
  143. package/lib/module/core/createUnistylesComponent.native.js +39 -0
  144. package/lib/module/core/createUnistylesComponent.native.js.map +1 -0
  145. package/lib/module/core/index.js +6 -0
  146. package/lib/module/core/index.js.map +1 -0
  147. package/lib/module/core/useBreakpoint.js +17 -0
  148. package/lib/module/core/useBreakpoint.js.map +1 -0
  149. package/lib/module/core/useBreakpoint.native.js +19 -0
  150. package/lib/module/core/useBreakpoint.native.js.map +2 -0
  151. package/lib/module/core/useTheme.js +17 -0
  152. package/lib/module/core/useTheme.js.map +2 -0
  153. package/lib/module/core/useTheme.native.js +19 -0
  154. package/lib/module/core/useTheme.native.js.map +2 -0
  155. package/lib/module/global.js +1 -1
  156. package/lib/module/global.js.map +1 -0
  157. package/lib/module/index.js +1 -9
  158. package/lib/module/index.js.map +1 -1
  159. package/lib/module/mq.js +1 -4
  160. package/lib/module/mq.js.map +2 -1
  161. package/lib/module/specs/NativePlatform/NativePlatform.nitro.js +1 -0
  162. package/lib/module/specs/NativePlatform/NativePlatform.nitro.js.map +2 -1
  163. package/lib/module/specs/NativePlatform/index.js.map +1 -1
  164. package/lib/module/specs/NavigtionBar/UnistylesNavigationBar.nitro.js.map +1 -1
  165. package/lib/module/specs/NavigtionBar/index.js +1 -1
  166. package/lib/module/specs/NavigtionBar/index.js.map +2 -1
  167. package/lib/module/specs/ShadowRegistry/ShadowRegistry.nitro.js.map +1 -1
  168. package/lib/module/specs/ShadowRegistry/index.js +7 -6
  169. package/lib/module/specs/ShadowRegistry/index.js.map +2 -1
  170. package/lib/module/specs/ShadowRegistry/types.js +2 -0
  171. package/lib/module/specs/ShadowRegistry/types.js.map +1 -0
  172. package/lib/module/specs/StatusBar/UnistylesStatusBar.nitro.js.map +1 -1
  173. package/lib/module/specs/StatusBar/index.js +1 -1
  174. package/lib/module/specs/StatusBar/index.js.map +1 -1
  175. package/lib/module/specs/StyleSheet/index.js +1 -0
  176. package/lib/module/specs/StyleSheet/index.js.map +2 -1
  177. package/lib/module/specs/TurboUnistyles/NativeTurboUnistyles.js.map +2 -1
  178. package/lib/module/specs/UnistylesRuntime/UnistylesRuntime.nitro.js.map +1 -0
  179. package/lib/module/specs/UnistylesRuntime/index.js +1 -1
  180. package/lib/module/specs/UnistylesRuntime/index.js.map +1 -1
  181. package/lib/module/specs/index.js +2 -1
  182. package/lib/module/specs/index.js.map +1 -1
  183. package/lib/module/specs/index.web.js +1 -1
  184. package/lib/module/specs/index.web.js.map +2 -1
  185. package/lib/module/specs/types.js +10 -10
  186. package/lib/module/specs/types.js.map +1 -1
  187. package/lib/module/types/accessibility.js +1 -1
  188. package/lib/module/types/accessibility.js.map +1 -0
  189. package/lib/module/types/breakpoints.js.map +1 -0
  190. package/lib/module/types/common.js +1 -1
  191. package/lib/module/types/common.js.map +1 -0
  192. package/lib/module/types/core.js.map +1 -1
  193. package/lib/module/types/index.js.map +2 -1
  194. package/lib/module/types/stylesheet.js.map +1 -1
  195. package/lib/module/types/variants.js.map +1 -0
  196. package/lib/module/web/convert/boxShadow.js +72 -0
  197. package/lib/module/web/convert/boxShadow.js.map +1 -0
  198. package/lib/module/web/convert/index.js +69 -0
  199. package/lib/module/web/convert/index.js.map +2 -0
  200. package/lib/module/web/convert/module.d.js +2 -0
  201. package/lib/module/web/convert/module.d.js.map +1 -0
  202. package/lib/module/web/convert/pseudo.js +5 -0
  203. package/lib/module/web/convert/pseudo.js.map +2 -0
  204. package/lib/module/web/convert/shadow.js +59 -0
  205. package/lib/module/web/convert/shadow.js.map +1 -0
  206. package/lib/module/web/convert/style.js +88 -0
  207. package/lib/module/web/convert/style.js.map +1 -0
  208. package/lib/module/web/convert/textShadow.js +68 -0
  209. package/lib/module/web/convert/textShadow.js.map +1 -0
  210. package/lib/module/web/convert/transform.js +67 -0
  211. package/lib/module/web/convert/transform.js.map +1 -0
  212. package/lib/module/web/convert/types.js +5 -0
  213. package/lib/module/web/convert/types.js.map +1 -0
  214. package/lib/module/web/convert/utils.js +42 -0
  215. package/lib/module/web/convert/utils.js.map +1 -0
  216. package/lib/module/web/create.js +43 -0
  217. package/lib/module/web/create.js.map +1 -0
  218. package/lib/module/web/index.js +25 -0
  219. package/lib/module/web/index.js.map +2 -0
  220. package/lib/module/web/listener.js +31 -0
  221. package/lib/module/web/listener.js.map +2 -0
  222. package/lib/module/web/mock.js +24 -0
  223. package/lib/module/web/mock.js.map +2 -0
  224. package/lib/module/web/mq.js +17 -0
  225. package/lib/module/web/mq.js.map +1 -0
  226. package/lib/module/web/registry.js +181 -0
  227. package/lib/module/web/registry.js.map +1 -0
  228. package/lib/module/web/runtime.js +163 -0
  229. package/lib/module/web/runtime.js.map +1 -0
  230. package/lib/module/web/shadowRegistry.js +118 -0
  231. package/lib/module/web/shadowRegistry.js.map +1 -0
  232. package/lib/module/web/state.js +65 -0
  233. package/lib/module/web/state.js.map +2 -0
  234. package/lib/module/web/utils/common.js +80 -0
  235. package/lib/module/web/utils/common.js.map +1 -0
  236. package/lib/module/web/utils/index.js +5 -0
  237. package/lib/module/web/utils/index.js.map +1 -0
  238. package/lib/module/web/utils/unistyle.js +69 -0
  239. package/lib/module/web/utils/unistyle.js.map +1 -0
  240. package/lib/module/web/variants/getVariants.js +34 -0
  241. package/lib/module/web/variants/getVariants.js.map +2 -0
  242. package/lib/module/web/variants/index.js +5 -0
  243. package/lib/module/web/variants/index.js.map +1 -0
  244. package/lib/module/web/variants/useVariants.js +53 -0
  245. package/lib/module/web/variants/useVariants.js.map +2 -0
  246. package/lib/typescript/src/core/createUnistylesComponent.d.ts +6 -0
  247. package/lib/typescript/src/core/createUnistylesComponent.d.ts.map +1 -0
  248. package/lib/typescript/src/core/createUnistylesComponent.native.d.ts +6 -0
  249. package/lib/typescript/src/core/createUnistylesComponent.native.d.ts.map +1 -0
  250. package/lib/typescript/src/core/index.d.ts +4 -0
  251. package/lib/typescript/src/core/index.d.ts.map +1 -0
  252. package/lib/typescript/src/core/useBreakpoint.d.ts +2 -0
  253. package/lib/typescript/src/core/useBreakpoint.d.ts.map +1 -0
  254. package/lib/typescript/src/core/useBreakpoint.native.d.ts +2 -0
  255. package/lib/typescript/src/core/useBreakpoint.native.d.ts.map +1 -0
  256. package/lib/typescript/src/core/useTheme.d.ts +3 -0
  257. package/lib/typescript/src/core/useTheme.d.ts.map +1 -0
  258. package/lib/typescript/src/core/useTheme.native.d.ts +3 -0
  259. package/lib/typescript/src/core/useTheme.native.d.ts.map +1 -0
  260. package/lib/typescript/src/index.d.ts +2 -0
  261. package/lib/typescript/src/index.d.ts.map +1 -1
  262. package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts +6 -2
  263. package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts.map +1 -1
  264. package/lib/typescript/src/specs/NavigtionBar/index.d.ts +5 -0
  265. package/lib/typescript/src/specs/NavigtionBar/index.d.ts.map +1 -1
  266. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts +3 -3
  267. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
  268. package/lib/typescript/src/specs/StatusBar/index.d.ts +5 -0
  269. package/lib/typescript/src/specs/StatusBar/index.d.ts.map +1 -1
  270. package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts +3 -1
  271. package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts.map +1 -1
  272. package/lib/typescript/src/specs/StyleSheet/index.d.ts +3 -1
  273. package/lib/typescript/src/specs/StyleSheet/index.d.ts.map +1 -1
  274. package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts +0 -1
  275. package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts.map +1 -1
  276. package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts +3 -1
  277. package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts.map +1 -1
  278. package/lib/typescript/src/specs/index.d.ts +4 -2
  279. package/lib/typescript/src/specs/index.d.ts.map +1 -1
  280. package/lib/typescript/src/specs/index.web.d.ts +1 -1
  281. package/lib/typescript/src/specs/index.web.d.ts.map +1 -1
  282. package/lib/typescript/src/types/breakpoints.d.ts +11 -11
  283. package/lib/typescript/src/types/breakpoints.d.ts.map +1 -1
  284. package/lib/typescript/src/types/index.d.ts +1 -1
  285. package/lib/typescript/src/types/index.d.ts.map +1 -1
  286. package/lib/typescript/src/types/stylesheet.d.ts +6 -4
  287. package/lib/typescript/src/types/stylesheet.d.ts.map +1 -1
  288. package/lib/typescript/src/types/variants.d.ts +4 -1
  289. package/lib/typescript/src/types/variants.d.ts.map +1 -1
  290. package/lib/typescript/src/web/convert/boxShadow.d.ts +8 -0
  291. package/lib/typescript/src/web/convert/boxShadow.d.ts.map +1 -0
  292. package/lib/typescript/src/web/convert/index.d.ts +3 -0
  293. package/lib/typescript/src/web/convert/index.d.ts.map +1 -0
  294. package/lib/typescript/src/web/convert/pseudo.d.ts +6 -0
  295. package/lib/typescript/src/web/convert/pseudo.d.ts.map +1 -0
  296. package/lib/typescript/src/web/convert/shadow.d.ts.map +1 -0
  297. package/lib/typescript/src/web/convert/style.d.ts +2 -0
  298. package/lib/typescript/src/web/convert/style.d.ts.map +1 -0
  299. package/lib/typescript/src/web/convert/textShadow.d.ts +8 -0
  300. package/lib/typescript/src/web/convert/textShadow.d.ts.map +1 -0
  301. package/lib/typescript/src/web/convert/transform.d.ts +4 -0
  302. package/lib/typescript/src/web/convert/transform.d.ts.map +1 -0
  303. package/lib/typescript/{web → src/web}/convert/types.d.ts +1 -1
  304. package/lib/typescript/src/web/convert/types.d.ts.map +1 -0
  305. package/lib/typescript/src/web/convert/utils.d.ts.map +1 -0
  306. package/lib/typescript/src/web/create.d.ts +1443 -0
  307. package/lib/typescript/{web → src/web}/create.d.ts.map +1 -1
  308. package/lib/typescript/src/web/index.d.ts +1459 -0
  309. package/lib/typescript/{web → src/web}/index.d.ts.map +1 -1
  310. package/lib/typescript/{web/listener → src/web}/listener.d.ts +3 -2
  311. package/lib/typescript/src/web/listener.d.ts.map +1 -0
  312. package/lib/typescript/src/web/mock.d.ts +5 -0
  313. package/lib/typescript/src/web/mock.d.ts.map +1 -0
  314. package/lib/typescript/src/web/mq.d.ts +8 -0
  315. package/lib/typescript/src/web/mq.d.ts.map +1 -0
  316. package/lib/typescript/src/web/registry.d.ts +28 -0
  317. package/lib/typescript/src/web/registry.d.ts.map +1 -0
  318. package/lib/typescript/{web → src/web}/runtime.d.ts +9 -9
  319. package/lib/typescript/src/web/runtime.d.ts.map +1 -0
  320. package/lib/typescript/src/web/shadowRegistry.d.ts +16 -0
  321. package/lib/typescript/src/web/shadowRegistry.d.ts.map +1 -0
  322. package/lib/typescript/src/web/state.d.ts +18 -0
  323. package/lib/typescript/src/web/state.d.ts.map +1 -0
  324. package/lib/typescript/{web/utils.d.ts → src/web/utils/common.d.ts} +8 -9
  325. package/lib/typescript/src/web/utils/common.d.ts.map +1 -0
  326. package/lib/typescript/src/web/utils/index.d.ts +3 -0
  327. package/lib/typescript/src/web/utils/index.d.ts.map +1 -0
  328. package/lib/typescript/src/web/utils/unistyle.d.ts +20 -0
  329. package/lib/typescript/src/web/utils/unistyle.d.ts.map +1 -0
  330. package/lib/typescript/src/web/variants/getVariants.d.ts +3 -0
  331. package/lib/typescript/src/web/variants/getVariants.d.ts.map +1 -0
  332. package/lib/typescript/src/web/variants/index.d.ts +3 -0
  333. package/lib/typescript/src/web/variants/index.d.ts.map +1 -0
  334. package/lib/typescript/src/web/variants/useVariants.d.ts +3 -0
  335. package/lib/typescript/src/web/variants/useVariants.d.ts.map +1 -0
  336. package/nitrogen/generated/android/c++/JColorScheme.hpp +1 -1
  337. package/nitrogen/generated/android/c++/JFunc_void.hpp +48 -0
  338. package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency_.hpp +8 -8
  339. package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.cpp +31 -22
  340. package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.hpp +8 -3
  341. package/nitrogen/generated/android/c++/JOrientation.hpp +1 -1
  342. package/nitrogen/generated/android/c++/JUnistyleDependency.hpp +4 -1
  343. package/nitrogen/generated/android/c++/JUnistylesNativeMiniRuntime.hpp +9 -7
  344. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Func_void.kt +45 -0
  345. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/HybridNativePlatformSpec.kt +25 -5
  346. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistyleDependency.kt +2 -1
  347. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistylesNativeMiniRuntime.kt +2 -1
  348. package/nitrogen/generated/android/unistyles+autolinking.cmake +13 -1
  349. package/nitrogen/generated/android/{UnistylesOnLoad.cpp → unistylesOnLoad.cpp} +4 -2
  350. package/nitrogen/generated/android/{UnistylesOnLoad.hpp → unistylesOnLoad.hpp} +1 -1
  351. package/nitrogen/generated/ios/Unistyles+autolinking.rb +5 -3
  352. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.cpp +25 -0
  353. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.hpp +53 -31
  354. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Umbrella.hpp +0 -29
  355. package/nitrogen/generated/ios/c++/HybridNativePlatformSpecSwift.hpp +7 -1
  356. package/nitrogen/generated/ios/swift/HybridNativePlatformSpec.swift +3 -13
  357. package/nitrogen/generated/ios/swift/HybridNativePlatformSpecCxx.swift +167 -104
  358. package/nitrogen/generated/ios/swift/UnistyleDependency.swift +4 -0
  359. package/nitrogen/generated/ios/swift/UnistylesNativeMiniRuntime.swift +16 -5
  360. package/nitrogen/generated/shared/c++/ColorScheme.hpp +2 -2
  361. package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.cpp +2 -0
  362. package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.hpp +5 -0
  363. package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.hpp +3 -0
  364. package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.hpp +3 -0
  365. package/nitrogen/generated/shared/c++/HybridUnistylesShadowRegistrySpec.hpp +3 -0
  366. package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.hpp +3 -0
  367. package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.cpp +2 -1
  368. package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.hpp +10 -4
  369. package/nitrogen/generated/shared/c++/Orientation.hpp +2 -2
  370. package/nitrogen/generated/shared/c++/UnistyleDependency.hpp +2 -1
  371. package/nitrogen/generated/shared/c++/UnistylesCxxMiniRuntime.hpp +10 -9
  372. package/nitrogen/generated/shared/c++/UnistylesNativeMiniRuntime.hpp +9 -8
  373. package/package.json +18 -30
  374. package/plugin/common.js +12 -1
  375. package/plugin/index.js +110 -23
  376. package/plugin/ref.js +64 -13
  377. package/plugin/style.js +82 -22
  378. package/plugin/stylesheet.js +53 -3
  379. package/plugin/variants.js +33 -0
  380. package/src/common.js +4 -0
  381. package/src/core/createUnistylesComponent.js +6 -0
  382. package/src/core/createUnistylesComponent.native.js +31 -0
  383. package/src/core/createUnistylesComponent.native.tsx +44 -0
  384. package/src/core/createUnistylesComponent.tsx +10 -0
  385. package/src/core/index.js +3 -0
  386. package/src/core/index.ts +3 -0
  387. package/src/core/useBreakpoint.js +14 -0
  388. package/src/core/useBreakpoint.native.js +16 -0
  389. package/src/core/useBreakpoint.native.ts +21 -0
  390. package/src/core/useBreakpoint.ts +18 -0
  391. package/src/core/useTheme.js +14 -0
  392. package/src/core/useTheme.native.js +16 -0
  393. package/src/core/useTheme.native.ts +22 -0
  394. package/src/core/useTheme.ts +19 -0
  395. package/src/global.js +1 -0
  396. package/src/index.js +3 -0
  397. package/src/index.ts +2 -12
  398. package/src/mq.js +38 -0
  399. package/src/specs/NativePlatform/NativePlatform.nitro.js +19 -0
  400. package/src/specs/NativePlatform/NativePlatform.nitro.ts +7 -3
  401. package/src/specs/NativePlatform/index.js +1 -0
  402. package/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.js +1 -0
  403. package/src/specs/NavigtionBar/index.js +9 -0
  404. package/src/specs/NavigtionBar/index.ts +6 -1
  405. package/src/specs/ShadowRegistry/ShadowRegistry.nitro.js +1 -0
  406. package/src/specs/ShadowRegistry/index.js +26 -0
  407. package/src/specs/ShadowRegistry/index.ts +10 -9
  408. package/src/specs/ShadowRegistry/types.js +1 -0
  409. package/src/specs/StatusBar/UnistylesStatusBar.nitro.js +1 -0
  410. package/src/specs/StatusBar/index.js +25 -0
  411. package/src/specs/StatusBar/index.ts +6 -1
  412. package/src/specs/StyleSheet/UnistylesStyleSheet.nitro.js +1 -0
  413. package/src/specs/StyleSheet/UnistylesStyleSheet.nitro.ts +4 -1
  414. package/src/specs/StyleSheet/index.js +13 -0
  415. package/src/specs/StyleSheet/index.ts +6 -1
  416. package/src/specs/TurboUnistyles/NativeTurboUnistyles.js +2 -0
  417. package/src/specs/TurboUnistyles/index.js +1 -0
  418. package/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.js +1 -0
  419. package/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.ts +0 -1
  420. package/src/specs/UnistylesRuntime/index.js +20 -0
  421. package/src/specs/UnistylesRuntime/index.ts +4 -2
  422. package/src/specs/index.js +8 -0
  423. package/src/specs/index.ts +6 -2
  424. package/src/specs/index.web.js +2 -0
  425. package/src/specs/index.web.ts +1 -1
  426. package/src/specs/types.js +17 -0
  427. package/src/types/accessibility.js +30 -0
  428. package/src/types/breakpoints.js +1 -0
  429. package/src/types/breakpoints.ts +25 -13
  430. package/src/types/common.js +1 -0
  431. package/src/types/core.js +1 -0
  432. package/src/types/index.js +1 -0
  433. package/src/types/index.ts +1 -1
  434. package/src/types/stylesheet.js +2 -0
  435. package/src/types/stylesheet.ts +7 -5
  436. package/src/types/variants.js +1 -0
  437. package/src/types/variants.ts +7 -1
  438. package/src/web/convert/boxShadow.js +59 -0
  439. package/{web → src/web}/convert/boxShadow.ts +14 -15
  440. package/src/web/convert/index.js +56 -0
  441. package/{web → src/web}/convert/index.ts +8 -15
  442. package/src/web/convert/pseudo.js +131 -0
  443. package/src/web/convert/pseudo.ts +137 -0
  444. package/src/web/convert/shadow.js +50 -0
  445. package/src/web/convert/style.js +137 -0
  446. package/{web → src/web}/convert/style.ts +61 -10
  447. package/src/web/convert/textShadow.js +56 -0
  448. package/{web → src/web}/convert/textShadow.ts +13 -14
  449. package/src/web/convert/transform.js +65 -0
  450. package/{web → src/web}/convert/transform.ts +7 -8
  451. package/src/web/convert/types.js +2 -0
  452. package/{web → src/web}/convert/types.ts +1 -1
  453. package/src/web/convert/utils.js +39 -0
  454. package/src/web/create.js +36 -0
  455. package/src/web/create.ts +47 -0
  456. package/src/web/index.js +22 -0
  457. package/{web → src/web}/index.ts +3 -2
  458. package/src/web/listener.js +26 -0
  459. package/{web/listener → src/web}/listener.ts +3 -3
  460. package/src/web/mock.js +21 -0
  461. package/{web → src/web}/mock.ts +2 -12
  462. package/src/web/mq.js +14 -0
  463. package/{web → src/web}/mq.ts +1 -3
  464. package/src/web/registry.js +165 -0
  465. package/src/web/registry.ts +236 -0
  466. package/src/web/runtime.js +160 -0
  467. package/{web → src/web}/runtime.ts +21 -18
  468. package/src/web/shadowRegistry.js +96 -0
  469. package/src/web/shadowRegistry.ts +121 -0
  470. package/src/web/state.js +68 -0
  471. package/src/web/state.ts +94 -0
  472. package/src/web/utils/common.js +79 -0
  473. package/{web/utils.ts → src/web/utils/common.ts} +48 -36
  474. package/src/web/utils/index.js +2 -0
  475. package/src/web/utils/index.ts +2 -0
  476. package/src/web/utils/unistyle.js +72 -0
  477. package/src/web/utils/unistyle.ts +104 -0
  478. package/src/web/variants/getVariants.js +26 -0
  479. package/src/web/variants/getVariants.ts +42 -0
  480. package/src/web/variants/index.js +2 -0
  481. package/src/web/variants/index.ts +2 -0
  482. package/src/web/variants/useVariants.js +50 -0
  483. package/src/web/variants/useVariants.ts +65 -0
  484. package/lib/typescript/example/App.d.ts +0 -4
  485. package/lib/typescript/example/App.d.ts.map +0 -1
  486. package/lib/typescript/example/unistyles.d.ts +0 -63
  487. package/lib/typescript/example/unistyles.d.ts.map +0 -1
  488. package/lib/typescript/expo-example/App.d.ts +0 -4
  489. package/lib/typescript/expo-example/App.d.ts.map +0 -1
  490. package/lib/typescript/expo-example/unistyles.d.ts +0 -63
  491. package/lib/typescript/expo-example/unistyles.d.ts.map +0 -1
  492. package/lib/typescript/web/convert/boxShadow.d.ts +0 -3
  493. package/lib/typescript/web/convert/boxShadow.d.ts.map +0 -1
  494. package/lib/typescript/web/convert/breakpoint.d.ts +0 -3
  495. package/lib/typescript/web/convert/breakpoint.d.ts.map +0 -1
  496. package/lib/typescript/web/convert/index.d.ts +0 -4
  497. package/lib/typescript/web/convert/index.d.ts.map +0 -1
  498. package/lib/typescript/web/convert/shadow.d.ts.map +0 -1
  499. package/lib/typescript/web/convert/style.d.ts +0 -3
  500. package/lib/typescript/web/convert/style.d.ts.map +0 -1
  501. package/lib/typescript/web/convert/textShadow.d.ts +0 -3
  502. package/lib/typescript/web/convert/textShadow.d.ts.map +0 -1
  503. package/lib/typescript/web/convert/transform.d.ts +0 -5
  504. package/lib/typescript/web/convert/transform.d.ts.map +0 -1
  505. package/lib/typescript/web/convert/types.d.ts.map +0 -1
  506. package/lib/typescript/web/convert/utils.d.ts.map +0 -1
  507. package/lib/typescript/web/create.d.ts +0 -2449
  508. package/lib/typescript/web/index.d.ts +0 -2464
  509. package/lib/typescript/web/listener/index.d.ts +0 -2
  510. package/lib/typescript/web/listener/index.d.ts.map +0 -1
  511. package/lib/typescript/web/listener/listener.d.ts.map +0 -1
  512. package/lib/typescript/web/mock.d.ts +0 -14
  513. package/lib/typescript/web/mock.d.ts.map +0 -1
  514. package/lib/typescript/web/mq.d.ts +0 -4
  515. package/lib/typescript/web/mq.d.ts.map +0 -1
  516. package/lib/typescript/web/pseudo.d.ts +0 -4
  517. package/lib/typescript/web/pseudo.d.ts.map +0 -1
  518. package/lib/typescript/web/registry.d.ts +0 -12
  519. package/lib/typescript/web/registry.d.ts.map +0 -1
  520. package/lib/typescript/web/runtime.d.ts.map +0 -1
  521. package/lib/typescript/web/state.d.ts +0 -24
  522. package/lib/typescript/web/state.d.ts.map +0 -1
  523. package/lib/typescript/web/useVariants.d.ts +0 -3
  524. package/lib/typescript/web/useVariants.d.ts.map +0 -1
  525. package/lib/typescript/web/utils.d.ts.map +0 -1
  526. package/plugin/__tests__/dependencies.spec.js +0 -360
  527. package/plugin/__tests__/ref.spec.js +0 -991
  528. package/plugin/__tests__/stylesheet.spec.js +0 -396
  529. package/web/convert/breakpoint.ts +0 -21
  530. package/web/create.ts +0 -102
  531. package/web/listener/index.ts +0 -1
  532. package/web/pseudo.ts +0 -11
  533. package/web/registry.ts +0 -41
  534. package/web/state.ts +0 -148
  535. package/web/useVariants.ts +0 -99
  536. /package/lib/typescript/{web → src/web}/convert/shadow.d.ts +0 -0
  537. /package/lib/typescript/{web → src/web}/convert/utils.d.ts +0 -0
  538. /package/nitrogen/generated/android/{UnistylesOnLoad.kt → unistylesOnLoad.kt} +0 -0
  539. /package/{web → src/web}/convert/module.d.ts +0 -0
  540. /package/{web → src/web}/convert/shadow.ts +0 -0
  541. /package/{web → src/web}/convert/utils.ts +0 -0
@@ -48,7 +48,7 @@ namespace margelo::nitro {
48
48
  case hashString("portrait"): return Orientation::PORTRAIT;
49
49
  case hashString("landscape"): return Orientation::LANDSCAPE;
50
50
  default: [[unlikely]]
51
- throw std::runtime_error("Cannot convert \"" + unionValue + "\" to enum Orientation - invalid value!");
51
+ throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum Orientation - invalid value!");
52
52
  }
53
53
  }
54
54
  static inline jsi::Value toJSI(jsi::Runtime& runtime, Orientation arg) {
@@ -56,7 +56,7 @@ namespace margelo::nitro {
56
56
  case Orientation::PORTRAIT: return JSIConverter<std::string>::toJSI(runtime, "portrait");
57
57
  case Orientation::LANDSCAPE: return JSIConverter<std::string>::toJSI(runtime, "landscape");
58
58
  default: [[unlikely]]
59
- throw std::runtime_error("Cannot convert Orientation to JS - invalid value: "
59
+ throw std::invalid_argument("Cannot convert Orientation to JS - invalid value: "
60
60
  + std::to_string(static_cast<int>(arg)) + "!");
61
61
  }
62
62
  }
@@ -39,6 +39,7 @@ namespace margelo::nitro::unistyles {
39
39
  FONTSCALE SWIFT_NAME(fontscale) = 11,
40
40
  STATUSBAR SWIFT_NAME(statusbar) = 12,
41
41
  NAVIGATIONBAR SWIFT_NAME(navigationbar) = 13,
42
+ IME SWIFT_NAME(ime) = 14,
42
43
  } CLOSED_ENUM;
43
44
 
44
45
  } // namespace margelo::nitro::unistyles
@@ -69,7 +70,7 @@ namespace margelo::nitro {
69
70
  return false;
70
71
  }
71
72
  // Check if we are within the bounds of the enum.
72
- return integer >= 0 && integer <= 13;
73
+ return integer >= 0 && integer <= 14;
73
74
  }
74
75
  };
75
76
 
@@ -18,8 +18,6 @@
18
18
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
19
  #endif
20
20
 
21
- // Forward declaration of `Orientation` to properly resolve imports.
22
- namespace margelo::nitro::unistyles { enum class Orientation; }
23
21
  // Forward declaration of `ColorScheme` to properly resolve imports.
24
22
  namespace margelo::nitro::unistyles { enum class ColorScheme; }
25
23
  // Forward declaration of `Dimensions` to properly resolve imports.
@@ -29,7 +27,6 @@ namespace margelo::nitro::unistyles { struct Insets; }
29
27
 
30
28
  #include <optional>
31
29
  #include <string>
32
- #include "Orientation.hpp"
33
30
  #include "ColorScheme.hpp"
34
31
  #include "Dimensions.hpp"
35
32
  #include "Insets.hpp"
@@ -43,7 +40,6 @@ namespace margelo::nitro::unistyles {
43
40
  public:
44
41
  std::optional<std::string> themeName SWIFT_PRIVATE;
45
42
  std::optional<std::string> breakpoint SWIFT_PRIVATE;
46
- Orientation orientation SWIFT_PRIVATE;
47
43
  bool hasAdaptiveThemes SWIFT_PRIVATE;
48
44
  ColorScheme colorScheme SWIFT_PRIVATE;
49
45
  Dimensions screen SWIFT_PRIVATE;
@@ -54,9 +50,11 @@ namespace margelo::nitro::unistyles {
54
50
  bool rtl SWIFT_PRIVATE;
55
51
  Dimensions statusBar SWIFT_PRIVATE;
56
52
  Dimensions navigationBar SWIFT_PRIVATE;
53
+ bool isPortrait SWIFT_PRIVATE;
54
+ bool isLandscape SWIFT_PRIVATE;
57
55
 
58
56
  public:
59
- explicit UnistylesCxxMiniRuntime(std::optional<std::string> themeName, std::optional<std::string> breakpoint, Orientation orientation, bool hasAdaptiveThemes, ColorScheme colorScheme, Dimensions screen, std::string contentSizeCategory, Insets insets, double pixelRatio, double fontScale, bool rtl, Dimensions statusBar, Dimensions navigationBar): themeName(themeName), breakpoint(breakpoint), orientation(orientation), hasAdaptiveThemes(hasAdaptiveThemes), colorScheme(colorScheme), screen(screen), contentSizeCategory(contentSizeCategory), insets(insets), pixelRatio(pixelRatio), fontScale(fontScale), rtl(rtl), statusBar(statusBar), navigationBar(navigationBar) {}
57
+ explicit UnistylesCxxMiniRuntime(std::optional<std::string> themeName, std::optional<std::string> breakpoint, bool hasAdaptiveThemes, ColorScheme colorScheme, Dimensions screen, std::string contentSizeCategory, Insets insets, double pixelRatio, double fontScale, bool rtl, Dimensions statusBar, Dimensions navigationBar, bool isPortrait, bool isLandscape): themeName(themeName), breakpoint(breakpoint), hasAdaptiveThemes(hasAdaptiveThemes), colorScheme(colorScheme), screen(screen), contentSizeCategory(contentSizeCategory), insets(insets), pixelRatio(pixelRatio), fontScale(fontScale), rtl(rtl), statusBar(statusBar), navigationBar(navigationBar), isPortrait(isPortrait), isLandscape(isLandscape) {}
60
58
  };
61
59
 
62
60
  } // namespace margelo::nitro::unistyles
@@ -73,7 +71,6 @@ namespace margelo::nitro {
73
71
  return UnistylesCxxMiniRuntime(
74
72
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "themeName")),
75
73
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "breakpoint")),
76
- JSIConverter<Orientation>::fromJSI(runtime, obj.getProperty(runtime, "orientation")),
77
74
  JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, "hasAdaptiveThemes")),
78
75
  JSIConverter<ColorScheme>::fromJSI(runtime, obj.getProperty(runtime, "colorScheme")),
79
76
  JSIConverter<Dimensions>::fromJSI(runtime, obj.getProperty(runtime, "screen")),
@@ -83,14 +80,15 @@ namespace margelo::nitro {
83
80
  JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "fontScale")),
84
81
  JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, "rtl")),
85
82
  JSIConverter<Dimensions>::fromJSI(runtime, obj.getProperty(runtime, "statusBar")),
86
- JSIConverter<Dimensions>::fromJSI(runtime, obj.getProperty(runtime, "navigationBar"))
83
+ JSIConverter<Dimensions>::fromJSI(runtime, obj.getProperty(runtime, "navigationBar")),
84
+ JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, "isPortrait")),
85
+ JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, "isLandscape"))
87
86
  );
88
87
  }
89
88
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const UnistylesCxxMiniRuntime& arg) {
90
89
  jsi::Object obj(runtime);
91
90
  obj.setProperty(runtime, "themeName", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.themeName));
92
91
  obj.setProperty(runtime, "breakpoint", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.breakpoint));
93
- obj.setProperty(runtime, "orientation", JSIConverter<Orientation>::toJSI(runtime, arg.orientation));
94
92
  obj.setProperty(runtime, "hasAdaptiveThemes", JSIConverter<bool>::toJSI(runtime, arg.hasAdaptiveThemes));
95
93
  obj.setProperty(runtime, "colorScheme", JSIConverter<ColorScheme>::toJSI(runtime, arg.colorScheme));
96
94
  obj.setProperty(runtime, "screen", JSIConverter<Dimensions>::toJSI(runtime, arg.screen));
@@ -101,6 +99,8 @@ namespace margelo::nitro {
101
99
  obj.setProperty(runtime, "rtl", JSIConverter<bool>::toJSI(runtime, arg.rtl));
102
100
  obj.setProperty(runtime, "statusBar", JSIConverter<Dimensions>::toJSI(runtime, arg.statusBar));
103
101
  obj.setProperty(runtime, "navigationBar", JSIConverter<Dimensions>::toJSI(runtime, arg.navigationBar));
102
+ obj.setProperty(runtime, "isPortrait", JSIConverter<bool>::toJSI(runtime, arg.isPortrait));
103
+ obj.setProperty(runtime, "isLandscape", JSIConverter<bool>::toJSI(runtime, arg.isLandscape));
104
104
  return obj;
105
105
  }
106
106
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -110,7 +110,6 @@ namespace margelo::nitro {
110
110
  jsi::Object obj = value.getObject(runtime);
111
111
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "themeName"))) return false;
112
112
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "breakpoint"))) return false;
113
- if (!JSIConverter<Orientation>::canConvert(runtime, obj.getProperty(runtime, "orientation"))) return false;
114
113
  if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, "hasAdaptiveThemes"))) return false;
115
114
  if (!JSIConverter<ColorScheme>::canConvert(runtime, obj.getProperty(runtime, "colorScheme"))) return false;
116
115
  if (!JSIConverter<Dimensions>::canConvert(runtime, obj.getProperty(runtime, "screen"))) return false;
@@ -121,6 +120,8 @@ namespace margelo::nitro {
121
120
  if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, "rtl"))) return false;
122
121
  if (!JSIConverter<Dimensions>::canConvert(runtime, obj.getProperty(runtime, "statusBar"))) return false;
123
122
  if (!JSIConverter<Dimensions>::canConvert(runtime, obj.getProperty(runtime, "navigationBar"))) return false;
123
+ if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, "isPortrait"))) return false;
124
+ if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, "isLandscape"))) return false;
124
125
  return true;
125
126
  }
126
127
  };
@@ -24,14 +24,11 @@ namespace margelo::nitro::unistyles { enum class ColorScheme; }
24
24
  namespace margelo::nitro::unistyles { struct Dimensions; }
25
25
  // Forward declaration of `Insets` to properly resolve imports.
26
26
  namespace margelo::nitro::unistyles { struct Insets; }
27
- // Forward declaration of `Orientation` to properly resolve imports.
28
- namespace margelo::nitro::unistyles { enum class Orientation; }
29
27
 
30
28
  #include "ColorScheme.hpp"
31
29
  #include "Dimensions.hpp"
32
30
  #include <string>
33
31
  #include "Insets.hpp"
34
- #include "Orientation.hpp"
35
32
 
36
33
  namespace margelo::nitro::unistyles {
37
34
 
@@ -49,10 +46,11 @@ namespace margelo::nitro::unistyles {
49
46
  bool rtl SWIFT_PRIVATE;
50
47
  Dimensions statusBar SWIFT_PRIVATE;
51
48
  Dimensions navigationBar SWIFT_PRIVATE;
52
- Orientation orientation SWIFT_PRIVATE;
49
+ bool isPortrait SWIFT_PRIVATE;
50
+ bool isLandscape SWIFT_PRIVATE;
53
51
 
54
52
  public:
55
- explicit UnistylesNativeMiniRuntime(ColorScheme colorScheme, Dimensions screen, std::string contentSizeCategory, Insets insets, double pixelRatio, double fontScale, bool rtl, Dimensions statusBar, Dimensions navigationBar, Orientation orientation): colorScheme(colorScheme), screen(screen), contentSizeCategory(contentSizeCategory), insets(insets), pixelRatio(pixelRatio), fontScale(fontScale), rtl(rtl), statusBar(statusBar), navigationBar(navigationBar), orientation(orientation) {}
53
+ explicit UnistylesNativeMiniRuntime(ColorScheme colorScheme, Dimensions screen, std::string contentSizeCategory, Insets insets, double pixelRatio, double fontScale, bool rtl, Dimensions statusBar, Dimensions navigationBar, bool isPortrait, bool isLandscape): colorScheme(colorScheme), screen(screen), contentSizeCategory(contentSizeCategory), insets(insets), pixelRatio(pixelRatio), fontScale(fontScale), rtl(rtl), statusBar(statusBar), navigationBar(navigationBar), isPortrait(isPortrait), isLandscape(isLandscape) {}
56
54
  };
57
55
 
58
56
  } // namespace margelo::nitro::unistyles
@@ -76,7 +74,8 @@ namespace margelo::nitro {
76
74
  JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, "rtl")),
77
75
  JSIConverter<Dimensions>::fromJSI(runtime, obj.getProperty(runtime, "statusBar")),
78
76
  JSIConverter<Dimensions>::fromJSI(runtime, obj.getProperty(runtime, "navigationBar")),
79
- JSIConverter<Orientation>::fromJSI(runtime, obj.getProperty(runtime, "orientation"))
77
+ JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, "isPortrait")),
78
+ JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, "isLandscape"))
80
79
  );
81
80
  }
82
81
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const UnistylesNativeMiniRuntime& arg) {
@@ -90,7 +89,8 @@ namespace margelo::nitro {
90
89
  obj.setProperty(runtime, "rtl", JSIConverter<bool>::toJSI(runtime, arg.rtl));
91
90
  obj.setProperty(runtime, "statusBar", JSIConverter<Dimensions>::toJSI(runtime, arg.statusBar));
92
91
  obj.setProperty(runtime, "navigationBar", JSIConverter<Dimensions>::toJSI(runtime, arg.navigationBar));
93
- obj.setProperty(runtime, "orientation", JSIConverter<Orientation>::toJSI(runtime, arg.orientation));
92
+ obj.setProperty(runtime, "isPortrait", JSIConverter<bool>::toJSI(runtime, arg.isPortrait));
93
+ obj.setProperty(runtime, "isLandscape", JSIConverter<bool>::toJSI(runtime, arg.isLandscape));
94
94
  return obj;
95
95
  }
96
96
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -107,7 +107,8 @@ namespace margelo::nitro {
107
107
  if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, "rtl"))) return false;
108
108
  if (!JSIConverter<Dimensions>::canConvert(runtime, obj.getProperty(runtime, "statusBar"))) return false;
109
109
  if (!JSIConverter<Dimensions>::canConvert(runtime, obj.getProperty(runtime, "navigationBar"))) return false;
110
- if (!JSIConverter<Orientation>::canConvert(runtime, obj.getProperty(runtime, "orientation"))) return false;
110
+ if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, "isPortrait"))) return false;
111
+ if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, "isLandscape"))) return false;
111
112
  return true;
112
113
  }
113
114
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-unistyles",
3
- "version": "3.0.0-alpha.3",
3
+ "version": "3.0.0-alpha.30",
4
4
  "description": "Level up your React Native StyleSheet",
5
5
  "scripts": {
6
6
  "test": "jest",
@@ -27,7 +27,7 @@
27
27
  "web",
28
28
  "react-native.config.js",
29
29
  "Unistyles.podspec",
30
- "!lib/typescript/examples",
30
+ "!plugin/__tests__",
31
31
  "!ios/build",
32
32
  "!android/build",
33
33
  "!android/gradle",
@@ -60,45 +60,33 @@
60
60
  "registry": "https://registry.npmjs.org/"
61
61
  },
62
62
  "devDependencies": {
63
- "@babel/plugin-syntax-jsx": "7.25.7",
64
- "@biomejs/biome": "1.8.3",
65
- "@commitlint/config-conventional": "19.2.2",
66
- "@react-native/normalize-colors": "0.75.2",
67
- "@release-it/conventional-changelog": "8.0.1",
63
+ "@babel/plugin-syntax-jsx": "7.25.9",
64
+ "@biomejs/biome": "1.9.4",
65
+ "@commitlint/config-conventional": "19.5.0",
66
+ "@react-native/normalize-colors": "0.76.0",
67
+ "@release-it/conventional-changelog": "8.0.2",
68
68
  "@testing-library/react-hooks": "8.0.1",
69
- "@types/jest": "29.5.12",
70
- "@types/react": "18.3.4",
69
+ "@types/jest": "29.5.14",
70
+ "@types/react": "18.3.12",
71
71
  "babel-plugin-tester": "11.0.4",
72
- "commitlint": "19.4.0",
72
+ "commitlint": "19.5.0",
73
73
  "concurrently": "8.2.2",
74
- "husky": "9.1.5",
74
+ "husky": "9.1.6",
75
75
  "jest": "29.7.0",
76
76
  "metro-react-native-babel-preset": "0.77.0",
77
- "nitro-codegen": "0.10.0",
77
+ "nitro-codegen": "0.14.0",
78
78
  "react": "18.3.1",
79
- "react-native": "0.75.2",
80
- "react-native-builder-bob": "0.30.0",
81
- "react-native-nitro-modules": "0.10.0",
82
- "react-native-web": "0.19.12",
79
+ "react-native": "0.76.0",
80
+ "react-native-builder-bob": "0.30.2",
81
+ "react-native-nitro-modules": "0.14.0",
83
82
  "react-test-renderer": "18.3.1",
84
- "release-it": "17.6.0",
85
- "typescript": "5.5.4",
86
- "typestyle": "2.4.0"
83
+ "release-it": "17.10.0",
84
+ "typescript": "5.6.3"
87
85
  },
88
86
  "peerDependencies": {
89
87
  "@react-native/normalize-colors": "*",
90
88
  "react": "*",
91
- "react-native": "*",
92
- "react-native-web": "*",
93
- "typestyle": ">=2.4.0"
94
- },
95
- "peerDependenciesMeta": {
96
- "react-native-web": {
97
- "optional": true
98
- },
99
- "typestyle": {
100
- "optional": true
101
- }
89
+ "react-native": "*"
102
90
  },
103
91
  "workspaces": [
104
92
  "example",
package/plugin/common.js CHANGED
@@ -34,7 +34,8 @@ function getIdentifierNameFromExpression(t, memberExpression) {
34
34
  getIdentifierNameFromExpression(t, memberExpression.test.left),
35
35
  getIdentifierNameFromExpression(t, memberExpression.test.right),
36
36
  getIdentifierNameFromExpression(t, memberExpression.alternate),
37
- getIdentifierNameFromExpression(t,memberExpression.consequent),
37
+ getIdentifierNameFromExpression(t, memberExpression.consequent),
38
+ getIdentifierNameFromExpression(t, memberExpression.test)
38
39
  ].flat()
39
40
  }
40
41
 
@@ -66,6 +67,7 @@ function getSecondPropertyName(t, memberExpression) {
66
67
  getSecondPropertyName(t, memberExpression.test.right),
67
68
  getSecondPropertyName(t, memberExpression.alternate),
68
69
  getSecondPropertyName(t, memberExpression.consequent),
70
+ getSecondPropertyName(t, memberExpression.test)
69
71
  ].flat()
70
72
  }
71
73
 
@@ -102,6 +104,15 @@ function getSecondPropertyName(t, memberExpression) {
102
104
  current = current.object
103
105
  }
104
106
 
107
+ // special case for IME
108
+ if (propertyName && t.isIdentifier(propertyName) && propertyName.name === 'insets') {
109
+ if (t.isIdentifier(memberExpression.property) && memberExpression.property.name === "ime") {
110
+ return [memberExpression.property.name]
111
+ }
112
+
113
+ return [propertyName.name]
114
+ }
115
+
105
116
  if (propertyName && t.isIdentifier(propertyName)) {
106
117
  return [propertyName.name]
107
118
  }
package/plugin/index.js CHANGED
@@ -1,7 +1,28 @@
1
1
  const addShadowRegistryImport = require('./import')
2
- const { getStyleObjectPath, getStyleAttribute } = require('./style')
2
+ const { getStyleMetadata, getStyleAttribute, styleAttributeToArray } = require('./style')
3
3
  const { getRefProp, addRef, overrideRef, hasStringRef } = require('./ref')
4
- const { isUnistylesStyleSheet, analyzeDependencies } = require('./stylesheet')
4
+ const { isUnistylesStyleSheet, analyzeDependencies, addStyleSheetTag, getUnistyle } = require('./stylesheet')
5
+ const { isUsingVariants, extractVariants } = require('./variants')
6
+
7
+ const reactNativeComponentNames = [
8
+ 'View',
9
+ 'Text',
10
+ 'Image',
11
+ 'ImageBackground',
12
+ 'KeyboardAvoidingView',
13
+ 'Modal',
14
+ 'Pressable',
15
+ 'ScrollView',
16
+ 'FlatList',
17
+ 'SectionList',
18
+ 'Switch',
19
+ 'Text',
20
+ 'TextInput',
21
+ 'TouchableHighlight',
22
+ 'TouchableOpacity',
23
+ 'TouchableWithoutFeedback',
24
+ 'VirtualizedList'
25
+ ]
5
26
 
6
27
  module.exports = function ({ types: t }) {
7
28
  return {
@@ -12,7 +33,9 @@ module.exports = function ({ types: t }) {
12
33
  state.file.hasAnyUnistyle = false
13
34
  state.file.hasUnistylesImport = false
14
35
  state.file.styleSheetLocalName = ''
15
- state.file.webDynamicFunctions = {}
36
+ state.file.tagNumber = 0
37
+ state.file.isClassComponent = false
38
+ state.reactNativeImports = {}
16
39
  },
17
40
  exit(path, state) {
18
41
  if (state.file.hasAnyUnistyle) {
@@ -20,6 +43,38 @@ module.exports = function ({ types: t }) {
20
43
  }
21
44
  }
22
45
  },
46
+ FunctionDeclaration(path, state) {
47
+ const componentName = path.node.id
48
+ ? path.node.id.name
49
+ : null
50
+
51
+ if (componentName) {
52
+ state.file.hasVariants = false
53
+ }
54
+ },
55
+ ClassDeclaration(path, state) {
56
+ const componentName = path.node.id
57
+ ? path.node.id.name
58
+ : null
59
+
60
+ if (componentName) {
61
+ state.file.hasVariants = false
62
+ state.file.isClassComponent = true
63
+ }
64
+ },
65
+ VariableDeclaration(path, state) {
66
+ path.node.declarations.forEach((declaration) => {
67
+ if (t.isArrowFunctionExpression(declaration.init) || t.isFunctionExpression(declaration.init)) {
68
+ const componentName = declaration.id
69
+ ? declaration.id.name
70
+ : null
71
+
72
+ if (componentName) {
73
+ state.file.hasVariants = false
74
+ }
75
+ }
76
+ })
77
+ },
23
78
  ImportDeclaration(path, state) {
24
79
  const importSource = path.node.source.value
25
80
 
@@ -32,9 +87,30 @@ module.exports = function ({ types: t }) {
32
87
  }
33
88
  })
34
89
  }
90
+
91
+ if (importSource.includes('react-native')) {
92
+ path.node.specifiers.forEach(specifier => {
93
+ if (specifier.imported && reactNativeComponentNames.includes(specifier.imported.name)) {
94
+ state.reactNativeImports[specifier.local.name] = true
95
+ }
96
+ })
97
+ }
35
98
  },
36
99
  JSXElement(path, state) {
37
- if (!state.file.hasUnistylesImport) {
100
+ if (state.file.isClassComponent) {
101
+ return
102
+ }
103
+
104
+ const openingElement = path.node.openingElement
105
+ const openingElementName = openingElement.name.name
106
+ const isReactNativeComponent = Boolean(state.reactNativeImports[openingElementName])
107
+ const isAnimatedComponent = (
108
+ !isReactNativeComponent &&
109
+ openingElement.name.object &&
110
+ openingElement.name.object.name === 'Animated'
111
+ )
112
+
113
+ if (!isReactNativeComponent && !isAnimatedComponent) {
38
114
  return
39
115
  }
40
116
 
@@ -45,43 +121,52 @@ module.exports = function ({ types: t }) {
45
121
  return
46
122
  }
47
123
 
48
- const stylePath = getStyleObjectPath(t, styleAttr.value.expression, state)
124
+ const metadata = getStyleMetadata(t, styleAttr.value.expression)
49
125
 
50
- // style prop is not using object expression
51
- if (stylePath.length !== 2) {
126
+ // style prop is using unexpected expression
127
+ if (metadata.length === 0) {
52
128
  return
53
129
  }
54
130
 
131
+ styleAttributeToArray(t, path)
132
+
55
133
  // to add import
56
134
  state.file.hasAnyUnistyle = true
57
135
 
58
- const refProp = getRefProp(t, path)
136
+ metadata.forEach(meta => {
137
+ const refProp = getRefProp(t, path)
59
138
 
60
- if (!refProp && hasStringRef(t, path)) {
61
- throw new Error("Detected string based ref which is not supported by Unistyles.")
62
- }
63
-
64
- const styleObj = stylePath[0]
65
- const styleProp = stylePath[1]
139
+ if (!refProp && hasStringRef(t, path)) {
140
+ throw new Error("Detected string based ref which is not supported by Unistyles.")
141
+ }
66
142
 
67
- refProp
68
- ? overrideRef(t, path, refProp, styleObj, styleProp)
69
- : addRef(t, path, styleObj, styleProp)
143
+ refProp
144
+ ? overrideRef(t, path, refProp, meta, state)
145
+ : addRef(t, path, meta, state)
146
+ })
70
147
  },
71
148
  CallExpression(path, state) {
149
+ if (isUsingVariants(t, path)) {
150
+ extractVariants(t, path, state)
151
+ }
152
+
72
153
  if (!isUnistylesStyleSheet(t, path, state)) {
73
154
  return
74
155
  }
75
156
 
157
+ addStyleSheetTag(t, path, state)
158
+
76
159
  const arg = path.node.arguments[0]
77
160
 
78
161
  // Object passed to StyleSheet.create
79
162
  if (t.isObjectExpression(arg)) {
80
163
  arg.properties.forEach(property => {
81
164
  if (t.isObjectProperty(property)) {
82
- const propertyValue = t.isArrowFunctionExpression(property.value)
83
- ? property.value.body
84
- : property.value
165
+ const propertyValue = getUnistyle(t, property)
166
+
167
+ if (!propertyValue) {
168
+ return
169
+ }
85
170
 
86
171
  analyzeDependencies(t, state, property.key.name, propertyValue)
87
172
  }
@@ -107,9 +192,11 @@ module.exports = function ({ types: t }) {
107
192
  if (t.isObjectExpression(body)) {
108
193
  body.properties.forEach(property => {
109
194
  if (t.isObjectProperty(property)) {
110
- const propertyValue = t.isArrowFunctionExpression(property.value)
111
- ? property.value.body
112
- : property.value
195
+ const propertyValue = getUnistyle(t, property)
196
+
197
+ if (!propertyValue) {
198
+ return
199
+ }
113
200
 
114
201
  analyzeDependencies(t, state, property.key.name, propertyValue, themeLocalName, miniRuntimeLocalName)
115
202
  }
package/plugin/ref.js CHANGED
@@ -14,21 +14,39 @@ function hasStringRef(t, path) {
14
14
  )
15
15
  }
16
16
 
17
- function addRef(t, path, styleObj, styleProp) {
17
+ function memberExpressionFromArray(t, identifiers) {
18
+ // possible for inline styles
19
+ if (identifiers.length === 0) {
20
+ return undefined
21
+ }
22
+
23
+ const [base, ...members] = identifiers
24
+
25
+ return members.reduce((object, property) => t.memberExpression(object, t.identifier(property)), t.identifier(base))
26
+ }
27
+
28
+ function addRef(t, path, metadata, state) {
29
+ const hasVariants = state.file.hasVariants
30
+
18
31
  const newRefFunction = t.arrowFunctionExpression(
19
32
  [t.identifier('ref')],
20
33
  t.blockStatement([
21
34
  t.expressionStatement(
22
35
  t.callExpression(
23
36
  t.memberExpression(t.identifier('UnistylesShadowRegistry'), t.identifier('add')),
24
- [t.identifier('ref'), t.memberExpression(t.identifier(styleObj), t.identifier(styleProp))]
37
+ [
38
+ t.identifier('ref'),
39
+ memberExpressionFromArray(t, metadata.members) || metadata.inlineStyle,
40
+ t.identifier(hasVariants ? '__uni__variants' : 'undefined'),
41
+ metadata.dynamicFunction ? t.arrayExpression(metadata.dynamicFunction.arguments) : t.identifier('undefined')
42
+ ]
25
43
  )
26
44
  ),
27
45
  t.returnStatement(
28
46
  t.arrowFunctionExpression([],
29
47
  t.callExpression(
30
48
  t.memberExpression(t.identifier('UnistylesShadowRegistry'), t.identifier('remove')),
31
- [t.identifier('ref'), t.memberExpression(t.identifier(styleObj), t.identifier(styleProp))]
49
+ [t.identifier('ref')]
32
50
  )
33
51
  )
34
52
  )
@@ -43,7 +61,8 @@ function addRef(t, path, styleObj, styleProp) {
43
61
  path.node.openingElement.attributes.push(newRefProp)
44
62
  }
45
63
 
46
- function overrideRef(t, path, refProp, styleObj, styleProp) {
64
+ function overrideRef(t, path, refProp, metadata, state) {
65
+ const hasVariants = state.file.hasVariants
47
66
  const uniqueRefName = path.scope.generateUidIdentifier('ref').name
48
67
  const isIdentifier = t.isIdentifier(refProp.value.expression)
49
68
  const binding = path.scope.getBinding(refProp.value.expression.name)
@@ -55,19 +74,30 @@ function overrideRef(t, path, refProp, styleObj, styleProp) {
55
74
  [t.identifier(uniqueRefName)],
56
75
  t.blockStatement([
57
76
  t.expressionStatement(
58
- t.assignmentExpression('=', t.identifier(userVariableName), t.identifier(uniqueRefName))
77
+ t.assignmentExpression(
78
+ '=',
79
+ t.memberExpression(t.identifier(userVariableName), t.identifier('current')),
80
+ t.identifier(uniqueRefName)
81
+ )
59
82
  ),
60
83
  t.expressionStatement(
61
84
  t.callExpression(
62
85
  t.memberExpression(t.identifier('UnistylesShadowRegistry'), t.identifier('add')),
63
- [t.identifier(uniqueRefName), t.memberExpression(t.identifier(styleObj), t.identifier(styleProp))]
86
+ [
87
+ t.identifier(uniqueRefName),
88
+ memberExpressionFromArray(t, metadata.members) || metadata.inlineStyle,
89
+ t.identifier(hasVariants ? '__uni__variants' : 'undefined'),
90
+ metadata.dynamicFunction ? t.arrayExpression(metadata.dynamicFunction.arguments) : t.identifier('undefined')
91
+ ]
64
92
  )
65
93
  ),
66
94
  t.returnStatement(
67
95
  t.arrowFunctionExpression([],
68
96
  t.callExpression(
69
97
  t.memberExpression(t.identifier('UnistylesShadowRegistry'), t.identifier('remove')),
70
- [t.identifier(uniqueRefName), t.memberExpression(t.identifier(styleObj), t.identifier(styleProp))]
98
+ [
99
+ t.identifier(uniqueRefName)
100
+ ]
71
101
  )
72
102
  )
73
103
  )
@@ -87,15 +117,23 @@ function overrideRef(t, path, refProp, styleObj, styleProp) {
87
117
  const userCleanupFunction = userReturnStatement
88
118
  ? userReturnStatement.argument
89
119
  : null
120
+ const userRefName = refProp.value.expression.params.length >= 1
121
+ ? refProp.value.expression.params.at(0).name
122
+ : 'ref'
90
123
 
91
124
  const newRefFunction = t.arrowFunctionExpression(
92
- [t.identifier('ref')],
125
+ [t.identifier(userRefName)],
93
126
  t.blockStatement([
94
127
  ...userStatements.filter(statement => !t.isReturnStatement(statement)),
95
128
  t.expressionStatement(
96
129
  t.callExpression(
97
130
  t.memberExpression(t.identifier('UnistylesShadowRegistry'), t.identifier('add')),
98
- [t.identifier('ref'), t.memberExpression(t.identifier(styleObj), t.identifier(styleProp))]
131
+ [
132
+ t.identifier(userRefName),
133
+ memberExpressionFromArray(t, metadata.members) || metadata.inlineStyle,
134
+ t.identifier(hasVariants ? '__uni__variants' : 'undefined'),
135
+ metadata.dynamicFunction ? t.arrayExpression(metadata.dynamicFunction.arguments) : t.identifier('undefined')
136
+ ]
99
137
  )
100
138
  ),
101
139
  // Merged cleanup function
@@ -109,7 +147,9 @@ function overrideRef(t, path, refProp, styleObj, styleProp) {
109
147
  t.expressionStatement(
110
148
  t.callExpression(
111
149
  t.memberExpression(t.identifier('UnistylesShadowRegistry'), t.identifier('remove')),
112
- [t.identifier('ref'), t.memberExpression(t.identifier(styleObj), t.identifier(styleProp))]
150
+ [
151
+ t.identifier(userRefName)
152
+ ]
113
153
  )
114
154
  )
115
155
  ]))
@@ -122,6 +162,10 @@ function overrideRef(t, path, refProp, styleObj, styleProp) {
122
162
  return
123
163
  }
124
164
 
165
+ if (!binding) {
166
+ return
167
+ }
168
+
125
169
  // ref={scopedFunction}
126
170
  const isArrowFunction = t.isArrowFunctionExpression(binding.path.node.init)
127
171
  const isFunction = t.isFunctionDeclaration(binding.path.node)
@@ -146,7 +190,12 @@ function overrideRef(t, path, refProp, styleObj, styleProp) {
146
190
  t.expressionStatement(
147
191
  t.callExpression(
148
192
  t.memberExpression(t.identifier('UnistylesShadowRegistry'), t.identifier('add')),
149
- [t.identifier(uniqueRefName), t.memberExpression(t.identifier(styleObj), t.identifier(styleProp))]
193
+ [
194
+ t.identifier(uniqueRefName),
195
+ memberExpressionFromArray(t, metadata.members) || metadata.inlineStyle,
196
+ t.identifier(hasVariants ? '__uni__variants' : 'undefined'),
197
+ metadata.dynamicFunction ? t.arrayExpression(metadata.dynamicFunction.arguments) : t.identifier('undefined')
198
+ ]
150
199
  )
151
200
  ),
152
201
  t.returnStatement(
@@ -159,10 +208,12 @@ function overrideRef(t, path, refProp, styleObj, styleProp) {
159
208
  t.expressionStatement(
160
209
  t.callExpression(
161
210
  t.memberExpression(t.identifier('UnistylesShadowRegistry'), t.identifier('remove')),
162
- [t.identifier(uniqueRefName), t.memberExpression(t.identifier(styleObj), t.identifier(styleProp))]
211
+ [
212
+ t.identifier(uniqueRefName)
213
+ ]
163
214
  )
164
215
  )
165
- ]))
216
+ ].filter(Boolean)))
166
217
  )
167
218
  ])
168
219
  )