@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.
- package/LICENSE +20 -0
- package/README.md +257 -0
- package/RNRive.podspec +53 -0
- package/android/CMakeLists.txt +24 -0
- package/android/build.gradle +155 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +13 -0
- package/android/src/main/cpp/cpp-adapter.cpp +6 -0
- package/android/src/main/java/com/margelo/nitro/rive/BaseHybridViewModelProperty.kt +20 -0
- package/android/src/main/java/com/margelo/nitro/rive/BaseHybridViewModelPropertyImpl.kt +50 -0
- package/android/src/main/java/com/margelo/nitro/rive/BytesDataLoader.kt +9 -0
- package/android/src/main/java/com/margelo/nitro/rive/DataLoader.kt +15 -0
- package/android/src/main/java/com/margelo/nitro/rive/DataSource.kt +38 -0
- package/android/src/main/java/com/margelo/nitro/rive/DataSourceResolver.kt +36 -0
- package/android/src/main/java/com/margelo/nitro/rive/EventPropertiesOutputExtensions.kt +12 -0
- package/android/src/main/java/com/margelo/nitro/rive/FileDataLoader.kt +21 -0
- package/android/src/main/java/com/margelo/nitro/rive/HTTPDataLoader.kt +37 -0
- package/android/src/main/java/com/margelo/nitro/rive/HybridRiveFile.kt +98 -0
- package/android/src/main/java/com/margelo/nitro/rive/HybridRiveFileFactory.kt +123 -0
- package/android/src/main/java/com/margelo/nitro/rive/HybridRiveImage.kt +15 -0
- package/android/src/main/java/com/margelo/nitro/rive/HybridRiveImageFactory.kt +23 -0
- package/android/src/main/java/com/margelo/nitro/rive/HybridRiveView.kt +279 -0
- package/android/src/main/java/com/margelo/nitro/rive/HybridViewModel.kt +53 -0
- package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelBooleanProperty.kt +22 -0
- package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelColorProperty.kt +22 -0
- package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelEnumProperty.kt +22 -0
- package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelImageProperty.kt +21 -0
- package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelInstance.kt +76 -0
- package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelNumberProperty.kt +23 -0
- package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelStringProperty.kt +22 -0
- package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelTriggerProperty.kt +21 -0
- package/android/src/main/java/com/margelo/nitro/rive/ReferencedAssetLoader.kt +108 -0
- package/android/src/main/java/com/margelo/nitro/rive/ResourceDataLoader.kt +44 -0
- package/android/src/main/java/com/margelo/nitro/rive/Rive.kt +12 -0
- package/android/src/main/java/com/rive/RivePackage.kt +29 -0
- package/android/src/main/java/com/rive/RiveReactNativeView.kt +433 -0
- package/android/src/main/java/com/rive/RiveViewManager.kt +11 -0
- package/ios/BaseHybridViewModelProperty.swift +118 -0
- package/ios/BundleDataLoader.swift +25 -0
- package/ios/BytesDataLoader.swift +10 -0
- package/ios/DataLoader.swift +28 -0
- package/ios/DataSource.swift +43 -0
- package/ios/DataSourceResolver.swift +55 -0
- package/ios/EventPropertiesOutputExtensions.swift +15 -0
- package/ios/FileDataLoader.swift +24 -0
- package/ios/HTTPDataLoader.swift +31 -0
- package/ios/HybridRiveFile.swift +113 -0
- package/ios/HybridRiveFileFactory.swift +163 -0
- package/ios/HybridRiveImage.swift +17 -0
- package/ios/HybridRiveImageFactory.swift +26 -0
- package/ios/HybridRiveView.swift +284 -0
- package/ios/HybridViewModel.swift +46 -0
- package/ios/HybridViewModelBooleanProperty.swift +29 -0
- package/ios/HybridViewModelColorProperty.swift +63 -0
- package/ios/HybridViewModelEnumProperty.swift +29 -0
- package/ios/HybridViewModelImageProperty.swift +31 -0
- package/ios/HybridViewModelInstance.swift +51 -0
- package/ios/HybridViewModelNumberProperty.swift +35 -0
- package/ios/HybridViewModelStringProperty.swift +29 -0
- package/ios/HybridViewModelTriggerProperty.swift +30 -0
- package/ios/RCTLog.swift +29 -0
- package/ios/RCTSwiftLog.h +11 -0
- package/ios/RCTSwiftLog.m +38 -0
- package/ios/ReferencedAssetLoader.swift +145 -0
- package/ios/Rive.swift +5 -0
- package/ios/RiveReactNativeView.swift +325 -0
- package/ios/Utils.swift +15 -0
- package/lib/module/core/Alignment.js +42 -0
- package/lib/module/core/Alignment.js.map +1 -0
- package/lib/module/core/Errors.js +13 -0
- package/lib/module/core/Errors.js.map +1 -0
- package/lib/module/core/Events.js +8 -0
- package/lib/module/core/Events.js.map +1 -0
- package/lib/module/core/Fit.js +51 -0
- package/lib/module/core/Fit.js.map +1 -0
- package/lib/module/core/NitroRiveViewComponent.js +6 -0
- package/lib/module/core/NitroRiveViewComponent.js.map +1 -0
- package/lib/module/core/ReferencedAssets.js +4 -0
- package/lib/module/core/ReferencedAssets.js.map +1 -0
- package/lib/module/core/RiveColor.js +90 -0
- package/lib/module/core/RiveColor.js.map +1 -0
- package/lib/module/core/RiveFile.js +64 -0
- package/lib/module/core/RiveFile.js.map +1 -0
- package/lib/module/core/RiveImages.js +5 -0
- package/lib/module/core/RiveImages.js.map +1 -0
- package/lib/module/core/RiveView.js +51 -0
- package/lib/module/core/RiveView.js.map +1 -0
- package/lib/module/core/callDispose.js +15 -0
- package/lib/module/core/callDispose.js.map +1 -0
- package/lib/module/hooks/useRive.js +51 -0
- package/lib/module/hooks/useRive.js.map +1 -0
- package/lib/module/hooks/useRiveBoolean.js +23 -0
- package/lib/module/hooks/useRiveBoolean.js.map +1 -0
- package/lib/module/hooks/useRiveColor.js +30 -0
- package/lib/module/hooks/useRiveColor.js.map +1 -0
- package/lib/module/hooks/useRiveEnum.js +23 -0
- package/lib/module/hooks/useRiveEnum.js.map +1 -0
- package/lib/module/hooks/useRiveFile.js +128 -0
- package/lib/module/hooks/useRiveFile.js.map +1 -0
- package/lib/module/hooks/useRiveNumber.js +23 -0
- package/lib/module/hooks/useRiveNumber.js.map +1 -0
- package/lib/module/hooks/useRiveProperty.js +79 -0
- package/lib/module/hooks/useRiveProperty.js.map +1 -0
- package/lib/module/hooks/useRiveString.js +23 -0
- package/lib/module/hooks/useRiveString.js.map +1 -0
- package/lib/module/hooks/useRiveTrigger.js +33 -0
- package/lib/module/hooks/useRiveTrigger.js.map +1 -0
- package/lib/module/index.js +28 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/specs/ArtboardBy.js +27 -0
- package/lib/module/specs/ArtboardBy.js.map +1 -0
- package/lib/module/specs/Rive.nitro.js +4 -0
- package/lib/module/specs/Rive.nitro.js.map +1 -0
- package/lib/module/specs/RiveFile.nitro.js +4 -0
- package/lib/module/specs/RiveFile.nitro.js.map +1 -0
- package/lib/module/specs/RiveImage.nitro.js +4 -0
- package/lib/module/specs/RiveImage.nitro.js.map +1 -0
- package/lib/module/specs/RiveView.nitro.js +23 -0
- package/lib/module/specs/RiveView.nitro.js.map +1 -0
- package/lib/module/specs/ViewModel.nitro.js +4 -0
- package/lib/module/specs/ViewModel.nitro.js.map +1 -0
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -0
- package/lib/nitrogen/generated/shared/json/RiveViewConfig.json +18 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/core/Alignment.d.ts +39 -0
- package/lib/typescript/src/core/Alignment.d.ts.map +1 -0
- package/lib/typescript/src/core/Errors.d.ts +14 -0
- package/lib/typescript/src/core/Errors.d.ts.map +1 -0
- package/lib/typescript/src/core/Events.d.ts +26 -0
- package/lib/typescript/src/core/Events.d.ts.map +1 -0
- package/lib/typescript/src/core/Fit.d.ts +48 -0
- package/lib/typescript/src/core/Fit.d.ts.map +1 -0
- package/lib/typescript/src/core/NitroRiveViewComponent.d.ts +4 -0
- package/lib/typescript/src/core/NitroRiveViewComponent.d.ts.map +1 -0
- package/lib/typescript/src/core/ReferencedAssets.d.ts +15 -0
- package/lib/typescript/src/core/ReferencedAssets.d.ts.map +1 -0
- package/lib/typescript/src/core/RiveColor.d.ts +53 -0
- package/lib/typescript/src/core/RiveColor.d.ts.map +1 -0
- package/lib/typescript/src/core/RiveFile.d.ts +62 -0
- package/lib/typescript/src/core/RiveFile.d.ts.map +1 -0
- package/lib/typescript/src/core/RiveImages.d.ts +3 -0
- package/lib/typescript/src/core/RiveImages.d.ts.map +1 -0
- package/lib/typescript/src/core/RiveView.d.ts +38 -0
- package/lib/typescript/src/core/RiveView.d.ts.map +1 -0
- package/lib/typescript/src/core/callDispose.d.ts +7 -0
- package/lib/typescript/src/core/callDispose.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useRive.d.ts +9 -0
- package/lib/typescript/src/hooks/useRive.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useRiveBoolean.d.ts +11 -0
- package/lib/typescript/src/hooks/useRiveBoolean.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useRiveColor.d.ts +14 -0
- package/lib/typescript/src/hooks/useRiveColor.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useRiveEnum.d.ts +11 -0
- package/lib/typescript/src/hooks/useRiveEnum.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useRiveFile.d.ts +24 -0
- package/lib/typescript/src/hooks/useRiveFile.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useRiveNumber.d.ts +11 -0
- package/lib/typescript/src/hooks/useRiveNumber.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useRiveProperty.d.ts +22 -0
- package/lib/typescript/src/hooks/useRiveProperty.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useRiveString.d.ts +11 -0
- package/lib/typescript/src/hooks/useRiveString.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useRiveTrigger.d.ts +11 -0
- package/lib/typescript/src/hooks/useRiveTrigger.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +32 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/specs/ArtboardBy.d.ts +20 -0
- package/lib/typescript/src/specs/ArtboardBy.d.ts.map +1 -0
- package/lib/typescript/src/specs/Rive.nitro.d.ts +8 -0
- package/lib/typescript/src/specs/Rive.nitro.d.ts.map +1 -0
- package/lib/typescript/src/specs/RiveFile.nitro.d.ts +42 -0
- package/lib/typescript/src/specs/RiveFile.nitro.d.ts.map +1 -0
- package/lib/typescript/src/specs/RiveImage.nitro.d.ts +43 -0
- package/lib/typescript/src/specs/RiveImage.nitro.d.ts.map +1 -0
- package/lib/typescript/src/specs/RiveView.nitro.d.ts +139 -0
- package/lib/typescript/src/specs/RiveView.nitro.d.ts.map +1 -0
- package/lib/typescript/src/specs/ViewModel.nitro.d.ts +103 -0
- package/lib/typescript/src/specs/ViewModel.nitro.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +33 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/nitrogen/generated/android/c++/JAlignment.hpp +80 -0
- package/nitrogen/generated/android/c++/JArtboardBy.hpp +68 -0
- package/nitrogen/generated/android/c++/JArtboardByTypes.hpp +59 -0
- package/nitrogen/generated/android/c++/JDataBindByName.hpp +57 -0
- package/nitrogen/generated/android/c++/JDataBindMode.hpp +59 -0
- package/nitrogen/generated/android/c++/JEventPropertiesOutput.cpp +30 -0
- package/nitrogen/generated/android/c++/JEventPropertiesOutput.hpp +83 -0
- package/nitrogen/generated/android/c++/JFit.hpp +77 -0
- package/nitrogen/generated/android/c++/JFunc_void.hpp +75 -0
- package/nitrogen/generated/android/c++/JFunc_void_RiveError.hpp +80 -0
- package/nitrogen/generated/android/c++/JFunc_void_UnifiedRiveEvent.hpp +84 -0
- package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +75 -0
- package/nitrogen/generated/android/c++/JFunc_void_double.hpp +75 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +76 -0
- package/nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.cpp +134 -0
- package/nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.hpp +68 -0
- package/nitrogen/generated/android/c++/JHybridRiveFileSpec.cpp +96 -0
- package/nitrogen/generated/android/c++/JHybridRiveFileSpec.hpp +68 -0
- package/nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.cpp +104 -0
- package/nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.hpp +67 -0
- package/nitrogen/generated/android/c++/JHybridRiveImageSpec.cpp +52 -0
- package/nitrogen/generated/android/c++/JHybridRiveImageSpec.hpp +65 -0
- package/nitrogen/generated/android/c++/JHybridRiveSpec.cpp +52 -0
- package/nitrogen/generated/android/c++/JHybridRiveSpec.hpp +65 -0
- package/nitrogen/generated/android/c++/JHybridRiveViewSpec.cpp +299 -0
- package/nitrogen/generated/android/c++/JHybridRiveViewSpec.hpp +97 -0
- package/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.cpp +65 -0
- package/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.hpp +68 -0
- package/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.cpp +65 -0
- package/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.hpp +68 -0
- package/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.cpp +66 -0
- package/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.hpp +68 -0
- package/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.cpp +66 -0
- package/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.hpp +68 -0
- package/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.cpp +115 -0
- package/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.hpp +71 -0
- package/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.cpp +65 -0
- package/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.hpp +68 -0
- package/nitrogen/generated/android/c++/JHybridViewModelPropertySpec.cpp +48 -0
- package/nitrogen/generated/android/c++/JHybridViewModelPropertySpec.hpp +65 -0
- package/nitrogen/generated/android/c++/JHybridViewModelSpec.cpp +86 -0
- package/nitrogen/generated/android/c++/JHybridViewModelSpec.hpp +70 -0
- package/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.cpp +66 -0
- package/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.hpp +68 -0
- package/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.cpp +61 -0
- package/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.hpp +68 -0
- package/nitrogen/generated/android/c++/JReferencedAssetsType.hpp +77 -0
- package/nitrogen/generated/android/c++/JResolvedReferencedAsset.hpp +77 -0
- package/nitrogen/generated/android/c++/JRiveError.hpp +63 -0
- package/nitrogen/generated/android/c++/JRiveErrorType.hpp +74 -0
- package/nitrogen/generated/android/c++/JRiveEventType.hpp +59 -0
- package/nitrogen/generated/android/c++/JUnifiedRiveEvent.hpp +96 -0
- package/nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.cpp +30 -0
- package/nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.hpp +90 -0
- package/nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.cpp +88 -0
- package/nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.hpp +49 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Alignment.kt +28 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ArtboardBy.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ArtboardByTypes.kt +21 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/DataBindByName.kt +38 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/DataBindMode.kt +21 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/EventPropertiesOutput.kt +72 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Fit.kt +27 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_RiveError.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_UnifiedRiveEvent.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_bool.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_double.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_std__string.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFileFactorySpec.kt +71 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFileSpec.kt +71 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveImageFactorySpec.kt +67 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveImageSpec.kt +57 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveSpec.kt +57 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveViewSpec.kt +183 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelBooleanPropertySpec.kt +70 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelColorPropertySpec.kt +70 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelEnumPropertySpec.kt +70 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelImagePropertySpec.kt +70 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelInstanceSpec.kt +83 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelNumberPropertySpec.kt +70 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelPropertySpec.kt +55 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelSpec.kt +79 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelStringPropertySpec.kt +70 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelTriggerPropertySpec.kt +70 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ReferencedAssetsType.kt +38 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ResolvedReferencedAsset.kt +50 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveError.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveErrorType.kt +26 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveEventType.kt +21 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/UnifiedRiveEvent.kt +53 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Variant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.kt +72 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/riveOnLoad.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/views/HybridRiveViewManager.kt +50 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/views/HybridRiveViewStateUpdater.kt +23 -0
- package/nitrogen/generated/android/rive+autolinking.cmake +115 -0
- package/nitrogen/generated/android/rive+autolinking.gradle +27 -0
- package/nitrogen/generated/android/riveOnLoad.cpp +192 -0
- package/nitrogen/generated/android/riveOnLoad.hpp +25 -0
- package/nitrogen/generated/ios/RNRive+autolinking.rb +60 -0
- package/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.cpp +360 -0
- package/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.hpp +1180 -0
- package/nitrogen/generated/ios/RNRive-Swift-Cxx-Umbrella.hpp +161 -0
- package/nitrogen/generated/ios/RNRiveAutolinking.mm +137 -0
- package/nitrogen/generated/ios/RNRiveAutolinking.swift +220 -0
- package/nitrogen/generated/ios/c++/HybridRiveFileFactorySpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridRiveFileFactorySpecSwift.hpp +119 -0
- package/nitrogen/generated/ios/c++/HybridRiveFileSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridRiveFileSpecSwift.hpp +121 -0
- package/nitrogen/generated/ios/c++/HybridRiveImageFactorySpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridRiveImageFactorySpecSwift.hpp +100 -0
- package/nitrogen/generated/ios/c++/HybridRiveImageSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridRiveImageSpecSwift.hpp +71 -0
- package/nitrogen/generated/ios/c++/HybridRiveSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridRiveSpecSwift.hpp +76 -0
- package/nitrogen/generated/ios/c++/HybridRiveViewSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridRiveViewSpecSwift.hpp +277 -0
- package/nitrogen/generated/ios/c++/HybridViewModelBooleanPropertySpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridViewModelBooleanPropertySpecSwift.hpp +88 -0
- package/nitrogen/generated/ios/c++/HybridViewModelColorPropertySpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridViewModelColorPropertySpecSwift.hpp +88 -0
- package/nitrogen/generated/ios/c++/HybridViewModelEnumPropertySpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridViewModelEnumPropertySpecSwift.hpp +90 -0
- package/nitrogen/generated/ios/c++/HybridViewModelImagePropertySpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridViewModelImagePropertySpecSwift.hpp +94 -0
- package/nitrogen/generated/ios/c++/HybridViewModelInstanceSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridViewModelInstanceSpecSwift.hpp +149 -0
- package/nitrogen/generated/ios/c++/HybridViewModelNumberPropertySpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridViewModelNumberPropertySpecSwift.hpp +88 -0
- package/nitrogen/generated/ios/c++/HybridViewModelPropertySpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridViewModelPropertySpecSwift.hpp +69 -0
- package/nitrogen/generated/ios/c++/HybridViewModelSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridViewModelSpecSwift.hpp +113 -0
- package/nitrogen/generated/ios/c++/HybridViewModelStringPropertySpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridViewModelStringPropertySpecSwift.hpp +90 -0
- package/nitrogen/generated/ios/c++/HybridViewModelTriggerPropertySpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridViewModelTriggerPropertySpecSwift.hpp +89 -0
- package/nitrogen/generated/ios/c++/views/HybridRiveViewComponent.mm +136 -0
- package/nitrogen/generated/ios/swift/Alignment.swift +68 -0
- package/nitrogen/generated/ios/swift/ArtboardBy.swift +89 -0
- package/nitrogen/generated/ios/swift/ArtboardByTypes.swift +40 -0
- package/nitrogen/generated/ios/swift/DataBindByName.swift +36 -0
- package/nitrogen/generated/ios/swift/DataBindMode.swift +40 -0
- package/nitrogen/generated/ios/swift/EventPropertiesOutput.swift +19 -0
- package/nitrogen/generated/ios/swift/Fit.swift +64 -0
- package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_RiveError.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_UnifiedRiveEvent.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_double.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridRiveFileSpec_.swift +51 -0
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridRiveImageSpec_.swift +51 -0
- package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
- package/nitrogen/generated/ios/swift/HybridRiveFileFactorySpec.swift +59 -0
- package/nitrogen/generated/ios/swift/HybridRiveFileFactorySpec_cxx.swift +207 -0
- package/nitrogen/generated/ios/swift/HybridRiveFileSpec.swift +59 -0
- package/nitrogen/generated/ios/swift/HybridRiveFileSpec_cxx.swift +204 -0
- package/nitrogen/generated/ios/swift/HybridRiveImageFactorySpec.swift +58 -0
- package/nitrogen/generated/ios/swift/HybridRiveImageFactorySpec_cxx.swift +185 -0
- package/nitrogen/generated/ios/swift/HybridRiveImageSpec.swift +56 -0
- package/nitrogen/generated/ios/swift/HybridRiveImageSpec_cxx.swift +126 -0
- package/nitrogen/generated/ios/swift/HybridRiveSpec.swift +56 -0
- package/nitrogen/generated/ios/swift/HybridRiveSpec_cxx.swift +131 -0
- package/nitrogen/generated/ios/swift/HybridRiveViewSpec.swift +79 -0
- package/nitrogen/generated/ios/swift/HybridRiveViewSpec_cxx.swift +623 -0
- package/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec.swift +57 -0
- package/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec_cxx.swift +158 -0
- package/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec.swift +57 -0
- package/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec_cxx.swift +158 -0
- package/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec.swift +57 -0
- package/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec_cxx.swift +158 -0
- package/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec.swift +58 -0
- package/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec_cxx.swift +171 -0
- package/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec.swift +62 -0
- package/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec_cxx.swift +271 -0
- package/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec.swift +57 -0
- package/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec_cxx.swift +158 -0
- package/nitrogen/generated/ios/swift/HybridViewModelPropertySpec.swift +56 -0
- package/nitrogen/generated/ios/swift/HybridViewModelPropertySpec_cxx.swift +121 -0
- package/nitrogen/generated/ios/swift/HybridViewModelSpec.swift +61 -0
- package/nitrogen/generated/ios/swift/HybridViewModelSpec_cxx.swift +222 -0
- package/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec.swift +57 -0
- package/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec_cxx.swift +158 -0
- package/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec.swift +58 -0
- package/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec_cxx.swift +160 -0
- package/nitrogen/generated/ios/swift/ReferencedAssetsType.swift +75 -0
- package/nitrogen/generated/ios/swift/ResolvedReferencedAsset.swift +185 -0
- package/nitrogen/generated/ios/swift/RiveError.swift +47 -0
- package/nitrogen/generated/ios/swift/RiveErrorType.swift +60 -0
- package/nitrogen/generated/ios/swift/RiveEventType.swift +40 -0
- package/nitrogen/generated/ios/swift/UnifiedRiveEvent.swift +213 -0
- package/nitrogen/generated/ios/swift/Variant__any_HybridViewModelInstanceSpec__DataBindMode_DataBindByName.swift +19 -0
- package/nitrogen/generated/shared/c++/Alignment.hpp +104 -0
- package/nitrogen/generated/shared/c++/ArtboardBy.hpp +86 -0
- package/nitrogen/generated/shared/c++/ArtboardByTypes.hpp +76 -0
- package/nitrogen/generated/shared/c++/DataBindByName.hpp +75 -0
- package/nitrogen/generated/shared/c++/DataBindMode.hpp +62 -0
- package/nitrogen/generated/shared/c++/Fit.hpp +68 -0
- package/nitrogen/generated/shared/c++/HybridRiveFileFactorySpec.cpp +24 -0
- package/nitrogen/generated/shared/c++/HybridRiveFileFactorySpec.hpp +74 -0
- package/nitrogen/generated/shared/c++/HybridRiveFileSpec.cpp +25 -0
- package/nitrogen/generated/shared/c++/HybridRiveFileSpec.hpp +75 -0
- package/nitrogen/generated/shared/c++/HybridRiveImageFactorySpec.cpp +23 -0
- package/nitrogen/generated/shared/c++/HybridRiveImageFactorySpec.hpp +69 -0
- package/nitrogen/generated/shared/c++/HybridRiveImageSpec.cpp +21 -0
- package/nitrogen/generated/shared/c++/HybridRiveImageSpec.hpp +62 -0
- package/nitrogen/generated/shared/c++/HybridRiveSpec.cpp +21 -0
- package/nitrogen/generated/shared/c++/HybridRiveSpec.hpp +62 -0
- package/nitrogen/generated/shared/c++/HybridRiveViewSpec.cpp +54 -0
- package/nitrogen/generated/shared/c++/HybridRiveViewSpec.hpp +122 -0
- package/nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.cpp +25 -0
- package/nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.hpp +67 -0
- package/nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.cpp +25 -0
- package/nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.hpp +67 -0
- package/nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.cpp +25 -0
- package/nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.hpp +68 -0
- package/nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.cpp +24 -0
- package/nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.hpp +71 -0
- package/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.cpp +28 -0
- package/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.hpp +90 -0
- package/nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.cpp +25 -0
- package/nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.hpp +67 -0
- package/nitrogen/generated/shared/c++/HybridViewModelPropertySpec.cpp +21 -0
- package/nitrogen/generated/shared/c++/HybridViewModelPropertySpec.hpp +62 -0
- package/nitrogen/generated/shared/c++/HybridViewModelSpec.cpp +27 -0
- package/nitrogen/generated/shared/c++/HybridViewModelSpec.hpp +71 -0
- package/nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.cpp +25 -0
- package/nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.hpp +68 -0
- package/nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.cpp +24 -0
- package/nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.hpp +67 -0
- package/nitrogen/generated/shared/c++/ReferencedAssetsType.hpp +79 -0
- package/nitrogen/generated/shared/c++/ResolvedReferencedAsset.hpp +95 -0
- package/nitrogen/generated/shared/c++/RiveError.hpp +81 -0
- package/nitrogen/generated/shared/c++/RiveErrorType.hpp +75 -0
- package/nitrogen/generated/shared/c++/RiveEventType.hpp +62 -0
- package/nitrogen/generated/shared/c++/UnifiedRiveEvent.hpp +100 -0
- package/nitrogen/generated/shared/c++/views/HybridRiveViewComponent.cpp +183 -0
- package/nitrogen/generated/shared/c++/views/HybridRiveViewComponent.hpp +124 -0
- package/nitrogen/generated/shared/json/RiveViewConfig.json +18 -0
- package/package.json +193 -0
- package/src/core/Alignment.ts +46 -0
- package/src/core/Errors.ts +14 -0
- package/src/core/Events.ts +31 -0
- package/src/core/Fit.ts +54 -0
- package/src/core/NitroRiveViewComponent.ts +18 -0
- package/src/core/ReferencedAssets.ts +14 -0
- package/src/core/RiveColor.ts +100 -0
- package/src/core/RiveFile.ts +149 -0
- package/src/core/RiveImages.ts +5 -0
- package/src/core/RiveView.tsx +48 -0
- package/src/core/callDispose.ts +18 -0
- package/src/hooks/useRive.ts +56 -0
- package/src/hooks/useRiveBoolean.ts +28 -0
- package/src/hooks/useRiveColor.ts +47 -0
- package/src/hooks/useRiveEnum.ts +27 -0
- package/src/hooks/useRiveFile.ts +184 -0
- package/src/hooks/useRiveNumber.ts +28 -0
- package/src/hooks/useRiveProperty.ts +110 -0
- package/src/hooks/useRiveString.ts +28 -0
- package/src/hooks/useRiveTrigger.ts +49 -0
- package/src/index.tsx +52 -0
- package/src/specs/ArtboardBy.ts +31 -0
- package/src/specs/Rive.nitro.ts +6 -0
- package/src/specs/RiveFile.nitro.ts +57 -0
- package/src/specs/RiveImage.nitro.ts +42 -0
- package/src/specs/RiveView.nitro.ts +149 -0
- package/src/specs/ViewModel.nitro.ts +126 -0
- package/src/types.tsx +34 -0
package/package.json
ADDED
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@rive-app/react-native",
|
|
3
|
+
"version": "0.1.1-beta.0",
|
|
4
|
+
"description": "Rive React Native",
|
|
5
|
+
"main": "./lib/module/index.js",
|
|
6
|
+
"types": "./lib/typescript/src/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"source": "./src/index.tsx",
|
|
10
|
+
"types": "./lib/typescript/src/index.d.ts",
|
|
11
|
+
"default": "./lib/module/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./package.json": "./package.json"
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"src",
|
|
17
|
+
"lib",
|
|
18
|
+
"android",
|
|
19
|
+
"ios",
|
|
20
|
+
"cpp",
|
|
21
|
+
"nitrogen",
|
|
22
|
+
"*.podspec",
|
|
23
|
+
"react-native.config.js",
|
|
24
|
+
"!ios/build",
|
|
25
|
+
"!android/build",
|
|
26
|
+
"!android/gradle",
|
|
27
|
+
"!android/gradlew",
|
|
28
|
+
"!android/gradlew.bat",
|
|
29
|
+
"!android/local.properties",
|
|
30
|
+
"!**/__tests__",
|
|
31
|
+
"!**/__fixtures__",
|
|
32
|
+
"!**/__mocks__",
|
|
33
|
+
"!**/.*"
|
|
34
|
+
],
|
|
35
|
+
"scripts": {
|
|
36
|
+
"example": "yarn workspace react-native-rive-example",
|
|
37
|
+
"test": "jest",
|
|
38
|
+
"typecheck": "tsc",
|
|
39
|
+
"lint": "eslint \"**/*.{js,ts,tsx}\"",
|
|
40
|
+
"clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
|
|
41
|
+
"prepare": "npx react-native-builder-bob@^0.40.0 build",
|
|
42
|
+
"nitrogen": "nitrogen",
|
|
43
|
+
"release": "release-it",
|
|
44
|
+
"dev:ios": "cd example && xed ios",
|
|
45
|
+
"dev:android": "cd example && open -a \"/Applications/Android Studio.app\" ./android",
|
|
46
|
+
"copy:nitrogen-config": "mkdir -p lib/nitrogen/generated/shared/json && cp nitrogen/generated/shared/json/RiveViewConfig.json lib/nitrogen/generated/shared/json/",
|
|
47
|
+
"lint:swift": "./scripts/lint-swift.sh",
|
|
48
|
+
"lint:kotlin": "./scripts/lint-kotlin.sh",
|
|
49
|
+
"lint:native": "yarn lint:swift && yarn lint:kotlin"
|
|
50
|
+
},
|
|
51
|
+
"keywords": [
|
|
52
|
+
"react-native",
|
|
53
|
+
"ios",
|
|
54
|
+
"android"
|
|
55
|
+
],
|
|
56
|
+
"repository": {
|
|
57
|
+
"type": "git",
|
|
58
|
+
"url": "git+https://github.com/rive-app/rive-nitro-react-native.git"
|
|
59
|
+
},
|
|
60
|
+
"author": "Rive <support@rive.app> (https://rive.app)",
|
|
61
|
+
"license": "MIT",
|
|
62
|
+
"bugs": {
|
|
63
|
+
"url": "https://github.com/rive-app/rive-nitro-react-native/issues"
|
|
64
|
+
},
|
|
65
|
+
"homepage": "https://github.com/rive-app/rive-nitro-react-native#readme",
|
|
66
|
+
"runtimeVersions": {
|
|
67
|
+
"ios": "6.12.0",
|
|
68
|
+
"android": "10.5.0"
|
|
69
|
+
},
|
|
70
|
+
"publishConfig": {
|
|
71
|
+
"registry": "https://registry.npmjs.org/"
|
|
72
|
+
},
|
|
73
|
+
"devDependencies": {
|
|
74
|
+
"@commitlint/config-conventional": "^19.6.0",
|
|
75
|
+
"@eslint/compat": "^1.2.7",
|
|
76
|
+
"@eslint/eslintrc": "^3.3.0",
|
|
77
|
+
"@eslint/js": "^9.22.0",
|
|
78
|
+
"@react-native/babel-preset": "0.79.2",
|
|
79
|
+
"@react-native/eslint-config": "^0.78.0",
|
|
80
|
+
"@release-it/conventional-changelog": "^9.0.2",
|
|
81
|
+
"@testing-library/react-hooks": "^8.0.1",
|
|
82
|
+
"@testing-library/react-native": "^13.3.3",
|
|
83
|
+
"@types/jest": "^29.5.5",
|
|
84
|
+
"@types/react": "^19.0.0",
|
|
85
|
+
"@typescript-eslint/eslint-plugin": "^8.46.4",
|
|
86
|
+
"@typescript-eslint/parser": "^8.46.4",
|
|
87
|
+
"commitlint": "^19.6.1",
|
|
88
|
+
"del-cli": "^5.1.0",
|
|
89
|
+
"eslint": "^9.22.0",
|
|
90
|
+
"eslint-config-prettier": "^10.1.1",
|
|
91
|
+
"eslint-plugin-jest": "^29.1.0",
|
|
92
|
+
"eslint-plugin-prettier": "^5.2.3",
|
|
93
|
+
"jest": "^29.7.0",
|
|
94
|
+
"nitrogen": "0.31.10",
|
|
95
|
+
"prettier": "^3.0.3",
|
|
96
|
+
"react": "19.0.0",
|
|
97
|
+
"react-native": "0.79.2",
|
|
98
|
+
"react-native-builder-bob": "^0.40.10",
|
|
99
|
+
"react-native-nitro-modules": "0.31.10",
|
|
100
|
+
"react-test-renderer": "19.0.0",
|
|
101
|
+
"release-it": "^17.10.0",
|
|
102
|
+
"turbo": "^1.10.7",
|
|
103
|
+
"typescript": "^5.2.2"
|
|
104
|
+
},
|
|
105
|
+
"peerDependencies": {
|
|
106
|
+
"react": "*",
|
|
107
|
+
"react-native": "*",
|
|
108
|
+
"react-native-nitro-modules": ">=0.31.8"
|
|
109
|
+
},
|
|
110
|
+
"workspaces": [
|
|
111
|
+
"example",
|
|
112
|
+
"expo-example"
|
|
113
|
+
],
|
|
114
|
+
"packageManager": "yarn@3.6.1",
|
|
115
|
+
"jest": {
|
|
116
|
+
"preset": "react-native",
|
|
117
|
+
"setupFilesAfterEnv": [
|
|
118
|
+
"<rootDir>/jest-setup.js"
|
|
119
|
+
],
|
|
120
|
+
"testMatch": [
|
|
121
|
+
"<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}",
|
|
122
|
+
"<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"
|
|
123
|
+
],
|
|
124
|
+
"modulePathIgnorePatterns": [
|
|
125
|
+
"<rootDir>/example/node_modules",
|
|
126
|
+
"<rootDir>/lib/"
|
|
127
|
+
],
|
|
128
|
+
"moduleNameMapper": {
|
|
129
|
+
"^../nitrogen/generated/shared/json/RiveViewConfig\\.json$": "<rootDir>/jest-setup.js"
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
"commitlint": {
|
|
133
|
+
"extends": [
|
|
134
|
+
"@commitlint/config-conventional"
|
|
135
|
+
]
|
|
136
|
+
},
|
|
137
|
+
"release-it": {
|
|
138
|
+
"git": {
|
|
139
|
+
"commitMessage": "chore: release ${version}",
|
|
140
|
+
"tagName": "v${version}"
|
|
141
|
+
},
|
|
142
|
+
"npm": {
|
|
143
|
+
"publish": true
|
|
144
|
+
},
|
|
145
|
+
"github": {
|
|
146
|
+
"release": true
|
|
147
|
+
},
|
|
148
|
+
"plugins": {
|
|
149
|
+
"@release-it/conventional-changelog": {
|
|
150
|
+
"preset": {
|
|
151
|
+
"name": "angular"
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
"prettier": {
|
|
157
|
+
"quoteProps": "consistent",
|
|
158
|
+
"singleQuote": true,
|
|
159
|
+
"tabWidth": 2,
|
|
160
|
+
"trailingComma": "es5",
|
|
161
|
+
"useTabs": false
|
|
162
|
+
},
|
|
163
|
+
"react-native-builder-bob": {
|
|
164
|
+
"source": "src",
|
|
165
|
+
"output": "lib",
|
|
166
|
+
"targets": [
|
|
167
|
+
[
|
|
168
|
+
"module",
|
|
169
|
+
{
|
|
170
|
+
"esm": true
|
|
171
|
+
}
|
|
172
|
+
],
|
|
173
|
+
[
|
|
174
|
+
"typescript",
|
|
175
|
+
{
|
|
176
|
+
"project": "tsconfig.build.json"
|
|
177
|
+
}
|
|
178
|
+
],
|
|
179
|
+
[
|
|
180
|
+
"custom",
|
|
181
|
+
{
|
|
182
|
+
"script": "copy:nitrogen-config",
|
|
183
|
+
"clean": "lib/nitrogen"
|
|
184
|
+
}
|
|
185
|
+
]
|
|
186
|
+
]
|
|
187
|
+
},
|
|
188
|
+
"create-react-native-library": {
|
|
189
|
+
"languages": "kotlin-swift",
|
|
190
|
+
"type": "nitro-module",
|
|
191
|
+
"version": "0.50.2"
|
|
192
|
+
}
|
|
193
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export enum Alignment {
|
|
2
|
+
/**
|
|
3
|
+
* Aligns content to the top-left corner of the container
|
|
4
|
+
*/
|
|
5
|
+
TopLeft = 'topLeft',
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Centers content horizontally at the top of the container
|
|
9
|
+
*/
|
|
10
|
+
TopCenter = 'topCenter',
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Aligns content to the top-right corner of the container
|
|
14
|
+
*/
|
|
15
|
+
TopRight = 'topRight',
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Centers content vertically on the left side of the container
|
|
19
|
+
*/
|
|
20
|
+
CenterLeft = 'centerLeft',
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Centers content both horizontally and vertically in the container
|
|
24
|
+
*/
|
|
25
|
+
Center = 'center',
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Centers content vertically on the right side of the container
|
|
29
|
+
*/
|
|
30
|
+
CenterRight = 'centerRight',
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Aligns content to the bottom-left corner of the container
|
|
34
|
+
*/
|
|
35
|
+
BottomLeft = 'bottomLeft',
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Centers content horizontally at the bottom of the container
|
|
39
|
+
*/
|
|
40
|
+
BottomCenter = 'bottomCenter',
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Aligns content to the bottom-right corner of the container
|
|
44
|
+
*/
|
|
45
|
+
BottomRight = 'bottomRight',
|
|
46
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export enum RiveErrorType {
|
|
2
|
+
Unknown = 0,
|
|
3
|
+
FileNotFound = 1,
|
|
4
|
+
MalformedFile = 2,
|
|
5
|
+
IncorrectArtboardName = 3,
|
|
6
|
+
IncorrectStateMachineName = 4,
|
|
7
|
+
ViewModelInstanceNotFound = 6,
|
|
8
|
+
IncorrectStateMachineInputName = 8,
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface RiveError {
|
|
12
|
+
message: string;
|
|
13
|
+
type: RiveErrorType;
|
|
14
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export enum RiveEventType {
|
|
2
|
+
General,
|
|
3
|
+
OpenUrl,
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export type EventPropertiesOutput = number | boolean | string;
|
|
7
|
+
|
|
8
|
+
export interface UnifiedRiveEvent {
|
|
9
|
+
name: string;
|
|
10
|
+
type: RiveEventType;
|
|
11
|
+
delay?: number;
|
|
12
|
+
properties?: Record<string, EventPropertiesOutput>;
|
|
13
|
+
url?: string;
|
|
14
|
+
target?: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export type RiveEvent = {
|
|
18
|
+
name: string;
|
|
19
|
+
delay?: number;
|
|
20
|
+
properties?: Record<string, EventPropertiesOutput>;
|
|
21
|
+
type: RiveEventType;
|
|
22
|
+
} & (
|
|
23
|
+
| {
|
|
24
|
+
type: RiveEventType.General;
|
|
25
|
+
}
|
|
26
|
+
| {
|
|
27
|
+
type: RiveEventType.OpenUrl;
|
|
28
|
+
url?: string;
|
|
29
|
+
target?: string;
|
|
30
|
+
}
|
|
31
|
+
);
|
package/src/core/Fit.ts
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export enum Fit {
|
|
2
|
+
/**
|
|
3
|
+
* Rive content will fill the available view. If the aspect ratios differ,
|
|
4
|
+
* then the Rive content will be stretched.
|
|
5
|
+
*/
|
|
6
|
+
Fill,
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Rive content will be contained within the view, preserving the aspect
|
|
10
|
+
* ratio. If the ratios differ, then a portion of the view will be unused
|
|
11
|
+
*/
|
|
12
|
+
Contain,
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Rive will cover the view, preserving the aspect ratio. If the Rive
|
|
16
|
+
* content has a different ratio to the view, then the Rive content will be
|
|
17
|
+
* clipped.
|
|
18
|
+
*/
|
|
19
|
+
Cover,
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Rive content will fill to the width of the view. This may result in
|
|
23
|
+
* clipping or unfilled view space.
|
|
24
|
+
*/
|
|
25
|
+
FitWidth,
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Rive content will fill to the height of the view. This may result in
|
|
29
|
+
* clipping or unfilled view space.
|
|
30
|
+
*/
|
|
31
|
+
FitHeight,
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Rive content will render to the size of its artboard, which may result
|
|
35
|
+
* in clipping or unfilled view space.
|
|
36
|
+
*/
|
|
37
|
+
None,
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Rive content is scaled down to the size of the view, preserving the
|
|
41
|
+
* aspect ratio. This is equivalent to Contain when the content is larger
|
|
42
|
+
* than the canvas. If the canvas is larger, then ScaleDown will not scale
|
|
43
|
+
* up.
|
|
44
|
+
*/
|
|
45
|
+
ScaleDown,
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Rive content will be resized automatically based on layout constraints of
|
|
49
|
+
* the artboard to match the underlying widget size.
|
|
50
|
+
*
|
|
51
|
+
* @see [Responsive Layout](https://rive.app/community/doc/layout/docBl81zd1GB#responsive-layout)
|
|
52
|
+
*/
|
|
53
|
+
Layout,
|
|
54
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getHostComponent,
|
|
3
|
+
type ReactNativeView,
|
|
4
|
+
} from 'react-native-nitro-modules';
|
|
5
|
+
import type {
|
|
6
|
+
RiveViewMethods,
|
|
7
|
+
RiveViewTSMethods,
|
|
8
|
+
RiveViewProps as NativeRiveViewProps,
|
|
9
|
+
} from '../specs/RiveView.nitro';
|
|
10
|
+
import RiveViewConfig from '../../nitrogen/generated/shared/json/RiveViewConfig.json';
|
|
11
|
+
|
|
12
|
+
export const NitroRiveView = getHostComponent<
|
|
13
|
+
NativeRiveViewProps,
|
|
14
|
+
RiveViewMethods
|
|
15
|
+
>('RiveView', () => RiveViewConfig) as ReactNativeView<
|
|
16
|
+
NativeRiveViewProps,
|
|
17
|
+
RiveViewTSMethods
|
|
18
|
+
>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ResolvedReferencedAsset } from '../specs/RiveFile.nitro';
|
|
2
|
+
import type { RiveImage } from '../specs/RiveImage.nitro';
|
|
3
|
+
|
|
4
|
+
export type ReferencedAssetSource = { source: number | { uri: string } };
|
|
5
|
+
|
|
6
|
+
export type ReferencedAsset = ReferencedAssetSource | RiveImage;
|
|
7
|
+
|
|
8
|
+
export interface ReferencedAssets {
|
|
9
|
+
[assetName: string]: ReferencedAsset;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export type ResolvedReferencedAssets = {
|
|
13
|
+
[assetName: string]: ResolvedReferencedAsset;
|
|
14
|
+
};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/* eslint-disable no-bitwise */
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Represents a color in RGBA format for use with Rive color data binding.
|
|
5
|
+
* Each channel (r, g, b, a) is represented as a number between 0-255.
|
|
6
|
+
*/
|
|
7
|
+
export class RiveColor {
|
|
8
|
+
/**
|
|
9
|
+
* Creates a new RiveColor instance.
|
|
10
|
+
* @param r - Red channel (0-255)
|
|
11
|
+
* @param g - Green channel (0-255)
|
|
12
|
+
* @param b - Blue channel (0-255)
|
|
13
|
+
* @param a - Alpha channel (0-255, where 255 is fully opaque)
|
|
14
|
+
*/
|
|
15
|
+
constructor(
|
|
16
|
+
public readonly r: number,
|
|
17
|
+
public readonly g: number,
|
|
18
|
+
public readonly b: number,
|
|
19
|
+
public readonly a: number
|
|
20
|
+
) {}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Compares this color with another RiveColor instance.
|
|
24
|
+
* @param other - The RiveColor to compare with
|
|
25
|
+
* @returns true if the colors are equal, false otherwise
|
|
26
|
+
*/
|
|
27
|
+
equals(other: RiveColor | undefined): boolean {
|
|
28
|
+
if (!other) return false;
|
|
29
|
+
return (
|
|
30
|
+
this.r === other.r &&
|
|
31
|
+
this.g === other.g &&
|
|
32
|
+
this.b === other.b &&
|
|
33
|
+
this.a === other.a
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Creates a RiveColor instance from a hex color string.
|
|
39
|
+
* Supports both 6-digit (#RRGGBB) and 8-digit (#RRGGBBAA) formats.
|
|
40
|
+
* @param color - Hex color string (e.g., '#FF0000' or '#FF000080')
|
|
41
|
+
* @returns A new RiveColor instance
|
|
42
|
+
* @throws Will return black (0,0,0,255) with a warning if the hex string is invalid
|
|
43
|
+
*/
|
|
44
|
+
static fromHexString(color: string): RiveColor {
|
|
45
|
+
const hex = color.replace(/^#/, '');
|
|
46
|
+
|
|
47
|
+
const isValidHex = /^[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$/.test(hex);
|
|
48
|
+
if (!isValidHex) {
|
|
49
|
+
console.warn(`Rive invalid hex color: ${color}`);
|
|
50
|
+
return new RiveColor(0, 0, 0, 255);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
let r = parseInt(hex.slice(0, 2), 16),
|
|
54
|
+
g = parseInt(hex.slice(2, 4), 16),
|
|
55
|
+
b = parseInt(hex.slice(4, 6), 16),
|
|
56
|
+
a = 255;
|
|
57
|
+
|
|
58
|
+
// Optionally parse alpha channel if present
|
|
59
|
+
if (hex.length === 8) {
|
|
60
|
+
a = parseInt(hex.slice(6, 8), 16);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return new RiveColor(r, g, b, a);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Creates a RiveColor instance from a 32-bit integer.
|
|
68
|
+
* The integer should be in ARGB format where:
|
|
69
|
+
* - Bits 24-31: Alpha channel
|
|
70
|
+
* - Bits 16-23: Red channel
|
|
71
|
+
* - Bits 8-15: Green channel
|
|
72
|
+
* - Bits 0-7: Blue channel
|
|
73
|
+
* @param colorValue - 32-bit integer representing the color
|
|
74
|
+
* @returns A new RiveColor instance
|
|
75
|
+
*/
|
|
76
|
+
static fromInt(colorValue: number): RiveColor {
|
|
77
|
+
const a = (colorValue >> 24) & 0xff;
|
|
78
|
+
const r = (colorValue >> 16) & 0xff;
|
|
79
|
+
const g = (colorValue >> 8) & 0xff;
|
|
80
|
+
const b = colorValue & 0xff;
|
|
81
|
+
return new RiveColor(r, g, b, a);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Converts this color to a 32-bit integer in ARGB format.
|
|
86
|
+
* @returns A 32-bit integer where:
|
|
87
|
+
* - Bits 24-31: Alpha channel
|
|
88
|
+
* - Bits 16-23: Red channel
|
|
89
|
+
* - Bits 8-15: Green channel
|
|
90
|
+
* - Bits 0-7: Blue channel
|
|
91
|
+
*/
|
|
92
|
+
toInt(): number {
|
|
93
|
+
return (
|
|
94
|
+
((this.a & 0xff) << 24) |
|
|
95
|
+
((this.r & 0xff) << 16) |
|
|
96
|
+
((this.g & 0xff) << 8) |
|
|
97
|
+
(this.b & 0xff)
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { NitroModules } from 'react-native-nitro-modules';
|
|
2
|
+
import type {
|
|
3
|
+
RiveFile,
|
|
4
|
+
RiveFileFactory as RiveFileFactoryInternal,
|
|
5
|
+
} from '../specs/RiveFile.nitro';
|
|
6
|
+
|
|
7
|
+
import { Image } from 'react-native';
|
|
8
|
+
import type { ResolvedReferencedAssets } from './ReferencedAssets';
|
|
9
|
+
|
|
10
|
+
const RiveFileInternal =
|
|
11
|
+
NitroModules.createHybridObject<RiveFileFactoryInternal>('RiveFileFactory');
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Factory namespace for creating RiveFile instances from different sources.
|
|
15
|
+
* Provides static methods to load Rive files from URLs, resources, or raw bytes.
|
|
16
|
+
*/
|
|
17
|
+
export namespace RiveFileFactory {
|
|
18
|
+
/**
|
|
19
|
+
* Creates a RiveFile instance from a URL.
|
|
20
|
+
* @param url - The URL of the Rive (.riv) file
|
|
21
|
+
* @param loadCdn - Whether to load from CDN (default: true)
|
|
22
|
+
* @returns Promise that resolves to a RiveFile instance
|
|
23
|
+
*/
|
|
24
|
+
export async function fromURL(
|
|
25
|
+
url: string,
|
|
26
|
+
referencedAssets: ResolvedReferencedAssets | undefined,
|
|
27
|
+
loadCdn: boolean = true
|
|
28
|
+
): Promise<RiveFile> {
|
|
29
|
+
return RiveFileInternal.fromURL(
|
|
30
|
+
url,
|
|
31
|
+
loadCdn,
|
|
32
|
+
referencedAssets ? { data: referencedAssets } : undefined
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Creates a RiveFile instance from a local file path URL.
|
|
38
|
+
* @param pathURL - The local file path of the Rive (.riv) file
|
|
39
|
+
* @param loadCdn - Whether to load from CDN (default: true)
|
|
40
|
+
* @returns Promise that resolves to a RiveFile instance
|
|
41
|
+
*/
|
|
42
|
+
export async function fromFileURL(
|
|
43
|
+
fileURL: string,
|
|
44
|
+
referencedAssets: ResolvedReferencedAssets | undefined = undefined,
|
|
45
|
+
loadCdn: boolean = true
|
|
46
|
+
): Promise<RiveFile> {
|
|
47
|
+
return RiveFileInternal.fromFileURL(
|
|
48
|
+
fileURL,
|
|
49
|
+
loadCdn,
|
|
50
|
+
referencedAssets ? { data: referencedAssets } : undefined
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Creates a RiveFile instance from a local resource.
|
|
56
|
+
* @param resource - The name of the local resource
|
|
57
|
+
* @param loadCdn - Whether to load from CDN (default: true)
|
|
58
|
+
* @returns Promise that resolves to a RiveFile instance
|
|
59
|
+
*/
|
|
60
|
+
export async function fromResource(
|
|
61
|
+
resource: string,
|
|
62
|
+
referencedAssets: ResolvedReferencedAssets | undefined,
|
|
63
|
+
loadCdn: boolean = true
|
|
64
|
+
): Promise<RiveFile> {
|
|
65
|
+
return RiveFileInternal.fromResource(
|
|
66
|
+
resource,
|
|
67
|
+
loadCdn,
|
|
68
|
+
referencedAssets ? { data: referencedAssets } : undefined
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Creates a RiveFile instance from raw bytes.
|
|
74
|
+
* @param bytes - The raw bytes of the Rive (.riv) file
|
|
75
|
+
* @param loadCdn - Whether to load from CDN (default: true)
|
|
76
|
+
* @returns Promise that resolves to a RiveFile instance
|
|
77
|
+
*/
|
|
78
|
+
export async function fromBytes(
|
|
79
|
+
bytes: ArrayBuffer,
|
|
80
|
+
referencedAssets: ResolvedReferencedAssets | undefined,
|
|
81
|
+
loadCdn: boolean = true
|
|
82
|
+
): Promise<RiveFile> {
|
|
83
|
+
return RiveFileInternal.fromBytes(
|
|
84
|
+
bytes,
|
|
85
|
+
loadCdn,
|
|
86
|
+
referencedAssets ? { data: referencedAssets } : undefined
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Creates a RiveFile instance from a source that can be either a resource ID or a URI object.
|
|
92
|
+
* @param source - Either a number representing a resource ID or an object with a uri property
|
|
93
|
+
* @param loadCdn - Whether to load from CDN (default: true)
|
|
94
|
+
* @returns Promise that resolves to a RiveFile instance
|
|
95
|
+
* @throws Error if the source is invalid or cannot be resolved
|
|
96
|
+
* @example
|
|
97
|
+
* // Using a resource ID
|
|
98
|
+
* const riveFile1 = await RiveFileFactory.fromSource(require('./your_file.riv'));
|
|
99
|
+
*
|
|
100
|
+
* // Using a URI object
|
|
101
|
+
* const riveFile2 = await RiveFileFactory.fromSource({ uri: 'https://example.com/your_file.riv' });
|
|
102
|
+
*
|
|
103
|
+
* // Using a local file URI
|
|
104
|
+
* const riveFile3 = await RiveFileFactory.fromSource({ uri: 'file:///path/to/your_file.riv' });
|
|
105
|
+
*
|
|
106
|
+
* @note To use .riv files with require(), you need to add 'riv' to the asset extensions in your metro.config.js:
|
|
107
|
+
* ```js
|
|
108
|
+
* const config = getDefaultConfig(__dirname);
|
|
109
|
+
* config.resolver.assetExts = [...config.resolver.assetExts, 'riv'];
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
export async function fromSource(
|
|
113
|
+
source: number | { uri: string },
|
|
114
|
+
referencedAssets: ResolvedReferencedAssets | undefined,
|
|
115
|
+
loadCdn: boolean = true
|
|
116
|
+
): Promise<RiveFile> {
|
|
117
|
+
const assetID = typeof source === 'number' ? source : null;
|
|
118
|
+
const sourceURI = typeof source === 'object' ? source.uri : null;
|
|
119
|
+
|
|
120
|
+
const assetURI = assetID
|
|
121
|
+
? Image.resolveAssetSource(assetID)?.uri
|
|
122
|
+
: sourceURI;
|
|
123
|
+
|
|
124
|
+
if (!assetURI) {
|
|
125
|
+
throw new Error(
|
|
126
|
+
`Invalid source provided, ${source} is not a valid asset ID or URI`
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
try {
|
|
131
|
+
// handle http address and dev server
|
|
132
|
+
if (assetURI.match(/https?:\/\//)) {
|
|
133
|
+
return RiveFileFactory.fromURL(assetURI, referencedAssets, loadCdn);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// handle iOS bundled asset
|
|
137
|
+
if (assetURI.match(/file:\/\//)) {
|
|
138
|
+
return RiveFileFactory.fromFileURL(assetURI, referencedAssets, loadCdn);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// handle Android bundled asset or resource name uri
|
|
142
|
+
return RiveFileFactory.fromResource(assetURI, referencedAssets, loadCdn);
|
|
143
|
+
} catch (error: unknown) {
|
|
144
|
+
const errorMessage =
|
|
145
|
+
error instanceof Error ? error.message : String(error);
|
|
146
|
+
throw new Error(`Failed to load Rive file from source: ${errorMessage}`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { ComponentProps } from 'react';
|
|
2
|
+
import { NitroRiveView } from './NitroRiveViewComponent';
|
|
3
|
+
import { RiveErrorType, type RiveError } from './Errors';
|
|
4
|
+
|
|
5
|
+
export interface RiveViewProps
|
|
6
|
+
extends Omit<ComponentProps<typeof NitroRiveView>, 'onError'> {
|
|
7
|
+
onError?: (error: RiveError) => void;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const defaultOnError = (error: RiveError) =>
|
|
11
|
+
console.error(`[${RiveErrorType[error.type]}] ${error.message}`);
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* RiveView is a React Native component that renders Rive graphics.
|
|
15
|
+
* It provides a seamless way to display and control Rive graphics in your app.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* <RiveView
|
|
20
|
+
* file={riveFile}
|
|
21
|
+
* artboardName="New Artboard"
|
|
22
|
+
* stateMachineName="State Machine 1"
|
|
23
|
+
* autoPlay={true}
|
|
24
|
+
* fit={Fit.Contain}
|
|
25
|
+
* style={styles.riveContainer}
|
|
26
|
+
* />
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @property {RiveFile} file - The Rive file to be displayed
|
|
30
|
+
* @property {string} [artboardName] - Name of the artboard to display from the Rive file
|
|
31
|
+
* @property {string} [stateMachineName] - Name of the state machine to play
|
|
32
|
+
* @property {ViewModelInstance | DataBindMode | DataBindByName} [dataBind] - Data binding configuration for the state machine, defaults to DataBindMode.Auto
|
|
33
|
+
* @property {boolean} [autoPlay=true] - Whether to automatically start playing the state machine
|
|
34
|
+
* @property {Alignment} [alignment] - How the Rive graphic should be aligned within its container
|
|
35
|
+
* @property {Fit} [fit] - How the Rive graphic should fit within its container
|
|
36
|
+
* @property {Object} [style] - React Native style object for container customization
|
|
37
|
+
* @property {(error: RiveError) => void} [onError] - Callback function that is called when an error occurs
|
|
38
|
+
*
|
|
39
|
+
* The component also exposes methods for controlling playback:
|
|
40
|
+
* - play(): Starts playing the Rive graphic
|
|
41
|
+
* - pause(): Pauses the Rive graphic
|
|
42
|
+
*/
|
|
43
|
+
export function RiveView(props: RiveViewProps) {
|
|
44
|
+
const { onError, ...rest } = props;
|
|
45
|
+
const wrappedOnError = onError ?? defaultOnError;
|
|
46
|
+
|
|
47
|
+
return <NitroRiveView {...rest} onError={{ f: wrappedOnError }} />;
|
|
48
|
+
}
|