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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (596) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +30 -41
  3. package/Unistyles.podspec +1 -1
  4. package/android/CMakeLists.txt +22 -45
  5. package/android/build.gradle +16 -5
  6. package/android/src/main/cxx/NativeUnistylesModule.cpp +71 -0
  7. package/android/src/main/cxx/NativeUnistylesModule.h +42 -0
  8. package/android/src/main/cxx/cpp-adapter.cpp +8 -86
  9. package/android/src/main/java/com/unistyles/Equatable.kt +61 -0
  10. package/android/src/main/java/com/unistyles/NativePlatform+android.kt +294 -0
  11. package/android/src/main/java/com/unistyles/NativePlatform+insets.kt +152 -0
  12. package/android/src/main/java/com/unistyles/NativePlatform+listener.kt +59 -0
  13. package/android/src/main/java/com/unistyles/UnistylesModule.kt +51 -0
  14. package/android/src/main/java/com/unistyles/UnistylesPackage.kt +16 -14
  15. package/cxx/NativePlatform.h +11 -0
  16. package/cxx/common/Constants.h +3 -0
  17. package/cxx/common/Helpers.h +59 -6
  18. package/cxx/core/HostStyle.cpp +7 -2
  19. package/cxx/core/HostStyle.h +1 -1
  20. package/cxx/core/StyleSheet.h +0 -1
  21. package/cxx/core/Unistyle.h +8 -5
  22. package/cxx/core/UnistyleData.h +4 -3
  23. package/cxx/core/UnistyleWrapper.h +102 -7
  24. package/cxx/core/UnistylesCommitHook.cpp +14 -18
  25. package/cxx/core/UnistylesCommitHook.h +6 -11
  26. package/cxx/core/UnistylesCommitShadowNode.h +13 -0
  27. package/cxx/core/UnistylesMountHook.cpp +28 -0
  28. package/cxx/core/UnistylesMountHook.h +27 -0
  29. package/cxx/core/UnistylesRegistry.cpp +108 -48
  30. package/cxx/core/UnistylesRegistry.h +10 -10
  31. package/cxx/core/UnistylesState.cpp +29 -8
  32. package/cxx/core/UnistylesState.h +5 -2
  33. package/cxx/hybridObjects/HybridNavigationBar.cpp +0 -4
  34. package/cxx/hybridObjects/HybridNavigationBar.h +3 -4
  35. package/cxx/hybridObjects/HybridShadowRegistry.cpp +18 -13
  36. package/cxx/hybridObjects/HybridStatusBar.cpp +0 -4
  37. package/cxx/hybridObjects/HybridStatusBar.h +3 -4
  38. package/cxx/hybridObjects/HybridStyleSheet.cpp +145 -19
  39. package/cxx/hybridObjects/HybridStyleSheet.h +27 -5
  40. package/cxx/hybridObjects/HybridUnistylesRuntime.cpp +78 -11
  41. package/cxx/hybridObjects/HybridUnistylesRuntime.h +17 -3
  42. package/cxx/parser/Parser.cpp +200 -63
  43. package/cxx/parser/Parser.h +7 -5
  44. package/cxx/shadowTree/ShadowLeafUpdate.h +3 -1
  45. package/cxx/shadowTree/ShadowTrafficController.h +71 -0
  46. package/cxx/shadowTree/ShadowTreeManager.cpp +28 -19
  47. package/cxx/shadowTree/ShadowTreeManager.h +3 -2
  48. package/ios/Equatable.swift +2 -1
  49. package/ios/Extensions.swift +3 -1
  50. package/ios/NativePlatform+ios.swift +34 -9
  51. package/ios/NativePlatform+keyboard.swift +83 -0
  52. package/ios/NativePlatformListener+ios.swift +36 -24
  53. package/ios/Unistyles.h +1 -0
  54. package/ios/UnistylesModuleOnLoad.h +8 -2
  55. package/ios/UnistylesModuleOnLoad.mm +9 -1
  56. package/lib/commonjs/components/Display.js +18 -0
  57. package/lib/commonjs/components/Display.js.map +1 -0
  58. package/lib/commonjs/components/Hide.js +18 -0
  59. package/lib/commonjs/components/Hide.js.map +1 -0
  60. package/lib/commonjs/components/Pressable.js +74 -0
  61. package/lib/commonjs/components/Pressable.js.map +1 -0
  62. package/lib/commonjs/components/Pressable.web.js +115 -0
  63. package/lib/commonjs/components/Pressable.web.js.map +1 -0
  64. package/lib/commonjs/components/index.js +27 -0
  65. package/lib/commonjs/components/index.js.map +1 -0
  66. package/lib/commonjs/core/createUnistylesComponent.js +79 -0
  67. package/lib/commonjs/core/createUnistylesComponent.js.map +1 -0
  68. package/lib/commonjs/core/createUnistylesComponent.native.js +82 -0
  69. package/lib/commonjs/core/createUnistylesComponent.native.js.map +1 -0
  70. package/lib/commonjs/core/getBoundArgs.js +18 -0
  71. package/lib/commonjs/core/getBoundArgs.js.map +1 -0
  72. package/lib/commonjs/core/getId.js +9 -0
  73. package/lib/commonjs/core/getId.js.map +1 -0
  74. package/lib/commonjs/core/index.js +27 -0
  75. package/lib/commonjs/core/index.js.map +1 -0
  76. package/lib/commonjs/hooks/index.js +13 -0
  77. package/lib/commonjs/hooks/index.js.map +1 -0
  78. package/lib/commonjs/hooks/useMedia.js +59 -0
  79. package/lib/commonjs/hooks/useMedia.js.map +1 -0
  80. package/lib/commonjs/hooks/useMedia.web.js +43 -0
  81. package/lib/commonjs/hooks/useMedia.web.js.map +1 -0
  82. package/lib/commonjs/index.js +28 -11
  83. package/lib/commonjs/index.js.map +1 -1
  84. package/lib/commonjs/mq.js +31 -18
  85. package/lib/commonjs/mq.js.map +1 -1
  86. package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js +1 -0
  87. package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js.map +1 -1
  88. package/lib/commonjs/specs/NavigtionBar/index.js +0 -15
  89. package/lib/commonjs/specs/NavigtionBar/index.js.map +1 -1
  90. package/lib/commonjs/specs/ShadowRegistry/index.js +11 -8
  91. package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
  92. package/lib/commonjs/specs/StatusBar/index.js +0 -5
  93. package/lib/commonjs/specs/StatusBar/index.js.map +1 -1
  94. package/lib/commonjs/specs/StyleSheet/index.js +1 -0
  95. package/lib/commonjs/specs/StyleSheet/index.js.map +1 -1
  96. package/lib/commonjs/specs/TurboUnistyles/NativeTurboUnistyles.js +1 -2
  97. package/lib/commonjs/specs/TurboUnistyles/NativeTurboUnistyles.js.map +1 -1
  98. package/lib/commonjs/specs/UnistylesRuntime/index.js +0 -2
  99. package/lib/commonjs/specs/UnistylesRuntime/index.js.map +1 -1
  100. package/lib/commonjs/specs/index.js +7 -0
  101. package/lib/commonjs/specs/index.js.map +1 -1
  102. package/lib/commonjs/specs/index.web.js +0 -7
  103. package/lib/commonjs/specs/index.web.js.map +1 -1
  104. package/lib/commonjs/types/stylesheet.js.map +1 -1
  105. package/lib/commonjs/utils.js +26 -0
  106. package/lib/commonjs/utils.js.map +1 -0
  107. package/lib/commonjs/web/convert/index.js +27 -24
  108. package/lib/commonjs/web/convert/index.js.map +1 -1
  109. package/lib/commonjs/web/convert/object/boxShadow.js +59 -0
  110. package/lib/commonjs/web/convert/object/boxShadow.js.map +1 -0
  111. package/lib/commonjs/web/convert/object/filter.js +42 -0
  112. package/lib/commonjs/web/convert/object/filter.js.map +1 -0
  113. package/lib/commonjs/web/convert/object/index.js +39 -0
  114. package/lib/commonjs/web/convert/object/index.js.map +1 -0
  115. package/lib/commonjs/web/convert/object/objectStyle.js +56 -0
  116. package/lib/commonjs/web/convert/object/objectStyle.js.map +1 -0
  117. package/lib/commonjs/web/convert/object/transform.js +27 -0
  118. package/lib/commonjs/web/convert/object/transform.js.map +1 -0
  119. package/lib/commonjs/web/convert/pseudo.js +10 -0
  120. package/lib/commonjs/web/convert/pseudo.js.map +1 -0
  121. package/lib/commonjs/web/convert/{boxShadow.js → shadow/boxShadow.js} +22 -37
  122. package/lib/commonjs/web/convert/shadow/boxShadow.js.map +1 -0
  123. package/lib/commonjs/web/convert/shadow/getShadowBreakpoints.js +38 -0
  124. package/lib/commonjs/web/convert/shadow/getShadowBreakpoints.js.map +1 -0
  125. package/lib/commonjs/web/convert/shadow/index.js +28 -0
  126. package/lib/commonjs/web/convert/shadow/index.js.map +1 -0
  127. package/lib/commonjs/web/convert/{textShadow.js → shadow/textShadow.js} +21 -35
  128. package/lib/commonjs/web/convert/shadow/textShadow.js.map +1 -0
  129. package/lib/commonjs/web/convert/style.js +11 -7
  130. package/lib/commonjs/web/convert/style.js.map +1 -1
  131. package/lib/commonjs/web/convert/types.js.map +1 -1
  132. package/lib/commonjs/web/convert/utils.js +8 -4
  133. package/lib/commonjs/web/convert/utils.js.map +1 -1
  134. package/lib/commonjs/web/create.js +35 -67
  135. package/lib/commonjs/web/create.js.map +1 -1
  136. package/lib/commonjs/web/index.js +18 -7
  137. package/lib/commonjs/web/index.js.map +1 -1
  138. package/lib/commonjs/web/listener.js +61 -0
  139. package/lib/commonjs/web/listener.js.map +1 -0
  140. package/lib/commonjs/web/mock.js +2 -12
  141. package/lib/commonjs/web/mock.js.map +1 -1
  142. package/lib/commonjs/web/registry.js +154 -19
  143. package/lib/commonjs/web/registry.js.map +1 -1
  144. package/lib/commonjs/web/runtime.js +22 -13
  145. package/lib/commonjs/web/runtime.js.map +1 -1
  146. package/lib/commonjs/web/shadowRegistry.js +143 -0
  147. package/lib/commonjs/web/shadowRegistry.js.map +1 -0
  148. package/lib/commonjs/web/state.js +31 -72
  149. package/lib/commonjs/web/state.js.map +1 -1
  150. package/lib/commonjs/web/utils/common.js +39 -0
  151. package/lib/commonjs/web/utils/common.js.map +1 -0
  152. package/lib/commonjs/web/utils/index.js +28 -0
  153. package/lib/commonjs/web/utils/index.js.map +1 -0
  154. package/lib/commonjs/web/utils/unistyle.js +77 -0
  155. package/lib/commonjs/web/utils/unistyle.js.map +1 -0
  156. package/lib/commonjs/web/{variants/getVariants.js → variants.js} +2 -2
  157. package/lib/commonjs/web/variants.js.map +1 -0
  158. package/lib/module/components/Display.js +13 -0
  159. package/lib/module/components/Display.js.map +1 -0
  160. package/lib/module/components/Hide.js +13 -0
  161. package/lib/module/components/Hide.js.map +1 -0
  162. package/lib/module/components/Pressable.js +68 -0
  163. package/lib/module/components/Pressable.js.map +1 -0
  164. package/lib/module/components/Pressable.web.js +109 -0
  165. package/lib/module/components/Pressable.web.js.map +1 -0
  166. package/lib/module/components/index.js +6 -0
  167. package/lib/module/components/index.js.map +1 -0
  168. package/lib/module/core/createUnistylesComponent.js +72 -0
  169. package/lib/module/core/createUnistylesComponent.js.map +1 -0
  170. package/lib/module/core/createUnistylesComponent.native.js +75 -0
  171. package/lib/module/core/createUnistylesComponent.native.js.map +1 -0
  172. package/lib/module/core/getBoundArgs.js +13 -0
  173. package/lib/module/core/getBoundArgs.js.map +1 -0
  174. package/lib/module/core/getId.js +4 -0
  175. package/lib/module/core/getId.js.map +1 -0
  176. package/lib/module/core/index.js +6 -0
  177. package/lib/module/core/index.js.map +1 -0
  178. package/lib/module/hooks/index.js +4 -0
  179. package/lib/module/hooks/index.js.map +1 -0
  180. package/lib/module/hooks/useMedia.js +54 -0
  181. package/lib/module/hooks/useMedia.js.map +1 -0
  182. package/lib/module/hooks/useMedia.web.js +38 -0
  183. package/lib/module/hooks/useMedia.web.js.map +1 -0
  184. package/lib/module/index.js +2 -9
  185. package/lib/module/index.js.map +1 -1
  186. package/lib/module/mq.js +27 -17
  187. package/lib/module/mq.js.map +1 -1
  188. package/lib/module/specs/NativePlatform/NativePlatform.nitro.js +1 -0
  189. package/lib/module/specs/NativePlatform/NativePlatform.nitro.js.map +1 -1
  190. package/lib/module/specs/NavigtionBar/index.js +0 -10
  191. package/lib/module/specs/NavigtionBar/index.js.map +1 -1
  192. package/lib/module/specs/ShadowRegistry/index.js +11 -8
  193. package/lib/module/specs/ShadowRegistry/index.js.map +1 -1
  194. package/lib/module/specs/StatusBar/index.js +1 -6
  195. package/lib/module/specs/StatusBar/index.js.map +1 -1
  196. package/lib/module/specs/StyleSheet/index.js +1 -0
  197. package/lib/module/specs/StyleSheet/index.js.map +1 -1
  198. package/lib/module/specs/TurboUnistyles/NativeTurboUnistyles.js +1 -2
  199. package/lib/module/specs/TurboUnistyles/NativeTurboUnistyles.js.map +1 -1
  200. package/lib/module/specs/UnistylesRuntime/index.js +0 -2
  201. package/lib/module/specs/UnistylesRuntime/index.js.map +1 -1
  202. package/lib/module/specs/index.js +2 -1
  203. package/lib/module/specs/index.js.map +1 -1
  204. package/lib/module/specs/index.web.js +0 -1
  205. package/lib/module/specs/index.web.js.map +1 -1
  206. package/lib/module/types/stylesheet.js.map +1 -1
  207. package/lib/module/utils.js +21 -0
  208. package/lib/module/utils.js.map +1 -0
  209. package/lib/module/web/convert/index.js +23 -20
  210. package/lib/module/web/convert/index.js.map +1 -1
  211. package/lib/module/web/convert/object/boxShadow.js +54 -0
  212. package/lib/module/web/convert/object/boxShadow.js.map +1 -0
  213. package/lib/module/web/convert/object/filter.js +37 -0
  214. package/lib/module/web/convert/object/filter.js.map +1 -0
  215. package/lib/module/web/convert/object/index.js +6 -0
  216. package/lib/module/web/convert/object/index.js.map +1 -0
  217. package/lib/module/web/convert/object/objectStyle.js +51 -0
  218. package/lib/module/web/convert/object/objectStyle.js.map +1 -0
  219. package/lib/module/web/convert/object/transform.js +22 -0
  220. package/lib/module/web/convert/object/transform.js.map +1 -0
  221. package/lib/module/web/convert/pseudo.js +5 -0
  222. package/lib/module/web/convert/pseudo.js.map +1 -0
  223. package/lib/module/web/convert/shadow/boxShadow.js +57 -0
  224. package/lib/module/web/convert/shadow/boxShadow.js.map +1 -0
  225. package/lib/module/web/convert/shadow/getShadowBreakpoints.js +33 -0
  226. package/lib/module/web/convert/shadow/getShadowBreakpoints.js.map +1 -0
  227. package/lib/module/web/convert/shadow/index.js +5 -0
  228. package/lib/module/web/convert/shadow/index.js.map +1 -0
  229. package/lib/module/web/convert/shadow/textShadow.js +54 -0
  230. package/lib/module/web/convert/shadow/textShadow.js.map +1 -0
  231. package/lib/module/web/convert/style.js +11 -7
  232. package/lib/module/web/convert/style.js.map +1 -1
  233. package/lib/module/web/convert/types.js.map +1 -1
  234. package/lib/module/web/convert/utils.js +5 -3
  235. package/lib/module/web/convert/utils.js.map +1 -1
  236. package/lib/module/web/create.js +37 -69
  237. package/lib/module/web/create.js.map +1 -1
  238. package/lib/module/web/index.js +9 -3
  239. package/lib/module/web/index.js.map +1 -1
  240. package/lib/module/web/listener.js +57 -0
  241. package/lib/module/web/listener.js.map +1 -0
  242. package/lib/module/web/mock.js +1 -11
  243. package/lib/module/web/mock.js.map +1 -1
  244. package/lib/module/web/registry.js +155 -20
  245. package/lib/module/web/registry.js.map +1 -1
  246. package/lib/module/web/runtime.js +23 -14
  247. package/lib/module/web/runtime.js.map +1 -1
  248. package/lib/module/web/shadowRegistry.js +139 -0
  249. package/lib/module/web/shadowRegistry.js.map +1 -0
  250. package/lib/module/web/state.js +32 -73
  251. package/lib/module/web/state.js.map +1 -1
  252. package/lib/module/web/utils/common.js +28 -0
  253. package/lib/module/web/utils/common.js.map +1 -0
  254. package/lib/module/web/utils/index.js +5 -0
  255. package/lib/module/web/utils/index.js.map +1 -0
  256. package/lib/module/web/utils/unistyle.js +65 -0
  257. package/lib/module/web/utils/unistyle.js.map +1 -0
  258. package/lib/module/web/{variants/getVariants.js → variants.js} +2 -2
  259. package/lib/module/web/variants.js.map +1 -0
  260. package/lib/typescript/src/components/Display.d.ts +7 -0
  261. package/lib/typescript/src/components/Display.d.ts.map +1 -0
  262. package/lib/typescript/src/components/Hide.d.ts +7 -0
  263. package/lib/typescript/src/components/Hide.d.ts.map +1 -0
  264. package/lib/typescript/src/components/Pressable.d.ts +8 -0
  265. package/lib/typescript/src/components/Pressable.d.ts.map +1 -0
  266. package/lib/typescript/src/components/Pressable.web.d.ts +14 -0
  267. package/lib/typescript/src/components/Pressable.web.d.ts.map +1 -0
  268. package/lib/typescript/src/components/index.d.ts +4 -0
  269. package/lib/typescript/src/components/index.d.ts.map +1 -0
  270. package/lib/typescript/src/core/createUnistylesComponent.d.ts +8 -0
  271. package/lib/typescript/src/core/createUnistylesComponent.d.ts.map +1 -0
  272. package/lib/typescript/src/core/createUnistylesComponent.native.d.ts +8 -0
  273. package/lib/typescript/src/core/createUnistylesComponent.native.d.ts.map +1 -0
  274. package/lib/typescript/src/core/getBoundArgs.d.ts +2 -0
  275. package/lib/typescript/src/core/getBoundArgs.d.ts.map +1 -0
  276. package/lib/typescript/src/core/getId.d.ts +2 -0
  277. package/lib/typescript/src/core/getId.d.ts.map +1 -0
  278. package/lib/typescript/src/core/index.d.ts +4 -0
  279. package/lib/typescript/src/core/index.d.ts.map +1 -0
  280. package/lib/typescript/src/hooks/index.d.ts +2 -0
  281. package/lib/typescript/src/hooks/index.d.ts.map +1 -0
  282. package/lib/typescript/src/hooks/useMedia.d.ts +6 -0
  283. package/lib/typescript/src/hooks/useMedia.d.ts.map +1 -0
  284. package/lib/typescript/src/hooks/useMedia.web.d.ts +6 -0
  285. package/lib/typescript/src/hooks/useMedia.web.d.ts.map +1 -0
  286. package/lib/typescript/src/index.d.ts +3 -0
  287. package/lib/typescript/src/index.d.ts.map +1 -1
  288. package/lib/typescript/src/mq.d.ts +8 -0
  289. package/lib/typescript/src/mq.d.ts.map +1 -1
  290. package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts +8 -6
  291. package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts.map +1 -1
  292. package/lib/typescript/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.d.ts +0 -1
  293. package/lib/typescript/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.d.ts.map +1 -1
  294. package/lib/typescript/src/specs/NavigtionBar/index.d.ts +1 -10
  295. package/lib/typescript/src/specs/NavigtionBar/index.d.ts.map +1 -1
  296. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts +4 -4
  297. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
  298. package/lib/typescript/src/specs/ShadowRegistry/types.d.ts +4 -0
  299. package/lib/typescript/src/specs/ShadowRegistry/types.d.ts.map +1 -1
  300. package/lib/typescript/src/specs/StatusBar/UnistylesStatusBar.nitro.d.ts +0 -1
  301. package/lib/typescript/src/specs/StatusBar/UnistylesStatusBar.nitro.d.ts.map +1 -1
  302. package/lib/typescript/src/specs/StatusBar/index.d.ts +2 -4
  303. package/lib/typescript/src/specs/StatusBar/index.d.ts.map +1 -1
  304. package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts +3 -1
  305. package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts.map +1 -1
  306. package/lib/typescript/src/specs/StyleSheet/index.d.ts +5 -3
  307. package/lib/typescript/src/specs/StyleSheet/index.d.ts.map +1 -1
  308. package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts +1 -1
  309. package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts.map +1 -1
  310. package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts +4 -2
  311. package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts.map +1 -1
  312. package/lib/typescript/src/specs/index.d.ts +4 -2
  313. package/lib/typescript/src/specs/index.d.ts.map +1 -1
  314. package/lib/typescript/src/specs/index.web.d.ts +0 -2
  315. package/lib/typescript/src/specs/index.web.d.ts.map +1 -1
  316. package/lib/typescript/src/types/breakpoints.d.ts +11 -11
  317. package/lib/typescript/src/types/breakpoints.d.ts.map +1 -1
  318. package/lib/typescript/src/types/common.d.ts +2 -0
  319. package/lib/typescript/src/types/common.d.ts.map +1 -1
  320. package/lib/typescript/src/types/index.d.ts +2 -2
  321. package/lib/typescript/src/types/index.d.ts.map +1 -1
  322. package/lib/typescript/src/types/stylesheet.d.ts +6 -4
  323. package/lib/typescript/src/types/stylesheet.d.ts.map +1 -1
  324. package/lib/typescript/src/types/variants.d.ts +4 -1
  325. package/lib/typescript/src/types/variants.d.ts.map +1 -1
  326. package/lib/typescript/src/utils.d.ts +2 -0
  327. package/lib/typescript/src/utils.d.ts.map +1 -0
  328. package/lib/typescript/src/web/convert/index.d.ts +1 -2
  329. package/lib/typescript/src/web/convert/index.d.ts.map +1 -1
  330. package/lib/typescript/src/web/convert/object/boxShadow.d.ts +9 -0
  331. package/lib/typescript/src/web/convert/object/boxShadow.d.ts.map +1 -0
  332. package/lib/typescript/src/web/convert/object/filter.d.ts +3 -0
  333. package/lib/typescript/src/web/convert/object/filter.d.ts.map +1 -0
  334. package/lib/typescript/src/web/convert/object/index.d.ts +4 -0
  335. package/lib/typescript/src/web/convert/object/index.d.ts.map +1 -0
  336. package/lib/typescript/src/web/convert/object/objectStyle.d.ts +5 -0
  337. package/lib/typescript/src/web/convert/object/objectStyle.d.ts.map +1 -0
  338. package/lib/typescript/src/web/convert/object/transform.d.ts +3 -0
  339. package/lib/typescript/src/web/convert/object/transform.d.ts.map +1 -0
  340. package/lib/typescript/src/web/convert/pseudo.d.ts +6 -0
  341. package/lib/typescript/src/web/convert/pseudo.d.ts.map +1 -0
  342. package/lib/typescript/src/web/convert/shadow/boxShadow.d.ts +8 -0
  343. package/lib/typescript/src/web/convert/shadow/boxShadow.d.ts.map +1 -0
  344. package/lib/typescript/src/web/convert/shadow/getShadowBreakpoints.d.ts +2 -0
  345. package/lib/typescript/src/web/convert/shadow/getShadowBreakpoints.d.ts.map +1 -0
  346. package/lib/typescript/src/web/convert/shadow/index.d.ts +3 -0
  347. package/lib/typescript/src/web/convert/shadow/index.d.ts.map +1 -0
  348. package/lib/typescript/src/web/convert/shadow/textShadow.d.ts +8 -0
  349. package/lib/typescript/src/web/convert/shadow/textShadow.d.ts.map +1 -0
  350. package/lib/typescript/src/web/convert/style.d.ts +1 -2
  351. package/lib/typescript/src/web/convert/style.d.ts.map +1 -1
  352. package/lib/typescript/src/web/convert/types.d.ts +7 -1
  353. package/lib/typescript/src/web/convert/types.d.ts.map +1 -1
  354. package/lib/typescript/src/web/convert/utils.d.ts +8 -4
  355. package/lib/typescript/src/web/convert/utils.d.ts.map +1 -1
  356. package/lib/typescript/src/web/create.d.ts +215 -1221
  357. package/lib/typescript/src/web/create.d.ts.map +1 -1
  358. package/lib/typescript/src/web/index.d.ts +223 -1222
  359. package/lib/typescript/src/web/index.d.ts.map +1 -1
  360. package/lib/typescript/src/web/{listener/listener.d.ts → listener.d.ts} +5 -2
  361. package/lib/typescript/src/web/listener.d.ts.map +1 -0
  362. package/lib/typescript/src/web/mock.d.ts +0 -9
  363. package/lib/typescript/src/web/mock.d.ts.map +1 -1
  364. package/lib/typescript/src/web/registry.d.ts +18 -6
  365. package/lib/typescript/src/web/registry.d.ts.map +1 -1
  366. package/lib/typescript/src/web/runtime.d.ts +6 -5
  367. package/lib/typescript/src/web/runtime.d.ts.map +1 -1
  368. package/lib/typescript/src/web/shadowRegistry.d.ts +17 -0
  369. package/lib/typescript/src/web/shadowRegistry.d.ts.map +1 -0
  370. package/lib/typescript/src/web/state.d.ts +3 -9
  371. package/lib/typescript/src/web/state.d.ts.map +1 -1
  372. package/lib/typescript/src/web/utils/common.d.ts +8 -0
  373. package/lib/typescript/src/web/utils/common.d.ts.map +1 -0
  374. package/lib/typescript/src/web/utils/index.d.ts +3 -0
  375. package/lib/typescript/src/web/utils/index.d.ts.map +1 -0
  376. package/lib/typescript/src/web/utils/unistyle.d.ts +19 -0
  377. package/lib/typescript/src/web/utils/unistyle.d.ts.map +1 -0
  378. package/lib/typescript/src/web/{variants/getVariants.d.ts → variants.d.ts} +2 -2
  379. package/lib/typescript/src/web/variants.d.ts.map +1 -0
  380. package/nitrogen/generated/android/c++/JColorScheme.hpp +2 -2
  381. package/nitrogen/generated/android/c++/JFunc_void_UnistylesNativeMiniRuntime.hpp +57 -0
  382. package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.hpp +69 -0
  383. package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.cpp +35 -34
  384. package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.hpp +15 -6
  385. package/nitrogen/generated/android/c++/JOrientation.hpp +2 -2
  386. package/nitrogen/generated/android/c++/JUnistyleDependency.hpp +5 -2
  387. package/nitrogen/generated/android/c++/JUnistylesNativeMiniRuntime.hpp +9 -7
  388. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/ColorScheme.kt +5 -1
  389. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Dimensions.kt +1 -0
  390. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/{Func_void_std__vector_UnistyleDependency_.kt → Func_void_UnistylesNativeMiniRuntime.kt} +6 -5
  391. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Func_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.kt +46 -0
  392. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/HybridNativePlatformSpec.kt +25 -13
  393. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Insets.kt +1 -0
  394. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Orientation.kt +5 -1
  395. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistyleDependency.kt +6 -1
  396. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistylesNativeMiniRuntime.kt +3 -1
  397. package/nitrogen/generated/android/unistyles+autolinking.cmake +13 -1
  398. package/nitrogen/generated/android/unistyles+autolinking.gradle +2 -0
  399. package/nitrogen/generated/android/{UnistylesOnLoad.cpp → unistylesOnLoad.cpp} +6 -4
  400. package/nitrogen/generated/android/{UnistylesOnLoad.hpp → unistylesOnLoad.hpp} +1 -1
  401. package/nitrogen/generated/ios/Unistyles+autolinking.rb +6 -4
  402. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.cpp +25 -0
  403. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.hpp +73 -38
  404. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Umbrella.hpp +1 -30
  405. package/nitrogen/generated/ios/c++/HybridNativePlatformSpecSwift.hpp +8 -8
  406. package/nitrogen/generated/ios/swift/HybridNativePlatformSpec.swift +4 -16
  407. package/nitrogen/generated/ios/swift/HybridNativePlatformSpecCxx.swift +156 -115
  408. package/nitrogen/generated/ios/swift/UnistyleDependency.swift +4 -0
  409. package/nitrogen/generated/ios/swift/UnistylesNativeMiniRuntime.swift +16 -5
  410. package/nitrogen/generated/shared/c++/ColorScheme.hpp +2 -2
  411. package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.cpp +2 -2
  412. package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.hpp +6 -3
  413. package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.cpp +0 -1
  414. package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.hpp +3 -1
  415. package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.cpp +1 -0
  416. package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.hpp +5 -0
  417. package/nitrogen/generated/shared/c++/HybridUnistylesShadowRegistrySpec.hpp +3 -0
  418. package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.cpp +0 -1
  419. package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.hpp +3 -1
  420. package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.cpp +2 -1
  421. package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.hpp +10 -4
  422. package/nitrogen/generated/shared/c++/Orientation.hpp +2 -2
  423. package/nitrogen/generated/shared/c++/UnistyleDependency.hpp +2 -1
  424. package/nitrogen/generated/shared/c++/UnistylesCxxMiniRuntime.hpp +10 -9
  425. package/nitrogen/generated/shared/c++/UnistylesNativeMiniRuntime.hpp +9 -8
  426. package/package.json +24 -37
  427. package/plugin/common.js +27 -2
  428. package/plugin/import.js +29 -3
  429. package/plugin/index.js +104 -15
  430. package/plugin/ref.js +50 -16
  431. package/plugin/style.js +443 -9
  432. package/plugin/stylesheet.js +10 -3
  433. package/src/components/Display.tsx +12 -0
  434. package/src/components/Hide.tsx +12 -0
  435. package/src/components/Pressable.tsx +89 -0
  436. package/src/components/Pressable.web.tsx +129 -0
  437. package/src/components/index.ts +3 -0
  438. package/src/core/createUnistylesComponent.native.tsx +83 -0
  439. package/src/core/createUnistylesComponent.tsx +84 -0
  440. package/src/core/getBoundArgs.ts +15 -0
  441. package/src/core/getId.ts +1 -0
  442. package/src/core/index.ts +3 -0
  443. package/src/hooks/index.ts +1 -0
  444. package/src/hooks/useMedia.ts +64 -0
  445. package/src/hooks/useMedia.web.ts +47 -0
  446. package/src/index.ts +3 -12
  447. package/src/mq.ts +33 -15
  448. package/src/specs/NativePlatform/NativePlatform.nitro.ts +8 -6
  449. package/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.ts +0 -1
  450. package/src/specs/NavigtionBar/index.ts +1 -25
  451. package/src/specs/ShadowRegistry/index.ts +17 -12
  452. package/src/specs/ShadowRegistry/types.ts +6 -2
  453. package/src/specs/StatusBar/UnistylesStatusBar.nitro.ts +0 -1
  454. package/src/specs/StatusBar/index.ts +2 -12
  455. package/src/specs/StyleSheet/UnistylesStyleSheet.nitro.ts +4 -1
  456. package/src/specs/StyleSheet/index.ts +7 -3
  457. package/src/specs/TurboUnistyles/NativeTurboUnistyles.ts +1 -2
  458. package/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.ts +2 -2
  459. package/src/specs/UnistylesRuntime/index.ts +4 -3
  460. package/src/specs/index.ts +6 -2
  461. package/src/specs/index.web.ts +0 -4
  462. package/src/types/breakpoints.ts +25 -13
  463. package/src/types/common.ts +2 -0
  464. package/src/types/index.ts +2 -2
  465. package/src/types/stylesheet.ts +7 -5
  466. package/src/types/variants.ts +7 -1
  467. package/src/utils.ts +22 -0
  468. package/src/web/convert/index.ts +24 -24
  469. package/src/web/convert/object/boxShadow.ts +55 -0
  470. package/src/web/convert/object/filter.ts +39 -0
  471. package/src/web/convert/object/index.ts +3 -0
  472. package/src/web/convert/object/objectStyle.ts +69 -0
  473. package/src/web/convert/object/transform.ts +24 -0
  474. package/src/web/convert/pseudo.ts +137 -0
  475. package/src/web/convert/shadow/boxShadow.ts +50 -0
  476. package/src/web/convert/shadow/getShadowBreakpoints.ts +34 -0
  477. package/src/web/convert/shadow/index.ts +2 -0
  478. package/src/web/convert/shadow/textShadow.ts +48 -0
  479. package/src/web/convert/style.ts +61 -10
  480. package/src/web/convert/types.ts +8 -1
  481. package/src/web/convert/utils.ts +13 -7
  482. package/src/web/create.ts +35 -83
  483. package/src/web/index.ts +9 -4
  484. package/src/web/listener.ts +65 -0
  485. package/src/web/mock.ts +1 -12
  486. package/src/web/registry.ts +202 -28
  487. package/src/web/runtime.ts +29 -18
  488. package/src/web/shadowRegistry.ts +149 -0
  489. package/src/web/state.ts +52 -87
  490. package/src/web/utils/common.ts +45 -0
  491. package/src/web/utils/index.ts +2 -0
  492. package/src/web/utils/unistyle.ts +94 -0
  493. package/src/web/{variants/getVariants.ts → variants.ts} +2 -2
  494. package/android/src/main/cxx/helpers.cpp +0 -105
  495. package/android/src/main/cxx/helpers.h +0 -16
  496. package/android/src/main/cxx/platform.cpp +0 -170
  497. package/android/src/main/cxx/platform.h +0 -20
  498. package/lib/commonjs/web/convert/boxShadow.js.map +0 -1
  499. package/lib/commonjs/web/convert/breakpoint.js +0 -25
  500. package/lib/commonjs/web/convert/breakpoint.js.map +0 -1
  501. package/lib/commonjs/web/convert/shadow.js +0 -68
  502. package/lib/commonjs/web/convert/shadow.js.map +0 -1
  503. package/lib/commonjs/web/convert/textShadow.js.map +0 -1
  504. package/lib/commonjs/web/convert/transform.js +0 -72
  505. package/lib/commonjs/web/convert/transform.js.map +0 -1
  506. package/lib/commonjs/web/listener/index.js +0 -13
  507. package/lib/commonjs/web/listener/index.js.map +0 -1
  508. package/lib/commonjs/web/listener/listener.js +0 -36
  509. package/lib/commonjs/web/listener/listener.js.map +0 -1
  510. package/lib/commonjs/web/mq.js +0 -23
  511. package/lib/commonjs/web/mq.js.map +0 -1
  512. package/lib/commonjs/web/pseudo.js +0 -11
  513. package/lib/commonjs/web/pseudo.js.map +0 -1
  514. package/lib/commonjs/web/utils.js +0 -78
  515. package/lib/commonjs/web/utils.js.map +0 -1
  516. package/lib/commonjs/web/variants/getVariants.js.map +0 -1
  517. package/lib/commonjs/web/variants/index.js +0 -28
  518. package/lib/commonjs/web/variants/index.js.map +0 -1
  519. package/lib/commonjs/web/variants/useVariants.js +0 -75
  520. package/lib/commonjs/web/variants/useVariants.js.map +0 -1
  521. package/lib/module/web/convert/boxShadow.js +0 -72
  522. package/lib/module/web/convert/boxShadow.js.map +0 -1
  523. package/lib/module/web/convert/breakpoint.js +0 -20
  524. package/lib/module/web/convert/breakpoint.js.map +0 -1
  525. package/lib/module/web/convert/shadow.js +0 -63
  526. package/lib/module/web/convert/shadow.js.map +0 -1
  527. package/lib/module/web/convert/textShadow.js +0 -68
  528. package/lib/module/web/convert/textShadow.js.map +0 -1
  529. package/lib/module/web/convert/transform.js +0 -67
  530. package/lib/module/web/convert/transform.js.map +0 -1
  531. package/lib/module/web/listener/index.js +0 -4
  532. package/lib/module/web/listener/index.js.map +0 -1
  533. package/lib/module/web/listener/listener.js +0 -31
  534. package/lib/module/web/listener/listener.js.map +0 -1
  535. package/lib/module/web/mq.js +0 -17
  536. package/lib/module/web/mq.js.map +0 -1
  537. package/lib/module/web/pseudo.js +0 -6
  538. package/lib/module/web/pseudo.js.map +0 -1
  539. package/lib/module/web/utils.js +0 -65
  540. package/lib/module/web/utils.js.map +0 -1
  541. package/lib/module/web/variants/getVariants.js.map +0 -1
  542. package/lib/module/web/variants/index.js +0 -5
  543. package/lib/module/web/variants/index.js.map +0 -1
  544. package/lib/module/web/variants/useVariants.js +0 -70
  545. package/lib/module/web/variants/useVariants.js.map +0 -1
  546. package/lib/typescript/example/App.d.ts +0 -4
  547. package/lib/typescript/example/App.d.ts.map +0 -1
  548. package/lib/typescript/example/Typography.d.ts +0 -11
  549. package/lib/typescript/example/Typography.d.ts.map +0 -1
  550. package/lib/typescript/example/unistyles.d.ts +0 -63
  551. package/lib/typescript/example/unistyles.d.ts.map +0 -1
  552. package/lib/typescript/expo-example/App.d.ts +0 -4
  553. package/lib/typescript/expo-example/App.d.ts.map +0 -1
  554. package/lib/typescript/expo-example/unistyles.d.ts +0 -63
  555. package/lib/typescript/expo-example/unistyles.d.ts.map +0 -1
  556. package/lib/typescript/src/web/convert/boxShadow.d.ts +0 -3
  557. package/lib/typescript/src/web/convert/boxShadow.d.ts.map +0 -1
  558. package/lib/typescript/src/web/convert/breakpoint.d.ts +0 -3
  559. package/lib/typescript/src/web/convert/breakpoint.d.ts.map +0 -1
  560. package/lib/typescript/src/web/convert/shadow.d.ts +0 -2
  561. package/lib/typescript/src/web/convert/shadow.d.ts.map +0 -1
  562. package/lib/typescript/src/web/convert/textShadow.d.ts +0 -3
  563. package/lib/typescript/src/web/convert/textShadow.d.ts.map +0 -1
  564. package/lib/typescript/src/web/convert/transform.d.ts +0 -5
  565. package/lib/typescript/src/web/convert/transform.d.ts.map +0 -1
  566. package/lib/typescript/src/web/listener/index.d.ts +0 -2
  567. package/lib/typescript/src/web/listener/index.d.ts.map +0 -1
  568. package/lib/typescript/src/web/listener/listener.d.ts.map +0 -1
  569. package/lib/typescript/src/web/mq.d.ts +0 -4
  570. package/lib/typescript/src/web/mq.d.ts.map +0 -1
  571. package/lib/typescript/src/web/pseudo.d.ts +0 -4
  572. package/lib/typescript/src/web/pseudo.d.ts.map +0 -1
  573. package/lib/typescript/src/web/utils.d.ts +0 -20
  574. package/lib/typescript/src/web/utils.d.ts.map +0 -1
  575. package/lib/typescript/src/web/variants/getVariants.d.ts.map +0 -1
  576. package/lib/typescript/src/web/variants/index.d.ts +0 -3
  577. package/lib/typescript/src/web/variants/index.d.ts.map +0 -1
  578. package/lib/typescript/src/web/variants/useVariants.d.ts +0 -3
  579. package/lib/typescript/src/web/variants/useVariants.d.ts.map +0 -1
  580. package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency_.hpp +0 -60
  581. package/plugin/__tests__/dependencies.spec.js +0 -438
  582. package/plugin/__tests__/ref.spec.js +0 -1170
  583. package/plugin/__tests__/stylesheet.spec.js +0 -489
  584. package/src/web/convert/boxShadow.ts +0 -72
  585. package/src/web/convert/breakpoint.ts +0 -21
  586. package/src/web/convert/shadow.ts +0 -68
  587. package/src/web/convert/textShadow.ts +0 -69
  588. package/src/web/convert/transform.ts +0 -89
  589. package/src/web/listener/index.ts +0 -1
  590. package/src/web/listener/listener.ts +0 -33
  591. package/src/web/mq.ts +0 -19
  592. package/src/web/pseudo.ts +0 -11
  593. package/src/web/utils.ts +0 -95
  594. package/src/web/variants/index.ts +0 -2
  595. package/src/web/variants/useVariants.ts +0 -79
  596. /package/nitrogen/generated/android/{UnistylesOnLoad.kt → unistylesOnLoad.kt} +0 -0
package/src/web/state.ts CHANGED
@@ -1,21 +1,29 @@
1
- import { type ReactElement, createElement, createRef } from 'react'
2
1
  import type { UnistylesTheme } from '../types'
3
2
  import type { UnistylesConfig } from '../specs/StyleSheet'
4
- import type { AppBreakpoint, AppThemeName } from '../specs/types'
3
+ import type { AppBreakpoint, AppTheme, AppThemeName } from '../specs/types'
5
4
  import type { UnistylesBreakpoints, UnistylesThemes } from '../global'
6
5
  import { UnistylesRuntime } from './runtime'
7
- import { isServer, schemeToTheme } from './utils'
6
+ import { error, isServer, schemeToTheme } from './utils'
8
7
  import { UnistylesListener } from './listener'
9
8
  import { UnistyleDependency } from '../specs/NativePlatform'
9
+ import type { UnionToIntersection } from '../types'
10
10
 
11
- class UnistylesStateBuilder {
12
- private readonly isSSR = isServer()
13
- readonly tags = [] as Array<ReactElement>
11
+ type UnistylesSettings = Partial<UnionToIntersection<Required<UnistylesConfig>['settings']>>
14
12
 
13
+ class UnistylesStateBuilder {
15
14
  themes = new Map<string, UnistylesTheme>()
16
15
  themeName?: AppThemeName
17
16
 
18
- breakpoint?: AppBreakpoint
17
+ private matchingBreakpoints = new Map<string, boolean>()
18
+
19
+ get breakpoint() {
20
+ const [currentBreakpoint] = Array.from(this.matchingBreakpoints)
21
+ .reverse()
22
+ .find(([_key, value]) => value) ?? []
23
+
24
+ return currentBreakpoint as AppBreakpoint | undefined
25
+ }
26
+
19
27
  breakpoints?: UnistylesBreakpoints
20
28
 
21
29
  hasAdaptiveThemes = false
@@ -23,9 +31,12 @@ class UnistylesStateBuilder {
23
31
  init = (config: UnistylesConfig) => {
24
32
  this.initThemes(config.themes)
25
33
  this.initBreakpoints(config.breakpoints)
26
- this.initSettings(config.settings)
27
34
 
28
- if (this.isSSR) {
35
+ if (config.settings) {
36
+ this.initSettings(config.settings as UnistylesSettings)
37
+ }
38
+
39
+ if (isServer()) {
29
40
  return
30
41
  }
31
42
 
@@ -34,43 +45,54 @@ class UnistylesStateBuilder {
34
45
 
35
46
  private initThemes = (themes = {} as UnistylesThemes) => {
36
47
  Object.entries(themes).forEach(([themeName, theme]) => {
37
- this.themes.set(themeName, theme)
48
+ this.themes.set(themeName, theme as AppTheme)
38
49
  })
39
50
  }
40
51
 
41
- private initSettings = (settings: UnistylesConfig['settings']) => {
52
+ private initSettings = (settings: UnistylesSettings) => {
42
53
  this.hasAdaptiveThemes = settings?.adaptiveThemes ?? false
43
- const themeNames = Array.from(this.themes.keys()) as Array<AppThemeName>
44
-
45
- // Single theme + no settings
46
- if (!settings?.adaptiveThemes && !settings?.initialTheme && themeNames.length === 1) {
47
- this.themeName = themeNames[0]
48
-
49
- return
50
- }
51
54
 
52
- // No settings
53
- if (!settings?.adaptiveThemes && !settings?.initialTheme) {
54
- throw new Error('🦄 You need to specify either "initialTheme" or "adaptiveThemes" in your config')
55
+ if (settings.initialTheme && settings.adaptiveThemes) {
56
+ throw error('You\'re trying to set initial theme and enable adaptiveThemes, but these options are mutually exclusive.')
55
57
  }
56
58
 
57
59
  // Adaptive themes
58
60
  if (settings.adaptiveThemes) {
59
- this.themeName = schemeToTheme(UnistylesRuntime.colorScheme)
61
+ if (!this.themes.get('light') || !this.themes.get('dark')) {
62
+ throw error(`You're trying to enable adaptiveThemes, but you didn't register both 'light' and 'dark' themes.`)
63
+ }
64
+
65
+ this.themeName = schemeToTheme(UnistylesRuntime.colorScheme) as AppThemeName
60
66
 
61
67
  return
62
68
  }
63
69
 
64
- // Initial theme
65
- this.themeName = typeof settings.initialTheme === 'function' ? settings.initialTheme() : settings.initialTheme
70
+ if (settings.initialTheme) {
71
+ const initialTheme = typeof settings.initialTheme === 'function'
72
+ ? settings.initialTheme()
73
+ : settings.initialTheme
74
+
75
+ if (!this.themes.get(initialTheme)) {
76
+ throw error(`You're trying to select theme "${initialTheme}" but it wasn't registered.`)
77
+ }
78
+
79
+ this.themeName = initialTheme
80
+ }
66
81
  }
67
82
 
68
83
  private initBreakpoints = (breakpoints = {} as UnistylesBreakpoints) => {
69
- const breakpointsMap = new Map<string, MediaQueryList>()
70
-
71
84
  this.breakpoints = breakpoints
85
+ const breakpointsEntries = Object.entries(breakpoints)
86
+
87
+ if (breakpointsEntries.length === 0) {
88
+ throw error('StyleSheet.configure\'s breakpoints can\'t be empty.')
89
+ }
72
90
 
73
- Object.entries(breakpoints)
91
+ if (breakpointsEntries?.[0]?.[1] !== 0) {
92
+ throw error('StyleSheet.configure\'s first breakpoint must start from 0.')
93
+ }
94
+
95
+ breakpointsEntries
74
96
  .sort(([, a], [, b]) => a - b)
75
97
  .forEach(([breakpoint, value]) => {
76
98
  if (isServer()) {
@@ -78,71 +100,14 @@ class UnistylesStateBuilder {
78
100
  }
79
101
 
80
102
  const mediaQuery = window.matchMedia(`(min-width: ${value}px)`)
81
- breakpointsMap.set(breakpoint, mediaQuery)
82
-
83
- if (mediaQuery.matches) {
84
- this.breakpoint = breakpoint as AppBreakpoint
85
- }
103
+ this.matchingBreakpoints.set(breakpoint, mediaQuery.matches)
86
104
 
87
105
  mediaQuery.addEventListener('change', event => {
88
- if (!event.matches) {
89
- const [currentBreakpoint] = Array.from(breakpointsMap).find(([,mq]) => mq.matches) ?? []
90
-
91
- if (currentBreakpoint) {
92
- this.breakpoint = currentBreakpoint as AppBreakpoint
93
- UnistylesListener.emitChange(UnistyleDependency.Breakpoints)
94
- }
95
-
96
- return
97
- }
98
-
99
- this.breakpoint = breakpoint as AppBreakpoint
106
+ this.matchingBreakpoints.set(breakpoint, event.matches)
100
107
  UnistylesListener.emitChange(UnistyleDependency.Breakpoints)
101
108
  })
102
109
  })
103
110
  }
104
-
105
- createTag() {
106
- if (!this.isSSR) {
107
- const tag = document.createElement('style')
108
-
109
- document.head.appendChild(tag)
110
-
111
- return tag
112
- }
113
-
114
- const tagRef = new Proxy(createRef<HTMLStyleElement>(), {
115
- set: (target, prop, value) => {
116
- // When ref is assigned
117
- if ('textContent' in value) {
118
- value.textContent = tag.textContent
119
- }
120
-
121
- return Reflect.set(target, prop, value)
122
- }
123
- })
124
- const tagElement = createElement('style', { ref: tagRef, key: this.tags.length }, '')
125
- const tag = new Proxy({ textContent: '' }, {
126
- set: (target, prop, value) => {
127
- if (prop !== 'textContent') {
128
- return false
129
- }
130
-
131
- // When css is updated
132
- target.textContent = value
133
-
134
- if (tagRef.current) {
135
- tagRef.current.textContent = value
136
- }
137
-
138
- return true
139
- }
140
- })
141
-
142
- this.tags.push(tagElement)
143
-
144
- return tag
145
- }
146
111
  }
147
112
 
148
113
  export const UnistylesState = new UnistylesStateBuilder()
@@ -0,0 +1,45 @@
1
+ export const reduceObject = <TObj extends Record<string, any>, TReducer>(
2
+ obj: TObj,
3
+ reducer: (value: TObj[keyof TObj], key: keyof TObj) => TReducer,
4
+ ) => Object.fromEntries(Object.entries(obj).map(([key, value]) => [key, reducer(value as TObj[keyof TObj], key)])) as { [K in keyof TObj]: TReducer }
5
+
6
+ export const keyInObject = <T extends Record<string, any>>(obj: T, key: PropertyKey): key is keyof T => key in obj
7
+
8
+ export const isServer = () => typeof window === 'undefined'
9
+
10
+ export const error = (message: string) => new Error(`Unistyles: ${message}`)
11
+
12
+ export const equal = <T>(a: T, b: T) => {
13
+ if (Object.is(a, b)) {
14
+ return true
15
+ }
16
+
17
+ if (
18
+ typeof a !== 'object'
19
+ || a === null
20
+ || typeof b !== 'object'
21
+ || b === null
22
+ ) {
23
+ return false
24
+ }
25
+
26
+ const keysA = Object.keys(a) as Array<keyof T>
27
+
28
+ if (keysA.length !== Object.keys(b).length) {
29
+ return false
30
+ }
31
+
32
+ return keysA.every(key => Object.is(a[key], b[key]) && Object.prototype.hasOwnProperty.call(b, key))
33
+ }
34
+
35
+ export const generateHash = (value: any) => {
36
+ const str = JSON.stringify(value)
37
+ let hasher = 5381
38
+ let length = str.length
39
+
40
+ while (length--) hasher = (hasher * 33) ^ str.charCodeAt(length)
41
+
42
+ return `unistyles-${(hasher >>> 0).toString(36)}`
43
+ }
44
+
45
+ export const hyphenate = (propertyName: string) => propertyName.replace(/[A-Z]/g, (m: string) => `-${m.toLowerCase()}`)
@@ -0,0 +1,2 @@
1
+ export * from './common'
2
+ export * from './unistyle'
@@ -0,0 +1,94 @@
1
+ import type { UnistyleDependency } from '../../specs/NativePlatform'
2
+ import { ColorScheme, Orientation } from '../../specs/types'
3
+ import type { StyleSheet, StyleSheetWithSuperPowers, UnistylesValues } from '../../types/stylesheet'
4
+ import { isUnistylesMq, parseMq } from '../../mq'
5
+ import { UnistylesState } from '../state'
6
+ import { keyInObject, reduceObject } from './common'
7
+
8
+ export const schemeToTheme = (scheme: ColorScheme) => {
9
+ switch (scheme) {
10
+ case ColorScheme.Dark:
11
+ return 'dark'
12
+ case ColorScheme.Light:
13
+ default:
14
+ return 'light'
15
+ }
16
+ }
17
+
18
+ export type UnistyleSecrets = {
19
+ __uni__stylesheet: StyleSheetWithSuperPowers<StyleSheet>,
20
+ __uni__key: string,
21
+ __uni__refs: Set<HTMLElement>
22
+ __uni__variants: Record<string, any>
23
+ __uni__args?: Array<any>
24
+ }
25
+
26
+ export const assignSecrets = <T>(object: T, secrets: UnistyleSecrets) => {
27
+ // @ts-expect-error - assign secrets to object
28
+ object.__uni__secrets__ = secrets
29
+
30
+ return object
31
+ }
32
+
33
+ export const extractSecrets = (object: any) => {
34
+ return keyInObject(object, '__uni__secrets__') ? object.__uni__secrets__ as UnistyleSecrets : undefined
35
+ }
36
+
37
+ export const getStyles = (values: UnistylesValues) => {
38
+ const returnValue = {}
39
+
40
+ Object.defineProperties(returnValue, reduceObject(values, value => ({
41
+ value,
42
+ enumerable: false,
43
+ configurable: true
44
+ })))
45
+
46
+ return returnValue
47
+ }
48
+
49
+ export const isInDocument = (element: HTMLElement) => document.body.contains(element)
50
+
51
+ export const extractMediaQueryValue = (query: string) => {
52
+ const [_, px] = query.match(/(\d+)px/) ?? []
53
+
54
+ if (!px) {
55
+ return undefined
56
+ }
57
+
58
+ const value = Number(px)
59
+
60
+ return Number.isNaN(value)
61
+ ? undefined
62
+ : value
63
+ }
64
+
65
+ export const getMediaQuery = (query: string) => {
66
+ if (Object.values(Orientation).includes(query as Orientation)) {
67
+ return `(orientation: ${query})`
68
+ }
69
+
70
+ if (isUnistylesMq(query)) {
71
+ const { minWidth, maxWidth, minHeight, maxHeight } = parseMq(query)
72
+
73
+ return [
74
+ minWidth ? `(min-width: ${minWidth}px)` : undefined,
75
+ maxWidth ? `(max-width: ${maxWidth}px)` : undefined,
76
+ minHeight ? `(min-height: ${minHeight}px)` : undefined,
77
+ maxHeight ? `(max-height: ${maxHeight}px)` : undefined
78
+ ].filter(Boolean).join(' and ')
79
+ }
80
+
81
+ const minWidth = UnistylesState.breakpoints && keyInObject(UnistylesState.breakpoints, query) ? UnistylesState.breakpoints[query] : undefined
82
+
83
+ return `(min-width: ${minWidth ?? 0}px)`
84
+ }
85
+
86
+ export const extractUnistyleDependencies = (value: any) => {
87
+ if (!value) {
88
+ return []
89
+ }
90
+
91
+ const dependencies: Array<UnistyleDependency> = keyInObject(value, 'uni__dependencies') ? value.uni__dependencies : []
92
+
93
+ return Array.isArray(dependencies) ? dependencies : []
94
+ }
@@ -1,4 +1,4 @@
1
- import type { ReactNativeStyleSheet, StyleSheet } from '../../types'
1
+ import type { ReactNativeStyleSheet, StyleSheet } from '../types'
2
2
  import { deepMergeObjects } from '../utils'
3
3
 
4
4
  type StylesWithVariants = {
@@ -16,7 +16,7 @@ export const getVariants = (styles: ReactNativeStyleSheet<StyleSheet>, selectedV
16
16
  .map(([key, { variants, compoundVariants = [] }]) => {
17
17
  const variantStyles = Object.entries(variants).flatMap(([variant, styles]) => {
18
18
  const selectedVariant = selectedVariants[variant]
19
- const selectedVariantStyles = styles[selectedVariant] ?? styles['default']
19
+ const selectedVariantStyles = styles[selectedVariant] ?? styles.default
20
20
 
21
21
  if (!selectedVariantStyles) {
22
22
  return []
@@ -1,105 +0,0 @@
1
- #include "helpers.h"
2
- #include "UnistylesRuntime.h"
3
-
4
- Dimensions jobjectToDimensions(JNIEnv *env, jobject dimensionObj) {
5
- jclass dimensionClass = env->FindClass("com/unistyles/Dimensions");
6
- jfieldID widthFieldID = env->GetFieldID(dimensionClass, "width", "I");
7
- jfieldID heightFieldID = env->GetFieldID(dimensionClass, "height", "I");
8
-
9
- int width = env->GetIntField(dimensionObj, widthFieldID);
10
- int height = env->GetIntField(dimensionObj, heightFieldID);
11
-
12
- env->DeleteLocalRef(dimensionClass);
13
-
14
- return Dimensions{width, height};
15
- }
16
-
17
- Screen jobjectToScreen(JNIEnv *env, jobject screenObj) {
18
- jclass screenClass = env->FindClass("com/unistyles/Screen");
19
- jfieldID widthFieldID = env->GetFieldID(screenClass, "width", "I");
20
- jfieldID heightFieldID = env->GetFieldID(screenClass, "height", "I");
21
- jfieldID pixelRatioFieldID = env->GetFieldID(screenClass, "pixelRatio", "F");
22
- jfieldID scaleFieldID = env->GetFieldID(screenClass, "fontScale", "F");
23
-
24
- int width = env->GetIntField(screenObj, widthFieldID);
25
- int height = env->GetIntField(screenObj, heightFieldID);
26
- float pixelRatio = env->GetFloatField(screenObj, pixelRatioFieldID);
27
- float fontScale = env->GetFloatField(screenObj, scaleFieldID);
28
-
29
- env->DeleteLocalRef(screenClass);
30
-
31
- return Screen{width, height, pixelRatio, fontScale};
32
- }
33
-
34
- Insets jobjectToInsets(JNIEnv *env, jobject insetsObj) {
35
- jclass insetsClass = env->FindClass("com/unistyles/Insets");
36
- jfieldID leftFieldID = env->GetFieldID(insetsClass, "left", "I");
37
- jfieldID topFieldID = env->GetFieldID(insetsClass, "top", "I");
38
- jfieldID rightFieldID = env->GetFieldID(insetsClass, "right", "I");
39
- jfieldID bottomFieldID = env->GetFieldID(insetsClass, "bottom", "I");
40
-
41
- int left = env->GetIntField(insetsObj, leftFieldID);
42
- int top = env->GetIntField(insetsObj, topFieldID);
43
- int right = env->GetIntField(insetsObj, rightFieldID);
44
- int bottom = env->GetIntField(insetsObj, bottomFieldID);
45
-
46
- env->DeleteLocalRef(insetsClass);
47
-
48
- return Insets{top, bottom, left, right};
49
- }
50
-
51
- void JNI_callPlatformWithColor(JNIEnv *env, jobject unistylesModule, std::string name, std::string sig, std::string param, float alpha) {
52
- jclass cls = env->GetObjectClass(unistylesModule);
53
- jfieldID platformFieldId = env->GetFieldID(cls, "platform", "Lcom/unistyles/Platform;");
54
- jobject platformInstance = env->GetObjectField(unistylesModule, platformFieldId);
55
- jclass platformClass = env->GetObjectClass(platformInstance);
56
- jstring strParam = env->NewStringUTF(param.c_str());
57
- jmethodID methodId = env->GetMethodID(platformClass, name.c_str(), sig.c_str());
58
-
59
- env->CallVoidMethod(platformInstance, methodId, strParam, static_cast<jfloat>(alpha));
60
-
61
- env->DeleteLocalRef(cls);
62
- env->DeleteLocalRef(platformInstance);
63
- env->DeleteLocalRef(platformClass);
64
- env->DeleteLocalRef(strParam);
65
- }
66
-
67
- void JNI_callPlatformWithBool(JNIEnv *env, jobject unistylesModule, std::string name, std::string sig, bool param) {
68
- jclass cls = env->GetObjectClass(unistylesModule);
69
- jfieldID platformFieldId = env->GetFieldID(cls, "platform", "Lcom/unistyles/Platform;");
70
- jobject platformInstance = env->GetObjectField(unistylesModule, platformFieldId);
71
- jclass platformClass = env->GetObjectClass(platformInstance);
72
- jmethodID methodId = env->GetMethodID(platformClass, name.c_str(), sig.c_str());
73
-
74
- env->CallVoidMethod(platformInstance, methodId, param);
75
- env->DeleteLocalRef(cls);
76
- env->DeleteLocalRef(platformInstance);
77
- env->DeleteLocalRef(platformClass);
78
- }
79
-
80
- jobject JNI_callPlatform(JNIEnv *env, jobject unistylesModule, std::string name, std::string sig) {
81
- jclass cls = env->GetObjectClass(unistylesModule);
82
- jfieldID platformFieldId = env->GetFieldID(cls, "platform", "Lcom/unistyles/Platform;");
83
- jobject platformInstance = env->GetObjectField(unistylesModule, platformFieldId);
84
- jclass platformClass = env->GetObjectClass(platformInstance);
85
- jmethodID methodId = env->GetMethodID(platformClass, name.c_str(), sig.c_str());
86
- jobject result = env->CallObjectMethod(platformInstance, methodId);
87
-
88
- env->DeleteLocalRef(cls);
89
- env->DeleteLocalRef(platformInstance);
90
- env->DeleteLocalRef(platformClass);
91
-
92
- return result;
93
- }
94
-
95
- void throwKotlinException(
96
- JNIEnv *env,
97
- const char *message
98
- ) {
99
- jclass runtimeExceptionClass = env->FindClass("java/lang/RuntimeException");
100
-
101
- if (runtimeExceptionClass != nullptr) {
102
- env->ThrowNew(runtimeExceptionClass, message);
103
- env->DeleteLocalRef(runtimeExceptionClass);
104
- }
105
- }
@@ -1,16 +0,0 @@
1
- #pragma once
2
-
3
- #include <jni.h>
4
- #include <string>
5
- #include <map>
6
- #include <UnistylesRuntime.h>
7
-
8
- Dimensions jobjectToDimensions(JNIEnv *env, jobject dimensionObj);
9
- Screen jobjectToScreen(JNIEnv *env, jobject screenObj);
10
- Insets jobjectToInsets(JNIEnv *env, jobject insetsObj);
11
-
12
- void JNI_callPlatformWithColor(JNIEnv *env, jobject unistylesModule, std::string name, std::string sig, std::string param, float alpha);
13
- jobject JNI_callPlatform(JNIEnv *env, jobject unistylesModule, std::string name, std::string sig);
14
- void JNI_callPlatformWithBool(JNIEnv *env, jobject unistylesModule, std::string name, std::string sig, bool param);
15
-
16
- void throwKotlinException(JNIEnv *env, const char *message);
@@ -1,170 +0,0 @@
1
- #include "platform.h"
2
-
3
- void makeShared(JNIEnv *env, jobject unistylesModule, std::shared_ptr<UnistylesRuntime> unistylesRuntime) {
4
- unistylesRuntime->setScreenDimensionsCallback([&](){
5
- return getScreenDimensions(env, unistylesModule);
6
- });
7
-
8
- unistylesRuntime->setColorSchemeCallback([&](){
9
- return getColorScheme(env, unistylesModule);
10
- });
11
-
12
- unistylesRuntime->setStatusBarDimensionsCallback([&](){
13
- return getStatusBarDimensions(env, unistylesModule);
14
- });
15
-
16
- unistylesRuntime->setNavigationBarDimensionsCallback([&](){
17
- return getNavigationBarDimensions(env, unistylesModule);
18
- });
19
-
20
- unistylesRuntime->setInsetsCallback([&](){
21
- return getInsets(env, unistylesModule);
22
- });
23
-
24
- unistylesRuntime->setContentSizeCategoryCallback([&](){
25
- return getContentSizeCategory(env, unistylesModule);
26
- });
27
-
28
- unistylesRuntime->setNavigationBarColorCallback([=](const std::string &color, float alpha) {
29
- setNavigationBarColor(env, unistylesModule, color, alpha);
30
- });
31
-
32
- unistylesRuntime->setStatusBarColorCallback([=](const std::string &color, float alpha) {
33
- setStatusBarColor(env, unistylesModule, color, alpha);
34
- });
35
-
36
- unistylesRuntime->setNavigationBarHiddenCallback([=](bool hidden) {
37
- setNavigationBarHidden(env, unistylesModule, hidden);
38
- });
39
-
40
- unistylesRuntime->setStatusBarHiddenCallback([=](bool hidden) {
41
- setStatusBarHidden(env, unistylesModule, hidden);
42
- });
43
-
44
- unistylesRuntime->setImmersiveModeCallback([=](bool enabled) {
45
- setImmersiveMode(env, unistylesModule, enabled);
46
- });
47
-
48
- unistylesRuntime->setRootViewBackgroundColorCallback([=](const std::string &color, float alpha) {
49
- setRootViewBackgroundColor(env, unistylesModule, color, alpha);
50
- });
51
-
52
- unistylesRuntime->setDisableAnimatedInsetsAndroidCallback([=]() {
53
- disableAnimatedInsets(env, unistylesModule);
54
- });
55
-
56
- Screen screen = getScreenDimensions(env, unistylesModule);
57
-
58
- unistylesRuntime->screen = Dimensions{screen.width, screen.height};
59
- unistylesRuntime->contentSizeCategory = getContentSizeCategory(env, unistylesModule);
60
- unistylesRuntime->colorScheme = getColorScheme(env, unistylesModule);
61
- unistylesRuntime->statusBar = getStatusBarDimensions(env, unistylesModule);
62
- unistylesRuntime->insets = getInsets(env, unistylesModule);
63
- unistylesRuntime->navigationBar = getNavigationBarDimensions(env, unistylesModule);
64
- unistylesRuntime->fontScale = screen.fontScale;
65
- unistylesRuntime->pixelRatio = screen.pixelRatio;
66
- unistylesRuntime->rtl = getIsRTL(env, unistylesModule);
67
- }
68
-
69
- void disableAnimatedInsets(JNIEnv *env, jobject unistylesModule) {
70
- jclass cls = env->GetObjectClass(unistylesModule);
71
- jfieldID platformFieldId = env->GetFieldID(cls, "platform", "Lcom/unistyles/Platform;");
72
- jobject platformInstance = env->GetObjectField(unistylesModule, platformFieldId);
73
- jclass platformClass = env->GetObjectClass(platformInstance);
74
- jmethodID methodId = env->GetMethodID(platformClass, "disableAnimatedInsets", "()V");
75
-
76
- env->CallVoidMethod(platformInstance, methodId);
77
-
78
- env->DeleteLocalRef(cls);
79
- env->DeleteLocalRef(platformInstance);
80
- env->DeleteLocalRef(platformClass);
81
- }
82
-
83
- Screen getScreenDimensions(JNIEnv *env, jobject unistylesModule) {
84
- jobject result = JNI_callPlatform(env, unistylesModule, "getScreenDimensions", "()Lcom/unistyles/Screen;");
85
- Screen screenDimensions = jobjectToScreen(env, result);
86
-
87
- return screenDimensions;
88
- }
89
-
90
- std::string getColorScheme(JNIEnv *env, jobject unistylesModule) {
91
- jstring colorScheme = (jstring) JNI_callPlatform(env, unistylesModule, "getColorScheme", "()Ljava/lang/String;");
92
- const char *colorSchemeChars = env->GetStringUTFChars(colorScheme, nullptr);
93
- std::string colorSchemeStr = std::string(colorSchemeChars);
94
-
95
- env->ReleaseStringUTFChars(colorScheme, colorSchemeChars);
96
- env->DeleteLocalRef(colorScheme);
97
-
98
- return colorSchemeStr;
99
- }
100
-
101
- bool getIsRTL(JNIEnv *env, jobject unistylesModule) {
102
- jclass cls = env->GetObjectClass(unistylesModule);
103
- jfieldID platformFieldId = env->GetFieldID(cls, "platform", "Lcom/unistyles/Platform;");
104
- jobject platformInstance = env->GetObjectField(unistylesModule, platformFieldId);
105
- jclass platformClass = env->GetObjectClass(platformInstance);
106
- jmethodID methodId = env->GetMethodID(platformClass, "getIsRTL", "()Z");
107
- jboolean result = env->CallBooleanMethod(platformInstance, methodId);
108
-
109
- env->DeleteLocalRef(cls);
110
- env->DeleteLocalRef(platformInstance);
111
- env->DeleteLocalRef(platformClass);
112
-
113
- return result;
114
- }
115
-
116
- Dimensions getStatusBarDimensions(JNIEnv *env, jobject unistylesModule) {
117
- jobject dimensionsObj = JNI_callPlatform(env, unistylesModule, "getStatusBarDimensions", "()Lcom/unistyles/Dimensions;");
118
- Dimensions statusBarDimensions = jobjectToDimensions(env, dimensionsObj);
119
-
120
- return statusBarDimensions;
121
- }
122
-
123
- Dimensions getNavigationBarDimensions(JNIEnv *env, jobject unistylesModule) {
124
- jobject dimensionsObj = JNI_callPlatform(env, unistylesModule, "getNavigationBarDimensions", "()Lcom/unistyles/Dimensions;");
125
- Dimensions navigationBarDimensions = jobjectToDimensions(env, dimensionsObj);
126
-
127
- return navigationBarDimensions;
128
- }
129
-
130
- Insets getInsets(JNIEnv *env, jobject unistylesModule) {
131
- jobject insetsObj = JNI_callPlatform(env, unistylesModule, "getInsets", "()Lcom/unistyles/Insets;");
132
- Insets insets = jobjectToInsets(env, insetsObj);
133
-
134
- return insets;
135
- }
136
-
137
- std::string getContentSizeCategory(JNIEnv *env, jobject unistylesModule) {
138
- jstring contentSizeCategory = (jstring) JNI_callPlatform(env, unistylesModule, "getContentSizeCategory", "()Ljava/lang/String;");
139
- const char *contentSizeCategoryChars = env->GetStringUTFChars(contentSizeCategory, nullptr);
140
- std::string contentSizeCategoryStr = std::string(contentSizeCategoryChars);
141
-
142
- env->ReleaseStringUTFChars(contentSizeCategory, contentSizeCategoryChars);
143
- env->DeleteLocalRef(contentSizeCategory);
144
-
145
- return contentSizeCategoryStr;
146
- }
147
-
148
- void setStatusBarColor(JNIEnv *env, jobject unistylesModule, std::string color, float alpha) {
149
- JNI_callPlatformWithColor(env, unistylesModule, "onSetStatusBarColor", "(Ljava/lang/String;F)V", color, alpha);
150
- }
151
-
152
- void setNavigationBarColor(JNIEnv *env, jobject unistylesModule, std::string color, float alpha) {
153
- JNI_callPlatformWithColor(env, unistylesModule, "onSetNavigationBarColor", "(Ljava/lang/String;F)V", color, alpha);
154
- }
155
-
156
- void setNavigationBarHidden(JNIEnv *env, jobject unistylesModule, bool hidden) {
157
- JNI_callPlatformWithBool(env, unistylesModule, "onSetNavigationBarHidden", "(Z)V", hidden);
158
- }
159
-
160
- void setStatusBarHidden(JNIEnv *env, jobject unistylesModule, bool hidden) {
161
- JNI_callPlatformWithBool(env, unistylesModule, "onSetStatusBarHidden", "(Z)V", hidden);
162
- }
163
-
164
- void setImmersiveMode(JNIEnv *env, jobject unistylesModule, bool enabled) {
165
- JNI_callPlatformWithBool(env, unistylesModule, "onSetImmersiveMode", "(Z)V", enabled);
166
- }
167
-
168
- void setRootViewBackgroundColor(JNIEnv *env, jobject unistylesModule, std::string color, float alpha) {
169
- JNI_callPlatformWithColor(env, unistylesModule, "onSetRootViewBackgroundColor", "(Ljava/lang/String;F)V", color, alpha);
170
- }
@@ -1,20 +0,0 @@
1
- #pragma once
2
-
3
- #include "UnistylesRuntime.h"
4
- #include "helpers.h"
5
-
6
- void makeShared(JNIEnv *env, jobject unistylesModule, std::shared_ptr<UnistylesRuntime> unistylesRuntime);
7
- Screen getScreenDimensions(JNIEnv *env, jobject unistylesModule);
8
- std::string getColorScheme(JNIEnv *env, jobject unistylesModule);
9
- Dimensions getStatusBarDimensions(JNIEnv *env, jobject unistylesModule);
10
- Dimensions getNavigationBarDimensions(JNIEnv *env, jobject unistylesModule);
11
- void setNavigationBarHidden(JNIEnv *env, jobject unistylesModule, bool hidden);
12
- void setStatusBarHidden(JNIEnv *env, jobject unistylesModule, bool hidden);
13
- void setImmersiveMode(JNIEnv *env, jobject unistylesModule, bool hidden);
14
- void setRootViewBackgroundColor(JNIEnv *env, jobject unistylesModule, std::string color, float alpha);
15
- Insets getInsets(JNIEnv *env, jobject unistylesModule);
16
- bool getIsRTL(JNIEnv *env, jobject unistylesModule);
17
- std::string getContentSizeCategory(JNIEnv *env, jobject unistylesModule);
18
- void setNavigationBarColor(JNIEnv *env, jobject unistylesModule, std::string color, float alpha);
19
- void setStatusBarColor(JNIEnv *env, jobject unistylesModule, std::string color, float alpha);
20
- void disableAnimatedInsets(JNIEnv *env, jobject unistylesModule);