lottie-ios 3.5.0 → 4.0.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.
Files changed (126) hide show
  1. package/.gitattributes +1 -0
  2. package/.github/workflows/main.yml +7 -7
  3. package/Gemfile.lock +1 -1
  4. package/Lottie.xcodeproj/project.pbxproj +230 -12
  5. package/Lottie.xcworkspace/xcshareddata/swiftpm/Package.resolved +18 -0
  6. package/Lottie.xcworkspace/xcuserdata/calstephens.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  7. package/Lottie.xcworkspace/xcuserdata/calstephens.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +3 -24
  8. package/Package.swift +2 -2
  9. package/README.md +10 -3
  10. package/Rakefile +1 -1
  11. package/Sources/Private/CoreAnimation/Animations/CALayer+addAnimation.swift +5 -8
  12. package/Sources/Private/CoreAnimation/Animations/CustomPathAnimation.swift +42 -3
  13. package/Sources/Private/CoreAnimation/Animations/EllipseAnimation.swift +3 -15
  14. package/Sources/Private/CoreAnimation/Animations/GradientAnimations.swift +25 -17
  15. package/Sources/Private/CoreAnimation/Animations/RectangleAnimation.swift +6 -17
  16. package/Sources/Private/CoreAnimation/Animations/ShapeAnimation.swift +25 -11
  17. package/Sources/Private/CoreAnimation/Animations/StarAnimation.swift +4 -23
  18. package/Sources/Private/CoreAnimation/CoreAnimationLayer.swift +1 -1
  19. package/Sources/Private/CoreAnimation/Extensions/KeyframeGroup+exactlyOneKeyframe.swift +4 -12
  20. package/Sources/Private/CoreAnimation/Extensions/Keyframes+combined.swift +222 -0
  21. package/Sources/Private/CoreAnimation/Layers/CALayer+setupLayerHierarchy.swift +7 -5
  22. package/Sources/Private/CoreAnimation/Layers/GradientRenderLayer.swift +13 -10
  23. package/Sources/Private/CoreAnimation/Layers/InfiniteOpaqueAnimationLayer.swift +56 -0
  24. package/Sources/Private/CoreAnimation/Layers/PreCompLayer.swift +1 -2
  25. package/Sources/Private/CoreAnimation/Layers/ShapeItemLayer.swift +9 -3
  26. package/Sources/Private/CoreAnimation/Layers/ShapeLayer.swift +7 -18
  27. package/Sources/Private/CoreAnimation/ValueProviderStore.swift +1 -2
  28. package/Sources/Private/MainThread/LayerContainers/CompLayers/MaskContainerLayer.swift +3 -3
  29. package/Sources/Private/MainThread/LayerContainers/CompLayers/PreCompositionLayer.swift +2 -2
  30. package/Sources/Private/MainThread/LayerContainers/MainThreadAnimationLayer.swift +4 -3
  31. package/Sources/Private/MainThread/LayerContainers/Utility/InvertedMatteLayer.swift +1 -3
  32. package/Sources/Private/MainThread/NodeRenderSystem/Extensions/ItemsExtension.swift +7 -0
  33. package/Sources/Private/MainThread/NodeRenderSystem/NodeProperties/ValueProviders/GroupInterpolator.swift +2 -2
  34. package/Sources/Private/MainThread/NodeRenderSystem/Nodes/ModifierNodes/RoundedCornersNode.swift +85 -0
  35. package/Sources/Private/MainThread/NodeRenderSystem/Nodes/ModifierNodes/TrimPathNode.swift +1 -1
  36. package/Sources/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/Renderables/GradientFillRenderer.swift +11 -12
  37. package/Sources/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/Renderables/GradientStrokeRenderer.swift +1 -1
  38. package/Sources/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/Renderables/LegacyGradientFillRenderer.swift +10 -11
  39. package/Sources/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/Renderables/StrokeRenderer.swift +1 -1
  40. package/Sources/Private/MainThread/NodeRenderSystem/RenderLayers/ShapeContainerLayer.swift +1 -1
  41. package/Sources/Private/Model/DotLottie/DotLottieAnimation.swift +52 -0
  42. package/Sources/Private/Model/DotLottie/DotLottieConfiguration.swift +15 -0
  43. package/Sources/Private/Model/DotLottie/DotLottieImageProvider.swift +73 -0
  44. package/Sources/Private/Model/DotLottie/DotLottieManifest.swift +53 -0
  45. package/Sources/Private/Model/DotLottie/DotLottieUtils.swift +58 -0
  46. package/Sources/Private/Model/DotLottie/Zip/Data+Compression.swift +134 -0
  47. package/Sources/Private/Model/DotLottie/Zip/Data+Serialization.swift +87 -0
  48. package/Sources/Private/Model/DotLottie/Zip/FileManager+ZIP.swift +130 -0
  49. package/Sources/Private/Model/DotLottie/Zip/ZipArchive.swift +474 -0
  50. package/Sources/Private/Model/DotLottie/Zip/ZipEntry+Serialization.swift +189 -0
  51. package/Sources/Private/Model/DotLottie/Zip/ZipEntry+ZIP64.swift +179 -0
  52. package/Sources/Private/Model/DotLottie/Zip/ZipEntry.swift +227 -0
  53. package/Sources/Private/Model/Extensions/Bundle.swift +26 -0
  54. package/Sources/Private/Model/Keyframes/KeyframeGroup.swift +9 -2
  55. package/Sources/Private/Model/Layers/LayerModel.swift +1 -1
  56. package/Sources/Private/Model/Layers/TextLayerModel.swift +1 -1
  57. package/Sources/Private/Model/ShapeItems/GradientStroke.swift +1 -1
  58. package/Sources/Private/Model/ShapeItems/RoundedCorners.swift +47 -0
  59. package/Sources/Private/Model/ShapeItems/ShapeItem.swift +4 -0
  60. package/Sources/Private/Model/ShapeItems/Stroke.swift +1 -1
  61. package/Sources/Private/Model/Text/Font.swift +1 -1
  62. package/Sources/Private/Utility/Debugging/LayerDebugging.swift +12 -18
  63. package/Sources/Private/Utility/Extensions/AnimationKeypathExtension.swift +2 -2
  64. package/Sources/Private/Utility/Extensions/CGColor+RGB.swift +12 -7
  65. package/Sources/Private/Utility/Primitives/BezierPathRoundExtension.swift +147 -0
  66. package/Sources/Private/Utility/Primitives/ColorExtension.swift +2 -5
  67. package/Sources/Private/Utility/Primitives/VectorsExtensions.swift +0 -8
  68. package/Sources/Public/Animation/LottieAnimation.swift +2 -10
  69. package/Sources/Public/Animation/LottieAnimationHelpers.swift +46 -11
  70. package/Sources/Public/Animation/LottieAnimationView.swift +102 -14
  71. package/Sources/Public/Animation/LottieAnimationViewInitializers.swift +123 -10
  72. package/Sources/Public/AnimationCache/AnimationCacheProvider.swift +1 -1
  73. package/Sources/Public/AnimationCache/DefaultAnimationCache.swift +54 -0
  74. package/Sources/Public/AnimationCache/LRUAnimationCache.swift +4 -52
  75. package/Sources/Public/AnimationCache/LottieAnimationCache.swift +15 -0
  76. package/Sources/Public/DotLottie/Cache/DotLottieCache.swift +53 -0
  77. package/Sources/Public/DotLottie/Cache/DotLottieCacheProvider.swift +23 -0
  78. package/Sources/Public/DotLottie/DotLottieFile.swift +161 -0
  79. package/Sources/Public/DotLottie/DotLottieFileHelpers.swift +265 -0
  80. package/Sources/Public/LottieConfiguration.swift +24 -6
  81. package/Sources/Public/Primitives/LottieColor.swift +0 -8
  82. package/Sources/Public/Primitives/Vectors.swift +0 -16
  83. package/Tests/AnimationCacheProviderTests.swift +40 -0
  84. package/Tests/AnimationKeypathTests.swift +19 -12
  85. package/Tests/AnimationViewTests.swift +64 -0
  86. package/Tests/AutomaticEngineTests.swift +11 -2
  87. package/Tests/ParsingTests.swift +3 -1
  88. package/Tests/PerformanceTests.swift +1 -1
  89. package/Tests/SnapshotConfiguration.swift +3 -3
  90. package/Tests/SnapshotTests.swift +53 -23
  91. package/Tests/ValueProvidersTests.swift +9 -6
  92. package/lottie-ios.podspec +4 -4
  93. package/package.json +2 -2
  94. package/script/test-carthage/Cartfile +1 -1
  95. package/script/test-carthage/CarthageTest/ViewController.swift +1 -1
  96. package/script/test-carthage/CarthageTest-macOS/ViewController.swift +1 -1
  97. package/Sources/Private/CoreAnimation/Extensions/Keyframes+combinedIfPossible.swift +0 -154
  98. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~22UHuHHSTYh5NFeueXXSDdev_8VAbw8H8yl2ICssaC0vaCLj2G2CGZCjUMEyki9c-k-CecFJRyspvzJLiQTjUw== +0 -0
  99. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~4VqMqsI5lOfxRppnud6-VDWcNsU8J7VgFCJfW2dXPwOcAkvU-I8Um5yp9n0Zv6nr3VmcxYggaVMDFfR0U_vjKw== +0 -1
  100. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~6DmZhylL-XQx-O08NugyWINI0ugrLVgVOpbrdp0sT2tEqw-jVD2vvBWYRnYHALkM2_qP2yy-VoovSMzfYALY8A== +0 -0
  101. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~9dj3E5foFK2l_1CEpoRxToU1N6jCdhRVc5vhR10fHS938L9w8HxbiVCPGxYy5981O6M1yZsD4tHFbqBMbER4bQ== +0 -0
  102. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~Bys36bGK_YkCjRNoPMkq3R0OcyPNrVNka1Gz45ilbXJTqp9xAJexx6qKBh86_fm7OgBCO0WS2gJBy77DUUnOOA== +0 -1
  103. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~QJMKb50ZfaWLSHxBSGPlrzULLCqTlb_6W-X0N1-e5PfwCKjpYKOElImsOwgZKVK0cdyf-6u4Zp3mm3BfGQVQ9Q== +0 -0
  104. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~YyEdK1WNFTPo-R3Og2OWduKSikuFYneXurEZbyNLZeDmJLJkd7Ew8jNxy4mvgZw4f4Sikp4swEjJgVzXqhev5g== +0 -1
  105. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~bZd73QR3pWGndrn46_NXJw2dUT7WdBjkH5fdPZ7EnzlcZ9Ifv6WR14RKeWI9diiEjcRJE7ZOWqZ9fzf2vvTnLw== +0 -0
  106. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~baCaLsz8Sq-r6sHhJcZeowVdrnrIxKwDps5Q1Aq38G2AQ3HaopZ9m3A8IXtTFSiZGNiO2qnM9yH7iJfuzC5K0A== +0 -0
  107. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~iZXYCVJLYHKtR7eFHwefLiejC9CkRbBBSkkZmwfkiDEIdUKE4GgVkdDrcHry91RF7d9y7AuYovfGVp1-fuNg0g== +0 -0
  108. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~pTTJImrF4EktmVXGCigWBn7v6YlbH5eFCXIW35CW-iyypvzFMXXYYbQO1ly6Bf3u6CdaepZko-L9obC1mjigMA== +0 -0
  109. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~sVXLeN9UCp6IsOPeuoY76nF-bP-w2rBm61UYvs5XE3o5XhbM7itN2s1XD5i9COIaVMytmUFB-mvCLCqHfHWwpw== +0 -0
  110. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~t8Vsjx3tjPBGQIElMCvqzxLS0hDmBGuLa_CEiB64N2Vxp3qoUfNF0Sar84QnEDOKfyVF6c1KTn1QYg7fRJrk8g== +0 -0
  111. package/Tests/Artifacts/LottieTests.xcresult/Data/data.0~zUmPx8nRHLa8-g1WWSYYzveS_6qmBf-y4xyS-dHzD7c_xWwPZlsfKg8UngImNdn0gxGOBSRmCeXbYwWpLfj_Rg== +0 -0
  112. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~22UHuHHSTYh5NFeueXXSDdev_8VAbw8H8yl2ICssaC0vaCLj2G2CGZCjUMEyki9c-k-CecFJRyspvzJLiQTjUw== +0 -0
  113. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~4VqMqsI5lOfxRppnud6-VDWcNsU8J7VgFCJfW2dXPwOcAkvU-I8Um5yp9n0Zv6nr3VmcxYggaVMDFfR0U_vjKw== +0 -0
  114. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~6DmZhylL-XQx-O08NugyWINI0ugrLVgVOpbrdp0sT2tEqw-jVD2vvBWYRnYHALkM2_qP2yy-VoovSMzfYALY8A== +0 -0
  115. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~9dj3E5foFK2l_1CEpoRxToU1N6jCdhRVc5vhR10fHS938L9w8HxbiVCPGxYy5981O6M1yZsD4tHFbqBMbER4bQ== +0 -0
  116. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~Bys36bGK_YkCjRNoPMkq3R0OcyPNrVNka1Gz45ilbXJTqp9xAJexx6qKBh86_fm7OgBCO0WS2gJBy77DUUnOOA== +0 -0
  117. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~QJMKb50ZfaWLSHxBSGPlrzULLCqTlb_6W-X0N1-e5PfwCKjpYKOElImsOwgZKVK0cdyf-6u4Zp3mm3BfGQVQ9Q== +0 -0
  118. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~YyEdK1WNFTPo-R3Og2OWduKSikuFYneXurEZbyNLZeDmJLJkd7Ew8jNxy4mvgZw4f4Sikp4swEjJgVzXqhev5g== +0 -0
  119. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~bZd73QR3pWGndrn46_NXJw2dUT7WdBjkH5fdPZ7EnzlcZ9Ifv6WR14RKeWI9diiEjcRJE7ZOWqZ9fzf2vvTnLw== +0 -0
  120. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~baCaLsz8Sq-r6sHhJcZeowVdrnrIxKwDps5Q1Aq38G2AQ3HaopZ9m3A8IXtTFSiZGNiO2qnM9yH7iJfuzC5K0A== +0 -0
  121. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~iZXYCVJLYHKtR7eFHwefLiejC9CkRbBBSkkZmwfkiDEIdUKE4GgVkdDrcHry91RF7d9y7AuYovfGVp1-fuNg0g== +0 -0
  122. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~pTTJImrF4EktmVXGCigWBn7v6YlbH5eFCXIW35CW-iyypvzFMXXYYbQO1ly6Bf3u6CdaepZko-L9obC1mjigMA== +0 -0
  123. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~sVXLeN9UCp6IsOPeuoY76nF-bP-w2rBm61UYvs5XE3o5XhbM7itN2s1XD5i9COIaVMytmUFB-mvCLCqHfHWwpw== +0 -0
  124. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~t8Vsjx3tjPBGQIElMCvqzxLS0hDmBGuLa_CEiB64N2Vxp3qoUfNF0Sar84QnEDOKfyVF6c1KTn1QYg7fRJrk8g== +0 -0
  125. package/Tests/Artifacts/LottieTests.xcresult/Data/refs.0~zUmPx8nRHLa8-g1WWSYYzveS_6qmBf-y4xyS-dHzD7c_xWwPZlsfKg8UngImNdn0gxGOBSRmCeXbYwWpLfj_Rg== +0 -0
  126. package/Tests/Artifacts/LottieTests.xcresult/Info.plist +0 -29
package/.gitattributes ADDED
@@ -0,0 +1 @@
1
+ Tests/__Snapshots__/SnapshotTests/** filter=lfs diff=lfs merge=lfs -text
@@ -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
@@ -41,6 +39,8 @@ jobs:
41
39
  runs-on: macos-12
42
40
  steps:
43
41
  - uses: actions/checkout@v2
42
+ with:
43
+ lfs: 'true'
44
44
  - uses: ./.github/actions/setup
45
45
  - name: Test Package
46
46
  run: bundle exec rake test:package
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)