@rive-app/react-native 0.1.2 → 0.1.4

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 (299) hide show
  1. package/android/src/main/java/com/margelo/nitro/rive/HybridBindableArtboard.kt +23 -0
  2. package/android/src/main/java/com/margelo/nitro/rive/HybridRiveFile.kt +12 -0
  3. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelArtboardProperty.kt +16 -0
  4. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelInstance.kt +13 -0
  5. package/ios/BaseHybridViewModelProperty.swift +1 -0
  6. package/ios/HybridBindableArtboard.swift +23 -0
  7. package/ios/HybridRiveFile.swift +19 -0
  8. package/ios/HybridViewModelArtboardProperty.swift +18 -0
  9. package/ios/HybridViewModelInstance.swift +22 -0
  10. package/lib/module/hooks/useRiveFile.js +9 -2
  11. package/lib/module/hooks/useRiveFile.js.map +1 -1
  12. package/lib/module/hooks/useRiveProperty.js +15 -7
  13. package/lib/module/hooks/useRiveProperty.js.map +1 -1
  14. package/lib/module/index.js.map +1 -1
  15. package/lib/module/specs/BindableArtboard.nitro.js +4 -0
  16. package/lib/module/specs/BindableArtboard.nitro.js.map +1 -0
  17. package/lib/typescript/src/hooks/useRiveFile.d.ts.map +1 -1
  18. package/lib/typescript/src/hooks/useRiveProperty.d.ts.map +1 -1
  19. package/lib/typescript/src/index.d.ts +2 -1
  20. package/lib/typescript/src/index.d.ts.map +1 -1
  21. package/lib/typescript/src/specs/BindableArtboard.nitro.d.ts +16 -0
  22. package/lib/typescript/src/specs/BindableArtboard.nitro.d.ts.map +1 -0
  23. package/lib/typescript/src/specs/RiveFile.nitro.d.ts +11 -0
  24. package/lib/typescript/src/specs/RiveFile.nitro.d.ts.map +1 -1
  25. package/lib/typescript/src/specs/ViewModel.nitro.d.ts +26 -0
  26. package/lib/typescript/src/specs/ViewModel.nitro.d.ts.map +1 -1
  27. package/nitrogen/generated/android/c++/JAlignment.hpp +1 -1
  28. package/nitrogen/generated/android/c++/JArtboardBy.hpp +1 -1
  29. package/nitrogen/generated/android/c++/JArtboardByTypes.hpp +1 -1
  30. package/nitrogen/generated/android/c++/JDataBindByName.hpp +1 -1
  31. package/nitrogen/generated/android/c++/JDataBindMode.hpp +1 -1
  32. package/nitrogen/generated/android/c++/JEventPropertiesOutput.cpp +1 -1
  33. package/nitrogen/generated/android/c++/JEventPropertiesOutput.hpp +1 -1
  34. package/nitrogen/generated/android/c++/JFit.hpp +1 -1
  35. package/nitrogen/generated/android/c++/JFunc_void.hpp +1 -1
  36. package/nitrogen/generated/android/c++/JFunc_void_RiveError.hpp +1 -1
  37. package/nitrogen/generated/android/c++/JFunc_void_UnifiedRiveEvent.hpp +1 -1
  38. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +1 -1
  39. package/nitrogen/generated/android/c++/JFunc_void_double.hpp +1 -1
  40. package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +1 -1
  41. package/nitrogen/generated/android/c++/JHybridBindableArtboardSpec.cpp +52 -0
  42. package/nitrogen/generated/android/c++/JHybridBindableArtboardSpec.hpp +65 -0
  43. package/nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.cpp +1 -1
  44. package/nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.hpp +1 -1
  45. package/nitrogen/generated/android/c++/JHybridRiveFileSpec.cpp +31 -2
  46. package/nitrogen/generated/android/c++/JHybridRiveFileSpec.hpp +4 -1
  47. package/nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.cpp +1 -1
  48. package/nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.hpp +1 -1
  49. package/nitrogen/generated/android/c++/JHybridRiveImageSpec.cpp +1 -1
  50. package/nitrogen/generated/android/c++/JHybridRiveImageSpec.hpp +1 -1
  51. package/nitrogen/generated/android/c++/JHybridRiveSpec.cpp +1 -1
  52. package/nitrogen/generated/android/c++/JHybridRiveSpec.hpp +1 -1
  53. package/nitrogen/generated/android/c++/JHybridRiveViewSpec.cpp +1 -1
  54. package/nitrogen/generated/android/c++/JHybridRiveViewSpec.hpp +1 -1
  55. package/nitrogen/generated/android/c++/JHybridViewModelArtboardPropertySpec.cpp +55 -0
  56. package/nitrogen/generated/android/c++/JHybridViewModelArtboardPropertySpec.hpp +66 -0
  57. package/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.cpp +1 -1
  58. package/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.hpp +1 -1
  59. package/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.cpp +1 -1
  60. package/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.hpp +1 -1
  61. package/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.cpp +1 -1
  62. package/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.hpp +1 -1
  63. package/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.cpp +1 -1
  64. package/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.hpp +1 -1
  65. package/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.cpp +23 -1
  66. package/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.hpp +4 -1
  67. package/nitrogen/generated/android/c++/JHybridViewModelListPropertySpec.cpp +1 -1
  68. package/nitrogen/generated/android/c++/JHybridViewModelListPropertySpec.hpp +1 -1
  69. package/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.cpp +1 -1
  70. package/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.hpp +1 -1
  71. package/nitrogen/generated/android/c++/JHybridViewModelPropertySpec.cpp +1 -1
  72. package/nitrogen/generated/android/c++/JHybridViewModelPropertySpec.hpp +1 -1
  73. package/nitrogen/generated/android/c++/JHybridViewModelSpec.cpp +1 -1
  74. package/nitrogen/generated/android/c++/JHybridViewModelSpec.hpp +1 -1
  75. package/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.cpp +1 -1
  76. package/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.hpp +1 -1
  77. package/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.cpp +1 -1
  78. package/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.hpp +1 -1
  79. package/nitrogen/generated/android/c++/JReferencedAssetsType.hpp +1 -1
  80. package/nitrogen/generated/android/c++/JResolvedReferencedAsset.hpp +1 -1
  81. package/nitrogen/generated/android/c++/JRiveError.hpp +1 -1
  82. package/nitrogen/generated/android/c++/JRiveErrorType.hpp +1 -1
  83. package/nitrogen/generated/android/c++/JRiveEventType.hpp +1 -1
  84. package/nitrogen/generated/android/c++/JUnifiedRiveEvent.hpp +1 -1
  85. package/nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.cpp +1 -1
  86. package/nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.hpp +1 -1
  87. package/nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.cpp +1 -1
  88. package/nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.hpp +1 -1
  89. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Alignment.kt +1 -1
  90. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ArtboardBy.kt +1 -1
  91. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ArtboardByTypes.kt +1 -1
  92. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/DataBindByName.kt +1 -1
  93. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/DataBindMode.kt +1 -1
  94. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/EventPropertiesOutput.kt +1 -1
  95. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Fit.kt +1 -1
  96. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void.kt +1 -1
  97. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_RiveError.kt +1 -1
  98. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_UnifiedRiveEvent.kt +1 -1
  99. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_bool.kt +1 -1
  100. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_double.kt +1 -1
  101. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_std__string.kt +1 -1
  102. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridBindableArtboardSpec.kt +57 -0
  103. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFileFactorySpec.kt +1 -1
  104. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFileSpec.kt +13 -1
  105. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveImageFactorySpec.kt +1 -1
  106. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveImageSpec.kt +1 -1
  107. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveSpec.kt +1 -1
  108. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveViewSpec.kt +1 -1
  109. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelArtboardPropertySpec.kt +57 -0
  110. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelBooleanPropertySpec.kt +1 -1
  111. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelColorPropertySpec.kt +1 -1
  112. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelEnumPropertySpec.kt +1 -1
  113. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelImagePropertySpec.kt +1 -1
  114. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelInstanceSpec.kt +13 -1
  115. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelListPropertySpec.kt +1 -1
  116. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelNumberPropertySpec.kt +1 -1
  117. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelPropertySpec.kt +1 -1
  118. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelSpec.kt +1 -1
  119. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelStringPropertySpec.kt +1 -1
  120. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelTriggerPropertySpec.kt +1 -1
  121. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ReferencedAssetsType.kt +1 -1
  122. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ResolvedReferencedAsset.kt +1 -1
  123. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveError.kt +1 -1
  124. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveErrorType.kt +1 -1
  125. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveEventType.kt +1 -1
  126. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/UnifiedRiveEvent.kt +1 -1
  127. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Variant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.kt +1 -1
  128. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/riveOnLoad.kt +1 -1
  129. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/views/HybridRiveViewManager.kt +1 -1
  130. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/views/HybridRiveViewStateUpdater.kt +1 -1
  131. package/nitrogen/generated/android/rive+autolinking.cmake +5 -1
  132. package/nitrogen/generated/android/rive+autolinking.gradle +1 -1
  133. package/nitrogen/generated/android/riveOnLoad.cpp +5 -1
  134. package/nitrogen/generated/android/riveOnLoad.hpp +1 -1
  135. package/nitrogen/generated/ios/RNRive+autolinking.rb +1 -1
  136. package/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.cpp +35 -1
  137. package/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.hpp +98 -1
  138. package/nitrogen/generated/ios/RNRive-Swift-Cxx-Umbrella.hpp +12 -1
  139. package/nitrogen/generated/ios/RNRiveAutolinking.mm +1 -1
  140. package/nitrogen/generated/ios/RNRiveAutolinking.swift +1 -1
  141. package/nitrogen/generated/ios/c++/HybridBindableArtboardSpecSwift.cpp +11 -0
  142. package/nitrogen/generated/ios/c++/HybridBindableArtboardSpecSwift.hpp +72 -0
  143. package/nitrogen/generated/ios/c++/HybridRiveFileFactorySpecSwift.cpp +1 -1
  144. package/nitrogen/generated/ios/c++/HybridRiveFileFactorySpecSwift.hpp +1 -1
  145. package/nitrogen/generated/ios/c++/HybridRiveFileSpecSwift.cpp +1 -1
  146. package/nitrogen/generated/ios/c++/HybridRiveFileSpecSwift.hpp +21 -2
  147. package/nitrogen/generated/ios/c++/HybridRiveImageFactorySpecSwift.cpp +1 -1
  148. package/nitrogen/generated/ios/c++/HybridRiveImageFactorySpecSwift.hpp +1 -1
  149. package/nitrogen/generated/ios/c++/HybridRiveImageSpecSwift.cpp +1 -1
  150. package/nitrogen/generated/ios/c++/HybridRiveImageSpecSwift.hpp +1 -1
  151. package/nitrogen/generated/ios/c++/HybridRiveSpecSwift.cpp +1 -1
  152. package/nitrogen/generated/ios/c++/HybridRiveSpecSwift.hpp +1 -1
  153. package/nitrogen/generated/ios/c++/HybridRiveViewSpecSwift.cpp +1 -1
  154. package/nitrogen/generated/ios/c++/HybridRiveViewSpecSwift.hpp +1 -1
  155. package/nitrogen/generated/ios/c++/HybridViewModelArtboardPropertySpecSwift.cpp +11 -0
  156. package/nitrogen/generated/ios/c++/HybridViewModelArtboardPropertySpecSwift.hpp +81 -0
  157. package/nitrogen/generated/ios/c++/HybridViewModelBooleanPropertySpecSwift.cpp +1 -1
  158. package/nitrogen/generated/ios/c++/HybridViewModelBooleanPropertySpecSwift.hpp +1 -1
  159. package/nitrogen/generated/ios/c++/HybridViewModelColorPropertySpecSwift.cpp +1 -1
  160. package/nitrogen/generated/ios/c++/HybridViewModelColorPropertySpecSwift.hpp +1 -1
  161. package/nitrogen/generated/ios/c++/HybridViewModelEnumPropertySpecSwift.cpp +1 -1
  162. package/nitrogen/generated/ios/c++/HybridViewModelEnumPropertySpecSwift.hpp +1 -1
  163. package/nitrogen/generated/ios/c++/HybridViewModelImagePropertySpecSwift.cpp +1 -1
  164. package/nitrogen/generated/ios/c++/HybridViewModelImagePropertySpecSwift.hpp +1 -1
  165. package/nitrogen/generated/ios/c++/HybridViewModelInstanceSpecSwift.cpp +1 -1
  166. package/nitrogen/generated/ios/c++/HybridViewModelInstanceSpecSwift.hpp +29 -1
  167. package/nitrogen/generated/ios/c++/HybridViewModelListPropertySpecSwift.cpp +1 -1
  168. package/nitrogen/generated/ios/c++/HybridViewModelListPropertySpecSwift.hpp +1 -1
  169. package/nitrogen/generated/ios/c++/HybridViewModelNumberPropertySpecSwift.cpp +1 -1
  170. package/nitrogen/generated/ios/c++/HybridViewModelNumberPropertySpecSwift.hpp +1 -1
  171. package/nitrogen/generated/ios/c++/HybridViewModelPropertySpecSwift.cpp +1 -1
  172. package/nitrogen/generated/ios/c++/HybridViewModelPropertySpecSwift.hpp +1 -1
  173. package/nitrogen/generated/ios/c++/HybridViewModelSpecSwift.cpp +1 -1
  174. package/nitrogen/generated/ios/c++/HybridViewModelSpecSwift.hpp +1 -1
  175. package/nitrogen/generated/ios/c++/HybridViewModelStringPropertySpecSwift.cpp +1 -1
  176. package/nitrogen/generated/ios/c++/HybridViewModelStringPropertySpecSwift.hpp +1 -1
  177. package/nitrogen/generated/ios/c++/HybridViewModelTriggerPropertySpecSwift.cpp +1 -1
  178. package/nitrogen/generated/ios/c++/HybridViewModelTriggerPropertySpecSwift.hpp +1 -1
  179. package/nitrogen/generated/ios/c++/views/HybridRiveViewComponent.mm +1 -1
  180. package/nitrogen/generated/ios/swift/Alignment.swift +1 -1
  181. package/nitrogen/generated/ios/swift/ArtboardBy.swift +1 -1
  182. package/nitrogen/generated/ios/swift/ArtboardByTypes.swift +1 -1
  183. package/nitrogen/generated/ios/swift/DataBindByName.swift +1 -1
  184. package/nitrogen/generated/ios/swift/DataBindMode.swift +1 -1
  185. package/nitrogen/generated/ios/swift/EventPropertiesOutput.swift +1 -1
  186. package/nitrogen/generated/ios/swift/Fit.swift +1 -1
  187. package/nitrogen/generated/ios/swift/Func_void.swift +1 -1
  188. package/nitrogen/generated/ios/swift/Func_void_RiveError.swift +1 -1
  189. package/nitrogen/generated/ios/swift/Func_void_UnifiedRiveEvent.swift +1 -1
  190. package/nitrogen/generated/ios/swift/Func_void_bool.swift +1 -1
  191. package/nitrogen/generated/ios/swift/Func_void_double.swift +1 -1
  192. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -1
  193. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridRiveFileSpec_.swift +1 -1
  194. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridRiveImageSpec_.swift +1 -1
  195. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +1 -1
  196. package/nitrogen/generated/ios/swift/HybridBindableArtboardSpec.swift +56 -0
  197. package/nitrogen/generated/ios/swift/HybridBindableArtboardSpec_cxx.swift +126 -0
  198. package/nitrogen/generated/ios/swift/HybridRiveFileFactorySpec.swift +1 -1
  199. package/nitrogen/generated/ios/swift/HybridRiveFileFactorySpec_cxx.swift +1 -1
  200. package/nitrogen/generated/ios/swift/HybridRiveFileSpec.swift +4 -1
  201. package/nitrogen/generated/ios/swift/HybridRiveFileSpec_cxx.swift +36 -1
  202. package/nitrogen/generated/ios/swift/HybridRiveImageFactorySpec.swift +1 -1
  203. package/nitrogen/generated/ios/swift/HybridRiveImageFactorySpec_cxx.swift +1 -1
  204. package/nitrogen/generated/ios/swift/HybridRiveImageSpec.swift +1 -1
  205. package/nitrogen/generated/ios/swift/HybridRiveImageSpec_cxx.swift +1 -1
  206. package/nitrogen/generated/ios/swift/HybridRiveSpec.swift +1 -1
  207. package/nitrogen/generated/ios/swift/HybridRiveSpec_cxx.swift +1 -1
  208. package/nitrogen/generated/ios/swift/HybridRiveViewSpec.swift +1 -1
  209. package/nitrogen/generated/ios/swift/HybridRiveViewSpec_cxx.swift +1 -1
  210. package/nitrogen/generated/ios/swift/HybridViewModelArtboardPropertySpec.swift +56 -0
  211. package/nitrogen/generated/ios/swift/HybridViewModelArtboardPropertySpec_cxx.swift +144 -0
  212. package/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec.swift +1 -1
  213. package/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec_cxx.swift +1 -1
  214. package/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec.swift +1 -1
  215. package/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec_cxx.swift +1 -1
  216. package/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec.swift +1 -1
  217. package/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec_cxx.swift +1 -1
  218. package/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec.swift +1 -1
  219. package/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec_cxx.swift +1 -1
  220. package/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec.swift +4 -1
  221. package/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec_cxx.swift +58 -1
  222. package/nitrogen/generated/ios/swift/HybridViewModelListPropertySpec.swift +1 -1
  223. package/nitrogen/generated/ios/swift/HybridViewModelListPropertySpec_cxx.swift +1 -1
  224. package/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec.swift +1 -1
  225. package/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec_cxx.swift +1 -1
  226. package/nitrogen/generated/ios/swift/HybridViewModelPropertySpec.swift +1 -1
  227. package/nitrogen/generated/ios/swift/HybridViewModelPropertySpec_cxx.swift +1 -1
  228. package/nitrogen/generated/ios/swift/HybridViewModelSpec.swift +1 -1
  229. package/nitrogen/generated/ios/swift/HybridViewModelSpec_cxx.swift +1 -1
  230. package/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec.swift +1 -1
  231. package/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec_cxx.swift +1 -1
  232. package/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec.swift +1 -1
  233. package/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec_cxx.swift +1 -1
  234. package/nitrogen/generated/ios/swift/ReferencedAssetsType.swift +1 -1
  235. package/nitrogen/generated/ios/swift/ResolvedReferencedAsset.swift +1 -1
  236. package/nitrogen/generated/ios/swift/RiveError.swift +1 -1
  237. package/nitrogen/generated/ios/swift/RiveErrorType.swift +1 -1
  238. package/nitrogen/generated/ios/swift/RiveEventType.swift +1 -1
  239. package/nitrogen/generated/ios/swift/UnifiedRiveEvent.swift +1 -1
  240. package/nitrogen/generated/ios/swift/Variant__any_HybridViewModelInstanceSpec__DataBindMode_DataBindByName.swift +1 -1
  241. package/nitrogen/generated/shared/c++/Alignment.hpp +1 -1
  242. package/nitrogen/generated/shared/c++/ArtboardBy.hpp +1 -1
  243. package/nitrogen/generated/shared/c++/ArtboardByTypes.hpp +1 -1
  244. package/nitrogen/generated/shared/c++/DataBindByName.hpp +1 -1
  245. package/nitrogen/generated/shared/c++/DataBindMode.hpp +1 -1
  246. package/nitrogen/generated/shared/c++/Fit.hpp +1 -1
  247. package/nitrogen/generated/shared/c++/HybridBindableArtboardSpec.cpp +21 -0
  248. package/nitrogen/generated/shared/c++/HybridBindableArtboardSpec.hpp +62 -0
  249. package/nitrogen/generated/shared/c++/HybridRiveFileFactorySpec.cpp +1 -1
  250. package/nitrogen/generated/shared/c++/HybridRiveFileFactorySpec.hpp +1 -1
  251. package/nitrogen/generated/shared/c++/HybridRiveFileSpec.cpp +4 -1
  252. package/nitrogen/generated/shared/c++/HybridRiveFileSpec.hpp +9 -2
  253. package/nitrogen/generated/shared/c++/HybridRiveImageFactorySpec.cpp +1 -1
  254. package/nitrogen/generated/shared/c++/HybridRiveImageFactorySpec.hpp +1 -1
  255. package/nitrogen/generated/shared/c++/HybridRiveImageSpec.cpp +1 -1
  256. package/nitrogen/generated/shared/c++/HybridRiveImageSpec.hpp +1 -1
  257. package/nitrogen/generated/shared/c++/HybridRiveSpec.cpp +1 -1
  258. package/nitrogen/generated/shared/c++/HybridRiveSpec.hpp +1 -1
  259. package/nitrogen/generated/shared/c++/HybridRiveViewSpec.cpp +1 -1
  260. package/nitrogen/generated/shared/c++/HybridRiveViewSpec.hpp +1 -1
  261. package/nitrogen/generated/shared/c++/HybridViewModelArtboardPropertySpec.cpp +22 -0
  262. package/nitrogen/generated/shared/c++/HybridViewModelArtboardPropertySpec.hpp +68 -0
  263. package/nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.cpp +1 -1
  264. package/nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.hpp +1 -1
  265. package/nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.cpp +1 -1
  266. package/nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.hpp +1 -1
  267. package/nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.cpp +1 -1
  268. package/nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.hpp +1 -1
  269. package/nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.cpp +1 -1
  270. package/nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.hpp +1 -1
  271. package/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.cpp +4 -1
  272. package/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.hpp +10 -1
  273. package/nitrogen/generated/shared/c++/HybridViewModelListPropertySpec.cpp +1 -1
  274. package/nitrogen/generated/shared/c++/HybridViewModelListPropertySpec.hpp +1 -1
  275. package/nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.cpp +1 -1
  276. package/nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.hpp +1 -1
  277. package/nitrogen/generated/shared/c++/HybridViewModelPropertySpec.cpp +1 -1
  278. package/nitrogen/generated/shared/c++/HybridViewModelPropertySpec.hpp +1 -1
  279. package/nitrogen/generated/shared/c++/HybridViewModelSpec.cpp +1 -1
  280. package/nitrogen/generated/shared/c++/HybridViewModelSpec.hpp +1 -1
  281. package/nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.cpp +1 -1
  282. package/nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.hpp +1 -1
  283. package/nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.cpp +1 -1
  284. package/nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.hpp +1 -1
  285. package/nitrogen/generated/shared/c++/ReferencedAssetsType.hpp +1 -1
  286. package/nitrogen/generated/shared/c++/ResolvedReferencedAsset.hpp +1 -1
  287. package/nitrogen/generated/shared/c++/RiveError.hpp +1 -1
  288. package/nitrogen/generated/shared/c++/RiveErrorType.hpp +1 -1
  289. package/nitrogen/generated/shared/c++/RiveEventType.hpp +1 -1
  290. package/nitrogen/generated/shared/c++/UnifiedRiveEvent.hpp +1 -1
  291. package/nitrogen/generated/shared/c++/views/HybridRiveViewComponent.cpp +1 -1
  292. package/nitrogen/generated/shared/c++/views/HybridRiveViewComponent.hpp +1 -1
  293. package/package.json +5 -1
  294. package/src/hooks/useRiveFile.ts +14 -2
  295. package/src/hooks/useRiveProperty.ts +17 -9
  296. package/src/index.tsx +2 -0
  297. package/src/specs/BindableArtboard.nitro.ts +14 -0
  298. package/src/specs/RiveFile.nitro.ts +12 -0
  299. package/src/specs/ViewModel.nitro.ts +30 -0
@@ -0,0 +1,22 @@
1
+ ///
2
+ /// HybridViewModelArtboardPropertySpec.cpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #include "HybridViewModelArtboardPropertySpec.hpp"
9
+
10
+ namespace margelo::nitro::rive {
11
+
12
+ void HybridViewModelArtboardPropertySpec::loadHybridMethods() {
13
+ // load base methods/properties
14
+ HybridObject::loadHybridMethods();
15
+ HybridViewModelPropertySpec::loadHybridMethods();
16
+ // load custom methods/properties
17
+ registerHybrids(this, [](Prototype& prototype) {
18
+ prototype.registerHybridMethod("set", &HybridViewModelArtboardPropertySpec::set);
19
+ });
20
+ }
21
+
22
+ } // namespace margelo::nitro::rive
@@ -0,0 +1,68 @@
1
+ ///
2
+ /// HybridViewModelArtboardPropertySpec.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #if __has_include(<NitroModules/HybridObject.hpp>)
11
+ #include <NitroModules/HybridObject.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+
16
+ // Forward declaration of `HybridBindableArtboardSpec` to properly resolve imports.
17
+ namespace margelo::nitro::rive { class HybridBindableArtboardSpec; }
18
+ // Forward declaration of `HybridViewModelPropertySpec` to properly resolve imports.
19
+ namespace margelo::nitro::rive { class HybridViewModelPropertySpec; }
20
+
21
+ #include <memory>
22
+ #include "HybridBindableArtboardSpec.hpp"
23
+ #include <optional>
24
+ #include "HybridViewModelPropertySpec.hpp"
25
+
26
+ namespace margelo::nitro::rive {
27
+
28
+ using namespace margelo::nitro;
29
+
30
+ /**
31
+ * An abstract base class for `ViewModelArtboardProperty`
32
+ * Inherit this class to create instances of `HybridViewModelArtboardPropertySpec` in C++.
33
+ * You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
34
+ * @example
35
+ * ```cpp
36
+ * class HybridViewModelArtboardProperty: public HybridViewModelArtboardPropertySpec {
37
+ * public:
38
+ * HybridViewModelArtboardProperty(...): HybridObject(TAG) { ... }
39
+ * // ...
40
+ * };
41
+ * ```
42
+ */
43
+ class HybridViewModelArtboardPropertySpec: public virtual HybridObject, public virtual HybridViewModelPropertySpec {
44
+ public:
45
+ // Constructor
46
+ explicit HybridViewModelArtboardPropertySpec(): HybridObject(TAG) { }
47
+
48
+ // Destructor
49
+ ~HybridViewModelArtboardPropertySpec() override = default;
50
+
51
+ public:
52
+ // Properties
53
+
54
+
55
+ public:
56
+ // Methods
57
+ virtual void set(const std::optional<std::shared_ptr<HybridBindableArtboardSpec>>& artboard) = 0;
58
+
59
+ protected:
60
+ // Hybrid Setup
61
+ void loadHybridMethods() override;
62
+
63
+ protected:
64
+ // Tag for logging
65
+ static constexpr auto TAG = "ViewModelArtboardProperty";
66
+ };
67
+
68
+ } // namespace margelo::nitro::rive
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelBooleanPropertySpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridViewModelBooleanPropertySpec.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelBooleanPropertySpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelColorPropertySpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridViewModelColorPropertySpec.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelColorPropertySpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelEnumPropertySpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridViewModelEnumPropertySpec.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelEnumPropertySpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelImagePropertySpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridViewModelImagePropertySpec.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelImagePropertySpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelInstanceSpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridViewModelInstanceSpec.hpp"
@@ -23,6 +23,9 @@ namespace margelo::nitro::rive {
23
23
  prototype.registerHybridMethod("triggerProperty", &HybridViewModelInstanceSpec::triggerProperty);
24
24
  prototype.registerHybridMethod("imageProperty", &HybridViewModelInstanceSpec::imageProperty);
25
25
  prototype.registerHybridMethod("listProperty", &HybridViewModelInstanceSpec::listProperty);
26
+ prototype.registerHybridMethod("artboardProperty", &HybridViewModelInstanceSpec::artboardProperty);
27
+ prototype.registerHybridMethod("viewModel", &HybridViewModelInstanceSpec::viewModel);
28
+ prototype.registerHybridMethod("replaceViewModel", &HybridViewModelInstanceSpec::replaceViewModel);
26
29
  });
27
30
  }
28
31
 
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelInstanceSpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -29,6 +29,10 @@ namespace margelo::nitro::rive { class HybridViewModelTriggerPropertySpec; }
29
29
  namespace margelo::nitro::rive { class HybridViewModelImagePropertySpec; }
30
30
  // Forward declaration of `HybridViewModelListPropertySpec` to properly resolve imports.
31
31
  namespace margelo::nitro::rive { class HybridViewModelListPropertySpec; }
32
+ // Forward declaration of `HybridViewModelArtboardPropertySpec` to properly resolve imports.
33
+ namespace margelo::nitro::rive { class HybridViewModelArtboardPropertySpec; }
34
+ // Forward declaration of `HybridViewModelInstanceSpec` to properly resolve imports.
35
+ namespace margelo::nitro::rive { class HybridViewModelInstanceSpec; }
32
36
 
33
37
  #include <string>
34
38
  #include <memory>
@@ -41,6 +45,8 @@ namespace margelo::nitro::rive { class HybridViewModelListPropertySpec; }
41
45
  #include "HybridViewModelTriggerPropertySpec.hpp"
42
46
  #include "HybridViewModelImagePropertySpec.hpp"
43
47
  #include "HybridViewModelListPropertySpec.hpp"
48
+ #include "HybridViewModelArtboardPropertySpec.hpp"
49
+ #include "HybridViewModelInstanceSpec.hpp"
44
50
 
45
51
  namespace margelo::nitro::rive {
46
52
 
@@ -81,6 +87,9 @@ namespace margelo::nitro::rive {
81
87
  virtual std::optional<std::shared_ptr<HybridViewModelTriggerPropertySpec>> triggerProperty(const std::string& path) = 0;
82
88
  virtual std::optional<std::shared_ptr<HybridViewModelImagePropertySpec>> imageProperty(const std::string& path) = 0;
83
89
  virtual std::optional<std::shared_ptr<HybridViewModelListPropertySpec>> listProperty(const std::string& path) = 0;
90
+ virtual std::optional<std::shared_ptr<HybridViewModelArtboardPropertySpec>> artboardProperty(const std::string& path) = 0;
91
+ virtual std::optional<std::shared_ptr<HybridViewModelInstanceSpec>> viewModel(const std::string& path) = 0;
92
+ virtual void replaceViewModel(const std::string& path, const std::shared_ptr<HybridViewModelInstanceSpec>& instance) = 0;
84
93
 
85
94
  protected:
86
95
  // Hybrid Setup
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelListPropertySpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridViewModelListPropertySpec.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelListPropertySpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelNumberPropertySpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridViewModelNumberPropertySpec.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelNumberPropertySpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelPropertySpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridViewModelPropertySpec.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelPropertySpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelSpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridViewModelSpec.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelSpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelStringPropertySpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridViewModelStringPropertySpec.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelStringPropertySpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelTriggerPropertySpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridViewModelTriggerPropertySpec.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridViewModelTriggerPropertySpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// ReferencedAssetsType.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// ResolvedReferencedAsset.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// RiveError.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// RiveErrorType.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// RiveEventType.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// UnifiedRiveEvent.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// HybridRiveViewComponent.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridRiveViewComponent.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridRiveViewComponent.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rive-app/react-native",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Rive React Native",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -189,5 +189,9 @@
189
189
  "languages": "kotlin-swift",
190
190
  "type": "nitro-module",
191
191
  "version": "0.50.2"
192
+ },
193
+ "resolutions": {
194
+ "core-js-compat": "^3.40.0",
195
+ "browserslist": "^4.24.4"
192
196
  }
193
197
  }
@@ -16,6 +16,12 @@ import type {
16
16
  export type { ReferencedAssets, ResolvedReferencedAssets };
17
17
  export type RiveFileInput = number | { uri: string } | string | ArrayBuffer;
18
18
 
19
+ function isUriInput(
20
+ input: RiveFileInput | undefined
21
+ ): input is { uri: string } {
22
+ return input != null && typeof input === 'object' && 'uri' in input;
23
+ }
24
+
19
25
  export type UseRiveFileOptions = {
20
26
  referencedAssets?: ReferencedAssets;
21
27
  };
@@ -101,12 +107,18 @@ export function useRiveFile(
101
107
  );
102
108
  const initialReferencedAssets = useRef(referencedAssets);
103
109
 
110
+ const inputKind = isUriInput(input) ? 'uri' : 'primitive';
111
+ const inputValue = isUriInput(input) ? input.uri : input;
112
+
104
113
  useEffect(() => {
105
114
  let currentFile: RiveFile | null = null;
106
115
 
107
116
  const loadRiveFile = async () => {
108
117
  try {
109
- const currentInput = input;
118
+ const currentInput =
119
+ inputKind === 'uri'
120
+ ? { uri: inputValue as string }
121
+ : (inputValue as Exclude<RiveFileInput, { uri: string }>);
110
122
 
111
123
  if (currentInput == null) {
112
124
  setResult({
@@ -164,7 +176,7 @@ export function useRiveFile(
164
176
  callDispose(currentFile);
165
177
  }
166
178
  };
167
- }, [input]);
179
+ }, [inputKind, inputValue]);
168
180
 
169
181
  const { riveFile } = result;
170
182
  useEffect(() => {
@@ -34,15 +34,7 @@ export function useRiveProperty<P extends ViewModelProperty, T>(
34
34
  Error | null,
35
35
  P | undefined,
36
36
  ] {
37
- const [value, setValue] = useState<T | undefined>(undefined);
38
- const [error, setError] = useState<Error | null>(null);
39
-
40
- // Clear error when path or instance changes
41
- useEffect(() => {
42
- setError(null);
43
- }, [path, viewModelInstance]);
44
-
45
- // Get the property
37
+ // Get the property first so we can read its initial value
46
38
  const property = useMemo(() => {
47
39
  if (!viewModelInstance) return;
48
40
  return options.getProperty(
@@ -51,6 +43,22 @@ export function useRiveProperty<P extends ViewModelProperty, T>(
51
43
  ) as unknown as ObservableViewModelProperty<T>;
52
44
  }, [options, viewModelInstance, path]);
53
45
 
46
+ // Initialize state with property's current value (if available)
47
+ const [value, setValue] = useState<T | undefined>(() => property?.value);
48
+ const [error, setError] = useState<Error | null>(null);
49
+
50
+ // Sync value when property reference changes (path or instance changed)
51
+ useEffect(() => {
52
+ if (property) {
53
+ setValue(property.value);
54
+ }
55
+ }, [property]);
56
+
57
+ // Clear error when path or instance changes
58
+ useEffect(() => {
59
+ setError(null);
60
+ }, [path, viewModelInstance]);
61
+
54
62
  // Set error if property is not found
55
63
  useEffect(() => {
56
64
  if (viewModelInstance && !property) {
package/src/index.tsx CHANGED
@@ -31,7 +31,9 @@ export type {
31
31
  ViewModelTriggerProperty,
32
32
  ViewModelImageProperty,
33
33
  ViewModelListProperty,
34
+ ViewModelArtboardProperty,
34
35
  } from './specs/ViewModel.nitro';
36
+ export type { BindableArtboard } from './specs/BindableArtboard.nitro';
35
37
  export { Fit } from './core/Fit';
36
38
  export { Alignment } from './core/Alignment';
37
39
  export { RiveFileFactory } from './core/RiveFile';
@@ -0,0 +1,14 @@
1
+ import type { HybridObject } from 'react-native-nitro-modules';
2
+
3
+ /**
4
+ * A bindable artboard that can be assigned to a {@link ViewModelArtboardProperty}.
5
+ * Created via {@link RiveFile.getBindableArtboard}.
6
+ *
7
+ * Used for data binding artboards - swapping artboard sources at runtime.
8
+ * @see {@link https://rive.app/docs/runtimes/data-binding Rive Data Binding Documentation}
9
+ */
10
+ export interface BindableArtboard
11
+ extends HybridObject<{ ios: 'swift'; android: 'kotlin' }> {
12
+ /** The name of the artboard */
13
+ readonly artboardName: string;
14
+ }
@@ -2,6 +2,7 @@ import type { HybridObject } from 'react-native-nitro-modules';
2
2
  import type { ViewModel } from './ViewModel.nitro';
3
3
  import type { ArtboardBy } from './ArtboardBy';
4
4
  import type { RiveImage } from './RiveImage.nitro';
5
+ import type { BindableArtboard } from './BindableArtboard.nitro';
5
6
 
6
7
  export type ResolvedReferencedAsset = {
7
8
  sourceUrl?: string;
@@ -30,6 +31,17 @@ export interface RiveFile
30
31
  /** Returns the default view model for the provided artboard */
31
32
  defaultArtboardViewModel(artboardBy?: ArtboardBy): ViewModel | undefined;
32
33
  updateReferencedAssets(referencedAssets: ReferencedAssetsType): void;
34
+
35
+ /** The number of artboards in the Rive file */
36
+ readonly artboardCount: number;
37
+ /** The names of all artboards in the Rive file */
38
+ readonly artboardNames: string[];
39
+ /**
40
+ * Get a bindable artboard by name for use with data binding.
41
+ * @throws Error if artboard with the given name is not found
42
+ * @see {@link https://rive.app/docs/runtimes/data-binding Rive Data Binding Documentation}
43
+ */
44
+ getBindableArtboard(name: string): BindableArtboard;
33
45
  }
34
46
 
35
47
  export interface RiveFileFactory
@@ -1,5 +1,6 @@
1
1
  import type { HybridObject } from 'react-native-nitro-modules';
2
2
  import type { RiveImage } from './RiveImage.nitro';
3
+ import type { BindableArtboard } from './BindableArtboard.nitro';
3
4
 
4
5
  /**
5
6
  * A Rive View Model as created in the Rive editor.
@@ -55,6 +56,22 @@ export interface ViewModelInstance
55
56
 
56
57
  /** Get a list property from the view model instance at the given path */
57
58
  listProperty(path: string): ViewModelListProperty | undefined;
59
+
60
+ /** Get an artboard property from the view model instance at the given path */
61
+ artboardProperty(path: string): ViewModelArtboardProperty | undefined;
62
+
63
+ /**
64
+ * Get a nested ViewModel instance at the given path.
65
+ * Supports path notation with "/" for nested access (e.g., "Parent/Child").
66
+ */
67
+ viewModel(path: string): ViewModelInstance | undefined;
68
+
69
+ /**
70
+ * Replace the ViewModel instance at the given path with a new instance.
71
+ * The replacement instance must be compatible with the expected ViewModel type.
72
+ * @throws Error if path not found or types incompatible
73
+ */
74
+ replaceViewModel(path: string, instance: ViewModelInstance): void;
58
75
  }
59
76
 
60
77
  export interface ViewModelProperty
@@ -152,3 +169,16 @@ export interface ViewModelListProperty
152
169
  /** Add a listener to be notified when the list changes. Returns a function to remove the listener. */
153
170
  addListener(onChanged: () => void): () => void;
154
171
  }
172
+
173
+ /**
174
+ * An artboard property that allows swapping artboards at runtime.
175
+ * This is a write-only property - artboards can be set but not read.
176
+ * @see {@link https://rive.app/docs/runtimes/data-binding Rive Data Binding Documentation}
177
+ */
178
+ export interface ViewModelArtboardProperty extends ViewModelProperty {
179
+ /**
180
+ * Set the artboard for this property.
181
+ * Pass undefined to clear the currently bound artboard.
182
+ */
183
+ set(artboard: BindableArtboard | undefined): void;
184
+ }