expo-image 55.0.4 → 55.0.6

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 (63) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/java/expo/modules/image/Image.kt +1 -1
  4. package/android/src/main/java/expo/modules/image/ImageLoadTask.kt +14 -2
  5. package/android/src/main/java/expo/modules/image/records/ImageLoadOptions.kt +4 -1
  6. package/build/Image.types.d.ts +10 -1
  7. package/build/Image.types.d.ts.map +1 -1
  8. package/expo-module.config.json +1 -1
  9. package/ios/ImageLoadOptions.swift +2 -1
  10. package/ios/ImageLoader.swift +6 -1
  11. package/ios/ImageView.swift +4 -4
  12. package/ios/{BlurhashLoader.swift → Loaders/BlurhashLoader.swift} +13 -9
  13. package/ios/{ThumbhashLoader.swift → Loaders/ThumbhashLoader.swift} +8 -5
  14. package/local-maven-repo/expo/modules/image/expo.modules.image/{55.0.4/expo.modules.image-55.0.4-sources.jar → 55.0.6/expo.modules.image-55.0.6-sources.jar} +0 -0
  15. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6-sources.jar.md5 +1 -0
  16. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6-sources.jar.sha1 +1 -0
  17. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6-sources.jar.sha256 +1 -0
  18. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6-sources.jar.sha512 +1 -0
  19. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.aar +0 -0
  20. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.aar.md5 +1 -0
  21. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.aar.sha1 +1 -0
  22. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.aar.sha256 +1 -0
  23. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.aar.sha512 +1 -0
  24. package/local-maven-repo/expo/modules/image/expo.modules.image/{55.0.4/expo.modules.image-55.0.4.module → 55.0.6/expo.modules.image-55.0.6.module} +22 -22
  25. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.module.md5 +1 -0
  26. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.module.sha1 +1 -0
  27. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.module.sha256 +1 -0
  28. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.module.sha512 +1 -0
  29. package/local-maven-repo/expo/modules/image/expo.modules.image/{55.0.4/expo.modules.image-55.0.4.pom → 55.0.6/expo.modules.image-55.0.6.pom} +1 -1
  30. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.pom.md5 +1 -0
  31. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.pom.sha1 +1 -0
  32. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.pom.sha256 +1 -0
  33. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.pom.sha512 +1 -0
  34. package/local-maven-repo/expo/modules/image/expo.modules.image/maven-metadata.xml +4 -4
  35. package/local-maven-repo/expo/modules/image/expo.modules.image/maven-metadata.xml.md5 +1 -1
  36. package/local-maven-repo/expo/modules/image/expo.modules.image/maven-metadata.xml.sha1 +1 -1
  37. package/local-maven-repo/expo/modules/image/expo.modules.image/maven-metadata.xml.sha256 +1 -1
  38. package/local-maven-repo/expo/modules/image/expo.modules.image/maven-metadata.xml.sha512 +1 -1
  39. package/package.json +2 -2
  40. package/src/Image.types.ts +11 -0
  41. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4-sources.jar.md5 +0 -1
  42. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4-sources.jar.sha1 +0 -1
  43. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4-sources.jar.sha256 +0 -1
  44. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4-sources.jar.sha512 +0 -1
  45. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.aar +0 -0
  46. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.aar.md5 +0 -1
  47. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.aar.sha1 +0 -1
  48. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.aar.sha256 +0 -1
  49. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.aar.sha512 +0 -1
  50. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.module.md5 +0 -1
  51. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.module.sha1 +0 -1
  52. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.module.sha256 +0 -1
  53. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.module.sha512 +0 -1
  54. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.pom.md5 +0 -1
  55. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.pom.sha1 +0 -1
  56. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.pom.sha256 +0 -1
  57. package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.pom.sha512 +0 -1
  58. /package/ios/{PSDCoder.swift → Coders/PSDCoder.swift} +0 -0
  59. /package/ios/{WebPCoder.swift → Coders/WebPCoder.swift} +0 -0
  60. /package/ios/{SFSymbolLoader.swift → Loaders/SFSymbolLoader.swift} +0 -0
  61. /package/ios/{Blurhash.swift → Utils/Blurhash.swift} +0 -0
  62. /package/ios/{ImageUtils.swift → Utils/ImageUtils.swift} +0 -0
  63. /package/ios/{Thumbhash.swift → Utils/Thumbhash.swift} +0 -0
package/CHANGELOG.md CHANGED
@@ -10,6 +10,18 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 55.0.6 — 2026-03-05
14
+
15
+ ### 🐛 Bug fixes
16
+
17
+ - Added `tintColor` option to `ImageLoadOptions`. This resolves [#42007](https://github.com/expo/expo/issues/42007). ([#42821](https://github.com/expo/expo/pull/42821)) by [@HubertBer](https://github.com/HubertBer).
18
+
19
+ ## 55.0.5 — 2026-02-25
20
+
21
+ ### 🐛 Bug fixes
22
+
23
+ - [iOS] Fixed compilation errors in Xcode 26.4 Beta 1 ([#43346](https://github.com/expo/expo/pull/43346) by [@tsapeta](https://github.com/tsapeta))
24
+
13
25
  ## 55.0.4 — 2026-02-20
14
26
 
15
27
  ### 🐛 Bug fixes
@@ -13,13 +13,13 @@ plugins {
13
13
  apply plugin: 'com.google.devtools.ksp'
14
14
 
15
15
  group = 'expo.modules.image'
16
- version = '55.0.4'
16
+ version = '55.0.6'
17
17
 
18
18
  android {
19
19
  namespace "expo.modules.image"
20
20
  defaultConfig {
21
21
  versionCode 1
22
- versionName "55.0.4"
22
+ versionName "55.0.6"
23
23
  consumerProguardFiles("proguard-rules.pro")
24
24
 
25
25
  buildConfigField("boolean", "ALLOW_GLIDE_LOGS", project.properties.get("EXPO_ALLOW_GLIDE_LOGS", "false"))
@@ -10,7 +10,7 @@ class Image(ref: Drawable) : SharedRef<Drawable>(ref) {
10
10
  override fun getAdditionalMemoryPressure(): Int {
11
11
  val ref = ref
12
12
  if (ref is BitmapDrawable) {
13
- return ref.getBitmap().allocationByteCount
13
+ return ref.bitmap.allocationByteCount
14
14
  }
15
15
 
16
16
  // We can't get the size in bytes of the drawable.
@@ -1,5 +1,9 @@
1
1
  package expo.modules.image
2
2
 
3
+ import android.graphics.drawable.BitmapDrawable
4
+ import android.os.Build
5
+ import androidx.annotation.RequiresApi
6
+ import com.bumptech.glide.request.RequestOptions
3
7
  import com.bumptech.glide.Glide
4
8
  import expo.modules.image.records.ImageLoadOptions
5
9
  import expo.modules.image.records.SourceMap
@@ -13,6 +17,7 @@ open class ImageLoadTask(
13
17
  private val source: SourceMap,
14
18
  private val options: ImageLoadOptions
15
19
  ) {
20
+ @RequiresApi(Build.VERSION_CODES.O)
16
21
  suspend fun load(): Image {
17
22
  val context =
18
23
  this@ImageLoadTask.appContext.reactContext ?: throw Exceptions.ReactContextLost()
@@ -21,17 +26,24 @@ open class ImageLoadTask(
21
26
  val model = sourceToLoad?.getGlideModel()
22
27
 
23
28
  try {
24
- val bitmap = withContext(Dispatchers.IO) {
29
+ val drawable = withContext(Dispatchers.IO) {
25
30
  Glide
26
31
  .with(context)
27
32
  .asDrawable()
28
33
  .load(model)
29
34
  .centerInside()
35
+ .customize(options.tintColor) {
36
+ apply(RequestOptions().set(CustomOptions.tintColor, it.toArgb()))
37
+ }
30
38
  .submit(options.maxWidth, options.maxHeight)
31
39
  .get()
32
40
  }
33
41
 
34
- return Image(bitmap)
42
+ if (drawable is BitmapDrawable && options.tintColor != null) {
43
+ drawable.setTint(options.tintColor.toArgb())
44
+ }
45
+
46
+ return Image(drawable)
35
47
  } catch (e: Exception) {
36
48
  throw ImageLoadFailed(e)
37
49
  }
@@ -1,5 +1,6 @@
1
1
  package expo.modules.image.records
2
2
 
3
+ import android.graphics.Color
3
4
  import com.bumptech.glide.request.target.Target.SIZE_ORIGINAL
4
5
  import expo.modules.kotlin.records.Field
5
6
  import expo.modules.kotlin.records.Record
@@ -8,5 +9,7 @@ data class ImageLoadOptions(
8
9
  @Field
9
10
  val maxWidth: Int = SIZE_ORIGINAL,
10
11
  @Field
11
- val maxHeight: Int = SIZE_ORIGINAL
12
+ val maxHeight: Int = SIZE_ORIGINAL,
13
+ @Field
14
+ val tintColor: Color? = null
12
15
  ) : Record
@@ -1,5 +1,5 @@
1
1
  import type { NativeModule, SharedRef, SharedRefType } from 'expo';
2
- import { ImageStyle as RNImageStyle, TextStyle, StyleProp, View, ViewProps, ViewStyle } from 'react-native';
2
+ import { ImageStyle as RNImageStyle, TextStyle, StyleProp, View, ViewProps, ViewStyle, ColorValue } from 'react-native';
3
3
  import type { SFSymbol } from 'sf-symbols-typescript';
4
4
  import ExpoImage from './ExpoImage';
5
5
  export type ImageSource = {
@@ -163,6 +163,9 @@ export interface ImageProps extends Omit<ViewProps, 'style' | 'children'> {
163
163
  * A color used to tint template images (a bitmap image where only the opacity matters).
164
164
  * The color is applied to every non-transparent pixel, causing the image's shape to adopt that color.
165
165
  * This effect is not applied to placeholders.
166
+ *
167
+ * Note that `useImage` options parameter also has a `tintColor` field.
168
+ * When you have a `useImage` as a `source` use its `tintColor` instead.
166
169
  * @default null
167
170
  */
168
171
  tintColor?: string | null;
@@ -666,6 +669,12 @@ export type ImageLoadOptions = {
666
669
  * If provided, the image will be automatically resized to not exceed this height in pixels, preserving its aspect ratio.
667
670
  */
668
671
  maxHeight?: number;
672
+ /**
673
+ * A color used to tint template images (a bitmap image where only the opacity matters).
674
+ * The color is applied to every non-transparent pixel, causing the image's shape to adopt that color.
675
+ * @default null
676
+ */
677
+ tintColor?: ColorValue | number;
669
678
  /**
670
679
  * Function to call when the image has failed to load. In addition to the error, it also provides a function that retries loading the image.
671
680
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Image.types.d.ts","sourceRoot":"","sources":["../src/Image.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Image.types.d.ts","sourceRoot":"","sources":["../src/Image.types.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  "publication": {
9
9
  "groupId": "expo.modules.image",
10
10
  "artifactId": "expo.modules.image",
11
- "version": "55.0.4",
11
+ "version": "55.0.6",
12
12
  "repository": "local-maven-repo"
13
13
  }
14
14
  }
@@ -5,7 +5,8 @@ import ExpoModulesCore
5
5
  internal struct ImageLoadOptions: Record {
6
6
  @Field var maxWidth: Int?
7
7
  @Field var maxHeight: Int?
8
-
8
+ @Field var tintColor: UIColor? = nil
9
+
9
10
  func getMaxSize() -> CGSize? {
10
11
  // If none of max dimensions are provided, just use the original image without the upper limit.
11
12
  // This is important for vector images, where using `CGSize(.max, .max)`
@@ -22,7 +22,7 @@ internal final class ImageLoader {
22
22
  }
23
23
  context[.imagePreserveAspectRatio] = true
24
24
 
25
- return try await withCheckedThrowingContinuation { continuation in
25
+ let image = try await withCheckedThrowingContinuation { continuation in
26
26
  imageManager.loadImage(with: source.uri, context: context, progress: nil) { image, _, error, _, _, _ in
27
27
  if let image {
28
28
  continuation.resume(returning: image)
@@ -31,6 +31,11 @@ internal final class ImageLoader {
31
31
  }
32
32
  }
33
33
  }
34
+
35
+ if let tintColor = options.tintColor {
36
+ return image.withTintColor(tintColor)
37
+ }
38
+ return image
34
39
  }
35
40
  }
36
41
 
@@ -11,10 +11,10 @@ typealias SDWebImageContext = [SDWebImageContextOption: Any]
11
11
 
12
12
  // swiftlint:disable:next type_body_length
13
13
  public final class ImageView: ExpoView {
14
- static let contextSourceKey = SDWebImageContextOption(rawValue: "source")
15
- static let screenScaleKey = SDWebImageContextOption(rawValue: "screenScale")
16
- static let contentFitKey = SDWebImageContextOption(rawValue: "contentFit")
17
- static let frameSizeKey = SDWebImageContextOption(rawValue: "frameSize")
14
+ nonisolated static let contextSourceKey = SDWebImageContextOption(rawValue: "source")
15
+ nonisolated static let screenScaleKey = SDWebImageContextOption(rawValue: "screenScale")
16
+ nonisolated static let contentFitKey = SDWebImageContextOption(rawValue: "contentFit")
17
+ nonisolated static let frameSizeKey = SDWebImageContextOption(rawValue: "frameSize")
18
18
 
19
19
  let sdImageView = SDAnimatedImageView(frame: .zero)
20
20
 
@@ -1,7 +1,9 @@
1
- import SDWebImage
1
+ @preconcurrency import SDWebImage
2
2
  import ExpoModulesCore
3
3
 
4
4
  class BlurhashLoader: NSObject, SDImageLoader {
5
+ typealias ImageLoaderCompletedBlock = @Sendable (UIImage?, Data?, (any Error)?, Bool) -> Void
6
+
5
7
  // MARK: - SDImageLoader
6
8
 
7
9
  func canRequestImage(for url: URL?) -> Bool {
@@ -13,9 +15,9 @@ class BlurhashLoader: NSObject, SDImageLoader {
13
15
  options: SDWebImageOptions = [],
14
16
  context: [SDWebImageContextOption: Any]?,
15
17
  progress progressBlock: SDImageLoaderProgressBlock?,
16
- completed completedBlock: SDImageLoaderCompletedBlock? = nil
18
+ completed completedBlock: ImageLoaderCompletedBlock? = nil
17
19
  ) -> SDWebImageOperation? {
18
- guard let url = url else {
20
+ guard let url else {
19
21
  let error = makeNSError(description: "URL provided to BlurhashLoader is missing")
20
22
  completedBlock?(nil, nil, error, false)
21
23
  return nil
@@ -31,14 +33,16 @@ class BlurhashLoader: NSObject, SDImageLoader {
31
33
  let blurhash = url.pathComponents[1]
32
34
  let size = CGSize(width: source.width, height: source.height)
33
35
 
34
- DispatchQueue.global(qos: .userInitiated).async {
35
- if let image = image(fromBlurhash: blurhash, size: size) {
36
- DispatchQueue.main.async {
36
+ Task(priority: .high) {
37
+ let image = image(fromBlurhash: blurhash, size: size)
38
+
39
+ await MainActor.run {
40
+ if let image {
37
41
  completedBlock?(UIImage(cgImage: image), nil, nil, true)
42
+ } else {
43
+ let error = makeNSError(description: "Unable to generate an image from the given blurhash")
44
+ completedBlock?(nil, nil, error, false)
38
45
  }
39
- } else {
40
- let error = makeNSError(description: "Unable to generate an image from the given blurhash")
41
- completedBlock?(nil, nil, error, false)
42
46
  }
43
47
  }
44
48
  return nil
@@ -1,7 +1,9 @@
1
- import SDWebImage
1
+ @preconcurrency import SDWebImage
2
2
  import ExpoModulesCore
3
3
 
4
4
  class ThumbhashLoader: NSObject, SDImageLoader {
5
+ typealias ImageLoaderCompletedBlock = @Sendable (UIImage?, Data?, (any Error)?, Bool) -> Void
6
+
5
7
  // MARK: - SDImageLoader
6
8
 
7
9
  func canRequestImage(for url: URL?) -> Bool {
@@ -13,9 +15,9 @@ class ThumbhashLoader: NSObject, SDImageLoader {
13
15
  options: SDWebImageOptions = [],
14
16
  context: [SDWebImageContextOption: Any]?,
15
17
  progress progressBlock: SDImageLoaderProgressBlock?,
16
- completed completedBlock: SDImageLoaderCompletedBlock? = nil
18
+ completed completedBlock: ImageLoaderCompletedBlock? = nil
17
19
  ) -> SDWebImageOperation? {
18
- guard let url = url else {
20
+ guard let url else {
19
21
  let error = makeNSError(description: "URL provided to ThumbhashLoader is missing")
20
22
  completedBlock?(nil, nil, error, false)
21
23
  return nil
@@ -37,9 +39,10 @@ class ThumbhashLoader: NSObject, SDImageLoader {
37
39
  return nil
38
40
  }
39
41
 
40
- DispatchQueue.global(qos: .userInitiated).async {
42
+ Task(priority: .high) {
41
43
  let image = image(fromThumbhash: thumbhashData)
42
- DispatchQueue.main.async {
44
+
45
+ await MainActor.run {
43
46
  completedBlock?(image, nil, nil, true)
44
47
  }
45
48
  }
@@ -0,0 +1 @@
1
+ 5df33b84a760311c69fe5485bc8a71db33a938248b3571123dfead663510a0e6
@@ -0,0 +1 @@
1
+ 3f9d3003167e5f9eb0623e2daf8cd5c995ec153a194f36316bf9e34607bf2ee4f5de404ccbed9dd59dbbae51d4a940f3a00f0853176bf7a46a2a60055e69a7aa
@@ -0,0 +1 @@
1
+ eaaa812f804203ea130d01ce6195baa407ad620698dff795e96b421882343a8b
@@ -0,0 +1 @@
1
+ 30114872f07b3ba55d5c3f299625c819a3113602c2752d8496f2c82f1a7a775c31ce67789acf070691ca90eb29e35db5a4b1ec4a513aeed8e5b079041421030c
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "expo.modules.image",
5
5
  "module": "expo.modules.image",
6
- "version": "55.0.4",
6
+ "version": "55.0.6",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -54,13 +54,13 @@
54
54
  ],
55
55
  "files": [
56
56
  {
57
- "name": "expo.modules.image-55.0.4.aar",
58
- "url": "expo.modules.image-55.0.4.aar",
59
- "size": 293447,
60
- "sha512": "a6243c85683b1aa96d601e786a5a2e5b4b6479eb1473bd2a69eb8011467cb3d0db2c264fce372229fd406d8f79642a71847ea89434216ad1077d44132b5150be",
61
- "sha256": "d0c78f3e30d3e245e9bfcc2c2c01d63309208eb4b10ac9e0b3879fe6177fc386",
62
- "sha1": "312c910c2666aa216c1febbafe4342e49af79cc1",
63
- "md5": "2b4440d8e84ba78ba88270d39aa1826c"
57
+ "name": "expo.modules.image-55.0.6.aar",
58
+ "url": "expo.modules.image-55.0.6.aar",
59
+ "size": 294590,
60
+ "sha512": "30114872f07b3ba55d5c3f299625c819a3113602c2752d8496f2c82f1a7a775c31ce67789acf070691ca90eb29e35db5a4b1ec4a513aeed8e5b079041421030c",
61
+ "sha256": "eaaa812f804203ea130d01ce6195baa407ad620698dff795e96b421882343a8b",
62
+ "sha1": "1ebb7c16a1434a741f5dcd80b71140249a8ba904",
63
+ "md5": "feef6ab5b4a7e79cd7644c7b69b5ff0d"
64
64
  }
65
65
  ]
66
66
  },
@@ -143,13 +143,13 @@
143
143
  ],
144
144
  "files": [
145
145
  {
146
- "name": "expo.modules.image-55.0.4.aar",
147
- "url": "expo.modules.image-55.0.4.aar",
148
- "size": 293447,
149
- "sha512": "a6243c85683b1aa96d601e786a5a2e5b4b6479eb1473bd2a69eb8011467cb3d0db2c264fce372229fd406d8f79642a71847ea89434216ad1077d44132b5150be",
150
- "sha256": "d0c78f3e30d3e245e9bfcc2c2c01d63309208eb4b10ac9e0b3879fe6177fc386",
151
- "sha1": "312c910c2666aa216c1febbafe4342e49af79cc1",
152
- "md5": "2b4440d8e84ba78ba88270d39aa1826c"
146
+ "name": "expo.modules.image-55.0.6.aar",
147
+ "url": "expo.modules.image-55.0.6.aar",
148
+ "size": 294590,
149
+ "sha512": "30114872f07b3ba55d5c3f299625c819a3113602c2752d8496f2c82f1a7a775c31ce67789acf070691ca90eb29e35db5a4b1ec4a513aeed8e5b079041421030c",
150
+ "sha256": "eaaa812f804203ea130d01ce6195baa407ad620698dff795e96b421882343a8b",
151
+ "sha1": "1ebb7c16a1434a741f5dcd80b71140249a8ba904",
152
+ "md5": "feef6ab5b4a7e79cd7644c7b69b5ff0d"
153
153
  }
154
154
  ]
155
155
  },
@@ -163,13 +163,13 @@
163
163
  },
164
164
  "files": [
165
165
  {
166
- "name": "expo.modules.image-55.0.4-sources.jar",
167
- "url": "expo.modules.image-55.0.4-sources.jar",
168
- "size": 59288,
169
- "sha512": "c8973c9a3555eb3a5cf2e64c26f2f0d37e80bd56ed40f8ec6c6ae57556608ff59fc8f7790de33cb3dfc6a969d71303958e829026f8488bd386ec2930e22f302f",
170
- "sha256": "0e8bdb07f5a0597f09230502329e3b571588c4b4d10ec8e1f695b6c98a2b10a7",
171
- "sha1": "020f9a9bdda10304ed68cd410113a8a95d4233e1",
172
- "md5": "caec0c7b71c0aafef4f14c7cc6ce9dd7"
166
+ "name": "expo.modules.image-55.0.6-sources.jar",
167
+ "url": "expo.modules.image-55.0.6-sources.jar",
168
+ "size": 59485,
169
+ "sha512": "3f9d3003167e5f9eb0623e2daf8cd5c995ec153a194f36316bf9e34607bf2ee4f5de404ccbed9dd59dbbae51d4a940f3a00f0853176bf7a46a2a60055e69a7aa",
170
+ "sha256": "5df33b84a760311c69fe5485bc8a71db33a938248b3571123dfead663510a0e6",
171
+ "sha1": "25e7f38910f5978b352a988025e8c46ed766678f",
172
+ "md5": "d72f0a75edb5d8e75c488dfdd06a749a"
173
173
  }
174
174
  ]
175
175
  }
@@ -0,0 +1 @@
1
+ a11b592f283b642234a14da751fb61933eef09e124c93a90b69bcc464df98045
@@ -0,0 +1 @@
1
+ cc36155874c871864a38ab180a4f64c76316bc08e6a17699bf05929e1eda41327c732f5c39758777a37f056ec3f7189641774913054061c56157986bc3028f6b
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>expo.modules.image</groupId>
11
11
  <artifactId>expo.modules.image</artifactId>
12
- <version>55.0.4</version>
12
+ <version>55.0.6</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.image</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ 64128a5bdf64e6a2bc83615c2b57f6aacb2f0af27a3936348c24927f95d4fb1b
@@ -0,0 +1 @@
1
+ e03e91fa377e8f669d549ee4d7b14f53c7ccc89a064032be27ae21c85c3572a1c9c18af489ad86bc8e2e18e815d03137251cad48440e9f2b188e3e436ba49670
@@ -3,11 +3,11 @@
3
3
  <groupId>expo.modules.image</groupId>
4
4
  <artifactId>expo.modules.image</artifactId>
5
5
  <versioning>
6
- <latest>55.0.4</latest>
7
- <release>55.0.4</release>
6
+ <latest>55.0.6</latest>
7
+ <release>55.0.6</release>
8
8
  <versions>
9
- <version>55.0.4</version>
9
+ <version>55.0.6</version>
10
10
  </versions>
11
- <lastUpdated>20260220174559</lastUpdated>
11
+ <lastUpdated>20260305092621</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 1228081ad630b7053eb7d68fb214b7ab
1
+ 873cd6caf35b0d19e860b1f5dd13971b
@@ -1 +1 @@
1
- 2ddc851e3371853918d3fa008bf4cffae310b83f
1
+ ff2dc7c14227b77b4243bae6e3484f62195151a4
@@ -1 +1 @@
1
- 700944e3d8c8093d24c114dec52a5faff92d8a9fa49da25de5ef74538fd6b540
1
+ 47323852dcb0e8638f8b8ce5631ff5f8254df06ba23541d881d77024a3db58b5
@@ -1 +1 @@
1
- 9af83f23f78537dbb641c4bbebfd905f4f84c7546b4bc28408392a72dd9833c4e131cbfe16d203f52d9d6b94a4bbf6f1c730d43210b6c23ee39f032edd8c6b1a
1
+ 45f065bd8fc83eb75cea7ce7f14eb68beef89c543a955b0a95ab27b92d4a9306edbdce45955b41acf603a5eb13a0e707db22c8a5b1651c46b13f57754ccf5591
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "expo-image",
3
3
  "title": "Expo Image",
4
- "version": "55.0.4",
4
+ "version": "55.0.6",
5
5
  "description": "A cross-platform, performant image component for React Native and Expo with Web support",
6
6
  "main": "src/index.ts",
7
7
  "types": "build/index.d.ts",
@@ -48,5 +48,5 @@
48
48
  "jest": {
49
49
  "preset": "expo-module-scripts"
50
50
  },
51
- "gitHead": "e37001d25bfeec4ee4fa1b7da1769e99d099d75e"
51
+ "gitHead": "756404b0eb18d441b54c7136b4142349193f554b"
52
52
  }
@@ -6,6 +6,7 @@ import {
6
6
  View,
7
7
  ViewProps,
8
8
  ViewStyle,
9
+ ColorValue,
9
10
  } from 'react-native';
10
11
  import type { SFSymbol } from 'sf-symbols-typescript';
11
12
 
@@ -204,6 +205,9 @@ export interface ImageProps extends Omit<ViewProps, 'style' | 'children'> {
204
205
  * A color used to tint template images (a bitmap image where only the opacity matters).
205
206
  * The color is applied to every non-transparent pixel, causing the image's shape to adopt that color.
206
207
  * This effect is not applied to placeholders.
208
+ *
209
+ * Note that `useImage` options parameter also has a `tintColor` field.
210
+ * When you have a `useImage` as a `source` use its `tintColor` instead.
207
211
  * @default null
208
212
  */
209
213
  tintColor?: string | null;
@@ -824,6 +828,13 @@ export type ImageLoadOptions = {
824
828
  */
825
829
  maxHeight?: number;
826
830
 
831
+ /**
832
+ * A color used to tint template images (a bitmap image where only the opacity matters).
833
+ * The color is applied to every non-transparent pixel, causing the image's shape to adopt that color.
834
+ * @default null
835
+ */
836
+ tintColor?: ColorValue | number;
837
+
827
838
  /**
828
839
  * Function to call when the image has failed to load. In addition to the error, it also provides a function that retries loading the image.
829
840
  */
@@ -1 +0,0 @@
1
- 0e8bdb07f5a0597f09230502329e3b571588c4b4d10ec8e1f695b6c98a2b10a7
@@ -1 +0,0 @@
1
- c8973c9a3555eb3a5cf2e64c26f2f0d37e80bd56ed40f8ec6c6ae57556608ff59fc8f7790de33cb3dfc6a969d71303958e829026f8488bd386ec2930e22f302f
@@ -1 +0,0 @@
1
- 312c910c2666aa216c1febbafe4342e49af79cc1
@@ -1 +0,0 @@
1
- d0c78f3e30d3e245e9bfcc2c2c01d63309208eb4b10ac9e0b3879fe6177fc386
@@ -1 +0,0 @@
1
- a6243c85683b1aa96d601e786a5a2e5b4b6479eb1473bd2a69eb8011467cb3d0db2c264fce372229fd406d8f79642a71847ea89434216ad1077d44132b5150be
@@ -1 +0,0 @@
1
- 91f9509d96cd6582bc81830aec2c7276a853a74b278f1ae3c625676d2b09c8be
@@ -1 +0,0 @@
1
- 4910ba1e3b56bf18677b5e9e40f8cb3e4d372b8d32641151b0dc96183e273e9397da47d48bcef71f15276f91ca65b51177d194287e9db7a3ed49100722ea724d
@@ -1 +0,0 @@
1
- 0407a333aa206f49fae4dc467f2ea6c57d5b2d3d
@@ -1 +0,0 @@
1
- 3599b7b3bde889f356f429e38ebabae2442ae236e54efb27b870ed3d6034a131
@@ -1 +0,0 @@
1
- 25475c3f7fa99a01902e11c33f7f9cc2453adeaf3ee8bff2593eac24faceabdeacb7522aafdc28746e83ed9ca04a0c28479acdabf381c012dad2460756b7376e
File without changes
File without changes
File without changes
File without changes