lottie-ios 3.5.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/.github/workflows/main.yml +5 -7
  2. package/Gemfile.lock +1 -1
  3. package/Lottie.xcodeproj/project.pbxproj +230 -12
  4. package/Lottie.xcworkspace/xcshareddata/swiftpm/Package.resolved +18 -0
  5. package/Lottie.xcworkspace/xcuserdata/calstephens.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  6. package/Lottie.xcworkspace/xcuserdata/calstephens.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +3 -24
  7. package/Package.swift +2 -2
  8. package/README.md +3 -3
  9. package/Rakefile +1 -1
  10. package/Sources/Private/CoreAnimation/Animations/CALayer+addAnimation.swift +5 -8
  11. package/Sources/Private/CoreAnimation/Animations/CustomPathAnimation.swift +42 -3
  12. package/Sources/Private/CoreAnimation/Animations/EllipseAnimation.swift +3 -15
  13. package/Sources/Private/CoreAnimation/Animations/GradientAnimations.swift +25 -17
  14. package/Sources/Private/CoreAnimation/Animations/RectangleAnimation.swift +6 -17
  15. package/Sources/Private/CoreAnimation/Animations/ShapeAnimation.swift +25 -11
  16. package/Sources/Private/CoreAnimation/Animations/StarAnimation.swift +4 -23
  17. package/Sources/Private/CoreAnimation/CoreAnimationLayer.swift +1 -1
  18. package/Sources/Private/CoreAnimation/Extensions/KeyframeGroup+exactlyOneKeyframe.swift +4 -12
  19. package/Sources/Private/CoreAnimation/Extensions/Keyframes+combined.swift +222 -0
  20. package/Sources/Private/CoreAnimation/Layers/CALayer+setupLayerHierarchy.swift +7 -5
  21. package/Sources/Private/CoreAnimation/Layers/GradientRenderLayer.swift +13 -10
  22. package/Sources/Private/CoreAnimation/Layers/InfiniteOpaqueAnimationLayer.swift +56 -0
  23. package/Sources/Private/CoreAnimation/Layers/PreCompLayer.swift +1 -2
  24. package/Sources/Private/CoreAnimation/Layers/ShapeItemLayer.swift +9 -3
  25. package/Sources/Private/CoreAnimation/Layers/ShapeLayer.swift +7 -18
  26. package/Sources/Private/CoreAnimation/ValueProviderStore.swift +1 -2
  27. package/Sources/Private/MainThread/LayerContainers/CompLayers/MaskContainerLayer.swift +3 -3
  28. package/Sources/Private/MainThread/LayerContainers/CompLayers/PreCompositionLayer.swift +2 -2
  29. package/Sources/Private/MainThread/LayerContainers/MainThreadAnimationLayer.swift +4 -3
  30. package/Sources/Private/MainThread/LayerContainers/Utility/InvertedMatteLayer.swift +1 -3
  31. package/Sources/Private/MainThread/NodeRenderSystem/Extensions/ItemsExtension.swift +7 -0
  32. package/Sources/Private/MainThread/NodeRenderSystem/NodeProperties/ValueProviders/GroupInterpolator.swift +2 -2
  33. package/Sources/Private/MainThread/NodeRenderSystem/Nodes/ModifierNodes/RoundedCornersNode.swift +85 -0
  34. package/Sources/Private/MainThread/NodeRenderSystem/Nodes/ModifierNodes/TrimPathNode.swift +1 -1
  35. package/Sources/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/Renderables/GradientFillRenderer.swift +11 -12
  36. package/Sources/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/Renderables/GradientStrokeRenderer.swift +1 -1
  37. package/Sources/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/Renderables/LegacyGradientFillRenderer.swift +10 -11
  38. package/Sources/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/Renderables/StrokeRenderer.swift +1 -1
  39. package/Sources/Private/MainThread/NodeRenderSystem/RenderLayers/ShapeContainerLayer.swift +1 -1
  40. package/Sources/Private/Model/DotLottie/DotLottieAnimation.swift +52 -0
  41. package/Sources/Private/Model/DotLottie/DotLottieConfiguration.swift +15 -0
  42. package/Sources/Private/Model/DotLottie/DotLottieImageProvider.swift +73 -0
  43. package/Sources/Private/Model/DotLottie/DotLottieManifest.swift +53 -0
  44. package/Sources/Private/Model/DotLottie/DotLottieUtils.swift +58 -0
  45. package/Sources/Private/Model/DotLottie/Zip/Data+Compression.swift +134 -0
  46. package/Sources/Private/Model/DotLottie/Zip/Data+Serialization.swift +87 -0
  47. package/Sources/Private/Model/DotLottie/Zip/FileManager+ZIP.swift +130 -0
  48. package/Sources/Private/Model/DotLottie/Zip/ZipArchive.swift +474 -0
  49. package/Sources/Private/Model/DotLottie/Zip/ZipEntry+Serialization.swift +189 -0
  50. package/Sources/Private/Model/DotLottie/Zip/ZipEntry+ZIP64.swift +179 -0
  51. package/Sources/Private/Model/DotLottie/Zip/ZipEntry.swift +227 -0
  52. package/Sources/Private/Model/Extensions/Bundle.swift +26 -0
  53. package/Sources/Private/Model/Keyframes/KeyframeGroup.swift +9 -2
  54. package/Sources/Private/Model/Layers/LayerModel.swift +1 -1
  55. package/Sources/Private/Model/Layers/TextLayerModel.swift +1 -1
  56. package/Sources/Private/Model/ShapeItems/GradientStroke.swift +1 -1
  57. package/Sources/Private/Model/ShapeItems/RoundedCorners.swift +47 -0
  58. package/Sources/Private/Model/ShapeItems/ShapeItem.swift +4 -0
  59. package/Sources/Private/Model/ShapeItems/Stroke.swift +1 -1
  60. package/Sources/Private/Model/Text/Font.swift +1 -1
  61. package/Sources/Private/Utility/Debugging/LayerDebugging.swift +12 -18
  62. package/Sources/Private/Utility/Extensions/AnimationKeypathExtension.swift +2 -2
  63. package/Sources/Private/Utility/Extensions/CGColor+RGB.swift +12 -7
  64. package/Sources/Private/Utility/Primitives/BezierPathRoundExtension.swift +147 -0
  65. package/Sources/Private/Utility/Primitives/ColorExtension.swift +2 -5
  66. package/Sources/Private/Utility/Primitives/VectorsExtensions.swift +0 -8
  67. package/Sources/Public/Animation/LottieAnimation.swift +2 -10
  68. package/Sources/Public/Animation/LottieAnimationHelpers.swift +46 -11
  69. package/Sources/Public/Animation/LottieAnimationView.swift +102 -14
  70. package/Sources/Public/Animation/LottieAnimationViewInitializers.swift +123 -10
  71. package/Sources/Public/AnimationCache/AnimationCacheProvider.swift +1 -1
  72. package/Sources/Public/AnimationCache/DefaultAnimationCache.swift +54 -0
  73. package/Sources/Public/AnimationCache/LRUAnimationCache.swift +4 -52
  74. package/Sources/Public/AnimationCache/LottieAnimationCache.swift +15 -0
  75. package/Sources/Public/DotLottie/Cache/DotLottieCache.swift +53 -0
  76. package/Sources/Public/DotLottie/Cache/DotLottieCacheProvider.swift +23 -0
  77. package/Sources/Public/DotLottie/DotLottieFile.swift +161 -0
  78. package/Sources/Public/DotLottie/DotLottieFileHelpers.swift +265 -0
  79. package/Sources/Public/LottieConfiguration.swift +24 -6
  80. package/Sources/Public/Primitives/LottieColor.swift +0 -8
  81. package/Sources/Public/Primitives/Vectors.swift +0 -16
  82. package/lottie-ios.podspec +4 -4
  83. package/package.json +2 -2
  84. package/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +0 -7
  85. package/.swiftpm/xcode/package.xcworkspace/xcuserdata/cal.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  86. package/.swiftpm/xcode/package.xcworkspace/xcuserdata/calstephens.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  87. package/.swiftpm/xcode/xcuserdata/cal.xcuserdatad/xcschemes/xcschememanagement.plist +0 -67
  88. package/.swiftpm/xcode/xcuserdata/calstephens.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  89. package/Sources/Private/CoreAnimation/Extensions/Keyframes+combinedIfPossible.swift +0 -154
  90. package/Tests/AnimationKeypathTests.swift +0 -103
  91. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~22UHuHHSTYh5NFeueXXSDdev_8VAbw8H8yl2ICssaC0vaCLj2G2CGZCjUMEyki9c-k-CecFJRyspvzJLiQTjUw== +0 -0
  92. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~4VqMqsI5lOfxRppnud6-VDWcNsU8J7VgFCJfW2dXPwOcAkvU-I8Um5yp9n0Zv6nr3VmcxYggaVMDFfR0U_vjKw== +0 -1
  93. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~6DmZhylL-XQx-O08NugyWINI0ugrLVgVOpbrdp0sT2tEqw-jVD2vvBWYRnYHALkM2_qP2yy-VoovSMzfYALY8A== +0 -0
  94. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~9dj3E5foFK2l_1CEpoRxToU1N6jCdhRVc5vhR10fHS938L9w8HxbiVCPGxYy5981O6M1yZsD4tHFbqBMbER4bQ== +0 -0
  95. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~Bys36bGK_YkCjRNoPMkq3R0OcyPNrVNka1Gz45ilbXJTqp9xAJexx6qKBh86_fm7OgBCO0WS2gJBy77DUUnOOA== +0 -1
  96. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~QJMKb50ZfaWLSHxBSGPlrzULLCqTlb_6W-X0N1-e5PfwCKjpYKOElImsOwgZKVK0cdyf-6u4Zp3mm3BfGQVQ9Q== +0 -0
  97. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~YyEdK1WNFTPo-R3Og2OWduKSikuFYneXurEZbyNLZeDmJLJkd7Ew8jNxy4mvgZw4f4Sikp4swEjJgVzXqhev5g== +0 -1
  98. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~bZd73QR3pWGndrn46_NXJw2dUT7WdBjkH5fdPZ7EnzlcZ9Ifv6WR14RKeWI9diiEjcRJE7ZOWqZ9fzf2vvTnLw== +0 -0
  99. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~baCaLsz8Sq-r6sHhJcZeowVdrnrIxKwDps5Q1Aq38G2AQ3HaopZ9m3A8IXtTFSiZGNiO2qnM9yH7iJfuzC5K0A== +0 -0
  100. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~iZXYCVJLYHKtR7eFHwefLiejC9CkRbBBSkkZmwfkiDEIdUKE4GgVkdDrcHry91RF7d9y7AuYovfGVp1-fuNg0g== +0 -0
  101. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~pTTJImrF4EktmVXGCigWBn7v6YlbH5eFCXIW35CW-iyypvzFMXXYYbQO1ly6Bf3u6CdaepZko-L9obC1mjigMA== +0 -0
  102. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~sVXLeN9UCp6IsOPeuoY76nF-bP-w2rBm61UYvs5XE3o5XhbM7itN2s1XD5i9COIaVMytmUFB-mvCLCqHfHWwpw== +0 -0
  103. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~t8Vsjx3tjPBGQIElMCvqzxLS0hDmBGuLa_CEiB64N2Vxp3qoUfNF0Sar84QnEDOKfyVF6c1KTn1QYg7fRJrk8g== +0 -0
  104. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~zUmPx8nRHLa8-g1WWSYYzveS_6qmBf-y4xyS-dHzD7c_xWwPZlsfKg8UngImNdn0gxGOBSRmCeXbYwWpLfj_Rg== +0 -0
  105. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~22UHuHHSTYh5NFeueXXSDdev_8VAbw8H8yl2ICssaC0vaCLj2G2CGZCjUMEyki9c-k-CecFJRyspvzJLiQTjUw== +0 -0
  106. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~4VqMqsI5lOfxRppnud6-VDWcNsU8J7VgFCJfW2dXPwOcAkvU-I8Um5yp9n0Zv6nr3VmcxYggaVMDFfR0U_vjKw== +0 -0
  107. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~6DmZhylL-XQx-O08NugyWINI0ugrLVgVOpbrdp0sT2tEqw-jVD2vvBWYRnYHALkM2_qP2yy-VoovSMzfYALY8A== +0 -0
  108. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~9dj3E5foFK2l_1CEpoRxToU1N6jCdhRVc5vhR10fHS938L9w8HxbiVCPGxYy5981O6M1yZsD4tHFbqBMbER4bQ== +0 -0
  109. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~Bys36bGK_YkCjRNoPMkq3R0OcyPNrVNka1Gz45ilbXJTqp9xAJexx6qKBh86_fm7OgBCO0WS2gJBy77DUUnOOA== +0 -0
  110. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~QJMKb50ZfaWLSHxBSGPlrzULLCqTlb_6W-X0N1-e5PfwCKjpYKOElImsOwgZKVK0cdyf-6u4Zp3mm3BfGQVQ9Q== +0 -0
  111. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~YyEdK1WNFTPo-R3Og2OWduKSikuFYneXurEZbyNLZeDmJLJkd7Ew8jNxy4mvgZw4f4Sikp4swEjJgVzXqhev5g== +0 -0
  112. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~bZd73QR3pWGndrn46_NXJw2dUT7WdBjkH5fdPZ7EnzlcZ9Ifv6WR14RKeWI9diiEjcRJE7ZOWqZ9fzf2vvTnLw== +0 -0
  113. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~baCaLsz8Sq-r6sHhJcZeowVdrnrIxKwDps5Q1Aq38G2AQ3HaopZ9m3A8IXtTFSiZGNiO2qnM9yH7iJfuzC5K0A== +0 -0
  114. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~iZXYCVJLYHKtR7eFHwefLiejC9CkRbBBSkkZmwfkiDEIdUKE4GgVkdDrcHry91RF7d9y7AuYovfGVp1-fuNg0g== +0 -0
  115. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~pTTJImrF4EktmVXGCigWBn7v6YlbH5eFCXIW35CW-iyypvzFMXXYYbQO1ly6Bf3u6CdaepZko-L9obC1mjigMA== +0 -0
  116. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~sVXLeN9UCp6IsOPeuoY76nF-bP-w2rBm61UYvs5XE3o5XhbM7itN2s1XD5i9COIaVMytmUFB-mvCLCqHfHWwpw== +0 -0
  117. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~t8Vsjx3tjPBGQIElMCvqzxLS0hDmBGuLa_CEiB64N2Vxp3qoUfNF0Sar84QnEDOKfyVF6c1KTn1QYg7fRJrk8g== +0 -0
  118. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~zUmPx8nRHLa8-g1WWSYYzveS_6qmBf-y4xyS-dHzD7c_xWwPZlsfKg8UngImNdn0gxGOBSRmCeXbYwWpLfj_Rg== +0 -0
  119. package/Tests/Artifacts/LottieTests.xcresult/Info.plist +0 -29
  120. package/Tests/AutomaticEngineTests.swift +0 -58
  121. package/Tests/BundleTests.swift +0 -25
  122. package/Tests/DataURLTests.swift +0 -64
  123. package/Tests/ParsingTests.swift +0 -43
  124. package/Tests/PerformanceTests.swift +0 -214
  125. package/Tests/SnapshotConfiguration.swift +0 -172
  126. package/Tests/SnapshotTests.swift +0 -269
  127. package/Tests/Utils/Bundle+Module.swift +0 -30
  128. package/Tests/Utils/HardcodedFontProvider.swift +0 -19
  129. package/Tests/Utils/HardcodedImageProvider.swift +0 -23
  130. package/Tests/Utils/HardcodedTextProvider.swift +0 -27
  131. package/Tests/Utils/Snapshotting+presentationLayer.swift +0 -47
  132. package/Tests/ValueProvidersTests.swift +0 -27
  133. package/script/test-carthage/Cartfile +0 -1
  134. package/script/test-carthage/Cartfile.resolved +0 -1
  135. package/script/test-carthage/CarthageTest/AppDelegate.swift +0 -26
  136. package/script/test-carthage/CarthageTest/Assets.xcassets/AccentColor.colorset/Contents.json +0 -11
  137. package/script/test-carthage/CarthageTest/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -98
  138. package/script/test-carthage/CarthageTest/Assets.xcassets/Contents.json +0 -6
  139. package/script/test-carthage/CarthageTest/Base.lproj/LaunchScreen.storyboard +0 -25
  140. package/script/test-carthage/CarthageTest/Base.lproj/Main.storyboard +0 -24
  141. package/script/test-carthage/CarthageTest/Info.plist +0 -66
  142. package/script/test-carthage/CarthageTest/SceneDelegate.swift +0 -10
  143. package/script/test-carthage/CarthageTest/ViewController.swift +0 -15
  144. package/script/test-carthage/CarthageTest-macOS/AppDelegate.swift +0 -7
  145. package/script/test-carthage/CarthageTest-macOS/Assets.xcassets/AccentColor.colorset/Contents.json +0 -11
  146. package/script/test-carthage/CarthageTest-macOS/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -58
  147. package/script/test-carthage/CarthageTest-macOS/Assets.xcassets/Contents.json +0 -6
  148. package/script/test-carthage/CarthageTest-macOS/Base.lproj/Main.storyboard +0 -717
  149. package/script/test-carthage/CarthageTest-macOS/CarthageTest_macOS.entitlements +0 -10
  150. package/script/test-carthage/CarthageTest-macOS/ViewController.swift +0 -15
  151. package/script/test-carthage/CarthageTest.xcodeproj/project.pbxproj +0 -532
  152. package/script/test-carthage/CarthageTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  153. package/script/test-carthage/CarthageTest.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  154. package/script/test-carthage/CarthageTest.xcodeproj/project.xcworkspace/xcuserdata/cal.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  155. package/script/test-carthage/CarthageTest.xcodeproj/project.xcworkspace/xcuserdata/calstephens.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  156. package/script/test-carthage/CarthageTest.xcodeproj/xcuserdata/cal.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  157. package/script/test-carthage/CarthageTest.xcodeproj/xcuserdata/calstephens.xcuserdatad/xcschemes/xcschememanagement.plist +0 -19
  158. package/script/test-carthage/Mintfile +0 -1
  159. package/script/test-spm/LottieSPM.xcworkspace/contents.xcworkspacedata +0 -7
  160. package/script/test-spm/LottieSPM.xcworkspace/xcuserdata/cal.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  161. package/script/test-spm/Mintfile +0 -1
@@ -9,16 +9,14 @@ on:
9
9
  jobs:
10
10
  build-package:
11
11
  name: "Build Package"
12
- # The macos-11 image includes Xcode 12 releases, but the macos-12
13
- # image only includes Xcode 13 releases. We still need to use macos-11
14
- # on this job to build using Swift 5.3 and Swift 5.4.
15
- runs-on: macos-11
12
+ runs-on: macos-12
16
13
  strategy:
14
+ fail-fast: false
17
15
  matrix:
18
16
  xcode:
19
- - '12.4' # Swift 5.3
20
- - '12.5.1' # Swift 5.4
21
- - '13.2' # Swift 5.5
17
+ - '13.2.1' # Swift 5.5
18
+ - '13.4.1' # Swift 5.6
19
+ - '14.0.1' # Swift 5.7
22
20
  steps:
23
21
  - uses: actions/checkout@v2
24
22
  - uses: ./.github/actions/setup
package/Gemfile.lock CHANGED
@@ -48,7 +48,7 @@ GEM
48
48
  public_suffix (~> 4.0)
49
49
  typhoeus (~> 1.0)
50
50
  cocoapods-deintegrate (1.0.5)
51
- cocoapods-downloader (1.5.1)
51
+ cocoapods-downloader (1.6.3)
52
52
  cocoapods-plugins (1.0.0)
53
53
  nap
54
54
  cocoapods-search (1.0.1)