@octane-xplat/lottie 0.9.0 → 0.10.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/README.md +36 -16
- package/dist/native/index.js +10 -9
- package/dist/native/octane-client-build.json +1 -1
- package/dist/web/index.js +39 -25
- package/dist/web/octane-client-build.json +1 -1
- package/package.json +25 -3
- package/platforms/macos/LICENSE-EpoxyCore-Apache-2.0.txt +201 -0
- package/platforms/macos/LICENSE-LRUCache-MIT.txt +22 -0
- package/platforms/macos/LICENSE-Lottie-Apache-2.0.txt +201 -0
- package/platforms/macos/LICENSE-ZIPFoundation-MIT.txt +21 -0
- package/platforms/macos/UPSTREAM.md +13 -0
- package/platforms/macos/resources/PrivacyInfo.xcprivacy +23 -0
- package/platforms/macos/resources/THIRD-PARTY-NOTICES.txt +10 -0
- package/platforms/macos/src/XplatAppKitLottie.swift +246 -0
- package/platforms/macos/src/vendor/Lottie/PrivacyInfo.xcprivacy +23 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/CAAnimation+TimingConfiguration.swift +81 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/CALayer+addAnimation.swift +476 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/CombinedShapeAnimation.swift +92 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/CustomPathAnimation.swift +89 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/DropShadowAnimation.swift +179 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/EllipseAnimation.swift +53 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/GradientAnimations.swift +287 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/LayerProperty.swift +440 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/OpacityAnimation.swift +53 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/RectangleAnimation.swift +59 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/ShapeAnimation.swift +246 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/StarAnimation.swift +119 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/StrokeAnimation.swift +96 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/TransformAnimations.swift +380 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/VisibilityAnimation.swift +63 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/CompatibilityTracker.swift +129 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/CoreAnimationLayer.swift +645 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Extensions/CALayer+fillBounds.swift +35 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Extensions/KeyframeGroup+exactlyOneKeyframe.swift +28 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Extensions/Keyframes+combined.swift +345 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Extensions/Keyframes+timeRemapping.swift +46 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/AnimationLayer.swift +169 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/BaseAnimationLayer.swift +46 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/BaseCompositionLayer.swift +120 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/CALayer+setupLayerHierarchy.swift +169 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/GradientRenderLayer.swift +101 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/ImageLayer.swift +81 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/InfiniteOpaqueAnimationLayer.swift +57 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/LayerModel+makeAnimationLayer.swift +59 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/MaskCompositionLayer.swift +139 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/PreCompLayer.swift +107 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/RepeaterLayer.swift +113 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/ShapeItemLayer.swift +346 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/ShapeLayer.swift +569 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/SolidLayer.swift +66 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/TextLayer.swift +157 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/TransformLayer.swift +13 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/ValueProviderStore.swift +157 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Diffing/Collection+Diff.swift +267 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Diffing/Diffable.swift +19 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Diffing/DiffableSection.swift +16 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Diffing/IndexChangeset.swift +187 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Diffing/SectionedChangeset.swift +22 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Logging/EpoxyLogger.swift +102 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/CallbackContextEpoxyModeled.swift +8 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/EpoxyModelArrayBuilder.swift +48 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/EpoxyModelProperty.swift +158 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/EpoxyModelStorage.swift +88 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/EpoxyModeled.swift +54 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Internal/AnyEpoxyModelProperty.swift +31 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Internal/ClassReference.swift +39 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/AnimatedProviding.swift +10 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/DataIDProviding.swift +58 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/DidDisplayProviding.swift +41 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/DidEndDisplayingProviding.swift +42 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/DidSelectProviding.swift +36 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/ErasedContentProviding.swift +49 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/MakeViewProviding.swift +61 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/SetBehaviorsProviding.swift +38 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/SetContentProviding.swift +38 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/StyleIDProviding.swift +38 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/TraitCollectionProviding.swift +14 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/ViewDifferentiatorProviding.swift +34 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/ViewProviding.swift +13 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/WillDisplayProviding.swift +41 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/ViewEpoxyModeled.swift +10 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/README.md +30 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/SwiftUI/EpoxySwiftUIIntrinsicContentSizeInvalidator.swift +34 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/SwiftUI/EpoxySwiftUILayoutMargins.swift +38 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/SwiftUI/EpoxyableView+SwiftUIView.swift +165 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/SwiftUI/LayoutUtilities/MeasuringViewRepresentable.swift +127 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/SwiftUI/LayoutUtilities/SwiftUIMeasurementContainer.swift +468 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/SwiftUI/SwiftUIView.swift +146 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/SwiftUI/UIView+SwiftUIView.swift +39 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/SwiftUI/UIViewConfiguringSwiftUIView.swift +41 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Views/BehaviorsConfigurableView.swift +45 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Views/ContentConfigurableView.swift +36 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Views/EpoxyableView.swift +5 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Views/StyledView.swift +43 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Views/ViewType.swift +47 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/LRUCache/LRUCache.swift +257 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/LRUCache/README.md +24 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/README.md +43 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive+BackingConfiguration.swift +149 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive+Deprecated.swift +23 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive+Helpers.swift +361 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive+MemoryFile.swift +205 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive+Progress.swift +66 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive+Reading.swift +160 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive+ReadingDeprecated.swift +50 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive+Writing.swift +403 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive+WritingDeprecated.swift +95 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive+ZIP64.swift +191 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive.swift +404 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Data+Compression.swift +632 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Data+CompressionDeprecated.swift +43 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Data+Serialization.swift +146 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Date+ZIP.swift +101 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Entry+Serialization.swift +191 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Entry+ZIP64.swift +170 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Entry.swift +669 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/FileManager+ZIP.swift +405 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/FileManager+ZIPDeprecated.swift +28 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/README.md +24 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/URL+ZIP.swift +34 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/CompLayers/CompositionLayer.swift +177 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/CompLayers/ImageCompositionLayer.swift +54 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/CompLayers/MaskContainerLayer.swift +191 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/CompLayers/NullCompositionLayer.swift +28 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/CompLayers/PreCompositionLayer.swift +137 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/CompLayers/ShapeCompositionLayer.swift +60 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/CompLayers/SolidCompositionLayer.swift +57 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/CompLayers/TextCompositionLayer.swift +247 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/MainThreadAnimationLayer.swift +321 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/Utility/CachedImageProvider.swift +56 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/Utility/CompositionLayersInitializer.swift +103 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/Utility/CoreTextRenderLayer.swift +424 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/Utility/InvertedMatteLayer.swift +55 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/Utility/LayerFontProvider.swift +39 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/Utility/LayerImageProvider.swift +52 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/Utility/LayerTextProvider.swift +38 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/Utility/LayerTransformNode.swift +149 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Extensions/ItemsExtension.swift +146 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/NodeProperties/NodeProperty.swift +62 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/NodeProperties/Protocols/AnyNodeProperty.swift +53 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/NodeProperties/Protocols/AnyValueContainer.swift +26 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/NodeProperties/Protocols/KeypathSearchable.swift +23 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/NodeProperties/Protocols/NodePropertyMap.swift +43 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/NodeProperties/ValueContainer.swift +47 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/NodeProperties/ValueProviders/GroupInterpolator.swift +39 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/NodeProperties/ValueProviders/SingleValueProvider.swift +43 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/LayerEffectNodes/DropShadowNode.swift +102 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/LayerEffectNodes/LayerEffectNode.swift +25 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/ModifierNodes/RoundedCornersNode.swift +85 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/ModifierNodes/TrimPathNode.swift +281 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/GroupOutputNode.swift +74 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/PassThroughOutputNode.swift +47 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/PathOutputNode.swift +89 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/Renderables/FillRenderer.swift +69 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/Renderables/GradientFillRenderer.swift +253 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/Renderables/GradientStrokeRenderer.swift +64 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/Renderables/LegacyGradientFillRenderer.swift +158 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/Renderables/StrokeRenderer.swift +165 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/PathNodes/EllipseNode.swift +143 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/PathNodes/PolygonNode.swift +173 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/PathNodes/RectNode.swift +238 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/PathNodes/ShapeNode.swift +73 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/PathNodes/StarNode.swift +224 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/RenderContainers/GroupNode.swift +162 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/RenderNodes/FillNode.swift +88 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/RenderNodes/GradientFillNode.swift +103 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/RenderNodes/GradientStrokeNode.swift +149 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/RenderNodes/StrokeNode.swift +179 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/Text/TextAnimatorNode.swift +345 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Protocols/AnimatorNode.swift +197 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Protocols/PathNode.swift +20 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Protocols/RenderNode.swift +60 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/RenderLayers/ShapeContainerLayer.swift +78 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/RenderLayers/ShapeRenderLayer.swift +98 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Assets/Asset.swift +51 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Assets/AssetLibrary.swift +75 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Assets/ImageAsset.swift +141 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Assets/PrecompAsset.swift +47 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/DictionaryInitializable.swift +73 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/DotLottie/DotLottieAnimation.swift +57 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/DotLottie/DotLottieImageProvider.swift +89 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/DotLottie/DotLottieManifest.swift +42 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/DotLottie/DotLottieUtils.swift +71 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Extensions/Bundle.swift +58 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Extensions/KeyedDecodingContainerExtensions.swift +71 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Keyframes/KeyframeData.swift +111 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Keyframes/KeyframeGroup.swift +265 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/LayerEffects/DropShadowEffect.swift +52 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/LayerEffects/EffectValues/ColorEffectValue.swift +45 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/LayerEffects/EffectValues/EffectValue.swift +98 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/LayerEffects/EffectValues/Vector1DEffectValue.swift +45 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/LayerEffects/LayerEffect.swift +103 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/LayerStyles/DropShadowStyle.swift +79 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/LayerStyles/LayerStyle.swift +85 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Layers/ImageLayerModel.swift +49 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Layers/LayerModel.swift +266 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Layers/PreCompLayerModel.swift +74 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Layers/ShapeLayerModel.swift +50 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Layers/SolidLayerModel.swift +63 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Layers/TextLayerModel.swift +65 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Objects/DashPattern.swift +42 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Objects/Marker.swift +35 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Objects/Mask.swift +80 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Objects/Transform.swift +261 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/Ellipse.swift +79 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/Fill.swift +79 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/GradientFill.swift +142 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/GradientStroke.swift +244 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/Group.swift +55 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/Merge.swift +63 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/Rectangle.swift +79 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/Repeater.swift +181 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/RoundedCorners.swift +53 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/Shape.swift +63 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/ShapeItem.swift +171 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/ShapeTransform.swift +202 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/Star.swift +136 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/Stroke.swift +144 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/Trim.swift +90 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Text/Font.swift +67 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Text/Glyph.swift +94 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Text/TextAnimator.swift +240 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Text/TextDocument.swift +142 -0
- package/platforms/macos/src/vendor/Lottie/Private/RootAnimationLayer.swift +54 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Debugging/AnimatorNodeDebugging.swift +23 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Debugging/LayerDebugging.swift +231 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Debugging/TestHelpers.swift +10 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Extensions/AnimationKeypathExtension.swift +303 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Extensions/BlendMode+Filter.swift +31 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Extensions/CGColor+RGB.swift +45 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Extensions/CGFloatExtensions.swift +152 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Extensions/DataExtension.swift +33 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Extensions/MathKit.swift +454 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Extensions/StringExtensions.swift +44 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Helpers/AnimationContext.swift +95 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Helpers/AnyEquatable.swift +23 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Helpers/Binding+Map.swift +19 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Helpers/View+ValueChanged.swift +35 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Interpolatable/InterpolatableExtensions.swift +143 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Interpolatable/KeyframeExtensions.swift +47 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Interpolatable/KeyframeInterpolator.swift +250 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/LottieAnimationSource.swift +51 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Primitives/BezierPath.swift +509 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Primitives/BezierPathRoundExtension.swift +163 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Primitives/CGPointExtension.swift +35 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Primitives/ColorExtension.swift +101 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Primitives/CompoundBezierPath.swift +169 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Primitives/CurveVertex.swift +190 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Primitives/PathElement.swift +78 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Primitives/UnitBezier.swift +119 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Primitives/VectorsExtensions.swift +368 -0
- package/platforms/macos/src/vendor/Lottie/Public/Animation/LottieAnimation.swift +179 -0
- package/platforms/macos/src/vendor/Lottie/Public/Animation/LottieAnimationHelpers.swift +317 -0
- package/platforms/macos/src/vendor/Lottie/Public/Animation/LottieAnimationLayer.swift +1582 -0
- package/platforms/macos/src/vendor/Lottie/Public/Animation/LottieAnimationView.swift +1090 -0
- package/platforms/macos/src/vendor/Lottie/Public/Animation/LottieAnimationViewInitializers.swift +226 -0
- package/platforms/macos/src/vendor/Lottie/Public/Animation/LottiePlaybackMode.swift +266 -0
- package/platforms/macos/src/vendor/Lottie/Public/Animation/LottieView.swift +643 -0
- package/platforms/macos/src/vendor/Lottie/Public/AnimationCache/AnimationCacheProvider.swift +21 -0
- package/platforms/macos/src/vendor/Lottie/Public/AnimationCache/DefaultAnimationCache.swift +67 -0
- package/platforms/macos/src/vendor/Lottie/Public/AnimationCache/LRUAnimationCache.swift +11 -0
- package/platforms/macos/src/vendor/Lottie/Public/AnimationCache/LottieAnimationCache.swift +15 -0
- package/platforms/macos/src/vendor/Lottie/Public/Configuration/DecodingStrategy.swift +15 -0
- package/platforms/macos/src/vendor/Lottie/Public/Configuration/LottieConfiguration.swift +54 -0
- package/platforms/macos/src/vendor/Lottie/Public/Configuration/LottieURLSession.swift +31 -0
- package/platforms/macos/src/vendor/Lottie/Public/Configuration/ReducedMotionOption.swift +128 -0
- package/platforms/macos/src/vendor/Lottie/Public/Configuration/RenderingEngineOption.swift +117 -0
- package/platforms/macos/src/vendor/Lottie/Public/Controls/AnimatedButton.swift +128 -0
- package/platforms/macos/src/vendor/Lottie/Public/Controls/AnimatedControl.swift +248 -0
- package/platforms/macos/src/vendor/Lottie/Public/Controls/AnimatedSwitch.swift +271 -0
- package/platforms/macos/src/vendor/Lottie/Public/Controls/LottieButton.swift +119 -0
- package/platforms/macos/src/vendor/Lottie/Public/Controls/LottieSwitch.swift +144 -0
- package/platforms/macos/src/vendor/Lottie/Public/Controls/LottieViewType.swift +79 -0
- package/platforms/macos/src/vendor/Lottie/Public/DotLottie/Cache/DotLottieCache.swift +66 -0
- package/platforms/macos/src/vendor/Lottie/Public/DotLottie/Cache/DotLottieCacheProvider.swift +21 -0
- package/platforms/macos/src/vendor/Lottie/Public/DotLottie/DotLottieConfiguration.swift +72 -0
- package/platforms/macos/src/vendor/Lottie/Public/DotLottie/DotLottieFile.swift +186 -0
- package/platforms/macos/src/vendor/Lottie/Public/DotLottie/DotLottieFileHelpers.swift +386 -0
- package/platforms/macos/src/vendor/Lottie/Public/DynamicProperties/AnimationKeypath.swift +57 -0
- package/platforms/macos/src/vendor/Lottie/Public/DynamicProperties/AnyValueProvider.swift +132 -0
- package/platforms/macos/src/vendor/Lottie/Public/DynamicProperties/ValueProviders/ColorValueProvider.swift +96 -0
- package/platforms/macos/src/vendor/Lottie/Public/DynamicProperties/ValueProviders/FloatValueProvider.swift +81 -0
- package/platforms/macos/src/vendor/Lottie/Public/DynamicProperties/ValueProviders/GradientValueProvider.swift +138 -0
- package/platforms/macos/src/vendor/Lottie/Public/DynamicProperties/ValueProviders/PointValueProvider.swift +81 -0
- package/platforms/macos/src/vendor/Lottie/Public/DynamicProperties/ValueProviders/SizeValueProvider.swift +81 -0
- package/platforms/macos/src/vendor/Lottie/Public/FontProvider/AnimationFontProvider.swift +41 -0
- package/platforms/macos/src/vendor/Lottie/Public/ImageProvider/AnimationImageProvider.swift +43 -0
- package/platforms/macos/src/vendor/Lottie/Public/Keyframes/Interpolatable.swift +285 -0
- package/platforms/macos/src/vendor/Lottie/Public/Keyframes/Keyframe.swift +98 -0
- package/platforms/macos/src/vendor/Lottie/Public/Logging/LottieLogger.swift +138 -0
- package/platforms/macos/src/vendor/Lottie/Public/Primitives/AnimationTime.swift +15 -0
- package/platforms/macos/src/vendor/Lottie/Public/Primitives/LottieColor.swift +43 -0
- package/platforms/macos/src/vendor/Lottie/Public/Primitives/Vectors.swift +36 -0
- package/platforms/macos/src/vendor/Lottie/Public/TextProvider/AnimationTextProvider.swift +135 -0
- package/platforms/macos/src/vendor/Lottie/Public/iOS/AnimationSubview.swift +19 -0
- package/platforms/macos/src/vendor/Lottie/Public/iOS/BundleImageProvider.swift +98 -0
- package/platforms/macos/src/vendor/Lottie/Public/iOS/Compatibility/CompatibleAnimationKeypath.swift +33 -0
- package/platforms/macos/src/vendor/Lottie/Public/iOS/Compatibility/CompatibleAnimationView.swift +567 -0
- package/platforms/macos/src/vendor/Lottie/Public/iOS/Compatibility/CompatibleFontProvider.swift +41 -0
- package/platforms/macos/src/vendor/Lottie/Public/iOS/Compatibility/CompatibleImageProvider.swift +43 -0
- package/platforms/macos/src/vendor/Lottie/Public/iOS/FilepathImageProvider.swift +78 -0
- package/platforms/macos/src/vendor/Lottie/Public/iOS/LottieAnimationViewBase.swift +85 -0
- package/platforms/macos/src/vendor/Lottie/Public/iOS/UIColorExtension.swift +23 -0
- package/platforms/macos/src/vendor/Lottie/Public/macOS/AnimationSubview.macOS.swift +19 -0
- package/platforms/macos/src/vendor/Lottie/Public/macOS/BundleImageProvider.macOS.swift +90 -0
- package/platforms/macos/src/vendor/Lottie/Public/macOS/FilepathImageProvider.macOS.swift +86 -0
- package/platforms/macos/src/vendor/Lottie/Public/macOS/LottieAnimationViewBase.macOS.swift +102 -0
- package/src/Lottie.macos.tsrx +129 -0
- package/src/Lottie.tsrx +3 -2
- package/src/Lottie.web.tsrx +28 -11
- package/src/index.macos.ts +2 -0
- package/src/props.ts +6 -1
- package/types/generated/props.d.ts +5 -1
package/platforms/macos/src/vendor/Lottie/Public/iOS/Compatibility/CompatibleAnimationView.swift
ADDED
|
@@ -0,0 +1,567 @@
|
|
|
1
|
+
//
|
|
2
|
+
// CompatibleAnimationView.swift
|
|
3
|
+
// Lottie_iOS
|
|
4
|
+
//
|
|
5
|
+
// Created by Tyler Hedrick on 3/6/19.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
#if canImport(UIKit)
|
|
10
|
+
import UIKit
|
|
11
|
+
|
|
12
|
+
/// An Objective-C compatible wrapper around Lottie's Animation class.
|
|
13
|
+
/// Use in tandem with CompatibleAnimationView when using Lottie in Objective-C
|
|
14
|
+
@objc
|
|
15
|
+
public final class CompatibleAnimation: NSObject {
|
|
16
|
+
|
|
17
|
+
// MARK: Lifecycle
|
|
18
|
+
|
|
19
|
+
@objc
|
|
20
|
+
public init(
|
|
21
|
+
name: String,
|
|
22
|
+
subdirectory: String? = nil,
|
|
23
|
+
bundle: Bundle = Bundle.main
|
|
24
|
+
) {
|
|
25
|
+
self.name = name
|
|
26
|
+
self.subdirectory = subdirectory
|
|
27
|
+
self.bundle = bundle
|
|
28
|
+
super.init()
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// MARK: Internal
|
|
32
|
+
|
|
33
|
+
var animation: LottieAnimation? {
|
|
34
|
+
LottieAnimation.named(name, bundle: bundle, subdirectory: subdirectory)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@objc
|
|
38
|
+
static func named(_ name: String) -> CompatibleAnimation {
|
|
39
|
+
CompatibleAnimation(name: name)
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// MARK: Private
|
|
43
|
+
|
|
44
|
+
private let name: String
|
|
45
|
+
private let subdirectory: String?
|
|
46
|
+
private let bundle: Bundle
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/// An Objective-C compatible wrapper around Lottie's RenderingEngineOption enum. Pass in an option
|
|
50
|
+
/// to the CompatibleAnimationView initializers to configure the rendering engine for the view.
|
|
51
|
+
@objc
|
|
52
|
+
public enum CompatibleRenderingEngineOption: Int {
|
|
53
|
+
/// Uses the rendering engine specified in LottieConfiguration.shared.
|
|
54
|
+
case shared
|
|
55
|
+
|
|
56
|
+
/// Uses the library default rendering engine, coreAnimation.
|
|
57
|
+
case defaultEngine
|
|
58
|
+
|
|
59
|
+
/// Optimizes rendering performance by using the Core Animation rendering engine for animations it
|
|
60
|
+
/// can render while falling back to the main thread renderer for all other animations.
|
|
61
|
+
case automatic
|
|
62
|
+
|
|
63
|
+
/// Only renders animations using the main thread rendering engine.
|
|
64
|
+
case mainThread
|
|
65
|
+
|
|
66
|
+
/// Only renders animations using the Core Animation rendering engine. Those animations that use
|
|
67
|
+
/// features not yet supported on this renderer will not be rendered.
|
|
68
|
+
case coreAnimation
|
|
69
|
+
|
|
70
|
+
// MARK: Public
|
|
71
|
+
|
|
72
|
+
/// Converts a CompatibleRenderingEngineOption to the corresponding LottieConfiguration for
|
|
73
|
+
/// internal rendering engine configuration.
|
|
74
|
+
public static func generateLottieConfiguration(
|
|
75
|
+
_ configuration: CompatibleRenderingEngineOption
|
|
76
|
+
) -> LottieConfiguration {
|
|
77
|
+
switch configuration {
|
|
78
|
+
case .shared:
|
|
79
|
+
LottieConfiguration.shared
|
|
80
|
+
case .defaultEngine:
|
|
81
|
+
LottieConfiguration(renderingEngine: .coreAnimation)
|
|
82
|
+
case .automatic:
|
|
83
|
+
LottieConfiguration(renderingEngine: .automatic)
|
|
84
|
+
case .mainThread:
|
|
85
|
+
LottieConfiguration(renderingEngine: .mainThread)
|
|
86
|
+
case .coreAnimation:
|
|
87
|
+
LottieConfiguration(renderingEngine: .coreAnimation)
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/// An Objective-C compatible version of `LottieBackgroundBehavior`.
|
|
93
|
+
@objc
|
|
94
|
+
public enum CompatibleBackgroundBehavior: Int {
|
|
95
|
+
/// Stop the animation and reset it to the beginning of its current play time. The completion block is called.
|
|
96
|
+
case stop
|
|
97
|
+
|
|
98
|
+
/// Pause the animation in its current state. The completion block is called.
|
|
99
|
+
case pause
|
|
100
|
+
|
|
101
|
+
/// Pause the animation and restart it when the application moves to the foreground.
|
|
102
|
+
/// The completion block is stored and called when the animation completes.
|
|
103
|
+
/// - This is the default when using the Main Thread rendering engine.
|
|
104
|
+
case pauseAndRestore
|
|
105
|
+
|
|
106
|
+
/// Stops the animation and sets it to the end of its current play time. The completion block is called.
|
|
107
|
+
case forceFinish
|
|
108
|
+
|
|
109
|
+
/// The animation continues playing in the background.
|
|
110
|
+
/// - This is the default when using the Core Animation rendering engine.
|
|
111
|
+
/// Playing an animation using the Core Animation engine doesn't come with any CPU overhead,
|
|
112
|
+
/// so using `.continuePlaying` avoids the need to stop and then resume the animation
|
|
113
|
+
/// (which does come with some CPU overhead).
|
|
114
|
+
/// - This mode should not be used with the Main Thread rendering engine.
|
|
115
|
+
case continuePlaying
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/// An Objective-C compatible wrapper around Lottie's LottieAnimationView.
|
|
119
|
+
@objc
|
|
120
|
+
public final class CompatibleAnimationView: UIView {
|
|
121
|
+
|
|
122
|
+
// MARK: Lifecycle
|
|
123
|
+
|
|
124
|
+
/// Initializes a compatible AnimationView with a given compatible animation. Defaults to using
|
|
125
|
+
/// the rendering engine specified in LottieConfiguration.shared.
|
|
126
|
+
@objc
|
|
127
|
+
public convenience init(compatibleAnimation: CompatibleAnimation) {
|
|
128
|
+
self.init(compatibleAnimation: compatibleAnimation, compatibleRenderingEngineOption: .shared)
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/// Initializes a compatible AnimationView with a given compatible animation and rendering engine
|
|
132
|
+
/// configuration.
|
|
133
|
+
@objc
|
|
134
|
+
public init(
|
|
135
|
+
compatibleAnimation: CompatibleAnimation,
|
|
136
|
+
compatibleRenderingEngineOption: CompatibleRenderingEngineOption
|
|
137
|
+
) {
|
|
138
|
+
animationView = LottieAnimationView(
|
|
139
|
+
animation: compatibleAnimation.animation,
|
|
140
|
+
configuration: CompatibleRenderingEngineOption.generateLottieConfiguration(compatibleRenderingEngineOption)
|
|
141
|
+
)
|
|
142
|
+
self.compatibleAnimation = compatibleAnimation
|
|
143
|
+
super.init(frame: .zero)
|
|
144
|
+
commonInit()
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/// Initializes a compatible AnimationView with the resources asynchronously loaded from a given
|
|
148
|
+
/// URL. Defaults to using the rendering engine specified in LottieConfiguration.shared.
|
|
149
|
+
@objc
|
|
150
|
+
public convenience init(url: URL) {
|
|
151
|
+
self.init(url: url, compatibleRenderingEngineOption: .shared)
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/// Initializes a compatible AnimationView with the resources asynchronously loaded from a given
|
|
155
|
+
/// URL using the given rendering engine configuration.
|
|
156
|
+
@objc
|
|
157
|
+
public init(url: URL, compatibleRenderingEngineOption: CompatibleRenderingEngineOption) {
|
|
158
|
+
animationView = LottieAnimationView(
|
|
159
|
+
url: url,
|
|
160
|
+
closure: { _ in },
|
|
161
|
+
configuration: CompatibleRenderingEngineOption.generateLottieConfiguration(compatibleRenderingEngineOption)
|
|
162
|
+
)
|
|
163
|
+
super.init(frame: .zero)
|
|
164
|
+
commonInit()
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/// Initializes a compatible AnimationView from a given Data object specifying the Lottie
|
|
168
|
+
/// animation. Defaults to using the rendering engine specified in LottieConfiguration.shared.
|
|
169
|
+
@objc
|
|
170
|
+
public convenience init(data: Data) {
|
|
171
|
+
self.init(data: data, compatibleRenderingEngineOption: .shared)
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/// Initializes a compatible AnimationView from a given Data object specifying the Lottie
|
|
175
|
+
/// animation using the given rendering engine configuration.
|
|
176
|
+
@objc
|
|
177
|
+
public init(data: Data, compatibleRenderingEngineOption: CompatibleRenderingEngineOption) {
|
|
178
|
+
if let animation = try? LottieAnimation.from(data: data) {
|
|
179
|
+
animationView = LottieAnimationView(
|
|
180
|
+
animation: animation,
|
|
181
|
+
configuration: CompatibleRenderingEngineOption.generateLottieConfiguration(compatibleRenderingEngineOption)
|
|
182
|
+
)
|
|
183
|
+
} else {
|
|
184
|
+
animationView = LottieAnimationView(
|
|
185
|
+
configuration: CompatibleRenderingEngineOption.generateLottieConfiguration(compatibleRenderingEngineOption)
|
|
186
|
+
)
|
|
187
|
+
}
|
|
188
|
+
super.init(frame: .zero)
|
|
189
|
+
commonInit()
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
@objc
|
|
193
|
+
public override init(frame: CGRect) {
|
|
194
|
+
animationView = LottieAnimationView()
|
|
195
|
+
super.init(frame: frame)
|
|
196
|
+
commonInit()
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
required init?(coder: NSCoder) {
|
|
200
|
+
animationView = LottieAnimationView()
|
|
201
|
+
super.init(coder: coder)
|
|
202
|
+
commonInit()
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
// MARK: Public
|
|
206
|
+
|
|
207
|
+
@objc public var compatibleAnimation: CompatibleAnimation? {
|
|
208
|
+
didSet {
|
|
209
|
+
animationView.animation = compatibleAnimation?.animation
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
@objc public var loopAnimationCount: CGFloat = 0 {
|
|
214
|
+
didSet {
|
|
215
|
+
animationView.loopMode = loopAnimationCount == -1 ? .loop : .repeat(Float(loopAnimationCount))
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
@objc public var compatibleDictionaryTextProvider: CompatibleDictionaryTextProvider? {
|
|
220
|
+
didSet {
|
|
221
|
+
animationView.textProvider = compatibleDictionaryTextProvider?.textProvider ?? DefaultTextProvider()
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
@objc public var compatibleAnimationFontProvider: CompatibleAnimationFontProvider? {
|
|
226
|
+
didSet {
|
|
227
|
+
animationView.fontProvider =
|
|
228
|
+
compatibleAnimationFontProvider.map(CompatibleFontProvider.init) ?? DefaultFontProvider()
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
@objc public var compatibleAnimationImageProvider: CompatibleAnimationImageProvider? {
|
|
233
|
+
didSet {
|
|
234
|
+
animationView.imageProvider = compatibleAnimationImageProvider
|
|
235
|
+
.map(CompatibleImageProvider.init)
|
|
236
|
+
?? BundleImageProvider(bundle: Bundle.main, searchPath: nil)
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
@objc
|
|
241
|
+
public override var contentMode: UIView.ContentMode {
|
|
242
|
+
set { animationView.contentMode = newValue }
|
|
243
|
+
get { animationView.contentMode }
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
@objc
|
|
247
|
+
public var shouldRasterizeWhenIdle: Bool {
|
|
248
|
+
set { animationView.shouldRasterizeWhenIdle = newValue }
|
|
249
|
+
get { animationView.shouldRasterizeWhenIdle }
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
@objc
|
|
253
|
+
public var currentProgress: CGFloat {
|
|
254
|
+
set { animationView.currentProgress = newValue }
|
|
255
|
+
get { animationView.currentProgress }
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
@objc
|
|
259
|
+
public var duration: CGFloat {
|
|
260
|
+
animationView.animation?.duration ?? 0.0
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
@objc
|
|
264
|
+
public var currentTime: TimeInterval {
|
|
265
|
+
set { animationView.currentTime = newValue }
|
|
266
|
+
get { animationView.currentTime }
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
@objc
|
|
270
|
+
public var currentFrame: CGFloat {
|
|
271
|
+
set { animationView.currentFrame = newValue }
|
|
272
|
+
get { animationView.currentFrame }
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
@objc
|
|
276
|
+
public var realtimeAnimationFrame: CGFloat {
|
|
277
|
+
animationView.realtimeAnimationFrame
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
@objc
|
|
281
|
+
public var realtimeAnimationProgress: CGFloat {
|
|
282
|
+
animationView.realtimeAnimationProgress
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
@objc
|
|
286
|
+
public var animationSpeed: CGFloat {
|
|
287
|
+
set { animationView.animationSpeed = newValue }
|
|
288
|
+
get { animationView.animationSpeed }
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
@objc
|
|
292
|
+
public var respectAnimationFrameRate: Bool {
|
|
293
|
+
set { animationView.respectAnimationFrameRate = newValue }
|
|
294
|
+
get { animationView.respectAnimationFrameRate }
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
@objc
|
|
298
|
+
public var isAnimationPlaying: Bool {
|
|
299
|
+
animationView.isAnimationPlaying
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
@objc
|
|
303
|
+
public var backgroundMode: CompatibleBackgroundBehavior {
|
|
304
|
+
get {
|
|
305
|
+
switch animationView.backgroundBehavior {
|
|
306
|
+
case .stop:
|
|
307
|
+
.stop
|
|
308
|
+
case .pause:
|
|
309
|
+
.pause
|
|
310
|
+
case .pauseAndRestore:
|
|
311
|
+
.pauseAndRestore
|
|
312
|
+
case .forceFinish:
|
|
313
|
+
.forceFinish
|
|
314
|
+
case .continuePlaying:
|
|
315
|
+
.continuePlaying
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
set {
|
|
319
|
+
switch newValue {
|
|
320
|
+
case .stop:
|
|
321
|
+
animationView.backgroundBehavior = .stop
|
|
322
|
+
case .pause:
|
|
323
|
+
animationView.backgroundBehavior = .pause
|
|
324
|
+
case .pauseAndRestore:
|
|
325
|
+
animationView.backgroundBehavior = .pauseAndRestore
|
|
326
|
+
case .forceFinish:
|
|
327
|
+
animationView.backgroundBehavior = .forceFinish
|
|
328
|
+
case .continuePlaying:
|
|
329
|
+
animationView.backgroundBehavior = .continuePlaying
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
@objc
|
|
335
|
+
public func play() {
|
|
336
|
+
play(completion: nil)
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
@objc
|
|
340
|
+
public func play(completion: ((Bool) -> Void)?) {
|
|
341
|
+
animationView.play(completion: completion)
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
/// Note: When calling this code from Objective-C, the method signature is
|
|
345
|
+
/// playFromProgress:toProgress:completion which drops the standard "With" naming convention.
|
|
346
|
+
@objc
|
|
347
|
+
public func play(
|
|
348
|
+
fromProgress: CGFloat,
|
|
349
|
+
toProgress: CGFloat,
|
|
350
|
+
completion: ((Bool) -> Void)? = nil
|
|
351
|
+
) {
|
|
352
|
+
animationView.play(
|
|
353
|
+
fromProgress: fromProgress,
|
|
354
|
+
toProgress: toProgress,
|
|
355
|
+
loopMode: nil,
|
|
356
|
+
completion: completion
|
|
357
|
+
)
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
/// Note: When calling this code from Objective-C, the method signature is
|
|
361
|
+
/// playFromFrame:toFrame:completion which drops the standard "With" naming convention.
|
|
362
|
+
@objc
|
|
363
|
+
public func play(
|
|
364
|
+
fromFrame: CGFloat,
|
|
365
|
+
toFrame: CGFloat,
|
|
366
|
+
completion: ((Bool) -> Void)? = nil
|
|
367
|
+
) {
|
|
368
|
+
animationView.play(
|
|
369
|
+
fromFrame: fromFrame,
|
|
370
|
+
toFrame: toFrame,
|
|
371
|
+
loopMode: nil,
|
|
372
|
+
completion: completion
|
|
373
|
+
)
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
/// Note: When calling this code from Objective-C, the method signature is
|
|
377
|
+
/// playFromMarker:toMarker:completion which drops the standard "With" naming convention.
|
|
378
|
+
@objc
|
|
379
|
+
public func play(
|
|
380
|
+
fromMarker: String,
|
|
381
|
+
toMarker: String,
|
|
382
|
+
completion: ((Bool) -> Void)? = nil
|
|
383
|
+
) {
|
|
384
|
+
animationView.play(
|
|
385
|
+
fromMarker: fromMarker,
|
|
386
|
+
toMarker: toMarker,
|
|
387
|
+
completion: completion
|
|
388
|
+
)
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
@objc
|
|
392
|
+
public func play(
|
|
393
|
+
marker: String,
|
|
394
|
+
completion: ((Bool) -> Void)? = nil
|
|
395
|
+
) {
|
|
396
|
+
animationView.play(
|
|
397
|
+
marker: marker,
|
|
398
|
+
completion: completion
|
|
399
|
+
)
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
@objc
|
|
403
|
+
public func stop() {
|
|
404
|
+
animationView.stop()
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
@objc
|
|
408
|
+
public func pause() {
|
|
409
|
+
animationView.pause()
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
@objc
|
|
413
|
+
public func reloadImages() {
|
|
414
|
+
animationView.reloadImages()
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
@objc
|
|
418
|
+
public func forceDisplayUpdate() {
|
|
419
|
+
animationView.forceDisplayUpdate()
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
@objc
|
|
423
|
+
public func getValue(
|
|
424
|
+
for keypath: CompatibleAnimationKeypath,
|
|
425
|
+
atFrame: CGFloat
|
|
426
|
+
) -> Any? {
|
|
427
|
+
animationView.getValue(
|
|
428
|
+
for: keypath.animationKeypath,
|
|
429
|
+
atFrame: atFrame
|
|
430
|
+
)
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
@objc
|
|
434
|
+
public func logHierarchyKeypaths() {
|
|
435
|
+
animationView.logHierarchyKeypaths()
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
@objc
|
|
439
|
+
public func setColorValue(_ color: UIColor, forKeypath keypath: CompatibleAnimationKeypath) {
|
|
440
|
+
var red: CGFloat = 0
|
|
441
|
+
var green: CGFloat = 0
|
|
442
|
+
var blue: CGFloat = 0
|
|
443
|
+
var alpha: CGFloat = 0
|
|
444
|
+
|
|
445
|
+
let colorspace = LottieConfiguration.shared.colorSpace
|
|
446
|
+
|
|
447
|
+
let convertedColor = color.cgColor.converted(to: colorspace, intent: .defaultIntent, options: nil)
|
|
448
|
+
|
|
449
|
+
if let components = convertedColor?.components, components.count == 4 {
|
|
450
|
+
red = components[0]
|
|
451
|
+
green = components[1]
|
|
452
|
+
blue = components[2]
|
|
453
|
+
alpha = components[3]
|
|
454
|
+
} else {
|
|
455
|
+
color.getRed(&red, green: &green, blue: &blue, alpha: &alpha)
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
let valueProvider = ColorValueProvider(LottieColor(r: Double(red), g: Double(green), b: Double(blue), a: Double(alpha)))
|
|
459
|
+
animationView.setValueProvider(valueProvider, keypath: keypath.animationKeypath)
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
@objc
|
|
463
|
+
public func getColorValue(for keypath: CompatibleAnimationKeypath, atFrame: CGFloat) -> UIColor? {
|
|
464
|
+
let value = animationView.getValue(for: keypath.animationKeypath, atFrame: atFrame)
|
|
465
|
+
guard let colorValue = value as? LottieColor else {
|
|
466
|
+
return nil
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
return UIColor(
|
|
470
|
+
red: CGFloat(colorValue.r),
|
|
471
|
+
green: CGFloat(colorValue.g),
|
|
472
|
+
blue: CGFloat(colorValue.b),
|
|
473
|
+
alpha: CGFloat(colorValue.a)
|
|
474
|
+
)
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
@objc
|
|
478
|
+
public func addSubview(
|
|
479
|
+
_ subview: AnimationSubview,
|
|
480
|
+
forLayerAt keypath: CompatibleAnimationKeypath
|
|
481
|
+
) {
|
|
482
|
+
animationView.addSubview(
|
|
483
|
+
subview,
|
|
484
|
+
forLayerAt: keypath.animationKeypath
|
|
485
|
+
)
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
@objc
|
|
489
|
+
public func convert(
|
|
490
|
+
rect: CGRect,
|
|
491
|
+
toLayerAt keypath: CompatibleAnimationKeypath?
|
|
492
|
+
) -> CGRect {
|
|
493
|
+
animationView.convert(
|
|
494
|
+
rect,
|
|
495
|
+
toLayerAt: keypath?.animationKeypath
|
|
496
|
+
) ?? .zero
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
@objc
|
|
500
|
+
public func convert(
|
|
501
|
+
point: CGPoint,
|
|
502
|
+
toLayerAt keypath: CompatibleAnimationKeypath?
|
|
503
|
+
) -> CGPoint {
|
|
504
|
+
animationView.convert(
|
|
505
|
+
point,
|
|
506
|
+
toLayerAt: keypath?.animationKeypath
|
|
507
|
+
) ?? .zero
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
@objc
|
|
511
|
+
public func progressTime(forMarker named: String) -> CGFloat {
|
|
512
|
+
animationView.progressTime(forMarker: named) ?? 0
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
@objc
|
|
516
|
+
public func frameTime(forMarker named: String) -> CGFloat {
|
|
517
|
+
animationView.frameTime(forMarker: named) ?? 0
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
@objc
|
|
521
|
+
public func durationFrameTime(forMarker named: String) -> CGFloat {
|
|
522
|
+
animationView.durationFrameTime(forMarker: named) ?? 0
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
// MARK: Private
|
|
526
|
+
|
|
527
|
+
private let animationView: LottieAnimationView
|
|
528
|
+
|
|
529
|
+
private func commonInit() {
|
|
530
|
+
setUpViews()
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
private func setUpViews() {
|
|
534
|
+
animationView.translatesAutoresizingMaskIntoConstraints = false
|
|
535
|
+
addSubview(animationView)
|
|
536
|
+
animationView.topAnchor.constraint(equalTo: topAnchor).isActive = true
|
|
537
|
+
animationView.trailingAnchor.constraint(equalTo: trailingAnchor).isActive = true
|
|
538
|
+
animationView.leadingAnchor.constraint(equalTo: leadingAnchor).isActive = true
|
|
539
|
+
animationView.bottomAnchor.constraint(equalTo: bottomAnchor).isActive = true
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
/// An Objective-C compatible wrapper around Lottie's DictionaryTextProvider.
|
|
544
|
+
/// Use in tandem with CompatibleAnimationView to supply text to LottieAnimationView
|
|
545
|
+
/// when using Lottie in Objective-C.
|
|
546
|
+
@objc
|
|
547
|
+
public final class CompatibleDictionaryTextProvider: NSObject {
|
|
548
|
+
|
|
549
|
+
// MARK: Lifecycle
|
|
550
|
+
|
|
551
|
+
@objc
|
|
552
|
+
public init(values: [String: String]) {
|
|
553
|
+
self.values = values
|
|
554
|
+
super.init()
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
// MARK: Internal
|
|
558
|
+
|
|
559
|
+
var textProvider: AnimationKeypathTextProvider? {
|
|
560
|
+
DictionaryTextProvider(values)
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
// MARK: Private
|
|
564
|
+
|
|
565
|
+
private let values: [String: String]
|
|
566
|
+
}
|
|
567
|
+
#endif
|
package/platforms/macos/src/vendor/Lottie/Public/iOS/Compatibility/CompatibleFontProvider.swift
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
//
|
|
2
|
+
// CompatibleFontProvider.swift
|
|
3
|
+
// Lottie_iOS
|
|
4
|
+
//
|
|
5
|
+
|
|
6
|
+
import CoreText
|
|
7
|
+
import Foundation
|
|
8
|
+
|
|
9
|
+
#if canImport(UIKit)
|
|
10
|
+
import UIKit
|
|
11
|
+
/// An Objective-C compatible protocol for providing fonts to Lottie.
|
|
12
|
+
@objc
|
|
13
|
+
public protocol CompatibleAnimationFontProvider: NSObjectProtocol {
|
|
14
|
+
@objc
|
|
15
|
+
func fontFor(family: String, size: CGFloat) -> CTFont?
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/// An internal wrapper that converts a `CompatibleAnimationFontProvider` to a Lottie `AnimationFontProvider`.
|
|
19
|
+
final class CompatibleFontProvider: AnimationFontProvider {
|
|
20
|
+
|
|
21
|
+
// MARK: Lifecycle
|
|
22
|
+
|
|
23
|
+
init(fontProvider: CompatibleAnimationFontProvider) {
|
|
24
|
+
self.fontProvider = fontProvider
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// MARK: Internal
|
|
28
|
+
|
|
29
|
+
let fontProvider: CompatibleAnimationFontProvider
|
|
30
|
+
|
|
31
|
+
func fontFor(family: String, size: CGFloat) -> CTFont? {
|
|
32
|
+
fontProvider.fontFor(family: family, size: size)
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
extension CompatibleFontProvider: Equatable {
|
|
37
|
+
static func ==(lhs: CompatibleFontProvider, rhs: CompatibleFontProvider) -> Bool {
|
|
38
|
+
lhs.fontProvider.isEqual(rhs.fontProvider)
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
#endif
|
package/platforms/macos/src/vendor/Lottie/Public/iOS/Compatibility/CompatibleImageProvider.swift
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
//
|
|
2
|
+
// CompatibleImageProvider.swift
|
|
3
|
+
// Lottie_iOS
|
|
4
|
+
//
|
|
5
|
+
|
|
6
|
+
import CoreGraphics
|
|
7
|
+
import Foundation
|
|
8
|
+
|
|
9
|
+
#if canImport(UIKit)
|
|
10
|
+
import UIKit
|
|
11
|
+
|
|
12
|
+
/// An Objective-C compatible protocol for providing images to Lottie.
|
|
13
|
+
@objc
|
|
14
|
+
public protocol CompatibleAnimationImageProvider: NSObjectProtocol {
|
|
15
|
+
/// The image to display for the given asset name defined in the `LottieAnimation` JSON file.
|
|
16
|
+
@objc
|
|
17
|
+
func imageForAsset(name: String) -> CGImage?
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/// An internal wrapper that converts a `CompatibleAnimationImageProvider` to a Lottie `AnimationImageProvider`.
|
|
21
|
+
final class CompatibleImageProvider: AnimationImageProvider {
|
|
22
|
+
|
|
23
|
+
// MARK: Lifecycle
|
|
24
|
+
|
|
25
|
+
init(imageProvider: CompatibleAnimationImageProvider) {
|
|
26
|
+
self.imageProvider = imageProvider
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// MARK: Internal
|
|
30
|
+
|
|
31
|
+
let imageProvider: CompatibleAnimationImageProvider
|
|
32
|
+
|
|
33
|
+
func imageForAsset(asset: ImageAsset) -> CGImage? {
|
|
34
|
+
imageProvider.imageForAsset(name: asset.name)
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
extension CompatibleImageProvider: Equatable {
|
|
39
|
+
static func ==(lhs: CompatibleImageProvider, rhs: CompatibleImageProvider) -> Bool {
|
|
40
|
+
lhs.imageProvider.isEqual(rhs.imageProvider)
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
#endif
|