@rive-app/react-native 0.1.1-beta.0

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 (451) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +257 -0
  3. package/RNRive.podspec +53 -0
  4. package/android/CMakeLists.txt +24 -0
  5. package/android/build.gradle +155 -0
  6. package/android/gradle.properties +5 -0
  7. package/android/src/main/AndroidManifest.xml +13 -0
  8. package/android/src/main/cpp/cpp-adapter.cpp +6 -0
  9. package/android/src/main/java/com/margelo/nitro/rive/BaseHybridViewModelProperty.kt +20 -0
  10. package/android/src/main/java/com/margelo/nitro/rive/BaseHybridViewModelPropertyImpl.kt +50 -0
  11. package/android/src/main/java/com/margelo/nitro/rive/BytesDataLoader.kt +9 -0
  12. package/android/src/main/java/com/margelo/nitro/rive/DataLoader.kt +15 -0
  13. package/android/src/main/java/com/margelo/nitro/rive/DataSource.kt +38 -0
  14. package/android/src/main/java/com/margelo/nitro/rive/DataSourceResolver.kt +36 -0
  15. package/android/src/main/java/com/margelo/nitro/rive/EventPropertiesOutputExtensions.kt +12 -0
  16. package/android/src/main/java/com/margelo/nitro/rive/FileDataLoader.kt +21 -0
  17. package/android/src/main/java/com/margelo/nitro/rive/HTTPDataLoader.kt +37 -0
  18. package/android/src/main/java/com/margelo/nitro/rive/HybridRiveFile.kt +98 -0
  19. package/android/src/main/java/com/margelo/nitro/rive/HybridRiveFileFactory.kt +123 -0
  20. package/android/src/main/java/com/margelo/nitro/rive/HybridRiveImage.kt +15 -0
  21. package/android/src/main/java/com/margelo/nitro/rive/HybridRiveImageFactory.kt +23 -0
  22. package/android/src/main/java/com/margelo/nitro/rive/HybridRiveView.kt +279 -0
  23. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModel.kt +53 -0
  24. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelBooleanProperty.kt +22 -0
  25. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelColorProperty.kt +22 -0
  26. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelEnumProperty.kt +22 -0
  27. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelImageProperty.kt +21 -0
  28. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelInstance.kt +76 -0
  29. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelNumberProperty.kt +23 -0
  30. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelStringProperty.kt +22 -0
  31. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelTriggerProperty.kt +21 -0
  32. package/android/src/main/java/com/margelo/nitro/rive/ReferencedAssetLoader.kt +108 -0
  33. package/android/src/main/java/com/margelo/nitro/rive/ResourceDataLoader.kt +44 -0
  34. package/android/src/main/java/com/margelo/nitro/rive/Rive.kt +12 -0
  35. package/android/src/main/java/com/rive/RivePackage.kt +29 -0
  36. package/android/src/main/java/com/rive/RiveReactNativeView.kt +433 -0
  37. package/android/src/main/java/com/rive/RiveViewManager.kt +11 -0
  38. package/ios/BaseHybridViewModelProperty.swift +118 -0
  39. package/ios/BundleDataLoader.swift +25 -0
  40. package/ios/BytesDataLoader.swift +10 -0
  41. package/ios/DataLoader.swift +28 -0
  42. package/ios/DataSource.swift +43 -0
  43. package/ios/DataSourceResolver.swift +55 -0
  44. package/ios/EventPropertiesOutputExtensions.swift +15 -0
  45. package/ios/FileDataLoader.swift +24 -0
  46. package/ios/HTTPDataLoader.swift +31 -0
  47. package/ios/HybridRiveFile.swift +113 -0
  48. package/ios/HybridRiveFileFactory.swift +163 -0
  49. package/ios/HybridRiveImage.swift +17 -0
  50. package/ios/HybridRiveImageFactory.swift +26 -0
  51. package/ios/HybridRiveView.swift +284 -0
  52. package/ios/HybridViewModel.swift +46 -0
  53. package/ios/HybridViewModelBooleanProperty.swift +29 -0
  54. package/ios/HybridViewModelColorProperty.swift +63 -0
  55. package/ios/HybridViewModelEnumProperty.swift +29 -0
  56. package/ios/HybridViewModelImageProperty.swift +31 -0
  57. package/ios/HybridViewModelInstance.swift +51 -0
  58. package/ios/HybridViewModelNumberProperty.swift +35 -0
  59. package/ios/HybridViewModelStringProperty.swift +29 -0
  60. package/ios/HybridViewModelTriggerProperty.swift +30 -0
  61. package/ios/RCTLog.swift +29 -0
  62. package/ios/RCTSwiftLog.h +11 -0
  63. package/ios/RCTSwiftLog.m +38 -0
  64. package/ios/ReferencedAssetLoader.swift +145 -0
  65. package/ios/Rive.swift +5 -0
  66. package/ios/RiveReactNativeView.swift +325 -0
  67. package/ios/Utils.swift +15 -0
  68. package/lib/module/core/Alignment.js +42 -0
  69. package/lib/module/core/Alignment.js.map +1 -0
  70. package/lib/module/core/Errors.js +13 -0
  71. package/lib/module/core/Errors.js.map +1 -0
  72. package/lib/module/core/Events.js +8 -0
  73. package/lib/module/core/Events.js.map +1 -0
  74. package/lib/module/core/Fit.js +51 -0
  75. package/lib/module/core/Fit.js.map +1 -0
  76. package/lib/module/core/NitroRiveViewComponent.js +6 -0
  77. package/lib/module/core/NitroRiveViewComponent.js.map +1 -0
  78. package/lib/module/core/ReferencedAssets.js +4 -0
  79. package/lib/module/core/ReferencedAssets.js.map +1 -0
  80. package/lib/module/core/RiveColor.js +90 -0
  81. package/lib/module/core/RiveColor.js.map +1 -0
  82. package/lib/module/core/RiveFile.js +64 -0
  83. package/lib/module/core/RiveFile.js.map +1 -0
  84. package/lib/module/core/RiveImages.js +5 -0
  85. package/lib/module/core/RiveImages.js.map +1 -0
  86. package/lib/module/core/RiveView.js +51 -0
  87. package/lib/module/core/RiveView.js.map +1 -0
  88. package/lib/module/core/callDispose.js +15 -0
  89. package/lib/module/core/callDispose.js.map +1 -0
  90. package/lib/module/hooks/useRive.js +51 -0
  91. package/lib/module/hooks/useRive.js.map +1 -0
  92. package/lib/module/hooks/useRiveBoolean.js +23 -0
  93. package/lib/module/hooks/useRiveBoolean.js.map +1 -0
  94. package/lib/module/hooks/useRiveColor.js +30 -0
  95. package/lib/module/hooks/useRiveColor.js.map +1 -0
  96. package/lib/module/hooks/useRiveEnum.js +23 -0
  97. package/lib/module/hooks/useRiveEnum.js.map +1 -0
  98. package/lib/module/hooks/useRiveFile.js +128 -0
  99. package/lib/module/hooks/useRiveFile.js.map +1 -0
  100. package/lib/module/hooks/useRiveNumber.js +23 -0
  101. package/lib/module/hooks/useRiveNumber.js.map +1 -0
  102. package/lib/module/hooks/useRiveProperty.js +79 -0
  103. package/lib/module/hooks/useRiveProperty.js.map +1 -0
  104. package/lib/module/hooks/useRiveString.js +23 -0
  105. package/lib/module/hooks/useRiveString.js.map +1 -0
  106. package/lib/module/hooks/useRiveTrigger.js +33 -0
  107. package/lib/module/hooks/useRiveTrigger.js.map +1 -0
  108. package/lib/module/index.js +28 -0
  109. package/lib/module/index.js.map +1 -0
  110. package/lib/module/package.json +1 -0
  111. package/lib/module/specs/ArtboardBy.js +27 -0
  112. package/lib/module/specs/ArtboardBy.js.map +1 -0
  113. package/lib/module/specs/Rive.nitro.js +4 -0
  114. package/lib/module/specs/Rive.nitro.js.map +1 -0
  115. package/lib/module/specs/RiveFile.nitro.js +4 -0
  116. package/lib/module/specs/RiveFile.nitro.js.map +1 -0
  117. package/lib/module/specs/RiveImage.nitro.js +4 -0
  118. package/lib/module/specs/RiveImage.nitro.js.map +1 -0
  119. package/lib/module/specs/RiveView.nitro.js +23 -0
  120. package/lib/module/specs/RiveView.nitro.js.map +1 -0
  121. package/lib/module/specs/ViewModel.nitro.js +4 -0
  122. package/lib/module/specs/ViewModel.nitro.js.map +1 -0
  123. package/lib/module/types.js +2 -0
  124. package/lib/module/types.js.map +1 -0
  125. package/lib/nitrogen/generated/shared/json/RiveViewConfig.json +18 -0
  126. package/lib/typescript/package.json +1 -0
  127. package/lib/typescript/src/core/Alignment.d.ts +39 -0
  128. package/lib/typescript/src/core/Alignment.d.ts.map +1 -0
  129. package/lib/typescript/src/core/Errors.d.ts +14 -0
  130. package/lib/typescript/src/core/Errors.d.ts.map +1 -0
  131. package/lib/typescript/src/core/Events.d.ts +26 -0
  132. package/lib/typescript/src/core/Events.d.ts.map +1 -0
  133. package/lib/typescript/src/core/Fit.d.ts +48 -0
  134. package/lib/typescript/src/core/Fit.d.ts.map +1 -0
  135. package/lib/typescript/src/core/NitroRiveViewComponent.d.ts +4 -0
  136. package/lib/typescript/src/core/NitroRiveViewComponent.d.ts.map +1 -0
  137. package/lib/typescript/src/core/ReferencedAssets.d.ts +15 -0
  138. package/lib/typescript/src/core/ReferencedAssets.d.ts.map +1 -0
  139. package/lib/typescript/src/core/RiveColor.d.ts +53 -0
  140. package/lib/typescript/src/core/RiveColor.d.ts.map +1 -0
  141. package/lib/typescript/src/core/RiveFile.d.ts +62 -0
  142. package/lib/typescript/src/core/RiveFile.d.ts.map +1 -0
  143. package/lib/typescript/src/core/RiveImages.d.ts +3 -0
  144. package/lib/typescript/src/core/RiveImages.d.ts.map +1 -0
  145. package/lib/typescript/src/core/RiveView.d.ts +38 -0
  146. package/lib/typescript/src/core/RiveView.d.ts.map +1 -0
  147. package/lib/typescript/src/core/callDispose.d.ts +7 -0
  148. package/lib/typescript/src/core/callDispose.d.ts.map +1 -0
  149. package/lib/typescript/src/hooks/useRive.d.ts +9 -0
  150. package/lib/typescript/src/hooks/useRive.d.ts.map +1 -0
  151. package/lib/typescript/src/hooks/useRiveBoolean.d.ts +11 -0
  152. package/lib/typescript/src/hooks/useRiveBoolean.d.ts.map +1 -0
  153. package/lib/typescript/src/hooks/useRiveColor.d.ts +14 -0
  154. package/lib/typescript/src/hooks/useRiveColor.d.ts.map +1 -0
  155. package/lib/typescript/src/hooks/useRiveEnum.d.ts +11 -0
  156. package/lib/typescript/src/hooks/useRiveEnum.d.ts.map +1 -0
  157. package/lib/typescript/src/hooks/useRiveFile.d.ts +24 -0
  158. package/lib/typescript/src/hooks/useRiveFile.d.ts.map +1 -0
  159. package/lib/typescript/src/hooks/useRiveNumber.d.ts +11 -0
  160. package/lib/typescript/src/hooks/useRiveNumber.d.ts.map +1 -0
  161. package/lib/typescript/src/hooks/useRiveProperty.d.ts +22 -0
  162. package/lib/typescript/src/hooks/useRiveProperty.d.ts.map +1 -0
  163. package/lib/typescript/src/hooks/useRiveString.d.ts +11 -0
  164. package/lib/typescript/src/hooks/useRiveString.d.ts.map +1 -0
  165. package/lib/typescript/src/hooks/useRiveTrigger.d.ts +11 -0
  166. package/lib/typescript/src/hooks/useRiveTrigger.d.ts.map +1 -0
  167. package/lib/typescript/src/index.d.ts +32 -0
  168. package/lib/typescript/src/index.d.ts.map +1 -0
  169. package/lib/typescript/src/specs/ArtboardBy.d.ts +20 -0
  170. package/lib/typescript/src/specs/ArtboardBy.d.ts.map +1 -0
  171. package/lib/typescript/src/specs/Rive.nitro.d.ts +8 -0
  172. package/lib/typescript/src/specs/Rive.nitro.d.ts.map +1 -0
  173. package/lib/typescript/src/specs/RiveFile.nitro.d.ts +42 -0
  174. package/lib/typescript/src/specs/RiveFile.nitro.d.ts.map +1 -0
  175. package/lib/typescript/src/specs/RiveImage.nitro.d.ts +43 -0
  176. package/lib/typescript/src/specs/RiveImage.nitro.d.ts.map +1 -0
  177. package/lib/typescript/src/specs/RiveView.nitro.d.ts +139 -0
  178. package/lib/typescript/src/specs/RiveView.nitro.d.ts.map +1 -0
  179. package/lib/typescript/src/specs/ViewModel.nitro.d.ts +103 -0
  180. package/lib/typescript/src/specs/ViewModel.nitro.d.ts.map +1 -0
  181. package/lib/typescript/src/types.d.ts +33 -0
  182. package/lib/typescript/src/types.d.ts.map +1 -0
  183. package/nitrogen/generated/android/c++/JAlignment.hpp +80 -0
  184. package/nitrogen/generated/android/c++/JArtboardBy.hpp +68 -0
  185. package/nitrogen/generated/android/c++/JArtboardByTypes.hpp +59 -0
  186. package/nitrogen/generated/android/c++/JDataBindByName.hpp +57 -0
  187. package/nitrogen/generated/android/c++/JDataBindMode.hpp +59 -0
  188. package/nitrogen/generated/android/c++/JEventPropertiesOutput.cpp +30 -0
  189. package/nitrogen/generated/android/c++/JEventPropertiesOutput.hpp +83 -0
  190. package/nitrogen/generated/android/c++/JFit.hpp +77 -0
  191. package/nitrogen/generated/android/c++/JFunc_void.hpp +75 -0
  192. package/nitrogen/generated/android/c++/JFunc_void_RiveError.hpp +80 -0
  193. package/nitrogen/generated/android/c++/JFunc_void_UnifiedRiveEvent.hpp +84 -0
  194. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +75 -0
  195. package/nitrogen/generated/android/c++/JFunc_void_double.hpp +75 -0
  196. package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +76 -0
  197. package/nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.cpp +134 -0
  198. package/nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.hpp +68 -0
  199. package/nitrogen/generated/android/c++/JHybridRiveFileSpec.cpp +96 -0
  200. package/nitrogen/generated/android/c++/JHybridRiveFileSpec.hpp +68 -0
  201. package/nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.cpp +104 -0
  202. package/nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.hpp +67 -0
  203. package/nitrogen/generated/android/c++/JHybridRiveImageSpec.cpp +52 -0
  204. package/nitrogen/generated/android/c++/JHybridRiveImageSpec.hpp +65 -0
  205. package/nitrogen/generated/android/c++/JHybridRiveSpec.cpp +52 -0
  206. package/nitrogen/generated/android/c++/JHybridRiveSpec.hpp +65 -0
  207. package/nitrogen/generated/android/c++/JHybridRiveViewSpec.cpp +299 -0
  208. package/nitrogen/generated/android/c++/JHybridRiveViewSpec.hpp +97 -0
  209. package/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.cpp +65 -0
  210. package/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.hpp +68 -0
  211. package/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.cpp +65 -0
  212. package/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.hpp +68 -0
  213. package/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.cpp +66 -0
  214. package/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.hpp +68 -0
  215. package/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.cpp +66 -0
  216. package/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.hpp +68 -0
  217. package/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.cpp +115 -0
  218. package/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.hpp +71 -0
  219. package/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.cpp +65 -0
  220. package/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.hpp +68 -0
  221. package/nitrogen/generated/android/c++/JHybridViewModelPropertySpec.cpp +48 -0
  222. package/nitrogen/generated/android/c++/JHybridViewModelPropertySpec.hpp +65 -0
  223. package/nitrogen/generated/android/c++/JHybridViewModelSpec.cpp +86 -0
  224. package/nitrogen/generated/android/c++/JHybridViewModelSpec.hpp +70 -0
  225. package/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.cpp +66 -0
  226. package/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.hpp +68 -0
  227. package/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.cpp +61 -0
  228. package/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.hpp +68 -0
  229. package/nitrogen/generated/android/c++/JReferencedAssetsType.hpp +77 -0
  230. package/nitrogen/generated/android/c++/JResolvedReferencedAsset.hpp +77 -0
  231. package/nitrogen/generated/android/c++/JRiveError.hpp +63 -0
  232. package/nitrogen/generated/android/c++/JRiveErrorType.hpp +74 -0
  233. package/nitrogen/generated/android/c++/JRiveEventType.hpp +59 -0
  234. package/nitrogen/generated/android/c++/JUnifiedRiveEvent.hpp +96 -0
  235. package/nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.cpp +30 -0
  236. package/nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.hpp +90 -0
  237. package/nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.cpp +88 -0
  238. package/nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.hpp +49 -0
  239. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Alignment.kt +28 -0
  240. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ArtboardBy.kt +44 -0
  241. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ArtboardByTypes.kt +21 -0
  242. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/DataBindByName.kt +38 -0
  243. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/DataBindMode.kt +21 -0
  244. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/EventPropertiesOutput.kt +72 -0
  245. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Fit.kt +27 -0
  246. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void.kt +80 -0
  247. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_RiveError.kt +80 -0
  248. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_UnifiedRiveEvent.kt +80 -0
  249. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_bool.kt +80 -0
  250. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_double.kt +80 -0
  251. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_std__string.kt +80 -0
  252. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFileFactorySpec.kt +71 -0
  253. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFileSpec.kt +71 -0
  254. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveImageFactorySpec.kt +67 -0
  255. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveImageSpec.kt +57 -0
  256. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveSpec.kt +57 -0
  257. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveViewSpec.kt +183 -0
  258. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelBooleanPropertySpec.kt +70 -0
  259. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelColorPropertySpec.kt +70 -0
  260. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelEnumPropertySpec.kt +70 -0
  261. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelImagePropertySpec.kt +70 -0
  262. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelInstanceSpec.kt +83 -0
  263. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelNumberPropertySpec.kt +70 -0
  264. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelPropertySpec.kt +55 -0
  265. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelSpec.kt +79 -0
  266. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelStringPropertySpec.kt +70 -0
  267. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelTriggerPropertySpec.kt +70 -0
  268. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ReferencedAssetsType.kt +38 -0
  269. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ResolvedReferencedAsset.kt +50 -0
  270. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveError.kt +41 -0
  271. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveErrorType.kt +26 -0
  272. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveEventType.kt +21 -0
  273. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/UnifiedRiveEvent.kt +53 -0
  274. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Variant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.kt +72 -0
  275. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/riveOnLoad.kt +35 -0
  276. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/views/HybridRiveViewManager.kt +50 -0
  277. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/views/HybridRiveViewStateUpdater.kt +23 -0
  278. package/nitrogen/generated/android/rive+autolinking.cmake +115 -0
  279. package/nitrogen/generated/android/rive+autolinking.gradle +27 -0
  280. package/nitrogen/generated/android/riveOnLoad.cpp +192 -0
  281. package/nitrogen/generated/android/riveOnLoad.hpp +25 -0
  282. package/nitrogen/generated/ios/RNRive+autolinking.rb +60 -0
  283. package/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.cpp +360 -0
  284. package/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.hpp +1180 -0
  285. package/nitrogen/generated/ios/RNRive-Swift-Cxx-Umbrella.hpp +161 -0
  286. package/nitrogen/generated/ios/RNRiveAutolinking.mm +137 -0
  287. package/nitrogen/generated/ios/RNRiveAutolinking.swift +220 -0
  288. package/nitrogen/generated/ios/c++/HybridRiveFileFactorySpecSwift.cpp +11 -0
  289. package/nitrogen/generated/ios/c++/HybridRiveFileFactorySpecSwift.hpp +119 -0
  290. package/nitrogen/generated/ios/c++/HybridRiveFileSpecSwift.cpp +11 -0
  291. package/nitrogen/generated/ios/c++/HybridRiveFileSpecSwift.hpp +121 -0
  292. package/nitrogen/generated/ios/c++/HybridRiveImageFactorySpecSwift.cpp +11 -0
  293. package/nitrogen/generated/ios/c++/HybridRiveImageFactorySpecSwift.hpp +100 -0
  294. package/nitrogen/generated/ios/c++/HybridRiveImageSpecSwift.cpp +11 -0
  295. package/nitrogen/generated/ios/c++/HybridRiveImageSpecSwift.hpp +71 -0
  296. package/nitrogen/generated/ios/c++/HybridRiveSpecSwift.cpp +11 -0
  297. package/nitrogen/generated/ios/c++/HybridRiveSpecSwift.hpp +76 -0
  298. package/nitrogen/generated/ios/c++/HybridRiveViewSpecSwift.cpp +11 -0
  299. package/nitrogen/generated/ios/c++/HybridRiveViewSpecSwift.hpp +277 -0
  300. package/nitrogen/generated/ios/c++/HybridViewModelBooleanPropertySpecSwift.cpp +11 -0
  301. package/nitrogen/generated/ios/c++/HybridViewModelBooleanPropertySpecSwift.hpp +88 -0
  302. package/nitrogen/generated/ios/c++/HybridViewModelColorPropertySpecSwift.cpp +11 -0
  303. package/nitrogen/generated/ios/c++/HybridViewModelColorPropertySpecSwift.hpp +88 -0
  304. package/nitrogen/generated/ios/c++/HybridViewModelEnumPropertySpecSwift.cpp +11 -0
  305. package/nitrogen/generated/ios/c++/HybridViewModelEnumPropertySpecSwift.hpp +90 -0
  306. package/nitrogen/generated/ios/c++/HybridViewModelImagePropertySpecSwift.cpp +11 -0
  307. package/nitrogen/generated/ios/c++/HybridViewModelImagePropertySpecSwift.hpp +94 -0
  308. package/nitrogen/generated/ios/c++/HybridViewModelInstanceSpecSwift.cpp +11 -0
  309. package/nitrogen/generated/ios/c++/HybridViewModelInstanceSpecSwift.hpp +149 -0
  310. package/nitrogen/generated/ios/c++/HybridViewModelNumberPropertySpecSwift.cpp +11 -0
  311. package/nitrogen/generated/ios/c++/HybridViewModelNumberPropertySpecSwift.hpp +88 -0
  312. package/nitrogen/generated/ios/c++/HybridViewModelPropertySpecSwift.cpp +11 -0
  313. package/nitrogen/generated/ios/c++/HybridViewModelPropertySpecSwift.hpp +69 -0
  314. package/nitrogen/generated/ios/c++/HybridViewModelSpecSwift.cpp +11 -0
  315. package/nitrogen/generated/ios/c++/HybridViewModelSpecSwift.hpp +113 -0
  316. package/nitrogen/generated/ios/c++/HybridViewModelStringPropertySpecSwift.cpp +11 -0
  317. package/nitrogen/generated/ios/c++/HybridViewModelStringPropertySpecSwift.hpp +90 -0
  318. package/nitrogen/generated/ios/c++/HybridViewModelTriggerPropertySpecSwift.cpp +11 -0
  319. package/nitrogen/generated/ios/c++/HybridViewModelTriggerPropertySpecSwift.hpp +89 -0
  320. package/nitrogen/generated/ios/c++/views/HybridRiveViewComponent.mm +136 -0
  321. package/nitrogen/generated/ios/swift/Alignment.swift +68 -0
  322. package/nitrogen/generated/ios/swift/ArtboardBy.swift +89 -0
  323. package/nitrogen/generated/ios/swift/ArtboardByTypes.swift +40 -0
  324. package/nitrogen/generated/ios/swift/DataBindByName.swift +36 -0
  325. package/nitrogen/generated/ios/swift/DataBindMode.swift +40 -0
  326. package/nitrogen/generated/ios/swift/EventPropertiesOutput.swift +19 -0
  327. package/nitrogen/generated/ios/swift/Fit.swift +64 -0
  328. package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
  329. package/nitrogen/generated/ios/swift/Func_void_RiveError.swift +47 -0
  330. package/nitrogen/generated/ios/swift/Func_void_UnifiedRiveEvent.swift +47 -0
  331. package/nitrogen/generated/ios/swift/Func_void_bool.swift +47 -0
  332. package/nitrogen/generated/ios/swift/Func_void_double.swift +47 -0
  333. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
  334. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridRiveFileSpec_.swift +51 -0
  335. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridRiveImageSpec_.swift +51 -0
  336. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
  337. package/nitrogen/generated/ios/swift/HybridRiveFileFactorySpec.swift +59 -0
  338. package/nitrogen/generated/ios/swift/HybridRiveFileFactorySpec_cxx.swift +207 -0
  339. package/nitrogen/generated/ios/swift/HybridRiveFileSpec.swift +59 -0
  340. package/nitrogen/generated/ios/swift/HybridRiveFileSpec_cxx.swift +204 -0
  341. package/nitrogen/generated/ios/swift/HybridRiveImageFactorySpec.swift +58 -0
  342. package/nitrogen/generated/ios/swift/HybridRiveImageFactorySpec_cxx.swift +185 -0
  343. package/nitrogen/generated/ios/swift/HybridRiveImageSpec.swift +56 -0
  344. package/nitrogen/generated/ios/swift/HybridRiveImageSpec_cxx.swift +126 -0
  345. package/nitrogen/generated/ios/swift/HybridRiveSpec.swift +56 -0
  346. package/nitrogen/generated/ios/swift/HybridRiveSpec_cxx.swift +131 -0
  347. package/nitrogen/generated/ios/swift/HybridRiveViewSpec.swift +79 -0
  348. package/nitrogen/generated/ios/swift/HybridRiveViewSpec_cxx.swift +623 -0
  349. package/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec.swift +57 -0
  350. package/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec_cxx.swift +158 -0
  351. package/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec.swift +57 -0
  352. package/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec_cxx.swift +158 -0
  353. package/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec.swift +57 -0
  354. package/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec_cxx.swift +158 -0
  355. package/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec.swift +58 -0
  356. package/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec_cxx.swift +171 -0
  357. package/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec.swift +62 -0
  358. package/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec_cxx.swift +271 -0
  359. package/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec.swift +57 -0
  360. package/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec_cxx.swift +158 -0
  361. package/nitrogen/generated/ios/swift/HybridViewModelPropertySpec.swift +56 -0
  362. package/nitrogen/generated/ios/swift/HybridViewModelPropertySpec_cxx.swift +121 -0
  363. package/nitrogen/generated/ios/swift/HybridViewModelSpec.swift +61 -0
  364. package/nitrogen/generated/ios/swift/HybridViewModelSpec_cxx.swift +222 -0
  365. package/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec.swift +57 -0
  366. package/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec_cxx.swift +158 -0
  367. package/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec.swift +58 -0
  368. package/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec_cxx.swift +160 -0
  369. package/nitrogen/generated/ios/swift/ReferencedAssetsType.swift +75 -0
  370. package/nitrogen/generated/ios/swift/ResolvedReferencedAsset.swift +185 -0
  371. package/nitrogen/generated/ios/swift/RiveError.swift +47 -0
  372. package/nitrogen/generated/ios/swift/RiveErrorType.swift +60 -0
  373. package/nitrogen/generated/ios/swift/RiveEventType.swift +40 -0
  374. package/nitrogen/generated/ios/swift/UnifiedRiveEvent.swift +213 -0
  375. package/nitrogen/generated/ios/swift/Variant__any_HybridViewModelInstanceSpec__DataBindMode_DataBindByName.swift +19 -0
  376. package/nitrogen/generated/shared/c++/Alignment.hpp +104 -0
  377. package/nitrogen/generated/shared/c++/ArtboardBy.hpp +86 -0
  378. package/nitrogen/generated/shared/c++/ArtboardByTypes.hpp +76 -0
  379. package/nitrogen/generated/shared/c++/DataBindByName.hpp +75 -0
  380. package/nitrogen/generated/shared/c++/DataBindMode.hpp +62 -0
  381. package/nitrogen/generated/shared/c++/Fit.hpp +68 -0
  382. package/nitrogen/generated/shared/c++/HybridRiveFileFactorySpec.cpp +24 -0
  383. package/nitrogen/generated/shared/c++/HybridRiveFileFactorySpec.hpp +74 -0
  384. package/nitrogen/generated/shared/c++/HybridRiveFileSpec.cpp +25 -0
  385. package/nitrogen/generated/shared/c++/HybridRiveFileSpec.hpp +75 -0
  386. package/nitrogen/generated/shared/c++/HybridRiveImageFactorySpec.cpp +23 -0
  387. package/nitrogen/generated/shared/c++/HybridRiveImageFactorySpec.hpp +69 -0
  388. package/nitrogen/generated/shared/c++/HybridRiveImageSpec.cpp +21 -0
  389. package/nitrogen/generated/shared/c++/HybridRiveImageSpec.hpp +62 -0
  390. package/nitrogen/generated/shared/c++/HybridRiveSpec.cpp +21 -0
  391. package/nitrogen/generated/shared/c++/HybridRiveSpec.hpp +62 -0
  392. package/nitrogen/generated/shared/c++/HybridRiveViewSpec.cpp +54 -0
  393. package/nitrogen/generated/shared/c++/HybridRiveViewSpec.hpp +122 -0
  394. package/nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.cpp +25 -0
  395. package/nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.hpp +67 -0
  396. package/nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.cpp +25 -0
  397. package/nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.hpp +67 -0
  398. package/nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.cpp +25 -0
  399. package/nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.hpp +68 -0
  400. package/nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.cpp +24 -0
  401. package/nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.hpp +71 -0
  402. package/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.cpp +28 -0
  403. package/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.hpp +90 -0
  404. package/nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.cpp +25 -0
  405. package/nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.hpp +67 -0
  406. package/nitrogen/generated/shared/c++/HybridViewModelPropertySpec.cpp +21 -0
  407. package/nitrogen/generated/shared/c++/HybridViewModelPropertySpec.hpp +62 -0
  408. package/nitrogen/generated/shared/c++/HybridViewModelSpec.cpp +27 -0
  409. package/nitrogen/generated/shared/c++/HybridViewModelSpec.hpp +71 -0
  410. package/nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.cpp +25 -0
  411. package/nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.hpp +68 -0
  412. package/nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.cpp +24 -0
  413. package/nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.hpp +67 -0
  414. package/nitrogen/generated/shared/c++/ReferencedAssetsType.hpp +79 -0
  415. package/nitrogen/generated/shared/c++/ResolvedReferencedAsset.hpp +95 -0
  416. package/nitrogen/generated/shared/c++/RiveError.hpp +81 -0
  417. package/nitrogen/generated/shared/c++/RiveErrorType.hpp +75 -0
  418. package/nitrogen/generated/shared/c++/RiveEventType.hpp +62 -0
  419. package/nitrogen/generated/shared/c++/UnifiedRiveEvent.hpp +100 -0
  420. package/nitrogen/generated/shared/c++/views/HybridRiveViewComponent.cpp +183 -0
  421. package/nitrogen/generated/shared/c++/views/HybridRiveViewComponent.hpp +124 -0
  422. package/nitrogen/generated/shared/json/RiveViewConfig.json +18 -0
  423. package/package.json +193 -0
  424. package/src/core/Alignment.ts +46 -0
  425. package/src/core/Errors.ts +14 -0
  426. package/src/core/Events.ts +31 -0
  427. package/src/core/Fit.ts +54 -0
  428. package/src/core/NitroRiveViewComponent.ts +18 -0
  429. package/src/core/ReferencedAssets.ts +14 -0
  430. package/src/core/RiveColor.ts +100 -0
  431. package/src/core/RiveFile.ts +149 -0
  432. package/src/core/RiveImages.ts +5 -0
  433. package/src/core/RiveView.tsx +48 -0
  434. package/src/core/callDispose.ts +18 -0
  435. package/src/hooks/useRive.ts +56 -0
  436. package/src/hooks/useRiveBoolean.ts +28 -0
  437. package/src/hooks/useRiveColor.ts +47 -0
  438. package/src/hooks/useRiveEnum.ts +27 -0
  439. package/src/hooks/useRiveFile.ts +184 -0
  440. package/src/hooks/useRiveNumber.ts +28 -0
  441. package/src/hooks/useRiveProperty.ts +110 -0
  442. package/src/hooks/useRiveString.ts +28 -0
  443. package/src/hooks/useRiveTrigger.ts +49 -0
  444. package/src/index.tsx +52 -0
  445. package/src/specs/ArtboardBy.ts +31 -0
  446. package/src/specs/Rive.nitro.ts +6 -0
  447. package/src/specs/RiveFile.nitro.ts +57 -0
  448. package/src/specs/RiveImage.nitro.ts +42 -0
  449. package/src/specs/RiveView.nitro.ts +149 -0
  450. package/src/specs/ViewModel.nitro.ts +126 -0
  451. package/src/types.tsx +34 -0
@@ -0,0 +1,26 @@
1
+ ///
2
+ /// RiveErrorType.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.rive
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+ /**
14
+ * Represents the JavaScript enum/union "RiveErrorType".
15
+ */
16
+ @DoNotStrip
17
+ @Keep
18
+ enum class RiveErrorType(@DoNotStrip @Keep val value: Int) {
19
+ UNKNOWN(0),
20
+ FILENOTFOUND(1),
21
+ MALFORMEDFILE(2),
22
+ INCORRECTARTBOARDNAME(3),
23
+ INCORRECTSTATEMACHINENAME(4),
24
+ VIEWMODELINSTANCENOTFOUND(6),
25
+ INCORRECTSTATEMACHINEINPUTNAME(8);
26
+ }
@@ -0,0 +1,21 @@
1
+ ///
2
+ /// RiveEventType.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.rive
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+ /**
14
+ * Represents the JavaScript enum/union "RiveEventType".
15
+ */
16
+ @DoNotStrip
17
+ @Keep
18
+ enum class RiveEventType(@DoNotStrip @Keep val value: Int) {
19
+ GENERAL(0),
20
+ OPENURL(1);
21
+ }
@@ -0,0 +1,53 @@
1
+ ///
2
+ /// UnifiedRiveEvent.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.rive
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+
14
+ /**
15
+ * Represents the JavaScript object/struct "UnifiedRiveEvent".
16
+ */
17
+ @DoNotStrip
18
+ @Keep
19
+ data class UnifiedRiveEvent(
20
+ @DoNotStrip
21
+ @Keep
22
+ val name: String,
23
+ @DoNotStrip
24
+ @Keep
25
+ val type: RiveEventType,
26
+ @DoNotStrip
27
+ @Keep
28
+ val delay: Double?,
29
+ @DoNotStrip
30
+ @Keep
31
+ val properties: Map<String, EventPropertiesOutput>?,
32
+ @DoNotStrip
33
+ @Keep
34
+ val url: String?,
35
+ @DoNotStrip
36
+ @Keep
37
+ val target: String?
38
+ ) {
39
+ /* primary constructor */
40
+
41
+ private companion object {
42
+ /**
43
+ * Constructor called from C++
44
+ */
45
+ @DoNotStrip
46
+ @Keep
47
+ @Suppress("unused")
48
+ @JvmStatic
49
+ private fun fromCpp(name: String, type: RiveEventType, delay: Double?, properties: Map<String, EventPropertiesOutput>?, url: String?, target: String?): UnifiedRiveEvent {
50
+ return UnifiedRiveEvent(name, type, delay, properties, url, target)
51
+ }
52
+ }
53
+ }
@@ -0,0 +1,72 @@
1
+ ///
2
+ /// Variant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.rive
9
+
10
+ import com.facebook.proguard.annotations.DoNotStrip
11
+
12
+
13
+ /**
14
+ * Represents the TypeScript variant "HybridViewModelInstanceSpec | DataBindMode | DataBindByName".
15
+ */
16
+ @Suppress("ClassName")
17
+ @DoNotStrip
18
+ sealed class Variant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName {
19
+ @DoNotStrip
20
+ data class First(@DoNotStrip val value: HybridViewModelInstanceSpec): Variant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName()
21
+ @DoNotStrip
22
+ data class Second(@DoNotStrip val value: DataBindMode): Variant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName()
23
+ @DoNotStrip
24
+ data class Third(@DoNotStrip val value: DataBindByName): Variant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName()
25
+
26
+ @Deprecated("getAs() is not type-safe. Use fold/asFirstOrNull/asSecondOrNull instead.", level = DeprecationLevel.ERROR)
27
+ inline fun <reified T> getAs(): T? = when (this) {
28
+ is First -> value as? T
29
+ is Second -> value as? T
30
+ is Third -> value as? T
31
+ }
32
+
33
+ val isFirst: Boolean
34
+ get() = this is First
35
+ val isSecond: Boolean
36
+ get() = this is Second
37
+ val isThird: Boolean
38
+ get() = this is Third
39
+
40
+ fun asFirstOrNull(): HybridViewModelInstanceSpec? {
41
+ val value = (this as? First)?.value ?: return null
42
+ return value
43
+ }
44
+ fun asSecondOrNull(): DataBindMode? {
45
+ val value = (this as? Second)?.value ?: return null
46
+ return value
47
+ }
48
+ fun asThirdOrNull(): DataBindByName? {
49
+ val value = (this as? Third)?.value ?: return null
50
+ return value
51
+ }
52
+
53
+ inline fun <R> match(first: (HybridViewModelInstanceSpec) -> R, second: (DataBindMode) -> R, third: (DataBindByName) -> R): R {
54
+ return when (this) {
55
+ is First -> first(value)
56
+ is Second -> second(value)
57
+ is Third -> third(value)
58
+ }
59
+ }
60
+
61
+ companion object {
62
+ @JvmStatic
63
+ @DoNotStrip
64
+ fun create(value: HybridViewModelInstanceSpec): Variant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName = First(value)
65
+ @JvmStatic
66
+ @DoNotStrip
67
+ fun create(value: DataBindMode): Variant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName = Second(value)
68
+ @JvmStatic
69
+ @DoNotStrip
70
+ fun create(value: DataBindByName): Variant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName = Third(value)
71
+ }
72
+ }
@@ -0,0 +1,35 @@
1
+ ///
2
+ /// riveOnLoad.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.rive
9
+
10
+ import android.util.Log
11
+
12
+ internal class riveOnLoad {
13
+ companion object {
14
+ private const val TAG = "riveOnLoad"
15
+ private var didLoad = false
16
+ /**
17
+ * Initializes the native part of "rive".
18
+ * This method is idempotent and can be called more than once.
19
+ */
20
+ @JvmStatic
21
+ fun initializeNative() {
22
+ if (didLoad) return
23
+ try {
24
+ Log.i(TAG, "Loading rive C++ library...")
25
+ System.loadLibrary("rive")
26
+ Log.i(TAG, "Successfully loaded rive C++ library!")
27
+ didLoad = true
28
+ } catch (e: Error) {
29
+ Log.e(TAG, "Failed to load rive C++ library! Is it properly installed and linked? " +
30
+ "Is the name correct? (see `CMakeLists.txt`, at `add_library(...)`)", e)
31
+ throw e
32
+ }
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,50 @@
1
+ ///
2
+ /// HybridRiveViewManager.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.rive.views
9
+
10
+ import android.view.View
11
+ import com.facebook.react.uimanager.ReactStylesDiffMap
12
+ import com.facebook.react.uimanager.SimpleViewManager
13
+ import com.facebook.react.uimanager.StateWrapper
14
+ import com.facebook.react.uimanager.ThemedReactContext
15
+ import com.margelo.nitro.rive.*
16
+
17
+ /**
18
+ * Represents the React Native `ViewManager` for the "RiveView" Nitro HybridView.
19
+ */
20
+ open class HybridRiveViewManager: SimpleViewManager<View>() {
21
+ private val views = hashMapOf<View, HybridRiveView>()
22
+
23
+ override fun getName(): String {
24
+ return "RiveView"
25
+ }
26
+
27
+ override fun createViewInstance(reactContext: ThemedReactContext): View {
28
+ val hybridView = HybridRiveView(reactContext)
29
+ val view = hybridView.view
30
+ views[view] = hybridView
31
+ return view
32
+ }
33
+
34
+ override fun onDropViewInstance(view: View) {
35
+ super.onDropViewInstance(view)
36
+ views.remove(view)
37
+ }
38
+
39
+ override fun updateState(view: View, props: ReactStylesDiffMap, stateWrapper: StateWrapper): Any? {
40
+ val hybridView = views[view] ?: throw Error("Couldn't find view $view in local views table!")
41
+
42
+ // 1. Update each prop individually
43
+ hybridView.beforeUpdate()
44
+ HybridRiveViewStateUpdater.updateViewProps(hybridView, stateWrapper)
45
+ hybridView.afterUpdate()
46
+
47
+ // 2. Continue in base View props
48
+ return super.updateState(view, props, stateWrapper)
49
+ }
50
+ }
@@ -0,0 +1,23 @@
1
+ ///
2
+ /// HybridRiveViewStateUpdater.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.rive.views
9
+
10
+ import com.facebook.react.uimanager.StateWrapper
11
+ import com.margelo.nitro.rive.*
12
+
13
+ internal class HybridRiveViewStateUpdater {
14
+ companion object {
15
+ /**
16
+ * Updates the props for [view] through C++.
17
+ * The [state] prop is expected to contain [view]'s props as wrapped Fabric state.
18
+ */
19
+ @Suppress("KotlinJniMissingFunction")
20
+ @JvmStatic
21
+ external fun updateViewProps(view: HybridRiveViewSpec, state: StateWrapper)
22
+ }
23
+ }
@@ -0,0 +1,115 @@
1
+ #
2
+ # rive+autolinking.cmake
3
+ # This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ # https://github.com/mrousavy/nitro
5
+ # Copyright © 2025 Marc Rousavy @ Margelo
6
+ #
7
+
8
+ # This is a CMake file that adds all files generated by Nitrogen
9
+ # to the current CMake project.
10
+ #
11
+ # To use it, add this to your CMakeLists.txt:
12
+ # ```cmake
13
+ # include(${CMAKE_SOURCE_DIR}/../nitrogen/generated/android/rive+autolinking.cmake)
14
+ # ```
15
+
16
+ # Define a flag to check if we are building properly
17
+ add_definitions(-DBUILDING_RIVE_WITH_GENERATED_CMAKE_PROJECT)
18
+
19
+ # Enable Raw Props parsing in react-native (for Nitro Views)
20
+ add_definitions(-DRN_SERIALIZABLE_STATE)
21
+
22
+ # Add all headers that were generated by Nitrogen
23
+ include_directories(
24
+ "../nitrogen/generated/shared/c++"
25
+ "../nitrogen/generated/android/c++"
26
+ "../nitrogen/generated/android/"
27
+ )
28
+
29
+ # Add all .cpp sources that were generated by Nitrogen
30
+ target_sources(
31
+ # CMake project name (Android C++ library name)
32
+ rive PRIVATE
33
+ # Autolinking Setup
34
+ ../nitrogen/generated/android/riveOnLoad.cpp
35
+ # Shared Nitrogen C++ sources
36
+ ../nitrogen/generated/shared/c++/HybridRiveSpec.cpp
37
+ ../nitrogen/generated/shared/c++/HybridRiveFileSpec.cpp
38
+ ../nitrogen/generated/shared/c++/HybridRiveFileFactorySpec.cpp
39
+ ../nitrogen/generated/shared/c++/HybridRiveImageSpec.cpp
40
+ ../nitrogen/generated/shared/c++/HybridRiveImageFactorySpec.cpp
41
+ ../nitrogen/generated/shared/c++/HybridRiveViewSpec.cpp
42
+ ../nitrogen/generated/shared/c++/views/HybridRiveViewComponent.cpp
43
+ ../nitrogen/generated/shared/c++/HybridViewModelSpec.cpp
44
+ ../nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.cpp
45
+ ../nitrogen/generated/shared/c++/HybridViewModelPropertySpec.cpp
46
+ ../nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.cpp
47
+ ../nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.cpp
48
+ ../nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.cpp
49
+ ../nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.cpp
50
+ ../nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.cpp
51
+ ../nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.cpp
52
+ ../nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.cpp
53
+ # Android-specific Nitrogen C++ sources
54
+ ../nitrogen/generated/android/c++/JHybridRiveSpec.cpp
55
+ ../nitrogen/generated/android/c++/JHybridRiveFileSpec.cpp
56
+ ../nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.cpp
57
+ ../nitrogen/generated/android/c++/JHybridRiveImageSpec.cpp
58
+ ../nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.cpp
59
+ ../nitrogen/generated/android/c++/JHybridRiveViewSpec.cpp
60
+ ../nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.cpp
61
+ ../nitrogen/generated/android/c++/JEventPropertiesOutput.cpp
62
+ ../nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.cpp
63
+ ../nitrogen/generated/android/c++/JHybridViewModelSpec.cpp
64
+ ../nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.cpp
65
+ ../nitrogen/generated/android/c++/JHybridViewModelPropertySpec.cpp
66
+ ../nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.cpp
67
+ ../nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.cpp
68
+ ../nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.cpp
69
+ ../nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.cpp
70
+ ../nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.cpp
71
+ ../nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.cpp
72
+ ../nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.cpp
73
+ )
74
+
75
+ # From node_modules/react-native/ReactAndroid/cmake-utils/folly-flags.cmake
76
+ # Used in node_modules/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake
77
+ target_compile_definitions(
78
+ rive PRIVATE
79
+ -DFOLLY_NO_CONFIG=1
80
+ -DFOLLY_HAVE_CLOCK_GETTIME=1
81
+ -DFOLLY_USE_LIBCPP=1
82
+ -DFOLLY_CFG_NO_COROUTINES=1
83
+ -DFOLLY_MOBILE=1
84
+ -DFOLLY_HAVE_RECVMMSG=1
85
+ -DFOLLY_HAVE_PTHREAD=1
86
+ # Once we target android-23 above, we can comment
87
+ # the following line. NDK uses GNU style stderror_r() after API 23.
88
+ -DFOLLY_HAVE_XSI_STRERROR_R=1
89
+ )
90
+
91
+ # Add all libraries required by the generated specs
92
+ find_package(fbjni REQUIRED) # <-- Used for communication between Java <-> C++
93
+ find_package(ReactAndroid REQUIRED) # <-- Used to set up React Native bindings (e.g. CallInvoker/TurboModule)
94
+ find_package(react-native-nitro-modules REQUIRED) # <-- Used to create all HybridObjects and use the Nitro core library
95
+
96
+ # Link all libraries together
97
+ target_link_libraries(
98
+ rive
99
+ fbjni::fbjni # <-- Facebook C++ JNI helpers
100
+ ReactAndroid::jsi # <-- RN: JSI
101
+ react-native-nitro-modules::NitroModules # <-- NitroModules Core :)
102
+ )
103
+
104
+ # Link react-native (different prefab between RN 0.75 and RN 0.76)
105
+ if(ReactAndroid_VERSION_MINOR GREATER_EQUAL 76)
106
+ target_link_libraries(
107
+ rive
108
+ ReactAndroid::reactnative # <-- RN: Native Modules umbrella prefab
109
+ )
110
+ else()
111
+ target_link_libraries(
112
+ rive
113
+ ReactAndroid::react_nativemodule_core # <-- RN: TurboModules Core
114
+ )
115
+ endif()
@@ -0,0 +1,27 @@
1
+ ///
2
+ /// rive+autolinking.gradle
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ /// This is a Gradle file that adds all files generated by Nitrogen
9
+ /// to the current Gradle project.
10
+ ///
11
+ /// To use it, add this to your build.gradle:
12
+ /// ```gradle
13
+ /// apply from: '../nitrogen/generated/android/rive+autolinking.gradle'
14
+ /// ```
15
+
16
+ logger.warn("[NitroModules] 🔥 rive is boosted by nitro!")
17
+
18
+ android {
19
+ sourceSets {
20
+ main {
21
+ java.srcDirs += [
22
+ // Nitrogen files
23
+ "${project.projectDir}/../nitrogen/generated/android/kotlin"
24
+ ]
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,192 @@
1
+ ///
2
+ /// riveOnLoad.cpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #ifndef BUILDING_RIVE_WITH_GENERATED_CMAKE_PROJECT
9
+ #error riveOnLoad.cpp is not being built with the autogenerated CMakeLists.txt project. Is a different CMakeLists.txt building this?
10
+ #endif
11
+
12
+ #include "riveOnLoad.hpp"
13
+
14
+ #include <jni.h>
15
+ #include <fbjni/fbjni.h>
16
+ #include <NitroModules/HybridObjectRegistry.hpp>
17
+
18
+ #include "JHybridRiveSpec.hpp"
19
+ #include "JHybridRiveFileSpec.hpp"
20
+ #include "JHybridRiveFileFactorySpec.hpp"
21
+ #include "JHybridRiveImageSpec.hpp"
22
+ #include "JHybridRiveImageFactorySpec.hpp"
23
+ #include "JHybridRiveViewSpec.hpp"
24
+ #include "JFunc_void_RiveError.hpp"
25
+ #include "JFunc_void_UnifiedRiveEvent.hpp"
26
+ #include "views/JHybridRiveViewStateUpdater.hpp"
27
+ #include "JHybridViewModelSpec.hpp"
28
+ #include "JHybridViewModelInstanceSpec.hpp"
29
+ #include "JHybridViewModelPropertySpec.hpp"
30
+ #include "JHybridViewModelNumberPropertySpec.hpp"
31
+ #include "JFunc_void_double.hpp"
32
+ #include "JHybridViewModelStringPropertySpec.hpp"
33
+ #include "JFunc_void_std__string.hpp"
34
+ #include "JHybridViewModelBooleanPropertySpec.hpp"
35
+ #include "JFunc_void_bool.hpp"
36
+ #include "JHybridViewModelColorPropertySpec.hpp"
37
+ #include "JHybridViewModelEnumPropertySpec.hpp"
38
+ #include "JHybridViewModelTriggerPropertySpec.hpp"
39
+ #include "JFunc_void.hpp"
40
+ #include "JHybridViewModelImagePropertySpec.hpp"
41
+ #include <NitroModules/DefaultConstructableObject.hpp>
42
+
43
+ namespace margelo::nitro::rive {
44
+
45
+ int initialize(JavaVM* vm) {
46
+ using namespace margelo::nitro;
47
+ using namespace margelo::nitro::rive;
48
+ using namespace facebook;
49
+
50
+ return facebook::jni::initialize(vm, [] {
51
+ // Register native JNI methods
52
+ margelo::nitro::rive::JHybridRiveSpec::registerNatives();
53
+ margelo::nitro::rive::JHybridRiveFileSpec::registerNatives();
54
+ margelo::nitro::rive::JHybridRiveFileFactorySpec::registerNatives();
55
+ margelo::nitro::rive::JHybridRiveImageSpec::registerNatives();
56
+ margelo::nitro::rive::JHybridRiveImageFactorySpec::registerNatives();
57
+ margelo::nitro::rive::JHybridRiveViewSpec::registerNatives();
58
+ margelo::nitro::rive::JFunc_void_RiveError_cxx::registerNatives();
59
+ margelo::nitro::rive::JFunc_void_UnifiedRiveEvent_cxx::registerNatives();
60
+ margelo::nitro::rive::views::JHybridRiveViewStateUpdater::registerNatives();
61
+ margelo::nitro::rive::JHybridViewModelSpec::registerNatives();
62
+ margelo::nitro::rive::JHybridViewModelInstanceSpec::registerNatives();
63
+ margelo::nitro::rive::JHybridViewModelPropertySpec::registerNatives();
64
+ margelo::nitro::rive::JHybridViewModelNumberPropertySpec::registerNatives();
65
+ margelo::nitro::rive::JFunc_void_double_cxx::registerNatives();
66
+ margelo::nitro::rive::JHybridViewModelStringPropertySpec::registerNatives();
67
+ margelo::nitro::rive::JFunc_void_std__string_cxx::registerNatives();
68
+ margelo::nitro::rive::JHybridViewModelBooleanPropertySpec::registerNatives();
69
+ margelo::nitro::rive::JFunc_void_bool_cxx::registerNatives();
70
+ margelo::nitro::rive::JHybridViewModelColorPropertySpec::registerNatives();
71
+ margelo::nitro::rive::JHybridViewModelEnumPropertySpec::registerNatives();
72
+ margelo::nitro::rive::JHybridViewModelTriggerPropertySpec::registerNatives();
73
+ margelo::nitro::rive::JFunc_void_cxx::registerNatives();
74
+ margelo::nitro::rive::JHybridViewModelImagePropertySpec::registerNatives();
75
+
76
+ // Register Nitro Hybrid Objects
77
+ HybridObjectRegistry::registerHybridObjectConstructor(
78
+ "Rive",
79
+ []() -> std::shared_ptr<HybridObject> {
80
+ static DefaultConstructableObject<JHybridRiveSpec::javaobject> object("com/margelo/nitro/rive/Rive");
81
+ auto instance = object.create();
82
+ return instance->cthis()->shared();
83
+ }
84
+ );
85
+ HybridObjectRegistry::registerHybridObjectConstructor(
86
+ "RiveFileFactory",
87
+ []() -> std::shared_ptr<HybridObject> {
88
+ static DefaultConstructableObject<JHybridRiveFileFactorySpec::javaobject> object("com/margelo/nitro/rive/HybridRiveFileFactory");
89
+ auto instance = object.create();
90
+ return instance->cthis()->shared();
91
+ }
92
+ );
93
+ HybridObjectRegistry::registerHybridObjectConstructor(
94
+ "RiveFile",
95
+ []() -> std::shared_ptr<HybridObject> {
96
+ static DefaultConstructableObject<JHybridRiveFileSpec::javaobject> object("com/margelo/nitro/rive/HybridRiveFile");
97
+ auto instance = object.create();
98
+ return instance->cthis()->shared();
99
+ }
100
+ );
101
+ HybridObjectRegistry::registerHybridObjectConstructor(
102
+ "ViewModel",
103
+ []() -> std::shared_ptr<HybridObject> {
104
+ static DefaultConstructableObject<JHybridViewModelSpec::javaobject> object("com/margelo/nitro/rive/HybridViewModel");
105
+ auto instance = object.create();
106
+ return instance->cthis()->shared();
107
+ }
108
+ );
109
+ HybridObjectRegistry::registerHybridObjectConstructor(
110
+ "ViewModelInstance",
111
+ []() -> std::shared_ptr<HybridObject> {
112
+ static DefaultConstructableObject<JHybridViewModelInstanceSpec::javaobject> object("com/margelo/nitro/rive/HybridViewModelInstance");
113
+ auto instance = object.create();
114
+ return instance->cthis()->shared();
115
+ }
116
+ );
117
+ HybridObjectRegistry::registerHybridObjectConstructor(
118
+ "ViewModelNumberProperty",
119
+ []() -> std::shared_ptr<HybridObject> {
120
+ static DefaultConstructableObject<JHybridViewModelNumberPropertySpec::javaobject> object("com/margelo/nitro/rive/HybridViewModelNumberProperty");
121
+ auto instance = object.create();
122
+ return instance->cthis()->shared();
123
+ }
124
+ );
125
+ HybridObjectRegistry::registerHybridObjectConstructor(
126
+ "ViewModelStringProperty",
127
+ []() -> std::shared_ptr<HybridObject> {
128
+ static DefaultConstructableObject<JHybridViewModelStringPropertySpec::javaobject> object("com/margelo/nitro/rive/HybridViewModelStringProperty");
129
+ auto instance = object.create();
130
+ return instance->cthis()->shared();
131
+ }
132
+ );
133
+ HybridObjectRegistry::registerHybridObjectConstructor(
134
+ "ViewModelBooleanProperty",
135
+ []() -> std::shared_ptr<HybridObject> {
136
+ static DefaultConstructableObject<JHybridViewModelBooleanPropertySpec::javaobject> object("com/margelo/nitro/rive/HybridViewModelBooleanProperty");
137
+ auto instance = object.create();
138
+ return instance->cthis()->shared();
139
+ }
140
+ );
141
+ HybridObjectRegistry::registerHybridObjectConstructor(
142
+ "ViewModelColorProperty",
143
+ []() -> std::shared_ptr<HybridObject> {
144
+ static DefaultConstructableObject<JHybridViewModelColorPropertySpec::javaobject> object("com/margelo/nitro/rive/HybridViewModelColorProperty");
145
+ auto instance = object.create();
146
+ return instance->cthis()->shared();
147
+ }
148
+ );
149
+ HybridObjectRegistry::registerHybridObjectConstructor(
150
+ "ViewModelEnumProperty",
151
+ []() -> std::shared_ptr<HybridObject> {
152
+ static DefaultConstructableObject<JHybridViewModelEnumPropertySpec::javaobject> object("com/margelo/nitro/rive/HybridViewModelEnumProperty");
153
+ auto instance = object.create();
154
+ return instance->cthis()->shared();
155
+ }
156
+ );
157
+ HybridObjectRegistry::registerHybridObjectConstructor(
158
+ "ViewModelTriggerProperty",
159
+ []() -> std::shared_ptr<HybridObject> {
160
+ static DefaultConstructableObject<JHybridViewModelTriggerPropertySpec::javaobject> object("com/margelo/nitro/rive/HybridViewModelTriggerProperty");
161
+ auto instance = object.create();
162
+ return instance->cthis()->shared();
163
+ }
164
+ );
165
+ HybridObjectRegistry::registerHybridObjectConstructor(
166
+ "ViewModelImageProperty",
167
+ []() -> std::shared_ptr<HybridObject> {
168
+ static DefaultConstructableObject<JHybridViewModelImagePropertySpec::javaobject> object("com/margelo/nitro/rive/HybridViewModelImageProperty");
169
+ auto instance = object.create();
170
+ return instance->cthis()->shared();
171
+ }
172
+ );
173
+ HybridObjectRegistry::registerHybridObjectConstructor(
174
+ "RiveView",
175
+ []() -> std::shared_ptr<HybridObject> {
176
+ static DefaultConstructableObject<JHybridRiveViewSpec::javaobject> object("com/margelo/nitro/rive/HybridRiveView");
177
+ auto instance = object.create();
178
+ return instance->cthis()->shared();
179
+ }
180
+ );
181
+ HybridObjectRegistry::registerHybridObjectConstructor(
182
+ "RiveImageFactory",
183
+ []() -> std::shared_ptr<HybridObject> {
184
+ static DefaultConstructableObject<JHybridRiveImageFactorySpec::javaobject> object("com/margelo/nitro/rive/HybridRiveImageFactory");
185
+ auto instance = object.create();
186
+ return instance->cthis()->shared();
187
+ }
188
+ );
189
+ });
190
+ }
191
+
192
+ } // namespace margelo::nitro::rive
@@ -0,0 +1,25 @@
1
+ ///
2
+ /// riveOnLoad.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #include <jni.h>
9
+ #include <NitroModules/NitroDefines.hpp>
10
+
11
+ namespace margelo::nitro::rive {
12
+
13
+ /**
14
+ * Initializes the native (C++) part of rive, and autolinks all Hybrid Objects.
15
+ * Call this in your `JNI_OnLoad` function (probably inside `cpp-adapter.cpp`).
16
+ * Example:
17
+ * ```cpp (cpp-adapter.cpp)
18
+ * JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
19
+ * return margelo::nitro::rive::initialize(vm);
20
+ * }
21
+ * ```
22
+ */
23
+ int initialize(JavaVM* vm);
24
+
25
+ } // namespace margelo::nitro::rive