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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (541) hide show
  1. package/README.md +7 -0
  2. package/android/CMakeLists.txt +12 -21
  3. package/cxx/common/Constants.h +3 -0
  4. package/cxx/common/Helpers.h +118 -5
  5. package/cxx/core/HostStyle.cpp +12 -8
  6. package/cxx/core/HostStyle.h +4 -0
  7. package/cxx/core/StyleSheet.h +0 -2
  8. package/cxx/core/StyleSheetRegistry.cpp +10 -13
  9. package/cxx/core/StyleSheetRegistry.h +4 -4
  10. package/cxx/core/Unistyle.h +7 -10
  11. package/cxx/core/UnistyleData.h +23 -0
  12. package/cxx/core/UnistyleWrapper.h +61 -12
  13. package/cxx/core/UnistylesCommitHook.cpp +17 -16
  14. package/cxx/core/UnistylesCommitHook.h +7 -11
  15. package/cxx/core/UnistylesCommitShadowNode.h +13 -0
  16. package/cxx/core/UnistylesMountHook.cpp +26 -0
  17. package/cxx/core/UnistylesMountHook.h +24 -0
  18. package/cxx/core/UnistylesRegistry.cpp +85 -88
  19. package/cxx/core/UnistylesRegistry.h +16 -13
  20. package/cxx/core/UnistylesState.cpp +29 -11
  21. package/cxx/core/UnistylesState.h +5 -2
  22. package/cxx/hybridObjects/HybridShadowRegistry.cpp +15 -13
  23. package/cxx/hybridObjects/HybridStyleSheet.cpp +144 -46
  24. package/cxx/hybridObjects/HybridStyleSheet.h +23 -4
  25. package/cxx/hybridObjects/HybridUnistylesRuntime.cpp +51 -8
  26. package/cxx/hybridObjects/HybridUnistylesRuntime.h +12 -1
  27. package/cxx/parser/Parser.cpp +209 -176
  28. package/cxx/parser/Parser.h +10 -14
  29. package/cxx/shadowTree/ShadowLeafUpdate.h +1 -1
  30. package/cxx/shadowTree/ShadowTrafficController.h +37 -0
  31. package/cxx/shadowTree/ShadowTreeManager.cpp +16 -15
  32. package/cxx/shadowTree/ShadowTreeManager.h +2 -1
  33. package/ios/Equatable.swift +2 -1
  34. package/ios/NativePlatform+ios.swift +21 -5
  35. package/ios/NativePlatform+keyboard.swift +83 -0
  36. package/ios/NativePlatformListener+ios.swift +36 -23
  37. package/ios/Unistyles.h +1 -0
  38. package/ios/UnistylesModuleOnLoad.h +13 -2
  39. package/ios/UnistylesModuleOnLoad.mm +11 -1
  40. package/lib/commonjs/common.js.map +1 -1
  41. package/lib/commonjs/core/createUnistylesComponent.js +18 -0
  42. package/lib/commonjs/core/createUnistylesComponent.js.map +1 -0
  43. package/lib/commonjs/core/createUnistylesComponent.native.js +45 -0
  44. package/lib/commonjs/core/createUnistylesComponent.native.js.map +2 -0
  45. package/lib/commonjs/core/index.js +27 -0
  46. package/lib/commonjs/core/index.js.map +1 -0
  47. package/lib/commonjs/core/useBreakpoint.js +22 -0
  48. package/lib/commonjs/core/useBreakpoint.js.map +1 -0
  49. package/lib/commonjs/core/useBreakpoint.native.js +24 -0
  50. package/lib/commonjs/core/useBreakpoint.native.js.map +2 -0
  51. package/lib/commonjs/core/useTheme.js +22 -0
  52. package/lib/commonjs/core/useTheme.js.map +2 -0
  53. package/lib/commonjs/core/useTheme.native.js +24 -0
  54. package/lib/commonjs/core/useTheme.native.js.map +2 -0
  55. package/lib/commonjs/global.js +3 -0
  56. package/lib/commonjs/index.js +23 -11
  57. package/lib/commonjs/index.js.map +1 -1
  58. package/lib/commonjs/mq.js +1 -4
  59. package/lib/commonjs/mq.js.map +2 -1
  60. package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js +6 -4
  61. package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js.map +1 -1
  62. package/lib/commonjs/specs/NativePlatform/index.js.map +1 -1
  63. package/lib/commonjs/specs/NavigtionBar/index.js +1 -1
  64. package/lib/commonjs/specs/NavigtionBar/index.js.map +1 -1
  65. package/lib/commonjs/specs/ShadowRegistry/ShadowRegistry.nitro.js.map +1 -1
  66. package/lib/commonjs/specs/ShadowRegistry/index.js +7 -6
  67. package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
  68. package/lib/commonjs/specs/ShadowRegistry/types.js +3 -0
  69. package/lib/commonjs/specs/StatusBar/UnistylesStatusBar.nitro.js.map +1 -1
  70. package/lib/commonjs/specs/StatusBar/index.js +1 -1
  71. package/lib/commonjs/specs/StatusBar/index.js.map +2 -1
  72. package/lib/commonjs/specs/StyleSheet/UnistylesStyleSheet.nitro.js +2 -4
  73. package/lib/commonjs/specs/StyleSheet/UnistylesStyleSheet.nitro.js.map +1 -1
  74. package/lib/commonjs/specs/StyleSheet/index.js +1 -0
  75. package/lib/commonjs/specs/StyleSheet/index.js.map +1 -1
  76. package/lib/commonjs/specs/TurboUnistyles/NativeTurboUnistyles.js +1 -3
  77. package/lib/commonjs/specs/TurboUnistyles/NativeTurboUnistyles.js.map +2 -1
  78. package/lib/commonjs/specs/UnistylesRuntime/index.js +1 -1
  79. package/lib/commonjs/specs/UnistylesRuntime/index.js.map +1 -1
  80. package/lib/commonjs/specs/index.js +7 -0
  81. package/lib/commonjs/specs/index.js.map +1 -1
  82. package/lib/commonjs/specs/index.web.js +1 -1
  83. package/lib/commonjs/specs/types.js.map +1 -0
  84. package/lib/commonjs/types/accessibility.js +9 -9
  85. package/lib/commonjs/types/accessibility.js.map +1 -1
  86. package/lib/commonjs/types/common.js +3 -0
  87. package/lib/commonjs/types/core.js.map +1 -1
  88. package/lib/commonjs/types/index.js.map +2 -1
  89. package/lib/commonjs/types/stylesheet.js +1 -2
  90. package/lib/commonjs/types/stylesheet.js.map +1 -1
  91. package/lib/commonjs/web/convert/boxShadow.js +77 -0
  92. package/lib/commonjs/web/convert/boxShadow.js.map +1 -0
  93. package/lib/commonjs/web/convert/index.js +68 -0
  94. package/lib/commonjs/web/convert/index.js.map +2 -0
  95. package/lib/commonjs/web/convert/module.d.js +2 -0
  96. package/lib/commonjs/web/convert/module.d.js.map +1 -0
  97. package/lib/commonjs/web/convert/pseudo.js +10 -0
  98. package/lib/commonjs/web/convert/pseudo.js.map +2 -0
  99. package/lib/commonjs/web/convert/shadow.js +68 -0
  100. package/lib/commonjs/web/convert/shadow.js.map +2 -0
  101. package/lib/commonjs/web/convert/style.js +93 -0
  102. package/lib/commonjs/web/convert/style.js.map +2 -0
  103. package/lib/commonjs/web/convert/textShadow.js +70 -0
  104. package/lib/commonjs/web/convert/textShadow.js.map +2 -0
  105. package/lib/commonjs/web/convert/transform.js +72 -0
  106. package/lib/commonjs/web/convert/transform.js.map +2 -0
  107. package/lib/commonjs/web/convert/types.js +9 -0
  108. package/lib/commonjs/web/convert/types.js.map +1 -0
  109. package/lib/commonjs/web/convert/utils.js +54 -0
  110. package/lib/commonjs/web/convert/utils.js.map +2 -0
  111. package/lib/commonjs/web/create.js +48 -0
  112. package/lib/commonjs/web/create.js.map +1 -0
  113. package/lib/commonjs/web/index.js +60 -0
  114. package/lib/commonjs/web/index.js.map +2 -0
  115. package/lib/commonjs/web/listener.js +35 -0
  116. package/lib/commonjs/web/listener.js.map +2 -0
  117. package/lib/commonjs/web/mock.js +28 -0
  118. package/lib/commonjs/web/mock.js.map +2 -0
  119. package/lib/commonjs/web/mq.js +23 -0
  120. package/lib/commonjs/web/mq.js.map +1 -0
  121. package/lib/commonjs/web/registry.js +183 -0
  122. package/lib/commonjs/web/registry.js.map +2 -0
  123. package/lib/commonjs/web/runtime.js +167 -0
  124. package/lib/commonjs/web/runtime.js.map +2 -0
  125. package/lib/commonjs/web/shadowRegistry.js +114 -0
  126. package/lib/commonjs/web/shadowRegistry.js.map +2 -0
  127. package/lib/commonjs/web/state.js +69 -0
  128. package/lib/commonjs/web/state.js.map +2 -0
  129. package/lib/commonjs/web/utils/common.js +90 -0
  130. package/lib/commonjs/web/utils/common.js.map +2 -0
  131. package/lib/commonjs/web/utils/index.js +28 -0
  132. package/lib/commonjs/web/utils/index.js.map +1 -0
  133. package/lib/commonjs/web/utils/unistyle.js +82 -0
  134. package/lib/commonjs/web/utils/unistyle.js.map +2 -0
  135. package/lib/commonjs/web/variants/getVariants.js +39 -0
  136. package/lib/commonjs/web/variants/getVariants.js.map +1 -0
  137. package/lib/commonjs/web/variants/index.js +28 -0
  138. package/lib/commonjs/web/variants/index.js.map +1 -0
  139. package/lib/commonjs/web/variants/useVariants.js +58 -0
  140. package/lib/commonjs/web/variants/useVariants.js.map +2 -0
  141. package/lib/module/core/createUnistylesComponent.js +11 -0
  142. package/lib/module/core/createUnistylesComponent.js.map +2 -0
  143. package/lib/module/core/createUnistylesComponent.native.js +39 -0
  144. package/lib/module/core/createUnistylesComponent.native.js.map +1 -0
  145. package/lib/module/core/index.js +6 -0
  146. package/lib/module/core/index.js.map +1 -0
  147. package/lib/module/core/useBreakpoint.js +17 -0
  148. package/lib/module/core/useBreakpoint.js.map +1 -0
  149. package/lib/module/core/useBreakpoint.native.js +19 -0
  150. package/lib/module/core/useBreakpoint.native.js.map +2 -0
  151. package/lib/module/core/useTheme.js +17 -0
  152. package/lib/module/core/useTheme.js.map +2 -0
  153. package/lib/module/core/useTheme.native.js +19 -0
  154. package/lib/module/core/useTheme.native.js.map +2 -0
  155. package/lib/module/global.js +1 -1
  156. package/lib/module/global.js.map +1 -0
  157. package/lib/module/index.js +1 -9
  158. package/lib/module/index.js.map +1 -1
  159. package/lib/module/mq.js +1 -4
  160. package/lib/module/mq.js.map +2 -1
  161. package/lib/module/specs/NativePlatform/NativePlatform.nitro.js +1 -0
  162. package/lib/module/specs/NativePlatform/NativePlatform.nitro.js.map +2 -1
  163. package/lib/module/specs/NativePlatform/index.js.map +1 -1
  164. package/lib/module/specs/NavigtionBar/UnistylesNavigationBar.nitro.js.map +1 -1
  165. package/lib/module/specs/NavigtionBar/index.js +1 -1
  166. package/lib/module/specs/NavigtionBar/index.js.map +2 -1
  167. package/lib/module/specs/ShadowRegistry/ShadowRegistry.nitro.js.map +1 -1
  168. package/lib/module/specs/ShadowRegistry/index.js +7 -6
  169. package/lib/module/specs/ShadowRegistry/index.js.map +2 -1
  170. package/lib/module/specs/ShadowRegistry/types.js +2 -0
  171. package/lib/module/specs/ShadowRegistry/types.js.map +1 -0
  172. package/lib/module/specs/StatusBar/UnistylesStatusBar.nitro.js.map +1 -1
  173. package/lib/module/specs/StatusBar/index.js +1 -1
  174. package/lib/module/specs/StatusBar/index.js.map +1 -1
  175. package/lib/module/specs/StyleSheet/index.js +1 -0
  176. package/lib/module/specs/StyleSheet/index.js.map +2 -1
  177. package/lib/module/specs/TurboUnistyles/NativeTurboUnistyles.js.map +2 -1
  178. package/lib/module/specs/UnistylesRuntime/UnistylesRuntime.nitro.js.map +1 -0
  179. package/lib/module/specs/UnistylesRuntime/index.js +1 -1
  180. package/lib/module/specs/UnistylesRuntime/index.js.map +1 -1
  181. package/lib/module/specs/index.js +2 -1
  182. package/lib/module/specs/index.js.map +1 -1
  183. package/lib/module/specs/index.web.js +1 -1
  184. package/lib/module/specs/index.web.js.map +2 -1
  185. package/lib/module/specs/types.js +10 -10
  186. package/lib/module/specs/types.js.map +1 -1
  187. package/lib/module/types/accessibility.js +1 -1
  188. package/lib/module/types/accessibility.js.map +1 -0
  189. package/lib/module/types/breakpoints.js.map +1 -0
  190. package/lib/module/types/common.js +1 -1
  191. package/lib/module/types/common.js.map +1 -0
  192. package/lib/module/types/core.js.map +1 -1
  193. package/lib/module/types/index.js.map +2 -1
  194. package/lib/module/types/stylesheet.js.map +1 -1
  195. package/lib/module/types/variants.js.map +1 -0
  196. package/lib/module/web/convert/boxShadow.js +72 -0
  197. package/lib/module/web/convert/boxShadow.js.map +1 -0
  198. package/lib/module/web/convert/index.js +69 -0
  199. package/lib/module/web/convert/index.js.map +2 -0
  200. package/lib/module/web/convert/module.d.js +2 -0
  201. package/lib/module/web/convert/module.d.js.map +1 -0
  202. package/lib/module/web/convert/pseudo.js +5 -0
  203. package/lib/module/web/convert/pseudo.js.map +2 -0
  204. package/lib/module/web/convert/shadow.js +59 -0
  205. package/lib/module/web/convert/shadow.js.map +1 -0
  206. package/lib/module/web/convert/style.js +88 -0
  207. package/lib/module/web/convert/style.js.map +1 -0
  208. package/lib/module/web/convert/textShadow.js +68 -0
  209. package/lib/module/web/convert/textShadow.js.map +1 -0
  210. package/lib/module/web/convert/transform.js +67 -0
  211. package/lib/module/web/convert/transform.js.map +1 -0
  212. package/lib/module/web/convert/types.js +5 -0
  213. package/lib/module/web/convert/types.js.map +1 -0
  214. package/lib/module/web/convert/utils.js +42 -0
  215. package/lib/module/web/convert/utils.js.map +1 -0
  216. package/lib/module/web/create.js +43 -0
  217. package/lib/module/web/create.js.map +1 -0
  218. package/lib/module/web/index.js +25 -0
  219. package/lib/module/web/index.js.map +2 -0
  220. package/lib/module/web/listener.js +31 -0
  221. package/lib/module/web/listener.js.map +2 -0
  222. package/lib/module/web/mock.js +24 -0
  223. package/lib/module/web/mock.js.map +2 -0
  224. package/lib/module/web/mq.js +17 -0
  225. package/lib/module/web/mq.js.map +1 -0
  226. package/lib/module/web/registry.js +181 -0
  227. package/lib/module/web/registry.js.map +1 -0
  228. package/lib/module/web/runtime.js +163 -0
  229. package/lib/module/web/runtime.js.map +1 -0
  230. package/lib/module/web/shadowRegistry.js +118 -0
  231. package/lib/module/web/shadowRegistry.js.map +1 -0
  232. package/lib/module/web/state.js +65 -0
  233. package/lib/module/web/state.js.map +2 -0
  234. package/lib/module/web/utils/common.js +80 -0
  235. package/lib/module/web/utils/common.js.map +1 -0
  236. package/lib/module/web/utils/index.js +5 -0
  237. package/lib/module/web/utils/index.js.map +1 -0
  238. package/lib/module/web/utils/unistyle.js +69 -0
  239. package/lib/module/web/utils/unistyle.js.map +1 -0
  240. package/lib/module/web/variants/getVariants.js +34 -0
  241. package/lib/module/web/variants/getVariants.js.map +2 -0
  242. package/lib/module/web/variants/index.js +5 -0
  243. package/lib/module/web/variants/index.js.map +1 -0
  244. package/lib/module/web/variants/useVariants.js +53 -0
  245. package/lib/module/web/variants/useVariants.js.map +2 -0
  246. package/lib/typescript/src/core/createUnistylesComponent.d.ts +6 -0
  247. package/lib/typescript/src/core/createUnistylesComponent.d.ts.map +1 -0
  248. package/lib/typescript/src/core/createUnistylesComponent.native.d.ts +6 -0
  249. package/lib/typescript/src/core/createUnistylesComponent.native.d.ts.map +1 -0
  250. package/lib/typescript/src/core/index.d.ts +4 -0
  251. package/lib/typescript/src/core/index.d.ts.map +1 -0
  252. package/lib/typescript/src/core/useBreakpoint.d.ts +2 -0
  253. package/lib/typescript/src/core/useBreakpoint.d.ts.map +1 -0
  254. package/lib/typescript/src/core/useBreakpoint.native.d.ts +2 -0
  255. package/lib/typescript/src/core/useBreakpoint.native.d.ts.map +1 -0
  256. package/lib/typescript/src/core/useTheme.d.ts +3 -0
  257. package/lib/typescript/src/core/useTheme.d.ts.map +1 -0
  258. package/lib/typescript/src/core/useTheme.native.d.ts +3 -0
  259. package/lib/typescript/src/core/useTheme.native.d.ts.map +1 -0
  260. package/lib/typescript/src/index.d.ts +2 -0
  261. package/lib/typescript/src/index.d.ts.map +1 -1
  262. package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts +6 -2
  263. package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts.map +1 -1
  264. package/lib/typescript/src/specs/NavigtionBar/index.d.ts +5 -0
  265. package/lib/typescript/src/specs/NavigtionBar/index.d.ts.map +1 -1
  266. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts +3 -3
  267. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
  268. package/lib/typescript/src/specs/StatusBar/index.d.ts +5 -0
  269. package/lib/typescript/src/specs/StatusBar/index.d.ts.map +1 -1
  270. package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts +3 -1
  271. package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts.map +1 -1
  272. package/lib/typescript/src/specs/StyleSheet/index.d.ts +3 -1
  273. package/lib/typescript/src/specs/StyleSheet/index.d.ts.map +1 -1
  274. package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts +0 -1
  275. package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts.map +1 -1
  276. package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts +3 -1
  277. package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts.map +1 -1
  278. package/lib/typescript/src/specs/index.d.ts +4 -2
  279. package/lib/typescript/src/specs/index.d.ts.map +1 -1
  280. package/lib/typescript/src/specs/index.web.d.ts +1 -1
  281. package/lib/typescript/src/specs/index.web.d.ts.map +1 -1
  282. package/lib/typescript/src/types/breakpoints.d.ts +11 -11
  283. package/lib/typescript/src/types/breakpoints.d.ts.map +1 -1
  284. package/lib/typescript/src/types/index.d.ts +1 -1
  285. package/lib/typescript/src/types/index.d.ts.map +1 -1
  286. package/lib/typescript/src/types/stylesheet.d.ts +6 -4
  287. package/lib/typescript/src/types/stylesheet.d.ts.map +1 -1
  288. package/lib/typescript/src/types/variants.d.ts +4 -1
  289. package/lib/typescript/src/types/variants.d.ts.map +1 -1
  290. package/lib/typescript/src/web/convert/boxShadow.d.ts +8 -0
  291. package/lib/typescript/src/web/convert/boxShadow.d.ts.map +1 -0
  292. package/lib/typescript/src/web/convert/index.d.ts +3 -0
  293. package/lib/typescript/src/web/convert/index.d.ts.map +1 -0
  294. package/lib/typescript/src/web/convert/pseudo.d.ts +6 -0
  295. package/lib/typescript/src/web/convert/pseudo.d.ts.map +1 -0
  296. package/lib/typescript/src/web/convert/shadow.d.ts.map +1 -0
  297. package/lib/typescript/src/web/convert/style.d.ts +2 -0
  298. package/lib/typescript/src/web/convert/style.d.ts.map +1 -0
  299. package/lib/typescript/src/web/convert/textShadow.d.ts +8 -0
  300. package/lib/typescript/src/web/convert/textShadow.d.ts.map +1 -0
  301. package/lib/typescript/src/web/convert/transform.d.ts +4 -0
  302. package/lib/typescript/src/web/convert/transform.d.ts.map +1 -0
  303. package/lib/typescript/{web → src/web}/convert/types.d.ts +1 -1
  304. package/lib/typescript/src/web/convert/types.d.ts.map +1 -0
  305. package/lib/typescript/src/web/convert/utils.d.ts.map +1 -0
  306. package/lib/typescript/src/web/create.d.ts +1443 -0
  307. package/lib/typescript/{web → src/web}/create.d.ts.map +1 -1
  308. package/lib/typescript/src/web/index.d.ts +1459 -0
  309. package/lib/typescript/{web → src/web}/index.d.ts.map +1 -1
  310. package/lib/typescript/{web/listener → src/web}/listener.d.ts +3 -2
  311. package/lib/typescript/src/web/listener.d.ts.map +1 -0
  312. package/lib/typescript/src/web/mock.d.ts +5 -0
  313. package/lib/typescript/src/web/mock.d.ts.map +1 -0
  314. package/lib/typescript/src/web/mq.d.ts +8 -0
  315. package/lib/typescript/src/web/mq.d.ts.map +1 -0
  316. package/lib/typescript/src/web/registry.d.ts +28 -0
  317. package/lib/typescript/src/web/registry.d.ts.map +1 -0
  318. package/lib/typescript/{web → src/web}/runtime.d.ts +9 -9
  319. package/lib/typescript/src/web/runtime.d.ts.map +1 -0
  320. package/lib/typescript/src/web/shadowRegistry.d.ts +16 -0
  321. package/lib/typescript/src/web/shadowRegistry.d.ts.map +1 -0
  322. package/lib/typescript/src/web/state.d.ts +18 -0
  323. package/lib/typescript/src/web/state.d.ts.map +1 -0
  324. package/lib/typescript/{web/utils.d.ts → src/web/utils/common.d.ts} +8 -9
  325. package/lib/typescript/src/web/utils/common.d.ts.map +1 -0
  326. package/lib/typescript/src/web/utils/index.d.ts +3 -0
  327. package/lib/typescript/src/web/utils/index.d.ts.map +1 -0
  328. package/lib/typescript/src/web/utils/unistyle.d.ts +20 -0
  329. package/lib/typescript/src/web/utils/unistyle.d.ts.map +1 -0
  330. package/lib/typescript/src/web/variants/getVariants.d.ts +3 -0
  331. package/lib/typescript/src/web/variants/getVariants.d.ts.map +1 -0
  332. package/lib/typescript/src/web/variants/index.d.ts +3 -0
  333. package/lib/typescript/src/web/variants/index.d.ts.map +1 -0
  334. package/lib/typescript/src/web/variants/useVariants.d.ts +3 -0
  335. package/lib/typescript/src/web/variants/useVariants.d.ts.map +1 -0
  336. package/nitrogen/generated/android/c++/JColorScheme.hpp +1 -1
  337. package/nitrogen/generated/android/c++/JFunc_void.hpp +48 -0
  338. package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency_.hpp +8 -8
  339. package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.cpp +31 -22
  340. package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.hpp +8 -3
  341. package/nitrogen/generated/android/c++/JOrientation.hpp +1 -1
  342. package/nitrogen/generated/android/c++/JUnistyleDependency.hpp +4 -1
  343. package/nitrogen/generated/android/c++/JUnistylesNativeMiniRuntime.hpp +9 -7
  344. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Func_void.kt +45 -0
  345. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/HybridNativePlatformSpec.kt +25 -5
  346. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistyleDependency.kt +2 -1
  347. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistylesNativeMiniRuntime.kt +2 -1
  348. package/nitrogen/generated/android/unistyles+autolinking.cmake +13 -1
  349. package/nitrogen/generated/android/{UnistylesOnLoad.cpp → unistylesOnLoad.cpp} +4 -2
  350. package/nitrogen/generated/android/{UnistylesOnLoad.hpp → unistylesOnLoad.hpp} +1 -1
  351. package/nitrogen/generated/ios/Unistyles+autolinking.rb +5 -3
  352. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.cpp +25 -0
  353. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.hpp +53 -31
  354. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Umbrella.hpp +0 -29
  355. package/nitrogen/generated/ios/c++/HybridNativePlatformSpecSwift.hpp +7 -1
  356. package/nitrogen/generated/ios/swift/HybridNativePlatformSpec.swift +3 -13
  357. package/nitrogen/generated/ios/swift/HybridNativePlatformSpecCxx.swift +167 -104
  358. package/nitrogen/generated/ios/swift/UnistyleDependency.swift +4 -0
  359. package/nitrogen/generated/ios/swift/UnistylesNativeMiniRuntime.swift +16 -5
  360. package/nitrogen/generated/shared/c++/ColorScheme.hpp +2 -2
  361. package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.cpp +2 -0
  362. package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.hpp +5 -0
  363. package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.hpp +3 -0
  364. package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.hpp +3 -0
  365. package/nitrogen/generated/shared/c++/HybridUnistylesShadowRegistrySpec.hpp +3 -0
  366. package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.hpp +3 -0
  367. package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.cpp +2 -1
  368. package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.hpp +10 -4
  369. package/nitrogen/generated/shared/c++/Orientation.hpp +2 -2
  370. package/nitrogen/generated/shared/c++/UnistyleDependency.hpp +2 -1
  371. package/nitrogen/generated/shared/c++/UnistylesCxxMiniRuntime.hpp +10 -9
  372. package/nitrogen/generated/shared/c++/UnistylesNativeMiniRuntime.hpp +9 -8
  373. package/package.json +18 -30
  374. package/plugin/common.js +12 -1
  375. package/plugin/index.js +110 -23
  376. package/plugin/ref.js +64 -13
  377. package/plugin/style.js +82 -22
  378. package/plugin/stylesheet.js +53 -3
  379. package/plugin/variants.js +33 -0
  380. package/src/common.js +4 -0
  381. package/src/core/createUnistylesComponent.js +6 -0
  382. package/src/core/createUnistylesComponent.native.js +31 -0
  383. package/src/core/createUnistylesComponent.native.tsx +44 -0
  384. package/src/core/createUnistylesComponent.tsx +10 -0
  385. package/src/core/index.js +3 -0
  386. package/src/core/index.ts +3 -0
  387. package/src/core/useBreakpoint.js +14 -0
  388. package/src/core/useBreakpoint.native.js +16 -0
  389. package/src/core/useBreakpoint.native.ts +21 -0
  390. package/src/core/useBreakpoint.ts +18 -0
  391. package/src/core/useTheme.js +14 -0
  392. package/src/core/useTheme.native.js +16 -0
  393. package/src/core/useTheme.native.ts +22 -0
  394. package/src/core/useTheme.ts +19 -0
  395. package/src/global.js +1 -0
  396. package/src/index.js +3 -0
  397. package/src/index.ts +2 -12
  398. package/src/mq.js +38 -0
  399. package/src/specs/NativePlatform/NativePlatform.nitro.js +19 -0
  400. package/src/specs/NativePlatform/NativePlatform.nitro.ts +7 -3
  401. package/src/specs/NativePlatform/index.js +1 -0
  402. package/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.js +1 -0
  403. package/src/specs/NavigtionBar/index.js +9 -0
  404. package/src/specs/NavigtionBar/index.ts +6 -1
  405. package/src/specs/ShadowRegistry/ShadowRegistry.nitro.js +1 -0
  406. package/src/specs/ShadowRegistry/index.js +26 -0
  407. package/src/specs/ShadowRegistry/index.ts +10 -9
  408. package/src/specs/ShadowRegistry/types.js +1 -0
  409. package/src/specs/StatusBar/UnistylesStatusBar.nitro.js +1 -0
  410. package/src/specs/StatusBar/index.js +25 -0
  411. package/src/specs/StatusBar/index.ts +6 -1
  412. package/src/specs/StyleSheet/UnistylesStyleSheet.nitro.js +1 -0
  413. package/src/specs/StyleSheet/UnistylesStyleSheet.nitro.ts +4 -1
  414. package/src/specs/StyleSheet/index.js +13 -0
  415. package/src/specs/StyleSheet/index.ts +6 -1
  416. package/src/specs/TurboUnistyles/NativeTurboUnistyles.js +2 -0
  417. package/src/specs/TurboUnistyles/index.js +1 -0
  418. package/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.js +1 -0
  419. package/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.ts +0 -1
  420. package/src/specs/UnistylesRuntime/index.js +20 -0
  421. package/src/specs/UnistylesRuntime/index.ts +4 -2
  422. package/src/specs/index.js +8 -0
  423. package/src/specs/index.ts +6 -2
  424. package/src/specs/index.web.js +2 -0
  425. package/src/specs/index.web.ts +1 -1
  426. package/src/specs/types.js +17 -0
  427. package/src/types/accessibility.js +30 -0
  428. package/src/types/breakpoints.js +1 -0
  429. package/src/types/breakpoints.ts +25 -13
  430. package/src/types/common.js +1 -0
  431. package/src/types/core.js +1 -0
  432. package/src/types/index.js +1 -0
  433. package/src/types/index.ts +1 -1
  434. package/src/types/stylesheet.js +2 -0
  435. package/src/types/stylesheet.ts +7 -5
  436. package/src/types/variants.js +1 -0
  437. package/src/types/variants.ts +7 -1
  438. package/src/web/convert/boxShadow.js +59 -0
  439. package/{web → src/web}/convert/boxShadow.ts +14 -15
  440. package/src/web/convert/index.js +56 -0
  441. package/{web → src/web}/convert/index.ts +8 -15
  442. package/src/web/convert/pseudo.js +131 -0
  443. package/src/web/convert/pseudo.ts +137 -0
  444. package/src/web/convert/shadow.js +50 -0
  445. package/src/web/convert/style.js +137 -0
  446. package/{web → src/web}/convert/style.ts +61 -10
  447. package/src/web/convert/textShadow.js +56 -0
  448. package/{web → src/web}/convert/textShadow.ts +13 -14
  449. package/src/web/convert/transform.js +65 -0
  450. package/{web → src/web}/convert/transform.ts +7 -8
  451. package/src/web/convert/types.js +2 -0
  452. package/{web → src/web}/convert/types.ts +1 -1
  453. package/src/web/convert/utils.js +39 -0
  454. package/src/web/create.js +36 -0
  455. package/src/web/create.ts +47 -0
  456. package/src/web/index.js +22 -0
  457. package/{web → src/web}/index.ts +3 -2
  458. package/src/web/listener.js +26 -0
  459. package/{web/listener → src/web}/listener.ts +3 -3
  460. package/src/web/mock.js +21 -0
  461. package/{web → src/web}/mock.ts +2 -12
  462. package/src/web/mq.js +14 -0
  463. package/{web → src/web}/mq.ts +1 -3
  464. package/src/web/registry.js +165 -0
  465. package/src/web/registry.ts +236 -0
  466. package/src/web/runtime.js +160 -0
  467. package/{web → src/web}/runtime.ts +21 -18
  468. package/src/web/shadowRegistry.js +96 -0
  469. package/src/web/shadowRegistry.ts +121 -0
  470. package/src/web/state.js +68 -0
  471. package/src/web/state.ts +94 -0
  472. package/src/web/utils/common.js +79 -0
  473. package/{web/utils.ts → src/web/utils/common.ts} +48 -36
  474. package/src/web/utils/index.js +2 -0
  475. package/src/web/utils/index.ts +2 -0
  476. package/src/web/utils/unistyle.js +72 -0
  477. package/src/web/utils/unistyle.ts +104 -0
  478. package/src/web/variants/getVariants.js +26 -0
  479. package/src/web/variants/getVariants.ts +42 -0
  480. package/src/web/variants/index.js +2 -0
  481. package/src/web/variants/index.ts +2 -0
  482. package/src/web/variants/useVariants.js +50 -0
  483. package/src/web/variants/useVariants.ts +65 -0
  484. package/lib/typescript/example/App.d.ts +0 -4
  485. package/lib/typescript/example/App.d.ts.map +0 -1
  486. package/lib/typescript/example/unistyles.d.ts +0 -63
  487. package/lib/typescript/example/unistyles.d.ts.map +0 -1
  488. package/lib/typescript/expo-example/App.d.ts +0 -4
  489. package/lib/typescript/expo-example/App.d.ts.map +0 -1
  490. package/lib/typescript/expo-example/unistyles.d.ts +0 -63
  491. package/lib/typescript/expo-example/unistyles.d.ts.map +0 -1
  492. package/lib/typescript/web/convert/boxShadow.d.ts +0 -3
  493. package/lib/typescript/web/convert/boxShadow.d.ts.map +0 -1
  494. package/lib/typescript/web/convert/breakpoint.d.ts +0 -3
  495. package/lib/typescript/web/convert/breakpoint.d.ts.map +0 -1
  496. package/lib/typescript/web/convert/index.d.ts +0 -4
  497. package/lib/typescript/web/convert/index.d.ts.map +0 -1
  498. package/lib/typescript/web/convert/shadow.d.ts.map +0 -1
  499. package/lib/typescript/web/convert/style.d.ts +0 -3
  500. package/lib/typescript/web/convert/style.d.ts.map +0 -1
  501. package/lib/typescript/web/convert/textShadow.d.ts +0 -3
  502. package/lib/typescript/web/convert/textShadow.d.ts.map +0 -1
  503. package/lib/typescript/web/convert/transform.d.ts +0 -5
  504. package/lib/typescript/web/convert/transform.d.ts.map +0 -1
  505. package/lib/typescript/web/convert/types.d.ts.map +0 -1
  506. package/lib/typescript/web/convert/utils.d.ts.map +0 -1
  507. package/lib/typescript/web/create.d.ts +0 -2449
  508. package/lib/typescript/web/index.d.ts +0 -2464
  509. package/lib/typescript/web/listener/index.d.ts +0 -2
  510. package/lib/typescript/web/listener/index.d.ts.map +0 -1
  511. package/lib/typescript/web/listener/listener.d.ts.map +0 -1
  512. package/lib/typescript/web/mock.d.ts +0 -14
  513. package/lib/typescript/web/mock.d.ts.map +0 -1
  514. package/lib/typescript/web/mq.d.ts +0 -4
  515. package/lib/typescript/web/mq.d.ts.map +0 -1
  516. package/lib/typescript/web/pseudo.d.ts +0 -4
  517. package/lib/typescript/web/pseudo.d.ts.map +0 -1
  518. package/lib/typescript/web/registry.d.ts +0 -12
  519. package/lib/typescript/web/registry.d.ts.map +0 -1
  520. package/lib/typescript/web/runtime.d.ts.map +0 -1
  521. package/lib/typescript/web/state.d.ts +0 -24
  522. package/lib/typescript/web/state.d.ts.map +0 -1
  523. package/lib/typescript/web/useVariants.d.ts +0 -3
  524. package/lib/typescript/web/useVariants.d.ts.map +0 -1
  525. package/lib/typescript/web/utils.d.ts.map +0 -1
  526. package/plugin/__tests__/dependencies.spec.js +0 -360
  527. package/plugin/__tests__/ref.spec.js +0 -991
  528. package/plugin/__tests__/stylesheet.spec.js +0 -396
  529. package/web/convert/breakpoint.ts +0 -21
  530. package/web/create.ts +0 -102
  531. package/web/listener/index.ts +0 -1
  532. package/web/pseudo.ts +0 -11
  533. package/web/registry.ts +0 -41
  534. package/web/state.ts +0 -148
  535. package/web/useVariants.ts +0 -99
  536. /package/lib/typescript/{web → src/web}/convert/shadow.d.ts +0 -0
  537. /package/lib/typescript/{web → src/web}/convert/utils.d.ts +0 -0
  538. /package/nitrogen/generated/android/{UnistylesOnLoad.kt → unistylesOnLoad.kt} +0 -0
  539. /package/{web → src/web}/convert/module.d.ts +0 -0
  540. /package/{web → src/web}/convert/shadow.ts +0 -0
  541. /package/{web → src/web}/convert/utils.ts +0 -0
@@ -8,6 +8,30 @@
8
8
  import Foundation
9
9
  import NitroModules
10
10
 
11
+ /**
12
+ * Helper class for converting instances of `HybridNativePlatformSpecCxx` from- and to unsafe pointers.
13
+ * This is useful to pass Swift classes to C++, without having to strongly type the C++ function signature.
14
+ * The actual Swift type can be included in the .cpp file, without having to forward-declare anything in .hpp.
15
+ */
16
+ public final class HybridNativePlatformSpecCxxUnsafe {
17
+ /**
18
+ * Casts a `HybridNativePlatformSpecCxx` instance to a retained unsafe raw pointer.
19
+ * This acquires one additional strong reference on the object!
20
+ */
21
+ public static func toUnsafe(_ instance: HybridNativePlatformSpecCxx) -> UnsafeMutableRawPointer {
22
+ return Unmanaged.passRetained(instance).toOpaque()
23
+ }
24
+
25
+ /**
26
+ * Casts an unsafe pointer to a `HybridNativePlatformSpecCxx`.
27
+ * The pointer has to be a retained opaque `Unmanaged<HybridNativePlatformSpecCxx>`.
28
+ * This removes one strong reference from the object!
29
+ */
30
+ public static func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> HybridNativePlatformSpecCxx {
31
+ return Unmanaged<HybridNativePlatformSpecCxx>.fromOpaque(pointer).takeRetainedValue()
32
+ }
33
+ }
34
+
11
35
  /**
12
36
  * A class implementation that bridges HybridNativePlatformSpec over to C++.
13
37
  * In C++, we cannot use Swift protocols - so we need to wrap it in a class to make it strongly defined.
@@ -17,7 +41,7 @@ import NitroModules
17
41
  * - Other HybridObjects need to be wrapped/unwrapped from the Swift TCxx wrapper
18
42
  * - Throwing methods need to be wrapped with a Result<T, Error> type, as exceptions cannot be propagated to C++
19
43
  */
20
- public final class HybridNativePlatformSpecCxx {
44
+ public class HybridNativePlatformSpecCxx {
21
45
  /**
22
46
  * The Swift <> C++ bridge's namespace (`margelo::nitro::unistyles::bridge::swift`)
23
47
  * from `Unistyles-Swift-Cxx-Bridge.hpp`.
@@ -28,25 +52,36 @@ public final class HybridNativePlatformSpecCxx {
28
52
  /**
29
53
  * Holds an instance of the `HybridNativePlatformSpec` Swift protocol.
30
54
  */
31
- private(set) var implementation: HybridNativePlatformSpec
55
+ private var __implementation: any HybridNativePlatformSpec
32
56
 
33
57
  /**
34
58
  * Create a new `HybridNativePlatformSpecCxx` that wraps the given `HybridNativePlatformSpec`.
35
59
  * All properties and methods bridge to C++ types.
36
60
  */
37
- public init(_ implementation: HybridNativePlatformSpec) {
38
- self.implementation = implementation
61
+ public init(_ implementation: some HybridNativePlatformSpec) {
62
+ self.__implementation = implementation
63
+ /* no base class */
64
+ }
65
+
66
+ /**
67
+ * Get the actual `HybridNativePlatformSpec` instance this class wraps.
68
+ */
69
+ @inline(__always)
70
+ public func getHybridNativePlatformSpec() -> any HybridNativePlatformSpec {
71
+ return __implementation
39
72
  }
40
73
 
41
74
  /**
42
75
  * Contains a (weak) reference to the C++ HybridObject to cache it.
43
76
  */
44
77
  public var hybridContext: margelo.nitro.HybridContext {
78
+ @inline(__always)
45
79
  get {
46
- return self.implementation.hybridContext
80
+ return self.__implementation.hybridContext
47
81
  }
82
+ @inline(__always)
48
83
  set {
49
- self.implementation.hybridContext = newValue
84
+ self.__implementation.hybridContext = newValue
50
85
  }
51
86
  }
52
87
 
@@ -54,220 +89,248 @@ public final class HybridNativePlatformSpecCxx {
54
89
  * Get the memory size of the Swift class (plus size of any other allocations)
55
90
  * so the JS VM can properly track it and garbage-collect the JS object if needed.
56
91
  */
92
+ @inline(__always)
57
93
  public var memorySize: Int {
58
- return self.implementation.memorySize
94
+ return self.__implementation.memorySize
59
95
  }
60
96
 
61
97
  // Properties
62
-
98
+
63
99
 
64
100
  // Methods
65
101
  @inline(__always)
66
102
  public func getInsets() -> Insets {
67
103
  do {
68
- let result = try self.implementation.getInsets()
69
- return result
104
+ let __result = try self.__implementation.getInsets()
105
+ return __result
70
106
  } catch {
71
- let message = "\(error.localizedDescription)"
72
- fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(message))")
107
+ let __message = "\(error.localizedDescription)"
108
+ fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
73
109
  }
74
110
  }
75
-
111
+
76
112
  @inline(__always)
77
113
  public func getColorScheme() -> Int32 {
78
114
  do {
79
- let result = try self.implementation.getColorScheme()
80
- return result.rawValue
115
+ let __result = try self.__implementation.getColorScheme()
116
+ return __result.rawValue
81
117
  } catch {
82
- let message = "\(error.localizedDescription)"
83
- fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(message))")
118
+ let __message = "\(error.localizedDescription)"
119
+ fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
84
120
  }
85
121
  }
86
-
122
+
87
123
  @inline(__always)
88
124
  public func getFontScale() -> Double {
89
125
  do {
90
- let result = try self.implementation.getFontScale()
91
- return result
126
+ let __result = try self.__implementation.getFontScale()
127
+ return __result
92
128
  } catch {
93
- let message = "\(error.localizedDescription)"
94
- fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(message))")
129
+ let __message = "\(error.localizedDescription)"
130
+ fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
95
131
  }
96
132
  }
97
-
133
+
98
134
  @inline(__always)
99
135
  public func getPixelRatio() -> Double {
100
136
  do {
101
- let result = try self.implementation.getPixelRatio()
102
- return result
137
+ let __result = try self.__implementation.getPixelRatio()
138
+ return __result
103
139
  } catch {
104
- let message = "\(error.localizedDescription)"
105
- fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(message))")
140
+ let __message = "\(error.localizedDescription)"
141
+ fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
106
142
  }
107
143
  }
108
-
144
+
109
145
  @inline(__always)
110
146
  public func getOrientation() -> Int32 {
111
147
  do {
112
- let result = try self.implementation.getOrientation()
113
- return result.rawValue
148
+ let __result = try self.__implementation.getOrientation()
149
+ return __result.rawValue
114
150
  } catch {
115
- let message = "\(error.localizedDescription)"
116
- fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(message))")
151
+ let __message = "\(error.localizedDescription)"
152
+ fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
117
153
  }
118
154
  }
119
-
155
+
120
156
  @inline(__always)
121
157
  public func getContentSizeCategory() -> std.string {
122
158
  do {
123
- let result = try self.implementation.getContentSizeCategory()
124
- return std.string(result)
159
+ let __result = try self.__implementation.getContentSizeCategory()
160
+ return std.string(__result)
125
161
  } catch {
126
- let message = "\(error.localizedDescription)"
127
- fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(message))")
162
+ let __message = "\(error.localizedDescription)"
163
+ fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
128
164
  }
129
165
  }
130
-
166
+
131
167
  @inline(__always)
132
168
  public func getScreenDimensions() -> Dimensions {
133
169
  do {
134
- let result = try self.implementation.getScreenDimensions()
135
- return result
170
+ let __result = try self.__implementation.getScreenDimensions()
171
+ return __result
136
172
  } catch {
137
- let message = "\(error.localizedDescription)"
138
- fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(message))")
173
+ let __message = "\(error.localizedDescription)"
174
+ fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
139
175
  }
140
176
  }
141
-
177
+
142
178
  @inline(__always)
143
179
  public func getStatusBarDimensions() -> Dimensions {
144
180
  do {
145
- let result = try self.implementation.getStatusBarDimensions()
146
- return result
181
+ let __result = try self.__implementation.getStatusBarDimensions()
182
+ return __result
147
183
  } catch {
148
- let message = "\(error.localizedDescription)"
149
- fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(message))")
184
+ let __message = "\(error.localizedDescription)"
185
+ fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
150
186
  }
151
187
  }
152
-
188
+
153
189
  @inline(__always)
154
190
  public func getNavigationBarDimensions() -> Dimensions {
155
191
  do {
156
- let result = try self.implementation.getNavigationBarDimensions()
157
- return result
192
+ let __result = try self.__implementation.getNavigationBarDimensions()
193
+ return __result
158
194
  } catch {
159
- let message = "\(error.localizedDescription)"
160
- fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(message))")
195
+ let __message = "\(error.localizedDescription)"
196
+ fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
161
197
  }
162
198
  }
163
-
199
+
164
200
  @inline(__always)
165
201
  public func getPrefersRtlDirection() -> Bool {
166
202
  do {
167
- let result = try self.implementation.getPrefersRtlDirection()
168
- return result
203
+ let __result = try self.__implementation.getPrefersRtlDirection()
204
+ return __result
169
205
  } catch {
170
- let message = "\(error.localizedDescription)"
171
- fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(message))")
206
+ let __message = "\(error.localizedDescription)"
207
+ fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
172
208
  }
173
209
  }
174
-
210
+
175
211
  @inline(__always)
176
212
  public func setRootViewBackgroundColor(color: Double) -> Void {
177
213
  do {
178
- try self.implementation.setRootViewBackgroundColor(color: color)
179
- return
214
+ try self.__implementation.setRootViewBackgroundColor(color: color)
215
+ return
180
216
  } catch {
181
- let message = "\(error.localizedDescription)"
182
- fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(message))")
217
+ let __message = "\(error.localizedDescription)"
218
+ fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
183
219
  }
184
220
  }
185
-
221
+
186
222
  @inline(__always)
187
223
  public func setNavigationBarBackgroundColor(color: Double) -> Void {
188
224
  do {
189
- try self.implementation.setNavigationBarBackgroundColor(color: color)
190
- return
225
+ try self.__implementation.setNavigationBarBackgroundColor(color: color)
226
+ return
191
227
  } catch {
192
- let message = "\(error.localizedDescription)"
193
- fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(message))")
228
+ let __message = "\(error.localizedDescription)"
229
+ fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
194
230
  }
195
231
  }
196
-
232
+
197
233
  @inline(__always)
198
234
  public func setNavigationBarHidden(isHidden: Bool) -> Void {
199
235
  do {
200
- try self.implementation.setNavigationBarHidden(isHidden: isHidden)
201
- return
236
+ try self.__implementation.setNavigationBarHidden(isHidden: isHidden)
237
+ return
202
238
  } catch {
203
- let message = "\(error.localizedDescription)"
204
- fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(message))")
239
+ let __message = "\(error.localizedDescription)"
240
+ fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
205
241
  }
206
242
  }
207
-
243
+
208
244
  @inline(__always)
209
245
  public func setStatusBarHidden(isHidden: Bool) -> Void {
210
246
  do {
211
- try self.implementation.setStatusBarHidden(isHidden: isHidden)
212
- return
247
+ try self.__implementation.setStatusBarHidden(isHidden: isHidden)
248
+ return
213
249
  } catch {
214
- let message = "\(error.localizedDescription)"
215
- fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(message))")
250
+ let __message = "\(error.localizedDescription)"
251
+ fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
216
252
  }
217
253
  }
218
-
254
+
219
255
  @inline(__always)
220
256
  public func setStatusBarBackgroundColor(color: Double) -> Void {
221
257
  do {
222
- try self.implementation.setStatusBarBackgroundColor(color: color)
223
- return
258
+ try self.__implementation.setStatusBarBackgroundColor(color: color)
259
+ return
224
260
  } catch {
225
- let message = "\(error.localizedDescription)"
226
- fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(message))")
261
+ let __message = "\(error.localizedDescription)"
262
+ fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
227
263
  }
228
264
  }
229
-
265
+
230
266
  @inline(__always)
231
267
  public func setImmersiveMode(isEnabled: Bool) -> Void {
232
268
  do {
233
- try self.implementation.setImmersiveMode(isEnabled: isEnabled)
234
- return
269
+ try self.__implementation.setImmersiveMode(isEnabled: isEnabled)
270
+ return
235
271
  } catch {
236
- let message = "\(error.localizedDescription)"
237
- fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(message))")
272
+ let __message = "\(error.localizedDescription)"
273
+ fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
238
274
  }
239
275
  }
240
-
276
+
241
277
  @inline(__always)
242
278
  public func getMiniRuntime() -> UnistylesNativeMiniRuntime {
243
279
  do {
244
- let result = try self.implementation.getMiniRuntime()
245
- return result
280
+ let __result = try self.__implementation.getMiniRuntime()
281
+ return __result
246
282
  } catch {
247
- let message = "\(error.localizedDescription)"
248
- fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(message))")
283
+ let __message = "\(error.localizedDescription)"
284
+ fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
249
285
  }
250
286
  }
251
-
287
+
252
288
  @inline(__always)
253
289
  public func registerPlatformListener(callback: bridge.Func_void_std__vector_UnistyleDependency_) -> Void {
254
290
  do {
255
- try self.implementation.registerPlatformListener(callback: { () -> (([UnistyleDependency]) -> Void) in
256
- let shared = bridge.share_Func_void_std__vector_UnistyleDependency_(callback)
257
- return { (dependencies: [UnistyleDependency]) -> Void in
258
- shared.pointee.call({ () -> bridge.std__vector_UnistyleDependency_ in
259
- var vector = bridge.create_std__vector_UnistyleDependency_(dependencies.count)
260
- for item in dependencies {
261
- vector.push_back(item)
291
+ try self.__implementation.registerPlatformListener(callback: { () -> (([UnistyleDependency]) -> Void) in
292
+ let __sharedClosure = bridge.share_Func_void_std__vector_UnistyleDependency_(callback)
293
+ return { (__dependencies: [UnistyleDependency]) -> Void in
294
+ __sharedClosure.pointee.call({ () -> bridge.std__vector_UnistyleDependency_ in
295
+ var __vector = bridge.create_std__vector_UnistyleDependency_(__dependencies.count)
296
+ for __item in __dependencies {
297
+ __vector.push_back(__item)
262
298
  }
263
- return vector
299
+ return __vector
264
300
  }())
265
301
  }
266
302
  }())
267
- return
303
+ return
304
+ } catch {
305
+ let __message = "\(error.localizedDescription)"
306
+ fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
307
+ }
308
+ }
309
+
310
+ @inline(__always)
311
+ public func registerImeListener(callback: bridge.Func_void) -> Void {
312
+ do {
313
+ try self.__implementation.registerImeListener(callback: { () -> (() -> Void) in
314
+ let __sharedClosure = bridge.share_Func_void(callback)
315
+ return { () -> Void in
316
+ __sharedClosure.pointee.call()
317
+ }
318
+ }())
319
+ return
320
+ } catch {
321
+ let __message = "\(error.localizedDescription)"
322
+ fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
323
+ }
324
+ }
325
+
326
+ @inline(__always)
327
+ public func unregisterPlatformListeners() -> Void {
328
+ do {
329
+ try self.__implementation.unregisterPlatformListeners()
330
+ return
268
331
  } catch {
269
- let message = "\(error.localizedDescription)"
270
- fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(message))")
332
+ let __message = "\(error.localizedDescription)"
333
+ fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
271
334
  }
272
335
  }
273
336
  }
@@ -45,6 +45,8 @@ public extension UnistyleDependency {
45
45
  self = .statusbar
46
46
  case "NavigationBar":
47
47
  self = .navigationbar
48
+ case "Ime":
49
+ self = .ime
48
50
  default:
49
51
  return nil
50
52
  }
@@ -83,6 +85,8 @@ public extension UnistyleDependency {
83
85
  return "StatusBar"
84
86
  case .navigationbar:
85
87
  return "NavigationBar"
88
+ case .ime:
89
+ return "Ime"
86
90
  }
87
91
  }
88
92
  }
@@ -18,8 +18,8 @@ public extension UnistylesNativeMiniRuntime {
18
18
  /**
19
19
  * Create a new instance of `UnistylesNativeMiniRuntime`.
20
20
  */
21
- init(colorScheme: ColorScheme, screen: Dimensions, contentSizeCategory: String, insets: Insets, pixelRatio: Double, fontScale: Double, rtl: Bool, statusBar: Dimensions, navigationBar: Dimensions, orientation: Orientation) {
22
- self.init(colorScheme, screen, std.string(contentSizeCategory), insets, pixelRatio, fontScale, rtl, statusBar, navigationBar, orientation)
21
+ init(colorScheme: ColorScheme, screen: Dimensions, contentSizeCategory: String, insets: Insets, pixelRatio: Double, fontScale: Double, rtl: Bool, statusBar: Dimensions, navigationBar: Dimensions, isPortrait: Bool, isLandscape: Bool) {
22
+ self.init(colorScheme, screen, std.string(contentSizeCategory), insets, pixelRatio, fontScale, rtl, statusBar, navigationBar, isPortrait, isLandscape)
23
23
  }
24
24
 
25
25
  var colorScheme: ColorScheme {
@@ -121,14 +121,25 @@ public extension UnistylesNativeMiniRuntime {
121
121
  }
122
122
  }
123
123
 
124
- var orientation: Orientation {
124
+ var isPortrait: Bool {
125
125
  @inline(__always)
126
126
  get {
127
- return self.__orientation
127
+ return self.__isPortrait
128
128
  }
129
129
  @inline(__always)
130
130
  set {
131
- self.__orientation = newValue
131
+ self.__isPortrait = newValue
132
+ }
133
+ }
134
+
135
+ var isLandscape: Bool {
136
+ @inline(__always)
137
+ get {
138
+ return self.__isLandscape
139
+ }
140
+ @inline(__always)
141
+ set {
142
+ self.__isLandscape = newValue
132
143
  }
133
144
  }
134
145
  }
@@ -50,7 +50,7 @@ namespace margelo::nitro {
50
50
  case hashString("light"): return ColorScheme::LIGHT;
51
51
  case hashString("unspecified"): return ColorScheme::UNSPECIFIED;
52
52
  default: [[unlikely]]
53
- throw std::runtime_error("Cannot convert \"" + unionValue + "\" to enum ColorScheme - invalid value!");
53
+ throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum ColorScheme - invalid value!");
54
54
  }
55
55
  }
56
56
  static inline jsi::Value toJSI(jsi::Runtime& runtime, ColorScheme arg) {
@@ -59,7 +59,7 @@ namespace margelo::nitro {
59
59
  case ColorScheme::LIGHT: return JSIConverter<std::string>::toJSI(runtime, "light");
60
60
  case ColorScheme::UNSPECIFIED: return JSIConverter<std::string>::toJSI(runtime, "unspecified");
61
61
  default: [[unlikely]]
62
- throw std::runtime_error("Cannot convert ColorScheme to JS - invalid value: "
62
+ throw std::invalid_argument("Cannot convert ColorScheme to JS - invalid value: "
63
63
  + std::to_string(static_cast<int>(arg)) + "!");
64
64
  }
65
65
  }
@@ -32,6 +32,8 @@ namespace margelo::nitro::unistyles {
32
32
  prototype.registerHybridMethod("setImmersiveMode", &HybridNativePlatformSpec::setImmersiveMode);
33
33
  prototype.registerHybridMethod("getMiniRuntime", &HybridNativePlatformSpec::getMiniRuntime);
34
34
  prototype.registerHybridMethod("registerPlatformListener", &HybridNativePlatformSpec::registerPlatformListener);
35
+ prototype.registerHybridMethod("registerImeListener", &HybridNativePlatformSpec::registerImeListener);
36
+ prototype.registerHybridMethod("unregisterPlatformListeners", &HybridNativePlatformSpec::unregisterPlatformListeners);
35
37
  });
36
38
  }
37
39
 
@@ -43,9 +43,12 @@ namespace margelo::nitro::unistyles {
43
43
  /**
44
44
  * An abstract base class for `NativePlatform`
45
45
  * Inherit this class to create instances of `HybridNativePlatformSpec` in C++.
46
+ * You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
46
47
  * @example
47
48
  * ```cpp
48
49
  * class HybridNativePlatform: public HybridNativePlatformSpec {
50
+ * public:
51
+ * HybridNativePlatform(...): HybridObject(TAG) { ... }
49
52
  * // ...
50
53
  * };
51
54
  * ```
@@ -82,6 +85,8 @@ namespace margelo::nitro::unistyles {
82
85
  virtual void setImmersiveMode(bool isEnabled) = 0;
83
86
  virtual UnistylesNativeMiniRuntime getMiniRuntime() = 0;
84
87
  virtual void registerPlatformListener(const std::function<void(const std::vector<UnistyleDependency>& /* dependencies */)>& callback) = 0;
88
+ virtual void registerImeListener(const std::function<void()>& callback) = 0;
89
+ virtual void unregisterPlatformListeners() = 0;
85
90
 
86
91
  protected:
87
92
  // Hybrid Setup
@@ -24,9 +24,12 @@ namespace margelo::nitro::unistyles {
24
24
  /**
25
25
  * An abstract base class for `UnistylesNavigationBar`
26
26
  * Inherit this class to create instances of `HybridUnistylesNavigationBarSpec` in C++.
27
+ * You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
27
28
  * @example
28
29
  * ```cpp
29
30
  * class HybridUnistylesNavigationBar: public HybridUnistylesNavigationBarSpec {
31
+ * public:
32
+ * HybridUnistylesNavigationBar(...): HybridObject(TAG) { ... }
30
33
  * // ...
31
34
  * };
32
35
  * ```
@@ -39,9 +39,12 @@ namespace margelo::nitro::unistyles {
39
39
  /**
40
40
  * An abstract base class for `UnistylesRuntime`
41
41
  * Inherit this class to create instances of `HybridUnistylesRuntimeSpec` in C++.
42
+ * You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
42
43
  * @example
43
44
  * ```cpp
44
45
  * class HybridUnistylesRuntime: public HybridUnistylesRuntimeSpec {
46
+ * public:
47
+ * HybridUnistylesRuntime(...): HybridObject(TAG) { ... }
45
48
  * // ...
46
49
  * };
47
50
  * ```
@@ -24,9 +24,12 @@ namespace margelo::nitro::unistyles {
24
24
  /**
25
25
  * An abstract base class for `UnistylesShadowRegistry`
26
26
  * Inherit this class to create instances of `HybridUnistylesShadowRegistrySpec` in C++.
27
+ * You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
27
28
  * @example
28
29
  * ```cpp
29
30
  * class HybridUnistylesShadowRegistry: public HybridUnistylesShadowRegistrySpec {
31
+ * public:
32
+ * HybridUnistylesShadowRegistry(...): HybridObject(TAG) { ... }
30
33
  * // ...
31
34
  * };
32
35
  * ```
@@ -24,9 +24,12 @@ namespace margelo::nitro::unistyles {
24
24
  /**
25
25
  * An abstract base class for `UnistylesStatusBar`
26
26
  * Inherit this class to create instances of `HybridUnistylesStatusBarSpec` in C++.
27
+ * You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
27
28
  * @example
28
29
  * ```cpp
29
30
  * class HybridUnistylesStatusBar: public HybridUnistylesStatusBarSpec {
31
+ * public:
32
+ * HybridUnistylesStatusBar(...): HybridObject(TAG) { ... }
30
33
  * // ...
31
34
  * };
32
35
  * ```
@@ -15,7 +15,8 @@ namespace margelo::nitro::unistyles {
15
15
  // load custom methods/properties
16
16
  registerHybrids(this, [](Prototype& prototype) {
17
17
  prototype.registerHybridGetter("hairlineWidth", &HybridUnistylesStyleSheetSpec::getHairlineWidth);
18
- prototype.registerHybridGetter("___unid", &HybridUnistylesStyleSheetSpec::get___unid);
18
+ prototype.registerHybridGetter("unid", &HybridUnistylesStyleSheetSpec::getUnid);
19
+ prototype.registerHybridMethod("addChangeListener", &HybridUnistylesStyleSheetSpec::addChangeListener);
19
20
  });
20
21
  }
21
22
 
@@ -13,9 +13,12 @@
13
13
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
14
  #endif
15
15
 
16
+ // Forward declaration of `UnistyleDependency` to properly resolve imports.
17
+ namespace margelo::nitro::unistyles { enum class UnistyleDependency; }
16
18
 
17
-
18
-
19
+ #include <functional>
20
+ #include <vector>
21
+ #include "UnistyleDependency.hpp"
19
22
 
20
23
  namespace margelo::nitro::unistyles {
21
24
 
@@ -24,9 +27,12 @@ namespace margelo::nitro::unistyles {
24
27
  /**
25
28
  * An abstract base class for `UnistylesStyleSheet`
26
29
  * Inherit this class to create instances of `HybridUnistylesStyleSheetSpec` in C++.
30
+ * You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
27
31
  * @example
28
32
  * ```cpp
29
33
  * class HybridUnistylesStyleSheet: public HybridUnistylesStyleSheetSpec {
34
+ * public:
35
+ * HybridUnistylesStyleSheet(...): HybridObject(TAG) { ... }
30
36
  * // ...
31
37
  * };
32
38
  * ```
@@ -42,11 +48,11 @@ namespace margelo::nitro::unistyles {
42
48
  public:
43
49
  // Properties
44
50
  virtual double getHairlineWidth() = 0;
45
- virtual double get___unid() = 0;
51
+ virtual double getUnid() = 0;
46
52
 
47
53
  public:
48
54
  // Methods
49
-
55
+ virtual std::function<void()> addChangeListener(const std::function<void(const std::vector<UnistyleDependency>& /* dependencies */)>& onChanged) = 0;
50
56
 
51
57
  protected:
52
58
  // Hybrid Setup