expo-image 2.3.1-canary-20250612-338ef55 → 2.3.1-canary-20250630-547cd82
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 +9 -0
- package/android/build.gradle +5 -3
- package/android/src/main/java/expo/modules/image/ExpoImageViewWrapper.kt +24 -5
- package/build/web/ImageWrapper.d.ts.map +1 -1
- package/expo-module.config.json +1 -1
- package/ios/ImageView.swift +17 -3
- package/local-maven-repo/BareExpo/expo.modules.image/{2.3.1-canary-20250612-338ef55/expo.modules.image-2.3.1-canary-20250612-338ef55-sources.jar → 2.3.1-canary-20250630-547cd82/expo.modules.image-2.3.1-canary-20250630-547cd82-sources.jar} +0 -0
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250630-547cd82/expo.modules.image-2.3.1-canary-20250630-547cd82-sources.jar.md5 +1 -0
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250630-547cd82/expo.modules.image-2.3.1-canary-20250630-547cd82-sources.jar.sha1 +1 -0
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250630-547cd82/expo.modules.image-2.3.1-canary-20250630-547cd82-sources.jar.sha256 +1 -0
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250630-547cd82/expo.modules.image-2.3.1-canary-20250630-547cd82-sources.jar.sha512 +1 -0
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250630-547cd82/expo.modules.image-2.3.1-canary-20250630-547cd82.aar +0 -0
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250630-547cd82/expo.modules.image-2.3.1-canary-20250630-547cd82.aar.md5 +1 -0
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250630-547cd82/expo.modules.image-2.3.1-canary-20250630-547cd82.aar.sha1 +1 -0
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250630-547cd82/expo.modules.image-2.3.1-canary-20250630-547cd82.aar.sha256 +1 -0
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250630-547cd82/expo.modules.image-2.3.1-canary-20250630-547cd82.aar.sha512 +1 -0
- package/local-maven-repo/BareExpo/expo.modules.image/{2.3.1-canary-20250612-338ef55/expo.modules.image-2.3.1-canary-20250612-338ef55.module → 2.3.1-canary-20250630-547cd82/expo.modules.image-2.3.1-canary-20250630-547cd82.module} +23 -23
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250630-547cd82/expo.modules.image-2.3.1-canary-20250630-547cd82.module.md5 +1 -0
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250630-547cd82/expo.modules.image-2.3.1-canary-20250630-547cd82.module.sha1 +1 -0
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250630-547cd82/expo.modules.image-2.3.1-canary-20250630-547cd82.module.sha256 +1 -0
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250630-547cd82/expo.modules.image-2.3.1-canary-20250630-547cd82.module.sha512 +1 -0
- package/local-maven-repo/BareExpo/expo.modules.image/{2.3.1-canary-20250612-338ef55/expo.modules.image-2.3.1-canary-20250612-338ef55.pom → 2.3.1-canary-20250630-547cd82/expo.modules.image-2.3.1-canary-20250630-547cd82.pom} +2 -2
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250630-547cd82/expo.modules.image-2.3.1-canary-20250630-547cd82.pom.md5 +1 -0
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250630-547cd82/expo.modules.image-2.3.1-canary-20250630-547cd82.pom.sha1 +1 -0
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250630-547cd82/expo.modules.image-2.3.1-canary-20250630-547cd82.pom.sha256 +1 -0
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250630-547cd82/expo.modules.image-2.3.1-canary-20250630-547cd82.pom.sha512 +1 -0
- package/local-maven-repo/BareExpo/expo.modules.image/maven-metadata.xml +4 -4
- package/local-maven-repo/BareExpo/expo.modules.image/maven-metadata.xml.md5 +1 -1
- package/local-maven-repo/BareExpo/expo.modules.image/maven-metadata.xml.sha1 +1 -1
- package/local-maven-repo/BareExpo/expo.modules.image/maven-metadata.xml.sha256 +1 -1
- package/local-maven-repo/BareExpo/expo.modules.image/maven-metadata.xml.sha512 +1 -1
- package/package.json +3 -3
- package/src/web/ImageWrapper.tsx +8 -1
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250612-338ef55/expo.modules.image-2.3.1-canary-20250612-338ef55-sources.jar.md5 +0 -1
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250612-338ef55/expo.modules.image-2.3.1-canary-20250612-338ef55-sources.jar.sha1 +0 -1
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250612-338ef55/expo.modules.image-2.3.1-canary-20250612-338ef55-sources.jar.sha256 +0 -1
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250612-338ef55/expo.modules.image-2.3.1-canary-20250612-338ef55-sources.jar.sha512 +0 -1
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250612-338ef55/expo.modules.image-2.3.1-canary-20250612-338ef55.aar +0 -0
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250612-338ef55/expo.modules.image-2.3.1-canary-20250612-338ef55.aar.md5 +0 -1
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250612-338ef55/expo.modules.image-2.3.1-canary-20250612-338ef55.aar.sha1 +0 -1
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250612-338ef55/expo.modules.image-2.3.1-canary-20250612-338ef55.aar.sha256 +0 -1
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250612-338ef55/expo.modules.image-2.3.1-canary-20250612-338ef55.aar.sha512 +0 -1
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250612-338ef55/expo.modules.image-2.3.1-canary-20250612-338ef55.module.md5 +0 -1
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250612-338ef55/expo.modules.image-2.3.1-canary-20250612-338ef55.module.sha1 +0 -1
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250612-338ef55/expo.modules.image-2.3.1-canary-20250612-338ef55.module.sha256 +0 -1
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250612-338ef55/expo.modules.image-2.3.1-canary-20250612-338ef55.module.sha512 +0 -1
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250612-338ef55/expo.modules.image-2.3.1-canary-20250612-338ef55.pom.md5 +0 -1
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250612-338ef55/expo.modules.image-2.3.1-canary-20250612-338ef55.pom.sha1 +0 -1
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250612-338ef55/expo.modules.image-2.3.1-canary-20250612-338ef55.pom.sha256 +0 -1
- package/local-maven-repo/BareExpo/expo.modules.image/2.3.1-canary-20250612-338ef55/expo.modules.image-2.3.1-canary-20250612-338ef55.pom.sha512 +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,8 +8,16 @@
|
|
|
8
8
|
|
|
9
9
|
### 🐛 Bug fixes
|
|
10
10
|
|
|
11
|
+
- [Android] Fix animation resuming by casting image to GifDrawable. ([#37363](https://github.com/expo/expo/pull/37363) by [@Wenszel](https://github.com/Wenszel))
|
|
12
|
+
- [iOS] Fixed contentPosition is not correct after switching theme. ([#37374](https://github.com/expo/expo/pull/37374) by [@kudo](https://github.com/kudo))
|
|
13
|
+
- [Android] Make Glide compiler (`kapt "com.github.bumptech.glide:compiler"`) in the `expo-image` module conditional on the `excludeAppGlideModule` Gradle property. When `excludeAppGlideModule=true`, expo-image now omits its own annotation processing and stub `ExpoImageAppGlideModule.kt`, preventing duplicate `GeneratedAppGlideModuleImpl` conflicts in release builds. ([#37432](https://github.com/expo/expo/pull/37432) by [@antonhudz](https://github.com/antonhudz))
|
|
14
|
+
|
|
11
15
|
### 💡 Others
|
|
12
16
|
|
|
17
|
+
### 📚 3rd party library updates
|
|
18
|
+
|
|
19
|
+
- [Android] Bumped GIF Glide plugin to 3.0.5 for Android 16KB page size support. ([#37454](https://github.com/expo/expo/pull/37454) by [@kudo](https://github.com/kudo))
|
|
20
|
+
|
|
13
21
|
## 2.3.0 - 2025-06-11
|
|
14
22
|
|
|
15
23
|
### 🛠 Breaking changes
|
|
@@ -35,6 +43,7 @@ _This version does not introduce any user-facing changes._
|
|
|
35
43
|
- Fix React Server Components support. ([#36801](https://github.com/expo/expo/pull/36801) by [@EvanBacon](https://github.com/EvanBacon))
|
|
36
44
|
- [iOS] Fix PhotoLibrary assets being scaled twice. ([#36776](https://github.com/expo/expo/pull/36776) by [@alanjhughes](https://github.com/alanjhughes))
|
|
37
45
|
- [iOS] Don't add transformers when unnecessary. ([#36884](https://github.com/expo/expo/pull/36884) by [@jakex7](https://github.com/jakex7))
|
|
46
|
+
- [Web] Fix `tintColor` in React 19. ([#37133](https://github.com/expo/expo/pull/37133) by [@bradleyayers](https://github.com/bradleyayers))
|
|
38
47
|
|
|
39
48
|
## 2.1.7 — 2025-05-06
|
|
40
49
|
|
package/android/build.gradle
CHANGED
|
@@ -8,7 +8,7 @@ android {
|
|
|
8
8
|
namespace "expo.modules.image"
|
|
9
9
|
defaultConfig {
|
|
10
10
|
versionCode 1
|
|
11
|
-
versionName "2.3.1-canary-
|
|
11
|
+
versionName "2.3.1-canary-20250630-547cd82"
|
|
12
12
|
consumerProguardFiles("proguard-rules.pro")
|
|
13
13
|
|
|
14
14
|
buildConfigField("boolean", "ALLOW_GLIDE_LOGS", project.properties.get("EXPO_ALLOW_GLIDE_LOGS", "false"))
|
|
@@ -31,10 +31,12 @@ dependencies {
|
|
|
31
31
|
implementation 'com.facebook.react:react-android'
|
|
32
32
|
|
|
33
33
|
api "com.github.bumptech.glide:glide:${GLIDE_VERSION}"
|
|
34
|
-
|
|
34
|
+
if (!expoModule.safeExtGet("excludeAppGlideModule", false)) {
|
|
35
|
+
kapt "com.github.bumptech.glide:compiler:${GLIDE_VERSION}"
|
|
36
|
+
}
|
|
35
37
|
api 'com.caverock:androidsvg-aar:1.4'
|
|
36
38
|
|
|
37
|
-
implementation "com.github.penfeizhou.android.animation:glide-plugin:3.0.
|
|
39
|
+
implementation "com.github.penfeizhou.android.animation:glide-plugin:3.0.5"
|
|
38
40
|
implementation "com.github.bumptech.glide:avif-integration:${GLIDE_VERSION}"
|
|
39
41
|
|
|
40
42
|
api 'com.github.bumptech.glide:okhttp3-integration:4.11.0'
|
|
@@ -18,6 +18,7 @@ import com.bumptech.glide.RequestManager
|
|
|
18
18
|
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
|
19
19
|
import com.bumptech.glide.load.resource.bitmap.DownsampleStrategy
|
|
20
20
|
import com.bumptech.glide.request.RequestOptions
|
|
21
|
+
import com.github.penfeizhou.animation.gif.GifDrawable
|
|
21
22
|
import expo.modules.image.enums.ContentFit
|
|
22
23
|
import expo.modules.image.enums.Priority
|
|
23
24
|
import expo.modules.image.events.GlideRequestListener
|
|
@@ -169,14 +170,32 @@ class ExpoImageViewWrapper(context: Context, appContext: AppContext) : ExpoView(
|
|
|
169
170
|
internal var cachePolicy: CachePolicy = CachePolicy.DISK
|
|
170
171
|
|
|
171
172
|
fun setIsAnimating(setAnimating: Boolean) {
|
|
172
|
-
|
|
173
|
+
// Animatable animations always start from the beginning when resumed.
|
|
174
|
+
// So we check first if the resource is a GifDrawable, because it can continue
|
|
175
|
+
// from where it was paused.
|
|
176
|
+
when (val resource = activeView.drawable) {
|
|
177
|
+
is GifDrawable -> setIsAnimating(resource, setAnimating)
|
|
178
|
+
is Animatable -> setIsAnimating(resource, setAnimating)
|
|
179
|
+
}
|
|
180
|
+
}
|
|
173
181
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
182
|
+
private fun setIsAnimating(resource: GifDrawable, setAnimating: Boolean) {
|
|
183
|
+
if (setAnimating) {
|
|
184
|
+
if (resource.isPaused) {
|
|
185
|
+
resource.resume()
|
|
177
186
|
} else {
|
|
178
|
-
resource.
|
|
187
|
+
resource.start()
|
|
179
188
|
}
|
|
189
|
+
} else {
|
|
190
|
+
resource.pause()
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
private fun setIsAnimating(resource: Animatable, setAnimating: Boolean) {
|
|
195
|
+
if (setAnimating) {
|
|
196
|
+
resource.start()
|
|
197
|
+
} else {
|
|
198
|
+
resource.stop()
|
|
180
199
|
}
|
|
181
200
|
}
|
|
182
201
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageWrapper.d.ts","sourceRoot":"","sources":["../../src/web/ImageWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAqBzD,QAAA,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"ImageWrapper.d.ts","sourceRoot":"","sources":["../../src/web/ImageWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAqBzD,QAAA,MAAM,YAAY,4FAmEjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
package/expo-module.config.json
CHANGED
package/ios/ImageView.swift
CHANGED
|
@@ -70,6 +70,11 @@ public final class ImageView: ExpoView {
|
|
|
70
70
|
|
|
71
71
|
var useAppleWebpCodec: Bool = true
|
|
72
72
|
|
|
73
|
+
/**
|
|
74
|
+
The ideal image size that fills in the container size while maintaining the source aspect ratio.
|
|
75
|
+
*/
|
|
76
|
+
var imageIdealSize: CGSize = .zero
|
|
77
|
+
|
|
73
78
|
// MARK: - Events
|
|
74
79
|
|
|
75
80
|
let onLoadStart = EventDispatcher()
|
|
@@ -120,6 +125,15 @@ public final class ImageView: ExpoView {
|
|
|
120
125
|
}
|
|
121
126
|
}
|
|
122
127
|
|
|
128
|
+
public override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
|
|
129
|
+
super.traitCollectionDidChange(previousTraitCollection)
|
|
130
|
+
if self.traitCollection.hasDifferentColorAppearance(comparedTo: previousTraitCollection) {
|
|
131
|
+
// The mask layer we adjusted would be invaliated from `RCTViewComponentView.traitCollectionDidChange`.
|
|
132
|
+
// After that we have to recalculate the mask layer in `applyContentPosition`.
|
|
133
|
+
applyContentPosition(contentSize: imageIdealSize, containerSize: frame.size)
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
123
137
|
// MARK: - Implementation
|
|
124
138
|
|
|
125
139
|
func reload(force: Bool = false) {
|
|
@@ -228,15 +242,15 @@ public final class ImageView: ExpoView {
|
|
|
228
242
|
])
|
|
229
243
|
|
|
230
244
|
let scale = window?.screen.scale ?? UIScreen.main.scale
|
|
231
|
-
|
|
245
|
+
imageIdealSize = idealSize(
|
|
232
246
|
contentPixelSize: image.size * image.scale,
|
|
233
247
|
containerSize: frame.size,
|
|
234
248
|
scale: scale,
|
|
235
249
|
contentFit: contentFit
|
|
236
250
|
).rounded(.up)
|
|
237
251
|
|
|
238
|
-
let image = processImage(image, idealSize:
|
|
239
|
-
applyContentPosition(contentSize:
|
|
252
|
+
let image = processImage(image, idealSize: imageIdealSize, scale: scale)
|
|
253
|
+
applyContentPosition(contentSize: imageIdealSize, containerSize: frame.size)
|
|
240
254
|
renderSourceImage(image)
|
|
241
255
|
} else {
|
|
242
256
|
displayPlaceholderIfNecessary()
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0dea771f25d26d1fe65aa2fc3511dc99
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
92ced973167a00d2e43b5d8f32835e9b9221e348
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
7212a71cec9495553fcd340b922ce49543d48c94167db4e0bad3d124f11abe48
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
b390278b08a6723df7fe1de078963025fba0da39d8465dfb3c2143d94e1c48b708d8cd4a9acbd5047914911ec3349cf0b5c65c649bebdec22f83b207ca2ec563
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3b99ea2aa9e608ef7a20e25150c02ce9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4cec8f0d3433ef801d7f0665ccd4d91cf4bf89c4
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
a99a9a74a761f9275346efcc3aa8cd21371ea47f40e70a30fb97aceea0efd79b
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
36127dbb35f93f99de976ee879f558e72310881b9396dcaf4845de37c7aaeaa6419e7e59821555978f83d5ae60492b2a547e1077657d2f92ac5a3d4d5200748e
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"component": {
|
|
4
4
|
"group": "BareExpo",
|
|
5
5
|
"module": "expo.modules.image",
|
|
6
|
-
"version": "2.3.1-canary-
|
|
6
|
+
"version": "2.3.1-canary-20250630-547cd82",
|
|
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-2.3.1-canary-
|
|
58
|
-
"url": "expo.modules.image-2.3.1-canary-
|
|
59
|
-
"size":
|
|
60
|
-
"sha512": "
|
|
61
|
-
"sha256": "
|
|
62
|
-
"sha1": "
|
|
63
|
-
"md5": "
|
|
57
|
+
"name": "expo.modules.image-2.3.1-canary-20250630-547cd82.aar",
|
|
58
|
+
"url": "expo.modules.image-2.3.1-canary-20250630-547cd82.aar",
|
|
59
|
+
"size": 279967,
|
|
60
|
+
"sha512": "36127dbb35f93f99de976ee879f558e72310881b9396dcaf4845de37c7aaeaa6419e7e59821555978f83d5ae60492b2a547e1077657d2f92ac5a3d4d5200748e",
|
|
61
|
+
"sha256": "a99a9a74a761f9275346efcc3aa8cd21371ea47f40e70a30fb97aceea0efd79b",
|
|
62
|
+
"sha1": "4cec8f0d3433ef801d7f0665ccd4d91cf4bf89c4",
|
|
63
|
+
"md5": "3b99ea2aa9e608ef7a20e25150c02ce9"
|
|
64
64
|
}
|
|
65
65
|
]
|
|
66
66
|
},
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
"group": "com.github.penfeizhou.android.animation",
|
|
89
89
|
"module": "glide-plugin",
|
|
90
90
|
"version": {
|
|
91
|
-
"requires": "3.0.
|
|
91
|
+
"requires": "3.0.5"
|
|
92
92
|
}
|
|
93
93
|
},
|
|
94
94
|
{
|
|
@@ -143,13 +143,13 @@
|
|
|
143
143
|
],
|
|
144
144
|
"files": [
|
|
145
145
|
{
|
|
146
|
-
"name": "expo.modules.image-2.3.1-canary-
|
|
147
|
-
"url": "expo.modules.image-2.3.1-canary-
|
|
148
|
-
"size":
|
|
149
|
-
"sha512": "
|
|
150
|
-
"sha256": "
|
|
151
|
-
"sha1": "
|
|
152
|
-
"md5": "
|
|
146
|
+
"name": "expo.modules.image-2.3.1-canary-20250630-547cd82.aar",
|
|
147
|
+
"url": "expo.modules.image-2.3.1-canary-20250630-547cd82.aar",
|
|
148
|
+
"size": 279967,
|
|
149
|
+
"sha512": "36127dbb35f93f99de976ee879f558e72310881b9396dcaf4845de37c7aaeaa6419e7e59821555978f83d5ae60492b2a547e1077657d2f92ac5a3d4d5200748e",
|
|
150
|
+
"sha256": "a99a9a74a761f9275346efcc3aa8cd21371ea47f40e70a30fb97aceea0efd79b",
|
|
151
|
+
"sha1": "4cec8f0d3433ef801d7f0665ccd4d91cf4bf89c4",
|
|
152
|
+
"md5": "3b99ea2aa9e608ef7a20e25150c02ce9"
|
|
153
153
|
}
|
|
154
154
|
]
|
|
155
155
|
},
|
|
@@ -163,13 +163,13 @@
|
|
|
163
163
|
},
|
|
164
164
|
"files": [
|
|
165
165
|
{
|
|
166
|
-
"name": "expo.modules.image-2.3.1-canary-
|
|
167
|
-
"url": "expo.modules.image-2.3.1-canary-
|
|
168
|
-
"size":
|
|
169
|
-
"sha512": "
|
|
170
|
-
"sha256": "
|
|
171
|
-
"sha1": "
|
|
172
|
-
"md5": "
|
|
166
|
+
"name": "expo.modules.image-2.3.1-canary-20250630-547cd82-sources.jar",
|
|
167
|
+
"url": "expo.modules.image-2.3.1-canary-20250630-547cd82-sources.jar",
|
|
168
|
+
"size": 64377,
|
|
169
|
+
"sha512": "b390278b08a6723df7fe1de078963025fba0da39d8465dfb3c2143d94e1c48b708d8cd4a9acbd5047914911ec3349cf0b5c65c649bebdec22f83b207ca2ec563",
|
|
170
|
+
"sha256": "7212a71cec9495553fcd340b922ce49543d48c94167db4e0bad3d124f11abe48",
|
|
171
|
+
"sha1": "92ced973167a00d2e43b5d8f32835e9b9221e348",
|
|
172
|
+
"md5": "0dea771f25d26d1fe65aa2fc3511dc99"
|
|
173
173
|
}
|
|
174
174
|
]
|
|
175
175
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3d05c3ea0e8c559d602b6f10e4a84122
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
5e483ec126763d743e33747b715f9d91f27b3521
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
c4f73bfd83fc4ef13ad5283fbaf9eda4a77b41a352e155bca8b7631a34f6ff67
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
8edc92068e9e58dae578bc326c8270ab42c2f87428e58047b8967379f6f75ccaee5188ba00c5d2c022f37d8cf63b84436f68a43ceec7add16de37f14fc0cad07
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<modelVersion>4.0.0</modelVersion>
|
|
10
10
|
<groupId>BareExpo</groupId>
|
|
11
11
|
<artifactId>expo.modules.image</artifactId>
|
|
12
|
-
<version>2.3.1-canary-
|
|
12
|
+
<version>2.3.1-canary-20250630-547cd82</version>
|
|
13
13
|
<packaging>aar</packaging>
|
|
14
14
|
<name>expo.modules.image</name>
|
|
15
15
|
<url>https://github.com/expo/expo</url>
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
<dependency>
|
|
64
64
|
<groupId>com.github.penfeizhou.android.animation</groupId>
|
|
65
65
|
<artifactId>glide-plugin</artifactId>
|
|
66
|
-
<version>3.0.
|
|
66
|
+
<version>3.0.5</version>
|
|
67
67
|
<scope>runtime</scope>
|
|
68
68
|
</dependency>
|
|
69
69
|
<dependency>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
df446a99e5d5d6b3f1ad81033ed9f723
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
b2098609f806316b8c7a0f1c8a75e8e8110bb789
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
6abba9b13bff76f45a549a9d8b2415a9302481979ec6fdb0dbe800a4616761eb
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
d5fd8fec0c22ccab0ba8dd67459e65cb1ff3d5cece59d9fa90921215266de83b804b03456fd76ef802a5d280eb644f40e1c6e1379a0d5b2aff5ccd91b2a531bc
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
<groupId>BareExpo</groupId>
|
|
4
4
|
<artifactId>expo.modules.image</artifactId>
|
|
5
5
|
<versioning>
|
|
6
|
-
<latest>2.3.1-canary-
|
|
7
|
-
<release>2.3.1-canary-
|
|
6
|
+
<latest>2.3.1-canary-20250630-547cd82</latest>
|
|
7
|
+
<release>2.3.1-canary-20250630-547cd82</release>
|
|
8
8
|
<versions>
|
|
9
|
-
<version>2.3.1-canary-
|
|
9
|
+
<version>2.3.1-canary-20250630-547cd82</version>
|
|
10
10
|
</versions>
|
|
11
|
-
<lastUpdated>
|
|
11
|
+
<lastUpdated>20250630093955</lastUpdated>
|
|
12
12
|
</versioning>
|
|
13
13
|
</metadata>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
96258a39c7fb6721919da48ab3292844
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
3b16529617382502a20c82458267d3fbb80439ae
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
a341cf82a9892adc56d43222ff10808320df7bf0c0facf9aee8a7cb96f82fb8c
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
362ecc5a62613518aa07735c903ce602894fe6e1bcbe71916033aa4466df9f453b91ae01b5ac35781f8e7b03ff035b342cb80a7677b9f7eb513b5535d4e9155e
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-image",
|
|
3
3
|
"title": "Expo Image",
|
|
4
|
-
"version": "2.3.1-canary-
|
|
4
|
+
"version": "2.3.1-canary-20250630-547cd82",
|
|
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",
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
"license": "MIT",
|
|
30
30
|
"dependencies": {},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"expo-module-scripts": "4.1.
|
|
32
|
+
"expo-module-scripts": "4.1.9-canary-20250630-547cd82"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
35
|
-
"expo": "54.0.0-canary-
|
|
35
|
+
"expo": "54.0.0-canary-20250630-547cd82",
|
|
36
36
|
"react": "*",
|
|
37
37
|
"react-native": "*",
|
|
38
38
|
"react-native-web": "*"
|
package/src/web/ImageWrapper.tsx
CHANGED
|
@@ -44,7 +44,14 @@ const ImageWrapper = React.forwardRef(
|
|
|
44
44
|
events?.onMount?.forEach((e) => e?.());
|
|
45
45
|
}, []);
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
// Use a unique ID for the SVG filter so that multiple <Image> can be used
|
|
48
|
+
// on the same page with different tint colors without conflicts.
|
|
49
|
+
const tintId = useId()
|
|
50
|
+
// Make it safe for use as an SVG ID. SVG IDs are most strict than HTML
|
|
51
|
+
// IDs. They must be compliant with https://www.w3.org/TR/xml/#NT-Name.
|
|
52
|
+
// React 19 changed useId() to include « and ». These must be removed or
|
|
53
|
+
// the SVG filter will not work (e.g. in Safari which enforces the spec).
|
|
54
|
+
.replace(/[«»]/g, '_');
|
|
48
55
|
|
|
49
56
|
// Thumbhash uri always has to start with 'thumbhash:/'
|
|
50
57
|
const { resolvedSource, isImageHash } = useImageHashes(source);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
7503ed0734f934f764355c1bbe24fd65
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
7f083c927add65013047d49ee796e7d345056a68
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
e48a00dcafcebec3b928754c0288ac58f1dfaeac61827619d2cc7b153ee0a531
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
16d4384079cca560d3755a544494e3ca5fe00313de647e53f20a3d734cdac96f1d44b8896ac42d5d526345bb1811383caeaae812c90fe68463569a76650eb46c
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
051569f8d4efae72dcac67816b480d0e
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1002adced0addf2143391ee95583419f45f002b5
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
6ee8c7984bcf949b1b1f40ee6081382f8a33720ad60f29815c14f35d6884703b
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
227d071e0843c8a88b91c5f890ca955db2f21b0fac806827fc3101f9fa294ad31a64e7f1c3bf695960c6204568d31f7ecee17c8bd0e2b5e1ed8526f738557df6
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
e6431b1aed8b62bb4a3d51c7dcffc822
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
acff916e9688a075d02e9e577edb94da223abc44
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0d2b8534e6a210ea27e0240e4d45ed7624294ceee68241d0a31b893c941d0172
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
46b7827055b49be2cbde5fdc8cca802b47662f8fa761f36b4e034d68538ed1ed40ed2180d49f94d3ee638a7f057b87c0f15afebffb28ad72894e173353b61e71
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
6aaf70f637a0a21d59b23732be28dc51
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0dfceed7564bd6348337cc8ab6e8be9958715a10
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
d97c5c48a39a83d0fecbe088d24f9053cb3089d9bdf384e3996e9645cd96fc1b
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
f6635de0e3acac3d9d90db9bc719bd9d3d35f32178437cc13691b622a3f12e66881fe23b7608b8b7b9e52290bfc39640fada70f459b7fbca657bb697cddd45ec
|