@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,90 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable no-bitwise */
4
+
5
+ /**
6
+ * Represents a color in RGBA format for use with Rive color data binding.
7
+ * Each channel (r, g, b, a) is represented as a number between 0-255.
8
+ */
9
+ export class RiveColor {
10
+ /**
11
+ * Creates a new RiveColor instance.
12
+ * @param r - Red channel (0-255)
13
+ * @param g - Green channel (0-255)
14
+ * @param b - Blue channel (0-255)
15
+ * @param a - Alpha channel (0-255, where 255 is fully opaque)
16
+ */
17
+ constructor(r, g, b, a) {
18
+ this.r = r;
19
+ this.g = g;
20
+ this.b = b;
21
+ this.a = a;
22
+ }
23
+
24
+ /**
25
+ * Compares this color with another RiveColor instance.
26
+ * @param other - The RiveColor to compare with
27
+ * @returns true if the colors are equal, false otherwise
28
+ */
29
+ equals(other) {
30
+ if (!other) return false;
31
+ return this.r === other.r && this.g === other.g && this.b === other.b && this.a === other.a;
32
+ }
33
+
34
+ /**
35
+ * Creates a RiveColor instance from a hex color string.
36
+ * Supports both 6-digit (#RRGGBB) and 8-digit (#RRGGBBAA) formats.
37
+ * @param color - Hex color string (e.g., '#FF0000' or '#FF000080')
38
+ * @returns A new RiveColor instance
39
+ * @throws Will return black (0,0,0,255) with a warning if the hex string is invalid
40
+ */
41
+ static fromHexString(color) {
42
+ const hex = color.replace(/^#/, '');
43
+ const isValidHex = /^[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$/.test(hex);
44
+ if (!isValidHex) {
45
+ console.warn(`Rive invalid hex color: ${color}`);
46
+ return new RiveColor(0, 0, 0, 255);
47
+ }
48
+ let r = parseInt(hex.slice(0, 2), 16),
49
+ g = parseInt(hex.slice(2, 4), 16),
50
+ b = parseInt(hex.slice(4, 6), 16),
51
+ a = 255;
52
+
53
+ // Optionally parse alpha channel if present
54
+ if (hex.length === 8) {
55
+ a = parseInt(hex.slice(6, 8), 16);
56
+ }
57
+ return new RiveColor(r, g, b, a);
58
+ }
59
+
60
+ /**
61
+ * Creates a RiveColor instance from a 32-bit integer.
62
+ * The integer should be in ARGB format where:
63
+ * - Bits 24-31: Alpha channel
64
+ * - Bits 16-23: Red channel
65
+ * - Bits 8-15: Green channel
66
+ * - Bits 0-7: Blue channel
67
+ * @param colorValue - 32-bit integer representing the color
68
+ * @returns A new RiveColor instance
69
+ */
70
+ static fromInt(colorValue) {
71
+ const a = colorValue >> 24 & 0xff;
72
+ const r = colorValue >> 16 & 0xff;
73
+ const g = colorValue >> 8 & 0xff;
74
+ const b = colorValue & 0xff;
75
+ return new RiveColor(r, g, b, a);
76
+ }
77
+
78
+ /**
79
+ * Converts this color to a 32-bit integer in ARGB format.
80
+ * @returns A 32-bit integer where:
81
+ * - Bits 24-31: Alpha channel
82
+ * - Bits 16-23: Red channel
83
+ * - Bits 8-15: Green channel
84
+ * - Bits 0-7: Blue channel
85
+ */
86
+ toInt() {
87
+ return (this.a & 0xff) << 24 | (this.r & 0xff) << 16 | (this.g & 0xff) << 8 | this.b & 0xff;
88
+ }
89
+ }
90
+ //# sourceMappingURL=RiveColor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RiveColor","constructor","r","g","b","a","equals","other","fromHexString","color","hex","replace","isValidHex","test","console","warn","parseInt","slice","length","fromInt","colorValue","toInt"],"sourceRoot":"../../../src","sources":["core/RiveColor.ts"],"mappings":";;AAAA;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMA,SAAS,CAAC;EACrB;AACF;AACA;AACA;AACA;AACA;AACA;EACEC,WAAWA,CACOC,CAAS,EACTC,CAAS,EACTC,CAAS,EACTC,CAAS,EACzB;IAAA,KAJgBH,CAAS,GAATA,CAAS;IAAA,KACTC,CAAS,GAATA,CAAS;IAAA,KACTC,CAAS,GAATA,CAAS;IAAA,KACTC,CAAS,GAATA,CAAS;EACxB;;EAEH;AACF;AACA;AACA;AACA;EACEC,MAAMA,CAACC,KAA4B,EAAW;IAC5C,IAAI,CAACA,KAAK,EAAE,OAAO,KAAK;IACxB,OACE,IAAI,CAACL,CAAC,KAAKK,KAAK,CAACL,CAAC,IAClB,IAAI,CAACC,CAAC,KAAKI,KAAK,CAACJ,CAAC,IAClB,IAAI,CAACC,CAAC,KAAKG,KAAK,CAACH,CAAC,IAClB,IAAI,CAACC,CAAC,KAAKE,KAAK,CAACF,CAAC;EAEtB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,OAAOG,aAAaA,CAACC,KAAa,EAAa;IAC7C,MAAMC,GAAG,GAAGD,KAAK,CAACE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;IAEnC,MAAMC,UAAU,GAAG,mCAAmC,CAACC,IAAI,CAACH,GAAG,CAAC;IAChE,IAAI,CAACE,UAAU,EAAE;MACfE,OAAO,CAACC,IAAI,CAAC,2BAA2BN,KAAK,EAAE,CAAC;MAChD,OAAO,IAAIT,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IACpC;IAEA,IAAIE,CAAC,GAAGc,QAAQ,CAACN,GAAG,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;MACnCd,CAAC,GAAGa,QAAQ,CAACN,GAAG,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;MACjCb,CAAC,GAAGY,QAAQ,CAACN,GAAG,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;MACjCZ,CAAC,GAAG,GAAG;;IAET;IACA,IAAIK,GAAG,CAACQ,MAAM,KAAK,CAAC,EAAE;MACpBb,CAAC,GAAGW,QAAQ,CAACN,GAAG,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IACnC;IAEA,OAAO,IAAIjB,SAAS,CAACE,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC;EAClC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOc,OAAOA,CAACC,UAAkB,EAAa;IAC5C,MAAMf,CAAC,GAAIe,UAAU,IAAI,EAAE,GAAI,IAAI;IACnC,MAAMlB,CAAC,GAAIkB,UAAU,IAAI,EAAE,GAAI,IAAI;IACnC,MAAMjB,CAAC,GAAIiB,UAAU,IAAI,CAAC,GAAI,IAAI;IAClC,MAAMhB,CAAC,GAAGgB,UAAU,GAAG,IAAI;IAC3B,OAAO,IAAIpB,SAAS,CAACE,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC;EAClC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEgB,KAAKA,CAAA,EAAW;IACd,OACG,CAAC,IAAI,CAAChB,CAAC,GAAG,IAAI,KAAK,EAAE,GACrB,CAAC,IAAI,CAACH,CAAC,GAAG,IAAI,KAAK,EAAG,GACtB,CAAC,IAAI,CAACC,CAAC,GAAG,IAAI,KAAK,CAAE,GACrB,IAAI,CAACC,CAAC,GAAG,IAAK;EAEnB;AACF","ignoreList":[]}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ import { NitroModules } from 'react-native-nitro-modules';
4
+ import { Image } from 'react-native';
5
+ const RiveFileInternal = NitroModules.createHybridObject('RiveFileFactory');
6
+
7
+ /**
8
+ * Factory namespace for creating RiveFile instances from different sources.
9
+ * Provides static methods to load Rive files from URLs, resources, or raw bytes.
10
+ */
11
+ export let RiveFileFactory;
12
+ (function (_RiveFileFactory) {
13
+ async function fromURL(url, referencedAssets, loadCdn = true) {
14
+ return RiveFileInternal.fromURL(url, loadCdn, referencedAssets ? {
15
+ data: referencedAssets
16
+ } : undefined);
17
+ }
18
+ _RiveFileFactory.fromURL = fromURL;
19
+ async function fromFileURL(fileURL, referencedAssets = undefined, loadCdn = true) {
20
+ return RiveFileInternal.fromFileURL(fileURL, loadCdn, referencedAssets ? {
21
+ data: referencedAssets
22
+ } : undefined);
23
+ }
24
+ _RiveFileFactory.fromFileURL = fromFileURL;
25
+ async function fromResource(resource, referencedAssets, loadCdn = true) {
26
+ return RiveFileInternal.fromResource(resource, loadCdn, referencedAssets ? {
27
+ data: referencedAssets
28
+ } : undefined);
29
+ }
30
+ _RiveFileFactory.fromResource = fromResource;
31
+ async function fromBytes(bytes, referencedAssets, loadCdn = true) {
32
+ return RiveFileInternal.fromBytes(bytes, loadCdn, referencedAssets ? {
33
+ data: referencedAssets
34
+ } : undefined);
35
+ }
36
+ _RiveFileFactory.fromBytes = fromBytes;
37
+ async function fromSource(source, referencedAssets, loadCdn = true) {
38
+ const assetID = typeof source === 'number' ? source : null;
39
+ const sourceURI = typeof source === 'object' ? source.uri : null;
40
+ const assetURI = assetID ? Image.resolveAssetSource(assetID)?.uri : sourceURI;
41
+ if (!assetURI) {
42
+ throw new Error(`Invalid source provided, ${source} is not a valid asset ID or URI`);
43
+ }
44
+ try {
45
+ // handle http address and dev server
46
+ if (assetURI.match(/https?:\/\//)) {
47
+ return RiveFileFactory.fromURL(assetURI, referencedAssets, loadCdn);
48
+ }
49
+
50
+ // handle iOS bundled asset
51
+ if (assetURI.match(/file:\/\//)) {
52
+ return RiveFileFactory.fromFileURL(assetURI, referencedAssets, loadCdn);
53
+ }
54
+
55
+ // handle Android bundled asset or resource name uri
56
+ return RiveFileFactory.fromResource(assetURI, referencedAssets, loadCdn);
57
+ } catch (error) {
58
+ const errorMessage = error instanceof Error ? error.message : String(error);
59
+ throw new Error(`Failed to load Rive file from source: ${errorMessage}`);
60
+ }
61
+ }
62
+ _RiveFileFactory.fromSource = fromSource;
63
+ })(RiveFileFactory || (RiveFileFactory = {}));
64
+ //# sourceMappingURL=RiveFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NitroModules","Image","RiveFileInternal","createHybridObject","RiveFileFactory","_RiveFileFactory","fromURL","url","referencedAssets","loadCdn","data","undefined","fromFileURL","fileURL","fromResource","resource","fromBytes","bytes","fromSource","source","assetID","sourceURI","uri","assetURI","resolveAssetSource","Error","match","error","errorMessage","message","String"],"sourceRoot":"../../../src","sources":["core/RiveFile.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ import { NitroModules } from 'react-native-nitro-modules';
4
+ export const RiveImages = NitroModules.createHybridObject('RiveImageFactory');
5
+ //# sourceMappingURL=RiveImages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NitroModules","RiveImages","createHybridObject"],"sourceRoot":"../../../src","sources":["core/RiveImages.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAGzD,OAAO,MAAMC,UAAU,GACrBD,YAAY,CAACE,kBAAkB,CAAmB,kBAAkB,CAAC","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ import { NitroRiveView } from "./NitroRiveViewComponent.js";
4
+ import { RiveErrorType } from "./Errors.js";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ const defaultOnError = error => console.error(`[${RiveErrorType[error.type]}] ${error.message}`);
7
+
8
+ /**
9
+ * RiveView is a React Native component that renders Rive graphics.
10
+ * It provides a seamless way to display and control Rive graphics in your app.
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * <RiveView
15
+ * file={riveFile}
16
+ * artboardName="New Artboard"
17
+ * stateMachineName="State Machine 1"
18
+ * autoPlay={true}
19
+ * fit={Fit.Contain}
20
+ * style={styles.riveContainer}
21
+ * />
22
+ * ```
23
+ *
24
+ * @property {RiveFile} file - The Rive file to be displayed
25
+ * @property {string} [artboardName] - Name of the artboard to display from the Rive file
26
+ * @property {string} [stateMachineName] - Name of the state machine to play
27
+ * @property {ViewModelInstance | DataBindMode | DataBindByName} [dataBind] - Data binding configuration for the state machine, defaults to DataBindMode.Auto
28
+ * @property {boolean} [autoPlay=true] - Whether to automatically start playing the state machine
29
+ * @property {Alignment} [alignment] - How the Rive graphic should be aligned within its container
30
+ * @property {Fit} [fit] - How the Rive graphic should fit within its container
31
+ * @property {Object} [style] - React Native style object for container customization
32
+ * @property {(error: RiveError) => void} [onError] - Callback function that is called when an error occurs
33
+ *
34
+ * The component also exposes methods for controlling playback:
35
+ * - play(): Starts playing the Rive graphic
36
+ * - pause(): Pauses the Rive graphic
37
+ */
38
+ export function RiveView(props) {
39
+ const {
40
+ onError,
41
+ ...rest
42
+ } = props;
43
+ const wrappedOnError = onError ?? defaultOnError;
44
+ return /*#__PURE__*/_jsx(NitroRiveView, {
45
+ ...rest,
46
+ onError: {
47
+ f: wrappedOnError
48
+ }
49
+ });
50
+ }
51
+ //# sourceMappingURL=RiveView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NitroRiveView","RiveErrorType","jsx","_jsx","defaultOnError","error","console","type","message","RiveView","props","onError","rest","wrappedOnError","f"],"sourceRoot":"../../../src","sources":["core/RiveView.tsx"],"mappings":";;AACA,SAASA,aAAa,QAAQ,6BAA0B;AACxD,SAASC,aAAa,QAAwB,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOzD,MAAMC,cAAc,GAAIC,KAAgB,IACtCC,OAAO,CAACD,KAAK,CAAC,IAAIJ,aAAa,CAACI,KAAK,CAACE,IAAI,CAAC,KAAKF,KAAK,CAACG,OAAO,EAAE,CAAC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,QAAQA,CAACC,KAAoB,EAAE;EAC7C,MAAM;IAAEC,OAAO;IAAE,GAAGC;EAAK,CAAC,GAAGF,KAAK;EAClC,MAAMG,cAAc,GAAGF,OAAO,IAAIP,cAAc;EAEhD,oBAAOD,IAAA,CAACH,aAAa;IAAA,GAAKY,IAAI;IAAED,OAAO,EAAE;MAAEG,CAAC,EAAED;IAAe;EAAE,CAAE,CAAC;AACpE","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ const NITRO_DISPOSE_ERROR = 'failed to define internal native state property';
4
+ /** Safely calls dispose(), ignoring errors from https://github.com/mrousavy/nitro/issues/1083 */
5
+ export function callDispose(obj) {
6
+ try {
7
+ obj.dispose();
8
+ } catch (error) {
9
+ const message = error instanceof Error ? error.message : String(error ?? '');
10
+ if (!message.includes(NITRO_DISPOSE_ERROR)) {
11
+ throw error;
12
+ }
13
+ }
14
+ }
15
+ //# sourceMappingURL=callDispose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NITRO_DISPOSE_ERROR","callDispose","obj","dispose","error","message","Error","String","includes"],"sourceRoot":"../../../src","sources":["core/callDispose.ts"],"mappings":";;AAAA,MAAMA,mBAAmB,GAAG,iDAAiD;AAM7E;AACA,OAAO,SAASC,WAAWA,CAACC,GAAe,EAAQ;EACjD,IAAI;IACFA,GAAG,CAACC,OAAO,CAAC,CAAC;EACf,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,MAAMC,OAAO,GACXD,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAACC,OAAO,GAAGE,MAAM,CAACH,KAAK,IAAI,EAAE,CAAC;IAC9D,IAAI,CAACC,OAAO,CAACG,QAAQ,CAACR,mBAAmB,CAAC,EAAE;MAC1C,MAAMI,KAAK;IACb;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ import { useRef, useCallback, useState } from 'react';
4
+ export function useRive() {
5
+ const riveRef = useRef(null);
6
+ const [riveViewRef, setRiveViewRef] = useState(null);
7
+ const timeoutRef = useRef(null);
8
+ const setRef = useCallback(node => {
9
+ if (riveRef.current !== node) {
10
+ riveRef.current = node;
11
+
12
+ // Clear any existing timeout
13
+ if (timeoutRef.current) {
14
+ clearTimeout(timeoutRef.current);
15
+ }
16
+ const timeout = new Promise((_, reject) => {
17
+ timeoutRef.current = setTimeout(() => {
18
+ reject(new Error('Rive view ready timeout'));
19
+ }, 5000);
20
+ });
21
+
22
+ // TODO: Need to clear out the awaitViewReady promise if it times out
23
+ // or add this timeout natively and return false
24
+ Promise.race([node?.awaitViewReady(), timeout]).then(result => {
25
+ if (result === true) {
26
+ setRiveViewRef(node);
27
+ } else {
28
+ console.warn('Rive view ready check returned false');
29
+ setRiveViewRef(null);
30
+ }
31
+ }).catch(error => {
32
+ console.warn('Failed to initialize Rive view:', error);
33
+ setRiveViewRef(null);
34
+ }).finally(() => {
35
+ // Clear the timeout in both success and error cases
36
+ if (timeoutRef.current) {
37
+ clearTimeout(timeoutRef.current);
38
+ timeoutRef.current = null;
39
+ }
40
+ });
41
+ }
42
+ }, []);
43
+ return {
44
+ riveRef,
45
+ riveViewRef,
46
+ setHybridRef: {
47
+ f: setRef
48
+ }
49
+ };
50
+ }
51
+ //# sourceMappingURL=useRive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useRef","useCallback","useState","useRive","riveRef","riveViewRef","setRiveViewRef","timeoutRef","setRef","node","current","clearTimeout","timeout","Promise","_","reject","setTimeout","Error","race","awaitViewReady","then","result","console","warn","catch","error","finally","setHybridRef","f"],"sourceRoot":"../../../src","sources":["hooks/useRive.ts"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,WAAW,EAAEC,QAAQ,QAAQ,OAAO;AAGrD,OAAO,SAASC,OAAOA,CAAA,EAAG;EACxB,MAAMC,OAAO,GAAGJ,MAAM,CAAc,IAAI,CAAC;EACzC,MAAM,CAACK,WAAW,EAAEC,cAAc,CAAC,GAAGJ,QAAQ,CAAqB,IAAI,CAAC;EACxE,MAAMK,UAAU,GAAGP,MAAM,CAAuC,IAAI,CAAC;EAErE,MAAMQ,MAAM,GAAGP,WAAW,CAAEQ,IAAwB,IAAK;IACvD,IAAIL,OAAO,CAACM,OAAO,KAAKD,IAAI,EAAE;MAC5BL,OAAO,CAACM,OAAO,GAAGD,IAAI;;MAEtB;MACA,IAAIF,UAAU,CAACG,OAAO,EAAE;QACtBC,YAAY,CAACJ,UAAU,CAACG,OAAO,CAAC;MAClC;MAEA,MAAME,OAAO,GAAG,IAAIC,OAAO,CAAC,CAACC,CAAC,EAAEC,MAAM,KAAK;QACzCR,UAAU,CAACG,OAAO,GAAGM,UAAU,CAAC,MAAM;UACpCD,MAAM,CAAC,IAAIE,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC9C,CAAC,EAAE,IAAI,CAAC;MACV,CAAC,CAAC;;MAEF;MACA;MACAJ,OAAO,CAACK,IAAI,CAAC,CAACT,IAAI,EAAEU,cAAc,CAAC,CAAC,EAAEP,OAAO,CAAC,CAAC,CAC5CQ,IAAI,CAAEC,MAAM,IAAK;QAChB,IAAIA,MAAM,KAAK,IAAI,EAAE;UACnBf,cAAc,CAACG,IAAI,CAAC;QACtB,CAAC,MAAM;UACLa,OAAO,CAACC,IAAI,CAAC,sCAAsC,CAAC;UACpDjB,cAAc,CAAC,IAAI,CAAC;QACtB;MACF,CAAC,CAAC,CACDkB,KAAK,CAAEC,KAAK,IAAK;QAChBH,OAAO,CAACC,IAAI,CAAC,iCAAiC,EAAEE,KAAK,CAAC;QACtDnB,cAAc,CAAC,IAAI,CAAC;MACtB,CAAC,CAAC,CACDoB,OAAO,CAAC,MAAM;QACb;QACA,IAAInB,UAAU,CAACG,OAAO,EAAE;UACtBC,YAAY,CAACJ,UAAU,CAACG,OAAO,CAAC;UAChCH,UAAU,CAACG,OAAO,GAAG,IAAI;QAC3B;MACF,CAAC,CAAC;IACN;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IACLN,OAAO;IACPC,WAAW;IACXsB,YAAY,EAAE;MACZC,CAAC,EAAEpB;IACL;EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ import { useRiveProperty } from "./useRiveProperty.js";
4
+ const BOOLEAN_PROPERTY_OPTIONS = {
5
+ getProperty: (vmi, p) => vmi.booleanProperty(p)
6
+ };
7
+
8
+ /**
9
+ * Hook for interacting with boolean ViewModel instance properties.
10
+ *
11
+ * @param path - The path to the boolean property
12
+ * @param viewModelInstance - The ViewModelInstance containing the boolean property to operate on
13
+ * @returns An object with the boolean value, a setter function, and an error if the property is not found
14
+ */
15
+ export function useRiveBoolean(path, viewModelInstance) {
16
+ const [value, setValue, error] = useRiveProperty(viewModelInstance, path, BOOLEAN_PROPERTY_OPTIONS);
17
+ return {
18
+ value,
19
+ setValue,
20
+ error
21
+ };
22
+ }
23
+ //# sourceMappingURL=useRiveBoolean.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useRiveProperty","BOOLEAN_PROPERTY_OPTIONS","getProperty","vmi","p","booleanProperty","useRiveBoolean","path","viewModelInstance","value","setValue","error"],"sourceRoot":"../../../src","sources":["hooks/useRiveBoolean.ts"],"mappings":";;AAKA,SAASA,eAAe,QAAQ,sBAAmB;AAEnD,MAAMC,wBAAwB,GAAG;EAC/BC,WAAW,EAAEA,CAACC,GAAsB,EAAEC,CAAS,KAAKD,GAAG,CAACE,eAAe,CAACD,CAAC;AAC3E,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,cAAcA,CAC5BC,IAAY,EACZC,iBAA4C,EACZ;EAChC,MAAM,CAACC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,CAAC,GAAGX,eAAe,CAG9CQ,iBAAiB,EAAED,IAAI,EAAEN,wBAAwB,CAAC;EACpD,OAAO;IAAEQ,KAAK;IAAEC,QAAQ;IAAEC;EAAM,CAAC;AACnC","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ import { useCallback } from 'react';
4
+ import { useRiveProperty } from "./useRiveProperty.js";
5
+ import { RiveColor } from "../core/RiveColor.js";
6
+ const COLOR_PROPERTY_OPTIONS = {
7
+ getProperty: (vmi, p) => vmi.colorProperty(p)
8
+ };
9
+
10
+ /**
11
+ * Hook for interacting with color ViewModel instance properties.
12
+ *
13
+ * @param path - The path to the color property
14
+ * @param viewModelInstance - The ViewModelInstance containing the color property to operate on
15
+ * @returns An object with the color value as RGBA, a setter function that accepts either RGBA or hex string, and an error if the property is not found
16
+ */
17
+ export function useRiveColor(path, viewModelInstance) {
18
+ const [rawValue, setRawValue, error] = useRiveProperty(viewModelInstance, path, COLOR_PROPERTY_OPTIONS);
19
+ const value = rawValue !== undefined ? RiveColor.fromInt(rawValue) : undefined;
20
+ const setValue = useCallback(newValue => {
21
+ const color = typeof newValue === 'string' ? RiveColor.fromHexString(newValue) : newValue;
22
+ setRawValue(color.toInt());
23
+ }, [setRawValue]);
24
+ return {
25
+ value,
26
+ setValue,
27
+ error
28
+ };
29
+ }
30
+ //# sourceMappingURL=useRiveColor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useRiveProperty","RiveColor","COLOR_PROPERTY_OPTIONS","getProperty","vmi","p","colorProperty","useRiveColor","path","viewModelInstance","rawValue","setRawValue","error","value","undefined","fromInt","setValue","newValue","color","fromHexString","toInt"],"sourceRoot":"../../../src","sources":["hooks/useRiveColor.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AAMnC,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,SAAS,QAAQ,sBAAmB;AAE7C,MAAMC,sBAAsB,GAAG;EAC7BC,WAAW,EAAEA,CAACC,GAAsB,EAAEC,CAAS,KAAKD,GAAG,CAACE,aAAa,CAACD,CAAC;AACzE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,YAAYA,CAC1BC,IAAY,EACZC,iBAA4C,EAG5C;EACA,MAAM,CAACC,QAAQ,EAAEC,WAAW,EAAEC,KAAK,CAAC,GAAGZ,eAAe,CAGpDS,iBAAiB,EAAED,IAAI,EAAEN,sBAAsB,CAAC;EAElD,MAAMW,KAAK,GACTH,QAAQ,KAAKI,SAAS,GAAGb,SAAS,CAACc,OAAO,CAACL,QAAQ,CAAC,GAAGI,SAAS;EAElE,MAAME,QAAQ,GAAGjB,WAAW,CACzBkB,QAA4B,IAAK;IAChC,MAAMC,KAAK,GACT,OAAOD,QAAQ,KAAK,QAAQ,GACxBhB,SAAS,CAACkB,aAAa,CAACF,QAAQ,CAAC,GACjCA,QAAQ;IACdN,WAAW,CAACO,KAAK,CAACE,KAAK,CAAC,CAAC,CAAC;EAC5B,CAAC,EACD,CAACT,WAAW,CACd,CAAC;EAED,OAAO;IAAEE,KAAK;IAAEG,QAAQ;IAAEJ;EAAM,CAAC;AACnC","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ import { useCallback } from 'react';
4
+ import { useRiveProperty } from "./useRiveProperty.js";
5
+
6
+ /**
7
+ * Hook for interacting with enum ViewModel instance properties.
8
+ *
9
+ * @param path - The path to the enum property
10
+ * @param viewModelInstance - The ViewModelInstance containing the enum property to operate on
11
+ * @returns An object with the enum value, a setter function, and an error if the property is not found
12
+ */
13
+ export function useRiveEnum(path, viewModelInstance) {
14
+ const [value, setValue, error] = useRiveProperty(viewModelInstance, path, {
15
+ getProperty: useCallback((vmi, p) => vmi.enumProperty(p), [])
16
+ });
17
+ return {
18
+ value,
19
+ setValue,
20
+ error
21
+ };
22
+ }
23
+ //# sourceMappingURL=useRiveEnum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useRiveProperty","useRiveEnum","path","viewModelInstance","value","setValue","error","getProperty","vmi","p","enumProperty"],"sourceRoot":"../../../src","sources":["hooks/useRiveEnum.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AAMnC,SAASC,eAAe,QAAQ,sBAAmB;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CACzBC,IAAY,EACZC,iBAA4C,EACb;EAC/B,MAAM,CAACC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,CAAC,GAAGN,eAAe,CAG9CG,iBAAiB,EAAED,IAAI,EAAE;IACzBK,WAAW,EAAER,WAAW,CAAC,CAACS,GAAG,EAAEC,CAAC,KAAKD,GAAG,CAACE,YAAY,CAACD,CAAC,CAAC,EAAE,EAAE;EAC9D,CAAC,CAAC;EACF,OAAO;IAAEL,KAAK;IAAEC,QAAQ;IAAEC;EAAM,CAAC;AACnC","ignoreList":[]}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+
3
+ import { useState, useEffect, useMemo, useRef } from 'react';
4
+ import { Image } from 'react-native';
5
+ import { RiveFileFactory } from "../core/RiveFile.js";
6
+ import { callDispose } from "../core/callDispose.js";
7
+ function isRiveImage(value) {
8
+ return value !== null && typeof value === 'object' && '__type' in value && value.__type === 'HybridObject<RiveImage>';
9
+ }
10
+ function parsePossibleSources(asset) {
11
+ if (isRiveImage(asset)) {
12
+ return {
13
+ image: asset
14
+ };
15
+ }
16
+ const source = asset.source;
17
+ if (typeof source === 'number') {
18
+ const resolvedAsset = Image.resolveAssetSource(source);
19
+ if (resolvedAsset && resolvedAsset.uri) {
20
+ return {
21
+ sourceAssetId: resolvedAsset.uri
22
+ };
23
+ } else {
24
+ throw new Error('Invalid asset source provided.');
25
+ }
26
+ }
27
+ const uri = source.uri;
28
+ if (typeof source === 'object' && uri) {
29
+ return {
30
+ sourceUrl: uri
31
+ };
32
+ }
33
+ const fileName = source.fileName;
34
+ const path = source.path;
35
+ if (typeof source === 'object' && fileName) {
36
+ const result = {
37
+ sourceAsset: fileName
38
+ };
39
+ if (path) {
40
+ result.path = path;
41
+ }
42
+ return result;
43
+ }
44
+ throw new Error('Invalid source provided.');
45
+ }
46
+ function transformFilesHandledMapping(mapping) {
47
+ const transformedMapping = {};
48
+ if (mapping === undefined) {
49
+ return undefined;
50
+ }
51
+ Object.entries(mapping).forEach(([key, asset]) => {
52
+ transformedMapping[key] = parsePossibleSources(asset);
53
+ });
54
+ return transformedMapping;
55
+ }
56
+ export function useRiveFile(input, options = {}) {
57
+ const [result, setResult] = useState({
58
+ riveFile: null,
59
+ isLoading: true,
60
+ error: null
61
+ });
62
+ const referencedAssets = useMemo(() => transformFilesHandledMapping(options.referencedAssets), [options.referencedAssets]);
63
+ const initialReferencedAssets = useRef(referencedAssets);
64
+ useEffect(() => {
65
+ let currentFile = null;
66
+ const loadRiveFile = async () => {
67
+ try {
68
+ const currentInput = input;
69
+ if (currentInput == null) {
70
+ setResult({
71
+ riveFile: null,
72
+ isLoading: false,
73
+ error: 'No Rive file input provided.'
74
+ });
75
+ return;
76
+ }
77
+ if (typeof currentInput === 'string') {
78
+ if (currentInput.startsWith('http://') || currentInput.startsWith('https://')) {
79
+ currentFile = await RiveFileFactory.fromURL(currentInput, initialReferencedAssets.current);
80
+ } else {
81
+ currentFile = await RiveFileFactory.fromResource(currentInput, initialReferencedAssets.current);
82
+ }
83
+ } else if (typeof currentInput === 'number' || 'uri' in currentInput) {
84
+ currentFile = await RiveFileFactory.fromSource(currentInput, initialReferencedAssets.current);
85
+ } else if (currentInput instanceof ArrayBuffer) {
86
+ currentFile = await RiveFileFactory.fromBytes(currentInput, initialReferencedAssets.current);
87
+ }
88
+ setResult({
89
+ riveFile: currentFile,
90
+ isLoading: false,
91
+ error: null
92
+ });
93
+ } catch (err) {
94
+ console.error(err);
95
+ setResult({
96
+ riveFile: null,
97
+ isLoading: false,
98
+ error: err instanceof Error ? err.message || 'Unknown error' : 'Failed to load Rive file'
99
+ });
100
+ }
101
+ };
102
+ loadRiveFile();
103
+ return () => {
104
+ if (currentFile) {
105
+ callDispose(currentFile);
106
+ }
107
+ };
108
+ }, [input]);
109
+ const {
110
+ riveFile
111
+ } = result;
112
+ useEffect(() => {
113
+ if (initialReferencedAssets.current !== referencedAssets) {
114
+ if (riveFile && referencedAssets) {
115
+ riveFile.updateReferencedAssets({
116
+ data: referencedAssets
117
+ });
118
+ initialReferencedAssets.current = referencedAssets;
119
+ }
120
+ }
121
+ }, [referencedAssets, riveFile]);
122
+ return {
123
+ riveFile: result.riveFile,
124
+ isLoading: result.isLoading,
125
+ error: result.error
126
+ };
127
+ }
128
+ //# sourceMappingURL=useRiveFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","useEffect","useMemo","useRef","Image","RiveFileFactory","callDispose","isRiveImage","value","__type","parsePossibleSources","asset","image","source","resolvedAsset","resolveAssetSource","uri","sourceAssetId","Error","sourceUrl","fileName","path","result","sourceAsset","transformFilesHandledMapping","mapping","transformedMapping","undefined","Object","entries","forEach","key","useRiveFile","input","options","setResult","riveFile","isLoading","error","referencedAssets","initialReferencedAssets","currentFile","loadRiveFile","currentInput","startsWith","fromURL","current","fromResource","fromSource","ArrayBuffer","fromBytes","err","console","message","updateReferencedAssets","data"],"sourceRoot":"../../../src","sources":["hooks/useRiveFile.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ import { useRiveProperty } from "./useRiveProperty.js";
4
+ const NUMBER_PROPERTY_OPTIONS = {
5
+ getProperty: (vmi, p) => vmi.numberProperty(p)
6
+ };
7
+
8
+ /**
9
+ * Hook for interacting with number ViewModel instance properties.
10
+ *
11
+ * @param path - The path to the number property
12
+ * @param viewModelInstance - The ViewModelInstance containing the number property to operate on
13
+ * @returns An object with the number value, a setter function, and an error if the property is not found
14
+ */
15
+ export function useRiveNumber(path, viewModelInstance) {
16
+ const [value, setValue, error] = useRiveProperty(viewModelInstance, path, NUMBER_PROPERTY_OPTIONS);
17
+ return {
18
+ value,
19
+ setValue,
20
+ error
21
+ };
22
+ }
23
+ //# sourceMappingURL=useRiveNumber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useRiveProperty","NUMBER_PROPERTY_OPTIONS","getProperty","vmi","p","numberProperty","useRiveNumber","path","viewModelInstance","value","setValue","error"],"sourceRoot":"../../../src","sources":["hooks/useRiveNumber.ts"],"mappings":";;AAKA,SAASA,eAAe,QAAQ,sBAAmB;AAEnD,MAAMC,uBAAuB,GAAG;EAC9BC,WAAW,EAAEA,CAACC,GAAsB,EAAEC,CAAS,KAAKD,GAAG,CAACE,cAAc,CAACD,CAAC;AAC1E,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,aAAaA,CAC3BC,IAAY,EACZC,iBAA4C,EACb;EAC/B,MAAM,CAACC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,CAAC,GAAGX,eAAe,CAG9CQ,iBAAiB,EAAED,IAAI,EAAEN,uBAAuB,CAAC;EACnD,OAAO;IAAEQ,KAAK;IAAEC,QAAQ;IAAEC;EAAM,CAAC;AACnC","ignoreList":[]}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useEffect, useState, useMemo } from 'react';
4
+ /**
5
+ * Base hook for all ViewModelInstance property interactions.
6
+ * This hook provides a unified interface for working with different types of
7
+ * Rive properties (boolean, number, string, enum, trigger) while maintaining
8
+ * type safety and proper cleanup.
9
+ *
10
+ * @template P - The type of the property (e.g., ViewModelBooleanProperty, ViewModelNumberProperty)
11
+ * @template T - The primitive type of the property value (number, boolean, string)
12
+ *
13
+ * @param viewModelInstance - The source ViewModelInstance
14
+ * @param path - Property path in the ViewModelInstance
15
+ * @param options - Configuration for working with the property
16
+ * @returns A tuple containing [value, setter, error, property]
17
+ */
18
+ export function useRiveProperty(viewModelInstance, path, options) {
19
+ const [value, setValue] = useState(undefined);
20
+ const [error, setError] = useState(null);
21
+
22
+ // Clear error when path or instance changes
23
+ useEffect(() => {
24
+ setError(null);
25
+ }, [path, viewModelInstance]);
26
+
27
+ // Get the property
28
+ const property = useMemo(() => {
29
+ if (!viewModelInstance) return;
30
+ return options.getProperty(viewModelInstance, path);
31
+ }, [options, viewModelInstance, path]);
32
+
33
+ // Set error if property is not found
34
+ useEffect(() => {
35
+ if (viewModelInstance && !property) {
36
+ setError(new Error(`Property "${path}" not found in the ViewModel instance`));
37
+ }
38
+ }, [viewModelInstance, property, path]);
39
+
40
+ // Add listener for changes to the property
41
+ useEffect(() => {
42
+ if (!property) return;
43
+
44
+ // If an override callback is provided, use it.
45
+ // Otherwise, use the default callback.
46
+ if (options.onPropertyEventOverride) {
47
+ property.addListener(options.onPropertyEventOverride);
48
+ } else {
49
+ property.addListener(newValue => {
50
+ setValue(newValue);
51
+ });
52
+ }
53
+
54
+ // Cleanup: Remove listeners and dispose of the property
55
+ // This ensures proper cleanup of event listeners and resources
56
+ return () => {
57
+ property.removeListeners();
58
+ property.dispose();
59
+ };
60
+ }, [options, property]);
61
+
62
+ // Set the value of the property
63
+ const setPropertyValue = useCallback(newValue => {
64
+ if (!property) {
65
+ setError(new Error(`Cannot set value for property "${path}" because it was not found. Your view model instance may be undefined, or the path may be incorrect.`));
66
+ } else {
67
+ property.value = newValue;
68
+ }
69
+ }, [property, path]);
70
+ return [value, setPropertyValue, error, property];
71
+ }
72
+
73
+ /**
74
+ * This interface extends the ViewModelProperty and ObservableProperty interfaces.
75
+ * It adds the addListener and value as known properties.
76
+ *
77
+ * @template T - The primitive type of the property value (number, boolean, string)
78
+ */
79
+ //# sourceMappingURL=useRiveProperty.js.map