expo-linear-gradient 56.0.2 → 56.0.4

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 (40) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/android/build.gradle +2 -2
  3. package/expo-module.config.json +1 -1
  4. package/ios/ExpoLinearGradient.podspec +2 -1
  5. package/ios/LinearGradientLayer.swift +39 -0
  6. package/ios/LinearGradientView.swift +15 -0
  7. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/{56.0.2/expo.modules.lineargradient-56.0.2.module → 56.0.4/expo.modules.lineargradient-56.0.4.module} +7 -7
  8. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/56.0.4/expo.modules.lineargradient-56.0.4.module.md5 +1 -0
  9. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/56.0.4/expo.modules.lineargradient-56.0.4.module.sha1 +1 -0
  10. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/56.0.4/expo.modules.lineargradient-56.0.4.module.sha256 +1 -0
  11. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/56.0.4/expo.modules.lineargradient-56.0.4.module.sha512 +1 -0
  12. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/{56.0.2/expo.modules.lineargradient-56.0.2.pom → 56.0.4/expo.modules.lineargradient-56.0.4.pom} +1 -1
  13. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/56.0.4/expo.modules.lineargradient-56.0.4.pom.md5 +1 -0
  14. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/56.0.4/expo.modules.lineargradient-56.0.4.pom.sha1 +1 -0
  15. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/56.0.4/expo.modules.lineargradient-56.0.4.pom.sha256 +1 -0
  16. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/56.0.4/expo.modules.lineargradient-56.0.4.pom.sha512 +1 -0
  17. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/maven-metadata.xml +4 -4
  18. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/maven-metadata.xml.md5 +1 -1
  19. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/maven-metadata.xml.sha1 +1 -1
  20. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/maven-metadata.xml.sha256 +1 -1
  21. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/maven-metadata.xml.sha512 +1 -1
  22. package/package.json +4 -4
  23. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/56.0.2/expo.modules.lineargradient-56.0.2.module.md5 +0 -1
  24. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/56.0.2/expo.modules.lineargradient-56.0.2.module.sha1 +0 -1
  25. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/56.0.2/expo.modules.lineargradient-56.0.2.module.sha256 +0 -1
  26. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/56.0.2/expo.modules.lineargradient-56.0.2.module.sha512 +0 -1
  27. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/56.0.2/expo.modules.lineargradient-56.0.2.pom.md5 +0 -1
  28. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/56.0.2/expo.modules.lineargradient-56.0.2.pom.sha1 +0 -1
  29. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/56.0.2/expo.modules.lineargradient-56.0.2.pom.sha256 +0 -1
  30. package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/56.0.2/expo.modules.lineargradient-56.0.2.pom.sha512 +0 -1
  31. /package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/{56.0.2/expo.modules.lineargradient-56.0.2-sources.jar → 56.0.4/expo.modules.lineargradient-56.0.4-sources.jar} +0 -0
  32. /package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/{56.0.2/expo.modules.lineargradient-56.0.2-sources.jar.md5 → 56.0.4/expo.modules.lineargradient-56.0.4-sources.jar.md5} +0 -0
  33. /package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/{56.0.2/expo.modules.lineargradient-56.0.2-sources.jar.sha1 → 56.0.4/expo.modules.lineargradient-56.0.4-sources.jar.sha1} +0 -0
  34. /package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/{56.0.2/expo.modules.lineargradient-56.0.2-sources.jar.sha256 → 56.0.4/expo.modules.lineargradient-56.0.4-sources.jar.sha256} +0 -0
  35. /package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/{56.0.2/expo.modules.lineargradient-56.0.2-sources.jar.sha512 → 56.0.4/expo.modules.lineargradient-56.0.4-sources.jar.sha512} +0 -0
  36. /package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/{56.0.2/expo.modules.lineargradient-56.0.2.aar → 56.0.4/expo.modules.lineargradient-56.0.4.aar} +0 -0
  37. /package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/{56.0.2/expo.modules.lineargradient-56.0.2.aar.md5 → 56.0.4/expo.modules.lineargradient-56.0.4.aar.md5} +0 -0
  38. /package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/{56.0.2/expo.modules.lineargradient-56.0.2.aar.sha1 → 56.0.4/expo.modules.lineargradient-56.0.4.aar.sha1} +0 -0
  39. /package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/{56.0.2/expo.modules.lineargradient-56.0.2.aar.sha256 → 56.0.4/expo.modules.lineargradient-56.0.4.aar.sha256} +0 -0
  40. /package/local-maven-repo/host/exp/exponent/expo.modules.lineargradient/{56.0.2/expo.modules.lineargradient-56.0.2.aar.sha512 → 56.0.4/expo.modules.lineargradient-56.0.4.aar.sha512} +0 -0
package/CHANGELOG.md CHANGED
@@ -10,6 +10,16 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 56.0.4 — 2026-05-07
14
+
15
+ ### 🎉 New features
16
+
17
+ - Add macOS support ([#45448](https://github.com/expo/expo/pull/45448) by [@gabrieldonadel](https://github.com/gabrieldonadel))
18
+
19
+ ## 56.0.3 — 2026-05-06
20
+
21
+ _This version does not introduce any user-facing changes._
22
+
13
23
  ## 56.0.2 — 2026-05-06
14
24
 
15
25
  _This version does not introduce any user-facing changes._
@@ -4,12 +4,12 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'host.exp.exponent'
7
- version = '56.0.2'
7
+ version = '56.0.4'
8
8
 
9
9
  android {
10
10
  namespace "expo.modules.lineargradient"
11
11
  defaultConfig {
12
12
  versionCode 17
13
- versionName "56.0.2"
13
+ versionName "56.0.4"
14
14
  }
15
15
  }
@@ -8,7 +8,7 @@
8
8
  "publication": {
9
9
  "groupId": "host.exp.exponent",
10
10
  "artifactId": "expo.modules.lineargradient",
11
- "version": "56.0.2",
11
+ "version": "56.0.4",
12
12
  "repository": "local-maven-repo"
13
13
  }
14
14
  }
@@ -12,7 +12,8 @@ Pod::Spec.new do |s|
12
12
  s.homepage = package['homepage']
13
13
  s.platforms = {
14
14
  :ios => '16.4',
15
- :tvos => '16.4'
15
+ :tvos => '16.4',
16
+ :osx => '13.4'
16
17
  }
17
18
  s.swift_version = '5.9'
18
19
  s.source = { git: 'https://github.com/expo/expo.git' }
@@ -2,6 +2,7 @@
2
2
 
3
3
  import QuartzCore
4
4
  import CoreGraphics
5
+ import ExpoModulesCore
5
6
 
6
7
  var defaultStartPoint = CGPoint(x: 0.5, y: 0.0)
7
8
  var defaultEndPoint = CGPoint(x: 0.5, y: 1.0)
@@ -59,6 +60,15 @@ final class LinearGradientLayer: CALayer {
59
60
  return result || color.cgColor.alpha < 1.0
60
61
  }
61
62
 
63
+ #if os(macOS)
64
+ setLayerContentsMacOS(hasAlpha: hasAlpha)
65
+ #else
66
+ setLayerContents(hasAlpha: hasAlpha)
67
+ #endif
68
+ }
69
+
70
+ #if !os(macOS)
71
+ private func setLayerContents(hasAlpha: Bool) {
62
72
  UIGraphicsBeginImageContextWithOptions(bounds.size, !hasAlpha, 0.0)
63
73
 
64
74
  guard let contextRef = UIGraphicsGetCurrentContext() else {
@@ -76,6 +86,35 @@ final class LinearGradientLayer: CALayer {
76
86
 
77
87
  UIGraphicsEndImageContext()
78
88
  }
89
+ #else
90
+ private func setLayerContentsMacOS(hasAlpha: Bool) {
91
+ let scale = contentsScale > 0 ? contentsScale : (NSScreen.main?.backingScaleFactor ?? 2.0)
92
+ let pixelWidth = Int(bounds.size.width * scale)
93
+ let pixelHeight = Int(bounds.size.height * scale)
94
+ if pixelWidth == 0 || pixelHeight == 0 {
95
+ return
96
+ }
97
+ let colorSpace = CGColorSpaceCreateDeviceRGB()
98
+ let bitmapInfo: UInt32 = hasAlpha
99
+ ? CGImageAlphaInfo.premultipliedLast.rawValue
100
+ : CGImageAlphaInfo.noneSkipLast.rawValue
101
+ guard let ctx = CGContext(
102
+ data: nil,
103
+ width: pixelWidth,
104
+ height: pixelHeight,
105
+ bitsPerComponent: 8,
106
+ bytesPerRow: 0,
107
+ space: colorSpace,
108
+ bitmapInfo: bitmapInfo
109
+ ) else {
110
+ return
111
+ }
112
+ ctx.scaleBy(x: scale, y: scale)
113
+ draw(in: ctx)
114
+ self.contents = ctx.makeImage()
115
+ self.contentsScale = scale
116
+ }
117
+ #endif
79
118
 
80
119
  override func draw(in ctx: CGContext) {
81
120
  super.draw(in: ctx)
@@ -1,19 +1,34 @@
1
1
  // Copyright 2021-present 650 Industries. All rights reserved.
2
2
 
3
+ #if !os(macOS)
3
4
  import UIKit
5
+ #endif
4
6
  import ExpoModulesCore
5
7
 
6
8
  final class LinearGradientView: ExpoView {
9
+ #if !os(macOS)
7
10
  override class var layerClass: AnyClass {
8
11
  return LinearGradientLayer.self
9
12
  }
13
+ #else
14
+ override func makeBackingLayer() -> CALayer {
15
+ return LinearGradientLayer()
16
+ }
17
+ #endif
10
18
 
11
19
  public var gradientLayer: LinearGradientLayer {
12
20
  return layer as! LinearGradientLayer
13
21
  }
14
22
 
23
+ #if !os(macOS)
15
24
  override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
16
25
  super.traitCollectionDidChange(previousTraitCollection)
17
26
  layer.setNeedsDisplay()
18
27
  }
28
+ #else
29
+ override func viewDidChangeEffectiveAppearance() {
30
+ super.viewDidChangeEffectiveAppearance()
31
+ layer?.setNeedsDisplay()
32
+ }
33
+ #endif
19
34
  }
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "host.exp.exponent",
5
5
  "module": "expo.modules.lineargradient",
6
- "version": "56.0.2",
6
+ "version": "56.0.4",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -24,8 +24,8 @@
24
24
  },
25
25
  "files": [
26
26
  {
27
- "name": "expo.modules.lineargradient-56.0.2.aar",
28
- "url": "expo.modules.lineargradient-56.0.2.aar",
27
+ "name": "expo.modules.lineargradient-56.0.4.aar",
28
+ "url": "expo.modules.lineargradient-56.0.4.aar",
29
29
  "size": 20569,
30
30
  "sha512": "88439eb2f9f57f9460f7b8d641d16551a430ce897ab0245240be0c604aafe1f65641dc89b53dbddc8fcc97e2728d981dff707994613a67f8fd5e2f757e013a11",
31
31
  "sha256": "880061f0f5565244ad63a2bb0ac0a3e09070a0fde297b89020f99d8cb67a97b4",
@@ -67,8 +67,8 @@
67
67
  ],
68
68
  "files": [
69
69
  {
70
- "name": "expo.modules.lineargradient-56.0.2.aar",
71
- "url": "expo.modules.lineargradient-56.0.2.aar",
70
+ "name": "expo.modules.lineargradient-56.0.4.aar",
71
+ "url": "expo.modules.lineargradient-56.0.4.aar",
72
72
  "size": 20569,
73
73
  "sha512": "88439eb2f9f57f9460f7b8d641d16551a430ce897ab0245240be0c604aafe1f65641dc89b53dbddc8fcc97e2728d981dff707994613a67f8fd5e2f757e013a11",
74
74
  "sha256": "880061f0f5565244ad63a2bb0ac0a3e09070a0fde297b89020f99d8cb67a97b4",
@@ -87,8 +87,8 @@
87
87
  },
88
88
  "files": [
89
89
  {
90
- "name": "expo.modules.lineargradient-56.0.2-sources.jar",
91
- "url": "expo.modules.lineargradient-56.0.2-sources.jar",
90
+ "name": "expo.modules.lineargradient-56.0.4-sources.jar",
91
+ "url": "expo.modules.lineargradient-56.0.4-sources.jar",
92
92
  "size": 2864,
93
93
  "sha512": "37813076b36458347d8f80c6cabd6a99901016276bbe16918e6eab979d6fd220330bcf89e177fd316b377cf5b31c0b0656706ac56451572752be3811d2c0b204",
94
94
  "sha256": "5be3b2238a44df4e227276c7044156e01afb9f6b18c5d3cfece20636d15b796f",
@@ -0,0 +1 @@
1
+ eb4d9d15e0758eac277ba8fcce2b6406f6f60f348fa218aa25fcc8c03a45a764
@@ -0,0 +1 @@
1
+ 3913213116086a3b6f6a5a756834b0704a5f8f9cae3cca3dfe6f9e9623641e88675daa9cf9b24ac553a8c8af6a32b696ac58a97b1ae2c52a9dd7ac85fca30377
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>host.exp.exponent</groupId>
11
11
  <artifactId>expo.modules.lineargradient</artifactId>
12
- <version>56.0.2</version>
12
+ <version>56.0.4</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.lineargradient</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ 556dd015b93f68a824e86d7c5c43b2c694e8ab6b640750a325e1ab79e94fbc7c
@@ -0,0 +1 @@
1
+ f0052a584d9caa51e1cfd1894d3ffa2ba91b2444f8ce90d665fa02bab76ef188248010b4d3a8eabaf728cfba20a80c42a2942e9985c702c908f1f89e5fe87333
@@ -3,11 +3,11 @@
3
3
  <groupId>host.exp.exponent</groupId>
4
4
  <artifactId>expo.modules.lineargradient</artifactId>
5
5
  <versioning>
6
- <latest>56.0.2</latest>
7
- <release>56.0.2</release>
6
+ <latest>56.0.4</latest>
7
+ <release>56.0.4</release>
8
8
  <versions>
9
- <version>56.0.2</version>
9
+ <version>56.0.4</version>
10
10
  </versions>
11
- <lastUpdated>20260506190015</lastUpdated>
11
+ <lastUpdated>20260507183241</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- cb1e71bf54862433c6bd553e9e9b4dc6
1
+ 1d28e599a5afcc9c37b72f6d8aaf373e
@@ -1 +1 @@
1
- b12ae9a0550c3a69ed3fadf1c11880e49ff1d265
1
+ 81a4644e3e28fd7734a9bd15d6df8779f887c616
@@ -1 +1 @@
1
- 24102ebf1321c2ee1d4dba9b2d667bbd1d20e172aa01e211b702ce17ce6a4eb5
1
+ 10a1b4322b0d3d3ad19b87855507ff3a1155eb1cdcc2fc7b91cc533c34355996
@@ -1 +1 @@
1
- 083929038fefb8abd6d0947eae825fd4c6fe0c3176eb0ef9bf838eefa0cebe9d6b90c015bf49b9b8d4c62451a8bd2d493f765e206adfe799993aa977bd737473
1
+ 72d6e56c85c5dd4c69bf8528c040abc10a2246f65ef313e379ee95fe6f050913467ea311236b37368b0f0027feee53602d0e9508df0def3abc6235146cba54a9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-linear-gradient",
3
- "version": "56.0.2",
3
+ "version": "56.0.4",
4
4
  "description": "Provides a React component that renders a gradient view.",
5
5
  "main": "build/LinearGradient.js",
6
6
  "types": "build/LinearGradient.d.ts",
@@ -30,15 +30,15 @@
30
30
  "@testing-library/react": "^16.3.0",
31
31
  "@testing-library/react-native": "^13.3.0",
32
32
  "@types/react": "~19.2.0",
33
- "expo": "56.0.0-preview.4",
34
- "expo-module-scripts": "56.0.1"
33
+ "expo": "56.0.0-preview.6",
34
+ "expo-module-scripts": "56.0.2"
35
35
  },
36
36
  "peerDependencies": {
37
37
  "expo": "*",
38
38
  "react": "*",
39
39
  "react-native": "*"
40
40
  },
41
- "gitHead": "d2109c94206280625a070242b0cb6e2500357c46",
41
+ "gitHead": "d7b4e5edff4bf2e619d2c2f16d158798c6d592ef",
42
42
  "scripts": {
43
43
  "build": "expo-module build",
44
44
  "clean": "expo-module clean",
@@ -1 +0,0 @@
1
- c2fee1204770efdbdd85e722231ca5530376b672d4dca424e7edc3a0c42d83a2
@@ -1 +0,0 @@
1
- bac7331af8de423b92e1c67b951c1b513725c2b744459e3bef6083f5ed0a8c63b878069da9d7cba5e975b0d8c55a72f190d94a0eafbc27c57424ba6defff196f
@@ -1 +0,0 @@
1
- fa601082e9a49872339adb969f882f3785f11a13e140f9f0cc5a3e3fd564d3e0
@@ -1 +0,0 @@
1
- 993a96f597f97585cb23b8f4a7494b263b0e754f80314b4c3c16a30b82702ebca24bf600f841ffd239f3f9ce741e0bacbec5315f8dab5da42f391d7095eacb9a