@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.
- package/android/src/main/java/com/margelo/nitro/rive/HybridBindableArtboard.kt +23 -0
- package/android/src/main/java/com/margelo/nitro/rive/HybridRiveFile.kt +12 -0
- package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelArtboardProperty.kt +16 -0
- package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelInstance.kt +13 -0
- package/ios/BaseHybridViewModelProperty.swift +1 -0
- package/ios/HybridBindableArtboard.swift +23 -0
- package/ios/HybridRiveFile.swift +19 -0
- package/ios/HybridViewModelArtboardProperty.swift +18 -0
- package/ios/HybridViewModelInstance.swift +22 -0
- package/lib/module/hooks/useRiveFile.js +9 -2
- package/lib/module/hooks/useRiveFile.js.map +1 -1
- package/lib/module/hooks/useRiveProperty.js +15 -7
- package/lib/module/hooks/useRiveProperty.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/specs/BindableArtboard.nitro.js +4 -0
- package/lib/module/specs/BindableArtboard.nitro.js.map +1 -0
- package/lib/typescript/src/hooks/useRiveFile.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRiveProperty.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/BindableArtboard.nitro.d.ts +16 -0
- package/lib/typescript/src/specs/BindableArtboard.nitro.d.ts.map +1 -0
- package/lib/typescript/src/specs/RiveFile.nitro.d.ts +11 -0
- package/lib/typescript/src/specs/RiveFile.nitro.d.ts.map +1 -1
- package/lib/typescript/src/specs/ViewModel.nitro.d.ts +26 -0
- package/lib/typescript/src/specs/ViewModel.nitro.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JAlignment.hpp +1 -1
- package/nitrogen/generated/android/c++/JArtboardBy.hpp +1 -1
- package/nitrogen/generated/android/c++/JArtboardByTypes.hpp +1 -1
- package/nitrogen/generated/android/c++/JDataBindByName.hpp +1 -1
- package/nitrogen/generated/android/c++/JDataBindMode.hpp +1 -1
- package/nitrogen/generated/android/c++/JEventPropertiesOutput.cpp +1 -1
- package/nitrogen/generated/android/c++/JEventPropertiesOutput.hpp +1 -1
- package/nitrogen/generated/android/c++/JFit.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_RiveError.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_UnifiedRiveEvent.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_double.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridBindableArtboardSpec.cpp +52 -0
- package/nitrogen/generated/android/c++/JHybridBindableArtboardSpec.hpp +65 -0
- package/nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.cpp +1 -1
- package/nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridRiveFileSpec.cpp +31 -2
- package/nitrogen/generated/android/c++/JHybridRiveFileSpec.hpp +4 -1
- package/nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.cpp +1 -1
- package/nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridRiveImageSpec.cpp +1 -1
- package/nitrogen/generated/android/c++/JHybridRiveImageSpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridRiveSpec.cpp +1 -1
- package/nitrogen/generated/android/c++/JHybridRiveSpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridRiveViewSpec.cpp +1 -1
- package/nitrogen/generated/android/c++/JHybridRiveViewSpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelArtboardPropertySpec.cpp +55 -0
- package/nitrogen/generated/android/c++/JHybridViewModelArtboardPropertySpec.hpp +66 -0
- package/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.cpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.cpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.cpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.cpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.cpp +23 -1
- package/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.hpp +4 -1
- package/nitrogen/generated/android/c++/JHybridViewModelListPropertySpec.cpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelListPropertySpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.cpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelPropertySpec.cpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelPropertySpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelSpec.cpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelSpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.cpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.cpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JReferencedAssetsType.hpp +1 -1
- package/nitrogen/generated/android/c++/JResolvedReferencedAsset.hpp +1 -1
- package/nitrogen/generated/android/c++/JRiveError.hpp +1 -1
- package/nitrogen/generated/android/c++/JRiveErrorType.hpp +1 -1
- package/nitrogen/generated/android/c++/JRiveEventType.hpp +1 -1
- package/nitrogen/generated/android/c++/JUnifiedRiveEvent.hpp +1 -1
- package/nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.cpp +1 -1
- package/nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.hpp +1 -1
- package/nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.cpp +1 -1
- package/nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.hpp +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Alignment.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ArtboardBy.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ArtboardByTypes.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/DataBindByName.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/DataBindMode.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/EventPropertiesOutput.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Fit.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_RiveError.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_UnifiedRiveEvent.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_bool.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_double.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_std__string.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridBindableArtboardSpec.kt +57 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFileFactorySpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFileSpec.kt +13 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveImageFactorySpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveImageSpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveSpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveViewSpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelArtboardPropertySpec.kt +57 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelBooleanPropertySpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelColorPropertySpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelEnumPropertySpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelImagePropertySpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelInstanceSpec.kt +13 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelListPropertySpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelNumberPropertySpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelPropertySpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelSpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelStringPropertySpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelTriggerPropertySpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ReferencedAssetsType.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ResolvedReferencedAsset.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveError.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveErrorType.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveEventType.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/UnifiedRiveEvent.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Variant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/riveOnLoad.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/views/HybridRiveViewManager.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/views/HybridRiveViewStateUpdater.kt +1 -1
- package/nitrogen/generated/android/rive+autolinking.cmake +5 -1
- package/nitrogen/generated/android/rive+autolinking.gradle +1 -1
- package/nitrogen/generated/android/riveOnLoad.cpp +5 -1
- package/nitrogen/generated/android/riveOnLoad.hpp +1 -1
- package/nitrogen/generated/ios/RNRive+autolinking.rb +1 -1
- package/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.cpp +35 -1
- package/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.hpp +98 -1
- package/nitrogen/generated/ios/RNRive-Swift-Cxx-Umbrella.hpp +12 -1
- package/nitrogen/generated/ios/RNRiveAutolinking.mm +1 -1
- package/nitrogen/generated/ios/RNRiveAutolinking.swift +1 -1
- package/nitrogen/generated/ios/c++/HybridBindableArtboardSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridBindableArtboardSpecSwift.hpp +72 -0
- package/nitrogen/generated/ios/c++/HybridRiveFileFactorySpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridRiveFileFactorySpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridRiveFileSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridRiveFileSpecSwift.hpp +21 -2
- package/nitrogen/generated/ios/c++/HybridRiveImageFactorySpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridRiveImageFactorySpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridRiveImageSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridRiveImageSpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridRiveSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridRiveSpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridRiveViewSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridRiveViewSpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelArtboardPropertySpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridViewModelArtboardPropertySpecSwift.hpp +81 -0
- package/nitrogen/generated/ios/c++/HybridViewModelBooleanPropertySpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelBooleanPropertySpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelColorPropertySpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelColorPropertySpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelEnumPropertySpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelEnumPropertySpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelImagePropertySpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelImagePropertySpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelInstanceSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelInstanceSpecSwift.hpp +29 -1
- package/nitrogen/generated/ios/c++/HybridViewModelListPropertySpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelListPropertySpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelNumberPropertySpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelNumberPropertySpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelPropertySpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelPropertySpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelSpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelStringPropertySpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelStringPropertySpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelTriggerPropertySpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridViewModelTriggerPropertySpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/views/HybridRiveViewComponent.mm +1 -1
- package/nitrogen/generated/ios/swift/Alignment.swift +1 -1
- package/nitrogen/generated/ios/swift/ArtboardBy.swift +1 -1
- package/nitrogen/generated/ios/swift/ArtboardByTypes.swift +1 -1
- package/nitrogen/generated/ios/swift/DataBindByName.swift +1 -1
- package/nitrogen/generated/ios/swift/DataBindMode.swift +1 -1
- package/nitrogen/generated/ios/swift/EventPropertiesOutput.swift +1 -1
- package/nitrogen/generated/ios/swift/Fit.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_RiveError.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_UnifiedRiveEvent.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_double.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridRiveFileSpec_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridRiveImageSpec_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__string.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridBindableArtboardSpec.swift +56 -0
- package/nitrogen/generated/ios/swift/HybridBindableArtboardSpec_cxx.swift +126 -0
- package/nitrogen/generated/ios/swift/HybridRiveFileFactorySpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridRiveFileFactorySpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridRiveFileSpec.swift +4 -1
- package/nitrogen/generated/ios/swift/HybridRiveFileSpec_cxx.swift +36 -1
- package/nitrogen/generated/ios/swift/HybridRiveImageFactorySpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridRiveImageFactorySpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridRiveImageSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridRiveImageSpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridRiveSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridRiveSpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridRiveViewSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridRiveViewSpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelArtboardPropertySpec.swift +56 -0
- package/nitrogen/generated/ios/swift/HybridViewModelArtboardPropertySpec_cxx.swift +144 -0
- package/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec.swift +4 -1
- package/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec_cxx.swift +58 -1
- package/nitrogen/generated/ios/swift/HybridViewModelListPropertySpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelListPropertySpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelPropertySpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelPropertySpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelSpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/ReferencedAssetsType.swift +1 -1
- package/nitrogen/generated/ios/swift/ResolvedReferencedAsset.swift +1 -1
- package/nitrogen/generated/ios/swift/RiveError.swift +1 -1
- package/nitrogen/generated/ios/swift/RiveErrorType.swift +1 -1
- package/nitrogen/generated/ios/swift/RiveEventType.swift +1 -1
- package/nitrogen/generated/ios/swift/UnifiedRiveEvent.swift +1 -1
- package/nitrogen/generated/ios/swift/Variant__any_HybridViewModelInstanceSpec__DataBindMode_DataBindByName.swift +1 -1
- package/nitrogen/generated/shared/c++/Alignment.hpp +1 -1
- package/nitrogen/generated/shared/c++/ArtboardBy.hpp +1 -1
- package/nitrogen/generated/shared/c++/ArtboardByTypes.hpp +1 -1
- package/nitrogen/generated/shared/c++/DataBindByName.hpp +1 -1
- package/nitrogen/generated/shared/c++/DataBindMode.hpp +1 -1
- package/nitrogen/generated/shared/c++/Fit.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridBindableArtboardSpec.cpp +21 -0
- package/nitrogen/generated/shared/c++/HybridBindableArtboardSpec.hpp +62 -0
- package/nitrogen/generated/shared/c++/HybridRiveFileFactorySpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridRiveFileFactorySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridRiveFileSpec.cpp +4 -1
- package/nitrogen/generated/shared/c++/HybridRiveFileSpec.hpp +9 -2
- package/nitrogen/generated/shared/c++/HybridRiveImageFactorySpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridRiveImageFactorySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridRiveImageSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridRiveImageSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridRiveSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridRiveSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridRiveViewSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridRiveViewSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelArtboardPropertySpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridViewModelArtboardPropertySpec.hpp +68 -0
- package/nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.cpp +4 -1
- package/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.hpp +10 -1
- package/nitrogen/generated/shared/c++/HybridViewModelListPropertySpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelListPropertySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelPropertySpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelPropertySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/ReferencedAssetsType.hpp +1 -1
- package/nitrogen/generated/shared/c++/ResolvedReferencedAsset.hpp +1 -1
- package/nitrogen/generated/shared/c++/RiveError.hpp +1 -1
- package/nitrogen/generated/shared/c++/RiveErrorType.hpp +1 -1
- package/nitrogen/generated/shared/c++/RiveEventType.hpp +1 -1
- package/nitrogen/generated/shared/c++/UnifiedRiveEvent.hpp +1 -1
- package/nitrogen/generated/shared/c++/views/HybridRiveViewComponent.cpp +1 -1
- package/nitrogen/generated/shared/c++/views/HybridRiveViewComponent.hpp +1 -1
- package/package.json +5 -1
- package/src/hooks/useRiveFile.ts +14 -2
- package/src/hooks/useRiveProperty.ts +17 -9
- package/src/index.tsx +2 -0
- package/src/specs/BindableArtboard.nitro.ts +14 -0
- package/src/specs/RiveFile.nitro.ts +12 -0
- 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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridViewModelBooleanPropertySpec.hpp"
|
|
@@ -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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridViewModelColorPropertySpec.hpp"
|
|
@@ -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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridViewModelEnumPropertySpec.hpp"
|
|
@@ -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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridViewModelImagePropertySpec.hpp"
|
|
@@ -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 ©
|
|
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 ©
|
|
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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridViewModelListPropertySpec.hpp"
|
|
@@ -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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridViewModelNumberPropertySpec.hpp"
|
|
@@ -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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridViewModelPropertySpec.hpp"
|
|
@@ -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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridViewModelSpec.hpp"
|
|
@@ -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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridViewModelStringPropertySpec.hpp"
|
|
@@ -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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridViewModelTriggerPropertySpec.hpp"
|
|
@@ -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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridRiveViewComponent.hpp"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rive-app/react-native",
|
|
3
|
-
"version": "0.1.
|
|
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
|
}
|
package/src/hooks/useRiveFile.ts
CHANGED
|
@@ -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 =
|
|
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
|
-
}, [
|
|
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
|
-
|
|
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
|
+
}
|