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.
- package/CHANGELOG.md +12 -0
- package/android/build.gradle +2 -2
- package/android/src/main/java/expo/modules/image/Image.kt +1 -1
- package/android/src/main/java/expo/modules/image/ImageLoadTask.kt +14 -2
- package/android/src/main/java/expo/modules/image/records/ImageLoadOptions.kt +4 -1
- package/build/Image.types.d.ts +10 -1
- package/build/Image.types.d.ts.map +1 -1
- package/expo-module.config.json +1 -1
- package/ios/ImageLoadOptions.swift +2 -1
- package/ios/ImageLoader.swift +6 -1
- package/ios/ImageView.swift +4 -4
- package/ios/{BlurhashLoader.swift → Loaders/BlurhashLoader.swift} +13 -9
- package/ios/{ThumbhashLoader.swift → Loaders/ThumbhashLoader.swift} +8 -5
- 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
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6-sources.jar.md5 +1 -0
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6-sources.jar.sha1 +1 -0
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6-sources.jar.sha256 +1 -0
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6-sources.jar.sha512 +1 -0
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.aar +0 -0
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.aar.md5 +1 -0
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.aar.sha1 +1 -0
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.aar.sha256 +1 -0
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.aar.sha512 +1 -0
- 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
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.module.md5 +1 -0
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.module.sha1 +1 -0
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.module.sha256 +1 -0
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.module.sha512 +1 -0
- 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
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.pom.md5 +1 -0
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.pom.sha1 +1 -0
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.pom.sha256 +1 -0
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.pom.sha512 +1 -0
- package/local-maven-repo/expo/modules/image/expo.modules.image/maven-metadata.xml +4 -4
- package/local-maven-repo/expo/modules/image/expo.modules.image/maven-metadata.xml.md5 +1 -1
- package/local-maven-repo/expo/modules/image/expo.modules.image/maven-metadata.xml.sha1 +1 -1
- package/local-maven-repo/expo/modules/image/expo.modules.image/maven-metadata.xml.sha256 +1 -1
- package/local-maven-repo/expo/modules/image/expo.modules.image/maven-metadata.xml.sha512 +1 -1
- package/package.json +2 -2
- package/src/Image.types.ts +11 -0
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4-sources.jar.md5 +0 -1
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4-sources.jar.sha1 +0 -1
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4-sources.jar.sha256 +0 -1
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4-sources.jar.sha512 +0 -1
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.aar +0 -0
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.aar.md5 +0 -1
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.aar.sha1 +0 -1
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.aar.sha256 +0 -1
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.aar.sha512 +0 -1
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.module.md5 +0 -1
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.module.sha1 +0 -1
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.module.sha256 +0 -1
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.module.sha512 +0 -1
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.pom.md5 +0 -1
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.pom.sha1 +0 -1
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.pom.sha256 +0 -1
- package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.pom.sha512 +0 -1
- /package/ios/{PSDCoder.swift → Coders/PSDCoder.swift} +0 -0
- /package/ios/{WebPCoder.swift → Coders/WebPCoder.swift} +0 -0
- /package/ios/{SFSymbolLoader.swift → Loaders/SFSymbolLoader.swift} +0 -0
- /package/ios/{Blurhash.swift → Utils/Blurhash.swift} +0 -0
- /package/ios/{ImageUtils.swift → Utils/ImageUtils.swift} +0 -0
- /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
|
package/android/build.gradle
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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
|
|
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
|
-
|
|
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
|
package/build/Image.types.d.ts
CHANGED
|
@@ -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":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AACnE,OAAO,EACL,UAAU,IAAI,YAAY,EAC1B,SAAS,EACT,SAAS,EACT,IAAI,EACJ,SAAS,EACT,SAAS,
|
|
1
|
+
{"version":3,"file":"Image.types.d.ts","sourceRoot":"","sources":["../src/Image.types.ts"],"names":[],"mappings":"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"}
|
package/expo-module.config.json
CHANGED
|
@@ -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)`
|
package/ios/ImageLoader.swift
CHANGED
|
@@ -22,7 +22,7 @@ internal final class ImageLoader {
|
|
|
22
22
|
}
|
|
23
23
|
context[.imagePreserveAspectRatio] = true
|
|
24
24
|
|
|
25
|
-
|
|
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
|
|
package/ios/ImageView.swift
CHANGED
|
@@ -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:
|
|
18
|
+
completed completedBlock: ImageLoaderCompletedBlock? = nil
|
|
17
19
|
) -> SDWebImageOperation? {
|
|
18
|
-
guard let url
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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:
|
|
18
|
+
completed completedBlock: ImageLoaderCompletedBlock? = nil
|
|
17
19
|
) -> SDWebImageOperation? {
|
|
18
|
-
guard let url
|
|
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
|
-
|
|
42
|
+
Task(priority: .high) {
|
|
41
43
|
let image = image(fromThumbhash: thumbhashData)
|
|
42
|
-
|
|
44
|
+
|
|
45
|
+
await MainActor.run {
|
|
43
46
|
completedBlock?(image, nil, nil, true)
|
|
44
47
|
}
|
|
45
48
|
}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
d72f0a75edb5d8e75c488dfdd06a749a
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
25e7f38910f5978b352a988025e8c46ed766678f
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
5df33b84a760311c69fe5485bc8a71db33a938248b3571123dfead663510a0e6
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3f9d3003167e5f9eb0623e2daf8cd5c995ec153a194f36316bf9e34607bf2ee4f5de404ccbed9dd59dbbae51d4a940f3a00f0853176bf7a46a2a60055e69a7aa
|
package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.6/expo.modules.image-55.0.6.aar
ADDED
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
feef6ab5b4a7e79cd7644c7b69b5ff0d
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1ebb7c16a1434a741f5dcd80b71140249a8ba904
|
|
@@ -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.
|
|
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.
|
|
58
|
-
"url": "expo.modules.image-55.0.
|
|
59
|
-
"size":
|
|
60
|
-
"sha512": "
|
|
61
|
-
"sha256": "
|
|
62
|
-
"sha1": "
|
|
63
|
-
"md5": "
|
|
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.
|
|
147
|
-
"url": "expo.modules.image-55.0.
|
|
148
|
-
"size":
|
|
149
|
-
"sha512": "
|
|
150
|
-
"sha256": "
|
|
151
|
-
"sha1": "
|
|
152
|
-
"md5": "
|
|
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.
|
|
167
|
-
"url": "expo.modules.image-55.0.
|
|
168
|
-
"size":
|
|
169
|
-
"sha512": "
|
|
170
|
-
"sha256": "
|
|
171
|
-
"sha1": "
|
|
172
|
-
"md5": "
|
|
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
|
+
e58a76a85659dc0d2415733103af44fc
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
a9110287cfdf0121a35ba2a4e8c66ca737d31789
|
|
@@ -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.
|
|
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
|
+
f0e62333964fd4134b3d1dd24f59c93f
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
e48d836f58b3e106d4c8f960801d07bc37ce29da
|
|
@@ -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.
|
|
7
|
-
<release>55.0.
|
|
6
|
+
<latest>55.0.6</latest>
|
|
7
|
+
<release>55.0.6</release>
|
|
8
8
|
<versions>
|
|
9
|
-
<version>55.0.
|
|
9
|
+
<version>55.0.6</version>
|
|
10
10
|
</versions>
|
|
11
|
-
<lastUpdated>
|
|
11
|
+
<lastUpdated>20260305092621</lastUpdated>
|
|
12
12
|
</versioning>
|
|
13
13
|
</metadata>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
873cd6caf35b0d19e860b1f5dd13971b
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
ff2dc7c14227b77b4243bae6e3484f62195151a4
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
47323852dcb0e8638f8b8ce5631ff5f8254df06ba23541d881d77024a3db58b5
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
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
|
+
"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": "
|
|
51
|
+
"gitHead": "756404b0eb18d441b54c7136b4142349193f554b"
|
|
52
52
|
}
|
package/src/Image.types.ts
CHANGED
|
@@ -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
|
-
caec0c7b71c0aafef4f14c7cc6ce9dd7
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
020f9a9bdda10304ed68cd410113a8a95d4233e1
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0e8bdb07f5a0597f09230502329e3b571588c4b4d10ec8e1f695b6c98a2b10a7
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
c8973c9a3555eb3a5cf2e64c26f2f0d37e80bd56ed40f8ec6c6ae57556608ff59fc8f7790de33cb3dfc6a969d71303958e829026f8488bd386ec2930e22f302f
|
package/local-maven-repo/expo/modules/image/expo.modules.image/55.0.4/expo.modules.image-55.0.4.aar
DELETED
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2b4440d8e84ba78ba88270d39aa1826c
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
312c910c2666aa216c1febbafe4342e49af79cc1
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
d0c78f3e30d3e245e9bfcc2c2c01d63309208eb4b10ac9e0b3879fe6177fc386
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
a6243c85683b1aa96d601e786a5a2e5b4b6479eb1473bd2a69eb8011467cb3d0db2c264fce372229fd406d8f79642a71847ea89434216ad1077d44132b5150be
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
334aec688e76e7e891edb26b9f648040
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
c46e5fb81658dddb9c3d88f25a3df37bf850d935
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
91f9509d96cd6582bc81830aec2c7276a853a74b278f1ae3c625676d2b09c8be
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
4910ba1e3b56bf18677b5e9e40f8cb3e4d372b8d32641151b0dc96183e273e9397da47d48bcef71f15276f91ca65b51177d194287e9db7a3ed49100722ea724d
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
b74fe620b0471f7eb92b843324b1ddcc
|
|
@@ -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
|
|
File without changes
|
|
File without changes
|