react-native-unistyles 2.10.0 → 3.0.0-alpha.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (685) hide show
  1. package/README.md +1 -1
  2. package/{react-native-unistyles.podspec → Unistyles.podspec} +10 -3
  3. package/android/CMakeLists.txt +35 -17
  4. package/android/build.gradle +4 -2
  5. package/android/src/main/cxx/cpp-adapter.cpp +82 -65
  6. package/android/src/main/java/com/unistyles/UnistylesPackage.kt +19 -9
  7. package/cxx/common/Breakpoints.h +43 -0
  8. package/cxx/common/Constants.h +10 -0
  9. package/cxx/common/Helpers.h +93 -0
  10. package/cxx/core/HostStyle.cpp +57 -0
  11. package/cxx/core/HostStyle.h +25 -0
  12. package/cxx/core/MediaQueries.cpp +87 -0
  13. package/cxx/core/MediaQueries.h +47 -0
  14. package/cxx/core/StyleSheet.h +32 -0
  15. package/cxx/core/StyleSheetRegistry.cpp +45 -0
  16. package/cxx/core/StyleSheetRegistry.h +26 -0
  17. package/cxx/core/Unistyle.h +81 -0
  18. package/cxx/core/UnistyleWrapper.cpp +5 -0
  19. package/cxx/core/UnistyleWrapper.h +50 -0
  20. package/cxx/core/UnistylesCommitHook.cpp +53 -0
  21. package/cxx/core/UnistylesCommitHook.h +27 -0
  22. package/cxx/core/UnistylesCommitShadowNode.h +26 -0
  23. package/cxx/core/UnistylesRegistry.cpp +176 -0
  24. package/cxx/core/UnistylesRegistry.h +59 -0
  25. package/cxx/core/UnistylesState.cpp +95 -0
  26. package/cxx/core/UnistylesState.h +50 -0
  27. package/cxx/hybridObjects/HybridNavigationBar.cpp +17 -0
  28. package/cxx/hybridObjects/HybridNavigationBar.h +19 -0
  29. package/cxx/hybridObjects/HybridShadowRegistry.cpp +26 -0
  30. package/cxx/hybridObjects/HybridShadowRegistry.h +33 -0
  31. package/cxx/hybridObjects/HybridStatusBar.cpp +17 -0
  32. package/cxx/hybridObjects/HybridStatusBar.h +19 -0
  33. package/cxx/hybridObjects/HybridStyleSheet.cpp +245 -0
  34. package/cxx/hybridObjects/HybridStyleSheet.h +61 -0
  35. package/cxx/hybridObjects/HybridUnistylesRuntime.cpp +199 -0
  36. package/cxx/hybridObjects/HybridUnistylesRuntime.h +70 -0
  37. package/cxx/parser/Parser.cpp +714 -0
  38. package/cxx/parser/Parser.h +55 -0
  39. package/cxx/shadowTree/ShadowLeafUpdate.h +13 -0
  40. package/cxx/shadowTree/ShadowTreeManager.cpp +124 -0
  41. package/cxx/shadowTree/ShadowTreeManager.h +23 -0
  42. package/ios/Equatable.swift +64 -0
  43. package/ios/Extensions.swift +11 -0
  44. package/ios/NativePlatform+ios.swift +291 -0
  45. package/ios/NativePlatform.swift +17 -0
  46. package/ios/NativePlatformListener+ios.swift +41 -0
  47. package/ios/Unistyles.h +3 -0
  48. package/ios/UnistylesModuleOnLoad.h +11 -0
  49. package/ios/UnistylesModuleOnLoad.mm +51 -0
  50. package/lib/commonjs/common.js +1 -58
  51. package/lib/commonjs/common.js.map +1 -1
  52. package/lib/commonjs/index.js +27 -66
  53. package/lib/commonjs/index.js.map +1 -1
  54. package/lib/commonjs/{utils/mq.js → mq.js} +12 -2
  55. package/lib/commonjs/mq.js.map +1 -0
  56. package/lib/commonjs/package.json +1 -0
  57. package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js +25 -0
  58. package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js.map +1 -0
  59. package/lib/commonjs/specs/NativePlatform/index.js +13 -0
  60. package/lib/commonjs/specs/NativePlatform/index.js.map +1 -0
  61. package/lib/commonjs/specs/NavigtionBar/UnistylesNavigationBar.nitro.js +6 -0
  62. package/lib/commonjs/specs/NavigtionBar/UnistylesNavigationBar.nitro.js.map +1 -0
  63. package/lib/commonjs/specs/NavigtionBar/index.js +17 -0
  64. package/lib/commonjs/specs/NavigtionBar/index.js.map +1 -0
  65. package/lib/commonjs/{types/plugin.js → specs/ShadowRegistry/ShadowRegistry.nitro.js} +1 -1
  66. package/lib/commonjs/specs/ShadowRegistry/ShadowRegistry.nitro.js.map +1 -0
  67. package/lib/commonjs/specs/ShadowRegistry/index.js +30 -0
  68. package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -0
  69. package/lib/commonjs/specs/ShadowRegistry/types.js +2 -0
  70. package/lib/commonjs/specs/ShadowRegistry/types.js.map +1 -0
  71. package/lib/commonjs/{types/normalizer.js → specs/StatusBar/UnistylesStatusBar.nitro.js} +1 -1
  72. package/lib/commonjs/specs/StatusBar/UnistylesStatusBar.nitro.js.map +1 -0
  73. package/lib/commonjs/specs/StatusBar/index.js +33 -0
  74. package/lib/commonjs/specs/StatusBar/index.js.map +1 -0
  75. package/lib/commonjs/specs/StyleSheet/UnistylesStyleSheet.nitro.js +6 -0
  76. package/lib/commonjs/specs/StyleSheet/UnistylesStyleSheet.nitro.js.map +1 -0
  77. package/lib/commonjs/specs/StyleSheet/index.js +18 -0
  78. package/lib/commonjs/specs/StyleSheet/index.js.map +1 -0
  79. package/lib/commonjs/specs/TurboUnistyles/NativeTurboUnistyles.js +8 -0
  80. package/lib/commonjs/specs/TurboUnistyles/NativeTurboUnistyles.js.map +1 -0
  81. package/lib/commonjs/specs/TurboUnistyles/index.js +4 -0
  82. package/lib/commonjs/specs/TurboUnistyles/index.js.map +1 -0
  83. package/lib/commonjs/{types/unistyles.js → specs/UnistylesRuntime/UnistylesRuntime.nitro.js} +1 -1
  84. package/lib/commonjs/specs/UnistylesRuntime/UnistylesRuntime.nitro.js.map +1 -0
  85. package/lib/commonjs/specs/UnistylesRuntime/index.js +26 -0
  86. package/lib/commonjs/specs/UnistylesRuntime/index.js.map +1 -0
  87. package/lib/commonjs/specs/index.js +47 -0
  88. package/lib/commonjs/specs/index.js.map +1 -0
  89. package/lib/commonjs/specs/index.web.js +24 -0
  90. package/lib/commonjs/specs/index.web.js.map +1 -0
  91. package/lib/commonjs/specs/types.js +24 -0
  92. package/lib/commonjs/specs/types.js.map +1 -0
  93. package/lib/commonjs/types/accessibility.js +37 -0
  94. package/lib/commonjs/types/accessibility.js.map +1 -0
  95. package/lib/commonjs/types/index.js +16 -30
  96. package/lib/commonjs/types/index.js.map +1 -1
  97. package/lib/commonjs/types/stylesheet.js +3 -0
  98. package/lib/commonjs/types/stylesheet.js.map +1 -1
  99. package/lib/commonjs/types/variants.js +4 -0
  100. package/lib/module/common.js +2 -56
  101. package/lib/module/common.js.map +1 -1
  102. package/lib/module/global.js +1 -1
  103. package/lib/module/index.js +12 -29
  104. package/lib/module/index.js.map +1 -1
  105. package/lib/module/{utils/mq.js → mq.js} +14 -2
  106. package/lib/module/mq.js.map +1 -0
  107. package/lib/module/package.json +1 -0
  108. package/lib/module/specs/NativePlatform/NativePlatform.nitro.js +23 -0
  109. package/lib/module/specs/NativePlatform/NativePlatform.nitro.js.map +1 -0
  110. package/lib/module/specs/NativePlatform/index.js +4 -0
  111. package/lib/module/specs/NativePlatform/index.js.map +1 -0
  112. package/lib/module/specs/NavigtionBar/UnistylesNavigationBar.nitro.js +4 -0
  113. package/lib/module/specs/NavigtionBar/UnistylesNavigationBar.nitro.js.map +1 -0
  114. package/lib/module/specs/NavigtionBar/index.js +12 -0
  115. package/lib/module/specs/NavigtionBar/index.js.map +1 -0
  116. package/lib/module/specs/ShadowRegistry/ShadowRegistry.nitro.js +4 -0
  117. package/lib/module/specs/ShadowRegistry/ShadowRegistry.nitro.js.map +1 -0
  118. package/lib/module/specs/ShadowRegistry/index.js +26 -0
  119. package/lib/module/specs/ShadowRegistry/index.js.map +1 -0
  120. package/lib/module/specs/ShadowRegistry/types.js +2 -0
  121. package/lib/module/specs/ShadowRegistry/types.js.map +1 -0
  122. package/lib/module/specs/StatusBar/UnistylesStatusBar.nitro.js +4 -0
  123. package/lib/module/specs/StatusBar/UnistylesStatusBar.nitro.js.map +1 -0
  124. package/lib/module/specs/StatusBar/index.js +28 -0
  125. package/lib/module/specs/StatusBar/index.js.map +1 -0
  126. package/lib/module/specs/StyleSheet/UnistylesStyleSheet.nitro.js +4 -0
  127. package/lib/module/specs/StyleSheet/UnistylesStyleSheet.nitro.js.map +1 -0
  128. package/lib/module/specs/StyleSheet/index.js +14 -0
  129. package/lib/module/specs/StyleSheet/index.js.map +1 -0
  130. package/lib/module/specs/TurboUnistyles/NativeTurboUnistyles.js +9 -0
  131. package/lib/module/specs/TurboUnistyles/NativeTurboUnistyles.js.map +1 -0
  132. package/lib/module/specs/TurboUnistyles/index.js +4 -0
  133. package/lib/module/specs/TurboUnistyles/index.js.map +1 -0
  134. package/lib/module/specs/UnistylesRuntime/UnistylesRuntime.nitro.js +4 -0
  135. package/lib/module/specs/UnistylesRuntime/UnistylesRuntime.nitro.js.map +1 -0
  136. package/lib/module/specs/UnistylesRuntime/index.js +22 -0
  137. package/lib/module/specs/UnistylesRuntime/index.js.map +1 -0
  138. package/lib/module/specs/index.js +10 -0
  139. package/lib/module/specs/index.js.map +1 -0
  140. package/lib/module/specs/index.web.js +5 -0
  141. package/lib/module/specs/index.web.js.map +1 -0
  142. package/lib/module/specs/types.js +20 -0
  143. package/lib/module/specs/types.js.map +1 -0
  144. package/lib/module/types/accessibility.js +33 -0
  145. package/lib/module/types/accessibility.js.map +1 -0
  146. package/lib/module/types/breakpoints.js +2 -0
  147. package/lib/module/types/common.js +1 -1
  148. package/lib/module/types/core.js +2 -0
  149. package/lib/module/types/index.js +3 -3
  150. package/lib/module/types/index.js.map +1 -1
  151. package/lib/module/types/stylesheet.js +5 -0
  152. package/lib/module/types/stylesheet.js.map +1 -1
  153. package/lib/module/types/variants.js +2 -0
  154. package/lib/typescript/example/App.d.ts +4 -0
  155. package/lib/typescript/example/App.d.ts.map +1 -0
  156. package/lib/typescript/example/unistyles.d.ts +63 -0
  157. package/lib/typescript/example/unistyles.d.ts.map +1 -0
  158. package/lib/typescript/expo-example/App.d.ts +4 -0
  159. package/lib/typescript/expo-example/App.d.ts.map +1 -0
  160. package/lib/typescript/expo-example/unistyles.d.ts +63 -0
  161. package/lib/typescript/expo-example/unistyles.d.ts.map +1 -0
  162. package/lib/typescript/src/common.d.ts +0 -50
  163. package/lib/typescript/src/common.d.ts.map +1 -1
  164. package/lib/typescript/src/index.d.ts +3 -76
  165. package/lib/typescript/src/index.d.ts.map +1 -1
  166. package/lib/typescript/src/{utils/mq.d.ts → mq.d.ts} +2 -2
  167. package/lib/typescript/src/mq.d.ts.map +1 -0
  168. package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts +57 -0
  169. package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts.map +1 -0
  170. package/lib/typescript/src/specs/NativePlatform/index.d.ts +3 -0
  171. package/lib/typescript/src/specs/NativePlatform/index.d.ts.map +1 -0
  172. package/lib/typescript/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.d.ts +11 -0
  173. package/lib/typescript/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.d.ts.map +1 -0
  174. package/lib/typescript/src/specs/NavigtionBar/index.d.ts +11 -0
  175. package/lib/typescript/src/specs/NavigtionBar/index.d.ts.map +1 -0
  176. package/lib/typescript/src/specs/ShadowRegistry/ShadowRegistry.nitro.d.ts +7 -0
  177. package/lib/typescript/src/specs/ShadowRegistry/ShadowRegistry.nitro.d.ts.map +1 -0
  178. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts +12 -0
  179. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -0
  180. package/lib/typescript/src/specs/ShadowRegistry/types.d.ts +27 -0
  181. package/lib/typescript/src/specs/ShadowRegistry/types.d.ts.map +1 -0
  182. package/lib/typescript/src/specs/StatusBar/UnistylesStatusBar.nitro.d.ts +11 -0
  183. package/lib/typescript/src/specs/StatusBar/UnistylesStatusBar.nitro.d.ts.map +1 -0
  184. package/lib/typescript/src/specs/StatusBar/index.d.ts +15 -0
  185. package/lib/typescript/src/specs/StatusBar/index.d.ts.map +1 -0
  186. package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts +9 -0
  187. package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts.map +1 -0
  188. package/lib/typescript/src/specs/StyleSheet/index.d.ts +28 -0
  189. package/lib/typescript/src/specs/StyleSheet/index.d.ts.map +1 -0
  190. package/lib/typescript/src/specs/TurboUnistyles/NativeTurboUnistyles.d.ts +2 -0
  191. package/lib/typescript/src/specs/TurboUnistyles/NativeTurboUnistyles.d.ts.map +1 -0
  192. package/lib/typescript/src/specs/TurboUnistyles/index.d.ts +2 -0
  193. package/lib/typescript/src/specs/TurboUnistyles/index.d.ts.map +1 -0
  194. package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts +41 -0
  195. package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts.map +1 -0
  196. package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts +25 -0
  197. package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts.map +1 -0
  198. package/lib/typescript/src/specs/index.d.ts +10 -0
  199. package/lib/typescript/src/specs/index.d.ts.map +1 -0
  200. package/lib/typescript/src/specs/index.web.d.ts +4 -0
  201. package/lib/typescript/src/specs/index.web.d.ts.map +1 -0
  202. package/lib/typescript/src/specs/types.d.ts +32 -0
  203. package/lib/typescript/src/specs/types.d.ts.map +1 -0
  204. package/lib/typescript/src/types/accessibility.d.ts +28 -0
  205. package/lib/typescript/src/types/accessibility.d.ts.map +1 -0
  206. package/lib/typescript/src/types/breakpoints.d.ts +12 -5
  207. package/lib/typescript/src/types/breakpoints.d.ts.map +1 -1
  208. package/lib/typescript/src/types/common.d.ts +1 -0
  209. package/lib/typescript/src/types/common.d.ts.map +1 -1
  210. package/lib/typescript/src/types/index.d.ts +2 -5
  211. package/lib/typescript/src/types/index.d.ts.map +1 -1
  212. package/lib/typescript/src/types/stylesheet.d.ts +31 -9
  213. package/lib/typescript/src/types/stylesheet.d.ts.map +1 -1
  214. package/lib/typescript/src/types/variants.d.ts +5 -8
  215. package/lib/typescript/src/types/variants.d.ts.map +1 -1
  216. package/lib/typescript/web/convert/boxShadow.d.ts +3 -0
  217. package/lib/typescript/web/convert/boxShadow.d.ts.map +1 -0
  218. package/lib/typescript/web/convert/breakpoint.d.ts +3 -0
  219. package/lib/typescript/web/convert/breakpoint.d.ts.map +1 -0
  220. package/lib/typescript/web/convert/index.d.ts +4 -0
  221. package/lib/typescript/web/convert/index.d.ts.map +1 -0
  222. package/lib/typescript/web/convert/shadow.d.ts +2 -0
  223. package/lib/typescript/web/convert/shadow.d.ts.map +1 -0
  224. package/lib/typescript/web/convert/style.d.ts +3 -0
  225. package/lib/typescript/web/convert/style.d.ts.map +1 -0
  226. package/lib/typescript/web/convert/textShadow.d.ts +3 -0
  227. package/lib/typescript/web/convert/textShadow.d.ts.map +1 -0
  228. package/lib/typescript/web/convert/transform.d.ts +5 -0
  229. package/lib/typescript/web/convert/transform.d.ts.map +1 -0
  230. package/lib/typescript/web/convert/types.d.ts +13 -0
  231. package/lib/typescript/web/convert/types.d.ts.map +1 -0
  232. package/lib/typescript/web/convert/utils.d.ts +8 -0
  233. package/lib/typescript/web/convert/utils.d.ts.map +1 -0
  234. package/lib/typescript/web/create.d.ts +2449 -0
  235. package/lib/typescript/web/create.d.ts.map +1 -0
  236. package/lib/typescript/web/index.d.ts +2464 -0
  237. package/lib/typescript/web/index.d.ts.map +1 -0
  238. package/lib/typescript/web/listener/index.d.ts +2 -0
  239. package/lib/typescript/web/listener/index.d.ts.map +1 -0
  240. package/lib/typescript/web/listener/listener.d.ts +10 -0
  241. package/lib/typescript/web/listener/listener.d.ts.map +1 -0
  242. package/lib/typescript/web/mock.d.ts +14 -0
  243. package/lib/typescript/web/mock.d.ts.map +1 -0
  244. package/lib/typescript/web/mq.d.ts +4 -0
  245. package/lib/typescript/web/mq.d.ts.map +1 -0
  246. package/lib/typescript/web/pseudo.d.ts +4 -0
  247. package/lib/typescript/web/pseudo.d.ts.map +1 -0
  248. package/lib/typescript/web/registry.d.ts +12 -0
  249. package/lib/typescript/web/registry.d.ts.map +1 -0
  250. package/lib/typescript/web/runtime.d.ts +42 -0
  251. package/lib/typescript/web/runtime.d.ts.map +1 -0
  252. package/lib/typescript/web/state.d.ts +24 -0
  253. package/lib/typescript/web/state.d.ts.map +1 -0
  254. package/lib/typescript/web/useVariants.d.ts +3 -0
  255. package/lib/typescript/web/useVariants.d.ts.map +1 -0
  256. package/lib/typescript/web/utils.d.ts +18 -0
  257. package/lib/typescript/web/utils.d.ts.map +1 -0
  258. package/nitrogen/generated/android/UnistylesOnLoad.cpp +34 -0
  259. package/nitrogen/generated/android/UnistylesOnLoad.hpp +25 -0
  260. package/nitrogen/generated/android/UnistylesOnLoad.kt +1 -0
  261. package/nitrogen/generated/android/c++/JColorScheme.hpp +61 -0
  262. package/nitrogen/generated/android/c++/JDimensions.hpp +56 -0
  263. package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency_.hpp +60 -0
  264. package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.cpp +145 -0
  265. package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.hpp +70 -0
  266. package/nitrogen/generated/android/c++/JInsets.hpp +68 -0
  267. package/nitrogen/generated/android/c++/JOrientation.hpp +58 -0
  268. package/nitrogen/generated/android/c++/JUnistyleDependency.hpp +94 -0
  269. package/nitrogen/generated/android/c++/JUnistylesNativeMiniRuntime.hpp +96 -0
  270. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/ColorScheme.kt +22 -0
  271. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Dimensions.kt +21 -0
  272. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Func_void_std__vector_UnistyleDependency_.kt +45 -0
  273. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/HybridNativePlatformSpec.kt +134 -0
  274. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Insets.kt +24 -0
  275. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Orientation.kt +21 -0
  276. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistyleDependency.kt +33 -0
  277. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistylesNativeMiniRuntime.kt +29 -0
  278. package/nitrogen/generated/android/unistyles+autolinking.cmake +52 -0
  279. package/nitrogen/generated/android/unistyles+autolinking.gradle +25 -0
  280. package/nitrogen/generated/ios/Unistyles+autolinking.rb +56 -0
  281. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.cpp +8 -0
  282. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.hpp +86 -0
  283. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Umbrella.hpp +88 -0
  284. package/nitrogen/generated/ios/c++/HybridNativePlatformSpecSwift.cpp +11 -0
  285. package/nitrogen/generated/ios/c++/HybridNativePlatformSpecSwift.hpp +151 -0
  286. package/nitrogen/generated/ios/swift/ColorScheme.swift +44 -0
  287. package/nitrogen/generated/ios/swift/Dimensions.swift +46 -0
  288. package/nitrogen/generated/ios/swift/HybridNativePlatformSpec.swift +65 -0
  289. package/nitrogen/generated/ios/swift/HybridNativePlatformSpecCxx.swift +273 -0
  290. package/nitrogen/generated/ios/swift/Insets.swift +79 -0
  291. package/nitrogen/generated/ios/swift/Orientation.swift +40 -0
  292. package/nitrogen/generated/ios/swift/UnistyleDependency.swift +88 -0
  293. package/nitrogen/generated/ios/swift/UnistylesNativeMiniRuntime.swift +134 -0
  294. package/nitrogen/generated/shared/c++/ColorScheme.hpp +82 -0
  295. package/nitrogen/generated/shared/c++/Dimensions.hpp +72 -0
  296. package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.cpp +38 -0
  297. package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.hpp +95 -0
  298. package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.cpp +24 -0
  299. package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.hpp +61 -0
  300. package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.cpp +36 -0
  301. package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.hpp +88 -0
  302. package/nitrogen/generated/shared/c++/HybridUnistylesShadowRegistrySpec.cpp +21 -0
  303. package/nitrogen/generated/shared/c++/HybridUnistylesShadowRegistrySpec.hpp +59 -0
  304. package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.cpp +24 -0
  305. package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.hpp +61 -0
  306. package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.cpp +22 -0
  307. package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.hpp +60 -0
  308. package/nitrogen/generated/shared/c++/Insets.hpp +84 -0
  309. package/nitrogen/generated/shared/c++/Orientation.hpp +78 -0
  310. package/nitrogen/generated/shared/c++/UnistyleDependency.hpp +76 -0
  311. package/nitrogen/generated/shared/c++/UnistylesCxxMiniRuntime.hpp +128 -0
  312. package/nitrogen/generated/shared/c++/UnistylesNativeMiniRuntime.hpp +115 -0
  313. package/package.json +34 -59
  314. package/plugin/__tests__/dependencies.spec.js +360 -0
  315. package/plugin/__tests__/ref.spec.js +991 -0
  316. package/plugin/__tests__/stylesheet.spec.js +396 -0
  317. package/plugin/common.js +119 -0
  318. package/plugin/import.js +8 -0
  319. package/plugin/index.js +122 -0
  320. package/plugin/ref.js +179 -0
  321. package/plugin/style.js +58 -0
  322. package/plugin/stylesheet.js +147 -0
  323. package/src/common.ts +0 -58
  324. package/src/index.ts +11 -52
  325. package/src/{utils/mq.ts → mq.ts} +13 -4
  326. package/src/specs/NativePlatform/NativePlatform.nitro.ts +61 -0
  327. package/src/specs/NativePlatform/index.ts +2 -0
  328. package/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.ts +10 -0
  329. package/src/specs/NavigtionBar/index.ts +25 -0
  330. package/src/specs/ShadowRegistry/ShadowRegistry.nitro.ts +3 -0
  331. package/src/specs/ShadowRegistry/index.ts +51 -0
  332. package/src/specs/ShadowRegistry/types.ts +29 -0
  333. package/src/specs/StatusBar/UnistylesStatusBar.nitro.ts +10 -0
  334. package/src/specs/StatusBar/index.ts +48 -0
  335. package/src/specs/StyleSheet/UnistylesStyleSheet.nitro.ts +6 -0
  336. package/src/specs/StyleSheet/index.ts +44 -0
  337. package/src/specs/TurboUnistyles/NativeTurboUnistyles.ts +8 -0
  338. package/src/specs/TurboUnistyles/index.ts +1 -0
  339. package/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.ts +47 -0
  340. package/src/specs/UnistylesRuntime/index.ts +64 -0
  341. package/src/specs/index.ts +23 -0
  342. package/src/specs/index.web.ts +5 -0
  343. package/src/specs/types.ts +38 -0
  344. package/src/types/accessibility.ts +29 -0
  345. package/src/types/breakpoints.ts +21 -14
  346. package/src/types/common.ts +1 -0
  347. package/src/types/index.ts +2 -5
  348. package/src/types/stylesheet.ts +41 -9
  349. package/src/types/variants.ts +7 -11
  350. package/web/convert/boxShadow.ts +72 -0
  351. package/web/convert/breakpoint.ts +21 -0
  352. package/web/convert/index.ts +78 -0
  353. package/web/convert/shadow.ts +68 -0
  354. package/web/convert/style.ts +94 -0
  355. package/web/convert/textShadow.ts +69 -0
  356. package/web/convert/transform.ts +89 -0
  357. package/web/convert/types.ts +16 -0
  358. package/web/convert/utils.ts +54 -0
  359. package/web/create.ts +102 -0
  360. package/web/index.ts +24 -0
  361. package/web/listener/index.ts +1 -0
  362. package/web/listener/listener.ts +33 -0
  363. package/web/mock.ts +35 -0
  364. package/web/mq.ts +19 -0
  365. package/web/pseudo.ts +11 -0
  366. package/web/registry.ts +41 -0
  367. package/web/runtime.ts +198 -0
  368. package/web/state.ts +148 -0
  369. package/web/useVariants.ts +99 -0
  370. package/web/utils.ts +95 -0
  371. package/android/src/main/java/com/unistyles/Models.kt +0 -27
  372. package/android/src/main/java/com/unistyles/Platform.kt +0 -324
  373. package/android/src/main/java/com/unistyles/UnistylesModule.kt +0 -217
  374. package/cxx/Macros.h +0 -11
  375. package/cxx/UnistylesImpl.cpp +0 -310
  376. package/cxx/UnistylesModel.cpp +0 -230
  377. package/cxx/UnistylesModel.h +0 -143
  378. package/cxx/UnistylesRuntime.cpp +0 -36
  379. package/cxx/UnistylesRuntime.h +0 -81
  380. package/ios/UnistylesModule.h +0 -28
  381. package/ios/UnistylesModule.mm +0 -77
  382. package/ios/platform/Platform_Shared.h +0 -8
  383. package/ios/platform/Platform_Shared.mm +0 -160
  384. package/ios/platform/Platform_iOS.h +0 -20
  385. package/ios/platform/Platform_iOS.mm +0 -193
  386. package/ios/platform/Platform_macOS.h +0 -19
  387. package/ios/platform/Platform_macOS.mm +0 -117
  388. package/ios/platform/Platform_tvOS.h +0 -16
  389. package/ios/platform/Platform_tvOS.mm +0 -92
  390. package/ios/platform/Platform_visionOS.h +0 -19
  391. package/ios/platform/Platform_visionOS.mm +0 -116
  392. package/lib/commonjs/core/UnistyleRegistry.js +0 -110
  393. package/lib/commonjs/core/UnistyleRegistry.js.map +0 -1
  394. package/lib/commonjs/core/Unistyles.js +0 -39
  395. package/lib/commonjs/core/Unistyles.js.map +0 -1
  396. package/lib/commonjs/core/UnistylesModule.js +0 -268
  397. package/lib/commonjs/core/UnistylesModule.js.map +0 -1
  398. package/lib/commonjs/core/UnistylesModule.native.js +0 -9
  399. package/lib/commonjs/core/UnistylesModule.native.js.map +0 -1
  400. package/lib/commonjs/core/UnistylesModule.windows.js +0 -11
  401. package/lib/commonjs/core/UnistylesModule.windows.js.map +0 -1
  402. package/lib/commonjs/core/UnistylesRuntime.js +0 -284
  403. package/lib/commonjs/core/UnistylesRuntime.js.map +0 -1
  404. package/lib/commonjs/core/index.js +0 -13
  405. package/lib/commonjs/core/index.js.map +0 -1
  406. package/lib/commonjs/core/mocks/UnistylesMockedBridge.js +0 -36
  407. package/lib/commonjs/core/mocks/UnistylesMockedBridge.js.map +0 -1
  408. package/lib/commonjs/core/mocks/UnistylesMockedRegistry.js +0 -46
  409. package/lib/commonjs/core/mocks/UnistylesMockedRegistry.js.map +0 -1
  410. package/lib/commonjs/core/mocks/UnistylesMockedRuntime.js +0 -122
  411. package/lib/commonjs/core/mocks/UnistylesMockedRuntime.js.map +0 -1
  412. package/lib/commonjs/core/mocks/index.js +0 -27
  413. package/lib/commonjs/core/mocks/index.js.map +0 -1
  414. package/lib/commonjs/createStyleSheet.js +0 -14
  415. package/lib/commonjs/createStyleSheet.js.map +0 -1
  416. package/lib/commonjs/hooks/index.js +0 -34
  417. package/lib/commonjs/hooks/index.js.map +0 -1
  418. package/lib/commonjs/hooks/useCSS.js +0 -44
  419. package/lib/commonjs/hooks/useCSS.js.map +0 -1
  420. package/lib/commonjs/hooks/useCSS.native.js +0 -9
  421. package/lib/commonjs/hooks/useCSS.native.js.map +0 -1
  422. package/lib/commonjs/hooks/useInitialTheme.js +0 -17
  423. package/lib/commonjs/hooks/useInitialTheme.js.map +0 -1
  424. package/lib/commonjs/hooks/useUnistyles.js +0 -74
  425. package/lib/commonjs/hooks/useUnistyles.js.map +0 -1
  426. package/lib/commonjs/hooks/useVariants.js +0 -14
  427. package/lib/commonjs/hooks/useVariants.js.map +0 -1
  428. package/lib/commonjs/normalizer/index.js +0 -32
  429. package/lib/commonjs/normalizer/index.js.map +0 -1
  430. package/lib/commonjs/normalizer/module.d.js +0 -2
  431. package/lib/commonjs/normalizer/module.d.js.map +0 -1
  432. package/lib/commonjs/normalizer/normalizeStyle.js +0 -59
  433. package/lib/commonjs/normalizer/normalizeStyle.js.map +0 -1
  434. package/lib/commonjs/normalizer/normalizer.js +0 -88
  435. package/lib/commonjs/normalizer/normalizer.js.map +0 -1
  436. package/lib/commonjs/normalizer/normalizer.macos.js +0 -3
  437. package/lib/commonjs/normalizer/normalizer.macos.js.map +0 -1
  438. package/lib/commonjs/plugins/cssMediaQueriesPlugin.js +0 -14
  439. package/lib/commonjs/plugins/cssMediaQueriesPlugin.js.map +0 -1
  440. package/lib/commonjs/plugins/index.js +0 -20
  441. package/lib/commonjs/plugins/index.js.map +0 -1
  442. package/lib/commonjs/plugins/normalizeWebStylesPlugin.js +0 -12
  443. package/lib/commonjs/plugins/normalizeWebStylesPlugin.js.map +0 -1
  444. package/lib/commonjs/types/color.js +0 -2
  445. package/lib/commonjs/types/color.js.map +0 -1
  446. package/lib/commonjs/types/normalizer.js.map +0 -1
  447. package/lib/commonjs/types/plugin.js.map +0 -1
  448. package/lib/commonjs/types/unistyles.js.map +0 -1
  449. package/lib/commonjs/useStyles.js +0 -47
  450. package/lib/commonjs/useStyles.js.map +0 -1
  451. package/lib/commonjs/utils/breakpoints.js +0 -33
  452. package/lib/commonjs/utils/breakpoints.js.map +0 -1
  453. package/lib/commonjs/utils/cssMediaQuery.js +0 -244
  454. package/lib/commonjs/utils/cssMediaQuery.js.map +0 -1
  455. package/lib/commonjs/utils/generateId.js +0 -15
  456. package/lib/commonjs/utils/generateId.js.map +0 -1
  457. package/lib/commonjs/utils/hash32.js +0 -43
  458. package/lib/commonjs/utils/hash32.js.map +0 -1
  459. package/lib/commonjs/utils/index.js +0 -91
  460. package/lib/commonjs/utils/index.js.map +0 -1
  461. package/lib/commonjs/utils/mq.js.map +0 -1
  462. package/lib/commonjs/utils/mqParser.js +0 -89
  463. package/lib/commonjs/utils/mqParser.js.map +0 -1
  464. package/lib/commonjs/utils/parseColor.js +0 -35
  465. package/lib/commonjs/utils/parseColor.js.map +0 -1
  466. package/lib/commonjs/utils/styles.js +0 -73
  467. package/lib/commonjs/utils/styles.js.map +0 -1
  468. package/lib/commonjs/utils/withPlugins.js +0 -15
  469. package/lib/commonjs/utils/withPlugins.js.map +0 -1
  470. package/lib/module/core/UnistyleRegistry.js +0 -103
  471. package/lib/module/core/UnistyleRegistry.js.map +0 -1
  472. package/lib/module/core/Unistyles.js +0 -33
  473. package/lib/module/core/Unistyles.js.map +0 -1
  474. package/lib/module/core/UnistylesModule.js +0 -261
  475. package/lib/module/core/UnistylesModule.js.map +0 -1
  476. package/lib/module/core/UnistylesModule.native.js +0 -3
  477. package/lib/module/core/UnistylesModule.native.js.map +0 -1
  478. package/lib/module/core/UnistylesModule.windows.js +0 -5
  479. package/lib/module/core/UnistylesModule.windows.js.map +0 -1
  480. package/lib/module/core/UnistylesRuntime.js +0 -278
  481. package/lib/module/core/UnistylesRuntime.js.map +0 -1
  482. package/lib/module/core/index.js +0 -3
  483. package/lib/module/core/index.js.map +0 -1
  484. package/lib/module/core/mocks/UnistylesMockedBridge.js +0 -29
  485. package/lib/module/core/mocks/UnistylesMockedBridge.js.map +0 -1
  486. package/lib/module/core/mocks/UnistylesMockedRegistry.js +0 -39
  487. package/lib/module/core/mocks/UnistylesMockedRegistry.js.map +0 -1
  488. package/lib/module/core/mocks/UnistylesMockedRuntime.js +0 -114
  489. package/lib/module/core/mocks/UnistylesMockedRuntime.js.map +0 -1
  490. package/lib/module/core/mocks/index.js +0 -4
  491. package/lib/module/core/mocks/index.js.map +0 -1
  492. package/lib/module/createStyleSheet.js +0 -7
  493. package/lib/module/createStyleSheet.js.map +0 -1
  494. package/lib/module/hooks/index.js +0 -5
  495. package/lib/module/hooks/index.js.map +0 -1
  496. package/lib/module/hooks/useCSS.js +0 -37
  497. package/lib/module/hooks/useCSS.js.map +0 -1
  498. package/lib/module/hooks/useCSS.native.js +0 -2
  499. package/lib/module/hooks/useCSS.native.js.map +0 -1
  500. package/lib/module/hooks/useInitialTheme.js +0 -10
  501. package/lib/module/hooks/useInitialTheme.js.map +0 -1
  502. package/lib/module/hooks/useUnistyles.js +0 -67
  503. package/lib/module/hooks/useUnistyles.js.map +0 -1
  504. package/lib/module/hooks/useVariants.js +0 -7
  505. package/lib/module/hooks/useVariants.js.map +0 -1
  506. package/lib/module/normalizer/index.js +0 -3
  507. package/lib/module/normalizer/index.js.map +0 -1
  508. package/lib/module/normalizer/module.d.js +0 -2
  509. package/lib/module/normalizer/module.d.js.map +0 -1
  510. package/lib/module/normalizer/normalizeStyle.js +0 -52
  511. package/lib/module/normalizer/normalizeStyle.js.map +0 -1
  512. package/lib/module/normalizer/normalizer.js +0 -78
  513. package/lib/module/normalizer/normalizer.js.map +0 -1
  514. package/lib/module/normalizer/normalizer.macos.js +0 -2
  515. package/lib/module/normalizer/normalizer.macos.js.map +0 -1
  516. package/lib/module/plugins/cssMediaQueriesPlugin.js +0 -7
  517. package/lib/module/plugins/cssMediaQueriesPlugin.js.map +0 -1
  518. package/lib/module/plugins/index.js +0 -3
  519. package/lib/module/plugins/index.js.map +0 -1
  520. package/lib/module/plugins/normalizeWebStylesPlugin.js +0 -6
  521. package/lib/module/plugins/normalizeWebStylesPlugin.js.map +0 -1
  522. package/lib/module/types/color.js +0 -2
  523. package/lib/module/types/color.js.map +0 -1
  524. package/lib/module/types/normalizer.js +0 -2
  525. package/lib/module/types/normalizer.js.map +0 -1
  526. package/lib/module/types/plugin.js +0 -2
  527. package/lib/module/types/plugin.js.map +0 -1
  528. package/lib/module/types/unistyles.js +0 -2
  529. package/lib/module/types/unistyles.js.map +0 -1
  530. package/lib/module/useStyles.js +0 -40
  531. package/lib/module/useStyles.js.map +0 -1
  532. package/lib/module/utils/breakpoints.js +0 -26
  533. package/lib/module/utils/breakpoints.js.map +0 -1
  534. package/lib/module/utils/cssMediaQuery.js +0 -237
  535. package/lib/module/utils/cssMediaQuery.js.map +0 -1
  536. package/lib/module/utils/generateId.js +0 -7
  537. package/lib/module/utils/generateId.js.map +0 -1
  538. package/lib/module/utils/hash32.js +0 -36
  539. package/lib/module/utils/hash32.js.map +0 -1
  540. package/lib/module/utils/index.js +0 -8
  541. package/lib/module/utils/index.js.map +0 -1
  542. package/lib/module/utils/mq.js.map +0 -1
  543. package/lib/module/utils/mqParser.js +0 -78
  544. package/lib/module/utils/mqParser.js.map +0 -1
  545. package/lib/module/utils/parseColor.js +0 -28
  546. package/lib/module/utils/parseColor.js.map +0 -1
  547. package/lib/module/utils/styles.js +0 -64
  548. package/lib/module/utils/styles.js.map +0 -1
  549. package/lib/module/utils/withPlugins.js +0 -8
  550. package/lib/module/utils/withPlugins.js.map +0 -1
  551. package/lib/typescript/src/core/UnistyleRegistry.d.ts +0 -57
  552. package/lib/typescript/src/core/UnistyleRegistry.d.ts.map +0 -1
  553. package/lib/typescript/src/core/Unistyles.d.ts +0 -13
  554. package/lib/typescript/src/core/Unistyles.d.ts.map +0 -1
  555. package/lib/typescript/src/core/UnistylesModule.d.ts +0 -21
  556. package/lib/typescript/src/core/UnistylesModule.d.ts.map +0 -1
  557. package/lib/typescript/src/core/UnistylesModule.native.d.ts +0 -6
  558. package/lib/typescript/src/core/UnistylesModule.native.d.ts.map +0 -1
  559. package/lib/typescript/src/core/UnistylesModule.windows.d.ts +0 -6
  560. package/lib/typescript/src/core/UnistylesModule.windows.d.ts.map +0 -1
  561. package/lib/typescript/src/core/UnistylesRuntime.d.ts +0 -179
  562. package/lib/typescript/src/core/UnistylesRuntime.d.ts.map +0 -1
  563. package/lib/typescript/src/core/index.d.ts +0 -5
  564. package/lib/typescript/src/core/index.d.ts.map +0 -1
  565. package/lib/typescript/src/core/mocks/UnistylesMockedBridge.d.ts +0 -28
  566. package/lib/typescript/src/core/mocks/UnistylesMockedBridge.d.ts.map +0 -1
  567. package/lib/typescript/src/core/mocks/UnistylesMockedRegistry.d.ts +0 -21
  568. package/lib/typescript/src/core/mocks/UnistylesMockedRegistry.d.ts.map +0 -1
  569. package/lib/typescript/src/core/mocks/UnistylesMockedRuntime.d.ts +0 -79
  570. package/lib/typescript/src/core/mocks/UnistylesMockedRuntime.d.ts.map +0 -1
  571. package/lib/typescript/src/core/mocks/index.d.ts +0 -4
  572. package/lib/typescript/src/core/mocks/index.d.ts.map +0 -1
  573. package/lib/typescript/src/createStyleSheet.d.ts +0 -8
  574. package/lib/typescript/src/createStyleSheet.d.ts.map +0 -1
  575. package/lib/typescript/src/hooks/index.d.ts +0 -5
  576. package/lib/typescript/src/hooks/index.d.ts.map +0 -1
  577. package/lib/typescript/src/hooks/useCSS.d.ts +0 -3
  578. package/lib/typescript/src/hooks/useCSS.d.ts.map +0 -1
  579. package/lib/typescript/src/hooks/useCSS.native.d.ts +0 -3
  580. package/lib/typescript/src/hooks/useCSS.native.d.ts.map +0 -1
  581. package/lib/typescript/src/hooks/useInitialTheme.d.ts +0 -3
  582. package/lib/typescript/src/hooks/useInitialTheme.d.ts.map +0 -1
  583. package/lib/typescript/src/hooks/useUnistyles.d.ts +0 -27
  584. package/lib/typescript/src/hooks/useUnistyles.d.ts.map +0 -1
  585. package/lib/typescript/src/hooks/useVariants.d.ts +0 -3
  586. package/lib/typescript/src/hooks/useVariants.d.ts.map +0 -1
  587. package/lib/typescript/src/normalizer/index.d.ts +0 -3
  588. package/lib/typescript/src/normalizer/index.d.ts.map +0 -1
  589. package/lib/typescript/src/normalizer/normalizeStyle.d.ts +0 -3
  590. package/lib/typescript/src/normalizer/normalizeStyle.d.ts.map +0 -1
  591. package/lib/typescript/src/normalizer/normalizer.d.ts +0 -11
  592. package/lib/typescript/src/normalizer/normalizer.d.ts.map +0 -1
  593. package/lib/typescript/src/normalizer/normalizer.macos.d.ts +0 -1
  594. package/lib/typescript/src/normalizer/normalizer.macos.d.ts.map +0 -1
  595. package/lib/typescript/src/plugins/cssMediaQueriesPlugin.d.ts +0 -3
  596. package/lib/typescript/src/plugins/cssMediaQueriesPlugin.d.ts.map +0 -1
  597. package/lib/typescript/src/plugins/index.d.ts +0 -3
  598. package/lib/typescript/src/plugins/index.d.ts.map +0 -1
  599. package/lib/typescript/src/plugins/normalizeWebStylesPlugin.d.ts +0 -3
  600. package/lib/typescript/src/plugins/normalizeWebStylesPlugin.d.ts.map +0 -1
  601. package/lib/typescript/src/types/color.d.ts +0 -4
  602. package/lib/typescript/src/types/color.d.ts.map +0 -1
  603. package/lib/typescript/src/types/normalizer.d.ts +0 -20
  604. package/lib/typescript/src/types/normalizer.d.ts.map +0 -1
  605. package/lib/typescript/src/types/plugin.d.ts +0 -7
  606. package/lib/typescript/src/types/plugin.d.ts.map +0 -1
  607. package/lib/typescript/src/types/unistyles.d.ts +0 -81
  608. package/lib/typescript/src/types/unistyles.d.ts.map +0 -1
  609. package/lib/typescript/src/useStyles.d.ts +0 -16
  610. package/lib/typescript/src/useStyles.d.ts.map +0 -1
  611. package/lib/typescript/src/utils/breakpoints.d.ts +0 -3
  612. package/lib/typescript/src/utils/breakpoints.d.ts.map +0 -1
  613. package/lib/typescript/src/utils/cssMediaQuery.d.ts +0 -4
  614. package/lib/typescript/src/utils/cssMediaQuery.d.ts.map +0 -1
  615. package/lib/typescript/src/utils/generateId.d.ts +0 -2
  616. package/lib/typescript/src/utils/generateId.d.ts.map +0 -1
  617. package/lib/typescript/src/utils/hash32.d.ts +0 -2
  618. package/lib/typescript/src/utils/hash32.d.ts.map +0 -1
  619. package/lib/typescript/src/utils/index.d.ts +0 -9
  620. package/lib/typescript/src/utils/index.d.ts.map +0 -1
  621. package/lib/typescript/src/utils/mq.d.ts.map +0 -1
  622. package/lib/typescript/src/utils/mqParser.d.ts +0 -16
  623. package/lib/typescript/src/utils/mqParser.d.ts.map +0 -1
  624. package/lib/typescript/src/utils/parseColor.d.ts +0 -3
  625. package/lib/typescript/src/utils/parseColor.d.ts.map +0 -1
  626. package/lib/typescript/src/utils/styles.d.ts +0 -5
  627. package/lib/typescript/src/utils/styles.d.ts.map +0 -1
  628. package/lib/typescript/src/utils/withPlugins.d.ts +0 -3
  629. package/lib/typescript/src/utils/withPlugins.d.ts.map +0 -1
  630. package/react-native.config.js +0 -11
  631. package/src/__tests__/mocks.ts +0 -24
  632. package/src/core/UnistyleRegistry.ts +0 -130
  633. package/src/core/Unistyles.ts +0 -44
  634. package/src/core/UnistylesModule.native.ts +0 -7
  635. package/src/core/UnistylesModule.ts +0 -305
  636. package/src/core/UnistylesModule.windows.ts +0 -9
  637. package/src/core/UnistylesRuntime.ts +0 -284
  638. package/src/core/index.ts +0 -8
  639. package/src/core/mocks/UnistylesMockedBridge.ts +0 -30
  640. package/src/core/mocks/UnistylesMockedRegistry.ts +0 -47
  641. package/src/core/mocks/UnistylesMockedRuntime.ts +0 -144
  642. package/src/core/mocks/index.ts +0 -3
  643. package/src/createStyleSheet.ts +0 -8
  644. package/src/hooks/index.ts +0 -4
  645. package/src/hooks/useCSS.native.ts +0 -3
  646. package/src/hooks/useCSS.ts +0 -51
  647. package/src/hooks/useInitialTheme.ts +0 -11
  648. package/src/hooks/useUnistyles.ts +0 -74
  649. package/src/hooks/useVariants.ts +0 -10
  650. package/src/normalizer/index.ts +0 -2
  651. package/src/normalizer/normalizeStyle.ts +0 -82
  652. package/src/normalizer/normalizer.macos.ts +0 -1
  653. package/src/normalizer/normalizer.ts +0 -100
  654. package/src/plugins/cssMediaQueriesPlugin.ts +0 -8
  655. package/src/plugins/index.ts +0 -2
  656. package/src/plugins/normalizeWebStylesPlugin.ts +0 -7
  657. package/src/types/color.ts +0 -26
  658. package/src/types/normalizer.ts +0 -29
  659. package/src/types/plugin.ts +0 -7
  660. package/src/types/unistyles.ts +0 -98
  661. package/src/useStyles.ts +0 -60
  662. package/src/utils/breakpoints.ts +0 -44
  663. package/src/utils/cssMediaQuery.ts +0 -268
  664. package/src/utils/generateId.ts +0 -10
  665. package/src/utils/hash32.ts +0 -53
  666. package/src/utils/index.ts +0 -8
  667. package/src/utils/mqParser.ts +0 -99
  668. package/src/utils/parseColor.ts +0 -33
  669. package/src/utils/styles.ts +0 -90
  670. package/src/utils/withPlugins.ts +0 -13
  671. package/windows/ExperimentalFeatures.props +0 -40
  672. package/windows/NuGet.Config +0 -13
  673. package/windows/ReactNativeUnistyles/PropertySheet.props +0 -16
  674. package/windows/ReactNativeUnistyles/ReactNativeUnistyles.def +0 -3
  675. package/windows/ReactNativeUnistyles/ReactNativeUnistyles.h +0 -149
  676. package/windows/ReactNativeUnistyles/ReactNativeUnistyles.vcxproj +0 -162
  677. package/windows/ReactNativeUnistyles/ReactNativeUnistyles.vcxproj.filters +0 -25
  678. package/windows/ReactNativeUnistyles/ReactPackageProvider.cpp +0 -19
  679. package/windows/ReactNativeUnistyles/ReactPackageProvider.h +0 -21
  680. package/windows/ReactNativeUnistyles/ReactPackageProvider.idl +0 -9
  681. package/windows/ReactNativeUnistyles/packages.lock.json +0 -133
  682. package/windows/ReactNativeUnistyles/pch.cpp +0 -1
  683. package/windows/ReactNativeUnistyles/pch.h +0 -21
  684. package/windows/ReactNativeUnistyles.sln +0 -156
  685. /package/{src/normalizer → web/convert}/module.d.ts +0 -0
package/README.md CHANGED
@@ -22,7 +22,7 @@
22
22
  ## Installation
23
23
 
24
24
  ```shell
25
- yarn add react-native-unistyles
25
+ bun install react-native-unistyles
26
26
  ```
27
27
  Install CocoaPods dependencies / generate native folders with Expo:
28
28
 
@@ -3,7 +3,7 @@ require "json"
3
3
  package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
4
 
5
5
  Pod::Spec.new do |s|
6
- s.name = package["name"]
6
+ s.name = "Unistyles"
7
7
  s.version = package["version"]
8
8
  s.summary = package["description"]
9
9
  s.homepage = package["homepage"]
@@ -14,12 +14,19 @@ Pod::Spec.new do |s|
14
14
  s.source = { :git => package["repository"], :tag => "#{s.version}" }
15
15
 
16
16
  s.source_files = [
17
- "ios/**/*.{h,mm}",
18
- "cxx/*.{h,cpp}"
17
+ "ios/**/*.{swift,h,mm}",
18
+ "cxx/**/*.{h,cpp,hpp}"
19
19
  ]
20
20
  s.pod_target_xcconfig = {
21
21
  "CLANG_CXX_LANGUAGE_STANDARD" => "c++20"
22
22
  }
23
23
 
24
+ s.public_header_files = [
25
+ "ios/Unistyles.h"
26
+ ]
27
+
28
+ load 'nitrogen/generated/ios/Unistyles+autolinking.rb'
29
+ add_nitrogen_files(s)
30
+
24
31
  install_modules_dependencies(s)
25
32
  end
@@ -4,17 +4,26 @@ project(unistyles)
4
4
 
5
5
  add_library(unistyles
6
6
  SHARED
7
- ../cxx/UnistylesRuntime.cpp
8
- ../cxx/UnistylesModel.cpp
7
+ ../cxx/HostStyle.cpp
8
+ ../cxx/HybridUnistylesRuntime.cpp
9
+ ../cxx/HybridStatusBar.cpp
10
+ ../cxx/HybridNavigationBar.cpp
11
+ ../cxx/ShadowTreeTraverser.cpp
12
+ ../cxx/StyleSheet.cpp
13
+ ../cxx/StyleSheetImpl.cpp
14
+ ../cxx/StyleSheetRegistry.cpp
9
15
  ../cxx/UnistylesImpl.cpp
16
+ ../cxx/UnistylesModel.cpp
17
+ ../cxx/UnistylesRuntime.cpp
10
18
  ./src/main/cxx/cpp-adapter.cpp
11
19
  ./src/main/cxx/helpers.cpp
12
20
  ./src/main/cxx/platform.cpp
13
21
  )
14
22
 
15
- include_directories(
16
- ../cxx
17
- )
23
+ include_directories(../cxx)
24
+ include("${CMAKE_SOURCE_DIR}/../nitrogen/generated/android/Unistyles+autolinking.cmake")
25
+
26
+ string(APPEND CMAKE_CXX_FLAGS " -DFOLLY_NO_CONFIG")
18
27
 
19
28
  set_target_properties(unistyles PROPERTIES
20
29
  CXX_STANDARD 20
@@ -26,19 +35,28 @@ set_target_properties(unistyles PROPERTIES
26
35
  find_package(ReactAndroid REQUIRED CONFIG)
27
36
  find_package(fbjni REQUIRED CONFIG)
28
37
 
29
- # REACTNATIVE_MERGED_SO doesnt work as of RN 0.76.0-rc.3
30
- if (ReactAndroid_VERSION_MINOR GREATER_EQUAL 76)
31
- target_link_libraries(unistyles ReactAndroid::reactnative)
32
- else()
33
- target_link_libraries(unistyles
34
- ReactAndroid::turbomodulejsijni
35
- ReactAndroid::react_nativemodule_core
36
- android
37
- fbjni::fbjni
38
- )
39
- endif()
38
+ target_include_directories(
39
+ unistyles
40
+ PRIVATE
41
+ "../node_modules/react-native/ReactCommon"
42
+ "../node_modules/react-native/ReactAndroid/src/main/jni/react/turbomodule"
43
+ "../node_modules/react-native/ReactCommon/callinvoker"
44
+ "../node_modules/react-native/ReactCommon/runtimeexecutor"
45
+ "../node_modules/react-native/ReactCommon/yoga"
46
+ "../node_modules/react-native/ReactCommon/react/renderer/graphics/platform/cxx"
47
+ )
40
48
 
41
49
  target_link_libraries(unistyles
42
50
  ReactAndroid::jsi
43
- fbjni::fbjni
51
+ ReactAndroid::turbomodulejsijni
52
+ ReactAndroid::react_nativemodule_core
53
+ android
54
+ ReactAndroid::react_render_core
55
+ ReactAndroid::runtimeexecutor
56
+ ReactAndroid::fabricjni
57
+ ReactAndroid::react_debug
58
+ ReactAndroid::react_render_core
59
+ ReactAndroid::react_render_componentregistry
60
+ ReactAndroid::rrc_view
61
+ ReactAndroid::folly_runtime
44
62
  )
@@ -14,6 +14,7 @@ buildscript {
14
14
 
15
15
  apply plugin: 'com.android.library'
16
16
  apply plugin: 'org.jetbrains.kotlin.android'
17
+ apply from: '../nitrogen/generated/android/Unistyles+autolinking.gradle'
17
18
 
18
19
  def resolveBuildType() {
19
20
  Gradle gradle = getGradle()
@@ -31,12 +32,12 @@ if (isNewArchitectureEnabled()) {
31
32
  }
32
33
 
33
34
  android {
34
- compileSdkVersion safeExtGet('compileSdkVersion', 33)
35
+ compileSdkVersion safeExtGet('compileSdkVersion', 34)
35
36
  namespace "com.unistyles"
36
37
 
37
38
  defaultConfig {
38
39
  buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
39
- minSdkVersion safeExtGet('minSdkVersion', 21)
40
+ minSdkVersion safeExtGet('minSdkVersion', 23)
40
41
  externalNativeBuild {
41
42
  cmake {
42
43
  arguments "-DANDROID_STL=c++_shared"
@@ -75,4 +76,5 @@ repositories {
75
76
 
76
77
  dependencies {
77
78
  implementation 'com.facebook.react:react-native'
79
+ implementation project(":react-native-nitro-modules")
78
80
  }
@@ -1,71 +1,88 @@
1
1
  #include <jni.h>
2
- #include <jsi/jsi.h>
3
- #include <map>
4
- #include <ReactCommon/CallInvokerHolder.h>
5
- #include "UnistylesRuntime.h"
6
- #include "helpers.h"
7
- #include "platform.h"
8
2
 
9
- using namespace facebook;
3
+ #include <NitroModules/HybridObjectRegistry.hpp>
4
+ #include <HybridUnistylesRuntime.h>
5
+ #include <HybridStatusBar.h>
6
+ #include <HybridNavigationBar.h>
10
7
 
11
- static jobject unistylesModule = nullptr;
12
- std::shared_ptr<UnistylesRuntime> unistylesRuntime = nullptr;
8
+ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
9
+ HybridObjectRegistry::registerHybridObjectConstructor("UnistylesRuntime", []() -> std::shared_ptr<HybridObject>{
10
+ return std::make_shared<HybridUnistylesRuntime>();
11
+ });
12
+ HybridObjectRegistry::registerHybridObjectConstructor("StatusBar", []() -> std::shared_ptr<HybridObject>{
13
+ return std::make_shared<HybridStatusBar>();
14
+ });
15
+ HybridObjectRegistry::registerHybridObjectConstructor("NavigationBar", []() -> std::shared_ptr<HybridObject>{
16
+ return std::make_shared<HybridNavigationBar>();
17
+ });
13
18
 
14
- extern "C"
15
- JNIEXPORT void JNICALL
16
- Java_com_unistyles_UnistylesModule_nativeInstall(JNIEnv *env, jobject thiz, jlong jsi, jobject callInvokerHolder) {
17
- auto runtime = reinterpret_cast<jsi::Runtime *>(jsi);
18
- auto callInvoker{
19
- jni::alias_ref<react::CallInvokerHolder::javaobject>{ reinterpret_cast<react::CallInvokerHolder::javaobject>(callInvokerHolder)} -> cthis() ->getCallInvoker()
20
- };
21
-
22
- if (unistylesModule == nullptr) {
23
- unistylesModule = env->NewGlobalRef(thiz);
24
- }
25
-
26
- if (unistylesModule == nullptr) {
27
- return throwKotlinException(env, "Something went wrong while initializing UnistylesModule");
28
- }
29
-
30
- unistylesRuntime = std::make_shared<UnistylesRuntime>(*runtime, callInvoker);
31
- makeShared(env, unistylesModule, unistylesRuntime);
32
-
33
- jsi::Object hostObject = jsi::Object::createFromHostObject(*runtime, unistylesRuntime);
34
- runtime->global().setProperty(*runtime, "__UNISTYLES__", std::move(hostObject));
35
- }
36
-
37
- extern "C"
38
- JNIEXPORT void JNICALL
39
- Java_com_unistyles_UnistylesModule_nativeDestroy(JNIEnv *env, jobject thiz) {
40
- unistylesRuntime.reset();
41
- unistylesModule = nullptr;
19
+ return JNI_VERSION_1_2;
42
20
  }
43
21
 
44
- extern "C"
45
- JNIEXPORT void JNICALL
46
- Java_com_unistyles_UnistylesModule_nativeOnOrientationChange(JNIEnv *env, jobject thiz, jobject screen, jobject insets, jobject statusBar, jobject navigationBar) {
47
- if (unistylesRuntime != nullptr) {
48
- Screen screenDimensions = jobjectToScreen(env, screen);
49
- Dimensions statusBarDimensions = jobjectToDimensions(env, statusBar);
50
- Insets screenInsets = jobjectToInsets(env, insets);
51
- Dimensions navigationBarDimensions = jobjectToDimensions(env, navigationBar);
52
-
53
- unistylesRuntime->handleScreenSizeChange(screenDimensions, screenInsets, statusBarDimensions, navigationBarDimensions);
54
- }
55
- }
56
-
57
- extern "C"
58
- JNIEXPORT void JNICALL
59
- Java_com_unistyles_UnistylesModule_nativeOnAppearanceChange(JNIEnv *env, jobject thiz, jstring colorScheme) {
60
- if (unistylesRuntime != nullptr) {
61
- unistylesRuntime->handleAppearanceChange(env->GetStringUTFChars(colorScheme, nullptr));
62
- }
63
- }
64
-
65
- extern "C"
66
- JNIEXPORT void JNICALL
67
- Java_com_unistyles_UnistylesModule_nativeOnContentSizeCategoryChange(JNIEnv *env, jobject thiz, jstring contentSizeCategory) {
68
- if (unistylesRuntime != nullptr) {
69
- unistylesRuntime->handleContentSizeCategoryChange(env->GetStringUTFChars(contentSizeCategory, nullptr));
70
- }
71
- }
22
+ //using namespace facebook;
23
+ //
24
+ //static jobject unistylesModule = nullptr;
25
+ //std::shared_ptr<UnistylesRuntime> unistylesRuntime = nullptr;
26
+ //
27
+ //extern "C"
28
+ //JNIEXPORT void JNICALL
29
+ //Java_com_unistyles_UnistylesModule_nativeInstall(JNIEnv *env, jobject thiz, jlong jsi, jobject callInvokerHolder) {
30
+ // auto runtime = reinterpret_cast<jsi::Runtime *>(jsi);
31
+ // auto callInvoker{
32
+ // jni::alias_ref<react::CallInvokerHolder::javaobject>{ reinterpret_cast<react::CallInvokerHolder::javaobject>(callInvokerHolder)} -> cthis() ->getCallInvoker()
33
+ // };
34
+ //
35
+ // if (unistylesModule == nullptr) {
36
+ // unistylesModule = env->NewGlobalRef(thiz);
37
+ // }
38
+ //
39
+ // if (unistylesModule == nullptr) {
40
+ // return throwKotlinException(env, "Something went wrong while initializing UnistylesModule");
41
+ // }
42
+ //
43
+ // unistylesRuntime = std::make_shared<UnistylesRuntime>(*runtime, callInvoker);
44
+ // auto styleSheet = std::make_shared<StyleSheet>(*runtime, unistylesRuntime);
45
+ //
46
+ // makeShared(env, unistylesModule, unistylesRuntime);
47
+ //
48
+ // jsi::Object hostObject = jsi::Object::createFromHostObject(*runtime, unistylesRuntime);
49
+ // jsi::Object styleSheetHostObject = jsi::Object::createFromHostObject(*runtime, styleSheet);
50
+ // runtime->global().setProperty(*runtime, "__UNISTYLES__", std::move(hostObject));
51
+ // runtime->global().setProperty(*runtime, "__UNISTYLES__STYLESHEET__", std::move(styleSheetHostObject));
52
+ //}
53
+ //
54
+ //extern "C"
55
+ //JNIEXPORT void JNICALL
56
+ //Java_com_unistyles_UnistylesModule_nativeDestroy(JNIEnv *env, jobject thiz) {
57
+ // unistylesRuntime.reset();
58
+ // unistylesModule = nullptr;
59
+ //}
60
+ //
61
+ //extern "C"
62
+ //JNIEXPORT void JNICALL
63
+ //Java_com_unistyles_UnistylesModule_nativeOnOrientationChange(JNIEnv *env, jobject thiz, jobject screen, jobject insets, jobject statusBar, jobject navigationBar) {
64
+ // if (unistylesRuntime != nullptr) {
65
+ // Screen screenDimensions = jobjectToScreen(env, screen);
66
+ // Dimensions statusBarDimensions = jobjectToDimensions(env, statusBar);
67
+ // Insets screenInsets = jobjectToInsets(env, insets);
68
+ // Dimensions navigationBarDimensions = jobjectToDimensions(env, navigationBar);
69
+ //
70
+ // unistylesRuntime->handleScreenSizeChange(screenDimensions, screenInsets, statusBarDimensions, navigationBarDimensions);
71
+ // }
72
+ //}
73
+ //
74
+ //extern "C"
75
+ //JNIEXPORT void JNICALL
76
+ //Java_com_unistyles_UnistylesModule_nativeOnAppearanceChange(JNIEnv *env, jobject thiz, jstring colorScheme) {
77
+ // if (unistylesRuntime != nullptr) {
78
+ // unistylesRuntime->handleAppearanceChange(env->GetStringUTFChars(colorScheme, nullptr));
79
+ // }
80
+ //}
81
+ //
82
+ //extern "C"
83
+ //JNIEXPORT void JNICALL
84
+ //Java_com_unistyles_UnistylesModule_nativeOnContentSizeCategoryChange(JNIEnv *env, jobject thiz, jstring contentSizeCategory) {
85
+ // if (unistylesRuntime != nullptr) {
86
+ // unistylesRuntime->handleContentSizeCategoryChange(env->GetStringUTFChars(contentSizeCategory, nullptr));
87
+ // }
88
+ //}
@@ -1,18 +1,28 @@
1
1
  package com.unistyles
2
2
 
3
- import android.view.View
4
- import com.facebook.react.ReactPackage
3
+ import android.util.Log
4
+ import com.facebook.react.TurboReactPackage
5
5
  import com.facebook.react.bridge.NativeModule
6
6
  import com.facebook.react.bridge.ReactApplicationContext
7
- import com.facebook.react.uimanager.ReactShadowNode
8
- import com.facebook.react.uimanager.ViewManager
7
+ import com.facebook.react.module.model.ReactModuleInfoProvider
9
8
 
10
- class UnistylesPackage: ReactPackage {
11
- override fun createNativeModules(reactContext: ReactApplicationContext): MutableList<NativeModule> {
12
- return mutableListOf(UnistylesModule(reactContext))
9
+ class UnistylesPackage: TurboReactPackage() {
10
+ companion object {
11
+ private const val TAG: String = "Unistyles"
12
+
13
+ init {
14
+ try {
15
+ System.loadLibrary("unistyles")
16
+ Log.i(TAG, "Installed Unistyles \uD83E\uDD84!")
17
+ } catch (e: Throwable) {
18
+ Log.e(TAG, "Failed to load Unistyles C++ library! Is it properly linked?", e)
19
+ throw e
20
+ }
21
+ }
13
22
  }
14
23
 
15
- override fun createViewManagers(reactContext: ReactApplicationContext): MutableList<ViewManager<View, ReactShadowNode<*>>> {
16
- return mutableListOf()
24
+ override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? = null
25
+ override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
26
+ return ReactModuleInfoProvider { emptyMap() }
17
27
  }
18
28
  }
@@ -0,0 +1,43 @@
1
+ #pragma once
2
+
3
+ #include <jsi/jsi.h>
4
+ #include "Helpers.h"
5
+
6
+ using namespace facebook;
7
+
8
+ namespace margelo::nitro::unistyles::helpers {
9
+
10
+ using Breakpoints = std::vector<std::pair<std::string, double>>;
11
+
12
+ // convert user's breakpoints to sorted C++ representation
13
+ inline Breakpoints jsiBreakpointsToVecPairs(jsi::Runtime& rt, jsi::Value&& breakpoints) {
14
+ Breakpoints sortedVecPairs;
15
+
16
+ enumerateJSIObject(rt, breakpoints.asObject(rt), [&](const std::string& propertyName, jsi::Value& propertyValue){
17
+ assertThat(rt, propertyValue.isNumber(), "value for breakpoint " + std::string(propertyName) + " is not a number.");
18
+
19
+ sortedVecPairs.emplace_back(propertyName, propertyValue.asNumber());
20
+ });
21
+
22
+ std::sort(sortedVecPairs.begin(), sortedVecPairs.end(), [](auto& a, auto& b){
23
+ return a.second < b.second;
24
+ });
25
+
26
+ return sortedVecPairs;
27
+ }
28
+
29
+ // C++ function to select current breakpoint based on screen width
30
+ inline std::string getBreakpointFromScreenWidth(int screenWidth, const Breakpoints& sortedVecPairs) {
31
+ auto it = std::upper_bound(sortedVecPairs.cbegin(), sortedVecPairs.cend(), screenWidth, [](int width, const auto& pair) {
32
+ return width < pair.second;
33
+ });
34
+
35
+ // return breakpoint with 0 as lowest
36
+ if (it == sortedVecPairs.begin()) {
37
+ return sortedVecPairs.front().first;
38
+ }
39
+
40
+ return (--it)->first;
41
+ }
42
+
43
+ }
@@ -0,0 +1,10 @@
1
+ #pragma once
2
+
3
+ namespace margelo::nitro::unistyles::helpers {
4
+
5
+ static const std::string UNISTYLES_ID = "__unid";
6
+ static const std::string ADD_VARIANTS_FN = "useVariants";
7
+ static const std::string STYLE_DEPENDENCIES = "uni__dependencies";
8
+ static const std::string WEB_STYLE_KEY = "_web";
9
+
10
+ }
@@ -0,0 +1,93 @@
1
+ #pragma once
2
+
3
+ #include <jsi/jsi.h>
4
+ #include <unordered_set>
5
+
6
+ using namespace facebook;
7
+
8
+ namespace margelo::nitro::unistyles::helpers {
9
+
10
+ inline void assertThat(jsi::Runtime& rt, bool condition, const std::string& message) {
11
+ if (!condition) {
12
+ throw jsi::JSError(rt, message);
13
+ }
14
+ }
15
+
16
+ inline void enumerateJSIObject(jsi::Runtime& rt, const jsi::Object& obj, std::function<void(const std::string& propertyName, jsi::Value& propertyValue)> callback) {
17
+ jsi::Array propertyNames = obj.getPropertyNames(rt);
18
+ size_t length = propertyNames.size(rt);
19
+
20
+ for (size_t i = 0; i < length; i++) {
21
+ auto propertyName = propertyNames.getValueAtIndex(rt, i).asString(rt).utf8(rt);
22
+ auto propertyValue = obj.getProperty(rt, propertyName.c_str());
23
+
24
+ callback(propertyName, propertyValue);
25
+ }
26
+ }
27
+
28
+ template<typename PropertyType>
29
+ inline bool vecContainsKeys(std::vector<PropertyType>& vec, std::vector<PropertyType>&& keys) {
30
+ std::unordered_set<PropertyType> availableKeys(keys.begin(), keys.end());
31
+
32
+ for (const auto& key : vec) {
33
+ availableKeys.erase(key);
34
+
35
+ if (availableKeys.empty()) {
36
+ return true;
37
+ }
38
+ }
39
+
40
+ return false;
41
+ }
42
+
43
+ template<typename PropertyType>
44
+ inline void defineHiddenProperty(jsi::Runtime& rt, jsi::Object& object, const std::string& propName, PropertyType&& property) {
45
+ auto global = rt.global();
46
+ auto objectConstructor = global.getPropertyAsObject(rt, "Object");
47
+ auto defineProperty = objectConstructor.getPropertyAsFunction(rt, "defineProperty");
48
+
49
+ facebook::jsi::Object descriptor(rt);
50
+
51
+ if constexpr (std::is_same_v<std::decay_t<PropertyType>, jsi::Function>) {
52
+ descriptor.setProperty(rt, facebook::jsi::PropNameID::forUtf8(rt, "value"), std::forward<PropertyType>(property));
53
+ } else {
54
+ descriptor.setProperty(rt, facebook::jsi::PropNameID::forUtf8(rt, "value"), property);
55
+ }
56
+
57
+ descriptor.setProperty(rt, facebook::jsi::PropNameID::forUtf8(rt, "enumerable"), facebook::jsi::Value(false));
58
+ descriptor.setProperty(rt, facebook::jsi::PropNameID::forUtf8(rt, "writable"), facebook::jsi::Value(true));
59
+ descriptor.setProperty(rt, facebook::jsi::PropNameID::forUtf8(rt, "configurable"), facebook::jsi::Value(true));
60
+
61
+ defineProperty.call(rt, object, facebook::jsi::String::createFromAscii(rt, propName.c_str()), descriptor);
62
+ }
63
+
64
+ inline jsi::Object& mergeJSIObjects(jsi::Runtime&rt, jsi::Object& obj1, jsi::Object& obj2) {
65
+ helpers::enumerateJSIObject(rt, obj2, [&](const std::string& propertyName, jsi::Value& propertyValue){
66
+ obj1.setProperty(rt, propertyName.c_str(), propertyValue);
67
+ });
68
+
69
+ return obj1;
70
+ }
71
+
72
+ inline void iterateJSIArray(jsi::Runtime& rt, const jsi::Array& array, std::function<void(size_t, jsi::Value&)> callback) {
73
+ size_t length = array.size(rt);
74
+
75
+ for (size_t i = 0; i < length; i++) {
76
+ auto value = array.getValueAtIndex(rt, i);
77
+
78
+ callback(i, value);
79
+ }
80
+ }
81
+
82
+ inline bool isPlatformColor(jsi::Runtime& rt, jsi::Object& maybePlatformColor) {
83
+ auto isIOSPlatformColor = maybePlatformColor.hasProperty(rt, "semantic") && maybePlatformColor.getProperty(rt, "semantic").isObject();
84
+
85
+ if (isIOSPlatformColor) {
86
+ return true;
87
+ }
88
+
89
+ // Android
90
+ return maybePlatformColor.hasProperty(rt, "resource_paths") && maybePlatformColor.getProperty(rt, "resource_paths").isObject();
91
+ }
92
+
93
+ }
@@ -0,0 +1,57 @@
1
+ #include "HostStyle.h"
2
+
3
+ using namespace margelo::nitro::unistyles::core;
4
+ using namespace margelo::nitro::unistyles::parser;
5
+ using namespace facebook;
6
+
7
+ std::vector<jsi::PropNameID> HostStyle::getPropertyNames(jsi::Runtime& rt) {
8
+ auto propertyNames = std::vector<jsi::PropNameID> {};
9
+
10
+ for (const auto& pair : this->_styleSheet->unistyles) {
11
+ propertyNames.emplace_back(jsi::PropNameID::forUtf8(rt, pair.first));
12
+ }
13
+
14
+ return propertyNames;
15
+ }
16
+
17
+ jsi::Value HostStyle::get(jsi::Runtime& rt, const jsi::PropNameID& propNameId) {
18
+ auto propertyName = propNameId.utf8(rt);
19
+
20
+ if (propertyName == helpers::UNISTYLES_ID) {
21
+ return jsi::Value(this->_styleSheet->tag);
22
+ }
23
+
24
+ if (propertyName == helpers::ADD_VARIANTS_FN) {
25
+ return this->createAddVariantsProxyFunction(rt);
26
+ }
27
+
28
+ if (this->_styleSheet->unistyles.contains(propertyName)) {
29
+ return valueFromUnistyle(rt, this->_styleSheet->unistyles[propertyName]);
30
+ }
31
+
32
+ return jsi::Value::undefined();
33
+ }
34
+
35
+ jsi::Function HostStyle::createAddVariantsProxyFunction(jsi::Runtime& rt) {
36
+ auto useVariantsFnName = jsi::PropNameID::forUtf8(rt, helpers::ADD_VARIANTS_FN);
37
+
38
+ return jsi::Function::createFromHostFunction(rt, useVariantsFnName, 1, [&](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *arguments, size_t count){
39
+ helpers::assertThat(rt, count == 1, "useVariants expected to be called with one argument.");
40
+ helpers::assertThat(rt, arguments[0].isObject(), "useVariants expected to be called with object.");
41
+
42
+ auto parser = parser::Parser(this->_unistylesRuntime);
43
+ auto pairs = parser.variantsToPairs(rt, arguments[0].asObject(rt));
44
+
45
+ if (pairs == this->_styleSheet->variants) {
46
+ return jsi::Value::undefined();
47
+ }
48
+
49
+ this->_styleSheet->variants = pairs;
50
+
51
+ parser.rebuildUnistylesWithVariants(rt, this->_styleSheet);
52
+
53
+ return jsi::Value::undefined();
54
+ });
55
+ }
56
+
57
+ void HostStyle::set(jsi::Runtime& rt, const jsi::PropNameID& propNameId, const jsi::Value& value) {}
@@ -0,0 +1,25 @@
1
+ #pragma once
2
+
3
+ #include <jsi/jsi.h>
4
+ #include "StyleSheet.h"
5
+ #include "Constants.h"
6
+ #include "Parser.h"
7
+ #include "HybridUnistylesRuntime.h"
8
+
9
+ namespace margelo::nitro::unistyles::core {
10
+
11
+ struct JSI_EXPORT HostStyle : public jsi::HostObject {
12
+ HostStyle(std::shared_ptr<StyleSheet> styleSheet, std::shared_ptr<HybridUnistylesRuntime> unistylesRuntime)
13
+ : _styleSheet{styleSheet}, _unistylesRuntime{unistylesRuntime} {};
14
+
15
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& rt);
16
+ jsi::Value get(jsi::Runtime& rt, const jsi::PropNameID& propNameId);
17
+ void set(jsi::Runtime& rt, const jsi::PropNameID& propNameId, const jsi::Value& value);
18
+ jsi::Function createAddVariantsProxyFunction(jsi::Runtime& rt);
19
+
20
+ private:
21
+ std::shared_ptr<StyleSheet> _styleSheet;
22
+ std::shared_ptr<HybridUnistylesRuntime> _unistylesRuntime;
23
+ };
24
+
25
+ }
@@ -0,0 +1,87 @@
1
+ #include "MediaQueries.h"
2
+
3
+ using namespace margelo::nitro::unistyles;
4
+
5
+ bool core::UnistylesMQ::isMQ() {
6
+ return this->isValid;
7
+ }
8
+
9
+ bool core::UnistylesMQ::checkIsMQ(const std::string& maybeMQ) {
10
+ std::regex pattern(R"(:([hw])\[(\d+)(?:,\s*(\d+|Infinity))?\])");
11
+
12
+ return std::regex_search(maybeMQ, pattern);
13
+ }
14
+
15
+ bool core::UnistylesMQ::checkIsValidMQ() {
16
+ if (parsedMQ->width && parsedMQ->height) {
17
+ return parsedMQ->width->from <= parsedMQ->width->to && parsedMQ->height->from <= parsedMQ->height->to;
18
+ }
19
+
20
+ if (parsedMQ->width) {
21
+ return parsedMQ->width->from <= parsedMQ->width->to;
22
+ }
23
+
24
+ if (parsedMQ->height) {
25
+ return parsedMQ->height->from <= parsedMQ->height->to;
26
+ }
27
+
28
+ return false;
29
+ }
30
+
31
+ void core::UnistylesMQ::parseMQ(const std::string& maybeMQ) {
32
+ const std::regex UNISTYLES_WIDTH_REGEX(R"(:(w)\[(\d+)(?:,\s*(\d+|Infinity))?\])");
33
+ const std::regex UNISTYLES_HEIGHT_REGEX(R"(:(h)\[(\d+)(?:,\s*(\d+|Infinity))?\])");
34
+
35
+ ParsedMQ result;
36
+ std::smatch match;
37
+
38
+ if (std::regex_search(maybeMQ, match, UNISTYLES_WIDTH_REGEX)) {
39
+ double from = std::stod(match[2]);
40
+ double to = match[3].matched
41
+ ? (match[3] == "Infinity" ? std::numeric_limits<double>::infinity(): std::stod(match[3]))
42
+ : from;
43
+
44
+ result.width = ParsedMQDimension{from, to};
45
+ }
46
+
47
+ if (std::regex_search(maybeMQ, match, UNISTYLES_HEIGHT_REGEX)) {
48
+ double from = std::stod(match[2]);
49
+ double to = match[3].matched
50
+ ? (match[3] == "Infinity" ? std::numeric_limits<double>::infinity() : std::stod(match[3]))
51
+ : from;
52
+
53
+ result.height = ParsedMQDimension{from, to};
54
+ }
55
+
56
+ this->parsedMQ = result;
57
+ }
58
+
59
+ bool core::UnistylesMQ::isWithinScreenWidth(const ParsedMQDimension& width, double screenWidth) {
60
+ return screenWidth >= width.from && screenWidth <= width.to;
61
+ }
62
+
63
+ bool core::UnistylesMQ::isWithinScreenHeight(const ParsedMQDimension& height, double screenHeight) {
64
+ return screenHeight >= height.from && screenHeight <= height.to;
65
+ }
66
+
67
+ bool core::UnistylesMQ::isWithinTheWidthAndHeight(const Dimensions& screenSize) {
68
+ if (!isValid) {
69
+ return false;
70
+ }
71
+
72
+ auto parsedMq = parsedMQ.value();
73
+
74
+ if (parsedMq.width && parsedMq.height) {
75
+ return isWithinScreenWidth(*parsedMq.width, screenSize.width) && isWithinScreenHeight(*parsedMq.height, screenSize.height);
76
+ }
77
+
78
+ if (parsedMq.width) {
79
+ return isWithinScreenWidth(*parsedMq.width, screenSize.width);
80
+ }
81
+
82
+ if (parsedMq.height) {
83
+ return isWithinScreenHeight(*parsedMq.height, screenSize.height);
84
+ }
85
+
86
+ return false;
87
+ }