@capacitor/camera 8.2.3 → 8.2.5

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.
@@ -13,6 +13,6 @@ Pod::Spec.new do |s|
13
13
  s.source_files = 'ios/Sources/**/*.{swift,h,m,c,cc,mm,cpp}',
14
14
  s.ios.deployment_target = '15.0'
15
15
  s.dependency 'Capacitor'
16
- s.dependency 'IONCameraLib', spec='~> 1.0.5'
16
+ s.dependency 'IONCameraLib', spec='~> 2.0.0'
17
17
  s.swift_version = '5.1'
18
18
  end
package/Package.swift CHANGED
@@ -11,7 +11,7 @@ let package = Package(
11
11
  ],
12
12
  dependencies: [
13
13
  .package(url: "https://github.com/ionic-team/capacitor-swift-pm.git", from: "8.0.0"),
14
- .package(url: "https://github.com/ionic-team/ion-ios-camera.git", from: "1.0.5")
14
+ .package(url: "https://github.com/ionic-team/ion-ios-camera.git", .upToNextMinor(from: "2.0.0"))
15
15
  ],
16
16
  targets: [
17
17
  .target(
@@ -111,6 +111,7 @@ public class CameraBottomSheetDialogFragment extends BottomSheetDialogFragment {
111
111
  dialog.setContentView(parentLayout.getRootView());
112
112
 
113
113
  CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) ((View) parentLayout.getParent()).getLayoutParams();
114
+ @SuppressWarnings("unchecked")
114
115
  CoordinatorLayout.Behavior<View> behavior = params.getBehavior();
115
116
 
116
117
  if (behavior instanceof BottomSheetBehavior) {
@@ -2,13 +2,9 @@ package com.capacitorjs.plugins.camera
2
2
 
3
3
  import android.Manifest
4
4
  import android.annotation.SuppressLint
5
- import android.content.Intent
6
- import android.content.pm.PackageManager
7
- import android.content.pm.ResolveInfo
8
5
  import android.os.Build
9
6
  import android.os.Bundle
10
7
  import androidx.activity.result.ActivityResult
11
- import com.getcapacitor.Logger
12
8
  import com.getcapacitor.PermissionState
13
9
  import com.getcapacitor.Plugin
14
10
  import com.getcapacitor.PluginCall
@@ -18,6 +14,7 @@ import com.getcapacitor.annotation.CapacitorPlugin
18
14
  import com.getcapacitor.annotation.Permission
19
15
  import com.getcapacitor.annotation.PermissionCallback
20
16
  import org.json.JSONException
17
+
21
18
  /**
22
19
  * The Camera plugin makes it easy to take a photo or have the user select a photo
23
20
  * from their albums.
@@ -74,11 +71,10 @@ class CameraPlugin : Plugin() {
74
71
  activity,
75
72
  bridge,
76
73
  appId,
77
- permissionHelper,
78
- LegacyCameraFlow.ActivityStarter { call, intent, callbackName ->
79
- startActivityForResult(call, intent, callbackName)
80
- }
81
- )
74
+ permissionHelper
75
+ ) { call, intent, callbackName ->
76
+ startActivityForResult(call, intent, callbackName)
77
+ }
82
78
 
83
79
  ionFlow = IonCameraFlow(
84
80
  context,
@@ -205,7 +201,7 @@ class CameraPlugin : Plugin() {
205
201
  if (providedPerms != null) {
206
202
  try {
207
203
  permsList = providedPerms.toList<String?>()
208
- } catch (e: JSONException) {
204
+ } catch (_: JSONException) {
209
205
  }
210
206
  }
211
207
 
@@ -228,45 +224,24 @@ class CameraPlugin : Plugin() {
228
224
 
229
225
  // If Camera is not in the manifest and therefore not required, say the permission is granted
230
226
  if (!isPermissionDeclared(CAMERA)) {
231
- permissionStates.put(CAMERA, PermissionState.GRANTED)
227
+ permissionStates[CAMERA] = PermissionState.GRANTED
232
228
  }
233
229
 
234
230
  if (permissionStates.containsKey(PHOTOS)) {
235
- permissionStates.put(PHOTOS, PermissionState.GRANTED)
231
+ permissionStates[PHOTOS] = PermissionState.GRANTED
236
232
  }
237
233
 
238
234
  // If the SDK version is 30 or higher, update the SAVE_GALLERY state to match the READ_EXTERNAL_STORAGE state.
239
235
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
240
236
  val alias: String = READ_EXTERNAL_STORAGE
241
237
  if (permissionStates.containsKey(alias)) {
242
- permissionStates.put(SAVE_GALLERY, permissionStates.get(alias))
238
+ permissionStates[SAVE_GALLERY] = permissionStates[alias]
243
239
  }
244
240
  }
245
241
 
246
242
  return permissionStates
247
243
  }
248
244
 
249
- private fun getResultType(resultType: String?): CameraResultType? {
250
- if (resultType == null) {
251
- return null
252
- }
253
- try {
254
- return CameraResultType.valueOf(resultType.uppercase())
255
- } catch (ex: java.lang.IllegalArgumentException) {
256
- Logger.debug(
257
- getLogTag(),
258
- "Invalid result type \"" + resultType + "\", defaulting to base64"
259
- )
260
- return CameraResultType.BASE64
261
- }
262
- }
263
-
264
- @Suppress("deprecation")
265
- private fun legacyQueryIntentActivities(intent: Intent): MutableList<ResolveInfo> {
266
- return getContext().getPackageManager()
267
- .queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY)
268
- }
269
-
270
245
  protected override fun saveInstanceState(): Bundle? {
271
246
  val bundle = super.saveInstanceState()
272
247
  legacyFlow.onSaveInstanceState(bundle)
@@ -15,8 +15,6 @@ import androidx.activity.result.ActivityResultLauncher
15
15
  import androidx.activity.result.contract.ActivityResultContracts
16
16
  import androidx.appcompat.app.AppCompatActivity
17
17
  import androidx.core.content.FileProvider
18
- import com.capacitorjs.plugins.camera.IonCameraSettings.Companion.DEFAULT_CORRECT_ORIENTATION
19
- import com.capacitorjs.plugins.camera.IonCameraSettings.Companion.DEFAULT_QUALITY
20
18
  import com.getcapacitor.Bridge
21
19
  import com.getcapacitor.FileUtils
22
20
  import com.getcapacitor.JSArray
@@ -202,10 +200,10 @@ class IonCameraFlow(
202
200
  limit = call.getInt("limit") ?: 0,
203
201
  includeMetadata = call.getBoolean("includeMetadata") ?: false,
204
202
  editable = IonEditableMode.fromString(call.getString("editable")),
205
- quality = call.getInt("quality") ?: DEFAULT_QUALITY,
203
+ quality = call.getInt("quality") ?: IonCameraSettings.DEFAULT_QUALITY,
206
204
  width = call.getInt("targetWidth") ?: 0,
207
205
  height = call.getInt("targetHeight") ?: 0,
208
- correctOrientation = call.getBoolean("correctOrientation") ?: DEFAULT_CORRECT_ORIENTATION
206
+ correctOrientation = call.getBoolean("correctOrientation") ?: IonCameraSettings.DEFAULT_CORRECT_ORIENTATION
209
207
  )
210
208
  }
211
209
 
@@ -241,7 +239,7 @@ class IonCameraFlow(
241
239
 
242
240
 
243
241
  private fun showCamera(call: PluginCall) {
244
- if (!context.getPackageManager()
242
+ if (!context.packageManager
245
243
  .hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)
246
244
  ) {
247
245
  sendError(IONCAMRError.NO_CAMERA_AVAILABLE_ERROR)
@@ -264,7 +262,7 @@ class IonCameraFlow(
264
262
  }
265
263
  currentCall = call
266
264
  manager.takePhoto(activity, settings.encodingType, cameraLauncher)
267
- } catch (ex: Exception) {
265
+ } catch (_: Exception) {
268
266
  sendError(IONCAMRError.TAKE_PHOTO_ERROR)
269
267
  }
270
268
  }
@@ -290,7 +288,7 @@ class IonCameraFlow(
290
288
  ) {
291
289
  sendError(it)
292
290
  }
293
- } catch (ex: Exception) {
291
+ } catch (_: Exception) {
294
292
  sendError(IONCAMRError.CAPTURE_VIDEO_ERROR)
295
293
  }
296
294
  }
@@ -647,15 +645,14 @@ class IonCameraFlow(
647
645
  editIntent.addFlags(flags)
648
646
  editIntent.putExtra(MediaStore.EXTRA_OUTPUT, editUri)
649
647
 
650
- val resInfoList: MutableList<ResolveInfo>?
651
-
652
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
653
- resInfoList = context
654
- .packageManager
655
- .queryIntentActivities(editIntent, PackageManager.ResolveInfoFlags.of(PackageManager.MATCH_DEFAULT_ONLY.toLong()))
656
- } else {
657
- resInfoList = legacyQueryIntentActivities(editIntent)
658
- }
648
+ val resInfoList: MutableList<ResolveInfo> =
649
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
650
+ context
651
+ .packageManager
652
+ .queryIntentActivities(editIntent, PackageManager.ResolveInfoFlags.of(PackageManager.MATCH_DEFAULT_ONLY.toLong()))
653
+ } else {
654
+ legacyQueryIntentActivities(editIntent)
655
+ }
659
656
 
660
657
  for (resolveInfo in resInfoList) {
661
658
  val packageName = resolveInfo.activityInfo.packageName
@@ -663,12 +660,11 @@ class IonCameraFlow(
663
660
  }
664
661
 
665
662
  editIntent
666
- } catch (e: Exception) {
663
+ } catch (_: Exception) {
667
664
  null
668
665
  }
669
666
  }
670
667
 
671
- @Suppress("deprecation")
672
668
  private fun legacyQueryIntentActivities(intent: Intent): MutableList<ResolveInfo> {
673
669
  return context.packageManager
674
670
  .queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY)
@@ -861,10 +857,6 @@ class IonCameraFlow(
861
857
  .getString(STORE, "")
862
858
  fromPreferences.let { uri = Uri.parse(fromPreferences) }
863
859
  }
864
- if (activity == null) {
865
- sendError(IONCAMRError.CAPTURE_VIDEO_ERROR)
866
- return
867
- }
868
860
  val settings = videoParameters ?: run {
869
861
  sendError(IONCAMRError.INVALID_ARGUMENT_ERROR)
870
862
  return
@@ -1044,7 +1036,7 @@ class IonCameraFlow(
1044
1036
  jsonResult.put("message", error.description)
1045
1037
  currentCall?.reject(error.description, formatErrorCode(error.code))
1046
1038
  currentCall = null
1047
- } catch (e: Exception) {
1039
+ } catch (_: Exception) {
1048
1040
  currentCall?.reject("There was an error performing the operation.")
1049
1041
  currentCall = null
1050
1042
  } finally {
@@ -1053,7 +1045,7 @@ class IonCameraFlow(
1053
1045
  }
1054
1046
 
1055
1047
  private fun formatErrorCode(code: Int): String {
1056
- val stringCode = Integer.toString(code)
1048
+ val stringCode = code.toString()
1057
1049
  return ERROR_FORMAT_PREFIX + "0000$stringCode".substring(stringCode.length)
1058
1050
  }
1059
1051
 
@@ -17,7 +17,7 @@ object IonCameraUtils {
17
17
  inputStream.use {
18
18
  saveImage(context, uri, it)
19
19
  }
20
- } catch (e: Exception) {
20
+ } catch (_: Exception) {
21
21
  null
22
22
  }
23
23
  }
@@ -38,7 +38,7 @@ object IonCameraUtils {
38
38
  inputStream.copyTo(output)
39
39
  }
40
40
  Uri.fromFile(tempFile)
41
- } catch (e: Exception) {
41
+ } catch (_: Exception) {
42
42
  null
43
43
  }
44
44
  }
@@ -8,7 +8,7 @@ enum class IonEditableMode(val value: String) {
8
8
  companion object {
9
9
  fun fromString(value: String?): IonEditableMode {
10
10
  if (value == null) return NO
11
- return values().find {
11
+ return entries.find {
12
12
  it.value.equals(value, ignoreCase = true)
13
13
  } ?: NO
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.cjs.js","sources":["esm/definitions.js","esm/web.js","esm/index.js"],"sourcesContent":["/**\n * @deprecated This enum is only meant to be used for deprecated `getPhoto` method.\n * It will be removed in a future major version of the plugin, along with `getPhoto`.\n */\nexport var CameraSource;\n(function (CameraSource) {\n /**\n * Prompts the user to select either the photo album or take a photo.\n */\n CameraSource[\"Prompt\"] = \"PROMPT\";\n /**\n * Take a new photo using the camera.\n */\n CameraSource[\"Camera\"] = \"CAMERA\";\n /**\n * Pick an existing photo from the gallery or photo album.\n */\n CameraSource[\"Photos\"] = \"PHOTOS\";\n})(CameraSource || (CameraSource = {}));\nexport var CameraDirection;\n(function (CameraDirection) {\n CameraDirection[\"Rear\"] = \"REAR\";\n CameraDirection[\"Front\"] = \"FRONT\";\n})(CameraDirection || (CameraDirection = {}));\n/**\n * @deprecated This enum is only meant to be used for `ImageOptions` in deprecated `getPhoto` method.\n * It will be removed in a future major version of the plugin, along with `getPhoto`.\n */\nexport var CameraResultType;\n(function (CameraResultType) {\n CameraResultType[\"Uri\"] = \"uri\";\n CameraResultType[\"Base64\"] = \"base64\";\n CameraResultType[\"DataUrl\"] = \"dataUrl\";\n})(CameraResultType || (CameraResultType = {}));\nexport var MediaType;\n(function (MediaType) {\n MediaType[MediaType[\"Photo\"] = 0] = \"Photo\";\n MediaType[MediaType[\"Video\"] = 1] = \"Video\";\n})(MediaType || (MediaType = {}));\nexport var MediaTypeSelection;\n(function (MediaTypeSelection) {\n MediaTypeSelection[MediaTypeSelection[\"Photo\"] = 0] = \"Photo\";\n MediaTypeSelection[MediaTypeSelection[\"Video\"] = 1] = \"Video\";\n MediaTypeSelection[MediaTypeSelection[\"All\"] = 2] = \"All\";\n})(MediaTypeSelection || (MediaTypeSelection = {}));\nexport var EncodingType;\n(function (EncodingType) {\n EncodingType[EncodingType[\"JPEG\"] = 0] = \"JPEG\";\n EncodingType[EncodingType[\"PNG\"] = 1] = \"PNG\";\n})(EncodingType || (EncodingType = {}));\n/**\n * Error codes returned by the Camera plugin.\n * These values match the `code` field on rejected promises.\n *\n * @since 8.2.0\n */\nexport var CameraErrorCode;\n(function (CameraErrorCode) {\n // Permissions\n /**\n * Camera access was denied by the user.\n */\n CameraErrorCode[\"CameraPermissionDenied\"] = \"OS-PLUG-CAMR-0003\";\n /**\n * Photo library / gallery access was denied by the user.\n */\n CameraErrorCode[\"GalleryPermissionDenied\"] = \"OS-PLUG-CAMR-0005\";\n /**\n * No camera hardware is available on the device.\n */\n CameraErrorCode[\"NoCameraAvailable\"] = \"OS-PLUG-CAMR-0007\";\n // Take Photo\n /**\n * The user cancelled the take photo action.\n */\n CameraErrorCode[\"TakePhotoCancelled\"] = \"OS-PLUG-CAMR-0006\";\n /**\n * Failed to take photo.\n */\n CameraErrorCode[\"TakePhotoFailed\"] = \"OS-PLUG-CAMR-0010\";\n /**\n * The take photo action received invalid arguments.\n * @platform ios\n */\n CameraErrorCode[\"TakePhotoInvalidArguments\"] = \"OS-PLUG-CAMR-0014\";\n // Edit Photo\n /**\n * The selected file contains invalid image data.\n * @platform ios\n */\n CameraErrorCode[\"InvalidImageData\"] = \"OS-PLUG-CAMR-0008\";\n /**\n * Failed to edit image.\n */\n CameraErrorCode[\"EditPhotoFailed\"] = \"OS-PLUG-CAMR-0009\";\n /**\n * The user cancelled the edit photo action.\n */\n CameraErrorCode[\"EditPhotoCancelled\"] = \"OS-PLUG-CAMR-0013\";\n /**\n * The URI parameter for editing is empty.\n * @platform android\n */\n CameraErrorCode[\"EditPhotoEmptyUri\"] = \"OS-PLUG-CAMR-0024\";\n // Choose from Gallery\n /**\n * Failed to retrieve an image from the gallery.\n */\n CameraErrorCode[\"ImageNotFound\"] = \"OS-PLUG-CAMR-0011\";\n /**\n * Failed to process the selected image.\n */\n CameraErrorCode[\"ProcessImageFailed\"] = \"OS-PLUG-CAMR-0012\";\n /**\n * Failed to choose media from the gallery.\n */\n CameraErrorCode[\"ChooseMediaFailed\"] = \"OS-PLUG-CAMR-0018\";\n /**\n * The user cancelled choosing media from the gallery.\n */\n CameraErrorCode[\"ChooseMediaCancelled\"] = \"OS-PLUG-CAMR-0020\";\n /**\n * Failed to retrieve the media file path.\n * @platform android\n */\n CameraErrorCode[\"MediaPathError\"] = \"OS-PLUG-CAMR-0021\";\n /**\n * Failed to retrieve an image from the provided URI.\n */\n CameraErrorCode[\"FetchImageFromUriFailed\"] = \"OS-PLUG-CAMR-0028\";\n // Record Video\n /**\n * Failed to record video.\n */\n CameraErrorCode[\"RecordVideoFailed\"] = \"OS-PLUG-CAMR-0016\";\n /**\n * The user cancelled the video recording.\n */\n CameraErrorCode[\"RecordVideoCancelled\"] = \"OS-PLUG-CAMR-0017\";\n /**\n * Failed to retrieve a video from the gallery.\n * @platform ios\n */\n CameraErrorCode[\"VideoNotFound\"] = \"OS-PLUG-CAMR-0025\";\n // Play Video\n /**\n * Failed to play video.\n */\n CameraErrorCode[\"PlayVideoFailed\"] = \"OS-PLUG-CAMR-0023\";\n // General\n /**\n * Failed to encode the media result.\n * @platform ios\n */\n CameraErrorCode[\"EncodeResultFailed\"] = \"OS-PLUG-CAMR-0019\";\n /**\n * The selected file does not exist.\n */\n CameraErrorCode[\"FileNotFound\"] = \"OS-PLUG-CAMR-0027\";\n /**\n * Invalid argument provided to a plugin method.\n * @platform android\n */\n CameraErrorCode[\"InvalidArgument\"] = \"OS-PLUG-CAMR-0031\";\n /**\n * A general plugin error occurred.\n * @platform ios\n */\n CameraErrorCode[\"GeneralError\"] = \"OS-PLUG-CAMR-0026\";\n})(CameraErrorCode || (CameraErrorCode = {}));\n//# sourceMappingURL=definitions.js.map","import { WebPlugin, CapacitorException } from '@capacitor/core';\nimport { CameraSource, CameraDirection, MediaType, MediaTypeSelection } from './definitions';\nexport class CameraWeb extends WebPlugin {\n async takePhoto(options) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n if (options.webUseInput) {\n this.takePhotoCameraInputExperience(options, resolve, reject);\n }\n else {\n this.takePhotoCameraExperience(options, resolve, reject);\n }\n });\n }\n async recordVideo(_options) {\n throw this.unimplemented('recordVideo is not implemented on Web.');\n }\n async playVideo(_options) {\n throw this.unimplemented('playVideo is not implemented on Web.');\n }\n async chooseFromGallery(options) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n this.galleryInputExperience(options, resolve, reject);\n });\n }\n async editPhoto(_options) {\n throw this.unimplemented('editPhoto is not implemented on Web.');\n }\n async editURIPhoto(_options) {\n throw this.unimplemented('editURIPhoto is not implemented on Web.');\n }\n async getPhoto(options) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n if (options.webUseInput || options.source === CameraSource.Photos) {\n this.fileInputExperience(options, resolve, reject);\n }\n else if (options.source === CameraSource.Prompt) {\n let actionSheet = document.querySelector('pwa-action-sheet');\n if (!actionSheet) {\n actionSheet = document.createElement('pwa-action-sheet');\n document.body.appendChild(actionSheet);\n }\n actionSheet.header = options.promptLabelHeader || 'Photo';\n actionSheet.cancelable = false;\n actionSheet.options = [\n { title: options.promptLabelPhoto || 'From Photos' },\n { title: options.promptLabelPicture || 'Take Picture' },\n ];\n actionSheet.addEventListener('onSelection', async (e) => {\n const selection = e.detail;\n if (selection === 0) {\n this.fileInputExperience(options, resolve, reject);\n }\n else {\n this.cameraExperience(options, resolve, reject);\n }\n });\n }\n else {\n this.cameraExperience(options, resolve, reject);\n }\n });\n }\n async pickImages(_options) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n this.multipleFileInputExperience(resolve, reject);\n });\n }\n async cameraExperience(options, resolve, reject) {\n await this._setupPWACameraModal(options.direction, (photo) => this._getCameraPhoto(photo, options), () => this.fileInputExperience(options, resolve, reject), resolve, reject);\n }\n fileInputExperience(options, resolve, reject) {\n let input = document.querySelector('#_capacitor-camera-input');\n const cleanup = () => {\n var _a;\n (_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input);\n };\n if (!input) {\n input = document.createElement('input');\n input.id = '_capacitor-camera-input';\n input.type = 'file';\n input.hidden = true;\n document.body.appendChild(input);\n input.addEventListener('change', (_e) => {\n const file = input.files[0];\n let format = 'jpeg';\n if (file.type === 'image/png') {\n format = 'png';\n }\n else if (file.type === 'image/gif') {\n format = 'gif';\n }\n if (options.resultType === 'dataUrl' || options.resultType === 'base64') {\n const reader = new FileReader();\n reader.addEventListener('load', () => {\n if (options.resultType === 'dataUrl') {\n resolve({\n dataUrl: reader.result,\n format,\n });\n }\n else if (options.resultType === 'base64') {\n const b64 = reader.result.split(',')[1];\n resolve({\n base64String: b64,\n format,\n });\n }\n cleanup();\n });\n reader.readAsDataURL(file);\n }\n else {\n resolve({\n webPath: URL.createObjectURL(file),\n format: format,\n });\n cleanup();\n }\n });\n input.addEventListener('cancel', (_e) => {\n reject(new CapacitorException('User cancelled photos app'));\n cleanup();\n });\n }\n input.accept = 'image/*';\n input.capture = true;\n if (options.source === CameraSource.Photos || options.source === CameraSource.Prompt) {\n input.removeAttribute('capture');\n }\n else if (options.direction === CameraDirection.Front) {\n input.capture = 'user';\n }\n else if (options.direction === CameraDirection.Rear) {\n input.capture = 'environment';\n }\n input.click();\n }\n multipleFileInputExperience(resolve, reject) {\n let input = document.querySelector('#_capacitor-camera-input-multiple');\n const cleanup = () => {\n var _a;\n (_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input);\n };\n if (!input) {\n input = document.createElement('input');\n input.id = '_capacitor-camera-input-multiple';\n input.type = 'file';\n input.hidden = true;\n input.multiple = true;\n document.body.appendChild(input);\n input.addEventListener('change', (_e) => {\n const photos = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < input.files.length; i++) {\n const file = input.files[i];\n let format = 'jpeg';\n if (file.type === 'image/png') {\n format = 'png';\n }\n else if (file.type === 'image/gif') {\n format = 'gif';\n }\n photos.push({\n webPath: URL.createObjectURL(file),\n format: format,\n });\n }\n resolve({ photos });\n cleanup();\n });\n input.addEventListener('cancel', (_e) => {\n reject(new CapacitorException('User cancelled photos app'));\n cleanup();\n });\n }\n input.accept = 'image/*';\n input.click();\n }\n _getCameraPhoto(photo, options) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n const format = this._getFileFormat(photo);\n if (options.resultType === 'uri') {\n resolve({\n webPath: URL.createObjectURL(photo),\n format,\n saved: false,\n });\n }\n else {\n reader.readAsDataURL(photo);\n reader.onloadend = () => {\n const r = reader.result;\n if (options.resultType === 'dataUrl') {\n resolve({\n dataUrl: r,\n format,\n saved: false,\n });\n }\n else {\n resolve({\n base64String: r.split(',')[1],\n format,\n saved: false,\n });\n }\n };\n reader.onerror = (e) => {\n reject(e);\n };\n }\n });\n }\n async takePhotoCameraExperience(options, resolve, reject) {\n await this._setupPWACameraModal(options.cameraDirection, (photo) => { var _a; return this._buildPhotoMediaResult(photo, (_a = options.includeMetadata) !== null && _a !== void 0 ? _a : false); }, () => this.takePhotoCameraInputExperience(options, resolve, reject), resolve, reject);\n }\n takePhotoCameraInputExperience(options, resolve, reject) {\n const input = this._createFileInput('_capacitor-camera-input-takephoto');\n const cleanup = () => {\n var _a;\n (_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input);\n };\n input.onchange = async (_e) => {\n var _a;\n if (!this._validateFileInput(input, reject, cleanup)) {\n return;\n }\n const file = input.files[0];\n resolve(await this._buildPhotoMediaResult(file, (_a = options.includeMetadata) !== null && _a !== void 0 ? _a : false));\n cleanup();\n };\n input.oncancel = () => {\n reject(new CapacitorException('User cancelled photos app'));\n cleanup();\n };\n input.accept = 'image/*';\n if (options.cameraDirection === CameraDirection.Front) {\n input.capture = 'user';\n }\n else {\n // CameraDirection.Rear\n input.capture = 'environment';\n }\n input.click();\n }\n galleryInputExperience(options, resolve, reject) {\n var _a, _b;\n const input = this._createFileInput('_capacitor-camera-input-gallery');\n input.multiple = (_a = options.allowMultipleSelection) !== null && _a !== void 0 ? _a : false;\n const cleanup = () => {\n var _a;\n (_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input);\n };\n input.onchange = async (_e) => {\n var _a;\n if (!this._validateFileInput(input, reject, cleanup)) {\n return;\n }\n const results = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < input.files.length; i++) {\n const file = input.files[i];\n if (file.type.startsWith('image/')) {\n results.push(await this._buildPhotoMediaResult(file, (_a = options.includeMetadata) !== null && _a !== void 0 ? _a : false));\n }\n else if (file.type.startsWith('video/')) {\n const format = this._getFileFormat(file);\n let thumbnail;\n let resolution;\n let duration;\n try {\n const videoInfo = await this._getVideoMetadata(file);\n thumbnail = videoInfo.thumbnail;\n if (options.includeMetadata) {\n resolution = videoInfo.resolution;\n duration = videoInfo.duration;\n }\n }\n catch (e) {\n console.warn('Failed to get video metadata:', e);\n }\n const result = {\n type: MediaType.Video,\n thumbnail,\n webPath: URL.createObjectURL(file),\n saved: false,\n };\n if (options.includeMetadata) {\n result.metadata = {\n format,\n resolution,\n size: file.size,\n creationDate: new Date(file.lastModified).toISOString(),\n duration,\n };\n }\n results.push(result);\n }\n }\n resolve({ results });\n cleanup();\n };\n input.oncancel = () => {\n reject(new CapacitorException('User cancelled photos app'));\n cleanup();\n };\n // Set accept attribute based on mediaType\n const mediaType = (_b = options.mediaType) !== null && _b !== void 0 ? _b : MediaTypeSelection.Photo;\n if (mediaType === MediaTypeSelection.Photo) {\n input.accept = 'image/*';\n }\n else if (mediaType === MediaTypeSelection.Video) {\n input.accept = 'video/*';\n }\n else {\n // MediaTypeSelection.All\n input.accept = 'image/*,video/*';\n }\n input.click();\n }\n _getFileFormat(file) {\n if (file.type === 'image/png') {\n return 'png';\n }\n else if (file.type === 'image/gif') {\n return 'gif';\n }\n else if (file.type.startsWith('video/')) {\n return file.type.split('/')[1];\n }\n else if (file.type.startsWith('image/')) {\n return 'jpeg';\n }\n return file.type.split('/')[1] || 'jpeg';\n }\n async _buildPhotoMediaResult(file, includeMetadata) {\n const format = this._getFileFormat(file);\n const thumbnail = await this._getBase64FromFile(file);\n const result = {\n type: MediaType.Photo,\n thumbnail,\n webPath: URL.createObjectURL(file),\n saved: false,\n };\n if (includeMetadata) {\n const resolution = await this._getImageResolution(file);\n result.metadata = {\n format,\n resolution,\n size: file.size,\n creationDate: 'lastModified' in file ? new Date(file.lastModified).toISOString() : new Date().toISOString(),\n };\n }\n return result;\n }\n _validateFileInput(input, reject, cleanup) {\n if (!input.files || input.files.length === 0) {\n const message = input.multiple ? 'No files selected' : 'No file selected';\n reject(new CapacitorException(message));\n cleanup();\n return false;\n }\n return true;\n }\n async _setupPWACameraModal(cameraDirection, onPhotoCallback, fallbackCallback, resolve, reject) {\n if (customElements.get('pwa-camera-modal')) {\n const cameraModal = document.createElement('pwa-camera-modal');\n cameraModal.facingMode = cameraDirection === CameraDirection.Front ? 'user' : 'environment';\n document.body.appendChild(cameraModal);\n try {\n await cameraModal.componentOnReady();\n cameraModal.addEventListener('onPhoto', async (e) => {\n const photo = e.detail;\n if (photo === null) {\n reject(new CapacitorException('User cancelled photos app'));\n }\n else if (photo instanceof Error) {\n reject(photo);\n }\n else {\n resolve(await onPhotoCallback(photo));\n }\n cameraModal.dismiss();\n document.body.removeChild(cameraModal);\n });\n cameraModal.present();\n }\n catch (e) {\n fallbackCallback();\n }\n }\n else {\n console.error(`Unable to load PWA Element 'pwa-camera-modal'. See the docs: https://capacitorjs.com/docs/web/pwa-elements.`);\n fallbackCallback();\n }\n }\n _createFileInput(id) {\n let input = document.querySelector(`#${id}`);\n if (!input) {\n input = document.createElement('input');\n input.id = id;\n input.type = 'file';\n input.hidden = true;\n document.body.appendChild(input);\n }\n return input;\n }\n async _getImageResolution(image) {\n try {\n const bitmap = await createImageBitmap(image);\n const resolution = `${bitmap.width}x${bitmap.height}`;\n bitmap.close();\n return resolution;\n }\n catch (e) {\n console.warn('Failed to get image resolution:', e);\n return undefined;\n }\n }\n _getBase64FromFile(file) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n const dataUrl = reader.result;\n const base64 = dataUrl.split(',')[1];\n resolve(base64);\n };\n reader.onerror = (e) => {\n reject(e);\n };\n reader.readAsDataURL(file);\n });\n }\n _getVideoMetadata(videoFile) {\n return new Promise((resolve) => {\n const video = document.createElement('video');\n video.preload = 'metadata';\n video.muted = true;\n video.onloadedmetadata = () => {\n // Seek to 1 second or 10% of duration to capture thumbnail\n const seekTime = Math.min(1, video.duration * 0.1);\n video.currentTime = seekTime;\n };\n video.onseeked = () => {\n const result = {\n resolution: `${video.videoWidth}x${video.videoHeight}`,\n duration: video.duration,\n };\n try {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n const ctx = canvas.getContext('2d');\n if (ctx) {\n ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n result.thumbnail = canvas.toDataURL('image/jpeg', 0.8).split(',')[1];\n }\n }\n catch (e) {\n console.warn('Failed to generate video thumbnail:', e);\n }\n URL.revokeObjectURL(video.src);\n resolve(result);\n };\n video.onerror = () => {\n // Clean up and return defaults\n URL.revokeObjectURL(video.src);\n resolve({});\n };\n video.src = URL.createObjectURL(videoFile);\n });\n }\n async checkPermissions() {\n if (typeof navigator === 'undefined' || !navigator.permissions) {\n throw this.unavailable('Permissions API not available in this browser');\n }\n try {\n // https://developer.mozilla.org/en-US/docs/Web/API/Permissions/query\n // the specific permissions that are supported varies among browsers that implement the\n // permissions API, so we need a try/catch in case 'camera' is invalid\n const permission = await window.navigator.permissions.query({\n name: 'camera',\n });\n return {\n camera: permission.state,\n photos: 'granted',\n };\n }\n catch (_a) {\n throw this.unavailable('Camera permissions are not available in this browser');\n }\n }\n async requestPermissions() {\n throw this.unimplemented('Not implemented on web.');\n }\n async pickLimitedLibraryPhotos() {\n throw this.unavailable('Not implemented on web.');\n }\n async getLimitedLibraryPhotos() {\n throw this.unavailable('Not implemented on web.');\n }\n}\nconst Camera = new CameraWeb();\nexport { Camera };\n//# sourceMappingURL=web.js.map","import { registerPlugin } from '@capacitor/core';\nimport { CameraWeb } from './web';\nconst Camera = registerPlugin('Camera', {\n web: () => new CameraWeb(),\n});\nexport * from './definitions';\nexport { Camera };\n//# sourceMappingURL=index.js.map"],"names":["CameraSource","CameraDirection","CameraResultType","MediaType","MediaTypeSelection","EncodingType","CameraErrorCode","WebPlugin","CapacitorException","registerPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.cjs.js","sources":["esm/definitions.js","esm/web.js","esm/index.js"],"sourcesContent":["/**\n * @deprecated This enum is only meant to be used for deprecated `getPhoto` method.\n * It will be removed in a future major version of the plugin, along with `getPhoto`.\n */\nexport var CameraSource;\n(function (CameraSource) {\n /**\n * Prompts the user to select either the photo album or take a photo.\n */\n CameraSource[\"Prompt\"] = \"PROMPT\";\n /**\n * Take a new photo using the camera.\n */\n CameraSource[\"Camera\"] = \"CAMERA\";\n /**\n * Pick an existing photo from the gallery or photo album.\n */\n CameraSource[\"Photos\"] = \"PHOTOS\";\n})(CameraSource || (CameraSource = {}));\nexport var CameraDirection;\n(function (CameraDirection) {\n CameraDirection[\"Rear\"] = \"REAR\";\n CameraDirection[\"Front\"] = \"FRONT\";\n})(CameraDirection || (CameraDirection = {}));\n/**\n * @deprecated This enum is only meant to be used for `ImageOptions` in deprecated `getPhoto` method.\n * It will be removed in a future major version of the plugin, along with `getPhoto`.\n */\nexport var CameraResultType;\n(function (CameraResultType) {\n CameraResultType[\"Uri\"] = \"uri\";\n CameraResultType[\"Base64\"] = \"base64\";\n CameraResultType[\"DataUrl\"] = \"dataUrl\";\n})(CameraResultType || (CameraResultType = {}));\nexport var MediaType;\n(function (MediaType) {\n MediaType[MediaType[\"Photo\"] = 0] = \"Photo\";\n MediaType[MediaType[\"Video\"] = 1] = \"Video\";\n})(MediaType || (MediaType = {}));\nexport var MediaTypeSelection;\n(function (MediaTypeSelection) {\n MediaTypeSelection[MediaTypeSelection[\"Photo\"] = 0] = \"Photo\";\n MediaTypeSelection[MediaTypeSelection[\"Video\"] = 1] = \"Video\";\n MediaTypeSelection[MediaTypeSelection[\"All\"] = 2] = \"All\";\n})(MediaTypeSelection || (MediaTypeSelection = {}));\nexport var EncodingType;\n(function (EncodingType) {\n EncodingType[EncodingType[\"JPEG\"] = 0] = \"JPEG\";\n EncodingType[EncodingType[\"PNG\"] = 1] = \"PNG\";\n})(EncodingType || (EncodingType = {}));\n/**\n * Error codes returned by the Camera plugin.\n * These values match the `code` field on rejected promises.\n *\n * @since 8.2.0\n */\nexport var CameraErrorCode;\n(function (CameraErrorCode) {\n // Permissions\n /**\n * Camera access was denied by the user.\n */\n CameraErrorCode[\"CameraPermissionDenied\"] = \"OS-PLUG-CAMR-0003\";\n /**\n * Photo library / gallery access was denied by the user.\n */\n CameraErrorCode[\"GalleryPermissionDenied\"] = \"OS-PLUG-CAMR-0005\";\n /**\n * No camera hardware is available on the device.\n */\n CameraErrorCode[\"NoCameraAvailable\"] = \"OS-PLUG-CAMR-0007\";\n // Take Photo\n /**\n * The user cancelled the take photo action.\n */\n CameraErrorCode[\"TakePhotoCancelled\"] = \"OS-PLUG-CAMR-0006\";\n /**\n * Failed to take photo.\n */\n CameraErrorCode[\"TakePhotoFailed\"] = \"OS-PLUG-CAMR-0010\";\n /**\n * The take photo action received invalid arguments.\n * @platform ios\n */\n CameraErrorCode[\"TakePhotoInvalidArguments\"] = \"OS-PLUG-CAMR-0014\";\n // Edit Photo\n /**\n * The selected file contains invalid image data.\n * @platform ios\n */\n CameraErrorCode[\"InvalidImageData\"] = \"OS-PLUG-CAMR-0008\";\n /**\n * Failed to edit image.\n */\n CameraErrorCode[\"EditPhotoFailed\"] = \"OS-PLUG-CAMR-0009\";\n /**\n * The user cancelled the edit photo action.\n */\n CameraErrorCode[\"EditPhotoCancelled\"] = \"OS-PLUG-CAMR-0013\";\n /**\n * The URI parameter for editing is empty.\n * @platform android\n */\n CameraErrorCode[\"EditPhotoEmptyUri\"] = \"OS-PLUG-CAMR-0024\";\n // Choose from Gallery\n /**\n * Failed to retrieve an image from the gallery.\n */\n CameraErrorCode[\"ImageNotFound\"] = \"OS-PLUG-CAMR-0011\";\n /**\n * Failed to process the selected image.\n */\n CameraErrorCode[\"ProcessImageFailed\"] = \"OS-PLUG-CAMR-0012\";\n /**\n * Failed to choose media from the gallery.\n */\n CameraErrorCode[\"ChooseMediaFailed\"] = \"OS-PLUG-CAMR-0018\";\n /**\n * The user cancelled choosing media from the gallery.\n */\n CameraErrorCode[\"ChooseMediaCancelled\"] = \"OS-PLUG-CAMR-0020\";\n /**\n * Failed to retrieve the media file path.\n * @platform android\n */\n CameraErrorCode[\"MediaPathError\"] = \"OS-PLUG-CAMR-0021\";\n /**\n * Failed to retrieve an image from the provided URI.\n */\n CameraErrorCode[\"FetchImageFromUriFailed\"] = \"OS-PLUG-CAMR-0028\";\n // Record Video\n /**\n * Failed to record video.\n */\n CameraErrorCode[\"RecordVideoFailed\"] = \"OS-PLUG-CAMR-0016\";\n /**\n * The user cancelled the video recording.\n */\n CameraErrorCode[\"RecordVideoCancelled\"] = \"OS-PLUG-CAMR-0017\";\n /**\n * Failed to retrieve a video from the gallery.\n * @platform ios\n */\n CameraErrorCode[\"VideoNotFound\"] = \"OS-PLUG-CAMR-0025\";\n // Play Video\n /**\n * Failed to play video.\n */\n CameraErrorCode[\"PlayVideoFailed\"] = \"OS-PLUG-CAMR-0023\";\n // General\n /**\n * Failed to encode the media result.\n * @platform ios\n */\n CameraErrorCode[\"EncodeResultFailed\"] = \"OS-PLUG-CAMR-0019\";\n /**\n * The selected file does not exist.\n */\n CameraErrorCode[\"FileNotFound\"] = \"OS-PLUG-CAMR-0027\";\n /**\n * Invalid argument provided to a plugin method.\n * @platform android\n */\n CameraErrorCode[\"InvalidArgument\"] = \"OS-PLUG-CAMR-0031\";\n /**\n * A general plugin error occurred.\n * @platform ios\n */\n CameraErrorCode[\"GeneralError\"] = \"OS-PLUG-CAMR-0026\";\n})(CameraErrorCode || (CameraErrorCode = {}));\n//# sourceMappingURL=definitions.js.map","import { WebPlugin, CapacitorException } from '@capacitor/core';\nimport { CameraSource, CameraDirection, MediaType, MediaTypeSelection } from './definitions';\nexport class CameraWeb extends WebPlugin {\n async takePhoto(options) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n if (options.webUseInput) {\n this.takePhotoCameraInputExperience(options, resolve, reject);\n }\n else {\n this.takePhotoCameraExperience(options, resolve, reject);\n }\n });\n }\n async recordVideo(_options) {\n throw this.unimplemented('recordVideo is not implemented on Web.');\n }\n async playVideo(_options) {\n throw this.unimplemented('playVideo is not implemented on Web.');\n }\n async chooseFromGallery(options) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n this.galleryInputExperience(options, resolve, reject);\n });\n }\n async editPhoto(_options) {\n throw this.unimplemented('editPhoto is not implemented on Web.');\n }\n async editURIPhoto(_options) {\n throw this.unimplemented('editURIPhoto is not implemented on Web.');\n }\n async getPhoto(options) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n if (options.webUseInput || options.source === CameraSource.Photos) {\n this.fileInputExperience(options, resolve, reject);\n }\n else if (options.source === CameraSource.Prompt) {\n let actionSheet = document.querySelector('pwa-action-sheet');\n if (!actionSheet) {\n actionSheet = document.createElement('pwa-action-sheet');\n document.body.appendChild(actionSheet);\n }\n actionSheet.header = options.promptLabelHeader || 'Photo';\n actionSheet.cancelable = false;\n actionSheet.options = [\n { title: options.promptLabelPhoto || 'From Photos' },\n { title: options.promptLabelPicture || 'Take Picture' },\n ];\n actionSheet.addEventListener('onSelection', async (e) => {\n const selection = e.detail;\n if (selection === 0) {\n this.fileInputExperience(options, resolve, reject);\n }\n else {\n this.cameraExperience(options, resolve, reject);\n }\n });\n }\n else {\n this.cameraExperience(options, resolve, reject);\n }\n });\n }\n async pickImages(_options) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n this.multipleFileInputExperience(resolve, reject);\n });\n }\n async cameraExperience(options, resolve, reject) {\n await this._setupPWACameraModal(options.direction, (photo) => this._getCameraPhoto(photo, options), () => this.fileInputExperience(options, resolve, reject), resolve, reject);\n }\n fileInputExperience(options, resolve, reject) {\n let input = document.querySelector('#_capacitor-camera-input');\n const cleanup = () => {\n var _a;\n (_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input);\n };\n if (!input) {\n input = document.createElement('input');\n input.id = '_capacitor-camera-input';\n input.type = 'file';\n input.hidden = true;\n document.body.appendChild(input);\n input.addEventListener('change', (_e) => {\n const file = input.files[0];\n let format = 'jpeg';\n if (file.type === 'image/png') {\n format = 'png';\n }\n else if (file.type === 'image/gif') {\n format = 'gif';\n }\n if (options.resultType === 'dataUrl' || options.resultType === 'base64') {\n const reader = new FileReader();\n reader.addEventListener('load', () => {\n if (options.resultType === 'dataUrl') {\n resolve({\n dataUrl: reader.result,\n format,\n });\n }\n else if (options.resultType === 'base64') {\n const b64 = reader.result.split(',')[1];\n resolve({\n base64String: b64,\n format,\n });\n }\n cleanup();\n });\n reader.readAsDataURL(file);\n }\n else {\n resolve({\n webPath: URL.createObjectURL(file),\n format: format,\n });\n cleanup();\n }\n });\n input.addEventListener('cancel', (_e) => {\n reject(new CapacitorException('User cancelled photos app'));\n cleanup();\n });\n }\n input.accept = 'image/*';\n input.capture = true;\n if (options.source === CameraSource.Photos || options.source === CameraSource.Prompt) {\n input.removeAttribute('capture');\n }\n else if (options.direction === CameraDirection.Front) {\n input.capture = 'user';\n }\n else if (options.direction === CameraDirection.Rear) {\n input.capture = 'environment';\n }\n input.click();\n }\n multipleFileInputExperience(resolve, reject) {\n let input = document.querySelector('#_capacitor-camera-input-multiple');\n const cleanup = () => {\n var _a;\n (_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input);\n };\n if (!input) {\n input = document.createElement('input');\n input.id = '_capacitor-camera-input-multiple';\n input.type = 'file';\n input.hidden = true;\n input.multiple = true;\n document.body.appendChild(input);\n input.addEventListener('change', (_e) => {\n const photos = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < input.files.length; i++) {\n const file = input.files[i];\n let format = 'jpeg';\n if (file.type === 'image/png') {\n format = 'png';\n }\n else if (file.type === 'image/gif') {\n format = 'gif';\n }\n photos.push({\n webPath: URL.createObjectURL(file),\n format: format,\n });\n }\n resolve({ photos });\n cleanup();\n });\n input.addEventListener('cancel', (_e) => {\n reject(new CapacitorException('User cancelled photos app'));\n cleanup();\n });\n }\n input.accept = 'image/*';\n input.click();\n }\n _getCameraPhoto(photo, options) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n const format = this._getFileFormat(photo);\n if (options.resultType === 'uri') {\n resolve({\n webPath: URL.createObjectURL(photo),\n format,\n saved: false,\n });\n }\n else {\n reader.readAsDataURL(photo);\n reader.onloadend = () => {\n const r = reader.result;\n if (options.resultType === 'dataUrl') {\n resolve({\n dataUrl: r,\n format,\n saved: false,\n });\n }\n else {\n resolve({\n base64String: r.split(',')[1],\n format,\n saved: false,\n });\n }\n };\n reader.onerror = (e) => {\n reject(e);\n };\n }\n });\n }\n async takePhotoCameraExperience(options, resolve, reject) {\n await this._setupPWACameraModal(options.cameraDirection, (photo) => { var _a; return this._buildPhotoMediaResult(photo, (_a = options.includeMetadata) !== null && _a !== void 0 ? _a : false); }, () => this.takePhotoCameraInputExperience(options, resolve, reject), resolve, reject);\n }\n takePhotoCameraInputExperience(options, resolve, reject) {\n const input = this._createFileInput('_capacitor-camera-input-takephoto');\n const cleanup = () => {\n var _a;\n (_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input);\n };\n input.onchange = async (_e) => {\n var _a;\n if (!this._validateFileInput(input, reject, cleanup)) {\n return;\n }\n const file = input.files[0];\n resolve(await this._buildPhotoMediaResult(file, (_a = options.includeMetadata) !== null && _a !== void 0 ? _a : false));\n cleanup();\n };\n input.oncancel = () => {\n reject(new CapacitorException('User cancelled photos app'));\n cleanup();\n };\n input.accept = 'image/*';\n if (options.cameraDirection === CameraDirection.Front) {\n input.capture = 'user';\n }\n else {\n // CameraDirection.Rear\n input.capture = 'environment';\n }\n input.click();\n }\n galleryInputExperience(options, resolve, reject) {\n var _a, _b;\n const input = this._createFileInput('_capacitor-camera-input-gallery');\n input.multiple = (_a = options.allowMultipleSelection) !== null && _a !== void 0 ? _a : false;\n const cleanup = () => {\n var _a;\n (_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input);\n };\n input.onchange = async (_e) => {\n var _a;\n if (!this._validateFileInput(input, reject, cleanup)) {\n return;\n }\n const results = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < input.files.length; i++) {\n const file = input.files[i];\n if (file.type.startsWith('image/')) {\n results.push(await this._buildPhotoMediaResult(file, (_a = options.includeMetadata) !== null && _a !== void 0 ? _a : false));\n }\n else if (file.type.startsWith('video/')) {\n const format = this._getFileFormat(file);\n let thumbnail;\n let resolution;\n let duration;\n try {\n const videoInfo = await this._getVideoMetadata(file);\n thumbnail = videoInfo.thumbnail;\n if (options.includeMetadata) {\n resolution = videoInfo.resolution;\n duration = videoInfo.duration;\n }\n }\n catch (e) {\n console.warn('Failed to get video metadata:', e);\n }\n const result = {\n type: MediaType.Video,\n thumbnail,\n webPath: URL.createObjectURL(file),\n saved: false,\n };\n if (options.includeMetadata) {\n result.metadata = {\n format,\n resolution,\n size: file.size,\n creationDate: new Date(file.lastModified).toISOString(),\n duration,\n };\n }\n results.push(result);\n }\n }\n resolve({ results });\n cleanup();\n };\n input.oncancel = () => {\n reject(new CapacitorException('User cancelled photos app'));\n cleanup();\n };\n // Set accept attribute based on mediaType\n const mediaType = (_b = options.mediaType) !== null && _b !== void 0 ? _b : MediaTypeSelection.Photo;\n if (mediaType === MediaTypeSelection.Photo) {\n input.accept = 'image/*';\n }\n else if (mediaType === MediaTypeSelection.Video) {\n input.accept = 'video/*';\n }\n else {\n // MediaTypeSelection.All\n input.accept = 'image/*,video/*';\n }\n input.click();\n }\n _getFileFormat(file) {\n if (file.type === 'image/png') {\n return 'png';\n }\n else if (file.type === 'image/gif') {\n return 'gif';\n }\n else if (file.type.startsWith('video/')) {\n return file.type.split('/')[1];\n }\n else if (file.type.startsWith('image/')) {\n return 'jpeg';\n }\n return file.type.split('/')[1] || 'jpeg';\n }\n async _buildPhotoMediaResult(file, includeMetadata) {\n const format = this._getFileFormat(file);\n const thumbnail = await this._getBase64FromFile(file);\n const result = {\n type: MediaType.Photo,\n thumbnail,\n webPath: URL.createObjectURL(file),\n saved: false,\n };\n if (includeMetadata) {\n const resolution = await this._getImageResolution(file);\n result.metadata = {\n format,\n resolution,\n size: file.size,\n creationDate: 'lastModified' in file ? new Date(file.lastModified).toISOString() : new Date().toISOString(),\n };\n }\n return result;\n }\n _validateFileInput(input, reject, cleanup) {\n if (!input.files || input.files.length === 0) {\n const message = input.multiple ? 'No files selected' : 'No file selected';\n reject(new CapacitorException(message));\n cleanup();\n return false;\n }\n return true;\n }\n async _setupPWACameraModal(cameraDirection, onPhotoCallback, fallbackCallback, resolve, reject) {\n if (customElements.get('pwa-camera-modal')) {\n const cameraModal = document.createElement('pwa-camera-modal');\n cameraModal.facingMode = cameraDirection === CameraDirection.Front ? 'user' : 'environment';\n document.body.appendChild(cameraModal);\n try {\n await cameraModal.componentOnReady();\n cameraModal.addEventListener('onPhoto', async (e) => {\n const photo = e.detail;\n if (photo === null) {\n reject(new CapacitorException('User cancelled photos app'));\n }\n else if (photo instanceof Error) {\n reject(photo);\n }\n else {\n resolve(await onPhotoCallback(photo));\n }\n cameraModal.dismiss();\n document.body.removeChild(cameraModal);\n });\n cameraModal.present();\n }\n catch (e) {\n fallbackCallback();\n }\n }\n else {\n console.error(`Unable to load PWA Element 'pwa-camera-modal'. See the docs: https://capacitorjs.com/docs/web/pwa-elements.`);\n fallbackCallback();\n }\n }\n _createFileInput(id) {\n let input = document.querySelector(`#${id}`);\n if (!input) {\n input = document.createElement('input');\n input.id = id;\n input.type = 'file';\n input.hidden = true;\n document.body.appendChild(input);\n }\n return input;\n }\n async _getImageResolution(image) {\n try {\n const bitmap = await createImageBitmap(image);\n const resolution = `${bitmap.width}x${bitmap.height}`;\n bitmap.close();\n return resolution;\n }\n catch (e) {\n console.warn('Failed to get image resolution:', e);\n return undefined;\n }\n }\n _getBase64FromFile(file) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n const dataUrl = reader.result;\n const base64 = dataUrl.split(',')[1];\n resolve(base64);\n };\n reader.onerror = (e) => {\n reject(e);\n };\n reader.readAsDataURL(file);\n });\n }\n _getVideoMetadata(videoFile) {\n return new Promise((resolve) => {\n const video = document.createElement('video');\n video.preload = 'metadata';\n video.muted = true;\n video.onloadedmetadata = () => {\n // Seek to 1 second or 10% of duration to capture thumbnail\n const seekTime = Math.min(1, video.duration * 0.1);\n video.currentTime = seekTime;\n };\n video.onseeked = () => {\n const result = {\n resolution: `${video.videoWidth}x${video.videoHeight}`,\n duration: video.duration,\n };\n try {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n const ctx = canvas.getContext('2d');\n if (ctx) {\n ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n result.thumbnail = canvas.toDataURL('image/jpeg', 0.8).split(',')[1];\n }\n }\n catch (e) {\n console.warn('Failed to generate video thumbnail:', e);\n }\n URL.revokeObjectURL(video.src);\n resolve(result);\n };\n video.onerror = () => {\n // Clean up and return defaults\n URL.revokeObjectURL(video.src);\n resolve({});\n };\n video.src = URL.createObjectURL(videoFile);\n });\n }\n async checkPermissions() {\n if (typeof navigator === 'undefined' || !navigator.permissions) {\n throw this.unavailable('Permissions API not available in this browser');\n }\n try {\n // https://developer.mozilla.org/en-US/docs/Web/API/Permissions/query\n // the specific permissions that are supported varies among browsers that implement the\n // permissions API, so we need a try/catch in case 'camera' is invalid\n const permission = await window.navigator.permissions.query({\n name: 'camera',\n });\n return {\n camera: permission.state,\n photos: 'granted',\n };\n }\n catch (_a) {\n throw this.unavailable('Camera permissions are not available in this browser');\n }\n }\n async requestPermissions() {\n throw this.unimplemented('Not implemented on web.');\n }\n async pickLimitedLibraryPhotos() {\n throw this.unavailable('Not implemented on web.');\n }\n async getLimitedLibraryPhotos() {\n throw this.unavailable('Not implemented on web.');\n }\n}\nconst Camera = new CameraWeb();\nexport { Camera };\n//# sourceMappingURL=web.js.map","import { registerPlugin } from '@capacitor/core';\nimport { CameraWeb } from './web';\nconst Camera = registerPlugin('Camera', {\n web: () => new CameraWeb(),\n});\nexport * from './definitions';\nexport { Camera };\n//# sourceMappingURL=index.js.map"],"names":["CameraSource","CameraDirection","CameraResultType","MediaType","MediaTypeSelection","EncodingType","CameraErrorCode","WebPlugin","CapacitorException","registerPlugin"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sources":["esm/definitions.js","esm/web.js","esm/index.js"],"sourcesContent":["/**\n * @deprecated This enum is only meant to be used for deprecated `getPhoto` method.\n * It will be removed in a future major version of the plugin, along with `getPhoto`.\n */\nexport var CameraSource;\n(function (CameraSource) {\n /**\n * Prompts the user to select either the photo album or take a photo.\n */\n CameraSource[\"Prompt\"] = \"PROMPT\";\n /**\n * Take a new photo using the camera.\n */\n CameraSource[\"Camera\"] = \"CAMERA\";\n /**\n * Pick an existing photo from the gallery or photo album.\n */\n CameraSource[\"Photos\"] = \"PHOTOS\";\n})(CameraSource || (CameraSource = {}));\nexport var CameraDirection;\n(function (CameraDirection) {\n CameraDirection[\"Rear\"] = \"REAR\";\n CameraDirection[\"Front\"] = \"FRONT\";\n})(CameraDirection || (CameraDirection = {}));\n/**\n * @deprecated This enum is only meant to be used for `ImageOptions` in deprecated `getPhoto` method.\n * It will be removed in a future major version of the plugin, along with `getPhoto`.\n */\nexport var CameraResultType;\n(function (CameraResultType) {\n CameraResultType[\"Uri\"] = \"uri\";\n CameraResultType[\"Base64\"] = \"base64\";\n CameraResultType[\"DataUrl\"] = \"dataUrl\";\n})(CameraResultType || (CameraResultType = {}));\nexport var MediaType;\n(function (MediaType) {\n MediaType[MediaType[\"Photo\"] = 0] = \"Photo\";\n MediaType[MediaType[\"Video\"] = 1] = \"Video\";\n})(MediaType || (MediaType = {}));\nexport var MediaTypeSelection;\n(function (MediaTypeSelection) {\n MediaTypeSelection[MediaTypeSelection[\"Photo\"] = 0] = \"Photo\";\n MediaTypeSelection[MediaTypeSelection[\"Video\"] = 1] = \"Video\";\n MediaTypeSelection[MediaTypeSelection[\"All\"] = 2] = \"All\";\n})(MediaTypeSelection || (MediaTypeSelection = {}));\nexport var EncodingType;\n(function (EncodingType) {\n EncodingType[EncodingType[\"JPEG\"] = 0] = \"JPEG\";\n EncodingType[EncodingType[\"PNG\"] = 1] = \"PNG\";\n})(EncodingType || (EncodingType = {}));\n/**\n * Error codes returned by the Camera plugin.\n * These values match the `code` field on rejected promises.\n *\n * @since 8.2.0\n */\nexport var CameraErrorCode;\n(function (CameraErrorCode) {\n // Permissions\n /**\n * Camera access was denied by the user.\n */\n CameraErrorCode[\"CameraPermissionDenied\"] = \"OS-PLUG-CAMR-0003\";\n /**\n * Photo library / gallery access was denied by the user.\n */\n CameraErrorCode[\"GalleryPermissionDenied\"] = \"OS-PLUG-CAMR-0005\";\n /**\n * No camera hardware is available on the device.\n */\n CameraErrorCode[\"NoCameraAvailable\"] = \"OS-PLUG-CAMR-0007\";\n // Take Photo\n /**\n * The user cancelled the take photo action.\n */\n CameraErrorCode[\"TakePhotoCancelled\"] = \"OS-PLUG-CAMR-0006\";\n /**\n * Failed to take photo.\n */\n CameraErrorCode[\"TakePhotoFailed\"] = \"OS-PLUG-CAMR-0010\";\n /**\n * The take photo action received invalid arguments.\n * @platform ios\n */\n CameraErrorCode[\"TakePhotoInvalidArguments\"] = \"OS-PLUG-CAMR-0014\";\n // Edit Photo\n /**\n * The selected file contains invalid image data.\n * @platform ios\n */\n CameraErrorCode[\"InvalidImageData\"] = \"OS-PLUG-CAMR-0008\";\n /**\n * Failed to edit image.\n */\n CameraErrorCode[\"EditPhotoFailed\"] = \"OS-PLUG-CAMR-0009\";\n /**\n * The user cancelled the edit photo action.\n */\n CameraErrorCode[\"EditPhotoCancelled\"] = \"OS-PLUG-CAMR-0013\";\n /**\n * The URI parameter for editing is empty.\n * @platform android\n */\n CameraErrorCode[\"EditPhotoEmptyUri\"] = \"OS-PLUG-CAMR-0024\";\n // Choose from Gallery\n /**\n * Failed to retrieve an image from the gallery.\n */\n CameraErrorCode[\"ImageNotFound\"] = \"OS-PLUG-CAMR-0011\";\n /**\n * Failed to process the selected image.\n */\n CameraErrorCode[\"ProcessImageFailed\"] = \"OS-PLUG-CAMR-0012\";\n /**\n * Failed to choose media from the gallery.\n */\n CameraErrorCode[\"ChooseMediaFailed\"] = \"OS-PLUG-CAMR-0018\";\n /**\n * The user cancelled choosing media from the gallery.\n */\n CameraErrorCode[\"ChooseMediaCancelled\"] = \"OS-PLUG-CAMR-0020\";\n /**\n * Failed to retrieve the media file path.\n * @platform android\n */\n CameraErrorCode[\"MediaPathError\"] = \"OS-PLUG-CAMR-0021\";\n /**\n * Failed to retrieve an image from the provided URI.\n */\n CameraErrorCode[\"FetchImageFromUriFailed\"] = \"OS-PLUG-CAMR-0028\";\n // Record Video\n /**\n * Failed to record video.\n */\n CameraErrorCode[\"RecordVideoFailed\"] = \"OS-PLUG-CAMR-0016\";\n /**\n * The user cancelled the video recording.\n */\n CameraErrorCode[\"RecordVideoCancelled\"] = \"OS-PLUG-CAMR-0017\";\n /**\n * Failed to retrieve a video from the gallery.\n * @platform ios\n */\n CameraErrorCode[\"VideoNotFound\"] = \"OS-PLUG-CAMR-0025\";\n // Play Video\n /**\n * Failed to play video.\n */\n CameraErrorCode[\"PlayVideoFailed\"] = \"OS-PLUG-CAMR-0023\";\n // General\n /**\n * Failed to encode the media result.\n * @platform ios\n */\n CameraErrorCode[\"EncodeResultFailed\"] = \"OS-PLUG-CAMR-0019\";\n /**\n * The selected file does not exist.\n */\n CameraErrorCode[\"FileNotFound\"] = \"OS-PLUG-CAMR-0027\";\n /**\n * Invalid argument provided to a plugin method.\n * @platform android\n */\n CameraErrorCode[\"InvalidArgument\"] = \"OS-PLUG-CAMR-0031\";\n /**\n * A general plugin error occurred.\n * @platform ios\n */\n CameraErrorCode[\"GeneralError\"] = \"OS-PLUG-CAMR-0026\";\n})(CameraErrorCode || (CameraErrorCode = {}));\n//# sourceMappingURL=definitions.js.map","import { WebPlugin, CapacitorException } from '@capacitor/core';\nimport { CameraSource, CameraDirection, MediaType, MediaTypeSelection } from './definitions';\nexport class CameraWeb extends WebPlugin {\n async takePhoto(options) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n if (options.webUseInput) {\n this.takePhotoCameraInputExperience(options, resolve, reject);\n }\n else {\n this.takePhotoCameraExperience(options, resolve, reject);\n }\n });\n }\n async recordVideo(_options) {\n throw this.unimplemented('recordVideo is not implemented on Web.');\n }\n async playVideo(_options) {\n throw this.unimplemented('playVideo is not implemented on Web.');\n }\n async chooseFromGallery(options) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n this.galleryInputExperience(options, resolve, reject);\n });\n }\n async editPhoto(_options) {\n throw this.unimplemented('editPhoto is not implemented on Web.');\n }\n async editURIPhoto(_options) {\n throw this.unimplemented('editURIPhoto is not implemented on Web.');\n }\n async getPhoto(options) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n if (options.webUseInput || options.source === CameraSource.Photos) {\n this.fileInputExperience(options, resolve, reject);\n }\n else if (options.source === CameraSource.Prompt) {\n let actionSheet = document.querySelector('pwa-action-sheet');\n if (!actionSheet) {\n actionSheet = document.createElement('pwa-action-sheet');\n document.body.appendChild(actionSheet);\n }\n actionSheet.header = options.promptLabelHeader || 'Photo';\n actionSheet.cancelable = false;\n actionSheet.options = [\n { title: options.promptLabelPhoto || 'From Photos' },\n { title: options.promptLabelPicture || 'Take Picture' },\n ];\n actionSheet.addEventListener('onSelection', async (e) => {\n const selection = e.detail;\n if (selection === 0) {\n this.fileInputExperience(options, resolve, reject);\n }\n else {\n this.cameraExperience(options, resolve, reject);\n }\n });\n }\n else {\n this.cameraExperience(options, resolve, reject);\n }\n });\n }\n async pickImages(_options) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n this.multipleFileInputExperience(resolve, reject);\n });\n }\n async cameraExperience(options, resolve, reject) {\n await this._setupPWACameraModal(options.direction, (photo) => this._getCameraPhoto(photo, options), () => this.fileInputExperience(options, resolve, reject), resolve, reject);\n }\n fileInputExperience(options, resolve, reject) {\n let input = document.querySelector('#_capacitor-camera-input');\n const cleanup = () => {\n var _a;\n (_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input);\n };\n if (!input) {\n input = document.createElement('input');\n input.id = '_capacitor-camera-input';\n input.type = 'file';\n input.hidden = true;\n document.body.appendChild(input);\n input.addEventListener('change', (_e) => {\n const file = input.files[0];\n let format = 'jpeg';\n if (file.type === 'image/png') {\n format = 'png';\n }\n else if (file.type === 'image/gif') {\n format = 'gif';\n }\n if (options.resultType === 'dataUrl' || options.resultType === 'base64') {\n const reader = new FileReader();\n reader.addEventListener('load', () => {\n if (options.resultType === 'dataUrl') {\n resolve({\n dataUrl: reader.result,\n format,\n });\n }\n else if (options.resultType === 'base64') {\n const b64 = reader.result.split(',')[1];\n resolve({\n base64String: b64,\n format,\n });\n }\n cleanup();\n });\n reader.readAsDataURL(file);\n }\n else {\n resolve({\n webPath: URL.createObjectURL(file),\n format: format,\n });\n cleanup();\n }\n });\n input.addEventListener('cancel', (_e) => {\n reject(new CapacitorException('User cancelled photos app'));\n cleanup();\n });\n }\n input.accept = 'image/*';\n input.capture = true;\n if (options.source === CameraSource.Photos || options.source === CameraSource.Prompt) {\n input.removeAttribute('capture');\n }\n else if (options.direction === CameraDirection.Front) {\n input.capture = 'user';\n }\n else if (options.direction === CameraDirection.Rear) {\n input.capture = 'environment';\n }\n input.click();\n }\n multipleFileInputExperience(resolve, reject) {\n let input = document.querySelector('#_capacitor-camera-input-multiple');\n const cleanup = () => {\n var _a;\n (_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input);\n };\n if (!input) {\n input = document.createElement('input');\n input.id = '_capacitor-camera-input-multiple';\n input.type = 'file';\n input.hidden = true;\n input.multiple = true;\n document.body.appendChild(input);\n input.addEventListener('change', (_e) => {\n const photos = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < input.files.length; i++) {\n const file = input.files[i];\n let format = 'jpeg';\n if (file.type === 'image/png') {\n format = 'png';\n }\n else if (file.type === 'image/gif') {\n format = 'gif';\n }\n photos.push({\n webPath: URL.createObjectURL(file),\n format: format,\n });\n }\n resolve({ photos });\n cleanup();\n });\n input.addEventListener('cancel', (_e) => {\n reject(new CapacitorException('User cancelled photos app'));\n cleanup();\n });\n }\n input.accept = 'image/*';\n input.click();\n }\n _getCameraPhoto(photo, options) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n const format = this._getFileFormat(photo);\n if (options.resultType === 'uri') {\n resolve({\n webPath: URL.createObjectURL(photo),\n format,\n saved: false,\n });\n }\n else {\n reader.readAsDataURL(photo);\n reader.onloadend = () => {\n const r = reader.result;\n if (options.resultType === 'dataUrl') {\n resolve({\n dataUrl: r,\n format,\n saved: false,\n });\n }\n else {\n resolve({\n base64String: r.split(',')[1],\n format,\n saved: false,\n });\n }\n };\n reader.onerror = (e) => {\n reject(e);\n };\n }\n });\n }\n async takePhotoCameraExperience(options, resolve, reject) {\n await this._setupPWACameraModal(options.cameraDirection, (photo) => { var _a; return this._buildPhotoMediaResult(photo, (_a = options.includeMetadata) !== null && _a !== void 0 ? _a : false); }, () => this.takePhotoCameraInputExperience(options, resolve, reject), resolve, reject);\n }\n takePhotoCameraInputExperience(options, resolve, reject) {\n const input = this._createFileInput('_capacitor-camera-input-takephoto');\n const cleanup = () => {\n var _a;\n (_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input);\n };\n input.onchange = async (_e) => {\n var _a;\n if (!this._validateFileInput(input, reject, cleanup)) {\n return;\n }\n const file = input.files[0];\n resolve(await this._buildPhotoMediaResult(file, (_a = options.includeMetadata) !== null && _a !== void 0 ? _a : false));\n cleanup();\n };\n input.oncancel = () => {\n reject(new CapacitorException('User cancelled photos app'));\n cleanup();\n };\n input.accept = 'image/*';\n if (options.cameraDirection === CameraDirection.Front) {\n input.capture = 'user';\n }\n else {\n // CameraDirection.Rear\n input.capture = 'environment';\n }\n input.click();\n }\n galleryInputExperience(options, resolve, reject) {\n var _a, _b;\n const input = this._createFileInput('_capacitor-camera-input-gallery');\n input.multiple = (_a = options.allowMultipleSelection) !== null && _a !== void 0 ? _a : false;\n const cleanup = () => {\n var _a;\n (_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input);\n };\n input.onchange = async (_e) => {\n var _a;\n if (!this._validateFileInput(input, reject, cleanup)) {\n return;\n }\n const results = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < input.files.length; i++) {\n const file = input.files[i];\n if (file.type.startsWith('image/')) {\n results.push(await this._buildPhotoMediaResult(file, (_a = options.includeMetadata) !== null && _a !== void 0 ? _a : false));\n }\n else if (file.type.startsWith('video/')) {\n const format = this._getFileFormat(file);\n let thumbnail;\n let resolution;\n let duration;\n try {\n const videoInfo = await this._getVideoMetadata(file);\n thumbnail = videoInfo.thumbnail;\n if (options.includeMetadata) {\n resolution = videoInfo.resolution;\n duration = videoInfo.duration;\n }\n }\n catch (e) {\n console.warn('Failed to get video metadata:', e);\n }\n const result = {\n type: MediaType.Video,\n thumbnail,\n webPath: URL.createObjectURL(file),\n saved: false,\n };\n if (options.includeMetadata) {\n result.metadata = {\n format,\n resolution,\n size: file.size,\n creationDate: new Date(file.lastModified).toISOString(),\n duration,\n };\n }\n results.push(result);\n }\n }\n resolve({ results });\n cleanup();\n };\n input.oncancel = () => {\n reject(new CapacitorException('User cancelled photos app'));\n cleanup();\n };\n // Set accept attribute based on mediaType\n const mediaType = (_b = options.mediaType) !== null && _b !== void 0 ? _b : MediaTypeSelection.Photo;\n if (mediaType === MediaTypeSelection.Photo) {\n input.accept = 'image/*';\n }\n else if (mediaType === MediaTypeSelection.Video) {\n input.accept = 'video/*';\n }\n else {\n // MediaTypeSelection.All\n input.accept = 'image/*,video/*';\n }\n input.click();\n }\n _getFileFormat(file) {\n if (file.type === 'image/png') {\n return 'png';\n }\n else if (file.type === 'image/gif') {\n return 'gif';\n }\n else if (file.type.startsWith('video/')) {\n return file.type.split('/')[1];\n }\n else if (file.type.startsWith('image/')) {\n return 'jpeg';\n }\n return file.type.split('/')[1] || 'jpeg';\n }\n async _buildPhotoMediaResult(file, includeMetadata) {\n const format = this._getFileFormat(file);\n const thumbnail = await this._getBase64FromFile(file);\n const result = {\n type: MediaType.Photo,\n thumbnail,\n webPath: URL.createObjectURL(file),\n saved: false,\n };\n if (includeMetadata) {\n const resolution = await this._getImageResolution(file);\n result.metadata = {\n format,\n resolution,\n size: file.size,\n creationDate: 'lastModified' in file ? new Date(file.lastModified).toISOString() : new Date().toISOString(),\n };\n }\n return result;\n }\n _validateFileInput(input, reject, cleanup) {\n if (!input.files || input.files.length === 0) {\n const message = input.multiple ? 'No files selected' : 'No file selected';\n reject(new CapacitorException(message));\n cleanup();\n return false;\n }\n return true;\n }\n async _setupPWACameraModal(cameraDirection, onPhotoCallback, fallbackCallback, resolve, reject) {\n if (customElements.get('pwa-camera-modal')) {\n const cameraModal = document.createElement('pwa-camera-modal');\n cameraModal.facingMode = cameraDirection === CameraDirection.Front ? 'user' : 'environment';\n document.body.appendChild(cameraModal);\n try {\n await cameraModal.componentOnReady();\n cameraModal.addEventListener('onPhoto', async (e) => {\n const photo = e.detail;\n if (photo === null) {\n reject(new CapacitorException('User cancelled photos app'));\n }\n else if (photo instanceof Error) {\n reject(photo);\n }\n else {\n resolve(await onPhotoCallback(photo));\n }\n cameraModal.dismiss();\n document.body.removeChild(cameraModal);\n });\n cameraModal.present();\n }\n catch (e) {\n fallbackCallback();\n }\n }\n else {\n console.error(`Unable to load PWA Element 'pwa-camera-modal'. See the docs: https://capacitorjs.com/docs/web/pwa-elements.`);\n fallbackCallback();\n }\n }\n _createFileInput(id) {\n let input = document.querySelector(`#${id}`);\n if (!input) {\n input = document.createElement('input');\n input.id = id;\n input.type = 'file';\n input.hidden = true;\n document.body.appendChild(input);\n }\n return input;\n }\n async _getImageResolution(image) {\n try {\n const bitmap = await createImageBitmap(image);\n const resolution = `${bitmap.width}x${bitmap.height}`;\n bitmap.close();\n return resolution;\n }\n catch (e) {\n console.warn('Failed to get image resolution:', e);\n return undefined;\n }\n }\n _getBase64FromFile(file) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n const dataUrl = reader.result;\n const base64 = dataUrl.split(',')[1];\n resolve(base64);\n };\n reader.onerror = (e) => {\n reject(e);\n };\n reader.readAsDataURL(file);\n });\n }\n _getVideoMetadata(videoFile) {\n return new Promise((resolve) => {\n const video = document.createElement('video');\n video.preload = 'metadata';\n video.muted = true;\n video.onloadedmetadata = () => {\n // Seek to 1 second or 10% of duration to capture thumbnail\n const seekTime = Math.min(1, video.duration * 0.1);\n video.currentTime = seekTime;\n };\n video.onseeked = () => {\n const result = {\n resolution: `${video.videoWidth}x${video.videoHeight}`,\n duration: video.duration,\n };\n try {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n const ctx = canvas.getContext('2d');\n if (ctx) {\n ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n result.thumbnail = canvas.toDataURL('image/jpeg', 0.8).split(',')[1];\n }\n }\n catch (e) {\n console.warn('Failed to generate video thumbnail:', e);\n }\n URL.revokeObjectURL(video.src);\n resolve(result);\n };\n video.onerror = () => {\n // Clean up and return defaults\n URL.revokeObjectURL(video.src);\n resolve({});\n };\n video.src = URL.createObjectURL(videoFile);\n });\n }\n async checkPermissions() {\n if (typeof navigator === 'undefined' || !navigator.permissions) {\n throw this.unavailable('Permissions API not available in this browser');\n }\n try {\n // https://developer.mozilla.org/en-US/docs/Web/API/Permissions/query\n // the specific permissions that are supported varies among browsers that implement the\n // permissions API, so we need a try/catch in case 'camera' is invalid\n const permission = await window.navigator.permissions.query({\n name: 'camera',\n });\n return {\n camera: permission.state,\n photos: 'granted',\n };\n }\n catch (_a) {\n throw this.unavailable('Camera permissions are not available in this browser');\n }\n }\n async requestPermissions() {\n throw this.unimplemented('Not implemented on web.');\n }\n async pickLimitedLibraryPhotos() {\n throw this.unavailable('Not implemented on web.');\n }\n async getLimitedLibraryPhotos() {\n throw this.unavailable('Not implemented on web.');\n }\n}\nconst Camera = new CameraWeb();\nexport { Camera };\n//# sourceMappingURL=web.js.map","import { registerPlugin } from '@capacitor/core';\nimport { CameraWeb } from './web';\nconst Camera = registerPlugin('Camera', {\n web: () => new CameraWeb(),\n});\nexport * from './definitions';\nexport { Camera };\n//# sourceMappingURL=index.js.map"],"names":["CameraSource","CameraDirection","CameraResultType","MediaType","MediaTypeSelection","EncodingType","CameraErrorCode","WebPlugin","CapacitorException","registerPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sources":["esm/definitions.js","esm/web.js","esm/index.js"],"sourcesContent":["/**\n * @deprecated This enum is only meant to be used for deprecated `getPhoto` method.\n * It will be removed in a future major version of the plugin, along with `getPhoto`.\n */\nexport var CameraSource;\n(function (CameraSource) {\n /**\n * Prompts the user to select either the photo album or take a photo.\n */\n CameraSource[\"Prompt\"] = \"PROMPT\";\n /**\n * Take a new photo using the camera.\n */\n CameraSource[\"Camera\"] = \"CAMERA\";\n /**\n * Pick an existing photo from the gallery or photo album.\n */\n CameraSource[\"Photos\"] = \"PHOTOS\";\n})(CameraSource || (CameraSource = {}));\nexport var CameraDirection;\n(function (CameraDirection) {\n CameraDirection[\"Rear\"] = \"REAR\";\n CameraDirection[\"Front\"] = \"FRONT\";\n})(CameraDirection || (CameraDirection = {}));\n/**\n * @deprecated This enum is only meant to be used for `ImageOptions` in deprecated `getPhoto` method.\n * It will be removed in a future major version of the plugin, along with `getPhoto`.\n */\nexport var CameraResultType;\n(function (CameraResultType) {\n CameraResultType[\"Uri\"] = \"uri\";\n CameraResultType[\"Base64\"] = \"base64\";\n CameraResultType[\"DataUrl\"] = \"dataUrl\";\n})(CameraResultType || (CameraResultType = {}));\nexport var MediaType;\n(function (MediaType) {\n MediaType[MediaType[\"Photo\"] = 0] = \"Photo\";\n MediaType[MediaType[\"Video\"] = 1] = \"Video\";\n})(MediaType || (MediaType = {}));\nexport var MediaTypeSelection;\n(function (MediaTypeSelection) {\n MediaTypeSelection[MediaTypeSelection[\"Photo\"] = 0] = \"Photo\";\n MediaTypeSelection[MediaTypeSelection[\"Video\"] = 1] = \"Video\";\n MediaTypeSelection[MediaTypeSelection[\"All\"] = 2] = \"All\";\n})(MediaTypeSelection || (MediaTypeSelection = {}));\nexport var EncodingType;\n(function (EncodingType) {\n EncodingType[EncodingType[\"JPEG\"] = 0] = \"JPEG\";\n EncodingType[EncodingType[\"PNG\"] = 1] = \"PNG\";\n})(EncodingType || (EncodingType = {}));\n/**\n * Error codes returned by the Camera plugin.\n * These values match the `code` field on rejected promises.\n *\n * @since 8.2.0\n */\nexport var CameraErrorCode;\n(function (CameraErrorCode) {\n // Permissions\n /**\n * Camera access was denied by the user.\n */\n CameraErrorCode[\"CameraPermissionDenied\"] = \"OS-PLUG-CAMR-0003\";\n /**\n * Photo library / gallery access was denied by the user.\n */\n CameraErrorCode[\"GalleryPermissionDenied\"] = \"OS-PLUG-CAMR-0005\";\n /**\n * No camera hardware is available on the device.\n */\n CameraErrorCode[\"NoCameraAvailable\"] = \"OS-PLUG-CAMR-0007\";\n // Take Photo\n /**\n * The user cancelled the take photo action.\n */\n CameraErrorCode[\"TakePhotoCancelled\"] = \"OS-PLUG-CAMR-0006\";\n /**\n * Failed to take photo.\n */\n CameraErrorCode[\"TakePhotoFailed\"] = \"OS-PLUG-CAMR-0010\";\n /**\n * The take photo action received invalid arguments.\n * @platform ios\n */\n CameraErrorCode[\"TakePhotoInvalidArguments\"] = \"OS-PLUG-CAMR-0014\";\n // Edit Photo\n /**\n * The selected file contains invalid image data.\n * @platform ios\n */\n CameraErrorCode[\"InvalidImageData\"] = \"OS-PLUG-CAMR-0008\";\n /**\n * Failed to edit image.\n */\n CameraErrorCode[\"EditPhotoFailed\"] = \"OS-PLUG-CAMR-0009\";\n /**\n * The user cancelled the edit photo action.\n */\n CameraErrorCode[\"EditPhotoCancelled\"] = \"OS-PLUG-CAMR-0013\";\n /**\n * The URI parameter for editing is empty.\n * @platform android\n */\n CameraErrorCode[\"EditPhotoEmptyUri\"] = \"OS-PLUG-CAMR-0024\";\n // Choose from Gallery\n /**\n * Failed to retrieve an image from the gallery.\n */\n CameraErrorCode[\"ImageNotFound\"] = \"OS-PLUG-CAMR-0011\";\n /**\n * Failed to process the selected image.\n */\n CameraErrorCode[\"ProcessImageFailed\"] = \"OS-PLUG-CAMR-0012\";\n /**\n * Failed to choose media from the gallery.\n */\n CameraErrorCode[\"ChooseMediaFailed\"] = \"OS-PLUG-CAMR-0018\";\n /**\n * The user cancelled choosing media from the gallery.\n */\n CameraErrorCode[\"ChooseMediaCancelled\"] = \"OS-PLUG-CAMR-0020\";\n /**\n * Failed to retrieve the media file path.\n * @platform android\n */\n CameraErrorCode[\"MediaPathError\"] = \"OS-PLUG-CAMR-0021\";\n /**\n * Failed to retrieve an image from the provided URI.\n */\n CameraErrorCode[\"FetchImageFromUriFailed\"] = \"OS-PLUG-CAMR-0028\";\n // Record Video\n /**\n * Failed to record video.\n */\n CameraErrorCode[\"RecordVideoFailed\"] = \"OS-PLUG-CAMR-0016\";\n /**\n * The user cancelled the video recording.\n */\n CameraErrorCode[\"RecordVideoCancelled\"] = \"OS-PLUG-CAMR-0017\";\n /**\n * Failed to retrieve a video from the gallery.\n * @platform ios\n */\n CameraErrorCode[\"VideoNotFound\"] = \"OS-PLUG-CAMR-0025\";\n // Play Video\n /**\n * Failed to play video.\n */\n CameraErrorCode[\"PlayVideoFailed\"] = \"OS-PLUG-CAMR-0023\";\n // General\n /**\n * Failed to encode the media result.\n * @platform ios\n */\n CameraErrorCode[\"EncodeResultFailed\"] = \"OS-PLUG-CAMR-0019\";\n /**\n * The selected file does not exist.\n */\n CameraErrorCode[\"FileNotFound\"] = \"OS-PLUG-CAMR-0027\";\n /**\n * Invalid argument provided to a plugin method.\n * @platform android\n */\n CameraErrorCode[\"InvalidArgument\"] = \"OS-PLUG-CAMR-0031\";\n /**\n * A general plugin error occurred.\n * @platform ios\n */\n CameraErrorCode[\"GeneralError\"] = \"OS-PLUG-CAMR-0026\";\n})(CameraErrorCode || (CameraErrorCode = {}));\n//# sourceMappingURL=definitions.js.map","import { WebPlugin, CapacitorException } from '@capacitor/core';\nimport { CameraSource, CameraDirection, MediaType, MediaTypeSelection } from './definitions';\nexport class CameraWeb extends WebPlugin {\n async takePhoto(options) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n if (options.webUseInput) {\n this.takePhotoCameraInputExperience(options, resolve, reject);\n }\n else {\n this.takePhotoCameraExperience(options, resolve, reject);\n }\n });\n }\n async recordVideo(_options) {\n throw this.unimplemented('recordVideo is not implemented on Web.');\n }\n async playVideo(_options) {\n throw this.unimplemented('playVideo is not implemented on Web.');\n }\n async chooseFromGallery(options) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n this.galleryInputExperience(options, resolve, reject);\n });\n }\n async editPhoto(_options) {\n throw this.unimplemented('editPhoto is not implemented on Web.');\n }\n async editURIPhoto(_options) {\n throw this.unimplemented('editURIPhoto is not implemented on Web.');\n }\n async getPhoto(options) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n if (options.webUseInput || options.source === CameraSource.Photos) {\n this.fileInputExperience(options, resolve, reject);\n }\n else if (options.source === CameraSource.Prompt) {\n let actionSheet = document.querySelector('pwa-action-sheet');\n if (!actionSheet) {\n actionSheet = document.createElement('pwa-action-sheet');\n document.body.appendChild(actionSheet);\n }\n actionSheet.header = options.promptLabelHeader || 'Photo';\n actionSheet.cancelable = false;\n actionSheet.options = [\n { title: options.promptLabelPhoto || 'From Photos' },\n { title: options.promptLabelPicture || 'Take Picture' },\n ];\n actionSheet.addEventListener('onSelection', async (e) => {\n const selection = e.detail;\n if (selection === 0) {\n this.fileInputExperience(options, resolve, reject);\n }\n else {\n this.cameraExperience(options, resolve, reject);\n }\n });\n }\n else {\n this.cameraExperience(options, resolve, reject);\n }\n });\n }\n async pickImages(_options) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n this.multipleFileInputExperience(resolve, reject);\n });\n }\n async cameraExperience(options, resolve, reject) {\n await this._setupPWACameraModal(options.direction, (photo) => this._getCameraPhoto(photo, options), () => this.fileInputExperience(options, resolve, reject), resolve, reject);\n }\n fileInputExperience(options, resolve, reject) {\n let input = document.querySelector('#_capacitor-camera-input');\n const cleanup = () => {\n var _a;\n (_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input);\n };\n if (!input) {\n input = document.createElement('input');\n input.id = '_capacitor-camera-input';\n input.type = 'file';\n input.hidden = true;\n document.body.appendChild(input);\n input.addEventListener('change', (_e) => {\n const file = input.files[0];\n let format = 'jpeg';\n if (file.type === 'image/png') {\n format = 'png';\n }\n else if (file.type === 'image/gif') {\n format = 'gif';\n }\n if (options.resultType === 'dataUrl' || options.resultType === 'base64') {\n const reader = new FileReader();\n reader.addEventListener('load', () => {\n if (options.resultType === 'dataUrl') {\n resolve({\n dataUrl: reader.result,\n format,\n });\n }\n else if (options.resultType === 'base64') {\n const b64 = reader.result.split(',')[1];\n resolve({\n base64String: b64,\n format,\n });\n }\n cleanup();\n });\n reader.readAsDataURL(file);\n }\n else {\n resolve({\n webPath: URL.createObjectURL(file),\n format: format,\n });\n cleanup();\n }\n });\n input.addEventListener('cancel', (_e) => {\n reject(new CapacitorException('User cancelled photos app'));\n cleanup();\n });\n }\n input.accept = 'image/*';\n input.capture = true;\n if (options.source === CameraSource.Photos || options.source === CameraSource.Prompt) {\n input.removeAttribute('capture');\n }\n else if (options.direction === CameraDirection.Front) {\n input.capture = 'user';\n }\n else if (options.direction === CameraDirection.Rear) {\n input.capture = 'environment';\n }\n input.click();\n }\n multipleFileInputExperience(resolve, reject) {\n let input = document.querySelector('#_capacitor-camera-input-multiple');\n const cleanup = () => {\n var _a;\n (_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input);\n };\n if (!input) {\n input = document.createElement('input');\n input.id = '_capacitor-camera-input-multiple';\n input.type = 'file';\n input.hidden = true;\n input.multiple = true;\n document.body.appendChild(input);\n input.addEventListener('change', (_e) => {\n const photos = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < input.files.length; i++) {\n const file = input.files[i];\n let format = 'jpeg';\n if (file.type === 'image/png') {\n format = 'png';\n }\n else if (file.type === 'image/gif') {\n format = 'gif';\n }\n photos.push({\n webPath: URL.createObjectURL(file),\n format: format,\n });\n }\n resolve({ photos });\n cleanup();\n });\n input.addEventListener('cancel', (_e) => {\n reject(new CapacitorException('User cancelled photos app'));\n cleanup();\n });\n }\n input.accept = 'image/*';\n input.click();\n }\n _getCameraPhoto(photo, options) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n const format = this._getFileFormat(photo);\n if (options.resultType === 'uri') {\n resolve({\n webPath: URL.createObjectURL(photo),\n format,\n saved: false,\n });\n }\n else {\n reader.readAsDataURL(photo);\n reader.onloadend = () => {\n const r = reader.result;\n if (options.resultType === 'dataUrl') {\n resolve({\n dataUrl: r,\n format,\n saved: false,\n });\n }\n else {\n resolve({\n base64String: r.split(',')[1],\n format,\n saved: false,\n });\n }\n };\n reader.onerror = (e) => {\n reject(e);\n };\n }\n });\n }\n async takePhotoCameraExperience(options, resolve, reject) {\n await this._setupPWACameraModal(options.cameraDirection, (photo) => { var _a; return this._buildPhotoMediaResult(photo, (_a = options.includeMetadata) !== null && _a !== void 0 ? _a : false); }, () => this.takePhotoCameraInputExperience(options, resolve, reject), resolve, reject);\n }\n takePhotoCameraInputExperience(options, resolve, reject) {\n const input = this._createFileInput('_capacitor-camera-input-takephoto');\n const cleanup = () => {\n var _a;\n (_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input);\n };\n input.onchange = async (_e) => {\n var _a;\n if (!this._validateFileInput(input, reject, cleanup)) {\n return;\n }\n const file = input.files[0];\n resolve(await this._buildPhotoMediaResult(file, (_a = options.includeMetadata) !== null && _a !== void 0 ? _a : false));\n cleanup();\n };\n input.oncancel = () => {\n reject(new CapacitorException('User cancelled photos app'));\n cleanup();\n };\n input.accept = 'image/*';\n if (options.cameraDirection === CameraDirection.Front) {\n input.capture = 'user';\n }\n else {\n // CameraDirection.Rear\n input.capture = 'environment';\n }\n input.click();\n }\n galleryInputExperience(options, resolve, reject) {\n var _a, _b;\n const input = this._createFileInput('_capacitor-camera-input-gallery');\n input.multiple = (_a = options.allowMultipleSelection) !== null && _a !== void 0 ? _a : false;\n const cleanup = () => {\n var _a;\n (_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input);\n };\n input.onchange = async (_e) => {\n var _a;\n if (!this._validateFileInput(input, reject, cleanup)) {\n return;\n }\n const results = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < input.files.length; i++) {\n const file = input.files[i];\n if (file.type.startsWith('image/')) {\n results.push(await this._buildPhotoMediaResult(file, (_a = options.includeMetadata) !== null && _a !== void 0 ? _a : false));\n }\n else if (file.type.startsWith('video/')) {\n const format = this._getFileFormat(file);\n let thumbnail;\n let resolution;\n let duration;\n try {\n const videoInfo = await this._getVideoMetadata(file);\n thumbnail = videoInfo.thumbnail;\n if (options.includeMetadata) {\n resolution = videoInfo.resolution;\n duration = videoInfo.duration;\n }\n }\n catch (e) {\n console.warn('Failed to get video metadata:', e);\n }\n const result = {\n type: MediaType.Video,\n thumbnail,\n webPath: URL.createObjectURL(file),\n saved: false,\n };\n if (options.includeMetadata) {\n result.metadata = {\n format,\n resolution,\n size: file.size,\n creationDate: new Date(file.lastModified).toISOString(),\n duration,\n };\n }\n results.push(result);\n }\n }\n resolve({ results });\n cleanup();\n };\n input.oncancel = () => {\n reject(new CapacitorException('User cancelled photos app'));\n cleanup();\n };\n // Set accept attribute based on mediaType\n const mediaType = (_b = options.mediaType) !== null && _b !== void 0 ? _b : MediaTypeSelection.Photo;\n if (mediaType === MediaTypeSelection.Photo) {\n input.accept = 'image/*';\n }\n else if (mediaType === MediaTypeSelection.Video) {\n input.accept = 'video/*';\n }\n else {\n // MediaTypeSelection.All\n input.accept = 'image/*,video/*';\n }\n input.click();\n }\n _getFileFormat(file) {\n if (file.type === 'image/png') {\n return 'png';\n }\n else if (file.type === 'image/gif') {\n return 'gif';\n }\n else if (file.type.startsWith('video/')) {\n return file.type.split('/')[1];\n }\n else if (file.type.startsWith('image/')) {\n return 'jpeg';\n }\n return file.type.split('/')[1] || 'jpeg';\n }\n async _buildPhotoMediaResult(file, includeMetadata) {\n const format = this._getFileFormat(file);\n const thumbnail = await this._getBase64FromFile(file);\n const result = {\n type: MediaType.Photo,\n thumbnail,\n webPath: URL.createObjectURL(file),\n saved: false,\n };\n if (includeMetadata) {\n const resolution = await this._getImageResolution(file);\n result.metadata = {\n format,\n resolution,\n size: file.size,\n creationDate: 'lastModified' in file ? new Date(file.lastModified).toISOString() : new Date().toISOString(),\n };\n }\n return result;\n }\n _validateFileInput(input, reject, cleanup) {\n if (!input.files || input.files.length === 0) {\n const message = input.multiple ? 'No files selected' : 'No file selected';\n reject(new CapacitorException(message));\n cleanup();\n return false;\n }\n return true;\n }\n async _setupPWACameraModal(cameraDirection, onPhotoCallback, fallbackCallback, resolve, reject) {\n if (customElements.get('pwa-camera-modal')) {\n const cameraModal = document.createElement('pwa-camera-modal');\n cameraModal.facingMode = cameraDirection === CameraDirection.Front ? 'user' : 'environment';\n document.body.appendChild(cameraModal);\n try {\n await cameraModal.componentOnReady();\n cameraModal.addEventListener('onPhoto', async (e) => {\n const photo = e.detail;\n if (photo === null) {\n reject(new CapacitorException('User cancelled photos app'));\n }\n else if (photo instanceof Error) {\n reject(photo);\n }\n else {\n resolve(await onPhotoCallback(photo));\n }\n cameraModal.dismiss();\n document.body.removeChild(cameraModal);\n });\n cameraModal.present();\n }\n catch (e) {\n fallbackCallback();\n }\n }\n else {\n console.error(`Unable to load PWA Element 'pwa-camera-modal'. See the docs: https://capacitorjs.com/docs/web/pwa-elements.`);\n fallbackCallback();\n }\n }\n _createFileInput(id) {\n let input = document.querySelector(`#${id}`);\n if (!input) {\n input = document.createElement('input');\n input.id = id;\n input.type = 'file';\n input.hidden = true;\n document.body.appendChild(input);\n }\n return input;\n }\n async _getImageResolution(image) {\n try {\n const bitmap = await createImageBitmap(image);\n const resolution = `${bitmap.width}x${bitmap.height}`;\n bitmap.close();\n return resolution;\n }\n catch (e) {\n console.warn('Failed to get image resolution:', e);\n return undefined;\n }\n }\n _getBase64FromFile(file) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n const dataUrl = reader.result;\n const base64 = dataUrl.split(',')[1];\n resolve(base64);\n };\n reader.onerror = (e) => {\n reject(e);\n };\n reader.readAsDataURL(file);\n });\n }\n _getVideoMetadata(videoFile) {\n return new Promise((resolve) => {\n const video = document.createElement('video');\n video.preload = 'metadata';\n video.muted = true;\n video.onloadedmetadata = () => {\n // Seek to 1 second or 10% of duration to capture thumbnail\n const seekTime = Math.min(1, video.duration * 0.1);\n video.currentTime = seekTime;\n };\n video.onseeked = () => {\n const result = {\n resolution: `${video.videoWidth}x${video.videoHeight}`,\n duration: video.duration,\n };\n try {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n const ctx = canvas.getContext('2d');\n if (ctx) {\n ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n result.thumbnail = canvas.toDataURL('image/jpeg', 0.8).split(',')[1];\n }\n }\n catch (e) {\n console.warn('Failed to generate video thumbnail:', e);\n }\n URL.revokeObjectURL(video.src);\n resolve(result);\n };\n video.onerror = () => {\n // Clean up and return defaults\n URL.revokeObjectURL(video.src);\n resolve({});\n };\n video.src = URL.createObjectURL(videoFile);\n });\n }\n async checkPermissions() {\n if (typeof navigator === 'undefined' || !navigator.permissions) {\n throw this.unavailable('Permissions API not available in this browser');\n }\n try {\n // https://developer.mozilla.org/en-US/docs/Web/API/Permissions/query\n // the specific permissions that are supported varies among browsers that implement the\n // permissions API, so we need a try/catch in case 'camera' is invalid\n const permission = await window.navigator.permissions.query({\n name: 'camera',\n });\n return {\n camera: permission.state,\n photos: 'granted',\n };\n }\n catch (_a) {\n throw this.unavailable('Camera permissions are not available in this browser');\n }\n }\n async requestPermissions() {\n throw this.unimplemented('Not implemented on web.');\n }\n async pickLimitedLibraryPhotos() {\n throw this.unavailable('Not implemented on web.');\n }\n async getLimitedLibraryPhotos() {\n throw this.unavailable('Not implemented on web.');\n }\n}\nconst Camera = new CameraWeb();\nexport { Camera };\n//# sourceMappingURL=web.js.map","import { registerPlugin } from '@capacitor/core';\nimport { CameraWeb } from './web';\nconst Camera = registerPlugin('Camera', {\n web: () => new CameraWeb(),\n});\nexport * from './definitions';\nexport { Camera };\n//# sourceMappingURL=index.js.map"],"names":["CameraSource","CameraDirection","CameraResultType","MediaType","MediaTypeSelection","EncodingType","CameraErrorCode","WebPlugin","CapacitorException","registerPlugin"],"mappings":";;;IAAA;IACA;IACA;IACA;AACWA;IACX,CAAC,UAAU,YAAY,EAAE;IACzB;IACA;IACA;IACA,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,QAAQ;IACrC;IACA;IACA;IACA,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,QAAQ;IACrC;IACA;IACA;IACA,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,QAAQ;IACrC,CAAC,EAAEA,oBAAY,KAAKA,oBAAY,GAAG,EAAE,CAAC,CAAC;AAC5BC;IACX,CAAC,UAAU,eAAe,EAAE;IAC5B,IAAI,eAAe,CAAC,MAAM,CAAC,GAAG,MAAM;IACpC,IAAI,eAAe,CAAC,OAAO,CAAC,GAAG,OAAO;IACtC,CAAC,EAAEA,uBAAe,KAAKA,uBAAe,GAAG,EAAE,CAAC,CAAC;IAC7C;IACA;IACA;IACA;AACWC;IACX,CAAC,UAAU,gBAAgB,EAAE;IAC7B,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,KAAK;IACnC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,GAAG,QAAQ;IACzC,IAAI,gBAAgB,CAAC,SAAS,CAAC,GAAG,SAAS;IAC3C,CAAC,EAAEA,wBAAgB,KAAKA,wBAAgB,GAAG,EAAE,CAAC,CAAC;AACpCC;IACX,CAAC,UAAU,SAAS,EAAE;IACtB,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO;IAC/C,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO;IAC/C,CAAC,EAAEA,iBAAS,KAAKA,iBAAS,GAAG,EAAE,CAAC,CAAC;AACtBC;IACX,CAAC,UAAU,kBAAkB,EAAE;IAC/B,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO;IACjE,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO;IACjE,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK;IAC7D,CAAC,EAAEA,0BAAkB,KAAKA,0BAAkB,GAAG,EAAE,CAAC,CAAC;AACxCC;IACX,CAAC,UAAU,YAAY,EAAE;IACzB,IAAI,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM;IACnD,IAAI,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK;IACjD,CAAC,EAAEA,oBAAY,KAAKA,oBAAY,GAAG,EAAE,CAAC,CAAC;IACvC;IACA;IACA;IACA;IACA;IACA;AACWC;IACX,CAAC,UAAU,eAAe,EAAE;IAC5B;IACA;IACA;IACA;IACA,IAAI,eAAe,CAAC,wBAAwB,CAAC,GAAG,mBAAmB;IACnE;IACA;IACA;IACA,IAAI,eAAe,CAAC,yBAAyB,CAAC,GAAG,mBAAmB;IACpE;IACA;IACA;IACA,IAAI,eAAe,CAAC,mBAAmB,CAAC,GAAG,mBAAmB;IAC9D;IACA;IACA;IACA;IACA,IAAI,eAAe,CAAC,oBAAoB,CAAC,GAAG,mBAAmB;IAC/D;IACA;IACA;IACA,IAAI,eAAe,CAAC,iBAAiB,CAAC,GAAG,mBAAmB;IAC5D;IACA;IACA;IACA;IACA,IAAI,eAAe,CAAC,2BAA2B,CAAC,GAAG,mBAAmB;IACtE;IACA;IACA;IACA;IACA;IACA,IAAI,eAAe,CAAC,kBAAkB,CAAC,GAAG,mBAAmB;IAC7D;IACA;IACA;IACA,IAAI,eAAe,CAAC,iBAAiB,CAAC,GAAG,mBAAmB;IAC5D;IACA;IACA;IACA,IAAI,eAAe,CAAC,oBAAoB,CAAC,GAAG,mBAAmB;IAC/D;IACA;IACA;IACA;IACA,IAAI,eAAe,CAAC,mBAAmB,CAAC,GAAG,mBAAmB;IAC9D;IACA;IACA;IACA;IACA,IAAI,eAAe,CAAC,eAAe,CAAC,GAAG,mBAAmB;IAC1D;IACA;IACA;IACA,IAAI,eAAe,CAAC,oBAAoB,CAAC,GAAG,mBAAmB;IAC/D;IACA;IACA;IACA,IAAI,eAAe,CAAC,mBAAmB,CAAC,GAAG,mBAAmB;IAC9D;IACA;IACA;IACA,IAAI,eAAe,CAAC,sBAAsB,CAAC,GAAG,mBAAmB;IACjE;IACA;IACA;IACA;IACA,IAAI,eAAe,CAAC,gBAAgB,CAAC,GAAG,mBAAmB;IAC3D;IACA;IACA;IACA,IAAI,eAAe,CAAC,yBAAyB,CAAC,GAAG,mBAAmB;IACpE;IACA;IACA;IACA;IACA,IAAI,eAAe,CAAC,mBAAmB,CAAC,GAAG,mBAAmB;IAC9D;IACA;IACA;IACA,IAAI,eAAe,CAAC,sBAAsB,CAAC,GAAG,mBAAmB;IACjE;IACA;IACA;IACA;IACA,IAAI,eAAe,CAAC,eAAe,CAAC,GAAG,mBAAmB;IAC1D;IACA;IACA;IACA;IACA,IAAI,eAAe,CAAC,iBAAiB,CAAC,GAAG,mBAAmB;IAC5D;IACA;IACA;IACA;IACA;IACA,IAAI,eAAe,CAAC,oBAAoB,CAAC,GAAG,mBAAmB;IAC/D;IACA;IACA;IACA,IAAI,eAAe,CAAC,cAAc,CAAC,GAAG,mBAAmB;IACzD;IACA;IACA;IACA;IACA,IAAI,eAAe,CAAC,iBAAiB,CAAC,GAAG,mBAAmB;IAC5D;IACA;IACA;IACA;IACA,IAAI,eAAe,CAAC,cAAc,CAAC,GAAG,mBAAmB;IACzD,CAAC,EAAEA,uBAAe,KAAKA,uBAAe,GAAG,EAAE,CAAC,CAAC;;ICvKtC,MAAM,SAAS,SAASC,cAAS,CAAC;IACzC,IAAI,MAAM,SAAS,CAAC,OAAO,EAAE;IAC7B;IACA,QAAQ,OAAO,IAAI,OAAO,CAAC,OAAO,OAAO,EAAE,MAAM,KAAK;IACtD,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE;IACrC,gBAAgB,IAAI,CAAC,8BAA8B,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;IAC7E,YAAY;IACZ,iBAAiB;IACjB,gBAAgB,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;IACxE,YAAY;IACZ,QAAQ,CAAC,CAAC;IACV,IAAI;IACJ,IAAI,MAAM,WAAW,CAAC,QAAQ,EAAE;IAChC,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,wCAAwC,CAAC;IAC1E,IAAI;IACJ,IAAI,MAAM,SAAS,CAAC,QAAQ,EAAE;IAC9B,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,sCAAsC,CAAC;IACxE,IAAI;IACJ,IAAI,MAAM,iBAAiB,CAAC,OAAO,EAAE;IACrC;IACA,QAAQ,OAAO,IAAI,OAAO,CAAC,OAAO,OAAO,EAAE,MAAM,KAAK;IACtD,YAAY,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;IACjE,QAAQ,CAAC,CAAC;IACV,IAAI;IACJ,IAAI,MAAM,SAAS,CAAC,QAAQ,EAAE;IAC9B,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,sCAAsC,CAAC;IACxE,IAAI;IACJ,IAAI,MAAM,YAAY,CAAC,QAAQ,EAAE;IACjC,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC;IAC3E,IAAI;IACJ,IAAI,MAAM,QAAQ,CAAC,OAAO,EAAE;IAC5B;IACA,QAAQ,OAAO,IAAI,OAAO,CAAC,OAAO,OAAO,EAAE,MAAM,KAAK;IACtD,YAAY,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,KAAKP,oBAAY,CAAC,MAAM,EAAE;IAC/E,gBAAgB,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;IAClE,YAAY;IACZ,iBAAiB,IAAI,OAAO,CAAC,MAAM,KAAKA,oBAAY,CAAC,MAAM,EAAE;IAC7D,gBAAgB,IAAI,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC;IAC5E,gBAAgB,IAAI,CAAC,WAAW,EAAE;IAClC,oBAAoB,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC;IAC5E,oBAAoB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;IAC1D,gBAAgB;IAChB,gBAAgB,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,iBAAiB,IAAI,OAAO;IACzE,gBAAgB,WAAW,CAAC,UAAU,GAAG,KAAK;IAC9C,gBAAgB,WAAW,CAAC,OAAO,GAAG;IACtC,oBAAoB,EAAE,KAAK,EAAE,OAAO,CAAC,gBAAgB,IAAI,aAAa,EAAE;IACxE,oBAAoB,EAAE,KAAK,EAAE,OAAO,CAAC,kBAAkB,IAAI,cAAc,EAAE;IAC3E,iBAAiB;IACjB,gBAAgB,WAAW,CAAC,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK;IACzE,oBAAoB,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM;IAC9C,oBAAoB,IAAI,SAAS,KAAK,CAAC,EAAE;IACzC,wBAAwB,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;IAC1E,oBAAoB;IACpB,yBAAyB;IACzB,wBAAwB,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;IACvE,oBAAoB;IACpB,gBAAgB,CAAC,CAAC;IAClB,YAAY;IACZ,iBAAiB;IACjB,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;IAC/D,YAAY;IACZ,QAAQ,CAAC,CAAC;IACV,IAAI;IACJ,IAAI,MAAM,UAAU,CAAC,QAAQ,EAAE;IAC/B;IACA,QAAQ,OAAO,IAAI,OAAO,CAAC,OAAO,OAAO,EAAE,MAAM,KAAK;IACtD,YAAY,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,MAAM,CAAC;IAC7D,QAAQ,CAAC,CAAC;IACV,IAAI;IACJ,IAAI,MAAM,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE;IACrD,QAAQ,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC;IACtL,IAAI;IACJ,IAAI,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE;IAClD,QAAQ,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,0BAA0B,CAAC;IACtE,QAAQ,MAAM,OAAO,GAAG,MAAM;IAC9B,YAAY,IAAI,EAAE;IAClB,YAAY,CAAC,EAAE,GAAG,KAAK,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;IAC9F,QAAQ,CAAC;IACT,QAAQ,IAAI,CAAC,KAAK,EAAE;IACpB,YAAY,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;IACnD,YAAY,KAAK,CAAC,EAAE,GAAG,yBAAyB;IAChD,YAAY,KAAK,CAAC,IAAI,GAAG,MAAM;IAC/B,YAAY,KAAK,CAAC,MAAM,GAAG,IAAI;IAC/B,YAAY,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IAC5C,YAAY,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK;IACrD,gBAAgB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,gBAAgB,IAAI,MAAM,GAAG,MAAM;IACnC,gBAAgB,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;IAC/C,oBAAoB,MAAM,GAAG,KAAK;IAClC,gBAAgB;IAChB,qBAAqB,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;IACpD,oBAAoB,MAAM,GAAG,KAAK;IAClC,gBAAgB;IAChB,gBAAgB,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE;IACzF,oBAAoB,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;IACnD,oBAAoB,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM;IAC1D,wBAAwB,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE;IAC9D,4BAA4B,OAAO,CAAC;IACpC,gCAAgC,OAAO,EAAE,MAAM,CAAC,MAAM;IACtD,gCAAgC,MAAM;IACtC,6BAA6B,CAAC;IAC9B,wBAAwB;IACxB,6BAA6B,IAAI,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE;IAClE,4BAA4B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnE,4BAA4B,OAAO,CAAC;IACpC,gCAAgC,YAAY,EAAE,GAAG;IACjD,gCAAgC,MAAM;IACtC,6BAA6B,CAAC;IAC9B,wBAAwB;IACxB,wBAAwB,OAAO,EAAE;IACjC,oBAAoB,CAAC,CAAC;IACtB,oBAAoB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;IAC9C,gBAAgB;IAChB,qBAAqB;IACrB,oBAAoB,OAAO,CAAC;IAC5B,wBAAwB,OAAO,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;IAC1D,wBAAwB,MAAM,EAAE,MAAM;IACtC,qBAAqB,CAAC;IACtB,oBAAoB,OAAO,EAAE;IAC7B,gBAAgB;IAChB,YAAY,CAAC,CAAC;IACd,YAAY,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK;IACrD,gBAAgB,MAAM,CAAC,IAAIQ,uBAAkB,CAAC,2BAA2B,CAAC,CAAC;IAC3E,gBAAgB,OAAO,EAAE;IACzB,YAAY,CAAC,CAAC;IACd,QAAQ;IACR,QAAQ,KAAK,CAAC,MAAM,GAAG,SAAS;IAChC,QAAQ,KAAK,CAAC,OAAO,GAAG,IAAI;IAC5B,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAKR,oBAAY,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAKA,oBAAY,CAAC,MAAM,EAAE;IAC9F,YAAY,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC;IAC5C,QAAQ;IACR,aAAa,IAAI,OAAO,CAAC,SAAS,KAAKC,uBAAe,CAAC,KAAK,EAAE;IAC9D,YAAY,KAAK,CAAC,OAAO,GAAG,MAAM;IAClC,QAAQ;IACR,aAAa,IAAI,OAAO,CAAC,SAAS,KAAKA,uBAAe,CAAC,IAAI,EAAE;IAC7D,YAAY,KAAK,CAAC,OAAO,GAAG,aAAa;IACzC,QAAQ;IACR,QAAQ,KAAK,CAAC,KAAK,EAAE;IACrB,IAAI;IACJ,IAAI,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE;IACjD,QAAQ,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,mCAAmC,CAAC;IAC/E,QAAQ,MAAM,OAAO,GAAG,MAAM;IAC9B,YAAY,IAAI,EAAE;IAClB,YAAY,CAAC,EAAE,GAAG,KAAK,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;IAC9F,QAAQ,CAAC;IACT,QAAQ,IAAI,CAAC,KAAK,EAAE;IACpB,YAAY,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;IACnD,YAAY,KAAK,CAAC,EAAE,GAAG,kCAAkC;IACzD,YAAY,KAAK,CAAC,IAAI,GAAG,MAAM;IAC/B,YAAY,KAAK,CAAC,MAAM,GAAG,IAAI;IAC/B,YAAY,KAAK,CAAC,QAAQ,GAAG,IAAI;IACjC,YAAY,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IAC5C,YAAY,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK;IACrD,gBAAgB,MAAM,MAAM,GAAG,EAAE;IACjC;IACA,gBAAgB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAC7D,oBAAoB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,oBAAoB,IAAI,MAAM,GAAG,MAAM;IACvC,oBAAoB,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;IACnD,wBAAwB,MAAM,GAAG,KAAK;IACtC,oBAAoB;IACpB,yBAAyB,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;IACxD,wBAAwB,MAAM,GAAG,KAAK;IACtC,oBAAoB;IACpB,oBAAoB,MAAM,CAAC,IAAI,CAAC;IAChC,wBAAwB,OAAO,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;IAC1D,wBAAwB,MAAM,EAAE,MAAM;IACtC,qBAAqB,CAAC;IACtB,gBAAgB;IAChB,gBAAgB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,gBAAgB,OAAO,EAAE;IACzB,YAAY,CAAC,CAAC;IACd,YAAY,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK;IACrD,gBAAgB,MAAM,CAAC,IAAIO,uBAAkB,CAAC,2BAA2B,CAAC,CAAC;IAC3E,gBAAgB,OAAO,EAAE;IACzB,YAAY,CAAC,CAAC;IACd,QAAQ;IACR,QAAQ,KAAK,CAAC,MAAM,GAAG,SAAS;IAChC,QAAQ,KAAK,CAAC,KAAK,EAAE;IACrB,IAAI;IACJ,IAAI,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE;IACpC,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;IAChD,YAAY,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;IAC3C,YAAY,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;IACrD,YAAY,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE;IAC9C,gBAAgB,OAAO,CAAC;IACxB,oBAAoB,OAAO,EAAE,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC;IACvD,oBAAoB,MAAM;IAC1B,oBAAoB,KAAK,EAAE,KAAK;IAChC,iBAAiB,CAAC;IAClB,YAAY;IACZ,iBAAiB;IACjB,gBAAgB,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;IAC3C,gBAAgB,MAAM,CAAC,SAAS,GAAG,MAAM;IACzC,oBAAoB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM;IAC3C,oBAAoB,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE;IAC1D,wBAAwB,OAAO,CAAC;IAChC,4BAA4B,OAAO,EAAE,CAAC;IACtC,4BAA4B,MAAM;IAClC,4BAA4B,KAAK,EAAE,KAAK;IACxC,yBAAyB,CAAC;IAC1B,oBAAoB;IACpB,yBAAyB;IACzB,wBAAwB,OAAO,CAAC;IAChC,4BAA4B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzD,4BAA4B,MAAM;IAClC,4BAA4B,KAAK,EAAE,KAAK;IACxC,yBAAyB,CAAC;IAC1B,oBAAoB;IACpB,gBAAgB,CAAC;IACjB,gBAAgB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK;IACxC,oBAAoB,MAAM,CAAC,CAAC,CAAC;IAC7B,gBAAgB,CAAC;IACjB,YAAY;IACZ,QAAQ,CAAC,CAAC;IACV,IAAI;IACJ,IAAI,MAAM,yBAAyB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE;IAC9D,QAAQ,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,KAAK,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,eAAe,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,8BAA8B,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC;IAChS,IAAI;IACJ,IAAI,8BAA8B,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE;IAC7D,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,mCAAmC,CAAC;IAChF,QAAQ,MAAM,OAAO,GAAG,MAAM;IAC9B,YAAY,IAAI,EAAE;IAClB,YAAY,CAAC,EAAE,GAAG,KAAK,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;IAC9F,QAAQ,CAAC;IACT,QAAQ,KAAK,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK;IACvC,YAAY,IAAI,EAAE;IAClB,YAAY,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAClE,gBAAgB;IAChB,YAAY;IACZ,YAAY,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,YAAY,OAAO,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,eAAe,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;IACnI,YAAY,OAAO,EAAE;IACrB,QAAQ,CAAC;IACT,QAAQ,KAAK,CAAC,QAAQ,GAAG,MAAM;IAC/B,YAAY,MAAM,CAAC,IAAIA,uBAAkB,CAAC,2BAA2B,CAAC,CAAC;IACvE,YAAY,OAAO,EAAE;IACrB,QAAQ,CAAC;IACT,QAAQ,KAAK,CAAC,MAAM,GAAG,SAAS;IAChC,QAAQ,IAAI,OAAO,CAAC,eAAe,KAAKP,uBAAe,CAAC,KAAK,EAAE;IAC/D,YAAY,KAAK,CAAC,OAAO,GAAG,MAAM;IAClC,QAAQ;IACR,aAAa;IACb;IACA,YAAY,KAAK,CAAC,OAAO,GAAG,aAAa;IACzC,QAAQ;IACR,QAAQ,KAAK,CAAC,KAAK,EAAE;IACrB,IAAI;IACJ,IAAI,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE;IACrD,QAAQ,IAAI,EAAE,EAAE,EAAE;IAClB,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,iCAAiC,CAAC;IAC9E,QAAQ,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,sBAAsB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,KAAK;IACrG,QAAQ,MAAM,OAAO,GAAG,MAAM;IAC9B,YAAY,IAAI,EAAE;IAClB,YAAY,CAAC,EAAE,GAAG,KAAK,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;IAC9F,QAAQ,CAAC;IACT,QAAQ,KAAK,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK;IACvC,YAAY,IAAI,EAAE;IAClB,YAAY,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAClE,gBAAgB;IAChB,YAAY;IACZ,YAAY,MAAM,OAAO,GAAG,EAAE;IAC9B;IACA,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IACzD,gBAAgB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;IACpD,oBAAoB,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,eAAe,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;IAChJ,gBAAgB;IAChB,qBAAqB,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;IACzD,oBAAoB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;IAC5D,oBAAoB,IAAI,SAAS;IACjC,oBAAoB,IAAI,UAAU;IAClC,oBAAoB,IAAI,QAAQ;IAChC,oBAAoB,IAAI;IACxB,wBAAwB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;IAC5E,wBAAwB,SAAS,GAAG,SAAS,CAAC,SAAS;IACvD,wBAAwB,IAAI,OAAO,CAAC,eAAe,EAAE;IACrD,4BAA4B,UAAU,GAAG,SAAS,CAAC,UAAU;IAC7D,4BAA4B,QAAQ,GAAG,SAAS,CAAC,QAAQ;IACzD,wBAAwB;IACxB,oBAAoB;IACpB,oBAAoB,OAAO,CAAC,EAAE;IAC9B,wBAAwB,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC;IACxE,oBAAoB;IACpB,oBAAoB,MAAM,MAAM,GAAG;IACnC,wBAAwB,IAAI,EAAEE,iBAAS,CAAC,KAAK;IAC7C,wBAAwB,SAAS;IACjC,wBAAwB,OAAO,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;IAC1D,wBAAwB,KAAK,EAAE,KAAK;IACpC,qBAAqB;IACrB,oBAAoB,IAAI,OAAO,CAAC,eAAe,EAAE;IACjD,wBAAwB,MAAM,CAAC,QAAQ,GAAG;IAC1C,4BAA4B,MAAM;IAClC,4BAA4B,UAAU;IACtC,4BAA4B,IAAI,EAAE,IAAI,CAAC,IAAI;IAC3C,4BAA4B,YAAY,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE;IACnF,4BAA4B,QAAQ;IACpC,yBAAyB;IACzB,oBAAoB;IACpB,oBAAoB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IACxC,gBAAgB;IAChB,YAAY;IACZ,YAAY,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IAChC,YAAY,OAAO,EAAE;IACrB,QAAQ,CAAC;IACT,QAAQ,KAAK,CAAC,QAAQ,GAAG,MAAM;IAC/B,YAAY,MAAM,CAAC,IAAIK,uBAAkB,CAAC,2BAA2B,CAAC,CAAC;IACvE,YAAY,OAAO,EAAE;IACrB,QAAQ,CAAC;IACT;IACA,QAAQ,MAAM,SAAS,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAGJ,0BAAkB,CAAC,KAAK;IAC5G,QAAQ,IAAI,SAAS,KAAKA,0BAAkB,CAAC,KAAK,EAAE;IACpD,YAAY,KAAK,CAAC,MAAM,GAAG,SAAS;IACpC,QAAQ;IACR,aAAa,IAAI,SAAS,KAAKA,0BAAkB,CAAC,KAAK,EAAE;IACzD,YAAY,KAAK,CAAC,MAAM,GAAG,SAAS;IACpC,QAAQ;IACR,aAAa;IACb;IACA,YAAY,KAAK,CAAC,MAAM,GAAG,iBAAiB;IAC5C,QAAQ;IACR,QAAQ,KAAK,CAAC,KAAK,EAAE;IACrB,IAAI;IACJ,IAAI,cAAc,CAAC,IAAI,EAAE;IACzB,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;IACvC,YAAY,OAAO,KAAK;IACxB,QAAQ;IACR,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;IAC5C,YAAY,OAAO,KAAK;IACxB,QAAQ;IACR,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;IACjD,YAAY,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1C,QAAQ;IACR,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;IACjD,YAAY,OAAO,MAAM;IACzB,QAAQ;IACR,QAAQ,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM;IAChD,IAAI;IACJ,IAAI,MAAM,sBAAsB,CAAC,IAAI,EAAE,eAAe,EAAE;IACxD,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;IAChD,QAAQ,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;IAC7D,QAAQ,MAAM,MAAM,GAAG;IACvB,YAAY,IAAI,EAAED,iBAAS,CAAC,KAAK;IACjC,YAAY,SAAS;IACrB,YAAY,OAAO,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;IAC9C,YAAY,KAAK,EAAE,KAAK;IACxB,SAAS;IACT,QAAQ,IAAI,eAAe,EAAE;IAC7B,YAAY,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;IACnE,YAAY,MAAM,CAAC,QAAQ,GAAG;IAC9B,gBAAgB,MAAM;IACtB,gBAAgB,UAAU;IAC1B,gBAAgB,IAAI,EAAE,IAAI,CAAC,IAAI;IAC/B,gBAAgB,YAAY,EAAE,cAAc,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;IAC3H,aAAa;IACb,QAAQ;IACR,QAAQ,OAAO,MAAM;IACrB,IAAI;IACJ,IAAI,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;IAC/C,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;IACtD,YAAY,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,GAAG,mBAAmB,GAAG,kBAAkB;IACrF,YAAY,MAAM,CAAC,IAAIK,uBAAkB,CAAC,OAAO,CAAC,CAAC;IACnD,YAAY,OAAO,EAAE;IACrB,YAAY,OAAO,KAAK;IACxB,QAAQ;IACR,QAAQ,OAAO,IAAI;IACnB,IAAI;IACJ,IAAI,MAAM,oBAAoB,CAAC,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE;IACpG,QAAQ,IAAI,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE;IACpD,YAAY,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC;IAC1E,YAAY,WAAW,CAAC,UAAU,GAAG,eAAe,KAAKP,uBAAe,CAAC,KAAK,GAAG,MAAM,GAAG,aAAa;IACvG,YAAY,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;IAClD,YAAY,IAAI;IAChB,gBAAgB,MAAM,WAAW,CAAC,gBAAgB,EAAE;IACpD,gBAAgB,WAAW,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK;IACrE,oBAAoB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM;IAC1C,oBAAoB,IAAI,KAAK,KAAK,IAAI,EAAE;IACxC,wBAAwB,MAAM,CAAC,IAAIO,uBAAkB,CAAC,2BAA2B,CAAC,CAAC;IACnF,oBAAoB;IACpB,yBAAyB,IAAI,KAAK,YAAY,KAAK,EAAE;IACrD,wBAAwB,MAAM,CAAC,KAAK,CAAC;IACrC,oBAAoB;IACpB,yBAAyB;IACzB,wBAAwB,OAAO,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC;IAC7D,oBAAoB;IACpB,oBAAoB,WAAW,CAAC,OAAO,EAAE;IACzC,oBAAoB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;IAC1D,gBAAgB,CAAC,CAAC;IAClB,gBAAgB,WAAW,CAAC,OAAO,EAAE;IACrC,YAAY;IACZ,YAAY,OAAO,CAAC,EAAE;IACtB,gBAAgB,gBAAgB,EAAE;IAClC,YAAY;IACZ,QAAQ;IACR,aAAa;IACb,YAAY,OAAO,CAAC,KAAK,CAAC,CAAC,2GAA2G,CAAC,CAAC;IACxI,YAAY,gBAAgB,EAAE;IAC9B,QAAQ;IACR,IAAI;IACJ,IAAI,gBAAgB,CAAC,EAAE,EAAE;IACzB,QAAQ,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACpD,QAAQ,IAAI,CAAC,KAAK,EAAE;IACpB,YAAY,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;IACnD,YAAY,KAAK,CAAC,EAAE,GAAG,EAAE;IACzB,YAAY,KAAK,CAAC,IAAI,GAAG,MAAM;IAC/B,YAAY,KAAK,CAAC,MAAM,GAAG,IAAI;IAC/B,YAAY,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IAC5C,QAAQ;IACR,QAAQ,OAAO,KAAK;IACpB,IAAI;IACJ,IAAI,MAAM,mBAAmB,CAAC,KAAK,EAAE;IACrC,QAAQ,IAAI;IACZ,YAAY,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC;IACzD,YAAY,MAAM,UAAU,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACjE,YAAY,MAAM,CAAC,KAAK,EAAE;IAC1B,YAAY,OAAO,UAAU;IAC7B,QAAQ;IACR,QAAQ,OAAO,CAAC,EAAE;IAClB,YAAY,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC;IAC9D,YAAY,OAAO,SAAS;IAC5B,QAAQ;IACR,IAAI;IACJ,IAAI,kBAAkB,CAAC,IAAI,EAAE;IAC7B,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;IAChD,YAAY,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;IAC3C,YAAY,MAAM,CAAC,SAAS,GAAG,MAAM;IACrC,gBAAgB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM;IAC7C,gBAAgB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpD,gBAAgB,OAAO,CAAC,MAAM,CAAC;IAC/B,YAAY,CAAC;IACb,YAAY,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK;IACpC,gBAAgB,MAAM,CAAC,CAAC,CAAC;IACzB,YAAY,CAAC;IACb,YAAY,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;IACtC,QAAQ,CAAC,CAAC;IACV,IAAI;IACJ,IAAI,iBAAiB,CAAC,SAAS,EAAE;IACjC,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK;IACxC,YAAY,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;IACzD,YAAY,KAAK,CAAC,OAAO,GAAG,UAAU;IACtC,YAAY,KAAK,CAAC,KAAK,GAAG,IAAI;IAC9B,YAAY,KAAK,CAAC,gBAAgB,GAAG,MAAM;IAC3C;IACA,gBAAgB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC;IAClE,gBAAgB,KAAK,CAAC,WAAW,GAAG,QAAQ;IAC5C,YAAY,CAAC;IACb,YAAY,KAAK,CAAC,QAAQ,GAAG,MAAM;IACnC,gBAAgB,MAAM,MAAM,GAAG;IAC/B,oBAAoB,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC1E,oBAAoB,QAAQ,EAAE,KAAK,CAAC,QAAQ;IAC5C,iBAAiB;IACjB,gBAAgB,IAAI;IACpB,oBAAoB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;IACnE,oBAAoB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU;IACnD,oBAAoB,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,WAAW;IACrD,oBAAoB,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;IACvD,oBAAoB,IAAI,GAAG,EAAE;IAC7B,wBAAwB,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;IAC/E,wBAAwB,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5F,oBAAoB;IACpB,gBAAgB;IAChB,gBAAgB,OAAO,CAAC,EAAE;IAC1B,oBAAoB,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,CAAC,CAAC;IAC1E,gBAAgB;IAChB,gBAAgB,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;IAC9C,gBAAgB,OAAO,CAAC,MAAM,CAAC;IAC/B,YAAY,CAAC;IACb,YAAY,KAAK,CAAC,OAAO,GAAG,MAAM;IAClC;IACA,gBAAgB,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;IAC9C,gBAAgB,OAAO,CAAC,EAAE,CAAC;IAC3B,YAAY,CAAC;IACb,YAAY,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC;IACtD,QAAQ,CAAC,CAAC;IACV,IAAI;IACJ,IAAI,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;IACxE,YAAY,MAAM,IAAI,CAAC,WAAW,CAAC,+CAA+C,CAAC;IACnF,QAAQ;IACR,QAAQ,IAAI;IACZ;IACA;IACA;IACA,YAAY,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC;IACxE,gBAAgB,IAAI,EAAE,QAAQ;IAC9B,aAAa,CAAC;IACd,YAAY,OAAO;IACnB,gBAAgB,MAAM,EAAE,UAAU,CAAC,KAAK;IACxC,gBAAgB,MAAM,EAAE,SAAS;IACjC,aAAa;IACb,QAAQ;IACR,QAAQ,OAAO,EAAE,EAAE;IACnB,YAAY,MAAM,IAAI,CAAC,WAAW,CAAC,sDAAsD,CAAC;IAC1F,QAAQ;IACR,IAAI;IACJ,IAAI,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC;IAC3D,IAAI;IACJ,IAAI,MAAM,wBAAwB,GAAG;IACrC,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC;IACzD,IAAI;IACJ,IAAI,MAAM,uBAAuB,GAAG;IACpC,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC;IACzD,IAAI;IACJ;IACe,IAAI,SAAS;;ACzfvB,UAAC,MAAM,GAAGC,mBAAc,CAAC,QAAQ,EAAE;IACxC,IAAI,GAAG,EAAE,MAAM,IAAI,SAAS,EAAE;IAC9B,CAAC;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capacitor/camera",
3
- "version": "8.2.3",
3
+ "version": "8.2.5",
4
4
  "description": "The Camera API provides the ability to take a photo with the camera or choose an existing one from the photo album.",
5
5
  "main": "dist/plugin.cjs.js",
6
6
  "module": "dist/esm/index.js",