expo-image-picker 16.1.1 → 16.1.2

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 (41) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/android/build.gradle +2 -2
  3. package/build/ExponentImagePicker.web.d.ts +3 -12
  4. package/build/ExponentImagePicker.web.d.ts.map +1 -1
  5. package/build/ExponentImagePicker.web.js.map +1 -1
  6. package/expo-module.config.json +1 -1
  7. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/{16.1.1/expo.modules.imagepicker-16.1.1.module → 16.1.2/expo.modules.imagepicker-16.1.2.module} +7 -7
  8. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/16.1.2/expo.modules.imagepicker-16.1.2.module.md5 +1 -0
  9. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/16.1.2/expo.modules.imagepicker-16.1.2.module.sha1 +1 -0
  10. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/16.1.2/expo.modules.imagepicker-16.1.2.module.sha256 +1 -0
  11. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/16.1.2/expo.modules.imagepicker-16.1.2.module.sha512 +1 -0
  12. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/{16.1.1/expo.modules.imagepicker-16.1.1.pom → 16.1.2/expo.modules.imagepicker-16.1.2.pom} +1 -1
  13. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/16.1.2/expo.modules.imagepicker-16.1.2.pom.md5 +1 -0
  14. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/16.1.2/expo.modules.imagepicker-16.1.2.pom.sha1 +1 -0
  15. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/16.1.2/expo.modules.imagepicker-16.1.2.pom.sha256 +1 -0
  16. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/16.1.2/expo.modules.imagepicker-16.1.2.pom.sha512 +1 -0
  17. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/maven-metadata.xml +4 -4
  18. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/maven-metadata.xml.md5 +1 -1
  19. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/maven-metadata.xml.sha1 +1 -1
  20. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/maven-metadata.xml.sha256 +1 -1
  21. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/maven-metadata.xml.sha512 +1 -1
  22. package/package.json +3 -3
  23. package/src/ExponentImagePicker.web.ts +3 -2
  24. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/16.1.1/expo.modules.imagepicker-16.1.1.module.md5 +0 -1
  25. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/16.1.1/expo.modules.imagepicker-16.1.1.module.sha1 +0 -1
  26. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/16.1.1/expo.modules.imagepicker-16.1.1.module.sha256 +0 -1
  27. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/16.1.1/expo.modules.imagepicker-16.1.1.module.sha512 +0 -1
  28. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/16.1.1/expo.modules.imagepicker-16.1.1.pom.md5 +0 -1
  29. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/16.1.1/expo.modules.imagepicker-16.1.1.pom.sha1 +0 -1
  30. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/16.1.1/expo.modules.imagepicker-16.1.1.pom.sha256 +0 -1
  31. package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/16.1.1/expo.modules.imagepicker-16.1.1.pom.sha512 +0 -1
  32. /package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/{16.1.1/expo.modules.imagepicker-16.1.1-sources.jar → 16.1.2/expo.modules.imagepicker-16.1.2-sources.jar} +0 -0
  33. /package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/{16.1.1/expo.modules.imagepicker-16.1.1-sources.jar.md5 → 16.1.2/expo.modules.imagepicker-16.1.2-sources.jar.md5} +0 -0
  34. /package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/{16.1.1/expo.modules.imagepicker-16.1.1-sources.jar.sha1 → 16.1.2/expo.modules.imagepicker-16.1.2-sources.jar.sha1} +0 -0
  35. /package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/{16.1.1/expo.modules.imagepicker-16.1.1-sources.jar.sha256 → 16.1.2/expo.modules.imagepicker-16.1.2-sources.jar.sha256} +0 -0
  36. /package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/{16.1.1/expo.modules.imagepicker-16.1.1-sources.jar.sha512 → 16.1.2/expo.modules.imagepicker-16.1.2-sources.jar.sha512} +0 -0
  37. /package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/{16.1.1/expo.modules.imagepicker-16.1.1.aar → 16.1.2/expo.modules.imagepicker-16.1.2.aar} +0 -0
  38. /package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/{16.1.1/expo.modules.imagepicker-16.1.1.aar.md5 → 16.1.2/expo.modules.imagepicker-16.1.2.aar.md5} +0 -0
  39. /package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/{16.1.1/expo.modules.imagepicker-16.1.1.aar.sha1 → 16.1.2/expo.modules.imagepicker-16.1.2.aar.sha1} +0 -0
  40. /package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/{16.1.1/expo.modules.imagepicker-16.1.1.aar.sha256 → 16.1.2/expo.modules.imagepicker-16.1.2.aar.sha256} +0 -0
  41. /package/local-maven-repo/host/exp/exponent/expo.modules.imagepicker/{16.1.1/expo.modules.imagepicker-16.1.1.aar.sha512 → 16.1.2/expo.modules.imagepicker-16.1.2.aar.sha512} +0 -0
package/CHANGELOG.md CHANGED
@@ -10,6 +10,10 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 16.1.2 — 2025-04-14
14
+
15
+ _This version does not introduce any user-facing changes._
16
+
13
17
  ## 16.1.1 — 2025-04-09
14
18
 
15
19
  _This version does not introduce any user-facing changes._
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'host.exp.exponent'
7
- version = '16.1.1'
7
+ version = '16.1.2'
8
8
 
9
9
  android {
10
10
  namespace "expo.modules.imagepicker"
11
11
  defaultConfig {
12
12
  versionCode 22
13
- versionName "16.1.1"
13
+ versionName "16.1.2"
14
14
  testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
15
15
  }
16
16
  testOptions {
@@ -1,17 +1,8 @@
1
1
  import { PermissionResponse } from 'expo-modules-core';
2
- import { ImagePickerResult, MediaType, MediaTypeOptions } from './ImagePicker.types';
2
+ import { ImagePickerOptions, ImagePickerResult } from './ImagePicker.types';
3
3
  declare const _default: {
4
- launchImageLibraryAsync({ mediaTypes, allowsMultipleSelection, base64, }: {
5
- mediaTypes?: MediaType[] | undefined;
6
- allowsMultipleSelection?: boolean | undefined;
7
- base64?: boolean | undefined;
8
- }): Promise<ImagePickerResult>;
9
- launchCameraAsync({ mediaTypes, allowsMultipleSelection, base64, cameraType, }: {
10
- mediaTypes?: MediaTypeOptions | undefined;
11
- allowsMultipleSelection?: boolean | undefined;
12
- base64?: boolean | undefined;
13
- cameraType: any;
14
- }): Promise<ImagePickerResult>;
4
+ launchImageLibraryAsync({ mediaTypes, allowsMultipleSelection, base64, }: ImagePickerOptions): Promise<ImagePickerResult>;
5
+ launchCameraAsync({ mediaTypes, allowsMultipleSelection, base64, cameraType, }: ImagePickerOptions): Promise<ImagePickerResult>;
15
6
  getCameraPermissionsAsync(): Promise<PermissionResponse>;
16
7
  requestCameraPermissionsAsync(): Promise<PermissionResponse>;
17
8
  getMediaLibraryPermissionsAsync(_writeOnly: boolean): Promise<PermissionResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"ExponentImagePicker.web.d.ts","sourceRoot":"","sources":["../src/ExponentImagePicker.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA8B,MAAM,mBAAmB,CAAC;AAEnF,OAAO,EAGL,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAEjB,MAAM,qBAAqB,CAAC;;;;;;QAcvB,OAAO,CAAC,iBAAiB,CAAC;;;;;;QAiB1B,OAAO,CAAC,iBAAiB,CAAC;;;gDA2BoB,OAAO;oDAGH,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;;AApD7F,wBAuDE"}
1
+ {"version":3,"file":"ExponentImagePicker.web.d.ts","sourceRoot":"","sources":["../src/ExponentImagePicker.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA8B,MAAM,mBAAmB,CAAC;AAEnF,OAAO,EAGL,kBAAkB,EAClB,iBAAiB,EAIlB,MAAM,qBAAqB,CAAC;;8EAcxB,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;oFAiB/C,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;;;gDA2BA,OAAO;oDAGH,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;;AApD7F,wBAuDE"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExponentImagePicker.web.js","sourceRoot":"","sources":["../src/ExponentImagePicker.web.ts"],"names":[],"mappings":"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","sourcesContent":["import { PermissionResponse, PermissionStatus, Platform } from 'expo-modules-core';\n\nimport {\n CameraType,\n ImagePickerAsset,\n ImagePickerResult,\n MediaType,\n MediaTypeOptions,\n OpenFileBrowserOptions,\n} from './ImagePicker.types';\nimport { parseMediaTypes } from './utils';\n\nconst MediaTypeInput: Record<MediaType, string> = {\n images: 'image/*',\n videos: 'video/mp4,video/quicktime,video/x-m4v,video/*',\n livePhotos: '',\n};\n\nexport default {\n async launchImageLibraryAsync({\n mediaTypes = ['images'] as MediaType[],\n allowsMultipleSelection = false,\n base64 = false,\n }): Promise<ImagePickerResult> {\n // SSR guard\n if (!Platform.isDOMAvailable) {\n return { canceled: true, assets: null };\n }\n return await openFileBrowserAsync({\n mediaTypes,\n allowsMultipleSelection,\n base64,\n });\n },\n\n async launchCameraAsync({\n mediaTypes = MediaTypeOptions.Images,\n allowsMultipleSelection = false,\n base64 = false,\n cameraType,\n }): Promise<ImagePickerResult> {\n // SSR guard\n if (!Platform.isDOMAvailable) {\n return { canceled: true, assets: null };\n }\n return await openFileBrowserAsync({\n mediaTypes,\n allowsMultipleSelection,\n capture: cameraType ?? true,\n base64,\n });\n },\n\n /*\n * Delegate to expo-permissions to request camera permissions\n */\n async getCameraPermissionsAsync() {\n return permissionGrantedResponse();\n },\n async requestCameraPermissionsAsync() {\n return permissionGrantedResponse();\n },\n\n /*\n * Camera roll permissions don't need to be requested on web, so we always\n * respond with granted.\n */\n async getMediaLibraryPermissionsAsync(_writeOnly: boolean) {\n return permissionGrantedResponse();\n },\n async requestMediaLibraryPermissionsAsync(_writeOnly: boolean): Promise<PermissionResponse> {\n return permissionGrantedResponse();\n },\n};\n\nfunction permissionGrantedResponse(): PermissionResponse {\n return {\n status: PermissionStatus.GRANTED,\n expires: 'never',\n granted: true,\n canAskAgain: true,\n };\n}\n\nfunction openFileBrowserAsync({\n mediaTypes,\n capture = false,\n allowsMultipleSelection = false,\n base64,\n}: OpenFileBrowserOptions): Promise<ImagePickerResult> {\n const parsedMediaTypes = parseMediaTypes(mediaTypes);\n\n const mediaTypeFormat = createMediaTypeFormat(parsedMediaTypes);\n\n const input = document.createElement('input');\n input.style.display = 'none';\n input.setAttribute('type', 'file');\n input.setAttribute('accept', mediaTypeFormat);\n input.setAttribute('id', String(Math.random()));\n input.setAttribute('data-testid', 'file-input');\n if (allowsMultipleSelection) {\n input.setAttribute('multiple', 'multiple');\n }\n if (capture) {\n switch (capture) {\n case true:\n input.setAttribute('capture', 'camera');\n break;\n case CameraType.front:\n input.setAttribute('capture', 'environment');\n break;\n case CameraType.back:\n input.setAttribute('capture', 'user');\n }\n }\n document.body.appendChild(input);\n\n return new Promise((resolve) => {\n input.addEventListener('change', async () => {\n if (input.files?.length) {\n const files = allowsMultipleSelection ? input.files : [input.files[0]];\n const assets: ImagePickerAsset[] = await Promise.all(\n Array.from(files).map((file) => readFile(file, { base64 }))\n );\n\n resolve({ canceled: false, assets });\n } else {\n resolve({ canceled: true, assets: null });\n }\n document.body.removeChild(input);\n });\n input.addEventListener('cancel', () => {\n input.dispatchEvent(new Event('change'));\n });\n\n const event = new MouseEvent('click');\n input.dispatchEvent(event);\n });\n}\n\nfunction readFile(targetFile: File, options: { base64: boolean }): Promise<ImagePickerAsset> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onerror = () => {\n reject(new Error(`Failed to read the selected media because the operation failed.`));\n };\n reader.onload = ({ target }) => {\n const uri = (target as any).result;\n const returnRaw = () => resolve({ uri, width: 0, height: 0 });\n const returnMediaData = (data: ImagePickerAsset) => {\n resolve({\n ...data,\n ...(options.base64 && { base64: uri.substr(uri.indexOf(',') + 1) }),\n file: targetFile,\n });\n };\n\n if (typeof uri === 'string') {\n if (targetFile.type.startsWith('image/')) {\n const image = new Image();\n image.src = uri;\n image.onload = () => {\n returnMediaData({\n uri,\n width: image.naturalWidth ?? image.width,\n height: image.naturalHeight ?? image.height,\n type: 'image',\n mimeType: targetFile.type,\n fileName: targetFile.name,\n fileSize: targetFile.size,\n });\n };\n image.onerror = () => returnRaw();\n } else if (targetFile.type.startsWith('video/')) {\n const video = document.createElement('video');\n video.preload = 'metadata';\n video.src = uri;\n video.onloadedmetadata = () => {\n returnMediaData({\n uri,\n width: video.videoWidth,\n height: video.videoHeight,\n type: 'video',\n mimeType: targetFile.type,\n fileName: targetFile.name,\n fileSize: targetFile.size,\n duration: video.duration,\n });\n };\n video.onerror = () => returnRaw();\n } else {\n returnRaw();\n }\n } else {\n returnRaw();\n }\n };\n\n reader.readAsDataURL(targetFile);\n });\n}\n\nfunction createMediaTypeFormat(mediaTypes: MediaType[]): string {\n const filteredMediaTypes = mediaTypes.filter((mediaType) => mediaType !== 'livePhotos');\n if (filteredMediaTypes.length === 0) {\n return 'image/*';\n }\n let result = '';\n for (const mediaType of filteredMediaTypes) {\n // Make sure the types don't repeat\n if (!result.includes(MediaTypeInput[mediaType])) {\n result = result.concat(',', MediaTypeInput[mediaType]);\n }\n }\n return result;\n}\n"]}
1
+ {"version":3,"file":"ExponentImagePicker.web.js","sourceRoot":"","sources":["../src/ExponentImagePicker.web.ts"],"names":[],"mappings":"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","sourcesContent":["import { PermissionResponse, PermissionStatus, Platform } from 'expo-modules-core';\n\nimport {\n CameraType,\n ImagePickerAsset,\n ImagePickerOptions,\n ImagePickerResult,\n MediaType,\n MediaTypeOptions,\n OpenFileBrowserOptions,\n} from './ImagePicker.types';\nimport { parseMediaTypes } from './utils';\n\nconst MediaTypeInput: Record<MediaType, string> = {\n images: 'image/*',\n videos: 'video/mp4,video/quicktime,video/x-m4v,video/*',\n livePhotos: '',\n};\n\nexport default {\n async launchImageLibraryAsync({\n mediaTypes = ['images'] as MediaType[],\n allowsMultipleSelection = false,\n base64 = false,\n }: ImagePickerOptions): Promise<ImagePickerResult> {\n // SSR guard\n if (!Platform.isDOMAvailable) {\n return { canceled: true, assets: null };\n }\n return await openFileBrowserAsync({\n mediaTypes,\n allowsMultipleSelection,\n base64,\n });\n },\n\n async launchCameraAsync({\n mediaTypes = MediaTypeOptions.Images,\n allowsMultipleSelection = false,\n base64 = false,\n cameraType,\n }: ImagePickerOptions): Promise<ImagePickerResult> {\n // SSR guard\n if (!Platform.isDOMAvailable) {\n return { canceled: true, assets: null };\n }\n return await openFileBrowserAsync({\n mediaTypes,\n allowsMultipleSelection,\n capture: cameraType ?? true,\n base64,\n });\n },\n\n /*\n * Delegate to expo-permissions to request camera permissions\n */\n async getCameraPermissionsAsync() {\n return permissionGrantedResponse();\n },\n async requestCameraPermissionsAsync() {\n return permissionGrantedResponse();\n },\n\n /*\n * Camera roll permissions don't need to be requested on web, so we always\n * respond with granted.\n */\n async getMediaLibraryPermissionsAsync(_writeOnly: boolean) {\n return permissionGrantedResponse();\n },\n async requestMediaLibraryPermissionsAsync(_writeOnly: boolean): Promise<PermissionResponse> {\n return permissionGrantedResponse();\n },\n};\n\nfunction permissionGrantedResponse(): PermissionResponse {\n return {\n status: PermissionStatus.GRANTED,\n expires: 'never',\n granted: true,\n canAskAgain: true,\n };\n}\n\nfunction openFileBrowserAsync({\n mediaTypes,\n capture = false,\n allowsMultipleSelection = false,\n base64,\n}: OpenFileBrowserOptions): Promise<ImagePickerResult> {\n const parsedMediaTypes = parseMediaTypes(mediaTypes);\n\n const mediaTypeFormat = createMediaTypeFormat(parsedMediaTypes);\n\n const input = document.createElement('input');\n input.style.display = 'none';\n input.setAttribute('type', 'file');\n input.setAttribute('accept', mediaTypeFormat);\n input.setAttribute('id', String(Math.random()));\n input.setAttribute('data-testid', 'file-input');\n if (allowsMultipleSelection) {\n input.setAttribute('multiple', 'multiple');\n }\n if (capture) {\n switch (capture) {\n case true:\n input.setAttribute('capture', 'camera');\n break;\n case CameraType.front:\n input.setAttribute('capture', 'environment');\n break;\n case CameraType.back:\n input.setAttribute('capture', 'user');\n }\n }\n document.body.appendChild(input);\n\n return new Promise((resolve) => {\n input.addEventListener('change', async () => {\n if (input.files?.length) {\n const files = allowsMultipleSelection ? input.files : [input.files[0]];\n const assets: ImagePickerAsset[] = await Promise.all(\n Array.from(files).map((file) => readFile(file, { base64 }))\n );\n\n resolve({ canceled: false, assets });\n } else {\n resolve({ canceled: true, assets: null });\n }\n document.body.removeChild(input);\n });\n input.addEventListener('cancel', () => {\n input.dispatchEvent(new Event('change'));\n });\n\n const event = new MouseEvent('click');\n input.dispatchEvent(event);\n });\n}\n\nfunction readFile(targetFile: File, options: { base64: boolean }): Promise<ImagePickerAsset> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onerror = () => {\n reject(new Error(`Failed to read the selected media because the operation failed.`));\n };\n reader.onload = ({ target }) => {\n const uri = (target as any).result;\n const returnRaw = () => resolve({ uri, width: 0, height: 0 });\n const returnMediaData = (data: ImagePickerAsset) => {\n resolve({\n ...data,\n ...(options.base64 && { base64: uri.substr(uri.indexOf(',') + 1) }),\n file: targetFile,\n });\n };\n\n if (typeof uri === 'string') {\n if (targetFile.type.startsWith('image/')) {\n const image = new Image();\n image.src = uri;\n image.onload = () => {\n returnMediaData({\n uri,\n width: image.naturalWidth ?? image.width,\n height: image.naturalHeight ?? image.height,\n type: 'image',\n mimeType: targetFile.type,\n fileName: targetFile.name,\n fileSize: targetFile.size,\n });\n };\n image.onerror = () => returnRaw();\n } else if (targetFile.type.startsWith('video/')) {\n const video = document.createElement('video');\n video.preload = 'metadata';\n video.src = uri;\n video.onloadedmetadata = () => {\n returnMediaData({\n uri,\n width: video.videoWidth,\n height: video.videoHeight,\n type: 'video',\n mimeType: targetFile.type,\n fileName: targetFile.name,\n fileSize: targetFile.size,\n duration: video.duration,\n });\n };\n video.onerror = () => returnRaw();\n } else {\n returnRaw();\n }\n } else {\n returnRaw();\n }\n };\n\n reader.readAsDataURL(targetFile);\n });\n}\n\nfunction createMediaTypeFormat(mediaTypes: MediaType[]): string {\n const filteredMediaTypes = mediaTypes.filter((mediaType) => mediaType !== 'livePhotos');\n if (filteredMediaTypes.length === 0) {\n return 'image/*';\n }\n let result = '';\n for (const mediaType of filteredMediaTypes) {\n // Make sure the types don't repeat\n if (!result.includes(MediaTypeInput[mediaType])) {\n result = result.concat(',', MediaTypeInput[mediaType]);\n }\n }\n return result;\n}\n"]}
@@ -8,7 +8,7 @@
8
8
  "publication": {
9
9
  "groupId": "host.exp.exponent",
10
10
  "artifactId": "expo.modules.imagepicker",
11
- "version": "16.1.1",
11
+ "version": "16.1.2",
12
12
  "repository": "local-maven-repo"
13
13
  }
14
14
  }
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "host.exp.exponent",
5
5
  "module": "expo.modules.imagepicker",
6
- "version": "16.1.1",
6
+ "version": "16.1.2",
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.imagepicker-16.1.1.aar",
28
- "url": "expo.modules.imagepicker-16.1.1.aar",
27
+ "name": "expo.modules.imagepicker-16.1.2.aar",
28
+ "url": "expo.modules.imagepicker-16.1.2.aar",
29
29
  "size": 140394,
30
30
  "sha512": "f4f1141db86f00476fd0898c940437018292a357a8ec7f33392550e70604f002f1d45fdd8a5566c5409cd4add0e92a8d22532dd097daaf8ebdd8dddc920a802f",
31
31
  "sha256": "76179cfc1f11c053f21fff8002b29f8297bc6921c5c155ccb5effb0d99b5fe7a",
@@ -95,8 +95,8 @@
95
95
  ],
96
96
  "files": [
97
97
  {
98
- "name": "expo.modules.imagepicker-16.1.1.aar",
99
- "url": "expo.modules.imagepicker-16.1.1.aar",
98
+ "name": "expo.modules.imagepicker-16.1.2.aar",
99
+ "url": "expo.modules.imagepicker-16.1.2.aar",
100
100
  "size": 140394,
101
101
  "sha512": "f4f1141db86f00476fd0898c940437018292a357a8ec7f33392550e70604f002f1d45fdd8a5566c5409cd4add0e92a8d22532dd097daaf8ebdd8dddc920a802f",
102
102
  "sha256": "76179cfc1f11c053f21fff8002b29f8297bc6921c5c155ccb5effb0d99b5fe7a",
@@ -115,8 +115,8 @@
115
115
  },
116
116
  "files": [
117
117
  {
118
- "name": "expo.modules.imagepicker-16.1.1-sources.jar",
119
- "url": "expo.modules.imagepicker-16.1.1-sources.jar",
118
+ "name": "expo.modules.imagepicker-16.1.2-sources.jar",
119
+ "url": "expo.modules.imagepicker-16.1.2-sources.jar",
120
120
  "size": 21536,
121
121
  "sha512": "9bd773f058c8fe6eadb1899408da2561f5f0f5a282ac4224e0cff6d32c814f14af3789dcb3fa8af61a505a9c0fcfe7a46f7e7e12b60e9ead850a3e2bcba3b274",
122
122
  "sha256": "8fa3123644a6d7689c4adcabb5c9deb2f867ce5a03614dd0069733a6e5a84e6f",
@@ -0,0 +1 @@
1
+ 61f62c1ed2c9d8f35a0197b57da491e81c2bfee744797b28aee740e3922fedfa
@@ -0,0 +1 @@
1
+ a8a9ba16217b7ac9380a6143cccfdd35df24b8198fafb8d346d96314a738751ae91657ce81c6561b24fe24e7f5a164bb10854f79fea7a85c94d126507ccf5231
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>host.exp.exponent</groupId>
11
11
  <artifactId>expo.modules.imagepicker</artifactId>
12
- <version>16.1.1</version>
12
+ <version>16.1.2</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.imagepicker</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ 88b3f7dbb6b29f513edb8cb49e6482b9dbaeafa89e11a3490fcb8a39528d3016
@@ -0,0 +1 @@
1
+ 4b0971917f0af8fa8a7314db483cb5c60911a6b7751b93ab3fe30bb49603f4e55e0f38c54f280bf413c9477f5628055e5ad083fe21b151936c94e01b701bb250
@@ -3,11 +3,11 @@
3
3
  <groupId>host.exp.exponent</groupId>
4
4
  <artifactId>expo.modules.imagepicker</artifactId>
5
5
  <versioning>
6
- <latest>16.1.1</latest>
7
- <release>16.1.1</release>
6
+ <latest>16.1.2</latest>
7
+ <release>16.1.2</release>
8
8
  <versions>
9
- <version>16.1.1</version>
9
+ <version>16.1.2</version>
10
10
  </versions>
11
- <lastUpdated>20250409202816</lastUpdated>
11
+ <lastUpdated>20250414184121</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 027b136fcafb22d272f83bf351dbde7c
1
+ fc54d25c831ebd7e3eee420ea80f8090
@@ -1 +1 @@
1
- 6080be07cacedaead8c9769f0c5afd2f0dc7ea6f
1
+ 947ef5c6d9bf081ee5e0066fce3d17a42bd12ae9
@@ -1 +1 @@
1
- b0d9db3adb9722689aff20789bf4b5ce05b48ddf6dea43b23e9dfcfefd6a3fd0
1
+ 083f3c104d39af0b1f8c86b7247c8f45ad3b9f5cf201d019a2bdb9ccf183ee61
@@ -1 +1 @@
1
- 6e0a881f6ae892ebdd767fd0f3f3dc7423b11ae8646c02aa48d9cd8dcd6b11188dd43cfb741135b345cfa81a27efded0e221777dfe67e5801f0a52001aac4a04
1
+ 03b9e7f0afc388b90b6198f0835a424babebb4f89f81799390ce8564b8b8ad4413d53902b496cc64b0b53c303eb8b5cb4696a5a237c076b2deb44c71457c185b
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-image-picker",
3
- "version": "16.1.1",
3
+ "version": "16.1.2",
4
4
  "description": "Provides access to the system's UI for selecting images and videos from the phone's library or taking a photo with the camera.",
5
5
  "main": "build/ImagePicker.js",
6
6
  "types": "build/ImagePicker.d.ts",
@@ -39,11 +39,11 @@
39
39
  "expo-image-loader": "~5.1.0"
40
40
  },
41
41
  "devDependencies": {
42
- "expo-module-scripts": "^4.1.1",
42
+ "expo-module-scripts": "^4.1.2",
43
43
  "@testing-library/user-event": "^14.5.2"
44
44
  },
45
45
  "peerDependencies": {
46
46
  "expo": "*"
47
47
  },
48
- "gitHead": "1914bb35d23af23078da37e70988261844436505"
48
+ "gitHead": "335e9312f5caf634097354a230f0d4bbbfb9b0ba"
49
49
  }
@@ -3,6 +3,7 @@ import { PermissionResponse, PermissionStatus, Platform } from 'expo-modules-cor
3
3
  import {
4
4
  CameraType,
5
5
  ImagePickerAsset,
6
+ ImagePickerOptions,
6
7
  ImagePickerResult,
7
8
  MediaType,
8
9
  MediaTypeOptions,
@@ -21,7 +22,7 @@ export default {
21
22
  mediaTypes = ['images'] as MediaType[],
22
23
  allowsMultipleSelection = false,
23
24
  base64 = false,
24
- }): Promise<ImagePickerResult> {
25
+ }: ImagePickerOptions): Promise<ImagePickerResult> {
25
26
  // SSR guard
26
27
  if (!Platform.isDOMAvailable) {
27
28
  return { canceled: true, assets: null };
@@ -38,7 +39,7 @@ export default {
38
39
  allowsMultipleSelection = false,
39
40
  base64 = false,
40
41
  cameraType,
41
- }): Promise<ImagePickerResult> {
42
+ }: ImagePickerOptions): Promise<ImagePickerResult> {
42
43
  // SSR guard
43
44
  if (!Platform.isDOMAvailable) {
44
45
  return { canceled: true, assets: null };
@@ -1 +0,0 @@
1
- 673f6ecf4215eda9ff30bd65e498bd2f39325de8dcfa6162cf0ef32e944fb55f
@@ -1 +0,0 @@
1
- 6c1753857472707b327d12b5552f2d3fe77793fe21bc53848ac6a8a82d982c3a3c77db0b3583e4279691b3ac2321fb047d65e5d3a51f8f7e02cf05975e6f9c73
@@ -1 +0,0 @@
1
- 3fd75b736a0f6b896272016588e2700adf7a38b63531d02afa48c0c8f75c34df
@@ -1 +0,0 @@
1
- 1871e094c767316db11280e1c90614797221821ebf2dbb0a0275a36abf8361244399633861223517b7cce2c2187682422e3ada4be8fd371217960fcdec54abb3