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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (541) hide show
  1. package/README.md +7 -0
  2. package/android/CMakeLists.txt +12 -21
  3. package/cxx/common/Constants.h +3 -0
  4. package/cxx/common/Helpers.h +118 -5
  5. package/cxx/core/HostStyle.cpp +12 -8
  6. package/cxx/core/HostStyle.h +4 -0
  7. package/cxx/core/StyleSheet.h +0 -2
  8. package/cxx/core/StyleSheetRegistry.cpp +10 -13
  9. package/cxx/core/StyleSheetRegistry.h +4 -4
  10. package/cxx/core/Unistyle.h +7 -10
  11. package/cxx/core/UnistyleData.h +23 -0
  12. package/cxx/core/UnistyleWrapper.h +61 -12
  13. package/cxx/core/UnistylesCommitHook.cpp +17 -16
  14. package/cxx/core/UnistylesCommitHook.h +7 -11
  15. package/cxx/core/UnistylesCommitShadowNode.h +13 -0
  16. package/cxx/core/UnistylesMountHook.cpp +26 -0
  17. package/cxx/core/UnistylesMountHook.h +24 -0
  18. package/cxx/core/UnistylesRegistry.cpp +85 -88
  19. package/cxx/core/UnistylesRegistry.h +16 -13
  20. package/cxx/core/UnistylesState.cpp +29 -11
  21. package/cxx/core/UnistylesState.h +5 -2
  22. package/cxx/hybridObjects/HybridShadowRegistry.cpp +15 -13
  23. package/cxx/hybridObjects/HybridStyleSheet.cpp +144 -46
  24. package/cxx/hybridObjects/HybridStyleSheet.h +23 -4
  25. package/cxx/hybridObjects/HybridUnistylesRuntime.cpp +51 -8
  26. package/cxx/hybridObjects/HybridUnistylesRuntime.h +12 -1
  27. package/cxx/parser/Parser.cpp +209 -176
  28. package/cxx/parser/Parser.h +10 -14
  29. package/cxx/shadowTree/ShadowLeafUpdate.h +1 -1
  30. package/cxx/shadowTree/ShadowTrafficController.h +37 -0
  31. package/cxx/shadowTree/ShadowTreeManager.cpp +16 -15
  32. package/cxx/shadowTree/ShadowTreeManager.h +2 -1
  33. package/ios/Equatable.swift +2 -1
  34. package/ios/NativePlatform+ios.swift +21 -5
  35. package/ios/NativePlatform+keyboard.swift +83 -0
  36. package/ios/NativePlatformListener+ios.swift +36 -23
  37. package/ios/Unistyles.h +1 -0
  38. package/ios/UnistylesModuleOnLoad.h +13 -2
  39. package/ios/UnistylesModuleOnLoad.mm +11 -1
  40. package/lib/commonjs/common.js.map +1 -1
  41. package/lib/commonjs/core/createUnistylesComponent.js +18 -0
  42. package/lib/commonjs/core/createUnistylesComponent.js.map +1 -0
  43. package/lib/commonjs/core/createUnistylesComponent.native.js +45 -0
  44. package/lib/commonjs/core/createUnistylesComponent.native.js.map +2 -0
  45. package/lib/commonjs/core/index.js +27 -0
  46. package/lib/commonjs/core/index.js.map +1 -0
  47. package/lib/commonjs/core/useBreakpoint.js +22 -0
  48. package/lib/commonjs/core/useBreakpoint.js.map +1 -0
  49. package/lib/commonjs/core/useBreakpoint.native.js +24 -0
  50. package/lib/commonjs/core/useBreakpoint.native.js.map +2 -0
  51. package/lib/commonjs/core/useTheme.js +22 -0
  52. package/lib/commonjs/core/useTheme.js.map +2 -0
  53. package/lib/commonjs/core/useTheme.native.js +24 -0
  54. package/lib/commonjs/core/useTheme.native.js.map +2 -0
  55. package/lib/commonjs/global.js +3 -0
  56. package/lib/commonjs/index.js +23 -11
  57. package/lib/commonjs/index.js.map +1 -1
  58. package/lib/commonjs/mq.js +1 -4
  59. package/lib/commonjs/mq.js.map +2 -1
  60. package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js +6 -4
  61. package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js.map +1 -1
  62. package/lib/commonjs/specs/NativePlatform/index.js.map +1 -1
  63. package/lib/commonjs/specs/NavigtionBar/index.js +1 -1
  64. package/lib/commonjs/specs/NavigtionBar/index.js.map +1 -1
  65. package/lib/commonjs/specs/ShadowRegistry/ShadowRegistry.nitro.js.map +1 -1
  66. package/lib/commonjs/specs/ShadowRegistry/index.js +7 -6
  67. package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
  68. package/lib/commonjs/specs/ShadowRegistry/types.js +3 -0
  69. package/lib/commonjs/specs/StatusBar/UnistylesStatusBar.nitro.js.map +1 -1
  70. package/lib/commonjs/specs/StatusBar/index.js +1 -1
  71. package/lib/commonjs/specs/StatusBar/index.js.map +2 -1
  72. package/lib/commonjs/specs/StyleSheet/UnistylesStyleSheet.nitro.js +2 -4
  73. package/lib/commonjs/specs/StyleSheet/UnistylesStyleSheet.nitro.js.map +1 -1
  74. package/lib/commonjs/specs/StyleSheet/index.js +1 -0
  75. package/lib/commonjs/specs/StyleSheet/index.js.map +1 -1
  76. package/lib/commonjs/specs/TurboUnistyles/NativeTurboUnistyles.js +1 -3
  77. package/lib/commonjs/specs/TurboUnistyles/NativeTurboUnistyles.js.map +2 -1
  78. package/lib/commonjs/specs/UnistylesRuntime/index.js +1 -1
  79. package/lib/commonjs/specs/UnistylesRuntime/index.js.map +1 -1
  80. package/lib/commonjs/specs/index.js +7 -0
  81. package/lib/commonjs/specs/index.js.map +1 -1
  82. package/lib/commonjs/specs/index.web.js +1 -1
  83. package/lib/commonjs/specs/types.js.map +1 -0
  84. package/lib/commonjs/types/accessibility.js +9 -9
  85. package/lib/commonjs/types/accessibility.js.map +1 -1
  86. package/lib/commonjs/types/common.js +3 -0
  87. package/lib/commonjs/types/core.js.map +1 -1
  88. package/lib/commonjs/types/index.js.map +2 -1
  89. package/lib/commonjs/types/stylesheet.js +1 -2
  90. package/lib/commonjs/types/stylesheet.js.map +1 -1
  91. package/lib/commonjs/web/convert/boxShadow.js +77 -0
  92. package/lib/commonjs/web/convert/boxShadow.js.map +1 -0
  93. package/lib/commonjs/web/convert/index.js +68 -0
  94. package/lib/commonjs/web/convert/index.js.map +2 -0
  95. package/lib/commonjs/web/convert/module.d.js +2 -0
  96. package/lib/commonjs/web/convert/module.d.js.map +1 -0
  97. package/lib/commonjs/web/convert/pseudo.js +10 -0
  98. package/lib/commonjs/web/convert/pseudo.js.map +2 -0
  99. package/lib/commonjs/web/convert/shadow.js +68 -0
  100. package/lib/commonjs/web/convert/shadow.js.map +2 -0
  101. package/lib/commonjs/web/convert/style.js +93 -0
  102. package/lib/commonjs/web/convert/style.js.map +2 -0
  103. package/lib/commonjs/web/convert/textShadow.js +70 -0
  104. package/lib/commonjs/web/convert/textShadow.js.map +2 -0
  105. package/lib/commonjs/web/convert/transform.js +72 -0
  106. package/lib/commonjs/web/convert/transform.js.map +2 -0
  107. package/lib/commonjs/web/convert/types.js +9 -0
  108. package/lib/commonjs/web/convert/types.js.map +1 -0
  109. package/lib/commonjs/web/convert/utils.js +54 -0
  110. package/lib/commonjs/web/convert/utils.js.map +2 -0
  111. package/lib/commonjs/web/create.js +48 -0
  112. package/lib/commonjs/web/create.js.map +1 -0
  113. package/lib/commonjs/web/index.js +60 -0
  114. package/lib/commonjs/web/index.js.map +2 -0
  115. package/lib/commonjs/web/listener.js +35 -0
  116. package/lib/commonjs/web/listener.js.map +2 -0
  117. package/lib/commonjs/web/mock.js +28 -0
  118. package/lib/commonjs/web/mock.js.map +2 -0
  119. package/lib/commonjs/web/mq.js +23 -0
  120. package/lib/commonjs/web/mq.js.map +1 -0
  121. package/lib/commonjs/web/registry.js +183 -0
  122. package/lib/commonjs/web/registry.js.map +2 -0
  123. package/lib/commonjs/web/runtime.js +167 -0
  124. package/lib/commonjs/web/runtime.js.map +2 -0
  125. package/lib/commonjs/web/shadowRegistry.js +114 -0
  126. package/lib/commonjs/web/shadowRegistry.js.map +2 -0
  127. package/lib/commonjs/web/state.js +69 -0
  128. package/lib/commonjs/web/state.js.map +2 -0
  129. package/lib/commonjs/web/utils/common.js +90 -0
  130. package/lib/commonjs/web/utils/common.js.map +2 -0
  131. package/lib/commonjs/web/utils/index.js +28 -0
  132. package/lib/commonjs/web/utils/index.js.map +1 -0
  133. package/lib/commonjs/web/utils/unistyle.js +82 -0
  134. package/lib/commonjs/web/utils/unistyle.js.map +2 -0
  135. package/lib/commonjs/web/variants/getVariants.js +39 -0
  136. package/lib/commonjs/web/variants/getVariants.js.map +1 -0
  137. package/lib/commonjs/web/variants/index.js +28 -0
  138. package/lib/commonjs/web/variants/index.js.map +1 -0
  139. package/lib/commonjs/web/variants/useVariants.js +58 -0
  140. package/lib/commonjs/web/variants/useVariants.js.map +2 -0
  141. package/lib/module/core/createUnistylesComponent.js +11 -0
  142. package/lib/module/core/createUnistylesComponent.js.map +2 -0
  143. package/lib/module/core/createUnistylesComponent.native.js +39 -0
  144. package/lib/module/core/createUnistylesComponent.native.js.map +1 -0
  145. package/lib/module/core/index.js +6 -0
  146. package/lib/module/core/index.js.map +1 -0
  147. package/lib/module/core/useBreakpoint.js +17 -0
  148. package/lib/module/core/useBreakpoint.js.map +1 -0
  149. package/lib/module/core/useBreakpoint.native.js +19 -0
  150. package/lib/module/core/useBreakpoint.native.js.map +2 -0
  151. package/lib/module/core/useTheme.js +17 -0
  152. package/lib/module/core/useTheme.js.map +2 -0
  153. package/lib/module/core/useTheme.native.js +19 -0
  154. package/lib/module/core/useTheme.native.js.map +2 -0
  155. package/lib/module/global.js +1 -1
  156. package/lib/module/global.js.map +1 -0
  157. package/lib/module/index.js +1 -9
  158. package/lib/module/index.js.map +1 -1
  159. package/lib/module/mq.js +1 -4
  160. package/lib/module/mq.js.map +2 -1
  161. package/lib/module/specs/NativePlatform/NativePlatform.nitro.js +1 -0
  162. package/lib/module/specs/NativePlatform/NativePlatform.nitro.js.map +2 -1
  163. package/lib/module/specs/NativePlatform/index.js.map +1 -1
  164. package/lib/module/specs/NavigtionBar/UnistylesNavigationBar.nitro.js.map +1 -1
  165. package/lib/module/specs/NavigtionBar/index.js +1 -1
  166. package/lib/module/specs/NavigtionBar/index.js.map +2 -1
  167. package/lib/module/specs/ShadowRegistry/ShadowRegistry.nitro.js.map +1 -1
  168. package/lib/module/specs/ShadowRegistry/index.js +7 -6
  169. package/lib/module/specs/ShadowRegistry/index.js.map +2 -1
  170. package/lib/module/specs/ShadowRegistry/types.js +2 -0
  171. package/lib/module/specs/ShadowRegistry/types.js.map +1 -0
  172. package/lib/module/specs/StatusBar/UnistylesStatusBar.nitro.js.map +1 -1
  173. package/lib/module/specs/StatusBar/index.js +1 -1
  174. package/lib/module/specs/StatusBar/index.js.map +1 -1
  175. package/lib/module/specs/StyleSheet/index.js +1 -0
  176. package/lib/module/specs/StyleSheet/index.js.map +2 -1
  177. package/lib/module/specs/TurboUnistyles/NativeTurboUnistyles.js.map +2 -1
  178. package/lib/module/specs/UnistylesRuntime/UnistylesRuntime.nitro.js.map +1 -0
  179. package/lib/module/specs/UnistylesRuntime/index.js +1 -1
  180. package/lib/module/specs/UnistylesRuntime/index.js.map +1 -1
  181. package/lib/module/specs/index.js +2 -1
  182. package/lib/module/specs/index.js.map +1 -1
  183. package/lib/module/specs/index.web.js +1 -1
  184. package/lib/module/specs/index.web.js.map +2 -1
  185. package/lib/module/specs/types.js +10 -10
  186. package/lib/module/specs/types.js.map +1 -1
  187. package/lib/module/types/accessibility.js +1 -1
  188. package/lib/module/types/accessibility.js.map +1 -0
  189. package/lib/module/types/breakpoints.js.map +1 -0
  190. package/lib/module/types/common.js +1 -1
  191. package/lib/module/types/common.js.map +1 -0
  192. package/lib/module/types/core.js.map +1 -1
  193. package/lib/module/types/index.js.map +2 -1
  194. package/lib/module/types/stylesheet.js.map +1 -1
  195. package/lib/module/types/variants.js.map +1 -0
  196. package/lib/module/web/convert/boxShadow.js +72 -0
  197. package/lib/module/web/convert/boxShadow.js.map +1 -0
  198. package/lib/module/web/convert/index.js +69 -0
  199. package/lib/module/web/convert/index.js.map +2 -0
  200. package/lib/module/web/convert/module.d.js +2 -0
  201. package/lib/module/web/convert/module.d.js.map +1 -0
  202. package/lib/module/web/convert/pseudo.js +5 -0
  203. package/lib/module/web/convert/pseudo.js.map +2 -0
  204. package/lib/module/web/convert/shadow.js +59 -0
  205. package/lib/module/web/convert/shadow.js.map +1 -0
  206. package/lib/module/web/convert/style.js +88 -0
  207. package/lib/module/web/convert/style.js.map +1 -0
  208. package/lib/module/web/convert/textShadow.js +68 -0
  209. package/lib/module/web/convert/textShadow.js.map +1 -0
  210. package/lib/module/web/convert/transform.js +67 -0
  211. package/lib/module/web/convert/transform.js.map +1 -0
  212. package/lib/module/web/convert/types.js +5 -0
  213. package/lib/module/web/convert/types.js.map +1 -0
  214. package/lib/module/web/convert/utils.js +42 -0
  215. package/lib/module/web/convert/utils.js.map +1 -0
  216. package/lib/module/web/create.js +43 -0
  217. package/lib/module/web/create.js.map +1 -0
  218. package/lib/module/web/index.js +25 -0
  219. package/lib/module/web/index.js.map +2 -0
  220. package/lib/module/web/listener.js +31 -0
  221. package/lib/module/web/listener.js.map +2 -0
  222. package/lib/module/web/mock.js +24 -0
  223. package/lib/module/web/mock.js.map +2 -0
  224. package/lib/module/web/mq.js +17 -0
  225. package/lib/module/web/mq.js.map +1 -0
  226. package/lib/module/web/registry.js +181 -0
  227. package/lib/module/web/registry.js.map +1 -0
  228. package/lib/module/web/runtime.js +163 -0
  229. package/lib/module/web/runtime.js.map +1 -0
  230. package/lib/module/web/shadowRegistry.js +118 -0
  231. package/lib/module/web/shadowRegistry.js.map +1 -0
  232. package/lib/module/web/state.js +65 -0
  233. package/lib/module/web/state.js.map +2 -0
  234. package/lib/module/web/utils/common.js +80 -0
  235. package/lib/module/web/utils/common.js.map +1 -0
  236. package/lib/module/web/utils/index.js +5 -0
  237. package/lib/module/web/utils/index.js.map +1 -0
  238. package/lib/module/web/utils/unistyle.js +69 -0
  239. package/lib/module/web/utils/unistyle.js.map +1 -0
  240. package/lib/module/web/variants/getVariants.js +34 -0
  241. package/lib/module/web/variants/getVariants.js.map +2 -0
  242. package/lib/module/web/variants/index.js +5 -0
  243. package/lib/module/web/variants/index.js.map +1 -0
  244. package/lib/module/web/variants/useVariants.js +53 -0
  245. package/lib/module/web/variants/useVariants.js.map +2 -0
  246. package/lib/typescript/src/core/createUnistylesComponent.d.ts +6 -0
  247. package/lib/typescript/src/core/createUnistylesComponent.d.ts.map +1 -0
  248. package/lib/typescript/src/core/createUnistylesComponent.native.d.ts +6 -0
  249. package/lib/typescript/src/core/createUnistylesComponent.native.d.ts.map +1 -0
  250. package/lib/typescript/src/core/index.d.ts +4 -0
  251. package/lib/typescript/src/core/index.d.ts.map +1 -0
  252. package/lib/typescript/src/core/useBreakpoint.d.ts +2 -0
  253. package/lib/typescript/src/core/useBreakpoint.d.ts.map +1 -0
  254. package/lib/typescript/src/core/useBreakpoint.native.d.ts +2 -0
  255. package/lib/typescript/src/core/useBreakpoint.native.d.ts.map +1 -0
  256. package/lib/typescript/src/core/useTheme.d.ts +3 -0
  257. package/lib/typescript/src/core/useTheme.d.ts.map +1 -0
  258. package/lib/typescript/src/core/useTheme.native.d.ts +3 -0
  259. package/lib/typescript/src/core/useTheme.native.d.ts.map +1 -0
  260. package/lib/typescript/src/index.d.ts +2 -0
  261. package/lib/typescript/src/index.d.ts.map +1 -1
  262. package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts +6 -2
  263. package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts.map +1 -1
  264. package/lib/typescript/src/specs/NavigtionBar/index.d.ts +5 -0
  265. package/lib/typescript/src/specs/NavigtionBar/index.d.ts.map +1 -1
  266. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts +3 -3
  267. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
  268. package/lib/typescript/src/specs/StatusBar/index.d.ts +5 -0
  269. package/lib/typescript/src/specs/StatusBar/index.d.ts.map +1 -1
  270. package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts +3 -1
  271. package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts.map +1 -1
  272. package/lib/typescript/src/specs/StyleSheet/index.d.ts +3 -1
  273. package/lib/typescript/src/specs/StyleSheet/index.d.ts.map +1 -1
  274. package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts +0 -1
  275. package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts.map +1 -1
  276. package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts +3 -1
  277. package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts.map +1 -1
  278. package/lib/typescript/src/specs/index.d.ts +4 -2
  279. package/lib/typescript/src/specs/index.d.ts.map +1 -1
  280. package/lib/typescript/src/specs/index.web.d.ts +1 -1
  281. package/lib/typescript/src/specs/index.web.d.ts.map +1 -1
  282. package/lib/typescript/src/types/breakpoints.d.ts +11 -11
  283. package/lib/typescript/src/types/breakpoints.d.ts.map +1 -1
  284. package/lib/typescript/src/types/index.d.ts +1 -1
  285. package/lib/typescript/src/types/index.d.ts.map +1 -1
  286. package/lib/typescript/src/types/stylesheet.d.ts +6 -4
  287. package/lib/typescript/src/types/stylesheet.d.ts.map +1 -1
  288. package/lib/typescript/src/types/variants.d.ts +4 -1
  289. package/lib/typescript/src/types/variants.d.ts.map +1 -1
  290. package/lib/typescript/src/web/convert/boxShadow.d.ts +8 -0
  291. package/lib/typescript/src/web/convert/boxShadow.d.ts.map +1 -0
  292. package/lib/typescript/src/web/convert/index.d.ts +3 -0
  293. package/lib/typescript/src/web/convert/index.d.ts.map +1 -0
  294. package/lib/typescript/src/web/convert/pseudo.d.ts +6 -0
  295. package/lib/typescript/src/web/convert/pseudo.d.ts.map +1 -0
  296. package/lib/typescript/src/web/convert/shadow.d.ts.map +1 -0
  297. package/lib/typescript/src/web/convert/style.d.ts +2 -0
  298. package/lib/typescript/src/web/convert/style.d.ts.map +1 -0
  299. package/lib/typescript/src/web/convert/textShadow.d.ts +8 -0
  300. package/lib/typescript/src/web/convert/textShadow.d.ts.map +1 -0
  301. package/lib/typescript/src/web/convert/transform.d.ts +4 -0
  302. package/lib/typescript/src/web/convert/transform.d.ts.map +1 -0
  303. package/lib/typescript/{web → src/web}/convert/types.d.ts +1 -1
  304. package/lib/typescript/src/web/convert/types.d.ts.map +1 -0
  305. package/lib/typescript/src/web/convert/utils.d.ts.map +1 -0
  306. package/lib/typescript/src/web/create.d.ts +1443 -0
  307. package/lib/typescript/{web → src/web}/create.d.ts.map +1 -1
  308. package/lib/typescript/src/web/index.d.ts +1459 -0
  309. package/lib/typescript/{web → src/web}/index.d.ts.map +1 -1
  310. package/lib/typescript/{web/listener → src/web}/listener.d.ts +3 -2
  311. package/lib/typescript/src/web/listener.d.ts.map +1 -0
  312. package/lib/typescript/src/web/mock.d.ts +5 -0
  313. package/lib/typescript/src/web/mock.d.ts.map +1 -0
  314. package/lib/typescript/src/web/mq.d.ts +8 -0
  315. package/lib/typescript/src/web/mq.d.ts.map +1 -0
  316. package/lib/typescript/src/web/registry.d.ts +28 -0
  317. package/lib/typescript/src/web/registry.d.ts.map +1 -0
  318. package/lib/typescript/{web → src/web}/runtime.d.ts +9 -9
  319. package/lib/typescript/src/web/runtime.d.ts.map +1 -0
  320. package/lib/typescript/src/web/shadowRegistry.d.ts +16 -0
  321. package/lib/typescript/src/web/shadowRegistry.d.ts.map +1 -0
  322. package/lib/typescript/src/web/state.d.ts +18 -0
  323. package/lib/typescript/src/web/state.d.ts.map +1 -0
  324. package/lib/typescript/{web/utils.d.ts → src/web/utils/common.d.ts} +8 -9
  325. package/lib/typescript/src/web/utils/common.d.ts.map +1 -0
  326. package/lib/typescript/src/web/utils/index.d.ts +3 -0
  327. package/lib/typescript/src/web/utils/index.d.ts.map +1 -0
  328. package/lib/typescript/src/web/utils/unistyle.d.ts +20 -0
  329. package/lib/typescript/src/web/utils/unistyle.d.ts.map +1 -0
  330. package/lib/typescript/src/web/variants/getVariants.d.ts +3 -0
  331. package/lib/typescript/src/web/variants/getVariants.d.ts.map +1 -0
  332. package/lib/typescript/src/web/variants/index.d.ts +3 -0
  333. package/lib/typescript/src/web/variants/index.d.ts.map +1 -0
  334. package/lib/typescript/src/web/variants/useVariants.d.ts +3 -0
  335. package/lib/typescript/src/web/variants/useVariants.d.ts.map +1 -0
  336. package/nitrogen/generated/android/c++/JColorScheme.hpp +1 -1
  337. package/nitrogen/generated/android/c++/JFunc_void.hpp +48 -0
  338. package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency_.hpp +8 -8
  339. package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.cpp +31 -22
  340. package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.hpp +8 -3
  341. package/nitrogen/generated/android/c++/JOrientation.hpp +1 -1
  342. package/nitrogen/generated/android/c++/JUnistyleDependency.hpp +4 -1
  343. package/nitrogen/generated/android/c++/JUnistylesNativeMiniRuntime.hpp +9 -7
  344. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Func_void.kt +45 -0
  345. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/HybridNativePlatformSpec.kt +25 -5
  346. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistyleDependency.kt +2 -1
  347. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistylesNativeMiniRuntime.kt +2 -1
  348. package/nitrogen/generated/android/unistyles+autolinking.cmake +13 -1
  349. package/nitrogen/generated/android/{UnistylesOnLoad.cpp → unistylesOnLoad.cpp} +4 -2
  350. package/nitrogen/generated/android/{UnistylesOnLoad.hpp → unistylesOnLoad.hpp} +1 -1
  351. package/nitrogen/generated/ios/Unistyles+autolinking.rb +5 -3
  352. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.cpp +25 -0
  353. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.hpp +53 -31
  354. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Umbrella.hpp +0 -29
  355. package/nitrogen/generated/ios/c++/HybridNativePlatformSpecSwift.hpp +7 -1
  356. package/nitrogen/generated/ios/swift/HybridNativePlatformSpec.swift +3 -13
  357. package/nitrogen/generated/ios/swift/HybridNativePlatformSpecCxx.swift +167 -104
  358. package/nitrogen/generated/ios/swift/UnistyleDependency.swift +4 -0
  359. package/nitrogen/generated/ios/swift/UnistylesNativeMiniRuntime.swift +16 -5
  360. package/nitrogen/generated/shared/c++/ColorScheme.hpp +2 -2
  361. package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.cpp +2 -0
  362. package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.hpp +5 -0
  363. package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.hpp +3 -0
  364. package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.hpp +3 -0
  365. package/nitrogen/generated/shared/c++/HybridUnistylesShadowRegistrySpec.hpp +3 -0
  366. package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.hpp +3 -0
  367. package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.cpp +2 -1
  368. package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.hpp +10 -4
  369. package/nitrogen/generated/shared/c++/Orientation.hpp +2 -2
  370. package/nitrogen/generated/shared/c++/UnistyleDependency.hpp +2 -1
  371. package/nitrogen/generated/shared/c++/UnistylesCxxMiniRuntime.hpp +10 -9
  372. package/nitrogen/generated/shared/c++/UnistylesNativeMiniRuntime.hpp +9 -8
  373. package/package.json +18 -30
  374. package/plugin/common.js +12 -1
  375. package/plugin/index.js +110 -23
  376. package/plugin/ref.js +64 -13
  377. package/plugin/style.js +82 -22
  378. package/plugin/stylesheet.js +53 -3
  379. package/plugin/variants.js +33 -0
  380. package/src/common.js +4 -0
  381. package/src/core/createUnistylesComponent.js +6 -0
  382. package/src/core/createUnistylesComponent.native.js +31 -0
  383. package/src/core/createUnistylesComponent.native.tsx +44 -0
  384. package/src/core/createUnistylesComponent.tsx +10 -0
  385. package/src/core/index.js +3 -0
  386. package/src/core/index.ts +3 -0
  387. package/src/core/useBreakpoint.js +14 -0
  388. package/src/core/useBreakpoint.native.js +16 -0
  389. package/src/core/useBreakpoint.native.ts +21 -0
  390. package/src/core/useBreakpoint.ts +18 -0
  391. package/src/core/useTheme.js +14 -0
  392. package/src/core/useTheme.native.js +16 -0
  393. package/src/core/useTheme.native.ts +22 -0
  394. package/src/core/useTheme.ts +19 -0
  395. package/src/global.js +1 -0
  396. package/src/index.js +3 -0
  397. package/src/index.ts +2 -12
  398. package/src/mq.js +38 -0
  399. package/src/specs/NativePlatform/NativePlatform.nitro.js +19 -0
  400. package/src/specs/NativePlatform/NativePlatform.nitro.ts +7 -3
  401. package/src/specs/NativePlatform/index.js +1 -0
  402. package/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.js +1 -0
  403. package/src/specs/NavigtionBar/index.js +9 -0
  404. package/src/specs/NavigtionBar/index.ts +6 -1
  405. package/src/specs/ShadowRegistry/ShadowRegistry.nitro.js +1 -0
  406. package/src/specs/ShadowRegistry/index.js +26 -0
  407. package/src/specs/ShadowRegistry/index.ts +10 -9
  408. package/src/specs/ShadowRegistry/types.js +1 -0
  409. package/src/specs/StatusBar/UnistylesStatusBar.nitro.js +1 -0
  410. package/src/specs/StatusBar/index.js +25 -0
  411. package/src/specs/StatusBar/index.ts +6 -1
  412. package/src/specs/StyleSheet/UnistylesStyleSheet.nitro.js +1 -0
  413. package/src/specs/StyleSheet/UnistylesStyleSheet.nitro.ts +4 -1
  414. package/src/specs/StyleSheet/index.js +13 -0
  415. package/src/specs/StyleSheet/index.ts +6 -1
  416. package/src/specs/TurboUnistyles/NativeTurboUnistyles.js +2 -0
  417. package/src/specs/TurboUnistyles/index.js +1 -0
  418. package/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.js +1 -0
  419. package/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.ts +0 -1
  420. package/src/specs/UnistylesRuntime/index.js +20 -0
  421. package/src/specs/UnistylesRuntime/index.ts +4 -2
  422. package/src/specs/index.js +8 -0
  423. package/src/specs/index.ts +6 -2
  424. package/src/specs/index.web.js +2 -0
  425. package/src/specs/index.web.ts +1 -1
  426. package/src/specs/types.js +17 -0
  427. package/src/types/accessibility.js +30 -0
  428. package/src/types/breakpoints.js +1 -0
  429. package/src/types/breakpoints.ts +25 -13
  430. package/src/types/common.js +1 -0
  431. package/src/types/core.js +1 -0
  432. package/src/types/index.js +1 -0
  433. package/src/types/index.ts +1 -1
  434. package/src/types/stylesheet.js +2 -0
  435. package/src/types/stylesheet.ts +7 -5
  436. package/src/types/variants.js +1 -0
  437. package/src/types/variants.ts +7 -1
  438. package/src/web/convert/boxShadow.js +59 -0
  439. package/{web → src/web}/convert/boxShadow.ts +14 -15
  440. package/src/web/convert/index.js +56 -0
  441. package/{web → src/web}/convert/index.ts +8 -15
  442. package/src/web/convert/pseudo.js +131 -0
  443. package/src/web/convert/pseudo.ts +137 -0
  444. package/src/web/convert/shadow.js +50 -0
  445. package/src/web/convert/style.js +137 -0
  446. package/{web → src/web}/convert/style.ts +61 -10
  447. package/src/web/convert/textShadow.js +56 -0
  448. package/{web → src/web}/convert/textShadow.ts +13 -14
  449. package/src/web/convert/transform.js +65 -0
  450. package/{web → src/web}/convert/transform.ts +7 -8
  451. package/src/web/convert/types.js +2 -0
  452. package/{web → src/web}/convert/types.ts +1 -1
  453. package/src/web/convert/utils.js +39 -0
  454. package/src/web/create.js +36 -0
  455. package/src/web/create.ts +47 -0
  456. package/src/web/index.js +22 -0
  457. package/{web → src/web}/index.ts +3 -2
  458. package/src/web/listener.js +26 -0
  459. package/{web/listener → src/web}/listener.ts +3 -3
  460. package/src/web/mock.js +21 -0
  461. package/{web → src/web}/mock.ts +2 -12
  462. package/src/web/mq.js +14 -0
  463. package/{web → src/web}/mq.ts +1 -3
  464. package/src/web/registry.js +165 -0
  465. package/src/web/registry.ts +236 -0
  466. package/src/web/runtime.js +160 -0
  467. package/{web → src/web}/runtime.ts +21 -18
  468. package/src/web/shadowRegistry.js +96 -0
  469. package/src/web/shadowRegistry.ts +121 -0
  470. package/src/web/state.js +68 -0
  471. package/src/web/state.ts +94 -0
  472. package/src/web/utils/common.js +79 -0
  473. package/{web/utils.ts → src/web/utils/common.ts} +48 -36
  474. package/src/web/utils/index.js +2 -0
  475. package/src/web/utils/index.ts +2 -0
  476. package/src/web/utils/unistyle.js +72 -0
  477. package/src/web/utils/unistyle.ts +104 -0
  478. package/src/web/variants/getVariants.js +26 -0
  479. package/src/web/variants/getVariants.ts +42 -0
  480. package/src/web/variants/index.js +2 -0
  481. package/src/web/variants/index.ts +2 -0
  482. package/src/web/variants/useVariants.js +50 -0
  483. package/src/web/variants/useVariants.ts +65 -0
  484. package/lib/typescript/example/App.d.ts +0 -4
  485. package/lib/typescript/example/App.d.ts.map +0 -1
  486. package/lib/typescript/example/unistyles.d.ts +0 -63
  487. package/lib/typescript/example/unistyles.d.ts.map +0 -1
  488. package/lib/typescript/expo-example/App.d.ts +0 -4
  489. package/lib/typescript/expo-example/App.d.ts.map +0 -1
  490. package/lib/typescript/expo-example/unistyles.d.ts +0 -63
  491. package/lib/typescript/expo-example/unistyles.d.ts.map +0 -1
  492. package/lib/typescript/web/convert/boxShadow.d.ts +0 -3
  493. package/lib/typescript/web/convert/boxShadow.d.ts.map +0 -1
  494. package/lib/typescript/web/convert/breakpoint.d.ts +0 -3
  495. package/lib/typescript/web/convert/breakpoint.d.ts.map +0 -1
  496. package/lib/typescript/web/convert/index.d.ts +0 -4
  497. package/lib/typescript/web/convert/index.d.ts.map +0 -1
  498. package/lib/typescript/web/convert/shadow.d.ts.map +0 -1
  499. package/lib/typescript/web/convert/style.d.ts +0 -3
  500. package/lib/typescript/web/convert/style.d.ts.map +0 -1
  501. package/lib/typescript/web/convert/textShadow.d.ts +0 -3
  502. package/lib/typescript/web/convert/textShadow.d.ts.map +0 -1
  503. package/lib/typescript/web/convert/transform.d.ts +0 -5
  504. package/lib/typescript/web/convert/transform.d.ts.map +0 -1
  505. package/lib/typescript/web/convert/types.d.ts.map +0 -1
  506. package/lib/typescript/web/convert/utils.d.ts.map +0 -1
  507. package/lib/typescript/web/create.d.ts +0 -2449
  508. package/lib/typescript/web/index.d.ts +0 -2464
  509. package/lib/typescript/web/listener/index.d.ts +0 -2
  510. package/lib/typescript/web/listener/index.d.ts.map +0 -1
  511. package/lib/typescript/web/listener/listener.d.ts.map +0 -1
  512. package/lib/typescript/web/mock.d.ts +0 -14
  513. package/lib/typescript/web/mock.d.ts.map +0 -1
  514. package/lib/typescript/web/mq.d.ts +0 -4
  515. package/lib/typescript/web/mq.d.ts.map +0 -1
  516. package/lib/typescript/web/pseudo.d.ts +0 -4
  517. package/lib/typescript/web/pseudo.d.ts.map +0 -1
  518. package/lib/typescript/web/registry.d.ts +0 -12
  519. package/lib/typescript/web/registry.d.ts.map +0 -1
  520. package/lib/typescript/web/runtime.d.ts.map +0 -1
  521. package/lib/typescript/web/state.d.ts +0 -24
  522. package/lib/typescript/web/state.d.ts.map +0 -1
  523. package/lib/typescript/web/useVariants.d.ts +0 -3
  524. package/lib/typescript/web/useVariants.d.ts.map +0 -1
  525. package/lib/typescript/web/utils.d.ts.map +0 -1
  526. package/plugin/__tests__/dependencies.spec.js +0 -360
  527. package/plugin/__tests__/ref.spec.js +0 -991
  528. package/plugin/__tests__/stylesheet.spec.js +0 -396
  529. package/web/convert/breakpoint.ts +0 -21
  530. package/web/create.ts +0 -102
  531. package/web/listener/index.ts +0 -1
  532. package/web/pseudo.ts +0 -11
  533. package/web/registry.ts +0 -41
  534. package/web/state.ts +0 -148
  535. package/web/useVariants.ts +0 -99
  536. /package/lib/typescript/{web → src/web}/convert/shadow.d.ts +0 -0
  537. /package/lib/typescript/{web → src/web}/convert/utils.d.ts +0 -0
  538. /package/nitrogen/generated/android/{UnistylesOnLoad.kt → unistylesOnLoad.kt} +0 -0
  539. /package/{web → src/web}/convert/module.d.ts +0 -0
  540. /package/{web → src/web}/convert/shadow.ts +0 -0
  541. /package/{web → src/web}/convert/utils.ts +0 -0
@@ -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