@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
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const NITRO_DISPOSE_ERROR = 'failed to define internal native state property';
|
|
2
|
+
|
|
3
|
+
interface Disposable {
|
|
4
|
+
dispose(): void;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
/** Safely calls dispose(), ignoring errors from https://github.com/mrousavy/nitro/issues/1083 */
|
|
8
|
+
export function callDispose(obj: Disposable): void {
|
|
9
|
+
try {
|
|
10
|
+
obj.dispose();
|
|
11
|
+
} catch (error) {
|
|
12
|
+
const message =
|
|
13
|
+
error instanceof Error ? error.message : String(error ?? '');
|
|
14
|
+
if (!message.includes(NITRO_DISPOSE_ERROR)) {
|
|
15
|
+
throw error;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { useRef, useCallback, useState } from 'react';
|
|
2
|
+
import type { RiveViewRef } from '@rive-app/react-native';
|
|
3
|
+
|
|
4
|
+
export function useRive() {
|
|
5
|
+
const riveRef = useRef<RiveViewRef>(null);
|
|
6
|
+
const [riveViewRef, setRiveViewRef] = useState<RiveViewRef | null>(null);
|
|
7
|
+
const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);
|
|
8
|
+
|
|
9
|
+
const setRef = useCallback((node: RiveViewRef | null) => {
|
|
10
|
+
if (riveRef.current !== node) {
|
|
11
|
+
riveRef.current = node;
|
|
12
|
+
|
|
13
|
+
// Clear any existing timeout
|
|
14
|
+
if (timeoutRef.current) {
|
|
15
|
+
clearTimeout(timeoutRef.current);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const timeout = new Promise((_, reject) => {
|
|
19
|
+
timeoutRef.current = setTimeout(() => {
|
|
20
|
+
reject(new Error('Rive view ready timeout'));
|
|
21
|
+
}, 5000);
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
// TODO: Need to clear out the awaitViewReady promise if it times out
|
|
25
|
+
// or add this timeout natively and return false
|
|
26
|
+
Promise.race([node?.awaitViewReady(), timeout])
|
|
27
|
+
.then((result) => {
|
|
28
|
+
if (result === true) {
|
|
29
|
+
setRiveViewRef(node);
|
|
30
|
+
} else {
|
|
31
|
+
console.warn('Rive view ready check returned false');
|
|
32
|
+
setRiveViewRef(null);
|
|
33
|
+
}
|
|
34
|
+
})
|
|
35
|
+
.catch((error) => {
|
|
36
|
+
console.warn('Failed to initialize Rive view:', error);
|
|
37
|
+
setRiveViewRef(null);
|
|
38
|
+
})
|
|
39
|
+
.finally(() => {
|
|
40
|
+
// Clear the timeout in both success and error cases
|
|
41
|
+
if (timeoutRef.current) {
|
|
42
|
+
clearTimeout(timeoutRef.current);
|
|
43
|
+
timeoutRef.current = null;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}, []);
|
|
48
|
+
|
|
49
|
+
return {
|
|
50
|
+
riveRef,
|
|
51
|
+
riveViewRef,
|
|
52
|
+
setHybridRef: {
|
|
53
|
+
f: setRef,
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type ViewModelBooleanProperty,
|
|
3
|
+
type ViewModelInstance,
|
|
4
|
+
} from '../specs/ViewModel.nitro';
|
|
5
|
+
import type { UseRivePropertyResult } from '../types';
|
|
6
|
+
import { useRiveProperty } from './useRiveProperty';
|
|
7
|
+
|
|
8
|
+
const BOOLEAN_PROPERTY_OPTIONS = {
|
|
9
|
+
getProperty: (vmi: ViewModelInstance, p: string) => vmi.booleanProperty(p),
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Hook for interacting with boolean ViewModel instance properties.
|
|
14
|
+
*
|
|
15
|
+
* @param path - The path to the boolean property
|
|
16
|
+
* @param viewModelInstance - The ViewModelInstance containing the boolean property to operate on
|
|
17
|
+
* @returns An object with the boolean value, a setter function, and an error if the property is not found
|
|
18
|
+
*/
|
|
19
|
+
export function useRiveBoolean(
|
|
20
|
+
path: string,
|
|
21
|
+
viewModelInstance?: ViewModelInstance | null
|
|
22
|
+
): UseRivePropertyResult<boolean> {
|
|
23
|
+
const [value, setValue, error] = useRiveProperty<
|
|
24
|
+
ViewModelBooleanProperty,
|
|
25
|
+
boolean
|
|
26
|
+
>(viewModelInstance, path, BOOLEAN_PROPERTY_OPTIONS);
|
|
27
|
+
return { value, setValue, error };
|
|
28
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { useCallback } from 'react';
|
|
2
|
+
import type {
|
|
3
|
+
ViewModelColorProperty,
|
|
4
|
+
ViewModelInstance,
|
|
5
|
+
} from '../specs/ViewModel.nitro';
|
|
6
|
+
import { type UseRivePropertyResult } from '../types';
|
|
7
|
+
import { useRiveProperty } from './useRiveProperty';
|
|
8
|
+
import { RiveColor } from '../core/RiveColor';
|
|
9
|
+
|
|
10
|
+
const COLOR_PROPERTY_OPTIONS = {
|
|
11
|
+
getProperty: (vmi: ViewModelInstance, p: string) => vmi.colorProperty(p),
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Hook for interacting with color ViewModel instance properties.
|
|
16
|
+
*
|
|
17
|
+
* @param path - The path to the color property
|
|
18
|
+
* @param viewModelInstance - The ViewModelInstance containing the color property to operate on
|
|
19
|
+
* @returns An object with the color value as RGBA, a setter function that accepts either RGBA or hex string, and an error if the property is not found
|
|
20
|
+
*/
|
|
21
|
+
export function useRiveColor(
|
|
22
|
+
path: string,
|
|
23
|
+
viewModelInstance?: ViewModelInstance | null
|
|
24
|
+
): UseRivePropertyResult<RiveColor> & {
|
|
25
|
+
setValue: (value: RiveColor | string) => void;
|
|
26
|
+
} {
|
|
27
|
+
const [rawValue, setRawValue, error] = useRiveProperty<
|
|
28
|
+
ViewModelColorProperty,
|
|
29
|
+
number
|
|
30
|
+
>(viewModelInstance, path, COLOR_PROPERTY_OPTIONS);
|
|
31
|
+
|
|
32
|
+
const value =
|
|
33
|
+
rawValue !== undefined ? RiveColor.fromInt(rawValue) : undefined;
|
|
34
|
+
|
|
35
|
+
const setValue = useCallback(
|
|
36
|
+
(newValue: RiveColor | string) => {
|
|
37
|
+
const color =
|
|
38
|
+
typeof newValue === 'string'
|
|
39
|
+
? RiveColor.fromHexString(newValue)
|
|
40
|
+
: newValue;
|
|
41
|
+
setRawValue(color.toInt());
|
|
42
|
+
},
|
|
43
|
+
[setRawValue]
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
return { value, setValue, error };
|
|
47
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { useCallback } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
type ViewModelEnumProperty,
|
|
4
|
+
type ViewModelInstance,
|
|
5
|
+
} from '../specs/ViewModel.nitro';
|
|
6
|
+
import type { UseRivePropertyResult } from '../types';
|
|
7
|
+
import { useRiveProperty } from './useRiveProperty';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Hook for interacting with enum ViewModel instance properties.
|
|
11
|
+
*
|
|
12
|
+
* @param path - The path to the enum property
|
|
13
|
+
* @param viewModelInstance - The ViewModelInstance containing the enum property to operate on
|
|
14
|
+
* @returns An object with the enum value, a setter function, and an error if the property is not found
|
|
15
|
+
*/
|
|
16
|
+
export function useRiveEnum(
|
|
17
|
+
path: string,
|
|
18
|
+
viewModelInstance?: ViewModelInstance | null
|
|
19
|
+
): UseRivePropertyResult<string> {
|
|
20
|
+
const [value, setValue, error] = useRiveProperty<
|
|
21
|
+
ViewModelEnumProperty,
|
|
22
|
+
string
|
|
23
|
+
>(viewModelInstance, path, {
|
|
24
|
+
getProperty: useCallback((vmi, p) => vmi.enumProperty(p), []),
|
|
25
|
+
});
|
|
26
|
+
return { value, setValue, error };
|
|
27
|
+
}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { useState, useEffect, useMemo, useRef } from 'react';
|
|
2
|
+
import { Image } from 'react-native';
|
|
3
|
+
import { RiveFileFactory } from '../core/RiveFile';
|
|
4
|
+
import { callDispose } from '../core/callDispose';
|
|
5
|
+
import type {
|
|
6
|
+
RiveFile,
|
|
7
|
+
ResolvedReferencedAsset,
|
|
8
|
+
} from '../specs/RiveFile.nitro';
|
|
9
|
+
import type { RiveImage } from '../specs/RiveImage.nitro';
|
|
10
|
+
import type {
|
|
11
|
+
ReferencedAsset,
|
|
12
|
+
ReferencedAssets,
|
|
13
|
+
ResolvedReferencedAssets,
|
|
14
|
+
} from '../core/ReferencedAssets';
|
|
15
|
+
|
|
16
|
+
export type { ReferencedAssets, ResolvedReferencedAssets };
|
|
17
|
+
export type RiveFileInput = number | { uri: string } | string | ArrayBuffer;
|
|
18
|
+
|
|
19
|
+
export type UseRiveFileOptions = {
|
|
20
|
+
referencedAssets?: ReferencedAssets;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
function isRiveImage(value: ReferencedAsset): value is RiveImage {
|
|
24
|
+
return (
|
|
25
|
+
value !== null &&
|
|
26
|
+
typeof value === 'object' &&
|
|
27
|
+
'__type' in value &&
|
|
28
|
+
value.__type === 'HybridObject<RiveImage>'
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function parsePossibleSources(asset: ReferencedAsset): ResolvedReferencedAsset {
|
|
33
|
+
if (isRiveImage(asset)) {
|
|
34
|
+
return { image: asset };
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const source = asset.source;
|
|
38
|
+
|
|
39
|
+
if (typeof source === 'number') {
|
|
40
|
+
const resolvedAsset = Image.resolveAssetSource(source);
|
|
41
|
+
if (resolvedAsset && resolvedAsset.uri) {
|
|
42
|
+
return { sourceAssetId: resolvedAsset.uri };
|
|
43
|
+
} else {
|
|
44
|
+
throw new Error('Invalid asset source provided.');
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const uri = (source as any).uri;
|
|
49
|
+
if (typeof source === 'object' && uri) {
|
|
50
|
+
return { sourceUrl: uri };
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
const fileName = (source as any).fileName;
|
|
54
|
+
const path = (source as any).path;
|
|
55
|
+
|
|
56
|
+
if (typeof source === 'object' && fileName) {
|
|
57
|
+
const result: ResolvedReferencedAsset = { sourceAsset: fileName };
|
|
58
|
+
|
|
59
|
+
if (path) {
|
|
60
|
+
result.path = path;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return result;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
throw new Error('Invalid source provided.');
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function transformFilesHandledMapping(
|
|
70
|
+
mapping?: ReferencedAssets
|
|
71
|
+
): ResolvedReferencedAssets | undefined {
|
|
72
|
+
const transformedMapping: ResolvedReferencedAssets = {};
|
|
73
|
+
if (mapping === undefined) {
|
|
74
|
+
return undefined;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
Object.entries(mapping).forEach(([key, asset]) => {
|
|
78
|
+
transformedMapping[key] = parsePossibleSources(asset);
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
return transformedMapping;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
type RiveFileHookResult =
|
|
85
|
+
| { riveFile: RiveFile; isLoading: false; error: null }
|
|
86
|
+
| { riveFile: null; isLoading: true; error: null }
|
|
87
|
+
| { riveFile: null; isLoading: false; error: string };
|
|
88
|
+
|
|
89
|
+
export function useRiveFile(
|
|
90
|
+
input: RiveFileInput | undefined,
|
|
91
|
+
options: UseRiveFileOptions = {}
|
|
92
|
+
): RiveFileHookResult {
|
|
93
|
+
const [result, setResult] = useState<RiveFileHookResult>({
|
|
94
|
+
riveFile: null,
|
|
95
|
+
isLoading: true,
|
|
96
|
+
error: null,
|
|
97
|
+
});
|
|
98
|
+
const referencedAssets = useMemo(
|
|
99
|
+
() => transformFilesHandledMapping(options.referencedAssets),
|
|
100
|
+
[options.referencedAssets]
|
|
101
|
+
);
|
|
102
|
+
const initialReferencedAssets = useRef(referencedAssets);
|
|
103
|
+
|
|
104
|
+
useEffect(() => {
|
|
105
|
+
let currentFile: RiveFile | null = null;
|
|
106
|
+
|
|
107
|
+
const loadRiveFile = async () => {
|
|
108
|
+
try {
|
|
109
|
+
const currentInput = input;
|
|
110
|
+
|
|
111
|
+
if (currentInput == null) {
|
|
112
|
+
setResult({
|
|
113
|
+
riveFile: null,
|
|
114
|
+
isLoading: false,
|
|
115
|
+
error: 'No Rive file input provided.',
|
|
116
|
+
});
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (typeof currentInput === 'string') {
|
|
120
|
+
if (
|
|
121
|
+
currentInput.startsWith('http://') ||
|
|
122
|
+
currentInput.startsWith('https://')
|
|
123
|
+
) {
|
|
124
|
+
currentFile = await RiveFileFactory.fromURL(
|
|
125
|
+
currentInput,
|
|
126
|
+
initialReferencedAssets.current
|
|
127
|
+
);
|
|
128
|
+
} else {
|
|
129
|
+
currentFile = await RiveFileFactory.fromResource(
|
|
130
|
+
currentInput,
|
|
131
|
+
initialReferencedAssets.current
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
} else if (typeof currentInput === 'number' || 'uri' in currentInput) {
|
|
135
|
+
currentFile = await RiveFileFactory.fromSource(
|
|
136
|
+
currentInput,
|
|
137
|
+
initialReferencedAssets.current
|
|
138
|
+
);
|
|
139
|
+
} else if (currentInput instanceof ArrayBuffer) {
|
|
140
|
+
currentFile = await RiveFileFactory.fromBytes(
|
|
141
|
+
currentInput,
|
|
142
|
+
initialReferencedAssets.current
|
|
143
|
+
);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
setResult({ riveFile: currentFile!, isLoading: false, error: null });
|
|
147
|
+
} catch (err) {
|
|
148
|
+
console.error(err);
|
|
149
|
+
setResult({
|
|
150
|
+
riveFile: null,
|
|
151
|
+
isLoading: false,
|
|
152
|
+
error:
|
|
153
|
+
err instanceof Error
|
|
154
|
+
? err.message || 'Unknown error'
|
|
155
|
+
: 'Failed to load Rive file',
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
loadRiveFile();
|
|
161
|
+
|
|
162
|
+
return () => {
|
|
163
|
+
if (currentFile) {
|
|
164
|
+
callDispose(currentFile);
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
}, [input]);
|
|
168
|
+
|
|
169
|
+
const { riveFile } = result;
|
|
170
|
+
useEffect(() => {
|
|
171
|
+
if (initialReferencedAssets.current !== referencedAssets) {
|
|
172
|
+
if (riveFile && referencedAssets) {
|
|
173
|
+
riveFile.updateReferencedAssets({ data: referencedAssets });
|
|
174
|
+
initialReferencedAssets.current = referencedAssets;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}, [referencedAssets, riveFile]);
|
|
178
|
+
|
|
179
|
+
return {
|
|
180
|
+
riveFile: result.riveFile,
|
|
181
|
+
isLoading: result.isLoading,
|
|
182
|
+
error: result.error,
|
|
183
|
+
} as RiveFileHookResult;
|
|
184
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type ViewModelInstance,
|
|
3
|
+
type ViewModelNumberProperty,
|
|
4
|
+
} from '../specs/ViewModel.nitro';
|
|
5
|
+
import type { UseRivePropertyResult } from '../types';
|
|
6
|
+
import { useRiveProperty } from './useRiveProperty';
|
|
7
|
+
|
|
8
|
+
const NUMBER_PROPERTY_OPTIONS = {
|
|
9
|
+
getProperty: (vmi: ViewModelInstance, p: string) => vmi.numberProperty(p),
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Hook for interacting with number ViewModel instance properties.
|
|
14
|
+
*
|
|
15
|
+
* @param path - The path to the number property
|
|
16
|
+
* @param viewModelInstance - The ViewModelInstance containing the number property to operate on
|
|
17
|
+
* @returns An object with the number value, a setter function, and an error if the property is not found
|
|
18
|
+
*/
|
|
19
|
+
export function useRiveNumber(
|
|
20
|
+
path: string,
|
|
21
|
+
viewModelInstance?: ViewModelInstance | null
|
|
22
|
+
): UseRivePropertyResult<number> {
|
|
23
|
+
const [value, setValue, error] = useRiveProperty<
|
|
24
|
+
ViewModelNumberProperty,
|
|
25
|
+
number
|
|
26
|
+
>(viewModelInstance, path, NUMBER_PROPERTY_OPTIONS);
|
|
27
|
+
return { value, setValue, error };
|
|
28
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { useCallback, useEffect, useState, useMemo } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
type ObservableProperty,
|
|
4
|
+
type ViewModelInstance,
|
|
5
|
+
type ViewModelProperty,
|
|
6
|
+
} from '../specs/ViewModel.nitro';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Base hook for all ViewModelInstance property interactions.
|
|
10
|
+
* This hook provides a unified interface for working with different types of
|
|
11
|
+
* Rive properties (boolean, number, string, enum, trigger) while maintaining
|
|
12
|
+
* type safety and proper cleanup.
|
|
13
|
+
*
|
|
14
|
+
* @template P - The type of the property (e.g., ViewModelBooleanProperty, ViewModelNumberProperty)
|
|
15
|
+
* @template T - The primitive type of the property value (number, boolean, string)
|
|
16
|
+
*
|
|
17
|
+
* @param viewModelInstance - The source ViewModelInstance
|
|
18
|
+
* @param path - Property path in the ViewModelInstance
|
|
19
|
+
* @param options - Configuration for working with the property
|
|
20
|
+
* @returns A tuple containing [value, setter, error, property]
|
|
21
|
+
*/
|
|
22
|
+
export function useRiveProperty<P extends ViewModelProperty, T>(
|
|
23
|
+
viewModelInstance: ViewModelInstance | null | undefined,
|
|
24
|
+
path: string,
|
|
25
|
+
options: {
|
|
26
|
+
/** Function to get the property from a ViewModelInstance */
|
|
27
|
+
getProperty: (vm: ViewModelInstance, path: string) => P | undefined;
|
|
28
|
+
/** Optional override callback for property events (mainly used by triggers) */
|
|
29
|
+
onPropertyEventOverride?: (...args: any[]) => void;
|
|
30
|
+
}
|
|
31
|
+
): [T | undefined, (value: T) => void, Error | null, P | undefined] {
|
|
32
|
+
const [value, setValue] = useState<T | undefined>(undefined);
|
|
33
|
+
const [error, setError] = useState<Error | null>(null);
|
|
34
|
+
|
|
35
|
+
// Clear error when path or instance changes
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
setError(null);
|
|
38
|
+
}, [path, viewModelInstance]);
|
|
39
|
+
|
|
40
|
+
// Get the property
|
|
41
|
+
const property = useMemo(() => {
|
|
42
|
+
if (!viewModelInstance) return;
|
|
43
|
+
return options.getProperty(
|
|
44
|
+
viewModelInstance,
|
|
45
|
+
path
|
|
46
|
+
) as unknown as ObservableViewModelProperty<T>;
|
|
47
|
+
}, [options, viewModelInstance, path]);
|
|
48
|
+
|
|
49
|
+
// Set error if property is not found
|
|
50
|
+
useEffect(() => {
|
|
51
|
+
if (viewModelInstance && !property) {
|
|
52
|
+
setError(
|
|
53
|
+
new Error(`Property "${path}" not found in the ViewModel instance`)
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
}, [viewModelInstance, property, path]);
|
|
57
|
+
|
|
58
|
+
// Add listener for changes to the property
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
if (!property) return;
|
|
61
|
+
|
|
62
|
+
// If an override callback is provided, use it.
|
|
63
|
+
// Otherwise, use the default callback.
|
|
64
|
+
if (options.onPropertyEventOverride) {
|
|
65
|
+
property.addListener(options.onPropertyEventOverride);
|
|
66
|
+
} else {
|
|
67
|
+
property.addListener((newValue) => {
|
|
68
|
+
setValue(newValue);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// Cleanup: Remove listeners and dispose of the property
|
|
73
|
+
// This ensures proper cleanup of event listeners and resources
|
|
74
|
+
return () => {
|
|
75
|
+
property.removeListeners();
|
|
76
|
+
property.dispose();
|
|
77
|
+
};
|
|
78
|
+
}, [options, property]);
|
|
79
|
+
|
|
80
|
+
// Set the value of the property
|
|
81
|
+
const setPropertyValue = useCallback(
|
|
82
|
+
(newValue: T) => {
|
|
83
|
+
if (!property) {
|
|
84
|
+
setError(
|
|
85
|
+
new Error(
|
|
86
|
+
`Cannot set value for property "${path}" because it was not found. Your view model instance may be undefined, or the path may be incorrect.`
|
|
87
|
+
)
|
|
88
|
+
);
|
|
89
|
+
} else {
|
|
90
|
+
property.value = newValue;
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
[property, path]
|
|
94
|
+
);
|
|
95
|
+
|
|
96
|
+
return [value, setPropertyValue, error, property as unknown as P];
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* This interface extends the ViewModelProperty and ObservableProperty interfaces.
|
|
101
|
+
* It adds the addListener and value as known properties.
|
|
102
|
+
*
|
|
103
|
+
* @template T - The primitive type of the property value (number, boolean, string)
|
|
104
|
+
*/
|
|
105
|
+
interface ObservableViewModelProperty<T>
|
|
106
|
+
extends ViewModelProperty,
|
|
107
|
+
ObservableProperty {
|
|
108
|
+
addListener: (onChanged: (value: T) => void) => void;
|
|
109
|
+
value: T;
|
|
110
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type ViewModelInstance,
|
|
3
|
+
type ViewModelStringProperty,
|
|
4
|
+
} from '../specs/ViewModel.nitro';
|
|
5
|
+
import type { UseRivePropertyResult } from '../types';
|
|
6
|
+
import { useRiveProperty } from './useRiveProperty';
|
|
7
|
+
|
|
8
|
+
const STRING_PROPERTY_OPTIONS = {
|
|
9
|
+
getProperty: (vmi: ViewModelInstance, p: string) => vmi.stringProperty(p),
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Hook for interacting with string ViewModel instance properties.
|
|
14
|
+
*
|
|
15
|
+
* @param path - The path to the string property
|
|
16
|
+
* @param viewModelInstance - The ViewModelInstance containing the string property to operate on
|
|
17
|
+
* @returns An object with the number value, a setter function, and an error if the property is not found
|
|
18
|
+
*/
|
|
19
|
+
export function useRiveString(
|
|
20
|
+
path: string,
|
|
21
|
+
viewModelInstance?: ViewModelInstance | null
|
|
22
|
+
): UseRivePropertyResult<string> {
|
|
23
|
+
const [value, setValue, error] = useRiveProperty<
|
|
24
|
+
ViewModelStringProperty,
|
|
25
|
+
string
|
|
26
|
+
>(viewModelInstance, path, STRING_PROPERTY_OPTIONS);
|
|
27
|
+
return { value, setValue, error };
|
|
28
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { useCallback, useMemo } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
type ViewModelInstance,
|
|
4
|
+
type ViewModelTriggerProperty,
|
|
5
|
+
} from '../specs/ViewModel.nitro';
|
|
6
|
+
import type {
|
|
7
|
+
UseRiveTriggerResult,
|
|
8
|
+
UseViewModelInstanceTriggerParameters,
|
|
9
|
+
} from '../types';
|
|
10
|
+
import { useRiveProperty } from './useRiveProperty';
|
|
11
|
+
|
|
12
|
+
const getTriggerProperty = (vmi: ViewModelInstance, p: string) =>
|
|
13
|
+
vmi.triggerProperty(p);
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Hook for interacting with trigger ViewModel instance properties.
|
|
17
|
+
*
|
|
18
|
+
* @param path - The path to the trigger property
|
|
19
|
+
* @param viewModelInstance - The ViewModelInstance containing the trigger property to operate on
|
|
20
|
+
* @returns A trigger function that can be called to fire the trigger
|
|
21
|
+
*/
|
|
22
|
+
export function useRiveTrigger(
|
|
23
|
+
path: string,
|
|
24
|
+
viewModelInstance?: ViewModelInstance | null,
|
|
25
|
+
params?: UseViewModelInstanceTriggerParameters
|
|
26
|
+
): UseRiveTriggerResult {
|
|
27
|
+
const { onTrigger } = params ?? {};
|
|
28
|
+
|
|
29
|
+
const triggerOptions = useMemo(
|
|
30
|
+
() => ({
|
|
31
|
+
getProperty: getTriggerProperty,
|
|
32
|
+
onPropertyEventOverride: onTrigger,
|
|
33
|
+
}),
|
|
34
|
+
[onTrigger]
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
const [_, __, error, property] = useRiveProperty<
|
|
38
|
+
ViewModelTriggerProperty,
|
|
39
|
+
undefined
|
|
40
|
+
>(viewModelInstance, path, triggerOptions);
|
|
41
|
+
|
|
42
|
+
const trigger = useCallback(() => {
|
|
43
|
+
if (property) {
|
|
44
|
+
property.trigger();
|
|
45
|
+
}
|
|
46
|
+
}, [property]);
|
|
47
|
+
|
|
48
|
+
return { trigger, error };
|
|
49
|
+
}
|
package/src/index.tsx
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { type HybridView } from 'react-native-nitro-modules';
|
|
2
|
+
import {
|
|
3
|
+
type RiveViewMethods,
|
|
4
|
+
type RiveViewTSMethods,
|
|
5
|
+
type RiveViewProps as NativeRiveViewProps,
|
|
6
|
+
DataBindMode,
|
|
7
|
+
type DataBindByName as DataBindByNameInterface,
|
|
8
|
+
} from './specs/RiveView.nitro';
|
|
9
|
+
|
|
10
|
+
export class DataBindByName implements DataBindByNameInterface {
|
|
11
|
+
byName: string;
|
|
12
|
+
constructor(name: string) {
|
|
13
|
+
this.byName = name;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { NitroRiveView } from './core/NitroRiveViewComponent';
|
|
18
|
+
|
|
19
|
+
export { RiveView, type RiveViewProps } from './core/RiveView';
|
|
20
|
+
export type { RiveViewMethods };
|
|
21
|
+
export type RiveViewRef = HybridView<NativeRiveViewProps, RiveViewTSMethods>;
|
|
22
|
+
export type { RiveFile } from './specs/RiveFile.nitro';
|
|
23
|
+
export type {
|
|
24
|
+
ViewModel,
|
|
25
|
+
ViewModelInstance,
|
|
26
|
+
ViewModelNumberProperty,
|
|
27
|
+
ViewModelStringProperty,
|
|
28
|
+
ViewModelBooleanProperty,
|
|
29
|
+
ViewModelColorProperty,
|
|
30
|
+
ViewModelEnumProperty,
|
|
31
|
+
ViewModelTriggerProperty,
|
|
32
|
+
ViewModelImageProperty,
|
|
33
|
+
} from './specs/ViewModel.nitro';
|
|
34
|
+
export { Fit } from './core/Fit';
|
|
35
|
+
export { Alignment } from './core/Alignment';
|
|
36
|
+
export { RiveFileFactory } from './core/RiveFile';
|
|
37
|
+
export { RiveImages } from './core/RiveImages';
|
|
38
|
+
export type { RiveImage } from './specs/RiveImage.nitro';
|
|
39
|
+
export { RiveColor } from './core/RiveColor';
|
|
40
|
+
export { type RiveEvent, RiveEventType } from './core/Events';
|
|
41
|
+
export { type RiveError, RiveErrorType } from './core/Errors';
|
|
42
|
+
export { ArtboardByIndex, ArtboardByName } from './specs/ArtboardBy';
|
|
43
|
+
export { useRive } from './hooks/useRive';
|
|
44
|
+
export { useRiveNumber } from './hooks/useRiveNumber';
|
|
45
|
+
export { useRiveString } from './hooks/useRiveString';
|
|
46
|
+
export { useRiveBoolean } from './hooks/useRiveBoolean';
|
|
47
|
+
export { useRiveEnum } from './hooks/useRiveEnum';
|
|
48
|
+
export { useRiveColor } from './hooks/useRiveColor';
|
|
49
|
+
export { useRiveTrigger } from './hooks/useRiveTrigger';
|
|
50
|
+
export { useRiveFile } from './hooks/useRiveFile';
|
|
51
|
+
export { type RiveFileInput } from './hooks/useRiveFile';
|
|
52
|
+
export { DataBindMode };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
type ArtboardByTypes = 'index' | 'name';
|
|
2
|
+
export interface ArtboardBy {
|
|
3
|
+
type: ArtboardByTypes;
|
|
4
|
+
index?: number;
|
|
5
|
+
name?: string;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Creates an ArtboardBy object for the artboard at the given index.
|
|
10
|
+
* @param {number} index - The index of the artboard to create an ArtboardBy object for.
|
|
11
|
+
* @returns {ArtboardBy} An ArtboardBy object for the artboard at the given index.
|
|
12
|
+
*/
|
|
13
|
+
export const ArtboardByIndex = (index: number): ArtboardBy => {
|
|
14
|
+
if (!Number.isInteger(index)) {
|
|
15
|
+
throw new Error('Artboard index must be an integer');
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
type: 'index',
|
|
19
|
+
index: index,
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Creates an ArtboardBy object for the artboard with the given name.
|
|
25
|
+
* @param {string} name - The name of the artboard to create an ArtboardBy object for.
|
|
26
|
+
* @returns {ArtboardBy} An ArtboardBy object for the artboard with the given name.
|
|
27
|
+
*/
|
|
28
|
+
export const ArtboardByName = (name: string): ArtboardBy => ({
|
|
29
|
+
type: 'name',
|
|
30
|
+
name: name,
|
|
31
|
+
});
|